(57)【要約】【課題】  符号化ブロックのサイズ毎に量子化係数を決定することによるブロック毎の符号量誤差の拡大を防ぐ。【解決手段】  量子化制御装置（１１６）は、初期値として、初期量子化係数または直前の同タイプのピクチャの最後の量子化係数と、カレントのブロックサイズと、符号量誤差をセットする。量子化制御装置（１１６）は、ピクチャ目標符号量から前ブロックまでの発生符号量を減算し、ピクチャ残符号量を算出する。量子化制御装置（１１６）はまた、ピクチャ内を全て最小ブロックにした場合のピクチャ残最小ブロック数を算出する。量子化制御装置（１１６）は、ピクチャ残符号量とピクチャ残最小ブロック数及びブロックサイズから目標符号量を算出する。量子化制御装置（１１６）は、ブロックサイズが所定サイズより大きい場合、量子化制御感度を強くして量子化係数Ｑを算出する。【選択図】  図１
2014023081.tif 000002
【特許請求の範囲】
【請求項１】
画像データを符号化する画像符号化装置であって、
サイズを変更できる符号化ブロックを単位に前記画像データの量子化を行う量子化手段と、
前記量子化された符号化ブロックの画像データを符号化する符号化手段と、
目標符号量と、前記符号化手段による発生符号量との差分により符号量誤差を算出する符号量誤差算出手段と、
前記符号量誤差と量子化制御感度に従い後続の符号化ブロックの前記量子化手段の量子化係数を算出する量子化係数算出手段
とを具備し、
前記量子化係数算出手段が、前記符号化ブロックのサイズに応じて前記量子化制御感度を変更する
ことを特徴とする画像符号化装置。
【請求項２】
前記量子化係数算出手段は、前記符号化ブロックのサイズが第１の閾値よりも大きいときに前記量子化制御感度を強くすることを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記量子化係数算出手段は、符号化対象のフレームの未符号化部分のブロック数が第２の閾値より大きいときに前記量子化制御感度を強くすることを特徴とする請求項１又は２に記載の画像符号化装置。
【請求項４】
画像データを符号化する画像符号化方法であって、
サイズを変更できる符号化ブロックを単位に前記画像データの量子化を行う量子化工程と、
前記量子化された符号化ブロックの画像データを符号化する符号化工程と、
目標符号量と、前記符号化工程における発生符号量との差分により符号量誤差を算出する符号量誤差算出工程と、
前記符号量誤差と量子化制御感度に従い後続の符号化ブロックの量子化係数を算出する量子化係数算出工程
とを具備し、
前記量子化係数算出工程において、前記符号化ブロックのサイズに応じて前記量子化制御感度を変更する
ことを特徴とする画像符号化方法。
【請求項５】
前記量子化係数算出工程では、前記符号化ブロックのサイズが第１の閾値よりも大きいときに前記量子化制御感度を強くすることを特徴とする請求項４に記載の画像符号化方法。
【請求項６】
前記量子化係数算出工程では、符号化対象のフレームの未符号化部分のブロック数が第２の閾値より大きいときに前記量子化制御感度を強くすることを特徴とする請求項４又は５に記載の画像符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像符号化装置及びその方法に関し、より具体的には、動画像を圧縮符号化する画像符号化装置及びその方法に関する。
【背景技術】
【０００２】
従来、被写体を撮影し、撮影により得られた動画像データを圧縮符号化して記録するカメラ一体型動画像記録装置として、デジタルビデオカメラがよく知られている。近年では、動画像データを記録する記録媒体は、従来の磁気テープからランダムアクセス性などの利便性が高いディスク媒体や半導体メモリなどに移り変わってきている。また、圧縮方式としては、フレーム間で動き予測を用いて高い圧縮率で圧縮可能なＭＰＥＧ２方式が一般的に用いられており、さらに近年では、より高圧縮に圧縮可能なＨ．２６４方式なども用いられている。Ｈ．２６４方式では、マクロブロックを更に細かいサブマクロブロックに細分化して動き補償することが規格で定義されている。
【０００３】
符号化の単位となるブロックサイズを決定するのに、画像の特徴等が利用される。画像の特徴に応じてブロックサイズを適応的に決定する方法が特許文献１に記載されている。また、カメラ情報に応じてブロックサイズを適応的に決定する方法が特許文献２に記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０９−１３０８０１号公報
【特許文献２】特開２００６−２５４３７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
符号化ブロックのサイズを適応的に変更できると、符号化効率がよくなり、画質が向上する。しかし、符号化ブロックのサイズ毎に量子化係数を決定することになり、ブロック毎の符号量誤差（目標符号量と発生符号量の差）が大きくなり、これが却って画質劣化を引き起こしてしまう。
【０００６】
本発明は、このような不都合を解消し、符号量誤差を抑制する量子化制御を行う画像符号化装置及びその方法を提示することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る画像符号化装置は、画像データを符号化する画像符号化装置であって、サイズを変更できる符号化ブロックを単位に前記画像データの量子化を行う量子化手段と、前記量子化された符号化ブロックの画像データを符号化する符号化手段と、目標符号量と、前記符号化手段による発生符号量との差分により符号量誤差を算出する符号量誤差算出手段と、前記符号量誤差と量子化制御感度に従い後続の符号化ブロックの前記量子化手段の量子化係数を算出する量子化係数算出手段とを具備し、前記量子化係数算出手段が、前記符号化ブロックのサイズに応じて前記量子化制御感度を変更することを特徴とする。
また、本発明に係る画像符号化方法は、画像データを符号化する画像符号化方法であって、サイズを変更できる符号化ブロックを単位に前記画像データの量子化を行う量子化工程と、前記量子化された符号化ブロックの画像データを符号化する符号化工程と、目標符号量と、前記符号化工程における発生符号量との差分により符号量誤差を算出する符号量誤差算出工程と、前記符号量誤差と量子化制御感度に従い後続の符号化ブロックの量子化係数を算出する量子化係数算出工程とを具備し、前記量子化係数算出工程において、前記符号化ブロックのサイズに応じて前記量子化制御感度を変更することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、符号化ブロックのサイズに応じて量子化制御の感度を変更することで符号量誤差を抑制することにより、量子化制御が適切になり、圧縮率又は画質を改善できる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施例の概略構成ブロック図である。
【図２】符号化ブロックの分割例である。
【図３】目標符号量、量子化係数及び発生符号量の一例を示す模式図である。
【図４】図３に続く変化例の模式図である。
【図５】符号化ブロック毎の目標符号量の変化例を示す模式図である。
【図６】図５に続く変化例の模式図である。
【図７】量子化制御装置の動作フローチャートである。
【図８】量子化制御装置の別の動作フローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の実施例を詳細に説明する。
【実施例１】
【００１１】
図１は、本発明に係る画像符号化装置の一実施例の概略構成ブロック図を示す。動画像符号化装置１００は、フレーム内の画像データのみで符号化するイントラ符号化（画面内符号化）と、フレーム間での予測も含めて符号化するインター符号化（画面間符号化）とを選択的に利用可能である。インター符号化には、Ｐ（片方向予測符号化）ピクチャとＢ（両方向予測符号化）ピクチャがあり、イントラ符号化にはＩピクチャがある。Ｐピクチャは、動き補償の単位となるマクロブロックに対して１枚の参照フレームとの予測を行う片方向予測で符号化される。Ｂピクチャは、２枚までの参照フレームとの予測を行う両方向予測で符号化される。Ｉピクチャは同じフレーム（又は画面）内の画像データを使って符号化される。
【００１２】
符号化すべきフレームの順番は入力フレームの順番とは異なる。これは、過去のフレームだけではなく、時間的に未来のフレームとの予測（後方予測）を可能にするためである。インター符号化のフレームでは、符号化対象ブロック単位でインター予測かイントラ予測を選択可能である。他方、イントラ符号化のフレームでは、インター予測のみが採用される。
【００１３】
撮像部１０１はレンズ及び撮像センサ等からなるカメラ部であり、被写体の画像信号を動画像のレートで動画像符号化装置１００に出力する。動画像符号化装置１００では、撮像部１０１からの画像信号は、フレームメモリ１０２に一時記憶される。フレームメモリ１０２は、インター予測に用いる時間的に異なるフレームの画像（参照画像）を記憶する参照画像メモリ１１４を備えている。撮像部１０１からの画像データは、第１フレーム、第２フレーム、第３フレーム、・・・の順で、フレームメモリ１０２に順次格納される。フレームメモリ１０２からは、例えば、第３フレーム、第１フレーム、第２フレーム、・・・というように符号化の順序で読み出される。
【００１４】
イントラ符号化のフレームに対しては、最大符号化単位となる符号化対象ブロックの画像データがフレームメモリ１０２からイントラ予測装置１０５に読み出される。また、読み出された符号化対象ブロックに隣接する画素のデータもフレームメモリ１０２から読み出されて、イントラ予測装置１０５へ入力される。イントラ予測装置１０５は、符号化対象ブロックに隣接する画素のデータから複数の予測方向で複数のイントラ予測画像データを生成し、それぞれを符号化対象ブロックの画像データとブロックマッチングする。そして、イントラ予測装置１０５は、このブロックマッチングで最も相関の高いイントラ予測画像データに対応する予測方向（又は予測モード）を予測方法選択装置１０４に出力する。
【００１５】
イントラ符号化のフレームでは、予測方法選択装置１０４は常にイントラ予測装置１０５を選択し、予測画像生成装置１０６にイントラ予測装置１０５からの予測方向を示すデータを通知する。予測画像生成装置１０６は、予測方法選択装置１０４から通知される予測方向に従い、同じフレームで先に符号化及び復号化された再構成画像データ（加算器１１２の出力画像データ）からイントラ予測画像データを生成する。生成されたイントラ予測画像データは、減算器１０７及び加算器１１２に供給される。
【００１６】
減算器１０７は、フレームメモリ１０２から読み出される符号化対象ブロックの画像データから予測画像生成装置１０６からのイントラ予測画像データを減算し、得られた差分画像データを整数変換装置１０８に出力する。整数変換装置１０８は、減算器１０７からの差分画像データに整数変換を施し、変換係数データを量子化装置１０９に供給する。量子化装置１０９は、整数変換装置１０８からの変換係数データを、量子化制御装置１１６により設定される量子化ステップで量子化する。
【００１７】
一方、インター符号化のフレームでは、最大符号化単位となる符号化対象ブロックの画像データがフレームメモリ１０２からインター予測装置１０３に読み出される。インター予測装置１０３は、参照画像データを参照画像メモリ１１４から読み出し、符号化対象の画像データと参照画像データとから動きベクトルを検出して予測方法選択装置１０４に通知する。
【００１８】
インター符号化のフレームでは、符号化対象ブロックごとにインター予測かイントラ予測かを選択できるので、イントラ予測装置１０５もイントラ符号化のフレームで説明したように動作する。イントラ予測装置１０５は、イントラ予測の結果（ここでは最も相関の強い予測方向とその予測誤差値）を予測方法選択装置１０４に通知する。
【００１９】
予測方法選択装置１０４は、インター予測装置１０３の予測結果とイントラ予測装置１０５の予測結果とを比較し、例えば、予測誤差が小さい方の予測を選択し、予測画像生成装置１０６に通知する。予測画像生成装置１０６は、予測方法選択装置１０４からイントラ予測が通知された場合には、イントラ符号化のフレームで説明したように、同じフレームの再構成画像データからイントラ予測画像データを生成する。また、予測方法選択装置１０４からインター予測が通知された場合には、予測画像生成装置１０６は、インター予測装置１０３が参照した参照画像データを予測画像データとする。
【００２０】
減算器１０７は、フレームメモリ１０２から読み出される符号化対象ブロックの画像データから予測画像生成装置１０６からの予測画像データを減算し、得られた差分画像データを整数変換装置１０８に出力する。整数変換装置１０８は、減算器１０７からの差分画像データに整数変換を施し、変換係数データを量子化装置１０９に供給する。量子化装置１０９は、整数変換装置１０８からの変換係数データを、量子化制御装置１１６により設定される量子化ステップで量子化する。
【００２１】
エントロピー符号化装置１１５は、量子化装置１０９により量子化された変換係数をエントロピー符号化し、動き補償の動きベクトル情報等を付加した所定形式のストリームデータを生成出力する。エントロピー符号化装置１１５はまた、発生符号量を示すデータを符号量制御装置１１７及び量子化制御装置１１６に供給する。
【００２２】
量子化装置１０９により量子化された変換係数は、局所復号化のために、逆量子化装置１１０にも入力される。逆量子化装置１１０は、量子化された変換係数を逆量子化し、逆整数変換装置１１１は、逆量子化装置１１０の出力を逆整数変換する。逆整数変換装置１１１の出力は、減算器１０７の出力の局所復号化値に相当する。
【００２３】
加算器１１２は、逆整数変換装置１１１の出力データに予測画像生成装置１０６により生成されたイントラ予測画像データを加算する。加算器１１２の出力は局所復号化により再構成された再構成画像データであり、予測画像生成装置１０６に入力されてイントラ予測画像データの生成に用いられる。また、この再構成画像データはループ内フィルタ１１３によって符号化歪の軽減処理が施され、インター符号化の際に用いる参照画像データとして参照画像メモリ１１４に格納される。
【００２４】
符号量制御装置１１７は、エントロピー符号化装置１１５からの発生符号量に従い、長期的に見て所定の符号量になるような目標符号量を決定し、量子化制御装置１１６に供給する。量子化制御装置１１６は初期量子化係数または前ブロックで用いた量子化係数を保持し、予測方法選択装置１０４で決定された符号化ブロックサイズの情報が量子化制御装置１１６に入力する。量子化制御装置１１６は、これらの初期量子化係数、前ブロックで用いた量子化係数、符号化ブロックサイズ、発生符号量及び目標符号量に従い、後続のブロックの量子化の際に量子化装置１０９で適用されるべき量子化係数を決定し量子化装置１０９に設定する。
【００２５】
エントロピー符号化装置１１５の出力データが動画像符号化装置１００の出力となる。記録装置１１８は、エントロピー符号化装置１１５から出力されるストリームデータを記録媒体１１９に記録する。
【００２６】
図２は、符号化ブロックの分割例を示す模式図である。図２は符号化ブロックの最大サイズ（最大符号化ブロック）を示している。最大符号化ブロックを図２に示すように細分化したブロックが適応的に決定され、１〜２２の番号を付したブロックがそれぞれ量子化の対象となる。もちろん、最大サイズの符号化ブロックが量子化対象のブロックとなることもあり得る。このような符号化ブロック乃至最大符号化ブロックが、フレーム内に複数個配置される。図２に示す例で、最大符号化ブロックのサイズが３２画素×３２画素からなるとき、最小の量子化対象ブロックのサイズは４画素×４画素となる。
【００２７】
図２は、ある一つの最大符号化ブロックに着目した例を示しており、各番号は符号化ブロック番号と呼ばれる。イントラ予測及びインター予測では最大符号化ブロックにおいて差分値が最小となるように量子化対象のブロックサイズが決定される。ただし、ブロック数が多くなるとブロック判別情報が付加されるので、ヘッダ情報量を加味して、ブロックサイズを決定する。例えば、ブロック分割した任意のブロックＡにおいて差分値がＤであるとすると、量子化係数Ｑ、ヘッダ情報量Ｉのとき、ブロックＡの評価値Ｈは、
Ｈ＝Ｄ／Ｑ＋Ｉ
と表される。但し、Ｑは量子化係数を示し、Ｉはヘッダ情報量を示す。各ブロックの評価値Ｈが最小となるように、量子化対象のブロックとそのサイズを決定することになる。もちろん、別の評価方法又は図２とは異なる分割方法で、量子化対象のブロックとそのサイズを決定してもよい。
【００２８】
図３は、各ブロックの目標符号量、量子化係数及び発生符号量の関係を示す模式図である。図３において、●が前ブロックアドレスにおける積算符号量を示し、●の位置における発生符号量を□で示す。斜めの破線は、積算符号量と目標ピクチャ符号量との間に引かれる。ブロック目標符号量は、
｛（目標ピクチャ符号量）−（積算符号量）｝／（残ブロック相当サイズ）
より求めることができる。ただし、残ブロック相当サイズは、未符号化ブロックをカレントブロックのブロックサイズで換算した値である。
【００２９】
ブロック単位に符号化を行い、ブロック目標符号量とブロック発生符号量との差分がブロック符号量誤差ｅｒｒとなる。量子化制御装置１１６が、このブロック符号量誤差ｅｒｒを算出する符号量誤差算出手段として機能する。量子化制御装置１１６は、量子化係数Ｑｐを、
Ｑｐ＝Ｑ＋Σｅｒｒ×α          （１）
として算出し、このための量子化係数算出手段として機能する。αは任意の値である。量子化係数Ｑｐは制御感度を強めて細かく変更することも可能である。しかし、あまり強めると量子化歪を起こすので、感度を弱めることも必要となる。これを係数αで調整する。係数αが大きくなるほど、制御感度が強くなる。
【００３０】
図４は、図３に示す例のＣＵ１０に続く符号化ブロックの目標符号量、量子化係数及び発生符号量の例であって、ＣＵ１０の量子化係数を引き継いでＣＵ１１を符号化したときの模式図を示す。ブロックサイズが違うので、符号量誤差が増大している。
【００３１】
図５は、符号化ブロック毎の目標符号量の変化例を示す。破線と積算符号量の差分を制御符号量誤差とすると、図５に示す例では、破線をブロック毎に更新することで量子化の制御感度を強めている。この制御により、ＣＵ１０で制御符号量誤差が大きくなっている。
【００３２】
図６は、図５に示す例に続くブロックの目標符号量、量子化係数及び発生符号量の関係例を示す。量子化係数が違うので、図４に示す例とは発生符号量が異なる。ブロックサイズが大きい場合、量子化係数の違いにより発生符号量が大きく異なるので、量子化制御感度を強くし、符号量誤差を抑制する必要がある。
【００３３】
図７は、量子化制御装置１１６の動作フローチャートである。図７を参照して、量子化制御装置１１６の動作を説明する。
【００３４】
量子化制御装置１１６は、初期値として、初期量子化係数または直前の同タイプのピクチャの最後の量子化係数と、カレントのブロックサイズと、符号量誤差をセットする（Ｓ７０１）。量子化の開始当初には、直前の同タイプのピクチャの最後の量子化係数が無いので、初期量子化係数が採用される。符号化が進み、直前の同タイプのピクチャの最後の量子化係数が存在するようになると、直前の同タイプのピクチャの最後の量子化係数が採用される。
【００３５】
量子化制御装置１１６は、ピクチャ目標符号量から前ブロックまでの発生符号量を減算し、ピクチャ残符号量を算出する（Ｓ７０２）。量子化制御装置１１６はまた、ピクチャ内を全て最小ブロックにした場合のピクチャ残最小ブロック数を算出する。
【００３６】
量子化制御装置１１６は、ピクチャ残符号量とピクチャ残最小ブロック数及びブロックサイズから目標符号量を算出する（Ｓ７０３）。
【００３７】
量子化制御装置１１６は、次にブロックサイズが１６×１６画素より大きいか否かを判定する（Ｓ７０４）ブロックサイズが１６×１６画素より大きい場合（Ｓ７０４）、量子化制御装置１１６は、量子化制御感度を強くする（Ｓ７０５）。量子化制御感度を強くすることは、式（１）の係数αの値を大きくすることで可能である。
【００３８】
量子化制御装置１１６は、量子化係数であるＱ値を算出する（Ｓ７０６）。
【００３９】
以上のように、本実施例では、ブロックサイズが大きい場合に、符号量誤差を抑制する制御を行う。
【００４０】
上記説明では、ブロックサイズに係る第１の閾値である１６×１６画素より大きいブロック時に量子化制御感度を強くしたが、別のブロックサイズを基準に量子化制御感度を変更又は制御するようにしてもよい。
【００４１】
本実施例では、上記のように、符号化ブロックのサイズに応じて量子化制御感度を変更することで符号量誤差を抑制するので、従来よりも適切な量子化制御を行うことができ、画質又は圧縮効率を改善できる。
【実施例２】
【００４２】
図８は、量子化制御装置１１６の別の動作フローチャートである。図８で、図７と同じ処理内容のステップには同じ符号を付してあり、相違部分を詳細に説明する。具体的には、ステップＳ７０３とＳ７０４の間に条件分岐のステップＳ８０７を挿入する。
【００４３】
ステップＳ８０７において、量子化制御装置１１６は、符号化対象のフレームの未符号化部分を最小分割ブロックとしたときのブロック数が閾値ＴＢ（第２の閾値）より大きいか否かを判定する。ブロック数が閾値ＴＢより大きい場合（Ｓ８０７）、量子化制御装置１１６は、ステップＳ７０４に移行し、ステップＳ７０４以降を図７と同様に実行する。
【００４４】
ブロック数が閾値ＴＢ以下の場合（Ｓ８０７）、量子化制御装置１１６は、ピクチャの目標符号量と発生符号量との間に大きな差が出ないようい、ブロックサイズに応じて制御感度を強める（Ｓ８０８）。これは、ブロックが大きいほど制御感度を強くすることで、符号量誤差を抑制するためである。
【００４５】
上記のように、符号化ブロックのサイズに応じて量子化制御感度を変更することで符号量誤差を抑制するので、従来よりも適切な量子化制御を行うことができ、画質又は圧縮効率を改善できる。
【図１】
2014023081.tif 000003
【図２】
2014023081.tif 000004
【図３】
2014023081.tif 000005
【図４】
2014023081.tif 000006
【図５】
2014023081.tif 000007
【図６】
2014023081.tif 000008
【図７】
2014023081.tif 000009
【図８】
2014023081.tif 000010