(57)【特許請求の範囲】
【請求項１】
入力動画像映像を１フレームに付きＮ（但し、Ｎは２以上の自然数）個に細分化したマクロブロック動画像信号を生成するマクロブロック生成手段と、
前記マクロブロック動画像信号を圧縮符号化した後に復号化して復号化動画像信号を生成する符号復号化手段と、
前記復号化動画像信号と前記マクロブロック動画像信号とから第１の動きベクトル検出範囲内で動きベクトルを検出する動きベクトル検出手段と、
検出された前記動きベクトルのうち、前記第１の動きベクトル検出範囲の最外線である第１の最外線と、前記第１の動きベクトル検出範囲の内側にある第２の動きベクトル検出範囲の最外線である第２の最外線との間にある動きベクトルの数を第１の動きベクトルの数としてカウントする動きベクトルカウント手段と、
カウントされた前記第１の動きベクトルの数に基づいて前記第１の動きベクトル検出範囲を拡大する動きベクトル検出範囲決定手段とを備えた動画像圧縮符号化装置。
【請求項２】
前記動きベクトルカウント手段は、前記第２の動きベクトル検出範囲の内側にある第３の動きベクトル検出範囲内にある動きベクトルの数を第２の動きベクトルの数としてカウントし、
前記動きベクトル検出範囲決定手段は、カウントされた前記第２の動きベクトルの数に基づいて前記第１の動きベクトル検出範囲を縮小する請求項１記載の動画像圧縮符号化装置。
【請求項３】
前記動きベクトル検出範囲決定手段は、カウントされた前記第１の動きベクトルの数が所定の閾値より多い場合、前記第１の動きベクトル検出範囲を拡大し、前記所定の閾値より小さい場合、前記第１の動きベクトル検出範囲を拡大しないまたは前記第１の動きベクトル検出範囲を変更しない請求項１記載の動画像圧縮符号化装置。
【請求項４】
前記動きベクトル検出範囲決定手段は、カウントされた前記第１の動きベクトルの数が多いほど前記第１の動きベクトル検出範囲の拡大率を大きくする請求項１記載の動画像圧縮符号化装置。
【請求項５】
前記動きベクトル検出範囲決定手段は、カウントされた前記第２の動きベクトルの数が多いほど前記第１の動きベクトル検出範囲の縮小率を大きくする請求項２記載の動画像圧縮符号化装置。
【請求項６】
前記動きベクトル検出範囲決定手段は、予め複数種類の動きベクトル検出範囲を有しており、
その複数種類の動きベクトル検出範囲から、カウントされた前記第１の動きベクトルの数が多いほど大きな動きベクトル検出範囲を選択して、前記第１の動きベクトル検出範囲とする請求項１記載の動画像圧縮符号化装置。
【請求項７】
前記動きベクトル検出範囲決定手段は、予め複数種類の動きベクトル検出範囲を有しており、
その複数種類の動きベクトル検出範囲から、カウントされた前記第２の動きベクトルの数が多いほど小さな動きベクトル検出範囲を選択して、前記第１の動きベクトル検出範囲とする請求項２記載の動画像圧縮符号化装置。
【請求項８】
前記動きベクトル検出範囲決定手段は、前記第１の動きベクトル検出範囲の更新を、Ｐフレーム毎に行う、またはＰフレームをｎ個（但し、ｎ≦Ｎの自然数）に分割した分割単位毎に行い、
前記第１の動きベクトル検出範囲が更新される際、前記動きベクトル検出範囲決定手段は、前記Ｐフレームのまたは前記分割単位のカウントされた前記第１の動きベクトルの数を、前記Ｐフレームにまたは前記分割単位に存在するマクロブロック動画像信号の数で割った数が、所定の閾値以上になった場合に、前記第１の動きベクトル検出範囲を拡大する請求項１記載の動画像圧縮符号化装置。
【請求項９】
前記動きベクトル検出範囲決定手段は、前記第１の動きベクトル検出範囲の更新を、Ｐフレーム毎に行う、またはＰフレームをｎ個（但し、ｎ≦Ｎの自然数）に分割した分割単位毎に行い、
前記第１の動きベクトル検出範囲が更新される際、前記動きベクトル検出範囲決定手段は、前記Ｐフレームのまたは前記分割単位のカウントされた前記第２の動きベクトルの数を、前記Ｐフレームにまたは前記分割単位に存在するマクロブロック動画像信号の数で割った数が、所定の閾値以上になった場合に、前記第１の動きベクトル検出範囲を縮小する請求項１記載の動画像圧縮符号化装置。
【請求項１０】
前記動きベクトル検出手段は、前記第１の動きベクトル検出範囲を拡大する際、前記第２の動きベクトル検出範囲をも拡大する請求項１、３、４、６、８のいずれかに記載の動画像圧縮符号化装置。
【請求項１１】
前記動きベクトル検出手段は、前記第１の動きベクトル検出範囲を縮小する際、前記第３の動きベクトル検出範囲をも縮小する請求項２、４、７、９記載の動画像圧縮符号化装置。
【請求項１２】
入力動画像映像を１フレームに付きＮ（但し、Ｎは２以上の自然数）個に細分化して生成されたマクロブロック動画像信号を圧縮符号化した後に復号化して生成された復号化動画像信号と、前記マクロブロック動画像信号とから第１の動きベクトル検出範囲内で動きベクトルを検出する動きベクトル検出ステップと、
検出された前記動きベクトルのうち、前記第１の動きベクトル検出範囲の最外線である第１の最外線と、前記第１の動きベクトル検出範囲の内側にある第２の動きベクトル検出範囲の最外線である第２の最外線との間にある動きベクトルの数を第１の動きベクトルの数としてカウントする動きベクトルカウントステップと、
前記第１の動きベクトル検出範囲の最外線である第１の最外線と、前記第１の動きベクトル検出範囲の内側にある第２の動きベクトル検出範囲の最外線である第２の最外線であって、前記第１の最外線に隣接する１本もしくは複数本の第２の最外線との上にある動きベクトルの数である第１の動きベクトルの数をカウントする動きベクトルカウントステップと、
カウントされた前記第１の動きベクトルの数に基づいて前記第１の動きベクトル検出範囲を拡大する動きベクトル検出範囲決定ステップとを備えた動きベクトル検出方法。
【請求項１３】
請求項１２記載の動きベクトル検出方法の、入力動画像映像を１フレームに付きＮ（但し、Ｎは２以上の自然数）個に細分化して生成されたマクロブロック動画像信号を圧縮符号化した後に復号化して生成された復号化動画像信号と、前記マクロブロック動画像信号とから第１の動きベクトル検出範囲内で動きベクトルを検出する動きベクトル検出ステップと、
検出された前記動きベクトルのうち、前記第１の動きベクトル検出範囲の最外線である第１の最外線と、前記第１の動きベクトル検出範囲の内側にある第２の動きベクトル検出範囲の最外線である第２の最外線との間にある動きベクトルの数を第１の動きベクトルの数としてカウントする動きベクトルカウントステップと、
カウントされた前記第１の動きベクトルの数に基づいて前記第１の動きベクトル検出範囲を拡大する動きベクトル検出範囲決定ステップとをコンピュータに実行させるためのプログラム。
【請求項１４】
請求項１３記載のプログラムを担持した記録媒体であって、コンピュータにより処理可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動画像を圧縮符号化するための動画像圧縮符号化装置と、その動きベクトル検出方法、記録媒体、及びプログラムに関する。
【０００２】
【従来の技術】
動画像圧縮符号装置において、動きベクトル検出装置は、動きベクトルの検出精度を高めようとすると、ハードウェア規模が大きくならざるを得ない。そのため動きベクトル検出は、検出範囲は狭いが検出精度は高いモード、あるいは、検出範囲は広いが検出精度は低いモードで行われている。
【０００３】
従来の動きベクトル検出装置を図１０に示す（例えば、特許文献１参照。）１０１は動画像圧縮符号化器に現在のフレーム信号である参照フレーム信号を入力する参照フレーム信号入力端子で、１０２は動画像圧縮符号化器に１つ前のフレーム信号である予測フレーム信号を入力する予測フレーム信号入力端子である。１０３は検出範囲は広いが検出精度は低いモードで動きベクトル検出を行う広域動きベクトル検出器であり、１０４は検出範囲は狭いが検出精度は高いモードで動きベクトル検出を行う狭域動きベクトル検出器であり、１０５は広域動きベクトル検出器１０３と狭域動きベクトル検出器１０４とで得られた動きベクトル検出結果を比較評価する比較器であり、１０６は比較器１０５の比較結果に基づき、広域動きベクトル検出器１０３、あるいは狭域動きベクトル検出器１０４からの動きベクトル検出の結果いずれかを出力する切換器であり、１０７は広域動きベクトル検出器で検出した動きベクトルを出力する出力端子である。
【０００４】
以上のように構成された従来の動きベクトル検出装置について、その動作について説明する。まず、参照フレーム信号入力端子１０１から入力した参照フレーム信号はローパスフィルタ１０８及びダウンサンプリング回路１０９を経て広域動きベクトル検出器１０３に入力される。それと共に、参照フレーム信号入力端子１０１から入力した参照フレーム信号は、狭域動きベクトル検出器１０４にも入力される。同様に、予測フレーム信号入力端子１０２から入力した予測フレーム信号はローパスフィルタ１１０及びダウンサンプリング回路１１１を経て広域動きベクトル検出器１０３に入力される。それと共に、予測フレーム信号入力端子１０２から入力した予測フレーム信号は、狭域動きベクトル検出器１０４にも入力される。それぞれの動きベクトル検出器１０３及び１０４で検出された動きベクトルは、比較器１０５で比較評価され、評価の高い方の動きベクトルを切換器１０６から出力端子１０７に出力される。
【０００５】
しかしながら図１０の動きベクトル検出装置の構成では、より適正な動きベクトルを検出するため動きベクトル検出範囲の数（以下、モード数と称す）を、例えば２つにすると、モード数が１つの場合に比べてハードウェア規模が増大する。
【０００６】
すなわち、動きベクトル検出範囲の数を例えば検出範囲は狭いが検出精度は高い動きベクトルの検出範囲と、検出範囲は広いが検出精度は低い動きベクトル検出範囲との２つにすると、検出範囲は狭いが検出精度は高い狭域動きベクトル検出器１０４と、検出範囲は広いが検出精度は低い広域動きベクトル検出器１０３との２種類のハードウェアが必要になる。そして、それぞれの動きベクトル検出器について、同時に動きベクトル検出を実行する必要があり、２つの動きベクトル検出器１０３及び１０４それぞれに独立した動きベクトル検出回路が必須となり、動きベクトル検出回路等のハードウェア規模が大きくなるという課題があった。
【０００７】
図１０で説明した従来の動きベクトル検出装置の課題を解決するために、図１１に示す動画像圧縮符号化装置が知られている（例えば、特許文献２参照。）。
【０００８】
すなわち、図１１は、従来の動画像圧縮符号化装置のブロック図である。図１１において、３０１はＤＣＴ回路であり、３０２は量子化器であり、３０３は逆量子化器であり、３０４は逆ＤＣＴ回路であり、３０５はフレームメモリであり、３０６は動き補償フレーム間予測回路であり、３０７Ａは動き検出装置であり、３０８はフレーム内・フレーム間切り替え信号である。また、動き検出装置３０７Ａは、バッファメモリ２０１、誤差計算回路２０２、誤差比較回路２０３、アドレス発生回路２０４からなる。
【０００９】
以上のように構成された従来の画像符号化装置について、以下その動作を説明する。符号化の最初のフレーム、すなわち第１フレームは、フレーム内・フレーム間切り替え信号３０８により、フレーム内符号化に切り替えられ、差分が取られることなく、フレームごとにフレーム内符号化される。すなわち、画像データは、２次元ブロック単位でＤＣＴ回路３０１で変換係数に変換され、量子化器３０２で変換係数を量子化された後、伝送路に送出される。一般的に、画像は相関が高いため、ＤＣＴを行うと、低い周波数成分に対応する変換係数にエネルギーが集中する。したがって、視覚的に目立たない高い周波数成分を粗く、重要な成分である低い周波数成分を細かく量子化を行うことで、画質劣化を最小限にとどめ、かつデータ量を減らすことが可能となる。上記伝送路に送出した量子化後の変換係数は、同時に逆量子化器３０３、逆ＤＣＴ変換回路３０４を経て実時間データに戻され、フレームメモリ３０５に蓄えられる。
【００１０】
一方、第２フレーム以降の画像は、フレーム内・フレーム間切り替え信号３０８により、フレーム間符号化に切り替えられ、動き補償された上で前フレームの画像との差分が取られ、フレームごとにフレーム間の画像信号の差分が符号化される。つまり、フレームメモリ３０５に格納した前フレームの画像データと動き検出装置３０７Ａで検出した２次元ブロック単位の動きベクトルとに基づいて第２フレーム以降の画像の予測値が動き補償フレーム間予測回路３０６で生成され、第２フレーム以降の画像と動き補償フレーム間予測回路３０６で生成された第２フレーム以降の予測値との差分である予測誤差が、２次元ブロック単位でＤＣＴ回路３０１で変換係数に変換され、量子化器３０２で変換係数を量子化された後、伝送路に送出される。上記伝送路に送出した量子化後の変換係数は、同時に逆量子化器３０３、逆ＤＣＴ変換回路３０４を経て実時間データに戻し、フレームメモリ３０５に蓄える。
【００１１】
つぎに、動き検出装置３０７Ａについて詳しく説明する。この動き検出装置３０７Ａでは、例えば良く知られた、全探索方法を用いて、２次元ブロック単位にフレーム間の動きベクトルを求める構成となっている。図１２は動き検出装置３０７Ａの動作を示す説明図で、以下、図１２を参照しながら動き検出動作を説明する。図１２において、３１１は第２フレームのある１つの２次元ブロックでｍ画素（水平方向）×ｎ画素（垂直方向）の矩形ブロックからなる。３１２Ａ，３１２Ｂは誤差計算を行うための第１フレームの２次元ブロックであり、大きさは２次元ブロック３１１と同じ大きさである。３１３は動き検出によって求めた動きベクトルで、２次元ブロック３１１の中心座標と２次元ブロック３１２Ｂの中心座標を結ぶものである。
【００１２】
図１２における二次元ブロック３１１は、第２フレームにおける中心座標(x,y,2) を有する２次元ブロックであり、二次元ブロックを中心座標に対応した記号S(x,y,2)で表す。また、２次元ブロック３１２Ａ，３１２Ｂは第１フレームにおける中心座標(x,y,1) ，(x+mx,y+my,1) をそれぞれ有する２次元ブロックであり、同様に二次元ブロックを中心座標に対応した記号S(x,y,2)，S(x+mx,y+my,1)で表す。ただし、ｘはフレームの中心を原点とする水平方向の画素座標を示し、ｙはフレームの中心を原点とする垂直方向の画素座標を示し、ｘ，ｙの後の１，２の数字はフレーム番号を示す。また、３１４は動きベクトルを計算する２次元ブロックを示す矩形（水平方向２ｈ、垂直方向２ｖ）の動きベクトル検出範囲であり、ｘｈは動きベクトル検出範囲の中心（図では、座標(x,y,1) ）を原点とする水平方向の局部画素座標を示し、ｙｖは動きベクトル検出範囲の中心（図では、座標(x,y,1) ）を原点とする垂直方向の局部画素座標を示している。
【００１３】
第２フレームの画像データは、フレーム間符号化されるときに、同時にバッファメモリ２０１に入力する。なお、第１フレームの画像データは、既にバッファメモリ２０１に格納されている。今、基準を第２フレーム（現フレーム）の２次元ブロック３１１とし、第１フレーム（前フレーム）の２次元ブロック３１２Ｂと第２フレーム（現フレーム）の２次元ブロック３１１の間の動きベクトル３１３を検出する。バッファメモリ２０１に入力した第１，第２フレームの画像は、ｍ×ｎ画素ずつの２次元ブロック単位で読み出し、２次元ブロック単位で動きベクトルを検出する。
【００１４】
以下、座標を用いて動きベクトルの検出手順について、具体的に説明する。アドレス発生回路２０４により、第２フレームにおける中心座標(x,y,2) を有する２次元ブロックS(x,y,2)の画像データを読み出し、この２次元ブロックS(x,y,2)を基準ブロックにとり、以下の手順でこの基準ブロックと第１フレームとの間の動きを検出する。バッファメモリ２０１には上述したように第１フレームの画像データも格納してあり、つぎに第１フレームにおける中心座標(x,y,1) を有する２次元ブロックS(x,y,1)の各画像データを読み出す。誤差計算回路２０２では、前記２つの２次元ブロックS(x,y,2)，S(x,y,1)における画像データの振幅の２乗誤差の和（以下、単に誤差という）σ(x,y)(0,0)を〔数１〕で計算し、誤差比較回路２０３に送る。
【００１５】
【数１】
0004034180.tif 000002
【００１６】
次に、アドレス発生回路２０４は、第１フレームにおける水平方向１画素隣のｍ×ｎブロックすなわち中心座標(x+1,y,1) の二次元ブロックS(x+1,y,1)のアドレスを発生する。誤差計算回路２０２では、同様にσ(x,y)(+1,0) を計算し、誤差比較回路２０３に送る。誤差比較回路２０３では、σ(x,y)(0,0)とσ(x,y)(+1,0) を比較し、小さい方を選択する。以下同様に、−ｈ＜ｘｈ＜ｈ、−ｖ＜ｙｖ＜ｖの範囲でアドレスを逐次変更しながら２次元ブロックの画像データを読み出し、σ(x,y)(xh,yv)を計算する。
【００１７】
誤差比較回路２０３は、以上で計算された誤差σ(x,y)(xh,yv)から最小値をとる誤差σ(x,y)(mx,my)を選択し、同時にアドレスmx，myを出力する。したがって、２次元ブロックS(x,y,2)における動きベクトル２１３はmv(mx, my)となる。以下、第２フレーム内において、複数に分割された２次元ブロックの全てについて上記した動作を繰り返すことにより、第２フレーム内の全ての２次元ブロックの動きベクトルが求まる。
【００１８】
動き補償フレーム間予測回路３０６は、第２フレームについて各２次元ブロック毎に検出した動きベクトルを用いて、第２フレームの動き補償した予測値を２次元ブロック単位で生成する。第２フレームの画像は、まず第１フレームの画像データと第２フレームの動きベクトルから上述した方法で生成した予測値との差分、すなわち予測誤差を計算する。その後、前述した予測誤差をフレーム毎に、第１フレームと同様の方法で符号化する。
【００１９】
以上のような構成により、現フレームを分割した２次元ブロックの位置を中心とする前フレームの所定の動きベクトル検出範囲内で、現フレームを分割した２次元ブロックと同じ大きさの２次元ブロックの画像データを逐次位置を変更しながら抽出し、前フレームの所定の動きベクトル検出範囲内の各２次元ブロックの画像データと現フレームの分割した２次元ブロックの画像データとの誤差計算および前フレームの所定の動きベクトル検出範囲内の位置の異なる２次元ブロックについての誤差比較を行うことにより、現フレームを分割した２次元ブロックに対して画像データの誤差がもっとも最も少ない前フレームの所定の動きベクトル検出範囲内の２次元ブロックの位置を探索し、現フレームを分割した２次元ブロックの位置と現フレームを分割した２次元ブロックに対して画像データの誤差がもっとも最も少ない前フレームの所定の動きベクトル検出範囲内の２次元ブロックの位置とから現フレームを分割した２次元ブロックの前フレームからの画面上の動きを示す動きベクトルを計算することになる。
【００２０】
以上の方法によれば、予測誤差を符号化することになるので、フレーム内符号化のように、画像データを直接符号化する場合に比べ、エネルギーが減少し、さらに高効率な符号化が可能となる。
【００２１】
次に第３フレーム以降の動作について説明する。第３フレーム以降の各フレームの動きベクトルを計算する際に、前フレーム（第３フレームの場合には、第２フレーム）の動きベクトルを、画像の動きの大きさを示す時間的に前に検出された動きベクトル検出範囲決定用情報としてＣＰＵ２０５に入力し、以下に示すような演算処理を行って、アドレス発生回路２０４を制御することにより動きベクトル検出範囲を変更する。
【００２２】
図１３はＣＰＵ５の処理動作を示すフローチャートである。図１３について説明すると、ステップ２１で前フレーム（例えば、第２フレーム）の全２次元ブロックの動きベクトルを読み込み、ステップ２２で通常時の動きベクトル検出範囲の水平方向の最大値ｈを示す動きベクトルの個数をカウントする。ステップ２３で個数が全ブロックの５０以上かどうかを判定し、個数が全ブロックの５０％以上である場合には画像の動きが大きいものとして水平方向の動きベクトル検出範囲を例えば２ｈに拡大する。動きベクトル検出範囲を２倍に拡大するためには、ステップ２４に示したように誤差計算回路２への入力を１サンプル毎に間引いて、すなわち１／２にサブサンプルして入力するようにアドレス発生回路４を制御する。このようにすることにより、各２次元ブロック当たりの計算量は１／２になるので、動きベクトル検出範囲が２倍になっても、総計算量は動きベクトル検出範囲を広げない場合と等しくなる。また、ステップ２５に示すようにｈ／２を超える動きベクトルの個数も同時にカウントしておき、ステップ２６でｈ／２を超える動きベクトルの個数が１０％以下であるか判定し、１０％以下であるときは、動きが少ないものとして動きベクトル検出範囲をｈ／２とする。この場合には、誤差計算回路２へは間引かずに入力する（ステップ２７）。なお、ｈを超える動きベクトルが５０％未満で、かつｈ／２を超える動きベクトルの個数が１０％を超えている場合は、動きベクトル検出範囲の変更を行わず、サブサンプリングは行わない。
【００２３】
上記動作により、画像の動きが大きいときには計算量を増加させることなく動きベクトル検出範囲を広げることが可能となる。一般的に、サブサンプルした画像から動き検出を行うと、動きの検出精度が低下するため画質劣化につながる。しかしながら動きの大きな場合は、動きが追従しないことに起因する画質劣化の方が影響が大きいため、サブサンプルした画像であっても動きベクトル検出範囲を拡大した方が画質は向上する。また、動きの少ないときはサブサンプルしない画像で動き検出を行うので、画質劣化を生ずることはなく、さらに動きベクトル検出範囲を狭めているので、探索に要する処理時間を短くできる。
【００２４】
このように、画像の動きに応じて動きベクトル検出範囲を変えることができ、大きな動きに対応することができてフレーム間差分を小さくすることができ、画質を劣化させない。しかも、動きベクトルの計算のための演算量が増えないので、動きベクトル演算のためのハードウェア量が増えることはない。
【００２５】
【特許文献１】
特開平９−２２４２４９号公報
【特許文献２】
特開平１０−２３４２０号公報
【００２６】
【発明が解決しようとする課題】
しかしながら図１１で説明した従来の動画像圧縮符号化装置では、動きの大きな画像に対しては、適正な動きベクトルを検出することが出来ず、さらに適正な動きベクトル検出範囲を設定することが困難である。
【００２７】
すなわち、図１１で説明した従来の動画像圧縮符号化装置では、図１４に示すように動きベクトル検出範囲３２０に対して、動きベクトル検出範囲３２０の最外周に乗っている動きベクトルＰの個数が全ブロック数の５０％以上になった場合に動きベクトル検出範囲３２０を拡大していた。すなわち、動きベクトル検出範囲３２０の最外周上に乗っている動きベクトルＰのみを検出していた。ところが、動きベクトル検出範囲３２０の最外周に乗っている動きベクトルＰよりも適正な動きベクトルが動きベクトル検出範囲３２０の外部に存在する可能性がある。このような場合であっても、図１１で説明した従来の動画像圧縮符号化装置では、適正な動きベクトルを検出する代わりに動きベクトルＰを検出して用いていた。
【００２８】
すなわち、従来の動画像圧縮符号化装置では、動きの大きな画像に対しては、適正な動きベクトルを検出することが出来ず、さらに適正な動きベクトル検出範囲を設定することは困難であるという課題がある。
【００２９】
本発明は、上記課題を考慮し、動きの大きな画像であっても適正な動きベクトルを検出することが出来、また、適正な動きベクトル検出範囲を設定することが出来る動画像圧縮符号化装置、動きベクトル検出方法、記録媒体、及びプログラムを提供することを目的とするものである。
【００３０】
【課題を解決するための手段】
上述した課題を解決するために、第１の本発明は、入力動画像映像を１フレームに付きＮ（但し、Ｎは２以上の自然数）個に細分化したマクロブロック動画像信号を生成するマクロブロック生成手段（２）と、
前記マクロブロック動画像信号を圧縮符号化した後に復号化して復号化動画像信号を生成する符号復号化手段（１８、１７、３、４、９、１０、１９、２０、１１）と、
前記復号化動画像信号と前記マクロブロック動画像信号とから第１の動きベクトル検出範囲内で動きベクトルを検出する動きベクトル検出手段（１２）と、
検出された前記動きベクトルのうち、前記第１の動きベクトル検出範囲の最外線である第１の最外線と、前記第１の動きベクトル検出範囲の内側にある第２の動きベクトル検出範囲の最外線である第２の最外線との間にある動きベクトルの数を第１の動きベクトルの数としてカウントする動きベクトルカウント手段（１４、１５、１６）と、
カウントされた前記第１の動きベクトルの数に基づいて前記第１の動きベクトル検出範囲を拡大する動きベクトル検出範囲決定手段（１３）とを備えた動画像圧縮符号化装置である。
【００３１】
また、第２の本発明は、前記動きベクトルカウント手段（１４、１５、１６）は、前記第２の動きベクトル検出範囲の内側にある第３の動きベクトル検出範囲内にある動きベクトルの数を第２の動きベクトルの数としてカウントし、
前記動きベクトル検出範囲決定手段（１３）は、カウントされた前記第２の動きベクトルの数に基づいて前記第１の動きベクトル検出範囲を縮小する第１の本発明の動画像圧縮符号化装置である。
【００３２】
また、第３の本発明は、前記動きベクトル検出範囲決定手段（１３）は、カウントされた前記第１の動きベクトルの数が所定の閾値より多い場合、前記第１の動きベクトル検出範囲を拡大し、前記所定の閾値より小さい場合、前記第１の動きベクトル検出範囲を拡大しないまたは前記第１の動きベクトル検出範囲を変更しない第１の本発明の動画像圧縮符号化装置である。
【００３３】
また、第４の本発明は、前記動きベクトル検出範囲決定手段（１３）は、カウントされた前記第１の動きベクトルの数が多いほど前記第１の動きベクトル検出範囲の拡大率を大きくする第１の本発明の動画像圧縮符号化装置である。
【００３４】
また、第５の本発明は、前記動きベクトル検出範囲決定手段（１３）は、カウントされた前記第２の動きベクトルの数が多いほど前記第１の動きベクトル検出範囲の縮小率を大きくする第２の本発明の動画像圧縮符号化装置である。
【００３５】
また、第６の本発明は、前記動きベクトル検出範囲決定手段（１３）は、予め複数種類の動きベクトル検出範囲を有しており、
その複数種類の動きベクトル検出範囲から、カウントされた前記第１の動きベクトルの数が多いほど大きな動きベクトル検出範囲を選択して、前記第１の動きベクトル検出範囲とする第１の本発明の動画像圧縮符号化装置である。
【００３６】
また、第７の本発明は、前記動きベクトル検出範囲決定手段（１３）は、予め複数種類の動きベクトル検出範囲を有しており、
その複数種類の動きベクトル検出範囲から、カウントされた前記第２の動きベクトルの数が多いほど小さな動きベクトル検出範囲を選択して、前記第１の動きベクトル検出範囲とする第２の本発明の動画像圧縮符号化装置である。
【００３７】
また、第８の本発明は、前記動きベクトル検出範囲決定手段（１３）は、前記第１の動きベクトル検出範囲の更新を、Ｐフレーム毎に行う、またはＰフレームをｎ個（但し、ｎ≦Ｎの自然数）に分割した分割単位毎に行い、
前記第１の動きベクトル検出範囲が更新される際、前記動きベクトル検出範囲決定手段は、前記Ｐフレームのまたは前記分割単位のカウントされた前記第１の動きベクトルの数を、前記Ｐフレームにまたは前記分割単位に存在するマクロブロック動画像信号の数で割った数が、所定の閾値以上になった場合に、前記第１の動きベクトル検出範囲を拡大する第１の本発明の動画像圧縮符号化装置であるまた、第９の本発明は、前記動きベクトル検出範囲決定手段（１３）は、前記第１の動きベクトル検出範囲の更新を、Ｐフレーム毎に行う、またはＰフレームをｎ個（但し、ｎ≦Ｎの自然数）に分割した分割単位毎に行い、
前記第１の動きベクトル検出範囲が更新される際、前記動きベクトル検出範囲決定手段は、前記Ｐフレームのまたは前記分割単位のカウントされた前記第２の動きベクトルの数を、前記Ｐフレームにまたは前記分割単位に存在するマクロブロック動画像信号の数で割った数が、所定の閾値以上になった場合に、前記第１の動きベクトル検出範囲を縮小する第１の本発明の動画像圧縮符号化装置である。
【００３８】
また、第１０の本発明は、前記動きベクトル検出手段は、前記第１の動きベクトル検出範囲を拡大する際、前記第２の動きベクトル検出範囲をも拡大する第１、３、４、６、８の本発明のいずれかの動画像圧縮符号化装置である。
【００３９】
また、第１１の本発明は、前記動きベクトル検出手段は、前記第１の動きベクトル検出範囲を縮小する際、前記第３の動きベクトル検出範囲をも縮小する第２、４、７、９の本発明のいずれかの動画像圧縮符号化装置である。
【００４０】
また、第１２の本発明は、入力動画像映像を１フレームに付きＮ（但し、Ｎは２以上の自然数）個に細分化して生成されたマクロブロック動画像信号を圧縮符号化した後に復号化して生成された復号化動画像信号と、前記マクロブロック動画像信号とから第１の動きベクトル検出範囲内で動きベクトルを検出する動きベクトル検出ステップと、
検出された前記動きベクトルのうち、前記第１の動きベクトル検出範囲の最外線である第１の最外線と、前記第１の動きベクトル検出範囲の内側にある第２の動きベクトル検出範囲の最外線である第２の最外線との間にある動きベクトルの数を第１の動きベクトルの数としてカウントする動きベクトルカウントステップと、
前記第１の動きベクトル検出範囲の最外線である第１の最外線と、前記第１の動きベクトル検出範囲の内側にある第２の動きベクトル検出範囲の最外線である第２の最外線であって、前記第１の最外線に隣接する１本もしくは複数本の第２の最外線との上にある動きベクトルの数である第１の動きベクトルの数をカウントする動きベクトルカウントステップと、
カウントされた前記第１の動きベクトルの数に基づいて前記第１の動きベクトル検出範囲を拡大する動きベクトル検出範囲決定ステップとを備えた動きベクトル検出方法である。
【００４１】
また、第１３の本発明は、第１２の本発明の動きベクトル検出方法の、入力動画像映像を１フレームに付きＮ（但し、Ｎは２以上の自然数）個に細分化して生成されたマクロブロック動画像信号を圧縮符号化した後に復号化して生成された復号化動画像信号と、前記マクロブロック動画像信号とから第１の動きベクトル検出範囲内で動きベクトルを検出する動きベクトル検出ステップと、
検出された前記動きベクトルのうち、前記第１の動きベクトル検出範囲の最外線である第１の最外線と、前記第１の動きベクトル検出範囲の内側にある第２の動きベクトル検出範囲の最外線である第２の最外線との間にある動きベクトルの数を第１の動きベクトルの数としてカウントする動きベクトルカウントステップと、
カウントされた前記第１の動きベクトルの数に基づいて前記第１の動きベクトル検出範囲を拡大する動きベクトル検出範囲決定ステップとをコンピュータに実行させるためのプログラムである。
【００４２】
また、第１４の本発明は、第１３の本発明のプログラムを担持した記録媒体であって、コンピュータにより処理可能な記録媒体である。
【００４３】
【発明の実施の形態】
以下に本発明の実施の形態を図面を参照して説明する。
【００４４】
本発明の実施の形態によれば、例えば動きベクトル検出部（手段）で検出した動きベクトルに基づき適応的に求めた動きベクトル検出範囲を、当該動きベクトル検出部（手段）に帰還する構成を備えるため、動きベクトル検出部（手段）による動きベクトルを検出する動きベクトル検出範囲を、入力動画像映像の動きに合わせて設定することができ、より適正な動きベクトルを検出するため動きベクトル検出範囲数（すなわち、モード数）が複数存在する場合であっても回路規模を増大することなく、かつ動きベクトルの検出に際しての精度を向上することができる。
【００４５】
また、本発明の実施の形態によれば、例えば入力動画像映像を細分化した単位で動きベクトル検出範囲を動きベクトル検出部に帰還する構成を備えるため、例えば１フレーム等の入力動画像映像のまとまった単位で入力動画像映像の動きに合わせた動きベクトル検出範囲を動きベクトル検出部に適切に設定でき、精度の高い動きベクトル検出範囲の設定を簡略化することができる。
【００４６】
また、本発明の実施の形態によれば、例えば、適応的に求めた動きベクトル検出範囲の結果を参照し、予め複数種類備えた動きベクトル検出範囲から実際に適用する動きベクトル検出範囲を選択する構成を備えるため、動きベクトル検出部に設定する動きベクトル検出範囲の更新を入力動画像に応じて当該複数種類から自由に合わせることができ、例えば好み等の使用者の意図に合わせた動きベクトル検出が達成できる。また、動きベクトル検出部に設定する動きベクトル検出範囲を、入力動画像映像の動きに合わせた例えば使用者の意図に合わせた動きベクトル検出が達成できる。
【００４７】
また、本発明の実施の形態によれば、例えば、帰還手段が動きベクトル検出範囲決定手段で決定した動きベクトル検出範囲を、動きベクトル検出手段及び切換領域生成手段に帰還する構成を備えるため、動きベクトル検出範囲の設定をより入力動画像映像の動きの速さに追従して決定でき、入力動画像映像の動きに合わせた動きベクトル検出範囲の即時性を高めることができる。
【００４８】
また、本発明の実施の形態によれば、例えば、（動きベクトルが動きベクトル切換領域に存在する数）／（ｎ個の期間に存在するマクロブロック数）が所定の閾値以上になった時、動きベクトル検出範囲を切り換え、切り換えた動きベクトル検出範囲を動きベクトル検出手段と切換領域生成手段とに帰還する構成を備えるため、入力動画像映像の符号化に際して発生符号量の削減ができ、入力動画像映像の動きに合わせた動きベクトルの検出をより高速化できる。
【００４９】
（第１の実施の形態）
図１は本発明の第１の実施の形態における動画像圧縮符号化装置の構成を示すブロック図であり、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）方式の場合を示した例である。１は入力端子であり、２はフレーム並べ替え器であり、３は離散コサイン変換（以下、ＤＣＴと称す）器であり、４は量子化器であり、５は可変長符号化器であり、６はバッファメモリであり、７は出力端子であり、８はレート制御器であり、９は逆量子化器であり、１０は逆ＤＣＴ器であり、１１はフレームメモリであり、１２は予測器であり、１３は検出範囲決定器であり、１４は切換領域決定器であり、１５は比較器であり、１６はカウンタであり、１７は減算器であり、１８は切換スイッチであり、１９は加算器であり、２０はスイッチである。
【００５０】
なお、本実施の形態のフレーム並べ替え器２は本発明のマクロブロック生成手段の例であり、本実施の形態の切替スイッチ１８、減算器１７、ＤＣＴ器３、量子化器４、逆量子化器９、逆ＤＣＴ器１０、加算器１９、スイッチ２０、及びフレーム目盛り１１は本発明の符号復号手段の例であり、本実施の形態の予測器１２は本発明の動きベクトル検出手段の例であり、本実施の形態の切換領域決定器１４、比較器１５、及びカウンタ１６は本発明の動きベクトルカウント手段の例であり、本実施の形態の検出範囲決定器１３は本発明の動きベクトル検出範囲決定手段の例である。
【００５１】
以上のように構成した各ブロックの動作を説明する。入力端子１から入力する原画信号は、映像音声信号の内予め音声信号と映像信号とに分離した映像信号である。映像信号は、フレーム並べ替え器２で一旦フレームに並べ替えた後、フレームを所定の画素数で細分化した単位（以下、マクロブロック単位と称す）の原画映像信号を、フレーム並べ替え器２で並べ替えた順番（以下、デコード順と称す）に切換スイッチ１８に出力する。切換スイッチ１８は、マクロブロック単位の原画映像信号（以下、マクロブロック動画像信号と称す）をそのまま出力するか、または、マクロブロック動画像信号から動き補償予測映像信号等で減算器１７により減算するかを選択する。
【００５２】
先ず、切換スイッチ１８がマクロブロック動画像信号そのままを選択する場合について説明する。切換スイッチ１８から出力するマクロブロック動画像信号がＩピクチャの場合、ＤＣＴ器３で離散コサイン変換したＤＣＴ信号を量子化器４に出力する。量子化器４では、レート制御器８から帰還する所定の量子化値で量子化を行うことで、情報量を削減した量子化信号を可変長符号化器５及び逆量子化器９に出力する。
【００５３】
可変長符号化器５に入力した量子化信号は、可変長符号化器５で符号化を施した符号化信号としてバッファメモリ６に出力し、バッファメモリ６では出力端子７から引き抜かれるまで符号化信号を格納すると共に、発生符号量をレート制御器８に出力する。レート制御器８では、発生符号量に基づく量子化値を量子化器４に帰還する。出力端子７から引き抜かれた符号化信号は、不図示のシステムエンコーダで音声信号と多重化される。
【００５４】
一方、逆量子化器９に入力した量子化信号は、所定の量子化値で逆量子化した逆量子化信号を逆ＤＣＴ器１０に出力する。逆ＤＣＴ器１０では入力した量子化信号を逆離散コサイン処理を施した逆ＤＣＴ信号を出力する。Ｉピクチャのように、切換スイッチ１８がマクロブロック動画像信号そのままを選択している場合は、切換スイッチ１８に連動してスイッチ２０はＯＦＦ状態となり、加算器１９で逆ＤＣＴ信号に加算することなく、フレームメモリ１１に１フレームになるまでマクロブロック単位の参照映像信号（以下、マクロブロック参照信号と称す）を格納する。Ｐピクチャでは、フレームメモリ１１に１フレーム分格納したフレーム単位の参照映像信号（以下、フレーム参照信号と称す）とフレーム並べ替え器２からのマクロブロック動画像信号との差分が最小となる動きベクトルを予測器１２で予測し、動きベクトル検出範囲を検出すると共に、動きベクトルと動き補償予測後の映像信号（以下、予測映像信号と称す）とを出力する。
【００５５】
切換スイッチ１８が減算器１７でマクロブロック動画像信号と予測映像信号との差分信号を選択するＰピクチャまたはＢピクチャの場合を説明する。Ｐピクチャの場合は、直前のＩピクチャまたはＰピクチャに基づく予測映像信号をマクロブロック動画像信号から減算した差分信号をＤＣＴ器３に出力し、ＤＣＴ信号を量子化器４に出力する。量子化器４から出力する量子化信号の一方は、可変長符号化器５、バッファメモリ６を経て出力端子７から引き抜かれるまでバッファメモリ７に格納されると共に、発生符号量をレート制御器８に入力し量子化器４に量子化値を帰還する。バッファメモリ６に格納された符号化信号は、前述と同様にして出力端子７からシステムエンコーダに出力される。
【００５６】
量子化信号の他方は、逆量子化器９、逆ＤＣＴ器１０を経て、加算器１９に入力する。切換スイッチ１８に連動してスイッチ２０はＯＮ状態となり、減算器１７で減算した直前のＩピクチャまたはＰピクチャを逆ＤＣＴ器１０から出力する逆ＤＣＴ信号に加算し、マクロブロック参照信号を得る。加算器１９で加算したマクロブロック参照信号を１フレームとなるまでフレームメモリ１１に格納し、予測器１２では、フレームメモリ１１からのフレーム参照信号及びマクロブロック動画像信号から差分信号が最小となる動きベクトルを動きベクトル検出範囲内で検出し、例えば図２に示すような動きベクトルと予測映像信号とを出力する。
【００５７】
なお、マクロブロック動画像信号がＢピクチャの場合は、前後のＩピクチャまたはＰピクチャに基づく予測映像信号とマクロブロック動画像信号との差分を減算器１７でとる以外はＰピクチャと同様である。但し、Ｂピクチャも考慮すると前述したようにＢピクチャは前後のピクチャを参照するため、動きベクトル検出範囲をフレーム単位等で更新するアルゴリズムが複雑化する割には精度の向上は少ないため、本実施の形態ではＢピクチャであれば次のＰピクチャを選択するまで無視するアルゴリズムを採用した。
【００５８】
こうして得た予測器１２から出力する信号の一方は、次のマクロブロック動画像信号を減算器１７で減算するための予測映像信号として供し、他方は、例えば図３に示すように動きベクトルが動きベクトル検出範囲内に存在するかを比較検証するため、マクロブロック単位の動きベクトルを比較器１５に出力する。図３における領域Ｄは動きベクトル検出範囲を狭める領域を示し、領域Ｕは動きベクトル検出範囲を広げる領域を示す。すなわち、図２に示した予測器１２で検出したマクロブロックＣijに対応する動きベクトルＶijを、切換領域決定器１４から出力される動きベクトル切換領域ＤまたはＵの何れの範囲内に存在するかを比較器１５で比較検証し、マクロブロック切替信号を適応的に求め、カウンタ１６に出力する。
【００５９】
図３に示した動きベクトル検出範囲をさらに詳細に説明する。図４は、図３に示した動きベクトル検出範囲をさらに詳細に説明した図である。図４（ａ）は、動きベクトル検出範囲の候補を示すものであり、本実施の形態では、５個の動きベクトル検出範囲の候補Ａ１、Ａ２、Ａ３、Ａ４、Ａ５がある。これらの動きベクトル検出範囲の候補は、検出範囲決定器１３に格納されている。そして、予測器１２で動きベクトルを検出する際や、切換領域決定器１４で動きベクトル切換領域を決定する際に使われる動きベクトル検出範囲は、これら５個の動きベクトル検出範囲の候補Ａ１、Ａ２、Ａ３、Ａ４、Ａ５のうちのいずれか一つが選択して使われる。
【００６０】
今、動きベクトル検出範囲の候補Ａ１、Ａ２、Ａ３、Ａ４、Ａ５のうち、Ａ３が動きベクトル検出範囲として実際に用いられていているとする。
【００６１】
図４（ｂ）に示すように、動きベクトル検出範囲Ａ３の最外線である最外線ｌ３と、動きベクトル検出範囲Ａ３の内側にある動きベクトル検出範囲Ａ３’の最外線である最外線ｌ３’との間にある領域が図３で説明した領域Ｕに対応する。図３の領域Ｕは、切換領域決定器１４で決定される。そして、後述するように領域Ｕに動きベクトルが乗っている場合が所定の条件を満たす場合には、動きベクトル検出範囲Ａ３を拡大するよう処理される。この時、同時に動きベクトル検出範囲Ａ３’、Ａ３’’も拡大するよう処理される。
【００６２】
同様に、図４（ｂ）に示すように、動きベクトル検出範囲Ａ３’の内側にある動きベクトル検出範囲Ａ３’’の最外線である最外線ｌ３’’の内側の領域が図３で説明した領域Ｄに対応する。図３の領域Ｄは、切換領域決定器１４で決定される、そして、後述するように領域Ｄに動きベクトルが乗っている場合が所定の条件を満たす場合には、動きベクトル検出範囲Ａ３を縮小するように処理される。この時、同時に動きベクトル検出範囲Ａ３’、Ａ３’’も縮小するように処理される。
【００６３】
また、切換領域決定器１４は、動きベクトル検出範囲に応じて図３の領域Ｕ及び領域Ｄを決定する。
【００６４】
なお、本実施の形態では動きベクトル検出範囲の切換には、Ｐピクチャに基づく動きベクトルのみを対象としているため、比較器１５はＰピクチャの符号化時のみ動作するが、Ｂピクチャも考慮する場合にはＢピクチャの符号化時も動作すること当然である。
【００６５】
比較器１５は、マクロブロックＣijに対応する動きベクトルＶijが図３の領域Ｕに乗っているかどうか、また、領域Ｄに乗っているかどうかを判定し、その判定結果をマクロブロック切換信号としてカウンタ１６に出力する。
【００６６】
カウンタ１６は、マクロブロック切換信号が入力されると、マクロブロック切換信号がマクロブロックＣijに対応する動きベクトルＶijが図３の領域Ｕに乗っていることを示す場合には領域Ｕに対応するカウント値を１だけ増加させ、また、マクロブロック切換信号がマクロブロックＣijに対応する動きベクトルＶijが図３の領域Ｄに乗っていることを示す場合には、領域Ｄに対応するカウント値を１だけ増加させる。
【００６７】
このようにしてカウンタ１６は、領域Ｄに対応するカウント値及び領域Ｕに対応するカウント値を１フレーム分カウントし、カウンタ１６はカウント結果をフレーム単位の切換信号（以下、フレーム切換信号と称す）として検出範囲決定器１３に出力する。フレーム切換信号が入力されると、検出範囲決定器１３は、動きベクトル検出範囲をフレーム単位で適応的に決定する。
【００６８】
すなわち、検出範囲決定器１３は、図４（ａ）に示す動きベクトル検出範囲の候補Ａ１、Ａ２、Ａ３、Ａ４、Ａ５から実際に用いる動きベクトル検出範囲を選択することにより決定する。
【００６９】
検出範囲決定器１３は、図５（ａ）に示すように、動きベクトルＱが領域Ｄに乗っている場合には、図５（ｂ）に示すように動きベクトル検出範囲Ａ４を選択することにより動きベクトル検出範囲を縮小する。さらに、詳細に説明すると、検出範囲決定器１３は、カウンタ１６から入力されたフレーム切換信号に基づいて、（動きベクトルが動きベクトル切換領域Ｄに存在する数）を（１フレームの期間に存在するマクロブロック数）で除した値が所定の閾値以上になったとき、動きベクトル検出範囲を動きベクトル切換領域Ａ４に切り換える。この時、同時に動きベクトル検出範囲Ａ３’、Ａ３’’をそれぞれＡ４’、Ａ４’’に切り換える。このように検出範囲決定器１３は、各動きベクトル検出範囲を縮小する。そして、検出範囲決定器１３が動きベクトル検出範囲を動きベクトル検出範囲Ａ４に決定すると、決定した動きベクトル検出範囲を切換領域決定器１４及び予測器１２に帰還する。切換領域決定器１４は、その決定に応じて、図５（ｂ）に示すように動きベクトル切換領域Ｄ及びＵを決定する。
【００７０】
また、検出範囲決定器１３は、図６（ｂ）に示すように、動きベクトルＲが領域Ｕに乗っている場合には、図６（ｂ）に示すように動きベクトル検出範囲Ａ２を選択することにより動きベクトル検出範囲を拡大する。さらに、詳細に説明すると、検出範囲決定器１３は、カウンタ１６から入力されたフレーム切換信号に基づいて、（動きベクトルが動きベクトル切換領域Ｕに存在する数）を（１フレームの期間に存在するマクロブロック数）で除した値が所定の閾値以上になったとき、動きベクトル検出範囲を動きベクトル検出範囲Ａ２に切り換える。この時、同時に動きベクトル検出範囲Ａ３’、Ａ３’’をそれぞれＡ２’、Ａ２’’に切り換える。このように検出範囲決定器１３は、各動きベクトル検出範囲を拡大する。そして、検出範囲決定器１３が動きベクトル検出範囲を動きベクトル検出範囲Ａ２に決定すると、決定した動きベクトル検出範囲を切換領域決定器１４及び予測器１２に帰還する。切換領域決定器１４は、その決定に応じて、図６（ｂ）に示すように動きベクトル切換領域Ｄ及びＵを決定する。
【００７１】
また、検出範囲決定器１３は、（動きベクトルが動きベクトル切換領域Ｄに存在する数）を（１フレームの期間に存在するマクロブロック数）で除した値が所定の閾値より小さく、かつ、（動きベクトルが動きベクトル切換領域Ｕに存在する数）を（１フレームの期間に存在するマクロブロック数）で除した値が所定の閾値より小さいときは、動きベクトル検出範囲を拡大も縮小もしない。すなわち、動きベクトル検出範囲を変更しない。
【００７２】
予測器１２に帰還された動きベクトル検出範囲は、フレーム単位で最適な動きベクトル検出範囲として、次のフレーム単位で予測器１２において動きベクトルを予測する際に、動きベクトル検出範囲として用いられる。
【００７３】
例えば、検出範囲決定器１３が図５（ｂ）に示すように動きベクトル検出範囲を動きベクトルＡ４に決定した場合には、次のフレーム単位で予測器１２は、動きベクトルを予測する際に、動きベクトル検出範囲Ａ４を用いる。
【００７４】
同様に、検出範囲決定器１３が図６（ｂ）に示すように動きベクトル検出範囲を動きベクトルＡ２に決定した場合には、次のフレーム単位で予測器１２は、動きベクトルを予測する際に、動きベクトル検出範囲Ａ２を用いる。
【００７５】
次のフレーム単位でも上記と同様の動作を行い、適応的に予測器１２で用いられる動きベクトル検出範囲が次々と更新されていく。本実施の形態では、上記のような動作をＰフレーム毎に行う。すなわち、図７に動きベクトル検出範囲更新のタイミングを示す。Ｐフレーム２０で検出された動きベクトルは、検出範囲決定器１３が次のＰフレーム２１の動きベクトル検出範囲を決定するのに用いられる。このように本実施の形態の動画像圧縮符号化装置は、Ｐフレーム毎に動きベクトル検出範囲を切り換えていくものである。
【００７６】
特に大きな動きを有する入力動画像映像の場合には、図１１で説明した従来の動画像圧縮符号化装置では、動きベクトル検出範囲３２０の最外周上に乗っている動きベクトルＰのみを検出していたので、動きベクトル検出範囲３２０の最外周に乗っている動きベクトルＰよりも適正な動きベクトルが動きベクトル検出範囲３２０の外部に存在してもそのような動きベクトルを検出して用いることができなかった。このような場合であっても、図１１で説明した従来の動画像圧縮符号化装置では、適正な動きベクトルを検出する代わりに動きベクトルＰを検出して用いていた。
【００７７】
これに対して本実施の形態の動画像圧縮符号化装置では、動きベクトル検出範囲を拡大する際には、図３、図４、図５、図６などにそれぞれ示した領域Ｕに乗っている動きベクトルを考慮の対象とする。従って、従来の技術で動きベクトル検出範囲の外側により適正な動きベクトルが存在し、そのような適正な動きベクトルが検出出来ない場合であっても、本実施の形態のように領域Ｕを動きベクトルの考慮の対象とすることにより、従来の技術では検出できなかった適正な動きベクトルを検出することが出来るようになる。
【００７８】
このように、本実施の形態によれば、動きの大きな入力動画像映像であっても適正な動きベクトルを検出することが出来、また、適正な動きベクトル検出範囲を設定することが出来るようになる。
【００７９】
以上のように、本実施の形態の動画像圧縮符号化装置は、圧縮符号化することにより動画像信号の動きベクトルを検出する動きベクトル検出手段２１の処理動作に並行して、動きベクトルを検出する動きベクトル検出範囲を最前のフレーム単位で最適化した範囲に置き換える構成であるため、動きベクトル検出手段２１に供する回路等のハードウェア規模を増大することなく、動きベクトルの検出を最適化できる効果がある。また、動きの大きな画像であっても適正な動きベクトルを検出することが出来、また、適正な動きベクトル検出範囲を設定することが出来るようになる。
【００８０】
なお、本実施の形態では、検出範囲決定器１３が５個の動きベクトル検出範囲の候補から実際に用いる動きベクトル検出範囲を選択するとして説明したが、これに限らない。３個の動きベクトル検出範囲の候補から実際の動きベクトル検出範囲を選択してもよく、また７個の動きベクトル検出範囲の候補から実際の動きベクトル検出範囲を選択しても構わない。本実施の形態の検出範囲決定器１３は、複数個の動きベクトル検出範囲の候補を格納しており、その中から実際に用いる動きベクトル検出範囲を選択することにより決定しさえすればよい。
【００８１】
さらに、本実施の形態では、検出範囲決定器１３が５個の動きベクトル検出範囲から実際に用いる動きベクトル検出範囲を選択するとして説明したが、これに限らない。検出範囲決定器１３は、動きベクトルが動きベクトル切換領域Ｕに存在する数が多いほど動きベクトル検出範囲の拡大率を大きくしても構わない。
【００８２】
また、この場合、検出範囲決定器１３は、予め保持している動きベクトル検出範囲から動きベクトルが動きベクトル切換領域Ｕに存在する数が多いほど大きな動きベクトル検出範囲を選択しても構わないし、また、検出範囲決定器１３が予め動きベクトル検出範囲を保持せず、動きベクトルが動きベクトル切換領域Ｕに存在する数が多いほど大きな動きベクトル検出範囲を生成しても構わない。
【００８３】
また、検出範囲決定器１３は、動きベクトルが動きベクトル切換領域Ｄに存在する数が多いほど動きベクトル検出範囲の縮小率を大きくしても構わない。
【００８４】
また、この場合、検出範囲決定器１３は、予め保持している動きベクトル検出範囲から動きベクトルが動きベクトル切換領域Ｄに存在する数が多いほど小さな動きベクトル検出範囲を選択しても構わないし、また、検出範囲決定器１３が予め動きベクトル検出範囲を保持せず、動きベクトルが動きベクトル切換領域Ｄに存在する数が多いほど小さな動きベクトル検出範囲を生成しても構わない。
【００８５】
なお、本実施の形態の動画像圧縮符号化装置は、図８（ａ）、図８（ｂ）、図８（ｃ）に示すように、動きベクトル検出範囲が狭い場合には画素単位に近付いた動きベクトルの検出となり、逆に広い場合には広くなった分だけ検出する動きベクトルは間引かれた検出となる。すなわち、図８（ａ）のように動きベクトル検出範囲Ａ１のように検出範囲が広い場合には、黒印で示すように間引かれた画素に関する動きベクトルが検出され、逆に図８（ｃ）のように動きベクトル検出範囲Ａ５のように検出範囲が狭い場合には、黒印で示すように、画素単位で動きベクトルが検出される。従って、動きベクトル検出範囲が広くなってもその広さに応じて動きベクトルを求める画素が間引かれるので、動きベクトル検出のための演算量が増加することはない。
【００８６】
そして、図４に示したように、動きベクトル検出範囲を複数種類備え、当該複数種類の動きベクトル検出範囲から動きベクトル検出範囲を選択する構成を備えると、動きベクトル検出範囲を入力映像の動きの大きさに応じて適宜拡大・縮小することで最適化を図れ、動きベクトル検出精度の向上及びそれによる発生符号量の削減ができ、復号化後の動画像の高画質化が達成できる。
【００８７】
また、動きベクトル検出に要する記憶手段等の回路を、当該動きベクトル検出範囲の内最も狭い範囲に対応する規模とすることができ、動きベクトル検出精度向上に起因して高画質の復号画像を実現できる装置を安価にすることもできる。
【００８８】
上記実施の形態における動きベクトル検出範囲１３から、動きベクトル検出範囲に応じて動きベクトル検出範囲切換領域を生成する切換領域決定器１４と、当該動きベクトル検出範囲切換領域と検出された動きベクトルとを比較し当該動きベクトルが動きベクトル切換領域内の存在を判定する比較器１５とを備え、カウンター１６が当該動きベクトル切換領域と比較器１５の出力信号の判定信号とを格納し、カウンター１６に格納した判定信号を基に動きベクトル検出範囲を決定する構成を備えると、動きベクトル検出手段２１で検出する動きベクトルの動きベクトル検出範囲の設定を、入力動画像映像の動きに追従することができ、入力動画像映像の動きに合わせた動きベクトル検出範囲の即時性を向上できる。
【００８９】
なお、本実施の形態では、検出範囲決定器１３から予測器１２に出力する動きベクトル検出範囲をフレーム単位で更新するとして説明したが、これに限らない。フレーム単位で動きベクトル検出範囲を適応的に決定するとして説明したが、これに限らない。
【００９０】
検出範囲決定器１３から予測器１２に出力する動きベクトル検出範囲の更新を、ｎ（ｎはｎ≦Ｎを満たす自然数）個の期間で行っても構わない。ただし、Ｎを１フレームに存在するマクロブロックの総数とし、１フレームを複数個に分割した場合の一つの分割単位のマクロブロックの総数をｎ個とする。この場合、カウンター１６は、ｎ個の期間での動きベクトルが動きベクトル切換領域中に存在する数も記憶する構成であり、（動きベクトルが動きベクトル切換領域に存在する数）を（ｎ個の期間に存在するマクロブロック数）で除した値が所定の閾値以上になったとき、動きベクトル検出範囲を切り換え、当該切り換えた動きベクトル検出範囲を動きベクトル検出手段２１と切換領域決定器１４とに帰還する。
【００９１】
例えば、（動きベクトルが領域Ｄに存在する数）を（ｎ個の期間に存在するマクロブロック数）で除した値が所定の閾値以上になったとき、動きベクトル検出範囲を例えば図５（ａ）、図５（ｂ）に示すように動きベクトル検出範囲Ａ３から動きベクトル検出範囲Ａ４に切り換える。すなわち、動きベクトル検出範囲を縮小するまた、例えば（動きベクトルが領域Ｕに存在する数）を（ｎ個の期間に存在するマクロブロック数）で除した値が所定の閾値以上になったとき、動きベクトル検出範囲を例えば図６（ａ）、図６（ｂ）に示すように動きベクトル検出範囲Ａ３から動きベクトル検出範囲Ａ２に切り換える。すなわち動きベクトル検出範囲を拡大する。
【００９２】
このような構成を採用すると、入力動画像映像の動きに合わせた動きベクトルの検出精度の向上と発生符号量の削減とが実現出来る。
【００９３】
次に、上述した一連の処理の流れを図１に示したブロック図を参照しながら、図９を用いて説明する。
【００９４】
先ず、入力端子１から入力された入力動画像映像は、デコード順にフレーム並べ替え器２で並べ替えられ、ステップ３１で１フレームに付きＮ個（ただしＮは２以上の自然数）に細分化したマクロブロック動画像信号となる。
【００９５】
フレーム並べ替え器２からデコード順に抜き取ったマクロブロック動画像信号は、ステップ３２でＩピクチャかＩピクチャ以外かを切替スイッチ１８で判定する。切替スイッチ１８でマクロブロック動画像信号がＩピクチャであると判定されると、スイッチ２０をＯＦＦ状態にする。
【００９６】
Ｉピクチャと判定されたマクロブロック動画像信号は、ステップ３３でＤＣＴ器３、量子化器４、逆量子化器９、逆ＤＣＴ器１０、加算器１９を経てフレームメモリ１１にＩピクチャのマクロブロック動画像の復号化信号を格納する。
【００９７】
次に、ステップ３４で１フレーム分のマクロブロック動画像信号の圧縮復号の終了を判断し、１フレームに達していないときはステップ３２に戻る。
【００９８】
並び替え器２から抽出したマクロブロック動画像信号がＩピクチャかをステップ３２で判断し、Ｉピクチャでない場合はステップ３５でＰピクチャかＢピクチャかを切替スイッチ１８にて判定する。
【００９９】
マクロブロック動画像信号がＰピクチャと判定されると、ステップ３６で当該マクロブロック動画像信号と予測器１２から出力される予測映像信号とを減算器１７にて減算し差分信号を出力すると共に、スイッチ２０をＯＮ状態にする。
【０１００】
ステップ３６で減算した差分信号は、ステップ３７でＤＣＴ器３、量子化器４、逆量子化器９、逆ＤＣＴ器１０を経て、加算器１９でＰピクチャの逆ＤＣＴ信号と予測器１２から出力される予測映像信号（本例の場合は直前のＩピクチャからの予測映像信号であるが、Ｐピクチャが続く場合では直前のＰピクチャからの予測映像信号となる）とを加算し、マクロブロック参照信号をフレームメモリ１１に１フレームとなるまで格納する。それと共に、予測器１２にてフレーム参照信号とフレーム並べ替え器２からのマクロブロック動画像信号との差分が最小となる動きベクトルを用いて予測映像信号を生成する。
【０１０１】
ステップ３７で生成した予測映像信号は、ステップ３８で比較器１５に入力され、比較器１５で当該予測映像信号と切換領域決定器１４から出力される動きベクトル切換領域とを比較することでマクロブロック切換信号をカウンタ１６に出力する。カウンタ１６は、１フレームになるまでマクロブロック切換信号を格納する。
【０１０２】
次にステップ３４で、１フレーム分のマクロブロック動画像信号の圧縮復号の終了を判断し、１フレームに達していないときはステップ３２に戻る。なお、上述の例ではスイッチ２０をＯＮ状態にするステップをステップ３６としたが、加算器１９で加算を行う前であれば何れであっても良く、ステップ３５またはステップ３７であっても良いこと勿論である。
【０１０３】
並び替え器２から抽出されたマクロブロック動画像信号がＩピクチャかをステップ３２で判断し、Ｉピクチャでない場合はステップ３５でＰピクチャかＢピクチャかを切替スイッチ１８にて判定する。
【０１０４】
マクロブロック動画像信号がＢピクチャと判定されると、ステップ３９で当該マクロブロック動画像信号と比較器１２から出力する予測映像信号とを減算器１７にて減算し差分信号を出力する。ステップ３９で減算した差分信号は、ステップ４０でＤＣＴ器３及び量子化器４を経て量子化信号を生成し、ステップ３４で、１フレーム分のマクロブロック動画像信号の圧縮復号の終了を判断し、１フレームに達していないときはステップ３２に戻る。
【０１０５】
なお、ステップ３４で１フレームに達していると判断した場合には、ステップ４１でカウンタ１６からフレーム切換信号を検出範囲決定器１３に出力し、検出範囲決定器１３はフレーム単位の動きベクトル検出範囲を予測器１２に帰還すると共に、切換領域決定器１４にも出力し、切換領域決定器１４で動きベクトル切換領域を生成し、比較器１５に出力する。
【０１０６】
ステップ４１でフレーム単位の動きベクトル検出範囲を生成し予測器１２に出力した後、ステップ４２で動画像映像信号が終了し次のフレームの有無を判定し、次のフレームがある場合はフレーム並べ替え器２に戻り、次のフレームがない場合は処理を終了する。
【０１０７】
なお、上述の実施の形態では動きベクトル検出範囲の更新をフレーム単位で行う場合を説明したが、画面単位、フレーム単位、グループオブピクチャ（ＧＯＰ）単位等入力動画像信号の所定のまとまり単位で行うこともできる。但し、まとまり単位に応じて、動きベクトル検出範囲決定器１３及びフレームメモリ１１等を変化させる必要がある。
【０１０８】
また、上述の実施の形態ではＭＰＥＧ圧縮を例に採り説明したが、圧縮復号化方法はＭＰＥＧに限定されるものではなく、例えばＨ．２６１またはＨ．２６３等の時間方向の冗長度を削減するフレーム間予測を行う圧縮方式であれば何れでも適応できる。
【０１０９】
本実施の形態によれば、動きベクトル検出のための検出範囲が複数存在しても、ハードウェア規模を増大させることなく、動画像圧縮符号化を行う際に、入力映像の動きの速さに応じて、最適な動きベクトル検出範囲を選択出来るという作用を有し、その結果、高画質が実現できるという、優れた効果が得られる。また、動きの大きな画像であっても適正な動きベクトルを検出することが出来、また、適正な動きベクトル検出範囲を設定することが出来る。
【０１１０】
又、本発明のプログラムは、上述した本発明の動きベクトル検出方法の全部又は一部のステップ（又は、工程、動作、作用等）の動作をコンピュータにより実行させるためのプログラムであって、コンピュータと協働して動作するプログラムである。
【０１１１】
又、本発明の記録媒体は、上述した本発明の動きベクトル検出方法の全部又は一部のステップ（又は、工程、動作、作用等）の全部又は一部の動作をコンピュータにより実行させるためのプログラムを担持した記録媒体であり、コンピュータにより読み取り可能且つ、読み取られた前記プログラムが前記コンピュータと協動して前記動作を実行する記録媒体である。
【０１１２】
尚、本発明の上記「一部の手段（又は、装置、素子等）」とは、それらの複数の手段の内の、一つ又は幾つかの手段を意味し、本発明の上記「一部のステップ（又は、工程、動作、作用等）」とは、それらの複数のステップの内の、一つ又は幾つかのステップを意味する。
【０１１３】
又、本発明の上記「手段（又は、装置、素子等）の機能」とは、前記手段の全部又は一部の機能を意味し、本発明の上記「ステップ（又は、工程、動作、作用等）の動作」とは、前記ステップの全部又は一部の動作を意味する。
【０１１４】
又、本発明のプログラムの一利用形態は、コンピュータにより読み取り可能な記録媒体に記録され、コンピュータと協働して動作する態様であっても良い。
【０１１５】
又、本発明のプログラムの一利用形態は、伝送媒体中を伝送し、コンピュータにより読みとられ、コンピュータと協働して動作する態様であっても良い。
【０１１６】
又、本発明のデータ構造としては、データベース、データフォーマット、データテーブル、データリスト、データの種類などを含む。
【０１１７】
又、記録媒体としては、ＲＯＭ等が含まれ、伝送媒体としては、インターネット等の伝送媒体、光・電波・音波等が含まれる。
【０１１８】
又、上述した本発明のコンピュータは、ＣＰＵ等の純然たるハードウェアに限らず、ファームウェアや、ＯＳ、更に周辺機器を含むものであっても良い。
【０１１９】
尚、以上説明した様に、本発明の構成は、ソフトウェア的に実現しても良いし、ハードウェア的に実現しても良い。
【０１２０】
【発明の効果】
以上説明したところから明らかなように、本発明は、動きの大きな画像であっても適正な動きベクトルを検出することが出来、また、適正な動きベクトル検出範囲を設定することが出来る動画像圧縮符号化装置、動きベクトル検出方法、記録媒体、及びプログラムを提供することが出来る。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態における動画像圧縮符号化装置のブロック図
【図２】本発明の第１の実施の形態におけるマクロブロックの動きベクトルの一例を示す図
【図３】本発明の第１の実施の形態における動きベクトルと動きベクトル切換領域との一例を示す図
【図４】（ａ）本発明の第１の実施の形態における動きベクトル検出範囲の候補を示す図
（ｂ）本発明の第１の実施の形態における動きベクトル検出範囲を示す図
【図５】（ａ）本発明の第１の実施の形態における現在の動きベクトル検出範囲の例を示す図
（ｂ）本発明の第１の実施の形態における更新後の動きベクトル検出範囲の例を示す図
【図６】（ａ）本発明の第１の実施の形態における現在の動きベクトル検出範囲の例を示す図
（ｂ）本発明の第１の実施の形態における更新後の動きベクトル検出範囲の例を示す図
【図７】本発明の第１の実施の形態における動きベクトル検出範囲の更新のタイミングを示す図
【図８】（ａ）本発明の第１の実施の形態における動きベクトル検出範囲が大きい場合の動きベクトルを検出する際の画素のサンプリングの概要を示す図
（ｂ）本発明の第１の実施の形態における動きベクトル検出範囲が中程度の場合の動きベクトルを検出する際の画素のサンプリングの概要を示す図
（ｃ）本発明の第１の実施の形態における動きベクトル検出範囲が小さい場合の動きベクトルを検出する際の画素のサンプリングの概要を示す図
【図９】本発明の第１の実施の形態における動きベクトル切換領域決定の流れ図
【図１０】従来の動きベクトル検出装置の構成を示すブロック図
【図１１】従来の動画像圧縮符号化装置の構成を示すブロック図
【図１２】従来の動画像圧縮符号化装置を構成する動き検出装置３０７Ａの動作を示す説明図
【図１３】従来の動画像圧縮符号化装置を構成するＣＰＵ５の処理動作を示すフローチャート図
【図１４】従来の動画像圧縮符号化装置の動きベクトル検出範囲と動きベクトルの一例を示す図
【符号の説明】
１  入力端子
２  フレーム並べ替え器
３  ＤＣＴ器
４  量子化器
５  可変長符号化器
６  バッファメモリ
７  出力端子
８  レート制御器
９  逆量子化器
１０  逆ＤＣＴ器
１１  フレームメモリ
１２  予測器
１３  動きベクトル検出範囲決定器
１４  切換領域決定器
１５  比較器
１６  カウンター
１７  減算器
１８  切替スイッチ
１９  加算器
２０  スイッチ
２１  動きベクトル検出手段
【図１】
0004034180.tif 000003
【図２】
0004034180.tif 000004
【図３】
0004034180.tif 000005
【図４】
0004034180.tif 000006
【図５】
0004034180.tif 000007
【図６】
0004034180.tif 000008
【図７】
0004034180.tif 000009
【図８】
0004034180.tif 000010
【図９】
0004034180.tif 000011
【図１０】
0004034180.tif 000012
【図１１】
0004034180.tif 000013
【図１２】
0004034180.tif 000014
【図１３】
0004034180.tif 000015
【図１４】
0004034180.tif 000016