(57)【特許請求の範囲】
【請求項１】
マクロブロックを単位として動画像データの符号化処理を行う動画像符号化装置において、
処理対象の画像の第１のマクロブロックのデータの直交変換を行い直交変換データを生成する直交変換手段と、
前記直交変換データを量子化処理するための量子化パラメータを生成する生成手段と、
生成された前記量子化パラメータに基づき、前記直交変換データの量子化処理を行い、量子化データを生成する量子化手段と、
前記量子化データに対して２値化と算術符号化とを含むＣＡＢＡＣ符号化を行って、符号列を出力するエントロピー符号化手段と
を備え、
前記生成手段は、
前記２値化により生成される第１の符号列の、前記処理対象の画像の先頭マクロブロックから前記第１のマクロブロックの直前に処理された第２のマクロブロックまでの第１の累積発生符号量を保持する第１の保持手段と、
前記算術符号化により生成される第２の符号列の、前記先頭マクロブロックから前記処理対象の画像のうち前記算術符号化が完了している第３のマクロブロックまでの第３の累積発生符号量を保持する第２の保持手段と、
前記第３の累積発生符号量と、前記第１の保持手段における前記第１の符号列の前記先頭マクロブロックから前記第３のマクロブロックまでの第４の累積発生符号量との比率を、前記第１の累積発生符号量に乗算することによって、前記算術符号化によって生成される前記第２の符号列の、前記先頭マクロブロックから前記第２のマクロブロックまでの第２の累積発生符号量を予測する予測手段と
を備え、前記第２の累積発生符号量に基づいて前記量子化パラメータを生成する
ことを特徴とする動画像符号化装置。
【請求項２】
前記第２の保持手段により保持される前記第３の累積発生符号量は、マクロブロックの前記算術符号化が行われる度に更新されるものであって、前記第３のマクロブロックは、前記第１のマクロブロックが前記量子化処理される時点で前記算術符号化が完了している最新のマクロブロックであることを特徴とする請求項１に記載の動画像符号化装置。
【請求項３】
コンピュータを、請求項１又は２に記載の動画像符号化装置として動作させるための、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像符号化装置、および、コンピュータプログラムに関する。
【背景技術】
【０００２】
デジタルビデオカメラの符号化方式やＤＶＤレコーダのデータ符号化方式には、符号化効率の高いＭＰＥＧ２（Moving Picture Expert Group）が一般的に利用されている。これに対し近年、映像信号のハイビジョン化に伴い、更なる高圧縮・高能率符号化方式としてＩＴＵ−ＴＲｅｃ．Ｈ．２６４｜ＩＳＯ／ＩＥＣ  １４４９６−１０  ＡＶＣ（ＪＶＴ、以下Ｈ．２６４と呼ぶ）と呼ばれる標準の規格化が行われている。Ｈ．２６４は、ＭＰＥＧ２やＭＰＥＧ４といった従来の符号化方式に比べ、より高い符号化効率が実現されることが知られている。
【０００３】
ここで、Ｈ．２６４の動画像符号化装置の構成について図４を用いて説明する。図４のように動画像符号化装置は順番並べ替えを終えたカレントピクチャ（処理対象の現画像）４０１と、加算器４０２と、整数変換部４０３と、量子化部４０４と、エントロピー符号化部４０５と、逆量子化部４０６と、逆整数変換部４０７と、加算器４０８を含む。また、ループフィルタ４０９と、ローカルデコードピクチャ４１０と、動き予測に使用する参照ピクチャ４１１と、動き予測部４１２と、動き補償部４１３と、イントラ予測部４１４と、スイッチ４１５と、量子化制御部４１６とを含む。
【０００４】
図４を参照して、動画像符号化装置におけるイントラ符号化の処理を説明する。イントラ符号化の場合、画面並べ替えを終えたカレントピクチャ４０１から画像データをマクロブロック単位で読み出し、イントラ予測部４１４に供給する。イントラ予測部４１４では、後述する復号画像情報からイントラ予測画像を生成する。生成されたイントラ予測画像はスイッチ４１５を通過して加算器４０２に入力される。加算器４０２は、カレントピクチャとの差分画像を生成し、該差分画像を整数変換部４０３に供給する。整数変換部４０３は、差分画像に対して離散コサイン変換等の整数変換処理を施し、変換係数を量子化部４０４に供給する。量子化部４０４は、整数変換部４０３から供給された変換係数に対して量子化処理を施す。エントロピー符号化部４０５は、量子化部４０４で算出された量子化変換係数や量子化スケール等から符号化モードを決定し、この符号化モードに対してエントロピー符号化等の可逆符号化を施し、画像符号化単位のヘッダ情報を形成する。この符号化された符号化モードは、画像圧縮情報として出力される。
【０００５】
量子化部４０４は、量子化制御部４１６によって制御される。また、量子化部４０４は、量子化後の変換係数を逆量子化部４０６に供給し、逆量子化部４０６で、その変換係数を逆量子化する。逆整数変換部４０７は、逆量子化された変換係数に対して逆整数変換処理を施して差分画像を復号し、加算器４０８に供給する。加算器４０８は、スイッチ４１５から出力されたイントラ予測画像と復号された差分画像とを加算して復号画像情報を生成し、ループフィルタ４０９とイントラ予測部４１４へ供給する。ループフィルタ４０９では、復号画像情報からマクロブロック境界ならびに整数変換ブロック境界のブロック歪を除去した後、ローカルデコードピクチャ４１０として蓄積する。ローカルデコードピクチャ４１０は、後述するインター符号化時に使用する参照ピクチャ４１１として利用される。
【０００６】
次にインター符号化の処理を説明する。インター符号化の場合、画像並べ替えを終えたカレントピクチャ４０１から画像データをマクロブロック単位で読み出し、動き予測部４１２と動き補償部４１３とに供給する。動き予測部４１２と動き補償部４１３とは、参照用の画像データを参照ピクチャ４１１から読み出し、動き予測処理と動き補償処理とを施してインター予測画像を生成する。
【０００７】
生成されたインター予測画像はスイッチ４１５を通過して、加算器４０２に入力される。加算器４０２は、カレントピクチャとの差分画像を生成し、該差分画像を整数変換部４０３に供給する。その後の整数変換、量子化、逆量子化、逆整数変換の流れはイントラ符号化の場合と同じなので省略する。なお、エントロピー符号化部４０５は、動き予測部４１２で算出された動きベクトル情報に対してエントロピー符号化等の可逆符号化処理を施し、画像符号化単位のヘッダ部に挿入される情報を形成する。
【０００８】
ここで、エントロピー符号化部４０５について詳細に説明する。Ｈ．２６４のエントロピー符号化部４０５では、量子化部４０４、動き予測部４１２或いはイントラ予測部４１４等から入力された量子化係数情報、動き情報或いはモード情報等のシンボルに対し、以下のいずれかのエントロピー符号化が適用される。エントロピー符号化の１つは、ＣＡＢＡＣ（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ）と呼ばれるエントロピー符号化（以下、ＣＡＢＡＣ）である。もう１つは、ＣＡＶＬＣ（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ）と呼ばれる可変長符号化（以下、ＣＡＶＬＣ）である。このいずれかのエントロピー符号化により、符号化信号（ビットストリーム）が出力される。
【０００９】
どちらのエントロピー符号化方式が適用されるかは、ＣＡＢＡＣ／ＣＡＶＬＣ選択情報により決定される。ＣＡＢＡＣ／ＣＡＶＬＣ選択情報は、ＰＰＳ（Ｐｉｃｔｕｒｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）で決定され、スライス単位に切り替えて使用することが可能である。またＣＡＢＡＣ／ＣＡＶＬＣ選択情報を含んだＰＰＳは、図７に示すようにビットストリームに埋め込まれて出力される。
【００１０】
上述の２つのエントロピー符号化のうち、ＣＡＢＡＣについて図５を参照して説明する。
【００１１】
量子化部４０４、動き予測部４１２、或いは、イントラ予測部４１４から入力された量子化変換係数情報、動き情報、或いは、モード情報が多値シンボルとして２値化部５０１に入力される。２値化部５０１では、入力された多値シンボルを、予め定められた一定規則にもとづき任意の長さの２値シンボル列に変換する。この２値シンボル列は２値算術符号化部５０２に入力され、２値算術符号化部５０２では、入力された２値シンボルに対して２値算術符号化を適用し、その結果をビットストリームとして出力する。
【００１２】
なお、コンテキスト計算部５０３では、２値化部５０１に入力されたシンボル情報と２値化部５０１からの出力である２値信号をもとに、２値信号発生確率を示すコンテキストの計算を行い、２値算術符号化部５０２に入力する。コンテキスト計算部５０３では、符号化処理中に随時更新されるコンテキストとリセット時などに用いられるコンテキストの初期状態が保存される。
【００１３】
次に、上述した２つのエントロピー符号化のうちＣＡＶＬＣについて図６を参照して説明する。
【００１４】
まず、量子化部４０４や動き予測部４１２から入力されたモード情報や動き情報、量子化変換係数が多値シンボルとしてとしてＶＬＣ算出部６０１に入力される。ＶＬＣ算出部６０１では、従来のＭＰＥＧなどで採用されている可変長符号化のように、入力された多値シンボルに対して可変長符号テーブルを適用して、ビットストリームを出力する。
【００１５】
コンテキスト保存部６０２には、既にＶＬＣ算出部６０１で符号化された情報、例えば、処理中のブロックだけでなく既に処理されたブロックにおける各ブロック内の非０係数の個数（ゼロラン）や直前に符号化された係数の値などが保存される。ＶＬＣ算出部６０１は、コンテキスト保存部６０２からの情報をもとにシンボルに適用する可変長符号テーブルを切り替えることができる。なお、コンテキスト保存部６０２にはリセット時などに用いられるコンテキストの初期状態も保存される。
【００１６】
ＣＡＢＡＣ及びＣＡＶＬＣに着目した先行例として、特許文献１がある。特許文献１に記載された「画像情報符号化方法及び画像情報復号方法」によると、ＣＡＢＡＣへの入出力データ量を制限し、復号化器の処理時間を保証することを目的とした発明が開示されている。具体的には、ＣＡＢＡＣ符号化器に入力される２値データの個数のカウンタと、出力されるビットデータの個数のカウンタをそれぞれ独立に有している。そして、制限監視器によって、これらカウンタのうちのどちらか一方でも、あらかじめ設定された閾値を超えてしまった場合、その符号化データは無効であることを示す信号を出力して、再符号化処理する構成が開示されている。
【特許文献１】特開２００４―１３５２５１号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【００１７】
しかしながら、上述したエントロピー符号化にＣＡＢＡＣを用いた場合、２値シンボル列１ビットごとに複雑な処理が必要となる。また発生確率をコンテキストの状況に応じて切り替える必要があるため現ビットの符号化が終わらないと次のビットの符号化が行えない。例えば、ピクチャの符号化を行う際に、画面の中央からＣＡＢＡＣを行おうとすると、画面上部のＣＡＢＡＣ結果から算出された発生確率が分からなければＣＡＢＡＣを行うことができない。
【００１８】
よって、ＣＡＢＡＣ自体の並列化も困難となる。そのため、マクロブロック単位の発生符号量を基に量子化スケールコードを決定する量子化制御部４１６では、量子化対象マクロブロック直前までのＣＡＢＡＣ発生符号量が分からないため、適切な量子化制御を行うことができない。
【００１９】
また、量子化対象マクロブロック直前までのＣＡＢＡＣ発生符号量を算出するには、ＣＡＢＡＣの処理クロックを高めて処理速度を上げることが考えられるが、そのような構成にすると回路規模や消費電力を犠牲にしなければならない。
【００２０】
さらに、従来のＣＡＶＬＣを用いて上記の問題を解決することも考えられるが、ＣＡＶＬＣは符号化の効率がＣＡＢＡＣよりも低く、画質を損ねてしまう。
【００２１】
したがって、前述した従来の特許文献１の提案技術によっても、上記に列挙したような問題点を解決することはできない。
【００２２】
そこで本発明は、上記問題に鑑み、２値化と算術符号化を行うエントロピー符号化手段を用いた構成において、適切な量子化制御が行える動画像符号化技術を提供することを目的とする。
【課題を解決するための手段】
【００２３】
上記課題を解決するための本発明は、
マクロブロックを単位として動画像データの符号化処理を行う動画像符号化装置において、
処理対象の画像の第１のマクロブロックのデータの直交変換を行い直交変換データを生成する直交変換手段と、
前記直交変換データを量子化処理するための量子化パラメータを生成する生成手段と、
生成された前記量子化パラメータに基づき、前記直交変換データの量子化処理を行い、量子化データを生成する量子化手段と、
前記量子化データに対して２値化と算術符号化とを含むＣＡＢＡＣ符号化を行って、符号列を出力するエントロピー符号化手段と
を備え、
前記生成手段は、
前記２値化により生成される第１の符号列の、前記処理対象の画像の先頭マクロブロックから前記第１のマクロブロックの直前に処理された第２のマクロブロックまでの第１の累積発生符号量を保持する第１の保持手段と、
前記算術符号化により生成される第２の符号列の、前記先頭マクロブロックから前記処理対象の画像のうち前記算術符号化が完了している第３のマクロブロックまでの第３の累積発生符号量を保持する第２の保持手段と、
前記第３の累積発生符号量と、前記第１の保持手段における前記第１の符号列の前記先頭マクロブロックから前記第３のマクロブロックまでの第４の累積発生符号量との比率を、前記第１の累積発生符号量に乗算することによって、前記算術符号化によって生成される前記第２の符号列の、前記先頭マクロブロックから前記第２のマクロブロックまでの第２の累積発生符号量を予測する予測手段と
を備え、前記第２の累積発生符号量に基づいて前記量子化パラメータを生成する
ことを特徴とする。
【発明の効果】
【００２４】
本発明によれば、２値化と算術符号化を行うエントロピー符号化手段を用いた構成において、適切な量子化制御が行える動画像符号化技術を提供することができる。
【発明を実施するための最良の形態】
【００２５】
以下、添付する図面を参照して発明の実施形態を説明する。
【００２６】
［第１の実施形態］
発明の第１の実施形態を図１に基づき説明する。本実施形態は、エントロピー符号化であるＣＡＢＡＣの中で２値化部と算術符号化部それぞれの累積発生符号量を用いて量子化制御ならびに符号化を行う形態である。
【００２７】
第１の実施形態を図１から図３ｂに基づき説明する。第１の実施形態における動画像符号化装置は、図１に示すようにカレントピクチャ１０１と、加算器１０２と、整数変換部（直交変換部）１０３と、量子化部１０４と、エントロピー符号化部（ＣＡＢＡＣ部）１０５とを含む。さらに、逆量子化部１０６と、逆整数変換部（逆直交変換部）１０７と、加算器１０８と、ループフィルタ１０９と、ローカルデコードピクチャ１１０と、動き予測に使用する参照ピクチャ１１１と、動き予測部１１２と、動き補償部１１３とを含む。さらに、イントラ予測部１１４と、スイッチ１１５と、量子化制御部１１６、符号量予測部１１７とを含んで構成される。
【００２８】
次に、動画像符号化装置の動作を説明する。なお、基本的な構成は背景技術の欄で説明した図４と同じである。図１において、イントラ符号化の処理を説明する。
【００２９】
イントラ符号化の場合、画面並べ替えを終えたカレントピクチャ１０１から画像データをマクロブロック単位で読み出し、イントラ予測部１１４に供給する。イントラ予測部１１４で後述するローカルデコードピクチャから予測画像を生成する。イントラ予測画像はスイッチ１１５を通過し、加算器１０２に入力される。加算器１０２では、イントラ予測画像とカレントピクチャとの差分画像を生成し、整数変換部１０３に供給する。整数変換部１０３は、マクロブロック毎の差分画像に対して直交変換（離散コサイン変換）処理を施し、変換係数（直交変換データ）を量子化部１０４に供給する。量子化部１０４は、整数変換部１０３から供給された変換係数に対して量子化処理を施し、量子化データを生成する。エントロピー符号化部１０５は、量子化部１０４で算出された量子化変換係数や量子化スケール等から符号化モードを決定し、この符号化モードに対してエントロピー符号化等の可逆符号化を施し、画像符号化単位のヘッダ情報を形成する。この符号化された符号化モードは、画像圧縮情報として出力される。
【００３０】
量子化部１０４は、量子化制御部１１６によって制御される。また、量子化部１０４は、量子化後の変換係数を逆量子化部１０６に供給し、逆量子化部１０６で、その変換係数を逆量子化する。逆整数変換部１０７は、逆量子化された変換係数に対して逆直交変換処理を施して復号画像情報を生成する。その後、ループフィルタ１０９でマクロブロック境界ならびに整数変換ブロック境界のブロック歪を除去した後、ローカルデコードピクチャ１１０として蓄積して、後述するインター符号化時に使用する参照ピクチャ１１１として利用される。
【００３１】
次にインター符号化の処理を説明する。インター符号化の場合、画像並べ替えを終えたカレントピクチャ１０１から画像データをマクロブロック単位で読み出し、動き予測部１１２ならびに動き補償部１１３に供給する。動き予測部１１２ならびに動き補償部１１３は、参照される画像データを参照ピクチャ１１１から読み出し、動き予測ならびに補償処理を施して参照画像を生成する。スイッチ１１５はインター予測画像を通過させ、加算器１０２においてカレントピクチャとの差分を生成し、整数変換部１０３に供給される。その後の整数変換、量子化、整数逆変換、逆量子化の流れはイントラ符号化を同じなので省略する。
【００３２】
なお、エントロピー符号化部１０５は、動き予測部１１２で算出された動きベクトル情報に対してエントロピー符号化等の可逆符号化処理を施し、画像符号化単位のヘッダ部に挿入される情報を形成する。ここで、エントロピー符号化部１０５においてＣＡＢＡＣ／ＣＡＶＬＣ選択情報はＰＰＳ（Ｐｉｃｔｕｒｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）で決められ、スライス単位に切り替えて使用することが可能である。またＣＡＢＡＣ／ＣＡＶＬＣ選択情報を含んだＰＰＳは図７に示すようにビットストリームに埋め込まれて出力される。本実施形態ではＣＡＢＡＣを用いた場合を想定しているので、ＰＰＳにはＣＡＢＡＣを選択したことを明示するフラグを挿入する。
【００３３】
量子化制御部１１６は、図示しない符号量制御部で算出されたピクチャやスライスの目標符号量と、マクロブロック毎にエントロピー符号化部１０５から算出された発生符号量の積算値との関係から目標となる符号量になるように量子化パラメータを決定する。なお、このような量子化制御方式はＭＰＥＧ２テストモデル（ＴＭ５）のステップ２で利用されているものと同等のものでありここでの説明は省略する。また、量子化パラメータの計算式はＴＭ５ベース以外のものでも構わない。
【００３４】
この時、量子化制御部１１６には直前のマクロブロックまでのエントロピー符号化部１０５が算出した発生符号量が必要となる。しかし、ＣＡＢＡＣでは発生確率をコンテキストの状況に応じて切り替える必要があるため、量子化対象マクロブロック直前までの発生符号量が算出されていない可能性がある。
【００３５】
そこで本実施形態では、量子化対象マクロブロック直前までの算術符号列の累積発生符号量を、符号量予測部１１７において予測して用いる。符号量予測部１１７における符号量の予測処理について、図２と図３ａおよび図３ｂとを参照してより詳細に説明する。
【００３６】
図２は符号化処理対象画像であるカレントピクチャ１０１をマクロブロックごとに分割して、マクロブロック間の関係を説明するための図である。図２において、マクロブロック２０１は、量子化対象マクロブロックであって、画像の先頭マクロブロック２０４からラスタスキャン順で数えてＮ番目（Ｎは０以上の整数）のマクロブロック（第１のマクロブロック）とする。マクロブロック２０２は、量子化対象マクロブロック２０１の（ラスタスキャン順で）直前のマクロブロックであり、画像の先頭マクロブロック２０４から数えて（Ｎ−１）番目のマクロブロック（第２のマクロブロック）とする。
【００３７】
また、マクロブロック２０３は、量子化対象マクロブロック２０１に対して整数変換、量子化を行っている際に、エントロピー符号化部１０５の算術符号化が終了したマクロブロック（第３のマクロブロック）である。マクロブロック２０３は、画像の先頭マクロブロック２０４から数えてラスタスキャン順でＭ番目（Ｍは０以上の整数でかつＭ≦Ｎ）のマクロブロックとする。
【００３８】
図３ａは２値符号列の累積発生符号量と算術符号列の累積発生符号量との関係を示す図である。横軸にマクロブロックナンバー、縦軸にエントロピー符号化部１０５で発生した２値符号列の累積発生符号量ならびに算術符号列の累積発生符号量を表している。
【００３９】
横軸のマクロブロックナンバーにおいて、Ｎ番目は、図２の量子化対象マクロブロック２０１に対応する。同様に、（Ｎ−１）番目は、量子化対象マクロブロック２０１の直前のマクロブロック２０２に対応する。Ｍ番目も同様に、エントロピー符号化部１０５の算術符号化が終了したマクロブロック２０３に対応する。
【００４０】
累積発生符号量３０１は、１番目のマクロブロック２０４から（Ｎ−１）番目のマクロブロック２０２までに発生した２値符号列（第１の符号列）の累積発生符号量（第１の累積発生符号量）を示す。この２値符号列の累積発生符号量は、符号量予測部１１７が有する２値符号列用の符号量保持部（第１の保持手段）に保持されている符号量から求めることができる。符号量予測部１１７は、エントロピー符号化部１０５において、２値化処理が行われる度に、エントロピー符号化部１０５から２値符号列の発生符号量を取得して保持していく。２値符号列用の符号量保持部は、先頭マクロブロック２０４から２値化処理済みの最新のマクロブロックまでの符号量を、マクロブロックナンバーと関連づけて保持することができる。なお、本実施形態では、処理対象のマクロブロック２０１の直前のマクロブロック２０２が２値化処理済みの最新のマクロブロックとなる。よって、累積発生符号量３０１は、先頭マクロブロック２０４から（Ｎ−１）番目のマクロブロック２０２までの符号量を積算して求めることができる。
【００４１】
次に、累積発生符号量３０２は、１番目のマクロブロック２０４から（Ｎ−１）番目のマクロブロック２０２までに発生する算術符号列（第２の符号列）の累積発生符号量（第２の累積発生符号量）の予測値を示す。なお、ここでの予測方法の詳細は、後述する。
【００４２】
累積発生符号量３０３は、１番目のマクロブロック２０４からＭ番目のマクロブロック２０３までに発生した２値符号列（第１の符号列）の累積発生符号量（第４の累積発生符号量）を示す。この累積発生符号量３０３は、上述の２値符号列用の符号量保持部に保持されている情報を利用して、先頭マクロブロック２０４からＭ番目のマクロブロック２０３までの符号量を積算して求めることができる。
【００４３】
また、累積発生符号量３０４は、１番目のマクロブロック２０４からＭ番目のマクロブロック２０３までに発生した算術符号列（第２の符号列）の累積発生符号量（第３の累積発生符号量）である。この算術符号列の累積発生符号量は、符号量予測部１１７が有する算術符号列用の符号量保持部（第２の保持手段）に保持されている符号量から求めることができる。符号量予測部１１７は、エントロピー符号化部１０５において、算術符号化が行われる度に、エントロピー符号化部１０５から算術符号列の発生符号量を取得して保持していく。算術符号列用の符号量保持部は、先頭マクロブロック２０４から算術符号化済みの最新のマクロブロックまでの符号量を、マクロブロックナンバーと関連づけて保持することができる。なお、本実施形態ではＭ番目のマクロブロック２０３が算術符号化処理済みの最新のマクロブロックとなる。よって、累積発生符号量３０４は、先頭マクロブロック２０４からＭ番目のマクロブロック２０２までの符号量を積算して求めることができる。
【００４４】
本実施形態では、エントロピー符号化部１０５としてＣＡＢＡＣを用いる場合を説明するが、背景技術の欄で図５を参照して説明したように、ＣＡＢＡＣは大きく２値化部と算術符号化部とで構成される。
【００４５】
２値化部では、入力される信号列に対して所定のルールの下で２値化を行うだけなので、先頭マクロブロックから（Ｎ−１）番目のマクロブロックまでの２値符号列の累積発生符号量３０１は、Ｎ番目のマクロブロックの処理段階で確定している。一方、算術符号化部では、上述のように（Ｎ−１）番目のマクロブロックまでの算術符号列の累積発生符号量３０２が、Ｎ番目のマクロブロック処理時点で算出されていない可能性がある。ただし、Ｍ番目のマクロブロックまでの算術符号化が終了しているとすると、Ｍ番目のマクロブロックにおける２値符号列の累積発生符号量３０３と算術符号列の累積発生符号量３０４とは確定している。
【００４６】
そこで、量子化対象マクロブロック２０１の量子化パラメータを算出するのに必要な（Ｎ−１）番目までに発生した算術符号列の累積発生符号量３０２を、以下のようにして符号量予測部１１７において予測する。まず、Ｍ番目のマクロブロックまでに発生した２値符号列の累積発生符号量３０３と、算術符号列の累積発生符号量３０４とを用いて比率の算出を行う。次に、（Ｎ−１）番目までに発生した２値符号列の累積発生符号量３０１と、算出した比率との乗算を行って、算術符号列の累積発生符号量３０２を予測する。
【００４７】
ここで、累積発生符号量３０１をＣ2n-1、累積発生符号量３０２をＣan-1、累積発生符号量３０３をＣ2m、累積発生符号量３０４をＣamとする。このとき、累積発生符号量３０２Ｃan-1は、次の式１で求まる。
Ｃan-1＝(Ｃam／Ｃ2m)×Ｃ2n-1・・・式１
このようにして予測された累積発生符号量３０２を用いて、量子化制御部１１６は量子化対象マクロブロックであるＮ番目のマクロブロック２０１の量子化パラメータを算出する。該量子化パラメータに基づき量子化部１０４で行われた量子化により生成される量子化信号列は、エントロピー符号化部１０５へ入力され、エントロピー符号化を行った後に、所定のヘッダ等を付加してストリームとして本動画像符号化装置から出力される。
【００４８】
また、Ｎ番目のマクロブロックで発生した２値符号列の発生符号量は２値符号列の累積発生符号量に加算されて、（Ｎ＋１）番目以降のマクロブロックにおける算術符号列の累積発生符号量の予測に使用される。
【００４９】
図３ｂは、本実施形態に対応する累積発生符号量の予測処理の一例を示すフローチャートである。
【００５０】
当該処理は、符号量予測部１１７において実現される。該符号量予測部１１７は、対応する処理プログラムをプロセッサにより実行することにより、フローチャートに対応する予測処理を実現することができる。
【００５１】
まず、ステップＳ３０１では、算術符号列用の符号量保持部（第２の保持手段）に保持されている符号量に基づき、算術符号化が終了しているマクロブロックナンバー：Ｍを特定する。本実施形態では、図２を参照して説明したように、先頭からＭ番目のマクロブロックまで算術符号化が完了している場合を想定して説明する。
【００５２】
次に、ステップＳ３０２では、先頭マクロブロックから上記Ｍ番目のマクロブロックまでの、２値符号列の累積発生符号量：Ｃ2mを２値符号列用の符号量保持部に保持されている符号量に基づいて算出する。それと同時に、先頭マクロブロックからＭ番目のマクロブロックまでの算術符号列の累積発生符号量Ｃamを算術符号列用の符号量保持部に保持されている符号量に基づいて算出する。
【００５３】
続く、ステップＳ３０３では、先頭マクロブロックから、（Ｎ−１）番目のマクロブロックまでの２値符号列の累積発生符号量：Ｃ2n-1を２値符号列用の符号量保持部に保持されている符号量に基づいて算出する。
【００５４】
続くステップＳ３０４では、ステップＳ３０２およびＳ３０３で算出した各符号量の値を用いて、先頭マクロブロックから（Ｎ−１）番目のマクロブロックまでの、算術符号列の累積発生符号量Ｃan-1を算出する。その後、処理を終了する。
【００５５】
本実施形態によれば、量子化パラメータを算出するために必要な累積発生符号量を、既に確定された２値符号列の累積発生符号量と算術符号列の累積発生符号量とに基づいて予測することができる。
【００５６】
［第２の実施形態］
次に、発明の第２の実施形態について説明する。本実施形態は、エントロピー符号化であるＣＡＢＡＣの中で２値化部と算術符号化部それぞれの累積発生符号量を用いて量子化制御ならびに符号化を行う点で第１の実施形態と共通する。しかし、本実施形態では、処理対象マクロブロックと算術符号化が終了しているマクロブロックとの関係に応じて算術符号列の累積発生符号量の予測方法を変更する点が異なる。
【００５７】
本実施形態に対応する動画像符号化装置は、第１の実施形態における図１の動画像符号化装置と同様の構成を有するので、詳細な説明は省略する。
【００５８】
第１の実施形態では、Ｎ番目のマクロブロック２０１と、Ｍ番目のマクロブロック２０３が同一の画像に属する場合に、（Ｎ−１）番目のマクロブロック２０２までに発生した算術符号列の累積発生符号量を予測した。この場合、同一画像内でＮ番目とＭ番目とで遅延があったとしても、同一ピクチャ（同一画像）内であるのでピクチャタイプが同じことや、ＣＡＢＡＣに使用する発生確率の状態に連続性があるために予測が正確に行える。
【００５９】
しかしながら、量子化対象マクロブロックと算術符号化が終了したマクロブロックが同一ピクチャでない場合、即ち１つ以上前のピクチャのマクロブロックに対して算術符号化を行っていた場合には、状況が異なってくる。この場合、算術符号化を行っているピクチャのピクチャタイプは処理対象ピクチャのピクチャタイプと一致するとは限らない。よって、ピクチャタイプや発生確率の状態に連続性がなくなるために、算術符号化が終了しているマクロブロックまでの２値符号列の累積発生符号量と、算術符号列の累積発生符号量とを利用しても、精度良く予測を行うことは難しい。
【００６０】
そこで、本実施形態では、エントロピー符号化を行う際にピクチャタイプ別に比率を学習していき、符号量予測部１１７が、ピクチャタイプ毎の比率データとして、比率データ保持部（第３の保持手段）に保持しておく。そして、該比率データ保持部に保持された比率データの中から、処理対象の画像のピクチャタイプに応じたデータを選択して、算術符号列の累積発生符号量の予測を行う。なお、各ピクチャタイプに対応する比率データは、学習により得られたものではなく、予め与えられたものであっても良い（第４の保持手段）。
【００６１】
なお、ピクチャタイプには、Ｉ（イントラ）ピクチャ、Ｐ（順方向予測）ピクチャ、Ｂ（双予測）ピクチャがある。
【００６２】
より具体的に図２、図３ａおよび図３ｃを参照して説明する。エントロピー符号化部１０５の算術符号化が終了したマクロブロック２０３が、処理対象の現画像（カレントピクチャ）には含まれず、より以前に処理された画像に含まれる場合を考える。この場合、符号量予測部１１７はマクロブロック２０２の２値符号列の累積発生符号量３０１は保持していても、処理対象の現画像の算術符号列の累積発生符号量３０４は有しない。そこで、現画像のピクチャタイプに基づき、符号量予測部１１７が保持する該ピクチャタイプの比率データを選択して、選択した比率データと累積発生符号量３０１とに基づいて、算術符号列の累積発生符号量３０４を予測する。
【００６３】
また、符号量予測部１１７は、処理対象の画像の直前に処理された画像の比率データについてピクチャタイプ毎に保持しておくことができる。即ち、既に符号化されたＩピクチャ、Ｐピクチャ、Ｂピクチャの画像について、それぞれの比率データを、比率データ保持部（第３の保持手段）に保持しておく。そして、処理対象の現画像のピクチャタイプに応じて、保持している各比率データのいずれかを選択して、算術符号列の累積発生符号量３０４を予測することができる。
【００６４】
図３ｃは、本実施形態に対応する累積発生符号量の予測処理の一例を示すフローチャートである。
【００６５】
当該処理は、符号量予測部１１７において実現される。該符号量予測部１１７は、対応する処理プログラムをプロセッサにより実行することにより、フローチャートに対応する予測処理を実現することができる。
【００６６】
まず、ステップＳ３１１では、算術符号列用の符号量保持部（第２の保持手段）に保持されている符号量に基づき、算術符号化が終了しているマクロブロックを特定する。本実施形態では、処理対象のマクロブロック２０１が属するカレントピクチャ以前のピクチャに該算術符号化が終了しているマクロブロックが存在している場合を想定して説明する。
【００６７】
次に、ステップＳ３１２では、該算術符号化が終了しているマクロブロックがカレントピクチャ外に存在するか否かを判定する。もし、カレントピクチャ外に存在する場合は（ステップＳ３１２において「ＹＥＳ」）、ステップＳ３１３に移行する。一方、カレントピクチャ内に存在する場合には図３ｂのステップＳ３０１に移行する。
【００６８】
次に、ステップＳ３１３では、カレントピクチャのピクチャタイプを判定する。さらに、ステップＳ３１４では、判定されたピクチャタイプに応じた比率データＲｐを取得する。なお、比率データは、Ｉ（イントラ）ピクチャ、Ｐ（順方向予測）ピクチャ、Ｂ（双予測）ピクチャのそれぞれのピクチャタイプに応じたものが、符号量予測部１１７の比率データ保持部（第３の保持手段）に保持されている。
【００６９】
続く、ステップＳ３１５では、先頭マクロブロックから、（Ｎ−１）番目のマクロブロックまでの２値符号列の累積発生符号量：Ｃ2n-1を２値符号列用の符号量保持部に保持されている符号量に基づいて算出する。
【００７０】
続くステップＳ３１６では、先頭マクロブロックから（Ｎ−１）番目のマクロブロックまでの、算術符号列の累積発生符号量Ｃan-1を算出する。ここでは、ステップＳ３１４で取得したピクチャタイプに対応する比率データＲｐと、ステップＳ３１５で算出した符号量Ｃ2n-1とを利用する。その後、処理を終了する。
【００７１】
以上によれば、算術符号化が終了したマクロブロックが現画像内に存在しない場合であっても、直前のマクロブロックまでの累積発生符号量を予測して、量子化パラメータを算出することができる。
【００７２】
［その他の実施形態］
本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
【００７３】
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
【００７４】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
【図面の簡単な説明】
【００７５】
【図１】発明の実施形態に対応する動画像符号化装置の構成の一例を示す図である。
【図２】発明の実施形態に対応する、マクロブロックの関係を説明するための図である。
【図３ａ】発明の実施形態に対応する、２値符号列の累積発生符号量と算術符号列の累積発生符号量との関係の一例を示すグラフである。
【図３ｂ】発明の第１の実施形態に対応する算術符号列の累積発生符号量の予測処理の一例を示すフローチャートである。
【図３ｃ】発明の第２の実施形態に対応する算術符号列の累積発生符号量の予測処理の一例を示すフローチャートである。
【図４】従来の動画像符号化装置の構成を示す図である。
【図５】エントロピー符号化器であるＣＡＢＡＣの構成を示す図である。
【図６】エントロピー符号化器であるＣＡＶＬＣの構成を示す図である。
【図７】符号化ストリームを説明するための図である。
【符号の説明】
【００７６】
１０１  カレントピクチャ
１０２  加算器
１０３  整数変換部
１０４  量子化部
１０５  エントロピー符号化部
１０６  逆量子化部
１０７  逆整数変換部
１０８  加算器
１０９  ループフィルタ
１１０  ローカルデコードピクチャ
１１１  参照ピクチャ
１１２  動き予測部
１１３  動き補償部
１１４  イントラ予測部
１１５  スイッチ
１１６  量子化制御部
１１７  符号量予測部
【図１】
0004847423.tif 000002
【図３ｂ】
0004847423.tif 000003
【図３ｃ】
0004847423.tif 000004
【図４】
0004847423.tif 000005
【図５】
0004847423.tif 000006
【図６】
0004847423.tif 000007
【図７】
0004847423.tif 000008
【図２】
0004847423.tif 000009
【図３ａ】
0004847423.tif 000010