(57)【要約】【課題】バッファが満杯になった際に生じるデータ損失によって引き起こされるデータ同期問題を解決することを課題とする。【解決手段】  広帯域および狭帯域の環境中でマルチバンド信号を受信し、かつ処理する方法の実施例がここに記述される。バッファが満杯になったことによりデータが損失した場合、その損失した場所に擬似雑音ブロックを挿入することにより、データ・ストリームの同期を維持することができる。他の実施例もまた記述されクレームに記載される。【選択図】図３
2010148101.tif 000002
【特許請求の範囲】
【請求項１】
通信チャネルを通じてデータ・パケットの同期を維持する方法において、
前記データ・パケットを複数のブロックへ分割する段階と、
前記複数のブロックをバッファに格納する段階と、
前記複数のブロックの各ブロックに連続カウンタを備えるヘッダを付加する段階と、
前記通信チャネルの利用可能性をモニタする段階と、
前記バッファが容量に達している場合、前記複数のブロックの１またはそれ以上のブロックを消去する段階と、
１またはそれ以上の消去されたブロックを検出するために前記連続カウンタをモニタする段階と、
前記１またはそれ以上の消去されたブロックを交換するために擬似雑音ブロックを挿入する段階と、
を含むことを特徴とする方法。
【請求項２】
前記データ・パケットは、狭帯域データを含むことを特徴とする請求項１記載の方法。
【請求項３】
前記データ・パケットを削減する段階をさらに含むことを特徴とする請求項１記載の方法。
【請求項４】
前記擬似雑音ブロックは、プロセッサによって生成されることを特徴とする請求項１記載の方法。
【請求項５】
同期バイトを前記ヘッダに付加する段階をさらに含むことを特徴とする請求項１記載の方法。
【請求項６】
前記データ・パケットは、広帯域データおよび狭帯域データを含むことを特徴とする請求項１記載の方法。
【請求項７】
前記複数のブロックの各ブロックのブロック・サイズは、１２８個のサンプルに等しいことを特徴とする請求項１記載の方法。
【請求項８】
狭帯域サンプルを処理する方法において、
隣接していないサンプルを示すためにユニークなヘッダ・パターンをプロセッサで確立する段階と、
複数のサンプルをバッファ内に受け取る段階と、
前記メモリ・バッファが容量に達した場合に、１またはそれ以上のサンプルを前記複数のサンプルから消去する段階と、
消去されたサンプルの数を決定する段階と、
前記ユニークなヘッダ・パターンを前記プロセッサに転送するする段階と、
固定長ワードを前記プロセッサに送信し、前記消去されたサンプルの数を提供する段階と、
前記消去されたサンプルを交換するために擬似雑音サンプルを挿入する段階と、
を含むことを特徴とする方法。
【請求項９】
シフト・レジスタを使用して、各サンプルに対するヘッダ・パターンを処理する段階をさらに含むことを特徴とする請求項８記載の方法。
【請求項１０】
前記ヘッダ・パターンが前記ユニークなヘッダ・パターンと一致するのを防ぐために前記シフト・レジスタを使用する段階をさらに含むことを特徴とする請求項９記載の方法。
【請求項１１】
前記ユニークなヘッダ・パターンは、６バイトの長さであることを特徴とする請求項１０記載の方法。
【請求項１２】
前記バッファは、フラッシュ・メモリであることを特徴とする請求項８記載の方法。
【請求項１３】
前記固定長ワードは、２バイトの長さであることを特徴とする請求項８記載の方法。
【請求項１４】
マルチバンド・ワイヤレス通信のためのシステムにおいて、
ホスト・プロセッサと、
不揮発性のメモリ装置と、
ランダム・アクセス・メモリと、
サンプルを受信するために構成されたトランシーバと、から構成され、サンプルの同期を維持するために構成された前記システムは、
前記サンプルを複数のブロックへ分割し、
前記複数のブロックをバッファに格納し、
前記複数のブロックの各ブロックに連続カウンタを備えるヘッダを付加し、
前記通信チャネルの利用可能性をモニタし、
前記バッファが容量に達している場合、前記複数のブロックの１またはそれ以上のブロックを消去し、
１またはそれ以上の消去されたブロックを検出するために前記連続カウンタをモニタし、および
前記１またはそれ以上の消去されたブロックを交換するために擬似雑音ブロックを挿入する、
ことを特徴とするシステム。
【請求項１５】
前記データ・パケットは、狭帯域データを含むことを特徴とする請求項１４記載の方法。
【請求項１６】
前記データ・パケットを削減する段階をさらに含むことを特徴とする請求項１４記載の方法。
【請求項１７】
前記擬似雑音ブロックは、プロセッサによって生成されることを特徴とする請求項１４記載の方法。
【請求項１８】
同期バイトを前記ヘッダに付加する段階をさらに含むことを特徴とする請求項１４記載の方法。
【請求項１９】
前記データ・パケットは、広帯域データおよび狭帯域データを含むことを特徴とする請求項１４記載の方法。
【請求項２０】
前記複数のブロックの各ブロックのブロック・サイズは、１２８個のサンプルに等しいことを特徴とする請求項１４記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にマルチバンド・ワイヤレス・システムの分野に関し、さらに詳しくは、排他的でないが、広帯域および／または狭帯域環境中のマルチバンド信号を受信し、かつ処理する方法に関する。
【背景技術】
【０００２】
送信局から受信局への大量の音声、ビデオ、画像、およびデータ情報のデジタル化が技術開発によって可能となっている。新たに出現する１つのアプリケーションは、デジタル・テレビジョンの発展であり、受信局の移動に耐え得る携帯向け機器への放送サービスを含む。例えば、デジタル・ビデオ放送用携帯機器（ＤＶＢ−Ｈ）および地球−デジタル・マルチメディア放送（Ｔ−ＤＭＢ）は、モバイル用ＴＶアプリケーションに展開する一方で、デジタル・ビデオ放送−地球（ＤＶＢ−Ｔ）は、既に移動者のためのポータブル受信条件へ広く展開している。
【０００３】
ワイヤレス無線通信で局間のデータを転送する必要性は、局間および各局の内部における信頼できるデータ・ストリーム転送を要求する。転送メカニズムを基礎とすることに基づいて、あるデータ転送は、データ・ブロックのバッファおよび格納を要求する。例えば、ユニバーサル・シリアル・バス（ＵＳＢ）機器におけるアイソクロナス（ｉｓｏｃｈｒｏｎｏｕｓ）データ転送は、ソフトウェア復調器による復調の前にデジタル・テレビジョン・データを格納位置に送信するために利用される。固定バッファ位置に格納されたときの入来アイソクロナス・データの流れは、そのデータがバッファからプロセッサへ規則的に転送されない場合、バッファのオーバラン（満杯）およびデータ損失を引き起こし、データ同期問題が起こる。
【図面の簡単な説明】
【０００４】
本発明は、具体例によって示されるが、添付図面の形状に制限されるものとして描かれるものではない。
【図１】ネットワーク環境の一実施例のブロック図である。
【図２】ソフトウェア復調のためのチャネル・データをバッファする方法の実施例である。
【図３】狭帯域チャネル・データをソフトウェア復調するためのコンピュータ・システムの実施例である。
【図４】狭帯域チャネル・データをバッファするためのメモリの実施例である。
【図５】ハードウェアおよびソフトウェア復調のために構成されたモバイル装置の実施例のブロック図である。
【図６】ソフトウェア復調のためのチャネル・データをバッファする方法の別の実施例である。
【発明を実施するための形態】
【０００５】
以下の詳細な説明では、多数の特定の詳細事項が本発明についての完全な理解を提供するために述べられる。しかしながら、本発明がこれらの特定の詳細事項がなくても実施できることを当業者は理解しているであろう。他の例では、周知の方法、手順、コンポーネントおよび回路が本発明を不明瞭にしないために詳細には説明されていない。
【０００６】
コンピュータ・システムにおけるデータ損害を管理する方法およびシステムの実施例がここに記述される。以下の詳細な説明では、多数の特定の詳細事項が本発明の実施例についての完全な理解を提供するために、マルチバンド・ワイヤレス・システムにおけるデータ転送時の同期エラーを低減または除去するためのメカニズムの説明として述べられる。しかしながら、当業者は、１またはそれ以上の特定の詳細な事項がなくても、あるいは他の方法、コンポーネント、材料などで、本発明を実施できることを認識しているであろう。他の例では、周知の構造、材料あるいはオペレーションは示されず、本発明の理解を不明瞭にしないようにするために詳細には記述されていない。
【０００７】
複数のチャネルあるいはスペクトル・バンド上で通信し、中断のないブロードキャスト・ストリームを供給するマルチバンド・ワイヤレス・システム用データ同期メカニズムを提供することは、当該技術の進歩に貢献するであろう。例として、ワイヤレス局は、ホスト・プロセッサ、フラッシュ・メモリ装置、ランダム・アクセス・メモリ、およびトランシーバ（送受信機）を含み、狭帯域および広帯域チャネル上で逐次あるいは同時のいずれかで通信することができる。
【０００８】
一実施例では、データ・パケットの同期を維持する方法は、ヘッダを備える複数のブロックへ、そのデータ・パケットを分割することを含む。連続カウンタは、複数のブロックの各ブロックのヘッダに付加され、また、その複数のブロックは、バッファ・メモリに格納（記憶）される。通信チャネルの利用可能性（アベイラビリティ）はモニタされ、また、通信チャネルが利用可能でない場合、複数のブロックの１またはそれ以上が消去される。連続カウンタは、１またはそれ以上のブロックが消去されたかどうか、また、擬似雑音（ｐｓｅｕｄｏ  ｎｏｉｓｅ）サンプルが１またはそれ以上の消去されたブロックを交換するために挿入されたかどうかを判断するためにモニタされる。
【０００９】
さて、図面に移って、図１は、ここで議論される様々な実施例を実施するために利用されるネットワーク環境１００の様々なコンポーネントを示す。環境１００は、サーバ１０４、例えばワークステーションまたはデスクトップ・コンピュータのようなデスクトップ・コンピュータ１０６、ラップトップ，ネットブックまたはノート型コンピュータ１０８、例えばネットワーク・プリンタ、コピア，ファクシミリ，スキャナ，オール・イン・ワン装置などのような複製装置１１０、様々な実施例中におけるセルラー基地局を含むワイヤレス・アクセス・ポイント１１２、および、携帯情報端末、スマートフォンあるいはモバイル装置１１４のような様々な装置間の通信を可能にするネットワーク１０２を含む。ネットワーク１０２は、イントラネット，インターネット，および／または，それらの組み合わせを含むコンピュータ・ネットワークのあらゆるタイプである。
【００１０】
装置１０４−１１４は、インターネットを利用している有線および／またはワイヤレス接続を通してネットワーク１０２と通信することができる。従って、ネットワーク１０２は、有線および／またはワイヤレスネットワークである。例えば、図１に示されるように、ワイヤレス・アクセス・ポイント１１２は、例えば装置１１４のような他のワイヤレス可能な装置がネットワーク１０２と通信するができるようにするために、ネットワーク１０２に結合される。様々な実施例では、ワイヤレス・アクセス・ポイント１１２は、トラフィック管理能力を有する。また、装置１０４−１１４間で通信されるデータは、無権限アクセスを制限するために暗号化され、あるいは暗号的に安全である。
【００１１】
ネットワーク１０２は、イーサネット（登録商標）、ファースト・イーサネット（登録商標）、ギガビット・イーサネット（登録商標）、広域ネットワーク（ＷＡＮ）、ファイバ伝送データ・インターフェイス（ＦＤＤＩ）、トークン・リング、専用線、アナログ・モデム、デジタル加入者線（ＤＳＬ）、および高ビット・レートＤＳＬ（ＨＤＳＬ）、統合サービス・デジタル網ＤＳＬ（ＩＤＳＬ）、非同期転送モード（ＡＴＭ）、ケーブル・モデム、および／または、ファイヤ・ワイヤのようなあらゆる通信プロトコル利用することができる。
【００１２】
ネットワーク１０２によるワイヤレス通信は、以下の１またはそれ以上に従うことができる。すなわち、ワイヤレス・ローカル・エリア・ネットワーク（ＷＬＡＮ）、ワイヤレス広域ネットワーク（ＷＷＡＮ）、符号分割多重接続（ＣＤＭＡ）セルラー無線電話通信システム、グローバル移動体通信システム（ＧＳＭ）セルラー無線電話システム、北米デジタル・セルラー（ＮＡＤＣ）セルラー無線電話システム、時分割多元接続（ＴＤＭＡ）システム、拡張ＴＤＭＡ（Ｅ−ＴＤＭＡ）セルラー無線電話システム、広帯域ＣＤＭＡ（ＷＣＤＭＡ）のような第３世代プロジェクト（３Ｇ）システム。さらに、ネットワーク通信は、ネットワーク・インターフェイス・カード（ＮＩＣ）あるいは外部ネットワーク・インターフェイス装置（例えば、個別の物理的な格納装置（ストレージ）および／またはそれに結合されたコンピュータ・システムの電源を有する）のような内部ネットワーク・インターフェイス装置（例えば、コンピュータ・システムと同じ物理的な格納装置を示す）によって確立されてもよい。
【００１３】
さらに、デジタル・テレビジョン信号は、ネットワーク環境１００における広帯域および狭帯域チャネルに沿って通信される。５〜８メガヘルツ（ＭＨｚ）に及ぶ周波数中の広帯域チャネル・データの例は、デジタル・ビデオ放送−地球（ＤＶＢ−Ｔ）および／またはデジタル・ビデオ放送用携帯機器（ＤＶＢ−Ｈ）のアプリケーションを含む。実質的に１．５ＭＨｚの周波数あるいは近接した周波数での狭帯域チャネル・データの例は、地球−デジタル・マルチメディア放送（Ｔ−ＤＭＢ）、デジタル・オーディオ放送（ＤＡＢ）、および単一セグメント総合デジタル放送−地球（ＩＳＤＢ−Ｔ）のアプリケーションを含む。狭帯域および／または広帯域チャネル・データは、装置１０４−１１４の１またはそれ以上によってハードウェアおよび／またはソフトウェア手段を使用して復調される。
【００１４】
図２は、チャネル・データのソフトウェア復調のための一実施例のフローチャートである。この実施例では、チャネル・データは、ホスト・プロセッサを使用して、アルゴリズムによって復調される。フローチャートの要素２００では、データ・パケットは、モバイルの装置１１４によって受信される。要素２０５で、そのデータ・パケットは、選択されたサイズの複数のブロック、例えば１２８個のサンプルのブロック・サイズに分割されるが、本実施例ではそのように制限されることはない。他の実施例では、そのブロック・サイズは、６４個のサンプルあるいは２５６個のサンプルのサイズであってもよい。要素２１０，２１５で、その複数のブロックは、バッファに格納され、ヘッダが各ブロックに付加される。そのバッファは、逐次アクセスメモリ（ＳＡＭ）のような揮発性メモリ・スペースあるいはフラッシュ・メモリのような不揮発性メモリ・スペースの形式のハードウェア・データ収集モジュール（ＨＤＣＭ）である。
【００１５】
連続カウンタが各ヘッダ中に提供され、それは、一実施例では、１バイトの幅であるが、本実施例ではそのように制限されることはない。別の実施例では、そのヘッダは、各ヘッダに提供された情報に依存して、数ブロックの幅であってもよい。この例における連続カウンタは、１〜２５５を計数し、２５５からゼロ（０）値に戻るモジュロ２５６カウンタである。連続カウンタは、ブロックが転送される毎に１だけ増加される。
【００１６】
要素２２０において、ユニバーサル・シリアル・バス（ＵＳＢ）によって提供される経路のような通信チャネルの利用可能性がモニタされる。バッファは、バッファ・スペースが所定の容量に達するまで、入来データ・パケットを集めて格納することを継続するが、その容量はバッファの全格納容量あるいは総容積のある部分に等しい。要素２２５において、バッファが容量に達した時に通信チャネルがビジーである場合、その後、１またはそれ以上のブロックは、要素２４０においてその通信チャネルが利用可能になるまで、要素２３０で消去される。バッファに容量にあり、通信チャネルが利用可能な場合、要素２４０で複数のブロックは転送される。その複数ブロックのヘッダ中の連続カウンタは、一実施例では、要素２４５でホスト・プロセッサによってモニタされ、要素２５０中で示されるように、１またはそれ以上のブロックが消去されていたかどうかを判断する。ホスト・プロセッサは、連続カウンタ方程式に記述された関係によって、複数の消失したブロックを判断する。
【００１７】
Ｂｌｏｃｋｓ＿ｌｏｓｔ＝ＣＣ（ｎ）−ＣＣ（ｎ−１）−１ｍｏｄ２５６
ここで、ＣＣ（ｎ）＝ｎ番目のデータ・ブロックの連続カウンタ、かつｍｏｄ＝ｍｏｄｕｌｏ
第１の例として、ＣＣ（ｎ）＝１かつＣＣ（ｎ−１）＝２５４であるなら、方程式は、Ｂｌｏｃｋｓ＿ｌｏｓｔに対して２の値を返す。
【００１８】
第２の例として、ＣＣ（ｎ）＝２５４かつＣＣ（ｎ−１）＝２５４であるなら、そのときは、Ｂｌｏｃｋｓ＿ｌｏｓｔ＝２５５の最小数である。
【００１９】
別の例として、２５６個のブロックが失われる場合、連続カウンタ方程式は、Ｂｌｏｃｋｓ＿ｌｏｓｔ＝０の値を返すであろう。この時点で、同期は失われてもよい。これは、１バイトあるいは８ビット以上の長さである連続カウンタを選ぶことにより克服される。別の実施例では、連続カウンタに加えて同期バイトがヘッダに追加され、１３０バイトのサンプルとなるであろう。この実施例では、ホスト・プロセッサは、連続したバイトを受け取り、１３０サンプル離れたいくつかの連続した同期バイトにロックした後、開始点でバイト同期を達成しなければならないだろう。同期バイトの追加によって、ホスト・プロセッサによって実行されるソフトウェア復調器は、同期における損失なしに動作することができる。
【００２０】
ブロックが消去されていたと判断する場合、その時要素２５５で消去されたブロックに擬似雑音サンプルが入れ替えられて挿入され、同期された一組のブロックを提供する。一実施例では、その擬似雑音サンプルは、データ・ブロックと同じ分散を備える通常の分散ゼロ平均擬似雑音サンプル（ｄｉｓｔｒｉｂｕｔｅｄ  ｚｅｒｏ−ｍｅａｎ  ｐｓｅｕｄｏ−ｎｏｉｓｅ  ｓａｍｐｌｅｓ）である。同期された一組のブロックは、要素２６０で，ソフトウェア復調器を使用してホスト・プロセッサによって処理され、復調された伝送ストリームを提供する。復調されたストリームの例は、ＤＡＢ、Ｔ−ＤＭＢあるいはＩＳＤＢ−Ｔの伝送ストリームの１またはそれ以上からなる。
【００２１】
図３は、様々な実施例に従って、コンピュータ・システム３００のブロック図を示す。図１に関して議論された装置１０４−１１４の１またはそれ以上は、コンピュータ・システム３００の１またはそれ以上コンポーネントから構成されていてもよい。コンピュータ・システム３００は、１またはそれ以上のホスト・プロセッサあるいは中央処理装置（ＣＰＵ）３０２（ここでは集合的に「（複数の）プロセッサ３０２」あるいはより一般に「プロセッサ３０２」と称される）を含み、相互接続ネットワークまたはバス３０４に結合される。プロセッサ３０２は、多目的プロセッサ、ネットワーク・プロセサ（コンピュータ・ネットワーク（１０２）上で通信されるデータを処理することができる）などのあらゆるタイプのプロセッサ（縮小命令セット・コンピュータ（ＲＩＳＣ）プロセッサあるいは複雑命令セット・コンピュータ（ＣＩＳＣ）を含む）であってよい。さらに、プロセッサ３０２は、単一または複数のコア設計を有していてもよい。複数のコア設計を備えるプロセッサ３０２は、同じ集積回路（ＩＣ）ダイ上に異なるタイプのプロセッサ・コアを集積する。また、複数のコア設計を備えるプロセッサ３０２は、対称または非対称のマルチプロセッサとして実装されてもよい。
【００２２】
プロセッサ３０２は、１またはそれ以上のキャッシュ３０３を含み、様々な実施例中で、そのキャッシュは専用であっても、および／または、共用であってもよい。一般に、キャッシュは、別のところに格納され、あるいは事前に計算されたオリジナルなデータに対応するデータを格納する。メモリ・アクセスへのレイテンシを縮小するために、データをキャッシュに格納すれば、将来の使用は、再度オリジナル・データを再フェッチしあるいは再計算するよりもキャッシュされたコピーをアクセスすることによりなされる。キャッシュ３０３は、１レベル（Ｌ１）のキャッシュ、２レベル（Ｌ２）のキャッシュ、３レベル（Ｌ−３）のキャッシュ、中間レベルのキャッシュ、最終レベルのキャッシュ（ＬＬＣ）などあらゆるタイプのキャッシュであってよく、コンピュータ・システム３００の１またはそれ以上のコンポーネントによって利用される電子データ（例えば、命令を含む）を格納する。
【００２３】
チップ・セット３０６は、相互接続ネットワーク３０４にさらに結合される。チップ・セット３０６は、メモリ制御ハブ（ＭＣＨ）３０８を含む。ＭＣＨ３０８は、メモリ３１２に結合されるメモリ制御器３１０を含む。メモリ３１２は、例えば、プロセッサ３０２あるいはコンピュータ・システム３００のコンポーネントと連絡する他の装置によって実行される一連の命令を含むデータを格納する。様々な実施例では、メモリ３１２は、ランダム・アクセス・メモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭなど（ＳＲＡＭ）のような１またはそれ以上の揮発性格納装置、あるいはメモリ装置を含む。不揮発性メモリもハードディスクのように利用される。複数のプロセッサおよび／または複数のシステム・メモリのような追加の装置が相互接続ネットワーク３０４に結合されてもよい。
【００２４】
さらに、ＭＣＨ３０８は、例えばグラフィック・アクセラレータを介して表示装置３１６に結合されるグラフィック・インターフェイス３１４を含む。様々な実施例では、グラフィック・インターフェイス３１４は、アクセラレイテッド・グラフィック・ポート（ＡＧＰ）を介して表示装置３１６に結合される。様々な実施例では、表示装置３１６は、例えば平面パネル・ディスプレイまたは陰極線管を含むが、例えばビデオ・メモリあるいはシステム・メモリのような格納装置に格納されたイメージのデジタル表現をディスプレイによって解読し表示することのできる表示信号に変換する信号変換器を通ってグラフィック・インターフェイス３１４に結合される。表示装置３１６によって生成された表示信号は、様々な制御装置を通過し、その後表示装置３１６によって解読され、続いて表示される。
【００２５】
図３に示されるように、ハブ・インターフェイス３１８は、ＭＣＨ３０８を入出力制御ハブ（ＩＣＨ）３２０に結合する。ＩＣＨ３２０は、コンピュータ・システム３００に結合された入出力（Ｉ／Ｏ）装置にインターフェイスを提供する。ＩＣＨ３２０は、周辺装置相互接続（ＰＣＩ）ブリッジ、ユニバーサル・シリアル・バス（ＵＳＢ）制御装置のような周辺ブリッジあるいはホスト制御装置３２４を通してバス３２２に結合される。制御装置３２４は、プロセッサ３０２と周辺装置との間のデータ経路を提供する。他のタイプの構成が用いられてもよい。また、複数のバスが、例えば複数のブリッジあるいは制御装置を通してＩＣＨ３２０に結合されてもよい。例えば、バス３２２は、１９９８年９月２３日のユニバーサル・シリアル・バス仕様の修正１．１、または２０００年４月２７日のユニバーサル・シリアル・バス仕様の修正２．０（いずれかの修正に対する後続の補正を含む）に準拠する。あるいは、バス３２２は、他のタイプおよびバス・システムの構成を含む。さらに、様々な実施例において、ＩＣＨ３２０に結合された他の周辺装置は、インテグレイテッド・ドライブ・エレクトロニクス（ＩＤＥ）あるいはスモール・コンピュータ・システム・インターフェイス（ＳＣＳＩ）のハードドライブ、ＵＳＢポート、キーボード、マウス、パラレルポート、シリアルポート、フレキシブル・ディスク・ドライブ、デジタル出力サポート（例えば、デジタル・ビデオ・インターフェイス（ＤＶＩ））などを含む。
【００２６】
バス３２２は、オーディオ装置３２６、１またはそれ以上のディスク・ドライブ３２８、および通信装置３３０に結合され、その通信装置は、様々な実施例では、ネットワーク・インターフェイス・カード（ＮＩＣ）あるいはチューナ・カードである。他の装置がバス３２２に結合されてもよい。また、通信装置３３０のような様々なコンポーネントは、様々な実施例におけるＭＣＨ３０８に結合される。加えて、プロセッサ３０２およびＭＣＨ３０８は、単一チップを形成するために組み合わせられてもよい。
【００２７】
さらに、コンピュータ・システム３００は、揮発性、および／または、不揮発性メモリあるいは格納装置を含む。例えば、不揮発性メモリは、次の１またはそれ以上のもの、すなわち、リード・オンリ・メモリ（ＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気的ＥＰＲＯＭ（ＥＥＰＲＯＭ）、ディスク・ドライブ（例えば、３２８）、フレキシブル・ディスク、コンパクト・ディスクＲＯＭ（ＣＤ−ＲＯＭ）、デジタル用途ディスク（ＤＶＤ）、フラッシュ・メモリ、光磁気ディスク、あるいは命令を含む電子データを格納することのできる他のタイプの不揮発性の機械読取り可能な媒体を含む。
【００２８】
メモリ３１２は、様々な実施例において次の１またはそれ以上のもの、すなわち、オペレーティング・システム（Ｏ／Ｓ）３３２、アプリケーション３３４、デバイス・ドライバ３３６、バッファ３３８、機能ドライバ３４０、および／またはプロトコル・ドライバ３４２を含む。メモリ３１２に格納されたプログラムおよび／またはデータは、メモリ管理オペレーションの一部としてディスク・ドライブ３２８へスワップ（交換）される。プロセッサ３０２は、様々な命令を実行し、ネットワーク１０２に結合された（図１の装置１０４−１１４のような）１またはそれ以上の演算装置で１またはそれ以上のパケット３４６を処理する。様々な実施例では、パケットは、１またはそれ以上の一連のシンボルおよび／または値であり、少なくとも１人のセンダーからから少なくとも１つのレシーバに（例えば、ネットワーク１０２のようなネットワークを介して）送信された１またはそれ以上の電気的信号によってエンコードされている。例えば、各パケット３４６はヘッダ３４６Ａを有し、そのヘッダはパケット３４６のルーティングおよび／または処理のために利用され、連続カウンタ、同期バイト、発信元アドレス、宛先アドレス、パケット・タイプなどからなる情報を含む。また、各パケットはペイロード３４６Ｂを有し、そのペイロードはネットワーク１０２のようなコンピュータ・ネットワークを介して様々な演算装置、例えば、図１の装置１０４−１１４間で転送されるパケットの生データおよびコンテンツを含む。
【００２９】
様々な実施例において、アプリケーション３３４は、コンピュータ・システム３００の様々なコンポーネント、例えば、デバイス・ドライバ３３６および／または機能ドライバ３４０を通して通信するためにＯ／Ｓ３３２を利用する。例えば、デバイス・ドライバ３３６および機能ドライバ３４０は、異なるカテゴリに対して使用され、例えば、デバイス・ドライバ３３６は総括的なデバイス・クラス属性を管理するが、機能ドライバ３４０はデバイス特定属性（ＵＳＢの特定コマンドのような）を管理する。様々な実施例では、デバイス・ドライバ３３６は、パケット・ペイロード３４６Ｂのようなパケット・データを格納するために１またはそれ以上のバッファ（３３８Ａから３３８Ｍ）を割り付ける。１またはそれ以上のディスクリプタ（図示せず）がバッファ３３８をそれぞれ指し示す。様々な実施例では、１またはそれ以上のバッファは、循環リング・バッファとして実装される。また、１またはそれ以上のバッファ３３８は、様々な実施例において、隣接したメモリ・ページに対応する。さらに、プロトコル・ドライバ３４２は、１またはそれ以上のプロトコルに従って、ネットワーク１０２上で通信されるパケットを処理するためのプロトコル・ドライバを実装する。様々な実施例に従って、ここで議論されるように、「機能ドライバ３４０」への言及は、例えば、デバイス・ドライバ３３６、機能ドライバ３４０および／またはプロトコル・ドライバ３４２を含む他のタイプのドライバを参照してもよいし、参照しなくてもよい。
【００３０】
図３に示されるように、通信装置３３０は、ネットワーク１０２を介して遠隔装置へおよび遠隔装置からのネットワーク・パケットを送信し、受信するための物理通信層を実行するためのネットワーク・プロトコル層３５０を含む。ネットワーク１０２は、図１に関して議論されたようなあらゆるタイプのコンピュータ・ネットワークを含む。通信装置３３０は、ダイレクト・メモリ・アクセス（ＤＭＡ）エンジン３５２を含み、ネットワーク１０２を介してデータを送信および／または受信するためにパケット・データをバッファ３３８に書き込む。さらに、通信装置３３０は、制御装置３５４を含み、その制御装置は例えばプログラム可能なプロセッサのようなロジックを含み、通信装置に関連する動作を行なう。様々な実施例では、制御装置３５４は、ＭＡＣ（メディア・アクセス制御）コンポーネントである。さらに、通信装置３３０は、あらゆるタイプの揮発性／不揮発性メモリのようなメモリ３５６（例えば、１またはそれ以上のキャッシュおよび／またはメモリ３１２に関して議論された他のメモリ・タイプ）を含む。
【００３１】
様々な実施例では、通信装置３３０は、ファームウェア（あるいは、ソフトウェア）を格納するためのファームウェア格納装置３６０を含み、通信装置３３０のコンポーネントによって実行される様々な機能の管理に利用される。格納装置３６０は、不揮発性の格納装置のようなあらゆるタイプの格納装置である。例えば、格納装置３６０は、次の１またはそれ以上のもの、すなわち、
ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ディスク・ドライブ、フレキシブル・ディスク、ＣＤ−ＲＯＭ、ＤＶＤ、フラッシュ・メモリ、光磁気ディスク、あるいは、命令を含む電子データを格納することのできる他のタイプの不揮発性の機械読取り可能な媒体を含む。
【００３２】
様々な実施例では、通信装置３３０は、マルチメディア情報を受信し処理するために構成されたＵＳＢチューナ・カードを含み、あるいは構成される。チューナ・カードは、図１に記載されたいずれかの装置１０４−１１４のためのデジタル・テレビジョンを受信するコンポーネントを含む。様々な実施例では、チューナ・カードは、さらにハードディスク上にマルチメディア情報を記録することを可能にするビデオキャプチャ・カードとして機能してもよい。様々な実施例では、そのチューナ・カードは、ＵＳＢエキスプレス・カード、ＵＳＢミニ・カード、ＵＳＢハーフ・ミニカードあるいは他の適切なＵＳＢフォームの機能カードを含む。様々な実施例では、チューナ・カードは、レシーバ、チューナ、ハードウェア復調器、およびＡＤ変換器を含む。
【００３３】
様々な実施例において、マルチメディア情報は、ネットワーク１０２を介してメディア・ソース（図示せず）から通信装置３３０へ送られたデジタル・テレビジョン信号を含む。そのマルチメディア情報は、所定の変調レートのための固定ビット・レート信号、符号化率、およびガード・インターバルからなる。そのマルチメディア情報は、映画および関連するオーディオ情報の総括的なコーディング（ＭＰＥＧ）を含んでいてもよい。様々な実施例では、そのマルチメディア情報は、ＤＡＢ，Ｔ−ＤＭＢ，ＩＳＤＢ−Ｔ，ＤＶＢ−ｔ／ｈ，またはＭＰＥＧ２伝送ストリームを含む。そのマルチメディア情報は、そのメディア・ソースから受け取られた個々の物理チャネルに複数のデジタル・テレビジョン・チャネルあるいは論理ストリームを含んでいてもよい。例えば、マルチメディア情報は、単一の物理チャネルにＢＢＣ  １，ＢＢＣ  ２，ＢＢＣ  ３，およびＢＢＣ  ４のような様々なデジタル・テレビジョン・チャネルを含む。
【００３４】
様々な実施例において、受信したマルチメディア情報は、チューナ・カードのＡＤ変換器を使用して、アナログ信号からデジタル信号に変換される。一実施例では、さらに広帯域信号の復調がハードウェア復調器を使用して、チューナ・カードで行われる。復調は、そのチューナ・カード内で行うが、復調の一部がチューナ・カードの外部、例えばＣＰＵ３０２によって行われてもよい。様々な実施例では、フィルタされたマルチメディア情報は、通信装置３３０からバス３２２を経由してチップ・セット３０６へ送られる。通信装置３３０中で行なわれた処理の結果、たとえメディア・ソースから受け取られた情報が固定ビット・レート・データを含んでいても、バス３２２を経由してチップ・セット３０６へ送られたマルチメディア情報は、可変ビット・レート・データを含む。
【００３５】
様々な実施例では、バス３２２は、ＵＳＢバスを含む。アイソクロナス・モードは、ＵＳＢ装置の４つのデータ・フロー・タイプ（他は、Ｃｏｎｔｒｏｌ，Ｉｎｔｅｒｒｕｐｔ，Ｂｕｌｋ）の１つである。アイソクロナス・モードは、ビデオあるいはオーディオ・ソースのようなマルチメディア・データ型を流すために一般に使用される。アイソクロナス・モードにおいて、装置は、マルチメディア・アプリケーションにとって望ましいアイソクロナス・モードを形成する帯域幅をバス上に確保することができる。様々な実施例では、ここに記述されたデータ転送は、アイソクロナス・モードを利用する。
【００３６】
図４は、メモリ４００の一実施例を示す。メモリ４００は、例えば図３に示されるメモリ３１２あるいはメモリ３５６に示される。図４に示されるように、メモリ４００は、デバイス・ドライバ４３６、ＵＳＢバッファ４３８Ａ、メディア・バッファ４３８Ｂ、およびメディア制御エンジン４４０のような複数の要素を含む。しかしながら、実施例は、図４に示される要素に制限されるものではない。
【００３７】
例えば、デバイス・ドライバ４３６は、メモリ４００とコンピュータ・システム３００のいずれかの要素との間の相互作用を扱うコンポーネントを含む。デバイス・ドライバ４３６は、バッファ４３８Ａ，４３８Ｂを割り付けかつ管理する責任を有する。様々な実施例では、デバイス・ドライバ４３６は、ＵＳＢ処理のスタックが許す限り大きいＵＳＢバッファ４３８Ａを割り付ける。デバイス・ドライバ４３６は、さらにメディア・バッファに４３８Ｂを割り付けることができ、そのメディア・バッファ４３８Ｂのサイズは、マルチメディア情報が検索されるときのレイテンシを縮小するか除去するために選択される。
【００３８】
ＵＳＢバッファ４３８Ａは、マルチメディア情報を格納するためにメモリの持続的または一時的な割付けを含む。図４に示されるように、ＵＳＢバッファ４３８Ａに格納されたマルチメディア情報は、隣接しているか、隣接していないデータを含む。アイソクロナス・モードで動作するシステムがＵＳＢ４３８Ａに格納されたマルチメディア情報を検索する試みを行う場合、隣接しているデータは、同期の損失なしに規則的な方法で転送され、また、隣接していないデータは、本発明の実施例によって提供されるような隣接するデータに変形される。
【００３９】
様々な実施例では、デバイス・ドライバ４３６は、ＵＳＢバッファ４３８Ａからメディア・バッファ４３８Ｂへマルチメディア情報のコピーの製作を制御する。隣接していないデータの場合では、マルチメディア情報の損失したブロックは、プロセッサ３０２でソフトウェア復調器によって処理されるとき、図２の要素２５５で提供されるような擬似雑音サンプルと取り替えられ、潜在的な同期エラーを解決する。擬似雑音サンプルは、メモリに保存されたノイズ・サンプルであり、および／または、擬似雑音サンプルは、任意の擬似数生成器（図示せず）を使用して生成されてもよい。
【００４０】
メディア制御エンジン４４０は、マルチメディア情報に対するリクエストを制御するコンポーネントを含む。メディア制御エンジン４４０の例は、ワシントン州レドモンド所在のマイクロソフト（登録商標）社によるＭｉｃｒｏｓｏｆｔ  ＤｉｒｅｃｔＳｈｏｗアプリケーション・プログラム・インターフェイス（ＡＰＩ）である。ＤｉｒｅｃｔＳｈｏｗは、アプリケーションが高品質ビデオおよびオーディオ再生、あるいはキャプチャを行うことを可能にするマイクロソフト・ウィンドウズ（登録商標）のプラットフォーム用メディア・ストリーミング・アーキテクチャである。様々な実施例では、メディア制御エンジン４４０は、特定のマルチメディア情報、例えば特定のテレビジョン・チャネルあるいはプログラムに対するリクエストを履行するために、そのリクエストされたマルチメディア・データをメディア・バッファ４３８Ｂから検索し、次の処理および再生のためにそのリクエストされた情報をプロセッサ３０２に供給する。
【００４１】
図５は、ハードウェアおよびソフトウェア復調のために構成されたモバイル装置の実施例のブロック図である。チューナ５０２は、広帯域および狭帯域信号のような１またはそれ以上のデジタル・テレビジョン信号を処理するために提供される。デジタル・テレビジョン信号は、有線またはワイヤレスな放送を用いてチューナ５０２に伝送される。チューナ５０２からの出力は、入力アナログ電圧をデジタル出力に変換するためにＡＤ変換器５０４に向けられ、そのデジタル出力は、自動利得制御デジタル出力モジュール５０６および／またはチャネル・フィルタ／自動利得制御モジュール５０８に送られる。チャネル・フィルタ５０８は、広帯域チャネル・データおよび狭帯域チャネル・データ中の入来データ・ストリームを分解するように選択的に設計されている。この実施例では、ＤＶＢ−Ｔデータおよび／またはＤＶＢ−Ｈチャネル・データのような広帯域チャネル・データは、ハードウェア復調器５１０に向けられる。別の実施例（図示せず）では、広帯域の復調は、ハードウェア復調器５１０によって提供されるハードウェア復調に置き換えて、あるいはその復調と協力する形でソフトウェア復調を通して行われる。その後、復調された広帯域データは、ＵＳＢインターフェイス５１６に向けられる。
【００４２】
狭帯域チャネル・データは、ソフトウェア復調に供給されるサンプル数を削減するためにデシメーション５１２に向けられる。デシメーション（ｄｅｃｉｍａｔｉｏｎ）は、予測可能な方法および規則的な方法でハードウェア・データ収集モジュール５１４に転送されるサンプル数を削減する（間引く）。別の実施例（図示せず）では、ソフトウェアとプロセッサの能力がサンプリングされたデータのより高いスループットを可能にするために、復調５１２は除去されるか縮小される。ハードウェア・データ収集モジュール（ＨＤＣＭ）５１４は、メモリ・モジュールかバッファであり、既に図２に記述されたように動作する。ホスト・プロセッサ５１８がソフトウェア復調器を使用して、狭帯域データを復調するために通信チャネルが利用可能な場合、ＨＤＣＭ５１４からのバッファされたデータは、ＵＳＢインターフェイス５１６へ転送される。
【００４３】
図６は、ソフトウェア復調するためにチャネル・データをバッファする方法の別の実施例である。図６の要素６００で、不連続なサンプルのストリームを示すために、ユニークな（唯一の）ヘッダ・パターンがプロセッサで確立される。例えば、ユニークなヘッダ・パターンは、プロセッサの状態にフラグを立てるか警報するために使用されるヘッダ中の予め定められた６バイトのワードである。図３のプロセッサ３０２のように、プロセッサにフラグを立てることによって、プロセッサは、隣接していないデータ・ストリーム、あるいはデータ中の切れ目について通知を受ける。ユニークなヘッダ・パターンは、他の実施例では、６バイト未満であってもあるいは６バイトを越えていてもよい。必要に応じて、シフト・レジスタは、ヘッダがユニークなヘッダ・パターンと一致するのを防ぐために適用される。シフト・レジスタが適用される場合、通常のヘッダ・データがシフト・レジスタを通して渡される。シフト・レジスタによって処理された通常のヘッダ・データがユニークなヘッダ・パターンと等しくなっている場合、そのシフト・レジスタは、シフト・レジスタがあらかじめ定義されたユニークなヘッダ・パターンと等しくなるのを止めるためにビットをトグルする。
【００４４】
要素６０５で、複数のサンプルは、図５のＨＤＣＭ５１４のようなバッファで受け取られる。要素６１０で、バッファが容量に達するまで、複数のサンプルは、バッファに収集される。バッファが容量に達したとき、図５のＵＳＢインターフェイス５１６のような通信チャネルがビジーならば、要素６１５で、１またはそれ以上のサンプルが消去される。そうでなければ、要素６４０で、そのサンプルは、隣接するサンプル・ストリームを処理するために、ソフトウェア復調器に向けられる。消去されたサンプルの数は、要素６２０で決定され、そのユニークなヘッダ・パターンは、要素６２５で、隣接していないデータ・ストリームを示すためにプロセッサ３０２に転送される。消去されたサンプルの数を示すために、要素６３０で、固定長ワードがプロセッサ３０２に送信される。一実施例では、固定長ワードは、２バイトの長さである。他の実施例では、固定長ワードは、１バイトの長さであるか、あるいは２バイトの長さより大きい。要素６３５で、プロセッサによる擬似雑音サンプルの生成を通じてあるいは消去されたサンプルをメモリ位置からの擬似雑音サンプルと置き換えることのいずれかにより、消去されたサンプルを置き換えるために、擬似雑音サンプルが挿入され、隣接するサンプル・ストリームを提供する。隣接するサンプル・ストリームは、要素６４０で、プロセッサ３０２によって処理される。
【００４５】
本発明の実施例は、ある処理コア（コンピュータのプロセッサ）の形で実行されるソフトウェア・プログラムをサポートするために使用されてもよく、そうでない場合、機械読取り可能な媒体上であるいは媒体内で実現され、あるいは認識されてもよい。機械読取り可能な媒体は、機械（例えばコンピュータ）によって読取り可能な形式で情報を格納するためのあらゆるメカニズムも含む。例えば、機械読取り可能な媒体は、リード・オンリ・メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、磁気ディスク格納媒体、光記憶媒体などを含む。
【００４６】
本明細書の全体にわたる「一実施例」あるいは「実施例」への参照は、本実施例に関して記述された特定の特徴、構造、あるいは特性は、本発明の少なくとも一つの実施例に含まれることを意味する。このように、本明細書の全体に亘る様々な場所における、語句「一実施例」あるいは「実施例」の出現は、必ずしも全てが同じ実施例を参照しているものではない。さらに、特定の特徴、構造、あるいは特性は、１またはそれ以上の実施例中であらゆる適切な方法で組み合わせられてもよい。
【００４７】
上記の詳細な説明に照らして、本発明に対する修正がなされてもよい。以下の請求項で使用される用語は、本明細書と図面に示された特定の実施例に本発明を制限するために解釈されるべきではない。むしろ、本発明の範囲は、以下の請求項によって完全に決められるべきであり、それはクレーム解釈の確立した原理に従って解釈されるべきである。
【符号の説明】
【００４８】
１００  ネットワーク環境
１０４  サーバ
１０６  デスクトップ・コンピュータ
１０８  ラップトップ
１１２  ワイヤレス・アクセス・ポイント
１１４  モバイル装置
３０２  ＣＰＵ
３０６  チップ・セット
３１２  メモリ
３３０  通信装置
３３８  バッファ
３４６  パケット
３４６Ａ  ヘッダ
３４６Ｂ  ペイロード
４３６  デバイス・ドライバ
４３８Ａ  ＵＳＢバッファ
４３８Ｂ  メディア・バッファ
４４０  メディア制御エンジン
５０２  チューナ
５０４  ＡＤＣ
５０６  ＡＧＣ
５０８  チャネル・フィルタおよびＡＧＣ
５１０  ＤＶＢ−Ｔ／Ｈハードウェア復調器
５１２  デシメーション
５１６  ＵＳＢインターフェイス
５１８  ホスト・プロセッサ：ソフトウェア復調器
【図１】
2010148101.tif 000003
【図２】
2010148101.tif 000004
【図３】
2010148101.tif 000005
【図４】
2010148101.tif 000006
【図５】
2010148101.tif 000007
【図６】
2010148101.tif 000008
【外国語明細書】
2010148101000001.pdf