(57)【要約】【課題】時間的なスケーラビリティのために２方向予測されたフレームを組み立てるための方法及び装置。【解決手段】同時にただ１つの参照フレームから参照フレーム部分の位置を見つけることが可能な動き補償コーデックを用いて２つの参照フレームから予測された２方向画像をデコードするための方法、装置及びシステム。１巡目において第１のフレームから第１の参照フレーム部分の位置を見つけること、メモリ中に第１の参照フレーム部分を記憶すること；２巡目において第２のフレームから第２の参照フレーム部分の位置を見つけること、そして２方向に予測された部分を形成するために第１の参照フレーム部分及び第２の参照フレーム部分を統合すること、を含む。同様に、同時にただ１つの参照フレームから参照フレーム部分の位置を見つけることが可能でありそして各マクロブロックに対して限られた数の区分をデコードすることが可能な動き補償コーデックによってデコードされるように２つの参照フレームから予測された２方向画像のエンコーディングを制限するための方法及び装置。【選択図】図６
2007536807.tif 000002
【特許請求の範囲】
【請求項１】
同時にただ１つの参照フレームから参照フレーム部分の位置を見つけることが可能な動き補償コーデックを用いて２方向画像をデコードするための方法、該方法は下記を具備する：
１巡目において第１の参照フレームから第１の参照フレーム部分の位置を見つけること；
メモリ中に該第１の参照フレーム部分を記憶すること；
２巡目において第２の参照フレームから第２の参照フレーム部分の位置を見つけること；及び
２方向に予測された部分を形成するために該第１の参照フレーム部分及び該第２の参照フレーム部分を統合すること。
【請求項２】
請求項１の方法、該方法は下記をさらに具備する：
ワイアレス・ネットワークを介して、該第１の参照フレーム及び該第２の参照フレームを表しているエンコードされたデータを受信すること；及び
該ワイアレス・ネットワークを介して該第１の参照フレーム部分及び該第２の参照フレーム部分の該位置を識別するエンコードされたデータを受信すること。
【請求項３】
請求項１の方法、該方法は下記をさらに具備する：
該１巡目において該第１の参照フレームのピクセルを補間すること；及び
該２巡目において該第２の参照フレームのピクセルを補間すること。
【請求項４】
請求項３の方法、該方法は下記をさらに具備する：
該１巡目において該第１の参照フレームの境界端をパッドすること；及び
該２巡目において該第２の参照フレームの境界端をパッドすること。
【請求項５】
請求項１の方法、該方法は下記をさらに具備する：
運動ベクトルを用いて該参照フレーム部分の位置を見つけること。
【請求項６】
請求項１の方法、該方法は下記をさらに具備する：
該２方向に予測された部分に残留エラーを加えること。
【請求項７】
請求項１の方法、該方法は下記をさらに具備する：
該２方向に予測された部分を表示すること。
【請求項８】
請求項１の方法、該方法は下記をさらに具備する：
該１巡目及び該２巡目を連続して実行すること。
【請求項９】
請求項１の方法、該方法は下記をさらに具備する：
時間的なスケーリングを実行するために２つの参照フレームから予測された２方向画像のデコーディングを省略することを決定すること。
【請求項１０】
請求項２の方法、該方法は下記をさらに具備する：
スケーラブル・ビデオのコード化されたビットストリームのベース・レイヤ中のマルチメディア・データの第１の相互コード化された部分をエンコードすること；
該スケーラブル・ビデオのコード化されたビットストリームのエンハンスメント・レイヤ中のマルチメディア・データの第２の２方向部分をエンコードすること、ここにおいて、該マルチメディア・データは該第１の参照フレームを表しているデータ、該第２の参照フレームを表しているデータ、及び該第１の参照フレーム部分及び該第２の参照フレーム部分の該位置を識別するデータを具備する；及び
該ワイアレス・ネットワークを介して該マルチメディア・データを送信すること。
【請求項１１】
同時にただ１つの参照フレームから参照フレーム部分の位置を見つけることが可能な動き補償コーデックを用いて２方向画像をデコードするための装置、該装置は下記を具備する：
１巡目において第１の参照フレームから第１の参照フレーム部分の位置を見つけるための手段；
メモリ中に該第１の参照フレーム部分を記憶するための手段；
２巡目において第２の参照フレームから第２の参照フレーム部分の位置を見つけるための手段；及び
２方向に予測された部分を形成するために該第１の参照フレーム部分及び該第２の参照フレーム部分を統合するための手段。
【請求項１２】
請求項１１の装置、該装置は下記をさらに具備する：
ワイアレス・ネットワークを介して、該第１の参照フレーム及び該第２の参照フレームを表しているエンコードされたデータを受信するための手段；及び
該ワイアレス・ネットワークを介して該第１の参照フレーム部分及び該第２の参照フレーム部分の該位置を識別するエンコードされたデータを受信するための手段。
【請求項１３】
請求項１１の装置、該装置は下記をさらに具備する：
該１巡目において該第１の参照フレームのピクセルを補間するための手段；及び
該２巡目において該第２の参照フレームのピクセルを補間するための手段。
【請求項１４】
請求項１３の装置、該装置は下記をさらに具備する：
該１巡目において該第１の参照フレームの境界端をパッドするための手段；及び
該２巡目において該第２の参照フレームの境界端をパッドするための手段。
【請求項１５】
請求項１１の装置、該装置は下記をさらに具備する：
運動ベクトルを用いて該参照フレーム部分の位置を見つけるための手段。
【請求項１６】
請求項１１の装置、該装置は下記をさらに具備する：
該２方向に予測された部分に残留エラーを加えるための手段。
【請求項１７】
請求項１１の装置、該装置は下記をさらに具備する：
該２方向に予測された部分を表示するための手段。
【請求項１８】
請求項１１の装置、該装置は下記をさらに具備する：
該１巡目及び該２巡目を連続して実行するための手段。
【請求項１９】
請求項１１の装置、該装置は下記をさらに具備する：
時間的なスケーリングを実行するために２つの参照フレームから予測された２方向画像の該デコーディングを省略することを決定するための手段。
【請求項２０】
同時にただ１つの参照フレームから参照フレーム部分の位置を見つけることが可能な動き補償コーデックを用いて２方向画像をデコードするための電子デバイス、該電子デバイスは、１巡目において第１の参照フレームから第１の参照フレーム部分の位置を見つけるため、メモリ中に該第１の参照フレーム部分を記憶するため、２巡目において第２の参照フレームから第２の参照フレーム部分の位置を見つけるため、そして２方向に予測された部分を形成するために該第１の参照フレーム部分及び該第２の参照フレーム部分を統合するために、構成される。
【請求項２１】
請求項２０の電子デバイス、該電子デバイスは、ワイアレス・ネットワークを介して、該第１の参照フレーム及び該第２の参照フレームを表しているエンコードされたデータを受信するため、そして該ワイアレス・ネットワークを介して該第１の参照フレーム部分及び該第２の参照フレーム部分の該位置を識別するエンコードされたデータを受信するために、さらに構成される。
【請求項２２】
請求項２０の電子デバイス、該電子デバイスは、該１巡目において該第１の参照フレームのピクセルを補間するため、そして該２巡目において該第２の参照フレームのピクセルを補間するために、さらに構成される。
【請求項２３】
請求項２２の電子デバイス、該電子デバイスは、該１巡目において該第１の参照フレームの境界端をパッドするため、そして該２巡目において該第２の参照フレームの境界端をパッドするために、さらに構成される。
【請求項２４】
請求項２０の電子デバイス、該電子デバイスは、運動ベクトルを用いて該参照フレーム部分の位置を見つけるために、さらに構成される。
【請求項２５】
請求項２０の電子デバイス、該電子デバイスは、該２方向に予測された部分に残留エラーを加えるために、さらに構成される。
【請求項２６】
請求項２０の電子デバイス、該電子デバイスは、該２方向に予測された部分を表示するために、さらに構成される。
【請求項２７】
請求項２０の電子デバイス、該電子デバイスは、該１巡目及び該２巡目を連続して実行するために、さらに構成される。
【請求項２８】
請求項２０の電子デバイス、該電子デバイスは、時間的なスケーリングを実行するために２つの参照フレームから予測された２方向画像の該デコーディングを省略することを決定するために、さらに構成される。
【請求項２９】
同時にただ１つの参照フレームから参照フレーム部分の位置を見つけることが可能な動き補償コーデックを用いて２方向画像をデコードするための方法をコンピュータに実行させるための命令を有するコンピュータ読み取り可能な媒体、該方法は下記を具備する：
１巡目において第１の参照フレームから第１の参照フレーム部分の位置を見つけること；
メモリ中に該第１の参照フレーム部分を記憶すること；
２巡目において第２の参照フレームから第２の参照フレーム部分の位置を見つけること；及び
２方向に予測された部分を形成するために該第１の参照フレーム部分及び該第２の参照フレーム部分を統合すること。
【請求項３０】
同時にただ１つの参照フレームから参照フレーム部分の位置を見つけることが可能でありそして各マクロブロックに対して限られた数の区分をデコードすることが可能な動き補償コーデックによってデコードされるように２つの参照フレームから予測された２方向画像をエンコードするための方法、該方法は下記を具備する：
該２方向画像のマクロブロックを複数の部分マクロブロックに区分すること；
該部分マクロブロックの各々に対して該２つの参照フレームの各々の中の予測された領域の位置を見つけること；及び
該動き補償コーデックがデコードすることが可能な区分の該限られた数の半分よりも多くない数に該部分マクロブロックの数を制限すること。
【請求項３１】
同時にただ１つの参照フレームから参照フレーム部分の位置を見つけることが可能でありそして各マクロブロックに対して限られた数の区分をデコードすることが可能な動き補償コーデックによってデコードされるように２つの参照フレームから予測された２方向画像をエンコードするための装置、該装置は下記を具備する：
該２方向画像のマクロブロックを複数の部分マクロブロックに区分するための手段；
該部分マクロブロックの各々に対して該２つの参照フレームの各々の中の予測された領域の位置を見つけるための手段；及び
該動き補償コーデックがデコードすることが可能な区分の該限られた数の半分よりも多くない数に該部分マクロブロックの数を制限するための手段。
【請求項３２】
同時にただ１つの参照フレームから参照フレーム部分の位置を見つけることが可能でありそして各マクロブロックに対して限られた数の区分をデコードすることが可能な動き補償コーデックによってデコードされるように２つの参照フレームから予測された２方向画像をエンコードするための電子デバイス、該電子デバイスは、該２方向画像のマクロブロックを複数の部分マクロブロックに区分するために、該部分マクロブロックの各々に対して該２つの参照フレームの各々の中の予測された領域の位置を見つけるために、及び該動き補償コーデックがデコードすることが可能な区分の該限られた数の半分よりも多くない数に該部分マクロブロックの数を制限するために、構成される。
【請求項３３】
同時にただ１つの参照フレームから参照フレーム部分の位置を見つけることが可能でありそして各マクロブロックに対して限られた数の区分をデコードすることが可能な動き補償コーデックによってデコードされるように２つの参照フレームから予測された２方向画像をエンコードするための方法をコンピュータに実行させるための命令を有するコンピュータ読み取り可能な媒体、該方法は下記を具備する：
該２方向画像のマクロブロックを複数の部分マクロブロックに区分すること；
該部分マクロブロックの各々に対して該２つの参照フレームの各々の中の予測された領域の位置を見つけること；及び
該動き補償コーデックがデコードすることが可能な区分の該限られた数の半分よりも多くない数に該部分マクロブロックの数を制限すること。
【発明の詳細な説明】
【技術分野】
【０００１】
特許に関する本出願は、米国特許仮出願番号第６０／５６８，１４２号、名称“Ｂ−フレーム及びスケーラビリティを与えるための方法及び装置”、２００４年５月４日出願、に優先権を主張し、そして本出願の譲受人に譲渡され、それによって本明細書中に引用により明示的に取り込まれている。
【０００２】
本発明は、エンハンスメント・レイヤ・フレームの組み立てのためにベース・レイヤ・モジュールの効率的な再使用でスケーラブル（scalable）・ビデオ・データをエンコードしそしてデコードするための方法及び装置に関する。
【背景技術】
【０００３】
インターネット及びワイアレス通信の爆発的な成長及び非常な成功のために、同様にマルチメディア・サービスに対する増加している要求のために、インターネット及び移動体チャネル／ワイアレス・チャネルを介して媒体をストリーミングすることが、非常に大きな注目を集めている。ハイブリッド・インターネット・プロトコル（ＩＰ：Internet Protocol）ネットワークにおいて、ビデオは、サーバによって提供され、そして１又はそれより多くのクライアントにストリームされることが可能である。有線通信手段は、電話回線、ＩＳＤＮ、ケーブル、ｘＤＳＬ、光ファイバ、ＬＡＮ（local area network：ローカル・エリア・ネットワーク）、ＷＡＮ（wide area network：広域ネットワーク）及びその他を含む。送信モードは、ユニキャスト又はマルチキャストのいずれかであることが可能である。ＰＤＡ（personal digital assistant：パーソナル・ディジタル・アシスタント）、ラップトップ、デスクトップ、セットトップ・ボックス、ＴＶ、ＨＤＴＶ（high-definition television：高品位テレビ）、移動体電話機及びその他を含む、多様なクライアント・デバイスは、同じコンテントに対して同時に異なる帯域幅のビットストリームを必要とする。回線帯域幅は、（９．６ｋｂｐｓから１００Ｍｂｐｓ又はそれ以上に）時間とともに急速に変化することがあり、そしてサーバの反応よりも早いことがある。
【０００４】
ハイブリッドＩＰネットワークと同様なものは、移動体通信／ワイアレス通信である。移動体チャネル／ワイアレス・チャネルを介したマルチメディア・コンテントの輸送は、下記の理由のために非常に難しい、これらのチャネルが、マルチパス・フェーディング、シャドーイング、シンボル間干渉、及びノイズ妨害のような効果のために頻繁に著しく害されるためである。移動性及び競合するトラフィックのような複数の他の理由が、同様に、帯域幅変化及び損失を生じさせる。チャネル・ノイズ及びサービスされるユーザの数のような複数の要因が、チャネル環境の時間変化する特性を決定する。環境状態に加えて、地理的な位置のために、同様に移動体が移動することのために、宛て先ネットワークが、第２世代セルラ・ネットワーク、第３世代セルラ・ネットワークからブロードバンド・データのみのネットワークに変化することがあり得る。移動中でさえも、全てのこれらの変動は、マルチメディア・コンテントのために適応レート調節を要求する。それゆえ、ハイブリッド有線／ワイアレス・ネットワークを介してのビデオの良好な送信は、効率的なコーディングを必要とし、同様に変化するネットワーク状態、デバイス特性、及びユーザの好みへの適応性を必要とし、他方でしかも損失に対して弾力的であることを必要とする。
【０００５】
異なるユーザの要求を満たすためにそしてチャネル変化に適応するために、ビットストリームの複数の独立したバージョンを発生させることが可能であり、各々は、送信帯域幅、ユーザ・ディスプレイ及び演算の能力に基づいて制約の１つのクラスを満足させる。しかし、これは、サーバの記憶容量又はネットワークの容量に関して効率的でない。スケーラブル・コーディングにおいて、そこでは、ハイ−エンド・ユーザを適応させる１つのマクロ−ビットストリームがサーバにおいて創出され、ロー−エンド・アプリケーションのためのビットストリームは、マクロ−ビットストリームの下位セットとして埋め込まれる。その意味で、１つのビットストリームは、部分ビットストリームを選択的に送信することによって多様なアプリケーション環境に適合されることが可能である。スケーラブル・コーディングによって提供される別の１つの利点は、エラーの傾向があるチャネル上でエラーに強いビデオ送信に対してである。エラー防護及びエラー隠匿（error concealment）は、容易に取り扱われることが可能である。より信頼性のある送信チャネル又はより良いエラー防護は、最も重要な情報を含んでいるベース・レイヤ・ビットに適用されることが可能である。
【０００６】
ＭＰＥＧ−１，ＭＰＥＧ−２，ＭＰＥＧ−４（総括してＭＰＥＧ−ｘと呼ぶ）、Ｈ．２６１，Ｈ．２６２，Ｈ２６３，及びＨ．２６４（総括してＨ．２６ｘと呼ぶ）のようなハイブリッド・コーダにおける空間的スケーラビリティ、時間的スケーラビリティ、及び信号対ノイズ比（ＳＮＲ：signal to noise ratio）スケーラビリティがある。ハイブリッド・コーディングにおいて、時間的な冗長性は、動き補償予測（ＭＣＰ：motion-compensated prediction）によって除去される。ビデオは、一般的に、一連の画像のグループ（ＧＯＰ：group of picture）に分割される、ここで、各ＧＯＰは、内部コード化されたフレーム（intra-coded frame）（Ｉ）で始まり、前方予測されたフレーム（Ｐ）及び２方向予測されたフレーム（Ｂ）の配列が続く。Ｐ−フレーム及びＢ−フレームの両者は、相互フレーム（inter-coded frame）である。Ｂフレームは、大部分のＭＰＥＧのようなコーダにおける時間的なスケーラビリティに対してキーである。しかしながら、ＭＰＥＧ−４単純プロフィール（Simple profile）及びＨ．２６４ベースライン・プロフィール（Baseline Profile）のような複数のプロフィールは、Ｂフレームをサポートしない。
【０００７】
ＭＰＥＧ−４において、プロフィール及びレベルは、特定のビットストリームをデコードするために必要とされるデコーダの能力に基づくシンタックス（syntax：構文）の下位セット及びシメンティクス（semantics：意味）を規定する手段を提供する。プロフィールは、全体のビットストリーム・シンタックスの下位セットとして定義される。レベルは、ビットストリーム内のパラメータに課せられた制約の定義されたセットである。いずれかの与えられたプロフィールに関して、レベルは、一般に、デコーダの処理負荷及びメモリ能力に対応する。そこで、プロフィール及びレベルは、ビットストリームの制約を規定し、そしてそれゆえビットストリームをデコードする能力についての制限を定める。もし、デコーダがそのレベルにおいてそのプロフィールによって規定されように全てのシンタックス・エレメントの全ての許される値を適切にデコードすることが可能であるならば、一般に、デコーダは、与えられたレベルで与えられたプロフィールにしたがうように見なされるべきである。
【０００８】
近年のマイクロプロセッサ・チップセットの進化発展、又は拡散は、ソフトウェア、ファームウェア及びハードウェアに対する変更を最小に保ちつつ要求が満足されることが可能な場合に、効率的な方式で実現されることが可能である。上で説明したように、ＭＰＥＧ−４単純プロフィール及びＨ．２６４ベースライン・プロフィールは、時間的なスケーラビリティに関してＢフレームをサポートしない。したがって、これらのプロフィールに適合するように開発されたチップセットは、Ｂフレームをサポートしないことがある。より高いレートのマルチメディアの人気の増大そして要求の増加とともに、そしてより高いレートのマルチメディアをサポートするネットワークの増加とともに、ＭＰＥＧ−４単純プロフィール又はＨ．２６４ベースライン・プロフィールからＢフレームを用いて時間的なスケーラビリティを提供するプロフィールへの有効な拡散パスが、必要とされる。ＭＰＥＧ−４規格は、ＩＳＯ／ＩＥＣ１４４９６−２に記載されている。Ｈ．２６４規格は、［ＩＳＯ／ＩＥＣ１４４９６−１０］に記載されている。
【非特許文献１】ＩＳＯ／ＩＥＣ１４４９６−２
【非特許文献２】ＩＳＯ／ＩＥＣ１４４９６−１０
【発明の開示】
【０００９】
［サマリー］
したがって、本明細書中に開示された複数の実施形態は、ベース・レイヤのソフトウェア、ファームウェア及びハードウェアへの最小の変更で、ベース・レイヤの非時間的なスケーリング設計に基づいて、２方向予測を介して、スケーラブル・ビデオのコード化されたデータを提供するための方法及び装置を提供する。
【００１０】
動き補償された２方向予測の使用を通してビデオ・ストリームのスケーラブル・コーディングを可能にするビデオ・エンコーディング・システム及びビデオ・デコーディング・システムが、記載される。２方向予測された領域の組み立てのためにベース・レイヤの非時間的なスケーリング・モジュールの効果的な設計及び使用は、エンハンスメント（enhancement）レイヤ・コーディングを提供するための効果的な移動パス（migration path）を使用可能にする。ベース・レイヤの非時間的なスケーリング・モジュールは、連続して２方向参照領域の各々をデコードすることによって、そしてその後２方向予測された領域を計算するために結果を統合することによって、２方向予測された領域をデコードするために使用される。
【００１１】
［詳細な説明］
ベース・レイヤのソフトウェア、ファームウェア及びハードウェアへの最小の変更で、ベース・レイヤの非スケーラブル・コーディング設計に基づいて、２方向予測を介して、スケーラブル・ビデオのコード化されたデータを提供するための方法、装置及びシステムが、記載される。ベース・レイヤ動き補償コーデックは、前方予測された（forward predicted）Ｐフレーム又は後方予測された（backward predicted）Ｐフレームを組み立てることができる。同様に、ベース・レイヤ動き補償コーデックは、ソフトウェア、ファームウェア及びハードウェアへの最小の変更で修正されることが可能であり、前方予測された／後方予測された（すなわち、２方向）Ｂフレームを組み立てる。Ｐフレームをデコードするために使用した同じ構成要素は、複数の参照物を用いてＢフレームをデコードするために連続して利用されることが可能である。Ｐフレームは、ベース・レイヤ中に含まれることが可能であり、他方でＢフレームは、スケーラブル・ビデオのコード化されたビットストリームのエンハンスメント・レイヤ中に含まれることが可能である。
【００１２】
下記の記載において、具体的な詳細が、複数の例の完全な理解を提供するために与えられる。しかしながら、複数の例が、これらの具体的な詳細なしで実行されることができることは、当業者によって理解される。例えば、電気的な構成要素は、不必要な詳細で複数の例を不明確にしないためにブロック図で示されることがある。別の事例において、そのような構成要素、他の構造及び技術が、複数の例をさらに説明するために詳細に示されることがある。
【００１３】
複数の例が、フローチャート、フロー図、構造図、又はブロック図として図示されるプロセスとして記載されることができることに同様に注意する。フローチャートが連続したプロセスとして動作を記載することができるけれども、多くの動作は、並行して又は同時に実行されることが可能であり、そしてプロセスは、繰り返されることが可能である。その上、動作の順序は、並べ替えられることができる。プロセスは、その動作が完了した時に終了される。プロセスは、方法、機能、手順、サブルーチン、サブプログラム、等に対応することができる。プロセスが機能に対応する場合、その終了は、呼び出し機能又は主機能に機能が戻ることに対応する。
【００１４】
ＭＰＥＧ−ｘ及びＨ．２６ｘとして知られる２つのビデオ・コーディング規格は、データ処理技術及び操作技術（本明細書中ではハイブリッド・コーディングとして呼ばれる）を記載する。これは、固定長ソース・コーディング技術又は可変長ソース・コーディング技術を使用してビデオ情報、オーディオ情報、及びその他の情報の圧縮及び配信に好適である。特に、上に引用された規格類、及びその他のハイブリッド・コーディング規格類及び技術は、例示的に、（例えば、ラン長コーディング、ハフマン・コーディング及びその他のような）フレーム内コーディング（intra-frame coding）技術及び（例えば、前方予測コーディング及び後方予測コーディング、動き補償及びその他のような）フレーム間コーディング（inter-frame coding）技術を使用してビデオ情報を圧縮する。具体的に、ビデオ処理システムのケースでは、ハイブリッド・ビデオ・コーディング・システムは、フレーム内動き補償エンコーディング及び／又はフレーム間動き補償エンコーディングを用いてビデオ・フレームの予測ベースの圧縮エンコーディングによって特徴付けられる
フレーム内コーディングは、いかなる他の画像を参照することなく画像（フィールド又はフレーム）をエンコードすることを呼ぶ、しかし、内部コード化された（intra-coded）画像は、別の画像に対する参照として使用されることが可能である。用語フレーム内、内部コード化されたフレーム及びＩフレームは、本出願全体を通して使用される内部コーディングを用いて形成されるビデオ−オブジェクトの全ての例である。
【００１５】
フレーム間コーディング、又は予測コーディングは、別の１つの画像を参照して画像（フィールド又はフレーム）をエンコードすることを呼ぶ。内部コード化された画像と比較して、相互コード化された（inter-coded）画像又は予測された画像は、非常に効率的にコード化されることができる。本出願全体を通して使用される相互コード化された画像の例は、予測されたフレーム（前方予測又は後方予測のいずれかであり、しかもＰフレームとも呼ばれる）、及び２方向予測されたフレーム（同様にＢフレームと呼ばれる）である。相互コーディングに関する他の用語は、ハイ−パス・コーディング、残余コーディング、動き補償補間、及び当業者に周知であるその他のものを含む。
【００１６】
スケーラブル・コーディングとして知られる技術は、（Ｐフレーム又はＢフレームのような）内部コード化された画像及び異なる相互コード化された画像を、例えば、ベース・レイヤ及びエンハンスメント・レイヤのようなビットストリーム中の異なるレイヤに分割することが可能である。スケーラブル・コーディングは、ダイナミック・チャネルにおいて有用である、そこではスケーラブル・ビットストリームが、ネットワーク帯域幅内の変動に見合うように適合されることが可能である。エラーの起き易いチャネルにおいて、スケーラブル・コーディングは、ベース・レイヤ及びエンハンスメント・レイヤの同等でないエラー防護を通して強さを付加することが可能である。より良いエラー防護は、より重要なレイヤに適用されることが可能である。
【００１７】
図１は、ストリーミング画像をエンコードするためそしてデコードするための一般的な通信システムのブロック図である。システム１００は、エンコーダ・デバイス１０５及びデコーダ・デバイス１１０を含む。エンコーダ・デバイス１０５は、内部エンコーディング素子１１５、予測エンコーディング素子１２０、時間的なスケーラビリティ素子１２５、メモリ素子１３０、及び通信素子１７５を含む。これらのエレメントは、単体素子であり得る、若しくは１又はそれより多くのマイクロプロセッサ又はディジタル・シグナル・プロセッサ（ＤＳＰ：digital signal processor）により含まれることができる。エンコーダ・デバイス１０５は、通信素子１７５内に含まれる通信論理回路を使用して外部ソース１３５からデータを受信することが可能である。外部ソース１３５は、例えば、外部メモリ、インターネット、ライブの又はディレー・ビデオ及び／又はオーディオ・フィードであることができ、そしてデータを受信することは、有線通信及び／又はワイアレス通信を含むことが可能である。外部ソース１３５内に含まれるデータは、エンコードされていない状態又はエンコードされた状態であることが可能である。内部エンコーディング素子１１５は、フレーム（スライス、マクロブロック及び部分マクロブロック）の内部コード化された部分をエンコードするために使用される。予測エンコーディング素子１２０は、前方予測、後方予測及び２方向予測を含む、フレームの予測された部分をエンコードするために使用される。
【００１８】
エンコーダ・デバイス１０５は、エンコーディングのために生データ又はエンコードされたデータをアクセスできる。エンコードされたデータは、時間的なスケーラビリティを与えるために２方向予測されたフレームのようなエンハンスメント・レイヤ部分で既にエンコードされた部分を置き換えるためにアクセスされることが可能である。エンコードされたデータ（内部コード化されたデータ又は相互コード化されたデータのいずれか）をアクセスする場合、内部エンコーディング素子１１５及び予測エンコーディング素子１２０内に含まれる論理回路は、エンコードされたデータをデコードし、結果として再組み立てされた生データを生じる。この再組み立てされた生データ、すなわちアクセスされた生データは、その後、時間的なスケーラビリティのためにＢフレームを含んでいるエンハンスメント・レイヤ及び／又は低優先度データを与えるような方法でエンコードされることが可能である。
【００１９】
時間的なスケーラビリティ素子１２５は、論理回路を含み、これはどのビデオ・データの部分が内部エンコーディング素子１１５によって内部コード化されるべきであるかを決定するため、そしてどの部分が予測エンコーディング素子１２０によって相互コード化されるべきであるかを決定するために使用される。時間的なスケーラビリティ素子１２５は、しかもどのビデオの部分が低優先度でありそしてエンハンスメント・レイヤ内に置かれるべきであるかを決定するため、そしてどの部分が高優先度でありそしてベース・レイヤ内に置かれるべきであるかを決定するための論理回路を含む。時間的なスケーラビリティ素子１２５は、オーバーヘッド情報をエンコードし、オーバーヘッド情報は、例えば、マクロブロック・マップのような内部コード化された部分のマップ及び相互コード化された部分のマップを含むことが可能であり、ここでマクロブロック（又は部分マクロブロック）は内部コード化される又は相互コード化されるように識別され（同様に、どのタイプの相互コーディングが、例えば、前方、後方又は２方向を含んでいるかを識別し）、そしてフレームの相互コード化された部分がどれに対して参照にされるかを識別する。エンコーディングの後で、エンコードされたフレームは、メモリ素子１３０又は外部メモリ内に記憶される。外部メモリは、外部ソース１３５内部に含まれることが可能である、又は別のメモリ素子（図示されず）であることが可能である。
【００２０】
通信素子１７５は、ネットワーク１４０とともにデータ送信（Ｔｘ：transmission）のために使用される論理回路を含む。ネットワーク１４０は、電話システム、ケーブル・システム、及び光ファイバ・システムのような有線システム、又はワイアレス・システムの一部であることが可能である。ワイアレスのケースでは、通信システム、ネットワーク１４０は、下記のシステムの一部を備えることが可能である。例えば、コード分割多元アクセス（ＣＤＭＡ：code division multiple access又はＣＤＭＡ２０００、又はこれらの変形、同様なＣＤＭＡ２０００  １ｘ、ＣＤＭＡ２０００  １ｘ−ＥＶＤＯ）通信システム、又は代わりに、システムは、周波数分割多元アクセス（ＦＤＭＡ：frequency division multiple access）システム、時分割多元アクセス（ＴＤＭＡ：time division multiple access）システム、例えば、ＧＳＭ／ＧＰＲＳ（General Packet Radio Service：汎用パケット無線サービス）／ＥＤＧＥ（enhanced data GSM environment：拡張データＧＳＭ環境）、又はサービス産業のためのＴＥＴＲＡ（Terrestrial Trunked Radio：地上中継無線）移動体電話技術、ワイドバンド・コード分割多元アクセス（ＷＣＤＭＡ：wideband code division multiple access）ＯＦＤＭ（Orthogonal Frequency Division Multiplexing：直交周波数分割多重化）又はＯＦＤＭＡ（Orthogonal Frequency Division Multiple Access：直交周波数分割多元アクセス）システム、８０２．ｘｘシステム、又は一般に複数の技術の組み合わせを採用するいずれかのワイアレス通信システムである。エンコードされたフレームは、ネットワーク１４０を介して送信（Ｔｘ）される。エンコーダ・デバイス１０５によって実行されるエンコーディング・プロセスは、以下にさらに十分に説明される。
【００２１】
デコーダ・デバイス１１０は、エンコーダ・デバイス１０５に対して相補的な構成要素を含み、内部デコーディング素子１４５、予測デコーディング素子１５０、時間的なスケーラビリティ素子１５５、メモリ素子１６０及び通信素子１８０を含む。デコーダ・デバイス１１０は、ネットワーク１４０を介して送信されたエンコードされたデータ又は外部記憶装置１６５からのエンコードされたデータを受信する。通信素子１８０は、ネットワーク１４０とともにエンコードされたデータを受信（Ｒｘ：receive）するために使用される論理回路を含み、同様に、外部記憶装置１６５からエンコードされたデータを受信するための論理回路を含む。外部記憶装置１６５は、例えば、外付けＲＡＭ又はＲＯＭ、若しくは遠隔サーバであり得る。内部デコーディング素子１４５は、内部コード化されたデータをデコードするために使用される。予測デコーディング素子１５０は、相互コード化されたデータをデコードするために使用される。予測デコーディング素子は、（前方予測された又は後方予測された）両方のＰフレーム同様にＢフレームをデコードする。Ｐフレームをデコードするために使用される同じ下位構成要素は、複数の参照物を用いてＢフレームをデコードするために連続して利用されることが可能である。Ｂフレームに関する複数の参照物は、前方参照フレーム及び後方参照フレーム中にあることがある、両方とも同じ参照フレーム中にあることがある、両方とも別々の前方参照フレームの中にあることがある又は両方とも後方参照フレームの中にあることがある。
【００２２】
時間的なスケーラビリティ素子１５５は、オーバーヘッド情報をデコードするために使用する論理回路を含み、上で検討されたマクロブロック・マップを含み、そして内部デコーディング素子１４５及び予測デコーディング素子１５０が適切な方法で適切なマクロブロックをデコードすることが可能であるようにこの情報を変換する。情報の変換は、Ｂフレーム（又はスライス又は複数の参照物から予測されるフレームの別の部分）のデコーディングのために２回連続して予測デコーディング素子の下位構成要素の使用を可能にすることを含むことができる。時間的なスケーラビリティ素子１５５は、同様に２方向予測されたフレーム及び／又は低優先度ビデオ・データを含んでいるエンハンスメント・レイヤ・データのデコーディングを省略するために使用する論理回路を含む。例えば、もしエンハンスメント・レイヤ・データが受信されない若しくは悪いＳＮＲで又は不十分なＳＮＲで受信されるのであれば、そして／又はもしデコーダ・デバイスにおいて処理能力が不十分であるならば、エンハンスメント・レイヤ・データのデコーディングは、省略されることが可能である。デコーディングの後で、デコードされたフレームは、ディスプレイ素子１７０を用いて表示されることが可能である、若しくは内部メモリ１６０又は外部記憶装置１６５に記憶されることが可能である。ディスプレイ素子１７０は、デコーディング・デバイスの統合された一部であることがあり、それはディスプレイ・スクリーンを含んでいるビデオ・ディスプレイ・ハードウェア及び論理回路のような部品を含む、又は外部周辺デバイスであり得る。デコーダ・デバイス１１０によって実行されたデコーディング・プロセスは、下記にさらに十分に説明される。
【００２３】
典型的なＭＰＥＧデコーダにおいて、予測コード化されたピクセル・ブロック（すなわち、１又はそれより多くの運動ベクトル及び残余エラー成分を備えるブロック）は、参照フレームに関してデコードされる（ここで、内部フレーム又は別の１つの予測されたフレームが、参照フレームとして機能することが可能である）。図２Ａは、従来のＭＰＥＧ−４単純プロフィール・データ・ストリームを説明する図であり、これは、ＧＯＰに対するフレーム依存性を図示する。ＧＯＰ１０は、最初のＩフレーム１２、引き続く複数の前方予測されたＰフレーム１４からなる。前のＩフレーム又はＰフレームへのＰフレームの依存性は、システム（ＭＰＥＧ−４単純プロフィール及びＨ．２６４ベースライン・プロフィールに適合するもののようなシステム）に与えられた時間的なスケーラビリティを制限することが可能であり、それは前方予測されたフレームだけをサポートできる。Ｐフレーム１４のいずれかを削除することは、他のＰフレームをデコードする際に致命的になることがある情報の損失を結果として生じることがある。Ｐフレームの削除は、結果として、例えば、ビデオ・ジター又は次のＩフレーム１６、これは次のＧＯＰの開始をマークする、までデコーダがデコーディングを続けることを不可能にすることになる。
【００２４】
スケーラブル・ビデオ・コーディング・システムのエンハンスメント・レイヤ内の２方向予測されたデータの使用は、上に説明されたようにダイナミック・チャネルにおいて有用であり得る。図２Ｂは、時間的なスケーラビリティを可能にする従来のエンコードされたデータ・ストリームを説明する図であり、これは、ＧＯＰのフレーム依存性を図示する。ＧＯＰ２０は、Ｉフレーム２２Ａ、前方予測されたＰフレーム２４、及び２方向予測されたＢフレーム２６からなる。各Ｂフレームは、前方運動ベクトルと後方運動ベクトル及びＩフレーム２２Ａ又は前方予測されたＰフレーム２４（後方予測されたＰフレームが、同様に使用されることができるが、この例では示されない）を参照した残余エラーを統合することが可能である。Ｉフレーム２２Ｂは、次のＧＯＰの開始をマークする。図２Ｂに示されたように、１つのＢフレーム２６だけが、Ｉフレーム２２ＡとＰフレーム２４との間に、又は２つのＰフレーム２４の間に含まれる。複数のＢフレームが、複数の参照フレームの間に挿入されることが可能であり、時間的なスケーラビリティにおけるより大きな柔軟性を許容する。どの別のフレームも参照フレームとしてＢフレームをあてにしないので、別のフレームのデコーディングに関する情報の損失なしにＢフレーム２６を削除できる。Ｂフレーム２６のこの特性は、Ｂフレーム２６がビットストリームの中に挿入されることを許容でき、そこではＢフレーム２６は、チャネル状態、帯域幅制限、電池電力、同様に別の考慮すべき事柄を適応させるためにエンコーダ、トランスコーダ、又はデコーダの選択で削除されることが可能である。例えば、もし、複数の参照フレームの間に３個のＢフレームがあるならば、３個のＢフレームの全てを削除でき、そして４分の３だけフレーム・レートを削減できる、又は中央のＢフレームをそのままにすることができ、そして他の２個を削除できて半分にフレーム・レートを削減する。データ・レートは、それにしたがって減少し得る。
【００２５】
Ｐフレーム（又はいずれかの相互コード化されたセクション）は、現在の画像内の１つの領域と参照画像内の最適合予測領域との間の時間的な冗長性を活用することが可能である。現在の領域と最適合参照予測領域との間の差は、残余エラー（又は予測エラー）として知られている。参照フレーム内の最適合予測領域の位置は、運動ベクトルにエンコードされることが可能である。図３は、例えば、ＭＰＥＧ−４におけるＰフレーム組み立てプロセスの一例の説明図である。プロセス３００は、５×５のマクロブロックからなる現在の画像３０５を含む、ここでこの例におけるマクロブロックの数は任意である。１つのマクロブロックは、１６×１６のピクセルからなる。ピクセルは、１個の８ビットのルミナンス値（Ｙ）と２個の８ビットのクロミナンス値（ＣｒとＣｂ）によって定義されることが可能である。ＭＰＥＧにおいて、Ｙ，Ｃｒ及びＣｂ成分は、４：２：０フォーマットで記憶されることが可能である、ここでＣｒ及びＣｂ成分は、Ｘ方向及びＹ方向に２だけダウンサンプル（down-sample）される、又は削減される。それゆえ、各マクロブロックは、２５６のＹ成分、６４のＣｒ成分及び６４のＣｂ成分からなるはずである。現在の画像３０５のマクロブロック３１５は、現在の画像３０５とは異なる時点において参照画像３１０から予測される。検索は、最適合マクロブロック３２０の位置を探すために参照画像３１０内で行われ、最適合マクロブロック３２０は、エンコードされる現在のマクロブロック３１５にＹ，Ｃｒ及びＣｂ値に関して最も近い。最適合マクロブロック３２０を検索する方法は、当業者に公知であり、ａ）現在のマクロブロック３１５と参照画像３１０マクロブロックとの間のＳＡＤ（sum of absolute pixel difference：ピクセル差異の絶対値の和）を最小にする、ｂ）ＳＳＤ（sum of squared pixel difference：ピクセル差異の二乗和）を最小にする、及びｃ）レート歪の点で最小コスト、及びその他を含む。参照画像３１０内の最適合マクロブロック３２０の位置は、運動ベクトル３２５内でエンコードされる。参照画像３１０は、デコーダが現在の画像３０５の組み立ての前に再組み立てされるＰフレーム又はＩフレームであり得る。最適合マクロブロック３２０は、現在のマクロブロック３１５から差し引かれ（Ｙ，Ｃｒ及びＣｇ成分の各々に関する差が計算され）結果として残留エラー３３０を生ずる。残留エラー３３０は、２Ｄ離散型余弦変換（ＤＣＴ：Discrete Cosine Transform）を用いてエンコードされ、そしてそれから量子化される３４０。量子化３４０は、例えば、高頻度の係数により少ないビットを割り当て、一方で低頻度の係数により多くのビットを割り当てることによって、空間的な圧縮を与えることにより実行されることが可能である。情報を識別する参照画像３１０及び運動ベクトル３２５とともに、残留エラー３３０の量子化された係数は、現在のマクロブロック３１５を表しているエンコードされた情報である。エンコードされた情報は、今後の使用のためにメモリ中に記憶されることが可能である、又は、例えば、エラー訂正又は画像強調の目的のために手を加えられることが可能である、又はネットワーク３４５を介して送信されることが可能である。
【００２６】
エンコードされた運動ベクトル３２５とともに、残留エラー３３０のエンコードされ量子化された係数は、引き続く動き推定及び圧縮のための参照フレームの一部として使用するためにエンコーダにおいて現在のマクロブロック３１５を再組み立てするために使用されることが可能である。エンコーダは、このＰフレーム再組み立てのためにデコーダの手順をエミュレートすることが可能である。デコーダのエミュレーションは、同じ参照画像にエンコーダ及びデコーダの両方が働くことに結果としてなる。さらなる相互コーディングのためにエンコーダにおいて実行されるか、又はデコーダにおいて実行されるかに拘らず、再組み立てプロセスが、ここに提示される。Ｐフレームの再組み立ては、参照フレーム（又は参照されようとしている画像の一部又はフレームの一部）が再組み立てされた後で、開始されることが可能である。エンコードされ量子化された係数は、逆量子化され３５０、そしてそれから逆ＤＣＴ，すなわちＩＤＣＴ３５５が実行され、デコードされた又は再組み立てされた残留エラー３６０に結果としてなる。エンコードされた運動ベクトル３２５は、既に再組み立てされた参照画像３１０中で既に再組み立てされた最適合マクロブロック３６５の位置を見つけるために使用される。再組み立てされた残留エラー３６０は、それから再組み立てされた最適合マクロブロック３６５に加えられ、再組み立てされたマクロブロック３７０を形成する。再組み立てされたマクロブロック３７０は、メモリ中に記憶されることが可能であり、独立して又は別の再組み立てされたマクロブロックを用いて画像中に表示されることが可能であり、又は、画像強調のためにさらに処理されることが可能である。
【００２７】
Ｂフレーム（又は２方向予測を用いてコード化されたいずれかの部分）は、現在の画像内のある領域と前の画像内の最適合予測領域及び次の画像内の最適合予測領域との間の時間的な重なりを活用できる。次の最適合予測領域及び後方最適合予測領域は、統合されて、統合された２方向予測領域を形成する。現在の画像領域と最適合統合２方向予測領域との間の差異は、残留エラー（又は予測エラー）である。次の参照画像内の最適合予測領域の位置及び前の参照画像内の最適合予測領域の位置は、２つの運動ベクトルにエンコードされることが可能である。
【００２８】
図４は、例えば、ＭＰＥＧ−４におけるＢフレーム組み立てプロセスの一例の説明図である。プロセス４００は、５×５のマクロブロックからなる現在の画像４０５を含む、ここでこの例におけるマクロブロックの数は任意である。現在の画像４０５のマクロブロック４１５をエンコードすることは、現在の画像４０５よりも前の時点における前の参照画像４１０を参照して、そして次の時点における次の参照画像４７５を参照して行われる。検索は、エンコードされる現在のマクロブロック４１５に最も近い最適合マクロブロック４２０の位置を探すために前の参照画像４１０内で行われる。最適合マクロブロック４２０の位置は、運動ベクトル４２５にエンコードされる。前の参照画像４１０は、デコーダが現在の画像４０５の組み立ての前に再組み立てするＩフレーム又はＰフレームであり得る。検索は、現在のマクロブロック４１５に最も近い最適合マクロブロック４８０の位置を探すために次の参照画像４７５内で行われる。最適合マクロブロック４８０の位置は、運動ベクトル４８５にエンコードされる。次の参照画像４７５は、デコーダが現在の画像４０５の組み立ての前に再組み立てするＩフレーム又はＰフレームであり得る。最適合マクロブロック４２０及び最適合マクロブロック４８０は、平均されて、統合された２方向のマクロブロックを形成する、これは現在のマクロブロック４１５から差し引かれて結果として残留エラー４３０を生じる。
【００２９】
最適合マクロブロックを統合する別の方法が、以下に説明される。残留エラー４３０は、例えば、ＤＣＴ４３５（他の２Ｄ変換は、アダマール変換又はＨ．２６４にあるような整数変換を含む）を用いてエンコードされ、そしてそれから量子化される４４０。情報を識別する参照画像及び運動ベクトル４２５と４８５とともに、残留エラー４３０の量子化された係数は、現在のマクロブロック４１５を表しているエンコードされた情報である。エンコードされた情報は、今後の使用のためにメモリ中に記憶されることが可能である、又は、例えば、エラー訂正又は画像強調の目的のために手を加えられることが可能である、又はネットワーク４４５を介して送信されることが可能である。
【００３０】
Ｂフレームが参照フレームとして使用されないので、その時間的なスケーリング特性を保持させるために、Ｂフレームに関するマクロブロック再組み立ては、エンコーダにおいて必要とされないことがあり得る。デコーダにおいて、Ｂフレーム・セクションの再組み立ては、前の参照フレーム（又は参照されようとしている画像の一部又はフレームの一部）及び次の参照フレーム（又は参照されようとしている画像の一部又はフレームの一部）の両方が再組み立てされた後で、開始されることが可能である。エンコードされ量子化された係数は、逆量子化され４５０、そしてそれから２Ｄ  ＤＣＴ４５５が実行され、デコードされた又は再組み立てされた残留エラー４６０を結果として生ずる。エンコードされた運動ベクトル４２５及び４８５は、既に再組み立てされた参照画像４１０中で既に再組み立てされた最適合マクロブロック４６５の位置を見つけるために使用され、そして次の参照フレーム４７５中で既に再組み立てされた最適合前方マクロブロック４９０の位置を見つけるために使用される。再組み立てされた最適合マクロブロック４６５及び４９０は、平均されて、統合された２方向マクロブロックを形成する。再組み立てされた残留エラー４６０は、それから統合された２方向マクロブロックに加えられて、再組み立てされたマクロブロック４７０を形成する。再組み立てされたマクロブロック４７０は、メモリ中に記憶されることが可能であり、独立して又は別の再組み立てされたマクロブロックを用いて１つの画像に表示されることが可能であり、又は、画像強調のためにさらに処理されることが可能である。
【００３１】
Ｈ．２６４は、上に説明されたＰフレーム組み立て及びＢフレーム組み立てのＭＰＥＧ−４の例に複数のオプションを提供する。図５は、Ｈ．２６４におけるＰフレーム組み立てプロセスの一例の説明図である。プロセス５００は、５×５のマクロブロックからなる現在の画像５０５を含む、ここでこの例におけるマクロブロックの数は任意である。現在の画像５０５のマクロブロック５１５は、現在の画像５０５とは異なる時点における参照画像５１０から予測される。マクロブロックは、より小さな部分マクロブロック・セクションに分割されることが可能であり（例えば、４個の部分マクロブロックがこの例では描かれているが、Ｈ．２６４は、４×４のピクセルまでの小さな部分マクロブロック分割を許容する。それ故、１つのマクロブロックに対して１６個の運動ベクトルが存在することがある）、そして各部分マクロブロック・セクションは、時間的な冗長性のために別々に活用されることが可能である。検索は、各部分マクロブロックに対する最適合部分マクロブロックの位置を探すために参照画像５１０内で行われ、エンコードされる現在のマクロブロック５１５に最も近い複合最適合マクロブロック５２０を結果として生ずる。参照画像内の最適合マクロブロックの位置は、４個の運動ベクトル５２５ａ−５２５ｄにエンコードされる。参照画像５１０は、デコーダが現在の画像５０５の組み立ての前に再組み立てをするＩフレーム又はＰフレームであり得る。複合最適合マクロブロック５０５は、現在のマクロブロック５１５から差し引かれて、結果として残留エラー５３０を生じる。残留エラー５３０は、ＭＰＥＧ−４において使用されるＤＣＴとはわずかに異なる前方２Ｄ変換５３５を用いてエンコードされることが可能であり、そしてその後、量子化される５４０ことが可能である。残留エラー５３０の量子化された係数、運動ベクトル５２５ａ−５２５ｄ、及び情報を識別する参照フレームは、現在のマクロブロック５１５を表しているエンコードされた情報である。エンコードされた情報は、今後の使用のためにメモリ中に記憶されることが可能であり、又は、例えば、エラー訂正又は画像強調の目的のために手を加えられることが可能であり、又はネットワーク５４５を介して送信されることが可能である。
【００３２】
エンコードされ量子化された係数、運動ベクトル、重み及び残留エラーは、しかも、引き続く動き推定及び動き補償に対して参照フレームの一部として使用するためにエンコーダにおいて現在のマクロブロックを再組み立てするために使用されることが可能である。エンコーダは、このＰフレーム再組み立てのためにデコーダの手順をエミュレートすることが可能である。デコーダのエミュレーションは、エンコーダとデコーダの両方が同じ参照画像に作用することに結果としてなる。さらなる相互コーディングのためにエンコーダにおいて行われるか又はデコーダにおいて行われるか拘らず再組み立てプロセスが、ここに示される。Ｐフレームの再組み立ては、参照フレーム（又は参照されようとしている画像の一部又はフレームの一部）が再組み立てされた後で、開始されることが可能である。エンコードされ量子化された係数は、逆量子化され５５０、そしてそれから２Ｄ逆変換５５５が実行され、デコードされた又は再組み立てされた残留エラー５６０を結果として生じる。エンコードされた運動ベクトル５２５ａ−５２５ｄは、デコードされ、そして再組み立てされた最適合複合マクロブロック５６５を構成する既に再組み立てされた最適合部分マクロブロックの位置を見つけるために使用される。再組み立てされた残留エラー４６０は、それから再組み立てされた最適合複合マクロブロック５６０に加えられ、再組み立てされたマクロブロック５７０を形成する。デブロッキング・フィルタ５７５は、同様に、例えば、マクロブロック又は部分マクロブロックの端に沿ったピクセル強調のためのエンコーディング・プロセス又はデコーディング・プロセスの一部として使用されることが可能である。再組み立てされたマクロブロックは、メモリ中に記憶されることが可能であり、独立して又は別の再組み立てされたマクロブロックを用いて画像中に表示されることが可能であり、又は、画像強調のためにさらに処理されることが可能である。Ｈ．２６４におけるＢフレーム組み立てが、同様に類似の方法を使用して複数の部分マクロブロックを利用することが可能であることを、当業者は、理解する。
【００３３】
Ｈ．２６４のケースでは、Ｂフレーム組み立ては、スライス・レベル（スライスは、通常マクロブロックの連続的なグループである）又は画像レベルで行われることが可能であり、ここでは、Ｂフレーム内の異なるスライス又は画像は、４×４のピクセル・ブロックまでに内部コード化される又は相互コード化されるかのいずれかであり得る。Ｈ．２６４は、しかも、直接モード２方向予測を提供する。直接モードでは、前方運動ベクトル及び後方運動ベクトルは、２個の参照フレームのうちの１つの同時に置かれたマクロブロック内で使用される運動ベクトルから導き出される。直接モードでは、前方運動ベクトルと後方運動ベクトルの導出は、後方及び前方参照フレームと現在のＢフレーム又は画像との間の時間的な距離に基づいている。直接モードは、同様に、図３の例において示されたように平均することの代わりに、参照マクロブロックのＹ，Ｃｒ及びＣｂ成分の重み付けを可能にする。重み付けは、同様に、後方及び前方参照フレームと現在のＢフレーム又は画像との間の時間的な距離に基づいている。その上、Ｂフレーム組み立ては、図３に図示されたように平均マクロブロックの代わりに、前方最適合マクロブロック又は後方最適合マクロブロックのいずれか一方だけに基づいて残留エラーを算出できる。
【００３４】
図６は、時間的なスケーラビリティを含んでいるデコーディング・プロセスの一例を説明するフローチャートである。プロセス６００は、図１のデコーダ・デバイス１１０のようなデバイスによって実行される。エンコードされたビデオ・データは、図１のネットワーク１４０のようなネットワークを介してデコーダ・デバイスによって受信される、又は図１の外部記憶構成素子１６５のような外部記憶装置から受信される、ステップ６０５。エンコードされたデータは、上に説明されたようにベース・レイヤ・データ及びエンハンスメント・レイヤ・データを含む。図１の通信素子１８０のような、受信する手段は、ステップ６０５を実行することが可能である。デコーダ・デバイスは、Ｉフレーム及びＰフレームの両方を含むことが可能なベース・レイヤ・データをデコードする。図１の内部デコーディング素子１４５及び予測デコーディング素子１５０のような、デコードする手段は、ステップ６１０を実行することが可能である。デコーダ・デバイスは、エンハンスメント・レイヤ・データをデコードするか否かを決定する、ステップ６１５。エンハンスメント・レイヤをデコードしない理由は、例えば、エンハンスメント・レイヤ・データが受信されない若しくは悪いＳＮＲで又は不十分なＳＮＲで受信されること、及び／又はデコーダ・デバイスにおける処理能力が不十分である場合、を含む。判断ブロック６１５は、任意のレベルに行われることが可能であり、フレーム全体、スライス、マクロブロック及びより小さな部分を含む任意のサイズの部分のデコーディングを省略する。ステップ６１５の判断がエンハンスメント・レイヤをデコードする場合には、デコーダ・デバイスは、Ｉフレーム、Ｐフレーム及びＢフレームを含んでいるエンハンスメント・レイヤ・データをデコードする、ステップ６２０。図１の時間的なスケーラビリティ素子１５５のような、決定する手段は、ステップ６１５を実行することが可能である。図１の内部デコーディング素子１４５及び予測デコーディング素子１５０のような、デコードする手段は、ステップ６２０を実行することが可能である。デコーダがデコードすると選択したベース・レイヤ・データ及びエンハンスメント・レイヤ・データの全てがデコードされた後で、デコーダは、デコードされたビデオをメモリ中に記憶することが可能である又はビデオを表示することが可能である、ステップ６２５。図１の外部記憶素子１６５又はメモリ素子１６０のような、記憶する手段は、ステップ６２５の記憶部分を実行することが可能である。図１のディスプレイ素子１７０のような、表示する手段は、ステップ６２５の表示部分を実行することが可能である。
【００３５】
図７は、図６のステップ６１０において実行されるような、ベース・レイヤＩフレーム組み立て及びＰフレーム組み立てのための動き補償コーデック・プロセスの一例を説明するフローチャートである。スケーラブル・ビデオのコード化されたビットストリームのベース・レイヤは、高優先度のデータを含むことが可能である。ある低ビット・レートの遠隔デバイスは、ベース・レイヤ処理能力だけを有することがある。デコーダ・プロセス７００は、ネットワークを介して又はメモリからエンコードされ量子化され内部コード化されたビデオ・データを受信することによってＩフレームをデコードすることを開始する、ステップ７２５。図１の通信素子１８０のような、受信する手段は、ステップ７２５を実行することが可能である。量子化され内部コード化されたビデオ・データは、逆量子化される、ステップ７３０。データは、その後、逆変換され、ステップ７３５、結果としてデコードされたＩフレームを生ずる。デコードされたＩフレーム、すなわち、Ｉ−ＶＯＰ（Ｉ−ＶＯＰは内部コード化されたビデオ・オブジェクト面（Video Object Plane）を表す）は、そのようにして表示されるように及び／又はメモリ中に記憶されるように準備される、ステップ７５０。デコーダは、同様に、Ｉフレームを参照する次のＰフレームをデコードするためにメモリの中にデコードされ出力されたＩ−ＶＯＰを記憶することが可能である。
【００３６】
Ｐフレーム・デコーディングは、Ｐフレームがそのフレームから予測される参照フレームがデコードされた後でだけ開始されることが可能である。デコードされた参照ＶＯＰは、メモリからアクセスされる、ステップ７０５。ＶＯＰの境界端は、ピクセル補間の準備のためにゼロでパッドされる、ステップ７１０。ゼロでパッドすることは、複数のタップ・フィルタが十分な数のピクセルの存在しない複数の境界領域ピクセル間で正しく補間することを可能にする。パッドされたＶＯＰピクセルは、補間される、ステップ７１５。ピクセル補間は、動き補償のためにより良く適合する参照領域を実現するために使用される。ピクセル補間は、以下により詳細に説明される。ピクセルが補間された後で、コーデックは、エンコードされた運動ベクトルを用いて補間されたピクセル内部で最適合参照マクロブロック（又は任意の大きさのセクション）の位置を見つける、ステップ７２０。全ての相互コード化されたマクロブロックが運動ベクトルを用いて位置を見つけられ、そして参照フレームから部分的に再組み立てされた後で、部分的に再組み立てされたＰフレームは、メモリ中に記憶される、ステップ７５５。Ｉフレームについての上記の説明と同様に、Ｐフレームの残留エラー部分の量子化されたＤＣＴ係数は、ネットワークを介して又はメモリから受信される、ステップ７２５。残留エラーは逆量子化され、ステップ７３０、そして逆変換される、ステップ７３５。デコードされた残留エラーは、部分的に再組み立てされ記憶されたＰフレームに加えられ、ステップ７４０、結果としてデコードされ出力されたＰ−ＶＯＰを生じる。デコードされたＰ−ＶＯＰは、メモリ内に記憶されることが可能である及び／又は表示されることが可能である、ステップ７５０。
【００３７】
プロセス７００は、図６のステップ６２０におけるようにエンハンスメント・レイヤのＩフレーム及びＰフレームをデコードするために上に説明されたように同様な方法で使用される。しかしながら、ステップ６２０においてエンハンスメント・レイヤのＢフレームをデコードすることは、２つの参照フレームを利用する、例えば、１つの前のＩフレーム又はＰフレーム及び１つの次のＩフレーム又はＰフレームである。図８は、図７において示されたベース・レイヤ・プロセスを実行するために使用されたベース・レイヤ動き補償コーデックの構成要素を利用するエンハンスメント・レイヤのＢフレーム組み立てプロセスの一例のフローチャートである。この具体例の実施形態は、ベース・レイヤ構成要素へのほんのわずかな変更で又は変更なしに、そして少量の追加のソフトウェア、ファームウェア又はハードウェアの変更で、２方向画像すなわちＢフレームの組み立ての目的のために、ベース・レイヤ構成要素を再使用する。Ｂフレーム組み立ては、第１のデコードされたＶＯＰ１をアクセスすることによって開始する、ステップ８０５。ＶＯＰ１の境界端は、ゼロでパッドされる、ステップ８１０。パッドされたＶＯＰ１のピクセルは、補間される、ステップ８１５。エンコードされた運動ベクトルは、ＶＯＰ１内で最適合領域の位置を見つけるために使用される、ステップ８２０。ＶＯＰ１は、普遍性を失うことなく後方に置かれた参照フレームであると仮定されることが可能である。ＶＯＰ１からの最適合マクロブロックは、第２のＶＯＰ最適合マクロブロックと統合するためにメモリ中に記憶される、ステップ８５５。ステップ８５５は、未修正のベース・レイヤ・コーデックが必要としないＶＯＰ１の最適合領域を記憶するための第２のメモリ・バッファを必要とすることがある。ステップ８０５，８１０，８１５及び８２０は、ＶＯＰ２に対して繰り返される。メモリ中に記憶された第２のフレームをアクセスすることを可能にすることは、ベース・レイヤ・コーデックが必要としなかったメモリの第２の領域を必要とすることがある。パディング及びピクセルを補間するために使用した同じベース・レイヤ・モジュールは、ＶＯＰ２に対して再使用される。
【００３８】
モジュールを再使用することは、任意のある時刻において１つのモジュールだけが利用可能であるので、エンコーディング／デコーディング・プロセスにおける遅延を付加することがあるが、遅延が許容可能である場合に、コスト節約は、より大きな利益であり得る。ＶＯＰ２からの最適合マクロブロックは、その後追加され、ステップ８６０、他方で、しかも、ＶＯＰ１の記憶された最適合マクロブロックに丸め制御のために“１”を追加して、結果として統合された最適合マクロブロックを生じる。統合された最適合マクロブロックは、ピクセル値を平均するために２で割り算される（１の右ビット・シフトとして示される）、ステップ８６５。平均され統合された最適合マクロブロックは、その後、メモリ中に記憶される、ステップ８４５。ステップ８０５，８１０，８１５，８２０，８５５，８６０，８６５及び８４５は、部分的に再組み立てされたＢ−ＶＯＰ全体が完了するまで続けられることが可能である。上に説明されたベース・レイヤのＰ−ＶＯＰ再組み立てを用いると、Ｂ−ＶＯＰに対する残留エラーは、ネットワークを介して又はメモリから受信され、ステップ８３０において逆量子化され、そしてステップ８３５において逆変換される。残留エラーは、その後記憶された部分的に再組み立てされたＢ−ＶＯＰに加算されて、ステップ８４０、結果としてデコードされたＢ−ＶＯＰを生じる。デコードされたＢ−ＶＯＰは、その後メモリ中に記憶される又は表示される、ステップ８５０。
【００３９】
図８は、１巡目において次から次へと実行されるステップ８０５，８１０，８１５及び８２０を示し、そしてそれからステップの全体のセットが、２巡目に連続して繰り返される。当業者が理解するように、複数の処理のスレッドが、プロセッサにおいて同時に生じることが可能である。多重処理スレッドを用いて、動き補償モジュールのような１つのモジュールは、第１の参照フレーム又はそれからのブロックに作用していることが可能であり、他方で、逆量子化モジュール及び逆変換モジュールのような別の１つのモジュールは、第２の参照フレーム又はそれからのブロックを処理している。一旦、モジュールが自身の動作を完了すると、モジュールはフレーム又はブロックを切り替える、その結果、動き補償モジュールは、第２の参照フレーム上で動作し、そして逆量子化モジュール及び逆変換モジュールは、次の参照フレームを処理している。このタイプの多重スレッド処理は、モジュールを再使用することによって引き起こされる演算上の遅延を削減することが可能である。
【００４０】
２方向に予測された部分をデコードするためにベース・レイヤのデコーディング素子の再使用は、ある種の制限を要求することがある。Ｐフレームに関して、（Ｈ．２６４の４×４のピクセル区分に対してマクロブロック当り最大１６までの）運動ベクトルの１セット及び１つの参照画像インデックスは、これらの複数の素子間で伝達される。Ｂフレームに関して、同じインターフェースを使用するために、エンコーディングは、マクロブロック当り（各々が２個の運動ベクトルを有する）８区分に制限される。シミュレーションは、Ｂフレームの１６個の４×４のピクセル区分が無視できる発生確率で生じ、そして、ビット・レート及び品質への影響は、そのような制限のために感知されない。しかも、８区分にエンコーディングを制限することは、４×４のブロック区分を取り扱うことが不可能であることを意味しない。制限は、マクロブロック当りの運動ベクトルの数にだけである。例えば、４個の４×４のブロックと３個の８×８のピクセル・ブロックに区分されたマクロブロックは、正当な組み合わせである。あるいは、エンコーディングを制限するために、デコーダは、Ｈ．２６４によって提供されるモードを利用することが可能であり、そこでは４個の４×４のブロックのグループは、統合されて、１個の８×８のブロックを形成し、そして（４×４のブロックの）４個の運動ベクトルの内の１つが、統合された８×８のピクセル・ブロックに対する運動ベクトルとして使用される。
【００４１】
動き補償コーデックは、（複数の）プロセッサの演算上の能力が十分である場合に、パディング、部分的なピクセル補間および最適合領域の位置検索を連続して実行することが可能である。特に、Ｂフレームをデコードすることの演算上の負荷（特に、全体のフレームに対する動き補償に費やされるサイクル数）がＰフレームに対するものよりも少ないことを、シミュレーションは示している。それゆえ、パディング、補間及び最適合領域の位置検索が連続して生じる場合であっても、フレームは、１秒当り３０フレーム以上まで（１フレームは［１／（ｆｐｓでのフレーム・レート）］秒のうちにデコードされなければならない）再生フレーム・レートを満足させように今まで通りデコードされることが可能である。
【００４２】
ピクセル補間は、動き補償された予測コーディングの出来栄えを向上させるために使用されることが可能である。図９は、動き補償における使用のためのハーフ−ピクセル補間の一例の説明図である。示された例は、ハーフ−ピクセル補間であり、そこでは１つの補間されたピクセルが複数の元々の整数ピクセルの間に配置される。整数ピクセル９１０は、大文字の“Ａ”から“Ｉ”まで名前を付けられた円として図示され、補間されたピクセル又はハーフ・ピクセル９２０は、小文字の“ａ”から“ｏ”まで名前を付けられた四角として図示される。ハーフ・ピクセル補間は、例えば、重み［０．５，０．５］を用いる２−タップＦＩＲフィルタのような、双一次フィルタを用いて実行されることが可能である。例えば、補間されたピクセル９２２は、整数ピクセル９１２と整数ピクセル９１４との平均として計算されることが可能であり、補間されたピクセル９２４は、整数ピクセル９１２と整数ピクセル９１６との平均であることが可能であり、そして補間されたピクセル９２６は、２個の補間されたピクセル（例えば、９２２と９２８又は９２４と９３０）の平均であることが可能である。ルミナンス（Ｙ）成分及びクロミナンス（Ｃｒ及びＣｂ）成分の両者は、この方式で補間されることが可能である。ピクセル補間の別の様式が、種々の規格によってサポートされている。Ｈ．２６４は、１／４ピクセル補間、同様に、１／８ピクセル補間をサポートする。当業者は、これらの別のピクセル補間方法を理解するはずであり、これらは本明細書中ではさらに詳細には論じられない。
【００４３】
上に記載された方法及び装置の複数の例は、下記を含む。
【００４４】
同時にただ１つの参照フレームから参照フレーム部分の位置を見つけることが可能な動き補償コーデックを用いて２方向画像をデコードするための方法であって：１巡目において第１の参照フレームから第１の参照フレーム部分の位置を見つけること、メモリ中に該第１の参照フレーム部分を記憶すること、２巡目において第２の参照フレームから第２の参照フレーム部分の位置を見つけること、及び２方向に予測された部分を形成するために該第１の参照フレーム部分及び該第２の参照フレーム部分を統合すること、を具備する。
【００４５】
同時にただ１つの参照フレームから参照フレーム部分の位置を見つけることが可能な動き補償コーデックを用いて２方向画像をデコードするための装置であって：１巡目において第１の参照フレームから第１の参照フレーム部分の位置を見つけるための手段、メモリ中に該第１の参照フレーム部分を記憶するための手段、２巡目において第２の参照フレームから第２の参照フレーム部分の位置を見つけるための手段、及び２方向に予測された部分を形成するために該第１の参照フレーム部分及び該第２の参照フレーム部分を統合するための手段、を具備する。
【００４６】
同時にただ１つの参照フレームから参照フレーム部分の位置を見つけることが可能な動き補償コーデックを用いて２方向画像をデコードするための電子デバイスであって、該電子デバイスは、１巡目において第１の参照フレームから第１の参照フレーム部分の位置を見つけるため、メモリ中に該第１の参照フレーム部分を記憶するため、２巡目において第２の参照フレームから第２の参照フレーム部分の位置を見つけるため、そして２方向に予測された部分を形成するために該第１の参照フレーム部分及び該第２の参照フレーム部分を統合するために、構成される。
【００４７】
同時にただ１つの参照フレームから参照フレーム部分の位置を見つけることが可能な動き補償コーデックを用いて２方向画像をデコードするための方法をコンピュータに実行させるための命令を有するコンピュータ読み取り可能な媒体であって：１巡目において第１の参照フレームから第１の参照フレーム部分の位置を見つけること、メモリ中に該第１の参照フレーム部分を記憶すること、２巡目において第２の参照フレームから第２の参照フレーム部分の位置を見つけること、及び２方向に予測された部分を形成するために該第１の参照フレーム部分及び該第２の参照フレーム部分を統合すること、を具備する。
【００４８】
同時にただ１つの参照フレームから参照フレーム部分の位置を見つけることが可能でありそして各マクロブロックに対して限られた数の区分をデコードすることが可能な動き補償コーデックによってデコードされるように２つの参照フレームから予測された２方向画像をエンコードするための方法であって：該２方向画像のマクロブロックを複数の部分マクロブロックに区分すること、該部分マクロブロックの各々に対して該２つの参照フレームの各々の中の予測された領域の位置を見つけること、及び該動き補償コーデックがデコードすることが可能な区分の該限られた数の半分よりも多くない数に該部分マクロブロックの数を制限すること、を具備する。
【００４９】
同時にただ１つの参照フレームから参照フレーム部分の位置を見つけることが可能でありそして各マクロブロックに対して限られた数の区分をデコードすることが可能な動き補償コーデックによってデコードされるように２つの参照フレームから予測された２方向画像をエンコードするための装置であって：該２方向画像のマクロブロックを複数の部分マクロブロックに区分するための手段、該部分マクロブロックの各々に対して該２つの参照フレームの各々の中の予測された領域の位置を見つけるための手段、及び該動き補償コーデックがデコードすることが可能な区分の該限られた数の半分よりも多くない数に該部分マクロブロックの数を制限するための手段、を具備する。
【００５０】
同時にただ１つの参照フレームから参照フレーム部分の位置を見つけることが可能でありそして各マクロブロックに対して限られた数の区分をデコードすることが可能な動き補償コーデックによってデコードされるように２つの参照フレームから予測された２方向画像をエンコードするための電子デバイスであって、該電子デバイスは、該２方向画像のマクロブロックを複数の部分マクロブロックに区分するために、該部分マクロブロックの各々に対して該２つの参照フレームの各々の中の予測された領域の位置を見つけるために、及び該動き補償コーデックがデコードすることが可能な区分の該限られた数の半分よりも多くない数に該部分マクロブロックの数を制限するために、構成される。
【００５１】
同時にただ１つの参照フレームから参照フレーム部分の位置を見つけることが可能でありそして各マクロブロックに対して限られた数の区分をデコードすることが可能な動き補償コーデックによってデコードされるように２つの参照フレームから予測された２方向画像をエンコードするための方法をコンピュータに実行させるための命令を有するコンピュータ読み取り可能な媒体であって：該２方向画像のマクロブロックを複数の部分マクロブロックに区分すること、該部分マクロブロックの各々に対して該２つの参照フレームの各々の中の予測された領域の位置を見つけること、及び該動き補償コーデックがデコードすることが可能な区分の該限られた数の半分よりも多くない数に該部分マクロブロックの数を制限すること、を具備する。
【００５２】
情報及び信号が、多様な異なる技術及び技法のいずれかを使用して表わされることができることを、当業者は、理解する。例えば、上記の説明の全体を通して参照されることができる、データ、指示、命令、情報、信号、ビット、シンボル、及びチップは、電圧、電流、電磁波、磁場又は磁力粒子、光場又は光粒子、若しくはこれらの任意の組み合わせによって表わされることができる。
【００５３】
本明細書中に開示された例に関連して説明された各種の例示的な論理ブロック、モジュール、回路、及びアルゴリズムのステップが、電子ハードウェア、コンピュータ・ソフトウェア、若しくは両者の組み合わせとして与えられることができることを、当業者は、さらに価値を認めるはずである。ハードウェア及びソフトウェアのこの互換性を明確に説明するために、各種の例示的な複数の構成要素、ブロック、モジュール、回路、及びステップが、それらの機能性の面から一般的に上記に説明されてきている。そのような機能性が、ハードウェア又はソフトウェアとして与えられるかどうかは、固有のアプリケーション及びシステム全体に課せられた設計の制約に依存する。知識のある者は、述べられた機能性を各々の固有のアプリケーションに対して違ったやり方で実行することができる。しかし、そのような実行の判断は、開示された方法の範囲からの逸脱を生じさせるとして説明されるべきではない。
【００５４】
本明細書中に開示された例に関連して述べられた、各種の例示的な論理ブロック、モジュール、及び回路は、汎用プロセッサ、ディジタル信号プロセッサ（ＤＳＰ：digital signal processor）、用途特定集積回路（ＡＳＩＣ：application specific integrated circuit）、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ：field programmable gate array）若しくはその他のプログラマブル論理デバイス、ディスクリート・ゲート論理素子又はトランジスタ論理素子、ディスクリート・ハードウェア素子、若しくは本明細書中に説明された機能を実行するために設計されたこれらのいずれかの組み合わせで、与えられる又は実行されることができる。汎用プロセッサは、マイクロプロセッサであり得るが、しかし代わりに、プロセッサは、いずれかの従来型のプロセッサ、コントローラ、マイクロコントローラ、又はステート・マシン(state machine)であり得る。プロセッサは、演算デバイスの組み合わせとして与えられることができる。例えば、ＤＳＰとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサの組み合わせ、ＤＳＰコアとともに１又はそれより多くのマイクロプロセッサの組み合わせ、若しくはいずれかの他のそのような構成の組み合わせであることができる。
【００５５】
本明細書中に開示された例に関連して説明された方法のステップ又はアルゴリズムのステップは、ハードウェアにおいて、プロセッサにより実行されるソフトウェア・モジュールにおいて、又は両者の組み合わせにおいて直接実現されることができる。ソフトウェア・モジュールは、ＲＡＭメモリ、フラッシュ・メモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハード・ディスク、脱着可能なディスク、ＣＤ−ＲＯＭ、若しくは、この技術において公知の他のいずれかの記憶媒体の中に常駐できる。ある具体例の記憶媒体は、プロセッサが記憶媒体から情報を読み出し、そこに情報を書き込めるようにプロセッサと接続される。あるいは、記憶媒体は、プロセッサに集積されることができる。プロセッサ及び記憶媒体は、用途特定集積回路（ＡＳＩＣ）中に常駐できる。ＡＳＩＣは、ワイアレス・モデム中に常駐できる。あるいは、プロセッサ及び記憶媒体は、ワイアレス・モデム内に単体素子として常駐できる。
【００５６】
開示された例のこれまでの説明は、本技術に知識のあるいかなる者でも、開示された方法及び装置を作成し、使用することを可能にするために提供される。これらの例への各種の変形は、当業者に容易に明白にされるであろう。そして、本明細書中に規定された原理は、開示された方法及び装置の精神又は範囲から逸脱することなく、その他の例に適用されることができる。
【００５７】
このようにして、ベース・レイヤのソフトウェア、ファームウェア及びハードウェアに対して最小の変更でベース・レイヤの非スケーラブル・コーディング設計に基づいて、２方向予測を介して、スケーラブル・ビデオのコード化されたデータを提供する方法，装置及びシステムが、記載されてきている。
【００５８】
本明細書中に開示された実施形態に関連して述べられた、各種の例示的な、論理素子、論理ブロック、モジュール、及び回路は、汎用プロセッサ、ディジタル信号プロセッサ（ＤＳＰ）、用途特定集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）若しくはその他のプログラマブル・ロジック・デバイス、ディスクリート・ゲート論理素子又はトランジスタ論理素子、ディスクリート・ハードウェア素子、若しくは本明細書中に説明された機能を実行するために設計されたこれらのいずれかの組み合わせで、与えられる又は実行されることができる。汎用プロセッサは、マイクロプロセッサであり得るが、しかし代わりに、プロセッサは、いずれかの従来型のプロセッサ、コントローラ、マイクロコントローラ、又はステート・マシンであり得る。プロセッサは、演算デバイスの組み合わせとして与えられることができる。例えば、ＤＳＰとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサの組み合わせ、ＤＳＰコアとともに１又はそれ以上のマイクロプロセッサの組み合わせ、若しくはいずれかの他のそのような構成の組み合わせであることができる。
【００５９】
本明細書中に開示された実施形態に関連して説明された方法のステップ又はアルゴリズムのステップは、ハードウェアにおいて、プロセッサにより実行されるソフトウェア・モジュールにおいて、又は２つの組み合わせにおいて直接実現されることができる。ソフトウェア・モジュールは、ＲＡＭメモリ、フラッシュ・メモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハード・ディスク、脱着可能なディスク、ＣＤ−ＲＯＭ、若しくは、この技術において公知の他のいずれかの記憶媒体の中に常駐できる。ある具体例の記憶媒体は、プロセッサが記憶媒体から情報を読み出し、そこに情報を書き込めるようにプロセッサに接続される。あるいは、記憶媒体は、プロセッサに集積されることができる。プロセッサ及び記憶媒体は、ＡＳＩＣ中に常駐できる。ＡＳＩＣは、ユーザ端末中に常駐できる。あるいは、プロセッサ及び記憶媒体は、ユーザ端末中に単体素子として常駐できる。
【００６０】
開示された実施形態のこれまでの説明は、本技術に知識のあるいかなる者でも、本発明を作成し、使用することを可能にするために提供される。これらの実施形態への各種の変形は、当業者に容易に明白にされるであろう。そして、本明細書中に規定された一般的な原理は、本発明の精神又は範囲から逸脱することなく、その他の実施形態、例えば、即時メッセージ通信サービス、又はいずれかの一般的なワイアレス・データ通信アプリケーション、に適用されることができる。それゆえ、本発明は、本明細書中に示された実施形態に制限することを意図したものではなく、本明細書中に開示した原理及び新規な機能と整合する最も広い範囲に適用されるものである。用語“具体例の”は、“例、事例、又は実例として働くこと”を意味するように本明細書中ではもっぱら使用される。“具体例の“として本明細書中に記載されたいずれかの実施形態が、その他の実施形態に対して好ましい又は優位であるとして解釈される必要はない。
【図面の簡単な説明】
【００６１】
【図１】図１は、ストリーミング画像をエンコードするためそしてデコードするための一般的な通信システムのブロック図である。
【図２Ａ】図２Ａは、従来のＭＰＥＧ−４単純プロフィール・データ・ストリームを説明する図である。
【図２Ｂ】図２Ｂは、時間的なスケーラビリティを可能にする従来のエンコードされたデータ・ストリームを説明する図である。
【図３】図３は、ＭＰＥＧ−４におけるＰフレーム組み立てプロセスの一例の説明図である。
【図４】図４は、ＭＰＥＧ−４におけるＢフレーム組み立てプロセスの一例の説明図である。
【図５】図５は、Ｈ．２６４におけるＰフレーム組み立てプロセスの一例の説明図である。
【図６】図６は、時間的なスケーラビリティを含んでいるデコーディング・プロセスの一例を説明するフローチャートである。
【図７】図７は、ベース・レイヤＩフレーム組み立て及びＰフレーム組み立てのための動き補償コーデック・プロセスの一例を説明するフローチャートである。
【図８】図８は、エンハンスメント・レイヤＢフレーム組み立てのための動き補償コーデック・プロセスの一例を説明するフローチャートである。
【図９】図９は、動き補償における使用のためのハーフ−ピクセル補間の一例の説明図である。
【符号の説明】
【００６２】
１００…通信システム，１０、２０…ＧＯＰ，１２、２２…Ｉフレーム，１４、２４…Ｐフレーム，２６…Ｂフレーム，３０５…現在の画像，３１０…参照画像，３１５…現在のマクロブロック，３２０…最適合マクロブロック，３２５…運動ベクトル，３３０…残留エラー，３４０…量子化，３４５…ネットワーク，３５０…逆量子化，３６０…再組み立てされた残留エラー，３６５…再組み立てされた最適合マクロブロック，３７０…再組み立てされたマクロブロック，４０５…現在の画像，４１０…参照画像，４１５…現在のマクロブロック，４２０…最適合マクロブロック，４２５…運動ベクトル，４３０…残留エラー，４４０…量子化，４４５…ネットワーク，４５０…逆量子化，４６０…再組み立てされた残留エラー，４６５…再組み立てされた最適合マクロブロック，４７０…再組み立てされたマクロブロック，４７５…次の参照画像，４８０…最適合マクロブロック，４８５…運動ベクトル，４９０…最適合前方マクロブロック。
【図１】
2007536807.tif 000003
【図２Ａ】
2007536807.tif 000004
【図２Ｂ】
2007536807.tif 000005
【図３】
2007536807.tif 000006
【図４】
2007536807.tif 000007
【図５】
2007536807.tif 000008
【図６】
2007536807.tif 000009
【図７】
2007536807.tif 000010
【図８】
2007536807.tif 000011
【図９】
2007536807.tif 000012
【国際調査報告】
2007536807.tif 000013
2007536807.tif 000014
2007536807.tif 000015
2007536807.tif 000016
2007536807.tif 000017