JP5563406B2 - 伝送遅延制御方法、受信装置及び通話システム - Google Patents

伝送遅延制御方法、受信装置及び通話システム Download PDF

Info

Publication number
JP5563406B2
JP5563406B2 JP2010188650A JP2010188650A JP5563406B2 JP 5563406 B2 JP5563406 B2 JP 5563406B2 JP 2010188650 A JP2010188650 A JP 2010188650A JP 2010188650 A JP2010188650 A JP 2010188650A JP 5563406 B2 JP5563406 B2 JP 5563406B2
Authority
JP
Japan
Prior art keywords
packet
count value
packets
fluctuation absorbing
absorbing buffer
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.)
Active
Application number
JP2010188650A
Other languages
English (en)
Other versions
JP2011101342A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2010188650A priority Critical patent/JP5563406B2/ja
Publication of JP2011101342A publication Critical patent/JP2011101342A/ja
Application granted granted Critical
Publication of JP5563406B2 publication Critical patent/JP5563406B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、揺らぎ吸収バッファのバッファサイズを調節する技術に関するものである。
近年、VoIP等、音声パケットをリアルタイムで伝送するシステムが知られている。このようなシステムにおいて、送信側の端末装置は、10msec〜40msec程度の一定の周期でパケットを送信する。そして、受信側の端末装置も送信側の端末装置と同一の周期でパケットに含まれる音声信号を再生する。これにより、音声が連続再生される。
しかしながら、ネットワーク上でのパケットの衝突、無線区間での伝送状態の悪化、ルータやブリッジの輻輳等により、パケットに伝送遅延の揺らぎが生じると、受信側の端末装置は、一定の周期でパケットを受信することができなくなる。そこで、伝送遅延の揺らぎを吸収し、一定の周期で音声を再生するために、受信側の端末装置には、揺らぎ吸収バッファが設けられているのが一般的である。つまり、揺らぎ吸収バッファに、一定数のパケットを蓄積させることで、パケットの枯渇を防止して、音声信号の連続再生を実現しているのである。
特許文献1には、揺らぎ吸収バッファの蓄積パケット数が開始蓄積パケット数になった場合に、受信パケットの読み出しを開始する揺らぎ吸収バッファの制御方法において、開始蓄積パケット数よりも大きな受信パケットの到着タイミングの揺らぎが発生した場合、開始蓄積パケット数及び最大蓄積パケット数を増加変更し、一方、前記揺らぎが開始蓄積パケット数より低い値で安定している場合、開始蓄積パケット数及び最大蓄積パケット数を減少変更させる技術が開示されている。
また、特許文献2には、受信パケット数が基準値を超えた時に受信パケットの再生を開始させ、予め定められた時間間隔で受信バッファ(揺らぎ吸収バッファ)内のパケットの個数を監視し、パケットの個数が時間と共に増大又は減少しているかに応じて、基準値を変更するパケット処理装置が開示されている。
特許第3874112号公報 特許第3506960号公報
しかしながら、特許文献1、2の技術は、いずれも揺らぎ吸収バッファからパケットの読み出しを開始する際に必要な蓄積パケット数を設定してパケットの枯渇の防止を図ることを主目的とするものであり、揺らぎ吸収バッファから出力されるパケットの出力遅延については何ら考慮されていない。
本発明の目的は、揺らぎ吸収バッファにおけるパケットの枯渇を防止すると同時に、揺らぎ吸収バッファに蓄積されているパケットの出力遅延を防止することである。
(1)本発明の一局面による伝送遅延制御方法は、送信装置と、前記送信装置にIPネットワークを介して接続された受信装置とを備える通話システムによる伝送遅延制御方法であって、前記受信装置は、前記送信装置から送信されたパケットを蓄積することで、当該パケットの伝送遅延の揺らぎを吸収する揺らぎ吸収バッファを備え、前記送信装置が、連続再生対象となる音声信号又は映像信号をパケット化して所定の第1の周期で前記受信装置に送信する送信ステップと、前記受信装置が、前記送信ステップにより送信されたパケットを前記揺らぎ吸収バッファに格納する受信ステップと、前記受信装置が、前記第1の周期以下の所定の第2の周期で、前記揺らぎ吸収バッファに蓄積されている蓄積パケット数をカウントすることでパケットカウント値を算出するカウントステップと、前記カウントステップにより算出されたパケットカウント値に基づいて、前記揺らぎ吸収バッファにパケットを挿入又は削除するバッファサイズ変更ステップとを備えている。
また、本発明の別の一局面による通話システムは、送信装置と、前記送信装置にIPネットワークを介して接続された受信装置とを備える通話システムであって、前記受信装置は、前記送信装置から送信されたパケットを蓄積することで、当該パケットの伝送遅延の揺らぎを吸収する揺らぎ吸収バッファを備え、前記送信装置は、連続再生対象となる音声信号又は映像信号をパケット化して所定の第1の周期で前記受信装置に送信する送信手段を備え、前記受信装置は、前記送信手段により送信されたパケットを前記揺らぎ吸収バッファに格納する受信手段と、前記受信装置が、前記第1の周期以下の所定の第2の周期で、前記揺らぎ吸収バッファに蓄積されている蓄積パケット数をカウントすることでパケットカウント値を算出するカウント手段と、前記カウント手段により算出されたパケットカウント値に基づいて、前記揺らぎ吸収バッファにパケットを挿入又は削除するバッファサイズ変更手段とを備えている。
この構成によれば、送信装置は、第1の周期毎に音声信号又は映像信号をパケット化して送信し、受信装置は、受信したパケットを揺らぎ吸収バッファに格納する。一方、受信装置は、第1の周期毎に揺らぎ吸収バッファからパケットを読み出して、音声信号又は映像信号を再生する。そして、受信装置は、第2の周期毎に、揺らぎ吸収バッファの蓄積パケット数をカウントし、パケットカウント値を算出する。そして、パケットカウント値が大きければ、揺らぎ吸収バッファからパケットが削除され、パケットカウント値が小さければ、揺らぎ吸収バッファにパケットが挿入される。
そのため、揺らぎ吸収バッファの蓄積パケット数が過大となった場合、揺らぎ吸収バッファからパケットが削除されるため、揺らぎ吸収バッファにおいて出力待ちのパケット数が減少する結果、出力遅延を防止することができる。一方、揺らぎ吸収バッファの蓄積パケット数が少なく、揺らぎ吸収バッファにおいて、パケットの枯渇が発生する可能性が高い場合は、揺らぎ吸収バッファにパケットが挿入されるため、パケットの枯渇を防止することができる。
(2)前記バッファサイズ変更ステップは、前記パケットカウント値の過去の履歴を基に、パケットカウント値の代表値を算出し、算出した代表値が所定の基準値より大きい場合、前記揺らぎ吸収バッファからパケットを削除し、前記代表値が前記基準値より小さい場合、前記揺らぎ吸収バッファにパケットを挿入することが好ましい。
この構成によれば、パケットカウント値の過去の履歴から、パケットカウント値の代表値が算出され、この代表値が基準値より大きい場合、揺らぎ吸収バッファからパケットが削除され、この代表値が基準値より小さい場合、揺らぎ吸収バッファにパケットが挿入される。つまり、パケットカウント値の過去の履歴を考慮して、揺らぎ吸収バッファへのパケットの挿入又は削除が行われているため、揺らぎ吸収バッファからのパケットの出力遅延及び揺らぎ吸収バッファのパケットの枯渇をより精度良く防止することができる。
(3)前記カウントステップは、前記パケットカウント値の算出タイミングである算出時刻から、過去、前記第1の周期内に受信したパケットについては、カウント値を前記算出時刻及び受信時刻の差分/前記第1の周期による得られる値に設定し、前記算出時刻から、過去、前記第1の周期以前に受信したパケットについては、カウント値を1に設定することで前記パケットカウント値を算出することが好ましい。
この構成によれば、パケットカウント値の算出タイミングから、過去、第1の周期内に受信したパケットは、算出時刻と受信時刻との差分が算出され、差分/第1の周期がカウント値として設定される。つまり、受信時刻が算出時刻に近づくにつれてカウント値が小さくされる。一方、算出時刻から、過去、第1の周期以前に受信したパケットは、1がカウント値として設定される。
これにより、同じ第1の周期内に受信したパケットであっても、算出時刻の直前に受信したパケットと、算出時刻から第1の周期分前の直後に受信したパケットとを区別して、パケットカウント値を算出することができる。
つまり、送信装置からは第1の周期でパケットが送信されるため、受信装置では、平均すれば第1の周期毎に1つのパケットを受信することが想定される。この想定の下、ネットワークの状態から受信装置が算出時刻の直前にパケットを受信するような場合においては、伝送遅延が少しでも増大するとパケットの枯渇が発生する可能性が高くなる。一方、ネットワークの状態から受信装置が算出時刻から第1の周期分前の直後にパケットを受信するような場合においては、伝送遅延が多少増大してもパケットの枯渇が発生する可能性は低い。
ここで、算出時刻の直前に受信したパケットと、算出時刻から第1周期分前の直後に受信したパケットとを共にカウント値を1に設定してしまうと、両ネットワークの状態において算出されるパケットカウント値は同一となってしまう。そうすると、ネットワークの状態が算出時刻の直前にパケットを受信するような状態である場合、パケットカウント値が基準値を超える可能性が高まり、揺らぎ吸収バッファからパケットが削除される可能性が高くなり、結果、パケットの枯渇が発生する可能性が高まってしまう。
そこで、受信時刻が算出時刻に近づくにつれてパケットカウント値が小さくなるように設定することで、ネットワークの状態が算出時刻の直前にパケットを受信するような状態である場合、パケットカウント値が基準値を超える可能性が低下し、揺らぎ吸収バッファからパケットが削除される可能性が低くなり、パケットの枯渇が発生する可能性を低くすることができる。
(4)前記受信ステップは、受信したパケットの受信時刻を受信時刻記録部に記録し、前記カウントステップは、前記パケットカウント値の算出処理が終了すると、算出時刻から、過去、第1の周期と第2の周期との差分以前に受信されたパケットについては、受信時刻を前記受信時刻記録部から削除することが好ましい。
この構成によれば、算出時刻から、過去、第1の周期内に受信したパケットについてのみ、受信時刻を記録すればよくなり、受信時刻を記録するための受信時刻記録部の容量を節約することができる。なお、算出時刻から、過去、第1の周期以前に受信したパケットについては、カウント値が1に設定されており、受信時刻を用いてカウント値を算出する必要がないため、受信時刻を記録する必要はない。
(5)前記受信ステップは、最新のパケットのみ受信時刻を記録し、前記カウントステップは、前記最新のパケットについては、カウント値を前記差分/前記第1の周期により得られる値に設定し、それ以外のパケットはカウント値を1に設定して前記パケットカウント値を算出することが好ましい。
この構成によれば、最新のパケットのみ受信時刻を用いてカウント値が算出されるため、最新のパケットのみ受信時刻を記録すれば良くなる結果、受信時刻記録部の容量を大幅に節約することができる。また、最新のパケットのみ受信時刻を用いてカウント値が算出されているため、(4)のように過去、第1の周期以前に受信したパケットであるか否かの判断をする必要がなくなり、処理の簡略化を図ることができる。
(6)前記カウントステップは、過去N(Nは正の整数値)回のパケットカウント値を観測履歴保持部に保持し、前記バッファサイズ変更ステップは、過去N回のパケットカウント値のうち、n(nはN未満の正の整数値)番目に小さいパケットカウント値を前記代表値とすることが好ましい。
この構成によれば、過去N回のパケットカウント値の中からn番目に小さいパケットカウント値が基準値と比較されて揺らぎ吸収バッファへのパケット挿入又は削除が行われている。ここで、n番目に小さいパケットカウント値が基準値より小さい場合は、揺らぎ吸収バッファの蓄積パケット数が基準値以下になる確率が、α(=n/N)%より低くなる。
よって、この場合、蓄積パケット数が基準値となるように揺らぎ吸収バッファにパケットを挿入すれば、揺らぎ吸収バッファの蓄積パケット数が基準値以下になる確率を、α%になるように調整することができる。
また、n番目に小さいパケットカウント値が基準値より大きい場合は、揺らぎ吸収バッファの蓄積パケット数が基準値より大きくなる確率が、α(=n/N)%より高くなる。
よって、この場合、蓄積パケット数が基準値となるように揺らぎ吸収バッファからパケットを削除しても、揺らぎ吸収バッファの蓄積パケット数が基準値以下になる確率が、α%以下になることを防止すると同時に、蓄積パケット数の減少によって、揺らぎ吸収バッファからのパケットの出力遅延を防止することができる。
(7)前記カウントステップは、前記観測履歴保持部に保持された過去N回のパケットカウント値に基づいて、スパイク遅延の有無を判定し、スパイク遅延が発生していると判定した場合は、過去N回のパケットカウント値のうち、過去M(M<N)回のパケットカウント値を抽出し、前記バッファサイズ変更ステップは、前記カウントステップにより抽出された過去M回のパケットカウント値のうち、m(mはM未満の整数)番目に小さいパケットカウント値を前記代表値として算出することが好ましい。
この構成によれば、スパイク遅延が発生した場合、参照する過去のパケットカウント値のウインドウ幅が狭められて揺らぎ吸収バッファにパケットの挿入又は削除が行われる。そのため、稀にしか発生しないスパイク遅延が排除されるようにして、代表値を算出することができる。
(8)前記カウントステップは、0の蓄積パケット数が連続して発生した場合、0の蓄積パケット数が連続した回数が増大するにつれて絶対値が増大する負の値を前記パケットカウント値として算出することが好ましい。
この構成によれば、パケットを第1の周期で定期的に受信できているが、算出時刻において、揺らぎ吸収バッファからパケットが出力済であるために、蓄積パケット数が0になっている場合と、パケットが長期間受信されず、蓄積パケット数が0になっている場合とを区別して、パケットカウント値を算出することができる。
本発明によれば、揺らぎ吸収バッファの蓄積パケット数が過大となった場合、揺らぎ吸収バッファからパケットが削除されるため、揺らぎ吸収バッファにおいて出力待ちのパケット数が減少する結果、出力遅延を低減することができる。一方、揺らぎ吸収バッファの蓄積パケット数が少なく、揺らぎ吸収バッファにおいて、パケットの枯渇が発生する可能性が高い場合は、揺らぎ吸収バッファにパケットが挿入されるため、パケットの枯渇を防止することができる。
本発明の実施の形態1による通話システムのネットワーク構成図を示している。 図1に示す受信装置のブロック図を示している。 図2に示すカウント部によるパケットカウント値の算出処理の説明図である。 揺らぎ吸収バッファの役割を説明するための図である。 伝送遅延と発生頻度との関係を示す伝送遅延特性のグラフの一例を示している。 揺らぎ吸収バッファの最適なバッファサイズを説明するための図である。 図1に示す受信装置の処理を示すフローチャートである。 パケットカウント値の算出処理の詳細を示すフローチャートである。 パケットカウント値と、パケットカウント値の算出時刻との関係を示したグラフである。 (a)はバッファサイズ変更部によるパケット挿入時の処理を示した模式図であり、(b)はバッファサイズ変更部によるパケット削除時の処理を示した模式図である。 本発明の実施の形態2におけるパケットカウント値の算出手法の説明図である。 本発明の実施の形態2による通話システムのパケットカウント値の算出処理を示すフローチャートである。 スパイク遅延の有無の判定処理を説明するためのグラフである。 スパイク遅延が発生している場合のパケットカウント値とインデックスとの関係を示すグラフである。 本発明の実施の形態4におけるカウント部の処理を説明する図である。
(実施の形態1)
図1は、本発明の実施の形態1による通話システムのネットワーク構成図を示している。図1に示す通話システムは、送信装置1及び受信装置2を備えている。送信装置1及び受信装置2は、IPネットワークを介して接続されている。ここで、IPネットワークは、インターネットプロトコル技術を利用して相互接続されたネットワークであり、TCP(Transmission Control Protocol)/IP(Internet Protocol)の通信プロトコルを用いて、種々のデータが送受信される。
送信装置1は、例えば、VoIP(Voice over Internet Protocol)による通話機能を備える通信装置であり、SIP(Session Initiation Protocol)、H.323、IPv4、又はIPv6等の通信プロトコルを用いて受信装置2との間で通信を行う。そして、送信装置1は、音声及び映像をストリーム伝送するための所定のプロトコルであるRTP(Real-time Transport Protocol)を用いて音声又は映像をパケット化し、受信装置2に送信する。
本実施の形態では、送信装置1は、音声信号をRTPによりパケット化して、所定の第1の周期(例えば20msec)で受信装置2に送信するものとする。よって、送信装置1が送信するパケットは、20msecのデジタルの音声信号を含む。なお、音声信号としては、例えば、PCMμ−Law等により8kHzのサンプリング周波数でサンプリングされた信号を採用することができる。なお、送信装置1は映像信号をパケット化してもよい。
受信装置2は、送信装置1と同一構成の通信装置から構成されている。なお、図1では、説明の便宜上、送信装置1及び受信装置2と記述しているが、両装置とも、相互にパケットを送受信することができる。
図2は、図1に示す受信装置2のブロック図を示している。受信装置2は、パケット送受信部21、揺らぎ吸収バッファ22、カウント部23、バッファサイズ変更部24、受信時刻記録部25、基準値記憶部26、隠蔽処理部27、再生部28、観測履歴保持部29、スピーカ30、表示部31、マイク33、及びパケット生成部34を備えている。
パケット送受信部21は、送信装置1から第1の周期で送信されるパケットを受信し、このパケットを揺らぎ吸収バッファ22に蓄積する。このパケットは、上述したようにRTPに準拠したパケットであるため、RTPヘッダを含んでいる。よって、パケット送受信部21は、RTPヘッダに含まれるシーケンス番号に従って、受信したパケットを時系列順に揺らぎ吸収バッファ22に蓄積させる。
なお、RTPヘッダには、シーケンス番号が含まれている。シーケンス番号は、音声パケットの送信順序を示す。
また、パケット送受信部21は、パケット生成部34により生成されたパケットを第1の周期TaでIPネットワークに送信する。
また、パケット送受信部21は、受信したパケットの受信時刻を受信時刻記録部25に記録する。この場合、パケット送受信部21は、受信したパケットのシーケンス番号を受信時刻と対応付けて受信時刻記録部25に記録すればよい。
揺らぎ吸収バッファ22は、例えばリングバッファにより構成され、パケット送受信部21により受信されたパケットを時系列順で蓄積する。これにより、送信装置1から送信されたパケットの伝送遅延の揺らぎが吸収される。なお、揺らぎ吸収バッファ22のサイズとしては、後述する基準値よりも大きなサイズが採用されている。
カウント部23は、第1の周期以下の所定の第2の周期で、揺らぎ吸収バッファ22に蓄積されている蓄積パケット数をカウントすることでパケットカウント値を算出し、算出したパケットカウント値を観測履歴保持部29に保持させる。観測履歴保持部29は、例えば、揮発性の記憶装置により構成され、カウント部23により算出された過去N(Nは正の整数)回のパケットカウント値を保持する。
図3は、カウント部23によるパケットカウント値の算出処理の説明図である。図3に示すように、カウント部23は、第2の周期Tbでパケットカウント値を算出している。
ここで、カウント部23は、パケットカウント値の算出タイミングである算出時刻Tkから、過去、第1の周期Ta内に受信したパケットPSについては、カウント値をΔT/Taにより得られる値に設定し、算出時刻Tkから、過去、第1の周期Ta以前に受信したパケットPLについては、カウント値を1に設定することでパケットカウント値を算出する。つまり、パケットPSのパケットカウント値は、受信時刻が算出時刻Tkに近づくにつれて差分ΔTが小さくなるため、値が小さくなる。
ここで、パケットPSについては、パケットカウント値を算出するにあたり受信時刻が用いられているため、受信時刻を保持しておく必要がある。一方、パケットPLについては、パケットカウント値を算出するにあたり、受信時刻が不要であるため、受信時刻を記録しておく必要はない。
そこで、カウント部23は、パケットカウント値の算出処理が終了すると、算出時刻Tkから、過去、第1の周期Taと第2の周期Tbとの差分(=Ta−Tb)以前に受信したパケットについては、受信時刻を受信時刻記録部25から削除する。
これにより、パケットカウント値の次の算出時刻である時刻Tk+1において、過去、第1の周期Taに受信したパケットの受信時刻が受信時刻記録部25に保持されている結果、カウント部23は、時刻Tk+1において、過去、第1の周期Taに受信したパケットの受信時刻を取得することができる。こうすることで、受信時刻記録部25の容量を節約することが可能となる。
バッファサイズ変更部24は、カウント部23により算出されたパケットカウント値の過去のN回のパケットカウント値を観測履歴保持部29から読み出し、読み出したN回のパケットカウント値から、n番目に小さいパケットカウント値をパケットカウント値の代表値として算出し、算出した代表値が所定の基準値より大きければ、揺らぎ吸収バッファ22に蓄積されているパケットを削除し、代表値が基準値より小さければ、揺らぎ吸収バッファ22にパケットを挿入する。
ここで、バッファサイズ変更部24は、代表値が基準値より小さい場合は、代表値が、基準値以上かつ基準値+1未満となるように、揺らぎ吸収バッファ22にパケットを挿入すればよい。
例えば、代表値が2.1、基準値が4の場合、代表値が4.1となるように2つのパケットが揺らぎ吸収バッファ22に挿入される。
また、バッファサイズ変更部24は、代表値が基準値より大きい場合は、代表値が基準値以上かつ基準値+1未満となるように、揺らぎ吸収バッファ22からパケットを削除すればよい。
例えば、代表値が4.2、基準値が2の場合、代表値が2.2となるように2つのパケットが揺らぎ吸収バッファ22から削除される。
なお、nとしては、N×αにより整数値に丸め込んだ値を採用することが好ましい。また、基準値としては、送信装置1と受信装置2とが双方向通信する場合において、通話システムが許容する通話遅延時間に基づいて予め定められた値が採用されている。つまり、揺らぎ吸収バッファ22の蓄積パケット数が基準値よりも大きければ、揺らぎ吸収バッファ22において、出力待ちのパケット数が増大するため、通話遅延が発生する。そこで、本通話システムでは、n番目のパケットカウント値である代表値が基準値よりも大きい場合は、揺らぎ吸収バッファ22からパケットを削除している。これにより、通話遅延を防止することができる。
一方、n番目のパケットカウント値である代表値が基準値よりも小さい場合は、揺らぎ吸収バッファ22にパケットを挿入している。これにより、蓄積パケット数が基準値以下になる確率を、α(=n/N)%にすることができる。
受信時刻記録部25は、例えば揮発性の記憶装置により構成され、パケット送受信部21により受信されたパケットの受信時刻を記録する。基準値記憶部26は、例えば不揮発性の記憶装置により構成され、基準値を記憶する。
隠蔽処理部27は、揺らぎ吸収バッファ22に挿入された無効パケットに対して、パケットロス隠蔽処理を行うと共に、揺らぎ吸収バッファ22においてパケットが枯渇した場合にパケットロス隠蔽処理を行う。ここで、パケットロス隠蔽処理としては、例えば、無効パケットより過去の音声信号から音声信号の基本周期を検出し、無効パケットの直前の有効パケットの音声信号において、終端から基本周期分前の区間の音声波形を取り出し、この音声波形を20msの期間、繰り返すことで得られる音声波形を無効パケットの音声信号として生成する手法を採用すればよい。
また、基本周期を検出する手法としては、現時点から過去に向けてある時間幅の音声信号を基準信号として設定し、基準信号を音声信号に対して現時点から過去に向けてスライドさせ、基準信号と音声信号との相関を求めることで基本周期を検出する手法であって、基準信号のスライド量が増大するにつれて、基準信号の時間幅を増大させる手法を採用すればよい。また、基本周期を検出する手法としては、上記の手法に代えて、特許第3219868号公報に記載された手法を採用してもよい。なお、無効パケットには音声信号が含まれていない。また、有効パケットには音声信号が含まれている。
再生部28は、揺らぎ吸収バッファ22の蓄積パケット数が基準値以上となった場合、揺らぎ吸収バッファ22からパケットを第1の周期Taで時系列順に読み出し、読み出したパケットから音声信号を取り出し、取り出した音声信号を逆符号化処理及びデジタルアナログ変換処理した後、スピーカ30に出力する。ここで、再生部28は、揺らぎ吸収バッファ22から取り出したパケットが音声信号を含まない無効パケットである場合、隠蔽処理部27にパケットロス隠蔽処理を実行させ、実行処理後の音声信号をスピーカ30に出力する。
観測履歴保持部29は、例えば不揮発性の記憶装置により構成され、カウント部23により算出された過去N回のパケットカウント値を保持する。
スピーカ30は再生部28から出力される音声信号に従って、音声を出力する。表示部31は、例えば液晶表示パネルにより構成され、再生部28から出力される映像信号に従って、映像を表示する。
マイク33は、通話者の音声を電気信号である音声信号に変換する。パケット生成部34は、マイク33から出力される音声信号を20ms毎に分割し、分割した音声信号をRTPに従ってパケット化してパケット送受信部21に出力する。
図4は、揺らぎ吸収バッファ22の役割を説明するための図である。図4に示すように、送信装置1は、音声信号VSを符号化処理及びアナログデジタル変換処理した後、パケット化して、20msの周期で送信する。図4では、1〜8の番号が付された8個のパケットが送信装置1から20msの間隔で出力されていることが分かる。
送信装置1から送信されたパケットはIPネットワークを介して受信装置2で受信されることになるが、IPネットワークを構成する各伝送路の特性の相違や、時々刻々変動するIPネットワークのトラフィック状況により、送信装置1から20msの周期で送信されたパケットが受信装置2にまで到達するまでの時間である伝送遅延は、パケット毎に大きく相違し、伝送遅延揺らぎが発生する。よって、受信装置2によるパケットの受信間隔は不等間隔になる。
そこで、この遅延揺らぎを吸収するために、揺らぎ吸収バッファ22が設けられている。図4においては、揺らぎ吸収バッファ22のバッファサイズはパケット3個分とされている。また、受信装置2は、1番目のパケットを受信してから、遅延時間Td経過した時刻T1において、1番目のパケットに復号化処理及びデジタルアナログ変換処理施して再生を開始している。
図4の場合、時刻T1から20ms経過後の2番目のパケットの再生時刻である時刻T2において、揺らぎ吸収バッファ22は、2番目のパケットを蓄積している。よって、受信装置2は、時刻T2において、2番目のパケットを再生することができる。
一方、3番目のパケットは、伝送遅延が極端に大きいため、時刻T3において、受信装置2に到達しておらず、揺らぎ吸収バッファ22において、パケットの枯渇が生じている。そのため、受信装置2は、時刻T3において、3番目のパケットを再生することができず、音抜けが発生する。
また、3〜7番目のパケットは輻輳解消後に短時間で連続して受信装置2に到達しており、7番目のパケットが受信装置2に到達したとき、揺らぎ吸収バッファ22には、5、6番目のパケットが存在するが、揺らぎ吸収バッファ22に空きがあるため、7番目のパケットは破棄されず、揺らぎ吸収バッファ22に格納される。よって、時刻T7において、7番目のパケットが再生される。
このように、伝送遅延揺らぎの特性は動的に変化するため、揺らぎ吸収バッファ22のバッファサイズを固定サイズにすると、想定される伝送遅延揺らぎよりも充分に長くせざるを得ない。また、揺らぎ吸収バッファ22のバッファサイズを充分に長くし、かつ、遅延時間Tdを充分に長くすれば、音抜けの発生は防止できるが、遅延時間Tdが長いと、揺らぎ吸収バッファ22において、出力待ちのパケットが増大し、通話遅延が発生してしまう。
図5は、伝送遅延と伝送遅延の発生頻度との関係を示す伝送遅延特性のグラフの一例を示している。なお、図5において、縦軸は、発生頻度を示し、横軸は伝送遅延を示している。また、図6は、揺らぎ吸収バッファ22の最適なバッファサイズを説明するための図である。図5において、dminは最小の伝送遅延を示し、dmaxは最大の伝送遅延を示している。図6では、k−1番目のパケットの伝送遅延はdminであり、k番目のパケットの伝送遅延はdであり、k+1番目のパケットの伝送遅延はdmaxである。
この場合、受信装置2による最適な出力の待ち時間は下記のようになる。i)dmaxで届いたパケットは直ちに出力する。ii)dminで届いたパケットは、dmax−dmin待ってから出力する。iii)dで届いたパケットはdmax−d待ってから出力する。
よって、揺らぎ吸収バッファ22におけるパケットの枯渇を回避するためには、揺らぎ吸収バッファ22のバッファサイズbufをbuf≧dmax−dminとすればよいが、伝送遅延特性のdmaxが極端に大きくなると、つまり、図5のグラフの右端の尾が極端に長くなると、バッファサイズbufの値が大きくなってしまう。
また、図5のグラフに示すように、伝送遅延が増大するにつれて発生頻度が低下しているため、真のdmaxを観測するには、膨大な数のパケットの伝送遅延を観測する必要がある。
そのため、図5のグラフでは、真のdmaxではなく、伝送特性の分布の上位数%を切り捨てる値がdmaxとみなされている。この場合、dmaxとみなす値以上の伝送遅延が発生するとパケットの枯渇が発生する。
したがって、パケットの枯渇を防止するためには、dmaxとみなす値を大きく設定することが好ましいが、逆にdmaxとみなす値が大きすぎるとバッファサイズbufが増大し、揺らぎ吸収バッファ22において、出力待ちの待ちパケットが増大する結果、出力遅延が生じてしまう。このような出力遅延は、IP電話では通話遅延となって現れるため、極力低く抑える方が好ましい。そこで、本通話システムでは、上述の処理を実行することで、パケットの枯渇を防止すると同時に、通話遅延の防止を図っているのである。
図7は、図1に示す受信装置2の処理を示すフローチャートである。なお、図2に示す送信装置1は、受信装置2に対して第1の周期Taでパケットを送信しているものとする。まず、ステップS1において、カウント部23は、前回、パケットカウント値の算出タイミングを算出してから、第2の周期Tbが経過して、パケットカウント値の算出タイミングとなったか否かを判定する。そして、カウント部23は、パケットカウント値の算出タイミングになったと判定すると(ステップS1でYES)、現在、揺らぎ吸収バッファ22に蓄積されているパケット数である蓄積パケット数をカウントする(ステップS2)。一方、カウント部23は、パケットカウント値の算出タイミングになっていないと判定すると(ステップS1でNO)、処理をステップS1に戻す。
次に、カウント部23は、パケットカウント値の算出処理を実行して、パケットカウント値を算出する(ステップS3)。
図8は、パケットカウント値の算出処理の詳細を示すフローチャートである。まず、カウント部23は、現在時刻をパケットカウント値の算出時刻として特定する(ステップS21)。ここで、受信装置2は時計を有しているため、この時計を用いて算出時刻が特定される。
次に、カウント部23は、揺らぎ吸収バッファ22に蓄積されているパケットのうち、図3に示すように算出時刻Tkから、過去、第1の周期Ta内に受信された各パケットの受信時刻を特定する(ステップS22)。この場合、カウント部23は、受信時刻記録部25に記録された受信時刻に対応付けられたシーケンス番号を特定することで、各パケットの受信時刻を特定する。
次に、カウント部23は、算出時刻Tkから、過去、第1の周期Ta内に受信された各パケットについて、算出時刻Tkと受信時刻との差分ΔTを算出する(ステップS23)。次に、カウント部23は、過去、第1の周期Ta内に受信された各パケットについて、ΔT/Taを算出し、このΔT/Taを、各パケットのカウント値として設定する(ステップS24)。
次に、カウント部23は、揺らぎ吸収バッファ22に蓄積されているパケットのうち、算出時刻Tkから、過去、第1の周期Ta以前に受信されたパケットについては、カウント値を1として設定する(ステップS25)。
次に、カウント部23は、ステップS24,S25で設定したカウント値を用いて、揺らぎ吸収バッファ22の蓄積パケット数をカウントすることで、パケットカウント値を算出する(ステップS26)。例えば、算出時刻Tkから、過去、第1の周期Ta以前に受信されたパケット数が1個、算出時刻Tkから、過去、第1の周期Ta内に受信されたパケット数が2個であり、この2個のパケットの受信時刻がTi、Tjとすると、パケットカウント値は、1+(Tk−Ti)/Ta+(Tk−Tj)/Taとなる。
次に、カウント部23は、算出時刻Tkから、過去、Ta−Tb以前に受信したパケットについては、受信時刻記録部25から受信時刻を削除する(ステップS27)。
図7に戻り、ステップS4において、カウント部23は、算出時刻Tkにおけるパケットカウント値を観測履歴保持部29に保持させる。この場合、カウント部23は、観測履歴保持部29に保持されているパケットカウント値の個数がN個となるように、最古のパケットカウント値を観測履歴保持部29から削除する。
次に、バッファサイズ変更部24は、観測履歴保持部29に記憶されているN個のパケットカウント値のうち、n番目に小さいパケットカウント値を代表値として特定する(ステップS5)。
図9は、パケットカウント値と、パケットカウント値の算出時刻との関係を示した模式図であり、縦軸がパケットカウント値を示し、横軸がパケットカウント値の算出時刻を示している。図9では、N=9、n=3とされている。したがって、バッファサイズ変更部24は、図9で示す左端から2番目の時刻Tk−7のパケットカウント値が、3番目に小さいため、時刻Tk−7のパケットカウント値を代表値として特定する。
次に、バッファサイズ変更部24は、代表値が基準値より大きいか否かを判定し、代表値≧基準値+1の場合(ステップS6でYES)、代表値が基準値以上かつ基準値+1未満となる個数のパケットを揺らぎ吸収バッファ22から削除する(ステップS7)。
次に、バッファサイズ変更部24は、観測履歴保持部29に保持されているN個のパケットカウント値のそれぞれから、ステップS7で削除したパケット数を差し引き、N個のパケットカウント値を更新し、観測履歴を更新する(ステップS8)。例えば、削除したパケット数が1個であるとすると、N個のパケットカウント値の全てから1が減算される。これにより、揺らぎ吸収バッファ22からパケットを削除した事実が観測履歴に反映される。
一方、ステップS6において、代表値が基準値+1未満であり(ステップS6でNO)、かつ、代表値が基準値以上(ステップS9でNO)の場合、バッファサイズ変更部24は、揺らぎ吸収バッファ22に対してパケットの削除及び挿入を行わない(ステップS10)。
一方、代表値<基準値の場合(ステップS9でYES)、バッファサイズ変更部24は、代表値が基準値以上かつ基準値+1未満となる個数のパケットを揺らぎ吸収バッファ22に挿入する(ステップS11)。
次に、バッファサイズ変更部24は、観測履歴保持部29に保持されているN個のパケットカウント値のそれぞれに対し、ステップS11で挿入したパケット数を加算し、N個のパケットカウント値を更新し、観測履歴を更新する(ステップS12)。例えば、挿入したパケット数が1個であるとすると、N個のパケットカウント値の全てに1が加算される。これにより、揺らぎ吸収バッファ22にパケットを挿入した事実が観測履歴に反映される。
そして、ステップS8、S10、又はS12の処理が終了されると、処理がステップS1に戻され、次のパケットカウント値の算出時刻が到来すると、ステップS2以降の処理が実行される。
図10(a)はバッファサイズ変更部24によるパケット挿入時の処理を示した模式図であり、図10(b)はバッファサイズ変更部24によるパケット削除時の処理を示した模式図である。図10(a)の例では、バッファサイズ変更部24は、有効パケットである4番目のパケットと5番目のパケットとの間に無効パケットを挿入している。図10(b)の例では、バッファサイズ変更部24は、有効パケットである4番目のパケットと5番目のパケットとをオーバーラップ加算して2つのパケット長を1つのパケット長にすることで、1つのパケットを削除している。
このように、実施の形態1による通話システムによれば、送信装置1は、揺らぎ吸収バッファ22の蓄積パケット数からパケットカウント値が算出され、過去N回のパケットカウント値のうち、n番目に小さいパケットカウント値が代表値として特定される。そして、特定した代表値が基準値よりも大きければ揺らぎ吸収バッファ22からパケットが削除される。そのため、パケットカウント値の過去の履歴から揺らぎ吸収バッファ22の蓄積パケット数が基準値と比べて大きい傾向にあり、出力遅延が生じる場合は、揺らぎ吸収バッファ22からパケットが削除されるため、出力遅延が低減される。一方、パケットカウント値の過去の履歴から揺らぎ吸収バッファ22の蓄積パケット数が基準値に比べて小さい傾向にあり、パケットの枯渇が発生する可能性が高い場合は、揺らぎ吸収バッファ22にパケットが挿入されるため、パケットの枯渇を防止することができる。
(実施の形態2)
実施の形態2による通話システムは、実施の形態1の通話システムに対して、パケットカウント値の算出手法が相違する点を特徴としている。なお、本実施の形態において、実施の形態1と同一のものは同一の符号を付して説明を省略する。また、本実施の形態においてブロック図は実施の形態1と同一であるため、図2を用いる。また、本実施の形態において、メインルーチンとなるフローチャートは実施の形態1と同一であるため、図7を用いる。
本実施の形態2おいて、図2に示すパケット送受信部21は、最新のパケットについてのみ受信時刻を受信時刻記録部に記録する。
カウント部23は、最新のパケットについては、カウント値を、算出時刻Tkと最新のパケットの受信時刻との差分ΔT/第1の周期Taにより得られる値に設定し、それ以外のパケットはカウント値を1に設定してパケットカウント値を算出する。
図11は、実施の形態2におけるパケットカウント値の算出手法の説明図である。図11に示すように、カウント部23は、揺らぎ吸収バッファ22において、算出時刻Tkから、過去、第1の周期Ta内に受信されたパケットが蓄積されている場合、第1の周期内に受信されたパケットの中から受信時刻が最新のパケットPSを特定し、最新のパケットPSのカウント値をΔT/Taに設定する。
一方、カウント部23は、揺らぎ吸収バッファ22に蓄積されたパケットのうち、最新のパケットPS以外のパケットPL1,PL2については、カウント値を一律に1に設定する。
この場合、カウント部23は、算出時刻Tkから、過去、第1の周期Ta内に受信されたパケットであって、最新のパケットPSの受信時刻のみが分かればよいので、パケットカウント値の算出処理が終了した後、受信時刻記録部25に記録されている受信記録を削除する。
次に、実施の形態2による通話システムの動作について説明する。メインルーチンは、図7と同一であるため、説明を省く。相違点は、ステップS3のパケットカウント値の算出処理にある。図12は、実施の形態2による通話システムのパケットカウント値の算出処理を示すフローチャートである。
ステップS31、S33、S34、S36は、図8のステップS21、S23、S24、S26と同一であるため、説明を省く。ステップS32において、カウント部23は、揺らぎ吸収バッファ22において、算出時刻Tkから、過去、第1の周期Ta内に受信したパケットのうち最新のパケットの受信時刻を特定する。
また、カウント部23は、算出時刻Tkから、最新のパケット以外のパケットについては、カウント値を一律に1に設定する(ステップS35)。
そして、ステップS37において、カウント部23は、最新のパケットの受信時刻を受信時刻記録部25から削除する。
このように、本実施の形態による通話システムによれば、最新のパケットについてのみ、受信時刻を記録しておけばよいため、受信時刻記録部25の容量を更に節約することができる。
(実施の形態3)
本実施の形態における通話システムは、スパイク遅延の発生の有無を判定し、スパイク遅延が発生している場合は、参照する過去のパケットカウント値のウインドウ幅を短くし、短くしたウインドウ幅内のパケットカウント値から代表値を算出することを特徴としている。
なお、本実施の形態において、実施の形態1、2と同一のものは同一の符号を付して説明を省略する。また、本実施の形態においてブロック図は実施の形態1と同一であるため、図2を用いる。
本実施の形態において図2示すカウント部23は、算出したパケットカウント値を、各パケットカウント値の時系列順序を示すためのインデックスと対応づけて観測履歴保持部29に保持させる。
具体的には、観測履歴保持部29は過去N回のパケットカウント値を保持するため、カウント部23は、最新のパケットカウント値のインデックスがN、最古のパケットカウント値のインデックスが1となるように、算出時刻が新しくなるにつれてインデックスが増大するように過去N回のパケットカウント値にインデックスを付す。
また、本実施の形態において、カウント部23は、観測履歴保持部29に保持された過去N回のパケットカウント値に基づいて、スパイク遅延の有無を判定し、スパイク遅延が発生していると判定した場合は、過去N回のパケットカウント値のうち、過去M(M<N)回のパケットカウント値を抽出する。
ここで、カウント部23は、下記のようにしてスパイク遅延の有無を判定する。図13は、スパイク遅延の有無の判定処理を説明するためのグラフである。図13において、縦軸はパケットカウント値を示し、横軸はインデックスを示している。図13においては、N=100とされている。
まず、カウント部23は、基準値以下のパケットカウント値を特定する。図13の例では点PP1〜PP6のパケットカウント値が基準値以下となっている。
次に、カウント部23は、基準値以下のパケットカウント値のうち、インデックスが最小、つまり最古の点と、インデックスが最大、つまり最新の点とを特定する。
図13の例では、カウント部23は、点PP1と点PP6とを特定する。
次に、カウント部23は、最小のインデックスと最大のインデックスとの差分ΔIを求める。そして、カウント部23は、この差分ΔIが予め定められた閾値より小さければ、スパイク遅延が発生したと判定し、この差分ΔIが閾値より大きければスパイク遅延が発生していないと判定する。
図14は、スパイク遅延が発生している場合のパケットカウント値とインデックスとの関係を示すグラフである。図14において縦軸はパケットカウント値を示し、横軸はインデックスを示している。
図14の例では、点PP1〜点PP5のパケットカウント値が基準値以下である。そして、点PP1はインデックスが最小であり、点PP5はインデックスが最大である。そして、点PP1のインデックスと点PP5のインデックスとの差分ΔIが閾値より小さい。そのため、カウント部23は、スパイク遅延が発生していると判定する。
そして、カウント部23は、図14に示すように、スパイク遅延が発生していると判定すると、算出時刻Tkから過去M個のパケットカウント値を抽出する。ここで、Mとしては、ΔIに所定の係数β(0<β≦1)を乗じた値(=β・ΔI)を、整数で丸め込んだ値を採用することができる。
そして、バッファサイズ変更部24は、過去M個のパケットカウント値のうち、m番目に小さなパケットカウント値を代表値として算出する。以下、バッファサイズ変更部24は、実施の形態1、2と同様にして、代表値を基準値と比較して、揺らぎ吸収バッファ22にパケットを挿入又は削除する。ここで、mとしては、M×αを整数で丸め込んだ値を採用することができる。
このように、本実施の形態による通話システムによれば、スパイク遅延が発生した場合、参照する過去のパケットカウント値のウインドウ幅が狭められて揺らぎ吸収バッファ22にパケットの挿入又は削除が行われる。そのため、稀にしか発生しないスパイク遅延が排除されるようにして、代表値を算出することができる。
(実施の形態4)
実施の形態4による通話システムは、0の蓄積パケット数が連続して発生した場合におけるパケットカウント値の算出手法に特徴がある。なお、本実施の形態において、実施の形態1〜3と同一のものは同一の符号を付して説明を省略する。また、本実施の形態においてブロック図は実施の形態1と同一であるため、図2を用いる。
本実施の形態において、図2に示すカウント部23は、0の蓄積パケット数が連続して発生した場合、0の蓄積パケット数が連続した回数が増大するにつれて絶対値が増大する負の値を前記パケットカウント値として算出する。
図15は、実施の形態4におけるカウント部23の処理を説明する図である。図15(a)においては、第2周期Tbの各区間において、パケットカウント値の算出時刻Tk−4〜Tkの直後にパケットが受信されている。また、再生部28は、各区間において、パケットを受信してから、次のパケットカウント値の算出時刻Tk−4〜Tkが経過するまでに、揺らぎ吸収バッファ22からパケットを読み出している。そのため、各算出時刻Tk−4〜Tkにおいて、揺らぎ吸収バッファ22における蓄積パケット数は0となっている。そのため、カウント部23は、算出時刻Tk−4〜Tkのそれぞれにおいてパケットカウント値を0と算出してしまう。
一方、図15(b)においては、算出時刻Tk−4の少し前に1つのパケットを受信してから以降、パケットは受信されていない。この場合においても、各算出時刻Tk−3〜Tkにおける蓄積パケット数は0となっているため、カウント部23は、算出時刻Tk−3〜Tkのそれぞれにおいてパケットカウント値を0と算出してしまう。
しかしながら、図15(a)と(b)とでは、ネットワークの状況が大きく異なっている。すなわち、図15(a)においては、パケットは定期的に受信装置2に到達しており、再生部28は連続再生を行うことが可能となるが、図15(b)においては、パケットは定期的に受信装置2に到達していないため、再生部28は連続再生を行うことができない。
これを区別するため、カウント部23は、下記の処理を行う。算出時刻(現在時刻)と最新のパケットの受信時刻との差がTbよりも大きい場合は、前回の算出時刻以後、パケット受信がなかったと考えられ、すなわち図15(b)の状況であると判断し、一方、算出時刻(現在時刻)と最新のパケットの受信時刻との差がTbよりも小さい場合は、図15(a)の状況だと判断する。ここで、図15(b)の状況であると判断した場合、以下の処理を行う。つまり、図15(b)に示すように、算出時刻Tk−3で蓄積パケット数が0であり、算出時刻Tk−2でも蓄積パケット数が0となっており、算出時刻Tk−2において、0の蓄積パケット数の連続回数が1回となっている。この場合、カウント部23は、0を算出時刻Tk−2におけるパケットカウント値として算出する。
また、算出時刻Tk−1においては、0の蓄積パケット数の連続回数が2回となっている。そこで、カウント部23は、連続回数である2回から1を差し引いた値に−1を乗じた値である−1を、算出時刻Tk−1におけるパケットカウント値として算出する。
算出時刻Tkにおいて、0の蓄積パケット数の連続回数は3であるため、カウント部23は、連続回数である3回から1を差し引いた値に−1を乗じた値である−2を算出時刻Tkにおけるパケットカウント値として算出する。
ゆえに、カウント部23は、(連続回数−1)・(−1)をパケットカウント値として算出する。
これにより、図15(a)のように、パケットは定期的に受信できているものの、算出時刻において、蓄積パケット数がたまたま0になっている場合と、図15(b)のように、パケットを定期的に受信できていない場合との差を考慮してパケットカウント値を算出することが可能となる。
したがって、図15(b)の場合は、図15(a)の場合よりも揺らぎ吸収バッファ22からパケットが削除され難くなる。
1 送信装置
2 受信装置
21 パケット送受信部
22 揺らぎ吸収バッファ
23 カウント部
24 バッファサイズ変更部
25 受信時刻記録部
26 基準値記憶部
27 隠蔽処理部
28 再生部
29 観測履歴保持部
30 スピーカ
31 表示部
33 マイク
34 パケット生成部

Claims (14)

  1. 送信装置と、前記送信装置にIPネットワークを介して接続された受信装置とを備える通話システムによる伝送遅延制御方法であって、
    前記受信装置は、前記送信装置から送信されたパケットを蓄積することで、当該パケットの伝送遅延の揺らぎを吸収する揺らぎ吸収バッファを備え、
    前記送信装置が、連続再生対象となる音声信号又は映像信号をパケット化して所定の第1の周期で前記受信装置に送信する送信ステップと、
    前記受信装置が、前記送信ステップにより送信されたパケットを前記揺らぎ吸収バッファに格納する受信ステップと、
    前記受信装置が、前記第1の周期以下の所定の第2の周期で、前記揺らぎ吸収バッファに蓄積されている蓄積パケット数をカウントすることでパケットカウント値を算出するカウントステップと、
    前記カウントステップにより算出されたパケットカウント値に基づいて、前記揺らぎ吸収バッファにパケットを挿入又は削除するバッファサイズ変更ステップとを備え
    前記バッファサイズ変更ステップは、前記パケットカウント値の過去の履歴を基に、パケットカウント値の代表値を算出し、算出した代表値が所定の基準値より大きい場合、前記揺らぎ吸収バッファからパケットを削除し、前記代表値が前記基準値より小さい場合、前記揺らぎ吸収バッファにパケットを挿入することを特徴とする伝送遅延制御方法。
  2. 送信装置と、前記送信装置にIPネットワークを介して接続された受信装置とを備える通話システムによる伝送遅延制御方法であって、
    前記受信装置は、前記送信装置から送信されたパケットを蓄積することで、当該パケットの伝送遅延の揺らぎを吸収する揺らぎ吸収バッファを備え、
    前記送信装置が、連続再生対象となる音声信号又は映像信号をパケット化して所定の第1の周期で前記受信装置に送信する送信ステップと、
    前記受信装置が、前記送信ステップにより送信されたパケットを前記揺らぎ吸収バッファに格納する受信ステップと、
    前記受信装置が、前記第1の周期以下の所定の第2の周期で、前記揺らぎ吸収バッファに蓄積されている蓄積パケット数をカウントすることでパケットカウント値を算出するカウントステップと、
    前記カウントステップにより算出されたパケットカウント値に基づいて、前記揺らぎ吸収バッファにパケットを挿入又は削除するバッファサイズ変更ステップとを備え、
    前記カウントステップは、前記パケットカウント値の算出タイミングである算出時刻から、過去、前記第1の周期内に受信したパケットについては、カウント値を前記算出時刻及び受信時刻の差分/前記第1の周期による得られる値に設定し、前記算出時刻から、過去、前記第1の周期以前に受信したパケットについては、カウント値を1に設定することで前記パケットカウント値を算出することを特徴とする伝送遅延制御方法。
  3. 前記受信ステップは、受信したパケットの受信時刻を受信時刻記録部に記録し、
    前記カウントステップは、前記パケットカウント値の算出処理が終了すると、算出時刻から、過去、第1の周期と第2の周期との差分以前に受信されたパケットについては、受信時刻を前記受信時刻記録部から削除することを特徴とする請求項記載の伝送遅延制御方法。
  4. 送信装置と、前記送信装置にIPネットワークを介して接続された受信装置とを備える通話システムによる伝送遅延制御方法であって、
    前記受信装置は、前記送信装置から送信されたパケットを蓄積することで、当該パケットの伝送遅延の揺らぎを吸収する揺らぎ吸収バッファを備え、
    前記送信装置が、連続再生対象となる音声信号又は映像信号をパケット化して所定の第1の周期で前記受信装置に送信する送信ステップと、
    前記受信装置が、前記送信ステップにより送信されたパケットを前記揺らぎ吸収バッファに格納する受信ステップと、
    前記受信装置が、前記第1の周期以下の所定の第2の周期で、前記揺らぎ吸収バッファに蓄積されている蓄積パケット数をカウントすることでパケットカウント値を算出するカウントステップと、
    前記カウントステップにより算出されたパケットカウント値に基づいて、前記揺らぎ吸収バッファにパケットを挿入又は削除するバッファサイズ変更ステップとを備え、
    前記受信ステップは、最新のパケットのみ受信時刻を記録し、
    前記カウントステップは、前記最新のパケットについては、カウント値を前記差分/前記第1の周期により得られる値に設定し、それ以外のパケットはカウント値を1に設定して前記パケットカウント値を算出することを特徴とする伝送遅延制御方法。
  5. 前記カウントステップは、過去N(Nは正の整数値)回のパケットカウント値を観測履歴保持部に保持し、
    前記バッファサイズ変更ステップは、過去N回のパケットカウント値のうち、n(nはN未満の正の整数値)番目に小さいパケットカウント値を前記代表値とすることを特徴とする請求項記載の伝送遅延制御方法。
  6. 前記カウントステップは、前記観測履歴保持部に保持された過去N回のパケットカウント値に基づいて、スパイク遅延の有無を判定し、スパイク遅延が発生していると判定した場合は、過去N回のパケットカウント値のうち、過去M(M<N)回のパケットカウント値を抽出し、
    前記バッファサイズ変更ステップは、前記カウントステップにより抽出された過去M回のパケットカウント値のうち、m(mはM未満の整数)番目に小さいパケットカウント値を前記代表値として算出することを特徴とする請求項記載の伝送遅延制御方法。
  7. 送信装置と、前記送信装置にIPネットワークを介して接続された受信装置とを備える通話システムによる伝送遅延制御方法であって、
    前記受信装置は、前記送信装置から送信されたパケットを蓄積することで、当該パケットの伝送遅延の揺らぎを吸収する揺らぎ吸収バッファを備え、
    前記送信装置が、連続再生対象となる音声信号又は映像信号をパケット化して所定の第1の周期で前記受信装置に送信する送信ステップと、
    前記受信装置が、前記送信ステップにより送信されたパケットを前記揺らぎ吸収バッファに格納する受信ステップと、
    前記受信装置が、前記第1の周期以下の所定の第2の周期で、前記揺らぎ吸収バッファに蓄積されている蓄積パケット数をカウントすることでパケットカウント値を算出するカウントステップと、
    前記カウントステップにより算出されたパケットカウント値に基づいて、前記揺らぎ吸収バッファにパケットを挿入又は削除するバッファサイズ変更ステップとを備え、
    前記カウントステップは、0の蓄積パケット数が連続して発生した場合、0の蓄積パケット数が連続した回数が増大するにつれて絶対値が増大する負の値を前記パケットカウント値として算出することを特徴とする伝送遅延制御方法。
  8. 送信装置と、前記送信装置にIPネットワークを介して接続された受信装置とを備える通話システムによる伝送遅延制御方法であって、
    前記受信装置は、前記送信装置から送信されたパケットを蓄積することで、当該パケットの伝送遅延の揺らぎを吸収する揺らぎ吸収バッファを備え、
    前記送信装置が、連続再生対象となる音声信号又は映像信号をパケット化して所定の第1の周期で前記受信装置に送信する送信ステップと、
    前記受信装置が、前記送信ステップにより送信されたパケットを前記揺らぎ吸収バッファに格納する受信ステップと、
    前記受信装置が、前記第1の周期以下の所定の第2の周期で、前記揺らぎ吸収バッファに蓄積されている蓄積パケット数をカウントすることでパケットカウント値を算出するカウントステップと、
    前記カウントステップにより算出されたパケットカウント値に基づいて、前記揺らぎ吸収バッファにパケットを挿入又は削除するバッファサイズ変更ステップとを備え、
    前記バッファサイズ変更ステップは、前記パケットカウント値の過去の履歴を基に、パケットカウント値の代表値を算出し、算出した代表値が所定の第1の基準値より大きい場合、前記揺らぎ吸収バッファからパケットを削除し、前記代表値が前記第1の基準値より小さな第2の基準値より小さい場合、前記揺らぎ吸収バッファにパケットを挿入することを特徴とする伝送遅延制御方法。
  9. 連続再生対象となる音声信号又は映像信号をパケット化して所定の第1の周期で送信する送信装置にIPネットワークを介して接続された受信装置であって、
    記送信装置から送信されたパケットを蓄積することで、当該パケットの伝送遅延の揺らぎを吸収する揺らぎ吸収バッファと、
    前記送信装置により送信されたパケットを前記揺らぎ吸収バッファに格納する受信手段と、
    記第1の周期以下の所定の第2の周期で、前記揺らぎ吸収バッファに蓄積されている蓄積パケット数をカウントすることでパケットカウント値を算出するカウント手段と、
    前記カウント手段により算出されたパケットカウント値に基づいて、前記揺らぎ吸収バッファにパケットを挿入又は削除するバッファサイズ変更手段とを備え、
    前記バッファサイズ変更手段は、前記パケットカウント値の過去の履歴を基に、パケットカウント値の代表値を算出し、算出した代表値が所定の基準値より大きい場合、前記揺らぎ吸収バッファからパケットを削除し、前記代表値が前記基準値より小さい場合、前記揺らぎ吸収バッファにパケットを挿入することを特徴とする受信装置
  10. 連続再生対象となる音声信号又は映像信号をパケット化して所定の第1の周期で送信する送信装置にIPネットワークを介して接続された受信装置であって、
    前記送信装置から送信されたパケットを蓄積することで、当該パケットの伝送遅延の揺らぎを吸収する揺らぎ吸収バッファと、
    前記送信装置により送信されたパケットを前記揺らぎ吸収バッファに格納する受信手段と、
    前記第1の周期以下の所定の第2の周期で、前記揺らぎ吸収バッファに蓄積されている蓄積パケット数をカウントすることでパケットカウント値を算出するカウント手段と、
    前記カウント手段により算出されたパケットカウント値に基づいて、前記揺らぎ吸収バッファにパケットを挿入又は削除するバッファサイズ変更手段とを備え、
    前記カウント手段は、前記パケットカウント値の算出タイミングである算出時刻から、過去、前記第1の周期内に受信したパケットについては、カウント値を前記算出時刻及び受信時刻の差分/前記第1の周期による得られる値に設定し、前記算出時刻から、過去、前記第1の周期以前に受信したパケットについては、カウント値を1に設定することで前記パケットカウント値を算出することを特徴とする受信装置。
  11. 連続再生対象となる音声信号又は映像信号をパケット化して所定の第1の周期で送信する送信装置にIPネットワークを介して接続された受信装置であって、
    前記送信装置から送信されたパケットを蓄積することで、当該パケットの伝送遅延の揺らぎを吸収する揺らぎ吸収バッファと、
    前記送信装置により送信されたパケットを前記揺らぎ吸収バッファに格納する受信手段と、
    前記第1の周期以下の所定の第2の周期で、前記揺らぎ吸収バッファに蓄積されている蓄積パケット数をカウントすることでパケットカウント値を算出するカウント手段と、
    前記カウント手段により算出されたパケットカウント値に基づいて、前記揺らぎ吸収バッファにパケットを挿入又は削除するバッファサイズ変更手段とを備え、
    前記受信手段は、最新のパケットのみ受信時刻を記録し、
    前記カウント手段は、前記最新のパケットについては、カウント値を前記差分/前記第1の周期により得られる値に設定し、それ以外のパケットはカウント値を1に設定して前記パケットカウント値を算出することを特徴とする受信装置。
  12. 連続再生対象となる音声信号又は映像信号をパケット化して所定の第1の周期で送信する送信装置にIPネットワークを介して接続された受信装置であって、
    前記送信装置から送信されたパケットを蓄積することで、当該パケットの伝送遅延の揺らぎを吸収する揺らぎ吸収バッファと、
    前記送信装置により送信されたパケットを前記揺らぎ吸収バッファに格納する受信手段と、
    前記第1の周期以下の所定の第2の周期で、前記揺らぎ吸収バッファに蓄積されている蓄積パケット数をカウントすることでパケットカウント値を算出するカウント手段と、
    前記カウント手段により算出されたパケットカウント値に基づいて、前記揺らぎ吸収バッファにパケットを挿入又は削除するバッファサイズ変更手段とを備え、
    前記カウント手段は、0の蓄積パケット数が連続して発生した場合、0の蓄積パケット数が連続した回数が増大するにつれて絶対値が増大する負の値を前記パケットカウント値として算出することを特徴とする受信装置。
  13. 連続再生対象となる音声信号又は映像信号をパケット化して所定の第1の周期で送信する送信装置にIPネットワークを介して接続された受信装置であって、
    前記送信装置から送信されたパケットを蓄積することで、当該パケットの伝送遅延の揺らぎを吸収する揺らぎ吸収バッファと、
    前記送信装置により送信されたパケットを前記揺らぎ吸収バッファに格納する受信手段と、
    前記第1の周期以下の所定の第2の周期で、前記揺らぎ吸収バッファに蓄積されている蓄積パケット数をカウントすることでパケットカウント値を算出するカウント手段と、
    前記カウント手段により算出されたパケットカウント値に基づいて、前記揺らぎ吸収バッファにパケットを挿入又は削除するバッファサイズ変更手段とを備え、
    前記バッファサイズ変更手段は、前記パケットカウント値の過去の履歴を基に、パケットカウント値の代表値を算出し、算出した代表値が所定の第1の基準値より大きい場合、前記揺らぎ吸収バッファからパケットを削除し、前記代表値が前記第1の基準値より小さな第2の基準値より小さい場合、前記揺らぎ吸収バッファにパケットを挿入することを特徴とする受信装置。
  14. 送信装置と、
    請求項9〜13のいずれか1項に記載の受信装置とを備えることを特徴とする通話システム。
JP2010188650A 2009-10-05 2010-08-25 伝送遅延制御方法、受信装置及び通話システム Active JP5563406B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010188650A JP5563406B2 (ja) 2009-10-05 2010-08-25 伝送遅延制御方法、受信装置及び通話システム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009231965 2009-10-05
JP2009231965 2009-10-05
JP2010188650A JP5563406B2 (ja) 2009-10-05 2010-08-25 伝送遅延制御方法、受信装置及び通話システム

Publications (2)

Publication Number Publication Date
JP2011101342A JP2011101342A (ja) 2011-05-19
JP5563406B2 true JP5563406B2 (ja) 2014-07-30

Family

ID=44192123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010188650A Active JP5563406B2 (ja) 2009-10-05 2010-08-25 伝送遅延制御方法、受信装置及び通話システム

Country Status (1)

Country Link
JP (1) JP5563406B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3660517B2 (ja) * 1999-03-01 2005-06-15 三菱電機株式会社 データ受信装置、これに用いられるソースクロック再生方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2004229115A (ja) * 2003-01-24 2004-08-12 Japan Radio Co Ltd 音声パケットデータ受信装置における受信バッファの制御方法および音声パケットデータ受信装置
JP4933145B2 (ja) * 2006-05-18 2012-05-16 株式会社日立製作所 ネットワーク受信機

Also Published As

Publication number Publication date
JP2011101342A (ja) 2011-05-19

Similar Documents

Publication Publication Date Title
JP4661373B2 (ja) 特定メディアデータの破棄を制御する送信装置及び送信プログラム
US8081614B2 (en) Voice transmission apparatus
JP2005269632A (ja) 通信端末装置、電話データ受信方法、通信システムおよびゲートウェイ
JP2002077233A (ja) リアルタイム情報受信装置
US9948578B2 (en) De-jitter buffer update
US7787500B2 (en) Packet receiving method and device
JP3308966B2 (ja) ノード間同期装置及びノード間同期方法
JP3891755B2 (ja) パケット受信装置
JP5563406B2 (ja) 伝送遅延制御方法、受信装置及び通話システム
JP5330183B2 (ja) パケット挿入削除方法及び通話システム
JP2004214755A (ja) 動的符号化レート変更方法及びその装置
JP3586719B2 (ja) 音声映像通信の品質監視装置および品質監視方法ならびに該方法を記録した記録媒体
JP2014160911A (ja) パケット処理装置、方法及びプログラム
JP4376165B2 (ja) 受信装置,クロック調整方法および放送システム
JP6031752B2 (ja) 音声通信装置及びプログラム
JP3910083B2 (ja) 音声パケット通信装置、トラフィック予測方法、及び音声パケット通信装置の制御方法
JPH0281538A (ja) 音声パケット処理方法
JP5680430B2 (ja) 音声パケット通信システム
JP4983054B2 (ja) サーバ装置及び同装置におけるバッファ制御方法
KR100906038B1 (ko) 영상 전화에서의 영상과 음성의 동기화 방법 및 장치
JP5562765B2 (ja) 音声rtp通信送受信方法及び送受信装置
JP4457841B2 (ja) 符号化レートを制御する送信装置、送信プログラム及び送信方法
JP5234845B2 (ja) パケット送受信装置、方法及びプログラム
JP4667811B2 (ja) 音声通信装置、音声通信方法
JP4338083B2 (ja) ディジタル音声再生装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20120116

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130619

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140304

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140428

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140603

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140612

R151 Written notification of patent or utility model registration

Ref document number: 5563406

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151