(57)【要約】【課題】符号化対象の画像情報の画質を均一に保ちつつ、より正確な量子化パラメータの補正を行うこと。【解決手段】画像情報をブロックに分割することにより得られるブロック画像情報に適用する量子化パラメータを補正する量子化パラメータ補正装置であって、符号化済みの前記ブロック画像情報の目標符号量及び発生符号量と、前記符号化済みのブロック画像情報の数とに基づいて補正値を算出し、前記符号化済みのブロック画像情報に適用した適用後の前記量子化パラメータと、前記補正値とに基づいて符号化対象の前記ブロック画像情報に適用する前記量子化パラメータを算出することを特徴とする量子化パラメータ補正装置。【選択図】図１
2019083492.tif 000002
【特許請求の範囲】
【請求項１】
画像情報をブロックに分割することにより得られるブロック画像情報に適用する量子化パラメータを補正する量子化パラメータ補正装置であって、
符号化済みの前記ブロック画像情報の目標符号量及び発生符号量と、前記符号化済みのブロック画像情報の数とに基づいて補正値を算出し、
前記符号化済みのブロック画像情報の符号化に適用した適用後の前記量子化パラメータと、前記補正値とに基づいて符号化対象の前記ブロック画像情報に適用する前記量子化パラメータを算出する
ことを特徴とする量子化パラメータ補正装置。
【請求項２】
前記適用後の前記量子化パラメータの平均値を算出する平均量子化パラメータ算出部と、
前記符号化済みのブロック画像情報の目標符号量の累積値を算出する累積目標符号量算出部と、
前記符号化済みのブロック画像情報の発生符号量の累積値を算出する累積発生符号量算出部と、
前記累積目標符号量算出部が算出する累積値と、前記累積発生符号量算出部が算出する累積値との符号量誤差を算出する符号量誤差算出部と、
前記符号量誤差算出部が算出した前記符号量誤差と、前記符号化済みのブロック画像情報の数とに基づいて、前記補正値を算出し、前記平均量子化パラメータ算出部が算出した前記適用後の前記量子化パラメータの平均値と、前記補正値とに基づいて、前記符号化対象のブロック画像情報に適用する前記量子化パラメータを算出し、算出した前記量子化パラメータを前記平均量子化パラメータ算出部に出力する最終量子化パラメータ算出部と、
を備える、請求項１に記載の量子化パラメータ補正装置。
【請求項３】
前記平均量子化パラメータ算出部は、
最初の前記ブロック画像情報に対して、前記適用後の前記量子化パラメータの平均値に替えて、前記量子化パラメータの初期値を前記最終量子化パラメータ算出部に出力し、
前記最終量子化パラメータ算出部は、
前記平均量子化パラメータ算出部が出力する前記量子化パラメータの初期値を前記最初のブロック画像情報に対して適用する前記量子化パラメータとする、請求項２に記載の量子化パラメータ補正装置。
【請求項４】
前記平均量子化パラメータ算出部は、
前記画像情報と、符号化において要求する所望の要求符号量とに基づいて前記画像情報に適用する前記量子化パラメータを推定する量子化パラメータ推定部が、符号化対象の前記画像情報と当該画像情報に要求する所望の前記要求符号量とから算出する前記量子化パラメータを取り込み、取り込んだ前記量子化パラメータを前記画像情報に含まれる最初の前記ブロック画像情報に適用する前記量子化パラメータの初期値とする、請求項３に記載の量子化パラメータ補正装置。
【請求項５】
画像情報をブロックに分割することにより得られるブロック画像情報に適用する量子化パラメータを補正する量子化パラメータ補正方法であって、
符号化済みの前記ブロック画像情報の目標符号量及び発生符号量と、前記符号化済みのブロック画像情報の数とに基づいて補正値を算出し、
前記符号化済みのブロック画像情報の符号化に適用した適用後の前記量子化パラメータと、前記補正値とに基づいて符号化対象の前記ブロック画像情報に適用する前記量子化パラメータを算出する量子化パラメータ補正方法。
【請求項６】
画像情報をブロックに分割することにより得られるブロック画像情報に適用する量子化パラメータを補正するコンピュータに、
符号化済みの前記ブロック画像情報の目標符号量及び発生符号量と、前記符号化済みのブロック画像情報の数とに基づいて補正値を算出する手順、
前記符号化済みのブロック画像情報の符号化に適用した適用後の前記量子化パラメータと、前記補正値とに基づいて符号化対象の前記ブロック画像情報に適用する前記量子化パラメータを算出する手順、
を実行させるための量子化パラメータ補正プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、量子化パラメータ補正装置、量子化パラメータ補正方法及び量子化パラメータ補正プログラムに関する。
【背景技術】
【０００２】
映像を符号化するにあたり、画質を保ちつつ発生する符号量を所望のビットレートあるいはファイルサイズに収まるように符号量を制御することが望まれる。例えば、ＭＰＥＧ(Moving Picture Experts Group)２  ｔｅｓｔ  Ｍｏｄｅｌ５（以下「背景技術１」という。）では符号化対象ピクチャに割り当てられた符号量をピクチャ内の各符号化ブロック画像に均等に割り当て、ピクチャ内の各ブロック画像を順次符号化していく。その過程において、目標符号量と実際に発生した符号量の差分に応じて量子化ステップを制御することで符号量制御を実現している（例えば、非特許文献１参照）。以下に具体的な計算手法について説明する。まず、ｊ番目のブロック画像を符号化する前に仮想的なバッファの充満度ｄ（ｊ）を次式（１）により算出する。
【０００３】
【数１】
2019083492.tif 000003
【０００４】
式（１）においてｄ（０）は、バッファ初期値であり、Ｂ（ｊ）は、ｊ番目を含んでそれまでの全てのブロック画像の符号化発生ビット数である。また、Ｔは、符号化対象ピクチャの目標ビット数であり、Ｂｌｋ＿ｃｎｔは、符号化対象ピクチャ内のブロック数である。初期量子化ステップＱ（ｊ）は、次式（２）により求められる。
【０００５】
【数２】
2019083492.tif 000004
【０００６】
式（２）においてｒは、次式（３）により求められる。
【０００７】
【数３】
2019083492.tif 000005
【０００８】
式（３）において、Ｂｉｔ＿ｒａｔｅは、映像信号のビットレートであり、Ｐｉｃｔｕｒｅ＿ｒａｔｅは、映像信号の１秒間に含まれるピクチャ数である。ピクチャ１枚のみを符号化する場合は、Ｂｉｔ＿ｒａｔｅ＝Ｔであり、Ｐｉｃｔｕｒｅ＿ｒａｔｅ＝１である。
【０００９】
そして、以下の式（４）のようにブロック画像毎のアクティビティによって変化させた値を最終的な量子化ステップＭｑ（ｊ）として求める。
【００１０】
【数４】
2019083492.tif 000006
【００１１】
式（４）において、Ｎａｃｔ（ｊ）は、次式（５）により求められる。
【００１２】
【数５】
2019083492.tif 000007
【００１３】
式（５）において、ａｃｔ（ｊ）は、次式（６）によって求められ、ａｖｇａｃｔは、前の時刻のピクチャのａｃｔ（ｊ）の平均値である。なお、次式（６）において、Ｐｋは、ブロック画像に含まれる画素の画素値である。
【００１４】
【数６】
2019083492.tif 000008
【先行技術文献】
【非特許文献】
【００１５】
【非特許文献１】安田浩、渡辺裕、”ディジタル画像圧縮の基礎”、日経ＢＰ社、1996年1月20日、pp192-195
【発明の概要】
【発明が解決しようとする課題】
【００１６】
上記の背景技術１に記載の構成では、仮想的なバッファ、すなわち目標符号量と発生符号量の符号量誤差から量子化ステップを算出しているため、符号化済みのブロック画像までの符号量誤差をその都度補正していることになる。そのため、これから符号化する符号化対象ブロック画像において、量子化パラメータ（以下「ＱＰ」（Quantization Parameter）という。）に基づく符号化を行うことにより発生する符号量誤差については考慮していない。したがって、ブロック画像を符号化する度に符号量誤差が発生してしまう可能性が高く、安定した符号量の制御を行うことができないという問題がある。
【００１７】
上記事情に鑑み、本発明は、符号化対象の画像情報の画質を均一に保ちつつ、より正確な量子化パラメータの補正を行うことができる技術の提供を目的としている。
【課題を解決するための手段】
【００１８】
本発明の一態様は、画像情報をブロックに分割することにより得られるブロック画像情報に適用する量子化パラメータを補正する量子化パラメータ補正装置であって、符号化済みの前記ブロック画像情報の目標符号量及び発生符号量と、前記符号化済みのブロック画像情報の数とに基づいて補正値を算出し、前記符号化済みのブロック画像情報の符号化に適用した適用後の前記量子化パラメータと、前記補正値とに基づいて符号化対象の前記ブロック画像情報に適用する前記量子化パラメータを算出することを特徴とする量子化パラメータ補正装置である。
【００１９】
本発明の一態様は、上記の量子化パラメータ補正装置であって、前記適用後の前記量子化パラメータの平均値を算出する平均量子化パラメータ算出部と、前記符号化済みのブロック画像情報の目標符号量の累積値を算出する累積目標符号量算出部と、前記符号化済みのブロック画像情報の発生符号量の累積値を算出する累積発生符号量算出部と、前記累積目標符号量算出部が算出する累積値と、前記累積発生符号量算出部が算出する累積値との符号量誤差を算出する符号量誤差算出部と、前記符号量誤差算出部が算出した前記符号量誤差と、前記符号化済みのブロック画像情報の数とに基づいて、前記補正値を算出し、前記平均量子化パラメータ算出部が算出した前記適用後の前記量子化パラメータの平均値と、前記補正値とに基づいて、前記符号化対象のブロック画像情報に適用する前記量子化パラメータを算出し、算出した前記量子化パラメータを前記平均量子化パラメータ算出部に出力する最終量子化パラメータ算出部と、を備える。
【００２０】
本発明の一態様は、上記の量子化パラメータ補正装置であって、前記平均量子化パラメータ算出部は、最初の前記ブロック画像情報に対して、前記適用後の前記量子化パラメータの平均値に替えて、前記量子化パラメータの初期値を前記最終量子化パラメータ算出部に出力し、前記最終量子化パラメータ算出部は、前記平均量子化パラメータ算出部が出力する前記量子化パラメータの初期値を前記最初のブロック画像情報に対して適用する前記量子化パラメータとする。
【００２１】
本発明の一態様は、上記の量子化パラメータ補正装置であって、前記平均量子化パラメータ算出部は、前記画像情報と、符号化において要求する所望の要求符号量とに基づいて前記画像情報に適用する前記量子化パラメータを推定する量子化パラメータ推定部が、符号化対象の前記画像情報と当該画像情報に要求する所望の前記要求符号量とから算出する前記量子化パラメータを取り込み、取り込んだ前記量子化パラメータを前記画像情報に含まれる最初の前記ブロック画像情報に適用する前記量子化パラメータの初期値とする。
【００２２】
本発明の一態様は、画像情報をブロックに分割することにより得られるブロック画像情報に適用する量子化パラメータを補正する量子化パラメータ補正方法であって、符号化済みの前記ブロック画像情報の目標符号量及び発生符号量と、前記符号化済みのブロック画像情報の数とに基づいて補正値を算出し、前記符号化済みのブロック画像情報の符号化に適用した適用後の前記量子化パラメータと、前記補正値とに基づいて符号化対象の前記ブロック画像情報に適用する前記量子化パラメータを算出することを特徴とする量子化パラメータ補正方法である。
【００２３】
本発明の一態様は、画像情報をブロックに分割することにより得られるブロック画像情報に適用する量子化パラメータを補正するコンピュータに、符号化済みの前記ブロック画像情報の目標符号量及び発生符号量と、前記符号化済みのブロック画像情報の数とに基づいて補正値を算出する手順、前記符号化済みのブロック画像情報の符号化に適用した適用後の前記量子化パラメータと、前記補正値とに基づいて符号化対象の前記ブロック画像情報に適用する前記量子化パラメータを算出する手順、を実行させるための量子化パラメータ補正プログラムである。
【発明の効果】
【００２４】
本発明により、符号化対象の画像情報の画質を均一に保ちつつ、より正確な量子化パラメータの補正を行うことができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の第１の実施形態における映像符号化装置の構成を示すブロック図である。
【図２】同実施形態の初期ＱＰ推定部の構成を示すブロック図である。
【図３】同実施形態のブロック目標符号量推定部の構成を示すブロック図である。
【図４】同実施形態の符号量制御部による処理の流れを示すフローチャートである。
【図５】同実施形態における符号量制御部の他の構成例を示す図である。
【図６】第２の実施形態における映像符号化装置の構成を示すブロック図である。
【図７】同実施形態のＧＯＰ初期ＱＰ推定部の構成を示すブロック図である。
【図８】同実施形態のＧＯＰ目標符号量推定部の構成を示すブロック図である。
【図９】同実施形態の初期ＱＰ推定部の構成を示すブロック図である。
【図１０】同実施形態のブロック目標符号量推定部の構成を示すブロック図である。
【図１１】同実施形態の符号量制御部による処理の流れを示すフローチャートである。
【図１２】同実施形態における符号量制御部の他の構成例を示す図である。
【図１３】同実施形態における映像符号化装置の他の構成例を示す図である。
【発明を実施するための形態】
【００２６】
（第１の実施形態）
以下、本発明の実施形態について図面を参照して説明する。図１は、第１の実施形態における映像符号化装置Ｃの構成を示すブロック図である。映像符号化装置Ｃは、例えば、Ｈ．２６５／ＨＥＶＣ（High Efficiency Video Coding）の標準規格に準拠する装置である。
【００２７】
映像符号化装置Ｃは、符号量制御部１及び符号化部３を備え、符号量制御部１が出力するＱＰに従って符号化部３が符号化対象の画像情報の符号化を行い、符号化データを出力する。ここで、画像情報は、例えば、静止画像情報であり、以下の説明において、画像情報のことをピクチャともいう。
【００２８】
符号化部３は、ブロック分割部３０、減算器３１、直交変換・量子化部３２、可変長符号化部３３、逆量子化・逆直交変換部３４、加算器３５及びイントラ予測部３６を備える。符号化部３において、ブロック分割部３０は、映像符号化装置Ｃに外部から与えられる符号化対象画像情報をブロック画像情報に分割し、分割した符号化対象ブロック画像情報をブロック目標符号量推定部１１と減算器３１に出力する。
【００２９】
減算器３１は、ブロック分割部３０が出力する符号化対象ブロック画像情報の各々の画素の画素値と、イントラ予測部３６が出力する予測画像情報の各々の画素の画素値との差を算出して差分ブロック画像情報を生成する。また、減算器３１は、生成した差分ブロック画像情報を直交変換・量子化部３２に出力する。
【００３０】
直交変換・量子化部３２は、減算器３１が出力する差分ブロック画像情報に対して直交変換を行い、直交変換した差分ブロック画像情報に対して、最終ＱＰ算出部１６が出力するＱＰに基づいて量子化を行うことによって量子化係数を生成する。また、直交変換・量子化部３２は、生成した量子化係数を可変長符号化部３３と、逆量子化・逆直交変換部３４に出力する。
【００３１】
可変長符号化部３３は、直交変換・量子化部３２が出力する量子化係数を可変長符号化して符号化データを生成し、生成した符号化データを映像符号化装置Ｃの外部に出力する。また、可変長符号化部３３は、符号化データを生成する際に得られるブロック画像情報の発生符号量（以下「ブロック発生符号量」という。）を累積発生符号量算出部１３に出力する。また、可変長符号化部３３は、符号化データを生成する際に得られる符号化対象画像情報内の符号化処理が終了した符号化済みブロック数の値を最終ＱＰ算出部１６に出力する。
【００３２】
逆量子化・逆直交変換部３４は、直交変換・量子化部３２が出力する量子化係数に対して逆量子化と逆直交変換を行うことにより差分ブロック画像情報を復号して加算器３５に出力する。
【００３３】
加算器３５は、逆量子化・逆直交変換部３４が出力する復号差分ブロック画像情報の各々の画素の画素値と、イントラ予測部３６が出力する予測画像情報の各々の画素の画素値の和を算出して参照画像情報を生成する。また、加算器３５は、生成した参照画像情報をイントラ予測部３６に出力する。
【００３４】
イントラ予測部３６は、加算器３５が出力する参照画像情報に基づいて符号化対象ブロック画像情報に対応するイントラ予測による予測画像情報を生成し、生成した予測画像情報を減算器３１に出力する。
【００３５】
符号量制御部１は、量子化パラメータ推定部２０、符号量推定部２１及び量子化パラメータ補正部２２を備える。
【００３６】
量子化パラメータ推定部２０は、ＱＰの初期値を算出する。量子化パラメータ推定部２０は、初期ＱＰ推定部１０を備える。初期ＱＰ推定部１０は、符号化対象画像情報と、当該符号化対象画像情報に対して要求する所望の要求符号量であるピクチャ目標符号量とに基づいて、初期ＱＰ（ＱＰｉｎｉｔ）を算出する。ここで、所望の要求符号量であるピクチャ目標符号量とは、例えば、符号化後の１画像情報当たりのビット数である。ただし、１画像情報当たりのビット数に限られるものではなく、１画素当たりのビット数やファイルサイズ等で示される値であってもよい。
【００３７】
符号量推定部２１は、ブロック画像情報毎の目標符号量を算出する。符号量推定部２１は、ブロック目標符号量推定部１１を備える。ブロック目標符号量推定部１１は、初期ＱＰ推定部１０が出力する初期ＱＰと、符号化対象ブロック画像情報と、ピクチャ目標符号量とに基づいて、符号化対象ブロック画像情報毎の目標符号量であるブロック目標符号量を算出する。
【００３８】
量子化パラメータ補正部２２は、ＱＰを補正する。量子化パラメータ補正部２２は、累積目標符号量算出部１２、累積発生符号量算出部１３、符号量誤差算出部１４、平均ＱＰ算出部１５及び最終ＱＰ算出部１６を備える。量子化パラメータ補正部２２において、累積目標符号量算出部１２は、ブロック目標符号量推定部１１が出力する符号化済みのブロック画像情報のブロック目標符号量の累積値、すなわち符号化対象のブロック画像情報の直前までのブロック目標符号量の和を算出する。
【００３９】
累積発生符号量算出部１３は、可変長符号化部３３が出力する符号化済みのブロック画像情報のブロック発生符号量の累積値、すなわち符号化対象のブロック画像情報の直前までのブロック発生符号量の和を算出する。符号量誤差算出部１４は、累積目標符号量算出部１２が出力するブロック目標符号量の累積値と、累積発生符号量算出部１３が出力するブロック発生符号量の累積値との差を算出し、当該差を符号量誤差として出力する。
【００４０】
平均ＱＰ算出部１５は、初期ＱＰ推定部１０が出力する初期ＱＰを初期値として、符号化対象のブロック画像情報の直前までのＱＰの平均値である平均ＱＰを算出する。ここで、符号化対象のブロック画像情報の直前までのＱＰの平均値とは、符号化対象のブロック画像情報の直前までのＱＰの合計値を、当該ＱＰの個数で除算した値である。
【００４１】
最終ＱＰ算出部１６は、符号量誤差算出部１４が算出した符号量誤差と、平均ＱＰ算出部１５が出力する平均ＱＰと、可変長符号化部３３が出力する符号化対象画像情報内の符号化済みブロック数の値とに基づいて、符号化対象のブロック画像情報に適用するＱＰを算出する。
【００４２】
図２は、初期ＱＰ推定部１０の内部の構成を示すブロック図である。初期ＱＰ推定部１０は、例えば、機械学習モデルに従って、画像情報と、ピクチャ目標符号量と、初期ＱＰとの関係性を学習処理により推定し、推定した関係性を示す関係性情報を学習済みデータとして生成する。
【００４３】
初期ＱＰ推定部１０は、符号化処理の運用時において、生成した関係性情報を用いて、符号化対象画像情報と、当該符号化対象画像情報に対して要求する所望のピクチャ目標符号量Ｂｔａｒｇｅｔから初期ＱＰを算出する。
【００４４】
初期ＱＰ推定部１０は、演算部１００、切替部１３０、誤差算出部１３１、教師ＱＰ情報記憶部１３２及び学習処理部１３３を備える。演算部１００は、特徴抽出部１１０、全結合層１２０及び学習データ記憶部１２１を備える。
【００４５】
学習データ記憶部１２１は、全結合層１２０の入出力ノード間の重み係数、特徴抽出部１１０における畳み込み層部１１１−１〜１１１−Ｎの演算の際に用いられるフィルタ係数等の学習データを記憶する。
【００４６】
特徴抽出部１１０は、特徴抽出部１１０−１〜１１０−Ｎを備える。特徴抽出部１１０−１は、畳み込み層部１１１−１、ダウンサンプリング部１１２−１及び非線形変換部１１３−１を備える。特徴抽出部１１０−２〜１１０−Ｎは、特徴抽出部１１０−１と同一の内部構成を有しており、各々が、畳み込み層部１１１−２〜１１１−Ｎ、ダウンサンプリング部１１２−２〜１１２−Ｎ及び非線形変換部１１３−２〜１１３−Ｎを備える。
【００４７】
畳み込み層部１１１−１〜１１１−Ｎは、入力情報に対して、学習データ記憶部１２１に記憶されるフィルタ係数を適用して、畳み込み演算を行う。ダウンサンプリング部１１２−１〜１１２−Ｎは、各々に対応する畳み込み層部１１１−１〜１１１−Ｎが出力する情報に対してダウンサンプリングを行う。非線形変換部１１３−１〜１１３−Ｎは、各々に対応するダウンサンプリング部１１２−１〜１１２−Ｎが出力する情報に対して非線形変換処理を行う。
【００４８】
すなわち、特徴抽出部１１０は、画像情報に対して畳み込み演算、ダウンサンプリング及び非線形変換処理をＮ回繰り返して画像情報の特徴量を算出する。なお、Ｎの値は、１以上の整数である。
【００４９】
全結合層１２０は、１つの出力ノードと、複数の入力ノードとを有しており、特徴抽出部１１０が出力する特徴量を取り込む入力ノードと、ピクチャ目標符号量が与えられる入力ノードとを出力ノードに全結合する。また、全結合層１２０は、特徴抽出部１１０が出力する特徴量と、ピクチャ目標符号量とに対して学習データ記憶部１２１に記憶される重み係数を乗じる演算を行い、演算した結果に基づく出力値を出力する。
【００５０】
切替部１３０は、スイッチを備えており、学習処理を行う際、全結合層１２０の出力端子を誤差算出部１３１に接続する端子に接続し、符号化処理の運用時には、全結合層１２０の出力端子をブロック目標符号量推定部１１に接続する端子に接続する。
【００５１】
教師ＱＰ情報記憶部１３２は、教師情報としてのＱＰの情報を予め記憶する。誤差算出部１３１は、切替部１３０が出力する全結合層１２０の出力値と、教師ＱＰ情報記憶部１３２に記憶されている教師情報との誤差を算出する。また、誤差算出部１３１は、算出した誤差が予め定められる閾値以下となった場合、切替部１３０に対して指示情報を出力してスイッチを切り替えさせ、全結合層１２０の出力端子をブロック目標符号量推定部１１に接続する端子に接続させる。
【００５２】
学習処理部１３３は、誤差算出部１３１が算出した誤差に基づいて、当該誤差を小さくするように新たな学習データを算出し、学習データ記憶部１２１に記憶されている学習データを、算出した学習データに書き換えて更新する。誤差を小さくする演算手法としては、例えば、誤差逆伝播法等が適用される。
【００５３】
図３は、ブロック目標符号量推定部１１の内部の構成を示すブロック図である。ブロック目標符号量推定部１１は、例えば、機械学習モデルに従って、ブロック画像情報と、初期ＱＰと、当該ブロック画像情報の複雑度合いを示す指数である複雑度との関係性を学習処理により推定し、推定した関係性を示す情報を学習済みモデルとして生成する。ここで、複雑度とは、ブロック画像情報を初期ＱＰで符号化した際に発生するブロック発生符号量のことである。
【００５４】
ブロック目標符号量推定部１１は、符号化処理の運用時において、生成した関係性情報を用いて、符号化対象ブロック画像情報と、初期ＱＰ推定部１０が出力する初期ＱＰと、当該符号化対象ブロック画像情報を含む符号化対象画像情報のピクチャ目標符号量とに基づいて、ブロック目標符号量を算出する。
【００５５】
ブロック目標符号量推定部１１は、演算部２００、切替部２３０、誤差算出部２３１、教師複雑度情報記憶部２３２、学習処理部２３３及び符号量算出部２３４を備える。演算部２００は、特徴抽出部２１０、全結合層２２０及び学習データ記憶部２２１を備える。
【００５６】
学習データ記憶部２２１は、全結合層２２０の入出力ノード間の重み係数、特徴抽出部２１０における畳み込み層部２１１−１〜２１１−Ｎの演算の際に用いられるフィルタ係数等の学習データを記憶する。
【００５７】
特徴抽出部２１０は、特徴抽出部２１０−１〜２１０−Ｎを備える。特徴抽出部２１０−１は、畳み込み層部２１１−１、ダウンサンプリング部２１２−１及び非線形変換部２１３−１を備える。特徴抽出部２１０−２〜２１０−Ｎは、特徴抽出部２１０−１と同一の内部構成を有しており、各々が、畳み込み層部２１１−２〜２１１−Ｎ、ダウンサンプリング部２１２−２〜２１２−Ｎ及び非線形変換部２１３−２〜２１３−Ｎを備える。
【００５８】
畳み込み層部２１１−１〜２１１−Ｎは、入力情報に対して、学習データ記憶部２２１に記憶されるフィルタ係数を適用して、畳み込み演算を行う。ダウンサンプリング部２１２−１〜２１２−Ｎは、各々に対応する畳み込み層部２１１−１〜２１１−Ｎが出力する情報に対してダウンサンプリングを行う。非線形変換部２１３−１〜２１３−Ｎは、各々に対応するダウンサンプリング部２１２−１〜２１２−Ｎが出力する情報に対して非線形変換処理を行う。
【００５９】
すなわち、特徴抽出部２１０は、ブロック分割部３０から与えられるブロック画像情報に対して畳み込み演算、ダウンサンプリング及び非線形変換処理をＮ回繰り返してブロック画像情報の特徴量を算出する。なお、Ｎの値は、１以上の整数である。
【００６０】
全結合層２２０は、１つの出力ノードと、複数の入力ノードとを有しており、特徴抽出部２１０が出力する特徴量を取り込む入力ノードと、初期ＱＰが与えられる入力ノードとを出力ノードに全結合する。また、全結合層２２０は、特徴抽出部２１０が出力する特徴量と、初期ＱＰとに対して学習データ記憶部２２１に記憶される重み係数を乗じる演算を行い、演算した結果に基づく出力値を出力する。
【００６１】
符号量算出部２３４は、全結合層２２０が出力する出力値をブロック画像情報の複雑度Ｘ（ｊ）とし、当該複雑度Ｘ（ｊ）と、ピクチャ目標符号量Ｂｔａｒｇｅｔとに基づいて、ブロック画像情報の目標符号量Ｔ（ｊ）を次式（７）により算出する。
【００６２】
【数７】
2019083492.tif 000009
【００６３】
式（７）において、Ｂｌｋ＿ｃｎｔは、対象としているブロック画像情報を含む画像情報に含まれるブロック数、すなわち分割数である。また、符号量算出部２３４は、算出したブロック目標符号量Ｔ（ｊ）を累積目標符号量算出部１２に出力する。
【００６４】
切替部２３０は、スイッチを備えており、学習処理を行う際、全結合層２２０の出力端子を誤差算出部２３１に接続する端子に接続し、符号化処理の運用時には、全結合層２２０の出力端子を符号量算出部２３４に接続する端子に接続する。
【００６５】
教師複雑度情報記憶部２３２は、教師情報としての複雑度を予め記憶する。誤差算出部２３１は、切替部２３０が出力する全結合層２２０の出力値と、教師複雑度情報記憶部２３２に記憶されている教師情報との誤差を算出する。また、誤差算出部２３１は、算出した誤差が予め定められる閾値以下となった場合、切替部２３０に対して指示情報を出力してスイッチを切り替えさせ、全結合層２２０の出力端子を符号量算出部２３４に接続する端子に接続させる。
【００６６】
学習処理部２３３は、誤差算出部２３１が算出した誤差に基づいて、当該誤差を小さくするように新たな学習データを算出し、学習データ記憶部２２１に記憶されている学習データを、算出した学習データに書き換えて更新する。誤差を小さくする演算手法としては、例えば、誤差逆伝播法等が適用される。
【００６７】
（第１の実施形態におけるＱＰ算出処理）
次に、符号量制御部１によるＱＰの算出処理について説明する。図４は、ＱＰの算出処理の流れを示すフローチャートである。図４に示す処理は、学習処理と符号化処理に分かれており、ステップＳａ１及びステップＳａ２における学習処理が完了して学習済みデータを生成した後、ステップＳａ３以降の処理において映像符号化装置Ｃは、符号化対象画像情報を取り込んで符号化処理を行う。初期ＱＰ推定部１０は、画像情報と、当該画像情報に対応するピクチャ目標符号量と、初期ＱＰとの関係性を示す関係性情報を学習処理により生成する（ステップＳａ１）。
【００６８】
ＧＯＰ初期ＱＰ推定部１７に対して、学習済みデータ、すなわち関係性情報を生成する学習処理を行わせるために、事前に、学習用の画像情報の確率分布情報と、ピクチャ目標符号量の確率分布情報とを組み合わせた情報を入力情報として用意しておく。また、当該画像情報を符号化した際に、対応するピクチャ目標符号量に最も近くなるＱＰの確率分布情報を教師情報として用意しておく。
【００６９】
ＱＰの確率分布情報を教師情報として教師ＱＰ情報記憶部１３２に記憶させておき、切替部１３０のスイッチを、予め全結合層１２０の出力端子が、誤差算出部１３１に接続する端子に接続するように切り替えておく。特徴抽出部１１０が、学習用の画像情報の確率分布情報を取り込み、全結合層１２０が、学習用のピクチャ目標符号量の確率分布情報を取り込むことにより初期ＱＰ推定部１０は、学習処理を開始する。
【００７０】
誤差算出部１３１が算出する誤差が、例えば、予め定められる閾値以下となった場合、学習処理を終了し、誤差算出部１３１が指示情報を切替部１３０に出力する。切替部１３０は、当該指示情報を受けてスイッチを切り替え、全結合層１２０の出力端子の接続先をブロック目標符号量推定部１１にする。このタイミングで、学習データ記憶部１２１に記憶されている学習済みデータが、上述した画像情報と、ピクチャ目標符号量と、初期ＱＰとの関係性を示す関係性情報となる。
【００７１】
ブロック目標符号量推定部１１は、ブロック画像情報と、当該ブロック画像情報に対応する初期ＱＰと、複雑度との関係性を示す関係性情報を学習処理により生成する（ステップＳａ２）。
【００７２】
ブロック目標符号量推定部１１に対して、学習済みデータ、すなわち関係性情報を生成する学習処理を行わせるために、事前に、学習用のブロック画像情報の確率分布情報と、初期ＱＰの確率分布情報とを組み合わせた情報を入力情報として用意しておく。また、当該ブロック画像情報を、対応する初期ＱＰで符号化した際に発生する複雑度の確率分布情報を教師情報として用意しておく。
【００７３】
複雑度の確率分布情報を教師情報として教師複雑度情報記憶部２３２に記憶させておき、切替部２３０のスイッチを、予め全結合層２２０の出力端子が、誤差算出部２３１に接続する端子に接続するように切り替えておく。特徴抽出部２１０が、学習用のブロック画像情報の確率分布情報を取り込み、全結合層２２０が、学習用の初期ＱＰの確率分布情報を取り込むことによりブロック目標符号量推定部１１は、学習処理を開始する。
【００７４】
誤差算出部２３１が算出する誤差が、例えば、予め定められる閾値以下となった場合、学習処理を終了し、誤差算出部２３１が指示情報を切替部２３０に出力する。切替部２３０は、当該指示情報を受けてスイッチを切り替え、全結合層２２０の出力端子の接続先を符号量算出部２３４とする。このタイミングで、学習データ記憶部２２１に記憶されている学習済みデータが、上述したブロック画像情報と、初期ＱＰと、複雑度との関係性を示す関係性情報となる。
【００７５】
映像符号化装置Ｃは、符号化対象画像情報と、当該符号化対象画像情報に対して要求する所望のピクチャ目標符号量とを取り込む（ステップＳａ３）。符号量制御部１の初期ＱＰ推定部１０の演算部１００は、符号化対象画像情報と、ピクチャ目標符号量とを取り込む。特徴抽出部１１０は、学習データ記憶部１２１に記憶されている学習済みデータを用いて、取り込んだ符号化対象画像情報の特徴量を算出する。
【００７６】
全結合層１２０は、特徴抽出部１１０が出力する特徴量と、ピクチャ目標符号量と、学習データ記憶部１２１に記憶されている学習済みデータとに基づいて、初期ＱＰを算出する。初期ＱＰ推定部１０は、算出した初期ＱＰをブロック目標符号量推定部１１に出力する（ステップＳａ４）。
【００７７】
ブロック目標符号量推定部１１は、ブロック分割部３０が出力する符号化対象ブロック画像情報と、初期ＱＰ推定部１０が出力する初期ＱＰとを取り込む。ブロック目標符号量推定部１１の演算部２００は、符号化対象ブロック画像情報と、初期ＱＰとを取り込む。特徴抽出部２１０は、学習データ記憶部２２１に記憶されている学習済みデータを用いて、取り込んだ符号化対象ブロック画像情報の特徴量を算出する。
【００７８】
全結合層２２０は、特徴抽出部２１０が出力する特徴量と、初期ＱＰと、学習データ記憶部２２１に記憶されている学習済みデータとに基づいて、ブロック目標符号量を算出する。ブロック目標符号量推定部１１は、算出したブロック目標符号量を累積目標符号量算出部１２に出力する（ステップＳａ５）。
【００７９】
以下、量子化パラメータ補正部２２が、符号化対象画像情報の各ブロック画像情報について、ステップＳａ６からステップＳａ９の処理を繰り返し行う（ループＬａ１ｓ〜Ｌａ１ｅ）。累積目標符号量算出部１２は、符号化部３において符号化対象となっているブロック画像情報の直前のブロック画像情報までのブロック目標符号量の累積値である累積目標符号量Ｔｓｕｍを算出する。
【００８０】
累積発生符号量算出部１３は、可変長符号化部３３が出力するブロック発生符号量のうち、符号化部３において符号化対象となっているブロック画像情報の直前のブロック画像情報までのブロック発生符号量の累積値である累積発生符号量Ｂｓｕｍを算出する（ステップＳａ６）。累積目標符号量Ｔｓｕｍを式で表すと次式（８）となり、累積発生符号量Ｂｓｕｍを式で表すと次式（９）となる。
【００８１】
【数８】
2019083492.tif 000010
【００８２】
【数９】
2019083492.tif 000011
【００８３】
式（９）において、Ｂ（ｉ）は、ｉ番目のブロック画像情報のブロック発生符号量である。
【００８４】
符号量誤差算出部１４は、累積発生符号量算出部１３が出力する累積発生符号量Ｂｓｕｍと、累積目標符号量算出部１２が出力する累積目標符号量Ｔｓｕｍとに基づいて、次式（１０）により符号量誤差Ｄを算出して最終ＱＰ算出部１６に出力する。
【００８５】
【数１０】
2019083492.tif 000012
【００８６】
平均ＱＰ算出部１５は、最終ＱＰ算出部１６が出力するブロック画像情報毎のＱＰを取り込み、符号化部３において符号化対象となっているブロック画像情報の直前のブロック画像情報までのＱＰの平均値である平均ＱＰ（ＱＰｍｅａｎ）を次式（１１）に基づいて算出する（ステップＳａ７）。
【００８７】
【数１１】
2019083492.tif 000013
【００８８】
最終ＱＰ算出部１６は、次式（１２）によりＱＰの補正値である補正ＱＰをｄｅｌｔａＱＰとして算出する（ステップＳａ８）。
【００８９】
【数１２】
2019083492.tif 000014
【００９０】
式（１２）において、ＢｌｋＰｒｏｃ＿ｃｎｔは、可変長符号化部３３が出力する符号化対象画像情報内の符号化済みブロック数である。また、ｄｅｌｔａＱＰｏｒｇは、次式（１３）に基づいて、符号量誤差算出部１４が算出する符号量誤差Ｄから求められる値であり、ｋは調整パラメータ係数である。
【００９１】
【数１３】
2019083492.tif 000015
【００９２】
最終ＱＰ算出部１６は、平均ＱＰ算出部１５が出力する平均ＱＰ（ＱＰｍｅａｎ）と、算出した補正ＱＰ（ｄｅｌｔａＱＰ）とに基づいて、次式（１４）により最終的なＱＰを算出して直交変換・量子化部３２に出力する（ステップＳａ９）。
【００９３】
【数１４】
2019083492.tif 000016
【００９４】
式（１４）においてＲｏｕｎｄ（）の関数は、切り上げ、切り下げ、四捨五入等の丸め演算を行う関数を意味する。符号化部３は、符号量制御部１がブロック画像情報毎に出力するＱＰを用いて各ブロック画像情報の符号化を行い、全てのブロック画像情報の符号化が終了するまで処理を繰り返す。
【００９５】
なお、第１の実施形態の符号量制御部１において、図５に示すように、量子化パラメータ補正部２２を１つの量子化パラメータ補正装置１Ｂとして構成するようにしてもよい。
【００９６】
（第２の実施形態）
図６は、第２の実施形態における映像符号化装置Ｃａの構成を示すブロック図である。第２の実施形態の映像符号化装置Ｃａにおいて、第１の実施形態の映像符号化装置Ｃと同一の構成については、同一の符号を付し、以下、異なる構成について説明する。映像符号化装置Ｃａは、符号量制御部１ａと符号化部３ａを備え、符号量制御部１ａが出力するＱＰに従って符号化部３ａが符号化対象の映像情報の符号化を行い、符号化データを出力する。
【００９７】
符号化部３ａは、ＧＯＰ(Group Of Pictures)分割部４１、ブロック分割部３０、減算器３１、直交変換・量子化部３２、可変長符号化部３３、逆量子化・逆直交変換部３４、加算器３５、イントラ予測部３６、ループフィルタ部３７、復号ピクチャメモリ部３８、インター予測部３９及びイントラ・インター切替スイッチ部４０を備える。
【００９８】
符号化部３ａにおいて、ＧＯＰ分割部４１は、映像情報に含まれる複数の連続した画像情報を予め定められている条件に応じた所定の枚数毎に分割する。また、ＧＯＰ分割部４１は、分割した複数の画像情報のセットをＧＯＰとしてＧＯＰ初期ＱＰ推定部１７とＧＯＰ目標符号量推定部１８に出力する。また、ＧＯＰ分割部４１は、ＧＯＰに含まれる画像情報の各々を符号化順にブロック分割部３０と減算器１９と初期ＱＰ推定部１０ａに出力する。
【００９９】
減算器３１は、ブロック分割部３０が出力する符号化対象ブロック画像情報の各々の画素の画素値と、イントラ予測部３６、またはインター予測部３９が出力する予測画像情報の各々の画素の画素値との差を算出して差分ブロック画像情報を生成する。また、減算器３１は、生成した差分ブロック画像情報をブロック目標符号量推定部１１ａと直交変換・量子化部３２とに出力する。
【０１００】
加算器３５は、逆量子化・逆直交変換部３４が出力する復号差分ブロック画像情報の各々の画素の画素値と、イントラ予測部３６またはインター予測部３９が出力する予測画像情報の各々の画素の画素値の和を算出して参照画像情報を生成する。また、加算器３５は、生成した参照画像情報をイントラ予測部３６とループフィルタ部３７とに出力する。
【０１０１】
ループフィルタ部３７は、加算器３５が出力する参照画像情報にループフィルタを適用してインター予測用の参照画像情報を生成し、生成したインター予測用の参照画像情報を復号ピクチャメモリ部３８に書き込んで記憶させる。復号ピクチャメモリ部３８は、書込み可能なＲＡＭ(Random Access Memory)などの記憶デバイスであり、ループフィルタ部３７が書き込むインター予測用の参照画像情報を記憶する。
【０１０２】
インター予測部３９は、復号ピクチャメモリ部３８に記憶されているインター予測用の参照画像情報を用いて符号化対象ブロック画像情報のインター予測による予測画像情報を生成する。
【０１０３】
イントラ・インター切替スイッチ部４０は、符号化対象ブロック画像情報の予測モードに応じてスイッチを切り替え、減算器３１及び加算器３５を、イントラ予測部３６、またはインター予測部３９のいずれかに接続する。
【０１０４】
符号量制御部１ａは、量子化パラメータ推定部２０ａ、符号量推定部２１ａ及び量子化パラメータ補正部２２を備える。符号量制御部１ａにおいて、量子化パラメータ推定部２０ａは、ＧＯＰ初期ＱＰ推定部１７、減算器１９及び初期ＱＰ推定部１０ａを備える。
【０１０５】
量子化パラメータ推定部２０ａにおいて、ＧＯＰ初期ＱＰ推定部１７は、ＧＯＰ分割部４１が出力するＧＯＰと、当該ＧＯＰに対して要求する所望の要求符号量であるビットレートと、当該ＧＯＰに含まれる画像情報のピクチャタイプをリスト化したピクチャタイプリストとに基づいて、ＧＯＰ初期ＱＰを算出する。ここで、ＧＯＰ初期ＱＰとは、ＧＯＰ毎に算出する初期ＱＰの値であり、ある１つのＧＯＰについて算出したＧＯＰ初期ＱＰは、当該ＧＯＰに含まれる画像情報に共通して適用される値である。
【０１０６】
減算器１９は、ＧＯＰ分割部４１が出力する画像情報の各々の画素の画素値と、復号ピクチャメモリ部３８に記憶されている参照画像情報の各々の画素の画素値との差を算出して差分画像情報を生成し、生成した差分画像情報を初期ＱＰ推定部１０ａに出力する。
【０１０７】
初期ＱＰ推定部１０ａは、減算器１９が出力する差分画像情報、またはＧＯＰ分割部４１が出力する画像情報のいずれかである入力画像情報と、当該入力画像情報に対応するピクチャタイプと、ＧＯＰ目標符号量推定部１８が出力する当該入力画像情報に対応するピクチャ目標符号量とに基づいて、初期ＱＰを算出する。
【０１０８】
符号量推定部２１ａは、ＧＯＰ目標符号量推定部１８と、ブロック目標符号量推定部１１ａとを備える。符号量推定部２１ａにおいて、ＧＯＰ目標符号量推定部１８は、ＧＯＰ分割部４１が出力するＧＯＰと、ＧＯＰ初期ＱＰ推定部１７が出力するＧＯＰ初期ＱＰと、当該ＧＯＰに含まれる画像情報のピクチャタイプをリスト化したピクチャタイプリストと、ビットレートとに基づいて、ＧＯＰに含まれる画像情報毎のピクチャ目標符号量を算出する。
【０１０９】
ブロック目標符号量推定部１１ａは、減算器３１が出力する差分ブロック画像情報、またはブロック分割部３０が出力するブロック画像情報のいずれかである入力ブロック画像情報と、当該入力ブロック画像情報に対応するピクチャタイプと、初期ＱＰ推定部１０ａが出力する初期ＱＰとに基づいて、符号化対象ブロック画像情報毎のブロック目標符号量を算出する。
【０１１０】
図７は、ＧＯＰ初期ＱＰ推定部１７の内部の構成を示すブロック図である。ＧＯＰ初期ＱＰ推定部１７は、例えば、機械学習モデルに従って、ＧＯＰを構成する複数の画像情報と、当該ＧＯＰに含まれる画像情報のピクチャタイプをリスト化したピクチャタイプリストと、ビットレートと、ＧＯＰ初期ＱＰとの関係性を学習処理により推定し、推定した関係性を示す関係性情報を学習済みデータとして生成する。
【０１１１】
ＧＯＰ初期ＱＰ推定部１７は、符号化処理の運用時において、生成した関係性情報を用いて、ＧＯＰ分割部４１が出力する符号化対象のＧＯＰと、当該符号化対象のＧＯＰに含まれる画像情報のピクチャタイプをリスト化したピクチャタイプリストと、当該符号化対象のＧＯＰに対して要求する所望のビットレートとに基づいて、ＧＯＰ初期ＱＰ（ＱＰＧＯＰｉｎｉｔ）を算出する。
【０１１２】
ＧＯＰ初期ＱＰ推定部１７は、演算部３００、切替部３３０、誤差算出部３３１、教師ＱＰ情報記憶部３３２及び学習処理部３３３を備える。演算部３００は、ＧＯＰ特徴抽出部３１０、全結合層３２０及び学習データ記憶部３２１を備える。
【０１１３】
学習データ記憶部３２１は、全結合層３２０の入出力ノード間の重み係数、ＧＯＰ特徴抽出部３１０における畳み込み層部３１１−１〜３１１−Ｎの演算の際に用いられるフィルタ係数等の学習データを記憶する。
【０１１４】
ＧＯＰ特徴抽出部３１０は、ＧＯＰ特徴抽出部３１０−１〜３１０−Ｎを備える。ＧＯＰ特徴抽出部３１０−１は、畳み込み層部３１１−１、ダウンサンプリング部３１２−１及び非線形変換部３１３−１を備える。ＧＯＰ特徴抽出部３１０−２〜３１０−Ｎは、ＧＯＰ特徴抽出部３１０−１と同一の内部構成を有しており、各々が、畳み込み層部３１１−２〜３１１−Ｎ、ダウンサンプリング部３１２−２〜３１２−Ｎ及び非線形変換部３１３−２〜３１３−Ｎを備える。
【０１１５】
畳み込み層部３１１−１〜３１１−Ｎは、入力情報に対して、学習データ記憶部３２１に記憶されるフィルタ係数を適用して、畳み込み演算を行う。ダウンサンプリング部３１２−１〜３１２−Ｎは、各々に対応する畳み込み層部３１１−１〜３１１−Ｎが出力する情報に対してダウンサンプリングを行う。非線形変換部３１３−１〜３１３−Ｎは、各々に対応するダウンサンプリング部３１２−１〜３１２−Ｎが出力する情報に対して非線形変換処理を行う。
【０１１６】
すなわち、ＧＯＰ特徴抽出部３１０は、ＧＯＰに含まれる各画像情報をチャネルとみなして取り込み、チャネル毎に畳み込み演算、ダウンサンプリング及び非線形変換処理をＮ回繰り返してＧＯＰの特徴量を算出する。なお、Ｎの値は、１以上の整数である。
【０１１７】
全結合層３２０は、１つの出力ノードと、複数の入力ノードとを有しており、ＧＯＰ特徴抽出部３１０が出力する特徴量を取り込む入力ノードと、ビットレートが与えられる入力ノードと、ＧＯＰに含まれる各画像情報のピクチャタイプをリスト化したピクチャタイプリストが与えられる入力ノードとを出力ノードに全結合する。
【０１１８】
また、全結合層３２０は、ＧＯＰ特徴抽出部３１０が出力する特徴量と、ビットレートと、ピクチャタイプリストとに対して学習データ記憶部３２１に記憶される重み係数を乗じる演算を行い、演算した結果に基づく出力値を出力する。
【０１１９】
切替部３３０は、スイッチを備えており、学習処理を行う際、全結合層３２０の出力端子を誤差算出部３３１に接続する端子に接続し、符号化処理の運用時には、全結合層３２０の出力端子をＧＯＰ目標符号量推定部１８に接続する端子に接続する。
【０１２０】
教師ＱＰ情報記憶部３３２は、教師情報としてのＱＰの情報を予め記憶する。誤差算出部３３１は、切替部３３０が出力する全結合層３２０の出力値と、教師ＱＰ情報記憶部３３２に記憶されている教師情報との誤差を算出する。また、誤差算出部３３１は、算出した誤差が予め定められる閾値以下となった場合、切替部３３０に対して指示情報を出力してスイッチを切り替えさせ、全結合層３２０の出力端子をＧＯＰ目標符号量推定部１８に接続する端子に接続させる。
【０１２１】
学習処理部３３３は、誤差算出部３３１が算出した誤差に基づいて、当該誤差を小さくするように新たな学習データを算出し、学習データ記憶部３２１に記憶されている学習データを、算出した学習データに書き換えて更新する。誤差を小さくする演算手法としては、例えば、誤差逆伝播法等が適用される。
【０１２２】
図８は、ＧＯＰ目標符号量推定部１８の内部の構成を示すブロック図である。ＧＯＰ目標符号量推定部１８は、例えば、機械学習モデルに従って、ＧＯＰを構成する複数の画像情報と、当該ＧＯＰに含まれる画像情報のピクチャタイプをリスト化したピクチャタイプリストと、ＧＯＰ初期ＱＰと、ピクチャ複雑度との関係性を学習処理により推定し、推定した関係性を示す情報を学習済みモデルとして生成する。ここで、ピクチャ複雑度とは、ＧＯＰに含まれる画像情報の各々をＧＯＰ初期ＱＰで符号化した際に発生する発生符号量のことである。
【０１２３】
ＧＯＰ目標符号量推定部１８は、符号化処理の運用時において、生成した関係性情報を用いて、ＧＯＰ分割部４１が出力する符号化対象のＧＯＰと、当該符号化対象のＧＯＰに含まれる画像情報のピクチャタイプをリスト化したピクチャタイプリストと、ＧＯＰ初期ＱＰ推定部１７が出力するＧＯＰ初期ＱＰと、当該符号化対象のＧＯＰに対して要求する所望のビットレートとに基づいて、ＧＯＰに含まれる画像情報毎のピクチャ目標符号量を算出する。
【０１２４】
ＧＯＰ目標符号量推定部１８は、演算部４００、切替部４３０、誤差算出部４３１、教師複雑度情報記憶部４３２、学習処理部４３３及び符号量算出部４３４を備える。演算部４００は、ＧＯＰ特徴抽出部４１０、全結合層４２０及び学習データ記憶部４２１を備える。
【０１２５】
学習データ記憶部４２１は、全結合層４２０の入出力ノード間の重み係数、ＧＯＰ特徴抽出部４１０における畳み込み層部４１１−１〜４１１−Ｎの演算の際に用いられるフィルタ係数等の学習データを記憶する。
【０１２６】
ＧＯＰ特徴抽出部４１０は、ＧＯＰ特徴抽出部４１０−１〜４１０−Ｎを備える。ＧＯＰ特徴抽出部４１０−１は、畳み込み層部４１１−１、ダウンサンプリング部４１２−１及び非線形変換部４１３−１を備える。ＧＯＰ特徴抽出部４１０−２〜４１０−Ｎは、ＧＯＰ特徴抽出部４１０−１と同一の内部構成を有しており、各々が、畳み込み層部４１１−２〜４１１−Ｎ、ダウンサンプリング部４１２−２〜４１２−Ｎ及び非線形変換部４１３−２〜４１３−Ｎを備える。
【０１２７】
畳み込み層部４１１−１〜４１１−Ｎは、入力情報に対して、学習データ記憶部４２１に記憶されるフィルタ係数を適用して、畳み込み演算を行う。ダウンサンプリング部４１２−１〜４１２−Ｎは、各々に対応する畳み込み層部４１１−１〜４１１−Ｎが出力する情報に対してダウンサンプリングを行う。非線形変換部４１３−１〜４１３−Ｎは、各々に対応するダウンサンプリング部４１２−１〜４１２−Ｎが出力する情報に対して非線形変換処理を行う。
【０１２８】
すなわち、ＧＯＰ特徴抽出部４１０はＧＯＰに含まれる各画像情報をチャネルとみなして取り込み、チャネル毎に畳み込み演算、ダウンサンプリング及び非線形変換処理をＮ回繰り返してＧＯＰの特徴量を算出する。なお、Ｎの値は、１以上の整数である。
【０１２９】
全結合層４２０は、１つの出力ノードと、複数の入力ノードとを有しており、ＧＯＰ特徴抽出部４１０が出力する特徴量を取り込む入力ノードと、ピクチャタイプリストが与えられる入力ノードと、初期ＱＰが与えられる入力ノードとを出力ノードに全結合する。また、全結合層４２０は、ＧＯＰ特徴抽出部４１０が出力する特徴量と、初期ＱＰとに対して学習データ記憶部４２１に記憶される重み係数を乗じる演算を行い、演算した結果に基づく出力値を出力する。
【０１３０】
符号量算出部４３４は、ＧＯＰに含まれる画像情報及び当該画像情報に対応するピクチャタイプを入力情報として与えた際の全結合層４２０が出力する出力値の各々を画像情報毎のピクチャ複雑度Ｘｐｉｃ（ｊ）とし、当該ピクチャ複雑度Ｘｐｉｃ（ｊ）と、ビットレートとに基づいて、各画像情報のピクチャ目標符号量Ｔｐｉｃ（ｊ）を次式（１５）により算出する。
【０１３１】
【数１５】
2019083492.tif 000017
【０１３２】
式（１５）において、ＧＯＰ＿ｒａｔｅは、ビットレートをＧＯＰに換算した際のレートであり、ＧＯＰ＿ｃｎｔは、ＧＯＰに含まれる画像情報の数である。また、符号量算出部４３４は、算出した各画像情報のピクチャ目標符号量Ｔｐｉｃ（ｊ）を初期ＱＰ推定部１０ａに出力する。
【０１３３】
切替部４３０は、スイッチを備えており、学習処理を行う際、全結合層４２０の出力端子を誤差算出部４３１に接続する端子に接続し、符号化処理の運用時には、全結合層４２０の出力端子を符号量算出部４３４に接続する端子に接続する。
【０１３４】
教師複雑度情報記憶部４３２は、教師情報としてのピクチャ複雑度を予め記憶する。誤差算出部４３１は、切替部４３０が出力する符号量算出部４３４の出力値と、教師複雑度情報記憶部４３２に記憶されている教師情報との誤差を算出する。また、誤差算出部４３１は、算出した誤差が予め定められる閾値以下となった場合、切替部４３０に対して指示情報を出力してスイッチを切り替えさせ、全結合層４２０の出力端子を符号量算出部４３４に接続する端子に接続させる。
【０１３５】
学習処理部４３３は、誤差算出部４３１が算出した誤差に基づいて、当該誤差を小さくするように新たな学習データを算出し、学習データ記憶部４２１に記憶されている学習データを、算出した学習データに書き換えて更新する。誤差を小さくする演算手法としては、例えば、誤差逆伝播法等が適用される。
【０１３６】
図９は、初期ＱＰ推定部１０ａの内部の構成を示すブロック図である。第１の実施形態の初期ＱＰ推定部１０と同一の構成については同一の符号を付し、以下、異なる構成について説明する。
【０１３７】
初期ＱＰ推定部１０ａは、例えば、機械学習モデルに従って、画像情報または差分画像情報のいずれかである入力画像情報と、当該入力画像情報に対応するピクチャタイプと、ピクチャ目標符号量と、初期ＱＰとの関係性を学習処理により推定し、推定した関係性を示す関係性情報を学習済みモデルとして生成する。
【０１３８】
初期ＱＰ推定部１０は、符号化処理の運用時において、生成した関係性情報を用いて、符号化対象の入力画像情報と、当該符号化対象の入力画像情報のピクチャタイプと、ＧＯＰ目標符号量推定部１８が出力するピクチャ目標符号量とに基づいて、初期ＱＰを算出する。
【０１３９】
初期ＱＰ推定部１０ａは、演算部１００ａ、切替部１３０、誤差算出部１３１、教師ＱＰ情報記憶部１３２、学習処理部１３３及び画像選択部１３４を備える。演算部１００ａは、特徴抽出部１１０、全結合層１２０ａ及び学習データ記憶部１２１を備える。
【０１４０】
全結合層１２０ａは、１つの出力ノードと、複数の入力ノードとを有しており、特徴抽出部１１０が出力する特徴量を取り込む入力ノードと、ピクチャタイプが与えられる入力ノードと、ピクチャ目標符号量が与えられる入力ノードとを出力ノードに全結合する。また、全結合層１２０ａは、特徴抽出部１１０が出力する特徴量と、ピクチャタイプと、ピクチャ目標符号量とに対して学習データ記憶部１２１に記憶される重み係数を乗じる演算を行い、演算した結果に基づく出力値を出力する。
【０１４１】
画像選択部１３４は、画像情報のピクチャタイプが、Ｐピクチャ、またはＢピクチャの場合、減算器１９が出力する差分画像情報を選択し、選択した差分画像情報を入力画像情報として演算部１００ａに出力する。また、画像選択部１３４は、画像情報のピクチャタイプが、Ｉピクチャの場合、ＧＯＰ分割部４１が出力する画像情報を選択し、選択した画像情報を入力画像情報として演算部１００ａに出力する。
【０１４２】
図１０は、ブロック目標符号量推定部１１ａの内部の構成を示すブロック図である。第１の実施形態のブロック目標符号量推定部１１と同一の構成については同一の符号を付し、以下、異なる構成について説明する。
【０１４３】
ブロック目標符号量推定部１１ａは、例えば、機械学習モデルに従って、ブロック画像情報または差分ブロック画像情報のいずれかである入力ブロック画像情報と、当該入力ブロック画像情報に対応するピクチャタイプと、初期ＱＰと、複雑度との関係性を学習処理により推定し、推定した関係性を示す情報を学習済みモデルとして生成する。
【０１４４】
ブロック目標符号量推定部１１ａは、符号化処理の運用時において、生成した関係性情報を用いて、符号化対象の入力ブロック画像情報と、当該符号化対象の入力ブロック画像情報のピクチャタイプと、初期ＱＰ推定部１０ａが出力する初期ＱＰと、ＧＯＰ目標符号量推定部１８が出力するピクチャ目標符号量とに基づいて、ブロック目標符号量を算出する。
【０１４５】
ブロック目標符号量推定部１１ａは、演算部２００ａ、切替部２３０、誤差算出部２３１、教師複雑度情報記憶部２３２、学習処理部２３３、符号量算出部２３４及びブロック画像選択部２３５を備える。演算部２００ａは、特徴抽出部２１０、全結合層２２０ａ及び学習データ記憶部２２１を備える。
【０１４６】
全結合層２２０ａは、１つの出力ノードと、複数の入力ノードとを有しており、特徴抽出部２１０が出力する特徴量を取り込む入力ノードと、ピクチャタイプが与えられる入力ノードと、初期ＱＰが与えられる入力ノードとを出力ノードに全結合する。また、全結合層２２０ａは、特徴抽出部２１０が出力する特徴量と、ピクチャタイプと、初期ＱＰとに対して学習データ記憶部２２１に記憶される重み係数を乗じる演算を行い、演算した結果に基づく出力値を出力する。
【０１４７】
符号量算出部２３４は、全結合層２２０が出力する出力値をブロック画像情報の複雑度Ｘ（ｊ）とし、当該複雑度Ｘ（ｊ）と、ＧＯＰ目標符号量推定部１８が出力するピクチャ目標符号量Ｔｐｉｃ（ｊ）とに基づいて、ブロック画像情報の目標符号量Ｔ（ｊ）を次式（１６）により算出する。
【０１４８】
【数１６】
2019083492.tif 000018
【０１４９】
式（１６）において、Ｂｌｋ＿ｃｎｔは、対象としているブロック画像情報を含む画像情報に含まれるブロック数である。
【０１５０】
ブロック画像選択部２３５は、対象のブロック画像情報を含む画像情報のピクチャタイプが、Ｐピクチャ、またはＢピクチャの場合、減算器３１が出力する差分ブロック画像情報を選択し、選択した差分ブロック画像情報を入力ブロック画像情報として演算部２００ａに出力する。また、ブロック画像選択部２３５は、画像情報のピクチャタイプが、Ｉピクチャの場合、ブロック分割部３０が出力するブロック画像情報を選択し、選択したブロック画像情報を入力ブロック画像情報として演算部２００ａに出力する。
【０１５１】
（第２の実施形態におけるＱＰ算出処理）
次に、符号量制御部１ａによるＱＰの算出処理について説明する。図１１は、ＱＰの算出処理の流れを示すフローチャートである。図１１に示す処理は、学習処理と符号化処理に分かれており、ステップＳｂ１〜Ｓｂ４における学習処理が完了して学習済みデータを生成した後、ステップＳｂ５以降の処理において映像符号化装置Ｃａは、符号化対象の映像情報を取り込んで符号化処理を行う。ＧＯＰ初期ＱＰ推定部１７は、ＧＯＰと、ビットレートと、ピクチャタイプリストと、ＧＯＰ初期ＱＰとの関係性を示す関係性情報を学習処理により生成する（ステップＳｂ１）。
【０１５２】
初期ＱＰ推定部１０に対して、学習済みデータ、すなわち関係性情報を生成する学習処理を行わせるために、事前に、学習用のＧＯＰの確率分布情報と、当該ＧＯＰに対応するビットレートの確率分布情報と、当該ＧＯＰに対応するピクチャタイプリストの確率分布情報とを入力情報として用意しておく。また、当該ＧＯＰを符号化した際に、対応するビットレートに最も近くなるＱＰの確率分布情報を教師情報として用意しておく。
【０１５３】
ＱＰの確率分布情報を教師情報として教師ＱＰ情報記憶部３３２に記憶させておき、切替部３３０のスイッチを全結合層３２０の出力端子が、誤差算出部３３１に接続する端子に接続するように切り替えておく。ＧＯＰ特徴抽出部３１０が、学習用のＧＯＰの確率分布情報を取り込み、全結合層３２０が、学習用のビットレートとピクチャタイプリストの確率分布情報を取り込むことによりＧＯＰ初期ＱＰ推定部１７は、学習処理を開始する。
【０１５４】
誤差算出部３３１が算出する誤差が、例えば、予め定められる閾値以下となった場合、学習処理を終了し、誤差算出部３３１が指示情報を切替部３３０に出力する。切替部３３０は、当該指示情報を受けてスイッチを切り替え、全結合層３２０の出力端子の接続先をＧＯＰ目標符号量推定部１８とする。このタイミングで、学習データ記憶部３２１に記憶されている学習済みデータが、上述したＧＯＰと、当該ＧＯＰに対応するビットレートと、当該ＧＯＰに対応するピクチャタイプリストと、ＧＯＰ初期ＱＰとの関係性を示す関係性情報となる。
【０１５５】
ＧＯＰ目標符号量推定部１８は、ＧＯＰと、ピクチャタイプリストと、ＧＯＰ初期ＱＰと、ピクチャ複雑度との関係性を示す関係性情報を学習処理により生成する（ステップＳｂ２）。
【０１５６】
ＧＯＰ目標符号量推定部１８に対して、学習済みデータ、すなわち関係性情報を生成する学習処理を行わせるために、事前に、学習用のＧＯＰの確率分布情報と、当該ＧＯＰに対応するピクチャタイプリストの確率分布情報と、当該ＧＯＰに対応するＧＯＰ初期ＱＰの確率分布情報とを入力情報として用意しておく。また、当該ＧＯＰに含まれる画像情報の各々を、対応するＧＯＰ初期ＱＰで符号化した際のピクチャ複雑度の確率分布情報を教師情報として用意しておく。
【０１５７】
ピクチャ複雑度の確率分布情報を教師情報として教師複雑度情報記憶部４３２に記憶させておき、切替部４３０のスイッチを全結合層４２０の出力端子が、誤差算出部４３１に接続する端子に接続するように切り替えておく。ＧＯＰ特徴抽出部４１０が、学習用のＧＯＰの確率分布情報を取り込み、全結合層４２０が、学習用のピクチャタイプリストと初期ＱＰの確率分布情報を取り込むことによりＧＯＰ目標符号量推定部１８は、学習処理を開始する。
【０１５８】
誤差算出部４３１が算出する誤差が、例えば、予め定められる閾値以下となった場合、学習処理を終了し、誤差算出部４３１が指示情報を切替部４３０に出力する。切替部４３０は、当該指示情報を受けてスイッチを切り替え、全結合層４２０の出力端子の接続先を符号量算出部４３４にする。このタイミングで、学習データ記憶部４２１に記憶されている学習済みデータが、上述したＧＯＰと、当該ＧＯＰに対応するピクチャタイプリストと、当該ＧＯＰに対応するＧＯＰ初期ＱＰと、ピクチャ複雑度との関係性を示す関係性情報となる。
【０１５９】
初期ＱＰ推定部１０ａは、画像情報及び差分画像情報と、ピクチャタイプと、ピクチャ目標符号量と、初期ＱＰとの関係性を示す関係性情報を学習処理により生成する（ステップＳｂ３）。
【０１６０】
初期ＱＰ推定部１０ａに対して、学習済みデータ、すなわち関係性情報を生成する学習処理を行わせるために、事前に、学習用の入力画像情報の確率分布情報と、当該入力画像情報に対応するピクチャタイプの確率分布情報と、当該入力画像情報に対応するピクチャ目標符号量の確率分布情報とを入力情報として用意しておく。また、当該入力画像情報に対応する画像情報を符号化した際に、対応するピクチャ目標符号量に最も近くなるＱＰの確率分布情報を教師情報として用意しておく。
【０１６１】
ＱＰの確率分布情報を教師情報として教師ＱＰ情報記憶部１３２に記憶させておき、切替部１３０のスイッチを全結合層１２０ａの出力端子が、誤差算出部１３１に接続する端子に接続するように切り替えておく。画像選択部１３４が、ピクチャタイプに従って画像情報、または差分画像情報のいずれかを入力画像情報として特徴抽出部１１０に出力する。特徴抽出部１１０が、画像選択部１３４が出力する学習用の入力画像情報の確率分布情報を取り込み、全結合層１２０ａが、学習用のピクチャタイプリストとピクチャ目標符号量の確率分布情報を取り込むことにより初期ＱＰ推定部１０ａは、学習処理を開始する。
【０１６２】
誤差算出部１３１が算出する誤差が、例えば、予め定められる閾値以下となった場合、学習処理を終了し、誤差算出部１３１が指示情報を切替部１３０に出力する。切替部１３０は、当該指示情報を受けてスイッチを切り替え、全結合層１２０ａの出力端子の接続先をブロック目標符号量推定部１１ａとする。このタイミングで、学習データ記憶部１２１に記憶されている学習済みデータが、上述した入力画像情報と、当該入力画像情報に対応するピクチャタイプと、当該入力画像情報に対応するピクチャ目標符号量と、初期ＱＰとの関係性を示す関係性情報となる。
【０１６３】
ブロック目標符号量推定部１１ａは、ブロック画像情報と、当該ブロック画像情報に対応するピクチャタイプと、当該ブロック画像情報に対応する初期ＱＰと、複雑度との関係性を示す関係性情報を学習処理により生成する（ステップＳｂ４）。
【０１６４】
ブロック目標符号量推定部１１ａに対して、学習済みデータ、すなわち関係性情報を生成する学習処理を行わせるために、事前に、学習用の入力ブロック画像情報の確率分布情報と、当該入力ブロック画像情報に対応するピクチャタイプの確率分布情報と、当該入力ブロック画像情報に対応する初期ＱＰの確率分布情報とを入力情報として用意しておく。また、当該入力ブロック画像情報に対応するブロック画像情報を、対応する初期ＱＰで符号化した際の複雑度の確率分布情報を教師情報として用意しておく。
【０１６５】
複雑度の確率分布情報を教師情報として教師複雑度情報記憶部２３２に記憶させておき、切替部２３０のスイッチを符号量算出部２３４の出力端子が、誤差算出部２３１に接続する端子に接続するように切り替えておく。ブロック画像選択部２３５が、ピクチャタイプに従ってブロック画像情報、または差分ブロック画像情報のいずれかを入力ブロック画像情報として特徴抽出部２１０に出力する。特徴抽出部２１０が、ブロック画像選択部２３５が出力する学習用の入力ブロック画像情報の確率分布情報を取り込み、全結合層２２０ａが、学習用のピクチャタイプと初期ＱＰの確率分布情報を取り込むことによりブロック目標符号量推定部１１ａは、学習処理を開始する。
【０１６６】
誤差算出部２３１が算出する誤差が、例えば、予め定められる閾値以下となった場合、学習処理を終了し、誤差算出部２３１が指示情報を切替部２３０に出力する。切替部２３０は、当該指示情報を受けてスイッチを切り替え、全結合層２２０ａの出力端子の接続先を累積目標符号量算出部１２とする。このタイミングで、学習データ記憶部２２１に記憶されている学習済みデータが、上述した入力ブロック画像情報と、当該入力ブロック画像情報に対応するピクチャタイプと、当該入力ブロック画像情報に対応する初期ＱＰと、複雑度との関係性を示す関係性情報となる。
【０１６７】
映像符号化装置Ｃａは、符号化対象の映像情報と、当該符号化対象の映像情報に要求するビットレートと、当該符号化対象の映像情報のＧＯＰの構成に対応するピクチャタイプリストとを取り込む（ステップＳｂ５）。符号量制御部１ａは、符号化対象の映像情報に要求するビットレートと、当該符号化対象の映像情報のＧＯＰの構成に対応するピクチャタイプリストとを取り込むと、ステップＳｂ６、ステップＳｂ７及びループＬｂ２ｓ〜Ｌｂ２ｅの処理を映像情報に含まれる各ＧＯＰについて繰り返し行う（ループＬｂ１ｓ〜Ｌｂ１ｅ）。
【０１６８】
ＧＯＰ初期ＱＰ推定部１７の演算部３００が、ＧＯＰ分割部４１が出力する符号化対象のＧＯＰと、ビットレート及びピクチャタイプリストとを取り込む。ＧＯＰ特徴抽出部３１０は、学習データ記憶部３２１に記憶されている学習済みデータを用いて、取り込んだ符号化対象のＧＯＰの特徴量を算出する。全結合層３２０は、ＧＯＰ特徴抽出部３１０が出力する特徴量と、ビットレートと、ピクチャタイプと、学習データ記憶部１２１に記憶されている学習済みデータとに基づいて、ＧＯＰ初期ＱＰを算出する。ＧＯＰ初期ＱＰ推定部１７は、算出したＧＯＰ初期ＱＰをＧＯＰ目標符号量推定部１８に出力する（ステップＳｂ６）。
【０１６９】
ＧＯＰ目標符号量推定部１８は、ＧＯＰ分割部４１が出力する符号化対象のＧＯＰと、ＧＯＰ初期ＱＰ推定部１７が出力するＧＯＰ初期ＱＰと、ピクチャタイプリストとを取り込む。ＧＯＰ目標符号量推定部１８の演算部４００が、符号化対象のＧＯＰと、当該ＧＯＰに対応するＧＯＰ初期ＱＰと、当該ＧＯＰに対応するピクチャタイプリストとを取り込む。
【０１７０】
ＧＯＰ特徴抽出部４１０は、学習データ記憶部４２１に記憶されている学習済みデータを用いて、取り込んだＧＯＰの特徴量を算出する。全結合層４２０は、ＧＯＰ特徴抽出部４１０が出力する特徴量と、ピクチャタイプリストと、ＧＯＰ初期ＱＰと、学習データ記憶部４２１に記憶されている学習済みデータとに基づいて、符号化対象のＧＯＰに含まれる符号化対象画像情報毎のピクチャ目標符号量を算出する。ＧＯＰ目標符号量推定部１８は、算出した符号化対象画像情報毎のピクチャ目標符号量を初期ＱＰ推定部１０ａに出力する（ステップＳｂ７）。
【０１７１】
符号量制御部１ａの初期ＱＰ推定部１０ａ及びブロック目標符号量推定部１１ａは、ステップＳｂ８、ステップＳｂ９及びループＬｂ３ｓ〜Ｌｂ３ｅの処理をＧＯＰに含まれる各符号化対象画像情報について繰り返し行う（ループＬｂ２ｓ〜Ｌｂ２ｅ）。
【０１７２】
初期ＱＰ推定部１０ａが、ＧＯＰ分割部４１が出力する符号化対象画像情報、または減算器１９が出力する符号化対象画像情報と参照画像情報の差分である符号化対象の差分画像情報と、当該符号化対象画像情報に対応するピクチャタイプと、ＧＯＰ目標符号量推定部１８が出力する当該符号化対象画像情報に対応するピクチャ目標符号量とを取り込む。
【０１７３】
画像選択部１３４は、ピクチャタイプに従って、符号化対象画像情報、または符号化対象差分画像情報のいずれかを符号化対象の入力画像情報として特徴抽出部１１０に出力する。特徴抽出部１１０は、学習データ記憶部１２１に記憶されている学習済みデータを用いて、画像選択部１３４が出力する符号化対象の入力画像情報の特徴量を算出する。
【０１７４】
全結合層１２０ａは、特徴抽出部１１０が出力する特徴量と、ピクチャタイプと、ピクチャ目標符号量と、学習データ記憶部１２１に記憶されている学習済みデータとに基づいて、初期ＱＰを算出する。初期ＱＰ推定部１０ａは、算出した初期ＱＰをブロック目標符号量推定部１１ａに出力する（ステップＳｂ８）。
【０１７５】
ブロック目標符号量推定部１１ａは、ブロック分割部３０が出力する符号化対象ブロック画像情報、または減算器３１が出力する符号化対象ブロック画像情報と参照ブロック画像情報の差分である差分ブロック画像情報と、当該符号化対象ブロック画像情報のピクチャタイプと、初期ＱＰ推定部１０ａが出力する初期ＱＰとを取り込む。
【０１７６】
ブロック画像選択部２３５は、ピクチャタイプに従って、符号化対象ブロック画像情報、または符号化対象差分ブロック画像情報のいずれかを入力ブロック画像情報として特徴抽出部２１０に出力する。特徴抽出部２１０は、学習データ記憶部２２１に記憶されている学習済みデータを用いて、ブロック画像選択部２３５が出力する符号化対象の入力ブロック画像情報の特徴量を算出する。
【０１７７】
全結合層２２０ａは、特徴抽出部２１０が出力する特徴量と、初期ＱＰと、学習データ記憶部２２１に記憶されている学習済みデータとに基づいて、ブロック目標符号量を算出する。ブロック目標符号量推定部１１ａは、算出したブロック目標符号量を累積目標符号量算出部１２に出力する（ステップＳｂ９）。
【０１７８】
以下、量子化パラメータ補正部２２が、符号化対象画像情報の各ブロック画像情報について、ステップＳｂ１０からステップＳｂ１３の処理を繰り返し行う（ループＬｂ３ｓ〜Ｌｂ３ｅ）。累積目標符号量算出部１２は、符号化部３において符号化対象となっているブロック画像情報の直前のブロック画像情報までのブロック目標符号量の累積値である累積目標符号量Ｔｓｕｍを算出する。
【０１７９】
累積発生符号量算出部１３は、可変長符号化部３３が出力するブロック発生符号量のうち、符号化部３において符号化対象となっているブロック画像情報の直前のブロック画像情報までのブロック発生符号量の累積値である累積発生符号量Ｂｓｕｍを算出する（ステップＳｂ１０）。累積目標符号量Ｔｓｕｍを式で表すと次式（１７）となり、累積発生符号量Ｂｓｕｍを式で表すと次式（１８）となる。
【０１８０】
【数１７】
2019083492.tif 000019
【０１８１】
【数１８】
2019083492.tif 000020
【０１８２】
式（１８）において、Ｂ（ｉ）は、ｉ番目のブロック画像情報のブロック発生符号量である。
【０１８３】
符号量誤差算出部１４は、累積発生符号量算出部１３が出力する累積発生符号量Ｂｓｕｍと、累積目標符号量算出部１２が出力する累積目標符号量Ｔｓｕｍとに基づいて、次式（１９）により符号量誤差Ｄを算出して最終ＱＰ算出部１６に出力する。
【０１８４】
【数１９】
2019083492.tif 000021
【０１８５】
平均ＱＰ算出部１５は、最終ＱＰ算出部１６が出力するブロック画像情報毎のＱＰを取り込み、符号化部３において符号化対象となっているブロック画像情報の直前のブロック画像情報までのＱＰの平均値である平均ＱＰを次式（２０）に基づいて算出する（ステップＳｂ１１）。
【０１８６】
【数２０】
2019083492.tif 000022
【０１８７】
最終ＱＰ算出部１６は、次式（２１）により補正ＱＰであるｄｅｌｔａＱＰを算出する（ステップＳｂ１２）。
【０１８８】
【数２１】
2019083492.tif 000023
【０１８９】
式（２１）において、ＢｌｋＰｒｏｃ＿ｃｎｔは、可変長符号化部３３が出力する符号化対象画像情報内の符号化済みブロック数である。また、ｄｅｌｔａＱＰｏｒｇは、次式（２２）に基づいて、符号量誤差算出部１４が算出する符号量誤差Ｄから求められる値であり、ｋは調整パラメータ係数である。
【０１９０】
【数２２】
2019083492.tif 000024
【０１９１】
最終ＱＰ算出部１６は、平均ＱＰ算出部１５が出力する平均ＱＰ（ＱＰｍｅａｎ）と、算出した補正ＱＰ（ｄｅｌｔａＱＰ）とに基づいて、次式（２３）により最終的なＱＰを算出して直交変換・量子化部３２に出力する（ステップＳｂ１３）。
【０１９２】
【数２３】
2019083492.tif 000025
【０１９３】
式（２３）においてＲｏｕｎｄ（）の関数は、切り上げ、切り下げ、四捨五入等の丸め演算を行う関数を意味する。符号化部３ａは、符号量制御部１ａがブロック画像情報毎に出力するＱＰを用いて各ブロック画像情報の符号化を行い、全てのブロック画像情報の符号化が終了するまで処理を繰り返す。
【０１９４】
なお、第２の実施形態の符号量制御部１において、図１２に示すように、量子化パラメータ補正部２２を１つの量子化パラメータ補正装置１Ｂとして構成するようにしてもよい。
【０１９５】
また、上記の第２の実施形態の構成では、初期ＱＰ推定部１０ａの画像選択部１３４は、Ｐピクチャ、またはＢピクチャの場合、差分画像情報を選択し、Ｉピクチャの場合、画像情報を選択するようにしている。また、ブロック目標符号量推定部１１ａのブロック画像選択部２３５は、Ｐピクチャ、またはＢピクチャの場合、差分ブロック画像情報を選択し、Ｉピクチャの場合、ブロック画像情報を選択するようにしている。しかしながら、本発明の構成は、当該実施の形態に限られない。例えば、図１３に示すような映像符号化装置Ｃｂを構成し、初期ＱＰ推定部１０ｂは、ピクチャタイプに関わらず、画像情報のみを上述した入力画像情報として処理を行うようにしてもよいし、ブロック目標符号量推定部１１ｂも、ピクチャタイプに関わらず、ブロック画像情報のみを上述した入力ブロック画像情報として処理を行うようにしてもよい。なお、この場合、初期ＱＰ推定部１０ｂの構成は、初期ＱＰ推定部１０ａから画像選択部１３４を除いた構成となり、ブロック目標符号量推定部１１ｂの構成は、ブロック目標符号量推定部１１ａからブロック画像選択部２３５を除いた構成となる。
【０１９６】
上記の第１及び第２の実施形態の構成により、最終ＱＰ算出部１６は、ブロック目標符号量推定部１１が出力する符号化済みのブロック画像情報の目標符号量と、可変長符号化部３３が出力する可変長符号化部３３が出力する符号化済みのブロック画像情報の発生符号量及び符号化済みのブロック画像情報の数とに基づいて、符号化対象のブロック画像情報に適用するＱＰに対する補正ＱＰ（ｄｅｌｔａＱＰ）を算出する。最終ＱＰ算出部１６は、符号化済みのブロック画像情報に適用したＱＰと、補正ＱＰ（ｄｅｌｔａＱＰ）とに基づいて、符号化対象のブロック画像情報に適用するＱＰを算出する。
【０１９７】
すなわち、上記の第１及び第２の実施形態の構成において、累積目標符号量算出部１２は、ブロック目標符号量推定部１１が出力する符号化済みのブロック画像情報の目標符号量の累積値を出力する。累積発生符号量算出部１３は、可変長符号化部３３が出力する符号化済みのブロック画像情報の発生符号量の累積値を出力する。符号量誤差算出部１４は、累積目標符号量算出部１２が出力するブロック目標符号量の累積値と、ブロック発生符号量の累積値の符号量誤差Ｄを算出する。最終ＱＰ算出部１６は、式（１３）及び式（２２）に基づいて、式（１２）及び式（２１）の第１項を算出し、第１項の値を可変長符号化部３３が出力する符号化済みのブロック画像情報の数（ＢｌｋＰｒｏｃ＿ｃｎｔ）で除算することで式（１２）の第２項を算出する。
【０１９８】
上記の第１及び第２の実施形態の構成では、ＱＰの補正値である補正ＱＰ（ｄｅｌｔａＱＰ）の算出を２つの目的から行っている。１つ目の目的は、背景技術１を参照して述べた仮想的なバッファ、すなわち目標符号量と発生符号量の符号量誤差を直接解消することであり、これは式（１２）及び式（２１）における第１項に対応する。２つめの目的は、過去の符号化結果からこれから符号化する符号化対象ブロック画像情報それ自体に符号量誤差が発生しないように考慮したものであり、これは式（１２）及び式（２１）における第２項に対応する。
【０１９９】
背景技術１の構成は、式（１２）及び式（２１）における第１項目のみから補正ＱＰを算出する構成に相当する。そのため、過去の累積符号量誤差、すなわち符号化対象のブロック画像情報の直前までの符号量誤差を解消することができても、符号化対象のブロック画像情報において符号量誤差が発生してしまう可能性が高い。
【０２００】
これに対して、第１及び第２の実施形態の構成では、式（１２）及び式（２１）の第１項において過去の累積符号量誤差、すなわち符号化対象のブロック画像情報の直前までの符号量誤差を直接解消するとともに、式（１２）及び式（２１）の第２項において符号化対象のブロック画像情報の符号量誤差の発生を補正するようにしている。また、式（１４）及び（２３）に示すように、初期ＱＰに対して補正ＱＰを適用するのではなく、符号化対象ブロック画像情報の直前までのＱＰの平均値である平均ＱＰに対して補正ＱＰを適用するようにしている。初期ＱＰに対して補正すると、もし初期ＱＰが大きく誤っていた場合に誤差が生じてしまう。一方で、平均ＱＰはエンコード処理が進むにつれて画像情報特性を反映したＱＰとなっているため、初期ＱＰが大きく誤っていたとしても自動的に修正することができる。
【０２０１】
これらの第１及び第２の実施形態の構成により、符号化対象の画像情報の画質を均一に保ちつつ所望の符号量とするような、より正確なＱＰの補正を行うことができる。したがって、目標符号量に近い符号量の制御を行うことができ、画質が向上すると共に所望の符号量、例えば、第１の実施形態では、所望のファイルサイズとしたり、第２の実施形態では所望のビットレートにしたりすることを可能としている。
【０２０２】
なお、上記の第１及び第２の実施形態において、平均ＱＰ算出部１５は、最初のブロック画像情報については、初期ＱＰ推定部１０，１０ａが出力する初期ＱＰを初期値として取り込み、平均ＱＰに替えて、取り込んだ初期ＱＰをそのまま最終ＱＰ算出部１６に出力する。また、最初のブロック画像情報の場合、符号量誤差算出部１４は、符号量誤差Ｄ＝０として出力するため、式（１３）及び式（２２）によりｄｅｌｔａＱＰｏｒｇ＝０となる。式（１２）及び式（２１）の２項目は、ｄｅｌｔａＱＰｏｒｇが「０」であり、更に、符号化済みブロック数ＢｌｋＰｒｏｃ＿ｃｎｔも「０」となる。そのため、最初のブロック画像情報については、最終ＱＰ算出部１６は、ｄｅｌｔａＱＰ＝０とする。したがって、最終ＱＰ算出部１６は、式（１４）及び式（２３）に基づいて、最初のブロック画像情報に適用するＱＰを初期ＱＰ（ＱＰｉｎｉｔ）とする。
【０２０３】
また、上記の第１及び第２の実施形態において、学習処理は並列に行われてもよいため、図４のフローチャートのステップＳａ１及びＳａ２が並列に行われてもよく、また、図１１のステップＳｂ１，Ｓｂ２，Ｓｂ３，及びＳｂ４が並列に行われてもよい。また、図２、図３、図７〜図１０における特徴抽出部１１０，２１０及びＧＯＰ特徴抽出部３１０，４１０の個数であるＮは、１以上の整数であれば各々が異なる値であってもよい。
【０２０４】
また、上記の第１及び第２の実施形態において、初期ＱＰ推定部１０，１０ａ、ブロック目標符号量推定部１１，１１ａ、ＧＯＰ初期ＱＰ推定部１７及びＧＯＰ目標符号量推定部１８は、例えば、機械学習モデルによって学習処理を行うとしており、図２、図３、図７から図１０は、例えば、ディープラーニングを行うディープニューラルネットワークの構成の一例を示したものである。しかしながら、本発明は、当該実施の形態に限られず、他の異なる構成のディープニューラルネットワークを用いて学習処理を行うようにしてもよく、また、学習処理を行うことなく数学的な演算手段に基づいて関係性を示す非線形関数を求めて、求めた非線形関数を関係性情報にするようにしてもよく、関係性を推定する所定の推定手段であればどのような手段を用いるようにしてもよい。
【０２０５】
また、上記の第１及び第２の実施形態において、初期ＱＰ推定部１０，１０ａ、ブロック目標符号量推定部１１，１１ａ、ＧＯＰ初期ＱＰ推定部１７及びＧＯＰ目標符号量推定部１８は、特徴抽出部１１０，２１０及びＧＯＰ特徴抽出部３１０，４１０において特徴量及び特徴量を算出するようにしているが、本発明の構成は、当該実施の形態に限られない。十分な数の入力情報があれば、特徴量を算出することなく、入力情報をそのまま全結合層３２０に与えて学習処理を行うようにしてもよい。ここで、入力情報とは、学習処理において与える画像情報、ピクチャ目標符号量、ブロック画像情報、初期ＱＰ、ＧＯＰ、ビットレート、ピクチャタイプリスト、ＧＯＰ初期ＱＰ、入力画像情報、ピクチャタイプ、ピクチャ目標符号量、入力ブロック画像情報の情報である。
【０２０６】
また、上記の第１及び第２の実施形態において、誤差算出部１３１，２３１，３３１，４３１は、誤差が、閾値以下になった場合に学習処理を終了するとしているが、本発明の構成は、当該実施の形態に限られるものではない。「以下であるか否かを」という判定は一例に過ぎず、閾値の定め方に応じて、「未満であるか否か」を判定するようにしてもよい。すなわち、上記の閾値判定処理については、判定対象の値が、閾値未満であるか否かを判定するようにしてもよい。
【０２０７】
また、上記の第１及び第２の実施形態において、映像符号化装置Ｃ，Ｃａ，Ｃｂは、例えば、Ｈ．２６５／ＨＥＶＣ（High Efficiency Video Coding）の標準規格に準拠する装置として説明したが、当該標準規格に限られるものではなく、他の標準規格に準拠する装置であってもよい。
【０２０８】
上述した実施形態における量子化パラメータ補正装置１Ｂをコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＦＰＧＡ（Field Programmable Gate Array）等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【０２０９】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【０２１０】
１、１ａ、１ｂ…符号量制御部，１０、１０ａ、１０ｂ…初期ＱＰ推定部，１１、１１ａ、１１ｂ…ブロック目標符号量推定部，１２…累積目標符号量算出部，１３…累積発生符号量算出部，１４…符号量誤差算出部，１５…平均ＱＰ算出部，１６…最終ＱＰ算出部，１７…ＧＯＰ初期ＱＰ推定部，１８…ＧＯＰ目標符号量推定部，１９…減算器，２０、２０ａ…量子化パラメータ推定部，２１、２１ａ…符号量推定部，２２…量子化パラメータ補正部，３０…ブロック分割部，３１…減算器，３２…直交変換・量子化部，３３…可変長符号化部，３４…逆量子化・逆直交変換部，３５…加算器，３６…イントラ予測部，１００、１００ａ…演算部，１１０（１１０−１〜１１０−Ｎ）…特徴抽出部，１１１−１〜１１１−Ｎ…畳み込み層部，１１２−１〜１１２−Ｎ…ダウンサンプリング部，１１３−１〜１１３−Ｎ…非線形変換部，１２０、１２０ａ…全結合層，１２１…学習データ記憶部，１３０…切替部，１３１…誤差算出部，１３２…教師ＱＰ情報記憶部，１３３…学習処理部，１３４…画像選択部，２００、２００ａ…演算部，２１０（２１０−１〜２１０−Ｎ）…特徴抽出部，２１１−１〜２１１−Ｎ…畳み込み層部，２１２−１〜２１２−Ｎ…ダウンサンプリング部，２１３−１〜２１３−Ｎ…非線形変換部，２２０、２２０ａ…全結合層，２２１…学習データ記憶部，２３０…切替部，２３１…誤差算出部，２３２…教師複雑度情報記憶部，２３３…学習処理部，２３４…符号量算出部，２３５…ブロック画像選択部，３００…演算部，３１０（３１０−１〜３１０−Ｎ）…特徴抽出部，３１１−１〜３１１−Ｎ…畳み込み層部，３１２−１〜３１２−Ｎ…ダウンサンプリング部，３１３−１〜３１３−Ｎ…非線形変換部，３２０…全結合層，３２１…学習データ記憶部，３３０…切替部，３３１…誤差算出部，３３２…教師ＱＰ情報記憶部，３３３…学習処理部，４００…演算部，４１０（４１０−１〜４１０−Ｎ）…特徴抽出部，４１１−１〜４１１−Ｎ…畳み込み層部，４１２−１〜４１２−Ｎ…ダウンサンプリング部，４１３−１〜４１３−Ｎ…非線形変換部，４２０…全結合層，４２１…学習データ記憶部，４３０…切替部，４３１…誤差算出部，４３２…教師複雑度情報記憶部，４３３…学習処理部，４３４…符号量算出部
【図１】
2019083492.tif 000026
【図２】
2019083492.tif 000027
【図３】
2019083492.tif 000028
【図４】
2019083492.tif 000029
【図５】
2019083492.tif 000030
【図６】
2019083492.tif 000031
【図７】
2019083492.tif 000032
【図８】
2019083492.tif 000033
【図９】
2019083492.tif 000034
【図１０】
2019083492.tif 000035
【図１１】
2019083492.tif 000036
【図１２】
2019083492.tif 000037
【図１３】
2019083492.tif 000038