(57)【特許請求の範囲】
【請求項１】
ネットワークを介して時系列のデータセグメントを順次受信する受信部と、
前記受信部によって受信された各データセグメントの受信時刻を求める時刻検出部と、
前記受信部によって受信された各データセグメントの送信時刻を推定する送信時刻推定手段と、
前記各データセグメントの受信時刻および送信時刻の推定値に基づいて各データセグメントの伝送に要した遅延時間を推定する遅延時間推定部と、
前記遅延時間推定部から得られた複数のデータセグメントの遅延時間の推定値からネットワークを介したデータセグメントの伝送における最小遅延時間を推定する最小遅延時間推定部と、
前記遅延時間推定部によって推定されたデータセグメントの遅延時間の推定値から前記最小遅延時間を引き算して相対遅延時間を求める相対遅延時間測定手段と、
吸収すべき最大遅延量から各データセグメントの相対遅延時間を引き算して各データセグメントに対応した付加遅延量を求め、各データセグメントを各々に対応した付加遅延量だけ遅延させて出力する遅延手段と
を備えることを特徴とする遅延ジッタ吸収装置。
【請求項２】
請求項１に記載の遅延ジッタ吸収装置において、
前記受信部は、前記遅延手段の処理の対象となるデータセグメントの受信前に、複数のトレーニングデータセグメントを受信し、
前記最小遅延時間推定部は、前記複数のトレーニングデータセグメントの遅延時間の推定値から前記最小遅延時間を推定することを特徴とする遅延ジッタ吸収装置。
【請求項３】
請求項１に記載の遅延ジッタ吸収装置において、
前記最小遅延時間推定部は、ある期間内に受信された複数のデータセグメントの遅延時間の推定値を前記遅延時間推定部から取得し、これらの推定値から前記最小遅延時間を推定することを特徴とする遅延ジッタ吸収装置。
【請求項４】
請求項３に記載の遅延ジッタ吸収装置において、
前記データセグメントは音声を表すデータであることを特徴とする遅延ジッタ吸収装置。
【請求項５】
請求項１に記載の遅延ジッタ吸収装置において、
前記受信部は、連続性を要求する第１区間に属するデータセグメントと連続性を要求しない第２区間に属するデータセグメントとを交互に受信し、
前記最小遅延時間推定部は、第１区間に属する最初のデータセグメントの受信時、それまでに受信されたデータセグメントの前記最小遅延時間を推定することを特徴とする遅延ジッタ吸収装置。
【請求項６】
請求項１に記載の遅延ジッタ吸収装置において、
前記遅延時間推定部は、前記データセグメントに付随した送信時刻情報または送信時刻の手掛かりになる情報と前記データセグメントの受信時刻とに基づいて前記データセグメントの遅延時間を推定することを特徴とする遅延ジッタ吸収装置。
【請求項７】
ネットワークを介して時系列のデータセグメントを順次受信する受信処理と、
前記受信処理によって受信された各データセグメントの受信時刻を求める時刻検出処理と、
前記受信処理によって受信された各データセグメントの送信時刻を推定する送信時刻推定処理と、
前記各データセグメントの受信時刻および送信時刻の推定値に基づいて各データセグメントの伝送に要した遅延時間を推定する遅延時間推定処理と、
前記遅延時間推定処理において得られた複数のデータセグメントの遅延時間の推定値からネットワークを介したデータセグメントの伝送における最小遅延時間を推定する最小遅延時間推定処理と、
前記遅延時間推定処理において推定されたデータセグメントの遅延時間の推定値から前記最小遅延時間を引き算して相対遅延時間を求める相対遅延時間測定処理と、
吸収すべき最大遅延量から各データセグメントの相対遅延時間を引き算して各データセグメントに対応した付加遅延量を求め、各データセグメントを各々に対応した付加遅延量だけ遅延させて出力する遅延処理と
を備えることを特徴とする遅延ジッタ吸収方法。
【請求項８】
ネットワークを介して時系列のデータセグメントを順次受信する受信処理と、
前記受信処理によって受信された各データセグメントの受信時刻を求める時刻検出処理と、
前記受信処理によって受信された各データセグメントの送信時刻を推定する送信時刻推定処理と、
前記各データセグメントの受信時刻および送信時刻の推定値に基づいて各データセグメントの伝送に要した遅延時間を推定する遅延時間推定処理と、
前記遅延時間推定処理において得られた複数のデータセグメントの遅延時間の推定値からネットワークを介したデータセグメントの伝送における最小遅延時間を推定する最小遅延時間推定処理と、
前記遅延時間推定部によって推定されたデータセグメントの遅延時間の推定値から前記最小遅延時間を引き算して相対遅延時間を求める相対遅延時間測定処理と、
吸収すべき最大遅延量から各データセグメントの相対遅延時間を引き算して各データセグメントに対応した付加遅延量を求め、各データセグメントを各々に対応した付加遅延量だけ遅延させて出力する遅延処理と
を前記ネットワークに接続されたコンピュータに実行させるプログラム。
【請求項９】
ネットワークを介して時系列のデータセグメントを順次受信する受信処理と、
前記受信処理によって受信された各データセグメントの受信時刻を求める時刻検出処理と、
前記受信処理によって受信された各データセグメントの送信時刻を推定する送信時刻推定処理と、
前記各データセグメントの受信時刻および送信時刻の推定値に基づいて各データセグメントの伝送に要した遅延時間を推定する遅延時間推定処理と、
前記遅延時間推定処理において得られた複数のデータセグメントの遅延時間の推定値からネットワークを介したデータセグメントの伝送における最小遅延時間を推定する最小遅延時間推定処理と、
前記遅延時間推定処理において推定されたデータセグメントの遅延時間の推定値から前記最小遅延時間を引き算して相対遅延時間を求める相対遅延時間測定処理と、
吸収すべき最大遅延量から各データセグメントの相対遅延時間を引き算して各データセグメントに対応した付加遅延量を求め、各データセグメントを各々に対応した付加遅延量だけ遅延させて出力する遅延処理と
を前記ネットワークに接続されたコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、インターネットなど伝送経路を介して一連の時系列データを受け取り、個々のデータを適切な時間だけ遅延させることにより、個々のデータの伝送過程において生じた遅延ジッタを吸収し、遅延ジッタの影響が除去された時系列データを得る遅延ジッタ吸収装置および遅延ジッタ吸収方法に関する。
【０００２】
【従来の技術】
通信の一形態として、例えば音声信号などの時間的に連続した信号の時系列サンプルを複数の連続したパケットに載せ、インターネットなどのネットワークを介して送信ノードから受信ノードへ伝送するリアルタイム通信がある。このようなリアルタイム通信において、個々のパケットの伝送に要する遅延時間が等しければ、受信ノードでは、個々のパケットの受信時にパケット中の時系列サンプルの再生を行うことにより、送信ノードにおける音声信号と同じ波形の音声信号を得ることができる。
【０００３】
しかし、インターネットなどのネットワークでは、複数のパケットが同じ送信ノードから同じ受信ノードに伝送される場合であっても、個々のパケットの伝播遅延時間（Propagation Delay）が同じになるとは限らず、パケット間で伝播遅延時間がばらつく。この伝播遅延時間のパケット間のばらつきは一般に遅延ジッタと呼ばれている。
【０００４】
このような遅延ジッタが発生する場合、受信ノードにおいて個々のパケットの受信時に受信パケットから時系列サンプルを再生する処理を行うと、元の送信信号と同じ波形の信号を受信パケットから再生することができる保証はない。
そこで、受信ノードでは、バッファを用いて遅延ジッタを吸収し、遅延ジッタの影響が除去された時系列データを得るという手段が採られる。
【０００５】
図１２から図１７を参照しながらこの遅延ジッタを吸収するための技術について具体的に説明する。
図１２は、リアルタイム音声伝送システムの構成例を示すブロック図である。このシステムにおいて、送信側端末１０では、送信すべき音声信号が音声エンコーダ１１により符号化され、音声信号の符号化データを載せた時系列の音声パケットが生成される。送信部１２は、これらの個々の音声パケットを受信側端末３０宛に送信する。各音声パケットは、ネットワーク２０を通過して受信側端末３０に到着する。受信側端末３０では、送信側端末１０からの音声パケットが受信部３１によって受信され、バッファ３２に蓄積される。そして、バッファ３２に蓄積された音声パケットは、送信ノードでの生成順序と同じ順序でバッファ３２から読み出され、音声デコーダ３３に送られる。音声デコーダ３３は、このようにして送られてくる音声パケットを受け取り、音声パケット内の符号化データから音声信号を復号する。
【０００６】
このリアルタイム音声伝送システムにおいて、送信側端末１０内において生成された各音声パケットは、各々の発生時間間隔と同じ送信時間間隔でネットワーク２０に送出される。しかし、既に説明したように、これらの個々の音声パケットが受信側端末３０に到着するまでに要する伝播遅延時間は、各音声パケット間で一定ではない。そこで、受信側端末３０では、受信された個々の音声パケットを音声デコーダ３３に送るタイミングの調整が行われる。図１７には、このタイミング調整の例が示されている。図１７に示す例において、送信側端末１０から送信された音声パケットＰ０、Ｐ１およびＰ２は、各々伝播遅延時間ｄ０、ｄ１およびｄ２を要して受信側端末３０に到着している。図示のように、各音声パケットＰ０、Ｐ１およびＰ２を各々適切な時間Ｄ０、Ｄ１およびＤ２だけ遅延させることができれば、各音声パケットが送信側端末１０から音声デコーダ３３に伝送されるまでの総遅延時間Ｔを一定に調整することが可能である。図１２におけるバッファ３２は、このように各音声パケットの総遅延時間を一定にするための遅延調整に用いられる装置である。ネットワーク２０における音声パケットの最小遅延時間をｄｍｉｎ、最大遅延時間をｄｍａｘとした場合、便宜上、その差分Ｄ＝ｄｍａｘ−ｄｍｉｎを遅延ジッタ幅という。図１２におけるバッファ３２には、この遅延ジッタ幅の範囲の遅延時間のばらつきを調整する能力（遅延ジッタを吸収する能力）が求められる。
【０００７】
ここで、図１３を参照し、バッファ３２による音声パケットの遅延調整について説明する。
図１３には、９個のボックスを横に並べたストライプが上下方向に４段並べられている。最上段のストライプは、ある時刻ｔ１におけるバッファ３２の状況を表しており、２段目のストライプは、時刻ｔ１から時間１ｓだけ後の時刻ｔ２におけるバッファ３２の状況を表している。同様に、３段目、４段目の各ストライプは、時刻ｔ２から時間１ｓだけ後の時刻ｔ３および時刻ｔ３から時間１ｓだけ後の時刻ｔ４におけるバッファ３２の状況を表している。
【０００８】
図１３に示す例では、バッファ３２は、９個の音声パケットを格納可能な容量を有している。各ストライプにおける９個のボックスは、各々音声パケットを格納するエリアを表しており、各ボックス内の表記＃１〜＃９は、各エリアのアドレスを表している。
【０００９】
受信側装置３０では、時間１ｓ毎に１個ずつ音声パケットがバッファ３２から読み出されて音声デコーダ３３に送られる。なお、ｓはデータの属性に応じて数ミリ秒や数十ミリ秒など、それぞれに適した単位となる。また、音声パケットの読み出しを行うエリアのアドレスも一定時間１ｓ毎に１アドレスずつ更新される。図１３では、現在音声パケットの読み出しが行われているエリアが各ストライプの最も右側に示されており、その左隣には１ｓ後に読み出しが行われるエリアが、さらにその左隣には２ｓ後に読み出しの行われるエリアが図示されている。以下同様であり、ストライプの最も左側に図示されているエリアは、８ｓ後に音声パケットの読み出しが行われるエリアである。
【００１０】
図１３に示す例では、時刻ｔ１においてアドレス＃１のエリアから音声パケットが読み出され、時刻ｔ２においてアドレス＃２のエリアから音声パケットが読み出され、時刻ｔ３においてアドレス＃３のエリアから音声パケットが読み出され、時刻ｔ４においてアドレス＃４のエリアから音声パケットが読み出される。従って、時刻ｔ１において受信された音声パケットをアドレス＃４のエリアに書き込めば、その音声パケットは３ｓ後の時刻ｔ４にバッファ３２から音声デコーダ３３に出力される。また、時刻ｔ１において受信された音声パケットをアドレス＃９に書き込めば、その音声パケットは８ｓ後にバッファ３２から音声デコーダ３３に出力される。このように、受信した音声パケットの書き込みアドレスを調整することにより、その音声パケットに対し、０〜８ｓの範囲内の任意の遅延を施すことが可能である。
【００１１】
ここで、各音声パケットが送信側端末３０によって送信されてから受信側端末３０に到着するまでの絶対遅延時間が分かれば、吸収すべき最大遅延時間（図１７に示すｄｍａｘ）から絶対遅延時間を引き算した時間だけ音声パケットをバッファ３２によって遅延させることができれば、送信側端末３０から音声デコーダ３３に伝送されるまでの各音声パケットの総遅延時間を一定にし、しかも、その総遅延時間を最小にすることができる。
【００１２】
ところが、受信側端末３０は、各音声パケットが如何なる伝播遅延時間を要して届いたかを知ることができない。そこで、次のような方法により各音声パケットの遅延調整が行われていた。なお、以下では説明を簡単にするため、送信側端末１０から一定の時間間隔で送信された一連の音声パケットがその送信順序と同じ順序で受信側端末３０に到着した場合を想定する。
【００１３】
まず、受信側端末３０は、ネットワーク２０を介して最初の音声パケットを受信すると、その音声パケットをバッファ３２の初期入力位置に書き込む（Ｓ１，Ｓ２）。図１３に示す例では、最初の音声パケットの受信時点において音声パケットの読み出しが行われるエリアから１アドレスだけ大きなアドレスに対応したエリアが初期入力位置となっている。
そして、２番目以降の音声パケットについては、当該音声パケットの受信時点において空いているエリアのうち最も早く読み出しが行われるエリアに書き込む（Ｓ３）。
【００１４】
図１３に示す例では、時刻ｔ１において受信された最初の音声パケットＰ１が、初期入力位置であるアドレス＃２のエリアに書き込まれる。そして、時刻ｔ２において音声パケットは受信されず、アドレス＃２のエリアから音声パケットＰ１が読み出されて音声デコーダ３３に送られる。時刻ｔ３になると、２番目の音声パケットＰ２が受信される。この音声パケットＰ２は、音声パケットＰ１よりも１ｓだけ長い遅延時間を要して伝送されたと考えられる。そして、音声パケットＰ２は、その受信時刻ｔ３において空いているエリアのうち最も早く読み出しの行われるエリア、すなわち、アドレス＃３のエリアに書き込まれる。そして、時刻ｔ３においては、このアドレス＃３のエリアに書き込まれた音声パケットＰ２が書き込み後直ちに読み出され、音声デコーダ３３に供給される。
【００１５】
このように音声パケットＰ１およびＰ２の伝播遅延時間に１ｓの差があると、両パケットが１ｓの時間間隔で送信側端末１０から送信されたとしても、受信側端末３０には２ｓの時間間隔で到着する。しかし、そのような場合でも、上記のようにバッファ３２の初期入力位置を定め、バッファ３２による遅延処理を行えば、送信側端末１０における送信間隔と同じ時間間隔で音声パケットＰ１およびＰ２を音声デコーダ３３に供給することができる。すなわち、最初の音声パケットＰ１の初期入力位置をその受信時刻における読み出しエリアから１ｓ相当手前のエリアにしておくことにより、１ｓの大きさの遅延ジッタを吸収することができるのである。
【００１６】
送信側端末１０から受信側端末３０に伝送される一連の音声パケット群に着目すると、それらの伝播遅延時間は、図１７に例示するように、最小値ｄｍｉｎから最大値ｄｍａｘまでばらつく。そこで、従来は、受信側端末３０において最初に音声パケットＰ１が受信されたとき、その受信時刻における読み出しアドレスから遅延ジッタ幅Ｄ＝ｄｍａｘ−ｄｍｉｎに相当する個数だけ手前のアドレスに対応したエリアを初期入力位置とし、この初期入力位置に音声パケットＰ１を書き込むようにしていた。このように初期入力位置を定めることにより、事前に想定したすべての遅延ジッタを完全に吸収することができる。
【００１７】
ここで、図１４から図１６を参照し、その詳細を説明する。以下の説明では、遅延ジッタ幅が４ｓである場合を想定している。また、説明を簡単にするため、最小の遅延時間ｄｍｉｎが０ｓであり、ネットワーク２０の遅延ジッタ幅が最大遅延時間ｄｍａｘと等しい場合を想定している。
【００１８】
図１４（ａ）において、音声パケットＰ１１およびＰ１２は送信側端末１０の音声エンコーダ１１から連続して出力されたパケットである。同様に、音声パケットＰ２１およびＰ２２も送信側端末１０の音声エンコーダ１１から連続して出力されたパケットである。図１４（ｂ）には、受信側端末３０の受信部３１に到着した各音声パケットが例示されている。図示の例では、音声パケットＰ１１およびＰ１２は、いずれも最大遅延時間ｄｍａｘ＝４ｓだけ遅延されて受信部３１に到着している。一方、音声パケットＰ２１およびＰ２２は、前者が最小遅延時間ｄｍｉｎ＝０ｓだけ遅延され、後者が最大遅延時間ｄｍａｘ＝４ｓだけ遅延され、各々受信部３１に到着している。そして、図１４（ｃ）には、バッファ３２による遅延処理を経て、音声デコーダ３３に供給される各音声パケットが例示されている。
【００１９】
図１５は、バッファ３２によりパケットＰ１１およびＰ１２に対して行われる遅延処理の様子を示しており、図１６は、バッファ３２によりパケットＰ２１およびＰ２２に対して行われる遅延処理の様子を示している。
【００２０】
図１５に示すように、時刻ｔ５に受信部３１に到着した音声パケットＰ１１は、初期入力位置であるアドレス＃５のエリアに書き込まれ、４ｓの遅延時間だけ遅延され、時刻ｔ９においてバッファ３２から音声デコーダ３３に出力される。そして、時刻ｔ６に受信部３１に到着した音声パケットＰ１２は、その受信時刻において空いているエリアのうち最も早く読み出しが行われるエリアであるアドレス＃６のエリアに書き込まれ、音声パケットＰ１１の出力時刻の次の時刻ｔ１０においてバッファ３２から出力される。
【００２１】
一方、音声パケットＰ２１およびＰ２２に対しては次のような遅延処理が行われる。まず、図１６に示すように、時刻ｔ１に受信部３１に到着した音声パケット２１は、初期入力位置であるアドレス＃５のエリアに書き込まれ、４ｓの遅延時間だけ遅延され、時刻ｔ５においてバッファ３２から出力される。そして、時刻ｔ６に受信部３１に到着した音声パケットＰ２２は、その受信時刻において空いているエリアのうち最も早く読み出しが行われるエリアであるアドレス＃６のエリアに書き込まれ、書き込み後直ちにバッファ３２から出力される。
【００２２】
以上のように、受信側端末３０において最初に受信された音声パケットの初期入力位置をその受信時刻における読み出しアドレスから遅延ジッタ幅に相当する個数だけ手前のアドレスのエリアにしておけば、最小値ｄｍｉｎから最大値ｄｍａｘまでのあらゆる遅延ジッタを吸収することができる。
【００２３】
【発明が解決しようとする課題】
ところで、上述した従来の技術では、受信側端末１０に受信された最初の音声パケットに対し、遅延ジッタ幅Ｄに相当する遅延時間だけ遅延処理が施されると、後続の音声パケットに対しても同様な遅延処理が施される。ここで、最初の音声パケットがネットワークを通過するのに要した遅延時間をｄ０とすると、各音声パケットが送信側端末１０の音声エンコーダ１１から出力された後、受信側端末３０の音声デコーダ３３に供給されるまでの総遅延時間Ｔは、Ｄ＋ｄ０となる。しかしながら、最初の音声パケットの遅延時間は、最小値ｄｍｉｎから最大値ｄｍａｘまでばらつき、総遅延時間Ｔは、この最初の音声パケットの遅延時間ｄ０によって左右されてしまう。最初の音声パケットの遅延時間ｄ０が最小遅延時間ｄｍｉｎである場合には、総遅延時間Ｔは最小になるが、最初の音声パケットの遅延時間ｄ０が最大遅延時間ｄｍａｘであった場合には、総遅延時間Ｔは、最大遅延時間ｄｍａｘの２倍程度の長時間になってしまう。近年ではＶｏＩＰ（Voice over IP）技術を用いたインターネット電話などが普及して高い通話品質が要求されるようになっており、総遅延時間を短縮することが要求されるようになってきた。従って、遅延ジッタの吸収のために総遅延時間Ｔが長くなってしまうことは好ましいことではない。
【００２４】
本発明は、上述した課題を解決するためになされたものであり、総遅延時間を短縮することが可能な遅延ジッタ吸収装置および遅延ジッタ吸収方法を提供することを目的としている。
【００２５】
【課題を解決するための手段】
上述した課題を解決するために、この発明は、ネットワークを介して時系列のデータセグメントを順次受信する受信部と、前記受信部によって受信された各データセグメントの受信時刻を求める時刻検出部と、前記受信部によって受信された各データセグメントの送信時刻を推定する送信時刻推定手段と、前記各データセグメントの受信時刻および送信時刻の推定値に基づいて各データセグメントの伝送に要した遅延時間を推定する遅延時間推定部と、前記遅延時間推定部から得られた複数のデータセグメントの遅延時間の推定値からネットワークを介したデータセグメントの伝送における最小遅延時間を推定する最小遅延時間推定部と、前記遅延時間推定部によって推定されたデータセグメントの遅延時間の推定値から前記最小遅延時間を引き算して相対遅延時間を求める相対遅延時間測定手段と、吸収すべき最大遅延量から各データセグメントの相対遅延時間を引き算して各データセグメントに対応した付加遅延量を求め、各データセグメントを各々に対応した付加遅延量だけ遅延させて出力する遅延手段とを備えることを特徴とする遅延ジッタ吸収装置を提供する。
【００２６】
かかる遅延ジッタ吸収装置によれば、パケットなどのデータセグメントの伝送に要する遅延時間の最小値が推定され、この最小値に基づいて遅延ジッタ吸収のための遅延処理の遅延量が決定される。この結果、受信されるデータセグメント群の遅延ジッタが吸収されるとともにそれらのデータセグメントの総遅延時間が短縮される。
【００２７】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施の形態について説明する。
【００２８】
Ａ．第１実施形態
図１は、この発明の第１実施形態であるリアルタイム音声伝送システムの構成を示すブロック図である。このリアルタイム音声伝送システムにおいて、送信側端末１０と、従来技術と同様に音声エンコーダ１１および送信部１２を備えている。送信側端末１０および受信側端末１００は、いずれもＶｏＩＰ端末である。このリアルタイム音声伝送シスエムは、インターネット電話サービスをユーザに提供するものである。
【００２９】
図２は、受信側端末１００の構成を示すブロック図である。この図において、受信部１０１は、送信側端末１０からインターネット２０を介して音声パケットを受信する装置である。パケット終端部１０２は、インターネット２０におけるプロトコルを終端する装置である。受信部１０１によって受信された音声パケットは、このパケット終端部１０２を介してタイムスタンプ検出部１０８および遅延時間推定部１０６に送られる。また、パケット終端部１０２は、受信した音声パケットのペイロード部から符号化音声データを取り出して遅延付加部１０３に供給する。
【００３０】
内部クロックジェネレータ１０７は、一定周波数の内部クロックを発生し、遅延時間推定部１０６と遅延付加部１０３に供給する。
【００３１】
遅延付加部１０３には、付加遅延量設定部１０４から付加遅延量データｄａが与えられる。なお、付加遅延量データの生成方法については後述する。遅延付加部１０３は、パケット終端部１０２から供給された符号化音声データを遅延させて音声デコーダ１１０に供給する装置である。この遅延付加部１０３は、図３に例示するように、ＲＡＭ１０３Ａと、パケット終端部１０２から供給された符号化音声データをＲＡＭ１０３Ａに書き込む書込回路１０３Ｂと、このＲＡＭから符号化音声データを読み出す読出回路１０３Ｃとにより構成されている。ここで、読出回路１０３Ｃは、内部クロックジェネレータ１０７から供給される内部クロックをカウントし、そのカウント値を読出アドレスとしてＲＡＭ１Ａに供給し、ＲＡＭ１０３Ａのその読出アドレスに対応したエリアから符号化音声データを読み出して音声デコーダ１１０に出力する。書込回路１０３Ｂは、パケット終端部１０２から音声パケットの符号化音声データが出力されたとき、その時点において読出回路１０３Ｃから出力されている読出アドレスと付加遅延量設定部１０４から出力されている付加遅延量データとから書込アドレスを求める。そして、この書込アドレスをＲＡＭ１０３Ａに供給し、ＲＡＭ１０３Ａのその書込アドレスに対応したエリアに音声パケットの符号化音声データを書き込む。ＲＡＭ１０３Ａに書き込まれた符号化音声データは、その後、付加遅延量データに相当する時間が経過したときにＲＡＭ１０３Ａから読み出され、音声デコーダ１１０に出力される。
【００３２】
音声デコーダ１１０は、遅延付加部１０３から出力される符号化音声データから音声データを復号する装置である。
【００３３】
タイムスタンプ検出部１０８と、遅延時間推定部１０６と、最小遅延時間推定部１０５と、付加遅延量設定部１０４は、付加遅延量データを生成するための手段を構成している。
【００３４】
既に説明したように、タイムスタンプ検出回路１０８には、受信部１０１によって受信された音声パケットが供給される。この音声パケットの送信元である送信側端末１０（図１）は、所定周波数のクロックをカウントして、現在時刻を表す時刻データを出力するカウンタを内蔵しており、音声パケットの生成時に時刻データをカウンタから読み取り、タイムスタンプとして音声パケットのヘッダに含める。図４は、このようなタイムスタンプをヘッダに含んだ音声パケットの例を示すものである。タイムスタンプ検出回路１０８は、受信部１０１によって受信された音声パケットからこのタイムスタンプを取り出して遅延時間推定部１０６に送る。
【００３５】
内部クロックジェネレータ１０７は、送信側端末１０において用いられているクロックと同じ周波数の内部クロックを出力する。遅延時間推定部１０６は、この内部クロックジェネレータ１０７から出力される内部クロックをカウントして、現在時刻を表す時刻データを生成する。この時刻データは、送信側端末１０において生成される時刻データと大体一致しているが、完全に一致している保証はない。しかし、いずれの時刻データも周波数が一致したクロックをカウントすることにより生成される。従って、両時刻データ間の誤差は、時間的に一定である。遅延時間推定回路１０６は、音声パケットのタイムスタンプがタイムスタンプ検出回路１０８から供給されたとき、このタイムスタンプを音声パケットの受信時点における時刻データから減算することにより、音声パケットの伝送に要した遅延時間の推定値を求める。
【００３６】
最小遅延時間推定部１０５は、音声パケットの伝送に要する最小遅延時間を推定する装置である。最小遅延時間推定部１０５は、受信部１０１によって順次受信される音声パケットの遅延時間の推定値を遅延時間推定部１０６から順次受け取る。そして、最小遅延時間推定部１０５は、この遅延時間の推定値を受け取る度に、それまでの遅延時間の推定値の中から最小のものを選択し、最小遅延時間の推定値とする。
【００３７】
付加遅延量設定部１０４は、音声パケットＰｉ（ｉ＝０、１、２、…）が受信される度に、下記式によりその音声パケットＰｉに対応した付加遅延量データｄａを演算して遅延付加部１０３に出力する装置である。
ｄａ＝ｄｍｉｎ＋Ｄ−ｄｉ      ……（１）
【００３８】
ここで、ｄｉは遅延時間推定部１０６によって推定された音声パケットＰｉの遅延時間、ｄｍｉｎは音声パケットＰｉまでの全音声パケットの最小遅延時間、Ｄは予め設定された最大遅延時間である。
【００３９】
この付加遅延量データｄａは、上述したように、音声パケットの符号化音声データをＲＡＭ１０３Ａに書き込むときの書込アドレスの演算に用いられる。
【００４０】
図５は本実施形態の動作を示す図である。以下、この図を参照し、本実施形態の動作について説明する。受信側端末１００では、最初の音声パケットＰ０が受信されたとき、遅延時間推定部１０６は、その受信時刻ｃ０と、音声パケットＰ０から取り出されたタイムスタンプが示す時刻ｔ０とから、次式に従って遅延時間の推定値ｄ０を求める。
ｄ０＝ｃ０−ｔ０      ……（２）
図示の例では、最初の音声パケットＰ０の遅延時間として７が求められている。
【００４１】
そして、最小遅延時間推定部１０５は、このｄ０＝７を最小遅延時間の推定値ｄｍｉｎの初期値とする。そして、付加遅延量設定部１０４は、次の演算により音声パケットＰ０に対応した付加遅延量データｄａを求める。
0003833490.tif 000002
なお、この例ではＤ＝１２としている。
【００４２】
付加遅延量設定部１０４により求められた付加遅延量データｄａは遅延付加部１０３に送られる。遅延付加部１０３は、音声パケットＰ０の符号化音声データを付加遅延量データｄａに相当する時間だけ遅延させて、音声デコーダ１１０に供給する。
【００４３】
その後、後続の音声パケットＰｉが受信されたとき、遅延時間推定部１０６は、その受信時刻ｃｉと、音声パケットＰｉから取り出されたタイムスタンプが示す時刻ｔｉとから、次式に従って遅延時間の推定値ｄｉを求める。
ｄｉ＝ｃｉ−ｔｉ          ……（４）
【００４４】
そして、最小遅延時間推定部１０５は、このｄｉとその時点における最小遅延時間の推定値ｄｍｉｎとを比較し、ｄｉ≧ｄｍｉｎである場合には現状の最小遅延時間の推定値ｄｍｉｎをそのまま維持し、ｄｉ＜ｄｍｉｎである場合には、ｄｉによってｄｍｉｎを置き換える。
【００４５】
付加遅延量設定部１０４は、音声パケットＰｉに対応した付加遅延量データｄａを前掲式（１）により演算する。そして、遅延付加部１０３は、音声パケットＰｉの符号化音声データを付加遅延量データｄａに相当する時間だけ遅延させて、音声デコーダ１１０に供給する。
以上の動作が全ての音声パケットについて行われる。
【００４６】
通信開始当初は、最小遅延時間の推定値ｄｍｉｎが比較的頻繁に更新される。しかし、音声パケットの受信および最小遅延時間の推定が数を重ねてゆくと、最小遅延時間の推定値ｄｍｉｎは次第に真の最小遅延時間に近づいてゆく。このため、最小遅延時間の推定値ｄｍｉｎが更新される時間間隔が次第に長くなってゆき、やがて最小遅延時間の推定値ｄｍｉｎは安定化する。図示の例では、最小遅延時間の推定値ｄｍｉｎは、音声パケットＰ０の受信時に７、音声パケットＰ２の受信時に６、音声パケットＰ６の受信時に４、音声パケットＰ１２の受信時に３というように推移している。
【００４７】
音声パケットが送信側端末１０の音声エンコーダ１１から出力され、受信側端末１００の音声デコーダ１１０にその符号化音声データが出力されるまでの総遅延時間Ｔは、次式により与えられる。
0003833490.tif 000003
【００４８】
図５に例示されているように最小遅延時間の推定値ｄｍｉｎは、音声パケットの受信が数を重ねるにつれて、次第に小さな値に収束して行く。このため、音声パケットの総遅延時間Ｔも次第に小さな値へと収束してゆく。総遅延時間Ｔは、最小遅延時間の推定値ｄｍｉｎに依存するので、通信開始当初は総遅延時間Ｔの変更が比較的頻繁に起こる。しかし、音声パケットの受信が数を重ねるにつれて、総遅延時間Ｔが更新される時間間隔は次第に長くなり、やがて最小の総遅延時間Ｔに落ち着く。
【００４９】
Ｂ．第２実施形態
図６は、この発明の第２実施形態に係る受信側端末１００の構成を示すブロック図である。本実施形態における受信側端末１００は、上記第１実施形態のものに加えて、さらに無音区間検出部１０９を有している。この無音区間検出部１０９は、順次受信される音声パケットのペイロードを監視し、無音区間を検出する装置である。さらに詳述すると、本実施形態において送信側端末１０は、その使用者が発声を停止し、送るべき音声がない無音区間が始まったときに、図７に例示するように無音区間の開始を示す情報をペイロードに含む音声パケットを受信側端末１００に送信する。受信側端末１００の無音区間検出部１０９は、この音声パケットの受信により無音区間の開始を検知する。その後、何らかの符号化音声データをペイロードに含む音声パケットが受信側端末１００によって受信されたとき、無音区間検出部１０９は、無音区間の終了を検知する。
【００５０】
そして、本実施形態における付加遅延量設定部１０４は、無音区間検出部１０９により無音区間の終了が検知されたとき、遅延時間推定部１０６から得られる有音区間の最初の音声パケットの遅延時間の推定値と、その時点において最小遅延時間推定部１０５から得られている最小遅延時間の推定値と、既知の遅延ジッタ幅とから付加遅延量データｄａを演算し、遅延付加部１０３に出力する。この付加遅延量データの演算および遅延付加部１０３への供給は、無音区間が発生すると、その都度行われる。
【００５１】
図８は本実施形態に係る受信側端末１００の動作を示すタイムチャート、図９は本実施形態に係る受信側端末１００の動作を示すフローチャートである。以下、これらの図を参照し、本実施形態の動作を説明する。
【００５２】
送信側端末１０と受信側端末１００との間で通話が開始されると、図８に例示されているように、通話者の音声を表す音声パケットが受信側端末１００によって受信される有音区間と、音声パケットが受信されない無音区間とが交互に繰り返される。
【００５３】
上記第１実施形態と同様、遅延時間推定部１０６は、受信部１０１によって音声パケットが受信される度に、その音声パケットの遅延時間の推定値を求める（ステップＳ１０１，Ｓ１０２）。
【００５４】
最初の有音区間ＳＰ０では、最小遅延時間推定部１０５は、最初の音声パケットＰ０の遅延時間の推定値を最小遅延時間の推定値ｄｍｉｎとする（ステップＳ１０３、Ｓ１０４）。そして、最初の有音区間ＳＰ０内の各受信音声パケットについては、この推定値ｄｍｉｎ前掲式（１）により付加遅延量データｄａが演算され、遅延付加部１０３に設定される（ステップＳ１０５）。遅延量付加部１０３では、この付加遅延量データｄａとその時点におけるＲＡＭ１０３Ａの読出アドレスとから書込アドレアスが求められる。そして、この書込アドレスに対応したＲＡＭ１０３Ａのエリアに音声パケットの符号化音声データが書き込まれる。この符号化音声データは、付加遅延量データｄａに相当する時間だけ経過した後、ＲＡＭ１０３Ａから読み出され、音声デコーダ１１０に供給される（ステップＳ１０６）。
【００５５】
そして、図７に例示されるような音声パケットが受信部１０１によって受信されると、無音区間検出部１０９は無音区間ＮＰ０の開始を検知する。なお、このように無音区間の開始を告げるパケットを送信側端末１０から受信側端末１００に送信する代わりに、受信側端末１００において一定期間以上に亙り音声パケットが受信されないときに無音区間が開始されたことを検知するようにしてもよい。
【００５６】
有音区間ＳＰ０から無音区間ＮＰ０になり、その後、次の有音区間ＳＰ１が始まったとする。この有音区間ＳＰ１の最初の音声パケットＰ０が受信部１０１によって受信されると、遅延時間推定部１０６は、その音声パケットＰ０の遅延時間の推定値ｄ０を求める（図６におけるステップＳ１０１、Ｓ１０２）。
【００５７】
次に最小遅延時間推定部１０５は、その時点までに受信された全ての音声パケットの遅延時間の推定値の中から最小遅延時間ｄｍｉｎを推定する（ステップＳ１０４）。本実施形態において、最小遅延時間の推定値ｄｍｉｎが更新される可能性があるのは、有音区間の最初の音声パケットが受信されたときのみである。一旦、有音区間が始まると、その開始時点での最小遅延時間よりも小さい遅延時間が推定されたとしても最小遅延時間の推定値の更新は行われない。更新が行われるのは、その有音区間が終わって無音区間となり、新たな有音区間が始まったときである。
【００５８】
付加遅延量設定部１０４は、この有音区間ＳＰ１の最初の音声パケットＰ０の受信時に最小遅延時間の推定値ｄｍｉｎを最小遅延時間推定部１０５から入手する（ステップＳ１０４）。そして、付加遅延量設定部１０４は、前掲式（１）により付加遅延量データｄａを演算し、遅延付加部１０３に供給する（ステップＳ１０５）。
【００５９】
遅延量付加部１０３では、この付加遅延量データｄａとその時点におけるＲＡＭ１０３Ａの読出アドレスとから書込アドレスが求められる。そして、この書込アドレスに対応したＲＡＭ１０３Ａのエリアに音声パケットＰ０の符号化音声データが書き込まれる（ステップＳ１０６）。
【００６０】
有音区間ＳＰ０と同様、有音区間ＳＰ１においても、受信部１０１によって受信される音声パケットＰｉの遅延時間の推定値ｄｉの算出が行われる（ステップＳ１０２）。この有音区間ＳＰ１において求められた遅延時間の推定値ｄｉは、その後、有音区間ＳＰ２が開始されたとき、最小遅延時間の推定に利用される（ステップＳ１０３、Ｓ１０４）。
【００６１】
次に具体例を挙げ、本実施形態の動作をさらに詳細に説明する。
図１０（ａ）は、送信側端末１０の音声エンコーダ１１から順次出力される音声パケットを示し、図１０（ｂ）は受信側端末１００の受信部１０１によって順次受信される音声パケットを示している。また、図１０（ｃ）は遅延付加部１０３から音声デコータ１１０に出力される音声パケットを示している。図１０（ｂ）に示すように、音声エンコーダ１１から順次出力された音声パケットＰ０、Ｐ１、Ｐ２、Ｐ３は、各々遅延時間ｄ０（＝３ｓ）、ｄ１（＝４ｓ）、ｄ２（＝２ｓ）、ｄ３（＝２ｓ）だけ遅れて受信部１０１に到着する。この間、遅延時間推定部１０６が出力する遅延時間の推定値ｄｉ、最小遅延時間推定部１０５における最小遅延時間の推定値ｄｍｉｎは、次のように推移する。
0003833490.tif 000004
【００６２】
最初の有音区間ＳＰ０においては、最小遅延時間の推定値ｄｍｉｎが得られていないため、ネットワークの遅延ジッタ幅Ｄに１ｓを加えたものが付加遅延量データｄａとして用いられる。従って、仮に遅延ジッタ幅Ｄを３ｓとすると、付加遅延量データｄａは４ｓとなる。そして、図示の例ではｄ０＝３ｓであることから、一連の音声パケットＰ０〜Ｐ２の総遅延量はｄ０＋ｄａ＝４ｓ＋３ｓ＝７ｓとなる。
【００６３】
しかし、次の有音区間ＳＰ１ではそれまでに得られた遅延時間の推定値から最小遅延時間の推定値ｄｍｉｎ（＝２ｓ）が求められ、これに基づいて付加遅延量が求められる。
【００６４】
従って、仮に有音区間ＳＰ１において図１０（ａ）および（ｂ）に示されるように音声パケットＰ３が遅延ｄ３＝１ｓを伴って伝送されたとすると、その際に適用される付加遅延量データｄａは次のようになる。
0003833490.tif 000005
従って、音声パケットＰ３から始まる有音区間ＳＰ１の各音声パケットの総遅延量は、ｄ３＋ｄａ＝１ｓ＋４ｓ＝５ｓとなる。
【００６５】
図１１（ａ）および（ｂ）は、本実施形態の効果を示すものである。まず、最初の有音区間において、最初の音声パケットの遅延時間がｄ０であったとすると、この有音区間における各音声パケットの総遅延時間はｄ０＋Ｄとなる。そして、有音区間において最小遅延時間ｄｍｉｎ＝ｄ３を伴って音声パケットが受信されると、その後の有音区間において、この最小遅延時間に基づいて定められた付加遅延が適用される。この結果、総遅延時間はｄ３＋Ｄとなる。
【００６６】
このように、本実施形態によれば、受信パケットの遅延時間推定値を基に推定した最小遅延時間に基づいて、付加遅延量を設定することにより、総遅延量を軽減することができる。また、無音区間後の先頭音声パケット受信時に最小遅延時間の更新を行うことにより音声品質の劣化を抑えることができる。このため、本遅延ジッタ吸収装置および吸収方法は、インターネット電話のようなリアルタイム性と高い音声品質が要求されるアプリケーションに好適である。
【００６７】
Ｃ．変形例
本発明は上述した実施形態に限定されるものではなく、以下に例示するような各種の変形が可能である。
【００６８】
（１）上記実施形態においては、インターネットを介してパケットなどのデータセグメントを受信する装置に本発明を適用した。しかし、インターネットに限らず、例えばフレームリレーなどの広域網を介してデータセグメントを受信する装置に本発明を適用してもよい。また、移動網などのように無線区間において遅延ジッタの発生するネットワークを介してデータセグメントを受信する装置に本発明を適用してもよい。
【００６９】
（２）上記実施形態では、データセグメントの例としてパケットを挙げた。しかし、データセグメントの形式はパケットに限らない。データセグメントは、その送信時刻または送信時刻を求める手掛かりとなる情報を含むものであればどのようなものでもよい。データセグメントは、伝送経路や用いるプロトコルに応じてフレームやセルなどの単位であってもかまわない。プロトコルとしては、例えば上述したようなＶｏＩＰでもよいし、ＶｏＦＲ（Voice over Frame Relay）などでもよい。
【００７０】
（３）上記実施形態では、ネットワークを介して音声パケットを受信する装置に本発明を適用した。しかし、本発明は音声に限らず、動画像などリアルタイムに伝送する必要がある情報の伝送に好適である。
【００７１】
（４）上記第２の実施形態では、音声パケットが連続的に伝送される有音区間と、音声パケットの伝送が継続して行われない無音区間が交互に繰り返されるリアルタイム音声伝送に本発明を適用し、有音区間において求めた最小遅延時間の推定値を利用して次の有音区間における付加遅延量を決定した。しかし、本発明の適用範囲はこれに限定されるものではない。例えばデータ伝送の一形態として、例えば動画のような連続性が要求される情報を伝送する第１区間と静止画のような連続性が要求されない情報を伝送する第２区間とを交互に繰り返す形態がある。このようなデータ伝送の形態に本発明を適用してもよい。この場合の適用例において、受信側装置では次の手順で遅延ジッタ吸収のための処理が行われる。
ｉ．連続性が要求されない第２区間の情報を含むデータセグメントが受信される間、個々のデータセグメントの遅延時間の推定および最小遅延時間の推定を行う。
ｉｉ．第２区間の直後の第１区間の最初のデータセグメントの受信時にその最初のデータセグメントの遅延時間を推定する。
ｉｉｉ．上記の最小遅延時間の推定値と、上記ｉｉ．において求めた最初のデータセグメントの遅延時間の推定値を用いて、最初のデータセグメントに適用する付加遅延量データｄａを演算する。演算方法は、上記各実施形態において説明したものと同じである。
【００７２】
（５）上記第２実施形態では、無音区間ではパケットの伝送を行わなかったが、無音区間であることを示すデータを送信しつづけるようにしてもかまわない。
【００７３】
（６）上記各実施形態において、遅延ジッタ幅Ｄは予め計測を行うことにより得られた固定値であった。しかし、遅延ジッタ幅Ｄが当初想定していた値よりも大きいことが明らかになったときには、そのような大きな遅延ジッタ幅の遅延ジッタを吸収することができるように、付加遅延量データの演算に用いる遅延ジッタ幅Ｄを更新してもよい。例えば上記第２実施形態において、ある有音区間ＳＰｋにおける最初の音声パケットの遅延時間の推定値ｄｏと、その前の有音区間ＳＰｋ−１において求められた最小遅延時間の推定値ｄｍｉｎと、遅延ジッタ幅Ｄとを用いて、式（１）により付加遅延量データｄａを演算したところ、ｄａが例えば−３ｓになったとする。これは実際の遅延ジッタ幅が当初想定していた遅延ジッタ幅Ｄよりも少なくとも３ｓだけ大きかったためであると考えられる。そこで、遅延ジッタ幅Ｄを３ｓだけ増加させ、付加遅延量データｄａが０ｓになるようにする。その後の有音区間ＳＰｋ＋１において式（１）を用いて付加遅延量データｄａの演算をするときには、この新たな遅延ジッタ幅Ｄが用いられる。
【００７４】
（７）本発明に係る遅延ジッタを吸収するための装置は、上記実施形態に開示したような端末内に設ける以外に、例えばネットワーク内の中継器やルータに設けてもよい。伝送経路が長くなると、遅延ジッタ幅が長くなるので、伝送経路の途中において遅延ジッタを吸収する趣旨である。
【００７５】
（８）ある限定された期間内に最小遅延時間の推定を行うようにしてもよい。例えば次のような例が考えられる。まず、通話開始当初、音声パケットの送信を開始する前に、タイムスタンプを含んだトレーニングパケットを送信側端末から受信側端末に繰り返し送信する。受信側端末ではこれらの個々のトラーニングパケットの遅延時間の推定値から最小遅延時間ｄｍｉｎを推定する。その後の音声パケットに適用される付加遅延量データｄａは、このｄｍｉｎを用いて前掲式（１）により求められる。
【００７６】
（９）上記実施形態では、パケットの送信時刻をタイムスタンプから推定したが、タイムスタンプがパケットに含まれていないような場合には例えばパケットに含まれているシリアル番号などから送信時刻を推定してもよい。
【００７７】
（１０）本発明の実施の形態には、上記実施形態において開示した遅延ジッタの吸収を行う装置を生産し、販売するといった形態の他、ネットワークに接続されたコンピュータを上記実施形態に開示された遅延ジッタ吸収装置として機能させるプログラムを電気通信回線を介して配布する形態や、そのようなプログラムをコンピュータ読み取り可能な記録媒体に記録して頒布するという形態が含まれる。
【００７８】
【発明の効果】
以上説明したように、本発明によれば、遅延ジッタを吸収しつつ総遅延時間を短縮することが可能になる。
【図面の簡単な説明】
【図１】  この発明の第１実施形態に係るリアルタイム音声伝送システムの構成を示すブロック図である。
【図２】  同実施形態における受信側端末の構成を示すブロック図である。
【図３】  同実施形態における遅延付加部の構成を示すブロック図である。
【図４】  同実施形態における音声パケットを示す図である。
【図５】  同実施形態における受信側端末の動作を説明するタイムチャートである。
【図６】  この発明の第２実施形態に係る受信側端末の構成を示すブロック図である。
【図７】  無音区間の開始を告げるパケットを示す図である。
【図８】  同実施形態の動作を示すタイムチャートである。
【図９】  同実施形態の動作を示すフローチャートである。
【図１０】  同実施形態の動作の具体例を説明するタイムチャートである。
【図１１】  同実施形態の効果を説明する図である。
【図１２】  リアルタイム音声伝送システムの構成例を示すブロック図である。
【図１３】  同システムの動作例を示すタイムチャートである。
【図１４】  同システムの動作例を示すタイムチャートである。
【図１５】  同システムの動作例を示す図である。
【図１６】  同システムの動作例を示す図である。
【図１７】  同システムの動作例を示す図である。
【符号の説明】
１０……送信側端末、１１……音声エンコーダ、１２……送信部、２０……インターネット、１００……受信側端末、１０１……受信部、１０２……パケット終端部、１０３……遅延付加部、１０４……付加遅延量設定部、１０５……最小遅延時間推定部、１０６……遅延時間推定部、１０７……内部クロックジェネレータ、１０８……タイムスタンプ検出部、１０９……無音区間検出部、１１０……音声デコーダ。
【図１】
0003833490.tif 000006
【図２】
0003833490.tif 000007
【図３】
0003833490.tif 000008
【図４】
0003833490.tif 000009
【図５】
0003833490.tif 000010
【図６】
0003833490.tif 000011
【図７】
0003833490.tif 000012
【図８】
0003833490.tif 000013
【図９】
0003833490.tif 000014
【図１０】
0003833490.tif 000015
【図１１】
0003833490.tif 000016
【図１２】
0003833490.tif 000017
【図１３】
0003833490.tif 000018
【図１４】
0003833490.tif 000019
【図１５】
0003833490.tif 000020
【図１６】
0003833490.tif 000021
【図１７】
0003833490.tif 000022