(57)【要約】【課題】スパイク遅延の発生を予測することができる遅延予測器、遅延予測方法および遅延予測プログラムを提供する。また、ＶｏＩＰ等における音声品質を向上することができる通信装置、通信方法および通信プログラムを提供する。【解決手段】通信データの遅延量の時系列データによって示される遅延量のジッタから、通信リソースのスケジューリングによって発生するスケジューリングジッタを除去するスケジューリングジッタ除去部２０１と、スケジューリングジッタが除去された遅延量のジッタをもとに、通信データの遅延量が突発的に増加する現象であるスパイク遅延の発生を予測する予測部２０２とを備える。【選択図】図９
2015076846.tif 000002
【特許請求の範囲】
【請求項１】
通信データの遅延量の時系列データによって示される前記遅延量のジッタから、通信リソースのスケジューリングによって発生するスケジューリングジッタを除去するスケジューリングジッタ除去部と、
スケジューリングジッタが除去された前記遅延量のジッタをもとに、通信データの遅延量が突発的に増加する現象であるスパイク遅延の発生を予測する予測部とを備える
ことを特徴とする遅延予測器。
【請求項２】
スケジューリングジッタ除去部は、通信データの遅延量の時系列データによって示される前記遅延量のジッタから周期性を除去することにより、スケジューリングジッタを除去する
請求項１に記載の遅延予測器。
【請求項３】
スケジューリングジッタ除去部は、通信データの遅延量の時系列データによって示される前記遅延量のジッタから周期性が除去されるように、当該時系列データからデータをサンプリングし、
予測部は、サンプリングされたデータ列によって示される前記遅延量のジッタを算出し、算出したジッタをもとにスパイク遅延の発生を予測する
請求項１または請求項２に記載の遅延予測器。
【請求項４】
予測部は、スケジューリングジッタが除去された遅延量のジッタの大きさに基づいてスパイク遅延が発生する頻度を求める
請求項１から請求項３のうちのいずれか１項に記載の遅延予測器。
【請求項５】
予測部は、スケジューリングジッタが除去された遅延量のジッタの大きさが予め定められたしきい値以上である場合には、スパイク遅延が発生する頻度が高いと予測し、前記しきい値未満である場合にはスパイク遅延が発生する頻度が低いと予測する
請求項４に記載の遅延予測器。
【請求項６】
予測部は、スケジューリングジッタが除去された遅延量のジッタの大きさに基づいて、現在から所定期間が経過するまでの間にスパイク遅延が発生する確率を求める
請求項１から請求項３のうちのいずれか１項に記載の遅延予測器。
【請求項７】
通信データの遅延量の時系列データによって示される前記遅延量のジッタから、通信リソースのスケジューリングによって発生するスケジューリングジッタを除去するスケジューリングジッタ除去部と、
スケジューリングジッタが除去された前記遅延量のジッタをもとに、通信データの遅延量が突発的に増加する現象であるスパイク遅延の発生を予測する予測部と、
前記予測部の予測結果をもとに、通信データから取得したデータを格納するバッファのバッファ長を制御するバッファ長制御部とを備える
ことを特徴とする通信装置。
【請求項８】
予測部は、スケジューリングジッタが除去された遅延量のジッタに基づいてスパイク遅延が発生する頻度を求め、
バッファ長制御部は、スパイク遅延が発生する頻度が高い場合には、バッファ長をスパイク遅延の遅延量よりも大きい値に設定し、スパイク遅延が発生する頻度が低い場合には、前記バッファ長をスパイク遅延の遅延量よりも小さい値に設定する
請求項７に記載の通信装置。
【請求項９】
予測部は、スケジューリングジッタが除去された遅延量のジッタに基づいて、現在から所定期間が経過するまでの間にスパイク遅延が発生する確率を求め、
バッファ長制御部は、スパイク遅延が発生する確率が予め定められたしきい値以上である場合には、バッファ長をスパイク遅延の遅延量よりも大きい値に設定し、前記しきい値未満である場合には、前記バッファ長をスパイク遅延の遅延量よりも小さい値に設定する
請求項７に記載の通信装置。
【請求項１０】
通信データが、音声データを含む音声パケットである
請求項７から請求項９のうちのいずれか１項に記載の通信装置。
【請求項１１】
通信データの遅延量の時系列データによって示される前記遅延量のジッタから、通信リソースのスケジューリングによって発生するスケジューリングジッタを除去し、
スケジューリングジッタが除去された前記遅延量のジッタをもとに、通信データの遅延量が突発的に増加する現象であるスパイク遅延の発生を予測する
ことを特徴とする遅延予測方法。
【請求項１２】
通信データの遅延量の時系列データによって示される前記遅延量のジッタから、通信リソースのスケジューリングによって発生するスケジューリングジッタを除去し、
スケジューリングジッタが除去された前記遅延量のジッタをもとに、通信データの遅延量が突発的に増加する現象であるスパイク遅延の発生を予測し、
前記予測結果をもとに、通信データから取得したデータを格納するバッファのバッファ長を制御する
ことを特徴とする通信方法。
【請求項１３】
コンピュータに、
通信データの遅延量の時系列データによって示される前記遅延量のジッタから、通信リソースのスケジューリングによって発生するスケジューリングジッタを除去する処理と、
スケジューリングジッタが除去された前記遅延量のジッタをもとに、通信データの遅延量が突発的に増加する現象であるスパイク遅延の発生を予測する処理とを実行させる
ための遅延予測プログラム。
【請求項１４】
コンピュータに、
通信データの遅延量の時系列データによって示される前記遅延量のジッタから、通信リソースのスケジューリングによって発生するスケジューリングジッタを除去する処理と、
スケジューリングジッタが除去された前記遅延量のジッタをもとに、通信データの遅延量が突発的に増加する現象であるスパイク遅延の発生を予測する処理と、
前記予測結果をもとに、通信データから取得したデータを格納するバッファのバッファ長を制御する処理とを実行させる
ための通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット通信、特にモバイルネットワークにおけるパケット通信に適用する遅延予測器、通信装置、遅延予測方法、通信方法、遅延予測プログラムおよび通信プログラムに関する。
【背景技術】
【０００２】
従来、音声通話は、通話する端末間に伝送路を設定して回線を占有する回線交換方式で行われていた。しかし、パケット通信網の高帯域化・高品質化によって、パケット通信網で行うＶｏＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  ＩＰ）が一般的になっている。第３．９世代の携帯電話の規格であるＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）においても、音声通話にパケット通信方式であるＶｏＬＴＥ（Ｖｏｉｃｅ  ｏｖｅｒ  ＬＴＥ）が採用された。
【０００３】
パケット通信網では、送信端末から一定間隔で音声データを含むパケット（音声パケット）を送信しても、ネットワークの輻輳などによって受信端末での受信間隔が一定にならず、パケットの遅延量に揺らぎ（ジッタ）が発生する。ＶｏＩＰでは、パケット到着が遅延すると、再生する音声データが枯渇して音切れが発生してしまう。このような音切れを防止するため、ＶｏＩＰを用いて受信した音声データを再生する装置（音声再生装置）などでは、受信した音声データを一時的にバッファリングしてから再生する方法がとられている。このとき使用されるバッファを「ジッタバッファ」という。ジッタバッファの長さを大きくするほど音切れが発生しにくくなるが、音声再生までの遅延が増加する。一方で、ジッタバッファの長さを小さくすると音声再生までの遅延は低減するが、バッファの長さを超えてパケット遅延が発生すると音切れが発生する。そのため、ＶｏＩＰなどでは、音声品質を低下させないためには、音声遅延と音切れの両方を勘案して、ジッタバッファの長さを適切な長さに設定することが重要である。
【０００４】
特許文献１には、ジッタバッファの長さを適応的に制御する方法の一例が記載されている。特許文献１に記載された方法では、適応デジッタバッファ（上記「ジッタバッファ」と同義）と、時間伸縮コントローラを有する復号器とを備える受信機が、ジッタバッファのアンダーフロー率やパケットの遅延量などの情報からジッタバッファの長さの目標値を設定し、目標値に近づくようにジッタバッファの長さを制御する。
【０００５】
特許文献２には、音声パケットの到着間隔を監視し、その到着間隔と到着予測時間との差から音声パケットのジッタを推測し、ジッタバッファのしきい値を自動的に制御する方法が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−１３６３４６号公報
【特許文献２】特開２００３−８７３１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１および特許文献２に記載された方法は、モバイルネットワークのように、周囲の端末の通信や端末の移動などによる無線品質の変動によって変動することによって突発的にパケットの遅延量が増加する環境では、ジッタバッファの長さを適切に制御できないという問題がある。
【０００８】
図１１は、パケットの遅延量が突発的に増加する様子を示すグラフの一例である。具体的には、図１１は、ＬＴＥで接続した端末とインターネット上のサーバとの間で音声通信を行ったときの、サーバにおけるパケットの受信間隔をプロットしたグラフである。グラフの横軸は、パケットの送信順序を示すシーケンス番号を表す。端末からサーバへのパケットの送信間隔は、１０ｍｓである。また、シーケンス番号は、１パケットごとに１ずつ増加する。従って、図１１に示すグラフは、１秒間に送信された各パケットの受信間隔を示すデータである。グラフの縦軸は、ｉ−１番目のパケットとｉ番目のパケットの到着間隔、すなわち受信間隔であり、ジッタの全くない理想的な環境ではパケットの受信間隔は全て１０ｍｓとなる。
【０００９】
図１１に示すグラフでは、パケットの受信間隔が、ほとんどの区間で４０ｍｓ以下になっている。それに対して、シーケンス番号１３８２０付近では、パケットの受信間隔が１２０ｍｓ程度まで増加している。このように、パケットの遅延量が突発的に増加する事象を、「スパイク遅延」という。スパイク遅延発生時に突発的に増加したパケットの遅延量は、その後急速に以前の状態に戻る。パケットの遅延量の増加がごく小さい場合には通信品質にほとんど影響がないため、パケットの遅延量の増加が一定以上の大きさである事象をスパイク遅延と呼ぶことが多い。例えば、パケットの遅延量が、ある基準に対して所定の値以上増加する事象がスパイク遅延に該当する。具体的には、遅延量の増加が、過去一定時間の平均・分散等の統計量のｎ倍以上になる事象や、あらかじめ定めたしきい値を上回る事象などをスパイク遅延と呼ぶ。上記のｎやしきい値は、想定するアプリケーションに応じて決定される。ＶｏＩＰの場合、しきい値として「通常時のジッタバッファの長さを上回る値」が用いられることが多く、例えば「１００ｍｓ」が用いられる。
【００１０】
特許文献１および特許文献２に記載された方法では、過去に発生したパケットの最大遅延時間等の過去の情報を使用してバッファの長さの目標値を決定するため、図１１に示すようなスパイク遅延が発生すると、バッファの長さを適切に制御できなくなり、バッファが枯渇し音切れが発生する可能性がある。
【００１１】
そこで、本発明は、スパイク遅延の発生を予測することができる遅延予測器、遅延予測方法および遅延予測プログラムを提供することを目的とする。また、本発明は、ＶｏＩＰ等における音声品質を向上することができる通信装置、通信方法および通信プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明による遅延予測器は、通信データの遅延量の時系列データによって示される遅延量のジッタから、通信リソースのスケジューリングによって発生するスケジューリングジッタを除去するスケジューリングジッタ除去部と、スケジューリングジッタが除去された遅延量のジッタをもとに、通信データの遅延量が突発的に増加する現象であるスパイク遅延の発生を予測する予測部とを備えることを特徴とする。
【００１３】
本発明による通信装置は、通信データの遅延量の時系列データによって示される遅延量のジッタから、通信リソースのスケジューリングによって発生するスケジューリングジッタを除去するスケジューリングジッタ除去部と、スケジューリングジッタが除去された遅延量のジッタをもとに、通信データの遅延量が突発的に増加する現象であるスパイク遅延の発生を予測する予測部と、予測部の予測結果をもとに、通信データから取得したデータを格納するバッファのバッファ長を制御するバッファ長制御部とを備えることを特徴とする。
【００１４】
本発明による遅延予測方法は、通信データの遅延量の時系列データによって示される遅延量のジッタから、通信リソースのスケジューリングによって発生するスケジューリングジッタを除去し、スケジューリングジッタが除去された遅延量のジッタをもとに、通信データの遅延量が突発的に増加する現象であるスパイク遅延の発生を予測することを特徴とする。
【００１５】
本発明による通信方法は、通信データの遅延量の時系列データによって示される遅延量のジッタから、通信リソースのスケジューリングによって発生するスケジューリングジッタを除去し、スケジューリングジッタが除去された遅延量のジッタをもとに、通信データの遅延量が突発的に増加する現象であるスパイク遅延の発生を予測し、予測結果をもとに、通信データから取得したデータを格納するバッファのバッファ長を制御することを特徴とする。
【００１６】
本発明による遅延予測プログラムは、コンピュータに、通信データの遅延量の時系列データによって示される遅延量のジッタから、通信リソースのスケジューリングによって発生するスケジューリングジッタを除去する処理と、スケジューリングジッタが除去された遅延量のジッタをもとに、通信データの遅延量が突発的に増加する現象であるスパイク遅延の発生を予測する処理とを実行させることを特徴とする。
【００１７】
本発明による通信プログラムは、コンピュータに、通信データの遅延量の時系列データによって示される遅延量のジッタから、通信リソースのスケジューリングによって発生するスケジューリングジッタを除去する処理と、スケジューリングジッタが除去された遅延量のジッタをもとに、通信データの遅延量が突発的に増加する現象であるスパイク遅延の発生を予測する処理と、予測結果をもとに、通信データから取得したデータを格納するバッファのバッファ長を制御する処理とを実行させることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、スパイク遅延の発生を予測することができる。また、ＶｏＩＰ等における音声品質を向上することができる。
【図面の簡単な説明】
【００１９】
【図１】第１の実施形態における遅延予測器の構成を示すブロック図である。
【図２】遅延予測器の動作を示すフローチャートである。
【図３】第２の実施形態における通信装置の構成を示すブロック図である。
【図４】通信装置がパケットを受信してからバッファに音声データを保存するまでの動作を示すフローチャートである。
【図５】通信装置が音声データを再生する処理を示すフローチャートである。
【図６】受信パケット情報記憶部に格納された情報の一例を示す説明図である。
【図７】音声通信を試行したときのサーバにおけるパケットの受信間隔をプロットしたグラフの一例である。
【図８】図７に示すデータに対して４パケットおきにサンプリングしたデータ列のグラフを示す説明図である。
【図９】本発明による遅延予測器の主要部を示すブロック図である。
【図１０】本発明による通信装置の主要部を示すブロック図である。
【図１１】パケットの遅延量が突発的に増加する様子を示すグラフの一例である。
【発明を実施するための形態】
【００２０】
実施形態１．
以下、本発明の第１の実施形態を図面を参照して説明する。
【００２１】
図１は、第１の実施形態における遅延予測器の構成を示すブロック図である。図１に示すように、本実施形態における遅延予測器１１は、パケット受信時刻取得部１１１と、スケジューリングジッタ除去部１１２と、ジッタ算出部１１３と、スパイク遅延予測部１１４と、受信パケット情報記憶部１１５とを備える。
【００２２】
パケット受信時刻取得部１１１は、パケットの受信を行う通信部（図示せず）等から各パケットの受信時刻情報を取得する。本実施形態では、パケット受信時刻取得部１１１は、パケットの受信時刻情報として、パケットの識別子と、パケットの本来受信すべき時刻と、パケットの実際の受信時刻とを取得する。そして、パケット受信時刻取得部１１１は、パケットの受信時刻情報を受信パケット情報記憶部１１５に保存する。そして、パケット受信時刻取得部１１１は、スケジューリングジッタ除去部１１２に、新たな情報を取得したことを通知する。本来受信すべき時刻は、ジッタの全くない理想的な環境での受信時刻である。
【００２３】
スケジューリングジッタ除去部１１２は、パケット受信時刻取得部１１１から情報取得の通知を受けると、受信パケット情報記憶部１１５から各パケットの本来受信すべき時刻と実際の受信時刻とを示す情報、すなわちパケットの遅延量の時系列データを取得する。そして、スケジューリングジッタ除去部１１２は、取得した時系列データによって示されるパケットの遅延量のジッタから、スケジューリングによって発生したジッタ（スケジューリングジッタ）を除去する。以下、時系列データによって示される遅延量のジッタからスケジューリングジッタを除去することを、単に時系列データからスケジューリングジッタを除去すると表現する。
【００２４】
第３世代移動通信システム（３ｒｄ  Ｇｅｎｅｒａｔｉｏｎ：３Ｇ）やＬＴＥといったモバイルネットワークを介した通信では、ジッタの大部分は基地局と端末の間の無線区間で発生する。無線区間で発生するジッタは、スケジューリングジッタと状態悪化ジッタの２種類に大別できる。
【００２５】
スケジューリングジッタは、送受信区間において定常的に発生するジッタである。例えば、無線区間のスケジューリングによって発生するジッタである。モバイルネットワークでは、基地局と端末との間の無線区間において基地局によるスケジューリングが行われる。そして、基地局と端末は、スケジューリングによって割り当てられた通信リソースを使用してデータの送受信を行う。基地局と端末において送信すべきデータが発生してから実際にリソースが割り当てられるまでの時間にばらつきがあるため、ジッタが発生する。
【００２６】
状態悪化ジッタは、無線区間の状態悪化によって発生するジッタであり、伝送エラーによる再送や電波状態悪化による送信待ちによって発生する。
【００２７】
３Ｇ，ＬＴＥは、無線区間でデータを送信する度に受信側から応答確認を受信する通信方式である。そのため、３Ｇ，ＬＴＥでは、正常な受信が確認できない場合にはＨＡＲＱ（Ｈｙｂｒｉｄ  ＡＲＱ（Ａｕｔｏｍａｔｉｃ  ｒｅｐｅａｔ−ｒｅｑｕｅｓｔ））と呼ばれる再送が発生する。ＨＡＲＱは１回あたり８ｍｓの遅延が発生する。ＨＡＲＱが最大の８回繰り返された場合には、遅延量は６４ｍｓになる。さらに、８回再送してもデータが正常に届かない場合には、データ全体を再送するＡＲＱが行われるため、さらに遅延量が増加し、これがスパイク遅延の原因となる。
【００２８】
また、電波状態悪化による送信待ちは、基地局と端末の間の電波状態悪化によってリソース割り当てが行われない状況であり、待ち時間が長くなるとスパイク遅延の原因となる。
【００２９】
すなわち、スパイク遅延の発生する環境では、スパイク遅延の発生前に伝送エラーによる再送（ＨＡＲＱやＡＲＱ）、電波状態悪化による短時間の送信待ちが多数発生していると考えられる。従って、状態悪化ジッタを観測することで、スパイク遅延の発生を予測できる。本実施形態では、スパイク遅延の発生頻度、すなわちスパイク遅延が何パケットに１回発生するかを予測する。スパイク遅延の発生頻度を予測することにより、音声再生装置等において、その予測結果をもとにより適切なバッファ制御を行うことが可能となる。例えば、スパイク遅延の発生頻度が低いと予測した場合には、音声再生装置等は、バッファの長さを変更せずにそのままにしておくことができる。このとき低頻度で一瞬音切れは発生するが、一時のスパイク遅延のためにバッファの長さをずっと長く保っておく必要がなくなり、低遅延での音声通話が可能である。また、スパイク遅延の発生頻度が高いと予測した場合には、音声再生装置等は、バッファの長さを長く確保しておくことができるので、音切れが頻発することを回避することができる。
【００３０】
観測されるジッタはスケジューリングジッタと状態悪化ジッタの両方の影響を含んでいるため、そのままではスパイク遅延の発生を予測できない。
【００３１】
そこで、スケジューリングジッタ除去部１１２は、スケジューリングによる影響を除去する。スケジューリングジッタは、一般に、周期性を有する。そのため、スケジューリングジッタ除去部１１２は、受信パケット情報記憶部１１５から取得した時系列データから周期的に発生するジッタを除去する。これにより、スケジューリングジッタ除去部１１２は、受信パケット情報記憶部１１５から取得した時系列データから、スケジューリングによる遅延の影響を排除し、状態悪化による遅延の影響を抽出する。
【００３２】
ジッタ算出部１１３は、スケジューリングジッタ除去部１１２からスケジューリングジッタを除去した時系列データを受信し、受信した時系列データに対するジッタを算出する。具体的には、ジッタ算出部１１３は、受信した時系列データによって示されるパケットの遅延量のジッタを算出する。
【００３３】
スパイク遅延予測部１１４は、ジッタ算出部１１３が算出したジッタの大小からスパイク遅延の発生頻度の予測値を出力する。
【００３４】
受信パケット情報記憶部１１５は、パケット受信時刻取得部１１１が受信したパケットの識別子と、本来受信すべき時刻と、実際の受信時刻とを記憶する。そして、受信パケット情報記憶部１１５は、スケジューリングジッタ除去部１１２からの要求に応じて、記憶している情報を出力する。
【００３５】
なお、パケット受信時刻取得部１１１、スケジューリングジッタ除去部１１２、ジッタ算出部１１３およびスパイク遅延予測部１１４は、例えば、遅延予測プログラムに従って動作するコンピュータのＣＰＵによって実現される。遅延予測プログラムは、例えば、コンピュータの記憶装置（図示せず）に記憶される。ＣＰＵは、そのプログラムを読み込み、そのプログラムに従って、パケット受信時刻取得部１１１、スケジューリングジッタ除去部１１２、ジッタ算出部１１３およびスパイク遅延予測部１１４として動作する。また、パケット受信時刻取得部１１１、スケジューリングジッタ除去部１１２、ジッタ算出部１１３およびスパイク遅延予測部１１４が別々のハードウェアで実現されていてもよい。
【００３６】
また、受信パケット情報記憶部１１５は、例えば、コンピュータのＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の記憶装置上に確保された記憶領域である。
【００３７】
次に、本実施形態の動作を説明する。
【００３８】
図２は、遅延予測器１１の動作を示すフローチャートである。
【００３９】
まず、パケット受信時刻取得部１１１は、通信部（図示せず）等からパケットの受信時刻情報を取得すると（ステップＳ１０１）、取得した情報を受信パケット情報記憶部１１５に格納する（ステップＳ１０２）。そして、パケット受信時刻取得部１１１は、スケジューリングジッタ除去部１１２に新たな情報を取得したことを通知する。
【００４０】
次に、スケジューリングジッタ除去部１１２は、受信パケット情報記憶部１１５から、パケットの受信時刻を示す時系列データを取り出す（ステップＳ１０３）。スケジューリングジッタ除去部１１２は、受信パケット情報記憶部１１５から取り出した時系列データから、スケジューリングジッタを除去する（ステップＳ１０４）。スケジューリングジッタ除去部１１２は、スケジューリングジッタを除去した時系列データをジッタ算出部１１３に渡す。
【００４１】
ジッタ算出部１１３は、スケジューリングジッタ除去部１１２から受け取ったデータに対するジッタを算出する（ステップＳ１０５）。これにより、スケジューリングジッタを除去した、パケットの遅延量のジッタが算出される。ジッタ算出部１１３は、算出結果をスパイク遅延予測部１１４に渡す。
【００４２】
最後に、スパイク遅延予測部１１４は、ジッタ算出部１１３から受け取ったスケジューリングジッタを除去したジッタからスパイク遅延の発生頻度を予測し（ステップＳ１０６）、予測値を出力する。
【００４３】
以上に説明したように、本実施形態では、スケジューリングジッタ除去部が、パケットの遅延量のジッタから、スケジューリングジッタを除去して状態悪化によって発生するジッタを抽出し、抽出した状態悪化によって発生するジッタをもとにスパイク遅延の発生頻度を予測する。従って、パケットの遅延量のジッタからスパイク遅延の発生頻度を予測することができる。また、パケットの遅延量のジッタからスケジューリングによる遅延の影響を排除するので、状態悪化による遅延の影響のみを考慮した予測が可能となる。よって、スケジューリングジッタと状態悪化ジッタが混在する環境においても、より正確にスパイク遅延の発生を予測することができる。
【００４４】
なお、本実施形態では、パケットの遅延量のジッタからスパイク遅延の発生を予測する場合を例にしたが、パケットのその他の挙動、例えばパケットの受信間隔または遅延量の時間的推移や、パケットの受信間隔または遅延量の増加率からスパイク遅延の発生頻度を予測するようにしてもよい。
【００４５】
実施形態２．
以下、本発明の第２の実施形態を図面を参照して説明する。
【００４６】
図３は、第２の実施形態における通信装置の構成を示すブロック図である。図３に示すように、本実施形態における通信装置１は、第１の実施形態の遅延予測器１１（以下、遅延予測部１１という。）と、バッファ長制御部１２と、パケット受信部１３と、伝送プロトコルデコード部１４と、データデコード部１５と、バッファリング部１６と、再生部１７とを備える。
【００４７】
パケット受信部１３は、ネットワークインタフェースを含む。パケット受信部１３は、ネットワークインタフェースを介して、音声送信装置（図示せず）から音声パケットを受信する。そして、パケット受信部１３は、受信した音声パケットを伝送プロトコルデコード部１４に渡す。
【００４８】
伝送プロトコルデコード部１４は、パケット受信部１３から受け取った音声パケットの伝送プロトコルをデコードし、音声パケット識別子、当該音声パケットの本来受信すべき時刻、音声データを取り出す。また、伝送プロトコルデコード部１４は、そのときの時刻、すなわち音声パケットの実際の受信時刻を取得する。伝送プロトコルデコード部１４は、音声パケット識別子と、本来受信すべき時刻と、実際の受信時刻とを遅延予測部１１に渡す。また、伝送プロトコルデコード部１４は、音声データを、データデコード部１５に渡す。
【００４９】
データデコード部１５は、伝送プロトコルデコード部１４から受け取った音声データをデコードし、再生可能な形式に変換してバッファリング部１６に渡す。
【００５０】
バッファリング部１６は、バッファを含み、データデコード部１５から受け取った音声データを一時的にバッファリングする。バッファリング部１６は、バッファに格納された音声データを再生部１７に転送する。その際、バッファリング部１６は、バッファ長、つまりバッファリングするデータ長がバッファ長制御部１２から指示された目標値になるように、音声データのコピーや削除、再生速度の変更などを行う。
【００５１】
再生部１７は、出力装置（例えば、スピーカ）を含む。再生部１７は、バッファリング部１６から受け取った音声データを再生する。
【００５２】
遅延予測部１１は、伝送プロトコルデコード部１４から受け取った音声パケット識別子、本来受信すべき時刻、実際の受信時刻をもとに、第１の実施形態と同様の方法で、スパイク遅延の発生頻度を予測する。そして、遅延予測部１１は、予測値をバッファ長制御部１２に通知する。
【００５３】
バッファ長制御部１２は、遅延予測部１１から受け取ったスパイク遅延の発生頻度の予測値をもとに、バッファリング部１６がバッファリングするデータ長、すなわちバッファ長の目標値を決定する。そして、バッファ長制御部１２は、バッファリング部１６に指示する。具体的には、バッファ長制御部１２は、バッファリング部１６にバッファ長の目標値を渡す。
【００５４】
なお、遅延予測部１１、バッファ長制御部１２、パケット受信部１３、伝送プロトコルデコード部１４、データデコード部１５、バッファリング部１６および再生部１７は、例えば、通信プログラムに従って動作するコンピュータのＣＰＵによって実現される。通信プログラムは、例えば、コンピュータの記憶装置（図示せず）に記憶される。ＣＰＵは、そのプログラムを読み込み、そのプログラムに従って、遅延予測部１１、バッファ長制御部１２、パケット受信部１３、伝送プロトコルデコード部１４、データデコード部１５、バッファリング部１６および再生部１７として動作する。また、遅延予測部１１、バッファ長制御部１２、パケット受信部１３、伝送プロトコルデコード部１４、データデコード部１５、バッファリング部１６および再生部１７が別々のハードウェアで実現されていてもよい。
【００５５】
また、バッファリング部１６が含むバッファは、例えば、コンピュータのＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の記憶装置上に確保された記憶領域である。
【００５６】
次に、本実施形態の動作を説明する。
【００５７】
図４は、通信装置１がパケットを受信してからバッファに音声データを保存するまでの動作を示すフローチャートである。
【００５８】
パケット受信部１３は、音声パケットを受信すると（ステップＳ２０１）、受信した音声パケットを伝送プロトコルデコード部１４に渡す。
【００５９】
次に、伝送プロトコルデコード部１４は、パケット受信部１３から受け取った音声パケットの伝送プロトコルをデコードする（ステップＳ２０２）。
【００６０】
データデコード部１５は、伝送プロトコルデコード部１４から受け取った音声データをデコードし（ステップＳ２０３）、デコードした音声データをバッファリング部１６のバッファに追加する（ステップＳ２０４）。
【００６１】
一方で、遅延予測部１１は、伝送プロトコルデコード部１４から受け取った、音声パケットの識別子、本来受信すべき時刻、実際の受信時刻から、スパイク遅延の発生頻度を予測する（ステップＳ２０５）。そして、遅延予測部１１は、予測値をバッファ長制御部１２に通知する。
【００６２】
バッファ長制御部１２は、遅延予測部１１が予測したスパイク遅延の発生頻度をもとにバッファ長の目標値を決定し（ステップＳ２０６）、バッファリング部１６に指示する。
【００６３】
バッファリング部１６は、バッファ長がバッファ長制御部１２から指示された目標値になるように制御を行う（ステップＳ２０７）。
【００６４】
図５は、通信装置１が音声データを再生する処理を示すフローチャートである。
【００６５】
バッファリング部１６は、内部のバッファから音声データを取り出し、再生部１７に転送する（ステップＳ３０１）。
【００６６】
再生部１７は、バッファリング部１６から受け取った音声データを出力する（ステップＳ３０２）。
【００６７】
通信装置１は、ステップＳ３０１〜ステップＳ３０２の処理を、通話が終了するまで繰り返す（ステップＳ３０３）。
【００６８】
以上に説明したように、本実施形態では、遅延予測部がスケジューリングによる遅延の影響を排除した、つまり状態悪化による遅延の影響のみを考慮したスパイク遅延の予測を行い、その予測値をもとに、バッファ長制御部がバッファ長の目標値を決定し、バッファリング部が、バッファ長を制御する。従って、スパイク遅延が発生する可能性があるモバイルネットワークを介した音声通信、特に無線区間を介した音声通信においても、バッファ長を適切に制御することができ、例えば音切れを防止することができる。よって、ＶｏＩＰなどに音声再生時の音質を向上することができる。
【００６９】
なお、本実施形態では、通信装置が音声パケットを受信する場合について説明したが、通信装置は、音声データ以外のデータ、例えば、映像データを含むパケットを受信してもよい。その場合、伝送プロトコルデコード部は、映像データを含むパケットの伝送プロトコルをデコードし、データデコード部は、映像データをデコードすればよい。そのような形態によれば、モバイルネットワークを介した映像通信等にも本発明を適用することができる。
【００７０】
以下、具体的な実施例により本発明を説明するが、本発明の範囲は以下に説明する内容に限定されない。
【実施例１】
【００７１】
本実施例では、第１の実施形態の遅延予測器がＶｏＩＰシステムに適用される場合を例にする。
【００７２】
遅延予測器１１のパケット受信時刻取得部１１１は、ＩＰパケットの受信処理を行う通信部（図示せず）から、音声パケットの識別子であるＲＴＰのシーケンス番号と、本来受信すべき時刻であるＲＴＰのタイムスタンプと、実際の受信時刻とを受け取る。すると、パケット受信時刻取得部１１１は、受け取った情報（パケットの受信時刻情報）を受信パケット情報記憶部１１５に保存する。
【００７３】
図６は、受信パケット情報記憶部１１５に格納された情報の一例を示す説明図である。受信パケット情報記憶部１１５は、図６に示すように、識別子であるＲＴＰのシーケンス番号と、本来受信すべき時刻であるＲＴＰのタイムスタンプと、実際の受信時刻とを含むテーブルを記憶する。図６に示すテーブルの先頭の行は、シーケンス番号１００００のパケットのタイムスタンプは０であり、時刻０で通信部（図示せず）が当該パケットを受信したことを意味する。同様に２行目は、シーケンス番号１０００１のパケットのタイムスタンプは１０であり、時刻２０で通信部（図示せず）が当該パケットを受信したことを意味する。
【００７４】
次に、パケット受信時刻取得部１１１は、パケットの受信時刻情報を取得し、受信パケット情報記憶部１１５に保存したことを、スケジューリングジッタ除去部１１２に通知する。この通知は、スパイク遅延の予測結果が必要となる頻度に応じて間引いてもよい。すなわち、予測結果が１秒間隔で必要であれば、スケジューリングジッタ除去部１１２に対する通知を１秒間隔にしてもよい。
【００７５】
スケジューリングジッタ除去部１１２は、パケット受信時刻取得部１１１から通知を受けると、受信パケット情報記憶部１１５から、パケットの受信時刻を示す時系列データを取得する。
【００７６】
図７は、音声通信を試行したときのサーバにおけるパケットの受信間隔をプロットしたグラフの一例である。具体的には、図７は、ＬＴＥで接続したＡｎｄｒｏｉｄ（登録商標）端末とインターネット上のサーバ間で音声通信を試行したときの、サーバが受信したパケットの受信間隔をプロットしたグラフである。音声コーデックにＧ．７１１μを使用し、パケットの送信間隔を１０ｍｓとしている。Ｇ．７１１μにおける伝送速度は、６４ｋｂｐｓである。従って、パケットの送信間隔が１０ｍｓである場合、１パケットの音声データのサイズは８０バイトとなる。この音声データにＲＴＰヘッダ１２バイトとＵＤＰヘッダ８バイトが加わった１００バイトのＵＤＰパケットが、端末から送信される。図７（ａ）は、スパイク遅延が全く発生しなかった試行の結果を示すグラフである。図７（ｂ）は、スパイク遅延が頻発した試行の結果から、スパイク遅延発生前のデータを抜き出してプロットしたグラフである。グラフの横軸はシーケンス番号、縦軸はパケットの受信間隔である。どちらの試行においても、端末が１０ｍｓ間隔でパケットを送信しているため、ジッタの全くない理想的な環境では、全パケットの受信間隔が１０ｍｓになる。図７（ａ）と図７（ｂ）の受信間隔を比較すると、どちらも０ｍｓから４０ｍｓ前後の間でばらついていることが分かる。図７（ａ）、（ｂ）に示すデータについて、ＲＦＣ３５５０で規定されたジッタ（Ｉｎｔｅｒａｒｒｉｖａｌ  Ｊｉｔｔｅｒ）を計算してみると、どちらもほぼ同じ値になり有意な差は見られない。これは、図７（ａ）、（ｂ）ともにスケジューリングジッタがあり、スケジューリングジッタに比べて振れ幅が小さい状態悪化ジッタの影響が顕在化していないためである。
【００７７】
そこで、スケジューリングジッタ除去部１１２は、取得した時系列データからスケジューリングジッタを除去する。前述したように、モバイルネットワークでは、無線区間のスケジューリングによって定常的にジッタが発生する。このジッタは、通信リソース、例えば無線リソースの割り当てのタイミングなどが原因で発生し、周期性を有することが知られている。本実施例では、スケジューリングジッタ除去部１１２は、この周期性を除去することで、スケジューリングジッタの影響を除去する。それにより、スケジューリングジッタ除去部１１２は、状態悪化ジッタの影響を抽出することができる。
【００７８】
スケジューリングジッタ除去部１１２は、周期性を除去するため、図７（ａ）、（ｂ）に示す時系列データそれぞれに対して自己相関を求める。図７（ａ）、（ｂ）ともに４パケットずらした場合の相関係数が最大になる。つまり、図７（ａ）、（ｂ）ともに遅延量の変動が４パケット周期になっている。そこで、スケジューリングジッタ除去部１１２は、４パケットおきにサンプリングしたデータ列を生成する。このようにして、スケジューリングジッタ除去部１１２は、スケジューリングジッタを除去した時系列データを生成する。
【００７９】
図８は、図７に示すデータに対して４パケットおきにサンプリングしたデータ列のグラフを示す説明図である。図８（ａ）、（ｂ）は、それぞれ図７（ａ）、（ｂ）に対応する。
【００８０】
スパイク遅延が将来発生しない図８（ａ）では受信間隔がほぼ一定であるのに対して、スパイク遅延が将来頻発する図８（ｂ）では受信間隔が大きく揺らいでいることが分かる。スケジューリングジッタ除去部１１２は、スケジューリングジッタを除去した時系列データ（図８に示すデータ）をジッタ算出部１１３に出力する。周期性を除去する方法として、サンプリングするパケット数を変更する方法以外に、以下の式で求めた時系列を使用してもよい。
【００８１】
（ｉ番目のパケットの受信時刻）−（ｉ−４番目のパケットの受信時刻）
【００８２】
なお、本実施例では、周期性を除去する手段として自己相関を求める方法を例示したが、図７に示すデータをフーリエ変換等により周波数変換し、変換後のデータから導出される周期性を除去対象とするようにしてもよい。
【００８３】
ジッタ算出部１１３は、スケジューリングジッタ除去部１１２が生成した時系列データに対してＲＦＣ３５５０で規定されたジッタを算出し、算出した値をスパイク遅延予測部１１４に出力する。
【００８４】
スパイク遅延予測部１１４は、ジッタ算出部１１３が算出したジッタ、つまりスケジューリングジッタを除去した時系列データから算出したジッタの値から、スパイク遅延の発生頻度を予測する。上述したように、スケジューリングジッタを除去した時系列データから算出したジッタとスパイク遅延の発生頻度との間には相関がある。そのため、スパイク遅延の発生頻度を予測する方法として、例えば、次に示すように発生頻度の高低を求める方法が考えられる。ジッタ算出部１１３が算出したジッタの大きさに対するしきい値を定めておき、当該ジッタの大きさがしきい値以上である場合にはスパイク遅延の発生頻度が高いと判定し、しきい値未満である場合にはスパイク遅延の発生頻度が低いと判定する方法である。なお、しきい値は２つ以上あってもよい。そのような形態によれば、発生頻度の高さを３段階以上に分けて判定することができるので、スパイク遅延予測部１１４は、より細分化された予測値を出力することができる。
【００８５】
なお、スパイク遅延予測部１１４は、スパイク遅延の発生確率を予測するようにしてもよい。スパイク遅延の発生確率を予測する方法として、例えば、ｐをスパイク遅延の発生確率、Ｊをジッタ算出部１１３が算出したジッタ、αを係数としたとき、通信網の特性などに応じて事前に決定した係数αをもとに、以下の式から発生確率を予測する方法がある。
【００８６】
ｐ＝α×Ｊ
【００８７】
ここで、スパイク遅延の発生確率は、現在から所定期間が経過するまでの間にスパイク遅延が発生するか否かを示す。例えば、次のパケット受信時にスパイク遅延が発生する確率や、現在からパケットを所定数受信するまでの間にスパイク遅延が発生する確率である。
【００８８】
スパイク遅延予測部１１４は、予測値として、上記方法で予測したスパイク遅延の発生頻度の高低を示す値、または、スパイク遅延の発生確率を示す値を出力する。
【００８９】
なお、本実施例では、音声のＲＴＰパケットを例に説明したが、本発明はこれに限定されるものではない。つまり、パケットを本来受信すべき時刻が受信側で分かるシステムであれば、本発明を適用可能である。例えば、映像のＲＴＰパケットを受信するシステムにも本発明を適用可能である。
【００９０】
また、本実施例では、遅延予測器がＶｏＩＰシステムに適用される場合を例に説明したが、遅延予測器をその他の通信システムに適用するようにしてもよい。すなわち、通信部（図示せず）がＩＰパケット以外の通信データを受信し、遅延予測器がその通信データに対して遅延予測を行うようにしてもよい。
【実施例２】
【００９１】
本実施例では、第２の実施形態の通信装置が、ＰＣ、スマートフォン、タブレット等の端末装置に適用される場合を例にする。つまり、本実施例の通信装置は、ＰＣ、スマートフォン、タブレット等の端末装置に搭載されたデバイスと、当該端末装置上で動作するソフトウェアとの組み合わせで実現される。
【００９２】
また、本実施例では、音声データの伝送プロトコルにＲＦＣ３５５０で規定されたＲＴＰを使用する。
【００９３】
ユーザが端末装置を操作して音声通話を開始すると、通信装置１は、セッション制御部（図示せず）を介してセッション制御サーバとの間でＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）等によって、通話開始のネゴシエーションを行う。通信装置１は、ネゴシエーション完了後、音声送信部（図示せず）を介して通話相手に対する音声の送信を開始するとともに、受信処理を開始する。
【００９４】
パケット受信部１３は、通話相手から音声のＲＴＰパケットを受信すると、受信したパケットを伝送プロトコルデコード部１４に渡す。
【００９５】
伝送プロトコルデコード部１４は、パケット受信部１３からＲＴＰパケットを受け取ると、そのときの時刻（ＲＴＰパケットの実際の受信時刻）を取得する。さらに、伝送プロトコルデコード部１４は、ＲＴＰヘッダの解析を行う。
【００９６】
ＲＴＰヘッダは、ペイロードタイプフィールド、シーケンス番号フィールド、タイムスタンプフィールド、ＳＳＲＣ（ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  ｓｏｕｒｃｅ）フィールドなどから構成される。ペイロードタイプフィールドは、音声コーデック種別（ペイロードタイプ）を識別するための情報を格納する領域である。シーケンス番号フィールドは、ＲＴＰパケットの送信順序を表すシーケンス番号を格納する領域である。タイムスタンプフィールドは、ペイロード部分に格納されている音声データがサンプリングされた時刻（ＲＴＰタイムスタンプ）を格納する領域である。ＳＳＲＣフィールドは、送信元の識別子を格納する領域である。
【００９７】
伝送プロトコルデコード部１４は、ＲＴＰヘッダを解析して、識別子であるシーケンス番号と、本来受信すべき時刻であるＲＴＰタイムスタンプとを取得する。そして、伝送プロトコルデコード部１４は、シーケンス番号と、ＲＴＰタイムスタンプと、ＲＴＰパケットの実際の受信時刻とを遅延予測部１１に渡す。また、伝送プロトコルデコード部１４は、ペイロードタイプフィールドを解析して求めた音声コーデック種別と、音声データを含むＲＴＰパケットのペイロード部分とをデータデコード部１５に渡す。
【００９８】
データデコード部１５は、伝送プロトコルデコード部１４から音声コーデック種別とＲＴＰパケットのペイロード部分とを受け取る。すると、データデコード部１５は、ペイロード部分に含まれる音声データをデコードし、ＰＣＭ（Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）などの再生可能な形式に変換する。本実施例では、データデコード部１５は、音声データをＰＣＭデータに変換する。データデコード部１５は、ＰＣＭデータをバッファリング部１６に渡す。
【００９９】
バッファリング部１６は、受け取ったＰＣＭデータを、内部のバッファに追加する。
【０１００】
遅延予測部１１は、伝送プロトコルデコード部１４からシーケンス番号とＲＴＰタイムスタンプとＲＴＰパケットの実際の受信時刻とを受け取り、実施例１と同様の方法で、スパイク遅延の発生頻度の予測値を算出する。そして、遅延予測部１１は、算出した予測値を予測結果としてバッファ長制御部１２に通知する。
【０１０１】
バッファ長制御部１２は、遅延予測部１１から受け取ったスパイク遅延の発生頻度の予測値に基づいて、バッファリング部１６がバッファリングするデータ長を決定する。つまり、バッファ長制御部１２は、バッファ長の目標値を決定する。
【０１０２】
遅延予測部１１が「発生頻度高」または「発生頻度低」を示す予測値を出力する場合、予測値が「発生頻度高」である場合には、バッファ長制御部１２は、スパイク遅延が発生しても音切れが発生しないようにバッファ長の目標値を大きくする。また、予測値が「発生頻度低」である場合には、バッファ長制御部１２は、バッファ長の目標値を小さくすることで音声遅延を低減させる。
【０１０３】
例えばＬＴＥの場合、スパイク遅延発生時には、平常時に比べてパケットの遅延量が１００〜１５０ｍｓ程度増加する。従って、バッファ長制御部１２は、予測値が「発生頻度高」である場合にはバッファ長の目標値を、スパイク遅延の遅延量、すなわちスパイク遅延発生時の遅延の増加量よりも大きい値、例えば２００ｍｓ程度に設定する。また、バッファ長制御部１２は、予測値が「発生頻度低」である場合には、バッファ長の目標値を、スパイク遅延の遅延量よりも小さい値、例えば５０ｍｓ程度に設定する。
【０１０４】
なお、バッファ長を適応的に変動させてもよい。すなわち、過去のスパイク遅延発生時の遅延量の増加が１００ｍｓ程度だった場合にはバッファ長の目標値を１５０ｍｓにしてもよい。また、過去のスパイク遅延発生時の遅延量の増加が２００ｍｓ程度だった場合にはバッファ長の目標値を２５０ｍｓにしてもよい。予測値が「発生頻度低」である場合も同様に、ジッタの大きさに応じてバッファ長の目標値を設定してもよい。
【０１０５】
また、遅延予測部１１がスパイク遅延の発生確率を予測値として出力する場合、例えば、バッファ長制御部１２は、あらかじめしきい値を定めておき、遅延予測部１１が出力する予測値がしきい値以上である場合には予測値が「発生頻度高」であるときと同様の動作をし、しきい値未満である場合には「発生頻度低」であるときと同様の動作をする。なお、しきい値は２つ以上あってもよい。そのような形態によれば、発生頻度の高さを３段階以上に分けて判定することができる。その場合、バッファ長制御部１２は、発生頻度の高さの段階に応じた動作をすればよい。それにより、バッファ長制御部１２は、バッファ長制御の精度を上げることができる。
【０１０６】
バッファ長制御部１２は、バッファ長の目標値に基づいてバッファリングするように、バッファリング部１６に対して指示を出す。
【０１０７】
バッファリング部１６は、バッファ長をバッファ長制御部１２から指示された長さに変更する。バッファリング部１６は、バッファ長を変更する手段として、無音部分の延長や短縮、再生部１７に音声データを渡す速度の変更、音声の基本周波数単位でのコピーや削除などの方法を用いる。例えば、再生部１７に音声データを渡す速度を遅くすれば、実質的にバッファ長を長くすることができる。
【０１０８】
バッファリング部１６は、再生部１７に対して、一定周期で音声データを出力する。再生部１７は、バッファリング部１６から受け取った音声データをもとに、スピーカ等の出力装置から音声を出力する。
【０１０９】
以上、本発明を上記各実施形態および実施例に即して説明したが、本発明は、上記の各実施形態の構成のみに限定されるものでなく、本発明の原理に準ずる範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【０１１０】
図９は、本発明による遅延予測器の主要部を示すブロック図である。
【０１１１】
図９に示すように、遅延予測器（図１に示す遅延予測器１１に相当。）は、通信データの遅延量の時系列データによって示される遅延量のジッタから、通信リソースのスケジューリングによって発生するスケジューリングジッタを除去するスケジューリングジッタ除去部２０１（図１に示す遅延予測器１１におけるスケジューリングジッタ除去部１１２に相当。）と、スケジューリングジッタが除去された遅延量のジッタをもとに、通信データの遅延量が突発的に増加する現象であるスパイク遅延の発生を予測する予測部２０２（図１に示す遅延予測器１１におけるジッタ算出部１１３およびスパイク遅延予測部１１４に相当。）とを備える。
【０１１２】
そのような構成によれば、通信データ（例えばパケット）の遅延量のジッタからスパイク遅延の発生を予測することができる。また、通信データ（例えばパケット）の遅延量を示す時系列データからスケジューリングによる遅延の影響を排除するので、状態悪化による遅延の影響のみを考慮した予測が可能となり、より正確にスパイク遅延の発生を予測することができる。
【０１１３】
また、スケジューリングジッタ除去部２０１は、通信データの遅延量の時系列データによって示される遅延量のジッタから周期性を除去することにより、スケジューリングジッタを除去してもよい。そのような構成によれば、周期性を有するスケジューリングジッタをより簡単に除去することができる。
【０１１４】
また、スケジューリングジッタ除去部２０１は、通信データの遅延量の時系列データによって示される遅延量のジッタから周期性が除去されるように、当該時系列データからデータをサンプリングし、予測部２０２は、サンプリングされたデータ列によって示される遅延量のジッタを算出し、算出したジッタをもとにスパイク遅延の発生を予測するようにしてもよい。そのような構成によれば、スケジューリングジッタが除去された通信データ（例えばパケット）の遅延量のジッタと、スパイク遅延の発生との間には相関があるので、例えば、スパイク遅延の発生頻度を予測することができる。
【０１１５】
また、予測部２０２は、スケジューリングジッタが除去された遅延量のジッタの大きさに基づいてスパイク遅延が発生する頻度を求めてもよい。そのような構成によれば、スパイク遅延が発生する頻度に応じた予測値を出力することができる。それにより、例えば、スパイク遅延の予測値を用いて、通信データ（例えばパケット）から取得したデータを格納するバッファのバッファ長を制御する装置等において、スパイク遅延の発生頻度に応じたバッファ長の制御を行うことが可能となる。
【０１１６】
また、予測部２０２は、スケジューリングジッタが除去された遅延量のジッタの大きさが予め定められたしきい値以上である場合には、スパイク遅延が発生する頻度が高いと予測し、しきい値未満である場合にはスパイク遅延が発生する頻度が低いと予測してもよい。そのような構成によれば、スパイク遅延を予測する環境に応じて、しきい値を適切な値に設定することにより、その環境に適した予測値を出力することができる。
【０１１７】
また、予測部２０２は、スケジューリングジッタが除去された遅延量のジッタの大きさに基づいて、現在から所定期間が経過するまでの間にスパイク遅延が発生する確率を求めてもよい。そのような構成によれば、スパイク遅延が発生する確率に応じた予測値を出力することができる。
【０１１８】
図１０は、本発明による通信装置の主要部を示すブロック図である。
【０１１９】
図１０に示すように、通信装置（図３に示す通信装置１に相当。）は、通信データの遅延量の時系列データによって示される遅延量のジッタから、通信リソースのスケジューリングによって発生するスケジューリングジッタを除去するスケジューリングジッタ除去部２０１（図３に示す通信装置１における遅延予測部１１におけるスケジューリングジッタ除去部（図示せず）に相当。）と、スケジューリングジッタが除去された遅延量のジッタをもとに、通信データの遅延量が突発的に増加する現象であるスパイク遅延の発生を予測する予測部２０２（図３に示す通信装置１における遅延予測部１１におけるジッタ算出部（図示せず）およびスパイク遅延予測部（図示せず）に相当。）と、予測部２０２の予測結果をもとに、通信データから取得したデータを格納するバッファのバッファ長を制御するバッファ長制御部２０３（図３に示す通信装置１におけるバッファ長制御部１２に相当。）とを備える。
【０１２０】
そのような構成によれば、スパイク遅延の発生の予測結果をもとにバッファ長を制御することができる。また、スケジューリングによる遅延の影響を排除した、つまり状態悪化による遅延の影響のみを考慮したスパイク遅延の予測を行うので、スパイク遅延が発生する可能性があるモバイルネットワークを介した通信、特に無線区間を介した通信において、バッファ長を適切に制御することができる。
【０１２１】
また、予測部２０２は、スケジューリングジッタが除去された遅延量のジッタに基づいてスパイク遅延が発生する頻度を求め、バッファ長制御部２０３は、スパイク遅延が発生する頻度が高い場合には、バッファ長をスパイク遅延の遅延量よりも大きい値に設定し、スパイク遅延が発生する頻度が低い場合には、バッファ長をスパイク遅延の遅延量よりも小さい値に設定してもよい。そのような構成によれば、スパイク遅延の発生頻度が低いと予測した場合には、バッファ長を変更せずにそのままにしておくことができる。このとき一瞬音切れは発生するが、一時のスパイク遅延のためにバッファ長をずっと長く保っておく必要がなくなり、メモリ等のリソースの浪費をより防ぐことができる。また、スパイク遅延の発生頻度が高いと予測した場合には、バッファ長を長く確保しておくことができるので、音切れが頻発することを回避することができる。
【０１２２】
また、予測部２０２は、スケジューリングジッタが除去された遅延量のジッタに基づいて、現在から所定期間が経過するまでの間にスパイク遅延が発生する確率を求め、バッファ長制御部２０３は、スパイク遅延が発生する確率が予め定められたしきい値以上である場合には、バッファ長をスパイク遅延の遅延量よりも大きい値に設定し、しきい値未満である場合には、バッファ長をスパイク遅延の遅延量よりも小さい値に設定してもよい。そのような構成によれば、例えば、スパイク遅延の発生確率に応じて、バッファ長を更新するか否かを判断することが可能となる。
【０１２３】
また、通信データが、音声データを含む音声パケットであってもよい。そのような形態によれば、例えばＶｏＩＰなどにおける音声再生時の音質を向上することができる。
【０１２４】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下に限られない。
【０１２５】
（付記１）通信データの遅延量の時系列データによって示される前記遅延量のジッタから、通信リソースのスケジューリングによって発生するスケジューリングジッタを除去し、スケジューリングジッタが除去された前記遅延量のジッタをもとに、通信データの遅延量が突発的に増加する現象であるスパイク遅延の発生を予測することを特徴とする遅延予測方法。
【０１２６】
（付記２）通信データの遅延量の時系列データによって示される前記遅延量のジッタから周期性を除去することにより、スケジューリングジッタを除去する付記１に記載の遅延予測方法。
【０１２７】
（付記３）通信データの遅延量の時系列データによって示される前記遅延量のジッタから周期性が除去されるように、当該時系列データからデータをサンプリングし、サンプリングされたデータ列によって示される前記遅延量のジッタを算出し、算出したジッタをもとにスパイク遅延の発生を予測する付記１または付記２に記載の遅延予測方法。
【０１２８】
（付記４）スケジューリングジッタが除去された遅延量のジッタの大きさに基づいてスパイク遅延が発生する頻度を求める付記１から付記３のうちのいずれか１つに記載の遅延予測方法。
【０１２９】
（付記５）スケジューリングジッタが除去された遅延量のジッタの大きさが予め定められたしきい値以上である場合には、スパイク遅延が発生する頻度が高いと予測し、前記しきい値未満である場合にはスパイク遅延が発生する頻度が低いと予測する付記４に記載の遅延予測方法。
【０１３０】
（付記６）スケジューリングジッタが除去された遅延量のジッタの大きさに基づいて、現在から所定期間が経過するまでの間にスパイク遅延が発生する確率を求める付記１から付記３のうちのいずれか１つに記載の遅延予測方法。
【０１３１】
（付記７）通信データの遅延量の時系列データによって示される前記遅延量のジッタから、通信リソースのスケジューリングによって発生するスケジューリングジッタを除去し、スケジューリングジッタが除去された前記遅延量のジッタをもとに、通信データの遅延量が突発的に増加する現象であるスパイク遅延の発生を予測し、前記予測結果をもとに、通信データから取得したデータを格納するバッファのバッファ長を制御することを特徴とする通信方法。
【０１３２】
（付記８）スケジューリングジッタが除去された遅延量のジッタに基づいてスパイク遅延が発生する頻度を求め、スパイク遅延が発生する頻度が高い場合には、バッファ長をスパイク遅延の遅延量よりも大きい値に設定し、スパイク遅延が発生する頻度が低い場合には、前記バッファ長をスパイク遅延の遅延量よりも小さい値に設定する付記７に記載の通信方法。
【０１３３】
（付記９）スケジューリングジッタが除去された遅延量のジッタに基づいて、現在から所定期間が経過するまでの間にスパイク遅延が発生する確率を求め、スパイク遅延が発生する確率が予め定められたしきい値以上である場合には、バッファ長をスパイク遅延の遅延量よりも大きい値に設定し、前記しきい値未満である場合には、前記バッファ長をスパイク遅延の遅延量よりも小さい値に設定する付記７に記載の通信方法。
【０１３４】
（付記１０）通信データが、音声データを含む音声パケットである付記７から付記９のうちのいずれか１つに記載の通信方法。
【０１３５】
（付記１１）コンピュータに、通信データの遅延量の時系列データによって示される前記遅延量のジッタから、通信リソースのスケジューリングによって発生するスケジューリングジッタを除去する処理と、スケジューリングジッタが除去された前記遅延量のジッタをもとに、通信データの遅延量が突発的に増加する現象であるスパイク遅延の発生を予測する処理とを実行させるための遅延予測プログラム。
【０１３６】
（付記１２）コンピュータに、通信データの遅延量の時系列データによって示される前記遅延量のジッタから周期性を除去することにより、スケジューリングジッタを除去する処理を実行させる付記１１に記載の遅延予測プログラム。
【０１３７】
（付記１３）コンピュータに、通信データの遅延量の時系列データによって示される前記遅延量のジッタから周期性が除去されるように、当該時系列データからデータをサンプリングする処理と、サンプリングされたデータ列によって示される前記遅延量のジッタを算出し、算出したジッタをもとにスパイク遅延の発生を予測する処理とを実行させる付記１１または付記１２に記載の遅延予測プログラム。
【０１３８】
（付記１４）コンピュータに、スケジューリングジッタが除去された遅延量のジッタの大きさに基づいてスパイク遅延が発生する頻度を求める処理を実行させる付記１１から付記１３のうちのいずれか１つに記載の遅延予測プログラム。
【０１３９】
（付記１５）コンピュータに、スケジューリングジッタが除去された遅延量のジッタの大きさが予め定められたしきい値以上である場合には、スパイク遅延が発生する頻度が高いと予測し、前記しきい値未満である場合にはスパイク遅延が発生する頻度が低いと予測する処理を実行させる付記１４に記載の遅延予測プログラム。
【０１４０】
（付記１６）コンピュータに、スケジューリングジッタが除去された遅延量のジッタの大きさに基づいて、現在から所定期間が経過するまでの間にスパイク遅延が発生する確率を求める処理を実行させる付記１１から付記１３のうちのいずれか１つに記載の遅延予測プログラム。
【０１４１】
（付記１７）コンピュータに、通信データの遅延量の時系列データによって示される前記遅延量のジッタから、通信リソースのスケジューリングによって発生するスケジューリングジッタを除去する処理と、スケジューリングジッタが除去された前記遅延量のジッタをもとに、通信データの遅延量が突発的に増加する現象であるスパイク遅延の発生を予測する処理と、前記予測結果をもとに、通信データから取得したデータを格納するバッファのバッファ長を制御する処理とを実行させるための通信プログラム。
【０１４２】
（付記１８）コンピュータに、スケジューリングジッタが除去された遅延量のジッタに基づいてスパイク遅延が発生する頻度を求める処理と、スパイク遅延が発生する頻度が高い場合には、バッファ長をスパイク遅延の遅延量よりも大きい値に設定し、スパイク遅延が発生する頻度が低い場合には、前記バッファ長をスパイク遅延の遅延量よりも小さい値に設定する処理とを実行させる付記１７に記載の通信プログラム。
【０１４３】
（付記１９）コンピュータに、スケジューリングジッタが除去された遅延量のジッタに基づいて、現在から所定期間が経過するまでの間にスパイク遅延が発生する確率を求める処理と、スパイク遅延が発生する確率が予め定められたしきい値以上である場合には、バッファ長をスパイク遅延の遅延量よりも大きい値に設定し、前記しきい値未満である場合には、前記バッファ長をスパイク遅延の遅延量よりも小さい値に設定する処理とを実行させる付記１７に記載の通信プログラム。
【０１４４】
（付記２０）通信データが、音声データを含む音声パケットである付記１７から付記１９のうちのいずれか１つに記載の通信プログラム。
【符号の説明】
【０１４５】
１  通信装置
１１  遅延予測器（遅延予測部）
１２、２０３  バッファ長制御部
１３  パケット受信部
１４  伝送プロトコルデコード部
１５  データデコード部
１６  バッファリング部
１７  再生部
１１１  パケット受信時刻取得部
１１２、２０１  スケジューリングジッタ除去部
１１３  ジッタ算出部
１１４  スパイク遅延予測部
１１５  受信パケット情報記憶部
２０２  予測部
【図１】
2015076846.tif 000003
【図２】
2015076846.tif 000004
【図３】
2015076846.tif 000005
【図４】
2015076846.tif 000006
【図５】
2015076846.tif 000007
【図６】
2015076846.tif 000008
【図７】
2015076846.tif 000009
【図８】
2015076846.tif 000010
【図９】
2015076846.tif 000011
【図１０】
2015076846.tif 000012
【図１１】
2015076846.tif 000013