(57)【特許請求の範囲】
【請求項１】
データ処理システムで実行するオペレーティングシステムから、リモートソースへ送信するためのデータを受信するステップと、
データを変調させ、送信するための複数のデータシンボルを形成するステップと、
データシンボルをバッファに格納するステップと、
オペレーティングシステムに関連付けられる遅延によって引き起こされるバッファ内のシンボルの不在を判定するステップと、
不在シンボルがデータシンボルであるかまたは同期シンボルであるかを判定するステップと、
不在シンボルがデータシンボルであるという判定に応答してアイドルデータシンボルを送信し、不在シンボルが同期シンボルであるという判定に応答してアイドル同期シンボルを送信するステップとを含む、方法。
【請求項２】
複数の同期シンボルを生成するステップと、
予め定められた数のデータシンボルの後に複数の同期シンボルのうちの１つを挿入するステップと、
データシンボルと共に同期シンボルをバッファに格納するステップとをさらに含む、請求項１に記載の方法。
【請求項３】
不在シンボルがデータシンボルであるかまたは同期シンボルであるかを判定するステップは、
バッファに格納されるとデータおよび同期シンボルをカウントするステップを含む、請求項２に記載の方法。
【請求項４】
バッファ内に格納された際のデータおよび同期シンボルのカウントに基づいて、アイドルデータまたは同期シンボルを生成するステップをさらに含む、請求項３に記載の方法。
【請求項５】
送信されたアイドルデータシンボルに関連付けられる情報をリモートソースへ送信するステップをさらに含む、請求項１に記載の方法。
【請求項６】
プロセッサベースのシステムで実行するオペレーティングシステムから、リモートソースへ送信するためのデータを受信するよう適合されたプロセッサと、
データを変調させて複数のデータシンボルを形成し、データシンボルをバッファに格納し、オペレーティングシステムからの遅延した応答に起因するバッファ内のシンボルの不在を判定し、不在シンボルがデータシンボルであるかまたは同期シンボルであるかを判定
し、不在シンボルがデータシンボルであるという判定に応答してアイドルデータシンボルを送信し、不在シンボルが同期シンボルであるという判定に応答してアイドル同期シンボルを送信するよう適合されたトランスミッタとを含む、装置。
【請求項７】
トランスミッタがさらに、複数の同期シンボルを生成し、予め定められた数のデータシンボルの後に複数の同期シンボルのうちの１つを挿入し、データシンボルと共に同期シンボルをバッファ内に格納するよう適合された、請求項６に記載の装置。
【請求項８】
不在シンボルがデータシンボルであるかまたは同期シンボルであるかを判定するよう適合されたトランスミッタが、データおよび同期シンボルがバッファに格納されるとそれらのデータおよび同期シンボルをカウントするよう適合されたトランスミッタを含む、請求項７に記載の装置。
【請求項９】
トランスミッタが、データおよび同期シンボルがバッファ内に格納される際のデータおよび同期シンボルのカウントに基づいて、アイドルデータまたは同期シンボルを生成することをさらに含む、請求項８に記載の装置。
【請求項１０】
プロセッサが、送信されたアイドルデータシンボルに関連付けられる情報をリモートソースへ送信することをさらに含む、請求項６に記載の装置。
【請求項１１】
プロセッサベースのシステムで実行するオペレーティングシステムから、リモートソースへ送信するためのデータを受信するための手段と、
データを変調させ、送信するための複数のデータシンボルを形成するための手段と、
データシンボルをバッファに格納するための手段と、
オペレーティングシステムに関連付けられる遅延によって引き起こされるバッファ内のシンボルの不在を判定するための手段と、
不在シンボルがデータシンボルであるかまたは同期シンボルであるかを判定するための手段と、
不在シンボルがデータシンボルであるという判定に応答してアイドルデータシンボルを送信し、不在シンボルが同期シンボルであるという判定に応答してアイドル同期シンボルを送信するための手段とを含む、装置。
【請求項１２】
複数の同期シンボルを生成するための手段と、
予め定められた数のデータシンボルの後に複数の同期シンボルのうちの１つを挿入するための手段と、
データシンボルと共に同期シンボルをバッファに格納するための手段とをさらに含む、請求項１１に記載の装置。
【請求項１３】
不在シンボルがデータシンボルであるかまたは同期シンボルであるかを判定するための手段は、
バッファに格納されるとデータおよび同期シンボルをカウントするための手段を含む、請求項１２に記載の装置。
【請求項１４】
バッファ内に格納された際のデータおよび同期シンボルのカウントに基づいて、アイドルデータまたは同期シンボルを生成する手段をさらに含む、請求項１３に記載の装置。
【請求項１５】
送信されたアイドルデータシンボルに関連付けられる情報をリモートソースへ送信するための手段をさらに含む、請求項１１に記載の装置。
【発明の詳細な説明】
【０００１】
【技術分野】
本発明は、広義にはモデム通信に関し、より具体的には、ソフトウェアベースの非対称デジタル加入者線（ＡＤＳＬ）モデムにおいてデータサンプルをバッファリングするための方法および装置に関する。
【０００２】
【背景技術】
通信システム、特に電話通信において、加入者ステーションと中央交換局との間で２線式双方向通信チャネルを介して信号を送信することは慣用の方法である。主に音声通信用に設計された従来型電話システム（ＰＯＴＳ）がもたらすデータ送信速度は、多くのモデムアプリケーションに対して不十分なものである。高速通信の需要を満たすために、設計者らは既存のネットワークインフラをうまく利用した革新的かつ費用効果的な解決策を模索している。電話通信産業において既存の電話配線ネットワークを利用する進歩した技術がいくつか提案されている。これらの技術の１つはデジタル加入者線（ＤＳＬ）技術である。ＤＳＬ技術は、ブロードバンド通信のために既存の電話線ネットワークを用いるものである。ＤＳＬインターフェイスを装備すると通常のツイストペアで、ビデオ、テレビジョンおよび高速データを送信することができる。
【０００３】
ＤＳＬ技術によってＰＯＴＳサービスが乱れることはない。従来のアナログ音声帯域インターフェイスは、同じ周波数帯域すなわち０−４キロヘルツ（ｋＨｚ）を電話サービスとして用いるので、音声とデータとを同時に用いることができない。一方、ＤＳＬインターフェイスは、１００ｋＨｚから１．１メガヘルツ（ＭＨｚ）の音声チャネルより上の周波数で動作する。したがって、単一のＤＳＬ線で音声およびデータに対して同時チャネルを提供することが可能である。
【０００４】
ＤＳＬシステムは、慣用の銅の電話線を通じてスループットおよび信号品質を向上させるために、デジタル信号処理（ＤＳＰ）を用いる。特定のＤＳＬシステムにより、ＤＳＬポイントオブプレゼンス（ＰＯＰ）から加入者の場所へのダウンストリームデータ転送速度が約１．５メガビット／秒（ＭＢＰＳ）の速度で提供される。１．５ＭＢＰＳという転送速度は、たとえば、従来の２８．８キロビット／秒（ＫＢＰＳ）の転送速度より５０倍速い。
【０００５】
ＤＳＬ技術の一般的なバージョンの１つに非対称デジタル加入者線（ＡＤＳＬ）技術がある。このＡＤＳＬ規格は、「ネットワーク・カスタマ間インターフェイス設置−非対称デジタル加入者線（ＡＤＳＬ）金属インターフェイス（“Interface Between Networks and Customer Installation - Asymmetric Digital Subscriber Line (ADSL) Metallic Interface”）、Ｒｅｖ．Ｒ４、６／１２／９８付」と題されたＡＮＳＩ  Ｔ１．４１３  ２号に記載されており、この記載全体をここに引用により援用する。
【０００６】
ＡＤＳＬモデムは競合する２つの変調スキーム、すなわち離散マルチトーン（ＤＭＴ）と無搬送波振幅／位相変調（ＣＡＰ）とを用いる。ＤＭＴは、アメリカン・ナショナル・スタンダーズ・インスティチュート（American National Standards Institute）により採用された規格である。この規格は２５６個の離散トーンを規定し、各トーンが、データ送信のためにデジタル信号で変調され得る搬送波信号を表わしている。所与のトーンの特有の周波数はそのトーン数の４．３１２５ｋＨｚ倍である。トーン１−７は音声帯域および保護帯域のために保存される（すなわち、トーン１は音声帯域であり、トーン２−７は保護帯域である）。音声帯域近傍ではデータは送信されないので、単一線上で音声とデータとを同時に送信できる。保護帯域は、ＡＤＳＬデータ帯域から音声帯域を分離するのに役立つ。典型的には、スプリッタを用いてデータトーンからいかなる音声帯域信号も分離し得る。トーン８−３２はデータアップストリーム（すなわちユーザからのデータ）を送信するのに用いられ、トーン３３−２５６はデータダウンストリーム（すなわちユーザへのデータ）を送信するのに用いられる。これに代えて、データトーン８−２５６のすべてをダウンストリームデータに対して用いてもよく、そうするとトーン８−３２に存在しているアップストリームデータはエコー消去を用いて検出されることになる。アップストリーム通信よりダウンストリーム通信により多くのトーンが用いられるので、この転送は非対称と言われている。
【０００７】
トレーニング手順を通じて、接続の両側のモデムが、いずれのトーンが電話線内の障害による影響を受けにくいかを感知および解析する。許容されたトーンの各々は、情報の搬送に用いられる。したがって、最大容量は電話接続の品質により設定される。すべてのトーンが用いられると仮定して、ＡＤＳＬ仕様により規定された最大データ速度は、約８ＭＢＰＳダウンストリームおよび約６４０ＫＢＰＳアップストリームである。典型的なＡＤＳＬシステムにおいて、中央局（ＣＯ）モデムはカスタマ構内（ＣＰ）モデムと通信する。ＣＰモデムは、典型的には、家庭または会社内に設置される。
【０００８】
ＡＤＳＬモデムは、一般に実時間でデータの送受信を行なう。しかしながら、これらのＡＤＳＬモデムの実時間機能のいくつかは、とりわけ製造コストの減少および柔軟性の増加に起因して、ソフトウェアルーチンとして実現されている。これらのソフトウェアルーチンは、典型的には、たとえばマイクロソフト（Microsoft）社のWindows（Ｒ）などのマルチタスキングオペレーティングシステムで動作するホストコンピュータにおいて実行される。
【０００９】
非実時間機能を行なうとき、ＡＤＳＬモデムは、何らかの特定の時間に、オペレーティングシステムが実時間ベースでモデムに必要なサポートを提供するのが遅れると接続が途絶したり適切なデータ転送に失敗したりするおそれがあるという点で、比較的不安定であると考えられている。たとえば、このオペレーティングシステムが実時間ベースのモデムルーチン処理またはバス転送を提供するのが遅れた場合、モデムはその接続を途絶するおそれがある。この状態は、オペレーティングシステムが他のルーチンにサービス提供する負荷が多い場合、または周辺装置もしくは装置ドライバが比較的長い期間にわたってシステムリソースを占有している場合に起こり得る。このような接続の途絶の結果、コンピュータのユーザは、接続を再確立させてデータ転送を再び開始しなければならないという不都合を被る。
【００１０】
本発明は、上述した問題の１つ以上を克服するか、または少なくともその影響を減じることに向けられている。
【００１１】
【発明の開示】
本発明の一局面では、方法が提供される。この方法は、リモートソースへ送信するためのデータを生成するステップと、そのデータを変調して複数の送信用データシンボルを形成するステップとを含む。これらのデータシンボルはバッファ内に格納される。バッファ内のデータシンボルの不在があるか否かが判定される。バッファ中のデータシンボルの不在の検出に応答して、アイドルデータシンボルが送信される。
【００１２】
本発明の別の局面では、装置が提供される。この装置は、リモートソースへ送信するためのデータを生成するよう適合されたプロセッサを含む。この装置はさらに、上記データを変調して複数のデータシンボルを形成し、それらのデータシンボルをバッファに格納し、バッファ内のデータシンボルの不在を判定し、バッファ内のデータシンボルの不在の検出に応答してアイドルデータシンボルを送信するよう適合されたトランスミッタを含む。
【００１３】
本発明は、添付図面と関連させて以下の説明を参照することにより理解され得る。図面において、同様の参照番号は同様の要素を特定している。
【００１４】
本発明はさまざまな変形例および代替形態を採用することができるが、例示の目的で特定の実施例を図示し、ここに詳細に説明する。ただし、当然ながら、ここに記載した特定の実施例は、開示された特定の形態に本発明を限定するものではなく、前掲の請求項により規定された本発明の精神および範囲内に収まるすべての変形例、等価物および代替例を包含するよう意図されている。
【００１５】
【発明の実施の形態】
本発明の例示的な実施の形態を以下に説明する。簡明のため、この明細書には実際の実現例のすべての特徴について述べることはしない。当然ながら、そのような何らかの実際の実施形態の開発の際には、開発者の特定の目標を達成するために各実現例特有に決定しなければならないこと（たとえばシステム関連および業務関連の制約に対する準拠など）が非常に多く、これは各実現例ごとに変わる、ということがわかるであろう。また、そのような開発の労力は複雑かつ時間のかかるものであるが、それでもやはりこの開示の恩恵を受ける当業者には常套の業務であるとわかるであろう。
【００１６】
ここで図面、特に図１を参照して、本発明に従った通信システム１００のブロック図が提供される。通信システム１００は、プロセッサシステム１１０と、接続リンク１２５を介してプロセッサシステム１１０に結合されたモデム通信ユニット１２０とを含む。図示した実施例では、モデム通信ユニット１２０はＤＭＴ  ＡＤＳＬモデムである。通信システム１００は、これもまた一実施例ではＤＭＴ  ＡＤＳＬモデムであるリモートの通信装置１４０と、通信リンク１３０を介して実時間および非実時間ベースで通信する。図示した実施例では、モデム通信ユニット１２０とリモート通信ユニット１４０とを結合する通信リンク１３０は、公衆交換電話網（ＰＳＴＮ）（図示せず）を介して通信するための普通のツイストペア接続を含む。ただし、所望であれば、このツイストペア接続の代わりに他の公知のタイプの通信リンク（たとえばファイバ、無線など）を用いることもできるとわかる。
【００１７】
図示した実施例によれば、通信システム１００は、会社または家庭などのカスタマ構内（ＣＰ）１５０に配置される。一方、リモート通信ユニット１４０は中央局１６０の部分である。リモート通信ユニット１４０は、たとえばローカルもしくはワイドエリアネットワーク、またはインターネットなどの、より大きな通信ネットワーク（図示せず）へのゲートウェイとして作用する。ただし、このリモート通信ユニット１４０は、本発明の精神および範囲から逸脱せずに、中央局１６０の代わりに第２のカスタマ構内（図示せず）に設置されてもよいことがわかるであろう。
【００１８】
典型的には、モデム通信ユニット１２０は、リモート通信ユニット１４０を通じて通信ネットワーク（図示せず）への接続を確立する。接続を確立する処理の間、モデム通信ユニット１２０およびリモート通信ユニット１４０はトレーニング処理に従事し、これにより、モデム通信ユニット１２０とリモート通信ユニット１４０との間の通信に利用可能なスループットが決定される。これは、たとえば、いずれのトーンであれば障害なくデータを変調できるかを確かめることを含み得る。
【００１９】
図２を参照して、通信システム１００のプロセッサシステム１１０のブロック図を示す。プロセッサシステム１１０は、中央処理装置（ＣＰＵ）２１０およびメインメモリ２２０を含む。プロセッサシステム１１０は、一実施例によれば、さまざまな製造業者（たとえばコンパック・コンピュータ・コーポレイション（Compaq Computer Corp.）など）から入手可能なパーソナルコンピュータの形態であり得る。図示した実施例では、ＣＰＵ２１０は、メインメモリ２２０内にあるマルチタスキングオペレーティングシステムソフトウェア２３０と、モデム機能ソフトウェア２４０と、他のアプリケーションソフトウェア２５０とを実行する。マルチタスキングオペレーティングシステムソフトウェア２３０は、図示した実施例によれば、実時間ではない場合がある。したがって、マルチタスキングオペレーティングシステムソフトウェア２３０は、モデム機能ソフトウェア２４０と他のアプリケーションソフトウェア２５０との連続的な動作を維持するためにＣＰＵ２１０から常に適切なリソースを提供しているわけではない。この結果、モデム通信ユニット１２０とリモート通信ユニット１４０との間の通信リンクが途絶してしまうか、またはそれらの間のデータが損失してしまうおそれがある。
【００２０】
ここで図３を参照して、本発明の一実施例に従ったモデム通信ユニット１２０の簡略ブロック図を示す。図示を簡明かつ容易にするために、すべての機能ブロックを詳細に図示しているわけではない。これは、それらが当該技術分野で公知であり、上述のＡＮＳＩ  Ｔ１．４１３  ２号の規格などの文書でさらに定義されているためである。モデム通信ユニット１２０は、トランスミッタ３０５およびレシーバ３１０を含む。トランスミッタ３０５およびレシーバ３１０は通信リンク１３０（たとえば電話線など）にインターフェイス接続され、リモート通信ユニット１４０と通信する。制御ユニット３１５はトランスミッタ３０５およびレシーバ３１０とインターフェイス接続し、それらの動作を制御する。制御ユニット３１５には、モデム通信ユニット１２０がたとえば接続の確立およびその接続のトレーニングなどの各種機能を行なうことができるようにした命令セットがプログラムされている。制御ユニット３１５とトランスミッタ３０５およびレシーバ３１０との相互作用については、以下の説明でより詳細に述べる。
【００２１】
トランスミッタ３０５は、データ出力線３２５を介して出力されるデジタルデータを受信する符号化ユニット３２０を含む。この出力されるデジタルデータは、接続リンク１２５を介してモデム通信ユニット１２０に結合されているプロセッサシステム１１０から受信され、データ出力線３２５が接続リンク１２５の一部を形成する。符号化ユニット３２０は、当業者に周知の方法に従った、巡回冗長検査（ＣＲＣ）、スクランブリング、前方誤り訂正およびインターリービングなどの機能を行なう。これらの方法については、上述のＡＮＳＩ  Ｔ１．４１３  ２号の規格にさらに開示されている。
【００２２】
トランスミッタ３０５は、送信されたデータでトーン搬送波を変調する変調器３３０をさらに含む。変調器３３０は、トーン順序付け、配列符号化、利得スケーリングおよび逆離散フーリエ変換（ＩＤＦＴ）機能を行ない、時間ドメイン波形サンプルを提供する。時間ドメイン波形サンプルはフレームにグループ分けされ、これらのフレームは複数（図示した実施例では６８個）あり、スーパーフレームを形成する。１フレームのデータに対応する時間ドメイン波形サンプルのセットはＤＭＴデータシンボルを形成し、これは通信リンク１３０を介してリモート通信ユニット１４０へ送信される。各スーパーフレームの後に、ＤＭＴ同期シンボルが生成される。したがって、図示した実施例では、６８個のデータシンボルがあり、その後に１個の同期シンボルが続く。当然ながら、同期シンボルの前にあるデータシンボルの数は変化し得るので、上述のように必ずしも６８個に限定される必要はない。
【００２３】
トランスミッタ３０５はさらに、変調器３３０の出力信号に周期プレフィックスを挿入する周期プレフィックスユニット３３５を含む。すなわち、変調器３３０からの出力サンプルの一部が複製され、既存の出力サンプルに付加されてオーバーラップをもたらし、より優れたシンボルアライメントを可能にする。
【００２４】
送信バッファユニット３４０は、これらの出力サンプルを送信アナログフロンドエンド（ＴＸ  ＡＦＥ）３４５へ送る前にこれらのサンプルを受信し、バッファリングする。送信アナログフロントエンド３４５は、デジタル−アナログ（Ｄ／Ａ）変換器（図示せず）およびフィルタ（図示せず）を含み、送信バッファユニット３４０からのデジタル出力サンプルを、通信リンク１３０を介した送信に適したアナログ波形へ変換する。前述したように、通信リンク１３０は、典型的には普通のツイストペアからなるので、モデム通信ユニット１２０とリモート通信ユニット１４０との間にアナログ電話接続を形成する。送信アナログフロントエンド３４５はまた、通常の電話ハイブリッド回路（図示せず）を含み、標準ＰＯＴＳ（従来型電話システム）シグナリング技術（たとえば、２線式から４線式への変換、オンおよびオフフックインピーダンス、リング（ring）検出、ＦＣＣ調整電子機器など）を用いて、モデム通信ユニット１２０をツイストペア接続へインターフェイス接続する。
【００２５】
典型的には、プロセッサシステム１１０が非実時間機能を行なうと、モデム通信ユニット１２０は、オペレーティングシステムが実時間ベースでモデム通信ユニット１２０に必要なサポートを提供するのが遅れた場合リモート通信ユニット１４０との接続が途絶されるかまたは適切なデータの転送に失敗するおそれがある（すなわちレイテンシの問題が起こる）という点で、不安定になる。本発明に従って、送信バッファ３４０は、周期プレフィックスユニット３３５からのＤＭＴシンボル出力がないという条件で、送信アナログフロントエンド３４５への送信のための適切なＤＭＴシンボルを生成し、送信アナログフロントエンド３４５へ送信してリモート通信ユニット１４０への連続的なデータ送信を維持する。
【００２６】
ここで図４を参照して、送信バッファ３４０の簡略ブロック図が提供される。送信バッファ３４０は、周期プレフィックスユニット３３５からのＤＭＴシンボル出力を受信し、これらのサンプルを送信アナログフロントエンド３４５へ送る前に一時的に格納する、サンプルバッファ４０５を含む。サンプルバッファ４０５は周期プレフィックスユニット３３５から送信された複数のＤＭＴシンボルを含むが、１つのＤＭＴシンボルに対応するデジタルサンプルを１つのユニットとみなす。送信バッファ３４０はまたアイドルシンボルバッファ４１０を含み、これは、サンプルバッファ４０５へ転送するためのＤＭＴデータまたは同期シンボルのいずれかを生成し得る。アイドルサンプルバッファ４１０はマルチプレクサ４２５を介してサンプルバッファ４０５に結合する。周期プレフィックスユニット３３５から転送されたＤＭＴシンボルもまた、サンプルバッファ４０５へ転送される前にマルチプレクサ４２５へ送られる。内部カウンタ４２０を含むバッファ論理４１５が設けられ、シンボルがサンプルバッファ４０５から送信アナログフロントエンド３４５へ転送されるたびにＤＭＴ同期シンボルを含むタイムスロットを追跡する。一実施例に従えば、内部カウンタ４２０はモジューロカウンタである。ただし、内部カウンタ４２０は本発明の精神および範囲から逸脱せずに他のタイプのカウンタを含み得ることがわかるであろう。同期シンボルを追跡するために、送信バッファ３４０はまず、制御ユニット３１５にＤＭＴ同期シンボルの位置をシグナリングさせることにより初期化され、これはトレーニング手順に続くモデム通信ユニットのデータモードの開始時に達成され得る。送信バッファ３４０の初期化は、他の場合にも同様に起こることがあり、また所望であれば、繰返し起こる場合さえあるとわかるであろう。バッファ論理４１５はさらに、いつ周期プレフィックスユニット３３５の出力がアイドルであるかを判断し、ＤＭＴデータまたは同期シンボルのどちらが必要であるかによってアイドルシンボルバッファ４１０にそれらのいずれかを生成させるよう構成される。
【００２７】
通常の動作モードにおいて（すなわちＤＭＴシンボルが転送されておりレイテンシが起きていない場合）、送信バッファ３４０はサンプルバッファ４０５が受信した送信ＤＭＴデータおよび同期シンボルを周期プレフィックスユニット３３５から送信アナログフロントエンド３４５へ移動させる。代替的実施例では、ＤＭＴ同期シンボルは送信バッファ３４０の入力に転送されないが、バッファ論理４１５自体によって適切なときに生成され、内部カウンタ４２０が示すように同期シンボルが必要であれば適切に挿入され得る。前述したように、内部カウンタ４２０は、データシンボルに対する同期シンボルの位置を追跡する。
【００２８】
レイテンシの問題が起き、送信バッファ３４０が送信アナログフロントエンド３４５へ出力するための新たなＤＭＴシンボルを受信しない場合、アイドルシンボルバッファ４１０は、バッファ論理の内部カウンタ４２０が得た結果に基づいて、ＤＭＴデータまたは同期シンボルのいずれかを作成する。前述したように、これは、ＤＭＴシンボルが特定のパターン（すなわち、同期シンボル周期性）で送信されたことから判断され得る。バッファ論理４１５が同期シンボルが必要であると判定すれば、アイドルシンボルバッファ４１０は適切な同期シンボルを生成する。アイドルシンボルバッファ４１０から生成された同期シンボルは、前にプロセッサソフトウェアから転送された記憶されている同期シンボルから来るか、送信されたシンボルが同期シンボルであるとバッファ論理４１５の内部カウンタにより示された場合バッファ４０５が記憶している前に送信されたシンボルから来るか、または他の何らかの内部で算出されたソース（図示せず）から来ることがある。ただし、バッファ論理４１５がデータシンボルが必要であると判断すれば、アイドルシンボルバッファ４１０は、種々のソースから到来し得る適切なデータシンボルを生成する。たとえば、生成されたデータシンボルは、既にバッファリングされた前のシンボルのコピーであるか、前にバッファリングされたシンボルを僅かに変更したものであるか、単純なパイロットトーンであるか、または他の何らかの内部で算出されたソース（図示せず）から生成されたものであり得る。
【００２９】
したがって、非実時間ベースでプロセッサシステム１１０がソフトウェアを実行する場合、送信バッファ３４０がアイドルデータおよび同期シンボルを生成して送信アナログフロントエンド３４５へ送信することにより、モデム通信ユニット１２０とリモート通信ユニット１４０との間の接続および／またはデータの損失の危険性が著しく減じられる。
【００３０】
一実施例に従えば、プロセッサシステム１１０で実行されるソフトウェアは、同期またはデータシンボルがストリーム中に挿入されている場合は通知される。これは、アンダーフロービットカウンタ（図示せず）によって挿入イベントが起きると制御ユニット３１５がソフトウェアへ情報を戻すことにより、ソフトウェアが非実時間で動作していた間にいくつのシンボルが自動的に挿入されたかを示すことにより、達成され得る。これに代えて、システム１００は、ソフトウェアがモジューロカウンタ４２０を直接読めるように、またいかなる非連続的なイベントも直接決定できるように、構成され得る。
【００３１】
再び図３を参照して、レシーバ３１０は、アナログ電話通信リンク１３０を介してアナログ波形を受信する受信アナログフロントエンド（ＲＸ  ＡＦＥ）３５０を含む。受信アナログフロントエンド３５０は、前に述べたように、通信リンク１３０のアナログ電話接続に対するモデム通信ユニット１２０をリモート通信ユニット１４０へインターフェイス接続するための普通のハイブリッド回路を含む。受信アナログフロントエンド３５０はさらに、アナログ波形を時間ドメインデジタルサンプルへ変換するためのアナログ−デジタル（Ａ／Ｄ）変換器（図示せず）およびフィルタ（図示せず）を含む。
【００３２】
受信アナログフロントエンド３５０はこれらのサンプルを受信バッファ３５５へ転送する。図５を参照して、受信バッファ３５５の基本的なブロック図が提供される。受信バッファ３５５は１サンプルごとに受信アナログフロントエンド３５０から転送されたサンプルを受信するサンプルバッファ５０５を含む。受信バッファ３５５はさらに、サンプルバッファ５０５に結合されたバッファ制御５１０を含む。バッファ制御５１０は、サンプルバッファ５０５中のサンプルに何らかのオーバーランがあったか否かを判定し、いずれかのサンプルが失われた場合そのような表示を出す。
【００３３】
受信バッファ３５５内でバッファリングされたサンプルはアライメントおよびイコライジングユニット３６０（図３参照）へ転送され、ここでシンボルのアライメントおよびタイムドメインのイコライゼーションが、当該技術分野で確立されているとおりに、行なわれる。時間ドメインイコライゼーションにおいて、トーンの周波数が異なるので、ある周波数が他の周波数より速く移動し、よって、トーンは同時に到着しない場合がある。アライメントおよびイコライジングユニット３６０の時間ドメインイコライゼーション機能はより速いトーンを遅延させ、伝搬速度の違いを補償する。フレームアライメントの精度が高くなると時間ドメインイコライゼーションの精度が低くなるという点で、フレームアライメント機能と時間ドメインイコライゼーション機能との間には性能のトレードオフがある。モデム通信ユニット１２０が行なった周期プレフィックス挿入により、シンボルのアライメントの精度が向上する。アライメントおよびイコライジングユニット３６０はまた、利得制御を行ない、受信した信号の振幅を増幅する。
【００３４】
復調器３６５は、アライメントおよびイコライジングユニット３６０から時間ドメインサンプルを受信し、この時間ドメインデータを周波数ドメインデータへ変換してトーンを回復させる。復調器３６５は配列符号化データから配列点を決定するためのスライシング機能と、特定された配列点を再びビットへとマッピングするためのデマッピング機能と、復号化機能（たとえばトレリス配列コード化が採用される場合、ビタビ復号化）とを行なう。復調器３６５はまた、トーンの順序付けを解除し、利用可能なトーン間で分割された連続したバイトを再度組合せ直す。
【００３５】
復号化ユニット３７０は、当業者には周知の方法を用いて、復調器３６５から受信したデータに対して前方誤り訂正、ＣＲＣ検査、および再スクランブリング機能を行なう。復号化ユニット３７０により与えられた再構築データはリモート通信ユニット１４０により送られた一連のバイナリデータを表わす。再構築されたデータはデータ入力線３７５に与えられ、デジタルデータをモデム通信ユニット１２０に結合されたプロセッサシステム１１０へ送る。データ入力線３７５は、前述したデータ出力線３２５と共に、プロセッサシステム１１０とモデム通信ユニット１２０との間に接続リンク１２５を形成する。
【００３６】
レシーバ３１０での通常動作モードにおいて、すなわちサンプルバッファ５０５のオーバランがない場合、サンプルバッファ５０５は、サンプル損失がないので、それらのサンプルをアライメントおよびイコライジングユニット３６０へ直接転送する。しかしながら、レシーバ３１０においてレイテンシの問題が起こり、サンプルバッファ５０５がすべてのサンプルを保持できない場合、バッファ制御５１０はそれらのサンプルのうちのいくつかを削除することになる。一実施例に従えば、バッファ制御５１０はサンプルバッファ５０５内のバッファリングされたデータの先頭、末尾または中央の隣接するブロックにおけるサンプルを削除し得る。バッファ制御５１０は削除されたサンプルすべての正確な開始および終了場所を記憶し、この場所情報を、削除されたデータが再構築され得るように、サンプルバッファ５０５から残りのサンプルと共に制御ユニット３１５で実行されている受信ソフトウェアへ転送する。これに代えて、バッファ制御５１０はｎ番目のサンプル毎に対応するサンプルバッファ５０５のサンプルを削除し得る。バッファ制御５１０はまた、正確な開始、停止および使用ステップを記録し、この情報を残りのサンプルと共に制御ユニット３１５で実行されている受信ソフトウェアへ転送する。
【００３７】
別の実施例では、サンプルバッファ５０５中のデータは圧縮され得る。これを達成するために、バッファ制御５１０は丸めまたはトランザクション法を採用してサンプルの分解を減じることができ、よって、それらのサンプルをサンプルバッファ５０５のより少ないバッファメモリ場所（図示せず）に記憶することができるようになる。バッファ制御５１０は丸めまたはトランザクションが起こった正確な場所を記録し、この情報をレシーバソフトウェアへ転送するので、圧縮されたサンプルは拡張され復元され得る。
【００３８】
さらに別の実施例では、バッファ制御５１０は区分的な線形圧縮スキームを採用してサンプルバッファ５０５中のデータを圧縮することができる。圧縮され後に復元されたサンプルは、典型的には、前述したトランザクションまたは丸め法の場合より加えられるノイズが少ない。
【００３９】
制御ユニット３１５で実行される受信ソフトウェアは、非実時間環境で動作するソフトウェアモデムの部分として理解されるよう構成される。このソフトウェアは、受信バッファ３５５からデータを転送する際に損失したまたは部分的に損失したサンプルがあるか否かをチェックする。損失したサンプルが何ら存在すれば、制御ユニット３１５はゼロを挿入するか、データを平均するか、または他の公知の技術を用いて、失われたサンプルを予測することができる。これらのサンプルがバッファ制御５１０により圧縮されたものであれば、制御ユニット３１５はこれらのサンプルを適切に復元する。
【００４０】
本発明はこの教示の恩恵を受けた当業者には明らかな別個ではあるが同等の態様で変更および実施され得るので、上記に開示した特定の実施例は単なる例示に過ぎない。さらに、ここに示した構造または設計の詳細については、前掲の請求の範囲に記載したもの以外は、限定を意図していない。したがって、上記に開示した特定の実施例は変形または変更可能であり、そのような変形例はすべて本発明の範囲および精神に収まると考えられることが明らかである。したがって、ここで求められる保護は前掲の請求の範囲に述べられたとおりである。
【図面の簡単な説明】
【図１】  本発明の一実施例に従ったＡＤＳＬ  ＤＭＴ通信システムのブロック図である。
【図２】  図１の通信システムの一部を形成するプロセッサシステムのブロック図である。
【図３】  図１の通信システムの一部を形成するモデム通信ユニットのブロック図である。
【図４】  図３のモデム通信ユニットの送信バッファユニットのブロック図である。
【図５】  図３のモデム通信ユニットの受信バッファユニットのブロック図である。
【図１】
0004446643.tif 000002
【図２】
0004446643.tif 000003
【図３】
0004446643.tif 000004
【図４】
0004446643.tif 000005
【図５】
0004446643.tif 000006