(57)【要約】【課題】１画素精度より高精度の動きベクトル探索において，高い性能を維持しつつメモリの利用効率を高め，計算量を削減できるようにする。【解決手段】直交変換器１２は，参照フレームのすべての整数画素位置のブロックに対してＤＣＴを行なう。また，符号化対象フレームの符号化対象ブロックに対してＤＣＴを行なう。ブロック係数線形和計算器１３は，符号化対象ブロックに対応する探索範囲内の１画素精度より高精度の位置の候補ブロックのＤＣＴ係数を，近傍の整数画素位置のブロックのＤＣＴ係数の線形和により求める。ブロック係数差分器１４は，符号化対象ブロックの係数と候補ブロックの係数との差分を求め，係数差分評価器１５は，係数差分の絶対値和が最小となる候補ブロックの位置を探索し動きを検出する。【選択図】        図１７
2004350111.tif 000002
【特許請求の範囲】
【請求項１】
符号化対象フレームの符号化対象ブロックと参照フレームの候補ブロックの直交変換をそれぞれ行なってからそれらの直交変換係数の差分を求め，それを評価して動きベクトル探索を行なうことにより，動画像を符号化する動画像符号化方法において，
参照フレーム上の整数画素位置に重複して配置されるＭ×Ｎ画素ブロックに対してＭ×Ｎ直交変換を行ない直交変換係数を得て記憶するステップと，
前記参照フレームにおける１画素精度より高精度の位置に配置されるＭ×Ｎ画素ブロックの直交変換係数を，その近傍の整数画素位置に配置された複数のＭ×Ｎ画素ブロックの直交変換係数の線形和によって得るステップと，
符号化対象のＭ×Ｎ画素ブロックをＭ×Ｎ直交変換して得られる直交変換係数と，前記参照フレームにおけるＭ×Ｎ画素ブロックの直交変換係数との差分を求め，その評価値が最もよい位置を求めることにより１画素精度より高精度の動き検出を行なうステップとを有する
ことを特徴とする動画像符号化方法。
【請求項２】
請求項１記載の動画像符号化方法において，
前記符号化対象ブロックが複数のＭ×Ｎ画素ブロックからなり，符号化対象ブロックの直交変換係数と参照フレームにおける各ブロックの直交変換係数との差分の評価を複数ブロックに渡ってまとめて行ない，動き検出を行なう
ことを特徴とする動画像符号化方法。
【請求項３】
請求項１記載の動画像符号化方法において，
前記動き検出を行うステップでは，複数の参照画像について，符号化対象のＭ×Ｎ画素ブロックをＭ×Ｎ直交変換して得られる直交変換係数と，各参照フレームにおけるＭ×Ｎ画素ブロックの直交変換係数との差分を求め，その評価値が最もよい位置を求め，それぞれの参照画像における差分の評価値が最もよい位置のブロックの直交変換係数の線形和と符号化対象ブロックの直交変換係数との差分を量子化して符号化する
ことを特徴とする動画像符号化方法。
【請求項４】
請求項１記載の動画像符号化方法において，
参照画像における評価値が最もよい位置のブロックの直交変換係数と符号化対象ブロックの直交変換係数の差分を量子化して符号化する
ことを特徴とする動画像符号化方法。
【請求項５】
請求項１記載の動画像符号化方法において，
参照画像における評価値が最もよい位置のブロックの画素と符号化対象ブロックの画素との差分をとり，それを直交変換して得られる直交変換係数を量子化して符号化する
ことを特徴とする動画像符号化方法。
【請求項６】
請求項１記載の動画像符号化方法において，
始めに整数画素位置のブロックの直交変換係数との差分を評価し，その後，最も評価値のよい位置の周辺の１画素精度より高精度の位置に配置されたブロックの直交変換係数を評価し，階層動き探索を行う
ことを特徴とする動画像符号化方法。
【請求項７】
符号化対象フレームの符号化対象ブロックと参照フレームの候補ブロックの直交変換をそれぞれ行なってからそれらの直交変換係数の差分を求め，それを評価して動きベクトル探索を行なうことにより，動画像を符号化する動画像符号化装置において，
参照フレーム上の整数画素位置に重複して配置されるＭ×Ｎ画素ブロックに対してＭ×Ｎ直交変換を行ない直交変換係数を得て記憶する手段と，
前記参照フレームにおける１画素精度より高精度の位置に配置されるＭ×Ｎ画素ブロックの直交変換係数を，その近傍の整数画素位置に配置された複数のＭ×Ｎ画素ブロックの直交変換係数の線形和によって算出する手段と，
符号化対象のＭ×Ｎ画素ブロックをＭ×Ｎ直交変換して得られる直交変換係数と，前記参照フレームにおけるＭ×Ｎ画素ブロックの直交変換係数との差分を求める手段と，
求めた差分の評価値が最もよい位置を求めることにより１画素精度より高精度の動き検出を行なう係数差分評価手段と，
前記係数差分評価手段の評価結果に従って，参照画像における評価値が最もよい位置のブロックの直交変換係数と符号化対象ブロックの直交変換係数の差分，または参照画像における評価値が最もよい位置のブロックの画素と符号化対象ブロックの画素との差分を直交変換して得られる直交変換係数を，量子化して符号化する符号化手段とを備える
ことを特徴とする動画像符号化装置。
【請求項８】
請求項７記載の動画像符号化装置において，
前記係数差分評価手段は，複数のＭ×Ｎ画素ブロックからなる符号化対象ブロックの直交変換係数と参照フレームにおける各ブロックの直交変換係数との差分の評価を複数ブロックに渡ってまとめて行ない，動き検出を行なう
ことを特徴とする動画像符号化装置。
【請求項９】
請求項７記載の動画像符号化装置において，
前記差分を求める手段は，複数の参照画像について，符号化対象のＭ×Ｎ画素ブロックをＭ×Ｎ直交変換して得られる直交変換係数と，各参照フレームにおけるＭ×Ｎ画素ブロックの直交変換係数との差分を求め，
前記係数差分評価手段は，求めた差分の評価値が最もよい位置を求め，
前記符号化手段は，それぞれの参照画像における差分の評価値が最もよい位置のブロックの直交変換係数の線形和と符号化対象ブロックの直交変換係数との差分を量子化して符号化する
ことを特徴とする動画像符号化装置。
【請求項１０】
請求項７記載の動画像符号化装置において，
前記係数差分評価手段では，始めに整数画素位置のブロックの直交変換係数との差分を評価し，その後，最も評価値のよい位置の周辺の１画素精度より高精度の位置に配置されたブロックの直交変換係数を評価し，階層動き探索を行う
ことを特徴とする動画像符号化装置。
【請求項１１】
請求項１から請求項６までのいずれか１項に記載された動画像符号化方法をコンピュータに実行させるための動画像符号化プログラム。
【請求項１２】
請求項１から請求項６までのいずれか１項に記載された動画像符号化方法をコンピュータに実行させるためのプログラムを記録した動画像符号化プログラムの記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，動画像符号化において，画像の直交変換により得られる係数を用いて動きベクトル探索を行なうことにより，性能の向上と計算量および記憶容量の削減とを実現する技術に関するものである。
【０００２】
【従来の技術】
一般に，動画像符号化においては，符号化対象画像と参照画像との間で動きベクトル探索を行ない，符号化対象ブロックごとに，その動きベクトルが示す位置の参照画像から予測画像を生成し，符号化対象画像と予測画像の差分を直交変換し，直交変換係数を量子化して符号化を行なうものが多い。
【０００３】
このような符号化において，動きベクトル探索では，通常，符号化対象ブロックと参照画像における探索範囲内の各候補ブロックとの画素値同士の差分を評価し，最も評価値のよい候補ブロックを指し示すベクトルを，動きベクトルとする。
【０００４】
片方向予測などの一つの参照画像を用いる予測方法では，最も評価値のよかった候補ブロックの画像がそのまま符号化対象ブロックの予測画像として用いられ，符号化対象ブロックとの差分が直交変換される。一方，両方向予測などの複数の参照画像を用いる予測方法では，それぞれの参照画像において最も評価値のよかった候補ブロックの各画素の線形和によって得られる画像が予測画像として用いられ，符号化対象ブロックとの差分が直交変換される。
【０００５】
ブロック同士の画素の差分を評価する指標としては，差分絶対値和や差分２乗和などの指標がよく用いられる。これらの指標は，その値が小さい程その直交変換係数を符号化した場合の符号量が小さいという仮定に基づいて用いられている。しかし，このような仮定は必ずしも正確ではないため，この方法は，計算量が少ない代わりに符号化効率の低下につながっている。
【０００６】
直交変換係数の符号量が最も小さくなる動きベクトルをより正確に求めるために，符号化対象ブロックと各候補ブロックの画素の差分の直交変換係数を求め，その直交変換係数を評価して動きベクトルを決定する方法がある。例えば，符号化対象ブロックと各候補ブロックの画素の差分を直交変換し，その直交変換係数を符号化して符号量を比較し，動きベクトルを決定する。また，より計算を簡略した方法として，符号化対象ブロックと各候補ブロックの画素の差分を直交変換し，その直交変換係数の絶対値和を比較して動きベクトルを決定する方法がある。しかし，いずれの方法も計算量が非常に多いという問題がある。
【０００７】
そのため，より計算量を削減する方法として，符号化対象ブロックと候補ブロックの画素の差分をとってから直交変換を行なって直交変換係数を求めるのではなく，符号化対象ブロックと候補ブロックの直交変換をそれぞれ行なってから直交変換係数同士の差分を求める方法がある。これは，直交変換の線形性により，ほぼ同一の直交変換係数を得ることができることに着目した方法である。
【０００８】
一般に，符号化フレーム内の各符号化ブロックの探索範囲が重なり合っているため，各符号化ブロックの候補ブロックの多くは，同時に他の符号化ブロックの候補ブロックでもある。直交変換を行なってから直交変換係数の差分を評価する探索方法では，重複する候補ブロックについてはそれぞれ１度しか直交変換を行なわないので，計算量を大幅に削減することができる。
【０００９】
例えば，符号化対象フレーム上のすべての符号化対象ブロックを直交変換しておき，参照フレーム上のある候補ブロックを直交変換し，その候補ブロックの直交変換係数と複数の符号化対象ブロックの直交変換係数との差分をとり，その評価値を符号化対象ブロックごとに記憶しておく方法がある（例えば，特許文献１参照）。これを参照フレーム上のすべての候補ブロックについて行ない，最後に，それぞれの符号化対象ブロックごとに，もっとも評価値のよかった候補ブロックの位置を指すベクトルをその符号化対象ブロックに対する動きベクトルとして決定する。特許文献１の方法には，候補ブロックの重複分に相当する回数の直交変換が削減できるという長所がある。
【００１０】
また，特許文献１の方法では，はじめに参照フレームのすべての候補ブロックの直交変換係数を記憶しておき，符号化対象ブロックごとに探索範囲内の候補ブロックの係数との差分をとり，動きベクトルを決定していくのではなく，はじめにすべての符号化対象ブロックの直交変換係数を記憶しておき，候補ブロックごとに複数の符号化対象ブロックの係数との差分をとり，最後にまとめて動きベクトルを決定する方法をとっている。この方法は，候補ブロックは互いに重なり合っているが，符号化対象ブロックは重なり合っていないために，符号化対象ブロックのほうが候補ブロックよりもブロック数が少なく，係数を記憶しておく容量が少なくてすむという長所がある。
【００１１】
例えば，画面境界の例外処理を無視した場合，参照フレームのすべての整数画素位置のＭ×Ｎ画素の候補ブロックについて直交変換係数を記憶しておくのに必要な記憶容量は，すべての符号化対象Ｍ×Ｎ画素ブロックの直交変換係数を記憶しておくのに比べて，Ｍ×Ｎ倍程度大きくなる。さらに，探索が１画素精度より高精度，例えば１／Ａ画素精度の探索を行なう場合，参照フレーム上の候補ブロックの数はＡ×Ａ倍に増えるため，すべてのＭ×Ｎ画素候補ブロックについてその直交変換係数を記憶しておくのに必要な記憶容量は，すべての符号化対象Ｍ×Ｎ画素ブロックの直交変換係数を記憶しておくのに比べて，Ｍ×Ｎ×Ａ×Ａ倍程度大きくなる。
【００１２】
図１８〜図２０は，０．５  画素精度の候補ブロックの直交変換係数を記憶する方法を示す図である。図１８〜図２０において，（ア）は参照フレームの画像を示し，（イ）は参照フレームの  ０．５画素精度補間画像を示している。（ウ）は（イ）の参照フレームの  ０．５画素精度補間画像の各４×４の直交変換係数を示す。（エ）は符号化対象ブロックを示し，（オ）は符号化対象ブロックの直交変換係数を示す。
【００１３】
今，（エ）に示す符号化対象ブロックについて，（ア）に示す参照フレームの画像上で動きベクトルの探索を行なうものとする。このとき，０．５  画素精度で動き検出を行うものとすると，（イ）に示すような参照フレームの  ０．５画素精度補間画像を生成して探索することになる。画像の直交変換により得られる係数を用いて動きベクトル探索を行う場合には，（オ）に示す符号化対象ブロックの直交変換係数と，（ウ）に示す  ０．５画素精度の候補ブロックの直交変換係数との差分を評価する。（イ）において，太線で囲まれた画素からなるブロックが，差分を評価するブロックであるとすると，（ウ）において，太点線で囲まれたブロックの直交変換係数が，（オ）の符号化対象ブロックの直交変換係数との差分を評価する係数である。
【００１４】
以上の処理のために，（ウ）のように，参照フレームのすべての候補ブロックの直交変換係数を記憶しておく方法では，非常に多くのメモリを消費することになる。このため，特に１画素精度より高精度の探索を行なう場合などには，特許文献１の例のようにすべての符号化対象ブロックの直交変換係数を記憶しておく方法をとることが，メモリ利用効率の面で有利であった。
【００１５】
【特許文献１】
特開平１０−１３６３８２号公報
【００１６】
【発明が解決しようとする課題】
しかし，特許文献１の方法には，動きベクトル探索をする際に，左隣のブロックや上隣のブロックの動きベクトル探索結果が分からないという短所がある。通常，動きベクトルは，左隣のブロックや上隣のブロックの動きベクトルとの差分によって符号化されることが多いため，左隣のブロックや上隣のブロックの動きベクトルの情報に基づいて動きベクトルを決定することにより，符号化効率を上げることができる。そのため，動きベクトル探索をする際に，左隣のブロックや上隣のブロックの動きベクトル探索結果が分からないことは，符号化効率の低下につながっていた。
【００１７】
本発明は，上記問題点の解決を図り，符号化対象フレームの符号化対象ブロックと参照フレームの候補ブロックの直交変換をそれぞれ行なってから直交変換係数の差分をとることによって，各候補ブロックと符号化対象ブロックの差分の直交変換係数を求め，それを評価することにより動きベクトル探索を行なう動画像符号化方法および装置において，参照フレームの候補ブロックの直交変換係数を記憶しておき，符号化対象ブロックごとに符号化対象ブロックの直交変換係数と探索範囲内の候補ブロックの直交変換係数との差分をとり，動きベクトル探索を行なう際に，高い性能を維持しつつメモリの利用効率を高め，計算量を削減することを目的とする。
【００１８】
【課題を解決するための手段】
本発明は，上記目的を達成するため，参照フレーム上の整数画素位置に重複して配置されるＭ×Ｎ画素ブロックに対してＭ×Ｎ直交変換を行ない，直交変換係数を得てその値を記憶しておき，符号化対象のＭ×Ｎ画素ブロックをＭ×Ｎ直交変換して得られる直交変換係数と参照フレーム上の１画素精度より高精度の位置のブロックの直交変換係数との差分を求める際に，先に記憶されているその近傍の整数画素位置に配置された複数のＭ×Ｎ画素ブロックの直交変換係数の線形和によって得た係数と符号化対象のＭ×Ｎ画素ブロックの直交変換係数との差分を求め，その評価値が最もよい位置を求めることにより１画素精度より高精度の動き検出を行なうことを特徴とする。
【００１９】
図１〜図３は，本発明における  ０．５画素精度の場合の動き検出を行なう例を示す図である。図１〜図３において，（Ａ）は参照フレームの画像を示し，（Ｂ）は参照フレームの画像の各４×４の直交変換係数を示す。（Ｃ）は符号化対象ブロックを示し，（Ｄ）は符号化対象ブロックの直交変換係数を示す。
【００２０】
本発明では，例えば（Ａ）に示す参照フレーム上の整数画素位置の４×４画素ブロックに対して４×４直交変換を行い，（Ｂ）に示すように各４×４画素ブロックの直交変換係数を記憶しておく。（Ｄ）に示す符号化対象ブロックの直交変換係数との差分の評価により，動きベクトルを  ０．５画素精度で探索する場合，例えば（Ａ）において，点線の枠で囲まれた黒丸で示される補間画素群からなるブロックの位置が，差分を評価するブロックの位置であるとすると，（Ｂ）において，点線の枠で囲まれた４つの近傍ブロックの直交変換係数から，それらの直交変換係数の線形和を求め，（Ａ）で点線の枠で囲まれたブロックの直交変換係数を得て，符号化対象ブロックの直交変換係数との差分を評価する。
【００２１】
一般に，１画素精度より高精度の位置の画素値は，近傍の画素値の線形和によって求められる。これは，１画素精度より高精度の位置に配置されたブロックの画素値を，近傍の整数画素精度位置に配置されたブロックの画素値同士の線形和によって求めることができることを意味する。本発明は，近傍ブロックの線形和をとってから直交変換する代わりに，直交変換の線形性により，近傍ブロックを直交変換してからその係数の線形和をとることによって，ほぼ同様の係数を得ることができることを利用している。
【００２２】
これにより，１画素精度より高精度の動きベクトル探索においても，記憶しておく係数の数は，整数画素の動きベクトル探索において記憶しておく係数の数と変わらないため，高い性能を維持しつつ，必要な計算量とメモリ容量を大幅に削減することができる。
【００２３】
【発明の実施の形態】
以下，本発明の実施の形態について，図を用いて説明する。
【００２４】
〔実施の形態１〕
図４，図５は，本実施の形態１における動画像符号化処理フローチャートである。実施の形態１として，４×４画素のブロックで動き補償を行ない，その予測誤差に対して４×４ＤＣＴを行ない，量子化してエントロピー符号化する動画像符号化方法に本発明を適用する形態を説明する。なお，ここでは説明を簡単にするために，符号化対象フレームがＩフレームかＰフレームであり，Ｂフレームはないものとする。なお，Ｂフレームがある場合の例については，後述する実施の形態３で説明する。
【００２５】
はじめに，符号化対象フレームが片方向予測フレーム（Ｐフレーム）の場合について説明する（ステップＳ１，Ｓ１０の判定がＹＥＳの場合）。
【００２６】
まず，符号化対象フレームが参照する参照フレームの画像データをメモリから読み出し，その参照フレームにおけるすべての整数画素位置の４×４画素のブロックに対して４×４ＤＣＴを行なう。すなわち，例えば，参照フレームが７２０×４８０画素であるとすると，左上画素（ｘ，ｙ），右下画素（ｘ＋３，ｙ＋３）とする４×４画素ブロックに対し４×４ＤＣＴを行ない，その係数データをすべてメモリ（記憶媒体）に保存する（ステップＳ２〜Ｓ５）。ここで，ｘ，ｙは整数であり，ｘ＝０〜７１７，ｙ＝０〜４７７である。
【００２７】
次に，符号化対象フレームの画像データをメモリから読み出す。符号化フレームが７２０×４８０画素であるとすると，左上画素（４×Ｎ，４×Ｍ），右下画素（４×Ｎ＋３，４×Ｍ＋３）とする４×４画素ブロックごとに，動き補償およびＤＣＴが行なわれるものとする。ここで，Ｎ，Ｍは整数であり，Ｎ＝０〜１７９，Ｍ＝０〜１１９である。これらのうちの一つを符号化対象ブロックとして４×４ＤＣＴを行ない，そのＤＣＴ係数を記憶する（ステップＳ６〜Ｓ９）。
【００２８】
次に，この符号化対象ブロックに対応する探索範囲内の  ０．５画素精度位置のブロック（以下，候補ブロックという）のＤＣＴ係数を求め，符号化対象ブロックのＤＣＴ係数と候補ブロックのＤＣＴ係数との差分を求める。
【００２９】
０．５  画素精度位置のブロックのＤＣＴ係数は，図１〜図３（特に図２（Ｂ））に示すように，その近傍の整数画素位置のブロックのＤＣＴ係数の線形和によって求める。左上画素（ｘ，ｙ），右下画素（ｘ＋３，ｙ＋３）の４×４画素ブロックの輝度値を表す４×４行列をＢ（ｘ，ｙ）とし，そのＤＣＴ係数を表す４×４行列をＦＢ（ｘ，ｙ）とすると，０．５  画素精度位置のブロックのＤＣＴ係数を，例えば次のような式で求める。
【００３０】
2004350111.tif 000003
ここで，式中の“／／”は，小数点以下を四捨五入する割算を示す（以下，同様）。
【００３１】
また，ｘ，ｙが画面外を指す場合には，画面境界からはみ出た距離を画面境界内に折り返した位置と置き換える鏡像処理を行なう。
【００３２】
また，この線形和演算に用いる係数は，デコーダにおける  ０．５画素精度の動き補償の画素補間に使用する際の係数と同一であるとする。すなわち，デコーダにおいては，画素補間の際の画素値Ｉ（ｘ，ｙ）は，以下の式で求めるものとする。
【００３３】
2004350111.tif 000004
以上のようにして求めた  ０．５画素精度位置の候補ブロックの係数と符号化対象ブロックの係数との差分を求め，その係数差分の各周波数成分の絶対値和を評価値とし，その候補ブロックの位置および係数差分を記憶する。
【００３４】
同様に，同符号化対象ブロックの探索範囲内にある他の候補ブロックについても上記と同様の処理を行ない，その係数差分の各周波数成分の絶対値和を評価値とする。記憶されているそれまでの最小の評価値と比較して，それよりも小さければ，そのより小さい評価値をそれまでの最小の評価値として記憶し，その候補ブロックの位置および係数差分を記憶する（ステップＳ１１〜Ｓ１８）。
【００３５】
このように，同符号化対象ブロックの探索範囲内にあるすべての候補ブロックについて差分を評価し，最小の評価値を得た候補ブロックの位置と符号化対象ブロックの位置との差分を同符号化対象ブロックの動きベクトルとして，また，係数差分を予測誤差信号係数として記憶する（ステップＳ１９）。
【００３６】
予測誤差信号係数の絶対値和がその符号化対象ブロックの係数の絶対値和より大きい場合には，そのブロックに対してイントラ符号化を行なう。すなわち，符号化対象ブロックの係数を量子化して符号化する。逆に小さい場合には，そのブロックに対してノンイントラ符号化を行なう。すなわち，予測誤差信号係数を量子化したものと動きベクトルとを符号化する（ステップＳ２０〜Ｓ２２）。
【００３７】
また，符号化対象フレームがイントラ符号化フレーム（Ｉフレーム）であれば，符号化対象フレーム内のすべての符号化対象ブロックの係数をそのまま量子化して符号化を行なう（ステップＳ１０，Ｓ２１）。
【００３８】
以上のステップＳ７〜Ｓ２２までの処理を，符号化対象フレーム内のすべての符号化対象ブロックについて繰り返す（ステップＳ２３）。
【００３９】
以上の処理をすべての符号化対象フレームについて繰り返すことにより，動画像の符号化を行なう（ステップＳ２４）。
【００４０】
〔実施の形態２〕
図６，図７は，本実施の形態２における動画像符号化処理フローチャートである。実施の形態２として，１６×１６画素のブロックで動き補償を行ない，その予測誤差に対して４×４ＤＣＴを行ない，量子化してエントロピー符号化する動画像符号化方法に本発明を適用する形態を説明する。なお，Ｂフレームはないものとする。
【００４１】
はじめに，符号化対象フレームが片方向予測フレーム（Ｐフレーム）の場合について説明する（ステップＳ３０，Ｓ３９の判定がＹＥＳの場合）。
【００４２】
まず，符号化対象フレームが参照する参照フレームの画像データをメモリから読み出し，その参照フレームにおけるすべての整数画素位置の４×４画素のブロックに対して４×４ＤＣＴを行なう。すなわち，例えば，参照フレームが７２０×４８０画素であるとすると，左上画素（ｘ，ｙ），右下画素（ｘ＋３，ｙ＋３）とする４×４画素ブロックに対し４×４ＤＣＴを行ない，その係数データをすべてメモリに保存する（ステップＳ３１〜Ｓ３４）。ここで，ｘ，ｙは整数であり，ｘ＝０〜７１７，ｙ＝０〜４７７である。
【００４３】
次に，符号化対象フレームの画像データをメモリから読み出す。符号化フレームが７２０×４８０画素であるとすると，左上画素（１６×Ｎ，１６×Ｍ），右下画素（１６×Ｎ＋１５，１６×Ｍ＋１５）とする１６×１６画素ブロックごとに動き補償が行なわれ，また，各動き補償ブロックを１６分割した左上画素（４×ｎ，４×ｍ），右下画素（４×ｎ＋３，４×ｍ＋３）とする４×４画素ブロックごとにＤＣＴが行なわれるものとする。ここで，Ｎ，Ｍ，ｎ，ｍは整数であり，Ｎ＝０〜４４，Ｍ＝０〜２９，ｎ＝０〜１７９，ｍ＝０〜１１９である。
【００４４】
これらのうちの一つの動き補償単位ブロックである１６×１６画素ブロックを符号化対象ブロックとし，そのブロック内の１６個の４×４画素ブロックに対してそれぞれ４×４ＤＣＴを行ない，そのＤＣＴ係数を記憶する（ステップＳ３５〜Ｓ３８）。
【００４５】
次に，符号化対象ブロックの探索範囲内で，０．５  画素精度位置の１６×１６画素のブロックを候補ブロックとし，符号化対象ブロック内の１６個の４×４画素ブロックに対応する形で，その候補ブロックを１６個の４×４画素ブロックに区切り，それぞれの４×４画素ブロックに対して４×４ＤＣＴを行なってその係数を求め，符号化対象ブロックおよび候補ブロックの間で対応する４×４画素ブロックのＤＣＴ係数同士の差分を求める。
【００４６】
０．５  画素精度位置のブロックのＤＣＴ係数は，その近傍の整数画素位置のブロックのＤＣＴ係数の線形和によって求める。左上画素（ｘ，ｙ），右下画素（ｘ＋３，ｙ＋３）の４×４画素ブロックの輝度値を表す４×４行列をＢ（ｘ，ｙ）とし，そのＤＣＴ係数を表す４×４行列をＦＢ（ｘ，ｙ）とすると，０．５  画素精度位置のブロックのＤＣＴ係数を，例えば次のような式で求める。
【００４７】
2004350111.tif 000005
また，ｘ，ｙが画面外を指す場合には，画面境界からはみ出た距離を画面境界内に折り返した位置と置き換える鏡像処理を行なう。
【００４８】
また，この線形和演算に用いる係数は，デコーダにおける  ０．５画素精度の動き補償の画素補間に使用する際の係数と同一であるとする。すなわち，デコーダにおいては，画素補間の際の画素値Ｉ（ｘ，ｙ）は，以下の式で求めるものとする。
【００４９】
2004350111.tif 000006
候補ブロック内の１６個の４×４画素ブロックすべての係数差分の各周波数成分の絶対値和をその候補ブロックの評価値とし，その候補ブロックの位置を記憶する。
【００５０】
同様に，同符号化対象ブロックの探索範囲内にある他の候補ブロックについても上記と同様の処理を行ない，その係数差分の各周波数成分の絶対値和を評価値とする。記憶されているそれまでの最小の評価値と比較して，それよりも小さければ，そのより小さい評価値をそれまでの最小の評価値として記憶し，その候補ブロックの位置を記憶する（ステップＳ４０〜Ｓ４７）。
【００５１】
このように，同符号化対象ブロックの探索範囲内にあるすべての候補ブロックについて係数差分を評価し，最小の評価値を得た候補ブロックの位置と符号化対象ブロックの位置との差分を同符号化対象ブロックの動きベクトルとして記憶する（ステップＳ４８）。
【００５２】
予測誤差信号係数の絶対値和がその符号化対象ブロックの係数の絶対値和より大きい場合には，そのブロックに対してイントラ符号化を行なう。すなわち，符号化対象ブロックの係数を量子化して符号化する。逆に小さい場合には，そのブロックに対してノンイントラ符号化を行なう。すなわち，予測誤差信号係数を量子化したものと動きベクトルとを符号化する（ステップＳ４９〜Ｓ５１）。
【００５３】
また，符号化対象フレームがイントラ符号化フレーム（Ｉフレーム）であれば，符号化対象フレーム内のすべての符号化対象ブロックの係数をそのまま量子化して符号化を行なう（ステップＳ３９，Ｓ５０）。
【００５４】
以上のステップＳ３６〜Ｓ５１までの処理を，符号化対象フレーム内のすべての符号化対象ブロックについて繰り返す（ステップＳ５２）。
【００５５】
以上の処理をすべての符号化対象フレームについて繰り返すことにより，動画像の符号化を行なう（ステップＳ５３）。
【００５６】
〔実施の形態３〕
図８〜図１１は，本実施の形態３における動画像符号化処理フローチャートである。実施の形態３として，４×４画素のブロックで動き補償を行ない，その予測誤差に対して４×４ＤＣＴを行ない，量子化してエントロピー符号化する動画像符号化方法に本発明を適用する形態を説明する。
【００５７】
はじめに，符号化対象フレームが片方向予測フレーム（Ｐフレーム）の場合について説明する（ステップＳ６０，Ｓ７４の判定がＹＥＳの場合）。
【００５８】
まず，符号化対象フレームが参照する参照フレームの画像データをメモリから読み出し，その参照フレームにおけるすべての整数画素位置の４×４画素のブロックに対して４×４ＤＣＴを行なう。すなわち，例えば，参照フレームが７２０×４８０画素であるとすると，左上画素（ｘ，ｙ），右下画素（ｘ＋３，ｙ＋３）とする４×４画素ブロックに対し４×４ＤＣＴを行ない，その係数データをすべてメモリに保存する（ステップＳ６１〜Ｓ６４）。ここで，ｘ，ｙは整数であり，ｘ＝０〜７１７，ｙ＝０〜４７７である。
【００５９】
次に，符号化対象フレームの画像データをメモリから読み出す。符号化フレームが７２０×４８０画素であるとすると，左上画素（４×Ｎ，４×Ｍ），右下画素（４×Ｎ＋３，４×Ｍ＋３）とする４×４画素ブロックごとに，動き補償およびＤＣＴが行なわれるものとする。これらのうちの一つを符号化対象ブロックとして４×４ＤＣＴを行ない，そのＤＣＴ係数を記憶する（ステップＳ７０〜Ｓ７３）。Ｎ，Ｍは整数であり，Ｎ＝０〜１７９，Ｍ＝０〜１１９である。
【００６０】
次に，この符号化対象ブロックに対応する探索範囲内の  ０．５画素精度位置のブロック（以下，候補ブロックという）のＤＣＴ係数を求め，符号化対象ブロックのＤＣＴ係数と候補ブロックのＤＣＴ係数との差分を求める。
【００６１】
０．５  画素精度位置のブロックのＤＣＴ係数は，その近傍の整数画素位置のブロックのＤＣＴ係数の線形和によって求める。左上画素（ｘ，ｙ），右下画素（ｘ＋３，ｙ＋３）の４×４画素ブロックの輝度値を表す４×４行列をＢ（ｘ，ｙ）とし，そのＤＣＴ係数を表す４×４行列をＦＢ（ｘ，ｙ）とすると，０．５  画素精度位置のブロックのＤＣＴ係数を，例えば次のような式で求める。
【００６２】
2004350111.tif 000007
また，ｘ，ｙが画面外を指す場合には，画面境界からはみ出た距離を画面境界内に折り返した位置と置き換える鏡像処理を行なう。
【００６３】
また，この線形和演算に用いる係数は，デコーダにおける  ０．５画素精度の動き補償の画素補間に使用する際の係数と同一であるとする。すなわち，デコーダにおいては，画素補間の際の画素値Ｉ（ｘ，ｙ）は，以下の式で求めるものとする。
【００６４】
2004350111.tif 000008
以上のようにして求めた  ０．５画素精度位置の候補ブロックの係数と符号化対象ブロックの係数との差分を求め，その係数差分の各周波数成分の絶対値和を評価値とし，その候補ブロックの位置および係数差分として記憶する。
【００６５】
同様に，同符号化対象ブロックの探索範囲内にある他の候補ブロックについても上記と同様の処理を行ない，その係数差分の各周波数成分の絶対値和を評価値とする。記憶されているそれまでの最小の評価値と比較して，それよりも小さければ，そのより小さい評価値をそれまでの最小の評価値として記憶し，その候補ブロックの位置および係数差分を記憶する（ステップＳ７５〜Ｓ８２）。
【００６６】
このように，同符号化対象ブロックの探索範囲内にあるすべての候補ブロックについて係数差分を評価し，最小の評価値を得た候補ブロックの位置と符号化対象ブロックの位置との差分を同符号化対象ブロックの動きベクトルとして，また，その係数差分を予測誤差信号係数として記憶する（ステップＳ８３）。
【００６７】
予測誤差信号係数の絶対値和がその符号化対象ブロックの係数の絶対値和より大きい場合には，そのブロックに対してイントラ符号化を行なう。すなわち，符号化対象ブロックの係数を量子化して符号化する。逆に小さい場合には，そのブロックに対してノンイントラ符号化を行なう。すなわち，予測誤差信号係数を量子化したものと動きベクトルとを符号化する（ステップＳ９５〜ステップＳ１０２）。
【００６８】
また，符号化対象フレームが両方向予測フレーム（Ｂフレーム）であれば（ステップＳ６５，Ｓ８４の判定でＹＥＳの場合），もう一つの参照フレームについても同様の処理を行ない，各符号化ブロックごとの動きベクトルと予測誤差信号係数とを求める（ステップＳ６６〜Ｓ６９，Ｓ８５〜Ｓ９３）。そして，同じ符号化ブロックにおける２つの予測誤差信号係数の平均値をとり，これを両方向予測誤差信号係数とする（ステップＳ９４）。
【００６９】
両方向予測誤差信号係数と，２つの予測誤差信号係数と，符号化対象ブロック係数とのそれぞれの絶対値和を比較する。符号化対象ブロック係数が最小の場合には，そのブロックに対してイントラ符号化を行なう。すなわち，符号化対象ブロックの係数を量子化して符号化する。
【００７０】
予測誤差信号係数の絶対値和が最小の場合には，そのブロックに対して最小となった方の参照フレームを使用する片方向予測符号化を行なう。すなわち，予測誤差信号係数を量子化したものと動きベクトルとを符号化する。
【００７１】
両方向予測誤差信号係数の絶対値和が最小の場合には，そのブロックに対して２つの参照フレームを使用する両方向予測符号化を行なう。すなわち，それぞれ２つの参照フレーム分，予測誤差信号係数を量子化したものと動きベクトルとを符号化する（ステップＳ９５〜Ｓ１０３）。
【００７２】
また，符号化対象フレームがイントラ符号化フレーム（Ｉフレーム）であれば，符号化対象フレーム内のすべての符号化対象ブロックの係数をそのまま量子化して符号化を行なう（ステップＳ１０３）。
【００７３】
以上のステップＳ７１〜ステップＳ１０３までの処理を，符号化対象フレーム内のすべて符号化対象ブロックについて繰り返す（ステップＳ１０４）。
【００７４】
以上の処理をすべての符号化対象フレームについて繰り返すことにより，動画像の符号化を行なう（ステップＳ１０５）。
【００７５】
〔実施の形態４〕
図１２，図１３は，本実施の形態４における動画像符号化処理フローチャートである。実施の形態４として，４×４画素のブロックで動き補償を行ない，その予測誤差に対して４×４ＤＣＴを行ない，量子化してエントロピー符号化する動画像符号化方法に本発明を適用する形態を説明する。説明を簡単にするために，Ｂフレームはないものとする。
【００７６】
はじめに，符号化対象フレームが片方向予測フレーム（Ｐフレーム）の場合について説明する（ステップＳ１１０，Ｓ１１９の判定がＹＥＳの場合）。
【００７７】
まず，符号化対象フレームが参照する参照フレームの画像データをメモリから読み出し，その参照フレームにおけるすべての整数画素位置の４×４画素のブロックに対して４×４のアダマール変換を行なう。すなわち，例えば，参照フレームが７２０×４８０画素であるとすると，左上画素（ｘ，ｙ），右下画素（ｘ＋３，ｙ＋３）とする４×４画素ブロックに対し４×４アダマール変換を行ない，その係数データをすべてメモリに保存する（ステップＳ１１１〜Ｓ１１４）。ここで，ｘ，ｙは整数であり，ｘ＝０〜７１７，ｙ＝０〜４７７である。
【００７８】
次に，符号化対象フレームの画像データをメモリから読み出す。符号化フレームが７２０×４８０画素であるとすると，左上画素（４×Ｎ，４×Ｍ），右下画素（４×Ｎ＋３，４×Ｍ＋３）とする４×４画素ブロックごとに，動き補償およびＤＣＴが行なわれるものとする。これらのうちの一つを符号化対象ブロックとし，４×４のアダマール変換を行ない，そのアダマール変換係数を記憶する（ステップＳ１１５〜Ｓ１１８）。ここで，Ｎ，Ｍは整数であり，Ｎ＝０〜１７９，Ｍ＝０〜１１９である。
【００７９】
次に，この符号化対象ブロックに対応する探索範囲内の  ０．５画素精度位置のブロック（以下，候補ブロックという）のアダマール変換係数を求め，符号化対象ブロックのアダマール変換係数と候補ブロックのアダマール変換係数との差分を求める。
【００８０】
０．５  画素精度位置のブロックのアダマール変換係数は，その近傍の整数画素位置のブロックのアダマール変換係数の線形和によって求める。左上画素（ｘ，ｙ），右下画素（ｘ＋３，ｙ＋３）の４×４画素ブロックの輝度値を表す４×４行列をＢ（ｘ，ｙ）とし，そのアダマール変換係数を表す４×４行列をＦＢ（ｘ，ｙ）とすると，０．５  画素精度位置のブロックのアダマール変換係数を，例えば次のような式で求める。
【００８１】
2004350111.tif 000009
また，ｘ，ｙが画面外を指す場合には，画面境界からはみ出た距離を画面境界内に折り返した位置と置き換える鏡像処理を行なう。
【００８２】
また，この線形和演算に用いる係数は，デコーダにおける  ０．５画素精度の動き補償の画素補間に使用する際の係数と同一であるとする。すなわち，デコーダにおいては，画素補間の際の画素値Ｉ（ｘ，ｙ）は，以下の式で求めるものとする。
【００８３】
2004350111.tif 000010
以上のようにして求めた  ０．５画素精度位置の候補ブロックの係数と符号化対象ブロックの係数との差分を求め，その係数差分の各周波数成分の絶対値和を評価値とし，その候補ブロックの位置および係数差分を記憶する。
【００８４】
同様に，同符号化対象ブロックの探索範囲内にある他の候補ブロックについても上記と同様の処理を行ない，その係数差分の各周波数成分の絶対値和を評価値とする。記憶されているそれまでの最小の評価値と比較して，それよりも小さければ，そのより小さい評価値をそれまでの最小の評価値として記憶し，その候補ブロックの位置および係数差分を記憶する（ステップＳ１２０〜Ｓ１２７）。
【００８５】
このように，同符号化対象ブロックの探索範囲内にあるすべての候補ブロックについて係数差分を評価し，最小の評価値を得た候補ブロックの位置と符号化対象ブロックの位置との差分を同符号化対象ブロックの動きベクトルとして，また，その係数差分を予測誤差信号係数として記憶する（ステップＳ１２８）。
【００８６】
予測誤差信号係数の絶対値和がその符号化対象ブロックの係数の絶対値和より大きい場合には，そのブロックに対してイントラ符号化を行なうと判定し，逆に小さい場合には，そのブロックに対してノンイントラ符号化を行なうと判定する。
【００８７】
イントラ符号化を行なうとの判定であれば，符号化対象ブロックの画像に対してＤＣＴを行なって係数を求め，その係数を量子化して符号化する。
【００８８】
ノンイントラ符号化を行なうとの判定であれば，符号化対象ブロックの画像と動きベクトルが指し示す候補ブロックの画像との差分に対してＤＣＴを行なって係数を求め，これを量子化したものと動きベクトルとを符号化する（ステップＳ１２９〜Ｓ１３３）。
【００８９】
また，図１２，図１３では省略したが，符号化対象フレームが両方向予測フレーム（Ｂフレーム）であれば，もう一つの参照フレームについても同様の処理を行ない，各符号化ブロックごとの動きベクトルと予測誤差信号係数とを求める。そして，同じ符号化ブロックにおける２つの予測誤差信号係数の平均値をとり，これを両方向予測誤差信号係数とする。
【００９０】
両方向予測誤差信号係数と，２つの予測誤差信号係数と，符号化対象ブロック係数とのそれぞれの絶対値和を比較する。符号化対象ブロック係数が最小の場合には，そのブロックに対してイントラ符号化を行なう。すなわち，符号化対象ブロックの画像に対してＤＣＴを行なって係数を求め，その係数を量子化して符号化する。
【００９１】
予測誤差信号係数の絶対値和が最小の場合には，そのブロックに対して最小となった方の参照フレームを使用する片方向予測符号化を行なう。すなわち，符号化対象ブロックの画像と最小となった方の参照フレームにおける動きベクトルが指し示す候補ブロックの画像との差分に対してＤＣＴを行なって係数を求め，これを量子化したものと動きベクトルとを符号化する。
【００９２】
両方向予測誤差信号係数の絶対値和が最小の場合には，そのブロックに対して２つの参照フレームを使用する両方向予測符号化を行なう。すなわち，符号化対象ブロックの画像と２つの参照フレームにおける動きベクトルが指し示す候補ブロックの画像の画素平均値との差分に対してＤＣＴを行なって係数を求め，これを量子化したものと動きベクトルとを符号化する。
【００９３】
また，符号化対象フレームがイントラ符号化フレーム（Ｉフレーム）であれば，符号化対象フレーム内のすべての符号化対象ブロックの画像に対してＤＣＴを行なって係数を求め，その係数を量子化して符号化を行なう（ステップＳ１１９，Ｓ１３０，Ｓ１３１）。
【００９４】
以上のステップＳ１１６〜Ｓ１３３までの処理を，符号化対象フレーム内のすべての符号化対象ブロックについて繰り返す（ステップＳ１３４）。
【００９５】
以上の処理をすべての符号化対象フレームについて繰り返すことにより，動画像の符号化を行なう（ステップＳ１３５）。
【００９６】
〔実施の形態５〕
図１４〜１６は，本実施の形態５における動画像符号化処理フローチャートである。実施の形態５として，４×４画素のブロックで動き補償を行ない，その予測誤差に対して４×４ＤＣＴを行ない，量子化してエントロピー符号化する動画像符号化方法に本発明を適用する形態を説明する。この例は，階層的に動き探索を行う例である。
【００９７】
はじめに，符号化対象フレームが片方向予測フレーム（Ｐフレーム）の場合について説明する（ステップＳ１４０，Ｓ１４９の判定がＹＥＳの場合）。
【００９８】
まず，符号化対象フレームが参照する参照フレームの画像データをメモリから読み出し，その参照フレームにおけるすべての整数画素位置の４×４画素のブロックに対して４×４ＤＣＴを行なう。すなわち，例えば，参照フレームが７２０×４８０画素であるとすると，左上画素（ｘ，ｙ），右下画素（ｘ＋３，ｙ＋３）とする４×４画素ブロックに対し４×４ＤＣＴを行ない，その係数データをすべてメモリに保存する（ステップＳ１４１〜Ｓ１４４）。ここで，ｘ，ｙは整数であり，ｘ＝０〜７１７，ｙ＝０〜４７７である。
【００９９】
次に，符号化対象フレームの画像データをメモリから読み出す。符号化フレームが７２０×４８０画素であるとすると，左上画素（４×Ｎ，４×Ｍ），右下画素（４×Ｎ＋３，４×Ｍ＋３）とする４×４画素ブロックごとに，動き補償およびＤＣＴが行なわれるものとする。これらのうちの一つを符号化対象ブロックとして４×４ＤＣＴを行ない，そのＤＣＴ係数を記憶する（ステップＳ１４５〜Ｓ１４８）。ここで，Ｎ，Ｍは整数であり，Ｎ＝０〜１７９，Ｍ＝０〜１１９である。
【０１００】
次に，この符号化対象ブロックに対応する探索範囲内の整数画素位置のブロック（以下，１次探索候補ブロックという）のＤＣＴ係数を求め，符号化対象ブロックのＤＣＴ係数と１次探索候補ブロックのＤＣＴ係数との差分を求める。その係数差分の各周波数成分の絶対値和を評価値とし，その１次探索候補ブロックの位置を記憶する。
【０１０１】
同様に，同符号化対象ブロックの探索範囲内にある他の１次探索候補ブロックについても上記と同様の処理を行ない，その係数差分の各周波数成分の絶対値和を評価値とする。記憶されているそれまでの最小の評価値と比較して，それよりも小さければ，そのより小さい評価値をそれまでの最小の評価値として記憶し，その１次探索候補ブロックの位置を記憶する。
【０１０２】
このように，同符号化対象ブロックの探索範囲内にあるすべての１次探索候補ブロックについて差分を評価し，最小の評価値を得た１次探索候補ブロックの位置を記憶する（ステップＳ１５０〜Ｓ１５５）。
【０１０３】
次に，最小の評価値を得た１次探索候補ブロックの位置の１画素近傍内の  ０．５画素精度位置のブロック（以下，２次探索候補ブロックという）のＤＣＴ係数を求め，符号化対象ブロックのＤＣＴ係数と２次探索候補ブロックのＤＣＴ係数との差分を求める。
【０１０４】
０．５  画素精度位置のブロックのＤＣＴ係数は，その近傍の整数画素位置のブロックのＤＣＴ係数の線形和によって求める。左上画素（ｘ，ｙ），右下画素（ｘ＋３，ｙ＋３）の４×４画素ブロックの輝度値を表す４×４行列をＢ（ｘ，ｙ）とし，そのＤＣＴ係数を表す４×４行列をＦＢ（ｘ，ｙ）とすると，０．５  画素精度位置のブロックのＤＣＴ係数を，例えば次のような式で求める。
【０１０５】
2004350111.tif 000011
また，ｘ，ｙが画面外を指す場合には，画面境界からはみ出た距離を画面境界内に折り返した位置と置き換える鏡像処理を行なう。
【０１０６】
また，この線形和演算に用いる係数は，デコーダにおける  ０．５画素精度の動き補償の画素補間に使用する際の係数と同一であるとする。すなわち，デコーダにおいては，画素補間の際の画素値Ｉ（ｘ，ｙ）は，以下の式で求めるものとする。
【０１０７】
2004350111.tif 000012
以上のようにして求めた  ０．５画素精度位置の２次探索候補ブロックの係数と，符号化対象ブロックの係数との差分を求め，その係数差分の各周波数成分の絶対値和を評価値とし，その２次探索候補ブロックの位置および係数差分を記憶する。
【０１０８】
最小の評価値を得た１次探索候補ブロックの位置の１画素近傍内にある他の２次探索候補ブロックについても同様の処理を行ない，その係数差分の各周波数成分の絶対値和を評価値とする。記憶されているそれまでの最小の評価値と比較して，それよりも小さければ，そのより小さい評価値をそれまでの最小の評価値として記憶し，その２次探索候補ブロックの位置および係数差分を記憶する（ステップＳ１５６〜Ｓ１６３）。
【０１０９】
このように，最小の評価値を得た１次探索候補ブロックの位置の１画素近傍内の２次探索候補ブロックについて差分を評価し，最小の評価値を得た２次探索候補ブロックの位置と符号化対象ブロックの位置との差分を同符号化対象ブロックの動きベクトルとして，また，係数差分を予測誤差信号係数として記憶する（ステップＳ１６４）。
【０１１０】
予測誤差信号係数の絶対値和がその符号化対象ブロックの係数の絶対値和より大きい場合には，そのブロックに対してイントラ符号化を行なう。すなわち，符号化対象ブロックの係数を量子化して符号化する。逆に小さい場合には，そのブロックに対してノンイントラ符号化を行なう。すなわち，予測誤差信号係数を量子化したものと動きベクトルとを符号化する（ステップＳ１６５〜Ｓ１６７）。
【０１１１】
また，符号化対象フレームがイントラ符号化フレーム（Ｉフレーム）であれば，符号化対象フレーム内のすべての符号化対象ブロックの係数をそのまま量子化して符号化を行なう（ステップＳ１４９，Ｓ１６６）。
【０１１２】
以上のステップＳ１４６〜Ｓ１６７までの処理を，符号化対象フレーム内のすべての符号化対象ブロックについて繰り返す（ステップＳ１６８）。
【０１１３】
以上の処理をすべての符号化対象フレームについて繰り返すことにより，動画像の符号化を行なう（ステップＳ１６９）。
【０１１４】
〔実施の形態６〕
図１７は，実施の形態６における動画像符号化装置の構成例を示す図である。実施の形態６として，４×４画素のブロックで動き補償を行ない，その予測誤差に対して４×４ＤＣＴを行ない，量子化してエントロピー符号化する動画像符号化装置に本発明を適用する形態を説明する。
【０１１５】
入力画像は，記憶装置１０に入力される。また，以前の符号化フレームの局所復号画像は，参照画像として記憶装置１０に入力されているものとする。記憶装置１０に記憶された入力画像は，制御装置１１によって符号化対象フレームとされ，その符号化対象フレームの符号化が開始される。
【０１１６】
はじめに，制御装置１１により符号化対象フレームが片方向予測フレーム（Ｐフレーム）であるとされた場合について説明する。
【０１１７】
制御装置１１は，記憶装置１０に参照フレーム内のすべての整数画素位置の４×４画素のブロックのアドレスを順に与える。そのブロックの画像データは，直交変換器１２に入力される。直交変換器１２は，入力された４×４画素のブロックに対して４×４ＤＣＴを行なう。
【０１１８】
例えば，参照フレームが７２０×４８０画素であるとすると，左上画素（ｘ，ｙ），右下画素（ｘ＋３，ｙ＋３）とする４×４画素ブロックに対し，４×４ＤＣＴを行なう。ここで，ｘ，ｙは整数であり，ｘ＝０〜７１７，ｙ＝０〜４７７である。得られた係数データは，すべて記憶装置１０に一旦保存される。
【０１１９】
次に，制御装置１１は，記憶装置１０に符号化対象フレームの符号化対象ブロックのアドレスを与える。その符号化対象ブロックの画像データは，直交変換器１２に入力される。直交変換器１２は，入力された４×４画素の符号化対象ブロックに対して４×４ＤＣＴを行なう。
【０１２０】
符号化フレームが７２０×４８０画素であるとすると，左上画素（４×Ｎ，４×Ｍ），右下画素（４×Ｎ＋３，４×Ｍ＋３）とする４×４画素ブロックごとに，動き補償およびＤＣＴが行なわれるものとする。直交変換器１２は，これらのうちの一つを符号化対象ブロックとして，４×４ＤＣＴを行なう。ここで，Ｎ，Ｍは整数であり，Ｎ＝０〜１７９，Ｍ＝０〜１１９である。そのＤＣＴ係数は，ブロック係数差分器１４に入力される。
【０１２１】
次に，この符号化対象ブロックに対応する探索範囲内の  ０．５画素精度位置のブロック（以下，候補ブロックという）のＤＣＴ係数を求め，符号化対象ブロックのＤＣＴ係数と候補ブロックのＤＣＴ係数との差分を求める。
【０１２２】
制御装置１１は，候補ブロックの近傍の整数画素位置の近傍候補ブロック係数アドレスを記憶装置１０に与える。近傍候補ブロック係数は，ブロック係数線形和計算器１３に入力される。また，同時に，制御装置１１は，候補ブロックの位置をブロック係数線形和計算器１３に与える。ブロック係数線形和計算器１３は，その位置から線形和の係数を決定する。
【０１２３】
ブロック係数線形和計算器１３において，０．５  画素精度位置のブロックのＤＣＴ係数が，その近傍の整数画素位置のブロックのＤＣＴ係数の線形和によって求める。例えば，左上画素（ｘ，ｙ），右下画素（ｘ＋３，ｙ＋３）の４×４画素ブロックの輝度値を表す４×４行列をＢ（ｘ，ｙ）とし，そのＤＣＴ係数を表す４×４行列をＦＢ（ｘ，ｙ）とすると，０．５  画素精度位置のブロックのＤＣＴ係数は，例えば以下の式で求められる。
【０１２４】
2004350111.tif 000013
また，ｘ，ｙが画面外を指す場合には，画面境界からはみ出た距離を画面境界内に折り返した位置と置き換える鏡像処理が必要となるため，制御装置１１は，その処理に従って，近傍候補ブロック位置を記憶装置１０に伝える。
【０１２５】
また，この線形和演算に用いる係数は，デコーダにおける  ０．５画素精度の動き補償の画素補間に使用する際の係数と同一であるとする。すなわち，デコーダにおいては，画素補間の際の画素値Ｉ（ｘ，ｙ）は，以下の式で求めるものとする。
【０１２６】
2004350111.tif 000014
以上のようにして求めた係数線形和（  ０．５画素精度位置の候補ブロックの係数）は，ブロック係数差分器１４に入力される。
【０１２７】
ブロック係数差分器１４は，符号化対象ブロックの係数と  ０．５画素精度位置の候補ブロックの係数との差分を求める。その係数差分は，係数差分評価器１５に入力される。
【０１２８】
係数差分評価器１５は，係数差分の各周波数成分の絶対値和を評価値として，その候補ブロックの位置および係数差分を記憶する。
【０１２９】
同様に同符号化対象ブロックの探索範囲内にある他の候補ブロックについても上記と同様の処理を行ない，その係数差分の評価値が記憶されているそれまでの最小の評価値と比較して，それよりも小さければ，その評価値をそれまでの最小の評価値として記憶し，その候補ブロックの位置および係数差分を記憶する。
【０１３０】
このように，同符号化対象ブロックの探索範囲内にあるすべての候補ブロックについて差分を評価し，最小の評価値を得た候補ブロックの位置と符号化対象ブロックの位置との差分を同符号化対象ブロックの動きベクトルとし，符号化部１８に出力する。また，係数差分を予測誤差信号係数とし，量子化部１７に出力する。
【０１３１】
モード判定部１６は，予測誤差信号係数の絶対値和がその符号化対象ブロックの係数の絶対値和より大きい場合には，そのブロックはイントラ符号化を行なうと判定する。逆に小さい場合には，そのブロックはノンイントラ符号化を行なうと判定する。
【０１３２】
イントラ符号化の場合，符号化部１８は，符号化対象ブロックの係数の量子化結果を符号化する。ノンイントラ符号化の場合，符号化部１８は，予測誤差信号係数の量子化結果と動きベクトルとを符号化する。
【０１３３】
また，符号化対象フレームがイントラ符号化フレーム（Ｉフレーム）であれば，符号化対象フレーム内のすべての符号化対象ブロックの係数の量子化結果を符号化する。
【０１３４】
以上の処理をすべての符号化対象フレームについて繰り返すことにより，動画像の符号化を行なう。
【０１３５】
図１７に示した実施の形態６の動画像符号化装置は，前述した実施の形態１の動画像符号化方法を実施する装置の構成例であるが，他の実施の形態２〜５に係る動画像符号化方法についても，図１７と同様な動画像符号化装置によって実施できることは，以上の説明から明らかである。
【０１３６】
また，以上の動画像符号化に関する処理は，コンピュータとソフトウェアプログラムとによっても実現することができ，そのプログラムをコンピュータ読み取り可能な記録媒体に記録して提供することも，ネットワークを通して提供することも可能である。
【０１３７】
【発明の効果】
以上説明したように，本発明により，１画素精度より高精度の動きベクトル探索においても，記憶しておく係数の数は整数画素の動きベクトル探索において記憶しておく係数の数と変わらないため，高い性能を維持しつつ，必要な計算量とメモリ容量を大幅に削減することができる。
【図面の簡単な説明】
【図１】本発明における  ０．５画素精度の場合の動き検出を行なう例を示す図（１）である。
【図２】本発明における  ０．５画素精度の場合の動き検出を行なう例を示す図（２）である。
【図３】本発明における  ０．５画素精度の場合の動き検出を行なう例を示す図（３）である。
【図４】本実施の形態１における動画像符号化処理フローチャート（１）である。
【図５】本実施の形態１における動画像符号化処理フローチャート（２）である。
【図６】本実施の形態２における動画像符号化処理フローチャート（１）である。
【図７】本実施の形態２における動画像符号化処理フローチャート（２）である。
【図８】本実施の形態３における動画像符号化処理フローチャート（１）である。
【図９】本実施の形態３における動画像符号化処理フローチャート（２）である。
【図１０】本実施の形態３における動画像符号化処理フローチャート（３）である。
【図１１】本実施の形態３における動画像符号化処理フローチャート（４）である。
【図１２】本実施の形態４における動画像符号化処理フローチャート（１）である。
【図１３】本実施の形態４における動画像符号化処理フローチャート（２）である。
【図１４】本実施の形態５における動画像符号化処理フローチャート（１）である。
【図１５】本実施の形態５における動画像符号化処理フローチャート（２）である。
【図１６】本実施の形態５における動画像符号化処理フローチャート（３）である。
【図１７】実施の形態６における動画像符号化装置の構成例を示す図である。
【図１８】０．５  画素精度の候補ブロックの直交変換係数を記憶する方法を示す図（１）である。
【図１９】０．５  画素精度の候補ブロックの直交変換係数を記憶する方法を示す図（２）である。
【図２０】０．５  画素精度の候補ブロックの直交変換係数を記憶する方法を示す図（３）である。
【符号の説明】
１０  記憶装置
１１  制御装置
１２  直交変換器
１３  ブロック係数線形和計算器
１４  ブロック係数差分器
１５  係数差分評価器
１６  モード判定部
１７  量子化部
１８  符号化部
【図１】
2004350111.tif 000015
【図２】
2004350111.tif 000016
【図３】
2004350111.tif 000017
【図４】
2004350111.tif 000018
【図５】
2004350111.tif 000019
【図６】
2004350111.tif 000020
【図７】
2004350111.tif 000021
【図８】
2004350111.tif 000022
【図９】
2004350111.tif 000023
【図１０】
2004350111.tif 000024
【図１１】
2004350111.tif 000025
【図１２】
2004350111.tif 000026
【図１３】
2004350111.tif 000027
【図１４】
2004350111.tif 000028
【図１５】
2004350111.tif 000029
【図１６】
2004350111.tif 000030
【図１７】
2004350111.tif 000031
【図１８】
2004350111.tif 000032
【図１９】
2004350111.tif 000033
【図２０】
2004350111.tif 000034