(57)【特許請求の範囲】
【請求項１】
対象映像に対してフィルタリングを行い、映像符号化ストリームを生成する映像符号化ストリーム生成方法であって、
複数の学習映像から圧縮因子を算出する圧縮因子算出ステップと、
前記圧縮因子を用いて所望符号量を満足する映像符号化ストリームを生成する映像符号化ストリーム生成ステップと
を有し、
前記映像符号化ストリーム生成ステップでは、
所定の分解パラメータを用いた信号分解により前記対象映像のフィルタ出力を行うフィルタ出力ステップと、
前記フィルタ出力が行われた後に、所定の量子化パラメータを用いて符号化し、発生符号量を算出する発生符号量算出ステップと、
前記分解パラメータと前記量子化パラメータとから特徴ベクトルを算出する特徴ベクトル算出ステップと、
前記発生符号量と、前記特徴ベクトルと、前記圧縮因子を用いて、前記発生符号量のモデル係数を算出するモデル係数算出ステップと、
前記モデル係数から、前記所望符号量を満足する前記分解パラメータと前記量子化パラメータの組を全て算出する分解・量子化パラメータ算出ステップと、
前記分解パラメータと前記量子化パラメータの組に基づき前記映像符号化ストリームを生成するストリーム生成ステップと
を有することを特徴とする映像符号化ストリーム生成方法。
【請求項２】
前記圧縮因子算出ステップでは、所定の映像サイズ、色フォーマット、フレームレート及びフレーム数をもつ複数の前記学習映像から前記圧縮因子を算出することを特徴とする請求項１に記載の映像符号化ストリーム生成方法。
【請求項３】
対象映像に対してフィルタリングを行い、映像符号化ストリームを生成する映像符号化ストリーム生成装置であって、
複数の学習映像から圧縮因子を算出する圧縮因子算出手段と、
前記圧縮因子を用いて所望符号量を満足する映像符号化ストリームを生成する映像符号化ストリーム生成手段と
を備え、
前記映像符号化ストリーム生成手段は、
所定の分解パラメータを用いた信号分解により前記対象映像のフィルタ出力を行うフィルタ出力ステップと、
前記フィルタ出力が行われた後に、所定の量子化パラメータを用いて符号化し、発生符号量を算出する発生符号量算出ステップと、
前記分解パラメータと前記量子化パラメータとから特徴ベクトルを算出する特徴ベクトル算出ステップと、
前記発生符号量と、前記特徴ベクトルと、前記圧縮因子を用いて、前記発生符号量のモデル係数を算出するモデル係数算出ステップと、
前記モデル係数から、前記所望符号量を満足する前記分解パラメータと前記量子化パラメータの組を全て算出する分解・量子化パラメータ算出ステップと、
前記分解パラメータと前記量子化パラメータの組に基づき前記映像符号化ストリームを生成するストリーム生成ステップと
を実行することを特徴とする映像符号化ストリーム生成装置。
【請求項４】
コンピュータに、請求項１に記載の映像符号化ストリーム生成方法を実行させるための映像符号化ストリーム生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所望符号量を満たす映像符号化ストリーム生成方法、映像符号化ストリーム生成装置及び映像符号化ストリーム生成プログラムに関する。
【背景技術】
【０００２】
モバイル通信網の発達に伴い、映像を非常に低いビットレート条件で符号化する需要が高まっている。しかし、従来の規格Ｈ．２６４やＨＥＶＣ（High Efficiency Video Coding）などによる符号化技術では、非常に厳しいビットレート条件において、ブロックノイズやモスキートノイズなど符号化特有の劣化が大きく生じるため、主観的な品質が大きく損なわれる。
【０００３】
この問題を回避するには、プレフィルタを映像符号化の前処理に用いて、原画像自身の情報量を予め削ぎ落とす手法が有効である。特に視覚的影響が大きいエッジ情報を保ちながら微細な振動情報を削ぎ落とす非線形フィルタは、主観品質を保ちつつ符号量を大きく削減できるため効果が高い（例えば、非特許文献１参照）。
【０００４】
上記の性質を持つフィルタは数多く存在するが、ＴＶ−Ｌ１信号分解を用いたフィルタリング手法は、視覚的により良好な結果が得られるとため、近年注目されている（例えば、非特許文献２参照）。ＴＶ−Ｌ１信号分解によるフィルタリング出力結果は、ある正の実数値パラメータによって制御可能であり、このパラメータは非特許文献２ではλと記述されている。ここではθ（０≦θ≦１）をθ＝λ／（１＋λ）と定義し、分解パラメータと呼ぶことにする。例えばθ＝０のときフィルタリング出力は平坦映像で、θの増加に従って照明の色味や被写体の概形などの情報が付加され、θ＝１のときは入力画像そのものとなる。
【０００５】
最終的に出力される映像ストリームと発生符号量は分解パラメータθと符号化器の量子化パラメータＱＰによって決定される。所望の発生符号量を満足する分解パラメータθと量子化パラメータＱＰの組み合わせについて１自由度があるため、この組み合わせの中から予め設定した評価基準に従って最も優れた映像を１つ出力することが求められる。
【０００６】
ここで、図８を参照して、所望符号量を満足して最も評価の高いストリームを出力する処理について、説明する。図８は、所望符号量を満足して最も評価の高いストリームを出力する処理動作を示すフローチャートである。画質評価の手法としてここではＳＳＩＭ（Structural Similarity）を使用した例について説明する。処理が開始されると、まず以下の処理（ステップＳ２０２〜Ｓ２０３）を予め決められたＮ個の分解パラメータθｎ（ｎ＝１，…，Ｎ）と量子化パラメータＱＰｎ（ｎ＝１，…，Ｎ）の組について繰り返し実行する（ステップＳ２０１）。
【０００７】
次に、分解パラメータθｎを用いて対象映像ＩをＴＶ−Ｌ１信号分解によるフィルタ出力を算出する（ステップＳ２０２）。続いて量子化パラメータＱＰｎを用いてフィルタ出力をＨＥＶＣで符号化し、ストリームＳｎと符号量Ｂｎを算出する（ステップＳ２０３）。
【０００８】
全ての分解パラメータと量子化パラメータの組（θｎ，ＱＰｎ）（ｎ＝１，…，Ｎ）についての反復が終了したらステップＳ２０５へ進む（ステップＳ２０４）。符号量Ｂｎ（ｎ＝１，…，Ｎ）の中で所望の符号量条件を満足するものを探索し、対応したストリームＳｎを選出してＳｐ（ｐ＝１，…，Ｐ）とする（ステップＳ２０５）。
【０００９】
以下の処理（ステップＳ２０７、Ｓ２０８）を全ての選出したストリームＳｐ（ｐ＝１，…，Ｐ）について繰り返す（ステップＳ２０６）。ストリームＳｐをＨＥＶＣでデコードし（ステップＳ２０７）、対象映像Ｉを基準に復号映像のＳＳＩＭ評価値を計算する（ステップＳ２０８）。
【００１０】
全てのストリームＳｐ（ｐ＝１，…，Ｐ）についての反復が終了したらステップＳ２１０へ進む（ステップＳ２０９）。最も高いＳＳＩＭの評価値を出したストリームを出力して終了する（ステップＳ２１０）。
【００１１】
このようにストリームを出力することで、所望の符号量条件を満足して最もＳＳＩＭが高いストリームを出力することができる。
【００１２】
次に、図９を参照して、上記の処理を実現するための所望符号量を満足して高評価ストリーム出力装置２の構成について説明する。図９は、高評価ストリーム出力装置２の構成例を示す図である。図９に示す高評価ストリーム出力装置２は、所望符号量を満足するストリーム出力部２１と、高評価ストリーム出力部２２を備えている。
【００１３】
ストリーム出力部２１は、高評価ストリーム出力装置２の入力である対象映像と所望符号量を入力すると、所望符号量の条件を満足するストリームを全て生成し、高評価ストリーム出力部２２に対して出力する。
【００１４】
高評価ストリーム出力部２２は、ストリーム出力部２１から送られたストリームの集合と高評価ストリーム出力装置２の入力である対象映像が入力されると、最もＳＳＩＭの高いストリームを選択して高評価ストリーム出力装置２の出力結果（最良ストリーム）とする。
【００１５】
次に、ストリーム出力部２１についてより詳しく説明する。ストリーム出力部２１は、ＴＶ−Ｌ１信号分解部２１０１と、ＨＥＶＣ符号化部２１０２と、パラメータ生成部２１０３と、符号量条件判定部２１０４と、スイッチ２１０５から構成されている。
【００１６】
ＴＶ−Ｌ１信号分解部２１０１は、パラメータ生成部２１０３から送られてくる分解パラメータθを使って、ストリーム出力部２１が受信した対象映像Ｉを、ＴＶ−Ｌ１信号分解する。このとき生成されたフィルタ出力を、ＨＥＶＣ符号化部２１０２に出力する。
【００１７】
ＨＥＶＣ符号化部２１０２は、パラメータ生成部２１０３から送られてくる量子化パラメータＱＰを使って、ＴＶ−Ｌ１信号分解部から送られてくるフィルタ出力をＨＥＶＣで符号化する。生成されたストリームＳをスイッチ２１０５に送り、ストリームＳの符号量Ｂを符号量条件判定部２１０４に送る。また、符号化が終了した際に、符号化終了制御信号を、符号量条件判定部２１０４に送る。
【００１８】
パラメータ生成部２１０３は、予め決められた分解パラメータと量子化パラメータの組の集合（θｎ，ＱＰｎ）（ｎ＝１，…，Ｎ）のうち、θｎをＴＶ−Ｌ１信号分解部２１０１、ＱＰｎをＨＥＶＣ符号化部２１０２に順に送り出す。符号量条件判定部２１０４から判定終了制御信号が送られたとき、ｎ←ｎ＋１として送信するパラメータを１つインクリメントする。
【００１９】
符号量条件判定部２１０４は、ＨＥＶＣ符号化部２１０２から送られてくる発生符号量と、ストリーム出力部２１の入力である所望符号量を比較し、符号量の条件を満たしていればＴＲＵＥを、満たしていなければＦＡＬＳＥをスイッチ２１０５に条件判定制御信号として送る。この条件判定は、ＨＥＶＣ符号化部２１０２から符号化終了制御信号が送られてくる度に実行する。また条件判定が終了したとき、判定終了制御信号をパラメータ生成部２１０３に送る。
【００２０】
スイッチ２１０５は、ＨＥＶＣ符号化部２１０２から送られてくるストリームを、スイッチのＯＮ／ＯＦＦの状態に応じて、ストリーム出力部２１の出力として送信する。スイッチの状態は、初期はａ：ＯＦＦとなっていて、符号量条件判定部２１０４から送られてくる条件判定制御信号がＴＲＵＥならばｂ：ＯＮに、ＦＡＬＳＥならばａ：ＯＦＦに切り替える。
【００２１】
続いて高評価ストリーム出力部２２についてより詳しく説明する。高評価ストリーム出力部２２は、ストリームバッファ２２０６、ＨＥＶＣ復号部２２０７、ＳＳＩＭ評価部２２０８、最良評価ストリームバッファ２２０９から構成されている。
【００２２】
ストリームバッファ２２０６は、高評価ストリーム出力部２２の入力であるストリームの集合を受け取り保持し、ＨＥＶＣ復号部２２０７と最良評価ストリームバッファ２２０９に、保持しているストリームを１つずつ送り出す。最良評価ストリームバッファ２２０９よりバッファ更新完了制御信号が送られる度に、送り出すストリームを１つインクリメントする。
【００２３】
ＨＥＶＣ復号部２２０７は、ストリームバッファ２２０６から送られるストリームをＨＥＶＣで復号して復号映像を生成し、ＳＳＩＭ評価部２２０８に送る。
【００２４】
ＳＳＩＭ評価部２２０８は、高評価ストリーム出力部２２の入力である対象映像Ｉを受け取り、ＨＥＶＣ復号部２２０７から送られる復号映像のＳＳＩＭによる評価値を算出し、最良評価ストリームバッファ２２０９に送る。
【００２５】
最良評価ストリームバッファ２２０９は、その時点での最高評価値Ｃｍａｘとそれに対応するストリームＳｍａｘを保持していて、初期値はＣｍａｘ＝０，Ｓｍａｘ＝Ｎ／Ａ（該当なし）である。ＳＳＩＭ評価部２２０８から送られる評価値ＣがＣｍａｘ＜Ｃであれば、ストリームバッファ２２０６から送られてくるストリームＳを使用して、Ｃｍａｘ＝Ｃ，Ｓｍａｘ＝Ｓとする。
【００２６】
一方Ｃｍａｘ＞Ｃのときはそれまでの最高評価値ＣｍａｘとストリームＳｍａｘは維持する。これらの処理が終わった後、ストリームバッファ２２０６にバッファ更新完了制御信号を送信し、送られてくるストリームを切り替える。
【００２７】
このように、図９に示すような構成の高評価ストリーム出力装置２を用いることにより、図８に示すフローチャートに基づく処理動作に従って、最も評価値の高いフィルタ出力の符号化ストリームを出力することができる。
【先行技術文献】
【非特許文献】
【００２８】
【非特許文献１】Hideaki Kimata, Yoshiyuki Yashima, Naoki Kobayashi, "Edge Preserving Pre-post Filtering for Low Bitrate Video Coding," Proceedings of the International Conference on Image Processing 2001, October 2001, Volume 3, pp 554-557
【非特許文献２】Qing Li, Wotao Yin, Zhigang Deng, "Image-based Face Illumination Transferring Using Logarithmic Total Variation Models," The Visual Computer, January 2010, Volume 26, Issue 1, pp 41-49
【発明の概要】
【発明が解決しようとする課題】
【００２９】
以上のように従来の条件を満足するストリームの集合を出力する装置では、条件に適合するストリームの集合を出力するために、非常に多くの分解パラメータと量子化パラメータの候補全てについて信号分解と符号化を実行する。一般にこの信号分解処理と符号化処理はその他の処理と比較して計算量が大きいため、これを反復することで膨大な計算時間がかかってしまうという問題がある。
【００３０】
本発明は、このような事情に鑑みてなされたもので、計算時間を削減しながら、条件を満足するストリームの集合を出力することができる映像符号化ストリーム生成方法、映像符号化ストリーム生成装置及び映像符号化ストリーム生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００３１】
本発明は、対象映像に対してフィルタリングを行い、映像符号化ストリームを生成する映像符号化ストリーム生成方法であって、複数の学習映像から圧縮因子を算出する圧縮因子算出ステップと、前記圧縮因子を用いて所望符号量を満足する映像符号化ストリームを生成する映像符号化ストリーム生成ステップとを有することを特徴とする。
【００３２】
本発明は、前記所望符号量を満足する映像符号化ストリームを復号した映像を前記対象映像を用いて品質評価値を算出し、当該品質評価値が高くなる映像符号化ストリームを出力する高評価ストリーム出力ステップをさらに有することを特徴とする。
【００３３】
本発明は、前記圧縮因子算出ステップでは、複数の前記学習映像から映像サイズ、色フォーマット、フレームレート及びフレーム数に基づき前記圧縮因子を算出することを特徴とする。
【００３４】
本発明は、前記映像符号化ストリーム生成ステップでは、所定の分解パラメータを用いた信号分解により前記対象映像のフィルタ出力を行うフィルタ出力ステップと、前記フィルタ出力が行われた後に、所定の量子化パラメータを用いて符号化し、発生符号量を算出する発生符号量算出ステップと、前記分解パラメータと前記量子化パラメータとから特徴ベクトルを算出する特徴ベクトル算出ステップと、前記発生符号量と、前記特徴ベクトルと、前記圧縮因子を用いて、前記発生符号量のモデル係数を算出するモデル係数算出ステップと、前記モデル係数から、前記所望符号量を満足する前記分解パラメータと前記量子化パラメータの組を全て算出する分解・量子化パラメータ算出ステップと、前記分解パラメータと前記量子化パラメータの組に基づき前記映像符号化ストリームを生成するストリーム生成ステップとを有することを特徴とする。
【００３５】
本発明は、対象映像に対してフィルタリングを行い、映像符号化ストリームを生成する映像符号化ストリーム生成装置であって、複数の学習映像から圧縮因子を算出する圧縮因子算出手段と、前記圧縮因子を用いて所望符号量を満足する映像符号化ストリームを生成する映像符号化ストリーム生成手段とを備えることを特徴とする。
【００３６】
本発明は、コンピュータに、前記映像符号化ストリーム生成方法を実行させるための映像符号化ストリーム生成プログラムである。
【発明の効果】
【００３７】
本発明によれば、条件を満足するストリームの集合を出力することができるようにしつつ、計算時間を削減することができるという効果が得られる。
【図面の簡単な説明】
【００３８】
【図１】本発明の一実施形態による所望符号量を満足して最も評価の高いストリームを出力する処理を実現するためのストリーム出力装置１の構成を示すブロック図である。
【図２】図１に示すストリーム出力装置１の処理動作を示すフローチャートである。
【図３】図１に示す事前学習部１１の詳細な構成を示すブロック図である。
【図４】図３に示す事前学習部１１の処理動作の具体的な処理動作を示すフローチャートである。
【図５】図１に示すストリーム出力部１２の詳細な構成を示すブロック図である。
【図６】図５に示すストリーム出力部１２が、所望符号量を満足するストリームを圧縮因子を用いて全て出力する処理動作を示すフローチャートである。
【図７】図１に示す高評価ストリーム出力部１３の処理動作を示すフローチャートである。
【図８】従来技術による所望符号量を満足して最も評価の高いストリームを出力する処理動作を示すフローチャートである。
【図９】従来技術による高評価ストリーム出力装置２の構成例を示す図である。
【発明を実施するための形態】
【００３９】
以下、図面を参照して、本発明の一実施形態による映像符号化ストリーム生成方法、装置を説明する。本実施形態では、上記課題を解決するために、符号量の条件を満足する分解パラメータと量子化パラメータの組み合わせを先に全て求め、これらについてのみ信号分解と符号化を実行する。
【００４０】
以下、前述の分解パラメータと量子化パラメータの組み合わせを求める方法について説明する。まず入力として対象映像Ｉ、所望の符号量Ｂｔａｒｇｅｔの他、圧縮因子Ｃという４行３列行列が必要である。この圧縮因子は映像の形式（映像サイズ、色フォーマット、フレームレート、フレーム数）により定まる定数値で、複数の映像を用いた学習で算出することが可能である。
【００４１】
始めに、予め定められたＭ個の分解パラメータθｍ（ｍ＝１，…，Ｍ）と量子化パラメータＱＰｍ（ｍ＝１，…，Ｍ）を使って、対象映像ＩのＴＶ−Ｌ１信号分解とＨＥＶＣによる符号化を行い、Ｍ個の発生符号量Ｂｍ（ｍ＝１，…，Ｍ）を算出する。ここでのＭは、例えば２や３などの少ない数を選択することができる。また、分解パラメータと量子化パラメータから特徴ベクトルｆｍ＝（１，θｍ，ＱＰｍ，θｍＱＰｍ）Ｔ（ｍ＝１，…，Ｍ）を算出する。
【００４２】
特徴ベクトルｆｍと発生符号量Ｂｍ、圧縮因子Ｃを用いて、誤差ｅｍ＝ｌｏｇ１０Ｂｍ−ｆＴｍＣ（ｐ１，ｐ２，１）Ｔ（ｍ＝１，…，Ｍ）の二乗和ΣＭｍ＝１ｅ２ｍが最小となるような実数ｐ１，ｐ２を求める。例えばこれは最小二乗法により求めることができる。続いて、圧縮因子Ｃとｐ１，ｐ２から、４次元ベクトルａ＝（ａ１，ａ２，ａ３，ａ４）Ｔ＝Ｃ（ｐ１，ｐ２，１）Ｔを求める。以降はこの４次元ベクトルａ＝（ａ１，ａ２，ａ３，ａ４）Ｔをモデル係数と呼ぶ。
【００４３】
モデル係数ａ＝（ａ１，ａ２，ａ３，ａ４）Ｔと所望の符号量Ｂｔａｒｇｅｔから、＾θｑ（＾はこれに続く文字の上に付く、以下同様）＝（ｌｏｇ１０Ｂｔａｒｇｅｔ−ａ１−ａ３ｑ）／（ａ２＋ａ４ｑ）にｑ＝０，１，…、５１と順に代入した（＾θｑ，ｑ）（ｑ＝０，…、５１）は、符号量の条件を満足する分解パラメータと量子化パラメータの組み合わせの全てである。
【００４４】
以上より、符号量の条件を満足する分解パラメータと量子化パラメータの組み合わせ（＾θｑ，ｑ）（ｑ＝０，…、５１）は全て求まっているため、これらについて対象映像ＩのＴＶ−Ｌ１信号分解とＨＥＶＣによる符号化を行い、５２個の所望のストリームを生成することが可能である。
【００４５】
以下、本発明の実施の形態について、図面を参照して説明する。この実施形態では、学習用の映像集合を与えることで、事前に圧縮因子Ｃを算出している。その後本実施形態の処理によって求まる符号量条件を満たしたストリームの集合をＳＳＩＭで評価し、最良の評価をもつストリームのみを出力する。また、本実施形態中のモデルパラメータを求める箇所では最小二乗法を用いている。
【００４６】
図１は、所望符号量を満足して最も評価の高いストリームを出力する処理を実現するためのストリーム出力装置１の構成を示すブロック図である。図１に示すストリーム出力装置１は、事前学習部１１、ストリーム出力部１２、高評価ストリーム出力部１３から構成されている。図１に示すストリーム出力装置１は、例えばコンピュータ装置などで構成する。
【００４７】
事前学習部１１は、ストリーム出力装置１の入力である学習用の映像の集合から圧縮因子を算出して、ストリーム出力部１２に送る。
【００４８】
ストリーム出力部１２は、事前学習部１１から送られてくる圧縮因子と、ストリーム出力装置１の入力である所望符号量と対象映像から、所望符号量を満足するストリームの集合を、高評価ストリーム出力部１３に送る。
【００４９】
高評価ストリーム出力部１３は、前述の図９に示す高評価ストリーム出力部２２と全く同じ動作をするため、ここでは、詳細な説明を省略する。
【００５０】
次に、図２を参照して、図１に示すストリーム出力装置１が、所望符号量を満足して最も評価の高いストリームを出力する動作を説明する。図２は、図１に示すストリーム出力装置１の処理動作を示すフローチャートである。
【００５１】
処理が開始されると、まず事前学習部１１は、学習用の映像集合を用いて圧縮因子Ｃを算出する（ステップＳ１１）。学習用の映像集合とは、対象映像と同一の映像形式（映像サイズ、色フォーマット、フレームレート、フレーム数）をもつ複数の映像の集合であり、圧縮因子Ｃとは、映像形式によって定まる４行３列の実数値行列である。
【００５２】
次に、ストリーム出力部１２は、この圧縮因子Ｃを用いて、対象映像Ｉが所望符号量Ｂｔａｒｇｅｔを達成しているストリームの集合を全て求める（ステップＳ１２）。
【００５３】
最後に、高評価ストリーム出力部１３は、最も評価の高いストリームを集合の中から選択し、これをストリーム出力装置１の出力として、処理を終了する（ステップＳ１３）。
【００５４】
図３は、図１に示す事前学習部１１の詳細な構成を示すブロック図である。図３は圧縮因子を事前学習する処理を実現するための、事前学習部１１の構成を示している。事前学習部１１は、学習映像バッファ１１０１、ＴＶ−Ｌ１信号分解部１１０２、ＨＥＶＣ符号化部１１０３、分解パラメータ生成部１１０４、量子化パラメータ生成部１１０５、モデル係数算出部１１０６、主成分情報算出部１１０７、圧縮因子算出部１１０８から構成されている。
【００５５】
学習映像バッファ１１０１は、入力した学習用映像の集合Ｉｎ（ｎ＝１，…、Ｎ）を映像Ｉ１から順番にＴＶ−Ｌ１信号分解部１１０２に送る。分解パラメータ生成部１１０４から映像変更制御信号が送られてくる毎に、送信映像を１つインクリメントする。全ての学習映像を送信後に映像変更制御信号が送られてきたときはバッファ終了制御信号を主成分情報算出部１１０７に送る。
【００５６】
ＴＶ−Ｌ１信号分解部１１０２は、学習映像バッファ１１０１から送られてくる映像を、分解パラメータ生成部１１０４から送られてくる分解パラメータθを用いてＴＶ−Ｌ１信号分解し、フィルタ出力をＨＥＶＣ符号化部１１０３に送る。分解は分解パラメータθが変更する度に開始され、分解が終了するごとに分解終了制御信号を量子化パラメータ生成部１１０５に送る。
【００５７】
ＨＥＶＣ符号化部１１０３は、ＴＶ−Ｌ１信号分解部１１０２から送られてくるフィルタ出力を、量子化パラメータ生成部１１０５から送られてくる量子化パラメータＱＰを用いてＨＥＶＣで符号化し、そのストリームの発生符号量Ｂをモデル係数算出部１１０６に送る。符号化は符号化パラメータＱＰが変更される度に開始され、符号化が終了する毎に符号化終了制御信号を量子化パラメータ生成部１１０５に送る。
【００５８】
分解パラメータ生成部１１０４は、予め決められた分解パラメータの集合θｋ（ｋ＝１，…，Ｋ）をθ１から順番に、ＴＶ−Ｌ１信号分解部１１０２とモデル係数算出部１１０６に送る。量子化パラメータ生成部１１０５から分解パラメータ変更制御信号が送られてくるごとに、送信する分解パラメータを１つインクリメントする。最後の分解パラメータθｋを送信中に分解パラメータ制御信号が送られてきたときは、学習映像バッファ１１０１とモデル係数算出部１１０６に映像変更制御信号を送り、送信する分解パラメータをθ１に戻す。
【００５９】
量子化パラメータ生成部１１０５は、予め決められた量子化パラメータの集合ＱＰｌ（ｌ＝１，…，Ｌ）を順番に、ＨＥＶＣ符号化部１１０３とモデル係数算出部１１０６に送る。初期値をＦＡＬＳＥとするフラグ変数ｆｌａｇを持っており、ＦＡＬＳＥのときは量子化パラメータを送らない。ＴＶ−Ｌ１信号分解部１１０２から分解終了制御信号を送られたときにｆｌａｇ＝ＴＲＵＥと設定し、量子化パラメータをＱＰ１に設定して送信する。ｆｌａｇがＴＲＵＥのときにＨＥＶＣ符号化部１１０３から符号化終了制御信号が送られてくる毎に、送信する量子化パラメータを１つ繰り上げる。最後の量子化パラメータＱＰＬを送信中に符号化終了制御信号が送られたときはｆｌａｇ＝ＦＡＬＳＥと設定し、分解パラメータ生成部１０４に分解パラメータ変更制御信号を送る。
【００６０】
モデル係数算出部１１０６は、分解パラメータ生成部１１０４から送られてくる分解パラメータと、量子化パラメータ生成部１１０５から送られてくる量子化パラメータから計算できる特徴ベクトルｆｋ，ｌ＝（１，θｋ、ＱＰｌ，θｋＱＰｌ）Ｔと、ＨＥＶＣ符号化部１１０３から送られてくる発生符号量Ｂｎ，ｋ，ｌの組み合わせ（ｆｋ，ｌ，Ｂｎ，ｋ，ｌ）（ｋ＝１，…，Ｋ，ｌ＝１，…，Ｌ）を順に保持する。分解パラメータ生成部１１０４から映像変更制御信号が送られてくるたびに、誤差ｅｎ，ｋ，ｌ＝ｌｏｇ１０Ｂｎ，ｋ，ｌ−ｆＴｋ，ｌαｎ（ｋ＝１，…，Ｋ，ｌ＝１，…，Ｌ）の二乗和ΣＫｋ＝１ΣＬｌ＝１ｅ２ｎ，ｋ，ｌが最小となるような４次元ベクトルであるモデル係数αｎを算出し、主成分情報算出部１１０７に送信する。モデル係数αｎは学習用の画像集号の数と同じＮ個算出される。
【００６１】
主成分情報算出部１１０７は、モデル係数算出部１１０６より送られてくるモデル係数αｎ（ｎ＝１，…，Ｎ）を順に保持する。学習映像バッファ１１０１よりバッファ終了制御信号が送られてきたとき、主成分分析を用いて平均ベクトル￣αと第１主成分ｕ１、第２主成分ｕ２、第１主成分の大きさσ１、第２主成分の大きさσ２を求める。これは例えば、αｎ（ｎ＝１，…，Ｎ）の分散共分散行列Ｓの対角化Ｓ＝Σ４ｉ＝１σ２ｉｕｉｕＴｉ＝Ｕｄｉａｇ（σ）２ＵＴから求めることができる。ここでＵはベクトルｕ１，ｕ２を並べた行列で、σはσ１，σ２を並べたベクトルである。主成分情報￣α，ｕ１，ｕ２，σ１，σ２を圧縮因子算出部１１０８に送る。
【００６２】
圧縮因子算出部１１０８は、主成分情報算出部１１０７より送られてくる￣α，ｕ１，ｕ２，σ１，σ２からｖ１＝σ１ｕ１，ｖ２＝σ２ｕ２を計算し、圧縮因子Ｃ＝［ｖ１  ｖ２  ￣ａ］を算出して事前学習部１１の出力として送る。
【００６３】
次に、図４を参照して、図３に示す事前学習部１１の処理動作（図１に示すステップＳ１１）の具体的な処理方法について説明する。図４は、図３に示す事前学習部１１の処理動作（図１に示すステップＳ１１）の具体的な処理動作を示すフローチャートである。
【００６４】
まず以下の処理（ステップＳ１１０２〜Ｓ１１０９）をそれぞれの学習映像Ｉｎ（ｎ＝１，…，Ｎ）について繰り返し行う（ステップＳ１１０１）。続いて以下の処理（ステップＳ１１０３〜Ｓ１１０７）を予め決められたＫ個の異なる分解パラメータθｋ（ｋ＝１，…，Ｋ）について繰り返し行う（ステップＳ１１０２）。ＴＶ−Ｌ１信号分解部１１０２は、このときの学習映像Ｉｎと分解パラメータθｋを使ってＴＶ−Ｌ１信号分解し、フィルタ出力を生成する（ステップ１１０３）。
【００６５】
続いて、以下の処理（ステップＳ１１０５，Ｓ１１０６）を予め決められたＬ個の異なる量子化パラメータＱＰｌ（ｌ＝１，…，Ｌ）について繰り返し行う（ステップＳ１１０４）。ＨＥＶＣ符号化部１１０３は、このときのＱＰｌを用いてフィルタ出力をＨＥＶＣで符号化し、その符号量Ｂｎ，ｋ，ｌを算出する（ステップＳ１１０５）。続いて、モデル係数算出部１１０６は、特徴ベクトルｆｋ，ｌ＝（１，θｋ，ＱＰｌ，θｋＱＰｌ）Ｔを算出する（ステップＳ１１０６）。
【００６６】
全ての量子化パラメータＱＰｌ（ｌ＝１，…，ｌ）についての反復が終了したらステップ１１０８へ進む（ステップＳ１１０７）。さらに全ての分解パラメータθｋ（ｋ＝１，…，Ｋ）について反復が終了したらステップＳ１１０９へ進む（ステップＳ１１０８）。
【００６７】
次に、モデル係数算出部１１０６符号量Ｂｎ，ｋ，ｌと特徴ベクトルｆｋ，ｌ用いて、誤差ｅｎ，ｋ，ｌ＝ｌｏｇ１０Ｂｎ，ｋ，ｌ−ｆＴｋ，ｌαｎの二乗和ΣＫＫ＝１ΣＬｌ＝１ｅ２ｎ，ｋ，ｌが最小になるような４次元実数値ベクトルαｎを求める（ステップＳ１１０９）。
【００６８】
全ての学習映像Ｉｎについての反復が終了したらステップＳ１１１１へ進む（ステップＳ１１１０）。
【００６９】
次に、主成分情報算出部１１０７が、以上ステップＳ１１０１〜Ｓ１１１０で求まった４次元ベクトルの集合ａｎ（ｎ＝１，…，Ｎ）を主成分分析して、平均ベクトル￣αと第１主成分ｕ１、第２主成分ｕ２、第１主成分の大きさσ１、第２主成分の大きさσ２を求める。これは例えば、αｎ（ｎ＝１，…，Ｎ）の分散共分散行列Ｓの対角化Ｓ＝Σ４ｉ＝１σｉ２ｕｉｕｉＴ＝Ｕｄｉａｇ（σ）２ＵＴから求める事ができる（ステップＳ１１１１）。
【００７０】
そして、主成分情報算出部１１０７は、ｖ１＝σ１ｕ１，ｖ２＝σ２ｕ２を計算し、圧縮因子Ｃ＝［ｖ１  ｖ２  ￣α］を出力して終了する（ステップＳ１１１２）。
【００７１】
次に、図５を参照して、図１に示すストリーム出力部１２の詳細な構成を説明する。図５は、図１に示すストリーム出力部１２の詳細な構成を示すブロック図である。図５は、図１に示すストリーム出力部１２が、所望符号量を満足するストリームを圧縮因子を用いて全て出力する処理を実現するための構成を示している。ストリーム出力部１２は、ＴＶ−Ｌ１信号分解部１２０１、ＨＥＶＣ符号化部１２０２、スイッチ１２０３、スイッチ１２０４、テスト用パラメータ算出部１２０５、モード切替判定部１２０６、モデル係数算出部１２０７、制御パラメータ算出部１２０８、スイッチ１２０９から構成されている。
【００７２】
ＴＶ−Ｌ１信号分解部１２０１は、図９に示すＴＶ−Ｌ１信号分解部２１０１と全く同じ動作をするため、ここでは、詳細な説明を省略する。
【００７３】
ＨＥＶＣ符号化部１２０２は、図９に示すＨＥＶＣ符号化部２１０２と全く同じ動作をするため、ここでは、詳細な説明を省略する。
【００７４】
スイッチ１２０３は、モード切替判定部１２０６から送られてくるスイッチ制御信号により、端子ａ／端子ｂを切り替える。初期値は端子ａとなっており、テスト用パラメータ算出部１２０５からテスト用分解パラメータを送られる。スイッチ切替制御信号により端子ｂに接続された後は、制御パラメータ算出部１２０８から条件を満足する分解パラメータを送られる。送られた分解パラメータはＴＶ−Ｌ１信号分解部１２０１に送信する。
【００７５】
スイッチ１２０４は、モード切替判定部１２０６から送られてくるスイッチ制御信号により、端子ａ／端子ｂを切り替える。初期値は端子ａとなっており、テスト用パラメータ算出部１２０５からテスト用量子化パラメータを送られる。スイッチ切替制御信号により端子ｂに接続された後は、制御パラメータ算出部１２０８から条件を満足する量子化パラメータを送られる。送られた量子化パラメータはＨＥＶＣ符号化部１２０２に送信する。
【００７６】
テスト用パラメータ算出部１２０５は、予め用意したＭ組のテスト用の分解パラメータθｍ（ｍ＝１，…，Ｍ）と量子化パラメータＱＰｍ＝（ｍ＝１，…，Ｍ）を、それぞれスイッチ１２０３とスイッチ１２０４に送る。初期値としてそれぞれθ１とＱＰ１を送信し、ＨＥＶＣ符号化部からの符号化終了制御信号が送られるたびにパラメータをインクリメントとする。最後のパラメータθＭとＱＰＭをそれぞれ送信しているときにＨＥＶＣ符号化部１２０２から符号化終了制御信号が送られたときは、モード切替判定部１２０６にテストパラメータ終了制御信号を送信する。
【００７７】
モード切替判定部１２０６は、テスト用パラメータ算出部１２０５よりパラメータ終了制御信号が送られた後にＨＥＶＣ符号化部１２０２から符号化終了制御信号が送られたとき、スイッチ１２０３、スイッチ１２０４、スイッチ１２０９、モデル係数算出部１２０７にモード切替制御信号を一度だけ送る。これにより、スイッチ１２０３、スイッチ１２０４、スイッチ１２０９のスイッチは最初の端子ａへの接続から端子ｂへの接続に切り替わり、モデル係数算出部１２０７はモデル係数の算出を開始する。
【００７８】
モデル係数算出部１２０７は、テスト用パラメータ算出部１２０５から送られるテスト用分解パラメータθｍ、テスト用量子化パラメータＱＰｍ、ＨＥＶＣ符号化部１２０２より送られる発生符号量Ｂｍを、組（θｍ，ＱＰｍ，Ｂｍ）（ｍ＝１，…，Ｍ）として保持する。また、分解パラメータθｍと量子化パラメータＱＰｍから特徴ベクトルｆｍ＝（１，θｍ，ＱＰｍ，θｍＱＰｍ）Ｔを計算しておく。加えて、ストリーム出力１２の入力である圧縮因子Ｃが送られている。モード切替判定部１２０６よりモード切替制御信号が送られたとき、特徴ベクトルｆｍと発生符号量Ｂｍと、圧縮因子Ｃを用いて、誤差ｅｍ＝ｌｏｇ１０Ｂｍ−ｆＴｍＣ（ｐ１，ｐ２，１）Ｔ（ｍ＝１，…，Ｍ）の二乗和ΣＭｍ＝１ｅ２ｍが最小となるような実数ｐ１，ｐ２を最小二乗法を用いて算出する。これに圧縮因子Ｃを再度用いて、４次元ベクトルであるモデル係数ａ＝（ａ１，ａ２，ａ３，ａ４）Ｔ＝Ｃ（ｐ１，ｐ２，１）Ｔを算出する。このモデル係数ａを制御パラメータ算出部１２０８に送る。
【００７９】
制御パラメータ算出部１２０８はまず、モデル係数算出部１２０７から送られるモデル係数ａ＝（ａ１，ａ２，ａ３，ａ４）Ｔと、ストリーム出力部１２の入力である所望符号量Ｂｔａｒｇｅｔから、条件を満足する分解パラメータと量子化パラメータの組（＾θ，ｑ）（ｑ＝０，…，５１）を全て算出する。算出式は＾θｑ＝（ｌｏｇ１０Ｂｔａｒｇｅｔ−ａ１−ａ３ｑ）／（ａ２＋ａ４ｑ）である。この分解パラメータ＾θｑと量子化パラメータｑをそれぞれスイッチ１２０３とスイッチ１２０４に１組ずつ送り出す。ＨＥＶＣ符号化部１２０２から符号化終了制御信号が送られるごとに、送り出す＾θｑとｑを１つインクリメントする。
【００８０】
スイッチ１２０９はＨＥＶＣ符号化部１２０２から送られてくるストリームを、スイッチのＯＮ／ＯＦＦの状態に応じて、ストリーム出力部１２の出力として送信する。スイッチの状態は初期はａ：ＯＦＦとなっていて、モード切替判定部１２０６よりモード切替制御信号が送られたときに、状態ｂ：ＯＮに切り替わる。
【００８１】
次に、図６を参照して、図５に示すストリーム出力部１２の処理動作を説明する。図６は、図５に示すストリーム出力部１２が、所望符号量を満足するストリームを圧縮因子を用いて全て出力する処理動作を示すフローチャートである。
【００８２】
まず以下の処理を（ステップＳ１２０２〜Ｓ１２０４）を予め決められたＭ≧２個の分解パラメータθｍ（ｍ＝１，…，Ｍ）と量子化パラメータＱＰｍ（ｍ＝１，…，Ｍ）について繰り返す（ステップＳ１２０１）。
【００８３】
続いて、ＴＶ−Ｌ１信号分解部１２０１は、対象映像Ｉを分解パラメータθｍを使ってＴＶ−Ｌ１信号分解をし、フィルタ出力を生成する（ステップＳ１２０２）。続いて、ＨＥＶＣ符号化部１２０２は、量子化パラメータＱＰｍを用いてフィルタ出力をＨＥＶＣで符号化し、その符号量Ｂｍを算出する（ステップＳ１２０３）。また、ＨＥＶＣ符号化部１２０２は、特徴ベクトルｆｍ＝（１，θｍ，ＱＰｍ，θｍＱＰｍ）Ｔを算出する（ステップＳ１２０４）。
【００８４】
全ての分解パラメータθｍ（ｍ＝１，…，Ｍ）と量子化パラメータＱＰｍ（ｍ＝１，…，Ｍ）についての反復が終了したらステップＳ１２０６へ進む（ステップＳ１２０５）。
【００８５】
次に、モデル係数算出部１２０７は、以上の処理（ステップＳ１２０１〜Ｓ１２０５）で算出した発生符号量Ｂｍ（ｍ＝１，…，Ｍ）と特徴ベクトルｆｍ（ｍ＝１，…，Ｍ）、圧縮因子Ｃを用いて、誤差ｅｍ＝ｌｏｇ１０Ｂｍ−ｆＴｍＣ（ｐ１，ｐ２，１）Ｔ（ｍ＝１，…，Ｍ）の二乗和ΣＭｍ＝１ｅ２ｍが最小となるような実数ｐ１，ｐ２を、最小二乗法により求める。続いて、モデル係数算出部１２０７は、４次元ベクトルａ＝Ｃ（ｐ１，ｐ２，１）Ｔを計算して、モデル係数ａ＝（ａ１，ａ２，ａ３，ａ４）Ｔを算出する（ステップＳ１２０６）。
【００８６】
次に、所望符号量Ｂｔａｒｇｅｔを達成するパラメータの組（＾θｑ，ｑ）（ｑ＝０，…，５１）を、＾θｑ＝（ｌｏｇ１０Ｂｔａｒｇｅｔ−ａ１−ａ３ｑ）／（ａ２＋ａ４ｑ）の計算式で求める（ステップＳ１２０７）。
【００８７】
次に、制御パラメータ算出部１２０８は、以下の処理（ステップＳ１２０９，Ｓ１２１０）を全てのパラメータの組（＾θｑ，ｑ）（ｑ＝０，…，５１）について繰り返す（ステップＳ１２０８）。続いて、ＴＶ−Ｌ１信号分解部１２０１は、対象映像Ｉを分解パラメータ＾θｑを使ってＴＶ−Ｌ１信号分解をし、フィルタ出力を生成する（ステップＳ１２０９）。
【００８８】
次に、ＨＥＶＣ符号化部１２０２は、量子化パラメータｑを用いてフィルタ出力をＨＥＶＣで符号化し、ストリーム符号量Ｓｑを算出する（ステップＳ１２１０）。
【００８９】
全てのパラメータの組（＾θｑ，ｑ）（ｑ＝０，…，５１）についての反復が終了したらステップＳ１２１２へ進む（ステップＳ１２１１）。スイッチ１２０９は、ストリームの集合Ｓｑ（ｑ＝０，…，５１）を出力して終了する（ステップＳ１２１２）。
【００９０】
次に、図１に示す高評価ストリーム出力部１３の構成を説明する。図１に示す高評価ストリーム出力部１３の構成は、図９に示す高評価ストリーム出力部２２と同様の構成であるため、ここでは、詳細な説明を省略する。
【００９１】
次に、図７を参照して、図１に示す高評価ストリーム出力部１３の処理動作を説明する。図７は、図１に示す高評価ストリーム出力部１３の処理動作を示すフローチャートである。図７に示すステップＳ１３０１〜Ｓ１３０５の処理は、図８におけるステップＳ２０６〜Ｓ２１０の処理と全く同様であるため、ここでは、簡単に説明を行う。
【００９２】
まず、以下の処理（ステップＳ１３０２、Ｓ１３０３）を全ての選出したストリームＳｑ（ｑ＝０，…，５１）について繰り返す（ステップＳ１３０１）。ストリームＳｑをＨＥＶＣでデコードし（ステップＳ１３０２）、対象映像Ｉを基準に復号映像のＳＳＩＭ評価値を計算する（ステップＳ１３０３）。
【００９３】
全てのストリームＳｑ（ｑ＝０，…，５１）についての反復が終了したらステップＳ１３０５へ進む（ステップＳ１３０４）。最も高いＳＳＩＭの評価値を出したストリームを出力して終了する（ステップＳ１３０５）。
【００９４】
このように、プレフィルタリングを用いて所望の符号量を満足する映像符号化ストリームを生成する際に、学習映像から求めた圧縮因子を用いて所望の符号量を満足する分解パラメータと量子化パラメータの組を求めることにより、所望の符号量を満足する分解パラメータと量子化パラメータの組を求める計算時間を削減することが可能となる。この構成によれば、所望符号量を満足する最良評価のストリームを出力する処理により、所望符号量を満足する最良評価のストリームを出力することができるようになる。
【００９５】
以上説明したように、符号量条件を満足する分解パラメータと量子化パラメータを求めるまでに、計算量の大きいＴＶ−Ｌ１信号分解処理とＨＥＶＣによる符号化処理の実行回数を非常に少ない回数におさえることができため、全体の計算時間を大幅に削減することができる。また、プレフィルタリングによる情報削減による映像符号化技術を採用するようにしたため、所望符号量を満足する映像符号化ストリームを全て生成することができるようにした分解パラメータと量子化パラメータを決定することができるようになる。
【００９６】
前述した実施形態におけるストリーム出力装置１の全部または一部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて実現されるものであってもよい。
【００９７】
以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行ってもよい。
【産業上の利用可能性】
【００９８】
計算時間を削減しながら、条件を満足するストリームの集合を出力することが不可欠な用途に適用できる。
【符号の説明】
【００９９】
１・・・ストリーム出力装置、１１・・・事前学習部、１１０１・・・学習映像バッファ、１１０２・・・ＴＶ−Ｌ１信号分解部、１１０３・・・ＨＥＶＣ符号化部、１１０４・・分解パラメータ生成部、１１０５・・・量子化パラメータ生成部、１１０６・・・モデル係数算出部、１１０７・・主成分情報算出部、１１０８・・・圧縮因子算出部、１２・・・ストリーム出力部、１２０１・・ＴＶ−Ｌ１信号分解部、１２０２・・・ＨＥＶＣ符号化部、１２０３、１２０４、１２０９・・・スイッチ、１２０５・・・テスト用パラメータ算出部、１２０６・・・モード切替判定部、１２０７・・・モデル係数算出部、１２０８・・・制御パラメータ算出部、１３・・・高評価ストリーム出力部
【図１】
0006317272.tif 000002
【図２】
0006317272.tif 000003
【図３】
0006317272.tif 000004
【図４】
0006317272.tif 000005
【図５】
0006317272.tif 000006
【図６】
0006317272.tif 000007
【図７】
0006317272.tif 000008
【図８】
0006317272.tif 000009
【図９】
0006317272.tif 000010