(57)【要約】【課題】　本発明は離散コサイン変換と動き推定を通じたビデオ信号の符号化装置及び方法関するもので、特に、離散コサイン変換係数を参照して動き推定を簡単化するためのビデオ信号の符号化装置及び方法を提供する。【解決手段】　本発明は離散コサイン変換を使用するビデオフレーム圧縮システムで動き推定をする方法において、ブロック単位に変換された離散コサイン変換係数中で零でない値を有する離散コサイン変換係数の個数に応じて前記各ブロックの平滑度を決定し、前記各ブロックの平滑度に対応して前記離散コサイン変換係数のうち、一部または全部からビデオフレームデータを再生して参照フレームを構成し、前記参照フレームの平滑度に対応して現在ビデオフレームの現在マクロブロックに対する動き推定の精度を動的に変更する方法を提供する。【選択図】　図３
2004080786.tif 000002
【特許請求の範囲】
【請求項１】
　離散コサイン変換を使用するビデオフレーム圧縮システムで動き推定をする方法において、
　ブロック単位に変換された離散コサイン変換係数中で零でない値を有する離散コサイン変換係数の個数に従って前記各ブロックの平滑度を決定する過程と、
　前記各ブロックの平滑度に対応して前記離散コサイン変換係数のうち、一部または全部からビデオフレームデータを再生して参照フレームを構成する過程と、
　前記参照フレームの平滑度に対応して現在ビデオフレームの現在マクロブロックに対する動き推定の精度を動的に変更する過程と、を含むことを特徴とする方法。
【請求項２】
　前記動き推定の精度を動的に変更する過程は、前記参照フレームの参照領域と現在ビデオフレームの画素比較間隔を前記平滑度に応じて決定する過程をさらに含む請求項１記載の方法。
【請求項３】
　前記動き推定の精度を動的に変更する過程は、前記参照フレームの参照領域を前記平滑度に応じて決定される探索精度により移動する過程をさらに含む請求項１記載の方法。
【請求項４】
　前記探索精度は前記参照領域の移動画素単位である請求項３記載の方法。
【請求項５】
　前記離散コサイン変換係数は予め定められた第１基準値と比較され、前記第１基準値より小さい値を有する前記離散コサイン変換係数の値は零に置き換えられる過程をさらに含む請求項１記載の方法。
【請求項６】
　前記第１基準値は前記各ブロックに該当する量子化テーブルにより決定される請求項５記載の方法。
【請求項７】
　前記平滑度を決定する過程は、前記零でない値を有する離散コサイン変換係数の個数と予め定められた第２基準値を比較して決定される過程をさらに含む請求項１記載の方法。
【請求項８】
　ブロック単位に入力される入力ビデオデータを離散コサイン変換器で空間領域から周波数領域に変換し、前記変換過程で発生された変換係数を符号化するビデオフレームの圧縮方法において、
　前記変換係数の値により該当ブロックの平滑度を決定する過程と、
　前記平滑度を参照して前記変換係数を周波数領域から空間領域に逆変換し、ビデオデータを再生する過程と、
　前記再生されたビデオデータ中で現在ビデオデータと最も類似した領域を前記平滑度を参照して推定する動き推定過程と、
　前記動き推定された領域と前記現在ビデオデータの誤差を離散コサイン変換器に入力する過程と、を含むことを特徴とする方法。
【請求項９】
　前記平滑度決定過程は、前記各ブロックの変換係数のうち、零でない値を有する変換係数の個数により決定される過程をさらに含む請求項８記載の方法。
【請求項１０】
　前記動き推定過程は、前記平滑度により決定された画素比較間隔により現在ビデオデータと再生されたビデオデータを画素対画素比較する過程をさらに含む請求項８記載の方法。
【請求項１１】
　前記動き推定過程は、前記再生されたビデオデータの参照領域と現在ビデオデータを画素対画素比較し、前記参照領域は前記平滑度により決定される画素単位に前記再生されたビデオデータ内で移動する過程をさらに含む請求項１０記載の方法。
【請求項１２】
　ビデオフレームを圧縮するためにブロック単位に入力されるビデオフレームデータを符号化する方法において、
　前記ブロック単位のビデオフレームデータを離散コサイン変換器で離散コサイン変換係数に変換する過程と、
　前記各ブロックの離散コサイン変換係数中で零でない値を有する離散コサイン変換係数の個数により前記各ブロックの平滑度を決定する過程と、
　前記離散コサイン変換係数を前記量子化器で量子化し、符号化器で前記量子化された離散コサイン変換係数を符号化する過程と、
　前記量子化された離散コサイン変換係数を逆量子化器で逆量子化する過程と、
　前記各ブロックの平滑度に対応して前記逆量子化された離散コサイン変換係数のうち、一部または全部を逆変換し、ビデオフレームデータを再生して参照フレームを構成する過程と、
　現在ビデオフレームのマクロブロックと前記参照フレームの参照領域を一定の画素間隔に画素対画素比較して、最も類似した領域を決定し、前記一定の画素間隔は前記探索領域に属するブロックの平滑度により決定される過程と、
　前記現在ビデオフレームの現在ブロックと前記最も類似した領域の差分を前記離散コサイン変換器にビデオデータとして入力する過程と、を含むことを特徴とする方法。
【請求項１３】
　離散コサイン変換と動き推定を使用して符号化する装置において、
　ブロック単位に入力されるビデオデータを変換して離散コサイン変換係数を発生する離散コサイン変換部と、
　前記発生された離散コサイン変換係数中で零でない値を有する離散コサイン変換係数の個数を計算し、前記個数に応じて該当ブロックの各平滑度を決定する平滑度決定部と、
　前記各ブロックの平滑度に対応して前記離散コサイン変換係数のうち、一部または全部を復号化し、原本ビデオデータを再生する逆離散コサイン変換部と、
　入力される現在ビデオフレームの現在ブロックと前記参照フレームの探索領域を一定の画素間隔に画素対画素比較して最も類似した領域を決定し、前記画素間隔は前記参照フレームの探索領域に含まれたブロックの平滑度に応じて決定する動き推定部と、
　前記現在ビデオフレームの現在ブロックと前記最も類似した領域の差分を前記離散コサイン変換器にビデオデータとして入力する加算器と、を含むことを特徴とする装置。
【請求項１４】
　前記平滑度決定部は前記離散コサイン変換係数と予め定められた第１基準値と比較し、前記第１基準値より小さい値を有する前記離散コサイン変換係数の値を零に置き換える請求項１３記載の装置。
【請求項１５】
　前記動き推定部は前記探索領域を前記平滑度により決定される画素単位に移動しながら、前記現在ビデオフレームの現在ブロックと画素対画素比較する請求項１３記載の装置。
【請求項１６】
　ブロック単位に入力される入力ビデオデータを離散コサイン変換器で空間領域から周波数領域に変換し、前記変換過程で発生された変換係数を符号化するビデオフレームの圧縮システムにおいて、
　前記変換係数の値に応じて該当ブロックの各平滑度を決定する平滑度決定部と、
　前記平滑度を参照して前記変換係数を周波数領域から空間領域に逆変換し、ビデオデータを逆離散コサイン変換する逆離散コサイン変換器と、
　前記再生されたビデオデータ中で現在ビデオデータと最も類似した領域を前記平滑度を参照して推定する動き推定部と、
　前記動き推定された領域と前記現在ビデオデータの誤差を離散コサイン変換器に入力する加算器と、を含むことを特徴とするシステム。
【請求項１７】
　前記平滑度決定部は前記各ブロックの変換係数のうち、零でない値を有する変換係数の個数に応じて該当ブロックの平滑度を決定する請求項１６記載のシステム。
【請求項１８】
　前記動き推定部は前記平滑度により決定された画素比較間隔に現在ビデオデータと逆離散コサイン変換されたビデオデータを画素対画素比較する請求項１６記載のシステム。
【請求項１９】
　前記動き推定部は前記逆離散コサイン変換されたビデオデータの参照領域と現在ビデオデータを画素対画素比較し、前記参照領域は前記平滑度により決定される画素単位に前記逆離散コサイン変換されたビデオデータ内で移動する請求項１６記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は離散コサイン変換と動き推定を通じたビデオ信号の符号化装置及び方法に関するもので、特に、離散コサイン変換係数を参照して動き推定を簡単化するためのビデオ信号の符号化装置及び方法に関する。
【背景技術】
【０００２】
　一般的にビデオ信号は２種類の方法に圧縮処理される。一つの方法はイントラフレーム圧縮であり、他の方法はインターフレーム圧縮である。イントラフレーム圧縮は一つのビデオフレーム内で情報を圧縮する方法であり、離散コサイン変換(Discrete Cosine Transform;以下、ＤＣＴ)方法はその一種である。前記ＤＣＴは２次元軸変換を通じてデータの相関性を除去するが、このために入力されるフレームをブロック単位に分けた後、各ブロックの映像を空間領域から周波数領域に変換する。この時、変換されたデータは一方向、即ち低域(ＤＣ)側に集まる傾向があるが、このように集まったデータのみを量子化部で量子化することにより空間的な重複性を除去する圧縮方法である。
【０００３】
　これと異なりインターフレーム圧縮は、連続されるビデオフレーム間の該当する画素値の差分に基づいてイメージを符号化することにより、時間的な重複性を除去する圧縮方法である。時間的に連続されるイメージは、背景の変化なし主に画面の中央部分のみで人や物体の動きがあるので、このような性質を利用して時間的な重複性を除去することができる。即ち、画面で変化がないか、あったとしても、ほぼ類似した部分は符号化しなく、以前のイメージを参照することによりデータ量を大幅に減少させることができる。このような方法を動き予測、または推定(Motion Estimation:ＭＥ)技術という。Ｈ.２６１、ＭＰＥＧ(Moving Picture Experts Group)−１、ＭＰＥＧ−２、Ｈ.２６３だけではなく、ＭＰＥＧ−４など大部分のイメージ符号化標準でインターフレーム圧縮方法として動き推定(ＭＥ)技術が使用されている。
【０００４】
　図１は、従来のディジタルビデオ信号を圧縮するための符号化システム１００、例えばＭＰＥＧ２方式のイメージ符号化システムを示す図である。図１を参照して前記ＤＣＴと動き推定(ＭＥ)を通じた従来のイメージ圧縮方法を説明する。
【０００５】
　フレーム形式の入力ビデオ信号はフレームメモリ１０１に入力される。前記フレームはブロック単位に処理できるようにピクセルデータの連続的なブロックに前記フレームメモリ１０１に貯蔵される。フレームのブロックは通常的に８×８乃至１６×１６の画素大きさを有する。説明の便宜のために、本明細書では８×８の画素大きさを有するブロックを仮定して説明するが、他の画素大きさのブロックの場合にも本発明が適用できることに留意すべきである。
【０００６】
　ＤＣＴ１０３は前記フレームメモリ１０１からブロック単位に判読される入力ビデオ信号を離散コサイン変換し、ＤＣＴ係数を発生する。量子化器１０３は前記発生されたＤＣＴ係数を量子化する。ビット率制御部１１７は目標伝送ビット率を合わせるために量子化器１０５で量子化に使用される量子化テーブルを決定してビット率を調節する。前記量子化されたＤＣＴ係数はジグザグ形にスキャニングされ、可変長符号化器(Variable Length Coder)１０７に入力される。前記可変長符号化器１０７は前記スキャニングされ量子化されたＤＣＴ係数を可変長符号化されたデータに変換し、図示されないビット列発生器を通じて符号化された連続的なビット列(Bit Stream)に出力する。
【０００７】
　前記量子化器１０５の出力は逆量子化器１０９にも入力される。前記逆量子化器１０９から出力されるＤＣＴ係数は、逆離散コサイン変換器(Inverse Discrete Cosine Transform:以下、ＩＤＣＴ)１１１で逆離散コサイン変換されブロック単位の再生された画素データになる。前記ブロック単位の再生された画素データはフレームメモリ１１３に貯蔵される。一つのビデオフレームの全体ブロックが順次的に再生され、フレームメモリ１１３に貯蔵される。前記フレームメモリ１１３に貯蔵された再生されたイメージフレームは動き推定(ＭＥ)のための参照フレームとして使用される。
【０００８】
　一番目のビデオフレームの全体ブロックが前記符号化システム１００により処理された後、二番目のビデオフレームが前記符号化システム１００に入力される。動き推定器１１５は前記フレームメモリ１１３に貯蔵された参照フレームの探索領域で前記二番目のフレームの一番目のマクロブロック(Macro Block:ＭＶ)と最も類似した領域を探す。通常的に前記探索領域は複数個の候補マクロブロックから構成される。前記動き推定器１１５は前記マクロブロックと同一の画素大きさを有する参照領域を前記探索領域内で上下右左に半画素(Half Pixel)単位に移動しながら、前記マクロブロックと前記参照領域を画素対画素比較する。マクロブロックは通常的に８×８、または１６×１６の大きさを有する。ここで、ＦＢＭＡ(Full Searching Block Matching Algorithm)、ＴＳＳ(Three Step Search)、ダイアモンド探索(Diamond Search)、または階層的動き推定(Hierarchical Motion Estimation)などのような通常の多様な探索アルゴリズム(Searching Algorithm)、またはブロックマッチング(Block Matching)技法が使用される。このように、探索された参照フレームの最も類似した参照領域と二番目のイメージフレームのマクロブロックとの間の位置関係を示す動きベクトル(Motion Vector:ＭＶ)が決定される。
【０００９】
　加算器１１９で前記二番目のフレームの一番目のマクロブロックと前記参照フレームの最も類似した参照領域間の差分が求められ、前記差分が前記動きベクトル(ＭＶ)と共に、ＤＣＴ１０３、量子化器１０５及び可変長符号化器１０７を経て符号化される。ここで、前記差分と動きベクトルは別の装置で別の過程を通じてそれぞれ求められることに説明したが、動きベクトルと差分が一つの過程で共に求められるように具現されることもできることに留意すべきである。前記差分は逆量子化器１０９とＩＤＣＴ１１１にも入力され、次のフレームの動き推定のために再生された画素データに前記フレームメモリ１１３に貯蔵される。前記過程は二番目のフレームの全体ブロックに対して順次的に適用される。
【００１０】
　上述したように、動き推定(ＭＥ)のために使用される参照フレームは、原本のイメージフレームでなく、既に符号化された、即ち量子化されたＤＣＴ係数をさらに復号化して再生されたフレームである。これは復号化システムで符号化されたイメージデータを受信して復号化する時と同一の過程を経るようにすることにより、符号化システムと復号化システム間の誤差を最小化するためのものである。前記復号化過程で使用されるＮ×Ｎ逆離散コサイン変換は次の式（１）のようである。
【００１１】
【数１】
2004080786.tif 000003
【００１２】
　そして、ｆ(ｘ、ｙ)は前に符号化された(量子化された)ＤＣＴ係数の復号化から復号化されたＤＣＴ係数を提供する参照フレーム関数である。ここでのｕ、ｖはＤＣＴブロックの軸である。
　前記式（１）はＯ(ｎ３)の計算複雑度を有する。量子化されたＤＣＴ係数全部が前記式（１）により逆離散コサイン変換される。結果的に原本イメージフレームを参照フレームとして使用する場合に比べて、それだけの多くの演算量が要求され、符号化方法の効率も低下される。また動き推定器１１５では参照フレームの探索領域と現在マクロブロックのすべての画素を比較するので、動き推定に所要される時間と演算量が大きくなる。
【００１３】
　移動端末機のような携帯用システムは制限された演算能力と電源供給能力を有する。前記動き推定に所要される過度な演算量は携帯用システムに大きな負担になる。しかし、無線チャネルを通じて動映像を伝送する場合、相当に大きなデータが発生する一方、利用可能な周波数帯域は制限されている。制限された周波数帯域に相当に大きな動映像データを伝送するために、動き推定を利用して伝送データの量を減少させることは必須的である。
【００１４】
　従って、伝送データ量を減少させるために動き推定を使用して動映像データを圧縮し、かつ前記動き推定に所要される過度な演算量を減少させることが要求される。
【発明の開示】
【発明が解決しようとする課題】
【００１５】
　従って、前述の問題点を解決するための本発明の目的は、離散コサイン変換と動き推定を通じたビデオイメージ信号の符号化システムで高い画質と圧縮効率を維持しながら、動き推定に要求される演算量を減少させるための装置及び方法を提供することにある。
【００１６】
　本発明の他の目的は、離散コサイン変換と動き推定を通じたビデオイメージ信号の符号化システムで、イメージの特性を考慮して動き推定のための参照フレームを再生することにより、演算量を低減する装置及び方法を提供することにある。
【００１７】
　本発明のさらに他の目的は、動き推定を通じて動映像イメージ間の時間的な重複性を除去するシステムで、現在イメージと参照イメージ間の画素比較精度及び探索精度をイメージの特性を考慮して動的に調整することにより、演算量を低減するための装置及び方法を提供することにある。
【課題を解決するための手段】
【００１８】
　このような目的を達成するために本発明は、離散コサイン変換を使用するビデオフレーム圧縮システムで動き推定をする方法において、ブロック単位に変換された離散コサイン変換係数中で零でない値を有する離散コサイン変換係数の個数に従って前記各ブロックの平滑度を決定する過程と、前記各ブロックの平滑度に対応して前記離散コサイン変換係数のうち、一部または全部からビデオフレームデータを再生して参照フレームを構成する過程と、前記参照フレームの平滑度に対応して現在ビデオフレームの現在マクロブロックに対する動き推定の精度を動的に変更する過程と、を含むことを特徴とする。
【００１９】
　また、前記目的を達成するために本発明は、ブロック単位に入力される入力ビデオデータを離散コサイン変換器で空間領域から周波数領域に変換し、前記変換過程で発生された変換係数を符号化するビデオフレームの圧縮システムにおいて、前記変換係数の値により該当ブロックの各平滑度を決定する平滑度決定部と、前記平滑度を参照して前記変換係数を周波数領域から空間領域に逆変換し、ビデオデータを逆離散コサイン変換する逆離散コサイン変換器と、前記再生されたビデオデータ中で現在ビデオデータと最も類似した領域を前記平滑度を参照して推定する動き推定部と、前記動き推定された領域と前記現在ビデオデータの誤差を離散コサイン変換器に入力する加算器と、を含むことを特徴とする。
【発明の効果】
【００２０】
　本発明はイメージをブロック単位にＤＣＴ変換して空間的な重複性を除去する一方、動き推定技法を使用して時間的な重複性を除去するシステムで、平滑なイメージが広範囲なブロックにかけている場合、動き推定に使用される参照フレームを発生するためにＩＤＣＴ変換されるべきＤＣＴ係数の個数が大幅に減少され、計算複雑度が低くなる利点がある。またブロックマッチング過程で画素比較の精度及び探索精度を参照フレームのブロックの平滑度に応じて調整することにより演算量が減少される利点がある。
【発明を実施するための最良の形態】
【００２１】
　以下、本発明に従う好適な一実施形態について添付図を参照しつつ詳細に説明する。下記の説明において、本発明の要旨のみを明瞭にする目的で、関連した公知機能又は構成に関する具体的な説明は省略する。
【００２２】
　図２は、符号化された画素データ、即ち量子化されたＤＣＴ係数を逆量子化及び逆離散コサイン変換、即ち復号化して元の画素データに再生する時、復号化されるＤＣＴ係数の数を相異なるようにして再生されるイメージをそれぞれ示す図である。前記図２は特にブロック大きさが８×８である場合を示している。２０１は８×８ブロックのうち、６×６、即ち３６個のＤＣＴ係数を変換した場合に再生されるイメージを示し、２０３は４×４、即ち、２５個のＤＣＴ係数を復号化した場合、２０５は３×３、即ち９個、２０７は２×２、即ち４個、２０９は１×１、即ち１個のＤＣＴ係数を復号化した場合をそれぞれ示す。本発明は図示したように、一部のＤＣＴ係数のみを復号化する時、各ブロックの特性に応じて一部ブロックでは誤差が発生しないが、他の一部ブロックでは深刻な誤差が発生するという点に注目する。
【００２３】
　典型的なイメージにおいて、ＤＣＴ変換と量子化過程を経た後のＤＣＴ係数はほぼ大部分０の値を有する。また低周波数のＤＣＴ係数、即ち、ＤＣＴ ＤＣ係数が主に０でない値(Non-Zero)を有するので、０でないＤＣＴ係数は通常的に８×８ブロックの左上端の低周波数領域に分布する。一方、前記ブロックの右下端領域に分布する高周波数のＤＣＴ係数、即ち、ＤＣＴ ＡＣ係数は主に０の値を有する。従って、ＤＣＴ係数が大部分０の値を有する、即ち平滑な特性のイメージは一部分のＤＣ係数のみを復号化しても誤差があまり発生しないものである。極端的に、晴れた空を離散コサイン変換した場合には、１個のＤＣＴ係数のみを変換しても誤差が発生しないことがある。一方、前記図２は説明の便宜上、ブロック大きさが８×８である場合を仮定して説明したが、４×４、または１６×１６など相異なる大きさのブロックでも同一に適用されることは同一技術分野で通常の知識を持つ者に容易に理解できるだろう。
【００２４】
　本発明は前記のように符号化されるイメージの特性を考慮すると、符号化過程と動き推定(ＭＥ)過程の計算複雑度を改善することができることに着案する。図３は本発明の望ましい実施形態に従ってイメージの特性を考慮してイメージ符号化と動き推定(ＭＥ)を遂行するシステム３００を示す図である。
【００２５】
　フレーム形式の入力ビデオ信号はブロック単位にフレームメモリ３０１に入力され貯蔵される。ＤＣＴ３０３は前記フレームメモリ３０１からブロック単位に判読される入力ビデオ信号を離散コサイン変換し、ＤＣＴ係数を発生する。平滑度テーブル発生部３０５は前記ブロックのＤＣＴ係数中で零でない値を有するＤＣＴ係数、即ちノン−ゼロ(Non-Zero)ＤＣＴ係数の個数を把握する。ここで実質的に０でないが、一定基準値以下の値を有するＤＣＴ係数は零の値を有すると見なすこともできる。本明細書は後者の場合を仮定して説明する。後者の場合、前記基準値は特定定数であることもできるが、より望ましくは前記ブロックに該当する量子化テーブルの量子値(Quantizer)になることもできる。量子値より小さい値を有するＤＣＴ係数は量子化過程で０の値を有するからである。
【００２６】
　前記ノン−ゼロＤＣＴ係数の個数に応じて前記ブロックの平滑度が決定される。即ち、本明細書で平滑度は該当ブロックに含まれるノン−ゼロＤＣＴ係数の個数により決定される値に定義されることに留意すべきである。平滑な特性を有するイメージであるほど低い平滑度を有する。前記平滑度テーブル発生部３０５は一つのフレームのすべてのブロックそれぞれに対する平滑度をテーブルに貯蔵する。ゼロライン発生部３０７は前記平滑度テーブル発生部３０５で予め設定された基準値以下の値を有することに判断されたＤＣＴ係数を０に置き換える。前記図３では前記平滑度テーブル発生部３０５とゼロライン発生部３０７を別の装置に示したが、前記二つの装置は一つの装置に具現されることもできることに留意すべきである。
【００２７】
　本発明の一実施形態に従って前記平滑度テーブル発生部３０５とゼロライン発生部３０７を経た後の８×８ブロックのＤＣＴ変換係数の分布が図４に示されている。４０１は零でない値を有するＤＣＴ係数の領域であり、４０３は零の値を有するＤＣＴ係数の領域である。従って、前記ブロックの平滑度は６に決定される。
【００２８】
　さらに図３を参照すると、量子化器３０９は入力されるＤＣＴ係数をビット率制御部３１１により決定された量子化テーブルを使用して量子化する。前記量子化されたＤＣＴ係数はジグザグ形にスキャニングされ可変長符号化器３１３で可変長符号化されたデータに変換し、図示されないビットストリーム発生器を通じて符号化された連続的なビット列(Bit Stream)に出力される。
【００２９】
　前記量子化されたＤＣＴ係数は逆量子化器３１５で逆量子化され、適応的ＩＤＣＴ３１７に入力される。前記適応的ＩＤＣＴ３１７は前記平滑度テーブル発生部３０５で決定された該当ブロックの平滑度に応じて決定される個数のＤＣＴ係数をＩＤＣＴ変換する。平滑度が低いブロック(即ち、視覚的に平滑するか、均一なイメージ)は少ない数のＤＣＴ係数がＩＤＣＴ変換され、平滑度が高いブロック(即ち、大きな値のコントラストを有するイメージ)は多くの数のＤＣＴ係数がＩＤＣＴ変換される。従来技術では６４個のＤＣＴ係数をすべてＩＤＣＴ変換したが、本発明によると、平滑度に応じてそれより少ない数のＤＣＴ係数を変換するとよい。従って、Ｏ(ｎ３)の計算複雑度を有する前記式（１）を使用するＩＤＣＴ変換において、従来技術では８×８ブロックの場合、総５１２回の乗算が遂行されるべきであるが、本発明によると、平滑度が６である場合、乗算演算が２１６回に減少し、平滑度が４である場合には６４回の乗算で十分である。
【００３０】
　前記ブロック単位の再生された画素データは動き推定(ＭＥ)のための参照フレームとして使用できるようにフレームメモリ３１９に貯蔵される。一番目のイメージフレームの全体ブロックが前記符号化システム２００により処理された後、二番目のイメージフレームが前記符号化システム２００に入力される。適応的動き推定器３２１は参照フレームの探索領域の平滑度により決定される画素間隔に前記探索領域と前記二番目のフレームの一番目のマクロブロックを画素対画素比較する。
【００３１】
　前記平滑度に応じたブロック比較方法の望ましい実施形態として、三つの方法を図５を参照して説明する。しかし、前記三つの方法以外にも本発明の範囲から外れない限り、各種変更ができることは勿論である。また説明の便宜のため、参照フレームの探索領域は３×３の候補マクロブロックから構成される場合を仮定して説明する。図５で５０１は現在入力される二番目のビデオフレームであり、５０９は二番目のビデオフレーム中で現在動き推定しようとするマクロブロックである。５０３は前記フレームメモリ３１９に貯蔵されている参照フレームであり、５０５は前記マクロブロック５０９に対して動き推定しようとする探索領域である。前記探索領域５０５は９個の候補マクロブロック９１１から構成される。５０７は前記探索領域５０５中で前記マクロブロック５０９と現在比較される参照領域である。
【００３２】
　一番目の方法は、前記参照領域５０７がかけている候補マクロブロックの平滑度中で最も高い平滑度を基準に画素間隔を決定するものである。この方法を使用する場合、４個のマクロブロックのうち、最も高い平滑度である５を基準にして画素間隔が決定される。
【００３３】
　二番目の方法は、前記参照領域５０７がかけている各候補マクロブロックの平滑度に応じて画素間隔をそれぞれ決定するものである。この場合、参照領域５０７の左部分は平滑度４を基準に、右上端部分は平滑度２を基準に、右下端部分は平滑度５を基準に画素間隔を決定する。
【００３４】
　三番目の方法は、前記参照領域５０７がかけている候補マクロブロック中で最も広い領域にかけている候補マクロブロックの平滑度を基準に画素間隔を決定するものである。即ち、図５の場合、平滑度４を基準に画素間隔が決定される。
【００３５】
　一方、前記ブロック比較には、上述したようにＦＢＭＡ(Full Searching Block Matching Algorithm)やＴＳＳ(Three Step Search)、ダイアモンド探索(Diamond Search)、または階層的動き推定(Hierarchical Motion Estimation)などのような通常の多様な探索アルゴリズムが使用されることができる。
【００３６】
　図６は、ＤＣＴブロックの平滑度を決定する手続きを示す手順図である。図６と図４を参照して平滑度テーブル発生部３０５とゼロライン発生部３０７で８×８ＤＣＴブロックの平滑度を決定する方法に対して詳細に説明する。
【００３７】
　６００段階でＤＣＴ３０３からＤＣＴ係数が入力されると、平滑度テーブル発生部３０５は６０１段階に進行して平滑度決定手続きを開始する。前記平滑度決定手続きは高周波成分のＤＣＴ係数から始めて低周波成分のＤＣＴ係数方向に進行される。即ち、図４の平滑度８領域から開始して平滑度１領域に進行する。６０１段階でＤＣＴ係数を貯蔵するための８×８ ２次元ＤＣＴ[８][８]が準備され、平滑度を示す変数であるCurResは８に設定される。検査されるＤＣＴ係数をカウントするための変数であるCountは１に設定され、零の値を有するＤＣＴ係数の個数をカウントするための変数であるzero Countは０に設定される。
【００３８】
　６０３段階で現在検査しようとするＤＣＴ係数であるＤＣＴ[CurRes][Count]係数値を予め設定された基準値であるthreshold_Ｂ[CurRes][Count]と比較する。threshold_Ｂ　[CurRes][Count]は零でない値を有するＤＣＴ係数を判断するための基準値として、上述したように量子化テーブル中、前記ＤＣＴ係数に該当する量子値、または前記量子値に特定加重値をかけた値になることができる。CurResは８であり、Countは１であるので、ＤＣＴ[８][１]係数値とthreshold_Ｂ[８][１]値が比較される。前記６０３段階でＤＣＴ[８][１]、ＤＣＴ[８][２]、…、ＤＣＴ[８][８]係数の値が該当基準値と比較される。
【００３９】
　ＤＣＴ係数が前記基準値より小さいと（６０３段階で「ＹＥＳ」）、６０５段階で平滑度テーブル発生部３０５は前記ＤＣＴ係数が０の値を有することに判断し、zeroCountを一つ増加させ、ゼロライン発生部３０７は前記ＤＣＴ係数の値を零に置き換え、６０７段階に進行する。一方、６０３段階で現在検査中であるＤＣＴ係数が前記基準値より大きいと（６０３段階で「ＮＯ」）、６０７段階にすぐ進行する。
【００４０】
　６０７段階でCountが１と比較され、現在Countが１であると（６０７段階で「ＮＯ」）、６１３段階に進行する。６１３段階でCountとCurResが比較され、現在CountがCurResより小さいので（６１３段階で「ＹＥＳ」）、６１５段階に進行してCountを一つ増加させた後、６０３段階に戻る。従って、Countは２になる。
【００４１】
　６０３段階と６０５段階でＤＣＴ[８][２]係数の値が零であるかを判断し、６０７段階に進行する。６０７段階で現在Countが１より大きいので（６０７段階で「ＹＥＳ」）、６０９段階に進行する。６０９段階ではＤＣＴ[Count-１][CurRes]係数値とthreshold_Ｂ[Count-１][CurRes]が比較される。現在CurResは８であり、Countは２であるので、ＤＣＴ[１][８]係数値とthreshold_Ｂ[１][８]値が比較される。前記６０９段階ではＤＣＴ[１][８]、ＤＣＴ[２][８]、…、ＤＣＴ[７][８]係数の値が該当基準値と比較される。
【００４２】
　ＤＣＴ[１][８]係数の値がthreshold_Ｂ[１][８]の値より小さいと（６０９段階で「ＹＥＳ」）、６１１段階に進行する。６１１段階で平滑度テーブル発生部３０５は前記ＤＣＴ係数が０の値を有することに判断し、zeroCountを一つ増加させ、ゼロライン発生部３０７は前記ＤＣＴ係数の値を零に置き換え、６１３段階に進行する。前記ルーチンはCountが８になるまで反復され、図４の平滑度８の領域のうち、threhold_Ｂより小さい値を有するＤＣＴ係数の個数がzeroCountを通じてカウントされる。
【００４３】
　Countが８に到達すると、６１３段階で前記zeroCountの値とthreshold_Ａ[CurRes]の値が比較される。threhold[CurRes]は各平滑度領域別に予め設定されている基準値である。低周波領域であるほど値が零であるＤＣＴ係数が多いので、低周波領域であるほどthreshold_Ａの値が大きくなるように設定されるのが望ましいが、すべての領域で同一に設定するか、または他の方法に設定することも可能であることに留意すべきである。
【００４４】
　６１７段階で零の値を有するＤＣＴ係数の個数がthreshold_Ａより小さいと（６１７段階で「ＹＥＳ」）、６１９段階で現在のCurResを現在ブロックの平滑度に決定し、６２１段階で平滑度決定ルーチンを終了する。しかし零の値を有するＤＣＴ係数の個数がthreshold_Ａより多いと（６１７段階で「ＮＯ」）、６１９段階でCurResを一つ減少し、CountとzeroCountを初期化して次の領域のＤＣＴ係数のうち、零の値を有する係数の個数をカウントする。
【００４５】
　今まで図４と図６を参照して一つのブロックの平滑度を決定する方法に対して説明した。平滑度テーブル発生部は、前記ルーチンを全体ビデオフレームに適用して一つビデオフレームのすべてのブロックの平滑度を決定し、２次元の平滑度テーブルを生成する。
【００４６】
　次に、図７と図８を参照して前記のように決定された平滑度を参照して動き推定をする方法に対して説明する。説明の便宜のため、一つビデオフレームは１７６×１４４の画素から構成され、動き推定をするためのマクロブロックは８×８の大きさを有することに仮定する。従って、一つのビデオフレームは２２×１８個のマクロブロックから構成される。しかし、本発明はＭＰＥＧ−２やＭＰＥＧ−４などで主に使用される１６×１６サイズのマクロブロックの場合にも適用できることは当該技術分野で通常の知識を持つ者に容易に理解できるだろう。
【００４７】
　図７は、前記図３の適応的動き推定器３２１で一つビデオフレームのすべてのマクロブロックに対して動き推定をする手続きを示す手順図である。７０１段階でCurPic[１７６*１４４]は現在映像バッファを示し、RefPic[１７６*１４４]は参照映像バッファを示す。ｘ、ｙ変数はそれぞれｘ軸及びｙ軸方向にマクロブロックの個数をカウントするための変数であり、零に初期化される。
【００４８】
　７０３段階でｙが１８より小さいと（７０３段階で「ＹＥＳ」）、７０５段階に進行し、ｙが１８より大きいと（７０３段階で「ＮＯ」）、一つビデオフレームのすべてのマクロブロックに対する動き推定が完了されたものであるので、７１３段階に進行して手続きを終了する。現在ｙが０であるので７０５段階に進行する。７０５段階でｘが２２と比較される。現在ｘが０であるので７０９段階に進行する。７０９段階では現在マクロブロックCurPic[(x+y*１７６*８)と参照領域RefPic[(x+y*１７６*８)を動き推定する。前記動き推定方法は図８を参照して詳細に後述される。現在マクロブロックの動き推定が完了されると、ｘが一つ増加され前記７０５乃至７１１段階を反復する。一番目のラインのマクロブロックの動き推定が完了され、ｘが２２に到達すると、７０７段階に進行してｙは一つ増加させ、ｘは零に初期化した後、７０３段階に進行する。一つのイメージフレームのすべてのマクロブロックの動き推定が完了されると、７１３段階で動き推定が終了される。
【００４９】
　上述したように、前記７０９段階の一つのマクロブロックに対する動き推定方法を図８を参照して詳細に説明する。８０１段階でCurPic[(ｘ＋ｙ*１７６)*８]は現在動き推定しようとするマクロブロックである。ｉ、ｊは現在マクロブロックを基準点にして参照フレームの探索領域で参照領域の位置を示すための変数である。ここでは現在マクロブロックを基準にｘ軸に沿って左方向が−ｉ方向、右方向が＋ｉ方向であり、ｙ軸に沿って上方向が＋ｊ方向、下方向が−ｊ方向であることに仮定する。説明の便宜のため、上述した各種探索アルゴリズムのうち、ＦＢＭＡ(Full search Block Matching Algorithm)を使用する場合を仮定する。また参照フレームの探索領域は現在マクロブロックを基準にｘ、ｙ方向にそれぞれ３個ずつのマクロブロックを含むことに仮定する。ここで、３個ずつのマクロブロックはただ例に提示されたもので、本発明の内容をここに限定するものではない。また、他の探索アルゴリズムを使用するか、または探索領域の大きさを異なるようにする場合にも本発明が適用できることに留意すべきである。
【００５０】
　８０３段階でｊが３*８より小さいと、８０５段階に進行し、８０５段階で前記平滑度テーブルから参照領域の平滑度を読み出す。参照領域が複数の候補マクロブロックにかけている場合には前記図５で上述した方法により平滑度が決定される。前記決定された平滑度により加重値_Ｘと加重値_Ｙを決定する。例えば平滑度が４であると、加重値_Ｘと加重値_Ｙは２、平滑度が２であると、加重値_Ｘと加重値_Ｙは２になるようにする。現在ｊが−３*８であり、３*８より小さいので（８０３段階で「ＹＥＳ」）、８０５段階に進行して前記加重値を求めた後、８０７段階に進行する。
【００５１】
　８０７段階でｉが３*８より小さいと（８０７段階で「ＹＥＳ」）、８０９段階でCurPic[(ｘ＋ｙ*１７６*８)とRefPic[(i+j*１７６*８)ブロックを前記８０５で決定された加重値に応じてサブサンプリングされた画素単位に比較する。例えば、前記加重値が２であると、一つの画素間隔にサブサンプリングし、前記加重値が４であると、二つの画素間隔にサブサンプリングするようにする。従ってマクロブロック内のすべての画素を比較する従来技術に比べて演算量が大幅に減少されることが分かる。一方、前記画素比較はＳＡＤ(Sum of Absolute Differences)や分散などのような公知されたアルゴリズムを利用して遂行され得ることは当該技術で通常の知識を持つ者に容易に理解できるだろう。
【００５２】
　画素比較が完了されると、８１１段階でｉ値を加重値_Ｘに応じて増加させ、加重値_Ｘに応じて増加された画素単位だけ探索領域内で参照領域を移動し、さらに画素比較を遂行する。例えば加重値_Ｘが２である場合には１個の画素だけ参照領域を移動し、４である場合は２個の画素だけ参照領域を移動する。従来技術では半画素(Half-Pixel)単位に探索領域内の参照領域を移動したが、本発明ではイメージの特性により決定される平滑度を反映して参照領域の移動画素単位、即ち探索精度が決定されることが分かる。
【００５３】
　探索領域の最下の候補マクロブロックに対する画素比較が完了されると、即ちｉが３*８より大きいか、同じくなると（８０７段階で「ＮＯ」）、８０７段階から８１３段階に進行する。８１３段階でｊ値を加重値_Ｙに応じて増加させ、ｉは３*８に初期化した後、８０３段階に戻る。すべての探索領域に対して画素比較が完了されると、８１５段階に移動して終了する。上述したように、本発明は画素比較間隔と参照領域の探索精度をイメージの特性を考慮して決定することにより、演算量が大幅に減少する利点があることが分かる。
【００５４】
　以上、本発明の詳細な説明では具体的な実施例について説明したが、本発明の範囲を逸脱しない限り、各種の変形が当該技術分野における通常の知識を持つ者により可能なのは明らかである。
【図面の簡単な説明】
【００５５】
【図１】従来のディジタルビデオ信号を圧縮するための符号化システムを示すブロック図。
【図２】復号化されるＤＣＴ係数の数を相異なるようにして再生されるイメージを示す図。
【図３】本発明の望ましい実施形態に従ってイメージの特性を考慮してイメージ符号化と動き推定(ＭＥ)を遂行するシステムを示すブロック図。
【図４】本発明の実施形態に従って平滑度テーブル発生部とゼロライン発生部を経た後の８×８ブロックのＤＣＴ変換係数の分布を示す図。
【図５】本発明の望ましい実施形態に従って平滑度を考慮するブロック比較方法を示す図。
【図６】本発明の望ましい実施形態に従うＤＣＴブロックの平滑度を決定する手続きを示す手順図。
【図７】本発明の望ましい実施形態に従う適応的動き推定器で一つのイメージフレームのすべてのマクロブロックに対して動き推定をする手続きを示す手順図。
【図８】本発明の望ましい実施形態に従うマクロブロックの動き推定手続きを示す図。
【符号の説明】
【００５６】
　３０１　　フレームメモリ
　３０３　　ＤＣＴ
　３０５　　平滑度テーブル発生部
　３０７　　ゼロライン発生部
　３０９　　量子化器
　３１１　　ビット率制御部
　３１３　　可変長符号化器
　３１５　　逆量子化器
　３１７　　適応的ＩＤＣＴ
　３１９　　フレームメモリ
　３２１　　適応的動き推定器
【図１】
2004080786.tif 000004
【図２】
2004080786.tif 000005
【図３】
2004080786.tif 000006
【図４】
2004080786.tif 000007
【図５】
2004080786.tif 000008
【図６】
2004080786.tif 000009
【図７】
2004080786.tif 000010
【図８】
2004080786.tif 000011