(57)【特許請求の範囲】
【請求項１】
入力ビットストリームを復号化して入力映像を復元するデコーダと、
復元された映像のサイズを縮めるスケーリングを実行すると共に、復元された映像を再符号化して走査方式を変換する走査方式変換部と、
前記走査方式変換部から出力された映像を与えられたビット率で再符号化するエンコーダとを備えたトランスコーダであって、
前記エンコーダが、
前記スケーリング以前の映像と前記スケーリング以後の映像の走査方式を比較する走査方式判断部と、
前記スケーリング以前の映像のマクロブロックでありながら動き推定をしようとする第１マクロブロックが属する映像と時間的に隣接した映像の動きベクトルのうち、前記第１マクロブロックを通過する動きベクトルで構成された候補ベクトル群を生成する候補ベクトル群生成部と、
前記スケーリング以後の映像のマクロブロックである第２マクロブロックと対応する複数の前記第１マクロブロックにおける前記候補ベクトル群、及び該第１マクロブロックの各動きベクトルから、前記第２マクロブロックの基準ベクトルを推定する動きベクトル推定部と、
選択された前記基準ベクトル及び前記第１マクロブロックのモードから、前記第２マクロブロックのモードを決定するモード決定部とを備え、
前記走査方式変換部から出力された映像のマクロブロックの動きベクトルを補償する
ことを特徴とするトランスコーダ。
【請求項２】
前記動きベクトル推定部は、映像の種類に応じて、前記第２マクロブロックと対応する複数の前記第１マクロブロックの各候補ベクトル群及び該複数の前記第１マクロブロックの各動きベクトルに対応するＳＡＤ(Sum of Absolute Difference)を求め、前記ＳＡＤが最小の動きベクトルを前記第２マクロブロックの前記基準ベクトルと推定することを特徴とする請求項１に記載のトランスコーダ。
【請求項３】
前記動きベクトル推定部は、
前記第２マクロブロックと対応する複数の前記第１マクロブロックの動きベクトルから第１中間値を求め、該第１中間値と近接した動きベクトルを有する候補マクロブロックを前記第２マクロブロックと対応する複数の前記第１マクロブロックから抽出する候補マクロブロック抽出部と、
抽出された前記候補マクロブロックの候補ベクトル群及び前記候補マクロブロックの動きベクトルに対応する前記ＳＡＤを求め、前記ＳＡＤが最小の動きベクトルを前記第２マクロブロックの前記基準ベクトルと推定する基準ベクトル推定部と、を備えることを特徴とする請求項２に記載のトランスコーダ。
【請求項４】
前記動きベクトル推定部は、映像の種類に応じて、前記第２マクロブロックと対応する複数の前記第１マクロブロックの各候補ベクトル群及び該複数の前記第１マクロブロックの各動きベクトルの中間値及び平均値のうちいずれか一つを算出して基準ベクトルと推定することを特徴とする請求項１に記載のトランスコーダ。
【請求項５】
前記動きベクトル推定部は、
前記第２マクロブロックと対応する複数の前記第１マクロブロックの動きベクトルから第１中間値を求め、該第１中間値と近接した動きベクトルを有する候補マクロブロックを前記第２マクロブロックと対応する複数の前記第１マクロブロックから抽出する候補マクロブロック抽出部と、
抽出された前記候補マクロブロックの候補ベクトル群及び前記候補マクロブロックの動きベクトルの前記中間値及び前記平均値のうちいずれか一つの値を算出し、算出された前記値を前記第２マクロブロックの前記基準ベクトルと推定する基準ベクトル推定部と、を備えることを特徴とする請求項４に記載のトランスコーダ。
【請求項６】
前記モード決定部は、
前記第２マクロブロックと対応する複数の前記第１マクロブロックのうちイントラモードが占める比重が所定値以上ならば前記第２マクロブロックをイントラモードと決定し、
前記第２マクロブロックと対応する複数の前記第１マクロブロックのうちイントラモードの占める比重が所定値以下ならば前記第２マクロブロックをインターモードと決定することを特徴とする請求項１に記載のトランスコーダ。
【請求項７】
前記第２マクロブロックがインターモードであると決定され、前記第１マクロブロックの前記候補ベクトル群が存在しない場合、前記動きベクトル推定部は、
前記第２マクロブロックに隣接した少なくとも一つ以上の周辺マクロブロックの動きベクトルから候補ベクトルを求める候補ベクトル抽出部と、
抽出された前記候補ベクトル及び前記第２マクロブロックと対応する複数の前記第１マクロブロックの各動きベクトルのＳＡＤを比較して最小ＳＡＤを有する動きベクトルを前記基準ベクトルと推定する基準ベクトル推定部と、を備えることを特徴とする請求項６に記載のトランスコーダ。
【請求項８】
前記候補ベクトルは、複数の前記周辺マクロブロックの動きベクトルの中間値及び/または平均値であることを特徴とする請求項７に記載のトランスコーダ。
【請求項９】
前記第２マクロブロックに隣接した前記周辺マクロブロックがない場合、前記動きベクトル推定部は、動きベクトル（０，０）及び前記第２マクロブロックと対応する複数の前記第１マクロブロックの各動きベクトルのＳＡＤを比較して最小ＳＡＤを有する動きベクトルを前記基準ベクトルと定めることを特徴とする請求項７に記載のトランスコーダ。
【請求項１０】
前記第２マクロブロックと対応する複数の前記第１マクロブロックのモードがイントラモードの場合、前記モード決定部は前記第２マクロブロックのモードタイプをイントラモードと決定することを特徴とする請求項１に記載のトランスコーダ。
【請求項１１】
前記第１マクロブロックの走査方式及び前記第２マクロブロックの走査方式が相異なると判断されれば、前記候補ベクトル群生成部は前記候補ベクトル群を生成することを特徴とする請求項１に記載のトランスコーダ。
【請求項１２】
入力ビットストリームを復号化して入力映像を復元するデコード段階と、
復元された映像のサイズを縮めるスケーリングを実行すると共に、復元された映像を再符号化して走査方式を変換する走査方式変換段階と、
前記走査方式変換段階から出力された映像を与えられたビット率で再符号化するエンコード段階とを備えた走査方式変換方法であって、
前記エンコード段階が、
前記スケーリング以前の映像と前記スケーリング以後の映像の走査方式を比較する走査方式判断段階と、
前記スケーリング以前の映像のマクロブロックでありながら動き推定をしようとする第１マクロブロックが属する映像と時間的に隣接した映像の動きベクトルのうち、前記第１マクロブロックを通過する動きベクトルで構成された候補ベクトル群を生成する候補ベクトル群生成段階と、
前記スケーリング以後の映像のマクロブロックである第２マクロブロックと対応する複数の前記第１マクロブロックにおける前記候補ベクトル群、及び該第１マクロブロックの各動きベクトルから、前記第２マクロブロックの基準ベクトルを推定する動きベクトル推定段階と、
選択された前記基準ベクトル及び前記第１マクロブロックのモードから、前記第２マクロブロックのモードを決定するモード決定段階とを備え、
前記走査方式変換段階から出力された映像のマクロブロックの動きベクトルを補償する
ことを特徴とする走査方式変換方法。
【請求項１３】
前記動きベクトル推定段階は、映像の種類に応じて、前記第２マクロブロックと対応する複数の前記第１マクロブロックの各候補ベクトル群及び該複数の前記第１マクロブロックの各動きベクトルに対応するＳＡＤ(Sum of Absolute Difference)を求め、前記ＳＡＤが最小の動きベクトルを前記第２マクロブロックの前記基準ベクトルと推定することを特徴とする請求項１２に記載の走査方式変換方法。
【請求項１４】
前記動きベクトル推定段階は、
前記第２マクロブロックと対応する複数の前記第１マクロブロックの動きベクトルから第１中間値を求め、該第１中間値と近接した動きベクトルを有する候補マクロブロックを前記第２マクロブロックと対応する複数の前記第１マクロブロックから抽出する候補マクロブロック抽出段階と、
抽出された前記候補マクロブロックの候補ベクトル群及び前記候補マクロブロックの動きベクトルに対応する前記ＳＡＤを求め、前記ＳＡＤが最小の動きベクトルを前記第２マクロブロックの前記基準ベクトルと推定する基準ベクトル推定段階と、を備えることを特徴とする請求項１３に記載の走査方式変換方法。
【請求項１５】
前記動きベクトル推定段階は、映像の種類に応じて、前記第２マクロブロックと対応する複数の前記第１マクロブロックの各候補ベクトル群及び該複数の前記第１マクロブロックの各動きベクトルの中間値及び平均値のうちいずれか一つを算出して基準ベクトルと推定することを特徴とする請求項１２に記載の走査方式変換方法。
【請求項１６】
前記動きベクトル推定段階は、
前記第２マクロブロックと対応する複数の前記第１マクロブロックの動きベクトルから第１中間値を求め、該第１中間値と近接した動きベクトルを有する候補マクロブロックを前記第２マクロブロックと対応する複数の前記第１マクロブロックから抽出する候補マクロブロック抽出段階と、
抽出された前記候補マクロブロックの候補ベクトル群及び前記候補マクロブロックの動きベクトルの前記中間値及び前記平均値のうちいずれか一つの値を算出し、算出された前記値を前記第２マクロブロックの前記基準ベクトルと推定する基準ベクトル推定段階と、を備えることを特徴とする請求項１５に記載の走査方式変換方法。
【請求項１７】
前記モード決定段階は、
前記第２マクロブロックと対応する複数の前記第１マクロブロックのうちイントラモードが占める比重が所定値以上ならば前記第２マクロブロックをイントラモードと決定し、
前記第２マクロブロックと対応する複数の前記第１マクロブロックのうちイントラモードの占める比重が所定値以下ならば前記第２マクロブロックをインターモードと決定することを特徴とする請求項１２に記載の走査方式変換方法。
【請求項１８】
前記第２マクロブロックがインターモードであると決定され、前記第１マクロブロックの前記候補ベクトル群が存しない場合、前記動きベクトル推定段階は、
前記第２マクロブロックに隣接した少なくとも一つ以上の周辺マクロブロックの動きベクトルから候補ベクトルを求める候補ベクトル抽出段階と、
抽出された前記候補ベクトル及び前記第２マクロブロックと対応する複数の前記第１マクロブロックの各動きベクトルのＳＡＤを比較して最小ＳＡＤを有する動きベクトルを前記基準ベクトルと推定する基準ベクトル推定段階と、を備えることを特徴とする請求項１７に記載の走査方式変換方法。
【請求項１９】
前記候補ベクトルは、複数の前記周辺マクロブロックの動きベクトルの中間値及び/または平均値であることを特徴とする請求項１８に記載の走査方式変換方法。
【請求項２０】
前記第２マクロブロックに隣接した前記周辺マクロブロックがない場合、前記動きベクトル推定段階は、動きベクトル（０，０）及び前記第２マクロブロックと対応する複数の前記第１マクロブロックの各動きベクトルのＳＡＤを比較して最小ＳＡＤを有する動きベクトルを前記基準ベクトルと定めることを特徴とする請求項１８に記載の走査方式変換方法。
【請求項２１】
前記第２マクロブロックと対応する複数の前記第１マクロブロックのモードがイントラモードの場合、前記モード決定段階は前記第２マクロブロックのモードタイプをイントラモードと決定することを特徴とする請求項１２に記載の走査方式変換方法。
【請求項２２】
前記第１マクロブロックの走査方式及び前記第２マクロブロックの走査方式が相異なると判断されれば、前記候補ベクトル群生成段階は前記候補ベクトル群を生成することを特徴とする請求項１２に記載の走査方式変換方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は動き推定及びモード決定装置並びに方法に係り、さらに詳しくは走査フォーマットを変換する場合高速で動き推定及びモード決定を行うための装置及びその方法に関する。
【０００２】
【従来の技術】
一般にデジタル映像画面を具現する方式は、フレームの構成方法に応じて飛越走査(interlaced)方式及び順次走査(progressive)方式とに区分される。図１ａを参照すれば、飛越走査方式は二フィールドを一行ずつ順番に具現した後、二つフィールドを一列ずつ挟み込むことによって一つのフレームを構成する。すなわち、一フィールド(top field)は奇数ライン(実線で示す)だけ、他のフィールド(bottom field)は偶数ライン(点線で示す)だけ走査した後、二つのフィールドを用いて一フレームを具現する。従って、各フィールドの高さはフレーム高さの半分である。この方式は低周波数でも１０２４*７６８のような高解像度の画面を具現するために使われるが、画面のちらつきと映像ジッタが酷い。一方、図１ｂを参照すれば、順次走査方式は一つのフレームの具現時一列ずつ順番に映像信号を走査して一つのフレームを構成する。順次走査方式は飛越走査方式に比べて画面ジッタが少ない。
【０００３】
一方、ＭＰＥＧ標準には内符号化(inter coded frame : Ｉフレーム)、予測符号化(predictive coded frame Ｐフレーム)及び両方向予測符号化(bi-directionally-predicitve coded frame : Ｂフレーム)などの三つのタイプのフレームが定義されている。Ｐフレーム及びＢフレームは動き補償予測を行なうことによって高い圧縮率を有する。
【０００４】
Ｉフレームは他のフレームの参照なしで符号化される。Ｐフレームは過去、すなわち以前Ｉフレームや以前Ｐフレームを参照して符号化される。デジタル映像の圧縮符号化は以前Ｉフレームや以前Ｐフレームと現在Ｐフレーム間の移動情報推定及び移動補償予測を行なった後予測誤差と移動情報を符号化すれば効率よくなされる。
【０００５】
Ｂフレームは圧縮率が最大のフレームである。そして、Ｂフレームは以後ＩまたはＰフレームだけではなく、以後ＩまたはＰフレームも参照して予測を行なう。ＢフレームはＰフレームと同様に移動補償予測を用いる。また、Ｂフレームは二つの参照フレームを使用し、このうち一層優れた予測性能を選択するため圧縮率が最大である。しかし、Ｂフレームは他のフレームのための参照フレームにならない。これとは違って、Ｉ及びＰピクチャは参照フレームと呼ばれる。
【０００６】
図２は従来の技術に係るトランスコーダを概略的に示した図である。図２を参照すれば、トランスコーダ２００は可変長復号器(Variable Length  Decoder : ＶＬＤ)２０１、第１及び第２逆量子化器(Inverse Quantizater : ＩＱ)２０３ａ、２０３ｂと、第１及び第２逆ＤＣＴ変換器(Inverse  Discrete Cosine Transformer: ＩＤＣＴ)２０５ａ、２０５ｂと、第１及び第２加算器２０７ａ、２０７ｂ、動き補償器(Motion Compensater : ＭＣ)２０９ａ、動き予測補償器(Motion Estimation Compensater : ＭＥＣ)２０９ｂ、ダウンサンプラ(Down sampler : DSamp)２１１、減算器２１３、ＤＣＴ変換器(Discrete Cosine Transformer : ＤＣＴ)２１５と、量子化器(Quantizater : Ｑ)２１７、及び可変長符号器(Variable Length Coder : ＶＬＣ)２１９と、を備える。
【０００７】
ＶＬＤ２０１はデータの発生頻度によって符号の長さを相違に表現することによってデータ量を減らす。ＩＱ１（２０３ａ）はＶＬＤ２０１によって符号化されたＤＣＴ係数を逆量子化する。ＩＱ１(２０３ａ)は逆量子化されたＤＣＴ係数をＩＤＣＴ１及びＩＤＣＴ２(２０５ａ、２０５ｂ)に提供する。ＩＤＣＴ１及びＩＤＣＴ２(２０５ａ、２０５ｂ)は逆量子化されたＤＣＴ係数を逆ＤＣＴ変換して得られた予測誤差信号を第１加算器２０７ａに提供する。第１加算器２０７ａは入力された予測誤差信号と予測信号を加算する。ここで、予測とはフレーム/フィールド間画素データの差を求めることを指す。すなわち、過去に処理された他のフレーム/フィールド上のデータのうち現在処理しようとするフレーム/フィールド上のマクロブロックと最上に一致するマクロブロックを探索した後、最上に一致したマクロブロックが動く方向に基づき動きベクトル(motion vector)を検出する。
【０００８】
ＭＣ２０９ａは入力された動きベクトルから符号化順序に従って一つ以上の過去のフレームから動き補償を予測し、予測した予測信号を第１加算器２０７ａに転送する。第１加算器２０７ａは入力された予測誤差信号及び予測信号を加算し、加算された信号をＤＳａｍｐ２１１に転送する。ＤＳａｍｐ２１１は復元及び加算された信号のサイズを縮めるよう働く。サイズが縮小された映像信号は減算器２１３に入力される。減算器２１３は入力された映像信号から予測信号を減算して得られた予測誤差信号をＤＣＴ２１５に提供する。ＤＣＴ２１５は入力された予測誤差信号をＤＣＴ変換した後ＤＣＴ係数をＱ２１７に提供する。Ｑ２１７は入力されたＤＣＴ係数を量子化する。
【０００９】
Ｑ２１７は量子化されたＤＣＴ係数をＶＬＣ２１９に提供すると同時に、ＩＱ２(２０３ｂ)に提供する。ＩＱ２(２０３ｂ)は入力されたＤＣＴ係数を逆量子化する。ＩＱ２(２０３ｂ)は逆量子化されたＤＣＴ係数をＩＤＣＴ２０５ｂに提供する。ＩＤＣＴ２０５ｂは入力されたＤＣＴ係数を逆ＤＣＴ変換して得られた予測誤差信号を加算器２０７ｂに提供する。加算器２０７ｂは入力された予測誤差信号と予測信号を加算し、加算された信号をＭＥＣ２０９ｂに提供する。ＭＥＣ２０９bは入力された動きベクトルから符号化順序に従って一つ以上の過去フレームから動き補償を予測する。ＭＥＣ２０９ｂは得られた予測信号を減算器２１３に提供すると同時に、第２加算器２０７ｂに提供する。ＶＬＣ２１９は入力されたピクチャタイプ、動きベクトル及び量子化されたＤＣＴ係数を可変長符号化して得られたビットストリームを出力する。
【００１０】
一方、ディスプレイ装置によってトランスコーダ３００に入力されるＭＰＥＧ２ビットストリームが飛越走査方式である一方、出力は順次走査方式に変換する必要がある。ところが、従来のトランスコーダは入力される走査フォーマット及び出力される走査フォーマットが同一な場合にトランスコーディングが可能である。従って、トランスコーダのデコーダに入力される走査フォーマット(scan format)とエンコーダから出力される走査フォーマットが相異なる場合、変換されたシーケンスを効率よく再符号化できるトランスコーダは提示されていない。
【００１１】
また、従来のトランスコーダは１８種のＡＴＳＣフォーマットを支援できない。すなわち映像のサイズ及びビット率を減らしたり、あるいはフレーム率を減らすトランスコーディングは提示されたが、スキャンフォーマットが変る場合は提示されていないとの問題点がある。例えば、１９２０×１０８０インタレース入力映像が７２０×４８０順次出力映像に変換される場合、トランスコーディング時フレームタイプが変って高速で動き推定するのに限界があった。
【００１２】
【発明が解決しようとする課題】
本発明は前述した問題点を解決するために案出されたもので、その目的は走査フォーマット変換において再圧縮性能を劣化させず符号化速度をアップさせる動き推定及びモード決定のための装置及び方法を提供するところにある。
【００１３】
【課題を解決するための手段】
前述した目的を達成するための本発明に係る動き推定及びモード決定装置は、スケーリング以前映像のマクロブロックである第１マクロブロックが属する映像と同一な下位映像グループ(sub-GOP)に存在する隣接映像の動きベクトルのうち前記第１マクロブロックを通過する動きベクトルで構成された候補ベクトル群を生成する候補ベクトル群生成部と、スケーリング以後映像のマクロブロックである第２マクロブロックと重畳される前記第１マクロブロックに対する前記候補ベクトル群及び重畳される前記第１マクロブロックの動きベクトルから前記第２マクロブロックの基準ベクトルを推定する動きベクトル推定部と、選択された前記基準ベクトル及び前記第１マクロブロックのモードから前記第２マクロブロックのモードを決定するモード決定部と、を備える。
【００１４】
さらに詳しくは、前記動きベクトル推定部は、映像の種類に応じて、前記第２マクロブロックと重畳される前記第１マクロブロックに対する候補ベクトル群及び重畳される前記第１マクロブロックの動きベクトルに対応するＳＡＤ(Sum of Absolute Difference)を求め、前記ＳＡＤが最小の動きベクトルを前記第２マクロブロックの前記基準ベクトルと推定する。
【００１５】
前記動きベクトル推定部は、前記第２マクロブロックと重畳される前記第１マクロブロックの動きベクトルから中間値を求め、前記中間値と近接した動きベクトルを有する候補マクロブロックを前記第２マクロブロックと重畳される前記第１マクロブロックから抽出する候補マクロブロック抽出部と、抽出された前記候補マクロブロックの候補ベクトル群及び前記候補マクロブロックの動きベクトルに対応する前記ＳＡＤを求め、前記ＳＡＤが最小の動きベクトルを前記第２マクロブロックの前記基準ベクトルと推定する基準ベクトル推定部と、を備える。
【００１６】
前記モード決定部は、前記第２マクロブロックと重畳される前記第１マクロブロックのうちイントラモードの占める比重が所定値以上ならば、前記第２マクロブロックをイントラモードと決定し、前記第２マクロブロックと重畳される前記第１マクロブロックのうちイントラモードの占める比重が所定値以下ならば、前記第２マクロブロックをインターモードと決定する。
【００１７】
また、前記第２マクロブロックがインターモードであると決定され、前記第１マクロブロックの前記候補ベクトル群が存在しない場合、前記動きベクトル推定部は、前記第２マクロブロックに隣接した少なくとも一つ以上の周辺マクロブロックの動きベクトルから候補ベクトルを求める候補ベクトル抽出部と、抽出された前記候補ベクトル及び前記第２マクロブロックと重畳される前記第１マクロブロックの動きベクトルのＳＡＤを比較して最小ＳＡＤを有する動きベクトルを前記基準ベクトルと推定する基準ベクトル推定部と、を備える。前記候補ベクトルは少なくとも一つ以上の前記周辺マクロブロックの動きベクトルの中間値及び/または平均値である。
【００１８】
そして、前記第２マクロブロックに隣接した前記周辺マクロブロックがない場合、前記動きベクトル推定部は前記第２マクロブロックと重畳される前記第１マクロブロックの動きベクトルのＳＡＤを比較して最小ＳＡＤを有する動きベクトルを前記基準ベクトルと定める。また、前記第２マクロブロックと重畳される前記第１マクロブロックのモードがイントラモードの場合、前記モード決定部は前記第２マクロブロックのモードタイプをイントラモードと決定する。
【００１９】
望ましくは、前記第１マクロブロックの走査方式及び前記第２マクロブロックの走査方式を比較・判断する走査方式判断部をさらに備える。前記第１マクロブロックの走査方式及び前記第２マクロブロックの走査方式が相異なると判断されれば、前記候補ベクトル群生成部は前記候補ベクトル群を生成する。
【００２０】
一方、本発明に係る動き推定及びモード決定のための方法は、スケーリング以前映像のマクロブロックである第１マクロブロックの属する映像と同一な下位映像グループ(sub-GOP)に存在する隣接映像の動きベクトルのうち前記第１マクロブロックを通過する動きベクトルで構成された候補ベクトル群を生成する候補ベクトル群生成段階と、スケーリング以後映像のマクロブロックである第２マクロブロックと重畳される前記第１マクロブロックに対する前記候補ベクトル群及び重畳される前記第１マクロブロックの動きベクトルから前記第２マクロブロックの基準ベクトルを推定する動きベクトル推定段階と、選択された前記基準ベクトル及び前記第１マクロブロックのモードから前記第２マクロブロックのモードを決定するモード決定段階と、を備える。
【００２１】
さらに詳しくは、前記動きベクトル推定段階は、映像の種類に応じて、前記第２マクロブロックと重畳される前記第１マクロブロックに対する候補ベクトル群及び重畳される前記第１マクロブロックの動きベクトルに対応するＳＡＤ(Sum of Absolute Difference)を求め、前記ＳＡＤが最小の動きベクトルを前記第２マクロブロックの前記基準ベクトルと推定する。
【００２２】
前記動きベクトル推定段階は、前記第２マクロブロックと重畳される前記第１マクロブロックの動きベクトルから中間値を求め、該中間値と近接した動きベクトルを有する候補マクロブロックを前記第２マクロブロックと重畳される前記第１マクロブロックから抽出する候補マクロブロック抽出段階と、抽出された前記候補マクロブロックの候補ベクトル群及び前記候補マクロブロックの動きベクトルに対応する前記ＳＡＤを求め、前記ＳＡＤが最小の動きベクトルを前記第２マクロブロックの前記基準ベクトルと推定する基準ベクトル推定段階と、を備える。
【００２３】
前記モード決定段階は、前記第２マクロブロックと重畳される前記第１マクロブロックのうちイントラモードの占める比重が所定値以上ならば前記第２マクロブロックをイントラモードと決定し、前記第２マクロブロックと重畳される前記第１マクロブロックのうちイントラモードの占める比重が所定値以下ならば前記第２マクロブロックをインターモードと決定する。
【００２４】
また、前記第２マクロブロックがインターモードであると決定され、前記第１マクロブロックの前記候補ベクトル群が存在しない場合、前記動きベクトル推定段階は、前記第２マクロブロックに隣接した少なくとも一つ以上の周辺マクロブロックの動きベクトルから候補ベクトルを求める段階と、前記候補ベクトル及び前記第２マクロブロックと重畳される前記第１マクロブロックの動きベクトルのＳＡＤを比較して最小ＳＡＤを有する動きベクトルを前記基準ベクトルと推定する段階と、を備える。前記候補ベクトルは少なくとも一つ以上の前記周辺マクロブロックの動きベクトルの中間値及び/または平均値である。
【００２５】
前記第２マクロブロックに隣接した前記周辺マクロブロックがない場合、前記動きベクトル推定段階は前記第２マクロブロックと重畳される前記第１マクロブロックの動きベクトルのＳＡＤを比較して最小ＳＡＤを有する動きベクトルを前記基準ベクトルと定める段階をさらに備える。また、前記第２マクロブロックと重畳される前記第１マクロブロックのモードがイントラモードの場合、前記モード決定段階は前記第２マクロブロックのモードタイプをイントラモードと決定する。
【００２６】
望ましくは、前記第１マクロブロックの走査方式及び前記第２マクロブロックの走査方式を比較・判断する走査方式判断段階をさらに備える。前記第１マクロブロックの走査方式及び前記第２マクロブロックの走査方式が相異なると判断されれば、前記候補ベクトル群生成段階は前記候補ベクトル群を生成する。
【００２７】
以上述べた通り、本発明によれば飛越走査から順次走査に、または順次走査から飛越走査に走査方式が変換する場合、再圧縮性能を劣化させず再符号化速度を向上させることができる。また、復号された動きベクトルで候補ベクトル群を生成して走査変換された映像の動きを推定することによって少ない計算量で動き推定することができる。ひいては、本発明を用いることによって１８種のＡＴＳＣＤＴＶフォーマットを支援するトランスコーディングが可能である。
【００２８】
【発明の実施の形態】
以下、添付した図面に基づき本発明をさらに詳述する。
図３は本発明に係る動き推定及びモード決定のための装置が適用されたトランスコーダの基本的な構成を示したブロック図であり、図４は本発明に係る動き推定及びモード決定のための装置の詳細な構成を示したブロック図である。
【００２９】
図３を参照すれば、本発明に係るトランスコーダ３００はデコーダ３１０とエンコーダ３３０との間に走査フォーマット変換部３２０を有する。本発明に係るトランスコーダ３００は順次走査(progressive scan)及び飛越走査(interlaced  scan)を初めとした１８種のＡＴＳＣ ＤＴＶフォーマットを支援する。デコーダ３１０は入力ビットストリームを復号化して入力映像を復元する。復号過程が完了されれば、走査フォーマット変換部３２０は復元された映像のサイズを縮めるスケーリング(down-scaling)だけではなく、復元された映像を再符号化して走査フォーマットを変換する。
【００３０】
例えば、飛越走査方式の地上波放送を映像で懸示するディスプレイ装置がパソコンの場合、走査フォーマット変換部３２０は飛越走査を順次走査に変換する。また、走査フォーマット変換部３２０はパソコンの画面サイズに合わせて入力される映像のサイズを縮めるスケーリング作業を行なう。すなわち、走査フォーマット変換部３２０は、ダウンスケ-ラモジュール、デインタレースモジュール及びインタレースモジュールを含む。映像スケ-ラ及び走査フォーマット変換はエンコーダ３３０に入力される前になされる。エンコーダ３３０は走査フォーマット変換部３２０によって縮小または同一なサイズに変換された映像を与えられたビット率で再符号化する。
【００３１】
入力される第１マクロブロックの映像シーケンスは、図４に示した通り復号化(Decoding)及び再符号化(Re-encoding)される。トランスコーディングの基本処理単位はＩＢＢＰ、ＰＢＢＩ、ＰＢＢＰなどのような下位-映像グループ(sub-Group of Picture : sub-GOP)の場合を考慮する。以下、ＧＯＰ=１２、Ｍ(Ｐフレーム間の距離)=３の場合に例えば説明する。示されたそれぞれの下付け数字は入力される映像シーケンスの順序、上付けのｔはトップフィールド(top、例えば奇数ライン)、上付けのｂはボトムフィールド(例えば偶数ライン)、Ｉ・Ｂ・Ｐは映像フレーム、矢印は各フレーム間の対応関係を示す。デコーダ３１０の復号化は図４に示した順序通りなされる。復号された映像は走査フォーマット変換部３２０によって映像のサイズが変り、順次走査方式(または飛越走査方式)に変更される。変更された映像はエンコーダ３３０に符号化順序通り入力される。
【００３２】
図４を参照すれば、走査方式変換部３２０は、一番目Ｉフレームを除いた一番目sub-GOP内の全てのマクロブロックについて、各マクロブロックの候補ベクトル群を生成するためには少なくともＢ２ｂフレームまで復号過程を終える。Ｉフレームは動き推定が要らないため除かれる。一方、Ｂ−２とＢ−１を除いて始めに動き推定が必要なフレームはＰ３である。Ｐ３を符号化する時点から一番目sub-ＧＯＰから生成された候補ベクトル群を使用すべきなので、符号化の最も早い時点はＢ１ｂが復号される時である。
【００３３】
以下、飛越走査で入力された映像を順次走査の映像に変換するデインタレース(de-interlaced)に例えて説明する。
エンコーダ３３０は、図５のような動き推定/補償部(Motion Estimation/Motion Compensater)５００を有する。動き推定/補償部５００は動き推定及びモード決定のための装置である。動き推定/補償部５００はデコーダ３１０で復号された各マクロブロックの動きベクトル及びモード情報を用いて新たな映像のマクロブロックの動きベクトルを推定及び補償する。
【００３４】
図５を参照すれば、動き推定/補償部５００は、走査方式判断部５１０、候補ベクトル群生成部５２０、動きベクトル推定部５３０及びモード決定部５４０を有する。走査方式判断部５１０は入力映像の走査方式と出力映像の走査方式とを比較する。入力映像はスケーリング以前の映像であり、出力映像はスケーリング以後の映像である。入力映像と出力映像の走査方式が同一であると判断されれば、動き推定/補償部５００は動き推定のための候補ベクトル群を生成せず、復号された動きベクトルだけを用いて動き推定を行なう。これとは違って、各走査方式が相異なることと判断されれば、動き推定/補償部５００は候補ベクトル群を生成して動き推定を行なう。
【００３５】
候補ベクトル群生成部５２０は、スケーリング以前映像の第１マクロブロックが属する映像と同一なsub-GOP内に存在する隣接映像の動きベクトルのうち第１マクロブロックを通過する動きベクトルで構成された候補ベクトル群を生成する。
【００３６】
図６及び図７は本発明に係る任意のsub-GOP内の各マクロブロックに該当する候補ベクトル群を決定する例を示した図である。図６を参照すれば、一番目Ｂｔフレームの斜線で示したマクロブロックは第１マクロブロックＭＢ１'と称する。以下、第１マクロブロックＭＢ_１'の候補ベクトル群生成過程を説明する。図６において太線で示したマクロブロックＭＢ'は空間的に同じ位置に存するマクロブロックを意味する。Ｐｔフレームの一つのマクロブロックＭＢ'の動きベクトルＭＶ'が第１マクロブロックＭＢ_１'を通過すれば、該当動きベクトルＭＶ'は第１マクロブロックＭＢ_１'の候補ベクトルになる。
【００３７】
同様に、図７のように二番目Ｂｔフレームの一つのマクロブロックＭＢ"の動きベクトルＭＶ"が第１マクロブロックＭＢ_１"を通過すれば、動きベクトルＭＶ"は第１マクロブロックＭＢ_１"の候補ベクトルになる。すなわち、sub-GOP内の全てのマクロブロックの動きベクトルのうち第１マクロブロックを通過する動きベクトルを候補ベクトル群と設定する。このような方法でトランスコーディングを行なう全てのマクロブロックそれぞれに対する候補ベクトル群を生成する。しかし、マクロブロックによって候補ベクトル群が存在しない場合もある。すなわち、走査方式判断部５１０で入力及び出力映像の走査方式が同一であると判断されれば、候補ベクトル群生成部５２０は候補ベクトル群を生成しない。
【００３８】
図８は本発明に係る動きベクトル推定部５３０の詳細な構成を示したブロック図である。
図８を参照すれば、本発明に係る動きベクトル推定部５３０は候補マクロブロック抽出部５３２と、候補ベクトル抽出部５３４及び基準ベクトル推定部５３６を有する。
【００３９】
動きベクトル推定部５３０は、スケーリング以後映像のマクロブロックである第２マクロブロックＭＢ_０と重畳されるそれぞれのマクロブロックＭＢ_１に対する候補ベクトル群及び重畳されるマクロブロックＭＢ_１の動きベクトルから第２マクロブロックＭＢ_０の基準ベクトルを推定する。
【００４０】
スケーリング以前のマクロブロックの動きベクトルのサイズはスケーリング以後の画面サイズの変化、すなわちスケーリング比率によって変る。もし、与えられた比率によって画面のサイズが縮小されれば、エンコーダ３３０に入力される映像の第２マクロブロックＭＢ_０は図９に示した通りデコーダ３１０から出力される映像のマクロブロックＭＢ_１、 ＭＢ_２、 ＭＢ_３、 ＭＢ_４を一個以上含む。
【００４１】
図９はスケーリング以前及び以後の映像サイズの変化を示した図である。
図９を参照すれば、(ａ)はスケーリング以前の映像(Original Resolution)、(ｂ)はスケーリング以後の映像(Scaled Resolution)の一部を示す。図９において(ａ)の点線内のブロックは第２マクロブロックＭＢ_０に対応するブロックである。しかし、点線内のブロックのうち１６×１６サイズを有するそれぞれのマクロブロックＭＢ_１、ＭＢ_２、ＭＢ_３、ＭＢ_４だけが第２マクロブロックＭＢ_０の動き推定に考慮される。すなわち、図９はエンコーダ３３０でマクロブロック一個当たりデコーダ３１０から出力される四つのマクロブロックを考慮して動き推定する場合である。すなわち、第２マクロブロックＭＢ_０は各マクロブロックＭＢ_１、ＭＢ_２、ＭＢ_３、ＭＢ_４の数に該当する４倍ほどの動きベクトル及び候補群を考慮する。第２マクロブロックＭＢ_０の動き推定は各マクロブロックＭＢ_１、ＭＢ_２、ＭＢ_３、ＭＢ_４の復号された動きベクトル及び各マクロブロックＭＢ_１、ＭＢ_２、ＭＢ_３、ＭＢ_４の候補ベクトル群を考慮して推定される。
【００４２】
動き推定の例として、動きベクトル推定部５３０は各マクロブロックＭＢ_１、ＭＢ_２、ＭＢ_３、ＭＢ_４の復号された動きベクトル及び各マクロブロックＭＢ_１、ＭＢ_２、ＭＢ_３、ＭＢ_４の候補ベクトル群に対応するＳＡＤ(Sum of Absolute Difference)を計算する。そして、最小ＳＡＤを有する動きベクトルを第２マクロブロック(ＭＢ_０)の基準ベクトル(base ＭＶ)と推定する。ＳＡＤは[数式１]によって求める。
【００４３】
【数１】
0003908633.tif 000002
【００４４】
マクロブロックは１６画素×１６画素＝２５６画素で構成される。ｘ(ｉ．ｊ)は現在マクロブロックの動きベクトルが示す(ｉ、ｊ)位置の画素、ｘ'(ｉ+ｘ、ｊ+ｙ)は以前フレームにおいて動きベクトル(ｘ、ｙ)が示す(ｉ+ｘ、ｊ+ｙ)位置の画素である。すなわち、ＳＡＤは二つのマクロブロック内の同じ位置に存在する画素の差に絶対値を取った後絶対値を加えて求める。ＳＡＤが小さいほど二つのマクロブロックは類似であり、ＳＡＤが大きいほど二つのマクロブロックは相違である。
【００４５】
本発明において、現在マクロブロックは前記スケーリングの対象になるマクロブロックであって、時間的に第１マクロブロックと第２マクロブロックとの間に位置するマクロブロックである。
【００４６】
このように第２マクロブロックＭＢ_０と重畳されるそれぞれのマクロブロックＭＢ_１、ＭＢ_２、ＭＢ_３、ＭＢ_４の候補ベクトル群を求め、それぞれのマクロブロックＭＢ_１、ＭＢ_２、ＭＢ_３、ＭＢ_４の動きベクトル及び候補ベクトル群に対するＳＡＤを比較すれば、正確で鮮明な輪郭線及び映像を画面にディスプレイすることができる。
【００４７】
動き推定の他の例として、第２マクロブロックＭＢ_０と重畳されるそれぞれのマクロブロックＭＢ_１、ＭＢ_２、ＭＢ_３、ＭＢ_４のうち一つのマクロブロックを選定して早くて少ない計算で第２マクロブロックＭＢ_０の動きベクトル、すなわち基準ベクトル(base ＭＶ)を推定する高速動き推定も可能である。
【００４８】
以下、候補マクロブロックを抽出した後基準ベクトル(base ＭＶ)を推定する高速動き推定に例えて説明する。
候補マクロブロック抽出部５３２は第２マクロブロックＭＢ_０と重畳されるそれぞれのマクロブロックＭＢ_１、ＭＢ_２、ＭＢ_３、ＭＢ_４のうち一つのマクロブロックを選定した後、各マクロブロックＭＢ_１、ＭＢ_２、ＭＢ_３、ＭＢ_４の復号された動きベクトルの第１中間値を求める。そして、候補マクロブロック抽出部５３２は求められた第１中間値と最も近接した動きベクトルを有するマクロブロックをそれぞれのマクロブロックＭＢ_１、ＭＢ_２、ＭＢ_３、ＭＢ_４から抽出して候補マクロブロックと指定する。例えば、図９において第１中間値と最も近接した動きベクトルがマクロブロックＭＢ_３に位置する場合、候補マクロブロック抽出部５３２はマクロブロックＭＢ_３を候補マクロブロックと指定する。
【００４９】
基準ベクトル推定部５３６は、候補ベクトル群生成部５２０で生成された候補マクロブロックＭＢ_３の候補ベクトル群及び候補マクロブロックＭＢ_３の復号された動きベクトルに対応するＳＡＤを[数式１]によって求める。そして、最小ＳＡＤを有する動きベクトルを第２マクロブロックＭＢ_０の基準ベクトル(base
ＭＶ)と推定する。
【００５０】
また、動き推定の他の例として、動きベクトル推定部５３０は各マクロブロックＭＢ_１、ＭＢ_２、ＭＢ_３、ＭＢ_４の復号された動きベクトル及び各マクロブロックＭＢ_１、ＭＢ_２、ＭＢ_３、ＭＢ_４の候補ベクトル群に対応する中間値または平均値を算出する。そして、動きベクトル推定部５３０は算出された中間値または平均値を有する動きベクトルを第２マクロブロックＭＢ_０の基準ベクトル(base ＭＶ)と推定する。この場合、基準ベクトル推定部５３６は候補ベクトル群生成部５２０で生成された候補マクロブロックＭＢ_３の候補ベクトル群及び候補マクロブロックＭＢ_３の復号された動きベクトルに対応する中間値または平均値を算出する。そして、算出された中間値または平均値を有する動きベクトルを第２マクロブロックＭＢ_０の基準ベクトル(base ＭＶ)と推定する。
【００５１】
モード決定部５４０は基準ベクトル推定部５３６で推定された基準ベクトル(base ＭＶ)及び各マクロブロックＭＢ_１、ＭＢ_２、ＭＢ_３、ＭＢ_４のモードから第２マクロブロックＭＢ_０のモードを決定する。
【００５２】
モード決定部５４０は第２マクロブロックＭＢ０と重畳されるそれぞれのマクロブロック(ＭＢ_１、ＭＢ_２、ＭＢ_３、ＭＢ_４のうち２５％以上がイントラモード(intra mode)ならば、第２マクロブロックＭＢ_０はイントラモードと決定する。そうでない場合は第２マクロブロックＭＢ_０はインターモード(inter mode)と決定して動き推定を行なう。一方、モード決定部５４０はそれぞれのマクロブロックＭＢ_１、ＭＢ_２、ＭＢ_３、ＭＢ_４のうち少なくとも一つのマクロブロックがスキップした形態のマクロブロックならば、第２マクロブロックＭＢ_０はインターモードと決定する。また、モード決定部５４０は全てのマクロブロックＭＢ_１、ＭＢ_２、ＭＢ_３、ＭＢ_４がスキップした形態のマクロブロックならば、第２マクロブロックＭＢ_０もスキップしたマクロブロックと決定する。
【００５３】
一方、高速の動き推定を適用しない場合のモード決定は次の通りである。
フレームまたはピクチャタイプ（Ｉ、Ｂ及びＰ）の変換パターンによって候補ベクトル群を必要としない場合、モード決定部５４０はスケーリング以後の第２マクロブロックＭＢ_０をイントラモードと決定する。例えば、ＢフレームからＩフレームに変換する場合、スケーリング以後の第２マクロブロックＭＢ_０はイントラモードと決定される。そして、スケーリング以前の各マクロブロックＭＢ_１、ＭＢ_２、ＭＢ_３、ＭＢ_４の復号されたモードがイントラモードの場合、モード決定部５４０はスケーリング以後の第２マクロブロックＭＢ_０を候補ベクトル群とは無関係にイントラモードと決定する。
【００５４】
図１０は本発明に係る候補ベクトル群が存在しない場合の基準ベクトル設定方法を説明するための図である。
場合によっては、第２マクロブロックＭＢ_０がインターモードでありながら、第２マクロブロックＭＢ_０と重畳されるそれぞれのマクロブロック(ＭＢ_１、 ＭＢ_２、ＭＢ_３、ＭＢ_４に候補ベクトル群が存在しない場合もある。例えば、第２マクロブロックＭＢ_０が境界線を示したり、または周辺のマクロブロックＭＢ_１、ＭＢ_２、ＭＢ_３、ＭＢ_４がイントラモードならば候補ベクトル群は存在しない。この場合、動きベクトル推定部５３０は図８のように候補ベクトル抽出部５３４をさらに有する。
【００５５】
図１０を参照すれば、候補ベクトル抽出部５３４は第２マクロブロックＭＢ_０に隣接した一つ以上の周辺マクロブロックの動きベクトルＭＶ１、ＭＶ２、ＭＶ３から候補ベクトルを抽出する。候補ベクトル抽出部５３４は周辺マクロブロックの動きベクトルＭＶ１、ＭＶ２、ＭＶ３の中間値または平均値を第２マクロブロックＭＢ_０の候補ベクトルとして使用する。基準ベクトル推定部５３６は候補ベクトル及び第２マクロブロックＭＢ_０と重畳されるそれぞれのマクロブロックＭＢ_１、ＭＢ_２、ＭＢ_３、ＭＢ_４の動きベクトルに対するＳＡＤを[数式１]によって計算する。そして、最小ＳＡＤを有する動きベクトルを第２マクロブロックＭＢ_０の基準ベクトル(base ＭＶ)と推定する。
【００５６】
また、第２マクロブロック(ＭＢ_０)に隣接した周辺マクロブロックが一つもない場合はそれぞれのマクロブロックＭＢ_１、ＭＢ_２、ＭＢ_３、ＭＢ_４の動きベクトル及び動きベクトル(０、０)のＳＡＤを[数式１]によって計算する。そして、最小ＳＡＤを有する動きベクトルを第２マクロブロックＭＢ_０の基準ベクトル(base ＭＶ)と推定する。
【００５７】
図１１は本発明に係る動き推定及びモード決定方法を示した流れ図である。 図１１において、スケーリング以前映像のマクロブロックである第１マクロブロックはＭＢ_１、ＭＢ_２、スケーリング以後映像のマクロブロックである第２マクロブロックはＭＢ_０と称する。図１１を参照すれば、本発明に係る動き推定及びモード決定方法は、ＭＢ_１、ＭＢ_２及びＭＢ_０の走査方式を比較する(Ｓ１１１０)。比較結果、二つの走査方式が相異なると、ＭＢ_１及びＭＢ_２の属する映像と同一な下位映像グループ(sub-GOP)に存在する隣接映像の動きベクトルのうちＭＢ_１及びＭＢ_２を通過する動きベクトルがあるかを確認する(Ｓ１１２０)。そして、ＭＢ_１及びＭＢ_２を通過する動きベクトルによってＭＢ_１及びＭＢ_２の候補ベクトル群を生成する(Ｓ１１３０)。各ＭＢ_１及びＭＢ_２の候補ベクトル群が生成されれば高速で動き推定を行なうため、各ＭＢ_１及びＭＢ_２の復号された動きベクトルの第１中間値を求める。それから求められた第１中間値と近接した動きベクトルを有するマクロブロックを各ＭＢ_１及びＭＢ_２の中から選択して候補マクロブロックを抽出する(Ｓ１１４０)。そして、抽出された候補マクロブロックの候補ベクトル群及び動きベクトルのＳＡＤ(Sum of Absolute Difference)、中間値及び平均値のうちいずれか一つを求める(Ｓ１１５０)。本発明ではＳＡＤを用いて基準ベクトルを求める。ＳＡＤは[数式１]によって求める。求められた各動きベクトルのＳＡＤを比較して最小ＳＡＤを有する動きベクトルをＭＢ_０の基準ベクトルと推定する(Ｓ１１６０)。最終的に、ＭＢ_０の基準ベクトル及びＭＢ_１、ＭＢ_２のモードからＭＢ_０のモードを決定する(Ｓ１１７０)。
【００５８】
また、Ｓ１１２０段階においてＭＢ_１及びＭＢ_２の属する映像と同一な下位映像グループ(sub-GOP)に存在する隣接映像の動きベクトルのうちＭＢ_１及びＭＢ_２を通過する動きベクトルが存在しなければ(Ｓ１１２０)、ＭＢ_０の周辺に位置した周辺マクロブロックの動きベクトルから候補動きベクトルを抽出する(Ｓ１１８０)。候補動きベクトルは各動きベクトルの中間値または平均値を使用する。そして、抽出された候補動きベクトル及び各ＭＢ_１、ＭＢ_２の動きベクトルのＳＡＤを[数式１]によって計算する(Ｓ１１９０)。最小ＳＡＤを有する動きベクトルをＭＢ_０の基準ベクトルと推定した後(Ｓ１１６０)モードを決定する(Ｓ１１７０)。
【００５９】
そして、Ｓ１１１０段階において比較結果、二つの走査方式が同一であると判断されれば、ＭＢ_１、ＭＢ_２の復号された動きベクトルだけを考慮して(Ｓ１１１５)ＭＢ_０の基準ベクトルを推定した後(Ｓ１１６０)モードを決定する(Ｓ１１７０)。
【００６０】
図１２は本発明に係る動き推定及びモード決定の実施例を示した図である。
図１２を参照すれば、映像グループ(GOP)=９、Ｍ=３であり、Ｉ・Ｂ・Ｐは走査方式変換前後のピクチャタイプ、ｔはトップ(top)フィールド、ｂはボトム(bottom)フィールド、各数字はフレーム番号、丸内の数字は再符号化される順序を意味し、デインタレースの場合を考慮する。この際、画面サイズは変るかまたはそうでない場合もありうる(De-interlacing with/without resizing)。また、動き推定は復号されたモードがインターモードの場合だけ考慮する。以下、図１２ａのインタレース映像の各マクロブロックが図１２ｂのプログレッシーブ映像に走査変換された後どうように適用されるか説明する。また、スケーリング以前のマクロブロックはＭＢ_ｂ、スケーリング以後のマクロブロックはＭＢ_ｎ、動きベクトルはＭＶと表示する。
【００６１】
１．Ｉ０ｔフレームがＩ０フレームに対応する場合、全てのＭＢ_ｎのモードはイントラモードである。
【００６２】
２．Ｂ１ｂフレームがＰ３フレームに対応する場合。
第１に、ＭＢ_ｂの復号されたモードがフォワード(forward)ＭＣモードの場合、ＭＢ_ｂの候補ベクトル群はＭＢ_ｂを通過するＭＶのうちフォワード(forward)ＭＶ及びＭＢ_ｂの復号されたＭＶとからなる。そして、求められた候補ベクトル群によって前述した方法(例えば、中間値を用いた高速推定技法)を用いて基準ベクトル(base ＭＶ)を決める。第２に、ＭＢ_ｂの復号されたモードがバックワード(backward)ＭＣモードの場合、ＭＢ_ｂの候補ベクトル群はＭＢ_ｂを通過するＭＶのうちフォワード(forward)ＭＶとからなる。そして、求められた候補ベクトル群によって前述した方法を用いて基準ベクトル(base ＭＶ)を決める。第３に、復号されたモードが両方向(bi-direcitional)ＭＣモードの場合、ＭＢ_bの候補ベクトル群はＭＢ_ｂを通過するＭＶのうちフォワード(forward)ＭＶ及びＭＢ_ｂのＭＶのうちバックワード(backward)ＭＶとからなる。そして、求められた候補ベクトル群によって前述した方法を用いて基準ベクトル(base ＭＶ)を決定する。
【００６３】
３．Ｉ０ｂフレームがＢ１フレームに対応する場合。
ＭＢ_ｂの候補ベクトル群はＭＢ_ｂを通過するＭＶのうち全てのバックワード/フォワード(backward/forward)ＭＶとからなる。そして、求められた候補ベクトル群によって前述した方法を用いて同時に基準ベクトル(base ＭＶ)及びバックワード・フォワード・両方向ＭＣモードを決定する。
【００６４】
４．Ｂ１ｔフレームがＢ２フレームに対応する場合。
第１に、ＭＢ_ｂの復号されたモードがフォワード(forward)ＭＣモードの場合、ＭＢ_ｂの候補ベクトル群はＭＢ_ｂを通過するＭＶのうちバックワード及びフォワード(backward/forward)ＭＶ及びＭＢ_ｂの復号されたＭＶのフォワードＭＶとからなる。そして、求められた候補ベクトル群を用いて基準ベクトル(baseＭＶ)及びバックワード・フォワード・両方向(backward/forward/bi-directional)ＭＣモードを決定する。第２に、ＭＢ_ｂの復号されたモードがバックワード(backward)ＭＣモードの場合、ＭＢ_ｂの候補ベクトル群はＭＢ_ｂを通過するＭＶのうちバックワード及びフォワード(backward/forward)ＭＶ及びＭＢ_ｂの復号されたＭＶのバックワードＭＶとからなる。そして、求められた候補ベクトル群を用いて基準ベクトル(base ＭＶ)及びバックワード・フォワード・両方向(backward/forward/bi-directional)ＭＣモードを決定する。第３に、復号されたモードが両方向(bi-direcitional)ＭＣモードの場合、ＭＢ_ｂの候補ベクトル群はＭＢ_ｂを通過するＭＶのうちバックワード及びフォワード(backward/forward)ＭＶ及びＭＢ_ｂのＭＶのうちバックワード及びフォワード(backward/forward)ＭＶとからなる。そして、求められた候補ベクトル群を用いて基準ベクトル(base ＭＶ)及びバックワード・フォワード・両方向(backward/forward/bi-directional)ＭＣモードを決定する。
【００６５】
５．Ｐ３ｔフレームがＰ６フレームに対応する場合
ＭＢ_ｂの候補ベクトル群はＭＢ_ｂを通過するＭＶのうち(forward)ＭＶ及びＭＢ_ｂのＭＶとからなる。そして、求められた候補ベクトル群を用いて基準ベクトル(base ＭＶ)を決定する。
【００６６】
６．Ｂ２ｔフレームがＢ４フレームに対応する場合は前記４．Ｂ１ｔフレームがＢ２フレームに対応する場合と同様である。
【００６７】
７．Ｂ２ｂフレームがＢ５フレームに対応する場合は前記４．Ｂ１ｔフレームがＢ２フレームに対応する場合と同様である。
【００６８】
８．Ｂ４ｂフレームがＩ９フレームに対応する場合、全てのＭＢ_ｎのモードはイントラモードである。
【００６９】
９．Ｐ３ｂフレームがＢ７フレームに対応する場合
ＭＢ_ｂの候補ベクトル群はＭＢ_bを通過するＭＶのうちバックワード/フォワード(backward/forward)ＭＶ及びＭＢ_ｂのＭＶとからなる。そして、求められた候補ベクトル群を用いて基準ベクトル(base ＭＶ)及びバックワード・フォワード・両方向(backward/forward/bi-directional)ＭＣモードを決定する。
【００７０】
１０．Ｂ４ｔtフレームがＢ８フレームに対応する場合は前記４．Ｂ１ｔフレームがＢ２フレームに対応する場合と同様である。
【図面の簡単な説明】
【図１】  ａ及びｂは一般の飛越走査及び順次走査方式を説明するための図
【図２】  従来のトランスコーダを示した図
【図３】  本発明に係るトランスコーダの基本的な構成を示した図
【図４】  本発明に係るトランスコーダで映像フレームの復号化及び再符号化順序の実施形態を示した図
【図５】  本発明に係る動き推定/補償装置の基本的な構成を示したブロック図
【図６】  本発明に係る任意のsub-GOP内の各マクロブロックに該当する候補ベクトル群を決定する実施形態を示した図
【図７】  本発明に係る任意のsub-GOP内の各マクロブロックに該当する候補ベクトル群を決定する実施形態を示した図
【図８】  本発明に係る動きベクトル推定部５３０の詳細な構成を示した図
【図９】  スケーリング以前及び以後の映像サイズの変化を実施形態を挙げて示した図
【図１０】  本発明に係る候補ベクトル群が存在しない場合の基準ベクトル設定方法を説明するための図
【図１１】  本発明に係る動き推定及びモード決定のための方法を示した流れ図
【図１２Ａ】  本発明に係る動き推定及びモード決定の実施形態を示した図
【図１２Ｂ】  本発明に係る動き推定及びモード決定の実施形態を示した図
【符号の説明】
３００    トランスコーダ
３１０    デコーダ
３２０    走査フォーマット変換部
３３０    エンコーダ
５００    動き推定／補償部
５１０    走査方式判断部
５２０    候補ベクトル群生成部
５３０    動きベクトル推定部
５４０    モード決定部
【図１】
0003908633.tif 000003
【図２】
0003908633.tif 000004
【図３】
0003908633.tif 000005
【図４】
0003908633.tif 000006
【図５】
0003908633.tif 000007
【図６】
0003908633.tif 000008
【図７】
0003908633.tif 000009
【図８】
0003908633.tif 000010
【図９】
0003908633.tif 000011
【図１０】
0003908633.tif 000012
【図１１】
0003908633.tif 000013
【図１２Ａ】
0003908633.tif 000014
【図１２Ｂ】
0003908633.tif 000015