(57)【特許請求の範囲】
【請求項１】
データパケットを伝送するために可変的な伝送時間の間隔が必要とされるパケットベース式コンピュータネットワークにおいて、オーディオ／ビデオデータを通信するシステムであって、
オーディオ／ビデオ信号に対応したデジタルオーディオ／ビデオデータのストリームの一部分からデータパケットを構築するパケット組立回路と、
関連したバッファを有し、上記コンピュータネットワークの基幹から上記データパケットを受信するパケット分解回路とを含み、
上記パケット組立回路は、上記一部分のストリームに対する時間的な位置を示す位置識別子を発生し、上記位置識別子を上記データパケットに挿入し、上記データパケットを上記コンピュータネットワークの上記基幹を介して伝送するため待ち行列に入れ、
上記パケット分解回路は、上記位置識別子によって決められた上記バッファの絶対的な場所に上記一部分を挿入し、これにより、上記一部分は、上記可変的な伝送時間の間隔を補償するため上記バッファ内のデジタルオーディオ／ビデオデータの上記ストリームの隣接した一部分と同期させられ、
上記バッファ内の上記オーディオ／ビデオデータのストリームの長さを延長するため、合成されたオーディオ／ビデオデータを上記バッファの指定された場所に挿入する補間回路を更に有する、システム。
【請求項２】
上記バッファ内の上記オーディオ／ビデオデータのストリームの長さを短縮するため、上記バッファの指定された場所からオーディオ／ビデオデータを削除するデシメーション回路を更に有する請求項１記載のシステム。
【請求項３】
上記データパケットは、上記コンピュータネットワークを介した上記データパケットの伝送ルートを決定するため発信元フィールド及び着信先フィールドを含む、請求項１記載のシステム。
【請求項４】
上記位置識別子の値は、先に伝送されたデータパケット内の上記デジタルオーディオ／ビデオデータのストリームの一部分の長さの関数である、請求項１記載のシステム。
【請求項５】
上記バッファのウィンドウは約１５乃至２５ミリ秒である、請求項１記載のシステム。
【請求項６】
上記データパケットは約３乃至１０ミリ秒の長さを有する一部分を収容し得る、請求項１記載のシステム。
【請求項７】
上記パケット組立回路に接続され、上記オーディオ／ビデオ信号をデジタル化し、上記デジタルオーディオ／ビデオデータのストリームに圧縮するデジタル変換／圧縮回路を更に有する請求項１記載のシステム。
【請求項８】
上記パケット分解回路に接続され、上記デジタルオーディオ／ビデオデータのストリームを伸張し、元の上記オーディオ／ビデオ信号に変換する伸張／アナログ変換回路を更に有する請求項１記載のシステム。
【請求項９】
上記コンピュータネットワークは上記基幹に接続された複数のコンピュータを含み、
上記パケット組立回路及び上記パケット分解回路は上記複数のコンピュータの中の別個のコンピュータに設けられている、請求項１記載のシステム。
【請求項１０】
データパケットを伝送するために可変的な伝送時間の間隔が必要とされるパケットベース式コンピュータネットワークにおいて、オーディオ／ビデオデータを通信する方法であって、
パケット組立回路を用いて、オーディオ／ビデオ信号に対応したデジタルオーディオ／ビデオデータのストリームの一部分からデータパケットを構築するステップと、
上記コンピュータネットワークの基幹から関連したバッファを有するパケット分解回路に上記データパケットを受信するステップとを含み、
上記パケット組立回路は、上記一部分のストリームに対する時間的な位置を示す位置識別子を発生し、上記位置識別子を上記データパケットに挿入し、上記データパケットを上記コンピュータネットワークの上記基幹を介して伝送するため待ち行列に入れ、
上記パケット分解回路は、上記位置識別子によって決められた上記バッファの絶対的な場所に上記一部分を挿入し、これにより、上記一部分は、上記可変的な伝送時間の間隔を補償するため上記バッファ内のデジタルオーディオ／ビデオデータの上記ストリームの隣接した一部分と同期させられ、
上記バッファ内の上記オーディオ／ビデオデータのストリームの長さを延長するため、合成されたオーディオ／ビデオデータを上記バッファの指定された場所に挿入するステップを更に有する、方法。
【請求項１１】
上記バッファ内の上記オーディオ／ビデオデータのストリームの長さを短縮するため、上記バッファの指定された場所からオーディオ／ビデオデータを削除するステップを更に有する請求項１０記載の方法。
【請求項１２】
上記データパケット内の発信元フィールド及び着信先フィールドを用いて、上記コンピュータネットワークを介した上記データパケットの伝送ルートを決定するステップを更に有する請求項１０記載の方法。
【請求項１３】
上記位置識別子の値を、先に伝送されたデータパケット内の上記デジタルオーディオ／ビデオデータのストリームの一部分の長さの関数として割り当てるステップを更に有する請求項１０記載の方法。
【請求項１４】
上記バッファのウィンドウを約１５乃至２５ミリ秒に設定するステップを更に有する請求項１０記載の方法。
【請求項１５】
約３乃至１０ミリ秒の長さを有する一部分を上記データパケットに収容させるステップを更に有する請求項１０記載の方法。
【請求項１６】
上記パケット組立回路に接続されたデジタル変換／圧縮回路を用いて、上記オーディオ／ビデオ信号をデジタル化し、上記デジタルオーディオ／ビデオデータのストリームに圧縮するステップを更に有する請求項１０記載の方法。
【請求項１７】
上記パケット分解回路に接続された伸張／アナログ変換回路を用いて、上記デジタルオーディオ／ビデオデータのストリームを伸張し、元の上記オーディオ／ビデオ信号に変換するステップを更に有する請求項１０記載の方法。
【請求項１８】
データパケットを伝送するために可変的な伝送時間の間隔が必要とされるパケットベース式コンピュータネットワークであって、
第１のノード及び第２のノードを連結し、上記第１のノードと上記第２のノードの間でパケット化されたデータを通信する基幹と、
上記第１のノードに接続され、元のオーディオ／ビデオ信号を受信し、上記オーディオ／ビデオ信号から対応したデジタルオーディオ／ビデオデータのストリームを生成する手段と、
上記第１のノードと関連し、上記デジタルオーディオ／ビデオデータのストリームの一部分から、上記一部分の中の一つの部分と、上記ストリームに対する上記一部分の中の一つの部分の時間的位置を示す位置識別子とを含むデータパケットを構築し、上記基幹を介して上記第２のノードに順番に送信するため上記データパケットを待ち行列に入れるパケット組立回路と、
上記第２のノード及びバッファと関連し、上記基幹から上記データパケットを順番に受信し、上記一部分が上記可変的な伝送時間の間隔を補償するため上記バッファ内のデジタルオーディオ／ビデオデータの上記ストリームの隣接した一部分と同期させられるように、上記位置識別子によって決められる絶対的な場所に上記一部分を挿入することにより上記データパケットを分解するパケット分解回路と、
上記第２のノードに接続され、上記バッファ内の上記デジタルオーディオ／ビデオデータのストリームから再生されたオーディオ／ビデオ信号を発生させる手段とを有し、
上記バッファ内の上記オーディオ／ビデオデータのストリームの長さを延長するため、合成されたオーディオ／ビデオデータを上記バッファの指定された場所に挿入する補間回路を更に有する、コンピュータネットワーク。
【発明の詳細な説明】
発明の技術分野
本発明は、一般的に、コンピュータネットワークに係わり、特に、可変パケット伝送時間（ジッタ）を補償するためデジタル化されたオーディオ／ビデオデータをパケットベースコンピュータネットワーク内で送受信するシステム及び方法に関する。
発明の背景
従来、オーディオ／ビデオデータと、コンピュータデータを送信するためには、完全に分離した通信システムが利用されている（尚、コンピュータデータは広義の「データ」に含まれるが、以下、同様の意味を表わすため「データ」のように略記される場合がある）。
１世紀前に、アナログオーディオ信号を伝達するためアナログ電話ネットワークが開発された。電話ネットワークは、オーディオデータの通信が可能であり、より広い意味では、集中交換設備を用いて、専用通信回路又は「チャネル」をユーザ間に確立することによって、二人以上のユーザの間でオーディオ信号を通信することができる。チャネルは、一旦確立されると、そのユーザの会話の伝送のためだけに用いられるので、その会話は他の会話とチャネルの帯域幅を争わなくてもよい。会話毎に専用チャネルを有する利点は、話し手から聞き手への伝送遅延が純粋に電話ネットワークを介するオーディオ信号の自由な速度の関数として表されることである。この速度は時間的に著しくは変化しないので、専用チャネルは等時間間隔の伝送を実現することができる。残念ながら、専用チャネルの一つの重大な欠点は、かなりの帯域幅を要すること、すなわち、チャネルの完全な帯域幅は、オーディオ／ビデオ情報が伝送されていないときでも、その会話の伝搬のためだけに利用できる状態が保たれることである。
近年、電話ネットワークによるオーディオ信号のデジタル伝送のためのインタフェース標準の確立作業が進められている。最も注目すべき既存の標準は、ＡＴ＆Ｔにより主催される統合サービスデジタルネットワーク（ＩＳＤＮ）である。ＩＳＤＮは、統一されたデジタル回路交換ネットワークを作成するため、接続インタフェース、伝送プロトコル及びサービスを標準化する。さらに近年、広帯域ＩＳＤＮ（ＢＳＩＤＮ）に対する勧告が採用された。デジタルネットワーク標準であるＩＳＤＮとは異なり、ＢＩＳＤＮは、伝送標準として、パケットリレー、又は、非同期転送モード（ＡＴＭ）を使用し、特に、広帯域基幹、中でも光ファイバ線による伝送に重要である。ＡＴＭは、主として、コネクション指向の技術であり、コネクション指向サービス及びコネクションレス指向サービスの両方を、固定ビットレート又は可変ビットレートの何れかで転送することができる。ＡＴＭは、要求に応じて帯域幅を与え、プロトコルの処理を削減し、統計的多重化を使用する高速パケット交換技術を用いてすべてのトラヒックタイプを取り扱う。
ＡＴＭの場合、オーディオデータは、一般的にセルと称されるかなり小さいブロック又はパケットに分割される。セルは、同期していない送信機及び受信機によってＡＴＭのネットワークを介して個別に通信される。同期伝送に制限されたネットワークは、一般的に、ネットワークを介するオーディオ／ビデオデータの同期伝送を制御するために専用チャネルとクロックとを必要とする。したがって、ＡＴＭは、電話ネットワークが専用、かつ、等時間隔のチャネルを介して上記のオーディオ／ビデオデータの同期伝送から外れることを許容し、その結果として、予め専用化されたチャネルを組合せることによりネットワーク効率を急激に高め、同期性を除去することによりコストを削減する。したがって、ＩＳＤＮとＢＩＳＤＮは、共に、将来的に有望である。しかし、これらの標準の適用の普及はあまり進まない。その理由は、（電話機のような）アナログ機器に基づく設備が充実し、変化に対し大きい抵抗を示すためである。
パケット伝送又はＡＴＭは、ＴＤＭ（時分割多重化方式）と混同してはならない。ＴＤＭは、共通基幹の帯域幅全体を多数の低速チャネルに同時に分割することを要求し、特定のタイムスロットを各チャネルに割り当てる。換言すると、４本のチャネルが存在する場合、各チャネルには帯域幅の４分の１ずつが割り付けられる。帯域幅は、チャネル１が帯域幅の４分の１を獲得し、続いて、チャネル２、３、４、１、２、以下同様に帯域幅の４分の１ずつを獲得して系統的に切り換えられる。ＴＤＭの場合に、共通帯域幅を共用するため必要な処理能力は、多数の集中されたマルチプレクサに設けられる。この集中化は、チャネルトラヒックが一定又は予測可能である場合に許容できる。しかし、トラヒックが（実世界のように）短い間隔で発生する場合、処理は重要になり、帯域幅の実効的な損失が生じる。
これに対し、パケット伝送又はＡＴＭは非同期であり、基幹帯域幅全体を要求に応じて割り付ける。たとえば、チャネル１が高度に使用中である場合、帯域幅全体の案分的な共用量を上回る帯域幅を得る。チャネル１の使用量が減少したとき、チャネル１に割り付けられた帯域幅も同様に減少する。このため、パケット伝送又はＡＴＭは、「バースト的な」データの伝送を処理する際に最も適切であり、各個のチャネルの使用量は相対的に広範に変化する。かくして、コンピュータはネットワークを介してパケットの形でデータを伝送するので、コンピュータデータは「バースト的」であるといわれる。ＴＤＭの場合とは異なり、パケットを作成、送信及び受信するため必要とされる処理能力は、集中されるのではなく、すべての通信装置の間で配分される。したがって、帯域幅は、集中処理に本来的な制限に起因した実効的な損失が生じない。
電話ネットワークは１世紀以上に亘って重要な地位を占めているが、コンピュータネットワークは僅か四半世紀前に出現してきた。従来の電話ネットワークの専用チャネルに対し、コンピュータネットワークは、個々のコンピュータが（ＡＴＭに極めて類似した形で）かなり広い帯域幅を有する共通の通信基幹に共用アクセスすることを許容する。
ＡＴＭの場合と同様に、コンピュータデータはパケットに分割され、各パケットはエラー保護を含む。個々のネットワーク化されたコンピュータ（ノード）は、基幹の全帯域幅へのアクセスが保証されるので、コンピュータデータのパケットを基幹上で伝送することができる。伝送中のコンピュータがパケットの伝送を終了したとき、基幹は他のコンピュータによって直ちに利用可能である。
コンピュータネットワークの特殊なケースは、パーソナルコンピュータ（ＰＣ）ネットワークである。従来、ＰＣは独立した装置としてのみ使用されていたが、現在では、ＰＣがコンピュータネットワークを介して相互に通信することを必要とする広い範囲のアプリケーションで使用される。
数百台のＰＣを備えた大規模なオフィス、或いは、僅か数台のＰＣを備えた小規模なオフィスにおけるネットワーク化は、非常に普及し、端的に言うと、ＰＣ間でデータを共用し通信を行うための最良の方法である。ローカル・エリア・ネットワーク（ＬＡＮ）は、かなり近い場所に設置されたＰＣを接続する特定のタイプのネットワークである。ワイド・エリア・ネットワーク（ＷＡＮ）は個別のＬＡＮのネットワークである。このようなＬＡＮの基幹は、典型的に、同軸又は撚り線対ケーブルを含む。
すべてのネットワークには、ネットワークを介した端から端までのエンド・ツー・エンド・データ伝送中に遅延が伴う。この遅延（待ち時間と呼ばれる場合もある）は、ネットワークの全体的な効率及び有効な帯域幅に影響を与える。ＡＴＭ及びコンピュータネットワークは、非同期であるため、時間の関数の形でネットワーク待ち時間の変化として定義されるジッターの影響を受ける。ジッターは、補どんどの場合に予測できないが、ネットワーク上のトラヒックの全体的な量は、待ち時間とジッターの両方を増加させる傾向がある。
コンピュータネットワークの心臓部は通信プロトコルである。プロトコルは、コンピュータ装置間のデータの転送を支配する慣例若しくは規則の集合である。最も簡単なプロトコルは、ハードウェア構成だけを規定し、より複雑なプロトコルは、タイミング、データフォーマット、誤り検出及び訂正の技術と、ソフトウェア構成とを規定する。
コンピュータネットワークは、殆ど例外なく、多数のプロトコル層を利用する。低レベル物理層プロトコルは２台の装置間のデータストリームの送受信を保証する。データパケットはデータリンク層で構築される。物理層を介して、ネットワーク及びトランスポート層のプロトコルは、ネットワークを通るデータの伝送を管理し、エンド・ツー・エンドの信頼できるデータ配信を保証する。
小規模ネットワーク用の最も一般的な物理ネットワーク化プロトコル又はトポロジーは、Ｘｅｒｏｘ社によって開発されたイーサネットである。ノードがネットワークを介して送信されるべきパケットを所有するとき、ノードは基幹を監視し、基幹が空いたときに送信する。基幹へのアクセスを獲得する要求を許可する集中基幹マスター装置は存在しない。このタイプのマルチポイント・トポロジーによって、基幹が軽度に使用されているときにデータの高速伝送が容易に行われるが、基幹が重度に使用されているときには、パケット衝突が発生する。このような状況において、多数のノードが基幹の空きを検出し、パケットを同時的に送信する機会は多くなる。
別の従来の物理的なプロトコル又はトポロジーは、ＩＢＭ社によって開発されたトークンリングである。このトポロジーは、環状の基幹を回ってノードからノードに一方向に伝達されるトークンを使用する。トークンを保有するノードは、１個のパケットの転送のため基幹への排他的なアクセスが許可される。このトポロジーはデータ衝突を減少させるが、各ノードがトークンを待機する間に生じる待ち時間のため、ネットワークの利用率が低い場合に、イーサネットよりもデータ伝送速度が低下する。
バースト的なデータ伝送を処理するため設計された幾つかのネットワーク及びトランスポートプロトコルは、従来技術において公知である。ＰＣ間での通信を実現する一つのプロトコルは、Microcom Systemsによって開発されたMicrocom Networking Protocol（ＭＮＰ）である。ＭＮＰは、双方向通信及びファイル転送の両方に好適であり、広範囲のコンピュータに実装される。ＭＮＰは、データを、パケットタイプと、ＣＲＣと、パケットに関する他の情報とを収容する先頭部（ヘッダ）及び末尾部（トレーラー）に区分けする。ＭＮＰプロトコルは、比較的誤りの無いデータの伝送を行うが、ヘッダ及びトレーラーの重大なオーバーヘッドのためデータ帯域幅が減少する。
従来技術には、データ伝送速度、又は、ネットワークのスループットを押し上げるためのデータの操作を含む多数の技術が含まれる。Microcomに譲受された米国特許第４，６９１，３１４号には、拡大された調節可能なサイズのパケットでデータを伝送するシステムが開示されている。このシステムは拡大されたパケットを許容するので、必要とされるヘッダとトレーラーのオーバーヘッドは相対的に少なくなる。
しかし、データがノイズを含む電話ネットワーク回線を介して伝送されるときのように伝送媒体が信頼できないとき、誤りがデータ中に頻繁に発生する。パケット長が長くなると共に、パケット内でデータに改竄が生じる可能性が増加する。また、パケット長が長くなると再伝送が必要になり、ネットワークのスループットが低下する。
別のネットワーク及びトランスポートプロトコルは、伝送制御プロトコル／インターネットプロトコル、すなわち、ＴＣＰ／ＩＰである。このプロトコルは、誤りの「Ｎ戻り（go back N)法」と、データグラムネットワークのフロー制御とを利用する。誤り制御の「Ｎ戻り法」において、伝送誤り、パケット損失、パケットの配信の過剰な待ち時間、順番通りではないパケットの配信、或いは、受信機側バッファのオーバーフローが存在する場合、過剰なパケット再伝送に起因してスループットの著しい損失が起こる。
デジタルコンピュータネットワークの領域が拡大し続けると共に、ネットワークは、新規かつより困難な課題が要求される。このような課題の一つは、マルチメディアである。近年、デジタル化されたオーディオ／ビデオ信号を表現するデータを付加的に伝達する能力があり、これにより、電話ネットワークとして付加的に機能する能力を備えたデジタルデータネットワークを構築するため、すなわち、いわゆる「マルチメディアネットワーク」を生成するための多数の試みが為されている。
しかし、ユーザは微細なトーン、抑揚、及び、ポーズに敏感であるため、上記の通り、オーディオ／ビデオ信号は非常に時間に対し敏感である。そのため、オーディオ／ビデオデータも伝送しなければならないコンピュータデータネットワークは、基幹上でバースト的なコンピュータデータと、時間的に敏感なオーディオ／ビデオデータの両方の通信を取り扱えることが要求される。
これに対し、データを伝送するために十分な上記のデータネットワーク及びトランスポートプロトコルは、時間的に敏感なオーディオ／ビデオデータを伝送するためには不十分である。通信ネットワークに存在する待ち時間、たとえば、符号化、パケット組立、媒体アクセス、伝搬、受信機側のバッファリング及び復号化に関連する待ち時間は、オーディオ／ビデオ信号の忠実度を保存するために精確に補償される必要がある。
ここで、以下の興味ある考察を説明する。データはバースト的であるとして説明した。このことは、オーディオ／ビデオデータはそれほどバースト的ではないことを意味する。これらの前提条件はどちらも不正確であることが判明した。第１に、データがバースト的である理由は、コンピュータネットワークが従来通りの方法でデータを処理しているからに他ならない。実際上、一群のデータの伝送が始まった後、データ伝送速度は一定である。第２に、発話された単語は少数の離散的な発音（音節又は単語）により構成されるので、オーディオ／ビデオデータは本来的にバースト的である。したがって、オーディオ／ビデオデータが非常に時間的に敏感であることが間違いないとしても、オーディオ／ビデオ信号は同様にバースト的である。ネットワークジッターを補償する方法が見つけられるならば、オーディオ／ビデオデータはパケットベースの伝送に非常に敏感である。
したがって、この技術において必要とされるシステム及び方法は、可変的なパケット伝送時間を調節するためパケットベースネットワーク内でデジタル化されたオーディオ／ビデオを送受信するシステム及び方法である。このシステム及び方法は、受信端に高忠実度のオーディオ／ビデオ信号を与えると共に、伝送ネットワークのすべての遅延を考慮して、エンド・ツー・エンドの信頼できるデータ伝送を行う必要がある。
発明の概要
上記の従来技術の欠点に鑑みて、本発明の主要な目的は、コンピュータネットワークによるオーディオ／ビデオデータの高忠実度の伝送を実現するためコンピュータネットワーク内のジッターを補償することである。
上記の主要な目的を達成するため、本発明によるパケットベース式コンピュータネットワークにおいてオーディオ／ビデオデータを通信するシステム及び方法は、コンピュータネットワークによるデータパケットの伝送が可変的な伝送時間の間隔を必要とする。本発明のシステムは、オーディオ／ビデオ信号に対応したデジタルオーディオ／ビデオデータのストリームの一部分からデータパケットを構築するパケット組立回路を含む。パケット組立回路は、上記ストリームに対する上記一部分の相対的な時間的位置を示す位置識別子を発生させ、上記位置識別子を上記データパケットに挿入し、上記コンピュータネットワークの基幹による伝送のため上記パケットを待ち行列に入れる。
また、本発明のシステムは、関連したバッファを有し、上記基幹から上記データパケットを受信するパケット分解回路を更に有する。パケット分解回路は、上記位置識別子によって決められた上記バッファの絶対的な場所に上記一部分を挿入し、上記一部分は、可変的な伝送時間の間隔を補償するため上記バッファ内でデジタルオーディオ／ビデオデータの上記ストリームの中の隣接した一部分と同期させられる。
コンピュータネットワークによるオーディオ／ビデオデータの伝送は、時間的な感度の低いコンピュータデータの伝送よりも厳しいタスクである。上記の通り、オーディオ/ビデオデータは、非常に時間的に高感度であり、その結果として、システムハードウェア、ソフトウェア、及び、トランスポートプロトコルは、受信端でオーディオ／ビデオデータを再整列させるため、厳密に協調させる必要がある。本発明は、コンピュータネットワークによる高忠実度かつ明瞭なオーディオ／ビデオデータの伝送を保証するシステム及び方法を提供する。
本発明による位置識別子は、パケットシーケンス番号と混同してはならない。以下に詳述するように、位置識別子は、バッファ内で特定の絶対アドレスを指定するものであり、パケットの他のパケットに対する相対的な位置を示すものではない。シーケンス番号を使用する場合、パケット３は、パケット２に後続し、パケット４に先行することが識別できるだけである。位置識別子を用いた場合、パケット３が、たとえば、４ミリ秒（ｍｓ）だけパケット２よりも遅れ、たとえば、１５ｍｓだけパケット４よりも進んでいることを亜合わす重要なパケット同期情報を識別することができる。シーケンス番号との明確な相違点として、位置識別子は、パケットの一部分によって他のパケットの一部分を隠し（すなわち、上書し）、パケットの間に時間的なギャップ（すなわち、無音の介在区間）を生じさせ、相対的なパケット同期を譲歩することなくパケットが任意の順序で伝送されることを許容する。
本発明の好ましい一実施例において、システムは、同期したオーディオ／ビデオデータをバッファの指定された場所に挿入し、バッファ内のオーディオ／ビデオデータのストリームの一部分を延長させる補間回路を更に有する。補間回路は、バッファの長さが基幹からのオーディオ／ビデオデータの受信中に減少するような環境を扱う。この環境は、データがバッファに書き込まれるよりも速くバッファから読み取られるときに生じる。
たとえば、バッファから読み出す符号器／復号器（ＣＯＤＥＣ（コーデック））のクロックが非常に速いとき、コーデックは高速に読み取りすぎるので、バッファは非常に短くなる。補間回路は、バッファが非常に短くなるときを検出し、同期したオーディオ／ビデオデータを付加することによりバッファを所定の長さに近づくように調節する。この補間回路は、バッファ内のオーディオ／ビデオデータが効率的に再整列されるようにバッファが所定の長さの付近に留められることを保証する。
本発明のシステムは、指定されたバッファの場所からオーディオ／ビデオデータを削除し、これにより、バッファ内のオーディオ／ビデオデータのストリームの一部分の長さを短縮するデシメーション回路を更に有する。このデシメーション回路は、バッファの長さが基幹からオーディオ／ビデオデータを受信する間に増加するような状況を取り扱う。このような状況は、バッファから読み取られたデータがバッファへの書き込みよりも遅い場合に生ずる。
たとえば、コーデックのクロックが非常にゆっくりトリガーするとき、或いは、オーディオ／ビデオデータがＬＡＮを介して過剰な速度で伝送されるとき、バッファのウィンドウは長くなる。デシメーション回路は、バッファが長すぎるときを検出し、選択されたオーディオ／ビデオデータを削除することによってバッファを所定の長さに向けて調節する。補間回路と同様に、デシメーション回路は、バッファ内のオーディオ／ビデオデータの効率的な再整列のためバッファが所定の長さの付近に留められることを保証する。
本発明の好ましい一実施例において、本発明のデータパケットは、コンピュータネットワークを介するデータ派けっとン伝送ルートを決定するため、発信元フィールド及び着信先フィールドを含む。この実施例は、主として、コンピュータネットワーク内の各ノードが特定のアドレスによって指定されるイーサネット環境を取り扱う。コンピュータネットワークの基幹を介してオーディオ／ビデオデータをルーティングする前に、データパケットには、適切なノードを指定する発信元アドレス及び着信先アドレスが割り当てられる。或いは、ＡＴＭによるＷＡＮアプリケーションの場合、正確な配信を保証するため、チャネル識別子を使用してもよい。
上記の通り、パケットベース式伝送によれば、呼処理及びシグナリングが分散される点が有利である。かくして、各パケット組立回路は、個別にネットワークを経由するオーディオ／ビデオデータのルーティングを決定する。
本発明の好ましい一実施例において、位置識別子の値は、先に伝送されたデータパケットにおけるデジタルオーディオ／ビデオデータのストリームの位置の関数である。したがって、位置識別子は、好ましくは、各部分の第１のデータがバッファ内で収容されるべき位置を表わす。この位置は、好ましくは、先に伝送されたデータパケットの最後のデータの後に続く。
本発明の好ましい一実施例において、オーディオ／ビデオデータの各部分（サンプル）は、所定の長さのデータパケットに収容される。サンプルの他に、データパケットは位置識別子を含む。位置識別子は、サンプルをバッファ内の絶対位置に向ける。絶対位置は連続していてもよく、或いは、連続していなくてもよい。この位置識別子の顕著な利点は、バッファ内のサンプルの時間的な同期性である。
オーディオ／ビデオデータ以外のデータがデータパケットを占有し得ることに注意する必要がある。特定のヘッダ指定がなされた場合、シグナリング及び呼処理用（制御）データはパケットに詰め込まれる。また、これにより、分散、非集中型処理が行える。パケットに詰め込まれた後、制御データは、ネットワークを介して移動する間にオーディオ／ビデオデータと同じように処理される。
本発明の好ましい一実施例において、本発明のバッファ内を移動するウィンドウの長さは約２０ｍｓである。ウィンドウは、データがバッファに書き込まれる場所と、データがバッファから読み出される場所の間の差として定義される。ウィンドウは、イーサネットアプリケーションの場合に、パケット長とネットワーク特性（たとえば、パケット組立、媒体アクセス、パケット伝送及びパケット分解の待ち時間）の関数として、最適な長さで設定される。ＡＴＭネットワークの場合に、ウィンドウ長は約２０ｍｓとすべきである。インターネットの場合に、ウィンドウ長は、非常に大規模なネットワーク内の有意な待ち時間を考慮に入れるため、約５０〜１００ｍｓとするべきである。それぞれの場合に、ウィンドウをより短くする必要があるならば、待ち時間のために十分な時間は残されていない、ラウンドトリップ・オーディオ／ビデオ遅延が６０ｍｓを超えるとき、典型的にエコーキャンセルが必要である。
本発明の好ましい一実施例において、オーディオデータパケットは、約５．５ｍｓの長さを有する一部分を収容することができる。約５．５ｍｓのオーディオ長さは、４４バイトのパルス符号変調（ＰＣＭ）オーディオ／ビデオデータサンプルに対応する。また、５．５ｍｓの長さは、調節可能であり、ネットワーク特性に依存する。一部分の長さは圧縮してもよい。殆どの圧縮アルゴリズムは可変的であるため、圧縮されていない長さは変化してもよい。
本発明の好ましい一実施例において、システムは、デジタル変換／圧縮回路は、パケット組立回路に接続され、オーディオ／ビデオ信号をデジタル化し、デジタルオーディオ／ビデオデータのストリームに圧縮する。また。殆どの圧縮アルゴリズムは可変的であるため、圧縮されていないデータ長と圧縮されたデータ長の間には線形的な関係は存在しない。
デジタル変換／圧縮回路は、アナログオーディオ／ビデオ信号を、パケット組立回路で用いるためのデジタルオーディオ／ビデオデータのストリームに変換する。パケット組立回路は、基幹による伝送のため、オーディオ／ビデオデータをデータパケットに配置する。データをデジタル化し、圧縮する利点は、これにより、コンピュータネットワークを介してオーディオ／ビデオデータを輸送するために利用可能な有効な帯域幅が拡大されることである。
本発明の好ましい一実施例において、システムは、上記パケット分解回路に接続され、上記デジタルオーディオ／ビデオデータを伸張し、元のオーディオ／ビデオ信号に変換する伸張／アナログ変換回路を更に有する。かくして、受信されたオーディオ／ビデオデータは、受信端の聴き手が本質的に理解し、応答することができる媒体に変換される。
本発明の好ましい一実施例において、本発明のコンピュータネットワークは、基幹に接続された複数のコンピュータと、上記コンピュータ毎に設けられたパケット組立回路及びパケット分解回路とを有する。したがって、本発明は、複数のノードを有するコンピュータネットワークで動作し、多数の進行中の電話会話をサポートすることができるように設計されている。コンピュータネットワークは、クライアント・サーバー式トポロジーでもピア・ピア式トポロジーでもよい。かくして、本発明のシステムは、コンピュータネットワークが構内交換（ＰＢＸ）システムに取って代わることを可能にさせる。ＰＢＸは、非常に専有的、高価、かつ、かなり柔軟性に欠ける。
本発明の好ましい一実施例において、パケット組立回路及びパケット分解回路は、予めプログラムされた汎用データ処理及び保存回路に実現される。当業者には、本発明のシステムが離散的な回路に実現されても、マイクロプロセッサベースの集積回路が本システムを実現するために魅力的かつ柔軟性のある環境を与えることが認められよう。
上記の説明では、本発明の特徴及び技術的利点がかなり幅広く概説されているので、当業者は以下の詳細な説明をよりよく理解するであろう。以下に説明される本発明の更なる特徴及び利点は、請求項に係る発明の主題をなす。当業者は、本発明と同じ目的を達成する他の構成を改良又は設計するための基礎として、上記の概念並びに具体的な実施例を容易に利用できることを認めであろう。当業者は、このような等価的な組立体が本発明の外延的な精神及び範囲を逸脱しないことを認めるであろう。
【図面の簡単な説明】
本発明及び本発明の利点をより良く理解するため、添付図面と併せて以下の説明を参照するのがよい。図面中、
図１は、本発明が動作し得る環境を構築するコンピュータネットワークを示す図であり、
図２は、本発明に従って構成されたマイクロプロセッサベース式システムのブロック図であり、
図３は、本発明に従って組み立てられたオーディオ／ビデオデータのイーサネットデータパケットの説明図であり、
図４は、本発明に従って組み立てられたオーディオ／ビデオデータのＡＴＭデータセルの説明図であり、
図５は、本発明のバッファの動作の説明図であり、
図６は、本発明に従ってデータパケットを組み立てる方法のフローチャートであり、
図７は、本発明に従ってデータパケットを分解する方法のフローチャートである。
発明の詳細な説明
図１を参照するに、本発明の動作環境を構築するコンピュータネットワーク１００の全体が示されている。ネットワーク１００は、表示画面１２４を有するパーソナルコンピュータ１２０を介して、イーサネットタイプのコンピュータネットワーク基幹１３０に接続された電話機１１０を含むものとして示されている。他の電話機１１２、１１４は、多重局カード１２２を介して基幹１３０に接続される。本発明は、イーサネット基幹１３０を介して、電話機１１０、１１２及び１１４の間でオーディオ信号を伝送することができる。
本発明は、多数の物理層プロトコルと互換性がある。イーサネット基幹１３０はイーサネット交換機１４０とＡＴＭハブ１５０とを介してトークンリングＬＡＮ１７０のトークンリング基幹１７２に接続される。トークンリング基幹１７２は、表示画面１７８を有するパーソナルコンピュータ１７６を介して電話機１７４に接続される。ＡＴＭハブ１５０は、表示画面１５６に対応したパーソナルコンピュータ１５４を介して電話機１５４に接続される。イーサネット基幹１３０を介して伝送されるパケット化されたコンピュータデータは、イーサネット交換機１４０によってＡＴＭハブ１５０に切り換えられる。トークンリング基幹１７２により伝送されるパケット化されたコンピュータデータは、ＡＴＭハブ１５０を介して直接的に配信される。また、本発明は、ＡＴＭ完全互換性があるので、ＡＴＭハブ１５０を介したＡＴＭ資源への完全なアクセスが許容される。
電話サーバー１６０は、イーサネット交換機１４０を介してイーサネット基幹１３０に接続された複数の電話機１６２、１６４に接続される。電話サーバー１６０は、ＡＴＭハブ１５０を介して接続される。イーサネット基幹１３０からのオーディオデータは、イーサネット交換機１４０を介して、ＡＴＭハブ１５０に電話サーバー１６０によって配信される。電話サーバー１６０は、電話局（ＣＯ）中継線１６６に完全なＩＳＤＮ通信を行うので、ＡＴＭを経由したＷＡＮが実現される。
また、本発明は、パケットベース式コンピュータネットワーク１００においてオーディオ／ビデオデータを通信するシステム及び方法を提供し、ここで、コンピュータネットワーク１００を通るデータパケットの伝送は、可変的な伝送時間間隔を必要とする。本発明は、以下の構成要素を備えた分散アーキテクチャネットワーク１００で動作するよう設計される。
電話機１１０、１１２、１１４、１６２、１５４、１６４及び１７４は、従来のアナログ式電話機でも構わないが、本発明の範囲内にはＩＳＤＮ互換形若しくは他のデジタル式電話機も含まれる。パーソナルコンピュータ１２０、１５４及び１７４は、好ましくは、工業規格アーキテクチャ（ＩＳＡ）又は拡張工業規格アーキテクチャ（ＥＩＳＡ）に適合した拡張又は入出力（Ｉ／Ｏ）バスを有する通常のパーソナルコンピュータとして示されている。当業者は、本発明が特定のハードウェアアーキテクチャに限定されないことを認めるであろう。図２を参照して説明されるように、Ｉ／Ｏバスは、本発明のシステムが基幹１３０、１７０及びハブ１５０と、対応したパーソナルコンピュータ１２０、１５０及び１７４との間で通信を行うため利用できるインタフェースを提供する。
パーソナルコンピュータ１２０は、ソフトウェア制御の下で、システムの動作に関するデータを表示することができる表示画面１２４を有する。これにより、ユーザは、処理及びインタフェース機能による電話の状態への視覚的なアクセスのため表示画面１２４を利用することができる。この処理及びインタフェース機能には、たとえば、Intel社及びMicrosoft社によって開発された電話アプリケーションプログラマ・インタフェース（ＴＡＰＩ）や、Noell社及びAT&T社によって開発された電話サービスアプリケーションプログラマ・インタフェース（ＴＳＡＰＩ）が含まれる。基幹１３０は、データがコンピュータネットワーク１００のノード間で転送される経路として作用する多数の並列導体により構成された従来のイーサネット基幹である。
ＡＴＭハブ１５０は、イーサネット又はトークンリングパケットフォーマットをＡＴＭセルフォーマットに変換するインタフェースカードである。イーサネットパケットからＡＴＭセルへの変換は、図４を参照して説明される。ＡＴＭハブ１５０は、イーサネット又はトークンリングネットワークとＡＴＭ交換式ネットワークとの間で先に説明したインタフェースを実現する。
例示された実施例において、電話サーバー１６０は、専用電話機１６２、１６４からの信号と、イーサネット物理プロトコル層の基幹１３０からのオーディオ／ビデオデータを多重化し、オーディオ／ビデオデータのデジタルサービスを提供する。
図２を参照するに、本発明に従って構築されたマイクロプロセッサベース式システムのブロック図が示されている。マイクロプロセッサベース式コントローラは、マイクロプロセッサ２１０と、デジタル信号プロセッサ（ＤＳＰ）２２０と、コーデック（ＣＯＤＥＣ）２３０と、電話セットインタフェース（ＴＳＩ）２４０と、ＴＳＩコネクタ２４２と、ランダムアクセスメモリ（ＲＡＭ）２５０と、イーサネットコントローラ２６０と、イーサネットコントローラ・インタフェースコネクタ２６２と、デュアルポートメモリ２７０と、デュアルポートメモリ・インタフェースコネクタ２７２とを含む。
例示された実施例は、標準的な電話機１１０を電話セットインタフェース２４０及びＴＳＩコネクタ２４２を介してパーソナルコンピュータ１２０に接続する。電話セットインタフェース２４０は、電話機１１０からのアナログ信号を受容する。ＴＳＩコネクタ２４２は、好ましくは、標準的なＲＪ−１１コネクタである。
図示された実施例は、イーサネットコントローラ２６０及びイーサネットコントローラ・インタフェースコネクタ２６２を介して基幹１２０への接続を行う。イーサネットコントローラ２６０は、基幹１３０との間でデータを送受信する。イーサネットコントローラ・インタフェースコネクタ２６２は、好ましくは、標準的なＲＪ−４５コネクタである。イーサネットコントローラ２６０は、内部的に、内部ローカルバス２６５によってプロセッサ２１０及びランダムアクセスメモリ２５０に接続される。
電話セットインタフェース２４０は、コーデック２３０に接続される。コーデック２３０は、オーディオ／ビデオデータのアナログ・デジタル変換及びデジタル・アナログ変換を行う。コーデック２３０は、オーディオ／ビデオ信号をデジタル化し、デジタルオーディオ／ビデオデータのストリームに圧縮するデジタル変換／圧縮回路を含む。当業者は、本発明が特定の圧縮／伸張アルゴリズムのアプリケーション、或いは、データが圧縮されているかどうかに依存しないことに注意すべきである。ここで説明されているサンプリング及び圧縮のスキームは例示に過ぎない。
電話機１１０がアナログオーディオ信号をコーデック２３０に送信するとき、コーデック２３０は、所定の通常のレート８ｋＨｚで信号をサンプリングする。コーデック２３０は、次に、好ましくは、１３又は１４ビット幅のデータサンプルを８ビットの圧縮サンプルに圧縮するため、従来の標準的な対数圧縮法（たとえば、Ａ−Ｌａｗ又はｍｕ−Ｌａｗ）を利用する。コーデック２３０は、デジタルオーディオデータのストリームを伸張し、元のオーディオ信号に変換する伸張／アナログ変換回路を更に有する。伸張回路は、８ビット圧縮サンプルを伸張された１３又は１４ビットのサンプルに復元し、このサンプルを電話機１１０で再生するためのアナログ電圧に変換する。最後に、コーデック２３０は、コーデックの動作のペースを制御する関連したクロック（図示しない）を有する。
デジタル信号プロセッサ２２０は、コーデック２３０からのオーディオ／ビデオデータを解析、濾波、増強する。デジタル信号プロセッサ２２０は、エコーキャンセル、又は、コーデック２３０の代わりに圧縮／伸張を行う。エコーキャンセルは、典型的に、ラウンドトリップオーディオ／ビデオ遅延が６０ｍｓを超えたときに必要になる。
プロセッサ２１０は、デジタル信号プロセッサ２２０及びイーサネットコントローラ２６０からの情報を編集し、データを送信するため必要な動作を行う役割を担う。したがって、プロセッサ２１０は、パケット組立回路及びパケット分解回路を実現する。上記の通りパケット組立回路は、一部分のストリームに対する時間的な相対位置を示す位置識別子３７０を生成し、位置識別子３７０をデータパケットに挿入し、データパケットをイーサネット基幹１３０を介して伝送するためイーサネットコントローラにキュー入れする。
ランダムアクセスメモリ２５０は、好ましくは、本発明による受信バッファ５１０を含む。受信用バッファ５１０は、パケット分解回路と関連し、オーディオ／ビデオデータの一部分が再組立される環境を与えることに注意する必要がある。
プロセッサ２１０は、合成されたオーディオ／ビデオデータを受信バッファ５１０の指定された場所に挿入して、受信バッファ５１０におけるオーディオ／ビデオデータのストリームの部分を拡張する補間回路を実現し、また、受信バッファ５１０の指定された場所からオーディオ／ビデオデータを削除して、受信バッファ５１０におけるオーディオ／ビデオデータのストリームの部分を短縮するデシメーション回路を実現する。
パーソナルコンピュータ１２０のデュアルポートメモリ２７０とＩ／Ｏバス２７０の間のアクセスは、デュアルポートメモリ・コネクタ２７２を介して行われる。デュアルポートメモリ２７０は、内部ローカルバス２６５とＩ／Ｏバス２８０の間の通信が容易になされるように記憶容量とオーバーフローバックアップとを行う。イーサネットコントローラ２６０及びプロセッサ２１０からのデジタルデータはデュアルポートメモリ２７０に保存され得る。
ここで、本発明は、最終的にＡＴＭ環境への適用を取り扱うことに注意する必要がある。既に説明したように、ＡＴＭは、未だ広範囲には普及していない。しかし、ＡＴＭは普及しつつある。したがって、以下の実施例では、２部に分けて説明される。図３において、本発明は、現在普及しているイーサネット環境に適用された場合が説明される。図４では、本発明が最終的に好ましい環境であるＡＴＭに適用された場合が説明される。
図３を参照するに、本発明に従って組み立てられたオーディオデータのイーサネットデータパケットが示されている。この好ましい実施例は、本発明と、７４バイトの全長を有するイーサネットIIフレームとの互換性を示している。７２バイトの総フレームサイズは、イーサネットによって許容される最小サイズのフレームである。同図には、イーサネットIIヘッダ３１０と、メッセージ３３０と、イーサネットIIトレーラー３９０とが示されている。
イーサネットIIヘッダ３１０は、イーサネット・プレアンブル３１３と、イーサネット・スタートフレームデリミッタ（ＳＦＤ）３１６と、着信先アドレス３１９と、発信元アドレス３２２と、タイプフィールド３２５とを含む。イーサネット・プレアンブル３１３は、受信機のためのタイミング同期を与える７バイトの系列である。イーサネットＳＦＤ３１６は、コンピュータの入力側でデータを分離する１バイトのアドレスである。タイプフィールド３２５はデータパケットを使用する上位層プロトコルを示す。
イーサネットIIヘッダ３１０は、コンピュータネットワーク内のデータパケットの伝送ルートを決めるための着信先アドレス３１９及び発信元アドレス３２１を更に含む。図１のコンピュータネットワーク１００の基幹１３０を介してオーディオデータを電送する前に、データパケットには着信先アドレス３１９及び発信元アドレス３２２が割り当てられる。コンピュータネットワーク内の個別のノードは、特定のアドレスによって指定される。個別のデータパケットが適切な着信先に配信されることを保証するため、各データパケットのイーサネットIIヘッダ３１０は、それぞれの着信先アドレス３１９及び発信元アドレス３２２が割り当てられる。その結果として、データはそれぞれの場所の間を移動する。
特に、着信先アドレス３１９は、データパケットがコンピュータネットワーク内で送信される宛先フィールドを示す。発信元アドレス３２２は、データパケットを送信するコンピュータネットワーク内の局のアドレスである。着信先アドレス３１９及び発信元アドレス３２２は、共に６バイト長である。
イーサネットIIトレーラー３９０は、フレームチェックシーケンス（ＦＣＳ）フィールド３９５を有する。ＦＣＳフィールド３９５は、有効フレームだけが受信局で処理されることを保証するため各データパケットに設けられた誤り検査手段である。ＦＣＳフィールド３９５は、４バイトのＣＲＣ値を収容する。ＣＲＣ照合は、データパケットを送信する前に送信局で行われる。受信局は、同じＣＲＣ照合を行い、得られた値をＦＣＳフィールドの内容と比較する。数値が一致するとき、データパケットは有効であるとみなされ、一致しないとき、パケットは廃棄される。
データパケットのメッセージ３３０は最大で４８バイトの長さがある。メッセージ３３０は、予備／長さフィールド３４０（選択的であり、可変長オーディオデータパケットの場合に利用される）と、予備／ＣＲＣフィールド３５０と、チャネル識別子３６０と、位置識別子３７０と、オーディオデータサンプル３８０とを含む。
予備／長さフィールド３４０は、１バイト長であり、予備／長さフィールド３４０とオーディオデータサンプルの最後のバイトとの間に収容されるバイト数を指定する。予備／ＣＲＣフィールド３５０は、ＡＴＭセル内の誤り検査目的のため確保された１バイトフィールドである。チャネル識別子３６０は、チャネル識別子３６０が値２５５と一致するときに（おそらく、シグナリング命令を含む）制御データのパケットとしてメッセージ３３０を識別する１バイトフィールドであり、それ以外の場合には、特定の局のオーディオデータを表現する。チャネル識別子は、データネットワーク内での切り換えの複雑さを緩和するため、単一の現実のチャネル上で多数の音声接続を行うことができる。また、付加的な専用帯域幅を用いることなく、共用媒体上で音声会議を行うことができる。チャネル識別子は、２台の音声サーバー装置の間で多数の会話を行うため呼確立シーケンスでも使用され、ＡＴＭトランスポートに適する。
位置識別子３７０は、最新オーディオサンプル３８０を表現するポインタである。位置識別子３７０は、オーディオサンプル３８０の４バイト語への１バイト長ポインタであり、オーバーフローして重なる前に、２５６×５バイト（１キロバイト）を表現することができる。デジタル化されたオーディオ／ビデオは、典型的に、標準的な８ｋＨｚサンプリングレート（サンプル間隔は１２５マイクロ秒）を使用するので、位置識別子３７０が重なる前に表現できる全時間は２５６×４×１２５マイクロ秒である。位置識別子３７０は、チャネル識別子３６０がオーディオデータを表現するとき、並びに、チャネル識別子３６０が（シグナリング又は呼処理のような）制御データを表現するときの何れの場合にも使用される。たとえば、チャネル識別子３６０の値が２５５であるとき、位置識別子３７０はシグナリングデータメッセージタイプを表現するため使用される。
最後に、データパケットのメッセージ３３０は、４４バイトまでのデジタル化オーディオデータサンプル３８０を収容する。オーディオ／ビデオデータサンプル３８０は、チャネル識別子３６０が２５５以外の値をとるとき、デジタル化オーディオデータを含む。オーディオデータサンプル３８０は、チャネル識別子の値が２５５に一致するとき、システムコマンドを収容する。コマンドには、たとえば、電話会議の呼の確立、解放、転送などが含まれる。
本発明は、可変サイズのデータパケットの処理、データの可変時間伝送の管理、コンピュータネットワークの基幹１３０を介するデータのスループット効率の向上を行うよう設計される。この属性は、時間的に高感度であるデータを伝送し、高忠実度のオーディオ／ビデオを実現するために非常に重要である。
図４を参照するに、本発明に従って組み立てられたオーディオデータのＡＴＭデータセルが示されている。好ましい実施例には、本発明と、全部で５３バイトの固定長を有するＡＴＭセルとの互換性が示されている。セルは、メッセージ（図３のメッセージ３３０）よりも先行するＡＴＭヘッダ４１０により表される。
ＡＴＭは、多数の交換式バーチャル回路コネクションをネットワークへの１回のアクセスだけでユーザに提供することによって、回路切り換えと、セル切り換えの両方の利点を組み合わせる。ＡＴＭヘッダ４１０は、セルのバーチャルパスを指定する情報（すなわち、バーチャルパス識別子（ＶＰＩ）４３０）と、バーチャルチャネルを指定する情報（すなわち、バーチャルチャネル識別子（ＶＣＩ）４４０）とを含む。ＶＰＩ４３０及びＶＣＩ４４０は、一体となって、ノード・ツー・ノード通信チャネルを確立する。交換機のルーティングは、ＶＰＩ４３０及びＶＣＩ４４０に基づく。ＡＴＭ交換機は、情報が交換機を介して回送される前に、コネクションが入力側バーチャルチャネルと出力側バーチャルチャネルとの間に確立されることを要求する。ＡＴＭ交換機は、ＡＴＭヘッダ４１０内で識別されたバーチャルチャネルに基づいて、入力側の多重化されたセルストリームからの個別のセルを、出力側の多重化されたセルストリームに切り換え、回送する。ＡＴＭ交換機はセルシーケンスを保持し、各セルは、可変ビットレート伝送を許容するため、チャネルレートではなく、セルレートで切り換えられる。
ＡＴＭヘッダ４１０内のセル損優先度フィールド（ＣＬＰ）４６０は、ネットワークに関する優先度を確定する。ユーザ又はネットワークプロバイダがネットワーク輻輳の期間中に廃棄されるべきセルを選択できるように意味的優先度には二つのレベルがある。タイプは、ＡＴＭヘッダ４１０内のＣＬＰ４６０の値１又は０によって決められる。輻輳の期間中に、ＣＬＰ４６０は、廃棄されるべき情報又はネットワークを介して切り換えられるべき情報を決める。
ＡＴＭヘッダ４１０内のペイロードタイプ識別子（ＰＴＩ）４５０は、メッセージフィールド３３０内のセル搬送ユーザ情報（たとえば、オーディオ／ビデオデータ）と、サービス情報（たとえば、制御データ）を区別する。ヘッダ誤り制御フィールド（ＨＥＣ）４７０は、ＡＴＭヘッダ４１０の誤り検査に用いられる。
ＡＴＭヘッダ４１０の汎用フロー制御フィールド（ＧＦＣ）４２０は、メトロポリタンアクセスネットワーク（ＭＡＮ）と類似した共用公衆アクセスを提供するよう設計される。ＧＦＣ４２０は、ＬＡＮ環境のように、多数の端末インタフェースをサービスするユーザアクセスポイントが１ポイントしか無い場合に使用される。各端末はネットワーク機器に対し均等なアクセスを受ける必要があり、ＧＦＣ４２０は、各端末が共用ネットワーク帯域幅に対し均等なアクセスを獲得することを保証する。ＧＦＣ４２０は、種々のＬＡＮトポロジー及びアーキテクチャを管理する。
５バイトのＡＭヘッダ４１０内では、例示された実施例に示されるようなアドレス場所に６個のフィールドが配置される。イーサネットデータパケットとは異なり、ＡＴＭセルは、メッセージフィールド３３０に関する誤り検査又は誤り訂正を実行しないままネットワークを介して情報を伝送する。予備／ＣＲＣフィールド３５０は、受信端でＡＴＭセル内のチャネル識別子３６０と、位置識別子３７０と、オーディオ／ビデオデータサンプル３８０とに関して誤り検査を実行するため確保される。メッセージフィールド３３０と、そのフィールド内の内容は、図３を参照して既に説明した対応したイーサネットデータパケットの部分と同じである。イーサネットデータパケットとＡＴＭセルの間の変換は、着信先アドレス３１９及び発信元アドレス３２１をメッセージフィールド３３０から除去し、着信先アドレス３１９及び発信元アドレス３２１を、ＡＴＭセルと関連したＶＰＩ４３０、ＶＣＩ４４０、及びチャネル識別子３６０に変換される。
図５を参照するに、本発明の受信バッファ５１０の動作が示されている。上記の通り、システムは、関連したＲＡＭ２５０に設けられた受信バッファ５１０を有するパケット分解回路を含み、基幹１３０からオーディオ／ビデオデータサンプル３８０を受信する。パケット分解回路は、位置識別子３７０によって決められた受信バッファ５１０の絶対的位置に一部分を挿入する。オーディオ／ビデオサンプル３８０は、可変的な伝送時間の周期を補償するため、受信バッファ５１０内の隣接したオーディオ／ビデオデータサンプル３８０と同期させられる。コーデックは、挿入されたオーディオ／ビデオデータサンプルよりも時間周期（本実施例の場合には、２０ｍｓ）だけ遅れて受信バッファを読み取り、受信バッファ５１０に２０ｍｓの遅延を伴う移動ウィンドウを作成する。受信バッファの長さは物理的に有限（好ましい実施例の場合に約１キロバイト）であるため、ウィンドウは、受信バッファ５１０のアドレスを重ね合わせる。そのため、受信バッファ５１０内の所定のアドレス可能な場所において、データは最初にその場所に書き込まれ、次に、読み出され、また、書き込まれ、以下同様に続く。受信バッファ５１０は固定遅延再生バッファとして機能する。
また、本実施例の場合に、受信バッファ５１０内のウィンドの長さは、約２０ｍｓである。ウィンドウは、伝送ネットワーク内のジッタと、パケット化遅延と、逆パケット化遅延とを考慮するためある値にソフトウェア的に設定可能である。ネットワーク内のジッタは、主としてデータトラヒック輻輳に起因する。予め設定されたウィンドウの長さは、データパケットと、受信端でオーディオ／ビデオデータを再生する際に本質的に伴うシステム遅延とを十分適切に収容する。
上記の通り、コーデック２３０は、オーディオ／ビデオデータが付加されたレートと理想的に一致するレートで受信バッファ５１０を読み出すので、ウィンドウ長さが維持される。データが読み出されると共に、データは、無音を表現する白色雑音データで置換される。白色雑音データが受信バッファ５１０を介して次のパスで受信されたオーディオ／ビデオデータによって引き続いて書き換えられない場合、コーデック２３０は、代わりに白色雑音データを読み取り、伸張し、オーディオデータの代わりに聴き手のために合成された略無声の音を生成する。
図５には、特に、種々のサイズを有する６個のオーディオ／ビデオデータサンプル３８０が示され、可変的な伝送遅延が各データパケットに収容された位置識別子３７０の関数として受信バッファ５１０に挿入されている。位置識別子３７０の値は、先に伝送されたデータパケット内のオーディオ／ビデオデータサンプル３８０の長さの関数であるが、この例に限定されるものではない。位置識別子３７０は、各オーディオ／ビデオデータサンプル３８０を受信端の受信バッファ５１０の指定された絶対的な位置に入れる。かくして位置識別子３７０は、原則的にパケットシーケンス番号とは異なる。
図５は、以下の表Ｉと共に、本発明に従って、オーディオ／ビデオデータサンプルを受信バッファに挿入する様子を説明する図である。
0004067133.tif 000002
８ｋＨｚのサンプリングレートの場合、個々のバイト又はサンプルは、０．１２５ｍｓの間隔で発生する。位置識別子（ＰＩ）は、時間的に連続した各オーディオデータサンプル３８０を受信バッファ５１０内の絶対位置に配置する。位置識別子は４で割り算され、値６の位置識別子は、実際には、受信バッファ５１０内のバイト２４を指定する。
コーデックリードオフセット（ＣＲＯ）は、受信バッファ５１０内でコーデックに対する読み出し位置を表わす。位置識別子と同様に、コーデックリードオフセットは、実際のコーデックリード位置を４で除算したものであるので、値１のコーデックリードオフセットは実際には受信バッファ５１０内のバイト４を指定する。例示された実施例の場合に、サンプル１は、システムに遅延が無い場合に４４バイトのデータを含む。したがって、ＣＲＯ1は０であり、ＰＩ1は２９であり、（サンプル１の１４．５ｍｓプラス５．５ｍｓとして）２０ｍｓのバッファ長が得られる。オーディオデータサンプル３８０の４４バイトは、受信バッファ５１０の最後の５．５ｍｓに収容される。
サンプル２の場合に、システムは１ｍｓの遅延を伴う。４４バイトのオーディオデータサンプル３８０は、サンプル１の隣に収容され、ＰＩ2は４０に一致する。オーディオデータサンプル３８０は１ｍｓ遅延しているので、ＣＲＯ2は１３であり、合計で６．５ｍｓに一致する。このため、ＰＩ2とＣＲＯ2の差は、２７の位置差に縮小される。ＰＩ2とＣＲＯ2の差を４４バイトのオーディオデータサンプル３８０に加えることにより、サンプル２に対するウィンドウは１９ｍｓに一致する。サンプル３の場合には１０ｍｓのシステム遅延が生ずるので、ウィンドウは１０ｍｓに縮まる。サンプル４及び５の場合に、システムは、一部の遅延が補償されるので、ウィンドウの長さは例示されるように拡張される。上記の通り、位置識別子３７０は、システムの遅延とは無関係に受信バッファ５１０内の絶対位置を表わす。また、トランスポート媒体がサンプル３と関連した拡大された遅延の後に空いているならば、サンプル３〜５は、一つずつ受信バッファ５１０に直ちに収容される。
サンプル５は、短縮されたオーディオデータサンプル３８０が伝送された場合の例である。サンプル５は、２４バイトの長さしかなく、ＰＩ5＝７３で受信バッファに挿入される。サンプル５は２０バイトだけ短縮されているので、失われた２０バイトには、無音を表わす白色雑音が使用される。後述するように無音は表示されていない。
次にサンプル６の場合、パケットの長さは完全なパケット長の４４バイトである。したがって、ＰＩ6は７９に一致する。サンプル６は、サンプル５の最後に付け加えられた２０バイトの無音を書き換える。図５において、サンプル６は正しい位置に表示されているので、無音は既に上書され、図示されていない。
最後に、サンプル７は、コーデックのクロック動作が非常に遅い場合の状況を示している。説明の目的のため、コーデックのクロックは、周波数が大幅に外れている場合を想定するので、これにより生ずる影響は誇張されている。このような場合に、ＰＩは、５．５ｍｓ、すなわち、受信バッファ５１０内の前のＰＩから位置９０の間に１１個分の位置だけ進む。しかし、コーデックのクロックが遅いために、ＣＲＯは遅れる。本例の場合に、ＣＲＯは５．０秒、すなわち、受信バッファ内の前のＣＲＯから位置６０まで位置１１個分しか先に進まない。その結果として、ウィンドウの長さは２０．５ｍｓになる。
デシメーションは、受信バッファ５１０を予め設定されたサイズまで短縮するために必要とされる。デシメーションは、以下に説明するような調節間隔、すなわち、理想的なウィンドウ長さ（本実施例の場合には１６０バイト）から２バイトと離れる毎に１バイトの間隔、理想的なウィンドウ長さから３乃至４バイト離れる毎に２バイトの間隔、或いは、理想的なウィンドウ長さから５乃至６バイト離れる毎に３バイトとの間隔で行われる。本例の場合に、バッファは、４バイトに相当する０．５ｍｓだけ長い。したがって、デシメーション回路は、受信バッファ５１０のウィンドウを理想的な長さの方に調節するため、受信バッファ５１０から２バイトを取り除く必要がある。補間及びデシメーションは、本発明のシステム内で進行するプロセスである。
図５に関して、最後に注意すべきことは、（無音の期間を伝送しないため、或いは、多数の無効パケットを受信するため）ウィンドウ長さが零まで縮小された場合に、コーデック２３０は受信バッファ５１０内の白色雑音だけを読み出し、聴き手のために無音状態をシミュレーションすることである。
図６を参照するに、本発明に従ってデータパケットを組み立てる方法のフローチャートが示されている。パケット組立回路は、オーディオ／ビデオ信号に対応したデジタルオーディオ／ビデオデータのストリームの一部分からデータパケットを構築する。好ましい一実施例に示されたように、ステップ６１０において、オーディオ／ビデオデータのサンプルがパケット組立回路で受信される。判定ステップ６２０において、パケット組立回路は、サンプル中のデータを所定の閾値と比較することによって、サンプルが無音を表すか、或いは、音を表わすかを判定する。このデータが閾値未満の値を有する場合、無音を伝送するためネットワーク帯域幅を占有することは意味がないので、パケットは生成されない。このデータが閾値以上の値を有する場合、処理はステップ６３０に進み、パケット組立回路は、予備／長さフィールド３４０と、予備／ＣＲＣフィールド３５０と、チャネル識別子３６０と、位置識別子３７０とを、オーディオ／ビデオデータサンプル３８０に割り当てる。オーディオ／ビデオサンプル３８０に加えられた上記のフィールドは、メッセージ３３０を構成する。
（イーサネット環境の場合に限り適用される）ステップ６４０において、イーサネットII（Ethernet II(R)）ヘッダ３１０とイーサネットIIトレーラー３９０は、コンピュータネットワークを介してデータパケットを回送し、伝送されたデータの誤りを検査するため必要な情報を収容する。ＡＴＭ環境の場合、ＡＴＭヘッダはパケットに付けられる。
（イーサネット環境の場合に限り適用される）ステップ６５０において、データパケットの誤りが評価される。データパケットに誤りが含まれる場合、この処理は再スタートし、誤りが含まれない場合には、処理はステップ６６０に進む。ステップ６６０では、データパケットがネットワークの基幹による伝送のため待ち行列に入れられる。
図７を参照するに、本発明に従ってデータパケットを分解する方法のフローチャートが示されている。ステップ７１０において、受信機が無効パケットを受信した場合、ステップ７２０でパケットは廃棄され、このパケットに対する分解処理は終了する。ステップ７３０において、パケットが有効である場合、パケット分解回路は、予備／長さフィールド３４０と、予備／ＣＲＣフィールド３５０と、チャネル識別子３６０と、位置識別子３７０を、オーディオ／ビデオデータサンプル３８０から取り除く。イーサネット環境の場合に、パケット分解回路は、イーサネットIIヘッダ３１０及びイーサネットIIトレーラー３９０も取り除く。
ステップ７４０において、パケット分解回路は、位置識別子３７０の値に従って、オーディオ／ビデオデータサンプル３８０を受信バッファ５１０（図５）の絶対位置に挿入する。このため、オーディオ／ビデオデータサンプル３８０は、可変的な伝送時間の間隔を補償するため、受信バッファ５１０内のデジタルオーディオ／ビデオデータのストリームの隣接したオーディオ／ビデオデータサンプル３８０と同期させられる。
上記の説明から明らかなように、本発明は、パケットベース式コンピュータネットワークにおいて、上記コンピュータネットワークによるデータパケットの伝送が可変的な伝送時間の間隔を必要とする場合に、オーディオ／ビデオデータを通信するシステム及び方法を提供する。本発明のシステムは、オーディオ／ビデオ信号に対応したデジタルオーディオ／ビデオデータのストリームの一部分からデータパケットを構築するパケット組立回路と、関連したバッファを有し、基幹から上記データパケットを受信するパケット分解回路とを含む。パケット組立回路は、上記一部分のストリームに対する時間的な位置を示す位置識別子を発生し、上記位置識別子を上記データパケットに挿入し、上記データパケットを上記コンピュータネットワークの基幹を介して伝送するため待ち行列に入れる。上記パケット分解回路は、上記位置識別子によって決められた上記バッファの絶対位置に上記一部分を挿入し、これにより、上記一部分は、上記可変的な伝送時間の間隔を補償するため上記バッファ内のデジタルオーディオ／ビデオデータの上記ストリームの隣接した一部分と同期させられる。
本発明と、本発明の利点とについて詳細に説明したが、当業者であれば、最も広い形で本発明の精神及び範囲を逸脱することなく、種々の変形、置換及び代替をなし得ることが認められるであろう。
【図１】
0004067133.tif 000003
【図２】
0004067133.tif 000004
【図３】
0004067133.tif 000005
【図４】
0004067133.tif 000006
【図５】
0004067133.tif 000007
【図６】
0004067133.tif 000008
【図７】
0004067133.tif 000009