(57)【特許請求の範囲】
【請求項１】
入力した映像信号の符号化を制御する映像符号化制御装置が行う映像符号化制御方法において、
復号側バッファのアンダーフローを検出する過程と、
復号側バッファのアンダーフローを検出した際、符号化対象ピクチャをスキップまたは最小発生符号量で符号化することにより、発生符号量を抑制する過程と、
前記発生符号量を抑制した後、予め与えられた復号側バッファ占有量の閾値と現在の復号側バッファ占有量とを比較する過程と、
前記比較結果により、復号側バッファ占有量が前記閾値を超えるまで、前記発生符号量を抑制する過程により符号化対象ピクチャの発生符号量を抑制し続ける制御を行う過程とを有し、
前記復号側バッファ占有量の閾値として、復号側において先頭ピクチャの符号化データの復号を開始する直前の復号側バッファのバッファ位置を用いる
ことを特徴とする映像符号化制御方法。
【請求項２】
入力した映像信号の符号化を制御する映像符号化制御装置において、
復号側バッファのアンダーフローを検出する手段と、
符号化対象ピクチャをスキップまたは最小発生符号量で符号化することにより、発生符号量を抑制する手段と、
予め与えられた復号側バッファ占有量の閾値と現在の復号側バッファ占有量とを比較する手段と、
復号側バッファのアンダーフローを検出した際、復号側バッファ占有量が前記閾値を超えるまで、前記発生符号量を抑制する手段により符号化対象ピクチャの発生符号量を抑制し続ける制御手段とを備え、
前記復号側バッファ占有量の閾値として、復号側において先頭ピクチャの符号化データの復号を開始する直前の復号側バッファのバッファ位置を用いる
ことを特徴とする映像符号化制御装置。
【請求項３】
請求項１に記載の映像符号化制御方法を、コンピュータに実行させるための映像符号化制御プログラム。
【請求項４】
請求項１に記載の映像符号化制御方法を、コンピュータに実行させるための映像符号化制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像を符号化する技術に関し、特に、復号側バッファのアンダーフローが生じないように符号化対象ピクチャの発生符号量を抑制しつつ、画質の劣化を防止する映像符号化技術に関するものである。
本願は、２０１０年５月６日に出願された特願２０１０−１０６１０４号に基づき優先権を主張し、その内容をここに援用する。
【背景技術】
【０００２】
通常、デコーダでは、復号・表示されるまで、受信した符号化データをバッファに蓄積する。復号した符号化データは、バッファから引き抜かれる。
映像を符号化する際、このデコーダ側のバッファ状態を考慮して符号化を行わなければ、映像を復号できない可能性がある。そこで、符号化時に仮想デコーダバッファでの検定を行い、復号できることを保証する。【０００３】
デコーダバッファの異常状態には、オーバーフローとアンダーフローがある。
オーバーフローは、復号・表示するよりも速いペースで符号化データがデコーダに届く場合である。復号・表示するよりも速いペースで符号化データを受信した場合、バッファから引き抜かれる符号量よりも、受信する符号量の方が多くなり、デコーダ側のバッファ容量を上回る可能性がある。通常、デコーダバッファのオーバーフローの対策として、意図的に無駄なデータ（スタッフィングやフィラー）を入れることで必要な符号化データの受信速度を遅らせ、オーバーフローを防止できる。【０００４】
これに対し、アンダーフローは、復号・表示する際に、必要な符号化データが受信できていない状態である。アンダーフロー対策としては、アンダーフローが発生しないように目標符号量の設定を行い、発生符号量を制御する方法と、符号化ピクチャ数を減らすことによりアンダーフローを防止するピクチャスキップを利用する方法とがある。どちらの方法も、発生符号量を抑制することでアンダーフローを防止している。【０００５】
例えば、特許文献１に記載されている方法では、復号側バッファ検定により、アンダーフローが発生したかどうかの検定を行い、アンダーフローが発生した場合には、符号化データをスキップ符号化データに置き換える。【０００６】
図７に、従来の映像符号化におけるアンダーフロー防止方法の流れを示す。
まず最初に、復号側バッファ検定により、アンダーフローが発生するかどうかを確認する（ステップＳ１００）。アンダーフローが検出された場合、発生符号量抑制処理により発生符号量を抑制する（ステップＳ１０１）。【０００７】
発生符号量の抑制には、目標符号量とのずれを少なく制御する方法や、アンダーフローを検出したピクチャをスキップする方法、発生符号量が最小となるダミーの符号化データを生成する方法などがある。
アンダーフロー発生の検出は、符号化前もしくは符号化後に行う。
符号化後にアンダーフローを検出する場合、アンダーフローが検出されたピクチャの符号化ストリームを破棄する必要がある。【０００８】
なお、時刻ｔのピクチャの復号直前の復号側バッファの占有量は、次式にて計算できる。【０００９】
Ｂ（ｔ）＝Ｂ（０）＋Ｒ＊ｔ−ΣＧ（ｉ）
ここで、Ｂ（０）は復号側バッファ占有量の初期値、Ｒはビットレート、Ｇ（ｉ）は時刻ｉのピクチャの発生符号量である。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００５−７２７４２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
アンダーフローが発生する可能性が高まる状態、すなわち、デコーダバッファ占有量が低下する原因は、ビットレートに対し、発生符号量が多い場合である。【００１２】
図８に、復号側のバッファ占有量推移の例を示す。図８において、Ａの部分は、アンダーフロー（破線で示す）が発生したため、ピクチャをスキップした部分であり、Ｂの部分は、ピクチャスキップ後、バッファ占有量が低い位置にあるため、発生符号量が低く抑えられている部分である。【００１３】
バッファ占有量の位置が低い場合、アンダーフローを発生させないために、発生符号量を少なく抑える必要がある。しかし、テクスチャを含むような複雑な映像が続く場合、発生符号量を極端に抑えると符号化歪みが顕著になる。この状態は、複雑な映像シーンが終わり、復号側バッファ占有量が適正な位置に戻るまで継続する。
従来の方法では、復号側バッファ占有量が低下した場合に、しばらくの間、復号画像の劣化が顕著になるという問題がある。【００１４】
特許文献１に記載されている技術では、この問題を解決するため、他のピクチャから参照されないＢピクチャを優先的にスキップさせる方法を取っている。
しかし、もともとＢピクチャは発生符号量が少ないうえ、挿入枚数が限られているため、スキップしても復号側バッファ占有量が適切な位置に戻るまでに時間がかかる。このことは、発生符号量が抑制され、画質が劣化した状態が長く続くことを意味している。【００１５】
本発明は、復号側バッファ占有量が低下した場合、従来の方法では、しばらくの間、復号画像の劣化が顕著になるという問題を解決し、復号側バッファのアンダーフロー検出後の符号化対象ピクチャの画質劣化を防止することを目的とする。
【課題を解決するための手段】
【００１６】
上記目的を達成するために、本発明は、入力した映像信号の符号化を制御する映像符号化制御方法において、
復号側バッファのアンダーフローを検出する過程と、
復号側バッファのアンダーフローを検出した際、符号化対象ピクチャをスキップまたは最小発生符号量で符号化することにより、発生符号量を抑制する過程と、
前記発生符号量を抑制した後、予め与えられた復号側バッファ占有量の閾値と現在の復号側バッファ占有量とを比較する過程と、
前記比較結果により、復号側バッファ占有量が前記閾値を超えるまで、前記発生符号量を抑制する過程により符号化対象ピクチャの発生符号量を抑制し続ける制御を行う過程とを有する
ことを特徴とする映像符号化制御方法を提供する。【００１７】
本発明はまた、入力した映像信号の符号化を制御する映像符号化制御方法において、
復号側バッファのアンダーフローを検出する過程と、
復号側バッファのアンダーフローを検出した際、予め与えられた復号側バッファ占有量の閾値と符号化ビットレートとから発生符号量を抑制する期間を算出する過程と、
前記算出した期間だけ、符号化対象ピクチャをスキップまたは最小発生符号量で符号化することにより、符号化対象ピクチャの発生符号量を抑制し続ける制御を行う過程とを有する
ことを特徴とする映像符号化制御方法も提供する。【００１８】
本発明はまた、入力した映像信号の符号化を制御する映像符号化制御装置において、
復号側バッファのアンダーフローを検出する手段と、
符号化対象ピクチャをスキップまたは最小発生符号量で符号化することにより、発生符号量を抑制する手段と、
予め与えられた復号側バッファ占有量の閾値と現在の復号側バッファ占有量とを比較する手段と、
復号側バッファのアンダーフローを検出した際、復号側バッファ占有量が前記閾値を超えるまで、前記発生符号量を抑制する手段により符号化対象ピクチャの発生符号量を抑制し続ける制御手段とを備える
ことを特徴とする映像符号化制御装置も提供する。【００１９】
本発明はまた、入力した映像信号の符号化を制御する映像符号化制御装置において、
復号側バッファのアンダーフローを検出する手段と、
符号化対象ピクチャをスキップまたは最小発生符号量で符号化することにより、発生符号量を抑制する手段と、
予め与えられた復号側バッファ占有量の閾値と符号化ビットレートとから発生符号量を抑制する期間を算出する手段と、
復号側バッファのアンダーフローを検出した際、前記算出した期間だけ前記発生符号量を抑制する手段により符号化対象ピクチャの発生符号量を抑制し続ける制御手段とを備える
ことを特徴とする映像符号化制御装置も提供する。
【発明の効果】
【００２０】
本発明により、復号側バッファの占有量が閾値を超えるまで発生符号量を抑制でき、アンダーフロー検出後、アンダーフロー防止のために発生符号量をずっと抑え続ける必要がなくなり、画質が向上する。
【図面の簡単な説明】
【００２１】
【図１】本発明の概要を示す映像符号化制御のフローチャートである。
【図２】本発明の実施例に係る装置構成の例を示す図である。
【図３】同実施例の処理フローチャートである。
【図４】同実施例による復号側バッファ占有量の推移の例を示す図である。
【図５】他の実施例の処理フローチャートである。
【図６】他の実施例に係る装置構成の例を示す図である。
【図７】従来の映像符号化におけるアンダーフロー防止方法の流れを示す図である。
【図８】従来技術における復号側バッファ占有量の推移の例を示す図である。
【発明を実施するための形態】
【００２２】
最初に、本発明の概要を述べる。
復号側バッファ占有量が低下した場合、しばらくの間、復号画像の劣化が顕著になるのは、復号側バッファ位置（すなわち、占有量）が低いことで発生符号量が抑制されているためである。
そこで、本発明は、復号側バッファを適正な位置に戻すため、一定期間、ピクチャスキップなどの発生符号量を最小化する処理を行う。発生符号量を最小化するのは、予め設定した復号側バッファ位置の閾値を超えるまでの間である。
【００２３】
図１は、本発明の概要を示す映像符号化制御のフローチャートである。
最初に、従来通り、復号側バッファの検定を行う（ステップＳ１）。検定の結果が問題なければ、そのまま処理を継続する。もし、
アンダーフローを検出した場合には、従来技術と同様に符号化対象ピクチャをスキップまたは最小発生符号量で符号化することにより、発生符号量を抑制する処理を行う（ステップＳ２）。
【００２４】
続いて、復号側バッファ占有量が予め設定した閾値を上回っているかを確認する（ステップＳ３）。
もし、まだ閾値より下回っている場合には、現在の符号化対象ピクチャの次の入力ピクチャを新たな符号化対象ピクチャとし、発生符号量を抑制する処理を行う（ステップＳ２）。
この処理を、復号側バッファ占有量が予め設定した閾値を上回るまで繰り返す。
【００２５】
以上のように、本発明では、復号側バッファのアンダーフローを検出する閾値とは別に、ピクチャスキップなどの発生符号量抑制手段を停止するための閾値を設定し、復号側バッファの占有量が閾値を超えるまで、発生符号量抑制手段による発生符号量の抑制を継続して実行する。復号側バッファの占有量が閾値を超えた時点で、通常の符号化処理に戻る。
【００２６】
このような方法を取ることで、短期的に集中して発生符号量を抑制することができ、復号側バッファのアンダーフロー検出後の符号化対象ピクチャの画質劣化を防止できる。
【００２７】
予め設定する閾値は、低すぎては意味がないが、高すぎても発生符号量の抑制期間が長くなる。この閾値として、
・最大バッファサイズの半分（例えば４０％〜６０％程度）
・符号化ストリームの復号開始時の初期バッファ位置
などが考えられる。
【００２８】
以下、本発明の具体的な実施の形態について、図面を用いて説明する。
図２は、本発明の実施例の装置構成の例を示す図である。図２において、特に符号化制御部１１２以外は、従来のＭＰＥＧ−２、Ｈ．２６４その他の映像符号化を行う装置とほぼ同様である。
【００２９】
予測信号生成部１０１は、入力映像信号とフレーム間予測信号との残差から予測信号を生成する。
この予測信号は直交変換部１０２に入力され、ＤＣＴ変換等の直交変換による変換係数が出力される。
変換係数は、量子化部１０３に入力され、量子化部１０３で、量子化制御部１１３から設定された量子化ステップサイズに従って量子化される。
この量子化された変換係数は、情報源符号化部１０４に入力され、情報源符号化部１０４においてエントロピ符号化される。
情報源符号化部１０４から出力される符号化データは、スイッチ部１１４を介して符号化データバッファ１１５に格納される。
【００３０】
一方、量子化された変換係数は、逆量子化部１０５で逆量子化され、逆直交変換部１０６で逆直交変換されて、復号予測信号が生成される。
この復号予測信号は、加算器１０７でフレーム間予測信号と加算され、復号信号が生成される。
復号信号は、クリッピング部１０８でクリッピングされ、続くフレームの予測符号化における参照画像として用いるために、フレームメモリ１０９に格納される。
【００３１】
動き検出部１１０は、入力映像信号について動き探索により動き検出を行い、求まった動きベクトルを動き補償部１１１と情報源符号化部１０４へ出力する。
情報源符号化部１０４では、動きベクトルについてエントロピ符号化する。
動き補償部１１１では、動きベクトルに従ってフレームメモリ１０９を参照し、フレーム間予測信号を生成する。
【００３２】
本実施例では、符号化処理後にアンダーフロー検出を行い、発生符号量の抑制処理として、ピクチャスキップを想定している。
【００３３】
符号化制御部１１２では、符号化ビットレートと符号化データバッファ１１５から送られる発生符号量を入力とし、復号側バッファの占有量を計算する。
もし、復号側バッファのアンダーフローが検出された場合、スイッチ部１１４に対して符号化データバッファ破棄情報を出力し、スイッチを開くことで該当するピクチャの符号化データを破棄し、ピクチャスキップとする。このスイッチは、復号側バッファの占有量が閾値を超えるまで開き続け、ピクチャスキップを継続する。
復号側バッファの占有量が閾値を超えた時点で、スイッチを閉じ、情報源符号化部１１４で生成された符号化データが、符号化データバッファ１１５に送られる。
【００３４】
図３は、本実施例の処理フローチャートである。
まず、符号化対象ピクチャを符号化する（ステップＳ１０）。次に、復号側バッファの検定を行う（ステップＳ１１）。その検定結果が問題ない場合には、符号化対象ピクチャの処理を終了する。
もし、アンダーフローが発生している場合には、符号化対象ピクチャの符号化結果である符号化データを破棄し、復号側バッファの占有量の閾値を設定する（ステップＳ１２）。
【００３５】
続いて、符号化対象ピクチャを破棄し（ステップＳ１３）、ピクチャスキップに対応する符号化データを生成する（ステップＳ１４）。
その後、復号側バッファの占有量と閾値を比較する（ステップＳ１５）。
比較した結果、復号側バッファの占有量が閾値以下である場合には、現在の符号化対象ピクチャの次の入力ピクチャを新たな符号化対象ピクチャとし、再び符号化対象ピクチャの破棄（ステップＳ１３）とピクチャスキップの符号化データの生成（ステップＳ１４）を行う。
比較した結果が閾値より大きくなっている場合には、本符号化制御による発生符号量の抑制処理を終了する。
【００３６】
図４に、本実施例による復号側バッファ占有量の推移の例を示す。
本実施例では、時刻ｔでアンダーフローを検出した場合、復号側バッファの占有量が閾値ＶＢＶthを超える時刻ｔ＋ｎまでの間、ピクチャスキップを継続する。
ピクチャスキップの発生符号量はほとんど０と考えてよいため、時刻ｔからｔ＋ｎの間、ビットレートの傾きで復号側バッファの占有量が上昇する。
【００３７】
本実施例では、復号側バッファ占有量が閾値を上回るまで繰り返しピクチャスキップを行っているが、アンダーフロー検出時の占有量と閾値から、ピクチャスキップ数を先に算出することもできる。
アンダーフロー検出時のバッファ位置をＢ（ｔ０）、ビットレートをＲ、ピクチャスキップ時に発生する符号量をＧｓ、予め設定した閾値をＢthとする。
【００３８】
ｎ＝（Ｂth−Ｂ（ｔ０））／（Ｒ−Ｇｓ）
上式から求められるｎを超える自然数を、ピクチャスキップの枚数とすればよい。
なお、ピクチャスキップ時の発生符号量が０の場合には、
ｎ＝（Ｂth−Ｂ（ｔ０））／Ｒ
となる。
【００３９】
図５に、この場合（変形例）の処理フローチャートを示す。
まず、符号化対象ピクチャを符号化する（ステップＳ２０）。
次に、復号側バッファの検定を行う（ステップＳ２１）。その検定結果が問題ない場合には、符号化対象ピクチャの処理を終了する。
もし、アンダーフローが発生している場合には、符号化対象ピクチャの符号化結果である符号化データを破棄する（ステップＳ２２）。
【００４０】
続いて、上述したｎを求める式により、ピクチャスキップ枚数の算出処理を行い（ステップＳ２３）、算出したピクチャスキップ枚数の符号化対象ピクチャを破棄し（ステップＳ２４）、指定枚数のピクチャスキップの符号化データを生成する（ステップＳ２５）。
その後、本符号化制御による発生符号量の抑制処理を終了する。
【００４１】
以上のように、この変形例では、図３の実施例と異なり、繰り返し処理の代わりに、ピクチャスキップ枚数の算出処理（Ｓ２３）の後、指定枚数の符号化対象ピクチャを破棄し（Ｓ２４）、指定枚数のピクチャスキップを行う（Ｓ２５）。
なお、ピクチャスキップ枚数を算出するのではなく、ピクチャスキップ等により発生符号量を抑制する時間的な期間を算出することによっても同様な結果が得られる。換言すれば、ピクチャ枚数と期間とは、ここでは実質的に同義である。
【００４２】
なお、本実施例では、発生符号量抑制手段としてピクチャスキップを利用したが、（ｉ）最大量子化ステップサイズや量子化マトリクス、(ii)マクロブロックスキップなど発生符号量が最小となるモードでの符号化、などを利用できる。
【００４３】
図６に、ピクチャスキップの変わりに最小発生符号量となるダミーデータを挿入する場合の実施例の構成図を示す。
図２では、符号化データを破棄することでピクチャスキップを実現していたが、この例では、符号化データを破棄する代わりに、ダミーデータ生成部１２０で生成した符号化データを挿入している。他の部分については、前述した図２に示す例と同様である。
【００４４】
また、上記実施例では、一度符号化を行い、アンダーフローが発生するかどうかを確認しているが、符号化をしないで発生符号量を推定し、アンダーフローの発生を検出することもできる。この場合、符号化データの破棄は不要となる。
【００４５】
以上の実施例で用いる復号側バッファ占有量の閾値としては、例えば復号側のバッファサイズの略半分の値、または、復号側において先頭ピクチャの符号化データを受信し、復号を開始する直前の復号側バッファのバッファ位置を用いるのが、高過ぎも低過ぎもしないため適当である。
【００４６】
なお、本実施例では、復号側バッファのオーバーフローを考慮していない。
オーバーフローに対応するには、最大バッファサイズ情報から、オーバーフローを判定し、対応をする必要がある。
【００４７】
以上の映像符号化制御の処理は、コンピュータとソフトウェアプログラムとによっても実現することができ、そのプログラムをコンピュータ読み取り可能な記録媒体に記録することも、ネットワークを通して提供することも可能である。
【産業上の利用可能性】
【００４８】
本発明によれば、復号側バッファの占有量が閾値を超えるまで発生符号量を抑制でき、アンダーフロー検出後、アンダーフロー防止のために発生符号量をずっと抑え続ける必要がなくなり、画質が向上する。
【符号の説明】
【００４９】
１０１  予測信号生成部
１０２  直交変換部
１０３  量子化部
１０４  情報源符号化部
１０５  逆量子化部
１０６  逆直交変換部
１０７  加算器
１０８  クリッピング部
１０９  フレームメモリ
１１０  動き検出部
１１１  動き補償部
１１２  符号化制御部
１１３  量子化制御部
１１４  スイッチ部
１１５  符号化データバッファ
１２０  ダミーデータ生成部
【図１】
0005584757.tif 000002
【図２】
0005584757.tif 000003
【図３】
0005584757.tif 000004
【図４】
0005584757.tif 000005
【図５】
0005584757.tif 000006
【図６】
0005584757.tif 000007
【図７】
0005584757.tif 000008
【図８】
0005584757.tif 000009