| 【発明の名称】 |
符号化方法 |
| 【発明者】 |
【氏名】鈴木 満
【氏名】岡田 茂之
【氏名】村田 治彦
|
| 【要約】 |
【課題】動画圧縮符号化技術では、圧縮効率を高めるために、動きベクトル情報に起因する符号量を削減する必要がある。
【構成】局所動きベクトル検出部66は、符号化対象画像についてマクロブロック単位でローカル動きベクトルLMVを求める。領域設定部64は、フレーム画像上に複数のグローバル領域を設定する。大域動きベクトル算出部68は、各グローバル領域についてグローバル動きベクトルGMVを算出する。更新判定部50は、グローバル動きベクトルにインデックスを付与して参照テーブルを作成する。動き補償予測部70は、各マクロブロックについて、参照テーブルに定められたグローバル動きベクトルと、マクロブロック単位のローカル動きベクトルのいずれを用いて動き補償をすべきかを決定する。局所動きベクトル符号化部72は、グローバル動きベクトルを用いて動き補償を実行したか否かを示すGMV使用フラグを符号化データに含める。 |
【特許請求の範囲】
【請求項1】 動画像を構成するピクチャにおいて、ピクチャ間予測符号化されるピクチャ内またはピクチャ内に定義される領域内での大域的な動きを示す大域動きベクトルを表す情報と、前記大域動きベクトルを特定するためのインデックスの情報とを前記動画像の符号化データに含めるとともに、大域動きベクトルを算出したピクチャまたはピクチャ内領域に含まれる領域において予測符号化に用いられる前記大域動きベクトルを指し示す前記インデックスの情報を前記動画像の符号化データに含めることを特徴とする符号化方法。 【請求項2】 第1のピクチャでまたは第1のピクチャ内領域で算出された第1大域動きベクトルと、第2のピクチャでまたは第2のピクチャ内領域で算出された第2大域動きベクトルとが異なるとき、前記第1大域動きベクトルと前記第2大域動きベクトルとの差分情報を前記インデックスと対応させて前記符号化データに含めることを特徴とする請求項1に記載の符号化方法。 【請求項3】 前記第1のピクチャまたは前記第1のピクチャ内領域における大域動きベクトルの出現頻度の順序で、前記第2のピクチャまたは前記第2のピクチャ内領域における大域動きベクトルを並び替え、この順序に対応させて前記インデックスを付与することを特徴とする請求項1または2に記載の符号化方法。 【請求項4】 符号化データのヘッダ、ピクチャのヘッダ、またはピクチャ内領域のヘッダには前記大域動きベクトルを表す情報と該大域動きベクトルを特定するための前記インデックスの情報とを含め、大域動きベクトルを算出したピクチャまたはピクチャ内領域に含まれる領域のヘッダには該領域において予測符号化に用いられる前記大域動きベクトルを指し示す前記インデックスの情報を含めることを特徴とする請求項1ないし3のいずれかに記載の符号化方法。 【請求項5】 前記ピクチャまたは前記ピクチャ内に定義される領域毎に、前記大域動きベクトルを用いて予測符号化するか否かを示すフラグを前記符号化データに含めることを特徴とする請求項1ないし4のいずれかに記載の符号化方法。 【請求項6】 前記ピクチャ内のブロック毎に、前記インデックスで指し示される大域動きベクトルと該ブロックについて算出される局所動きベクトルとのいずれを用いて予測符号化するかを示すフラグを前記符号化データに含めることを特徴とする請求項1ないし4のいずれかに記載の符号化方法。
|
【発明の詳細な説明】【技術分野】 【0001】 本発明は、動画像を符号化する符号化方法に関する。 【背景技術】 【0002】 ブロードバンドネットワークが急速に発展しており、高品質な動画像を利用したサービスに期待が集まっている。また、DVDなど大容量の記録媒体が利用されており、高画質の画像を楽しむユーザ層が広がっている。動画像を通信回線で伝送したり、記録媒体に蓄積するために不可欠な技術として圧縮符号化がある。動画像圧縮符号化技術の国際標準として、MPEG4の規格やH.264/AVC規格がある。また、1つのストリームにおいて高画質のストリームと低画質のストリームを併せもつSVCのような次世代画像圧縮技術がある。 【0003】 高解像度の動画像をストリーム配信したり、記録媒体に蓄積する場合、通信帯域を圧迫しないように、あるいは、記憶容量が大きくならないように、動画ストリームの圧縮率を高める必要がある。動画像の圧縮効果を高めるために、動き補償フレーム間予測符号化が行われる。動き補償フレーム間予測符号化では、符号化対象フレームをブロックに分割し、既に符号化された参照フレームからの動きをブロック毎に予測して動きベクトルを検出し、差分画像とともに動きベクトル情報を符号化する。 【0004】 特許文献1には、動きベクトルの大きさや向きについて関連のあるフレーム内のブロックを1つのオブジェクトとして扱うことで、ベクトルデータの情報量を削減する符号化技術が開示されている。 【特許文献1】特開2004−48306号公報 【発明の開示】 【発明が解決しようとする課題】 【0005】 H.264/AVC規格では、動き補償において、よりきめ細かな予測を行うために、動き補償のブロックサイズを可変にしたり、動き補償の画素精度を1/4画素精度まで細かくすることができるようになっており、動きベクトルに関する符号量が多くなる。また、次世代画像圧縮技術であるSVC(Scalable Video Coding)では、時間的スケーラビリティを高めるために、MCTF(Motion Compensated Temporal Filtering、動き補償時間方向フィルタ)技術が検討されている。これは、時間軸方向のサブバンド分割に動き補償を組み合わせたものであり、階層的な動き補償を行うため、動きベクトルの情報が非常に多くなる。このように最近の動画圧縮符号化技術では、動きベクトルに関する情報量が増えることにより動画ストリーム全体のデータ量が増大する傾向にあり、動きベクトル情報に起因する符号量を削減する技術が一層求められている。 【0006】 本発明はこうした状況に鑑みてなされたもので、その目的は、動きベクトル情報に起因する符号量を削減し符号化効率の高い動画像の符号化技術および復号技術を提供することにある。 【課題を解決するための手段】 【0007】 本発明のある態様の符号化方法は、動画像を構成するピクチャにおいて、ピクチャ間予測符号化されるピクチャ内またはピクチャ内に定義される領域内での大域的な動きを示す大域動きベクトルと該大域動きベクトルを特定するためのインデックスとを対応させて格納するテーブルの情報と、ピクチャ内の領域毎に指定されるインデックスの情報とを動画像の符号化データに含める。 【0008】 「大域動きベクトル」は、領域全体の動きを表すベクトルである。 【0009】 「ピクチャ」は符号化の単位であり、その概念にはフレーム、フィールド、VOP(Video Object Plane)などを含む。 【0010】 この態様によると、ピクチャ単位で、またはピクチャ内に定義される領域毎に大域動きベクトルとインデックスとを対応させたテーブルを作っておき、ピクチャ内領域のそれぞれにおいて予測符号化に使用する大域動きベクトルをインデックスで指定できるようにした。テーブルを用いることで、大域動きベクトルの情報を重複して符号化データに含める必要がなくなるので、大域動きベクトルに起因するデータ量を削減でき、動画像の符号化データの圧縮効率を高めることができる。 【0011】 本発明の別の態様もまた、符号化方法である。この方法は、動画像を構成するピクチャにおいて、ピクチャ間予測符号化されるピクチャ内またはピクチャ内に定義される領域内での大域的な動きを示す大域動きベクトルを表す情報と、大域動きベクトルを特定するためのインデックスの情報とを動画像の符号化データに含めるとともに、大域動きベクトルを算出したピクチャまたはピクチャ内領域に含まれる領域において予測符号化に用いられる大域動きベクトルを指し示すインデックスの情報を動画像の符号化データに含める。 【0012】 この態様によると、同一のピクチャ内、またはピクチャ内領域においては、同一の大域動きベクトルの情報を重複して符号化データに含める必要がないため、大域動きベクトルに起因するデータ量を削減できる。 【0013】 第1のピクチャでまたは第1のピクチャ内領域で算出された第1大域動きベクトルと、第2のピクチャでまたは第2のピクチャ内領域で算出された第2大域動きベクトルとが異なるとき、第1大域動きベクトルと第2大域動きベクトルとの差分情報をインデックスと対応させて符号化データに含めてもよい。こうすれば、大域動きベクトル情報自体のデータ量を削減し、動画像の符号化データの圧縮効率を高めることができる。 【0014】 第1のピクチャまたは第1のピクチャ内領域における大域動きベクトルの出現頻度の順序で、第2のピクチャまたは第2のピクチャ内領域における大域動きベクトルを並び替え、この順序に対応させてインデックスを付与してもよい。 【0015】 符号化データのヘッダ、ピクチャのヘッダ、またはピクチャ内領域のヘッダには大域動きベクトルを表す情報と該大域動きベクトルを特定するためのインデックスの情報とを含め、大域動きベクトルを算出したピクチャまたはピクチャ内領域に含まれる領域のヘッダには該領域において予測符号化に用いられる大域動きベクトルを指し示すインデックスの情報を含めてもよい。大域動きベクトルとインデックスの情報は、ストリーム毎、ピクチャ毎、またはスライスやマクロブロックなどのより小さい符号化単位のヘッダに含められ、より下位の符号化単位でインデックスを用いて大域動きベクトルを指定することができる。したがって、大域動きベクトルを算出する符号化単位と、大域動きベクトルを予測符号化に用いる符号化単位の組み合わせは、動画像の性質に合わせて任意に選択することができる。 【0016】 例えば、ピクチャのヘッダには大域動きベクトルを表す情報と該大域動きベクトルを特定するためのインデックスの情報を含め、ピクチャ内のスライスまたはブロックのヘッダには予測符号化に用いられる大域動きベクトルを指し示すインデックスの情報を含めてもよい。あるいは、ピクチャ内のスライスのヘッダには大域動きベクトルを表す情報と該大域動きベクトルを特定するためのインデックスの情報を含め、スライス内のブロックのヘッダには予測符号化に用いられる大域動きベクトルを指し示すインデックスの情報を含めてもよい。 【0017】 ピクチャまたはピクチャ内に定義される領域毎に、大域動きベクトルを用いて予測符号化するか否かを示すフラグを符号化データに含めてもよい。また、ピクチャ内のブロック毎に、インデックスで指し示される大域動きベクトルと該ブロックについて算出される局所動きベクトルとのいずれを用いて予測符号化するかを示すフラグを符号化データに含めてもよい。こうすれば、ピクチャ内のブロック単位で局所動きベクトルと大域動きベクトルのいずれを用いても動き予測を実行できるようになり、符号化データのデータ量を一層削減できる可能性がある。 【0018】 なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。 【発明の効果】 【0019】 本発明によれば、動画像の符号化効率を向上し、また、精度の良い動き補償を行うことができる。 【発明を実施するための最良の形態】 【0020】 図1は、実施の形態に係る符号化装置100の構成図である。これらの構成は、ハードウエア的には、任意のコンピュータのCPU、メモリ、その他のLSIで実現でき、ソフトウエア的にはメモリにロードされた画像符号化機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。 【0021】 本実施の形態の符号化装置100は、国際標準化機関であるISO(International Organization for Standardization)/IEC(International Electrotechnical Commission)によって標準化されたMPEG(Moving Picture Experts Group)シリーズの規格(MPEG−1、MPEG−2およびMPEG−4)、電気通信に関する国際標準機関であるITU−T(International Telecommunication Union-Telecommunication Standardization Sector)によって標準化されたH.26xシリーズの規格(H.261、H.262およびH.263)、もしくは両方の標準化機関によって合同で標準化された最新の動画像圧縮符号化標準規格であるH.264/AVC(両機関における正式勧告名はそれぞれMPEG-4 Part 10: Advanced Video CodingとH.264)に準拠して動画像の符号化を行う。 【0022】 MPEGシリーズの規格では、フレーム内符号化を行う画像フレームをI(Intra)フレーム、過去のフレームを参照画像として順方向のフレーム間予測符号化を行う画像フレームをP(Predictive)フレーム、過去と未来のフレームを参照画像として双方向のフレーム間予測符号化を行う画像フレームをBフレームという。 【0023】 一方、H.264/AVCでは、参照画像として利用できるフレームは、時間の先後を問わず、過去の2枚のフレームを参照画像としてもよく、未来の2枚のフレームを参照画像としてもよい。また、参照画像として利用できるフレームの枚数も問わず、3枚以上のフレームを参照画像として用いることもできる。したがって、MPEG−1/2/4では、Bフレームは双方向予測(Bi-directional prediction)フレームのことを指していたが、H.264/AVCでは、Bフレームは、参照画像の時間の先後は問わないため、双予測(Bi-predictive prediction)フレームのことを指すことに留意する。 【0024】 なお、実施の形態では、符号化の単位としてフレームを例に挙げて説明するが、符号化の単位はフィールドであってもよい。また、符号化の単位はMPEG−4におけるVOPであってもよい。 【0025】 符号化装置100は、フレーム単位で動画像の入力を受け取り、動画像を符号化し、符号化ストリームを出力する。入力された動画フレームはフレームメモリ80に格納される。 【0026】 動き補償部60は、フレームメモリ80に格納されている過去または未来の画像フレームを参照画像として利用し、PフレームまたはBフレームのマクロブロック毎に動き補償を行い、動きベクトルと予測画像を生成する。動き補償部60は、符号化対象のPフレームまたはBフレームの画像と予測画像の差分を取り、差分画像をDCT部20に供給する。また、動き補償部60は、符号化された動きベクトル情報を多重化部92に供給する。 【0027】 DCT部20は、動き補償部60から供給された画像を離散コサイン変換(DCT)し、得られたDCT係数を量子化部30に与える。 【0028】 量子化部30は、DCT係数を量子化し、可変長符号化部90に与える。可変長符号化部90は、差分画像の量子化されたDCT係数を可変長符号化し、多重化部92に与える。多重化部92は、可変長符号化部90から与えられた符号化後のDCT係数と、動き補償部60から与えられた符号化後の動きベクトル情報とを多重化し、符号化ストリームを生成する。多重化部92は、符号化ストリームを生成する際、符号化されたフレームを時間順序に並べ替える処理を行う。 【0029】 PフレームもしくはBフレームの符号化処理の場合は、上述のように動き補償部60が動作するが、Iフレームの符号化処理の場合は、動き補償部60は動作せず、ここでは図示しないが、Iフレームはフレーム内予測が行われた後、DCT部20に供給される。 【0030】 実施例1. 図2は、動き補償部60の構成を説明する図である。動き補償部60は、符号化対象フレームのマクロブロック単位の動きベクトル(以下、「ローカル動きベクトル」という)を検出するとともに、画像上に設けられた所定の領域毎に、その領域内の大域的な動きを示す動きベクトル(以下、「グローバル動きベクトル」という)を求める。グローバル動きベクトルは、その領域全体の動きを表すベクトルである。例えば、各領域のグローバル動きベクトルは、その領域内の個々のマクロブロック単位のローカル動きベクトルを代表するものであってもよい。 【0031】 動き補償部60は、ローカル動きベクトルまたはグローバル動きベクトルにもとづいて動き補償を行い、差分画像を出力するとともに、ローカル動きベクトルおよびグローバル動きベクトルを符号化して動きベクトル情報として出力する。 【0032】 本実施例では、フレーム内で1つまたは複数のグローバル動きベクトルを求めた後、フレーム全体でグローバル動きベクトルとこれを特定するインデックスとを対応させた参照テーブルを作成する。図3は、参照テーブルの一例を示す。図3では、グローバル動きベクトル(33.50,−5.75)にインデックス「0」が、グローバル動きベクトル(5.25,0)にインデックス「1」が、それぞれ対応している。 【0033】 各マクロブロックの予測符号化に際してグローバル動きベクトルを用いる場合は、符号化ストリーム内にインデックスを格納する。これによって、異なる領域に含まれるマクロブロックが同一のグローバル動きベクトルを重複して用いるときに、グローバル動きベクトルを複数回符号化することがなくなるため、符号量を削減できる。さらに、本実施例では、参照テーブルに定められた1つまたは複数のグローバル動きベクトルとローカル動きベクトルのいずれを用いて予測符号化を実行するかを示すフラグを、マクロブロック毎に符号化ストリームに格納する。これによって、マクロブロック単位で1つまたは複数のグローバル動きベクトルとローカル動きベクトルのうち、そのマクロブロックの符号量を最小とするものを選択することができる。 【0034】 図2に戻り、局所動きベクトル検出部66は、フレームメモリ80に保持された参照画像を参照し、符号化対象画像の対象マクロブロックに対して誤差の最も小さい予測マクロブロックを参照画像から検出し、対象マクロブロックから予測マクロブロックへの動きを示すローカル動きベクトルLMVを求める。動き検出は、対象マクロブロックとマッチングする参照画像における参照マクロブロックを整数画素単位または小数画素単位で探すことにより行われる。探索は通常、画素領域内で複数回にわたって繰り返し行われ、その複数回の探索の中で対象マクロブロックと最も適合する参照マクロブロックが予測マクロブロックとして選択される。 【0035】 局所動きベクトル検出部66は、求めたローカル動きベクトルLMVを大域動きベクトル算出部68、動き補償予測部70、および局所動きベクトル符号化部72に与える。 【0036】 領域設定部64は、フレーム画像上にグローバル動きベクトルGMVを求めるための領域(以下、「グローバル領域」という)を設定する。グローバル領域は、画像内に複数設けられる。例えば、領域設定部64は、フレーム画像の中央付近を1つのグローバル領域とし、その周辺を別のグローバル領域に設定するなど、あらかじめ定められた領域をグローバル領域に設定してもよい。また、グローバル領域はユーザによって設定されてもよい。 【0037】 また、領域設定部64は、画像に人物等のオブジェクトが写っている場合、そのオブジェクトが写っている領域を自動抽出し、グローバル領域に設定してもよい。 【0038】 領域設定部64は、局所動きベクトル検出部66により検出された画像内のローカル動きベクトルLMVを参照して、動きがある程度共通するマクロブロックが占める領域を自動抽出し、その領域をグローバル領域に設定してもよい。 【0039】 領域設定部64は、設定されたグローバル領域の情報を大域動きベクトル算出部68および大域動きベクトル符号化部74に与える。 【0040】 大域動きベクトル算出部68は、領域設定部64により設定された各グローバル領域内の大域的な動きを示すグローバル動きベクトルGMVを算出する。例えば、大域動きベクトル算出部68は、領域内のローカル動きベクトルLMVの平均を求め、グローバル動きベクトルGMVとする。 【0041】 また、大域動きベクトル算出部68は、各グローバル領域内の大域的な動きに関する情報を取得し、その情報をもとに各グローバル領域のグローバル動きベクトルGMVを算出してもよい。例えば、カメラのズームやパン、画面のスクロールなどが行われた場合に、画面全体の動きに関する情報から、各グローバル領域内の大域的な動きを判断し、グローバル動きベクトルGMVを算出することができる。また、大域動きベクトル算出部68は、画面上の人物等のオブジェクトの動きを自動抽出し、オブジェクトの動きから各グローバル領域内の大域的な動きを判断し、グローバル動きベクトルGMVを算出することもできる。 【0042】 大域動きベクトル算出部68は、求めたグローバル動きベクトルGMVを更新判定部50に与える。 【0043】 更新判定部50は、大域動きベクトル算出部68から受け取ったグローバル動きベクトルにインデックスを付与して、上述の参照テーブルを作成する。更新判定部50は、インデックス付きのグローバル動きベクトルGMVを、動き補償予測部70と大域動きベクトル符号化部74とに与える。 【0044】 また、更新判定部50は、大域動きベクトル算出部68から受け取ったグローバル動きベクトルと、処理対象のフレームより前に処理したフレーム内で算出されたグローバル動きベクトルとを比較し、参照テーブル内のグローバル動きベクトルを更新するか否かを判定する。 【0045】 前に処理したフレームで算出されたグローバル動きベクトル(以下、「旧グローバル動きベクトル」という)は、大域動きベクトル一時記憶部52内に保持されている。更新判定部50は、旧グローバル動きベクトルが今回のグローバル動きベクトルと同一の値であれば、参照テーブル内の旧グローバル動きベクトルとインデックスとの対応を変えず、符号化ストリームには、グローバル動きベクトルの値が変わらないことを表すフラグを格納する。今回のグローバル動きベクトルが旧グローバル動きベクトルと異なる場合には、今回のグローバル動きベクトルに新たにインデックスを付与する。 【0046】 動き補償予測部70は、ローカル動きベクトルLMVまたはグローバル動きベクトルGMVを用いて対象マクロブロックを動き予測して予測画像を生成し、符号化対象画像と予測画像の差分画像をDCT部20に出力する。 【0047】 動き補償予測部70は、動きベクトル選択部54と、予測画像生成部56と、差分画像出力部58とを含む。 【0048】 動きベクトル選択部54は、対象マクロブロックについて、参照テーブルに定められた1つまたは複数のグローバル動きベクトルGMVと、マクロブロック単位のローカル動きベクトルLMVのいずれを用いて動き予測をすべきかを決定する。そのために、予測画像生成部56は、ローカル動きベクトルLMVを用いて動き予測した予測画像と、グローバル動きベクトルGMVのそれぞれを用いて動き予測した予測画像とを生成し、各予測画像について符号化対象画像との差分画像を作成する。動きベクトル選択部54は、作成された差分画像の符号量と動きベクトルの符号量とを合わせたマクロブロックの符号量同士を比較し、符号量が最小となった予測画像の生成で使用された動きベクトルを選択する。差分画像出力部58は、符号量が最小となった差分画像をDCT部20に出力する。 【0049】 動きベクトル選択部54は、ローカル動きベクトルLMV、またはグローバル動きベクトルGMVのいずれを選択したかについての情報を、局所動きベクトル符号化部72に与える。 【0050】 局所動きベクトル符号化部72は、局所動きベクトル検出部66からマクロブロック毎にローカル動きベクトルLMVを受け取る。また、局所動きベクトル符号化部72は、動き補償予測部70において符号量が最小となる予測画像を生成するためにローカル動きベクトルが用いられたマクロブロックについて、マクロブロック毎にローカル動きベクトルLMVを可変長符号化する。局所動きベクトル符号化部72は、符号化後のローカル動きベクトルLMVを動きベクトル情報として多重化部92に与える。 【0051】 また、局所動きベクトル符号化部72は、マクロブロック毎に、符号量が最小となる予測画像を生成するためにグローバル動きベクトルを使用したか否かを示すフラグ(以下、「GMV使用フラグ」という)と、グローバル動きベクトルを使用した場合には、参照テーブルにおいてその大域動きベクトルに対応するインデックスの情報とを多重化部92に与える。 【0052】 大域動きベクトル符号化部74は、更新判定部50からインデックス付きのグローバル動きベクトルGMVを受け取り、可変長符号化する。 【0053】 更新判定部50において参照テーブル内のグローバル動きベクトルの更新の判定をしている場合、大域動きベクトル符号化部74は、更新すべきと判定されたグローバル動きベクトルGMVとそれに対応するインデックスとを可変長符号化する。この場合、参照テーブルを更新したか否かを示すフラグ(以下、「テーブル更新フラグ」という)と更新したグローバル動きベクトルの数(「Num」と表記する)とを多重化部92に与える。更新判定部50において、グローバル動きベクトルを更新しないと判定された場合、大域動きベクトル符号化部74はグローバル動きベクトルの可変長符号化を実行しない。 【0054】 大域動きベクトル符号化部74は、グローバル動きベクトルGMVの全体を可変長符号化する変わりに、更新前のグローバル動きベクトルGMV’との差分(GMV−GMV’)を可変長符号化してもよい。 【0055】 大域動きベクトル符号化部74は、符号化後の各グローバル領域のグローバル動きベクトルGMVとインデックスとを動きベクトル情報として多重化部92に与える。このとき、大域動きベクトル符号化部74は、領域設定部64により設定されたグローバル領域についての領域情報を動きベクトル情報の一部に付加する。 【0056】 多重化部92には、グローバル動きベクトルGMV、インデックス、ローカル動きベクトルLMV、各種フラグが与えられることになる。 【0057】 図4は、実施例1に係る動き補償部60による動きベクトルの差分符号化の手順を説明するフローチャートである。図5および図6の例を適宜参照しながら符号化の手順を説明する。 【0058】 符号化装置100のフレームメモリ80に符号化対象画像が入力される(S10)。動き補償部60の局所動きベクトル検出部66は、符号化対象画像においてマクロブロック単位でローカル動きベクトルLMVを検出する(S12)。 【0059】 次に、領域設定部64は、画像上にグローバル領域を設定し(S14)、大域動きベクトル算出部68は、グローバル領域毎にグローバル動きベクトルGMVを算出する(S16)。 【0060】 更新判定部50は、各グローバル動きベクトルにインデックスを付与し、またグローバル動きベクトルの参照テーブルを更新するか否かを判定する。グローバル動きベクトル符号化部74は、グローバル動きベクトルGMVとインデックスとを対応させて可変長符号化する(S18)。後述するように、このデータはフレームのヘッダに格納される。 【0061】 動き補償予測部70は、各対象マクロブロックについて、S18でインデックスが付与されたグローバル動きベクトルGMVと、各対象マクロブロックについて算出されたローカル動きベクトルLMVのいずれを用いて動き補償すれば、差分画像の符号量と動きベクトルの符号量とを合わせたマクロブロックの符号量が最小となるかを判定する(S20)。動き補償予測部70は、マクロブロックの符号量を最小とする動きベクトルを局所動きベクトル符号化部72に伝える。 【0062】 局所動きベクトル符号化部72は、S20においてローカル動きベクトルを用いるとマクロブロックの符号量が最小となると判定された場合、ローカル動きベクトルを符号化する(S22)。さらに、グローバル動きベクトルを用いて予測符号化を実行したか否かを示すGMV使用フラグを多重化部に与える。 【0063】 フレーム内の全てのマクロブロックについてS20、S22の処理が終わると(S24のY)、このフローを終了する。 【0064】 図5(a)は、グローバル領域の例を説明する図である。図5(a)の例では、領域設定部64は、フレーム110上に第1グローバル領域112および第2グローバル領域114を設定する。さらに、第2グローバル領域114に包含された第3グローバル領域116を設定する。大域動きベクトル算出部68は、第1グローバル領域112において第1グローバル動きベクトルGMV1を求め、第2グローバル領域114において第2グローバル動きベクトルGMV2を求め、第3グローバル領域116において第3グローバル動きベクトルGMV3を求める。図5(a)中、白抜きの正方形で表す背景部分には、グローバル動きベクトルが設定されていない。 【0065】 更新判定部50は、フレーム毎にグローバル動きベクトルGMV1〜GMV3にインデックスを付与して参照テーブルを作成する。図5(b)は、参照テーブルの一例であり、グローバル動きベクトルGMV1〜GMV3にそれぞれインデックス1〜3が割り当てられている。グローバル動きベクトル情報とインデックスは、符号化ストリームのフレームヘッダに格納される。 【0066】 図5(a)の場合、動き補償予測部70は、各マクロブロックの予測符号化を実行する際に、各マクロブロックについて算出されたローカル動きベクトルLMVと、グローバル動きベクトルGMV1〜GMV3のいずれを用いるかを決定する。 【0067】 図中、マクロブロック120については、当該マクロブロックについて算出されたローカル動きベクトルLMVよりも第3グローバル動きベクトルGMV3を用いて動き補償したときにマクロブロックの符号量が最小となったため、第3グローバル動きベクトルGMV3が選択されたものとする。また、マクロブロック118については、当該マクロブロックについて算出されたローカル動きベクトルLMVよりも、第2グローバル動きベクトルGMV2を用いて動き補償したときにマクロブロックの符号量が最小となったため、第2グローバル動きベクトルGMV2が選択されたものとする。 【0068】 背景領域内のマクロブロック118、120以外のマクロブロックでは、各マクロブロックのローカル動きベクトルLMVを用いて動き補償した方が符号量が少なくなったため、グローバル動きベクトルを用いることなくローカル動きベクトルが選択される。 【0069】 図6は、多重化部92により生成される符号化ストリーム200のデータ構造を説明する図である。符号化ストリーム200は、ストリームパラメータ202と、フレームヘッダ204と、各フレームのデータから構成される。 【0070】 本実施例では、フレームヘッダ204に参照テーブルの情報、すなわちグローバル動きベクトルとインデックスの情報が格納され、スライスデータ208内でマクロブロック毎にGMV使用フラグ270が格納される。 【0071】 「Num」210は、フレームヘッダ204内に格納されるグローバル動きベクトルの数を表す。Num210で表された数のインデックス212とグローバル動きベクトル(GMV)214の対がその後に続く。 【0072】 このとき、符号化ストリーム200を処理する復号装置では、処理が先行するフレームで設定された参照テーブルのインデックスと同一のインデックスが付与されたグローバル動きベクトルのみを更新するようにしてもよい。例えば、処理が先行するフレームにおいて図5(b)の参照テーブルが設定されていたとする。後続するフレームのフレームヘッダ204に、インデックス1とインデックス3のみが含まれていた場合、これらのグローバル動きベクトルGMV1、GMV3は更新されるが、インデックス2が付与されたグローバル動きベクトルGMV2は有効なままとなる。代替的に、フレーム毎に参照テーブルをリセットしてしまい、フレームヘッダ204にインデックスとグローバル動きベクトルの対があるものだけ、当該フレームの参照テーブルとして用いるようにしてもよい。 【0073】 スライスデータ208には、マクロブロック毎にデータが格納される。GMV使用フラグ270は、対応するマクロブロックについてグローバル動きベクトルGMVを用いた予測符号化をしたか否かを示す。GMV使用フラグ270が「1」の場合には、グローバル動きベクトルを用いることを示すので、このフラグに続いて、参照テーブル内の複数のグローバル動きベクトルのうちいずれを使用したかを示すインデックス272が格納される。GMV使用フラグ270が「0」の場合には、グローバル動きベクトルを使用せずローカル動きベクトルを使用したことを示すので、インデックスは格納されない。スライスデータ208には、差分画像やローカル動きベクトルLMVの情報も含まれる。 【0074】 図7は、グローバル動きベクトルにインデックスを付与する方法の一例を示す。あるフレームにおいて、グローバル動きベクトルGMV1〜GMV3にそれぞれインデックス1〜3が付与されたものとする。更新判定部50は、各マクロブロックの動き補償をする際にグローバル動きベクトルGMV1〜GMV3が使用されたブロック数の情報(図7(a)中の「頻度」)を動き補償予測部70から取得し、参照テーブルとともに大域動きベクトル一時記憶部52に保持しておく(図7(a)参照)。後続するフレームのグローバル動きベクトルを受け取ると、更新判定部50は、大域動きベクトル一時記憶部52に保持されているグローバル動きベクトルGMV1〜GMV3と比較する。これらが同じ値であった場合、更新判定部50は、グローバル動きベクトルGMV1〜GMV3が使用された頻度を参照し、昇順にインデックス1〜3を割り当てし直す(図7(b)参照)。これによって、使用される頻度のより高いグローバル動きベクトルに対して少ないピット数で表せるインデックスが付与されるようになるため、インデックスの符号量を削減できる。 【0075】 実施例2. 実施例1では、フレーム単位でグローバル動きベクトルとインデックスとを対応させた参照テーブルを作成したが、実施例2では、スライス毎にグローバル動きベクトルとインデックスとを対応させた参照テーブルを作成する。以下、この実施例2について図8ないし図10を参照して説明する。 【0076】 図8は、実施例2に係る動き補償部60による動きベクトルの差分符号化の手順を説明するフローチャートである。S30〜S36は、図4のS10〜S16と同様である。 【0077】 更新判定部50は、スライス毎に、各グローバル動きベクトルにインデックスを付与し、またグローバル動きベクトルの参照テーブルを更新するか否かを判定する。グローバル動きベクトル符号化部74は、グローバル動きベクトルGMVとインデックスとを対応させて可変長符号化する(S38)。後述するように、このデータはスライスヘッダに格納される。 【0078】 動き補償予測部70は、スライス内に含まれる各マクロブロックについて、S38でインデックスが付与されたグローバル動きベクトルGMVと、各マクロブロックについて算出されたローカル動きベクトルLMVのいずれを用いて動き補償すれば、差分画像の符号量と動きベクトルの符号量とを合わせたマクロブロックの符号量が最小となるかを判定する(S40)。動き補償予測部70は、マクロブロックの符号量を最小とする動きベクトルを局所動きベクトル符号化部72に伝える。 【0079】 局所動きベクトル符号化部72は、S40においてローカル動きベクトルを用いるとマクロブロックの符号量が最小となると判定された場合、ローカル動きベクトルを符号化する(S42)。さらに、グローバル動きベクトルを用いて予測符号化を実行したか否かを示すGMV使用フラグを多重化部に与える。 【0080】 フレーム内の全てのスライスについてS38〜S42の処理が終わると(S44のY)、このフローを終了する。 【0081】 図9(a)は、実施例2におけるグローバル領域の例を説明する図である。第1ないし第3グローバル領域112〜116が設定され、各領域についてグローバル動きベクトルGMV1〜GMV3が算出されることは、図5(a)と同様である。図9(a)では、フレーム110内で横一列のスライスが設定されているものとする。 【0082】 実施例2では、スライス毎にグローバル動きベクトルの参照テーブルが作成される。例えば、図中のスライス3は、第1グローバル領域112と第2グローバル領域114を含んでいるので、更新判定部50は、第1グローバル動きベクトルGMV1と第2グローバル動きベクトルGMV2にインデックス1、2を付与して、参照テーブルを作成する(図9(b)参照)。参照テーブルの情報、つまりグローバル動きベクトルGMVとインデックスとは、符号化ストリームのスライスヘッダに格納される。 【0083】 動き補償予測部70は、スライス3に含まれる各マクロブロックの予測符号化を実行する際に、各マクロブロックについて算出されたローカル動きベクトルLMVと、スライス3の参照テーブル(図9(b))に設定されたグローバル動きベクトルGMV1、GMV2のいずれを用いるかを決定する。 【0084】 図中のスライス6は、第1グローバル領域112、第2グローバル領域114および第3グローバル領域116を含んでいるので、更新判定部50は、グローバル動きベクトルGMV1〜GMV3にインデックス1〜3をそれぞれ付与して参照テーブルを作成する(図9(c)参照)。動き補償予測部70は、スライス6に含まれる各マクロブロックの予測符号化を実行する際に、各マクロブロックについて算出されたローカル動きベクトルLMVと、スライス6の参照テーブル(図9(c))に設定されたグローバル動きベクトルGMV1〜GMV3のいずれを用いるかを決定する。 【0085】 図10は、多重化部92により生成される符号化ストリーム220のデータ構造を説明する図である。 【0086】 本実施例では、スライスヘッダ206に参照テーブルの情報、すなわちグローバル動きベクトルとインデックスの情報が格納され、スライスデータ208内でマクロブロック毎にGMV使用フラグ270が格納される。 【0087】 テーブル更新フラグ258は、当該スライスにおいて、グローバル動きベクトルの参照テーブルを更新するか否かを示すフラグである。テーブル更新フラグ258が「0」であれば、参照テーブルは更新されず、当該スライスより前のスライスで設定された参照テーブルが有効であり続ける。テーブル更新フラグ258が「1」であれば、参照テーブルが更新される。この場合、「Num」260は、スライスヘッダ206に格納されるグローバル動きベクトルの数を表す。Num260で表された下図のインデックス262とグローバル動きベクトル(GMV)264の対がその後に続く。 【0088】 スライスデータ208には、マクロブロック毎にGMV使用フラグ270と対応する差分画像や局所動きベクトルのデータが格納される。スライスデータ208のデータ構造は、上述の図6と同様であるため、説明を省略する。 【0089】 実施例3. 実施例3では、実施例1と同様に、フレーム単位でグローバル動きベクトルとインデックスとを対応させた参照テーブルを作成する。しかしながら、実施例3では、スライス毎に参照テーブル内の動きベクトルのうちいずれか1つを指定し、各マクロブロックにおいてスライスで指定された動きベクトルを使用するか否かを判定する。 【0090】 これについて、図5および図9を参照して説明する。更新判定部50は、フレーム110について、図5(b)に示すような参照テーブルを作成する。動き補償予測部70は、スライス毎にインデックスを用いて、図5(b)の参照テーブルからいずれかのグローバル動きベクトルを指定する。例えば、図9(a)を参照して、スライス3では、第1グローバル領域112と第2グローバル領域114のうち第2グローバル領域114の方がスライスと重なっているブロック数が多いため、動き補償予測部70は第2グローバル動きベクトルGMV2を指定する。そして、スライス3に含まれる各マクロブロックの予測符号化を実行する際に、各マクロブロックについて算出されたローカル動きベクトルLMVと、先にスライス単位で指定した第2グローバル動きベクトルGMV2のいずれを用いるかを決定する。 【0091】 図11は、実施例3に係る動き補償部60による動きベクトルの差分符号化の手順を説明するフローチャートである。S50〜S56は、図4のS10〜S16と同様である。 【0092】 更新判定部50は、各グローバル動きベクトルGMVにインデックスを付与し、またグローバル動きベクトルの参照テーブルを更新するか否かを判定する。グローバル動きベクトル符号化部74は、グローバル動きベクトルGMVとインデックスとを対応させて可変長符号化する(S58)。このデータはフレームのヘッダに格納される。 【0093】 動き補償予測部70は、スライス毎に、参照テーブル内のグローバル動きベクトルGMVのうちいずれか1つを指定する(S60)。 【0094】 動き補償予測部70は、スライス内に含まれる各マクロブロックについて、S60で指定されたグローバル動きベクトルGMVと、各マクロブロックについて算出されたローカル動きベクトルLMVのいずれを用いて動き補償すれば、差分画像の符号量と動きベクトルの符号量とを合わせたマクロブロックの符号量が最小となるかを判定する(S62)。動き補償予測部70は、マクロブロックの符号量を最小とする動きベクトルを局所動きベクトル符号化部72に伝える。 【0095】 局所動きベクトル符号化部72は、S62においてローカル動きベクトルを用いるとマクロブロックの符号量が最小となると判定された場合、ローカル動きベクトルを符号化する(S64)。さらに、グローバル動きベクトルを用いて予測符号化を実行したか否かを示すGMV使用フラグを多重化部に与える。 【0096】 フレーム内の全てのスライスについてS60〜S64の処理が終わると(S66のY)、このフローを終了する。 【0097】 図12は、多重化部92により生成される符号化ストリーム240のデータ構造を説明する図である。 【0098】 本実施例では、フレームヘッダ204に参照テーブルの情報、すなわちグローバル動きベクトルGMVとインデックスの情報が格納される。スライスヘッダ206には、フレームヘッダ内のグローバル動きベクトルGMVのいずれかを指定するインデックスの情報が格納される。さらに、スライスデータ208内でマクロブロック毎にGMV使用フラグ284が格納される。 【0099】 フレームヘッダ204のデータ構造は、図6で説明したのと同様である。スライスヘッダ206には、当該スライスでグローバル動きベクトルを使用するか否かを示すGMV使用フラグ280が格納される。GMV使用フラグ280が「1」であれば、使用するグローバル動きベクトルを指定するインデックス282がその後に続く。GMV使用フラグ280が「0」であれば、当該スライスに含まれる各マクロブロックではグローバル動きベクトルを使用せずローカル動きベクトルのみを使用するので、後述するGMV使用フラグ284は存在しない。 【0100】 GMV使用フラグ284は、インデックス282で指定されたグローバル動きベクトルを、各マクロブロックで使用するか否かを示す。GMV使用フラグ284が「1」の場合には、グローバル動きベクトルを使用してそのマクロブロックを動き補償し、GMV使用フラグ284が「0」の場合には、ローカル動きベクトルを使用してそのマクロブロックを動き補償する。 【0101】 図13は、実施の形態に係る復号装置300の構成図である。これらの機能ブロックもハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現することができる。 【0102】 復号装置300は、符号化ストリームの入力を受け取り、符号化ストリームを復号して出力画像を生成する。入力された符号化ストリームはフレームメモリ380に格納される。 【0103】 可変長復号部310は、フレームメモリ380に格納された符号化ストリームを可変長復号し、復号された画像データを逆量子化部320に供給し、復号された動きベクトル情報を動き補償部360に供給する。 【0104】 逆量子化部320は、可変長復号部310により復号された画像データを逆量子化し、逆DCT部330に供給する。逆量子化部320により逆量子化された画像データはDCT係数である。逆DCT部330は、逆量子化部320により逆量子化されたDCT係数を逆離散コサイン変換(IDCT)することにより、元の画像データを復元する。逆DCT部330により復元された画像データは、動き補償部360に供給される。 【0105】 動き補償部360は、過去または未来の画像フレームを参照画像として利用し、可変長復号部310から供給される動きベクトル情報を用いて予測画像を生成し、逆DCT部330から供給される差分画像と加算することにより、元の画像データを復元し、出力する。 【0106】 図14は、動き補償部360の構成を説明する図である。復号装置300に入力される符号化ストリームは、図1の符号化装置100により符号化されたものであり、動き補償部360には、グローバル動きベクトルGMV、インデックス、各種フラグ、ローカル動きベクトルLMVが供給される。動き補償部360は、これらの情報を参照して、復号対象フレームのローカル動きベクトルLMVを求め、動き補償を行う。 【0107】 テーブル作成部364は、可変長復号部310からグローバル動きベクトルとインデックスの入力を受け取り、グローバル動きベクトルの参照テーブルを作成する。 【0108】 例えば、図6または図12で示すような、フレーム毎にグローバル動きベクトルの参照テーブル情報が符号化されている場合には、テーブル作成部364は、Num210の情報からグローバル動きベクトルの数を把握し、その数分のエントリを有するテーブルを作成し、そこにインデックス212とそれに対応するグローバル動きベクトル214とを格納することで、図5(b)に示すような参照テーブルを作成する。 【0109】 図10に示すような、スライス毎にグローバル動きベクトルの参照テーブル情報が符号化されている場合には、まずテーブル更新フラグ258を参照して、処理対象のスライスでグローバル動きベクトルの参照テーブルを更新するか否かを判定する。参照テーブルを更新する場合は、上述と同様に、Num260の情報からグローバル動きベクトルの数を把握し、その数分のエントリを有するテーブルを作成し、そこにインデックス262とそれに対応するグローバル動きベクトル264とを格納することで、図9(b)、9(c)に示すような参照テーブルを作成する。 テーブル作成部364は、作成した参照テーブルを画像復元部366に与える。 【0110】 画像復元部366は、参照画像と各グローバル領域内のマクロブロック単位のローカル動きベクトルLMVまたは参照テーブル内のグローバル動きベクトルGMVを用いて予測画像を生成し、逆DCT部330から与えられた差分画像と予測画像を加算して元の画像を復元し、出力する。 【0111】 図6または図10のような符号化ストリームが入力された場合は、画像復元部366は、各マクロブロックに対応して設定されているGMV使用フラグ270を参照して、処理対象のマクロブロックでグローバル動きベクトルとローカル動きベクトルのいずれを用いて予測画像を生成するかを決定する。グローバル動きベクトルを用いる場合は、GMV使用フラグ270の後に続くインデックス272を用いて、テーブル作成部364から受け取った参照テーブルから対応づけられているグローバル動きベクトルを取得し、取得したグローバル動きベクトルを用いて予測画像を生成する。フラグ270が「0」である場合は、画像復元部366は処理対象のマクロブロック単位のローカル動きベクトルを用いて予測画像を生成する。図6の符号化ストリームを例として用いると、画像復元部366は、1つ目のマクロブロックについてはインデックス272で特定されるグローバル動きベクトルを用いて予測画像を生成し、2つ目のマクロブロックについてはローカル動きベクトルを用いて予測画像を生成する。 【0112】 図12のような符号化ストリームが入力された場合は、スライス毎にGMV使用フラグ280を参照してグローバル動きベクトルを指定しているか否かを判定する。GMV使用フラグ280が「1」でありグローバル動きベクトルを指定しているときは、インデックス282を用いて、テーブル作成部364から受け取った参照テーブルから対応づけられているグローバル動きベクトルを取得する。そして、マクロブロック単位でGMV使用フラグ284を参照して、先ほど取得したグローバル動きベクトルと、マクロブロック単位のローカル動きベクトルのいずれかを用いて予測画像を生成する。図12の符号化ストリームを例として用いると、1つ目のマクロブロックについてはインデックス282で指定されたグローバル動きベクトルを用いて予測画像を生成し、2つ目のマクロブロックについてはローカル動きベクトルを用いて予測画像を生成する。 【0113】 以上述べたように、本実施の形態の符号化装置100によれば、フレーム単位で、またはスライス毎にグローバル動きベクトルとインデックスとを対応させたテーブルを作っておき、各マクロブロックにおいて予測符号化に使用するグローバル動きベクトルをインデックスで指定できるようにした。これによって、同一のフレームやスライス内で、異なるグローバル領域に含まれるマクロブロックで同じグローバル動きベクトルを用いて予測符号化する際に、グローバル動きベクトルを重複して符号化ストリームに含める必要がなくなる。したがって、グローバル動きベクトルに起因する符号化データのデータ量を削減でき、動画ストリームの圧縮効率を高めることができる。 【0114】 また、マクロブロック毎にグローバル動きベクトルを使用するか否かを表すGMV使用フラグを符号化ストリームに格納することで、マクロブロック単位で、ローカル動きベクトルとグローバル動きベクトルのいずれを用いても動き補償を実行できるようになり、マクロブロックの符号化データのデータ量を一層削減できる可能性がある。 【0115】 さらに、複数のグローバル動きベクトルをフレーム単位、またはスライス単位で参照テーブルに設定し、インデックスを用いることでいずれのグローバル動きベクトルも使用できることから、マクロブロック同士が同一のグローバル領域に含まれていない場合でも、同じグローバル動きベクトルを使用した動き補償をすることができる。 【0116】 インデックス付きで符号化されるグローバル動きベクトルは、処理が先行するフレームまたはスライスにおける参照テーブル内のグローバル動きベクトルとの差分データであっってもよい。こうすれば、動きベクトル情報自体のデータ量を削減し、動画像ストリーム全体の符号量を減らして圧縮効率を高めることができる。 【0117】 グローバル動きベクトルに付与されるインデックスは、グローバル動きベクトルが算出された順に数字を割り当てていってもよいが、フレームまたはスライス内で出現する頻度が高いと予測されるグローバル動きベクトルに、より小さい値のインデックスを割り当てるようにすれば、インデックスのデータ量をさらに削減することができる。 【0118】 また、本実施の形態の復号装置300によれば、符号化装置100によって符号化された圧縮効率の高い動画ストリームから、フレーム毎にまたはスライス単位でグローバル動きベクトルとインデックスを対応させた参照テーブルを構築し、スライスまたはマクロブロック毎にインデックスを用いて参照テーブルから動きベクトルを取得する。こうすることで、ローカル動きベクトルまたはグローバル動きベクトルのいずれをも使用した動き補償を実行することができる。 【0119】 以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。 【0120】 上記の説明では、動きベクトル選択部54は、1つまたは複数のグローバル動きベクトルGMVと各マクロブロックについて算出されたローカル動きベクトルLMVとのいずれを用いて動き予測すれば、差分画像の符号量と動きベクトルの符号量とを合わせたマクロブロックの符号量が最小となるかを判定することを述べた。しかしながら、動きベクトル選択部54は、以下のようにして最適な動きベクトルを選択してもよい。すなわち、動きベクトル選択部54は、上記マクロブロックの符号量を算出するほか、1つまたは複数のグローバル動きベクトルGMVと各マクロブロックのローカル動きベクトルLMVのそれぞれを用いて符号化された画像を復号化したときの復号化画像と原画像との差分値を算出する。そして、動きベクトル選択部54は、マクロブロックの符号量と上記差分値とを所定の評価式に代入して算出される評価値をそれぞれの動きベクトルについて求め、その評価値が最小となる動きベクトルを選択する。こうすることによって、符号化データの符号量と復号化画像の画質との両方を考慮して最適な動きベクトルを選択することができる。 【0121】 上記の説明では、フレーム毎、領域毎、マクロブロック毎に、インデックスを用いて動きベクトルを特定する参照テーブルを設けたが、参照テーブルは、それより大きい単位、例えば、ストリーム全体やGOP毎に設けることもできる。この場合、参照テーブルの情報は、ストリームパラメータまたはGOPヘッダに格納される。そして、フレーム、スライス、グローバル領域またはマクロブロック毎に、参照テーブルに設定された動きベクトルを指定するインデックスの情報がヘッダなどに格納される。こうすることで、例えばストリームの全体やGOPにわたって動画像の動きベクトルが変化しない場合は、動きベクトル情報に起因する符号量を大きく削減することができる。 【0122】 また、上記の説明では、フレーム内のグローバル領域またはスライス毎に動きベクトルをインデックスで特定するためのテーブルを作成したが、図示しないROI領域設定部が動画像上に設定する注目領域(Region of Interest;ROI)毎に、動きベクトルをインデックスで特定するためのテーブルを作成してもよい。注目領域は、ユーザが画像上の特定の領域を指定することによって選択されてもよく、画像の中心領域などあらかじめ定まった領域が選択されてもよい。また、人物や文字が映っている領域などの重要領域が注目領域として自動的に抽出されてもよい。また、動画像において特定のオブジェクト等の動きを追跡することによって注目領域がフレーム単位で自動的に選択されてもよい。 【0123】 上記の説明では、符号化装置100および復号装置300は、MPEGシリーズの規格(MPEG−1、MPEG−2およびMPEG−4)、H.26xシリーズの規格(H.261、H.262およびH.263)、もしくはH.264/AVCに準拠して動画像の符号化および復号を行ったが、本発明は、時間的スケーラビリティをもつ階層的な動画像の符号化および復号を行う場合にも適用することができる。特にMCTF技術を用いた場合の動きベクトルの符号化において、動きベクトルの符号量を削減するために本発明は有効である。 【図面の簡単な説明】 【0124】 【図1】実施の形態に係る符号化装置の構成図である。 【図2】図1の動き補償部の構成を説明する図である。 【図3】グローバル動きベクトルの参照テーブルの一例を示す図である。 【図4】実施例1に係る動きベクトルの差分符号化の手順を説明するフローチャートである。 【図5】(a)はグローバル領域の例を説明する図であり、(b)は参照テーブルの一例を示す図である。 【図6】実施例1に係る符号化ストリームのデータ構造を説明する図である。 【図7】グローバル動きベクトルにインデックスを付与する方法の一例を示す図である。 【図8】実施例2に係る動きベクトルの差分符号化の手順を説明するフローチャートである。 【図9】(a)はグローバル領域の例を説明する図であり、(b)、(c)は参照テーブルの一例を示す図である。 【図10】実施例2に係る符号化ストリームのデータ構造を説明する図である。 【図11】実施例3に係る動きベクトルの差分符号化の手順を説明するフローチャートである。 【図12】実施例3に係る符号化ストリームのデータ構造を説明する図である。 【図13】実施の形態に係る復号装置の構成図である。 【図14】図13の動き補償部の構成を説明する図である。 【符号の説明】 【0125】 20 DCT部、 30 量子化部、 50 更新判定部、 52 大域動きベクトル一時記憶部、 60 動き補償部、 64 領域設定部、 66 局所動きベクトル検出部、 68 大域動きベクトル算出部、 70 動き補償予測部、 72 局所動きベクトル符号化部、 74 大域動きベクトル符号化部、 80 フレームメモリ、 90 可変長符号化部、 92 多重化部、 100 符号化装置、 300 復号装置、 310 可変長復号部、 320 逆量子化部、 330 逆DCT部、 360 動き補償部、 364 テーブル作成部、 366 画像復元部、 380 フレームメモリ。
|
| 【出願人】 |
【識別番号】000001889 【氏名又は名称】三洋電機株式会社
|
| 【出願日】 |
平成18年6月30日(2006.6.30) |
| 【代理人】 |
【識別番号】100105924 【弁理士】 【氏名又は名称】森下 賢樹
|
| 【公開番号】 |
特開2008−11455(P2008−11455A) |
| 【公開日】 |
平成20年1月17日(2008.1.17) |
| 【出願番号】 |
特願2006−182514(P2006−182514) |
|