(57)【特許請求の範囲】
【請求項１】
複数の音声データパケットを受信し、各音声データパケットの受信タイミングを記録するステップと、
上記受信タイミングに基づいて、受信した上記複数の音声データパケットの中の全ての互いに隣接する二つの音声データパケット同士の間の時間間隔を算出するステップと、
各時間間隔が属する所定の区間に基づいて、上記時間間隔の確率分布を統計するステップと、
上記確率分布及び許可ジッタ確率に基づいて、バッファーゾーン目標サイズを算出するステップと、
上記バッファーゾーン目標サイズに基づいてバッファーゾーンを調整することにより、ネットワークジッタを解決するステップとを含み、
ｎ番目の時間間隔は、Ｊｎ＝Ｒｎ−Ｒｎ−１であり、ここで、Ｒｎは、ｎ番目の音声データパケットの受信タイミングであり、Ｒｎ−１は、ｎ−１番目の音声データパケットの受信タイミングであり、１≦ｎ≦（Ｎ−１）であり、Ｎは、上記音声データパケットの合計数であり、
上記所定の区間の数は、複数であり、ｉ番目の所定の区間は、
0006382345.tif 000031
であり、ここで、Ｔは、送信側が上記音声データパケットを送信する固定の時間間隔であり、Ｋは、正の整数であり、
上記各時間間隔が属する所定の区間に基づいて、上記時間間隔の確率分布を統計するステップは、
全ての時間間隔の中で各所定の区間にそれぞれ落ちる時間間隔の数であるＮｉ，ｉ≧０を統計するステップと、
各Ｎｉ及び上記音声データパケットの合計数Ｎに基づいて、上記時間間隔が各所定の区間に落ちる確率
0006382345.tif 000032
を算出するステップとを含み、
ここで、iは、所定の区間の識別番号であり、Ｎｉ≧０であり、
Ｎ≧Ｎｍａｘである場合、いずれか一つのｎに対して、ｎ≧Ｎｍａｘであると、（ｎ−Ｎｍａｘ＋１）番目の時間間隔が属する所定の区間に対応される時間間隔の数から１を引き算し、ここで、Ｎｍａｘは、上記音声データパケットの合計数の閾値である
ことを特徴とするネットワークジッタ処理方法。
【請求項２】
上記確率分布及び許可ジッタ確率に基づいて、バッファーゾーン目標サイズを算出するステップは、
条件
0006382345.tif 000033
を満たすｍを算出するステップと、
複数の上記所定の区間の中で０番目の所定の区間から連続してｍ番目の所定の区間までのサイズの合計を、上記バッファーゾーン目標サイズとするステップと
を含み、
ここで、Ｐは、既知の許可ジッタ確率である
ことを特徴とする請求項１に記載のネットワークジッタ処理方法。
【請求項３】
上記バッファーゾーン目標サイズに基づいてバッファーゾーンを調整することにより、ネットワークジッタを解決するステップは、
バッファーゾーンの現在サイズが上記バッファーゾーン目標サイズ未満であり、且つ、バッファーゾーン有効長さが０であると、上記バッファーゾーンの中でデータを生成してフレーム補間を行うステップと、
バッファーゾーンの現在サイズが上記バッファーゾーン目標サイズ未満ではないと、上記バッファーゾーン中の非音声データを削除することにより、上記バッファーゾーンの現在サイズと上記バッファーゾーン目標サイズとの間の差分が所定の範囲内に入るようにするステップと
を含むことを特徴とする請求項１または２に記載のネットワークジッタ処理方法。
【請求項４】
上記複数の音声データパケットを受信し、各音声データパケットの受信タイミングを記録するステップの後に、
上記複数の音声データパケット中の各々の音声データパケットを復号化して、音声データ、又は、非音声データを得て、上記音声データ、又は、上記非音声データを上記バッファーゾーンに入れるステップ
をさらに含むことを特徴とする請求項３に記載のネットワークジッタ処理方法。
【請求項５】
複数の音声データパケットを受信し、各音声データパケットの受信タイミングを記録する受信記録モジュールと、
上記受信タイミングに基づいて、受信した上記複数の音声データパケットの中の全ての互いに隣接する二つの音声データパケット同士の間の時間間隔を算出する算出モジュールと、
各時間間隔が属する所定の区間に基づいて、上記時間間隔の確率分布を統計する統計モジュールと、
調整モジュールと
を備え、
上記算出モジュールは、さらに、上記確率分布及び許可ジッタ確率に基づいて、バッファーゾーン目標サイズを算出し、
上記調整モジュールは、上記バッファーゾーン目標サイズに基づいてバッファーゾーンを調整することにより、ネットワークジッタを解決し、
ｎ番目の時間間隔は、Ｊｎ＝Ｒｎ−Ｒｎ−１であり、ここで、Ｒｎは、ｎ番目の音声データパケットの受信タイミングであり、Ｒｎ−１は、ｎ−１番目の音声データパケットの受信タイミングであり、１≦ｎ≦（Ｎ−１）であり、Ｎは、上記音声データパケットの合計数であり、
上記所定の区間の数は、複数であり、ｉ番目の所定の区間は、
0006382345.tif 000034
であり、ここで、Ｔは、送信側が上記音声データパケットを送信する固定の時間間隔であり、Ｋは、正の整数であり、
上記統計モジュールは、
全ての時間間隔の中で各所定の区間にそれぞれ落ちる時間間隔の数であるＮｉ，ｉ≧０を統計する第１統計サブモジュールと、
各Ｎｉ及び上記音声データパケットの合計数Ｎに基づいて、上記時間間隔が各所定の区間に落ちる確率
0006382345.tif 000035
を算出する第１算出サブモジュールと
を備え、
ここで、ｉは、所定の区間の識別番号であり、Ｎｉ≧０であり、
上記統計モジュールは、
Ｎ≧Ｎｍａｘである場合、いずれか一つのｎに対して、ｎ≧Ｎｍａｘであると、（ｎ−Ｎｍａｘ＋１）番目の時間間隔が属する所定の区間に対応される時間間隔の数から１を引き算する第２統計サブモジュール
をさらに備え、
ここで、Ｎｍａｘは、上記音声データパケットの合計数の閾値である
ことを特徴とするネットワークジッタ処理装置。
【請求項６】
上記算出モジュールは、
条件
0006382345.tif 000036
を満たすｍを算出する第２算出サブモジュールと、
複数の上記所定の区間の中で０番目の所定の区間から連続してｍ番目の所定の区間までのサイズの合計を、上記バッファーゾーン目標サイズとする第３算出サブモジュールと
を備え、
ここで、Ｐは、既知の許可ジッタ確率である
ことを特徴とする請求項５に記載のネットワークジッタ処理装置。
【請求項７】
上記調整モジュールは、
バッファーゾーンの現在サイズが上記バッファーゾーン目標サイズ未満であり、且つ、バッファーゾーン有効長さが０であると、上記バッファーゾーンの中でデータを生成してフレーム補間を行う第１調整サブモジュールと、
バッファーゾーンの現在サイズが上記バッファーゾーン目標サイズ未満ではないと、上記バッファーゾーン中の非音声データを削除することにより、上記バッファーゾーンの現在サイズと上記バッファーゾーン目標サイズとの間の差分が所定の範囲内に入るようにする第２調整サブモジュールと
を備えることを特徴とする請求項５または６に記載のネットワークジッタ処理装置。
【請求項８】
上記受信記録モジュールが複数の音声データパケットを受信して、各音声データパケットの受信タイミングを記録した後に、上記複数の音声データパケット中の各々の音声データパケットを復号化して、音声データ、又は、非音声データを得て、上記音声データ、又は、上記非音声データを上記バッファーゾーンに入れる復号化モジュール
をさらに備えることを特徴とする請求項７に記載のネットワークジッタ処理装置。
【請求項９】
プロセッサと、
上記プロセッサが実行可能な命令を記憶するためのメモリと
を備え、
上記プロセッサは、
複数の音声データパケットを受信し、各音声データパケットの受信タイミングを記録し、
上記受信タイミングに基づいて、受信した上記複数の音声データパケットの中の全ての互いに隣接する二つの音声データパケット同士の間の時間間隔を算出し、
各時間間隔が属する所定の区間に基づいて、上記時間間隔の確率分布を統計し、
上記確率分布及び許可ジッタ確率に基づいて、バッファーゾーン目標サイズを算出し、
上記バッファーゾーン目標サイズに基づいてバッファーゾーンを調整することにより、ネットワークジッタを解決し、
ｎ番目の時間間隔は、Ｊｎ＝Ｒｎ−Ｒｎ−１であり、ここで、Ｒｎは、ｎ番目の音声データパケットの受信タイミングであり、Ｒｎ−１は、ｎ−１番目の音声データパケットの受信タイミングであり、１≦ｎ≦（Ｎ−１）であり、Ｎは、上記音声データパケットの合計数であり、
上記所定の区間の数は、複数であり、ｉ番目の所定の区間は、
0006382345.tif 000037
であり、ここで、Ｔは、送信側が上記音声データパケットを送信する固定の時間間隔であり、Ｋは、正の整数であり、
上記各時間間隔が属する所定の区間に基づいて、上記時間間隔の確率分布を統計するステップは、
全ての時間間隔の中で各所定の区間にそれぞれ落ちる時間間隔の数であるＮｉ，ｉ≧０を統計するステップと、
各Ｎｉ及び上記音声データパケットの合計数Ｎに基づいて、上記時間間隔が各所定の区間に落ちる確率
0006382345.tif 000038
を算出するステップとを含み、
ここで、iは、所定の区間の識別番号であり、Ｎｉ≧０であり、
Ｎ≧Ｎｍａｘである場合、いずれか一つのｎに対して、ｎ≧Ｎｍａｘであると、（ｎ−Ｎｍａｘ＋１）番目の時間間隔が属する所定の区間に対応される時間間隔の数から１を引き算し、ここで、Ｎｍａｘは、上記音声データパケットの合計数の閾値である
ように構成されることを特徴とする端末デバイス。
【請求項１０】
プロセッサに実行されることにより、請求項１から請求項４のいずれか１項に記載のネットワークジッタ処理方法を実現することを特徴とするプログラム。
【請求項１１】
請求項１０に記載のプログラムが記録された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、出願番号がＣＮ２０１５１０９６７３５２．９であって、出願日が２０１５年１２月２１日である中国特許出願に基づいて優先権を主張し、当該中国特許出願のすべての内容を援用する。
【０００２】
本発明は、スマート端末デバイス技術分野に関し、特に、ネットワークジッタ処理方法、装置、端末デバイス、プログラム及び記録媒体に関する。 
【背景技術】
【０００３】
ネットワークのブロードバンドの増加及びモバイルインタネットの普遍化に伴い、携帯電話でインタネットを利用するリアルタイム音声通信ＡＰＰも、高速に発展している。無線ネットワークは、有線ネットワークと比較すると、パケット損失率、ネットワーク遅延、ネットワークジッタ、等の点において、ネットワーク電話（Ｖｏｉｃｅ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌであり、ＶｏＩＰと略称する）のようなリアルタイム音声通信サービスの品質に比較的大きな影響を与える。
【０００４】
ＶｏＩＰ音声通信において、送信側は、一般的に、固定フレームレートの音声符号化アルゴリズムを採用して、均一な時間間隔でデータを送信する。この場合、受信側の音声品質が影響を受ける最大な要素は、送信側から受信側への転送遅延ではなく、受信側でデータを受信する時間間隔のジッタである。しかし、関連技術には、まだ、受信側でデータを受信する時間間隔のジッタに基づいてネットワークジッタの問題を解決する方法が開示されていない。
【発明の概要】
【０００５】
本発明は、受信側でデータを受信する時間間隔のジッタに基づいてネットワークジッタを解決するための、ネットワークジッタ処理方法、装置、端末デバイス、プログラム及び記録媒体を提供する。 
【０００６】
本発明の実施例に係る第１の態様によると、ネットワークジッタ処理方法を提供する。
【０００７】
上記方法は、
複数の音声データパケットを受信し、各音声データパケットの受信タイミングを記録するステップと、
上記受信タイミングに基づいて、受信した上記複数の音声データパケットの中の全ての互いに隣接する二つの音声データパケット同士の間の時間間隔を算出するステップと、
各時間間隔が属する所定の区間に基づいて、上記時間間隔の確率分布を統計するステップと、
上記確率分布及び許可ジッタ確率に基づいて、バッファーゾーン目標サイズを算出するステップと、
上記バッファーゾーン目標サイズに基づいてバッファーゾーンを調整することにより、ネットワークジッタを解決するステップと
を含む。
【０００８】
本発明の実施例が提供する構成の有益な効果は以下のとおりである。
【０００９】
受信側が音声データパケットを受信する時間間隔の確率分布がネットワークジッタの変化に従って変化されるから、受信側が音声データパケットを受信する時間間隔はランダム変数である。本実施例によると、時間間隔の確率分布及び許可ジッタ確率に基づいてバッファーゾーン目標サイズを算出するから、バッファーゾーン目標サイズは、ネットワークジッタに従って変化される。それで、バッファーゾーン目標サイズに基づいてバッファーゾーンを調整して、バッファーゾーンのサイズがネットワークジッタにしたがって変化されるようにすることができる。バッファーゾーンのサイズがネットワークジッタを解決する能力と密接に関連するため、バッファーゾーン目標サイズに従ってバッファーゾーンを調整してネットワークジッタを解決できる。
【００１０】
第１の態様の第１の実施方法において、
ｎ番目の時間間隔は、Ｊｎ＝Ｒｎ−Ｒｎ−１であり、ここで、Ｒｎは、ｎ番目の音声データパケットの受信タイミングであり、Ｒｎ−１は、ｎ−１番目の音声データパケットの受信タイミングであり、１≦ｎ≦（Ｎ−１）であり、Ｎは、上記音声データパケットの合計数であり、
上記所定の区間の数は、複数であり、ｉ番目の所定の区間は、
0006382345.tif 000002
であり、ここで、Ｔは、送信側が上記音声データパケットを送信する固定の時間間隔であり、Ｋは、正の整数であり、
上記各時間間隔が属する所定の区間に基づいて、上記時間間隔の確率分布を統計するステップは、
全ての時間間隔の中で各所定の区間にそれぞれ落ちる時間間隔の数であるＮｉ，ｉ≧０を統計するステップと、
各Ｎｉ及び上記音声データパケットの合計数Ｎに基づいて、上記時間間隔が各所定の区間に落ちる確率
0006382345.tif 000003
を算出するステップと
を含み、
ここで、ｉは、所定の区間の識別番号であり、Ｎｉ≧０である。
【００１１】
本発明の実施例が提供する構成の有益な効果は以下のとおりである。
【００１２】
全ての時間間隔の中で各所定の区間にそれぞれ落ちる時間間隔の数を統計して、音声データパケットの合計数に対する各々の所定の区間の時間間隔の数の比率である、時間間隔が上記所定の区間に落ちる確率に基づいて、時間間隔が各所定の区間に落ちる確率を得ることにより、時間間隔の確率分布を得ることができる。
【００１３】
第１の態様の第１の実施方法を基に、第１の態様の第２の実施方法において、
Ｎ≧Ｎｍａｘである場合、いずれか一つのｎに対して、ｎ≧Ｎｍａｘであると、（ｎ−Ｎｍａｘ＋１）番目の時間間隔が属する所定の区間に対応される時間間隔の数から１を引き算し、ここで、Ｎｍａｘは、上記音声データパケットの合計数の閾値である。
【００１４】
本発明の実施例が提供する構成の有益な効果は以下のとおりである。
【００１５】
一つの新たな時間間隔が増加される度に一つの存在した時間が最も長い時間間隔を減少させることにより、各所定の区間に存在する時間間隔の合計数が、受信側で受信する音声データパケットの増加にしたがって、変化されないように保証することができる。
【００１６】
第１の態様の第２の実施方法を基に、第１の態様の第３の実施方法において、
上記確率分布及び許可ジッタ確率に基づいて、バッファーゾーン目標サイズを算出するステップは、条件
0006382345.tif 000004
を満たすｍを算出するステップと、
複数の上記所定の区間の中で０番目の所定の区間から連続してｍ番目の所定の区間までのサイズの合計を、上記バッファーゾーン目標サイズとするステップと
を含み、
ここで、Ｐは、既知のジッタ許可確率である。
【００１７】
第１の態様乃至第１の態様の第３の実施方法のいずれかの一実施方法において、
上記バッファーゾーン目標サイズに基づいてバッファーゾーンを調整することにより、ネットワークジッタを解決するステップは、
バッファーゾーンの現在サイズが上記バッファーゾーン目標サイズ未満であり、且つ、バッファーゾーン有効長さが０であると、上記バッファーゾーンの中でデータを生成してフレーム補間を行うステップと、
バッファーゾーンの現在サイズが上記バッファーゾーン目標サイズ未満ではないと、上記バッファーゾーン中の非音声データを削除することにより、上記バッファーゾーンの現在サイズと上記バッファーゾーン目標サイズとの間の差分が所定の範囲内に入るようにするステップと
を含む。
【００１８】
本発明の実施例が提供する構成の有益な効果は以下のとおりである。
【００１９】
時間間隔の確率分布及び許可ジッタ確率に基づいてバッファーゾーン目標サイズを算出して、バッファーゾーン目標サイズに基づいてバッファーゾーンの現在サイズを調整することにより、ネットワークジッタにしたがってバッファーゾーンのサイズを動的に調節して、ネットワークジッタを解決した。
【００２０】
第１の態様の第４の実施方法を基に、第１の態様の第５の実施方法において、
上記複数の音声データパケットを受信し、各音声データパケットの受信タイミングを記録するステップの後に、
上記複数の音声データパケット中の各々の音声データパケットを復号化して、音声データ、又は、非音声データを得て、上記音声データ、又は、上記非音声データを上記バッファーゾーンに入れるステップ
をさらに含む。
【００２１】
本発明の実施例が提供する構成の有益な効果は以下のとおりである。
【００２２】
受信側のデコーダと再生モジュールとの間にバッファーゾーンを追加して、受信した音声データパケットを、受信側のＲＴＰメッセージ受信モジュールによってＲＴＰメッセージに変換してデコーダに伝送する。その後、デコーダによって、ＲＴＰメッセージに対して復号化処理を行って、音声データ、又は、非音声データを得て、音声データ、又は、非音声データをバッファーゾーンに入れて、バッファーゾーンを動的に調節することにより、ネットワークジッタに対する処理を実現する。
【００２３】
本発明の実施例に係る第２の態様によると、
ネットワークジッタ処理装置は、
複数の音声データパケットを受信し、各音声データパケットの受信タイミングを記録する受信記録モジュールと、
上記受信タイミングに基づいて、受信した上記複数の音声データパケットの中の全ての互いに隣接する二つの音声データパケット同士の間の時間間隔を算出する算出モジュールと、
各時間間隔が属する所定の区間に基づいて、上記時間間隔の確率分布を統計する統計モジュールと、
調整モジュールと
を備え、
上記算出モジュールは、さらに、上記確率分布及び許可ジッタ確率に基づいて、バッファーゾーン目標サイズを算出し、
上記調整モジュールは、上記バッファーゾーン目標サイズに基づいてバッファーゾーンを調整することにより、ネットワークジッタを解決する。
【００２４】
本発明の実施例が提供する構成の有益な効果は以下のとおりである。
【００２５】
受信側が音声データパケットを受信する時間間隔の確率分布がネットワークジッタの変化に従って変化されるから、受信側が音声データパケットを受信する時間間隔はランダム変数である。本実施例によると、時間間隔の確率分布及び許可ジッタ確率に基づいてバッファーゾーン目標サイズを算出するから、バッファーゾーン目標サイズは、ネットワークジッタに従って変化される。それで、バッファーゾーン目標サイズに基づいてバッファーゾーンを調整して、バッファーゾーンのサイズがネットワークジッタにしたがって変化されるようにすることができる。バッファーゾーンのサイズがネットワークジッタを解決する能力と密接に関連するため、バッファーゾーン目標サイズに従ってバッファーゾーンを調整してネットワークジッタを解決できる。
【００２６】
第２の態様の第１の実施方法において、
ｎ番目の時間間隔は、Ｊｎ＝Ｒｎ−Ｒｎ−１であり、ここで、Ｒｎは、ｎ番目の音声データパケットの受信タイミングであり、Ｒｎ−１は、ｎ−１番目の音声データパケットの受信タイミングであり、１≦ｎ≦（Ｎ−１）であり、Ｎは、上記音声データパケットの合計数であり、
上記所定の区間の数は、複数であり、ｉ番目の所定の区間は、
0006382345.tif 000005
であり、ここで、Ｔは、送信側が上記音声データパケットを送信する固定の時間間隔であり、Ｋは、正の整数であり、
上記統計モジュールは、
全ての時間間隔の中で各所定の区間にそれぞれ落ちる時間間隔の数であるＮｉ，ｉ≧０を統計する第１統計サブモジュールと、
各Ｎｉ及び上記音声データパケットの合計数Ｎに基づいて、上記時間間隔が各所定の区間に落ちる確率
0006382345.tif 000006
を算出する第１算出サブモジュールと
を備え
ここで、ｉは、所定の区間の識別番号であり、Ｎｉ≧０である。
【００２７】
本発明の実施例が提供する構成の有益な効果は以下のとおりである。
【００２８】
全ての時間間隔の中で各所定の区間にそれぞれ落ちる時間間隔の数を統計して、音声データパケットの合計数に対する各々の所定の区間の時間間隔の数の比率である、時間間隔が上記所定の区間に落ちる確率に基づいて、時間間隔が各所定の区間に落ちる確率を得ることにより、時間間隔の確率分布を得ることができる。
【００２９】
第２の態様の第１の実施方法を基に、第２の態様の第２の実施方法において、
上記統計モジュールは、
Ｎ≧Ｎｍａｘである場合、いずれか一つのｎに対して、ｎ≧Ｎｍａｘであると、（ｎ−Ｎｍａｘ＋１）番目の時間間隔が属する所定の区間に対応される時間間隔の数から１を引き算する第２統計サブモジュール
をさらに備え、
ここで、Ｎｍａｘは、上記音声データパケットの合計数の閾値である。
【００３０】
本発明の実施例が提供する構成の有益な効果は以下のとおりである。
【００３１】
一つの新たな時間間隔が増加される度に一つの存在した時間が最も長い時間間隔を減少させることにより、各所定の区間に存在する時間間隔の合計数が、受信側で受信する音声データパケットの増加にしたがって、変化されないように保証することができる。
【００３２】
第２の態様の第２の実施方法を基に、第２の態様の第３の実施方法において、
上記算出モジュールは、条件
0006382345.tif 000007
を満たすｍを算出する第２算出サブモジュールと、
複数の上記所定の区間の中で０番目の所定の区間から連続してｍ番目の所定の区間までのサイズの合計を、上記バッファーゾーン目標サイズとする第３算出サブモジュールと
を備え、
ここで、Ｐは、既知のジッタ許可確率である。
【００３３】
第２の態様乃至第２の態様の第３の実施方法のいずれかの一実施方法を基に、第２の態様の第４の実施方法において、
上記調整モジュールは、
バッファーゾーンの現在サイズが上記バッファーゾーン目標サイズ未満であり、且つ、バッファーゾーン有効長さが０であると、上記バッファーゾーンの中でデータを生成してフレーム補間を行う第１調整サブモジュールと、
バッファーゾーンの現在サイズが上記バッファーゾーン目標サイズ未満ではないと、上記バッファーゾーン中の非音声データを削除することにより、上記バッファーゾーンの現在サイズと上記バッファーゾーン目標サイズとの間の差分が所定の範囲内に入るようにする第２調整サブモジュールと
を備える。
【００３４】
本発明の実施例が提供する構成の有益な効果は以下のとおりである。
【００３５】
時間間隔の確率分布及び許可ジッタ確率に基づいてバッファーゾーン目標サイズを算出して、バッファーゾーン目標サイズに基づいてバッファーゾーンの現在サイズを調整することにより、ネットワークジッタにしたがってバッファーゾーンのサイズを動的に調節して、ネットワークジッタを解決した。
【００３６】
第２の態様の第４の実施方法を基に、第２の態様の第５の実施方法において、
上記装置は、
上記受信記録モジュールが複数の音声データパケットを受信して、各音声データパケットの受信タイミングを記録した後に、上記複数の音声データパケット中の各々の音声データパケットを復号化して、音声データ、又は、非音声データを得て、上記音声データ、又は、上記非音声データを上記バッファーゾーンに入れる復号化モジュール
をさらに備える。
【００３７】
本発明の実施例が提供する構成の有益な効果は以下のとおりである。
【００３８】
受信側のデコーダと再生モジュールとの間にバッファーゾーンを追加して、受信した音声データパケットを、受信側のＲＴＰメッセージ受信モジュールによってＲＴＰメッセージに変換してデコーダに伝送する。その後、デコーダによって、ＲＴＰメッセージに対して復号化処理を行って、音声データ、又は、非音声データを得て、音声データ、又は、非音声データをバッファーゾーンに入れて、バッファーゾーンを動的に調節することにより、ネットワークジッタに対する処理を実現する。
【００３９】
本発明の実施例に係る第３の態様によると、
端末デバイスは、
プロセッサと、
上記プロセッサが実行可能な命令を記憶するためのメモリと
を備え、
上記プロセッサは、
複数の音声データパケットを受信し、各音声データパケットの受信タイミングを記録し、
上記受信タイミングに基づいて、受信した上記複数の音声データパケットの中の全ての互いに隣接する二つの音声データパケット同士の間の時間間隔を算出し、
各時間間隔が属する所定の区間に基づいて、上記時間間隔の確率分布を統計し、
上記確率分布及び許可ジッタ確率に基づいて、バッファーゾーン目標サイズを算出し、
上記バッファーゾーン目標サイズに基づいてバッファーゾーンを調整することにより、ネットワークジッタを解決する
ように構成される。
本発明の実施例の第４の態様によると、プログラムを提供し、当該プログラムは、プロセッサに実行されることにより、上記の方法を実現する。
本発明の実施例の第５の態様によると、記録媒体を提供し、当該記録媒体には、上記プログラムが記録されている。
【００４０】
以上の統括な記述と以下の細部記述は、ただ例示的なものであり、本発明を制限するものではないと、理解するべきである。
【図面の簡単な説明】
【００４１】
ここでの図面は、明細書に合併されて本明細書の一部を構成して本発明に合致する実施例を示し、明細書とともに本発明の原理の説明に用いられる。
【００４２】
【図１Ａ】例示的な一実施例に係るネットワークジッタ処理方法の実施例１を示すフローチャートである。
【図１Ｂ】図１Ａに示した実施例中の受信側を示す模式図である。
【図２】例示的な一実施例に係るネットワークジッタ処理方法の実施例２を示すフローチャートである。
【図３】例示的な一実施例に係るネットワークジッタ処理方法の実施例３を示すフローチャートである。
【図４】例示的な一実施例に係るネットワークジッタ処理方法の実施例４を示すフローチャートである。
【図５】例示的な一実施例に係るネットワークジッタ処理方法の実施例５を示すフローチャートである。
【図６】例示的な一実施例に係るネットワークジッタ処理装置の実施例１を示すブロック図である。
【図７】例示的な一実施例に係るネットワークジッタ処理装置の実施例２を示すブロック図である。
【図８】例示的な一実施例に係る端末デバイスを示すブロック図である。
【図９】例示的な一実施例に係るもう一端末デバイスを示すブロック図である。
【００４３】
以上の図面を通じて、本発明の実施例を例示しているが、そのさらに具体的な内容については後述する。これらの図面及び文字記載は、本発明の趣旨の範囲を限定するためのものではなく、特定の実施例を参照として、当業者に本発明のコンセプトを理解させるためのものである。
【発明を実施するための形態】
【００４４】
ここで、例示的な実施例を詳細に説明する。また、説明中の例は、図面に示している。以下の記述において、図面を説明する際に特に説明しない場合、異なる図面中の同一の符号は、同一或は同様な要素を意味する。以下の例示的な実施例において記述する実施方法は、本発明に合致するすべての実施方法を代表するものではない。逆に、それらは、添付の特許請求の範囲において詳細に記述された、本発明のいくつかの態様と合致する装置、及び方法の例に過ぎない。
【００４５】
図１Ａは、例示的な一実施例に係るネットワークジッタ処理方法の実施例１を示すフローチャートである。上記方法は、ネットワークジッタ処理装置によって実行される。上記ネットワークジッタ処理装置は、端末デバイス中に配置される。図１Ａに示したように、上記方法は、以下のステップを含む。
【００４６】
ステップ１０１において、複数の音声データパケットを受信し、各音声データパケットの受信タイミングを記録する。
【００４７】
本実施例において、二つの端末デバイスは、ＶｏＩＰを利用して音声通信をしている。二つの端末デバイスが音声通信する時に使用するプロトコルは、リアルタイム転送プロトコル（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌであり、ＲＴＰと略称する）である。送信側は、受信側のユーザが送信側のユーザの音声を聞いている間に、受信側に複数のＲＴＰメッセージを送信する。各々のＲＴＰメッセージは、音声データを含み、受信側は上記複数のＲＴＰメッセージを受信し、各々のＲＴＰメッセージを受信した受信タイミングを記録する。
【００４８】
ステップ１０２において、上記受信タイミングに基づいて、受信した上記複数の音声データパケットの中の全ての互いに隣接する二つの音声データパケット同士の間の時間間隔を算出する。
【００４９】
ｎ番目の時間間隔は、Ｊｎ＝Ｒｎ−Ｒｎ−１であり、ここで、Ｒｎは、ｎ番目の音声データパケットの受信タイミングであり、Ｒｎ−１は、ｎ−１番目の音声データパケットの受信タイミングであり、１≦ｎ≦（Ｎ−１）であり、Ｎは、上記音声データパケットの合計数である。
【００５０】
各々のＲＴＰメッセージの受信タイミングに基づいて、全ての互いに隣接する二つの音声データパケット同士の間の時間間隔を算出する。例えば、ｎ−１番目の音声データパケットの受信タイミングがＲｎ−１であり、ｎ番目の音声データパケットの受信タイミングがＲｎであると、Ｊｎ＝Ｒｎ−Ｒｎ−１は、ｎ番目の時間間隔を示し、全ての上記ＲＴＰメッセージの数は、Ｎであり、ここで、１≦ｎ≦（Ｎ−１）である。
【００５１】
ステップ１０３において、各時間間隔が属する所定の区間に基づいて、上記時間間隔の確率分布を統計する。
【００５２】
本実施例において、上記所定の区間の数は、複数であり、ｉ番目の所定の区間は、
0006382345.tif 000008
であり、ここで、Ｔは、送信側が上記音声データパケットを送信する固定の時間間隔であり、Ｋは、正の整数であり、ｉ≧０である。全ての時間間隔の中で各所定の区間にそれぞれ落ちる時間間隔の数を統計する。即ち、各所定の区間
0006382345.tif 000009
に対して、全ての時間間隔中で上記所定の区間に落ちる時間間隔の数Ｎｉを統計する。Ｊｎがｎにしたがって変化されるから、受信側が受信する互いに隣接する二つの音声データパケット同士の間の時間間隔Ｊは、ランダム変数である。音声データパケットの合計数Ｎに対する上記所定の区間に対応される時間間隔の数Ｎｉの比率が、ランダム変数Ｊが上記所定の区間に落ちる確率ｐｉである。ランダム変数Ｊが各所定の区間に落ちる確率
ｐｉ，ｉ≧０
に基づいて、ランダム変数Ｊの確率分布を得ることができる。オプションとして、Ｋ＝８であり、Ｋが大きくなるほど、統計区間の分割も細かくなり、算出された確率分布も正確になる。しかし、Ｋの値が大きすぎると、統計するパケットの数が十分に多くない場合、逆に、確率分布図においてある位置でのデータが小さすぎになって、データ歪みが発生する。
【００５３】
ステップ１０４において、上記確率分布及び許可ジッタ確率に基づいて、バッファーゾーン目標サイズを算出する。
【００５４】
本実施例において、許可ジッタ確率は、バッファーゾーンが克服できるネットワークジッタの確率であり、ランダム変数Ｊが前からｍ＋１個の所定の区間に落ちる確率の合計
0006382345.tif 000010
、及び、前からｍ＋２個の所定の区間に落ちる確率の合計
0006382345.tif 000011
をそれぞれ加算して、許可ジッタ確率Ｐが条件
0006382345.tif 000012
を満たすと、０番目の所定の区間から連続してｍ番目の所定の区間までのサイズの合計を、バッファーゾーン目標サイズとする。
【００５５】
ステップ１０５において、上記バッファーゾーン目標サイズに基づいてバッファーゾーンを調整することにより、ネットワークジッタを解決する。
【００５６】
図１Ｂを参照すると、受信側のデコーダと再生モジュールとの間に、バッファーゾーンを追加して、受信した音声データパケットを、受信側のＲＴＰメッセージ受信モジュールによってＲＴＰメッセージに変換してデコーダに伝送する。その後、デコーダによって、ＲＴＰメッセージに対して復号化処理を行って、音声データ、又は、非音声データを得て、音声データ、又は、非音声データをバッファーゾーンに入れる。オプションとして、一つのＲＴＰメッセージに対して復号化処理を行った後に得る音声データ、又は、非音声データの長さがＬであると、バッファーゾーンの合計のサイズは、Ｋ＊Ｌである。即ち、バッファーゾーンをＫ個のブロックに分割すると、各ブロックの長さはＬであり、それぞれのシリアルナンバーを、順に、０、１、２、……、Ｋ−１とする。再生モジュールは、定期的に、バッファーゾーンからデータを読み取って再生させる。再生モジュールがバッファーゾーンからシリアルナンバーがＰｒｅａｄであるブロックからデータを読み取って再生させる場合、デコーダは、復号化して出力するデータをシリアルナンバーがＰｗｒｉｔｅであるブロックに書き込み、Ｐｗｒｉｔｅ−Ｐｒｅａｄは、バッファーゾーンの有効データ長さを示し、バッファーゾーンによって発生された遅延も代表する。
【００５７】
バッファーゾーンのサイズがネットワークジッタを解決する能力と密接に関連するため、上記バッファーゾーン目標サイズに基づいてバッファーゾーンを調整することにより、ネットワークジッタを解決する。
【００５８】
本実施例において、受信側が音声データパケットを受信する時間間隔の確率分布がネットワークジッタの変化に従って変化されるから、受信側が音声データパケットを受信する時間間隔はランダム変数である。本実施例によると、時間間隔の確率分布及び許可ジッタ確率に基づいてバッファーゾーン目標サイズを算出するから、バッファーゾーン目標サイズは、ネットワークジッタに従って変化される。それで、バッファーゾーン目標サイズに基づいてバッファーゾーンを調整して、バッファーゾーンのサイズがネットワークジッタにしたがって変化されるようにすることができる。バッファーゾーンのサイズがネットワークジッタを解決する能力と密接に関連するため、バッファーゾーン目標サイズに従ってバッファーゾーンを調整してネットワークジッタを解決できる。
【００５９】
図２は、例示的な一実施例に係るネットワークジッタ処理方法の実施例２を示すフローチャートである。図２に示したように、上記方法は、以下のステップを含む。
【００６０】
ステップ２０１において、複数の音声データパケットを受信し、各音声データパケットの受信タイミングを記録する。
【００６１】
ステップ２０２において、上記受信タイミングに基づいて、受信した上記複数の音声データパケットの中の全ての互いに隣接する二つの音声データパケット同士の間の時間間隔を算出する。
【００６２】
ステップ２０３において、全ての時間間隔の中で各所定の区間にそれぞれ落ちる時間間隔の数であるＮｉ，ｉ≧０を統計し、ｉは、所定の区間の識別番号であり、Ｎｉ≧０である。
【００６３】
本実施例において、上記所定の区間の数は、複数であり、ｉ番目の所定の区間は、
0006382345.tif 000013
であり、ｉ≧０である。全てのＲＴＰメッセージの数がＮであると、全ての時間間隔はＪ１、Ｊ２・・・ＪＮ−１であり、Ｊ１、Ｊ２・・・ＪＮ−１の中で各々の所定の区間にそれぞれ落ちる数を統計し、ＮｉでＪ１、Ｊ２・・・ＪＮ−１の中でｉ番目の所定の区間に落ちる数を示す。例えば、Ｊ１、Ｊ２・・・ＪＮ−１の中でＪ２、Ｊ３及びＪ１０のみが条件
0006382345.tif 000014
を満たすと、即ち、Ｊ１、Ｊ２・・・ＪＮ−１の中で３つの値がｉ番目の所定の区間範囲内に落ちると、Ｎｉ＝３である。その他の所定の区間に対しても、同様である。
【００６４】
ステップ２０４において、各Ｎｉ及び上記音声データパケットの合計数Ｎに基づいて、上記時間間隔が各所定の区間に落ちる確率
0006382345.tif 000015
を算出する。
【００６５】
ステップ２０３によって各所定の区間に対応される統計値を得ることができる、例えば、ｉ番目の所定の区間にＮｉ個の統計値が対応されていると、
0006382345.tif 000016
は、ランダム変数Ｊがｉ番目の所定の区間に落ちる確率であり、このようにして、ランダム変数Ｊが各所定の区間に落ちる確率を算出できる。
【００６６】
ステップ２０５において、上記確率分布及び許可ジッタ確率に基づいて、バッファーゾーン目標サイズを算出する。
【００６７】
ステップ２０６において、上記バッファーゾーン目標サイズに基づいてバッファーゾーンを調整することにより、ネットワークジッタを解決する。
【００６８】
本実施例において、全ての時間間隔の中で各所定の区間にそれぞれ落ちる時間間隔の数を統計して、音声データパケットの合計数に対する各々の所定の区間の時間間隔の数の比率である時間間隔が上記所定の区間に落ちる確率に基づいて、時間間隔が各所定の区間に落ちる確率を得ることにより、時間間隔の確率分布を得ることができる。
【００６９】
図３は、例示的な一実施例に係るネットワークジッタ処理方法の実施例３を示すフローチャートである。図３に示したように、上記方法は、以下のステップを含む。
【００７０】
ステップ３０１において、複数の音声データパケットを受信し、各音声データパケットの受信タイミングを記録する。
【００７１】
ステップ３０２において、上記受信タイミングに基づいて、受信した上記複数の音声データパケットの中の全ての互いに隣接する二つの音声データパケット同士の間の時間間隔を算出する。
【００７２】
ステップ３０３において、全ての時間間隔の中で各所定の区間にそれぞれ落ちる時間間隔の数であるＮｉ，ｉ≧０を統計し、ここで、ｉは、所定の区間の識別番号であり、Ｎｉ≧０である。
【００７３】
ステップ３０４において、各Ｎｉ及び上記音声データパケットの合計数Ｎに基づいて、上記時間間隔が各所定の区間に落ちる確率
0006382345.tif 000017
を算出する。
【００７４】
ステップ３０５において、Ｎ≧Ｎｍａｘである場合、いずれか一つのｎに対して、ｎ≧Ｎｍａｘであると、（ｎ−Ｎｍａｘ＋１）番目の時間間隔が属する所定の区間に対応される時間間隔の数から１を引き算し、ここで、Ｎｍａｘは、上記音声データパケットの合計数の閾値である。
【００７５】
本実施例において、受信側によって現在既に１０００個の音声データパケットを受信し、上記１０００個の音声データパケットのシリアルナンバーが、順に、０，１，２……９９９であり、１０００個の音声データパケットに９９９個の時間間隔Ｊ１、Ｊ２・・・Ｊ９９９が対応されていると仮定すると、受信側が受信できる音声データパケットの合計数の閾値は１０００であり、受信側は、シリアルナンバーが１０００である音声データパケットを受信した際に、Ｊ１０００を算出する。Ｊ１０００が１０番目の所定の区間に属すると仮定すると、１０番目の所定の区間に対応される統計値に１を加算する同時に、Ｊ１が属する所定の区間に対応される統計値から１を引き算する。同様に、受信側は、シリアルナンバーが１００１である音声データパケットを受信すると、Ｊ１００１を算出し、Ｊ１００１が８番目の所定の区間に属すると仮定すると、８番目の所定の区間に対応される統計値に１を加算する同時に、Ｊ２が属する所定の区間に対応される統計値から１を引き算する。即ち、一つの新たな時間間隔が増加される度に、一つの存在した時間が最も長い時間間隔を減少させる。各所定の区間に存在する時間間隔の合計数が、受信側で受信する音声データパケットの増加にしたがって、変化されないように保証することができる。
【００７６】
ステップ３０６において、上記確率分布及び許可ジッタ確率に基づいて、バッファーゾーン目標サイズを算出する。
【００７７】
ステップ３０７において、上記バッファーゾーン目標サイズに基づいてバッファーゾーンを調整することにより、ネットワークジッタを解決する。
【００７８】
本実施例において、一つの新たな時間間隔が増加される度に一つの存在した時間が最も長い時間間隔を減少させることにより、各所定の区間に存在する時間間隔の合計数が、受信側で受信する音声データパケットの増加にしたがって、変化されないように保証することができる。
【００７９】
図４は、例示的な一実施例に係るネットワークジッタ処理方法の実施例４を示すフローチャートである。図４に示したように、上記方法は、以下のステップを含む。
【００８０】
ステップ４０１において、複数の音声データパケットを受信し、各音声データパケットの受信タイミングを記録する。
【００８１】
ステップ４０２において、上記受信タイミングに基づいて、受信した上記複数の音声データパケットの中の全ての互いに隣接する二つの音声データパケット同士の間の時間間隔を算出する。
【００８２】
ステップ４０３において、全ての時間間隔の中で各所定の区間にそれぞれ落ちる時間間隔の数であるＮｉ，ｉ≧０を統計し、ここで、ｉは、所定の区間の識別番号であり、Ｎｉ≧０である。
【００８３】
ステップ４０４において、各Ｎｉ及び上記音声データパケットの合計数Ｎに基づいて、上記時間間隔が各所定の区間に落ちる確率
0006382345.tif 000018
を算出する。
【００８４】
ステップ４０５において、Ｎ≧Ｎｍａｘである場合、いずれか一つのｎに対して、Ｎ≧Ｎｍａｘであると、（ｎ−Ｎｍａｘ＋１）番目の時間間隔が属する所定の区間に対応される時間間隔の数から１を引き算し、ここで、Ｎｍａｘは、上記音声データパケットの合計数の閾値である。
【００８５】
ステップ４０６において、条件
0006382345.tif 000019
を満たすｍを算出し、ここで、Ｐは、既知のジッタ許可確率である。
【００８６】
許可ジッタ確率は、バッファーゾーンが克服できるネットワークジッタの確率であり、ランダム変数Ｊが前からｍ＋１個の所定の区間に落ちる確率の合計
0006382345.tif 000020
、及び、前からｍ＋２個の所定の区間に落ちる確率の合計
0006382345.tif 000021
をそれぞれ加算し、所定の許可ジッタ確率である既知のＰを予め設定して、条件
0006382345.tif 000022
を満たすｍを算出する。
【００８７】
ステップ４０７において、複数の上記所定の区間の中で０番目の所定の区間から連続してｍ番目の所定の区間までのサイズの合計を、上記バッファーゾーン目標サイズとする。
【００８８】
ステップ４０８において、バッファーゾーンの現在サイズが上記バッファーゾーン目標サイズ未満であると、上記バッファーゾーンの中でデータを生成することにより、フレーム補間を行い、バッファーゾーンの現在サイズが上記バッファーゾーン目標サイズ未満ではないと、上記バッファーゾーン中の非音声データを削除することにより、上記バッファーゾーンの現在サイズと上記バッファーゾーン目標サイズとの間の差分が所定の範囲内に入るようにする。
【００８９】
上記バッファーゾーン目標サイズに基づいてバッファーゾーンを調整することにより、ネットワークジッタを解決する。具体的な調整方法は、バッファーゾーンの現在サイズが上記バッファーゾーン目標サイズ未満であると、上記バッファーゾーンの中でデータを生成してフレーム補間を行う。フレーム補間を行う方法は、具体的に、音声データに対しては、ピッチ周期に基づいて繰り返すことにより、音声の安定を保証し、非音声データに対しては、バックグラウンドノイズのパワーの推定値に基づいて、ノイズを生成して平滑化する。バッファーゾーンの現在サイズが上記バッファーゾーン目標サイズ未満ではないと、上記バッファーゾーン中の非音声データを削除して、バッファーゾーンの現在サイズを、上記バッファーゾーンの現在サイズと上記バッファーゾーン目標サイズと間の差分が所定の範囲内に入るまで、減少させてから、上記バッファーゾーン中の非音声データの削除を停止する。
【００９０】
本実施例において、時間間隔の確率分布及び許可ジッタ確率に基づいてバッファーゾーン目標サイズを算出して、バッファーゾーン目標サイズに基づいてバッファーゾーンの現在サイズを調整することにより、ネットワークジッタにしたがってバッファーゾーンのサイズを動的に調節して、ネットワークジッタを解決した。
【００９１】
図５は、例示的な一実施例に係るネットワークジッタ処理方法の実施例５を示すフローチャートである。図５に示したように、上記方法は、以下のステップを含む。
【００９２】
ステップ５０１において、複数の音声データパケットを受信し、各音声データパケットの受信タイミングを記録する。
【００９３】
ステップ５０２において、上記複数の音声データパケット中の各々の音声データパケットを復号化して、音声データ、又は、非音声データを得て、上記音声データ、又は、上記非音声データを上記バッファーゾーンに入れる。
【００９４】
具体的には、図１Ｂに示したように、ステップ５０２の方法は、実施例１の図１Ｂに関する記述と同一であるから、ここでは繰り返して説明しない。
【００９５】
ステップ５０３において、上記受信タイミングに基づいて、受信した上記複数の音声データパケットの中の全ての互いに隣接する二つの音声データパケット同士の間の時間間隔を算出する。
【００９６】
ステップ５０４において、全ての時間間隔の中で各所定の区間にそれぞれ落ちる時間間隔の数であるＮｉ，ｉ≧０を統計し、ここで、ｉは、所定の区間の識別番号であり、Ｎｉ≧０である。
【００９７】
ステップ５０５において、各Ｎｉ及び上記音声データパケットの合計数Ｎに基づいて、上記時間間隔が各所定の区間に落ちる確率
0006382345.tif 000023
を算出する。
【００９８】
ステップ５０６において、Ｎ≧Ｎｍａｘである場合、いずれか一つのｎに対して、、ｎ≧Ｎｍａｘであると、（ｎ−Ｎｍａｘ＋１）番目の時間間隔が属する所定の区間に対応される時間間隔の数から１を引き算し、ここで、Ｎｍａｘは、上記音声データパケットの合計数の閾値である。
【００９９】
ステップ５０７において、条件
0006382345.tif 000024
を満たすｍを算出し、ここで、Ｐは、既知のジッタ許可確率である。
【０１００】
許可ジッタ確率は、バッファーゾーンが克服できるネットワークジッタの確率であり、ランダム変数Ｊが前からｍ＋１個の所定の区間に落ちる確率の合計
0006382345.tif 000025
、及び、前からｍ＋２個の所定の区間に落ちる確率の合計
0006382345.tif 000026
をそれぞれ加算し、所定の許可ジッタ確率である既知のＰを予め設定して、条件
0006382345.tif 000027
を満たすｍを算出する。
【０１０１】
ステップ５０８において、複数の上記所定の区間の中で０番目の所定の区間から連続してｍ番目の所定の区間までのサイズの合計を、上記バッファーゾーン目標サイズとする。
【０１０２】
ステップ５０９において、バッファーゾーンの現在サイズが上記バッファーゾーン目標サイズ未満であり、且つ、バッファーゾーン有効長さが０であると、上記バッファーゾーンの中でデータを生成することにより、フレーム補間を行い、バッファーゾーンの現在サイズが上記バッファーゾーン目標サイズ未満でないと、上記バッファーゾーン中の非音声データを削除することにより、上記バッファーゾーンの現在サイズと上記バッファーゾーン目標サイズと間の差分が所定の範囲内に入るようにする。
【０１０３】
一定のネットワーク条件及び一定のパケット損失許可確率が予め設定されている場合に、バッファーゾーン目標長さが３であるとすると、ネットワークが閉塞されると、バッファーゾーン内の有効データ長さが２，１になり、この場合は、フレーム補間を行う必要がない。もし、この時、閉塞されたデータパケットが連続的に送られると、バッファーゾーンの有効長さは、増加されることになり、この場合は、フレーム補間を行う必要がない。もし、閉塞されたデータパケットが連続的に送られないと、バッファーゾーン有効長さが０になり、フレーム補間を行う必要がある。
【０１０４】
ネットワーク条件が悪くなり、パケット損失許可確率が変わらないと仮定すると、バッファーゾーンの目標長さは、例えば５のように長くなる。この場合は、閉塞される時に、バッファーゾーンに、４フレームの再生できるデータが存在することを、意味する。４フレームのデータを再生させた後にも、閉塞されたデータパケットが連続的に送られないと、フレーム補間を行う必要がある。このように、バッファーゾーンの目標長さが長くなると、バッファーゾーンフレーム補間を行う確率が減少され、音質を改善できる。
【０１０５】
ネットワーク条件がよくなり、パケット損失許可確率が変わらないと仮定すると、バッファーゾーンの目標長さは、例えば１のように小さくなる。この場合は、バッファーゾーンに引き入れる遅延が、１フレームのみになり、遅延が短くなっていることを、意味する。しかし、ネットワークが閉塞されると、１フレームのデータを再生させた後に、フレーム補間を行う必要がある。
【０１０６】
ネットワーク条件が変わらないし、パケット損失許可確率が大きくなると仮定すると、理論的には、バッファーゾーンの目標長さが長くなり、この場合は、遅延が増加されたことを意味する。しかし、フレーム補間を行う確率は低くなり、この場合は、ユーザがパケット損失許可確率を大きく設定したことの代価となる。
【０１０７】
ネットワーク条件が変わらないし、パケット損失許可確率が小さくなると仮定すると、理論的には、バッファーゾーンの目標長さが小さくなり、この場合は、遅延が減少されたことを意味する。しかし、フレーム補間を行う確率が増加され、この場合は、ユーザが、相対的に多いパケット損失とフレーム補間を容認するかわりに、相対的に少ない遅延を求めるためである。
【０１０８】
本実施例において、受信側のデコーダと再生モジュールとの間にバッファーゾーンを追加して、受信した音声データパケットを、受信側のＲＴＰメッセージ受信モジュールによってＲＴＰメッセージに変換してデコーダに伝送する。その後、デコーダによって、ＲＴＰメッセージに対して復号化処理を行って、音声データ、又は、非音声データを得て、音声データ、又は、非音声データをバッファーゾーンに入れて、バッファーゾーンを動的に調節することにより、ネットワークジッタに対する処理を実現する。
【０１０９】
図６は、例示的な一実施例に係るネットワークジッタ処理装置の実施例１を示すブロック図である。図６に示したように、上記装置は、受信記録モジュール６１、算出モジュール６２、統計モジュール６３及び調整モジュール６４を備える。
【０１１０】
受信記録モジュール６１は、複数の音声データパケットを受信し、各音声データパケットの受信タイミングを記録する。
【０１１１】
算出モジュール６２は、上記受信タイミングに基づいて、受信した上記複数の音声データパケットの中の全ての互いに隣接する二つの音声データパケット同士の間の時間間隔を算出する。
【０１１２】
統計モジュール６３は、各時間間隔が属する所定の区間に基づいて、上記時間間隔の確率分布を統計する。
【０１１３】
算出モジュール６２は、さらに、上記確率分布及び許可ジッタ確率に基づいて、バッファーゾーン目標サイズを算出する。
【０１１４】
調整モジュール６４は、上記バッファーゾーン目標サイズに基づいてバッファーゾーンを調整することにより、ネットワークジッタを解決する。
【０１１５】
本実施例において、受信側が音声データパケットを受信する時間間隔の確率分布がネットワークジッタの変化に従って変化されるから、受信側が音声データパケットを受信する時間間隔はランダム変数である。本実施例によると、時間間隔の確率分布及び許可ジッタ確率に基づいてバッファーゾーン目標サイズを算出するから、バッファーゾーン目標サイズは、ネットワークジッタに従って変化される。それで、バッファーゾーン目標サイズに基づいてバッファーゾーンを調整して、バッファーゾーンのサイズがネットワークジッタにしたがって変化されるようにすることができる。バッファーゾーンのサイズがネットワークジッタを解決する能力と密接に関連するため、バッファーゾーン目標サイズに従ってバッファーゾーンを調整してネットワークジッタを解決できる。
【０１１６】
図７は、例示的な一実施例に係るネットワークジッタ処理装置の実施例２を示すブロック図である。図７に示したように、図６に示した実施例を基に、ｎ番目の時間間隔は、Ｊｎ＝Ｒｎ−Ｒｎ−１であり、ここで、Ｒｎは、ｎ番目の音声データパケットの受信タイミングであり、Ｒｎ−１は、ｎ−１番目の音声データパケットの受信タイミングであり、１≦ｎ≦（Ｎ−１）であり、Ｎは、上記音声データパケットの合計数であり、上記所定の区間の数は、複数であり、ｉ番目の所定の区間は、
0006382345.tif 000028
であり、ここで、Ｔは、送信側が上記音声データパケットを送信する固定の時間間隔であり、Ｋは、正の整数である。
【０１１７】
統計モジュール６３は、第１統計サブモジュール６３１、第１算出サブモジュール６３２及び第２統計サブモジュール６３３を備える。
【０１１８】
第１統計サブモジュール６３１は、全ての時間間隔の中で各所定の区間にそれぞれ落ちる時間間隔の数であるＮｉ，ｉ≧０を統計し、ｉは、所定の区間の識別番号であり、Ｎｉ≧０である。
【０１１９】
第１算出サブモジュール６３２は、各Ｎｉ及び上記音声データパケットの合計数Ｎに基づいて、上記時間間隔が各所定の区間に落ちる確率
0006382345.tif 000029
を算出する。
【０１２０】
第２統計サブモジュール６３３は、Ｎ≧Ｎｍａｘである場合、いずれか一つのｎに対して、ｎ≧Ｎｍａｘであると、（ｎ−Ｎｍａｘ＋１）番目の時間間隔が属する所定の区間に対応される時間間隔の数から１を引き算し、ここで、Ｎｍａｘは、上記音声データパケットの合計数の閾値である。
【０１２１】
算出モジュール６２は、第２算出サブモジュール６２１及び第３算出サブモジュール６２２を備える。
【０１２２】
第２算出サブモジュール６２１は、条件
0006382345.tif 000030
を満たすｍを算出し、ここで、Ｐは、既知のジッタ許可確率である。
【０１２３】
第３算出サブモジュール６２２は、複数の上記所定の区間の中で０番目の所定の区間から連続してｍ番目の所定の区間までのサイズの合計を、上記バッファーゾーン目標サイズとする。
【０１２４】
調整モジュール６４は、第１調整サブモジュール６４１及び第２調整サブモジュール６４２を備える。
【０１２５】
第１調整サブモジュール６４１は、バッファーゾーンの現在サイズが上記バッファーゾーン目標サイズ未満であり、且つ、バッファーゾーン有効長さが０であると、上記バッファーゾーンの中でデータを生成してフレーム補間を行う。
【０１２６】
第２調整サブモジュール６４２は、バッファーゾーンの現在サイズが上記バッファーゾーン目標サイズ未満ではないと、上記バッファーゾーン中の非音声データを削除することにより、上記バッファーゾーンの現在サイズと上記バッファーゾーン目標サイズと間の差分が所定の範囲内に入るようにする。
【０１２７】
上記装置は、復号化モジュール６５をさらに備える。上記復号化モジュール６５は、受信記録モジュール６１が複数の音声データパケットを受信して、各音声データパケットの受信タイミングを記録した後に、上記複数の音声データパケット中の各々の音声データパケットを復号化して、音声データ、又は、非音声データを得て、上記音声データ、又は、上記非音声データを上記バッファーゾーンに入れる。
【０１２８】
本実施例によって提供されるネットワークジッタ処理装置は、図２〜図５に示されたいずれかの方法の実施例の技術的方案を実行することができる。
【０１２９】
本実施例において、全ての時間間隔の中で各所定の区間にそれぞれ落ちる時間間隔の数を統計して、音声データパケットの合計数に対する各々の所定の区間の時間間隔の数の比率である時間間隔が上記所定の区間に落ちる確率に基づいて、時間間隔が各所定の区間に落ちる確率を得ることにより、時間間隔の確率分布を得ることができる。一つの新たな時間間隔が増加される度に一つの存在した時間が最も長い時間間隔を減少させることにより、各所定の区間に存在する時間間隔の合計数が、受信側で受信する音声データパケットの増加にしたがって、変化されないように保証することができる。時間間隔の確率分布及び許可ジッタ確率に基づいてバッファーゾーン目標サイズを算出して、バッファーゾーン目標サイズに基づいてバッファーゾーンの現在サイズを調整することにより、ネットワークジッタにしたがってバッファーゾーンのサイズを動的に調節して、ネットワークジッタを解決した。受信側のデコーダと再生モジュールとの間にバッファーゾーンを追加して、受信した音声データパケットを、受信側のＲＴＰメッセージ受信モジュールによってＲＴＰメッセージに変換してデコーダに伝送する。その後、デコーダによって、ＲＴＰメッセージに対して復号化処理を行って、音声データ、又は、非音声データを得て、音声データ、又は、非音声データをバッファーゾーンに入れて、バッファーゾーンを動的に調節することにより、ネットワークジッタに対する処理を実現する。
【０１３０】
上記の実施例の装置について、その各モジュール及びサブモジュールが実行する操作の具体的な形態は既に当該方法に関する実施例において詳細に説明したため、ここでは詳細に説明しない。
【０１３１】
上記にように、ネットワークジッタ処理装置の内部機能及び構成を説明した。図８に示したように、実際に実現する時には、上記ネットワークジッタ処理装置を端末デバイスとして実現してもよい。
【０１３２】
上記端末デバイスは、
プロセッサと、
上記プロセッサが実行可能な命令を記憶するためのメモリと
を備え、
上記プロセッサは、
複数の音声データパケットを受信し、各音声データパケットの受信タイミングを記録し、
上記受信タイミングに基づいて、受信した上記複数の音声データパケットの中の全ての互いに隣接する二つの音声データパケット同士の間の時間間隔を算出し、
各時間間隔が属する所定の区間に基づいて、上記時間間隔の確率分布を統計し、
上記確率分布及び許可ジッタ確率に基づいて、バッファーゾーン目標サイズを算出し、
上記バッファーゾーン目標サイズに基づいてバッファーゾーンを調整することにより、ネットワークジッタを解決する
ように構成される。
【０１３３】
本実施例において、受信側が音声データパケットを受信する時間間隔の確率分布がネットワークジッタの変化に従って変化されるから、受信側が音声データパケットを受信する時間間隔はランダム変数である。本実施例によると、時間間隔の確率分布及び許可ジッタ確率に基づいてバッファーゾーン目標サイズを算出するから、バッファーゾーン目標サイズは、ネットワークジッタに従って変化される。それで、バッファーゾーン目標サイズに基づいてバッファーゾーンを調整して、バッファーゾーンのサイズがネットワークジッタにしたがって変化されるようにすることができる。バッファーゾーンのサイズがネットワークジッタを解決する能力と密接に関連するため、バッファーゾーン目標サイズに従ってバッファーゾーンを調整してネットワークジッタを解決できる。
【０１３４】
図９は、例示的な一実施例に係る端末デバイス８００を示すブロック図である。例えば、端末デバイス８００は、携帯電話、コンピューター、デジタル放送端末、メッセージ送受信デバイス、ゲームコンソール、タブレットデバイス、医療機器、フィットネス機器、パーソナルデジタルアシスタント等であってもよい。
【０１３５】
図９を参照して、端末デバイス８００は、プロセスアセンブリ８０２、メモリ８０４、電源アセンブリ８０６、マルチメディアアセンブリ８０８、オーディオアセンブリ８１０、入出力（Ｉ／Ｏ）インターフェイス８１２、センサアセンブリ８１４、及び通信アセンブリ８１６のような一つ以上のアセンブリを含んでよい。
【０１３６】
プロセスアセンブリ８０２は、一般的には端末デバイス８００の全体の動作を制御するものであり、例えば、表示、電話呼び出し、データ通信、カメラ動作、及び記録動作と関連する動作を制御する。プロセスアセンブリ８０２は、一つ以上のプロセッサ８２０を含み、これらによって命令を実行することにより、上記の方法の全部、或は一部のステップを実現するようにしてもよい。なお、プロセスアセンブリ８０２は、一つ以上のモジュールを含み、これらによってプロセスアセンブリ８０２と他のアセンブリの間のインタラクションを容易にするようにしてもよい。例えば、プロセスアセンブリ８０２は、マルチメディアモジュールを含み、これらによってマルチメディアアセンブリ８０８とプロセスアセンブリ８０２の間のインタラクションを容易にするようにしてもよい。
【０１３７】
メモリ８０４は、各種類のデータを記憶することにより端末デバイス８００の動作を支援するように構成される。これらのデータの例は、端末デバイス８００において動作するいずれのアプリケーションプログラム又は方法の命令、連絡対象データ、電話帳データ、メッセージ、画像、ビデオ等を含む。メモリ８０４は、いずれの種類の揮発性メモリ、不揮発性メモリ記憶デバイスまたはそれらの組み合わせによって実現されてもよく、例えば、ＳＲＡＭ（ＳｔａｔｉｃＲａｎｄｏｍＡｃｃｅｓｓＭｅｍｏｒｙ）ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＰＲＯＭ（  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、磁気メモリ、フラッシュメモリ、磁気ディスク、或いは光ディスクである。
【０１３８】
電源アセンブリ８０６は、端末デバイス８００の多様なアセンブリに電力を供給する。電源アセンブリ８０６は、電源管理システム、一つ以上の電源、及び端末デバイス８００のための電力の生成、管理及び割り当てに関連付けられている他のアセンブリを含んでもよい。
【０１３９】
マルチメディアアセンブリ８０８は、上記端末デバイス８００とユーザの間に一つの出力インターフェイスを提供するスクリーンを含む。上記の実施例において、スクリーンは液晶モニター（ＬＣＤ）とタッチパネル（ＴＰ）を含んでもよい。スクリーンがタッチパネルを含むことにより、スクリーンはタッチスクリーンを実現することができ、ユーザからの入力信号を受信することができる。タッチパネルは一つ以上のタッチセンサを含んでおり、タッチ、スワイプ、及びタッチパネル上のジェスチャを検出することができる。上記タッチセンサは、タッチ、或はスワイプの動作の境界だけでなく、上記のタッチ、或はスワイプ操作に係る継続時間及び圧力も検出できる。上記の実施例において、マルチメディアアセンブリ８０８は、一つのフロントカメラ、及び／又はリアカメラを含む。端末デバイス８００が、例えば撮影モード、或はビデオモード等の動作モードにある場合、フロントカメラ、及び／又はリアカメラは外部からマルチメディアデータを受信できる。フロントカメラとリアカメラのそれぞれは、一つの固定型の光レンズ系、或は可変焦点距離と光学ズーム機能を有するものであってもよい。
【０１４０】
オーディオアセンブリ８１０は、オーディオ信号を入出力するように構成されてもよい。例えば、オーディオアセンブリ８１０は、一つのマイク（ＭＩＣ）を含み、端末デバイス８００が、例えば呼出しモード、記録モード、及び音声認識モード等の動作モードにある場合、マイクは外部のオーディオ信号を受信することができる。受信されたオーディオ信号は、さらにメモリ８０４に記憶されたり、通信アセンブリ８１６を介して送信されたりされる。上記の実施例において、オーディオアセンブリ８１０は、オーディオ信号を出力するための一つのスピーカーをさらに含む。
【０１４１】
Ｉ／Ｏインターフェイス８１２は、プロセスアセンブリ８０２と周辺インターフェイスモジュールの間にインターフェイスを提供するものであり、上記周辺インターフェイスモジュールは、キーボード、クリックホイール、ボタン等であってもよい。これらのボタンは、ホームボタン、ボリュームボタン、作動ボタン、ロッキングボタンを含んでもよいが、これらに限定されない。
【０１４２】
センサアセンブリ８１４は、端末デバイス８００に各種の状態に対する評価を提供するための一つ以上のセンサを含む。例えば、センサアセンブリ８１４は、端末デバイス８００のＯＮ／ＯＦＦ状態、端末デバイス８００のディスプレイとキーパッドのようなアセンブリの相対的な位置決めを検出できる。また、例えば、センサアセンブリ８１４は、端末デバイス８００、或は端末デバイス８００の一つのアセンブリの位置変更、ユーザと端末デバイス８００とが接触しているか否か、端末デバイス８００の方位、又は加速／減速、端末デバイス８００の温度の変化を検出できる。センサアセンブリ８１４は、何れの物理的接触がない状態にて付近の物体の存在を検出するための近接センサを含んでもよい。センサアセンブリ８１４は、撮影アプリケーションに適用するため、ＣＭＯＳ、又はＣＣＤ画像センサのような光センサを含んでもよい。上記の実施例において、当該センサアセンブリ８１４は、加速度センサ、ジャイロスコープセンサ、磁気センサ、圧力センサ、及び温度センサをさらに含んでもよい。
【０１４３】
通信アセンブリ８１６は、端末デバイス８００と他の機器の間に有線、又は利便性のよい形態の通信を提供する。端末デバイス８００は、例えばＷｉＦｉ（登録商標）、２Ｇ、３Ｇ、或はこれらの組み合わせのような、通信規格に基づいた無線ネットワークに接続されてもよい。一つの例示的な実施例において、通信アセンブリ８１６は、放送チャンネルを介して外部の放送管理システムからの放送信号、又は放送に関連する情報を受信する。一つの例示的な実施例において、上記通信アセンブリ８１６は、近距離無線通信（ＮＦＣ）モジュールをさらに含むことにより、近距離通信を可能にする。例えば、ＮＦＣモジュールは、ＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）技術、ＩｒＤＡ（Ｉｎｆｒａｒｅｄ  Ｄａｔａ  Ａｓｓｏｃｉａｔｉｏｎ）技術、ＵＷＢ（Ｕｌｔｒａ  Ｗｉｄｅ  Ｂａｎｄ）技術、ＢＴ（Ｂｌｕｅｔｏｏｔｈ（登録商標））技術、他の技術に基づいて実現できる。
【０１４４】
例示的な実施例において、端末デバイス８００は、一つ以上のＡＳＩＣ（ＡｐｐｌｉｃａｔｉｏｎＳｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＤＳＰＤ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｄｅｖｉｃｅ）、ＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、コントローラ、マイクロコントローラ、マイクロプロセッサ、または他の電子部品によって実現されるものであり、上記方法を実行する。
【０１４５】
例示的な実施例において、さらに、命令を含むコンピュータ読取り可能な非一時的な記録媒体、例えば命令を含むメモリ８０４を提供しており、端末デバイス８００のプロセッサ８２０により上記命令を実行して上記方法を実現する。例えば、上記コンピュータ読取り可能な非一時的な記録媒体は、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピーディスク（登録商標）、光データ記憶デバイス等である。
【０１４６】
コンピュータ読取り可能な非一時的な記録媒体は、当該記録媒体中の命令が移動端末のプロセッサによって実行される際に、移動端末に、ネットワークジッタ処理方法を実行させる。
【０１４７】
上記方法は、
複数の音声データパケットを受信し、各音声データパケットの受信タイミングを記録するステップと、
上記受信タイミングに基づいて、受信した上記複数の音声データパケットの中の全ての互いに隣接する二つの音声データパケット同士の間の時間間隔を算出するステップと、
各時間間隔が属する所定の区間に基づいて、上記時間間隔の確率分布を統計するステップと、
上記確率分布及び許可ジッタ確率に基づいて、バッファーゾーン目標サイズを算出するステップと、
上記バッファーゾーン目標サイズに基づいてバッファーゾーンを調整することにより、ネットワークジッタを解決するステップと
を含む。
【０１４８】
当業者は、明細書を検討して本発明を実施した後、本発明の他の実施例を容易に考え出すことができる。本願は、本発明のいずれの変形、用途、又は適応的な変更をカバーすることを意図しており、これらの変形、用途、又は適応的な変更は、本発明の一般的な原理に従い、また、本発明に公開されていない当該技術分野の公知の知識又は通常の技術手段を含む。明細書と実施例はただ例示として考慮され、本発明の本当の範囲と趣旨は以下の特許請求の範囲に記載される。
【０１４９】
本発明は上記に記述され、また図面で示した厳密な構成に限定されず、その範囲を逸脱しない限り多様な置換えと変更を行うことができると、理解されるべきである。本発明の範囲は添付の特許請求の範囲のみにより限定される。
【図１Ａ】
0006382345.tif 000039
【図１Ｂ】
0006382345.tif 000040
【図２】
0006382345.tif 000041
【図３】
0006382345.tif 000042
【図４】
0006382345.tif 000043
【図５】
0006382345.tif 000044
【図６】
0006382345.tif 000045
【図７】
0006382345.tif 000046
【図８】
0006382345.tif 000047
【図９】
0006382345.tif 000048