(57)【要約】【課題】  高解像度の画像を低ビットレートで符号化する際の画質劣化を抑制することができる画像符号化装置およびその量子化制御方法を提供する。【解決手段】  マクロブロックＭＢごとにＱスケールに従って量子化を行う量子化部１０４に対して、量子化制御部２０は丸め処理されたＱスケールｍｑｃｊを供給する。量子化制御部２０は符号化により発生する発生符号量に基づいてＭＢごとにＱスケールｍｑｊを生成し、丸め制御部２０４によってＱスケールｍｑｊをある設定された範囲内で丸めることでＱスケールｍｑｊより少ない数のＱスケールｍｑｃｊを生成する。これにより、同じＱスケールが連続し、省略可能となる確率を高くすることで、量子化情報を削減でき、画像へのより大きな情報量割り当てを可能とする。【選択図】      図１
2005109778.tif 000002
【特許請求の範囲】
【請求項１】
画像を複数のブロックに分解して符号化処理を行う画像符号化装置において、
ブロックごとに量子化情報に従って量子化を行う量子化手段と、
少なくとも前記符号化処理により発生する発生符号量に基づいて、ブロックごとに第１量子化情報を生成する量子化情報生成手段と、
前記第１量子化情報をある設定された範囲内で丸めることで前記第１量子化情報より少ない数の第２量子化情報を生成する丸め制御手段と、
を有し、前記第２量子化情報を前記量子化情報として使用することを特徴とする画像符号化装置。
【請求項２】
前記丸め制御手段は、
直前のブロックの量子化情報を格納する格納手段と、
前記直前のブロックの量子化情報と現在処理中のブロックの第１量子化情報との差が前記設定された範囲内であれば前記直前のブロックの量子化情報を前記第２量子化情報として選択し、前記差が前記設定された範囲以上であれば前記第１量子化情報を前記第２量子化情報として選択する選択手段と、
を有することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記設定された範囲は前記第１量子化情報に依存して変化することを特徴とする請求項２に記載の画像符号化装置。
【請求項４】
前記設定された範囲は、前記現在処理中のブロックの第１量子化情報が前記直前のブロックの量子化情報より大きい場合と小さい場合とで異なることを特徴とする請求項２または３に記載の画像符号化装置。
【請求項５】
前記丸め制御手段は、
すでに符号化された画像のブロックに関する第１量子化情報の値の度数分布を格納する度数分布格納手段と、
前記第１量子化情報の値の取り得る範囲を複数の設定された範囲に分割し、前記度数分布に従って、前記現在処理中のブロックの第１量子化情報が属する範囲の代表値に基づいて前記第２量子化情報を生成する代表値生成手段と、
を有することを特徴とする請求項１に記載の画像符号化装置。
【請求項６】
前記代表値は、前記複数の設定された範囲の各々における第１量子化情報の値と前記度数分布との加重平均により決定されることを特徴とする請求項５に記載の画像符号化装置。
【請求項７】
前記代表値は、前記複数の設定された範囲の各々における上端値、下端値および中心値のいずれかに固定されていることを特徴とする請求項５に記載の画像符号化装置。
【請求項８】
前記複数の設定された範囲の各々の幅は前記度数分布の度数に応じて設定されることを特徴とする請求項５から７のいずれかに記載の画像符号化装置。
【請求項９】
前記度数分布は前記第１量子化情報のＱＳＣ(Quantizer Scale Code)の度数分布であり、前記代表値生成手段は前記代表値をＱＳＣとして生成することを特徴とする請求項５に記載の画像符号化装置。
【請求項１０】
複数のブロックに分解された画像をブロックごとに符号化処理を行う画像符号化装置における量子化制御方法において、
ａ）少なくとも前記符号化処理により発生する発生符号量に基づいて、ブロックごとに第１量子化情報を生成するステップと、
ｂ）前記第１量子化情報をある設定された範囲内で丸めることで前記第１量子化情報より少ない数の第２量子化情報を生成するステップと、
ｃ）前記第２量子化情報を用いてブロックごとに量子化処理を行うステップと、
を有することを特徴とする量子化制御方法。
【請求項１１】
前記ステップｂ）は、
直前のブロックの量子化情報を格納するステップと、
前記直前のブロックの量子化情報と現在処理中のブロックの第１量子化情報との差を生成するステップと、
前記差が前記設定された範囲内であれば前記直前のブロックの量子化情報を前記第２量子化情報として選択するステップと、
前記差が前記設定された範囲以上であれば前記第１量子化情報を前記第２量子化情報として選択するステップと、
を有することを特徴とする請求項１０に記載の量子化制御方法。
【請求項１２】
前記ステップｂ）は、
すでに符号化された画像のブロックに関する第１量子化情報の値の度数分布を生成するステップと、
前記第１量子化情報の値の取り得る範囲を複数の設定された範囲に分割するステップと、
前記度数分布に従って、前記現在処理中のブロックの第１量子化情報が属する前記設定された範囲の代表値を前記第２量子化情報として生成するステップと、
を有することを特徴とする請求項１０に記載の量子化制御方法。
【請求項１３】
コンピュータに、複数のブロックに分解された画像をブロックごとに符号化処理を行わせるプログラムにおいて、
ａ）少なくとも前記符号化処理により発生する発生符号量に基づいて、ブロックごとに第１量子化情報を生成するステップと、
ｂ）前記第１量子化情報をある設定された範囲内で丸めることで前記第１量子化情報より少ない数の第２量子化情報を生成するステップと、
ｃ）前記第２量子化情報を用いてブロックごとに量子化処理を行うステップと、
を有することを特徴とするプログラム。
【請求項１４】
前記ステップｂ）は、
直前のブロックの量子化情報を格納するステップと、
前記直前のブロックの量子化情報と現在処理中のブロックの第１量子化情報との差を生成するステップと、
前記差が前記設定された範囲内であれば前記直前のブロックの量子化情報を前記第２量子化情報として選択するステップと、
前記差が前記設定された範囲以上であれば前記第１量子化情報を前記第２量子化情報として選択するステップと、
を有することを特徴とする請求項１３に記載のプログラム。
【請求項１５】
前記ステップｂ）は、
すでに符号化された画像のブロックに関する第１量子化情報の値の度数分布を生成するステップと、
前記第１量子化情報の値の取り得る範囲を複数の設定された範囲に分割するステップと、
前記度数分布に従って、前記現在処理中のブロックの第１量子化情報が属する前記設定された範囲の代表値を前記第２量子化情報として生成するステップと、
を有することを特徴とする請求項１３に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像を複数ブロックに分割して符号化処理を行う画像符号化装置に係り、特にブロックごとの量子化情報を決定する量子化制御方法に関する。
【背景技術】
【０００２】
ＭＰＥＧ(Moving Picture Experts Group)符号化方式における符号化制御方法はＴＭ５（Ｔｅｓｔ  Ｍｏｄｅｌ５）に示されたものが広く知られており、ＭＰＥＧ符号化装置やプログラムを構成する際のベースになるものとして一般に利用されている。周知のように、ＭＰＥＧ方式では、画像を直交変換の一種である離散コサイン変換（ＤＣＴ）によりＤＣＴ係数に変換し、変換されたＤＣＴ係数を量子化スケール（以下、「Ｑスケール」という。）で除算して丸めることにより量子化し、量子化されたＤＣＴ係数を可変長符号化（ＶＬＣ）により順次符号を割り当ててビットストリームを構成する。こうして得られた画像情報の符号化ストリームは、動きベクトルやＱスケールなどの各種情報を含むヘッダ情報と共に、目標ビットレートに従ったレートで出力される。
【０００３】
ＤＣＴ係数を量子化するために用いられるＱスケールは、通常、量子化制御部により制御される。量子化制御は、１）発生符合量の目標符号量への追従、および、２）画質劣化の抑制、という２つの目的で行なわれる。発生符合量の目標符号量への追従は、実際の発生符号量と目標符号量との誤差に基づき、この誤差を縮小するように基本Ｑスケールを算出することで達成される。画質劣化の抑制は、基本Ｑスケールに対して、画像の複雑さを示す係数を用いてモジュレーションを行うことで達成される。このモジュレーションは、絵柄が複雑な箇所では劣化が目立ち難く、逆に平坦な箇所では劣化は目立ち易いという人間の視覚特性を利用したものである。たとえば特開２００１−０２５００８号公報には、画像の複雑度および目標符号量に応じて量子化制御を行う可変レート動画像符号化装置が開示されている。
【０００４】
【非特許文献１】Ｔｅｓｔ  Ｍｏｄｅｌ  ５，Ｄｒａｆｔ  Ｒｅｖｉｓｉｏｎ  ２
【特許文献１】特開２００１−０２５００８号公報（明細書段落００２６〜００２８、図１参照）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したように、ＭＰＥＧにより符号化されたストリームには、画像情報以外に各種フラグ、Ｑスケールおよび動きベクトルといったヘッダ情報が含まれるが、このヘッダ情報は量子化により圧縮することができない。このことは、符号化する画像の解像度やピクチャレートに見合った十分なビットレートで符号化する場合には、ヘッダ情報以外の画像情報にも十分な符号量を割り当てることができるために問題とはならない。
【０００６】
しかしながら、目標ビットレートが低くなるに従い全符号量に占めるヘッダ情報の割合が大きくなり、画像情報に十分な符号量を割り当てることができなくなる。Ｑスケールや動きベクトル情報はマクロブロック（ＭＢ）毎に設定されるため、ＭＢ数が多い高解像度の画像ほど画像情報に十分な符号量を割り当てることができなくなり、画質劣化が顕著になる。地上デジタル放送では、解像度が１９２０×１０８０や１４４０×１０８０のＨＤＴＶ（High Definition Television）を１２Ｍｐｂｓから１６Ｍｂｐｓのビットレートで符号化するが、この符号化条件でまさに前記画質劣化の問題が生じる。
【０００７】
そこで、本発明は、高解像度の画像を低ビットレートで符号化する際の画質劣化を抑制することができる画像符号化装置およびその量子化制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
ＭＰＥＧでは、符号化しようとしているマクロブロック（ＭＢ）のＱスケールが直前に符号化されたＭＢのＱスケールと等しい値である場合には、現ＭＢのＱスケールを示す５ビットのＱＳＣ（Quantizer Scale Code）をストリーム中から省略できる（ＩＳＯ／ＩＥＣ標準番号１３８１８−２（１９９６）の６．３．１６項「quaitser_scale_code」、６．３．１７．１項「macroblock_quant」および６．２．５項を参照）。
【０００９】
本発明は、このような符号化方式の特徴を利用することで、上記課題を解決しようとするものである。すなわち、本発明によれば、画像を複数のブロックに分解して符号化処理を行う画像符号化装置において、ブロックごとに量子化情報に従って量子化を行う量子化手段と、少なくとも前記符号化処理により発生する発生符号量に基づいて、ブロックごとに第１量子化情報を生成する量子化情報生成手段と、前記第１量子化情報をある設定された範囲内で丸めることで前記第１量子化情報より少ない数の第２量子化情報を生成する丸め制御手段と、を有し、前記第２量子化情報を前記量子化情報として使用することを特徴とする。
【００１０】
本発明の第１実施例として、前記丸め制御手段は、直前のブロックの量子化情報を格納する格納手段と、前記直前のブロックの量子化情報と現在処理中のブロックの第１量子化情報との差が前記設定された範囲内であれば前記直前のブロックの量子化情報を前記第２量子化情報として選択し、前記差が前記設定された範囲以上であれば前記第１量子化情報を前記第２量子化情報として選択する選択手段と、を有することを特徴とする。
【００１１】
本発明の第２実施例として、前記丸め制御手段は、すでに符号化された画像のブロックに関する第１量子化情報の値の度数分布を格納する度数分布格納手段と、前記第１量子化情報の値の取り得る範囲を複数の設定された範囲に分割し、前記度数分布に従って、前記現在処理中のブロックの第１量子化情報が属する範囲の代表値に基づいて前記第２量子化情報を生成する代表値生成手段と、を有することを特徴とする。
【００１２】
本発明の他の側面によれば、複数のブロックに分解された画像をブロックごとに符号化処理を行う画像符号化装置における量子化制御方法において、ａ）少なくとも前記符号化処理により発生する発生符号量に基づいて、ブロックごとに第１量子化情報を生成するステップと、ｂ）前記第１量子化情報をある設定された範囲内で丸めることで前記第１量子化情報より少ない数の第２量子化情報を生成するステップと、ｃ）前記第２量子化情報を用いてブロックごとに量子化処理を行うステップと、を有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、第１量子化情報に対して一定条件下で丸め処理を行い、第１量子化情報の取りうる値の数を減少させた第２量子化情報を生成するために、直前に符号化されたブロックの量子化情報と等しくなる確率が高くなり、このために符号化ストリームから量子化情報が省略される確率も高くなる。したがって、量子化情報が省略された分だけ画像情報に割り当てる符号量を大きくすることができ、高解像度の画像を低ビットレートで符号化する場合でも良好な画質を得ることができる。たとえば、ＨＤＴＶなどのように高解像度の画像を低ビットレートで符号化する際でも従来方式に比べて良好な画質を維持できる。しかも、この効果はブロック数が多いほどより顕著となる。ＨＤＴＶは解像度が１９２０×１０８０あるいは１４４０×１０８０ の画像が使われ、それぞれのブロック数は８１６０個、６１２０個と非常に多いため、本発明の効果は非常に大きくなる。
【発明を実施するための最良の形態】
【００１４】
図１は本発明の一実施形態による画像符号化装置の回路構成を示すブロック図である。本実施形態による画像符号化装置は、符号化部１０、量子化制御部２０および画像解析部３０を有する。符号化部１０は、入力映像のＤＣＴ変換、量子化および可変長符号化を行い、符号化された画像情報とヘッダ情報とからなるストリームとして出力する。量子化制御部２０は、符号化部１０から入力した発生符号量と画像解析部３０から入力した画像の複雑さなどを表す特徴量とを用いて、後述するように符号化部１０のＱスケールを制御する。
【００１５】
符号化部１０において、並べ替え部１０１は入力映像をピクチャタイプに従って符号化順に並び替え、差分器１０２を介してＤＣＴ変換部１０３へ出力する。ＤＣＴ変換部１０３は、差分器１０２からの画像あるいは差分画像をＤＣＴ係数に変換して量子化部１０４へ出力する。量子化部１０４は量子化制御部２０からのＱスケールｍｑｃｊによってＤＣＴ係数を除算することで量子化を行い、量子化ＤＣＴ係数は可変長符号化器１１１によって可変長符号化される。周知のように、可変長符号化器１１１では、量子化ＤＣＴ係数に対して、出現頻度の高くなるほど短い符号が順次割り当てられる可変長符号化が行なわれ、その結果得られたストリームがストリーム蓄積部１１２へ出力される。
【００１６】
量子化部１０４で得られた量子化ＤＣＴ係数は、ＩピクチャおよびＰピクチャに限り、逆量子化部１０５へも出力され、量子化部１０４と同じＱスケールｍｑｃｊによって逆量子化される。逆量子化により復元されたＤＣＴ係数は逆ＤＣＴ変換部１０６によって元の画像あるいは差分画像に変換され、加算器１０７、動き補償用画像メモリ１０８、動き予測補償部１０９および差分器１０２により動き予測処理および動き補償処理が行われる。なお、ピクチャタイプはピクチャタイプ決定部１１０により並べ替え部１０１および動き予測補償部１０９に与えられる。
【００１７】
ストリーム蓄積部１１２は、可変長符号化器１１１から出力されたストリームを蓄積し、目標ビットレートに従ったレートで出力する。上述したように、入力されたストリームには画像情報の他にも差分画像を生成する際に得られた動きベクトルや、量子化に使ったＱスケールなどの各種符号化情報を有するヘッダ情報も含まれる。ストリーム蓄積部１１２は、入力された符号量をカウントして得られた発生符号量およびストリームの蓄積量を量子化制御部２０へ出力する。
【００１８】
量子化制御部２０は、ストリーム蓄積部１１２から入力された発生符号量やストリームの蓄積量と、画像解析部３０から入力した画像の特徴量とに基づいてＱスケールを決定し、量子化部１０４へ出力する。量子化制御部２０は、誤差算出部２０１、基本Ｑスケール算出部２０２、調整部２０３、および、Ｑスケール丸め制御部２０４から構成される。
【００１９】
（誤差算出部）
誤差算出部２０１は、ストリーム蓄積部１１２から入力した発生符号量とストリームの蓄積量とをもとに、たとえば次式（１）を用いて目標符号量と実際の発生符号量との誤差ｄjを計算する。
【００２０】
【数１】
2005109778.tif 000003
【００２１】
ここで、ｄ0は、現符号化画像と同一ピクチャタイプの直前の画像を符号化し終えた時点でのｄjの値であり、ピクチャタイプ毎に別々の値が保持される。Ｂjは、現画像の符号化開始時点からｊ番目のマクロブロックＭＢを符号化した時点までの実際の発生符号量である。ＭＢ＿ｎｕｍは入力画像の解像度により決まるマクロブロックの合計数である。Ｔは、現画像の符号化難易度やピクチャタイプおよび目標ビットレート等の符号化条件により決定される現画像での目標符号量であり、Ｉピクチャのときは式（２）、Ｐピクチャのときは式（３）、Ｂピクチャのときは式（４）によりそれぞれ求めることができる。
【００２２】
【数２】
2005109778.tif 000004
【００２３】
【数３】
2005109778.tif 000005
【００２４】
【数４】
2005109778.tif 000006
【００２５】
ここで、Ｋｐ、Ｋｂは、画質劣化抑制のためにピクチャタイプ毎の符号量割り当て量に偏りを持たせるパラメタであり、たとえばＩピクチャ、Ｐピクチャへの符号量割り当て量をＢピクチャより大きくするように、Ｋｐ＝１．０、Ｋｂ＝１．４に設定することができる。また、符号化難易度が高く画像間相関の小さな画像である場合には、Ｋｐ＝１．２、Ｋｂ＝１．２としてＰピクチャとＢピクチャとの符号量割り当て量の差をなくすように適応的に変化させることもできる。さらに、その他の値を固定的あるいは適応的に用いても良い。
【００２６】
Ｎｐ、Ｎｂはそれぞれ現ＧＯＰ（Group of Pictures）内で符号化されていないＰピクチャおよびＢピクチャの数を示す。bit_rateは目標ビットレートを示し、picture_rateは１秒あたりの画像表示枚数であるピクチャレートを示す。
【００２７】
Ｒは、現画像を符号化する時点で現画像が属するＧＯＰで使用可能な残りの符号量であり、ＧＯＰの先頭画像を符号化する前に、
R = bit_rate*N / picture_rate
によりリセットされ、その後画像を符号化する毎に画像毎の実発生符号量を引いていくことで更新される。ここで、ＮはＧＯＰを構成する画像数を示す。
【００２８】
Ｘｉ、Ｘｐ、Ｘｂは、それぞれＩピクチャ、Ｐピクチャ、Ｂピクチャでの符号化難易度を示し、次式により求めることができる。
【００２９】
Xi = SiQi
Xp = SpQp
Xb = SbQb
ここで、Ｓｉ、Ｓｐ、Ｓｂは、それぞれ直前のＩピクチャ、Ｐピクチャ、Ｂピクチャを符号化した結果発生した符合量を示し、Ｑｉ、Ｑｐ、Ｑｂはそれらの画像を符号化した際にＭＢ毎に割り当てられたＱスケールの平均値を示す。なお、式（２）〜（４）におけるｍａｘ（ａ，ｂ）は、ａおよびｂのうち大きな方を選択することを示す。
【００３０】
また、式（１）を用いた目標符号量と実際の発生符号量との誤差ｄjの計算において、符号化開始からｄ0の値を順次更新して行くとストリーム蓄積部１１２のストリーム蓄積量との誤差が拡大して行くので、これを回避するため、ＧＯＰ分の画像処理後などのタイミングで、ストリーム蓄積部１１２からのストリーム蓄積量によりｄ0をリセットしても良い。また、ストリーム蓄積部１１２から入力したストリーム蓄積量がストリーム蓄積部１１２の最大蓄積量に近づいた場合、符号量誤差ｄjの値がより大きくなるように補正しても良い。例えば、ストリーム蓄積部１１２でのストリーム蓄積量が前蓄積量の８０％以上となった場合、誤差ｄjを２倍あるいはそれ以上の倍率で大きくする。
【００３１】
（基本Ｑスケール算出部）
基本Ｑスケール算出部２０２は、誤差算出部２０１から実際の発生符号量と目標符号量との誤差ｄjを入力すると、例えば次式（５）により発生符号量を目標符号量へと制御するための基本Ｑスケール（baseQj）を算出し、調整部２０３へ出力する。
【００３２】
【数５】
2005109778.tif 000007
【００３３】
ここで、ｒは誤差への反応速度を決定するパラメタであり、例えば
r = 2*bit_rate/picture_rate
によって計算される。
【００３４】
（調整部）
調整部２０３は、基本Ｑスケール（baseQj）に対して、たとえば次式（６）により画質の劣化抑制のためのモジュレーションを行い、モジュレーションされたＱスケールｍｑｊをＱスケール丸め制御部２０４へ出力する。
【００３５】
【数６】
2005109778.tif 000008
【００３６】
ここで、N_actj は画像解析部３０から入力した画像の特徴量actjを用いて算出したモジュレーション量である。ここでは、画像の特徴量として画像の空間周波数を表わすアクティビティを使うことを想定しており、この場合、N_actj は次式（７）により算出することができる。
【００３７】
【数７】
2005109778.tif 000009
【００３８】
ここで、ａｃｔｊは、現画像内のｊ番目となるＭＢのアクティビティであり、ａｖｅｒａｇｅ＿ａｃｔは、画像内でのａｃｔｊの平均値である。また、ｎは、モジュレーション幅を決定するパラメタであり、モジュレーション幅は１／ｎ倍〜ｎ倍である。ｎは、例えばＴＭ５の場合では固定的にｎ＝２であるが、基本ＱスケールｂａｓｅＱが大きく、かつ画像内のアクティビティ分布や符号化難易度分布の偏りが大きい場合などには、それらの度合いによりｎを２〜１２までの範囲で変化させてメリハリの利いたモジュレーションを行なうことでより良好な画質とすることができる。もちろんｎは、変化させる条件や範囲をここで挙げた範囲以外としても構わない。
【００３９】
なお、画像解析部３０は並べ替え部１０１から入力した画像を解析し、上述した絵柄の複雑さを表わすアクティビティーを生成する。それ以外にも視覚的に敏感な赤色の強度など視覚的な画質改善に関係する情報を単独であるいは組み合わせて生成してもよい。
【００４０】
（Ｑスケール丸め制御部）
Ｑスケール丸め制御部２０４は、調整部２０３によりモジュレーションされたＱスケールｍｑｊに対して一定条件下で丸め処理を行い、Ｑスケールｍｑｊの取りうる値の数を減少させたＱスケールｍｑｃｊを生成する。すなわち、後述するように、一定条件の下で直前に符号化されたＭＢのＱスケールと等しくなるようにＱスケールの選択処理あるいは代表値置き換え処理を行う。こうして丸め処理されたＱスケールｍｑｃｊに従って量子化処理を行うと、上述したようにストリームからＱＳＣが省略される確率が高くなる。したがって、ＱＳＣが省略された分だけ画像情報に割り当てる符号量を大きくすることができ、高解像度の画像を低ビットレートで符号化する場合でも良好な画質を得ることができる。以下、Ｑスケール丸め制御部２０４についてより詳細に説明する。
【実施例１】
【００４１】
図２は本発明の第１実施例による画像符号化装置の回路構成を示すブロック図である。本実施例におけるＱスケール丸め制御部２０４は、Ｑスケール選択部２１０およびメモリ２１１からなる。Ｑスケール選択部２１０は、調整部２０３から入力した現ＭＢのモジュレーション後のＱスケールｍｑｊとメモリ２１１から読み出した直前に選択されたｍｑｃ（ｊ−１）とを比較する。
【００４２】
それらの差diff_mq = mqj - mqc(j-1) の絶対値が所定しきい値未満ならば、現ＭＢのｍｑｊの値を直前のｍｑｃ（ｊ−１）と同じ値に変更し、現ＭＢのＱスケールｍｑｃｊとして量子化部１０４へ出力するとともに、メモリ２１１に格納する。すなわち、現ＭＢと直前のＭＢとの間でＱスケールの差が所定しきい値より小さい場合には、直前のＱスケールを用い、これにより現ＭＢのＱスケールを示すＱＳＣはストリームから省略することができる。一方、前記diff_mqの絶対値が所定しきい値以上である場合、あるいは現ＭＢが画面の左端である場合は、現ＭＢのｍｑｊの値をそのまま量子化部１０４へ出力すると共に、メモリ２１１へ格納する。
【００４３】
図３は本発明の第１実施例におけるＱスケール丸め制御を示すフローチャートである。ここでは、現在の処理対象であるｊ番目のＭＢについて、調整部２０３からＱスケールｍｑｊが出力され、メモリ２１１には直前に符号化されたＭＢのＱスケールｍｑｃ（ｊ−１）が格納されているものとする。
【００４４】
まず、Ｑスケール選択部２１０は、Ｑスケールｍｑｊとｍｑｃ（ｊ−１）との差分ｄｉｆｆ＿ｍｑを求める（ステップＳ３０１）。次に、差分ｄｉｆｆ＿ｍｑを判定するためのしきい値Ｕｐ＿ＴＨおよびＤｏｗｎ＿ＴＨを、それぞれＵｐ＿ＴＨ＝ｍｑｊ＊ｐｕ、Ｄｏｗｎ＿ＴＨ＝ｍｑｊ＊ｐｄとして決定する（ステップＳ３０２）。
【００４５】
ここでは、差分ｄｉｆｆ＿ｍｑの正負に応じてしきい値Ｕｐ＿ＴＨおよびＤｏｗｎ＿ＴＨを別々に設定し、ｍｑｊの大きさに従って適応的に変化させる。ｍｑｊに応じて変化させることで、画質を維持しつつ効果的にＱスケール情報量を削減でき、本発明の目的を達成する上で好適となる。また、ＨＤＴＶを符号化する際には、ｐｕおよびｐｄは、それぞれ、ｐｕ＝０．４０、ｐｄ＝０．２０とすることで最も良好な結果を得られたが、条件に応じてそれぞれ別の値としても構わない。また、ｐｕとｐｄを同じ値としても良い。さらに、しきい値Ｕｐ＿ＴＨおよびＤｏｗｎ＿ＴＨを求める際には、ｍｑｃ（ｊ−１）を使って、Ｕｐ＿ＴＨ＝ｍｑｃ（ｊ−１）＊ｐｕ、Ｄｏｗｎ＿ＴＨ＝ｍｑ（ｊ−１）＊ｐｄとしても良い。ただし、ｍｑｊを使ったほうが、Ｑスケールが小さくなる方向に変化しやすいので、絵柄が複雑な箇所から平坦となる境界での画質が有利となる。
【００４６】
しきい値Ｕｐ＿ＴＨおよびＤｏｗｎ＿ＴＨを適応的に変化させる際には、ｍｑｊの値を用いるほかにも、ピクチャタイプ、符号化難易度などといった指標を用いてもよいし、それらを併用してもよい。あるいは、しきい値Ｕｐ＿ＴＨおよびＤｏｗｎ＿ＴＨを固定的なしきい値としてもよく、この場合、両者を同じ値としても、また違う値としても構わない。
【００４７】
次に、ｄｉｆｆ＿ｍｑが正の値かどうかを判定し（ステップＳ３０３）、ｄｉｆｆ＿ｍｑ＞０の場合は（ステップＳ３０３のＹＥＳ）、ｄｉｆｆ＿ｍｑの絶対値を前記Ｕｐ＿ＴＨと比較する（ステップＳ３０４）。ｄｉｆｆ＿ｍｑの絶対値がＵｐ＿ＴＨ未満であれば（ステップＳ３０４のＹＥＳ）、メモリ２１１に格納された直前ＭＢのｍｑｃ（ｊ−１）をＱスケールｍｑｃｊとし（ステップＳ３０５）、量子化部１０４へ出力してメモリ２１１に改めて格納する（ステップＳ３０９）。ｄｉｆｆ＿ｍｑの絶対値がＵｐ＿ＴＨ以上であれば（ステップＳ３０４のＮＯ）、現ＭＢのｍｑｊをＱスケールｍｑｃｊとし（ステップＳ３０６）、量子化部１０４へ出力してメモリ２１１に改めて格納する（ステップＳ３０９）。
【００４８】
他方、ｄｉｆｆ＿ｍｑ≦０の場合は（ステップＳ３０３のＮＯ）、ｄｉｆｆ＿ｍｑの絶対値を前記Ｄｏｗｎ＿ＴＨと比較する（ステップＳ３０７）。ｄｉｆｆ＿ｍｑの絶対値がＤｏｗｎ＿ＴＨ未満であれば（ステップＳ３０７のＹＥＳ）、メモリ２１１に格納された直前ＭＢのｍｑｃ（ｊ−１）をＱスケールｍｑｃｊとし（ステップＳ３０５）、量子化部１０４へ出力してメモリ２１１に改めて格納する（ステップＳ３０９）。ｄｉｆｆ＿ｍｑの絶対値がＤｏｗｎ＿ＴＨ以上であれば（ステップＳ３０７のＮＯ）、現ＭＢのｍｑｊをＱスケールｍｑｃｊとし（ステップＳ３０８）、量子化部１０４へ出力してメモリ２１１に改めて格納する（ステップＳ３０９）。
【００４９】
このようにしてｊ番目のＭＢについてＱスケールが決定されると、（ｊ＋１）番目のＭＢについて同様の処理が行われ、その際、メモリ２１１に新たに格納されたＱスケールｍｑｃｊがｄｉｆｆ＿ｍｑの判定に使用される。
【００５０】
なお、しきい値を固定値とした場合には、Ｑスケールのとり得る範囲全てに適合するしきい値とするのは難しい。ただし、ＭＰＥＧでの符号化制御のフラグの一つであるＱ＿Ｓｃａｌｅ＿Ｔｙｐｅが１、つまり非線形量子化の場合に限るが、ｍｑｊおよびｍｑｃ（ｊ−１）をそれぞれＱＳＣに変換した後の差を比較するのであれば、固定値としてもＱスケールに応じて変化させた場合と類似した効果を得ることができる。すなわち、非線形量子化の場合には、ＱＳＣが大きいほどＱＳＣの各コードに割り当てられるＱスケールの範囲が広くなるために、ＱＳＣでの差が固定でも、Ｑスケールが大きいほど変化が抑制されＱスケールの範囲が広くなるためである。具体的には、ＱＳＣでの差が１のときのＱスケールでの差はその大きさによって１〜８まで変化する。この場合は、Ｕｐ＿ＴＨ＝２、Ｄｏｗｎ＿ＴＨ＝１などのように固定値としても、Ｑスケールのとり得る範囲の全てにおいて、ある程度良好な結果が得られる。
【００５１】
上述したように、本発明の第１実施例によれば、現ＭＢと直前のＭＢのＱスケールとの差が所定のしきい値以内である場合には、現ＭＢのＱスケールを直前のＭＢのＱスケールと同じ値とし、ＱＳＣをストリーム中から省略できる。したがって、画像情報に割り当てられる符号量を大きくすることができ、高解像度の画像を低ビットレートで符号化する場合でも良好な画質を得ることができる。
【実施例２】
【００５２】
図４は本発明の第２実施例による画像符号化装置の回路構成を示すブロック図である。本実施例におけるＱスケール丸め制御部２０４は、ＱＳＣ変換部２２０、ＭＢ度数統計部２２１、度数分布メモリ２２２、代表値算出部２２３、置換部２２４およびＱスケール変換部２２５からなる。
【００５３】
ＱＳＣ変換部２２０は、調整部２０３から入力したＱスケールｍｑｊを５ビットのコードであるＱＳＣに変換し、ＭＢ度数統計部２２１、代表値算出部２２３および置換部２２４へ出力する。ＭＢ度数統計部２２１は、ピクチャタイプ毎にＭＢのＱＳＣに関する度数統計処理を行い、１画像分の度数分布データを度数分布メモリ２２２に格納する。代表値算出部２２３は、度数分布メモリ２２２から同じピクチャタイプの前回の度数分布データを読み出し、所定のＱＳＣ範囲の複数領域に分割し、各領域でＱＳＣの代表値ＱＳＣｎを決定する。置換部２２４は、現ＭＢのＱＳＣ（ｍｑｊ）を代表値ＱＳＣｎで置き換えてＱスケール変換部２２５へ出力する。Ｑスケール変換部２２５は、代表値ＱＳＣｎをＱスケールｍｑｃｊに変換して量子化部１０４へ出力する。
【００５４】
図５（Ａ）は１画像分のＭＢ度数分布データの一例を示すグラフであり、（Ｂ）は複数領域に分割された度数分布の各領域における代表値の一例を示す図であり、（Ｃ）は各領域のＱＳＣ範囲および領域幅の一例を示す表である。
【００５５】
図５（Ａ）に示すように、ＭＢ度数統計部２２１は、ＱＳＣ変換部２２０から順次入力されるＱＳＣ（ｍｑｊ）をＱＳＣが取りうる値０〜３１ごとにカウントし（実際にはＱＳＣは０にはならないが便宜上含める）、１画像分のＭＢのＱＳＣ分布をピクチャタイプ（Ｉ／Ｐ／Ｂ）毎に求め度数分布メモリ２２２に格納する
代表値算出部２２３は、度数分布メモリ２２２に格納されている現画像と同一ピクチャタイプの過去の画像に関するＱＳＣ度数分布データ（ＭＢ＿ｎｕｍ［ＱＳＣ］）を読み出し、図５（Ｂ）に示すように、所定のＱＳＣ範囲となる複数領域に分割する。そして、各領域毎にＱＳＣ値とその度数とを用いて、次式（８）により加重平均を求め、これを各領域でのＱＳＣ代表値とする。
【００５６】
【数８】
2005109778.tif 000010
【００５７】
ここで、ＱＳＣｎは領域ｎ（ｎ＝１，２，・・・８）でのＱＳＣ代表値であり、ＱＳＣ＿ＬｎおよびＱＳＣ＿Ｈｎは、それぞれ領域ｎのＱＳＣの下端値および上端値を示す。
【００５８】
例えば、ＱＳＣを４毎に領域分割した場合は、図５（Ｂ）に示すように、全８領域＃１〜＃８となり、各領域について図５（Ｃ）の表に示すようなＱＳＣの上端値および下端値となる。このとき、式（８）により図５（Ｂ）に示すような８つのＱＳＣ代表値ＱＳＣ１〜ＱＳＣ８が算出される。
【００５９】
なお、領域内のＱＳＣ度数が全て０の場合、ＱＳＣｎ＝（ＱＳＣ＿Ｈｎ＋ＱＳＣ＿Ｌｎ）／２として、中間値となるＱＳＣを代表値とするが、当該領域に属するＱＳＣが偶数の場合、つまり中間値を求める計算で少数桁が出る場合には切り上げた値を代表値とする。代表値を求め方としては、度数を使わずに各領域の上端値および下端値の中心値に固定する方法も考えられる。ただし、この方法ではＭＢ度数統計部２２１や式（８）の加重平均処理が不要となり処理が軽減するものの、画質的には不利となる。
【００６０】
また、上述した加重平均によりＱＳＣ代表値を求める例では、ＱＳＣの代表値を求める各領域を等範囲で分割したが、度数が多い箇所は領域を狭くし、度数が少ない箇所は領域を広くしても良い。この場合は、ＱＳＣの情報削減効果は落ちるものの、より絵柄に沿ったＱＳＣが割り当てられることになり、ＨＤＴＶ画像を１４Ｍ〜１６Ｍのレートで符号化する場合など、低ビットレートながらも比較的余裕のあるビットレートに適用する場合にはより好適な方法となる。この分割領域の範囲を度数に依存させる方法は、代表値を領域の中心値に固定する例にも適用できるが、この場合は度数を利用するためＭＢ度数統計部２２１が必要となる。
【００６１】
置換部２２４は、代表値算出部２２３から入力した各領域の上端値、下端値およびＱＳＣ代表値により、ＱＳＣ（ｍｑｊ）が属する領域を判定し、ＱＳＣ（ｍｑｊ）を当該領域のＱＳＣ代表値に置き換えてＱスケール変換部２２５へ出力する。なお、本実施例のＱスケール丸め制御部２０４ではＱＳＣを用いて処理を行なっているが、Ｑスケールのままで同様の処理を行うことも可能である。ただし、この場合、ＭＢ度数統計部２２１で各領域での代表値とするＱスケールは、ＱＳＣに変換した後に同一の値とならないＱスケールを選ぶようにした方が良い。
【００６２】
図６は本発明の第２実施例におけるＱスケール丸め制御を示すフローチャートである。まず、変数ｊを０に初期化した後（ステップＳ４０１）、ｊ番目のＭＢのｑスケールｍｑｊを調整部２０３から入力し（ステップＳ４０２）、ＱＳＣ変換する（ステップＳ４０３）。続いて、現在の処理対象画像と同一ピクチャタイプとなる直前の画像のＱＳＣ度数分布データＭＢ＿ｎｕｍ［ＱＳＣ］を度数分布メモリ２２２から読み出し、式（８）を用いて、分割した領域毎の代表値ＱＳＣｎを算出する（ステップＳ４０４）。
【００６３】
続いて、当該処理対象の画像についてＭＢ単位での処理を実行する（ステップＳ４０５〜Ｓ４１２）。まず、現ＭＢのＱＳＣが属する領域を判定する（ステップＳ４０５）。ここで、領域を図５（Ｂ）のようにＱＳＣの値の幅を４ずつの固定幅で分割するとした場合は、ＱＳＣを４で割り１を加えれば、そのまま図５（Ｃ）に示す領域番号となり、簡単に現ＭＢのＱＳＣが属する領域を判定できる。
【００６４】
次に、ステップＳ４０４で予め求めておいた領域毎の代表値ＱＳＣｎを用いて、現ＭＢのＱＳＣをそれが属する領域ｎでのＱＳＣの代表値ＱＳＣｎに置き換える（ステップＳ４０６）。置き換えられた代表値ＱＳＣｎがＱスケール変換され、Ｑスケールｍｑｃｊとして量子化部１０４へ出力される（ステップＳ４０７）。
【００６５】
続いて、現画像のＱＳＣの度数分布情報を作成するため、現ＭＢのＱＳＣの出現度数をインクリメント（＋１）し（ステップＳ４０８）、現ＭＢが現画像での最後のＭＢであるか否かを判定する（ステップＳ４０９）。現ＭＢが最後のＭＢでない場合には（ステップＳ４０９のＮＯ）、変数ｊをインクリメントし（ステップＳ４１０）、ｊ番目のＭＢのＱスケールｍｑｊを調整部２０３から入力し（ステップＳ４１１）、それをＱＳＣ変換した後（ステップＳ４１２）、ステップＳ４０５へ戻る。ステップＳ４０５〜Ｓ４１２は、現ＭＢが最後のＭＢとなるまで繰り返される。
【００６６】
現ＭＢが最後のＭＢになると（ステップＳ４０９のＹＥＳ）、次の同一ピクチャタイプとなる画像の処理に用いるため、現画像についてのＱＳＣの度数分布データをピクチャタイプ毎に度数分布メモリ２２２に格納して（ステップＳ４１３）、処理を終了する。
【００６７】
本発明の第２実施例によれば、ＭＢ度数統計部２２１により求めたＱＳＣの度数分布を用いて、代表値算出部２２３が実際に使用するＱＳＣとして幾つかの代表値を決定しておき、置換部２２４により代表値以外のＱＳＣをそれが属する領域の代表値へと置換する。これによって、割り当てられるＱＳＣの数がＱＳＣ代表値の数にまで減少し、同じＱＳＣが連続することで、ストリームから省略される確率が高くなる。その結果、画像情報へ割り当てられる符号量が大きくなり、高解像度の画像を低ビットレートで符号化する場合でも、良好な画質を得ることができる。
【００６８】
なお、上記第１実施例および第２実施例は、図２および図４に示す機能ブロックをハードウエアにより実現することもできるが、図３および図６に示すような量子化制御を含む符号化プログラムを十分な処理能力を持つＣＰＵ上で動作させることで同様に実現することもできる。あるいは、図３および図６に示すような量子化制御部２０のみソフトウェアに実装し、その他はハードウェアに実装するなど、ハードウェアとソフトウェアとを共に用いた構成で実現することも可能である。
【００６９】
なお、本発明は、高解像度であるＨＤＴＶを低ビットレートで符号化する地上デジタル放送向け符号化装置をはじめとした動画配信用符号化装置または符号化プログラムなどＭＰＥＧの技術を用いているもの全てに広く適用可能である。また、ＭＰＥＧのみならず、同じ値のＱスケールあるいはＱＳＣが連続した場合ストリームからそれらの情報を省略できる特徴を持つ、たとえばＨ．２６４など、他の符号化方式を利用した装置またはプログラムにも適用することができる。
【図面の簡単な説明】
【００７０】
【図１】本発明の一実施形態による画像符号化装置の回路構成を示すブロック図である。
【図２】本発明の第１実施例による画像符号化装置の回路構成を示すブロック図である。
【図３】本発明の第１実施例におけるＱスケール丸め制御を示すフローチャートである。
【図４】本発明の第２実施例による画像符号化装置の回路構成を示すブロック図である。
【図５】（Ａ）は１画像分のＭＢ度数分布データの一例を示すグラフであり、（Ｂ）は複数領域に分割された度数分布の各領域における代表値の一例を示す図であり、（Ｃ）は各領域のＱＳＣ範囲および領域幅の一例を示す表である。
【図６】本発明の第２実施例におけるＱスケール丸め制御を示すフローチャートである。
【符号の説明】
【００７１】
１０  符号化部
２０  量子化制御部
３０  画像解析部
２０１  誤差算出部
２０２  基本Ｑスケール算出部
２０３  調整部
２０４  Ｑスケール丸め制御部
２１０  Ｑスケール選択部
２１１  メモリ
２２０  ＱＳＣ変換部
２２１  ＭＢ度数統計部
２２２  度数分布メモリ
２２３  代表値算出部
２２４  置換部
２２５  Ｑスケール変換部
【図１】
2005109778.tif 000011
【図２】
2005109778.tif 000012
【図３】
2005109778.tif 000013
【図４】
2005109778.tif 000014
【図５】
2005109778.tif 000015
【図６】
2005109778.tif 000016