(57)【要約】【課題】動画の滑らかさを損なわずに、目標ビットレートを維持するようなフレームスキップ制御を行うことができる動画像符号化装置を提供する。【解決手段】動画像符号化装置において、動画像のフレームをスキップさせるフレームスキップを用いて、動画像を符号化する際のレート制御を行うレート制御部１１５を備え、レート制御部１１５は、現フレームの符号量を基に、符号化ストリームの発生ビットレートが目標ビットレートに追従するために将来必要なフレームスキップの枚数を算出し、フレームスキップの枚数のフレームスキップを等間隔にスケジュールする。【選択図】図１
2008252562.tif 000002
【特許請求の範囲】
【請求項１】
動画像を符号化する際のレート制御に、前記動画像のフレームをスキップさせるフレームスキップを用いる動画像符号化制御方法であって、
現フレームの符号量を基に、符号化ストリームの発生ビットレートが目標ビットレートに追従するために将来必要な前記フレームスキップの枚数を算出し、前記フレームスキップの枚数のフレームスキップを等間隔にスケジュールすることを特徴とする動画像符号化制御方法。
【請求項２】
請求項１記載の動画像符号化制御方法において、
前記フレームスキップの枚数は、少なくとも現在のフレームまたは過去のフレームの符号化後の予測誤差絶対和と量子化パラメータを基に算出されることを特徴とする動画像符号化制御方法。
【請求項３】
請求項１または２記載の動画像符号化制御方法において、
前記フレームスキップの枚数は、将来符号化するフレームと符号化済みフレームとの予測誤差絶対和を基に算出されることを特徴とする動画像符号化制御方法。
【請求項４】
請求項１〜３のいずれか１項記載の動画像符号化制御方法において、
前記フレームスキップの枚数は、前記動画像の入力フレームのシーケンス番号を基に前記入力フレームが落ちた枚数を検知し、この入力フレームの落ちた枚数を考慮して算出されることを特徴とする動画像符号化制御方法。
【請求項５】
請求項１〜４のいずれか１項記載の動画像符号化制御方法において、
前記フレームスキップを１以上発生させる際には、出力するフレームの量子化パラメータ値を最大値とすることを特徴とする動画像符号化制御方法。
【請求項６】
請求項１〜５のいずれか１項記載の動画像符号化制御方法において、
Ｉフレームの時刻における前記フレームスキップは、
少なくとも、当該時刻にはフレームスキップさせない、当該時刻にフレームスキップさせ直後に前記Ｉフレームを出力させる、または当該時刻にフレームスキップさせ直後にＰフレームを出力させる、のいずれかの動作となるようにスケジュールすることを特徴とする動画像符号化制御方法。
【請求項７】
動画像を符号化して出力する動画像符号化装置であって、
前記動画像のフレームをスキップさせるフレームスキップを用いて、前記動画像を符号化する際のレート制御を行うレート制御部を備え、
前記レート制御部は、現フレームの符号量を基に、符号化ストリームの発生ビットレートが目標ビットレートに追従するために将来必要な前記フレームスキップの枚数を算出し、前記フレームスキップの枚数のフレームスキップを等間隔にスケジュールすることを特徴とする動画像符号化装置。
【請求項８】
請求項７記載の動画像符号化装置において、
前記レート制御部は、前記フレームスキップの枚数を、少なくとも現在のフレームまたは過去のフレームの符号化後の予測誤差絶対和と量子化パラメータを基に算出することを特徴とする動画像符号化装置。
【請求項９】
請求項７または８記載の動画像符号化装置において、
前記レート制御部は、前記フレームスキップの枚数を、将来符号化するフレームと符号化済みフレームとの予測誤差絶対和を基に算出することを特徴とする動画像符号化装置。
【請求項１０】
請求項７〜９のいずれか１項記載の動画像符号化装置において、
前記レート制御部は、前記フレームスキップの枚数を、前記動画像の入力フレームのシーケンス番号を基に前記入力フレームが落ちた枚数を検知し、この入力フレームの落ちた枚数を考慮して算出することを特徴とする動画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像を符号化する動画像符号化制御方法および動画像符号化装置に関し、特に、動画像符号化のレート制御に関するものであり、さらに詳細にはレート制御におけるフレームスキップ制御に適用して有効な技術に関する。
【背景技術】
【０００２】
動画像符号化方式には、ＭＰＥＧ−１（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ  Ｐｈａｓｅ−１）、ＭＰＥＧ−２、ＭＰＥＧ−４、ＭＰＥＧ−４  ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）などがある。これら一般的な動画像符号化では、時間方向での画像フレーム間の相関性や、フレーム内の画素間の相関性などを利用して冗長な情報量を削減し、可変長符号化を行う。このため、入力画像の性質や動きなどに応じて一定の画質を得るために要する符号量が変化する。
【０００３】
レート制御は、符号量と画質の制御を行う処理である。すなわち、符号量を多く割り当てて画質を高めるか、符号量を少なくして画質を落とすかを制御する処理である。レート制御では一般的に、過去のフレームの符号量情報などを基に、変換・量子化処理における量子化ステップ幅を決定することにより、符号量と画質を制御する。具体的には、量子化ステップ幅が増えると符号量が小さくなり、量子化ステップ幅が小さくなると符号量が大きくなる性質を利用し、符号量と画質の制御を行う。
【０００４】
フレームスキップ処理は、レート制御における、上記の量子化ステップ幅以外による符号量制御方法として位置づけられる。量子化ステップ幅が取り得る値の範囲には制限があるため、この制限内の調整だけでは、符号量を目標のビットレート以下に抑えることができない場合がある。フレームスキップ処理では、このようなときに符号化フレームを破棄し、符号化ストリームとして出力しないことにより、出力される符号量を抑制する。ただしフレームスキップは、フレームとフレームの時間間隔を増加させるため、映像の滑らかさを損ねる可能性がある。このためフレームスキップ処理では、いかにフレームスキップによる映像の滑らかさの劣化を抑えながら、符号量を目標ビットレートに収束させるかが重要となる。
【０００５】
また、フレームスキップ処理における閾値判定の技術として、特許第３２０６４１３号公報（特許文献１）に示されるような、フレームの動き量などといった、画像の特徴に応じてフレームスキップ数を増減させる方法があった。これは、画像の特徴に応じてフレームスキップ数を制御することで、人間の視覚特性を利用してフレームスキップによる映像の滑らかさの劣化を抑制することができる。
【特許文献１】特許第３２０６４１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来のフレームスキップ処理では、１フレームの符号化後の発生符号量に基づき、何らかの閾値処理を行い、当該フレームをスキップさせるか否かを判定させる方法が主である。例えば、あるレート制御の単位区間において、発生ビットレートが目標ビットレートを大きく上回る場合には、当該フレームをスキップさせる、といった閾値処理が挙げられる。この場合、一度スキップが発生してしまう状況に陥ると、スキップが連続して起こるため、フレーム間の時間間隔が広がり、動画の滑らかさが損なわれるという問題があった。
【０００７】
また、特許文献１に記載の閾値判定においても、画像の特徴によってフレームスキップが制御されるため、目標ビットレートへの追従性が悪いという課題があった。
【０００８】
そこで、本発明の目的は、上記の事情を鑑みてなされるものであり、動画像符号化レート制御において、動画の滑らかさを損なわずに、目標ビットレートを維持するようなフレームスキップ制御を行うことができる動画像符号化制御方法および動画像符号化装置を提供することである。
【０００９】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１１】
本発明による動画像符号化制御方法は、動画像を符号化する際のレート制御に、動画像のフレームをスキップさせるフレームスキップを用いる動画像符号化制御方法であって、現フレームの符号量を基に、符号化ストリームの発生ビットレートが目標ビットレートに追従するために将来必要なフレームスキップの枚数を算出し、フレームスキップの枚数のフレームスキップを等間隔にスケジュールするものである。
【００１２】
また、本発明による動画像符号化装置は、動画像を符号化して出力する動画像符号化装置であって、動画像のフレームをスキップさせるフレームスキップを用いて、動画像を符号化する際のレート制御を行うレート制御部を備え、レート制御部は、現フレームの符号量を基に、符号化ストリームの発生ビットレートが目標ビットレートに追従するために将来必要なフレームスキップの枚数を算出し、フレームスキップの枚数のフレームスキップを等間隔にスケジュールするものである。
【発明の効果】
【００１３】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００１４】
本発明によれば、フレームスキップを時間的に等間隔に発生させながら、発生ビットレートを目標ビットレートに追従させることで、フレームスキップによる動画像の滑らかさが損なわれる現象を軽減できる。
【００１５】
また、本発明によれば、これから符号化を行う１枚以上のフレームを予め解析できるような場合には、将来符号化するフレームと符号化済みフレームとの予測誤差絶対和を基に、フレームスキップの枚数を算出することで、符号化ストリームの目標ビットレートへの追従性を向上させることが可能となる。
【００１６】
さらに、本発明によれば、システムの外的要因により（例えば周囲が突然暗くなるとカメラモジュールが映像をキャプチャできずに、入力フレーム画像が生成されないなど）、指定したフレームレート通りに符号化装置にフレーム画像が入力されないような場合には、入力フレーム画像がどれだけ落ちたかを検出し、この検出結果を考慮してフレームスキップをスケジュールすることで、入力フレームレートが指定フレームレートよりも落ちる場合であっても、符号化ストリームの目標ビットレートへの追従性を保つことが可能となる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１８】
（実施の形態１）
図１により、本発明の実施の形態１に係る動画像符号化制御方法を実施するための動画像符号化装置の構成について説明する。図１は本発明の実施の形態１に係る動画像符号化制御方法を実施するための動画像符号化装置の構成を示す構成図である。
【００１９】
図１において、動画像符号化装置は、符号化対象の入力画像を一時的に蓄積する入力フレームメモリ１０１、予測の際に参照される符号化済み画像を蓄積する参照フレームメモリ１０７、ブロック単位でフレーム内予測画像を生成するフレーム内予測部１０８、ブロック単位でフレーム間予測画像を生成するフレーム間予測部１０９、フレーム内予測画像とフレーム間予測画像を適宜切り替えてブロック単位で予測画像を生成し、ブロック単位で予測画像と入力画像との予測誤差Ｓa を算出するモード選択部１１０、ブロック単位の入力画像と予測画像の差分画像（予測誤差画像）を直交変換する直交変換部１０２、量子化部１０３、可変長符号化部（ＶＬＣ）１０４、復号側と同じ予測誤差画像を得るための逆量子化部１０５、逆直交変換部１０６およびレート制御部１１５から構成されている。
【００２０】
レート制御部１１５は、毎フレームの目標符号量Ｔb を決める目標符号量算出部１１１、目標符号量Ｔb を実現するための量子化パラメータＱp を決めるＱＰ算出部１１２、フレームスキップ判定を行うフレームスキップ部１１３、レート歪モデルパラメータの更新を行うＲＤモデル更新部１１４から構成されている。
【００２１】
次に、図２および図３により、本発明の実施の形態１に係る動画像符号化制御方法による処理フローについて説明する。図２は本発明の実施の形態１に係る動画像符号化制御方法の処理フローを示すフローチャート、図３は本発明の実施の形態１に係る動画像符号化制御方法のフレームスキップ判定処理を示すフローチャートである。
【００２２】
本発明の実施の形態１に係る動画像符号化制御方法は、図１に示すレート制御部１１５内での処理として実施されている。以下、レート制御部１１５の動作として説明する。
【００２３】
まず、動画像符号化制御方法の処理フローとしては、図２に示すように、ステップＳ２０１で符号化処理に必要な諸パラメータの初期化を行う。ステップＳ２０２で、目標ビット量を満たすように当該フレームの目標符号量Ｔb を決める。
【００２４】
ステップＳ２０３では符号化した結果の発生符号量が目標符号量Ｔb に近くなるような量子化パラメータＱp を決定する。ステップＳ２０４では、決定したＱp により１フレームの符号化が行われた符号化結果が入力される。
【００２５】
ステップＳ２０５では、符号化結果を基に当該フレームをスキップするか否かの判定を行う。ステップＳ２０５でフレームがスキップされた場合には、当該フレームの符号化結果は破棄され、出力ストリームには含まれない。
【００２６】
ステップＳ２０６では、符号化後の諸パラメータの更新を行う。ステップＳ２０７で符号化終了判定を行い、終了でなければ次のフレームの符号化処理を行うため、ステップＳ２０２へジャンプする。この処理を符号化終了まで繰り返す。
【００２７】
次に、上記のステップのうち、本発明の実施の形態１に係る動画像符号化制御方法に関連するステップＳ２０２、ステップＳ２０３、ステップＳ２０４、およびステップＳ２０６の処理について詳細を説明する。
【００２８】
ステップＳ２０２では、目標符号量算出部１１１においてフレームの目標符号量Ｔb を決定する。ここでは、ＭＰＥＧ−２の参照モデルＴＭ５（Ｔｅｓｔ  Ｍｏｄｅｌ  ５）で採用されている以下の周知の式（１）を用いる。ただし、本実施の形態の動画像符号化制御方法は、目標符号量の算出方法に制約されるものではない。
【００２９】
【数１】
2008252562.tif 000003
【００３０】
式（１）においてＴＩ  、ＴＰ  、ＴＢ  はそれぞれ、Ｉフレーム、Ｐフレーム、Ｂフレームに対する割当ビット量であり、符号化フレームのタイプに応じてＴＩ  、ＴＰ  、ＴＢ  のいずれかをＴb とする。Ｒはレート制御区間内のビット残量、Ｎｉ  、Ｎｐ  、Ｎｂ  はそれぞれＩフレーム、Ｐフレーム、Ｂフレームのレート制御区間内の残り枚数、Ｋｐ  、Ｋｂ  はそれぞれＩフレームに対する、Ｐフレーム、Ｂフレームの量子化ステップ幅の比率を表す係数であり、ここではそれぞれＫｐ  ＝１．０、Ｋｂ  ＝１．４とする。
【００３１】
Ｘｉ  、Ｘｐ  、Ｘｂ  は、それぞれＩフレーム、Ｐフレーム、Ｂフレームの複雑度を示す値であり、それぞれのタイプの直前のフレームの発生符号量と量子化ステップ幅の積により与えられる。
【００３２】
式（１）により、レート制御区間の残りのフレームの枚数、フレームタイプに応じた量子化ステップ幅の比や、発生符号量を考慮した上で、目標ビットレートへ追従するための各フレームの目標符号量Ｔb を決定することができる。
【００３３】
ステップＳ２０３では、ＱＰ算出部１１２において、フレームの目標符号量Ｔb を基に、量子化パラメータＱp を決定する。ここでは、以下の式（２）で示される既知のレート歪モデル関数を用いてＱp を決定する。ただし、本実施の形態の動画像符号化制御方法はＱp の決定方法に制約されるものではない。例えば、直前のフレームのＱp を、何らかのルールにより増減させるような決定方法でもよい。
【００３４】
【数２】
2008252562.tif 000004
【００３５】
式（２）で、Ｒi はｉ番目フレームの発生符号量、Ｑi は量子化ステップ幅、ＳＡＤi は符号化フレーム画像の、参照フレーム画像との予測誤差絶対和である。Ｘ1 、Ｘ2 はレート歪モデルパラメータであり、後述するように毎フレームの符号化後に更新される。Ｘ1 、Ｘ2 は、Ｉフレーム、Ｐフレーム、およびＢフレームそれぞれのフレームタイプ毎に管理される。
【００３６】
量子化パラメータＱp を決定するためには、目標符号量Ｔb を式（２）のＲi に代入し、Ｑｉについての２次方程式を解くことでフレームの量子化ステップ幅Ｑi を求める。
【００３７】
さらに、各動画像符号化方式が定める仕様により、Ｑi を量子化パラメータＱp に変換する。ただし、ＳＡＤi は先頭フレームでは求めることができないため、各フレームタイプの先頭フレームでは、式（２）を用いず、予め定められた初期値を設定するなど、何らかの代替手段によりＱp を決定するものとする。
【００３８】
また、ＳＡＤi は、本来これから符号化を行うフレームの、参照フレーム画像との予測誤差絶対和であるべきだが、レート制御部１１５では、符号化遅延時間を軽減するため、この予測誤差絶対和を算出する機能ブロックを有していない。
【００３９】
このため、式（２）で用いるＳＡＤi には、前フレームの符号化処理にて、モード選択部１１０で得られる予測誤差絶対和Ｓa にて代用する。
【００４０】
ただし、ステップＳ２０３では、後述するように、レート制御区間の残りにおいてフレームスキップが１枚以上スケジューリングされている場合には、Ｑp を最大値に設定する。これは後述するように、フレームスキップが発生するような状況では、フレームの符号量を極力小さくし、フレームスキップを回避するように制御されるべきであるためである。
【００４１】
ステップＳ２０３で決定されたＱp は、量子化部１０３へ渡され、ステップＳ２０４で１フレームの符号化処理が行われる。フレームの符号化結果は出力フレームメモリ１１６に蓄積される。
【００４２】
ステップＳ２０５のスキップ判定処理は後述する。
【００４３】
ステップＳ２０６では、レート制御に関する式（１）と式（２）のパラメータの更新を行う。
【００４４】
式（１）に関しては、レート制御区間内のビット残量Ｒを、Ｒ＝Ｒ−Ｇb により更新する。ここでＧb はステップＳ２０５で符号化したフレームの発生符号量である。またレート制御区間内の残りフレーム数Ｎｉ  、Ｎｐ  、Ｎｂ  のうち、当該フレームのフレームタイプに相当する値を１減らす。
【００４５】
さらに、各フレームタイプの複雑度Ｘｉ  、Ｘｐ  、Ｘｂ  のうち、当該フレームのフレームタイプに相当する値をＸ＝Ｑa ×Ｇb により更新する。ここでＱa は符号化フレーム内の平均Ｑp に相当する量子化ステップ幅である。
【００４６】
式（２）に関しては、当該フレームのフレームタイプに相当するパラメータＸ1 、Ｘ2 を、過去のＮフレームにおけるＲi 、Ｑi 、ＳＡＤi を用いた線形回帰分析により、以下の既知の式（３）のように更新する。
【００４７】
【数３】
2008252562.tif 000005
【００４８】
次に、ステップＳ２０５にて、フレームスキップ部１１３で行われるフレームスキップ判定処理の詳細を説明する。
【００４９】
フレームスキップ部１１３で行われるフレームスキップ判定処理は、図３に示すように、ステップＳ３０１では、発生ビットレートを目標ビットレートに追従させるために、レート制御区間に最大何枚のフレームを含むことができるかを予測する。具体的には、以下の（１）〜（２）の手順に従う。
【００５０】
（１）Ｑp が最大値であるかどうかを判定する。
【００５１】
フレームスキップは、映像の滑らかさを損ねるため、極力回避されるべきである。このため、フレームスキップが発生するときには、Ｑp が最大値になっていて、フレームの符号量が極力小さくなるべきである。このことから本処理では、ステップＳ２０３で決定されたＱｐが最大値、もしくは最大値に近いときにのみフレームスキップ判定処理を行い、それ以外のときにはフレームスキップは行わない。
【００５２】
（２）最大フレーム枚数を推定する。
【００５３】
前記の判定でＱp が最大値である場合、符号化した結果の発生符号量Ｇb は、最小符号量かそれに近い値となっているとみなす（このときの発生符号量Ｇb をＧbminと記す）。この最小符号量Ｇbminを基に、目標ビットレートを実現するためには、レート制御区間の残りに、極力符号量を小さくしたときに最大何枚のフレームを符号化できるかを推定する。なお以下では説明の簡略化のため、Ｐフレームをスキップさせる場合の例で述べるが、ＩフレームやＢフレームについても同様に適用できる。なお、フレームタイプに応じたフレームスキップのさせ方については後述する。
【００５４】
Ｐフレームを何枚含むことができるかを推定する一例として、式（１）の第２式のＴＰ  にＧbminを代入し、Ｎｐ  を未知数Ｚｐ  とし、この式をＺｐ  について解くことで、Ｐフレームの最大枚数を推定することができる。これは、将来のＰフレームの符号量がＧbminであると仮定した場合に、目標ビットレートに追従するために含むことができる最大のＰフレーム枚数に相当する。
【００５５】
ステップＳ３０２では、後述するスキップの再スケジューリングが必要かどうかを判定する。ここでフレームスキップのスケジューリングとは、レート制御区間の残りのフレームのスキップ位置を決定することを意味する。
【００５６】
レート制御区間内の残りのＰフレーム枚数Ｎｐ  と、ステップＳ３０１で得られた推定最大フレーム数Ｚとから、以下の条件式（４）、（５）のいずれかに該当する場合は、フレームスキップの再スケジューリングが必要と判定する。
Ｎｐ  −Ｙ−Ｚｐ  ＞ＴＨ  ・・・（４）
Ｎｐ  −Ｙ  ＜Ｚｐ        ・・・（５）
ここでＴＨは予め定めた閾値であり、１以上の整数値である。Ｙは後述するように、既にフレームスキップがスケジュールされている場合の、残りのスキップ予定枚数であり、初期値は０である。
【００５７】
式（４）は、目標ビットレート以下に抑えるために、現在のスキップ予定枚数Ｙよりも、さらにスキップ枚数を増やすための判定条件である。
【００５８】
式（５）は、現在のスキップ予定枚数Ｙよりも、スキップ枚数を減らしても、目標ビットレートに追従できると判断するための条件である。
【００５９】
これら以外のときは、スキップの再スケジューリングは不要と判定される。
【００６０】
ステップＳ３０３では、ステップＳ３０２でスキップの再スケジューリングが必要と判定された場合にフレームスキップのスケジューリングを行う。ここではフレームスキップのスケジューリングの一例としては、以下の（１）〜（３）のようにスキップ開始位置、スキップ間隔、スキップ枚数を決定する。
（１）初めにスキップ枚数Ｙを決定する。前述の例では、（Ｎｐ  −Ｚｐ  ）を新たな予定スキップ枚数Ｙとする。
（２）レート制御区間の残りフレーム数Ｎｐと、予定スキップ枚数Ｙとから、残りのレート制御区間でフレームスキップが等間隔に行われるように、スキップ間隔を決定する。ここでは、Ｎｐ  ／Ｙをスキップ間隔とする。
（３）スキップ開始位置Ｓ０を決定する。一例としては、スキップ枚数が増えるときには、必ず当該フレームをスキップ開始位置とし、当該フレームをスキップさせるようにする。逆にスキップ枚数が減り、かつ直前のスケジューリングにおいてフレームスキップが予定されていない場合には、スキップが不必要に連続しないように、スキップ開始位置を次のフレームとする。
【００６１】
以上により、予定フレームスキップ位置は、以下の式（６）のようにスケジューリングされる。
Ｓ0 ＋Ｃｅｉｌ（Ｎｐ  ／Ｙ×ｎ）  ・・・（６）
ただし、ｎ＝０・・・Ｎｐ  −Ｚ−１である。Ｃｅｉｌ（Ｘ）は、実数Ｘ以上の最小の整数である。式（６）により、発生する符号化ストリームが目標ビットレートに追従するように、（Ｎｐ  −Ｚ）回のフレームスキップが、スキップ開始位置Ｓ0 から（Ｎｐ  ／Ｙ）の間隔で発生するようにスケジューリングされる。
【００６２】
ステップＳ３０４では、式（６）におけるスキップ開始位置Ｓ0 が現在の符号化フレーム位置であれば、ステップＳ３０５に移り、現フレームスキップを確定する。ステップＳ３０５では、フレームスキップ部１１３は、スキップ制御信号Ｓk をＯＮにし、当該フレームデータを出力させない。
【００６３】
ステップＳ３０４では、式（６）におけるスキップ開始位置Ｓ0 が現在の符号化フレーム位置でなければ、ステップＳ３０６に移り、現フレームの非スキップを確定する。ステップＳ３０６では、フレームスキップ部１１３は、スキップ制御信号Ｓk をＯＦＦにし、当該フレームデータを出力させる。
【００６４】
ステップＳ３０２で、スキップの再スケジューリングが不要と判定された場合には、ステップＳ３０７に移り、現在のフレームが既存のスケジューリングによりフレームスキップが予定されていないかどうかをチェックする。すなわち、現フレーム位置が式（６）におけるいずれかのｎに対応するフレームスキップ位置に該当するかどうかを判定する。
【００６５】
もしも現フレームでフレームスキップが予定されている場合には、ステップＳ３０５に移り、フレームスキップを確定する。もしも現フレームでフレームスキップが予定されていない場合には、ステップＳ３０６に移り、フレームスキップを行わないと確定する。
【００６６】
以上に述べたように、本実施の形態によると、目標ビットレートに近い発生ビットレートを得るために必要な将来のフレームスキップ枚数を予測し、フレームスキップ位置を等間隔にスケジューリングする。このため、目標ビットレートに抑えるためにフレームスキップが連続して発生する現象が回避され、フレームスキップ発生による映像の滑らかさが損なわれる問題を軽減できる。
【００６７】
次に、図４〜図１２により、本発明の実施の形態１に係る動画像符号化制御方法におけるフレームタイプとフレームスキップとの関係について、符号化ストリームがＢフレームを含まない（すなわちＩフレームとＰフレームのみから構成される）場合と、Ｂフレームを含む（すなわちＩフレーム、Ｐフレーム、およびＢフレームとから構成される）場合とについてそれぞれ説明する。図４〜図１２は本発明の実施の形態１に係る動画像符号化制御方法におけるフレームタイプとフレームスキップとの関係を説明するための説明図である。
【００６８】
図４は符号化ストリームが、Ｂフレームを含まないときの入力フレーム、フレームバッファ、および出力フレームの関係を示している。図４において入力フレームの個々の数字は入力フレームの順番を表しており、出力フレームにおける数字にそれぞれ対応する。符号化処理においてＢフレームを含まない場合には、入力フレームの画像データを蓄積するフレームバッファは原理的に最低１フレームだけでよく、図４では全てフレームバッファ＃０として記されている。
【００６９】
フレームバッファ＃０に蓄積された入力フレームデータが符号化され、出力フレームとして符号化される。ただし、図４の横軸は、フレーム単位の時刻であり、符号化処理による遅延は示していない（以降の図５から図１２も同様である）。すなわち、図４では入力されたフレームは、フレーム単位での遅延がなく、入力フレームの時刻と出力フレームの時刻とは同じであることを示している。
【００７０】
図５は、図４の例において、Ｐフレームの時刻のみでフレームスキップを発生させる場合の、入出力フレームの関係を示している。図５で示すように、符号化ストリームがＢフレームを含まない場合、Ｐフレームの時刻でフレームスキップが発生しても、後続フレームのフレームタイプに影響を及ぼすことはない。
【００７１】
これに対し、Ｉフレーム時刻でフレームスキップが発生する場合には図６と図７に示す２通りの出力が考えられる。図６は、図４の例においてＩフレーム（図中のＩ５）の時刻でフレームスキップが発生したとき、後続フレームのフレームタイプを変更しない場合の例を示している。
【００７２】
Ｉフレーム（Ｉ５）Ｉ５直後のＰフレーム（Ｐ６）の符号化の際のフレーム間予測では、Ｉフレーム（Ｉ５）を参照することはできないため、Ｐフレーム（Ｐ４）を参照する。
【００７３】
図６に示す例では、フレームスキップしたＩフレームの代わりのＩフレームが後続しない。通常、Ｉフレームの符号量はＰフレームよりも大きいため、図６ではＩフレームが削減されたことによる符号量の削減効果は高いが、フレームスキップによりＩフレームの出現間隔が大きく変化するため、符号化ストリームのランダムアクセス性に影響が出る可能性がある。
【００７４】
これに対し、図７は、Ｉフレーム（図中のＩ５）の時刻でフレームスキップが発生したとき、直後のフレームのフレームタイプをＩフレームに変更する場合の例を示している。
【００７５】
図６と比べ、Ｉフレームの時刻が直後のフレーム時刻に変わるだけのため、フレームスキップによる符号量の削減効果は小さいが、Ｉフレームの出現間隔の変化は小さいため、ランダムアクセス性は保たれる。
【００７６】
以上で述べたように、符号化ストリームにＢフレームが含まれない場合には、「Ｉフレーム時刻ではフレームスキップさせない」（図５参照）、「Ｉフレーム時刻でフレームスキップさせ、Ｉフレーム数を減らす」（図６参照）、「Ｉフレーム時刻でフレームスキップさせるが、直後のフレーム時刻でＩフレームを出力する」（図７参照）、との３通りの可能性がある。
【００７７】
本実施の形態における動画像符号化装置は、Ｉフレーム時刻でのフレームスキップ時の出力に関する上記の選択肢をユーザが選択できるよう、何らかの手段を備えていることが望ましい。
【００７８】
また、図２のステップＳ２０２において目標符号量Ｔb を算出する際に用いる式（１）のＮｉ  、Ｎｐ  は、上記の選択肢に基づき、レート制御区間内のそれぞれのフレームタイプの残り枚数を、毎フレームの符号化時に算出される必要がある。
【００７９】
図８は符号化ストリームが、Ｂフレームを含むときの入力フレーム、フレームバッファ、および出力フレームの関係を示している。図８に示すようにＰフレームの間にＢフレームが最大Ｎ枚存在する場合は、符号化フレームが出力されるフレーム時刻は、入力フレームの時刻に対してＮフレームだけ遅延する。
【００８０】
このため、入力フレームを格納するフレームバッファは（Ｎ＋１）フレーム分必要となる。図８では、Ｎ＝２（すなわちＢフレームがＰフレームの間に２枚存在する）の場合の例を示している。このとき必要なフレームバッファは３枚であり、図８ではそれぞれ＃０、＃１、＃２と記している。
【００８１】
図９は、Ｂフレームの時刻のみでフレームスキップを発生させる場合の、入出力フレームの関係を示している。図９で示すように、符号化ストリームがＢフレームを含む場合、Ｂフレームの時刻のみでフレームスキップが発生しても、後続フレームのフレームタイプに影響を及ぼすことはない。
【００８２】
図１０は、Ｐフレーム（Ｐ３）の時刻でフレームスキップが発生したときの、入出力フレームの関係を示している。Ｐフレームの時刻でフレームスキップが発生した場合には、その直後のフレーム時刻でＰフレーム（Ｐ４）が出力されるようにフレームタイプを変更する。
【００８３】
この理由としては、もしも上記の場合に、４番目の出力フレームのフレームタイプをＢフレームのままにすると、Ｐフレーム間のＢフレームの枚数が増え、必要なフレームバッファが増えてしまうこととなり、実装上好ましくないためである。
【００８４】
符号化ストリームがＢフレームを含む際、Ｉフレームの時刻でフレームスキップが発生する場合には、直後のフレームタイプの変更方法には２つの選択肢がある。
【００８５】
図１１は、Ｉフレーム（Ｉ９）の時刻でフレームスキップが発生した場合、その直後のフレームタイプをＩフレーム（Ｉ１０）に変更する例を示している。図７で示した例と同様に、Ｉフレームの時刻が直後のフレーム時刻に変わるだけのため、フレームスキップによる符号量の削減効果は小さいが、Ｉフレームの出現間隔の変化は小さいため、ランダムアクセス性は保たれる。
【００８６】
図１２は、Ｉフレーム（Ｉ９）の時刻でフレームスキップが発生した場合、その直後のフレームタイプをＰフレーム（Ｐ１０）に変更する例を示している。図６で示した例と同様に、ＩフレームがＰフレームに置き換えられるため、フレームスキップによる符号量の削減効果は高いが、Ｉフレームが削除されたため、Ｉフレームの出現間隔が大きく変わる。
【００８７】
以上で述べたように、符号化ストリームにＢフレームが含まれる場合には、「Ｂフレーム時刻のみでフレームスキップさせる」（図９参照）、「Ｉフレーム時刻でフレームスキップさせ、その直後のフレームタイプをＩフレームにする」（図１１参照）、「Ｉフレーム時刻でフレームスキップさせ、直後のフレームタイプをＰフレームに変更する」（図１２参照）、の３通りの可能性がある。
【００８８】
本実施の形態における動画像符号化装置は、Ｉフレーム時刻でのフレームスキップ時の出力に関する上記の選択肢をユーザが選択できるよう、何らかの手段を備えていることが望ましい。
【００８９】
また、図２のステップＳ２０２において目標符号量Ｔb を算出する際に用いる式（１）のＮｉ  、Ｎｐ  、Ｎｂ  は、上記の選択肢に基づき、レート制御区間内のそれぞれのフレームタイプの残り枚数を、毎フレームの符号化時に算出される必要がある。
【００９０】
次に、図１３および図１４により、本発明の実施の形態１に係る動画像符号化制御方法によるフレームスキップの効果について説明する。図１３および図１４は本発明の実施の形態１に係る動画像符号化制御方法によるフレームスキップの効果を説明するための説明図である。
【００９１】
図１３（ａ）は、従来技術の例として、１フレームの符号化後の発生符号量により、符号化結果が目標ビットレートを超えるかどうか、閾値判定を行うことにより当該フレームをスキップさせるか否かを決定する際の、フレームスキップの結果を示している。図１３（ａ）に示すように、符号化結果が閾値条件に到達して一度フレームスキップが発生すると、その閾値条件が続きフレームスキップが連続して発生してしまうことで、映像の滑らかさが損なわれてしまう。
【００９２】
これに対し、図１３（ｂ）に示すように、本実施の形態では予め必要なフレームスキップ数を予測し、図１３（ａ）における閾値条件に到達する前にフレームスキップを発生させることで、図１３（ａ）のようにフレームスキップが連続することを回避できる。
【００９３】
図１４（ａ）は、従来技術の例として、画像のフレーム間の動きの量に応じてフレームスキップの増減を制御する際のビットレートの推移を示している。従来技術では、一般的に動きが大きい場合、フレームスキップによる劣化が目立ちやすいため、フレームスキップ数が減るように制御される。よって図１４（ａ）に示すように、フレーム間の動きが大きい場合にはフレームスキップが行われずに、発生ビットレートが目標ビットレートを超えてしまう可能性がある。
【００９４】
これに対し、図１４（ｂ）に示すように、本実施の形態では目標ビットレートへの追従性を優先してフレームスキップの配置を決めているため、画像の特徴によってビットレートが変動するような現象を回避できる。
【００９５】
（実施の形態２）
実施の形態２による動画像符号化制御方法は、実施の形態１の動画像符号化制御方法において、符号化対象フレームを含め、１フレーム以上先のフレームが入力フレームメモリに予め格納され、データを先読みして予測処理を行ってＳＡＤを算出し、その結果をレート制御に反映することで、将来のフレームの符号化に要する符号量をより精度よく推測するようにしたものである。
【００９６】
図１５により、本発明の実施の形態２に係る動画像符号化制御方法を実施するための動画像符号化装置の構成について説明する。図１５は本発明の実施の形態２に係る動画像符号化制御方法を実施するための動画像符号化装置の構成を示す構成図である。
【００９７】
図１５において、レート制御部４０１は、実施の形態１におけるレート制御部１１５と比較して、ＳＡＤ算出部４０２を新たに有し、ＱＰ算出部４０３が、実施の形態１のＱＰ算出部１１２に置き換わっている点が異なる。その他の構成ブロックは実施の形態１と同様である。
【００９８】
次に、図１６により、本発明の実施の形態２に係る動画像符号化制御方法による処理フローについて説明する。図１６は本発明の実施の形態２に係る動画像符号化制御方法の処理フローを示すフローチャートであり、以下、実施の形態１の図２に示すフローチャートとの差異を中心に説明する。
【００９９】
まず、ステップＳ２０１におけるパラメータ初期化は実施の形態１と同様である。
【０１００】
ステップＳ５０１では、符号化に先立ち、モード選択部１１０は、入力フレームメモリ１０１に格納された入力フレーム画像と、参照フレームメモリ１０７に格納された参照画像に動き補償を施した予測画像との差分である予測誤差絶対和Ｓa をブロック毎に算出し、ＳＡＤ算出部４０２へ送る。ＳＡＤ算出部４０２では、ブロック毎の予測誤差絶対和Ｓa の平均値Ｓb を算出する。
【０１０１】
ステップＳ２０２における目標符号量決定処理は実施例１と同様である。
【０１０２】
ステップＳ５０２における初期ＱＰ決定処理では、ステップＳ２０２で決定した当該フレームの目標符号量を式（２）のＲi に、ステップＳ５０１で算出された当該フレームの平均予測誤差絶対和Ｓb を式（２）のＳＡＤi にそれぞれ代入し、ステップＳ２０３と同様にＱについて解くことで、当該フレームの初期ＱＰを決定する。
【０１０３】
このように将来符号化するフレームの平均予測誤差絶対和Ｓb を予め算出しておくことで、ステップＳ５０２における初期ＱＰにおいて、当該フレームの目標符号量により近い発生符号量を生成する初期ＱＰを算出することが可能となる。
【０１０４】
ステップＳ２０４におけるフレーム符号化処理は実施の形態１と同様である。
【０１０５】
ステップＳ５０３におけるスキップ判定処理は、実施の形態１とほぼ同様であるが、目標ビットレートに追従させるためのフレームスキップ枚数の予測精度を向上させるために、将来のフレームの平均予測誤差絶対和Ｓb を利用する点において、実施の形態１のステップＳ２０５と異なる。
【０１０６】
すなわち、ステップＳ３０１における最大フレーム数の予測処理において、実施の形態１では、現フレームの発生符号量Ｇb を式（１）の左辺（当該フレームがＰフレームであればＴｐ）に代入していた。
【０１０７】
一方、本実施の形態では、平均予測誤差絶対和Ｓb を求めたそれぞれの将来のフレームに対し、式（２）のＳＡＤi にＳb を代入し、Ｑには最大ＱＰに対応する量子化ステップ幅を代入することで、各々のフレームの符号量の予測値を得る。例えば、これらの予測値の平均値を式（１）の左辺に代入することにより、将来のフレームの符号量予測を考慮した上で、フレームスキップ数を決定することができる。
【０１０８】
図１６において、以降のステップＳ２０６、Ｓ２０７における処理は、実施の形態１と同様である。
【０１０９】
以上のように、本実施の形態による動画像符号化制御方法では、入力フレームメモリ１０１に格納された、将来符号化を行うフレームの予測誤差絶対和を予め算出しておくことにより、将来発生する符号量の予測精度を高めた上で、フレームスキップのスケジュールを行うことができるため、よりビットレート追従性の高いフレームスキップ制御が実現できる。
【０１１０】
（実施の形態３）
実施の形態３による動画像符号化制御方法は、実施の形態１の動画像符号化制御方法において、入力フレームレートが変動した場合を考慮するようにしたものである。すなわち、入力フレームメモリに格納されるフレームのシーケンス番号を参照し、前回の符号化フレームから次の入力フレームまで、何枚のフレームが落ちているかを検出し、フレームスキップのスケジューリングに反映させる。
【０１１１】
本実施の形態は、カメラモジュールなどからの映像信号を入力とする符号化器において、符号化器への映像の入力が何らかの外因により、指定したフレームレート通りに入力されないような場合に、符号化器への入力フレームレートが変動するようなときの動作を想定している。例えば、カメラモジュールの中には、周囲が突然暗くなると映像をキャプチャできないような場合があり、本実施の形態はこのような場合を想定している。
【０１１２】
図１７により、本発明の実施の形態３に係る動画像符号化制御方法を実施するための動画像符号化装置の構成について説明する。図１７は本発明の実施の形態３に係る動画像符号化制御方法を実施するための動画像符号化装置の構成を示す構成図である。
【０１１３】
図１７において、レート制御部６０１は、実施の形態１におけるレート制御部１１５と比較して、入力フレーム落ち検出部６０２を新たに有し、目標符号量算出部６０３が、実施の形態１の目標符号量算出部１１１に置き換わっている点が異なる。その他の構成ブロックは実施の形態１と同様である。
【０１１４】
次に、図１８により、本発明の実施の形態３に係る動画像符号化制御方法による処理フローについて説明する。図１８は本発明の実施の形態３に係る動画像符号化制御方法の処理フローを示すフローチャートであり、以下、実施の形態１の図２に示すフローチャートとの差異を中心に説明する。
【０１１５】
まず、ステップＳ２０１におけるパラメータ初期化は実施の形態１と同様である。
【０１１６】
ステップＳ７０１では、入力フレーム落ち検出部６０２は、今回の入力フレームの入力シーケンス番号Ｆn を入力フレームメモリ１０１から受け取り、シーケンス番号Ｆn と、前回の入力フレームの入力シーケンス番号Ｆn-1 とを参照し、前回の入力フレームから今回の入力フレームまでの間で、Ｉ、Ｐ、Ｂの各タイプのフレームがそれぞれ何枚落ちたかをカウントする。
【０１１７】
この入力フレーム落ち枚数をカウントするために、入力フレーム落ち検出部６０２は、少なくとも、前回の入力フレームのシーケンス番号、Ｉフレーム間隔、Ｂフレーム挿入枚数、前回のＩフレームのシーケンス番号、を保持しておく必要がある。
【０１１８】
これらの情報があれば、各シーケンス番号でのフレームタイプが確定するため、前回の入力フレーム番号から今回の入力フレーム番号が不連続であった場合でも、Ｉフレーム、Ｐフレーム、Ｂフレームがそれぞれ何枚落ちたかの情報Ｆd を検出することができる。
【０１１９】
ステップＳ７０２における目標符号量決定処理は、実施の形態１におけるステップＳ２０２とほぼ同様であるが、式（１）におけるレート制御区間のフレーム枚数Ｎｉ  、Ｎｐ  、Ｎｂ  にそれぞれに対し、ステップＳ７０１で得られた、フレーム落ち枚数情報Ｆd を反映させる点において異なる。
【０１２０】
よって、ステップＳ７０２では、フレーム落ちによるフレームレート変動を考慮して目標符号量を算出するため、目標ビットレートへの追従性が向上する。
【０１２１】
図１８において、以降のステップＳ２０３、Ｓ２０４、Ｓ２０５、Ｓ２０６、Ｓ２０７における処理は実施の形態１と同様である。
【０１２２】
以上のように、本実施の形態による動画像符号化制御方法では、レート制御部６０１において入力フレーム落ち枚数を検出し、目標符号量の設定に反映させることで、何らかの外因により入力フレームレートが変動するような場合であっても、目標ビットレートへの追従性を損なわずにフレームスキップのスケジューリングを行うことができる。
【０１２３】
（実施の形態４）
実施の形態４による動画像符号化制御方法は、実施の形態２における制御方法と実施の形態３の制御方法とを併せた制御を行うものである。
【０１２４】
図１９により、本発明の実施の形態４に係る動画像符号化制御方法を実施するための動画像符号化装置の構成について説明する。図１９は本発明の実施の形態４に係る動画像符号化制御方法を実施するための動画像符号化装置の構成を示す構成図である。
【０１２５】
図１９において、レート制御部８０１は、実施の形態２で新たに加えられたＳＡＤ算出部４０２と、実施の形態３で新たに加えられた入力フレーム落ち検出部６０２とを有している。
【０１２６】
次に、図２０により、本発明の実施の形態４に係る動画像符号化制御方法による処理フローについて説明する。図２０は本発明の実施の形態４に係る動画像符号化制御方法の処理フローを示すフローチャートである。
【０１２７】
図２０において、本実施の形態の処理フローの個々の処理は、実施の形態１、実施の形態２、および実施の形態３で述べた処理と同じであるため、説明を省略する。
【０１２８】
また、本実施の形態による動画像符号化制御方法では、実施の形態２および実施の形態３と同様に、よりビットレート追従性の高いフレームスキップ制御が実現でき、何らかの外因により入力フレームレートが変動するような場合であっても、目標ビットレートへの追従性を損なわずにフレームスキップのスケジューリングを行うことができる。
【０１２９】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【０１３０】
本発明は、動画像符号化制御にフレームスキップ制御を用いる機器に広く適用可能である。
【図面の簡単な説明】
【０１３１】
【図１】本発明の実施の形態１に係る動画像符号化制御方法を実施するための動画像符号化装置の構成を示す構成図である。
【図２】本発明の実施の形態１に係る動画像符号化制御方法の処理フローを示すフローチャートである。
【図３】本発明の実施の形態１に係る動画像符号化制御方法のフレームスキップ判定処理を示すフローチャートである。
【図４】本発明の実施の形態１に係る動画像符号化制御方法におけるフレームタイプとフレームスキップとの関係を説明するための説明図である。
【図５】本発明の実施の形態１に係る動画像符号化制御方法におけるフレームタイプとフレームスキップとの関係を説明するための説明図である。
【図６】本発明の実施の形態１に係る動画像符号化制御方法におけるフレームタイプとフレームスキップとの関係を説明するための説明図である。
【図７】本発明の実施の形態１に係る動画像符号化制御方法におけるフレームタイプとフレームスキップとの関係を説明するための説明図である。
【図８】本発明の実施の形態１に係る動画像符号化制御方法におけるフレームタイプとフレームスキップとの関係を説明するための説明図である。
【図９】本発明の実施の形態１に係る動画像符号化制御方法におけるフレームタイプとフレームスキップとの関係を説明するための説明図である。
【図１０】本発明の実施の形態１に係る動画像符号化制御方法におけるフレームタイプとフレームスキップとの関係を説明するための説明図である。
【図１１】本発明の実施の形態１に係る動画像符号化制御方法におけるフレームタイプとフレームスキップとの関係を説明するための説明図である。
【図１２】本発明の実施の形態１に係る動画像符号化制御方法におけるフレームタイプとフレームスキップとの関係を説明するための説明図である。
【図１３】本発明の実施の形態１に係る動画像符号化制御方法によるフレームスキップの効果を説明するための説明図である。
【図１４】本発明の実施の形態１に係る動画像符号化制御方法によるフレームスキップの効果を説明するための説明図である。
【図１５】本発明の実施の形態２に係る動画像符号化制御方法を実施するための動画像符号化装置の構成を示す構成図である。
【図１６】本発明の実施の形態２に係る動画像符号化制御方法の処理フローを示すフローチャートである。
【図１７】本発明の実施の形態３に係る動画像符号化制御方法を実施するための動画像符号化装置の構成を示す構成図である。
【図１８】本発明の実施の形態３に係る動画像符号化制御方法の処理フローを示すフローチャートである。
【図１９】本発明の実施の形態４に係る動画像符号化制御方法を実施するための動画像符号化装置の構成を示す構成図である。
【図２０】本発明の実施の形態４に係る動画像符号化制御方法の処理フローを示すフローチャートである。
【符号の説明】
【０１３２】
１０１…入力フレームメモリ、１０２…直交変換部、１０３…量子化部、１０４…ＶＬＣ、１０５…逆量子化部、１０６…逆直交変換部、１０７…参照フレームメモリ、１０８…フレーム内予測部、１０９…フレーム間予測部、１１０…モード選択部、１１１…目標符号量算出部、１１２，４０３…ＱＰ算出部、１１３…フレームスキップ部、１１４…ＲＤモデル更新部、１１５，６０１，８０１…レート制御部、１１６…出力フレームメモリ、４０１…レート制御部、４０２…ＳＡＤ算出部、６０２…入力フレーム落ち検出部、６０３…目標符号量算出部。
【図１】
2008252562.tif 000006
【図２】
2008252562.tif 000007
【図３】
2008252562.tif 000008
【図４】
2008252562.tif 000009
【図５】
2008252562.tif 000010
【図６】
2008252562.tif 000011
【図７】
2008252562.tif 000012
【図８】
2008252562.tif 000013
【図９】
2008252562.tif 000014
【図１０】
2008252562.tif 000015
【図１１】
2008252562.tif 000016
【図１２】
2008252562.tif 000017
【図１３】
2008252562.tif 000018
【図１４】
2008252562.tif 000019
【図１５】
2008252562.tif 000020
【図１６】
2008252562.tif 000021
【図１７】
2008252562.tif 000022
【図１８】
2008252562.tif 000023
【図１９】
2008252562.tif 000024
【図２０】
2008252562.tif 000025