(57)【要約】【課題】音声特徴情報を算出するための複雑な演算処理量を大幅に削減し、補間処理の処理負荷の少ない音声伝送装置を提供する。【解決手段】受信した音声パケットのフレームを蓄積するバッファ部と、フレームの蓄積量が下限閾値よりも小さいときにフレームステータスを拡大と判定し、フレームが出力すべき位置に存在していないと判断したときにフレームステータスを欠落と判定する判定手段と、拡大と判定したときはバッファ部の蓄積量を増加させる処理手段と、判定手段で判定された現在のフレームのフレームステータスとフレームステータス格納部に格納された一つ前のフレームのフレームステータスの組み合わせのうち、特定の組み合わせの場合にのみ過去のフレームのデータ演算により現在のフレームの音声特徴情報を算出して現在のフレームを補間する補間フレームを生成するフレーム補間制御部とを備える。【選択図】図４
2008003177.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して音声パケットをリアルタイムで伝送する音声伝送装置において、
受信した前記音声パケットのフレームを蓄積するバッファ部と、
前記バッファ部に蓄積したフレームの蓄積量が下限閾値よりも小さいときの前記バッファ部から出力するフレームのステータスを拡大と判定し、前記バッファ部から出力すべき位置にフレームが存在していないと判断したときのステータスを欠落と判定する判定部と、
前記判定部の判定結果が拡大のときは前記バッファ部内にダミーフレームを挿入して前記バッファ部の蓄積量を増加させる処理部と、
前記判定部の判定結果である前記ステータスを順次格納するフレームステータス格納部と、
前記判定部で判定された現在のフレームのステータスと前記フレームステータス格納部に格納された一つ前のフレームのステータスの組み合わせのうち、特定の組み合わせの場合にのみ過去のフレームのデータ演算により現在のフレームの音声特徴情報を算出して現在のフレームを補間する補間フレームを生成するフレーム補間制御部と、を備える音声伝送装置。
【請求項２】
前記フレーム補間制御部は、
前記判定部で判定された現在のフレームのステータスと前記フレームステータス格納部に格納された一つ前のフレームのステータスの組み合わせに基づいて現在のフレームの補間処理が必要かどうかを判断する請求項１記載の音声伝送装置。
【請求項３】
前記フレーム補間制御部は、
算出した前記音声特徴情報を保存する音声特徴情報格納部を備える請求項１記載の音声伝送装置。
【請求項４】
前記フレーム補間制御部は、
前記特定の組み合わせ以外の場合であって現在のフレームの補間処理が必要と判断された場合に、保存されている音声特徴情報に基づき、現在のフレームの補間フレームを生成する請求項２記載の音声伝送装置。
【請求項５】
前記フレーム補間制御部は、
現在のフレームのステータスが拡大と欠落のいずれかであり、かつ、１つ前のフレームのステータスが拡大と欠落のいずれでもないときに、過去のフレームのデータ演算により音声特徴情報を算出して現在のフレームの補間フレームを生成し、音声特徴情報を音声特徴情報格納部に保存する請求項１から請求項４のいずれかに記載の音声伝送装置。
【請求項６】
前記フレーム補間制御部は、
一つ前のフレームのステータスが拡大と欠落のいずれかであるとき、前記音声特徴情報格納部に保存した前記音声特徴情報を前記音声情報格納部から読み出し、前記音声特徴情報に基づき、現在のフレームの補間フレームを生成する請求項１から請求項５のいずれかに記載の音声伝送装置。
【請求項７】
前記判定部は、
前記バッファ部のフレームの蓄積量が上限閾値よりも大きい場合、前記バッファ部から出力するフレームのステータスを縮小と判定し、
前記処理部は、
前記判定部の判定結果が縮小のときは前記バッファ部内のフレームを破棄して前記バッファ部の蓄積量を減少させる請求項１記載の音声伝送装置。
【請求項８】
ネットワークを介して音声パケットをリアルタイムに伝送する音声伝送装置における音声伝送方法であって、
受信した前記音声パケットのフレームをバッファ部に蓄積する蓄積ステップと、
前記バッファ部に蓄積したフレームの蓄積量が下限閾値よりも小さいときの前記バッファ部から出力するフレームのステータスを拡大と判定し、前記バッファ部から出力すべき位置にフレームが存在していないと判断したときのステータスを欠落と判定する判定ステップと、
前記判定ステップの判定結果が拡大のときは前記バッファ部内にダミーフレームを挿入して前記バッファ部の蓄積量を増加させる調整ステップと、
前記判定ステップの判定結果である前記ステータスを順次格納するステータス格納ステップと、
現在のフレームのステータスと一つ前のフレームのステータスの組み合わせのうち、特定の組み合わせの場合にのみ過去のフレームのデータ演算により現在のフレームの音声特徴情報を算出して現在のフレームを補間する補間フレームを生成する算出補間ステップと、を有する音声伝送方法。
【請求項９】
前記算出した音声特徴情報を保存する保存ステップと、
前記特定の組み合わせ以外の場合であって前記判定ステップにより判定された現在のフレームのステータスと一つ前のフレームのステータスの組み合わせに基づいて現在のフレームの補間処理が必要と判断された場合に、前記保存ステップで保存した前記音声特徴情報を読み出し、前記音声特徴情報に基づき、現在のフレームの補間フレームを生成する読出補間ステップと、をさらに有する請求項８記載の音声伝送方法。
【請求項１０】
ネットワークを介して音声パケットをリアルタイムに伝送させるための音声伝送プログラムであって、
受信した前記音声パケットのフレームをバッファ部に蓄積する蓄積ステップと、
前記バッファ部に蓄積したフレームの蓄積量が下限閾値よりも小さいときの前記バッファ部から出力するフレームのステータスを拡大と判定し、前記バッファ部から出力すべき位置にフレームが存在していないと判断したときのステータスを欠落と判定する判定ステップと、
前記判定ステップの判定結果が拡大のときは前記バッファ部内にダミーフレームを挿入して前記バッファ部の蓄積量を増加させる調整ステップと、
前記判定ステップの判定結果である前記ステータスを順次格納するステータス格納ステップと、
現在のフレームのステータスと一つ前のフレームのステータスの組み合わせのうち、特定の組み合わせの場合にのみ過去のフレームのデータ演算により現在のフレームの音声特徴情報を算出して現在のフレームを補間する補間フレームを生成する算出補間ステップと、をコンピュータに実行させるための音声伝送プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声伝送装置および音声伝送方法に関する。
【背景技術】
【０００２】
インターネット上で音声パケットをリアルタイムに送受信する、ＩＰ電話機に代表される音声伝送装置においては、ネットワーク遅延のゆらぎにより音声パケットの遅延や消失が発生し、通話音声に途切れや歪みが生じるという問題がある。そこで、従来から、ネットワーク遅延のゆらぎを吸収するジッタバッファを受信側の装置に設けて、通話音質の劣化を防止することが行われている。
【０００３】
しかし、ネットワーク遅延のゆらぎが大きいと、ジッタバッファによっても、ゆらぎを吸収することはできない。すなわち、ジッタバッファに対してネットワーク遅延が大きい状態では、ジッタバッファの音声データが枯渇するアンダーフローが生じ、バッファから再生する音声の劣化が生じる。また、ジッタバッファに対してネットワーク遅延が小さい状態では、ジッタバッファの音声データが溢れ、オーバーフローが生じ、バッファから再生する音声の劣化が生じる。なお、ネットワーク上でのパケットの消失による音質劣化については、そもそも、ジッタバッファによっても、その抑制は十分でなかった。
【０００４】
ジッタバッファを備えた音声伝送装置において音声劣化を抑制する技術として、従来、例えば、特許文献１および特許文献２に記載されたものが知られている。
【０００５】
特許文献１には、ジッタバッファから出力される音声データを検知し、音声データがジッタバッファから溢れそうになったときは、ジッタバッファ内の音声データを縮小し、音声データを縮小したときは、縮小した音声データを前後の音声信号データの信号処理により生成された補正データで補間することにより（バッファの拡大または縮小処理後のデータに対する補間処理）、音質の劣化を抑制する技術が開示されている。
【０００６】
また、特許文献２には、ネットワーク上のロスにより欠落したパケットをデータ補間することにより（欠落したデータに対する補間処理）、ネットワーク上でのパケットの消失による音質劣化を抑制する技術が開示されている。
【特許文献１】特開２００５−１５１１０４号公報
【特許文献２】特開２００５−１５７０４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、このような従来の技術においては、精度の高い音声補間を行う際に演算処理の負荷が大きくなるという問題がある。
【０００８】
すなわち、音声補間の信号処理技術として、ＣＥＬＰ（Code Excited Linear Prediction）系音声符号化で利用されているように、音声信号のピッチ（周期）情報、波形情報、ゲイン情報などの音声特徴情報を合成フィルタ（線形予測フィルタ）によって算出する音声予測の技術がある。しかし、このような音声特徴情報の算出には、音声信号の複雑な演算処理が必要となり、データの縮小または欠落のある音声の補間にリアルタイムに適用するには、演算処理の負荷が大きくなるという問題がある。
【０００９】
本発明は、かかる点に鑑みてなされたものであり、補間処理に伴う演算処理の負荷を低減しつつ、音質劣化を抑制することができる音声伝送装置および音声伝送方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、ネットワークを介して音声パケットをリアルタイムで伝送する際に、受信した前記音声パケットのフレームをバッファ部に蓄積し、前記バッファ部に蓄積したフレームの蓄積量が下限閾値よりも小さいときの前記バッファ部から出力するフレームのステータスを拡大と判定し、前記バッファ部から出力すべき位置にフレームが存在していないと判断したときのステータスを欠落と判定し、判定結果が拡大のときは前記バッファ部内にダミーフレームを挿入して前記バッファ部の蓄積量を増加させ、判定結果である前記ステータスを順次格納し、判定された現在のフレームのステータスと格納された一つ前のフレームのステータスの組み合わせのうち、特定の組み合わせの場合にのみ過去のフレームのデータ演算により現在のフレームの音声特徴情報を算出して現在のフレームを補間する補間フレームを生成する構成を採る。
【発明の効果】
【００１１】
本発明によれば、補間処理に伴う演算処理の負荷を低減しつつ、音声パケットのネットワーク遅延とそのゆらぎに起因する音質劣化を抑制することができる。
【発明を実施するための最良の形態】
【００１２】
本発明の第１の態様に係る音声伝送装置は、ネットワークを介して音声パケットをリアルタイムで伝送する音声伝送装置であって、受信した前記音声パケットのフレームを蓄積するバッファ部と、前記バッファ部に蓄積したフレームの蓄積量が下限閾値よりも小さいときの前記バッファ部から出力するフレームのステータスを拡大と判定し、前記バッファ部から出力すべき位置にフレームが存在していないと判断したときのステータスを欠落と判定する判定部と、前記判定部の判定結果が拡大のときは前記バッファ部内にダミーフレームを挿入して前記バッファ部の蓄積量を増加させる処理部と、前記判定部の判定結果である前記ステータスを順次格納するフレームステータス格納部と、前記判定部で判定された現在のフレームのステータスと前記フレームステータス格納部に格納された一つ前のフレームのステータスの組み合わせのうち、特定の組み合わせの場合にのみ過去のフレームのデータ演算により現在のフレームの音声特徴情報を算出して現在のフレームを補間する補間フレームを生成するフレーム補間制御部と、を備える構成を採る。
【００１３】
この構成によれば、補間をする場合でも補間処理の演算を省略できる場合があるので音声パケットのネットワーク遅延とそのゆらぎに起因する音声劣化を防止するための拡大、縮小処理に伴う補間処理の演算の処理負荷を軽減することができる。
【００１４】
本発明の第２の態様に係る音声伝送装置は、第１の態様に係る音声伝送装置の構成に加えて、前記フレーム補間制御部は、前記判定部で判定された現在のフレームのステータスと前記フレームステータス格納部に格納された一つ前のフレームのステータスの組み合わせに基づいて現在のフレームの補間処理が必要かどうかを判断する構成を採る。
【００１５】
この構成によれば、第１の態様に係る音声伝送装置の作用効果に加え、補間処理も選択的に行うことができるので補間処理自体の負荷を軽減することができる。
【００１６】
本発明の第３の態様に係る音声伝送装置は、第１の態様に係る音声伝送装置の構成に加えて、前記フレーム補間制御部は、算出した前記音声特徴情報を保存する音声特徴情報格納部を備える構成を採る。
【００１７】
この構成によれば、第１の態様に係る音声伝送装置の作用効果に加え、前記音声特徴情報を保存する音声特徴情報格納部を備えるため、後のフレームにおいて音声特徴情報を読み出すことにより演算処理を省略することができる。
【００１８】
本発明の第４の態様に係る音声伝送装置は、第２の態様に係る音声伝送装置の構成に加えて、前記フレーム補間制御部は、前記特定の組み合わせ以外の場合であって現在のフレームの補間処理と判断される場合に、保存されている音声特徴情報に基づき、現在のフレームの補間フレームを生成する構成を採る。
【００１９】
この構成によれば、第２の態様に係る音声伝送装置の作用効果に加え、現フレームにおいて音声特徴情報の算出が不要となり演算処理を省略することができる。
【００２０】
本発明の第５の態様に係る音声伝送装置は、第１の態様から第４の態様のいずれかに係る音声伝送装置の構成に加えて、前記フレーム補間制御部は、現在のフレームのステータスが拡大と欠落のいずれかであり、かつ、１つ前のフレームのステータスが拡大と欠落のいずれでもないときに、過去のフレームのデータ演算により音声特徴情報を算出して現在のフレームの補間フレームを生成し、音声特徴情報を音声特徴情報格納部に保存する構成を採る。
【００２１】
この構成によれば、第１の態様から第４の態様のいずれかに係る音声伝送装置の作用効果に加え、前のフレームに正常もしくは縮小が続いたときは以前に音声特徴情報を保存した時点から時間が経過していることも多く状況が変化している可能性も高い状況で、最新の音声特徴情報を使用できる。
【００２２】
本発明の第６の態様に係る音声伝送装置は、第１の態様から第５の態様のいずれかに係る音声伝送装置の構成に加えて、前記フレーム補間制御部は、一つ前のフレームのステータスが拡大と欠落のいずれかであるとき、前記音声特徴情報格納部に保存した前記音声特徴情報を前記音声情報格納部から読み出し、前記音声特徴情報に基づき、現在のフレームの補間フレームを生成する構成を採る。
【００２３】
この構成によれば、第１の態様から第５の態様のいずれかに係る音声伝送装置の作用効果に加え、後のフレームにおいて音声特徴情報を読み出すことができるため演算処理を省略することができる。
【００２４】
本発明の第７の態様に係る音声伝送装置は、第１の態様に係る音声伝送装置の構成に加えて、前記判定部は、前記バッファ部のフレームの蓄積量が上限閾値よりも大きい場合、前記バッファ部から出力するフレームのステータスを縮小と判定し、前記処理部は、前記判定部の判定結果が縮小のときは前記バッファ部内のフレームを破棄して前記バッファ部の蓄積量を減少させる構成を採る。
【００２５】
この構成によれば、第１の態様に係る音声伝送装置の作用効果に加え、縮小のときも補間を行え、かつ、後のフレームにおいて音声特徴情報を読み出すことができるため演算処理を省略することができる。
【００２６】
本発明の第８の態様に係る音声伝送方法は、ネットワークを介して音声パケットをリアルタイムに伝送する音声伝送装置における音声伝送方法であって、受信した前記音声パケットのフレームをバッファ部に蓄積する蓄積ステップと、前記バッファ部に蓄積したフレームの蓄積量が下限閾値よりも小さいときの前記バッファ部から出力するフレームのステータスを拡大と判定し、前記バッファ部から出力すべき位置にフレームが存在していないと判断したときのステータスを欠落と判定する判定ステップと、前記判定ステップの判定結果が拡大のときは前記バッファ部内にダミーフレームを挿入して前記バッファ部の蓄積量を増加させる調整ステップと、前記判定ステップの判定結果である前記ステータスを順次格納するステータス格納ステップと、現在のフレームのステータスと一つ前のフレームのステータスの組み合わせのうち、特定の組み合わせの場合にのみ過去のフレームのデータ演算により現在のフレームの音声特徴情報を算出して現在のフレームを補間する補間フレームを生成する算出補間ステップと、を有するようにした。
【００２７】
この方法によれば、補間をする場合でも補間処理の演算を省略できる場合があるので音声パケットのネットワーク遅延とそのゆらぎに起因する音声劣化を防止するための拡大、縮小処理に伴う補間処理の演算の処理負荷を軽減することができる。
【００２８】
本発明の第９の態様に係る音声伝送方法は、第８の態様に係る音声伝送方法に加え、前記算出した音声特徴情報を保存する保存ステップと、前記特定の組み合わせ以外の場合であって前記判定ステップで判定された現在のフレームのステータスと一つ前のフレームのステータスの組み合わせに基づいて現在のフレームの補間処理が必要と判断された場合に、前記保存するステップで保存した前記音声特徴情報を読み出し、前記音声特徴情報に基づき、現在のフレームの補間フレームを生成する読出補間ステップと、をさらに有するようにした。
【００２９】
この方法によれば、第８の態様に係る音声伝送方法の作用効果に加え、現フレームにおいて音声特徴情報を算出が不要となり演算処理を省略することができる。
【００３０】
本発明の第１０の態様に係る音声伝送プログラムは、ネットワークを介して音声パケットをリアルタイムに伝送させるための音声伝送プログラムであって、受信した前記音声パケットのフレームをバッファ部に蓄積する蓄積ステップと、前記バッファ部に蓄積したフレームの蓄積量が下限閾値よりも小さいときの前記バッファ部から出力するフレームのステータスを拡大と判定し、前記バッファ部から出力すべき位置にフレームが存在していないと判断したときのステータスを欠落と判定する判定ステップと、前記判定ステップの判定結果が拡大のときは前記バッファ部内にダミーフレームを挿入して前記バッファ部の蓄積量を増加させる調整ステップと、前記判定ステップの判定結果である前記ステータスを順次格納するステータス格納ステップと、現在のフレームのステータスと一つ前のフレームのステータスの組み合わせのうち、特定の組み合わせの場合にのみ過去のフレームのデータ演算により現在のフレームの音声特徴情報を算出して現在のフレームを補間する補間フレームを生成する算出補間ステップと、をコンピュータに実行させるようにした。
【００３１】
このプログラムによれば、補間をする場合でも補間処理の演算を省略できる場合があるので音声パケットのネットワーク遅延とそのゆらぎに起因する音声劣化を防止するための拡大、縮小処理に伴う補間処理の演算の処理負荷を軽減することができる。
【００３２】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、同一の構成要素には同一の符号を付し、その説明を適宜省略する。
【００３３】
図１は、本発明の一実施の形態に係る音声伝送装置を適用したパケット通信システムの構成例を示すシステム構成図である。ここでは、パケット通信システムとして、ＩＰ電話システムを例にとって説明する。
【００３４】
図１（Ａ）は、ＩＰ電話機を用いたＩＰ電話システムのシステム構成図である。図１（Ａ）に示すＩＰ電話システムは、複数（ここでは単純化のため２台のみ示す）のＩＰ電話機１００ａ、１００ｂ（以下、任意のＩＰ電話機を符号「１００」で示す）をＩＰ網２００に接続して構成されている。ＩＰ電話機１００は、音声通話にＶｏＩＰ（Voice over Internet Protocol）技術を用いた電話サービスを利用するための電話機である。後述するジッタバッファ制御は、このＩＰ電話機１００で実行される。ＩＰ網２００は、パケット通信網の一つであり、インターネットプロトコルに従ってＩＰパケットを送受信する通信網である。
【００３５】
図１（Ｂ）は、一般電話機（アナログ電話機とも呼ばれる）を用いたＩＰ電話システムのシステム構成図である。図１（Ｂ）に示すＩＰ電話システムは、複数（ここでは単純化のため２台のみ示す）の一般電話機３００ａ、３００ｂ（以下、任意の一般電話機を符号「３００」で示す）を、ＶｏＩＰターミナルアダプタ（ＶｏＩＰ−ＴＡ）４００ａ、４００ｂを介して、ＩＰ網２００に接続して構成されている。ＶｏＩＰターミナルアダプタ４００は、一般電話機３００によってＩＰ電話を利用するための電話回線接続機器である。
【００３６】
図２は、図１（Ａ）のＩＰ電話機１００の構成を示すブロック図である。
【００３７】
ＩＰ電話機１００は、ＩＰ電話機と人間との間の音声インターフェースとして、マイク等で構成される音声入力部１１０とスピーカー等で構成される音声出力部１６０とを備える。また、ＩＰ電話機の通信インターフェースとして、ＩＰ網２００との間でパケットの送受信を行うパケット送受信部１３０を備えている。図１のネットワーク構成であれば、パケット送受信部１３０はインターネットプロトコルにしたがって動作することになる。なお、図示しないゲートウェイＧＷがプロトコル変換サービスを提供してローカルなプロトコルを使用する特殊な形態も可能である。
【００３８】
かかるＩＰ電話機において、音声入力部１１０に入力された音声は、符号化（圧縮）されて例えば１０ｍｓ単位の音声データ（以下、「フレーム」という）に変換され、パケット形成部１２０に渡される。パケット形成部１２０では所定フォーマットのパケットが形成される。例えば、ＲＴＰ（Real-time Transport Protocol）のようなプロトコルを利用してデータパケットをネットワーク上で送信する場合は、ＲＴＰパケットのヘッダにタイムスタンプやシーケンス番号が記述される。
【００３９】
１パケットには、１つ又は複数のフレームが詰め込まれる。音声データはフレームとして送信されることになる。パケット形成部１２０がパケットを生成してパケット送受信部１３０に渡し、パケット送受信部１３０はこれをＩＰ網２００へ送信する。また、パケット送受信部１３０はＩＰ網２００からパケットを受信する。受信パケットはパケット解析部１４０においてヘッダが解析されると共にフレームが取り出される。
【００４０】
フレームはジッタバッファ部１５０に書き込まれる。ジッタバッファ部１５０の構成、動作については後述する。音声出力部１６０はジッタバッファ部１５０からフレームを読み出して音声復号化処理を行い、音声データを再生して内部のスピーカー等から音声として出力する。
【００４１】
呼制御部１７０は、通話相手を特定し通話チャネル間を確立させる制御を行う。
【００４２】
図３は、図１（Ｂ）のＶｏＩＰターミナルアダプタ４００の構成を示すブロック図である。
【００４３】
音声入力部４１０は一般電話機３００からアナログ音声信号を受取り、これを符号化（圧縮）して例えば１０ｍｓ単位のフレームに変換して、パケット形成部１２０に渡す。また音声出力部４２０はジッタバッファ部１５０からフレームを読み出して音声復号化処理を行う。すなわち、アナログの音声信号を復元して一般電話機３００へ送出する。
【００４４】
その他の構成要素は図２のＩＰ電話機の構成要素と同一の記号を付してあり、同一の機能を有するためその説明を省略する。
【００４５】
図４は、図２および図３のジッタバッファ部１５０の構成を示すブロック図である。
【００４６】
ジッタバッファ部１５０は、大別して、バッファ部５１０、バッファ出力部５２０、バッファ制御部５３０、およびフレーム補間部５４０を有する。
【００４７】
バッファ部５１０は、例えばリングバッファにより構成され、パケット解析部１４０から受け取ったフレームを一時保持し、順次バッファ出力部５２０へ出力する。バッファ部５１０は、バッファ拡大縮小処理部５３４の指示により、バッファ部５１０の内部にあるフレームに対してダミーフレームを挿入して拡大処理を行ったり、フレームを破棄して縮小処理を行ったりすることでネットワーク遅延およびその揺らぎの影響を少なくすることができる。
【００４８】
バッファ出力部５２０はバッファ部５１０から読み出したフレームをフレーム補間部５４０へ引き渡す。
【００４９】
バッファ制御部５３０は、バッファ部５１０に蓄積したフレームの蓄積量に基づいてフレームを拡大すべきか、縮小すべきか、維持すべきかを判断し、さらに欠落フレームが存在するかどうかも判定し、拡大処理および縮小処理を実行する。バッファ制御部５３０は、バッファ拡大縮小判定部５３２、バッファ拡大縮小処理部５３４、および欠落フレーム判定部５３６で構成されている。
【００５０】
より具体的には、バッファ制御部５３０は、内部に有するリードポインタ（図示せず）に基づいて、フレーム補間部５４０にバッファ部５１０内部のフレームを引き渡す。フレームを引き渡すためのリードポインタは、次にバッファ部５１０から読み出すべきフレームのアドレスを指し示すものである。このリードポインタは処理単位毎に（例えば１０ｍｓ）にポインタのアドレスが更新される。バッファ制御部５３０は、そのリードポインタをリングバッファ内部のフレームの遅延および蓄積量を判断する基準として使用し、拡大と縮小の判断及び処理を行う。
【００５１】
次にバッファ部５１０へのフレームの格納方法を説明する。バッファ制御部５３０は、上記リードポインタが指し示すアドレスに格納されているフレームのタイムスタンプを基準としてネットワークから順次受信したフレームに記載されたタイムスタンプを参照し、当該タイムスタンプに対応して割り振られたバッファ部５１０のアドレス（位置）に受信したフレームを格納する。すなわちバッファ制御部５３０は、受信したフレームのタイムスタンプと、基準となるリードポインタが指し示すフレームのタイムスタンプとの差をみて、それに応じたバッファ部５１０上の適切な位置にフレームを格納する。
【００５２】
バッファ拡大縮小判定部５３２は、バッファ部５１０上のフレームの蓄積量を、ライトポインタが指し示す位置（受信されるフレームに記載されたタイムスタンプに対応して割り振られたアドレスの位置であってそこにフレームが書き込まれる）とリードポインタが指し示す位置の差によって判断する。
【００５３】
そしてバッファ拡大縮小判定部５３２は、上記のフレームの蓄積量が下限閾値より小さいときフレーム情報を拡大と判定し、上限閾値より大きいときはフレーム情報を縮小と判定する。
【００５４】
バッファ拡大縮小処理部５３４は、バッファ拡大縮小判定部５３２が拡大と判定した場合には、バッファ部５１０の内部にダミーフレームを挿入させて（拡大させて）バッファ部５１０の蓄積量を増加させて拡大処理を行う。またバッファ拡大縮小処理部５３４は、バッファ拡大縮小判定部５３２が縮小と判定した場合には、バッファ部５１０の内部のフレームを破棄させて（縮小させて）バッファ部５１０の蓄積量を減少させて縮小処理を行う。
【００５５】
欠落フレーム判定部５３６は、現時点でのバッファ部５１０のリードポインタが指し示すバッファ部５１０のアドレス（位置）を参照する。その時にその位置にデータが存在していない場合（ダミーフレームである場合）、フレーム情報は欠落であると判定する。この場合はネットワーク上において欠落したフレームがあると考えられる。
【００５６】
より具体的に説明すると、バッファ部５１０には各フレームの格納場所毎にフラグが設けられており、フレームが書き込まれたときにそのフラグが１となり、そのフレームが読まれたとき（バッファ出力部５２０へ出力されたとき）にそのフラグが０になるものとする。そしてバッファ部５１０が読まれる直前にリードポインタが指し示すアドレスにおいてフラグが０である格納場所はデータが存在しておらず欠落フレームであると判定できる。
【００５７】
そして欠落したフレームに代替えすべきフレームを補間させるためにフレーム補間部５４０に対して欠落のフレームステータスを送付する。
【００５８】
尚、フレーム補間部５４０がバッファ制御部５３０からフレーム情報（拡大、縮小、欠落）を受け取った時点で、自動的にバッファ制御部５３０はリードポインタを更新し、更新後リードポインタ上にフレームが存在していればバッファ出力部５２０からフレーム補間部５４０へそのフレームを転送する。
【００５９】
フレーム補間部５４０は、フレーム補間の実行とそれに必要な制御および情報の格納を行う。フレーム補間部５４０は、補間部５４２、音声特徴情報格納部５４４、フレームステータス格納部５４６、およびフレーム補間制御部５４８で構成されている。フレーム補間制御部５４８は、フレームデータ記憶部５５０および音声特徴情報算出部５５２を備えている。
【００６０】
フレーム補間部５４０では受け取ったフレームステータスが欠落であった場合、バッファ出力部５２０からのデータ取得は行わない。正常、縮小、拡大の場合は、バッファ出力部５２０のデータの取得を行う。
【００６１】
フレーム補間制御部５４８は、フレームステータスからなるフレーム情報をバッファ制御部５３０から受取る。フレーム補間制御部５４８は、現在のフレーム（以下、現フレームという）および一つ前のフレーム（以下、前フレームという）のフレームステータスにより後述する図５の基準に従って、フレームの補間を行うかどうかを決定する。補間の実行を決定した場合は音声特徴情報を算出又は音声特徴情報格納部５４４から読み出して補間処理を行い、補間部５４２へフレームの補間を指示する。また、フレーム補間制御部５４８は、これらのフレームステータスにより後述する図５の基準に従って、現在のフレームの音声特徴情報を算出して音声特徴情報格納部５４４に格納するかどうかを決定する。算出した場合は算出した音声特徴情報を音声特徴情報格納部５４４へ送出して格納させる。音声特徴情報の内容は例えば後述する音声信号のピッチ周期等である。
【００６２】
フレーム補間制御部５４８は音声特徴情報に基づいて、後述する方法により補間フレームの作成を行い、補間部５４２へ補間フレームを引き渡して補間を指示する。
【００６３】
フレーム補間制御部５４８はフレーム情報として欠落フレーム判定部５３６から欠落のフレームステータスを、バッファ拡大縮小判定部５３２から拡大または縮小のフレームステータスを受取り、フレームごとにフレームステータスをフレームステータス格納部５４６に格納する。
【００６４】
フレーム補間制御部５４８は、フレームデータ記憶部５５０と、音声特徴情報算出部５５２とを備える。フレームデータ記憶部５５０は、現フレームおよび過去のフレームのデータを記憶する。音声特徴情報算出部５５２は後述する条件を満たすときにフレームデータ記憶部５５０から現フレームおよび過去のフレームのデータを読み出して後述する方法により音声特徴情報を算出し、音声特徴情報格納部５４４に格納する。
【００６５】
補間部５４２は、フレーム補間制御部５４８の指示に基づき補間フレームをフレーム補間制御部５４８から受取り、フレームのデータとして補間フレームをバッファ出力部５２０か受け取ったデータに対して挿入や置き換え等によりフレームの補間を実行する。
【００６６】
図５は、フレームステータスと補間の有無および音声特徴情報の保存と読み出しの関係を示す図である。図５を参照すると、現フレームおよび前フレームのフレームステータスがいかなる組み合わせであるときに補間を行うか否かが表示されている。また補間を行う場合には、現フレームおよび前フレームのフレームステータスがいかなる組み合わせであるときに音声特徴情報を保存するのか読み出すのかが表示されている。図５において、「保存」と表示がある場合は、フレーム補間制御部５４８は、新たに音声特徴情報を算出してその音声特徴情報を音声特徴情報格納部５４４に保存し、算出した音声特徴情報を使用して補間フレームを作成する。また「読出」と表示がある場合は、フレーム補間制御部５４８は、音声特徴情報格納部５４４から読み出した音声特徴情報を使用して補間フレームを作成する。
【００６７】
フレーム補間制御部５４８が、フレームステータス格納部５４６から現フレームと前フレームのステータスを読み出した結果、現フレームが正常または縮小であって、かつ、前フレームが正常または縮小であれば（欄６１１，６１２，６２１，６２２の場合）、補間は行わず、音声特徴情報の保存も読み出しも行わない。正常または縮小のフレームステータスが連続しているのでフレームのデータの歪みは少ないと考えられるからである。
【００６８】
現フレームが拡大もしくは欠落であり、かつ、前フレームが正常もしくは縮小である場合（欄６３１，６３２，６４１，６４２）は補間を行い、音声特徴情報の算出および音声特徴情報格納部５４４へ音声特徴情報の保存を行う。現フレームが拡大もしくは欠落であるのでデータの歪みの影響が直接表れるので補間の必要性が高く、また前のフレームに正常もしくは縮小が続いたときは以前に音声特徴情報を保存した時点から時間が経過していることも多く状況が変化している可能性も高いので、最新の音声特徴情報を使用する必要性が高いからである。
【００６９】
前フレームが拡大もしくは欠落である場合（欄６１３，６１４，６２３，６２４，６３３，６３４，６４３，６４４）は、現フレームの状態如何に関わらず、補間を行い、音声特徴情報格納部５４４から音声特徴情報の読み出しを行う。前フレームが拡大もしくは欠落である場合は現フレームにもその影響がおよぶため現フレームが拡大もしくは欠落であると否とに関わらず補間の必要性はある。その一方で拡大もしくは欠落が多数連続することは少ないため以前に音声特徴情報を保存した時点から時間が経過していることが少なく状況が変化している可能性も低いので、最新の音声特徴情報を使用する必要性が比較的低いからである。
【００７０】
尚、現フレームが拡大もしくは欠落であり、または、前フレームが拡大もしくは欠落である場合（欄６３１，６３２，６４１，６４２，６１３，６１４，６２３，６２４，６３３，６３４，６４３，６４４）は補間を行うこととしている。
【００７１】
この図を参照すると、音声特徴情報算出部５５２が音声特徴情報を算出して音声特徴情報格納部５４４に格納するのは、現フレームが拡大もしくは欠落であり、かつ、前フレームが正常もしくは縮小である場合に限られる。そして前フレームが拡大もしくは欠落である場合は音声特徴情報格納部５４４から音声特徴情報を読み出して使用するため新たに算出する必要がない。したがって、音声特徴情報を算出する回数すなわち音声信号の複雑な演算処理量が大幅に減少するため、補間処理の処理負荷を削減することが可能となる。
【００７２】
次に、上記構成を有する音声伝送装置の動作について、図面を用いて説明する。以下の動作は、ＩＰ電話機１００について説明する。ＶｏＩＰターミナルアダプタ４００の場合も全く同様に理解することができるのでその説明を省略する。ここでは、まず図４に示すジッタバッファ部１５０の動作を中心に説明する。
【００７３】
まず、バッファ制御部５３０の動作について図６を参照して説明する。図６はバッファ制御部５３０の動作を表すフローチャートである。
【００７４】
この図６においてはＳ１０００からＳ１２５０のオーバーフローの判定および縮小処理と、Ｓ１３００からＳ１４５０までのアンダーフロー判定および拡大処理を主要な処理としている。
【００７５】
最初にバッファ拡大縮小判定部５３２は、フレームの蓄積量をバッファ部５１０の入力するデータのアドレスを指し示すライトポインタと出力するデータのアドレスを指し示すリードポインタの位置の差からバッファ部５１０のフレームの蓄積量を検出する（Ｓ１０００）。そしてあらかじめ定められた上限閾値よりも蓄積量が大きいかどうかを判断する（Ｓ１１００）。
【００７６】
もし蓄積量が上限閾値より大きければ（Ｓ１１００：ＹＥＳ）まもなくオーバーフローが起きる可能性が高いとして、フレームステータスが縮小であると判定する（Ｓ１２００）。フレーム縮小を行うためバッファ拡大縮小処理部５３４に対して縮小の判定結果を伝え、バッファ拡大縮小処理部５３４はバッファ部５１０に一部のフレームを破棄させ縮小処理を実行させる（Ｓ１２５０）。
【００７７】
もし蓄積量が上限閾値より大きくなければ（Ｓ１１００：ＮＯ）、次に蓄積量が下限閾値より小さいかどうかを判断する（Ｓ１３００）。もし蓄積量が下限閾値より小さければ（Ｓ１３００：ＹＥＳ）まもなくアンダーフローが起きる可能性が高いとしてフレームステータスが拡大であると判定する（Ｓ１４００）。そしてフレーム拡大を行うためバッファ拡大縮小処理部５３４に対して拡大の判定結果を伝え、バッファ拡大縮小処理部５３４はバッファ部５１０にダミーフレームを挿入させることによりフレームの拡大処理を実行させる（Ｓ１４５０）。もし蓄積量が上限閾値より大きくも下限閾値より小さくもなければ（Ｓ１３００：ＮＯ）、フレームステータスは正常と判定する（Ｓ１５００）。
【００７８】
次に縮小か、拡大か、正常かを判定した後に、フレーム欠落であるかどうかを判定し（Ｓ１６００）、もしフレームが欠落である場合（Ｓ１６００：ＹＥＳ）はフレームステータスが欠落であると判定し（Ｓ１７００）、そのフレームステータスをフレーム補間部５４０へ通知する（Ｓ１８００）。フレーム欠落でないと判断したときは（Ｓ１６００：ＮＯ）フレームステータスはそのままにして、いままでの決定したバッファ部のフレームステータスをフレーム補間部５４０へ通知する（Ｓ１８００）。
【００７９】
つぎに図７のフローチャートを参照して、フレーム補間部５４０の動作を説明する。
【００８０】
まず、フレーム補間制御部５４８は、欠落フレーム判定部５３６やバッファ拡大縮小判定部５３２から現フレームと前フレームのフレームステータスを取得し（Ｓ２０００）、フレームステータス格納部５４６へフレームステータスを格納する。
【００８１】
次にフレーム補間制御部５４８は、そのフレームステータスを参照して、前フレームのフレームステータスが欠落であるかどうかを判断する（Ｓ２１００）。もし前フレームのフレームステータスが欠落である場合（Ｓ２１００：ＹＥＳ）、フレーム補間制御部５４８は音声特徴情報格納部５４４から音声特徴情報を読み出し（Ｓ２２００）、補間処理を行う（Ｓ２３００）。すなわち補間フレームの作成を行い補間部５４２に対し補間フレームを渡す。もし前フレームのフレームステータスが欠落でない場合は（Ｓ２１００：ＮＯ）、前フレームが拡大かどうかを判断する（Ｓ２４００）。もし前フレームのフレームステータスが拡大である場合は（Ｓ２４００：ＹＥＳ）、音声特徴情報の読み出し以降の処理（Ｓ２２００、Ｓ２３００）を行う。
【００８２】
もし前フレームのフレームステータスは拡大でないと判断した場合は（Ｓ２４００：ＮＯ）、現フレームのフレームステータスが拡大であるかどうかを判断する（Ｓ２５００）。現フレームのフレームステータスが拡大である場合は（Ｓ２５００：ＹＥＳ）、音声特徴情報算出部５５２は音声特徴情報を算出して（Ｓ２６００）、それをもとにフレーム補間制御部５４８は、補間部５４２とともに補間処理を行い（Ｓ２７００）、算出した音声特徴情報を音声特徴情報格納部５４４へ格納し保存する（Ｓ２８００）。
【００８３】
もし現フレームのフレームステータスが拡大でない場合は（Ｓ２５００：ＮＯ）、現フレームが欠落であるかどうかを判断する（Ｓ２９００）。もし現フレームのフレームステータスが欠落である場合は（Ｓ２９００：ＹＥＳ）、音声特徴情報算出部５５２は音声特徴情報を算出して（Ｓ２６００）、フレーム補間制御部５４８は、補間部５４２とともに補間処理を行い（Ｓ２７００）、算出した音声特徴情報を音声特徴情報格納部５４４へ格納し保存する（Ｓ２８００）。
【００８４】
もし現フレームのフレームステータスが欠落でない場合（Ｓ２９００：ＮＯ）は、現フレームのフレームステータスは正常または縮小であり、かつ、前フレームのフレームステータスも正常または縮小であるので、補間処理や音声特徴情報の読み出しや保存は行わない。
【００８５】
次に図８〜図１３を参照して、現フレーム及び前フレームのフレームステータスにより現フレームを中心としたバッファ部５１０のフレーム構成が拡大や縮小等の処理の前と後とでどのように変化するかを説明する。
【００８６】
図８は現フレームのフレームステータスが縮小で前フレームのフレームステータスが縮小の場合のフレーム構成の変化を示している。
【００８７】
バッファ部（処理前）５１０（Ａ）は現フレームの縮小処理を行う前の状態であり、リングバッファであるバッファ部（処理前）５１０（Ａ）はアドレス０−１４にフレーム０−１４が格納されている。アドレス２のフレーム２は前フレームであり、バッファ出力部５２０への出力も完了しているが、前回の処理の結果この位置に配置されたものがそのまま残っている状態を示している。アドレス３のフレーム３が現フレームであり、アドレス３のデータは今回バッファ部５１０（Ａ）から出力されようとしている。ところが、図８では未出力フレーム３−１４がバッファ部５１０（Ａ）内にあるから蓄積量は１２であり、例えば上限閾値を１１とした場合上限閾値を超えているのでバッファ拡大縮小処理部５３４は縮小処理を行うことになる。このためバッファ拡大縮小処理部５３４は現フレームのアドレス３にあるフレーム３を破棄することになる。破棄が終わるとアドレス４−１４のフレーム４−１４が全てひとつずつ相対位置を繰り下げて移動する。その結果バッファ部（処理後）５１０（Ｂ）のような配置となりフレーム３は存在していない。
【００８８】
図８に示すフレームステータスはフレームステータス格納部５４６が各アドレスのフレームステータスを保持している様子を示し、フレーム４に対応するフレームステータスのデータは縮小となっている。前フレームも縮小であったのでフレーム２に対応するフレームステータスも縮小となっている。尚、図８は現フレームが縮小処理を行う前の状態と縮小処理を行った後の状態とを比較表示するものであり、前フレームの縮小の結果破棄されたフレームはこの図には表示されていない。以下の図も同様である。
【００８９】
そしてアドレス３に位置するフレーム４が現フレームとなり出力してバッファ出力部５２０に入る。そして図８のフレーム補間部出力に示すようにフレーム補間部５４０の出力としてフレーム４が出力される。その後、次フレームであるアドレス４のデータが現フレームとなって、必要に応じて処理され、フレーム５，フレーム６，フレーム７・・・がこの順で出力されていく。フレームステータスは正常と縮小のみなので補間をされたフレームはない。
【００９０】
図９は現フレームのフレームステータスが縮小で前フレームのフレームステータスが拡大の場合のフレーム構成の変化を示している。
【００９１】
バッファ部（処理前）５１０（Ｃ）は現フレームの縮小処理を行う前の状態であり、リングバッファであるバッファ部（処理前）５１０（Ｃ）はアドレス０−１４にフレーム０−１４が格納されている。アドレス２のフレーム２は前フレームであり、バッファ出力部５２０への出力も完了しているが、前回の処理の結果この位置に配置されたものがそのまま残っている状態を示している。アドレス３のフレーム３が現フレームであり、アドレス３のデータがバッファ部５１０（Ｃ）から出力されようとしている。ところが、図９では未出力フレーム３−１４がバッファ部５１０（Ｃ）内にあるから蓄積量は１２であり、上限閾値の１１を超えているのでバッファ拡大縮小処理部５３４は縮小処理を行うことになる。
【００９２】
このためバッファ拡大縮小処理部５３４は現フレームのアドレス３にあるフレーム３を破棄することになる。破棄が終わるとアドレス４−１４のフレーム４−１４が全てひとつずつ位置を繰り下げて移動する。その結果バッファ部（処理後）５１０（Ｄ）のような配置となりフレーム３は存在していない。
【００９３】
図９に示すフレームステータスはフレームステータス格納部５４６が各アドレスのフレームステータスを保持している様子を示し、フレーム４に対応するフレームステータスのデータは縮小となっている。前フレームは拡大であったのでフレーム２に対応するフレームステータスは拡大となっている。
【００９４】
そしてアドレス３に位置するフレーム４が現フレームとなり出力してバッファ出力部５２０に入る。そして図９のフレーム補間部出力に示すようにフレーム補間部５４０の出力としてフレーム４が出力される。その後、次フレームであるアドレス４のデータが現フレームとなって、必要に応じて処理され、フレーム５，フレーム６，フレーム７・・・の順で出力されていく。フレーム２のフレームステータスは拡大であり、フレーム４はフレームステータスは縮小である。フレーム補間部５４０は、図９のフレーム補間部出力に示すようにフレーム２は出力される時は前フレームが正常で現フレームが拡大なので補間を行い、フレーム４は現時点の前フレームのフレームステータスが拡大で現フレームのフレームステータスが縮小なので補間を行う。
【００９５】
図１０は現フレームのフレームステータスが縮小で前フレームのフレームステータスが欠落の場合のフレーム構成の変化を示している。
【００９６】
バッファ部（処理前）５１０（Ｅ）は現フレームの縮小処理を行う前の状態であり、リングバッファであるバッファ部（処理前）５１０（Ｅ）はアドレス０−１４にフレーム０−１４が格納されている。アドレス２にはフレームが欠落しており、アドレス３のフレーム３が現フレームとなっており、アドレス３のデータがバッファ部５１０（Ｅ）から出力されようとしている。ところが、図１０では未出力フレーム３−１４がバッファ部５１０（Ｅ）内にあるから蓄積量は１２であり、上限閾値の１１を超えているのでバッファ拡大縮小処理部５３４は縮小処理を行うことになる。このためバッファ拡大縮小処理部５３４は現フレームのアドレス３にあるフレーム３を破棄することになる。破棄が終わるとアドレス４−１４のフレーム４−１４が全てひとつずつ相対位置を繰り下げて移動する。その結果バッファ部（処理後）５１０（Ｆ）のような配置となりフレーム３は存在していない。
【００９７】
図１０に示すフレームステータスはフレームステータス格納部５４６が各アドレスのフレームステータスを保持している様子を示し、フレーム４に対応するフレームステータスのデータは縮小となっている。前フレームが欠落であったのでフレーム２に対応するフレームステータスは欠落となっている。
【００９８】
そしてアドレス３に位置するフレーム４が現フレームとなり出力してバッファ出力部５２０に入る。そして図１０のフレーム補間部出力に示すようにフレーム補間部５４０の出力としてフレーム４が出力される。その後、次フレームであるアドレス４のデータが現フレームとなって、必要に応じて処理され、フレーム５，フレーム６，フレーム７・・・の順で出力されていく。フレーム２のフレームステータスは欠落であり、フレーム４のフレームステータスは縮小である。フレーム補間部５４０は、図１０のフレーム補間部出力に示すようにフレーム２はその出力の時は前フレームのフレームステータスが正常で現フレームのフレームステータスが欠落なので補間を行い、フレーム４は現時点の前フレームのフレームステータスが欠落で現フレームのフレームステータスが縮小なので補間を行う。
【００９９】
図１１は現フレームのフレームステータスが縮小で前フレームのフレームステータスが正常の場合のフレーム構成の変化を示している。
【０１００】
バッファ部（処理前）５１０（Ｇ）は現フレームの縮小処理を行う前の状態であり、リングバッファであるバッファ部（処理前）５１０（Ｇ）はアドレス０−１４にフレーム０−１４が格納されている。アドレス２のフレーム２は前フレームであり、バッファ出力部５２０への出力も完了しているが、前回の処理の結果この位置に配置されたものがそのまま残っている状態を示している。アドレス３のフレーム３が現フレームとなっており、アドレス３のデータがバッファ部５１０（Ｇ）から出力されようとしている。ところが、図１１では未出力フレーム３−１４がバッファ部５１０（Ｇ）内にあるから蓄積量は１２であり、上限閾値の１１を超えているのでバッファ拡大縮小処理部５３４は縮小処理を行うことになる。このためバッファ拡大縮小処理部５３４は現フレームのアドレス３にあるフレーム３を破棄することになる。破棄が終わるとアドレス４−１４のフレーム４−１４が全てひとつずつ相対位置を繰り下げて移動する。その結果バッファ部（処理後）５１０（Ｈ）のような配置となりフレーム３は存在していない。
【０１０１】
図１１に示すフレームステータスはフレームステータス格納部５４６が各アドレスのフレームステータスを保持している様子を示し、フレーム４に対応するフレームステータスのデータは縮小となっている。前フレームが正常であったのでフレーム２に対応するフレームステータスは正常となっている。
【０１０２】
そしてバッファ部５１０（Ｈ）のアドレス３に位置するフレーム４が現フレームとなり出力してバッファ出力部５２０に入る。そして図１１のフレーム補間部出力に示すようにフレーム補間部５４０の出力としてフレーム４が出力される。その後、次フレームであるアドレス４のデータが現フレームとなって、必要に応じて処理され、フレーム５，フレーム６，フレーム７・・・の順で出力されていく。フレーム２のフレームステータスは正常であり、フレーム４のフレームステータスは縮小である。フレーム補間部５４０は、図１１のフレーム補間部出力に示すようにフレーム２はその出力の時は前フレームのフレームステータスが正常で現フレームのフレームステータスが正常なので補間を行わず、フレーム４は前フレームのフレームステータスが正常で現フレームのフレームステータスが縮小なので補間を行わない。
【０１０３】
図１２は現フレームのフレームステータスが拡大で前フレームのフレームステータスが正常の場合のフレーム構成の変化を示している。
【０１０４】
バッファ部（処理前）５１０（Ｉ）は現フレームの拡大処理を行う前の状態であり、リングバッファであるバッファ部（処理前）５１０（Ｉ）はアドレス０−３にフレーム０−３が格納されている。アドレス１のフレーム１は前フレームであり、バッファ出力部５２０への出力も完了しているが、前回の処理の結果この位置に配置されたものがそのまま残っている状態を示している。アドレス２のフレーム２が現フレームとなっており、アドレス２のデータがバッファ部５１０（Ｉ）から出力されようとしている。ところが、図１２では未出力フレームはフレーム２とフレーム３であり総フレーム数が２であるから例えば下限閾値を３とした場合下限閾値に満たないのでバッファ拡大縮小処理部５３４は拡大処理を行うことになる。このためバッファ拡大縮小処理部５３４は現フレームのアドレス２の位置にダミーフレームを挿入する。挿入するとアドレス２−３のフレーム２−３が全てひとつずつ相対位置を繰り上げて移動の結果バッファ部（処理後）５１０（Ｊ）のような配置（アドレス２−３の位置）となる。
【０１０５】
図１２に示すフレームステータスはフレームステータス格納部５４６が各アドレスのフレームステータスを保持している様子を示し、アドレス２に対応するダミーフレームのフレームステータスのデータは拡大となり、アドレス３に対応するフレーム２のフレームステータスは正常となっている。前フレームのフレームステータスは正常である。
【０１０６】
そしてアドレス２に位置するダミーフレームが出力してバッファ出力部５２０に入る。また図１２のフレーム補間部出力に示すようにフレーム補間部５４０の出力として挿入されたダミーフレームが出力される。その後、バッファ部５１０（Ｊ）の現フレームとなるアドレス３のフレーム２はフレームステータスが正常であり、フレーム補間部５４０から出力される。フレーム補間部５４０は、図１２のフレーム補間部出力に示すようにフレーム１は出力される時は前フレームのフレームステータスが正常で現フレームのフレームステータスが正常なので補間を行わず、アドレス２のダミーフレームは前フレームのフレームステータスが正常で現フレームのフレームステータスが拡大なので補間を行う。バッファ部５１０（Ｊ）のアドレス３のフレーム２（処理後）は出力される時における前フレームのフレームステータスが拡大で現フレームのフレームステータスが正常なので補間を行う。
【０１０７】
図１３は現フレームのフレームステータスが欠落で前フレームのフレームステータスが正常の場合のフレーム構成の変化を示している。
【０１０８】
バッファ部（処理前）５１０（Ｋ）は現フレームの処理を行う前の状態であり、リングバッファであるバッファ部（処理前）５１０（Ｋ）はアドレス０−４にフレーム０−４が格納されている。アドレス１のフレーム１は前フレームであり、バッファ出力部５２０への出力も完了しているが、前回の処理の結果この位置に配置されたものがそのまま残っている状態を示している。アドレス２にはフレームが到着しなかったため存在していない状態を示している。ところが、図１３ではデータの未出力フレーム数が欠落部分を含めると３であるから下限閾値の３以上であるのでバッファ拡大縮小処理部５３４は拡大処理を行わない。ここでの処理の結果としてはフレームの移動はなく、バッファ部（処理後）５１０（Ｌ）の配置（アドレス３−４の位置）はバッファ部（処理前）５１０（Ｋ）の配置と変わらない。
【０１０９】
図１３に示すフレームステータスはフレームステータス格納部５４６が各アドレスのフレームステータスを保持している様子を示し、アドレス２に対応する欠落フレームのフレームステータスのデータは欠落となり、アドレス３に対応するフレーム３のフレームステータスは正常となっている。前フレームのフレームステータスは正常である。
【０１１０】
そしてアドレス２に位置する欠落部分はフレーム補間部５４０に対して出力されない。しかしフレーム補間制御部５４８において補間フレームが生成され図１３のフレーム補間部出力に示すようにフレーム補間部５４０の出力として補間フレームが出力される。その後、次フレームであるアドレス３のフレーム３が現フレームとなって、必要に応じて処理される。フレーム補間部５４０は、図１３のフレーム補間部出力に示すようにフレーム１は出力される時は前フレームのフレームステータスが正常で現フレームのフレームステータスが正常なので補間を行わず、アドレス２の欠落フレームは前フレームのフレームステータスが正常で現フレームのフレームステータスが欠落なので補間を行う。アドレス３のフレーム３は出力される時は前フレームのフレームステータスが欠落で現フレームのフレームステータスが正常なので補間を行う。
【０１１１】
次にフレーム補間処理の動作の一例について図１４と図１５のフローチャートを参照して説明する。補間処理の方法は様々なバリエーションが考えられ、本発明の補間処理は以下の方法に限定されるものではない。図１４は現フレームが拡大もしくは欠落で前フレームが正常もしくは縮小の場合の補間処理を示すフローチャートである。図１４は処理がＳ３０００〜Ｓ３０９０のピッチ探索とＳ３１００〜Ｓ３１４０までの補間フレーム生成との二つに大別される。
【０１１２】
まず、動作の概要を以下に説明する。音声特徴情報算出部５５２はフレームデータ記憶部５５０に格納された過去の音声データ列から所定の範囲の相関演算によってピッチ周期（音声基本周波数の周期）を算出して音声特徴情報格納部５４４に格納する。次にフレーム補間制御部５４８はこのピッチ周期の単位で、過去の直近データから複製を繰り返して補間フレームを生成する。
【０１１３】
次に変数、定数等の定義を説明する。
【０１１４】
［変数、定数の定義］
Ｆ：１フレームの音声データ数
Ｔ：ピッチ
Ｔmax：探索ピッチ上限
Ｔmin：探索ピッチ下限
ｎ：ピッチ探索ステップ幅
（上記ピッチの単位はサンプル、ピッチ周期＝ピッチ×サンプリング時間）
【０１１５】
まず音声特徴情報算出部５５２はフレームデータ記憶部５５０から過去のフレームの時系列データを読み出してきてこれを音声データＦd(t)とする（Ｓ３０００）。次にＴ＝Ｔmin、相関最大値＝０とする（Ｓ３０１０）。
【０１１６】
次に音声特徴情報算出部５５２はピッチＴが探索ピッチ上限Ｔmaxより大きいかどうかを判断する（Ｓ３０２０）。もしＴmaxより大きくなければ（Ｓ３０２０：ＮＯ）、音声特徴情報算出部５５２は読み出した過去の音声データを探索ピッチ下限Ｔminサンプル分遅延させてシフト音声データを生成する。すなわちシフト音声データ（ｔ）＝音声データ（ｔ＋Ｔ）とする（Ｓ３０３０）。
【０１１７】
次に音声特徴情報算出部５５２はシフト音声データ（ｔ）と音声データ（ｔ）と乗算を実行して自己相関関数（以下、相関（Ｔ）という）を計算する（Ｓ３０４０）。そして音声特徴情報算出部５５２は相関（Ｔ）が相関最大値より大きいかどうかを判断する（Ｓ３０５０）。もし相関最大値より大きければ（Ｓ３０５０：ＹＥＳ）、相関（Ｔ）を相関最大値とする（Ｓ３０６０）。そしてそのときのＴをピッチ（基本周波数の周期）とする（Ｓ３０７０）。そしてさらにｎサンプル遅延させてＴ＝Ｔ＋ｎとして（Ｓ３０８０）、相関の演算を繰り返す（Ｓ３０２０へ飛ぶ）。
【０１１８】
そしてもし相関（Ｔ）が相関最大値より大きくなければ（Ｓ３０５０：ＮＯ）、Ｓ３０８０へ飛び、ｎサンプル遅延させてＴ＝Ｔ＋ｎとして（Ｓ３０８０）、相関の演算を繰り返す。このようにして音声特徴情報算出部５５２はＴmaxサンプル分遅延まで相関の演算を繰り返して、ＴがＴmaxを超えたなら（Ｓ３０２０：ＹＥＳ）、演算した相関（Ｔ）の最大値を与えるＴをピッチＴとして決定し、ピッチＴを音声特徴情報格納部５４４に格納する（Ｓ３０９０）。そしてピッチ探索を終了する。
【０１１９】
この音声特徴情報算出部５５２は、ピッチ周期（音声基本周波数の周期）Ｔを音声特徴情報として音声特徴情報格納部５４４へ格納する。
【０１２０】
次にフレーム補間制御部５４８は補間フレーム生成の処理を開始する。まず前フレームのサンプルデータ数をＦとする（Ｓ３１００）。そしてＦ−Ｔの値をＦとすると（Ｓ３１１０）、もしＦが負でなければ（Ｓ３１２０：ＮＯ）、フレーム補間制御部５４８は補間フレームとしてフレームデータ記憶部５５０に格納されている前フレーム内の直近のＴ個の音声データを複製して補間部５４２へ出力する（Ｓ３１３０）。
【０１２１】
そしてＳ３１１０に戻り、フレーム補間制御部５４８はさらにＴ個データを複製し補間フレームとして出力を繰り返す。そして、補間フレームの未出力分がＴ個に満たなくなったら、すなわちＦが負になったとき（Ｓ３１２０：ＹＥＳ）、補間フレームの未出力相当数分の音声データを前フレーム内の直近の未出力相当数分の音声データから複製して補間フレームとして補間部５４２へ出力する（Ｓ３１４０）。そして補間部５４２はこれらの補間フレームをフレーム列の適切な位置に挿入または置き換えて音声出力部１６０に送出する。
【０１２２】
次に前フレームが拡大もしくは欠落の場合の補間処理について図１５を参照して説明する。図１５は前フレームが拡大もしくは欠落の場合の補間処理を示すフローチャートである。
【０１２３】
この処理は、フレーム補間制御部５４８が音声特徴情報格納部５４４から取得したピッチ周期（音声基本周波数の周期）の単位で、過去の直近データから複製を繰り返し補間フレームを生成するものである。
【０１２４】
まずフレーム補間制御部５４８は音声特徴情報格納部５４４からピッチ（音声基本周波数）周期を取得する（Ｓ４０００）。そして前フレームのサンプルデータ数をＦとする（Ｓ４１００）。そしてＦ−Ｔの値をＦとすると（Ｓ４２００）、もしＦが負でなければ（Ｓ４３００：ＮＯ）、フレーム補間制御部５４８は補間フレームとしてフレームデータ記憶部５５０に格納されている前フレーム内の直近のＴ個の音声データを複製して補間部５４２へ出力する（Ｓ４４００）。
【０１２５】
そしてＳ４２００に戻り、フレーム補間制御部５４８はさらにＴ個データを複製し補間フレームとして出力を繰り返す。そして、補間フレームの未出力分がＴ個に満たなくなったら、すなわちＦが負になったとき（Ｓ４３００：ＹＥＳ）、補間フレームの未出力相当数分の音声データを前フレーム内の直近の未出力相当数分の音声データから複製して補間フレームとして補間部５４２へ出力する（Ｓ４５００）。そして補間部５４２はこれらの補間フレームをフレーム列の適切な位置に挿入または置き換えて音声出力部１６０に送出する。
【０１２６】
補間方式については本実施の形態では、ピッチ抽出補間方式を例にとり説明したが、これに限られるわけではなく、重み付けパラメータを用いた線形予測方式やその他の方式であっても本発明は適用できる。
【０１２７】
このように、本実施の形態によれば、音声特徴情報算出部５５２が音声特徴情報を算出して音声特徴情報格納部５４４に格納するのは、現フレームが拡大もしくは欠落であり、かつ、前フレームが正常もしくは縮小である場合に限られる。そして前フレームが拡大もしくは欠落である場合は音声特徴情報格納部５４４から音声特徴情報を読み出して使用するため新たに算出する必要がない。したがって、音声特徴情報を算出する回数すなわち音声信号の複雑な演算処理量が大幅に減少するため、補間処理の処理負荷を削減することができる。
【０１２８】
なお、本実施の形態で実現される機能および動作はコンピュータのプログラムにより実現するようにしてもよく、その場合は、そのプログラムを格納する図示しないメモリや制御を行うＣＰＵ等を、ＩＰ電話機１００やターミナルアダプタ４００に備えるものとする。また、プログラムを格納する媒体は外部記憶媒体でもよく、例えば、ＥＰＲＯＭやフラッシュＥＥＰＲＯＭ、ＣＤ−ＲＯＭなどであってもよい。
【産業上の利用可能性】
【０１２９】
本発明は、補間処理に伴う演算処理の負荷を低減しつつ、音質劣化を抑制することができるという効果を有し、音声パケットをリアルタイムに送受信するＩＰ電話機に代表される音声伝送装置等に有用である。
【図面の簡単な説明】
【０１３０】
【図１】本発明の一実施の形態に係る音声伝送装置を適用したパケット通信システムの構成例を示すシステム構成図であって、（Ａ）はＩＰ電話機を用いたＩＰ電話システムのシステム構成図、（Ｂ）は一般電話機を用いたＩＰ電話システムのシステム構成図
【図２】図１（Ａ）に示すＩＰ電話機の構成を示すブロック図
【図３】図１（Ｂ）に示すＶｏＩＰターミナルアダプタの構成を示すブロック図
【図４】図２および図３に示すジッタバッファ部の構成を示すブロック図
【図５】本実施の形態におけるフレームステータスと補間の有無および音声特徴情報の保存／読み出しとの関係を示す図
【図６】図４に示すバッファ制御部の動作を示すフローチャート
【図７】図４に示すフレーム補間部の動作を示すフローチャート
【図８】現フレームが縮小状態で前フレームが縮小状態の場合のフレーム配置の一例を示す図
【図９】現フレームが縮小状態で前フレームが拡大状態の場合のフレーム配置の一例を示す図
【図１０】現フレームが縮小状態で前フレームが欠落状態の場合のフレーム配置の一例を示す図
【図１１】現フレームが縮小状態で前フレームが正常状態の場合のフレーム配置の一例を示す図
【図１２】現フレームが拡大状態で前フレームが正常状態の場合のフレーム配置の一例を示す図
【図１３】現フレームが欠落状態で前フレームが正常状態の場合のフレーム配置の一例を示す図
【図１４】本実施の形態における現フレームが拡大または欠落状態で前フレームが正常または縮小状態の場合の補間処理の動作を示すフローチャート
【図１５】本実施の形態における前フレームが拡大または欠落状態の場合の補間処理の動作を示すフローチャート
【符号の説明】
【０１３１】
１００、１００ａ、１００ｂ  ＩＰ電話機
１１０、４１０  音声入力部
１２０  パケット形成部
１３０  パケット送受信部
１４０  パケット解析部
１５０  ジッタバッファ部
１６０、４２０  音声出力部
１７０  呼制御部
２００  ＩＰ網
３００、３００ａ、３００ｂ  一般電話機
４００、４００ａ、４００ｂ  ＶｏＩＰターミナルアダプタ
５１０  バッファ部
５２０  バッファ出力部
５３０  バッファ制御部
５３２  バッファ拡大縮小判定部
５３４  バッファ拡大縮小処理部
５３６  欠落フレーム判定部
５４０  フレーム補間部
５４２  補間部
５４４  音声特徴情報格納部
５４６  フレームステータス格納部
５４８  フレーム補間制御部
５５０  フレームデータ記憶部
５５２  音声特徴情報算出部
【図１】
2008003177.tif 000003
【図２】
2008003177.tif 000004
【図３】
2008003177.tif 000005
【図４】
2008003177.tif 000006
【図５】
2008003177.tif 000007
【図６】
2008003177.tif 000008
【図７】
2008003177.tif 000009
【図８】
2008003177.tif 000010
【図９】
2008003177.tif 000011
【図１０】
2008003177.tif 000012
【図１１】
2008003177.tif 000013
【図１２】
2008003177.tif 000014
【図１３】
2008003177.tif 000015
【図１４】
2008003177.tif 000016
【図１５】
2008003177.tif 000017