説明

ストリーミングマルチメディアにおける最適エラー管理のためのデコーダアーキテクチャ

【課題】ストリーミングマルチメディアにおける最適エラー管理のためのデコーダアーキテクチャ。
【解決手段】エラー回復において使用されるマルチレイア統合のための方法および装置が開示されている。エラーは、第1層プロトコルに基づいたマルチメディアデータにおいて検出され、そして、マルチメディアデータにおいて検出されたエラーは、第2層プロトコルに基づいて隠蔽される。一態様では、マルチメディアデータにおけるエラーは通信層プロトコルに基づいて検出され、そして、トランスポート層プロトコルに基づいて制御される。制御されたエラーのエラー分布は、そのあと、同期層プロトコルに基づいて決定され、そして、マルチメディアデータにおいて検出されたエラーは、アプリケーション層プロトコルに基づいて隠蔽される。別の態様では、マルチメディアデータ処理のための方法および装置は、スケーラビリティと同様にエラー回復も備える。最後に、開示されたような方法および装置は、符号化されたマルチメディアデータの複数のストリームを受け取り、ストリームの誤り部分上でエラー回復を行ない、複数のストリームからマルチメディアデータを再構成することによって、マルチメディアストリームの処理を可能にする。

【発明の詳細な説明】
【技術分野】
【0001】
(米国特許法119条のもとでの優先権の主張)
本特許出願は、2005年3月10日に出願された「ビデオ通信におけるエラー回復のための方法および装置(Method and Apparatus for Error Recovery in Video Communications)」と題される米国特許仮出願第60/660,681号、2005年3月10日に出願された「ビデオデコーディングのための方法および装置(A Method And Apparatus For Video Decoding)」と題される米国特許仮出願第60/660,923号、および、2005年3月10日に出願された「デコーダのためのエラー回復の方法(Method Of Error Recovery For A Decoder)」と題される米国特許仮出願第60/680,867号、の優先権を主張する、なお、これらのすべては、本譲受人に譲渡され、また、ここに参照することによりここに明示的に組み込まれる。
【0002】
(分野)
本発明は、ハンドヘルドデバイス上のリアルタイムストリーミングメディアをデコードするための方法および装置に関連する。
【背景技術】
【0003】
(背景)
マルチメディアサービスに対しての増加する需要と同様に、インターネットおよび無線通信の爆発的な成長および大きな成功により、インターネットおよびモバイル/無線通信チャネル上のストリーミングメディアは、極めて大きい注意を引き寄せている。ヘテロジニアスな(heterogeneous)インターネットプロトコル(IP)ネットワークにおいては、ビデオは、サーバーによって提供され、1つ以上のクライアントによって流されることができる。ワイヤード接続(wired connections)は、ダイアルアップ、綜合サービスデジタルネットワーク(ISDN)、ケーブル、デジタル加入者線プロトコル(集団的にxDSLと呼ばれる)、ファイバー、ローカルエリアネットワーク(LAN)、広域ネットワーク他(WAN)などを含む。伝送モードは、ユニキャスト(uni-cast)かマルチキャスト(multi-cast)かであることができる。
【0004】
ヘテロジニアスなIPネットワークに似ているのはモバイル/無線通信である。モバイル/無線通信チャネル上でのマルチメディアコンテンツのトランスポートは、これらのチャネルがマルチパスフェージング(multi-path fading)、シャドウイング(shadowing)、相互シンボル干渉(inter-symbol interference)およびノイズ妨害(noise disturbance)によりしばしば極度に損われるので、非常に厳しい(challenging)。移動度や競合するトラフィックなどのいくつかの他の理由もまた、帯域幅変動およびロスを引き起こす。チャネルノイズおよびサービスを受けているユーザの数が、チャネル環境の時間変化プロパティ(time-varying property)を決定する。
【0005】
ヘテロジニアスなIPネットワークおよび移動通信システムの両方におけるサービスのより高い品質およびより高いデータレートの要求は、急速に増大している。然しながら、制限された遅延時間、制限された送信パワー、制限された帯域幅およびマルチパスフェージングのような要因が、実際のシステムによって処理されるデータレートを制限し続ける。マルチメディア通信においては、特にエラーの傾向のある環境においては、送信されたメディアのエラー障害許容力(error resilience)は、たとえ単一のデコードされた値におけるエラーでさえ、時空間的に伝播するデコーディングアーティファクト(decoding artifacts)をもたらすので、サービスの所望の品質を提供することにおいて重要である(critical)。様々なエンコーディング手段が、必要なデータレートを維持する間にエラーを最小化するために使用されてきている、然しながら、これらの技術のすべてが、デコーダ側に到達するエラーに関連する問題に悩んでいた。
【0006】
ソースエンコーダ(source encoder)の使用を通して、データは圧縮され − 最少の数のビットを消費することにより最大の情報を伝達し、これらのビットを受け取る際のエラーの与えられた可能性(a given probability)について伝送チャネルの容量を最大限にする傾向があるチャネルエンコーダが後に続くる。
【0007】
チャンネルコーディング、例えば、リードソロモン符号は、ソース符号化されたデータの堅牢性を改善するために使用される。合同のソース−チャンネルコーディング方法は、様々なレベルの重要度を有するソース符号化されたデータに様々なレベルのエラープロテクションを提供するために、あるいは、パケットを区分し(partitioning)、ドロップする(dropping)ことを通して、利用可能なネットワーク帯域幅への符号化されたビデオデータのレート適用を可能とするために、使用されてきている。これは、共通のトランスポートプロトコルが破損されたデータをソースデコーダに伝えないからである。
【0008】
可逆的可変長コーディング(例えばMPEG−4における)のようなソースコーディング技術が、破損パケットが実際に受け取られるときに逆の順序でパケットをデコードすることによってエラー回復のために使用されてきている。ソースコーディング技術を用いたコーディング効率に妥協があり、それは与えられたビットレートに対しデコードされたビデオの品質に変える。
【0009】
ハイブリッドコーディング標準規格、例えば、MPEG−I、MPEG2、MPEG−4(集団的にMPEG−xと呼ばれる)、H.261、H.262、H.263、およびH.264(集団的にH.26xと呼ばれる)などは、デコーダでエラーを処理する主な方法として、ビットストリームにおける再同期ポイント(resynchronization points)を使用する。
【0010】
最初の破損を超えるデータロス(data loss)を引き起こす可能性のある別の理由は、不正確なコードワードエミュレーション(codeword emulation)に起因する。最初のビットエラーポジションの識別は、ささいなタスクではなく、典型的に、MAC層あるいは物理層のコンポーネントの中のビットエラーポジションの識別をサポートする特別の設計なしでは可能ではない。従って、ビットストリーム破損を検出すると、デコーダは、デコーディングを停止しなければならないかもしれない、そして、次の再同期ポイントを見つけるためにビットストリームにおいて、また、かなり大きい量の潜在的に健全なデータを必然的にスキップするプロセスにおいて、前へ進まなければならないかもしれない。オリジナルのものと同じ長さである異なるコードワード、すなわち、本物の(authentic)コードワード、のエミュレーションは、上記に説明されたエベントのシーケンスに関して問題がより少ないように思えるかもしれないが、これは実際にそうではない。この種のエラーが、デコーダの正確なビットストリーム解釈(bitstream interpretation)において失敗をもたらす方法が多くある。例えば、ほとんどの現在のコーデック(codecs)においては、その値がビットストリームの次の部分のシンタックス(syntax)に影響を及ぼすビットストリーム中のオブジェクト(objects)(圧縮関連のパラメータ)がある。従って、そのようなオブジェクトに対する不正確な値は、不正確なビットストリーム解釈をもたらす。
【0011】
共通のトランスポートプロトコルは、デコーダ(例、ビデオあるいはオーディオデコーダアプリケーション)に破損されたデータを配達しないので、デコーダは、最も一般的な解決であるパケットのドロッピングおよび再同期を持った、ビットエラーを扱う限定された能力を有する。同期ロスおよび不正確なコードワードエミュレーションのような問題に起因する、エラー伝播およびデータロスに至るビットエラーを処理する、改善された方法が必要とされる。
【発明の開示】
【0012】
[概要]
一態様においては、エラー回復において使用されるマルチレイア統合(multi-layer integration)のための方法および装置が、第1層プロトコルに基づいてマルチメディアデータ(multimedia data)におけるエラーを検出し、第2層プロトコルに基づいてマルチメディアデータにおける検出されたエラーを隠蔽する(conceal)ための、方法あるいは手段を備える。別の態様においては、エラー回復において使用されるマルチレイア統合のための装置は、第1層プロトコルに基づいてマルチメディアデータにおけるエラーを検出する検出器と、第2層プロトコルに基づいてマルチメディアデータにおける検出されたエラーを隠蔽するコンシーラ(concealer)と、を備える。マルチレイア統合のための方法および装置においては、第1層は通信層(communication layer)を含むことができる。通信層は物理層(physical layer)、MAC層(MAC layer)およびトランスポート層(transport layer)のうちの1つかまたは組合せを含むことができる。さらに、方法および装置は、トランスポート層プロトコルに基づいて検出されたエラーを制御するための方法あるいは手段を更に備えることができる。検出されたエラーを制御することは、検出されたエラーをローカライズすること(localizing)を含む。方法および装置は、同期層プロトコル(sync layer protocol)に基づいて検出されたエラーのエラー分布(error distribution)を決定するための方法あるいは手段を更に備える。第2層はアプリケーション層を含むことができる。
【0013】
別の態様においては、エラー回復において使用されるマルチレイア統合のための方法および装置は、通信層プロトコルに基づいてマルチメディアデータにおけるエラーを検出し、トランスポート層プロトコルに基づいて前記検出されたエラーを制御し、同期層プロトコルに基づいて制御されたエラーのエラー分布を決定し、アプリケーション層プロトコルに基づいてマルチメディアデータにおける検出されたエラーを隠蔽するための、方法あるいは手段を備える。さらに別の態様においては、マルチメディアデータ処理において使用される方法および装置は、符号化されたマルチメディアデータのエラー回復(error recovery)を行ない、符号化されたマルチメディアデータのスケーラビリティ(scalability)をサポートするための方法あるいは手段を備える。まだ更に別の態様においては、マルチメディアデータ処理において使用される装置は、符号化されたマルチメディアデータのエラー回復を行なうエラー回復コンポーネントと、符号化されたマルチメディアデータのスケーラビリティをサポートするスケーラビリティコンポーネントとを備える。マルチメディア処理において使用される方法および装置においては、スケーラビリティは、空間的および時間的スケーラビリティ(spatial and temporal scalability)の一方または両方を備えることができる。エラー回復は、時間的エラー隠蔽(temporal error concealment)、空間的エラー隠蔽(spatial error concealment)およびフレームレートアップ変換(frame rate up conversion)のうちの1つかまたは組み合わせかを備えることができる。
【0014】
更なる態様においては、マルチメディアストリーム処理において使用される方法および装置は、符号化されたマルチメディアデータの複数のストリームを受け取り、ストリームの誤り部分上でエラー回復を行ない、複数のストリームからのマルチメディアデータを再構成するための方法あるいは手段を備える。さらに更なる態様においては、マルチメディアストリーム処理において使用される装置は、符号化されたマルチメディアデータの複数のストリームを受け取る受信機と、ストリームの誤り部分上でエラー回復を行なうエラー回復コンポーネントと、複数のストリームからのマルチメディアデータを再構成するリコンストラクタ(reconstructor)とを備える。マルチメディアストリーム処理において使用される方法および装置では、エラー回復は、時間的エラー隠蔽、空間的エラー隠蔽およびフレームレートアップ変換のうちの1つかまたは組み合わせかを備えることができる。
【0015】
上記の方法および装置は、方法あるいは装置のオペレーションを実行するように構成されたコンピュータ可読媒体(computer readable medium)及び/又はプロセッサによって実施されることができる、ということに注意されるべきである。
【0016】
[詳細な説明]
マルチメディアデコーダにおける改善されたエラー回復機能(error recovery capabilities)を提供する方法および装置が説明される。例えば、上層(例、通信層)で、マルチメディアデータストリームにおけるエラーを検出すること、および、アプリケーション層(例、ビデオあるいはオーディオデコーダ)で、検出されたエラー上でエラー回復を行なうこと、などの統合されたエラー回復機能が提供される。一例においては、様々なタイプのエラー回復技術を行なう際に、十分な情報を得た上での決定(informed decisions)を下すことにおいて使用されるためにアプリケーションコンポーネントに破損ビットのフラグを立てている情報(corrupt bit flagging information)を提供する、デコーダアーキテクチャが示される。エラー回復技術は、破損シンボルを、以前にデコードされたビデオ、オーディオ、テキスト、およびグラフィックス情報のようなアプリケーションコンポーネントに利用可能な情報から得られる、推定されたシンボル(estimated symbol)に取り替えるために使用される。以下の説明においては、実施形態の十分な理解を提供するために、特定な詳細が与えられる。然しながら、実施形態はこれらの特定な詳細なしに実行されてもよいことは、当業者によって理解されるだろう。例えば、電気コンポーネントは、不必要な詳細における実施形態を不明瞭にしないようにブロック図中で示されるかもしれない。他のインスタンスにおいては、そのようなコンポーネント、他の構成および技術が、実施形態を更に説明するために詳細に示されるかもしれない。別々のブロックとして示されている電気コンポーネントは、再配列されることができ、かつ/または、1つのコンポーネントに結合されることができる、ということもまた熟練工によって理解される。
【0017】
いくつかの実施形態は、フローチャート、フローダイアグラム、構造ダイアグラム、あるいはブロック図として示されるプロセスとして説明されることができるということにもまた注意すべきである。フローチャートは連続するプロセスとしてオペレーションを説明するかもしれないが、オペレーションの多くは、並列にあるいは同時に実行されることができ、また、プロセスは繰り返されることができる。更に、オペレーションの順序は並び替えられることができる。プロセスは、そのオペレーションが完了されるときに、終了する。プロセスは、方法、機能、手続き、サブルーチン、サブプログラムなどに対応するかもしれない。プロセスが機能に対応するときは、その終了は、呼出し機能あるいは主機能への機能のリターンに対応する。
【0018】
図1Aは、ストリーミングマルチメディアを配信するための通信システムの一例のブロック図である。システム20は、送信機22(transmitter)と受信機マルチメディアデコーダ(receiver multimedia decoder)24とを含んでいる。送信機22は、ビデオ、オーディオ、グラフィックス、テキスト、および画像を、これらに限定されずに含んでいる様々な形式の圧縮されたマルチメディアデータを含有する。データは、MPEG−xおよびH.26x標準規格におけるような圧縮されたビデオおよびオーディオ、MPEG−4 AAC、MP3、AMRおよびG.723オーディオあるいは音声圧縮標準規格におけるような圧縮されたオーディオ、あるいは任意の他のタイプのデジタルデータであることができる。
【0019】
送信機22は、外部メモリ、インターネット、およびライブビデオ及び/又はオーディオフィード(live video and/or audio feed)を含む様々なソースからデータを得る。送信機22はまた、ネットワーク上で取得したデータを送信する(Tx)。ネットワークは、電話、ケーブル、あるいは光ファイバーのような、ワイヤードネットワーク(wired network)28、あるいは無線ネットワーク26であることができる。無線通信システムの場合においては、ネットワーク26は、例えば、符号分割多元接続(CDMAまたはCDMA2000)通信システムの一部を備えることができる、あるいは、システムは、周波数分割多元接続(FDMA)システム、直交周波数分割多元接続(OFDMA)システム、時分割多元接続(TDMA)システム、例えば、GSM/GPRS(汎用パケット無線サービス)/EDGE(拡張されたデータGSM環境)あるいはサービス産業のためのTETRA(地上波基幹無線)モバイル電話技術など、広帯域符号分割多元接続(WCDMA)、高データレート(IxEV−DOあるいはIxEV−DOのゴールドマルチキャスト(Gold Multicast))システム、あるいは一般に技術の組合せを使用する任意の無線通信システム、であることができる。
【0020】
デコーダ24は、無線ネットワーク26及び/又はワイヤードネットワーク28上でデータを受け取るための、無線周波数アンテナあるいはネットワーク接続のような手段を含む。デコーダ24は、受信データに関連した復調およびデコーディングのタスクの分配のために、プリプロセッサ(例、ARMの任意のタイプのセントラルプロセッサユニットCPU)、デジタル信号プロセッサ(DSP)、ソフトウェア、ファームウェア、およびビデオコアのようなハードウェア、の任意の組合せを含んでいる複数のプロセッサを含むことができる。デコーダ24はまた、復調/デコーディングプロセスの様々なステージにおける受信されたデータおよび中間のデータを保存するためにメモリコンポーネントを含んでいる。いくつかの実施形態においては、ARMプリプロセッサは、オーディオ、ビデオその他を含む複数のビットストリームをアンパックすること(unpacking)(ヘッダやシグナリングメッセージのようなサイド情報(side information)を取り除くこと)およびデマルチプレクスすること(demultiplexing)を含んでいるそれほど複雑でないタスクを行なう。ARMプリプロセッサはまた、ビットストリーム構文解析(bitstream parsing)、エラー検出および隠蔽、および可変長エントロピーデコーディング、を行なう。いくつかのそのような実施形態においては、DSPは、VLC(可変長コード)コードワードの拡張、ピクセル係数を空間的に位置特定するビデオデータの逆ジグザグ走査、MPEG−4ビデオ用ピクセル係数の逆AC/DC予測(コンテキスト適応エントロピーコーディングによるH.264の特徴ではない)、およびオーディオデコーディング(例、MPEG−4、AAC、MP3、AMRあるいはG.723)を行なう。ビデオコアは、デクワンタイゼーション(dequantization)、逆変換(inverse transformation)、動き補償予測、および非ブロック化(deblocking)(ピクセルブロックエッジ間のエッジアーティファクト(edge artifacts)を減らすフィルタリングの形式)を備えるビデオデコーディングのより計算上複雑なタスクを行なうことができる。1つ以上のエレメントが、通信システム20に、追加され、再配置され、あるいは組み合わされることができる。ワイヤード通信システムの場合には、ネットワーク26は、例えば、リアルタイムトランスポートプロトコル(RTP)あるいはユニバーサルデータグラムプロトコル(UDP)のようなトランスポートプロトコルを備えたインターネットプロトコル(IP)ベースの通信システムの一部を備えることができる。
【0021】
図1Bは、送信機22およびデコーダ24におけるタスクを分割するために使用される多層プロトコルスタック(multi-layer protocol stack)のブロック図である。送信機22およびデコーダ24における上層コンポーネント205および210は、それぞれ複数のアプリケーション、例えば、ビデオあるいはオーディオのエンコーダ及び/又はデコーダなど、を含む。いくつかの実施形態は、同時にデコードされることが予定されている情報の複数のストリームを含むことができる。これらのケースにおいては、複数のストリームの同期タスクは、上層コンポーネント205および210において行われることもできる。上層コンポーネント205は、無線ネットワーク26及び/又はワイヤードネットワーク28上で送信されるビットストリームにおいて符号化されたタイミング情報を提供することができる。上層コンポーネント210は、複数のストリームの情報を構文解析できるので、関連するアプリケーションがほぼ同じ時にそれらをデコードする。
【0022】
送信機22における下層コンポーネント215は、エラー障害許容力(error resiliency)のために供給する様々な方式を含むことができる。エラーしがちなチャネル、例えば、無線ネットワーク26及び/又はワイヤードネットワーク28などは、デコーダ24によって受け取られたビットストリームへエラーを導入するかもしれない。下層コンポーネント215において提供されるそのようなエラー障害許容力の方式(error resiliency schemes)は、1つ以上のエラー制御コーディング方式(error control coding schemes)、インタリービング方式(interleaving schemes)、および、当業者に知られている他の方式を含んでもよい。デコーダ22における下層コンポーネント220は、エラーの検波および補正を可能にする、対応するエラーデコーディングコンポーネントを含むことができる。無線ネットワーク26及び/又はワイヤードネットワーク28上で導入されるいくつかのエラーは、下層コンポーネント220によって訂正可能でないかもしれない。訂正可能でないそれらのエラーについては、送信機22の下層コンポーネント215による破損コンポーネントの再伝送を要求する下層コンポーネント220のような解決は、いくつかのある状況、例えば、ストリーミングアプリケーションのようなリアルタイムマルチメディア通信においては、適していないかもしれない。いくつかの実施形態においては、下層コンポーネント215および220は、通信層コンポーネントを備える。1つ以上のエレメントが、図1Bの中で示される送信機22あるいはデコーダ24に、追加され、再配列され、あるいは組み合わされることができる。
【0023】
図1Cは、送信機22およびデコーダ24におけるタスクを分割するために使用される多層プロトコルスタックのより詳細な一例のブロック図である。送信機22の、上層コンポーネント205は、アプリケーション層206および同期層207のうちの1つ以上において分配される。送信機22の、下層コンポーネント215は、トランスポート層216、ストリームあるいはメディアアクセス制御(medium access control)(MAC)層217、および物理層218のうちの1つ以上へ分配される。同様に、デコーダ24の、上層コンポーネント210は、アプリケーション層211および同期層207のうちの1つ以上において分配される。デコーダ24の、下層コンポーネント220は、トランスポート層221、ストリームあるいはメディアアクセス制御(MAC)層222、および物理層223のうちの1つ以上へ分配される。当業者は、これらの層を認識し、また、それらの間の様々なタスクの割り付けに精通しているであろう。上記に論考されたように、送信機22において提供されるエラー障害許容力を利用する、デコーダデバイス24の様々な層を統合するアーキテクチャの一例が、今から論考される。1つ以上のエレメントが、図1Cにおいて示される送信機22あるいはデコーダ24に、追加され、再配列され、あるいは組み合わされることができる。
【0024】
図2Aは、ストリーミングマルチメディアをデコードするためのデコーダデバイスアーキテクチャの一例のブロック図である。図2Bは、送信機22を含むマルチレイア統合管理システムのためのプロトコルスタックダイアグラムであり、また、図2Aのデコーダデバイスアーキテクチャのプロトコルスタックビューである。図2Aおよび2Bを参照すると、マルチメディアデコーダ30は、物理層コンポーネント32、MAC層コンポーネント34、トランスポートおよび同期パーサ(Transport and Sync. Parser)(TSP)39、およびアプリケーション層コンポーネント50を含んでいる。マルチメディアデコーダ30は、ターボ/リードソロモン連結方式のような連結エラー訂正方式を含んでいるインプットビットストリーム(IN)を受け取る。物理層コンポーネント32は、受け取ること、エラー制御デコーディング、例えば、ターボ符号デコーディング、およびMAC(メディアアクセス制御)層とインタフェースをとることを、これらに限定されないが、含んでいる復調タスクを行うことができる。MAC層コンポーネント34は、エラー制御デコーディング、例えば、リードソロモンエラー検出、エラー訂正、および、訂正できない破損データ例えば1ビット以上のグループのフラッギング(flagging)、を行うことができる。MAC層コンポーネント34は、トランスポートおよび同期パーサコンポーネント(Transport and Sync. Parser component)(TSP)39とインタフェースをとる。
【0025】
TSPコンポーネント39は、トランスポート層De−Muxコンポーネント(Transport Layer De-Mux component)36およびSync.(同期)層パーサコンポーネント(Sync. (synchronization) Layer Parser component)38を更に含むことができる。トランスポート層De−Muxコンポーネント36は、MAC層コンポーネント34から渡された、正確なビットと破損ビットの両方、および破損グループのビットにフラグを立てている(flagging)情報を含んでいるビットストリームを受け取ることができる。ビットの破損グループおよび対応するフラッギング情報は、ターボデコーダCRC障害33およびリードソロモン障害35に対応する情報を備える。(あるプロトコルスタック(protocol stacks)においては、トランスポート層De−Muxコンポーネント36はまた、ストリームサブレイヤとしても知られており、ここでは、MACサブレイヤとストリームサブレイヤは、両方とも、トランスポート層のサブレイヤである。)トランスポート層De−Muxコンポーネント36は、それが複数のビットストリーム中に受け取るビットストリームを、デマルチプレックスする(demultiplex)(De−Mux)あるいは構文解析することができる。構文解析されたビットストリームは、異なるアプリケーション、例えば、ビデオデコーダ、オーディオデコーダ、および、テキスト、グラフィックスおよび画像のアプリケーションの様々な組合せなど、を対象としたビットストリームを含むことができる。トランスポート層De−Muxコンポーネントはまた、例えばビデオビットストリームのような単一のアプリケーションを対象としたビットストリームを、ベース層およびエンハンスメント層のような2以上の別々の層(例えばスケーラブルコーディング(scalable coding)を使って)に構文解析することができる。これらの層は、そのあと、スケーラビリティ(scalability)、例えば、時間的及び/又はSNRスケーラビリティ、を提供するために使用されることができる。スケーラブルコーディングの1つの例は、イントラ符号化された画像(Intra- coded pictures)(Iフレームのような)、および異なるインター符号化された画像(inter-coded pictures)(例えば、動き補償予測を使用して導き出されたBフレームあるいはPフレームのような)を、ビットストリームにおいて異なる層に分割する。Iフレームはベース層において符号化されることができ、P及び/又はBフレームはエンハンスメント層において符号化されることができる。スケーラブルコーディングは、動的なチャネルにおいて有用であり、そこでは、スケーラブルビットストリームは、ネットワーク帯域幅の変動に対応する(match)ように適合されることができる。エラーがありがちなチャネルにおいては、スケーラブルコーディングは、ベース層およびエンハンスメント層の同等でないエラープロテクションを通して強健さ(robustness)を加えることができる。よりよいエラープロテクションは、より重要な層に適用されることができる。
【0026】
Sync.(同期)層パーサコンポーネント38は、時間同期ベース(time- synchronous basis)で互いに関連するサブビットストリームに関してビットストリームの構文解析を更に行なう。マルチメディアビデオビットストリームは、ビデオビットストリーム、オーディオビットストリームおよび字幕(closed captioning)用の関連するテキストを備えたビットストリームに構文解析されることができる。Sync.層パーサコンポーネント38は、時間同期情報(time-synchronization information)と共に関連するデコーダアプリケーションへ構文解析されたビットストリームを送る。これは、関連するオーディオ、ビデオおよびテキストが、適切な時間に表示されプレイされることを可能にする。
【0027】
上記に論考された構文解析に加えて、トランスポート層De−Muxコンポーネント36は、それがMAC層コンポーネント34および物理層32から受け取る破損フラッギング情報(例、CRC障害情報33およびリードソロモン障害情報35)を構文解析し、Sync.層パーサコンポーネント38及び/又は適切なアプリケーション層プロセス(例、ビデオでコーダ、あるいはオーディオでコーダ)に送ることができる。Sync.層パーサコンポーネント38は、破損フラッギング情報をエラー分布情報(error distribution information)37の形式で送ることができる。Sync.層パーサコンポーネント38はまた、推奨されるエラー制御戦略情報(error control strategy information)41も送ることができる。アプリケーション層プロセスは、そのあと、エラー処理のために、破損フラッギング情報37およびコントロール戦略情報41を使用することができる。
【0028】
アプリケーション層コンポーネント50は、例えば、エラー回復コンポーネント(Error Recovery component)40、スケーラビリティコンポーネント(Scalability Component)42、フレームレートアップ変換(Frame Rate Up Conversion)(FRUC)コンポーネント44、コアアプリケーションデコーディングコンポーネント(Core Application Decoding component)46および後処理コンポーネント(Post Processing Component)48のような、1つ以上のコンポーネントを含むことができる。アプリケーション層コンポーネント50は、破損データを操作し、そうすることによってアプリケーションデコーディングコンポーネント46を用いたより高い品質のデコーディングを提供するために、エラー回復、スケーラビリティおよびFRUCコンポーネントをどのように利用するかに関して決定するため、送られた破損フラッギング情報37および制御戦略情報41を利用する。例えば、いくつかのメディア(some media)が、重要な情報を含んでいる1つの層の中で受け取られ、残りのメディアが他の層の中で受け取られる、時間的スケーラビリティのケースにおいては、もし第2層が受け取られなかったか、あるいは失われたか、あるいは破損された場合は、FRUCは、欠落しているメディアを再構成(reconstruct)するために使用されることができる。デコーディングの後、後処理コンポーネント48は、ビデオディスプレイまたはスピーカ上でそれぞれビデオおよびオーディオ出力(OUT)の表示、あるいは、プレイ(playing)あるいはレンダーリング(rendering)をイネーブルにするために、何らかの必要な特定のハードウェア修正(hardware specific modifications)を行う。後処理コンポーネント48はまた、メディアがレンダーされる(rendered)あるいは提供される前に、拡張(enhancement)または復元(restoration)のオペレーションも行なうことができる。
【0029】
コアアプリケーションデコーディングコンポーネント46は、テキストおよびグラフィックスのアプリケーションと同様にビデオデコーダ(単数又は複数)、オーディオデコーダ(単数又は複数)を含むことができる。コアアプリケーションコンポーネント46でのデコーディングより前に、あるいはその間に、様々なアプリケーションビットストリームのエラー回復、スケーラビリティおよびFRUC処理を行なうことによって、低品質ビットストリーム(エラーに起因する、低品質で符号化されたものあるいは低品質で受け取られたもの)の品質を改善するためにエンハンスメント(enhancements)が行われることができる。例えば、コンポーネント40、42および44は、標準規格ベースライン準拠H.264のビデオビットストリーム(ベースラインプロファイルは、ロウパワーデバイス用に設計された、非常に単純なプロファイルである)にエンハンスメントを示す(offer)ことができ、また、ストリームビデオ用のスケーラビリティ、獲得およびエラー障害許容力の要件を満たすために必要とされる、Bフレームおよびスライスデータ区割りのような、H.264の他のプロファイルからのある特徴を提供することができる。マルチメディアデコーダ30のコンポーネントを利用するプロセスの詳細は、以下に提供される。1つ以上のエレメントが、図2Aおよび2Bにおいて示される送信機22あるいはデコーダ30に、追加され、再配列され、あるいは組み合わされることができる。
【0030】
さて、エラー検出およびエラー訂正の簡単な論考が提供される。エラー検出および訂正の方式の1つの例は、内部(チャネル)コードおよび外部(チャネル)コードの両方を含んでいる連結コードを使用する。連結チャンネルコードは、物理層におけるターボ(内部)符号と、トランスポート/MAC層の中に位置するリードソロモン(外部)消去訂正符号とから成っている(consist of)。図3は、連結されたリードソロモン消去およびターボコーディングについて組織化されたマルチメディアシンボルの一例を図示する。エンコーディングサイド(encoding side)に関しては、情報源からの出力シンボルと、エンコーダからの2進コードワード出力は、バイト102の中にブロックされる(blocked)。各バイト102は、GF(256)上の外部(N,K)リードソロモン(RS)符号の目的で、「ガロア域(Galois Field)(256)」として知られる有限フィールド(finite field)のシンボルと考えられる。NとKは、それぞれ、全RSコードワード104のサイズと、システマテック部分を保持するそのソースデータ106のサイズとを、シンボルの数で示す。従って、N―マイナスKは、各コードワード104に含まれるパリティシンボル108の数を与える。(N,K)RS符号は、NマイナスK消去を訂正することができる。
【0031】
トップのK行106は、本質的に、情報源から出力されるシンボルを保持し、これらのシンボルは、行−ファースト(rows-first)か列−ファースト(columns-first)の何れかの方法でK行へとスキャンされることができる。列−ファーストのスキャンによって達成されたインタリービング(interleaving)は、与えられたターボ情報パケット行112が破損しているとき、著しく短いグループの破損ビットを結果としてもたらす。ターボ情報パケット消去に起因する、破損ビットのグループは、行ファーストのスキャンニングの場合の各々(L−1)バイトとは対照的に、列ファーストのスキャンニングの場合は、長さで各々1バイトであり得る。デコーダでは、これらの破損グループのビットのフラッギングは、下記に論考されるように、これらのビットグループの(ビットストリームにおける)サイズおよび位置を識別するのを必要とすることができる。ソースデータ配置(source data placement)のこの最初のステップの後に、(Kバイトの)L列104の各々は、N−Kパリティバイトを加えることによって、Nバイトに符号化されたRSであり、従って図3における行K+l,・・・,N108が生成される。ソースデータ106から成る(consisting of)トップのK行は、RS情報ブロックと呼ばれ、そして、N行の全セットはRS符号化ブロック(RS encoded block)あるいは単にコードブロック(code block)110と呼ばれる。
【0032】
各行112は、ターボコーダ(turbo coder)の正確なオペレーションのために必要とされる、CRC(周期的冗長チェック)チェックサム(checksum)およびトレイリングビット(trailing bits)がアペンドされる(appended)。各行112にチェックサムをアペンドすることによって、ターボデコーディングの後にそれぞれのチェックサムを満たさないそれらの行は、消去されたと宣言されることができる。各コードブロック110は、一度に1つの行112がターボコーダへ入力される、従って、各行はターボ情報パケットと呼ばれる。
【0033】
ターボデコーディングプロセスは、リードソロモンデコーディングプロセスに、厳しい決定のデータ(hard-decision data)を提示し、それは、残差(residual error)のレートを更に減らす。消去について成功裡に訂正する能力は、コードブロック内の消去の総数、および、RSコードワードにつき使用されるパリティシンボルの数(NマイナスK)に、依存する。
【0034】
図2のマルチメディアデコーダ30を対象としたチャンネルコーディング設計において、もしリードソロモン(RS)コードブロックが訂正容量を超えた消去を有する場合は、対応するRS情報ブロック(図3)は、Kターボ情報パケット112(図3)のどれが破損されているかの共同の通知フラッギング(joint notification flagging)と共に、トランスポート層、同期層、および最後にアプリケーション層の中のコンポーネントに渡されることができる。GF(256)上の外部(N,K)RS符号のシステマテック構造(systematic structure)は、正確に受け取られる(破損していない)ターボ情報パケットの直接的な利用を可能とする。
【0035】
図4は、ストリーミングマルチメディアをデコードする方法の一例のフローダイアグラムである。雑音のある変調されたデータ(IN)が、受け取られ、そして、デコーディングプロセス60に入力され、復調される62。データは、ワイヤードあるいは無線のネットワーク、例えば、図1における無線ネットワーク26やワイヤードネットワーク28など、を横切って受け取られることができる。図2の物理層コンポーネント32は、ステップ62で、受信された雑音のあるデータを復調する動作を実行する。復調されたデータは、そのあと、エラーが検出され訂正されることができる64ところに伝えられる。図2の物理層コンポーネント32は、64のターボデコーディングの動作を実行でき、一方、図2のMAC層コンポーネント34は、64のリードソロモンエラー訂正の動作を実行できる。
【0036】
ターボおよびリードソロモンデコーディングが、訂正可能なすべてのエラーを検出し訂正した64後、ターボ情報パケット及び/又は破損バイトは、例えば、フラッギングにより、例えば識別される66。構文解析68のためにビットストリームを伝える前に、パリティ行108(図3)と同様に各ターボ情報パケット中のCRCチェックサムおよびトレイリングビットも、廃棄される。正確に受け取られたデータ、不正確に受け取られたが訂正されたデータ、および、フラグが立てられた破損データ(flagged corrupt data)は、破損データを識別するフラッギング情報と共に、すべて、ビットストリーム構文解析68のために伝えられる。図2の物理層コンポーネント32及び/又はMAC層コンポーネント34は、破損データを(例えば、フラッギングによって)識別する動作66を行なうことができる。
【0037】
上記に論考されたように、トランスポートDe−Muxコンポーネント36およびSync.層パーサコンポーネント38は、該ビットストリームを、複数のアプリケーション層プロセスを対象とした複数のビットストリームに構文解析する68。図4の中で示される例において、ビットストリームは、ビデオビットストリーム70、オーディオビットストリーム72およびテキスト及び/又はグラフィックスビットストリーム74に構文解析される68。各両ストリーム70、72および74は、個々のビットストリーム内のビットの破損グループを識別するデータを含むことができる。更に個々のビットストリームが時間同期(time synchronous)であるべきときは、ビットストリームはタイミング情報を含むことができる。
【0038】
個々のビットストリームが構文解析された後、破損ビットが取り替えられる(replaced)78、82および86ところのアプリケーション層で、エラー回復あるいは隠蔽のいくつかの技術のうちの1つを利用して、エラー処理(error handling)がおこなわれる。図2におけるアプリケーション層コンポーネント50のエラー回復コンポーネント40、スケーラビリティコンポーネント42およびFRUCコンポーネント44は、取り替えることの動作78、82および86を実行できる。破損シンボルが交換された後、個々のビデオ、オーディオおよびテキスト/グラフィックスのビットストリームが、夫々、デコードされることができる80、84および88。図2中のアプリケーション層コンポーネント50のコアアプリケーションコンポーネント46は、デコーディングを実行できる80、84および88。図2中のアプリケーション層コンポーネント50のコアアプリケーションコンポーネント46はまた、フラグが立てられていた可能性がある破損ビットを、下層コンポーネントと取り替えることもできる78、82及び/又は86。図4において示されるプロセス60に対し、1つ以上のエレメントが、追加され、再配列され、あるいは組み合わされることができる。
【0039】
図4において示されるような、破損データのフラッギングによって、破損ビットを識別すること66の一例が、今より、より詳細に論考される。図5は、ビデオデータ用のターボ情報パケット構造を図示する。ブロック140は、図3の中で図示されたRS情報ブロックを構成するターボ情報パケット106のK行のような、1セットのターボ情報パケットを表わす。ビデオのフレームは、符号化されるべきデータの、1つよりも多いターボ情報パケットを要求できる。例えば、第1のフレーム、Fl、は、情報ブロック148Aにおける行142Aにおいて始められる。フレームFlにおける残存するデータは、行142B、142C、142Dおよび行142Eの第1の部分に位置する。行142Aはまた、同期ヘッダヘッダ(SH)146Aを含んでおり、それは、ストリーム識別、同期時間、フレーム識別(ベース層およびエンハンスメント層の場合はフレーム番号(frame number)、そして多分層番号(possibly layer number))などの情報、および他の情報、を含む。同期ヘッダ146Aは、同期層パーサ(図2における38を参照)に対し、フレームFlを表わす次の情報ブロックに含まれるデータをどこで(どのアプリケーションで)送るのかを識別するように機能する。上記で論考したように、各行の最後にCRCチェックサムがあり、それは、消去された(破損された)パケットを識別するためにリードソロモンデコーディングに関連して使用される。
【0040】
各ターボ情報パケット行の初めには、トランスポート層ヘッダ(TH)144がある。
【0041】
各TH144は、ラスト_フラッグとオフセット_ポインタとを含んでいる。破損ターボ情報パケットのフラッギングは、図4の状態66で実行され、オフセット_ポインタ値自体によって行われることができる。オフセット_ポインタを誤用の値(illegitimate value)に設定することは、パケットが破損していることを示す(signify)ことができる。あるいは、エラー_フラッグフィールドは、THの中で使用されてもよい。フラッギングは、対応するTHにおける設定(エラー_フラッグ=1)によって達成されることができる。例えば、もし行142Cが破損している場合、そのときは、行142CのTHは1に等しく設定されることができる。ラスト_フラッグは、現在の行がフレームの最後の行であることを(例えばそれを1に等しく設定することにより)示すために使用され、そしてもしそれが最後の行である場合は、そのときは、オフセット_ポインタは、ターボ情報パケット行の中のどこで次のフレームが始まるのかを示すために使用される(バイトの数で)。例えば、行142Eにおいて、TH144Bは(ラスト_フラッグ=1)を持つことができ、そして、オフセット_ポインタは、TH144Cの開始(フレームF3の開始)の前の行に含まれていたバイトの数に等しくできる。同期ヘッダ146Bは、上記に論考されたように、フレーム_IDおよびビットストリームを示すデータを含むことができる。情報ブロック148Cは、フレームF3を表わすビデオデータを含む。もし行142Eが破損されていると決定される場合、そのときは、デコーダは、フレームFlがどこで終了し、フレームF3がどこで始まるかを、決定することができないかもしれない。
【0042】
上記に論考されたようにトランスポートヘッダ中にエラー_フラッグを含んでいることに加えて(あるいはその代わりに)、データテーブル(data table)が構成され、各ビデオフレームについて表1にリストされた情報と共にアプリケーション層へ送られることができるであろう。
【表1】

【0043】
表1に似た、他のビットストリームエラーテーブルが構成されることができる。トランスポートヘッダ及び/又は表1のようなエラーテーブルに含まれるエラーフラッギング情報は、図4においてそれぞれ、構文解析されたビットストリーム70、72および74中の破損シンボルを識別し、ステップ78、82および86でそれら取り替えるために、図2のコンポーネント40、42および44のような、アプリケーション層コンポーネントによって利用されることができる。上記に論考されたように、RSコーディングからの消去パケットは、廃棄されずに、しかし、ビデオデコーダのようなアプリケーション層まで処理される。これは、全パレット、ビデオパケットの場合は潜在的に長さで122以上のバイト、が失われるのを防ぐ。
【0044】
破損シンボルを取り替える動作、図4中のステップ78、82および86、は2つの主な形態、エラー訂正とエラー隠蔽、を引き受けることができる。ビットストリームレベルエラー訂正および隠蔽オペレーションは、消去とバーストエラーに関して実行される。(バイトエラーに起因する)デコーディングエラーは、可能な程度まで、MAP(帰納的最大確率(Maximum a Posteriori Probability)基準を使用して訂正される。訂正することができないエラーは、空間的及び/又は時間的情報を使用して、隣接するマクロブロックから隠蔽される(マクロブロックは、画像圧縮標準規格中で一般に動作する16x16ピクセル領域であるが、8x8、8x16などのような、より小さいサブマクロブロックもまた、使用されることができるであろう)。時間的隠蔽が、例えば、画像が1つよりも多いフレームにわたって静止のとき、使用されることができる。もし、隠蔽されている破損マクロブロックが、前のフレームにおいて比較的コンスタントのままでいた領域にある場合は、それは破損フレームの中にある可能性があり、そして、過去のフレーム領域が、破損領域のための推定値(an estimate)として使用されることができるであろう。空間的隠蔽は、同じフレーム内の隣接するマクロブロック上で存続するエッジ(edges)あるいはオブジェクト(objects)を利用できる。
【0045】
上記に論考されたように、同じビットストリームを表わしている、符号化されたデータの複数の層が、受け取られることができる。該層は、ベース層と1つ以上のエンハンスメント層を含むことができ、そこでは、エンハンスメント層(単数又は複数)は、(双方向性の予測Bフレームのような)ベース層においては利用可能でない特別のフレームを提供することができる、あるいは、それらは、ベース層ピクセル係数(pixel coefficients)に、より高い品質の差異がある改善(higher quality differential refinements)を供給することができる。ベース層係数への差異ある改善のケースにおいては、もしベース層が破損される場合、そのときは、エンハンスメント層は、ベース層ピクセル値に基づいてそれが導き出されたので、役に立たない可能性がある。したがって、エンハンスメント層は、もしベース層データが破損されている場合は、デコーディングから省かれることができる。このプロセスは、選択的デコーディングと呼ばれ、低いパワーシナリオ(low power scenarios)の下で使用されることもできる。例えば、デコーダにホストとして動作するデバイスが、低いパワーモード上で実行している、あるいは、低いバッテリで実行しているとき、ベース層のみが、エンハンスメント層を省略してデコードされることができ、したがって、計算サイクルをそしてさらにはパワー消費を節約する。空間的及び/又は時間的隠蔽技術は、結合されたベースプラスエンハンスメント層データ(combined base plus enhancement layer data)を取り替えることができる。
【0046】
エンハンスメント層(時々、低い優先順位層として扱われる)は、ベース層(あるいは高い優先順位層)よりも低いパワーで送信されることができる。これは、ベース層上のエンハンスメント層におけるエラーの確率を増加させる。従って、受け取られたベース層が高い割合(percentage)のエラーを含んでいるときは、エンハンスメント層は潜在的に除かれる(dropped)ことができる。
【0047】
双方向性の予測フレーム(Bフレーム)は、前のフレームと続いて起こる動き補償予測(motion compensated prediction)を使用するフレームの両方から予測される。Bフレームは、非常に高い圧縮比を提示し(offer)、また、帯域幅を節約するためには非常に望ましい。Bフレームはまた、それらの時間的スケーラビリティ特性のために望ましい。標準規格準拠Bフレームは、他のどんなフレームの予測については使用されない、そして、この理由のために、それらは、他のフレームに悪影響を及ぼすことなく除かれることができる。Bフレームはまた、それらが依存するフレームにおけるエラーに起因するエラー伝播の影響をより受けやすい(susceptible)。これらの理由のため、Bフレームは、エンハンスメント(あるいは低い優先順位)層において搬送される可能性が非常に高い。もしエンハンスメント層がより低いパワーで送信される場合、そのときは、Bフレームは、エラーの影響をさらにより受けやすい。
【0048】
もしBフレーム(あるいは任意の他のタイプのフレーム)が完全に破損されているか、あるいは、時間的または空間的なエラー隠蔽を実行できなくする閾値より上のエラーパーセンテージ(error percentage above a threshold)を有する場合は、フレームレートアップ変換(Frame Rate Up Conversion)(図2のFRUCコンポーネント44を参照)が利用されることができる。FRUCは、失われたフレームを再生成するために使用される。FRUCはまた、パワー節約のような理由でデコーディングからスキップされたフレームを再生成するために使用されることもできる。FRUC技術は、動きベクトルおよびピクセルの値を補間する(interpolate)ために、前のフレームおよび続いて起こるフレームから動きベクトルおよびピクセル情報を利用する。正確なFRUC技術は、この論考の範囲を超えている。FRUC技術は、デコーダのみ(decoder-only)およびエンコーダ支援(encoder-assisted)の形態を含んでいる。デコーダのみのFRUCは、どんな他の情報もなしに、フレームデータの疑似補間(pseudo- interpolation)実行する。エンコーダ支援のFRUCは、H.264の補足エンハンスメント情報(Supplemental Enhancement Information)(SEI)メッセージ、あるいは、MPEG−2のユーザ_データメッセージにおいて送信される、サイド情報(side information)を利用する。
【0049】
図6は、マルチメディア受信機、例えば、図1の中で示される受信機24、の一部であることができるコンポーネントのシステムの一例のブロック図を示す。システム600は、エラー回復において使用されるマルチレイア統合システムである。図7は、システム600によって使用されることができるエラー回復のプロセスのフローチャートを示す。図6および7を参照すると、プロセス700は、マルチメディアデータの1つ以上のストリームを受け取る705。データストリームは、ビデオ、オーディオ、及び/又は、字幕テキストなどを、を含むことができる。受信された1つ以上のストリームは、符号化されたデータであり得る。符号化されたデータは、変形されたデータ(transformed data)、量子化されたデータ、圧縮されたデータあるいはそれらの組合せ、であり得る。図1Aにおける受信機24のような、受け取る手段(receiving means)は、1つ以上のストリームを受け取る705ことができる。マルチメディアの複数のストリームを受け取ることに加えて、各受信されたストリームは、複数の層、例えば、ベース層およびエンハンスメント層、を備えることができる。受信機24は、無線またはワイヤードの受信機、あるいは組合せであることができる。
【0050】
ビットストリーム中に残っているエラーは、検出される710。検出されたエラーは、下層エラー訂正の後に残っているエラーを備えることができ、そして、検波プロトコルが、チャネル上で、例えば、図1の無線チャネル26またはワイヤードチャネル28上で、伝送によってもたらされたエラーのうちのいくつかを訂正している。上記に論考されたように、必ずしも全てのエラーが訂正可能だとは限らず、また、下層プロトコルのうちのどれでも、破損データ、及び/又は、エラーを含んでいるデータのグループを、マークすることができる。エラーを検出する710ために使用される下層プロトコルは、上記に論考されたように、通信層の中でインプリメントされる(implemented)ことができる。通信層は、物理層、MAC層(あるいはストリーム層)、あるいはトランスポート層、のうちの1つあるいは組合せ、あるいはそれらの組合せ、であることができる。図6におけるエラー検出器605のような検出器手段は、エラー検出を実行する710ことができる。エラー検出器605は、当業者に知られている様々な検波方式のうちのいずれか、例えば、上記に論考されたようなリードソロモン及び/又はターボ符号方式を使用することができる。エラー検出は、ターボデコーダ中のCRC障害のためであり得る。エラー検出は、リードソロモンデコーダの障害のためであり得る。
【0051】
検出されたエラーはいくつかの方法による制御される715ことができる。制御715は、上記に論考されたように、破損データのマーキング(あるいはフラッギング)を備えることができる。コントロール715は、検出されたエラーを含んでいる、データのグループ、例えば、パケット、ブロック、スライス、フレーム、マクロブロック、サブマクロブロック、を識別することによって、エラーをローカライズすること(localizing)を備えることができる。制御715、はトランスポート層プロトコルに基づくことができる。そのようなプロトコルは、上層による使用のためのトランスポート層ヘッダの中の1ビット以上を符号化することにより、残っているエラーをマークすることができる(図1Bおよび1Cを参照)。上層は、1つ以上の破損トランスポート層パケットから構成される上層パケットを、更に識別し、且つ/又は、ローカライズする(localize)ために、トランスポート層ヘッダエラーインジケータを使用することができ、そうすることによって、更に、上層ビットストリームにおけるエラーをローカライズする。図6におけるエラーコントローラ610のような制御手段は、エラー制御タスク(error control tasks)を行なうことができる。
【0052】
エラー分布(error distribution)が決定される720。一態様においては、エラー分布は、同期層プロトコルに基づいて決定される。受け取られた705、1つ以上のビットストリームは、同期層で構文解析される(parsed)ことができる。もし同期層が、より低い、例えば、通信層の1つから、破損データをマークしている情報を受け取る場合は、それは、どのビットストリームのどの部分が破損されているかを識別することができる。そのような情報を持つことは、同期層プロトコルが、上層(例、アプリケーション層)のエラー隠蔽及び/又はエラー回復戦略(error recovery strategies)を計画するのを可能にすることができる。異なる戦略が、破損データのサイズに応じて適用されることができる。誤りがあるとマークされ得る、トランスポート層パケットは、それらがどのビットストリームの部分であるかに応じて、様々なアプリケーション層コンポーネントに送られるべき同期層パケットに、結合されることができる。トランスポート層パケットは、固定長であることができ、また、同期層パケットは、可変長であることができる。同期層は、可変長パケットのどの部分が破損トランスポート層パケットを含むのかを識別するデータを挿入することにより、エラー分布を識別することができる。エラー制御715情報を使用することに加えて、同期層プロトコルは、更に、エラー検出方法を含むことができる。これらのエラー検出方法は、同期層パケットのCRCをチェックすることを含むことができる。決定されたエラー分布は、構文解析されたデータパケットにエラーマーキングを挿入することにより、アプリケーション層コンポーネントに更に伝えられる(communicated)ことができる。エラー分布デタミナ(error distribution determiner)615のような決定する手段(determining means)は、エラー分布を決定する720ことができる。
【0053】
エラー回復は、1つ以上の符号化されたマルチメディアデータストリームの部分上で実行される725ことができる。エラー回復は、アプリケーション層プロトコルに基づくことができる。アプリケーション層コンポーネントは、エラー回復を実行することができる。アプリケーション層コンポーネントは、上記に論考されたように、同期層から受け取られた情報に基づいて、どのタイプのエラー回復を使用するのかを決定することができる。エラー回復は、他の方法と同様に、上記に論考されたように、時間的エラー隠蔽、空間的エラー隠蔽およびフレームレートアップ変換(FRUC)のうちの1つまたは組合せを、備えることができる。1つ以上のマルチメディアデータストリームにおける検出されたエラーを隠蔽することは、アプリケーション層プロトコルに基づくことができる。エラー回復はまた、1つ以上のデータストリームのスケーラビリティをサポートすることができる。スケーラビリティは、上記に論考されたように、空間的または時間的スケーラビリティの1つまたは両方を含むことができる。図2Aのエラー回復コンポーネント40のようなエラー回復手段は、エラー回復725を実行することができる。エラーコンシーラ(error concealer)620のようなエラーコンシーラ手段(error concealer means)は、エラー隠蔽(error concealment)を実行することができる。図2Aおよび図6のスケーラビリティコンポーネント42および620のような、スケーラビリティ手段は、エラー回復725を行なう際にスケーラビリティをサポートすることができる。
【0054】
プロセス700は、1つ以上のビットストリームの再構成730を含むことができる。再構成730は、正確に受け取られたデータと隠蔽にされたデータを結合することを備えることができる。再構成は、フレームにおけるエラーの量が閾値を超える場合に、フレームレート(時間的スケーラビリティの形態(form))を減らすことを含むことができる。再構成は、エンハンスメント層(SNRスケーラビリティの形態)をデコードしないか、隠蔽するか、訂正するかを選択することを備えることができる。アプリケーション層プロトコルは、再構成730のためのベース(basis)であり得る。データストリームリコンストラクタ(data stream reconstructor)630のような再構成手段は、再構成725を実行することができる。1つ以上のエレメントが。システム600に、追加され、再配列され、あるいは組み合わされることができる。1つ以上のエレメントが、プロセス700に、追加され、再配列され、あるいは組み合わされることができる。
【0055】
上記に説明された方法および装置の例は、次のものを含む。
【0056】
ビットストリームを受け取ること(receiving)と、受け取られたビットストリームのエラー制御デコーディングを行なうこと(performing error control decoding)と、なおここでは、エラー制御デコーディングは、訂正されていない破損ビットを識別することを備えている、識別された破損ビットを含んでいるエラー制御デコードされたビットストリームをデコーダに渡すこと(passing)と、識別されたビットのうちの少なくとも1つを取り替えること(replacing)と、取り替えられたビットを含んでいる、エラー制御デコードされたビットストリームをデコードすること(decoding)と、を含む、マルチメディアデータをデコードする方法。一態様においては、方法は更に、エラー制御デコードされたビットストリームを1つ以上のシンボルに構文解析することと、破損ビットを含むどんなシンボルも破損されていると識別されるように、破損ビットを識別する情報を構文解析することと、を含む。別の態様においては、方法は更に、破損ビットを識別する構文解析された情報を含んでいるエラーテーブルを構成することを含み、ここでは、エラーテーブルは、識別されたビットをビデオフレームのシーケンスにおける位置へマッピングする(mapping)情報を含んでいる。さらに別の態様においては、方法は更に、エラー制御符号化されたビットストリームを、第1の構文解析されたビットストリームおよび第2の構文解析されたビットストリームに構文解析することを含み、ここでは、第1の構文解析されたビットストリームはベース層ビットストリームであり、第2の構文解析されたビットストリームはエンハンスメント層ビットストリームである。
【0057】
ビットストリームを受け取ることと、受けとられたビットストリームのエラー制御デコーディングを行なうことと、なおここでは、エラー制御デコーディングは、訂正されていない破損ビットを識別することを備えている、識別された破損ビットを含んでいるエラー制御デコードされたビットストリームをデコーダに渡すことと、識別されたビットの少なくとも1つを、第1のフレームと第2のフレームとの間でフレームレートアップ変換を行なうことによって、置き換えることと、エラー制御デコードされたビットストリームをデコードすることと、を含む、マルチメディアデータをデコードする方法。
【0058】
当業者は、情報および信号は様々な異なる技術および技法のうちの任意のものを使用して表わされることができることを、理解するだろう。例えば、上記説明全体を通して参照され得るデータ、インストラクション、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場または磁性粒子、光場または光学粒子、またはそれらの任意の組み合わせ、によって表されることが出来る。
【0059】
当業者は、ここに開示された例に関連して説明された、様々な説明のための、論理ブロック、モジュール、およびアルゴリズムステップは、電子的ハードウェア、ファームウェア、コンピュータソフトウェア、ミドルウェア、マイクロコード、あるいはそれらの組合せとしてインプリメントされることができることを、更に認識するであろう。ハードウェアおよびソフトウェアのこの互換性を明確に説明するために、様々な説明のための、コンポーネント、ブロック、モジュール、回路、およびステップが、一般に、それらの機能の観点から上記に説明されている。そのような機能が、ハードウェアとしてあるいはソフトウェアとしてインプリメントされるかどうかは、特定のアプリケーションと、全体のシステムに課される設計制約に依存する。熟練者は、各特定のアプリケーションに対し、様々な方法で、説明された機能をインプリメントするかもしれないが、そのようなインプリメンテーションの決定は、開示された方法の範囲からの逸脱を生じさせるものと解釈されるべきではない。
【0060】
ここに開示された例に関連して記述された様々な説明のための論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)あるいは他のプログラマブルロジックデバイス、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェアコンポーネント、あるいはここに説明された機能を実行するように設計されたそれらの任意の組み合わせ、を用いてインプリメントされるあるいは実行されることができる。汎用プロセッサは、マイクロプロセッサであってもよいが、別の方法では、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、あるいは状態機械であってもよい。プロセッサはまた、コンピューティングデバイスの組み合わせ、例えば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと組み合わせた1つ以上のマイクロプロセッサ、あるいはその他のそのようなコンフィギュレーション、としてインプリメントされることもできる。
【0061】
ここに開示された例に関連して記述された方法あるいはアルゴリズムのステップは、ハードウェアに直接に、プロセッサによって実行されるソフトウェアモジュールに、あるいは該2つの組合せで直接具現化されることができる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、あるいは当技術分野で知られているその他の形態の記憶媒体の中にあってもよい。一例の記憶媒体は、プロセッサが記憶媒体から情報を読み出し、かつ、記憶媒体へ情報を書き込むことができるように、プロセッサに結合される。あるいは、記憶媒体はプロセッサと一体化されてもよい。プロセッサと記憶媒体は、特定用途向け集積回路(ASIC)中に常駐してもよい。ASICは、無線モデム中に常駐してもよい。あるいは、プロセッサと記憶媒体は、無線モデム中のディスクリートコンポーネントとして常駐してもよい。
【0062】
開示された例の上記の説明は、いずれの当業者にも開示された方法および装置を作る又は使用することを可能にするように提供されている。これらの例への様々な修正は、当業者には容易に明らかであろう、そして、ここに定義された原理は他の例に適用されることができ、更なるエレメントが追加されてもよい。
【0063】
このように、インテリジェントエラー隠蔽および破損データのエラー訂正を行うために、デコーダアプリケーションにおいて、ビット破損フラッギング情報および破損データを利用して、リアルタイムストリーミングマルチメディアをデコードする、方法および装置が、説明された。
【図面の簡単な説明】
【0064】
【図1A】図1Aは、ストリーミングマルチメディアを配信するための通信システムの一例のブロック図である。
【図1B】図1Bは、ストリーミングマルチメディアを配信するための多層通信システムの一例のブロック図である。
【図1C】図1Cは、ストリーミングマルチメディアを配信するための多層通信システムの別の例のブロック図である。
【図2A】図2Aは、ストリーミングマルチメディアをデコードするためのデコーダデバイスアーキテクチャの一例のブロック図である。
【図2B】図2Bは、送信機を含むマルチレイア統合管理システムのプロトコルスタックダイアグラムであり、また、図2Aのデコーダデバイスアーキテクチャについての別のビューである。
【図3】図3は、連結されたリードソロモン消去およびターボコーディングについて構成されたマルチメディアシンボルの例を表す。
【図4】図4は、ストリーミングマルチメディアをデコードする方法の一例のフローダイアグラムである。
【図5】図5は、ビデオデータ用のターボ情報パケット構造を図示する。
【図6】図6は、図1の中で示されるようなマルチメディア受信機24の一部であることができるコンポーネントの一例のシステムのブロック図を示す。
【図7】図7は、エラー回復のプロセスのフローチャートを示す。

【特許請求の範囲】
【請求項1】
エラー回復において使用されるマルチレイア統合のための方法であって、
第1層プロトコルに基づいてマルチメディアデータにおけるエラーを検出することと、
第2層プロトコルに基づいて前記マルチメディアデータにおける前記検出されたエラーを隠蔽することと、
を備える方法。
【請求項2】
前記第1層は通信層を備える、請求項1記載の方法。
【請求項3】
前記通信層は、物理層、MAC層およびトランスポート層のうちの1つかまたは組合せを備える、請求項2記載の方法。
【請求項4】
トランスポート層プロトコルに基づいて前記検出されたエラーを制御すること、
を更に備える請求項1記載の方法。
【請求項5】
前記検出されたエラーを制御することは、前記検出されたエラーをローカライズすることを備える、請求項4記載の方法。
【請求項6】
同期層プロトコルに基づいて前記検出されたエラーのエラー分布を決定すること、
を更に備える請求項1記載の方法。
【請求項7】
前記第2層はアプリケーション層を備える、請求項1記載の方法。
【請求項8】
エラー回復において使用されるマルチレイア統合のための装置であって、
第1層プロトコルに基づいてマルチメディアデータにおけるエラーを検出するための手段と、
第2層プロトコルに基づいて前記マルチメディアデータにおける前記検出されたエラーを隠蔽するための手段と、
を備える装置。
【請求項9】
前記第1層は通信層を備える、請求項8記載の装置。
【請求項10】
前記通信層は、物理層、MAC層およびトランスポート層のうちの1つかまたは組合せを備える、請求項9記載の装置。
【請求項11】
トランスポート層プロトコルに基づいて前記検出されたエラーを制御するための手段、
を更に備える請求項8記載の装置。
【請求項12】
前記検出されたエラーを制御するための手段は、
前記検出されたエラーをローカライズするための手段を備える、
請求項11記載の装置。
【請求項13】
同期層プロトコルに基づいて前記検出されたエラーのエラー分布を決定するための手段、
を更に備える請求項8記載の装置。
【請求項14】
前記第2層はアプリケーション層を備える、請求項8記載の装置。
【請求項15】
エラー回復において使用されるマルチレイア統合のための装置であって、
第1層プロトコルに基づいてマルチメディアデータにおけるエラーを検出する検出器と、
第2層プロトコルに基づいて前記マルチメディアデータにおける前記検出されたエラーを隠蔽するコンシーラと、
を備える装置。
【請求項16】
前記第1層は通信層を備える、請求項15記載の装置。
【請求項17】
前記通信層は物理層、MAC層およびトランスポート層のうちの1つかまたは組合せを備える、請求項16記載の装置。
【請求項18】
トランスポート層プロトコルに基づいて前記検出されたエラーを制御するコントローラ、
を更に備える請求項15記載の装置。
【請求項19】
前記コントローラは前記検出されたエラーをローカライズする、請求項18記載の装置。
【請求項20】
同期層プロトコルに基づいて前記検出されたエラーのエラー分布を決定するデタミナ、
を備える請求項15記載の装置。
【請求項21】
前記第2層はアプリケーション層を備える、請求項15記載の装置。
【請求項22】
エラー回復において使用されるマルチレイア統合のためのプロセッサであって、
第1層プロトコルに基づいてマルチメディアデータにおけるエラーを検出し、
第2層プロトコルに基づいて前記マルチメディアデータにおける前記検出されたエラーを隠蔽する、
ように構成された、プロセッサ。
【請求項23】
前記第1層は通信層を備える、請求項22記載のプロセッサ。
【請求項24】
前記通信層は物理層、MAC層およびトランスポート層のうちの1つかまたは組合せを備える、請求項23記載のプロセッサ。
【請求項25】
トランスポート層プロトコルに基づいて前記検出されたエラーを制御する、
ように更に構成された、請求項22記載のプロセッサ。
【請求項26】
前記コントローラは前記検出されたエラーをローカライズする、請求項25記載のプロセッサ。
【請求項27】
同期層プロトコルに基づいて前記検出されたエラーのエラー分布を決定する、
ように更に構成された、請求項22記載のプロセッサ。
【請求項28】
前記第2層はアプリケーション層を備える、請求項22記載のプロセッサ。
【請求項29】
エラー回復において使用されるマルチレイア統合のための方法を具現化するコンピュータ可読媒体であって、前記方法は、
第1層プロトコルに基づいてマルチメディアデータにおけるエラーを検出することと、
第2層プロトコルに基づいて前記マルチメディアデータにおける前記検出されたエラーを隠蔽することと、
備える。
コンピュータ可読媒体
【請求項30】
前記第1層は通信層を備える、請求項29記載のコンピュータ可読媒体。
【請求項31】
前記通信層は物理層、MAC層およびトランスポート層のうちの1つかまたは組合せを備える、請求項30記載のコンピュータ可読媒体。
【請求項32】
前記方法は、
トランスポート層プロトコルに基づいて前記検出されたエラーを制御すること、
を更に備える、
請求項29記載のコンピュータ可読媒体。
【請求項33】
前記検出されたエラーを制御することは、
前記検出されたエラーをローカライズすること、
を更に備える、
請求項32記載のコンピュータ可読媒体。
【請求項34】
前記方法は、
同期層プロトコルに基づいて前記検出されたエラーのエラー分布を決定すること、
を更に備える、
請求項29記載のコンピュータ可読媒体。
【請求項35】
前記第2層はアプリケーション層を備える、請求項29記載のコンピュータ可読媒体。
【請求項36】
エラー回復において使用されるマルチレイア統合のための方法であって、
通信層プロトコルに基づいてマルチメディアデータにおけるエラーを検出することと、
トランスポート層プロトコルに基づいて前記検出されたエラーを制御することと、
同期層プロトコルに基づいて前記制御されたエラーのエラー分布を決定することと、
アプリケーション層プロトコルに基づいて前記マルチメディアデータにおける前記検出されたエラーを隠蔽することと、
を備える方法。
【請求項37】
エラー回復において使用されるマルチレイア統合のための装置であって、
通信層プロトコルに基づいてマルチメディアデータにおけるエラーを検出するための手段と、
トランスポート層プロトコルに基づいて前記検出されたエラーを制御するための手段と、
同期層プロトコルに基づいて前記制御されたエラーのエラー分布を決定するための手段と、
アプリケーション層プロトコルに基づいてマルチメディアデータにおける前記検出されたエラーを隠蔽するための手段と、
を備える装置。
【請求項38】
エラー回復において使用されるマルチレイア統合のための装置であって、
通信層プロトコルに基づいてマルチメディアデータにおけるエラーを検出する検出器と、
トランスポート層プロトコルに基づいて前記検出されたエラーを制御するコントローラと、
同期層プロトコルに基づいて前記制御されたエラーのエラー分布を決定するデタミナと、
アプリケーション層プロトコルに基づいて前記マルチメディアデータにおける前記検出されたエラーを隠蔽するコンシーラと、
を備える装置。
【請求項39】
エラー回復において使用されるマルチレイア統合のためのプロセッサであって、
通信層プロトコルに基づいてマルチメディアデータにおけるエラーを検出し、
トランスポート層プロトコルに基づいて前記検出されたエラーを制御し、
同期層プロトコルに基づいて前記制御されたエラーのエラー分布を決定し、
アプリケーション層プロトコルに基づいて前記マルチメディアデータにおける前記検出されたエラーを隠蔽にする、
ように構成された、プロセッサ。
【請求項40】
エラー回復において使用されるマルチレイア統合のための方法を具現化するコンピュータ可読媒体であって、前記方法は、
通信層プロトコルに基づいてマルチメディアデータにおけるエラーを検出することと、
トランスポート層プロトコルに基づいて前記検出されたエラーを制御することと、
同期層プロトコルに基づいて前記制御されたエラーのエラー分布を決定することと、
アプリケーション層プロトコルに基づいて前記マルチメディアデータにおける前記検出されたエラーを隠蔽することと、
を備える、
コンピュータ可読媒体。
【請求項41】
マルチメディアデータ処理において使用される方法であって、
符号化されたマルチメディアデータのエラー回復を行なうことと、
前記符号化されたマルチメディアデータのスケーラビリティをサポートすることと、
を備える方法。
【請求項42】
前記スケーラビリティは、空間的および時間的スケーラビリティの一方または両方を備える、請求項41記載の方法。
【請求項43】
前記エラー回復は、時間的エラー隠蔽、空間的エラー隠蔽およびフレームレートアップ変換のうちの1つかまたは組み合わせかを備える、請求項41記載の方法。
【請求項44】
マルチメディアデータ処理において使用される装置であって、
符号化されたマルチメディアデータのエラー回復を行なうための手段と、
前記符号化されたマルチメディアデータのスケーラビリティをサポートするための手段と、
を備える装置。
【請求項45】
前記スケーラビリティは、空間的および時間的スケーラビリティの一方または両方を備える、請求項44記載の装置。
【請求項46】
前記エラー回復は、時間的エラー隠蔽、空間的エラー隠蔽およびフレームレートアップ変換のうちの1つかまたは組み合わせかを備える、請求項44記載の装置。
【請求項47】
マルチメディアデータ処理において使用される装置であって、
符号化されたマルチメディアデータのエラー回復を行なうエラー回復コンポーネントと、
前記符号化されたマルチメディアデータのスケーラビリティをサポートするスケーラビリティコンポーネントと、
を備える装置。
【請求項48】
前記スケーラビリティは、空間的および時間的スケーラビリティの一方または両方を備える、請求項47記載の装置。
【請求項49】
前記エラー回復は、時間的エラー隠蔽、空間的エラー隠蔽およびフレームレートアップ変換のうちの1つかまたは組み合わせかを備える、請求項47記載の装置。
【請求項50】
マルチメディアデータ処理において使用されるプロセッサであって、
符号化されたマルチメディアデータのエラー回復を行ない、
前記符号化されたマルチメディアデータのスケーラビリティをサポートする、
ように構成されたプロセッサ。
【請求項51】
前記スケーラビリティは、空間的および時間的スケーラビリティの一方または両方を備える、請求項50記載のプロセッサ。
【請求項52】
前記エラー回復は、時間的エラー隠蔽、空間的エラー隠蔽およびフレームレートアップ変換のうちの1つかまたは組み合わせかを備える、請求項50記載のプロセッサ。
【請求項53】
マルチメディアデータ処理において使用される方法を具現化するコンピュータ可読媒体であって、前記方法は、
符号化されたマルチメディアデータのエラー回復を行なうことと、
前記符号化されたマルチメディアデータのスケーラビリティをサポートすることと、
を備える、
コンピュータ可読媒体。
【請求項54】
前記スケーラビリティは、空間的および時間的スケーラビリティの一方または両方を備える、請求項53記載のコンピュータ可読媒体。
【請求項55】
前記エラー回復は、時間的エラー隠蔽、空間的エラー隠蔽およびフレームレートアップ変換のうちの1つかまたは組み合わせかを備える、請求項53記載のコンピュータ可読媒体。
【請求項56】
マルチメディアストリーム処理において使用される方法であって、
符号化されたマルチメディアデータの複数のストリームを受け取ることと、
ストリームの誤り部分上でエラー回復を行なうことと、
前記複数のストリームからのマルチメディアデータを再構成することと、
を備える方法。
【請求項57】
前記エラー回復は、時間的エラー隠蔽、空間的エラー隠蔽およびフレームレートアップ変換のうちの1つかまたは組み合わせかを備える、請求項56記載の方法。
【請求項58】
マルチメディアストリーム処理において使用される装置であって、
符号化されたマルチメディアデータの複数のストリームを受け取るための手段と、
ストリームの誤り部分上でエラー回復を行なうための手段と、
前記複数のストリームからの前記マルチメディアデータを再構成するための手段と、
を備える装置。
【請求項59】
前記エラー回復は、時間的エラー隠蔽、空間的エラー隠蔽およびフレームレートアップ変換のうちの1つかまたは組み合わせかを備える、請求項58記載の装置。
【請求項60】
マルチメディアストリーム処理において使用される装置であって、
符号化されたマルチメディアデータの複数のストリームを受け取る受信機と、
ストリームの誤り部分上でエラー回復を行なうエラー回復コンポーネントと、
前記複数のストリームからの前記マルチメディアデータを再構成するリコンストラクタと、
を備える装置。
【請求項61】
前記エラー回復は、時間的エラー隠蔽、空間的エラー隠蔽およびフレームレートアップ変換のうちの1つかまたは組み合わせかを備える、請求項60記載の装置。
【請求項62】
マルチメディアストリーム処理において使用されるプロセッサであって、
符号化されたマルチメディアデータの複数のストリームを受け取り、
ストリームの誤り部分上でエラー回復を行ない、
前記複数のストリームからの前記マルチメディアデータを再構成する、
ように構成された、プロセッサ。
【請求項63】
前記エラー回復は、時間的エラー隠蔽、空間的エラー隠蔽およびフレームレートアップ変換のうちの1つかまたは組み合わせかを備える、請求項62記載のプロセッサ。
【請求項64】
マルチメディアストリーム処理において使用される方法を具現化するコンピュータ可読媒体であって、前記方法は、
符号化されたマルチメディアデータの複数のストリームを受け取ることと、
ストリームの誤り部分上でエラー回復を行なうことと、
前記複数のストリームからの前記マルチメディアデータを再構成することと、
を備える、
コンピュータ可読媒体。
【請求項65】
前記エラー回復は、時間的エラー隠蔽、空間的エラー隠蔽およびフレームレートアップ変換のうちの1つかまたは組み合わせかを備える、請求項64記載のコンピュータ可読媒体。

【図1A】
image rotate

【図1B】
image rotate

【図1C】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公表番号】特表2008−537654(P2008−537654A)
【公表日】平成20年9月18日(2008.9.18)
【国際特許分類】
【出願番号】特願2008−500999(P2008−500999)
【出願日】平成18年3月10日(2006.3.10)
【国際出願番号】PCT/US2006/008763
【国際公開番号】WO2006/099223
【国際公開日】平成18年9月21日(2006.9.21)
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】