JPH10107851A - 通信システム - Google Patents

通信システム

Info

Publication number
JPH10107851A
JPH10107851A JP9080373A JP8037397A JPH10107851A JP H10107851 A JPH10107851 A JP H10107851A JP 9080373 A JP9080373 A JP 9080373A JP 8037397 A JP8037397 A JP 8037397A JP H10107851 A JPH10107851 A JP H10107851A
Authority
JP
Japan
Prior art keywords
time
data
time stamp
timestamp
communication system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9080373A
Other languages
English (en)
Inventor
C Watters Richard
リチャード・シー・ウォーターズ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Information Technology Corp
Mitsubishi Electric Research Laboratories Inc
Original Assignee
Mitsubishi Electric Information Technology Corp
Mitsubishi Electric Research Laboratories Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Information Technology Corp, Mitsubishi Electric Research Laboratories Inc filed Critical Mitsubishi Electric Information Technology Corp
Publication of JPH10107851A publication Critical patent/JPH10107851A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Synchronisation In Digital Transmission Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【解決手段】 非同期通信網64を介して伝送されるデ
ータを同期化するのに必要な帯域幅、記憶容量及び計算
時間を少なくするために、同期化されるべき個々のデー
タ項目間に短時間の差違があるに過ぎず、高度の同期精
度で長時間にわたって連続動作を行う必要がある場合
に、非常に効率よく処理することのできるコンパクトな
モジュラー・タイムスタンプTが利用される。データに
付随するタイムスタンプTの精度及び範囲の双方を限定
することによって帯域幅、記憶容量、及び計算時間が少
なくできる。高い周波数でサンプリングされたデータを
比較的に低い周波数の塊68としてグループ化し、その
各塊に低精度タイムスタンプを割り当てることにより精
度を限定し、タイムスタンプを表すためにモジュール算
数を用いることにより範囲を限定する。 【効果】 非常に効率よく処理することができ、帯域
幅、記憶容量、及び計算時間を減少できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、通信網(networ
k)を介して伝送されるデータの同期化を行う通信シス
テムに関し、特に、各データ項目にタイムスタンプ(ti
mestamp)を付すことによって同期化を行う通信システ
ムに関するものである。
【0002】
【従来の技術】ネットワーク化されたコンピュータアプ
リケーションでは、データは一つの場所から他の場所へ
と伝送される。そのデータは、例えば音声などの単一の
種類の情報のみから成ることもあり、また、例えば音
声、画像、記号による事象の記述、及び実行されるべき
プログラムなどの種々の情報から成ることもある。いず
れの場合にも、特定のデータ項目に特定の時点が付随す
る。その様な場合には、種々のデータ項目を適切なとき
に処理し得るように、それらを同期化することが重要で
ある。
【0003】例えば、ビデオ会議(video conference)
に参加している二人の参加者A及びBを考察してみる。
参加者Aが参加者Bに画像情報と音声情報とを送り、逆
に参加者Bが参加者Aに送る。例えば、声を唇の動きと
同期させるために、画像と音声とを同期化することが重
要である。
【0004】同期化を支援する1つの方法は、例えば電
話回線などの同期している複数の通信チャネルを使用す
ることである。2地点間の同期通信チャネルの重要な特
徴は、該チャネルを介して送られる各データ項目が他端
で小さな一定の遅れ時間の後に受信されることが保証さ
れることである。同期通信チャネルの受信端での同期を
保証するために必要なことは、単に送信端でデータを同
期化することだけである。そのチャネル同士は同期して
いるので、同時に送られた2つのデータ項目は同時に受
信される。
【0005】例えば、参加者Aから参加者Bへ、またそ
の逆方向に、2つの同期リンクを、1つは音声用に、も
う1つは画像用に、設けることによって上記のビデオ会
議を支援することができる。そのとき、各ビデオフレー
ムが送られるのと同時に、そのビデオフレームに対応す
る音声情報を送るだけでよい。受信端において、音声及
び画像の各塊(chunk)を、それが受信された時点で提
示するだけで同期が達成される。
【0006】同期通信チャネルを使用し得る場合が幾つ
かある。しかし、不可能な場合も多くある。例えば、コ
ンピュータ通信網は通常は同期通信網ではなくて非同期
通信網である。非同期通信(asynchronous communicati
on)は、負荷が多様である場合にネットワークの帯域幅
を効率よく利用し得る方法であるために、コンピュータ
のローカルエリアネットワーク(LAN)と広域コンピ
ュータネットワーク(WAN)との両方に用いられてい
る。
【0007】非同期通信チャネルの重要な特徴は、通信
網を介して送られるデータ項目にいろいろな通過遅延が
加わることである。例えば、AからBへ送られる1つの
データ項目がわずか数ミリ秒(msecs)で通過し、その
次のデータ項目がAからBへゆくのに数百ミリ秒もかか
るということもある。非同期通信チャネルを使用すると
きは、データを送るときに該データを同期化しても、そ
れが受信されるときに同期が取れているとは限らない。
【0008】非同期通信リンクを介して送られるデータ
を同期化する標準的な方法は、そのデータが発生したと
思われる時を特定するタイムスタンプを各データ項目に
含めることである。例えば、上記のビデオ会議では、或
る日の午後1:01から33ミリ秒後に始まるという意
味の記号を1画像フレームに付ける。この場合、このフ
レームに対応する音声に同一のタイムスタンプを付け
る。
【0009】そのデータがたまたま受信された時とは無
関係に、そのデータを指定された時に、又は或る一定遅
延時間後に、呈示することによって、データを受け取っ
た側で同期が達成される。詳しく述べると、各データ項
目は受信されると直ぐにバッファーに記憶され、指定さ
れた時に使用される。速やかに通過して、呈示されるべ
き時より遥か前に到着したデータは、長い時間緩衝記憶
される。ゆっくり通過して、それが必要となる時の少し
前に到着したデータは、短い時間緩衝記憶されるだけで
ある。緩衝記憶時間の長さの違いは、通過時間の差を相
殺して同期を取るために使われる。バッファーは、最大
伝送遅延に十分に対処し得るような大きさを持っていな
ければならない。
【0010】例えば、上記のビデオ会議の例では、受信
側は、音声情報の塊を10個とビデオフレームを3個記
憶するバッファーを有し、データ項目には僅か100ミ
リ秒の範囲内の種々のタイムスタンプが付いている。こ
れら13個のデータ項目に付いているタイムスタンプに
基づいて、受信側は、音声の各塊を何時再生し、各ビデ
オ(画像)フレームを何時表示するかを決定する。
【0011】タイムスタンプにより同期を取る方式に
は、非同期通信リンクに対処し得るという利点の外に、
幾つもの利点がある。特に、この方式では、同時に発生
するべきデータを同時に送る必要はない。そのために、
送信プロセスをより柔軟に構築し得るようになる。ま
た、同期化されるべき多くの種類のデータを、複数の並
列通信リンクを用いずに、単一の通信リンクを介して1
つ1つ順に送ることができる。
【0012】タイムスタンプに関する特に重要な問題
は、タイムスタンプを表すために正確にはどのくらいの
コンピュータメモリーが必要かということである。例え
ば、上記のビデオ会議の例では、同期化されなければな
らないデータが基本的に2種類、即ち画像データと音声
データとある。画像変化を同期化させるときに必要な精
度は、人間の視角系の時間感度と、種々のビデオフォー
マットのフレーム率とにより限定される。或る種の特殊
な場合を除いて、人間の目は数十ミリ秒未満の時間の違
いに応答することはできない。この事実の故に、視角媒
体のフレーム率は通常は100以下である。標準的TV
のフレーム率は僅か30であり、映画のは僅か24であ
る。大体において、視角同期化には10ミリ秒程度の精
度で充分である。
【0013】音声変化を同期化するときに必要な精度
は、人間の聴覚系の時間感度と、種々のオーディオフォ
ーマットのサンプリング速度とにより限定される。耳は
目よりも遥かに時間の差に敏感である。僅か数ミリ秒の
差でも聞き分けることができる。更に、聴覚媒体のサン
プリング速度は広範囲にわたっており、非常に高速なの
が一般的である。例えば、CDは毎秒44、100サン
プルのサンプリング速度を使用する。48、000のサ
ンプリング速度が他のデジタル媒体で使用されている。
大体において、個々の音声サンプルの時間軸上の位置を
正確に決める必要がある場合には音声同期には最低でも
0.01ミリ秒の精度が必要となる。
【0014】最後の考慮事項は、他の多くの種類のシス
テムの場合と同じく、ビデオ会議システムの場合にもノ
ンストップで、即ち連続して数週間或いは数ヶ月間も中
断せずに、動作し続けることができることが望ましいと
いうことである。更に、その年だけでなくて、翌年以降
も多くの年にわたって動作できるべきである。これを支
援するために、タイムスタンプは長期間にわたる時を表
すことができるものでなければならない。大事をとっ
て、例えば100年などの、たっぷりとした長さを採用
するべきである。
【0015】100年間にわたって0.01ミリ秒の精
度でタイムスタンプを表すには、log2(100,0
00×60×60×24×365×100)=49ビッ
トが必要である。現在のコンピュータアーキテクチャで
は、僅か49ビットを使う実際的方法はない。むしろ6
4ビットに増やさなければならない。32ビットでは、
0.01ミリ秒の精度で僅かに約11時間の長さに充分
であるに過ぎないことに留意しなければならない。
【0016】
【発明が解決しようとする課題】64ビットのタイムス
タンプを使うという単純な方法に伴う問題は2重であ
る。第1に、ネットワークメッセージ及びその他におけ
る全てのタイムスタンプのために64ビットが必要なの
で、大量の記憶領域が必要となるという問題点があっ
た。第2に、現在、32ビットより大きい整数での計算
を支援できるコンピュータは殆ど無いので、大量の計算
時間が必要となり、64ビットの数の操作には、簡単な
命令ではなくて多倍精度計算ルーチンが必要となるとい
う問題点があった。
【0017】この発明は、前述した問題点を解決するた
めになされたもので、同期化に要するタイムスタンプの
精度が下げられ、従って少数のビットで表すことのでき
る低精度のタイムスタンプが用いられることになるので
帯域幅、記憶容量及び計算時間が減少し、前記タイムス
タンプを伝送するために必要な帯域幅は狭まり、前記タ
イムスタンプを記憶するのに要する記憶容量は小さくな
り、前記タイムスタンプを扱うのに要する計算時間は短
くなる通信システムを得ることを目的とする。
【0018】
【課題を解決するための手段】この発明に係る通信シス
テムは、非同期通信リンクを介して伝送される高速デー
タストリームを同期化するのに必要な帯域幅、記憶容量
及び計算時間を減少させるための通信システムにおい
て、前記データと関連して用いられるタイムスタンプの
精度を低下させるための手段を備えたものである。
【0019】また、この発明に係る通信システムは、前
記タイムスタンプの精度を低下させるための手段が、デ
ータサンプルの高速ストリームを、前記データサンプル
の時間軸上の位置を正確に指定するのに必要なタイムス
タンプより著しく精度の低いタイムスタンプを用いて塊
に対応する時間を正確に表せるように、サンプルの連続
するグループに対応する塊に分解する手段を含み、前記
高速ストリームは実際上データ塊の低速シーケンスに変
換され、これにより同期化に要するタイムスタンプの精
度が下げられ、従って少数のビットで表すことのできる
低精度のタイムスタンプが用いられることになるので帯
域幅、記憶容量及び計算時間が減少し、前記タイムスタ
ンプを伝送するために必要な帯域幅は狭まり、前記タイ
ムスタンプを記憶するのに要する記憶容量は小さくな
り、前記タイムスタンプを扱うのに要する計算時間は短
くなるものである。
【0020】また、この発明に係る通信システムは、さ
らに、前記データ塊にタイムスタンプを付加して、その
タイムスタンプが付加されたデータ塊を前記非同期通信
リンクに接続されている遠隔のノードに伝送する手段
と、前記遠隔のノードにおいて、前記タイムスタンプが
付加されたデータ塊を高速データストリームに組み立て
直す手段とを備えたものである。
【0021】また、この発明に係る通信システムは、前
記組み立て直し手段が、バッファーと、前記バッファー
から読み出されるデータ塊の長さが該バッファーの長さ
の約数となるように前記組み立て直されたデータを前記
バッファー内に配置する手段とを含み、これにより前記
読み出される塊は前記バッファーの終端部から前記バッ
ファーの始端部へと丸まることは決してなくなり、従っ
て前記データ塊を使用前にステージング領域に複写する
必要はなくなるものである。
【0022】また、この発明に係る通信システムは、所
要のタイムスタンプの精度を低下させることによって非
同期通信リンクを介して伝送される離散的データ及び高
速データストリームを同期化するのに必要な帯域幅、記
憶容量及び計算時間を減少させるための通信システムに
おいて、データサンプルの高速ストリームを、前記デー
タサンプルの時間軸上の位置を正確に指定するのに必要
なタイムスタンプより著しく精度の低いタイムスタンプ
を用いて塊に対応する時間を正確に表せるように、サン
プルの連続するグループに対応する塊に分解する手段
と、前記離散的データと高速データサンプルの塊とにタ
イムスタンプを付ける手段と、前記タイムスタンプが付
されたデータを前記非同期通信リンクを介して送信する
手段と、前記非同期通信リンクに接続された遠隔の場所
において、前記タイムスタンプが付されたデータを受信
する手段と、前記遠隔の場所において、前記タイムスタ
ンプが付されたデータ塊をデータサンプルの高速ストリ
ームに組み立て直す手段と、前記タイムスタンプが付さ
れた離散的データと前記組み立て直されたデータサンプ
ルの高速ストリームとを緩衝記憶する手段と、前記タイ
ムスタンプにより指定されている時に前記緩衝記憶され
ているデータを読み出す手段とを備え、伝送するのに必
要な帯域幅が比較的に狭く、記憶するのに必要な記憶容
量が比較的に小さく、処理するのに必要な計算が比較的
に少ない、精度の低いタイムスタンプを使用する結果と
して、少ない帯域幅、記憶容量及び計算時間で同期化を
達成するものである。
【0023】また、この発明に係る通信システムは、非
同期通信リンクを介して伝送されるデータを同期化する
のに必要な帯域幅、記憶容量及び計算時間を減少させる
ための通信システムにおいて、前記データと関連して用
いられるタイムスタンプの範囲を減少させるための手段
を備えたものである。
【0024】また、この発明に係る通信システムは、前
記タイムスタンプの範囲を減少させるための手段が、整
数の乗数X’と法mとについて式x=X−X’×mによ
り計算されたモジュール算数の剰余xであるタイムスタ
ンプを含み、少数のビットで表すことのできる小さな範
囲を持ったタイムスタンプを使用する結果として帯域
幅、記憶容量及び計算時間を減少させており、前記タイ
ムスタンプを伝送するのに必要な帯域幅が狭くなり、前
記タイムスタンプを記憶するのに必要な記憶容量が小さ
くなり、前記タイムスタンプを処理するのに必要な計算
が少なくなっているものである。
【0025】また、この発明に係る通信システムは、前
記剰余はタイムスタンプ毎に異なっていても、前記整数
の乗数は常に所定のノードにおいて使用されている全て
のタイムスタンプについて同一である様に前記タイムス
タンプは商正規化され、従って、加算及び比較に要する
計算量の少ないタイムスタンプを使用する結果として計
算時間が短くなっているものである。
【0026】また、この発明に係る通信システムは、非
同期通信リンクを介して伝送される離散的データを同期
化するのに必要な帯域幅、記憶容量及び計算時間を減少
させるための通信システムにおいて、このシステムで用
いる、範囲が短縮されたタイムスタンプは、所定のノー
ドにおいて同時に使用されている全てのタイムスタンプ
が同一の乗数を有することとなるように整数の乗数X’
と法mとについて式x=X−X’×mにより計算された
モジュール算数の商正規化された剰余xであり、前記範
囲が短縮されたタイムスタンプを前記離散的データに付
ける手段と、前記タイムスタンプが付されたデータを前
記非同期通信リンクを介して送信する手段と、前記非同
期通信リンクに接続された遠隔の場所において、前記タ
イムスタンプが付されたデータを受信する手段と、遠隔
の場所において、前記受信されたデータに付いているタ
イムスタンプが商正規化されているときには、前記タイ
ムスタンプを再正規化する手段と、前記タイムスタンプ
が付された離散的データを緩衝記憶する手段と、前記タ
イムスタンプにより指定されている時に前記の緩衝記憶
されたデータを読み出す手段とを備え、伝送するのに必
要な帯域幅が比較的に狭く、記憶するのに必要な記憶容
量が比較的に小さく、処理するのに必要な計算が比較的
に少ない、範囲が短縮されたタイムスタンプを使用する
結果として、少ない帯域幅、記憶容量及び計算時間で同
期化を達成するものである。
【0027】また、この発明に係る通信システムは、非
同期通信リンクを介して伝送されるデータを同期化する
のに必要な帯域幅、記憶容量及び計算時間を減少させる
ための通信システムにおいて、前記データと関連して使
用されるタイムスタンプの精度を低下させるための手段
と、前記データと関連して使用されるタイムスタンプの
範囲を短縮するための手段とを備えたものである。
【0028】また、この発明に係る通信システムは、前
記タイムスタンプの精度を低下させるための手段は、デ
ータサンプルの高速ストリームを、前記データサンプル
の時間軸上の位置を正確に指定するのに必要なタイムス
タンプより著しく精度の低いタイムスタンプを用いて塊
に対応する時間を正確に表せるように、前記高速ストリ
ームが実際上データ塊の低速シーケンスに変換されるこ
ととなるように、サンプルの連続するグループに対応す
る塊に分解する手段を含み、前記タイムスタンプの範囲
を減少させるための手段は、所定のノードにおいて同時
に使用されている全てのタイムスタンプが同一の乗数を
有することとなるように整数の乗数X’と法mとについ
て式x=X−X’×mにより計算されたモジュール算数
の商正規化された剰余xであるタイムスタンプを含むも
のである。
【0029】さらに、この発明に係る通信システムは、
非同期通信リンクを介して伝送される離散的データ及び
高速データストリームを同期化するのに必要な帯域幅、
記憶容量及び計算時間を減少させるための通信システム
において、データサンプルの高速ストリームを、前記デ
ータサンプルの時間軸上の位置を正確に指定するのに必
要なタイムスタンプより著しく精度の低いタイムスタン
プを用いて塊に対応する時間を正確に表せるように、前
記高速ストリームが実際上離散的データの低速シーケン
スに変換されることとなるように、サンプルの連続する
グループに対応する塊に分解する手段と、範囲が短縮さ
れたタイムスタンプは、所定のノードにおいて同時に使
用されている全てのタイムスタンプが同一の乗数を有す
ることとなるように整数の乗数X’と法mとについて式
x=X−X’×mにより計算されたモジュール算数の商
正規化された剰余xであり、前記範囲が短縮されたタイ
ムスタンプを前記離散的データ及び高速データサンプル
塊に付けるための手段と、前記タイムスタンプが付され
たデータを前記通信リンクを介して送信する手段と、前
記非同期通信リンクに接続された遠隔の場所において、
前記タイムスタンプが付されたデータを受信する手段
と、前記遠隔の場所において、前記受信されたデータに
付いているタイムスタンプが商正規化されているときに
は、前記受信されたデータに付いているタイムスタンプ
を再正規化する手段と、前記遠隔の場所で前記タイムス
タンプが付されたデータ塊をデータサンプルの高速スト
リームに組み立て直す手段と、前記タイムスタンプが付
された離散的データと前記組み立て直されたデータサン
プルの高速ストリームとを緩衝記憶する手段と、前記タ
イムスタンプにより指定されている時に前記緩衝記憶さ
れたデータを読み出す手段とを備え、前記分解する手段
により同期化に必要なタイムスタンプの精度が低下し、
伝送するのに必要な帯域幅が比較的に狭く、記憶するの
に必要な記憶容量が比較的に小さく、処理するのに必要
な計算が比較的に少ない、精度の低いタイムスタンプを
使用する結果として、少ない帯域幅、記憶容量及び計算
時間で同期化を達成するものである。
【0030】本発明では、要求される精度を低下させる
とともに要求される範囲を狭めることによって、32ビ
ットのタイムスタンプ又は場合によってはもっと短い例
えば16ビットのタイムスタンプを使用して同期をとる
ための手段が設けられる。高周波数でサンプリングされ
たデータを、より低い周波数の塊としてグループ化し、
各塊に低精度タイムスタンプを割り当てることにより精
度を限定する。タイムスタンプを表現するためにモジュ
ール演算(modular arithmetic)を用いることにより範
囲を限定する。例えば、上記のビデオ会議の例では、音
声情報を塊化(chunking)し、1週間を法(modulo)と
してタイムスタンプを使用すれば、64ビットのタイム
スタンプの代わりに32ビットのタイムスタンプを使用
することができる。この様な小さなタイムスタンプを用
いれば、メッセージのサイズが小さくなるので通信網の
帯域幅を節約することができ、記憶されるタイムスタン
プのサイズが小さくなるのでコンピュータメモリーを節
約することができ、計算ルーチンではなくて単一のコン
ピュータ命令でタイムスタンプを処理できるので計算時
間を節約することができる。
【0031】下記の2つの所見により、非同期通信回線
を介して送られる情報を同期化するときに64ビットよ
り遥かに短いタイムスタンプを使用することが可能とな
る。
【0032】第1の所見は、音声情報に関する。音声サ
ンプルは、通常は一度に1つずつ処理されるのではなく
てグループ毎に処理される。その結果として、個々のサ
ンプルの時間軸上の位置を正確に決めることができなく
てもよく、サンプルのグループの時間軸上の位置を正確
に決めることさえできればよい。更に、人間の耳は2つ
の音が同期していないことを非常に高い精度で聞き分け
ることができるけれども、人間の知覚系は音と視覚的変
化との同期をそれに近いような精度で検出することはで
きない。音声サンプルが常に適当なグループ毎に処理さ
れるべきことを要求することによりタイムスタンプに必
要な精度を著しく低くすることができる。
【0033】詳しく述べると、タイムスタンプが1ミリ
秒(msec)の精度を持ち、音声のどの塊も1ミリ秒の整
数倍に正確に相当する数個のサンプルを含んでいなけれ
ばならないと指定することができる。毎秒8、000サ
ンプルの音声率では、このことは1つの塊の中のサンプ
ルの数が8の倍数でなければならないことを意味してお
り、これは1ミリ秒に相当する。44、100の音声率
では、このことは1つの塊の中のサンプルの数は441
の倍数でなければならないことを意味し、これは10ミ
リ秒に相当する。
【0034】この方式は、一般に、音声の塊を他の事象
に関して1ミリ秒の精度で位置決めできるに過ぎないこ
とを意味する。音声の2つの塊が連続する場合には、常
にそれらを1サンプルもの精度で正確に順々に位置決め
することができる。
【0035】非常に重要な第2の所見は、同期を長期間
にわたって継続させたいと人が望んだとしても、人が関
心を持つのは時間的に近い事象同士の詳細な同期だけで
ある。従って、タイムスタンプを表現するのにモジュー
ル算数(演算)を使用することができる。
【0036】タイムスタンプとして、或る合意された開
始時からのミリ秒単位の絶対時間ではなくて、1週間
(これは、1000×60×60×24×7=604、
800、000ミリ秒である)を法として或る開始時か
らミリ秒単位で表した時間を用いるとしてみよう。この
法は232=4、294、967、296より小さいの
で、この様なモジュール算数による時間表現には32ビ
ットのタイムスタンプで充分である。32ビットのモジ
ュール算数によるタイムスタンプを用いて、その法の半
分より短い時間しか離れていない2つの事象を精密に且
つ明確に同期化することができる。この場合、3.5日
未満の時間だけ離れている事象同士について同期をとる
ことができる。もっと長い時間間隔に関しては、有用な
情報はないけれども、その様な時間間隔はこのアプリケ
ーションでは重要でない。特に、非同期通信網を使用す
る場合には、データが正しいミリ秒で到着するとは保証
できないけれども、一般にデータが正しい分の間に到着
することを保証することはささいなことであるので、そ
のデータと同期化されるべきデータが到着したときから
3.5日より遥かに短い時間の間に到着することを保証
することは問題ではない。
【0037】モジュール算数を用いて64ビットから3
2ビットのタイムスタンプに変更すれば、タイムスタン
プのサイズが小さくなるのでスペースを節約することは
できるけれども、計算時間を節約できるとは限らない。
その理由は、一般に、モジュール算数の演算は少なくと
も多倍精度演算と同じくらい複雑だという事実にある。
主要な難点は、2つの普通のタイムスタンプのうちのど
ちらが前の時に対応するかを判定するのは容易であるが
2つのモジュラー・タイムスタンプ(modulartimestam
p:モジュール算数を使って表現したタイムスタンプ)
を比較するのはそれほど簡単なことではないということ
である。例えば、1週間を法としてモジュール算数の数
を扱う標準的方法を用いると、或る週の終わりに非常に
近い時に対応するタイムスタンプT1は非常に大きな数
となり、次の週の始まりに近い時に対応するタイムスタ
ンプT2は丸まって小さな数となる。この様なことが問
題となる。即ち、T2の方が小さい数であってもT2の
方がT1より後の時を指定していると正しく認識されな
ければならないからである。比較を行う度にこの様な特
別の場合をチェックしなければならないので、標準的モ
ジュラー数(standard modular numbers)を比較するこ
とは複雑である。
【0038】上記のような計算の複雑さを避けるため
に、本発明は、法に達したときに丸まらない非標準的種
類のモジュラー数を使用する。例えば、1週間を法とし
てモジュラー数を扱うこの非標準的方法を用いると、或
る週の終わりに非常に近い時に対応するタイムスタンプ
T1は大きな数となり、次の週の始まりに近い時に対応
するタイムスタンプT2は丸まって小さな数になるので
はなくて1週間より大きな数となる。この非標準的方式
の利点は、タイムスタンプT2がタイムスタンプT1よ
り大きな数で表される場合に限ってタイムスタンプT2
はタイムスタンプT1より後の時に対応するということ
である。これで比較が非常に容易になる。
【0039】タイムスタンプが無限に大きくなっても良
いとすると、結局は、タイムスタンプを表すのに使える
ビット数からあふれ出してしまうことになる。これを避
けるために、本発明のシステムは、考察対象の全てのタ
イムスタンプを同時に丸めることにより、それらを定期
的に調整する。1週間を法とするときには、この操作を
毎週1回行うだけでよい。
【0040】1週間を法とするのは幾つかの理由から便
利なことであるけれども、それが唯一の実行可能な選択
肢というわけではない。例えば、上記のビデオ会議の例
では、どの瞬間にも収容されなければならないタイムス
タンプの範囲に厳格な境界があって、僅か15秒間(こ
れは1000×15=15、000ミリ秒であって、2
16=65、536より小さい)を法として用いることが
可能であるかも知れない。そうすれば、32ビットのタ
イムスタンプの半分のスペースを必要とするに過ぎない
16ビットのタイムスタンプを使うことが可能となる。
しかし、今日生産されているコンピュータの殆どは32
ビット計算のハードウェアを持っているので、タイムス
タンプを32ビットから16ビットに短縮しても計算時
間を節約するのには殆ど又は全く役立たない。
【0041】ビデオ会議は単純で理解しやすいので、如
上において例として取り上げた。しかし、タイムスタン
プに基づいて同期をとる必要のある場合が他にも多数あ
る。本発明のシステムはそれらの全ての場合に役に立
つ。例えば、複数の人たちが相互に且つ種々のコンピュ
ータシミュレーションと実時間で対話する分散型マルチ
ユーザーコンピュータ環境を考察しよう。その様な環境
では、ユーザーは、例えば音声、画像、動くことのある
図形の記述など、多くの種類のデータを多くの出所から
受け取る。そのようなデータは、別々の多くの場所から
通信網を介して到来するので、極めてまちまちの遅延が
加わる。首尾一貫した画像を呈示するためには、そのデ
ータの全てを同期化しなければならない。本発明のシス
テムと32ビットのタイムスタンプとを使ってこれを簡
潔に効率よく実行することができる。
【0042】要約すると、非同期通信網を介して伝送さ
れるデータを同期化するのに必要な帯域幅、記憶装置及
び計算時間を少なくするために、同期化されるべき個々
のデータ項目間に短時間の差違があるに過ぎず、高度の
同期精度で長時間にわたって連続動作を行う必要がある
場合に、非常に効率よく処理することのできるコンパク
トなモジュラー・タイムスタンプが利用される。データ
に付随するタイムスタンプの精度及び範囲の双方を限定
することによって帯域幅、記憶装置、及び計算時間が少
なくされる。高い周波数でサンプリングされたデータを
比較的に低い周波数の塊としてグループ化し、その各塊
に低精度タイムスタンプを割り当てることにより精度を
限定し、タイムスタンプを表すためにモジュール算数を
用いることにより範囲を限定する。タイムスタンプの精
度とは、連続するタイムスタンプ同士の間の時間差であ
る。タイムスタンプの範囲は、最小のタイムスタンプと
最大のタイムスタンプとの差である。精度と範囲とを小
さくすると、コンピュータにおいてタイムスタンプを表
すのに必要なメモリーのビット数が少なくなる。法とし
ては、同期化されるべき個々のデータ項目間の予測され
る最大の差の2倍より大きな値が選ばれる。一実施例で
は、タイムスタンプは、1週間を法とするミリ秒単位に
相当する32ビットから成る。このタイムスタンプを用
いれば、もし種々の項目に付随する同期化のために同時
に呈示される時の差違がせいぜい1〜2日に過ぎないな
らば、44、100Hzの音声を含む広範なデータの同
期を無限の時間にわたって確実に維持することが可能で
ある。本システムは、例えば、複数の人たちが相互に且
つ種々のコンピュータシミュレーションと実時間で対話
する分散型マルチユーザーコンピュータ環境において音
声と図形の動きとの同期をとるのに役立つ。別の実施例
では、タイムスタンプの修正されたモジュラー表示を用
いるので、標準的モジュール算数に必要とされる連続的
な再正規化(renormalization)(繰り込み)が不要と
なる。この修正形モジュール算数は、その代わりに、法
に相当する時間が経過する毎に再正規化行うに過ぎな
い。
【0043】
【発明の実施の形態】
実施の形態1.図1を参照する。同期をとるという基本
的問題は、一つの場所から他の場所へ送られるデータシ
ーケンス同士の適切な時間的関係を維持することであ
る。
【0044】図1において、2つのユーザーステーショ
ン10及び12がビデオ会議で接続されている。ユーザ
ーステーション10は、マイクロホン10Aと、TVカ
メラ10Cと、スピーカー10Eと、TVモニター10
Gとから成っている。同じく、ユーザーステーション1
2は、マイクロホン12Aと、TVカメラ12Cと、ス
ピーカー12Eと、TVモニター12Gとから成ってい
る。人(ユーザー)18は、ユーザーステーション10
の前に座って、ユーザーステーション12の前に座って
いる人(他のユーザー)20とビデオ会議をしている。
マイクロホン10Aにより捉えられた音声はスピーカー
12Eを通して再生される。カメラ10Cにより捉えら
れた画像はTVモニター12Gで表示される。
【0045】図1に描かれている瞬間に、人18はちょ
うど自分の左手22でテーブル24を叩いて「バン!」
(BANG)という音を発生させた。TVモニター12G
で、人20は人18の画像18’を見ており、手22の
画像22’はテーブル24の画像24’を叩いている。
「バン!」という音がスピーカー12Eから出てくる。
手の画像22’がテーブルの画像24’を叩くのと同時
に「バン!」という音が発生することを保証するため
に、同期をとる必要がある。
【0046】従来の技術では、同期通信リンク14A、
14C、16A、及び16Cを使うことによって同期を
維持することができる。通信リンク14A及び14Cで
の通過遅延量は一定であるので、データがステーション
10からステーション12へ送られる時を適宜同期化す
ることによって、ステーション12で表示される事象の
同期を完全に制御することができる。即ち、マイクロホ
ン10Aからの音声は、TVカメラ10Cから通信リン
ク14Cを介して送られた対応する画像と正確に同時に
ステーション12に到着することとなるように、通信リ
ンク14Aを介して送られる。
【0047】次に図2を参照する。同期通信回線を使え
ない場合も多い。例えば、符号30の所に描かれている
通信網などの通常のコンピュータ通信網は非同期であ
る。即ち、非同期通信網の場合には、同期通信リンクの
場合のように一定の遅延が加わるのではなくて、データ
伝送時間がメッセージ毎に大幅に異なることがある。
【0048】図1及び2で同様の参照符が用いられてい
る。また、図2の2つのユーザーステーション10及び
12は図1のそれと同じ構成要素を含んでいる。状況も
同様で、ユーザー18は手22でテーブル24を叩いて
いる。このことから、手22の画像22’がテーブル2
4の画像24’を叩くのと同時に「バン!」という音2
6’が聞こえることを保証しなければならないことにな
る。図1と図2の差は、図2が、ユーザーステーション
10とユーザーステーション12の間に複数の同期通信
リンクではなくて非同期通信網30を使ってデータを伝
送していることである。
【0049】従来の技術では、タイムスタンプを使って
非同期通信リンクで同期を得ることができる。詳しく述
べると、ビデオエンコーダ32は、TVカメラ10Cか
らの画像信号を分解してメッセージとし、各メッセージ
にタイムスタンプを付加し、そのメッセージを通信網3
0を介してステーション12へ送る。同じく、オーディ
オエンコーダ34は、マイクロホン10Aからの音声信
号を分解してメッセージとし、各メッセージにタイムス
タンプを付加し、そのメッセージを通信網30を介して
ステーション12へ送る。画像メッセージ及び音声メッ
セージはステーション12でバッファー36に受信され
る。バッファー36は、受信したデータを呈示に適する
時まで記憶することにより、通信網30の非同期特性に
起因するデータメッセージの通過時間の変動を補償す
る。バッファー36は、全てのメッセージに同一の正味
総合遅延(net total delay)が加わることとなるよう
に、通信網30を偶然に速やかに通過したメッセージに
余分の遅延を加えることにより、同期を達成する。ステ
ーション12からステーション10への同期通信も同様
にビデオエンコーダ38、オーディオエンコーダ40、
及びバッファー(同期化装置)(buffer synchronize
r)42により行われる。
【0050】同期化の問題は、図3に描かれている分散
型マルチユーザーコンピュータ環境の場合のように通信
網を介して多数のステーションが通信するときには、一
層複雑になる。ここでは、ステーション50、52、5
4、及び56が通信網58を介して通信をする。これら
のステーションのユーザーは仮想世界(virtual worl
d)において音声及び3次元グラフィックス(3D graphi
cs)で互いに対話し会う。ユーザー達は、動画化された
画像をモニター50E、52E、54E、及び56Eで
それぞれ見る。ユーザー達はそれぞれマイクロホン50
A、52A、54A、及び56Aに向かって話す。ユー
ザー達は、相手の言っていること及びその他の音をスピ
ーカー50C、52C、54C、及び56Cからそれぞ
れ聞く。各ステーションは、仮想世界の状態を記述する
世界モデル(world model)50G、52G、54G、
及び56Gをそれぞれ含んでいる。
【0051】図3に描かれている瞬間に、仮想世界の中
のドアがばたんと閉められる。このことは、モニター5
0E上で画像50Iとして描かれている。対応する「ば
たん(slam)」という音50Kがスピーカー50Cから
出てくる。ドアの画像52I、54I、56I及び「ば
たん」という音52K、54K、56Kが他のステーシ
ョンにもそれぞれ現れる。同期をとるというタスクは、
ばたんと閉まるドアの画像がばたんという音が関連のス
ピーカーから出てくるのと同時に現れるのを保証するこ
とである。
【0052】ユーザーが多くなれば、異なるステーショ
ン対の間を往来するメッセージが異なる経路をたどって
往来することになるのであるから、データの通過時間が
一層まちまちとなる。更に、或るステーションで受信さ
れる情報の送り手が複数人であるので、たとえ同期通信
リンクを使ったとしても、いずれか1人の送り手が一方
的に同期を保証し得る方法は全くない。
【0053】従来の技術では非同期通信リンクでの同期
化は、十分に多くのビットを有するタイムスタンプを使
用すれば達成可能である。上記したように、殆ど全ての
アプリケーションのために64ビットのタイムスタンプ
で充分である。けれども、それは、その様に大きなタイ
ムスタンプを伝送するのに必要な通信帯域幅と、各ステ
ーションにおいてその様に大きなタイムスタンプを記憶
するのに必要なメモリーと、各ステーションにおいてそ
の様に大きなタイムスタンプを処理するのに要する計算
時間とに関して、多大のコストを必要とする。
【0054】次に、図4を参照すると、同期をとる必要
のあるアプリケーションの大多数において32ビットの
タイムスタンプを使うことのできるシステムが描かれて
いる。これは、データに付随するタイムスタンプの精度
及び範囲の双方を限定することによって達成される。高
周波数でサンプリングされたデータを、より低い周波数
の塊としてグループ化し、各塊に低精度タイムスタンプ
を割り当てることにより精度を限定する。タイムスタン
プを表現するためにモジュール算数を用いることにより
範囲を限定する。
【0055】図4において、通信網64は、ステーショ
ン60のデータ収集側をステーション64のデータ表示
側に接続している。ステーション60に関して、種々の
データソース即ちマイクロホン60A、TVカメラ60
C、複数の特殊入力装置(special input devices)6
0E、ユーザー対話アプリケーション(user interacti
on application)60G、及びコンピュータシミュレー
ション(computer simulation)60Iがタイムスタン
プを付加する操作(timestamping)66を必要とする。
タイムスタンプ(T)が付されたデータ68は通信網6
4を介してステーション62へ送られ、そこでそのデー
タはスピーカー62A、モニター62C、複数の特殊出
力装置(special output devices)62E、ユーザー対
話アプリケーション62G(user interaction applica
tion)、及び/又はグラフィックス再現ハードウェア6
2I(graphics rendering hardware)により利用され
る。同期化はタイムスタンプ再正規化(又は繰り込み)
(timestamp renormalization)70及び緩衝記憶(buf
fering)72の組み合わせにより達成される。緩衝記憶
機構72は、データ項目を、それらが読み出されるべき
時まで記憶する。
【0056】通信網64を介して伝送されるデータには
基本的に2種類がある。1つは図3の「ばたん」という
音のデジタル表現等のデータのシーケンスであり、もう
1つは特定時点におけるドア50Iの位置などの離散的
データである。タイムスタンプに必要な精度を限定する
ために、同期精度に影響を及ぼさずに比較的に低い精度
のタイムスタンプを使用し得るように、高速のデータシ
ーケンスを塊化することが重要である。
【0057】図5は、本システムにより音声データがど
のようにして塊化されるかを示すことにより塊化のプロ
セスを示す。全てのデジタル音声システムの場合と同じ
く、アナログ音声波形80は、該波形を一定時間毎にサ
ンプリングすることによってデジタル波形に変換され
る。これにより、離散的な値のサンプル列82が得られ
る。図は毎秒8、000サンプルを使用することを示し
ており、これは1ミリ秒あたり8サンプルである。個々
のサンプルの時間軸上の位置を指定するのに要する精度
は0.125ミリ秒である。従って、もし任意のサンプ
ルにタイムスタンプを与えるとすると、そのタイムスタ
ンプはこの精度を持っていなければならない。
【0058】けれども、音声サンプルは孤立して発生す
るのではなくて、長いサンプル列の一部としてのみ発生
する。幾つものサンプルをまとめて塊にすれば、もっと
精度の低いタイムスタンプを使うことができる。図5に
おいて、音声サンプルは、各々4ミリ秒に対応する32
個のサンプルを含む塊84にグループ化される。各塊に
は、サンプル列82の全体におけるその塊の開始位置か
ら得られたミリ秒単位で表されたタイムスタンプ86が
付与される。
【0059】ミリ秒単位のタイムスタンプが充分な精度
を持つことを保証するために、各塊は正確に1ミリ秒の
整数倍に対応しなければならない。例えば、毎秒8、0
00サンプルを使用するときには、塊は、8サンプル
(1ミリ秒)又は16サンプル(2ミリ秒)、又は32
サンプル(4ミリ秒)を包含することができるが、33
サンプル(4.125ミリ秒)を包含することはできな
い。音楽CDの場合のように毎秒44、100サンプル
を使用するときには、塊は441サンプル(10ミリ
秒)又は882サンプル(20ミリ秒)を包含し得るけ
れども、100サンプル(2.268ミリ秒)を包含す
ることはできない。
【0060】1ミリ秒の整数倍に正確に対応する塊を用
いれば、ミリ秒タイムスタンプを使うときに連続する塊
が正確に順に並ぶことになる。しかし、最初の塊は正確
にミリ秒の時間境界に置かれなければならない。このこ
とは、もっと精度の高いタイムスタンプを使うのと比べ
ると精度が少し悪くなっていることを意味する。しか
し、それは人間の耳では聞き分けられない。
【0061】高速データを塊化することによって所要の
タイムスタンプの精度を限定するのに加えて、本システ
ムはモジュール算数を用いて所要のタイムスタンプの範
囲を縮小する。詳しく述べると、ミリ秒単位で絶対時間
を表すタイムスタンプを用いるのではなくて、本システ
ムは、1週間を法として時間をミリ秒単位で指定するタ
イムスタンプを用いる。それ故に、僅か32ビットのメ
モリーを用いてタイムスタンプを表すことができるの
で、記憶装置及び通信帯域幅を節約することができるこ
とになる。
【0062】図6及び図7は、図4のタイムスタンプ付
加66の操作を示すフローチャートである。図6を参照
する。タイムスタンプを付すべきデータが高速シーケン
スの一部分であるならば、そのデータを分解して適当な
塊に分け、次に各塊に32ビットのモジュラー・タイム
スタンプを付加する(ステップ100〜102)。そう
でなけば、そのデータ全体を1塊としてタイムスタンプ
を付加する(ステップ103)。次に、図7を参照す
る。或るデータ項目が高速データシーケンスの中の最初
(1番目)の塊以外の塊であるならば、そのシーケンス
全体の中でのその塊の位置を指定する32ビットのモジ
ュラー・タイムスタンプがその塊に付加される(ステッ
プ110〜111、113)。そうでなければ、1週間
を法として表した現在の時に対応する32ビットのモジ
ュラー・タイムスタンプがそのデータ項目に付加される
(ステップ110、112〜113)。また、将来発生
する事象を指定するために、将来の1週間までの時に対
応する32ビットのモジュラー・タイムスタンプを使用
することができる。
【0063】いうまでもなく、モジュラー算数を使えば
タイムスタンプのサイズが小さくなるのでスペースを節
約できるけれども、必ずしも時間を節約できるとは限ら
ない。その理由は、一般にモジュラー算数の演算は普通
の算術演算より著しく複雑だということにある。このこ
とを理解するには、モジュラー算数に関する幾つかの事
実を考察する必要がある。
【0064】普通の数Xと、法mに関してこれに対応す
るモジュラー数xとの関係は次の通りである。X=X’
×m+x一般に、モジュラー数は「正規化された剰余
(remainder normalized)」と呼ばれるものでなければ
ならない。これは、常に0≦x<mでなければならない
ことを意味する。この場合、モジュラー数xは普通の数
Xを法mで割った余りであり、X’はXをmで割った商
である。例えば、 57=5×10+7、 57=4×10+17、 57=6×10−3 であるから、10を法とする57の正規化された剰余は
7であり、「17」と「−3」とは、正規化された剰余
ではないモジュラー表示である。
【0065】2つの普通の数X及びYの和を計算するた
めに、単一の機械語命令を使って、Z=X+Yを計算す
ることができる。しかし、対応する正規化された剰余で
あるモジュラー数xとyとを加算するには、これらの数
を加算し、次に下記のような計算を行ってその結果を正
規化された剰余としなければならない。 z=x+y; if(z>m)z=z−m; return z; 例えば、10を法とする57を10を法とする58に加
える場合に、正規化された結果は5=7+8−10であ
る。
【0066】普通の数Xが他の普通の数Yより小さいか
どうか確かめるために単一の比較命令X<Yを使用する
ことができるけれども、対応する正規化された剰余であ
るモジュラー数同士の比較を行うためには下記のような
計算が必要である。 z=y−x; if(z<−m/2 || 0<z && z<m/
2)return TRUE; return FALSE; ここでは複雑さは2倍である。第1に、モジュール数に
より表される絶対数の差が法の1/2より大きくないこ
とを前提としなければならない。この様な前提が成り立
たなければ、比較は無意味である。例えば、10を法と
する2つの基本数4と7を比較するとしよう。モジュラ
ー数4は普通の数4、14、24、34、等々に対応す
る。モジュラー数7は普通の数7、17、27、37、
等々に対応する。モジュラー数がどの普通の数に対応す
るかに関して何らかの前提がなければ、モジュラー数同
士を比較する方法はない。もし4が34に対応し、7が
17に対応するのであれば、4の方が大きい。また、も
し4が14に対応し、7が17に対応するのならば、7
の方が大きい。しかし、もし4と7に対応する絶対数同
士の差が法「10」の1/2である5より大きくはない
と仮定するならば、4の方が7より小さいとはっきりと
言うことができる。その理由は、対応する絶対数は14
と17、又は24と27かも知れないが、24と17の
組み合わせのように差が5より大きいものは排除される
からである。許されるどの組み合わせでも、4に対応す
る絶対数は7に対応する絶対数より小さい。
【0067】第2に、比較を行うときに剰余正規化につ
いての補償を行わなければならない。詳しく述べると、
剰余正規化に起因して、或るモジュラー数が、実際には
逆なのに、他の数より遥かに小さく見えるということが
あり得る。例えば、10を法として演算を行い、4を7
に加えると1になるが、これは7より遥かに小さく見え
るけれども、実際にはそれより僅かに大きい。詳しく述
べると、もし7が57に対応するならば、1は61に対
応しなければ成らず、これは57より大きい。この1が
51に対応することはあり得ない、なぜなら、51と5
7との差は5より大きいからである。
【0068】如上においては、中間結果zを表すのに使
われるビット数は、2つのモジュラー数の和を表すのに
充分でなければならず、且つ、モジュラー数同士の差に
対応する負の数を表すのに充分でなければならない。従
って、1週間が232より小さいだけでなく、230=1、
073、741、824よりも小さいということは重要
である。それは、オーバーフローやアンダーフローのお
それ無しにタイムスタンプと、タイムスタンプを含む中
間計算結果との両方を表すのに32ビットの数を使える
からである。
【0069】上記した種類の複雑な計算をしなくてもす
むように、本発明は剰余正規化された(remainder norm
alized)モジュラー数を使用しない。むしろ、本発明は
「商正規化された(quotient normalized)」モジュラ
ー数を使用する。詳しく述べると、与えられた2つのモ
ジュラー数xとy: X=X’×m+x; Y=Y’×m+y; について、0≦x<mで且つ0≦y<mであることを要
求する代わりに、「商正規化」はX’=Y’=Qである
ことを要求し、与えられたノードにおいて全てのタイム
スタンプについて乗数Qが常に同一でなければならず、
−m<x<2*mで且つ−m<y<2*mであることを
要求するに過ぎない。
【0070】任意の時点で同期をとる対象となっている
全てのデータは時間軸上で互いに割合に近くにあると分
かっているから、X’=Y’であることを要求するのは
不当なことではないので、商正規化は同期化のためには
適当である。しかし、大幅に異なる普通の数に対応する
モジュラー数を同時に考慮しなければならない場合に
は、この様な制限は不当であろう。
【0071】本発明の観点からは、剰余正規化と比べて
商正規化の極めて重要な特徴は、商正規化されたモジュ
ラー数同士を、普通の数と全く同じように、標準的数値
比較命令を使って比較することができるということであ
る。また、それらが充分に小さいことが分かっているな
らば、商正規化されたモジュラー数を普通の数の場合と
全く同様に、結果に対して再正規化を行うことを要せず
に、単一の命令で加算することもできる。
【0072】商正規化されたモジュラー数の計算を行う
毎に再正規化を行わなくても良いけれども、時折は再正
規化を行うことが必要になる。詳しく述べると、時間が
経過するに従って、使用される商正規化されたモジュラ
ー・タイムスタンプはどんどん大きくなってゆく。もし
何もしなければ、やがてタイムスタンプは法mより大き
いだけではなくて2×mよりも大きくなる。本発明で
は、定期的にQの値を大きくし、且つシステムの各タイ
ムスタンプから法を差し引くことにより、システムの全
てのタイムスタンプに対して定期的に再正規化を行うこ
とにより、これを防止する。このような操作に対応する
計算量は大したものではなく、法に対応する期間毎に1
回行うだけでよい。即ち、1週間を法とするときは、こ
のような操作を1週間に1回行うだけでよい。
【0073】商正規化されたモジュラー数の操作は効率
がよいので、本発明では、商正規化を行うことにより、
タイムスタンプを加算し比較する毎に大量の計算を行う
という代償を支払うことなくモジュラー表示のスペース
効率を獲得することが可能となっている。実際、32ビ
ットの数は現在の殆どの計算機で64ビットの数より著
しく速く加算され比較され得るので、本発明によれば、
64ビットのタイムスタンプを用いるシステムと比べて
大量の計算時間を節約することができる。
【0074】如上における重要な複雑事項は、コンピュ
ータ間で伝送されるメッセージにタイムスタンプが含ま
れているということである。1つのコンピュータが新し
い週に移行して、そのタイムスタンプの全てをその週に
移行させるとき、暫くの間は他のコンピュータから前の
週のタイムスタンプを受け取り続けることがある。その
様なタイムスタンプをそのコンピュータに読み込むとき
にその様なタイムスタンプをそのコンピュータの中の他
のタイムスタンプと同じ週に変換できるように、その様
なタイムスタンプを検出しなければならない。受信側の
コンピュータでタイムスタンプとして表示されている現
在の時と受信されつつあるタイムスタンプとを比較する
ことにより、これを簡単に実行することができる。
【0075】コンピュータMがちょうど或る週から次の
週に切り替わったところだとしよう。この状況では、現
在の時を表すタイムスタンプは小さい。もしそのコンピ
ュータMが同じ週に該当するタイムスタンプの付いてい
るメッセージを受け取るならば、そのタイムスタンプも
小さくて、何も問題はない。しかし、もしコンピュータ
Mの受け取るメッセージに付されているタイムスタンプ
が前の週に対応するものであるならば、そのタイムスタ
ンプは前の週の終わりを指しているはずであるから大き
い。その大きなタイムスタンプを見て、コンピュータM
は、そのメッセージが現在の週への切換をまだ行ってい
ないコンピュータから来たものであることを知る。コン
ピュータMは、受信時にそれを調整するために、それか
ら法を差し引くことによりそのメッセージのタイムスタ
ンプを切り替える。
【0076】次に、コンピュータMが次の週への切換の
時に近づきつつあるという状況を考察しよう。この状況
では、現在の時を表すタイムスタンプは大きい。もしコ
ンピュータMが同じ週を指すタイムスタンプの付いてい
るメッセージを受け取ると、そのタイムスタンプにも大
きくて、何も問題はない。けれども、もしコンピュータ
Mが次の週に対応するタイムスタンプの付いているメッ
セージを受け取ると、そのタイムスタンプは次の週の始
めを指しているはずであるから、小さいであろう。その
小さなタイムスタンプを見て、コンピュータMはそのメ
ッセージが次の週への切換を既に終えたコンピュータか
ら来たことを知る。コンピュータMは受信時にそのタイ
ムスタンプに法を加算することにより、そのタイムスタ
ンプを現在の週に戻す。
【0077】いろいろなコンピュータの時計が正確に同
期しているとは限らないけれども、最悪の場合にも1日
以内のずれでほぼ同期していることを保証するのは容易
であるので、メッセージの中のタイムスタンプをどのよ
うに調整するかを決定する上記の方法は有効である。従
って、予想される最大のエラーは1週間という法に比べ
れば小さい。従って、通信し合っているいろいろなコン
ピュータはほぼ同時に、即ち1日のうちに或る週から次
の週に切り替わるであろうと考えても差し支えない。
【0078】即ち、コンピュータMは、現在の時に近い
タイムスタンプを受け取ったならばそれらの時は1週間
後や1週間前のではなくて同じ週の中の時に違いないと
見なしても差し支えない。更に、もしそれらの時が広範
囲に分散していても、それらは先週又は来週の中の直ぐ
近くの時を指しているはずであって、それよりもっと離
れた時を指しているのではないはずである。コンピュー
タMは、Mの時計が指している現在の時が週の始まりに
近いのか、それとも終わりに近いのかにより、その時が
来週を指しているのか、それとも先週を指しているのか
を明確に判定することができる。
【0079】上記の調整は、メッセージが受信されたと
きに図4のボックス70により行われるタイムスタンプ
再正規化の一部分として実行される。そのプロセスが図
8のフローチャートに記述されている。
【0080】図8において特に重要な量はDであり、こ
れは、メッセージを送ったコンピュータSとそれを受け
取るコンピュータRとの間の時間差に初期設定される。
その差は2つの要素からなっている。第1の要素は、メ
ッセージがコンピュータSからコンピュータRへ行くの
に要する時間である。例えば、1対のコンピュータ間で
通信網を介して送られるメッセージはそれに平均で11
ミリ秒を要することがある。
【0081】第2の要素は、2つのコンピュータの時計
同士が正確に同期していないことがあることである。例
えば、コンピュータSの時計は正確に正午を指し、コン
ピュータRの時計は正午から200ミリ秒経過した時刻
を指しているかも知れない。更に、コンピュータSが正
午に対応するタイムスタンプの付されたメッセージを正
午にコンピュータRに送ると仮定しよう。このメッセー
ジがコンピュータRに着くとき、Rの時計は211ミリ
秒を指している。その結果として、指定された時刻、即
ち正午は既に過ぎてしまっているので、コンピュータR
はそのメッセージの内容をその指定された時刻に利用す
ることはできない。
【0082】この時間差の問題に対処するために、本シ
ステムは、受信側のコンピュータと、これにメッセージ
を送る各コンピュータとの間の時間差の推定値を受信側
のコンピュータに維持する。上記の例では、コンピュー
タRとコンピュータSとの間の時間差は211=200
+11である。各入りメッセージのタイムスタンプに適
当な時間差を加算することにより、各入りメッセージを
調整する。この例では、タイムスタンプはきっかり正午
から変化するが、これは正午から211ミリ秒後に合わ
せて適宜処理することはできない。正味の結果として、
そのメッセージは直ちに利用されることになるが、それ
が送り手側の意図である。
【0083】単に各メッセージを受け取り次第直ちに使
用して推論された時間差ではなくて、はっきりした時間
差推定値を使用することは重要である。メッセージの通
過時間はまちまちであり、また、直ちにではなくて未来
の或る時に使用されるべきことを指摘しているタイムス
タンプをメッセージが持っていることがあるからであ
る。例えば、高速データの塊が幾つか同時に送られるけ
れども1つ1つ順に使用されることが意図されている場
合などがそうである。
【0084】時間差推定値は、そのデータが使用される
べき時に対して、それが何時送られたのかを特定する追
加のタイムスタンプを各メッセージに付加することによ
り決定される。その追加のタイムスタンプは、受信側の
コンピュータで到着時に現在の時と比較される。2つの
コンピュータの時計同士の差を単純な引き算で計算する
ことができる。2コンピュータ間での個々のメッセージ
の通過時間は著しく変動することがあるので、種々のメ
ッセージから推論された時間差推定値を統計的に組み合
わせて、与えられたコンピュータ同士の間の真の時間差
の確実な推定値を算出する。
【0085】次に図8を参照すると、3種類の基本的演
算が実行される。第1に、一番上のテスト(ステップ1
21)は、受信側のコンピュータに記憶されているタイ
ムスタンプを或る週から次の週に移行させなければなら
ないときを検出する。再正規化が必要なときには、それ
は現在記憶されている全てのタイムスタンプを変更する
ことにより行われる。第2に、下の2つのテスト(ステ
ップ125、127)は、メッセージに付いているタイ
ムスタンプが受信側のコンピュータで使用中のと同じQ
を使って表示されているか、それともそれに対して再正
規化を行う必要があるかを判定する。第3に、一番下の
ボックス(ステップ129)は、必要な再正規化を行う
とともに同時に受信側及び送信側のコンピュータ同士の
間の時間差を反映するようにタイムスタンプを調整す
る。
【0086】メッセージは、それが何時使用されるべき
かを示す1つのタイムスタンプの他に、例えば或る活動
を停止するべき時を指定するなどの他の目的のために使
用される追加のタイムスタンプを持つことができる。そ
れらの追加のタイムスタンプは主要なタイムスタンプと
正確に同じく処理される。
【0087】メッセージに付いているタイムスタンプが
再正規化された後は、本システムが実行するべきことと
して残っているのは、そのメッセージのデータが指定さ
れたときに使用されることを確実にすることだけであ
る。離散的データに関しては、その様にするのは簡単で
ある。離散的なデータは、そのタイムスタンプが指定し
ている時点まで図4のバッファー72に単に記憶されて
いる。その時点で該データは検索され処理される。
【0088】高速データの塊を効率よく処理するために
は、図9に示されているように複雑な処理が必要であ
る。図9は、音声などの高速データの塊の受信を効率よ
く処理する方法を示している。高速データに伴う中心的
難点は、それが大量にあるということである。絶対に避
けるべきことは、メモリーの中でデータをあちこちの記
憶場所へと繰り返し動き回らせることである。データの
塊を内蔵するメッセージが受信されたとき、そのデータ
を使用し得るような時が来るまでそのデータをバッファ
ーへ移動させて記憶させなければならない。データが使
用される前にそのデータを幾度も移動させるのではなく
て移動は1回しか行われないようにすることが極めて望
ましい。データが複写される毎に大量の計算が行われる
からである。
【0089】ここで図9を参照する。この図の一番上
に、再正規化されたタイムスタンプTを伴うデータの塊
90が描かれている。このデータはバッファー94の一
部分に複写される。バッファー94の全長はNミリ秒で
ある。Nの代表的な値は1000から2000ミリ秒、
即ち1〜2秒である。
【0090】バッファー94の中のデータが置かれる位
置BTは、T割るNから剰余を計算することにより計算
される。T自体は絶対時間Τをタイムスタンプの法Mで
割って剰余をとることにより計算されたものである。従
ってBT=Nを法とする(Mを法とするΤ)である。一
般に、この種のモジュール算数の二重使用を行うとBT
及びΤの関係が複雑で混乱したものになる可能性があ
る。しかし、本発明では、NがMの約数であることを要
求する。NがMの約数であるときには、Nを法とする
(Mを法とするΤ)=Nを法とするΤであり、従ってB
Tは単純にNを法とするΤに等しい。
【0091】NがMの約数でなければならないという要
求を満たすために、多くの約数のあるタイムスロットの
法を選択するのが良い。例えば、Mが素数であるなら
ば、Mの約数は2つだけ、即ち1とMだけであり、バッ
ファーの長さの選択肢は唯一Mだけである。これに対し
て、ミリ秒で表した1週間という法(これは210×33
×55×7に等しい)には多数の約数がある。従って、
所望の如何なる長さにもほぼ等しくなるようなバッファ
ー長さを得ることが可能である。このことは、例えばど
れくらいの量のメモリーを使用し得るかなど、バッファ
ー長さに関する制約が他にもあるから、重要である。
【0092】図9の一番下の部分に、時刻Uに使用され
るべくバッファー94から読み出される長さLミリ秒の
データ塊96が示されている。バッファー内のこのデー
タの記憶場所BUは、Nを法とするUの剰余をとること
により計算される。その2つの面は注目に値する。第1
に、モジュール算数を用いてBUを計算すれば、実際
上、バッファーの中の指定された位置に最後に置かれた
データを検索することになる。これを実現するために、
或る特定の時に対応するデータが未来の時に関するデー
タで上書きされる前に読み出されるチャンスを得るのに
充分な大きさをバッファーが持っていなければならな
い。例えば、高速データは使用されるべき時刻の1秒未
満前になるまでは決して送り出されないようにシステム
が動作するならば、1秒間より1ビットだけ大きな長さ
のバッファーを用いれば、未来のデータが古いデータを
その古いデータが使用される前に上書きしてしまうこと
はないと保証することができる。
【0093】第2に、読み出されるべきデータ塊96の
長さLがバッファー94の長さNの約数となるようにL
を選択すると、読み出されるべき塊は、常に、バッファ
ーの終わりから始めの部分へ丸まるので、途切れ目のな
い連続する記憶片となる。そのため、データを使用前に
ステージング領域に複写することなくバッファーからデ
ータを直接使用することが可能となる。
【0094】図9に示されている方式は、到来するデー
タを、たとえ乱雑な順序で受信しても、処理するもので
あることが理解されよう。各メッセージの中のデータは
単にバッファーの中の適当な場所に置かれ、そこから後
にデータを順序正しく読み出すことができる。
【0095】すなわち、この実施の形態1を要約する
と、非同期通信網30、58、64を介して伝送される
データを同期化するのに必要な帯域幅、記憶装置及び計
算時間を少なくするために、同期化されるべき個々のデ
ータ項目間に短時間の差違があるに過ぎず、高度の同期
精度で長時間にわたって連続動作を行う必要がある場合
に、非常に効率よく処理することのできるコンパクトな
モジュラー・タイムスタンプが利用される。データに付
随するタイムスタンプの精度及び範囲の双方を限定する
ことによって帯域幅、記憶装置、及び計算時間を少なく
できる。高い周波数でサンプリングされたデータを比較
的に低い周波数の塊としてグループ化し、その各塊に低
精度タイムスタンプを割り当てることにより精度を限定
し、タイムスタンプを表すためにモジュール算数を用い
ることにより範囲を限定するものである。
【0096】本発明の好ましい実施の形態を以上に記述
した。本発明の範囲内での修正や置換に当業者は想到す
るであろう。従って、本発明の範囲は特許請求の範囲の
欄においてのみ定義されるものとする。
【0097】
【発明の効果】この発明に係る通信システムは、以上説
明したとおり、非同期通信リンクを介して伝送される高
速データストリームを同期化するのに必要な帯域幅、記
憶容量及び計算時間を減少させるための通信システムに
おいて、前記データと関連して用いられるタイムスタン
プの精度を低下させるための手段を備えたので、高速デ
ータストリームを同期化するための帯域幅、記憶容量及
び計算時間を減少できるという効果を奏する。
【0098】また、この発明に係る通信システムは、以
上説明したとおり、前記タイムスタンプの精度を低下さ
せるための手段が、データサンプルの高速ストリーム
を、前記データサンプルの時間軸上の位置を正確に指定
するのに必要なタイムスタンプより著しく精度の低いタ
イムスタンプを用いて塊に対応する時間を正確に表せる
ように、サンプルの連続するグループに対応する塊に分
解する手段を含み、前記高速ストリームは実際上データ
塊の低速シーケンスに変換され、これにより同期化に要
するタイムスタンプの精度が下げられ、従って少数のビ
ットで表すことのできる低精度のタイムスタンプが用い
られることになるので帯域幅、記憶容量及び計算時間が
減少し、前記タイムスタンプを伝送するために必要な帯
域幅は狭まり、前記タイムスタンプを記憶するのに要す
る記憶容量は小さくなり、前記タイムスタンプを扱うの
に要する計算時間は短くなるという効果を奏する。
【0099】また、この発明に係る通信システムは、以
上説明したとおり、さらに、前記データ塊にタイムスタ
ンプを付加して、そのタイムスタンプが付加されたデー
タ塊を前記非同期通信リンクに接続されている遠隔のノ
ードに伝送する手段と、前記遠隔のノードにおいて、前
記タイムスタンプが付加されたデータ塊を高速データス
トリームに組み立て直す手段とを備えたので、高速デー
タストリームを同期化するための帯域幅、記憶容量及び
計算時間を減少できるという効果を奏する。
【0100】また、この発明に係る通信システムは、以
上説明したとおり、前記組み立て直し手段が、バッファ
ーと、前記バッファーから読み出されるデータ塊の長さ
が該バッファーの長さの約数となるように前記組み立て
直されたデータを前記バッファー内に配置する手段とを
含み、これにより前記読み出される塊は前記バッファー
の終端部から前記バッファーの始端部へと丸まることは
決してなくなり、従って前記データ塊を使用前にステー
ジング領域に複写する必要はなくなるという効果を奏す
る。
【0101】また、この発明に係る通信システムは、以
上説明したとおり、所要のタイムスタンプの精度を低下
させることによって非同期通信リンクを介して伝送され
る離散的データ及び高速データストリームを同期化する
のに必要な帯域幅、記憶容量及び計算時間を減少させる
ための通信システムにおいて、データサンプルの高速ス
トリームを、前記データサンプルの時間軸上の位置を正
確に指定するのに必要なタイムスタンプより著しく精度
の低いタイムスタンプを用いて塊に対応する時間を正確
に表せるように、サンプルの連続するグループに対応す
る塊に分解する手段と、前記離散的データと高速データ
サンプルの塊とにタイムスタンプを付ける手段と、前記
タイムスタンプが付されたデータを前記非同期通信リン
クを介して送信する手段と、前記非同期通信リンクに接
続された遠隔の場所において、前記タイムスタンプが付
されたデータを受信する手段と、前記遠隔の場所におい
て、前記タイムスタンプが付されたデータ塊をデータサ
ンプルの高速ストリームに組み立て直す手段と、前記タ
イムスタンプが付された離散的データと前記組み立て直
されたデータサンプルの高速ストリームとを緩衝記憶す
る手段と、前記タイムスタンプにより指定されている時
に前記緩衝記憶されているデータを読み出す手段とを備
え、伝送するのに必要な帯域幅が比較的に狭く、記憶す
るのに必要な記憶容量が比較的に小さく、処理するのに
必要な計算が比較的に少ない、精度の低いタイムスタン
プを使用する結果として、少ない帯域幅、記憶容量及び
計算時間で同期化を達成するという効果を奏する。
【0102】また、この発明に係る通信システムは、以
上説明したとおり、非同期通信リンクを介して伝送され
るデータを同期化するのに必要な帯域幅、記憶容量及び
計算時間を減少させるための通信システムにおいて、前
記データと関連して用いられるタイムスタンプの範囲を
減少させるための手段を備えたので、データを同期化す
るための帯域幅、記憶容量及び計算時間を減少できると
いう効果を奏する。
【0103】また、この発明に係る通信システムは、以
上説明したとおり、前記タイムスタンプの範囲を減少さ
せるための手段が、整数の乗数X’と法mとについて式
x=X−X’×mにより計算されたモジュール算数の剰
余xであるタイムスタンプを含み、少数のビットで表す
ことのできる小さな範囲を持ったタイムスタンプを使用
する結果として帯域幅、記憶容量及び計算時間を減少さ
せており、前記タイムスタンプを伝送するのに必要な帯
域幅が狭くなり、前記タイムスタンプを記憶するのに必
要な記憶容量が小さくなり、前記タイムスタンプを処理
するのに必要な計算が少なくなっているという効果を奏
する。
【0104】また、この発明に係る通信システムは、以
上説明したとおり、前記剰余はタイムスタンプ毎に異な
っていても、前記整数の乗数は常に所定のノードにおい
て使用されている全てのタイムスタンプについて同一で
ある様に前記タイムスタンプは商正規化され、従って、
加算及び比較に要する計算量の少ないタイムスタンプを
使用する結果として計算時間が短くなっているという効
果を奏する。
【0105】また、この発明に係る通信システムは、以
上説明したとおり、非同期通信リンクを介して伝送され
る離散的データを同期化するのに必要な帯域幅、記憶容
量及び計算時間を減少させるための通信システムにおい
て、このシステムで用いる、範囲が短縮されたタイムス
タンプは、所定のノードにおいて同時に使用されている
全てのタイムスタンプが同一の乗数を有することとなる
ように整数の乗数X’と法mとについて式x=X−X’
×mにより計算されたモジュール算数の商正規化された
剰余xであり、前記範囲が短縮されたタイムスタンプを
前記離散的データに付ける手段と、前記タイムスタンプ
が付されたデータを前記非同期通信リンクを介して送信
する手段と、前記非同期通信リンクに接続された遠隔の
場所において、前記タイムスタンプが付されたデータを
受信する手段と、遠隔の場所において、前記受信された
データに付いているタイムスタンプが商正規化されてい
るときには、前記タイムスタンプを再正規化する手段
と、前記タイムスタンプが付された離散的データを緩衝
記憶する手段と、前記タイムスタンプにより指定されて
いる時に前記の緩衝記憶されたデータを読み出す手段と
を備え、伝送するのに必要な帯域幅が比較的に狭く、記
憶するのに必要な記憶容量が比較的に小さく、処理する
のに必要な計算が比較的に少ない、範囲が短縮されたタ
イムスタンプを使用する結果として、少ない帯域幅、記
憶容量及び計算時間で同期化を達成するという効果を奏
する。
【0106】また、この発明に係る通信システムは、以
上説明したとおり、非同期通信リンクを介して伝送され
るデータを同期化するのに必要な帯域幅、記憶容量及び
計算時間を減少させるための通信システムにおいて、前
記データと関連して使用されるタイムスタンプの精度を
低下させるための手段と、前記データと関連して使用さ
れるタイムスタンプの範囲を短縮するための手段とを備
えたので、データを同期化するための帯域幅、記憶容量
及び計算時間を減少できるという効果を奏する。
【0107】また、この発明に係る通信システムは、以
上説明したとおり、前記タイムスタンプの精度を低下さ
せるための手段は、データサンプルの高速ストリーム
を、前記データサンプルの時間軸上の位置を正確に指定
するのに必要なタイムスタンプより著しく精度の低いタ
イムスタンプを用いて塊に対応する時間を正確に表せる
ように、前記高速ストリームが実際上データ塊の低速シ
ーケンスに変換されることとなるように、サンプルの連
続するグループに対応する塊に分解する手段を含み、前
記タイムスタンプの範囲を減少させるための手段は、所
定のノードにおいて同時に使用されている全てのタイム
スタンプが同一の乗数を有することとなるように整数の
乗数X’と法mとについて式x=X−X’×mにより計
算されたモジュール算数の商正規化された剰余xである
タイムスタンプを含むので、データを同期化するための
帯域幅、記憶容量及び計算時間を減少できるという効果
を奏する。
【0108】さらに、この発明に係る通信システムは、
以上説明したとおり、非同期通信リンクを介して伝送さ
れる離散的データ及び高速データストリームを同期化す
るのに必要な帯域幅、記憶容量及び計算時間を減少させ
るための通信システムにおいて、データサンプルの高速
ストリームを、前記データサンプルの時間軸上の位置を
正確に指定するのに必要なタイムスタンプより著しく精
度の低いタイムスタンプを用いて塊に対応する時間を正
確に表せるように、前記高速ストリームが実際上離散的
データの低速シーケンスに変換されることとなるよう
に、サンプルの連続するグループに対応する塊に分解す
る手段と、範囲が短縮されたタイムスタンプは、所定の
ノードにおいて同時に使用されている全てのタイムスタ
ンプが同一の乗数を有することとなるように整数の乗数
X’と法mとについて式x=X−X’×mにより計算さ
れたモジュール算数の商正規化された剰余xであり、前
記範囲が短縮されたタイムスタンプを前記離散的データ
及び高速データサンプル塊に付けるための手段と、前記
タイムスタンプが付されたデータを前記通信リンクを介
して送信する手段と、前記非同期通信リンクに接続され
た遠隔の場所において、前記タイムスタンプが付された
データを受信する手段と、前記遠隔の場所において、前
記受信されたデータに付いているタイムスタンプが商正
規化されているときには、前記受信されたデータに付い
ているタイムスタンプを再正規化する手段と、前記遠隔
の場所で前記タイムスタンプが付されたデータ塊をデー
タサンプルの高速ストリームに組み立て直す手段と、前
記タイムスタンプが付された離散的データと前記組み立
て直されたデータサンプルの高速ストリームとを緩衝記
憶する手段と、前記タイムスタンプにより指定されてい
る時に前記緩衝記憶されたデータを読み出す手段とを備
え、前記分解する手段により同期化に必要なタイムスタ
ンプの精度が低下し、伝送するのに必要な帯域幅が比較
的に狭く、記憶するのに必要な記憶容量が比較的に小さ
く、処理するのに必要な計算が比較的に少ない、精度の
低いタイムスタンプを使用する結果として、少ない帯域
幅、記憶容量及び計算時間で同期化を達成するという効
果を奏する。
【図面の簡単な説明】
【図1】 この発明の実施の形態1に係る、同期通信リ
ンクを用いてビデオ会議を介して通信している2人を示
す図である。
【図2】 この発明の実施の形態1に係る、コンピュー
タ通信網により非同期通信リンクを用いてビデオ会議を
介して通信している2人を示す図である。
【図3】 この発明の実施の形態1に係る、コンピュー
タ通信網で非同期通信を用いて仮想世界で対話している
4人を示す図である。
【図4】 この発明の実施の形態1のシステムのブロッ
ク図であり、タイムスタンプをどのように導入し、再正
規化し、使用するかを示す図である。
【図5】 この発明の実施の形態1に係る、音声データ
をデジタル化し、グループ化して塊とし、タイムスタン
プを付ける方法を示す図である。
【図6】 この発明の実施の形態1に係る、通信網を介
して送られるべきデータを分解して適当な塊、即ちデー
タ項目とするプロセスを示すフローチャートである。
【図7】 この発明の実施の形態1に係る、適当なタイ
ムスタンプを作って、通信網を介して送られるべきデー
タ項目にそれを付加するプロセスを示すフローチャート
である。
【図8】 この発明の実施の形態1に係る、データ項目
及びタイムスタンプが受信されたときにタイムスタンプ
に再正規化を行うプロセスを示すフローチャートであ
る。
【図9】 この発明の実施の形態1に係る、音声のよう
な高速のデータを、受信後に、それを使う適当なときが
来るまで緩衝記憶しておく方法を示す図である。
【符号の説明】
10、12、50、52、54、56、60、62 ユ
ーザーステーション、10A、12A マイクロホン、
10C、12C TVカメラ、10E、12Eスピーカ
ー、10G、12G、50E、52E、54E、56E
TVモニター、14A、14C、16A、16C 同
期通信リンク、30、58 通信網、32、38 ビデ
オエンコーダ、34、40 オーディオエンコーダ、3
6、42 バッファー。
───────────────────────────────────────────────────── フロントページの続き (71)出願人 597067574 201 BROADWAY, CAMBRI DGE, MASSACHUSETTS 02139, U.S.A. (72)発明者 リチャード・シー・ウォーターズ アメリカ合衆国、マサチューセッツ州、コ ンコード、ディーコン・ヘインズ・ロード 266

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 非同期通信リンクを介して伝送される高
    速データストリームを同期化するのに必要な帯域幅、記
    憶容量及び計算時間を減少させるための通信システムに
    おいて、 前記データと関連して用いられるタイムスタンプの精度
    を低下させるための手段を備えたことを特徴とする通信
    システム。
  2. 【請求項2】 前記タイムスタンプの精度を低下させる
    ための手段は、 データサンプルの高速ストリームを、前記データサンプ
    ルの時間軸上の位置を正確に指定するのに必要なタイム
    スタンプより著しく精度の低いタイムスタンプを用いて
    塊に対応する時間を正確に表せるように、サンプルの連
    続するグループに対応する塊に分解する手段を含み、 前記高速ストリームは実際上データ塊の低速シーケンス
    に変換され、これにより同期化に要するタイムスタンプ
    の精度が下げられ、従って少数のビットで表すことので
    きる低精度のタイムスタンプが用いられることになるの
    で帯域幅、記憶容量及び計算時間が減少し、前記タイム
    スタンプを伝送するために必要な帯域幅は狭まり、前記
    タイムスタンプを記憶するのに要する記憶容量は小さく
    なり、前記タイムスタンプを扱うのに要する計算時間は
    短くなることを特徴とする請求項1記載の通信システ
    ム。
  3. 【請求項3】 さらに、前記データ塊にタイムスタンプ
    を付加して、そのタイムスタンプが付加されたデータ塊
    を前記非同期通信リンクに接続されている遠隔のノード
    に伝送する手段と、 前記遠隔のノードにおいて、前記タイムスタンプが付加
    されたデータ塊を高速データストリームに組み立て直す
    手段とを備えたことを特徴とする請求項2記載の通信シ
    ステム。
  4. 【請求項4】 前記組み立て直し手段は、 バッファーと、 前記バッファーから読み出されるデータ塊の長さが該バ
    ッファーの長さの約数となるように前記組み立て直され
    たデータを前記バッファー内に配置する手段とを含み、 これにより前記読み出される塊は前記バッファーの終端
    部から前記バッファーの始端部へと丸まることは決して
    なくなり、従って前記データ塊を使用前にステージング
    領域に複写する必要はなくなることを特徴とする請求項
    3記載の通信システム。
  5. 【請求項5】 所要のタイムスタンプの精度を低下させ
    ることによって非同期通信リンクを介して伝送される離
    散的データ及び高速データストリームを同期化するのに
    必要な帯域幅、記憶容量及び計算時間を減少させるため
    の通信システムにおいて、 データサンプルの高速ストリームを、前記データサンプ
    ルの時間軸上の位置を正確に指定するのに必要なタイム
    スタンプより著しく精度の低いタイムスタンプを用いて
    塊に対応する時間を正確に表せるように、サンプルの連
    続するグループに対応する塊に分解する手段と、 前記離散的データと高速データサンプルの塊とにタイム
    スタンプを付ける手段と、 前記タイムスタンプが付されたデータを前記非同期通信
    リンクを介して送信する手段と、 前記非同期通信リンクに接続された遠隔の場所におい
    て、前記タイムスタンプが付されたデータを受信する手
    段と、 前記遠隔の場所において、前記タイムスタンプが付され
    たデータ塊をデータサンプルの高速ストリームに組み立
    て直す手段と、 前記タイムスタンプが付された離散的データと前記組み
    立て直されたデータサンプルの高速ストリームとを緩衝
    記憶する手段と、 前記タイムスタンプにより指定されている時に前記緩衝
    記憶されているデータを読み出す手段とを備え、 伝送するのに必要な帯域幅が比較的に狭く、記憶するの
    に必要な記憶容量が比較的に小さく、処理するのに必要
    な計算が比較的に少ない、精度の低いタイムスタンプを
    使用する結果として、少ない帯域幅、記憶容量及び計算
    時間で同期化を達成することを特徴とする通信システ
    ム。
  6. 【請求項6】 非同期通信リンクを介して伝送されるデ
    ータを同期化するのに必要な帯域幅、記憶容量及び計算
    時間を減少させるための通信システムにおいて、 前記データと関連して用いられるタイムスタンプの範囲
    を減少させるための手段を備えたことを特徴とする通信
    システム。
  7. 【請求項7】 前記タイムスタンプの範囲を減少させる
    ための手段は、 整数の乗数X’と法mとについて式x=X−X’×mに
    より計算されたモジュール算数の剰余xであるタイムス
    タンプを含み、 少数のビットで表すことのできる小さな範囲を持ったタ
    イムスタンプを使用する結果として帯域幅、記憶容量及
    び計算時間を減少させており、前記タイムスタンプを伝
    送するのに必要な帯域幅が狭くなり、前記タイムスタン
    プを記憶するのに必要な記憶容量が小さくなり、前記タ
    イムスタンプを処理するのに必要な計算が少なくなって
    いることを特徴とする請求項6記載の通信システム。
  8. 【請求項8】 前記剰余はタイムスタンプ毎に異なって
    いても、前記整数の乗数は常に所定のノードにおいて使
    用されている全てのタイムスタンプについて同一である
    様に前記タイムスタンプは商正規化され、従って、加算
    及び比較に要する計算量の少ないタイムスタンプを使用
    する結果として計算時間が短くなっていることを特徴と
    する請求項7記載の通信システム。
  9. 【請求項9】 非同期通信リンクを介して伝送される離
    散的データを同期化するのに必要な帯域幅、記憶容量及
    び計算時間を減少させるための通信システムにおいて、 このシステムで用いる、範囲が短縮されたタイムスタン
    プは、所定のノードにおいて同時に使用されている全て
    のタイムスタンプが同一の乗数を有することとなるよう
    に整数の乗数X’と法mとについて式x=X−X’×m
    により計算されたモジュール算数の商正規化された剰余
    xであり、前記範囲が短縮されたタイムスタンプを前記
    離散的データに付ける手段と、 前記タイムスタンプが付されたデータを前記非同期通信
    リンクを介して送信する手段と、 前記非同期通信リンクに接続された遠隔の場所におい
    て、前記タイムスタンプが付されたデータを受信する手
    段と、 遠隔の場所において、前記受信されたデータに付いてい
    るタイムスタンプが商正規化されているときには、前記
    タイムスタンプを再正規化する手段と、 前記タイムスタンプが付された離散的データを緩衝記憶
    する手段と、 前記タイムスタンプにより指定されている時に前記の緩
    衝記憶されたデータを読み出す手段とを備え、 伝送するのに必要な帯域幅が比較的に狭く、記憶するの
    に必要な記憶容量が比較的に小さく、処理するのに必要
    な計算が比較的に少ない、範囲が短縮されたタイムスタ
    ンプを使用する結果として、少ない帯域幅、記憶容量及
    び計算時間で同期化を達成することを特徴とする通信シ
    ステム。
  10. 【請求項10】 非同期通信リンクを介して伝送される
    データを同期化するのに必要な帯域幅、記憶容量及び計
    算時間を減少させるための通信システムにおいて、 前記データと関連して使用されるタイムスタンプの精度
    を低下させるための手段と、 前記データと関連して使用されるタイムスタンプの範囲
    を短縮するための手段とを備えたことを特徴とする通信
    システム。
  11. 【請求項11】 前記タイムスタンプの精度を低下させ
    るための手段は、 データサンプルの高速ストリームを、前記データサンプ
    ルの時間軸上の位置を正確に指定するのに必要なタイム
    スタンプより著しく精度の低いタイムスタンプを用いて
    塊に対応する時間を正確に表せるように、前記高速スト
    リームが実際上データ塊の低速シーケンスに変換される
    こととなるように、サンプルの連続するグループに対応
    する塊に分解する手段を含み、 前記タイムスタンプの範囲を減少させるための手段は、 所定のノードにおいて同時に使用されている全てのタイ
    ムスタンプが同一の乗数を有することとなるように整数
    の乗数X’と法mとについて式x=X−X’×mにより
    計算されたモジュール算数の商正規化された剰余xであ
    るタイムスタンプを含むことを特徴とする請求項10記
    載の通信システム。
  12. 【請求項12】 非同期通信リンクを介して伝送される
    離散的データ及び高速データストリームを同期化するの
    に必要な帯域幅、記憶容量及び計算時間を減少させるた
    めの通信システムにおいて、 データサンプルの高速ストリームを、前記データサンプ
    ルの時間軸上の位置を正確に指定するのに必要なタイム
    スタンプより著しく精度の低いタイムスタンプを用いて
    塊に対応する時間を正確に表せるように、前記高速スト
    リームが実際上離散的データの低速シーケンスに変換さ
    れることとなるように、サンプルの連続するグループに
    対応する塊に分解する手段と、 範囲が短縮されたタイムスタンプは、所定のノードにお
    いて同時に使用されている全てのタイムスタンプが同一
    の乗数を有することとなるように整数の乗数X’と法m
    とについて式x=X−X’×mにより計算されたモジュ
    ール算数の商正規化された剰余xであり、前記範囲が短
    縮されたタイムスタンプを前記離散的データ及び高速デ
    ータサンプル塊に付けるための手段と、 前記タイムスタンプが付されたデータを前記通信リンク
    を介して送信する手段と、 前記非同期通信リンクに接続された遠隔の場所におい
    て、前記タイムスタンプが付されたデータを受信する手
    段と、 前記遠隔の場所において、前記受信されたデータに付い
    ているタイムスタンプが商正規化されているときには、
    前記受信されたデータに付いているタイムスタンプを再
    正規化する手段と、 前記遠隔の場所で前記タイムスタンプが付されたデータ
    塊をデータサンプルの高速ストリームに組み立て直す手
    段と、 前記タイムスタンプが付された離散的データと前記組み
    立て直されたデータサンプルの高速ストリームとを緩衝
    記憶する手段と、 前記タイムスタンプにより指定されている時に前記緩衝
    記憶されたデータを読み出す手段とを備え、 前記分解する手段により同期化に必要なタイムスタンプ
    の精度が低下し、伝送するのに必要な帯域幅が比較的に
    狭く、記憶するのに必要な記憶容量が比較的に小さく、
    処理するのに必要な計算が比較的に少ない、精度の低い
    タイムスタンプを使用する結果として、少ない帯域幅、
    記憶容量及び計算時間で同期化を達成することを特徴と
    する通信システム。
JP9080373A 1996-04-02 1997-03-31 通信システム Pending JPH10107851A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US62769196A 1996-04-02 1996-04-02
US08/627691 1996-04-02

Publications (1)

Publication Number Publication Date
JPH10107851A true JPH10107851A (ja) 1998-04-24

Family

ID=24515716

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9080373A Pending JPH10107851A (ja) 1996-04-02 1997-03-31 通信システム

Country Status (1)

Country Link
JP (1) JPH10107851A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015201194A (ja) * 2014-04-03 2015-11-12 富士電機株式会社 タイムスタンプ付データ管理システム、その装置、プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015201194A (ja) * 2014-04-03 2015-11-12 富士電機株式会社 タイムスタンプ付データ管理システム、その装置、プログラム

Similar Documents

Publication Publication Date Title
US9197854B2 (en) Videoconferencing systems with recognition ability
US6104706A (en) Method and apparatus for multiple media digital communication system
US5995516A (en) Data transmitting system
CA2149006C (en) Synchronous voice/data messaging system
JP2886437B2 (ja) 通信端末及び通信方法
US20040218628A1 (en) Method and apparatus for multiple media digital communication system
GB2288298A (en) PC based teleconference terminal
Jones et al. Handling audio and video streams in a distributed environment
KR20080110083A (ko) 타일드 디스플레이 시스템 및 상기 시스템에서의 동기화방법
EP0641098B1 (en) Communication system
JP2008061010A (ja) 映像音声送信装置
US6275549B1 (en) Methods and apparatus for synchronizing a clock
JPH10107851A (ja) 通信システム
JP3440390B2 (ja) 等時性保証型連続メディア伝送装置及び等時性保証型連続メディア伝送方法及び受信装置
JPH0630043A (ja) 音声パケット通信方式
JPS63299628A (ja) マルチメディアメ−ルシステム同期制御方式
Waters Time synchronization in Spline
JP2001016586A (ja) 画像復号化装置
JP2746061B2 (ja) 音声パケット交換装置
JP2010219783A (ja) 通信端末、通信方法およびコンピュータプログラム
KR20030024236A (ko) 음성 데이터와 영상 데이터의 재생 동기화 장치 및 방법
JPH0514763A (ja) 画像パケツト通信システム
JP2001094523A (ja) データ伝送装置およびデータ伝送方法
JPH07123388A (ja) テレビ会議装置
JP3254304B2 (ja) テレビ会議通信装置