(57)【特許請求の範囲】
【請求項１】
動画像を符号化する動画像符号化装置であって、
復号における符号バッファの占有量をシミュレーションするバッファモデル部と、
前記符号バッファの占有量の変化速度を算出し、当該変化速度を用いて前記符号バッファのアンダーフローに至るまでのピクチャ数を求め、当該ピクチャ数を経過するまでの間に前記符号バッファの占有量を増加させて前記アンダーフローに至らないように前記符号バッファを保護するための第１の制御量を算出する制御量算出部と、
前記第１の制御量を用いて量子化幅を決定するビットレート制御部とを備える
動画像符号化装置。
【請求項２】
前記制御量算出部は、
前記変化速度が０より小さい場合において、前記変化速度の絶対値が大きいほど前記量子化幅が大きくなるように、前記第１の制御量を算出する
請求項１に記載の動画像符号化装置。
【請求項３】
前記制御量算出部は、
移動平均法あるいは最小二乗法を用いて、前記符号バッファの占有量の履歴から前記変化速度を求める
請求項１または２に記載の動画像符号化装置。
【請求項４】
前記ビットレート制御部は、
符号化するピクチャの符号量を制御する第２の制御量を算出し、前記第１の制御量とともに前記第２の制御量を用いて、前記量子化幅を決定する
請求項１〜３のいずれか１項に記載の動画像符号化装置。
【請求項５】
動画像を符号化する動画像符号化装置であって、
復号における符号バッファの占有量をシミュレーションするバッファモデル部と、
前記符号バッファの占有量の変化速度に応じて量子化幅を決定するビットレート制御部と、
前記符号バッファの占有量の変化速度を算出するとともに、前記変化速度に基づいて前記符号バッファの占有量を増加させる第１の制御量を算出する制御量算出部とを備え、
前記ビットレート制御部は、
符号化開始時点からの平均符号量を制御する平均符号量制御量として、符号化するピクチャの符号量を制御する第２の制御量を算出し、
前記第１の制御量および前記第２の制御量を、前記符号バッファの占有量の割合を示す占有率により加重平均して得られる第３の制御量を用いて、前記量子化幅を決定する
動画像符号化装置。
【請求項６】
前記符号バッファの占有量に最小マージンが設定されている
請求項１〜５のいずれか１項に記載の動画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号バッファを用いる動画像符号化装置、動画像符号化方法および動画像符号化プログラムに関する。
【背景技術】
【０００２】
近年、デジタル映像の蓄積や伝送に用いられる動画像符号化方式として、ＭＰＥＧ方式またはＨ．２６４方式などが知られており、復号装置側の符号バッファ（例えばＭＰＥＧ２規格におけるＶｉｄｅｏ  Ｂｕｆｆｅｒ  Ｖｅｒｉｆｉｅｒ（ＶＢＶ）バッファ、Ｈ．２６４規格におけるＣｏｄｅｄ  Ｐｉｃｔｕｒｅ  Ｂｕｆｆｅｒ（ＣＰＢ））の動作を規定することで、復号装置間における互換性を確保している。
【０００３】
このような動画像符号化方式においては、この規定に従って、符号化装置側では、復号装置側の符号バッファが破綻状態に至らないようにビットストリームを生成することが求められる。
【０００４】
この符号バッファの破綻状態には、アンダーフロー（バッファアンダーフロー）とオーバーフロー（バッファオーバーフロー）とがある。バッファアンダーフローとは、ピクチャ符号量が過多になることで、復号装置側の符号バッファにおけるバッファ占有量がゼロになることである。また、バッファオーバーフローとは、ピクチャ符号量が過小となることで、バッファ占有量が符号バッファの最大量を超えることである。
【０００５】
そこで、従来の符号化装置は、上記のような符号バッファの破綻状態が発生しないように、復号装置側の符号バッファの占有量を模擬（シミュレーション）するバッファモデル（仮想バッファモデル）を備えている。そして、従来の符号化装置では、バッファモデルの結果をビットレート制御に反映してピクチャ符号量を制御することによって符号バッファの規格適合を保証している。
【０００６】
この種の従来の動画像符号化装置について、図５を用いて説明する。図５は、ＭＰＥＧ２規格における従来の動画像符号化装置の構成を示すブロック図である。
【０００７】
図５に示すように、従来の動画像符号化装置１００は、ＤＣＴ部１０１と、量子化部１０２と、符号化部１０３と、ＶＢＶモデル部１０４と、ビットレート制御部１０５とを備える。
【０００８】
ＤＣＴ部１０１は、入力画像１１１を直交変換し、ＤＣＴ係数１１２を出力する。量子化部１０２は、ビットレート制御部１０５から得る量子化スケール１１７に基づいて、ＤＣＴ係数１１２を量子化して量子化係数１１３を出力する。符号化部１０３は、量子化係数１１３と量子化スケール１１７等の付加情報を情報源符号化し、ビットストリーム１１４を出力する。
【０００９】
また、ＶＢＶモデル部１０４は、符号化部１０３で生じた発生符号量１１５に基づいてＭＰＥＧ２方式における符号バッファであるＶＢＶバッファをシミュレーションし、バッファ占有量（ＶＢＶバッファ占有量１１６）をビットレート制御部１０５に出力する。
【００１０】
ＭＰＥＧ２規格においてはビットストリーム１１４の符号量制御手段は規定されていない。ビットストリームを所望の符号量に制御するために、一般的にはビットレート制御部１０５は、発生符号量１１５とバッファ占有量（ＶＢＶバッファ占有量１１６）とに基づいて、符号バッファの破綻状態が発生しないように量子化スケール１１７を決定する。
【００１１】
さらに、ＶＢＶバッファのアンダーフローを抑制しつつ安定した画質で符号化を行う技術が特許文献１に開示されている。特許文献１に開示された動画像符号化装置では、ビットレート制御部１０５において、これまでに発生した符号量と目標ビットレートとの誤差を最小化するための第１の量子化スケールと、アンダーフローを回避するための第２の量子化スケールとを算出する。第２の量子化スケールは、次の参照ピクチャの符号化後までに使用可能な符号量を下回るように決定される。ビットレート制御部１０５は、この第１と第２の量子化スケールのうち最大値の方を量子化スケール１１７として選択し、量子化部１０２に出力する。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００６−２９５５３５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
上述のように、従来の動画像符号化装置は、バッファアンダーフローまたはバッファオーバーフローが発生しないように動作する。
【００１４】
バッファアンダーフローを回避するためには、発生符号量がバッファ占有量を上回らないように、符号化部で発生する符号量を抑制する必要がある。具体的には、バッファ占有量に基づいて量子化スケールを増加させて量子化係数を削減する方法と、ＤＣＴ係数の符号化をスキップして量子化係数をスキップする方法とがある。
【００１５】
しかしながら、従来の動画像符号化装置では、符号バッファの破綻状態直前において当該破綻状態が発生しないように量子化スケールが決定されるので、画質が劣化してしまうという問題がある。また、量子化係数を削減またはスキップする場合も、画質が劣化してしまうという問題がある。
【００１６】
また、特許文献１に開示された動画像符号化装置では、２つの量子化スケールの最大値を用いて発生符号量を削減してバッファアンダーフローを回避しているが、特許文献１の構成では、量子化スケールの最大値の選択が切り替わる前後で、ピクチャ間の画質が不連続に変化して主観画質を損なうという課題がある。特に、特許文献１の構成では、第１と第２の量子化スケールがそれぞれ独立して決定されるため、第１の量子化スケールで符号量を増加させる制御量と、第２の量子化スケールで符号量を減少させる制御量とが同時に存在する場合がある。この二つの制御量が相反するような場合に、ピクチャ間において不連続な画質差が生じやすい。
【００１７】
さらに、特許文献１では、符号バッファが漸減するような入力画像の場合であっても、当初はバッファアンダーフローに至らないために第１の量子化スケールを選択する。この状況が継続してバッファ占有量が前述の使用可能な符号量を下回るときに、バッファアンダーフローを回避しようとして第２の量子化スケールが大きく増加する。そして、この第２の量子化スケールを最大値として選択して量子化スケールが急変することで、不連続な画質差が生じるという課題をも有している。
【００１８】
このように、従来の動画像符号化装置においては、バッファ占有量に応じて量子化スケールを変更してバッファアンダーフローを回避しようとしているが、不連続な画質変化により主観画質の劣化を伴うという問題がある。
【００１９】
なお、バッファオーバーフローを回避するためには、量子化スケールを小さくしたり、符号化部で無効データを付加するなどしてピクチャ符号量を増加させたりする方法があるが、量子化スケールを小さくすることは画質を向上させることになり、また、無効データは画像信号とは無関係の符号であるので画質の向上に寄与しない。さらに、一般的な可変ビットレート（ＶＢＲ）符号化においては、符号バッファにビットストリームを供給するビットレートを減少させたり、ビットストリームの供給を一時中断できたりするので、無効データを付加せずともオーバーフローを回避可能である。このように、バッファオーバーフローを回避する動作では、画質が低下することはない。
【００２０】
本発明は、上記の課題を解決するためになされたものであり、主観画質の劣化を伴うことなく符号バッファの破綻状態を防ぐことができる動画像符号化装置または動画像符号化方法を提供することを目的とする。
【課題を解決するための手段】
【００２１】
上記課題を解決するために、本発明に係る動画像符号化装置の一態様は、動画像を符号化する動画像符号化装置であって、復号における符号バッファの占有量をシミュレーションするバッファモデル部と、前記符号バッファの占有量の変化速度を算出し、当該変化速度を用いて前記符号バッファのアンダーフローに至るまでのピクチャ数を求め、当該ピクチャ数を経過するまでの間に前記符号バッファの占有量を増加させて前記アンダーフローに至らないように前記符号バッファを保護するための第１の制御量を算出する制御量算出部と、前記第１の制御量を用いて量子化幅を決定するビットレート制御部とを備えるものである。
【００２２】
本態様によれば、符号バッファの占有量の変化速度から符号バッファの破綻状態を予測して、符号バッファの占有量に応じて所望の量子化幅を決定することができる。これにより、主観画質の劣化を伴うことなく符号バッファの破綻状態を回避することができる。
【００２５】
さらに、本発明に係る動画像符号化装置の一態様において、前記制御量算出部は、前記変化速度が０より小さい場合において、前記変化速度の絶対値が大きいほど前記量子化幅が大きくなるように、前記第１の制御量を算出することが好ましい。
【００２６】
本態様によれば、変化速度が０より小さい場合、すなわち、符号バッファの占有量が減少傾向にある場合において、変化速度の絶対値が大きくなればなるほど量子化幅が大きくなるように第１の制御量を算出する。これにより、バッファアンダーフローによるバッファ破綻を回避することができる。
【００２７】
さらに、本発明に係る動画像符号化装置の一態様において、前記制御量算出部は、移動平均法あるいは最小二乗法を用いて、前記符号バッファの占有量の履歴から前記変化速度を求めることが好ましい。
【００２８】
本態様によれば、移動平均法あるいは最小二乗法を用いて、符号バッファの占有量の履歴から変化速度を容易に求めることができる。
【００２９】
さらに、本発明に係る動画像符号化装置の一態様において、前記ビットレート制御部は、符号化するピクチャの符号量を制御する第２の制御量を算出し、前記第１の制御量とともに前記第２の制御量を用いて、前記量子化幅を決定することが好ましい。
【００３０】
本態様によれば、バッファ占有量を制御するための第１の制御量だけではなく、符号化するピクチャの符号量を制御するための第２の制御量をも用いて量子化幅を決定する。これにより、画質を急変させることなく符号バッファの破綻状態を防ぐことができる。
【００３１】
また、本発明に係る動画像符号化装置の一態様は、動画像を符号化する動画像符号化装置であって、復号における符号バッファの占有量をシミュレーションするバッファモデル部と、前記符号バッファの占有量の変化速度に応じて量子化幅を決定するビットレート制御部と、前記符号バッファの占有量の変化速度を算出するとともに、前記変化速度に基づいて前記符号バッファの占有量を増加させる第１の制御量を算出する制御量算出部とを備え、前記ビットレート制御部は、符号化開始時点からの平均符号量を制御する平均符号量制御量として、符号化するピクチャの符号量を制御する第２の制御量を算出し、前記第１の制御量および前記第２の制御量を、前記符号バッファの占有量の割合を示す占有率により加重平均して得られる第３の制御量を用いて、前記量子化幅を決定するものである。
【００３２】
本態様によれば、第２の制御量として符号化開始時点からの平均符号量を制御するための平均符号量制御量を用い、第１の制御量および第２の制御量を符号バッファの占有量の割合を示す占有率により加重平均して得られる第３の制御量を用いて量子化幅を決定する。これにより、平均ビットレート制御とバッファ制御の優劣関係をバッファ占有量によって連続的に制御することができるので、画質を急変させることなくバッファ破綻を回避することが可能となる。
【００３３】
さらに、本発明に係る動画像符号化装置の一態様において、前記符号バッファの占有量に最小マージンが設定されていることが好ましい。
【００３４】
本態様によれば、符号バッファの占有量に最小マージンが設定されているので、バッファ制御に余裕を持たせることができる。
【００３５】
また、本発明に係る動画像符号化方法の一態様は、動画像を符号化する動画像符号化方法であって、復号における符号バッファの占有量をシミュレーションするバッファモデルステップと、前記符号バッファの占有量の変化速度に応じて量子化幅を決定するビットレート制御ステップと、を含むものである。
【００３６】
本態様によれば、符号バッファの占有量の変化速度から符号バッファの破綻状態を予測して所望の量子化幅を決定することができるので、主観画質の劣化を伴うことなく符号バッファの破綻状態を回避することができる。
【００３７】
また、本発明に係る動画像符号化プログラムの一態様は、動画像を符号化する動画像符号化プログラムであって、復号における符号バッファの占有量をシミュレーションするバッファモデルステップと、前記符号バッファの占有量の変化速度に応じて量子化幅を決定するビットレート制御ステップと、をコンピュータに実行させるものである。
【００３８】
このように、本発明に係る動画像符号化方法は、動画像符号化プログラムとしても実現することができる。
【００３９】
また、本発明に係る記録媒体の一態様は、上記の動画像符号化プログラムが記録されたコンピュータに読み取り可能な記録媒体である。
【００４０】
このように、本発明は、動画像符号化プログラムが記録されたコンピュータに読み取り可能な記録媒体として実現することもできる。
【発明の効果】
【００４１】
本発明によれば、主観画質の劣化を伴うことなく符号バッファの破綻状態を防いで、規格に適合するビットストリームを生成することができる。
【図面の簡単な説明】
【００４２】
【図１】図１は、実施の形態１に係る動画像符号化装置の構成を示すブロック図である。
【図２】図２は、実施の形態１においてＶＢＶ保護制御量を算出するための制御量算出ステップにおけるフローチャートである。
【図３】図３は、実施の形態１において符号バッファの占有量変化と制御区間とを示す図である。
【図４】図４は、実施の形態２において符号バッファの占有量変化と制御区間とを示す図である。
【図５】図５は、従来の動画像符号化装置の構成を示すブロック図である。
【発明を実施するための形態】
【００４３】
以下、本発明を実施するための形態について、図面を参照しながら説明する。
【００４４】
（実施の形態１）
まず、実施の形態１に係る動画像符号化装置１０の構成について、図１を用いて説明する。図１は、実施の形態１に係る動画像符号化装置の構成を示すブロック図である。なお、本実施の形態は、従来のＭＰＥＧ２方式において入力画像を画面（フレーム）内符号化する符号化装置に適用したものである。
【００４５】
図１に示すように、実施の形態１に係る動画像符号化装置１０は、復号における仮想バッファモデルに基づいて動画像を符号化する動画像符号化装置であって、ＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）部１と、量子化部２と、符号化部３と、ＶＢＶモデル部４と、ビットレート制御部５と、ＶＢＶ保護制御量算出部６とを備える。
【００４６】
ＤＣＴ部１は、入力画像（入力信号）１１を直交変換し、係数データとしてＤＣＴ係数１２を量子化部２に出力する。例えば、ＤＣＴ部１には、入力画像１１として動画像データ（ピクチャ）が入力され、ＤＣＴ部１は、入力画像１１に対して、８画素×８画素のブロック単位でＤＣＴ（離散コサイン変換）処理を行う。
【００４７】
量子化部２は、ＤＣＴ部１の出力データを量子化して量子化係数を出力する。本実施の形態において、量子化部２は、ビットレート制御部５から得られる量子化スケール１８に基づいて、ＤＣＴ部１から得られるＤＣＴ係数１２を量子化し、量子化係数１３を符号化部３に出力する。この量子化スケール１８が大きいほど、ＤＣＴ係数１２の情報量を削減して発生符号量１５を小さくすることができる。
【００４８】
符号化部３は、量子化部２の出力データを可変長符号化処理して符号化データを出力する。本実施の形態において、符号化部３は、量子化部２から得られる量子化係数１３と量子化スケール１８等の付加情報とを情報源符号化し、ビットストリーム１４を出力する。
【００４９】
ＶＢＶモデル部４は、復号における符号バッファの占有量をシミュレーションして仮想の符号バッファを算出する仮想バッファモデル部であって、符号化部３で生じた符号量（発生符号量１５）に基づいて復号装置側における符号バッファの占有量をシミュレーションする。本実施の形態におけるＶＢＶモデル部４は、ＭＰＥＧ２方式における符号バッファであるＶＢＶバッファの占有量（ＶＢＶバッファ占有量１６）をシミュレーションして求め、シミュレーションによって求められたＶＢＶバッファ占有量１６をビットレート制御部５とＶＢＶ保護制御量算出部６とに出力する。
【００５０】
ビットレート制御部５は、量子化部２の量子化幅（量子化ステップ）を制御してビットレート制御を行う機能を有し、符号バッファの占有量の変化速度に応じて量子化幅を決定する。本実施の形態において、ビットレート制御部５は、符号バッファの占有量を増加させてバッファを保護するための第１の制御量（バッファ保護制御量）を用いて量子化幅を決定して量子化部２に出力する。
【００５１】
より具体的には、ビットレート制御部５は、第１の制御量としてＶＢＶ保護制御量算出部６からＶＢＶ保護制御量１７（ΔＲｖｂｖ）を得て、ＶＢＶ保護制御量１７（ΔＲｖｂｖ）と目標とするピクチャ目標符号量Ｒ［ｉ］とに基づいて、量子化幅として量子化スケール１８を決定し、量子化部２に出力する。
【００５２】
さらに、本実施の形態において、ビットレート制御部５は、符号化が完了しているピクチャの符号量を用いて、次に動作するまでに符号化するピクチャの符号量を制御するための第２の制御量を算出し、第１の制御量とともに第２の制御量を用いて量子化スケール１８を決定する。
【００５３】
具体的に、ビットレート制御部５は、第２の制御量として、符号化開始時点からの平均符号量を制御する平均符号量制御量（ΔＲｒａｔｅ）をピクチャ毎に算出する。そして、ビットレート制御部５は、当該平均符号量制御量（ΔＲｒａｔｅ）とＶＢＶ保護制御量算出部６から得られるＶＢＶ保護制御量（ΔＲｖｂｖ）とをＶＢＶバッファ占有量の割合を示すＶＢＶバッファ占有率により加重平均して第３の制御量を算出し、これを用いてピクチャ目標符号量Ｒ［ｉ］を更新して量子化スケール１８を決定する。ここで、Ｒ［ｉ］のｉはピクチャ番号を表している。
【００５４】
ＶＢＶ保護制御量算出部６は、符号バッファの占有量の変化速度を算出するとともに、当該変化速度に基づいて上記の第１の制御量（バッファ保護制御量）を算出するための制御量算出部である。すなわち、ＶＢＶ保護制御量算出部６は、復号における符号バッファの破綻状態を回避するためのバッファ保護制御量を算出するバッファ保護制御量算出部である。
【００５５】
本実施の形態において、ＶＢＶ保護制御量算出部６は、ＶＢＶモデル部４の動作状態を常時監視し、シミュレーションによって算出されたＶＢＶバッファ占有量１６とその変化速度（傾き）とに基づいてＶＢＶバッファの破綻状態を予測して、その予測結果に基づいて変化速度（傾き）に応じてＶＢＶバッファの破綻状態を回避するための制御量としてＶＢＶ保護制御量１７を算出する。
【００５６】
具体的に、ＶＢＶ保護制御量算出部６は、ＶＢＶモデル部４から得られるＶＢＶバッファ占有量１６の履歴を蓄積しておき、このＶＢＶバッファ占有量１６の履歴を用いてＶＢＶバッファ占有量１６の変化速度Ｖを算出する。
【００５７】
そして、ＶＢＶ保護制御量算出部６は、ＶＢＶバッファ占有量１６の変化速度Ｖに基づいてＶＢＶバッファが破綻するピクチャ数を予測し、バッファ破綻を回避するように、ＶＢＶバッファ占有量を増加させる第１の制御量としてＶＢＶ保護制御量１７（ΔＲｖｂｖ）を決定し、ビットレート制御部５に出力する。
【００５８】
ここで、ＶＢＶ保護制御量１７（ΔＲｖｂｖ）は、０以下の値であり、小さい値ほど（絶対値が大きいほど）ピクチャ目標符号量Ｒ［ｉ］を減少させてＶＢＶバッファを増加（回復）させる効果を持つ。なお、ΔＲｖｂｖ＝０の場合は、目標符号量を制御しないことを意味する。
【００５９】
本実施の形態において、ＶＢＶ保護制御量１７（ΔＲｖｂｖ）は、変化速度Ｖが０より小さい場合、すなわち、符号バッファの占有量が減少傾向にある場合において、変化速度Ｖの絶対値が大きいほど量子化スケール１８が大きくなるような制御量が算出されることが好ましい。これにより、ＶＢＶバッファ占有量１６が増加するので、バッファアンダーフローを回避することができる。
【００６０】
また、ピクチャ間の不連続な画質差を極力なくすために、連続するピクチャにおける各ピクチャにおけるＶＢＶ保護制御量１７（ΔＲｖｂｖ）の絶対値の差は可能な限り小さくすることが好ましい。すなわち、現時点からＶＢＶバッファが破綻するまでのピクチャの数を予測したときに、破綻するまでのピクチャ数の各ピクチャにおけるＶＢＶ保護制御量１７（ΔＲｖｂｖ）は互いに異ならせることもできるが、均等にすることが好ましい。
【００６１】
次に、実施の形態１に係る動画像符号化方法について、図１を参照しながら、図２および図３を用いて説明する。図２は、実施の形態１においてＶＢＶ保護制御量（第１の制御量）を算出するための制御量算出ステップにおけるフローチャートであって、ＶＢＶ保護制御量算出部６の動作を示している。また、図３は、実施の形態１において符号バッファ占有量（ＶＢＶバッファ占有量）の変化と制御区間とを示す図である。
【００６２】
まず、ＤＣＴ部１において、入力画像１１が直交変換されてＤＣＴ係数１２が量子化部２に出力される。次に、量子化部２において、ビットレート制御部５からの量子化スケール１８に基づいてＤＣＴ係数１２が量子化され、量子化係数１３が符号化部３に出力される。次に、符号化部３において、量子化係数１３が符号化されてビットストリーム１４が出力される。
【００６３】
次に、ＶＢＶモデル部４において、符号化部３で生じた発生符号量１５に基づいて、復号におけるＶＢＶバッファ占有量１６をシミュレーションにより算出する（バッファモデルステップ）。シミュレーションによって算出されたＶＢＶバッファ占有量１６は、ＶＢＶ保護制御量算出部６に出力される。
【００６４】
次に、ＶＢＶ保護制御量算出部６において、符号バッファの占有量を増加させるための第１の制御量であるＶＢＶ保護制御量１７（ΔＲｖｂｖ）を算出する（制御量算出ステップ）。
【００６５】
具体的には、まず、図３に示すように、ＶＢＶ保護制御量算出部６において、ピクチャ番号と、ＶＢＶモデル部４から入力されたＶＢＶバッファ占有量１６との履歴を蓄積する（Ｓ１０１）。なお、ＶＢＶバッファ占有量１６は、例えばＶＢＶ保護制御量算出部６の記憶部に記録される。
【００６６】
ここで、図３において、横軸はピクチャ番号（時間）を表しており、右に進むほどピクチャ番号が大きくなるとともに時間が経過することを示している。また、図３において、縦軸はＶＢＶバッファ占有量を表しており、ＶＢＶバッファ占有量がＶＢＶバッファ占有量の最大値であるＶＢＶｓｉｚｅを超えるとオーバーフロー状態となり、ＶＢＶバッファ占有量がゼロを下回るとアンダーフロー状態となる。
【００６７】
また、図３では、ピクチャ番号がｋにおけるＶＢＶバッファ占有量を示しており、符号化開始時点からピクチャ番号がｋにおける符号化時点までの履歴を示している。さらに、図３において、ＶＢＶバッファ占有量が増加している期間（右上がりの実線部分）は、伝送路等からビットストリームが供給されている期間を示しており、規格によって一定に定められた期間である。また、ＶＢＶバッファ占有量が減少している期間（垂直の実線部分）は、１ピクチャ復号したことを示しており、垂直方向の長さは復号装置におけるバッファ部からビットストリームが取り出された量を表している。すなわち、１ピクチャあたりの符号量が大きいと、復号装置のバッファ部から取り出されるビットストリームの量が大きくなり、ＶＢＶバッファ占有量が小さくなる。
【００６８】
続いて、ＶＢＶ保護制御量算出部６は、図３に示すように、例えばＮピクチャの区間において蓄積されたＶＢＶバッファ占有量に基づいて、Ｎピクチャ区間についてのＶＢＶバッファ占有量の変化速度Ｖを求める（Ｓ１０２）。
【００６９】
なお、Ｎは、ピクチャ数であり、例えばＶＢＶバッファの最大値ＶＢＶｓｉｚｅと１ピクチャあたりの目標符号量Ｂｉｔ＿Ｐｅｒ＿Ｐｉｃｔｕｒｅとを用いて、以下の（式１）のように定義することができる。
【００７０】
【数１】
0005879555.tif 000002
【００７１】
ここで、（式１）において、ｆｌｏｏｒ（ｘ）は実数ｘ以下となる最大の整数を与える床関数である。
【００７２】
次に、（式１）で求めたＮを用いてＶＢＶバッファ占有量の変化速度Ｖを求める。変化速度Ｖは、ＶＢＶバッファ占有量の履歴に基づいて、符号化済みのピクチャにおけるＶＢＶバッファ占有量の大局的な変化を捉えるようにして算出される。このような変化速度Ｖは、移動平均法や最小二乗法などを用いて算出することができる。例えば一次方程式に近似した最小二乗法の場合、比例定数を変化速度Ｖとすることができる。
【００７３】
本実施の形態において、変化速度Ｖは、以下の（式２）のように定義する。ここで、（式２）において、ｋは直近に符号化済みのピクチャ番号、ＶＢＶ［ｊ］はピクチャ番号ｊにおけるＶＢＶバッファ占有量である。
【００７４】
【数２】
0005879555.tif 000003
【００７５】
次に、ＶＢＶ保護制御量算出部６は、変化速度Ｖの大きさを評価する（Ｓ１０３）。具体的には、変化速度Ｖが０以上であるか、０よりも小さいかを評価する。
【００７６】
このとき、変化速度Ｖが０以上の場合、ＶＢＶバッファ占有量は、Ｎピクチャ間にわたって変動していない状態である（Ｖ＝０）か、回復中の状態である（Ｖ＞０）。したがって、変化速度Ｖが０以上の場合（Ｓ１０３において、ＦＡＬＳＥ）は、バッファアンダーフローに至ることはないので、ＶＢＶ保護制御量１７（ΔＲｖｂｖ）＝０とする（Ｓ１０４）。
【００７７】
一方、変化速度Ｖが０より小さい場合（Ｓ１０３において、ＴＲＵＥ）は、ＶＢＶバッファ占有量が減少している状態である。このとき、入力画像の符号化特性が大きく変わらないという仮定の下で、ＶＢＶ保護制御量算出部６は、図３に示すように、ピクチャ番号ｋからアンダーフローに至るまでのピクチャ数Ｗｂｕｆを、以下の（式３）により算出する（Ｓ１０５）。
【００７８】
【数３】
0005879555.tif 000004
【００７９】
続いて、ＶＢＶ保護制御量算出部６は、符号バッファの占有量を増加させるための第１の制御量としてＶＢＶ保護制御量１７（ΔＲｖｂｖ）を算出する（Ｓ１０６）。
【００８０】
本実施の形態において、ＶＢＶ保護制御量１７（ΔＲｖｂｖ）は、符号化対象ピクチャからＷｂｕｆピクチャ経過する間に、ＶＢＶバッファ占有量を減少傾向から回復傾向とするための補正量として、以下の（式４）のように定義する。すなわち、ＶＢＶ保護制御量１７（ΔＲｖｂｖ）は、バッファアンダーフローを回避するために、Ｗｂｕｆの区間において１ピクチャあたりのＶＢＶバッファを回復させるための制御量を表している。
【００８１】
【数４】
0005879555.tif 000005
【００８２】
次に、ＶＢＶ保護制御量算出部６は、上記のように算出したＶＢＶ保護制御量１７（ΔＲｖｂｖ）を、ピクチャ毎にビットレート制御部５に出力する（Ｓ１０７）。
【００８３】
以上のようにして、ＶＢＶ保護制御量１７（ΔＲｖｂｖ）が算出及び出力される。
【００８４】
その後、ビットレート制御部５において、第１の制御量であるＶＢＶ保護制御量１７（ΔＲｖｂｖ）を用いて量子化スケール１８を決定する（ビットレート制御ステップ）。
【００８５】
具体的に、まず、ビットレート制御部５は、以下の（式５）を用いて、ピクチャ毎に、第２の制御量である平均符号量制御量（ΔＲｒａｔｅ）を求める。平均符号量制御量（ΔＲｒａｔｅ）は、平均ビットレートに近づけるための制御量を表している。
【００８６】
ここで、（式５）において、Ｗｒａｔｅは平均ビットレートを求めるピクチャ数を表し、Ｓ［ｊ］はピクチャ番号ｊにおけるピクチャ発生符号量を表している。なお、Ｗｒａｔｅは任意の値であり、例えば所望の時定数に応じて設定すればよく、Ｗｒａｔｅが大きいほど緩やかに符号量が制御される。
【００８７】
【数５】
0005879555.tif 000006
【００８８】
次に、ビットレート制御部５は、ＶＢＶ保護制御量１７（ΔＲｖｂｖ）および平均符号量制御量（ΔＲｒａｔｅ）の２種類の制御量を用いて、ピクチャ目標符号量Ｒ［ｉ］を更新する。
【００８９】
具体的に、ビットレート制御部５は、以下の（式６）に示すように、第３の制御量として、ＶＢＶ保護制御量１７（ΔＲｖｂｖ）と平均符号量制御量（ΔＲｒａｔｅ）とをＶＢＶバッファ占有率に応じた割合で加重平均を求め、１つ前のピクチャ目標符号量Ｒ［ｉ−１］に加算してピクチャ目標符号量Ｒ［ｉ］を算出する。なお、Ｒ［ｉ］の初期値Ｒ［０］は任意の値でよく、例えば平均ビットレートを１秒あたりのピクチャ数で割ることで得られるピクチャあたりの符号量にすればよい。ここで、ＶＢＶバッファの占有率とは、ＶＢＶバッファ占有量の最大値であるＶＢＶｓｉｚｅに対するＶＢＶバッファ占有量ＶＢＶ［ｋ］の割合である。
【００９０】
【数６】
0005879555.tif 000007
【００９１】
このように、ＶＢＶバッファ占有率に応じた割合で加重平均を求めることにより、ＶＢＶバッファ占有量が多い場合には、ＶＢＶ保護制御量（ΔＲｖｂｖ）よりも平均符号量制御量（ΔＲｒａｔｅ）を優先させて制御することでき、また、ＶＢＶバッファ占有量が少なくバッファアンダーフローを回避する必要がある場合には、平均符号量制御量（ΔＲｒａｔｅ）よりもＶＢＶ保護制御量（ΔＲｖｂｖ）を優先させて制御することができる。
【００９２】
したがって、平均ビットビットレート制御とバッファ制御の優劣関係をＶＢＶバッファ占有量によって連続的に制御することができるので、ＶＢＶバッファの占有量を急激に変化させることなくピクチャ目標符号量Ｒ［ｉ］を算出することができる。これにより、平均ビットレートや量子化スケールが急激に変化することを抑制することができるので、画質を急変させることなくバッファ破綻を回避することが可能となる。
【００９３】
なお、これは可変ビットレート（ＶＢＲ）制御のように、平均符号量制御量（ΔＲｒａｔｅ）とＶＢＶ保護制御量（ΔＲｖｂｖ）が相反する局面が生じやすい方式において、特に効果的である。
【００９４】
次に、ビットレート制御部５は、量子化スケール１８を決定する。本実施の形態では、特許文献１に示されるように、”ｇｌｏｂａｌ  ｃｏｍｐｌｅｘｉｔｙ”（複雑度）と呼ばれるパラメータとして定義されたＸに基づいて、以下の（式７）を用いて量子化スケール１８（Ｑ）を決定し、量子化部２に出力する。
【００９５】
【数７】
0005879555.tif 000008
【００９６】
ここで、（式７）において、ｉは符号化対象のピクチャ番号、Ｘは過去のピクチャの発生符号量Ｓとその量子化スケールＱの積（Ｘ＝Ｑ×Ｓ）で定義される。
【００９７】
以上のようにして、ＶＢＶ保護制御量１７（ΔＲｖｂｖ）を用いて量子化スケール１８が決定される。
【００９８】
以上、実施の形態１に係る動画像符号化装置および動画像符号化方法によれば、符号バッファの占有量（ＶＢＶバッファ占有量）の変化速度を用いることによって、アンダーフローに到達するピクチャ数を予測してバッファ破綻を回避するように量子化スケールを決定することができる。このとき、本実施の形態では、バッファ破綻の回避に必要十分な第１の制御量（ＶＢＶ保護制御量）を求め、この第１の制御量を用いて量子化スケールを決定している。これにより、主観画質の劣化を伴うことなく符号バッファの破綻状態が回避することができる。
【００９９】
さらに、本実施の形態によれば、バッファ破綻を予測することができるので、現時点からバッファ破綻までのピクチャ数に応じて、量子化スケール１８が漸次変化するようにして複数の第１の制御量（ＶＢＶ保護制御量）を算出することもできる。これにより、ピクチャ間に不連続な画質差が発生することを抑制してピクチャ間の画質を連続的に変化させて主観的に優れた画質で符号化することができる。例えば、現時点からバッファ破綻までのピクチャ数の分だけ、ＶＢＶ保護制御量（ΔＲｖｂｖ）を算出することができる。
【０１００】
また、本実施の形態において、第１の制御量とＶＢＶバッファ占有量に応じて平均符号量を制御する第２の制御量との加重平均である第３の制御量を求めて量子化スケールを決定することにより、量子化スケールの時間方向の急激な変化を抑制することが可能となる。これにより、平均ビットビットレート制御とバッファ制御の優劣関係をＶＢＶバッファ占有量によって連続的に制御することができるので、画質を急変させることなく符号バッファの破綻状態を防ぐことができる。したがって、主観画質を安定的に保つことができる動画像符号化装置を実現できる。
【０１０１】
なお、本実施の形態において、符号バッファ（ＶＢＶバッファ）を蓄積するためのピクチャ数は前述のピクチャ数Ｎ以上であれば良く、リングバッファなどを用いて記憶領域を管理しても良い。また、ピクチャ数Ｎは短いほど短期的な符号バッファの変化を捉えることが可能であるが、ピクチャ数Ｎを短くし過ぎると、ＶＢＶ保護制御量（ΔＲｖｂｖ）も短期的に変化してしまうため画質が安定しない場合がある。したがって、ピクチャ数Ｎは、（式１）のように、符号バッファの総量から換算した長さに近い値を設定することが望ましい。
【０１０２】
さらに、本実施の形態では画面内符号化ピクチャについて説明したが、これに限らない。本実施の形態は、動き補償を用いた画面間符号化ピクチャについても同様に適用可能である。特に、ＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅ）構造など、Ｉピクチャ、ＰピクチャおよびＢピクチャが周期的に現れる場合には、ピクチャ数Ｎを１ＧＯＰ以上とすると効果的である。また、本実施の形態は、ＭＰＥＧ２方式に限らず、符号バッファを備えたＭＰＥＧ−４ＡＶＣまたはＨ．２６４に代表される他の符号化方式にも適用可能である。
【０１０３】
（実施の形態２）
次に、実施の形態２について、図４を用いて説明する。図４は、実施の形態２において符号バッファの占有量変化と制御区間とを示す図である。なお、実施の形態２に係る動画像符号化装置の構成要素は、図１に示す実施の形態１に係る動画像符号化装置１０の構成要素と同様であるので、その説明は省略する。
【０１０４】
実施の形態２に係る動画像符号化装置は、実施の形態１に対して、符号バッファの占有量（ＶＢＶバッファ占有量）に最小マージン（下限値）が設定されたものである。すなわち、本実施の形態では、ＶＢＶ保護制御量（ΔＲｖｂｖ）を求める際に、ＶＢＶバッファ占有量の最小マージンが設定されている。例えば、図４に示すようにＶＢＶバッファ占有量に最小マージン（ＶＢＶｍｉｎ）を設定した場合、上記の（式４）は、以下の（式８）のようにして表すことができ、これにより、ＶＢＶ保護制御量（ΔＲｖｂｖ）を算出することができる。
【０１０５】
【数８】
0005879555.tif 000009
【０１０６】
なお、本実施の形態における動画像符号化方法は、実施の形態１と同様である。
【０１０７】
以上、実施の形態２に係る動画像符号化装置および動画像符号化方法によれば、ＶＢＶバッファ占有量に最小マージンが与えられているので、バッファ制御に余裕を持たせることができる。これにより、シーンチェンジやストロボが発光するようなピクチャ間で絵柄が大きく変化する入力画像など、実施の形態１で述べたピクチャ数Ｗｂｕｆを求める際の仮定が成立しない場合においても対応することができる。
【０１０８】
以上、本発明に係る動画像符号化装置および動画像符号化方法について、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。
【０１０９】
例えば、上記実施の形態に係る動画像符号化方法については、コンピュータによって実行させるコンピュータプログラムによって実現することもできる。また、当該動画像符号化方法に関するコンピュータプログラムについては、コンピュータによって読み取り可能非一時的な記録媒体に記録されていてもよい。記憶媒体としては、磁気ディスク、光ディスク、光磁気ディスク、ＩＣカード、半導体メモリ等があり、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）（登録商標）がある。
【０１１０】
また、上記の実施の形態に係る動画像符号化装置における機能は、種々の態様により提供可能である。例えば、ＬＳＩ等のハードウェアであってもよいし、コンピュータに組み込まれるプログラムであってもよい。
【０１１１】
その他、本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施した形態も、本発明の範囲内に含まれる。
【産業上の利用可能性】
【０１１２】
本発明に係る動画像符号化装置および動画像符号化方法は、カメラレコーダやビデオレコーダに代表される映像記録装置あるいは映像中継装置等において広く適用可能であり、または、コンピュータ上の符号化プログラム等にも適用可能である。
【符号の説明】
【０１１３】
１、１０１  ＤＣＴ部
２、１０２  量子化部
３、１０３  符号化部
４、１０４  ＶＢＶモデル部
５、１０５  ビットレート制御部
６  ＶＢＶ保護制御量算出部
１０、１００  動画像符号化装置
１１、１１１  入力画像
１２、１１２  ＤＣＴ係数
１３、１１３  量子化係数
１４、１１４  ビットストリーム
１５、１１５  発生符号量
１６、１１６  ＶＢＶバッファ占有量
１７  ＶＢＶ保護制御量
１８、１１７  量子化スケール
【図１】
0005879555.tif 000010
【図２】
0005879555.tif 000011
【図３】
0005879555.tif 000012
【図４】
0005879555.tif 000013
【図５】
0005879555.tif 000014