(57)【要約】      （修正有）【課題】電話装置における実測された処理負荷に基づいて、演算処理を制御することができる音声送信装置を提供する。【解決手段】外部信号を第１の符号化周期で符号化して符号化信号を生成する符号化器１０２と、当該信号を第１のパケット化周期でパケット化するパケット生成器１０３とを有する。連続するパケットのパケット化間隔を測定して、パケット化時間測定情報を出力するパケット化間隔計算部１０４と、パケット化時間測定情報と、第１の符号化周期又は第１のパケット化周期とを比較することにより、第２の符号化周期を決定し、符号化器に第２の符号化周期を与えて、第２の符号化周期で符号化信号を符号化させる周期決定部１０５とを有する。【選択図】図１
2016206516.tif 000002
【特許請求の範囲】
【請求項１】
外部から入力される信号を第１の符号化周期で符号化して符号化信号を生成する符号化器と、当該符号化信号を第１のパケット化周期でパケット化するパケット生成器とを有する音声送信装置において、
前記パケット生成器が出力する、連続するパケットのパケット化間隔を測定して、パケット化時間測定情報を出力するパケット化時間測定部と、
前記パケット化時間測定情報と、前記第１の符号化周期又は前記第１のパケット化周期とを比較することにより、第２の符号化周期を決定し、前記符号化器に当該第２の符号化周期を与えて、当該第２の符号化周期で前記符号化信号を符号化させる周期指定部と
を有することを特徴とする音声送信装置。
【請求項２】
前記周期指定部は、前記パケット化時間測定情報と、前記第１の符号化周期とを比較し、前記パケット化時間測定情報の値が、前記第１の符号化周期の値以上である場合に、前記第２の符号化周期の値を前記パケット化時間測定情報の値よりも大きい値に決定することを特徴とする請求項１に記載の音声送信装置。
【請求項３】
前記周期指定部は、前記パケット化時間測定情報と、前記第１の符号化周期とを比較し、前記パケット化時間測定情報の値が、前記第１の符号化周期の値未満の場合に、前記第２の符号化周期の値を前記第１の符号化周期の値に戻すことを特徴とする請求項２に記載の音声送信装置。
【請求項４】
前記周期指定部は、前記パケット化時間測定情報と、前記第１のパケット化周期とを比較し、前記パケット化時間測定情報の値が、前記第１のパケット化周期の値以上である場合に、前記第２の符号化周期の値を前記第１の符号化周期の値よりも大きい値に決定するとともに、前記第１のパケット化周期の値を大きくして第２のパケット化周期とし、当該第２のパケット化周期を前記パケット生成器に与えることを特徴とする請求項１に記載の音声送信装置。
【請求項５】
前記周期指定部は、さらに、前記第２の符号化周期の値を前記第１の符号化周期の値よりも大きく、かつ前記パケット化時間測定情報の値よりも大きい値に変更することを特徴とする、請求項４に記載の音声送信装置。
【請求項６】
前記周期指定部は、前記パケット化時間測定情報と、前記第１のパケット化周期とを比較し、前記パケット化時間測定情報の値が、前記第１のパケット化周期の値未満となった場合に、前記第２の符号化周期の値を前記第１の符号化周期の値に戻すとともに、前記第２のパケット化周期の値を前記第１のパケット化周期の値に戻すことを特徴とする請求項４又は５に記載の音声送信装置。
【請求項７】
音声送信装置に搭載されるコンピュータを、
外部から入力される信号を第１の符号化周期で符号化して符号化信号を生成する符号化器と、
当該符号化信号を第１のパケット化周期でパケット化するパケット生成器と、
前記パケット生成器が出力する、連続するパケットのパケット化間隔を測定して、パケット化時間測定情報を出力するパケット化時間測定部と、
前記パケット化時間測定情報と、前記第１の符号化周期又は前記第１のパケット化周期とを比較することにより、第２の符号化周期を決定し、前記符号化器に当該第２の符号化周期を与えて、当該第２の符号化周期で前記符号化信号を符号化させる周期指定部と
して機能させることを特徴とする音声送信プログラム。
【請求項８】
外部から入力されるパケットを第１のパケット分解周期で分解するパケット分解部と、分解されたパケットを復号して復号信号を生成する復号部とを有する音声受信装置において、
前記復号部における、前記パケットの復号処理開始時刻と復号処理終了時刻とから、連続するパケットにおける復号処理間隔を計算して、復号処理時間測定情報を出力する復号間隔計算部と、
前記復号処理時間測定情報と、前記第１のパケット分解周期とから第２のパケット分解周期を決定し、前記パケット分解部に当該第２のパケット分解周期を与えて、当該第２のパケット分解周期で前記パケットを分解させる周期指定部と
を有することを特徴とする音声受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声送信装置、音声受信装置及び音声送信プログラムに関し、例えば、ＶｏＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  ＩＰ）通信を行う音声送信装置、音声受信装置及び音声送信プログラムに適用し得る。
【背景技術】
【０００２】
一般に、ディジタル電話装置は、演算処理を特定の時間ごとに繰り返し実施するようにしている。ただし、ディジタル電話装置は、符号化の処理負荷が大きい場合には特定の時間内に演算処理を終了することができない問題があった。また、ディジタル電話装置は、パケット化の処理負荷が大きい場合、パケット送出までの時間が掛かり、特定の時間内に演算処理が終了できない問題があった。さらに、ディジタル電話装置は、符号化処理とパケット化処理を同期して処理させる場合や、符号化処理とパケット化処理タイミングを合わせる必要がある場合にも、パケット化の処理負荷が大きい場合に、特定の時間内に演算処理が終了できない問題があった。
【０００３】
ディジタル電話装置において、電話装置の処理負荷に応じて演算処理（パケット化または符号化）を制御する従来技術として、例えば特許文献１に開示したものが挙げられる。特許文献１に記載のディジタル電話装置は、通話内容の圧縮符号化を行うための複数方式の圧縮符号化手段と、復号化手段と、制御部にかかる処理負荷を測定する負荷判定部とを設け、負荷判定部の判定結果に応じて、複数方式の符号化手段の１つを選択し、圧縮符号化を行っていた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−２７３８１
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載のディジタル電話装置は、電話装置の動作状態（待ち受け、親機通話、子機通話など）に基づいて制御部にかかる処理負荷を大まかに判定している。そのため、特許文献１に記載のディジタル電話装置は、電話装置における実測された処理負荷に基づいて、演算処理を制御することができない問題があった。また、符号化手段以外に処理負荷が大きい処理が含まれる場合に、上記構成の電話装置では対応できない問題があった。例えば、ディジタル電話装置がソフトフォンの場合には、ソフトフォンが搭載されたパソコンが様々な処理を行うため、問題が一層顕在化することとなる。
【０００６】
そのため、電話装置における実測された処理負荷に基づいて、演算装置を制御することができる音声送信装置、音声受信装置及び音声送信プログラムが望まれている。
【課題を解決するための手段】
【０００７】
第１の本発明は、（１）外部から入力される信号を第１の符号化周期で符号化して符号化信号を生成する符号化器と、（２）当該符号化信号を第１のパケット化周期でパケット化するパケット生成器とを有する音声送信装置において、（３）前記パケット生成器が出力する、連続するパケットのパケット化間隔を測定して、パケット化時間測定情報を出力するパケット化時間測定部と、（４）前記パケット化時間測定情報と、前記第１の符号化周期又は前記第１のパケット化周期とを比較することにより、第２の符号化周期を決定し、前記符号化器に当該第２の符号化周期を与えて、当該第２の符号化周期で前記符号化信号を符号化させる周期指定部とを有することを特徴とする。
【０００８】
第２の本発明は、外部から入力されるパケットを第１のパケット分解周期で分解するパケット分解部と、分解されたパケットを復号して復号信号を生成する復号部とを有する音声受信装置において、（１）前記復号部における、前記パケットの復号処理開始時刻と復号処理終了時刻とから、連続するパケットにおける復号処理間隔を計算して、復号処理時間測定情報を出力する復号間隔計算部と、（２）前記復号処理時間測定情報と、前記第１のパケット分解周期とから第２のパケット分解周期を決定し、前記パケット分解部に当該第２のパケット分解周期を与えて、当該第２のパケット分解周期で前記パケットを分解させる周期指定部とを有することを特徴とする。
【０００９】
第３の本発明の音声送信プログラムは、音声送信装置に搭載されるコンピュータを、（１）外部から入力される信号を第１の符号化周期で符号化して符号化信号を生成する符号化器と、（２）当該符号化信号を第１のパケット化周期でパケット化するパケット生成器と、（３）前記パケット生成器が出力する、連続するパケットのパケット化間隔を測定して、パケット化時間測定情報を出力するパケット化時間測定部と、（４）前記パケット化時間測定情報と、前記第１の符号化周期又は前記第１のパケット化周期とを比較することにより、第２の符号化周期を決定し、前記符号化器に当該第２の符号化周期を与えて、当該第２の符号化周期で前記符号化信号を符号化させる周期指定部として機能させることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、電話装置における実測された処理負荷に基づいて、演算処理を制御することができる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施形態に係る送信部の内部構成を示すブロック図である。
【図２】第１の実施形態に係る音声通信システムの全体構成を示す説明図である。
【図３】第１の実施形態に係る送信部の各処理の動作を示すタイムチャートである。
【図４】第２の実施形態に係る送信部の内部構成を示すブロック図である。
【図５】第２の実施形態に係る送信部の各処理の動作を示すタイムチャート（その１）である。
【図６】第２の実施形態に係る送信部の各処理の動作を示すタイムチャート（その２）である。
【発明を実施するための形態】
【００１２】
（Ａ）第１の実施形態
以下では、本発明に係る音声送信装置、音声受信装置及び音声送信プログラムの第１の実施形態を、図面を参照しながら詳細に説明する。
【００１３】
（Ａ−１）第１の実施形態の構成
図２は、第１の実施形態に係る音声通信システムの全体構成を示す説明図である。
【００１４】
図２において、音声通信システム５は、ネットワーク２を介して、リアルタイムで音声通信（通話）を行う２つの音声通信装置１Ａ及び１Ｂを有する。ネットワーク２の通信方式については限定されないものであるが、例えば、ＩＰ通信網等を適用することができる（以下、ネットワーク２はＩＰ通信網として説明する）。各音声通信装置１Ａ、１Ｂは、音声等のメディアデータをＩＰパケットとして送受信するものである。
【００１５】
音声通信装置１Ａは、送信部１０及び受信部１１を有する。音声通信装置１Ｂも、図示は省略するが、音声通信装置１Ａと同様の構成を有するものとする。
【００１６】
図１は、第１の実施形態に係る送信部の内部構成を示すブロック図である。第１の実施形態に係る送信部は、マイクを除いた部分をハードウェアで構成することも可能であり、また、ＣＰＵが実行するソフトウェア（音声送信プログラム）とＣＰＵとで実現することも可能であるが、いずれの実現方法を採用した場合であっても、機能的には図１で表すことができる。
【００１７】
図１において、送信部１０は、マイク１０１、符号化器１０２、パケット生成器１０３、パケット化間隔計算部１０４、符号化周期決定部１０５及びタイマー部１０６を有する。
【００１８】
タイマー部１０６は、送信部１０内の時刻を計時するものである。
【００１９】
マイク１０１は、音声通信装置１Ａ近傍の音声を捕捉するものであり、捕捉して得た音声信号をディジタル信号に変換した後、その結果を入力信号Ｓ１１１として符号化器１０２に出力するものである。
【００２０】
符号化器１０２は、入力信号Ｓ１１１に対し符号化処理を実施し、符号化信号Ｓ１１２としてパケット生成器１０３に出力するものである。このとき、符号化器１０２が行う処理は、後述する符号化周期情報Ｊ１２４で示される周期に従い行われる。
【００２１】
なお、符号化器１０２による符号化方式は、特に限定されるものではなく、種々の方式を広く適用することができる。例えば、Ｇ．７２９等に規定される音声圧縮アルゴリズムを適用することができる。また、この実施形態では、符号化器１０２は、入力信号Ｓ１１１に対し符号化処理を実施すると共に、符号化以外のパケットを送出するための信号を生成するために必要な処理、例えば、ゲイン調整、入力信号Ｓ１１１に含まれる不要な成分のリダクション処理（帯域制限、雑音除去）等を実施するものとする。
【００２２】
パケット生成器１０３は、入力された符号化信号Ｓ１１２を基に、対向する音声通信装置１Ｂに送信する送出パケットＳ１１３を生成するものである。このとき、送出パケットＳ１１３の生成（パケット化）は、送信周期情報Ｊ１２２で示される周期に従い行われる。この送信周期情報Ｊ１２２は、音声通信装置１Ａに配置された図示しないパケット化周期指定部へのユーザ操作により適宜に設定・変更が可能であるものとする。そして、パケット化された送出パケットＳ１１３は、ネットワーク２を介して音声通信装置１Ｂへ送出される。
【００２３】
また、パケット生成器１０３は、符号化信号Ｓ１１２のパケット化を開始した時刻をパケット化開始情報Ｊ１３０としてパケット化間隔計算部１０４へ出力する。さらに、パケット生成器１０３は、出力した送出パケットＳ１１３の送出完了メッセージをパケット化間隔計算部１０４へ出力する。
【００２４】
なお、この実施形態では、パケット生成器１０３は、前処理の符号化器１０２により出力された符号化信号Ｓ１１２が入力されたことを契機に動作するものとして説明するが、符号化器１０２と、パケット生成器１０３とが各々独立して動作しても良い。
【００２５】
パケット化間隔計算部１０４は、送出パケットＳ１１３の送出完了メッセージを受信すると、タイマー部１０６から受信時刻を取得し、内部にパケット化終了時刻ＰＴＭとして記憶する。そして、パケット化間隔計算部１０４は、パケット化開始情報Ｊ１３０と、パケット化終了時刻ＰＴＭとからパケット化間隔を計算し、当該計算結果をパケット化時間測定情報Ｊ１２３として、符号化周期決定部１０５に出力する。
【００２６】
符号化周期決定部１０５は、パケット化時間測定情報Ｊ１２３に基づいて、パケット化周期が適正か否か判断し、必要ならば、変更する符号化周期を符号化周期情報Ｊ１２４として符号化器１０２へ出力する。この符号化周期情報Ｊ１２４は、符号化周期を特定できる情報であれば良く、例えば、符号化周期の時間、符号化周期を表すインデックス等が考えられる。なお、符号化周期決定部１０５の詳しい動作については、後述する動作の項で説明する。また、符号化周期決定部１０５は、出力した符号化周期情報Ｊ１２４を現在の符号化周期を示す情報として符号化周期ＣＴ０に記憶する。
【００２７】
（Ａ−２）第１の実施形態の動作
次に、以上のような構成を有する第１の実施形態の送信部１０の動作を、図面を参照しながら説明する。なお、この実施形態の送信部１０は、符号化器１０２の処理とパケット生成器１０３の処理とが同期して動作するものとして説明する。また、送信周期情報Ｊ１２２は、ユーザにより予め設定されているものとする。
【００２８】
送信部１０が動作を開始した際、符号化周期決定部１０５は、符号化器１０２で符号化する際の符号化周期ＣＴ０を後述する符号化周期決定方法により決定し、符号化周期情報Ｊ１２４として出力する。この実施形態では、動作開始時点において、符号化周期情報Ｊ１２４は、符号化周期ＣＴ０の初期値（例えば、１０ｍｓ）を示すものとする。
【００２９】
マイク１０１により捕捉して得た音声信号は、ディジタル信号に変換した後、入力信号Ｓ１１１として符号化器１０２に出力される。
【００３０】
符号化器１０２では、入力信号Ｓ１１１に対して、符号化処理が実施される。この際、入力信号Ｓ１１１は、符号化周期情報Ｊ１２４で指定された時間（周期）毎に符号化処理が実施されることになる。そして、符号化処理が施された入力信号Ｓ１１１は、符号化信号Ｓ１１２としてパケット生成器１０３に出力される。
【００３１】
パケット生成器１０３では、符号化信号Ｓ１１２は、送信周期情報Ｊ１２２で指定された時間毎にパケット化され、送出パケットＳ１１３として外部に出力される。また、パケット生成器１０３は、入力された符号化信号Ｓ１１２に対しパケット化処理を開始した時刻をパケット化開始情報Ｊ１３０として出力する。さらに、パケット生成器１０３は、出力した送出パケットＳ１１３の送出完了メッセージをパケット化間隔計算部１０４へ出力する。
【００３２】
パケット化間隔計算部１０４では、送出パケットＳ１１３の送出メッセージを受信した時刻をパケット化終了時刻ＰＴＭとして記憶しておく。また、パケット化間隔計算部１０４は、パケット化開始情報Ｊ１３０と、直前で取得したパケット化終了時刻ＰＴＭ（言い換えれば、現在より一つ前のパケット化処理の終了時刻）との差分をパケット化時間測定情報Ｊ１２３として、符号化周期決定部１０５へ出力する。なお、送信部１０が動作を開始した当初など、パケット化時間測定情報Ｊ１２３が決定できない場合には、パケット化時間測定情報Ｊ１２３は、未決定を表す値（例えば、０．０ｍｓ）等を入力しても良い。
【００３３】
次に、符号化周期決定部１０５で実施される符号化周期決定方法について説明する。
【００３４】
符号化周期決定部１０５は、受信したパケット化時間測定情報Ｊ１２３の値が（ａ）未定義を示すとき、（ｂ）符号化周期ＣＴ０未満であるとき、（ｃ）符号化周期ＣＴ０以上であるときのいずれかによって、動作が異なる。符号化周期決定部１０５は、後述する（ａ）〜（ｃ）に対応する処理を行った後に、符号化周期情報Ｊ１２４を符号化器１０２に送信する。
【００３５】
まず、上記（ａ）のパケット化時間測定情報Ｊ１２３の値が、未定義を示すときの符号化周期決定部１０５の動作から説明する。
【００３６】
この時点では、パケット生成器１０３によりパケット化が行われていないため、符号化周期決定部１０５は、符号化周期情報Ｊ１２４には予め定めた既定値（例えば、１０ｍｓ）を設定する。また、符号化周期決定部１０５は、現在の符号化周期の値（送信した符号化周期情報Ｊ１２４）を符号化周期ＣＴ０として記憶しておく。
【００３７】
次に、上記（ｂ）のパケット化時間測定情報Ｊ１２３の値が、符号化周期ＣＴ０未満であるときの符号化周期決定部１０５の動作を説明する。
【００３８】
パケット生成器１０３では、パケット化の処理負荷により符号化処理に影響が出ていないため、符号化周期決定部１０５は、符号化周期ＣＴ０の値を変更しない。変更しない場合、符号化周期決定部１０５は、符号化周期情報Ｊ１２４を符号化器１０２に送信しないようにするか、又は変更しない符号化周期ＣＴ０の値を符号化周期情報Ｊ１２４としてパケット生成器１０３に送信するかの何れかを選択して良い。
【００３９】
なお、当該処理が行われる具体例として、例えば、後述する図３で示す入力信号ｓ２を符号化及びパケット化する場合が挙げられる。
【００４０】
次に、上記（ｃ）のパケット化時間測定情報Ｊ１２３の値が、符号化周期ＣＴ０以上であるときの符号化周期決定部１０５の動作を説明する。
【００４１】
パケット生成器１０３では、パケット化の処理負荷が大きくなっている。これにより、パケット生成器１０３と同期している符号化器１０２での符号化処理が、符号化周期情報Ｊ１２４で指定する符号化周期内に完了できなくなる。このため、符号化周期決定部１０５は、符号化周期ＣＴ０の値を大きくし、符号化が実施される時間間隔が大きくなるように変更する。これにより、符号化処理が新たに設定した符号化周期内に完了できるようになる。
【００４２】
ここで、変更される符号化周期量は、元の符号化周期ＣＴ０の値よりも大きく、かつパケット化時間測定情報Ｊ１２３の値以上の値となるように変更される。この実施形態では、１０ｍｓの自然数倍の時間、かつ符号化周期ＣＴ０及びパケット化時間測定情報Ｊ１２３の値よりも大きい値に変更するようにしている。ただし、この値は、設計者が適用する装置に応じて、適切に動作するように変更してもよく、例えば、元の符号化周期ＣＴ０よりも大きい値でかつ、パケット化時間測定情報Ｊ１２３の値の１．５倍の符号化周期等に変更しても良い。
【００４３】
また、符号化周期ＣＴ０を変更した後に、パケット化時間測定情報Ｊ１２３の値が符号化周期ＣＴ０以上でない状態となった場合には、符号化周期決定部１０５は、大きくした符号化周期を元の符号化周期ＣＴ０に戻す。変更前の符号化周期ＣＴ０は、符号化周期決定部１０５の内部に保持（記憶）しておくものとし、符号化周期決定部１０５は、この周期を読み出して、再設定すれば良い。この符号化周期を元に戻す処理は、上記例に限定されず、他には、パケット化時間測定情報Ｊ１２３の値が符号化周期ＣＴ０以上でない状態が３回連続して起きた場合に実行する等様々な手法を用いることができる。
【００４４】
なお、当該処理が行われる具体例として、例えば、後述する図３で示す入力信号ｓ３を符号化及びパケット化する場合が挙げられる。
【００４５】
次に、送信部１０の動作について図３のタイムチャートを例に挙げて説明する。
【００４６】
ここで、図３（Ａ）は、マイク１０１が捕捉した音声の波形を示している。図３（Ｂ）は、捕捉した音声について、ディジタル信号に変換した入力信号Ｓ１１１を単位時間（この実施形態では、１０ｍｓ）ごとに区切ったものを、それぞれ入力信号ｓ１〜ｓ６として示している。図３（Ｃ）は、各入力信号に対して符号化処理する時間をブロックイメージで示している。符号化器１０２で、上記各入力信号に対して、符号化が開始される時刻は、時刻ｔ２、時刻ｔ５、時刻ｔ８、時刻ｔ１１、時刻ｔ１４として示している。また、各符号化処理が行われる符号化周期をｃｔ０１〜ｃｔ０３として示している。符号化周期ｃｔ０１、又はｃｔ０２の周期は、区切った入力信号１つ分に相当する。また、符号化周期ｃｔ０３の周期は、区切った入力信号２つ分に相当する。図３（Ｄ）は、符号化器１０２で符号化した信号に対してパケット化する時間をブロックイメージで示している。パケット化の開始時刻（各ブロックの先頭）は、時刻ｔ３、時刻ｔ６、時刻ｔ９、時刻ｔ１２、時刻ｔ１５で示している。また、パケット化処理（各ブロックの後尾）の終了時刻は、時刻ｔ４、時刻ｔ７、時刻ｔ１０、時刻ｔ１３、時刻ｔ１６で示している。また、図３（Ｃ）の各ブロックから図３（Ｄ）への各ブロックの「矢印」は、符号化器１０２からパケット生成器１０３に処理が引き継がれたことを示している。なお、この処理の引き継ぎには多少のタイムラグが存在する。パケット化間隔ｐｐ１は、パケット化処理開始である時刻ｔ６から直前のパケット処理の終了時刻である時刻ｔ４までの差分（間隔）である。同様に、パケット化間隔ｐｐ２は、パケット化処理開始である時刻ｔ９から直前のパケット化処理の終了時刻である時刻ｔ７までの差分（間隔）である。
【００４７】
次に、時系列に沿って図３のタイムチャートを説明する。
【００４８】
時刻ｔ１において、マイク１０１は、音声を捕捉し、捕捉した音声信号をディジタル信号（入力信号Ｓ１１１）に変換する。時刻ｔ２において、符号化器１０２は、入力信号ｓ１の符号化を開始する。なお、入力信号ｓ１を符号化する周期は、符号化周期ｃｔ０１である。時刻ｔ３において、パケット生成器１０３は、符号化が終了した入力信号ｓ１について、パケット化を開始する。パケット化が終了した時刻ｔ４において、パケット生成器１０３は、生成したパケット信号を送出する。
【００４９】
次に、入力信号ｓ２について符号化及びパケット化の処理を行う。
【００５０】
時刻ｔ５において、符号化器１０２は、入力信号ｓ２を符号化周期ｃｔ０２で符号化する。時刻ｔ６において、パケット生成器１０３は、符号化が終了した入力信号ｓ２について、パケット化を開始する。パケット化が終了した時刻ｔ７において、パケット生成器１０３は、生成したパケット信号を送出する。
【００５１】
なお、パケット化間隔計算部１０４では、周期毎に行っているパケット化処理の間隔を随時計算している。例えば、パケット化間隔ｐｐ１は、入力信号ｓ２のパケット化処理の開始時刻である時刻ｔ６から入力信号ｓ１のパケット化処理の終了時刻である時刻ｔ４を差し引いた時間（間隔）となる。符号化周期決定部１０５では、パケット化間隔計算部１０４からパケット化間隔の情報が含まれるパケット化時間測定情報Ｊ１２３を受信する度に、符号化周期の判定を行い、必要ならば符号化周期の変更を行うことなる。例えば、パケット化間隔ｐｐ１と、現在の符号化周期ｃｔ０１とを比較すると、パケット化間隔ｐｐ１は、符号化周期ｃｔ０１未満であるので、次の符号化周期ｃｔ０２は、変更されないこととなる。
【００５２】
次に、入力信号ｓ３について符号化及びパケット化の処理を行う。
【００５３】
時刻ｔ８において、符号化器１０２は、入力信号ｓ３を符号化周期ｃｔ０３で符号化する。時刻ｔ９において、パケット生成器１０３は、符号化が終了した入力信号ｓ３について、パケット化を開始する。パケット化が終了した時刻ｔ１０において、パケット生成器１０３は、生成したパケット信号を送出する。
【００５４】
なお、符号化周期ｃｔ０３は、以下の処理により符号化周期ｃｔ０２から変更されている。パケット化間隔計算部１０４で計算されるパケット化間隔ｐｐ２は、入力信号ｓ３のパケット化処理の開始時刻である時刻ｔ９から入力信号ｓ２のパケット化処理の終了時刻である時刻ｔ７を差し引いた時間（間隔）となる。符号化周期決定部１０５では、パケット化間隔ｐｐ２と、現在の符号化周期ｃｔ０２とを比較すると、パケット化間隔ｐｐ２は、符号化周期ｃｔ０２より大きいため、次の符号化周期ｃｔ０３は、変更されることとなる。
【００５５】
符号化周期ｃｔ０３の値を決定する方法は上述のとおりであり、符号化周期ｃｔ０３の値は、元の符号化周期ｃｔ０２の値よりも大きく、かつパケット化時間測定情報Ｊ１２３の値（ここではパケット化間隔ｐｐ２）以上の値となるように変更される。どの程度の値に変更するかは任意であるが、図３の例では、符号化周期ｃｔ０３は、符号化周期ｃｔ０２の２倍の周期となるように変更している。
【００５６】
なお、図３の例では、入力信号Ｓ３の処理終了後、符号化周期を変更前の符号化周期に戻す処理を行っている。これ以降（時刻ｔ１１以降）の処理の説明は省略するが、入力信号Ｓ４〜Ｓ６の処理についても同様に符号化・パケット化処理が行われる。
【００５７】
（Ａ−３）第１の実施形態の効果
第１の実施形態によれば、符号化周期決定部１０５が、パケット化の処理時間に基づいて、符号化周期を変更することにより、音声信号のパケット化処理に掛かる時間が符号化周期を超えないようにすることが可能となった。
【００５８】
さらに、第１の実施形態によれば、パケット化間隔計算部１０４が、パケット生成器１０３の処理負荷をパケット化の処理時間として実測し、符号化周期決定部１０５が実測値に基づいて符号化周期を変更するため、符号化処理及びパケット化処理を、リアルタイムの音声通信に精度よく追従させることが可能となった。
【００５９】
（Ｂ）第２の実施形態
次に、本発明に係る音声送信装置、音声受信装置及び音声送信プログラムの第２の実施形態を、図面を参照しながら説明する。
【００６０】
（Ｂ−１）第２の実施形態の構成
第２の実施形態の音声通信システム５も、上述した図２に示すように、ＩＰパケットを授受し合う２つの音声通信装置１Ａ又は１Ｂがネットワーク２を介して対向しているものである。
【００６１】
しかしながら、第２の実施形態の場合、音声通信装置１（１Ａ又は１Ｂ）の内部構成
が第１の実施形態のものと異なっている。すなわち、第２の実施形態の場合、音声通信装置１（１Ａ又は１Ｂ）に送信部２０を適用した点が第１の実施形態と異なる。
【００６２】
図４は、第２の実施形態に係る送信部２０の内部構成を示すブロック図であり、第１の実施形態に係る図１との同一、対応部分には同一符号を付して示している。
【００６３】
図４において、第２の実施形態に係る送信部２０は、マイク１０１、符号化器２０２、パケット生成器２０３、パケット化間隔計算部１０４、符号化周期計算部２０７及び周期判定部２０８を有する。すなわち、第１の実施形態における符号化器１０２、パケット生成器１０３、符号化周期決定部１０５に代えて、符号化器２０２、パケット生成器２０３、符号化周期計算部２０７及び周期判定部２０８が設けられており、その他の構成要素は、第１の実施形態のものと同様である。
【００６４】
符号化器２０２は、符号化器１０２の機能に加え、入力信号Ｓ１１１を取得し、符号化処理が開始された時刻を符号化開始情報Ｊ２３１として出力するものである。また、符号化器２０２は、出力した符号化信号Ｓ１１２の送出完了メッセージを符号化周期計算部２０７へ出力する。
【００６５】
パケット生成器２０３は、パケット生成器１０３の機能を有するが、送信周期情報Ｊ１２２の代わりにパケット化周期指示情報Ｊ２２２を入力する点が異なる。
【００６６】
符号化周期計算部２０７は、符号化開始情報Ｊ２３１と、符号化信号Ｓ１１２の送出完了メッセージの受信時刻（タイマー部１０６より取得）とにより符号化処理時間を計算し、当該計算結果を符号化時間測定情報Ｊ２２８として出力する。
【００６７】
周期判定部２０８は、符号化周期決定部１０５の機能に加えて、送信周期情報Ｊ１２２、パケット化時間測定情報Ｊ１２３及び符号化時間測定情報Ｊ２２８を取得し、符号化器２０２で適用する符号化周期を符号化周期情報Ｊ１２４、パケット生成器２０３で適用するパケット化周期をパケット化周期指示情報Ｊ２２２として出力する。また、周期判定部２０８は、出力した符号化周期情報Ｊ１２４を現在の符号化周期を示す情報として符号化周期ＣＴ０に記憶する。さらに、周期判定部２０８は、出力したパケット化周期指示情報Ｊ２２２を現在のパケット化周期を示す情報としてパケット化周期ＰＴ０に記憶する。なお、周期判定部２０８の詳しい動作については、後述する動作の項で明らかにする。
【００６８】
（Ｂ−２）第２の実施形態の動作
次に、第２の実施形態に係る送信部２０の動作について、第１の実施形態に係る送信部１０の動作との違いを中心に説明する。
【００６９】
送信部２０が動作を開始した際、周期判定部２０８では、第１の実施形態と同様にユーザから指定される送信周期情報Ｊ１２２を基に、符号化周期情報Ｊ１２４及びパケット化周期指示情報Ｊ２２２を決定し、決定した値を符号化器２０２及びパケット生成器２０３へ出力する。動作開始時では、当該符号化周期情報Ｊ１２４は、既定値（この実施形態では、例えば、１０ｍｓ）を設定し出力する。また、パケット化周期指示情報Ｊ２２２は、送信周期情報Ｊ１２２と同値を出力する。さらに、出力した符号化周期情報Ｊ１２４及びパケット化周期指示情報Ｊ２２２は、それぞれ、符号化周期ＣＴ０、パケット化周期ＰＴ０として周期判定部２０８内部に記憶する。
【００７０】
マイク１０１により捕捉して得た音声信号は、ディジタル信号に変換した後、入力信号Ｓ１１１として符号化器２０２に出力される。
【００７１】
符号化器２０２は、入力信号Ｓ１１１を符号化する際に符号化を開始した時刻を符号化開始情報Ｊ２３１として、符号化周期計算部２０７へ出力する。また、符号化器２０２は、出力した符号化信号Ｓ１１２の送出完了メッセージを符号化周期計算部２０７へ出力する。
【００７２】
符号化周期計算部２０７は、符号化器２０２での処理時間を符号化開始情報Ｊ２３１と、符号化信号Ｓ１１２の送出完了メッセージの受信時刻とから計算する。すなわち、符号化開始情報Ｊ２３１により与えられる符号化が開始された時刻と、上記送出完了メッセージの受信時刻との差分を符号化器２０２での処理時間として計算し、当該計算結果を符号化時間測定情報Ｊ２２８として、周期判定部２０８に出力する。
【００７３】
パケット生成器２０３で行われるパケット化処理及びパケット化間隔計算部１０４で行われるパケット化間隔の計算処理については、第１の実施形態と同様であるので、その説明を省略する。
【００７４】
周期判定部２０８は、パケット化時間測定情報Ｊ１２３及び符号化時間測定情報Ｊ２２８を基に、後述の周期決定方法により、パケット化周期指示情報Ｊ２２２、符号化周期情報Ｊ１２４を決定し、それぞれ、パケット生成器２０３、符号化器２０２へ出力する。
【００７５】
次に、周期判定部２０８で実施される周期決定方法について説明する。
【００７６】
周期判定部２０８は、（１）符号化時間測定情報Ｊ２２８を取得した場合と、（２）パケット化時間測定情報Ｊ１２３を取得した場合のいずれかの場合によって、動作が異なる。周期判定部２０８は、後述する（１）又は（２）に対応する処理を行った後に、符号化周期情報Ｊ１２４を符号化器２０２に、パケット化周期指示情報Ｊ２２２をパケット生成器２０３に送信する。
【００７７】
まず、上記（１）の周期判定部２０８が、符号化時間測定情報Ｊ２２８を取得した場合の動作について説明する。
【００７８】
周期判定部２０８は、符号化時間測定情報Ｊ２２８の値と、現在の符号化周期ＣＴ０とを比較する。
【００７９】
周期判定部２０８は、符号化時間測定情報Ｊ２２８の値が符号化周期ＣＴ０以下である場合には、符号化周期ＣＴ０を変更しない。なお、当該処理が行われる具体例として、例えば、後述する図５で示す入力信号ｓ２を符号化する場合が挙げられる。
【００８０】
一方、周期判定部２０８は、符号化時間測定情報Ｊ２２８の値が、符号化周期ＣＴ０を超過している場合には、符号化周期ＣＴ０を変更する。この場合は、符号化器２０２が行う入力信号Ｓ１１１の符号化処理が符号化周期ＣＴ０の時間内に終了していないと判断されるからである。
【００８１】
具体的には、周期判定部２０８は、符号化周期を変更するために、現在の符号化周期ＣＴ０の値より大きな値を符号化周期情報Ｊ１２４に設定し、その符号化周期情報Ｊ１２４を符号化器２０２へ出力する。符号化周期情報Ｊ１２４に設定する値は、例えば、１０ｍｓの自然数倍の時間、かつ、符号化周期ＣＴ０より大きく、符号化周期ＣＴ０にもっとも近くなる値とする。符号化器２０２は、符号化周期情報Ｊ１２４を受信すると、入力信号Ｓ１１１を符号化する間隔を当該符号化周期情報Ｊ１２４で指定された値に変更する。なお、当該処理が行われる具体例として、例えば、後述する図５で示す入力信号ｓ３を符号化する場合が挙げられる。
【００８２】
次に、上記（２）の周期判定部２０８が、パケット化時間測定情報Ｊ１２３を取得した場合の動作について説明する。
【００８３】
周期判定部２０８は、パケット化時間測定情報Ｊ１２３の値と現在のパケット化周期ＰＴ０とを比較する。
【００８４】
比較した結果、パケット化時間測定情報Ｊ１２３の値がパケット化周期ＰＴ０以下である場合には、周期判定部２０８は、符号化周期ＣＴ０及びパケット化周期ＰＴ０の値を変更しない。なお、当該処理が行われる具体例として、例えば、後述する図６で示す入力信号ｓ２を符号化・パケット化する場合が挙げられる。
【００８５】
比較した結果、パケット化時間測定情報Ｊ１２３の値がパケット化周期ＰＴ０を超過している場合には、周期判定部２０８は、先述の（１）で示した符号化周期を変更する処理を行うと共に、パケット化周期ＰＴ０の変更を実施する。
【００８６】
具体的には、周期判定部２０８は、比較時の符号化周期ＣＴ０の値より大きな値を符号化周期情報Ｊ１２４として出力する。さらに、周期判定部２０８は、パケット化周期を変更するために、現在のパケット化周期ＰＴ０の値より大きな値をパケット化周期指示情報Ｊ２２２として出力する。パケット化周期指示情報Ｊ２２２の値は、例えば、１０ｍｓの自然数倍の時間、かつ、パケット化周期ＰＴ０より大きく、現在のパケット化周期ＰＴ０にもっとも近くなる値に変更する。なお、当該処理が行われる具体例として、例えば、後述する図６で示す入力信号ｓ４を符号化・パケット化する場合が挙げられる。
【００８７】
また、上記の符号化周期及びパケット化周期の変更方法は、一例であり、この他にもパケット化周期ＰＴ０が送信部２０全体の動作に影響を与えないように、様々な方法を用いて変更しても良い。例えば、パケット化周期ＰＴ０を大きくした場合に、送出周期がさらに超過した場合には、パケット化周期を小さくするように調整する方法や、又は、当該パケットを送出せず（つまり、パケット欠落扱いとする）、パケット生成器２０３の負荷を減らすようにしても良い。
【００８８】
なお、符号化周期情報Ｊ１２４を符号化周期ＣＴ０より大きい値として決定するために用いる符号化周期ＣＴ０は、予め定めた既定値、又は先述の（１）で示した符号化周期の変更処理により更新された値を用いる。また先述の（Ａ）第１の実施形態のように、符号化周期情報Ｊ１２４を、符号化周期ＣＴ０の値よりも大きく、かつパケット化時間測定情報Ｊ１２３の値以上となるように変更してもよい。
【００８９】
符号化器２０２は、符号化周期情報Ｊ１２４を受信後、入力信号Ｓ１１１を符号化する間隔（符号化周期）を当該符号化周期情報Ｊ１２４で指定された値に変更する。また、パケット生成器２０３は、パケット化周期指示情報Ｊ２２２を受信後、符号化信号Ｓ１１２をパケット化する間隔（パケット化周期）を当該パケット化周期指示情報Ｊ２２２で指定された値に変更する。
【００９０】
また、変更後、パケット化時間測定情報Ｊ１２３の値がパケット化周期ＰＴ０を超過していない状態となった場合には、周期判定部２０８は、大きくした符号化周期を元の符号化周期ＣＴ０に戻すとともに、大きくしたパケット化周期ＰＴ０も元に戻す。変更前の符号化周期ＣＴ０とパケット化周期ＰＴ０は、周期判定部２０８内部で記憶し、各周期を読み出して再設定すれば良い。この符号化周期とパケット化周期とを元に戻す処理は、上記例に限定されず、他には、パケット化時間測定情報Ｊ１２３の値がパケット化周期ＰＴ０を超過していない状態が、３回連続して起きた場合に実行する等様々な手法を用いることができる。
【００９１】
この実施形態では、周期判定部２０８は、パケット化周期ＰＴ０に従い、パケットが送出される間隔を指定するようにしたが、パケット化時間測定情報Ｊ１２３の判定により決定されるパケット化周期ＰＴ０を判定のみに用い、実際のパケット化周期を操作しないようにしても良い。例えば、後述する図６の入力信号ｓ４を符号化・パケット化する場合にパケット化間隔ｐｐ３がパケット化周期ｐｔ０３より大きい場合であっても、パケット化周期ｐｔ０３を指定せず、周期判定部２０８の判定のみで用いるようにしても良い。
【００９２】
次に、送信部２０の動作（符号化時間測定情報Ｊ２２８を取得）について図５のタイムチャートを例に挙げて説明する。以下、図５について、図３と異なる点を中心に説明する。
【００９３】
図５（Ｃ）は、先述の図３（Ｃ）と同様に、各入力信号を符号化する時間をブロックイメージにより示している。さらに、図５（Ｃ）は、各ブロックの処理時間を符号化間隔ｃｐ１〜ｃｐ３として示している。この符号化間隔ｃｐ１〜ｃｐ３は、符号化周期計算部２０７での計算により符号化時間測定情報Ｊ２２８として出力される値である。また、符号化間隔ｃｐ１〜ｃｐ３は、それぞれ、対応する入力信号ｓ１〜ｓ３が符号化に要する時間を表している。図５（Ａ）、（Ｂ）及び（Ｄ）は、先述の図３（Ａ）、（Ｂ）及び（Ｄ）と同様であるので、その説明を省略する。
【００９４】
次に、時系列に沿って図５のタイムチャートを説明する。
【００９５】
入力信号ｓ１を符号化・パケット化する時刻ｔ１〜ｔ４までの処理は、先述の図３の同時刻の処理と同様である。
【００９６】
入力信号ｓ２を符号化・パケット化する時刻ｔ５〜ｔ７までの処理は、基本的には、先述の図３の同時刻の処理と同様であるが、符号化周期ｃｔ０２の判定処理については異なる。周期判定部２０８は、符号化周期計算部２０７から符号化時間測定情報Ｊ２２８を受信したときに符号化周期の判定を行う。すなわち、符号化時間測定情報Ｊ２２８に含まれる符号化間隔ｃｐ２が、現在の符号化周期である符号化周期ｃｔ０１よりも小さいため、符号化周期ｃｔ０２は、符号化周期ｃｔ０１と同じ周期となる（つまり、符号化周期は変更しない）。
【００９７】
同様に、入力信号ｓ３を符号化・パケット化する時刻ｔ８〜ｔ１０までの処理は、基本的には、先述の図３の同時刻の処理と同様であるが、符号化周期ｃｔ０３の判定処理については異なる。すなわち、符号化時間測定情報Ｊ２２８に含まれる符号化間隔ｃｐ３が、現在の符号化周期である符号化周期ｃｔ０２よりも大きいため、次の符号化周期ｃｔ０３は、符号化周期ｃｔ０２より大きい周期に変更する。図５の例では、符号化周期ｃｔ０３は、符号化周期ｃｔ０２の２倍の周期に変更している。
【００９８】
なお、図５の例では、入力信号Ｓ３の処理終了後、符号化周期は、変更前の符号化周期に戻す処理を行っている。これ以降（時刻ｔ１１以降）の処理の説明は省略するが、入力信号Ｓ４〜Ｓ６の処理についても同様に符号化・パケット化処理が行われる。
【００９９】
次に、送信部２０の動作（パケット化時間測定情報Ｊ１２３を取得）について図６のタイムチャートを例に挙げて説明する。以下、図６について、図３、図５と異なる点を中心に説明する。
【０１００】
図６（Ｄ）は、符号化器２０２で符号化した信号に対してパケット化する時間をブロックイメージで示している。さらに、図６（Ｄ）は、パケット化の周期をパケット化周期ｐｔ０１〜ｐｔ０４として示している。図６（Ａ）〜（Ｃ）は、先述の図３、図５（Ａ）〜（Ｃ）と同様であるので、その説明を省略する。
【０１０１】
入力信号ｓ１〜ｓ３を符号化・パケット化する処理は、基本的には、先述の図３、図５で示す処理と同様であるが、パケット化周期の判定処理については異なる。周期判定部２０８は、パケット化間隔計算部１０４からパケット化時間測定情報Ｊ１２３を受信したときにパケット化周期の判定を行う。例えば、入力信号ｓ２の処理の場合、パケット化時間測定情報Ｊ１２３に含まれるパケット化間隔ｐｐ２は、パケット化周期ｐｔ０１より小さい値である。そのため、周期判定部２０８は、パケット化周期ｐｔ０２を直前のパケット化周期ｐｔ０１と同値に判定する（つまり、パケット化周期ｐｔ０２の値の変更は無い）。
【０１０２】
同様に、入力信号ｓ４を符号化・パケット化する時刻ｔ１１〜ｔ１４までの処理は、基本的には、先述の図３、５の処理と同様であるが、パケット化周期ｐｔ０３の判定処理については異なる。すなわち、周期判定部２０８は、パケット化時間測定情報Ｊ１２３に含まれるパケット化間隔ｐｐ３が直前のパケット化周期ｐｔ０２より大きいため（つまり、パケット化処理の負荷が大きい）、パケット化周期ｐｔ０３の値の更新を行う。図６の例では、パケット化周期ｐｔ０３は、パケット化周期ｐｔ０２の２倍の周期に変更している。また符号化周期ｃｔ０４は、符号化周期ｃｔ０３よりも大きく、かつパケット化時間測定情報Ｊ１２３の値（ここではパケット化間隔ｐｐ３）以上の値となるように変更している。
【０１０３】
なお、図６の例では、入力信号Ｓ４の処理終了後、符号化周期及びパケット周期は、変更前の符号化周期及びパケット化周期に戻す処理を行っている。これ以降（時刻ｔ１５以降）の処理の説明は省略するが、入力信号Ｓ５、Ｓ６の処理についても同様に符号化・パケット化処理が行われる。
【０１０４】
（Ｂ−３）第２の実施形態の効果
第２の実施形態によれば、周期判定部２０８が、符号化の処理時間、及びパケット化の処理時間に基づいて、符号化周期、及びパケット化周期を変更することにより、音声信号の符号化処理及びパケット化処理に掛かる時間が符号化周期を超えないようにすることが可能となった。
【０１０５】
さらに、第２の実施形態によれば、符号化周期計算部２０７及びパケット化間隔計算部１０４が、符号化器２０２及びパケット生成器２０３の負荷処理をそれぞれ符号化の処理時間及びパケット化の処理時間として実測し、周期判定部２０８が実測値に基づいて符号化周期、及びパケット化周期を変更するため、符号化処理及びパケット化処理を、リアルタイムの音声通信に精度よく追従させることが可能となった。
【０１０６】
（Ｃ）他の実施形態
上記各実施形態に加えて、さらに、以下に例示するような変形実施形態も挙げることができる。
【０１０７】
（Ｃ−１）上記各実施形態では、本発明が適用される装置として、種々様々な装置（固定電話装置、スマートフォン、トランシーバ等）を適用することができるが、ソフトフォンに適用した場合に特に効果を奏する。ソフトフォンの場合には、通話処理以外にも他の処理が割り込む可能性が高いため、符号化周期及びパケット化周期が乱れるおそれが存在するからである。
【０１０８】
（Ｃ−２）上記各実施形態では、音声通信装置が、音声パケットを送出する例を示したが、音声パケットを受信する場合にも本発明を適用しても良い。例えば、音声通信装置（受信部）が、受信したパケットを分解するパケット分解部と、分解したパケット（ペイロード）を復号する復号部と、復号開始時刻と処理終了時刻とから前後のパケット間の復号処理間隔を計算する復号化間隔計算部と、当該復号処理間隔と、現在のパケット分解周期とから適切なパケット分解周期を判定するパケット分解周期計算部とを有することにより実現することができる。
【符号の説明】
【０１０９】
１Ａ、１Ｂ…音声通信装置、２…ネットワーク、５…音声通信システム、１０、２０…送信部、１１…受信部、１０１…マイク、１０２…符号化器、１０３…パケット生成器、１０４…パケット化間隔計算部、１０５…符号化周期決定部、１０６…タイマー部、２０２…符号化器、２０３…パケット生成器、２０７…符号化周期計算部、２０８…周期判定部。
【図１】
2016206516.tif 000003
【図２】
2016206516.tif 000004
【図３】
2016206516.tif 000005
【図４】
2016206516.tif 000006
【図５】
2016206516.tif 000007
【図６】
2016206516.tif 000008