(57)【要約】デコーダ(104)でキューを使用することによりディジタルデータをエンコーディングする。エンコーダ(102)は、全てのコードワードの完全な空間からのターゲットコードワード(112)をデコーダ(104)に示すためのインデックスを選択する。インデックスは、ターゲットコードワードを含む１グループ又は１組のコードワードを識別する。該組は、１ビット長により表され、これにより圧縮が達成される。かかる一組における２つ又は３つ以上のコードワードは、所定の距離だけ離間し、全てのかかる複数組のコードワードが共に全てのコードワードの完全な空間を形成するものと考えられる。エンコーダは、デコーディングを指定するためにインデックスを含むシンタックス情報(114)を送信する。次いでデコーダは、比較処理で一組の候補キューを使用して、指定された組からターゲットコードワードを決定する。処理の複雑性は、エンコーダ、デコーダ、及び（例えばディジタルネットワーク内の）他の考え得る装置に割り当てることができる。
2006516177.tif 000002
【特許請求の範囲】
【請求項１】
ディジタル情報をエンコーディングするための方法であって、
前記ディジタル情報の少なくとも一部を表すターゲットコードワードを識別し、
該ターゲットコードワードを含む複数のコードワードからなる一組を決定し、
該決定された一組を示すインデックスを選択する、
という各ステップを含む、ディジタル情報をエンコーディングするための方法。
【請求項２】
前記複数のコードワードの複数の組を定義するステップを更に含む、請求項１に記載の方法。
【請求項３】
前記複数のコードワードの前記複数の組の区分を定義するステップを更に含む、請求項２に記載の方法。
【請求項４】
前記ターゲットコードワードからチェック値を導出するステップを更に含む、請求項１に記載の方法。
【請求項５】
前記ターゲットコードワードが、ディジタルビデオ情報における１つ又は２つ以上のピクセル値を示す、請求項１に記載の方法。
【請求項６】
前記ターゲットコードワードが、ディジタルビデオ情報の１フレーム中のマクロブロックを示す、請求項１に記載の方法。
【請求項７】
前記ターゲットコードワードを量子化するステップを更に含む、請求項１に記載の方法。
【請求項８】
前記ディジタル情報が、複数のフレームを含むディジタルビデオ情報を含み、前記ターゲットコードワードが、前記ディジタルビデオ情報の所与の１フレーム内でイントラコーディングを使用してエンコーディングされる、請求項７に記載の方法。
【請求項９】
モーション予測を使用して相関ノイズ値を決定し、
該相関ノイズ値を使用して複数のコードワード値を複数の組へと区分化する、
という各ステップを更に含む、請求項８に記載の方法。
【請求項１０】
前記ディジタル情報の少なくとも一部を空間領域から周波数領域へと変換するステップを更に含む、請求項１に記載の方法。
【請求項１１】
前記変換ステップが、離散コサイン変換を使用するサブステップを含む、請求項１０に記載の方法。
【請求項１２】
後続の処理のために前記ディジタル情報のブロックを分類するステップを更に含む、請求項１に記載の方法。
【請求項１３】
前記ブロックの分類ステップに応じてブロックのエンコーディングをスキップするステップを更に含む、請求項１２に記載の方法。
【請求項１４】
前記ブロックの分類ステップに応じてブロックのイントラコーディングを行うステップを更に含む、請求項１２に記載の方法。
【請求項１５】
前記ブロックの分類ステップに応じて可変度合いのエンコーディングを行うステップを更に含む、請求項１２に記載の方法。
【請求項１６】
スキップ、イントラコーディング、及び１４のシンドロームデコーディング分類を含む、１６の異なる分類化が使用される、請求項１５に記載の方法。
【請求項１７】
ディジタル情報をエンコーディングするための装置であって、
前記ディジタル情報の少なくとも一部を表すターゲットコードワードを識別するプロセスと、
前記ターゲットコードワードを含む複数のコードワードからなる一組を決定するプロセスと、
前記決定された一組を示すインデックスを選択するプロセスと
を含む、ディジタル情報をエンコーディングするための装置。
【請求項１８】
ディジタル情報をエンコーディングするための命令を含むコンピュータ読出可能媒体であって、
前記ディジタル情報の少なくとも一部を表すターゲットコードワードを識別するための１つ又は２つ以上の命令と、
前記ターゲットコードワードを含む複数のコードワードからなる一組を決定するための１つ又は２つ以上の命令と、
前記決定された一組を示すインデックスを選択するための１つ又は２つ以上の命令と
を含む、コンピュータ読出可能媒体。
【請求項１９】
エンコーディングされたディジタル情報をデコーディングするための方法であって、
インデックスを受容し、
該インデックスを使用して一組の候補コードワードを決定し、
一組のキューを推論し、
前記一組内の複数のコードワードについて１つのキューを用いて処理を行うことにより１つのターゲットコードワードを決定し、
該ターゲットコードワードをデコーディング処理で使用する、
という各ステップを含む、エンコーディングされたディジタル情報をデコーディングするための方法。
【請求項２０】
１つのコードワードについて実行された１つのキューを使用した処理が、１つのチェック値と合意する１つの値を生成するか否か、を判定するステップを更に含む、請求項１９に記載の方法。
【請求項２１】
前記キューがモーションベースの予測子を含む、請求項１９に記載の方法。
【請求項２２】
前記キューを推論する前記ステップが、モーションベースの予測子を導出するサブステップを含む、請求項２１に記載の方法。
【請求項２３】
前記エンコーディングされたディジタル情報が、複数のビデオ情報ブロックを含み、
前記予測子及び１つまたは２つ以上のコードワードを使用することにより、前記エンコーディングされたディジタル情報をデコーディングする、というステップを更に含む、
請求項２２に記載の方法。
【請求項２４】
前記予測子及び前記１つまたは２つ以上のコードワードを使用することにより、前記エンコーディングされたディジタル情報をデコーディングするための最適な方法を評価する、というステップを更に含む、請求項２３に記載の方法。
【請求項２５】
エンコーディングされたディジタル情報をデコーディングするための装置であって、
インデックスを受容するためのプロセスと、
該インデックスを使用して一組の候補コードワードを決定するためのプロセスと、
一組のキューを推論するためのプロセスと、
前記一組内の複数のコードワードについて１つのキューを用いて処理を行うことにより１つのターゲットコードワードを決定するためのプロセスと、
該ターゲットコードワードをデコーディング処理で使用するためのプロセスと
を含む、エンコーディングされたディジタル情報をデコーディングするための装置。
【請求項２６】
エンコーディングされたディジタル情報をデコーディングするための命令を含むコンピュータ読出可能媒体であって、
インデックスを受容するための１つまたは２つ以上の命令と、
前記インデックスを使用して一組の候補コードワードを決定するための１つまたは２つ以上の命令と、
一組のキューを推論するための１つまたは２つ以上の命令と、
前記一組内の複数のコードワードについて１つのキューを用いて処理を行うことにより１つのターゲットコードワードを決定するための１つまたは２つ以上の命令と、
前記ターゲットコードワードをデコーディング処理で使用するための１つまたは２つ以上の命令と
を含む、コンピュータ読出可能媒体。
【請求項２７】
情報を転送するための方法であって、
エンコーダを使用して第１の複雑性レベルでエンコーディングされた第１のストリームを生成して第１のデコーダへ送信し、
前記エンコーダを使用して第２の複雑性レベルでエンコーディングされた第２のストリームを生成して第２のデコーダへ送信する、
という各ステップを含む、情報を転送するための方法。
【請求項２８】
前記エンコーダが、ネットワークからの信号に応じて、異なる複雑性レベルのストリームを生成する、請求項２７に記載の方法。
【請求項２９】
前記情報がネットワークを介して転送され、該ネットワークが複数の処理リソースを含み、
該ネットワークの前記処理リソースを使用して、前記ストリームの少なくとも一方をデコーディングした後にエンコーディングし、その後に該ストリームをデコーダで受信する、
というステップを更に含む、請求項２７に記載の方法。
【請求項３０】
エンコーディング処理とデコーディング処理との間で処理の複雑性を分担するための方法であって、前記エンコーディング処理及びデコーディング処理の各々が、ターゲットコードワードに関するインデックス、該ターゲットコードワードに関するチェック値、及び一組の候補キューを使用し、
前記一組の候補キューから複数のキューを選択し、
前記インデックスにより表される一組のコードワードについて前記キューを処理し、
該処理ステップの結果としてチェック値を生成し、
該チェック値が前記ターゲットコードワードについてのチェック値と一致するか否かを判定し、
前記選択されたキューが正しいコードワードの決定に成功したか否かを前記デコーダへ通知する、
という各ステップを前記エンコーダを使用して実行し、
前記一組の候補キューから他の複数のキューを選択し、
前記エンコーダにより決定された前記通知に基づき、前記インデックスにより表される一組のコードワードについて前記他の複数のキューを処理し、
該処理ステップの結果としてチェック値を生成し、
該処理ステップの結果が、前記ターゲットコードワードについてのチェック値と合意する値を生成するか否かを判定する、
という各ステップを前記デコーダを使用して実行する、
という各ステップを含む、エンコーディング処理とデコーディング処理との間で処理の複雑性を分担するための方法。
【請求項３１】
前記エンコーディング処理が、低い複雑性レベルに対応する一組の候補キューを全く使用せず、前記デコーディング処理が、高い複雑性レベルに対応する一組の候補キューを全て使用する、請求項３０に記載の方法。
【請求項３２】
前記エンコーディング処理が、高い複雑性レベルに対応する一組の候補キューを全て使用し、前記デコーディング処理が、低い複雑性レベルに対応する一組の候補キューのうちの１つを使用する、請求項３０に記載の方法。
【請求項３３】
前記エンコーディングされたディジタル情報が、予測コーディングにより圧縮できるソースに対応し、前記デコーダが、前記チェック値と合意する１つの値を生成する２つ又は３つ以上のキューを含み、その結果として前記ターゲットコードワードが成功裡に回復される、請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にディジタル情報の表現に関し、特にターゲット値の回復に資する装置において導出可能なデータキューを用いてターゲットディジタルデータを回復させるために該ターゲットディジタルデータの表現を使用するシステムに関するものである。
【背景技術】
【０００２】
ディジタル圧縮技術は、ディジタルコンテンツの内容を圧縮してディジタルシステムの全体的な帯域幅を改善するために極めて重要なものとなってきた。例えば、MPEG（Moving Picture Experts Group）等の一般的な規格は、ディジタルビデオの圧縮に関する様々な規格を普及させた。データ圧縮のための多くの方法は、ビデオ、スチルイメージ、オーディオその他の様々なタイプのディジタルコンテンツのために使用されている。
【０００３】
圧縮及びコーディング機構の性能の測度は「圧縮率」である。圧縮率は、オリジナルコンテンツをその圧縮後のサイズで除算したものである。例えば、MPEG-2及びH.263等の機構の場合、一般に達成可能な圧縮率は20〜30である。
【０００４】
圧縮機構の欠点は、送信側でデータを圧縮し及び受信側で圧縮データを解凍するためのディジタル処理を必要とする点にある。多くの圧縮機構の他の特徴は、より複雑な処理を使用することによってのみ高い圧縮率を達成することができることである。換言すれば、より高い圧縮率を得るためには、より協力で高価な処理チップが必要となり、その結果として、より長い処理時間に起因して遅延が生じることになる。複雑性の低い処理は、一般に低い圧縮率を達成するものとなる。
【０００５】
今日のコーディング技術（例えばMPEG及びH.26x等のディジタルビデオコーディング規格）の多くの場合、全体的な複雑性は、極めて高い状態に留まっており、またエンコーダとデコーダとの間で不均等に配分されている。エンコーダは、より高い複雑性を有し、該エンコーダに対してスレーブモードで動作するデコーダは、より低い複雑性を有する。処理の複雑性の変更、管理、及び配分を可能とし、また他と競合できる性能を提供する、圧縮機構を達成することが望ましい。
【０００６】
ディジタルビデオコーディング規格等の今日のコーディング技術の多くの場合、コーディング仕様すなわちシンタックスが一層大きくて一層厳密なものになる傾向になってきている。これは、より高い圧縮率を生じさせるものとなるが、圧縮機構を極めて柔軟性のないものにするものでもある。例えば、デコーダの動作は、使用することになる予測アルゴリズムに関して完全に指定される。高度に指定されたシンタックスのエンコード済みストリームを成功裡にデコードするために、あらゆるデコーダが同じ態様で動作しなければならない。デコーダにおいて使用することができるアルゴリズムに関する一層高い自由度を可能にして、一層賢いデコーディングアルゴリズムにより一層良い性能を得ることを可能にする、圧縮機構を達成するのが望ましい。
【０００７】
「ローバスト性」は、データの誤り又はドロップアウトを許容するためのコーディング機構の能力であり、データ通信におけるもう１つのファクタである。誤り又はドロップアウトは、例えば、データを送信するために使用される通信チャネル又は物理的なリンクが「ノイズの多い」ものである場合、又は干渉若しくは欠陥が生じ易いものである場合に生じ得る。また、データの処理、格納、又はその他の操作が行われているときには、データ破損が起こり得る。高度に圧縮されたデータストリームは、通常は、より低圧縮率のデータ若しくは非圧縮のデータと比較して、送信中に生じ得る誤りの影響を一層受け易いものとなる。多くの場合、圧縮データストリームの送信は、圧縮データストリームにＦＥＣ（Forward Error Correction）コードを付与することにより、又は誤りが発生した場合に再送信（ＡＲＱ：Automatic Repeat reQuest）を可能とすることにより、ローバストになる。これらの方法は、複雑性の増大及びエンコーディング遅延を必要とし得るものである。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
後者の結果として、遅延が増大し、逆方向についても通信チャネルが必要となる。複雑性が低く遅延が小さくて信頼できる性能を約束するコーディング機構を達成することが望ましい。
【課題を解決するための手段】
【０００９】
本発明の一実施形態は、デコーダにおいてキューを使用することによりディジタルデータを圧縮する技術を含む。一方法では、エンコーダは、全てのコードワードの完全な空間からのターゲットコードワードをデコーダに対して示すためのインデックスを選択する。個々のコードワードを参照する代わりに、前記インデックスが、ターゲットコードワードを含む１グループ又は１組のコードワードを識別する。該組は、コードワードのビット長よりも短い１ビット長により表され、これにより圧縮が達成される。かかる一組における２つ又は３つ以上のコードワードは、所定の距離だけ離間しており、全てのかかる複数組のコードワードが共に、全てのコードワードの完全な空間を形成するものと考えられる。エンコーダは、所定の組のコードワードを使用するようデコーダに命令するために前記インデックスを含むシンタックス情報を送信する。次いでデコーダは、比較処理で一組の候補キューを使用して、指定された組からターゲットコードワードを決定する。
【００１０】
一実施形態は、ディジタルビデオ圧縮アプリケーションを含む。ディジタルビデオ圧縮アプリケーションでは、キューは、例えば、特定の組のコードワードベクトルについての処理に使用されるモーションベースの予測子ベクトルとすることができる。特定の組におけるコードワードについての１つのキュー（例えばモーションベースの予測子ベクトル）の処理は１つの結果（例えば予測誤差ベクトル）を生成する。特定のキューについて、最も可能性の高い結果（例えば最小差）に対応する特定の組におけるコードワードがデコード後のコードワードとして呼び出される。これが、エンコーダによるシンタックスで提供されるチェックサムと比較される。該エンコーダにより提供されるチェックサムは、ターゲットコードワードに対応するものである。チェックサムの突き合わせの成功は、ターゲットコードワードの識別が完了したことを示す。チェックサムの突き合わせの成功が生じるまで候補キューが試され、該突き合わせの成功が生じた時点で、該突き合わせの成功が宣言される。モーション予測子又はその他のキューは、例えば、デコーダにおいて導出することが可能であり、エンコーダ又はその他のソースにより送られた情報から導出することが可能であり、又はあらゆる適当な手段により生成し若しくはその他の態様で取得することが可能である。ディジタルビデオアプリケーションでは、コードワードは、１スライス、１ブロック、又は１フレームのビデオ情報といった、一単位のディジタルビデオを表現するベクトルを含む。
【００１１】
本発明の一実施形態は、エンコーダとデコーダとの間で処理の複雑性を分担すると共にシステムの圧縮性能を維持することを可能にするものである。例えば、デコーダに大量の処理リソースが存在する場合には、デコーダが、一層強力な予測悪ゴリズムを採用し、これにより生成された全ての候補を使用することができ、エンコーダは、比較的低い複雑性を有することができる。場合によっては、エンコーダは、候補キューのうちの幾つかを使用し、該候補キューを特定の組について成功裡に処理し、チェックサムの突き合わせの結果をデコーダに送ることができる。成功した場合、エンコーダはまた、成功することになったキューをデコーダに示すことができる。失敗した場合には、デコーダは、残りの候補キューを使用し、該キューを特定の組について処理する。これは、処理の複雑性をエンコーダとデコーダとの間で任意の態様で分配することを可能にする。このため、場合によってはデコーダの複雑性が増大した結果としてエンコーダの複雑性が低下し、又はその逆となる。ローバスト性、データレート、エンドユーザの加入者ポリシー、及びその他のファクタを全て使用して複雑性及び性能を調節することが可能である。ネットワークに接続されたアプリケーションでは、エンコード及びデコーダの処理の各部は、全体的な送信システムにおける任意の処理ノードで生じることが可能である。該送信システムは、サーバ、ルータ、スイッチ、ストレージアレイその他のネットワークの構成要素内に存在する可能性があり、エンコーディング及び／又はデコーディング処理を実行するために使用することができる、プロセッサその他のリソースを含むことが可能である。複雑性の配分は、所定のもの又は動的なものとすることが可能であり、該配分は、要求又は設計に従ってリアルタイムで又はほぼリアルタイムで行われる。
【００１２】
本発明の一実施形態は、デコーダにおける大きな設計上の自由を可能にするシンタックスを提供する。これは、例えば、異なるデコーダが異なるリソース及び複数のレベルの処理の複雑さを有すること、及び前記シンタックスに従ってエンコード済みストリームを依然として成功裡にデコードすることを可能にする。例えば、一実施形態は、高度に特殊なモーション予測アルゴリズムを必要とすることなくディジタルビデオデコーディングを実施することを可能にする。採用されたモーション予測アルゴリズムに応じて、異なるデコーダは、異なる複数組／順番の候補キューを提供することができ、それらを使用して特定の組について処理を行うことができる。
【００１３】
本発明の一実施形態は、ローバスト性という特性を提供する。結果的に成功裡のチェックサムの突き合わせを生じさせる多数の候補キューの何れも、成功裡のデコーディングを提供するものとなる。これは、例えば、ディジタルビデオコーディングアプリケーションにおいて（モーション予測子ベクトルを提供するために使用される）基準フレームデータのうちの幾らかの部分が失われている場合であっても成功裡にデコーディングを行うことを可能にする。
【００１４】
好適な実施形態は、比較的複雑性の高いデコーダを比較的複雑性の低いエンコーダと共に使用する。コードワード空間は、１グループのコードワードを各々が含む複数の組へと区分化される。区分化はシンタックス内の定義に従って行われる。複数の組は、コードワードのビット長よりも短い１ビット長により表現される。圧縮を達成するための個々のコードワードについてのインデックスの代わりに、ターゲットコードワードを含む組のインデックスがデコーダに知らされる。デコーディングを行う場合に、候補キュー（例えば所定のハミング距離内のキュー等）が使用されて、指示された一組のコードワードから特定のコードワードが識別される。幾つかの実施形態では、互いに異なるが所定の距離内にある候補キューを有する複数のデコーダに、エンコーダからの同じ圧縮済みストリームを送ることができる。
【００１５】
エンコーダは、比較的複雑性の低いものとすることができる。これは、エンコーダの主たる作業が、ソースコードワード空間を複数組のコードワードへと区分化してそれら組のためのインデックスラベルを生成することにあるからである。デコーダは、一層複雑性の高いものとなり得る。これは、デコーダが、候補キューを導出してそれを複数組のコードワードに適用し、比較処理を実行して、所定のコードワードを決定する可能性があるからである。
【００１６】
圧縮はローバストなものとすることができる。これは、デコーダにおいて、指示された一組のコードワードから特定のコードワードを識別するために、所定の距離内にある複数の候補キューのうちの何れをも使用することができるからである。幾つかの方法では、これは、例えば、後続のデータのデコーディングに大きな影響を与えることなく、データの損失を許容するものとなる。
【００１７】
この「複雑性の低いエンコーダ」を「複雑性の高いデコーダ」と共に使用する方法を、「複雑性の高いエンコーダ」及び「複雑性の低いデコーダ」による従来方法と組み合わせて、圧縮及びコーディング処理の大半を、ユーザ装置ではなく、例えばディジタルネットワーク内に配置することが可能である。例えば、携帯電話アプリケーションにおいて、第１のユーザが、本発明による複雑性の低いエンコーダを使用して音声情報をユーザのハンドセットからディジタル携帯電話ネットワークへと送信することができる。携帯電話ネットワーク内で、本発明による複雑性の高いデコーダを使用して、エンコード済み情報をデコードすることが可能である。このデコードされた情報は、ネットワーク内の任意の適当な複雑性の高いエンコーダを使用して再エンコードされる。スマートネットワーク処理装置は、複雑性の高いデコーダのデコーディング処理を使用して、以下で説明する複雑性の高いエンコーダのエンコーディングの複雑さを低減させることができる。再エンコードされた情報は次いで、ターゲットユーザのハンドセットへと送信され、該ハンドセットにおいて複雑性の低いデコーダを使用して前記データが可聴音声信号へと変換される。このように、複雑性の低い処理がハンドセットで実行される一方、複雑性の高い処理がネットワークの構成要素又は該ネットワークに関連する構成要素又は装置で実行される。
【００１８】
一実施形態では、本発明はディジタル情報をエンコーディングするための装置を提供し、この場合、１つのプロセッサが複数の命令を実行し、該装置は、前記ディジタル情報の少なくとも一部を表すためのコードワードを導出するための１つ又は２つ以上の命令と、該導出されたコードワードのためのキューを決定するための１つ又は２つ以上の命令と、該キュー及び前記導出されたコードワードに基づいてインデックスを選択するための１つ又は２つ以上の命令とを含み、該インデックスが、複数組のコードワードのうちの１つを識別し、１つの組内の２つ又は３つ以上のコードワードが所定の距離だけ離間される。
【００１９】
別の実施形態では、本発明は、エンコード済みディジタル情報をデコードするための方法を提供し、該方法は、インデックスを受信し、該インデックスを使用して一組の候補コードワードを決定し、該一組のコードワード内の各コードワードをチェックして一致するコードワードを判定し、該一致するコードワードを前記エンコード済みディジタル情報のデコーディング処理で使用する、という各ステップを含む。
【発明を実施するための最良の形態】
【００２０】
本発明の好適な実施形態は、PRISM（ "Power-efficient, Robust, high-compression, Syndrome-based, Multimedia coding" の略称）と呼ばれるコーディング機構に含まれるものである。PRISMは、カリフォルニア大学バークレー校により開発されテストされたものであり、例えば、「PISM: A New Robust Video Coding Architecture Based on Distributed Compression Principles」（40th Allerton Conference on Communication, Control and Computing, Allerton, IL, October 2002）等の刊行物に記載されている。PRISM法の特定のステップ及び本書で詳述するその他の実施形態を修正し補充することが可能であることは明らかである。かかる様々な実施形態にステップを追加し又はステップを省略して、例えば、速度、圧縮率、効率、リソースの使用（例えば、処理サイクル、メモリ、帯域幅その他）、コスト、及びその他の考慮事項に関する設計上のトレード・オフを達成することが可能である。従来技術及び今後の技術により教示されるものを含む他のコーディング法及び技術を様々な態様で使用して、本発明の技術との割合を変更することが可能である。
【００２１】
まず、エンコーディング、デコーディング、及びシンタックス情報の使用の概要について、図１ないし図３に関して説明する。次に、エンコーダ及びデコーダの更なる詳細を、図４及び図５の説明に関連して提示する。複数のプロセッサに複雑性を配分する能力が示される。最後に、好適な実施形態のテスト結果を示す。
概要
図１は、デコーディングを達成するためのシンタックス情報の送信及び処理の基礎的な特徴を示している。図１において、エンコーダ102は、全ての考え得るコードワード120の空間に属する量子化されたターゲットコードワード110（Cq(target)）をデコーダ104へ伝送することを望む。該コードワードは、エンコードされる情報の性質に応じた１つ又は複数のあらゆる値とすることが可能である。例えば、ディジタルビデオがエンコーダからデコーダへ送信される場合には、量子化されたターゲットコードワードは、１ブロック又は１フレームといった一単位のイメージ情報に関する量子化された離散コサイン変換（DCT）係数のベクトルとすることが可能である。
【００２２】
一実施形態では、デコーダは、（「ソースコードブック」としても知られる）全てのコードワード120の考え得る空間を表すためのコードワードを生成する処理を実行する。他の実施形態は、製造の時点で全てのコードワードの空間を予め格納する、外部ソース（例えばエンコーダ又は別のソース）から全てのコードワードの空間を受信する、全てのコードワードのデフォルト空間を使用する等といった、異なる方法を使用することができる。
【００２３】
エンコーダ及びデコーダは、デコーディング処理で使用されることになるコードワードの区分化を決定するために、全てのコードワードの空間に合意する。一実施形態では、エンコーダは、シンタックス情報を使用して、コードワードの区分化をデコーダに示す。コードワードの区分化の特徴は「クラス識別子」で示される。シンタックスの一部をなすその他の情報には、シンドローム及びチェックサムが含まれる。区分化処理122は、クラス識別子を使用して全てのコードワードの空間からコードワード124の区分を作成し又は定義するために、デコーダにより実行される。全てのコードワードの空間及びコードワードの区分を定義し又は生成するための処理は、製造の時点で装置内（例えば不揮発性メモリ内）に格納することが可能であり、又は初回の通信を介してエンコーダからデコーダへ通信することが可能である。コードワードの区分を定義する処理については以下で更に詳述する。
【００２４】
コードワードの区分には、量子化されたコードワードの多数の組Ｓ1,Ｓ2,…,Ｓmが含まれる。例えば、組Ｓj（図１ではj=1,…,m）の各々は、量子化されたコードワードCqj0,Cqj1,…,Cqjnを含む。全般的に、特定の構成、タイプ、及び個数の、値、変数、又はその他のデータ構成要素の特徴は、議論を容易にするために主に使用されるものであり、本発明を実施するために必要なものではない。例えば、一組中のコードワードの個数及び編成、及び全てのコードワードの空間内の組の個数は、変動し得るものである。各組は、別の組と同じ個数又はタイプのコードワードを有している必要はない。他の実施形態は、コードワードの区分を定義するための異なる方法を有することが可能である。例えば、コードワードの区分の定義は、全体的又は部分的に、エンコーダからデコーダへ送信することが可能であり、又はエンコーダ及びデコーダの一方若しくは両方が他のソースから取得することが可能である。
【００２５】
コードワードの区分は、全てのコードワードの何らかの所定の空間に依存する必要はない。一般に、コードワードの区分を定義し合意するためのあらゆる方法が考えられる。実施形態によっては、エンコーダ及びデコーダがコードワードの区分に完全に合意する必要がない。
【００２６】
デコーダは、一組のキュー150を導出する。該一組のキュー又は予測子は、デコーダで利用することが可能な先行するデータに基づくものである。該一組のキューは、ベクトル、値、又はターゲットコードワードと相関関係を有することができる他のデータ構造といったアイテムを任意の個数含むことが可能である。ディジタルビデオアプリケーションでは、キューは予測子P0,P1,…,Pnを含む。該予測子は、あらゆる適当なタイプのものとすることが可能である。例えば、ディジタルビデオアプリケーションでは、コードワード及び予測子は、８×８又は１６×16の値を有するベクトルとすることが可能である。この場合、該値は、表示すべきイメージの一部の画素（ピクセル）値に関する離散コサイン変換（DCT）係数に対応する。一般に、コードワード、予測子、若しくは本書に記載するその他の単位の情報は、あらゆる形式の数値、記号、若しくはデータ表現、又は任意のデータ構造（例えば、定数、変数、配列、ストリング、オブジェクトその他）に含まれるあらゆる量のデータを含むものと理解されるべきである。
【００２７】
アプリケーションに応じて、あらゆる適当な方法を使用してキューを導出することが可能である。例えば、一般的なMPEG（Motion Picture Experts Group）規格（例えばMPEG-4）を使用してビデオがエンコードされるディジタルビデオアプリケーションでは、エンコーダは最初にデコーダにI-フレームを提供する。次いでデコーダは、標準的なモーション予測手順を使用して、予測子150等の一組の予測子を生成することができる。これら予測子を使用して、シンタックス情報からの前記I-フレームに続く次のフレームをデコードすることができる。続いて、これらのデコードされたフレームを使用して次のフレームのための予測子を生成することができる（以下同様）。他の方法は、エンコーダその他のソースからキューを取得する、キューを導出する、予め格納されているキューを使用する等といった、異なる手順を使用して、一組のキューを生成することができる。
【００２８】
キューの探索及び比較処理152は、エンコーダから送られたシンドローム又はインデックスを使用して、ターゲットコードワードCq(target)を含む一組を（複数の組の中から）識別する。識別された一組のコードワードは、一組のキュー150内の最初の候補キューによって成功裡に処理される。例えば、ディジタルビデオアプリケーションでは、該処理は、候補キューとコードワードとの間の差分関数とすることができる。比較処理の結果は、例えば、残留ベクトルの二乗平均値である。識別された組内のコードワードについてのキューの処理は、任意のタイプの処理とすることが可能である、ということに留意されたい。該処理は、識別された組内のコードワードについて実行され、その結果を使用して、該処理に基づき最善の候補コードワードが判定される。ディジタルビデオの実施形態では、最善の候補コードワードは、典型的には、残留ベクトルについての最小の二乗平均値に関するものとなる。該最善の１つ又は２つ以上の候補コードワードについてチェックサムが生成され、該チェックサムが、デコーダにより受信されるエンコーダからのターゲットコードワードCq(target)に関するエンコーダチェックサムと比較される。該チェックサムが一致する場合には、ターゲットコードワードCq(target)が発見されたことが宣言される。十分に強力なチェックサム関数を用いる場合には、正しいターゲットコードワードをデコーディングする可能性を任意に高くすることができる。チェックサムの一致が発見されない場合には、一組のキューから次の候補キューが選択され、該次の候補キューを前記識別された組内のコードワードに適用することにより探索が続行される。全てのキューが既に試行されている場合には、ターゲットコードワードの検出に失敗する。好適な実施形態では、発見されなかったコードワードは単純に無視され、すなわち使用されない。他の実施形態は、エラー指示を送る、デフォルトのコードワードを使用する、異なるパラメータで再試行する等といった、他の方法を採ることができる。
【００２９】
図２は、ディジタルビデオ実施形態におけるエンコーダの基礎的な構成要素を示している。同図において、エンコーダ200は、マルチメディアデータ（例えばディジタルイメージ及び／又はオーディオデータ）をエンコーディングするための入力として受信する。該入力されたデータは分類手段202により処理される。該分類手段202は、送信に使用される物理チャネルやターゲットビットレートに関する情報を随意選択的に受信することが可能である。物理チャネル情報は、信頼性すなわち期待される（例えばハードワイヤードリンクや無線周波数放送その他の）データ損失率を記述することが可能であり、これにより、該チャネルの信頼性を分類ステップで使用することが可能となる。エンコーダが、所望の品質レベルの取得、帯域幅要件の制限、又はその他の理由によるビットレートの制限を試みることができるように、ターゲットビットレートを指定することができる。分類手段は、前記情報を使用して、デコーダで利用できるデータとの相関関係のレベルを評価し、これを使用してコードワード空間の区分化を決定する。クラス識別子は、コードワードの区分をデコーダに示すために、図１に関するシンタックス情報内に含まれる。
【００３０】
分類が完了すると、入力データが変換手段204へ供給される。好適実施形態では、該データは、DCTやMPEG圧縮規格の場合に典型的な他の処理を受ける。場合によっては、データの分類に応じて、無変換、又は限定した変換、又は何らかの他の変換（例えばウェーブレット変換）を用いることが可能である、ということに留意されたい。
【００３１】
量子化手段206は、変換手段204から出力される係数（又はその他の値）を量子化するために使用される。量子化手段206は、例えばターゲットイメージ品質、ビットレート、又はその他の目標又は制約に従って、量子化を実行する。チェックサム処理208は、シンタックス情報の一部として含まれる量子化された情報についてのCRC（cyclic redundancy check）の計算を含む。シンドローム210は、デコーダに送信すべきシンドローム、すなわち量子化された係数に対応するインデックスを決定する。量子化された係数の小部分はシンドロームを使用してエンコードされ、残りはVLC210を使用してVLCパラメータが決定される。分類手段、チェックサム、シンドローム、及びVLC処理からの出力は、デコーダに送られるシンタックス情報に含められる。
【００３２】
図３は、ディジタルビデオ実施形態におけるデコーダの基礎的な構成要素を示している。
【００３３】
同図において、デコーダ300は、シンドロームデコーダ302への入力としてエンコーダからシンタックス情報（及び図示しないその他の情報）を受信する。上述したように、デコーダは、モーションサーチ308及びチェックサム処理304を使用することにより、一組のコードワードに対する一組の候補予測子の比較を繰り返す。所望の（すなわちターゲットの）コードワードが発見されると、該コードワードが、量子化解除手段306により処理され、及び符号310で示すように、評価、再構築、及び後処理といった更なる随意選択的な処理に提供される。
エンコーダの詳細
図４は、本発明の一実施形態によるエンコーダのブロック図を示している。
【００３４】
同図において、エンコーダ400は入力データ410を受容し、該入力データはブロックで示す離散コサイン変換（DCT）及びジグザグスキャン処理412に渡される。符号412の処理の結果として得られる上部分及び下部分はベース量子化414及び量子化416にそれぞれ渡される。ベース量子化414の出力は、符号418でシンドロームコーディングを受けた後、ビットストリーム430として出力される。ベース量子化414の出力は、符号415で量子化解除され、その入力データとの残余が改質量子化422を受けた後、ビットストリーム430として出力される。
【００３５】
符号412の処理から出力される「下部分」は、量子化416を受け、符号420でエントロピー符号化された後、ビットストリーム430の一部として出力される。
【００３６】
好適な実施形態のエンコーダは、エンコードすべき１つのビデオフレームを、互いに重複しない複数の空間的なブロックへと分割する。例えば、16×16又は８×８ブロックのピクセルを使用することが可能である。エンコーディングの主なステップは次の通りである。
１．分類化：典型的なビデオシーケンスは異種のソースである。同じシーケンス内で、背景シーンの一部である幾つかのブロックは、時間と共に大して変化しない。すなわち、それらは、それらの予測子と高い相関関係を有し、小さな相関ノイズＮを有するものである。一方、変化又はオクルージョン（occlusion）シーンの一部であるブロックは、先行するフレームと小さな相関関係を有し、大きなＮを有する可能性がある。
【００３７】
このため、同じフレーム内で異なるブロックがそれに先行するフレームと異なる度合いの相関関係を有する可能性がある。分類化ステップは、デコーダにおいて利用可能となる相関関係の程度を評価し、及び適当な変換、量子化、及びシンドロームコーディング戦略を決定することを目的としたものである。好適な実施形態では、ブロックフレーム差（すなわち、現在のブロックとそれと同じ場所における先行するフレーム中のブロックとの単純な差）をキューとして使用して現在のブロックを分類する。16の異なるコーディングモード又は分類を表すために４ビットが使用される。
【００３８】
該コーディング分類の１つの極端なものが「スキップ」モードであり、この場合、フレーム差が非常に小さいため、ブロックは全くエンコードされない。他の極端なものが「イントラ」モードであり、この場合には、フレーム差が極めて大きく、これは、相関関係が乏しいことを示唆しており、このため、イントラコーディングが適当となる。その他の14の分類は、前記２つの極端なモードの間に位置する14の異なるシンドロームコーディングモードである。分類ステップで行われる主な計算はブロックフレーム差の評価である。この差の評価は、係数の個数だけ存在する一次の短くて単純な計算である。
２．変換コーディング：ブロックは、２次元離散コサイン変換（DCT）を使用して、ピクセル領域から周波数領域へと変換される。他の実施形態は、高速フーリエ変換（FFT）や改良されたDCT等の異なる変換を使用することが可能である。周波数領域変換ステップは、１ブロック中の空間的な相関関係を使用して圧縮その他の利点を達成する。
３．ベース・スカラー量子化：DCT係数はエンコーディング前に量子化される。量子化のために、ステップサイズの選択がＮという統計により制限される。これを図６に示す。ここで、一番上の線は、Ｘについての量子化されたコードワードの組を示しており、下の２つの線は、量子化されたコードワードの空間の区分を示している。矩形は、第１の区分内に位置する観測されたコードワードを示している。Ｎの大きさが量子化ステップサイズよりも大きいため、デコーダは、二次情報（キュー）Ｙを使用して不正な（円で囲んだ）コードワードをデコードする。このため、Ｘの要素の各々は、Ｎにおける対応する要素の標準偏差に比例するステップサイズで量子化される。図６において、一番上の線は、Ｘについての量子化されたコードワードを示している。下の２つの線は、Ｘの全てのコードワードの量子化された空間の２つの区分を示している。矩形は、観測されたコードワードを示している。該観測されたコードワードは第１の区分内に位置している。Ｎの大きさは量子化ステップサイズよりも大きい。このため、デコーダは、円で囲んだコードワードをデコードし、デコーディングエラーを作成する。
４．ジグザグスキャン：量子化された係数は、２次元ブロック（サイズ16×16又は８×８）についてジグザグスキャンを行うことにより１次元順に配列される。一般に、２次元の係数をジグザグスキャンパターンを使用して１次元順に配列することは、エネルギー（すなわち重要性）が減少していく順番に係数を編成する傾向を有するものとなる。
５．シンドロームエンコーディング：Ｎの統計を使用して適当に生成された量子化されたコードワードの空間が区分化される。区分化は、当業界で周知のユークリッド空間格子チャネルコードを使用するものとすることができる。ターボコードやLDPCコード等の他の区分化法を用いることも可能である。好適な実施形態は、例えばG.D.Forneyの「Coset Codes-Part I: Introduction and Geometrical Classification」(IEEE Transactions on Information Theory, vol.34, pp.1123-1151, September 1988)に記載されているようなメモリ-7レート-1/2格子コードを使用する。ブロック長Ｎのレート-1/2格子コードは、{0,1,2,3}Nの副空間である（ブロック長３の反復チャネルコード（[0 0 0]及び[1 1 1]）は{0,1}3の副空間である）。このため、これを使用して空間{0,1,2,3}Nを区分化することができる。この理由により、量子化されたコードワードの空間を{0,1,2,3}Nへ「変換する」必要がある。これは、図７に示すような量子化格子のmod-4ラベリング使用することにより行うことができる。
【００３９】
この場合に負う送信又は剰余系インデックスレートは１ビット／サンプルである。各コードワードに関連する剰余系インデックス（シンドローム）の生成は、量子化されたコードワードと格子コードのパリティチェック行列との間の単純なたたみこみ処理（係数の個数の一次）を介して計算効率の良い態様で達成することができる。
【００４０】
好適な実施形態では、各分類の各ブロック内のスキャンされた係数の第１の部分のみがシンドロームエンコーディングされる。残りの係数は、純粋にイントラコーディングされる。これは効率的な方法である。なぜなら、一般的な自然なイメージの場合、最初の幾つかの変換係数がブロックに関する情報の殆どを含むからである。このため、最初の幾つかの変換係数は、対応する予測子ブロックと高い相関関係を有していることを期待することができるものである。約20％の係数しかシンドロームエンコーディングされなかった場合に８×８ブロックと16×16ブロックとの両方を使用する好適な実施形態のテストにおいて改善された結果が得られた。
６．「純粋な」ソースコーディング：全係数の約80％を構成する残りの係数は、従来の態様でイントラコーディングされる。該係数は、最初に量子化され、次いでジグザグスキャンされ、最後にランレングスハフマンコーディングを使用してエントロピーコーディングされる。
７．改質量子化：目標再構成品質は、特定の量子化ステップサイズに対応する。所望のより高い品質は、より細かい量子化ステップサイズの結果であり、より低い品質は、より粗い量子化ステップサイズの結果として生じる。純粋にイントラコーディングされる係数は、目標品質に対応するステップサイズで量子化される。しかし、シンドロームエンコーディングされる係数の場合には、ベース量子化ステップサイズの選択がＮにより制限される。これは、デコーディングエラーの可能性を最小限にするために行われる。このため、ベース量子化間隔を高い忠実度でデコーダに正しく伝えることができ、目標の量子化ステップサイズへと更に改質させたものと仮定する。一好適実施形態では、改質処理は、目標の量子化ステップサイズと等しいサイズの間隔へのベース量子化間隔の漸進的な副分割を含む。ベース間隔内の改質間隔のインデックスがデコーダへ送信される。
８．CRC（Cyclic Redundancy Check）：エンコーダにおいて、エンコーディングは基本的には、エンコードすべきブロックＸとフレームメモリ内の前記ブロックのための「最良の」予測子Ｙとの間のモーション補償予測誤差の統計に関連して行われる。デコーダは、ブロックＸのための「最良の」予測子を知らない。
【００４１】
エンコーダは、エンコードされた係数に関するシンドロームだけでなく、量子化されたコードワードシーケンスの（十分な強度の）CRCチェックも送信する。該CRCチェックは、量子化されたコードワードシーケンスの「シグネチャ」として働く。デコーダは、候補予測子の空間にわたり１つずつ探索を行い、シンドロームによりラベル付けされた組からのコードワードをデコードする。デコードされたコードワードがCRCチェックと一致する場合には、デコーディングが成功したことが宣言される。CRCは、コードワードシーケンスに関する信頼できるシグネチャとして働くよう十分に強力なものである必要があることに留意されたい。
デコーダの詳細
図５は、図４のエンコーダ400から出力されたビットストリーム430をシンドロームデコーディング452、エントロピーデコーディング456、及びベース及び改質量子化解除454に従ってデコーディングするためのデコーダを示している。モーション予測464は、提供すべき候補キュー462、すなわちシンドロームデコーディング452のための値（例えば予測子）を生成する。シンドロームデコーディング452の出力は、ビットストリーム430からの情報と共に、ベース及び改質量子化解除454へと送られる。エントロピーデコーディング456の出力は、量子化解除458への入力として使用される。ベース及び改質量子化解除454及び量子化解除458の出力は、逆スキャン及び逆DCT460に送られ、該逆スキャン及び逆DCT460が、図４のオリジナルデータ410と同じ若しくはその適当な近似である出力データ180を生成する。
【００４２】
PRISMデコーダは、比較的高いデコーディングの複雑性を招くものである。一実施形態では、主なモジュールは以下のものを含む（他の実施形態ではモジュールの数及びタイプを変更することが可能である）。
１．キュー生成（モーションサーチ）：デコーダは、モーションサーチを行って、受信したシンドロームにより示される組からの一連の量子化されたコードワードをデコーディングするための候補キュー（予測子）を生成し、又はそれらを任意の他の手段により導出する。一実施形態では、包括的なハーフピクセルモーションサーチを使用して様々な候補予測子を取得する。従来技術で説明したものやそれ以外の現在又は将来の技術を含め、任意の適当なモーションサーチを使用することが可能である。例えば、マルチフレーム予測、光学フロー、制御格子補間等を使用することが可能である。一層洗練され計算上複雑な方法を選択すると、デコーディングされたディジタル情報の全体的な品質（例えば視覚的な品質及び精度）を向上させることができる。一層単純な方法は、結果的に適当な品質を生じさせることができ、装置のコストを削減し、装置が所望のフレームレートを達成することを可能にし、又は他の設計上のトレードオフを提供するものとなる。  
２．シンドロームデコーディング：モーションサーチモジュールにより生成された候補予測子の各々は、シンドロームにより示される組からの量子化されたコードワードをデコーディングするために使用される。好適な実施形態は、ビタビアルゴリズムを使用したデコーディングを含む、G.D.Forneyの「Coset Codes-Part I: Introduction and Geometrical Classification」(IEEE Transactions on Information Theory, vol.34, pp.1123-1151, September 1988」に開示されているような128-状態レート-1/2格子コードを使用する。任意の適当なタイプのシンドロームデコーディングを採用することが可能であることに留意されたい。受信したシンドロームによりラベル付けされた全てのコードワードの組は、格子に関して表現される。次いで、ビタビアルゴリズムを使用して、候補予測子に最も近い前記組内のコードワードが識別される。このデコーディングされたコードワードがCRCチェックと一致する場合には、該デコーディングが成功したことが宣言される。それ以外の場合には、モーションサーチモジュールを使用して次の候補予測子を取得し、次いで手続き全体を繰り返す。
３．評価及び再構築：量子化されたコードワードが回復された場合、それを予測子と共に使用してソースの最良の再構築が得られる。好適な実施形態では、予測子及び量子化されたコードワードからの最良の線形評価を使用してソースの再構築を得る。しかし、任意の信号処理アルゴリズム（例えば時空補間）又は後処理機構をこのフレームワークで使用して全体的な性能を改善し又は修正することが可能である。
４．「純粋な」ソースデコーディング：イントラコーディングされた係数（約80％）の場合、
そのデコーディング動作は、エントロピーデコーディング及びそれに次ぐ量子化解除を含む。  
５．逆ジグザグスキャン：全ての変換係数の量子化解除が完了すると、エンコーダで実行されたジグザグスキャン処理が逆に実行されて、2-Dブロックの再構築された係数が取得される。
６．逆変換：次いで変換された係数が逆変換を使用して反転されて、再構築されたピクセルが与えられる。幾つかの特徴は以下のものを含む。
ａ．上記のエンコーディング／デコーディング方法は、イントラコーディング（例えば「I-フレーム」エンコーディング）に匹敵するエンコーディング上の低い複雑性を提供する。エンコーダにおけるモーションサーチ（典型的には65,000の演算／ピクセル／秒を要するもの）の必要性は、好適な実施形態では低減され又は不要となる。従来のパラダイムでエンコーダにより実行されるモーションサーチ等の処理は、本発明のフレームワークでは、デコーダにより実行することが可能である。更に、モーション予測がエンコーダで実行されないため、フレームメモリへのロードのための頻繁なメモリアクセスを回避することができ、これにより電力消費及び遅延が低減される。このため、本発明の方法は、エンコーディング装置がバッテリー電力による制約を受ける場合の無線のシナリオに適したものとなる。本発明で使用するブロック単位のエンコーディング法は、データレベルの並列処理を呈するものであり、マルチスレッドアーキテクチャでの実施に良く適したものである。
ｂ．エンコーダの圧縮効率を過度に妥協することなくエンコーディングの複雑性の大幅な低下を達成することができる。効率的な圧縮は、ビットストリームのサイズを縮小し、このため総送信電力が最小限となる。複雑性は、必要に応じて、エンコーダからデコーダへと移すことが可能である。
ｃ．ローバスト性、すなわちデータエラーに対する耐性もまた実現することができる。これは、本発明のジョイント・ソース・チャネル・コーディング・フレームワークを、従来の予測コーディングパラダイムよりも伝送損失に対して一層ローバストなものとすることができるからである。例えば、従来のパラダイムは、予測子の損失が残りの情報を役に立たないものにする（デコーディングを行うために残りの情報が予測子に依存するため）という意味で脆弱なものである。シンドロームエンコーディングを使用することにより、ソースがジョイント統計を満たしている限り、該ソースの全ての実現に同じ分類処理が機能することを確実にすることができる。例えば、フレームメモリが、伝送損失に起因して先行するフレームを有さず、その前のフレームのみを有している場合、該フレームが分類化に「一致する」ように十分な相関関係を有していれば、該フレームは依然としてデコーディングに使用することが可能である。これは、１フレーム中の誤差が該誤差を含むフレームから導出された他のフレームへ該誤差を合成することができる従来技術におけるドリフト問題を扱う際の重要な値からなるものである。
【００４３】
ビデオコーディングにおけるドリフト問題は、予測コーディングフレームワークのアーチファクトである。何らかの理由でエンコーダ及びデコーダにおけるフレームメモリが同一でない場合には、残留誤差が何らかの予測子から外れてエンコーダにおいてエンコーディングされ、及び何らかの他の予測子から外れてデコーダにおいてデコーディングされる。伝送損失やエンコーダ及びデコーダにおけるマシン精度が等しくないといったシナリオは、フレームメモリの不一致に通じ得るものである。エンコーダとデコーダとの間のドリフトは、蓄積され及び伝搬され続けて、極めて不愉快な視覚的アーチファクトに通じ得るものとなる。エンコーダとデコーダとの間のドリフトは、それらがイントラコーディングされたフレームにより同期される際に修正される。
ｄ．エンコーダは、伝送チャネル又はその他のファクタに関する情報を使用してチャネル条件にマッチするコーディング戦略を動的に選択することができ、これにより、デコーダにおいて導出される品質を最大限にする。かかる選択は、連続的な圧縮効率とローバスト性との間のトレードオフとすることができる。すなわち、コーディング効率を低下させる（同じ品質のコーディングのために一層高いレートが必要になる）ことにより、ビットストリームを自動的に伝送損失に対して一層ローバストにすることができる。これはネットワークフィードバックが利用可能なシナリオでは大きな値からなる。エンコーダは、フィードバックからチャネル損失を評価する際に、手元にあるチャネル条件にマッチするようコーディング戦略を動的に適応させることができる。この場合、ベース量子化ステップサイズは、重要な調整可能なパラメータである。このステップサイズが、既存の相関関係により必要とされるものよりも粗く選択された場合、これは、相関関係が弱い場合であってもシンドロームデコーディングが成功することになることを意味する。
【００４４】
このため、先行するフレームの幾つかの部分が失われた場合には、該先行するフレームの前のフレームの対応する部分を（それらが現在のフレームと比較して相関関係が一層弱いものであっても）デコーディングに使用することができる。しかし、一層粗い量子化ステップサイズは、同じ所望の品質を達成するための一層大きな改質レイヤーレートを意味する。このため、このベース量子化ステップサイズを「調整」する能力は、「ローバスト性」対「ビットレート」の度合いを選択することを可能にする。この選択は、イメージ又はサウンドの品質、最大又は最小帯域幅、チャネルノイズ、又はエンドユーザが高レベルのサービス若しくは低レベルのサービスの何れに加入しているか等の他の特性といったファクタに基づいて行うことが可能である。該選択は、エンコーディング又はデコーディング処理の前、又はその最中に行うことが可能である。該選択は、エンコーダ、デコーダ、又はそれ以外の場所にあるプロセッサによるものとすることが可能である。該選択は、データ伝送が行われている際に動的にリアルタイムで行うことが可能である。実施形態によっては、複数の特性（例えばローバスト性又はビットレート）のうちの１つを他の特性とは無関係に調節することが望ましい。別の実施形態は、本発明の教示を使用して、他の伝送又はコーディング特性を同様の態様で調節することが可能である。
ｅ．フレキシブルなエンコーディング・シンタックス：該シンタックスは、所与のシンタックスに関するデコーダ間の変動を許容することができる。例えば、シンタックスがクラス識別子内の区分化を指定するがモーション予測処理を指定しない場合には、多数のデコーダ設計のうちの何れも設計も、任意の適当なモーション予測又はその他の処理を使用するのに適したものとなる。該シンタックスは、所与のシンタックスと互換性のある多数の異なるタイプのデコーダに適応することができる。これは、例えばモーション予測、誤差の隠蔽、後処理といった、アルゴリズム又は技術、及びその他の洗練された信号処理タスクの設計上の大きなフレキシビリティを可能にする。
【００４５】
図８は、ネットワーク500を使用してエンコーダ502からデコーダ504へ情報を送る従来技術の方法を示している。既述のように、ネットワーク500は、任意のタイプの通信リンク又はシステムとすることができる。典型的な従来技術の方法では、エンコーダ502は、複雑性の高いエンコーダである。換言すれば、エンコーダ502は、例えばMPEG-4圧縮機構の場合のような所望の圧縮率を達成するために、比較的高い処理能力及びその他のリソースを有している必要がある。ディジタルビデオ圧縮では、複雑性の程度は、エンコーダで使用されるモーション予測のタイプに大きく依存する。典型的には、デコーダは、モーション予測を行わず、エンコーダのモーション予測ルーチンの結果に依存して所望のイメージ情報を生成する。このため、従来技術の方法は、複雑なエンコーダとそれよりも複雑性の低いデコーダとを必然的に有することになる。
【００４６】
しかし、従来技術の方法は、用途によっては望ましくないものとなる。例えば、エンコーダ及びデコーダの両者のリソースが少ない（例えばそれらが携帯電話である）場合には、複雑性の低いエンコーダ及び複雑性の低いデコーダを有することが望ましい。かかる場合には、図９のトランスコーディング機構を使用するのが有利である。
【００４７】
図９において、複雑性の低いPRISMエンコーダ510は、本書に記載する１つ又は２つ以上の特徴を使用して情報をエンコーディングする。例えば、上述したようなシンドロームベースのエンコーディングを採用することが可能である。エンコーダ510から出力された情報は、複雑性の高いPRISMデコーダ512へ提供される。複雑性の高いPRISMデコーダ512は、エンドユーザのデコーダ516ではなく、ディジタルネットワーク518内の１つ又は２つ以上の処理装置を用いて実施することが可能である。複雑性の高いPRISMデコーダ512の出力は、デコーディング済み情報であり、これは、複雑性の高いPRISMエンコーダ514によりエンコーディングされた後、図８の場合と同様に複雑性の低いPRISMデコーダ516によりデコーディングされる。勿論、本発明の特徴を有するものを含め、他のタイプのエンコーダ及びデコーダを使用することが可能である。
【００４８】
図９において、「複雑性の高いデコーダ」及び「複雑性の低いエンコーダ」による方法を、
従来の「複雑性の高いエンコーダ」及び「複雑性の低いデコーダ」による方法と組み合わせて、大量の圧縮及びコーディング処理を、ユーザ装置ではなく、例えば、ディジタルネットワーク装置又はトランスコーディングプロキシに委ねる。また、トランスコーディングプロキシは、本発明のフレームワークで効率的に実施することが可能である。ビットストリームを最初に完全にデコーディングした後にそれを新規に再エンコーディングするのではなく、効率的な実施態様は、従来のビデオエンコーダのための複雑性の高いデコーダにおいてモーションサーチにより得られた予測子を使用することから構成することが可能である。かかる方法では、必要に応じて、514,516のデコーディング及びエンコーディング機能は、それぞれ、単一のハードウェア装置で実行することができる。このため、効率的なトランスコーディングアルゴリズムが本発明のフレームワーク内で可能となる。
【００４９】
複雑性を配分する一つの方法は、エンコーダ及びデコーダがデコーディング機能を実行する度合いを変動させることである。典型的には（及び本書で説明する実施形態の大半では）、エンコーダはデコーディング処理を実行しない。しかし、複雑性を配分するために、エンコーダが、例えば、コードワードにキューを適用して最良のキューを決定し、又は結果の突き合わせを行い、又は所望の結果を提供しないキューを排除することにより、幾分かのデコーディング処理を実行することが可能である。エンコーダにより試行されたキューの指示をデコーダに送って、デコーダにおける望ましくないキューを用いた処理の試行を排除し、これによりデコーダにおいて必要となる処理を削減することが可能である。エンコーダ又はその他のネットワーク装置等の処理装置において他のデコーダ処理を実行するといった他の方法が可能である。
【００５０】
図１０は、単一のPRISMエンコーダ520が、その出力の複雑性を、異なるデコーダに合わせるよう調節する、アプリケーションを示している。デコーダ522は、家庭でテレビに接続されるセットトップボックス等の複雑性の高いタイプのものである。この場合、エンコーダ520は、複雑性の低いエンコーディングを実行することができ、このため、そのリソースの一部を、例えば他のビデオストリームの同時エンコーディングといった、他の目的に使用することが可能である。デコーダ524は、携帯電話の場合のような複雑性の低いタイプのデコーダであり、複雑性の高いタイプのストリーム（すなわち、複雑性の高いエンコーダにおいて一層強力なモーション予測ルーチンを使用してエンコーディングされたストリーム）が供給される必要がある。複雑性の多くの変更が可能であることに留意されたい。複雑性の配分、すなわち、エンコーダが所望のエンコーディング済みのストリームを生成するために複雑な処理を使用しなければならない度合いは、ネットワークから、ターゲットデコーダから、又はその他の装置又は手段からの信号により、指令することが可能である。勿論、複雑性のあらゆるタイプの変更又は配分が可能であり、例えば、複雑性の配分を、ストリームの送信前に又は送信中に、１つ又は２つ以上のエンコーダ及びデコーダ間で変更することが可能である。その他の考え得る変更は自明である。
テスト結果
予備テスト結果は、上述した様々な特徴を示している。テストしたコーディング機構は、高い品質（30dBというオーダーのPSNR）の体制で良好に動作する。表Ｉは、テストした構成の圧縮性能とH.263+ビデオコーディングシステムとの比較を示している。「レート」は、ビットストリームの輝度部分をコーディングするために必要となる総ビット数を測定したものである。
[表Ｉ]
シーケンス・レート       H.263+PSNR（dB）    PRISM PSNR（dB）
フットボール 1400000 35.42 34.20
ユーロニュース 1560000 36.91 35.61
上記結果は、フットボールビデオシーケンス（352×240フレーム解像度）及びユーロニュースビデオシーケンス（320×240フレーム解像度）の最初の15フレームに基づくものである。両シーケンスは、高いモーション内容を有し、またPRISM方式の有効性をテストするために選択されたものである。後者のシーケンスは、カメラのパン及びズームに起因するモーションを含む。基準となるシステムは、バンクーバーのブリティッシュ・コロンビア大学から入手したH.263+ビデオコーダを実施したものである。両方の場合の最初のフレームはイントラモードでエンコードされる（すなわち最初のフレーム中のあらゆるブロックがイントラコーディングモードでエンコードされる）。残りのフレームは、非イントラモードでエンコードされる。
【００５１】
表Ｉは、提案されるビデオコーダの性能をH.263+コーダと比較して概略的に示したものである。予測エンコーディングを用いなかった場合、すなわち、イントラフレーム圧縮のみを用いた場合には、本発明によるテストされた機構の性能は、H.263+よりも約1:2〜1:3dBだけ悪くなる。
【００５２】
ローバスト性をテストするために、ビデオシーケンス中の第２フレームがフレームメモリから除去される。このため、第３フレームが第２フレームなしでエンコーダでエンコーディングされるが、それはH.263+の場合には第１フレームなしでデコーディングされる。これは、この場合には蓄積され伝搬されるドリフトに通ずるものとなる。対照的に、デコーディング品質に対する影響はPRISMでは少なく、ドリフトは生じない。
【００５３】
図１１は、両方の場合におけるフットボールシーケンスのデコーディング後の視覚的な品質を示している。同図のイメージ610,611,612は、それぞれ、PRISMパラダイムに関してデコーディングされた第１、第３、及び第14フレームを示したものである。イメージ620,621,622は、それぞれ、H.263+コーダに関してデコーディングされた第１、第３、及び第14フレームを示したものである。第３フレームのデコーディングでは、デコーダでにおいて第１フレームを使用してキューを生成する。これは、デコーダにおいて第２フレームを使用してキューを生成する場合に対して穏当な（0.2dBのオーダーの）品質の低下に通ずるものとなる。
【００５４】
しかし、H.263+の場合には、品質の低下は、極めて大きく（8dBのオーダー）、これは不快な視覚的なアーチファクト（図８(d)参照）に通ずるものとなり、これはシーケンスの残りを通して伝搬され蓄積される（図８(f)参照）。特に、ジャージ57を有するフットボールプレーヤのジャージ番号は、図８(f)では全く見えないが、図８(e)ではかなり明瞭である。このように、かかる実験は、PRISMの固有のローバスト性を指摘するものとなっている。
【００５５】
本発明をその特定の実施形態に関して説明してきたが、かかる実施形態は、本発明の単なる例示であって本発明を制限するものではない。例えば、「剰余系」、「予測子」、「シンドローム」といった様々な特殊な用語を使用して本発明の実施形態を説明したが、これら用語は、特に断らない限り、それぞれ、「組」、「値」、及び「インデックス」といった、より広義でより一般的な定義（単一及び複数の指示を含む）を意図したものである。特定の技術及び計算について説明したが、本発明は、広範な様々な他の技術を用いて実施することが可能である。例えば、データの完全性を判定するために使用したCRC、又はデータの他のデータとの突き合わせは、チェックサム、ハッシュ、シグネチャ、又はその他のデータを識別するための方法といった、他の計算に置換することが可能である。実施形態によっては、本書に開示する全てのステップを使用する必要はない。多くのかかる変形は、当業者には自明のものである。
【００５６】
Ｃ,Ｃ++、Java、アセンブリ言語その他の、あらゆる適当なプログラミング言語を使用して本発明のルーチンを実施することが可能である。手続き指向又はオブジェクト指向といった、異なるプログラミング技術を採用することが可能である。前記ルーチンは、単一の処理装置又は複数のプロセッサ上で実行することが可能である。本発明の機能は、任意のオペレーティングシステム環境で動作するルーチンという形で、スタンドアロン処理として、ファームウェア、専用の回路、若しくはそれらの組み合わせ、又は任意の他のタイプの処理で、実施することが可能である。
【００５７】
各ステップは、必要に応じて、ハードウェア又はソフトウェアにおいて実行することが可能である。各ステップは、本発明の範囲から逸脱することなく、本書に記載するフローチャートにおける各ステップに追加し、該各ステップから選択し、又は該各ステップを改良したものとすることが可能である、ということに留意されたい。一般に、テーブル又はフローチャートに示したような機能ステップの説明は、本発明の機能的な特徴を達成するための考え得る一連の基礎的な処理を示すためにのみ使用したものである。
【００５８】
実施形態によっては、全てのコードワードの空間、コードワードの区分、又はその他のパラメータもしくは値は、そのとおりに規定する必要はなく、すなわち部分的に規定すればよい。例えば、デコーダ装置は、時間的な制約に起因して、完全な区分を成功裡に生成することができない可能性がある。かかる場合には、例えば、ターゲットコードワードが、生成されたコードワードの区分の一部であると仮定して、該コードワードの区分の一部を使用して、成功裡の結果を依然として達成することが可能である。一般に、実際に機能する実施形態は、本書に記載する完全な処理よりも小規模のものとして実施することが可能である。
【００５９】
本書の説明では、本発明の実施形態の完全な理解を提供するために構成要素及び／又は方法の例示として多数の特定の細部を提供する。しかし、当業者には理解されるように、本発明の実施形態は、該特定の細部の１つ又は２つ以上なしで、又は他の装置、システム、アセンブリ、方法、構成要素、材料、部品、及び／又はその類と共に、実施することが可能である。他の例では、本発明の実施形態の特徴が曖昧になるのを防ぐために、周知の構造、材料、又は処理については特に詳細に図示又は説明しない。
【００６０】
本発明の実施形態を目的とした「コンピュータ」は、メインフレームコンピュータ、パーソナルコンピュータ、ラップトップ、ノートブック、マイクロコンピュータ、サーバその他の、プロセッサを含むあらゆる装置とすることが可能である。「コンピュータプログラム」は、当業界で周知のように、任意の適当なプログラム又はコンピュータに挿入されることになるコーディングされた命令シーケンスとすることが可能である。より詳細に言えば、コンピュータプログラムは、編集された命令のリストであり、その実行時にコンピュータを所定の態様で挙動させるものである。コンピュータプログラムは、（変数と呼ばれる）要素のリスト、及び該変数を用いてコンピュータに何をすべきかを伝える（ステートメントと呼ばれる）命令のリストを含む。該変数は、数値データ、テキスト、又はグラフィカルイメージを表すことが可能なものである。
【００６１】
本発明の実施形態を目的とする「コンピュータ読出可能媒体」は、命令実行系、装置、システム、又は装置により、又はそれらに関連して使用するための、プログラムを含み、格納し、通信し、伝搬させ、又は移送することができる、あらゆる媒体とすることが可能である。コンピュータ読出可能媒体は、例えば、電子的な、磁気的な、光学的な、電磁気的な、赤外線による、又は半導体システムによる、機器、システム、装置、伝搬媒体、又はコンピュータメモリとすることが可能である（但しこれらには限定されない）。
【００６２】
「プロセッサ」は、命令（例えばオペレーティングシステムコード）を翻訳し実行しシステムリソースを管理するシステム又は機構を含む。より詳細には、「プロセッサ」は、入力としてプログラムを受容し、それを実行可能な状態にし、及びデータと共に規定された処理を実行して、結果を生成することが可能なものである。プロセッサは、インタープリタ、コンパイラ、及びランタイムシステム、又はその他の機構を、関連するホストコンピューティングマシン及びオペレーティングシステム又はそれらと同じ効果を達成するための他の機構と共に含むことが可能である。「プロセッサ」はまた、プログラム命令をフェッチし、デコーディングし、及び実行し、及びプログラムが実行された際の結果の状態を維持する、コンピューティングシステムの構成単位である、中央処理装置（CPU）を含むことが可能である。CPUは、命令の翻訳及びその実行を制御する回路を含むコンピューティングシステムの構成単位である。
【００６３】
「サーバ」は、ネットワークに接続された他の装置に特定の機能を提供するためにのみ配設された装置又はコンピュータシステムを含む、任意の適当なサーバ（例えば、データベースサーバ、ディスクサーバ、ファイルサーバ、ネットワークサーバ、ターミナルサーバ等）とすることが可能である。「サーバ」はまた、CPUを含む装置又は機器といった、任意のプロセッサを含む装置又は機器とすることが可能である。クライアント−サーバ・ネットワーク構成に関して本発明を説明したが、あらゆるネットワークトポロジー又は相互接続機構を使用することが可能である。例えば、ピア・ツー・ピア通信を使用することが可能である。
【００６４】
本書全体を通して、「一実施形態」、「一つの実施形態」、又は「特定の実施形態」なる記載は、実施形態に関して説明した特定の特徴、構造、又は特性が、少なくとも１つの本発明の実施形態に含まれ、全ての実施形態に含まれる必要はないことを意味している。このため、本書の様々な場所にある「一実施形態では」、「一つの実施形態では」、又は「特定の実施形態では」なるフレーズは、必ずしも同じ実施形態を指しているとは限らない。更に、本発明の特定の実施形態の特定の特徴、構造、又は特性は、１つ又は２つ以上の他の実施形態と、任意の適当な態様で組み合わせることが可能である。本書に記載し図示する本発明の実施形態の他の変形又は修正は、本書の教示に鑑み実施することが可能であり、本発明の思想及び範囲の一部とみなされるべきものである、ということが理解されるべきである。
【００６５】
更に、本発明の実施形態の少なくとも幾つかは、プログラミングされた汎用ディジタルコンピュータを使用することにより、又は、ASIC（Application Specific Integrated Circuit）、PLD（Programmable Logic Device）、若しくはFPGA（Field Programmable Gate Array）を使用することにより、又は、相互に接続された構成要素及び回路のネットワークを使用することにより、実施することが可能である。有線、無線、光その他の、あらゆる通信チャネル又は接続を使用することが可能である。
【００６６】
図示した要素の１つ又は２つ以上もまた、一層分割され若しくは一層合体された態様で実施することが可能であり、又は特定の用途にとって有用となるように特定の場合に除去し又は動作不能にすることさえも可能である、ということが理解されよう。コンピュータが上記の何れかの方法を実行することができるように、マシン読出可能媒体に格納することができるプログラム又はコードを実施することもまた、本発明の思想及び範囲内である。
【００６７】
更に、図中のあらゆる信号の矢印は、単なる例示であると見なされるべきであり、特に断らない限り、制限を意味するものではない。更に、本書で使用する用語「又は」は、特に断らない限り、「及び／又は」を意味することを意図したものである。用語が、分割し又は組み合わせる能力を不明瞭にするものであることが予測される場合には、複数の構成要素又は複数のステップの組み合わせもまた言及したものと見なされることになる。
【００６８】
詳細な説明及び特許請求の範囲全体を通して使用するように、「１つ」や「その」なる記載は、文脈が明らかに他の場合を示さない限り、複数の指示を含む。また、詳細な説明及び特許請求の範囲全体を通して使用するように、「〜内に」の意味は、文脈が明らかに他の場合を示さない限り、「〜内に」及び「〜上に」を含む。
【００６９】
本発明の実施形態の上記説明は、要約に記載したものを含め、本発明の実施形態の全てを網羅すること又は本発明を本書に記載する厳密な形に限定することを意図したものではない。本書に記載する本発明の特定の実施形態又は実例は、本発明の例示のみを目的としたものであり、当業者であれば理解され評価されるように、本発明の思想及び範囲内で様々な等価な修正例を実施することが可能である。既述のように、かかる本発明に対する修正例は、本発明の実施形態の上記説明に鑑みて実施することが可能であり、本発明の思想及び範囲内に含まれるべきものである。
【００７０】
このように、特定の実施形態に関して本発明を説明してきたが、上記の開示では、一定の許容範囲の修正や様々な変更及び置換が意図されており、場合によっては、既述のように本発明の範囲及び思想から逸脱することなく、本発明の実施形態の幾つかの特徴をそれに対応する他の特徴なしで採用することになる、ということが理解されよう。よって、特定の状況又は物を本発明の本質的な範囲及び思想に適応させるよう多数の修正を実施することが可能である。本発明は、特許請求の範囲で使用する特定の用語、及び／又は本発明の実施を意図したベストモードとして開示された特定の実施形態に限定されるものではなく、本発明は、特許請求の範囲の範囲内にあるあらゆる全ての実施形態及びその等価物を含むものである。
【００７１】
本発明の範囲は、特許請求の範囲のみによって決定されるべきである。
【図面の簡単な説明】
【００７２】
【図１】シンタックス情報の送信及び処理の基礎的な特徴を示している。
【図２】エンコーダの基礎的な構成要素を示している。
【図３】デコーダの基礎的な構成要素を示している。
【図４】追加の特徴を含むエンコーダのブロック図である。
【図５】追加の特徴を含むデコーダのブロック図である。
【図６】観測されたコードワードについての量子化の影響を示す図である。
【図７】コードワード空間のmod-4ラベリングを示している。
【図８】エンコーダからデコーダへ情報を送るための従来技術の方法を示している。
【図９】本発明の１つまたは２つ以上の実施形態による装置を使用したコーディング送信方法を示している。
【図１０】２つの異なるストリームに関する複雑性の配分を示している。
【図１１】ビデオイメージのエンコーディングテストに関する視覚的な品質を示している。
【図１】
2006516177.tif 000003
【図２】
2006516177.tif 000004
【図３】
2006516177.tif 000005
【図４】
2006516177.tif 000006
【図５】
2006516177.tif 000007
【図６】
2006516177.tif 000008
【図７】
2006516177.tif 000009
【図８】
2006516177.tif 000010
【図９】
2006516177.tif 000011
【図１０】
2006516177.tif 000012
【図１１】
2006516177.tif 000013
【国際調査報告】
2006516177.tif 000014