モーション情報を符号化するための方法及び装置
映像圧縮アルゴリズムは、通常、モーションデータとテクスチャデータとの結合によって視覚情報を表わす。モーションデータは、フレームのコンテンツと以前のフレームのコンテンツとの間の時間的関係を記述する。本発明は、特に、水平方向及び/又は垂直方向にモーションの境界が存在する下で、モーションデータを効率的に符号化するための方法及び装置を開示する。
【発明の詳細な説明】
【優先権】
【0001】
[0001]本特許出願は、本発明の譲受人に譲渡され、且つ、参照することによって本明細書に援用する2003年12月29日出願の「Method And Apparatus For Coding MotionInformation」と題する仮特許出願第60/533,187号、及び2003年6月30日出願の「Method And Apparatus For Coding MotionInformation」と題する仮特許出願第60/483,617号の優先権を請求する。
【発明の分野】
【0002】
[0002]本発明は、情報符号化の分野に関するものであり、より詳細には、複数の予測信号を使用して、例えば動きベクトルといった情報を符号化することに関するものである。
【発明の背景】
【0003】
[0003]映像圧縮アルゴリズムは、一般的に、視覚情報を、モーションデータとテクスチャデータとの結合によって表わす。このモーションデータは、フレームのコンテンツと以前のフレームのコンテンツとの間の時間的関係を記述する。また、モーションデータは、通常、フレームの区画を定義するブロックに関連した動きベクトルのセットによって表わされる。個々のブロックについて、動きベクトルは、以前のフレームに対する水平方向及び垂直方向の変位を記述する。隣接ブロックに属する動きベクトルの相関は、通常、大きいものである。したがって、一般的に、差分符号化方法が、動きベクトルの符号化に採用されている。
【0004】
[0004]動きベクトルは、単一の予測信号に対して差分符号化される。この単一の予測信号は、例えばメジアンオペレータを使用し多数の動きベクトルを合成することによって得ることができる(ISO/IEC14496−2(1999年)及びISO/IEC14496−10(2003年)を参照)。或いは又、予測信号は、単一の動きベクトルを参照することによっても得ることもできる(ISO/IEC13818−2を参照されたい)。
【0005】
[0005]関連技術の解決策は、ある場合には非効率である。ここで、効率とは、動きベクトルのセットを符号化するのに必要なビット数で定義される。例えば、ISO/IEC14496−2のように、メジアンオペレータが水平方向のモーションの境界が存在する下で使用される場合には、ローカルに利用可能な動きベクトル(例えば、左側の動きベクトル)に対してゼロの差分を符号化できるのにもかかわらず、同じ非ゼロの差分が多数回符号化されることになる。
【0006】
[0006]ここで、2列の動きベクトルについて考える。上の列の動きベクトルは、全て値Aを有しており、下の列の動きベクトルは、値Bを有している。
AAAAAAAA
BBBBBBBB
下の列の動きベクトルを符号化するときには、メジアンオペレータにより生成される予測信号は、常に、値Aを有する。したがって、値AとBとの間の差分が多数回符号化されることになる。下の列については、ほぼゼロの差分を符号化する符号化方法であることが好ましい。
【0007】
[0007]ISO/IEC13818−2の予測方法は、ゼロの差分を生成するという点においては、上述したパターンに対して良好に機能する。しかしながら、予測は、常に、左側のブロックを参照するので、垂直方向のモーションのフィールド境界が存在する下では、予測が非効率的となる。垂直方向のモーションの境界とは、例えば、次のようなものである。
AB
AB
AB
AB
【0008】
[0008]それ故に、水平方向及び垂直方向のモーションの境界のいずれか又は両者の存在下で、動きベクトルを効率的に符号化する動きベクトルの予測及び符号化方法が求められている。
【発明の概要】
【0009】
[0009]複数の予測信号を使用して情報(例えば、動きベクトル)を符号化及び復号するための方法及び装置を本明細書に開示する。一実施形態において、この方法は、複数の以前に符号化されたデータエレメントから複数の予測信号を算出するステップと、別のグループの以前に符号化されたデータエレメントに基づいてコンテキストを計算するステップと、複数の予測信号の一つを選択して、選択された予測信号を得るステップと、コンテキストを使用して、選択された予測信号に対する指示信号を符号化するステップと、選択された予測信号とデータエレメントとの間の差分データエレメントを符号化するステップとを含んでいる。
【0010】
[0010]本発明は、本発明の種々の実施形態の以下の詳細な説明及び添付図面からより完全に理解されよう。しかしながら、これらは、本発明を特定の実施形態に限定するものではなく、本発明を単に例示し理解するためのものに過ぎない。
【本発明の詳細な説明】
【0011】
[0028]以下、情報を符号化する方法及び装置について説明する。一実施形態では、情報は、データエレメント(例えば動きベクトル)を含んでいる。一実施形態では、動きベクトルの差分符号化は、複数の予測信号を使用することによって実行される。動きベクトルを符号化する符号化器は、予測信号の一つを選択して、その選択を記述する情報を復号器へ送信する。この復号器は、適切な予測信号を再構成することができる。複数の予測信号から選択を行うことによって、水平方向及び/又は垂直方向のモーションの境界が存在する下では、モーションデータを効率的に符号化することが可能になる(例えば、動きベクトルを符号化するのに必要なビット数を減少できる)。モーションデータを符号化するのに必要なビット数が減少することによって、テクスチャデータを符号化するためにより多くのビットが許容される。これら追加のビットを使用して、圧縮映像の視覚的クオリティを高めることができる。
【0012】
[0029]例えば、選択に係る符号化のコストを削減するよう各ブロックに対して最も適当な選択を予測するために、コンディショニング技術を使用することができる。一実施形態では、このコンディショニング技術は、コンテキスト生成器を使用して実施される。このコンテキスト生成器は、ローカルのグラディエントに基づきエントロピーモデルの一つを選択する。これによって、選択された動きベクトルの予測信号を表わす指示信号(例えば、インデックス)を符号化するコストを減少させる。
【0013】
[0030]また、任意の方向性をもつモーションの境界が存在する下で、符号化の効率を改善するための拡張について説明する。
【0014】
[0031]以下の説明では、本発明をより完全に説明するために多数の細部について述べる。しかしながら、本発明は、これらの特定の細部を伴わずに実施できることが当業者に明らかであろう。他の例では、本発明を不明瞭にするのを回避するため、良く知られた構造及び装置は、詳細に示すのではなく、ブロック図形態で示す。
【0015】
[0032]以下の詳細な説明では、コンピュータメモリ内のデータビットに対するオペレーションのアルゴリズム及び記号表示の形態で記載した部分がある。これらのアルゴリズム記述及び表示は、データ処理技術の当業者が、彼等の仕事の実体を他の当業者に最も効率的に伝達するために使用する手段である。アルゴリズムとは、ここでは、そして一般的には、所望の結果に導くステップの自己一貫性のシーケンスであると考えられる。これらステップは、物理量の物理的な操作を必要とするものである。必ずしもそうでないが、通常、これらの量は、記憶、転送、合成、比較、及びその他操作することのできる電気的又は磁気的信号の形態をとる。時には、主として共通に使用する理由で、これら信号をビット、値、エレメント、記号、キャラクタ、用語、番号等として参照するのが便利であると分かっている。
【0016】
[0033]しかしながら、これら及び同様の用語は、全て、適当な物理量に関連付けられるべきもので、これらの量に適用される便利なラベルに過ぎないことに留意されたい。特に指示のない限り、以下の説明から明らかなように、この説明全体にわたり、「処理」又は「計算」又は「算出」又は「決定」又は「表示」等の用語を使用する議論は、コンピュータシステムのレジスタ及びメモリ内の物理(電子)量として表わされたデータを操作して、それを、コンピュータシステムのメモリ又はレジスタ或いは他のそのような情報記憶、送信又は表示装置内の物理量として同様に表わされる他のデータへ変換するコンピュータシステム又は同様の電子計算装置のアクション及びプロセスを指すことが明らかであろう。
【0017】
[0034]本発明は、また、本明細書におけるオペレーションを実行するための装置にも係る。この装置は、要求された目的のために特別に構成されてもよいし、或いはコンピュータに記憶されたコンピュータプログラムにより選択的に起動されるか又は再構成される汎用コンピュータを備えてもよい。このようなコンピュータプログラムは、コンピュータ読み取り可能な記憶媒体、例えば、フロッピーディスク、光学ディスク、CD−ROM及び磁気−光学ディスクを含む任意の形式のディスク、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気又は光学カード、或いは電子命令を記憶するのに適していてコンピュータシステムバスに各々接続された任意の形式の媒体に記憶することができるが、これらに限定されない。
【0018】
[0035]また、本明細書に示すアルゴリズム及び表示は、特定のコンピュータ又は他の装置に固有に関連したものではない。種々の汎用システムが、ここに示す教示に基づくプログラムと共に使用されてもよいし、或いは必要な方法ステップを実行するためのより特殊な装置を構成するのも便利であることは理解されよう。種々のこれらシステムに必要な構造は、以下の説明から明らかとなろう。更に、本発明は、特定のプログラミング言語を参照して説明しない。ここに述べる本発明の教示を実施するのに種々のプログラミング言語を使用できることが明らかであろう。
【0019】
[0036]マシン読み取り可能な媒体は、マシン(例えばコンピュータ)で読み取れる形態で情報を記憶し又は送信するためのメカニズムを備えている。例えば、マシン読み取り可能な媒体は、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス、電気的、光学的、音響的又は他の形態の伝播信号(例えば、搬送波、赤外線信号、デジタル信号等)等々を含む。
【0020】
符号化及び復号
【0021】
[0037]一実施形態では、映像を固定サイズブロックのセットに区画することができる。これらのブロックは、いかなるサイズであってもよい(例えば、4x4、8x8、16x16ピクセル)。以下では、固定サイズのブロックについて説明するが、本明細書で説明する技術は、可変サイズのブロックにも使用できる。
【0022】
[0038]各ブロックは、自身に関連した動きベクトルをもち得る。これらブロックは、ラスタスキャン順序でスキャンされてもよい。自身に関連した動きベクトルをもつ各ブロックについて、動きベクトルが生成されて(例えば、モーション推定アルゴリズムを使用して)、例えば、図1に示す符号化システムのような符号化システムに入力される。上記説明は、動きベクトルデータの符号化に言及するものであるが、同じ原理を、例えば、DCTのような変換が適用された映像におけるDC値といった他のデータの符号化にも適用することが可能である。
【0023】
[0039]以下、図1を参照する。図1の符号化システムの全部又は一部分は、ハードウェア(回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステム又は専用マシンで実行されるような)、或いはその両方の組合せで構成され得るものである。
【0024】
[0040]動きベクトルは、将来の参照のために動きベクトル(MV)メモリ101に記憶される。或いは又、全ての動きベクトルが、例えば、入力107を経てメモリ101に最初に記憶され、それに含まれている動きベクトルがメモリ101から抽出されてもよい。
【0025】
[0041]以前に符号化された動きベクトルは、動きベクトルメモリ110から予測信号生成器102により抽出される。例えば、予測信号生成器102は、符号化対象の動きベクトルに関連したブロックの左側及び上部に存在するブロックに関連した動きベクトルを抽出することができる。図5は、符号化対象の動きベクトルを含むブロックXと、動きベクトルメモリに記憶された動きベクトルを含むブロックA(左側)及びB(上部)との関係を示している。或いは又、例えば、図12に示すような他の近傍ブロックが使用されてもよい。なお、図12では、追加の近傍ブロックB’及びB”が使用されている。
【0026】
[0042]一実施形態では、N個のブロックに属する動きベクトルを使用して予測信号を生成する場合に、予測信号生成器102は、各ブロックについて、N個の予測信号を生成することができる。別の実施形態では、予測信号生成器102は、N個のブロックに属する動きベクトルを使用して予測信号を生成するときに、N個未満の予測信号を生成してもよい。或いは又、予測信号生成器102は、二つの予測信号を生成するだけでもよい。例えば、第1の予測信号は、Aの動きベクトルに対応し、第2の予測信号は、Bの動きベクトルに対応してもよい。
【0027】
[0043]予測信号生成器102は、二つ以上の動きベクトルの予測信号を生成する。これらの予測信号は、メモリ101から抽出された動きベクトルであってもよく、又はそれらの算術的な結合であってもよい。例えば、使用することのできる算術的な結合には、二つのベクトルの平均、又は三つ以上のベクトルのメジアン値が含まれる。
【0028】
[0044]比較器104は、動きベクトルの予測信号を比較して、全ての予測信号が等しいかどうかを判断する。比較の結果は、エントロピー符号化器108に送信される。
【0029】
[0045]選択器105は、動きベクトルの予測信号の一つを選択する。例えば、選択器105は、入力107によって与えられた符号化対象の動きベクトルに対して差分(例えばL1ノルム)を最小にする(又は減少する)予測信号を選択することができる。選択されたベクトルは予測信号であり、差分器106へ送信される。また、選択器105は、エントロピー符号化器108へインデックスを送信する。このインデックスは、選択された予測信号を指すものである。
【0030】
[0046]差分器106は、符号化対象の動きベクトルと、選択器105から得た予測信号との差分を計算する。この差分は、エントロピー符号化器108に送信される。
【0031】
[0047]コンテキスト生成器103は、動きベクトルメモリ110から一つ以上の動きベクトルを検索し、エントロピー符号化器108によって使用されるコンテキストを生成する。コンテキスト生成器103の目的は、符号化される動きベクトルの近傍における動きベクトルデータを分析して、選択器105によって選択される可能性が最も高いのはどの予測信号かを決定することにある。一実施形態では、コンテキスト生成器103は、図6に示すブロックA、B及びCに関連した動きベクトルmvA、mvB及びmvCを検索する。コンテキスト生成器103は、|mvA−mvC|が|mvB−mvC|より小さい場合には第1の値をもつコンテキストを生成し、その他の場合には、第2の値をもつコンテキストを生成することができる。ここで、|.|演算子は、差分動きベクトルのL1ノルムを表わす。或いは又、L2ノルムのような他のノルムを使用してもよい。
【0032】
[0048]エントロピー符号化器108は、差分器106、比較器104、コンテキスト生成器103及び選択器105から受け取った情報を、ゼロ以上のビットに変換する。比較器104から受け取ったフラグが全ての動きベクトルの予測信号が等しいのではないことを指示する場合には、エントロピー符号化器108は、選択器105から受け取ったインデックスを表わすためにゼロ以上のビットを生成する。その他の場合には、エントロピー符号化器108は、如何なるビットも生成しない。生成されるビットの数は、エントロピーモデルによって決定される。エントロピーモデルは、コンテキスト生成器103から受け取ったコンテキストの値に基づいて選択されてもよい。コンテキストが第1の値をとる場合には第1のエントロピーモデルが使用されてもよく、また、コンテキストが第2の値をとる場合には第2のエントロピーモデルが使用されてもよい。次いで、エントロピー符号化器105は、差分器106から受け取った差分動きベクトルをゼロ以上のビットに変換する。ビットへの情報の変換は、算術符号化を使用して実行されてもよい。算術符号化器の一例が、ISO/IEC14496−10(コンテキスト適応2進算術符号化器)に説明されている。なお、他の算術符号化器が使用されてもよい(例えば、米国特許第4,905,297号を参照されたい)。算術符号化器を使用するときには、確率推定が各コンテキストに関連付けられてもよい。或いは又、可変長符号(例えば、ハフマンコード)がエントロピー符号化器によって使用されてもよく、符号テーブルが各コンテキストに関連付けられてもよい。単一の可変長符号を使用して、インデックスの値及び差分動きベクトルの値を表わしてもよい。
【0033】
[0049]また、符号化プロセスの一例を図3に示す。このプロセスは、図1の符号化器によって実行されてもよく、或いはハードウェア(回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステム又は専用マシンで実行されるような)、又はその両方の組合せで構成される他の処理ロジックにより実行されてもよい。
【0034】
[0050]以下、図3を参照する。このプロセスは、処理ロジックが、以前に符号化された動きベクトルから二つ以上の動きベクトルの予測信号を生成することによって開始される(処理ブロック301)。例えば、二つの予測信号が、二つのブロックA及びBの動きベクトルに等しいものとして、生成されてもよい。現在のブロックXと、A及びBとの空間的関係についての一つの実施形態を、図5に示す。
【0035】
[0051]次いで、処理ロジックは、全ての予測信号を互いに比較する(処理ロジック302)。全ての予測信号が等しい場合には、処理ロジックは、差分動きベクトルを算出(処理ブロック303)する。その他の場合に、処理ロジックは、現在のブロックの近傍のブロックの動きベクトルを考慮することによってコンテキストを生成する(処理ブロック304)。次いで、処理ロジックは、例えば、符号化対象の動きベクトルとの差分のL1ノルムを最小にする(又は減少する)ものを選択することによって、一つの予測信号を選択する(処理ブロック305)。次いで、処理ロジックは、選択した予測信号のインデックスを符号化する(処理ブロック306)。このために、算術符号化器が使用されてもよい。また、幾つかのエントロピーモデルが使用されてもよい。エントロピーモデルの選択は、以前に計算されたコンテキストにより判断される。
【0036】
[0052]次いで、プロセスは処理ブロック303へ進む。処理ブロック303において、処理ロジックは、差分動きベクトルを算出する。一実施形態では、差分動きベクトルは、選択された予測信号を符号化対象の動きベクトルから減算することによって、得られる。次いで、処理ロジックは、例えば、算術符号化器を使用してその差分を符号化する(処理ブロック307)。
【0037】
[0053]図2は、符号化器のオペレーションを逆に行う(即ち、ゼロ以上のビットから動きベクトルを生成する)復号器の一実施形態を示すブロック図である。以下、図2を参照する。予測信号生成器202は、動きベクトルメモリ201から以前に復号された動きベクトルを抽出する。この動きベクトルメモリ201は、更なる動きベクトルを復号する際の予測に使用される動きベクトルを記憶する。例えば、予測信号生成器202は、復号対象の動きベクトルに関連したブロックの左側及び上部に存在するブロックに関連した動きベクトルを抽出することができる。抽出された動きベクトルに応じて、予測信号生成器202は、二つ以上の動きベクトルの予測信号を生成する。これらの予測信号は、メモリ101から抽出された動きベクトル又はそれらの算術的な結合であってもよい。動きベクトルの予測信号の生成は、符号化器と復号器との間で対称的である。
【0038】
[0054]比較器204は、動きベクトルの予測信号を比較して、全ての予測信号が等しいか否かを判断する。比較器204は、比較の結果をエントロピー復号器208に送信する。一実施形態では、この送信は、フラグの形態を採る。
【0039】
[0055]コンテキスト生成器203は、動きベクトルメモリ201から一つ以上の動きベクトルを検索して、エントロピー復号器208によって使用されるコンテキストを生成する。コンテキスト生成器203の目的は、符号化されている動きベクトルの近傍における動きベクトルデータを分析して、どの予測信号が使用される可能性が最も高いのかを判断することにある。一実施形態では、コンテキスト生成器203は、図6に示すブロックA、B及びCに関連した動きベクトルmvA、mvB及びmvCを検索する。コンテキスト生成器203は、|mvA−mvC|が|mvB−mvC|より小さい場合には第1の値をもつコンテキストを生成することができる。その他の場合には、コンテキスト生成器203は、第2の値をもつコンテキストを生成することができる。ここで、|.|演算子は、動きベクトル差分のL1ノルムを表わす。
【0040】
[0056]比較器204から受け取ったフラグが、全ての動きベクトルの予測信号が等しいのではないことを指示する場合には、エントロピー復号器208は、ゼロ以上のビットを、インデックスに変換する。このインデックスは、選択器205へ送信される。変換されるビットの数は、エントロピーモデルによって決定される。エントロピーモデルは、コンテキスト生成器203から受け取ったコンテキストの値に基づいて選択され得るものである。コンテキストが第1の値をとる場合には第1のエントロピーモデルが使用されてもよく、又、コンテキストが第2の値をとる場合には第2のエントロピーモデルが使用されてもよい。比較器204から受け取ったフラグが、全ての動きベクトルの予測信号が等しいことを指示する場合には、エントロピー復号器208は、入力ビットを参照することなくデフォールトインデックスを送信する。
【0041】
[0057]エントロピー復号器208は、更に、ゼロ以上のビットから差分動きベクトルを生成する。この差分動きベクトルは、加算器206へ送信される。ビットからの情報の生成は、算術符号化を使用して行うことができる。算術復号器の一例は、ISO/IEC14496−10に説明されている。なお、他の算術復号器が使用されてもよい(例えば、米国特許第4,905,297号を参照されたい)。算術復号器を使用するときには、確率推定が各コンテキストに関連付けられてもよい。或いは又、可変長符号(例えば、ハフマンコード)がエントロピー復号器によって使用されてもよく、符号テーブルが各コンテキストに関連付けられてもよい。また、単一の可変長符号を使用して、インデックスの値及び差分動きベクトルを表わしてもよい。選択器205は、エントロピー復号器208から受け取ったインデックスに基づいて、受け取った動きベクトルの予測信号の一つを選択する。選択されたベクトルは、加算器206へ送信される予測信号である。
【0042】
[0058]加算器206は、差分動きベクトルと、選択器205から得られた予測信号との和を計算する。その結果が動きベクトルである。加算器206は、将来の参照用に蓄積するために、動きベクトルを動きベクトルメモリ201に出力する。
【0043】
[0059]図3の復号システムの処理ロジック又は他の処理ロジックで実行され得る復号プロセスの一例を図4に示す。以下、図4を参照する。このプロセスは、以前に復号された動きベクトルから二つ以上の動きベクトルの予測信号を生成することによって開始される(処理ブロック401)。例えば、二つの予測信号は、二つのブロックA及びBの動きベクトルに等しいものとして、生成されてもよい。なお、現在のブロックXと、A及びBとの空間的関係が図5に示されており、ブロックXは、符号化されるブロックである。
【0044】
[0060]次いで、処理ロジックは、全ての予測信号を互いに比較する(処理ロジック402)。全ての予測信号が等しい場合には、プロセスが処理ブロック403へ進み、処理ロジックは、差分動きベクトルを復号する。その他の場合には、処理ロジックは、現在のブロックの近傍のブロックの動きベクトルを考慮することによってコンテキストを生成し(処理ブロック404)、選択された予測信号のインデックスを復号する(処理ブロック405)。そのために、算術復号器が使用されてもよい。また、幾つかのエントロピーモデルが使用されてもよい。エントロピーモデルの選択は、以前に計算されたコンテキストによって決定される。
【0045】
[0061]その後、処理ロジックは、復号されたインデックスに基づいて一つの予測信号を選択する(処理ブロック406)。そして、プロセスは、処理ブロック403へ進み、例えば、算術復号器を使用して差分動きベクトルを復号する。最後に、処理ロジックは、選択された予測信号を、復号された差分動きベクトルに加算することによって、動きベクトルを再構成する(処理ブロック407)。
【0046】
[0062]図7は、コンテキスト生成のプロセスの一実施形態を示すフローチャートである。このプロセスは、ハードウェア(回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステム又は専用マシンで実行されるような)、或いはその両方の組合せで構成できる処理ロジックにより実行される。
【0047】
[0063]以下、図7を参照する。プロセスは、処理ロジックが水平方向及び垂直方向のグラディエントを計算することで開始される(処理ブロック701)。一実施形態では、水平方向のグラディエントは、|mvA−mvC|として定義することができる。ここで、mvAは、ブロックAに関連した動きベクトルであり、mvCは、ブロックCに関連した動きベクトルである。ブロックA、B、Cと、現在のブロックとの関係の一実施形態を図6に示す。同様に、垂直方向のグラディエントは、|mvB−mvC|として定義することができる。
【0048】
[0064]グラディエントを計算した後に、処理ロジックは、二つのグラディエントの値を比較する(処理ブロック702)。第1のグラディエントが第2のグラディエントより大きい場合には、処理ロジックは、第1のコンテキストを使用して、選択された予測信号を指示するインデックスを符号化する(処理ブロック703)。その他の場合に、処理ロジックは、第2のコンテキストを使用して、選択された予測信号を指示するインデックスを符号化する(処理ブロック704)。
【0049】
別の実施形態
【0050】
[0065]コンテキストの生成については、上述したように二つの値をとり得るコンテキストの生成を規定するコンテキスト生成に代えて、本明細書に説明する技術を、三つ以上の値をとり得るコンテキストを生成するように拡張することができる。例えば、一実施形態では、水平方向のグラディエントと垂直方向のグラディエントとの差を計算することができる。次いで、処理ロジックは、この差を幾つかのBinへ量子化する。Binの番号は、コンテキストに対応する。例えば、コンテキストは、差が−2より小さい場合には第1の値をとり、差が2より大きい場合には第2の値をとり、その他の場合には第3の値をとることができる。このようにして、スレッシュホールド値と、コンテキストがとり得る値の数とを変更することにより、他の例を構成することができる。
【0051】
[0066]一実施形態では、個別のコンテキストモデルが使用されない。符号化器の例を図8に、復号器の例を図9に、符号化プロセスの例を図10に、更に、復号プロセスの例を図11に示す。図1−4の場合と同様の名前をもつブロックは、同様に機能することに注意されたい。
【0052】
予測信号生成器の例
【0053】
[0067]図15は、予測信号生成器の一実施形態を示すブロック図である。以下、図15を参照する。コントローラ1502は、最初に、動きベクトルメモリ1501にアクセスすることによって、第1の予測信号1503及び第2の予測信号1504を生成する。比較器1505は、予測信号1503を予測信号1504と比較し、その結果をコントローラ1502に通知する。両方の予測信号が等しく、停止条件が満足されない場合には、コントローラ1502は、所定のルールに基づいて予測信号の一つを更新する。このようなルールの一例を以下に説明する。
【0054】
[0068]図14は、例えば、図15の予測信号生成器のような予測信号生成器によって実行される予測信号生成の一実施形態を示すフローチャートである。このプロセスは、ハードウェア(回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステム又は専用マシンで実行されるような)、或いはその両方の組合せで構成できる処理ロジックにより実行される。
【0055】
[0069]以下、図14を参照する。位置(x、y)に配置された動きベクトルに対する予測信号を生成するために、処理ロジックは、変数nを最初にゼロにセットする(処理ブロック1401)。処理ロジックは、位置(x−1、y)に配置された動きベクトルによって第1の予測信号を生成し(処理ブロック1403)、次いで、位置(x+n、y−1)に配置された動きベクトルによって第2の予測信号を生成する(処理ブロック1403)。
【0056】
[0070]処理ロジックは、第1の予測信号及び第2の予測信号を含む(処理ブロック1404)。それらが異なる場合には、予測信号の生成プロセスが終了となる。その他の場合には、処理ロジックは、nを1だけ増加する(処理ブロック1405)。次いで、処理ロジックは、停止条件が満足されたかどうか調べるチェックを行う(処理ブロック1406)。停止条件が満足された場合には、生成プロセスが終了となる。その他の場合には、処理ロジックは、第2の予測信号を更新する(即ち、上記生成ルールを使用して再生成する)。一実施形態では、停止条件は、nが所定数、例えば1又は2以上であるという条件を含むことができる。更に、停止条件は、「位置(x+n、y−1)が像境界の外側にある」という条件を含んでもよい。
【0057】
[0071]図16は、動きベクトルメモリ以外のメモリを使用してコンテキストの生成を行う符号化器の別の実施形態を示すブロック図である。以下、図16を参照する。符号化器は、選択器によって生成されたインデックスの値を記憶するメモリ1601と、コンテキスト生成器1602とを含むことができる。コンテキスト生成器1602は、メモリ1601から値を読み取って、コンテキストを生成する。このコンテキストは、例えば、算術符号化を使用するときにエントロピー符号化器によって使用される。コンテキストは、例えば、図5、6又は12におけるブロックA、B及びB’のような以前のブロックに対するインデックスの値を考慮することによって構成されるものである。エントロピー符号化器は、コンテキストの値の関数としてインデックスの値を符号化するためにビットを割り当てることができる。例えば、算術符号化器を使用する際には、インデックスの値を符号化するための個別の確率推定を、コンテキストの各値に対して保持することができる。図17は、これに対応する復号器を示す。
【0058】
コンピュータシステムの例
【0059】
[0072]図13は、本明細書に説明するオペレーションの一つ以上を実行することができるコンピュータシステムの例を示すブロック図である。以下、図13を参照する。コンピュータシステム1300は、典型的なクライアント又はサーバーコンピュータシステムから成るものである。コンピュータシステム1300は、情報を通信するための通信メカニズム又はバス1311と、情報を処理するためにバス1311に接続されたプロセッサ1312とを備えている。プロセッサ1312は、マイクロプロセッサ、例えば、Pentium(登録商標)等のマイクロプロセッサを含むが、これに限定されない。
【0060】
[0073]システム1300は、更に、プロセッサ1312により実行されるべき命令及び情報を記憶するためにバス1311に接続されたランダムアクセスメモリ(RAM)又は他のダイナミック記憶装置1304(メインメモリと称される)を備えている。また、メインメモリ1304は、プロセッサ1312による命令の実行中に一時的変数又は他の中間情報を記憶するのに使用することもできる。
【0061】
[0074]また、コンピュータシステム1300は、プロセッサ1312の命令及びスタティック情報を記憶するためにバス1311に接続されたリードオンリメモリ(ROM)及び/又は他のスタティック記憶装置1306と、磁気ディスク又は光学ディスク及びそれに対応するディスクドライブのようなデータ記憶装置1307も備えている。このデータ記憶装置1307は、情報及び命令を記憶するためにバス1311に接続される。
【0062】
[0075]コンピュータシステム1300は、更に、コンピュータのユーザに情報を表示するためにバス1311に接続された陰極線管(CRT)又は液晶ディスプレイ(LCD)のようなディスプレイ装置1321にも接続され得る。又、アルファニューメリック及び他のキーを含むアルファニューメリック入力装置1322も、情報及びコマンド選択をプロセッサ1312へ通信するためにバス1311に接続され得る。付加的なユーザ入力装置は、指令情報及びコマンド選択をプロセッサ1312へ通信すると共に、ディスプレイ1321上のカーソルの移動を制御するために、バス1311に接続されたマウス、トラックボール、トラックパッド、スタイラス、又はカーソル指令キーのようなカーソル制御器1323である。
【0063】
[0076]バス1311に接続され得る別の装置は、命令、データ又は他の情報を、ペーパー、フィルム又は同様の形式の媒体に印刷するのに使用できるハードコピー装置1324である。更に、スピーカ及び/又はマイクロホンのような録音再生装置を、コンピュータシステム1300との音声インターフェイスのためにバス1311に任意に接続することもできる。バス1311に接続できる別の装置は、電話又はハンドヘルドパルム装置と通信するためのワイヤード/ワイヤレス通信能力1325である。
【0064】
[0077]なお、システム1300及びそれに関連したハードウェアのいずれか又は全てのコンポーネントが本発明に使用されてもよいことに注意されたい。しかしながら、コンピュータシステムの他の構成が、これら装置の幾つか又は全部を含んでもよいことが明らかであろう。
【0065】
[0078]当業者であれば、以上の説明を読んだ後に、本発明の多数の変更や修正が疑いなく明らかであろうが、ここに例示した特定の実施形態は、本発明をこれに限定するものではないことを理解されたい。したがって、種々の実施形態の細部の説明は、本発明にとって本質的と考えられる特徴だけをそれ自体列挙した特許請求の範囲を限定することを意図してはいない。
【図面の簡単な説明】
【0066】
【図1】符号化システムの一実施形態を例示するブロック図である。
【図2】復号システムの一実施形態を例示するブロック図である。
【図3】符号化プロセスの一実施形態を示すフローチャートである。
【図4】復号プロセスの一実施形態を示すフローチャートである。
【図5】符号化対象の動きベクトルを含むブロックに対して予測信号を生成するための一実施形態に使用され得る動きベクトルを含む近傍ブロックを示す図である。
【図6】動きベクトルを含むブロックに対して予測信号を生成するための別の実施形態に使用され得る動きベクトルを含む近傍ブロックのセットを示す図である。
【図7】コンテキスト生成プロセスの一実施形態を示すフローチャートである。
【図8】符号化器の別の実施形態を示すブロック図である。
【図9】復号器の別の実施形態を示すブロック図である。
【図10】符号化プロセスの別の実施形態を示すフローチャートである。
【図11】復号プロセスの別の実施形態を示すフローチャートである。
【図12】予測に使用できる付加的な近傍の領域を示す図である。
【図13】コンピュータシステムを例示するブロック図である。
【図14】予測信号生成器によって実行される予測生成プロセスの一実施形態を示すフローチャートである。
【図15】予測信号生成器の一実施形態を示すブロック図である。
【図16】符号化器の更に別の実施形態を示すブロック図である。
【図17】復号器の更に別の実施形態を示すブロック図である。
【優先権】
【0001】
[0001]本特許出願は、本発明の譲受人に譲渡され、且つ、参照することによって本明細書に援用する2003年12月29日出願の「Method And Apparatus For Coding MotionInformation」と題する仮特許出願第60/533,187号、及び2003年6月30日出願の「Method And Apparatus For Coding MotionInformation」と題する仮特許出願第60/483,617号の優先権を請求する。
【発明の分野】
【0002】
[0002]本発明は、情報符号化の分野に関するものであり、より詳細には、複数の予測信号を使用して、例えば動きベクトルといった情報を符号化することに関するものである。
【発明の背景】
【0003】
[0003]映像圧縮アルゴリズムは、一般的に、視覚情報を、モーションデータとテクスチャデータとの結合によって表わす。このモーションデータは、フレームのコンテンツと以前のフレームのコンテンツとの間の時間的関係を記述する。また、モーションデータは、通常、フレームの区画を定義するブロックに関連した動きベクトルのセットによって表わされる。個々のブロックについて、動きベクトルは、以前のフレームに対する水平方向及び垂直方向の変位を記述する。隣接ブロックに属する動きベクトルの相関は、通常、大きいものである。したがって、一般的に、差分符号化方法が、動きベクトルの符号化に採用されている。
【0004】
[0004]動きベクトルは、単一の予測信号に対して差分符号化される。この単一の予測信号は、例えばメジアンオペレータを使用し多数の動きベクトルを合成することによって得ることができる(ISO/IEC14496−2(1999年)及びISO/IEC14496−10(2003年)を参照)。或いは又、予測信号は、単一の動きベクトルを参照することによっても得ることもできる(ISO/IEC13818−2を参照されたい)。
【0005】
[0005]関連技術の解決策は、ある場合には非効率である。ここで、効率とは、動きベクトルのセットを符号化するのに必要なビット数で定義される。例えば、ISO/IEC14496−2のように、メジアンオペレータが水平方向のモーションの境界が存在する下で使用される場合には、ローカルに利用可能な動きベクトル(例えば、左側の動きベクトル)に対してゼロの差分を符号化できるのにもかかわらず、同じ非ゼロの差分が多数回符号化されることになる。
【0006】
[0006]ここで、2列の動きベクトルについて考える。上の列の動きベクトルは、全て値Aを有しており、下の列の動きベクトルは、値Bを有している。
AAAAAAAA
BBBBBBBB
下の列の動きベクトルを符号化するときには、メジアンオペレータにより生成される予測信号は、常に、値Aを有する。したがって、値AとBとの間の差分が多数回符号化されることになる。下の列については、ほぼゼロの差分を符号化する符号化方法であることが好ましい。
【0007】
[0007]ISO/IEC13818−2の予測方法は、ゼロの差分を生成するという点においては、上述したパターンに対して良好に機能する。しかしながら、予測は、常に、左側のブロックを参照するので、垂直方向のモーションのフィールド境界が存在する下では、予測が非効率的となる。垂直方向のモーションの境界とは、例えば、次のようなものである。
AB
AB
AB
AB
【0008】
[0008]それ故に、水平方向及び垂直方向のモーションの境界のいずれか又は両者の存在下で、動きベクトルを効率的に符号化する動きベクトルの予測及び符号化方法が求められている。
【発明の概要】
【0009】
[0009]複数の予測信号を使用して情報(例えば、動きベクトル)を符号化及び復号するための方法及び装置を本明細書に開示する。一実施形態において、この方法は、複数の以前に符号化されたデータエレメントから複数の予測信号を算出するステップと、別のグループの以前に符号化されたデータエレメントに基づいてコンテキストを計算するステップと、複数の予測信号の一つを選択して、選択された予測信号を得るステップと、コンテキストを使用して、選択された予測信号に対する指示信号を符号化するステップと、選択された予測信号とデータエレメントとの間の差分データエレメントを符号化するステップとを含んでいる。
【0010】
[0010]本発明は、本発明の種々の実施形態の以下の詳細な説明及び添付図面からより完全に理解されよう。しかしながら、これらは、本発明を特定の実施形態に限定するものではなく、本発明を単に例示し理解するためのものに過ぎない。
【本発明の詳細な説明】
【0011】
[0028]以下、情報を符号化する方法及び装置について説明する。一実施形態では、情報は、データエレメント(例えば動きベクトル)を含んでいる。一実施形態では、動きベクトルの差分符号化は、複数の予測信号を使用することによって実行される。動きベクトルを符号化する符号化器は、予測信号の一つを選択して、その選択を記述する情報を復号器へ送信する。この復号器は、適切な予測信号を再構成することができる。複数の予測信号から選択を行うことによって、水平方向及び/又は垂直方向のモーションの境界が存在する下では、モーションデータを効率的に符号化することが可能になる(例えば、動きベクトルを符号化するのに必要なビット数を減少できる)。モーションデータを符号化するのに必要なビット数が減少することによって、テクスチャデータを符号化するためにより多くのビットが許容される。これら追加のビットを使用して、圧縮映像の視覚的クオリティを高めることができる。
【0012】
[0029]例えば、選択に係る符号化のコストを削減するよう各ブロックに対して最も適当な選択を予測するために、コンディショニング技術を使用することができる。一実施形態では、このコンディショニング技術は、コンテキスト生成器を使用して実施される。このコンテキスト生成器は、ローカルのグラディエントに基づきエントロピーモデルの一つを選択する。これによって、選択された動きベクトルの予測信号を表わす指示信号(例えば、インデックス)を符号化するコストを減少させる。
【0013】
[0030]また、任意の方向性をもつモーションの境界が存在する下で、符号化の効率を改善するための拡張について説明する。
【0014】
[0031]以下の説明では、本発明をより完全に説明するために多数の細部について述べる。しかしながら、本発明は、これらの特定の細部を伴わずに実施できることが当業者に明らかであろう。他の例では、本発明を不明瞭にするのを回避するため、良く知られた構造及び装置は、詳細に示すのではなく、ブロック図形態で示す。
【0015】
[0032]以下の詳細な説明では、コンピュータメモリ内のデータビットに対するオペレーションのアルゴリズム及び記号表示の形態で記載した部分がある。これらのアルゴリズム記述及び表示は、データ処理技術の当業者が、彼等の仕事の実体を他の当業者に最も効率的に伝達するために使用する手段である。アルゴリズムとは、ここでは、そして一般的には、所望の結果に導くステップの自己一貫性のシーケンスであると考えられる。これらステップは、物理量の物理的な操作を必要とするものである。必ずしもそうでないが、通常、これらの量は、記憶、転送、合成、比較、及びその他操作することのできる電気的又は磁気的信号の形態をとる。時には、主として共通に使用する理由で、これら信号をビット、値、エレメント、記号、キャラクタ、用語、番号等として参照するのが便利であると分かっている。
【0016】
[0033]しかしながら、これら及び同様の用語は、全て、適当な物理量に関連付けられるべきもので、これらの量に適用される便利なラベルに過ぎないことに留意されたい。特に指示のない限り、以下の説明から明らかなように、この説明全体にわたり、「処理」又は「計算」又は「算出」又は「決定」又は「表示」等の用語を使用する議論は、コンピュータシステムのレジスタ及びメモリ内の物理(電子)量として表わされたデータを操作して、それを、コンピュータシステムのメモリ又はレジスタ或いは他のそのような情報記憶、送信又は表示装置内の物理量として同様に表わされる他のデータへ変換するコンピュータシステム又は同様の電子計算装置のアクション及びプロセスを指すことが明らかであろう。
【0017】
[0034]本発明は、また、本明細書におけるオペレーションを実行するための装置にも係る。この装置は、要求された目的のために特別に構成されてもよいし、或いはコンピュータに記憶されたコンピュータプログラムにより選択的に起動されるか又は再構成される汎用コンピュータを備えてもよい。このようなコンピュータプログラムは、コンピュータ読み取り可能な記憶媒体、例えば、フロッピーディスク、光学ディスク、CD−ROM及び磁気−光学ディスクを含む任意の形式のディスク、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気又は光学カード、或いは電子命令を記憶するのに適していてコンピュータシステムバスに各々接続された任意の形式の媒体に記憶することができるが、これらに限定されない。
【0018】
[0035]また、本明細書に示すアルゴリズム及び表示は、特定のコンピュータ又は他の装置に固有に関連したものではない。種々の汎用システムが、ここに示す教示に基づくプログラムと共に使用されてもよいし、或いは必要な方法ステップを実行するためのより特殊な装置を構成するのも便利であることは理解されよう。種々のこれらシステムに必要な構造は、以下の説明から明らかとなろう。更に、本発明は、特定のプログラミング言語を参照して説明しない。ここに述べる本発明の教示を実施するのに種々のプログラミング言語を使用できることが明らかであろう。
【0019】
[0036]マシン読み取り可能な媒体は、マシン(例えばコンピュータ)で読み取れる形態で情報を記憶し又は送信するためのメカニズムを備えている。例えば、マシン読み取り可能な媒体は、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス、電気的、光学的、音響的又は他の形態の伝播信号(例えば、搬送波、赤外線信号、デジタル信号等)等々を含む。
【0020】
符号化及び復号
【0021】
[0037]一実施形態では、映像を固定サイズブロックのセットに区画することができる。これらのブロックは、いかなるサイズであってもよい(例えば、4x4、8x8、16x16ピクセル)。以下では、固定サイズのブロックについて説明するが、本明細書で説明する技術は、可変サイズのブロックにも使用できる。
【0022】
[0038]各ブロックは、自身に関連した動きベクトルをもち得る。これらブロックは、ラスタスキャン順序でスキャンされてもよい。自身に関連した動きベクトルをもつ各ブロックについて、動きベクトルが生成されて(例えば、モーション推定アルゴリズムを使用して)、例えば、図1に示す符号化システムのような符号化システムに入力される。上記説明は、動きベクトルデータの符号化に言及するものであるが、同じ原理を、例えば、DCTのような変換が適用された映像におけるDC値といった他のデータの符号化にも適用することが可能である。
【0023】
[0039]以下、図1を参照する。図1の符号化システムの全部又は一部分は、ハードウェア(回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステム又は専用マシンで実行されるような)、或いはその両方の組合せで構成され得るものである。
【0024】
[0040]動きベクトルは、将来の参照のために動きベクトル(MV)メモリ101に記憶される。或いは又、全ての動きベクトルが、例えば、入力107を経てメモリ101に最初に記憶され、それに含まれている動きベクトルがメモリ101から抽出されてもよい。
【0025】
[0041]以前に符号化された動きベクトルは、動きベクトルメモリ110から予測信号生成器102により抽出される。例えば、予測信号生成器102は、符号化対象の動きベクトルに関連したブロックの左側及び上部に存在するブロックに関連した動きベクトルを抽出することができる。図5は、符号化対象の動きベクトルを含むブロックXと、動きベクトルメモリに記憶された動きベクトルを含むブロックA(左側)及びB(上部)との関係を示している。或いは又、例えば、図12に示すような他の近傍ブロックが使用されてもよい。なお、図12では、追加の近傍ブロックB’及びB”が使用されている。
【0026】
[0042]一実施形態では、N個のブロックに属する動きベクトルを使用して予測信号を生成する場合に、予測信号生成器102は、各ブロックについて、N個の予測信号を生成することができる。別の実施形態では、予測信号生成器102は、N個のブロックに属する動きベクトルを使用して予測信号を生成するときに、N個未満の予測信号を生成してもよい。或いは又、予測信号生成器102は、二つの予測信号を生成するだけでもよい。例えば、第1の予測信号は、Aの動きベクトルに対応し、第2の予測信号は、Bの動きベクトルに対応してもよい。
【0027】
[0043]予測信号生成器102は、二つ以上の動きベクトルの予測信号を生成する。これらの予測信号は、メモリ101から抽出された動きベクトルであってもよく、又はそれらの算術的な結合であってもよい。例えば、使用することのできる算術的な結合には、二つのベクトルの平均、又は三つ以上のベクトルのメジアン値が含まれる。
【0028】
[0044]比較器104は、動きベクトルの予測信号を比較して、全ての予測信号が等しいかどうかを判断する。比較の結果は、エントロピー符号化器108に送信される。
【0029】
[0045]選択器105は、動きベクトルの予測信号の一つを選択する。例えば、選択器105は、入力107によって与えられた符号化対象の動きベクトルに対して差分(例えばL1ノルム)を最小にする(又は減少する)予測信号を選択することができる。選択されたベクトルは予測信号であり、差分器106へ送信される。また、選択器105は、エントロピー符号化器108へインデックスを送信する。このインデックスは、選択された予測信号を指すものである。
【0030】
[0046]差分器106は、符号化対象の動きベクトルと、選択器105から得た予測信号との差分を計算する。この差分は、エントロピー符号化器108に送信される。
【0031】
[0047]コンテキスト生成器103は、動きベクトルメモリ110から一つ以上の動きベクトルを検索し、エントロピー符号化器108によって使用されるコンテキストを生成する。コンテキスト生成器103の目的は、符号化される動きベクトルの近傍における動きベクトルデータを分析して、選択器105によって選択される可能性が最も高いのはどの予測信号かを決定することにある。一実施形態では、コンテキスト生成器103は、図6に示すブロックA、B及びCに関連した動きベクトルmvA、mvB及びmvCを検索する。コンテキスト生成器103は、|mvA−mvC|が|mvB−mvC|より小さい場合には第1の値をもつコンテキストを生成し、その他の場合には、第2の値をもつコンテキストを生成することができる。ここで、|.|演算子は、差分動きベクトルのL1ノルムを表わす。或いは又、L2ノルムのような他のノルムを使用してもよい。
【0032】
[0048]エントロピー符号化器108は、差分器106、比較器104、コンテキスト生成器103及び選択器105から受け取った情報を、ゼロ以上のビットに変換する。比較器104から受け取ったフラグが全ての動きベクトルの予測信号が等しいのではないことを指示する場合には、エントロピー符号化器108は、選択器105から受け取ったインデックスを表わすためにゼロ以上のビットを生成する。その他の場合には、エントロピー符号化器108は、如何なるビットも生成しない。生成されるビットの数は、エントロピーモデルによって決定される。エントロピーモデルは、コンテキスト生成器103から受け取ったコンテキストの値に基づいて選択されてもよい。コンテキストが第1の値をとる場合には第1のエントロピーモデルが使用されてもよく、また、コンテキストが第2の値をとる場合には第2のエントロピーモデルが使用されてもよい。次いで、エントロピー符号化器105は、差分器106から受け取った差分動きベクトルをゼロ以上のビットに変換する。ビットへの情報の変換は、算術符号化を使用して実行されてもよい。算術符号化器の一例が、ISO/IEC14496−10(コンテキスト適応2進算術符号化器)に説明されている。なお、他の算術符号化器が使用されてもよい(例えば、米国特許第4,905,297号を参照されたい)。算術符号化器を使用するときには、確率推定が各コンテキストに関連付けられてもよい。或いは又、可変長符号(例えば、ハフマンコード)がエントロピー符号化器によって使用されてもよく、符号テーブルが各コンテキストに関連付けられてもよい。単一の可変長符号を使用して、インデックスの値及び差分動きベクトルの値を表わしてもよい。
【0033】
[0049]また、符号化プロセスの一例を図3に示す。このプロセスは、図1の符号化器によって実行されてもよく、或いはハードウェア(回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステム又は専用マシンで実行されるような)、又はその両方の組合せで構成される他の処理ロジックにより実行されてもよい。
【0034】
[0050]以下、図3を参照する。このプロセスは、処理ロジックが、以前に符号化された動きベクトルから二つ以上の動きベクトルの予測信号を生成することによって開始される(処理ブロック301)。例えば、二つの予測信号が、二つのブロックA及びBの動きベクトルに等しいものとして、生成されてもよい。現在のブロックXと、A及びBとの空間的関係についての一つの実施形態を、図5に示す。
【0035】
[0051]次いで、処理ロジックは、全ての予測信号を互いに比較する(処理ロジック302)。全ての予測信号が等しい場合には、処理ロジックは、差分動きベクトルを算出(処理ブロック303)する。その他の場合に、処理ロジックは、現在のブロックの近傍のブロックの動きベクトルを考慮することによってコンテキストを生成する(処理ブロック304)。次いで、処理ロジックは、例えば、符号化対象の動きベクトルとの差分のL1ノルムを最小にする(又は減少する)ものを選択することによって、一つの予測信号を選択する(処理ブロック305)。次いで、処理ロジックは、選択した予測信号のインデックスを符号化する(処理ブロック306)。このために、算術符号化器が使用されてもよい。また、幾つかのエントロピーモデルが使用されてもよい。エントロピーモデルの選択は、以前に計算されたコンテキストにより判断される。
【0036】
[0052]次いで、プロセスは処理ブロック303へ進む。処理ブロック303において、処理ロジックは、差分動きベクトルを算出する。一実施形態では、差分動きベクトルは、選択された予測信号を符号化対象の動きベクトルから減算することによって、得られる。次いで、処理ロジックは、例えば、算術符号化器を使用してその差分を符号化する(処理ブロック307)。
【0037】
[0053]図2は、符号化器のオペレーションを逆に行う(即ち、ゼロ以上のビットから動きベクトルを生成する)復号器の一実施形態を示すブロック図である。以下、図2を参照する。予測信号生成器202は、動きベクトルメモリ201から以前に復号された動きベクトルを抽出する。この動きベクトルメモリ201は、更なる動きベクトルを復号する際の予測に使用される動きベクトルを記憶する。例えば、予測信号生成器202は、復号対象の動きベクトルに関連したブロックの左側及び上部に存在するブロックに関連した動きベクトルを抽出することができる。抽出された動きベクトルに応じて、予測信号生成器202は、二つ以上の動きベクトルの予測信号を生成する。これらの予測信号は、メモリ101から抽出された動きベクトル又はそれらの算術的な結合であってもよい。動きベクトルの予測信号の生成は、符号化器と復号器との間で対称的である。
【0038】
[0054]比較器204は、動きベクトルの予測信号を比較して、全ての予測信号が等しいか否かを判断する。比較器204は、比較の結果をエントロピー復号器208に送信する。一実施形態では、この送信は、フラグの形態を採る。
【0039】
[0055]コンテキスト生成器203は、動きベクトルメモリ201から一つ以上の動きベクトルを検索して、エントロピー復号器208によって使用されるコンテキストを生成する。コンテキスト生成器203の目的は、符号化されている動きベクトルの近傍における動きベクトルデータを分析して、どの予測信号が使用される可能性が最も高いのかを判断することにある。一実施形態では、コンテキスト生成器203は、図6に示すブロックA、B及びCに関連した動きベクトルmvA、mvB及びmvCを検索する。コンテキスト生成器203は、|mvA−mvC|が|mvB−mvC|より小さい場合には第1の値をもつコンテキストを生成することができる。その他の場合には、コンテキスト生成器203は、第2の値をもつコンテキストを生成することができる。ここで、|.|演算子は、動きベクトル差分のL1ノルムを表わす。
【0040】
[0056]比較器204から受け取ったフラグが、全ての動きベクトルの予測信号が等しいのではないことを指示する場合には、エントロピー復号器208は、ゼロ以上のビットを、インデックスに変換する。このインデックスは、選択器205へ送信される。変換されるビットの数は、エントロピーモデルによって決定される。エントロピーモデルは、コンテキスト生成器203から受け取ったコンテキストの値に基づいて選択され得るものである。コンテキストが第1の値をとる場合には第1のエントロピーモデルが使用されてもよく、又、コンテキストが第2の値をとる場合には第2のエントロピーモデルが使用されてもよい。比較器204から受け取ったフラグが、全ての動きベクトルの予測信号が等しいことを指示する場合には、エントロピー復号器208は、入力ビットを参照することなくデフォールトインデックスを送信する。
【0041】
[0057]エントロピー復号器208は、更に、ゼロ以上のビットから差分動きベクトルを生成する。この差分動きベクトルは、加算器206へ送信される。ビットからの情報の生成は、算術符号化を使用して行うことができる。算術復号器の一例は、ISO/IEC14496−10に説明されている。なお、他の算術復号器が使用されてもよい(例えば、米国特許第4,905,297号を参照されたい)。算術復号器を使用するときには、確率推定が各コンテキストに関連付けられてもよい。或いは又、可変長符号(例えば、ハフマンコード)がエントロピー復号器によって使用されてもよく、符号テーブルが各コンテキストに関連付けられてもよい。また、単一の可変長符号を使用して、インデックスの値及び差分動きベクトルを表わしてもよい。選択器205は、エントロピー復号器208から受け取ったインデックスに基づいて、受け取った動きベクトルの予測信号の一つを選択する。選択されたベクトルは、加算器206へ送信される予測信号である。
【0042】
[0058]加算器206は、差分動きベクトルと、選択器205から得られた予測信号との和を計算する。その結果が動きベクトルである。加算器206は、将来の参照用に蓄積するために、動きベクトルを動きベクトルメモリ201に出力する。
【0043】
[0059]図3の復号システムの処理ロジック又は他の処理ロジックで実行され得る復号プロセスの一例を図4に示す。以下、図4を参照する。このプロセスは、以前に復号された動きベクトルから二つ以上の動きベクトルの予測信号を生成することによって開始される(処理ブロック401)。例えば、二つの予測信号は、二つのブロックA及びBの動きベクトルに等しいものとして、生成されてもよい。なお、現在のブロックXと、A及びBとの空間的関係が図5に示されており、ブロックXは、符号化されるブロックである。
【0044】
[0060]次いで、処理ロジックは、全ての予測信号を互いに比較する(処理ロジック402)。全ての予測信号が等しい場合には、プロセスが処理ブロック403へ進み、処理ロジックは、差分動きベクトルを復号する。その他の場合には、処理ロジックは、現在のブロックの近傍のブロックの動きベクトルを考慮することによってコンテキストを生成し(処理ブロック404)、選択された予測信号のインデックスを復号する(処理ブロック405)。そのために、算術復号器が使用されてもよい。また、幾つかのエントロピーモデルが使用されてもよい。エントロピーモデルの選択は、以前に計算されたコンテキストによって決定される。
【0045】
[0061]その後、処理ロジックは、復号されたインデックスに基づいて一つの予測信号を選択する(処理ブロック406)。そして、プロセスは、処理ブロック403へ進み、例えば、算術復号器を使用して差分動きベクトルを復号する。最後に、処理ロジックは、選択された予測信号を、復号された差分動きベクトルに加算することによって、動きベクトルを再構成する(処理ブロック407)。
【0046】
[0062]図7は、コンテキスト生成のプロセスの一実施形態を示すフローチャートである。このプロセスは、ハードウェア(回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステム又は専用マシンで実行されるような)、或いはその両方の組合せで構成できる処理ロジックにより実行される。
【0047】
[0063]以下、図7を参照する。プロセスは、処理ロジックが水平方向及び垂直方向のグラディエントを計算することで開始される(処理ブロック701)。一実施形態では、水平方向のグラディエントは、|mvA−mvC|として定義することができる。ここで、mvAは、ブロックAに関連した動きベクトルであり、mvCは、ブロックCに関連した動きベクトルである。ブロックA、B、Cと、現在のブロックとの関係の一実施形態を図6に示す。同様に、垂直方向のグラディエントは、|mvB−mvC|として定義することができる。
【0048】
[0064]グラディエントを計算した後に、処理ロジックは、二つのグラディエントの値を比較する(処理ブロック702)。第1のグラディエントが第2のグラディエントより大きい場合には、処理ロジックは、第1のコンテキストを使用して、選択された予測信号を指示するインデックスを符号化する(処理ブロック703)。その他の場合に、処理ロジックは、第2のコンテキストを使用して、選択された予測信号を指示するインデックスを符号化する(処理ブロック704)。
【0049】
別の実施形態
【0050】
[0065]コンテキストの生成については、上述したように二つの値をとり得るコンテキストの生成を規定するコンテキスト生成に代えて、本明細書に説明する技術を、三つ以上の値をとり得るコンテキストを生成するように拡張することができる。例えば、一実施形態では、水平方向のグラディエントと垂直方向のグラディエントとの差を計算することができる。次いで、処理ロジックは、この差を幾つかのBinへ量子化する。Binの番号は、コンテキストに対応する。例えば、コンテキストは、差が−2より小さい場合には第1の値をとり、差が2より大きい場合には第2の値をとり、その他の場合には第3の値をとることができる。このようにして、スレッシュホールド値と、コンテキストがとり得る値の数とを変更することにより、他の例を構成することができる。
【0051】
[0066]一実施形態では、個別のコンテキストモデルが使用されない。符号化器の例を図8に、復号器の例を図9に、符号化プロセスの例を図10に、更に、復号プロセスの例を図11に示す。図1−4の場合と同様の名前をもつブロックは、同様に機能することに注意されたい。
【0052】
予測信号生成器の例
【0053】
[0067]図15は、予測信号生成器の一実施形態を示すブロック図である。以下、図15を参照する。コントローラ1502は、最初に、動きベクトルメモリ1501にアクセスすることによって、第1の予測信号1503及び第2の予測信号1504を生成する。比較器1505は、予測信号1503を予測信号1504と比較し、その結果をコントローラ1502に通知する。両方の予測信号が等しく、停止条件が満足されない場合には、コントローラ1502は、所定のルールに基づいて予測信号の一つを更新する。このようなルールの一例を以下に説明する。
【0054】
[0068]図14は、例えば、図15の予測信号生成器のような予測信号生成器によって実行される予測信号生成の一実施形態を示すフローチャートである。このプロセスは、ハードウェア(回路、専用ロジック等)、ソフトウェア(汎用コンピュータシステム又は専用マシンで実行されるような)、或いはその両方の組合せで構成できる処理ロジックにより実行される。
【0055】
[0069]以下、図14を参照する。位置(x、y)に配置された動きベクトルに対する予測信号を生成するために、処理ロジックは、変数nを最初にゼロにセットする(処理ブロック1401)。処理ロジックは、位置(x−1、y)に配置された動きベクトルによって第1の予測信号を生成し(処理ブロック1403)、次いで、位置(x+n、y−1)に配置された動きベクトルによって第2の予測信号を生成する(処理ブロック1403)。
【0056】
[0070]処理ロジックは、第1の予測信号及び第2の予測信号を含む(処理ブロック1404)。それらが異なる場合には、予測信号の生成プロセスが終了となる。その他の場合には、処理ロジックは、nを1だけ増加する(処理ブロック1405)。次いで、処理ロジックは、停止条件が満足されたかどうか調べるチェックを行う(処理ブロック1406)。停止条件が満足された場合には、生成プロセスが終了となる。その他の場合には、処理ロジックは、第2の予測信号を更新する(即ち、上記生成ルールを使用して再生成する)。一実施形態では、停止条件は、nが所定数、例えば1又は2以上であるという条件を含むことができる。更に、停止条件は、「位置(x+n、y−1)が像境界の外側にある」という条件を含んでもよい。
【0057】
[0071]図16は、動きベクトルメモリ以外のメモリを使用してコンテキストの生成を行う符号化器の別の実施形態を示すブロック図である。以下、図16を参照する。符号化器は、選択器によって生成されたインデックスの値を記憶するメモリ1601と、コンテキスト生成器1602とを含むことができる。コンテキスト生成器1602は、メモリ1601から値を読み取って、コンテキストを生成する。このコンテキストは、例えば、算術符号化を使用するときにエントロピー符号化器によって使用される。コンテキストは、例えば、図5、6又は12におけるブロックA、B及びB’のような以前のブロックに対するインデックスの値を考慮することによって構成されるものである。エントロピー符号化器は、コンテキストの値の関数としてインデックスの値を符号化するためにビットを割り当てることができる。例えば、算術符号化器を使用する際には、インデックスの値を符号化するための個別の確率推定を、コンテキストの各値に対して保持することができる。図17は、これに対応する復号器を示す。
【0058】
コンピュータシステムの例
【0059】
[0072]図13は、本明細書に説明するオペレーションの一つ以上を実行することができるコンピュータシステムの例を示すブロック図である。以下、図13を参照する。コンピュータシステム1300は、典型的なクライアント又はサーバーコンピュータシステムから成るものである。コンピュータシステム1300は、情報を通信するための通信メカニズム又はバス1311と、情報を処理するためにバス1311に接続されたプロセッサ1312とを備えている。プロセッサ1312は、マイクロプロセッサ、例えば、Pentium(登録商標)等のマイクロプロセッサを含むが、これに限定されない。
【0060】
[0073]システム1300は、更に、プロセッサ1312により実行されるべき命令及び情報を記憶するためにバス1311に接続されたランダムアクセスメモリ(RAM)又は他のダイナミック記憶装置1304(メインメモリと称される)を備えている。また、メインメモリ1304は、プロセッサ1312による命令の実行中に一時的変数又は他の中間情報を記憶するのに使用することもできる。
【0061】
[0074]また、コンピュータシステム1300は、プロセッサ1312の命令及びスタティック情報を記憶するためにバス1311に接続されたリードオンリメモリ(ROM)及び/又は他のスタティック記憶装置1306と、磁気ディスク又は光学ディスク及びそれに対応するディスクドライブのようなデータ記憶装置1307も備えている。このデータ記憶装置1307は、情報及び命令を記憶するためにバス1311に接続される。
【0062】
[0075]コンピュータシステム1300は、更に、コンピュータのユーザに情報を表示するためにバス1311に接続された陰極線管(CRT)又は液晶ディスプレイ(LCD)のようなディスプレイ装置1321にも接続され得る。又、アルファニューメリック及び他のキーを含むアルファニューメリック入力装置1322も、情報及びコマンド選択をプロセッサ1312へ通信するためにバス1311に接続され得る。付加的なユーザ入力装置は、指令情報及びコマンド選択をプロセッサ1312へ通信すると共に、ディスプレイ1321上のカーソルの移動を制御するために、バス1311に接続されたマウス、トラックボール、トラックパッド、スタイラス、又はカーソル指令キーのようなカーソル制御器1323である。
【0063】
[0076]バス1311に接続され得る別の装置は、命令、データ又は他の情報を、ペーパー、フィルム又は同様の形式の媒体に印刷するのに使用できるハードコピー装置1324である。更に、スピーカ及び/又はマイクロホンのような録音再生装置を、コンピュータシステム1300との音声インターフェイスのためにバス1311に任意に接続することもできる。バス1311に接続できる別の装置は、電話又はハンドヘルドパルム装置と通信するためのワイヤード/ワイヤレス通信能力1325である。
【0064】
[0077]なお、システム1300及びそれに関連したハードウェアのいずれか又は全てのコンポーネントが本発明に使用されてもよいことに注意されたい。しかしながら、コンピュータシステムの他の構成が、これら装置の幾つか又は全部を含んでもよいことが明らかであろう。
【0065】
[0078]当業者であれば、以上の説明を読んだ後に、本発明の多数の変更や修正が疑いなく明らかであろうが、ここに例示した特定の実施形態は、本発明をこれに限定するものではないことを理解されたい。したがって、種々の実施形態の細部の説明は、本発明にとって本質的と考えられる特徴だけをそれ自体列挙した特許請求の範囲を限定することを意図してはいない。
【図面の簡単な説明】
【0066】
【図1】符号化システムの一実施形態を例示するブロック図である。
【図2】復号システムの一実施形態を例示するブロック図である。
【図3】符号化プロセスの一実施形態を示すフローチャートである。
【図4】復号プロセスの一実施形態を示すフローチャートである。
【図5】符号化対象の動きベクトルを含むブロックに対して予測信号を生成するための一実施形態に使用され得る動きベクトルを含む近傍ブロックを示す図である。
【図6】動きベクトルを含むブロックに対して予測信号を生成するための別の実施形態に使用され得る動きベクトルを含む近傍ブロックのセットを示す図である。
【図7】コンテキスト生成プロセスの一実施形態を示すフローチャートである。
【図8】符号化器の別の実施形態を示すブロック図である。
【図9】復号器の別の実施形態を示すブロック図である。
【図10】符号化プロセスの別の実施形態を示すフローチャートである。
【図11】復号プロセスの別の実施形態を示すフローチャートである。
【図12】予測に使用できる付加的な近傍の領域を示す図である。
【図13】コンピュータシステムを例示するブロック図である。
【図14】予測信号生成器によって実行される予測生成プロセスの一実施形態を示すフローチャートである。
【図15】予測信号生成器の一実施形態を示すブロック図である。
【図16】符号化器の更に別の実施形態を示すブロック図である。
【図17】復号器の更に別の実施形態を示すブロック図である。
【特許請求の範囲】
【請求項1】
データエレメントを符号化する方法であって、
第1の複数の以前に符号化されたデータエレメントから複数の予測信号を算出するステップと、
第2の複数の以前に符号化されたデータエレメントに基づいてコンテキストを算出するステップと、
前記複数の予測信号の一つを選択して、選択された予測信号を得るステップと、
前記コンテキストを使用して、前記選択された予測信号の指示信号を符号化するステップと、
前記選択された予測信号と前記データエレメントとの間の差分データエレメントを符号化するステップと、
を含む方法。
【請求項2】
前記データエレメントは動きベクトルを含む、請求項1に記載の方法。
【請求項3】
前記複数の予測信号は二つの予測信号を含む、請求項1に記載の方法。
【請求項4】
前記二つの予測信号は、符号化されるデータエレメントに関連したブロックの第1の側に位置する第1のブロックに関連したデータエレメントに等しい第1の予測信号と、符号化されるデータエレメントに関連したブロックの第2の側に位置するブロックに関連したデータエレメントに等しい第2の予測信号とを含む、請求項3に記載の方法。
【請求項5】
前記データエレメントは動きベクトルである、請求項4に記載の方法。
【請求項6】
前記第1及び第2の側はそれぞれ、符号化されるデータエレメントを含むブロックの上側及び左側を構成する、請求項4に記載の方法。
【請求項7】
前記複数の予測信号は三つ以上の予測信号であり、該三つ以上の予測信号は、符号化されるデータエレメントに関連したブロックの第1の側に位置する第1のブロックに関連したデータエレメントに等しい第1の予測信号と、符号化されるデータエレメントに関連したブロックの第2の側に位置するブロックに関連したデータエレメントに等しい第2の予測信号と、前記第1ブロックの近傍に位置するブロックに関連したデータエレメントに等しい一つ以上の付加的な予測信号とを含む、請求項1に記載の方法。
【請求項8】
前記第1の複数の以前に符号化されたデータエレメントは、前記第2の複数の以前に符号化されたデータエレメントと異なる、請求項1に記載の方法。
【請求項9】
前記コンテキストは、近傍ブロックに関連したデータエレメントに基づく、請求項1に記載の方法。
【請求項10】
前記近傍ブロックは、符号化されるデータエレメントに関連したブロックの上に位置する第1のブロックと、符号化されるデータエレメントに関連したブロックの左に位置する第2のブロックと、該第2のブロックの上に位置する第3のブロックとを含む、請求項9に記載の方法。
【請求項11】
前記選択された予測信号と前記データエレメントとの間の差分データエレメントを符号化する前記ステップは、前記データエレメントから前記選択された予測信号を減算することを含む、請求項1に記載の方法。
【請求項12】
前記選択された予測信号の指示信号を符号化する前記ステップは、前記複数の予測信号が互いに異なる場合に発生する、請求項1に記載の方法。
【請求項13】
前記選択された予測信号の指示信号を符号化する前記ステップ及び差分データエレメントを符号化する前記ステップは、算術符号化器を使用して実行される、請求項1に記載の方法。
【請求項14】
データエレメントの入力に応答してゼロ以上のビットを出力する符号化器であって、
第1の複数の以前に符号化されたデータエレメントから複数の予測信号を生成するための予測信号生成器と、
第2の複数の以前に符号化されたデータエレメントに基づいてコンテキストを算出するためのコンテキスト生成器と、
前記複数の予測信号の一つを選択して、選択された予測信号を得るための予測信号選択器と、
前記複数の予測信号を比較するための予測信号比較器と、
前記選択された予測信号と前記データエレメントとの間の差分データエレメントを算出するための差分器と、
前記コンテキストを使用して前記選択された予測信号の指示信号を符号化し、前記差分データエレメントを符号化するエントロピー符号化器と、
を備える符号化器。
【請求項15】
前記データエレメントは動きベクトルを含む、請求項14に記載の符号化器。
【請求項16】
前記複数の予測信号は二つの予測信号を含む、請求項14に記載の符号化器。
【請求項17】
前記二つの予測信号は、符号化されるデータエレメントに関連したブロックの第1の側に位置する第1のブロックに関連したデータエレメントに等しい第1の予測信号と、符号化されるデータエレメントに関連したブロックの第2の側に位置するブロックに関連したデータエレメントに等しい第2の予測信号とを含む、請求項16に記載の符号化器。
【請求項18】
前記データエレメントは動きベクトルである、請求項17に記載の符号化器。
【請求項19】
前記第1及び第2の側はそれぞれ、符号化されるデータエレメントを含むブロックの上側及び左側を構成する、請求項17に記載の符号化器。
【請求項20】
前記複数の予測信号は三つ以上の予測信号であり、該三つ以上の予測信号は、符号化されるデータエレメントに関連したブロックの第1の側に位置する第1のブロックに関連したデータエレメントに等しい第1の予測信号と、符号化されるデータエレメントに関連したブロックの第2の側に位置するブロックに関連したデータエレメントに等しい第2の予測信号と、前記第1ブロックの近傍に位置するブロックに関連したデータエレメントに等しい一つ以上の付加的な予測信号とを含む、請求項14に記載の符号化器。
【請求項21】
前記第1の複数の以前に符号化されたデータエレメントは、前記第2の複数の以前に符号化されたデータエレメントと異なる、請求項14に記載の符号化器。
【請求項22】
前記コンテキストは、近傍ブロックに関連したデータエレメントに基づく、請求項14に記載の符号化器。
【請求項23】
前記近傍ブロックは、符号化されるデータエレメントに関連したブロックの上に位置する第1のブロックと、符号化されるデータエレメントに関連したブロックの左に位置する第2のブロックと、該第2ブロックの上に位置する第3のブロックとを含む、請求項22に記載の符号化器。
【請求項24】
前記差分器は、前記データエレメントから前記選択された予測信号を減算することによって、前記差分データエレメントを生成する、請求項14に記載の符号化器。
【請求項25】
前記エントロピー符号化器は、前記複数の予測信号が互いに異なる場合にのみ、前記選択された予測信号の指示信号を符号化する、請求項14に記載の符号化器。
【請求項26】
前記エントロピー符号化器は、算術符号化器を含む、請求項14に記載の符号化器。
【請求項27】
命令が記憶された一つ以上の記録可能な媒体を有する製造品であって、
システムによって実行されたときに、前記命令が該システムに、
第1の複数の以前に符号化されたデータエレメントから複数の予測信号を算出するステップと、
第2の複数の以前に符号化されたデータエレメントに基づいてコンテキストを算出するステップと、
前記複数の予測信号の一つを選択して、選択された予測信号を得るステップと、
前記コンテキストを使用して、前記選択された予測信号の指示信号を符号化するステップと、
前記選択された予測信号と前記データエレメントとの間の差分データエレメントを符号化するステップと、
を含む方法を実行させる製造品。
【請求項28】
第1の複数の以前に符号化されたデータエレメントから複数の予測信号を算出する手段と、
第2の複数の以前に符号化されたデータエレメントに基づいてコンテキストを算出する手段と、
前記複数の予測信号の一つを選択して、選択された信号を得る手段と、
前記コンテキストを使用して、前記選択された予測信号の指示信号を符号化する手段と、
前記選択された予測信号と前記データエレメントとの間の差分データエレメントを符号化する手段と、
を備える装置。
【請求項29】
データエレメントを復号するための方法であって、
第1の複数の以前に復号されたデータエレメントから複数の予測信号を算出するステップと、
第2の複数の以前に復号されたデータエレメントに基づいてコンテキストを算出するステップと、
前記コンテキストを使用して、選択された予測信号の指示信号を復号するステップと、
前記指示信号に基づいて、前記複数の予測信号から前記選択された予測信号を選択するステップと、
差分データエレメントを復号するステップと、
前記選択された予測信号に前記差分データエレメントを加算して、前記データエレメントを得るステップと、
を含む方法。
【請求項30】
前記複数の予測信号を比較するステップを更に含み、
選択された予測信号の指示信号を復号する前記ステップは、前記複数の予測信号が互いに異なる場合にだけ発生する、請求項29に記載の方法。
【請求項31】
前記データエレメントは動きベクトルを含む、請求項29に記載の方法。
【請求項32】
前記複数の予測信号は二つの予測信号を含む、請求項29に記載の方法。
【請求項33】
前記二つの予測信号は、復号されるデータエレメントに関連したブロックの第1の側に位置する第1のブロックに関連したデータエレメントに等しい第1の予測信号と、復号されるデータエレメントに関連したブロックの第2の側に位置するブロックに関連したデータエレメントに等しい第2の予測信号とを含む、請求項32に記載の方法。
【請求項34】
前記データエレメントは動きベクトルである、請求項33に記載の方法。
【請求項35】
前記第1及び第2の側はそれぞれ、復号されるデータエレメントを含むブロックの上側及び左側を含む、請求項33に記載の方法。
【請求項36】
前記複数の予測信号は三つ以上の予測信号であり、該三つ以上の予測信号は、符号化されているデータエレメントに関連したブロックの第1の側に位置する第1のブロックに関連したデータエレメントに等しい第1の予測信号と、符号化されているデータエレメントに関連したブロックの第2の側に位置するブロックに関連したデータエレメントに等しい第2の予測信号と、前記第1ブロックの近傍に位置するブロックに関連したデータエレメントに等しい一つ以上の付加的な予測信号とを含む、請求項29に記載の方法。
【請求項37】
前記第1の複数の以前に復号されたデータエレメントは、前記第2の複数の以前に復号されたデータエレメントと異なる、請求項29に記載の方法。
【請求項38】
前記コンテキストは、近傍ブロックに関連したデータエレメントに基づく、請求項29に記載の方法。
【請求項39】
前記近傍ブロックは、符号化されているデータエレメントに関連したブロックの上に位置する第1のブロックと、符号化されているデータエレメントに関連したブロックの左に位置する第2のブロックと、該第2ブロックの上に位置する第3のブロックとを含む、請求項38に記載の方法。
【請求項40】
前記選択された予測信号の指示信号を復号するステップ及び差分データエレメントを復号する前記ステップは、算術復号器を使用して実行される、請求項29に記載の方法。
【請求項41】
データエレメントを表わすゼロ以上のビットの入力に応答してデータエレメントを出力するための復号器であって、
第1の複数の以前に復号されたデータエレメントから複数の予測信号を算出するための予測信号生成器と、
第2の複数の以前に復号されたデータエレメントに基づいてコンテキストを算出するためのコンテキスト生成器と、
前記コンテキストを使用して、選択された予測信号の指示信号を復号し、且つ、差分データエレメントを復号するエントロピー復号器と、
前記指示信号に基づいて、前記複数の予測信号から前記選択された予測信号を選択するための予測信号選択器と、
前記選択された予測信号に前記差分データエレメントを加算して、前記データエレメントを得るための加算器と、
を備えた復号器。
【請求項42】
前記複数の予測信号を比較するための比較器を更に備え、
前記エントロピー復号器は、前記複数の予測信号が互いに異なることを前記比較器が指示する場合に前記選択された予測信号の指示信号を復号する、請求項41に記載の復号器。
【請求項43】
前記データエレメントは動きベクトルを含む、請求項41に記載の復号器。
【請求項44】
前記複数の予測信号は二つの予測信号を含む、請求項41に記載の復号器。
【請求項45】
前記二つの予測信号は、復号されるデータエレメントに関連したブロックの第1の側に位置する第1のブロックに関連したデータエレメントに等しい第1の予測信号と、復号されるデータエレメントに関連したブロックの第2の側に位置するブロックに関連したデータエレメントに等しい第2の予測信号とを含む、請求項44に記載の復号器。
【請求項46】
前記データエレメントは動きベクトルである、請求項45に記載の復号器。
【請求項47】
前記第1及び第2の側はそれぞれ、復号されるデータエレメントを含むブロックの上側及び左側を含む、請求項45に記載の復号器。
【請求項48】
前記複数の予測信号は三つ以上の予測信号であり、該三つ以上の予測信号は、符号化されているデータエレメントに関連したブロックの第1の側に位置する第1のブロックに関連したデータエレメントに等しい第1の予測信号と、符号化されているデータエレメントに関連したブロックの第2の側に位置するブロックに関連したデータエレメントに等しい第2の予測信号と、前記第1のブロックの近傍に位置するブロックに関連したデータエレメントに等しい一つ以上の付加的な予測信号とを含む、請求項41に記載の復号器。
【請求項49】
前記第1の複数の以前に復号されたデータエレメントは、前記第2の複数の以前に復号されたデータエレメントと異なる、請求項41に記載の復号器。
【請求項50】
前記コンテキストは、近傍ブロックに関連したデータエレメントに基づく、請求項41に記載の復号器。
【請求項51】
前記近傍ブロックは、符号化されているデータエレメントに関連したブロックの上に位置する第1のブロックと、符号化されているデータエレメントに関連したブロックの左に位置する第2のブロックと、該第2ブロックの上に位置する第3ブロックとを含む、請求項50に記載の復号器。
【請求項52】
前記エントロピー復号器は算術復号器を含む、請求項41に記載の復号器。
【請求項53】
命令が記憶された一つ以上の記録可能な媒体を有する製造品であって、
システムによって実行されたときに、前記命令が該システムに、
第1の複数の以前に復号されたデータエレメントに基づいて複数の予測信号を算出するステップと、
第2の複数の以前に復号されたデータエレメントに基づいてコンテキストを算出するステップと、
前記コンテキストを使用して、選択された予測信号の指示信号を復号するステップと、
前記指示信号に基づき、前記複数の予測信号から、前記選択された予測信号を選択するステップと、
差分データエレメントを復号するステップと、
前記選択された予測信号に前記差分データエレメントを加算して、前記データエレメントを得るステップと、
を含む方法を、実行させる製造品。
【請求項54】
第1の複数の以前に復号されたデータエレメントに基づいて複数の予測信号を算出する手段と、
第2の複数の以前に復号されたデータエレメントに基づいてコンテキストを算出する手段と、
前記コンテキストを使用して、選択された予測信号の指示信号を復号する手段と、
前記指示信号に基づき、前記複数の予測信号から、前記選択された予測信号を選択する手段と、
差分データエレメントを復号する手段と、
前記選択された予測信号に前記差分データエレメントを加算して、前記データエレメントを得る手段と、
を備える装置。
【請求項55】
第1の予測信号及び第2の予測信号を記憶するためのメモリと、
前記メモリに接続された比較器であって、前記第1の予測信号と第2の予測信号を比較するための該比較器と、
前記比較器に接続されたコントローラであって、前記第1及び第2の予測信号が等しく且つ停止条件が満足されないときに、前記第2の予測信号を更新するための該コントローラと、
を備える予測信号生成器。
【請求項56】
第1の予測信号及び第2の予測信号を記憶するステップと、
前記第1の予測信号と第2の予測信号を比較するステップと、
前記第1及び第2の予測信号が等しく且つ停止条件が満足されない場合に、前記第2の予測信号を更新するステップと、
を含む方法。
【請求項1】
データエレメントを符号化する方法であって、
第1の複数の以前に符号化されたデータエレメントから複数の予測信号を算出するステップと、
第2の複数の以前に符号化されたデータエレメントに基づいてコンテキストを算出するステップと、
前記複数の予測信号の一つを選択して、選択された予測信号を得るステップと、
前記コンテキストを使用して、前記選択された予測信号の指示信号を符号化するステップと、
前記選択された予測信号と前記データエレメントとの間の差分データエレメントを符号化するステップと、
を含む方法。
【請求項2】
前記データエレメントは動きベクトルを含む、請求項1に記載の方法。
【請求項3】
前記複数の予測信号は二つの予測信号を含む、請求項1に記載の方法。
【請求項4】
前記二つの予測信号は、符号化されるデータエレメントに関連したブロックの第1の側に位置する第1のブロックに関連したデータエレメントに等しい第1の予測信号と、符号化されるデータエレメントに関連したブロックの第2の側に位置するブロックに関連したデータエレメントに等しい第2の予測信号とを含む、請求項3に記載の方法。
【請求項5】
前記データエレメントは動きベクトルである、請求項4に記載の方法。
【請求項6】
前記第1及び第2の側はそれぞれ、符号化されるデータエレメントを含むブロックの上側及び左側を構成する、請求項4に記載の方法。
【請求項7】
前記複数の予測信号は三つ以上の予測信号であり、該三つ以上の予測信号は、符号化されるデータエレメントに関連したブロックの第1の側に位置する第1のブロックに関連したデータエレメントに等しい第1の予測信号と、符号化されるデータエレメントに関連したブロックの第2の側に位置するブロックに関連したデータエレメントに等しい第2の予測信号と、前記第1ブロックの近傍に位置するブロックに関連したデータエレメントに等しい一つ以上の付加的な予測信号とを含む、請求項1に記載の方法。
【請求項8】
前記第1の複数の以前に符号化されたデータエレメントは、前記第2の複数の以前に符号化されたデータエレメントと異なる、請求項1に記載の方法。
【請求項9】
前記コンテキストは、近傍ブロックに関連したデータエレメントに基づく、請求項1に記載の方法。
【請求項10】
前記近傍ブロックは、符号化されるデータエレメントに関連したブロックの上に位置する第1のブロックと、符号化されるデータエレメントに関連したブロックの左に位置する第2のブロックと、該第2のブロックの上に位置する第3のブロックとを含む、請求項9に記載の方法。
【請求項11】
前記選択された予測信号と前記データエレメントとの間の差分データエレメントを符号化する前記ステップは、前記データエレメントから前記選択された予測信号を減算することを含む、請求項1に記載の方法。
【請求項12】
前記選択された予測信号の指示信号を符号化する前記ステップは、前記複数の予測信号が互いに異なる場合に発生する、請求項1に記載の方法。
【請求項13】
前記選択された予測信号の指示信号を符号化する前記ステップ及び差分データエレメントを符号化する前記ステップは、算術符号化器を使用して実行される、請求項1に記載の方法。
【請求項14】
データエレメントの入力に応答してゼロ以上のビットを出力する符号化器であって、
第1の複数の以前に符号化されたデータエレメントから複数の予測信号を生成するための予測信号生成器と、
第2の複数の以前に符号化されたデータエレメントに基づいてコンテキストを算出するためのコンテキスト生成器と、
前記複数の予測信号の一つを選択して、選択された予測信号を得るための予測信号選択器と、
前記複数の予測信号を比較するための予測信号比較器と、
前記選択された予測信号と前記データエレメントとの間の差分データエレメントを算出するための差分器と、
前記コンテキストを使用して前記選択された予測信号の指示信号を符号化し、前記差分データエレメントを符号化するエントロピー符号化器と、
を備える符号化器。
【請求項15】
前記データエレメントは動きベクトルを含む、請求項14に記載の符号化器。
【請求項16】
前記複数の予測信号は二つの予測信号を含む、請求項14に記載の符号化器。
【請求項17】
前記二つの予測信号は、符号化されるデータエレメントに関連したブロックの第1の側に位置する第1のブロックに関連したデータエレメントに等しい第1の予測信号と、符号化されるデータエレメントに関連したブロックの第2の側に位置するブロックに関連したデータエレメントに等しい第2の予測信号とを含む、請求項16に記載の符号化器。
【請求項18】
前記データエレメントは動きベクトルである、請求項17に記載の符号化器。
【請求項19】
前記第1及び第2の側はそれぞれ、符号化されるデータエレメントを含むブロックの上側及び左側を構成する、請求項17に記載の符号化器。
【請求項20】
前記複数の予測信号は三つ以上の予測信号であり、該三つ以上の予測信号は、符号化されるデータエレメントに関連したブロックの第1の側に位置する第1のブロックに関連したデータエレメントに等しい第1の予測信号と、符号化されるデータエレメントに関連したブロックの第2の側に位置するブロックに関連したデータエレメントに等しい第2の予測信号と、前記第1ブロックの近傍に位置するブロックに関連したデータエレメントに等しい一つ以上の付加的な予測信号とを含む、請求項14に記載の符号化器。
【請求項21】
前記第1の複数の以前に符号化されたデータエレメントは、前記第2の複数の以前に符号化されたデータエレメントと異なる、請求項14に記載の符号化器。
【請求項22】
前記コンテキストは、近傍ブロックに関連したデータエレメントに基づく、請求項14に記載の符号化器。
【請求項23】
前記近傍ブロックは、符号化されるデータエレメントに関連したブロックの上に位置する第1のブロックと、符号化されるデータエレメントに関連したブロックの左に位置する第2のブロックと、該第2ブロックの上に位置する第3のブロックとを含む、請求項22に記載の符号化器。
【請求項24】
前記差分器は、前記データエレメントから前記選択された予測信号を減算することによって、前記差分データエレメントを生成する、請求項14に記載の符号化器。
【請求項25】
前記エントロピー符号化器は、前記複数の予測信号が互いに異なる場合にのみ、前記選択された予測信号の指示信号を符号化する、請求項14に記載の符号化器。
【請求項26】
前記エントロピー符号化器は、算術符号化器を含む、請求項14に記載の符号化器。
【請求項27】
命令が記憶された一つ以上の記録可能な媒体を有する製造品であって、
システムによって実行されたときに、前記命令が該システムに、
第1の複数の以前に符号化されたデータエレメントから複数の予測信号を算出するステップと、
第2の複数の以前に符号化されたデータエレメントに基づいてコンテキストを算出するステップと、
前記複数の予測信号の一つを選択して、選択された予測信号を得るステップと、
前記コンテキストを使用して、前記選択された予測信号の指示信号を符号化するステップと、
前記選択された予測信号と前記データエレメントとの間の差分データエレメントを符号化するステップと、
を含む方法を実行させる製造品。
【請求項28】
第1の複数の以前に符号化されたデータエレメントから複数の予測信号を算出する手段と、
第2の複数の以前に符号化されたデータエレメントに基づいてコンテキストを算出する手段と、
前記複数の予測信号の一つを選択して、選択された信号を得る手段と、
前記コンテキストを使用して、前記選択された予測信号の指示信号を符号化する手段と、
前記選択された予測信号と前記データエレメントとの間の差分データエレメントを符号化する手段と、
を備える装置。
【請求項29】
データエレメントを復号するための方法であって、
第1の複数の以前に復号されたデータエレメントから複数の予測信号を算出するステップと、
第2の複数の以前に復号されたデータエレメントに基づいてコンテキストを算出するステップと、
前記コンテキストを使用して、選択された予測信号の指示信号を復号するステップと、
前記指示信号に基づいて、前記複数の予測信号から前記選択された予測信号を選択するステップと、
差分データエレメントを復号するステップと、
前記選択された予測信号に前記差分データエレメントを加算して、前記データエレメントを得るステップと、
を含む方法。
【請求項30】
前記複数の予測信号を比較するステップを更に含み、
選択された予測信号の指示信号を復号する前記ステップは、前記複数の予測信号が互いに異なる場合にだけ発生する、請求項29に記載の方法。
【請求項31】
前記データエレメントは動きベクトルを含む、請求項29に記載の方法。
【請求項32】
前記複数の予測信号は二つの予測信号を含む、請求項29に記載の方法。
【請求項33】
前記二つの予測信号は、復号されるデータエレメントに関連したブロックの第1の側に位置する第1のブロックに関連したデータエレメントに等しい第1の予測信号と、復号されるデータエレメントに関連したブロックの第2の側に位置するブロックに関連したデータエレメントに等しい第2の予測信号とを含む、請求項32に記載の方法。
【請求項34】
前記データエレメントは動きベクトルである、請求項33に記載の方法。
【請求項35】
前記第1及び第2の側はそれぞれ、復号されるデータエレメントを含むブロックの上側及び左側を含む、請求項33に記載の方法。
【請求項36】
前記複数の予測信号は三つ以上の予測信号であり、該三つ以上の予測信号は、符号化されているデータエレメントに関連したブロックの第1の側に位置する第1のブロックに関連したデータエレメントに等しい第1の予測信号と、符号化されているデータエレメントに関連したブロックの第2の側に位置するブロックに関連したデータエレメントに等しい第2の予測信号と、前記第1ブロックの近傍に位置するブロックに関連したデータエレメントに等しい一つ以上の付加的な予測信号とを含む、請求項29に記載の方法。
【請求項37】
前記第1の複数の以前に復号されたデータエレメントは、前記第2の複数の以前に復号されたデータエレメントと異なる、請求項29に記載の方法。
【請求項38】
前記コンテキストは、近傍ブロックに関連したデータエレメントに基づく、請求項29に記載の方法。
【請求項39】
前記近傍ブロックは、符号化されているデータエレメントに関連したブロックの上に位置する第1のブロックと、符号化されているデータエレメントに関連したブロックの左に位置する第2のブロックと、該第2ブロックの上に位置する第3のブロックとを含む、請求項38に記載の方法。
【請求項40】
前記選択された予測信号の指示信号を復号するステップ及び差分データエレメントを復号する前記ステップは、算術復号器を使用して実行される、請求項29に記載の方法。
【請求項41】
データエレメントを表わすゼロ以上のビットの入力に応答してデータエレメントを出力するための復号器であって、
第1の複数の以前に復号されたデータエレメントから複数の予測信号を算出するための予測信号生成器と、
第2の複数の以前に復号されたデータエレメントに基づいてコンテキストを算出するためのコンテキスト生成器と、
前記コンテキストを使用して、選択された予測信号の指示信号を復号し、且つ、差分データエレメントを復号するエントロピー復号器と、
前記指示信号に基づいて、前記複数の予測信号から前記選択された予測信号を選択するための予測信号選択器と、
前記選択された予測信号に前記差分データエレメントを加算して、前記データエレメントを得るための加算器と、
を備えた復号器。
【請求項42】
前記複数の予測信号を比較するための比較器を更に備え、
前記エントロピー復号器は、前記複数の予測信号が互いに異なることを前記比較器が指示する場合に前記選択された予測信号の指示信号を復号する、請求項41に記載の復号器。
【請求項43】
前記データエレメントは動きベクトルを含む、請求項41に記載の復号器。
【請求項44】
前記複数の予測信号は二つの予測信号を含む、請求項41に記載の復号器。
【請求項45】
前記二つの予測信号は、復号されるデータエレメントに関連したブロックの第1の側に位置する第1のブロックに関連したデータエレメントに等しい第1の予測信号と、復号されるデータエレメントに関連したブロックの第2の側に位置するブロックに関連したデータエレメントに等しい第2の予測信号とを含む、請求項44に記載の復号器。
【請求項46】
前記データエレメントは動きベクトルである、請求項45に記載の復号器。
【請求項47】
前記第1及び第2の側はそれぞれ、復号されるデータエレメントを含むブロックの上側及び左側を含む、請求項45に記載の復号器。
【請求項48】
前記複数の予測信号は三つ以上の予測信号であり、該三つ以上の予測信号は、符号化されているデータエレメントに関連したブロックの第1の側に位置する第1のブロックに関連したデータエレメントに等しい第1の予測信号と、符号化されているデータエレメントに関連したブロックの第2の側に位置するブロックに関連したデータエレメントに等しい第2の予測信号と、前記第1のブロックの近傍に位置するブロックに関連したデータエレメントに等しい一つ以上の付加的な予測信号とを含む、請求項41に記載の復号器。
【請求項49】
前記第1の複数の以前に復号されたデータエレメントは、前記第2の複数の以前に復号されたデータエレメントと異なる、請求項41に記載の復号器。
【請求項50】
前記コンテキストは、近傍ブロックに関連したデータエレメントに基づく、請求項41に記載の復号器。
【請求項51】
前記近傍ブロックは、符号化されているデータエレメントに関連したブロックの上に位置する第1のブロックと、符号化されているデータエレメントに関連したブロックの左に位置する第2のブロックと、該第2ブロックの上に位置する第3ブロックとを含む、請求項50に記載の復号器。
【請求項52】
前記エントロピー復号器は算術復号器を含む、請求項41に記載の復号器。
【請求項53】
命令が記憶された一つ以上の記録可能な媒体を有する製造品であって、
システムによって実行されたときに、前記命令が該システムに、
第1の複数の以前に復号されたデータエレメントに基づいて複数の予測信号を算出するステップと、
第2の複数の以前に復号されたデータエレメントに基づいてコンテキストを算出するステップと、
前記コンテキストを使用して、選択された予測信号の指示信号を復号するステップと、
前記指示信号に基づき、前記複数の予測信号から、前記選択された予測信号を選択するステップと、
差分データエレメントを復号するステップと、
前記選択された予測信号に前記差分データエレメントを加算して、前記データエレメントを得るステップと、
を含む方法を、実行させる製造品。
【請求項54】
第1の複数の以前に復号されたデータエレメントに基づいて複数の予測信号を算出する手段と、
第2の複数の以前に復号されたデータエレメントに基づいてコンテキストを算出する手段と、
前記コンテキストを使用して、選択された予測信号の指示信号を復号する手段と、
前記指示信号に基づき、前記複数の予測信号から、前記選択された予測信号を選択する手段と、
差分データエレメントを復号する手段と、
前記選択された予測信号に前記差分データエレメントを加算して、前記データエレメントを得る手段と、
を備える装置。
【請求項55】
第1の予測信号及び第2の予測信号を記憶するためのメモリと、
前記メモリに接続された比較器であって、前記第1の予測信号と第2の予測信号を比較するための該比較器と、
前記比較器に接続されたコントローラであって、前記第1及び第2の予測信号が等しく且つ停止条件が満足されないときに、前記第2の予測信号を更新するための該コントローラと、
を備える予測信号生成器。
【請求項56】
第1の予測信号及び第2の予測信号を記憶するステップと、
前記第1の予測信号と第2の予測信号を比較するステップと、
前記第1及び第2の予測信号が等しく且つ停止条件が満足されない場合に、前記第2の予測信号を更新するステップと、
を含む方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公表番号】特表2007−525100(P2007−525100A)
【公表日】平成19年8月30日(2007.8.30)
【国際特許分類】
【出願番号】特願2006−517831(P2006−517831)
【出願日】平成16年6月29日(2004.6.29)
【国際出願番号】PCT/US2004/021257
【国際公開番号】WO2005/006256
【国際公開日】平成17年1月20日(2005.1.20)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
【出願人】(392026693)株式会社エヌ・ティ・ティ・ドコモ (5,876)
【Fターム(参考)】
【公表日】平成19年8月30日(2007.8.30)
【国際特許分類】
【出願日】平成16年6月29日(2004.6.29)
【国際出願番号】PCT/US2004/021257
【国際公開番号】WO2005/006256
【国際公開日】平成17年1月20日(2005.1.20)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
【出願人】(392026693)株式会社エヌ・ティ・ティ・ドコモ (5,876)
【Fターム(参考)】
[ Back to top ]