JP3655651B2 - データ処理装置 - Google Patents
データ処理装置 Download PDFInfo
- Publication number
- JP3655651B2 JP3655651B2 JP21006194A JP21006194A JP3655651B2 JP 3655651 B2 JP3655651 B2 JP 3655651B2 JP 21006194 A JP21006194 A JP 21006194A JP 21006194 A JP21006194 A JP 21006194A JP 3655651 B2 JP3655651 B2 JP 3655651B2
- Authority
- JP
- Japan
- Prior art keywords
- hadamard transform
- block
- image data
- search
- data
- 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 - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/262—Analysis of motion using transform domain methods, e.g. Fourier domain methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Complex Calculations (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
【産業上の利用分野】
本発明は、デジタル画像データの高能率符号化(データ圧縮)に関し、特に、動画像における動き推定(Motion Estimation)に関する。
【0002】
【従来の技術】
近年、半導体集積技術の進展に伴い、デジタル画像データ等の高能率符号化(データ圧縮)技術が急速に進められている。こうした技術は、画像信号や音声信号などの種々のデータを統合的に扱うマルチメディアシステムや、デジタルHDTV等におけるデータの伝送及び蓄積に不可欠なものである。
【0003】
連続したフレーム/フィールドにおける画像データ(動画像)は、空間方向と時間方向の3次元データからなるものである。こうした画像データの空間方向の冗長性は、2次元DCT(離散コサイン変換)などを用いて効果的に削減することが可能であり、他方、時間方向の冗長性は、フレーム/フィールド間の符号化、例えば、動き補償(Motion Compensation)によるフレーム/フィールド間の予測符号化により削減可能である。
【0004】
動き補償によるフレーム/フィールド間の予測符号化は、単にフレーム/フィールド間の差分を符号化するのではなく、物体の動き情報、すなわちフレーム間の物体の空間的な変位である動きベクトルを検出し、その動きベクトルに基づいて得られた予測値との差分を符号化し、データ圧縮をより効果的にするものである。
【0005】
動き推定を行うためには2つのアプローチがある。ペル・リカーシブアルゴリズム(pel−recursive algorithm)と、ブロックマッチングアルゴリズム(BMA)である。一般に、後者は、前者よりもより精度がよく、MPEG標準に採用されている。
ブロックマッチングによる動き推定アルゴリズムについての簡単な方法は、フルサーチと呼ばれるものである。フルサーチは、サーチ範囲内のすべての位置をサーチし、画素間の絶対差分の合計の最小値によって動きベクトルを提供するものである。フルサーチの結果は、フレーム間差分において最も正確なベクトルを与えるものである。しかし、フルサーチの実行は、非常に高価であるとともに時間を要し、リアルタイムハードウェアにとって必ずしも実用的であるとはいえない。
【0006】
このような理由により、種々の高速動き推定アルゴリズムの研究が成されてき。これらのアルゴリズムは、演算の複雑さ(演算量)を減少させる方法によって、2つのグループに分類される。1つは、ステップ毎のアプローチでサーチ位置数を減少させる方法である。もう1つは、絶対画素差分の合計を求める代わりに、別な基準、すなわちひずみ(Distortion)測定を用いて各ブロックの比較演算を減少させる方法である。
【0007】
前者のグループは、3段階の階層サーチ(3SHS)、2次元ロガリズムサーチ(Logarithmic Search)、及び並列階層一次元サーチを含む。また、後者のグループは、積分投影法(Integral Projection)を用いた特徴に基づくブロックマッチングアルゴリズムを含む。画素のサブサンプリングは、ブロック内の画素の断片を使用するものであり、これもまた各ブロックの比較の演算を減少させるものである。さらに、両グループの技術の組み合わせにより、改良された結果を得ることもできる。例えば、3段階階層サーチ(3SHS)に組み合わされた積分投影法を用いたアルゴリズムである。
【0008】
【発明が解決しようとする課題】
一般に、前者のグループの方法は、サーチされる位置が、最も一致する位置から遠ざかるにつれて、ひずみが単調に増加することを前提とする。しかしながら、このことは、必ずしも正しくはなく、動きベクトルが、最小値ではなく、極小値でトラップされてしまうことがある。さらに、アルゴリズムの不規則なデータフロー及び複雑な制御が、ハードウェアの実用化にとって欠点となる場合もある。
【0009】
他方、後者のグループの方法は、比較的実現することが容易であり、また、積分投影法よりも適切な変換を用いることによる、改良の余地がまだまだ残されているように思われる。過去において、ブロックマッチングの動き推定アルゴリズムのための適切な変換は、未だ研究されていない。このアプローチにより演算の複雑さを低減させるためには、少ない数の変換係数によってブロックの主な特徴を表す必要があり、なお且つ係数は、簡単に計算されるものでなければならない。もし、非常に少ない計算で、すべての位置をサーチすることができるのならば、このアルゴリズムは、フルサーチと比べて非常に高速なものとすることが可能であり、しかも、フルサーチに匹敵するサーチ精度を達成することも可能である。
【0010】
本発明の目的は、動画像の動き推定を高速、かつ高精度に行うことができるデータ処理装置及びその方法を提供することである。
本発明の他の目的は、直交変換、例えばアダマール変換に基づく動き推定により高速ブロックマッチング可能なデータ処理装置及びその方法を提供することである。
【0011】
本発明の他の目的は、ディジタル画像データ処理においてシストリックアレイアーキテクチャに適合するデータ処理装置及びその方法を提供することである。本発明の他の目的は、低コスト、高品質のビデオエンコーダとして利用できるデータ処理装置及びその方法を提供することである。
【0012】
【課題を解決するための手段】
上記課題を解決するために、本発明に係るデータ処理装置は、第1、第2のフレーム(またはフィールド)をそれぞれ構成する第1、第2の画像データを直交変換、例えばアダマール変換し、変換された各第1、第2の変換データを出力する変換手段と、前記変換手段に接続され、前記第1の画像データに対応する前記第1の変換データと、前記第2の変換データとを比較し、前記第1の画像データの動きを推定する推定手段と、前記推定手段から第2の画像データの予測値を求め、予測値と第1の画像データの差分を符号化する手段とを有する。
【0013】
好ましくは、推定手段は、第1の変換データの選択された幾つかの係数(例えば低周波)のみを用いて第2の変換データとブロックマッチングされる。つまり、アダマール変換を行うことにより、エネルギーの多くが低周波成分に集中され、少ない係数でブロックの主な特徴を表すことができ、マッチング処理に要される時間を削減することが可能となる。
【0014】
また、好ましくは、推定手段は、アダマール係数を用いた動き推定からサーチ領域を第2の画像データ内に定め、このサーチ範囲において第1画像データの動きベクトルを検出する。
【0015】
また、本発明に係るデータ処理方法は、第1、第2のフレームまたはフィールドをそれぞれ構成する第1、第2の画像データをそれぞれアダマール変換するステップと、前記第1の画像データに対応する第1の変換データと、前記第2の画像データに対応する第2の変換データとのマッチングを行い、最適なマッチング位置を示す動き推定情報を算出するステップと、前記動き推定情報に基づき動き補償された第2の画像データを出力するステップと、第1の画像データと前記動き補償された第2の画像データとの差分を符号化するステップを含むものである。
【0016】
好ましくは、動き推定情報を提供するために、第1、第2の変換データのマッチング後に、さらに、該マッチングの結果から第2の画像データのサーチ領域を特定し、第1の画像データをサーチ領域内でサーチするステップを含む。
【0017】
【作用】
本発明は、上述したように、高速ブロックマッチングの実行について、アダマール(Hadamard)変換に基づく動き予測を提案する。アダマール変換は、離散コサイン変換(DCT)に類似した直交変換であり、DCTは、画像信号の圧縮について非常に優れた変換を行うものの1つであると考えられている。アダマール変換は、係数を加算と減算だけで計算することができるので、DCTと比べて非常に少ない演算でよい。本発明のアルゴリズムは、以下の説明で示すように、サーチ精度をほとんど劣化させることなく、フルサーチと比較して1/5ないし1/10以下に演算量を低減させることができる。他の技術、つまり適応型インデッキシング(Adaptive Indexing)と結合させて、演算量を数10分の1程度にを減少させることができる。本発明のアルゴリズムの規則的なデータフロー及び簡単な制御は、特にシストリックアレイプロセッサのようなハードウェアへの実用化において、優れた効果を発揮することができる。
【0018】
【実施例】
以下、本発明の好適な実施例について説明する。
図1は、一般的な画像データ符号化回路の構成を示すブロック図である。現フレームを構成するディジタル画像データ12は、動き補償を施された参照フレームのディジタル画像データ14と減算器16により差分をとられ、離散コサイン変換部(DCT)18へ供給される。DCTによる変換を施されたデータは、量子化部20により、量子化され、そして、可変長符号化部22により符号化され、伝送される。
【0019】
また、量子化されたデータは、逆量子化部24へ供給され、逆量子化された後、IDCT26により逆DCT変換され、加算器28により画像データ14と加算される。加算器28からの画像データは、フレームメモリ30に供給され、1フレーム前(場合によっては、前のフィールドや、後のフレームまたはフィールドを参照することがある)の画像データとして出力されるようメモリ内に蓄積される。動き補償部32は、現フレームの画像データ12と、フレームメモリ30からの前フレームの画像データ34を受け取り、現フレーム内の16*16画素のブロックについて動きベクトルを求め、その動きベクトルによって動き補償された画像データ14(予測値)を減算器16へ供給する。
【0020】
本実施例による動き推定アルゴリズムは、アダマール変換を利用するものであり、これについて説明する。図2は、本実施例に係る動き補償部の内部構成を示すブロック図である。
【0021】
動き補償部32は、画像データについてアダマール変換を行うアダマール変換部110と、アダマール変換部110に接続された第1段階処理部120と、現フレーム及び前フレームの画像データを受け取り、かつ第1段階処理部120に接続された第2段階処理部130と、第2段階処理部130に接続された動き補償回路140とを有する。
【0022】
アダマール変換部110は、現フレーム(480*704画素)の画像データ12と、フレームメモリ30からの前フレーム(480*704画素)の画像データ34を受け取り、直交変換の一種であるアダマール変換を行う。アダマール行列は、変換行列の要素が+1または−1のため、変換を加減算だけで行うことができるという特徴を持つ(詳細は後述)。
【0023】
第1段階処理部120は、アダマール変換部110によって変換された係数データ112、114を受け取り、ブロックマッチングを行う。本実施例による第1段階処理部120は、現フレームの係数データ112から16*16画素のブロック(以下、ターゲットブロック)の係数データを抽出し、また、前フレームの係数データ114から垂直方向(−16,+15)、水平方向(−64,+63)のサーチウィンドウ内の係数データを抽出する。そして、ターゲットブロックについてのブロックマッチングを行い、マッチング位置を算出する。
【0024】
第2段階処理部130は、第1段階処理部120により得られたマッチング位置を受け取り、マッチング位置から前フレームの画像データ内にサーチウィンドウを特定し、ターゲットブロックについての最終的な動きベクトルを求める。ここでは、アダマール変換された係数データを用いるのではなく、一般のフルサーチと同様の画像データを用いた処理が実行される。
【0025】
動き補償回路140は、第2段階処理部130により検出された動きベクトルに応じた予測値、すなわち動き補償された画像データ14を減算器16(図1)へ供給するものである。
【0026】
以下に、(1)アダマール変換特性、(2)アダマール変換に基づく動き推定アルゴリズム、(3)本アルゴリズムの演算量、(4)MPEGテストシーケンスを用いたシミュレーション結果を詳細に説明する。
【0027】
(1)アダマール変換特性
画像X(i,j)(0≦i,j≦N−1)のブロックについての2次元アダマール変換は、次のように表される。
【数1】
〔F(u,v)〕=〔T〕〔X(i,j)〕〔T〕t 式(1)
【0028】
ここで、Tはアダマール変換行列である。次数N=2n のアダマール変換行列は、次式によって定義される。
【数2】
ここで、
【数3】
項km とlm は、kとlの2進表示の各ビット状態である。アダマール変換行列は、対称行列である。すなわち、〔T〕t =〔T〕である。8*8のブロックサイズのケースでは、Tは、以下のように表される。
【数4】
【0029】
本実施例では、8*8のブロックサイズを取り扱うこととする。ここで、式(4)は、連続的に順序付けされたアダマール変換行列であり、他方、式(2)は、自然型アダマール変換の定義であることに留意を要する。これらの2つのアダマール変換は、同一組の基底関数を有する同一の変換であるが、基底関数の順序に差異を生ずる。それ故、変換係数は、異なる順序で配置される。なお、以後の説明において、アダマール変換係数の要素のいかなる記載、例えば(0,2)要素のような記載は、式(4)の定義に対応するものとする。
【0030】
また、電力スペクトラムを解析するために、式(1)は次のように表される。
【数5】
〔f(w)〕=〔T’〕〔x(z)〕 式(5)
ここで、〔f(w)〕t =〔f00...f77〕,〔x(z)〕t =〔x00...x77〕,〔T’〕は式(2)から導出された64*64アダマール変換行列である。
【0031】
共分散は、以下のように定義される。
【数6】
【0032】
ここで、E( )は、統計上の期待値を表し、Rは画素領域の共分散行列である。式(6)の左辺をアダマール変換領域の電力スペクトラムとして定義する。マトリックスRの詳細は、画像信号と統計上の画像モデルの特性によって決定される。マトリックスRは独立マルコフ過程に従って設計され、自己相関係数ρを有するという最も簡単なケースを仮定すると、マトリックスRは次のように表される。
【数7】
ここで、iとjはマトリックスの座標を表し、Nはブロックのサイズ(=8)である。
【0033】
〔E(fft )〕の対角線上の要素は、入力画素信号に関して各アダマール変換係数に分配された平均電力を表す。図3は、自己相関係数ρ=0、95のケースで計算されたアダマール変換領域の電力スペクトラムを示すものである。同図に示すように、エネルギーが、低周波数のアダマール変換係数に集中していることがわかる。例えば、信号エネルギーの77%(0,0)の係数(直流(DC)要素)に集中し、信号エネルギーの91%が5つの低周波要素(0,0),(0,1),(0,2),(1,0)及び(2,0)に集中している。
【0034】
(2)アダマール変換に基づく動き予測アルゴリズム
上述したように、アダマール変換は、信号ブロックの特徴の大部分を、幾つかの低周波係数に集中させている。言い替えれば、ブロックのおおよその特徴は、ごく少数の係数によって表すことができる。つまり、アダマール変換領域内の低周波係数を用いて動き推定を実行できることを意味する。演算の複雑さの低減は、各ブロックの比較を実行するための少ない演算数によって達成することができる。
【0035】
本実施例のアダマール変換行列は、8行*8列で構成される。従って、例えば16*16のターゲットブロックは、図4に示すように、4つの8*8ブロックに分割され、そして、各ブロックは図5に示すようにアダマール変換される(図中、マーク“O”は、低周波係数の選択例を示す)。
【0036】
こうして、第1段階処理部110は、係数データ112から取り出された16*16のターゲットブロックと、前フレーム内の所定のサーチウィンドゥとの間で、係数データを比較することによりブロックマッチングを行う。ターゲットブロックの係数の内、マッチングに供されるのは、低周波係数だけであり、例えば、上述した5つの要素(0,0),(0,1),(0,2),(1,0)及び(2,0)が用いられる(図5のマークを付けられた要素)。ターゲットブロックのマッチングに、どの低周波要素を用いるかは、予め設定しておく必要がある。こうして、8*8のブロックについての最小のひずみ(Distortion)を有するマッチング位置(V’x'V’y )が低周波アダマール変換係数の絶対誤差の合計を用いて検出される。
このひずみ関数は、以下のように表される。
【0037】
【数8】
ここで、
【数9】
【0038】
16*16のターゲットブロックのマッチング位置は、式(8)により求められた8*8の4つのブロックについてのひずみDの和として定義される。このように、選択された低周波要素に対応する少数の組み合わせを計算するだけで、マッチング位置の検出が可能となる。
【0039】
通常は、第1段階の処理結果として、ベストに近いマッチングを達成することができる。しかしながら、第1段階では、低周波係数だけしか考慮していないため、(V’x'V’y )とベストマッチ位置との間で、わずかな不一致を生じさせるかもしれない。このような理由から、本実施例では、第2段階において近隣フルサーチを実行する。フルサーチは、画素間の絶対誤差の合計の最小を求める方法である。
【0040】
第2段階処理部120は、現フレームと前フレームの画像データ12、34と、第1段階処理部110で求められたマッチング位置(V’x'V’y )を受け取り、当該マッチング位置の近隣においてフルサーチを実行する。サーチ範囲は、(V’x'V’y )の近隣の垂直及び水平方向(−2、+2)である。つまり、第1段階で求められたマッチング位置を基準として、その近隣の範囲において、さらに、画素精度(場合によっては、半画素精度)のマッチングを行うことにより、より高精度の動き予測を可能にする。
こうして最終的なマッチングによりターゲットブロックの動きベクトルが求められる。動き補償回路140は、第2段階処理部130からの動きベクトルを受け取り、動き補償された前フレームの画像データ14を出力する。
【0041】
(3)本実施例に係るアルゴリズムの演算量
本実施例によるアルゴリズムでは、一連の加算と減算を実行しなければならない。式(4)に示す2√2の除算は必要ではない、なぜなら、2√2の除算なしで同一の動きベクトルを得ることができるからである。フルサーチもまた、一連の加算と減算を必要とするだけである。こうして、従来のフルサーチと比較した場合の、本アルゴリズムによる加減算数を演算の複雑さとして考えることができる。
【0042】
後述のシミュレーション条件は、画像サイズを480*704、ブロックサイズを16*16、サーチ範囲を垂直方向(−16,+15);水平方向(−64,+63)、サーチを画素精度(整数サーチのみ)とし、これに対応するアルゴリズムの演算の複雑さを求める。
【0043】
図6は、使用された係数とアルゴリズムの高速化ファクター間の関係をまとめたものである。ここで、第1段階で使用された低周波係数が、8*8ブロックについて、3つの(0,0),(0,1),(1,0)であれば、使用された係数の数は、16*16のブロックサイズ全体で12(=3*4)となる。高速化ファクターは、同じフルサーチ範囲のフルサーチを“1”とした場合の時間比を表すものであり、例えば“18.3”であれば、フルサーチの1/18.3の処理時間を意味する。高速化ファクターの上限は、256を、使用された係数の数で割った値であり、使用された数が“12”であれば、21.3となり、フルサーチの1/21.3の処理時間が限界であることを意味する。つまり、高速化ファクターは、上限のファクターから、第1段階処理以外の例えば、第2段階処理やアダマール係数の計算、その他の処理に費やした時間を考慮したものである。
【0044】
本実施例のアルゴリズムでは、いかなるケースにおいても、幾つかの低周波係数を使用するだけであり、係数は前処理によって効果的に計算され、演算の複雑さは、主に、式(8)でカウントされるべきアダマール変換係数の数によって決定される。選択されたアダマール変換係数及び近隣フルサーチについてのオーバーヘッド計算は、後述するようにかなり少ない。
【0045】
以下の説明では、(0,0),(0,1),(0,2),(1,0)及び(2,0)の5つの係数を選択した場合についての演算の複雑さ(演算量)を求める。なお、他の係数を選択した場合についても、同一の方法により計算される。
【0046】
先ず、本実施例のアルゴリズムでは、同一のアダマール変換係数が繰り返し使用されることを理解しておく必要がある。これは、以下の2つの理由によるものである。
(イ)1ブロック及び他のブロックについてのサーチ範囲が互いに重複する。参照フレーム内のある画素は、最大27ブロックで、サーチ範囲内に存在する。
(ロ)16*16ブロックが8*8ブロックに分割される。従って、サーチ範囲内の8*8ブロックは、最大4つのマッチング位置で使用される。
【0047】
従って、8*8ブロックのすべてにおいて、前処理として、予め必要なアダマール変換係数のすべてを計算しておくことが望ましい。参照される前フレームには、全体で473*697個の8*8ブロックが存在する。
【0048】
次に、アダマール変換係数についての合理的な求め方について説明する。図7は、8*8アダマール変換の基底関数の1部を示すものである。同図において、例えば、(0,0)は、アダマール変換の直流成分であり、画像データの各画素値の合計に1/8を掛けたものに等しい。(1,0)は、上述したようにアダマール変換の低周波係数であり、これは、4行*8列の上半分の画像データの各画素値の合計に1/8を乗じたもの(白い部分)から、黒い部分で示す4行*8列の下半分の画像データの各画素値の合計に1/8を乗じたものを減算した値に等しい。
【0049】
このような点に鑑み、アダマール変換係数を計算するために、最初に、参照フレーム内のすべての8*8ブロックについて、1*8,8*1,2*8,8*2,4*8及び8*4サブブロックの画素値の合計を計算しておくことが望ましい。そして、これらのサブブロックの値の適当な組み合わせの加減算により、適宜所望のアダマール変換係数を容易に求めることができる。その際、同一のサブブロックの値は、同一の8*8ブロックの他のアダマール変換係数の計算、さらに、他の8*8ブロックのアダマール変換係数の計算にも用いることが可能である。
【0050】
図8は、上記方法によるアダマール変換係数を計算するためのデータフローを示すものである。参照フレームの8*8ブロックの各画素データ210について、8*1のサブブロック220の画素値の合計を求め、この合計を利用して8*2のサブブロック230の合計を求め、さらに、8*2の合計を利用して8*4のサブブロック240の合計を求める。1*8、2*8、4*8のサブブロック250、260、270についても同様である。こうして、これらのいくつかのサブブロックの値を加算、または減算することにより、アダマール変換係数データ280が求められる。
【0051】
また、サーチウィンドゥ内の16*16の参照ブロック(8*8に分割)と、ターゲットブロック(8*8に分割)とのマッチングを行い、引き続き、サーチウィンドゥ内で参照ブロックを1画素分水平にシフト(場合によっては、これ以外の水平及び垂直シフト)させて、次のマッチング計算が行われる。この場合、参照ブロック内の1*8のサブブロックを例にとると、先に用いられた1*8のサブブロックが、次のマッチングで、1列分水平シフトされた1*8のサブブロックの値が必要となる。しかし、一度、1*8サブブロックの値が計算されれば、同一行の次の1*8サブブロックの値は、前に計算された値から1回の減算及び1回の加算で求めることができる(図9参照)。つまり、
【数10】
が計算されると、次のサブブロックの値I(1)は、I(0)−X(0)+X(8)でよい。こうしたアダマール変換係数は、上述したように、予め計算して求めておくので、マッチング毎に計算を行う必要はない。
【0052】
ここで、フレーム内のすべての1*8サブブロックの値についての計算回数を求めると、
【数11】
(7+2*696)*480=671,520 式(10)
8*1サブブロックについての計算は、
【数12】
(7+2*472)*704=669,504 式(11)
2つの1*8サブブロックの値の合計から得られた2*8サブブロックの値と、2つの8*1サブブロックの値の合計から得られた8*2サブブロックの値についての計算回数は、それぞれ以下のようである。
【0053】
【数13】
697*479=333,863 式(12)
【数14】
473*703=332,519 式(13)
2つの2*8サブブロックの値の合計から得られた4*8サブブロックの値と、2つの8*2サブブロックの値の合計から得られた8*4サブブロックの値についての計算回数は、それぞれ以下のようである。
【数15】
697*477=332,469 式(14)
【数16】
473*701=331,573 式(15)
【0054】
5つの選択されたアダマール変換係数を計算するために、各8*8ブロックについて、7回の加算または減算を必要とする。つまり、要素(0,0)は、2つの8*4サブブロック(あるいは4*8サブブロック)の加算、要素(0,1)は、2つの8*4サブブロックの減算、要素(0,2)は、1つの8*4サブブロックと2つの8*2サブブロックとの加減算、要素(1,0)は、2つの4*8サブブロックの減算、要素(2,0)は、1つの4*8サブブロックと2つの2*8サブブロックとの加減算から求められる。
【0055】
こうして、参照フレーム内のアダマール変換係数を計算すると、
【数17】
7*473*697=2,307,767 式(16)
全体で、
【数18】
671,520+669,504+333,863+332,519+33
2,469+331,573+230,7767=4,979,215式(17)
【0056】
これは、1フレーム内の選択されたアダマール変換係数(5つの低周波係数)についての計算時間である。従って、1つの動きベクトルについてのアダマール変換の計算時間は、次式に等しい。
【数19】
【0057】
次に、現フレームの4つの8*8ブロックに分割される16*16ターゲットブロックの係数についての計算回数を求める。1*8と8*1の各サブブロックの値は7回の加算によって計算される。従って、1つの8*8ブロック内の8つの1*8と8*1サブブロックの値の計算回数は、
【数20】
7*8*2=112 式(19)
2つの1*8サブブロックの値の加算から得られる4つの2*8サブブロックと、2つの8*1サブブロックの値の加算から得られる4つの8*2サブブロックについての計算回数は、
【数21】
4*2=8 式(20)
2つの2*8サブブロックの値の加算から得られる3つの4*8サブブロックと、2つの8*2サブブロックの値の加算から得られる3つの8*4サブブロックについての計算回数は、
【数22】
3*2=6 式(21)
【0058】
上記サブブロックの値から選択されたアダマール係数を計算するため、7回の計算を要する。
こうして、4つの8*8ブロックに分割される現在のブロックの係数についての計算回数は、
【数23】
(112+8+6+7)*4=532 式(22)
以上のようにして、アダマール変換の計算回数が求められる。
アダマール変換領域における第1段階の比較では、
【数24】
(5*4)*2*32*128=163,840 式(23)
(32*128サーチ位置の各々について5*4の加算と5*4の減算)
第2段階における(−2,+2)近隣のフルサーチについて、
【数25】
256*2*5*5=12,800 式(24)
(5*5サーチ位置の各々について256の加算と256の減算)
【0059】
こうして、動きベクトルについてのアダマール変換に基づく動き推定の計算回数は、式(18)+式(22)+式(23)+式(24)である
【数26】
3772.1+532+163,840+12,800=180,944.1式(25)
他方、同一サーチウィンドウに対するフルサーチの計算回数は、
【数27】
256*2*32*128=2,097,152 式(26)
こうして、高速化ファクターは、
【数28】
【0060】
式(25)に示すように、計算回数の大部分は第1段階のアダマール変換領域のマッチングに要され、高速化ファクターの上限を決定する。この場合、例えば、高速化ファクターの上限が12.8(=256/20)である。実際に、高速化ファクターは、アダマール変換と近隣フルサーチのオーバーヘッド計算により、12.8から11.6へわずかに減少する。
【0061】
ここで、1つの動きベクトルについて選択されたアダマール変換係数に、3771.1+532=4304.1の計算回数を要することに留意すべきである(式(18)(22))。1つの動きベクトルについて32*128=4096のサーチ位置を有する。これは、1つのサーチ位置についてアダマール変換の必要とされる計算回数が、わずか4304.1/4096=1.05であることを意味する。ブロックごとの比較による計算回数である、(5*4)*2=40(式23)よりもはるかに小さい値である。
【0062】
(4)シミュレーション結果
シミュレーションは、7つのMPEGテストシーケンスの各2フレームについて合計14フレームを対象に行われ、各フレームを直前のフレームで補償するようにした。シミュレーションの条件は、以下のようにMPEG標準の単純化したものであった。
【0063】
予測モード:フレームモード、
画像サイズ:480*704、
ブロックサイズ:16*16、
サーチ範囲:垂直方向(−16.+15)、水平方向(−64,+63)、
【0064】
(1)画素精度(整数サーチ)
シミュレーションについては、画像シーケンスのインタレース構造を考慮して、第1段階において3つのケースの係数パターン群を実行することとした。インタレース構造は、(7,0)係数(図7参照)において大きなエネルギーを発生するものである。テストされた3つのケースを以下に示す(図10参照)。
【0065】
(a)対称−12,対称−20,対称−28,対称−36,対称−44;
対角線に関して対称となるように、(0,v)と(u,0)要素の同一数を使用するものである。数字は、第1段階の16*16ブロックにつき使用されるアダマール変換係数の数を意味する。例えば、“12”は、各8*8ターゲットブロックにおいて、使用する係数を3つ選択したことを意味し、同様に“20”であれば係数を5つ選択したことを意味する。
【0066】
(b)非対称−16,非対称−24,非対称−32,非対称−40,非対称−48;
8*8アダマール変換係数マトリックスにおいてもう1つの(u,0)要素を使用したものである。
【0067】
(c)対称+(7,0)−16,対称+(7,0)−24,対称+(7,0)−32,対称+(7,0)−40,対称+(7,0)−48
アダマール変換係数マトリックスに、低周波数要素(0,v)と(u,0)と同一の数を使用するとともに、(7,0)要素を使用するものである。言い替えれば、上記(a)の対称のものに、(7,0)を加えたものである。
【0068】
なお、図10(a)は対称−20、(b)は非対称−24、(c)は対称+(7,0)−24を示し、マーク“O”が使用される係数を示す。
図11は、サーチ精度劣化と使用されたアダマール変換係数の数との間の関係をdBスケール上に示すものである。ここでは、“FOOTBALL”のフレーム#132、#133と、“BICYCLE”,“CAR”,“CHEERLEADERS”,“FLOWER GARDEN”,“MOBILE&CALENDAR”,“TABLE TENNIS”のフレーム#2、#3の14フレームについて動き補償を行った。
【0069】
サーチ精度は、14フレームのすべてを通じての補償されたフレームと、原フレームの画素間の自乗誤差の和によって測定され、フルサーチのものと対比される。自乗誤差の和の測定は粗いが、簡単でかつエンコーダに依存しない測定法である。フルサーチは、図11には示されないが、0.0dB−256に対応する。1/4または1/8の画素サブサンプリング法の後に(−2,+2)近隣フルサーチを行った場合(つまり、第1段階のアダマール領域でのマッチングを画素サブサンプリングによるマッチングに置き換えることを意味する)についても比較のために図11に示してある。これらは、横軸の64と32にそれぞれ対応する。アダマール変換に基づく動き推定は、画素サブサンプリング方法よりも少ない計算で、より優れたサーチ精度を達成することができるということがわかる。
【0070】
本実施例において、さらに他の計算低減方法を有する技術、いわゆる適応型インデックシング技術を組み合わせた場合のシミュレーションを実行した。この技術によって、サーチ範囲内の各2または4(もしくはそれ以上)の位置が、周囲のブロックの動きベクトルを参照しながら第1段階でサーチされる。換言すれば、第1段階の動きフィールドがサブサンプリングされる。どのサブサンプリング格子が第1段階で選択されるべきかということを決定することに関し、周囲のロックで得られた動きベクトルを参照することによって、第1段階で最小位置がサーチされる可能性が大きくなる。こうして、サーチ精度は、サーチ範囲内のすべての位置が第1段階でサーチされるケースに近づくように保たれる。第2段階の近隣フルサーチは、アダマール変換に基づく動き推定のみの場合と同一の方法として適用される。シミュレーションは、アダマール変換に基づく動き推定のみのケースにおいて比較的良い精度を示した。係数パターンの6つのケース、非対称−16、対称−20、対称+(7,0)−24、32、40、48について実行された。図12は、第1段階での1/2,1/4及び1/8サーチ位置でのケースのシミュレーション結果を示すものである。すべての位置が第1段階でサーチされたケース(1/1)の結果も示してある。アダマール変換に基づく動き推定と適用型インデックシング技術の組み合わせのアルゴリズムは、フルサーチに近いサーチ精度を達成することができ、その一方で、計算の複雑さを数10倍減少することができる。例えば、計算が1/18で劣化が0.12dB、計算が1/36で劣化が0.18dBである。
【0071】
尚、本実施例では、1フレーム前の画像データを参照フレームとして用いたが、これに限らず、前のフィールドや、後のフレームあるいはフィールドを参照フレームまたは参照フィールドとして用いることも可能である。
また、本実施例によれば、MPEG−1やMPEG−2(16*16画素、または8*16画素のブロックサイズを処理単位とする)に利用することも可能である。
【発明の効果】
本発明において、アダマール変換に基づく動き推定は、高速ブロックマッチングアルゴリズムに対する解決として提案されたものである。本発明の動き予測アルゴリズムは、高速性、規則性、単純化、及び優れた精度の点で利点を有する。アダマール変換に基づく動き推定と適応型インデックシング技術の組み合わせは、ほとんどサーチ精度を損なうことなく、数10倍程度計算の複雑さを低減することができる。実際に、高速化ファクターは、達成される精度にほとんど反比例する。また、本発明のアルゴリズムは、シストリックアレイアーキテクチャーに適するもので、それは、その規則性及び単純性によるものである。このアルゴリズムをハードウェア実装に適用することで、低コスト、高品質ビデオエンコーダが近い将来に現実の技術となることが期待できる。
【図面の簡単な説明】
【図1】一般的な画像データ符号化回路の構成を示すブロック図。
【図2】本実施例の動き補償部の内部構成を示すブロック図である。
【図3】自己相関係数ρ=0.95の場合におけるアダマール変換領域の電力スペクトラムを示す図。
【図4】16*16ブロックが4つの8*8ブロックに分割された状態を示す図。
【図5】各8*8ブロックがアダマール変換された状態を示す図。
【図6】使用されたアダマール係数とアルゴリズムの高速化ファクター間の関係を示す図。
【図7】8*8アダマール変換の基底関数の1部を示す図。
【図8】本実施例におけるアダマール変換係数を計算するためのデータフローを示す図。
【図9】1*8サブブロックの値の計算方法を示す図。
【図10】シミュレーションに用いたアダマール変換係数の例を示す図。
【図11】サーチ精度劣化と使用されるアダマール変換係数の数との関係を示す図。
【図12】アダマール変換に基づく動き推定と適応型インデックシング技術の組み合わせにおけるサーチ精度劣化と高速化ファクターとの関係を示す図である。
【符号の説明】
12、34 画像データ
32 動き補償部
110 アダマール変換部
120 第1段階処理部
130 第2段階処理部
140 動き補償回路
Claims (1)
- 第1及び第2の画像データを受け取り、前記第1及び第2の画像データを夫々第1及び第2のアダマール変換データに変換するアダマール変換手段と、
前記第1のアダマール変換データから選択された低周波係数を用いて前記第1及び第2のアダマール変換データのブロックマッチングを行いマッチング位置を検出する第1処理手段と、
前記マッチング位置、並びに前記第1及び第2の画像データを受け取り、前記第2の画像データの前記マッチング位置の近隣のフルサーチを実行することによって前記第1の画像データのターゲットブロックの動きベクトルを求める第2処理手段と、
前記第1の画像データ及び前記動きベクトルによって補償された第2の画像データ間の差分を符号化する符号化手段
を含むデータ処理装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP21006194A JP3655651B2 (ja) | 1994-09-02 | 1994-09-02 | データ処理装置 |
| US08/523,735 US5815602A (en) | 1994-09-02 | 1995-09-05 | DCT image compression and motion compensation using the hadamard transform |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP21006194A JP3655651B2 (ja) | 1994-09-02 | 1994-09-02 | データ処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0884337A JPH0884337A (ja) | 1996-03-26 |
| JP3655651B2 true JP3655651B2 (ja) | 2005-06-02 |
Family
ID=16583173
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP21006194A Expired - Lifetime JP3655651B2 (ja) | 1994-09-02 | 1994-09-02 | データ処理装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5815602A (ja) |
| JP (1) | JP3655651B2 (ja) |
Families Citing this family (24)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5825676A (en) * | 1994-09-30 | 1998-10-20 | Canon Kabushiki Kaisha | Orthogonal converting apparatus |
| US6380934B1 (en) * | 1998-11-30 | 2002-04-30 | Mitsubishi Electric Research Laboratories, Inc. | Estimating targets using statistical properties of observations of known targets |
| US6625216B1 (en) * | 1999-01-27 | 2003-09-23 | Matsushita Electic Industrial Co., Ltd. | Motion estimation using orthogonal transform-domain block matching |
| US7221795B2 (en) * | 2000-06-02 | 2007-05-22 | Japan Science And Technology Corporation | Document processing method, recording medium having recorded thereon document processing program, document processing program, document processing apparatus, and character-input document |
| US7242717B2 (en) * | 2001-06-08 | 2007-07-10 | Sharp Laboratories Of America, Inc. | Wavelet domain motion compensation system |
| US6888891B2 (en) * | 2002-01-09 | 2005-05-03 | Octa Technology, Inc. | Wavelet domain half-pixel motion compensation |
| US6996292B1 (en) * | 2002-04-18 | 2006-02-07 | Sandia Corporation | Staring 2-D hadamard transform spectral imager |
| US7231090B2 (en) * | 2002-10-29 | 2007-06-12 | Winbond Electronics Corp. | Method for performing motion estimation with Walsh-Hadamard transform (WHT) |
| NO318318B1 (no) * | 2003-06-27 | 2005-02-28 | Tandberg Telecom As | Fremgangsmate for forbedret koding av video |
| JP4652698B2 (ja) * | 2004-02-23 | 2011-03-16 | 独立行政法人科学技術振興機構 | 画像認識装置、画像認識方法及びプログラム |
| CN1926884A (zh) * | 2004-03-01 | 2007-03-07 | 皇家飞利浦电子股份有限公司 | 视频编码方法和装置 |
| JP4476104B2 (ja) | 2004-04-22 | 2010-06-09 | 三洋電機株式会社 | 符号化回路 |
| US20050276493A1 (en) * | 2004-06-01 | 2005-12-15 | Jun Xin | Selecting macroblock coding modes for video encoding |
| JP4501676B2 (ja) | 2004-12-22 | 2010-07-14 | 日本電気株式会社 | 動画像圧縮符号化方法と動画像圧縮符号化装置並びにプログラム |
| JP4501675B2 (ja) * | 2004-12-22 | 2010-07-14 | 日本電気株式会社 | 動画像圧縮符号化方法と動画像圧縮符号化装置並びにプログラム |
| EP1833259A4 (en) * | 2004-12-28 | 2011-01-19 | Nec Corp | PICTURE CODING DEVICE, PICTURE CODING METHOD AND PROGRAM THEREFOR |
| US20060227874A1 (en) * | 2005-03-29 | 2006-10-12 | Anand Tongle | System, method, and apparatus for DC coefficient transformation |
| US7965774B2 (en) * | 2006-01-06 | 2011-06-21 | International Business Machines Corporation | Method for visual signal extrapolation or interpolation |
| US8331448B2 (en) * | 2006-12-22 | 2012-12-11 | Qualcomm Incorporated | Systems and methods for efficient spatial intra predictabilty determination (or assessment) |
| TWI360341B (en) * | 2007-11-26 | 2012-03-11 | Univ Nat Kaohsiung Applied Sci | Data encryption method using discrete fractional h |
| KR101487685B1 (ko) * | 2008-11-21 | 2015-01-29 | 삼성전자주식회사 | 이미지 처리장치, 이미지 처리방법 및 처리방법을 실행시키기 위한 프로그램을 저장한 기록매체 |
| JP5141633B2 (ja) * | 2009-04-24 | 2013-02-13 | ソニー株式会社 | 画像処理方法及びそれを用いた画像情報符号化装置 |
| JP5375676B2 (ja) * | 2010-03-04 | 2013-12-25 | 富士通株式会社 | 画像処理装置、画像処理方法、および画像処理プログラム |
| CN113280963B (zh) * | 2021-05-26 | 2022-06-21 | 河海大学 | 一种基于改进s变换的实时索力识别方法 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5134477A (en) * | 1990-12-11 | 1992-07-28 | At&T Bell Laboratories | Hdtv receiver |
| US5488482A (en) * | 1992-01-29 | 1996-01-30 | Mitsubishi Denki Kabushiki Kaisha | High-efficiency encoder and video information recording/reproducing apparatus |
| JP2636622B2 (ja) * | 1992-03-13 | 1997-07-30 | 松下電器産業株式会社 | ビデオ信号の符号化方法及び復号化方法ならびにビデオ信号の符号化装置及び復号化装置 |
| JP2778412B2 (ja) * | 1993-05-20 | 1998-07-23 | 国際電信電話株式会社 | 動き補償フレーム間コンポジットtv信号直接符号化装置 |
| US5644361A (en) * | 1994-11-30 | 1997-07-01 | National Semiconductor Corporation | Subsampled frame storage technique for reduced memory size |
-
1994
- 1994-09-02 JP JP21006194A patent/JP3655651B2/ja not_active Expired - Lifetime
-
1995
- 1995-09-05 US US08/523,735 patent/US5815602A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| US5815602A (en) | 1998-09-29 |
| JPH0884337A (ja) | 1996-03-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3655651B2 (ja) | データ処理装置 | |
| JP4528441B2 (ja) | ブロック整合法及び統合投射法を用いた階層的動き評価処理及び装置 | |
| JP3768507B2 (ja) | 直交変換−ドメインブロックマッチングを用いる動き推定 | |
| EP1262073B1 (en) | Methods and apparatus for motion estimation using neighboring macroblocks | |
| EP0637894B1 (en) | Apparatus and method for detecting motion vectors to half-pixel accuracy | |
| KR0171146B1 (ko) | 특징점을 이용한 움직임 벡터 검출 장치 | |
| US6483876B1 (en) | Methods and apparatus for reduction of prediction modes in motion estimation | |
| KR950009699B1 (ko) | 움직임벡터 검출방법 및 장치 | |
| US6430223B1 (en) | Motion prediction apparatus and method | |
| JPH09179987A (ja) | 動きベクトル検出方法及び動きベクトル検出装置 | |
| CN113301347A (zh) | 一种hevc高清视频编码的优化方法 | |
| JP4417054B2 (ja) | 離散コサイン変換係数を参照する動き推定方法及び装置 | |
| JPH11289544A (ja) | 動き検出装置およびその方法 | |
| KR100994768B1 (ko) | 동영상 부호화를 위한 움직임 추정 방법 및 이를 구현하기위한 프로그램이 기록된 기록 매체 | |
| WO2001049029A1 (en) | Methods and apparatus for motion estimation in compressed domain | |
| JPH11511621A (ja) | 階層的動き推定技術に基づいた最適動きベクトル決定方法及びその装置 | |
| JPH0974569A (ja) | 最適動きベクトル決定方法及び装置 | |
| RU2487489C2 (ru) | Способ поиска векторов перемещений в динамических изображениях | |
| JP3681784B2 (ja) | 映像信号符号化装置 | |
| WO2003056838A1 (en) | Moving picture compression/coding apparatus and motion vector detection method | |
| KR20030034923A (ko) | 움직임 벡터 추정 방법 및 이에 적합한 장치 | |
| JP2004064518A (ja) | 動画像符号化方法、動画像符号化装置、およびコンピュータプログラム | |
| WO2002032145A1 (en) | A hexagon-based fast search method for block motion estimation in video encoding | |
| KR20000018311A (ko) | 영상 시스템의 움직임 추정방법 및 장치 | |
| JPH10150665A (ja) | 予測画像の作成方法及び画像符号化方法及び画像符号化装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040521 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040819 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050121 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050201 |
|
| 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: 20050301 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050304 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080311 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090311 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100311 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110311 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110311 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120311 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130311 Year of fee payment: 8 |