JP4325536B2 - 動画像符号化装置及び方法 - Google Patents

動画像符号化装置及び方法 Download PDF

Info

Publication number
JP4325536B2
JP4325536B2 JP2004314494A JP2004314494A JP4325536B2 JP 4325536 B2 JP4325536 B2 JP 4325536B2 JP 2004314494 A JP2004314494 A JP 2004314494A JP 2004314494 A JP2004314494 A JP 2004314494A JP 4325536 B2 JP4325536 B2 JP 4325536B2
Authority
JP
Japan
Prior art keywords
macroblock
activity
quantization
quantization coefficient
coefficient
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004314494A
Other languages
English (en)
Other versions
JP2006129067A (ja
Inventor
正道 名郷根
安弘 橋本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2004314494A priority Critical patent/JP4325536B2/ja
Publication of JP2006129067A publication Critical patent/JP2006129067A/ja
Application granted granted Critical
Publication of JP4325536B2 publication Critical patent/JP4325536B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、マクロブロック単位で量子化係数を制御して動画像信号の符号化を行う動画像符号化装置及び方法に関するものである。
MPEG-2のTM5(Test Model 5 ;ISO/IEC JTC/SC29/WG11 (1993))では、高画質化を図るための量子化係数の制御方法が提案されている。具体的に、TM5には、各ピクチャへ最適な符号配分を行う階層(ステップ1)と、仮想バッファの容量を元に量子化係数のフィードバックコントロールを行う階層(ステップ2)と、視覚特性に応じてマクロブロック単位で量子化係数をコントロールを行う階層(ステップ3)とが規定されている。
ここで、ステップ3では、視覚的に劣化の目立ちやすい平坦な画像部分(アクティビティが小さい部分)でより細かく量子化し、劣化の目立ちにくい絵柄の複雑な画像部分(アクティビティが大きい部分)でより粗く量子化するように、ステップ2で求められた量子化係数を変化させている。具体的には、ステップ3では、アクティビティにより絵柄の複雑さを指標化して、ステップ2で求められた量子化係数を変化させている。
特開平10−66067号公報
ところで、TM5のステップ3では、平坦部分と絵柄の複雑な部分との境界に位置するマクロブロックについては、絵柄が複雑であると判断する傾向にあり、粗く量子化していた。そのため、例えば白い壁上で例えばスポーツをしている人物が表示されているような画面、つまり、平坦な背景画像の上で動きの大きいオブジェクト画像が表示されている画面では、その背景画像とオブジェクト画像との境界部分にモスキートノイズが発生しやすかった。
本発明は、以上のような問題を解決するものであり、量子化による画質劣化を小さくした動画像符号化装置及び方法を提供することを目的とする。
本発明に係る動画像符号化装置及び方法では、各マクロブロックのアクティビティ及び動き推定による残差を算出し、量子化対象のマクロブロックのアクティビティが低ければ量子化係数を小さくし、アクティビティが高ければ量子化係数を大きくするような所定の演算式に基づき、上記量子化係数をマクロブロック毎に制御するとともに、量子化対象のマクロブロックのアクティビティと周囲のマクロブロックのアクティビティとを比較し、アクティビティが低い領域とアクティビティが高い領域との境界部分のマクロブロックであるか否かを判断し、境界部分のマクロブロックであると判断したならば、上記所定の演算式に基づき算出された量子化係数の値を小さくし、上記動き推定による残差成分が所定量以下である場合には、境界部分のマクロブロックであっても、量子化係数を小さくしない。
本願発明に係る動画像符号化装置及び方法では、画像平坦部分では細かく、絵柄の複雑部分では粗く量子化をするとともに、動きのあるオブジェクト画像の境界部分では細かく量子化し、動き推定による残差成分が所定量以下である場合には、上記境界部分のマクロブロックであっても、量子化係数を小さくしないので、視覚特性に応じて効率的に量子化を行うとともに、モスキートノイズの発生を低減することができる。
以下、本発明が適用されたMPEG-2(ISO/IEC13818-2 Information Technology-Generic Coding of moving pictures and associated audio information: Video)方式のビデオエンコーダについて説明をする。
(全体のブロック構成)
図1は、本発明が適用されたビデオエンコーダ10の構成図である。
ビデオエンコーダ10は、図1に示すように、空間領域の画像データ(画素データ(Pixel))が入力され、MPEG-2規格に対応した符号化処理を行い、符号化ストリーム(Stream)を出力する。
ビデオエンコーダ10は、動きベクトルを算出する動き推定部11と、減算部12と、離散コサイン変換(DCT)部13と、量子化部14と、可変長符号化(VLC)処理を行うVLC部15と、量子化係数を制御する量子化係数制御部16と、逆量子化部17と、逆離散コサイン変換(IDCT)部18と、加算部19と、メモリ20と、動き補償部21とを備えている。
動き推定部11には、画素データ(Pixel)がマクロブロック単位で入力され、各マクロブロックの動きベクトルを算出する。動き推定部11は、動きベクトルの算出の際に、マクロブロックのアクティビティ及びME残差を算出し、これらを利用して動きベクトルを算出する。
アクティビティは、絵柄の複雑さを表す指標であり、分散に基づき表される。すなわち、アクティビティが大きいマクロブロックは各画素のレベルのばらつきが大きく、アクティビティが小さいマクロブロックは各画素のレベルのばらつきが小さく、平坦化している。なお、アクティビティを算出する具体的な演算式については、後述する。
ME残差は、動き推定をした後に残存するレベルの総量を示す指標である。ME残差は、例えば、圧縮符号化時の動きベクトルによる動き補償処理後に、入力画像と参照画像との差分値の絶対値和若しくは自乗値和として定義される。入力画像と参照画像との相関がない場合にはME残差が大きくなり、入力画像と参照画像との相関がある場合には、ME残差が小さくなる。
減算部12には、画像データ(pixel)がマクロブロック単位で入力される。また、減算部12には、符号化対象となるマクロブロック(画素データ(pixel))に対して、フレーム間の相関を利用した符号化処理を行う場合には、動き補償部21から予測ブロックも入力される。減算部12は、インターマクロブロックに対して処理を行う場合には、入力された画像データから予測ブロックを減算する。減算部12は、イントラマクロブロックに対して処理を行う場合には、入力された画像データをそのまま出力する。
DCT部13は、減算部12から出力されたマクロブロック(画像データ(pixel))に対して離散コサイン変換を行い、周波数領域の画像データであるDCTの係数データ(coef)を生成する。DCT部13は、生成した係数データ(coef)を量子化部14に出力する。
量子化部14は、入力された係数データ(coef)に対して、量子化係数Qを用いて、量子化処理を行う。すなわち、量子化部14は、入力された係数データ(coef)を量子化係数Qにより除算して商を求め、その商を出力する。量子化部14により量子化されることにより、係数データ(coef)は非可逆圧縮される。量子化係数Qが大きければ、出力される符号量は少なくなるので圧縮率が高くなり、反対に、量子化係数Qが小さければ、出力される符号量が多くなるので圧縮率が低くなる。
VLC部15は、量子化部14により量子化されたマクロブロック単位の係数データ(coef)を所定のスキャン方式で読み出し、ランレングス符号化により符号化を行う。それとともに、VLC部15は、動きベクトル及びその他のシステム情報を固定長符号化等をする。VLC部15は、これらのデータをMPEG-2方式に従って多重化し、1本のビット列からなる符号化ストリーム(Stream)を生成する。VLC部15は、生成した符号化ストリーム(Stream)を外部に出力する。
量子化係数制御部16は、量子化部14の量子化処理で用いる量子化係数Qを算出して、量子化部14に供給する。量子化係数制御部16は、VLC部15から出力された符号化ストリーム(stream)のビットレート、動き推定部11で算出されたアクティビティ及びME残差を参照して、量子化係数Qを決定する。量子化係数制御部16の詳細な処理内容については、後述する。
逆量子化部17には、量子化部14から出力された係数データのうち、フレーム間予測の参照画像となり得るフレームのマクロブロックの係数データが入力される。逆量子化部17は、入力されたデータに対して、量子化した際に用いられた量子化係数により、逆量子化処理を行う。
IDCT部18は、逆量子化部17から出力された係数データ(coef)に対して、逆離散コサイン変換を行い、空間領域の画像データ(pixel)を生成する。
加算部19には、IDCT部18から出力された画像データ(pixel)が入力される。また、加算部19には、入力された画像データがフレーム間の相関を利用した符号化がされたマクロブロックである場合、その予測ブロックが動き補償部21から入力される。加算部19は、インターマクロブロックに対して処理を行う場合には、入力された画像データに対して予測ブロックを加算する。加算部19は、イントラマクロブロックに対して処理を行う場合には、入力された画像データをそのまま出力する。加算部19は、出力した画像データを参照画像としてメモリ20に格納される。
動き補償部21は、メモリ20に格納された参照画像に対して動きベクトルを用いて動き補償を行い、予測ブロックを生成する。なお、動き補償部21は、イントラマクロブロックが格納されている場合には、動き補償を行わずに画像データをそのまま予測ブロックとして出力する。動き補償部21は、予測ブロックを減算部12に供給する。また、予測ブロックのうち、参照画像となる予測ブロックは、加算部19にも供給される。
以上のようなMPEG-2方式のビデオエンコーダ10では、1つのマクロブロックが入力されると、まず、そのマクロブロックのタイプを判断し、イントラマクロブロックであれば、そのまま入力されたマクロブロックをDCT部13に供給し、インターマクロブロックであれば、予測ブロックを生成して、入力されたマクロブロックから予測ブロックを減算して、DCT部13に供給する。
続いて、ビデオエンコーダ10では、入力されたマクロブロック単位の画素データに対してDCT部13でDCT演算による直交変換を行って周波数領域の係数データとし、その後、量子化部14で量子化係数Qにより量子化処理を行う。DCT演算及び量子化がされたマクロブロック単位のデータ(係数データ)は、VLC部15に供給される。
そして、ビデオエンコーダ10では、VLC部15によって係数データの可変長符号化を行うとともに、符号化ストリームの多重化を行い、符号化ストリームを生成して出力する。
(量子化係数制御部)
つぎに、量子化係数制御部16の処理内容について説明をする。
量子化係数制御部16は、量子化部14の量子化処理で用いる量子化係数Qを算出して、量子化部14に供給する部である。ビデオエンコーダ10では、量子化係数Qにより、出力する符号化ストリーム(stream)のビットレートを制御する。つまり、量子化係数Qが大きくなればビットレートが小さくなる方向に制御され、量子化係数Qが小さくなればビットレートが大きくなる方向に制御される。
--TM5について--
量子化係数制御部16では、TM5のステップ1、ステップ2及びステップ3を利用して、量子化係数Qを算出している。
まず、TM5のステップ1、ステップ2及びステップ3について説明をする。
MPEG-2の量子化の特徴として、次の2点が挙げられる。
(1)MPEG-2では、ピクチャタイプ(I,P,B)毎に発生符号量が大幅に異なる。また、量子化係数Qの変化に応じた発生符号量の変化の割合も、ピクチャタイプ毎に大幅に異なる。
(2)Iピクチャ及びPピクチャの量子化ノイズは、これを参照するPピクチャ及びBピクチャに伝搬するが、Bピクチャの量子化ノイズは他のピクチャには伝搬しない。従って、全てのピクチャの量子化係数Qを均一とすることが必ずしも全体の画質を最適化することにならない。
MPEG-2のTM5では、以上の2つの特徴を利用して、画質劣化をより少なくしながら、最適なビット配分、レート制御及び適応量子化が行えるように、ステップ1→ステップ2→ステップ3という順序で階層的に量子化係数の算出を行うことが規定されている。
TM5のステップ1では、各ピクチャへのビット配分を行う。具体的には、ステップ1では、GOP内の各ピクチャに対する割り当てビット量を、割り当て対象となるピクチャを含めGOP内でまだ符号化されていないピクチャに対して割り当てられるビット量Rを基にして配分する。
TM5のステップ2では、ステップ1で求められた各ピクチャに対するターゲットビット量に、実際の発生符号量を一致させるために、各ピクチャタイプ毎に独立に設定した3種類の仮想バッファ(VBVバッファ)を設定し、そのVBVバッファの容量を基に量子化スケールコードQをマクロブロック単位のフィードバック制御で求める。
TM5のステップ3では、視覚的に劣化の目立ちやすい平坦部でより細かく量子化し、劣化が視覚的に目立ちにくい絵柄の複雑な部分でより粗く量子化するように、ステップ2で求められた量子化スケールコードQを、そのマクロブロックのアクティビティによって変化させ、視覚特性を考慮した量子化スケールコードmquantを算出する。
--TM5のステップ3について--
TM5のステップ3の処理についてさらに説明する。
あるマクロブロックjのアクティビティの算出には、マクロブロックjのフレームDCT符号化モードにおける輝度成分の4つのブロックと、フィールドDCT符号化モードにおける輝度成分の4つのブロックが用いられる。
まず、TM5のステップ3では、以上の8つのブロックに対して、式(11)に示すように、それぞれ分散Varsblkを求める。
Figure 0004325536
Figure 0004325536
式(11)のP(バー)は、式(12)に示すように、各ブロック(8×8=64画素)の平均値である。Pは、各画素の画素値である。
続いて、ステップ3では、式(13)に示すように、8つのブロックの各分散のうち最小値を選択し、選択した最小値に1を加える。
Figure 0004325536
式(13)で求められた値が、マクロブロックjのアクティビティactである。式(13)において、min( )は、最小値を選択する式である。最小値を選択するのは、マクロブロック内の一部分だけでも平坦性が高い部分が存在した場合には、量子化を細かく行うようにするためである。
アクティビティactが求められると、続いて、TM5のステップ3では、式(14)に示す演算式に基づき、その値が0.5以上2.0以下の値をとる正規化アクティビティNactを算出する。
Figure 0004325536
式(14)のavg_actは、直前に符号化したピクチャの平均のアクティビティである。すなわち、式(14)では、アクティビティactjが、前のピクチャの平均アクティビティavg_actと同じであれば、1となるように正規化がされている。
最後に、ステップ3では、式(15)に示すように、ステップ2で求めた量子化スケールコードQに、正規化したアクティビティNactを乗算し、マクロブロックjに対する最終的な量子化スケールコードmquantを求める。
Figure 0004325536
TM5では、以上のステップ3で求められた量子化スケールコードmquantで、DCTした後の係数データを量子化する。
その結果、図2の領域Aで示すように視覚的に劣化の目立ちやすい、すなわちアクティビティが小さいマクロブロック(平坦部)で量子化係数を小さくし、図2の領域Bに示すように劣化が視覚的に目立ちにくいアクティビティが大きいマクロブロック(絵柄の複雑な部分)で量子化係数を大きくするように、ステップ2で求められた量子化スケールコードを変化させ、このことにより、視覚特性の考慮がされた量子化スケールコードmquantを算出することができる。
--具体的な量子化フロー--
つぎに、量子化係数制御部16の具体的な処理手順について、図3のフローチャートを参照して説明をする。
量子化係数制御部16は、ピクチャ内の最初のマクロブロック(画面の左上のマクロブロック)が入力されると、以下のステップS11から処理を開始する。
まず、ステップS11において、量子化係数制御部16は、TM5のステップ1に基づき、そのピクチャに対する符号量の割当を行う。
続いて、ステップS12において、量子化係数制御部16は、TM5のステップ2に基づき、量子化対象となっているマクロブロック(以下、対象マクロブロックという。)に対する量子化スケールコードQを算出し、その後、TM5のステップ3に基づき、対象マクロブロックに対する視覚特性の考慮がされた量子化スケールコードmquantを算出する。
続いて、ステップS13において、量子化係数制御部16は、対象マクロブロックが、画面の上端又は左端のマクロブロックであるか否かを判断する。すなわち、量子化係数制御部16は、図4のCに示すような画面の上端の行のマクロブロックであるか、又は、図4のDに示すような画面の左端の列のマクロブロックであるかを判断する。
量子化係数制御部16は、対象マクロブロックが画面上端又は左端のマクロブロックであれば(ステップS13のYES)、ステップS14(動的オブジェクトの境界処理)を行わずにステップS15に進み、対象マクロブロックが画面の上端又は左端のマクロブロックでなければ(ステップS13のNO)、ステップS14(動的オブジェクトの境界処理)に進む。
続いて、ステップS14において、量子化係数制御部16は、動的オブジェクトの境界処理を行う。動的オブジェクトの境界処理では、対象マクロブロックが、動きのあるオブジェクト画像と平坦な背景画像の境界部に位置するマクロブロックであるか否かを判断し、境界部に位置するマクロブロックであればTM5のステップ3で求めた量子化係数が小さくなるように修正する処理を行う。なお、この動的オブジェクトの境界処理の詳細については後述する。
続いて、ステップS15において、量子化係数制御部16は、対象マクロブロックが、そのピクチャの最終のマクロブロック(すなわち、画面の右下のマクロブロック)であるか否かを判断する。
量子化係数制御部16は、対象マクロブロックがそのピクチャの最終のマクロブロックであれば、当該フローを終了し、最終のマクロブロックでなければ、ステップ12に戻り、次のマクロブロックに対してステップS12〜S15の処理を行う。
つぎに、ステップS14の動的オブジェクトの境界処理について、さらに詳細に説明をする。
ステップS14の動的オブジェクトの境界処理では、図5のEに示すような、例えばスポーツをしている人物等の動きの大きいオブジェクト画像(以下、動的オブジェクトという。)と、例えば空や白い壁等の平坦な背景画像(以下、平坦背景画像)との境界部分のマクロブロックであるか否かの判断をし、境界部分のマクロブロックであれば、TM5のステップ3で求めた量子化係数を小さくするように調整を行う処理である。
図6に、ステップS14の動的オブジェクトの境界処理の更に詳細なフローチャートを示す。
まず、ステップS21において、量子化係数制御部16は、TM5のステップ3の処理で求めたる正規化アクティビティNactが1より小さいか否かを判断する。正規化アクティビティNactが1より小さいか否かを判断する理由は、1より小さければ、TM5のステップ3までの処理で既に量子化係数が小さくされているために、新たに量子化係数を小さくするような修正は不要であるからである。
正規化アクティビティNactが1より小さい場合には、ステップS31に進む。正規化アクティビティNactが1より小さくない場合には、続くステップS22に進む。
続いて、ステップS22において、量子化係数制御部16は、対象マクロブロックのアクティビティと、対象マクロブロックの周囲にあるマクロブロック(以下、周囲マクロブロックという。)とを比較して、対象マクロブロックが、平坦背景画像と、絵柄が複雑なオブジェクト画像との境界部分に位置しているか否かを比較判断する。
比較判断の手法としては、例えば、対象マクロブロックのアクティビティから、周囲マクロブロックのアクティビティを減算し、その減算結果が所定の閾値以上となっていれば、その対象マクロブロックは、平坦背景画像と絵柄が複雑なオブジェクト画像との境界部分に位置していると判断する。
なお、周囲マクロブロックを、対象マクロブロックの8方向(上下左右、左上、右上、左下、右下)の全ての周囲のマクロブロックとし、それぞれの方向について比較判断をしてもよいが、本例では、一般に量子化処理は画面左上のマクロブロックから始まり行方向にラスタスキャンがされて順次処理がされていくので、図7に示すように、既にエンコード処理が終了している上位置及び左位置のマクロブロックのみを周囲マクロブロックとしている。つまり、本例では、対象マクロブロックのアクティビティから左隣のマクロブロックのアクティビティを減算し、その減算結果が所定の閾値以上であるか、又は、対象マクロブロックのアクティビティから上隣のマクロブロックのアクティビティを減算し、その減算結果が所定の閾値以上であるかを判断している。
また、1つのマクロブロックに含まれている4つの輝度ブロック(8×8画素)のうち、境界部分を検出するために利用するアクティビティは、4つの輝度ブロックのうち最も大きい値を比較判断に用いている。その理由としては、TM5では、対象マクロブロック内の8つのブロックのうちの最小のアクティビティを利用し、マクロブロック内の一部だけでも平坦部分があるかを検出していることで画質を救っている。それに対して、周囲マクロブロックの最大アクティビティ及び対象マクロブロックの最大アクティビティを利用すると、対象マクロブロック内の一部だけでも絵柄が複雑な部分が含まれていることを検出することができる。すなわち、ステップS21では、対象マクロブロックの最大アクティビティから、周囲マクロブロックの最大アクティビティを減算して、その減算結果が所定の閾値以上である場合は、対象マクロブロックが平坦背景画像とオブジェクト画像との境界部分と判断する。
また、上述したステップS12において、対象マクロブロックが画面の上端の行又は左端の列である場合には、当該動的オブジェクトの境界処理を行っていないが、これは、このステップS21において、エンコード処理が完了しているマクロブロックのアクティビティを参照するために、1行目(画面の上端)及び1列目(画面の左端)のマクロブロックでは、周囲マクロブロックのアクティビティが参照できないためである。
量子化係数制御部16は、当該ステップS22において、対象マクロブロックが平坦背景画像と絵柄が複雑なオブジェクト画像との境界に位置していないと判断した場合には、ステップS31に進む。一方、対象マクロブロックが平坦背景画像と絵柄が複雑なオブジェクト画像との境界に位置していると判断した場合には、続くステップS23に進む。
続いて、ステップS23において、量子化係数制御部16は、現在符号化しているピクチャが、Iピクチャであるか否かを判断する。Iピクチャでなければ、つまり、Pピクチャ又はBピクチャであればステップS24に進み、IピクチャであればステップS33に進む。
続いて、ステップS24において、量子化係数制御部16は、対象マクロブロックに含まれているオブジェクト画像が、動きの大きい動的な画像であるか、動きの小さい静的な画像であるかを判断する。すなわち、対象マクロブロックは、既にステップS22で平坦背景画像と絵柄が複雑なオブジェクト画像との境界に位置していると判断されているが、当該絵柄が複雑なオブジェクト画像が、さらに、動きのあるオブジェクト画像であるかを判断している。
具体的な判断手法としては、例えば、対象マクロブロックのME残差が所定の閾値以上であるか否かを判断する。動いているオブジェクトと平坦背景画像の境界は、動きベクトルが外れやすく、ME残差が大きくなる傾向がある。逆に、平坦背景画像と絵柄が複雑なオブジェクト画像との境界であっても動きがない場合は、ME残差が小さくなる。モスキートノイズは、動きのある画像と平坦な部分画像の境界に多く発生するので、ここでは、このような判断を行っている。
なお、ME残差は、Iピクチャでは算出されない。そのため、前段のステップS23において、Pピクチャ及びBピクチャを選択して、Pピクチャ及びBピクチャの場合にのみ、当該動きの判断処理を行っている。
量子化係数制御部16は、当該ステップS21において、対象マクロブロックが動きの大きなオブジェクト画像の境界部分に位置していない判断した場合には、ステップS31に進む。一方、対象マクロブロックが動きの大きなオブジェクト画像の境界部分に位置していると判断した場合には、ステップS32に進む。
ステップS31では、TM5のステップ3に基づき算出された量子化スケールコードmquantを、そのまま量子化係数Qとして用いると決定する処理を行う。
すなわち、正規化アクティビティNactが1より小さいと判断した場合(ステップS21のYES)、対象マクロブロックが平坦背景画像と絵柄が複雑なオブジェクト画像との境界部分に位置していないと判断した場合(ステップ22のNO)、並びに、絵柄が複雑なオブジェクトの動きが大きくないと判断した場合(ステップ24のNO)には、TM5のステップ3で求められた量子化スケールコードmquantをそのまま量子化係数Qとして用いる。すなわち、量子化係数をより小さくする処理は行わない。
なお、正規化アクティビティNactが1より小さいということは、そのマクロブロックが平坦部に位置していると判断されているので、そのままTM5のステップ3で求めた量子化係数を用いている。
ステップS32では、TM5のステップ2に基づき算出された量子化スケールコードQjを、量子化係数Qとして用いると決定する。つまり、ステップS32では、TM5のステップ3の処理は用いずに量子化を行う。
すなわち、正規化アクティビティNactが1以上である場合(ステップS21のNO)であって、且つ、対象マクロブロックが絵柄が複雑なオブジェクト画像と平坦背景画像との境界に位置しており(ステップS22のYES)、且つ、その絵柄が複雑なオブジェクトが大きく動いている(ステップS24のYES)場合には、TM5のステップ3で求められた量子化スケールコードmquantよりも小さい値である、TM5のステップ2に基づき算出された量子化スケールコードQjを、量子化係数Qとする。
このように設定することにより、量子化係数QがTM5の場合よりも小さい値となるので、モスキートノイズが発生しづらくなる。
ステップS33では、正規化アクティビティNactの算出演算式を、下記式(16)に変更し、続いて、上記式(15)に基づき量子化スケールコードmquantを求め、量子化係数Qをこの量子化スケールコードmquantに設定する。
Figure 0004325536
TM5で用いられる式(14)の正規化アクティビティでは、0.5以上2以下の範囲をとるNactとなるが、式(16)では2/3以上3/2以下という小さい範囲をとる正規化アクティビティとなる。このように小さい範囲を取ることによって、マクロブロック毎の量子化係数の差分値が小さくなり、量子化係数Qのばらつきが小さくなり、モスキートノイズの発生防ぐことが可能になる。
ステップS31、ステップS32又はステップS33の処理を終えると、量子化スケール制御部16は、続くステップS34の処理を行う。
ステップS34では、決定した量子化係数Qを、量子化部14に送信する。
量子化スケール制御部16では、以上のように処理が行われることによって、動いている絵柄が複雑なオブジェクト画像の周囲に発生するモスキートノイズを軽減することができる。さらに、絵柄が複雑なオブジェクト画像の境界部分以外では、TM5のステップ3本来の効果を維持することができる。
本発明が適用されたMPEG-2方式のビデオエンコーダのブロック構成図である。 視覚的に劣化の目立ちやすい、すなわちアクティビティが小さい画像部分(A)と、劣化が視覚的に目立ちにくいアクティビティが大きい画像部分(B)を示す図である。 量子化係数制御処理の処理内容を示すフローチャートである。 画面の上端の行のマクロブロック(C)、及び、画面の左端の列のマクロブロック(D)を示す図である。 平坦な背景画像と、動きのある絵柄が複雑なオブジェクト画像との境界に位置するマクロブロック(E)を示す図である。 動的オブジェクトの境界処理の処理内容を示すフローチャートである。 周囲マクロブロックを示す図である。
符号の説明
10 ビデオエンコーダ、 11 動き推定部、 12 減算部、 13 DCT部、 14 量子化部、 15 VLC部、 16 量子化係数制御部、 17 逆量子化部、 18 IDCT部、 19 加算部、 20 メモリ、 21 動き補償部

Claims (2)

  1. 所定数の画素から構成されるブロック(マクロブロック)単位で画面内をマトリクス状に分割し、分割したマクロブロック単位で動画像信号を符号化する動画像符号化装置において、
    各マクロブロックのアクティビティ及び動き推定による残差を算出する動き推定手段と、
    マクロブロック単位で設定された量子化係数に基づき動画像信号を量子化する量子化手段と、
    量子化対象のマクロブロックのアクティビティが低ければ量子化係数を小さくし、アクティビティが高ければ量子化係数を大きくするような所定の演算式に基づき、上記量子化係数をマクロブロック毎に制御する係数制御手段とを備え、
    上記係数制御手段は、上記動き推定手段により算出された各マクロブロックのアクティビティ及び動き推定による残差成分に基づいて、量子化対象のマクロブロックのアクティビティと周囲のマクロブロックのアクティビティとを比較し、アクティビティが低い領域とアクティビティが高い領域との境界部分のマクロブロックであるか否かを判断し、境界部分のマクロブロックであると判断したならば、上記所定の演算式に基づき算出された量子化係数の値を小さくし、上記動き推定による残差成分が所定量以下である場合には、境界部分のマクロブロックであっても、量子化係数を小さくしないこと
    を特徴とする動画像符号化装置
  2. 所定数の画素から構成されるブロック(マクロブロック)単位で画面内をマトリクス状に分割し、分割したマクロブロック毎に量子化係数を算出して量子化することにより、動画像信号を符号化する動画像符号化方法において、
    各マクロブロックのアクティビティ及び動き推定による残差を算出し、
    量子化対象のマクロブロックのアクティビティが低ければ量子化係数を小さくし、アクティビティが高ければ量子化係数を大きくするような所定の演算式に基づき、上記量子化係数をマクロブロック毎に制御するとともに、
    量子化対象のマクロブロックのアクティビティと周囲のマクロブロックのアクティビティとを比較し、アクティビティが低い領域とアクティビティが高い領域との境界部分のマクロブロックであるか否かを判断し、境界部分のマクロブロックであると判断した場合には、上記所定の演算式に基づき算出された量子化係数の値を小さくし、上記動き推定による残差成分が所定量以下である場合には、境界部分のマクロブロックであっても、量子化係数を小さくしないこと
    を特徴とする動画像符号化方法
JP2004314494A 2004-10-28 2004-10-28 動画像符号化装置及び方法 Expired - Fee Related JP4325536B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004314494A JP4325536B2 (ja) 2004-10-28 2004-10-28 動画像符号化装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004314494A JP4325536B2 (ja) 2004-10-28 2004-10-28 動画像符号化装置及び方法

Publications (2)

Publication Number Publication Date
JP2006129067A JP2006129067A (ja) 2006-05-18
JP4325536B2 true JP4325536B2 (ja) 2009-09-02

Family

ID=36723271

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004314494A Expired - Fee Related JP4325536B2 (ja) 2004-10-28 2004-10-28 動画像符号化装置及び方法

Country Status (1)

Country Link
JP (1) JP4325536B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4668878B2 (ja) * 2006-09-22 2011-04-13 Nttエレクトロニクス株式会社 符号化装置
JP4519933B2 (ja) 2008-11-28 2010-08-04 株式会社東芝 動画像符号化装置および動画像符号化方法
JP5295089B2 (ja) * 2009-12-16 2013-09-18 キヤノン株式会社 画像符号化装置

Also Published As

Publication number Publication date
JP2006129067A (ja) 2006-05-18

Similar Documents

Publication Publication Date Title
JP4529919B2 (ja) 適応量子化装置及び適応量子化プログラム
KR100243430B1 (ko) 적응형 양자화 제어방법
JP3748717B2 (ja) 動画像符号化装置
KR19990076563A (ko) 동화상 부호화 방식
JP4221655B2 (ja) 符号化装置および符号化方法、プログラム、並びに記録媒体
JP5133290B2 (ja) 動画像符号化装置および復号装置
EP0987902A2 (en) Encoding apparatus and method
JP2004521533A (ja) ビット・バジェットを使用してビデオ符号化のレート制御を行う方法
JP2000261800A (ja) 動画像可変ビットレート符号化方法および装置
KR100708182B1 (ko) 동영상 부호화기의 비트율 제어 장치 및 방법
JP2000138938A (ja) 画像圧縮符号化方法及び装置
JP4325536B2 (ja) 動画像符号化装置及び方法
JP2000358247A (ja) レート制御装置、レート制御方法及び符号化装置
JP4942208B2 (ja) 符号化装置
JP4586340B2 (ja) 符号化装置、および、符号化方法、並びに、プログラム
JP4186543B2 (ja) 符号化装置および符号化方法、プログラム、並びに記録媒体
JP4228739B2 (ja) 符号化装置および符号化方法、プログラム、並びに記録媒体
JP2005303555A (ja) 動画像符号化装置および動画像符号化方法
JP2005005862A (ja) 画像符号化装置
JP4185413B2 (ja) フリッカ低減量子化器、フリッカ低減量子化方法、及びそのプログラム
JP4186544B2 (ja) 符号化装置および符号化方法、プログラム、並びに記録媒体
JP4150730B2 (ja) 画像符号化装置、および画像符号化方法
JP2009118097A (ja) 画像符号化装置及びその制御方法、コンピュータプログラム
JPH05219496A (ja) 画像符号化装置及び動画像符号化装置
KR100266559B1 (ko) 비데오버퍼링확인기의상태검사회로

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090303

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090430

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090519

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090601

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120619

Year of fee payment: 3

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120619

Year of fee payment: 3

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120619

Year of fee payment: 3

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130619

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees