(57)【特許請求の範囲】
【請求項１】
有効な音声データを収容した各通信パケットに送信側で付与された識別子をもとに、時系列に受信される各通信パケットの受信が正常に行われているどうかを検出し、当該検出結果に基づいて、受信された通信パケット系列の中に、有効な音声データを収容していない所定の補正パケットの挿入を行うかどうかを決定するパケット受信装置において、
受信した前記通信パケットのサイズである通信パケットサイズを調べる通信パケットサイズ検出手段と、
当該通信パケットサイズに関する閾値を設定しておき、少なくとも通信パケットサイズが当該閾値を上回った場合には、前記補正パケットのサイズとして、通信パケットサイズよりも小さなサイズを選択する補正パケット挿入手段とを備えることを特徴とするパケット受信装置。
【請求項２】
請求項１のパケット受信装置において、
前記通信パケット系列の中に挿入した補正パケットのサイズが前記通信パケットサイズよりも小さい場合、当該補正パケットと通信パケットのサイズの差を低減するために、前記通信パケット系列中で当該補正パケットよりも後に位置する後方通信パケットの中に、有効な音声データを収容していない補正フレームを挿入する補正フレーム挿入手段を備えることを特徴とするパケット受信装置。
【請求項３】
請求項２のパケット受信装置において、
前記補正フレーム挿入手段は、
前記後方通信パケットが収容している有効な音声データを調べて、当該音声データの中から、前記補正フレームの隣接を検知し難い聴覚特性を持つ非顕在化データを検出する非顕在化データ検出部と、
挿入後の補正フレームが当該非顕在化データに隣接するように、前記補正フレームの挿入を行わせる補正フレーム挿入制御部とを備えたことを特徴とするパケット受信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はパケット受信装置に関し、例えば、符号化した音声信号を収容して伝送されてきたパケットを受信、復号して音声出力を行う場合などに適用し得るものである。
【０００２】
【従来の技術】
音声データを収容したパケットを送信し、受信するパケット音声通信では、受信側装置へのパケット到着の遅れ（“ジッタ”、または、“ゆらぎ”と呼ぶ）と、通信中にパケットが失われるパケット損失（または、“パケットロス”）が、通話品質に大きな影響をおよぼす。ジッタとパケットロスに共通する悪影響は、受信側装置に搭載された受信バッファが空になることである。ジッタが大きくなり、受信バッファに蓄積してあるデータを使いきるまでに、次のパケットが到着しないと受信バッファが空になる。パケットロスが発生すると、本来到着するはずのデータが紛失するため、紛失したパケット分のデータ量が失われ、受信バッファにデータが蓄積されないまま、それまでに蓄積したデータを消費してしまう。このため、パケットロス後に次パケットが到着するのが遅れると、大きなジッタの場合同様、受信バッファが空になる。受信バッファが空になると再生するデータがなくなるため、最悪の場合は音声が途切れてしまう。
【０００３】
パケットロスには、これ以外にも悪影響がある。例えば、第１パケットから第３パケットまでを送信し、第２パケットが紛失した場合、受信バッファには、第１パケットの次に第３パケットが蓄積されるため、これを再生すると、音飛びが発生する。この音飛びは、通話品質を低下させるだけでなく、情報を欠落させるため通話内容が不明瞭になる。
【０００４】
これらの問題を改善する方法として、特開平１０−２８５２１３号公報（文献１）には、受信バッファが空になってもパケットが到着しない場合に限り、送信パケットと同じサイズのダミーパケットを再生する方法が示されている。文献１には、これによって、音の途切れを回避できると記述されている。
【０００５】
【発明が解決しようとする課題】
しかしながら、前記文献１に示された方法では、受信バッファが空になって初めてダミーパケットを再生するため、パケットロスが発生しても受信バッファが空にならない場合は、従来と同様、音飛びが発生する。
【０００６】
ネットワークのトラフィック状況や受信バッファの容量などの諸条件により、パケットロスが発生しなくても受信バッファが空になることもある反面、パケットロスが発生しても受信バッファが空にならないこともあり得るからである。
【０００７】
受信バッファの容量を大きくすれば、パケットロスが発生しなくても受信バッファが空になる可能性を低減することができるものの、受信バッファの容量を大きくすることは同時に、パケットロスが発生しても受信バッファが空にならない可能性を高めることを意味する。
【０００８】
【課題を解決するための手段】
かかる課題を解決するために、本発明は、有効な音声データを収容した各通信パケットに送信側で付与された識別子をもとに、時系列に受信される各通信パケットの受信が正常に行われているどうかを検出し、当該検出結果に基づいて、受信された通信パケット系列の中に、有効な音声データを収容していない所定の補正パケットの挿入を行うかどうかを決定するパケット受信装置において、受信した前記通信パケットのサイズである通信パケットサイズを調べる通信パケットサイズ検出手段と、当該通信パケットサイズに関する閾値を設定しておき、少なくとも通信パケットサイズが当該閾値を上回った場合には、前記補正パケットのサイズとして、通信パケットサイズよりも小さなサイズを選択する補正パケット挿入手段とを備えることを特徴とする。
【０００９】
【発明の実施の形態】
（Ａ）実施形態
以下、本発明のパケット受信装置の実施形態について説明する。
【００１０】
第１〜第３の実施形態に共通する特徴は、受信したパケットのサイズ（１つの受信パケットに含まれるフレーム数）が小さい場合には当該パケットと同じサイズのエラーパケットを挿入し、受信パケットのサイズが大きい場合には当該パケットよりもサイズの小さいエラーパケットを挿入することで、エラーパケット部分の音質劣化を防止する点にある。
【００１１】
（Ａ−１）第１の実施形態の構成
本実施形態の受信装置２０の構成を図７に示す。
【００１２】
図７において、受信装置２０は、受信端１と、パケット監視部２と、受信バッファ３と、復号部４と、出力端５とを備えている。
【００１３】
受信端１は、図示しない送信側装置から送信された符号化音声データを収容したパケットを、ネットワークを介して受信し、パケット監視部２に渡す機能を有する。以下では、送信側装置から送信され、ネットワークを介して受信装置２０（あるいは受信端１）に受信されたパケットを受信パケットと呼ぶ。
【００１４】
パケット監視部２は、タイムアウト時間の設定、監視機能、受信パケット到着順の逆転監視機能と、エラーフレーム生成挿入機能と、受信パケット廃棄機能を有する部分で、その内部構成は図１に示すものである。
【００１５】
タイムアウト時間や受信パケット到着順の逆転を監視するためには、その前提として、パケット監視部２が、受信した各受信パケットを識別する必要がある。この識別には、前記送信側装置が、各受信パケットに付与したパケット識別情報を利用する。パケット識別情報とは、例えば、受信パケットのシーケンス番号（パケット番号）、受信パケットが前記送信側装置から送信された時刻や受信パケットが送信側装置において生成された時刻を示すタイムスタンプ情報なとであってよい。
【００１６】
当該パケット監視部２の内部構成を図１に示す。
【００１７】
(Ａ−１−１）パケット監視部２の内部構成
図１において、パケット監視部２は、受信正常性検出部１１と、パケットサイズ検出部１２と、しきい値設定部１３と、エラーパケットサイズ選択部１４と、エラーパケット挿入部１５とを備えている。
【００１８】
このうち受信正常性検出部１１は、上述したシーケンス番号やタイムスタンプなどをもとに、送信側装置が送信したパケットが欠落も順序の逆転も無く、一定のタイムアウト時間内に、受信パケットとして正常に受信されているかどうかを検出する部分で、受信された各受信パケットに欠落、順序の逆転、タイムアウトなどが検出された場合には、異常受信信号ＡＳをパケットサイズ検出部１２に供給する。
【００１９】
パケット番号やタイムアウト時間、タイムスタンプ情報は、受信パケットの欠落や、受信パケット到着順の逆転を監視するのが目的であり、これらが検知できるものならば、いずれも利用できる。例えば、通信プロトコルの一種である、ＴＣＰ／ＩＰ（Transmission Control Protocol／Internet Protocol）のシーケンス番号情報や、ＵＤＰ／ＩＰ（User Datagram Protocol／Internet Protocol）のＲＴＰ（Realtime Transport Protocol）におけるシーケンス番号やタイムスタンプ情報などが利用できる。
【００２０】
具体的には、受信側（当該受信正常性検出部１１）が、受信パケットのシーケンス番号を監視し、今回受信パケットのシーケンス番号が、前回受信パケットのシーケンス番号をインクリメントして得られる番号（前回受信パケットのシーケンス番号＋１）でない場合は、パケットロス、あるいは、受信パケット到着順の逆転が起きたものと、前記受信正常性検出部１１が判定することが考えられる。
【００２１】
また、前回受信パケットのタイムスタンプが１６時５２分、今回受信パケットのタイムスタンプが１６時４０分のような場合、今回受信パケットの方が前回受信パケットより先に送出されたにも関わらず、今回受信パケットの方が後に到着しているので、受信パケット到着順の逆転が発生したと、当該受信正常性検出部１１が判定することが考えられる。
【００２２】
これらの方法は、あくまで一例であり、これに限らず、独自の検知情報を送信側装置で各受信パケットに付加して送信させ、当該検知情報に応じた判定を受信正常性検出部１１が行うようにしてもよいことは言うまでもない。
【００２３】
受信正常性検出部１１が出力した異常信号信号ＡＳを受け取ると、パケットサイズ検出部１２は、受信している各受信パケットのサイズを調べて、当該サイズを、サイズ情報ＳＩとしてエラーパケットサイズ選択部１４に供給する機能を備えている。
【００２４】
エラーパケットサイズ選択部１４は、受信パケットに関するしきい値ＴＨの設定を、しきい値設定部１３から受けており、前記サイズ情報ＳＩと当該しきい値ＴＨとを比較してサイズ決定信号ＤＳをエラーパケット挿入部１５に出力する部分である。
【００２５】
エラーパケット挿入部１５は、このサイズ決定信号ＤＳに応じて規定されるサイズのエラーパケットを、受信パケット系列のなかに挿入する部分である。
【００２６】
エラーパケットとは、エラーフレームを複数まとめたものである。エラーフレームとは、例えば、後述するフレーム消去の隠蔽機能で利用されるパケットで、聴覚特性上、フレームデータの欠損を補完するとともに、受信バッファ３中に蓄積されるデータ量（キュー長）の損失を補填して以降に受信され蓄積される受信パケットの遅延時間（受信装置２０内におけるゆらぎ、すなわち受信パケット間隔）を制御することを目的として作られるデータである。
【００２７】
エラーフレーム自体の構造については、例えば、白色雑音、有色雑音、前フレームのデータを模倣してエラーフレームのデータを作成する方法、前フレームのデータから推測してエラーフレームのデータを作成する方法などが使用できる。前フレームのデータを模倣する方法は、例えば、後述するＧ．７２３．１やＧ７２９に用いられている無音圧縮技術などが利用できる。また、前フレームのデータを模倣する方法は、線形予測法、適応予測法、ニューラルネットワークによる予測など、様々な方法が利用できる。これらの模倣方法や、予測方法は、ここに記述したものに限定するものではなく、独自の方法によっても、本実施形態の効果を得ることが可能であることは言うまでもない。
【００２８】
受信されるパケット系列に対するエラーパケットの挿入は、例えば、図７の受信バッファ（先入れ先出しタイプのメモリ：ＦＩＦＯ）３に蓄積された最後尾の受信パケット（符号化音声データ）の後に、当該エラーパケットを書き込むことによって行う。
【００２９】
前記復号部４は、受信バッファ３から読み出された受信パケット（またはエラーパケット）の持つ音声データを復号する機能のほかに、フレーム消去の隠蔽機能を装備している。
【００３０】
フレーム消去の隠蔽機能とは、復号しようとするパケット系列のなかにエラーパケットを検出した場合、当該エラーパケット部分では、その前後の受信パケットの持っている音声データに基づいて復号部４自身が出力音声を合成する機能である。この機能によって、エラーパケット部分で有効な音声データが失われていることが音声出力に与える影響を、可及的に低減することができる。
【００３１】
ここで、音声の符号化、復号方式としては、例えば、線形ＰＣＭ、ＩＴＵ−Ｔ勧告のＧ．７１１（μ則ＰＣＭ）、Ｇ．７２６（ＡＤＰＣＭ）、Ｇ．７２３．１、Ｇ．７２９（ＣＳ−ＡＣＥＬＰ）といった方式や、ＣＥＬＰ（Code Excited Linear Prediction：符号励振線形予測）符号化方式、リニアＰＣＭ方式などが利用できる。また、独自仕様の符号化方式でも本実施形態の効果が得られることは言うまでもなく、符号化・復号方式は特に限定するものではない。
【００３２】
符号化、復号方式は、符号化時、復号時の１フレームの時間に影響を与える。例えば、上記のＧ．７２９方式では、１フレームが１０ｍｓ（０．０１秒）であり、Ｇ．７２３．１方式では、フレームが３０ｍｓ（０．０３秒）である。また、１パケットに含まれるフレーム数（パケットサイズ、パケット長と呼ぶ）も様々あり、こちらは使用する装置によって任意に決定することができる。ただし、通常、符号化音声データを複数フレーム繋げたものに、通信方式固有の情報であるヘッダが付属して１つのパケットを構成する。このため、後述するように、受信パケットのパケットサイズを小さくすると遅延時間が少なくなるかわりに、より高速な通信速度を要求され、逆に、受信パケットのパケットサイズを大きくすると通信速度は低減できるが、パケットロス時の影響や、遅延時間が増加する傾向となる。
【００３３】
前記復号部４から復号結果を受け取る出力端５は、当該復号結果に応じて音声データを再生する機能を持つ部分で、例えば音声出力を行うスピーカなどであってよい。
【００３４】
以下、上記のような構成を有する本実施形態の動作について説明する。
【００３５】
（Ａ−２）第１の実施形態の動作
図２のフローチャートに、前記パケット監視部２の動作を示す。このフローチャートは前記受信正常性としてタイムアウト（Time  Out）を検出する場合に対応しており、Ｓ１〜Ｓ５の各ステップから構成されている。各受信パケットに対するタイムアウト時間の進行が開始されるたびに、処理は最初のステップＳ１からスタートする。
【００３６】
パケット監視部２内の受信正常性検出部１１は、各受信パケットの受信処理に応じて受信端１から供給される信号（Ｓ１）を常に監視している（Ｓ２）。
【００３７】
タイムアウト時間内においては、受信パケットの到着（受信）を示す信号が受信正常性検出部１１に供給されていない期間、ステップＳ２は、受信パケットが受信されていないことを示すＮｏ側の分岐を継続するとともに、ステップＳ４では、タイムアウト時間までタイマ進行を認識しつつ、Ｎｏ側の分岐を選択する。
【００３８】
当該タイムアウト時間内のいずれかの時点に目的のパケット識別情報を付与された受信パケットが受信されたことを示す信号が受信端１から供給されると（Ｓ１）、ステップＳ２はＹｅｓ側に分岐して受信バッファ３に当該受信パケット（またはその受信パケットに収容された符号化音声データ）を受信バッファ３に入力する（Ｓ３）。このとき前記タイマはリセットされて次のタイムアウト時間の監視状態に移行する。
【００３９】
一方、目的の受信パケットの受信を示す信号がタイムアウト時間までに受信正常性検出部１１に供給されなかった場合は、ステップＳ２は、当該タイムアウト時間内にＹｅｓ側に分岐することがなく、受信パケットが受信されていないことを示すＮｏ側の分岐を継続する。
【００４０】
そしてステップＳ２のＮｏ側の分岐の継続状態がタイムアウト時間の経過時点まで達したことを検出したとき、前記受信正常性検出部１１は異常受信信号ＡＳをパケットサイズ検出部１２に供給し、ステップＳ４はＹｅｓ側に分岐してステップＳ５のエラーパケットの生成処理が実行される。
【００４１】
エラーパケットの生成処理（Ｓ５）の内部では、次のような処理が実行される。
【００４２】
最初に、当該異常受信信号ＡＳを受け取った前記パケットサイズ検出部１２が例えば当該タイムアウトと判定された受信パケットの直前に受信された受信パケットのサイズを検出して当該サイズに応じたサイズ情報ＳＩをエラーパケットサイズ選択部１４に供給する。
【００４３】
次に、エラーパケットサイズ選択部１４は当該サイズ情報ＳＩと前記しきい値設定部１３から供給されるしきい値ＴＨとを比較し、サイズ情報ＳＩの方がしきい値ＴＨよりも大きい場合には、次の式（５）に基づいてエラーパケットのサイズを決定する。すなわちこのとき、エラーパケットサイズは、ＴＨが指定するサイズ以上で、なおかつＳＩが指定するサイズよりも小さい。
【００４４】
ＴＨ≦エラーパケットのサイズ＜ＳＩ              …（５）
反対に、サイズ情報ＳＩの方がしきい値ＴＨよりも小さい場合には、次の式（６）に基づいてエラーパケットのサイズをＳＩが指定するサイズと同サイズに決定する。
【００４５】
エラーパケットのサイズ＝ＳＩ                    …（６）
最後に、これら式（５）または（６）に基づいて決定されたエラーパケットサイズを指定するサイズ決定信号ＤＳがエラーパケット挿入部１５に供給されると、エラーパケット挿入部１５は、当該サイズのエラーパケットを受信バッファ３に書き込むことによってエラーパケットの挿入を実行する。
【００４６】
このとき、サイズ決定信号ＤＳの状態は大きく分けると、式（５）に対応する状態と式（６）に対応する状態の２通りの状態を取り得るが、式（６）に対応するサイズ決定信号ＤＳに対しては、エラーパケット挿入部１５は、挿入するエラーパケットのサイズを受信パケットのサイズ（ＳＩに対応）と同じとすればよい。
【００４７】
エラーパケット挿入部１５によって挿入されるエラーパケットのサイズは、受信される各受信パケットのサイズが通信中に変化しない場合、通信開始時に決定し、通信毎に変更することも可能である。勿論、受信パケットのサイズが常に一定の場合は、本方式を搭載した装置を設置した時点で、エラーパケットのサイズを決定し、以後、不変としてもよい。この場合、前記パケットサイズのしきい値ＴＨは、装置の設置時点でだけ参照される。
【００４８】
以上のような図２のフローチャートの動作は、各受信パケットごと、各タイムアウト時間ごとに繰り返される。
【００４９】
最終的に、出力端５から出力される音声出力の品質を保証するために重要な機能を持つ前記しきい値ＴＨについて、図３を参照しながら説明する。
【００５０】
図３は、受信装置２０で受信パケットのパケットサイズＳＩと同サイズのエラーパケットを挿入した場合の、パケットサイズＳＩと音質評価ＱＶの関係を示す。
【００５１】
図３において、サイズＳＩ２などの大きな受信パケットをパケットロスなどによって失い、その部分に同サイズのエラーパケットを挿入すると、音質評価値はＱＶ２などの低い値となって、音質劣化が著しくなることが分かる。これは上述したフレーム消去の隠蔽機能の限界に対応し、有効な音声データがない部分（エラーパケット区間）が時間的に長くなるほど、合成音声が人間の聴覚特性に作用して、品質の劣化をもたらす程度が著しくなるためであるとも考えられる。
【００５２】
反対に、サイズＳＩ２などの非常に小さな受信パケットの場合には、同サイズのエラーパケットを挿入しても、音質評価値はＱＶ１などの極めて良好な値となる。
【００５３】
ところが、サイズＳＩをあまり小さくすると、オーバーヘッドの割合が増加するために、サイズＳＩを小さくする前と同じ量の音声データを単位時間内に送信するには、必要な通信速度が上昇してしまう。
【００５４】
なぜなら、音声のパケット通信では、符号化された音声データに様々なヘッダ情報が付加されてパケットを構成するが、通常このヘッダ情報はパケットサイズの大小にかかわらず固定サイズであるから、パケットサイズを小さくすることは、全通信データの中に占める音声データの割合を減少することに他ならないためである。
【００５５】
例えば、ヘッダ情報サイズを１０とし、パケットサイズを１００、送信する全音声データサイズを９０００と仮定した場合を例に取ると、必要なパケット数は次の式(１）、（２）より、１００となる。
【００５６】
１０（ヘッダ）＋ｎ（音声データ量）＝１００（パケットサイズ）  …（１）
これにより、ｎ＝９０（１パケットに入る音声データ量）
よって、必要なパケット数は、９０００／９０＝１００          …(２）
同じ前提の下で、パケットサイズだけを半分の５０にした場合は、同じく９０００の音声データを送るために必要なパケット数は、次式（３）、（４）から、２２５パケットであることが分かる。
【００５７】
１０（ヘッダ）＋ｎ（音声データ量）＝５０（パケットサイズ）      …(３）
これにより、ｎ＝４０（１パケットに入る音声データ量）
よって、必要なパケット数は、９０００／４０＝２２５            …（４）
両パケットサイズとも送信する符号化音声の総データ量は同一であるため、受信側で音声出力される時間は、同じ長さである。
【００５８】
したがって、式(２）の１００パケットと式(４）の２２５パケットは、同じ時間で送信し、受信する必要があるので、パケットサイズ５０で音声通信する場合は、パケットサイズ１００で音声通信する場合に比べ、データサイズ当たりで１，１２５倍、パケット数当たりで２，２５倍の通信速度が必要となる。
【００５９】
一般的に通信速度の上昇は、送信側装置、受信側装置および通信網のコスト増加を招くばかりでなく、十分な通信速度が得られない通信網等を使用した場合には、激しい音質劣化をまねくため、好ましくない。また、通信速度の上昇にはハードウエア的な限界があるため、算出された設計値を常に実現できるとは限らず、実現できたとしても、送信側装置も受信側装置も高速なものほど大規模で高価になる傾向がある。
【００６０】
結局、受信パケットのパケットサイズを小さくして通話品質劣化現象を防ぐことは、困難や不利益を伴い、一定の限界がある。
【００６１】
したがって、受信パケットのサイズＳＩには特に制限を設けず、エラーパケットのサイズには制限を設けるために、図示したサイズＳＩＸの付近にしきい値ＴＨを選定するのがよいと考えられる。
【００６２】
サイズＳＩＸはサイズＳＩ１に比べるとかなり大きいが、その割には当該音質評価値ＱＶＸは良好で、前記ＱＶ１とほとんど同じレベルである。
【００６３】
（Ａ−３）第１の実施形態の効果
以上、本実施形態によれば、受信パケットのパケットサイズを小さくして通信速度を上昇しなくても、パケットロス時、パケット到着順の逆転時、受信タイムアウト時などに、エラーパケット挿入部分で生じていた音飛びなどによる著しい音質劣化を防止することができ、データ量の損失を補填して以降に受信される受信パケットの遅延時間を制御することも可能である。
【００６４】
また本実施形態では、受信バッファが空にならなくても、受信正常性検出部が異常受信信号を出力した場合にはエラーパケットを挿入するため、音飛びの発生を阻止できる可能性が高まる。
【００６５】
（Ｂ）第２の実施形態
以下では、本実施形態が第１の実施形態と相違する点についてのみ説明する。
【００６６】
第１の実施形態では、正常な受信状態が継続される場合には時系列に受信される各受信パケットのパケットサイズに応じて、ある受信パケットとその次の受信パケットは順次に本来の遅延間隔（受信パケット間隔）で受信バッファ３内に蓄積されてキュー（待ち行列）を形成するが、前記式（５）に対応したサイズ決定信号ＤＳが出力された場合には、挿入されるエラーパケットのサイズは、本来の受信パケットのサイズよりも小さいため、挿入以降に受信される受信パケットと、挿入された当該エラーパケットの直前の受信パケットとの間隔は、本来よりも短くなってしまう。
【００６７】
本実施形態は、第１の実施形態において必ずしも十分でなかった遅延時間の制御機能の精度を向上したことを特徴とする。
【００６８】
（Ｂ−２）第２の実施形態の構成および動作
本実施形態の受信装置２１の構成を図４に示す。この受信装置２１は基本的に、第１の実施形態の受信装置２０に対応する装置である。
【００６９】
図４において、受信装置２１は、受信端１と、パケット監視部２と、受信バッファ３と、復号部４と、出力端５と、残フレーム制御部６とを備えている。
【００７０】
このうち残フレーム制御部６以外の構成要素１〜５の機能は、実質的に、同一の符号を付した図７の各部と同じである。
【００７１】
図８には、パケット監視部２と当該残フレーム制御部６の内部構成を示している。
【００７２】
ここで、パケット監視部２を構成する受信正常性検出部１１、パケットサイズ検出部１２、しきい値設定部１３、エラーパケットサイズ選択部１４、エラーパケット挿入部１５の機能は、実質的に、同一の符号を付した図１の各部と同じである。
【００７３】
図８において、破線で囲んだ部分が残フレーム制御部６に対応する。
【００７４】
すなわち、残フレーム制御部６は、サイズ差検出部３０と、エラーフレーム連続数決定部３１と、エラーフレーム挿入部３２とを備えている。
【００７５】
このうちサイズ差検出部３０は、前記エラーパケットサイズ選択部１４から受け取ったサイズ決定信号ＤＳと、前記パケットサイズ検出部１２から受け取ったサイズ情報ＳＩとを比較して、挿入されたエラーパケットサイズ（ＤＳに対応）と受信パケットのパケットサイズ（ＳＩに対応）のサイズ差（フレーム数の差）を検出し、当該検出結果に応じたサイズ差情報ＤＤをエラーフレーム連続数決定部３１に供給する部分である。
【００７６】
すなわちサイズ差検出部３０は、求めるサイズ差をＲｅｍとし、受信パケットサイズをＰsize、挿入したエラーパケットサイズをＥpsizeとすると、次の式(７)で示される演算操作を行うことになる。
【００７７】
Ｒｅｍ＝Ｐsize−Ｅpsize                          …（７）
換言するなら、このサイズ差Ｒｅｍは、エラーパケット挿入部１５が行うエラーパケットの挿入によって生じた遅延時間の制御誤差（ＤＤ）を示すものである。
【００７８】
エラーフレーム連続数決定部３１では、このサイズ差情報ＤＤ（Ｒｅｍ）、前記しきい値設定部１３から受け取ったしきい値ＴＨ、被挿入パケットの音声フレームの数などを参照して、エラーフレームの挿入パターンを決定する。被挿入パケットとは、前記エラーパケット挿入部１５によるエラーパケット挿入の直後に到着した受信パケット（およびそれ以降に到着した受信パケット）であって、エラーフレームの挿入対象となるパケットのことである。直後に到着した受信パケット以降に到着した受信パケットの音声データ部に対して挿入操作が行われるのは、直後の１受信パケットだけではすべてのエラーフレームを挿入し切れなかった場合である。
【００７９】
エラーフレーム連続数決定部３１から供給される挿入フレーム連続数ＭＥに応じたエラーフレームの挿入操作を行うエラーフレーム挿入部３２は、前記被挿入パケットの音声データ部に対してエラーフレームの挿入を実行する。
【００８０】
エラーフレーム挿入部３２は、各挿入操作ごとに、前記挿入フレーム連続数ＭＥで指定された数のエラーフレームを、当該被挿入パケットの音声データ部に挿入してから、前記受信バッファ３に蓄積する。挿入操作は、１つの被挿入パケットに対して１回または複数回行われ、前記サイズ差Ｒｅｍに応じた回数だけ繰り返される。
【００８１】
前記挿入フレーム連続数ＭＥは音質の観点から、少なくとも前記しきい値ＴＨ以下に設定する必要があるが、サイズ差情報ＤＤが指定するサイズよりも大きくする必要はない。サイズ差情報ＤＤ（Ｒｅｍ）が指定するサイズが当該しきい値ＴＨよりも大きい場合には、できるだけ早期に前記遅延時間の制御誤差ＤＤを解消するために当該挿入フレーム連続数ＭＥを、前記しきい値ＴＨと同じ値に設定するとよい。
【００８２】
エラーフレーム連続数決定部３１が前記挿入パターンを決定するに際しては、まず連続して挿入するエラーフレームの数の最大値である挿入フレーム最大連続数ＬＥを検出し、次に、当該ＬＥ以下の値のなかから挿入フレーム連続数ＭＥを決定するようにするとよい。
【００８３】
挿入フレーム連続数ＭＥは、１回のエラーパケット挿入で生じた遅延誤差ＤＤを解消するあいだ（１解消区間）、同じ値を継続するようにしてもよいが、必要に応じてエラーフレーム挿入のたびに値を変更（ただし最大値はＬＥ）するようにしてもよい。
【００８４】
被挿入パケットが多くの音声フレームを持っていて、エラーフレームを挿入可能な候補位置（の時間軸方向の密度）が多く、なおかつ当該遅延誤差ＤＤが比較的少ない場合には、ＬＥよりも十分に小さなＭＥを、前記１解消区間にわたって継続することができるが、候補位置が少なくＤＤが多い場合には、ＬＥと同じ値のＭＥを１解消区間にわたって継続する必要が生じ得る。
【００８５】
また、通常、エラーフレームの挿入を行えるキュー上の位置は限られている（例えば受信バッファ３の入力端子または出力端子、すなわちキューの先頭または最後尾）から、候補位置が少なくＤＤが多い場合などには、エラーフレームの挿入パターンを決定しようとするときには、前記遅延誤差ＤＤを完全に解消できるだけの見通しが立たず、その一方で、最初の被挿入パケットの候補位置に対するエラーフレーム挿入は直ちに行わなければならないような状況も起こり得る。このような場合、ＭＥの値は最初の見通しが立たない段階ではＬＥと同じ値にしておき、解消の見通しが立った時点から、ＬＥより小さな値に変更するようにしてもよい。
【００８６】
さらに、必要に応じて、すべての遅延誤差ＤＤのうち、可能な部分だけを解消するようなシステム構成をとることもできる。この場合でも、第１の実施形態に比べて遅延時間の制御機能の精度は向上する。例えば、受信パケットを伝送してくるネットワークの状態が悪く、受信装置２１において前記エラーパケットの挿入が頻発するような状況では、このようなシステム構成をとらざるを得なくなるものと考えられる。
【００８７】
いずれの場合でも、前記エラーフレームの挿入方法として通話品質上、最も好ましいのは、Ｒｅｍ分のデータ量を１フレームごとに分割し、それぞれエラーフレームとして任意の間隔、または、等間隔で、次の到着パケットに挿入するものである。これは、上述したエラーフレームを挿入可能な候補位置が多く、なおかつ当該遅延誤差ＤＤが比較的少ない場合などに実行するとよい。
【００８８】
Ｒｅｍが４フレーム分あり、前記被挿入パケットが次の配列String１に示すように、１０個の音声フレームから構成されているパケットサイズ１０の場合を例に、具体的に説明する。
【００８９】
Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、Ｈ、Ｉ、Ｊ            …String１
ここで、Ａ〜Ｊの各アルファベットは、当該被挿入パケットに収容されている各音声フレームを示している。
【００９０】
いま、挿入フレーム連続数ＭＥが１フレームを指定しているものとし、挿入する各エラーフレームを（１）、（２）、（３）、（４）とし、前記配列String１に対して各エラーフレーム（１）〜(４）を等間隔に挿入するものとすると、配列String１は次の配列String２に変換される。
【００９１】
（１）、Ａ、Ｂ、Ｃ、（２）、Ｄ、Ｅ、Ｆ、（３）、Ｇ、Ｈ、Ｉ、（４）、Ｊ…String２
ここで、挿入されたエラーフレーム（１）は、先頭音声フレームであるＡの前に配置され、エラーフレーム(２）は、連続する音声フレームＣとＤのあいだに挿入され、エラーフレーム(３）は、連続する音声フレームＦとＧのあいだに挿入され、エラーフレーム(４）は、連続する音声フレームＩとＧのあいだに挿入されている。
【００９２】
これは、各エラーフレームを等間隔（３フレーム間隔）で挿入した例であるが、この間隔は、必ずしも、すべて等間隔である必要はなく、例えばフレーム（４）の挿入位置を音声フレームＨとＩのあいだに変更して、３フレーム間隔の部分と２フレーム間隔の部分が混在するようにしてもよい。
【００９３】
変換後のこの配列String２は、変換後の先頭フレームである左端のフレーム（１）から順番に、受信バッファ３に蓄積されてキューの最後尾を形成する。そして最後尾の音声フレームＪのあとには、次に到着した受信パケットの音声フレーム（またはエラーパケット）が蓄積され、以降は同様な動作が繰り返され得る。
【００９４】
なお、配列String２では、エラーフレーム（１）を先頭音声フレームＡの前に配置したが、この挿入操作は、受信パケット系列中で前記配列String１の直前に位置するパケットがエラーパケットであるものとすると好ましくない。この位置にエラーフレームを配置することは実質的に当該エラーパケットのサイズを大きくすることに等しいからである。ただし、直前に位置するパケットが被挿入パケットであって、当該被挿入パケットの最後尾に位置するのが音声フレームである場合（つまりＲｅｍが４を超え、配列String２が２つ目以降の被挿入パケットであるケース）には、このような問題はない。
【００９５】
同様に、配列String２中で最後尾の音声フレームＪの後ろにエラーフレームを配置することは、その直後に通常の受信パケットが蓄積されるのであれば問題ないが、新たなエラーパケットや後続の被挿入パケットが蓄積されるのであれば、当該エラーパケットのサイズや被挿入パケットに対するエラーフレームの挿入パターンに制約を与える。
【００９６】
配列String２では、挿入されたエラーフレームの連続数は１なので、図３から明らかなように、前記出力端５から出力される音声の音質の観点からは、最も好ましい。
【００９７】
ところが、３フレーム間隔の挿入を前提とすると、前記Ｒｅｍが多すぎる場合などには、このような変換を実行することが適切でない場合もある。例えばＲｅｍが５フレーム分以上あるものとすると、すべてのエラーフレームを前記配列String１の中には挿入することはできない。
【００９８】
このような場合には、前記配列String１を収容した被挿入パケットの次に受信される受信パケットの到着を待って、その受信パケットの音声データ部にフレーム（５）以降のエラーフレームを挿入することも考えられるが、ここでは、上述したできるだけ早期に前記遅延時間の制御誤差を解消するという要求をも満足するために、前記しきい値ＴＨが２以上であり、Ｒｅｍが５フレーム分であるものとして、前記配列String１を次の配列String３のように変換する。
【００９９】
Ａ、Ｂ、Ｃ、（１）、（２）、Ｄ、Ｅ、Ｆ、（３）、（４）、Ｇ、Ｈ、Ｉ、（５）、Ｊ  …String３
この配列String３では、エラーフレーム（１）と(２）が、音声フレームＣとＤのあいだに挿入され、エラーフレーム（３）と(４）が、音声フレームＦとＧのあいだに挿入され、音声フレームＩとＪのあいだには、エラーフレーム（５）だけが挿入されている。この配列String３は、前記配列String２と比べ、エラーフレームの挿入位置も異なっているが、挿入位置は、挿入フレーム連続数ＭＥの供給タイミングなどに応じて適宜変更するようにしてよい。
【０１００】
前記配列String１をこの配列String３に変換するにあたって、前記エラーフレーム挿入部３２がエラーフレーム連続数決定部３１から受け取る挿入フレーム連続数ＭＥは、フレーム（１）、（２）およびフレーム(３）、（４）を挿入する際には２で、フレーム（５）を挿入する際には１である。
【０１０１】
配列String３では挿入されたエラーフレームの連続数は、２または１であるが、連続数２は、しきい値ＴＨ未満なので、音質劣化はユーザにほとんど体感されない程度に抑制される。
【０１０２】
ここでは、変換後の配列String２や３は、受信バッファ３に蓄積してキューの最後尾を形成するものとしたが、受信バッファ３を介することなく、直接、復号部４に供給するようにしてもよい。これは、前記被挿入パケットが受信バッファ３に蓄積されている期間内に残フレーム制御部６における処理が行われればよいから、残フレーム制御部６における処理に時間がかかる場合のタイミング調整などに有利である。
【０１０３】
この場合でも、配列String１からString２への変換や配列String１からString３への変換などが実行可能である。
【０１０４】
（Ｂ−２）第２の実施形態の効果
本実施形態によれば、第１の実施形態の効果と同等な効果を得ることができる。
【０１０５】
加えて、本実施形態では、エラーパケットの挿入による上述した遅延時間の制御誤差を完全に解消することができ、受信バッファ枯渇による音声途切れの防止や、音質劣化の改善に有効である。
【０１０６】
（Ｃ）第３の実施形態
以下では、本実施形態が第１、第２の実施形態と相違する点についてのみ説明する。
【０１０７】
第２の実施形態では、エラーフレームの挿入に際して挿入位置の前後の音声フレームの中身については配慮しなかったが、本実施形態は、エラーフレームの挿入部分が聴覚特性に与える品質劣化の程度は隣接する音声フレームの内容に応じて相違する点に着目し、エラーフレーム挿入部分の音質劣化を一層効果的に抑制することを特徴とする。
【０１０８】
（Ｃ−１）第３の実施形態の構成および動作
本実施形態の受信装置２２の構成を図５に示す。この受信装置２２は基本的に、第１の実施形態の受信装置２０、第２の実施形態の受信装置２１に対応する装置である。
【０１０９】
図５において、受信装置２２は、受信端１と、パケット監視部２と、受信バッファ３と、復号部４と、出力端５と、残フレーム制御部６、フレームレベル識別部７とを備えている。
【０１１０】
このうちフレームレベル識別部７以外の構成要素１〜６の機能は、実質的に、同一の符号を付した図８の各部と同じである。
【０１１１】
図９には、パケット監視部２と、残フレーム制御部６と、当該フレームレベル識別部７の内部構成を示している。
【０１１２】
図９中の構成要素１１〜１５、３０，３１の機能は、実質的に、同一の符号を付した図８の各部と同じである。
【０１１３】
図９において、一点鎖線で囲んだ部分がフレームレベル識別部７に対応する。
【０１１４】
すなわち、フレームレベル識別部７は、無音フレーム検出部４０と、音圧レベル検出部４１とを備えている。
【０１１５】
このうち無音フレーム検出部４０は、受信パケットが収容している各音声フレームを調べて無音フレームを検出し当該無音フレームの位置を示す無音位置ＮＬをエラーフレーム挿入部４２に供給する部分である。無音フレームとは、音声データとしては有効であるが復号しても有意な音声出力が得られない符号化音声データを収容している音声フレームである。
【０１１６】
無音フレーム（無音部）の判定機能としては、例えば波形の二乗平均値を求め、所定の閾値より小さい場合に無音と判定する方法や、波形の分散値を求め、所定の閾値より小さい場合に無音と判定する方法や、各フレームデータに記載された有音無音の識別コードを参照する方法などがあり、これ以外にも様々な方法が適用できる。
【０１１７】
最後に述べた、各フレームデータに記載された有音無音の識別コードとは、例えば、前述したＧ．７２３．１やＧ．７２９などの符号化方式において、無音圧縮機能（ＶＡＤ機能）を用いて符号化した場合、各フレームデータの先頭に、有音、無音、過渡音の何れかのコードが記される。
【０１１８】
また、前記音圧レベル検出部４１は、受信パケットが収容している各音声フレームを調べて、所定レベル以上の音圧レベルを持つ符号化音声データを収容した音声フレームを検出し、その音声フレームの位置を示す大音圧位置ＬＬをエラーフレーム挿入部４２に供給する部分である。音圧レベルとは、各音声フレームを復号することによって得られる音声出力の音の大きさのことである。
【０１１９】
音圧レベルの検出は、上述した無音フレームの検出に用いた判定機能と同様に、例えば、波形の二乗平均値を求めその値を予め設定した音圧レベルと比較すること等によって行うことができる。
【０１２０】
エラーフレームを無音部に挿入すると、挿入したエラーフレーム分、無音区間が延びるが、聴覚特性上、それを人間が感知することは現実的に不可能である。
【０１２１】
また、エラーフレームを音圧レベルの高い部分に挿入すると、エラーフレーム直前の大音圧によるマスキング効果で、聴覚特性上、エラーフレーム部の音声は人間に知覚されにくくなる。このマスキング効果は、音圧レベルがない音（いわゆる小さい音）の後に、音圧レベルが高い音（いわゆる大きい音）がきた場合にも効果を発揮し、音圧レベルの高い音が、直前の音圧レベルがない音を知覚しにくくする。
【０１２２】
したがって、エラーフレームの挿入位置として、無音の音声フレームに隣接した位置や、大音圧レベルの音声フレーム（大音圧レベルフレーム）に隣接した位置を選択することにより、音質の劣化がユーザに感得されにくくなる。
【０１２３】
エラーフレーム挿入部４２の機能は、上述した第２の実施形態のエラーフレーム挿入部３２とは相違し、前記エラーフレーム連続数決定部３１から受け取った挿入フレーム連続数ＭＥと、無音フレーム検出部４０から受け取った無音位置ＮＬと、音圧レベル検出部４１から受け取った大音圧位置ＬＬとに基づいて、上述した被挿入パケットの音声データ部に、エラーフレームの挿入操作を実行する。
【０１２４】
フレームレベル識別部７は、必ずしも無音フレーム検出部４０と音圧レベル検出部４１の双方を備えている必要はなく、いずれか一方だけを装備していてもよい。
【０１２５】
また、無音フレームや大音圧レベルフレームの発生頻度は、ユーザ間の通話状態などに応じて変動するものなので、１つの被挿入パケットに収容された音声フレームにおける大音圧レベルフレームと無音フレームの分布状態は未知である。すなわち１つの被挿入パケットに収容された音声フレームに、大音圧レベルフレームは存在するが無音フレームは存在しない場合もあり、反対に無音フレームは存在するが大音圧レベルフレームは存在しない場合や、無音フレームも大音圧レベルフレームも存在しない場合や、双方とも存在する場合もあり得る。
【０１２６】
ここでは、無音フレームは存在するが大音圧レベルフレームは存在しない場合を例に、本実施形態の動作について説明する。
【０１２７】
前記被挿入パケットが次の配列String４に示すように、６個の音声フレームから構成されているものとする。
【０１２８】
無音１、有音２、有音３、無音４、有音５、有音６    …String４
この配列String４を調べた結果、前記無音レベル検出部４０の出力する無音位置ＮＬは、無音１と無音４の位置で能動状態となり、他の位置では非能動状態である。また、この例では、有音２、有音３、有音５、有音６の音圧レベルは高くないため、音圧レベル検出部４１が出力する大音圧位置ＬＬは、一度も能動状態とならないものとする。
【０１２９】
このとき、挿入フレーム連続数ＭＥが１を指定しているものとし、前記サイズ差ＤＤが２以上あるものとすると、前記配列String４はエラーフレーム挿入部４２の動作によって、次の配列String５に変換される。
【０１３０】
無音１、有音２、有音３、（１）、無音４、（２）、有音５、有音６…String５
ここでは、無音４の左右に１つずつ、合計２つのエラーフレーム（１）、（２）を挿入したが、無音１の右側にもいずれかのエラーフレームを挿入することも可能である。
【０１３１】
もしも、挿入フレーム連続数ＭＥが２である場合には、前記配列String４は次の配列String６に変換することもできる。
【０１３２】
無音１、有音２、有音３、無音４、（１）、（２）、有音５、有音６…String６
ここでも、２つの連続する挿入フレーム（１）、（２）は、無音４の左側に挿入してもよいし、無音１の右側に挿入してもよい。
【０１３３】
また、本実施形態では、マスキング効果などの大音圧レベルや無音部の聴覚特性を利用するため、これらを利用しない第２の実施形態に比べて、挿入フレーム最大連続数ＬＥの値を大きくしても音質劣化は感得されない可能性が高い。したがって、実際に出力端５から出力される再生音を試聴することによって、挿入フレーム最大連続数ＬＥの値を決定するようにしてもよい。
【０１３４】
なお、変換後の配列String５やString６が受信バッファ３に蓄積されてキューの最後尾を形成することは、第２の実施形態と同じである。
【０１３５】
また、第２の実施形態と同様に、変換後の配列String５やString６は、受信バッファ３に蓄積することなく、直接、復号部４に供給するようにしてもよい。これは、前記被挿入パケットが受信バッファ３に蓄積されている期間内に残フレーム制御部６およびフレームレベル識別部７における処理が行われればよいから、残フレーム制御部６やフレームレベル識別部７における処理に時間がかかる場合のタイミング調整などに有利である。
【０１３６】
図６に示した受信装置２３は、この場合に対応した構成となっている。
【０１３７】
（Ｃ−３）第３の実施形態の効果
本実施形態によれば、第１、第２の実施形態と同等な効果を得ることができる。
【０１３８】
加えて、本実施形態では、被挿入パケットが収容している音声フレームの中身にも配慮してエラーフレームの挿入を行うので、聴覚特性を巧みに利用して、音声品質を第１、第２の実施形態よりも向上することや、挿入フレーム最大連続数（ＬＥ）の値を大きくして、いっそう早期に遅延時間の制御誤差（ＤＤ）を解消することが可能である。
【０１３９】
（Ｄ）他の実施形態
なお、第１〜第３の実施形態では、前述したパケット番号、タイムアウト時間の設定と監視、エラーフレーム生成、パケット廃棄の機能をパケット監視部２に集約したが、全て、あるいは、部分的に機能を分けて複数のユニットとして構成してもよい。
【０１４０】
また、第１〜第３の実施形態では、説明の簡明のために多くの具体的な数値を示したが、これらの数値は例示的なものであり、本発明は上述した数値以外についても広く適用することができる。
【０１４１】
さらに、第１〜第３の実施形態で示した構成図や動作フローは、本発明を実現する一例を示しているにすぎない。よって本発明の適用にあたっては、前述した機能を有する要素がどこかに含まれていればよく、これら以外の機能を有する要素が含まれていても構わない。
【０１４２】
また、第１〜第３の実施形態では、本発明を主としてハードウエア的に実現したが、本発明はソフトウエア的に実現することも可能である。
【０１４３】
【発明の効果】
以上に説明したように、本発明は、各通信パケットの受信そのものが正常に行われているどうかを検出しているので、例えば受信バッファが空になるかどうか等に依存せずに機能して、音飛びなどが発生することを阻止できる可能性を高める。
【０１４４】
また、本発明では、通信パケットサイズが大きい場合には、通信パケットサイズよりも小さなサイズの補正パケットを挿入するから、有効な音声データを収容していない補正パケットを挿入してもその挿入部分における音質の劣化を抑制し、通話品質を維持することが可能である。
【図面の簡単な説明】
【図１】第１〜第３の実施形態に係る受信装置のパケット監視部の概略構成を示すブロック図である。
【図２】第１〜第３の実施形態の動作説明図である。
【図３】受信パケットのパケットサイズと同サイズのエラーパケットを挿入した場合の、パケットサイズと音質評価の関係を示す概略図である。
【図４】第２の実施形態に係る受信装置の概略構成を示すブロック図である。
【図５】第３の実施形態に係る受信装置の概略構成を示すブロック図である。
【図６】第３の実施形態に係る受信装置の変形例の概略構成を示すブロック図である。
【図７】第１の実施形態に係る受信装置の概略構成を示すブロック図である。
【図８】第２の実施形態に係る受信装置の主要部の概略構成を示すブロック図である。
【図９】第３の実施形態に係る受信装置の主要部の概略構成を示すブロック図である。
【符号の説明】
２…パケット監視部、３…受信バッファ、４…復号部、６…残フレーム制御部、７…フレームレベル識別部、１１…受信正常性検出部、１２…パケットサイズ検出部、１３…しきい値設定部、１４…エラーパケットサイズ選択部、１５…エラーパケット挿入部、３０…サイズ差検出部、３１…エラーフレーム連続数決定部、３２、４２…エラーフレーム挿入部、４０…無音フレーム検出部、４１…音圧レベル検出部。
【図１】
0003813046.tif 000002
【図２】
0003813046.tif 000003
【図３】
0003813046.tif 000004
【図４】
0003813046.tif 000005
【図５】
0003813046.tif 000006
【図６】
0003813046.tif 000007
【図７】
0003813046.tif 000008
【図８】
0003813046.tif 000009
【図９】
0003813046.tif 000010