(57)【特許請求の範囲】
【請求項１】
少なくとも２回の符号化によって動画像を符号化する動画像符号化方法において、
フレーム単位で入力される入力動画像信号を固定フレームレートで符号化してフレーム毎の発生符号量を含む統計データを生成する第１符号化ステップと、
前記統計データに従って前記入力動画像信号のシーケンス全体にわたり各フレームに対する符号量割り当て及び量子化スケール割り当ての少なくとも一方を決定するステップと、
前記統計データから仮想受信バッファの占有量の時間変化を推定し、該時間変化から前記仮想受信バッファのアンダーフローの発生を推定するステップと、
前記アンダーフローの発生が推定される場合に前記入力動画像信号のシーケンス全体にわたりアンダーフローの発生が推定されるフレーム、または該アンダーフローの発生が推定されるフレームより時間的に遡ったフレームをスキップフレームとして決定するステップと、
前記符号量割り当て及び量子化スケール割り当ての少なくとも一方と決定された前記スキップフレームに従って前記入力動画像信号を符号化して符号列を生成する第２符号化ステップとを有する動画像符号化方法。
【請求項２】
前記符号量割り当て及び量子化スケール割り当ての少なくとも一方を決定するステップは、前記第２符号化ステップが可変ビットレートの符号化を行うように前記符号量割り当て及び量子化スケール割り当ての少なくとも一方を決定する請求項１記載の動画像符号化方法。
【請求項３】
前記第１符号化ステップ及び第２符号化ステップは、フレーム毎に符号化タイプを選択可能であり、前記入力動画像信号の同一フレームに対する前記第１符号化ステップ及び第２符号化ステップにおける符号化タイプを一致させることを特徴とする請求項１記載の動画像符号化方法。
【請求項４】
少なくとも２回の符号化によって動画像を符号化する動画像符号化装置において、
フレーム単位で入力される入力動画像信号を符号化する符号化部と、
前記符号化部が前記入力動画像信号を固定フレームレートで符号化したときのフレーム毎の発生符号量を含む統計データに従って、前記入力動画像信号のシーケンス全体にわたり各フレームに対する符号量割り当て及び量子化スケール割り当ての少なくとも一方を決定する手段と、
前記統計データから仮想受信バッファの占有量の時間変化を推定し、該時間変化から前記仮想受信バッファのアンダーフローの発生を推定する手段と、
前記アンダーフローの発生が推定される場合に前記入力動画像信号のシーケンス全体にわたりアンダーフローの発生が推定されるフレーム、または該アンダーフローの発生が推定されるフレームより時間的に遡ったフレームをスキップフレームとして決定する手段とを備え、
前記符号化部が前記符号量割り当て及び量子化スケール割り当ての少なくとも一方と決定された前記スキップフレームに従って前記入力動画像信号を符号化したときに生成される符号列を符号化データとして出力する動画像符号化装置。
【請求項５】
少なくとも２回の符号化によって動画像を符号化する処理をコンピュータに実行させるためのプログラムであって、
フレーム単位で入力される入力動画像信号を固定フレームレートで符号化してフレーム毎の発生符号量を含む統計データを生成する処理と、
前記統計データに従って前記入力動画像信号のシーケンス全体にわたり各フレームに対する符号量割り当て及び量子化スケール割り当ての少なくとも一方を決定する処理と、
前記統計データから仮想受信バッファの占有量の時間変化を推定し、該時間変化から前記仮想受信バッファのアンダーフローの発生を推定する処理と、
前記アンダーフローの発生が推定される場合に前記入力動画像信号のシーケンス全体にわたりアンダーフローの発生が推定されるフレーム、または該アンダーフローの発生が推定されるフレームより時間的に遡ったフレームをスキップフレームとして決定する処理と、
前記符号量割り当て及び量子化スケール割り当ての少なくとも一方と決定された前記スキップフレームに従って前記入力動画像信号を符号化して符号列を生成する処理とをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術の分野】
本発明は、少なくとも２回の符号化により動画像を符号化する動画像符号化システムにおいて、特に１回目の符号化結果によって入力動画像の統計的性質を分析し、その分析結果に基づいて２回目の符号化を行う動画像符号化方法及び装置に関する。
【０００２】
【従来の技術】
ＤＶＤ(Digital Versatile Disc)に代表されるような可変レートのデータ読み出しが可能な蓄積メディアでは、動画像信号を記録する際に可変ビットレートの動画像符号化を用いることで、一定のディスク容量の中で高能率な動画像圧縮を実現している。例えば、ＤＶＤではＭＰＥＧ２（Moving Picture Experts Group phase 2）動画像符号化方式が採用されている。
【０００３】
ＭＰＥＧ２では、エントロピー符号化を用いているため、入力動画像の解像度や動きの激しさ等に応じて、一定の画質を得るための必要な符号量が異なってくる。従って動画像の性質に合わせてビットレートを変動させることで、固定ビットレートの符号化に比べて、平均ビットレートを下げることが可能となり、総符号量を削減することが可能となる。
【０００４】
ＤＶＤのような蓄積メディアへの記録のための動画像符号化では、最適なビット配分を実現するため、２回の符号化により動画像を符号化する、いわゆる２パス符号化がしばしば行われる。例えば、特開平８−１８６８２１には、１回目の符号化によってフレーム単位の統計データを取得し、それに基づいて動画像シーケンス全体にわたってフレーム単位の符号量割り当てを行い、可変ビットレートによる２回目の符号化を行う技術が開示されている。
【０００５】
インターネットやモバイル端末での動画像伝送をターゲットとして、ＤＶＤの記録ビットレートよりも低ビットレートで動画像信号を符号化することを目的としたＭＰＥＧ４（Moving Picture Experts Group phase 4）動画像符号化方式が１９９９年に規格化された。ＭＰＥＧ４は、ＭＰＥＧ２に比べて圧縮効率の向上やエラー耐性の強化、オブジェクト符号化に代表されるアプリケーションの多様性など、様々な機能拡張がなされた動画像符号化方式である。ＭＰＥＧ２では、ＴＶ信号やシネフィルムを想定した固定フレームレートでの符号化が基本となっているのに対して、ＭＰＥＧ４では低レートの符号化を実現するため、フレームスキップを用いることで任意のフレームレートでの符号化が可能となっている。
【０００６】
ＭＰＥＧ４動画像符号化方式では、フレームレートをいかに動的に制御するかが、同じ平均ビットレートの下での画質の良否に大きく影響する。例えば、特開２０００−３５０２１１に示されるように、入力画像の動きの有無などを事前に検出し、シーン毎にフレームレートを変更して符号化を行う方法などが知られている。
【０００７】
ＭＰＥＧ２およびＭＰＥＧ４動画像符号化方式では、ＶＢＶ(Video Buffering Verifier)と呼ばれる、仮想デコーダにおける受信バッファモデルにおいて、バッファのアンダーフローやオーバーフローが発生しないように、レート制御を伴って符号化を行うことが要求されている。しかし、特開２０００−３５０２１１では、ＶＢＶの管理が考慮されていない。
【０００８】
また、ＶＢＶの動作はフレームを単位とするバッファ変動モデルであるため、ＶＢＶの制御と高能率符号化のための符号量割り当てを実現するには、フレーム単位の発生符号量を正確に推定する必要がある。ＭＰＥＧ２やＭＰＥＧ４では、フレーム間予測符号化が行われるため、フレームスキップがある場合、予測画像と参照画像とのフレーム間隔が大きくなり、予測効率が低下して符号化効率が低下する場合がある。従って、１回目の符号化と２回目の符号化においてフレームスキップの位置が異なると、１回目の符号化で２回目の符号化における発生符号量を予測することが直接的には困難となる。
【０００９】
【発明が解決しようとする課題】
上述したように従来の２パス符号化による動画像符号化技術においては、２回目の符号化でフレームレート可変のフレーム間予測符号化を行う場合、ＶＢＶ管理の下で正確かつ最適な符号量割り当てを行うことが困難であるという問題があった。
【００１０】
本発明は、フレームレート可変のフレーム間予測符号化において最適な符号量割り当ての両立を可能とする、２パス符号化による高能率の動画像符号化方法及び装置を提供することを主たる目的とする。
【００１１】
本発明の他の目的は、２パスの符号化において正確なＶＢＶ管理と最適な符号量割り当ての両立を可能とすることにある。
【００１２】
【課題を解決するための手段】
上記課題を解決するため、本発明は少なくとも２回の符号化によって動画像を符号化する動画像符号化において、フレーム単位で入力される入力動画像信号を固定フレームレートで符号化してフレーム毎の発生符号量を含む統計データを生成する第１符号化を行う。次に、第１符号化で生成された統計データに従って各フレームに対する符号量割り当て及び量子化スケール割り当ての少なくとも一方を決定し、さら各フレームのフレームスキップの実行の有無を示すフレームスキップ割り当てを決定する。こうして決定された符号量割り当て及び量子化スケール割り当ての少なくとも一方とフレームキップ割り当てに従って入力動画像信号を符号化して符号列を生成する第２符号化を行う。
【００１３】
また、本発明によると少なくとも２回の符号化によって動画像を符号化する処理をコンピュータに実行させるためのプログラムであって、フレーム単位で入力される入力動画像信号を固定フレームレートで符号化してフレーム毎の発生符号量を含む統計データを生成する処理と、前記統計データに従って各フレームに対する符号量割り当て及び量子化スケール割り当ての少なくとも一方を決定する処理と、前記統計データに従って各フレームのフレームスキップの実行の有無を示すフレームスキップ割り当てを決定する処理と、前記符号量割り当て及び量子化スケール割り当ての少なくとも一方と前記フレームキップ割り当てに従って前記入力動画像信号を符号化して符号列を生成する処理とをコンピュータに実行させるためのプログラムが提供される。
【００１４】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
図１は、本発明の一実施形態に係る動画像符号化装置の概略的な構成を示すブロック図である。この動画像符号化装置は、全体がハードウェアにより実現されていてもよいが、一部または全部がコンピュータにによるソフトウェア処理によって実現されてもよい。
【００１５】
図１において、蓄積メディア１は例えばハードディスクやディジタルＶＴＲであり、この蓄積メディア１から再生される動画像信号（映像信号）は符号化部２に符号化対象の画像信号（入力動画像信号という）として入力される。符号化部２は、例えばＭＰＥＧ４方式に基づく動画像符号化器（ＭＰＥＧ４エンコーダ）によって構成される。符号化部２は、蓄積メディア１から繰り返し再生される同じ動画像シーケンスの入力動画像信号を少なくとも２回符号化することによって最終的な符号化データを出力する。
【００１６】
符号化部２においては、まず１回目の符号化（以下、第１符号化という）において入力動画像信号のフレーム毎の符号化特性を反映した統計データが抽出される。この統計データは、符号化特性推定部３に入力される。符号化特性推定部３では、入力された統計データに基づき符号化部２の後述する符号化特性が推定される。
【００１７】
符号化特性推定部３で推定された符号化特性に基づいて、符号量／量子化スケール割り当て部４により各フレームに対する符号化割り当て及び量子化スケール割り当ての少なくとも一方が行われる。すなわち、符号化部２において入力動画像信号１を符号化するときの各フレームに対する符号量割り当てまたは量子化スケールあるいはその両方が決定される。
【００１８】
さらに、符号化特性推定部３で推定された符号化特性に基づいて、フレームスキップ割り当て部５により各フレームのフレームスキップの実行の有無を示すフレームスキップ割り当てが行われる。すなわち、フレームスキップ割り当て部５では、符号化部２が２回目の符号化（以下、第２符号化という）を行うときの各フレームのフレームスキップの有無が決定される。
【００１９】
こうしてフレーム毎に決定された符号量割り当て及び量子化スケールの少なくとも一方とフレームスキップ割り当てに基づいて、符号化部２において第２符号化が行われる。第２符号化で符号化部２により生成された符号列は、最終的な符号化データとして動画像符号化装置から出力される。
【００２０】
次に、図２に示すフローチャートを用いて本実施形態における概略的な処理の流れを説明する。なお、本実施形態では各フレームに対する符号量割り当て及び量子化スケール割り当てのうち符号量割り当てのみを決定する場合について説明するが、フレーム毎の符号量割り当てに代えてフレーム毎の量子化スケール割り当てを決定してもよく、あるいはフレーム毎の符号量割り当てと量子化スケール割り当ての両方を決定してもよい。
【００２１】
まず、符号化対象である入力動画像信号１０に対して、第１符号化を行う（ステップＳ１）。第１符号化は、入力動画像信号１０のフレーム毎の符号化特性を示す統計データ１１を収集することが目的であり、例えば固定の量子化スケールを用い、さらに例えばＭＰＥＧ４などの標準化された動画像符号化方式により、固定フレームレートで符号化を行う。統計データ１１には、各フレームの量子化スケールの情報と発生符号量の情報を含むものとする。
【００２２】
次に、ステップＳ１で得られた統計データ１１から、符号化特性の推定を行う（ステップＳ２）。符号化特性とは、例えばフレーム毎の発生符号量と量子化スケールの関係を表す関数であり、ステップＳ２ではその関数のパラメータを出力する。
【００２３】
次に、ステップＳ２で得られた符号化特性のパラメータを用いて、フレーム毎の符号量割り当て（ビットアロケーションともいう）を動画像シーケンス全体にわたって、つまり一連の連続した入力動画像信号１０の全体にわたって行う（ステップＳ３）。この符号量割り当ては、与えられた平均ビットレートの下で均一な画質が得られるように行われる。
次に、ステップＳ３により割り当てられた符号量の下で、ＶＢＶ(Video Buffering Verifier)の条件チェックを行う（ステップＳ４）。ＶＢＶは既に知られているように、ＭＰＥＧビデオ符号化で定義される仮想デコーダモデルであり、仮想デコーダにおける受信バッファ（ＶＢＶバッファ）モデルにおいて、アンダーフロー及びオーバーフローが発生しないように発生符号量のバースト性を制限しなければならないというものである。
【００２４】
ＭＰＥＧビデオ符号化データは、ＶＢＶモデルに適合することが規格上、義務付けられている。任意の符号量割り当てを行うと、ＶＢＶの条件を満たさなくなる場合がある。このような場合には、ステップＳ４の後にステップＳ３で行われた符号量割り当てについての修正（ビットアロケーション修正）を行い（ステップＳ５）、また必要に応じたフレームスキップ（フレーム間引き）の挿入、すなわちフレームスキップ割り当て（フレームスキップアロケーション）を行う（ステップＳ６）。ステップＳ５及びＳ６の処理は、ステップＳ４でＶＢＶの条件が満たされるまで繰り返される。
【００２５】
ＶＢＶ条件が満たされる符号量割り当ての修正及びフレームスキップの割り当てが完了した後、ステップＳ３で行われた符号量割り当て（ステップＳ５で符号量割り当てが修正された場合は修正後の符号量割り当て）とステップＳ６で行われたフレームスキップ割り当ての結果を表す符号量割り当て／フレームスキップ割り当てデータ１２を用いて、第１符号化に供されたのと同じ動画像信号１０に対して第２符号化を行う（ステップＳ７）。
【００２６】
第２符号化では、基本的に第１符号化と同一の符号化方式を用いる。但し、第２符号化では符号量割り当て／フレームスキップ割り当てデータ１２に従って、発生符号量が与えられた符号量になるようにレート制御が行われ、またフレームスキップ処理が適宜行われる。第２符号化によって、最適化された符号化データ１３が出力される。
【００２７】
次に、図３を用いて図２中の符号化特性推定ステップ（Ｓ２）の処理について具体的に説明する。
一般に、動画像符号化データの発生符号量は量子化スケールに対して変化するので、量子化スケールの調整によって発生符号量の制御が行われる。図３（ａ）に、量子化スケールと発生符号量の関係を表したグラフを示す。図３（ａ）において横軸は量子化スケール、縦軸は発生符号量を示している。また、これら発生符号量と量子化スケールの関係は、画像毎に、つまり画像の性質に応じて変化する。例えば、画像の解像度が高くなるに従い、あるいは画像の変化が激しくなるに従って、符号化特性は図３（ａ）において破線矢印で示した方向に変化する。符号化特性推定ステップ（Ｓ２）では、図３（ａ）に示したような符号化特性が求められる。
【００２８】
一方、図３（ｂ）は量子化スケールと復号再生画像信号のＳＮ比との関係を示している。復号再生画像信号は、動画像符号化装置により得られた動画像符号化データを動画像復号化装置により復号して得られる動画像信号である。ＭＰＥＧビデオ符号化のような量子化を伴う符号化では、量子化スケールの増加に伴って符号化歪が増加し、復号再生画像信号のＳＮ比が低下する。符号化歪は、一義的には量子化スケールによって決まり、画像の性質には依存しない。視覚特性を考慮した量子化重み（空間周波数ごとに量子化幅が変動する）を用いる場合は、必ずしもこの限りではないが、一般に量子化スケールに対してＳＮ比は単調減少する特徴がある。
【００２９】
従って、動画像シーケンス全体にわたって安定した再生画質を得るためには、量子化スケールの変動を抑制して、なるべく均一の量子化スケールを用いればよい。但し、仮に量子化スケールを同一とした場合、上述の通りフレーム毎の発生符号量は画像の性質に依存して変化するものとなる。
【００３０】
量子化スケールの変動を抑え、かつ所定のビットレートで符号化を行うためには、図３（ａ）に示した符号化特性を周期的に、例えばフレーム毎に求める必要がある。符号化特性、すなわち発生符号量と量子化スケールの関係は、指数関数や高次の関数で近似することが可能である。ここでは、最も単純な例として、次式により符号化特性を近似した場合について説明する。
【００３１】
【数１】
0003866538.tif 000002
【００３２】
式（１）において、Ｒｉはｉ番目のフレームの推定発生符号量、Ａｉ及びＢｉはｉ番目のフレームの符号化特性を示すパラメータ、Ｑは量子化スケールである。ここでＡｉは符号化困難度を示し、これが大きいほど同一量子化スケールを用いた場合の発生符号量が大きくなる。Ｂｉは量子化スケールに依存しない一定の符号量を示す項であり、例えばヘッダ部分などの固定の符号量などを示す。
【００３３】
第１符号化において、フレーム毎に固定の量子化スケールを用いて符号化を行い、フレーム毎の発生符号量を量子化の影響を受ける部分とヘッダ等の量子化の影響を受けない部分とに分離して集計することで、式（１）におけるパラメータＡi及びＢiをフレーム毎に決定することが可能である。
【００３４】
次に、図４及び図５を用いて図２中の符号量割り当てステップ（Ｓ３）について詳しく説明する。
ＭＰＥＧビデオ符号化のような動画像符号化における符号量制御は、大きく分けて固定ビットレート符号化（ＣＢＲ）と可変ビットレート符号化（ＶＢＲ）に分類できる。ＣＢＲでは、一定のビットレートで符号化を行うため、量子化スケールを変動させて符号量を一定にする必要がある。量子化スケールを変動させると、それに応じて画質変動が発生する。一般に、符号化困難度（Ａｉ）の高い高解像度あるいは動きの激しい画像で、画質が低下する。
【００３５】
図４（ａ）（ｂ）（ｃ）は、ＣＢＲにおけるビットレート変動、ＶＢＶバッファの占有量変動及びＳＮ比の変動を示している。ビットレート及びＶＢＶバッファの変動は非常に小さくなり、逆に画像の性質の変化に応じてＳＮ比、つまり画質が変動するものとなる。
【００３６】
一方、図５（ａ）（ｂ）（ｃ）は、ＶＢＲにおけるビットレート変動、ＶＢＶバッファの占有量変動及びＳＮ比の変動を示している。ＶＢＲでは、画像の性質に合わせてビットレートを変動させることによりＳＮ比の変動が小さくなり、安定した画質が得られることが分かる。
【００３７】
また、ＭＰＥＧビデオ符号化におけるＶＢＶモデルでは、ＶＢＶバッファで吸収できる範囲内で、ピークレートを超える瞬間ビットレートで符号化することも可能である。ピークレートを超える部分では、ＶＢＶバッファ占有量がアンダーフロー側に遷移していくことになり、この期間が長く継続すると、ＶＢＶバッファがアンダーフローして破綻することになる。
【００３８】
次に、ＶＢＲにおける図２の符号量割り当てステップ（Ｓ３）、ＶＢＶチェックステップ（Ｓ４）、符号量割り当て修正ステップ（Ｓ５）及びフレームスキップ割り当てステップ（Ｓ６）の処理について具体的に説明する。
なお、ここではＶＢＲの場合について説明するが、本発明はＶＢＲに限定されるものではなく、ＣＢＲのＶＢＶモデルに従って一連の処理ステップを実行することで、２パスのＣＢＲ符号化を行う場合に対しても適用可能である。
【００３９】
ＶＢＲの場合、画像の性質に合わせてビットレートの制約及びＶＢＶの制約の範囲内で符号量割り当てを大きく変動させることが可能となる。まず、符号量割り当てステップ（Ｓ３）において、符号化特性推定ステップ（Ｓ２）で得られた各フレームの符号化特性を用いて、総符号量が所定の平均ビットレートと動画像シーケンス総時間から求まる符号量となるように動画像シーケンス全体にわたって一定の量子化スケールを決定し、各フレームに対する符号量割り当てを決定する。
【００４０】
次に、ＭＰＥＧビデオ規格で定義されるＶＢＶモデルに従って、この符号量割り当ての下でのＶＢＶバッファ占有量の時間変化を計算する。ＶＢＶチェックステップ（Ｓ４）では、ＶＢＶバッファがアンダーフロー（バッファ占有量が０を下回る）を起こすかどうかの判断を行い、アンダーフローが発生しなければ、符号量割り当てを終了し、またフレームスキップの実行は無しとする。ＶＢＶアンダーフローが発生した場合、以下の手順でステップＳ５の符号量割り当て修正及びステップＳ６のフレームスキップ割り当て処理を行う。
【００４１】
図６〜図７は、ＶＢＲにおけるＶＢＶモデルのバッファ占有量の時間変化の例を示した図であり、横軸がフレーム番号、縦軸がバッファ占有量を表している。これは各フレームにおいて発生符号量分だけバッファから瞬時にデータが抜き出されてデコードされ、フレーム間ではフレーム間隔に相当する時間だけピークレートで符号化データがバッファに充填されるというモデルとなっている。また、ＶＢＲのＶＢＶモデルではバッファのオーバフローは発生せず、ＶＢＶバッファの最大値に達した時点で、データ転送が停止するというモデルとなっている。
【００４２】
図６（ａ）は、途中でバッファのアンダーフローが発生した例を示している。このままの符号量配分で第２符号化を行うと、符号化データがＶＢＶ違反となるため、符号量割り当ての修正を行う。
【００４３】
図６（ｂ）は、アンダーフローが最初に発生するフレームに対する符号量割り当てを削減した例であり、これによりバッファアンダーフローが回避される場合は、符号量割り当ての修正処理を終了する。
符号量割り当ての削減は、該当するフレームに対する量子化スケールを符号量割り当てステップ（Ｓ３）で得られた量子化スケールより徐々に大きくすることで、符号化特性推定ステップ（Ｓ２）で求めた該当するフレームの符号化特性から符号量の削減量を推定して行われる。但し、大幅に量子化スケールを大きくすると、そのフレームの画質が大幅に低下するため、量子化スケールの上限は、符号量割り当てステップ（Ｓ３）で求めた量子化スケールを基準とした所定範囲の値を超えない値とする。これにより、ＶＢＶの制約に伴う急激な画質劣化を抑制することが可能となる。
【００４４】
図６（ｃ）は、図６（ｂ）とは異なる符号量割り当て修正方法を示したものである。図６（ｃ）では、アンダーフローが発生するフレームから、ＶＢＶバッファ占有量が最大値となるフレームまで遡って、その間全てのフレームにおける符号量割り当てを削減することで、アンダーフローを防ぐ。この場合、各フレームに対する符号量割り当ての修正量を最小限に抑えられるため、ＶＢＶの制約に伴う画質変動を図６（ｂ）の場合に比べて、さらに小さくすることが可能となる。
【００４５】
図７（ｄ）は、図６（ｃ）の処理によりＶＢＶアンダーフローを防ぐための符号量割り当ての修正を行ったが、量子化スケールの上限値までの間にアンダーフローが回避できなかった場合の例を示している。この場合は、フレームスキップ割り当てステップＳ６により、フレームスキップを挿入することで、ＶＢＶバッファのアンダーフローを回避する。
【００４６】
図７（ｄ）の例では、図７（ｅ）のように１フレームをスキップする（間引く）だけでは、アンダーフローが回避されない。この場合は、さらに図７（ｆ）のように複数のフレーム（ここでは２フレーム）スキップさせることで、ＶＢＶアンダーフローを回避する。但し、図７（ｆ）のように連続する複数のフレームがスキップされると、動画像として局所的なフレームレートが大幅に低下し、動きが荒い映像となってしまう。
【００４７】
そこで、図７（ｇ）のように、連続したフレームのスキップは避けて、アンダーフローが発生するフレームから、時間的に遡って間欠的にフレームスキップさせることで、局所的なフレームレートの大幅な低下を抑えることが可能となり、自然な動きを保ちつつＶＢＶアンダーフローを防ぐことが可能となる。
【００４８】
ところで、上述したようにＶＢＶの制限を満たすために第２符号化でフレームスキップを実行すると、第２符号化でのフレーム間予測の予測構造が第１符号化と異なる構造に変化し、第１符号化において符号化特性推定ステップ（Ｓ２）で求めた符号化特性の精度が第２符号化で低下する場合がある。図８はフレームスキップによる予測構造の変化の一例であり、（ａ）が第１符号化における各フレームのピクチャタイプを示し、（ｂ）が第２符号化における各フレームのピクチャタイプを示している。ピクチャタイプは予測符号化における符号化の種類を示す符号化タイプであり、Ｉはフレーム内符号化を行うフレーム（Ｉピクチャ）、Ｐは前方予測符号化を行うフレーム（Ｐピクチャ）をそれぞれ表す。
【００４９】
図８の例では、第１符号化に供された図８（ａ）に示す入力動画像信号のフレームのうち、参照符号２０〜２３で示すフレームがスキップフレームとして割り当てられ、図８（ｂ）のように第２符号化において間引かれる。通常、Ｉピクチャは固定の符号化対象フレーム数毎に用いられることが一般的であり、ここでは第１符号化及び第２符号化において、１３符号化対象フレーム毎に１回の割合でＩピクチャが用いられる例を示している。
【００５０】
この場合、スキップするフレーム数に応じて第１符号化と第２符号化とでＩピクチャとして符号化されるフレームの位置が異なってしまう。すなわち、フレームスキップにより第１符号化と第２符号化とでピクチャタイプのミスマッチが生じる。図８の例では、参照符号２４，２５で示すフレームにおいて、第１符号化と第２符号化とでピクチャタイプのミスマッチが発生する。ＩピクチャとＰピクチャとでは符号化特性が大幅に異なるため、このようなピクチャタイプのミスマッチがあると、図２中の符号化特性推定ステップ（Ｓ２）で求めた符号化特性で正しく発生符号量の推定を行うことが困難となり、符号量割り当ての最適化が困難となる。
【００５１】
この問題に対しては、図９に示すようにフレームスキップの有無によらず各フレームのピクチャタイプを第１符号化と第２符号化とで一致させることにより、ピクチャタイプのミスマッチに伴う符号化特性の推定精度低下を抑えることが可能となる。
【００５２】
但し、図９のように各フレームのピクチャタイプを一致させた場合でも、フレーム間予測における参照画像と符号化対象画像との関係は変化する場合がある。図１０は、Ｐピクチャのフレームスキップに伴うフレーム間予測関係の変化を示している。
図１０（ａ）は、固定フレームレートの符号化であり、この予測構造により第１符号化が実施される。図中の矢印は、フレーム間予測における参照画像から符号化対象画像への関係を示している。
【００５３】
図１０（ｂ）は、図１０（ａ）におけるフレームＰ２が第２符号化においてスキップされた例を示している。符号化対象画像がＰ３の場合、第１符号化では参照画像はＰ２が用いられるが、第２符号化では参照画像はＰ１としてＰ３の符号化が行われる。
【００５４】
図１０（ｃ）は、図１０（ａ）におけるフレームＰ２及びＰ３がスキップされた例である。符号化対象画像がＰ４の場合、第１符号化においてはＰ３を参照画像とするが、第２符号化においてはＰ１を参照画像とすることになる。
【００５５】
一般に、参照画像と符号化対象画像とのフレーム間距離が大きくなるほど、予測効率が低下し、同一量子化スケールに対して発生符号量は増加する。さらに、スキップしたフレームの中にシーンチェンジ点が含まれていると、予測効率は大幅に低下する。
【００５６】
一方、図１１（ａ）に示すように符号化対象画像に両方向予測符号化画像（Ｂピクチャ）が含まれる場合は、Ｂピクチャ自体は参照画像として用いられないため、図１１（ｂ）に示すようにＢピクチャとして符号化されるフレームの中からをスキップフレームを選択すれば、図１２に示すように第２符号化において符号化されるフレームの予測構造は第１符号化のそれと一致する。
【００５７】
すなわち、図１２（ａ）は固定フレームレートの符号化であり、この予測構造により第１符号化が実施される。図１２（ｂ）は、図１２（ａ）におけるフレームＢ１が第２符号化においてスキップされた例を示している。図１２（ｃ）は、図１２（ａ）におけるフレームＢ１及びＢ２がスキップされた例である。図１２（ｂ）（ｃ）のいずれの第２符号化においても、予測構造は第１符号化の図１２（ａ）の場合と同じである。従って、図２中の符号化特性推定ステップ（Ｓ２）で求められた符号化特性は、フレームスキップの有無によらず、修正することなく利用することが可能となる。
【００５８】
図９及び図１０で説明したように、フレームスキップに伴う予測効率の低下が発生する場合は、符号化特性推定ステップ（Ｓ２）で求めた符号化特性の精度が低下し、ＶＢＶを考慮した符号量配分の最適化が困難となる。そこで、以下に示す手順で符号化特性の修正を行う。
【００５９】
図１３に、フレームスキップの決定とそれに伴う符号化特性修正の手順のフローチャートを示す。図１３は、図２におけるフレームスキップ割り当てステップ（Ｓ６）の処理を詳細に示したものである。
【００６０】
ＶＢＶチェックステップ（Ｓ４）によりＶＢＶのアンダーフローが推定された場合、上述の通り符号量割り当て修正ステップ（Ｓ５）により符号量割り当てを修正した後、ステップＳ１０によりＶＢＶのアンダーフローが改善されたか否か、つまりフレームスキップの必要性をチェックし、ＶＢＶアンダーフローが改善されていない場合は、フレームスキップが必要と判断して、フレームスキップを行うフレームの決定を行う。
【００６１】
第２符号化において、フレームスキップを行うべきフレームの直後にスキップされずに符号化されるフレームがＩピクチャ（ステップＳ１１でＹｅｓ）の場合は、第２符号化においてフレームスキップに伴う第１符号化とのフレーム間予測構造の違いは発生しないため、スキップフレームを追加し、符号化特性の修正は行わない。また、スキップ可能なＢピクチャがＶＢＶアンダーフロー推定フレームの前方の存在している場合（Ｓ１２）は、該当するＢピクチャをスキップフレームとする。この場合も、第１符号化とのフレーム間予測構造の違いは発生しないため、符号化特性の修正は行わない。
【００６２】
一方、図１０に示したように、第２符号化におけるフレームスキップにより、スキップフレーム直後に符号化されるフレームにおいて参照画像が第１符号化における参照画像と異なってしまう場合、以下に示すような符号化特性パラメータの修正を行い、また符号化特性パラメータの修正に応じて当該符号化対象フレームに対する符号量割り当てを修正する。
【００６３】
ここでは、図１０の場合を例にとって符号化特性パラメータの修正を行う方法について述べる。
前述した通り、式（１）におけるＡｉはｉ番目のフレームの符号化困難度を示している。ｉ番目のフレームがフレーム間予測符号化フレーム（ＰピクチャまたはＢピクチャ）の場合、Ａｉはフレーム間予測効率の影響を受ける。Ａｉの時間変化を見ることで、シーンチェンジ点を検出することが可能である。例えば、図１０（ａ）においてＰ１，Ｐ２，Ｐ３の各フレームにおけるＡｉをそれぞれＡ１，Ａ２，Ａ３とすると、Ａ２の値がＡ１，Ａ３の値に比べて突出して大きくなっている場合、Ｐ１とＰ２の間でシーンが切り替わったということが推測可能である。この場合、図１０（ｂ）におけるＰ３あるいは図１０（ｃ）におけるＰ４に対する参照画像となるＰ１は、符号化対象であるＰ３あるいはＰ４と異なるシーンの映像となってしまい、符号化効率が低下することが予測される。
【００６４】
このようにフレームスキップの結果、スキップフレームの直後に符号化されるフレームと参照画像との間にシーンチェンジ点が含まれている場合は、シーンチェンジ点直後のフレームにおける符号化特性パラメータをスキップフレームの直後に符号化されるフレームの符号化特性パラメータとして用いる。図１０の例では、Ｐ２の符号化特性パラメータを図１０（ｂ）におけるＰ３あるいは図１０（ｃ）におけるＰ４の符号化特性パラメータとして用いる。このように、シーンチェンジを考慮して符号化パラメータの修正を行うことで、符号化特性の推定精度の低下を抑制することができ、その結果、効率的な符号量配分を行うことが可能となる。
【００６５】
連続するフレームスキップの中にシーンチェンジが含まれない場合でも、参照画像と符号化対象画像とのフレーム間距離が大きくなると、完全な静止画像でない限り、一般に予測効率が低下する。そこで、フレームスキップの中にシーンチェンジが含まれない場合は、次のように符号化特性の修正を行う。
【００６６】
今、ｎ番目のフレームがフレームスキップ直後の符号化対象画像であり、そのフレームに関する式（１）で示した符号化特性パラメータをＡｎ，Ｂｎとする。また、ｎ番目のフレームに最も時間的に近いＩピクチャの符号化特性パラメータをＡｎＩ，ＢｎＩとする。さらに、ｎ番目のフレームの直前の連続するフレームスキップ数をｒとする。ここで、これらのパラメータに応じて、ｎ番目のフレームの符号化特性パラメータを次式に示すように修正する。
【００６７】
【数２】
0003866538.tif 000003
【００６８】
ここで、Ａｎ′及びＢｎ′が修正後の符号化特性パラメータである。また、Ｋは定数である。式（２）では、れこらのパラメータのうち符号化困難度を表すパラメータＡｎ′は、フレームスキップが無い場合、すなわちｒ＝０の場合はＡｎと一致し、またフレームスキップ数が大きくなると、符号化対象画像と参照画像とのフレーム間距離の２乗に反比例して低下し、フレーム間距離が無限大のとき近傍のＩピクチャの符号化困難度ＡｎＩに収束するというものである。
【００６９】
図１４に、式（２）の特性をグラフで示す。横軸は参照画像と符号化対象画像のフレーム間距離（ｒ＋１）、縦軸は修正後の符号化特性パラメータＡｎ′をＡｎＩで正規化した値を示す。また、図中の破線矢印は第１符号化における符号化困難度ＡｎをＡｎＩで正規化した値Ａｎ／ＡｎＩの増加方向を示している。図１４からも分かる通り、符号化対象画像の符号化特性は符号化対象画像と参照画像とのフレーム間距離が大きくなるにつれて、近傍のＩピクチャの符号化特性に近づくものとなる。
【００７０】
このような符号化特性パラメータ補正処理により、ＶＢＶの制約を満たすために第２符号化においてフレームスキップが用いられる場合でも、符号化特性の推定制度の低下を防ぐことが可能となり、ＶＢＶの制約を満たしつつ安定した高画質を得るための最適な符号量割り当てを求めることが可能なる。
【００７１】
以上説明した本実施形態の特徴と、それによる効果を整理すると、次の通りである。
（１）まず、第１符号化ステップにおいて、フレーム単位で入力される入力動画像信号を固定フレームレートで符号化してフレーム毎の発生符号量を含む統計データを生成し、この統計データに従って入力動画像信号の各フレームに対する符号量割り当て及び量子化スケール割り当ての少なくとも一方と、各フレームのフレームスキップ割り当てを決定する。次に、第２符号化ステップにおいて、決定された符号量割り当て及び量子化スケール割り当ての少なくとも一方と各フレームのフレームスキップ割り当てに従って入力動画像信号を符号化し、最終的な符号化データである符号列を生成する。これにより、第２符号化においてフレームレート可変の符号化を行う場合でも、最適な符号量割り当てを行うことができる。
【００７２】
すなわち、第１符号化と第２符号化でフレームスキップの発生が異なってしまうと、第１符号化により統計データを用いて第２符号化のための正確かつ最適なフレーム単位の符号量割り当てを行うことが困難となってしまう。これに対し、本実施形態では第１符号化においてはフレームスキップを発生させず、入力動画像信号を固定フレームレートで全てのフレームについて符号化することで、全てのフレームに対する発生符号量の情報が得られるため、第２符号化における最適なフレームスキップ割り当てを決定して、第２符号化を行うことが可能となる。
【００７３】
また、通常フレームスキップの発生率は、第２符号化におけるビットレートによって変動するが、本実施形態によれば第２符号化におけるビットレートによらずに、第１符号化を行うことができる。すなわち、第１符号化を一度行えば、第１符号化で得られた統計データから、複数の異なるビットレートにおける符号量割り当て及び最適なフレームスキップ割り当てを算出することが可能となる。従って、同一の動画像素材に対して複数の異なるビットレートの符号化データを作成する場合には、各ビットレート毎に２回の符号化を行う必要がなくなり、第１符号化は一度で済むので、総符号化回数が削減される。
【００７４】
（２）符号量割り当て及び量子化スケール割り当ての少なくとも一方を決定する際、第２符号化で可変ビットレートの符号化を行うように、符号量割り当て及び量子化スケール割り当ての少なくとも一方を決定する。
固定レート符号化において画質変動を抑制しようとすると、一般にフレームスキップが多く発生し、逆にフレームスキップを抑制しようとすると、画質変動が大きくなってしまう。これに対して、本実施形態では第２符号化が可変ビットレート符号化となるように、各フレームに対する符号量割り当て及び量子化スケール割り当ての少なくとも一方を決定しているため、可変ビットレート符号化とフレームスキップの最適配置の相乗効果により、フレームスキップの発生率を最小限に抑え、かつ画質変動をなくすことが可能となる。
【００７５】
（３）統計データから第２符号化ステップにおける各フレームの発生符号量と量子化スケールとの関係を示す関数のパラメータを推定し、該パラメータを用いて前記符号量割り当てを決定する。また、こうして決定された符号量割り当て及び量子化無スケールの少なくとも一方を用いて仮想受信バッファの占有量の時間変化を推定し、最大の量子化スケールを用いても仮想受信バッファのアンダーフローの発生が推定された場合には、アンダーフローの発生を防止すべくフレームスキップ割り当てを決定する。
フレームレートやビットレートをシーン毎に画像の性質に合わせて変動させる場合、ＭＰＥＧで規定されるＶＢＶの制限は一般に満たされなくなり、バッファのオーバフローあるいはアンダーフローが発生する危険性がある。
一方、本実施形態によると第１符号化における統計データから、各フレームの発生符号量と量子化スケールとの関係を高精度に示す関数のパラメータを推定することが可能となるため、フレーム毎の最適符号量割り当てに伴う仮想受信バッファ占有量の時間変化を精度よく推定することができる。推定した仮想受信バッファ占有量の時間変化において、バッファアンダーフローの発生が予測される場合にフレームスキップの実行を決定することにより、ＶＢＶの制限を満たし、かつフレームスキップの発生を最小限に抑制して、スムーズな画質を得ることが可能となる。また、仮想受信バッファ占有量の時間変化の推定において、量子化スケール変動の最大値を抑制することで、ＶＢＶの制限に伴う画質の低下も抑制することができる。
【００７６】
（４）仮想受信バッファのアンダーフローの発生が推定された場合、アンダーフローの発生が推定されるフレームより時間的に遡ったフレームのフレームスキップ割り当てを決定する。
ＶＢＶ管理を満たすためのフレームスキップ割り当ての決定において、連続した複数のフレームをスキップするように決定すると、その部分でのフレームレートが大幅に低下し、再生される動画像の動きが荒くなってしまい、違和感がある動画像となってしまう。
本実施形態によると、フレームスキップ割り当ての決定がオフライン処理となっており、すなわち第２符号化中にフレームスキップ割り当てを決定するのではなく、第１符号化の終了後、動画像シーケンス全体にわたって符号量割り当てとフレームスキップ割り当てを決定し、その後に第２符号化を行うという構成となるため、仮想受信バッファのアンダーフロー発生が予測されるフレームから、時間的に遡ったフレームにおけるフレームスキップ割り当てを決定することができる。
この性質を利用して、仮想受信バッファのアンダーフロー発生が予測される時点より遡った時刻から、徐々にフレームレートが低下するように、連続してスキップされるフレーム数が最小となるように、フレームスキップ割り当てを決定する。これによりフレームレートの低下を最小限に抑えることが可能となり、フレームスキップに伴って再生される動画像の動きが荒くなることを抑制することができる。
【００７７】
（５）フレームスキップ割り当て決定するステップによってフレームスキップの実行が決定されたフレームの直後に符号化されるフレームにおいて、（ａ）フレームスキップの実行が決定されたフレーム数、（ｂ）フレームスキップの実行が決定されたフレームにおける前記発生符号量と量子化スケールとの関係を示す関数のパラメータ及び（ｃ）フレームスキップの実行が決定されたフレームの直後に符号化されるフレームの符号化タイプに応じて、フレームスキップの実行が決定されたフレームの直後に符号化されるフレームの発生符号量と量子化スケールとの関係を示す関数のパラメータを変更することにより、符号量割り当て及び量子化スケールの少なくとも一方を修正するステップをさらに有する。
フレーム間予測符号化を用いる場合、フレームスキップが発生すると予測画像と参照画像の関係が変化するため、第１符号化で得られた統計データから第２符号化における発生符号量を精度良く推定することが困難となる。発生符号量モデルの制度が低下すると、ＶＢＶの管理や符号量割り当てが正確にできなくなり、第２符号化において安定した高画質符号化が困難となる。
一方、本実施形態ではスキップしたフレーム数と、スキップしたフレームの発生符号量モデルと次に符号化するフレームの符号化タイプに応じて、符号化すべきフレームの発生符号量と量子化スケールとの関係を示すモデルを修正することで、第２符号化における発生符号量推定の精度を上げることが可能となり、第２符号化において安定した高画質符号化を行うことが可能となる。
【００７８】
（６）第１符号化及び第２符号化においてフレーム毎に符号化タイプを選択可能とし、入力動画像信号の同一フレームに対する第１符号化及び第２符号化における符号化タイプを一致させる。
ＭＰＥＧ動画像符号化方式では、通常、フレーム内符号化を行うＩピクチャ、前方フレーム間予測を行うピクチャ、両方向フレーム間予測を行うＢピクチャを組み合わせて符号化を行う。これらの符号化タイプは、それぞれ符号化効率が異なり、同一動画像であっても符号化タイプにより量子化スケールに対する発生符号量の大きさが異なってくる。従って、第１符号化と第２符号化とで同一のフレームに対する符号化タイプが異なってしまった場合、第２符号化における発生符号量予測を正確に行うことが困難となる。
本実施形態のように第１符号化と第２符号化とで同一フレームに対する符号化タイプをそれぞれ一致させると、第２符号化における発生符号量予測を正確に行うことが可能となる。
【００７９】
【発明の効果】
以上説明したように、本発明によれば固定フレームレートの下で第１符号化を行い、第１符号化で得られた統計データに基づいて例えば各フレームの符号化特性パラメータを算出し、これらの符号化特性パラメータを用いてＶＢＶの制約と安定した高画質を両立するフレーム毎の符号量割り当て及び量子化スケール割り当ての少なくとも一方とフレームスキップ割り当てを行い、割り当てられた符号及びフレームスキップに従って第２符号化を行うことで、所定のビットレート条件の下で最適化された高画質符号化を実現することが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る動画像符号化装置の概略構成を示すブロック図
【図２】同実施形態に係る動画像符号化の処理手順を示すフローチャート
【図３】動画像の符号化特性を説明する図
【図４】固定ビットレート符号化の特性を説明する図
【図５】可変ビットレート符号化の特性を説明する図
【図６】同実施形態における符号量及びフレームスキップ割り当てを説明する図
【図７】同実施形態における符号量及びフレームスキップ割り当てを説明する図
【図８】同実施形態におけるＰピクチャのフレームスキップに伴う予測構造の変化の一例を説明する図
【図９】同実施形態におけるＰピクチャのフレームスキップに伴う予測構造の変化の他の例として第１符号化と第２符号化とで各フレームのピクチャタイプを一致させた例を説明する図
【図１０】同実施形態におけるＰピクチャのフレームスキップに伴うフレーム間予測関係の変化を説明する図
【図１１】同実施形態におけるＢピクチャのフレームスキップに伴う予測構造の変化を説明する図
【図１２】同実施形態におけるＢピクチャのフレームスキップに伴うフレーム間予測関係の変化を説明する図
【図１３】同実施形態におけるフレームスキップに伴う符号化特性の修正処理の手順を示すフローチャート
【図１４】同実施形態におけるフレームスキップに伴う符号化特性の修正を説明する図
【符号の説明】
１…蓄積メディア
２…符号化部
３…符号化特性推定部
４…符号量／量子化スケール割り当て部
５…フレームスキップ割り当て部
１０…動画像信号蓄積メディア
１１…符号化統計データ
１２…符号量割り当て／フレームスキップ割り当てデータ
１３…符号化データ
Ｓ１…第１符号化ステップ
Ｓ２…符号化特性推定ステップ
Ｓ３…符号量割り当てステップ
Ｓ４…ＶＢＶチェックステップ
Ｓ５…符号量割り当て修正ステップ
Ｓ６…フレームスキップ割り当てステップ
Ｓ７…第２符号化ステップ
【図１】
0003866538.tif 000004
【図２】
0003866538.tif 000005
【図３】
0003866538.tif 000006
【図４】
0003866538.tif 000007
【図５】
0003866538.tif 000008
【図６】
0003866538.tif 000009
【図７】
0003866538.tif 000010
【図８】
0003866538.tif 000011
【図９】
0003866538.tif 000012
【図１０】
0003866538.tif 000013
【図１１】
0003866538.tif 000014
【図１２】
0003866538.tif 000015
【図１３】
0003866538.tif 000016
【図１４】
0003866538.tif 000017