JP4805915B2 - 時間的なスケーラビリティのために2方向予測されたフレームを組み立てるための方法及び装置 - Google Patents

時間的なスケーラビリティのために2方向予測されたフレームを組み立てるための方法及び装置 Download PDF

Info

Publication number
JP4805915B2
JP4805915B2 JP2007511435A JP2007511435A JP4805915B2 JP 4805915 B2 JP4805915 B2 JP 4805915B2 JP 2007511435 A JP2007511435 A JP 2007511435A JP 2007511435 A JP2007511435 A JP 2007511435A JP 4805915 B2 JP4805915 B2 JP 4805915B2
Authority
JP
Japan
Prior art keywords
reference frame
round
frame portion
predicted
motion vectors
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007511435A
Other languages
English (en)
Other versions
JP2007536807A (ja
Inventor
ラビーンドラン、ビジャヤラクシュミ・アール.
ウォーカー、ゴードン・ケント
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2007536807A publication Critical patent/JP2007536807A/ja
Application granted granted Critical
Publication of JP4805915B2 publication Critical patent/JP4805915B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

特許に関する本出願は、米国特許仮出願番号第60/568,142号、名称“B−フレーム及びスケーラビリティを与えるための方法及び装置”、2004年5月4日出願、に優先権を主張し、そして本出願の譲受人に譲渡され、それによって本明細書中に引用により明示的に取り込まれている。
本発明は、エンハンスメント・レイヤ・フレームの組み立てのためにベース・レイヤ・モジュールの効率的な再使用でスケーラブル(scalable)・ビデオ・データをエンコードしそしてデコードするための方法及び装置に関する。
インターネット及びワイアレス通信の爆発的な成長及び非常な成功のために、同様にマルチメディア・サービスに対する増加している要求のために、インターネット及び移動体チャネル/ワイアレス・チャネルを介して媒体をストリーミングすることが、非常に大きな注目を集めている。ハイブリッド・インターネット・プロトコル(IP:Internet Protocol)ネットワークにおいて、ビデオは、サーバによって提供され、そして1又はそれより多くのクライアントにストリームされることが可能である。有線通信手段は、電話回線、ISDN、ケーブル、xDSL、光ファイバ、LAN(local area network:ローカル・エリア・ネットワーク)、WAN(wide area network:広域ネットワーク)及びその他を含む。送信モードは、ユニキャスト又はマルチキャストのいずれかであることが可能である。PDA(personal digital assistant:パーソナル・ディジタル・アシスタント)、ラップトップ、デスクトップ、セットトップ・ボックス、TV、HDTV(high-definition television:高品位テレビ)、移動体電話機及びその他を含む、多様なクライアント・デバイスは、同じコンテントに対して同時に異なる帯域幅のビットストリームを必要とする。回線帯域幅は、(9.6kbpsから100Mbps又はそれ以上に)時間とともに急速に変化することがあり、そしてサーバの反応よりも早いことがある。
ハイブリッドIPネットワークと同様なものは、移動体通信/ワイアレス通信である。移動体チャネル/ワイアレス・チャネルを介したマルチメディア・コンテントの輸送は、下記の理由のために非常に難しい、これらのチャネルが、マルチパス・フェーディング、シャドーイング、シンボル間干渉、及びノイズ妨害のような効果のために頻繁に著しく害されるためである。移動性及び競合するトラフィックのような複数の他の理由が、同様に、帯域幅変化及び損失を生じさせる。チャネル・ノイズ及びサービスされるユーザの数のような複数の要因が、チャネル環境の時間変化する特性を決定する。環境状態に加えて、地理的な位置のために、同様に移動体が移動することのために、宛て先ネットワークが、第2世代セルラ・ネットワーク、第3世代セルラ・ネットワークからブロードバンド・データのみのネットワークに変化することがあり得る。移動中でさえも、全てのこれらの変動は、マルチメディア・コンテントのために適応レート調節を要求する。それゆえ、ハイブリッド有線/ワイアレス・ネットワークを介してのビデオの良好な送信は、効率的なコーディングを必要とし、同様に変化するネットワーク状態、デバイス特性、及びユーザの好みへの適応性を必要とし、他方でしかも損失に対して弾力的であることを必要とする。
異なるユーザの要求を満たすためにそしてチャネル変化に適応するために、ビットストリームの複数の独立したバージョンを発生させることが可能であり、各々は、送信帯域幅、ユーザ・ディスプレイ及び演算の能力に基づいて制約の1つのクラスを満足させる。しかし、これは、サーバの記憶容量又はネットワークの容量に関して効率的でない。スケーラブル・コーディングにおいて、そこでは、ハイ−エンド・ユーザを適応させる1つのマクロ−ビットストリームがサーバにおいて創出され、ロー−エンド・アプリケーションのためのビットストリームは、マクロ−ビットストリームの下位セットとして埋め込まれる。その意味で、1つのビットストリームは、部分ビットストリームを選択的に送信することによって多様なアプリケーション環境に適合されることが可能である。スケーラブル・コーディングによって提供される別の1つの利点は、エラーの傾向があるチャネル上でエラーに強いビデオ送信に対してである。エラー防護及びエラー隠匿(error concealment)は、容易に取り扱われることが可能である。より信頼性のある送信チャネル又はより良いエラー防護は、最も重要な情報を含んでいるベース・レイヤ・ビットに適用されることが可能である。
MPEG−1,MPEG−2,MPEG−4(総括してMPEG−xと呼ぶ)、H.261,H.262,H263,及びH.264(総括してH.26xと呼ぶ)のようなハイブリッド・コーダにおける空間的スケーラビリティ、時間的スケーラビリティ、及び信号対ノイズ比(SNR:signal to noise ratio)スケーラビリティがある。ハイブリッド・コーディングにおいて、時間的な冗長性は、動き補償予測(MCP:motion-compensated prediction)によって除去される。ビデオは、一般的に、一連の画像のグループ(GOP:group of picture)に分割される、ここで、各GOPは、内部コード化されたフレーム(intra-coded frame)(I)で始まり、前方予測されたフレーム(P)及び2方向予測されたフレーム(B)の配列が続く。P−フレーム及びB−フレームの両者は、相互フレーム(inter-coded frame)である。Bフレームは、大部分のMPEGのようなコーダにおける時間的なスケーラビリティに対してキーである。しかしながら、MPEG−4単純プロフィール(Simple profile)及びH.264ベースライン・プロフィール(Baseline Profile)のような複数のプロフィールは、Bフレームをサポートしない。
MPEG−4において、プロフィール及びレベルは、特定のビットストリームをデコードするために必要とされるデコーダの能力に基づくシンタックス(syntax:構文)の下位セット及びシメンティクス(semantics:意味)を規定する手段を提供する。プロフィールは、全体のビットストリーム・シンタックスの下位セットとして定義される。レベルは、ビットストリーム内のパラメータに課せられた制約の定義されたセットである。いずれかの与えられたプロフィールに関して、レベルは、一般に、デコーダの処理負荷及びメモリ能力に対応する。そこで、プロフィール及びレベルは、ビットストリームの制約を規定し、そしてそれゆえビットストリームをデコードする能力についての制限を定める。もし、デコーダがそのレベルにおいてそのプロフィールによって規定されように全てのシンタックス・エレメントの全ての許される値を適切にデコードすることが可能であるならば、一般に、デコーダは、与えられたレベルで与えられたプロフィールにしたがうように見なされるべきである。
近年のマイクロプロセッサ・チップセットの進化発展、又は拡散は、ソフトウェア、ファームウェア及びハードウェアに対する変更を最小に保ちつつ要求が満足されることが可能な場合に、効率的な方式で実現されることが可能である。上で説明したように、MPEG−4単純プロフィール及びH.264ベースライン・プロフィールは、時間的なスケーラビリティに関してBフレームをサポートしない。したがって、これらのプロフィールに適合するように開発されたチップセットは、Bフレームをサポートしないことがある。より高いレートのマルチメディアの人気の増大そして要求の増加とともに、そしてより高いレートのマルチメディアをサポートするネットワークの増加とともに、MPEG−4単純プロフィール又はH.264ベースライン・プロフィールからBフレームを用いて時間的なスケーラビリティを提供するプロフィールへの有効な拡散パスが、必要とされる。MPEG−4規格は、ISO/IEC14496−2に記載されている。H.264規格は、[ISO/IEC14496−10]に記載されている。
ISO/IEC14496−2 ISO/IEC14496−10
[サマリー]
したがって、本明細書中に開示された複数の実施形態は、ベース・レイヤのソフトウェア、ファームウェア及びハードウェアへの最小の変更で、ベース・レイヤの非時間的なスケーリング設計に基づいて、2方向予測を介して、スケーラブル・ビデオのコード化されたデータを提供するための方法及び装置を提供する。
動き補償された2方向予測の使用を通してビデオ・ストリームのスケーラブル・コーディングを可能にするビデオ・エンコーディング・システム及びビデオ・デコーディング・システムが、記載される。2方向予測された領域の組み立てのためにベース・レイヤの非時間的なスケーリング・モジュールの効果的な設計及び使用は、エンハンスメント(enhancement)レイヤ・コーディングを提供するための効果的な移動パス(migration path)を使用可能にする。ベース・レイヤの非時間的なスケーリング・モジュールは、連続して2方向参照領域の各々をデコードすることによって、そしてその後2方向予測された領域を計算するために結果を統合することによって、2方向予測された領域をデコードするために使用される。
[詳細な説明]
ベース・レイヤのソフトウェア、ファームウェア及びハードウェアへの最小の変更で、ベース・レイヤの非スケーラブル・コーディング設計に基づいて、2方向予測を介して、スケーラブル・ビデオのコード化されたデータを提供するための方法、装置及びシステムが、記載される。ベース・レイヤ動き補償コーデックは、前方予測された(forward predicted)Pフレーム又は後方予測された(backward predicted)Pフレームを組み立てることができる。同様に、ベース・レイヤ動き補償コーデックは、ソフトウェア、ファームウェア及びハードウェアへの最小の変更で修正されることが可能であり、前方予測された/後方予測された(すなわち、2方向)Bフレームを組み立てる。Pフレームをデコードするために使用した同じ構成要素は、複数の参照物を用いてBフレームをデコードするために連続して利用されることが可能である。Pフレームは、ベース・レイヤ中に含まれることが可能であり、他方でBフレームは、スケーラブル・ビデオのコード化されたビットストリームのエンハンスメント・レイヤ中に含まれることが可能である。
下記の記載において、具体的な詳細が、複数の例の完全な理解を提供するために与えられる。しかしながら、複数の例が、これらの具体的な詳細なしで実行されることができることは、当業者によって理解される。例えば、電気的な構成要素は、不必要な詳細で複数の例を不明確にしないためにブロック図で示されることがある。別の事例において、そのような構成要素、他の構造及び技術が、複数の例をさらに説明するために詳細に示されることがある。
複数の例が、フローチャート、フロー図、構造図、又はブロック図として図示されるプロセスとして記載されることができることに同様に注意する。フローチャートが連続したプロセスとして動作を記載することができるけれども、多くの動作は、並行して又は同時に実行されることが可能であり、そしてプロセスは、繰り返されることが可能である。その上、動作の順序は、並べ替えられることができる。プロセスは、その動作が完了した時に終了される。プロセスは、方法、機能、手順、サブルーチン、サブプログラム、等に対応することができる。プロセスが機能に対応する場合、その終了は、呼び出し機能又は主機能に機能が戻ることに対応する。
MPEG−x及びH.26xとして知られる2つのビデオ・コーディング規格は、データ処理技術及び操作技術(本明細書中ではハイブリッド・コーディングとして呼ばれる)を記載する。これは、固定長ソース・コーディング技術又は可変長ソース・コーディング技術を使用してビデオ情報、オーディオ情報、及びその他の情報の圧縮及び配信に好適である。特に、上に引用された規格類、及びその他のハイブリッド・コーディング規格類及び技術は、例示的に、(例えば、ラン長コーディング、ハフマン・コーディング及びその他のような)フレーム内コーディング(intra-frame coding)技術及び(例えば、前方予測コーディング及び後方予測コーディング、動き補償及びその他のような)フレーム間コーディング(inter-frame coding)技術を使用してビデオ情報を圧縮する。具体的に、ビデオ処理システムのケースでは、ハイブリッド・ビデオ・コーディング・システムは、フレーム内動き補償エンコーディング及び/又はフレーム間動き補償エンコーディングを用いてビデオ・フレームの予測ベースの圧縮エンコーディングによって特徴付けられる
フレーム内コーディングは、いかなる他の画像を参照することなく画像(フィールド又はフレーム)をエンコードすることを呼ぶ、しかし、内部コード化された(intra-coded)画像は、別の画像に対する参照として使用されることが可能である。用語フレーム内、内部コード化されたフレーム及びIフレームは、本出願全体を通して使用される内部コーディングを用いて形成されるビデオ−オブジェクトの全ての例である。
フレーム間コーディング、又は予測コーディングは、別の1つの画像を参照して画像(フィールド又はフレーム)をエンコードすることを呼ぶ。内部コード化された画像と比較して、相互コード化された(inter-coded)画像又は予測された画像は、非常に効率的にコード化されることができる。本出願全体を通して使用される相互コード化された画像の例は、予測されたフレーム(前方予測又は後方予測のいずれかであり、しかもPフレームとも呼ばれる)、及び2方向予測されたフレーム(同様にBフレームと呼ばれる)である。相互コーディングに関する他の用語は、ハイ−パス・コーディング、残余コーディング、動き補償補間、及び当業者に周知であるその他のものを含む。
スケーラブル・コーディングとして知られる技術は、(Pフレーム又はBフレームのような)内部コード化された画像及び異なる相互コード化された画像を、例えば、ベース・レイヤ及びエンハンスメント・レイヤのようなビットストリーム中の異なるレイヤに分割することが可能である。スケーラブル・コーディングは、ダイナミック・チャネルにおいて有用である、そこではスケーラブル・ビットストリームが、ネットワーク帯域幅内の変動に見合うように適合されることが可能である。エラーの起き易いチャネルにおいて、スケーラブル・コーディングは、ベース・レイヤ及びエンハンスメント・レイヤの同等でないエラー防護を通して強さを付加することが可能である。より良いエラー防護は、より重要なレイヤに適用されることが可能である。
図1は、ストリーミング画像をエンコードするためそしてデコードするための一般的な通信システムのブロック図である。システム100は、エンコーダ・デバイス105及びデコーダ・デバイス110を含む。エンコーダ・デバイス105は、内部エンコーディング素子115、予測エンコーディング素子120、時間的なスケーラビリティ素子125、メモリ素子130、及び通信素子175を含む。これらのエレメントは、単体素子であり得る、若しくは1又はそれより多くのマイクロプロセッサ又はディジタル・シグナル・プロセッサ(DSP:digital signal processor)により含まれることができる。エンコーダ・デバイス105は、通信素子175内に含まれる通信論理回路を使用して外部ソース135からデータを受信することが可能である。外部ソース135は、例えば、外部メモリ、インターネット、ライブの又はディレー・ビデオ及び/又はオーディオ・フィードであることができ、そしてデータを受信することは、有線通信及び/又はワイアレス通信を含むことが可能である。外部ソース135内に含まれるデータは、エンコードされていない状態又はエンコードされた状態であることが可能である。内部エンコーディング素子115は、フレーム(スライス、マクロブロック及び部分マクロブロック)の内部コード化された部分をエンコードするために使用される。予測エンコーディング素子120は、前方予測、後方予測及び2方向予測を含む、フレームの予測された部分をエンコードするために使用される。
エンコーダ・デバイス105は、エンコーディングのために生データ又はエンコードされたデータをアクセスできる。エンコードされたデータは、時間的なスケーラビリティを与えるために2方向予測されたフレームのようなエンハンスメント・レイヤ部分で既にエンコードされた部分を置き換えるためにアクセスされることが可能である。エンコードされたデータ(内部コード化されたデータ又は相互コード化されたデータのいずれか)をアクセスする場合、内部エンコーディング素子115及び予測エンコーディング素子120内に含まれる論理回路は、エンコードされたデータをデコードし、結果として再組み立てされた生データを生じる。この再組み立てされた生データ、すなわちアクセスされた生データは、その後、時間的なスケーラビリティのためにBフレームを含んでいるエンハンスメント・レイヤ及び/又は低優先度データを与えるような方法でエンコードされることが可能である。
時間的なスケーラビリティ素子125は、論理回路を含み、これはどのビデオ・データの部分が内部エンコーディング素子115によって内部コード化されるべきであるかを決定するため、そしてどの部分が予測エンコーディング素子120によって相互コード化されるべきであるかを決定するために使用される。時間的なスケーラビリティ素子125は、しかもどのビデオの部分が低優先度でありそしてエンハンスメント・レイヤ内に置かれるべきであるかを決定するため、そしてどの部分が高優先度でありそしてベース・レイヤ内に置かれるべきであるかを決定するための論理回路を含む。時間的なスケーラビリティ素子125は、オーバーヘッド情報をエンコードし、オーバーヘッド情報は、例えば、マクロブロック・マップのような内部コード化された部分のマップ及び相互コード化された部分のマップを含むことが可能であり、ここでマクロブロック(又は部分マクロブロック)は内部コード化される又は相互コード化されるように識別され(同様に、どのタイプの相互コーディングが、例えば、前方、後方又は2方向を含んでいるかを識別し)、そしてフレームの相互コード化された部分がどれに対して参照にされるかを識別する。エンコーディングの後で、エンコードされたフレームは、メモリ素子130又は外部メモリ内に記憶される。外部メモリは、外部ソース135内部に含まれることが可能である、又は別のメモリ素子(図示されず)であることが可能である。
通信素子175は、ネットワーク140とともにデータ送信(Tx:transmission)のために使用される論理回路を含む。ネットワーク140は、電話システム、ケーブル・システム、及び光ファイバ・システムのような有線システム、又はワイアレス・システムの一部であることが可能である。ワイアレスのケースでは、通信システム、ネットワーク140は、下記のシステムの一部を備えることが可能である。例えば、コード分割多元アクセス(CDMA:code division multiple access又はCDMA2000、又はこれらの変形、同様なCDMA2000 1x、CDMA2000 1x−EVDO)通信システム、又は代わりに、システムは、周波数分割多元アクセス(FDMA:frequency division multiple access)システム、時分割多元アクセス(TDMA:time division multiple access)システム、例えば、GSM/GPRS(General Packet Radio Service:汎用パケット無線サービス)/EDGE(enhanced data GSM environment:拡張データGSM環境)、又はサービス産業のためのTETRA(Terrestrial Trunked Radio:地上中継無線)移動体電話技術、ワイドバンド・コード分割多元アクセス(WCDMA:wideband code division multiple access)OFDM(Orthogonal Frequency Division Multiplexing:直交周波数分割多重化)又はOFDMA(Orthogonal Frequency Division Multiple Access:直交周波数分割多元アクセス)システム、802.xxシステム、又は一般に複数の技術の組み合わせを採用するいずれかのワイアレス通信システムである。エンコードされたフレームは、ネットワーク140を介して送信(Tx)される。エンコーダ・デバイス105によって実行されるエンコーディング・プロセスは、以下にさらに十分に説明される。
デコーダ・デバイス110は、エンコーダ・デバイス105に対して相補的な構成要素を含み、内部デコーディング素子145、予測デコーディング素子150、時間的なスケーラビリティ素子155、メモリ素子160及び通信素子180を含む。デコーダ・デバイス110は、ネットワーク140を介して送信されたエンコードされたデータ又は外部記憶装置165からのエンコードされたデータを受信する。通信素子180は、ネットワーク140とともにエンコードされたデータを受信(Rx:receive)するために使用される論理回路を含み、同様に、外部記憶装置165からエンコードされたデータを受信するための論理回路を含む。外部記憶装置165は、例えば、外付けRAM又はROM、若しくは遠隔サーバであり得る。内部デコーディング素子145は、内部コード化されたデータをデコードするために使用される。予測デコーディング素子150は、相互コード化されたデータをデコードするために使用される。予測デコーディング素子は、(前方予測された又は後方予測された)両方のPフレーム同様にBフレームをデコードする。Pフレームをデコードするために使用される同じ下位構成要素は、複数の参照物を用いてBフレームをデコードするために連続して利用されることが可能である。Bフレームに関する複数の参照物は、前方参照フレーム及び後方参照フレーム中にあることがある、両方とも同じ参照フレーム中にあることがある、両方とも別々の前方参照フレームの中にあることがある又は両方とも後方参照フレームの中にあることがある。
時間的なスケーラビリティ素子155は、オーバーヘッド情報をデコードするために使用する論理回路を含み、上で検討されたマクロブロック・マップを含み、そして内部デコーディング素子145及び予測デコーディング素子150が適切な方法で適切なマクロブロックをデコードすることが可能であるようにこの情報を変換する。情報の変換は、Bフレーム(又はスライス又は複数の参照物から予測されるフレームの別の部分)のデコーディングのために2回連続して予測デコーディング素子の下位構成要素の使用を可能にすることを含むことができる。時間的なスケーラビリティ素子155は、同様に2方向予測されたフレーム及び/又は低優先度ビデオ・データを含んでいるエンハンスメント・レイヤ・データのデコーディングを省略するために使用する論理回路を含む。例えば、もしエンハンスメント・レイヤ・データが受信されない若しくは悪いSNRで又は不十分なSNRで受信されるのであれば、そして/又はもしデコーダ・デバイスにおいて処理能力が不十分であるならば、エンハンスメント・レイヤ・データのデコーディングは、省略されることが可能である。デコーディングの後で、デコードされたフレームは、ディスプレイ素子170を用いて表示されることが可能である、若しくは内部メモリ160又は外部記憶装置165に記憶されることが可能である。ディスプレイ素子170は、デコーディング・デバイスの統合された一部であることがあり、それはディスプレイ・スクリーンを含んでいるビデオ・ディスプレイ・ハードウェア及び論理回路のような部品を含む、又は外部周辺デバイスであり得る。デコーダ・デバイス110によって実行されたデコーディング・プロセスは、下記にさらに十分に説明される。
典型的なMPEGデコーダにおいて、予測コード化されたピクセル・ブロック(すなわち、1又はそれより多くの運動ベクトル及び残余エラー成分を備えるブロック)は、参照フレームに関してデコードされる(ここで、内部フレーム又は別の1つの予測されたフレームが、参照フレームとして機能することが可能である)。図2Aは、従来のMPEG−4単純プロフィール・データ・ストリームを説明する図であり、これは、GOPに対するフレーム依存性を図示する。GOP10は、最初のIフレーム12、引き続く複数の前方予測されたPフレーム14からなる。前のIフレーム又はPフレームへのPフレームの依存性は、システム(MPEG−4単純プロフィール及びH.264ベースライン・プロフィールに適合するもののようなシステム)に与えられた時間的なスケーラビリティを制限することが可能であり、それは前方予測されたフレームだけをサポートできる。Pフレーム14のいずれかを削除することは、他のPフレームをデコードする際に致命的になることがある情報の損失を結果として生じることがある。Pフレームの削除は、結果として、例えば、ビデオ・ジター又は次のIフレーム16、これは次のGOPの開始をマークする、までデコーダがデコーディングを続けることを不可能にすることになる。
スケーラブル・ビデオ・コーディング・システムのエンハンスメント・レイヤ内の2方向予測されたデータの使用は、上に説明されたようにダイナミック・チャネルにおいて有用であり得る。図2Bは、時間的なスケーラビリティを可能にする従来のエンコードされたデータ・ストリームを説明する図であり、これは、GOPのフレーム依存性を図示する。GOP20は、Iフレーム22A、前方予測されたPフレーム24、及び2方向予測されたBフレーム26からなる。各Bフレームは、前方運動ベクトルと後方運動ベクトル及びIフレーム22A又は前方予測されたPフレーム24(後方予測されたPフレームが、同様に使用されることができるが、この例では示されない)を参照した残余エラーを統合することが可能である。Iフレーム22Bは、次のGOPの開始をマークする。図2Bに示されたように、1つのBフレーム26だけが、Iフレーム22AとPフレーム24との間に、又は2つのPフレーム24の間に含まれる。複数のBフレームが、複数の参照フレームの間に挿入されることが可能であり、時間的なスケーラビリティにおけるより大きな柔軟性を許容する。どの別のフレームも参照フレームとしてBフレームをあてにしないので、別のフレームのデコーディングに関する情報の損失なしにBフレーム26を削除できる。Bフレーム26のこの特性は、Bフレーム26がビットストリームの中に挿入されることを許容でき、そこではBフレーム26は、チャネル状態、帯域幅制限、電池電力、同様に別の考慮すべき事柄を適応させるためにエンコーダ、トランスコーダ、又はデコーダの選択で削除されることが可能である。例えば、もし、複数の参照フレームの間に3個のBフレームがあるならば、3個のBフレームの全てを削除でき、そして4分の3だけフレーム・レートを削減できる、又は中央のBフレームをそのままにすることができ、そして他の2個を削除できて半分にフレーム・レートを削減する。データ・レートは、それにしたがって減少し得る。
Pフレーム(又はいずれかの相互コード化されたセクション)は、現在の画像内の1つの領域と参照画像内の最適合予測領域との間の時間的な冗長性を活用することが可能である。現在の領域と最適合参照予測領域との間の差は、残余エラー(又は予測エラー)として知られている。参照フレーム内の最適合予測領域の位置は、運動ベクトルにエンコードされることが可能である。図3は、例えば、MPEG−4におけるPフレーム組み立てプロセスの一例の説明図である。プロセス300は、5×5のマクロブロックからなる現在の画像305を含む、ここでこの例におけるマクロブロックの数は任意である。1つのマクロブロックは、16×16のピクセルからなる。ピクセルは、1個の8ビットのルミナンス値(Y)と2個の8ビットのクロミナンス値(CrとCb)によって定義されることが可能である。MPEGにおいて、Y,Cr及びCb成分は、4:2:0フォーマットで記憶されることが可能である、ここでCr及びCb成分は、X方向及びY方向に2だけダウンサンプル(down-sample)される、又は削減される。それゆえ、各マクロブロックは、256のY成分、64のCr成分及び64のCb成分からなるはずである。現在の画像305のマクロブロック315は、現在の画像305とは異なる時点において参照画像310から予測される。検索は、最適合マクロブロック320の位置を探すために参照画像310内で行われ、最適合マクロブロック320は、エンコードされる現在のマクロブロック315にY,Cr及びCb値に関して最も近い。最適合マクロブロック320を検索する方法は、当業者に公知であり、a)現在のマクロブロック315と参照画像310マクロブロックとの間のSAD(sum of absolute pixel difference:ピクセル差異の絶対値の和)を最小にする、b)SSD(sum of squared pixel difference:ピクセル差異の二乗和)を最小にする、及びc)レート歪の点で最小コスト、及びその他を含む。参照画像310内の最適合マクロブロック320の位置は、運動ベクトル325内でエンコードされる。参照画像310は、デコーダが現在の画像305の組み立ての前に再組み立てされるPフレーム又はIフレームであり得る。最適合マクロブロック320は、現在のマクロブロック315から差し引かれ(Y,Cr及びCg成分の各々に関する差が計算され)結果として残留エラー330を生ずる。残留エラー330は、2D離散型余弦変換(DCT:Discrete Cosine Transform)を用いてエンコードされ、そしてそれから量子化される340。量子化340は、例えば、高頻度の係数により少ないビットを割り当て、一方で低頻度の係数により多くのビットを割り当てることによって、空間的な圧縮を与えることにより実行されることが可能である。情報を識別する参照画像310及び運動ベクトル325とともに、残留エラー330の量子化された係数は、現在のマクロブロック315を表しているエンコードされた情報である。エンコードされた情報は、今後の使用のためにメモリ中に記憶されることが可能である、又は、例えば、エラー訂正又は画像強調の目的のために手を加えられることが可能である、又はネットワーク345を介して送信されることが可能である。
エンコードされた運動ベクトル325とともに、残留エラー330のエンコードされ量子化された係数は、引き続く動き推定及び圧縮のための参照フレームの一部として使用するためにエンコーダにおいて現在のマクロブロック315を再組み立てするために使用されることが可能である。エンコーダは、このPフレーム再組み立てのためにデコーダの手順をエミュレートすることが可能である。デコーダのエミュレーションは、同じ参照画像にエンコーダ及びデコーダの両方が働くことに結果としてなる。さらなる相互コーディングのためにエンコーダにおいて実行されるか、又はデコーダにおいて実行されるかに拘らず、再組み立てプロセスが、ここに提示される。Pフレームの再組み立ては、参照フレーム(又は参照されようとしている画像の一部又はフレームの一部)が再組み立てされた後で、開始されることが可能である。エンコードされ量子化された係数は、逆量子化され350、そしてそれから逆DCT,すなわちIDCT355が実行され、デコードされた又は再組み立てされた残留エラー360に結果としてなる。エンコードされた運動ベクトル325は、既に再組み立てされた参照画像310中で既に再組み立てされた最適合マクロブロック365の位置を見つけるために使用される。再組み立てされた残留エラー360は、それから再組み立てされた最適合マクロブロック365に加えられ、再組み立てされたマクロブロック370を形成する。再組み立てされたマクロブロック370は、メモリ中に記憶されることが可能であり、独立して又は別の再組み立てされたマクロブロックを用いて画像中に表示されることが可能であり、又は、画像強調のためにさらに処理されることが可能である。
Bフレーム(又は2方向予測を用いてコード化されたいずれかの部分)は、現在の画像内のある領域と前の画像内の最適合予測領域及び次の画像内の最適合予測領域との間の時間的な重なりを活用できる。次の最適合予測領域及び後方最適合予測領域は、統合されて、統合された2方向予測領域を形成する。現在の画像領域と最適合統合2方向予測領域との間の差異は、残留エラー(又は予測エラー)である。次の参照画像内の最適合予測領域の位置及び前の参照画像内の最適合予測領域の位置は、2つの運動ベクトルにエンコードされることが可能である。
図4は、例えば、MPEG−4におけるBフレーム組み立てプロセスの一例の説明図である。プロセス400は、5×5のマクロブロックからなる現在の画像405を含む、ここでこの例におけるマクロブロックの数は任意である。現在の画像405のマクロブロック415をエンコードすることは、現在の画像405よりも前の時点における前の参照画像410を参照して、そして次の時点における次の参照画像475を参照して行われる。検索は、エンコードされる現在のマクロブロック415に最も近い最適合マクロブロック420の位置を探すために前の参照画像410内で行われる。最適合マクロブロック420の位置は、運動ベクトル425にエンコードされる。前の参照画像410は、デコーダが現在の画像405の組み立ての前に再組み立てするIフレーム又はPフレームであり得る。検索は、現在のマクロブロック415に最も近い最適合マクロブロック480の位置を探すために次の参照画像475内で行われる。最適合マクロブロック480の位置は、運動ベクトル485にエンコードされる。次の参照画像475は、デコーダが現在の画像405の組み立ての前に再組み立てするIフレーム又はPフレームであり得る。最適合マクロブロック420及び最適合マクロブロック480は、平均されて、統合された2方向のマクロブロックを形成する、これは現在のマクロブロック415から差し引かれて結果として残留エラー430を生じる。
最適合マクロブロックを統合する別の方法が、以下に説明される。残留エラー430は、例えば、DCT435(他の2D変換は、アダマール変換又はH.264にあるような整数変換を含む)を用いてエンコードされ、そしてそれから量子化される440。情報を識別する参照画像及び運動ベクトル425と485とともに、残留エラー430の量子化された係数は、現在のマクロブロック415を表しているエンコードされた情報である。エンコードされた情報は、今後の使用のためにメモリ中に記憶されることが可能である、又は、例えば、エラー訂正又は画像強調の目的のために手を加えられることが可能である、又はネットワーク445を介して送信されることが可能である。
Bフレームが参照フレームとして使用されないので、その時間的なスケーリング特性を保持させるために、Bフレームに関するマクロブロック再組み立ては、エンコーダにおいて必要とされないことがあり得る。デコーダにおいて、Bフレーム・セクションの再組み立ては、前の参照フレーム(又は参照されようとしている画像の一部又はフレームの一部)及び次の参照フレーム(又は参照されようとしている画像の一部又はフレームの一部)の両方が再組み立てされた後で、開始されることが可能である。エンコードされ量子化された係数は、逆量子化され450、そしてそれから2D DCT455が実行され、デコードされた又は再組み立てされた残留エラー460を結果として生ずる。エンコードされた運動ベクトル425及び485は、既に再組み立てされた参照画像410中で既に再組み立てされた最適合マクロブロック465の位置を見つけるために使用され、そして次の参照フレーム475中で既に再組み立てされた最適合前方マクロブロック490の位置を見つけるために使用される。再組み立てされた最適合マクロブロック465及び490は、平均されて、統合された2方向マクロブロックを形成する。再組み立てされた残留エラー460は、それから統合された2方向マクロブロックに加えられて、再組み立てされたマクロブロック470を形成する。再組み立てされたマクロブロック470は、メモリ中に記憶されることが可能であり、独立して又は別の再組み立てされたマクロブロックを用いて1つの画像に表示されることが可能であり、又は、画像強調のためにさらに処理されることが可能である。
H.264は、上に説明されたPフレーム組み立て及びBフレーム組み立てのMPEG−4の例に複数のオプションを提供する。図5は、H.264におけるPフレーム組み立てプロセスの一例の説明図である。プロセス500は、5×5のマクロブロックからなる現在の画像505を含む、ここでこの例におけるマクロブロックの数は任意である。現在の画像505のマクロブロック515は、現在の画像505とは異なる時点における参照画像510から予測される。マクロブロックは、より小さな部分マクロブロック・セクションに分割されることが可能であり(例えば、4個の部分マクロブロックがこの例では描かれているが、H.264は、4×4のピクセルまでの小さな部分マクロブロック分割を許容する。それ故、1つのマクロブロックに対して16個の運動ベクトルが存在することがある)、そして各部分マクロブロック・セクションは、時間的な冗長性のために別々に活用されることが可能である。検索は、各部分マクロブロックに対する最適合部分マクロブロックの位置を探すために参照画像510内で行われ、エンコードされる現在のマクロブロック515に最も近い複合最適合マクロブロック520を結果として生ずる。参照画像内の最適合マクロブロックの位置は、4個の運動ベクトル525a−525dにエンコードされる。参照画像510は、デコーダが現在の画像505の組み立ての前に再組み立てをするIフレーム又はPフレームであり得る。複合最適合マクロブロック505は、現在のマクロブロック515から差し引かれて、結果として残留エラー530を生じる。残留エラー530は、MPEG−4において使用されるDCTとはわずかに異なる前方2D変換535を用いてエンコードされることが可能であり、そしてその後、量子化される540ことが可能である。残留エラー530の量子化された係数、運動ベクトル525a−525d、及び情報を識別する参照フレームは、現在のマクロブロック515を表しているエンコードされた情報である。エンコードされた情報は、今後の使用のためにメモリ中に記憶されることが可能であり、又は、例えば、エラー訂正又は画像強調の目的のために手を加えられることが可能であり、又はネットワーク545を介して送信されることが可能である。
エンコードされ量子化された係数、運動ベクトル、重み及び残留エラーは、しかも、引き続く動き推定及び動き補償に対して参照フレームの一部として使用するためにエンコーダにおいて現在のマクロブロックを再組み立てするために使用されることが可能である。エンコーダは、このPフレーム再組み立てのためにデコーダの手順をエミュレートすることが可能である。デコーダのエミュレーションは、エンコーダとデコーダの両方が同じ参照画像に作用することに結果としてなる。さらなる相互コーディングのためにエンコーダにおいて行われるか又はデコーダにおいて行われるか拘らず再組み立てプロセスが、ここに示される。Pフレームの再組み立ては、参照フレーム(又は参照されようとしている画像の一部又はフレームの一部)が再組み立てされた後で、開始されることが可能である。エンコードされ量子化された係数は、逆量子化され550、そしてそれから2D逆変換555が実行され、デコードされた又は再組み立てされた残留エラー560を結果として生じる。エンコードされた運動ベクトル525a−525dは、デコードされ、そして再組み立てされた最適合複合マクロブロック565を構成する既に再組み立てされた最適合部分マクロブロックの位置を見つけるために使用される。再組み立てされた残留エラー460は、それから再組み立てされた最適合複合マクロブロック560に加えられ、再組み立てされたマクロブロック570を形成する。デブロッキング・フィルタ575は、同様に、例えば、マクロブロック又は部分マクロブロックの端に沿ったピクセル強調のためのエンコーディング・プロセス又はデコーディング・プロセスの一部として使用されることが可能である。再組み立てされたマクロブロックは、メモリ中に記憶されることが可能であり、独立して又は別の再組み立てされたマクロブロックを用いて画像中に表示されることが可能であり、又は、画像強調のためにさらに処理されることが可能である。H.264におけるBフレーム組み立てが、同様に類似の方法を使用して複数の部分マクロブロックを利用することが可能であることを、当業者は、理解する。
H.264のケースでは、Bフレーム組み立ては、スライス・レベル(スライスは、通常マクロブロックの連続的なグループである)又は画像レベルで行われることが可能であり、ここでは、Bフレーム内の異なるスライス又は画像は、4×4のピクセル・ブロックまでに内部コード化される又は相互コード化されるかのいずれかであり得る。H.264は、しかも、直接モード2方向予測を提供する。直接モードでは、前方運動ベクトル及び後方運動ベクトルは、2個の参照フレームのうちの1つの同時に置かれたマクロブロック内で使用される運動ベクトルから導き出される。直接モードでは、前方運動ベクトルと後方運動ベクトルの導出は、後方及び前方参照フレームと現在のBフレーム又は画像との間の時間的な距離に基づいている。直接モードは、同様に、図3の例において示されたように平均することの代わりに、参照マクロブロックのY,Cr及びCb成分の重み付けを可能にする。重み付けは、同様に、後方及び前方参照フレームと現在のBフレーム又は画像との間の時間的な距離に基づいている。その上、Bフレーム組み立ては、図3に図示されたように平均マクロブロックの代わりに、前方最適合マクロブロック又は後方最適合マクロブロックのいずれか一方だけに基づいて残留エラーを算出できる。
図6は、時間的なスケーラビリティを含んでいるデコーディング・プロセスの一例を説明するフローチャートである。プロセス600は、図1のデコーダ・デバイス110のようなデバイスによって実行される。エンコードされたビデオ・データは、図1のネットワーク140のようなネットワークを介してデコーダ・デバイスによって受信される、又は図1の外部記憶構成素子165のような外部記憶装置から受信される、ステップ605。エンコードされたデータは、上に説明されたようにベース・レイヤ・データ及びエンハンスメント・レイヤ・データを含む。図1の通信素子180のような、受信する手段は、ステップ605を実行することが可能である。デコーダ・デバイスは、Iフレーム及びPフレームの両方を含むことが可能なベース・レイヤ・データをデコードする。図1の内部デコーディング素子145及び予測デコーディング素子150のような、デコードする手段は、ステップ610を実行することが可能である。デコーダ・デバイスは、エンハンスメント・レイヤ・データをデコードするか否かを決定する、ステップ615。エンハンスメント・レイヤをデコードしない理由は、例えば、エンハンスメント・レイヤ・データが受信されない若しくは悪いSNRで又は不十分なSNRで受信されること、及び/又はデコーダ・デバイスにおける処理能力が不十分である場合、を含む。判断ブロック615は、任意のレベルに行われることが可能であり、フレーム全体、スライス、マクロブロック及びより小さな部分を含む任意のサイズの部分のデコーディングを省略する。ステップ615の判断がエンハンスメント・レイヤをデコードする場合には、デコーダ・デバイスは、Iフレーム、Pフレーム及びBフレームを含んでいるエンハンスメント・レイヤ・データをデコードする、ステップ620。図1の時間的なスケーラビリティ素子155のような、決定する手段は、ステップ615を実行することが可能である。図1の内部デコーディング素子145及び予測デコーディング素子150のような、デコードする手段は、ステップ620を実行することが可能である。デコーダがデコードすると選択したベース・レイヤ・データ及びエンハンスメント・レイヤ・データの全てがデコードされた後で、デコーダは、デコードされたビデオをメモリ中に記憶することが可能である又はビデオを表示することが可能である、ステップ625。図1の外部記憶素子165又はメモリ素子160のような、記憶する手段は、ステップ625の記憶部分を実行することが可能である。図1のディスプレイ素子170のような、表示する手段は、ステップ625の表示部分を実行することが可能である。
図7は、図6のステップ610において実行されるような、ベース・レイヤIフレーム組み立て及びPフレーム組み立てのための動き補償コーデック・プロセスの一例を説明するフローチャートである。スケーラブル・ビデオのコード化されたビットストリームのベース・レイヤは、高優先度のデータを含むことが可能である。ある低ビット・レートの遠隔デバイスは、ベース・レイヤ処理能力だけを有することがある。デコーダ・プロセス700は、ネットワークを介して又はメモリからエンコードされ量子化され内部コード化されたビデオ・データを受信することによってIフレームをデコードすることを開始する、ステップ725。図1の通信素子180のような、受信する手段は、ステップ725を実行することが可能である。量子化され内部コード化されたビデオ・データは、逆量子化される、ステップ730。データは、その後、逆変換され、ステップ735、結果としてデコードされたIフレームを生ずる。デコードされたIフレーム、すなわち、I−VOP(I−VOPは内部コード化されたビデオ・オブジェクト面(Video Object Plane)を表す)は、そのようにして表示されるように及び/又はメモリ中に記憶されるように準備される、ステップ750。デコーダは、同様に、Iフレームを参照する次のPフレームをデコードするためにメモリの中にデコードされ出力されたI−VOPを記憶することが可能である。
Pフレーム・デコーディングは、Pフレームがそのフレームから予測される参照フレームがデコードされた後でだけ開始されることが可能である。デコードされた参照VOPは、メモリからアクセスされる、ステップ705。VOPの境界端は、ピクセル補間の準備のためにゼロでパッドされる、ステップ710。ゼロでパッドすることは、複数のタップ・フィルタが十分な数のピクセルの存在しない複数の境界領域ピクセル間で正しく補間することを可能にする。パッドされたVOPピクセルは、補間される、ステップ715。ピクセル補間は、動き補償のためにより良く適合する参照領域を実現するために使用される。ピクセル補間は、以下により詳細に説明される。ピクセルが補間された後で、コーデックは、エンコードされた運動ベクトルを用いて補間されたピクセル内部で最適合参照マクロブロック(又は任意の大きさのセクション)の位置を見つける、ステップ720。全ての相互コード化されたマクロブロックが運動ベクトルを用いて位置を見つけられ、そして参照フレームから部分的に再組み立てされた後で、部分的に再組み立てされたPフレームは、メモリ中に記憶される、ステップ755。Iフレームについての上記の説明と同様に、Pフレームの残留エラー部分の量子化されたDCT係数は、ネットワークを介して又はメモリから受信される、ステップ725。残留エラーは逆量子化され、ステップ730、そして逆変換される、ステップ735。デコードされた残留エラーは、部分的に再組み立てされ記憶されたPフレームに加えられ、ステップ740、結果としてデコードされ出力されたP−VOPを生じる。デコードされたP−VOPは、メモリ内に記憶されることが可能である及び/又は表示されることが可能である、ステップ750。
プロセス700は、図6のステップ620におけるようにエンハンスメント・レイヤのIフレーム及びPフレームをデコードするために上に説明されたように同様な方法で使用される。しかしながら、ステップ620においてエンハンスメント・レイヤのBフレームをデコードすることは、2つの参照フレームを利用する、例えば、1つの前のIフレーム又はPフレーム及び1つの次のIフレーム又はPフレームである。図8は、図7において示されたベース・レイヤ・プロセスを実行するために使用されたベース・レイヤ動き補償コーデックの構成要素を利用するエンハンスメント・レイヤのBフレーム組み立てプロセスの一例のフローチャートである。この具体例の実施形態は、ベース・レイヤ構成要素へのほんのわずかな変更で又は変更なしに、そして少量の追加のソフトウェア、ファームウェア又はハードウェアの変更で、2方向画像すなわちBフレームの組み立ての目的のために、ベース・レイヤ構成要素を再使用する。Bフレーム組み立ては、第1のデコードされたVOP1をアクセスすることによって開始する、ステップ805。VOP1の境界端は、ゼロでパッドされる、ステップ810。パッドされたVOP1のピクセルは、補間される、ステップ815。エンコードされた運動ベクトルは、VOP1内で最適合領域の位置を見つけるために使用される、ステップ820。VOP1は、普遍性を失うことなく後方に置かれた参照フレームであると仮定されることが可能である。VOP1からの最適合マクロブロックは、第2のVOP最適合マクロブロックと統合するためにメモリ中に記憶される、ステップ855。ステップ855は、未修正のベース・レイヤ・コーデックが必要としないVOP1の最適合領域を記憶するための第2のメモリ・バッファを必要とすることがある。ステップ805,810,815及び820は、VOP2に対して繰り返される。メモリ中に記憶された第2のフレームをアクセスすることを可能にすることは、ベース・レイヤ・コーデックが必要としなかったメモリの第2の領域を必要とすることがある。パディング及びピクセルを補間するために使用した同じベース・レイヤ・モジュールは、VOP2に対して再使用される。
モジュールを再使用することは、任意のある時刻において1つのモジュールだけが利用可能であるので、エンコーディング/デコーディング・プロセスにおける遅延を付加することがあるが、遅延が許容可能である場合に、コスト節約は、より大きな利益であり得る。VOP2からの最適合マクロブロックは、その後追加され、ステップ860、他方で、しかも、VOP1の記憶された最適合マクロブロックに丸め制御のために“1”を追加して、結果として統合された最適合マクロブロックを生じる。統合された最適合マクロブロックは、ピクセル値を平均するために2で割り算される(1の右ビット・シフトとして示される)、ステップ865。平均され統合された最適合マクロブロックは、その後、メモリ中に記憶される、ステップ845。ステップ805,810,815,820,855,860,865及び845は、部分的に再組み立てされたB−VOP全体が完了するまで続けられることが可能である。上に説明されたベース・レイヤのP−VOP再組み立てを用いると、B−VOPに対する残留エラーは、ネットワークを介して又はメモリから受信され、ステップ830において逆量子化され、そしてステップ835において逆変換される。残留エラーは、その後記憶された部分的に再組み立てされたB−VOPに加算されて、ステップ840、結果としてデコードされたB−VOPを生じる。デコードされたB−VOPは、その後メモリ中に記憶される又は表示される、ステップ850。
図8は、1巡目において次から次へと実行されるステップ805,810,815及び820を示し、そしてそれからステップの全体のセットが、2巡目に連続して繰り返される。当業者が理解するように、複数の処理のスレッドが、プロセッサにおいて同時に生じることが可能である。多重処理スレッドを用いて、動き補償モジュールのような1つのモジュールは、第1の参照フレーム又はそれからのブロックに作用していることが可能であり、他方で、逆量子化モジュール及び逆変換モジュールのような別の1つのモジュールは、第2の参照フレーム又はそれからのブロックを処理している。一旦、モジュールが自身の動作を完了すると、モジュールはフレーム又はブロックを切り替える、その結果、動き補償モジュールは、第2の参照フレーム上で動作し、そして逆量子化モジュール及び逆変換モジュールは、次の参照フレームを処理している。このタイプの多重スレッド処理は、モジュールを再使用することによって引き起こされる演算上の遅延を削減することが可能である。
2方向に予測された部分をデコードするためにベース・レイヤのデコーディング素子の再使用は、ある種の制限を要求することがある。Pフレームに関して、(H.264の4×4のピクセル区分に対してマクロブロック当り最大16までの)運動ベクトルの1セット及び1つの参照画像インデックスは、これらの複数の素子間で伝達される。Bフレームに関して、同じインターフェースを使用するために、エンコーディングは、マクロブロック当り(各々が2個の運動ベクトルを有する)8区分に制限される。シミュレーションは、Bフレームの16個の4×4のピクセル区分が無視できる発生確率で生じ、そして、ビット・レート及び品質への影響は、そのような制限のために感知されない。しかも、8区分にエンコーディングを制限することは、4×4のブロック区分を取り扱うことが不可能であることを意味しない。制限は、マクロブロック当りの運動ベクトルの数にだけである。例えば、4個の4×4のブロックと3個の8×8のピクセル・ブロックに区分されたマクロブロックは、正当な組み合わせである。あるいは、エンコーディングを制限するために、デコーダは、H.264によって提供されるモードを利用することが可能であり、そこでは4個の4×4のブロックのグループは、統合されて、1個の8×8のブロックを形成し、そして(4×4のブロックの)4個の運動ベクトルの内の1つが、統合された8×8のピクセル・ブロックに対する運動ベクトルとして使用される。
動き補償コーデックは、(複数の)プロセッサの演算上の能力が十分である場合に、パディング、部分的なピクセル補間および最適合領域の位置検索を連続して実行することが可能である。特に、Bフレームをデコードすることの演算上の負荷(特に、全体のフレームに対する動き補償に費やされるサイクル数)がPフレームに対するものよりも少ないことを、シミュレーションは示している。それゆえ、パディング、補間及び最適合領域の位置検索が連続して生じる場合であっても、フレームは、1秒当り30フレーム以上まで(1フレームは[1/(fpsでのフレーム・レート)]秒のうちにデコードされなければならない)再生フレーム・レートを満足させように今まで通りデコードされることが可能である。
ピクセル補間は、動き補償された予測コーディングの出来栄えを向上させるために使用されることが可能である。図9は、動き補償における使用のためのハーフ−ピクセル補間の一例の説明図である。示された例は、ハーフ−ピクセル補間であり、そこでは1つの補間されたピクセルが複数の元々の整数ピクセルの間に配置される。整数ピクセル910は、大文字の“A”から“I”まで名前を付けられた円として図示され、補間されたピクセル又はハーフ・ピクセル920は、小文字の“a”から“o”まで名前を付けられた四角として図示される。ハーフ・ピクセル補間は、例えば、重み[0.5,0.5]を用いる2−タップFIRフィルタのような、双一次フィルタを用いて実行されることが可能である。例えば、補間されたピクセル922は、整数ピクセル912と整数ピクセル914との平均として計算されることが可能であり、補間されたピクセル924は、整数ピクセル912と整数ピクセル916との平均であることが可能であり、そして補間されたピクセル926は、2個の補間されたピクセル(例えば、922と928又は924と930)の平均であることが可能である。ルミナンス(Y)成分及びクロミナンス(Cr及びCb)成分の両者は、この方式で補間されることが可能である。ピクセル補間の別の様式が、種々の規格によってサポートされている。H.264は、1/4ピクセル補間、同様に、1/8ピクセル補間をサポートする。当業者は、これらの別のピクセル補間方法を理解するはずであり、これらは本明細書中ではさらに詳細には論じられない。
上に記載された方法及び装置の複数の例は、下記を含む。
同時にただ1つの参照フレームから参照フレーム部分の位置を見つけることが可能な動き補償コーデックを用いて2方向画像をデコードするための方法であって:1巡目において第1の参照フレームから第1の参照フレーム部分の位置を見つけること、メモリ中に該第1の参照フレーム部分を記憶すること、2巡目において第2の参照フレームから第2の参照フレーム部分の位置を見つけること、及び2方向に予測された部分を形成するために該第1の参照フレーム部分及び該第2の参照フレーム部分を統合すること、を具備する。
同時にただ1つの参照フレームから参照フレーム部分の位置を見つけることが可能な動き補償コーデックを用いて2方向画像をデコードするための装置であって:1巡目において第1の参照フレームから第1の参照フレーム部分の位置を見つけるための手段、メモリ中に該第1の参照フレーム部分を記憶するための手段、2巡目において第2の参照フレームから第2の参照フレーム部分の位置を見つけるための手段、及び2方向に予測された部分を形成するために該第1の参照フレーム部分及び該第2の参照フレーム部分を統合するための手段、を具備する。
同時にただ1つの参照フレームから参照フレーム部分の位置を見つけることが可能な動き補償コーデックを用いて2方向画像をデコードするための電子デバイスであって、該電子デバイスは、1巡目において第1の参照フレームから第1の参照フレーム部分の位置を見つけるため、メモリ中に該第1の参照フレーム部分を記憶するため、2巡目において第2の参照フレームから第2の参照フレーム部分の位置を見つけるため、そして2方向に予測された部分を形成するために該第1の参照フレーム部分及び該第2の参照フレーム部分を統合するために、構成される。
同時にただ1つの参照フレームから参照フレーム部分の位置を見つけることが可能な動き補償コーデックを用いて2方向画像をデコードするための方法をコンピュータに実行させるための命令を有するコンピュータ読み取り可能な媒体であって:1巡目において第1の参照フレームから第1の参照フレーム部分の位置を見つけること、メモリ中に該第1の参照フレーム部分を記憶すること、2巡目において第2の参照フレームから第2の参照フレーム部分の位置を見つけること、及び2方向に予測された部分を形成するために該第1の参照フレーム部分及び該第2の参照フレーム部分を統合すること、を具備する。
同時にただ1つの参照フレームから参照フレーム部分の位置を見つけることが可能でありそして各マクロブロックに対して限られた数の区分をデコードすることが可能な動き補償コーデックによってデコードされるように2つの参照フレームから予測された2方向画像をエンコードするための方法であって:該2方向画像のマクロブロックを複数の部分マクロブロックに区分すること、該部分マクロブロックの各々に対して該2つの参照フレームの各々の中の予測された領域の位置を見つけること、及び該動き補償コーデックがデコードすることが可能な区分の該限られた数の半分よりも多くない数に該部分マクロブロックの数を制限すること、を具備する。
同時にただ1つの参照フレームから参照フレーム部分の位置を見つけることが可能でありそして各マクロブロックに対して限られた数の区分をデコードすることが可能な動き補償コーデックによってデコードされるように2つの参照フレームから予測された2方向画像をエンコードするための装置であって:該2方向画像のマクロブロックを複数の部分マクロブロックに区分するための手段、該部分マクロブロックの各々に対して該2つの参照フレームの各々の中の予測された領域の位置を見つけるための手段、及び該動き補償コーデックがデコードすることが可能な区分の該限られた数の半分よりも多くない数に該部分マクロブロックの数を制限するための手段、を具備する。
同時にただ1つの参照フレームから参照フレーム部分の位置を見つけることが可能でありそして各マクロブロックに対して限られた数の区分をデコードすることが可能な動き補償コーデックによってデコードされるように2つの参照フレームから予測された2方向画像をエンコードするための電子デバイスであって、該電子デバイスは、該2方向画像のマクロブロックを複数の部分マクロブロックに区分するために、該部分マクロブロックの各々に対して該2つの参照フレームの各々の中の予測された領域の位置を見つけるために、及び該動き補償コーデックがデコードすることが可能な区分の該限られた数の半分よりも多くない数に該部分マクロブロックの数を制限するために、構成される。
同時にただ1つの参照フレームから参照フレーム部分の位置を見つけることが可能でありそして各マクロブロックに対して限られた数の区分をデコードすることが可能な動き補償コーデックによってデコードされるように2つの参照フレームから予測された2方向画像をエンコードするための方法をコンピュータに実行させるための命令を有するコンピュータ読み取り可能な媒体であって:該2方向画像のマクロブロックを複数の部分マクロブロックに区分すること、該部分マクロブロックの各々に対して該2つの参照フレームの各々の中の予測された領域の位置を見つけること、及び該動き補償コーデックがデコードすることが可能な区分の該限られた数の半分よりも多くない数に該部分マクロブロックの数を制限すること、を具備する。
情報及び信号が、多様な異なる技術及び技法のいずれかを使用して表わされることができることを、当業者は、理解する。例えば、上記の説明の全体を通して参照されることができる、データ、指示、命令、情報、信号、ビット、シンボル、及びチップは、電圧、電流、電磁波、磁場又は磁力粒子、光場又は光粒子、若しくはこれらの任意の組み合わせによって表わされることができる。
本明細書中に開示された例に関連して説明された各種の例示的な論理ブロック、モジュール、回路、及びアルゴリズムのステップが、電子ハードウェア、コンピュータ・ソフトウェア、若しくは両者の組み合わせとして与えられることができることを、当業者は、さらに価値を認めるはずである。ハードウェア及びソフトウェアのこの互換性を明確に説明するために、各種の例示的な複数の構成要素、ブロック、モジュール、回路、及びステップが、それらの機能性の面から一般的に上記に説明されてきている。そのような機能性が、ハードウェア又はソフトウェアとして与えられるかどうかは、固有のアプリケーション及びシステム全体に課せられた設計の制約に依存する。知識のある者は、述べられた機能性を各々の固有のアプリケーションに対して違ったやり方で実行することができる。しかし、そのような実行の判断は、開示された方法の範囲からの逸脱を生じさせるとして説明されるべきではない。
本明細書中に開示された例に関連して述べられた、各種の例示的な論理ブロック、モジュール、及び回路は、汎用プロセッサ、ディジタル信号プロセッサ(DSP:digital signal processor)、用途特定集積回路(ASIC:application specific integrated circuit)、フィールド・プログラマブル・ゲートアレイ(FPGA:field programmable gate array)若しくはその他のプログラマブル論理デバイス、ディスクリート・ゲート論理素子又はトランジスタ論理素子、ディスクリート・ハードウェア素子、若しくは本明細書中に説明された機能を実行するために設計されたこれらのいずれかの組み合わせで、与えられる又は実行されることができる。汎用プロセッサは、マイクロプロセッサであり得るが、しかし代わりに、プロセッサは、いずれかの従来型のプロセッサ、コントローラ、マイクロコントローラ、又はステート・マシン(state machine)であり得る。プロセッサは、演算デバイスの組み合わせとして与えられることができる。例えば、DSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサの組み合わせ、DSPコアとともに1又はそれより多くのマイクロプロセッサの組み合わせ、若しくはいずれかの他のそのような構成の組み合わせであることができる。
本明細書中に開示された例に関連して説明された方法のステップ又はアルゴリズムのステップは、ハードウェアにおいて、プロセッサにより実行されるソフトウェア・モジュールにおいて、又は両者の組み合わせにおいて直接実現されることができる。ソフトウェア・モジュールは、RAMメモリ、フラッシュ・メモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハード・ディスク、脱着可能なディスク、CD−ROM、若しくは、この技術において公知の他のいずれかの記憶媒体の中に常駐できる。ある具体例の記憶媒体は、プロセッサが記憶媒体から情報を読み出し、そこに情報を書き込めるようにプロセッサと接続される。あるいは、記憶媒体は、プロセッサに集積されることができる。プロセッサ及び記憶媒体は、用途特定集積回路(ASIC)中に常駐できる。ASICは、ワイアレス・モデム中に常駐できる。あるいは、プロセッサ及び記憶媒体は、ワイアレス・モデム内に単体素子として常駐できる。
開示された例のこれまでの説明は、本技術に知識のあるいかなる者でも、開示された方法及び装置を作成し、使用することを可能にするために提供される。これらの例への各種の変形は、当業者に容易に明白にされるであろう。そして、本明細書中に規定された原理は、開示された方法及び装置の精神又は範囲から逸脱することなく、その他の例に適用されることができる。
このようにして、ベース・レイヤのソフトウェア、ファームウェア及びハードウェアに対して最小の変更でベース・レイヤの非スケーラブル・コーディング設計に基づいて、2方向予測を介して、スケーラブル・ビデオのコード化されたデータを提供する方法,装置及びシステムが、記載されてきている。
本明細書中に開示された実施形態に関連して述べられた、各種の例示的な、論理素子、論理ブロック、モジュール、及び回路は、汎用プロセッサ、ディジタル信号プロセッサ(DSP)、用途特定集積回路(ASIC)、フィールド・プログラマブル・ゲートアレイ(FPGA)若しくはその他のプログラマブル・ロジック・デバイス、ディスクリート・ゲート論理素子又はトランジスタ論理素子、ディスクリート・ハードウェア素子、若しくは本明細書中に説明された機能を実行するために設計されたこれらのいずれかの組み合わせで、与えられる又は実行されることができる。汎用プロセッサは、マイクロプロセッサであり得るが、しかし代わりに、プロセッサは、いずれかの従来型のプロセッサ、コントローラ、マイクロコントローラ、又はステート・マシンであり得る。プロセッサは、演算デバイスの組み合わせとして与えられることができる。例えば、DSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサの組み合わせ、DSPコアとともに1又はそれ以上のマイクロプロセッサの組み合わせ、若しくはいずれかの他のそのような構成の組み合わせであることができる。
本明細書中に開示された実施形態に関連して説明された方法のステップ又はアルゴリズムのステップは、ハードウェアにおいて、プロセッサにより実行されるソフトウェア・モジュールにおいて、又は2つの組み合わせにおいて直接実現されることができる。ソフトウェア・モジュールは、RAMメモリ、フラッシュ・メモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハード・ディスク、脱着可能なディスク、CD−ROM、若しくは、この技術において公知の他のいずれかの記憶媒体の中に常駐できる。ある具体例の記憶媒体は、プロセッサが記憶媒体から情報を読み出し、そこに情報を書き込めるようにプロセッサに接続される。あるいは、記憶媒体は、プロセッサに集積されることができる。プロセッサ及び記憶媒体は、ASIC中に常駐できる。ASICは、ユーザ端末中に常駐できる。あるいは、プロセッサ及び記憶媒体は、ユーザ端末中に単体素子として常駐できる。
開示された実施形態のこれまでの説明は、本技術に知識のあるいかなる者でも、本発明を作成し、使用することを可能にするために提供される。これらの実施形態への各種の変形は、当業者に容易に明白にされるであろう。そして、本明細書中に規定された一般的な原理は、本発明の精神又は範囲から逸脱することなく、その他の実施形態、例えば、即時メッセージ通信サービス、又はいずれかの一般的なワイアレス・データ通信アプリケーション、に適用されることができる。それゆえ、本発明は、本明細書中に示された実施形態に制限することを意図したものではなく、本明細書中に開示した原理及び新規な機能と整合する最も広い範囲に適用されるものである。用語“具体例の”は、“例、事例、又は実例として働くこと”を意味するように本明細書中ではもっぱら使用される。“具体例の“として本明細書中に記載されたいずれかの実施形態が、その他の実施形態に対して好ましい又は優位であるとして解釈される必要はない。
図1は、ストリーミング画像をエンコードするためそしてデコードするための一般的な通信システムのブロック図である。 図2Aは、従来のMPEG−4単純プロフィール・データ・ストリームを説明する図である。 図2Bは、時間的なスケーラビリティを可能にする従来のエンコードされたデータ・ストリームを説明する図である。 図3は、MPEG−4におけるPフレーム組み立てプロセスの一例の説明図である。 図4は、MPEG−4におけるBフレーム組み立てプロセスの一例の説明図である。 図5は、H.264におけるPフレーム組み立てプロセスの一例の説明図である。 図6は、時間的なスケーラビリティを含んでいるデコーディング・プロセスの一例を説明するフローチャートである。 図7は、ベース・レイヤIフレーム組み立て及びPフレーム組み立てのための動き補償コーデック・プロセスの一例を説明するフローチャートである。 図8は、エンハンスメント・レイヤBフレーム組み立てのための動き補償コーデック・プロセスの一例を説明するフローチャートである。 図9は、動き補償における使用のためのハーフ−ピクセル補間の一例の説明図である。
符号の説明
100…通信システム,10、20…GOP,12、22…Iフレーム,14、24…Pフレーム,26…Bフレーム,305…現在の画像,310…参照画像,315…現在のマクロブロック,320…最適合マクロブロック,325…運動ベクトル,330…残留エラー,340…量子化,345…ネットワーク,350…逆量子化,360…再組み立てされた残留エラー,365…再組み立てされた最適合マクロブロック,370…再組み立てされたマクロブロック,405…現在の画像,410…参照画像,415…現在のマクロブロック,420…最適合マクロブロック,425…運動ベクトル,430…残留エラー,440…量子化,445…ネットワーク,450…逆量子化,460…再組み立てされた残留エラー,465…再組み立てされた最適合マクロブロック,470…再組み立てされたマクロブロック,475…次の参照画像,480…最適合マクロブロック,485…運動ベクトル,490…最適合前方マクロブロック。

Claims (26)

  1. エンハンスメントレイヤの2方向画像をデコードするために同時にただ1つの参照フレームから参照フレーム部分の位置を見つけることだけが可能な動き補償コーデックのベースレイヤモジュールを使用して前記エンハンスメントレイヤの2方向画像をデコードするための方法、該方法は下記を具備する:
    前記動き補償コーデックの第1のモジュールを使用して、1巡目において第1の参照フレームから第1の参照フレーム部分の位置を見つけること;
    メモリ中に該第1の参照フレーム部分を記憶すること;
    前記第1のモジュールを再使用して、2巡目において第2の参照フレームから第2の参照フレーム部分の位置を見つけること;
    エンハンスメントレイヤの2方向に予測された部分を形成するために該第1の参照フレーム部分及び該第2の参照フレーム部分を統合すること;及び
    時間的なスケーリングを実行するために2つの参照フレームから予測されたエンハンスメントレイヤの2方向画像のデコーディングを省略することを決定すること、
    ここにおいて、第1の参照フレーム部分の位置を見つけることは、第1のセットの運動ベクトルからの運動ベクトルを使用することを具備し、第2の参照フレーム部分の位置を見つけることは、第2のセットの運動ベクトルからの運動ベクトルを使用することを具備し、前記第1および第2のセットの運動ベクトルのそれぞれは、P−ピクチャに伴う運動ベクトルの最大数の半分以下を含むように構成されている。
  2. 請求項1の方法、該方法は下記をさらに具備する:
    ワイアレス・ネットワークを介して、該第1の参照フレーム及び該第2の参照フレームを表しているエンコードされたデータを受信すること;及び
    該ワイアレス・ネットワークを介して該第1の参照フレーム部分及び該第2の参照フレーム部分の該位置を識別するエンコードされたデータを受信すること。
  3. 請求項1の方法、該方法は下記をさらに具備する:
    該1巡目において該第1の参照フレームのピクセルを補間すること;及び
    該2巡目において該第2の参照フレームのピクセルを補間すること。
  4. 請求項3の方法、該方法は下記をさらに具備する:
    該1巡目において該第1の参照フレームの境界端をパッドすること;及び
    該2巡目において該第2の参照フレームの境界端をパッドすること。
  5. 請求項1の方法、該方法は下記をさらに具備する:
    運動ベクトルを用いて該参照フレーム部分の位置を見つけること。
  6. 請求項1の方法、該方法は下記をさらに具備する:
    該2方向に予測された部分に残留エラーを加えること。
  7. 請求項1の方法、該方法は下記をさらに具備する:
    該2方向に予測された部分を表示すること。
  8. 請求項1の方法、該方法は下記をさらに具備する:
    該1巡目及び該2巡目を連続して実行すること。
  9. 請求項2の方法、該方法は下記をさらに具備する:
    スケーラブル・ビデオのコード化されたビットストリームのベース・レイヤ中のマルチメディア・データの第1の相互コード化された部分をエンコードすること;
    該スケーラブル・ビデオのコード化されたビットストリームのエンハンスメント・レイヤ中のマルチメディア・データの第2の2方向部分をエンコードすること、ここにおいて、該マルチメディア・データは該第1の参照フレームを表しているデータ、該第2の参照フレームを表しているデータ、及び該第1の参照フレーム部分及び該第2の参照フレーム部分の該位置を識別するデータを具備する;及び
    該ワイアレス・ネットワークを介して該マルチメディア・データを送信すること。
  10. エンハンスメントレイヤの2方向画像をデコードするために同時にただ1つの参照フレームから参照フレーム部分の位置を見つけることだけが可能な動き補償コーデックのベースレイヤモジュールを用いて前記エンハンスメントレイヤの2方向画像をデコードするための装置、該装置は下記を具備する:
    前記動き補償コーデックの第1のモジュールを使用して、1巡目において第1の参照フレームから第1の参照フレーム部分の位置を見つけるための手段;
    メモリ中に該第1の参照フレーム部分を記憶するための手段;
    前記第1のモジュールを再使用して、2巡目において第2の参照フレームから第2の参照フレーム部分の位置を見つけるための手段;
    エンハンスメントレイヤの2方向に予測された部分を形成するために該第1の参照フレーム部分及び該第2の参照フレーム部分を統合するための手段;及び
    時間的なスケーリングを実行するために2つの参照フレームから予測されたエンハンスメントレイヤの2方向画像の該デコーディングを省略することを決定するための手段、
    ここにおいて、第1の参照フレーム部分の位置を見つけるための手段は、第1のセットの運動ベクトルからの運動ベクトルを使用するための手段を具備し、第2の参照フレーム部分の位置を見つけるための手段は、第2のセットの運動ベクトルからの運動ベクトルを使用するための手段を具備し、前記第1および第2のセットの運動ベクトルのそれぞれは、P−ピクチャに伴う運動ベクトルの最大数の半分以下を含むように構成されている。
  11. 請求項10の装置、該装置は下記をさらに具備する:
    ワイアレス・ネットワークを介して、該第1の参照フレーム及び該第2の参照フレームを表しているエンコードされたデータを受信するための手段;及び
    該ワイアレス・ネットワークを介して該第1の参照フレーム部分及び該第2の参照フレーム部分の該位置を識別するエンコードされたデータを受信するための手段。
  12. 請求項10の装置、該装置は下記をさらに具備する:
    該1巡目において該第1の参照フレームのピクセルを補間するための手段;及び
    該2巡目において該第2の参照フレームのピクセルを補間するための手段。
  13. 請求項12の装置、該装置は下記をさらに具備する:
    該1巡目において該第1の参照フレームの境界端をパッドするための手段;及び
    該2巡目において該第2の参照フレームの境界端をパッドするための手段。
  14. 請求項10の装置、該装置は下記をさらに具備する:
    運動ベクトルを用いて該参照フレーム部分の位置を見つけるための手段。
  15. 請求項10の装置、該装置は下記をさらに具備する:
    該2方向に予測された部分に残留エラーを加えるための手段。
  16. 請求項10の装置、該装置は下記をさらに具備する:
    該2方向に予測された部分を表示するための手段。
  17. 請求項10の装置、該装置は下記をさらに具備する:
    該1巡目及び該2巡目を連続して実行するための手段。
  18. エンハンスメントレイヤの2方向画像をデコードするために同時にただ1つの参照フレームから参照フレーム部分の位置を見つけることだけが可能な動き補償コーデックのベースレイヤモジュールを使用して前記エンハンスメントレイヤの2方向画像をデコードするための電子デバイス、該電子デバイスは、前記動き補償コーデックの第1のモジュールを使用して、1巡目において第1の参照フレームから第1の参照フレーム部分の位置を見つけるため、メモリ中に該第1の参照フレーム部分を記憶するため、前記第1のモジュールを再使用して、2巡目において第2の参照フレームから第2の参照フレーム部分の位置を見つけるため、エンハンスメントレイヤの2方向に予測された部分を形成するために該第1の参照フレーム部分及び該第2の参照フレーム部分を統合するために、そして時間的なスケーリングを実行するために2つの参照フレームから予測されたエンハンスメントレイヤの2方向画像の該デコーディングを省略することを決定するために、構成され、
    ここにおいて、第1の参照フレーム部分の位置を見つけることは、第1のセットの運動ベクトルからの運動ベクトルを使用することを具備し、第2の参照フレーム部分の位置を見つけることは、第2のセットの運動ベクトルからの運動ベクトルを使用することを具備し、前記第1および第2のセットの運動ベクトルのそれぞれは、P−ピクチャに伴う運動ベクトルの最大数の半分以下を含むように構成されている。
  19. 請求項18の電子デバイス、該電子デバイスは、ワイアレス・ネットワークを介して、該第1の参照フレーム及び該第2の参照フレームを表しているエンコードされたデータを受信するため、そして該ワイアレス・ネットワークを介して該第1の参照フレーム部分及び該第2の参照フレーム部分の該位置を識別するエンコードされたデータを受信するために、さらに構成される。
  20. 請求項18の電子デバイス、該電子デバイスは、該1巡目において該第1の参照フレームのピクセルを補間するため、そして該2巡目において該第2の参照フレームのピクセルを補間するために、さらに構成される。
  21. 請求項20の電子デバイス、該電子デバイスは、該1巡目において該第1の参照フレームの境界端をパッドするため、そして該2巡目において該第2の参照フレームの境界端をパッドするために、さらに構成される。
  22. 請求項18の電子デバイス、該電子デバイスは、運動ベクトルを用いて該参照フレーム部分の位置を見つけるために、さらに構成される。
  23. 請求項18の電子デバイス、該電子デバイスは、該2方向に予測された部分に残留エラーを加えるために、さらに構成される。
  24. 請求項18の電子デバイス、該電子デバイスは、該2方向に予測された部分を表示するために、さらに構成される。
  25. 請求項18の電子デバイス、該電子デバイスは、該1巡目及び該2巡目を連続して実行するために、さらに構成される。
  26. エンハンスメントレイヤの2方向画像をデコードするために同時にただ1つの参照フレームから参照フレーム部分の位置を見つけることだけが可能な動き補償コーデックのベースレイヤモジュールを使用して前記エンハンスメントレイヤの2方向画像をデコードするための方法をコンピュータに実行させるための命令を有するプログラムを記録したコンピュータ読み取り可能な記録媒体、該方法は下記を具備する:
    前記動き補償コーデックの第1のモジュールを使用して、1巡目において第1の参照フレームから第1の参照フレーム部分の位置を見つけること;
    メモリ中に該第1の参照フレーム部分を記憶すること;
    前記第1のモジュールを再使用して、2巡目において第2の参照フレームから第2の参照フレーム部分の位置を見つけること;
    エンハンスメントレイヤの2方向に予測された部分を形成するために該第1の参照フレーム部分及び該第2の参照フレーム部分を統合すること;及び
    時間的なスケーリングを実行するために2つの参照フレームから予測されたエンハンスメントレイヤの2方向画像のデコーディングを省略することを決定すること、
    ここにおいて、第1の参照フレーム部分の位置を見つけることは、第1のセットの運動ベクトルからの運動ベクトルを使用することを具備し、第2の参照フレーム部分の位置を見つけることは、第2のセットの運動ベクトルからの運動ベクトルを使用することを具備し、前記第1および第2のセットの運動ベクトルのそれぞれは、P−ピクチャに伴う運動ベクトルの最大数の半分以下を含むように構成されている。
JP2007511435A 2004-05-04 2005-05-02 時間的なスケーラビリティのために2方向予測されたフレームを組み立てるための方法及び装置 Expired - Fee Related JP4805915B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US56814204P 2004-05-04 2004-05-04
US60/568,142 2004-05-04
PCT/US2005/014714 WO2005109896A2 (en) 2004-05-04 2005-05-02 Method and apparatus to construct bi-directional predicted frames for temporal scalability

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011051696A Division JP5226818B2 (ja) 2004-05-04 2011-03-09 時間的なスケーラビリティのために2方向予測されたフレームを組み立てるための方法及び装置

Publications (2)

Publication Number Publication Date
JP2007536807A JP2007536807A (ja) 2007-12-13
JP4805915B2 true JP4805915B2 (ja) 2011-11-02

Family

ID=34967605

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2007511435A Expired - Fee Related JP4805915B2 (ja) 2004-05-04 2005-05-02 時間的なスケーラビリティのために2方向予測されたフレームを組み立てるための方法及び装置
JP2011051696A Expired - Fee Related JP5226818B2 (ja) 2004-05-04 2011-03-09 時間的なスケーラビリティのために2方向予測されたフレームを組み立てるための方法及び装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2011051696A Expired - Fee Related JP5226818B2 (ja) 2004-05-04 2011-03-09 時間的なスケーラビリティのために2方向予測されたフレームを組み立てるための方法及び装置

Country Status (9)

Country Link
US (1) US8320464B2 (ja)
EP (1) EP1747677A2 (ja)
JP (2) JP4805915B2 (ja)
KR (1) KR100881037B1 (ja)
CN (1) CN1981531B (ja)
AR (1) AR049166A1 (ja)
CA (1) CA2565645C (ja)
TW (1) TWI378729B (ja)
WO (1) WO2005109896A2 (ja)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100886191B1 (ko) * 2004-12-06 2009-02-27 엘지전자 주식회사 영상 블록을 디코딩 하는 방법
WO2006070787A1 (ja) * 2004-12-28 2006-07-06 Nec Corporation 動画像符号化方法、及びこれを用いた装置と、コンピュータプログラム
KR101323732B1 (ko) * 2005-07-15 2013-10-31 삼성전자주식회사 영상 부호화장치 및 방법과 그 복호화장치 및 방법
AU2006346226B8 (en) 2005-07-20 2010-03-25 Vidyo, Inc. System and method for a conference server architecture for low delay and distributed conferencing applications
KR100746013B1 (ko) * 2005-11-15 2007-08-06 삼성전자주식회사 무선 네트워크에서의 데이터 전송 방법 및 장치
US8233535B2 (en) 2005-11-18 2012-07-31 Apple Inc. Region-based processing of predicted pixels
US8130629B2 (en) * 2005-11-25 2012-03-06 Go Net Systems Ltd Simultaneous simulcast and single cast hybrid multi-tone communication system
CN102036071B (zh) 2005-12-08 2014-04-02 维德约股份有限公司 用于视频通信系统中的差错弹性和随机接入的系统和方法
CA2633366C (en) * 2005-12-22 2015-04-28 Vidyo, Inc. System and method for videoconferencing using scalable video coding and compositing scalable video conferencing servers
US8436889B2 (en) * 2005-12-22 2013-05-07 Vidyo, Inc. System and method for videoconferencing using scalable video coding and compositing scalable video conferencing servers
US8693538B2 (en) * 2006-03-03 2014-04-08 Vidyo, Inc. System and method for providing error resilience, random access and rate control in scalable video communications
CN101395661B (zh) * 2006-03-07 2013-02-06 艾利森电话股份有限公司 音频编码和解码的方法和设备
CA2662812C (en) * 2006-09-29 2014-02-11 Vidyo, Inc. System and method for multipoint conferencing with scalable video coding servers and multicast
US8611418B2 (en) * 2006-11-30 2013-12-17 Lsi Corporation Decoding a progressive JPEG bitstream as a sequentially-predicted hybrid video bitstream
EP2095643A2 (fr) * 2006-12-21 2009-09-02 THOMSON Licensing Procede de decodage d'un bloc d'une image video
EP2102988A4 (en) 2007-01-09 2010-08-18 Vidyo Inc IMPROVED SYSTEMS AND METHODS OF TROUBLESHOOTING IN VIDEO COMMUNICATION SYSTEMS
KR101366244B1 (ko) * 2007-04-24 2014-02-21 삼성전자주식회사 레지듀얼 데이터를 이용한 영상의 에러 은닉 방법 및 장치
WO2008129516A2 (en) * 2007-04-24 2008-10-30 Nokia Corporation Signaling of multiple decoding times in media files
US8599921B2 (en) * 2009-03-27 2013-12-03 Vixs Systems, Inc Adaptive partition subset selection module and method for use therewith
KR100968371B1 (ko) * 2008-04-25 2010-07-06 주식회사 코아로직 영상의 복호화 방법 및 장치
US9419620B2 (en) * 2008-07-22 2016-08-16 Nytell Software LLC Field programmable object array and video compression processor for video data compression
KR101210578B1 (ko) * 2008-12-23 2012-12-11 한국전자통신연구원 스케일러블 비디오 코딩에서의 비트율-왜곡값을 이용한 상위 계층의 빠른 부호화 방법 및 그 부호화 장치
KR20110106465A (ko) * 2009-01-28 2011-09-28 노키아 코포레이션 비디오 코딩 및 디코딩을 위한 방법 및 장치
JP2012525076A (ja) 2009-04-24 2012-10-18 デルタ・ヴィディオ・インコーポレイテッド デジタルビデオ配信システムにおける即時マルチチャネルビデオコンテンツブラウジングのためのシステム、方法、およびコンピュータ可読媒体
KR100924309B1 (ko) 2009-06-04 2009-11-02 전자부품연구원 시간확장성과 버퍼상태판단을 통한 품질 적응적 멀티미디어 데이터 스트리밍 방법 및 시스템
US8429687B2 (en) * 2009-06-24 2013-04-23 Delta Vidyo, Inc System and method for an active video electronic programming guide
US8873626B2 (en) * 2009-07-02 2014-10-28 Qualcomm Incorporated Template matching for video coding
WO2011066105A1 (en) * 2009-11-25 2011-06-03 Delta Vidyo, Inc. Iptv presence and interaction protocol
US8559519B2 (en) * 2010-01-08 2013-10-15 Blackberry Limited Method and device for video encoding using predicted residuals
US8908774B2 (en) * 2010-02-11 2014-12-09 Mediatek Inc. Method and video receiving system for adaptively decoding embedded video bitstream
TWI419568B (zh) * 2010-05-27 2013-12-11 Univ Nat Sun Yat Sen 三維之影像切割方法
US8934530B2 (en) 2011-02-01 2015-01-13 Vidyo, Inc. Spatial scalability using redundant pictures and slice groups
US9747657B2 (en) * 2011-11-30 2017-08-29 Intel Corporation Reducing power for 3D workloads
JP5924553B2 (ja) * 2012-01-19 2016-05-25 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
US9628790B1 (en) 2013-01-03 2017-04-18 Google Inc. Adaptive composite intra prediction for image and video compression
JP6261215B2 (ja) * 2013-07-12 2018-01-17 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
CN104427345B (zh) * 2013-09-11 2019-01-08 华为技术有限公司 运动矢量的获取方法、获取装置、视频编解码器及其方法
US9609343B1 (en) 2013-12-20 2017-03-28 Google Inc. Video coding using compound prediction
JP6197708B2 (ja) * 2014-03-17 2017-09-20 富士通株式会社 動画像伝送システム、動画像符号化装置、動画像復号装置及び動画像符号化用コンピュータプログラムならびに動画像復号用コンピュータプログラム
KR101575072B1 (ko) * 2014-10-21 2015-12-07 숭실대학교산학협력단 2차원 데이터 구조에서 심볼 간 간섭을 보상하는 방법 및 장치, 이를 수행하기 위한 기록매체
ES2737843B2 (es) * 2016-07-05 2021-07-15 Kt Corp Metodo y aparato para procesar una senal de video
ES2802817B2 (es) 2016-07-05 2023-06-22 Kt Corp Metodo y aparato para procesar senal de video
CN106254030B (zh) * 2016-07-29 2019-04-23 西安电子科技大学 无速率Spinal码的双向编译码方法
CN117061736A (zh) 2017-01-13 2023-11-14 谷歌有限责任公司 视频代码化的复合预测
CN111182310A (zh) * 2019-12-26 2020-05-19 腾讯科技(深圳)有限公司 视频处理方法、装置、计算机可读介质及电子设备
WO2023239147A1 (ko) * 2022-06-07 2023-12-14 현대자동차주식회사 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06326999A (ja) * 1993-03-15 1994-11-25 Sony Corp 画像信号伝送方法及び装置、並びに画像信号復号化方法及び装置
JPH07131785A (ja) * 1991-03-15 1995-05-19 C Cube Microsyst ビデオ適用用の脱圧縮プロセサ
JPH09102047A (ja) * 1995-07-28 1997-04-15 Matsushita Electric Ind Co Ltd 画像生成装置、動画伸長マッピング装置およびマルチメディア機器
JPH10294943A (ja) * 1997-04-18 1998-11-04 Matsushita Electric Ind Co Ltd 映像信号符号化方式と映像信号符号化装置と映像信号復号化方式と映像信号復号化装置
JP2003284064A (ja) * 2002-03-20 2003-10-03 Matsushita Electric Ind Co Ltd 画像受信装置および画像表示制御方法
JP2003333599A (ja) * 2002-04-10 2003-11-21 Microsoft Corp 動き予測および動き補償におけるサブピクセル補間

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2240005B (en) 1989-11-03 1994-06-15 British Broadcasting Corp Improvements in television systems
KR940023248A (ko) * 1993-03-15 1994-10-22 오오가 노리오 화상 신호 부호화 방법 및 장치와, 화상 신호 복호화 방법 및 장치
US5852681A (en) 1995-04-20 1998-12-22 Massachusetts Institute Of Technology Method and apparatus for eliminating artifacts in data processing and compression systems
JPH10509576A (ja) 1995-09-20 1998-09-14 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ 符号化ディジタル・ビデオ信号復号方法および装置
US6173013B1 (en) * 1996-11-08 2001-01-09 Sony Corporation Method and apparatus for encoding enhancement and base layer image signals using a predicted image signal
CN1297147C (zh) * 1997-03-07 2007-01-24 通用仪器公司 对交错数字视频的双向预测的视频目标平面的预测和编码
US6212237B1 (en) * 1997-06-17 2001-04-03 Nippon Telegraph And Telephone Corporation Motion vector search methods, motion vector search apparatus, and storage media storing a motion vector search program
JPH11122624A (ja) 1997-10-16 1999-04-30 Matsushita Electric Ind Co Ltd ビデオデコーダ処理量を低減する方法および装置
JP2001136371A (ja) * 1999-11-05 2001-05-18 Hitachi Kokusai Electric Inc 静止画像通信方法及び静止画像通信システム
CN1409929A (zh) 1999-11-12 2003-04-09 通用仪器公司 提供一组定制的编码工具的mpeg-4视频特定控制封包
US6891893B2 (en) * 2000-04-21 2005-05-10 Microsoft Corp. Extensible multimedia application program interface and related methods
JP4906197B2 (ja) * 2000-05-29 2012-03-28 ソニー株式会社 復号装置および方法、並びに記録媒体
US6647061B1 (en) 2000-06-09 2003-11-11 General Instrument Corporation Video size conversion and transcoding from MPEG-2 to MPEG-4
US6940905B2 (en) * 2000-09-22 2005-09-06 Koninklijke Philips Electronics N.V. Double-loop motion-compensation fine granular scalability
JP2004515132A (ja) * 2000-11-23 2004-05-20 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオ符号化方法及び対応するエンコーダ
US6680973B2 (en) 2001-03-29 2004-01-20 Koninklijke Philips Electronics N.V. Scalable MPEG-2 video decoder with selective motion compensation
JP2004088736A (ja) * 2002-06-28 2004-03-18 Matsushita Electric Ind Co Ltd 動画像の符号化方法、復号化方法、データストリーム、データ記録媒体およびプログラム
US7903742B2 (en) 2002-07-15 2011-03-08 Thomson Licensing Adaptive weighting of reference pictures in video decoding
US7609763B2 (en) * 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07131785A (ja) * 1991-03-15 1995-05-19 C Cube Microsyst ビデオ適用用の脱圧縮プロセサ
JPH06326999A (ja) * 1993-03-15 1994-11-25 Sony Corp 画像信号伝送方法及び装置、並びに画像信号復号化方法及び装置
JPH09102047A (ja) * 1995-07-28 1997-04-15 Matsushita Electric Ind Co Ltd 画像生成装置、動画伸長マッピング装置およびマルチメディア機器
JPH10294943A (ja) * 1997-04-18 1998-11-04 Matsushita Electric Ind Co Ltd 映像信号符号化方式と映像信号符号化装置と映像信号復号化方式と映像信号復号化装置
JP2003284064A (ja) * 2002-03-20 2003-10-03 Matsushita Electric Ind Co Ltd 画像受信装置および画像表示制御方法
JP2003333599A (ja) * 2002-04-10 2003-11-21 Microsoft Corp 動き予測および動き補償におけるサブピクセル補間

Also Published As

Publication number Publication date
JP5226818B2 (ja) 2013-07-03
US8320464B2 (en) 2012-11-27
EP1747677A2 (en) 2007-01-31
CA2565645C (en) 2012-08-07
TW200607354A (en) 2006-02-16
WO2005109896A3 (en) 2006-05-18
US20050265450A1 (en) 2005-12-01
CN1981531B (zh) 2012-07-04
CN1981531A (zh) 2007-06-13
KR20070007380A (ko) 2007-01-15
TWI378729B (en) 2012-12-01
AR049166A1 (es) 2006-07-05
KR100881037B1 (ko) 2009-02-05
WO2005109896A2 (en) 2005-11-17
JP2007536807A (ja) 2007-12-13
JP2011155671A (ja) 2011-08-11
CA2565645A1 (en) 2005-11-17

Similar Documents

Publication Publication Date Title
JP4805915B2 (ja) 時間的なスケーラビリティのために2方向予測されたフレームを組み立てるための方法及び装置
US8085846B2 (en) Method and apparatus for decoding hybrid intra-inter coded blocks
JP5069099B2 (ja) 時間スケーラビリティを可能にするハイブリッド映像圧縮におけるフレーム予測のための方法および装置
US8085845B2 (en) Method and apparatus for encoding hybrid intra-inter coded blocks
JP5384694B2 (ja) 多層ビデオ設計のためのレート制御
CN101310535B (zh) 用于渐进式信道切换的方法和设备
US7961788B2 (en) Method and apparatus for video encoding and decoding, and recording medium having recorded thereon a program for implementing the method
EP1747680A1 (en) Method and apparatus to enable acquisition of media in streaming applications
JP4799547B2 (ja) それぞれマルチマクロブロックを含む予測ピクチャおよび非予測ピクチャを使用した、ピクチャシーケンスのエンコーディング方法およびエンコーディング装置
Tsai et al. H. 264 error resilience coding based on multi-hypothesis motion-compensated prediction
Tran Video Coding
KR100557118B1 (ko) 동영상 디코더 및 이를 이용한 디코딩 방법
Goh et al. Real-time software MPEG-2 TO H. 264 video transcoding
Lonetti Temporal Video Transcoding in Mobile Systems.

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091215

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100413

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100713

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100721

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100907

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110309

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110614

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110622

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110712

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110811

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140819

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees