限られたDVB受信機メモリを用いて複数の同時ストリームバーストを受信するための方法及び装置
フレームサイズが利用可能メモリのサイズよりも小さいかどうかを決定することと、第1のパケットの優先度が第2のパケットの優先度よりも低いかどうかを決定することであって、前記フレームサイズは、前記第2のパケットに関するフレームのサイズであることと、前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低い場合は前記第1のパケットの処理を打ち切ること及び前記パケットへの前記利用可能メモリの割り当てを解除することを要求することと、前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低くない場合は前記利用可能メモリの前記サイズが前記フレームサイズと等しいか又はそれよりも大きくなるまで待つことと、前記利用可能メモリを前記第2のパケットに関する前記フレームに割り当てることとを備える、複数の同時ストリームバーストを受信するための装置及び方法。
【発明の詳細な説明】
【技術分野】
【0001】
35U.S.C.§119に基づく優先権の主張
本特許出願は、“MULTIPLE STREAM BURSTS”(複数のストリームバースト)という題名を有し、ここの譲受人に対して譲渡され、ここにおいて参照されることによって明示で組み入れられている仮特許出願番号60/970,922(出願日:2007年9月7日)及び“MULTIPLE STREAM BURSTS” (複数のストリームバースト)という題名を有し、ここの譲受人に対して譲渡され、ここにおいて参照されることによって明示で組み入れられている仮特許出願番号60/971,531(出願日:2007年9月11日)に対する優先権を主張するものである。
【0002】
この開示は、一般的には、複数のストリームバーストを受信するための装置及び方法に関するものである。この開示は、より具体的には、限られたDVB受信機メモリを用いて複数の同時ストリームバーストを受信することに関するものである。
【背景技術】
【0003】
デジタルビデオ放送(DVB)は、デジタルテレビの用途に関する規格の1つの系統である。DVBは、オーディオビジュアル情報、例えばデジタルテレビ、の効率的で強固なデジタル送信のためのソースコーディング方法(例えば、ソースデータレートの低下)及びチャネルコーディング方法(例えば、送信弾力性の向上)の両方を含む。特定の通信配信モードに対処することを目的としてDVBの異なるバージョンが開発されている。例えば、DVB−Sは、デジタルテレビの衛星放送を対象として設計されており、DVB−Tは、デジタルテレビの地上放送を対象として設計されており、DVB−Cは、デジタルテレビのケーブル放送を対象として設計されている。より最近のバージョンであるデジタルビデオ放送−ハンドヘルド(DVB−H)は、携帯電話及びパーソナルデジタルアシスタント(PDA)等のハンドヘルドデバイスへのモバイルデジタルテレビの応用のために開発されている。
【0004】
DVBの全バージョンは、ムービングピクチャズエキスパーツグループ(MPEG)デジタル圧縮基準に基づくソースコーディングを組み入れている。デジタル圧縮は、絶対的情報のみではなく情報の冗長性を考慮することによって及びほとんどの場合時間差のある情報をコーディングすることによってソースデータレートを低下させる非常によく知られたデジタル信号処理方法である。
【0005】
いずれかの一時点において、複数の情報ストリームバースト(例えばデジタルテレビ、ファイル/データのダウンロード、データマルチキャスト、等)をDVB受信機によって受信することができる。同時の複数のストリームバーストを受信する容量は、DVB受信機のメモリサイズによって制限される。しかしながら、メモリサイズを増大させることは、コスト及びDC電力消費量も増大させ、このことは、バッテリ寿命を制限する。ハンドヘルドデバイス(例えば、モバイルデバイス)においては、限られたバッテリ寿命は特に問題である。
【発明の概要】
【0006】
限られた受信機メモリを用いて複数の同時ストリームバーストを受信するための装置及び方法が開示される。一側面により、複数の同時ストリームバーストを受信するための方法は、フレームサイズが利用可能メモリのサイズよりも小さいかどうかを決定することと、第1のパケットの優先度が第2のパケットの優先度よりも低いかどうかを決定することであって、前記フレームサイズは、前記第2のパケットに関するフレームのサイズであることと、前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低い場合は前記第1のパケットの処理を打ち切ること及び前記パケットへの前記利用可能メモリの割り当てを解除することを要求することと、前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低くない場合は前記利用可能メモリの前記サイズが前記フレームサイズと等しいか又はそれよりも大きくなるまで待つことと、前記第2のパケットに関する前記フレームに前記利用可能メモリを割り当てること、とを備える。一側面においては、前記方法は、第3のパケットを受信するために受信機をウェークアップさせる時間であるかどうかを決定することと、前記利用可能メモリが前記第3のパケットを収容可能であるかどうかを決定すること、とをさらに備える。
【0007】
一側面により、受信機は、プロセッサと、プロセッサメモリと、を備え、前記プロセッサメモリは、次のこと、すなわち、フレームサイズが利用可能メモリのサイズよりも小さいかどうかを決定すること、第1のパケットの優先度が第2のパケットの優先度よりも低いかどうかを決定すること、前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低い場合は前記第1のパケットの処理を打ち切ること及び前記第1のパケットへの前記利用可能メモリの割り当てを解除することを要求すること、前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低くない場合は前記利用可能メモリの前記サイズが前記フレームサイズと等しいか又はそれよりも大きくなるまで待つこと、及び前記第2のパケットに関する前記フレームに前記利用可能メモリを割り当てること、を行うための前記プロセッサによって実行可能なプログラムコードであって、前記フレームサイズは、前記第2のパケットに関するフレームのサイズであるプログラムコードを含む。一側面においては、前記フレームは、マルチプロトコルカプセル化−前方誤り訂正(MPE−FEC)フレームである。一側面においては、前記受信機は、デジタルビデオ放送−ハンドヘルド(DVB−H)受信機である。一側面においては、前記利用可能メモリは、前記DVB−H受信機の復調器内に常駐する。
【0008】
一側面により、複数の同時ストリームバーストを受信するためのハンドヘルド受信機は、フレームサイズが利用可能メモリのサイズよりも小さいかどうかを決定するための手段と、第1のパケットの優先度が第2のパケットの優先度よりも低いかどうかを決定するための手段であって、前記フレームサイズは、前記第2のパケットに関するフレームのサイズである手段と、前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低い場合は前記第1のパケットの処理を打ち切ること及び前記パケットへの前記利用可能メモリの割り当てを解除することを要求するための手段と、前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低くない場合は前記利用可能メモリの前記サイズが前記フレームサイズと等しいか又はそれよりも大きくなるまで待つための手段と、前記第2のパケットに関する前記フレームに前記利用可能メモリを割り当てるための手段と、を備える
一側面により、フレームサイズが利用可能メモリのサイズよりも小さいかどうかを決定するためのプログラムコードと、第1のパケットの優先度が第2のパケットの優先度よりも低いかどうかを決定するためのプログラムコードであって、前記フレームサイズは、前記第2のパケットに関するフレームのサイズであるプログラムコードと、前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低い場合は前記第1のパケットの処理を打ち切ること及び前記パケットに関する前記利用可能メモリの割り当てを解除することを要求するためのプログラムコードと、前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低くない場合は前記利用可能メモリの前記サイズが前記フレームサイズと等しいか又はそれよりも大きくなるまで待つためのプログラムコードと、前記第2のパケットに関する前記フレームに前記利用可能メモリを割り当てるためのプログラムコードと、を備える格納されたプログラムコードを含むコンピュータによって読み取り可能な媒体を備える、コンピュータプログラム製品。
【0009】
一側面により、パケット識別子(PID)と関連づけられたパケットの追加又は削除を実行するためのPIDマネージャと、前記パケットの前記追加又は前記削除を実行することを前記PIDマネージャに要求するためのプロトコルプロセッサと、を備える、複数の同時バーストストリームを受信するための装置であって、前記パケットは、前記複数の同時バーストストリームの一部として受信される、装置。一側面においては、前記プロトコルプロセッサは、優先度情報、決定時間、フレームサイズのうちの少なくとも1つを前記PIDマネージャに送信された要求メッセージ内の前記パケット識別子と関連づける。一側面においては、前記PIDマネージャは、deltaT_unknownのスロット状態を前記要求メッセージ内の前記パケット識別子に関連づける。
【0010】
この開示の1つの利点は、限られたメモリを有するDVB−H受信機を用いながら同時の複数の情報ストリームバーストを受信する能力を含む。その他の利点は、前記メモリサイズを維持すること、従って前記DVB−H受信機のコストを維持することを含む。さらに、複数の情報ストリームバーストの同時受信を可能にする一方で前記DVB−H受信機の前記電力消費量が維持される。
【0011】
様々な側面が例を用いて示され及び説明される後続の発明を実施するための形態からその他の側面が当業者に容易に明確になることが理解される。図面及び発明を実施するための形態は、その性質上例示を目的とするものであって限定することを目的とするものではないとみなすべきである。
【図面の簡単な説明】
【0012】
【図1】DVBシグナリングと、オーディオビジュアルストリーミングと、ファイルダウンロードと、UDPマルチキャスティングと、IPマルチキャスティングとを含む様々なユーザサービスがDVB−Hプロトコルスタックによってどのようにして搬送されるかの例を示した図である。
【図2】プロトコル層分解例を示した図である。
【図3】4秒のバースト期間における1つのエレメンタリストリームに関する送信タイムライン例を示した図である。
【図4】4秒のバースト期間における16の異なるエレメンタリストリームに関する送信タイムライン例を示した図である。
【図5】限られた受信機メモリを用いて複数の同時ストリームバーストを受信するためのフローチャート例を示した図である。
【図6】PIDマネージャ内のPID管理モジュール(PMM)のPIDモニタリング状態とPID取得状態との間の関係を示した図である。
【図7】受信のために選択された2つのバックツーバックエレメンタリストリーム(ES1及びES2)の第1の例を示した図である。
【図8】受信のために選択された2つのバックツーバックエレメンタリストリーム(ES1及びES2)の第2の例を示した図である。
【図9】受信のために選択された2つのバックツーバックエレメンタリストリーム(ES1及びES2)の第3の例を示した図である。
【図10】受信のために選択された2つのバックツーバックエレメンタリストリーム(ES1及びES2)の第4の例を示した図である。
【図11】複数の同時ストリームバーストを受信するためにメモリと通信中のプロセッサを備えるデバイスの例を示した図である。
【図12】複数の同時ストリームバーストを受信するのに適するデバイスの例を示した図である。
【発明を実施するための形態】
【0013】
添付図と関係させて後述される発明を実施するための形態は、この開示の様々な側面に関する説明であることが意図されており、この開示を実践することができる側面のみを表すことは意図されていない。この開示において説明される各側面は、この開示の単なる一例又は1つの説明として提供されており、その他の側面よりも優先される又は有利であるとは必ずしも解釈すべきではない。発明を実施するための形態は、この開示の徹底的な理解を可能にすることを目的とする具体的な詳細を含む。しかしながら、この開示は、これらの具体的な詳細なしで実践可能であることが当業者にとって明らかであろう。幾つかの例においては、この開示の概念を不明瞭にするのを回避するためによく知られた構造及びデバイスはブロック図に示される。頭字語及びその他の説明用語は、単なる便宜上及び明確化を目的として用いられるものであり、この開示の適用範囲を限定することは意図されていない。
【0014】
説明を単純化することを目的として、これらの方法は、一連の行為として示されて説明される一方で、幾つかの行為はここにおいて示されて説明される順序とは異なる順序で及び/又はその他の行為と同時並行して生じることができるため、これらの方法は行為の順序によって制限されないことが理解及び評価されるべきである。例えば、方法は、代替として、例えば状態図において、一連の相互に関連する状態又はイベントとして表すことが可能であることを当業者は理解及び評価するであろう。さらに、1つ以上の側面により方法を実装するためにすべての例示される行為が要求されるわけではない。
【0015】
DVB−Hは、モバイルテレビの用途に関する幾つかのネットワークプロトコル層を規定する。DVB−H物理層は、DVB−T物理層に基づき、DVB−T物理層に対して幾つかの小さい追加が行われている。DVB−H物理層は、直交周波数分割多元(OFDM)多搬送波変調を採用する。データリンク層は、ITU−T H.222.0において定義されるMPEG2トランスポートストリーム(TS)に基づき、MPEG2トランスポートストリーム(TS)は、リアルタイムの符号化された映像ストリーム及び音声ストリームを一定のオーバーヘッドデータ及びシグナリング情報、例えばプログラム特定情報/システム情報(PSI/SI)、とともに多重化することによって形成される。伝播上の不具合にかかわらず信頼できる送信を確保するためにデータリンク層における拡張誤り保護技法も用いられる。この技法は、物理層においてDVB−Tチャネルコーディングの追加のチャネルコーディング及び時間インターリービングを提供するマルチプロトコルカプセル化前方誤り訂正(MPE−FEC)と呼ばれる。さらに、DVB−Hではタイムスライシングと呼ばれる節電技法も導入されている。DVB−H送信における個々のサービスは、受信機がスリープ状態になること及び意図されるサービスの受信のためのみにウェークアップすることを可能にするバースト状態で送信される。
【0016】
ネットワーク層及びトランスポート層は、インターネットプロトコル(IP)及びユーザデータグラムプロトコル(UDP)を利用する。DVB−Hシステムは、その他のDVB送信システムとは対照的に、その他のIPに基づくネットワークとの相互運用性を容易にするためのIPを採用する。トランスポート層は、オーディオビジュアル(A/V)ストリーミング用のリアルタイムトランスポートプロトコル/リアルタイムトランスポート制御プロトコル(RTP/RTCP)と、非同期層化コーディング/層化コーディングトランスポート(ALC/LCT)と、ファイルオブジェクト配信のための単方向トランスポートにおけるファイル配信(FLUTE)と、も含む。FLUTEは、あらゆるタイプのファイルオブジェクトを配信するために用いることができる。FLUTEの典型的用法は、拡張可能マークアップ言語(XML)フラグメント/ファイル及びプログラム情報を搬送するセッション記述プロトコル(SDP)の配信と、A/Vファイル、ピクチャ、ロゴ、等のメディアファイルオブジェクトの配信と、を含む。リアルタイム映像ストリーム及び音声ストリームは、マルチプロトコルカプセル化(MPE)適合プロトコルを用いてMPEGトランスポートストリーム内に埋め込まれたIPパケットを通じてUDPにおいてリアルタイムトランスポートプロトコル(RTP)によって搬送される。
【0017】
図1は、DVBシグナリングと、オーディオビジュアルストリーミングと、ファイルダウンローディングと、UDPマルチキャスティングと、IPマルチキャスティングとを含む様々なユーザサービスがDVB−Hプロトコルスタックによってどのようにして搬送されるかの例を示す。例示されるように、すべてのユーザサービスが、DVB−H物理層を通じてMPEG2トランスポートストリーム内に埋め込まれる。プログラム特定情報(PSI)は、MPEG2トランスポートストリームにおいて送信中のプログラム(メディア/コンテンツ)に関する情報及び多重化されたストリームからこれらのプログラムを抽出するための位置情報(例えば、リンク層識別子)を提供する。システム情報(SI)は、ネットワーク情報、例えば、一定のネットワークからのトランスポートストリームの送信周波数、一定の送信されたプログラム/IPストリームの位置(トランスポートストリーム、サービス識別子.)、等を提供する。
【0018】
アプリケーション層は、RTP/RTCP及びIPマルチキャストを利用可能なあらゆる用途を含む。モバイルブロードキャストに関するほとんどの典型的用途は、リアルタイムA/Vプログラミング、メディアファイルオブジェクト、等の再生用メディアプレイヤと、FLUTEを通じて受信されるXMLプログラムガイド情報を利用する電子サービスガイド(ESG)ブラウザに関する用途と、ブロードキャスト/マルチキャストフレームワークに基づくゲームプレイ/対話に関する用途と、を含む。
【0019】
各プログラムは、特定の組/タイプのオブジェクトを搬送するリアルタイムA/Vストリーム又はFLUTEセッションとして定義され、エレメンタリストリーム(ES)の一部である。各ESは、1つ以上の該プログラムを搬送可能である。各エレメンタリストリームは、これらのプログラムに属するカプセル化されたIPデータグラム(MPEセクション)から成るか又はこれらのプログラムに属するカプセル化されたIPデータグラム(MPEセクション)を含む。MPEセクションは、固定長(188バイト)で送信される。MPEG2トランスポートストリームパケットは、このES専用のパケット識別子(PID)を有する。図2は、プロトコル層分解例を示す。
【0020】
DVB−Hにおいては、エレメンタリストリームに属する(MPEセクション及び対応するFECセクションから成る)マルチプロトコルカプセル化前方誤り訂正(MPEG−FEC)フレームが512キロビット、1024キロビット、1536キロビット又は2048キロビットのデータのバーストとして送信される。これらのデータバーストは、エレメンタリストリーム内のプログラムの平均ビットレートよりもはるかに高いビットレートで送信される。このことは、プログラムデータがタイムスライス方式で送信されるのを可能にする。
【0021】
一側面においては、エレメンタリストリーム(ES)は、1つのプログラム、例えば512kbpsの平均ビットレートを有するA/Vストリーム、のみから成る又は1つのプログラム、例えば512kbpsの平均ビットレートを有するA/Vストリームのみを含む。このESを送信するために2048キロビットのバーストサイズが用いられると仮定すると、このバーストでは4秒の価値のデータを送信可能である。バーストが8Mbpsで送信された場合は、そのバーストは、250ミリ秒内で送信可能である。送信機は、このプログラムに関しては4秒毎に1回250ミリ秒の継続時間のバーストを送信しなければならないだけである。逆に、受信機(例えばDVB−H受信機)は、4秒毎に1回250ミリ秒の間バーストを受信しなければならないだけである。送信機がすべてのエレメンタリストリームに関して同じバーストサイズ及びバースト帯域幅を用いた場合は、バーストを繰り返す前に、16の別個のエレメンタリストリームバーストを送信可能である。図3は、4秒のバースト期間にわたる1つのエレメンタリストリームに関する送信タイムライン例を示す。図4は、4秒のバースト期間にわたる16の異なるエレメンタリストリームに関する送信タイムライン例を示す。
【0022】
一側面においては、DVB−H受信機は、対象となるESが送信中であるときに、該継続時間中だけウェークアップする。バースト内の各MPEセクションは、エレメンタリストリームに関する次のバーストの開始に対する相対的時間オフセットを搬送し、それによりDVB−H受信機が同じESのバーストを受信するために次にいつウェークアップすべきかを計算するのを可能にする。これは、DVB−H受信機が大部分の時間においてRFフロントエンド及びベースバンド処理を停止させて節電することを可能にする。
【0023】
一例においては、DVB−H受信機がプログラムを選択時に、選択されたプログラムに対応するESバースト(すなわち、MPE−FECフレーム)がDVB−H受信機によって取得され、このバーストからのコンテンツ/データがDVB−H受信機によって消費される。例えば、バースト(MPE−FECフレーム)のサイズが512キロビットである場合は、このバーストを受信するために復調器チップ内において512キロビットのサイズのメモリが要求される。2つのバースト(MPE−FECフレーム)、すなわち、2つの異なるエレメンタリストリームに属する512キロビットのバースト及び2048キロビットの他のバースト、が同じバーストサイクルから受信された場合は、メモリサイズは少なくとも2.5Mビットでなければならない。
【0024】
DVB−H受信機によって受信可能なエレメンタリストリーム(ES)の最大数は、メモリサイズに依存する。しかしながら、復調器チップのメモリサイズは、シリコンサイズに対して直接的な影響を有し、このことは、復調器チップのコストに直接的影響を有する。1つのその他の影響において、メモリサイズが大きくなるのに従って電力消費量も増大する。最も単純なパケット識別子(PID)管理技法においては、新PIDと関連づけられた新パケットの追加要求は、(最新の要求を含む)異なるIDと関連づけられた全パケットに関するMPEフレームサイズの合計が例えば復調器メモリの内部サイズである2Mビットよりも小さいか又は等しいときのみに受信機復調器によって受け入れられる。図5において用いられるように、第1のPIDは、第1のPIDと関連づけられた第1のパケットを指し、第2のPIDは、第2のPIDと関連づけられた第2のパケットを指し、第3のPIDは、第3のPIDと関連づけられた第3のパケットを指す。
【0025】
図5は、限られた受信機メモリを用いて複数の同時ストリームバーストを受信するためのフローチャート例を示す。一側面においては、受信機は、DVB−H受信機である。図5には、バーストサイクル内の異なるエレメンタリストリーム(例えば、上図におけるES1及びES4)に属する複数のMPE−FECフレームの受信をサポートするためのPID管理技法が示される。図5において示されるように、すべてのMPE−FECフレームサイズの合計は、復調器チップによって提供されるメモリを超える。一側面においては、復調チップは、DVB−H受信機内に常駐する。一側面においては、図5に示されるアルゴリズムは、PID取得状態を対象とする。
【0026】
ブロック505において、deltaT_unknownのスロット状態を有する最高の優先度のPID(すなわち、第2のPID)を選択する。次に、ブロック510において、第2のPIDに対応するMPE_FECフレームのフレームサイズが利用可能メモリよりも小さいかどうかを決定する。例えば、利用可能メモリは、復調器チップのメモリサイズである。バーストを受信中でも処理中でもない場合は、復調器タップのメモリ全体が利用可能メモリである。第2のPIDに対応するMPE_FECフレームのフレームサイズが利用可能メモリよりも小さい場合は、ブロック530に進む。第2のPIDに対応するMPE_FECフレームのフレームサイズが利用可能メモリよりも小さくない場合は、ブロック515に進み、前PID(すなわち、第1のPID)の優先度が第2のPIDの優先度よりも低いかどうかを決定する。第1のPIDの優先度が第2のPIDの優先度よりも低い場合は、ブロック520に進む。ブロック520において、既存のMPE−FECフレームの処理を打ち切ること及び第1のPIDへのメモリ割り当てを解除することを復調器に要求する。一側面においては、PMMがこの要求を復調器に対して行う。第1のPIDの優先度が第2のPIDの優先度よりも低くない(すなわち高い)場合は、ブロック525に進む。ブロック525において、利用可能メモリのサイズが第2のPIDに対応するMPE_FECフレームのフレームサイズと等しいか又はそれよりも大きくなるまで待ち、その後にブロック530に進む。
【0027】
ブロック530において、第2のPIDにメモリを割り当てる。ブロック530に引き続き、ブロック540において、第3のPIDと関連づけられたバーストを受信するためにDVB−H受信機をウェークアップさせる時間であるかどうかを決定する。DVB−H受信機をウェークアップさせる時間である場合は、ブロック545に進む。ブロック545において、利用可能メモリが第3のPIDに対応するMPE_FECフレームのフレームサイズを収容可能であるかどうかを決定する。一側面においては、PMMが利用可能メモリを決定する。収容可能である場合は、ブロック550に進み、ブロック550において、利用可能メモリが第3のPIDに割り当てられる。収容可能でない場合は、ブロック555に進む。ブロック555において、第3のPIDの優先度が第2のPIDの優先度よりも高いかどうかを決定する。一側面においては、PMMが優先度を決定する。第3のPIDの優先度が第2のPIDの優先度よりも高い場合は、ブロック560に進む。ブロック560において、第2のPIDへのメモリ割り当てを解除し、第3のPIDにメモリを割り当てた。ブロック560に引き続き、ブロック510に戻る。第3のPIDの優先度が第2のPIDの優先度よりも高くない(すなわち低い)場合は、ブロック565に進む。ブロック565において、第3のPIDのスロット状態をdeltaT_unknownに変更する。ブロック565に引き続き、ブロック540に戻る。
【0028】
ブロック540に引き続き、DVB−H受信機をウェークアップさせる時間でない場合は、ブロック570において第2のPIDに対応するMPE_FECフレームの組み立てが完了しているかどうかを決定する。該組み立てが完了している場合は、ブロック575に進み、第2のPIDへのメモリ割り当てを解除してスロット状態をdeltaT_knownに設定する。ブロック575に引き続き、ブロック590に進む。組み立てが完了していない場合は、ブロック580に進み、第2のPIDと関連づけられたタイマ(例えば、deltaT_determination_time)が時間切れになっているかどうかを決定する。一側面においては、PMMがタイマ時間切れを決定する。タイマが時間切れになっている場合は、ブロック585に進む。ブロック585において、第2のPIDを削除して失敗メッセージ(例えば、add_pid_failed())を送信する。一例においては、失敗メッセージは、DVB−H受信機内のDVB−Hプロトコルプロセッサに送られる。ブロック585に引き続き、ブロック590に進む。タイマが時間切れになっていない場合は、ブロック540に戻る。ブロック590において、PIDモニタリング状態に移行する。
【0029】
図5のフローチャートにおいて開示されるステップは、この開示の適用範囲及び精神から逸脱せずに互換可能であることを当業者は理解するであろう。同様に、図5のフローチャートにおいて示されるステップは排他的でないこと及びこれらのステップはアプリケーション又はシステムパラメータに従って変更可能であり、及びこの開示の適用範囲及び精神に影響を及ぼさずにその他のステップを含めることが可能であることを当業者は理解するであろう。
【0030】
図5に示されるアルゴリズムを用いずに情報の複数のストリームバーストを受信する1つの試みにおいては、第1のPID追加要求は、例えば2Mビットのフレームサイズに関するものである。この例においては、引き続く新PIDの追加要求は、メモリサイズが例えば2Mビットに限られている場合は常に失敗に終わることになる。この失敗は、第2のPID要求に対応するMPE−FECフレームが時間の点で第1のPIDに対応するMPE−FECから分離されている場合でさえも発生する。バーストを受信後は、バースト(MPE−FECフレーム)を処理してメモリからフラッシング(flushing)するための有限量の時間が要求される。従って、メモリサイズの合計が内部メモリサイズを超える2つのバーストである場合は、第2のバーストに割り当てるべき利用可能メモリが存在しないためこれらの両方のバーストを受信するのは可能でない。部分的であるが、第2のPIDの受信失敗は、メモリが所定のバースト(例えば第1のPID)に関して静的に割り当てられることに起因して発生する。
【0031】
代わりに、図5に示されるように、メモリは動的に割り当てられる。すなわち、メモリは、バーストを受信時に割り当てられ、バーストを受信後に割り当てが解除される。従って、時間的に遅れて現れる他のパケットに対して同じメモリを再度割り当てることが可能である。この方法により、合計がメモリサイズよりも大きい2つ以上のESバーストを1回のバーストサイクル内において受信可能である。図5に示されるアルゴリズムは、複数の新PIDを追加することを考慮しており、従って追加された全PIDに対応するMPE−FECフレームサイズの合計は復調器メモリよりも大きいことができる。さらに、図5に示されるアルゴリズムは、各PIDに関する優先度割り当てを含み、従って、他のバーストとの衝突の場合には、最高の優先度を有するPIDに対応するバースト(MPE−FECフレーム)に対してより高いメモリ割り当て優先度が割り当てられる。例えば、バックツーバックバースト例において、第1のバーストよりも高い優先度が第2のバーストに割り当てられる場合は、第2のバーストは、第1のバーストに優先してメモリスペースが割り当てられる。優先度を割り当てることは、より高い優先度を有するPIDがより低い優先度を有するPIDよりも良い受信機会を有することを保証する。一側面においては、第1及び第2のバーストが、一方のバーストが現れる前に他方のバーストがメモリからフラッシングされることになるような十分に長い時間だけ分離されている場合は、両方のバーストが受信可能であるため優先度の割り当ては呼び出されない。一例においては、リアルタイムA/Vストリーミングサービス及びキーストリームに対応するPIDは、非リアルタイムのサービス(例えば、電子サービスガイド(ESG)、FLUTEに基づくサービス)に対応するPIDよりも高い優先度が割り当てられる。
【0032】
一側面においては、図5に示されるアルゴリズムは、次の規則のうちの1つ以上によって支配される。例えば、メモリを割り当てる際には、より高い優先度のPIDと関連づけられたMPE−FECフレームが、より低い優先度のPIDと関連づけられた他のMPE−FECフレームに優先する。他の例においては、MPE−FECフレームのdeltaTが決定されている場合はPIDのスロット状態(従ってその関連づけられたMPE−FECフレーム)をdeltaT_knownに設定する。deltaTは、次のバーストサイクルにおける同じエレメンタリストリーム(ES)内の次のMPE−FECに対するMPE−FECの時間オフセットである。MPE−FECフレームのdeltaTが決定されていない場合は、スロット状態をdeltaT_unknownに設定する。一例においては、タイマ(例えば、deltaT_determination_time)は、スロット状態がdeltaT_unknownに設定されたときに開始される。タイマは、スロット状態がdeltaT_knownに変わったときに打ち切られる。一例においては、MPE−FECフレームサイズ(例えば、frame_size)が各PIDに関して指定される。一例においては、タイマは、新バーストを取得するために割り振られた時間である決定時間を提供する。
【0033】
一例においては、プロトコルプロセッサは、PID、優先度、frame_size及び/又はdeltaT_determination_timeを指定することによって1つ以上のPIDの追加要求(例えば、add_pid_request())をPIDマネージャに送信する。一例においては、1つ以上のPIDの追加が成功であるということがデフォルト時の仮定である。他の例においては、PIDマネージャは、追加されるべきPIDに対応するMPE−FECフレームが取得可能になる前にdeltaT_determination_timeが時間切れになったときに失敗メッセージ(例えば、add_pid_failed())をプロトコルプロセッサに送信する。一例においては、プロトコルプロセッサは、PIDマネージャからのPIDフィルタルの削除を要求する削除メッセージ(例えば、delete_pid_request())を送信する。一例においては、PIDマネージャは、各PIDに関する次の記入項目、すなわち、deltaT_determination_time、フレームサイズ、優先度及びスロット状態、を含むPID管理テーブル(例えば、テーブル1)を維持する。テーブル1は、3つのPIDに関する値例を示す。
【表1】
【0034】
一例においては、PIDマネージャは、add_pid_request()メッセージをDVB−Hプロトコルプロセッサから受信時にPID管理テーブル(例えば、テーブル1)に1つ以上の記入項目を追加する。新しい記入項目を追加し次第、PIDマネージャは、その新しい記入項目に関するスロット状態を‘deltaT_unkown’に設定する。同様に、PIDマネージャは、delete_pid_request()メッセージをDVB−Hプロトコルプロセッサから受信時又はPID管理モジュール(PMM)が記入項目の削除を要求時にPID管理テーブル(例えば、テーブル1)から記入項目を削除する。一側面においては、PIDマネージャ内のPID管理モジュール(PMM)は、2つの状態、すなわちPIDモニタリング状態及びPID取得状態、を含む。初期化時点においては、PMMは、PIDモニタリング状態にある。
【0035】
図6は、PIDマネージャ内のPID管理モジュール(PMM)のPIDモニタリング状態とPID取得状態との間の関係を示す。PMMは、モニタリング状態に入り次第、PID管理テーブル(例えば、テーブル1)を確認する。一例においては、PMMは、PID管理テーブル内に記入項目が存在しない場合、又はPID管理テーブル内の全記入項目のスロット状態が‘deltaT_known’に設定されている場合はモニタリング状態を維持する。モニタリング状態において、PID管理テーブルに記入されたエレメンタリストリームのうちの1つに関するバーストを受信するためにDVB−H受信機をウェークアップさせる時間であるとPMMが決定した場合は、PMMは、(ESバーストを受信するために)指定されたPIDにメモリを割り当てるように復調器に要求する。バーストが受信及び処理され、復調器メモリからフラッシングされてホストプロセッサ内に入れられた後において、PMMは、メモリの割り当て解除を要求する。一側面においては、PID管理テーブル(例えば、テーブル1)内の1つ以上の記入項目のスロット状態がdeltaT_unkownに設定されている場合は、PMMは、PIDモニタリング状態からPID取得状態に移行する。一例においては、PMMがDVB−H制御要素(CE)からadd_pid_requestを受信時に、PMMをPID取得状態に移行させる。
【0036】
一側面においては、図6の例は、パケット識別子(PID)と関連づけられたパケットの追加又は削除を実行するためのPIDマネージャと、パケットの追加又は削除の実行をPIDマネージャに要求するためのプロトコルプロセッサであって、前記パケットは、複数の同時バーストストリームの一部として受信されるプロトコルプロセッサとを備える、複数の同時バーストストリームを受信するための装置、において具現化される。プロトコルプロセッサは、優先度情報、決定時間、フレームサイズのうちの少なくとも1つをPIDマネージャに送信された要求メッセージ内のパケット識別子と関連づける。PIDマネージャは、deltaT_unknownのスロット状態を要求メッセージ内のパケット識別子に関連づける。一側面においては、PIDマネージャは、パケット識別子リストのPID管理テーブルを維持し、リスト内の各パケット識別子は、優先度情報、決定時間、フレームサイズ及びスロット状態と関連づけられる。PIDマネージャは、パケット識別子のうちの1つを削除するためのメッセージがプロトコルプロセッサから受信された場合にパケット識別子のうちの1つをリストから削除する。
【0037】
一側面においては、PIDマネージャは、PID管理モジュール(PMM)を備え、PMMは、PIDモニタリング状態とPID取得状態とをさらに備える。PMMは、PIDテーブル内に記入項目が存在しない場合又はPID管理テーブル内の全記入項目がdeltaT_knownスロット状態を有する場合にPIDモニタリング状態になり及びPIDモニタリング状態を維持する。PID管理テーブルは、パケット識別子のリストを備え、リスト内の各パケット識別子は、優先度情報、決定時間、フレームサイズ及びスロット状態と関連づけられる。PMMは、PID管理テーブル内の少なくとも1つの記入項目がdeltaT_unkownスロット状態を有する場合にPID取得状態になる。PMMは、新パケットを受信するためにウェークアップする時間であるときに新パケットに内部メモリを割り当てるための割り当て要求を送信する。新パケットは、PID管理テーブル内のパケット識別子のうちの1つと関連づけられる。PMMは、PID管理テーブル内のパケット識別子のうちの1つと関連づけられた旧パケットが受信されて処理された後に、旧パケットへの内部メモリ割り当てを解除するための割り当て解除要求を送信する。PMMは、パケット識別子のうちの1つのスロット状態がdeltaT_unkownに変化時にPIDモニタリング状態からPID取得状態に移行する。一側面においては、図5に示されるアルゴリズムは、PID取得状態に関するものである。
【0038】
一例においては、複数の未処理の要求が存在する場合は、最初に最高の優先度のPIDと関連づけられたMPE−FECフレームが要求の対象となる。さらに、次に最高の優先度のPIDと関連づけられたMPE−FECフレームが次に要求対象となり、以下同様である。これらの例における規則は例示を目的とするものであって包括的ではないことを当業者は理解するであろう。幾つかの場合においては、ここにおいて説明される規則例のうちの1つ以上を実装する必要がなく、この開示の適用範囲及び精神に影響を及ぼさずにここにおいて記載されない追加の規則又はその組み合わせを追加する必要がある。
【0039】
ここにおいては、バックツーバックバーストを示す4例が説明される。これらの全例に関して、復調器は2Mビットのメモリを有すると仮定する。図7に示される第1の例においては、2つのバックツーバックエレメンタリストリーム(ES1及びES2)が受信に関して選択される。ES2には優先度1が割り当てられ、ES1には優先度2が割り当てられる。この第1の例においては、ES1が成功裏に受信されるかどうかは、ES2(より高い優先度)の受信が開始する前にES1アプリケーションデータをメモリからフラッシング可能であるかどうかに依存する。ES1の全アプリケーションデータが誤りなしで(又は最小の誤りの状態で)受信された場合は、DVB−H受信機は、関連づけられたES1パリティデータを待たずにES1アプリケーションデータをフラッシングするのを開始することが可能である。従って、ES1アプリケーションデータは、DVB−H受信機がES2にメモリを割り当てる準備が完了する前にメモリからフラッシングすることが可能である。この場合は、ES1及びES2の両方が成功裏に受信される。他方、ES1のアプリケーションデータが、前方誤り訂正のための関連づけられたES1パリティデータを要求する誤りを伴った状態で受信された場合は、DVB−H受信機がES2にメモリを割り当てる準備が完了する前に十分な時間がないことがある。この後者の場合は、ES1は廃棄され、ES2のみが成功裏に受信される。
【0040】
図8は、受信のために選択された2つのバックツーバックエレメンタリストリーム(ES1及びES2)の第2の例を示す。第2の例においては、ES1はES2(すなわち、優先度2)よりも高い優先度(すなわち、優先度1)を有する。ES1の全アプリケーションデータが誤りなしで(又は最小の誤りが存在する状態で)受信された場合は、DVB−H受信機は、関連づけられたES1パリティデータを待たずにES1アプリケーションメモリをフラッシングするのを開始することができる。従って、ES1アプリケーションデータは、DVB−H受信機がより低い優先度のバーストES2にメモリを割り当てる準備が完了する前にメモリからフラッシングすることが可能である。この場合は、ES1及びES2の両方が成功裏に受信される。他方、ES1のアプリケーションデータが、前方誤り訂正のための関連づけられたES1パリティデータを要求する誤りを伴った状態で受信された場合は、DVB−H受信機がより低い優先度のバーストES2にメモリ割り当てる準備が完了する前に十分な時間がないことがある。この後者の場合は、ES1アプリケーションデータ(及び関連づけられたパリティデータ)がメモリからフラッシングされるまでES2はメモリが割り当てられない。一例においては、ES2データの一部のみが受信される。受信されたES2データ内における誤り量に依存して、ES2バーストを復元するために誤り訂正技法を適用することができる。
【0041】
図9は、受信のために選択された2つのバックツーバックエレメンタリストリーム(ES1及びES2)の第3の例を示す。第3の例においては、ES1はES2(すなわち、優先度2)よりも高い優先度(すなわち、優先度1)を有し、ES2はES1(例えば、サイズが2Mビット)よりも小さいバースト(例えば、サイズが0.5Mビット)である。メモリからのESアプリケーションデータのフラッシングが、ES2バースト送信の完了前に完了されない場合は、ES2は受信されない。他の例においては、ES1アプリケーションデータのフラッシングはES2バースト送信と時間の点で同時に発生したためES2の一部のみが受信される。ES2バーストは短いため、受信されるものは、完全なES2バーストの復元を可能にしない場合がある。
【0042】
図10は、受信のために選択された2つのバックツーバックエレメンタリストリーム(ES1及びES2)の第4の例を示す。第3の例においては、ES1はES2(すなわち、優先度2)よりも高い優先度(すなわち、優先度1)を有し、ES1はES1(例えば、サイズが2Mビット)よりも小さいバースト(例えば、サイズが0.5Mビット)である。ES1はより小さいバーストであるため、ES1アプリケーションデータをメモリからフラッシングするために要する時間はより短く、従って(存在するとしても)ES2バースト送信からのデータ紛失をほとんど生じさせない。ES2バーストのサイズは大きいため、誤り訂正を通じての復元は、紛失したデータに関するほうが可能性がより高い。
【0043】
図7乃至10における4つの例によって示されるように、データバーストを受信するための時間量は、(用いられる変調の種類、コードレート、ガード間隔、等に依存する)バースト帯域幅に依存する。メモリからデータをフラッシングするための時間量は、チャネル誤り率(従って誤り訂正に要する時間量)、及び復調器メモリからホストプロセッサにデータを転送するのに要する時間量に依存する。従って、所定のチャネル誤り率に関しては、全体のサイズがメモリサイズよりも大きいバックツーバックバーストを成功裏に受信する確率は、よりの低いバースト帯域幅のほうがより高く、より高いバースト帯域幅のほうがより低い。
【0044】
ここにおいて開示される例に関係させて説明される様々な例示的構成要素、論理ブロック、モジュール及び/又はアルゴリズム上のステップは、電子ハードウェア、ファームウェア、コンピュータソフトウェア、又はその組み合わせとして実装可能であることを当業者はさらに明確に理解するであろう。ハードウェア、ファームウェア及びソフトウェアのこの互換性を明確に例示するため、上記においては、様々な例示的構成要素、ブロック、モジュール及び/又はアルゴリズム上のステップが、各々の機能の観点で一般的に説明されている。該機能がハードウェア、ファームウェア又はソフトウェアとして実装されるかは、全体的システムに対する特定の用途上の及び設計上の制約事項に依存する。当業者は、説明されている機能を各々の特定の用途に合わせて様々な形で実装することができるが、これらの実装決定は、この開示の適用範囲及び精神からの逸脱を生じさせるものであるとは解釈すべきではない。
【0045】
例えば、ハードウェアに実装する場合は、処理ユニットは、ここにおいて説明される機能を果たすように設計された1つ以上の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、その他の電子ユニット、又はその組み合わせ内に実装することができる。ソフトウェアに実装する場合は、該実装は、ここにおいて説明される機能を果たすモジュール(例えば、手順、関数、等)を通じて行うことができる。ソフトウェアコードは、メモリユニットに格納すること及びプロセッサユニットによって実行することができる。さらに、ここにおいて説明される様々な例示的フローチャート、論理ブロック、モジュール及び/又はアルゴリズム上のステップは、当業において知られるあらゆるコンピュータによって読み取り可能な媒体において搬送されるコンピュータによって実行可能な命令としてコーディングすることも可能である。
【0046】
一例においては、ここにおいて説明される例示的構成要素、フローチャート、論理ブロック、モジュール及び/又はアルゴリズム上のステップは、1つ以上のプロセッサとともに実装又は実行される。一側面においては、プロセッサは、ここにおいて説明される様々なフローチャート、論理ブロック及び/又はモジュールを実装又は実行するためにプロセッサによって実行されるデータ、メタデータ、プログラム命令、等を格納するメモリと結合される。図11は、複数の同時ストリームバーストを受信するためにメモリ1120と通信するプロセッサ1110を備えるデバイス1100の例である。一例においては、デバイス1100は、図5に示されるアルゴリズムを実装するために用いられる。一側面においては、メモリ1120は、プロセッサ1110内に配置される。他の側面においては、メモリ1120は、プロセッサ1110の外部に配置される。
【0047】
図12は、複数の同時ストリームバーストを受信するのに適するデバイス1200の例を示す。一側面においては、デバイス1200は、ここにおいてはブロック1205、1210、1215、1220、1225、1230、1240、1245、1250、1255、1260、1265、1270、1275、1280、1285及び1290において説明されるように限られたDVB−H受信機メモリを用いて複数の同時ストリームバーストを受信する異なる側面を提供するように構成された1つ以上のモジュールを備える少なくとも1つのプロセッサによって実装される。例えば、各モジュールは、ハードウェア、ファームウェア、ソフトウェア、又はその組み合わせを備える。一側面においては、デバイス1200は、少なくとも1つのプロセッサと通信する少なくとも1つのメモリによっても実装される。図12において用いられる第1のPIDは、第1のPIDと関連づけられた第1のパケットを指し、第2のPIDは、第2のPIDと関連づけられた第2のパケットを指し、第3のPIDは、第3のPIDと関連づけられた第3のパケットを指す。
【0048】
開示される側面に関する上記の説明は、当業者がこの開示を製造又は使用できるようにすることを目的とするものである。これらの側面に対する様々な修正は、当業者にとって容易に明確になるであろう。さらに、ここにおいて定められている一般原理は、この開示の精神及び適用範囲を逸脱しない形でその他の側面に対しても適用することができる。
【技術分野】
【0001】
35U.S.C.§119に基づく優先権の主張
本特許出願は、“MULTIPLE STREAM BURSTS”(複数のストリームバースト)という題名を有し、ここの譲受人に対して譲渡され、ここにおいて参照されることによって明示で組み入れられている仮特許出願番号60/970,922(出願日:2007年9月7日)及び“MULTIPLE STREAM BURSTS” (複数のストリームバースト)という題名を有し、ここの譲受人に対して譲渡され、ここにおいて参照されることによって明示で組み入れられている仮特許出願番号60/971,531(出願日:2007年9月11日)に対する優先権を主張するものである。
【0002】
この開示は、一般的には、複数のストリームバーストを受信するための装置及び方法に関するものである。この開示は、より具体的には、限られたDVB受信機メモリを用いて複数の同時ストリームバーストを受信することに関するものである。
【背景技術】
【0003】
デジタルビデオ放送(DVB)は、デジタルテレビの用途に関する規格の1つの系統である。DVBは、オーディオビジュアル情報、例えばデジタルテレビ、の効率的で強固なデジタル送信のためのソースコーディング方法(例えば、ソースデータレートの低下)及びチャネルコーディング方法(例えば、送信弾力性の向上)の両方を含む。特定の通信配信モードに対処することを目的としてDVBの異なるバージョンが開発されている。例えば、DVB−Sは、デジタルテレビの衛星放送を対象として設計されており、DVB−Tは、デジタルテレビの地上放送を対象として設計されており、DVB−Cは、デジタルテレビのケーブル放送を対象として設計されている。より最近のバージョンであるデジタルビデオ放送−ハンドヘルド(DVB−H)は、携帯電話及びパーソナルデジタルアシスタント(PDA)等のハンドヘルドデバイスへのモバイルデジタルテレビの応用のために開発されている。
【0004】
DVBの全バージョンは、ムービングピクチャズエキスパーツグループ(MPEG)デジタル圧縮基準に基づくソースコーディングを組み入れている。デジタル圧縮は、絶対的情報のみではなく情報の冗長性を考慮することによって及びほとんどの場合時間差のある情報をコーディングすることによってソースデータレートを低下させる非常によく知られたデジタル信号処理方法である。
【0005】
いずれかの一時点において、複数の情報ストリームバースト(例えばデジタルテレビ、ファイル/データのダウンロード、データマルチキャスト、等)をDVB受信機によって受信することができる。同時の複数のストリームバーストを受信する容量は、DVB受信機のメモリサイズによって制限される。しかしながら、メモリサイズを増大させることは、コスト及びDC電力消費量も増大させ、このことは、バッテリ寿命を制限する。ハンドヘルドデバイス(例えば、モバイルデバイス)においては、限られたバッテリ寿命は特に問題である。
【発明の概要】
【0006】
限られた受信機メモリを用いて複数の同時ストリームバーストを受信するための装置及び方法が開示される。一側面により、複数の同時ストリームバーストを受信するための方法は、フレームサイズが利用可能メモリのサイズよりも小さいかどうかを決定することと、第1のパケットの優先度が第2のパケットの優先度よりも低いかどうかを決定することであって、前記フレームサイズは、前記第2のパケットに関するフレームのサイズであることと、前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低い場合は前記第1のパケットの処理を打ち切ること及び前記パケットへの前記利用可能メモリの割り当てを解除することを要求することと、前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低くない場合は前記利用可能メモリの前記サイズが前記フレームサイズと等しいか又はそれよりも大きくなるまで待つことと、前記第2のパケットに関する前記フレームに前記利用可能メモリを割り当てること、とを備える。一側面においては、前記方法は、第3のパケットを受信するために受信機をウェークアップさせる時間であるかどうかを決定することと、前記利用可能メモリが前記第3のパケットを収容可能であるかどうかを決定すること、とをさらに備える。
【0007】
一側面により、受信機は、プロセッサと、プロセッサメモリと、を備え、前記プロセッサメモリは、次のこと、すなわち、フレームサイズが利用可能メモリのサイズよりも小さいかどうかを決定すること、第1のパケットの優先度が第2のパケットの優先度よりも低いかどうかを決定すること、前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低い場合は前記第1のパケットの処理を打ち切ること及び前記第1のパケットへの前記利用可能メモリの割り当てを解除することを要求すること、前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低くない場合は前記利用可能メモリの前記サイズが前記フレームサイズと等しいか又はそれよりも大きくなるまで待つこと、及び前記第2のパケットに関する前記フレームに前記利用可能メモリを割り当てること、を行うための前記プロセッサによって実行可能なプログラムコードであって、前記フレームサイズは、前記第2のパケットに関するフレームのサイズであるプログラムコードを含む。一側面においては、前記フレームは、マルチプロトコルカプセル化−前方誤り訂正(MPE−FEC)フレームである。一側面においては、前記受信機は、デジタルビデオ放送−ハンドヘルド(DVB−H)受信機である。一側面においては、前記利用可能メモリは、前記DVB−H受信機の復調器内に常駐する。
【0008】
一側面により、複数の同時ストリームバーストを受信するためのハンドヘルド受信機は、フレームサイズが利用可能メモリのサイズよりも小さいかどうかを決定するための手段と、第1のパケットの優先度が第2のパケットの優先度よりも低いかどうかを決定するための手段であって、前記フレームサイズは、前記第2のパケットに関するフレームのサイズである手段と、前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低い場合は前記第1のパケットの処理を打ち切ること及び前記パケットへの前記利用可能メモリの割り当てを解除することを要求するための手段と、前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低くない場合は前記利用可能メモリの前記サイズが前記フレームサイズと等しいか又はそれよりも大きくなるまで待つための手段と、前記第2のパケットに関する前記フレームに前記利用可能メモリを割り当てるための手段と、を備える
一側面により、フレームサイズが利用可能メモリのサイズよりも小さいかどうかを決定するためのプログラムコードと、第1のパケットの優先度が第2のパケットの優先度よりも低いかどうかを決定するためのプログラムコードであって、前記フレームサイズは、前記第2のパケットに関するフレームのサイズであるプログラムコードと、前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低い場合は前記第1のパケットの処理を打ち切ること及び前記パケットに関する前記利用可能メモリの割り当てを解除することを要求するためのプログラムコードと、前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低くない場合は前記利用可能メモリの前記サイズが前記フレームサイズと等しいか又はそれよりも大きくなるまで待つためのプログラムコードと、前記第2のパケットに関する前記フレームに前記利用可能メモリを割り当てるためのプログラムコードと、を備える格納されたプログラムコードを含むコンピュータによって読み取り可能な媒体を備える、コンピュータプログラム製品。
【0009】
一側面により、パケット識別子(PID)と関連づけられたパケットの追加又は削除を実行するためのPIDマネージャと、前記パケットの前記追加又は前記削除を実行することを前記PIDマネージャに要求するためのプロトコルプロセッサと、を備える、複数の同時バーストストリームを受信するための装置であって、前記パケットは、前記複数の同時バーストストリームの一部として受信される、装置。一側面においては、前記プロトコルプロセッサは、優先度情報、決定時間、フレームサイズのうちの少なくとも1つを前記PIDマネージャに送信された要求メッセージ内の前記パケット識別子と関連づける。一側面においては、前記PIDマネージャは、deltaT_unknownのスロット状態を前記要求メッセージ内の前記パケット識別子に関連づける。
【0010】
この開示の1つの利点は、限られたメモリを有するDVB−H受信機を用いながら同時の複数の情報ストリームバーストを受信する能力を含む。その他の利点は、前記メモリサイズを維持すること、従って前記DVB−H受信機のコストを維持することを含む。さらに、複数の情報ストリームバーストの同時受信を可能にする一方で前記DVB−H受信機の前記電力消費量が維持される。
【0011】
様々な側面が例を用いて示され及び説明される後続の発明を実施するための形態からその他の側面が当業者に容易に明確になることが理解される。図面及び発明を実施するための形態は、その性質上例示を目的とするものであって限定することを目的とするものではないとみなすべきである。
【図面の簡単な説明】
【0012】
【図1】DVBシグナリングと、オーディオビジュアルストリーミングと、ファイルダウンロードと、UDPマルチキャスティングと、IPマルチキャスティングとを含む様々なユーザサービスがDVB−Hプロトコルスタックによってどのようにして搬送されるかの例を示した図である。
【図2】プロトコル層分解例を示した図である。
【図3】4秒のバースト期間における1つのエレメンタリストリームに関する送信タイムライン例を示した図である。
【図4】4秒のバースト期間における16の異なるエレメンタリストリームに関する送信タイムライン例を示した図である。
【図5】限られた受信機メモリを用いて複数の同時ストリームバーストを受信するためのフローチャート例を示した図である。
【図6】PIDマネージャ内のPID管理モジュール(PMM)のPIDモニタリング状態とPID取得状態との間の関係を示した図である。
【図7】受信のために選択された2つのバックツーバックエレメンタリストリーム(ES1及びES2)の第1の例を示した図である。
【図8】受信のために選択された2つのバックツーバックエレメンタリストリーム(ES1及びES2)の第2の例を示した図である。
【図9】受信のために選択された2つのバックツーバックエレメンタリストリーム(ES1及びES2)の第3の例を示した図である。
【図10】受信のために選択された2つのバックツーバックエレメンタリストリーム(ES1及びES2)の第4の例を示した図である。
【図11】複数の同時ストリームバーストを受信するためにメモリと通信中のプロセッサを備えるデバイスの例を示した図である。
【図12】複数の同時ストリームバーストを受信するのに適するデバイスの例を示した図である。
【発明を実施するための形態】
【0013】
添付図と関係させて後述される発明を実施するための形態は、この開示の様々な側面に関する説明であることが意図されており、この開示を実践することができる側面のみを表すことは意図されていない。この開示において説明される各側面は、この開示の単なる一例又は1つの説明として提供されており、その他の側面よりも優先される又は有利であるとは必ずしも解釈すべきではない。発明を実施するための形態は、この開示の徹底的な理解を可能にすることを目的とする具体的な詳細を含む。しかしながら、この開示は、これらの具体的な詳細なしで実践可能であることが当業者にとって明らかであろう。幾つかの例においては、この開示の概念を不明瞭にするのを回避するためによく知られた構造及びデバイスはブロック図に示される。頭字語及びその他の説明用語は、単なる便宜上及び明確化を目的として用いられるものであり、この開示の適用範囲を限定することは意図されていない。
【0014】
説明を単純化することを目的として、これらの方法は、一連の行為として示されて説明される一方で、幾つかの行為はここにおいて示されて説明される順序とは異なる順序で及び/又はその他の行為と同時並行して生じることができるため、これらの方法は行為の順序によって制限されないことが理解及び評価されるべきである。例えば、方法は、代替として、例えば状態図において、一連の相互に関連する状態又はイベントとして表すことが可能であることを当業者は理解及び評価するであろう。さらに、1つ以上の側面により方法を実装するためにすべての例示される行為が要求されるわけではない。
【0015】
DVB−Hは、モバイルテレビの用途に関する幾つかのネットワークプロトコル層を規定する。DVB−H物理層は、DVB−T物理層に基づき、DVB−T物理層に対して幾つかの小さい追加が行われている。DVB−H物理層は、直交周波数分割多元(OFDM)多搬送波変調を採用する。データリンク層は、ITU−T H.222.0において定義されるMPEG2トランスポートストリーム(TS)に基づき、MPEG2トランスポートストリーム(TS)は、リアルタイムの符号化された映像ストリーム及び音声ストリームを一定のオーバーヘッドデータ及びシグナリング情報、例えばプログラム特定情報/システム情報(PSI/SI)、とともに多重化することによって形成される。伝播上の不具合にかかわらず信頼できる送信を確保するためにデータリンク層における拡張誤り保護技法も用いられる。この技法は、物理層においてDVB−Tチャネルコーディングの追加のチャネルコーディング及び時間インターリービングを提供するマルチプロトコルカプセル化前方誤り訂正(MPE−FEC)と呼ばれる。さらに、DVB−Hではタイムスライシングと呼ばれる節電技法も導入されている。DVB−H送信における個々のサービスは、受信機がスリープ状態になること及び意図されるサービスの受信のためのみにウェークアップすることを可能にするバースト状態で送信される。
【0016】
ネットワーク層及びトランスポート層は、インターネットプロトコル(IP)及びユーザデータグラムプロトコル(UDP)を利用する。DVB−Hシステムは、その他のDVB送信システムとは対照的に、その他のIPに基づくネットワークとの相互運用性を容易にするためのIPを採用する。トランスポート層は、オーディオビジュアル(A/V)ストリーミング用のリアルタイムトランスポートプロトコル/リアルタイムトランスポート制御プロトコル(RTP/RTCP)と、非同期層化コーディング/層化コーディングトランスポート(ALC/LCT)と、ファイルオブジェクト配信のための単方向トランスポートにおけるファイル配信(FLUTE)と、も含む。FLUTEは、あらゆるタイプのファイルオブジェクトを配信するために用いることができる。FLUTEの典型的用法は、拡張可能マークアップ言語(XML)フラグメント/ファイル及びプログラム情報を搬送するセッション記述プロトコル(SDP)の配信と、A/Vファイル、ピクチャ、ロゴ、等のメディアファイルオブジェクトの配信と、を含む。リアルタイム映像ストリーム及び音声ストリームは、マルチプロトコルカプセル化(MPE)適合プロトコルを用いてMPEGトランスポートストリーム内に埋め込まれたIPパケットを通じてUDPにおいてリアルタイムトランスポートプロトコル(RTP)によって搬送される。
【0017】
図1は、DVBシグナリングと、オーディオビジュアルストリーミングと、ファイルダウンローディングと、UDPマルチキャスティングと、IPマルチキャスティングとを含む様々なユーザサービスがDVB−Hプロトコルスタックによってどのようにして搬送されるかの例を示す。例示されるように、すべてのユーザサービスが、DVB−H物理層を通じてMPEG2トランスポートストリーム内に埋め込まれる。プログラム特定情報(PSI)は、MPEG2トランスポートストリームにおいて送信中のプログラム(メディア/コンテンツ)に関する情報及び多重化されたストリームからこれらのプログラムを抽出するための位置情報(例えば、リンク層識別子)を提供する。システム情報(SI)は、ネットワーク情報、例えば、一定のネットワークからのトランスポートストリームの送信周波数、一定の送信されたプログラム/IPストリームの位置(トランスポートストリーム、サービス識別子.)、等を提供する。
【0018】
アプリケーション層は、RTP/RTCP及びIPマルチキャストを利用可能なあらゆる用途を含む。モバイルブロードキャストに関するほとんどの典型的用途は、リアルタイムA/Vプログラミング、メディアファイルオブジェクト、等の再生用メディアプレイヤと、FLUTEを通じて受信されるXMLプログラムガイド情報を利用する電子サービスガイド(ESG)ブラウザに関する用途と、ブロードキャスト/マルチキャストフレームワークに基づくゲームプレイ/対話に関する用途と、を含む。
【0019】
各プログラムは、特定の組/タイプのオブジェクトを搬送するリアルタイムA/Vストリーム又はFLUTEセッションとして定義され、エレメンタリストリーム(ES)の一部である。各ESは、1つ以上の該プログラムを搬送可能である。各エレメンタリストリームは、これらのプログラムに属するカプセル化されたIPデータグラム(MPEセクション)から成るか又はこれらのプログラムに属するカプセル化されたIPデータグラム(MPEセクション)を含む。MPEセクションは、固定長(188バイト)で送信される。MPEG2トランスポートストリームパケットは、このES専用のパケット識別子(PID)を有する。図2は、プロトコル層分解例を示す。
【0020】
DVB−Hにおいては、エレメンタリストリームに属する(MPEセクション及び対応するFECセクションから成る)マルチプロトコルカプセル化前方誤り訂正(MPEG−FEC)フレームが512キロビット、1024キロビット、1536キロビット又は2048キロビットのデータのバーストとして送信される。これらのデータバーストは、エレメンタリストリーム内のプログラムの平均ビットレートよりもはるかに高いビットレートで送信される。このことは、プログラムデータがタイムスライス方式で送信されるのを可能にする。
【0021】
一側面においては、エレメンタリストリーム(ES)は、1つのプログラム、例えば512kbpsの平均ビットレートを有するA/Vストリーム、のみから成る又は1つのプログラム、例えば512kbpsの平均ビットレートを有するA/Vストリームのみを含む。このESを送信するために2048キロビットのバーストサイズが用いられると仮定すると、このバーストでは4秒の価値のデータを送信可能である。バーストが8Mbpsで送信された場合は、そのバーストは、250ミリ秒内で送信可能である。送信機は、このプログラムに関しては4秒毎に1回250ミリ秒の継続時間のバーストを送信しなければならないだけである。逆に、受信機(例えばDVB−H受信機)は、4秒毎に1回250ミリ秒の間バーストを受信しなければならないだけである。送信機がすべてのエレメンタリストリームに関して同じバーストサイズ及びバースト帯域幅を用いた場合は、バーストを繰り返す前に、16の別個のエレメンタリストリームバーストを送信可能である。図3は、4秒のバースト期間にわたる1つのエレメンタリストリームに関する送信タイムライン例を示す。図4は、4秒のバースト期間にわたる16の異なるエレメンタリストリームに関する送信タイムライン例を示す。
【0022】
一側面においては、DVB−H受信機は、対象となるESが送信中であるときに、該継続時間中だけウェークアップする。バースト内の各MPEセクションは、エレメンタリストリームに関する次のバーストの開始に対する相対的時間オフセットを搬送し、それによりDVB−H受信機が同じESのバーストを受信するために次にいつウェークアップすべきかを計算するのを可能にする。これは、DVB−H受信機が大部分の時間においてRFフロントエンド及びベースバンド処理を停止させて節電することを可能にする。
【0023】
一例においては、DVB−H受信機がプログラムを選択時に、選択されたプログラムに対応するESバースト(すなわち、MPE−FECフレーム)がDVB−H受信機によって取得され、このバーストからのコンテンツ/データがDVB−H受信機によって消費される。例えば、バースト(MPE−FECフレーム)のサイズが512キロビットである場合は、このバーストを受信するために復調器チップ内において512キロビットのサイズのメモリが要求される。2つのバースト(MPE−FECフレーム)、すなわち、2つの異なるエレメンタリストリームに属する512キロビットのバースト及び2048キロビットの他のバースト、が同じバーストサイクルから受信された場合は、メモリサイズは少なくとも2.5Mビットでなければならない。
【0024】
DVB−H受信機によって受信可能なエレメンタリストリーム(ES)の最大数は、メモリサイズに依存する。しかしながら、復調器チップのメモリサイズは、シリコンサイズに対して直接的な影響を有し、このことは、復調器チップのコストに直接的影響を有する。1つのその他の影響において、メモリサイズが大きくなるのに従って電力消費量も増大する。最も単純なパケット識別子(PID)管理技法においては、新PIDと関連づけられた新パケットの追加要求は、(最新の要求を含む)異なるIDと関連づけられた全パケットに関するMPEフレームサイズの合計が例えば復調器メモリの内部サイズである2Mビットよりも小さいか又は等しいときのみに受信機復調器によって受け入れられる。図5において用いられるように、第1のPIDは、第1のPIDと関連づけられた第1のパケットを指し、第2のPIDは、第2のPIDと関連づけられた第2のパケットを指し、第3のPIDは、第3のPIDと関連づけられた第3のパケットを指す。
【0025】
図5は、限られた受信機メモリを用いて複数の同時ストリームバーストを受信するためのフローチャート例を示す。一側面においては、受信機は、DVB−H受信機である。図5には、バーストサイクル内の異なるエレメンタリストリーム(例えば、上図におけるES1及びES4)に属する複数のMPE−FECフレームの受信をサポートするためのPID管理技法が示される。図5において示されるように、すべてのMPE−FECフレームサイズの合計は、復調器チップによって提供されるメモリを超える。一側面においては、復調チップは、DVB−H受信機内に常駐する。一側面においては、図5に示されるアルゴリズムは、PID取得状態を対象とする。
【0026】
ブロック505において、deltaT_unknownのスロット状態を有する最高の優先度のPID(すなわち、第2のPID)を選択する。次に、ブロック510において、第2のPIDに対応するMPE_FECフレームのフレームサイズが利用可能メモリよりも小さいかどうかを決定する。例えば、利用可能メモリは、復調器チップのメモリサイズである。バーストを受信中でも処理中でもない場合は、復調器タップのメモリ全体が利用可能メモリである。第2のPIDに対応するMPE_FECフレームのフレームサイズが利用可能メモリよりも小さい場合は、ブロック530に進む。第2のPIDに対応するMPE_FECフレームのフレームサイズが利用可能メモリよりも小さくない場合は、ブロック515に進み、前PID(すなわち、第1のPID)の優先度が第2のPIDの優先度よりも低いかどうかを決定する。第1のPIDの優先度が第2のPIDの優先度よりも低い場合は、ブロック520に進む。ブロック520において、既存のMPE−FECフレームの処理を打ち切ること及び第1のPIDへのメモリ割り当てを解除することを復調器に要求する。一側面においては、PMMがこの要求を復調器に対して行う。第1のPIDの優先度が第2のPIDの優先度よりも低くない(すなわち高い)場合は、ブロック525に進む。ブロック525において、利用可能メモリのサイズが第2のPIDに対応するMPE_FECフレームのフレームサイズと等しいか又はそれよりも大きくなるまで待ち、その後にブロック530に進む。
【0027】
ブロック530において、第2のPIDにメモリを割り当てる。ブロック530に引き続き、ブロック540において、第3のPIDと関連づけられたバーストを受信するためにDVB−H受信機をウェークアップさせる時間であるかどうかを決定する。DVB−H受信機をウェークアップさせる時間である場合は、ブロック545に進む。ブロック545において、利用可能メモリが第3のPIDに対応するMPE_FECフレームのフレームサイズを収容可能であるかどうかを決定する。一側面においては、PMMが利用可能メモリを決定する。収容可能である場合は、ブロック550に進み、ブロック550において、利用可能メモリが第3のPIDに割り当てられる。収容可能でない場合は、ブロック555に進む。ブロック555において、第3のPIDの優先度が第2のPIDの優先度よりも高いかどうかを決定する。一側面においては、PMMが優先度を決定する。第3のPIDの優先度が第2のPIDの優先度よりも高い場合は、ブロック560に進む。ブロック560において、第2のPIDへのメモリ割り当てを解除し、第3のPIDにメモリを割り当てた。ブロック560に引き続き、ブロック510に戻る。第3のPIDの優先度が第2のPIDの優先度よりも高くない(すなわち低い)場合は、ブロック565に進む。ブロック565において、第3のPIDのスロット状態をdeltaT_unknownに変更する。ブロック565に引き続き、ブロック540に戻る。
【0028】
ブロック540に引き続き、DVB−H受信機をウェークアップさせる時間でない場合は、ブロック570において第2のPIDに対応するMPE_FECフレームの組み立てが完了しているかどうかを決定する。該組み立てが完了している場合は、ブロック575に進み、第2のPIDへのメモリ割り当てを解除してスロット状態をdeltaT_knownに設定する。ブロック575に引き続き、ブロック590に進む。組み立てが完了していない場合は、ブロック580に進み、第2のPIDと関連づけられたタイマ(例えば、deltaT_determination_time)が時間切れになっているかどうかを決定する。一側面においては、PMMがタイマ時間切れを決定する。タイマが時間切れになっている場合は、ブロック585に進む。ブロック585において、第2のPIDを削除して失敗メッセージ(例えば、add_pid_failed())を送信する。一例においては、失敗メッセージは、DVB−H受信機内のDVB−Hプロトコルプロセッサに送られる。ブロック585に引き続き、ブロック590に進む。タイマが時間切れになっていない場合は、ブロック540に戻る。ブロック590において、PIDモニタリング状態に移行する。
【0029】
図5のフローチャートにおいて開示されるステップは、この開示の適用範囲及び精神から逸脱せずに互換可能であることを当業者は理解するであろう。同様に、図5のフローチャートにおいて示されるステップは排他的でないこと及びこれらのステップはアプリケーション又はシステムパラメータに従って変更可能であり、及びこの開示の適用範囲及び精神に影響を及ぼさずにその他のステップを含めることが可能であることを当業者は理解するであろう。
【0030】
図5に示されるアルゴリズムを用いずに情報の複数のストリームバーストを受信する1つの試みにおいては、第1のPID追加要求は、例えば2Mビットのフレームサイズに関するものである。この例においては、引き続く新PIDの追加要求は、メモリサイズが例えば2Mビットに限られている場合は常に失敗に終わることになる。この失敗は、第2のPID要求に対応するMPE−FECフレームが時間の点で第1のPIDに対応するMPE−FECから分離されている場合でさえも発生する。バーストを受信後は、バースト(MPE−FECフレーム)を処理してメモリからフラッシング(flushing)するための有限量の時間が要求される。従って、メモリサイズの合計が内部メモリサイズを超える2つのバーストである場合は、第2のバーストに割り当てるべき利用可能メモリが存在しないためこれらの両方のバーストを受信するのは可能でない。部分的であるが、第2のPIDの受信失敗は、メモリが所定のバースト(例えば第1のPID)に関して静的に割り当てられることに起因して発生する。
【0031】
代わりに、図5に示されるように、メモリは動的に割り当てられる。すなわち、メモリは、バーストを受信時に割り当てられ、バーストを受信後に割り当てが解除される。従って、時間的に遅れて現れる他のパケットに対して同じメモリを再度割り当てることが可能である。この方法により、合計がメモリサイズよりも大きい2つ以上のESバーストを1回のバーストサイクル内において受信可能である。図5に示されるアルゴリズムは、複数の新PIDを追加することを考慮しており、従って追加された全PIDに対応するMPE−FECフレームサイズの合計は復調器メモリよりも大きいことができる。さらに、図5に示されるアルゴリズムは、各PIDに関する優先度割り当てを含み、従って、他のバーストとの衝突の場合には、最高の優先度を有するPIDに対応するバースト(MPE−FECフレーム)に対してより高いメモリ割り当て優先度が割り当てられる。例えば、バックツーバックバースト例において、第1のバーストよりも高い優先度が第2のバーストに割り当てられる場合は、第2のバーストは、第1のバーストに優先してメモリスペースが割り当てられる。優先度を割り当てることは、より高い優先度を有するPIDがより低い優先度を有するPIDよりも良い受信機会を有することを保証する。一側面においては、第1及び第2のバーストが、一方のバーストが現れる前に他方のバーストがメモリからフラッシングされることになるような十分に長い時間だけ分離されている場合は、両方のバーストが受信可能であるため優先度の割り当ては呼び出されない。一例においては、リアルタイムA/Vストリーミングサービス及びキーストリームに対応するPIDは、非リアルタイムのサービス(例えば、電子サービスガイド(ESG)、FLUTEに基づくサービス)に対応するPIDよりも高い優先度が割り当てられる。
【0032】
一側面においては、図5に示されるアルゴリズムは、次の規則のうちの1つ以上によって支配される。例えば、メモリを割り当てる際には、より高い優先度のPIDと関連づけられたMPE−FECフレームが、より低い優先度のPIDと関連づけられた他のMPE−FECフレームに優先する。他の例においては、MPE−FECフレームのdeltaTが決定されている場合はPIDのスロット状態(従ってその関連づけられたMPE−FECフレーム)をdeltaT_knownに設定する。deltaTは、次のバーストサイクルにおける同じエレメンタリストリーム(ES)内の次のMPE−FECに対するMPE−FECの時間オフセットである。MPE−FECフレームのdeltaTが決定されていない場合は、スロット状態をdeltaT_unknownに設定する。一例においては、タイマ(例えば、deltaT_determination_time)は、スロット状態がdeltaT_unknownに設定されたときに開始される。タイマは、スロット状態がdeltaT_knownに変わったときに打ち切られる。一例においては、MPE−FECフレームサイズ(例えば、frame_size)が各PIDに関して指定される。一例においては、タイマは、新バーストを取得するために割り振られた時間である決定時間を提供する。
【0033】
一例においては、プロトコルプロセッサは、PID、優先度、frame_size及び/又はdeltaT_determination_timeを指定することによって1つ以上のPIDの追加要求(例えば、add_pid_request())をPIDマネージャに送信する。一例においては、1つ以上のPIDの追加が成功であるということがデフォルト時の仮定である。他の例においては、PIDマネージャは、追加されるべきPIDに対応するMPE−FECフレームが取得可能になる前にdeltaT_determination_timeが時間切れになったときに失敗メッセージ(例えば、add_pid_failed())をプロトコルプロセッサに送信する。一例においては、プロトコルプロセッサは、PIDマネージャからのPIDフィルタルの削除を要求する削除メッセージ(例えば、delete_pid_request())を送信する。一例においては、PIDマネージャは、各PIDに関する次の記入項目、すなわち、deltaT_determination_time、フレームサイズ、優先度及びスロット状態、を含むPID管理テーブル(例えば、テーブル1)を維持する。テーブル1は、3つのPIDに関する値例を示す。
【表1】
【0034】
一例においては、PIDマネージャは、add_pid_request()メッセージをDVB−Hプロトコルプロセッサから受信時にPID管理テーブル(例えば、テーブル1)に1つ以上の記入項目を追加する。新しい記入項目を追加し次第、PIDマネージャは、その新しい記入項目に関するスロット状態を‘deltaT_unkown’に設定する。同様に、PIDマネージャは、delete_pid_request()メッセージをDVB−Hプロトコルプロセッサから受信時又はPID管理モジュール(PMM)が記入項目の削除を要求時にPID管理テーブル(例えば、テーブル1)から記入項目を削除する。一側面においては、PIDマネージャ内のPID管理モジュール(PMM)は、2つの状態、すなわちPIDモニタリング状態及びPID取得状態、を含む。初期化時点においては、PMMは、PIDモニタリング状態にある。
【0035】
図6は、PIDマネージャ内のPID管理モジュール(PMM)のPIDモニタリング状態とPID取得状態との間の関係を示す。PMMは、モニタリング状態に入り次第、PID管理テーブル(例えば、テーブル1)を確認する。一例においては、PMMは、PID管理テーブル内に記入項目が存在しない場合、又はPID管理テーブル内の全記入項目のスロット状態が‘deltaT_known’に設定されている場合はモニタリング状態を維持する。モニタリング状態において、PID管理テーブルに記入されたエレメンタリストリームのうちの1つに関するバーストを受信するためにDVB−H受信機をウェークアップさせる時間であるとPMMが決定した場合は、PMMは、(ESバーストを受信するために)指定されたPIDにメモリを割り当てるように復調器に要求する。バーストが受信及び処理され、復調器メモリからフラッシングされてホストプロセッサ内に入れられた後において、PMMは、メモリの割り当て解除を要求する。一側面においては、PID管理テーブル(例えば、テーブル1)内の1つ以上の記入項目のスロット状態がdeltaT_unkownに設定されている場合は、PMMは、PIDモニタリング状態からPID取得状態に移行する。一例においては、PMMがDVB−H制御要素(CE)からadd_pid_requestを受信時に、PMMをPID取得状態に移行させる。
【0036】
一側面においては、図6の例は、パケット識別子(PID)と関連づけられたパケットの追加又は削除を実行するためのPIDマネージャと、パケットの追加又は削除の実行をPIDマネージャに要求するためのプロトコルプロセッサであって、前記パケットは、複数の同時バーストストリームの一部として受信されるプロトコルプロセッサとを備える、複数の同時バーストストリームを受信するための装置、において具現化される。プロトコルプロセッサは、優先度情報、決定時間、フレームサイズのうちの少なくとも1つをPIDマネージャに送信された要求メッセージ内のパケット識別子と関連づける。PIDマネージャは、deltaT_unknownのスロット状態を要求メッセージ内のパケット識別子に関連づける。一側面においては、PIDマネージャは、パケット識別子リストのPID管理テーブルを維持し、リスト内の各パケット識別子は、優先度情報、決定時間、フレームサイズ及びスロット状態と関連づけられる。PIDマネージャは、パケット識別子のうちの1つを削除するためのメッセージがプロトコルプロセッサから受信された場合にパケット識別子のうちの1つをリストから削除する。
【0037】
一側面においては、PIDマネージャは、PID管理モジュール(PMM)を備え、PMMは、PIDモニタリング状態とPID取得状態とをさらに備える。PMMは、PIDテーブル内に記入項目が存在しない場合又はPID管理テーブル内の全記入項目がdeltaT_knownスロット状態を有する場合にPIDモニタリング状態になり及びPIDモニタリング状態を維持する。PID管理テーブルは、パケット識別子のリストを備え、リスト内の各パケット識別子は、優先度情報、決定時間、フレームサイズ及びスロット状態と関連づけられる。PMMは、PID管理テーブル内の少なくとも1つの記入項目がdeltaT_unkownスロット状態を有する場合にPID取得状態になる。PMMは、新パケットを受信するためにウェークアップする時間であるときに新パケットに内部メモリを割り当てるための割り当て要求を送信する。新パケットは、PID管理テーブル内のパケット識別子のうちの1つと関連づけられる。PMMは、PID管理テーブル内のパケット識別子のうちの1つと関連づけられた旧パケットが受信されて処理された後に、旧パケットへの内部メモリ割り当てを解除するための割り当て解除要求を送信する。PMMは、パケット識別子のうちの1つのスロット状態がdeltaT_unkownに変化時にPIDモニタリング状態からPID取得状態に移行する。一側面においては、図5に示されるアルゴリズムは、PID取得状態に関するものである。
【0038】
一例においては、複数の未処理の要求が存在する場合は、最初に最高の優先度のPIDと関連づけられたMPE−FECフレームが要求の対象となる。さらに、次に最高の優先度のPIDと関連づけられたMPE−FECフレームが次に要求対象となり、以下同様である。これらの例における規則は例示を目的とするものであって包括的ではないことを当業者は理解するであろう。幾つかの場合においては、ここにおいて説明される規則例のうちの1つ以上を実装する必要がなく、この開示の適用範囲及び精神に影響を及ぼさずにここにおいて記載されない追加の規則又はその組み合わせを追加する必要がある。
【0039】
ここにおいては、バックツーバックバーストを示す4例が説明される。これらの全例に関して、復調器は2Mビットのメモリを有すると仮定する。図7に示される第1の例においては、2つのバックツーバックエレメンタリストリーム(ES1及びES2)が受信に関して選択される。ES2には優先度1が割り当てられ、ES1には優先度2が割り当てられる。この第1の例においては、ES1が成功裏に受信されるかどうかは、ES2(より高い優先度)の受信が開始する前にES1アプリケーションデータをメモリからフラッシング可能であるかどうかに依存する。ES1の全アプリケーションデータが誤りなしで(又は最小の誤りの状態で)受信された場合は、DVB−H受信機は、関連づけられたES1パリティデータを待たずにES1アプリケーションデータをフラッシングするのを開始することが可能である。従って、ES1アプリケーションデータは、DVB−H受信機がES2にメモリを割り当てる準備が完了する前にメモリからフラッシングすることが可能である。この場合は、ES1及びES2の両方が成功裏に受信される。他方、ES1のアプリケーションデータが、前方誤り訂正のための関連づけられたES1パリティデータを要求する誤りを伴った状態で受信された場合は、DVB−H受信機がES2にメモリを割り当てる準備が完了する前に十分な時間がないことがある。この後者の場合は、ES1は廃棄され、ES2のみが成功裏に受信される。
【0040】
図8は、受信のために選択された2つのバックツーバックエレメンタリストリーム(ES1及びES2)の第2の例を示す。第2の例においては、ES1はES2(すなわち、優先度2)よりも高い優先度(すなわち、優先度1)を有する。ES1の全アプリケーションデータが誤りなしで(又は最小の誤りが存在する状態で)受信された場合は、DVB−H受信機は、関連づけられたES1パリティデータを待たずにES1アプリケーションメモリをフラッシングするのを開始することができる。従って、ES1アプリケーションデータは、DVB−H受信機がより低い優先度のバーストES2にメモリを割り当てる準備が完了する前にメモリからフラッシングすることが可能である。この場合は、ES1及びES2の両方が成功裏に受信される。他方、ES1のアプリケーションデータが、前方誤り訂正のための関連づけられたES1パリティデータを要求する誤りを伴った状態で受信された場合は、DVB−H受信機がより低い優先度のバーストES2にメモリ割り当てる準備が完了する前に十分な時間がないことがある。この後者の場合は、ES1アプリケーションデータ(及び関連づけられたパリティデータ)がメモリからフラッシングされるまでES2はメモリが割り当てられない。一例においては、ES2データの一部のみが受信される。受信されたES2データ内における誤り量に依存して、ES2バーストを復元するために誤り訂正技法を適用することができる。
【0041】
図9は、受信のために選択された2つのバックツーバックエレメンタリストリーム(ES1及びES2)の第3の例を示す。第3の例においては、ES1はES2(すなわち、優先度2)よりも高い優先度(すなわち、優先度1)を有し、ES2はES1(例えば、サイズが2Mビット)よりも小さいバースト(例えば、サイズが0.5Mビット)である。メモリからのESアプリケーションデータのフラッシングが、ES2バースト送信の完了前に完了されない場合は、ES2は受信されない。他の例においては、ES1アプリケーションデータのフラッシングはES2バースト送信と時間の点で同時に発生したためES2の一部のみが受信される。ES2バーストは短いため、受信されるものは、完全なES2バーストの復元を可能にしない場合がある。
【0042】
図10は、受信のために選択された2つのバックツーバックエレメンタリストリーム(ES1及びES2)の第4の例を示す。第3の例においては、ES1はES2(すなわち、優先度2)よりも高い優先度(すなわち、優先度1)を有し、ES1はES1(例えば、サイズが2Mビット)よりも小さいバースト(例えば、サイズが0.5Mビット)である。ES1はより小さいバーストであるため、ES1アプリケーションデータをメモリからフラッシングするために要する時間はより短く、従って(存在するとしても)ES2バースト送信からのデータ紛失をほとんど生じさせない。ES2バーストのサイズは大きいため、誤り訂正を通じての復元は、紛失したデータに関するほうが可能性がより高い。
【0043】
図7乃至10における4つの例によって示されるように、データバーストを受信するための時間量は、(用いられる変調の種類、コードレート、ガード間隔、等に依存する)バースト帯域幅に依存する。メモリからデータをフラッシングするための時間量は、チャネル誤り率(従って誤り訂正に要する時間量)、及び復調器メモリからホストプロセッサにデータを転送するのに要する時間量に依存する。従って、所定のチャネル誤り率に関しては、全体のサイズがメモリサイズよりも大きいバックツーバックバーストを成功裏に受信する確率は、よりの低いバースト帯域幅のほうがより高く、より高いバースト帯域幅のほうがより低い。
【0044】
ここにおいて開示される例に関係させて説明される様々な例示的構成要素、論理ブロック、モジュール及び/又はアルゴリズム上のステップは、電子ハードウェア、ファームウェア、コンピュータソフトウェア、又はその組み合わせとして実装可能であることを当業者はさらに明確に理解するであろう。ハードウェア、ファームウェア及びソフトウェアのこの互換性を明確に例示するため、上記においては、様々な例示的構成要素、ブロック、モジュール及び/又はアルゴリズム上のステップが、各々の機能の観点で一般的に説明されている。該機能がハードウェア、ファームウェア又はソフトウェアとして実装されるかは、全体的システムに対する特定の用途上の及び設計上の制約事項に依存する。当業者は、説明されている機能を各々の特定の用途に合わせて様々な形で実装することができるが、これらの実装決定は、この開示の適用範囲及び精神からの逸脱を生じさせるものであるとは解釈すべきではない。
【0045】
例えば、ハードウェアに実装する場合は、処理ユニットは、ここにおいて説明される機能を果たすように設計された1つ以上の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、その他の電子ユニット、又はその組み合わせ内に実装することができる。ソフトウェアに実装する場合は、該実装は、ここにおいて説明される機能を果たすモジュール(例えば、手順、関数、等)を通じて行うことができる。ソフトウェアコードは、メモリユニットに格納すること及びプロセッサユニットによって実行することができる。さらに、ここにおいて説明される様々な例示的フローチャート、論理ブロック、モジュール及び/又はアルゴリズム上のステップは、当業において知られるあらゆるコンピュータによって読み取り可能な媒体において搬送されるコンピュータによって実行可能な命令としてコーディングすることも可能である。
【0046】
一例においては、ここにおいて説明される例示的構成要素、フローチャート、論理ブロック、モジュール及び/又はアルゴリズム上のステップは、1つ以上のプロセッサとともに実装又は実行される。一側面においては、プロセッサは、ここにおいて説明される様々なフローチャート、論理ブロック及び/又はモジュールを実装又は実行するためにプロセッサによって実行されるデータ、メタデータ、プログラム命令、等を格納するメモリと結合される。図11は、複数の同時ストリームバーストを受信するためにメモリ1120と通信するプロセッサ1110を備えるデバイス1100の例である。一例においては、デバイス1100は、図5に示されるアルゴリズムを実装するために用いられる。一側面においては、メモリ1120は、プロセッサ1110内に配置される。他の側面においては、メモリ1120は、プロセッサ1110の外部に配置される。
【0047】
図12は、複数の同時ストリームバーストを受信するのに適するデバイス1200の例を示す。一側面においては、デバイス1200は、ここにおいてはブロック1205、1210、1215、1220、1225、1230、1240、1245、1250、1255、1260、1265、1270、1275、1280、1285及び1290において説明されるように限られたDVB−H受信機メモリを用いて複数の同時ストリームバーストを受信する異なる側面を提供するように構成された1つ以上のモジュールを備える少なくとも1つのプロセッサによって実装される。例えば、各モジュールは、ハードウェア、ファームウェア、ソフトウェア、又はその組み合わせを備える。一側面においては、デバイス1200は、少なくとも1つのプロセッサと通信する少なくとも1つのメモリによっても実装される。図12において用いられる第1のPIDは、第1のPIDと関連づけられた第1のパケットを指し、第2のPIDは、第2のPIDと関連づけられた第2のパケットを指し、第3のPIDは、第3のPIDと関連づけられた第3のパケットを指す。
【0048】
開示される側面に関する上記の説明は、当業者がこの開示を製造又は使用できるようにすることを目的とするものである。これらの側面に対する様々な修正は、当業者にとって容易に明確になるであろう。さらに、ここにおいて定められている一般原理は、この開示の精神及び適用範囲を逸脱しない形でその他の側面に対しても適用することができる。
【特許請求の範囲】
【請求項1】
複数の同時ストリームバーストを受信するための方法であって、
フレームサイズが利用可能メモリのサイズよりも小さいかどうかを決定することと、
第1のパケットの優先度が第2のパケットの優先度よりも低いかどうかを決定することであって、前記フレームサイズは、前記第2のパケットに関するフレームのサイズであることと、
前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低い場合は前記第1のパケットの処理を打ち切ること及び前記第1のパケットへの前記利用可能メモリの割り当てを解除することを要求することと、
前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低くない場合は前記利用可能メモリの前記サイズが前記フレームサイズと等しいか又はそれよりも大きくなるまで待つことと、
前記第2のパケットに関する前記フレームに前記利用可能メモリを割り当てること、とを備える、方法。
【請求項2】
前記第2のパケットは、deltaT_unknownのスロット状態を備える請求項1に記載の方法。
【請求項3】
前記第2のパケットは、deltaT_unknownのスロット状態を備える複数のパケットの中で最高の優先度を備える請求項2に記載の方法。
【請求項4】
前記フレームは、マルチプロトコルカプセル化前方誤り訂正(MPE−FEC)フレームである請求項1に記載の方法。
【請求項5】
第3のパケットを受信するために受信機をウェークアップさせる時間であるかどうかを決定することをさらに備える請求項1に記載の方法。
【請求項6】
前記利用可能メモリは、前記第3のパケットを収納可能であるかどうかを決定することをさらに備える請求項5に記載の方法。
【請求項7】
前記第3のパケットに前記利用可能メモリを割り当てることをさらに備える請求項6に記載の方法。
【請求項8】
前記第3のパケットの優先度は前記第2のパケットの前記優先度よりも高いかどうかを決定することをさらに備える請求項6に記載の方法。
【請求項9】
前記第3の前記パケットの前記優先度が前記第2のパケットの前記優先度よりも高い場合は前記第2のパケットへの前記利用可能メモリの割り当てを解除することと前記第3のパケットに前記利用可能メモリを割り当てることとをさらに備える請求項8に記載の方法。
【請求項10】
前記第3の前記パケットの前記優先度が前記第2のパケットの前記優先度よりも高くない場合は前記第3のパケットのスロット状態をdeltaT_unknownに変更することをさらに備える請求項8に記載の方法。
【請求項11】
前記第2のパケットに関する前記フレームの組み立てが完了しているかどうかを決定することをさらに備える請求項5に記載の方法。
【請求項12】
前記第2のパケットへの前記利用可能メモリの割り当てを解除することと、 前記組み立てが完了している場合は前記第2のパケットのスロット状態をdeltaT_knownに設定することと、PIDモニタリング状態に移行すること、とをさらに備える請求項11に記載の方法。
【請求項13】
前記組み立てが完了していない場合は前記第2のパケットと関連づけられたタイマが時間切れになっているかどうかを決定することをさらに備える請求項11に記載の方法。
【請求項14】
前記タイマが時間切れだった場合に前記第2のパケットを削除することと前記第2のパケットの受信失敗を示す失敗メッセージを送信することとをさらに備える請求項13に記載の方法。
【請求項15】
PIDモニタリング状態に移行することをさらに備える請求項14に記載の方法。
【請求項16】
前記受信機は、デジタルビデオ放送ハンドヘルド(DVB−H)受信機であり、前記フレームは、マルチプロトコルカプセル化前方誤り訂正(MPE−FEC)フレームである請求項5に記載の方法。
【請求項17】
プロセッサとプロセッサメモリとを備える受信機であって、前記プロセッサメモリは、下記、すなわち、
フレームサイズが利用可能メモリのサイズよりも小さいかどうかを決定すること、
第1のパケットの優先度が第2のパケットの優先度よりも低いかどうかを決定すること、
前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低い場合は前記第1のパケットの処理を打ち切ること前記第1のパケットへの前記利用可能メモリの割り当てを解除することを要求すること、
前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低くない場合は前記利用可能メモリの前記サイズが前記フレームサイズと等しいか又はそれよりも大きくなるまで待つこと、及び
前記第2のパケットに関する前記フレームに前記利用可能メモリを割り当てること、を実行するための前記プロセッサによって実行可能なプログラムコードを含み、前記フレームサイズは前記第2のパケットに関するフレームのサイズである、受信機。
【請求項18】
前記第2のパケットは、deltaT_unknownのスロット状態を備える請求項17に記載の受信機。
【請求項19】
前記第2のパケットは、deltaT_unknownのスロット状態を備える複数のパケットの中で最高の優先度を備える請求項18に記載の受信機。
【請求項20】
前記フレームは、マルチプロトコルカプセル化前方誤り訂正(MPE−FEC)フレームである請求項17に記載の受信機。
【請求項21】
前記プロセッサメモリは、第3のパケットを受信するために前記受信機をウェークアップさせる時間であるかどうかを決定するためのプログラムコードをさらに備える請求項17に記載の受信機。
【請求項22】
前記プロセッサメモリは、前記利用可能メモリが前記第3のパケットを収容可能であるかどうかを決定するためのプログラムコードをさらに備える請求項21に記載の受信機。
【請求項23】
前記プロセッサメモリは、前記第3のパケットに前記利用可能メモリを割り当てるためのプログラムコードをさらに備える請求項22に記載の受信機。
【請求項24】
前記プロセッサメモリは、前記第3のパケットの優先度が前記第2のパケットの前記優先度よりも高いかどうかを決定するためのプログラムコードをさらに備える請求項22に記載の受信機。
【請求項25】
前記プロセッサメモリは、前記第3のパケットの前記優先度が前記第2のパケットの前記優先度よりも高い場合は前記第2のパケットへの前記利用可能メモリの割り当てを解除し及び前記第3のパケットに前記利用可能メモリを割り当てるためのプログラムコードをさらに備える請求項24に記載の受信機。
【請求項26】
前記プロセッサメモリは、前記第3の前記パケットの前記優先度が前記第2のパケットの前記優先度よりも高くない場合は前記第3のパケットのスロット状態をdeltaT_unknownに変更するためのプログラムコードをさらに備える請求項24に記載の受信機。
【請求項27】
前記プロセッサメモリは、前記第2のパケットに関する前記フレームの組み立てが完了しているかどうかを決定するためのプログラムコードをさらに備える請求項21に記載の受信機。
【請求項28】
前記プロセッサメモリは、前記第2のパケットへの前記利用可能メモリの割り当てを解除し、前記組み立てが完了している場合は前記第2のパケットのスロット状態をdeltaT_unknownに設定し、及びPIDモニタリング状態に移行するためのプログラムコードをさらに備える請求項27に記載の受信機。
【請求項29】
前記プロセッサメモリは、前記組み立てが完了していない場合は前記第2のパケットと関連づけられたタイマが時間切れになっているかどうかを決定するためのプログラムコードをさらに備える請求項27に記載の受信機。
【請求項30】
前記プロセッサメモリは、前記タイマが時間切れだった場合は前記第2のパケットを削除し及び前記第2のパケットの受信失敗を示す失敗メッセージを送信するためのプログラムコードをさらに備える請求項29に記載の受信機。
【請求項31】
前記プロセッサメモリは、PIDモニタリング状態に移行するためのプログラムコードをさらに備える請求項29に記載の受信機。
【請求項32】
前記受信機は、デジタルビデオ放送−ハンドヘルド(DVB−H)受信機であり、前記フレームは、マルチプロトコルカプセル化前方誤り訂正(MPE−FEC)フレームである請求項21に記載の受信機。
【請求項33】
前記利用可能メモリは、前記受信機の復調器内に常駐する請求項17に記載の受信機。
【請求項34】
複数の同時ストリームバーストを受信するためのハンドヘルド受信機であって、
フレームサイズが利用可能メモリのサイズよりも小さいかどうかを決定するための手段と、
第1のパケットの優先度が第2のパケットの優先度よりも低いかどうかを決定するための手段であって、前記フレームサイズは前記第2のパケットに関するフレームのサイズである手段と、
前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低い場合は前記第1のパケットの処理を打ち切ること及び前記第1のパケットへの前記利用可能メモリの割り当てを解除することを要求するための手段と、
前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低くない場合は前記利用可能メモリの前記サイズが前記フレームサイズと等しいか又はそれよりも大きくなるまで待つための手段と、
前記第2のパケットに関する前記フレームに前記利用可能メモリを割り当てるための手段と、を備える、ハンドヘルド受信機。
【請求項35】
前記フレームは、マルチプロトコルカプセル化−前方誤り訂正(MPE−FEC)フレームである請求項34に記載のハンドヘルド受信機。
【請求項36】
第3のパケットを受信するために前記ハンドヘルド受信機をウェークアップさせる時間であるかどうかを決定することをさらに備える請求項34に記載のハンドヘルド受信機。
【請求項37】
前記利用可能メモリは、前記第3のパケットを収納可能であるかどうかを決定するための手段をさらに備える請求項36に記載のハンドヘルド受信機。
【請求項38】
前記第3のパケットに前記利用可能メモリを割り当てるための手段をさらに備える請求項37に記載のハンドヘルド受信機。
【請求項39】
前記第3のパケットの優先度が前記第2のパケットの前記優先度よりも高いかどうかを決定するための手段をさらに備える請求項37に記載のハンドヘルド受信機。
【請求項40】
前記第3の前記パケットの前記優先度が前記第2のパケットの前記優先度よりも高い場合は前記第2のパケットへの前記利用可能メモリの割り当てを解除するための手段と前記第3のパケットに前記利用可能メモリを割り当てるための手段とをさらに備える請求項39に記載のハンドヘルド受信機。
【請求項41】
前記第3のパケットの前記優先度が前記第2のパケットの前記優先度よりも高くない場合は前記第3のパケットのスロット状態をdeltaT_unknownに変更するための手段をさらに備える請求項39に記載のハンドヘルド受信機。
【請求項42】
前記第2のパケットに関する前記フレームの組み立てが完了しているかどうかを決定するための手段をさらに備える請求項36に記載のハンドヘルド受信機。
【請求項43】
前記第2のパケットへの前記利用可能メモリの割り当てを解除するための手段と、前記組み立てが完了している場合は前記第2のパケットのスロット状態をdeltaT_unknownに設定するための手段と、PIDモニタリング状態に移行するための手段と、をさらに備える請求項42に記載のハンドヘルド受信機。
【請求項44】
前記組み立てが完了していない場合は前記第2のパケットと関連づけられたタイマが時間切れになっているかどうかを決定するための手段をさらに備える請求項42に記載のハンドヘルド受信機。
【請求項45】
前記第2のパケットを削除するための手段と、前記タイマが時間切れだった場合は前記第2のパケットの受信失敗を示す失敗メッセージを送信するための手段と、PIDモニタリング状態に移行するための手段と、をさらに備える請求項44に記載のハンドヘルド受信機。
【請求項46】
コンピュータプログラム製品であって、
フレームサイズが利用可能メモリのサイズよりも小さいかどうかを決定するためのプログラムコードと、
第1のパケットの優先度が第2のパケットの優先度よりも低いかどうかを決定するためのプログラムコードであって、前記フレームサイズは、前記第2のパケットに関するフレームのサイズであるプログラムコードと、
前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低い場合は前記第1のパケットの処理を打ち切ること及び前記第1のパケットへの前記利用可能メモリの割り当てを解除することを要求するためのプログラムコードと、
前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低い場合は前記利用可能メモリの前記サイズが前記フレームサイズと等しいか又はそれよりも大きくなるまで待つためのプログラムコードと、
前記第2のパケットに関する前記フレームに前記利用可能メモリを割り当てるためのプログラムコードと、を備える格納されたプログラムコード、を含むコンピュータによって読み取り可能な媒体を備える、コンピュータプログラム製品。
【請求項47】
第3のパケットを受信するためにDVB−H受信機をウェークアップさせる時間であるかどうかを決定するためのプログラムコードと、
前記利用可能メモリは前記第3のパケットを収納可能であるかどうかを決定するためのプログラムコードと、
前記第3のパケットに前記利用可能メモリを割り当てるためのプログラムコードと、をさらに備える請求項46に記載のコンピュータプログラム製品。
【請求項48】
第3のパケットを受信するためにDVB−H受信機をウェークアップさせる時間であるかどうかを決定するためのプログラムコードと、
前記第3のパケットの優先度が前記第2のパケットの前記優先度よりも高いかどうかを決定するためのプログラムコードと、
前記第3の前記パケットの前記優先度が前記第2のパケットの前記優先度よりも高い場合は前記第2のパケットへの利用可能メモリの割り当てを解除し及び前記第3のパケットに前記利用可能メモリを割り当てるためのプログラムコードと、
前記第3のパケットの前記優先度が前記第2のパケットの前記優先度よりも高くない場合は前記第3のパケットのスロット状態をdeltaT_unknownに変更するためのプログラムコードと、をさらに備える請求項46に記載のコンピュータプログラム製品。
【請求項49】
第3のパケットを受信するためにDVB−H受信機をウェークアップさせる時間であるかどうかを決定するためのプログラムコードと、
前記第2のパケットに関する前記フレームの組み立てが完了しているかどうかを決定するためのプログラムコードと、
前記組み立てが完了している場合は前記第2のパケットへの前記利用可能メモリの割り当てを解除し及び前記第2のパケットのスロット状態をdeltaT_unknownに設定するためのプログラムコードと、
前記組み立てが完了してない場合は前記第2のパケットと関連づけられたタイマが時間切れになっているかどうかを決定し、前記第2のパケットを削除し及び前記第2のパケットの受信失敗を示す失敗メッセージを送信するためのプログラムコードと、をさらに備える請求項46に記載のコンピュータプログラム製品。
【請求項50】
PIDモニタリング状態に移行するためのプログラムコードをさらに備える請求項49に記載のコンピュータプログラム製品。
【請求項51】
複数の同時バーストストリームを受信するための装置であって、
パケット識別子(PID)と関連づけられたパケットの追加又は削除を行うためのPIDマネージャと、
前記パケットの前記追加又は前記削除を行うように前記PIDマネージャに要求するためのプロトコルプロセッサであって、前記パケットは前記複数の同時バーストストリームの一部として受信されるプロトコルプロセッサと、を備える、装置。
【請求項52】
前記プロトコルプロセッサは、優先度情報、決定時間、フレームサイズのうちの少なくとも1つを前記PIDマネージャに送信された要求メッセージ内の前記パケット識別子と関連づける請求項51に記載の装置。
【請求項53】
前記PIDマネージャは、deltaT_unknownのスロット状態を前記要求メッセージ内の前記パケット識別子に関連づける請求項52に記載の装置。
【請求項54】
前記PIDマネージャは、パケット識別子リストのPID管理テーブルを維持し、前記リスト内の各パケット識別子は、優先度情報、決定時間、フレームサイズ及びスロット状態と関連づけられる請求項51に記載の装置。
【請求項55】
前記PIDマネージャは、前記パケット識別子のうちの1つを削除するメッセージが前記プロトコルプロセッサから受信された場合に前記パケット識別子のうちの前記1つを前記リストから削除する請求項54に記載の装置。
【請求項56】
前記PIDマネージャは、PID管理モジュール(PMM)を備え、前記PMMは、PIDモニタリング状態とPID取得状態とをさらに備える請求項51に記載の装置。
【請求項57】
前記PMMは、PID管理テーブル内に記入項目が存在しない場合又は前記PID管理テーブル内の全記入項目がdeltaT_knownスロット状態を有する場合にPIDモニタリング状態になってPIDモニタリング状態を維持し、前記PID管理テーブルは、パケット識別子リストを備え、前記リスト内の各パケット識別子は、優先度情報、決定時間、フレームサイズ及びスロット状態と関連づけられる請求項56に記載の装置。
【請求項58】
前記PMMは、PID管理テーブル内の少なくとも1つの記入項目がdeltaT_unknownスロット状態を有する場合に前記PID取得状態になり、前記PID管理テーブルは、パケット識別子リストを備え、前記リスト内の各パケット識別子は、優先度情報、決定時間、フレームサイズ及びスロット状態と関連づけられる請求項56に記載の装置。
【請求項59】
前記PMMは、新パケットを受信するためにウェークアップする時間であるときに前記新パケットに内部メモリを割り当てるための割り当て要求を送信し、前記新パケットは、前記PID管理テーブル内の前記パケット識別子のうちの1つと関連づけられる請求項57に記載の装置。
【請求項60】
前記PMMは、前記PID管理テーブル内の前記パケット識別子のうちの1つと関連づけられた旧パケットが受信されて処理された後に、前記旧パケットへの内部メモリの割り当てを解除するための割り当て解除要求を送信する請求項59に記載の装置。
【請求項61】
前記PIDマネージャは、パケット識別子リストのPID管理テーブルを維持し、前記リスト内の各パケット識別子は、優先度情報、決定時間、フレームサイズ及びスロット状態と関連づけられ、前記PMMは、前記パケット識別子のうちの少なくとも1つの前記スロット状態がdeltaT_unknownに変化時に前記PIDモニタリング状態から前記PID取得状態に移行する請求項56に記載の装置。
【請求項1】
複数の同時ストリームバーストを受信するための方法であって、
フレームサイズが利用可能メモリのサイズよりも小さいかどうかを決定することと、
第1のパケットの優先度が第2のパケットの優先度よりも低いかどうかを決定することであって、前記フレームサイズは、前記第2のパケットに関するフレームのサイズであることと、
前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低い場合は前記第1のパケットの処理を打ち切ること及び前記第1のパケットへの前記利用可能メモリの割り当てを解除することを要求することと、
前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低くない場合は前記利用可能メモリの前記サイズが前記フレームサイズと等しいか又はそれよりも大きくなるまで待つことと、
前記第2のパケットに関する前記フレームに前記利用可能メモリを割り当てること、とを備える、方法。
【請求項2】
前記第2のパケットは、deltaT_unknownのスロット状態を備える請求項1に記載の方法。
【請求項3】
前記第2のパケットは、deltaT_unknownのスロット状態を備える複数のパケットの中で最高の優先度を備える請求項2に記載の方法。
【請求項4】
前記フレームは、マルチプロトコルカプセル化前方誤り訂正(MPE−FEC)フレームである請求項1に記載の方法。
【請求項5】
第3のパケットを受信するために受信機をウェークアップさせる時間であるかどうかを決定することをさらに備える請求項1に記載の方法。
【請求項6】
前記利用可能メモリは、前記第3のパケットを収納可能であるかどうかを決定することをさらに備える請求項5に記載の方法。
【請求項7】
前記第3のパケットに前記利用可能メモリを割り当てることをさらに備える請求項6に記載の方法。
【請求項8】
前記第3のパケットの優先度は前記第2のパケットの前記優先度よりも高いかどうかを決定することをさらに備える請求項6に記載の方法。
【請求項9】
前記第3の前記パケットの前記優先度が前記第2のパケットの前記優先度よりも高い場合は前記第2のパケットへの前記利用可能メモリの割り当てを解除することと前記第3のパケットに前記利用可能メモリを割り当てることとをさらに備える請求項8に記載の方法。
【請求項10】
前記第3の前記パケットの前記優先度が前記第2のパケットの前記優先度よりも高くない場合は前記第3のパケットのスロット状態をdeltaT_unknownに変更することをさらに備える請求項8に記載の方法。
【請求項11】
前記第2のパケットに関する前記フレームの組み立てが完了しているかどうかを決定することをさらに備える請求項5に記載の方法。
【請求項12】
前記第2のパケットへの前記利用可能メモリの割り当てを解除することと、 前記組み立てが完了している場合は前記第2のパケットのスロット状態をdeltaT_knownに設定することと、PIDモニタリング状態に移行すること、とをさらに備える請求項11に記載の方法。
【請求項13】
前記組み立てが完了していない場合は前記第2のパケットと関連づけられたタイマが時間切れになっているかどうかを決定することをさらに備える請求項11に記載の方法。
【請求項14】
前記タイマが時間切れだった場合に前記第2のパケットを削除することと前記第2のパケットの受信失敗を示す失敗メッセージを送信することとをさらに備える請求項13に記載の方法。
【請求項15】
PIDモニタリング状態に移行することをさらに備える請求項14に記載の方法。
【請求項16】
前記受信機は、デジタルビデオ放送ハンドヘルド(DVB−H)受信機であり、前記フレームは、マルチプロトコルカプセル化前方誤り訂正(MPE−FEC)フレームである請求項5に記載の方法。
【請求項17】
プロセッサとプロセッサメモリとを備える受信機であって、前記プロセッサメモリは、下記、すなわち、
フレームサイズが利用可能メモリのサイズよりも小さいかどうかを決定すること、
第1のパケットの優先度が第2のパケットの優先度よりも低いかどうかを決定すること、
前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低い場合は前記第1のパケットの処理を打ち切ること前記第1のパケットへの前記利用可能メモリの割り当てを解除することを要求すること、
前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低くない場合は前記利用可能メモリの前記サイズが前記フレームサイズと等しいか又はそれよりも大きくなるまで待つこと、及び
前記第2のパケットに関する前記フレームに前記利用可能メモリを割り当てること、を実行するための前記プロセッサによって実行可能なプログラムコードを含み、前記フレームサイズは前記第2のパケットに関するフレームのサイズである、受信機。
【請求項18】
前記第2のパケットは、deltaT_unknownのスロット状態を備える請求項17に記載の受信機。
【請求項19】
前記第2のパケットは、deltaT_unknownのスロット状態を備える複数のパケットの中で最高の優先度を備える請求項18に記載の受信機。
【請求項20】
前記フレームは、マルチプロトコルカプセル化前方誤り訂正(MPE−FEC)フレームである請求項17に記載の受信機。
【請求項21】
前記プロセッサメモリは、第3のパケットを受信するために前記受信機をウェークアップさせる時間であるかどうかを決定するためのプログラムコードをさらに備える請求項17に記載の受信機。
【請求項22】
前記プロセッサメモリは、前記利用可能メモリが前記第3のパケットを収容可能であるかどうかを決定するためのプログラムコードをさらに備える請求項21に記載の受信機。
【請求項23】
前記プロセッサメモリは、前記第3のパケットに前記利用可能メモリを割り当てるためのプログラムコードをさらに備える請求項22に記載の受信機。
【請求項24】
前記プロセッサメモリは、前記第3のパケットの優先度が前記第2のパケットの前記優先度よりも高いかどうかを決定するためのプログラムコードをさらに備える請求項22に記載の受信機。
【請求項25】
前記プロセッサメモリは、前記第3のパケットの前記優先度が前記第2のパケットの前記優先度よりも高い場合は前記第2のパケットへの前記利用可能メモリの割り当てを解除し及び前記第3のパケットに前記利用可能メモリを割り当てるためのプログラムコードをさらに備える請求項24に記載の受信機。
【請求項26】
前記プロセッサメモリは、前記第3の前記パケットの前記優先度が前記第2のパケットの前記優先度よりも高くない場合は前記第3のパケットのスロット状態をdeltaT_unknownに変更するためのプログラムコードをさらに備える請求項24に記載の受信機。
【請求項27】
前記プロセッサメモリは、前記第2のパケットに関する前記フレームの組み立てが完了しているかどうかを決定するためのプログラムコードをさらに備える請求項21に記載の受信機。
【請求項28】
前記プロセッサメモリは、前記第2のパケットへの前記利用可能メモリの割り当てを解除し、前記組み立てが完了している場合は前記第2のパケットのスロット状態をdeltaT_unknownに設定し、及びPIDモニタリング状態に移行するためのプログラムコードをさらに備える請求項27に記載の受信機。
【請求項29】
前記プロセッサメモリは、前記組み立てが完了していない場合は前記第2のパケットと関連づけられたタイマが時間切れになっているかどうかを決定するためのプログラムコードをさらに備える請求項27に記載の受信機。
【請求項30】
前記プロセッサメモリは、前記タイマが時間切れだった場合は前記第2のパケットを削除し及び前記第2のパケットの受信失敗を示す失敗メッセージを送信するためのプログラムコードをさらに備える請求項29に記載の受信機。
【請求項31】
前記プロセッサメモリは、PIDモニタリング状態に移行するためのプログラムコードをさらに備える請求項29に記載の受信機。
【請求項32】
前記受信機は、デジタルビデオ放送−ハンドヘルド(DVB−H)受信機であり、前記フレームは、マルチプロトコルカプセル化前方誤り訂正(MPE−FEC)フレームである請求項21に記載の受信機。
【請求項33】
前記利用可能メモリは、前記受信機の復調器内に常駐する請求項17に記載の受信機。
【請求項34】
複数の同時ストリームバーストを受信するためのハンドヘルド受信機であって、
フレームサイズが利用可能メモリのサイズよりも小さいかどうかを決定するための手段と、
第1のパケットの優先度が第2のパケットの優先度よりも低いかどうかを決定するための手段であって、前記フレームサイズは前記第2のパケットに関するフレームのサイズである手段と、
前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低い場合は前記第1のパケットの処理を打ち切ること及び前記第1のパケットへの前記利用可能メモリの割り当てを解除することを要求するための手段と、
前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低くない場合は前記利用可能メモリの前記サイズが前記フレームサイズと等しいか又はそれよりも大きくなるまで待つための手段と、
前記第2のパケットに関する前記フレームに前記利用可能メモリを割り当てるための手段と、を備える、ハンドヘルド受信機。
【請求項35】
前記フレームは、マルチプロトコルカプセル化−前方誤り訂正(MPE−FEC)フレームである請求項34に記載のハンドヘルド受信機。
【請求項36】
第3のパケットを受信するために前記ハンドヘルド受信機をウェークアップさせる時間であるかどうかを決定することをさらに備える請求項34に記載のハンドヘルド受信機。
【請求項37】
前記利用可能メモリは、前記第3のパケットを収納可能であるかどうかを決定するための手段をさらに備える請求項36に記載のハンドヘルド受信機。
【請求項38】
前記第3のパケットに前記利用可能メモリを割り当てるための手段をさらに備える請求項37に記載のハンドヘルド受信機。
【請求項39】
前記第3のパケットの優先度が前記第2のパケットの前記優先度よりも高いかどうかを決定するための手段をさらに備える請求項37に記載のハンドヘルド受信機。
【請求項40】
前記第3の前記パケットの前記優先度が前記第2のパケットの前記優先度よりも高い場合は前記第2のパケットへの前記利用可能メモリの割り当てを解除するための手段と前記第3のパケットに前記利用可能メモリを割り当てるための手段とをさらに備える請求項39に記載のハンドヘルド受信機。
【請求項41】
前記第3のパケットの前記優先度が前記第2のパケットの前記優先度よりも高くない場合は前記第3のパケットのスロット状態をdeltaT_unknownに変更するための手段をさらに備える請求項39に記載のハンドヘルド受信機。
【請求項42】
前記第2のパケットに関する前記フレームの組み立てが完了しているかどうかを決定するための手段をさらに備える請求項36に記載のハンドヘルド受信機。
【請求項43】
前記第2のパケットへの前記利用可能メモリの割り当てを解除するための手段と、前記組み立てが完了している場合は前記第2のパケットのスロット状態をdeltaT_unknownに設定するための手段と、PIDモニタリング状態に移行するための手段と、をさらに備える請求項42に記載のハンドヘルド受信機。
【請求項44】
前記組み立てが完了していない場合は前記第2のパケットと関連づけられたタイマが時間切れになっているかどうかを決定するための手段をさらに備える請求項42に記載のハンドヘルド受信機。
【請求項45】
前記第2のパケットを削除するための手段と、前記タイマが時間切れだった場合は前記第2のパケットの受信失敗を示す失敗メッセージを送信するための手段と、PIDモニタリング状態に移行するための手段と、をさらに備える請求項44に記載のハンドヘルド受信機。
【請求項46】
コンピュータプログラム製品であって、
フレームサイズが利用可能メモリのサイズよりも小さいかどうかを決定するためのプログラムコードと、
第1のパケットの優先度が第2のパケットの優先度よりも低いかどうかを決定するためのプログラムコードであって、前記フレームサイズは、前記第2のパケットに関するフレームのサイズであるプログラムコードと、
前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低い場合は前記第1のパケットの処理を打ち切ること及び前記第1のパケットへの前記利用可能メモリの割り当てを解除することを要求するためのプログラムコードと、
前記第1のパケットの前記優先度が前記第2のパケットの前記優先度よりも低い場合は前記利用可能メモリの前記サイズが前記フレームサイズと等しいか又はそれよりも大きくなるまで待つためのプログラムコードと、
前記第2のパケットに関する前記フレームに前記利用可能メモリを割り当てるためのプログラムコードと、を備える格納されたプログラムコード、を含むコンピュータによって読み取り可能な媒体を備える、コンピュータプログラム製品。
【請求項47】
第3のパケットを受信するためにDVB−H受信機をウェークアップさせる時間であるかどうかを決定するためのプログラムコードと、
前記利用可能メモリは前記第3のパケットを収納可能であるかどうかを決定するためのプログラムコードと、
前記第3のパケットに前記利用可能メモリを割り当てるためのプログラムコードと、をさらに備える請求項46に記載のコンピュータプログラム製品。
【請求項48】
第3のパケットを受信するためにDVB−H受信機をウェークアップさせる時間であるかどうかを決定するためのプログラムコードと、
前記第3のパケットの優先度が前記第2のパケットの前記優先度よりも高いかどうかを決定するためのプログラムコードと、
前記第3の前記パケットの前記優先度が前記第2のパケットの前記優先度よりも高い場合は前記第2のパケットへの利用可能メモリの割り当てを解除し及び前記第3のパケットに前記利用可能メモリを割り当てるためのプログラムコードと、
前記第3のパケットの前記優先度が前記第2のパケットの前記優先度よりも高くない場合は前記第3のパケットのスロット状態をdeltaT_unknownに変更するためのプログラムコードと、をさらに備える請求項46に記載のコンピュータプログラム製品。
【請求項49】
第3のパケットを受信するためにDVB−H受信機をウェークアップさせる時間であるかどうかを決定するためのプログラムコードと、
前記第2のパケットに関する前記フレームの組み立てが完了しているかどうかを決定するためのプログラムコードと、
前記組み立てが完了している場合は前記第2のパケットへの前記利用可能メモリの割り当てを解除し及び前記第2のパケットのスロット状態をdeltaT_unknownに設定するためのプログラムコードと、
前記組み立てが完了してない場合は前記第2のパケットと関連づけられたタイマが時間切れになっているかどうかを決定し、前記第2のパケットを削除し及び前記第2のパケットの受信失敗を示す失敗メッセージを送信するためのプログラムコードと、をさらに備える請求項46に記載のコンピュータプログラム製品。
【請求項50】
PIDモニタリング状態に移行するためのプログラムコードをさらに備える請求項49に記載のコンピュータプログラム製品。
【請求項51】
複数の同時バーストストリームを受信するための装置であって、
パケット識別子(PID)と関連づけられたパケットの追加又は削除を行うためのPIDマネージャと、
前記パケットの前記追加又は前記削除を行うように前記PIDマネージャに要求するためのプロトコルプロセッサであって、前記パケットは前記複数の同時バーストストリームの一部として受信されるプロトコルプロセッサと、を備える、装置。
【請求項52】
前記プロトコルプロセッサは、優先度情報、決定時間、フレームサイズのうちの少なくとも1つを前記PIDマネージャに送信された要求メッセージ内の前記パケット識別子と関連づける請求項51に記載の装置。
【請求項53】
前記PIDマネージャは、deltaT_unknownのスロット状態を前記要求メッセージ内の前記パケット識別子に関連づける請求項52に記載の装置。
【請求項54】
前記PIDマネージャは、パケット識別子リストのPID管理テーブルを維持し、前記リスト内の各パケット識別子は、優先度情報、決定時間、フレームサイズ及びスロット状態と関連づけられる請求項51に記載の装置。
【請求項55】
前記PIDマネージャは、前記パケット識別子のうちの1つを削除するメッセージが前記プロトコルプロセッサから受信された場合に前記パケット識別子のうちの前記1つを前記リストから削除する請求項54に記載の装置。
【請求項56】
前記PIDマネージャは、PID管理モジュール(PMM)を備え、前記PMMは、PIDモニタリング状態とPID取得状態とをさらに備える請求項51に記載の装置。
【請求項57】
前記PMMは、PID管理テーブル内に記入項目が存在しない場合又は前記PID管理テーブル内の全記入項目がdeltaT_knownスロット状態を有する場合にPIDモニタリング状態になってPIDモニタリング状態を維持し、前記PID管理テーブルは、パケット識別子リストを備え、前記リスト内の各パケット識別子は、優先度情報、決定時間、フレームサイズ及びスロット状態と関連づけられる請求項56に記載の装置。
【請求項58】
前記PMMは、PID管理テーブル内の少なくとも1つの記入項目がdeltaT_unknownスロット状態を有する場合に前記PID取得状態になり、前記PID管理テーブルは、パケット識別子リストを備え、前記リスト内の各パケット識別子は、優先度情報、決定時間、フレームサイズ及びスロット状態と関連づけられる請求項56に記載の装置。
【請求項59】
前記PMMは、新パケットを受信するためにウェークアップする時間であるときに前記新パケットに内部メモリを割り当てるための割り当て要求を送信し、前記新パケットは、前記PID管理テーブル内の前記パケット識別子のうちの1つと関連づけられる請求項57に記載の装置。
【請求項60】
前記PMMは、前記PID管理テーブル内の前記パケット識別子のうちの1つと関連づけられた旧パケットが受信されて処理された後に、前記旧パケットへの内部メモリの割り当てを解除するための割り当て解除要求を送信する請求項59に記載の装置。
【請求項61】
前記PIDマネージャは、パケット識別子リストのPID管理テーブルを維持し、前記リスト内の各パケット識別子は、優先度情報、決定時間、フレームサイズ及びスロット状態と関連づけられ、前記PMMは、前記パケット識別子のうちの少なくとも1つの前記スロット状態がdeltaT_unknownに変化時に前記PIDモニタリング状態から前記PID取得状態に移行する請求項56に記載の装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公表番号】特表2010−539752(P2010−539752A)
【公表日】平成22年12月16日(2010.12.16)
【国際特許分類】
【出願番号】特願2010−524214(P2010−524214)
【出願日】平成20年9月6日(2008.9.6)
【国際出願番号】PCT/US2008/075520
【国際公開番号】WO2009/033118
【国際公開日】平成21年3月12日(2009.3.12)
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】
【公表日】平成22年12月16日(2010.12.16)
【国際特許分類】
【出願日】平成20年9月6日(2008.9.6)
【国際出願番号】PCT/US2008/075520
【国際公開番号】WO2009/033118
【国際公開日】平成21年3月12日(2009.3.12)
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】
[ Back to top ]