(57)【要約】【課題】揺らぎ吸収バッファの蓄積パケット数のバッファサイズを調整するために、揺らぎ吸収バッファにパケットを挿入又は削除するにあたり、映像又は音声の品質劣化を低減させる。【解決手段】バッファサイズ変更部２４は、揺らぎ吸収バッファ２２から１つのパケットを削除する場合、音声又は映像を含む有効パケットが連続して２つ以上存在すれば、これら連続する有効パケットのうち、中間に位置する連続する２つの有効パケットをオーバーラップ加算して削除する。【選択図】図２
2011082708.tif 000002
【特許請求の範囲】
【請求項１】
ＩＰネットワークを介して接続された送信装置から連続再生対象となる音声又は映像パケットを受信して揺らぎ吸収バッファに格納する受信装置が、前記揺らぎ吸収バッファに蓄積されているパケットを挿入又は削除するパケット挿入削除方法であって、
前記揺らぎ吸収バッファに格納されているパケットの蓄積パケット数をカウントするカウントステップと、
前記カウントステップによるカウント結果に基づいて、前記揺らぎ吸収バッファにパケットを挿入又は削除するバッファサイズ変更ステップとを備え、
前記バッファサイズ変更ステップは、前記揺らぎ吸収バッファから１つのパケットを削除する場合、音声又は映像を含む有効パケットが連続して２つ以上存在すれば、これら連続する有効パケットのうち、中間に位置する連続する２つの有効パケットをオーバーラップ加算して削除することを特徴とするパケット挿入削除方法。
【請求項２】
前記バッファサイズ変更ステップは、前記揺らぎ吸収バッファにパケットを挿入する場合、音声又は映像を含まない無効パケットを挿入するものであり、前記揺らぎ吸収バッファからパケットを削除する場合、過去に挿入した無効パケットがあれば、当該無効パケットを削除することを特徴とする請求項１記載のパケット挿入削除方法。
【請求項３】
前記バッファサイズ変更ステップは、前記揺らぎ吸収バッファにパケットを挿入する場合、連続する２つの有効パケットが存在すれば、これら２つの有効パケットの間に無効パケットを挿入することを特徴とする請求項１又は２記載のパケット挿入削除方法。
【請求項４】
前記バッファサイズ変更ステップにおいて、一度に挿入又は削除することができるパケット数の上限値が予め定められていることを特徴とする請求項１〜３のいずれかに記載のパケット挿入削除方法。
【請求項５】
前記バッファサイズ変更ステップにより挿入された無効パケットに対してパケットロス隠蔽処理を実行する隠蔽処理ステップを更に備えることを特徴とする請求項２又は３記載のパケット挿入削除方法。
【請求項６】
前記バッファサイズ変更ステップは、無効パケットを削除した場合において、削除した無効パケットに対応する有効パケットを後から受信した場合、他に無効パケットが存在すれば、他の無効パケットと、受信した有効パケットとを入れ換えることを特徴とする請求項２記載のパケット挿入削除方法。
【請求項７】
前記パケットは、音声パケットであり、
前記バッファサイズ変更ステップは、母音の音声を格納する連続する２つのパケットの間に、無効パケットを挿入することを特徴とする請求項３記載のパケット挿入削除方法。
【請求項８】
ＩＰネットワークを介して接続された送信装置及び受信装置を備える通話システムであって、
前記受信装置は、
前記送信装置から連続再生対象となる音声又は映像パケットを格納する揺らぎ吸収バッファと、
前記揺らぎ吸収バッファに格納されているパケットの蓄積パケット数をカウントするカウント手段と、
前記カウント手段によるカウント結果に基づいて、前記揺らぎ吸収バッファにパケットを挿入又は削除するバッファサイズ変更手段とを備え、
前記バッファサイズ変更手段は、前記揺らぎ吸収バッファから１つのパケットを削除する場合、音声又は映像を含む有効パケットが連続して２つ以上存在すれば、これら連続する有効パケットのうち、中間に位置する連続する２つの有効パケットをオーバーラップ加算して削除することを特徴とする通話システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、揺らぎ吸収バッファのバッファサイズを調節する技術に関するものである。
【背景技術】
【０００２】
近年、ＶｏＩＰ等、音声パケットをリアルタイムで伝送するシステムが知られている。このようなシステムにおいて、送信側の端末装置は、１０ｍｓｅｃ〜４０ｍｓｅｃ程度の一定の周期でパケットを送信する。そして、受信側の端末装置も送信側の端末装置と同一の周期でパケットに含まれる音声信号を再生する。これにより、音声が連続再生される。
【０００３】
しかしながら、ネットワーク上でのパケットの衝突、無線区間での伝送状態の悪化、ルータやブリッジの輻輳等により、パケットに伝送遅延の揺らぎが生じると、受信側の端末装置は、一定の周期でパケットを受信することができなくなる。そこで、伝送遅延の揺らぎを吸収し、一定の周期で音声を再生するために、受信側の端末装置には、揺らぎ吸収バッファが設けられているのが一般的である。つまり、揺らぎ吸収バッファに、一定数のパケットを蓄積させることで、パケットの枯渇を防止して、音声信号の連続再生を実現しているのである。
【０００４】
特許文献１には、揺らぎ吸収バッファの蓄積パケット数が開始蓄積パケット数になった場合に、受信パケットの読み出しを開始する揺らぎ吸収バッファの制御方法において、開始蓄積パケット数よりも大きな受信パケットの到着タイミングの揺らぎが発生した場合、開始蓄積パケット数及び最大蓄積パケット数を増加変更し、一方、前記揺らぎが開始蓄積パケット数より低い値で安定している場合、開始蓄積パケット数及び最大蓄積パケット数を減少変更させる技術が開示されている。
【０００５】
また、特許文献２には、受信パケット数が基準値を超えた時に受信パケットの再生を開始させ、予め定められた時間間隔で受信バッファ（揺らぎ吸収バッファ）内のパケットの個数を監視し、パケットの個数が時間と共に増大又は減少しているかに応じて、基準値を変更するパケット処理装置が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３８７４１１２号公報
【特許文献２】特許第３５０６９６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１、２の技術は、いずれも、開始蓄積パケット数等の基準値自体を調整するものであり、揺らぎ吸収バッファのバッファサイズを調整するために、揺らぎ吸収バッファにパケットを挿入したり、揺らぎ吸収バッファからパケットを削除したりするものではない。
【０００８】
本発明の目的は、揺らぎ吸収バッファの蓄積パケット数のバッファサイズを調整するために、揺らぎ吸収バッファにパケットを挿入又は削除するにあたり、映像又は音声の品質劣化を低減させることができる技術を提供することである。
【課題を解決するための手段】
【０００９】
（１）本発明の一局面によるパケット挿入削除方法は、ＩＰネットワークを介して接続された送信装置から連続再生対象となる音声又は映像パケットを受信して揺らぎ吸収バッファに格納する受信装置が、前記揺らぎ吸収バッファに蓄積されているパケットを挿入又は削除するパケット挿入削除方法であって、前記揺らぎ吸収バッファに格納されているパケットの蓄積パケット数をカウントするカウントステップと、前記カウントステップによるカウント結果に基づいて、前記揺らぎ吸収バッファにパケットを挿入又は削除するバッファサイズ変更ステップとを備え、前記バッファサイズ変更ステップは、前記揺らぎ吸収バッファから１つのパケットを削除する場合、音声又は映像を含む有効パケットが連続して２つ以上存在すれば、これら連続する有効パケットのうち、中間に位置する連続する２つの有効パケットをオーバーラップ加算して削除することを特徴とする。
【００１０】
また、本発明の別の一局面による通話システムは、ＩＰネットワークを介して接続された送信装置及び受信装置を備える通話システムであって、前記受信装置は、前記送信装置から連続再生対象となる音声又は映像パケットを格納する揺らぎ吸収バッファと、前記揺らぎ吸収バッファに格納されているパケットの蓄積パケット数をカウントするカウント手段と、前記カウント手段によるカウント結果に基づいて、前記揺らぎ吸収バッファにパケットを挿入又は削除するバッファサイズ変更手段とを備え、前記バッファサイズ変更手段は、前記揺らぎ吸収バッファから１つのパケットを削除する場合、音声又は映像を含む有効パケットが連続して２つ以上存在すれば、これら連続する有効パケットのうち、中間に位置する連続する２つの有効パケットをオーバーラップ加算して削除することを特徴とする。
【００１１】
この構成によれば、揺らぎ吸収バッファから１つのパケットを削除する場合、有効パケットが２つ以上連続する区間の中間（真ん中）に位置する２つのパケットをオーバーラップ加算して１つのパケットを生成することで削除されるため、音声及び映像の品質劣化を低減させることができる。
【００１２】
（２）前記バッファサイズ変更ステップは、前記揺らぎ吸収バッファにパケットを挿入する場合、音声又は映像を含まない無効パケットを挿入するものであり、前記揺らぎ吸収バッファからパケットを削除する場合、過去に挿入した無効パケットがあれば、当該無効パケットを削除することが好ましい。
【００１３】
この構成によれば、揺らぎ吸収バッファからパケットを削除する場合、過去に挿入された無効パケットがあれば、その無効パケットが削除される。これにより、有効パケットの削除が防止され、有効パケットを削除する場合に比べて、音声及び映像の品質劣化を低減させることができる。
【００１４】
（３）前記バッファサイズ変更ステップは、前記揺らぎ吸収バッファにパケットを挿入する場合、連続する２つの有効パケットが存在すれば、これら２つの有効パケットの間に無効パケットを挿入することが好ましい。
【００１５】
この構成によれば、無効パケットは、２つの有効パケットの間に挟まれるため、この無効パケットに対してパケットロス隠蔽処理を実行した場合、前後の有効パケットから無効パケットが隠蔽できるため、音声及び映像の連続性が保たれ、音声及び映像を滑らかに再生することが出来る。
【００１６】
（４）前記バッファサイズ変更ステップにおいて、一度に挿入又は削除することができるパケット数の上限値が予め定められていることが好ましい。
【００１７】
この構成によれば、挿入される無効パケットの個数及びオーバーラップ加算されたパケットの個数数が上限値以内に収まり、音声及び映像の品質劣化を低減することができる。
【００１８】
（５）前記バッファサイズ変更ステップにより挿入された無効パケットに対してパケットロス隠蔽処理を実行する隠蔽処理ステップを更に備えることが好ましい。
【００１９】
この構成によれば、挿入された無効パケットに対してパケットロス隠蔽処理が実行されるため、音声劣化及び映像劣化を低減できる。
【００２０】
（６）前記バッファサイズ変更ステップは、無効パケットを削除した場合において、削除した無効パケットに対応する有効パケットを後から受信した場合、他に無効パケットが存在すれば、他の無効パケットと、受信した有効パケットとを入れ換えることが好ましい。
【００２１】
この構成によれば、無効パケットを挿入した後に、当該無効パケットに対応する有効パケットを受信した場合、当該有効パケットが復活されるため、音声及び映像の品質劣化を低減することができる。
【００２２】
（７）前記パケットは、音声パケットであり、前記バッファサイズ変更ステップは、母音の音声を格納する連続する２つのパケットの間に、無効パケットを挿入することが好ましい。
【００２３】
この構成によれば、無効パケットは、母音の音声を含む連続した２つパケットの間に挿入されるため、挿入した無効パケットに対してパケットロス隠蔽処理を実行することで生成された音声が前後のパケットに含まれる音声と連続的に繋げられ、音声の品質劣化を低減させることができる。
【発明の効果】
【００２４】
本発明によれば、音声及び映像の品質劣化が低減されるように、揺らぎ吸収バッファのサイズであるジッタバッファサイズを変更することができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施の形態による通話システムのネットワーク構成図を示している。
【図２】図１に示す受信装置のブロック図を示している。
【図３】図２に示すカウント部によるパケットカウント値の算出処理の説明図である。
【図４】揺らぎ吸収バッファの役割を説明するための図である。
【図５】伝送遅延と発生頻度との関係を示す伝送遅延特性のグラフの一例を示している。
【図６】揺らぎ吸収バッファの最適なバッファサイズを説明するための図である。
【図７】図１に示す受信装置の処理を示すフローチャートである。
【図８】パケットカウント値の算出処理の詳細を示すフローチャートである。
【図９】パケットカウント値と、パケットカウント値の算出時刻との関係を示したグラフである。
【図１０】（ａ）はバッファサイズ変更部によるパケット挿入時の処理を示した模式図であり、（ｂ）はバッファサイズ変更部によるパケット削除時の処理を示した模式図である。
【図１１】バッファサイズ変更部がオーバーラップ加算により１つのパケットを削除する処理の説明図である。
【図１２】バッファサイズ変更部が１つの無効パケットを削除する処理の説明図である。
【図１３】バッファサイズ変更部がオーバーラップ加算により１つのパケットを挿入する処理の説明図である。
【図１４】揺らぎ吸収バッファに５つのパケットを一度に挿入する場合の処理を説明するための図である。
【図１５】無効パケットを削除した後に、削除した無効パケットに対応する有効パケットを受信した場合の処理を説明する図である。
【図１６】バッファサイズ変更部が無効パケットに代えて隠蔽処理されたパケットを揺らぎ吸収バッファに挿入させる場合の処理を説明する図である。
【図１７】バッファサイズ変更部による削除処理を示したフローチャートである。
【図１８】バッファサイズ変更部による挿入処理を示したフローチャートである。
【発明を実施するための形態】
【００２６】
図１は、本発明の実施の形態による通話システムのネットワーク構成図を示している。図１に示す通話システムは、送信装置１及び受信装置２を備えている。送信装置１及び受信装置２は、ＩＰネットワークを介して接続されている。ここで、ＩＰネットワークは、インターネットプロトコル技術を利用して相互接続されたネットワークであり、ＴＣＰ（Transmission Control Protocol）／ＩＰ（Internet Protocol）の通信プロトコルを用いて、種々のデータが送受信される。
【００２７】
送信装置１は、例えば、ＶｏＩＰ（Voice over Internet Protocol）による通話機能を備える通信装置であり、SIP(Session Initiation Protocol)、Ｈ．３２３、ＩＰｖ４、又はＩＰｖ６等の通信プロトコルを用いて受信装置２との間で通信を行う。そして、送信装置１は、音声及び映像をストリーム伝送するための所定のプロトコルであるＲＴＰ（Real-time Transport Protocol）を用いて音声又は映像をパケット化し、受信装置２に送信する。
【００２８】
本実施の形態では、送信装置１は、音声信号をＲＴＰによりパケット化して、所定の第１の周期（例えば２０ｍｓｅｃ）で受信装置２に送信するものとする。よって、送信装置１が送信するパケットは、２０ｍｓｅｃのデジタルの音声信号を含む。なお、音声信号としては、例えば、ＰＣＭμ−Ｌａｗ等により８ｋＨｚのサンプリング周波数でサンプリングされた信号を採用することができる。なお、送信装置１は映像信号をパケット化してもよい。
【００２９】
受信装置２は、送信装置１と同一構成の通信装置から構成されている。なお、図１では、説明の便宜上、送信装置１及び受信装置２と記述しているが、両装置とも、相互にパケットを送受信することができる。
【００３０】
図２は、図１に示す受信装置２のブロック図を示している。受信装置２は、パケット送受信部２１、揺らぎ吸収バッファ２２、カウント部２３、バッファサイズ変更部２４、受信時刻記録部２５、基準値記憶部２６、隠蔽処理部２７、再生部２８、観測履歴保持部２９、スピーカ３０、表示部３１、マイク３３、及びパケット生成部３４を備えている。
【００３１】
パケット送受信部２１は、送信装置１から第１の周期で送信されるパケットを受信し、このパケットを揺らぎ吸収バッファ２２に蓄積する。このパケットは、上述したようにＲＴＰに準拠したパケットであるため、ＲＴＰヘッダを含んでいる。よって、パケット送受信部２１は、ＲＴＰヘッダに含まれるシーケンス番号に従って、受信したパケットを時系列順に揺らぎ吸収バッファ２２に蓄積させる。
【００３２】
なお、ＲＴＰヘッダには、シーケンス番号等が含まれている。シーケンス番号は、音声パケットの送信順序を示す。
【００３３】
また、パケット送受信部２１は、パケット生成部３４により生成されたパケットを第１の周期ＴａでＩＰネットワークに送信する。
【００３４】
また、パケット送受信部２１は、受信したパケットの受信時刻を受信時刻記録部２５に記録する。この場合、パケット送受信部２１は、受信したパケットのシーケンス番号を受信時刻と対応付けて受信時刻記録部２５に記録すればよい。
【００３５】
揺らぎ吸収バッファ２２は、例えばリングバッファにより構成され、パケット送受信部２１により受信されたパケットを時系列順で蓄積する。これにより、送信装置１から送信されたパケットの伝送遅延の揺らぎが吸収される。なお、揺らぎ吸収バッファ２２のサイズとしては、後述する基準値よりも大きなサイズが採用されている。
【００３６】
カウント部２３は、第１の周期以下の所定の第２の周期で、揺らぎ吸収バッファ２２に蓄積されている蓄積パケット数をカウントすることでパケットカウント値を算出し、算出したパケットカウント値を観測履歴保持部２９に保持させる。観測履歴保持部２９は、例えば、揮発性の記憶装置により構成され、カウント部２３により算出された過去Ｎ（Ｎは正の整数）回のパケットカウント値を保持する。
【００３７】
図３は、カウント部２３によるパケットカウント値の算出処理の説明図である。図３に示すように、カウント部２３は、第２の周期Ｔｂでパケットカウント値を算出している。
【００３８】
ここで、カウント部２３は、パケットカウント値の算出タイミングである算出時刻Ｔｋから、過去、第１の周期Ｔａ内に受信したパケットＰＳについては、カウント値をΔＴ／Ｔａにより得られる値に設定し、算出時刻Ｔｋから、過去、第１の周期Ｔａ以前に受信したパケットＰＬについては、カウント値を１に設定することでパケットカウント値を算出する。つまり、パケットＰＳのパケットカウント値は、受信時刻が算出時刻Ｔｋに近づくにつれて差分ΔＴが小さくなるため、値が小さくなる。
【００３９】
ここで、パケットＰＳについては、パケットカウント値を算出するにあたり受信時刻が用いられているため、受信時刻を保持しておく必要がある。一方、パケットＰＬについては、パケットカウント値を算出するにあたり、受信時刻が不要であるため、受信時刻を記録しておく必要はない。
【００４０】
そこで、カウント部２３は、パケットカウント値の算出処理が終了すると、算出時刻Ｔｋから、過去、第１の周期Ｔａと第２の周期Ｔｂとの差分（＝Ｔａ−Ｔｂ）以前に受信したパケットについては、受信時刻を受信時刻記録部２５から削除する。
【００４１】
これにより、パケットカウント値の次の算出時刻である時刻Ｔｋ＋１において、過去、第１の周期Ｔａに受信したパケットの受信時刻が受信時刻記録部２５に保持されている結果、カウント部２３は、時刻Ｔｋ＋１において、過去、第１の周期Ｔａに受信したパケットの受信時刻を取得することができる。こうすることで、受信時刻記録部２５の容量を節約することが可能となる。
【００４２】
バッファサイズ変更部２４は、カウント部２３により算出されたパケットカウント値の過去のＮ回のパケットカウント値を観測履歴保持部２９から読み出し、読み出したＮ回のパケットカウント値から、ｎ番目に小さいパケットカウント値をパケットカウント値の代表値として算出し、算出した代表値が所定の基準値より大きければ、揺らぎ吸収バッファ２２に蓄積されているパケットを削除し、代表値が基準値より小さければ、揺らぎ吸収バッファ２２にパケットを挿入する。
【００４３】
ここで、バッファサイズ変更部２４は、代表値が基準値より小さい場合は、代表値が、基準値以上かつ基準値＋１未満となるように、揺らぎ吸収バッファ２２にパケットを挿入すればよい。
【００４４】
例えば、代表値が２．１、基準値が４の場合、代表値が４．１となるように２つのパケットが揺らぎ吸収バッファ２２に挿入される。
【００４５】
また、バッファサイズ変更部２４は、代表値が基準値より大きい場合は、代表値が基準値以上かつ基準値＋１未満となるように、揺らぎ吸収バッファ２２からパケットを削除すればよい。
【００４６】
例えば、代表値が４．２、基準値が２の場合、代表値が２．２となるように２つのパケットが揺らぎ吸収バッファ２２から削除される。
【００４７】
なお、ｎとしては、Ｎ×αにより整数値に丸め込んだ値を採用することが好ましい。また、基準値としては、送信装置１と受信装置２とが双方向通信する場合において、通話システムが許容する通話遅延時間に基づいて予め定められた値が採用されている。つまり、揺らぎ吸収バッファ２２の蓄積パケット数が基準値よりも大きければ、揺らぎ吸収バッファ２２において、出力待ちのパケット数が増大するため、通話遅延が発生する。そこで、本通話システムでは、ｎ番目のパケットカウント値である代表値が基準値よりも大きい場合（具体的には基準値＋１よりも大きい場合）、揺らぎ吸収バッファ２２からパケットを削除している。これにより、通話遅延を防止することができる。
【００４８】
一方、ｎ番目のパケットカウント値である代表値が基準値よりも小さい場合は、揺らぎ吸収バッファ２２にパケットを挿入している。これにより、蓄積パケット数が基準値以下になる確率を、α（＝ｎ／Ｎ）％にすることができる。
【００４９】
受信時刻記録部２５は、例えば揮発性の記憶装置により構成され、パケット送受信部２１により受信されたパケットの受信時刻を記録する。基準値記憶部２６は、例えば不揮発性の記憶装置により構成され、基準値を記憶する。
【００５０】
隠蔽処理部２７は、揺らぎ吸収バッファ２２に挿入された無効パケットに対して、パケットロス隠蔽処理を行うと共に、揺らぎ吸収バッファ２２においてパケットが枯渇した場合にパケットロス隠蔽処理を行う。ここで、パケットロス隠蔽処理としては、例えば、無効パケットより過去の音声信号から音声信号の基本周期を検出し、無効パケットの直前の有効パケットの音声信号において、終端から基本周期分前の区間の音声波形を取り出し、この音声波形を２０ｍｓの期間、繰り返すことで得られる音声波形を無効パケットの音声信号として生成する手法を採用すればよい。
【００５１】
また、基本周期を検出する手法としては、現時点から過去に向けてある時間幅の音声信号を基準信号として設定し、基準信号を音声信号に対して現時点から過去に向けてスライドさせ、基準信号と音声信号との相関を求めることで基本周期を検出する手法であって、基準信号のスライド量が増大するにつれて、基準信号の時間幅を増大させる手法を採用すればよい。また、基本周期を検出する手法としては、上記の手法に代えて、特許第３２１９８６８号公報に記載された手法を採用してもよい。なお、無効パケットには音声信号が含まれていない。また、有効パケットには音声信号が含まれている。
【００５２】
再生部２８は、揺らぎ吸収バッファ２２の蓄積パケット数が基準値以上となった場合、揺らぎ吸収バッファ２２からパケットを第１の周期Ｔａで時系列順に読み出し、読み出したパケットから音声信号を取り出し、取り出した音声信号を逆符号化処理及びデジタルアナログ変換処理した後、スピーカ３０に出力する。ここで、再生部２８は、揺らぎ吸収バッファ２２から取り出したパケットが音声信号を含まない無効パケットである場合、隠蔽処理部２７にパケットロス隠蔽処理を実行させ、実行処理後の音声信号をスピーカ３０に出力する。
【００５３】
観測履歴保持部２９は、例えば不揮発性の記憶装置により構成され、カウント部２３により算出された過去Ｎ回のパケットカウント値を保持する。
【００５４】
スピーカ３０は再生部２８から出力される音声信号に従って、音声を出力する。表示部３１は、例えば液晶表示パネルにより構成され、再生部２８から出力される映像信号に従って、映像を表示する。
【００５５】
マイク３３は、通話者の音声を電気信号である音声信号に変換する。パケット生成部３４は、マイク３３から出力される音声信号を２０ｍｓ毎に分割し、分割した音声信号をＲＴＰに従ってパケット化してパケット送受信部２１に出力する。
【００５６】
図４は、揺らぎ吸収バッファ２２の役割を説明するための図である。図４に示すように、送信装置１は、音声信号ＶＳを符号化処理及びアナログデジタル変換処理した後、パケット化して、２０ｍｓの周期で送信する。図４では、１〜８の番号が付された８個のパケットが送信装置１から２０ｍｓの間隔で出力されていることが分かる。
【００５７】
送信装置１から送信されたパケットはＩＰネットワークを介して受信装置２で受信されることになるが、ＩＰネットワークを構成する各伝送路の特性の相違や、時々刻々変動するＩＰネットワークのトラフィック状況により、送信装置１から２０ｍｓの周期で送信されたパケットが受信装置２にまで到達するまでの時間である伝送遅延は、パケット毎に大きく相違し、伝送遅延揺らぎが発生する。よって、受信装置２によるパケットの受信間隔は不等間隔になる。
【００５８】
そこで、この遅延揺らぎを吸収するために、揺らぎ吸収バッファ２２が設けられている。図４においては、揺らぎ吸収バッファ２２のバッファサイズはパケット３個分とされている。また、受信装置２は、１番目のパケットを受信してから、遅延時間Ｔｄ経過した時刻Ｔ１において、１番目のパケットに復号化処理及びデジタルアナログ変換処理施して再生を開始している。
【００５９】
図４の場合、時刻Ｔ１から２０ｍｓ経過後の２番目のパケットの再生時刻である時刻Ｔ２において、揺らぎ吸収バッファ２２は、２番目のパケットを蓄積している。よって、受信装置２は、時刻Ｔ２において、２番目のパケットを再生することができる。
【００６０】
一方、３番目のパケットは、伝送遅延が極端に大きいため、時刻Ｔ３において、受信装置２に到達しておらず、揺らぎ吸収バッファ２２において、パケットの枯渇が生じている。そのため、受信装置２は、時刻Ｔ３において、３番目のパケットを再生することができず、音抜けが発生する。
【００６１】
また、３〜７番目のパケットは輻輳解消後に短時間で連続して受信装置２に到達しており、７番目のパケットが受信装置２に到達したとき、揺らぎ吸収バッファ２２には、５、６番目のパケットが存在するが、揺らぎ吸収バッファ２２に空きがあるため、７番目のパケットは破棄されず、揺らぎ吸収バッファ２２に格納される。よって、時刻Ｔ７において、７番目のパケットが再生される。
【００６２】
よって、時刻Ｔ７において、揺らぎ吸収バッファ２２に７番目のパケットが蓄積されていないため、音抜けが発生する。
【００６３】
このように、伝送遅延揺らぎの特性は動的に変化するため、揺らぎ吸収バッファ２２のバッファサイズを固定サイズにすると、想定される伝送遅延揺らぎよりも充分に長くせざるを得ない。また、揺らぎ吸収バッファ２２のバッファサイズを充分に長くし、かつ、遅延時間Ｔｄを充分に長くすれば、音抜けの発生は防止できるが、遅延時間Ｔｄが長いと、揺らぎ吸収バッファ２２において、出力待ちのパケットが増大し、通話遅延が発生してしまう。
【００６４】
図５は、伝送遅延と伝送遅延の発生頻度との関係を示す伝送遅延特性のグラフの一例を示している。なお、図５において、縦軸は、発生頻度を示し、横軸は伝送遅延を示している。また、図６は、揺らぎ吸収バッファ２２の最適なバッファサイズを説明するための図である。図５において、ｄｍｉｎは最小の伝送遅延を示し、ｄｍａｘは最大の伝送遅延を示している。図６では、ｋ−１番目のパケットの伝送遅延はｄｍｉｎであり、ｋ番目のパケットの伝送遅延はｄであり、ｋ＋１番目のパケットの伝送遅延はｄｍａｘである。
【００６５】
この場合、受信装置２による最適な出力の待ち時間は下記のようになる。ｉ）ｄｍａｘで届いたパケットは直ちに出力する。ｉｉ）ｄｍｉｎで届いたパケットは、ｄｍａｘ−ｄｍｉｎ待ってから出力する。ｉｉｉ）ｄで届いたパケットはｄｍａｘ−ｄ待ってから出力する。
【００６６】
よって、揺らぎ吸収バッファ２２におけるパケットの枯渇を回避するためには、揺らぎ吸収バッファ２２のバッファサイズｂｕｆをｂｕｆ≧ｄｍａｘ−ｄｍｉｎとすればよいが、伝送遅延特性のｄｍａｘが極端に大きくなると、つまり、図５のグラフの右端の尾が極端に長くなると、バッファサイズｂｕｆの値が大きくなってしまう。
【００６７】
また、図５のグラフに示すように、伝送遅延が増大するにつれて発生頻度が低下しているため、真のｄｍａｘを観測するには、膨大な数のパケットの伝送遅延を観測する必要がある。
【００６８】
そのため、図５のグラフでは、真のｄｍａｘではなく、伝送特性の分布の上位数％を切り捨てる値がｄｍａｘとみなされている。この場合、ｄｍａｘ以上の伝送遅延が発生するとパケットの枯渇が発生する。
【００６９】
したがって、パケットの枯渇を防止するためにはバッファサイズｂｕｆをｄｍａｘより大きく設定することが好ましいが、そうると、ｄｍａｘが大きい場合、揺らぎ吸収バッファ２２において、出力待ちの待ちパケットが増大する結果、出力遅延が生じてしまう。このような出力遅延は、ＩＰ電話では通話遅延となって現れるため、極力低く抑える方が好ましい。そこで、本通話システムでは、上述の処理を実行することで、パケットの枯渇を防止すると同時に、通話遅延の防止を図っているのである。
【００７０】
図７は、図１に示す受信装置２の処理を示すフローチャートである。なお、図２に示す送信装置１は、受信装置２に対して第１の周期Ｔａでパケットを送信しているものとする。まず、ステップＳ１において、カウント部２３は、前回、パケットカウント値の算出タイミングを算出してから、第２の周期Ｔｂが経過して、パケットカウント値の算出タイミングとなったか否かを判定する。そして、カウント部２３は、パケットカウント値の算出タイミングになったと判定すると（ステップＳ１でＹＥＳ）、現在、揺らぎ吸収バッファ２２に蓄積されているパケット数である蓄積パケット数をカウントする（ステップＳ２）。一方、カウント部２３は、パケットカウント値の算出タイミングになっていないと判定すると（ステップＳ１でＮＯ）、処理をステップＳ１に戻す。
【００７１】
次に、カウント部２３は、パケットカウント値の算出処理を実行して、パケットカウント値を算出する（ステップＳ３）。
【００７２】
図８は、パケットカウント値の算出処理の詳細を示すフローチャートである。まず、カウント部２３は、現在時刻をパケットカウント値の算出時刻として特定する（ステップＳ２１）。ここで、受信装置２は時計を有しているため、この時計を用いて算出時刻が特定される。
【００７３】
次に、カウント部２３は、揺らぎ吸収バッファ２２に蓄積されているパケットのうち、図３に示すように算出時刻Ｔｋから、過去、第１の周期Ｔａ内に受信された各パケットの受信時刻を特定する（ステップＳ２２）。この場合、カウント部２３は、受信時刻記録部２５に記録された受信時刻に対応付けられたシーケンス番号を特定することで、各パケットの受信時刻を特定する。
【００７４】
次に、カウント部２３は、算出時刻Ｔｋから、過去、第１の周期Ｔａ内に受信された各パケットについて、算出時刻Ｔｋと受信時刻との差分ΔＴを算出する（ステップＳ２３）。次に、カウント部２３は、過去、第１の周期Ｔａ内に受信された各パケットについて、ΔＴ／Ｔａを算出し、このΔＴ／Ｔａを、各パケットのカウント値として設定する（ステップＳ２４）。
【００７５】
次に、カウント部２３は、揺らぎ吸収バッファ２２に蓄積されているパケットのうち、算出時刻Ｔｋから、過去、第１の周期Ｔａ以前に受信されたパケットについては、カウント値を１として設定する（ステップＳ２５）。
【００７６】
次に、カウント部２３は、ステップＳ２４，Ｓ２５で設定したカウント値を用いて、揺らぎ吸収バッファ２２の蓄積パケット数をカウントすることで、パケットカウント値を算出する（ステップＳ２６）。例えば、算出時刻Ｔｋから、過去、第１の周期Ｔａ以前に受信されたパケット数が１個、算出時刻Ｔｋから、過去、第１の周期Ｔａ内に受信されたパケット数が２個であり、この２個のパケットの受信時刻がＴｉ、Ｔｊとすると、パケットカウント値は、１＋（Ｔｋ−Ｔｉ）／Ｔａ＋（Ｔｋ−Ｔｊ）／Ｔａとなる。
【００７７】
次に、カウント部２３は、算出時刻Ｔｋから、過去、Ｔａ−Ｔｂ以前に受信したパケットについては、受信時刻記録部２５から受信時刻を削除する（ステップＳ２７）。
【００７８】
図７に戻り、ステップＳ４において、カウント部２３は、算出時刻Ｔｋにおけるパケットカウント値を観測履歴保持部２９に保持させる。この場合、カウント部２３は、観測履歴保持部２９に保持されているパケットカウント値の個数がＮ個となるように、最古のパケットカウント値を観測履歴保持部２９から削除する。
【００７９】
次に、バッファサイズ変更部２４は、観測履歴保持部２９に記憶されているＮ個のパケットカウント値のうち、ｎ番目に小さいパケットカウント値を代表値として特定する（ステップＳ５）。
【００８０】
図９は、パケットカウント値と、パケットカウント値の算出時刻との関係を示した模式図であり、縦軸がパケットカウント値を示し、横軸がパケットカウント値の算出時刻を示している。図９では、Ｎ＝９、ｎ＝３とされている。したがって、バッファサイズ変更部２４は、図９で示す左端から２番目の時刻Ｔｋ−７のパケットカウント値が、３番目に小さいため、時刻Ｔｋ−７のパケットカウント値を代表値として特定する。
【００８１】
次に、バッファサイズ変更部２４は、代表値が基準値より大きいか否かを判定し、代表値≧基準値＋１の場合（ステップＳ６でＹＥＳ）、代表値が基準値以上かつ基準値＋１未満となる個数のパケットを揺らぎ吸収バッファ２２から削除する（ステップＳ７）。
【００８２】
次に、バッファサイズ変更部２４は、観測履歴保持部２９に保持されているＮ個のパケットカウント値のそれぞれから、ステップＳ７で削除したパケット数を差し引き、Ｎ個のパケットカウント値を更新し、観測履歴を更新する（ステップＳ８）。例えば、削除したパケット数が１個であるとすると、Ｎ個のパケットカウント値の全てから１が減算される。これにより、揺らぎ吸収バッファ２２からパケットを削除した事実が観測履歴に反映される。
【００８３】
一方、ステップＳ６において、代表値が基準値＋１未満であり（ステップＳ６でＮＯ）、かつ、代表値が基準値以上（ステップＳ９でＮＯ）の場合、バッファサイズ変更部２４は、揺らぎ吸収バッファ２２に対してパケットの削除及び挿入を行わない（ステップＳ１０）。
【００８４】
一方、代表値＜基準値の場合（ステップＳ９でＹＥＳ）、バッファサイズ変更部２４は、代表値が基準値以上かつ基準値＋１未満となる個数のパケットを揺らぎ吸収バッファ２２に挿入する（ステップＳ１１）。
【００８５】
次に、バッファサイズ変更部２４は、観測履歴保持部２９に保持されているＮ個のパケットカウント値のそれぞれに対し、ステップＳ１１で挿入したパケット数を加算し、Ｎ個のパケットカウント値を更新し、観測履歴を更新する（ステップＳ１２）。例えば、挿入したパケット数が１個であるとすると、Ｎ個のパケットカウント値の全てに１が加算される。これにより、揺らぎ吸収バッファ２２にパケットを挿入した事実が観測履歴に反映される。
【００８６】
そして、ステップＳ８、Ｓ１０、又はＳ１２の処理が終了されると、処理がステップＳ１に戻され、次のパケットカウント値の算出時刻が到来すると、ステップＳ２以降の処理が実行される。
【００８７】
図１０（ａ）はバッファサイズ変更部２４によるパケット挿入時の処理を示した模式図であり、図１０（ｂ）はバッファサイズ変更部２４によるパケット削除時の処理を示した模式図である。図１０（ａ）の例では、バッファサイズ変更部２４は、有効パケットである４番目のパケットと５番目のパケットとの間に無効パケットを挿入している。図１０（ｂ）の例では、バッファサイズ変更部２４は、有効パケットである４番目のパケットと５番目のパケットとをオーバーラップ加算して２つのパケット長を１つのパケット長にすることで、１つのパケットを削除している。
【００８８】
次に、揺らぎ吸収バッファ２２にパケットを挿入又は削除を行う処理を具体的に説明する。図２に示すバッファサイズ変更部２４は、揺らぎ吸収バッファ２２から１つのパケットを削除する場合、音声信号又は映像信号を含む有効パケットが連続して２つ以上存在すれば、これら連続する有効パケットのうち、中間に位置する連続する２つの有効パケットをオーバーラップ加算して削除する。
【００８９】
図１１は、バッファサイズ変更部２４がオーバーラップ加算により１つのパケットを削除する処理の説明図であり、（ａ）は削除前の揺らぎ吸収バッファ２２を示し、（ｂ）は削除後の揺らぎ吸収バッファ２２を示している。
【００９０】
図１１に示すリードポインタＲＰは、リングバッファ構造を有する揺らぎ吸収バッファ２２の開始アドレスを示し、ライトポインタＷＰは、揺らぎ吸収バッファ２２の終了アドレスを示している。また、図１１において、各升は１つのパケットを示しており、升内の数字はパケットの時系列の順序を示している。また、内部が白色の升は無効パケットを示し、内部がグレーの升は有効パケットを示している。
【００９１】
図１１（ａ）の場合、１番目〜２番目の有効パケットの区間ではなく、４番目〜７番目の有効パケットの区間に位置する５番目と６番目との有効パケットが、図１１（ｂ）に示すようにオーバーラップ加算により１つのパケットに纏められ、１つのパケットが削除されている。
【００９２】
ここで、図１１（ａ）に示す１番目〜２番目の有効パケットの区間でオーバーラップ加算を行うと、オーバーラップ加算により生成された１つのパケットの次に無効パケットが存在することになるため、パケットロス隠蔽処理を行った場合の音声劣化が大きくなる可能性がある。一方、５番目の有効パケットと６番目の有効パケットとをオーバーラップ加算すると、オーバーラップ加算により生成された１つのパケットの前後のパケットは有効パケットであるため、パケットロス隠蔽処理による音声劣化を小さくすることができる。
【００９３】
つまり、有効パケットが２つ以上連続していれば、オーバーラップ加算により１つのパケットを削除することができるが、有効パケットの連続数が多い区間でオーバーラップ加算した方がパケットロス隠蔽処理を行ったときの音声劣化を少なくすることができる。
【００９４】
よって、揺らぎ吸収バッファ２２において、有効パケットが連続する区間が複数存在する場合、有効パケットの連続数が多い区間の中間の有効パケットを用いてオーバーラップ加算を行うようにしている。
【００９５】
ここで、オーバーラップ加算としては、図１１（ｃ）に示すように、三角窓関数ＲＦ１，ＲＦ２を用いたオーバーラップ加算を採用することができる。具体的には、バッファサイズ変更部２４は、５番目のパケットの音声信号に対して、三角窓関数ＲＦ１を用いた窓関数処理を行い、６番目のパケットの音声信号に対しては、三角窓関数ＲＦ２を用いた窓関数処理を行い、窓関数処理後の両音声信号を加算して１つの音声信号を生成し、これを１つにパケット化することで、オーバーラップ加算を行えばよい。
【００９６】
ここで、三角窓関数ＲＦ１としては、時間幅が２０ｍｓ、最大値が１、最小値が０であり、時間が経過するにつれて値が減少する一次関数を採用することができる。また、三角窓関数ＲＦ２としては、時間幅が２０ｍｓ、最大値が１、最小値が０であり、時間が経過するにつれて値が増大する一次関数を採用することができる。
【００９７】
また、バッファサイズ変更部２４は、揺らぎ吸収バッファ２２からパケットを削除する場合、過去に挿入した無効パケットがあれば、当該無効パケットを削除する。
【００９８】
図１２は、バッファサイズ変更部２４が１つの無効パケットを削除する処理の説明図であり、（ａ）は削除前の揺らぎ吸収バッファ２２を示し、（ｂ）は削除後の揺らぎ吸収バッファ２２を示している。
【００９９】
図１２（ａ）においては、３番目と４番目とのパケットが無効パケットである。そのため、バッファサイズ変更部２４は、３番目又は４番目のパケットのいずれかを削除することで、１つのパケットを削除する。ここで、揺らぎ吸収バッファ２２に複数の無効パケットが存在する場合は、例えば、ランダムに１つの無効パケットを選択し、選択した無効パケットを削除するようにしてもよい。或いは、バッファサイズ変更部２４は、無効パケットが２つ以上連続して存在する場合は、連続している領域の無効パケットを優先して抽出し、抽出した無効パケットのうち、ランダムに１つの無効パケットを選択して削除するようにしてもよい。
【０１００】
また、バッファサイズ変更部２４は、揺らぎ吸収バッファ２２にパケットを挿入する場合、連続する２つの有効パケットが存在すれば、これら２つの有効パケットの間に無効パケットを挿入する。
【０１０１】
図１３は、バッファサイズ変更部２４が１つのパケットを挿入する処理の説明図であり、（ａ）は挿入前の揺らぎ吸収バッファ２２を示し、（ｂ）は挿入後の揺らぎ吸収バッファ２２を示している。
【０１０２】
図１３（ａ）、（ｂ）に示すように、５番目の有効パケットと６番目の有効パケットとの間に１つの無効パケットが挿入されている。これは、５番目の有効パケットと６番目の有効パケットとの間に１つの無効パケットを挿入するのが、連続する有効パケットの個数がより多くなるためである。
【０１０３】
例えば、１番目の有効パケットと２番目の有効パケットとの間に無効パケットを挿入したとしても、挿入した無効パケットの前後に有効パケットが存在するため、パケット隠蔽処理を行うことは可能である。
【０１０４】
しかしながら、２番目の有効パケットの前後が無効パケットとなってしまうため、有効パケットの連続数が小さくなってしまう。一方、５番目の有効パケットと６番目の有効パケットとの間に、無効パケットを挿入すると、全ての有効パケットが連続することになる。ここで、パケットロス隠蔽処理を行う場合、有効パケットの連続数が多い方が音声劣化を小さくすることができる。そこで、バッファサイズ変更部２４は、揺らぎ吸収バッファ２２において有効パケットが連続する区間が複数存在する場合、有効パケットの連続数が多い区間の中間に無効パケットを挿入している。
【０１０５】
また、バッファサイズ変更部２４は、一度に挿入又は削除することができるパケット数の上限値が予め定められている。
【０１０６】
図１４は、揺らぎ吸収バッファ２２に５つのパケットを一度に挿入する場合の処理を説明するための図であり、（ａ）は挿入前の揺らぎ吸収バッファ２２を示し、（ｂ）は挿入後の揺らぎ吸収バッファ２２を示している。図１４（ａ）、（ｂ）においては、１番目の有効パケットと２番目の有効パケットとの間に５つの無効パケットが挿入されている。この場合、無効パケットが連続して存在しているため、音声劣化が増大する虞がある。そこで、本実施の形態では、無効パケットの挿入個数に上限値が設けられている。ここで、「１度に」とは、上述した第２の周期Ｔｂが到達した時に実行される１回の処理を指している。
【０１０７】
例えば、図１４（ａ）において、上限値＝３に設定されていたとすると、５つの無効パケットを挿入する必要がある場合であっても、３個の無効パケットしか挿入されなくなる。
【０１０８】
これにより、無効パケットの連続数が一定個数以上になることが防止され、パケットロス隠蔽処理による音声劣化を小さくすることができる。
【０１０９】
また、バッファサイズ変更部２４は、無効パケットを削除した場合において、削除した無効パケットに対応する有効パケットを後から受信した場合、削除した無効パケットの他に無効パケットが存在すれば、他の無効パケットと受信した有効パケットとを入れ換える。
【０１１０】
図１５は、無効パケットを削除した後に、削除した無効パケットに対応する有効パケットを受信した場合の処理を説明する図であり、（ａ）は削除前の揺らぎ吸収バッファ２２を示し、（ｂ）は削除後の揺らぎ吸収バッファ２２を示し、（ｃ）は入れ換え後の揺らぎ吸収バッファ２２を示している。
【０１１１】
図１５（ａ）、（ｂ）に示すように３番目の無効パケットが削除されている。その後、図１５（ｃ）に示すように３番目の無効パケットに対応する３番目の有効パケットが受信されている。
【０１１２】
この場合、バッファサイズ変更部２４は、３番目の無効パケットの次の４番目のパケットが無効パケットであるため、この４番目の無効パケットを受信した３番目の有効パケットに入れ換える。これにより、３番目の有効パケットを復活させることができ、音声劣化を低減させることができる。
【０１１３】
ここで、バッファサイズ変更部２４は、揺らぎ吸収バッファ２２にパケットが蓄積されると蓄積されたパケットに対応する無効パケットが揺らぎ吸収バッファ２２に蓄積されているか否かを判定する。そして、バッファサイズ変更部２４は、対応する無効パケットが揺らぎ吸収バッファ２２に蓄積されている場合は、当該無効パケットの次に無効パケットが格納されているか否かを判定し、無効パケットが格納されている場合は、次の無効パケットを削除し、削除した箇所に受信した有効パケットを挿入することで、次の無効パケットと受信した有効パケットとを入れ換えればよい。
【０１１４】
一方、バッファサイズ変更部２４は、揺らぎ吸収バッファ２２に蓄積されたパケットに対応する無効パケットが揺らぎ吸収バッファ２２に蓄積されていない場合、或いは、対応する無効パケットの次に無効パケットが格納されていない場合、上記の入れ換えを行わない。なお、バッファサイズ変更部２４は、無効パケットのシーケンス番号と同じシーケンス番号を有するパケットが揺らぎ吸収バッファ２２に蓄積された場合、無効パケットに対応する有効パケットが受信されたと判断すればよい。
【０１１５】
また、バッファサイズ変更部２４は、連続する２つの有効パケットの間にパケットを挿入する場合、隠蔽処理部２７に対して、前に位置する有効パケットを用いてパケットロス隠蔽処理を実行させ、隠蔽処理されたパケットを生成させ、このパケットを揺らぎ吸収バッファ２２に挿入するようにしてもよい。
【０１１６】
図１６は、バッファサイズ変更部２４が無効パケットに代えて隠蔽処理されたパケットを揺らぎ吸収バッファ２２に挿入させる場合の処理を説明する図であり、（ａ）は挿入前の揺らぎ吸収バッファ２２を示し、（ｂ）は挿入後の揺らぎ吸収バッファ２２を示している。
【０１１７】
図１６（ａ）、（ｂ）に示すように、３番目の有効パケットと４番目の有効パケットとの間に隠蔽処理されたパケットが挿入されている。
【０１１８】
これにより、再生部２８が揺らぎ吸収バッファ２２からパケットを読み出す際に、パケットロス隠蔽処理を実行する必要がなくなり、再生時におけるパケットロス隠蔽処理の処理遅延を低減することができる。
【０１１９】
なお、バッファサイズ変更部２４は、無効パケットを挿入する場合、母音の音声を含む連続する２つのパケットの間に、無効パケットを挿入することが好ましい。これにより、挿入した無効パケットに対してパケットロス隠蔽処理を実行することで生成された音声が、前後のパケットに含まれる音声と連続的に繋げられ、音声劣化を低減させることができる。
【０１２０】
図１７は、バッファサイズ変更部２４による削除処理を示したフローチャートである。
【０１２１】
まず、ステップＳ５１において、バッファサイズ変更部２４は、パケットの削除要求数が予め定められたパケット最大削除数（上限値）以下であるか否かを判定し、削除要求数が上限値以下である場合（ステップＳ５１でＹＥＳ）、削除カウント値ＤＮを削除要求数に設定する（ステップＳ５２）。一方、削除要求数が上限値より大きい場合（ステップＳ５１でＮＯ）、削除カウント値ＤＮを上限値に設定する（ステップＳ５３）。
【０１２２】
次に、バッファサイズ変更部２４は、揺らぎ吸収バッファ２２において、連続する有効パケットの最大連続数が２以上の場合（ステップＳ５４で２以上）、最大連続数が削除カウント値ＤＮの２倍以上であるか否かを判定する（ステップＳ５５）。ここで、最大連続数が削除カウント値ＤＮの２倍であるか否かを判定するのは、１つのパケットを削除する場合は、２つのパケットがオーバーラップ加算されるため、有効パケットが削除カウント値ＤＮの２倍必要になるからである。
【０１２３】
そして、バッファサイズ変更部２４は、最大連続数が削除カウント値ＤＮの２倍以上であると判定すると（ステップＳ５５でＹＥＳ）、オーバーラップ加算により削除カウント値ＤＮ分のパケットを削除し、削除カウント値ＤＮから削除したパケット数を減じ、削除カウント値ＤＮを更新する（ステップＳ５８）。
【０１２４】
一方、ステップＳ５５において、最大連続数が削除カウント値ＤＮの２倍未満である場合（ステップＳ５５でＮＯ）、バッファサイズ変更部２４は、削除可能なパケットをオーバーラップ加算によって削除し、削除カウント値ＤＮから削除したパケット数を減じ、削除カウント値ＤＮを更新し（ステップＳ５６）、処理をステップＳ５４に戻す。
【０１２５】
例えば、最大連続数が７、削除カウント値ＤＮ（＝４）×２が８の場合、連続する７個の有効パケットのうち、６個の有効パケットを２個ずつオーバーラップ加算して、３個のパケットを削除する。そして、削除カウント値ＤＮを、ＤＮ＝１（＝４−３）に更新する。
【０１２６】
一方、ステップＳ５４において、連続する有効パケットの最大連続数が１以下である場合（ステップＳ５４で１以下）、無効パケットを削除し、削除カウント値ＤＮから削除したパケット数を減じ、削除カウント値ＤＮを更新する（ステップＳ５７）。
【０１２７】
例えば、削除カウント値ＤＮが４、無効パケットの個数が３とすると、３個の無効パケットが削除され、ＤＮ＝１（＝４−３）に更新される。
【０１２８】
ステップＳ５９において、バッファサイズ変更部２４は、削除カウント値ＤＮが０となったか否かを判定し、削除カウント値ＤＮが０である場合（ステップＳ５９でＹＥＳ）、処理を終了する。
【０１２９】
一方、ステップＳ５９において、バッファサイズ変更部２４は、削除カウント値ＤＮが０になっていない場合（ステップＳ５９でＮＯ）、有効パケットがあれば（ステップＳ６０でＹＥＳ）、有効パケットを削除して処理を終了する（ステップＳ６１）。この場合、削除される有効パケットは他の有効パケットと連続していないため、オーバーラップ加算によらず、単純に削除される。一方、有効パケットが無ければ（ステップＳ６０でＮＯ）、そのまま処理が終了される。
【０１３０】
図１８は、バッファサイズ変更部２４による挿入処理を示したフローチャートである。
【０１３１】
まず、ステップＳ７１において、バッファサイズ変更部２４は、パケットの挿入要求数が予め定められたパケット最大挿入数（上限値）以下であるか否かを判定し、削除要求数が最大挿入数以下である場合（ステップＳ７１でＹＥＳ）、挿入数を挿入要求数に設定する（ステップＳ７２）。一方、挿入要求数が最大挿入数より大きい場合（ステップＳ７１でＮＯ）、挿入数を最大挿入数に設定する（ステップＳ７３）。
【０１３２】
次に、バッファサイズ変更部２４は、揺らぎ吸収バッファ２２において、連続する有効パケットの最大連続数が０の場合（ステップＳ７４で０）、揺らぎ吸収バッファ２２の先頭から挿入数分の無効パケットを挿入し（ステップＳ７５）、処理を終了する。
【０１３３】
また、バッファサイズ変更部２４は、揺らぎ吸収バッファ２２において、連続する有効パケットの最大連続数が２以上の場合（ステップＳ７４で２以上）、連続する有効パケットの区間の真ん中に挿入数分、無効パケットを挿入し（ステップＳ７６）、処理を終了する。
【０１３４】
また、バッファサイズ変更部２４は、揺らぎ吸収バッファ２２において、連続する有効パケットの最大連続数が１の場合（ステップＳ７４で１）、有効パケットの直後に挿入数分、無効パケットを挿入し（ステップＳ７７）、処理を終了する。
【０１３５】
このように、本実施の形態による通話システムによれば、揺らぎ吸収バッファから１つのパケットを削除する場合、有効パケットが２つ以上連続する区間の真ん中に位置する２つのパケットをオーバーラップ加算して１つのパケットを生成することにより１つのパケットを削除しているため、音声及び映像の品質劣化を低減させることができる。
【０１３６】
また、揺らぎ吸収バッファ２２にパケットを挿入する場合、連続する２つの有効パケットが存在すれば、これら２つの有効パケットの間に無効パケットが挿入されるため、無効パケットは、２つの有効パケットの間に挟まれることになり、この無効パケットに対してパケットロス隠蔽処理を実行した場合、前後の有効パケットから無効パケットが隠蔽でき、音声及び映像の連続性が保たれ、音声及び映像を滑らかに再生することが出来る。
【符号の説明】
【０１３７】
１  送信装置
２  受信装置
２１  パケット送受信部
２２  揺らぎ吸収バッファ
２３  カウント部
２４  バッファサイズ変更部
２５  受信時刻記録部
２６  基準値記憶部
２７  隠蔽処理部
２８  再生部
２９  観測履歴保持部
３０  スピーカ
３１  表示部
３３  マイク
３４  パケット生成部
【図１】
2011082708.tif 000003
【図２】
2011082708.tif 000004
【図３】
2011082708.tif 000005
【図４】
2011082708.tif 000006
【図５】
2011082708.tif 000007
【図６】
2011082708.tif 000008
【図７】
2011082708.tif 000009
【図８】
2011082708.tif 000010
【図９】
2011082708.tif 000011
【図１０】
2011082708.tif 000012
【図１１】
2011082708.tif 000013
【図１２】
2011082708.tif 000014
【図１３】
2011082708.tif 000015
【図１４】
2011082708.tif 000016
【図１５】
2011082708.tif 000017
【図１６】
2011082708.tif 000018
【図１７】
2011082708.tif 000019
【図１８】
2011082708.tif 000020