JP3317140B2 - データ伝送方式 - Google Patents

データ伝送方式

Info

Publication number
JP3317140B2
JP3317140B2 JP13762396A JP13762396A JP3317140B2 JP 3317140 B2 JP3317140 B2 JP 3317140B2 JP 13762396 A JP13762396 A JP 13762396A JP 13762396 A JP13762396 A JP 13762396A JP 3317140 B2 JP3317140 B2 JP 3317140B2
Authority
JP
Japan
Prior art keywords
data
packet
time
transmission
time stamp
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.)
Expired - Lifetime
Application number
JP13762396A
Other languages
English (en)
Other versions
JPH09298558A (ja
Inventor
潤一 藤森
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.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP13762396A priority Critical patent/JP3317140B2/ja
Priority to EP97918381A priority patent/EP0895378B1/en
Priority to PCT/JP1997/001541 priority patent/WO1997042734A1/ja
Priority to AU26514/97A priority patent/AU2651497A/en
Priority to DE69735415T priority patent/DE69735415T2/de
Publication of JPH09298558A publication Critical patent/JPH09298558A/ja
Priority to US09/194,520 priority patent/US6477181B1/en
Application granted granted Critical
Publication of JP3317140B2 publication Critical patent/JP3317140B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、ディジタルオー
ディオデータのような、所定周期の時系列的な配列を持
つ複数のデータを、ネットワークを介して伝送するデー
タ伝送方式に関し、特に、受信側においてその正確な時
間関係を再現しうるような形で、送信側においてデータ
形式を構成し、伝送するようにしたデータ伝送方式に関
する。
【0002】
【従来の技術】ネットワークを介したデータの伝送方式
には、大別すると、同期方式と非同期方式とがある。同
期方式では送信側と受信側とが同期して動作するので、
受信側における情報の時間的位置の正確な再現が要求さ
れるオーディオデータの伝送に適している。しかし、同
期信号線を別途設けるなどの、送受信間での同期をとら
せるための構成が必要となり、かつ、同期をとらせるこ
とにより通信帯域を静的に確保することになるため、通
信方式としての汎用性に欠けるという欠点があった。す
なわち、同期通信が必要ない場合であっても不要な帯域
を確保したままになり、他の情報を伝送することができ
ないという問題点がある。
【0003】これに対して、非同期方式では、通信帯域
を動的に確保することにより、上記のような欠点を回避
することができるが、通信のオーバーヘッドを減らすた
めには、或る程度の情報をまとめた上で非同期パケット
を発行するようにしないと、データ通信効率が低下して
しまう。しかし、或る程度の情報をまとめたパケットの
送信では、データ本来の時間的な位置の情報が欠落して
しまうことになる。そこで、パケットによるデータ伝送
方式においては、データと共に該データの時間的位置を
示す時間情報も一緒に伝送することが考えられている。
すなわち、個々のデータ毎にその時間的位置を示す「タ
イムスタンプ」といわれる時間情報を付加し、これらを
1パケットに含めて伝送するものである。
【0004】
【発明が解決しようとする課題】しかし、個々のデータ
毎にその時間的位置を示す時間情報を付加して1パケッ
トを構成したのでは、データ量が増大してしまうので、
得策とはいえない。この発明は上述の点に鑑みてなされ
たもので、ディジタルオーディオデータのような、一定
周期の時系列的な配列を持つ複数のデータを、受信側に
おいてその時間関係を再現できるような形態で、送信側
からネットワークを介して伝送する場合において、非同
期パケットを採用してその利点を享受できるようにする
と共に、パケットに含めて送信する時間情報をできるだ
け少ないデータ量で表現して1パケット当りの送信デー
タ量を減少させることができるようにしたデータ伝送方
式を提供しようとするものである。また、送受信間の時
間遅れをできるだけ少なくしたデータ伝送方式を提供し
ようとするものである。更に、少ないデータ量で時間情
報を表現した場合において、受信側での時間情報の再生
演算処理をできるだけ簡略化できるようにしたデータ伝
送方式を提供しようとするものである。
【0005】
【課題を解決するための手段】 この発明に係るデータ
伝送方式は、第1の周期の時系列的な配列を持つ複数の
データを供給するステップと、ここで前記第1の周期は
可変であり、2以上の所定の定数からなる前記データの
グループ毎に該グループ内の1つのデータを特定し、該
特定されたデータの時間位置を示す時間情報を付加する
ステップと、前記第1の周期よりも長く且つこれに非同
期な所定の第2の周期毎に、該第2の周期の1周期内で
供給された複数の前記データを1パケットとして、か
つ、該パケット内のデータの中に前記時間情報が付加さ
れたデータがあれば該時間情報を該パケットに含めて、
ネットワークを介して送信するステップとを具備するこ
とを特徴とする。また、この発明に係るデータ伝送シス
テムは、第1の周期の時系列的な配列を持つ複数のデー
タを供給する装置と、ここで前記第1の周期は可変であ
り、2以上の所定の定数からなる前記データのグループ
毎に該グループ内の1つのデータを特定し、該特定され
たデータの時間位置を示す時間情報を付加する装置と、
前記第1の周期よりも長く且つこれに非同期な所定の第
2の周期毎に、該第2の周期の1周期内で供給された複
数の前記データを1パケットとして、かつ、該パケット
内のデータの中に前記時間情報が付加されたデータがあ
れば該時間情報を該パケットに含めて、ネットワークを
介して送信する装置を具備することを特徴とする。
【0006】この第1の観点に従えば、時間情報をすべ
てのデータに対して付加することをせずに、2以上の所
定数の前記データ毎に1つのデータを特定し、該特定さ
れたデータに対して時間情報を付加するようにしてい
る。そして、1パケットを所定数のデータによって構成
し、かつ該データの中のいずれかに対して付加された前
記時間情報を該1パケットに含めて、該パケットをネッ
トワークを介して送信する。受信側では、ネットワーク
を介して受信したパケットに含まれる前記データを一時
記憶し、この一時記憶したデータの順次読み出しを、該
受信したパケットに含まれる前記時間情報に基づき制御
することにより、元の所定の周期に対応する周期で再生
が行われるようにする。従って、非同期パケットを採用
してその利点を享受するとことができると共に、1パケ
ットにつき1つの時間情報を含むだけであるから、時間
情報をできるだけ少ないデータ量で表現して1パケット
当りの送信データ量を減少させることができる。
【0007】
【0008】この第2の観点に従えば、上記と同様に、
時間情報をすべてのデータに対して付加することをせず
に、2以上の所定数の前記データ毎に1つのデータを特
定し、該特定されたデータに対して時間情報を付加する
ようにしている。そして、第1の周期よりも長い所定の
第2の周期毎に、該第2の周期の1周期内で供給された
前記データによって1パケットを構成し、かつ該データ
の中のいずれかに対して付加された前記時間情報を該1
パケットに含めて、該パケットをネットワークを介して
送信する。受信側では、ネットワークを介して受信した
パケットに含まれる前記データを一時記憶し、この一時
記憶したデータの順次読み出しを、該受信したパケット
に含まれる前記時間情報に基づき制御することにより、
元の第1の周期に対応する周期で再生が行われるように
する。従って、この場合も、非同期パケットを採用して
その利点を享受するとことができると共に、1パケット
につき1つの時間情報を含むだけであるから、時間情報
をできるだけ少ないデータ量で表現して1パケット当り
の送信データ量を減少させることができる。また、この
第2の観点に従えば、所定の第2の周期毎にパケット送
信を行うので、所定数のデータが溜るまで待機する必要
がなく、送受信間の時間遅れをできるだけ少なくしたデ
ータ伝送方式を提供することができる。なお、ここで述
べている非同期パケットの意味は、パケットの送信周期
が、送信すべきオリジナルのサンプルデータに対して、
そのサンプリング周期から独立して設定されている、と
いう意味合いである。パケットそのもの送受信について
は、一定周期で行われているので、同期通信となってい
る。
【0009】次に、理解を容易にするために、この発明
に従うデータ伝送方式のいくつかの具体例をイラスト的
に図示すると図1のようである。図1の(a)は上記第
1の観点に従うデータ伝送方式の一例をイラスト的に図
示するものであり、(b)と(c)は上記第2の観点に
従うデータ伝送方式の異なる二例をイラスト的に図示す
るものである。図1(a),(b),(c)の各1段目
には、送信側で供給される、所定の周期(第1の周期)
Tの時系列的な配列を持つ複数のデータの時系列配列の
一例を示しており、数字0,1,2,3,…は、各デー
タの時系列順序を示す序数である。1段目における特定
のデータの上に示された数字(1,13,17,21,
29,33等)は、該データに付加されるタイムスタン
プすなわち時間情報を例示している。SFはパケット送
信のサービス区間の1周期を示し、送信するデータの周
期Tは適宜可変であるのに対して、非同期パケットにお
いては、該サービス区間SFの1周期は、所定値に固定
されている。従って、SFとTの時間関係は図示のもの
に限らず、任意の時間関係をとりうるものであり、一般
的には両者の周期は非整数倍関係となる(勿論、たまた
ま整数倍関係となることがあるかもしれない)。図1
(a),(b),(c)の各2段目には、ネットワーク
を介して送信されるパケットの状態を示しており、タイ
ムスロット枠内に記した数字が該パケットに含まれるデ
ータを識別する序数であり、その下側に記された数字
(1,13,17,21,29,33等)が該パケット
に含まれるタイムスタンプすなわち時間情報を示す。図
1(a),(b),(c)の各3段目には、受信側にお
けるデータの再生状態を示している。
【0010】第1の観点に従う図1(a)の例について
説明すると、送信に際して、1パケットを所定数N(図
の例ではN=4)のデータで構成し、かつ1パケットの
データ数N(=4)と同数のデータ毎に、該パケットの
先頭のデータを特定し、該特定された先頭のデータの時
間位置を示すタイムスタンプを付加するようにしてい
る。例えば、最初のパケットは、序数0,1,2,3の
4つのデータからなり、その先頭の序数0のデータの時
間位置を示すタイムスタンプ「」が付加される。この
場合、送信側で4つのデータが供給されるにはサービス
区間SFの2サイクル周期が必要であるから、最初のデ
ータ(序数0)が供給されたときから、2サービス区間
SFの経過後に、最初のパケットが送信される。従っ
て、パケット送信の立上り時間遅れは、サービス区間S
Fの2サイクル周期である。2番目のパケットは、序数
4,5,6,7の4つのデータからなり、その先頭の序
数4のデータの時間位置を示すタイムスタンプ「17」
が付加される。この場合、2番目のパケットに含まれる
最後の序数7のデータが供給されるサービス区間SF
(これをSF4で示す)の次のサービス区間SF(これ
をSF5で示す)で該2番目のパケットが送信されるこ
とになるから、最初のパケット送信時から2サービス区
間後に該2番目のパケットが送信される。
【0011】受信側においては、順次与えられる各パケ
ットに含まれるタイムスタンプの変化若しくは関数に基
づき、送信側における元の所定周期Tを推定することが
できる。タイムスタンプに基づく元の周期Tの推定方法
には種々ありうるが、最も典型的な方法は、相前後する
2つのパケットに含まれるタイムスタンプの差から次の
ような演算を行うことである。すなわち、今回送信され
てきたパケットのタイムスタンプ値をTS(i) とし、そ
の前に送信されてきたパケットのタイムスタンプ値をT
S(i-1) とすると、その間にN個のデータが存在してい
るのであるから、下記式の演算を行うことにより、元の
周期Tを推定することができる。 T={TS(i) −TS(i-1)}/N …(式1) 受信側においては、こうして推定した元の周期Tに対応
する周期で、受信したパケットに含まれるデータを順次
再生読出しする。かくして、元の周期Tでのデータ再生
を確実にすることができる。図1(a)の場合、上記推
定演算のために、2つのパケットの送信がなされるまで
待機しなければならないため、受信側でデータ再生が開
始するのは、送信側で最初のデータ(序数0)が供給さ
れたときから、サービス区間SFが5サイクル経過した
とき、すなわち図1の6番目のサービス区間SF6のと
きとなる。
【0012】上記のように、第1の観点に従う伝送方式
のように、1パケット当りのデータ数を所定の固定数N
とすると、パケット送信の立上り遅れと、受信側におけ
るデータ再生開始の遅れとが、問題となる。上記第2の
観点に従う伝送方式は、この点を改善し、そのような遅
れの問題をできるだけ回避することができるものであ
る。図1(b)及び(c)に例示された上記第2の観点
に従う伝送方式が第1の観点に従う伝送方式と異なる点
は、該第2の観点に従う伝送方式では、所定数のデータ
が溜るまでパケット送信を待たずに、所定の第2の周期
毎に規則的にパケット送信を行うようになっている点で
あり、これに伴い、1パケットを構成するデータ数が可
変となるという点である。すなわち、送信すべきデータ
のオリジナル周期である第1の周期Tよりも長い所定の
第2の周期毎に、該第2の周期の1周期内で供給された
前記データによって1パケットを構成するので、該第2
の周期毎にパケット送信が行われることとなり、また、
一般に第1及び第2の周期の関係は非整数倍的になるた
め(勿論、たまたま整数倍関係となることがあるかもし
れないが)、該第2の周期の各周期毎に該1周期内に含
まれるデータの数が可変的に(±1の範囲で)変動する
ことになる。図1(b)及び(c)の例においては、パ
ケット送信を行う第2の周期として、1サービス区間S
F毎の周期で行うことが示されている。
【0013】図1(b)の例について説明すると、各サ
ービス区間毎に、その区間で供給されたデータを1パケ
ットに含めて、次のサービス区間においてネットワーク
に送信する。1パケットに含まれるデータの数xは可変
であり、図の例では、3個又は2個である。図1(b)
の例では、1パケットのデータ数x(可変)と同数のデ
ータ毎に、該パケットの先頭のデータを特定し、該特定
された先頭のデータの時間位置を示すタイムスタンプを
付加するようにしている。従って、タイムスタンプを2
以上の所定数のデータ毎に付加するようになっている
が、この所定数とは可変の1パケット構成データ数xに
連動する可変数である。例えば、最初のパケットは、序
数0,1,2の3つのデータからなり、その先頭の序数
0のデータの時間位置を示すタイムスタンプ「」が付
加される。この場合、最初のデータ(序数0)が供給さ
れたときから、1サービス区間SFの経過後に、すなわ
ち2番目のサービス区間SF2のときに、最初のパケッ
トが送信される。従って、パケット送信の立上り時間遅
れは、1サービス区間SFのみである。2番目のパケッ
トは、序数3,4の2つのデータからなり、その先頭の
序数3のデータの時間位置を示すタイムスタンプ「1
3」が付加される。この場合、2番目のパケットに含ま
れる最後の序数4のデータが供給されたサービス区間
(SF2)の次のサービス区間(SF3)で該2番目の
パケットが送信されることになるから、最初のパケット
送信時から1サービス区間後に該2番目のパケットが送
信される。
【0014】この場合も、受信側においては、順次与え
られる各パケットに含まれるタイムスタンプの変化若し
くは関数に基づき、送信側における元の所定周期Tを推
定することができる。前述の通り、タイムスタンプに基
づく元の周期Tの推定方法には種々ありうるが、最も典
型的な方法は、相前後する2つのパケットに含まれるタ
イムスタンプの差から次のような演算を行うことである
ので、この場合についての演算式を示すと下記のようで
ある。 T={TS(i) −TS(i-1)}/x …(式2) ここで、TS(i)とTS(i-1)は、前述と同様に、今回送
信されてきたパケットのタイムスタンプ値と、前回に送
信されてきたパケットのタイムスタンプ値である。x
は、前回に送信されてきたパケットに含まれるデータ数
であり、前述の通りの可変数である。受信側において
は、こうして推定した元の周期Tに対応する周期で、受
信したパケットに含まれるデータを順次再生読出しす
る。かくして、元の周期Tでのデータ再生を確実にする
ことができる。図1(b)の場合、送信側で最初のデー
タ(序数0)が供給されたときから数えて3番目のサー
ビス区間SF3のときに該2番目のパケットが送信され
るので、受信側でデータ再生が開始するのは、送信側で
最初のデータ(序数0)が供給されたときから、サービ
ス区間SFの3サイクル経過後、すなわち4番目のサー
ビス区間SF4のときとなる。このように、図1(b)
の場合では、図1(a)の場合に比べて、パケット送信
の立上りと受信側におけるデータ再生開始とが早くなっ
ており、遅れの問題が改善されていることが理解でき
る。一方、受信側での時間情報の再生処理について考慮
すると、上記式2に示されるように、可変数xで割算を
行う構成となっており、上記式1のように固定数Nで割
算を行う構成に比べて、その都度、除数xを変更しなけ
ればならないので、演算処理の構成が複雑となってしま
うという問題がある。
【0015】図1(c)の例は、図1(b)の例に対し
て更に改良を加え、受信側での演算処理を簡単化できる
ようにしたものである。図1(c)の例について説明す
ると、各サービス区間SF毎に、その区間で供給された
データを1パケットに含めて、次のサービス区間におい
てネットワークに送信する。(b)と同様に、1パケッ
トに含まれるデータの数xは可変であり、図の例では、
3個又は2個である。(c)の例では、時間情報の付加
の仕方が(b)とは異なっている。すなわち、図1
(c)の例では、2以上の所定の定数Mからなるデータ
毎に1つのデータを特定し、該特定されたデータの時間
位置を示すタイムスタンプすなわち時間情報を付加する
ようにしている。図示の例では、Mは4であり、4個の
データグループ毎に、そのグループの先頭のデータの時
間位置を示すタイムスタンプを付加するようにしてい
る。従って、タイムスタンプを2以上の所定数のデータ
毎に付加するようになっているが、この所定数とは
(b)の例とは異なり、可変の1パケット構成データ数
xとは関係のない、定数M(図では「4」)である。図
1(c)の例では、最初のパケットは、序数0,1,2
の3つのデータからなり、最初のM=4個のデータのグ
ループの先頭である序数0のデータの時間位置を示すタ
イムスタンプ「」が付加される。この場合、最初のデ
ータ(序数0)が供給されたときから、1サービス区間
SFの経過後に、最初のパケットが送信される。従っ
て、パケット送信の立上り時間遅れは、図1(b)と同
様に、1サービス区間SFのみである。2番目のパケッ
トは、序数3,4の2つのデータからなり、そこには次
のM=4個のデータのグループの先頭である序数4のデ
ータが含まれているので、その序数4のデータの時間位
置を示すタイムスタンプ「17」が付加される。この場
合も、2番目のパケットに含まれる最後の序数4のデー
タが供給されたサービス区間(SF2)の次のサービス
区間(SF3)で該2番目のパケットが送信されること
になるから、最初のパケット送信時から1サービス区間
SF後に該2番目のパケットが送信される。
【0016】なお、1パケットのデータ数が可変である
のに対して、1つのタイムスタンプを付加する1グルー
プ内のデータ数Mは定数であるので、パケットによって
は、タイムスタンプすなわち時間情報を伴わないものが
出てくる。図1(c)における4番目のサービス区間S
F4において送信される序数5,6のデータを含むパケ
ットがそれに該当しており、そのようなパケットにおい
ては、有効なタイムスタンプ値を示すデータの代わり
に、タイムスタンプ無を表示する所定のデータ“voi
d”を送信するものとしている。勿論、必ずしもこの種
のデータ“void”を送信しなければならないわけで
はなく、そのパケットにタイムスタンプが存在してない
ことをもって、タイムスタンプすなわち時間情報を伴わ
ないことが認識されるようになっていてもよい。図1
(c)の場合も、受信側においては、順次与えられる各
パケットに含まれるタイムスタンプの変化若しくは関数
に基づき、送信側における元の所定周期Tを推定するこ
とができる。前述の通り、タイムスタンプに基づく元の
周期Tの推定方法には種々ありうるが、最も典型的な方
法は、相前後する2つのパケットに含まれるタイムスタ
ンプの差から次のような演算を行うことであるので、こ
の場合についての演算式を示すと下記のようである。 T={TS(i) −TS(i-1')}/M …(式3) ここで、TS(i)は、前述と同様に、今回送信されてき
たパケットのタイムスタンプ値であり、TS(i-1')は、
その前に送信されてきた有効なタイムスタンプ値であ
る。従って、今回送信されてきたパケットにおいて、タ
イムスタンプの代わりに上記“void”が含まれてい
る場合は、この演算は行われない。また、前回送信され
てきたパケットのタイムスタンプ値が“void”以外
の有効な値を持っている場合は、TS(i-1')は、前回送
信されてきたパケットのタイムスタンプ値TS(i-1)に
相当するが、前回送信されてきたパケットにおいてタイ
ムスタンプの代わりに上記“void”が含まれていた
場合は、TS(i-1')は、前々回送信されてきたパケット
のタイムスタンプ値TS(i-2)に相当するものである。
Mは、前述の通り、1つのタイムスタンプを付加するデ
ータグループ内のデータ数を示す定数である。
【0017】受信側においては、こうして推定した元の
(オリジナル)周期Tに対応する周期で、受信したパケ
ットに含まれるデータを順次再生読出しする。かくし
て、オリジナル周期Tでのデータ再生を確実にすること
ができる。図1(c)の場合も、送信側で最初のデータ
(序数0)が供給されたときから数えて3番目のサービ
ス区間SF3のときに該2番目のパケットが送信される
ので、受信側でデータ再生が開始するのは、送信側で最
初のデータ(序数0)が供給されたときから、サービス
区間SFの3サイクル経過後の、4番目のサービス区間
SF4のときとなる。従って、図1(c)の場合も、図
1(a)の場合に比べて、パケット送信の立上りと受信
側におけるデータ再生開始とが早くなっており、遅れの
問題が改善されていることが理解できる。更に、図1
(c)の場合は、受信側での時間情報の再生処理につい
て考慮すると、上記式3に示されるように、固定数Mで
割算を行う構成となっており、上記式2のように可変数
xで割算を行う構成に比べて、演算処理の構成が簡単で
ある、という利点がある。ここで、固定数Mを、4や8
のような、2のべき乗の数値とすれば、式3のディジタ
ル割算を簡単なデータシフト処理によって行うことがで
きるで、有利である。従って、図1(c)の例に従え
ば、少ないデータ量で時間情報を表現した場合におい
て、受信側での時間情報の再生演算処理をできるだけ簡
略化できるようにした非同期パケットによるデータ伝送
方式を提供することができる、という利点がある。
【0018】上記のように、第2の観点における図1
(c)の例に従えば、最も好ましいデータ伝送方式を提
供することができることが理解できる。そこで、送信側
において、そのような最も好ましい形式で非同期パケッ
ト伝送を行う、という観点に立って、この発明を実施す
ることもできる。すなわち、そのような送信方式の観点
に立てば、この発明に係るデータ伝送方式は、第1の周
期の時系列的な配列を持つ複数のデータを供給するステ
ップと、2以上の所定の定数からなる前記データのグル
ープ毎に該グループ内の1つのデータを特定し、該特定
されたデータの時間位置を示す時間情報を付加するステ
ップと、前記第1の周期よりも長い所定の第2の周期毎
に、該第2の周期の1周期内で供給された複数の前記デ
ータを1パケットとして、かつ、該パケット内のデータ
の中に前記時間情報が付加されたデータがあれば該時間
情報を該パケットに含めて、ネットワークを介して送信
するステップとを具備することを特徴とするものであ
る。この作用、効果は、図1(c)の例に従って上述し
た通りである。勿論、図1(a)や(b)の例において
も、送信方式のみの観点に立って発明を把握することが
可能である。
【0019】
【発明の実施の形態】以下、添付図面を参照して、この
発明の実施の形態について詳細に説明する。以下では、
最も好ましい実施の形態として、上記第2の観点におけ
る図1(c)の例に従う実施の形態についてその詳細を
説明する。図2は、この発明に係るデータ伝送方式の一
実施例の全体構成を示す概略ブロック図である。送信側
10において、データ生成部11は、所定のサンプリン
グ周期Tの時系列的な配列を持つ複数のデータを順次生
成し、出力するもので、例えば、ディジタルオーディオ
信号の順次サンプルデータを出力する。例えば、データ
生成部11は、CD(コンパクトディスク)プレイヤー
のようなオーディオ再生装置を含んでいてもよいし、あ
るいは楽音サンプルデータをリアルタイムで合成する楽
音合成装置のようなものを含んでいてもよい。データ生
成部11から出力されるデータのサンプリング周期T
は、そのデータソースに応じて、適宜可変されるように
なっていてよい。
【0020】データ生成部11から出力されたデータ
は、その時系列順にデータバッファ12に一時記憶され
る。データバッファ12には入出力非同期のバッファレ
ジスタを用いる。タイマ13は、タイムスタンプデータ
すなわち時間情報を作成するものであり、所定のクロッ
クをカウントするランニングカウンタのようなものを含
んでいてよい。ネットワーク処理部14は、所定の送信
割込み周期毎に、データバッファ12に一時記憶したデ
ータを基にして1パケットを構成する複数xのデータを
送信バッファTBF内に1まとめに揃える処理と、所定
数Mのデータ毎に1つのデータを特定し、該特定された
データの時間位置を示すタイムスタンプデータを付加す
る処理と、送信バッファTBF内に揃えられた複数xの
データと該データの中のいずれかに対して付加されたタ
イムスタンプデータとを1パケットとして、ネットワー
ク30を介して受信側20に送信する処理とを行う。送
信割込み周期は、パケットのサービス区間SFに対応し
ており、データのサンプリング周期Tより長く設定さ
れ、複数xのデータを1パケットに含ませることができ
る。しかし、前述の理由で、1パケット中のデータ数x
は可変である。
【0021】受信側20では、ネットワーク処理部24
においてネットワーク30を介して送信されてきたパケ
ットを受信し、受信したパケットに含まれる複数xのデ
ータをその時系列順にデータバッファ22に一時記憶す
る。データバッファ22には、複数記憶ステージを有す
るFIFOのような入出力非同期のバッファレジスタを
使用するとよい。クロック生成部23は、受信したパケ
ットに含まれるタイムスタンプデータに基づき、送信側
10におけるデータ生成部11から供給されたデータの
オリジナルのサンプリング周期Tを再現するものであ
る。例えば、前記式3のような演算を行って、オリジナ
ルのサンプリング周期Tを推定的に算出し、算出した周
期Tに対応するクロック信号を生成する。データ利用部
21は、クロック生成部23から与えられる再現された
サンプリング周期Tに従い、データバッファ22に一時
記憶されたデータを順次再生読出し、これを適宜利用す
る。再生読出ししたデータを如何なる形態で利用するか
は、適宜であってよい。例えば、そのままD−A変換し
てからスピーカ等から発音するようにしてもよいし、あ
るいは、エフェクト等の処理を施してからスピーカ等か
ら発音する若しくは処理済みのデータを外部に送出する
等、任意であってよい。
【0022】送信側10及び受信側20では、マイクロ
コンピュータ等の制御の下でソフトウェアプログラムを
実行することにより、上記各部での処理を制御するよう
になっている。そのための処理フローの例を次に示す。
図3は、送信側10で行われる「送信準備処理」の一例
を略示するものである。この「送信準備処理」は、主
に、ネットワーク処理部14が受け持つ処理であり、デ
ータ生成部11の処理とデータバッファ12への入力処
理は含まれていない。例えば、この「送信準備処理」
は、送信側10でのメインルーチンの過程で実行され
る。まず、ステップS1では、データバッファ12の記
憶内容をスキャンし、新たなデータがデータバッファ1
2に入力されたかどうかを調べる。新たなデータがデー
タバッファ12に入力されたならば、YESであり、次
のステップS2に行く。NOならば、リターンする。
【0023】ステップS2では、序数レジスタORDR
の内容を、所定数Mで割って、その余りが0であるかを
調べる。序数レジスタORDRは、前ステップS1でデ
ータバッファ12に入力されたことが検出されたデータ
の序数を示すデータをストアするものであり、最初は、
図示しない初期設定処理により、序数0にセットされて
おり、以後、データバッファ12に新データが入力され
る毎に、後出のステップS5の処理によって、インクリ
メントされる。所定数Mは、前述の通り、1つのタイム
スタンプを付加すべき1データグループのデータ数を示
す定数であり、4又は8等の2のべき乗の値とすれば、
割算を簡略化できるので好ましい。序数レジスタORD
Rの内容を、所定数Mで割った、その余りが0であると
いうこと、つまり、ステップS2の判定がYESである
ということは、序数レジスタORDRの内容に対応する
現データ(データバッファ12に今入力されたばかりの
新データ)が、タイムスタンプを付加すべきデータであ
ることを示している。
【0024】そこで、ステップS2がYESであれば、
ステップS3に行き、タイマ13の現在値(これは、デ
ータ生成部11からの1サンプルデータがデータバッフ
ァ12に到着/入力した時刻を略示している)を送信側
タイムスタンプレジスタTStにストアし、その後ステ
ップS4に行く。こうして、ステップS2の処理によっ
てタイムスタンプを付加すべき1つのデータが特定さ
れ、ステップS3の処理によって該特定データに付加す
るタイムスタンプデータすなわち時間情報が決定/生成
され、レジスタTStにレジストされる。一方、ステッ
プS2がNOであれば、ステップS4にジャンプし、タ
イムスタンプデータのレジストは行われない。
【0025】ステップS4では、データバッファ12に
入力された新データ(すなわち、序数レジスタORDR
の内容に対応する現データ)を該バッファ12から取り
出して、所定の送信バッファTBFに格納する。次のス
テップS5では、序数レジスタORDRの内容を1だけ
インクリメントする。その後、メインルーチンにリター
ンする。そして、メインルーチンの過程で再び図3の
「送信準備処理」を行う。こうして、図3の「送信準備
処理」が繰り返される。この「送信準備処理」を繰り返
す過程で、順次供給されたいくつかのデータが、前記送
信バッファTBFに順次格納される。この送信バッファ
TBFに格納されたいくつか(一般的には複数x)のデ
ータは、次に述べる「送信割込処理」によって1パケッ
トとして送信される。
【0026】図4は、送信側10で行われる「送信割込
処理」の一例を略示するものであり、図3の処理に対す
る割込み処理として実行される。この「送信割込処理」
は、所定の送信割込み周期に従って規則的な割込み間隔
で実行される。この送信割込み周期は、例えば、パケッ
トの1サービス区間SFに対応しており、一般に、送信
するデータのサンプリング周期Tより長い。送信割込み
がかかると、まず、ステップS6では、送信側タイムス
タンプレジスタTStにレジストされているタイムスタ
ンプデータを、タイムスタンプ情報“TIME STA
MP”として送信セットし、かつ、前記送信バッファT
BFに格納されているデータの数xを数えてこれをサン
プル数x“SAMPLE x”として送信セットし、か
つ、序数レジスタORDRの内容から上記サンプル数x
“SAMPLE x”を引いた値(ORDR−“SAM
PLE x”)をパケット先頭サンプル序数“SAMP
LE ORDER”として送信セットする。このパケッ
ト先頭サンプル序数“SAMPLE ORDER”は、
送信する1パケットに含まれる複数のデータのうち時系
列順序が先頭のデータのサンプル序数を示す。序数レジ
スタORDRの現内容が、送信する1パケットに含まれ
る複数のデータのうち時系列順序が最後のデータの次の
サンプル序数を示しているので、これから該パケットに
含まれるデータのサンプル数“SAMPLE x”を引
いたものが、該パケットにおける先頭のデータのサンプ
ル序数を示すことになる。
【0027】次のステップS7では、前記送信バッファ
TBFに格納されている複数xのデータと、前ステップ
S6で送信セットした各情報、すなわちタイムスタンプ
情報“TIME STAMP”、サンプル数x“SAM
PLE x”、パケット先頭サンプル序数“SAMPL
E ORDER”とを、1パケットとしてパケット作成
し、該パケットをネットワーク30を介して送信する。
なお、ネットワーク30を介した受信側20との間の実
際の具体的な通信作業は、通信インタフェースを介して
行われることになるので、このステップS7では図示し
ない通信インタフェースに対してパケットを送出するこ
とからなる。なお、送信バッファTBFの格納データを
送出した後に該バッファTBFをクリアするものとす
る。次のステップS8で、送信側タイムスタンプレジス
タTStに空データ“void”をセットし、その後リ
ターンする。次のパケットが有効なタイムスタンプを伴
う場合は、図3のステップS3の処理を経由することに
よって該レジスタTStの内容が有効なタイムスタンプ
値によって更新される。他方、次のパケットが有効なタ
イムスタンプを伴わない場合は、図3のステップS3の
処理を経由することがなく、よって、該レジスタTSt
の内容は更新されないまま空データ“void”を保持
して、次の「送信割込み処理」を迎える。そのような場
合は、図4のステップS6において、タイムスタンプ情
報“TIME STAMP”として空データ“voi
d”が送信セットされることになる。
【0028】例えば、M=4であるとして、図1(c)
の1段目及び2段目を参照しながら、図3及び図4の動
作例について説明する。最初に、序数0のデータがデー
タバッファ12に取り込まれたとき、レジスタORDR
の内容が0であるから、ステップS2がYESとなり、
ステップS3に行き、タイマ13の現在値(図1では便
宜上最初は「1」としているが、これに限らないのは勿
論である)を送信側タイムスタンプレジスタTStにス
トアする。この序数0のデータは送信バッファTBFに
格納され(S4)、序数レジスタORDRの値が増数さ
れて1となる(S5)。次に序数1のデータがデータバ
ッファ12に取り込まれたとき、レジスタORDRの内
容は1であるから、ステップS2がNOとなり、ステッ
プS3をジャンプしてステップS4,S5を行い、この
序数1のデータは送信バッファTBFに格納され、序数
レジスタORDRの値が増数されて2となる。次に序数
2のデータがデータバッファ12に取り込まれたときも
同様であり、ステップS3をジャンプしてステップS
4,S5を行い、この序数2のデータが送信バッファT
BFに格納され、序数レジスタORDRの値が増数され
て3となる。
【0029】こうして、最初のサービス区間SF1の間
に序数0,1,2の3つのデータが供給され、これらの
データが送信バッファTBFに格納される。該サービス
区間SF1の終わりで(又は次のサービス区間SF2の
始まりで)、図4の「送信割込処理」が行われる。ステ
ップS6の処理によって、タイムスタンプ情報“TIM
E STAMP”としてレジスタTStの「1」が送信
セットされ、サンプル数x“SAMPLE x”として
「3」が送信セットされ、パケット先頭サンプル序数
“SAMPLE ORDER”として「0」(3−3=
0)が送信セットされる。そして、ステップS7の処理
に基づき、2番目のサービス区間SF2における適宜の
時点で、これらの情報と送信バッファTBF内の序数
0,1,2の3つのデータとが1パケットとして送信さ
れることになる。
【0030】2番目のサービス区間SF2においては、
序数3,4の2つのデータが供給される。序数3のデー
タが供給されたときは、ステップS2はNOであり、序
数3のデータが送信バッファTBFに格納され(S
4)、序数レジスタORDRの値が増数されて4となる
(S5)。次に序数4のデータが供給されたときは、ス
テップS2はYESとなり、ステップS3に行き、タイ
マ13の現在値(図1では「17」)を送信側タイムス
タンプレジスタTStにストアする。また、この序数4
のデータが送信バッファTBFに格納され(S4)、序
数レジスタORDRの値が増数されて5となる(S
5)。2番目のサービス区間SF2が終わって、図4の
「送信割込処理」が行われると、ステップS6の処理に
よって、タイムスタンプ情報“TIME STAMP”
としてレジスタTStの「17」が送信セットされ、サ
ンプル数x“SAMPLE x”として「2」が送信セ
ットされ、パケット先頭サンプル序数“SAMPLE
ORDER”として「3」(5−2=3)が送信セット
される。そして、ステップS7の処理に基づき、3番目
のサービス区間SF3における適宜の時点で、これらの
情報と送信バッファTBF内の序数3,4の2つのデー
タとが1パケットとして送信されることになる。また、
ステップS8では、レジスタTStに空データ“voi
d”がセットされる。
【0031】3番目のサービス区間SF3においては、
序数5,6の2つのデータが供給される。序数5のデー
タが供給されたときは、ステップS2はNOであり、序
数5のデータが送信バッファTBFに格納され(S
4)、序数レジスタORDRの値が増数されて6となる
(S5)。次に序数6のデータが供給されたときも、ス
テップS2はNOであり、序数6のデータが送信バッフ
ァTBFに格納され、序数レジスタORDRの値が増数
されて7となるだけである。結局、この3番目のサービ
ス区間SFにおいては、ステップS3を経由することな
く、レジスタTStには空データ“void”を保持し
たままとなる。従って、次の「送信割込処理」において
は、タイムスタンプ情報“TIMESTAMP”として
空データ“void”が送信セットされ、サンプル数x
“SAMPLE x”として「2」が送信セットされ、
パケット先頭サンプル序数“SAMPLE ORDE
R”として「5」(7−2=5)が送信セットされるこ
とになる。そして、これらの情報と送信バッファTBF
内の序数5,6の2つのデータとが1パケットとして送
信されることになる。以下、同様に動作し、図1(c)
の1段目に示すような時系列的データに応じて2段目に
示すような内容のパケットが送信されることになる。
【0032】図5は、受信側20で行われる「受信処
理」の一例を略示するものである。この「受信処理」
は、主に、ネットワーク処理部24とクロック生成部2
3が受け持つ処理について示されている。この「受信処
理」は、ネットワーク30から与えられる1パケット情
報を受信側20が受信する毎に実行される。まず、ステ
ップS11では、ネットワーク30を介して受信した1
パケットに含まれる各情報のうち、パケット先頭サンプ
ル序数“SAMPLE ORDER”をレジスタjに格
納し、サンプル数x“SAMPLE x”をレジスタX
に格納する。また、アップデートクロックレジスタup
dateCLOCKに偽値FALSEをセットする。こ
のアップデートクロックレジスタupdateCLOC
Kに、真値TRUEがセットされているとき、クロック
周波数の更新を指示し、偽値FALSEをセットされて
いるときはクロック周波数の更新を指示しない。次に、
ステップS12では、変数レジスタiを初期値0にセッ
トする。次のステップS13では、ネットワーク30を
介して受信した1パケットに含まれる複数xのデータの
うち変数レジスタiによって指示される順位の1つのデ
ータDATA(i) をデータバッファ22に転送する。
【0033】次のステップS14では、レジスタjの内
容(すなわちパケット先頭サンプル序数“SAMPLE
ORDER”)に変数レジスタiの現在値を加算した
値を、前記所定数Mで割って、その余りが0であるかを
調べる。すなわち、前ステップS13でデータバッファ
22に書き込んだデータ(この序数は「j+i」であ
る)が、タイムスタンプを付加した前記特定のデータに
該当するか否かを調べる。前ステップS13でデータバ
ッファ22に書き込んだデータが、前記特定のデータに
該当する場合は、該データの序数j+iが所定数Mで割
り切れるため、余りが0となり、ステップS14ではY
ESと判定される。その場合は、ステップS15〜S1
8のルートを経由してからステップS19に行く。NO
の場合は、ステップS15〜S18のルートをジャンプ
してステップS19に行く。ステップS15では、受信
側タイムスタンプレジスタTSrの内容が空データ“v
oid”であるか否かを調べる。図示していない初期設
定処理により、該レジスタTSrの内容が空データ“v
oid”に初期設定されるようになっており、その後
に、次のステップS16を行うことにより、受信した1
パケットに含まれるタイムスタンプ情報“TIME S
TAMP”を該レジスタTSrにロードする。従って、
このステップS16は、最初のタイムスタンプ情報“T
IMESTAMP”をレジスタTSrにロードするため
の処理である。以後は、ステップS15はNOと判定さ
れ、専らステップS17,S18のルートを通って処理
される。
【0034】ステップS17では、前記式3に相当する
演算を行って、オリジナルのサンプリング周期Tを算出
/推定する。すなわち、今回受信したパケットに含まれ
るタイムスタンプ情報“TIME STAMP”(前記
式3のTS(i) に対応)から受信側タイムスタンプレジ
スタTSrの内容(前回又は前々回受信したパケットに
含まれていたタイムスタンプ情報であって、前記式3の
TS(i-1') に対応)を引き算し、1つのタイムスタン
プを付加するデータグループ内のデータ数を示す定数M
(例えば4)で割算する。その商が、オリジナルのサン
プリング周期Tを推定するデータとしてレジストされ
る。次のステップS18では、今回受信したパケットに
含まれるタイムスタンプ情報“TIME STAMP”
を受信側タイムスタンプレジスタTSrにロードし、該
レジスタTSrの内容を更新し、かつ、アップデートク
ロックレジスタupdateCLOCKに、真値TRU
Eをセットする。
【0035】ステップS19では、変数レジスタiの値
を1だけ増数する。次のステップS20では、増数され
た変数レジスタiの値がレジスタXに格納されている当
該パケット中のデータ数xに等しくなったか否かを調べ
る。NOであれば、ステップS13に戻り、増数された
変数レジスタiの値に関して、前記ステップS13〜S
18の処理を繰り返す。ステップS20がYESとなる
と、ステップS21に行き、アップデートクロックレジ
スタupdateCLOCKの内容が真値TRUEであ
ることを条件に、前記ステップS17で算出されたオリ
ジナルのサンプリング周期Tに従って、受信側20にお
けるサンプリングクロック周波数を、この周期Tに従っ
て、設定するクロック同期化処理を行う。すなわち、受
信側20におけるサンプリングクロック周波数がステッ
プS17での演算結果Tに応じて設定若しくは更新され
ることになる。その後、リターンして、この「受信処
理」を終了する。なお、1パケットには1個のタイムス
タンプ情報しか含まないようにしているので、一旦、ス
テップS17,S18のルートを通った後は、ステップ
S13〜S20の処理を繰り返すことは不要である。従
って、ステップS18の後はステップS21にジャンプ
させるようにフローを変更してもよい。
【0036】次に、M=4であるとして、図1(c)の
2段目及び3段目を参照しながら、図5の動作例につい
て説明する。2番目のサービス区間SF2で、序数0,
1,2のデータを含む最初のパケットの情報を受信する
と、ステップS11では、j=0、X=3にセットされ
る。この場合、j=0、i=0のとき、ステップS14
がYESとなる。TSrには“void”が初期設定さ
れているので、次のステップS15がYESとなり、ス
テップS16で、今回受信したパケットに含まれるタイ
ムスタンプ情報“TIME STAMP”=「1」が、
レジスタTSrにセットされる。やがて、ステップS1
3〜S20の処理を繰り返した後、ステップS21に行
く。この場合は、アップデートクロックレジスタupd
ateCLOCKの内容が偽値FALSEにセットされ
たままなので、受信側20におけるサンプリングクロッ
ク周波数の設定は行われない。従って、データバッファ
22に記憶したデータの再生読み出しは、まだスタート
されない。
【0037】3番目のサービス区間SF3で、序数3,
4のデータを含む2番目のパケットの情報を受信する
と、ステップS11では、j=3、X=2にセットされ
る。この場合、j=3、i=1のとき、ステップS14
がYESとなる。レジスタTSrには前回受信したパケ
ットに含まれるタイムスタンプ情報“TIME STA
MP”=「1」がセットされているので、次のステップ
S15はNOと判断され、ステップS17に行く。この
場合、今回受信したパケットに含まれるタイムスタンプ
情報“TIME STAMP”は「17」であるから、
ステップS17の演算では、T=(17−1)/4=4
が得られる。次のステップS18では、“TIME S
TAMP”の「17」をレジスタTSrにセットし、か
つ、updateCLOCKに真値TRUEをセットす
る。従って、その後のステップS21では上記周期Tに
従って受信側20におけるサンプリングクロック周波数
の設定を行なう。これにより、データバッファ22に記
憶したデータの再生読み出しが可能となる。図1(c)
では、次のサービス区間SF4の始まりから、周期Tに
従うデータの再生読み出しが行われるように図示されて
いる。しかし、これに限らず、サービス区間SF3の途
中であっても、ステップS21での処理を終了し次第、
データバッファ22に記憶したデータの再生読み出しを
開始するようにしてもよい。
【0038】4番目のサービス区間SF4で、序数5,
6のデータを含む3番目のパケットの情報を受信する
と、ステップS11では、j=5、X=2にセットされ
る。この場合、変数レジスタiの値は、最初は0、その
次は1にセットされる。従って、ステップS14では、
j+i=5+0=5の場合と、j+i=5+1=6の場
合の両方について、判定を行うが、そのいずれの場合も
判定結果はNOであり、ステップS17,S18のルー
トは通らない。従って、ステップS17でのオリジナル
周期Tの算出演算は行われず、レジスタTSrには前回
受信したパケットに含まれていたタイムスタンプ情報
“TIME STAMP”の「17」が保持される。従
って、ステップS21におけるサンプリングクロック周
波数の更新処理も行われず、前回計算した周期Tに従う
クロック周波数を維持して、データバッファ22に記憶
したデータの再生読み出しが続行される。このように、
パケットに含まれるタイムスタンプ情報“TIME S
TAMP”が空データ“void”の場合は、サンプリ
ングクロック周波数の更新処理は行われないようになっ
ている。
【0039】5番目のサービス区間SF5で、序数7,
8のデータを含む4番目のパケットの情報を受信する
と、ステップS11では、j=7、X=2にセットされ
る。この場合も、変数レジスタiの値は、最初は0、そ
の次は1にセットされる。ステップS14では、j+i
=7+1=8の場合、YESと判定する。そして、ステ
ップS17に行き、今回受信したパケットに含まれるタ
イムスタンプ情報“TIME STAMP”の「33」
と、レジスタTSrにストアされている前々回受信した
パケットに含まれていたタイムスタンプ情報の「17」
とを使用して、T=(33−17)/4=4の演算がな
される。次のステップS18では、“TIME STA
MP”の「33」をレジスタTSrにセットし、かつ、
updateCLOCKに真値TRUEをセットする。
従って、その後のステップS21では上記周期Tに従っ
て受信側20におけるサンプリングクロック周波数の更
新を行なう。以下、同様に動作し、図1(c)の2段目
に示すような内容のパケットの受信に応じて、3段目に
示すようなオリジナル周期Tでの時系列的データの再生
読み出しが行われる。
【0040】なお、上記の設例では、タイムスタンプ情
報の数値を単純化して示しているので、演算の結果得ら
れる周期Tは一定の数値4であるが、通常は、各数値の
分解能の設定に応じて演算結果値Tはもっと複雑な値を
とる。受信側20においては、この演算結果値Tに応じ
て、そのサンプリングクロック周波数を絶えず調整する
よう同期化制御される。このようにして、所定のデータ
グループ毎に送信されるタイムスタンプ情報によって、
送信側10と受信側20のサンプリングクロック周波数
が絶えず同期化されるように制御される。なお、上記実
施例における所定の定数Mは、1つのパケット生成周期
(つまり1サービス区間SF)において、2以上のデー
タにタイムスタンプを付加することのないような値、つ
まり1パケット生成周期内に供給されるデータ数の最大
値(図1の例では「3」)よりも大きな値、であること
が望ましく、また、受信側におけるサンプリング周期T
の再現分解能を高めるためには、そのような値の中の最
小値であることが望ましい。更に、Mを2のべき乗の値
とすれば、割算演算を簡単化できるので、好ましい。
【0041】ところで、送信側と受信側のサンプリング
クロック周波数を同期させるためには、最も単純には、
データ送信の冒頭において送信側から受信側に対してサ
ンプリングクロック周波数を指示する情報を与え、受信
側において該情報に対応するサンプリングクロック周波
数を発振するようにクロック分周比を設定するようにす
ればよいはずである。しかし、発振源として使用する水
晶発振子の個体差によって、送信側と受信側の実際のサ
ンプリングクロック周波数に微妙なずれが生じることが
あるので、長時間にわたる再生処理においては不都合が
生じて来るという問題がある。すなわち、クロック発振
出力に基づくデータ再生読み出し技術においては、発振
源として使用する水晶発振子の発振出力を分周して所望
の周期のサンプリングクロックを作成することになる
が、送信側のデータ読み出しに使用する水晶発振子と、
受信側のデータ読み出しに使用する水晶発振子との個体
差によって、送受信間で同じ分周比に設定したとして
も、送信側と受信側の実際のサンプリングクロック周波
数に微妙なずれが生じることがある。この微妙なずれ
は、長時間にわたる連続的なオーディオ再生処理等にお
いては累積されてしまい、遂には再生タイミングの顕著
なずれをもたらすことになる。
【0042】例えば、一般に、異なるシステム間で情報
を送受信する場合は、受信側にバッファを設け、データ
転送のタイミングずれを吸収するようにしているが、上
記のように送受信間のサンプリングクロック周波数に微
妙なずれがある場合は、受信側バッファがオーバーフロ
ーしたり(受信側のクロック周波数が相対的に遅くなっ
た場合)、アンダーフローしたり(受信側のクロック周
波数が相対的に速くなった場合)することがある。その
ような場合は、正常なデータ送受信を行うことができな
くなるので、好ましくない。これに対して、この発明の
ように、送信するデータに時間情報を付加することによ
り、送信側と受信側のサンプリングクロック周波数が絶
えず同期化されるように制御する方式では、そのような
問題が起こらないので、より好ましいものである。
【0043】なお、上記実施例では、受信側20におい
て、ステップS17で演算した周期Tに基づき、データ
バッファ22の再生読み出し制御用のサンプリングクロ
ック周波数を設定するようにしているが、時間情報に基
づく再生読み出し制御の態様はこれに限らず、適宜に設
計してよい。例えば、タイムスタンプ情報が付加されて
いないデータに対して、それぞれ固有の時間情報を付加
する処理を行い、各データ毎の固有の時間情報を参照し
て再生読み出しを行うようにしてもよい。また、データ
伝送に先立ち、基本的なサンプリング周期Tを示すデー
タを送信し、受信側20では、最初は、この送信されて
きたデータに対応するサンプリング周期Tでデータ再生
読み出しを開始するようにしてもよい。そのようにすれ
ば、受信側20におけるデータ再生読み出しの立上りを
上記実施例に比べて1サービス区間だけ早めることがで
きる。また、本来のデータの送信に先立って、いくつか
のダミーデータをタイムスタンプの初期値を伴って送信
するようにしてもよい。その場合、受信側20における
データ再生読み出しの開始は、ダミーデータをカットし
て、実際のデータから開始するようにする。例えば、図
1(c)の場合、序数0,1,2のデータがダミーデー
タであるとすると、その3段目に示された受信側再生読
み出しにおいては、序数3のデータ(実際のデータの先
頭)から読み出し開始するようにする。そのようにして
も、受信側20における実際のデータの再生読み出し開
始を上記実施例に比べて1サービス区間だけ早めること
ができる。
【0044】なお、図1(b)に示したようなデータ伝
送方式を実施する場合は、概ね、図3のステップS2,
S3を省略し、図4のステップS6において「TIME
STAMP ← TSt」の代わりに、「TIME
STAMP ← タイマ13の現在値」を行い、かつ、
図5のステップS14,S17の所定の定数Mの代わり
に、可変の所定数x(レジスタXの値)を使用すればよ
い。また、図1(a)に示したようなデータ伝送方式を
実施する場合は、概ね、図3のステップS2、図5のス
テップS14,S17の所定の定数Mの代わりに、1パ
ケット当りのデータ数を示す固定数Nを使用し、かつ、
図4の「送信割込処理」の開始時に、送信バッファTB
F内のデータ数xがN以上であるかをチェックするステ
ップを設け、NOであれば割込処理を終了し、YESで
あれば割込処理を続行するようにする。そして、続行時
においては、ステップS6において「サンプル数x“S
AMPLE x”」として所定数Nを送信セットし、ス
テップS7において送信バッファTBFのデータのうち
先行するN個のデータを1パケットとして形成し、残り
のデータがあればそれらは送信バッファTBFに残して
おくようにする。
【0045】
【発明の効果】以上の通り、この発明によれば、ディジ
タルオーディオデータのような、一定周期の時系列的な
配列を持つ複数のデータを、ネットワークを介して伝送
する場合において、非同期パケットを使用してその利点
を享受できるようにすると共に、パケットに含めて送信
する時間情報をできるだけ少ないデータ量で表現して1
パケット当りの送信データ量を減少させることができる
ようになる、という優れた効果を奏する。また、送受信
間の時間遅れをできるだけ少なくしたデータ伝送方式を
提供することがてきる。更に、少ないデータ量で時間情
報を表現した場合において、受信側での時間情報の再生
演算処理をできるだけ簡略化できるようにすることがで
きる。
【図面の簡単な説明】
【図1】 この発明に従うデータ伝送方式のいくつかの
具体例をイラスト的に図示するタイミングチャート。
【図2】 この発明に係るデータ伝送方式の一実施例の
全体構成を示す概略ブロック図。
【図3】 図2の送信側で行われる「送信準備処理」の
一例を略示するフロー図。
【図4】 図2の送信側で行われる「送信割込処理」の
一例を略示するフロー図。
【図5】 図2の受信側で行われる「受信処理」の一例
を略示するフロー図。
【符号の説明】
10 送信側 20 受信側 30 ネットワーク 11 データ生成部 12,22 データバッファ 13 タイマ 14,24 ネットワーク処理部 23 クロック生成部 21 データ利用部
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) H04L 12/56 H04L 12/28 H04L 7/00

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 第1の周期の時系列的な配列を持つ複数
    のデータを供給するステップと、ここで前記第1の周期
    は可変であり、 2以上の所定の定数からなる前記データのグループ毎に
    該グループ内の1つのデータを特定し、該特定されたデ
    ータの時間位置を示す時間情報を付加するステップと、 前記第1の周期よりも長く且つこれに非同期な所定の第
    2の周期毎に、該第2の周期の1周期内で供給された複
    数の前記データを1パケットとして、かつ、該パケット
    内のデータの中に前記時間情報が付加されたデータがあ
    れば該時間情報を該パケットに含めて、ネットワークを
    介して送信するステップと を具備するデータ伝送方式。
  2. 【請求項2】 第1の周期の時系列的な配列を持つ複数
    のデータを供給する装置と、ここで前記第1の周期は可
    変であり、 2以上の所定の定数からなる前記データのグループ毎に
    該グループ内の1つのデータを特定し、該特定されたデ
    ータの時間位置を示す時間情報を付加する装置と、 前記第1の周期よりも長く且つこれに非同期な所定の第
    2の周期毎に、該第2の周期の1周期内で供給された複
    数の前記データを1パケットとして、かつ、該パケット
    内のデータの中に前記時間情報が付加されたデータがあ
    れば該時間情報を該パケットに含めて、ネットワークを
    介して送信する装置と を具備するデータ伝送システム。
JP13762396A 1996-05-07 1996-05-07 データ伝送方式 Expired - Lifetime JP3317140B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP13762396A JP3317140B2 (ja) 1996-05-07 1996-05-07 データ伝送方式
EP97918381A EP0895378B1 (en) 1996-05-07 1997-05-07 Method and system for transmitting audio data with time stamp
PCT/JP1997/001541 WO1997042734A1 (fr) 1996-05-07 1997-05-07 Procede et dispositif de transmission de donnees
AU26514/97A AU2651497A (en) 1996-05-07 1997-05-07 Method and system for transmitting data
DE69735415T DE69735415T2 (de) 1996-05-07 1997-05-07 Verfahren und System zur Übertragung von Audiodaten mit Zeitstempel
US09/194,520 US6477181B1 (en) 1996-05-07 1998-11-05 Data communication method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13762396A JP3317140B2 (ja) 1996-05-07 1996-05-07 データ伝送方式

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2002105307A Division JP3977124B2 (ja) 2002-04-08 2002-04-08 データ伝送方式

Publications (2)

Publication Number Publication Date
JPH09298558A JPH09298558A (ja) 1997-11-18
JP3317140B2 true JP3317140B2 (ja) 2002-08-26

Family

ID=15202999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13762396A Expired - Lifetime JP3317140B2 (ja) 1996-05-07 1996-05-07 データ伝送方式

Country Status (1)

Country Link
JP (1) JP3317140B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6909728B1 (en) 1998-06-15 2005-06-21 Yamaha Corporation Synchronous communication
US6424651B1 (en) * 1998-09-15 2002-07-23 Avaya Technology Corp. Arrangement for performing automatic build out in a communications system that supports multiple constant-bit-rate connections
US6751228B1 (en) 1999-03-23 2004-06-15 Yamaha Corporation Packet handler of audio data by isochronous mode
JP3584873B2 (ja) 2000-10-31 2004-11-04 ヤマハ株式会社 通信制御装置及び通信システム
JP5459937B2 (ja) * 2007-04-19 2014-04-02 スパンション エルエルシー 集積回路およびオーディオ装置
KR101615296B1 (ko) * 2009-04-14 2016-04-25 에이티아이 테크놀로지스 유엘씨 내포된 클럭 복원

Also Published As

Publication number Publication date
JPH09298558A (ja) 1997-11-18

Similar Documents

Publication Publication Date Title
US6477181B1 (en) Data communication method and system
JP3687188B2 (ja) パケット伝送方法
JP3463460B2 (ja) データ伝送方式
US5923902A (en) System for synchronizing a plurality of nodes to concurrently generate output signals by adjusting relative timelags based on a maximum estimated timelag
JP3516206B2 (ja) データストリーム処理装置および方法、並びにプログラム格納媒体
JP3666625B2 (ja) データ記録方法およびデータ記録装置
JP3317140B2 (ja) データ伝送方式
JP3159055B2 (ja) 通信システム
JP3552667B2 (ja) 通信システム及び通信プログラムを記録した記録媒体
JP4703095B2 (ja) マルチメディアファイルの同期方法
JP3977124B2 (ja) データ伝送方式
JP3556381B2 (ja) 情報多重化装置
US6909728B1 (en) Synchronous communication
JP3861873B2 (ja) 音楽システム及び音楽データ送受装置
JP3440390B2 (ja) 等時性保証型連続メディア伝送装置及び等時性保証型連続メディア伝送方法及び受信装置
JP3451971B2 (ja) パケット転送装置
KR100852679B1 (ko) 레코딩될 비트스트림에 대한 스터핑 데이터의 삽입을 제어하는 방법 및 장치
JP3278794B2 (ja) 分散型実時間連続メディア処理装置
JP3351385B2 (ja) シリアルデータ送受信方法及び装置
JP2000244536A (ja) 遅延変動測定方法及び装置
JP2834145B2 (ja) パケット位相同期回路およびパケット位相同期方法
JP3627743B2 (ja) データ伝送システムにおけるノード
JPH10190736A (ja) ネットワークデータの同期方法および装置
JP2000032042A (ja) データ多重化装置、データ多重化方法、及びデータ多重化方法を記録したコンピュータ読み取り可能な記録媒体
Lu et al. Mechanisms of MPEG stream synchronization

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080614

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090614

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100614

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100614

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110614

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120614

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120614

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130614

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140614

Year of fee payment: 12

EXPY Cancellation because of completion of term