(57)【特許請求の範囲】
【請求項１】
符号化動画像の生成方法であって、
量子化パラメータを決定する量子化パラメータ決定ステップと、
決定した量子化パラメータを用いて動画像を符号化して符号化ビットを生成する符号化ステップと、
符号化ステップで生成した符号化ビットを出力する出力ステップとを備え、
前記出力ステップで出力する符号化ストリームにおいて１フレームよりも小さい所定の区間単位において、所定のビットレートに対応する第１のビット量よりも大きい生成ビット量となることが許容されているが、前記所定の区間単位のいずれの区間においても、当該生成ビット量と前記第１のビット量との差分が、第２のビット量以下となっており、
前記第２のビット量は、前記所定のビットレートと所定の遅延時間の積であることを特徴とする符号化動画像の生成方法。
【請求項２】
請求項１に記載の符号化動画像の生成方法であって、
伝送する符号化映像は、縦方向の長さがマクロブロックＸラインの大きさであり、フレームレートがＹ(fps)であり、前記所定の区間はマクロブロックＮライン分の領域であり、前記所定の遅延時間をＤ(sec)とすると、Ｘ、Ｎ、Ｙ、ＤがＮ ＜ Ｄ × Ｙ× Ｘ ＜ Ｘの関係を満たすことを特徴とする符号化動画像の生成方法。
【請求項３】
請求項１に記載の符号化動画像の生成方法であって、
伝送する符号化映像は、縦方向の長さがマクロブロックＸラインの大きさであり、フレームレートがＹ(fps)であり、前記所定の区間はマクロブロックＮライン分の領域であり、前記所定の遅延時間をＤ(sec)とすると、Ｎ ＜ Ｄ × Ｙ× Ｘ ＜ ２０（但し１≦Ｎ≦４）の関係を満たすことを特徴とする符号化動画像の生成方法。
【請求項４】
請求項１乃至３のいずれか１項に記載の符号化動画像の生成方法であって、
前記符号化ステップは、
前記量子化パラメータの値に基づいて、入力された情報の量子化を行い、情報量の低減を行う量子化ステップを備え、
前記量子化ステップの出力に対して、符号化処理を行い、その結果生成された符号と、当該処理の結果生成された符号量の情報と、を出力し、
前記量子化パラメータ決定ステップは、前記生成された符号量の情報に基づいて、前記量子化パラメータの値を決定するレート制御ステップを備え、
前記レート制御ステップは、所定の区間ごとに、当該区間内のビット割り当てが所定値を超えると予想される場合には前記量子化パラメータの値を大きくし、当該区間内のビット割り当てが前記所定値を下回ると予想される場合には前記量子化パラメータの値を小さくすることを特徴とする符号化動画像の生成方法。
【請求項５】
動画像を符号化する動画像符号化方法であって、
量子化パラメータの値に基づいて、入力された情報の量子化を行い、情報量の低減を行う量子化ステップと、
上記量子化ステップの出力に対して、符号化処理を行い、その結果生成された符号と、当該処理の結果生成された符号量の情報と、を出力する、符号化ステップと、
上記生成された符号量の情報の結果に基づいて、第１の量子化パラメータの値を決定する第１のレート制御ステップと、
上記生成された符号量の情報、および、目標遅延量および最大伝送レートの情報に基づいて、第２の量子化パラメータの値を決定する第２のレート制御ステップと、を備え、
上記量子化ステップは、上記第１の量子化パラメータおよび上記第２の量子化パラメータのうちいずれか大きいほうの量子化パラメータの値に基づいて、量子化を行うことを特徴とする動画像符号化方法。
【請求項６】
動画像を符号化する動画像符号化装置であって、
量子化パラメータを決定する量子化パラメータ決定部と、
前記決定した量子化パラメータを用いて動画像を符号化して符号化ビットを生成する符号化部と、
前記符号化部で生成した符号化ビットを出力する出力部とを備え、
前記出力部で出力する符号化ストリームにおいて１フレームよりも小さい所定の区間単位において、所定のビットレートに対応する第１のビット量よりも大きい生成ビット量となることが許容されているが、前記所定の区間単位のいずれの区間においても、当該生成ビット量と前記第１のビット量との差分が、第２のビット量以下となっており、
前記第２のビット量は、前記所定のビットレートと所定の遅延時間の積であり、
前記符号化部は、
前記量子化パラメータの値に基づいて、入力された情報の量子化を行い、情報量の低減を行う量子化部を備え、
前記量子化部の出力に対して、符号化処理を行い、その結果生成された符号と、当該処理の結果生成された符号量の情報と、を出力し、
前記量子化パラメータ決定部は、前記生成された符号量の情報に基づいて、前記量子化パラメータの値を決定するレート制御部を備え、
前記レート制御部は、所定の区間ごとに、当該区間内のビット割り当てが所定値を超えると予想される場合には前記量子化パラメータの値を大きくし、当該区間内のビット割り当てが前記所定値を下回ると予想される場合には前記量子化パラメータの値を小さくすることを特徴とする動画像符号化装置。
【請求項７】
動画像を符号化する動画像符号化装置であって、
量子化パラメータの値に基づいて、入力された情報の量子化を行い、情報量の低減を行う量子化部と、
上記量子化部の出力に対して、符号化処理を行い、その結果生成された符号と、当該処理の結果生成された符号量の情報と、を出力する、符号化部と、
上記生成された符号量の情報に基づいて、第１の量子化パラメータの値を決定する第１のレート制御部と、
上記生成された符号量の情報、および、目標遅延量および最大伝送レートの情報に基づいて、第２の量子化パラメータの値を決定する第２のレート制御部と、を備え、
上記量子化部は、上記第１の量子化パラメータおよび上記第２の量子化パラメータのうちいずれか大きいほうの量子化パラメータの値に基づいて、量子化を行うことを特徴とする動画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像符号化方法および画像符号化装置に関する。
【背景技術】
【０００２】
動画像圧縮規格H.264は圧縮効率の高さから多くのアプリケーションで利用されている。一方、ビデオ通話や映像伝送等の用途においては低遅延画像圧縮に対するニーズが高まっている。
映像を符号化するに当たり、１枚のピクチャを符号化するのに必要なビット数はピクチャごとに異なっている。その理由としては、映像のシーンや画像ごとに絵柄の複雑さが異なること、ピクチャ符号化タイプのようなパラメータがピクチャごとに異なること、エントロピー符号化の統計的性質から来る要因などがある。エントロピー符号化とは、頻繁に登場する情報ほどより短いビット長の符号を割り当てるようにすることで、情報を表現する効率を向上させる手法である。
一方、符号化されたビットストリームを伝送する場合、伝送チャネルの容量帯域は有限であるのが通常である。そのため図２に示すようなバッファを挿入して、伝送チャネルにビットストリームを送出する前にビットレート変動を平滑化する必要がある。同様に、デコーダ側においても、各フレームのデコードを行う瞬間に必要な量のビットをデコーダにタイムリーに供給するためにバッファが必要である。デコーダ側のバッファの大きさは少なくともエンコーダ側と同じ大きさが必要であり、結果としてバッファ遅延は全体合計で２倍となる。
放送局設備などの業務用システムの場合は比較的高い伝送帯域が利用できるためビットレートの変動もある程度までは許容できる。しかしながら、民生用途向けの適用を考えた場合、利用できる伝送帯域がはるかに限られているため、このようなビットレートの変動が伝送遅延に与える影響はより深刻である。したがって、いかにしてバッファ遅延を抑えるかが特に民生用途向けシステムにおいて低遅延を実現する上での鍵となる。
本技術分野の背景技術として、特開平02-194734号公報（特許文献１）がある。この公報には、「予め定められた一定区間毎の符号化出力データ量が一定値以内になるようにデータ量を制御して高能率符号化が行われるようにした符号化出力データ量の制御方式であって、前記した予め定められた一定区間よりも短かい区間を単位にしてデータ量を予測する手段と、前記した予測手段によって得られる予測データ量に基づいて前記した予め定められた一定区間における予測データ量の合計が一定になるように符号化処理を制御する手段と、前記の予測手段によって得た予測データ量と実際に符号化されたデータ量との差を累積し、前記した累積の結果に基づいて符号化処理を制御する手段とからなる符号化出力データ量の制御方式を提供する」と記載されている（課題を解決するための手段参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平02-194734号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
背景技術で述べたように、低遅延伝送を行うための動画像圧縮としてはバッファ遅延を抑えることが重要である。特許文献１には、一定区間ごとの符号化出力データ量が一定値以内になるようにデータ量を制御する発明が開示されており、このように符号量の変動をできるだけ抑えて、一定区間ごとの符号量が出来るだけ均一にすることは、バッファ遅延の抑制にある程度有効である。しかしながら、その場合、その区間の大きさ以下にバッファ遅延を抑制することができないため、低遅延化には限度があるという問題がある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、「量子化パラメータの値に基づいて、入力された情報の量子化を行い、情報量の低減を行う量子化ステップと、上記量子化ステップの出力に対して、エントロピー符号化処理を行い、その結果生成された符号と、当該処理の結果生成された符号量の情報を出力する、エントロピー符号化ステップと、上記生成された符号量の情報の結果に基づいて、量子化パラメータの値を決定するレート制御ステップと、を備え、上記レート制御ステップは、１ピクチャよりも小さい区間ごとに、当該区間内のビット割り当てが所定値を超えると予想される場合には上記量子化パラメータの値を大きくし、当該区間内のビット割り当てが上記所定値を下回ると予想される場合には上記量子化パラメータの値を小さくすること」を特徴とする。
また、他の例を挙げるならば、「量子化パラメータの値に基づいて、入力された情報の量子化を行い、情報量の低減を行う量子化ステップと、上記量子化ステップの出力に対して、エントロピー符号化処理を行い、その結果生成された符号と、当該処理の結果生成された符号量の情報を出力する、エントロピー符号化ステップと、上記生成された符号量の情報の結果に基づいて、第１の量子化パラメータの値を決定する第１のレート制御ステップと、上記生成された符号量の情報の結果、および、目標遅延量および最大伝送レートの情報に基づいて、第２の量子化パラメータの値を決定する第２のレート制御ステップと、を備え、上記量子化ステップは、上記第１の量子化パラメータおよび上記第２の量子化パラメータのうちいずれか大きいほうの量子化パラメータの値に基づいて、量子化を行うこと」を特徴とする。
【発明の効果】
【０００６】
本発明に依れば、画質の劣化を最小限に抑えながらバッファ遅延を削減し、低遅延での動画像符号化を行うことが可能となる。
【図面の簡単な説明】
【０００７】
【図１】画像符号化装置の構成図の例である。
【図２】バッファによるビットレート平滑化の一例を説明する図面である。
【図３】画像符号化装置の構成図の例である。
【図４】持ち越しビット量を説明する図面である。
【発明を実施するための形態】
【実施例１】
【０００８】
図１は、本実施例の画像符号化装置の構成図の例である。
画像符号化装置に映像が入力されると、予測部１０に映像信号が入力される。【０００９】
予測部１０は、図示しないメモリ等に格納された参照画像から符号化対象画像を予測する動き予測、もしくは、符号化対象画像内部で予測を行うイントラ予測などの予測処理を行う。予測処理が行われた画像は直交変換部２０に出力される。【００１０】
直交変換部２０は、入力された画像に整数変換もしくは離散コサイン変換などの直交変換処理を行う。直交交換処理が行われた画像は量子化部３０に出力される。量子化部３０は、入力された画像に量子化処理を行う。量子化処理は、レート制御部６０から出力された量子化パラメータQpの値に基づいて行われる。量子化処理をされた画像は、エントロピー符号化部４０に出力される。【００１１】
エントロピー符号化部４０は、入力された画像にハフマン符号化もしくは算術符号化などのエントロピー符号化処理を行う。【００１２】
エントロピー符号化部４０から出力された符号化対象画像は、バッファ部５０にてバッファリング処理の後、ビットストリームとして出力される。【００１３】
本実施例における画像符号化装置には、ビットレート制御を行うため、量子化部３０、エントロピー符号化部４０、レート制御部６０の間にフィードバックループが設けられている。エントロピー符号化部４０は、所定の処理単位毎にエントロピー符号化処理結果のビット数もしくは予想ビット数などの符号化済みビット量に関する情報を、レート制御部６０に出力する。【００１４】
レート制御部６０は、エントロピー符号化部４０から出力された符号化済みビット量に関する情報を使用して、その時点までに生成された符号量の情報を算出する。符号量の情報の例としては、ピクチャ先頭からのビット数の累積値や、レート制御を行うための所定の区間ごとのビット数の累積値などの情報が含まれる。レート制御部６０は、算出した符号量の情報や、必要に応じて符号化対象領域の画像の複雑さなどの補助的な情報に基づいて、量子化パラメータQpの値を決定し、量子化部３０に出力する。【００１５】
低遅延の観点からは、バッファ遅延を削減して遅延を最小化するために、ピクチャ内のビット割り当てもできるだけ均一化することが理想的である。【００１６】
そこで、レート制御部６０で量子化パラメータQpの値を決定する際に、１ピクチャ（フレームまたはフィールド）よりも十分に小さい区間ごとに、ビット割り当てを均一になるようにQpの値を制御するようにしてもよい。ここで、当該区間は、マクロブロックを１ピクチャの幅の分だけ横に並べることによって構成されるラインのＮライン分（Ｎは１以上の整数）の領域であり、かつ１ピクチャ未満の領域で設定すれば良い。例えば、マクロブロック１ラインでもよく、マクロブロック２ラインでもよく、マクロブロック３ラインでもよい。その場合に、当該区間内のビット割り当て目標を超えそうな場合にはQpの値を大きくし、目標を下回りそうな場合にはQpの値を小さくすることにより、ビット割当を均一にすることができる。【００１７】
以上で説明した実施例によれば、ビット量の変動が均一化され、バッファ部５０における遅延量を最小限に抑え、低遅延化を実現することが可能である。
【実施例２】
【００１８】
低遅延の観点からは、バッファ遅延を削減して遅延を最小化するために、ピクチャ内のビット割り当てもできるだけ均一化することが望ましいが、単純なビット量の均一化を行うと画質の低下の原因になる場合もある。【００１９】
そこで本実施例では、１ピクチャよりも十分に小さい区間ごとに生成されるビット量の変動をある程度許容することで画質の低下を抑えつつ、目標の遅延量以内を実現する画像符号化装置の例を説明する。【００２０】
図３は、本実施例の画像符号化装置の構成図の例である。
実施例１と同一内容の部分については説明を省略する。
本実施例と実施例１との相違点は、第２のレート制御部６１を設けたことである。第２のレート制御部６１により、「持ち越しビット量」の制御を行う。【００２１】
「持ち越しビット量」について図４を用いて説明する。
図４の横軸はエンコードに伴う時間の経過（フレーム番号もしくはピクチャ内でのライン番号など）を、縦軸は単位時間当たりの符号量を示す。細い実線は、横軸の各時刻においてシーケンスの一部もしくはピクチャの一部をエンコードした結果、各時点で生成される符号量を示す。【００２２】
シーンやピクチャによって絵柄の複雑さや動きの激しさが異なり、また、１枚のピクチャの内部でも画像の局所的な複雑さの程度に変化があるため、エンコードの結果により生成されるビットの量は、ピクチャ間で符号量の変動があり、また同様に１ピクチャの内部にも符号量の変動が存在する。【００２３】
エンコードの各時点で生成されたビットは伝送チャネルに送出される。もし生成量が最大伝送ビットレート以内であればビットは直ちに送出される。しかし、もし生成量が最大伝送ビットレートを一時的に超えた場合は直ちに送出されず、超過した部分は「持ち越しビット」としてバッファに蓄えられ、しばらく後に送出される。太い破線が実際に伝送される符号量を示す。持ち越しビットはすべてが送出されるまでの間バッファに留まり、これがバッファ遅延となる。【００２４】
このようにエンコードの際の生成符号量の変動とその結果の持ち越しビット量はバッファ遅延をもたらすが、持ち越しビット量をある限界量以内に留まるように制御すれば、持ち越しビットの存在を敢えて許容してもバッファ遅延時間を所定の範囲内に留めさせることが可能である。
本実施例では、このようにして、ビット量の変動を意図的に容認し、画質ができるだけ保たれるようにするようにした。【００２５】
持ち越しビット量の制御方法についてより詳細に説明する。図４において持ち越しビットにより生じる遅延時間Ｄは式（１）のように表される。
Ｄ＝Ｃ／Ｒmax  ・・・（１）
ここで、Ｄは遅延時間[s]、Ｃは持ち越しビット量[bit]、Ｒmaxは伝送チャネルの最大伝送ビットレート[bps]である。最大持ち越しビット量Ｃmaxは、目標の最大遅延Ｄmax[s]を用いて式（２）のように表される。
Ｃmax＝Ｄmax・Ｒmax  ・・・（２）
Ｃmaxは持ち越しビット量の最大許容値[bit]である。なお、持ち越しビット量Ｃの算出は、１ピクチャよりも十分に小さい所定の区間毎に行なう。当該区間の設定は、実施例１と同様に、マクロブロックＮライン分の領域（Ｎは１以上の整数）であり、かつ１ピクチャ未満の領域で設定する。例えば、１マクロブロックラインでもよく、２マクロブロックラインでもよく、３マクロブロックラインでもよい。このようにして持ち越しビット量Ｃが式（３）をエンコードのビット生成の各時点において満たすように制御を行う。
Ｃ≦Ｃmax  ・・・（３）
その際、持ち越しビット量Ｃの最大値を式（３）のように制限するが、その値未満の場合は変動の発生を許容するように制御する。【００２６】
さらに持ち越しビット量Ｃの最大値を制限する方法について、図３に戻って以下に詳細に説明する。
第２のレート制御部６１は、持ち越しビット量の制御を行う。符号化済みのビット量に関する情報がエントロピー符号化部から供給され、最大伝送ビットレート（Ｒmax）、目標遅延（Ｄmax）などの情報が図示しない記憶部に記憶され、別途第２のレート制御部６１に供給される。【００２７】
第２のレート制御部６１は、符号化済みのビット量に関する情報、最大伝送ビットレート（Ｒmax）、目標遅延（Ｄmax）に基づいて最小量子化パラメータQp_minの値を求める。
最小量子化パラメータ値Qp_minは、持ち越しビット量が最大伝送ビットレートと目標遅延から定まる所定値を超えないようにするための量子化パラメータ値Qpの最小値である。【００２８】
量子化部３０が入力された画像の量子化に用いる量子化パラメータQpは、下限だけが上記Qp_minの値で制限される。すなわち、Qp＞Qp_minの場合には、レート制御部６０から供給された量子化パラメータQpが用いられ、Qp≦Qp_minの場合には、最小量子化パラメータQp_minの値が用いられて画像の量子化が行われる。【００２９】
このように制御することにより、Qpの下限はQp_minによって制限されるが、その他の場合はQpの値は画質をできるだけ保つための変動が許容される。【００３０】
なお、本実施例においては、Qp_minによってQpの下限値が制限されるため、実施例１のように、レート制御部６０で量子化パラメータQpの値を決定する際、１ピクチャよりも十分に小さい区間ごとに、ビット割り当てを均一になるようにQpの値を制御する必要は必ずしも無い。【００３１】
例えば、縦方向の長さがマクロブロックＸライン（Ｘは小数もありうる）程度の大きさで、フレームレートがＹ（fps）の映像を伝送する場合について、画質の低下を抑えつつ低遅延化を図るためには、前述の所定の区間（マクロブロックＮラインの領域）および最大遅延時間Ｄmax［s］以下の式（４）関係を満たすように設定すればよい。【００３２】
Ｎ ＜ Ｄmax × Ｙ× Ｘ ＜ Ｘ  ・・・（４）
数式（４）のように設定すれば、最大遅延時間Ｄmaxは、前述の所定の区間であるマクロブロックＮラインの領域の処理時間より大きいので、前述の持ち越しビット量Ｃの変動を許容させることができ、低遅延化による画質の低下を低減できる。また、最大遅延時間ＤmaxがマクロブロックＸラインの領域の処理時間＝１フレームの処理時間より短くなるので、１フレーム未満の低遅延化を実現できる。【００３３】
また、より好ましくは、前述の所定の区間（マクロブロックＮラインの領域）および最大遅延時間Ｄmax［s］以下の式（５）関係を満たすように設定したほうが望ましい。【００３４】
Ｎ ＜ Ｄmax × Ｙ× Ｘ ＜ ２０  （但し１≦Ｎ≦４）・・・（５）
数式（５）のように設定すれば、最大遅延時間Ｄmaxは、前述の所定の区間であるマクロブロックＮラインの領域の処理時間より大きく、マクロブロック２０ライン分の領域の処理時間未満に設定することとなる。このように設定すれば、例えば、前述の所定の区間がマクロブロック４ライン分であっても、５倍程度のライン数の処理時間内で前述の持ち越しビット量Ｃの変動を許容できるので、低遅延化による画質の低下を十分低減できる。また、例えば、縦７２０ピクセルの映像をマクロブロックサイズが１６ピクセル角で符号化する場合、縦方向の大きさはマクロブロック４５ライン分であるので、マクロブロック２０ライン分の領域の処理時間とは、０．４４フレーム程度の処理時間であり、十分低遅延化できる。縦１０８０ピクセルの映像をマクロブロックサイズが１６ピクセル角で符号化する場合、縦方向の大きさはマクロブロック６７．５ライン分であるので、上述のマクロブロック２０ラインの領域の処理時間とは、０．３フレーム程度の処理時間となり、十分低遅延化できる。【００３５】
以上のようにして、本実施例に依れば、画質の劣化を最小限に抑えながらバッファ遅延を削減し、低遅延での動画像符号化を行うことが可能となる。
【符号の説明】
【００３６】
１０  予測部
２０  直交変換部
３０  量子化部
４０  エントロピー符号化部
５０  バッファ部
６０  レート制御部
６１  第２のレート制御部
【図１】
0005847199.tif 000002
【図２】
0005847199.tif 000003
【図３】
0005847199.tif 000004
【図４】
0005847199.tif 000005