(57)【特許請求の範囲】
【請求項１】
動画像信号に対し、所定の大きさのブロック単位および所定のフレーム間隔で、フレーム内符号化と、順方向動き補償フレーム間予測符号化とを施し、前記フレーム内符号化が施されるＩフレームおよび前記順方向動き補償フレーム間予測符号化が施されるＰフレームの間にある複数のＢフレームに対して双方向動き補償フレーム間予測符号化を施す動画像符号化方法であって、
前記各Ｂフレームに対し、前記Ｐフレームについての順方向動きベクトル探索において導出された順方向動きベクトルを、当該各Ｂフレームと前記順方向動き補償フレーム間予測における参照フレーム（ＩまたはＰフレーム）とのフレーム距離に応じて大きさを縮小して順方向動きベクトルとして配分し、また、前記Ｂフレームのうち、前記ＩまたはＰフレームの次のフレームについて前記ＩまたはＰフレームを参照フレームとして逆方向動きベクトル探索を行い、該動きベクトル探索において導出された逆方向動きベクトルを、当該各Ｂフレームと前記逆方向動きベクトル探索における参照フレーム（ＩまたはＰフレーム）とのフレーム距離に応じて大きさを縮小して逆方向動きベクトルとして配分し、
前記各Ｂフレームに対し、前記配分された順方向動きベクトルおよび逆方向動きベクトルを用いて双方向動き補償フレーム間予測符号化を施すことを特徴とする動画像符号化方法。
【請求項２】
動画像信号に対し、所定の大きさのブロック単位および所定のフレーム間隔で、フレーム内符号化と、順方向動き補償フレーム間予測符号化とを施し、前記フレーム内符号化が施されるＩフレームおよび前記順方向動き補償フレーム間予測符号化が施されるＰフレームの間にある複数のＢフレームに対して双方向動き補償フレーム間予測符号化を施す動画像符号化方法であって、
前記Ｐフレームについて前記ＩまたはＰフレームを参照フレームとして順方向動きベクトル探索を行って順方向動きベクトルを導出し、順方向動き補償フレーム間予測符号化を施す順方向予測ステップと、
前記各Ｂフレームに対し、前記順方向動きベクトルを用いて、該動きベクトルの大きさを前記順方向動きベクトル探索における参照フレームと当該各Ｂフレームとのフレーム距離に応じて縮小したベクトルを順方向動きベクトルとして配分する順方向ベクトル配分ステップと、
前記Ｂフレームのうち前記ＩまたはＰフレームの次のフレームについて、前記ＩまたはＰフレームを参照フレームとして逆方向動きベクトル探索を行って逆方向動きベクトルを導出する逆方向予測ステップと、
前記各Ｂフレームに対し、前記逆方向動きベクトルを用いて、該動きベクトルの大きさを前記逆方向動きベクトル探索における参照フレームと当該各Ｂフレームとのフレーム距離に応じて縮小したベクトルを逆方向動きベクトルとして配分する逆方向ベクトル配分ステップと、
前記各Ｂフレームに対し、前記順方向動きベクトルおよび前記逆方向動きベクトルを用いて双方向動き補償フレーム間予測符号化を施す双方向予測符号化ステップと、
を有することを特徴とする動画像符号化方法。
【請求項３】
前記順方向動きベクトル探索の際、前記参照フレームについての順方向動きベクトル探索において導出されている順方向動きベクトルを用いて、該順方向動きベクトルの分だけ動きベクトル探索範囲を基準位置から移動して今回の探索範囲とする探索範囲変更ステップをさらに有することを特徴とする請求項２記載の動画像符号化方法。
【請求項４】
前記探索範囲変更ステップは、前記順方向動きベクトルが所定の値より大きい場合、もとの探索基準位置を含むように探索範囲を適応的に変更することを特徴とする請求項３記載の動画像符号化方法。
【請求項５】
前記各Ｂフレームについて、前記配分された双方向動きベクトルを用いて、該双方向動きベクトルに対応する参照フレーム内の位置を基準位置として所定の探索範囲で動きベクトル探索を行って動きベクトルを導出し、該動きベクトルを当該各Ｂフレームについての動きベクトルとして決定する再探索ステップをさらに有することを特徴とする請求項２から４のいずれか１項に記載の動画像符号化方法。
【請求項６】
動画像信号に対し、所定の大きさのブロック単位および所定のフレーム間隔で、フレーム内符号化と、順方向動き補償フレーム間予測符号化とを施し、前記フレーム内符号化が施されるＩフレームおよび前記順方向動き補償フレーム間予測符号化が施されるＰフレームの間にある複数のＢフレームに対して双方向動き補償フレーム間予測符号化を施す動画像符号化装置であって、
入力フレームを蓄積し、符号化を施す順番に並べ替えるフレーム並べ替え手段と、
前記Ｐフレームと、参照フレーム（前記ＩまたはＰフレーム）と、を入力して順方向動きベクトル探索を行って順方向動きベクトルを導出し、また、前記Ｂフレームのうち前記ＩまたはＰフレームの次のフレームと、参照フレーム（前記ＩまたはＰフレーム）と、を入力して逆方向動きベクトル探索を行って逆方向動きベクトルを導出する動き探索手段と、
該動き探索手段において導出された各動きベクトルを保存する動きベクトル保存手段と、
前記各Ｂフレームに対し、前記順方向動きベクトルと、前記逆方向動きベクトルとを用いて、該各動きベクトルの大きさを前記ＩまたはＰフレームとのフレーム間距離に応じて縮小したベクトルを、前記ＩまたはＰフレームを参照フレームとした双方向動きベクトルとして配分するベクトル配分手段と、
前記ＰまたはＢフレームについて、前記各動きベクトルと前記参照フレームとを用いた予測画像との差分を演算して予測誤差信号を出力する予測誤差生成手段と、
前記Ｉフレームまたは前記予測誤差信号を入力して周波数変換および量子化を行い、量子化データを出力する周波数変換・量子化手段と、
前記量子化データを入力して可変長符号化を行い、符号化データを出力する可変長符号化手段と、
前記量子化データを入力して逆量子化および逆周波数変換を行い、復元データを出力する逆量子化・逆周波数変換手段と、
前記復元データから動き補償フレーム間予測における参照フレームを生成する参照フレーム生成手段と、
前記参照フレームを記憶するフレーム記憶手段と、
を有することを特徴とする動画像符号化装置。
【請求項７】
前記動きベクトル探索手段は、前記順方向動きベクトル探索における参照フレームについての順方向動きベクトル探索において導出されている順方向動きベクトルを用いて、該順方向動きベクトルの分だけ動きベクトル探索範囲を基準位置から移動して今回の探索範囲とすることを特徴とする請求項６記載の動画像符号化装置。
【請求項８】
前記動きベクトル探索手段は、前記順方向動きベクトルが所定の値より大きい場合、もとの探索基準位置を含むように探索範囲を適応的に変更することを特徴とする請求項７記載の動画像符号化装置。
【請求項９】
前記動きベクトル探索手段は、前記各Ｂフレームについて、前記双方向動きベクトルを用いて、該双方向動きベクトルに対応する参照フレーム内の位置を基準位置として所定の探索範囲で動きベクトル探索を行って動きベクトルを導出し、該動きベクトルを当該各Ｂフレームについての動きベクトルとして決定することを特徴とする請求項６から８のいずれか１項に記載の動画像符号化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動画像符号化方法および装置に関し、特に、動き補償フレーム間予測符号化を行う動画像符号化方法および装置に関する。
【０００２】
【従来の技術】
従来技術として、動画像信号を記録あるいは伝送する際に、動き補償を用いたフレーム間予測符号化により信号を圧縮符号化する技術がよく知られている。
【０００３】
動画像符号化の標準規格としてはＭＰＥＧがある。図２を参照してＭＰＥＧ（特にＭＰＥＧ１）のフレーム構成について説明する。ＭＰＥＧのフレームタイプには、フレーム内符号化のみ施すＩピクチャ、時間的に過去のフレームを用いて順方向予測（前方向予測）を施すＰピクチャ、時間的に過去・未来の両方のフレームを用いて順方向予測または逆方向（後方向）予測または順逆の双方向予測を施すＢピクチャの３種類がある。Ｂピクチャの場合、順方向／逆方向／双方向のどのモードを使用するかはブロックごとに選択できる（予測誤差が最も小さくなるモードを選択する）。ＭＰＥＧ１では、Ｉピクチャと、Ｉピクチャ間に所定のフレーム間隔で配置される複数個のＰピクチャと、ＩピクチャとＰピクチャの間、または、ＰピクチャとＰピクチャの間に配置される複数個のＢピクチャとからなるピクチャグループを処理単位としている。また、Ｂピクチャは未来のフレームを予測に用いるため、符号化時にはフレームの並べ替えが行われる。例えば、図２に示すようなフレーム構成の場合、処理の行われる順番はＩ０Ｐ３Ｂ１Ｂ２Ｐ６Ｂ４Ｂ５…となる。
【０００４】
動き補償フレーム間予測処理を行う際の動きベクトルの検出（探索）方法としては、ブロックマッチングと呼ばれる方法がある。これは、動き補償予測を行う単位であるマクロブロックごとに、予測対象ブロックに対応する参照フレーム内の同位置の参照ブロックについて、所定の探索範囲で予測対象ブロックとの差分値（＝各画素の差分の絶対値和など）を演算して時間的相関性を評価し、予測対象ブロックと最も相関性の高い（＝差分値が最小の）ブロックを最適予測ブロックとして決定する。最適予測ブロックと予測対象ブロックとの位置差が動きベクトルとして検出される。
【０００５】
動き補償フレーム間予測では、動きベクトルの探索範囲が広ければ広いほど正確な動きベクトルを得ることができるが、代わりに演算量は飛躍的に増加してしまう。高速な圧縮処理を要求される場合、この探索範囲を適応的に狭くすることにより処理速度の低下を抑える手法が一般的であり、このような手法は、例えば、実開平５−４３６８１号公報などに開示されている。
【０００６】
実開平５−４３６８１号公報に開示されている画像符号化装置は、動き補償予測を行う際に、前回の動き補償予測処理で導出した動きベクトルを用いて、今回の動き補償予測処理における動きベクトルの方向を推測する。動きベクトルの向かう確率の低い領域では評価計算を行わないようにすることにより、探索点の数を減少させて処理速度を高める。
【０００７】
しかしこの方法では、動き補償予測を行う対象となるフレーム、特に双方向予測を行う対象となるフレームの数に応じて比例的に処理量が増加するという問題がある。
【０００８】
特開平１１−２３９３５０号公報では、探索精度によって演算方法を変えて高速化を実現する方法が開示されているが、前述の理由と同様で、処理量が増加するという問題点がある。
【０００９】
また、特開平８−２８９３０１号公報には、参照フレームを適応的にサブサンプルしてブロックマッチング処理の演算量を減らすことにより、動きベクトル探索処理を高速化する方法が開示されている。しかしこの手法では、動き補償予測を行う対象となるフレーム数が増加してブロックマッチング処理を行う必要のあるブロック数が増加した場合に、ブロックマッチング処理の演算を省略しすぎることにより、正確な動きベクトルが求められなくなるという欠点がある。
【００１０】
また、特開２０００−１３４６２９号公報には、参照ブロックについて既に求められている動きベクトルを利用して次の動きベクトル探索範囲を決定することにより、探索範囲を固定とした場合に比較して演算量を削減することのできる動きベクトル検出方法が開示されている。
【００１１】
また、特開２０００−２２４５９３号公報に開示されているフレーム補間方法は、動き補償予測符号化・復号化における、復号化の際の補間フレームの生成の方法に関する技術であり、ブロック単位より細かく補間モードが設定できるものである。
【００１２】
【発明が解決しようとする課題】
本発明は、かかる問題点に鑑みてなされたものであり、圧縮効率を高めるために、動きベクトルを高速に求めることのできる動画像符号化方法および装置を提供することを目的とする。
【００１３】
【課題を解決するための手段】
かかる目的を達成するために、請求項１記載の発明は、動画像信号に対し、所定の大きさのブロック単位および所定のフレーム間隔で、フレーム内符号化と、順方向動き補償フレーム間予測符号化とを施し、フレーム内符号化が施されるＩフレームおよび順方向動き補償フレーム間予測符号化が施されるＰフレームの間にある複数のＢフレームに対して双方向動き補償フレーム間予測符号化を施す動画像符号化方法であって、各Ｂフレームに対し、Ｐフレームについての順方向動きベクトル探索において導出された順方向動きベクトルを、当該各Ｂフレームと順方向動き補償フレーム間予測における参照フレーム（ＩまたはＰフレーム）とのフレーム距離に応じて大きさを縮小して順方向動きベクトルとして配分し、また、Ｂフレームのうち、ＩまたはＰフレームの次のフレームについてＩまたはＰフレームを参照フレームとして逆方向動きベクトル探索を行い、動きベクトル探索において導出された逆方向動きベクトルを、当各Ｂフレームと逆方向動きベクトル探索における参照フレーム（ＩまたはＰフレーム）とのフレーム距離に応じて大きさを縮小して逆方向動きベクトルとして配分し、各Ｂフレームに対し、配分された順方向動きベクトルおよび逆方向動きベクトルを用いて双方向動き補償フレーム間予測符号化を施すことを特徴としている。
【００１４】
請求項２記載の発明は、動画像信号に対し、所定の大きさのブロック単位および所定のフレーム間隔で、フレーム内符号化と、順方向動き補償フレーム間予測符号化とを施し、フレーム内符号化が施されるＩフレームおよび順方向動き補償フレーム間予測符号化が施されるＰフレームの間にある複数のＢフレームに対して双方向動き補償フレーム間予測符号化を施す動画像符号化方法であって、ＰフレームについてＩまたはＰフレームを参照フレームとして順方向動きベクトル探索を行って順方向動きベクトルを導出し、順方向動き補償フレーム間予測符号化を施す順方向予測ステップと、各Ｂフレームに対し、順方向動きベクトルを用いて、動きベクトルの大きさを順方向動きベクトル探索における参照フレームと当該各Ｂフレームとのフレーム距離に応じて縮小したベクトルを順方向動きベクトルとして配分する順方向ベクトル配分ステップと、ＢフレームのうちＩまたはＰフレームの次のフレームについて、ＩまたはＰフレームを参照フレームとして逆方向動きベクトル探索を行って逆方向動きベクトルを導出する逆方向予測ステップと、各Ｂフレームに対し、逆方向動きベクトルを用いて、動きベクトルの大きさを逆方向動きベクトル探索における参照フレームと当該各Ｂフレームとのフレーム距離に応じて縮小したベクトルを逆方向動きベクトルとして配分する逆方向ベクトル配分ステップと、各Ｂフレームに対し、順方向動きベクトルおよび逆方向動きベクトルを用いて双方向動き補償フレーム間予測符号化を施す双方向予測符号化ステップと、を有することを特徴としている。
【００１５】
請求項３記載の発明は、請求項２記載の発明において、順方向動きベクトル探索の際、参照フレームについての順方向動きベクトル探索において導出されている順方向動きベクトルを用いて、順方向動きベクトルの分だけ動きベクトル探索範囲を基準位置から移動して今回の探索範囲とする探索範囲変更ステップをさらに有することを特徴としている。
【００１６】
請求項４記載の発明は、請求項３記載の発明において、探索範囲変更ステップは、順方向動きベクトルが所定の値より大きい場合、もとの探索基準位置を含むように探索範囲を適応的に変更することを特徴としている。
【００１７】
請求項５記載の発明は、請求項２から４のいずれか１項に記載の発明において、各Ｂフレームについて、配分された双方向動きベクトルを用いて、双方向動きベクトルに対応する参照フレーム内の位置を基準位置として所定の探索範囲で動きベクトル探索を行って動きベクトルを導出し、動きベクトルを当該各Ｂフレームについての動きベクトルとして決定する再探索ステップをさらに有することを特徴としている。
【００１８】
請求項６記載の発明は、動画像信号に対し、所定の大きさのブロック単位および所定のフレーム間隔で、フレーム内符号化と、順方向動き補償フレーム間予測符号化とを施し、フレーム内符号化が施されるＩフレームおよび順方向動き補償フレーム間予測符号化が施されるＰフレームの間にある複数のＢフレームに対して双方向動き補償フレーム間予測符号化を施す動画像符号化装置であって、入力フレームを蓄積し、符号化を施す順番に並べ替えるフレーム並べ替え手段と、Ｐフレームと、参照フレーム（ＩまたはＰフレーム）と、を入力して順方向動きベクトル探索を行って順方向動きベクトルを導出し、また、ＢフレームのうちＩまたはＰフレームの次のフレームと、参照フレーム（ＩまたはＰフレーム）と、を入力して逆方向動きベクトル探索を行って逆方向動きベクトルを導出する動き探索手段と、動き探索手段において導出された各動きベクトルを保存する動きベクトル保存手段と、各Ｂフレームに対し、順方向動きベクトルと、逆方向動きベクトルとを用いて、各動きベクトルの大きさをＩまたはＰフレームとのフレーム間距離に応じて縮小したベクトルを、ＩまたはＰフレームを参照フレームとした双方向動きベクトルとして配分するベクトル配分手段と、ＰまたはＢフレームについて、各動きベクトルと参照フレームとを用いた予測画像との差分を演算して予測誤差信号を出力する予測誤差生成手段と、Ｉフレームまたは予測誤差信号を入力して周波数変換および量子化を行い、量子化データを出力する周波数変換・量子化手段と、量子化データを入力して可変長符号化を行い、符号化データを出力する可変長符号化手段と、量子化データを入力して逆量子化および逆周波数変換を行い、復元データを出力する逆量子化・逆周波数変換手段と、復元データから動き補償フレーム間予測における参照フレームを生成する参照フレーム生成手段と、参照フレームを記憶するフレーム記憶手段と、を有することを特徴としている。
【００１９】
請求項７記載の発明は、請求項６記載の発明において、動きベクトル探索手段は、順方向動きベクトル探索における参照フレームについての順方向動きベクトル探索において導出されている順方向動きベクトルを用いて、順方向動きベクトルの分だけ動きベクトル探索範囲を基準位置から移動して今回の探索範囲とすることを特徴としている。
【００２０】
請求項８記載の発明は、請求項７記載の発明において、動きベクトル探索手段は、順方向動きベクトルが所定の値より大きい場合、もとの探索基準位置を含むように探索範囲を適応的に変更することを特徴としている。
【００２１】
請求項９記載の発明は、請求項６から８のいずれか１項に記載の発明において、動きベクトル探索手段は、各Ｂフレームについて、双方向動きベクトルを用いて、該双方向動きベクトルに対応する参照フレーム内の位置を基準位置として所定の探索範囲で動きベクトル探索を行って動きベクトルを導出し、動きベクトルを当該各Ｂフレームについての動きベクトルとして決定することを特徴としている。
【００２２】
【発明の実施の形態】
以下、本発明の実施の形態を添付図面を参照しながら詳細に説明する。以下、説明の便宜のために、フレーム内符号化を施すフレームを「フレームＩ」、順方向動き補償フレーム間予測符号化を施すフレームを「フレームＰ」、それ以外の、フレーム間予測における参照フレームとはならないフレームを「中間フレーム」あるいは「フレームＭ」、また、特に中間フレームのうち逆方向動きベクトル探索が行われるフレームを「フレームＲ」、と呼ぶことにする。また、各動き補償フレーム間予測における処理単位は所定の大きさのブロック（例えば１６×１６画素のマクロブロック）である。
【００２３】
図１は、本発明の実施の形態における動画像圧縮符号化装置の構成を示すブロック図である。本実施例は、画像入力部１１と、フレームメモリ１２と、動き探索部１３と、ベクトル情報保存部１４と、切替部１５と、周波数変換部１７と、量子化部１８と、切替部１９と、逆量子化部２０と、逆周波数変換部２１と、切替部（復元部）２２と、フレームメモリ２４と、可変長符号化部２５と、符号出力部２６とを備えている。
【００２４】
各部の動作について説明する。画像入力部１１は、動画像信号をフレーム単位で入力する。フレームメモリ１２は、入力されたフレームを一旦蓄積する。一回の符号化処理に必要なフレーム数が入力されると、符号化対象フレームが出力される。
【００２５】
動き探索部１３は、フレームＩ以外のフレームについて動きベクトル探索を行って動きベクトルを導出する。動きベクトル探索は、フレームメモリ１２から出力される対象フレーム（現フレーム）と、フレームメモリ２４に記憶されている参照フレームとを入力して行われる。各探索処理において導出された動きベクトルは、動きベクトル保存部１４に保存する。また、動き探索部１２では、各中間フレームに対して、順方向動き補償フレーム間予測、逆方向動き補償フレーム間予測において導出された動きベクトルを配分する処理を行う（後述）。
【００２６】
動きベクトル保存部１４は、動き探索部１３における動きベクトル探索処理において導出された各動きベクトルを保存する。また、必要に応じて動きベクトル情報を出力する。
【００２７】
切替部１５は、フレームタイプに応じてスイッチを切り替える。フレームＰ、フレームＲ、および中間フレームについては、減算器１６において、予測対象ブロックと予測画像（＝最適予測ブロック＝参照フレーム＋動きベクトル情報）とを入力して予測誤差信号を出力する。また、動き探索部１３における動きベクトル探索において導出された最適予測ブロックの評価値が所定の閾値より大きい場合（つまり予測対象ブロックとの相関性が低いと判断された場合）、このブロックについてはフレーム内符号化を施すようにスイッチを切り替える。
【００２８】
周波数変換部１７は、フレームＩについてはそのままのデータを、フレームＰ・フレームＲ・中間フレームについては予測誤差データを周波数変換して変換係数を出力する。量子化部１８は、変換係数を量子化して量子化符号を出力する。
【００２９】
切替部１９は、フレームタイプに応じてスイッチを切り替える。フレームタイプが、参照フレームを生成する必要のあるＩまたはＰである場合、逆量子化部２０にも信号を出力するように制御する。
【００３０】
可変長符号化部２５は、量子化符号を可変長符号化して符号データを出力する。符号出力部２６は、符号データを外部に出力する。
【００３１】
逆量子化部２０は、フレーム間予測における参照フレームの生成のために、量子化符号を入力して逆量子化する。逆周波数変換部２１は、逆量子化部２０より出力された変換係数を入力して逆周波数変換し、復元データを出力する。
【００３２】
切替部２２は、フレームタイプがＰの場合、逆周波数変換部２１より出力された復元データ（予測誤差）と、予測画像（＝最適予測ブロック＝参照フレーム＋動きベクトル）とを加算器２３において加算して新たな参照フレームを生成する。参照フレームはフレームメモリ２４に記憶される。フレームタイプがＩの場合、そのまま復元データを参照フレームとしてフレームメモリ２４に出力する。
【００３３】
図３および図４を参照して、本発明における動画像符号化方法について説明する。図３に示すように、例えば、フレームグループＩＭＭＭＰについては、まず、フレームＩを参照フレームとしてフレームＰについて順方向動きベクトル探索および動き補償フレーム間予測符号化が行われ、順方向動きベクトルが導出される。次に、フレームＰを参照フレームとしてフレームＩの次のフレームＭについて逆方向動きベクトル探索が行われ、逆方向動きベクトルが導出される。各中間フレームＭに対しては、上記順方向動きベクトルおよび逆方向動きベクトルがフレーム間隔の比に応じた大きさでそれぞれ配分される。
【００３４】
図３および図４を参照して、中間フレームに対する動きベクトル配分処理について説明する。まず、フレームＩ（またはＰ）を参照フレームとしてフレームＰについて順方向動き補償フレーム間予測符号化（＝ＭＣｐとする）が行われ、動きベクトル（＝ＭＶｐとする）が導出される。なお、フレームＩについて順方向動き補償フレーム間予測を行うことはないので、この場合、代わりに、参照フレームＰから最も離れたフレームＭについて順方向動き補償フレーム間予測符号化を行う（つまり、このフレームＭはフレームＰとなる）。
【００３５】
次に、フレームＩ（またはＰ）の次のフレームＭ（＝上記順方向動き補償フレーム間予測ＭＣｐが行われたフレームＰから最も離れた中間フレーム＝フレームＲ）について、上記フレームＰ（またはＩ）を参照フレームとして逆方向動きベクトル探索（＝ＭＣｒとする）が行われ、動きベクトル（＝ＭＶｒとする）が導出される。
【００３６】
動き探索部１３内の動きベクトル配分処理部は、各中間フレームに対して、上記順方向動き補償フレーム間予測ＭＣｐにおいて導出された動きベクトルＭＶｐと、上記逆方向動きベクトル探索ＭＣｒにおいて導出された動きベクトルＭＶｒとを配分する処理を行う。動きベクトル配分は、各フレーム内の対応する同位置ブロックごとに行われる。各中間フレームには、上記動きベクトルＭＶｐおよびＭＶｒを当該フレームと参照フレーム（ＩまたはＰ）とのフレーム距離に応じて縮小したベクトルが双方向動きベクトルとして配分される。
【００３７】
順方向予測における動きベクトル配分例について説明する。フレームＩ０を参照フレームとしたフレームＰ４についての順方向動き補償フレーム間予測ＭＣｐ04において求められた動きベクトルＭＶｐ04が例えば（４，１２）だったとする。フレームＩ０からＰ３までのフレーム間距離（＝フレーム数）は４で、フレームＩ０からＭ１までのフレーム間距離は１なので、フレームＩ０を参照フレームとしたフレームＭ１についての順方向予測における動きベクトルＭＶｐ01は、上記ＭＶｐ04の成分をフレーム間距離の比である１／４にした値である（１，３）となる。また、同様に、フレームＩ０を参照フレームとしたフレームＭ２についての順方向予測における動きベクトルＭＶｐ02は、上記ＭＶｐ04の成分をフレーム間距離の比である２／４にした値である（２，６）となり、フレームＩ０を参照フレームとしたフレームＭ３についての順方向予測における動きベクトルＭＶｐ03は、上記ＭＶｐ04の成分をフレーム間距離の比である３／４にした値である（３，９）となる。
【００３８】
次に逆方向予測における動きベクトル配分例について説明する。フレームＰ４を参照フレームとしたフレームＭ１についての逆方向動きベクトル探索ＭＣｒ41の結果、導出された動きベクトルＭＶｒ41が（−３，−６）だったとする。フレームＭ１からＰ４までのフレーム間距離は３で、フレームＭ２からＰ４までのフレーム間距離は２なので、フレームＰ４を参照フレームとしたフレームＭ２についての逆方向予測における動きベクトルＭＶｒ42は、上記ＭＶｒ41の成分をフレーム間距離の比である２／３にした値（−２，−４）となる。また、同様に、フレームＰ４を参照フレームとしたフレームＭ３についての逆方向予測における動きベクトルはＭＶｒ43は、上記ＭＶｒ41の成分をフレーム間距離の比である１／３にした値（−１，−２）となる。
【００３９】
以上の結果から、各中間フレームの各マクロブロック位置における動きベクトルは、Ｍ１が順方向について（１，３）、逆方向について（−３，−６）、Ｍ２が順方向について（２，６）、逆方向について（−２，−４）、Ｍ３が順方向について（３，９）、逆方向について（−１，−２）と決定される。中間フレームに対しては、これらの動きベクトルを用いて双方向動き補償フレーム間予測符号化が施される。
【００４０】
以下、図１を参照しながら、各フレームタイプごとの処理について順を追って説明する。まず、フレームタイプがＩの場合について説明する。フレームＩは、フレーム内符号化のみ行われるため、周波数変換部１７、量子化部１８、可変長符号化部２５、符号出力部２６の順に処理される。また、参照フレームを作成するために、逆量子化部２０、逆周波数変換部２１の順に処理されて参照フレームが作成され、切替部２２を介してフレームメモリ２４に記憶される。
【００４１】
次に、フレームタイプがＰの場合について説明する。フレームＰは、順方向動き補償予測が行われるので、まず、動き探索部１３において、過去のフレーム（ＩまたはＰ）を参照フレームとして動き探索処理が行われる。導出された動きベクトル情報は以降の予測処理で使用するために動きベクトル保存部１４に保存される。また、減算器１６において、上記動き探索部１３において導出された動きベクトルを用いて、予測対象フレームと参照フレーム（予測画像）との予測誤差が演算される。
【００４２】
ブロックマッチング処理におけるブロック評価値が所定の閾値より大きい場合は、フレーム内圧縮を行うように制御を行う。そのため予測誤差は求めない。ブロック評価値が上記閾値以下である場合、フレーム間予測符号化を行う。
【００４３】
フレームＰにおいて、フレーム間予測符号化を行うと判断されたブロックは、周波数変換部１７、量子化部１８、可変長符号化部２５、符号出力部２６の順に処理が行われる。また、参照フレームを作成するために、逆量子化部２０、逆周波数変換部２１により処理が行われ、予測誤差が復元される。復元信号は、加算器２３において、フレームメモリ２４より出力された参照フレーム（＝予測画像。動きベクトル情報を用いる）との加算が行われ、参照フレームが作成される。参照フレームは、フレームメモリ２４に書き込まれる。
【００４４】
また、フレームＰにおいて、フレーム間予測を行わないと判断されたブロックは、周波数変換部１７、量子化部１８、可変長符号化部２５、符号出力部２６の順でフレーム内符号化処理が行われる。また、参照フレームを作成するために、逆量子化部２０、逆周波数変換部２１により処理が行われて参照フレームが生成され、フレームメモリ２４に書き込まれる。
【００４５】
次に、フレームが中間フレーム（ＭまたはＲ）の場合について説明する。最初の中間フレームの場合、前述したように、まず逆方向動きベクトル探索ＭＣｒが行われ、動きベクトルＭＶｒが導出されて、動きベクトル保存部１４にて保存される。その他の中間フレームについては、既に利用できる動きベクトル情報が動きベクトル保存部１４に保存されている場合、動き探索部１３で動き探索処理は行わずに、上記保存されている動きベクトル情報を用いて、動きベクトル配分処理を行う。配分された動きベクトルを用いて、切替部１５の減算器１６において過去もしくは未来のフレームとの予測誤差を求める。ここで予測誤差が所定の閾値より大きい場合、フレーム間予測を行わずにフレーム内圧縮を行うように制御する。その場合、予測誤差は求めない。これらの処理で得たブロックデータは、周波数変換部１７、量子化部１８、可変長符号化部２５、符号出力部２６の順で符号化処理される。中間フレームについては参照フレームを作成する必要がないため、フレームメモリ２４の更新は行わない。
【００４６】
次に、図５を参照して動きベクトル探索範囲の決定方法について説明する。まず、フレームＩ−Ｐ１間の動き補償予測について説明する。例えば、フレームＰのブロック位置（１６，１６）について、フレームＩを参照フレームとして動きベクトルを探索するものとする。また、探索範囲としては、所定の画素半径の円内を探索するものとする。ブロックマッチング処理を行い、フレームＰ１の（１６，１６）位置のブロックとの間での評価値が最小になったブロックが（２５，１９）位置のブロックだったとすると、この場合のブロック移動量は、横方向に−９、縦方向に−３であるので、動きベクトルは（−９，−３）となる。
【００４７】
次に、フレームＰ１−Ｐ２間の動き補償予測について説明する。前回の順方向予測処理（Ｉ→Ｐ１）において、フレームＰ１の（１６，１６）位置のブロックは、フレームＩからフレームＰ１へ（−９，−３）移動したと予測されたのだから、今回のＰ１からＰ２への順方向予測処理における移動量も同等のものであると予想すると、フレームＰ２の（１６，１６）位置のブロックには、フレームＰ１の（２５，１９）位置のブロック部分が移動してくる可能性が高いと考えることができる。そこで、フレームＰ１の（２５，１９）位置を中心とした所定範囲内を探索することにより、探索範囲を固定とした場合に比して効果的な動きベクトル探索を行うことができる。
【００４８】
もし、この探索範囲変更における移動量が大きすぎて、もとの探索基準位置が探索範囲外になってしまうと、今回の予測フレームにおいてオブジェクトの動きがないあるいは小さい場合に、移動量ゼロの位置を参照位置とすることができなくなり、予測誤差が大きくなって画質劣化につながる。そのため、このような場合は、もとの探索基準位置も探索対象として別に探索するか、もとの探索基準位置が探索範囲内に入るように探索範囲を適応的に広げるなどの処理を行うとよい。なお、フレームＩの後にくる最初のフレームＰについての順方向予測ＭＣｐは、前回の順方向予測処理における結果の動きベクトル情報が存在しないため探索開始位置変更情報は取得できない。この場合、参照ブロックの位置を基準位置とした標準的な探索範囲を探索する。
【００４９】
図６は、本発明の実施の形態における動画像圧縮符号化装置の動作を示すフローチャートである。まず、画像入力部１１に動画像データが入力され、圧縮処理が可能かどうかを確認しながらフレームデータをフレームメモリ１２に蓄積する（ステップＳ１１）。
【００５０】
一回の予測符号化処理に必要なフレーム数が揃い、また、動きベクトル探索についての探索開始位置および探索範囲の変更情報がある場合（ステップＳ１２／ＹＥＳ）、その情報に従い、探索開始位置および探索範囲を変更する（ステップＳ１３）。ここでは、前述したように、探索開始位置変更情報として、参照フレーム内の参照ブロックについての過去の動き補償フレーム間予測処理において既に求められている動きベクトル情報を用いる。
【００５１】
次に、フレームグループについて、順方向の動きベクトル探索および動き補償フレーム間予測符号化を行う（ステップＳ１４）。この探索処理において導出された順方向動きベクトル情報は、後段のベクトル配分処理および次回の順方向動き補償フレーム間予測処理における開始位置変更情報として使用するために、ベクトル情報保存部１４に保存しておく（ステップＳ１５）。
【００５２】
逆方向動きベクトル探索は、中間フレームのうち、参照フレームとなるフレームＰ（またはＩ）から時間的に最も離れたフレームについて行われる（ステップＳ１６）。この探索処理において導出された逆方向動きベクトルは、後段のベクトル配分処理において使用するためにベクトル情報保存部１４に保存する（ステップＳ１７）。
【００５３】
上記ステップにおいて導出された各順方向および逆方向の動きベクトルは、各中間フレームに対し、参照フレームとのフレーム距離に応じて比例的な大きさでそれぞれ配分される（ステップＳ１８）。
【００５４】
上記順方向動き補償フレーム間予測および逆方向動きベクトル探索において導出された動きベクトルを使用して、各入力フレームの符号化処理が行われる（ステップＳ１９）。以上のような動作を全てのフレームの圧縮処理が終了するまで繰り返す（ステップＳ１０）。
【００５５】
以上により、本発明の動画像符号化方法および装置について説明した。なお、各中間フレームについては、配分された各動きベクトルに対応する参照フレーム内の位置を中心にして、所定の大きさの探索範囲で周囲を再探索する構成にすることにより、さらに符号化効率を高めることも可能である。
【００５６】
なお、上述した実施形態は、本発明の好適な実施形態の一例を示すものであり、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲内において、種々変形実施が可能である。
【００５７】
【発明の効果】
以上の説明から明らかなように、本発明によれば、動きベクトル探索処理を行うフレームを減らし、全体の演算量を削減することができる。
【００５８】
また、過去の動き補償フレーム間予測処理において導出されている動きベクトル情報を使用して次の動きベクトル探索処理における探索範囲を決定することにより、移動量の大きいオブジェクトに対しても正確な動きベクトル探索を行うことができる。
【００５９】
また、もとの探索基準位置を含むように探索範囲を適応的に変更することにより、等速で移動しないオブジェクトに関しても探索範囲内に納めることができる。
【００６０】
また、中間フレームについてのみ動きベクトル探索処理を省略化し、フレーム間予測処理における誤差が発生しても誤差が蓄積されないため、画質劣化の少ない圧縮処理を行うことができる。
【図面の簡単な説明】
【図１】本発明の実施の形態における動画像符号化装置の構成を示すブロック図である。
【図２】ＭＰＥＧのフレーム構成例を示す図である。
【図３】本発明の動画像符号化方法についての説明図である。
【図４】中間フレームに対する動きベクトルの配分処理についての説明図である。
【図５】順方向フレーム間予測における動きベクトル探索および探索範囲変更についての説明図である。
【図６】本発明の実施の形態における動画像符号化装置の動作を示すフローチャートである。
【符号の説明】
１１  画像入力部
１２  フレームメモリ
１３  動き探索部
１４  動きベクトル保存部
１５  切替部
１６  減算器（予測誤差生成部）
１７  周波数変換部
１８  量子化部
１９  切替部
２０  逆量子化部
２１  逆周波数変換部
２２  切替部
２３  加算部（参照フレーム生成部）
２４  フレームメモリ
２５  可変長符号化部
２６  符号出力部
【図１】
0003674535.tif 000002
【図２】
0003674535.tif 000003
【図３】
0003674535.tif 000004
【図４】
0003674535.tif 000005
【図５】
0003674535.tif 000006
【図６】
0003674535.tif 000007