(57)【要約】      （修正有）【課題】増加された圧縮効率、削減されたオーバーヘッドおよびより小さなエンコードされたビットストリームを示すビデオデータをエンコード（および復号化）する。【解決手段】対応するエンコーダは、符号化されたビットストリームを、オーバーヘッドの大幅な低減を以って生成することが可能である。この生成工程は、画像に固有の構造情報（例えば、画像セグメント化、ジオメトリ、色および／または明度）に基づいて参照フレーム（１０２）を符号化し、次いでこの構造情報に相対する他のフレームを予測することにより、行なわれる。典型的には、予測されたフレームの詳細は、動力学情報（例えば、セグメントモーションデータおよび／または以前に塞がれた領域中の情報を表す関連残余部、ならびに／または不正確なマッチングおよび新規情報の外観、または、モーションそのものにより獲得されないセグメント展開の一部分等）を含む。【選択図】図１
2011142663.tif 000002
【特許請求の範囲】
【請求項１】
映像情報を符号化し、該映像情報を復号化するコーデックであって、該映像情報は、複数のフレームを含み、フレームは、該映像情報の画像を表し、
ａ）第１のフレームおよび第２のフレームを含む前記映像情報を受信するように動作可能な入力と、
ｂ）前記第１のフレームをセグメント化するように動作可能なセグメンタであって、該第１のフレームのセグメントは、画素値または画像内容に基づく前記第１のフレームの画素とセグメントとの関連付けを表す、セグメンタと、
ｃ）前記第１のフレームから前記第２のフレームへの画像セグメントの位置の変化を表す動力学情報を生成するように動作可能な動力学情報生成器と、
ｄ）前記第１のフレームを符号化して、第１の符号化フレームを形成する論理と、
ｅ）前記第２のフレームを符号化して、第２の符号化フレームを形成する論理であって、該第２の符号化フレームは、前記動力学情報のうちの少なくとも一部を含む、論理と、
を備えるエンコーダと、
ａ）前記第１の符号化フレームおよび前記第２の符号化フレームを受信する入力と、
ｂ）前記第１の符号化フレームを復号化して、第１の再構築されたフレームを形成する論理と、
ｃ）前記第１の再構築されたフレームの少なくとも一部をセグメント化して複数のセグメントを生成するように動作可能なセグメンタと、
ｄ）前記デコーダの前記セグメンタによって生成された前記セグメント化と、前記第２の符号化フレームにおいて符号化された前記動力学情報の前記少なくとも一部とを用いて、該第２の符号化フレームを復号化して第２の再構築されたフレームを形成する論理と、
を備えるデコーダ
を備え、
前記セグメンタは、マルチスケールグループ化を用いて、少なくとも１つのセグメントを、該セグメントより小さなセグメントのグループから形成するように構成され、該より小さなセグメントの各々は、疎なスケールでは不可視であるが、グループ化されると可視状態となる、コーデック。
【請求項２】
映像情報を符号化するエンコーダであって、該映像情報は、少なくとも複数のフレームを含み、各フレームは、該映像情報の画像を表し、
少なくとも第１のフレームおよび第２のフレームを含む映像情報を受信する入力部と、
前記第１のフレームを符号化して、第１の符号化フレームを形成する論理と、
第１の再構築されたフレームを判定する論理であって、該第１の再構築されたフレームは、前記第１の符号化フレームの復号化から得られるフレームである、論理と、
少なくとも前記第１の再構築されたフレームをセグメント化して複数のセグメントを生成するセグメンタであって、セグメント化は、少なくとも画素値または画像内容に基づくフレームの画素とセグメントとの関連付けを表す、セグメンタと、
前記第１の再構築されたフレームと前記第２のフレームとの間のセグメントの位置の変化を表す動力学情報を生成する動力学情報生成器と、
前記第２のフレームを符号化して、第２の符号化フレームを形成する論理であって、該第２の符号化フレームは、前記動力学情報の少なくとも一部を含み、かつ、前記第２のフレームが、前記第１の再構築されたフレームについて前記デコーダによって生成されたセグメント化情報を用いて、前記第２の符号化フレームから再構築可能となるように符号化される、論理
を備えるエンコーダであって、
前記セグメンタは、マルチスケールグループ化を用いて、少なくとも１つのセグメントを、該セグメントより小さなセグメントのグループから形成するように構成され、該より小さなセグメントの各々は、疎なスケールでは不可視であるが、グループ化されると可視状態となる、エンコーダ。
【請求項３】
前記第２のフレームを符号化する差異論理を前記論理内にさらに備え、該差異論理は、前記第１の再構築されたフレームのセグメント化と前記第２のフレームのセグメント化との間の差異からなる残余部情報を用いるように動作可能である、請求項２に記載のエンコーダ。
【請求項４】
映像情報を復号化するデコーダであって、該映像情報は、少なくとも複数のフレームを含み、各フレームは、該映像情報の画像を表し、
第１の符号化フレームおよび第２の符号化フレームを受信する入力と、
前記第１の符号化フレームを復号化して、第１の再構築されたフレームを形成する論理と、
少なくとも前記第１の再構築されたフレームをセグメント化して複数のセグメントを生成するセグメンタと、
前記デコーダのセグメンタによって生成されたセグメント化と、前記第２の符号化フレームにおいて符号化された動力学情報の少なくとも一部とを用いて、前記第２の符号化フレームを復号して、第２の再構築されたフレームを形成する論理
を備えるデコーダであって、
前記セグメンタは、マルチスケールグループ化を用いて、少なくとも１つのセグメントを、該セグメントより小さなセグメントのグループから形成するように構成され、該より小さなセグメントの各々は、疎なスケールでは不可視であるが、グループ化されると可視状態となる、デコーダ。
【請求項５】
映像情報を符号化する方法であって、該映像情報は、複数のフレームを含み、各フレームは、該映像情報の画像を表し、
前記複数のフレーム中の第１のフレームを入手する工程と、
前記第１のフレームを符号化して符号化された第１のフレームを形成する行程と、
前記符号化された第１のフレームから前記第１のフレームを再構築して、再構築された第１のフレームを生成する行程と、
前記再構築された第１のフレームに関連するセグメント化情報を入手する工程と、
マルチスケールグループ化を用いて、少なくとも１つのセグメントを、該セグメントより小さなセグメントのグループから形成する行程であって、該より小さなセグメントの各々は、疎なスケールでは不可視であるが、グループ化されると可視状態となる、行程と、
前記複数のフレーム中の第２のフレームを入手する工程と、
前記第２のフレームを符号化する行程と、
前記第１のフレームおよび前記第２のフレームの動力学情報を計算する工程であって、該動力学情報は、前記第１のフレームおよび前記第２のフレームのセグメントに関連する、工程と、
前記動力学情報の少なくとも一部を含む符号化された映像情報を生成する工程であって、前記第２のフレームが、前記再構築された第１のフレームに関する前記セグメント化情報を用いて、前記符号化された第２のフレームから再構築可能となるように符号化される、工程と、
を含む方法。
【請求項６】
符号化された前記映像情報は、前記複数のフレーム中の他のフレームと独立して符号化された少なくとも１つのキーフレームを含む、請求項５に記載の方法。
【請求項７】
前記生成する工程は、セグメント化情報を入手する前記工程において判定されたセグメント境界に対する画像内容の位置に適応させることによって前記複数のフレームの画像内容を適応的に符号化する工程を含む、請求項５に記載の方法。
【請求項８】
映像情報を復号化する方法であって、該映像情報は、少なくとも複数のフレームを含み、各フレームは、該映像情報の画像を表し、該複数のフレームは、キーフレームとして指定されたフレームを少なくとも１つ含み、
符号化されたキーフレームを入手する工程と、
前記符号化されたキーフレームからキーフレームを再構築する工程と、
前記再構築されたキーフレームから該キーフレームに関するセグメント化情報を計算する工程であって、該セグメント化情報は、該キーフレームの画像内容に基づいて生成された該キーフレームの画像の複数のセグメントに関連する、工程と、
マルチスケールグループ化を用いて、少なくとも１つのセグメントを、該セグメントより小さなセグメントのグループから形成する行程であって、該より小さなセグメントの各々は、疎なスケールでは不可視であるが、グループ化されると可視状態となる、行程と、
符号化された中間フレームを入手する工程であって、該中間フレームは、前記キーフレームと前記中間フレームとの間のセグメントに関連する差異情報を含む、工程と、
前記動力学情報の少なくとも一部および前記セグメント化情報の少なくとも一部を用いて前記符号化された中間フレームから中間フレームを再構築する工程
を含む方法。
【請求項９】
映像情報の符号化方法であって、
映像情報の第１のフレームを符号化して符号化された第１のフレームを形成する行程であって、該映像情報は、複数のフレームを含み、各フレームは、該映像情報の画像を表す、行程と、
前記符号化された第１のフレームを再構築して、再構築された第１のフレームを形成する行程と、
前記再構築された第１のフレームをセグメント化して複数のセグメントを生成する行程と、
前記第１のフレームと前記映像情報の第２のフレームとの間のセグメントの位置の差異を少なくとも表すモーション情報を用いて前記第２のフレームを符号化する行程と、
符号化された前記映像情報に、前記複数のセグメント中の１つのセグメントに関連付けられたコマンドを組み込む行程
を含む方法。
【請求項１０】
映像情報の符号化方法であって、
映像情報の第１のフレームを符号化する行程であって、該映像情報は、少なくとも複数のフレームを含み、各フレームは、該映像情報の画像を表す、行程と、
前記符号化された第１のフレームを再構築して、再構築された第１のフレームを生成する行程と、
前記再構築された第１のフレームをセグメント化して複数のセグメントを生成する行程と、
前記第１のフレームに対する前記映像情報の第２のフレームの画像内容を示す一組の基底関数の係数を用いて前記第２のフレームを符号化する行程であって、前記一組の基底関数はセグメント化に関連する、行程と、
符号化された前記映像情報に、前記複数のセグメント中の１つのセグメントに関連付けられたコマンドを組み込む行程
を含む方法。
【請求項１１】
前記エンコーダのセグメンタおよび前記デコーダのセグメンタは、所与の画像フレームに対して同一のセグメント化を生成するように動作可能である、請求項１に記載のコーデック。
【請求項１２】
前記エンコーダは、前記第１のフレームについてのセグメント化増強情報を生成するための論理を含み、前記デコーダは、少なくとも前記第１の再構築されたフレームのセグメント化を生成する際に使用するための前記セグメント化増強情報を復号化する論理を含む、請求項１に記載のコーデック。
【請求項１３】
前記エンコーダのセグメンタおよび前記デコーダのセグメンタは、セグメントの順序付けされたリストを生成し、および、所与の画像フレームについて同じ順序付けされたリストを生成する、請求項１に記載のコーデック。
【請求項１４】
前記エンコーダのセグメンタおよびデコーダのセグメンタは、セグメントを分類し、および、所与の画像フレームについて同じグループ化を生成する、請求項１に記載のコーデック。
【請求項１５】
前記動力学情報は、複数のセグメントのグループに関連付けられたグループ動きベクトル、及び、該グループ内のセグメントに関連付けられた少なくとも１つの動きベクトルオフセットを含み、該少なくとも１つの動きベクトルオフセットは、前記グループの動きに対する前記セグメントの動きを表わす、請求項１に記載のコーデック。
【請求項１６】
映像情報の符号化方法であって、
映像情報の第１のフレームを符号化する行程であって、該映像情報は、少なくとも複数のフレームを含み、各フレームは、該映像情報の画像を表す、行程と、
前記符号化された第１のフレームを再構築して、再構築された第１のフレームを生成する行程と、
前記再構築された第１のフレームをセグメント化して複数のセグメントを生成する行程と、
マルチスケールグループ化を用いて、少なくとも１つのセグメントを、該セグメントより小さなセグメントのグループから形成する行程であって、該より小さなセグメントの各々は、疎なスケールでは不可視であるが、グループ化されると可視状態となる、行程と、
前記第１のフレームと前記映像情報の第２のフレームとの間の画像のセグメントの位置の差を少なくとも表わす情報を用いて、前記第２のフレームを符号化する行程と、
符号化された前記映像情報に、前記複数のセグメント中の１つのセグメントに関連付けられたコマンドを組み込む行程
を含む方法。
【請求項１７】
セグメントの位置の差を少なくとも表わす前記情報は、基底関数および動力学情報の少なくとも１つの適応可能な変換に基づく、請求項１６に記載の方法。
【請求項１８】
映像情報の符号化方法であって、
映像情報の第１のフレームを符号化する行程であって、該映像情報は、少なくとも複数のフレームを含み、各フレームは該映像情報の画像を表わす、行程と、
前記符号化された第１のフレームを再構築して、再構築された第１のフレームを生成する行程と、
前記再構築された第１のフレームをセグメント化して複数のセグメントを生成する行程と、
マルチスケールグループ化を用いて、少なくとも１つのセグメントを、該セグメントより小さなセグメントのグループから形成する行程であって、該より小さなセグメントの各々は、疎なスケールでは不可視であるが、グループ化されると可視状態となる、行程と、
前記第１のフレームに対する前記映像情報の第２のフレームの画像内容を記述する基底関数のセットに対する係数を用いて前記第２のフレームを符号化する行程であって、前記基底関数のセットはセグメント化に関連する、行程と、
符号化された前記映像情報に、前記複数のセグメント中の１つのセグメントに関連付けられたコマンドを組み込む行程
を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、１９９９年４月１７日に出願された米国仮特許出願第６０／１２９，８５３号、および１９９９年４月１７に出願された米国仮特許出願第６０／１２９，８５４号の優先権の利益を主張する。
【０００２】
（発明の分野）
本発明は、概してビデオデータの圧縮、より詳細には、動画データの効率的な送信および格納のための同期エンコーダおよびスマートデコーダシステムに関する。
【背景技術】
【０００３】
（発明の背景）
（１．簡略な導入）
消費者は、通信のより多くのビデオ集中モードを望むにつれて、限定された帯域幅の現在の通信モード（例えば、放送、ケーブル、電話回線など）は、値段が非常に高くなっている。インターネットの導入ならびにそれに続くワールドワイドウェブ、ビデオ会議、およびディジタルかつインタラクティブテレビの人気は、既存の帯域幅のより効率的利用法を要求する。さらに、ビデオ集中アプリケーションは、莫大な格納容量を要求する。ほとんどのコンピュータシステム上へのマルチメディア性能の到来は、ハードドライブなどの従来の格納デバイスを極端に酷使してきた。
【０００４】
圧縮することで、ディジタルな動画が効率的におよび安価に表され得る。圧縮による利点は、より多くの情報が所定の時間量内で送信されるか、または所定の格納メディア内に格納され得ることである。ビデオ圧縮の最終目標は、デコーダまたはレシーバが、テレビ、ビデオ会議などの具体的適用に適切な方法で、ビデオ画像シーケンスを再構成し得る十分な情報を保持しながら、ビデオシーケンスのビットストリーム、すなわちビデオ情報フローをできるだけ多く削減することである。
【０００５】
ほとんどのディジタル信号は、大量の冗長な無用の情報を含む。例えば、静止ビデオ場面は、各場面においてほぼ同一の画像を生成する。ほとんどのビデオ圧縮ルーチンは、無用な情報を除去しようとし、関連画像フレームが前の画像フレームによって表現され得、従って各ビデオフレームの全場面を送信する必要性をなくすことができる。あるいは、動画ＪＰＥＧのようなルーチンは、各ビデオフレームを別々に符号化し、時間的冗長性を無視する。
【０００６】
（２．従来の試み）
ビデオ画像を適切に圧縮する多くの試みがあった。これらの方法は、一般に次の２つのカテゴリに分類される：１）空間的冗長性削減、および２）時間的冗長性削減。
【０００７】
（２．１ 空間的冗長性削減）
最初のタイプのビデオ圧縮は、空間的冗長性の削減に焦点を当てる、すなわち画像フレーム中の重要な情報のより効率的描写を引き出すために、隣接したピクセル間の相互関係を利用することである。これらの方法は、より適切には、静止画像圧縮ルーチンと呼ばれる、なぜならこれらは個々のビデオ画像フレーム上でかなりうまく動作するが、セクション２．２で説明されるように時間的またはフレームからフレームへの冗長性の問題に対処しないからである。通常の静止画像圧縮方式は、ＪＰＥＧ、ウェーブレットおよびフラクタルを含む。
【０００８】
（２．１．１ ＪＰＥＧ／ＤＣＴに基づいた画像圧縮）
静止画像圧縮の最初の通常使用される方法の１つは、直接コサイン変換（ＤＣＴ）圧縮システムであった。これはＪＰＥＧの中心に位置する。
【０００９】
ＤＣＴは、各ディジタル画像フレームを一連のコサイン波またはコサイン周波数として表現することによって動作する。後で、コサイン級数の係数が量子化される。より高い周波数係数が、より低い周波数係数より厳しく量子化される。量子化の結果は、非常に多くのゼロ係数であり、非常に効率的にエンコードされ得る。しかし、ＪＰＥＧおよび類似の圧縮方式は、時間的冗長性という非常に重大な問題に対処しない。
【００１０】
（２．１．２ ウェーブレット）
ＤＣＴ圧縮方式に対するわずかな改良として、ウェーブレット変形圧縮方式が考案された。このシステムは、ＤＣＴに類似しているが、画像フレームが、一連のコサイン波の代わりに一連のウェーブレットすなわち電磁窓振幅として表されるという点で主に異なる。
【００１１】
（２．１．３ フラクタル）
別の技術がフラクタル圧縮として公知である。フラクタル圧縮の目標は、画像を取り込み、そして画像フレームを十分に表す１つの関数または１組の関数を決定することである。フラクタルは、異なるスケールまたは解像度において自己相似である物体である、すなわち人がどんな解像度で見ようと、物体は同じままである。理論的には、フラクタルで、単純な方程式が複雑な画像を表し得る場合に、非常に高圧縮比率が達成可能である。
【００１２】
残念なことには、フラクタル圧縮は、一般的圧縮の成功しそうな方法ではない。高圧縮比率は、特別に構成された画像のためにのみ、および圧縮プロセスを導く人間からかなりの助けがある場合のみ、達成可能である。さらに、フラクタル圧縮は、非常に計算集約型である。
【００１３】
（２．２ 時間的および空間的冗長性削減）
適切な動画圧縮は、ビデオを含むフレームのシーケンス内の時間的および空間的両方の冗長性の削減を必要とする。時間的冗長性除去は、ビットストリームから前の画像フレームにおいてすでに符号化された情報の除去に関する。ブロックマッチングは、時間的冗長性除去の現在最も使用されている効果的な方法についての基礎である。
【００１４】
（２．２．１ ブロックに基づいた動き推定）
ブロックマッチングにおいて、画像は、均一の大きさのブロック（より一般的には、ポリゴン）へ細分され、そして各ブロックは、ブロックが再符号化され２回目のためにビットストリームへ置かれる代わりに、１つのフレームから次のフレームへ追跡され、そして動きベクトルによって表される。ブロックマッチングを使用する圧縮ルーチンの例は、ＭＰＥＧおよびその改変を含む。
【００１５】
ＭＰＥＧは、いわゆるイントラフレーム、つまりＩフレームとして、全体的に一連の関連フレームの中の第一のフレームをエンコードする。Ｉフレームは、キーフレームの１タイプであり、完全に自己完結型であり、他のいかなる画像フレームと関連して表されない画像フレームを意味する。Ｉフレームを生成するために、ＭＰＥＧは、フレームを１６ピクセル×１６ピクセルの四角のブロックに分けることを含めて、第一のフレーム上に静止画像圧縮を行う。他の（いわゆる「予測される」）フレームは、Ｉフレームのブロックに関連する他のフレームの相当するブロックを予測することによってＩフレームに関してエンコードされる。すなわち、ＭＰＥＧは、他のフレーム内のＩフレームの各ブロックを見つけようと試みる。他のフレームになお存在する各ブロックに対して、ＭＰＥＧは、情報を特定するブロックとともに、ブロックの動きベクトル、つまり運動を送信する。しかし、ブロックはフレームからフレームへと移動するために、わずかに変化し得る。Ｉフレームに関連した違いは、残余部として知られている。さらに、ブロックが移動するために、前に隠れていた領域が初めて目に見えるようになり得る。これらの前に隠れていた領域も、残余部として知られている。すなわち、ブロックの動きが送信される後の集合的な残りの情報は、残余部として知られており、ＪＰＥＧを使用してコード付けされ、画像フレームを完成するためにレシーバに送信される。
【００１６】
その後のフレームは、Ｉフレームのブロックまたは前の予測されたフレームのいずれかに関して予測される。さらに、予測は、２方向であり得る、すなわち、前のＩフレームおよび後のＩフレームの両方または予測されたフレームに関してである。予測プロセスは、新しいキーフレームが挿入されるまで続き、挿入された点で新しいＩフレームがエンコードされ、そしてプロセスは繰り返す。
【００１７】
最新技術であるけれど、ブロックマッチングは、非常に非効率的であり、既知の物理的特性または画像に本来備わっている他の情報を利用できない。ブロック方法は、任意かつおおざっぱである。なぜならブロックは画像内の実物体と何の関係も有さないからである。所定のブロックは、物体の一部、物体の全部、または関係のない動きを有する複数の異なる物体さえも含み得る。さらに、近辺の物体は、類似の動きを有することがよくある。しかし、ブロックは、実物体に相当しないために、ブロックに基づいたシステムは、ビットストリームをさらに削減するためにこの情報を使用し得ない。
【００１８】
しかしブロックに基づいたマッチングの別の主な制約が生じる。なぜならブロックに基づいたマッチングによって生成される残余部は、一般的にノイジーがあり、不統一であるからである。従って、ブロックに基づいた残余部は、ＤＣＴ、ウェーブレット、またはフラクタルなどの標準画像圧縮方式を介しての良好な圧縮には向いていない。
【００１９】
（２．３ 代替物）
最新技術は、具体的にはブロックに基づいた方法が極めて非効率であり、動画情報についての最適に圧縮されたビットストリームを生成しない点で、改良が必要であることが十分理解される。その目的に対して、ＭＰＥＧ４などの最新の圧縮方式が、任意の大きさのブロックを単に使用するのではなく、利用可能であれば、フレーム内の選択された項目の制限された構造的情報を含み得る。いくつかの圧縮利得が達成されているが、関連したオーバーヘッド情報は、実質的に増加している。なぜなら動きおよび残余部情報に加えて、これらの方式は、フレーム内の各物体についての構造的または形の情報もレシーバに送信する必要があると要求するからである。以上のことであるのは、すべての現在の圧縮方式は、ダムレシーバ−画像の構造をそれ自体で決定し得ないレシーバ−を使用するからである。
【００２０】
さらに、上記で述べたように、現在の圧縮方法は、他のより効率的な方法が可能であるかどうかを判定しようと試みることなく、固定の圧縮技術を使用するＪＰＥＧによって圧縮される単なる別の画像フレームとして残余部を扱う。
【発明の概要】
【発明が解決しようとする課題】
【００２１】
（３． 本発明の利点）
本発明は、ビデオ圧縮の問題に関する様々な利点を提供する。上記で記載したように、ビデオ圧縮の目標は、ビデオフレームのシーケンスを最小のビットストリームつまりビデオ情報フローで正確に表すことである。前に述べたように、上記の空間的冗長性削減方法は、動画圧縮には不適切である。さらに、ＭＰＥＧなどの現在の時間的および空間的冗長性削減方法は、多くのオーバーヘッド情報を送信する必要によって貴重なビットストリームのスペースを無駄使いする。
【００２２】
従って、増加された圧縮効率、削減されたオーバーヘッドおよびより小さなエンコードされたビットストリームを示すビデオデータをエンコード（および復号化）するための改良された技術に対する必要がある。
【課題を解決するための手段】
【００２３】
（発明の要旨）
ディジタル動画の圧縮は、関連したビデオフレームのシーケンス内に含まれる、空間的および時間的両方の無用なまたは冗長な情報が削減されるプロセスである。ビデオ圧縮によって、目に見える十分な方法で再構成される性能を保持しながら、フレームのシーケンスが、削減されたビットストリームつまりデータフローによって表され得る。
【００２４】
ビデオ圧縮の従来の方法は、デコーダを最小限に使用しながら、エンコーダに（例えば、計算のおよび／または送信の）圧縮負荷の多くを課している。従来のビデオエンコーダ／デコーダシステムにおいて、デコーダは「ダム」つまり受動的である。エンコーダは、すべての計算を行い、デコーダにその決定を伝え、次に各画像の再構成についての命令と共に、エンコーダへビデオデータを送信する。
【００２５】
対照的に、本発明は、他の方法ではエンコーダに要求される送信および命令負荷の多くを行う「スマート」つまりアクティブデコーダを含む。従ってオーバーヘッドを削減し、結果的にはるかに小さなエンコードされたビットストリームとなる。従って、本発明の相当する（すなわち、互換性のある）エンコーダは、非常に削減されたオーバーヘッドでエンコードされたビットストリームを生成し得る。このことは、画像に本来備わっている構造的情報（例えば、画像セグメント化、幾何学的構造、色、および／または輝度）に基づいてレファレンスフレームをエンコードし、次に構造的情報に関連する他のフレームを予測することによって達成される。典型的には、予測されるフレームの説明は、基となるレファレンスフレームから相当する構造（例えば、画像セグメント）の運動を表す（例えば、セグメントの動きデータ、および／または前にふさがれた領域を取り出す結果生じる関連した残余部、および／または不正確なマッチング、および新しい情報の露出、などの）運動情報を含む。デコーダは、予測されるフレームの基となる構造的情報（およびそれらの間の関係）を独立して判定し得るために、そのような情報は、デコーダに明白に通信される必要はない。そうではなく、エンコーダは、デコーダがそれ自身で判定し得ないとエンコーダが知っている情報を送信する必要があるだけである。
【００２６】
本発明の別の局面または実施形態において、デコーダおよびエンコーダの両方は、関連した画像の前のシーケンスに基づいて後の画像について同じ予測をし、そして（構造的情報それ自体ではなく、または加えて）これらの予測は、後の画像の実際の値をエンコードするための基礎として使用される。従って、エンコーダは、予測値と実際の値との間の差を送信し得るだけで、このことによってもまたビットストリームは削減される。
【００２７】
本発明のさらに他の局面または実施形態において、デコーダは、セグメントの順序づけまたはセグメントの連関付け／分離に関するエンコーダによって行われる決定を再生し得、それによりそのような決定はデコーダに送信される必要がなくなる。
【００２８】
本発明のさらに別の局面または実施形態において、エンコーダは、様々な圧縮技術を使用して予測をエンコードし、そしてデコーダに相当する解凍技術を使用するように命令し得る。
【００２９】
本発明の前述および他の局面および実施形態は、以下にさらに詳細に記載される。
【図面の簡単な説明】
【００３０】
【図１】図１は、本発明の１実施形態によるエンコーダのブロック図である。
【図２】図２は、本発明の１実施形態によるエンコーダの動作を示すフローチャートである。
【図３】図３は、本発明の１実施形態によるデコーダのブロック図である。
【図４】図４は、本発明の１実施形態によるデコーダの動作を示すフローチャートである。
【図５ａ】図５ａは、本発明の１実施形態によるコーデックのブロック図である。
【図５ｂ】図５ｂは、本発明の１実施形態によるコーデックのブロック図である。
【図６】図６は、本発明の１実施形態によるコーデックの動作を示すフローチャートである。
【図７】図７は、レファレンスフレームの図である。
【図８】図８は、本発明の１実施形態によるエンコーダがレファレンスフレームを最初に処理する手順を示すフローチャートである。
【図９】図９は、本発明の１実施形態によるエンコーダが再構成されたレファレンスフレームをセグメント化する手順を示すフローチャートである。
【図１０】図１０は、本発明の１実施形態によるセグメント化の図である。
【図１１】図１１は、本発明の１実施形態による動きマッチングの図である。
【図１２】図１２は、本発明の１実施形態によるエンコーダがグループ化が行われるかどうかを判定する手順を示すフローチャートである。
【図１３】図１３は、本発明の１実施形態による動きベクトルグループ化を示すフローチャートである。
【図１４】図１４は、本発明の１実施形態による動き予測を示すフローチャートである。
【図１５】図１５は、本発明の１実施形態による動きマルチスケールグループ化を示すフローチャートである。
【図１６】図１６は、セグメントの動きに起因して前に隠れていた領域が見えるようになる図である。
【図１７】図１７は、本発明の１実施形態による前に隠れていた情報の構造を予測する手順を示すフローチャートである。
【図１８】図１８は、ローカル残余部の図である。
【図１９】図１９は、本発明の１実施形態によるローカル残余部をエンコードすることを示すフローチャートである。
【図２０】図２０は、本発明の１実施形態によるコマンドを埋め込むための手順を示すフローチャートである。
【図２１】図２１は、本発明の１実施形態によるフレームを送信するための手順を示すフローチャートである。
【図２２】図２２は、本発明の１実施形態によるデコーダがレファレンスフレームを受け取るプロセスを示すフローチャートである。
【図２３】図２３は、本発明の１実施形態によるデコーダによるセグメント化を示すフローチャートである。
【図２４】図２４は、本発明の１実施形態によるデコーダが動き関連情報を受け取る手順を示すフローチャートである。
【図２５】図２５は、本発明の１実施形態によるデコーダがグループ化が行われ得るかどうかを判定する手順を示すフローチャートである。
【図２６】図２６は、本発明の１実施形態によるデコーダが動きベクトルグループ化を行う手順を示すフローチャートである。
【図２７】図２７は、本発明の１実施形態によるデコーダがバックグラウンド残余部を処理する手順を示すフローチャートである。
【図２８】図２８は、本発明の１実施形態によるデコーダがローカル残余部を処理する手順を示すフローチャートである。
【図２９】図２９は、本発明の１実施形態によるコマンドを埋め込むための手順を示すフローチャートである。
【図３０】図３０は、本発明の１実施形態によるユーザ駆動型イベントを扱う手順を示すフローチャートである。
【発明を実施するための形態】
【００３１】
（具体的な実施形態の説明）
（１．概要）
以下のセクションは、エンコーダ、デコーダ、および構造情報（本実施形態において以後「セグメント」と呼ぶ）を使用して、本実施形態に特定の詳細であるが、本発明の別の実施形態において必ずしも必要ではない特定の詳細を含む本発明の１実施形態の記載を提供する。
【００３２】
（１．１ エンコーダ）
図１は、図３、図４を参照しながら後に記載されるように、互換可能なデコーダとともに用いるための例示的なエンコーダのブロック図であり、図２は、図１のエンコーダの操作の概要である。ステップ２０１において、エンコーダ１００は、第１の（例えば、参照）画像フレームを取得する。ステップ２０２において、エンコーダ１００の機能ブロック１０２は、ステップ２０１からの画像フレームをエンコードする。ステップ２０３において、ステップ２０２からエンコードされた画像が、デコーダが画像を再構築するのと同じやり方にて、エンコーダ１００の機能ブロック１０３によって再構築される。ステップ２０４において、エンコーダ１００の機能ブロック１０４は、セグメント化、すなわち再構築された画像からの構造的な情報を取得し、そのセグメントはセグメントの動力学（例えば、運動および／または残余部データ）の観点から以後のフレームを予測するための基礎として使用する。当業者は、本明細書において詳細に記載される必要のない、エッジ検出、エッジリンキング、領域併合、またはウォーターシェッド方法（ｗａｔｅｒｓｈｅｄ ｍｅｔｈｏｄ）などの技術を使用して、画像のセグメント化をいかに実行するかを容易に理解する。あるいは、ステップ２０３が飛び越され、エンコーダがステップ２０１からのオリジナルの参照画像フレームをセグメント化する。これは、セグメント再構築ステップを排除することで、エンコーダの効率をいくらか上げると同時に、デコーダで再構築された画像にさらに十分に類似した画像を予測するための基礎を提供して、重大な誤りを回避する。ステップ２０５において、ステップ２０４で判定されたセグメントは、デコーダがそのセグメントを順序化するのと同じやり方で、エンコーダ１００の機能ブロック１０５によって順序化される。１実施形態において、エンコーダおよびデコーダ双方に知られる、予め決められた標準的な順序化スキームに従って実行される。
【００３３】
ステップ２０６において、エンコーダ１００の機能ブロック１０６は、セグメント化された参照フレームに対応してエンコードされるべき新しい（例えば、第２の）画像フレームを取得する。ステップ２０７において、ステップ２０４で生成されたセグメントのそれぞれに関する運動関連情報は、運動マッチングによってエンコーダ１００の機能ブロック１０７によって判定される。すなわち、運動マッチングは、一方のフレームから他方のフレームまでの画像セグメントのロケーションの変化を判定するプロセスである。運動マッチングは、前方、後方および／またはシーケンシャルでないフレームに対し、適応され得る。
【００３４】
ステップ２０８において、エンコーダ１００の機能ブロック１０８は、運動関連情報をエンコードする。
【００３５】
ステップ２０９において、ステップ２０８からの運動関連情報に基づいて、参照フレームにおける以前には隠れていた領域（以後、バックグラウンド残余部と呼ぶ）が、新しいフレームで露出し得る。ステップ２１０において、エンコーダ１００の機能ブロック１１０は、デコーダが共通の予め決められた標準的な順序化スキームを使用して、順序化するのと同じやり方にてバックグラウンド残余部を順序化する。ステップ２１１において、エンコーダ１００は、直線技術、多項式技術、または他の推定的な技術などの技術を使用して、既知のセグメント値から外挿することによって、バックグラウンド残余部のそれぞれを補充しようとする。補充はまた、新しく露出した領域を囲むセグメントの順序化または階層に関する情報を考慮することによって支援される。セグメントの順序化はＺ順序化として知られる深さ情報を定義する。例えば、画像が図７の車の運動の航空写真である場合、車を表すセグメントの運動によって露出する領域（セグメント７１）は、車の下にある道路（セグメント７２）を表すセグメントに基づいて予測され得る。ステップ２１２において、エンコーダは、各バックグラウンド残余部領域の実際値および予測値の差を判定する。
【００３６】
以前には塞がれていた領域の露出によって生じるバックグラウンド残余部に付け加え、ローカル残余部も存在し得る。ローカル残余部は、例えば不正確なマッチングおよび新しい情報の露出に関連する。それ故、セグメントの全体的な完全な記述は、運動データおよび残余部データ（バックグラウンドおよびローカルの双方）の考察を含み、そのすべてが、反動速度論情報として集合的に示されるものとする。ステップ２１３において、エンコーダは、セグメント運動関連情報から、第２画像フレームのローカル残余部領域を判定する。ステップ２１４において、エンコーダ１００の機能ブロック１１０は、デコーダが共通の予め決められた標準的な順序化スキームを使用して、順序化するのと同じやり方にてステップ１１３からのローカル残余部を順序化する。ステップ２１５において、エンコーダ１００の機能ブロック１１５は、ステップ２１２からのバックグラウンド残余部およびステップ２１３から得たローカル残余部をエンコードする。１実施形態において、エンコーディングは、デコーダによって即座に判定される特定の残余部構造に基づいて選択された多くの利用可能な技術の内の１つを使用し得る。
【００３７】
第２フレームの画像が残余部情報からの援助を用いて、主に運動関連情報から合理的に再構築され得る場合、ステップ２１６において、エンコーダは、以下の情報を直接的に（例えば、テレビ会議アプリケーションで）、または間接的に（例えば、後に再生する際に復号化されるべき記憶媒体に書き込んで）伝送する。（ａ）フレームがキーフレームではないことを示すフラグ、（ｂ）セグメントのための運動関連情報、（ｃ）必要ならばバックグラウンド残余部情報（随意、使用されるコーディング技術を示すフラグとともに）、および（ｄ）必要ならばローカル残余部情報（随意、使用されるコーディング技術を示すフラグとともに）。伝送後、エンコーダは、以前の参照フレームに関して、エンコードされるべき新しい（例えば、第３の）画像フレームを用いて、ステップ２０６で始まる、このサイクルを繰り返す。以前の参照フレームは、既存のキーフレームまたは非キーフレーム（すなわち、再構築されたビデオフレーム）であり得る。しかしながら、第２画像が残余部情報の援助を用いて、主に運動関連情報から合理的に再構築され得ない場合、ステップ２１７において、画像はキーフレームとしてエンコードされ、フレームがキーフレームであることを示すフラグとともに、デコーダに伝送される。伝送後、エンコーダは、ステップ２０３で始まる、このサイクルを繰り返す。
【００３８】
伝送はまた、機能ブロック１１８によって、フレームに関連付けられた任意の特定の命令の伝送を含み得る。
【００３９】
あるいは、図１および２に記載されるように、第１フレームのセグメントからの動力学情報を判定する代わりに、エンコーダは、第１フレームからの構造情報を使用し、第２フレームを記述するための基底関数または形成ブロックの最良の組を判定する。この組の基底関数は、デコーダが判定するものと同じ組であり、それ故に第２フレームの係数のみがエンコーダからデコーダへ伝送される必要がある。
【００４０】
（１．２ デコーダ）
図３は、図１および図２に記載されるように、互換可能なデコーダとともに使用する例示的なデコーダのブロック図であり、図４は、図３のデコーダの操作の概観である。ステップ４０１において、デコーダ３００の機能ブロック３０１は、エンコードされた画像フレーム（例えば、図２のステップ２０２において生成されたエンコードされた参照フレーム）を受信する。ステップ４０２において、ステップ４０１からのエンコードされた画像フレームは、エンコーダと同じやり方にて、デコーダ３００の機能ブロック３０２によって再構築される。ステップ４０３において、ステップ４０２からの再構築された画像フレームの構造情報は、エンコーダと同じやり方にて、デコーダ３００の機能ブロック３０３によって判定および順序化される。ステップ４０４において、デコーダは、以後の画像フレーム（例えば、エンコーダ記述子のステップ２０６を参照のこと）がキーフレームであるか否かを記述するエンコーダからフラグを受信する。キーフレームである場合、デコーダは、ステップ４０１へと戻る。キーフレームでない場合、デコーダはステップ４０５において継続する。
【００４１】
ステップ４０５において、デコーダ３００の機能ブロック３０５は、セグメントのための運動関連情報（例えば、運動および／または残余部データ）を受信する。ステップ４０６において、デコーダはステップ４０３において取得されるセグメント、およびステップ４０５において取得される動力学情報の運動の部分を使用して、以後の画像フレームを再構築し始める。
【００４２】
ステップ４０７において、ステップ４０４からの運動関連情報に基づいて、ステップ４０３で判定されたセグメントに関して、デコーダは、以前には隠れていた画像部分が、もしあれば、ここで露出するロケーションを判定する。これらは、バックグラウンド残余部ロケーションとして知られている。ステップ４０８において、ステップ４０７から計算されたバックグラウンド残余部ロケーションは、共通の予め決められた標準的なプロトコルを使用して、エンコーダによって順序化されるのと同じやり方にて順序化される。ステップ４０９において、エンコーダによって使用される技術と同じ予測を満たす技術タイプを使用して、バックグラウンド残余部ロケーション（例えば、バックグラウンド残余部情報を予測する）を補充することを試みる。ステップ４１０において、デコーダは、（予測されるバックグラウンド残余部情報に対応して）エンコードされたバックグラウンド残余部情報を受信し、さらにエンコーダ（図２、ステップ２１６（ｃ））からコーディング方法を表示するフラグを受信する。ステップ４１１において、デコーダ３００の機能ブロック３１１は、受信されたバックグラウンド残余部情報を復号化する。ステップ４１２において、予測される（計算された）バックグラウンド残余部情報が、もしあれば、受信されたバックグラウンド残余部情報に付け加えられ、全体的なバックグラウンド残余部情報を判定し、これは次いで第２画像フレームに追加される。
【００４３】
ステップ４１３において、ステップ４０４において受信された運動関連情報に基づいて、ステップ４０３で判定されたセグメントに関して、デコーダは、機能ブロック３１１において、ローカル残余部のロケーションを、もしあれば、判定する。ステップ４１４において、ローカル残余部ロケーションは、エンコーダが共通の予め決められた標準的な順序化スキームを使用して、順序化されるのと同じやり方にて順序化される。ステップ４１５において、デコーダは、エンコードされたローカル残余部情報、および各ローカル残余部ロケーションのための、コーディング方法を示すフラグを受信する。ステップ４１６において、デコーダはローカル残余部情報を復号化する。ステップ４１７において、復号化されたローカル残余部情報は第２フレームに付け加えられる。ステップ４１８において、デコーダ３００の機能ブロック３１８は、任意の特定の命令を受信し、その命令を第２フレームへ付け加える。ステップ４１９において、機能ブロック３１９は、第２フレームの再構築を完了する。
【００４４】
ステップ４２０において、さらなるフレームがあれば、ルーチンはステップ４０４で継続する。
【００４５】
あるいは、図３および４に記載されるように、第１フレームのセグメントから動力学情報を受信する代わりに、デコーダは、第１フレームからの構造的な情報を使用し、第２フレームを記述するための基底関数または形成ブロックの最良の組を判定する。この組の基底関数は、エンコーダが判定するものと同じ組であり、それ故にデコーダはこれらの基底関数の係数を受信し、再構築を開始することのみが必要である。
【００４６】
（１．３ エンコーダデコーダ）
前述のセクションは、エンコーダおよびデコーダを別々に記載しているが、エンコーダは互換可能なデコーダの存在を前提にし、且つ互換可能なデコーダによって復号化されるように画像をエンコードし、その逆も同様であるという点で、双方は密接に関連している。したがって、図２および４の種々のステップ間の相互関係を考慮することが有用である。したがって、図５は、本発明の例示的なエンコーダデコーダ（コーデック）アーキテクチャを示し、図６は、図５の例示的な（コーデック）の動作を示す。ステップ６０１において、エンコーダは、参照フレームを取得、エンコード、および伝送し、デコーダは参照フレームを受信する。ステップ６０２において、ステップ６０２からの参照フレームは、エンコーダおよびデコーダ双方によって再構築される。ステップ６０３において、参照フレームにおいて同一のセグメントがエンコーダおよびデコーダ双方によって判定される。ステップ６０４において、ステップ６０３からのセグメントはエンコーダおよびデコーダ双方によって同じ方法で順序化される。
【００４７】
ステップ６０５において、エンコーダは新しい画像フレームを取得する。ステップ６０６において、エンコーダはステップ６０３からのセグメントの運動関連情報を、ステップ６０５から得たフレームにマッチングする運動によって判定する。ステップ６０７において、エンコーダは運動関連情報をエンコードする。
【００４８】
ステップ６０８において、ステップ６０６からの運動関連情報に基づいて、エンコーダは、第２フレームに現在露出する、以前には隠れていた領域（バックグラウンド残余部ロケーション）のロケーションを判定する。ステップ６０９において、エンコーダは、バックグラウンド残余部ロケーションを順序化させる。ステップ６１０において、エンコーダは、バックグラウンド残余部領域における画像を数学的に予測することを試みる。ステップ６１１において、エンコーダは、数学的予測が正しいか否かを、予測と実際のバックグラウンド残余部情報との差に基づいて判定する。エンコーダは、必要ならば追加のバックグラウンド残余部情報が計算されるように、この違いを送信する。
【００４９】
ステップ６１２において、ステップ６０６からの運動関連情報に基づいて、エンコーダは、ローカル残余部の構造情報を判定する。ステップ６１３において、ステップ６１２からのローカル残余部の構造的な情報は、エンコーダによって順序化される。ステップ６１４において、エンコーダはローカル残余部をエンコードする。
【００５０】
ステップ６１５において、エンコーダは伝送し、デコーダはステップ６０１において伝送されそして受信されたフレームが、動力学（運動および残余部）情報を使用して表示されるべきか、またはキーフレームとして表示されるべきかを識別するフラグを受信する。キーフレームの場合、システムはステップ６０１に戻る。キーフレームでない場合には、システムはステップ６１６において続行する。
【００５１】
ステップ６１６において、エンコーダは伝送し、デコーダはエンコーダからのセグメント運動関連情報を受信する。ステップ６１７において、デコーダは、ステップ６０８および６０９においてエンコーダが行ったやり方と同じやり方にて、バックグラウンド残余部ロケーションを判定および順序化する。ステップ６１８において、デコーダは、エンコーダがバックグラウンド残余部に関してステップ６１０にて行った予測と同じ予測を行う。ステップ６１９において、もしあれば、ローカル残余部情報を、およびコーディングスキームを表示するフラグを、エンコーダは伝送し、デコーダは受信する。ステップ６２０において、デコーダは、ステップ６１２および６１３において、エンコーダが行ったやり方と同じやり方にて、ローカル残余部情報を判定および順序化する。ステップ６２１において、ローカル残余部情報およびコーディングスキームを表示するフラグを、エンコーダは伝送し、デコーダは受信する。ステップ６２２において、特定の命令を、もしあれば、エンコーダは伝送し、デコーダは受信する。ステップ６３２において、動力学情報に基づいて、エンコーダおよびデコーダ双方がフレームを同様に再構築する。ステップ６２４において、追加のフレームがエンコードされる場合、ステップ６２２で再構築されたフレームは参照フレームとなり、ルーチンがステップ６０５で継続する。
【００５２】
あるいは、エンコーダデコーダシステムは、第１フレームのセグメントからの動力学情報を利用する代わりに、エンコーダデコーダは第１フレームからの構造的な情報を使用し、第２フレームを記述するための基底関数または形成ブロックの最良の組を判定する。エンコーダおよびデコーダ双方は別々にこれらの基底関数を判定し、それ故に基底関数の係数のみが伝送される必要がある。
【００５３】
（２．エンコーダ）
エンコーダの動作が概して上述されてきたが、これはエンコーディングプロセスの特定のステップの詳述であると同様、いくつかの特定画像例に関する動作を示す命令でもある。
【００５４】
（２．１ 参照フレーム伝送）
図７を参照し、エンコーダは参照フレーム、この場合、バックグラウンドに太陽があり、車が左から右へと動く画像、を受信する。参照フレームは概して、それに対して、他の任意のフレームが記述されるフレームを示す。エンコーダサイクルの第１通路において、参照フレームは概してキーフレームである。あるいは、引き続く通路においては、参照フレームは以前にエンコードされた非キーフレームであり得る。
【００５５】
図８は、エンコーダが初めにキーフレームを処理するプロシージャを示すフロー図である。ステップ８１０において、エンコーダは図７に示されるフレームを受信する。ステップ８２０において、エンコーダはフレームをエンコードする。ステップ８３０において、エンコーダは、エンコードされたフレームを受容体に（例えば、デコーダまたは引き続くデコーディングのための記憶媒体に）伝送する。エンコーダは、ステップ８４０においてエンコードされたフレームを再構築する。
【００５６】
（２．２ セグメント化）
セグメント化は、デジタル画像が構成要素、すなわち、各セグメントが、図１０に示される画像内の値における急激な変化によって制限される領域を表すセグメント、へと下位分割されるプロセスである。
【００５７】
コンピュータビジョンの当業者は、セグメント化が複数の方法で実行され得ることを認識する。例えば、そのような１方法は、いわゆる「ウォーターシェッド方法」であり、ウォーターシェッド方法はｗｗｗ．ｃｓｕ．ｅｄｕ．ａｕ／ｃｉ／ｖｏｌ３／ｃｓｃ９６ｆ／ｃｓｃ９６ｆ．ｈｔｍｌにおいて記載されている。本発明で利用可能なこのセグメント化技術およびその他のセグメント化技術は当業者には公知であり、本明細書において詳細に記載される必要はない。
【００５８】
ここで図９を参照すると、ステップ９１０において、エンコーダは再構築された参照フレームをセグメント化し、画像固有の構造特徴を判定する。あるいは、ステップ９１０において、エンコーダは、同じ目的でオリジナルの画像フレームをセグメント化する。エンコーダは、図７のセグメントが車、後輪、前輪、後部ウィンドウ、前部ウィンドウ、道、太陽、およびバックグラウンドであることを判定する。あるいは、ステップ９１０において、エンコーダはオリジナルフレームおよび再構築されたフレーム双方をセグメント化し、双方のフレーム間のセグメント化の違いを判定する。この場合、エンコーダは、この違いを運動関連情報の１部としてデコーダに伝送する。この違いは、本明細書においてセグメント化増強として示される。
【００５９】
ステップ９２０において、エンコーダは任意の予め決められた基準に基づいてセグメントを順序化し、図１０に示されるように、セグメント１００１から１００８までそれぞれを表す。
【００６０】
セグメント化は、本記載においてさらに説明されるように、エンコーダが効果的な運動マッチング、Ｚ順序化、運動予測、および効果的な残余部コーディングを実行することを可能にする。
【００６１】
（２．３ 動力学情報）
一旦セグメント化が完了すると、エンコーダは、各フレームごとの進展に関する、動力学情報を判定およびエンコードする。動力学情報は、運動関連情報および残余部情報の記述を含む。運動関連情報は、必要ならばセグメント、Ｚ順序化情報、セグメント化増強など運動データから成り得る。残余部情報は、以前には塞がれていた領域および／または不正確なマッチングおよび新しい情報の露出、ならびに本質的に運動によって捉えられないセグメント発展の部分の情報から成る。
【００６２】
（２．３．１ マッチングおよびセグメントモーションデータ）
動力学情報のモーション部分は、モーションマッチングとして公知のプロセスを経て判定される。モーションマッチングは、類似の領域（セグメントである場合が多い）を１つのフレームから別のフレームまでマッチングさせるプロシージャである。デジタル画像フレーム内の各画素において、画像が数値として表される。１つのフレーム中の領域が別のフレーム中の領域と同一または充分に類似する画素値を有する場合、マッチングが発生する。
【００６３】
例えば、セグメントが異なるフレーム中の別のセグメントにマッチングすると見なすことができるのは、第１のセグメントが適切に移動されて第２のセグメント上に配置され、画素値の差の絶対値の平均を計算して、その平均値が所定の閾値未満に収まる場合である。画素値の差の絶対値の平均がよく用いられるのは類似性の簡単な基準となるからであるが、他の任意の数の基準でも充分である。マッチングを判定するために用いられ得るような基準は当業者にとって明らかであり、これ以上言及する必要はない。
【００６４】
図１１は、フレーム１１１０とフレーム１１２０との間での灰色熱気球のモーションマッチングの一例を示す。フレーム１１１０において、灰色熱気球１１１１があり、フレーム１１２０において、灰色熱気球１１２１の隣に白色球１１２２がある。灰色熱気球１１２１は、灰色熱気球１１１１よりもやや小型で、ねじれている。熱気球１１１１が白色球１１２２上に移動すると、フレーム１１１０中の灰色熱気球１１２１内に含まれる画素値からフレーム１１２０内の白色球１１２２内に含まれる画素値が減算され、その結果、ゼロではない差が得られる。そのため、灰色熱気球と白色球はマッチングしない。しかし、灰色熱気球１１１０が灰色熱気球１１２０上に移動すると、フレーム１１１０中の灰色熱気球１１１１からフレーム１１２０中の灰色熱気球１１２１が減算され、その結果、エッジおよびバスケット近隣の小領域以外では、殆どがゼロの値およびゼロに近い値の結果が得られる。これにより、これら２つの灰色熱気球はマッチングしたと見なされる。
【００６５】
（２．３．２ グループ化）
関連するセグメントを１つのグループとして見なし、これにより、エンコーダが、当該グループに関するモーション関連情報を（個々のセグメント用の任意のさらなるリファインメントがある場合で必要な場合はそれと共に）伝送するだけですむようにすれば、デコーダへと伝送されるモーション関連情報を低減することが可能である。例えば、セグメントモーションデータの場合、エンコーダは、代表的モーションベクトルまたは特徴的モーションベクトルを（モーションベクトルオフセットがある場合はそれと共に）デコーダに伝送し、これにより、グループ内の各セグメントの個々のモーションを表すだけでよい。特徴的モーションベクトルは実質的に任意の種類でよく、例えば、単一のベースセグメントまたはグループ全体の平均の特徴的モーションベクトルでよい。
【００６６】
グループ化が可能となるのは、セグメント周囲に以前に動力学情報がある場合またはセグメント周囲にマルチスケール情報がある場合である。マルチスケールについては、下記のセクション２．３．４において説明する。本発明のこの特定の実施形態にこれ以上限定することなく、モーションベクトルグループ化のみについてさらに説明する。
【００６７】
図１２を参照して、工程１２１０において、エンコーダは、第１のフレームがキーフレームであるか否か（すなわち、他のフレームに関連して記述されていないかどうか）を判定する。第１のフレームがキーフレームである場合、モーショングループ化ルーチンは、マルチスケーリング情報を（可能であれば）用いてセグメントをグループ化する。第１のフレームがキーフレームではない場合、グループセグメントにとって利用可能な何らかの以前のモーションデータが提供される。従って、第１のフレームがキーフレームではない場合、工程１２２０において、セクション２．３．２において後述するモーショングループ化ルーチンが実行される。しかし、以前のモーションデータを用いても、マルチスケーリングをさらなるグループ化用に利用することは妨げられない。
【００６８】
しかし、第１のフレームがキーフレームである場合、工程１２３０において、エンコーダは、利用可能なマルチスケール情報があるか否かを判定する。利用可能なマルチスケール情報がある場合、次いで、工程１２４０において、セクション２．３．４において後述するマルチスケーリングルーチンを実行する。利用可能なマルチスケール情報が無い場合、工程１２５０において、エンコーダはセグメントのグループ化を行なわない。
【００６９】
（２．３．２．１ モーションベースのグループ化）
モーションベースのグループ化は、以前のモーション関連情報が有り、エンコーダが関連付け対象セグメントを判定することが可能である場合のみに発生する。デコーダも、エンコーダが行うのと同様の様式でセグメントのグループ化を行う。モーションベースのグループ化は、図１３中の工程１３１０から開始し、各セグメントの以前のモーションデータが検討される。工程１３２０において、類似のモーションベクトルを示すセグメントをグループ化する。
【００７０】
（２．３．２．２ マルチスケールグループ化）
マルチスケーリンググループ化は、以前のモーションを用いたセグメントのグループ化の代替である。さらに、マルチスケーリングは、モーショングループ化と協働させて用いることも可能である。マルチスケーリングは、画像のより低い解像度のバージョンを生成するプロセスである。マルチプルスケールを作成する例示的工程は、平滑（ｓｍｏｏｒｔｈｉｎｇ）機能の反復適用を経る。より低い解像度の画像の生成の結果、解像度は低減し、大型で支配的なフィーチャのみが可視状態となる。従って、例えば、解像度が低い場合、フットボールの縫い目は見えなくるが、フットボールそのものは認識可能である。
【００７１】
マルチスケールプロセスの一例を以下に示す。図１５を参照して、工程１５１０において、エンコーダは、例えば、当該フレームについて、最も疎な画像スケール（すなわち、最低解像度）を検討し、工程１５２０において、可視状態のままのセグメントを判定する。このような疎な画像スケールの場合、（通常、主要なオブジェクトの外郭として結合する）最も大きく最も支配的なフィーチャのみが可視状態で残り、（通常、主要オブジェクトを構成するフィーチャに対応する）非支配的セグメントは、認識不可能となる。工程１５３０において、最も疎なスケールにおいて不可視状態となり、かつ、所与の可視セグメントを共に含むセグメントは、１つのグループと関連付けられる。これは、小さくて不可視状態となったセグメントは、大きなオブジェクトと関係を共有する場合が多く、類似の動力学情報を有する傾向があるためである。そのため、より疎なスケールの画像表示物は、より微細なスケールのクラスタを表すと見なされる。工程１５４０において、判定がなされる。より可視度が高いセグメントがある場合、工程１５５０において、エンコーダは、次のセグメントを検討し、工程１５３０へと進む。より可視度が高いセグメントが無い場合、マルチスケーリンググループ化プロセスは終了する。
【００７２】
上記の例示的実施形態では疎な画像スケールを用いたが、これは、もちろん、特定の画像に用いられる特定の範囲のマルチスケーリングに従う。別の例示的実施形態において一つ以上の他のスケールも利用可能であることは明らかである。
【００７３】
デコーダは、エンコーダが行うのと同一または類似の様式でグループ化を行う。
【００７４】
（２．３．３ モーション予測）
図１４を参照して、工程１４１０において、エンコーダはセグメントを検討する。工程１４２０において、エンコーダは、当該セグメントについて以前のモーション関連情報が有るか否かを判定し、そのモーションを予測できるようにする。デコーダは、エンコーダと同一または類似の様式で、セグメントのモーションまたはセグメントのグループを予測する。以前のモーション関連情報が無い場合、エンコーダは、下記のように工程１４６０へと進む。
【００７５】
以前のモーション関連情報が有る場合、エンコーダは、工程１４３０においてセグメントのモーションを予測し、予測結果をセグメントの実際のモーションと比較する。モーションベクトルオフセットは初めは、工程１４４０において、実際のモーションベクトルと予測されたモーションベクトルとの間の差として計算される。工程１４５０において、エンコーダは、さらに、上記のモーションベクトルオフセットを、上記のモーションベクトルオフセットと関連する特徴的（またはグループ）モーションベクトルとの間の差として表す。
【００７６】
工程１４６０において、エンコーダは、まだセグメントが有るか否かを判定する。まだセグメントが有る場合、工程１４７０において、エンコーダは、次のセグメントを検討し、工程１４２０へと進む。セグメントがそれ以上無い場合、予測ルーチンは終了する。
【００７７】
（２．３．２．１．１ モーション関連情報符号化）
グループ化および予測が発生した後、グループ化および予測を利用（ｌｅｖｅｒａｇｅ）して、取り出されたモーション関連情報の大部分を符号化する再のオーバーヘッドを低減することが可能である。例えば、個々のセグメントの代わりにグループを基準にすることで、セグメント化の増強（ａｕｇｍｅｎｔａｔｉｏｎ）をより効率的に記述することが可能である。工程１３３０において、当該グループ内の全モーションベクトルの代表的フィーチャを計算することにより、グループのモーションベクトルを入手する。従って、グループ内の各セグメントについて、モーションベクトルの差のみ（すなわち、セグメントのモーションベクトル（但し、存在すればであるが）と特性（あるいはグループ）モーションベクトルとの差）を伝送する（工程１３４０を参照）。特性モーションベクトルの一例は、平均モーションベクトルである。モーション予測と予測されたモーションに関する符号化モーションオフセットのみとを用いれば、モーションベクトルにおいてさらなる改善を達成することが可能である。
【００７８】
（２．３．４ Ｚ−順序化）
Ｚ−順序化は、各画像が占有する画像フレーム内の相対的深さ位置を指す。エンコーダは、Ｚ−順序化情報を判定および伝送し、これにより、構造情報が１つのフレームから別のフレームへと変化するにつれて、構造情報内に含まれる深さ情報が保存される。
【００７９】
（２．３．５ 残余部の符号化）
残余部情報は、以前に塞がれた（ｏｃｃｌｕｄｅｄ）領域中の情報ならびに／または不正確なマッチングおよび新規情報の外観（ａｐｐｅａｒａｎｃｅ）と、運動そのものによって捕獲されないセグメント発展の一部分と、などからなる。
【００８０】
（２．３．５．１ バックグラウンド残余部）
図１６に示すように、セグメントが移動すると、今まで隠蔽または遮断（ｏｂｓｔｒｕｃｔ）されていた領域が初めて可視状態となる。図１６において、車両が移動するにつれ、３つの領域が可視状態となる。これらの３つの領域は車両の背後にある領域であり、その領域の２つは車輪の背後にある領域である。これらの３つの領域をそれぞれ、領域１６０１〜１６０３として印を付ける。
【００８１】
図１７を参照して、工程１７１０において、エンコーダは、以前に隠蔽された画像領域が発生した場所を判定する。工程１７２０において、エンコーダは、所定の順序化システムを用いて、領域を順序化する。工程１７３０において、１つの領域を包囲する領域（単数または複数）に対応する情報を用いて、エンコーダは、以前に隠蔽された領域の構造について数学的予測を行う。エンコーダはさらに、当該領域において露出した画像も正確に認識する。従って、工程１７４０において、エンコーダは、領域を検討し、予測された画像と実際の画像とを比較することにより、数学的予測が充分であったか否かを判定する。予測結果が実際の画像に近くない場合、工程１７７０において、エンコーダは、領域または差を符号化し、工程１７８０において、符号化メカニズムを示すフラグと共に符号化された情報を格納する。また、予測結果が実際の画像に近い場合、工程１７４５において、エンコーダは、その旨を示すフラグを格納する。
【００８２】
工程１７５０において、エンコーダは、新規に遮断されていない領域がまだあるか否かを判定する。新規に遮断された領域がまだある場合、次の領域が検討され、ルーチンは工程１７６０へと進み、そうでない場合、ルーチンは終了する。
【００８３】
（２．３．５．２ ローカル残余部）
ローカル残余部情報は、不正確なマッチングからの情報および新規情報の外観などからなる。例えば、図１８において、車両および太陽は、フレーム１８０２のものの方がフレーム１８０１のものよりも小さい。残余部情報の構造は、新規セグメントと以前のセグメントとの差の程度によって異なり、良好に規定された領域であったり、領域のセットであったり、あるいはまだら状であったりし得る。ローカル残余部の種類に応じて異なる種類の符号化方法を用いるのが理想的である。デコーダは、セグメントモーションを認識しているため、ローカル残余部の多くが位置する場所を認識する。エンコーダは、このデコーダの構造情報に関する知識（例えば、考慮対象となり得るセグメント境界位置）を用いて、ローカル残余部符号化の効率を向上させる。
【００８４】
図１９を参照して、工程１９１０において、エンコーダは、ローカル残余部の位置を判定する。工程１９２０において、エンコーダは、所定の順序化方式を用いて、ローカル残余部が発生した領域を順序化する。工程１９３０において、エンコーダは、第１のローカル残余部を検討して、そのローカル残余部を符号化する最も効率的な方法を判定し、次いで、工程１９４０においてそのローカル残余部を符号化する。工程１９５０において、エンコーダは、符号化された残余部と、符号化メカニズムを示すフラグとを格納する。工程１９６０においてまだローカル残余部の位置が有る場合、工程１９７０において、次のローカル残余部の位置を検討して、ルーチンは工程１９４０へと進む。ローカル残余部の位置が無い場合、ルーチンは終了する。
【００８５】
（２．３．６ 特殊命令）
エンコーダは、各セグメントに関するコマンドおよび命令を、必要に応じてビットストリームに埋め込む。これらのコマンドの例としては、静的ウェブページの入手、別の映像ビットストリームの入手、テキストの待機等を含む（但し、これらに限定されない）。
【００８６】
エンコーダは、セグメントを判定した後、これらのコマンドをビットストリーム内部の任意のポイントに埋め込み、エンコーダが判定することが可能な内容を利用することができる。図２０は、コマンドがデータストリーム中に埋め込まれたポイントの一例である。
【００８７】
図２０を参照して、工程２０１０において、エンコーダは、第１のセグメントを検討する。工程２０２０において、エンコーダは、特殊命令フラグを伝送する。工程２０３０において、エンコーダは、当該セグメントについて特殊命令があるか否かを判定する。当該セグメントについて特殊命令がある場合、工程２０４０において、命令がデコーダへと伝送され、工程２０５０において、エンコーダは、セグメントがまだ他にも有るか否かを判定する。工程１７３０において当該セグメントと関連付けられた特殊命令がない場合、エンコーダは直接工程２０５０へと進む。工程２０５０においてまだ他にもセグメントがある場合、工程２０６０において、エンコーダは、工程２０６０において次のセグメントを検討し、工程２０２０へと進み、そうでない場合、ルーチンは終了する。
【００８８】
（２．４ 伝送）
動力学な（モーションおよび残余部の）情報の判定および符号化の後、フレーム情報の伝送に関する判定を行う。図２１を参照して、工程２１１０において、残余部情報からの支援によって画像を主にモーション関連情報から合理的に再構築することが可能な場合、工程２１９０において、エンコーダは、当該フレームに関する動力学情報を伝送する。残余部情報からの支援によって画像を主にモーション関連情報から合理的に再構築することが不可能な場合、当該フレームはキーフレームとして符号化され、工程２１８５において、その動力学情報は廃棄される。
【００８９】
（２．５ 代替）
あるいは、エンコーダは、第１のフレームからのセグメントからの動力学情報を用いる代わりに、例えば第１のフレームからのセグメント化を含む情報等の構造情報を用いて、最良の基本的機能セットを作成および順序化するか、または、第２のフレームを描画するブロックを構築する。この工程は、適応型符号化方法または適応型変換（ｔｒａｎｓｆｏｒｍ）符号化方法と呼ばれ得、これは、デコーダの能力に関するエンコーダの知識に基づいて、適切な基本的機能セットを作成するか、またはデコーダにとって利用可能な構造情報に基づいてブロックを構築するものである。エンコーダおよびデコーダはどちらとも、これらの基本的機能を独立して判定するため、基本的機能の係数のみを伝送するだけですむ。
【００９０】
（３．デコーダ）
（３．１ 参照フレームの受信（ｒｅｃｅｐｔｉｏｎ））
図２２は、デコーダが参照フレームを受信するプロセスを示す。参照フレームは一般的には、他の後に生成されるフレームが描画される際の基準となるフレームである。工程２２１０において、デコーダは、符号化された参照フレームを受信する。工程２２２０において、デコーダは、その符号化された参照フレームを再構築する。
【００９１】
工程２２３０において、デコーダは、キーフレームフラグを受信する。このフラグは、次のフレームがキーフレームであるか否かまたは次のフレームが動力学情報から再構築可能であるか否かを示す。次のフレームがキーフレームである場合、デコーダは工程２２１０へと戻り、次のフレームを受信する。次のフレームがキーフレームではない場合、このルーチンは終了する。
【００９２】
（３．２ セグメント化）
上述したように、セグメント化は、デジタル画像をその構成要素部分（すなわち、セグメント）に細分化するプロセスであり、各セグメントは、当該画像中の値の劇的な変化または急激な変化によって結合する領域を示す。
【００９３】
図２３を参照して、工程２３１０において、デコーダは、再構築された参照デコーダをセグメント化して、当該画像の固有の構造的フィーチャを判定する。例えば、デコーダは、図７中のセグメントが車両、後輪、前輪、リアウィンドウ、フロントウィンドウ、道路、太陽、およびバックグラウンドであると判定する。工程２３２０において、デコーダは、エンコーダが用いる所定の基準と同じ基準に基づいてセグメントを順序化し、図１０に示すようにセグメント１００１〜１００７にそれぞれ印を付ける。
【００９４】
（３．３ モーション関連情報）
セグメント化が達成された後、エンコーダは、各セグメントに関するモーション関連情報を受信する。モーション関連情報は、デコーダに、以前フレームにおけるセグメント位置に対する新規フレーム中のセグメント位置を伝える。
【００９５】
図２４は、モーション関連情報を受信するプロセスを示す。工程２４１０において、デコーダは、１つのセグメントを検討する。工程２４２０において、デコーダは、当該セグメントについて以前のモーションデータが有るか否かを判定する。当該セグメントについて以前のモーションデータが無い場合、デコーダは、工程２４５０に進む。当該セグメントについて以前のモーションデータが有る場合、デコーダは、工程２４３０においてセグメントのモーションを予測し、工程２４４０においてモーションベクトル修正を受信し、次いで工程２４５０へと進む。工程２４５０において、デコーダは、他にセグメントがあるか否かを判定する。他にセグメントがある場合、デコーダは、工程２４６０において次のセグメントを検討し、次いで工程２４２０へと進む。そうでない場合、ルーチンは終了する。
【００９６】
関連するモーションを有するセグメントを共にグループ化し、１つのモーションベクトルによって表すと、動力学情報を低減することが可能である。デコーダによって受信される動力学情報は、いくつかの要素（すなわち、１）以前の（参照）デコーダがキーデコーダであるか否かすなわち２）以前の（参照）デコーダがキーデコーダでない場合、マルチスケーリング情報が利用可能か否か）によって変化する。
【００９７】
図２５を参照して、工程２５１０において、デコーダは、参照フレームがキーフレーム（すなわち、他の任意のフレームに関連して規定されていないフレーム）であるか否かを判定する。参照フレームがキーフレームである場合、セグメントの潜在的グループ化対象となる以前のモーションに関連する情報は存在しない。しかし、このような情報が利用可能な場合、デコーダは、マルチスケール情報をセグメントグループ化対象として用いることを試みる。工程２５２０において、デコーダは、利用可能なマルチスケール情報が有るか否かを判定する。参照フレームがキーフレームであり、かつ、デコーダにとって利用可能なマルチスケール情報がある場合、工程２５３０において、デコーダは、先ず、エンコーダに関して前述したように、マルチスケールルーチンを用いて、関連するセグメントを共にグループ化する。次いで、工程２５４０において、デコーダは、モーションベクトルおよびモーションベクトルオフセットを受信する。逆に言えば、参照フレームにとって利用可能なマルチスケール情報が無い場合、工程２５５０において、（オフセット無しの）モーションベクトルが、デコーダによって受信される。
【００９８】
しかし、工程２５１０においてデコーダが第１のフレームはキーフレームではないと判定した場合、工程２５６０において、デコーダは、以下に説明するようなモーションベクトルグループ化ルーチンを実行する。このモーションベクトルグループ化ルーチンの代わりにまたはこのモーションベクトルグループ化ルーチンに加えて、デコーダは、上述したマルチスケールグループ化を用いることもできる。
【００９９】
図２６は、モーションベクトルグループ化ルーチンを示す。工程２６１０において、デコーダは、各セグメントの以前のモーションベクトルを検討する。工程２６２０において、デコーダは、類似の以前のモーションベクトルを有するセグメントを共にグループ化する。工程２６３０において、デコーダは、グループモーションが予測可能か否かを判定する。グループモーションが予測不可能な場合、工程２６８０において、デコーダは、モーションベクトルおよびオフセット（但し、もし有れば）を受信し、次いで工程２６６０へと進む。グループモーションが予測可能な場合、デコーダは、工程２６４０においてグループモーションを予測し、次いで、工程２６５０において予測修正を受信し、次いで工程２６６０へと進む。工程２６６０において、デコーダは、他にグループが有るか否かを判定する。他にグループが有る場合、デコーダは、工程２６７０において次のグループを検討し、工程２６３０へと進む。他にグループが無い場合、ルーチンは終了する。
【０１００】
（３．４ 残余部）
モーション関連情報を受信した後、デコーダは、残余部情報を受信する。残余部は２種類（すなわち、バックグラウンド残余部およびローカル残余部）に分類される。
【０１０１】
（３．４．１ バックグラウンド残余部）
図１６に示すように、車両が移動すると、以前に隠蔽または遮断されたいた領域がはじめて可視状態となる。デコーダは、これらの領域の場所を認識しており、これらの領域を、所定の順序化スキームを用いて順序化する。図１６において、３つの領域の遮断が無くなり、特に、車両の背後および２つの車輪の背後の部分の遮断が無くなる。これらの領域に、領域１６０１〜１６０３として印を付ける。
【０１０２】
図２７を参照して、工程２７１０において、デコーダは、バックグラウンド残余部領域を検討し、次いで、工程２７２０において領域を順序化する。工程２７３０において、デコーダは、第１のバックグラウンド残余部領域の構造について数学的予測を行う。工程２７４０において、デコーダは、予測がいかに充分であるかおよび修正が必要であるかを示すフラグを受信する。工程２７５０において、デコーダは、予測が充分か否かについて判定を行う。予測が充分である場合、ルーチンは工程２７７０へと進む。予測が充分でない場合、工程２７６０において、デコーダは、符号化された領域と符号化方式を示すフラグとを受信し、必要に応じて再構築を行い、次いで、工程２７７０へと進む。工程２７７０において、デコーダは、他にバックグラウンド残余部領域が有るか否かを判定する。他にバックグラウンド残余部領域が有る場合、デコーダは、工程２７８０において、次の領域を検討し、工程２７３０へと進む。そうでない場合、ルーチンは終了する。
【０１０３】
（３．４．２ ローカル残余部）
残余部情報は、不正確なマッチングから生じた情報および新規情報の外観からなる。図１８において、車両および太陽は、フレーム１８０２のものの方がフレーム１８０１のものよりも小さく見える。残余部の構造は、新規セグメントと以前のセグメントととの間の差異の程度によって異なる。デコーダは、ローカル残余部の大部分がセグメントの境界に露出することを認識している。デコーダの有する構造情報（例えば、セグメント境界の位置）に関するデコーダの知識を考慮に入れて、ローカル残余部符号化の効率を高めることが可能である。
【０１０４】
図２８を参照して、工程２８１０において、デコーダは、第１のセグメントを検討する。工程２８２０において、デコーダは、（必要ならば）符号化方法を示すフラグを受信し、当該セグメントの符号化されたローカル残余部を受信する。工程２８３０において、デコーダは、他にもセグメントが有るか否かを判定する。他にもセグメントが有る場合、デコーダは、工程２８４０において次のセグメントを検討し、次いで、工程２８２０へと進む。そうでない場合、ルーチンは終了する。
【０１０５】
（３．４ Ｚ−順序化）
Ｚ−順序化は、画像フレーム内の各セグメントの深さ位置を示す。デコーダは、Ｚ−順序化情報を用いて、完璧に可視状態になるセグメントと、部分的または完全に隠蔽されるセグメントとを判定する。
【０１０６】
（３．５ 再構築）
最後に、判定されたモーション関連情報および残余部に基づき、フレームを再構築する。
【０１０７】
（３．６ 特殊命令およびオブジェクトベースの操作）
画像に関する構造情報に加えて、デコーダは、ビットストリーム中に埋め込まれ、様々なセグメントと関連付けられたコマンドを受信および実行することが可能である。エンコーダおよびデコーダが同期され、同じ参照フレームで動作する場合、エンコーダは、コマンドと関連付けられた構造情報を伝送しなくてよい。また、ユーザ駆動型イベント（例えば、マウスのクリック）が発生するまで、埋め込まれたコマンドを一時停止状態に保持することも可能である。
【０１０８】
図２９は、本発明の１つの実施形態による、埋設コマンドを処理するプロシージャを示す。工程２９１０において、デコーダは、第１のセグメントを検討する。工程２９２０において、デコーダは、特殊命令フラグを受信する。工程２９３０において、デコーダは、当該セグメントと関連付けられた特殊な命令またはコマンドが有るか否かを判定する。当該セグメントと関連付けられた特殊な命令またはコマンドが有る場合、デコーダは、工程２９４０においてコマンド（単数または複数）を受信し、次いで、工程２９５０へと進む。そうでない場合、デコーダは、工程２９５０へと直接進み、他にもセグメントが有るか否かを判定する。他にもセグメントが有る場合、デコーダは、工程２９６０において次のセグメントを検討し、その後工程２９２０へと戻る。他にセグメントが無い場合、ルーチンは終了する。
【０１０９】
図３０は、本発明の１つの実施形態による、ユーザ駆動型イベントを処理するプロシージャを示すフローチャートである。工程３０１０において、デコーダは、ユーザ駆動型イベントが発生したか否かを判定する。ユーザ駆動型イベントが発生した場合、工程３０２０において、デコーダは、当該ユーザ駆動型イベントがどのセグメントを参照したか判定する。次いで、工程３０３０において、関連するコマンドが実行される。次いで、工程３０４０において、デコーダは、終了シーケンスが発生したか否かを判定する。終了シーケンスが発生した場合、工程３０１０においてツールが再開する。そうでない場合、ルーチンは終了する。
【０１１０】
工程３０１０においてデコーダがユーザ駆動型イベントが発生しなかったと判定した場合、デコーダは、工程３０４０へと直接進む。
【０１１１】
デコーダが有するセグメント化等の構造情報を計算する能力を利用して、構造情報に添付され得る特殊命令と共に構造情報の大部分を送らなければならないオーバーヘッドを大幅に低減することが可能である。
【０１１２】
例えば、別個のセグメントによって表される画像中のオブジェクトまたは異なるフィーチャは、別個のエンティティとして便利に操作可能である。このような操作として、（ａ）フレーム内の編集、（ｂ）他の画像またはアプリケーションへのエクスポート、および（ｃ）ユーザ入力に基づいた双方向オペレーション等がある（ただし、これらに限定されない）。エンコーダおよびデコーダを同期させるシステムにおいて、操作されたオブジェクトまたはフィーチャをすぐに再符号化して、これにより、現在の映像ストリームまたはいくつかの他の映像ストリームに再導入することが可能である。このような様式で、本発明の技術は、従来の映像符号化のビットまたは画素の利用による制約の問題を解消し、従来の映像符号化を、実際のオブジェクトのモデル化のためのツールとして有用なものにする。
【０１１３】
あるいは、デコーダは、映像フレームの構造情報を判定した後、第２の映像フレームを描画するために用いられ得る基本的機能の最良の組み合わせを判定する。次いで、デコーダは、エンコーダから係数を受信し、第２の画像フレームを再構築する。エンコーダおよびデコーダはどちらとも、利用可能な構造情報からの同一の基本的機能を独立して作成および順序化するため、基本的機能の係数のみを伝送するだけでよい。これは、適応型符号化または適応型変換符号化方法である。
【０１１４】
（４．０ 映像フォーマット）
本明細書中に開示される本発明では、映像データを伝送するための新規な映像フォーマットについても説明した。この映像フォーマットは、画像フレームの構造情報に関連付けられた動力学情報からなる。この構造情報としては、例えば、モーションに関連する情報、残余部情報、および特殊命令がある（ただし、これらに限定されない）。
【０１１５】
あるいは、この新規映像フォーマットは、基本的機能の組み合わせから導出される係数のシーケンスからなり得る。
【０１１６】
（５．０ 結論）
上記のセクションにおいて、フローチャートを用いて、エンコーダおよびデコーダの動作について主に説明してきた。説明は、当業者がこれらのエンコーダおよびデコーダを実質的に任意のコンピュータベースの環境でインプリメントできるように行った。このようなインプリメンテーションは、特定のソフトウェア環境および／またはハードウェア環境に限定されない。例えば、このようなインプリメンテーションは、実質的に任意のプログラミング言語を用いて、一連の機能モジュール（例えば、Ｉ／Ｏモジュール、モーションマッチングモジュール、残余部モジュール等）として、ソフトウェア全体として汎用コンピュータ上にインプリメント可能である。あるいは、より高速な動作が得られるよう、このようなインプリメンテーションをハードウェア全体として（例えば、カスタムＶＬＳＩチップとして）インプリメントすることも可能である。さらに他のインプリメンテーションが、（特定の速度、コスト、および特定の動作環境の伝送ニーズによって判定する）実質的に任意のソフトウェアおよびハードウェアの組み合わせを含み得る。
【０１１７】
上記の記載は全て、本発明の例示的実施形態および用途を示したものであり、これらの記載から得られる関連する改変、改良および変更は、本発明の意図および範囲を逸脱することなく、当業者にとって明らかである。従って、本発明は、上記の開示内容に限定されるのではなく、本明細書中の特許請求の範囲によって解釈されるべきである。
【符号の説明】
【０１１８】
１００  エンコーダ
３００  デコーダ
１００１−１００８  セグメント
１１１０、１１２０  フレーム
１８０１、１８０２  フレーム
【図１】
2011142663.tif 000003
【図２】
2011142663.tif 000004
【図３】
2011142663.tif 000005
【図４】
2011142663.tif 000006
【図５ａ】
2011142663.tif 000007
【図５ｂ】
2011142663.tif 000008
【図６】
2011142663.tif 000009
【図７】
2011142663.tif 000010
【図８】
2011142663.tif 000011
【図９】
2011142663.tif 000012
【図１０】
2011142663.tif 000013
【図１１】
2011142663.tif 000014
【図１２】
2011142663.tif 000015
【図１３】
2011142663.tif 000016
【図１４】
2011142663.tif 000017
【図１５】
2011142663.tif 000018
【図１６】
2011142663.tif 000019
【図１７】
2011142663.tif 000020
【図１８】
2011142663.tif 000021
【図１９】
2011142663.tif 000022
【図２０】
2011142663.tif 000023
【図２１】
2011142663.tif 000024
【図２２】
2011142663.tif 000025
【図２３】
2011142663.tif 000026
【図２４】
2011142663.tif 000027
【図２５】
2011142663.tif 000028
【図２６】
2011142663.tif 000029
【図２７】
2011142663.tif 000030
【図２８】
2011142663.tif 000031
【図２９】
2011142663.tif 000032
【図３０】
2011142663.tif 000033