(57)【要約】【課題】音声パケットストリーム受信中にパケット遅延やパケットロスが発生した場合にも違和感の無い音声再生を可能とする音声受信再生装置を提供する。【解決手段】ジッタバッファ内音声データの蓄積量に応じて、処理内容が互いに異なる複数のアンダーフロー回避手段のうちの１つを選択し、当該選択した１のアンダーフロー回避手段によって当該バッファ内音声データの蓄積量を調整する。【選択図】図１
2014150413.tif 000002
【特許請求の範囲】
【請求項１】
通信網を介して順次到来する音声パケットのストリームを受信するパケット受信部と、前記音声パケットに含まれる音声データ片を順次蓄積してバッファ内音声データとして保持するジッタバッファと、前記バッファ内音声データに含まれる音声データ片を読出間隔毎に順次読み出す音声データ読出部と、前記音声データ読出部によって読み出された音声データ片に基づいて音声再生する音声再生部とを含む音声受信再生装置であって、
前記バッファ内音声データの蓄積量に応じて処理内容が互いに異なる複数のアンダーフロー回避手段のうちの１つを選択して当該選択した１のアンダーフロー回避手段によって前記バッファ内音声データの蓄積量を調整するアンダーフロー回避部を含むことを特徴とする音声受信再生装置。
【請求項２】
前記アンダーフロー回避部は、前記音声データ読出部による前記音声データ片の読み出しがなされる度に前記アンダーフロー回避手段の選択を行なうことを特徴とする請求項１に記載の音声受信再生装置。
【請求項３】
前記複数のアンダーフロー回避手段のうちの１つは、前記バッファ内音声データに含まれる無音部分の長さを長くする無音長調整手段であることを特徴とする請求項１に記載の音声受信再生装置。
【請求項４】
前記複数のアンダーフロー回避手段のうちの１つは、前記バッファ内音声データによって示される音声波形内の同一波長継続箇所に相当する部分に補間音声データを挿入する類似音補間手段であることを特徴とする請求項１に記載の音声受信再生装置。
【請求項５】
前記複数のアンダーフロー回避手段のうちの１つは、前記読出間隔の長さを変更する読出間隔変更指令を前記音声データ読出部に与える読出間隔変更手段であり、
前記音声データ読出部は、前記読出間隔変更指令に応じて変更した読出間隔毎に前記音声データ片を読み出すことを特徴とする請求項１に記載の音声受信再生装置。
【請求項６】
前記複数のアンダーフロー回避手段のうちの１つは、前記バッファ内音声データに対して間欠的に現れる無音部を形成する音声調整手段であることを特徴とする請求項１に記載の音声受信再生装置。
【請求項７】
前記アンダーフロー回避部は、前記ジッタバッファに前記バッファ内音声データが保持されていないと判別した場合には前記音声再生部に対して無音再生指令を発し、
前記音声再生部は、前記無音再生指令に応じて無音再生をすることを特徴とする請求項１に記載の音声受信再生装置。
【請求項８】
前記アンダーフロー回避部は、前記バッファ内音声データの蓄積量が前記音声データ読出部による１回分の読み出し量に相当すると判別した場合に前記複数のアンダーフロー回避手段のうちの１つを選択することを特徴とする請求項１に記載の音声受信再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声パケットを受信して音声再生する音声受信再生装置に関する。
【背景技術】
【０００２】
ＶｏＩＰ（Voice over Internet Protocol）等の音声パケット通信を行なう通信装置の多くは、通信ネットワークの輻輳等によって生じる伝送遅延時間の揺らぎを吸収するために音声パケットに含まれる音声データを一時的に蓄積するジッタバッファを備えている。ジッタバッファは、到来したパケットを蓄積しつつ蓄積済みの音声データを順次出力するのであるが、音声パケットの到来が大幅に遅れた場合には出力すべき音声データが無くなる。このようないわゆるアンダーフロー状態になると、音声再生が途切れてしまうという問題がある。かかる問題を解決するための技術として、例えば特許文献１には、バッファ内に蓄積されている音声データが少なくなった場合に無音を繰り返し再生する音声補間機能を有する揺らぎ吸収バッファ装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２３５２２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示されている装置においては、アンダーフロー状態になる直前にのみ音声補間処理を行なうので、例えば音声パケットストリームの受信中にパケット伝送路の切替えや輻輳が生じたことによってパケット遅延やパケットロスが発生した場合には、補間音が連続する区間が増加して違和感のある再生音となってしまうという問題があった。
【０００５】
本発明は上記した如き問題点に鑑みてなされたものであって、音声パケットストリーム受信中にパケット遅延やパケットロスが発生した場合にも違和感の無い音声再生を可能とする音声受信再生装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明による音声受信再生装置は、通信網を介して順次到来する音声パケットのストリームを受信するパケット受信部と、前記音声パケットに含まれる音声データ片を順次蓄積してバッファ内音声データとして保持するジッタバッファと、前記バッファ内音声データに含まれる音声データ片を読出間隔毎に順次読み出す音声データ読出部と、前記音声データ読出部によって読み出された音声データ片に基づいて音声再生する音声再生部とを含む音声受信再生装置であって、前記バッファ内音声データの蓄積量に応じて処理内容が互いに異なる複数のアンダーフロー回避手段のうちの１つを選択して当該選択した１のアンダーフロー回避手段によって前記バッファ内音声データの蓄積量を調整するアンダーフロー回避部を含むことを特徴とする。
【発明の効果】
【０００７】
本発明による音声受信再生装置によれば、音声パケットストリーム受信中にパケット遅延やパケットロスが発生した場合にも違和感の無い音声再生が可能となる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施例である音声受信再生装置の構成を示すブロック図である。
【図２】図１の設定部によるアンダーフロー回避用設定処理を示すフローチャートである。
【図３】図１の回避手段選択部によるバッファ内音声データ蓄積量判別処理を示すフローチャートである。
【図４】図１の回避手段選択部による回避手段選択処理を示すフローチャートである。
【図５】図１の無音長調整部による第1アンダーフロー回避処理を示すフローチャートである。
【図６】図１の類似音補間部による第２アンダーフロー回避処理を示すフローチャートである。
【図７】図１の読出間隔変更部による第３アンダーフロー回避処理を示すフローチャートである。
【図８】図１の音声調整部による第４アンダーフロー回避処理を示すフローチャートである。
【図９】アンダーフロー回避処理前後の再生音声波形のタイムチャートである。
【図１０】図３のパケット読出判定処理の変形例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明に係る実施例について添付の図面を参照しつつ詳細に説明する。
【００１０】
図１には、本発明の実施例である音声受信再生装置１０の構成が示されている。
【００１１】
パケット受信部１１は、インターネット等の通信網３０を介して音声パケットストリームを受信する。すなわち、パケット受信部１１は、不定期的に到来する音声パケットを順次受信する。
【００１２】
ジッタバッファ１２は、パケット受信部１１によって順次受信された音声パケットに含まれる音声データ片を順次蓄積してバッファ内音声データとして保持する。
【００１３】
音声データ読出部１３は、バッファ内音声データに含まれる音声データ片を一定の読出間隔で読み出す。この際、音声データ読出部１３は、古い順すなわちジッタバッファ１２に蓄積された順に音声データ片を読み出す。なお、読出間隔は、後述の読出間隔変更部２４からの読出間隔変更指令に応じて変更され得る。
【００１４】
音声再生部１４は、音声データ読出部１３によって読み出された音声データに基づいて音声再生する。
【００１５】
アンダーフロー回避部２０は、ジッタバッファ１２のアンダーフローを回避するための処理を行なう。アンダーフロー回避部２０は、音声データ読出部１３によって音声データが読み出される度にアンダーフロー回避処理を行なう。
【００１６】
回避手段選択部２１は、音声データ読出部１３による音声データ読出し後のバッファ内音声データの蓄積量を判別し、当該蓄積量と所定閾値との比較に基づいて複数のアンダーフロー回避手段のうちの１つを選択する。以下、アンダーフロー回避手段が第１から第４までの４つ存在する場合について説明する。なお、アンダーフロー回避手段の選択の詳細については後述する（図３）。
【００１７】
無音長調整部２２は、第１アンダーフロー回避手段が選択された場合に、バッファ内音声データから無音部分を検出し、当該検出した無音部分の直後に無音データを挿入して無音部の長さを長くする。
【００１８】
類似音補間部２３は、第２アンダーフロー回避手段が選択された場合に、バッファ内音声データによって示される音声波形から同一波長が所定時間以上継続する箇所を検出して、当該箇所に相当する部分に補間音声データを挿入する。
【００１９】
読出間隔変更部２４は、第３アンダーフロー回避手段が選択された場合に、音声データ読出部１３によるバッファ内音声データに含まれる音声データ片の読出間隔を変更する読出間隔変更指令を音声データ読出部１３に与える。
【００２０】
音声調整部２５は、第４アンダーフロー回避手段が選択された場合に、バッファ内音声データに対して例えば一定間隔毎など間欠的に無音データを挿入する。すなわち、バッファ内音声データ中に無音部が間欠的に現れるようにする。
【００２１】
設定部２６は、アンダーフロー回避処理に先立って、回避手段選択部２１による比較処理のための閾値、及び／又は無音データや補間音声データの挿入／補間間隔を設定する。
【００２２】
以下、図２を参照しつつ、設定部２６による設定処理について説明する。閾値及び／又は音声データ挿入／補間間隔については、自動変動設定及び事前固定設定のいずれかを選択できる。設定部２６は、自動変動設定が選択されている場合にはパケット受信部１１によってパケットが受信される度に当該設定処理を行い、事前固定設定が選択されている場合には例えば音声受信再生装置１０の起動直後などの所定時点において当該設定処理を行なう。
【００２３】
設定部２６は、パケットが受信されたときに自動設定を行なう（ステップＳ１１）。詳細には、閾値を自動設定にした場合における閾値の算出処理や、無音データの挿入間隔を自動設定にした場合における挿入間隔算出処理が行なわれる。なお、受信パケットは、ジッタバッファ１２内に順次蓄積される。
【００２４】
以下、図３を参照しつつ、回避手段選択部２１によるバッファ内音声データの蓄積量判別処理について説明する。回避手段選択部２１は、音声データ読出部１３によってジッタバッファ１２から音声データが読み出される度に当該処理ルーチンを実行する。
【００２５】
先ず、回避手段選択部２１は、蓄積量Ｘが第１閾値Ｔ１よりも大きいか否かを判別する（ステップＳ２１）。回避手段選択部２１は、蓄積量Ｘが第１閾値Ｔ１よりも大きいと判別した場合には、バッファ内音声データの中から最も古い音声データを読み出すことを音声データ読出部１３に指示する（ステップＳ２２）。音声データ読出部１３は、当該指示に応じてジッタバッファ１２から最も古い音声データを読み出す。すなわち、アンダーフロー回避処理を行なわず、通常のパケット読み出しを行なう。
【００２６】
回避手段選択部２１は、蓄積量Ｘが第１閾値Ｔ１以下であると判別した場合には、更に、蓄積量Ｘが”０”より大きいか否かを判別する（ステップＳ２１及びＳ２３）。回避手段選択部２１は、蓄積量Ｘが”０”より大きく且つ第１閾値Ｔ１以下であると判別した場合には、アンダーフロー回避手段選択処理に移行する（ステップＳ２４）。当該選択処理の詳細については後述する（図４）。選択したアンダーフロー回避手段によるアンダーフロー回避処理を行なった後、ステップＳ２２に進む。
【００２７】
回避手段選択部２１は、蓄積量Ｘが”０”であると判別した場合すなわちジッタバッファ１２が空であると判別した場合には（ステップＳ２５）、ジッタバッファ１２にアンダーフローが生じていると判定し、音声再生部１４に対して無音の再生を指示する（ステップＳ２６）。すなわち、音声再生部１４に対して強制的に無音再生させつつ、その間にジッタバッファ１２に音声パケットが蓄積されることにより、アンダーフロー状態から回復させる。
【００２８】
以下、図４を参照しつつ、回避手段選択部２１によるアンダーフロー回避手段の選択処理について説明する。回避手段選択部２１は、図３のステップＳ２４に進んだ場合に当該選択処理を実行する。
【００２９】
先ず、回避手段選択部２１は、蓄積量Ｘが第１閾値Ｔ１以下であり且つ第２閾値Ｔ２よりも大きいと判別した場合、第１アンダーフロー回避手段を選択する（ステップＳ３１及びＳ３２）。第１〜第４閾値Ｔ１〜Ｔ４には、Ｔ４≦Ｔ３≦Ｔ２≦Ｔ１の大小関係がある。
【００３０】
回避手段選択部２１は、蓄積量Ｘが第２閾値Ｔ２以下であり且つ第３閾値Ｔ３よりも大きいと判別した場合、第２アンダーフロー回避手段を選択する（ステップＳ３３及びＳ３４）。
【００３１】
回避手段選択部２１は、蓄積量Ｘが第３閾値Ｔ３以下であり且つ第４閾値Ｔ４よりも大きいと判別した場合、第３アンダーフロー回避手段を選択する（ステップＳ３５及びＳ３６）。
【００３２】
回避手段選択部２１は、蓄積量Ｘが第４閾値Ｔ４以下であり且つ０よりも大きいと判別した場合、第４アンダーフロー回避手段を選択する（ステップＳ３７及びＳ３８）。
【００３３】
上記選択処理により、ジッタバッファ１２の蓄積量Ｘが少なくなるにつれて、第１、第２、第３、第４の順に選択対象が変化する。
【００３４】
なお、第１〜第４閾値Ｔ１〜Ｔ４の設定によって、第１〜第４アンダーフロー回避手段のうちの少なくとも１つを無効とすることもできる。例えばＴ３＝Ｔ２とする閾値設定をした場合、ステップＳ３３において蓄積量ＸがＴ３よりも大きく且つＴ２以下であるという判別結果とはなり得ないので、ステップＳ３４に進むことはなくなる。すなわち、第２アンダーフロー回避手段は選択されなくなる。同様に、Ｔ２＝Ｔ１とした場合には第１アンダーフロー回避手段が無効となり、Ｔ４＝Ｔ３とした場合には第３アンダーフロー回避手段が無効となり、０＝Ｔ４とした場合には第４アンダーフロー回避手段が無効となる。このように、第１〜第４閾値Ｔ１〜Ｔ４の設定によって、特定のアンダーフロー回避手段の有効／無効を切り替えることができる。
【００３５】
以下、図５を参照しつつ、無音長調整部２２による第１アンダーフロー回避処理について説明する。無音長調整部２２は、回避手段選択部２１によって第１アンダーフロー回避手段が選択されたときに当該ルーチンを実行する。
【００３６】
先ず、無音長調整部２２は、バッファ内音声データから無音部分を検出する（ステップＳ４１）。次に、無音長調整部２２は、検出した無音部分の直後に無音データを挿入する（ステップＳ４２）。当該挿入によってバッファ内音声データの量が増加する。
【００３７】
当該回避処理においては、無音長調整部２２は音量レベルの大小判定のみによって無音部分を検出できるので、処理負荷が小さいという利点がある。また、挿入される音声データは無音なので、再生音声にノイズが乗ることもない。また、バッファ内音声データの量が少なくなると無音部分が存在する確率が減少するところ、当該回避処理はバッファ内音声データに無音部分が存在する場合に限って実行できるので、バッファ内音声データの量が多いときに当該回避処理を実行することが好ましい。かかる利点を考慮して、最初に選択される回避手段とした。バッファ内音声データに無音部分が存在しない場合には、第１アンダーフロー回避手段による回避処理は行なわれず、その結果、ジッタバッファ１２内の蓄積量が減少する。この場合、第２アンダーフロー回避手段による回避処理に移行することとなる。
【００３８】
なお、無音長調整部２２は、上記ステップＳ４１に相当する無音部分検出処理を、パケット受信部１１によって音声パケットが受信されたときに行うこともできる。すなわち、無音長調整部２２は、音声パケットが受信される度に、当該受信音声パケットに含まれる音声データ片が有音であるか無音であるかを判別し、無音の音声データ片を示す情報（以下、マーキング情報と称する）を保持しておく。そして、無音長調整部２２は、音声データ読出部１３によって音声データ片が読み出されるときに、ステップＳ４２の無音データ挿入処理を行なう。すなわち、無音長調整部２２は、保持してあるマーキング情報によって示される無音音声データ片の直後に無音データを挿入する。このように、無音部分検出処理を音声データ蓄積時に行い、ステップＳ４２の無音データ挿入処理を音声データ読み出し時に行なうことによって処理負荷が分散され、読み出し時に処理負荷が集中することを防止することができる。
【００３９】
以下、図６を参照しつつ、類似音補間部２３による第２アンダーフロー回避処理について説明する。類似音補間部２３は、回避手段選択部２１によって第２アンダーフロー回避手段が選択されたときに当該ルーチンを実行する。
【００４０】
先ず、類似音補間部２３は、バッファ内音声データによって示される音声波形を判別する（ステップＳ５１）。次に、類似音補間部２３は、音声波形から同一波長が所定時間以上継続する箇所を検出して（ステップＳ５２）、当該箇所に補間音声データを挿入する（ステップＳ５３）。この際、類似音補間部２３は、当該箇所の前後の音声に類似する音声を表す音声データを生成してこれを補間音声データとする。当該挿入によってバッファ内音声データの量が増加する。類似音補間部２３は、音声波形から同一波長が所定時間以上継続する箇所を検出できない場合には、当該処理ルーチンを終了する（ステップＳ５２）。
【００４１】
当該回避処理においては、補間音声として同一波長継続箇所の前後の音声に類似する音声を生成し挿入するので、通話時の違和感がないという利点がある。例えば、一般的に母音発音部には同一波長が比較的長い時間継続する箇所が見られる。日本語においては他言語に比較して母音の割合が多いとされているので、当該回避処理が有効である。また、バッファ内音声データの量が少なくなると同一波長継続箇所が存在する確率が減少するところ、当該回避処理はバッファ内音声データに同一波長継続箇所が存在する場合に限って実行できるので、バッファ内音声データの量が多いときに当該回避処理を実行することが好ましい。当該回避処理は、第１アンダーフロー回避手段による回避処理に比較して処理負荷が大きいので、２番目に選択される回避手段とした。
【００４２】
なお、類似音補間部２３は、上記ステップＳ５１及びＳ５２に相当する同一波長継続箇所検出処理を、パケット受信部１１によって音声パケットが受信されたときに、行うこともできる。すなわち、類似音補間部２３は、音声パケットが受信される度に、当該受信音声パケットに含まれる音声データ片の波長が直前の音声データ片の波長と同一であるか否かを判別し、同一波長である音声データ片群の箇所を示す情報（以下、マーキング情報と称する）を保持しておく。そして、類似音補間部２３は、音声データ読出部１３によって音声データ片が読み出されるときに、ステップＳ５３の補間音声データ挿入処理を行なう。すなわち、類似音補間部２３は、保持してあるマーキング情報によって示される箇所に補間音声データを挿入する。このように、ステップＳ５１及びＳ５２の処理を音声データ蓄積時に行い、ステップＳ５３の処理を音声データ読み出し時に行なうことによって処理負荷が分散され、読み出し時に処理負荷が集中することを防止することができる。
【００４３】
以下、図７を参照しつつ、読出間隔変更部２４による第３アンダーフロー回避処理について説明する。読出間隔変更部２４は、回避手段選択部２１によって第３アンダーフロー回避手段が選択されたときに当該ルーチンを実行する。
【００４４】
読出間隔変更部２４は、音声データ読出部１３によるバッファ内音声データ読み出しの間隔を広げるための読出間隔変更指令を音声データ読出部１３に与える（ステップＳ６１）。音声データ読出部１３は、当該指令に応じてジッタバッファ１２からの音声データ読出間隔を広げるので、読み出しによるバッファ内音声データの減少速度が緩やかになる。これにより、音声再生速度が遅くなるが、ユーザーが速度変化に気付かない程度の拡張量とすることが望ましい。例えば、読出間隔変更部２４は、音声再生速度が数％だけ遅くなるように読出間隔を拡張する。
【００４５】
当該回避処理においては、読出間隔の拡張により再生速度を遅くするが、音声データの挿入を行なわないので、再生音声にノイズが乗らないという利点がある。また、対向側パケット送信装置（図示せず）のクロック周期ズレによってパケット送信間隔が長くなった場合においても、当該回避処理によってバッファ内音声データの減少速度を遅くすることにより、アンダーフローの発生を回避できるという利点もある。当該回避処理を行なっているにもかかわらずバッファ内音声データが減少するということは、バッファ内音声データの蓄積量が急減していることを意味しており、音声再生速度の変化に気付かない程度に読出間隔を拡張する当該処理では対応しきれない。そこで、バッファ内音声データが所定閾値以下となった場合には第４アンダーフロー回避処理を実行する。
【００４６】
以下、図８を参照しつつ、音声調整部２５による第４アンダーフロー回避処理について説明する。音声調整部２５は、回避手段選択部２１によって第４アンダーフロー回避手段が選択されたときに当該ルーチンを実行する。
【００４７】
音声調整部２５は、バッファ内音声データに対して所定時間間隔毎に無音データを挿入する（ステップＳ７１）。すなわち、バッファ内音声データに対して複数の無音データが挿入される。１つの無音データの時間は数ミリ秒程度とすることが望ましい。当該挿入によってバッファ内音声データの量が増加する。
【００４８】
当該回避処理においては、所定時間間隔毎に無音データを強制的に挿入するので、バッファ内音声データの音声内容を判別する必要がなく、処理負荷が非常に軽いという利点がある。無音データの挿入箇所によってはトリガノイズが生じ得るので、当該回避処理を第４の回避処理すなわち最後に選択される回避処理とした。無音データの音圧レベルは、０レベルのほか、挿入箇所直前の音圧レベルと同一レベル、又は、挿入箇所前後の音圧レベルの中間レベルとすることができる。また、無音データの代わりに、挿入箇所前後の音声から補間音を生成してこれを挿入することもできる。この場合、処理負荷が比較的大きくなるが、より不自然さの少ない再生音声が得られる。
【００４９】
以下、図９を参照しつつ、アンダーフロー回避処理の効果について説明する。
【００５０】
図９（Ａ）は、回避処理実行前の再生音声波形である。区間ａ１では、音声データ波形が途切れている。すなわち、ジッタバッファ１２内に音声データが無くなり、アンダーフローが生じている。
【００５１】
図９（Ｂ）は、第１アンダーフロー回避処理実行後の再生音声波形である。無音を示す波形の直後に補間無音波形ｂ１及びｂ２が続いている。これは、バッファ内音声データから検出された無音部分の直後に無音データを挿入したことによる。図９（Ａ）の区間ａ１に相当する部分にも音声データ波形が存在している。これは、無音データの挿入によってジッタバッファ１２内のデータ蓄積量が増加して、アンダーフローを回避できていることを示している。
【００５２】
図９（Ｃ）は、第２アンダーフロー回避処理実行後の再生音声波形である。同一波長が一定時間継続している箇所に補間音声波形ｃ１、ｃ２及びｃ３が存在している。これは、バッファ内音声データから検出された同一波長継続箇所に補間音声データを挿入したことによる。図９（Ａ）の区間ａ１に相当する部分にも音声データ波形が存在しており、アンダーフローを回避できている。また、当該箇所の前後の音声に類似する音声を表す補間音声データを生成して挿入しているので、連続的な波形となっている。それ故、不連続波形によるノイズも生じない。
【００５３】
図９（Ｄ）は、第３アンダーフロー回避処理実行後の再生音声波形である。再生音声波形が全体的に引き伸ばされている。これは、音声データの内容にかかわらず、読み出し間隔を広げて再生速度を遅くしたことによる。図９（Ａ）の区間ａ１に相当する部分にも音声データ波形が存在しており、アンダーフローを回避できている。波形が引き伸ばされているが、不連続波形となっておらず、ノイズも生じない。
【００５４】
図９（Ｅ）は、第４アンダーフロー回避処理において、挿入箇所直前の音圧レベルと同一レベルの音声を表す補間音声データを挿入した場合の再生音声波形である。一定時間間隔ＴＰで補間音声波形ｅ１〜ｅ５が存在している。これは、バッファ内音声データの音声内容にかかわらず、無音データを一定時間間隔ＴＰで挿入したことによる。図９（Ａ）の区間ａ１に相当する部分にも音声データ波形が存在しており、アンダーフローを回避できている。無音データを強制的に挿入するので、ジッタバッファ１２の蓄積量が確実に増加する。
【００５５】
図９（Ｆ）は、第４アンダーフロー回避処理において、０レベルの音声を表す補間音声データを挿入した場合の再生音声波形である。一定時間間隔ＴＰで補間音声波形ｆ１〜ｆ５が存在している。補間音声波形ｆ１〜ｆ５の各々の音圧レベルは”０”である。この場合にも同様にアンダーフローを回避できている。挿入箇所直前の音圧レベルを判別しないので、処理負荷が小さいという利点がある。
【００５６】
上記したように、本実施例の音声受信再生装置１０においては、ジッタバッファ１２内のバッファ内音声データの蓄積量に応じて、処理内容の異なる複数のアンダーフロー回避処理の１つを選択して実行する。換言すれば、アンダーフロー回避部２０は、バッファ内音声データの蓄積量に応じて複数のアンダーフロー回避処理を段階的に切り替える。蓄積量に比較的余裕がある場合には、ノイズが生じ難く且つ処理負荷の軽い回避処理を行ない、蓄積量が少なくなったときには、確実にアンダーフローを回避できる回避処理に移行する。
【００５７】
本発明においては、蓄積量に余裕がある状態から回避処理を行なうので、バッファ内音声データの蓄積量が少なくなり難く、アンダーフローが生じ難くなる。しかも、蓄積量に余裕がある状態においては、ノイズが生じ難く且つ処理負荷の軽い回避処理を行なうので、音声品質低下及びリソース圧迫の問題も生じない。一方、蓄積量が少なくなったときには無音データを強制的に挿入して蓄積量を増加させるので、確実にアンダーフローを回避できる。
【００５８】
上記実施例は、アンダーフロー回避手段が４つの場合の例であるがこれに限られない。処理内容の異なるアンダーフロー回避手段が２つ以上であれば良い。また、上記実施例は、蓄積量が減少するに従って第１、第２、第３、第４の順に回避処理を実行する場合の例であるが、これに限られない。例えば、第１の回避手段と第２の回避手段とを入れ替えるなど任意の順番で実行できる。
＜変形例＞
以下、図１０を参照しつつ、図３のパケット読出判定処理の変形例について説明する。回避手段選択部２１は、音声データ読出部１３によってジッタバッファ１２から音声データが読み出される度に当該処理ルーチンを実行する。
【００５９】
先ず、回避手段選択部２１は、蓄積量Ｘが第１閾値Ｔ１よりも大きいか否かを判別する（ステップＳ８１）。回避手段選択部２１は、蓄積量Ｘが第１閾値Ｔ１よりも大きいと判別した場合には、バッファ内音声データの中から最も古い音声データを読み出すことを音声データ読出部１３に指示する（ステップＳ８２）。音声データ読出部１３は、当該指示に応じてジッタバッファ１２から最も古い音声データを読み出す。すなわち、アンダーフロー回避処理を行なわず、通常のパケット読み出しを行なう。
【００６０】
回避手段選択部２１は、蓄積量Ｘが第１閾値Ｔ１以下であると判別した場合には、更に、蓄積量Ｘが”１”より大きいか否かを判別する（ステップＳ８１及びＳ８３）。”１”は、音声データ読出部１３による１回分の所定読み出しデータ量である。回避手段選択部２１は、蓄積量Ｘが”１”より大きく且つ第１閾値Ｔ１以下であると判別した場合には、アンダーフロー回避手段選択処理に移行する（ステップＳ８４）。当該選択処理は上記実施例と同様である。選択したアンダーフロー回避手段によるアンダーフロー回避処理を行なった後、ステップＳ８２に進む。
【００６１】
回避手段選択部２１は、蓄積量Ｘが”１”であると判別した場合すなわちジッタバッファ１２に１回分の読み出しデータ量しか蓄積されていないと判別した場合には（ステップＳ８５）、アンダーフロー回避処理を実行する。ここでの回避処理は、図６又は図８に示される無音補間処理である。
【００６２】
上記したように変形例の音声受信再生装置１０においては、アンダーフロー状態に陥る前に無音補間によるアンダーフロー回避処理を実行して、バッファ内音声データの蓄積量を増加させる。かかる動作により、アンダーフローの発生を確実に回避することができる。なお、音声受信再生装置１０の構成及びパケット読出判定処理以外の処理は上記実施例と同様である。
【００６３】
上記実施例は、バッファ内音声データの蓄積量が１回分の読み出しデータ量に相当する場合にアンダーフロー回避処理を実行する場合の例であるがこれに限られない。アンダーフロー回避処理は、バッファ内音声データの蓄積量が読み出しデータ量の例えば２回分など任意の読み出し回数分に相当する場合に実行することができる。
【符号の説明】
【００６４】
１０  音声受信再生装置
１１  パケット受信部
１２  ジッタバッファ
１３  音声データ読出部
１４  音声再生部
２０  アンダーフロー回避部
２１  回避手段選択部
２２  無音長調整部
２３  類似音補間部
２４  読出間隔変更部
２５  音声調整部
２６  設定部
３０  通信網
【図１】
2014150413.tif 000003
【図２】
2014150413.tif 000004
【図３】
2014150413.tif 000005
【図４】
2014150413.tif 000006
【図５】
2014150413.tif 000007
【図６】
2014150413.tif 000008
【図７】
2014150413.tif 000009
【図８】
2014150413.tif 000010
【図９】
2014150413.tif 000011
【図１０】
2014150413.tif 000012