(57)【特許請求の範囲】
【請求項１】
ワイヤレスデバイスが実行する、ワイヤレスディスプレイデバイスにコンテンツを送信する方法であって、
マルチメディアデータを受信することと、
前記マルチメディアデータを符号化することと、
符号化済みマルチメディアデータを共有メモリの複数の第１の所定のメモリ位置に直接同時に書き込むことと、
前記符号化済みマルチメディアデータをカプセル化することと、
カプセル化データを前記共有メモリの複数の第２の所定のメモリ位置に書き込むことと、
エラー制御符号化を算出することと、
前記エラー制御符号化を前記共有メモリの複数の第３の所定のメモリ位置に書き込むことと、
前記符号化済みマルチメディアデータ、前記カプセル化データ、および前記エラー制御符号化を前記ワイヤレスディスプレイデバイスに送信することとを備え、
前記複数の第1の所定のメモリ位置に直接同時に書き込むことの前に、前記複数の第１の所定のメモリ位置、前記複数の第２の所定のメモリ位置、及び前記複数の第３の所定のメモリ位置をチャネル帯域幅及びパケットエラーレートに基づいて割り当てる方法。
【請求項２】
チャネル帯域幅、パケットエラーレート、および所望のレイテンシーの少なくとも１つを決定することをさらに備える、請求項１に記載の方法。
【請求項３】
ビデオパケットサイズ、トランスポートヘッダ特性および対応する長さ、ならびにアウターコーディングレートおよび対応する媒体アクセス制御（ＭＡＣ）ヘッダ長のうちの少なくとも１つを算出することをさらに備える、請求項２に記載の方法。
【請求項４】
前記ビデオパケットサイズ、前記トランスポートヘッダ特性および前記対応する長さ、ならびに前記アウターコーディングレートおよび前記対応するＭＡＣヘッダ長は、前記チャネル帯域幅、前記パケットエラーレート、および前記所望のレイテンシーのうちの少なくとも１つに基づいて決定される、請求項３に記載の方法。
【請求項５】
ＭＡＣヘッダ用の第１のメモリアドレス長を割り当てることと、
トランスポートヘッダ用の第２のメモリアドレス長を割り当てることと、
ビデオパケット用の第３のメモリアドレス長を割り当てることとをさらに備える、請求項４に記載の方法。
【請求項６】
コーディング済みビデオデータを前記共有メモリの前記所定のメモリ位置に書き込むことをさらに備える、請求項５に記載の方法。
【請求項７】
ビデオエンコーダからメタデータを取得することをさらに備える、請求項６に記載の方法。
【請求項８】
１つまたは複数のコーディング済みビデオデータセグメント用のヘッダを準備することをさらに備える、請求項７に記載の方法。
【請求項９】
前記１つまたは複数のコーディング済みビデオデータセグメント用のパリティデータを作成することをさらに備える、請求項８に記載の方法。
【請求項１０】
前記１つまたは複数のコーディング済みビデオデータセグメントの最後部に前記パリティデータを挿入することをさらに備える、請求項９に記載の方法。
【請求項１１】
ワイヤレスデバイスであって、
マルチメディアデータを受信するための手段と、
前記マルチメディアデータを符号化するための手段と、
符号化済みマルチメディアデータを共有メモリの複数の第１の所定のメモリ位置に直接同時に書き込むための手段と、
前記符号化済みマルチメディアデータをカプセル化するための手段と、
カプセル化データを前記共有メモリの複数の第２の所定のメモリ位置に書き込むための手段と、
エラー制御符号化を算出するための手段と、
前記エラー制御符号化を前記共有メモリの複数の第３の所定のメモリ位置に書き込むための手段と、
前記符号化済みマルチメディアデータ、前記カプセル化データ、および前記エラー制御符号化をワイヤレスディスプレイデバイスに送信するための手段とを備え、
前記複数の第1の所定のメモリ位置に直接同時に書き込むことの前に、前記複数の第１の所定のメモリ位置、前記複数の第２の所定のメモリ位置、及び前記複数の第３の所定のメモリ位置を所定のチャネル帯域幅及びパケットエラーレートに基づいて割り当てるワイヤレスデバイス。
【請求項１２】
チャネル帯域幅、パケットエラーレート、および所望のレイテンシーの少なくとも１つを決定するための手段をさらに備える、請求項１１に記載のワイヤレスデバイス。
【請求項１３】
ビデオパケットサイズ、トランスポートヘッダ特性および対応する長さ、ならびにアウターコーディングレートおよび対応する媒体アクセス制御（ＭＡＣ）ヘッダ長のうちの少なくとも１つを算出するための手段をさらに備える、請求項１２に記載のワイヤレスデバイス。
【請求項１４】
前記ビデオパケットサイズ、前記トランスポートヘッダ特性および前記対応する長さ、ならびに前記アウターコーディングレートおよび前記対応するＭＡＣヘッダ長は、前記チャネル帯域幅、前記パケットエラーレート、および前記所望のレイテンシーのうちの少なくとも１つに基づいて決定される、請求項１３に記載のワイヤレスデバイス。
【請求項１５】
ＭＡＣヘッダ用の第１のメモリアドレス長を割り当てるための手段と、
トランスポートヘッダ用の第２のメモリアドレス長を割り当てるための手段と、
ビデオパケット用の第３のメモリアドレス長を割り当てるための手段とをさらに備える、請求項１４に記載のワイヤレスデバイス。
【請求項１６】
コーディング済みビデオデータを前記共有メモリの前記所定のメモリ位置に書き込む手段をさらに備える、請求項１５に記載のワイヤレスデバイス。
【請求項１７】
ビデオエンコーダからメタデータを取得するための手段をさらに備える、請求項１６に記載のワイヤレスデバイス。
【請求項１８】
１つまたは複数のコーディング済みビデオデータセグメント用のヘッダを準備するための手段をさらに備える、請求項１７に記載のワイヤレスデバイス。
【請求項１９】
前記１つまたは複数のコーディング済みビデオデータセグメント用のパリティデータを作成するための手段をさらに備える、請求項１８に記載のワイヤレスデバイス。
【請求項２０】
前記１つまたは複数のコーディング済みビデオデータセグメントの最後部に前記パリティデータを挿入するための手段をさらに備える、請求項１９に記載のワイヤレスデバイス。
【請求項２１】
ワイヤレスデバイスであって、
プロセッサを備え、前記プロセッサが、
マルチメディアデータを受信し、
前記マルチメディアデータを符号化し、
符号化済みマルチメディアデータを共有メモリの複数の第１の所定のメモリ位置に直接同時に書き込み、
前記符号化済みマルチメディアデータをカプセル化し、
カプセル化データを前記共有メモリの複数の第２の所定のメモリ位置に書き込み、
エラー制御符号化を算出し、
前記エラー制御符号化を前記共有メモリの複数の第３の所定のメモリ位置に書き込み、
前記符号化済みマルチメディアデータ、前記カプセル化データ、および前記エラー制御符号化をワイヤレスディスプレイデバイスに送信するように動作可能であり、
前記複数の第1の所定のメモリ位置に直接同時に書き込むことの前に、前記複数の第１の所定のメモリ位置、前記複数の第２の所定のメモリ位置、及び前記複数の第３の所定のメモリ位置を所定のチャネル帯域幅及びパケットエラーレートに基づいて割り当てるワイヤレスデバイス。
【請求項２２】
前記プロセッサはさらに、チャネル帯域幅、パケットエラーレート、および所望のレイテンシーの少なくとも１つを決定するように動作可能である、請求項２１に記載のワイヤレスデバイス。
【請求項２３】
前記プロセッサはさらに、ビデオパケットサイズ、トランスポートヘッダ特性および対応する長さ、ならびにアウターコーディングレートおよび対応する媒体アクセス制御（ＭＡＣ）ヘッダ長のうちの少なくとも１つを算出するように動作可能である、請求項２２に記載のワイヤレスデバイス。
【請求項２４】
前記ビデオパケットサイズ、前記トランスポートヘッダ特性および前記対応する長さ、ならびに前記アウターコーディングレートおよび前記対応するＭＡＣヘッダ長は、前記チャネル帯域幅、前記パケットエラーレート、および前記所望のレイテンシーのうちの少なくとも１つに基づいて決定される、請求項２３に記載のワイヤレスデバイス。
【請求項２５】
前記プロセッサはさらに、
ＭＡＣヘッダ用の第１のメモリアドレス長を割り当て、
トランスポートヘッダ用の第２のメモリアドレス長を割り当て、
ビデオパケット用の第３のメモリアドレス長を割り当てるように動作可能である、請求項２４に記載のワイヤレスデバイス。
【請求項２６】
前記プロセッサはさらに、コーディング済みビデオデータを前記共有メモリの前記所定のメモリ位置に書き込むように動作可能である、請求項２５に記載のワイヤレスデバイス。
【請求項２７】
前記プロセッサはさらに、ビデオエンコーダからメタデータを取得するように動作可能である、請求項２６に記載のワイヤレスデバイス。
【請求項２８】
前記プロセッサはさらに、１つまたは複数のコーディング済みビデオデータセグメント用のヘッダを準備するように動作可能である、請求項２７に記載のワイヤレスデバイス。
【請求項２９】
前記プロセッサはさらに、前記１つまたは複数のコーディング済みビデオデータセグメント用のパリティデータを作成するように動作可能である、請求項２８に記載のワイヤレスデバイス。
【請求項３０】
前記プロセッサはさらに、前記１つまたは複数のコーディング済みビデオデータセグメントの最後部に前記パリティデータを挿入するように動作可能である、請求項２９に記載のワイヤレスデバイス。
【請求項３１】
マルチメディアデータを受信する手順と、
前記マルチメディアデータを符号化する手順と、
符号化済みマルチメディアデータを共有メモリの複数の第１の所定のメモリ位置に直接同時に書き込む手順と、
前記符号化済みマルチメディアデータをカプセル化する手順と、
カプセル化データを前記共有メモリの複数の第２の所定のメモリ位置に書き込む手順と、
エラー制御符号化を算出する手順と、
前記エラー制御符号化を前記共有メモリの複数の第３の所定のメモリ位置に書き込む手順と、
前記符号化済みマルチメディアデータ、前記カプセル化データ、および前記エラー制御符号化をワイヤレスディスプレイデバイスに送信する手順とをコンピュータに実行させるためのプログラムであって、
前記複数の第1の所定のメモリ位置に直接同時に書き込む手順の前に、前記複数の第１の所定のメモリ位置、前記複数の第２の所定のメモリ位置、及び前記複数の第３の所定のメモリ位置を所定のチャネル帯域幅及びパケットエラーレートに基づいて割り当てるプログラム。
【請求項３２】
チャネル帯域幅、パケットエラーレート、および所望のレイテンシーの少なくとも１つを決定する手順をさらに備える、請求項３１に記載のプログラム。
【請求項３３】
ビデオパケットサイズ、トランスポートヘッダ特性および対応する長さ、ならびにアウターコーディングレートおよび対応する媒体アクセス制御（ＭＡＣ）ヘッダ長のうちの少なくとも１つを算出する手順をさらに備える、請求項３２に記載のプログラム。
【請求項３４】
前記ビデオパケットサイズ、前記トランスポートヘッダ特性および前記対応する長さ、ならびに前記アウターコーディングレートおよび前記対応するＭＡＣヘッダ長は、前記チャネル帯域幅、前記パケットエラーレート、および前記所望のレイテンシーのうちの少なくとも１つに基づいて決定される、請求項３３に記載のプログラム。
【請求項３５】
ＭＡＣヘッダ用の第１のメモリアドレス長を割り当てる手順と、
トランスポートヘッダ用の第２のメモリアドレス長を割り当てる手順と、
ビデオパケット用の第３のメモリアドレス長を割り当てる手順とをさらに備える、請求項３４に記載のプログラム。
【請求項３６】
コーディング済みビデオデータを前記共有メモリの前記所定のメモリ位置に書き込む手順をさらに備える、請求項３５に記載のプログラム。
【請求項３７】
ビデオエンコーダからメタデータを取得する手順をさらに備える、請求項３６に記載のプログラム。
【請求項３８】
１つまたは複数のコーディング済みビデオデータセグメント用のヘッダを準備する手順をさらに備える、請求項３７に記載のプログラム。
【請求項３９】
前記１つまたは複数のコーディング済みビデオデータセグメント用のパリティデータを作成する手順をさらに備える、請求項３８に記載のプログラム。
【請求項４０】
前記１つまたは複数のコーディング済みビデオデータセグメントの最後部に前記パリティデータを挿入する手順をさらに備える、請求項３９に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してモバイルデバイスの動作に関し、特に、モバイルデバイスからワイヤレスディスプレイにオーディオ／ビデオコンテンツを送信するシステムおよび方法に関する。
【背景技術】
【０００２】
ワイヤレスディスプレイシステムでは、モバイルデバイスの組み込み（一次）ディスプレイ上に表示される複合画像を外部ディスプレイに無線でリアルタイムにストリーミングすることができる。デバイス上のスピーカで生成されたオーディオを外部ディスプレイデバイスに関連するスピーカにリアルタイムにストリーミングすることもできる。使用シナリオには、タッチスクリーンディスプレイを含む複数のディスプレイ上でビデオとグラフィックスを同時に表示することが含まれる。送信時には、遅延によってデータフローが遮断され、ユーザエクスペリエンスが不十分なものになる可能性がある。
【０００３】
したがって、モバイルデバイスからワイヤレスディスプレイにオーディオ／ビデオコンテンツを送信する改良されたシステムおよび方法が必要である。
【発明の概要】
【０００４】
ワイヤレスディスプレイデバイスにコンテンツを送信する方法を開示する。この方法は、マルチメディアデータを受信することと、マルチメディアデータを符号化することと、符号化済みマルチメディアデータを共有メモリの第１の所定のメモリ位置に書き込むこととを含んでよい。また、この方法は、符号化済みマルチメディアデータをカプセル化することと、カプセル化データを共有メモリの第２の所定のメモリ位置に書き込むこととを含んでよい。この方法は、エラー制御符号化を算出することと、エラー制御符号化を共有メモリの第３の所定のメモリ位置に書き込むこととを含んでもよい。また、この方法は、符号化済みマルチメディアデータ、カプセル化データ、およびエラー制御符号化をワイヤレスディスプレイデバイスに送信することを含んでよい。
【０００５】
また、この方法は、チャネル帯域幅、パケットエラーレート、および所望のレイテンシーの少なくとも１つを決定することをさらに含んでよい。また、この方法は、ビデオパケットサイズ、トランスポートヘッダ特性および対応する長さ、ならびにアウターコーディングレートおよび対応する媒体アクセス制御（ＭＡＣ）ヘッダ長のうちの少なくとも１つを算出することを含んでよい。特定の態様では、ビデオパケットサイズ、トランスポートヘッダ特性および対応する長さ、ならびにアウターコーディングレートおよび対応するＭＡＣヘッダ長をチャネル帯域幅、パケットエラーレート、および所望の遅延に基づいて少なくとも部分的に決定してよい。
【０００６】
この方法は、ＭＡＣヘッダ用の第１のメモリアドレス長を割り当てることと、トランスポートヘッダ用の第２のメモリアドレス長を割り当てることと、ビデオパケット用の第３のメモリアドレス長を割り当てることと、コーディング済みビデオデータを共有メモリの所定のメモリ位置に書き込むこととを含んでもよい。この方法は、ビデオエンコーダからメタデータを取得することと、１つまたは複数のコーディング済みビデオデータセグメント用のヘッダを準備することと、１つまたは複数のコーディング済みビデオデータセグメント用のパリティデータを作成することと、１つまたは複数のコーディング済みビデオデータセグメントの最後部にパリティデータを挿入することとをさらに含んでよい。
【０００７】
他の態様では、ワイヤレスデバイスを開示する。このワイヤレスデバイスは、マルチメディアデータを受信するための手段と、マルチメディアデータを符号化するための手段と、符号化済みマルチメディアデータを共有メモリの第１の所定のメモリ位置に書き込むための手段とを含んでよい。また、ワイヤレスデバイスは、符号化済みマルチメディアデータをカプセル化するための手段と、カプセル化データを共有メモリの第２の所定のメモリ位置に書き込むための手段とを含んでよい。また、ワイヤレスデバイスは、エラー制御符号化を算出するための手段と、エラー制御符号化を共有メモリの第３の所定のメモリ位置に書き込むための手段とを含んでよい。また、この態様では、ワイヤレスデバイスは、符号化済みマルチメディアデータ、カプセル化データ、およびエラー制御符号化をワイヤレスディスプレイデバイスに送信するための手段を含んでよい。
【０００８】
さらに他の態様では、ワイヤレスデバイスを開示する。このワイヤレスデバイスは、プロセッサを含んでよい。このプロセッサは、マルチメディアデータを受信し、マルチメディアデータを符号化し、符号化済みマルチメディアデータを共有メモリの第１の所定のメモリ位置に書き込むように動作可能であってよい。さらに、プロセッサは、符号化済みマルチメディアデータをカプセル化し、カプセル化データを共有メモリの第２の所定のメモリ位置に書き込むように動作可能であってよい。プロセッサは、エラー制御符号化を算出し、エラー制御符号化を共有メモリの第３の所定のメモリ位置に書き込むように動作可能であってもよい。また、プロセッサは、符号化済みマルチメディアデータ、カプセル化データ、およびエラー制御符号化をワイヤレスディスプレイデバイスに送信するように動作可能であってよい。
【０００９】
さらに他の態様では、コンピュータプログラムプロダクトを開示する。このコンピュータプログラムプロダクトはコンピュータ読み取り可能媒体を含んでよい。コンピュータ読み取り可能媒体は、マルチメディアデータを受信するための少なくとも１つの命令と、マルチメディアデータを符号化するための少なくとも１つの命令と、符号化済みマルチメディアデータを共有メモリの第１の所定のメモリ位置に書き込むための少なくとも１つの命令とを含んでよい。また、コンピュータ読み取り可能媒体は、符号化済みマルチメディアデータをカプセル化するための少なくとも１つの命令と、カプセル化データを共有メモリの第２の所定のメモリ位置に書き込むための少なくとも１つの命令とを含んでよい。コンピュータ読み取り可能媒体は、エラー制御符号化を算出するための少なくとも１つの命令と、エラー制御符号化を共有メモリの第３の所定のメモリ位置に書き込むための少なくとも１つの命令とを含んでもよい。さらに、コンピュータ読み取り可能媒体は、符号化済みマルチメディアデータ、カプセル化データ、およびエラー制御符号化をワイヤレスディスプレイデバイスに送信するための少なくとも１つの命令を含んでよい。
【００１０】
さらに他の態様では、モバイルデバイスからディスプレイデバイスに無線でデータを送信する方法を提供する。この方法は、（１）第１のパケットに含めるべき第１のデータをモバイルデバイスで受信するステップと、（２）第２のパケットに含めるべき第２のデータをモバイルデバイスで受信するステップと、（３）第１のデータの符号化バージョン、第２のデータの符号化バージョン、第１のデータの符号化バージョンに関連する第１のトランスポートヘッダデータ、第２のデータの符号化バージョンに関連する第２のトランスポートヘッダデータ、第１のデータに関連する第１の媒体アクセス制御（ＭＡＣ）ヘッダデータ、および第２のデータに関連する第２のＭＡＣヘッダデータを記憶するためのメモリバッファの位置を割り当て、第１の符号化済みデータ、第１のトランスポートヘッダデータ、および第１のＭＡＣヘッダデータが連続するメモリ位置に記憶され、第２の符号化済みデータ、第２のトランスポートヘッダデータ、および第２のＭＡＣヘッダデータが連続するメモリ位置に記憶されるようにこれらの位置を割り当てるステップと、（４）第１の符号化済みデータ、第１のトランスポートヘッダデータ、および第１のＭＡＣヘッダデータを連続するメモリバッファ位置に記憶し、第２の符号化済みデータ、第２のトランスポートヘッダデータ、および第２のＭＡＣヘッダデータを連続するメモリ位置に記憶するステップとを含む。
【００１１】
さらに他の態様では、モバイルデバイスとディスプレイデバイスとの間で無線でデータを送信する方法を提供する。この方法は、（１）モバイルデバイスでデータを受信するステップと、（２）受信されたデータを伝送制御プロトコル（ＴＣＰ）セグメントに含めるステップと、（３）モバイルデバイスが受信されたデータにアプリケーション層処理を施す前にＴＣＰセグメントをディスプレイデバイスに転送するステップとを含む。
【００１２】
さらに他の態様では、モバイルデバイスからディスプレイデバイスに無線でデータを送信するシステムを提供する。このシステムは、（１）第１のパケットに含めるべき第１のデータをモバイルデバイスで受信するための手段と、（２）第２のパケットに含めるべき第２のデータをモバイルデバイスで受信するための手段と、（３）第１のデータの符号化バージョン、第２のデータの符号化バージョン、第１のデータの符号化バージョンに関連する第１のトランスポートヘッダデータ、第２のデータの符号化バージョンに関連する第２のトランスポートヘッダデータ、第１のデータに関連する第１の媒体アクセス制御（ＭＡＣ）ヘッダデータ、および第２のデータに関連する第２のＭＡＣヘッダデータを記憶するためのメモリバッファの位置を割り当て、第１の符号化済みデータ、第１のトランスポートヘッダデータ、および第１のＭＡＣヘッダデータが連続するメモリ位置に記憶され、第２の符号化済みデータ、第２のトランスポートヘッダデータ、および第２のＭＡＣヘッダデータが連続するメモリ位置に記憶されるようにこれらの位置を割り当てる手段と、（４）第１の符号化済みデータ、第１のトランスポートヘッダデータ、および第１のＭＡＣヘッダデータを連続するメモリバッファ位置に記憶し、第２の符号化済みデータ、第２のトランスポートヘッダデータ、および第２のＭＡＣヘッダデータを連続するメモリ位置に記憶するための手段とを含む。
【００１３】
さらに他の態様では、モバイルデバイスとディスプレイデバイスとの間で無線でデータを送信するシステムを提供する。このシステムは、（１）モバイルデバイスでデータを受信するための手段と、（２）受信されたデータを伝送制御プロトコル（ＴＣＰ）セグメントに含める手段と、（３）モバイルデバイスが受信されたデータにアプリケーション層処理を施す前にＴＣＰセグメントをディスプレイデバイスに転送するための手段とを含む。
【００１４】
さらに他の態様では、コンピュータ読み取り可能媒体を備えるコンピュータプログラムプロダクトを提供する。コンピュータ読み取り可能媒体は、モバイルデバイスからディスプレイデバイスに無線でデータを送信するためのコードであって、（１）第１のパケットに含めるべき第１のデータをモバイルデバイスで受信させるためのコードと、（２）第２のパケットに含めるべき第２のデータをモバイルデバイスで受信させるためのコードと、（３）第１のデータの符号化バージョン、第２のデータの符号化バージョン、第１のデータの符号化バージョンに関連する第１のトランスポートヘッダデータ、第２のデータの符号化バージョンに関連する第２のトランスポートヘッダデータ、第１のデータに関連する第１の媒体アクセス制御（ＭＡＣ）ヘッダデータ、および第２のデータに関連する第２のＭＡＣヘッダデータを記憶するためのメモリバッファの位置を割り当てさせ、第１の符号化済みデータ、第１のトランスポートヘッダデータ、および第１のＭＡＣヘッダデータが連続するメモリ位置に記憶され、第２の符号化済みデータ、第２のトランスポートヘッダデータ、および第２のＭＡＣヘッダデータが連続するメモリ位置に記憶されるようにこれらの位置を割り当てさせるためのコードと、（４）第１の符号化済みデータ、第１のトランスポートヘッダデータ、および第１のＭＡＣヘッダデータを連続するメモリバッファ位置に記憶させ、第２の符号化済みデータ、第２のトランスポートヘッダデータ、および第２のＭＡＣヘッダデータを連続するメモリ位置に記憶させるためのコードとを含む、コードを含む。
【００１５】
さらに他の態様では、コンピュータ読み取り可能媒体を備えるコンピュータプログラムプロダクトを提供する。コンピュータ読み取り可能媒体は、モバイルデバイスとディスプレイデバイスとの間で無線でデータを送信するためのコードであって、（１）モバイルデバイスでデータを受信させるためのコードと、（２）受信されたデータを伝送制御プロトコル（ＴＣＰ）セグメントに含めさせるためのコードと、（３）モバイルデバイスが受信されたデータにアプリケーション層処理を施す前にＴＣＰセグメントをディスプレイデバイスに転送させるためのコードとを含む、コードを含む。
【００１６】
さらに他の態様では、モバイルデバイスからのデータを無線でディスプレイデバイスで受信する方法を提供する。この方法は、（１）ディスプレイデバイスで第１のパケットを受信するステップと、（２）ディスプレイデバイスで第２のパケットを受信するステップと、（３）第１のパケットからの符号化済みデータ、第２のパケットからの符号化済みデータ、第１のパケットからのトランスポートヘッダデータ、第２のパケットからのトランスポートヘッダデータ、第１のパケットからの媒体アクセス制御（ＭＡＣ）ヘッダデータ、および第２のパケットからのＭＡＣヘッダデータを記憶するためのディスプレイデバイスに関連するメモリバッファの位置を割り当て、第１のパケットからの符号化済みデータ、トランスポートヘッダデータ、およびＭＡＣヘッダデータが連続するメモリ位置に記憶され、第２のパケットからの符号化済みデータ、トランスポートヘッダデータ、およびＭＡＣヘッダデータが連続するメモリ位置に記憶されるようにこれらの位置を割り当てるステップと、（４）第１のパケットからの符号化済みデータ、トランスポートヘッダデータ、およびＭＡＣヘッダデータを連続するメモリバッファ位置に記憶し、第２のパケットからの符号化済みデータ、トランスポートヘッダデータ、およびＭＡＣヘッダデータを連続するメモリ位置に記憶するステップとを含む。
【００１７】
さらに他の態様では、モバイルデバイスからのデータを無線でディスプレイデバイスで受信するシステムを提供する。このシステムは、（１）ディスプレイデバイスで第１のパケットを受信するための手段と、（２）ディスプレイデバイスで第２のパケットを受信するための手段と、（３）第１のパケットからの符号化済みデータ、第２のパケットからの符号化済みデータ、第１のパケットからのトランスポートヘッダデータ、第２のパケットからのトランスポートヘッダデータ、第１のパケットからの媒体アクセス制御（ＭＡＣ）ヘッダデータ、および第２のパケットからのＭＡＣヘッダデータを記憶するためのディスプレイデバイスに関連するメモリバッファの位置を割り当て、第１のパケットからの符号化済みデータ、トランスポートヘッダデータ、およびＭＡＣヘッダデータが連続するメモリ位置に記憶され、第２のパケットからの符号化済みデータ、トランスポートヘッダデータ、およびＭＡＣヘッダデータが連続するメモリ位置に記憶されるようにこれらの位置を割り当てるための手段と、（４）第１のパケットからの符号化済みデータ、トランスポートヘッダデータ、およびＭＡＣヘッダデータを連続するメモリバッファ位置に記憶し、第２のパケットからの符号化済みデータ、トランスポートヘッダデータ、およびＭＡＣヘッダデータを連続するメモリ位置に記憶するための手段とを含む。
【００１８】
さらに他の態様では、コンピュータ読み取り可能媒体を備えるコンピュータプログラムプロダクトを提供する。コンピュータ読み取り可能媒体は、モバイルデバイスからのデータを無線でディスプレイデバイスで受信するためのコードであって、（１）ディスプレイデバイスで第１のパケットを受信させるためのコードと、（２）ディスプレイデバイスで第２のパケットを受信させるためのコードと、（３）第１のパケットからの符号化済みデータ、第２のパケットからの符号化済みデータ、第１のパケットからのトランスポートヘッダデータ、第２のパケットからのトランスポートヘッダデータ、第１のパケットからの媒体アクセス制御（ＭＡＣ）ヘッダデータ、および第２のパケットからのＭＡＣヘッダデータを記憶するためのディスプレイデバイスに関連するメモリバッファの位置を割り当てさせ、第１のパケットからの符号化済みデータ、トランスポートヘッダデータ、およびＭＡＣヘッダデータが連続するメモリ位置に記憶され、第２のパケットからの符号化済みデータ、トランスポートヘッダデータ、およびＭＡＣヘッダデータが連続するメモリ位置に記憶されるようにこれらの位置を割り当てさせるためのコードと、（４）第１のパケットからの符号化済みデータ、トランスポートヘッダデータ、およびＭＡＣヘッダデータを連続するメモリバッファ位置に記憶させ、第２のパケットからの符号化済みデータ、トランスポートヘッダデータ、およびＭＡＣヘッダデータを連続するメモリ位置に記憶させるためのコードとを含む、コードを含む。
【００１９】
各図において、特に断りのないかぎり、同じ参照符号は様々な図のすべてにおいて同じ部分を指す。
【図面の簡単な説明】
【００２０】
【図１】ワイヤレスディスプレイシステムの図。
【図２】ワイヤレスデバイス内でマルチメディアデータを処理する概略の方法を示すフローチャート。
【図３】ワイヤレスデバイス内でマルチメディアデータを処理する詳細な方法を示すフローチャート。
【図４】ワイヤレスディスプレイシステムの第２の態様の図。
【図５】ワイヤレスデバイスホストの図。
【図６】ワイヤレスデバイスクライアントの図。
【図７】ワイヤレスデバイスホストでビデオデータを処理する方法を示すフローチャート。
【図８】スケーラおよびフレーム補間ルーチンを示すフローチャート。
【図９】ワイヤレスデバイスビデオエンコーダの図。
【図１０】例示的なピクチャグループ（ＧＯＰ）構造。
【図１１】例示的な多重スライス構造。
【図１２】ワイヤレスデバイスオーディオエンコーダの図。
【図１３】ワイヤレスデバイスオーディオデコーダの図。
【図１４】ワイヤレスディスプレイシステムの第３の態様の図。
【発明を実施するための形態】
【００２１】
語「例示的な」は、本明細書では「一例、事例または例示として働く」を意味する。本明細書で「例示的な」として記載されている態様は、必ずしも他の態様よりも好ましいかあるいは有利な態様とみなされるわけではない。
【００２２】
この説明では、用語「アプリケーション」には、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチのような実行可能なコンテンツを有するファイルを含めてもよい。また、本明細書で引用される「アプリケーション」には、開くことが必要になりうるドキュメントまたはアクセスする必要がある他のデータファイルのような実行可能性を有さないファイルを含めてもよい。
【００２３】
用語「コンテンツ」は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチのような実行可能なコンテンツを有するファイルを含めてもよい。また、本明細書で引用される「コンテンツ」には、開くことが必要になりうるドキュメントまたはアクセスする必要がある他のデータファイルのような実行可能性を有さないファイルを含めてもよい。
【００２４】
本明細書では、用語「コンポーネント」、「データベース」、「モジュール」、「システム」などは、ハードウェアであるか、ファームウェアであるか、ハードウェアとソフトウェアと組み合わせであるか、ソフトウェアであるか、または実行中のソフトウェアであるかにかかわらず、コンピュータに関連するエンティティを指すことが意図されている。たとえば、コンポーネントは、プロセッサ上で動作するプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および／またはコンピュータであってよいが、それらに限らない。一例として、コンピューティングデバイス上で動作するアプリケーションとそのコンピューティングデバイスはどちらもコンポーネントである。１つまたは複数のコンポーネントが実行プロセスおよび／または実行スレッド内に常駐してよく、コンポーネントは１つのコンピュータ上に局在化されても及び／あるいは２つ以上のコンピュータ間に分散されてよい。また、これらのコンポーネントは、様々なデータ構造が記憶された様々なコンピュータ読み取り可能媒体から実行することができる。これらのコンポーネントは、ローカルプロセスおよび／またはリモートプロセスを介して、たとえば、１つまたは複数のデータパケット（たとえば、ローカルシステム、分散システム内の他のコンポーネントと対話するか、ならびに／あるいはインターネットのようなネットワークを介し信号を介して他のシステムと対話するあるコンポーネントからのデータ）を有する信号に従って通信することができる。
【００２５】
この説明では、用語「通信デバイス」、「ワイヤレスデバイス」、「ワイヤレス電話」、「ワイヤレス通信デバイス」、および「ワイヤレスハンドセット」は交換可能に使用される。第３世代（３Ｇ）ワイヤレス技術が出現し、より広い帯域幅が利用可能になったため、ワイヤレス機能を有するより多くの電子デバイスが実現されている。したがって、ワイヤレスデバイスは、携帯電話、ページャ、ＰＤＡ、スマートフォン、ナビゲーションデバイス、またはワイヤレス接続を有するコンピュータであってよい。
【００２６】
まず、図１を参照すると、ワイヤレスディスプレイシステムが、全体的に１００で示されている。図示のように、ワイヤレスディスプレイシステム１００は、ホストシステム１０２とクライアントシステム１０４とを含んでよい。ホストシステム１０２は、携帯電話、ポータブルデジタルアシスタント（ＰＤＡ）、または他のあるモバイルデバイスのようなワイヤレスデバイスであってよい。クライアントシステム１０４は、ワイヤレスディスプレイ、ワイヤレスオーバヘッドプロジェクタ、または他のあるワイヤレスディスプレイデバイスであってよい。
【００２７】
図示のように、ホストシステム１０２は、ビデオデコーダ１１０と、スケーラ／フレームインターポレータ１１２と、組み込みディスプレイ１１４とを含んでよい。再構成ピクチャバッファ１１６は、ビデオデコーダ１１０をスケーラ／フレームインターポレータ１１２に接続することができる。また、ディスプレイバッファ１１８は、スケーラ／フレームインターポレータ１１２を組み込みディスプレイ１１４に接続することができる。図１に示されているように、スケーラ／フレームインターポレータはグラフィックス処理ユニット（ＧＰＵ）から信号を受け取ることができる。また、スケーラ／フレームインターポレータはオーバレイ画像を受け取ることができる。
【００２８】
図１は、ワイヤレスデバイス（ＷＤ）ビデオエンコーダ１２０をディスプレイバッファ１１８に接続してよいことも示している。ＷＤトランスポートエンカプスレータ１２２をＷＤビデオエンコーダ１２０に接続してよい。さらに、ＷＤ媒体アクセス制御（ＭＡＣ）プロトコルユニット１２４をＷＤトランスポートエンカプスレータ１２２に接続してよい。図１に示されているように、共通バッファ１２６をＷＤビデオエンコーダ１２０、ＷＤトランスポートエンカプスレータ１２２、およびＷＤ  ＭＡＣプロトコルユニット１２４に接続してよい。共通バッファ１２６は共有バッファとみなされてもよい。さらに、共通バッファ１２６は、ＷＤビデオエンコーダ１２０、ＷＤトランスポートエンカプスレータ１２２、ＷＤ  ＭＡＣプロトコルユニット１２４、またはそれらの組み合わせが、本明細書で説明する方法ステップのうちの１つまたは複数に従ってデータを書き込むことができるメモリであってよい。
【００２９】
たとえば、ＷＤ  ＭＡＣプロトコルユニット１２４は第１のＭＡＣヘッダ１２８を共通バッファ１２６に書き込むことができる。その後、ＷＤトランスポートエンカプスレータ１２２が第１のトランスポートヘッダ１３０を共通バッファ１２６に書き込むことができる。さらに、ＷＤビデオエンコーダ１２０が第１のコーディング済みビデオデータセグメント１３２を共通バッファ１２６に書き込むことができ、それによって、第１のＭＡＣヘッダ１２８、第１のトランスポートヘッダ１３０、および第１のコーディング済みビデオセグメント１３２が共通バッファ１２６の連続する位置に書き込まれる。また、ＷＤ  ＭＡＣプロトコルユニット１２４は、Ｎ番目のＭＡＣヘッダ１３４を共通バッファ１２６に書き込むことができる。ＷＤトランスポートエンカプスレータ１２２は、Ｎ番目のＭＡＣヘッダ１３４に続いて、Ｎ番目のトランスポートヘッダ１３６を共通バッファ１２６に書き込むことができる。その後、ＷＤビデオエンコーダ１２０は、Ｎ番目のコーディング済みビデオデータセグメント１３８を共通バッファ１２６に書き込むことができ、それによって、Ｎ番目のＭＡＣヘッダ１３４、Ｎ番目のトランスポートヘッダ１３６、およびＮ番目のコーディング済みビデオセグメント１３８が共通バッファ１２６の連続する位置に書き込まれる。
【００３０】
図１に示されているように、変調器１４０を共通バッファ１２６に接続してよい。変調器１４０は、インナーコーディングモジュール１４２を含んでよい。インナーコーディングモジュール１４２はデジタルモジュールであってよい。変調器１４０は、無線周波数（ＲＦ）モジュール１４４を含んでもよい。特定の態様では、変調器１４０は共通バッファ１２６からデータのストリームを受信することができる。たとえば、変調器１４０は、１つまたは複数のＭＡＣヘッダ１２８、１３４、１つまたは複数のトランスポートヘッダ１３０、１３６、１つまたは複数のコーディング済みビデオデータセグメント１３２、１３８、またはそれらの組み合わせを受信することができる。図１に示されているように、アンテナ１４６を変調器１４０に接続してよい。アンテナ１４６は、変調器１４０からデータ、たとえば共通バッファ１２６から受信されたデータを送信するのに使用されてよい。
【００３１】
特定の態様では、ＷＤビデオエンコーダ１２０はメモリ管理ユニット１４８を含んでよい。ＷＤトランスポートエンカプスレータ１２２もメモリ管理ユニット１５０を含んでよい。また、ＷＤ  ＭＡＣプロトコルユニット１２４はメモリ管理ユニット１５２を含んでよい。この態様では、メモリ管理ユニット１４８、１５０、１５２は、実現を容易にするように、共通バッファ１２６の物理的アドレス位置およびポインタを、これらのコンポーネントから見た連続する仮想アドレス空間にマップするのに使用されてよい。
【００３２】
さらに図１を参照すると、クライアントシステム１０４は復調器１６０を含んでよい。復調器１６０は、インナーコーディングモジュール１６２、たとえばデジタルインナーコーディングモジュールを含んでよい。復調器１６０はＲＦモジュール１６４を含んでもよい。また、アンテナ１６６を復調器１６０に接続してよい。復調器１６０は、アンテナ１４６、１６６間の送信を介して変調器１４０からデータを受信することができる。たとえば、復調器１６０は、１つまたは複数のＭＡＣヘッダ１２８、１３４、１つまたは複数のトランスポートヘッダ１３０、１３６、１つまたは複数のコーディング済みビデオデータセグメント１３２、１３８、またはそれらの組み合わせをホストシステム１０２内の共通共有バッファ１２６から受信することができる。
【００３３】
図１に示されているように、共通バッファ１６８を復調器１６０に接続してよい。共通バッファ１６８は、共有バッファとみなされてもよい。さらに、共通バッファ１６８は、後述の１つまたは複数の要素がデータを読み取るメモリであってもよい。図示のように、復調器１６０は、データを共通バッファ１６８内に送ることができる。たとえば、復調器１６０は第１のＭＡＣヘッダ１７０を共通バッファ１６８内に送ることができる。その後、復調器１６０は、第１のトランスポートヘッダ１７２を共通バッファ１６８内に送ることができる。さらに、復調器１６０は、第１のコーディング済みビデオデータセグメント１７４を共通バッファ１６８内に送ることができる。また、復調器１６０はＮ番目のＭＡＣヘッダ１７６を共通バッファ１６８内に送ることができる。復調器１６０は、Ｎ番目のＭＡＣヘッダ１７６に続いて、Ｎ番目のトランスポートヘッダ１７８を共通バッファ１６８内に送ることができる。その後、復調器１６０は、Ｎ番目のトランスポートヘッダ１７８の後に、Ｎ番目のコーディング済みビデオデータセグメント１８０を共通バッファ１６８内に送ることができる。特定の態様では、クライアントシステム１０４の共通バッファ１６８内のデータは、ホストシステム１０２の共通バッファ１２６内のデータに対応する。たとえば、クライアントデバイス１０４は、第１のＭＡＣヘッダ１７０、第１のトランスポートヘッダ１７２、および第１のコーディング済みビデオデータセグメント１７４を記憶し（たとえば、書き込み）、かつそのようなデータを共通バッファ１６８の連続する位置に記憶するための共通バッファ１６８の連続する位置（たとえば、所定の位置）を割り当てるように構成されてよい。同様に、クライアントデバイス１０４は、Ｎ番目のＭＡＣヘッダ１７６、Ｎ番目のトランスポートヘッダ１７８、およびＮ番目のコーディング済みビデオデータセグメント１８０を記憶し、かつそのようなデータを共通バッファ１６８の連続する位置に記憶するための共通バッファ１６８の連続する位置を割り当てるように構成されてよい。各位置は、所定のチャネル帯域幅およびパケットエラーレート（ＰＥＲ）に基づいて割り当てられてよい。
【００３４】
図１は、ＷＤ  ＭＡＣプロトコルユニット１８２を共通バッファ１６８に接続してよいことを示している。ＷＤトランスポートパーサ１８４をＷＤ  ＭＡＣプロトコルユニット１８２および共通バッファ１６８に接続してよい。また、ＷＤビデオデコーダ１８６をＷＤトランスポートパーサ１８４および共通バッファ１６８に接続してよい。特定の態様では、ＷＤ  ＭＡＣプロトコルユニット１８２は第１のＭＡＣヘッダ１７０を共通バッファ１６８から読み取ることができる。その後、ＷＤトランスポートパーサ１８４は第１のトランスポートヘッダ１７２を共通バッファ１６８から読み取ることができる。さらに、ＷＤビデオデコーダ１８６は、第１のコーディング済みビデオデータセグメント１７４を共通バッファ１６８から読み取ることができる。また、ＷＤ  ＭＡＣプロトコルユニット１８２はＮ番目のＭＡＣヘッダ１７６を共通バッファ１６８から読み取ることができる。ＷＤトランスポートパーサ１８４は、Ｎ番目のＭＡＣヘッダ１７６に続いて、Ｎ番目のトランスポートヘッダ１７８を共通バッファ１６８から読み取ることができる。その後、ＷＤビデオデコーダ１８６は、Ｎ番目のトランスポートヘッダ１７８の後でＮ番目のコーディング済みビデオデータセグメント１８０を共通バッファ１６８から読み取ることができる。
【００３５】
図１に示されているように、再構成ピクチャバッファ１８８をＷＤビデオデコーダ１８６に接続してよい。また、ディスプレイプロセッサ１９０を再構成ピクチャバッファ１８８に接続してよい。ディスプレイバッファ１９２をディスプレイプロセッサ１９０に接続してよい。外部ディスプレイ１９４をディスプレイバッファ１９２に接続してよい。
【００３６】
特定の態様では、ＷＤ  ＭＡＣプロトコルユニット１８２はメモリ管理ユニット１９６を含んでよい。ＷＤトランスポートパーサ１８４もメモリ管理ユニット１９８を含んでよい。また、ＷＤビデオデコーダ１８６はメモリ管理ユニット１９９を含んでよい。この態様では、メモリ管理ユニット１９６、１９８、１９９は、共通バッファ１６８からの物理的アドレス位置およびポインタを、これらの各コンポーネント用の連続する仮想アドレス空間にマップするのに使用されてよい。
【００３７】
特定の態様では、複合画像が、外部ディスプレイ１９４に対して単純に拡張されるようにレンダリングすべき画像である。複合画像は、ＷＤシステム、すなわち要素１２０〜１８２およびその内部の要素に入力されてよい。ＨＤＭＩ（登録商標）、ＵＳＢ、ＲＧＢ、またはそれらの組み合わせのようなワイヤレスエクステンションは、適切なカプセル化されたデータをワイヤレスプロトコルを介して伝送する比較的単純な方法を提供することができる。
【００３８】
上述のワイヤレスディスプレイ（ＷＤ）チェーンでは、共通バッファ１２６は、ＷＤビデオエンコーダ１２０から受け取った符号化済みデータ、コーディング済みデータをカプセル化するためのトランスポートヘッダ、およびＷＤ  ＭＡＣプロトコルユニット１２４からのアウターコーディング用のＭＡＣプロトコルヘッダに対処するように構成されてよい。１つまたは複数の必須チャネル帯域幅に応じて、ＰＥＲおよびレイテンシー（たとえば、所望のレイテンシー）、ビデオパケットサイズ、トランスポートヘッダ特性および対応する長さ、および／またはアウターコーディングレートおよび対応するＭＡＣヘッダ長が算出されてよい。これらの計算に基づく長さに関して、ＭＡＣヘッダとそれに続くトランスポートヘッダとそれに続くビデオパケットの適切なアドレスを割り当てることができる。ＷＤビデオエンコーダ１２０は、コーディング済みビデオデータを共通バッファ１２６の割り当てられた複数の領域に直接同時に書き込むことができ、それによってコーディング済みデータがただちにフラグメント化され、データ／ビットストリームのビデオパケットへのフラグメント化が行われるトランスポート層およびＭＡＣ層に別々のバッファを設ける必要がなくなる。ＷＤトランスポートエンカプスレータ１２２は、バッファ内のＮＡＬＵ長／始点および終点のようなメタデータをビデオエンコーダから得ることができ、かつコーディング済みビデオデータセグメント用のヘッダを準備することができる。ＷＤ  ＭＡＣプロトコルユニットは、コーディング済みビデオデータセグメント用のパリティデータを作成し、コーディング済みビデオデータセグメント１３２、１３８の最後部にパリティデータを挿入することができる。
【００３９】
特定の態様では、ワイヤレスディスプレイシステム１００のレイテンシーをディスプレイプロセッサ、すなわちホストシステム１０２のスケーラ／フレームインターポレータ１１２の出力から、クライアントシステム１０４の外部ディスプレイ１９４上のディスプレイバッファ１９２の入力まで測定することができる。この遅延は、図１に遅延ＷＤとして示されている。この符号化遅延は、解像度およびフレームレートに基づく適切なフレーム当たりスライス数によって最小限に抑えることができる。以下の表１は、様々な解像度およびフレームレートについてのスライス構造、コーディングオーバヘッド、および符号化遅延を示している。
【表１】
0005746392.tif 000002
【００４０】
表１は様々な解像度を示している。また、たとえば、表１は、１マイクロブロック（ＭＢ）行を１つのスライスとして符号化すると、符号化遅延を３３ｍｓ／３０＝１．１１ｍｓに最小化することができることを示している。フレームを複数のスライスに符号化するコーディングオーバヘッドが最後から２番目の列に示されている。圧縮効率よりもより短いレイテンシーより高い品質が重要であるため、ワイヤレスディスプレイ物理層（ＰＨＹ）による大きな帯域幅のサポートでは２０％〜２５％のオーバヘッドを受け入れてよい。たとえば、ＶＧＡ＠３０ｆｐｓでは、良質の圧縮のために２Ｍｂｐｓが必要である。また、超広帯域送信（ＵＷＢ）では最大で５Ｍｂｐｓをサポートすることができる。また、複数のスライスを使用すると、エラー耐性を向上させることができ、特にイントラ更新に関連して、フレーム内スライス（Ｉスライス）には、フレーム内の予想されたフレームスライス（Ｐスライス）よりも高いアウター／インナーコードレートを使用することによって不等誤り防止を有効化することができる。
【００４１】
特定の態様では、ＰＤＵ／ＭＴＵサイズおよびチャネルエラー要件に基づいてインターリービング深さを管理することができる。たとえば、インナーコードパケット当たり１Ｋビットから最大で４Ｋビットのサイズでは、インターリービングで生じる遅延を低減させることができ、十分な時間ダイバーシチおよびエラー防止を提供することができる。パケット長は、有効なターボコーディングまたは場合によっては低密度パリティチェック（ＬＤＰＣ）コーディングに十分な大きさであってよい。ワイヤレスディスプレイ用のワイヤレスリンクとして使用されるＷＰＡＮネットワーク上では５Ｍｂｐｓ〜４００Ｍｂｐｓのデータレートすなわちスループットを提供することができる。ビットレートが５Ｍｂｐｓである場合、インナーコード長が１Ｋビットであるとき、インターリービング遅延は１／５０００＝０．２ｍｓである。これは、本システムでは最悪ケース遅延とみなすことができる。さらに、２０Ｍｂｐｓでは、遅延は０．０５ｍｓに低下する。ＨＤ解像度では、４Ｋビットのインナーコード長を使用することができ、１０８０ｐ６０の５０Ｍｂｐｓの場合の遅延を４／５００００すなわち０．０８ｍｓに低下させることができる。したがって、本システムでは０．２ｍｓの最大インターリービングレイテンシーを提供することができる。ＲＦ伝搬遅延は２００マイクロ秒よりも短くてよい。最大ＲＦ伝搬遅延は、５００ｎｓ〜６００ｎｓの伝搬遅延にｒｍｓ遅延広がりによる７５マイクロ秒のマルチパス遅延を加えた値であってよい。
【００４２】
特定の態様では、ＷＤビデオデコーダ１８６は、復号の開始前に、受信されるべきスライス全体を待つ必要がない。そのため、復号遅延は、符号化遅延、すなわち、最大符号化遅延の１．１１ｍｓよりも短くてよい。外部ディスプレイ内のディスプレイプロセッサは、後処理に必要な画像の画素ライン数に基づいて追加的な遅延を導入してもよい。通常、これは１行のＭＢに相当する１６ラインである。したがって、１．１１ｍｓの追加的なレイテンシーが可能である。これにはレンダリングのための部分更新が含まれる。ワイヤレスディスプレイシステム１００全体のレイテンシーが、以下の表２にまとめられている。
【表２】
0005746392.tif 000003
【００４３】
本明細書で説明する共通バッファアーキテクチャは、実質的にデータ転送をなくし、そのため、メモリ帯域幅要件が実質的に低減する。したがって、電力消費量も実質的に低下する。また、物理的メモリ空間が実質的に小さくなる。パイプライン化処理によってＷＤビデオエンコーダ１２０、ＷＤトランスポートエンカプスレータ１２２、およびＷＤ  ＭＡＣプロトコルユニット１２４を密に結合することができるためレイテンシーも実質的に短くなる。送信チェーン上の遅延は、符号化遅延に変調器１４０内のインターリービング遅延を加えた値に低下させることができる。
【００４４】
特定の態様では、ＷＤビデオエンコーダ１２０、ＷＤトランスポートエンカプスレータ１２２、ＷＤ  ＭＡＣプロトコルユニット１２４、ＷＤ  ＭＡＣプロトコルユニット１８２、ＷＤトランスポートパーサ１８４、ＷＤビデオデコーダ１８６、またはそれらの組み合わせが、本明細書で説明する方法ステップのうちの１つまたは複数を実行するための手段として働くことができる。
【００４５】
図２を参照すると、ワイヤレスデバイス内でマルチメディアデータを処理する概略の方法が、全体的に２００で示されている。図を明確にするために、方法２００を複数の所定のメモリ位置２０４を有する共有メモリ２０２に関連して説明する。
【００４６】
まずブロック２１０で、例えばＷＤホストアプリケーション内で、マルチメディアデータデータを受信することができる。ブロック２１２で、例えば、ＷＤビデオエンコーダによって、マルチメディアデータを符号化して所定のメモリ位置に書き込むことができる。ブロック２１４で、たとえば、ＷＤトランスポートエンカプスレータによって、符号化済みデータをカプセル化し他の所定のメモリ位置に書き込むことができる。特定の態様では、カプセル化された符号化済みデータを共有メモリ内の、符号化済みマルチメディアデータの後のメモリ位置に書き込むことができる。
【００４７】
ブロック２１６に進むと、たとえば、ＷＤ  ＭＡＣプロトコルユニットによって、エラー制御符号化を作成し他の所定のメモリ位置に書き込むことができる。エラー制御符号化は、共有メモリ内のカプセル化された符号化済みデータの後のメモリ位置に書き込むことができる。ブロック２１８で、データをワイヤレスリンク上で送信することができる。特定の態様では、データを符号化済みマルチメディアデータ、カプセル化された符号化済みデータ、エラー制御符号化の順に送信することができる。ブロック２１８の後、この方法を終了することができる。
【００４８】
図３は、ワイヤレスデバイス内でマルチメディアデータを処理する詳細な方法を示している。この方法は全体的に３００で示されている。まずブロック３０２で、チャネル帯域幅を決定することができる。ブロック３０４で、パケットエラーレート（ＰＥＲ）を決定することができる。さらに、ブロック３０６で、ビデオパケットサイズを算出することができる。ブロック３０８に進むと、トランスポートヘッダ特性および対応する長さを算出することができる。ブロック３１０で、アウターコーディングレートおよび対応するＭＡＣヘッダ長を算出することができる。特定の態様では、パケットエラーレートおよびチャネル帯域幅に少なくとも部分的に基づいて、ビデオパケットサイズ、ならびにトランスポートヘッダ特性および対応する長さ、アウターコーディングレートおよび対応するＭＡＣヘッダ長を算出することができる。
【００４９】
さらに、ブロック３１２で、ＭＡＣヘッダ用のメモリアドレス長を割り当てることができる。ブロック３１４で、トランスポートヘッダ用のアドレス長を割り当てることができる。また、ブロック３１６で、ビデオパケット用のメモリアドレス長を割り当てることができる。
【００５０】
ブロック３１８で、コーディング済みビデオデータを共有メモリバッファの割り当てられた領域に書き込むことができる。その後、ブロック３２０で、ビデオエンコーダからメタデータを得ることができる。ブロック３２２で、コーディング済みビデオデータセグメント用のヘッダを準備することができる。さらに、ブロック３２４で、コーディング済みビデオデータセグメント用のパリティデータを作成することができる。ブロック３２６で、コーディング済みビデオデータセグメントの最後部にパリティデータを挿入することができる。次に、この方法を終了することができる。
【００５１】
図４は、全体的に４００で示されたワイヤレスディスプレイシステムの第２の態様を示している。図示のように、ワイヤレスディスプレイシステム４００は移動局モデム４０２を含んでよい。移動局モデム４０２はアプリケーションプロセッサ４０４を含んでよい。モデム４０６をアプリケーションプロセッサ４０４に接続することができる。また、ＷＤホストデバイス４０８をアプリケーションプロセッサ４０４に接続することができる。
【００５２】
特定の態様では、アプリケーションプロセッサ４０４は、ビデオエンコーダ４１０と、ビデオデコーダ４１２と、オーディオデコーダ４１４とを含んでよい。ビデオデコーダ４１２およびオーディオデコーダ４１４は、モデム４０６に接続されてよい。アプリケーションプロセッサ４０４は、ビデオデコーダ４１２に接続されてよいディスプレイプロセッサ４１６、たとえば、モバイルディスプレイプロセッサ（ＭＤＰ）を含んでもよい。また、アプリケーションプロセッサ４０４はオーディオプロセッサ４１８を含んでもよい。オーディオプロセッサ４１８はオーディオデコーダ４１４に接続されてよい。
【００５３】
図示のように、ＷＤホストデバイス４０８はＷＤオーディオ−ビデオエンコーダ４２０を含んでよい。ＷＤオーディオ−ビデオエンコーダ４２０は、アプリケーションプロセッサ４０４内のディスプレイプロセッサ４１６およびオーディオプロセッサ４１８に接続されてよい。移動局モデム４０２内のＷＤホストデバイス４０８はＷＤ送信機４２２を含んでもよい。特に、ＷＤ送信機４２２はＭＡＣ層とＰＨＹ層とを含んでよい。
【００５４】
さらに、図４に示されているように、ワイヤレスディスプレイシステム４００は、ワイヤレスチャネル４２６を介して移動局モデム４０２に接続されたＷＤクライアント４２４をさらに含んでよい。具体的には、チャネル４２６は、ＷＤホスト４０８内のＷＤ送信機４２２に接続されている。また、チャネル４２６はＷＤクライアント４２４内のＷＤ受信機４２８に接続されている。ＷＤ受信機４２４はＭＡＣ層とＰＨＹ層とを含んでよい。図４は、ＷＤクライアント４２４がＷＤ受信機４２８に接続されたＷＤオーディオ−ビデオデコーダ４３０を含んでよいことも示している。ＷＤオーディオ−ビデオデコーダ４３０は、ディスプレイプロセッサ４３２および１つまたは複数のスピーカ４３４に接続されてよい。ディスプレイプロセッサ４３２は、ディスプレイ４３６に接続されてよい。
【００５５】
ワイヤレスディスプレイシステム４００では、移動局モデム４０２において、無線ネットワーク上で、たとえば、モデム４０６を介してマルチメディアデータを受信することができる。たとえば、無線ネットワークは、第３世代ＣＤＭＡ（３Ｇ  ＣＤＭＡ）、（１ｘ／ＵＭＴＳ）、ＧＳＭ（登録商標）（ＧＰＲＳ／ＥＤＧＥ）、またはそれらの組み合わせのようなセルラネットワークであってよい。また、無線ネットワークは、地上デジタルテレビジョン（ＤＴＶ）、ＩＳＤＢ−Ｔ，Ｓ−ＤＭＢ、モバイルＴＶ、またはそれらの組み合わせのような放送網であってよい。無線ネットワークは、８０２．１１ｂ／ｇ／ｎ、ＷｉＦｉ、またはそれらの組み合わせのようなワイヤレスローカルネットワーク（ＷＬＡＮ）であってよい。他の態様では、無線ネットワークはＵＳＢ／Ｗ−ＵＳＢのようなワイヤレスパーソナルエリアネットワーク（ＷＰＡＮ）であってよい。他の態様では、無線ネットワークは、ＢＴ、会話型ビデオ、たとえばテレビ電話およびビデオ会議のようなアプリケーション用の近距離無線通信（ＮＦＣ）、またはそれらの組み合わせのようなＷＢＡＮであってよい。無線ネットワークは、擬似ストリーミングまたはストリーミングビデオ、インターネットプロトコルテレビジョン（ＩＰＴＶ）、インターネットビデオ、またはそれらの組み合わせを含んでよいビデオオンデマンド（ＶＯＤ）ネットワークであってもよい。マルチメディアデータは記憶媒体を介して受信されてよく、あるいはマルチメディアデータは、放送によって供給されるようなライブストリーミングコンテンツ、たとえば、ＤＴＶ、モバイルＴＶ、またはそれらの組み合わせであってよい。マルチメディアデータは、カメラ／カムコーダアプリケーションでは画像／映像センサを介して非圧縮フォーマットで受信されてよい。
【００５６】
特定の態様では、ＷＤホスト４０８は、移動局モデム４０２内のアプリケーションとして構成されてよい。ＷＤホスト４０８は、任意の視聴覚（ＡＶ）処理要件に関してオーディオデコーダ４１４、ビデオデコーダ４１２、ディスプレイプロセッサ４１６、またはそれらの組み合わせを呼び出すことができる。ＷＤホスト４０８は、たとえば、移動局モデム４０２のアプリケーションプロセッサ４０４内の、中央処理ユニット（ＣＰＵ）上で動作することができる。また、ＷＤホスト４０８は、利用可能なＷ−ＰＡＮモデムをワイヤレスディスプレイモデムとして働くように構成することができる。
【００５７】
次に図５を参照すると、ＷＤホストの例示的な非限定態様が、全体的に５００で示されている。図示のように、ＷＤホスト５００はＷＤ  ＰＨＹ層５０２を含んでよい。ＷＤ  ＰＨＹ層５０２は送信機を含んでよい。また、ＷＤ  ＰＨＹ層５０２は、ビデオデータにインナーコーディングを施すことができる。ＷＤホスト５００は、ＷＤ  ＭＡＣ層５０４を含んでもよい。特定の態様では、ＷＤ  ＭＡＣ層５０４は、ビデオデータにアウターコーディングを施すことができる。また、ＷＤ  ＰＨＹ層５０２およびＷＤ  ＭＡＣ層５０４は、本明細書の他の個所で説明するように動作することができる。
【００５８】
また、図示のように、ＷＤホスト５００はＷＤネットワーク層５０６を含んでよい。ＷＤネットワーク層５０６は、ＷＤトランスポート層５０８と、ＷＤ  ＣＡＳ層５１０と、ＷＤサービス層５１２とを含んでよい。特定の態様では、ＷＤトランスポート層５０８は、本明細書の他の個所で説明するように動作することができる。ＷＤ  ＣＡＳ層５１０は、ＷＤコーディング済みデータセグメントに暗号化を施すことができる。この暗号化は任意に行われ、使用される暗号化アルゴリズムの複雑度に応じて追加的な遅延、すなわちレイテンシーが生じる可能性がある。圧縮は、非圧縮データよりもより高いセキュリティレベルをもたらしうるので、暗号化のために生じる遅延を最小限に抑えるために単純なスクランブリングアルゴリズムを利用しうる。
【００５９】
図５に示されているように、ＷＤサービス層５１２はサービス発見を提供することができる。サービス発見は、ワイヤレスデバイス（ＷＤ）に対するＷＰＡＮリンクの初期設定中に発生しうる。サービス発見は、超広帯域（ＵＷＢ）上でサービス競合が生じたときに発生しうる。これは、ＵＷＢは通常、無認可の帯域であるためである。特定の態様では、サービス発見がワイヤレスデバイスからワイヤレスディスプレイへの送信中に目立つレイテンシーを導入することはない。
【００６０】
図５は、ＷＤホスト５００が、互いに接続するとともにＷＤネットワーク層５０６、ＷＤ  ＭＡＣ層５０４、およびＷＤ  ＰＨＹ層５０２に接続することができるＷＤビデオエンコーダ５１４およびＷＤオーディオエンコーダ５１６も含んでよいことを示している。ＷＤビデオエンコーダ５１４およびＷＤオーディオエンコーダ５１６は本明細書の他の個所で説明するように動作することができる。
【００６１】
特定の態様では、ＷＤビデオエンコーダ５１４にチャネル情報を供給することができ、ＷＤビデオエンコーダ５１４は、このチャネル情報を使用してレート制御パラメータ、レート適応パラメータ、エラー耐性パラメータ、またはそれらの組み合わせに適切な値を選択することができる。チャネル情報は、データ送信に利用可能な帯域幅、期待されるＰＥＲ、ＰＨＹ層のＭＴＵ／ＰＤＵサイズ、またはそれらの組み合わせを含んでよい。利用可能な帯域幅は、アウターコーディング、インナーコーディング、またはそれらの組み合わせによるオーバーヘッドを考慮する値であってよい。ＰＥＲは、信号雑音比（ＳＮＲ）に少なくとも部分的に基づいて決定することができる。
【００６２】
特定の態様では、ＷＤトランスポート層５０８によって提供されるＷＤトランスポートプロトコルは、１つまたは複数のエラーロバストネス機能を含む既存のプロトコルであってよい。あるいは、ＷＤトランスポート層５０８によって提供されるＷＤトランスポートプロトコルは、低レイテンシーのために特に設計された新しいプロトコルを含んでよい。
【００６３】
図６を参照すると、ＷＤクライアントの典型的な非限定的態様が概略的に６００で示されている。図示のように、ＷＤクライアント６００はＷＤ  ＰＨＹ層６０２を含んでよい。ＷＤ  ＰＨＹ層６０２は受信機を含んでよい。また、ＷＤ  ＰＨＹ層６０２は、ビデオデータにインナーコーディングを施すことができる。ＷＤクライアント６００はＷＤ  ＭＡＣ層６０４を含んでもよい。特定の態様では、ＷＤ  ＭＡＣ層６０４は、ビデオデータにアウターコーディングを施すことができる。また、ＷＤ  ＰＨＹ層６０２およびＷＤ  ＭＡＣ層６０４は本明細書の他の個所で説明するように動作することができる。
【００６４】
図示のように、ＷＤクライアント６００はＷＤ  ＰＨＹ層６０２を含んでよい。ＷＤ  ＰＨＹ層６０２は受信機を含んでよい。また、ＷＤ  ＰＨＹ層６０２は、ビデオデータにインナーコーディングを施すことができる。ＷＤクライアント６００はＷＤ  ＭＡＣ層６０４を含んでもよい。特定の態様では、ＷＤ  ＭＡＣ層６０４は、ビデオデータにアウターコーディングを施すことができる。また、ＷＤ  ＰＨＹ層６０２およびＷＤ  ＭＡＣ層６０４は、図５に関連して説明したＷＤ  ＰＨＹ層５０２およびＷＤ  ＭＡＣ層５０４と同様に動作してよい。
【００６５】
図示のように、ＷＤクライアント６００はＷＤネットワーク層６０６を含んでよい。ＷＤネットワーク層６０６は、ＷＤトランスポート層６０８と、ＷＤ  ＣＡＳ層６１０と、ＷＤサービス層６１２とを含んでよい。特定の態様では、ＷＤトランスポート層６０８は、図５に関連して説明したＷＤトランスポート層５０８と同様に動作してよい。ＷＤ  ＣＡＳ層６１０は、ＷＤコーディング済みデータセグメントに暗号化を施すことができる。ＷＤサービス層６１２はサービス発見を提供することができる。
【００６６】
図６は、ＷＤクライアント６００が、互いに接続するとともにＷＤネットワーク層６０６、ＷＤ  ＭＡＣ層６０４、およびＷＤ  ＰＨＹ層６０２に接続することができるＷＤビデオデコーダ６１４およびＷＤオーディオデコーダ６１６も含んでよいことをさらに示している。
【００６７】
特定の態様では、チャネルエラー情報をＷＤビデオデコーダ６１４に供給することができ、ＷＤビデオデコーダ６１４は、チャネルエラー情報をエラー検出、エラー回復、エラー隠蔽、またはそれらの組み合わせに適用することができる。チャネルエラー情報には、ＰＥＲ、エラー分布、エラー制御フラグ、またはそれらの組み合わせを含めてよい。ＰＥＲには、瞬間ＰＥＲ、平均ＰＥＲ、バースト長、またはそれらの組み合わせを含めてよい。エラー制御フラグは、ユーザ定義スライス、たとえばＳＥＩの形でコーディング済みデータに挿入されてよく、エラーの開始位置、エラーの長さ、またはそれらの組み合わせを示す。
【００６８】
ＷＤクライアント６００は、ＭＳＭ上でホスティングすることのできるＷＤ受信機上で動作するアプリケーションであっても、あるいはＷＤ受信機モデム内のプロセッサ上の専用クライアントアプリケーションであってもよい。ＷＤクライアント６００は、表示処理機能、たとえば、外部ディスプレイ内で利用可能なビデオ復号エンジンを利用することができる。
【００６９】
図７は、ＷＤホスト、たとえば、上記に図５に関連して説明したＷＤホストでビデオデータを処理する方法を示している。この方法は概略的に７００で示されている。特定の態様では、図７に示されている方法は、解像度がＶＧＡよりも低く、フレームレートが毎秒３０フレーム（３０ｆｐｓ）未満であるビデオデータを処理するのに使用されてよい。まずブロック７０２で、１つまたは複数のディスプレイバッファから入力を読み取ることができる。この入力は、モバイルディスプレイプロセッサ（ＭＤＰ）７０４から得ることができる。また、この入力は、ＭＤＰ７０４からの複合表示可能画像７０６と入力ビデオ用のディスプレイメタデータとを含んでよい。
【００７０】
ブロック７０２でディスプレイバッファから入力が読み取られた後、この方法はブロック７０８に進み、色空間変換を実行することができる。具体的には、画像データをＹＵＶフォーマット、たとえば、ＹＵＶ４：２：０に変換することができる。ブロック７１０で、スケーラルーチンを実行することができる。さらに、ブロック７１２で、フレームインターポレータ（ＦＩ）ルーチンを実行することができる。以下に、スケーラルーチンおよびフレームインターポレータルーチンについて図８に関連して説明する。
【００７１】
方法７００の説明に戻ると、スケーラおよびフレーム補間ルーチン（ＳＦＲ）が実行された後、この方法はブロック７１４に進み、ＷＤＥビデオエンコーダがビデオデータを符号化することができる。同時にブロック７１６で、ＷＤＥオーディオエンコーダが、ＭＤＰ７０４からのオーディオデータ、たとえばＰＣＭオーディオサンプル７１８を符号化することができる。この方法は、ブロック７１４および７１６からブロック７２０に進み、ＷＤホストの下位層でビデオデータを処理することができる。その後、この方法を終了することができる。
【００７２】
図８を参照すると、スケーラおよびフレーム補間ルーチン（ＳＦＲ）が８００で示されている。スケーラおよびフレーム補間ルーチンは、図７に関連して説明したスケーラおよびフレーム補間ルーチンであってよい。
【００７３】
まずブロック８０２で、画像解像度、アスペクト比、ネイティブフレームレート（Ｎｆｐｓ）、またはそれらの組み合わせを読むことができる。特定の態様では、ネイティブフレームレートは、毎秒２４フレーム（２４ｆｐｓ）であっても、毎秒２５フレーム（２５ｆｐｓ）であっても、毎秒３０フレーム（３０ｆｐｓ）であってもよい。また、特定の態様では、ネイティブフレームレートを上述のＭＤＰにおけるデインターレースおよび逆テレシネ検出論理から決定することができる。
【００７４】
方法８００の説明に戻ると、決定ステップ８０４で、ＷＤホストは、解像度ＲｅｓがＱＶＧＡ以下であるかどうかを判定する。解像度ＲｅｓがＱＶＧＡ以下ではない場合、方法８００はブロック８０６に進むことができ、ＷＤホストは、元の解像度およびアスペクト比を保持することができる。その後、この方法を終了することができる。解像度がＱＶＧＡ以下である場合、方法８００はブロック８０８に進むことができ、ビデオデータ、すなわちその各画像に対して、ＶＧＡに対応する解像度になるようにアンサンプリング、クロッピング、パディング、またはそれらの組み合わせを施すことができる。
【００７５】
決定ステップ８１０に進み、ＷＤホストが、フレームレートＦＰＳがネイティブフレームレート以下であるかどうかを判定することができる。フレームレートＦＰＳがネイティブフレームレート以下ではない場合、この方法を終了することができる。フレームレートＦＰＳがネイティブフレームレート以下である場合、この方法はブロック８１２に進むことができ、ＷＤホストはフレーム補間を実行してフレームレートをネイティブフレームレートに補完することができる。その後、方法８００を終了することができる。
【００７６】
特定の態様では、ＭＤＰは、ＶＧＡまたはより高い解像度出力向けに構成されてよい。あるいは、ＭＤＰは、７Ｋ以上のデフォルト解像度、デフォルトフレームレート、およびデフォルトリフレッシュレート向けに構成されてよい。他の態様では、スケーラおよびフレーム補間ルーチンをＭＤＰにおけるＷＤプロファイルの一部として実行することができ、スケーラおよびフレーム補間関数をＭＤＰ内で実行することができる。他の態様では、スケーラおよびフレーム補間ルーチンをＷＤホスト内で実行することができ、スケーラおよびフレーム補間関数をＷＤホスト内で実行することができる。
【００７７】
図９を参照すると、ＷＤビデオエンコーダが全体的に９００で示されている。図示のように、ＷＤビデオエンコーダ９００はソース９０２を含んでよい。ソース９０２は、ＷＤビデオエンコーダ９００内の１つまたは複数のダウンストリームコンポーネントに生ビデオを供給することができる。スケーラビリティモジュール９０４をソース９０２に接続してよい。単純最大エントロピー（ＭＥ）モジュール９０６をスケーラビリティモジュール９０４に接続してよい。また、単純モード決定モジュール９０８を単純ＭＥモジュール９０６に接続してよく、エラー耐性モジュール９１０を単純モード決定モジュール９０８に接続してよい。
【００７８】
さらに図９に示されているように、レート制御モジュール９１２はエラー耐性モジュール９１０に接続されてよい。レート適応モジュール９１４をレート制御モジュール９１２に接続してよい。また、ビットストリームエンジニアリングモジュール９１６をソース９０２、スケーラビリティモジュール９０４、エラー耐性モジュール９１０、およびレート適応モジュール９１４に接続してよい。
【００７９】
特定の態様では、単純ＭＥモジュール９０６は低レイテンシー符号化を提供するのにＢスライスを含まなくてよい。単純ＭＥモジュール９０６は、簡略化されたバッファ管理、エラー耐性、エラー回復、またはそれらの組み合わせに単一の基準ピクチャを利用することができる。また、単純ＭＥモジュール９０６は、一定の探索範囲、たとえば±６４用のキャッシュによって最適化された動き探索、および画素読み取りを提供することができる。
【００８０】
単純モード決定モジュール９０８は、イントラフレームおよびインターフレームを利用することができる。イントラフレームの場合、１６ｘ１６モードを使用してよい。さらに、８ｘ８モードを使用してよい。また、４ｘ４モードを使用してよい。特定の態様では、単純モード決定モジュール９０８は矩形モードまたは平面モードをも使用しなくてよい。単純モード決定モジュール９０８は、９つのモードの中から４つの単純４ｘ４モードを利用することができる。早期高精度スキップ検出にインターフレームを使用することができる。また、比較的低いレイテンシーを実現するための比較的高速の符号化および復号にインターフレームを使用することができる。特定の態様では、テンポラルエンハンスメント層における一部またはすべてのＰフレームを破棄してビデオビットレートを瞬間チャネル帯域幅と一致させ、より高いＦＥＣ、すなわちアウターおよびインナーコーディングレートに対処して、深いフェードまたはＵＷＢにおけるより高い優先順位のサービスによるデータチャネル帯域幅の喪失を軽減することができる。
【００８１】
図９は、ＷＤビデオエンコーダ９００内のエラー耐性モジュール９１０にチャネルＰＥＲを入力するかあるいは他の方法で供給することができることを示している。レート制御モジュール９１２にチャネル帯域幅を入力するかあるいは他の方法で供給することができる。チャネル帯域幅は、瞬間値であっても、単位時間当たり値であっても、それらの組み合わせであってもよい。また、レート適応モジュール９１４にＭＴＵ／ＰＤＵサイズを入力するかあるいは他の方法で供給することができる。ＷＤビデオエンコーダ９００は、高度のカプセル化のためのメタデータ、たとえば、ビットレートをただちにチャネル帯域幅に適応させるためのスケーリング可能なビットストリーム構造を出力することができる。また、ＷＤビデオエンコーダ９００はコーディング済みビットストリームをＷＤトランスポート層に出力することができる。
【００８２】
特定の態様では、ＷＤビデオエンコーダ９００は、処理の軽い圧縮すなわち低複雑度圧縮を実行することができ、５：１〜２５：１の圧縮比を実現することができる。特定の態様では、ＶＧＡ＠３０ｆｐｓから１０８０ｐ６０までの解像度およびフレームレートを４Ｍｂｐｓ〜３００Ｍｂｐｓのビットレート、すなわちＵＷＢのデータスループットの範囲でコーディングすることができる。ＷＤビデオエンコーダ９００は、高画質のための視覚的に損失のない圧縮を行うことができる。品質が損なわれると、ユーザエクスペリエンスが不十分なものになる可能性がある。低複雑度符号化を利用して電力消費量を低下させることができる。圧縮比要件が控えめな要件であるならば比較的複雑な予測を使用しなくてよい。前述のようにスライスサイズ（＃バイト／スライス）を制御するかしないかにかかわらず複数のスライス／フレームを使用して低レイテンシー符号化を実現することができる。
【００８３】
特定の態様では、選択的なリフレッシュを使用して送信の一時的な中断を最小限に抑え、透過的なユーザエクスペリエンスを維持するためにエラー耐性を実現することができる。圧縮が軽いものであると仮定すると、スライスまたはピクチャの冗長性およびイントラリフレッシュは、マクロブロック（ＭＢ）リフレッシュよりもシームレスな回復を得る。そのため、チャネルＰＥＲおよびランダムアクセス要件に応じて、冗長なスライス（イントラコーディングされた）を周期的な間隔で導入することができる。ミリメートル波帯域のような大きな帯域幅が利用可能なときでも、非圧縮ビデオは、軽く圧縮されているが耐性を有するビデオと比べてエラー回復力がないことが理解されよう。たとえば、圧縮損失を有する適切な冗長性を付加することによって、イントラフレームは後に続くＰフレームと比べて桁違いに高いエントロピーを有することができる。また、一次イントラフレームが破壊されたときに、冗長イントラフレームにおいてピクチャグループ（ＧＯＰ）長における適切に多重化された増加を、エラー回復に使用することができる。
【００８４】
次に図１０を参照すると分かるように、エラー耐性および取得用のＧＯＰ構造が全体的に１０００で示されている。このＧＯＰ構造１０００は、ＷＤビデオエンコーダ９００内のエラー耐性モジュール９１０によって利用されてよい。図示のように、ＧＯＰ構造１０００は、ｉフレーム１００２と、それに続く、取得ポイントとも呼ばれるランダムアクセスポイント（ＲＡＰ）１００６で終了する一連のｐフレーム１００４とを含む。ｉフレーム１００２からＲＡＰ１００６まで１時間単位、たとえば１秒が経過することができる。取得ポイントの後に取得ＧＯＰ１００８が続いてよい。取得ＧＯＰ１００８は複数のｐフレーム１０１０を含んでよい。取得ＧＯＰ１００８の後に、数秒、すなわちＮ秒後に終了することのできる一連のｐフレーム１０１２が続いてよい。Ｎはシーケンスの終了位置を示す。
【００８５】
ＷＤビデオエンコーダ９００の説明に戻ると、ＷＤビデオエンコーダ９００内のレート制御モジュール９１２は、固定ビットレート（ＣＢＲ）型動作を実行して、瞬間ビットレートの急激な変動によって導入される可能性のある遅延を最小限に抑えることができる。レート適応モジュール９１４は、レート適応を実行して、上述のように共通バッファ内の事前に割り当てられたアドレス空間内にスライスを嵌め込むことができる。バッファのサイズは、サービス発見、初期設定、チャネル競合、またはそれらの組み合わせの間に決定されるＭＴＵ／ＰＤＵに基づくサイズであってよい。
【００８６】
スケーラビリティモジュール９０４は、フレームレートが毎秒６０フレーム（６０ｆｐｓ）であるビデオに対応するように主として時間的なスケーラビリティを提供することができる。２つの予測チェーンを零ＧＯＰまたはシーンベースのＧＯＰに使用することができる。たとえば、単純ＭＥモジュール９０６によって提供される単純ＭＥの間に第１行のＭＢがイントラとして識別された場合、前のＧＯＰで最小ＧＯＰ長が実現されたならば、フレーム全体をイントラとしてコーディングすることができる。図１１に示されているように、多重スライス構造１１００をスケーラビリティに適応させてもよい。
【００８７】
次に図１２を参照すると、ＷＤオーディオエンコーダの例示的な非限定的態様が全体的に１２００で示されている。図示のように、ＷＤオーディオエンコーダ１２００は、ＷＤオーディオエンコーダ１２００内の１つまたは複数のダウンストリームコンポーネントに１つまたは複数のパルスコード変調（ＰＣＭ）サンプルを供給することのできるソース１２０２を含んでよい。図１２は、オーディオスケーラビリティモジュール１２０４をソース１２０２に接続することを示している。また、短遅延低複雑度オーディオエンコーダ１２０６をオーディオスケーラビリティモジュール１２０４に接続してよい。エラー耐性モジュール１２０８を短遅延低複雑度オーディオエンコーダ１２０６に接続してよい。
【００８８】
特定の態様では、オーディオスケーラビリティモジュール１２０４は、ステレオオーディオデータを１つのビットストリームで供給し、追加的なチャネル、たとえば５．１チャネルを分離可能なビットストリームで供給することができる。また、スケーラビリティは、マルチチャネルオーディオデータをトランスポート層で識別することのできる分離可能なビットストリームとしてパッケージングすることによって任意にサポートされてもよい。
【００８９】
特定の態様では、オーディオビットレートは重要ではない。そのため、短遅延低複雑度オーディオエンコーダ１２０６は、ａｄｖａｎｃｅｄ  ａｕｄｉｏ  ｃｏｄｉｎｇ−ｌｏｗ  ｃｏｍｐｌｅｘｉｔｙ（ＡＡＣ−ＬＣ）のような高ビットレート高品質符号化を利用することができる。エラー耐性モジュール１２０８は、補間またはエラー隠蔽が失敗する場合に冗長性、たとえば冗長フレームを導入することができる。
【００９０】
図１２に示されているように、ＷＤオーディオエンコーダは、高度のカプセル化のためのコーディング済みオーディオビットストリームおよびメタデータ、たとえば、表示機能に基づいてただちに適応させるためのスケーリング可能なビットストリームを出力することができる。
【００９１】
図１３は、例示的な非限定的態様のＷＤビデオデコーダ１３００を示している。図示のように、ＷＤビデオデコーダ１３００はビットストリームバッファ１３０２を含んでよい。基本エントロピーデコーダ１３０４をビットストリームバッファ１３０２に接続してよい。基本エントロピーデコーダ１３０４はエラー検出を含んでよい。また、拡張型エントロピーデコーダ１３０６をビットストリームバッファ１３０２に接続してもよい。拡張型エントロピーデコーダ１３０６もエラー検出を含んでよい。
【００９２】
ＣＰＢフォーミュレータモジュール１３０８を基本エントロピーデコーダ１３０４および拡張型エントロピーデコーダ１３０６に接続してよい。また、逆予測モジュール１３１０をＣＰＢフォーミュレータモジュール１３０８に接続してよい。図示のように、エラー回復モジュール１３１２をビットストリームバッファ１３０２および逆予測モジュール１３１０に接続してよい。逆量子化／逆変換モジュール１３１４を逆予測モジュール１３１０に接続してよい。さらに、基準／再構成ピクチャバッファ１３１６を逆予測モジュール１３１０および逆量子化／逆変換モジュール１３１４に接続してよい。表示処理モジュール１３１８を基準／再構成ピクチャバッファ１３１６に接続してよく、ディスプレイを表示処理モジュール１３１８に接続してよい。
【００９３】
特定の態様では、ビットストリームバッファ１３０２に１つまたは複数のディスプレイパラメータを入力するかあるいは他の方法で供給することができる。ディスプレイパラメータには解像度値、リフレッシュレート、フレームレート、入力フォーマットサポート、またはそれらの組み合わせを含めてよい。ＷＤクライアントにおける１つまたは複数の下位層からのエラー情報をエラー回復モジュール１３１２に供給することができる。エラー回復モジュール１３１２は、１つまたは複数の破壊されたネットワーク抽象化層（ＮＡＬ）ユニットを冗長ＮＡＬユニットで置き換えることができる。あるいは、エラー回復ユニット１３１２は、破壊されたＮＡＬユニットをスキップすることができる。エラー回復モジュール１３１２は、逆予測モジュール１３１０に１つまたは複数のエラー隠蔽フラグを供給することもできる。ＣＰＢフォーミュレータモジュール１３０８は、基本エントロピーデコーダ１３０４からのベース画像を拡張型エントロピーデコーダ１３０６からの拡張画像と組み合わせて、復号されたスライス／ＭＢデータの単一の画像を形成することができる。
【００９４】
特定の態様では、ＷＤホストによってＷＤクライアントに供給されるビットストリームは、逐次復号向けに構成されてよく、アウトオブオーダー復号向けのバッファ管理を利用しなくてよい。また、ビットストリーム内に埋め込まれたエラーインジケータからのエラー隠蔽フラグは、現在のフレームの復号を無効化し、エラーを有するスライスの代わりに単に冗長スライスをコピーするかあるいは冗長スライスで置き換えることによるエラー隠蔽を強制することができる。
【００９５】
図１４を参照すると、ワイヤレスディスプレイシステムの第３の態様が全体的に１４００で示されている。図示のように、システム１４００は移動局モデム１４０２を含んでよい。移動局モデム１４０２は、モデム１４０４と、アプリケーションプロセッサ１４０６と、ＷＤサーバ１４０８とを含んでよい。モデム１４０４はＭＡＣ層１４１０とＰＨＹ層１４１２とを含んでよい。アプリケーションプロセッサ１４０６は、アプリケーション層１４１４とトランスポート層１４１６とを含んでよい。アプリケーションプロセッサ１４０６内のトランスポート層１４１６は、モデム１４０４内のＭＡＣ層１４１０に接続されてよい。図示のように、ＷＤサーバ１４０８は、アプリケーション層１４１８と、トランスポート層１４２０と、ＭＡＣ層１４２２と、ＰＨＹ層１４２３とを含んでよい。ＷＤサーバ１４０８内のアプリケーション層１４１８は、アプリケーションプロセッサ１４０６内のアプリケーション層１４１４に接続されてよい。また、ＷＤサーバ１４０８内のトランスポート層１４２０は、アプリケーションプロセッサ１４０６内のトランスポート層１４１６に接続されてよい。
【００９６】
図１４は、ＷＤクライアント１４２６をチャネル１４２８を介して移動局モデム１４０２に接続してよいことを示している。図示のように、ＷＤクライアント１４２６は、アプリケーション層１４３０と、トランスポート層１４３２と、ＭＡＣ層１４３４と、ＰＨＹ層１４３６とを含んでよい。特定の態様では、ＷＤクライアント１４２６内のＰＨＹ層１４３６は、ＷＤサーバ１４０８内のＰＨＹ層１４２４に接続されてよい。ディスプレイプロセッサ１４３８をＷＤクライアント１４２６に接続してよい。ディスプレイプロセッサ１４３８は、ディスプレイデバイス１４４０に接続されるかあるいはディスプレイデバイス１４４０内に配置されてよい。
【００９７】
ＷＤホスト、すなわちＷＤサーバ１４０８で受信されたコンテンツの復号を回避し、レイテンシーを短くし電力を低下させるには、コンテンツビデオまたはコンテンツオーディオの復号のようなアプリケーションプロセッサ１４０６内のアプリケーション層１４１４による処理の前にアプリケーションプロセッサ１４０６の受信チェーン上のトランスポート層１４１６でコンテンツを遮断することができる。
【００９８】
ＷＤサーバ１４０８内のアプリケーション層１４１８は、たとえば、Ｏｐｅｎ  Ｉｎｔｅｒｆａｃｅまたはアプリケーションプログラミングインターフェース（ＡＰＩ）を介して、移動局モデム１４０２上のすべてのマルチメディアアプリケーションと通信することができる。アプリケーション固有のトランスポートパケット、たとえば、ＭｅｄｉａＦＬＯをＷＤトランスポートパケットに再パッケージングすることができる。特定の態様では、タイムスタンプの適切なマッピングによってオーディオ／ビデオ同期を維持することができる。また、アプリケーションの必要に応じて、あるいはモバイルデバイス上の電力が逼迫した状態ではないとき、たとえば、モバイルデバイスが充電されているときに、ＭＤＰの出力からのメディアをディスプレイ１４４０に送信することができる。トランスポートパケットが解析される外部ディスプレイ上のＷＤクライアント１４２６にＷＤ  ＭＡＣ／ＰＨＹを介してＷＤパケットを転送することができる。ビデオデータをＷＤビデオデコーダに送信することができ、オーディオをＷＤオーディオデコーダに送信することができる。ディスプレイデバイス１４４０上またはディスプレイデバイス１４４０内のディスプレイプロセッサ１４３８は、復元されたビデオをディスプレイデバイス１４４０に適合するように処理することができる。このプロセスは、エラー回復を含む。多量の計算を必要とする動作および多量の電力を必要とする動作を電池式モバイルデバイスから壁取り付け式ディスプレイ１４４０に移してもよい。
【００９９】
本開示の１つまたは複数の態様は、ハンドヘルドデバイスに関して電力効率の高いワイヤレスディスプレイ用の低レイテンシー（所望のレイテンシーを有する）でスケーリング可能なアーキテクチャを提供する。また、本明細書で説明するコーディング方法は、レート適応要件、エラー耐性／回復要件、およびスケーラビリティ要件を満たす。ＷＰＡＮネットワーク上のより大きな帯域幅、たとえばＵＷＢを使用してより高いビットレートで符号化を行い、適切なランダムアクセスメカニズムおよびリフレッシュメカニズムによって品質を高めかつエラーロバストネスを向上させることができる。Ｂフレームを不要にすることができ、漸進的Ｐフレーム／モードを使用してエンコーダ動作およびデコーダ動作をパイプライン化し、端末間のレイテンシーを短くするとともに複雑度を低減させることができる。ビデオパケットサイズ、たとえば、ＮＡＬＵ長の選択は、オーバヘッドを低減させビットレートを高めるためにアウターコーディングレートおよびインナーコーディングレート／ブロック長を満たすように適応させることができる。アプリケーション層、トランスポート層、およびＭＡＣ／ＰＨＹ層を通過するデータのシステマティックなパイプライン化されたフローをサポートしてレイテンシーを短くするように、本明細書に開示されたシステムの１つまたは複数を効率化することができる。
【０１００】
また、特定の態様では、本明細書に開示されたシステムは、コンテンツを受信する手段に対して透過的である。言い換えれば、会話、たとえばビデオ電話、ＶＯＤ、擬似ストリーミング、記憶媒体、放送、たとえば、ＤＴＶ、モバイルＴＶ、またはそれらの組み合わせを含む多数の可能な手段のいずれかを介して媒体を受信することができる。単一のコンテンツインターフェースフォーマットは、ＷＤホストでの処理を簡略化することができる。また、ＭＤＰを使用してメディアを表示要件に適合するように修正する場合、ディスプレイにおける処理要件を簡略化することができる。
【０１０１】
本明細書に記載された他の態様は、ビデオ処理およびメモリバスを介したデータ転送の量を最小限に抑えることができる。したがって、モジュールデバイス向けに最適化された低電力、低コスト、短遅延の解決手段を提供することができる。これによって、モバイルデバイスは、複数の受信されたメディア／コンテンツを、ユーザまたはアプリケーション開発者によってカスタム化可能な様々な形態で示しうる外部ディスプレイに転送することができる。本明細書における１つまたは複数の態様は、圧縮が１回または複数回にわたって追加的な発生を防止し、視聴覚品質に関係するユーザエクスペリエンスに関するエクスペリエンスの質に対する影響を最小限に抑えることができる。データを表示特性に適合させるために情報交換やネゴシエーションを不要にすることができる。ディスプレイの適応化をディスプレイプロセッサで実行することができる。また、トランスポート層でのエラー耐性は、適切なペイロードの単なる複製によって提供されてよい。
【０１０２】
特定の態様では、近距離通信（ＮＦＣ）を使用してモバイルデバイスとワイヤレスディスプレイとの間にＷＤピアツーピア通信リンクを確立することができる。このような態様では、モバイルデバイスおよびワイヤレスディスプレイはＮＦＣリーダを含んでよい。ＮＦＣは、暗号化鍵およびＷＤチャネルセットアップ情報を交換するのに使用することができる。このような情報には、すべての利用可能な短距離高速ワイヤレスリンク用の周波数および初期帯域幅を含めてよい。モバイルとディスプレイの両方で実行される優先順位付けプロトコルは、利用可能な共通リンクのうちのどちらをピアツーピア接続に使用するかを決定することができる。このプロトコルによる一次決定が失敗した場合、後続のＮＦＣ交換を実行することができる。さらに、複数回のＮＦＣ交換を実行してよい。決定が成功した後、プロトコルによって指定されるチャネルパラメータに応じてモバイルデバイスとワイヤレスディスプレイとの間にピアツーピア接続を確立することができる。
【０１０３】
ＷＤチャネルが確立された後、ＷＤセッションを開始することができ、モバイルデバイスはＷＤチャネルまたはＷＤリンクを介してワイヤレスディスプレイにコンテンツを送ることができる。後続の帯域幅およびチャネル再確立ネゴシエーションをこのリンクを介して生じることができる。モバイルデバイスおよびワイヤレスディスプレイ上の利用可能な高速リンクのリストには、現在のリンク、たとえば、Ｗ−ＶＧＡ、Ｗ−ＨＤＭＩ、Ｗｉｒｅｌｅｓｓ  ＵＳＢ、および将来のリンク、たとえば、ＷｉｒｅｌｅｓｓＨＤを含めてよい。最も適切なリンクは、ＷＤ優先順位付けプロトコルによって選択されてよい。
【０１０４】
本明細書で説明する方法ステップを必ずしも前述の順序で実施する必要はないことを理解されたい。また、「その後」、「次いで」、「次に」などの語はステップの順序を限定するものではない。これらの語は、方法ステップの説明を通して読者を導くために使用されているに過ぎない。
【０１０５】
１つまたは複数の例示的な態様では、上述の機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせで実施されてよい。ソフトウェアで実施された場合、これらの機能は、１つまたは複数の命令またはコードとしてコンピュータ読み取り可能媒体上に記憶されるか、あるいは１つまたは複数の命令またはコードとして送信されてよい。コンピュータ読み取り可能媒体には、コンピュータ記憶媒体と、コンピュータプログラムをある場所から他の場所に転送するのを容易にする任意の媒体を含む通信媒体の両方を含めてよい。記憶媒体は、コンピュータによってアクセスできる任意の利用可能な媒体であってよい。限定ではなく一例として、そのようなコンピュータ読み取り可能媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、または他の光学ディスクストレージ、磁気ディスクストレージまたは他の磁気記憶デバイス、あるいは所望のプログラムコードを命令またはデータ構造の形で保持または記憶するのに使用することができ、かつコンピュータによってアクセスできる任意の他の媒体を備えてよい。また、任意の接続が適宜コンピュータ読み取り可能媒体と呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、撚り線対、デジタル加入者線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、撚り線対、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術が媒体の定義に含められる。本明細書で使用されるディスク（ｄｉｓｋおよびｄｉｓｃ）には、コンパクトディスク（ＣＤ）、レーザディスク、光ディスク、デジタルバーサティルディスク（ＤＶＤ）、フロッピー（登録商標）ディスク、およびブルーレイディスクが含まれ、ディスク（ｄｉｓｋ）は通常、データを磁気的に再生し、ディスク（ｄｉｓｃ）はデータをレーザによって光学的に再生する。上記の媒体の組み合わせもコンピュータ読み取り可能媒体の範囲内に含めるべきである。
【０１０６】
選択された態様を図示し詳しく説明したが、特許請求の範囲によって定義される本発明の趣旨および範囲から逸脱せずに各態様に様々な代替および変更を施せることが理解されよう。
なお、以下に、出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］ワイヤレスディスプレイデバイスにコンテンツを送信する方法であって、
マルチメディアデータを受信することと、
前記マルチメディアデータを符号化することと、
符号化済みマルチメディアデータを共有メモリの第１の所定のメモリ位置に書き込むことと、
前記符号化済みマルチメディアデータをカプセル化することと、
カプセル化データを前記共有メモリの第２の所定のメモリ位置に書き込むことと、
エラー制御符号化を算出することと、
前記エラー制御符号化を前記共有メモリの第３の所定のメモリ位置に書き込むことと、
前記符号化済みマルチメディアデータ、前記カプセル化データ、および前記エラー制御符号化を前記ワイヤレスディスプレイデバイスに送信することとを備える方法。
［Ｃ２］チャネル帯域幅、パケットエラーレート、および所望のレイテンシーの少なくとも１つを決定することをさらに備える、Ｃ１に記載の方法。
［Ｃ３］ビデオパケットサイズ、トランスポートヘッダ特性および対応する長さ、ならびにアウターコーディングレートおよび対応する媒体アクセス制御（ＭＡＣ）ヘッダ長のうちの少なくとも１つを算出することをさらに備える、Ｃ２に記載の方法。
［Ｃ４］前記ビデオパケットサイズ、前記トランスポートヘッダ特性および前記対応する長さ、ならびに前記アウターコーディングレートおよび前記対応するＭＡＣヘッダ長は、前記チャネル帯域幅、前記パケットエラーレート、および前記所望のレイテンシーの少なくとも１つに基づいて決定される、Ｃ３に記載の方法。
［Ｃ５］ＭＡＣヘッダ用の第１のメモリアドレス長を割り当てることと、
トランスポートヘッダ用の第２のメモリアドレス長を割り当てることと、
ビデオパケット用の第３のメモリアドレス長を割り当てることとをさらに備える、Ｃ４に記載の方法。
［Ｃ６］コーディング済みビデオデータを前記共有メモリの前記所定のメモリ位置に書き込むことをさらに備える、Ｃ５に記載の方法。
［Ｃ７］ビデオエンコーダからメタデータを取得することをさらに備える、Ｃ６に記載の方法。
［Ｃ８］１つまたは複数のコーディング済みビデオデータセグメント用のヘッダを準備することをさらに備える、Ｃ７に記載の方法。
［Ｃ９］前記１つまたは複数のコーディング済みビデオデータセグメント用のパリティデータを作成することをさらに備える、Ｃ８に記載の方法。
［Ｃ１０］前記１つまたは複数のコーディング済みビデオデータセグメントの最後部に前記パリティデータを挿入することをさらに備える、Ｃ９に記載の方法。
［Ｃ１１］ワイヤレスデバイスであって、
マルチメディアデータを受信するための手段と、
前記マルチメディアデータを符号化するための手段と、
符号化済みマルチメディアデータを共有メモリの第１の所定のメモリ位置に書き込むための手段と、
前記符号化済みマルチメディアデータをカプセル化するための手段と、
カプセル化データを前記共有メモリの第２の所定のメモリ位置に書き込むための手段と、
エラー制御符号化を算出するための手段と、
前記エラー制御符号化を前記共有メモリの第３の所定のメモリ位置に書き込むための手段と、
前記符号化済みマルチメディアデータ、前記カプセル化データ、および前記エラー制御符号化を前記ワイヤレスディスプレイデバイスに送信するための手段とを備えるワイヤレスデバイス。
［Ｃ１２］チャネル帯域幅、パケットエラーレート、および所望のレイテンシーの少なくとも１つを決定するための手段をさらに備える、Ｃ１１に記載のワイヤレスデバイス。
［Ｃ１３］ビデオパケットサイズ、トランスポートヘッダ特性および対応する長さ、ならびにアウターコーディングレートおよび対応する媒体アクセス制御（ＭＡＣ）ヘッダ長のうちの少なくとも１つを算出するための手段をさらに備える、Ｃ１２に記載のワイヤレスデバイス。
［Ｃ１４］前記ビデオパケットサイズ、前記トランスポートヘッダ特性および前記対応する長さ、ならびに前記アウターコーディングレートおよび前記対応するＭＡＣヘッダ長は、前記チャネル帯域幅、前記パケットエラーレート、および前記所望のレイテンシーのうちの少なくとも１つに基づいて決定される、Ｃ１３に記載のワイヤレスデバイス。
［Ｃ１５］ＭＡＣヘッダ用の第１のメモリアドレス長を割り当てるための手段と、
トランスポートヘッダ用の第２のメモリアドレス長を割り当てるための手段と、
ビデオパケット用の第３のメモリアドレス長を割り当てるための手段とをさらに備える、Ｃ１４に記載のワイヤレスデバイス。
［Ｃ１６］コーディング済みビデオデータを前記共有メモリの前記所定のメモリ位置に書き込む手段をさらに備える、Ｃ１５に記載のワイヤレスデバイス。
［Ｃ１７］ビデオエンコーダからメタデータを取得するための手段をさらに備える、Ｃ１６に記載のワイヤレスデバイス。
［Ｃ１８］１つまたは複数のコーディング済みビデオデータセグメント用のヘッダを準備するための手段をさらに備える、Ｃ１７に記載のワイヤレスデバイス。
［Ｃ１９］前記１つまたは複数のコーディング済みビデオデータセグメント用のパリティデータを作成するための手段をさらに備える、Ｃ１８に記載のワイヤレスデバイス。
［Ｃ２０］前記１つまたは複数のコーディング済みビデオデータセグメントの最後部に前記パリティデータを挿入するための手段をさらに備える、Ｃ１９に記載のワイヤレスデバイス。
［Ｃ２１］ワイヤレスデバイスであって、
プロセッサを備え、前記プロセッサが、
マルチメディアデータを受信し、
前記マルチメディアデータを符号化し、
符号化済みマルチメディアデータを共有メモリの第１の所定のメモリ位置に書き込み、
前記符号化済みマルチメディアデータをカプセル化し、
カプセル化データを前記共有メモリの第２の所定のメモリ位置に書き込み、
エラー制御符号化を算出し、
前記エラー制御符号化を前記共有メモリの第３の所定のメモリ位置に書き込み、
前記符号化済みマルチメディアデータ、前記カプセル化データ、および前記エラー制御符号化を前記ワイヤレスディスプレイデバイスに送信するように動作可能であるワイヤレスデバイス。
［Ｃ２２］前記プロセッサはさらに、チャネル帯域幅、パケットエラーレート、および所望のレイテンシーの少なくとも１つを決定するように動作可能である、Ｃ２１に記載のワイヤレスデバイス。
［Ｃ２３］前記プロセッサはさらに、ビデオパケットサイズ、トランスポートヘッダ特性および対応する長さ、ならびにアウターコーディングレートおよび対応する媒体アクセス制御（ＭＡＣ）ヘッダ長のうちの少なくとも１つを算出するように動作可能である、Ｃ２２に記載のワイヤレスデバイス。
［Ｃ２４］前記ビデオパケットサイズ、前記トランスポートヘッダ特性および前記対応する長さ、ならびに前記アウターコーディングレートおよび前記対応するＭＡＣヘッダ長は、前記チャネル帯域幅、前記パケットエラーレート、および前記所望のレイテンシーのうちの少なくとも１つに基づいて決定される、Ｃ２３に記載のワイヤレスデバイス。
［Ｃ２５］前記プロセッサはさらに、
ＭＡＣヘッダ用の第１のメモリアドレス長を割り当て、
トランスポートヘッダ用の第２のメモリアドレス長を割り当て、
ビデオパケット用の第３のメモリアドレス長を割り当てるように動作可能である、Ｃ２４に記載のワイヤレスデバイス。
［Ｃ２６］前記プロセッサはさらに、コーディング済みビデオデータを前記共有メモリの前記所定のメモリ位置に書き込むように動作可能である、Ｃ２５に記載のワイヤレスデバイス。
［Ｃ２７］前記プロセッサはさらに、ビデオエンコーダからメタデータを取得するように動作可能である、Ｃ２６に記載のワイヤレスデバイス。
［Ｃ２８］前記プロセッサはさらに、１つまたは複数のコーディング済みビデオデータセグメント用のヘッダを準備するように動作可能である、Ｃ２７に記載のワイヤレスデバイス。
［Ｃ２９］前記プロセッサはさらに、前記１つまたは複数のコーディング済みビデオデータセグメント用のパリティデータを作成するように動作可能である、Ｃ２８に記載のワイヤレスデバイス。
［Ｃ３０］前記プロセッサはさらに、前記１つまたは複数のコーディング済みビデオデータセグメントの最後部に前記パリティデータを挿入するように動作可能である、Ｃ２９に記載のワイヤレスデバイス。
［Ｃ３１］コンピュータ読み取り可能媒体を備え、前記コンピュータ読み取り可能媒体が、
マルチメディアデータを受信するための少なくとも１つの命令と、
前記マルチメディアデータを符号化するための少なくとも１つの命令と、
符号化済みマルチメディアデータを共有メモリの第１の所定のメモリ位置に書き込むための少なくとも１つの命令と、
前記符号化済みマルチメディアデータをカプセル化するための少なくとも１つの命令と、
カプセル化データを前記共有メモリの第２の所定のメモリ位置に書き込むための少なくとも１つの命令と、
エラー制御符号化を算出するための少なくとも１つの命令と、
前記エラー制御符号化を前記共有メモリの第３の所定のメモリ位置に書き込むための少なくとも１つの命令と、
前記符号化済みマルチメディアデータ、前記カプセル化データ、および前記エラー制御符号化を前記ワイヤレスディスプレイデバイスに送信するための少なくとも１つの命令とを備えるコンピュータプログラムプロダクト。
［Ｃ３２］前記コンピュータ読み取り可能媒体は、チャネル帯域幅、パケットエラーレート、および所望のレイテンシーの少なくとも１つを決定するための少なくとも１つの命令をさらに備える、Ｃ３１に記載のコンピュータプログラムプロダクト。
［Ｃ３３］前記コンピュータ読み取り可能媒体は、ビデオパケットサイズ、トランスポートヘッダ特性および対応する長さ、ならびにアウターコーディングレートおよび対応する媒体アクセス制御（ＭＡＣ）ヘッダ長のうちの少なくとも１つを算出するための少なくとも１つの命令をさらに備える、Ｃ３２に記載のコンピュータプログラムプロダクト。
［Ｃ３４］前記ビデオパケットサイズ、前記トランスポートヘッダ特性および前記対応する長さ、ならびに前記アウターコーディングレートおよび前記対応するＭＡＣヘッダ長は、前記チャネル帯域幅、前記パケットエラーレート、および前記所望のレイテンシーのうちの少なくとも１つに基づいて決定される、Ｃ３３に記載のコンピュータプログラムプロダクト。
［Ｃ３５］前記コンピュータ読み取り可能媒体は、
ＭＡＣヘッダ用の第１のメモリアドレス長を割り当てるための少なくとも１つの命令と、
トランスポートヘッダ用の第２のメモリアドレス長を割り当てるための少なくとも１つの命令と、
ビデオパケット用の第３のメモリアドレス長を割り当てるための少なくとも１つの命令とをさらに備える、Ｃ３４に記載のコンピュータプログラムプロダクト。
［Ｃ３６］前記コンピュータ読み取り可能媒体は、コーディング済みビデオデータを前記共有メモリの前記所定のメモリ位置に書き込むための少なくとも１つの命令をさらに備える、Ｃ３５に記載のコンピュータプログラムプロダクト。
［Ｃ３７］前記コンピュータ読み取り可能媒体は、ビデオエンコーダからメタデータを取得するための少なくとも１つの命令をさらに備える、Ｃ３６に記載のコンピュータプログラムプロダクト。
［Ｃ３８］前記コンピュータ読み取り可能媒体は、１つまたは複数のコーディング済みビデオデータセグメント用のヘッダを準備するための少なくとも１つの命令をさらに備える、Ｃ３７に記載のコンピュータプログラムプロダクト。
［Ｃ３９］前記コンピュータ読み取り可能媒体は、前記１つまたは複数のコーディング済みビデオデータセグメント用のパリティデータを作成するための少なくとも１つの命令をさらに備える、Ｃ３８に記載のコンピュータプログラムプロダクト。
［Ｃ４０］前記コンピュータ読み取り可能媒体は、前記１つまたは複数のコーディング済みビデオデータセグメントの最後部に前記パリティデータを挿入するための少なくとも１つの命令をさらに備える、Ｃ３９に記載のコンピュータプログラムプロダクト。
［Ｃ４１］モバイルデバイスからディスプレイデバイスに無線でデータを送信する方法であって、
第１のパケットに含めるべき第１のデータを前記モバイルデバイスで受信することと、
第２のパケットに含めるべき第２のデータを前記モバイルデバイスで受信することと、
前記第１のデータの符号化バージョン、前記第２のデータの符号化バージョン、前記第１のデータの前記符号化バージョンに関連する第１のトランスポートヘッダデータ、前記第２のデータの前記符号化バージョンに関連する第２のトランスポートヘッダデータ、前記第１のデータに関連する第１の媒体アクセス制御（ＭＡＣ）ヘッダデータ、および前記第２のデータに関連する第２のＭＡＣヘッダデータを記憶するための、前記モバイルデバイスに関連するメモリバッファの位置を割り当ることであって、前記第１の符号化済みデータ、前記第１のトランスポートヘッダデータ、および前記第１のＭＡＣヘッダデータが連続するメモリ位置に記憶され、前記第２の符号化済みデータ、前記第２のトランスポートヘッダデータ、および前記第２のＭＡＣヘッダデータが連続するメモリ位置に記憶されるように前記位置を割り当てることと、
前記第１の符号化済みデータ、前記第１のトランスポートヘッダデータ、および前記第１のＭＡＣヘッダデータを連続するメモリバッファ位置に記憶し、前記第２の符号化済みデータ、前記第２のトランスポートヘッダデータ、および前記第２のＭＡＣヘッダデータを連続するメモリ位置に記憶することとを備える方法。
［Ｃ４２］記憶することは、前記第１の符号化済みデータおよび前記第２の符号化済みデータを同時に記憶することを含む、Ｃ４１に記載の方法。
［Ｃ４３］前記割り当てられる位置は、所定のチャネル帯域幅およびパケットエラーレート（ＰＥＲ）に基づく、Ｃ４１に記載の方法。
［Ｃ４４］前記モバイルデバイスから前記ディスプレイデバイスへ前記第１および第２のパケットのうちの１つまたは複数を送信することをさらに備える、Ｃ４１に記載の方法。
［Ｃ４５］前記モバイルデバイスと前記ディスプレイデバイスとの間に近距離通信（ＮＦＣ）リンクを確立することをさらに備え、
前記モバイルデバイスから前記ディスプレイデバイスへ前記第１および第２のパケットのうちの１つまたは複数を送信することは、前記モバイルデバイスから前記ディスプレイデバイスへ前記ＮＦＣリンクを介して前記第１および第２のパケットのうちの１つまたは複数を送信することを含む、Ｃ４４に記載の方法。
［Ｃ４６］前記第１の符号化済みデータ、前記第１のトランスポートヘッダデータ、および前記第１のＭＡＣヘッダデータを前記ディスプレイデバイスに関連する連続するメモリバッファ位置に記憶し、前記第２の符号化済みデータ、前記第２のトランスポートヘッダデータ、および前記第２のＭＡＣヘッダデータを前記ディスプレイデバイスに関連する連続するメモリ位置に記憶することをさらに備える、Ｃ４１に記載の方法。
［Ｃ４７］モバイルデバイスとディスプレイデバイスとの間で無線でデータを送信する方法であって、
前記モバイルデバイスでデータを受信することと、
前記受信されたデータを伝送制御プロトコル（ＴＣＰ）セグメントに含めることと、
前記モバイルデバイスによって前記受信されたデータのためのアプリケーション層処理の前に前記ＴＣＰセグメントを前記ディスプレイデバイスに転送することとを備える方法。
［Ｃ４８］前記受信されたデータは前記モバイルデバイス上に記憶されない、Ｃ４７に記載の方法。
［Ｃ４９］モバイルデバイスからディスプレイデバイスに無線でデータを送信するシステムであって、
第１のパケットに含めるべき第１のデータを前記モバイルデバイスで受信するための手段と、
第２のパケットに含めるべき第２のデータを前記モバイルデバイスで受信するための手段と、
前記第１のデータの符号化バージョン、前記第２のデータの符号化バージョン、前記第１のデータの前記符号化バージョンに関連する第１のトランスポートヘッダデータ、前記第２のデータの前記符号化バージョンに関連する第２のトランスポートヘッダデータ、前記第１のデータに関連する第１の媒体アクセス制御（ＭＡＣ）ヘッダデータ、および前記第２のデータに関連する第２のＭＡＣヘッダデータを記憶するための、前記モバイルデバイスに関連するメモリバッファの位置を割り当てる手段であって、前記第１の符号化済みデータ、前記第１のトランスポートヘッダデータ、および前記第１のＭＡＣヘッダデータが連続するメモリ位置に記憶され、前記第２の符号化済みデータ、前記第２のトランスポートヘッダデータ、および前記第２のＭＡＣヘッダデータが連続するメモリ位置に記憶されるように前記位置を割り当てる手段と、
前記第１の符号化済みデータ、前記第１のトランスポートヘッダデータ、および前記第１のＭＡＣヘッダデータを連続するメモリバッファ位置に記憶し、前記第２の符号化済みデータ、前記第２のトランスポートヘッダデータ、および前記第２のＭＡＣヘッダデータを連続するメモリ位置に記憶するための手段とを備えるシステム。
［Ｃ５０］前記割り当てられる位置は、所定のチャネル帯域幅およびパケットエラーレート（ＰＥＲ）に基づく、Ｃ４９に記載のシステム。
［Ｃ５１］前記モバイルデバイスと前記ディスプレイデバイスとの間に近距離通信（ＮＦＣ）リンクを確立するための手段と、
前記モバイルデバイスから前記ディスプレイデバイスへ前記ＮＦＣリンクを介して前記第１および第２のパケットのうちの１つまたは複数を送信するための手段とをさらに備える、Ｃ４９に記載のシステム。
［Ｃ５２］前記第１の符号化済みデータ、前記第１のトランスポートヘッダデータ、および前記第１のＭＡＣヘッダデータを前記ディスプレイデバイスに関連する連続するメモリバッファ位置に記憶し、前記第２の符号化済みデータ、前記第２のトランスポートヘッダデータ、および前記第２のＭＡＣヘッダデータを前記ディスプレイデバイスに関連する連続するメモリ位置に記憶するための手段をさらに備える、Ｃ４９に記載のシステム。
［Ｃ５３］モバイルデバイスとディスプレイデバイスとの間で無線でデータを送信するシステムであって、
前記モバイルデバイスでデータを受信するための手段と、
前記受信されたデータを伝送制御プロトコル（ＴＣＰ）セグメントに含める手段と、
前記モバイルデバイスによって前記受信されたデータのためのアプリケーション層処理の前に前記ＴＣＰセグメントを前記ディスプレイデバイスに転送するための手段とを備えるシステム。
［Ｃ５４］前記受信されたデータは、前記モバイルデバイス上に記憶されない、Ｃ５３に記載のシステム。
［Ｃ５５］コンピュータ読み取り可能媒体を備えるコンピュータプログラムプロダクトであって、
前記コンピュータ読み取り可能媒体は、
モバイルデバイスからディスプレイデバイスへ無線でデータを送信するためのコードであって、
第１のパケットに含めるべき第１のデータを前記モバイルデバイスで受信させるためのコードと、
第２のパケットに含めるべき第２のデータを前記モバイルデバイスで受信させるためのコードと、
前記第１のデータの符号化バージョン、前記第２のデータの符号化バージョン、前記第１のデータの前記符号化バージョンに関連する第１のトランスポートヘッダデータ、前記第２のデータの前記符号化バージョンに関連する第２のトランスポートヘッダデータ、前記第１のデータに関連する第１の媒体アクセス制御（ＭＡＣ）ヘッダデータ、および前記第２のデータに関連する第２のＭＡＣヘッダデータを記憶するためのメモリバッファの位置を割り当てさせるためのコードであって、前記第１の符号化済みデータ、前記第１のトランスポートヘッダデータ、および前記第１のＭＡＣヘッダデータが連続するメモリ位置に記憶され、前記第２の符号化済みデータ、前記第２のトランスポートヘッダデータ、および前記第２のＭＡＣヘッダデータが連続するメモリ位置に記憶されるように前記位置を割り当てさせるためのコードと、
前記第１の符号化済みデータ、前記第１のトランスポートヘッダデータ、および前記第１のＭＡＣヘッダデータを連続するメモリバッファ位置に記憶させ、前記第２の符号化済みデータ、前記第２のトランスポートヘッダデータ、および前記第２のＭＡＣヘッダデータを連続するメモリ位置に記憶させるためのコードとを備える、コードを備えるコンピュータプログラムプロダクト。
［Ｃ５６］前記位置を所定のチャネル帯域幅およびパケットエラーレート（ＰＥＲ）に基づいて割り当てさせるためのコードをさらに備える、Ｃ５５に記載のコンピュータプログラムプロダクト。
［Ｃ５７］前記モバイルデバイスと前記ディスプレイデバイスとの間に近距離通信（ＮＦＣ）リンクを確立させるためのコードと、
前記モバイルデバイスから前記ディスプレイデバイスへ前記ＮＦＣリンクを介して前記第１および第２のパケットのうちの１つまたは複数を送信させるためのコードとをさらに備える、Ｃ５５に記載のコンピュータプログラムプロダクト。
［Ｃ５８］コンピュータ読み取り可能媒体を備えるコンピュータプログラムプロダクトであって、
前記コンピュータ読み取り可能媒体は、
モバイルデバイスとディスプレイデバイスとの間で無線でデータを送信するためのコードであって、
前記モバイルデバイスでデータを受信させるためのコードと、
前記受信されたデータを伝送制御プロトコル（ＴＣＰ）セグメントに含めさせるためのコードと、
前記モバイルデバイスによって前記受信されたデータのためのアプリケーション層処理の前に前記ＴＣＰセグメントを前記ディスプレイデバイスに転送させるためのコードとを備える、コードを備えるコンピュータプログラムプロダクト。
［Ｃ５９］前記受信されたデータは、前記モバイルデバイス上に記憶されない、Ｃ５８に記載のコンピュータプログラムプロダクト。
［Ｃ６０］モバイルデバイスからのデータを無線でディスプレイデバイスで受信する方法であって、
前記ディスプレイデバイスで第１のパケットを受信することと、
前記ディスプレイデバイスで第２のパケットを受信することと、
前記第１のパケットからの符号化済みデータ、前記第２のパケットからの符号化済みデータ、前記第１のパケットからのトランスポートヘッダデータ、前記第２のパケットからのトランスポートヘッダデータ、前記第１のパケットからの媒体アクセス制御（ＭＡＣ）ヘッダデータ、および前記第２のパケットからのＭＡＣヘッダデータを記憶するための、前記ディスプレイデバイスに関連するメモリバッファの位置を割り当てることであって、前記第１のパケットからの前記符号化済みデータ、前記トランスポートヘッダデータ、および前記ＭＡＣヘッダデータが連続するメモリ位置に記憶され、前記第２のパケットからの前記符号化済みデータ、前記トランスポートヘッダデータ、および前記ＭＡＣヘッダデータが連続するメモリ位置に記憶されるように前記位置を割り当てることと、
第１のパケットからの前記符号化済みデータ、前記トランスポートヘッダデータ、および前記ＭＡＣヘッダデータを連続するメモリバッファ位置に記憶し、前記第２のパケットからの前記符号化済みデータ、前記トランスポートヘッダデータ、および前記ＭＡＣヘッダデータを連続するメモリ位置に記憶することとを備える方法。
［Ｃ６１］前記割り当てられる位置は、所定のチャネル帯域幅およびパケットエラーレート（ＰＥＲ）に基づく、Ｃ６０に記載の方法。
［Ｃ６２］前記モバイルデバイスと前記ディスプレイデバイスとの間に近距離通信（ＮＦＣ）リンクを確立することをさらに備え、
前記第１および第２のパケットを受信することは、前記第１および第２のパケットを前記ＮＦＣリンクを介して受信することを含む、Ｃ６０に記載の方法。
［Ｃ６３］モバイルデバイスからのデータを無線でディスプレイデバイスで受信するシステムであって、
前記ディスプレイデバイスで第１のパケットを受信するための手段と、
前記ディスプレイデバイスで第２のパケットを受信するための手段と、
前記第１のパケットからの符号化済みデータ、前記第２のパケットからの符号化済みデータ、前記第１のパケットからのトランスポートヘッダデータ、前記第２のパケットからのトランスポートヘッダデータ、前記第１のパケットからの媒体アクセス制御（ＭＡＣ）ヘッダデータ、および前記第２のパケットからのＭＡＣヘッダデータを記憶するための、前記ディスプレイデバイスに関連するメモリバッファの位置を割り当てる手段であって、前記第１のパケットからの前記符号化済みデータ、前記トランスポートヘッダデータ、および前記ＭＡＣヘッダデータが連続するメモリ位置に記憶され、前記第２のパケットからの前記符号化済みデータ、前記トランスポートヘッダデータ、および前記ＭＡＣヘッダデータが連続するメモリ位置に記憶されるように前記位置を割り当てるための手段と、
第１のパケットからの前記符号化済みデータ、前記トランスポートヘッダデータ、および前記ＭＡＣヘッダデータを連続するメモリバッファ位置に記憶し、前記第２のパケットからの前記符号化済みデータ、前記トランスポートヘッダデータ、および前記ＭＡＣヘッダデータを連続するメモリ位置に記憶するための手段とを備えるシステム。
［Ｃ６４］前記割り当てられる位置は、所定のチャネル帯域幅およびパケットエラーレート（ＰＥＲ）に基づく、Ｃ６３に記載のシステム。
［Ｃ６５］前記モバイルデバイスと前記ディスプレイデバイスとの間に近距離通信（ＮＦＣ）リンクを確立するための手段と、
前記第１および第２のパケットを前記ＮＦＣリンクを介して前記ディスプレイデバイスで受信するための手段とをさらに備える、Ｃ６３に記載のシステム。
［Ｃ６６］コンピュータ読み取り可能媒体を備えるコンピュータプログラムプロダクトであって、
前記コンピュータ読み取り可能媒体は、
モバイルデバイスからのデータを無線でディスプレイデバイスで受信するためのコードであって、
前記ディスプレイデバイスで第１のパケットを受信させるためのコードと、
前記ディスプレイデバイスで第２のパケットを受信させるためのコードと、
前記第１のパケットからの符号化済みデータ、前記第２のパケットからの符号化済みデータ、前記第１のパケットからのトランスポートヘッダデータ、前記第２のパケットからのトランスポートヘッダデータ、前記第１のパケットからの媒体アクセス制御（ＭＡＣ）ヘッダデータ、および前記第２のパケットからのＭＡＣヘッダデータを記憶するための、前記ディスプレイデバイスに関連するメモリバッファの位置を割り当てさせるコードであって、前記第１のパケットからの前記符号化済みデータ、前記トランスポートヘッダデータ、および前記ＭＡＣヘッダデータが連続するメモリ位置に記憶され、前記第２のパケットからの前記符号化済みデータ、前記トランスポートヘッダデータ、および前記ＭＡＣヘッダデータが連続するメモリ位置に記憶されるように前記位置を割り当てるためのコードと、
第１のパケットからの前記符号化済みデータ、前記トランスポートヘッダデータ、および前記ＭＡＣヘッダデータを連続するメモリバッファ位置に記憶させ、前記第２のパケットからの前記符号化済みデータ、前記トランスポートヘッダデータ、および前記ＭＡＣヘッダデータを連続するメモリ位置に記憶させるためのコードとを含む、コードを含むコンピュータプログラムプロダクト。
［Ｃ６７］前記位置を所定のチャネル帯域幅およびパケットエラーレート（ＰＥＲ）に基づいて割り当てさせるためのコードをさらに備える、Ｃ６６に記載のコンピュータプログラムプロダクト。
［Ｃ６８］前記モバイルデバイスと前記ディスプレイデバイスとの間に近距離通信（ＮＦＣ）リンクを確立させるためのコードと、
前記第１および第２のパケットを前記ＮＦＣリンクを介して前記ディスプレイデバイスで受信させるためのコードとをさらに備える、Ｃ６６に記載のコンピュータプログラムプロダクト。
【図１】
0005746392.tif 000004
【図２】
0005746392.tif 000005
【図３】
0005746392.tif 000006
【図４】
0005746392.tif 000007
【図５】
0005746392.tif 000008
【図６】
0005746392.tif 000009
【図７】
0005746392.tif 000010
【図８】
0005746392.tif 000011
【図９】
0005746392.tif 000012
【図１０】
0005746392.tif 000013
【図１１】
0005746392.tif 000014
【図１２】
0005746392.tif 000015
【図１３】
0005746392.tif 000016
【図１４】
0005746392.tif 000017