JP4034180B2 - 動画像圧縮符号化装置、及び動きベクトル検出方法 - Google Patents
動画像圧縮符号化装置、及び動きベクトル検出方法 Download PDFInfo
- Publication number
- JP4034180B2 JP4034180B2 JP2002373296A JP2002373296A JP4034180B2 JP 4034180 B2 JP4034180 B2 JP 4034180B2 JP 2002373296 A JP2002373296 A JP 2002373296A JP 2002373296 A JP2002373296 A JP 2002373296A JP 4034180 B2 JP4034180 B2 JP 4034180B2
- Authority
- JP
- Japan
- Prior art keywords
- motion vector
- vector detection
- detection range
- motion
- moving image
- 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
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
【発明の属する技術分野】
本発明は、動画像を圧縮符号化するための動画像圧縮符号化装置と、その動きベクトル検出方法、記録媒体、及びプログラムに関する。
【0002】
【従来の技術】
動画像圧縮符号装置において、動きベクトル検出装置は、動きベクトルの検出精度を高めようとすると、ハードウェア規模が大きくならざるを得ない。そのため動きベクトル検出は、検出範囲は狭いが検出精度は高いモード、あるいは、検出範囲は広いが検出精度は低いモードで行われている。
【0003】
従来の動きベクトル検出装置を図10に示す(例えば、特許文献1参照。)101は動画像圧縮符号化器に現在のフレーム信号である参照フレーム信号を入力する参照フレーム信号入力端子で、102は動画像圧縮符号化器に1つ前のフレーム信号である予測フレーム信号を入力する予測フレーム信号入力端子である。103は検出範囲は広いが検出精度は低いモードで動きベクトル検出を行う広域動きベクトル検出器であり、104は検出範囲は狭いが検出精度は高いモードで動きベクトル検出を行う狭域動きベクトル検出器であり、105は広域動きベクトル検出器103と狭域動きベクトル検出器104とで得られた動きベクトル検出結果を比較評価する比較器であり、106は比較器105の比較結果に基づき、広域動きベクトル検出器103、あるいは狭域動きベクトル検出器104からの動きベクトル検出の結果いずれかを出力する切換器であり、107は広域動きベクトル検出器で検出した動きベクトルを出力する出力端子である。
【0004】
以上のように構成された従来の動きベクトル検出装置について、その動作について説明する。まず、参照フレーム信号入力端子101から入力した参照フレーム信号はローパスフィルタ108及びダウンサンプリング回路109を経て広域動きベクトル検出器103に入力される。それと共に、参照フレーム信号入力端子101から入力した参照フレーム信号は、狭域動きベクトル検出器104にも入力される。同様に、予測フレーム信号入力端子102から入力した予測フレーム信号はローパスフィルタ110及びダウンサンプリング回路111を経て広域動きベクトル検出器103に入力される。それと共に、予測フレーム信号入力端子102から入力した予測フレーム信号は、狭域動きベクトル検出器104にも入力される。それぞれの動きベクトル検出器103及び104で検出された動きベクトルは、比較器105で比較評価され、評価の高い方の動きベクトルを切換器106から出力端子107に出力される。
【0005】
しかしながら図10の動きベクトル検出装置の構成では、より適正な動きベクトルを検出するため動きベクトル検出範囲の数(以下、モード数と称す)を、例えば2つにすると、モード数が1つの場合に比べてハードウェア規模が増大する。
【0006】
すなわち、動きベクトル検出範囲の数を例えば検出範囲は狭いが検出精度は高い動きベクトルの検出範囲と、検出範囲は広いが検出精度は低い動きベクトル検出範囲との2つにすると、検出範囲は狭いが検出精度は高い狭域動きベクトル検出器104と、検出範囲は広いが検出精度は低い広域動きベクトル検出器103との2種類のハードウェアが必要になる。そして、それぞれの動きベクトル検出器について、同時に動きベクトル検出を実行する必要があり、2つの動きベクトル検出器103及び104それぞれに独立した動きベクトル検出回路が必須となり、動きベクトル検出回路等のハードウェア規模が大きくなるという課題があった。
【0007】
図10で説明した従来の動きベクトル検出装置の課題を解決するために、図11に示す動画像圧縮符号化装置が知られている(例えば、特許文献2参照。)。
【0008】
すなわち、図11は、従来の動画像圧縮符号化装置のブロック図である。図11において、301はDCT回路であり、302は量子化器であり、303は逆量子化器であり、304は逆DCT回路であり、305はフレームメモリであり、306は動き補償フレーム間予測回路であり、307Aは動き検出装置であり、308はフレーム内・フレーム間切り替え信号である。また、動き検出装置307Aは、バッファメモリ201、誤差計算回路202、誤差比較回路203、アドレス発生回路204からなる。
【0009】
以上のように構成された従来の画像符号化装置について、以下その動作を説明する。符号化の最初のフレーム、すなわち第1フレームは、フレーム内・フレーム間切り替え信号308により、フレーム内符号化に切り替えられ、差分が取られることなく、フレームごとにフレーム内符号化される。すなわち、画像データは、2次元ブロック単位でDCT回路301で変換係数に変換され、量子化器302で変換係数を量子化された後、伝送路に送出される。一般的に、画像は相関が高いため、DCTを行うと、低い周波数成分に対応する変換係数にエネルギーが集中する。したがって、視覚的に目立たない高い周波数成分を粗く、重要な成分である低い周波数成分を細かく量子化を行うことで、画質劣化を最小限にとどめ、かつデータ量を減らすことが可能となる。上記伝送路に送出した量子化後の変換係数は、同時に逆量子化器303、逆DCT変換回路304を経て実時間データに戻され、フレームメモリ305に蓄えられる。
【0010】
一方、第2フレーム以降の画像は、フレーム内・フレーム間切り替え信号308により、フレーム間符号化に切り替えられ、動き補償された上で前フレームの画像との差分が取られ、フレームごとにフレーム間の画像信号の差分が符号化される。つまり、フレームメモリ305に格納した前フレームの画像データと動き検出装置307Aで検出した2次元ブロック単位の動きベクトルとに基づいて第2フレーム以降の画像の予測値が動き補償フレーム間予測回路306で生成され、第2フレーム以降の画像と動き補償フレーム間予測回路306で生成された第2フレーム以降の予測値との差分である予測誤差が、2次元ブロック単位でDCT回路301で変換係数に変換され、量子化器302で変換係数を量子化された後、伝送路に送出される。上記伝送路に送出した量子化後の変換係数は、同時に逆量子化器303、逆DCT変換回路304を経て実時間データに戻し、フレームメモリ305に蓄える。
【0011】
つぎに、動き検出装置307Aについて詳しく説明する。この動き検出装置307Aでは、例えば良く知られた、全探索方法を用いて、2次元ブロック単位にフレーム間の動きベクトルを求める構成となっている。図12は動き検出装置307Aの動作を示す説明図で、以下、図12を参照しながら動き検出動作を説明する。図12において、311は第2フレームのある1つの2次元ブロックでm画素(水平方向)×n画素(垂直方向)の矩形ブロックからなる。312A,312Bは誤差計算を行うための第1フレームの2次元ブロックであり、大きさは2次元ブロック311と同じ大きさである。313は動き検出によって求めた動きベクトルで、2次元ブロック311の中心座標と2次元ブロック312Bの中心座標を結ぶものである。
【0012】
図12における二次元ブロック311は、第2フレームにおける中心座標(x,y,2) を有する2次元ブロックであり、二次元ブロックを中心座標に対応した記号S(x,y,2)で表す。また、2次元ブロック312A,312Bは第1フレームにおける中心座標(x,y,1) ,(x+mx,y+my,1) をそれぞれ有する2次元ブロックであり、同様に二次元ブロックを中心座標に対応した記号S(x,y,2),S(x+mx,y+my,1)で表す。ただし、xはフレームの中心を原点とする水平方向の画素座標を示し、yはフレームの中心を原点とする垂直方向の画素座標を示し、x,yの後の1,2の数字はフレーム番号を示す。また、314は動きベクトルを計算する2次元ブロックを示す矩形(水平方向2h、垂直方向2v)の動きベクトル検出範囲であり、xhは動きベクトル検出範囲の中心(図では、座標(x,y,1) )を原点とする水平方向の局部画素座標を示し、yvは動きベクトル検出範囲の中心(図では、座標(x,y,1) )を原点とする垂直方向の局部画素座標を示している。
【0013】
第2フレームの画像データは、フレーム間符号化されるときに、同時にバッファメモリ201に入力する。なお、第1フレームの画像データは、既にバッファメモリ201に格納されている。今、基準を第2フレーム(現フレーム)の2次元ブロック311とし、第1フレーム(前フレーム)の2次元ブロック312Bと第2フレーム(現フレーム)の2次元ブロック311の間の動きベクトル313を検出する。バッファメモリ201に入力した第1,第2フレームの画像は、m×n画素ずつの2次元ブロック単位で読み出し、2次元ブロック単位で動きベクトルを検出する。
【0014】
以下、座標を用いて動きベクトルの検出手順について、具体的に説明する。アドレス発生回路204により、第2フレームにおける中心座標(x,y,2) を有する2次元ブロックS(x,y,2)の画像データを読み出し、この2次元ブロックS(x,y,2)を基準ブロックにとり、以下の手順でこの基準ブロックと第1フレームとの間の動きを検出する。バッファメモリ201には上述したように第1フレームの画像データも格納してあり、つぎに第1フレームにおける中心座標(x,y,1) を有する2次元ブロックS(x,y,1)の各画像データを読み出す。誤差計算回路202では、前記2つの2次元ブロックS(x,y,2),S(x,y,1)における画像データの振幅の2乗誤差の和(以下、単に誤差という)σ(x,y)(0,0)を〔数1〕で計算し、誤差比較回路203に送る。
【0015】
【数1】
【0016】
次に、アドレス発生回路204は、第1フレームにおける水平方向1画素隣のm×nブロックすなわち中心座標(x+1,y,1) の二次元ブロックS(x+1,y,1)のアドレスを発生する。誤差計算回路202では、同様にσ(x,y)(+1,0) を計算し、誤差比較回路203に送る。誤差比較回路203では、σ(x,y)(0,0)とσ(x,y)(+1,0) を比較し、小さい方を選択する。以下同様に、−h<xh<h、−v<yv<vの範囲でアドレスを逐次変更しながら2次元ブロックの画像データを読み出し、σ(x,y)(xh,yv)を計算する。
【0017】
誤差比較回路203は、以上で計算された誤差σ(x,y)(xh,yv)から最小値をとる誤差σ(x,y)(mx,my)を選択し、同時にアドレスmx,myを出力する。したがって、2次元ブロックS(x,y,2)における動きベクトル213はmv(mx, my)となる。以下、第2フレーム内において、複数に分割された2次元ブロックの全てについて上記した動作を繰り返すことにより、第2フレーム内の全ての2次元ブロックの動きベクトルが求まる。
【0018】
動き補償フレーム間予測回路306は、第2フレームについて各2次元ブロック毎に検出した動きベクトルを用いて、第2フレームの動き補償した予測値を2次元ブロック単位で生成する。第2フレームの画像は、まず第1フレームの画像データと第2フレームの動きベクトルから上述した方法で生成した予測値との差分、すなわち予測誤差を計算する。その後、前述した予測誤差をフレーム毎に、第1フレームと同様の方法で符号化する。
【0019】
以上のような構成により、現フレームを分割した2次元ブロックの位置を中心とする前フレームの所定の動きベクトル検出範囲内で、現フレームを分割した2次元ブロックと同じ大きさの2次元ブロックの画像データを逐次位置を変更しながら抽出し、前フレームの所定の動きベクトル検出範囲内の各2次元ブロックの画像データと現フレームの分割した2次元ブロックの画像データとの誤差計算および前フレームの所定の動きベクトル検出範囲内の位置の異なる2次元ブロックについての誤差比較を行うことにより、現フレームを分割した2次元ブロックに対して画像データの誤差がもっとも最も少ない前フレームの所定の動きベクトル検出範囲内の2次元ブロックの位置を探索し、現フレームを分割した2次元ブロックの位置と現フレームを分割した2次元ブロックに対して画像データの誤差がもっとも最も少ない前フレームの所定の動きベクトル検出範囲内の2次元ブロックの位置とから現フレームを分割した2次元ブロックの前フレームからの画面上の動きを示す動きベクトルを計算することになる。
【0020】
以上の方法によれば、予測誤差を符号化することになるので、フレーム内符号化のように、画像データを直接符号化する場合に比べ、エネルギーが減少し、さらに高効率な符号化が可能となる。
【0021】
次に第3フレーム以降の動作について説明する。第3フレーム以降の各フレームの動きベクトルを計算する際に、前フレーム(第3フレームの場合には、第2フレーム)の動きベクトルを、画像の動きの大きさを示す時間的に前に検出された動きベクトル検出範囲決定用情報としてCPU205に入力し、以下に示すような演算処理を行って、アドレス発生回路204を制御することにより動きベクトル検出範囲を変更する。
【0022】
図13はCPU5の処理動作を示すフローチャートである。図13について説明すると、ステップ21で前フレーム(例えば、第2フレーム)の全2次元ブロックの動きベクトルを読み込み、ステップ22で通常時の動きベクトル検出範囲の水平方向の最大値hを示す動きベクトルの個数をカウントする。ステップ23で個数が全ブロックの50以上かどうかを判定し、個数が全ブロックの50%以上である場合には画像の動きが大きいものとして水平方向の動きベクトル検出範囲を例えば2hに拡大する。動きベクトル検出範囲を2倍に拡大するためには、ステップ24に示したように誤差計算回路2への入力を1サンプル毎に間引いて、すなわち1/2にサブサンプルして入力するようにアドレス発生回路4を制御する。このようにすることにより、各2次元ブロック当たりの計算量は1/2になるので、動きベクトル検出範囲が2倍になっても、総計算量は動きベクトル検出範囲を広げない場合と等しくなる。また、ステップ25に示すようにh/2を超える動きベクトルの個数も同時にカウントしておき、ステップ26でh/2を超える動きベクトルの個数が10%以下であるか判定し、10%以下であるときは、動きが少ないものとして動きベクトル検出範囲をh/2とする。この場合には、誤差計算回路2へは間引かずに入力する(ステップ27)。なお、hを超える動きベクトルが50%未満で、かつh/2を超える動きベクトルの個数が10%を超えている場合は、動きベクトル検出範囲の変更を行わず、サブサンプリングは行わない。
【0023】
上記動作により、画像の動きが大きいときには計算量を増加させることなく動きベクトル検出範囲を広げることが可能となる。一般的に、サブサンプルした画像から動き検出を行うと、動きの検出精度が低下するため画質劣化につながる。しかしながら動きの大きな場合は、動きが追従しないことに起因する画質劣化の方が影響が大きいため、サブサンプルした画像であっても動きベクトル検出範囲を拡大した方が画質は向上する。また、動きの少ないときはサブサンプルしない画像で動き検出を行うので、画質劣化を生ずることはなく、さらに動きベクトル検出範囲を狭めているので、探索に要する処理時間を短くできる。
【0024】
このように、画像の動きに応じて動きベクトル検出範囲を変えることができ、大きな動きに対応することができてフレーム間差分を小さくすることができ、画質を劣化させない。しかも、動きベクトルの計算のための演算量が増えないので、動きベクトル演算のためのハードウェア量が増えることはない。
【0025】
【特許文献1】
特開平9−224249号公報
【特許文献2】
特開平10−23420号公報
【0026】
【発明が解決しようとする課題】
しかしながら図11で説明した従来の動画像圧縮符号化装置では、動きの大きな画像に対しては、適正な動きベクトルを検出することが出来ず、さらに適正な動きベクトル検出範囲を設定することが困難である。
【0027】
すなわち、図11で説明した従来の動画像圧縮符号化装置では、図14に示すように動きベクトル検出範囲320に対して、動きベクトル検出範囲320の最外周に乗っている動きベクトルPの個数が全ブロック数の50%以上になった場合に動きベクトル検出範囲320を拡大していた。すなわち、動きベクトル検出範囲320の最外周上に乗っている動きベクトルPのみを検出していた。ところが、動きベクトル検出範囲320の最外周に乗っている動きベクトルPよりも適正な動きベクトルが動きベクトル検出範囲320の外部に存在する可能性がある。このような場合であっても、図11で説明した従来の動画像圧縮符号化装置では、適正な動きベクトルを検出する代わりに動きベクトルPを検出して用いていた。
【0028】
すなわち、従来の動画像圧縮符号化装置では、動きの大きな画像に対しては、適正な動きベクトルを検出することが出来ず、さらに適正な動きベクトル検出範囲を設定することは困難であるという課題がある。
【0029】
本発明は、上記課題を考慮し、動きの大きな画像であっても適正な動きベクトルを検出することが出来、また、適正な動きベクトル検出範囲を設定することが出来る動画像圧縮符号化装置、動きベクトル検出方法、記録媒体、及びプログラムを提供することを目的とするものである。
【0030】
【課題を解決するための手段】
上述した課題を解決するために、第1の本発明は、入力動画像映像を1フレームに付きN(但し、Nは2以上の自然数)個に細分化したマクロブロック動画像信号を生成するマクロブロック生成手段(2)と、
前記マクロブロック動画像信号を圧縮符号化した後に復号化して復号化動画像信号を生成する符号復号化手段(18、17、3、4、9、10、19、20、11)と、
前記復号化動画像信号と前記マクロブロック動画像信号とから第1の動きベクトル検出範囲内で動きベクトルを検出する動きベクトル検出手段(12)と、
検出された前記動きベクトルのうち、前記第1の動きベクトル検出範囲の最外線である第1の最外線と、前記第1の動きベクトル検出範囲の内側にある第2の動きベクトル検出範囲の最外線である第2の最外線との間にある動きベクトルの数を第1の動きベクトルの数としてカウントする動きベクトルカウント手段(14、15、16)と、
カウントされた前記第1の動きベクトルの数に基づいて前記第1の動きベクトル検出範囲を拡大する動きベクトル検出範囲決定手段(13)とを備えた動画像圧縮符号化装置である。
【0031】
また、第2の本発明は、前記動きベクトルカウント手段(14、15、16)は、前記第2の動きベクトル検出範囲の内側にある第3の動きベクトル検出範囲内にある動きベクトルの数を第2の動きベクトルの数としてカウントし、
前記動きベクトル検出範囲決定手段(13)は、カウントされた前記第2の動きベクトルの数に基づいて前記第1の動きベクトル検出範囲を縮小する第1の本発明の動画像圧縮符号化装置である。
【0032】
また、第3の本発明は、前記動きベクトル検出範囲決定手段(13)は、カウントされた前記第1の動きベクトルの数が所定の閾値より多い場合、前記第1の動きベクトル検出範囲を拡大し、前記所定の閾値より小さい場合、前記第1の動きベクトル検出範囲を拡大しないまたは前記第1の動きベクトル検出範囲を変更しない第1の本発明の動画像圧縮符号化装置である。
【0033】
また、第4の本発明は、前記動きベクトル検出範囲決定手段(13)は、カウントされた前記第1の動きベクトルの数が多いほど前記第1の動きベクトル検出範囲の拡大率を大きくする第1の本発明の動画像圧縮符号化装置である。
【0034】
また、第5の本発明は、前記動きベクトル検出範囲決定手段(13)は、カウントされた前記第2の動きベクトルの数が多いほど前記第1の動きベクトル検出範囲の縮小率を大きくする第2の本発明の動画像圧縮符号化装置である。
【0035】
また、第6の本発明は、前記動きベクトル検出範囲決定手段(13)は、予め複数種類の動きベクトル検出範囲を有しており、
その複数種類の動きベクトル検出範囲から、カウントされた前記第1の動きベクトルの数が多いほど大きな動きベクトル検出範囲を選択して、前記第1の動きベクトル検出範囲とする第1の本発明の動画像圧縮符号化装置である。
【0036】
また、第7の本発明は、前記動きベクトル検出範囲決定手段(13)は、予め複数種類の動きベクトル検出範囲を有しており、
その複数種類の動きベクトル検出範囲から、カウントされた前記第2の動きベクトルの数が多いほど小さな動きベクトル検出範囲を選択して、前記第1の動きベクトル検出範囲とする第2の本発明の動画像圧縮符号化装置である。
【0037】
また、第8の本発明は、前記動きベクトル検出範囲決定手段(13)は、前記第1の動きベクトル検出範囲の更新を、Pフレーム毎に行う、またはPフレームをn個(但し、n≦Nの自然数)に分割した分割単位毎に行い、
前記第1の動きベクトル検出範囲が更新される際、前記動きベクトル検出範囲決定手段は、前記Pフレームのまたは前記分割単位のカウントされた前記第1の動きベクトルの数を、前記Pフレームにまたは前記分割単位に存在するマクロブロック動画像信号の数で割った数が、所定の閾値以上になった場合に、前記第1の動きベクトル検出範囲を拡大する第1の本発明の動画像圧縮符号化装置であるまた、第9の本発明は、前記動きベクトル検出範囲決定手段(13)は、前記第1の動きベクトル検出範囲の更新を、Pフレーム毎に行う、またはPフレームをn個(但し、n≦Nの自然数)に分割した分割単位毎に行い、
前記第1の動きベクトル検出範囲が更新される際、前記動きベクトル検出範囲決定手段は、前記Pフレームのまたは前記分割単位のカウントされた前記第2の動きベクトルの数を、前記Pフレームにまたは前記分割単位に存在するマクロブロック動画像信号の数で割った数が、所定の閾値以上になった場合に、前記第1の動きベクトル検出範囲を縮小する第1の本発明の動画像圧縮符号化装置である。
【0038】
また、第10の本発明は、前記動きベクトル検出手段は、前記第1の動きベクトル検出範囲を拡大する際、前記第2の動きベクトル検出範囲をも拡大する第1、3、4、6、8の本発明のいずれかの動画像圧縮符号化装置である。
【0039】
また、第11の本発明は、前記動きベクトル検出手段は、前記第1の動きベクトル検出範囲を縮小する際、前記第3の動きベクトル検出範囲をも縮小する第2、4、7、9の本発明のいずれかの動画像圧縮符号化装置である。
【0040】
また、第12の本発明は、入力動画像映像を1フレームに付きN(但し、Nは2以上の自然数)個に細分化して生成されたマクロブロック動画像信号を圧縮符号化した後に復号化して生成された復号化動画像信号と、前記マクロブロック動画像信号とから第1の動きベクトル検出範囲内で動きベクトルを検出する動きベクトル検出ステップと、
検出された前記動きベクトルのうち、前記第1の動きベクトル検出範囲の最外線である第1の最外線と、前記第1の動きベクトル検出範囲の内側にある第2の動きベクトル検出範囲の最外線である第2の最外線との間にある動きベクトルの数を第1の動きベクトルの数としてカウントする動きベクトルカウントステップと、
前記第1の動きベクトル検出範囲の最外線である第1の最外線と、前記第1の動きベクトル検出範囲の内側にある第2の動きベクトル検出範囲の最外線である第2の最外線であって、前記第1の最外線に隣接する1本もしくは複数本の第2の最外線との上にある動きベクトルの数である第1の動きベクトルの数をカウントする動きベクトルカウントステップと、
カウントされた前記第1の動きベクトルの数に基づいて前記第1の動きベクトル検出範囲を拡大する動きベクトル検出範囲決定ステップとを備えた動きベクトル検出方法である。
【0041】
また、第13の本発明は、第12の本発明の動きベクトル検出方法の、入力動画像映像を1フレームに付きN(但し、Nは2以上の自然数)個に細分化して生成されたマクロブロック動画像信号を圧縮符号化した後に復号化して生成された復号化動画像信号と、前記マクロブロック動画像信号とから第1の動きベクトル検出範囲内で動きベクトルを検出する動きベクトル検出ステップと、
検出された前記動きベクトルのうち、前記第1の動きベクトル検出範囲の最外線である第1の最外線と、前記第1の動きベクトル検出範囲の内側にある第2の動きベクトル検出範囲の最外線である第2の最外線との間にある動きベクトルの数を第1の動きベクトルの数としてカウントする動きベクトルカウントステップと、
カウントされた前記第1の動きベクトルの数に基づいて前記第1の動きベクトル検出範囲を拡大する動きベクトル検出範囲決定ステップとをコンピュータに実行させるためのプログラムである。
【0042】
また、第14の本発明は、第13の本発明のプログラムを担持した記録媒体であって、コンピュータにより処理可能な記録媒体である。
【0043】
【発明の実施の形態】
以下に本発明の実施の形態を図面を参照して説明する。
【0044】
本発明の実施の形態によれば、例えば動きベクトル検出部(手段)で検出した動きベクトルに基づき適応的に求めた動きベクトル検出範囲を、当該動きベクトル検出部(手段)に帰還する構成を備えるため、動きベクトル検出部(手段)による動きベクトルを検出する動きベクトル検出範囲を、入力動画像映像の動きに合わせて設定することができ、より適正な動きベクトルを検出するため動きベクトル検出範囲数(すなわち、モード数)が複数存在する場合であっても回路規模を増大することなく、かつ動きベクトルの検出に際しての精度を向上することができる。
【0045】
また、本発明の実施の形態によれば、例えば入力動画像映像を細分化した単位で動きベクトル検出範囲を動きベクトル検出部に帰還する構成を備えるため、例えば1フレーム等の入力動画像映像のまとまった単位で入力動画像映像の動きに合わせた動きベクトル検出範囲を動きベクトル検出部に適切に設定でき、精度の高い動きベクトル検出範囲の設定を簡略化することができる。
【0046】
また、本発明の実施の形態によれば、例えば、適応的に求めた動きベクトル検出範囲の結果を参照し、予め複数種類備えた動きベクトル検出範囲から実際に適用する動きベクトル検出範囲を選択する構成を備えるため、動きベクトル検出部に設定する動きベクトル検出範囲の更新を入力動画像に応じて当該複数種類から自由に合わせることができ、例えば好み等の使用者の意図に合わせた動きベクトル検出が達成できる。また、動きベクトル検出部に設定する動きベクトル検出範囲を、入力動画像映像の動きに合わせた例えば使用者の意図に合わせた動きベクトル検出が達成できる。
【0047】
また、本発明の実施の形態によれば、例えば、帰還手段が動きベクトル検出範囲決定手段で決定した動きベクトル検出範囲を、動きベクトル検出手段及び切換領域生成手段に帰還する構成を備えるため、動きベクトル検出範囲の設定をより入力動画像映像の動きの速さに追従して決定でき、入力動画像映像の動きに合わせた動きベクトル検出範囲の即時性を高めることができる。
【0048】
また、本発明の実施の形態によれば、例えば、(動きベクトルが動きベクトル切換領域に存在する数)/(n個の期間に存在するマクロブロック数)が所定の閾値以上になった時、動きベクトル検出範囲を切り換え、切り換えた動きベクトル検出範囲を動きベクトル検出手段と切換領域生成手段とに帰還する構成を備えるため、入力動画像映像の符号化に際して発生符号量の削減ができ、入力動画像映像の動きに合わせた動きベクトルの検出をより高速化できる。
【0049】
(第1の実施の形態)
図1は本発明の第1の実施の形態における動画像圧縮符号化装置の構成を示すブロック図であり、MPEG(Moving Pictures Experts Group)方式の場合を示した例である。1は入力端子であり、2はフレーム並べ替え器であり、3は離散コサイン変換(以下、DCTと称す)器であり、4は量子化器であり、5は可変長符号化器であり、6はバッファメモリであり、7は出力端子であり、8はレート制御器であり、9は逆量子化器であり、10は逆DCT器であり、11はフレームメモリであり、12は予測器であり、13は検出範囲決定器であり、14は切換領域決定器であり、15は比較器であり、16はカウンタであり、17は減算器であり、18は切換スイッチであり、19は加算器であり、20はスイッチである。
【0050】
なお、本実施の形態のフレーム並べ替え器2は本発明のマクロブロック生成手段の例であり、本実施の形態の切替スイッチ18、減算器17、DCT器3、量子化器4、逆量子化器9、逆DCT器10、加算器19、スイッチ20、及びフレーム目盛り11は本発明の符号復号手段の例であり、本実施の形態の予測器12は本発明の動きベクトル検出手段の例であり、本実施の形態の切換領域決定器14、比較器15、及びカウンタ16は本発明の動きベクトルカウント手段の例であり、本実施の形態の検出範囲決定器13は本発明の動きベクトル検出範囲決定手段の例である。
【0051】
以上のように構成した各ブロックの動作を説明する。入力端子1から入力する原画信号は、映像音声信号の内予め音声信号と映像信号とに分離した映像信号である。映像信号は、フレーム並べ替え器2で一旦フレームに並べ替えた後、フレームを所定の画素数で細分化した単位(以下、マクロブロック単位と称す)の原画映像信号を、フレーム並べ替え器2で並べ替えた順番(以下、デコード順と称す)に切換スイッチ18に出力する。切換スイッチ18は、マクロブロック単位の原画映像信号(以下、マクロブロック動画像信号と称す)をそのまま出力するか、または、マクロブロック動画像信号から動き補償予測映像信号等で減算器17により減算するかを選択する。
【0052】
先ず、切換スイッチ18がマクロブロック動画像信号そのままを選択する場合について説明する。切換スイッチ18から出力するマクロブロック動画像信号がIピクチャの場合、DCT器3で離散コサイン変換したDCT信号を量子化器4に出力する。量子化器4では、レート制御器8から帰還する所定の量子化値で量子化を行うことで、情報量を削減した量子化信号を可変長符号化器5及び逆量子化器9に出力する。
【0053】
可変長符号化器5に入力した量子化信号は、可変長符号化器5で符号化を施した符号化信号としてバッファメモリ6に出力し、バッファメモリ6では出力端子7から引き抜かれるまで符号化信号を格納すると共に、発生符号量をレート制御器8に出力する。レート制御器8では、発生符号量に基づく量子化値を量子化器4に帰還する。出力端子7から引き抜かれた符号化信号は、不図示のシステムエンコーダで音声信号と多重化される。
【0054】
一方、逆量子化器9に入力した量子化信号は、所定の量子化値で逆量子化した逆量子化信号を逆DCT器10に出力する。逆DCT器10では入力した量子化信号を逆離散コサイン処理を施した逆DCT信号を出力する。Iピクチャのように、切換スイッチ18がマクロブロック動画像信号そのままを選択している場合は、切換スイッチ18に連動してスイッチ20はOFF状態となり、加算器19で逆DCT信号に加算することなく、フレームメモリ11に1フレームになるまでマクロブロック単位の参照映像信号(以下、マクロブロック参照信号と称す)を格納する。Pピクチャでは、フレームメモリ11に1フレーム分格納したフレーム単位の参照映像信号(以下、フレーム参照信号と称す)とフレーム並べ替え器2からのマクロブロック動画像信号との差分が最小となる動きベクトルを予測器12で予測し、動きベクトル検出範囲を検出すると共に、動きベクトルと動き補償予測後の映像信号(以下、予測映像信号と称す)とを出力する。
【0055】
切換スイッチ18が減算器17でマクロブロック動画像信号と予測映像信号との差分信号を選択するPピクチャまたはBピクチャの場合を説明する。Pピクチャの場合は、直前のIピクチャまたはPピクチャに基づく予測映像信号をマクロブロック動画像信号から減算した差分信号をDCT器3に出力し、DCT信号を量子化器4に出力する。量子化器4から出力する量子化信号の一方は、可変長符号化器5、バッファメモリ6を経て出力端子7から引き抜かれるまでバッファメモリ7に格納されると共に、発生符号量をレート制御器8に入力し量子化器4に量子化値を帰還する。バッファメモリ6に格納された符号化信号は、前述と同様にして出力端子7からシステムエンコーダに出力される。
【0056】
量子化信号の他方は、逆量子化器9、逆DCT器10を経て、加算器19に入力する。切換スイッチ18に連動してスイッチ20はON状態となり、減算器17で減算した直前のIピクチャまたはPピクチャを逆DCT器10から出力する逆DCT信号に加算し、マクロブロック参照信号を得る。加算器19で加算したマクロブロック参照信号を1フレームとなるまでフレームメモリ11に格納し、予測器12では、フレームメモリ11からのフレーム参照信号及びマクロブロック動画像信号から差分信号が最小となる動きベクトルを動きベクトル検出範囲内で検出し、例えば図2に示すような動きベクトルと予測映像信号とを出力する。
【0057】
なお、マクロブロック動画像信号がBピクチャの場合は、前後のIピクチャまたはPピクチャに基づく予測映像信号とマクロブロック動画像信号との差分を減算器17でとる以外はPピクチャと同様である。但し、Bピクチャも考慮すると前述したようにBピクチャは前後のピクチャを参照するため、動きベクトル検出範囲をフレーム単位等で更新するアルゴリズムが複雑化する割には精度の向上は少ないため、本実施の形態ではBピクチャであれば次のPピクチャを選択するまで無視するアルゴリズムを採用した。
【0058】
こうして得た予測器12から出力する信号の一方は、次のマクロブロック動画像信号を減算器17で減算するための予測映像信号として供し、他方は、例えば図3に示すように動きベクトルが動きベクトル検出範囲内に存在するかを比較検証するため、マクロブロック単位の動きベクトルを比較器15に出力する。図3における領域Dは動きベクトル検出範囲を狭める領域を示し、領域Uは動きベクトル検出範囲を広げる領域を示す。すなわち、図2に示した予測器12で検出したマクロブロックCijに対応する動きベクトルVijを、切換領域決定器14から出力される動きベクトル切換領域DまたはUの何れの範囲内に存在するかを比較器15で比較検証し、マクロブロック切替信号を適応的に求め、カウンタ16に出力する。
【0059】
図3に示した動きベクトル検出範囲をさらに詳細に説明する。図4は、図3に示した動きベクトル検出範囲をさらに詳細に説明した図である。図4(a)は、動きベクトル検出範囲の候補を示すものであり、本実施の形態では、5個の動きベクトル検出範囲の候補A1、A2、A3、A4、A5がある。これらの動きベクトル検出範囲の候補は、検出範囲決定器13に格納されている。そして、予測器12で動きベクトルを検出する際や、切換領域決定器14で動きベクトル切換領域を決定する際に使われる動きベクトル検出範囲は、これら5個の動きベクトル検出範囲の候補A1、A2、A3、A4、A5のうちのいずれか一つが選択して使われる。
【0060】
今、動きベクトル検出範囲の候補A1、A2、A3、A4、A5のうち、A3が動きベクトル検出範囲として実際に用いられていているとする。
【0061】
図4(b)に示すように、動きベクトル検出範囲A3の最外線である最外線l3と、動きベクトル検出範囲A3の内側にある動きベクトル検出範囲A3’の最外線である最外線l3’との間にある領域が図3で説明した領域Uに対応する。図3の領域Uは、切換領域決定器14で決定される。そして、後述するように領域Uに動きベクトルが乗っている場合が所定の条件を満たす場合には、動きベクトル検出範囲A3を拡大するよう処理される。この時、同時に動きベクトル検出範囲A3’、A3’’も拡大するよう処理される。
【0062】
同様に、図4(b)に示すように、動きベクトル検出範囲A3’の内側にある動きベクトル検出範囲A3’’の最外線である最外線l3’’の内側の領域が図3で説明した領域Dに対応する。図3の領域Dは、切換領域決定器14で決定される、そして、後述するように領域Dに動きベクトルが乗っている場合が所定の条件を満たす場合には、動きベクトル検出範囲A3を縮小するように処理される。この時、同時に動きベクトル検出範囲A3’、A3’’も縮小するように処理される。
【0063】
また、切換領域決定器14は、動きベクトル検出範囲に応じて図3の領域U及び領域Dを決定する。
【0064】
なお、本実施の形態では動きベクトル検出範囲の切換には、Pピクチャに基づく動きベクトルのみを対象としているため、比較器15はPピクチャの符号化時のみ動作するが、Bピクチャも考慮する場合にはBピクチャの符号化時も動作すること当然である。
【0065】
比較器15は、マクロブロックCijに対応する動きベクトルVijが図3の領域Uに乗っているかどうか、また、領域Dに乗っているかどうかを判定し、その判定結果をマクロブロック切換信号としてカウンタ16に出力する。
【0066】
カウンタ16は、マクロブロック切換信号が入力されると、マクロブロック切換信号がマクロブロックCijに対応する動きベクトルVijが図3の領域Uに乗っていることを示す場合には領域Uに対応するカウント値を1だけ増加させ、また、マクロブロック切換信号がマクロブロックCijに対応する動きベクトルVijが図3の領域Dに乗っていることを示す場合には、領域Dに対応するカウント値を1だけ増加させる。
【0067】
このようにしてカウンタ16は、領域Dに対応するカウント値及び領域Uに対応するカウント値を1フレーム分カウントし、カウンタ16はカウント結果をフレーム単位の切換信号(以下、フレーム切換信号と称す)として検出範囲決定器13に出力する。フレーム切換信号が入力されると、検出範囲決定器13は、動きベクトル検出範囲をフレーム単位で適応的に決定する。
【0068】
すなわち、検出範囲決定器13は、図4(a)に示す動きベクトル検出範囲の候補A1、A2、A3、A4、A5から実際に用いる動きベクトル検出範囲を選択することにより決定する。
【0069】
検出範囲決定器13は、図5(a)に示すように、動きベクトルQが領域Dに乗っている場合には、図5(b)に示すように動きベクトル検出範囲A4を選択することにより動きベクトル検出範囲を縮小する。さらに、詳細に説明すると、検出範囲決定器13は、カウンタ16から入力されたフレーム切換信号に基づいて、(動きベクトルが動きベクトル切換領域Dに存在する数)を(1フレームの期間に存在するマクロブロック数)で除した値が所定の閾値以上になったとき、動きベクトル検出範囲を動きベクトル切換領域A4に切り換える。この時、同時に動きベクトル検出範囲A3’、A3’’をそれぞれA4’、A4’’に切り換える。このように検出範囲決定器13は、各動きベクトル検出範囲を縮小する。そして、検出範囲決定器13が動きベクトル検出範囲を動きベクトル検出範囲A4に決定すると、決定した動きベクトル検出範囲を切換領域決定器14及び予測器12に帰還する。切換領域決定器14は、その決定に応じて、図5(b)に示すように動きベクトル切換領域D及びUを決定する。
【0070】
また、検出範囲決定器13は、図6(b)に示すように、動きベクトルRが領域Uに乗っている場合には、図6(b)に示すように動きベクトル検出範囲A2を選択することにより動きベクトル検出範囲を拡大する。さらに、詳細に説明すると、検出範囲決定器13は、カウンタ16から入力されたフレーム切換信号に基づいて、(動きベクトルが動きベクトル切換領域Uに存在する数)を(1フレームの期間に存在するマクロブロック数)で除した値が所定の閾値以上になったとき、動きベクトル検出範囲を動きベクトル検出範囲A2に切り換える。この時、同時に動きベクトル検出範囲A3’、A3’’をそれぞれA2’、A2’’に切り換える。このように検出範囲決定器13は、各動きベクトル検出範囲を拡大する。そして、検出範囲決定器13が動きベクトル検出範囲を動きベクトル検出範囲A2に決定すると、決定した動きベクトル検出範囲を切換領域決定器14及び予測器12に帰還する。切換領域決定器14は、その決定に応じて、図6(b)に示すように動きベクトル切換領域D及びUを決定する。
【0071】
また、検出範囲決定器13は、(動きベクトルが動きベクトル切換領域Dに存在する数)を(1フレームの期間に存在するマクロブロック数)で除した値が所定の閾値より小さく、かつ、(動きベクトルが動きベクトル切換領域Uに存在する数)を(1フレームの期間に存在するマクロブロック数)で除した値が所定の閾値より小さいときは、動きベクトル検出範囲を拡大も縮小もしない。すなわち、動きベクトル検出範囲を変更しない。
【0072】
予測器12に帰還された動きベクトル検出範囲は、フレーム単位で最適な動きベクトル検出範囲として、次のフレーム単位で予測器12において動きベクトルを予測する際に、動きベクトル検出範囲として用いられる。
【0073】
例えば、検出範囲決定器13が図5(b)に示すように動きベクトル検出範囲を動きベクトルA4に決定した場合には、次のフレーム単位で予測器12は、動きベクトルを予測する際に、動きベクトル検出範囲A4を用いる。
【0074】
同様に、検出範囲決定器13が図6(b)に示すように動きベクトル検出範囲を動きベクトルA2に決定した場合には、次のフレーム単位で予測器12は、動きベクトルを予測する際に、動きベクトル検出範囲A2を用いる。
【0075】
次のフレーム単位でも上記と同様の動作を行い、適応的に予測器12で用いられる動きベクトル検出範囲が次々と更新されていく。本実施の形態では、上記のような動作をPフレーム毎に行う。すなわち、図7に動きベクトル検出範囲更新のタイミングを示す。Pフレーム20で検出された動きベクトルは、検出範囲決定器13が次のPフレーム21の動きベクトル検出範囲を決定するのに用いられる。このように本実施の形態の動画像圧縮符号化装置は、Pフレーム毎に動きベクトル検出範囲を切り換えていくものである。
【0076】
特に大きな動きを有する入力動画像映像の場合には、図11で説明した従来の動画像圧縮符号化装置では、動きベクトル検出範囲320の最外周上に乗っている動きベクトルPのみを検出していたので、動きベクトル検出範囲320の最外周に乗っている動きベクトルPよりも適正な動きベクトルが動きベクトル検出範囲320の外部に存在してもそのような動きベクトルを検出して用いることができなかった。このような場合であっても、図11で説明した従来の動画像圧縮符号化装置では、適正な動きベクトルを検出する代わりに動きベクトルPを検出して用いていた。
【0077】
これに対して本実施の形態の動画像圧縮符号化装置では、動きベクトル検出範囲を拡大する際には、図3、図4、図5、図6などにそれぞれ示した領域Uに乗っている動きベクトルを考慮の対象とする。従って、従来の技術で動きベクトル検出範囲の外側により適正な動きベクトルが存在し、そのような適正な動きベクトルが検出出来ない場合であっても、本実施の形態のように領域Uを動きベクトルの考慮の対象とすることにより、従来の技術では検出できなかった適正な動きベクトルを検出することが出来るようになる。
【0078】
このように、本実施の形態によれば、動きの大きな入力動画像映像であっても適正な動きベクトルを検出することが出来、また、適正な動きベクトル検出範囲を設定することが出来るようになる。
【0079】
以上のように、本実施の形態の動画像圧縮符号化装置は、圧縮符号化することにより動画像信号の動きベクトルを検出する動きベクトル検出手段21の処理動作に並行して、動きベクトルを検出する動きベクトル検出範囲を最前のフレーム単位で最適化した範囲に置き換える構成であるため、動きベクトル検出手段21に供する回路等のハードウェア規模を増大することなく、動きベクトルの検出を最適化できる効果がある。また、動きの大きな画像であっても適正な動きベクトルを検出することが出来、また、適正な動きベクトル検出範囲を設定することが出来るようになる。
【0080】
なお、本実施の形態では、検出範囲決定器13が5個の動きベクトル検出範囲の候補から実際に用いる動きベクトル検出範囲を選択するとして説明したが、これに限らない。3個の動きベクトル検出範囲の候補から実際の動きベクトル検出範囲を選択してもよく、また7個の動きベクトル検出範囲の候補から実際の動きベクトル検出範囲を選択しても構わない。本実施の形態の検出範囲決定器13は、複数個の動きベクトル検出範囲の候補を格納しており、その中から実際に用いる動きベクトル検出範囲を選択することにより決定しさえすればよい。
【0081】
さらに、本実施の形態では、検出範囲決定器13が5個の動きベクトル検出範囲から実際に用いる動きベクトル検出範囲を選択するとして説明したが、これに限らない。検出範囲決定器13は、動きベクトルが動きベクトル切換領域Uに存在する数が多いほど動きベクトル検出範囲の拡大率を大きくしても構わない。
【0082】
また、この場合、検出範囲決定器13は、予め保持している動きベクトル検出範囲から動きベクトルが動きベクトル切換領域Uに存在する数が多いほど大きな動きベクトル検出範囲を選択しても構わないし、また、検出範囲決定器13が予め動きベクトル検出範囲を保持せず、動きベクトルが動きベクトル切換領域Uに存在する数が多いほど大きな動きベクトル検出範囲を生成しても構わない。
【0083】
また、検出範囲決定器13は、動きベクトルが動きベクトル切換領域Dに存在する数が多いほど動きベクトル検出範囲の縮小率を大きくしても構わない。
【0084】
また、この場合、検出範囲決定器13は、予め保持している動きベクトル検出範囲から動きベクトルが動きベクトル切換領域Dに存在する数が多いほど小さな動きベクトル検出範囲を選択しても構わないし、また、検出範囲決定器13が予め動きベクトル検出範囲を保持せず、動きベクトルが動きベクトル切換領域Dに存在する数が多いほど小さな動きベクトル検出範囲を生成しても構わない。
【0085】
なお、本実施の形態の動画像圧縮符号化装置は、図8(a)、図8(b)、図8(c)に示すように、動きベクトル検出範囲が狭い場合には画素単位に近付いた動きベクトルの検出となり、逆に広い場合には広くなった分だけ検出する動きベクトルは間引かれた検出となる。すなわち、図8(a)のように動きベクトル検出範囲A1のように検出範囲が広い場合には、黒印で示すように間引かれた画素に関する動きベクトルが検出され、逆に図8(c)のように動きベクトル検出範囲A5のように検出範囲が狭い場合には、黒印で示すように、画素単位で動きベクトルが検出される。従って、動きベクトル検出範囲が広くなってもその広さに応じて動きベクトルを求める画素が間引かれるので、動きベクトル検出のための演算量が増加することはない。
【0086】
そして、図4に示したように、動きベクトル検出範囲を複数種類備え、当該複数種類の動きベクトル検出範囲から動きベクトル検出範囲を選択する構成を備えると、動きベクトル検出範囲を入力映像の動きの大きさに応じて適宜拡大・縮小することで最適化を図れ、動きベクトル検出精度の向上及びそれによる発生符号量の削減ができ、復号化後の動画像の高画質化が達成できる。
【0087】
また、動きベクトル検出に要する記憶手段等の回路を、当該動きベクトル検出範囲の内最も狭い範囲に対応する規模とすることができ、動きベクトル検出精度向上に起因して高画質の復号画像を実現できる装置を安価にすることもできる。
【0088】
上記実施の形態における動きベクトル検出範囲13から、動きベクトル検出範囲に応じて動きベクトル検出範囲切換領域を生成する切換領域決定器14と、当該動きベクトル検出範囲切換領域と検出された動きベクトルとを比較し当該動きベクトルが動きベクトル切換領域内の存在を判定する比較器15とを備え、カウンター16が当該動きベクトル切換領域と比較器15の出力信号の判定信号とを格納し、カウンター16に格納した判定信号を基に動きベクトル検出範囲を決定する構成を備えると、動きベクトル検出手段21で検出する動きベクトルの動きベクトル検出範囲の設定を、入力動画像映像の動きに追従することができ、入力動画像映像の動きに合わせた動きベクトル検出範囲の即時性を向上できる。
【0089】
なお、本実施の形態では、検出範囲決定器13から予測器12に出力する動きベクトル検出範囲をフレーム単位で更新するとして説明したが、これに限らない。フレーム単位で動きベクトル検出範囲を適応的に決定するとして説明したが、これに限らない。
【0090】
検出範囲決定器13から予測器12に出力する動きベクトル検出範囲の更新を、n(nはn≦Nを満たす自然数)個の期間で行っても構わない。ただし、Nを1フレームに存在するマクロブロックの総数とし、1フレームを複数個に分割した場合の一つの分割単位のマクロブロックの総数をn個とする。この場合、カウンター16は、n個の期間での動きベクトルが動きベクトル切換領域中に存在する数も記憶する構成であり、(動きベクトルが動きベクトル切換領域に存在する数)を(n個の期間に存在するマクロブロック数)で除した値が所定の閾値以上になったとき、動きベクトル検出範囲を切り換え、当該切り換えた動きベクトル検出範囲を動きベクトル検出手段21と切換領域決定器14とに帰還する。
【0091】
例えば、(動きベクトルが領域Dに存在する数)を(n個の期間に存在するマクロブロック数)で除した値が所定の閾値以上になったとき、動きベクトル検出範囲を例えば図5(a)、図5(b)に示すように動きベクトル検出範囲A3から動きベクトル検出範囲A4に切り換える。すなわち、動きベクトル検出範囲を縮小するまた、例えば(動きベクトルが領域Uに存在する数)を(n個の期間に存在するマクロブロック数)で除した値が所定の閾値以上になったとき、動きベクトル検出範囲を例えば図6(a)、図6(b)に示すように動きベクトル検出範囲A3から動きベクトル検出範囲A2に切り換える。すなわち動きベクトル検出範囲を拡大する。
【0092】
このような構成を採用すると、入力動画像映像の動きに合わせた動きベクトルの検出精度の向上と発生符号量の削減とが実現出来る。
【0093】
次に、上述した一連の処理の流れを図1に示したブロック図を参照しながら、図9を用いて説明する。
【0094】
先ず、入力端子1から入力された入力動画像映像は、デコード順にフレーム並べ替え器2で並べ替えられ、ステップ31で1フレームに付きN個(ただしNは2以上の自然数)に細分化したマクロブロック動画像信号となる。
【0095】
フレーム並べ替え器2からデコード順に抜き取ったマクロブロック動画像信号は、ステップ32でIピクチャかIピクチャ以外かを切替スイッチ18で判定する。切替スイッチ18でマクロブロック動画像信号がIピクチャであると判定されると、スイッチ20をOFF状態にする。
【0096】
Iピクチャと判定されたマクロブロック動画像信号は、ステップ33でDCT器3、量子化器4、逆量子化器9、逆DCT器10、加算器19を経てフレームメモリ11にIピクチャのマクロブロック動画像の復号化信号を格納する。
【0097】
次に、ステップ34で1フレーム分のマクロブロック動画像信号の圧縮復号の終了を判断し、1フレームに達していないときはステップ32に戻る。
【0098】
並び替え器2から抽出したマクロブロック動画像信号がIピクチャかをステップ32で判断し、Iピクチャでない場合はステップ35でPピクチャかBピクチャかを切替スイッチ18にて判定する。
【0099】
マクロブロック動画像信号がPピクチャと判定されると、ステップ36で当該マクロブロック動画像信号と予測器12から出力される予測映像信号とを減算器17にて減算し差分信号を出力すると共に、スイッチ20をON状態にする。
【0100】
ステップ36で減算した差分信号は、ステップ37でDCT器3、量子化器4、逆量子化器9、逆DCT器10を経て、加算器19でPピクチャの逆DCT信号と予測器12から出力される予測映像信号(本例の場合は直前のIピクチャからの予測映像信号であるが、Pピクチャが続く場合では直前のPピクチャからの予測映像信号となる)とを加算し、マクロブロック参照信号をフレームメモリ11に1フレームとなるまで格納する。それと共に、予測器12にてフレーム参照信号とフレーム並べ替え器2からのマクロブロック動画像信号との差分が最小となる動きベクトルを用いて予測映像信号を生成する。
【0101】
ステップ37で生成した予測映像信号は、ステップ38で比較器15に入力され、比較器15で当該予測映像信号と切換領域決定器14から出力される動きベクトル切換領域とを比較することでマクロブロック切換信号をカウンタ16に出力する。カウンタ16は、1フレームになるまでマクロブロック切換信号を格納する。
【0102】
次にステップ34で、1フレーム分のマクロブロック動画像信号の圧縮復号の終了を判断し、1フレームに達していないときはステップ32に戻る。なお、上述の例ではスイッチ20をON状態にするステップをステップ36としたが、加算器19で加算を行う前であれば何れであっても良く、ステップ35またはステップ37であっても良いこと勿論である。
【0103】
並び替え器2から抽出されたマクロブロック動画像信号がIピクチャかをステップ32で判断し、Iピクチャでない場合はステップ35でPピクチャかBピクチャかを切替スイッチ18にて判定する。
【0104】
マクロブロック動画像信号がBピクチャと判定されると、ステップ39で当該マクロブロック動画像信号と比較器12から出力する予測映像信号とを減算器17にて減算し差分信号を出力する。ステップ39で減算した差分信号は、ステップ40でDCT器3及び量子化器4を経て量子化信号を生成し、ステップ34で、1フレーム分のマクロブロック動画像信号の圧縮復号の終了を判断し、1フレームに達していないときはステップ32に戻る。
【0105】
なお、ステップ34で1フレームに達していると判断した場合には、ステップ41でカウンタ16からフレーム切換信号を検出範囲決定器13に出力し、検出範囲決定器13はフレーム単位の動きベクトル検出範囲を予測器12に帰還すると共に、切換領域決定器14にも出力し、切換領域決定器14で動きベクトル切換領域を生成し、比較器15に出力する。
【0106】
ステップ41でフレーム単位の動きベクトル検出範囲を生成し予測器12に出力した後、ステップ42で動画像映像信号が終了し次のフレームの有無を判定し、次のフレームがある場合はフレーム並べ替え器2に戻り、次のフレームがない場合は処理を終了する。
【0107】
なお、上述の実施の形態では動きベクトル検出範囲の更新をフレーム単位で行う場合を説明したが、画面単位、フレーム単位、グループオブピクチャ(GOP)単位等入力動画像信号の所定のまとまり単位で行うこともできる。但し、まとまり単位に応じて、動きベクトル検出範囲決定器13及びフレームメモリ11等を変化させる必要がある。
【0108】
また、上述の実施の形態ではMPEG圧縮を例に採り説明したが、圧縮復号化方法はMPEGに限定されるものではなく、例えばH.261またはH.263等の時間方向の冗長度を削減するフレーム間予測を行う圧縮方式であれば何れでも適応できる。
【0109】
本実施の形態によれば、動きベクトル検出のための検出範囲が複数存在しても、ハードウェア規模を増大させることなく、動画像圧縮符号化を行う際に、入力映像の動きの速さに応じて、最適な動きベクトル検出範囲を選択出来るという作用を有し、その結果、高画質が実現できるという、優れた効果が得られる。また、動きの大きな画像であっても適正な動きベクトルを検出することが出来、また、適正な動きベクトル検出範囲を設定することが出来る。
【0110】
又、本発明のプログラムは、上述した本発明の動きベクトル検出方法の全部又は一部のステップ(又は、工程、動作、作用等)の動作をコンピュータにより実行させるためのプログラムであって、コンピュータと協働して動作するプログラムである。
【0111】
又、本発明の記録媒体は、上述した本発明の動きベクトル検出方法の全部又は一部のステップ(又は、工程、動作、作用等)の全部又は一部の動作をコンピュータにより実行させるためのプログラムを担持した記録媒体であり、コンピュータにより読み取り可能且つ、読み取られた前記プログラムが前記コンピュータと協動して前記動作を実行する記録媒体である。
【0112】
尚、本発明の上記「一部の手段(又は、装置、素子等)」とは、それらの複数の手段の内の、一つ又は幾つかの手段を意味し、本発明の上記「一部のステップ(又は、工程、動作、作用等)」とは、それらの複数のステップの内の、一つ又は幾つかのステップを意味する。
【0113】
又、本発明の上記「手段(又は、装置、素子等)の機能」とは、前記手段の全部又は一部の機能を意味し、本発明の上記「ステップ(又は、工程、動作、作用等)の動作」とは、前記ステップの全部又は一部の動作を意味する。
【0114】
又、本発明のプログラムの一利用形態は、コンピュータにより読み取り可能な記録媒体に記録され、コンピュータと協働して動作する態様であっても良い。
【0115】
又、本発明のプログラムの一利用形態は、伝送媒体中を伝送し、コンピュータにより読みとられ、コンピュータと協働して動作する態様であっても良い。
【0116】
又、本発明のデータ構造としては、データベース、データフォーマット、データテーブル、データリスト、データの種類などを含む。
【0117】
又、記録媒体としては、ROM等が含まれ、伝送媒体としては、インターネット等の伝送媒体、光・電波・音波等が含まれる。
【0118】
又、上述した本発明のコンピュータは、CPU等の純然たるハードウェアに限らず、ファームウェアや、OS、更に周辺機器を含むものであっても良い。
【0119】
尚、以上説明した様に、本発明の構成は、ソフトウェア的に実現しても良いし、ハードウェア的に実現しても良い。
【0120】
【発明の効果】
以上説明したところから明らかなように、本発明は、動きの大きな画像であっても適正な動きベクトルを検出することが出来、また、適正な動きベクトル検出範囲を設定することが出来る動画像圧縮符号化装置、動きベクトル検出方法、記録媒体、及びプログラムを提供することが出来る。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態における動画像圧縮符号化装置のブロック図
【図2】本発明の第1の実施の形態におけるマクロブロックの動きベクトルの一例を示す図
【図3】本発明の第1の実施の形態における動きベクトルと動きベクトル切換領域との一例を示す図
【図4】(a)本発明の第1の実施の形態における動きベクトル検出範囲の候補を示す図
(b)本発明の第1の実施の形態における動きベクトル検出範囲を示す図
【図5】(a)本発明の第1の実施の形態における現在の動きベクトル検出範囲の例を示す図
(b)本発明の第1の実施の形態における更新後の動きベクトル検出範囲の例を示す図
【図6】(a)本発明の第1の実施の形態における現在の動きベクトル検出範囲の例を示す図
(b)本発明の第1の実施の形態における更新後の動きベクトル検出範囲の例を示す図
【図7】本発明の第1の実施の形態における動きベクトル検出範囲の更新のタイミングを示す図
【図8】(a)本発明の第1の実施の形態における動きベクトル検出範囲が大きい場合の動きベクトルを検出する際の画素のサンプリングの概要を示す図
(b)本発明の第1の実施の形態における動きベクトル検出範囲が中程度の場合の動きベクトルを検出する際の画素のサンプリングの概要を示す図
(c)本発明の第1の実施の形態における動きベクトル検出範囲が小さい場合の動きベクトルを検出する際の画素のサンプリングの概要を示す図
【図9】本発明の第1の実施の形態における動きベクトル切換領域決定の流れ図
【図10】従来の動きベクトル検出装置の構成を示すブロック図
【図11】従来の動画像圧縮符号化装置の構成を示すブロック図
【図12】従来の動画像圧縮符号化装置を構成する動き検出装置307Aの動作を示す説明図
【図13】従来の動画像圧縮符号化装置を構成するCPU5の処理動作を示すフローチャート図
【図14】従来の動画像圧縮符号化装置の動きベクトル検出範囲と動きベクトルの一例を示す図
【符号の説明】
1 入力端子
2 フレーム並べ替え器
3 DCT器
4 量子化器
5 可変長符号化器
6 バッファメモリ
7 出力端子
8 レート制御器
9 逆量子化器
10 逆DCT器
11 フレームメモリ
12 予測器
13 動きベクトル検出範囲決定器
14 切換領域決定器
15 比較器
16 カウンター
17 減算器
18 切替スイッチ
19 加算器
20 スイッチ
21 動きベクトル検出手段
Claims (14)
- 入力動画像映像を1フレームに付きN(但し、Nは2以上の自然数)個に細分化したマクロブロック動画像信号を生成するマクロブロック生成手段と、
前記マクロブロック動画像信号を圧縮符号化した後に復号化して復号化動画像信号を生成する符号復号化手段と、
前記復号化動画像信号と前記マクロブロック動画像信号とから第1の動きベクトル検出範囲内で動きベクトルを検出する動きベクトル検出手段と、
検出された前記動きベクトルのうち、前記第1の動きベクトル検出範囲の最外線である第1の最外線と、前記第1の動きベクトル検出範囲の内側にある第2の動きベクトル検出範囲の最外線である第2の最外線との間にある動きベクトルの数を第1の動きベクトルの数としてカウントする動きベクトルカウント手段と、
カウントされた前記第1の動きベクトルの数に基づいて前記第1の動きベクトル検出範囲を拡大する動きベクトル検出範囲決定手段とを備えた動画像圧縮符号化装置。 - 前記動きベクトルカウント手段は、前記第2の動きベクトル検出範囲の内側にある第3の動きベクトル検出範囲内にある動きベクトルの数を第2の動きベクトルの数としてカウントし、
前記動きベクトル検出範囲決定手段は、カウントされた前記第2の動きベクトルの数に基づいて前記第1の動きベクトル検出範囲を縮小する請求項1記載の動画像圧縮符号化装置。 - 前記動きベクトル検出範囲決定手段は、カウントされた前記第1の動きベクトルの数が所定の閾値より多い場合、前記第1の動きベクトル検出範囲を拡大し、前記所定の閾値より小さい場合、前記第1の動きベクトル検出範囲を拡大しないまたは前記第1の動きベクトル検出範囲を変更しない請求項1記載の動画像圧縮符号化装置。
- 前記動きベクトル検出範囲決定手段は、カウントされた前記第1の動きベクトルの数が多いほど前記第1の動きベクトル検出範囲の拡大率を大きくする請求項1記載の動画像圧縮符号化装置。
- 前記動きベクトル検出範囲決定手段は、カウントされた前記第2の動きベクトルの数が多いほど前記第1の動きベクトル検出範囲の縮小率を大きくする請求項2記載の動画像圧縮符号化装置。
- 前記動きベクトル検出範囲決定手段は、予め複数種類の動きベクトル検出範囲を有しており、
その複数種類の動きベクトル検出範囲から、カウントされた前記第1の動きベクトルの数が多いほど大きな動きベクトル検出範囲を選択して、前記第1の動きベクトル検出範囲とする請求項1記載の動画像圧縮符号化装置。 - 前記動きベクトル検出範囲決定手段は、予め複数種類の動きベクトル検出範囲を有しており、
その複数種類の動きベクトル検出範囲から、カウントされた前記第2の動きベクトルの数が多いほど小さな動きベクトル検出範囲を選択して、前記第1の動きベクトル検出範囲とする請求項2記載の動画像圧縮符号化装置。 - 前記動きベクトル検出範囲決定手段は、前記第1の動きベクトル検出範囲の更新を、Pフレーム毎に行う、またはPフレームをn個(但し、n≦Nの自然数)に分割した分割単位毎に行い、
前記第1の動きベクトル検出範囲が更新される際、前記動きベクトル検出範囲決定手段は、前記Pフレームのまたは前記分割単位のカウントされた前記第1の動きベクトルの数を、前記Pフレームにまたは前記分割単位に存在するマクロブロック動画像信号の数で割った数が、所定の閾値以上になった場合に、前記第1の動きベクトル検出範囲を拡大する請求項1記載の動画像圧縮符号化装置。 - 前記動きベクトル検出範囲決定手段は、前記第1の動きベクトル検出範囲の更新を、Pフレーム毎に行う、またはPフレームをn個(但し、n≦Nの自然数)に分割した分割単位毎に行い、
前記第1の動きベクトル検出範囲が更新される際、前記動きベクトル検出範囲決定手段は、前記Pフレームのまたは前記分割単位のカウントされた前記第2の動きベクトルの数を、前記Pフレームにまたは前記分割単位に存在するマクロブロック動画像信号の数で割った数が、所定の閾値以上になった場合に、前記第1の動きベクトル検出範囲を縮小する請求項1記載の動画像圧縮符号化装置。 - 前記動きベクトル検出手段は、前記第1の動きベクトル検出範囲を拡大する際、前記第2の動きベクトル検出範囲をも拡大する請求項1、3、4、6、8のいずれかに記載の動画像圧縮符号化装置。
- 前記動きベクトル検出手段は、前記第1の動きベクトル検出範囲を縮小する際、前記第3の動きベクトル検出範囲をも縮小する請求項2、4、7、9記載の動画像圧縮符号化装置。
- 入力動画像映像を1フレームに付きN(但し、Nは2以上の自然数)個に細分化して生成されたマクロブロック動画像信号を圧縮符号化した後に復号化して生成された復号化動画像信号と、前記マクロブロック動画像信号とから第1の動きベクトル検出範囲内で動きベクトルを検出する動きベクトル検出ステップと、
検出された前記動きベクトルのうち、前記第1の動きベクトル検出範囲の最外線である第1の最外線と、前記第1の動きベクトル検出範囲の内側にある第2の動きベクトル検出範囲の最外線である第2の最外線との間にある動きベクトルの数を第1の動きベクトルの数としてカウントする動きベクトルカウントステップと、
前記第1の動きベクトル検出範囲の最外線である第1の最外線と、前記第1の動きベクトル検出範囲の内側にある第2の動きベクトル検出範囲の最外線である第2の最外線であって、前記第1の最外線に隣接する1本もしくは複数本の第2の最外線との上にある動きベクトルの数である第1の動きベクトルの数をカウントする動きベクトルカウントステップと、
カウントされた前記第1の動きベクトルの数に基づいて前記第1の動きベクトル検出範囲を拡大する動きベクトル検出範囲決定ステップとを備えた動きベクトル検出方法。 - 請求項12記載の動きベクトル検出方法の、入力動画像映像を1フレームに付きN(但し、Nは2以上の自然数)個に細分化して生成されたマクロブロック動画像信号を圧縮符号化した後に復号化して生成された復号化動画像信号と、前記マクロブロック動画像信号とから第1の動きベクトル検出範囲内で動きベクトルを検出する動きベクトル検出ステップと、
検出された前記動きベクトルのうち、前記第1の動きベクトル検出範囲の最外線である第1の最外線と、前記第1の動きベクトル検出範囲の内側にある第2の動きベクトル検出範囲の最外線である第2の最外線との間にある動きベクトルの数を第1の動きベクトルの数としてカウントする動きベクトルカウントステップと、
カウントされた前記第1の動きベクトルの数に基づいて前記第1の動きベクトル検出範囲を拡大する動きベクトル検出範囲決定ステップとをコンピュータに実行させるためのプログラム。 - 請求項13記載のプログラムを担持した記録媒体であって、コンピュータにより処理可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002373296A JP4034180B2 (ja) | 2001-12-25 | 2002-12-24 | 動画像圧縮符号化装置、及び動きベクトル検出方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001391441 | 2001-12-25 | ||
JP2001-391441 | 2001-12-25 | ||
JP2002373296A JP4034180B2 (ja) | 2001-12-25 | 2002-12-24 | 動画像圧縮符号化装置、及び動きベクトル検出方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003259373A JP2003259373A (ja) | 2003-09-12 |
JP4034180B2 true JP4034180B2 (ja) | 2008-01-16 |
Family
ID=28677055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002373296A Expired - Fee Related JP4034180B2 (ja) | 2001-12-25 | 2002-12-24 | 動画像圧縮符号化装置、及び動きベクトル検出方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4034180B2 (ja) |
-
2002
- 2002-12-24 JP JP2002373296A patent/JP4034180B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003259373A (ja) | 2003-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110809887B (zh) | 用于多参考预测的运动矢量修正的方法和装置 | |
JP4724351B2 (ja) | 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置 | |
US20070268964A1 (en) | Unit co-location-based motion estimation | |
JP2015008510A (ja) | 動き予測検索範囲及び拡張動きベクトルの範囲の動的選択 | |
US20010021272A1 (en) | Motion vector searcher and motion vector search method as well as moving picture coding apparatus | |
JPH08307874A (ja) | 映像信号符号化装置 | |
JP2002125236A (ja) | 動きベクトル変換方法及び変換装置 | |
JP4793424B2 (ja) | 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置 | |
US7151799B2 (en) | Transcoder for coded video | |
WO2005062625A1 (ja) | 動画像を符号化する方法及び装置 | |
JPH10322705A (ja) | 動き検出及び動き補償予測回路 | |
KR100632072B1 (ko) | 동화상 압축 부호화장치 및 모션벡터 검출방법 | |
JP3757088B2 (ja) | 動画像符号化装置および方法 | |
JP4606311B2 (ja) | 画像符号化装置および画像符号化方法 | |
JP3674535B2 (ja) | 動画像符号化方法および装置 | |
JPH10336672A (ja) | 符号化方式変換装置およびその動きベクトル検出方法 | |
JPH0846969A (ja) | 映像信号符号化方式 | |
JP5598199B2 (ja) | 動画像符号化装置 | |
JPH0832969A (ja) | 動きベクトル検出装置 | |
JP4034180B2 (ja) | 動画像圧縮符号化装置、及び動きベクトル検出方法 | |
KR100635009B1 (ko) | 화면 전체의 움직임을 고려한 움직임예측방법 및 그 장치 | |
JP4561701B2 (ja) | 動画像符号化装置 | |
JPH10210480A (ja) | 動画像符号化方式 | |
KR100448700B1 (ko) | 프레임속도변환의 크로스 페이드 보간 장치 및 방법 | |
KR20040093605A (ko) | 고속 움직임 추정을 위한 블록 모드 결정 방법 및 그 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051209 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070912 |
|
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: 20071002 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071024 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101102 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |