(57)【特許請求の範囲】
【請求項１】
矩形小領域単位で動画像の符号化処理を行う最適符号化モード選択型動画像符号化方式であって、
各符号化ピクチャにつき、動き補償予測の参照方式、動き補償予測のタイプ、および直交変換のタイプの組み合わせにより規定される複数の符号化モード候補と、
符号化処理を行う画像の符号化ピクチャを決定する手段と、
前記決定された符号化ピクチャの符号化モード候補毎に、前記矩形小領域を形成する複数のＤＣＴブロックの各符号化ビット数を求める手段と、
前記矩形小領域内で符号化ビット数が０となるＤＣＴブロックの個数が予め定められた閾値以上になったかどうかを判断する手段と、
前記判断により前記閾値以上になるものがあった場合には、予測誤差電力が最小となるものを符号化モードとして決定し、前記閾値以上になるものがない場合には、ＤＣＴブロックの符号化ビット数とオーバヘッドビット数との和が小さいものを符号化モードとして決定する手段とを具備したことを特徴とする最適符号化モード選択型動画像符号化方式。
【請求項２】
請求項１に記載の最適符号化モード選択型動画像符号化方式において、
前記ＤＣＴブロックの符号化ビット数は、各符号化モードの予測誤差信号の統計量である平均値、分散および量子化ステップサイズから推定することを特徴とする最適符号化モード選択型動画像符号化方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は最適符号化モード選択型動画像符号化方式に関し、動画像を高効率に圧縮符号化できる最適符号化モード選択型動画像符号化方式に関する。
【０００２】
【従来の技術】
従来の動画像符号化装置の一例を、図６を参照して説明する。入力画像信号１１は、予測信号減算器１２と動き推定・動き補償部１９に送られる。予測信号減算器１２で、入力画像信号１１から動き補償予測信号ａが減算され、予測誤差信号ｂが得られる。該予測誤差信号ｂは、高い符号化効率を得るために、ＤＣＴ（離散コサイン変換部）部１３で直交変換され、量子化部１４で量子化される。その後、可変長符号化（ＶＬＣ）部２０でハフマン符号化等の可変長符号に変換され、一旦バッファ２１に格納された後、ビットストリーム２２として出力される。量子化部１４は、該バッファ２１からのレート制御信号により、次のブロックのための量子化ステップを計算する。
【０００３】
また、復号側と同一の予測信号を用いるために、量子化部１４で得られた量子化係数を逆量子化部１５で逆量子化し、逆ＤＣＴ部１６で予測誤差信号が局所的に復号される。この予測誤差信号は、局所復号加算器１７で、動き推定・動き補償部１９で復元された動き補償予測信号ａと加算され、フレームメモリ１８に送られる。
【０００４】
前記動き推定・動き補償部１９では、動き補償予測信号ａの復元、動きベクトルＭＶの決定、および符号化モードの選択をする。ここで、符号化モードは、例えば図７に示されているように、Ｉ、Ｐ、およびＢピクチャ毎に、参照方式、予測タイプ、およびＤＣＴタイプの組み合わせにより与えられ、マクロブロック単位に符号化モードの選択が可能である。
【０００５】
【発明が解決しようとする課題】
前記した従来装置では、前記符号化モードの選択は、予測誤差信号ｂの絶対値和とか分散値とかを最小にするように、単に機械的に決定していた。このため、動画像を高効率に圧縮符号化することに関して、改善の余地があった。
【０００６】
本発明の目的は、前記した従来技術に鑑み、動画像符号化におけるマクロブロック単位の適応モード判定を符号化ビット数最小化の規範でより厳密に行うことにより、圧縮符号化の効率をさらに向上させる最適符号化モード選択型動画像符号化方式を提供することにある。
【０００７】
【課題を解決するための手段】
前記した目的を達成するために、本発明は、矩形小領域単位で動画像の符号化処理を行う最適符号化モード選択型動画像符号化方式であって、各符号化ピクチャにつき、動き補償予測の参照方式、動き補償予測のタイプ、および直交変換のタイプの組み合わせにより規定される複数の符号化モード候補と、符号化処理を行う画像の符号化ピクチャを決定する手段と、前記決定された符号化ピクチャの符号化モード候補毎に、前記矩形小領域を形成する複数のＤＣＴブロックの各符号化ビット数を求める手段と、前記矩形小領域内で符号化ビット数が０となるＤＣＴブロックの個数が予め定められた閾値以上になったかどうかを判断する手段と、前記判断により前記閾値以上になるものがあった場合には、予測誤差電力が最小となるものを符号化モードとして決定し、前記閾値以上になるものがない場合には、ＤＣＴブロックの符号化ビット数とオーバヘッドビット数との和が小さいものを符号化モードとして決定する手段とを具備した点に特徴がある。
【０００８】
この特徴によれば、圧縮符号化の効率をさらに向上させることが可能であり、動画像を高効率で圧縮符号化できるようになる。
【０００９】
【発明の実施の形態】
以下に、図面を参照して、本発明をより詳細に説明する。図１、図２および図３は、本発明の一実施形態の動作を示すフローチャート、図４は圧縮符号化される入力画像の概念図である。なお、該図１〜図３は、本実施形態の動き推定・動き補償部の動き補償動作を示すものである。
【００１０】
図１〜図３の動作を、図４を参照しながら説明する。図示されているように、Ｐiはｉ番目の入力画像、ｊは矩形小領域、例えば１６画素×１６ラインのマクロブロックの番号を示す。画像の全枚数は（Ｎ＋１）枚、１画像の全マクロブロック数は（Ｍ＋１）個であるとする。
【００１１】
図１のステップＳ１では、入力画像の番号を示すｉが０と置かれる。ステップＳ２では、画像Ｐiが入力する。ステップＳ３では、該画像Ｐiの符号化ピクチャが、Ｉ、Ｐ、およびＢピクチャのいずれであるかが判断される。なお、本実施形態では、入力画像Ｐiをどのピクチャにするかは、予め決められているものとする。該画像Ｐiに対するピクチャがＩピクチャであればステップＳ４に進み、ＰピクチャであればステップＳ８に進み、ＢピクチャであればステップＳ１２に進む。
【００１２】
画像Ｐiの符号化ピクチャがＩピクチャであるとすると、ステップＳ４では、マクロブロック（１６画素×１６ライン）の番号を表すｊが０と置かれる。ステップＳ５では、ｊ番目のマクロブロックの符号化モードが、後で詳述する本発明の方式により選択される。ステップＳ６では、ｊ＝Ｍが成立したか否かの判断がなされる。この判断が否定の時には、ステップＳ７に進んで、ｊに１が加算される。以下、ステップＳ５〜Ｓ７の処理が繰り返し行われ、ステップＳ６の判断が肯定になると、画像Ｐiの符号化モードの選択を終了し、ステップＳ１６に進む。なお、前記ステップＳ３でＰピクチャと判定されてステップＳ８に進んだ時、およびＢピクチャと判定されてステップＳ１２に進んだ時の、各ステップＳ９〜Ｓ１１の処理、およびステップＳ１３〜Ｓ１５の処理は、前記ステップＳ５〜Ｓ７の処理と同じであるので、説明を省略する。
【００１３】
ステップＳ１６では、ｉ＝Ｎ、すなわち全画像の圧縮符号化が終了したか否かの判断がなされ、この判断が否定の時には、ステップＳ１７に進んで、ｉに１が加算される。そして、次の画像の処理が実行される。一方、ステップＳ１６の判断が肯定になると、前記一連の圧縮符号化処理を終了する。
【００１４】
次に、前記ステップＳ５，Ｓ９およびＳ１３の「マクロブロックＭＢjの符号化モード選択」の動作を、図２のフローチャートおよび図５の説明図を参照して説明する。
【００１５】
まず、本実施形態の概要を説明する。簡単のため、扱う映像信号としては、輝度信号のみを対象として説明を行うこととする。本実施形態では、図５に示されているように、各マクロブロックＭＢjを４個のＤＣＴブロックＢ０〜Ｂ３に分解し、符号化モード毎に、▲１▼各ＤＣＴブロックの符号化ビット数、▲２▼動きベクトルのオーバヘッドビット数を算出する。本実施形態では、前記▲１▼のＤＣＴブロック符号化ビット数の計算は、画素毎に計算をしていたのではリアルタイムの処理に間に合わないので、ブロック単位予測誤差信号の統計量、例えば平均値ｍ、分散σ２、および量子化ステップサイズΔを基に、既知の発生ビット推定関数ｆ（ｍ，σ２，Δ）から各ブロック毎の発生ビット数を推定する。また、▲２▼の動きベクトルのオーバヘッドビット数は、ＶＬＣテーブル等から算出する。
【００１６】
そして、マクロブロック内で、ＤＣＴブロックの符号化ビット数が０となる、あるいは符号化ビット数が０となるＤＣＴブロックが大半を占める候補が一つ以上存在する場合には、この符号化モードを優先的に採用した上で、これらの中から予測誤差電力、すなわち予測誤差信号の２乗和が最小となるものを符号化モードとして決定する。
【００１７】
一方、前記のような候補が存在しない場合には、マクロブロックの発生ビット数を、各符号化モード毎に、４個のＤＣＴブロックの符号化ビット数と、それ以外のオーバヘッドビット数から算出し、最小となるものを符号化モードとして決定する。
【００１８】
なお、前記発生ビット推定関数ｆ（ｍ，σ２，Δ）の一例としては、各量子化ステップサイズΔを変化させて実測により決定される次の関数を用いることができる。例えば、イントラ符号化モードの時には、ｆ（ｍ，σ２，Δ）＝ｇ（ｍ）＋ａ×log２ σ２ ＋ｂを用いることができる。ここに、関数ｇ（ｍ）はＤＣＴ入力となる予測誤差信号の平均値ｍから推定される発生ビット数であり、｛ａ×log２ σ２ ＋ｂ｝は、分散値σ２から推定される発生ビット数である。なお、ａおよびｂは定数であり、実験結果により決定される。また、インター符号化モードの時には、前記ｇ（ｍ）＝０として、ｆ（ｍ，σ２，Δ）＝ａ×log２ σ２＋ｂを用いることができる。
【００１９】
図２のステップＳ２１においてブロック数を表すＮ（ｋ’）を０、ある置き数ｘを１と置き、ステップＳ２２で候補となる符号化モードｋを０と置く。ここに、該候補となる符号化モードは図７のｋに相当し、Ｉピクチャは２候補（ｋ＝０〜１）、Ｐピクチャは６候補（ｋ＝０〜５）、およびＢピクチャは１４候補（ｋ＝０〜１３）となる。
【００２０】
ステップＳ２３では、マクロブロックＭＢjの符号化モードｋの動きベクトルＭＶを取得する。ステップＳ２４では、マクロブロックＭＢjの予測誤差信号を取得する。ステップＳ２５では、該予測誤差信号を基に、ＤＣＴブロック符号化ビット数ＳA(m)（ｍ＝０〜３）を推定する。この推定は、前記した発生ビット推定関数ｆ（ｍ，σ２，Δ）を用いて行われる。ステップＳ２６では、該推定されたＤＣＴブロック符号化ビット数ＳA(m)が、ＳA(m)＝０になるブロック数Ｎ（ｋ）をカウントする。１マクロブロック当たりのＤＣＴブロック数は４個であるので、ＳA(m)＝０になるブロック数Ｎ（ｋ）は最大で４個になる。
【００２１】
ステップＳ２７では、該ＳA(m)＝０になるブロック数Ｎ（ｋ）がある閾値ＴＨより大きいか否かの判断がなされる。この判断は、符号化ビット数が０となるＤＣＴブロックが大半を占めるかどうかの判定であるので、閾値ＴＨとしては、２又は３が好適である。以下の説明では、ＴＨ＝２として説明する。
【００２２】
ステップＳ２７の判断が否定の時には、ステップＳ２８に進んで、Ｎ（ｋ’）＞０が成立するか否かの判断がなされる。Ｎ（ｋ’）＝０であると否定と判断されてステップＳ２９に進み、オーバヘッドビット数ＳBを算出する。ステップＳ３０では、（ＤＣＴブロックの符号化ビット数ＳA(m)のマクロブロック合計＋オーバヘッドビット数ＳB）が求められ、これがＳT（ｋ）と置かれる。なお、画像Ｐiの符号化ピクチャ（ステップＳ３の判断）がフレーム内符号化（Ｉピクチャ）の場合には、ＤＣＴブロックの符号化ビット数推定対象をＤＣ係数を除く全てのＡＣ係数とし、ＤＣ係数はオーバヘッドビット数に含めることにする。
【００２３】
ステップＳ３１では、ＳT（ｋ）の最小値が更新されたか否かの判断がなされる。この判断が肯定の時には、ステップＳ３２に進んで、minＳT（ｋ）のｋを保持する。このｋをｋ’とする。ステップＳ３１の判断が否定の時、またはステップＳ３２の処理が終了すると、ステップＳ３３に進んで、ｋに１が加算されて評価対象とする符号化モードが更新される。ステップＳ３４では、ｋがｋｍａｘ に等しくなったか否かの判断がなされる。すなわち、Ｉピクチャであればｋｍａｘ＝１、Ｐピクチャであればｋｍａｘ＝５、Ｂピクチャであればｋｍａｘ＝１３となる。ステップＳ３４の判断が否定の時には、ステップＳ２３に戻って、次の符号化モードの動きベクトルＭＶを取得する動作が行われる。
【００２４】
次に、ＳA(m)＝０となるブロック数Ｎ（ｋ）が３または４となって、ステップＳ２７の判断が肯定になった時の動作を、図３を参照して説明する。
【００２５】
ステップＳ３５では、４個のＤＣＴブロックの予測誤差電力を、Σ（ｘｉ−ｙｉ）２、（ただし、ｉ＝０〜Ｎ−１、ＮはＤＣＴブロックの画素数）から算出し、その算出結果をＭＳＥ（ｋ）と置く。ここに、ｘｉ はブロックに対応する入力画像１１の画素値、ｙｉ はブロックに対応する動き補償予測信号ａの要素である。
【００２６】
ステップＳ３６では、ｘ＝１であるか否かの判断がなされる。この判断が肯定の時には、ステップＳ３７に進んでＳA(m)＝０のブロック数Ｎ（ｋ）と予測誤差電力ＭＳＥ（ｋ）を保持し、以降の処理のために、それぞれを、Ｎ（ｋ’）、ＭＳＥ（ｋ’）とする。ステップＳ３８ではｋをｋ’と置き、ステップＳ３９ではｘに１を加算する。そして、前記ステップＳ３３に進む。
【００２７】
一方、前記ステップＳ３６の判断が否定の時、すなわちステップＳ２７の判断が肯定になった回数が２回以上の時には、ステップＳ４０に進んで、ＳA(m)＝０のブロック数Ｎ（ｋ）が前回のＳA(m)＝０のブロック数Ｎ（ｋ’）より大きいか否かの判断がなされる。この判断が肯定の時にはステップＳ４１に進んで、Ｎ（ｋ’）がＮ（ｋ）に更新される。また、ステップＳ４２に進んで、ｋ’がｋに更新される。
【００２８】
さらに、前記ステップＳ４０の判断が否定の時には、ステップＳ４３に進んで、予測誤差電力ＭＳＥ（ｋ）が前回の予測誤差電力ＭＳＥ（ｋ’）より小さいか否かの判断がなされる。この判断が肯定の時には、ステップＳ４４に進んでｋ’がｋに更新される。ステップＳ４０、Ｓ４３の判断が共に否定の時には、何らの処理をされずに、ステップＳ３３に進む。
【００２９】
図３の処理により、ブロック数Ｎ（ｋ’）が０でなくなると、図２のステップＳ２８の判断は常に肯定となり、ステップＳ２９〜Ｓ３２はスキップしてステップＳ３３に進むようになる。ステップＳ３４の判断が肯定になると、ステップＳ３５に進み、前記の処理により選択された符号化モードｋ’が、最終的に当該マクロブロックの符号化モードとして採用される。
【００３０】
以上の説明から明らかなように、本実施形態では、ＤＣＴブロック符号化ビット数ＳA(m)が０になるＤＣＴブロック数Ｎ（ｋ）が閾値ＴＨ以上になる符号化モードｋがあれば、これを優先し、ＳA(m)＝０を満たすＤＣＴブロック数Ｎ（ｋ）が大きくかつ予測誤差電力ＭＳＥ（ｋ）が小さい符号化モードｋを選択する。
【００３１】
一方、ＳA(m)＝０を満たすＤＣＴブロック数Ｎ（ｋ）が閾値ＴＨ以上になる符号化モードｋがなければ、（ＤＣＴブロックの符号化ビット数ＳA(m)のマクロブロック合計＋オーバヘッドビット数ＳB）を求め、それを最小とする符号化モードｋを選択する。この結果、動画像符号化におけるマクロブロック単位の適応モード判定を、より厳密に行うことができるようになる。
【００３２】
【発明の効果】
以上の説明から明らかなように、請求項１の発明によれば、動画像符号化におけるマクロブロック単位の適応モード判定を厳密に行うことができるようになり、圧縮符号化の効率をさらに向上させることができるようになる。
【００３３】
また、請求項２の発明によれば、ＤＣＴブロックの符号化ビット数は予測誤差信号の統計量から推定するようにしたので、前記の効果に加えて、リアルタイム処理を行うハードウェア規模を実現可能なレベルに抑えることができる。
【図面の簡単な説明】
【図１】  本発明の全体の動作を示す概略フローチャートである。
【図２】  図１のステップＳ５、Ｓ９、およびＳ１３の詳細を示すフローチャートである。
【図３】  図２の続きのフローチャートである。
【図４】  入力画像信号の概念図である。
【図５】  矩形小領域（マクロブロック）の発生ビット数の説明図である。
【図６】  従来の圧縮符号化方式の概略の構成を示すブロック図である。
【図７】  符号化モードの説明図である。
【符号の説明】
１１・・・入力画像信号、１３・・・ＤＣＴ部、１４・・・量子化部、１５・・・逆量子化部、１６・・・逆ＤＣＴ部、１９・・・動き推定・動き補償部、２０・・・可変長符号化部、２１・・・バッファ。
【図１】
0003938679.tif 000002
【図２】
0003938679.tif 000003
【図３】
0003938679.tif 000004
【図４】
0003938679.tif 000005
【図５】
0003938679.tif 000006
【図６】
0003938679.tif 000007
【図７】
0003938679.tif 000008