(57)【要約】実施態様は、スケジューラとターボエンコーダの間のデータ通信を処理する送信ドライバを説明する。送信ドライバは、スーパーフレームのための要求を受信し、それがスーパーフレームを始めるために十分な情報を持っているかどうかを確認する。十分なデータがある場合、スーパーフレームは、適切なハードウェアレジスタに書き込まれる。直接メモリアクセス(DMA)および非DMAハードウェアの双方が１つまたは複数の態様においてサポートされ得る。ある態様において、データ送信のためのある方法が提供される。この方法は、１つまたは複数の論理チャンネルを備えるデータを獲得することを含んでいる。ここにおいて、各論理チャネルは１つまたは複数のコードブロックを備え、各コードブロックは１つまたは複数のターボグループを備えている。さらに本方法は、時間順に並べられたターボグループを生成するために前記１つまたは複数のコードブロックに基づいて前記データを整列すること、および時間順に並べられたターボグループを出力することを備えている。【選択図】        図７
2009542163.tif 000002
【特許請求の範囲】
【請求項１】
データ送信のための方法であって、
１つまたは複数の論理チャンネルを獲得すること、ここにおいて、前記論理チャネルの各々は１つまたは複数のコードブロックを備え、および前記コードブロックの各々は１つまたは複数のターボグループを備える、
時間順に並べられたターボグループを生成するために前記１つまたは複数のコードブロックに基づいて前記データを整列すること、および
前記時間順に並べられたターボグループを出力すること
を備える方法。
【請求項２】
前記獲得することは、前記１つまたは複数のコードブロックを獲得することを備える、ここにおいて、前記１つまたは複数のコードブロックの各々は４つのターボグループを備える、請求項１に記載の方法。
【請求項３】
前記データを４つのフレームに整列することをさらに備える、ここにおいて、前記１つまたは複数のコードブロックの１つと関連づけられている前記４つのターボグループの１つは、前記４つのフレームの１つにそれぞれ割り当てられる、請求項2に記載の方法。
【請求項４】
前記獲得することは、前記１つまたは複数のコードブロックを備える前記データを獲得することを備える、ここにおいて、前記コードブロックの各々は１つのシンボルインデックスおよび１つのスロットインデックスを備える、請求項1に記載の方法。
【請求項５】
前記整列することは、前記シンボルインデックスおよび前記スロットインデックスに基づいて、前記１つまたは複数のコードブロックと関連づけられている１つまたは複数のターボグループを整列することを備える、請求項4に記載の方法。
【請求項６】
前記整列することは、
より低いスロットインデックスと関連づけられているターボグループがより高いスロットインデックスと関連づけられているターボグループの前に時間順に並べられるように、前記１つまたは複数のターボグループを整列すること、および
より低いシンボルインデックスと関連づけられているターボグループがより高いスロットインデックスと関連づけられているターボグループの前に時間順に並べられるように、前記１つまたは複数のターボグループを整列すること
を備える、請求項５に記載の方法。  
【請求項７】
前記出力することは、
１つまたは複数のバッファ準備信号に基づいて、前記時間順に並べられたターボグループを１つまたは複数のメモリバッファに書き込むこと、および、
１つまたは複数のエンコーダ準備信号に基づいて、前記時間順に並べられた前記１つまたは複数のメモリバッファからターボグループを出力すること
を備える、請求項１に記載の方法。
【請求項８】
データ送信のための装置であって、
１つまたは複数の論理チャネルを備えるデータを獲得するように形成されている入力論理、ここにおいて、前記論理チャンネルの各々は１つまたは複数のコードブロックを備え、および前記コードブロックの各々は１つまたは複数のターボグループを備える、
時間順に並べられたターボグループを生成するために前記１つまたは複数のコードブロックに基づいて前記データを整列するように形成されている処理論理、および
前記時間順に並べられたターボグループを出力するように形成されている出力論理
を備える装置。
【請求項９】
前記１つまたは複数のコードブロックは、4つのターボグループを備える、請求項８に記載の装置。
【請求項１０】
前記処理論理は、前記データを４つのフレームに整列するように形成されている、ここにおいて、前記１つまたは複数のコードブロックの各々と関連づけられている前記４つのターボグループの１つは、前記４つのフレームの１つにそれぞれ割り当てられる、請求項９に記載の装置。
【請求項１１】
前記コードブロックの各々は、１つのシンボルインデックスおよび１つのスロットインデックスを備える、請求８の装置。
【請求項１２】
前記処理論理は、前記シンボルインデックスおよび前記スロットインデックスに基づいて、前記１つまたは複数のコードブロックと関連づけられている前記１つまたは複数のターボグループを整列するように形成されている、請求項11に記載の装置。
【請求項１３】
前記処理論理は、
より低いスロットインデックスと関連づけられているターボグループがより高いスロットインデックスと関連づけられているターボグループの前に時間順に並べられるように、前記１つまたは複数のターボグループを整列すること、および、
より低いシンボルインデックスと関連づけられているターボグループがより高いシンボルインデックスと関連づけられているターボグループの前に時間順に並べられるように、前記１つまたは複数のターボグループを整列すること
を行うように形成されている、請求項１２に記載の装置。
【請求項１４】
前記出力することは、
１つまたは複数のバッファ準備信号に基づいて、前記時間順に並べられたターボグループを１つまたは複数のメモリバッファに書き込むこと、および
１つまたは複数のエンコーダ準備信号に基づいて、前記時間順に並べられたターボグループを前記１つまたは複数のメモリバッファから出力すること
を備える、請求項１に記載の装置。
【請求項１５】
データ送信のための装置であって、
１つまたは複数の論理チャネルを備えるデータを獲得するための手段、ここにおいて、前記論理チャネルの各々は１つまたは複数のコードブロックを備え、および前記コードブロックの各々は１つまたは複数のターボグループを備える、
時間順に並べられたターボグループを生成するために前記１つまたは複数のコードブロックに基づいて前記データを整列するための手段、および
前記時間順に並べられたターボグループを出力するための手段
を備える装置。
【請求項１６】
前記獲得するための手段は、前記１つまたは複数のコードブロックを備える前記データを獲得するための手段を備える、ここにおいて、前記１つまたは複数のコードブロックは４つのターボグループを備える、請求項15に記載の装置。
【請求項１７】
前記データを４つのフレームに整列するための手段をさらに備える、ここにおいて、前記１つまたは複数のコードブロックと関連づけられている前記４つのターボグループの１つは、前記４つのフレームの１つにそれぞれ割り当てられる、請求項16に記載の装置。
【請求項１８】
前記獲得するための手段は、前記１つまたは複数のコードブロックを備える前記データを獲得するための手段を備える、ここにおいて、前記コードブロックの各々は１つのシンボルインデックスおよび１つのスロットインデックスを備える、請求項15に記載の装置。
【請求項１９】
前記整列する手段は、前記シンボルインデックスおよび前記スロットインデックスに基づいて、前記１つまたは複数のコードブロックと関連づけられている前記１つまたは複数のターボグループを整列するための手段を備える、請求項18に記載の装置。
【請求項２０】
前記整列するための手段は、
より低いスロットインデックスと関連づけられているターボグループがより高いスロットインデックスと関連づけられているターボグループの前に時間順に並べられるように、前記１つまたは複数のターボグループを整列するための手段、および
より低いシンボルインデックスと関連づけられているターボグループがより高いスロットインデックスと関連づけられているターボグループの前に時間順に並べられるように、前記１つまたは複数のターボグループを整列する手段
を備える、請求項１９に記載の装置。  
【請求項２１】
前記出力するための手段は、
１つまたは複数のバッファ準備信号に基づいて、前記時間順に並べられたターボグループを1つまたそれ以上のメモリバッファに書き込むための手段、および
１つまたは複数のエンコーダ準備信号に基づいて、前記時間順に並べられたターボグループを前記１つまたは複数のメモリバッファから出力するための手段
を備える、請求項１５に記載の装置。
【請求項２２】
少なくとも１つのプロセッサによって実行されるときデータ送信のためのシステムを提供するために動作する命令を備えるコンピュータプログラムを有するコンピュータ可読媒体であって、前記コンピュータプログラムは、
１つまたは複数の論理チャネルを備えるデータを獲得するための命令、ここにおいて、前記論理チャネルの各々は１つまたは複数のコードブロックを備え、および前記コードブロックの各々は１つまたは複数のターボグループを備える、
時間順に並べられたターボグループを生成するために前記１つまたは複数のコードブロックに基づいて前記データを整列するための命令、および
前記時間順に並べられたターボグループを出力するための命令
を備える、コンピュータ可読媒体。  
【請求項２３】
前記獲得するための命令は、前記１つまたは複数のコードブロックを備える前記データを獲得するための手段を備える、ここにおいて、前記１つまたは複数のコードブロックの各々は4つのターボグループを備える、請求項２２に記載のコンピュータプログラム。
【請求項２４】
前記データを４つのフレームに整列するための命令をさらに備える、ここにおいて、前記１つまたは複数のコードブロックの各々と関連づけられている前記４つのターボグループの１つは、前記４つのフレームの１つにそれぞれ割り当てられる、請求項23に記載のコンピュータプログラム。
【請求項２５】
前記獲得するための命令は、前記１つまたは複数のコードブロックを備える前記データを獲得するための命令を備える、ここにおいて、前記コードブロックの各々は１つのシンボルインデックスおよび１つのスロットインデックスを備える、請求項２２に記載のコンピュータプログラム。
【請求項２６】
前記整列するための命令は、前記シンボルインデックスおよび前記スロットインデックスに基づいて、前記１つまたは複数のコードブロックと関連づけられている前記１つまたは複数のターボグループを整列するための命令を備える、請求項25に記載のコンピュータプログラム。
【請求項２７】
前記整列するための命令は、より低いスロットインデックスと関連づけられているターボグループがより高いスロットインデックスと関連づけられているターボグループの前に時間順に並べられるように、前記１つまたは複数のターボグループを整列するための命令、および
より低いシンボルインデックスと関連づけられているターボグループがより高いスロットインデックスと関連づけられているターボグループの前に時間順に並べられるように、前記１つまたは複数のターボグループを整列するための命令
を備える、請求項２６に記載のコンピュータプログラム。
【請求項２８】
前記出力するための命令は、
１つまたは複数のバッファ準備信号に基づいて、前記時間順に並べられたターボグループを１つまたは複数のメモリバッファに書き込むための命令、および、
１つまたは複数のエンコーダ準備信号に基づいて、前記時間順に並べられた前記１つまたは複数のメモリバッファからターボグループを出力するための命令
を備える、請求項２２に記載のコンピュータプログラム。
【請求項２９】
データ送信のための方法を実行するように形成されている少なくとも１つのプロセッサであって、前記方法は、
１つまたは複数の論理チャンネルを獲得すること、ここにおいて、前記論理チャネルの各々は１つまたは複数のコードブロックを備え、および前記コードブロックの各々は１つまたは複数のターボグループを備える、
時間順に並べられたターボグループを生成するために前記１つまたは複数のコードブロックに基づいて前記データを整列すること、および
前記時間順に並べられたターボグループを出力すること
を備える、少なくとも１つのプロセッサ。
【請求項３０】
前記獲得することは、前記１つまたは複数のコードブロックを備える前記データを獲得することを備える、ここにおいて、前記１つまたは複数のコードブロックの各々は４つのターボグループを備える、請求項２９に記載の方法。
【請求項３１】
前記データを４つのフレームに整列することをさらに備える、ここにおいて、前記１つまたは複数のコードブロックの各々と関連づけられている前記４つのターボグループの１つは、前記４つのフレームの１つにそれぞれ割り当てられる、請求項３０に記載の方法。
【請求項３２】
前記獲得することは、前記１つまたは複数のコードブロックを備える前記データを獲得することを備える、ここにおいて、前記コードブロックの各々は１つのシンボルインデックスおよび１つのスロットインデックスを備える、請求項２９に記載の方法。
【請求項３３】
前記整列することは、前記シンボルインデックス及び前記スロットインデックスに基づいて、前記１つまたは複数のコードブロックと関連づけられている１つまたは複数のターボグループを整列することを備える、請求項３２に記載の方法。
【請求項３４】
前記整列することは、
より低いスロットインデックスと関連づけられているターボグループがより高いスロットインデックスと関連づけられているターボグループの前に時間順に並べられるように、前記１つまたは複数のターボグループを整列すること、および
より低いシンボルインデックスと関連づけられているターボグループがより高いスロットインデックスと関連づけられているターボグループの前に時間順に並べられるように、前記１つまたは複数のターボグループを整列すること、
を備える、請求項３３に記載の方法。
【請求項３５】
前記出力することは、
１つまたは複数のバッファ準備信号に基づいて、前記時間順に並べられたターボグループを1つまたそれ以上のメモリバッファに書き込むこと、および
１つまたは複数のエンコーダ準備信号に基づいて、前記時間順に並べられたターボグループを前記１つまたは複数のメモリバッファから出力すること
を備える、請求項２９に記載の方法。
【発明の詳細な説明】
【関連技術】
【０００１】
［米国特許法（35U.S.C.）第119条に基づく優先権主張］
本件特許出願は、本願の譲渡人に譲渡され、参照によって本明細書に明白に組み込まれる、2006年6月26日の「Multiplex Server (MUX)」という名称の米国仮出願第60／816,898号に基づいて優先権を主張するものである。
【技術分野】
【０００２】
以下の説明は、一般に通信システムに関係し、特に通信システムにおけるデータ送信に関係する。
【発明の背景】
【０００３】
高速データ信号（例えば高速フレームレート映像）を放送する（モビリティ標準による）ための１つの技術は、直交周波数分割多重(OFDM)である。OFDMは、並行的な送信通信方式の１つであって、この方式においては、１つの高速データストリームが多数の低速ストリームに分割されて、特定の周波数またはトーンで間隔を置かれた複数のサブキャリアの上で同時に送信される。周波数を正確に間隔空けすることによって、トーン間の直交性が供給される。直交周波数は、通信信号における漏話または干渉を最小限にするまたは除去する。複数の周波数が互いに干渉することなくオーバーラップすることができるので、高い送信速度と対干渉耐性にくわえ、高いスペクトル効率を得ることができる。
【０００４】
最高品質のパフォーマンスを達成するためにシステムデザインにおける最新の進歩を利用することを目的として、無線通信サービスプロバイダの業界団体によって、マルチメディアの送信のためのマルチキャスト技術が開発されてきた。FLO(Forward Link Only)やDVB（Digital Video Broadcast）のような産業界に受け入れられている技術は、モバイルのマルチメディア環境に向けられているものであって、モバイルのユーザデバイスによる使用に適している。特にFLO技術は、消費電力を犠牲にすることなく、強力なモバイルパフォーマンスと高度なキャパシティを提供することができる。くわえて、本技術は、展開される必要がある基地局送信機の数を減らすことによって、マルチメディアのコンテンツ配信に係るネットワークコストを削減する。さらに、FLO技術に基づくマルチメディアのマルチキャスティングは、無線事業者のセルラーネットワークにおけるモバイルデバイスと同じバイスにコンテンツを配信するものであって、無線事業者のセルラーネットによるデータおよび音声のサービスに対して補完的である。
【０００５】
マルチキャストシステムは、リアルタイムサービス、非リアルタイムサービス、IP データキャストサービスおよび共通オーバーヘッドサービスのような異なるタイプのサービスをサポートする。リアルタイムサービスは、媒体コンテンツのストリーム(例えば音声、音声付画像および同様のもの)を伴う。非リアルタイムサービスは、媒体ファイル(クリップ)の配信を伴う。これはデバイスに記憶され、予定されている利用可能時間帯にユーザによってアクセスされることができる。非リアルタイムサービスは、クリップキャストサービスと呼ぶこともできる。IP データキャストサービスは、広範囲のアプリケーションのための無線によるIPマルチキャストサービスである。共通オーバーヘッドサービスは、システムのオーバヘッドデータを配送する。
【０００６】
異なるタイプのサービスは、異なるQoS（サービスの品質）を要求する。例えば、リアルタイムサービスは、待ち時間（latency）については厳密なニーズを持っているが、パケットエラーについては若干の許容性を有している。非リアルタイムサービスは、予め通知されている利用可能時間帯の前にデバイスに配信されることが意図されているために、関連するデッドラインを持っている。非リアルタイムサービスは、ファイル(例えばクリップ)として届けられるものであるから、厳密なパケットエラーの軽減にしたがうべきである。IP データキャストサービスに必要なQoSは、そのサービスの上で意図されているアプリケーションに依存する。共通オーバーヘッドサービスは、重要なシステムオーバーヘッドの情報を運ぶものである。この情報は、小さな遅延時間でデバイスに取得されるべきである。したがって、共通オーバーヘッドサービスは、小さな待ち時間と低いパケットエラーレートを持つべきである。マルチキャストシステムの中には、異なるサービスについて必要なQoSを達成するために、共同して働くさまざまな機能がある。これらの機能は、集合的に資源管理機能と名付けられている。
【０００７】
効率的データ通信は、システムの待ち時間とエラーレートを低減する。それゆえ、求められているものは、無線ネットワークにおける効率的データ通信を提供するための技術である。
【発明の開示】
【０００８】
［発明の概要］
以下は、１つまたは複数の態様の簡単な要約を提示するものであって、そのことによって、そのような態様のうちのいくつかについて基本的理解を提供することを目的とする。この要約は、前記１つまたは複数の態様の網羅的概観ではなく、また当該態様の鍵となるまたは決定的要素を特定することまたは当該態様の範囲を限定することを意図するものでもない。そのただ１つの目的は、後で提示されるより詳細な説明の前準備として、本件明細書において説明される態様のいくつかのコンセプトを簡単な形式で提示することにある。
【０００９】
１つまたは複数の態様およびそれらに対応する開示にしたがって、さまざまな態様がデータ送信に関連して説明される。ある態様にしたがって、データ送信のための１つの方法がある。この方法は、ターボグループのリストをソートしたものを維持することを含んでいる。論理チャネル(LC)は、約4つまたはそれ以上のターボグループを備えることができる。１つのターボグループは、約4つのターボパケットを備えることができる。本方法は、スーパーフレームのためのエンコーダからの要求を受信すること、および維持されているターボグループのリストを解析することによって当該スーパーフレームを処理するために十分なデータが利用可能であるかどうかを確認することをさらに含んでいる。もし利用可能なデータが十分あれば、スーパーフレームは、直接メモリアクセスハードウェアコンポーネントまたは非直接メモリアクセスハードウェアコンポーネントと関連づけられている１つまたは複数のレジスタに送られる。
【００１０】
他のある態様にしたがって、データ送信のための１つの装置がある。本装置は、受信機、記憶媒体、解析器、および書き込み器（a writer）を含んでいる。受信機は、スーパーフレームについての要求を受信することができ、記憶媒体はターボグループのリストを維持することができる。受信機が前記要求を受信すると、解析器は、維持されているターボグループのリストを解析し、前記受信した要求に基づいてスーパーフレームを始めるのに利用可能なデータがあるかどうかを決定することができる。もし利用可能なデータがあれば、書き込み器は、そのスーパーフレームをハードウェアレジスタに書き込む。
【００１１】
他のある態様において、データ送信のためのコンピュータプログラムを有するコンピュータ可読媒体は、ターボグループのリストを維持する。本コンピュータプログラムは、さらにスーパーフレームについての要求を受信し、受信された要求に基づいてスーパーフレームを始めるためにデータが利用可能であるかどうかを決定するために維持されているターボグループのリストを解析する。もしデータが利用可能であれば、スーパーフレームはハードウェアレジスタに書き込まれる。
【００１２】
さらに他のある態様において、データを通信するための装置は、ターボグループのリストを維持するための手段、スーパーフレーム要求を受信するための手段、および要求を完了するためにデータが利用可能であるかどうかを決定するために、維持されているリストをレビューする手段を含んでいる。もし要求を完了するためのデータが利用可能であれば、スーパーフレームをレジスタに送信するための手段は、要求されているデータを出力する。
【００１３】
他のある態様にしたがって、データ通信のための命令を実行するプロセッサがある。本命令は、ターボグループのリストをソートすることを含んでいる。ここにおいて、ターボグループは少なくとも4つのターボパケットを含み、1つの論理チャネル(LC)は4つのターボパケットからなるグループを少なくとも4つ含み、ターボグループ（複数）をソートしたリストが記憶されている。本命令は、スーパーフレームについての要求を受信すること、および記憶しているターボグループのリストを解析することによりスーパーフレームを処理するためにデータが利用可能であるかどうかを決定することをさらに含んでいる。もし利用可能なデータが十分にあれば、スーパーフレームはハードウェアコンポーネントに出力される。
【００１４】
ある態様において、データ送信のための方法が提供される。本方法は、１つまたは複数の論理チャネルを備えるデータを獲得することを備えている。ここにおいて、各論理チャンネルは１つまたは複数のコードブロックを備え、各コードブロックは1つ又はそれ以上のターボグループを備えている。本方法はまた、時間順に並べられたターボグループを生成するために１つまたは複数のコードブロックに基づいてデータを整列すること、および時間順に並べられたターボグループを出力することを備えている。
【００１５】
ある態様において、データ送信のための装置が提供される。本装置は、１つまたは複数の論理チャンネルを備えるデータを獲得するように形成されている入力論理を備えている。ここにおいて、論理チャネルの各々は１つまたは複数のコードブロックを備え、コードブロックの各々は１つまたは複数のターボグループを備えている。本装置はまた、時間順に並べられたターボグループを生成するために１つまたは複数のコードブロックに基づいてデータを整列するように形成されている処理論理、および時間順に並べられたターボグループを出力するように形成されている出力論理を備えている。
【００１６】
ある態様において、データ送信のための装置が提供される。本装置は、１つまたは複数の論理チャンネルを備えるデータを獲得するための手段を備えている。ここにおいて、論理チャネルの各々は１つまたは複数のコードブロックを備え、コードブロックの各々は１つまたは複数のターボグループを備えている。本装置はまた、時間順に並べられたターボグループを生成するために１つまたは複数のコードブロックに基づいてデータを整列するための手段、および時間順に並べられたターボグループを出力するための手段を備えている。
【００１７】
ある態様において、コンピュータ可読媒体が提供される。このコンピュータ可読媒体は、少なくとも１つのプロセッサで実行されるとき、データ送信のためのシステムを提供するように動作する命令を持っている。本コンピュータプログラムは、１つまたは複数の論理チャンネルを備えるデータを獲得するための命令を備えている。ここにおいて、論理チャネルの各々は１つまたは複数のコードブロックを備え、コードブロックの各々は１つまたは複数のターボグループを備えている。本コンピュータプログラムはまた、時間順に並べられたターボグループを生成するために１つまたは複数のコードブロックに基づいてデータを整列するための命令、および時間順に並べられたターボグループを出力するための命令を備えている。
【００１８】
ある態様において、データ送信のための方法を実行するように形成されている少なくとも１つのプロセッサが提供される。本方法は、１つまたは複数の論理チャンネルを備えるデータを獲得することを備えている。ここにおいて、論理チャネルの各々は１つまたは複数のコードブロックを備え、コードブロックの各々は１つまたは複数のターボグループを備えている。本方法はまた、時間順に並べられたターボグループを生成するために１つまたは複数のコードブロックに基づいてデータを整列すること、および時間順に並べられたターボグループを出力することを備えている。
【００１９】
前述のおよび関係する目的の達成のために、１つまたは複数の態様は、以下において十分に説明されかつ特許請求の範囲において特に指し示す特徴を備えている。以下の説明および添付の図面は、ある例示的な態様を述べるものであって、当該態様の原理が採用されることができるさまざまなやりかたのうちのほんのわずかのものを示すものにすぎない。その他の利点および新規な特徴は、図面とともに考察されるとき下記の説明から明白となるであろう。また開示されている態様は、そのような態様およびその均等物を含むことを意図している。
【００２０】
［詳細な説明］
さまざまな態様が図面を参照してこれから説明される。以下の説明において、説明の目的のために、１つまたは複数の態様についての完全な理解を提供するために多数の特定の詳細が述べられる。しかしながら、そのような態様は当該特定の詳細がなくても実行可能であることはたぶん明白であろう。他の事例において、これらの態様の説明を円滑にするため、よく知られている構造やデバイスは、ブロック図の形式で示される。
【００２１】
本出願において使用されているように、「コンポーネント」、「モジュール」、「システム」および同様の用語は、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかであるコンピュータ関連の実態を指すことを意図している。例えば、コンポーネントは、プロセッサ上で実行中のプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、および／または、コンピュータであってよく、しかし、これらのものに限られるものではない。実例として、コンピュータデバイスの上で実行中のアプリケーションおよびコンピュータデバイスの両方とも、コンポーネントであることができる。１つまたは複数のコンポーネントは、１つのプロセスおよび／またはスレッドの内に存在することができる。また、１つのコンポーネントは、１つのコンピュータの上にローカル化されてよく、および／または2つまたはそれ以上のコンピュータの間に分散させられてもよい。さらに、これらのコンポーネントは、さまざまなデータ構造を内蔵するさまざまなコンピュータ可読媒体から実行することもできる。コンポーネントは、１つまたは複数のデータパケット（例えば、ローカルシステム、分散システムおよび／またはシグナルを用いて他のシステムと通信するインターネットのようなネットワーク間において他の１つのコンポーネントと相互作用をする１つのコンポーネントからのデータ）を有するシグナルと一致しているようなローカルプロセスおよび／またはリモートプロセスを用いて通信をすることができる。
【００２２】
さらに、本件明細書において、さまざまな態様がユーザデバイスに関連して説明される。ユーザデバイスは、システム、加入者ユニット、加入者局、モバイル局、モバイルデバイス、リモート局、アクセスポイント、基地局、リモート端末、アクセス端末、ハンドセット、ホスト、ユーザ端末、端末、ユーザエージェントまたはユーザ設備と呼ばれることもある。ユーザデバイスは、セルラー電話、コードレス電話、SIP(Session Initiation Protocol)電話、WLL(無線ローカルループ)局、PDA、無線接続能力を有するハンドヘルドデバイス、または無線モデムに接続されている他の処理デバイスであることができる。
【００２３】
さらに、本件明細書において説明されているさまざまな態様および特徴は、方法、装置、または標準的プログラミングおよび／または工学的手法を用いる製造物として実装することができる。本件明細書において使用されているような「製造物」の用語は、任意のコンピュータ可読デバイス、キャリアまたは媒体からアクセス可能なコンピュータプログラムを包含するように意図されている。例えば、コンピュータ可読媒体は、磁気記憶デバイス(例えばハードディスク、フレキシブルディスク、磁気ストリップ…)、光ディスク(例えばコンパクトディスク(CD)、デジタルバーサタイルディスク(DVD)…)、スマートカードおよびフラッシュメモリデバイス(例えばカード、スティック、キードライブ…)を含むことができるが、これらのものに限られない。
【００２４】
多数のコンポーネント、モジュール、および同様のものを含むことができるシステムに関連して、さまざまな態様が提示されるであろう。さまざまなシステムは追加的なコンポーネント、モジュール等を含むことができること、および／または図面に関連して議論されるコンポーネント、モジュール等のすべてを必ずしも含む必要はないことが理解および認識されるべきである。これらのアプローチの組み合わせが使用されてもよい。
【００２５】
さて図面に関し、図1はデータ送信のためのシステム100を例示する。システム100は、時間優先のやりかたで大気上の送信のためのハードウェアにデータを供給するように形成されることができる。ここにおいて、データは開始シンボルにしたがって優先付けすることができる。本件明細書において開示される１つまたは複数の態様を完全に認識するために、通信の概念の簡単な概観を議論しておこう。フレームとは、データのパケットであって、そのデータチャネルは最大295のOFDMシンボルおよび7つのスロットからなる。シンボルとスロットの間の交差領域は、「データスロット」と呼ばれ、フレームあたり最大2065のデータスロットがある。１つのターボパケットは125バイトのデータを備え、１つのリード・ソロモン(RS)コードブロックは16のターボパケットを備えている。１つの論理チャネル(LC)は、１つまたは複数のRSコードブロックを含むことができる。
【００２６】
１つのスーパーフレームは、ローカルオーバーヘッド情報シンボル(LOI)、ワイドオーバーヘッド情報シンボル(WOI)、および約4つのLCデータフレームを含んでいる。媒体ストリームは、マルチプルのスーパーフレーム上に分散されているLCの１つのグループとして送信されることができる。送信の場合、１つのLCの各RSコードブロックは、各グループが4つのターボパケットからなる約4つのグループに分けられる。フレームあたり送信される与えられたRSコードブロックの1つのターボパケットグループがある。
【００２７】
ふたたび図1に関し、システム100は、データの価値のある少なくとも２つのスーパーフレームを実質的に同時にバッファすることができる。例えば、システム100は、次のスーパーフレームを組み立てている間に、1つのスーパーフレームを送信することができる。非直接メモリアクセス(非DMA)ハードウェアの場合、LCは少なくとも2つのシンボルにまたがるようにスケジュールされるべきである。システム100は、スーパーフレームあたり約256のLC、およびLCあたりおよそ256のRSコードブロックをサポートするように形成することができる。約７つのターボパケットで構成される１つのローカルオーバーヘッド情報データグループ、および約７つのターボパケットで構成される１つのワイドオーバーヘッド情報データグループは、スーパーフレームごとにサポートされるべきである。ここで、オーバーヘッド情報（OIS）は最大256のLCのための情報を含むことができる。
【００２８】
システム100は、パーソナルコンピュータのようなコンピュータの上で動作することができる送信ドライバ102を含んでいる。送信ドライバ102は、スケジューラ104とターボエンコーダ106との間のインタフェースとして動作するように形成することができる。ターボエンコーダ106およびスケジューラ104は、コンピュータの中にあるアプリケーションであってよく、例えば、PCI(周辺制御相互接続)インタフェースバスを介してアクセスすることができる。しかしながら、これらのコンポーネントにアクセスするために他の技術を利用することができることを理解するべきである。スケジューラ104は、送信ドライバ102にLCデータを提供することができる。送信ドライバ102は、例えば１つまたは複数の関数呼出しによってターボエンコーダ106にLCデータストリームを伝えることができる。ターボエンコーダ106は、LCデータストリームを受信し、それらを大気上の（例えば無線の）送信のために符号化することができる。
【００２９】
スケジューラ104(送信(Tx)ドライバクライアントとも呼ばれる)は、以下のものを含むさまざまな関数呼出し（function call）によって送信ドライバ102と相互作用をすることができる:  TxOpen関数呼出し、TxClose関数呼出し、TxSuperFrameSend関数呼出し、および／またはTxDiagnostic関数呼出し。スケジューラ104は、TxOpen機能を呼び出すことによって、送信ドライバ102を割り当てる、または指定することができる。関数呼出しといっしょに(埋め込まれているかまたは分離しているかのいずれか)、コールバック関数のポインタを供給することができる。コールバック関数は、クライアントまたはスケジューラ104に、スーパーフレームが完了してしまったこと、およびエラー状態になったこと (例えば送信ドライバがスーパーフレームを要求したのにタイムアウトの満了までにそれを受信していない等)を通知するために利用されることができる。ターボエンコーダ106は、送信ドライバ102を通ってスケジューラ104にエラーが起きたこと（例えばデータ送信のエラー等）を通知することができる。送信ドライバ102の割当てを解除するために、スケジューラ104は、TxClose関数呼出しを呼び出すことができる。
【００３０】
Txドライバクライアントまたはスケジューラ104は、TxSuperFrameSend関数呼出しを呼び出すことによって一度に１つのスーパーフレームの割合で送信ドライバ102に媒体を提供することができる。スケジューラ104は、LOIデータ、WOIデータ、および当該スーパーフレームの間に送信される可能性のあるLCリストを提供することができる。送信ドライバ102は、スーパーフレームを二重バッファすることができ、スーパーフレームバッファが利用可能になったときその旨をスケジューラ104に通知することができる。スケジューラ104がTxDiagnostic関数を呼び出し、かつそのような診断機能を実行するための適切な診断データを供給するとき、診断機能が実行され得る。
【００３１】
ターボエンコーダ106は、システム100と相互作用をすることができ、任意の与えられたシンボルについて１スロットあたり１つの割合で約7つのデータスロットを同時に送信することができる。各々2つのターボグループを記憶できる7つのLCのための１つのピンポンバッファとして、ターボエンコーダ106を形成することができる。開始シンボル、スロット、スロットの数(高さ)および符号化モードを指定する各バッファのためコントロールレジスタも、ターボエンコーダによって提供されることができる。ターボエンコーダ106は、バッファがアイドル状態（使用されていない状態）かまたは使用中であるかを示す各バッファのための状態レジスタとしてさらに形成することができ、またアイドル状態のバッファを合図するための割り込みを生成することができる。
【００３２】
送信ドライバ102は、スケジューリング、RS（Reed Solomon）符号化および／またはロジスティックス活動を実行することもできるコンピュータの上で動作することができる。したがって、処理は、CPU時間の点でできるかぎり効率的であるべきである。コンピュータ環境において、メモリは最小限のコストで追加することができるので、メモリを追加的に使用するとＣＰＵの使用を低減する結果になる場合、メモリを使用することができる。データの複製は、データの単一のインスタンスにポインタを渡すことによって最小限のものにすることができる。このことは結果としてメモリの使用の増加をもたらすかもしれない。というのは、少なくとも２つのスーパーフレームがクライアントによってバッファされなくてはならないかもしれないからである。
【００３３】
非DMAハードウェアの場合、ターボエンコーダ106は、小さなバッファを使用することができ、データストリームを供給するために送信ドライバ102との連続的な相互作用を持つことができる。これは、短い待ち時間、高い優先順位の割込処理で達成することができる。セマフォ・アクセス・ガードを使用しないスレッドの安全な設計を採用することができる。いくつかの態様にしたがって、クライアントは大多数のデータバッファを提供することができる。それゆえ、約1キロバイト未満の静的に割り付けられたRAMが使用されるかもしれない。
【００３４】
本件明細書に開示される１つまたは複数の態様の文脈のよりよい理解のために、図2は、送信ドライバサブシステムを含む多重サーバ(MUX)外部インタフェースを例示するシステム200のブロック図を示している。システム200は、MUX 202、トランスコーダサービングノード（FSN）204、リアルタイム媒体サーバ（RTMS）206、ネットワーク運営センタ(NOC)208、ロギングコンポーネント210、および送信ドライバ(TxD)サブシステム212を含むことができる。TxDサブシステム212は、スケジューラ、送信ドライバ、および／またはターボエンコーダを含むその機能性を完遂するために、さまざまなコンポーネントを含むことができる。送信ドライバサブシステム212は、大気上の通信を出力するように形成されている送信機214とインタフェースすることができる。FSN204およびRTMS206は、TxDサブシステム212がデータを消費している間、データを生成することができる。NOC 208およびロギング210は、MUX 202に対する別個のインタフェースを持っている。
【００３５】
MUX 202は、マルチキャストネットワークに属し、送信機サブシステムのために大気インタフェーススタックを実行することができるコンポーネントであって、毎秒ベースで送信されるべきデータ（「スーパーフレーム」）を獲得する目的のために、他のコンポーネントと相互作用をすることができる。スケジューリングは、個々のフローのための許容可能なサイズをフローの特性および瞬間的帯域幅ニーズに依存して決定するために、MUX 202によって実行されることができる。MUX 202は次に、データおよびメッセージをフォーマットし、そのようなデータおよびメッセージを大気上の（例えば無線による）さらなる送信または出力のためにドライバサブシステム212に渡すことができる。
【００３６】
MUX 202は、FSNサブシステム204との間およびTxDサブシステム212との間に操作可能なインタフェースを持っている。管理インタフェースは、NOC208との間のインタフェースおよびロギング21のための１つのインタフェースを含むことができる。各インタフェースは、通信のために異なるメカニズムを利用することができる。例えば、NOC 208は、MUX 202と通信するためにSNMP(Simple Network Management Protocol)を使用することができる。ロギングパケットは、TCP(送信制御プロトコル)を使用して送信されることができる。RTMS 206とFSN 204とのインタフェースの内部のシグナリングおよびベアラデータは、通信のためにMTL(Massage Transport Layer)またはTCP／IP(Transmission Control Protocol／Internet Protocol)メッセージを使用することができる。TxDサブシステム212インタフェースは、関数呼出しから構成することができる。そのような関数呼出しは、MUX 202からスーパーフレームを要求するのに利用されることができる。TxDサブシステム212は次に、ターボエンコーダにスーパーフレームを直接渡すことができる、または、例えば、ASI上の送信のためにMPEG2トランスポートストリームのフォーマットを利用してスーパーフレームをフォーマットすることができる。
【００３７】
TxDサブシステム212は、ある関数呼出し(SF CMD)によってスーパーフレームを配信することをMUX202に要求することによってインタフェースすることができる。MUX 202は、それに応えて、SF INDメッセージによってスーパーフレームをTxDサブシステム212に転送することができる。MUX 202は、スーパーフレームがTxDサブシステム212によって処理されるのと実質的に同時にスーパーフレームをバッファすることができ、またMUX 202は、SF CMDを受け取るたびに、TxDサブシステム212によって処理されたばかりのスーパーフレームをリリースすることができる。 
図3は、送信ドライバを開くための相互作用を表わす流れ図300である。図示されているように、送信ドライバ302は、スケジューラ304とターボエンコーダ306の間のインタフェースを提供する。スケジューラ304は、送信ドライバ302にLCデータストリームを提供する。送信ドライバ302は、LCデータストリームを受信し、大気上の（例えば無線の）通信のために符号化する。
【００３８】
クライアントまたはスケジューラ304は、TxOpen関数呼出し308を呼び出すことによって、送信ドライバ302を割り当てる、または指定する。コールバック関数のポインタは、TxOpen関数308の部分として含まれる(または実質的に同時に送信される)ことができる。コールバック関数のポインタは、スーパーフレームが完了したときおよび／またはエラー状態がなったときその旨をスケジューラ304に通知するために、送信ドライバ302によって利用されることができる。メモリの割当ての失敗は、スケジューラ504にエラーが生じたことを通知することによって対処することができる。
【００３９】
TxOpen関数308の後、またはそれと実質的に同時に、送信ドライバ302は、それとインタフェースしているターボエンコーダ306の上で初期の診断テスト310を開始し、実行する。診断テストが行われているのと実質的に同時に、またはテストの完了の後、送信ドライバ302は、ターボエンコーダ306と関連づけられているハードウェアを形成する（312）。ターボエンコーダが準備できている状態になると、送信ドライバ302に通知314が送信されて、送信ドライバ302は、それがスーパーフレームを受信する準備ができていること316をスケジューラ304に通知する。
【００４０】
図4は、送信ドライバを閉じるための相互作用を表わす流れ図400である。TxClose関数呼び出し408が受信されると、送信ドライバ402は、スケジューラ404によって割当て解除または選択解除される。送信ドライバ402は、TxClose関数呼出し408を受け取るのと実質的に同時に、ハードウェアまたはターボエンコーダをアイドル状態に置いて内部資源をリリースするためにアイドル状態信号410を送信する。
【００４１】
図5は、本件明細書に開示される１つまたは複数の態様と一致するスーパーフレームを送信するための相互作用を表す流れ図500である。送信ドライバ502は、スケジューラ504とターボエンコーダ506の間のインタフェースを提供する。スケジューラ504は、送信ドライバ502にデータのスーパーフレームを送るためにTxSuperFrameSend 508を呼び出す。スケジューラ504は、TxSuperFrameSend関数呼出し508を呼び出すことによって一度に１つのスーパーフレームの割合で送信ドライバ502に媒体を提供することができる。スケジューラ504は、LOIデータ、WOIデータ、および当該スーパーフレームの間に送信されるであろうLCのリストを提供することができる。送信ドライバ502は、ハードウェアまたはターボエンコーダ506にOISデータ510を書き込む。送信ドライバ502はまた、ターボエンコーダ506に1つまたそれ以上のターボグループを書き込む512。例えば、送信ドライバ502は、512において、LC 1フレーム1ターボグループ1を書き込むことができる。送信ドライバ502は、ターボエンコーダ506から、そのバッファが空（empty）であることを示す信号514を受け取るのを待つ。送信ドライバ502は、スーパーフレームを二重バッファすることでき、またスーパーフレームが消費または処理されるまでターボグループを書き込み続けることができる。スーパーフレームが処理されると、送信ドライバ502は、バッファが利用可能であること516を示すことによって、次のフレームための準備ができていることをスケジューラ504に通知する。
【００４２】
図6は、開示されている態様と一致している診断シーケンスを表わす流れ図600である。診断テストは、システムコンポーネントが正しく作動していることを確かめるために、周期的、自動的または手動によって実行されることができる。診断シーケンスを呼び出すために、スケジューラ604は、診断テストを始めるためのTxDiagnostic関数呼出しを送信ドライバ602に送信する。TxDiagnostic関数呼出し608は、適切な診断データを含むことができる。送信ドライバ602は、ハードウェアまたはターボエンコーダ606の上で診断テストを実行する610。
【００４３】
図7は、データ送信システム700を例示する。システム700は、送信ドライバ702、スケジューラまたは送信クライアント704、およびターボエンコーダ706を含んでいる。送信ドライバ702は、スケジューラ704とターボエンコーダ706の間のインタフェースを提供することができる。システムコンポーネント702、704および706は、例えばコンピュータの上に存在することができる。送信ドライバ702は、そのさまざまな機能性を実行するために、受信機／送信機708、記憶媒体710、解析器712および書き込み器714を含むことができる。
【００４４】
受信機／送信機708は、送信ドライバ702を割り当てるためのオープンシーケンスと、送信ドライバ702の割当てを解除するためのクローズシーケンスと、データのスーパーフレームを送信するための呼び出しとを開始するためにスケジューラから関数呼出しを受信し、および／または診断テストを実行するように形成されることができる。受信機／送信機708は、ターボエンコーダ706にデータをさらに書き込むことができる。ここにおいて、書き込まれるデータは、スケジューラ704から受信される関数呼出しに関係する。ターボエンコーダ706からの情報は、大気上の（例えば無線の）送信のための後の処理および出力のために送信機716へ送ることができる。受信機708は、ターボエンコーダ706からスーパーフレームについての要求をさらに受信することができる。
【００４５】
記憶媒体710は、ターボグループのリストを維持または記憶するように形成することができ、ターボグループの開始シンボルおよびデータ送信システム700に関係するその他の適切な情報にしたがってターボグループをさらにソートすることができる。代替的に、この機能は、送信ドライバ702と関連づけられているプロセッサ(図示されていない)によって実行することができる。記憶媒体710は、例えば、送信ドライバ702に効果的に結合されているメモリであることができる。本件明細書において説明されているデータ記憶（例えば、メモリ、記憶媒体(複数))のコンポーネントは、揮発性メモリまたは不揮発性メモリのいずれか、または揮発性および不揮発性メモリの両方を含むことができることを認識するべきである。以下は例示であって限定ではないが、不揮発性メモリは、読み取り専用メモリ(ROM)、プログラマブルROM(PROM)、電気的プログラマブルROM(EPROM)、電気的消去可能PROM（EEPROM)またはフラッシュメモリを含むことができる。揮発性メモリは、ランダムアクセスメモリ(RAM)を含むことができる。これは外部キャッシュメモリとして動作する。以下も例示であって限定ではないが、RAMは、同期RAM(SRAM)、ダイナミックRAM(DRAM)、同期DRAM(SDARAM)、ダブルデータレートSDRAM(DDR SDRAM)、エンハンストSDRAM(ESDRAM)、Synchlink DRAM(SLDRAM)、および直接ランバスRAM(DRRAM)のような多くの形式において利用可能である。開示されている態様の記憶媒体710は、上記メモリおよびその他の適切なタイプのメモリ―に限定されることなく―を含むように意図されている。
【００４６】
ターボエンコーダ706が他の１つのスーパーフレームを受理できることを示すターボエンコーダ706からの要求が受信機708によって受信されると、解析器712は、例えば、記憶媒体710にアクセスすることによって、それが他の１つのスーパーフレームを始めるのに十分なデータを持っているかどうかを解析するまたは決定することができる。もしデータが利用可能であれば、ドライバ702は、書き込み器714によって、ターボエンコーダ706の上の適切なハードウェアレジスタにスーパーフレームを書き込む。ターボエンコーダ706は、最大約7つの固有のLCのためのピンポンバッファの利用可能性を示すことができる。送信ドライバ702は、LCのソート済みのリストを横断し、例えば、リストにおいて見つかった最大7つのLCのための第1のターボグループを書き込むことができる。各ターボグループについて、適切な制御情報（例えば、開始シンボル、開始スロット、高さ、符号化モード...)を書き込むことができる。バッファの利用可能性をチェックし、ターボグループを書き込むこのプロセスは、スーパーフレームが完了させられるまたは処理されるまで繰り返されることができる。
【００４７】
いくつかの態様にしたがって、非直接メモリアクセス(非DMA)ハードウェアコンポーネントを利用することができる。このハードウェアは、割り込みによって送信ドライバ702にバッファの利用可能性を通知することができる。この割り込みの処理は、与えられたフレームについてのLCの次のターボグループを（もしあれば）転送することを含むことができる。もし与えられたフレームについてのLCが完了したら、与えられたフレームについての次のLCは、記憶媒体710において維持されているLCのソート済みのリストから選択することができる。フレーム全体が処理されたら次のフレームを始めることができ、同様のプロセスが次のまたは後のフレームを完了するために追随する。スーパーフレーム全体が処理されたら次のスーパーフレームを始めることができ、同様のプロセスが追随する。
【００４８】
いくつかの態様において、ハードウェアは、PCIバス上のDMAをサポートする。そのような態様において、ハードウェアは、ある与えられたフレームについて最大約7つのLCのターボグループをすべて読むようにプログラムすることができる。ハードウェアは、ある与えられたフレームについてのLCが消費されてしまったらその旨を割り込みによって送信ドライバ702に通知することができる。与えられたフレームについての次のLCは、LCのソート済みのリストから選ぶことができ、DMA転送を始めることができる。フレーム全体が処理されたら次のフレームを始めることができ、同様のプロセスを追うことができる。スーパーフレーム全体が処理されたら次のスーパーフレームを始めることができ、実質的に同様のプロセスを追うことができる。いくつかの態様において、送信ドライバ702は、与えられたLCと関連づけられている特定のフレーム内のすべてのターボグループが連続するメモリの中にあるように、ターボグループを一時バッファの中に複製することができる。
【００４９】
上記において示され説明された例示的システムを考慮すると、本件発明の方法はさまざまな態様のうちの１つまたは複数の態様にしたがって実装することができ、その方法は図８の図面を参照することによってよりよく認識されるであろう。本件方法は、説明の単純性の目的のために、一連の機能ブロックとして示され説明されてはいるものの、そのいくつかのブロックは、本件方法と調和しつつ、本件明細書において示され説明されている順序とは異なる順序でおよび／または他のブロックと同時に生起することもきるので、本件方法はブロックの順序によって限定されるものではないということが理解および認識されるべきである。さらに、開示されている態様の１つまたは複数の態様と一致している方法を実行するために、例示されているすべてのブロックが要求される必要はない。
【００５０】
さまざまなブロックは、当該ブロックと関連づけられている機能性を実行するためのソフトウェア、ハードウェア、これらの組み合わせ、またはその他の任意の適当な手段によって実装することができることを認識するべきである。ブロックは、本件明細書において開示されているある態様を単純化された形で例示するものにすぎないこと、およびこれら態様はより少数のおよび／またはより多数のブロックで例示することが可能であることをさらに認識するべきである。さらに、以下の方法を実行するために、例示のブロックのすべてが要求されなくてもよい。当業者は、１つの方法は状態図のような一連の相互関係のある状態またはできごととして代替的に表すことができるということを理解および認識するだろう。
【００５１】
図8は、本件明細書において開示されている態様と一致している通信のための方法800である。方法は802に始まる。ここにおいて、ターボグループ（複数）の１つのリストが維持されている。これらのターボグループは、メモリまたはその他の記憶媒体において維持または記憶されることができ、デマンドに応じて検索可能であるべきである。ターボグループは、4つのターボパケットと１つの論理チャネル（LC）とを含むことができ、１つのLCは、4つのターボパケットのグループに分けられた16のターボパケットを含んでいる。804において、スーパーフレーム要求が受信される。この要求は、例えば、後の処理および大気上の（例えば無線の）通信のためにターボエンコーダから受信することができる。
【００５２】
804において受信した要求に応答してスーパーフレームを始めるためのデータが利用可能であるかどうかの決定が806において行われる。そのような決定は、送信ドライバと関連づけられている記憶媒体に記憶されている情報に基づいて行うことができる。もし利用可能な情報が十分なければ（NO）、方法800は終了する。もし決定が、利用可能な情報が十分あるということであれば（YES）、808において適切なハードウェアレジスタにスーパーフレームが書き込まれる。同様の方法800を利用して後のフレームを処理することができることを理解するべきである。
【００５３】
非DMAハードウェアは、割り込みによってバッファの利用可能性をドライバに通知することによってスーパーフレームを要求することができる。割り込みの処理は、与えられたフレームについて１つのLCの次のターボグループ(もしあれば)を転送することを含むことができる。DMAをサポートするハードウェアの場合、スーパーフレームを要求するために、ハードウェアは、与えられたフレームのためのLCが消費されてしまったらその旨を割り込みによって送信ドライバに通知することができる。LCのソート済みのリストから、フレームのためのLCの次のターボグループが選択される。こうして、割り込みは、ハードウェアコンポーネントが直接メモリアクセスハードウェアコンポーネントまたは非直接メモリアクセスハードウェアコンポーネントであるかに依存して、選択的処理をすることができる。
【００５４】
図９に関し、ここに例示されているものは、本件明細書において開示されている１つまたは複数の態様と一致している無線通信環境において送信ドライバとユーザデバイスの間のデータ通信を容易にするシステム900である。システム900は、アクセスポイントの中および／またはユーザデバイスの中に存在することができる。システム900は、例えば受信アンテナから信号を受信することができる受信機902を備えている。受信機902は、受信号のフィルタリング、増幅、ダウンコンバートなど、典型的な動作をその上で行なうことができる。受信機902は、サンプルを獲得するために、調整された信号をデジタル化することもできる。復調器904は、各シンボル期間の間、受信されたシンボルを獲得することができ、また当然のことながら受信された信号をプロセッサ906に供給することができる
プロセッサ906は、受信機コンポーネント902により受信された情報を解析すること、および／または送信機916（不図示）による送信のために情報を生成することをもっぱらとするプロセッサであることができる。プロセッサ906は、ユーザデバイス900の１つまたは複数のコンポーネント、および／またはプロセッサ906を制御する。プロセッサ906は、受信機902により受信された情報を解析し、送信機916による送信のための情報を生成し、ユーザデバイス900の１つまたは複数のコンポーネントを制御する。プロセッサ906は、追加のユーザデバイスとの通信を調整することができるコントローラコンポーネントを含むことができる。
【００５５】
ユーザデバイス900は、さらにメモリ908を含むことができる。メモリ908は、プロセッサ906に効果的に結合されていて、通信の調整に関係する情報およびその他の任意の適切な情報を記憶する。メモリ908は、通信の調整に関連するプロトコルをさらに記憶することができる。本件明細書において説明されているデータ記憶（例えばメモリ)コンポーネントは揮発性メモリまたは不揮発性メモリのいずれかであってよく、または揮発性および不揮発性のメモリの両方を含むことができることが認識されるであろう。以下は例示であって限定するものではないが、不揮発性メモリは、読み取り専用メモリ(ROM)、プログラマブルROM(PROM)、電気的プログラマブルROM(EPROM)、電気的消去可能ROM(EEPROM)またはフラッシュメモリを含むことができる。揮発性メモリは、ランダムアクセスメモリ(RAM)を含むことができる。それは外部キャッシュメモリとして動作する。以下は例示であって限定するものではないが、RAMは、同期RAM(SRAM)、ダイナミックRAM(DRAM)、同期DRAM(SDRAM)、ダブルデータレートSDRAM(DDR SDRAM)、エンハンストSDRAM(ESDRAM)、Synchlink DRAM(SLDRAM)および直接ランバスRAM(DRRAM)などの多くの形式において利用可能である。本件発明の主題のシステムおよび／または方法のメモリ908は、上記のメモリおよびその他の任意の適切なタイプのメモリ―に限定されることなく―を備えることを意図している。ユーザデバイス900は、シンボル変調器910、および変調された信号を送信する送信機912をさらに含む。
【００５６】
図10は、さまざまな態様と一致している通信プロトコルの調整を促進するシステム1000の例示である。システム1000は、基地局またはアクセスポイント1002を備える。図示されているように、基地局は、送信アンテナ1008を通って１つまたは複数のユーザデバイスに送信する。
【００５７】
基地局1002は、受信された信号を復調する復調器1012を備える。復調されたシンボルは、メモリ1016に結合されているプロセッサ1014によって解析される。メモリ1016は、コードクラスタと関係する情報、ユーザデバイスのアサインメント、それに関係する探索テーブル、固有のスクランブルシーケンス、および同様の情報を記憶している。変調器1018は、送信機1020によって送信アンテナ1008を介してユーザデバイス1004に送信されるための信号を多重化することができる。
【００５８】
図11は、例示的な無線通信システム1100を示す。無線通信システム1100は、簡潔さのために1つの基地局と1つの端末を描いている。しかしながら、システム1100は２つ以上の基地局及び2つ以上の端末またはユーザデバイスを含むことができ、追加的な基地局および／または端末は下記において説明される例示的な基地局および端末と本質的に類似のものでもまたは異なるものでよいことが認識されるべきである。さらに、基地局および／または端末は、両者間の無線通信を容易にするための本件明細書記載のシステムおよび／または方法を採用することができることが認識されるべきである。
【００５９】
図11に関し、ダウンリンク上で、送信(TX)データプロセッサ1110は、アクセスポイント1105において、トラヒックデータを受信し、フォーマットし、コード化し、インターリーブし、変調(またはシンボルマップ)し、および変調シンボル(「データシンボル」)を提供する。シンボル変調器1115は、データシンボルおよびパイロットシンボルを受信および処理し、およびシンボルのストリームを提供する。シンボル変調器1115は、データおよびパイロットシンボルを多重化し、およびN個の送信シンボルの１つの集合を獲得する。各送信シンボルは、データシンボル、パイロットシンボルまたは0の信号値であることができる。パイロットシンボルは、各シンボル期間において連続的に送られることができる。パイロットシンボルは、周波数分割多重（FDM）、直交周波数分割多重（OFDM）、時分割多重(TDM)、またはコード分割多重（CDM)であることができる。
【００６０】
送信機ユニット(TMTR)1120は、シンボルのストリームを受信して１つまたは複数のアナログ信号に変換し、および、無線チャネル上の送信に適しているダウンリンク信号を生成するために当該アナログ信号をさらに調整（例えば、増幅、フィルタリング、周波数アップコンバート）する。ダウンリンク信号は次に、アンテナ1125によって端末に送信される。端末1130において、アンテナ1135は、ダウンリンク信号を受信し、受信した信号を受信機ユニット（RCVR)1140に供給する。受信機ユニット1140は、受信した信号を調整（例えば、フィルタリング、増幅、周波数ダウンコンバート）し、およびサンプルを獲得するためにその調整した信号をデジタル化する。シンボル復調器1145は、N個の受信されたシンボルを獲得し、パイロットシンボルをチャネル推定のためにプロセッサ1150に供給する。シンボル復調器1145は、さらに、ダウンリンクのための周波数応答推定をプロセッサ1150から受信し、データシンボル推定を獲得するために受信データシンボルに対してデータ復調を実行し、およびデータシンボル推定をRXデータプロセッサ1155に供給する。RXデータプロセッサ1155は、送信トラヒックデータを復元するためにデータシンボル推定を復調（またはシンボル逆マップ）し、インターリーブ解除し、および復号する。シンボル復調器1145およびRXデータプロセッサ1155による処理は、アクセスポイント1105におけるシンボル変調器1115およびTXデータプロセッサ1110による処理とそれぞれ相補的である。
【００６１】
アップリンクにおいて、TXデータプロセッサ1160は、トラヒックデータを処理し、データシンボルを提供する。シンボル変調器1165は、パイロットシンボルを備えたデータシンボルを受信および多重化し、およびシンボルのストリームを提供する。送信機ユニット1170は次に、アップリンク信号を生成するためにシンボルのストリームを受信および処理する。そのアップリンク信号は、アンテナ1135によってアクセスポイント1105へ送信される。
【００６２】
プロセッサ1190および1150は、それぞれアクセスポイント1105および端末1130における操作を指令（例えば、制御、調整、管理等）する。それぞれのプロセッサ1190および1150は、プログラムコードおよびデータを記憶するメモリユニット（図示されていない）と関連づけることができる。プロセッサ1190および1150は、ダウンリンクのための周波数およびインパルス応答の評価を引き出すための計算を行うこともできる。
【００６３】
多重接続システム（例えば、FDMA、OFDMA、CDMA、TDMAなど)の場合、多重端末は、アップリンク上で同時に送信することができる。そのようなシステムの場合、パイロットサブバンドは、異なる端末の間で共有することができる。各端末のためのパイロットサブバンドが動作周波数バンド全体にまたがる場合、チャネル推定技術を使用することができる。各端末のために周波数ダイバーシチを獲得するためには、そのようなパイロットサブバンド構造が望ましいだろう。本件明細書に記載されている技術は、さまざまな手段によって実装することができる。例えば、これらの技術は、ハードウェア、ソフトウェアまたはそれらの組み合わせにおいて実装することができる。ハードウェア実装の場合、チャネル推定のために使用される処理ユニットは、１つまたは複数の特定用途向けIC(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、本件明細書記載の機能を実行するように設計されているその他の電子ユニット、およびこれらのものの組み合わせの中で実装することができる。ソフトウェアについては、本件明細書記載の機能を実行するモジュール（例えば、手順、機能など)による実装が可能である。ソフトウェアのコードは、メモリユニットに記憶され、プロセッサ1190および1150によって実行されることができる。
【００６４】
次に図12に関し、ここではデータ通信システム1200が例示されている。システムは、ターボグループのリストを維持するための手段1202を含んでいる。ここにおいて、ターボグループは4つのターボパケット、および4つのターボパケットからなる少なくとも4つのグループを含んでいる1つの論理チャネル(LC)を備えている。ターボグループのリストを維持するための手段1202は、スーパーフレーム要求を受信するための手段1204とインタフェースしている。スーパーフレーム要求は、直接メモリアクセスハードウェアコンポーネントまたは非直接メモリアクセスハードウェアコンポーネントから受信することができる。その要求が受信されると、維持されているリストをレビューするための手段1206は、維持されているリストにアクセスし、およびその要求を履行するためのデータが利用可能であるかどうかの決定を行う。もし利用可能な十分なデータがあれば、スーパーフレームを送信するための手段1208は、要求を送信したハードウェアコンポーネントと関連づけられているレジスタにスーパーフレームを通信または送信する。
【００６５】
図13は、送信ドライバの態様による処理に適しているデータフレーム1300を示す。例えば、データフレーム1300は、図1に示される送信ドライバ102によって処理することができる。データフレーム1300は、7つのスロットによる「N」個のOFDMシンボル（７×N）のマトリックスのデータを備えている。シンボルとスロットの交差する各領域は、データスロットを定義する。論理チャネル1302を含むデータは、データフレーム1300の中に詰め込まれていることが図示されている。論理チャネル1302は、データのコードブロックを複数個備えていて、データフレーム中の位置は、スロットにおける高さおよびシンボルにおける長さによって定義される。データフレーム1300は多数の論理チャネルを備えることができること、および論理チャネルの各々は任意の適切な高さおよび長さのパラメータを使用してデータフレーム1300の中に詰め込むことができることに注目しておくべきである。ある態様において、4つのデータフレームを備えるスーパーフレームが定義される。
【００６６】
図14は、複数の論理チャネルを備えるスーパーフレーム1400を例示する図である。例えば、スーパーフレーム1400は、1402に示されるような「n」個の論理チャネルを含む。各論理チャネルに対して、複数のコードブロック(CB)がある。例えば、LC 1404は、1406に示されるような「m」個のコードブロックを含む。各コードブロックは1408に示されるような4つのターボグループを備え、各ターボグループは1410に示されるような4つのターボパケットを備えている。さらに、各コードブロック1406は、スーパーフレーム中のコードブロックの位置を示すシンボル(sym)インデックスおよびスロット(slot)インデックスを備えている。ある態様において、送信ドライバは、すべてのコードブロックからのすべてのターボグループを、それらの関連するコードブロックのシンボルインデックス値およびスロットインデックス値に基づいて時間順に並べられるターボグループのリストに整列するために動作する。このことによって、フレーム内で先に生じるターボグループをフレーム内で後に生じるターボグループより前に出力するように、ターボグループを時間順に並べることができる。送信ドライバによるターボグループの構成についてのより詳細な説明は、本件文書の他のセクションにおいて提供される。
【００６７】
図15は、送信ドライバ1500のある態様を示す。例えば、送信ドライバ1500は、図1に示される送信ドライバ102における使用に適している。送信ドライバ1500は、スケジューラインタフェース(I/F)1502、処理論理1504、メモリ1506、バッファ入力論理1508、バッファ1510、およびバッファ出力論理1512を備えている。
【００６８】
スケジューラI/F 1502は、CPU、プロセッサ、ゲートアレイ、ハードウェア論理、メモリ素子、仮想計算機、ソフトウェア、および／またはハードウェアとソフトウェアの任意の組み合わせを備えている。スケジューラI/F 1502は、インタフェース信号1514を提供する。インタフェース信号1514は、送信ドライバ1500が送信のためのデータを受信するためにデータスケジューラと通信することを可能にする。例えば、スケジューラI/F 1502は、送信のためのスーパーフレームを受信するために、上で（すなわち図３ないし６において）説明されたインタフェース仕様と一致している図1に示されるスケジューラ104と通信する。スケジューラI/F 1502は、受信されたスーパーフレームを処理論理1504へ渡すために動作する。
【００６９】
処理論理1504は、CPU、プロセッサ、ゲートアレイ、ハードウェア論理、メモリ素子、仮想計算機、ソフトウェア、および／またはハードウェアとソフトウェアの任意の組み合わせを備えている。処理論理1504は、スケジューラI/F 1502からスーパーフレームを受信し、および、ターボグループによるデータを時間順に並べたターボグループのリスト（メモリ1506に記憶される）に整列するために動作する。
【００７０】
メモリ1506は、処理論理1504によって提供される時間順に並べられたターボグループを記憶するための操作可能な、RAM、フラッシュメモリ、EEPROM、ハードディスク、および／またはその他の任意の記憶デバイスを含んでいる。
【００７１】
バッファ1510は、ターボグループを記憶しアクセスするための操作可能な任意の適切なメモリおよび／または論理を含んでいる。ある態様において、バッファ1510は、RAM、フラッシュメモリ、および／または、その他の任意の適切なタイプのメモリコンポーネントを含む。ある態様において、バッファ1510は、ターボグループのデータを記憶することができる7つのバッファを含む。しかし、他の態様において、より多くのまたはより少数のバッファを使用することができる。
【００７２】
バッファ入力論理1508は、CPU、プロセッサ、ゲートアレイ、ハードウェア論理、メモリ素子、仮想計算機、ソフトウェア、および／または、ハードウェアとソフトウェアの任意の組み合わせを含む。バッファ入力倫理1508は、メモリ1506に記憶されているターボグループの時間順に整列されているリストからターボグループのデータを検索し、および検索されたターボグループをバッファ1510の中の選択されたバッファに書き込むために動作する。例えば、バッファ1510は、特定のバッファがデータを受信する準備ができていることを示すバッファ準備信号（a buffer ready signal）1518を提供する。バッファ入力論理1508は、バッファ準備信号1518を受信し、バッファ準備信号が当該特定のバッファから受信されるときターボグループをそのバッファに書き込むために動作する。例えば、あるバッファが準備できているとき、バッファ入力論理1508は、メモリ1506に記憶されている時間順に整列されているリストから次のターボグループを検索し、そのターボグループを利用可能なバッファに書き込むために動作する。
【００７３】
バッファ出力論理1512は、CPU、プロセッサ、ゲートアレイ、ハードウェア論理、メモリ素子、仮想計算機、ソフトウェア、および／または、ハードウェアとソフトウェアの任意の組み合わせを含む。バッファ出力論理1512は、バッファ1510に記憶されているターボグループのデータを検索し、検索されたそのターボグループのデータをエンコーダに出力するために動作する。例えば、バッファ1510の各々は、特定のバッファがデータを出力する準備ができていることを示すバッファ準備信号1520を供給する。バッファ出力論理1512は、バッファ準備信号1520を受信し、特定のバッファから準備信号を受信するとき特定のバッファからターボグループを検索するために動作する。検索されたターボグループは次に、エンコーダインタフェース信号1516を使用して、エンコーダに出力される。例えば、エンコーダは、エンコーダが１つまたは複数のターボグループを受信する準備ができていることを示すエンコーダ準備信号1522を供給する。バッファ出力インタフェース1512は、エンコーダ準備信号1522を受信するとき、バッファ1510から検索されたデータの１つまたは複数のターボグループを出力するために動作する。
【００７４】
その動作の間、送信ドライバ論理1500は、スケジューラからデータを受信するために動作する。例えば、データは論理チャンネルを有するスーパーフレームを含み、ここで各チャネルは１つまたは複数のコードブロックを有し、各コードブロックは4つのターボグループを有している。スケジューラI/F 1502は、データを受信し、処理のためにデータを処理論理1504へ渡す。処理論理1504は、データを時間順に並べられたターボグループに整列し、このターボグループは、メモリ1506に記憶される。バッファ入力論理1508は、準備信号1518に基づいて、時間順に並べられているターボグループデータをバッファ1510に書き込むために動作する。バッファ出力論理1512は、準備信号1520に基づいて、時間順に並べられているターボグループデータをバッファ1510から検索するために動作する。検索されたターボグループデータは次に、エンコーダインタフェース信号を用いてエンコーダに出力される。その結果、時間順に並べられているターボグループは、処理論理1504によって整列されたのと同じ時間系列において出力される。かくして、送信ドライバ1500は、データを通信ネットワーク上の送信のために符号化することができるように、データを効率的に整列し、エンコーダに送信するために動作する。
【００７５】
ある態様において、送信ドライバ1500の機能は、コンピュータ可読媒体に記憶されている１つまたは複数のプログラムの命令(「プログラム命令」)の中に組み込まれていて、これは、少なくとも1つのプロセッサによって実行されるとき、本件明細書記載の機能を提供する。例えば、プログラム命令は、フレキシブルディスク、CDROM、メモリカード、フラッシュメモリデバイス、RAM、ROM、またはその他の任意のタイプのメモリデバイスまたは媒体のようなコンピュータ可読媒体によって記憶されることができる。他のある態様において、命令は外部デバイスまたはネットワーク資源からダウンロードされてよい。プログラム命令は、少なくとも1つのプロセッサによって実行されるとき、本件明細書記載の送信ドライバ1500の機能を提供する。
【００７６】
送信ドライバ1500は1つの実装にすぎず、さまざまな態様による他の実装も可能であることに留意するべきである。例えば、送信ドライバ1500は、CPU、プロセッサ、ゲートアレイ、ハードウェア論理、メモリ素子、仮想計算機、ソフトウェア、および／または、ハードウェアとソフトウェアの任意の組み合わせをもっぱら使用することによって実装することができる。
【００７７】
図16は、スーパーフレームのターボグループを送信ドライバのある態様によって時間順に並べられたターボグループとして整列する方法を例示している。スーパーフレーム1600は、シンボルおよびスロットのマトリックスに整列されたデータを含んでいる。第1の論理チャネル(LC0)は1602に示され、第2の論理チャネル(LC1)は1604に示されている。この説明の目的上、論理チャネル1602および1604の各々は３つのコードブロックを含むこと、および各コードブロックは4つのターボグループを含むと仮定しておこう。論理チャネルは任意の数のコードブロックを含んでよく、その数は単に3に限られるものではないということに留意するべきである。
【００７８】
ある態様において、スーパーフレームは、時間順に並べられたターボグループに整列される。例えば、処理論理1504は、スーパーフレーム1600を時間順に並べられたターボグループへ整列するために動作し、それらをメモリ1506に記憶する。
【００７９】
時間順に並べられたターボグループは、1606に示されている。例えば、時間順に並べられたターボグループ1606は、処理論理1504によって生成される。時間順に並べられたターボグループ1606は、それらに関連する論理チャネルおよびスーパーフレーム1600におけるコードブロックの位置に基づいてグループ化されるターボグループを含む。例えば、論理チャネル1602は、スーパーフレーム1600において論理チャネル1604の前の適時に生じている。ある態様において、各コードブロックと関連づけられているシンボルインデックスおよびスロットインデックスは、各ターボグループの時間位置を決定するために使用される。
【００８０】
さらに、送信の目的のために、スーパーフレームは４つのフレームに分割される。ここで、第1のフレームはターボグループ1のデータを含み、第2のフレームはターボグループ2のデータを含み、第3のフレームはターボグループ3のデータを含み、そして第4のフレームはターボグループ4のデータを含んでいる。結果として、処理論理1504は、すべての論理チャネルについてのターボグループ1のデータがすべての論理チャネルについてのターボグループ2のデータの前に生じる、等々、となるように、スーパーフレーム1600のターボグループを整列するために動作する。例えば、論理チャネル1602の3つのコードブロックの第1のターボグループは1608に示される。このグループに続くのは、1610に示されるような論理チャネル1604の3つのコードブロックの第1のターボグループである。本リストは、第2のターボグループをともなって継続し、第3および第4のターボグループがこれに後続する。かくして、送信ドライバは、ターボグループの関連する論理チャネルおよびコードブロックに基づいて、１つのスーパーフレームを時間順に並べられたターボグループに整列するために動作する。
【００８１】
図17は、送信ドライバの態様を提供するための方法1700を示す。ある態様において、方法1700は、図15に示される送信ドライバ1500によって提供される。
【００８２】
ブロック1702において、バッファが初期化される。例えば、バッファ1510は、ターボグループのデータを受理する準備ができている状態となるように初期化される。
【００８３】
ブロック1704において、スーパーフレームが受信される。例えば、スーパーフレームは、図1に示されるスケジューラ104のようなスケジューラから受信される。ある態様において、スーパーフレームは、スケジューラI/F 1502によって受信され、受信されたスーパーフレームは、処理論理1504に渡される。
【００８４】
ブロック1706において、スーパーフレームは、時間順に並べられたターボグループに整列される。例えば、スーパーフレームは、図16に示される時間順に並べられたターボグループ1606によって例示のように整列される。ある態様において、処理論理1504は、ターボグループの関連する論理チャネルおよびコードブロックに基づいて(すなわち、コードブロックのシンボルインデックス値およびスロットインデックス値を使用して)ターボグループを整列するために動作する。
【００８５】
ブロック1708において、時間順に並べられたターボグループのデータを受理する準備ができているバッファがあるかどうかを決定するためのテストが行なわれる。例えば、バッファ入力論理1508は、いずれかのバッファ準備信号1518があるかを決定する。もしターボグループのデータを受信する準備ができているバッファがあれば、本方法はブロック1710に進む。もしターボグループのデータを受信する準備ができているバッファがなければ、本方法はブロック1708に戻る。
【００８６】
ブロック1710において、１つのターボグループが１つの利用可能なバッファに記憶される。例えば、バッファ入力論理1508は、あるバッファが準備できていると決定し、メモリ1506に記憶されている時間順に並べられたターボグループから次のターボグループを検索するために動作し、そのターボグループを前記の利用可能なバッファに記憶する。本方法はその後、次の利用可能なバッファを決定するため、ブロック1708に戻る。
【００８７】
かくして、方法1700は、送信ドライバの態様を提供するために動作する。例えば、方法1700は、時間順に並べられたターボグループからのターボグループを利用可能なバッファに記憶するために動作する。下記に述べられる方法1800は、バッファからターボグループを検索するために動作し、それらを通信ネットワーク上の送信のために符号化するためエンコーダに出力する。方法1700は単に1つの実装を表すものであって、その態様の範囲内において他の実装も可能であることに留意すべきである。
【００８８】
図18は、送信ドライバの態様を提供するための方法1800を示す。ある態様において、方法1800は、図15に示される送信ドライバ1500によって提供される。
【００８９】
ブロック1802において、あるエンコーダがターボグループのデータを受信する準備ができているかどうかを決定するためのテストが行われる。例えば、バッファ出力論理1512は、エンコーダがターボグループのデータを受信する準備ができていることをエンコーダ準備信号1522が示すかどうかを判断するために動作する。もしエンコーダが準備できているのであれば、本方法はブロック1804に進む。もしエンコーダが準備できていないのであれば、本方法はブロック1802に戻る。
【００９０】
ブロック1804において、バッファがターボグループのデータを出力する準備ができているかどうかを判断するためのテストが行なわれる。例えば、バッファ出力論理1512は、あるバッファが準備できていることを準備信号1520が示しているかどうかを決定することによって、バッファ1510の１つがターボグループのデータを出力する準備ができているかどうか判断するために動作する。もしバッファが準備できているのであれば、本方法はブロック1806に進む。もしあるバッファが準備できていないのであれば、本方法はブロック1804に戻る。
【００９１】
ブロック1806において、ターボグループのデータはエンコーダに出力される。例えば、バッファ出力論理1512は、インタフェース信号1516を使用して、ターボグループのエンコーダに出力するために動作する。ターボグループのデータは、それがバッファ1510に書き込まれたのと同じ時間順に並べられた順番に出力される。本方法はその後、エンコーダがターボグループをさらに受理する準備ができているかどうかを決定するためにブロック1802に進む。
【００９２】
かくして、方法1800は、送信ドライバの態様を提供するために動作する。例えば、方法1800は、データネットワーク上の送信のために、ターボグループを記憶バッファからエンコーダに出力するために動作する。方法1800は1つの実装を表すものにすぎず、態様の範囲内において他の実装も可能であることに留意すべきである。
【００９３】
図19は、送信ドライバ1900のある態様を示す。送信ドライバ1900は、データを獲得するための手段(1902)を含む。例えば、ある態様において、手段1902はスケジューラI/F 1502を含む。送信ドライバ1900は、データを時間順に並べられるターボグループへ整列するための手段(1904)も含む。例えば、ある態様において、手段1904は、処理論理1504を含む。送信ドライバ1900は、時間順に並べられたターボグループを出力するための手段(1906)も含む。例えば、ある態様において、手段1906は、バッファ1510およびバッファ出力I/F 1512を含む。
【００９４】
本件明細書において説明される態様は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコードまたはそれらの任意の組み合わせによって実装することができることを理解するべきである。本件システムおよび／または方法がソフトウェア、ファームウェア、ミドルウェアまたはマイクロコード、プログラムコードまたはコードセグメントにおいて実装されるとき、それらは記憶コンポーネントのような機械可読媒体の中に記憶することができる。コードセグメントは、手順、機能、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造またはプログラム文の任意の組み合わせを表わすことができる。コードセグメントは、情報、データ、引数（argument）、パラメータ、またはメモリコンテンツを通過させるおよび／または受信することによって、他のコードセグメントまたはハードウェア回路に結合されてもよい。情報、引数、パラメータ、データ等は、メモリ共有、メッセージパス、トークンパス、ネットワーク送信等を含む任意の適切な手段を用いることによって、通過させる、転送する、または送信することができる。
【００９５】
ソフトウェアによる実装の場合、本件明細書において説明されている技術は、本件明細書において説明されている機能を実現するモジュール（例えば手順、機能など)を用いて実装することができる。ソフトウェアコードは、メモリユニットに記憶し、プロセッサによって実行することができる。メモリユニットは、プロセッサの内部またはプロセッサの外部において実装することができる。いずれの場合においても、そのメモリユニットは本件技術分野において知られているさまざまな手段によってプロセッサに結合されることができる。
【００９６】
上に説明されたものは、１つまたは複数の態様の例を含んでいる。前述された態様の説明のためにあらゆる考えられるコンポーネントまたは方法の組み合わせを説明することはもちろん不可能である。しかし、本件技術分野の当業者は、さまざまな態様の多くのさらなる組み合わせおよび置き換えが可能であることを認識することができる。したがって、説明されている態様は、添付されているクレームの要旨および範囲の内にあるそのようなすべての変更、修正および変種を包含することを意図している。さらに、「含む」（includes）という用語が発明の詳細な説明またはクレームのいずれかにおいて使用される程度において、その用語は、「備える」（comprising）という用語がクレームにおいて接続的な単語として採用されるときに解釈されるのと同様のやりかたにおいて「備える」と同様に包括的であることを意図しているものである。
【図面の簡単な説明】
【００９７】
【図１】図1は、データ送信システムのブロック図である。
【図２】図2は、送信ドライバサブシステムを含む多重サーバ(MUX)外部インタフェースを例示するシステムのブロック図である。
【図３】図3は、送信ドライバを開くための相互作用を表わす流れ図である。
【図４】図4は、送信ドライバを閉じるための相互作用を表わす流れ図である。
【図５】図5は、本件明細書において開示される１つまたは複数の態様に準拠するスーパーフレームを送るための相互作用を表わす流れ図である。
【図６】図6は、開示される態様と一致している診断シーケンスを表わす流れ図である。
【図７】図7は、送信ドライバを利用するデータ通信のためのシステムである。
【図８】図8は、本件明細書において開示される態様と一致しているデータ通信のための方法である。
【図９】図9は、本件明細書において開示される１つまたは複数の態様と一致している無線通信環境における送信ドライバとユーザデバイスの間のデータ通信を促進するシステムを例示する。
【図１０】図10は、さまざまな態様と一致している無線通信環境における通信を調整するシステムを例示する。
【図１１】図11は、本件明細書において開示されるさまざまなシステムおよび方法とともに採用されることができる無線通信環境を例示する。
【図１２】図12は、さまざまな態様と一致しているデータ通信システムを例示する。
【図１３】図13は、送信ドライバの態様によって処理するのに適しているスーパーフレームを示す。
【図１４】図14は、複数の論理チャネルを備えるスーパーフレームを例示する図を示す。
【図１５】図15は、送信ドライバの態様を示す。
【図１６】図16は、送信ドライバの態様によって、時間順に並べられたターボグループとしてスーパーフレームのターボグループを整列するやりかたを例示する。
【図１７】図17は、送信ドライバの態様を提供するための方法を示す。
【図１８】図18は、送信ドライバの態様を提供するための方法を示す。
【図１９】図19は、送信ドライバの態様を示す。
【図１】
2009542163.tif 000003
【図２】
2009542163.tif 000004
【図３】
2009542163.tif 000005
【図４】
2009542163.tif 000006
【図５】
2009542163.tif 000007
【図６】
2009542163.tif 000008
【図７】
2009542163.tif 000009
【図８】
2009542163.tif 000010
【図９】
2009542163.tif 000011
【図１０】
2009542163.tif 000012
【図１１】
2009542163.tif 000013
【図１２】
2009542163.tif 000014
【図１３】
2009542163.tif 000015
【図１４】
2009542163.tif 000016
【図１５】
2009542163.tif 000017
【図１６】
2009542163.tif 000018
【図１７】
2009542163.tif 000019
【図１８】
2009542163.tif 000020
【図１９】
2009542163.tif 000021
【国際調査報告】
2009542163.tif 000022
2009542163.tif 000023
2009542163.tif 000024