(57)【要約】【課題】  動画圧縮符号化技術では、圧縮効率を高めるために、動きベクトル情報に起因する符号量を削減する必要がある。【解決手段】  局所動きベクトル検出部６６は、符号化対象フレーム画像についてマクロブロック単位でローカル動きベクトルＬＭＶを求める。領域設定部６４は、フレーム画像上に複数のグローバル領域を設定し、大域動きベクトル算出部６８は、各グローバル領域内の大域的な動きを示すグローバル動きベクトルＧＭＶを算出する。局所動きベクトル差分符号化部７２は、グローバル領域毎に、グローバル領域内のローカル動きベクトルＬＭＶとグローバル動きベクトルＧＭＶの差分ΔＬＭＶを求めて符号化する。大域動きベクトル差分符号化部７４は、各グローバル領域のグローバル動きベクトルＧＭＶと基準となるグローバル動きベクトルＧＭＶＢの差分ΔＧＭＶを求めて符号化する。【選択図】        図２
2007036887.tif 000002
【特許請求の範囲】
【請求項１】
動画像を構成するピクチャであって、ピクチャ間予測符号化されるピクチャ上に定義された複数の領域の内、少なくとも１つの領域について、その領域内の大域的な動きを示す大域動きベクトルの情報を前記動画像の符号化データに含めることを特徴とする符号化方法。
【請求項２】
２つ以上の領域について大域動きベクトルが定義されている場合に、異なる領域の大域動きベクトル間の差分情報を前記動画像の前記符号化データに含めることを特徴とする請求項１に記載の符号化方法。
【請求項３】
２つ以上の領域について大域動きベクトルが定義されている場合に、少なくとも１つの大域動きベクトルを基準に選び、その基準となる大域動きベクトルと他の大域動きベクトルとの差分情報を前記動画像の前記符号化データに含めることを特徴とする請求項１に記載の符号化方法。
【請求項４】
２つ以上の領域について大域動きベクトルが定義されている場合に、各領域の大域動きベクトル間に階層構造をもたせ、異なる階層の大域動きベクトル間の差分情報を前記動画像の前記符号化データに含めることを特徴とする請求項１に記載の符号化方法。
【請求項５】
前記複数の領域が互いに包含関係を有する場合、その包含関係の順序にしたがった各領域の大域動きベクトル間の差分情報を前記動画像の前記符号化データに含めることを特徴とする請求項２から４のいずれかに記載の符号化方法。
【請求項６】
前記包含関係の上位にある領域の大域動きベクトルを基準とした包含関係の下位にある大域動きベクトルとの差分情報を前記動画像の前記符号化データに含めることを特徴とする請求項５に記載の符号化方法。
【請求項７】
前記ピクチャ間予測符号化されるピクチャについて所定のブロック単位の局所動きベクトルが定義されている場合に、前記領域毎に前記大域動きベクトルと前記局所動きベクトルとの差分情報を前記動画像の前記符号化データに含めることを特徴とする請求項１から６のいずれかに記載の符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像を符号化する符号化方法に関する。
【背景技術】
【０００２】
ブロードバンドネットワークが急速に発展しており、高品質な動画像を利用したサービスに期待が集まっている。また、ＤＶＤなど大容量の記録媒体が利用されており、高画質の画像を楽しむユーザ層が広がっている。動画像を通信回線で伝送したり、記録媒体に蓄積するために不可欠な技術として圧縮符号化がある。動画像圧縮符号化技術の国際標準として、ＭＰＥＧ４の規格やＨ．２６４／ＡＶＣ規格がある。また、１つのストリームにおいて高画質のストリームと低画質のストリームを併せもつＳＶＣのような次世代画像圧縮技術がある。
【０００３】
高解像度の動画像をストリーム配信したり、記録媒体に蓄積する場合、通信帯域を圧迫しないように、あるいは、記憶容量が大きくならないように、動画ストリームの圧縮率を高める必要がある。動画像の圧縮効果を高めるために、動き補償フレーム間予測符号化が行われる。動き補償フレーム間予測符号化では、符号化対象フレームをブロックに分割し、既に符号化された参照フレームからの動きをブロック毎に予測して動きベクトルを検出し、差分画像とともに動きベクトル情報を符号化する。
【０００４】
特許文献１には、フレーム内符号化、通常の動き補償、グローバル動きベクトルを用いた各種の動き補償の中から、最も符号化効率が高い方式を選択する動画像符号化技術が開示されている。
【特許文献１】特開２００３−２９９１０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
Ｈ．２６４／ＡＶＣ規格では、動き補償において、よりきめ細かな予測を行うために、動き補償のブロックサイズを可変にしたり、動き補償の画素精度を１／４画素精度まで細かくすることができるようになっており、動きベクトルに関する符号量が多くなる。また、次世代画像圧縮技術であるＳＶＣ（Scalable Video Coding）では、時間的スケーラビリティを高めるために、ＭＣＴＦ（Motion Compensated Temporal Filtering、動き補償時間方向フィルタ）技術が検討されている。これは、時間軸方向のサブバンド分割に動き補償を組み合わせたものであり、階層的な動き補償を行うため、動きベクトルの情報が非常に多くなる。このように最近の動画圧縮符号化技術では、動きベクトルに関する情報量が増えることにより動画ストリーム全体のデータ量が増大する傾向にあり、動きベクトル情報に起因する符号量を削減する技術が一層求められている。
【０００６】
本発明はこうした状況に鑑みてなされたもので、その目的は、符号化効率が高く、また、精度の高い動き予測を行うことのできる動画像の符号化技術および復号技術を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある態様の符号化方法は、動画像を構成するピクチャであって、ピクチャ間予測符号化されるピクチャ上に定義された複数の領域の内、少なくとも１つの領域について、その領域内の大域的な動きを示す大域動きベクトルの情報を前記動画像の符号化データに含める。
【０００８】
「大域動きベクトル」は、領域全体の動きを表すベクトルである。
【０００９】
「ピクチャ」は、フレーム、フィールド、ＶＯＰ（Video Object Plane）などを含む符号化の単位である。
【００１０】
この態様によると、動画像の符号化に際し、動画像に定義された複数の領域の内、少なくとも１つの領域内で大域的な動きを捉えることができる。
【００１１】
２つ以上の領域について大域動きベクトルが定義されている場合に、異なる領域の大域動きベクトル間の差分情報を前記動画像の前記符号化データに含めてもよい。これによれば、領域毎に得られた大域動きベクトルについて領域間で差分を取ることで、大域動きベクトルの符号量を削減することができる。
【００１２】
前記ピクチャ間予測符号化されるピクチャについて所定のブロック単位の局所動きベクトルが定義されている場合に、前記領域毎に前記大域動きベクトルと前記局所動きベクトルとの差分情報を前記動画像の前記符号化データに含めてもよい。これによれば、局所動きベクトルを符号化する際に、符号化対象ピクチャ上の領域毎に与えられた大域動きベクトルとの差分を取ることにより、局所動きベクトルの符号量を削減することができ、動画像の圧縮効率を高めることができる。
【００１３】
２つ以上の領域について大域動きベクトルが定義されている場合に、少なくとも１つの大域動きベクトルを基準に選び、その基準となる大域動きベクトルと他の大域動きベクトルとの差分情報を前記動画像の前記符号化データに含めてもよい。これによれば、複数の領域の大域動きベクトルを符号化する際に、基準となる大域動きベクトルとの差分を取ることにより、大域動きベクトルの符号量を削減することができ、動画像の圧縮効率を高めることができる。
【００１４】
本発明の別の態様は、符号化装置である。この装置は、動画像のピクチャ間予測符号化されるピクチャ上に定義された複数の領域の内、少なくとも１つの領域について、その領域内の大域的な動きを示す大域動きベクトルを算出する大域動きベクトル算出部を含む。
【００１５】
本発明のさらに別の態様は、動画像ストリームのデータ構造である。この動画像ストリームのデータ構造は、動画像のピクチャが符号化された動画像ストリームのデータ構造であって、ピクチャ間予測符号化されるピクチャ上に定義された複数の領域の内、少なくとも１つの領域について、その領域内の大域的な動きを示す大域動きベクトルが動きベクトル情報として前記ピクチャ間予測符号化されるピクチャともに符号化されてなる。
【００１６】
この態様によると、符号化対象ピクチャ上に設けられた各領域内の大域的な動きを示す大域動きベクトルが符号化されているため、動画像の領域別に大域的な動きを捉えた動画ストリームを提供することができる。
【００１７】
この動画像ストリームのデータ構造は、各領域の大域動きベクトル間の差分が動きベクトル情報として前記符号化対象ピクチャともに符号化されてなるものであってもよい。これによれば、大域動きベクトルの符号量の少ない動画ストリームを提供することができる。
【００１８】
また、この動画像ストリームのデータ構造は、各領域内の所定のブロック単位の局所動きベクトルを代表する大域動きベクトルと前記局所動きベクトルとの差分が動きベクトル情報として前記符号化対象ピクチャともに符号化されてなるものであってもよい。これによれば、符号化対象ピクチャ上に設けられた領域毎に局所動きベクトルが大域動きベクトルとの差分の形で符号化されているため、局所動きベクトルの符号量が少ない動画ストリームを提供することができる。
【００１９】
本発明のさらに別の態様は、復号装置である。この装置は、動画像のピクチャが符号化された動画像ストリームを復号する復号装置であって、ピクチャ間予測符号化されたピクチャ上に定義された複数の領域の内、少なくとも１つの領域について、その領域内の大域的な動きを示す大域動きベクトルを前記動画像ストリームから取得する大域動きベクトル算出部を含む。前記大域動きベクトル算出部は、各領域の大域動きベクトル間の差分値を前記動画像ストリームから取得し、前記差分値を用いて各領域の大域動きベクトルを算出してもよい。
【００２０】
この態様によると、画像ピクチャ上に設けられた領域毎に大域動きベクトルが符号化された動画像ストリームから、大域動きベクトルを取得し、動画像の領域別に大域的な動きを捉えることができる。
【００２１】
各領域内の局所的な動きを示す局所動きベクトルの差分値を前記動画像ストリームから取得し、領域毎に前記局所動きベクトルの前記差分値をその領域の前記大域動きベクトルに加算することにより、各領域内の局所動きベクトルを算出する局所動きベクトル算出部と、前記動画像ストリームから取得した差分画像に、算出された前記局所動きベクトルを加算することにより復号対象ピクチャを復元する画像復元部とをさらに含んでもよい。これによれば、画像ピクチャ上に設けられた領域毎に局所動きベクトルと大域動きベクトルの差分が符号化された動画像ストリームから、大域動きベクトルと局所動きベクトルの差分値とを取得し、領域毎に局所動きベクトルの差分値を大域動きベクトルに加算して局所動きベクトルを求めて、動き補償を行うことにより、動画像を高精度で再生することができる。
【００２２】
本発明のさらに別の態様は、復号方法である。この方法は、動画像のピクチャ間予測符号化されたピクチャ上に定義された複数の領域の内、少なくとも１つの領域について、その領域内の大域的な動きを示す大域動きベクトルを動画像のピクチャが符号化された動画像ストリームから取得し、前記大域動きベクトルの情報を前記ピクチャ間予測符号化されたピクチャの動き補償に利用する。各領域の大域的な動きを示す大域動きベクトルと、各領域内の局所的な動きを示す局所動きベクトルの差分値とを動画像ストリームから取得し、領域毎に前記局所動きベクトルの前記差分値をその領域の前記大域動きベクトルに加算することにより、各領域内の局所動きベクトルを算出し、算出された各領域内の前記局所動きベクトルを用いて、前記復号対象ピクチャの動き補償を行ってもよい。
【００２３】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００２４】
本発明によれば、動画像の符号化効率を向上することができる。
【発明を実施するための最良の形態】
【００２５】
図１は、実施の形態に係る符号化装置１００の構成図である。これらの構成は、ハードウエア的には、任意のコンピュータのＣＰＵ、メモリ、その他のＬＳＩで実現でき、ソフトウエア的にはメモリにロードされた画像符号化機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。
【００２６】
本実施の形態の符号化装置１００は、国際標準化機関であるＩＳＯ（International Organization for Standardization）／ＩＥＣ（International Electrotechnical Commission）によって標準化されたＭＰＥＧ（Moving Picture Experts Group）シリーズの規格（ＭＰＥＧ−１、ＭＰＥＧ−２およびＭＰＥＧ−４）、電気通信に関する国際標準機関であるＩＴＵ−Ｔ（International Telecommunication Union-Telecommunication Standardization Sector）によって標準化されたＨ．２６ｘシリーズの規格（Ｈ．２６１、Ｈ．２６２およびＨ．２６３）、もしくは両方の標準化機関によって合同で標準化された最新の動画像圧縮符号化標準規格であるＨ．２６４／ＡＶＣ（両機関における正式勧告名はそれぞれMPEG-4 Part 10: Advanced Video CodingとH.264）に準拠して動画像の符号化を行う。
【００２７】
ＭＰＥＧシリーズの規格では、フレーム内符号化を行う画像フレームをＩ（Intra）フレーム、過去のフレームを参照画像として順方向のフレーム間予測符号化を行う画像フレームをＰ（Predictive）フレーム、過去と未来のフレームを参照画像として双方向のフレーム間予測符号化を行う画像フレームをＢフレームという。
【００２８】
一方、Ｈ．２６４／ＡＶＣでは、参照画像として利用できるフレームは、時間の先後を問わず、過去の２枚のフレームを参照画像としてもよく、未来の２枚のフレームを参照画像としてもよい。また、参照画像として利用できるフレームの枚数も問わず、３枚以上のフレームを参照画像として用いることもできる。したがって、ＭＰＥＧ−１／２／４では、Ｂフレームは双方向予測（Bi-directional prediction）フレームのことを指していたが、Ｈ．２６４／ＡＶＣでは、Ｂフレームは、参照画像の時間の先後は問わないため、双予測（Bi-predictive prediction）フレームのことを指すことに留意する。
【００２９】
なお、実施の形態では、符号化の単位としてフレームを例に挙げて説明するが、符号化の単位はフィールドであってもよい。また、符号化の単位はＭＰＥＧ−４におけるＶＯＰであってもよい。
【００３０】
符号化装置１００は、フレーム単位で動画像の入力を受け取り、動画像を符号化し、符号化ストリームを出力する。入力された動画フレームはフレームメモリ８０に格納される。
【００３１】
動き補償部６０は、フレームメモリ８０に格納されている過去または未来の画像フレームを参照画像として利用し、ＰフレームまたはＢフレームのマクロブロック毎に動き補償を行い、動きベクトルと予測画像を生成する。動き補償部６０は、符号化対象のＰフレームまたはＢフレームの画像と予測画像の差分を取り、差分画像をＤＣＴ部２０に供給する。また、動き補償部６０は、符号化された動きベクトル情報を多重化部９２に供給する。
【００３２】
ＤＣＴ部２０は、動き補償部６０から供給された画像を離散コサイン変換（ＤＣＴ）し、得られたＤＣＴ係数を量子化部３０に与える。
【００３３】
量子化部３０は、ＤＣＴ係数を量子化し、可変長符号化部９０に与える。可変長符号化部９０は、差分画像の量子化されたＤＣＴ係数を可変長符号化し、多重化部９２に与える。多重化部９２は、可変長符号化部９０から与えられた符号化後のＤＣＴ係数と、動き補償部６０から与えられた符号化後の動きベクトル情報とを多重化し、符号化ストリームを生成する。多重化部９２は、符号化ストリームを生成する際、符号化されたフレームを時間順序に並べ替える処理を行う。
【００３４】
ＰフレームもしくはＢフレームの符号化処理の場合は、上述のように動き補償部６０が動作するが、Ｉフレームの符号化処理の場合は、動き補償部６０は動作せず、ここでは図示しないが、Ｉフレームはフレーム内予測が行われた後、ＤＣＴ部２０に供給される。
【００３５】
図２は、動き補償部６０の構成を説明する図である。動き補償部６０は、符号化対象フレームのマクロブロック単位の動きベクトル（以下、「ローカル動きベクトル」という）を検出するとともに、画像上に設けられた所定の領域毎に、その領域内の大域的な動きを示す動きベクトル（以下、「グローバル動きベクトル」という）を求める。グローバル動きベクトルは、その領域全体の動きを表すベクトルである。たとえば、各領域のグローバル動きベクトルは、その領域内の個々のマクロブロック単位のローカル動きベクトルを代表するものであってもよい。
【００３６】
動き補償部６０は、ローカル動きベクトルにもとづいて動き予測を行い、差分画像を出力するとともに、ローカル動きベクトルおよびグローバル動きベクトルの差分値を符号化して動きベクトル情報として出力する。
【００３７】
局所動きベクトル検出部６６は、フレームメモリ８０に保持された参照画像を参照し、符号化対象画像の対象マクロブロックに対して誤差の最も小さい予測マクロブロックを参照画像から検出し、対象マクロブロックから予測マクロブロックへの動きを示すローカル動きベクトルＬＭＶを求める。動き検出は、対象マクロブロックとマッチングする参照画像における参照マクロブロックを整数画素単位または小数画素単位で探すことにより行われる。探索は通常、画素領域内で複数回にわたって繰り返し行われ、その複数回の探索の中で対象マクロブロックと最も適合する参照マクロブロックが予測マクロブロックとして選択される。
【００３８】
局所動きベクトル検出部６６は、求めたローカル動きベクトルＬＭＶを大域動きベクトル算出部６８、動き補償予測部７０、および局所動きベクトル差分符号化部７２に与える。
【００３９】
動き補償予測部７０は、ローカル動きベクトルＬＭＶを用いて対象マクロブロックを動き補償して、予測画像を生成し、符号化対象画像と予測画像の差分画像をＤＣＴ部２０に出力する。
【００４０】
領域設定部６４は、フレーム画像上にグローバル動きベクトルＧＭＶを求めるための領域（以下、「グローバル領域」という）を設定する。グローバル領域は、画像内に複数設けられる。たとえば、領域設定部６４は、フレーム画像の中央付近を一つのグローバル領域とし、その周辺を別のグローバル領域に設定するなど、あらかじめ定められた領域をグローバル領域に設定してもよい。また、グローバル領域はユーザによって設定されてもよい。
【００４１】
また、領域設定部６４は、画像に人物等のオブジェクトが写っている場合、そのオブジェクトが写っている領域を自動抽出し、グローバル領域に設定してもよい。
【００４２】
領域設定部６４は、局所動きベクトル検出部６６により検出された画像内のローカル動きベクトルＬＭＶを参照して、動きがある程度共通するマクロブロックが占める領域を自動抽出し、その領域をグローバル領域に設定してもよい。
【００４３】
領域設定部６４は、設定されたグローバル領域の情報を大域動きベクトル算出部６８および大域動きベクトル差分符号化部７４に与える。
【００４４】
大域動きベクトル算出部６８は、領域設定部６４により設定された各グローバル領域内の大域的な動きを示すグローバル動きベクトルＧＭＶを算出する。たとえば、大域動きベクトル算出部６８は、領域内のローカル動きベクトルＬＭＶの平均を求め、グローバル動きベクトルＧＭＶとする。
【００４５】
また、大域動きベクトル算出部６８は、各グローバル領域内の大域的な動きに関する情報を取得し、その情報をもとに各グローバル領域のグローバル動きベクトルＧＭＶを算出してもよい。たとえば、カメラのズームやパン、画面のスクロールなどが行われた場合に、画面全体の動きに関する情報から、各グローバル領域内の大域的な動きを判断し、グローバル動きベクトルＧＭＶを算出することができる。また、大域動きベクトル算出部６８は、画面上の人物等のオブジェクトの動きを自動抽出し、オブジェクトの動きから各グローバル領域内の大域的な動きを判断し、グローバル動きベクトルＧＭＶを算出することもできる。
【００４６】
大域動きベクトル算出部６８は、求めたグローバル動きベクトルＧＭＶを局所動きベクトル差分符号化部７２と大域動きベクトル差分符号化部７４に与える。
【００４７】
局所動きベクトル差分符号化部７２は、局所動きベクトル検出部６６からローカル動きベクトルＬＭＶ、大域動きベクトル算出部６８からグローバル動きベクトルＧＭＶの入力をそれぞれ受け取り、グローバル領域毎に、グローバル領域内のローカル動きベクトルＬＭＶとグローバル動きベクトルＧＭＶの差分ΔＬＭＶ＝ＬＭＶ−ＧＭＶを算出し、このローカル動きベクトル差分ΔＬＭＶを可変長符号化する。局所動きベクトル差分符号化部７２は、符号化後のローカル動きベクトル差分ΔＬＭＶを動きベクトル情報として多重化部９２に与える。
【００４８】
大域動きベクトル差分符号化部７４は、大域動きベクトル算出部６８から各領域のグローバル動きベクトルＧＭＶの入力を受け取り、少なくとも１つの領域のグローバル動きベクトルＧＭＶを基準に選ぶ。基準となるグローバル動きベクトルＧＭＶを基準グローバル動きベクトルＧＭＶＢと呼ぶ。大域動きベクトル差分符号化部７４は、基準グローバル動きベクトルＧＭＶＢ以外の各グローバル領域のグローバル動きベクトルＧＭＶと基準グローバル動きベクトルＧＭＶＢの差分ΔＧＭＶ＝ＧＭＶ−ＧＭＶＢを算出し、基準グローバル動きベクトルＧＭＶＢとグローバル動きベクトル差分ΔＧＭＶを可変長符号化する。
【００４９】
大域動きベクトル差分符号化部７４は、符号化後の基準グローバル動きベクトルＧＭＶＢと各グローバル領域のグローバル動きベクトル差分ΔＧＭＶを動きベクトル情報として多重化部９２に与える。このとき、大域動きベクトル差分符号化部７４は、領域設定部６４により設定されたグローバル領域についての領域情報を動きベクトル情報の一部に付加する。
【００５０】
多重化部９２には、動きベクトル情報として、基準グローバル動きベクトルＧＭＶＢ、グローバル動きベクトル差分ΔＧＭＶ、ローカル動きベクトル差分ΔＬＭＶが与えられることになる。
【００５１】
図３は、動き補償部６０による動きベクトルの差分符号化の手順を説明するフローチャートである。図４および図５の例を適宜参照しながら符号化の手順を説明する。
【００５２】
符号化装置１００のフレームメモリ８０に符号化対象画像が入力される（Ｓ１０）。動き補償部６０の局所動きベクトル検出部６６は、符号化対象画像においてマクロブロック単位でローカル動きベクトルＬＭＶを検出する（Ｓ１２）。
【００５３】
次に、領域設定部６４は、画像上にグローバル領域を設定し（Ｓ１４）、大域動きベクトル算出部６８は、グローバル領域毎にグローバル動きベクトルＧＭＶを算出する（Ｓ１６）。
【００５４】
局所動きベクトル差分符号化部７２は、グローバル領域毎にローカル動きベクトル差分ΔＬＭＶを算出して符号化する（Ｓ１８）。大域動きベクトル差分符号化部７４は、グローバル領域毎にグローバル動きベクトル差分ΔＧＭＶを算出して符号化する（Ｓ２０）。
【００５５】
図４（ａ）〜（ｃ）は、グローバル領域の例を説明する図である。図４（ａ）の例では、領域設定部６４は、符号化対象画像２００上に第１グローバル領域２１１および第２グローバル領域２１２を設定する。大域動きベクトル算出部６８は、第１グローバル領域２１１において第１グローバル動きベクトルＧＭＶ１を求め、第２グローバル領域２１２において第２グローバル動きベクトルＧＭＶ２を求める。この例では、第１グローバル領域２１１および第２グローバル領域２１２以外の背景部分には、グローバル動きベクトルを求めるための領域は設定されていない。
【００５６】
図４（ａ）の場合、局所動きベクトル差分符号化部７２は、第１グローバル領域２１１内のマクロブロック毎のローカル動きベクトルＬＭＶを符号化する際、第１グローバル動きベクトルＧＭＶ１との差分ΔＬＭＶ＝ＬＭＶ−ＧＭＶ１を求めて符号化する。同様に、局所動きベクトル差分符号化部７２は、第２グローバル領域２１２内では、マクロブロック毎にローカル動きベクトルＬＭＶと第２グローバル動きベクトルＧＭＶ２の差分ΔＬＭＶ＝ＬＭＶ−ＧＭＶ２を求めて符号化する。
【００５７】
図４（ａ）の例では、第１グローバル領域２１１および第２グローバル領域２１２以外の背景領域については、グローバル動きベクトルＧＭＶは求められていないため、局所動きベクトル差分符号化部７２は、背景領域内ではローカル動きベクトルＬＭＶを、差分を求めることなくそのまま符号化する。
【００５８】
図４（ｂ）の例では、図４（ａ）の例とは違って、領域設定部６４は、第１グローバル領域２１１および第２グローバル領域２１２以外の背景部分を第３グローバル領域２１０として設定し、大域動きベクトル算出部６８は、第３グローバル領域２１０において第３グローバル動きベクトルＧＭＶ０を求める。局所動きベクトル差分符号化部７２は、第３グローバル領域２１０内で、マクロブロック毎にローカル動きベクトルＬＭＶと第３グローバル動きベクトルＧＭＶ０の差分ΔＬＭＶ＝ＬＭＶ−ＧＭＶ０を求めて符号化する。
【００５９】
図４（ｃ）は、符号化対象画像２００上で複数のグローバル領域が互いに包含関係を有する例を示す。この例では、第１グローバル領域２１１の内部に第２グローバル領域２１２が包含されており、第１グローバル領域２１１および第２グローバル領域２１２は、その全体が第３グローバル領域２１０に包含されている。
【００６０】
局所動きベクトル差分符号化部７２は、第２グローバル領域２１２の内側では、マクロブロック毎にローカル動きベクトルＬＭＶと第２グローバル動きベクトルＧＭＶ２の差分を符号化し、第２グローバル領域２１２よりも外側で第１グローバル領域２１１の内側では、マクロブロック毎にローカル動きベクトルＬＭＶと第１グローバル動きベクトルＧＭＶ１の差分を符号化する。また、第１グローバル領域２１１よりもさらに外側の第３グローバル領域２１０内では、マクロブロック毎にローカル動きベクトルＬＭＶと第３グローバル動きベクトルＧＭＶ０の差分を符号化する。
【００６１】
図５（ａ）〜（ｃ）は、大域動きベクトル差分符号化部７４によりグローバル動きベクトル差分を算出する例を説明する図である。ここでは、図４（ｂ）あるいは図４（ｃ）のように、３つのグローバル領域が設定され、各グローバル領域のグローバル動きベクトルＧＭＶ０、ＧＭＶ１、ＧＭＶ２が得られた場合に、それら３つのグローバル動きベクトルＧＭＶ０、ＧＭＶ１、ＧＭＶ２を符号化する例を説明する。
【００６２】
図５（ａ）は、３つのグローバル動きベクトルＧＭＶ０、ＧＭＶ１、ＧＭＶ２の間に階層構造を設けない場合を示す。この場合、大域動きベクトル差分符号化部７４は、３つのグローバル動きベクトルＧＭＶ０、ＧＭＶ１、ＧＭＶ２をすべて基準グローバル動きベクトルとして扱い、グローバル動きベクトル差分を求めることなく、それぞれ９ビットのグローバル動きベクトルＧＭＶ０、ＧＭＶ１、ＧＭＶ２をそのまま符号化し、出力する。
【００６３】
図５（ｂ）は、３つのグローバル動きベクトルＧＭＶ０、ＧＭＶ１、ＧＭＶ２の間に階層構造を設ける場合であり、ＧＭＶ０は上位の階層に位置し、ＧＭＶ１とＧＭＶ２はＧＭＶ０のすぐ下の階層に位置する。このとき、大域動きベクトル差分符号化部７４は、上位階層にあるグローバル動きベクトルＧＭＶ０を基準グローバル動きベクトルとして、下位階層にある各グローバル動きベクトルＧＭＶ１、ＧＭＶ２と基準グローバル動きベクトルＧＭＶ０の差分ΔＧＭＶ１＝ＧＭＶ１−ＧＭＶ０、ΔＧＭＶ２＝ＧＭＶ２−ＧＭＶ０を符号化する。これにより、９ビットあった下位階層にある各グローバル動きベクトルＧＭＶ１、ＧＭＶ２の符号量が、上位階層にあるグローバル動きベクトルＧＭＶ０との差分をとることでそれぞれ３ビット、４ビットに減っている。
【００６４】
図５（ｃ）は、３つのグローバル動きベクトルＧＭＶ０、ＧＭＶ１、ＧＭＶ２の間に別の階層関係を設ける場合で、ＧＭＶ０は最上位の階層に位置し、ＧＭＶ１はＧＭＶ０の次の階層に位置し、ＧＭＶ２はＧＭＶ１のさらに下の階層に位置する。このとき、大域動きベクトル差分符号化部７４は、第１階層のグローバル動きベクトルＧＭＶ０を基準グローバル動きベクトルとして、第２階層のグローバル動きベクトルＧＭＶ１と第１階層のグローバル動きベクトルＧＭＶ０の差分ΔＧＭＶ１＝ＧＭＶ１−ＧＭＶ０を符号化する。９ビットあった第２階層のグローバル動きベクトルＧＭＶ１の符号量が、第１階層のグローバル動きベクトルＧＭＶ０との差分をとることで３ビットに減っている。
【００６５】
次に、大域動きベクトル差分符号化部７４は、第３階層のグローバル動きベクトルＧＭＶ２と第２階層のグローバル動きベクトルＧＭＶ１の差分ΔＧＭＶ２＝ＧＭＶ２−ＧＭＶ１を符号化する。９ビットあった第３階層のグローバル動きベクトルＧＭＶ２の符号量が、第２階層のグローバル動きベクトルＧＭＶ１との差分をとることで２ビットに減っている。
【００６６】
図５（ｂ）、（ｃ）のいずれの場合でも、大域動きベクトル差分符号化部７４は、動きベクトル情報として、基準グローバル動きベクトルＧＭＶ０、および２つのグローバル動きベクトル差分ΔＧＭＶ１、ΔＧＭＶ２を出力する。このとき、３つのグローバル動きベクトルＧＭＶ０、ＧＭＶ１、ＧＭＶ２の間の階層構造を示す情報が動きベクトル情報の一部として付加される。
【００６７】
図５（ｂ）、（ｃ）の例で示したように、グローバル動きベクトルの間に適宜、階層構造を設け、隣り合う階層間で差分を取ることにより、グローバル動きベクトルの符号量を削減することができる。なお、上記の例では、階層構造の上位にあるグローバル動きベクトルを基準として、下位にあるグローバル動きベクトルと上位の基準グローバル動きベクトルとの差分を符号化したが、逆に、階層構造の下位にあるグローバル動きベクトルを基準として、上位にあるグローバル動きベクトルと下位の基準グローバル動きベクトルとの差分を符号化してもよい。
【００６８】
グローバル動きベクトルの階層構造は、グローバル領域の包含関係とは無関係に決めてもよく、グローバル領域の包含関係の順序にしたがってグローバル動きベクトルの階層構造の順位を決めてもよい。
【００６９】
たとえば、図４（ｂ）のように、第１グローバル領域２１１および第２グローバル領域２１２が第３グローバル領域２１０に包含されている場合、大域動きベクトル差分符号化部７４は、そのグローバル領域の包含関係を利用して、図５（ｂ）のように、第３グローバル領域２１０のグローバル動きベクトルＧＭＶ０を上位階層とし、第１グローバル領域２１１、第２グローバル領域２１２のグローバル動きベクトルＧＭＶ１、ＧＭＶ２をそのすぐ下の階層とする階層構造を設けて、グローバル動きベクトルの差分符号化を行う。
【００７０】
また、図４（ｃ）のように、第２グローバル領域２１２が第１グローバル領域２１１に含まれ、第１グローバル領域２１１および第２グローバル領域２１２が全体として第３グローバル領域２１０に含まれるという包含関係がある場合、大域動きベクトル差分符号化部７４は、第３グローバル領域２１０のグローバル動きベクトルＧＭＶ０を最上位階層とし、第１グローバル領域２１１のグローバル動きベクトルＧＭＶ１を第２階層とし、第２グローバル領域２１２のグローバル動きベクトルＧＭＶ２を第３階層とする階層構造を設けて、グローバル動きベクトルの差分符号化を行う。
【００７１】
このように領域設定部６４により設定されたグローバル領域の包含関係をグローバル動きベクトルの階層構造にそのまま用いるなら、グローバル領域の包含関係に関する情報が動きベクトル情報の一部に含まれていれば、グローバル動きベクトルの階層構造に関する情報を動きベクトル情報に別途含める必要はなく、ヘッダ情報のデータ量を削減することができる。
【００７２】
また、グローバル領域の包含関係が、画像の中央付近と背景領域、あるいは特定のオブジェクトの領域とその背景などといった画像の動き量の相対的な違いを反映するものとなっている場合、グローバル領域の包含関係をそのままグローバル動きベクトルの階層構造に反映させ、その階層構造にしたがってグローバル動きベクトル差分を求めることで、差分を取ったときのビット数が少なくなることが一般的に期待できる。
【００７３】
図６は、実施の形態に係る復号装置３００の構成図である。これらの機能ブロックもハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現することができる。
【００７４】
復号装置３００は、符号化ストリームの入力を受け取り、符号化ストリームを復号して出力画像を生成する。入力された符号化ストリームはフレームメモリ３８０に格納される。
【００７５】
可変長復号部３１０は、フレームメモリ３８０に格納された符号化ストリームを可変長復号し、復号された画像データを逆量子化部３２０に供給し、復号された動きベクトル情報を動き補償部３６０に供給する。
【００７６】
逆量子化部３２０は、可変長復号部３１０により復号された画像データを逆量子化し、逆ＤＣＴ部３３０に供給する。逆量子化部３２０により逆量子化された画像データはＤＣＴ係数である。逆ＤＣＴ部３３０は、逆量子化部３２０により逆量子化されたＤＣＴ係数を逆離散コサイン変換（ＩＤＣＴ）することにより、元の画像データを復元する。逆ＤＣＴ部３３０により復元された画像データは、動き補償部３６０に供給される。
【００７７】
動き補償部３６０は、過去または未来の画像フレームを参照画像として利用し、可変長復号部３１０から供給される動きベクトル情報を用いて予測画像を生成し、逆ＤＣＴ部３３０から供給される差分画像と加算することにより、元の画像データを復元し、出力する。
【００７８】
図７は、動き補償部３６０の構成を説明する図である。復号装置３００に入力される符号化ストリームは、図１の符号化装置１００により符号化されたものであり、動き補償部３６０に供給される動きベクトル情報として、基準グローバル動きベクトルＧＭＶＢ、グローバル動きベクトル差分ΔＧＭＶ、ローカル動きベクトル差分ΔＬＭＶがある。動き補償部３６０は、これらの動きベクトル情報を参照して、復号対象フレームのローカル動きベクトルＬＭＶを求め、動き補償を行う。
【００７９】
大域動きベクトル算出部３６２は、可変長復号部３１０から基準グローバル動きベクトルＧＭＶＢと各グローバル領域のグローバル動きベクトル差分ΔＧＭＶの入力を受け取り、グローバル領域毎にグローバル動きベクトルＧＭＶ＝ΔＧＭＶ＋ＧＭＶＢを求め、局所動きベクトル算出部３６４に与える。
【００８０】
局所動きベクトル算出部３６４は、可変長復号部３１０からローカル動きベクトル差分ΔＬＭＶの入力、大域動きベクトル算出部３６２から各グローバル領域のグローバル動きベクトルＧＭＶの入力をそれぞれ受け取り、グローバル領域毎にローカル動きベクトルＬＭＶ＝ΔＬＭＶ＋ＧＭＶを求める。局所動きベクトル算出部３６４は、各グローバル領域内のローカル動きベクトルＬＭＶを画像復元部３６６に与える。
【００８１】
画像復元部３６６は、参照画像と各グローバル領域内のマクロブロック単位のローカル動きベクトルＬＭＶを用いて予測画像を生成し、逆ＤＣＴ部３３０から与えられた差分画像と予測画像を加算して元の画像を復元し、出力する。
【００８２】
以上述べたように、本実施の形態の符号化装置１００によれば、動きベクトルを符号化する際に、空間領域内の動きベクトル情報をその領域のグローバル動きベクトルとの差分値で表すことにより、動きベクトル情報自体のデータ量を削減し、動画像ストリーム全体の符号量を減らして圧縮効率を高めることができる。また、各空間領域のグローバル動きベクトルの間に階層構造をもたせて、グローバル動きベクトルの差分を求めて符号化することにより、さらに動きベクトル情報の符号量を削減することができる。
【００８３】
また、本実施の形態の復号装置３００によれば、符号化装置１００により符号化された圧縮効率の高い動画ストリームから、ローカル動きベクトルの差分値を取得し、空間領域毎にローカル動きベクトルの差分値をグローバル動きベクトルに加算してローカル動きベクトルを求め、動き補償を行うことにより、画質の高い動画像を復元することができる。
【００８４】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００８５】
上記の説明では、符号化装置１００および復号装置３００は、ＭＰＥＧシリーズの規格（ＭＰＥＧ−１、ＭＰＥＧ−２およびＭＰＥＧ−４）、Ｈ．２６ｘシリーズの規格（Ｈ．２６１、Ｈ．２６２およびＨ．２６３）、もしくはＨ．２６４／ＡＶＣに準拠して動画像の符号化および復号を行ったが、本発明は、時間的スケーラビリティをもつ階層的な動画像の符号化および復号を行う場合にも適用することができる。特にＭＣＴＦ技術を用いた場合の動きベクトルの符号化において、動きベクトルの符号量を削減するために本発明は有効である。
【図面の簡単な説明】
【００８６】
【図１】実施の形態に係る符号化装置の構成図である。
【図２】図１の動き補償部の構成を説明する図である。
【図３】図２の動き補償部による動きベクトルの差分符号化の手順を説明するフローチャートである。
【図４】図２の領域設定部により画像上に設定される領域の例を説明する図である。
【図５】図２の大域動きベクトル差分符号化部によりグローバル動きベクトル差分を算出する例を説明する図である。
【図６】実施の形態に係る復号装置の構成図である。
【図７】図６の動き補償部の構成を説明する図である。
【符号の説明】
【００８７】
２０  ＤＣＴ部、  ３０  量子化部、  ６０  動き補償部、  ６４  領域設定部、  ６６  局所動きベクトル検出部、  ６８  大域動きベクトル算出部、  ７０  動き補償予測部、  ７２  局所動きベクトル差分符号化部、  ７４  大域動きベクトル差分符号化部、  ８０  フレームメモリ、  ９０  可変長符号化部、  ９２  多重化部、  １００  符号化装置、  ３００  復号装置、  ３１０  可変長復号部、  ３２０  逆量子化部、  ３３０  逆ＤＣＴ部、  ３６０  動き補償部、  ３６２  大域動きベクトル算出部、  ３６４  局所動きベクトル算出部、  ３６６  画像復元部、  ３８０  フレームメモリ。
【図１】
2007036887.tif 000003
【図２】
2007036887.tif 000004
【図３】
2007036887.tif 000005
【図４】
2007036887.tif 000006
【図５】
2007036887.tif 000007
【図６】
2007036887.tif 000008
【図７】
2007036887.tif 000009