(57)【特許請求の範囲】
【請求項１】
集合住宅の共用玄関に設置される共用部装置と、当該集合住宅の各住戸内に設置される住戸機と、前記集合住宅の外玄関に設置されるドアホン子機と、前記共用部装置に接続された信号幹線と、当該信号幹線から分岐されて前記各住戸機に接続される住戸線と、前記住戸機とドアホン子機を接続する子機接続線とを有し、前記共用部装置と前記住戸機の間、並びに前記住戸機同士の間では前記信号幹線及び住戸線を介したパケット伝送方式によって通話音声が伝送され、前記住戸機と前記ドアホン子機との間では前記子機接続線を介してアナログ伝送方式によって通話音声が伝送される集合住宅用インターホンシステムの住戸機であって、
マイクロホン及びスピーカと、通話用の音声データが含まれる音声パケット及び呼制御用の制御データが含まれる制御パケットを前記住戸線並びに前記信号幹線を介して伝送する伝送処理部と、前記子機接続線を介してアナログの音声信号を伝送するアナログ信号伝送部と、前記マイクロホンから出力されるアナログの音声信号を音声データに変換し、音声データをアナログの音声信号に変換して前記スピーカに出力する第１の変換処理部と、前記アナログ信号伝送部で受信するアナログの音声信号を音声データに変換し、音声データをアナログの音声信号に変換して前記アナログ信号伝送部に出力する第２の変換処理部と、音声データに対して所定の通話処理を行う通話処理部と、前記ドアホン子機からの呼出を検出するドアホン呼出検出部と、アナログ伝送方式で伝送される音声データに対する通話処理用の第１のソフトウェアとパケット伝送方式で伝送される音声データに対する通話処理用の第２のソフトウェアを記憶する記憶部と、前記通話処理部に対して通話処理の実行を指示する制御部とを備え、
当該制御部は、前記ドアホン呼出検出部が前記呼出を検出した場合は前記第１のソフトウェアを実行するように前記通話処理部に指示し、前記共用部装置若しくは住戸機から呼制御用の制御データを受信した場合は前記第２のソフトウェアを実行するように前記通話処理部に指示することを特徴とする集合住宅用インターホンシステムの住戸機。
【請求項２】
前記第２のソフトウェアは、前記マイクロホンとスピーカの音響結合によって生じる音響エコーを抑圧する音響エコー抑圧処理のプログラムと、前記音響エコー抑圧処理では抑圧しきれない残留エコーを抑圧する残留エコー抑圧処理のプログラムとを含むことを特徴とする請求項１記載の集合住宅用インターホンシステムの住戸機。
【請求項３】
前記第２のソフトウェアは、前記伝送処理部における伝送遅延の揺らぎを吸収する揺らぎ吸収処理のプログラムを含むことを特徴とする請求項１又は２記載の集合住宅用インターホンシステムの住戸機。
【請求項４】
前記伝送処理部で受信した前記音声パケットに含まれている音声データを蓄積する揺らぎ吸収用バッファを備え、
前記揺らぎ吸収処理プログラムは、前記音声パケットのパケット化周期よりも長くない周期で前記揺らぎ吸収用バッファに蓄積されている音声データのパケット数をカウントしてパケットカウント値を算出するカウントステップと、前記カウントステップで算出される前記パケットカウント値に基づいて、前記揺らぎ吸収用バッファにパケットを挿入又は削除するバッファサイズ変更ステップとを前記通話処理部に行わせることを特徴とする請求項３記載の集合住宅用インターホンシステムの住戸機。
【請求項５】
前記第２のソフトウェアは、前記伝送処理部で受信した前記音声パケットに含まれている音声データの全部又は一部が欠落した場合、欠落していない音声データを利用して、欠落した前記音声データの全部又は一部を補償する音声データ欠落補償処理のプログラムを含むことを特徴とする請求項１〜４の何れか１項に記載の集合住宅用インターホンシステムの住戸機。
【請求項６】
前記第２のソフトウェアは、前記伝送処理部が出力する音声データの全部又は一部の欠落を検出する音声データ欠落検出処理のプログラムと、前記音声データから音声のピッチを検出するピッチ検出処理のプログラムと、前記音声データ欠落検出処理で音声データの欠落が検出されたときに前記ピッチ検出処理で検出されるピッチに基づいて、欠落した音声データを補償する音声データ欠落補償処理のプログラムとを含み、
前記ピッチ検出処理プログラムは、現時点から過去に向けてある時間幅の音声信号を基準信号として設定する処理と、前記基準信号を前記音声信号に対して現時点から過去に向けてスライドさせ、前記基準信号と前記音声信号との相関を求めることで、前記音声信号のピッチを検出するとともに、前記基準信号のスライド量が増大するにつれて前記基準信号の時間幅を増大させる処理とを前記通話処理部に行わせることを特徴とする請求項１〜５の何れか１項に記載の集合住宅用インターホンシステムの住戸機。
【請求項７】
前記第２のソフトウェアは、前記伝送処理部が出力する音声データの全部又は一部の欠落を検出する音声データ欠落検出処理のプログラムと、前記音声データから音声のピッチを検出するピッチ検出処理のプログラムと、前記音声データ欠落検出処理で音声データの欠落が検出されたときに前記ピッチ検出処理で検出されるピッチに基づいて、欠落した音声データを補償する音声データ欠落補償処理のプログラムと、前記ピッチ検出処理で検出されるピッチを利用して前記音声データを伸長又は圧縮する話速変換処理のプログラムとを含むことを特徴とする請求項３記載の集合住宅用インターホンシステムの住戸機。
【請求項８】
前記ピッチ検出処理は、所定の検出周期をカウントするとともに当該検出周期に同期して前記ピッチを繰り返し検出し、前記音声データ欠落検出処理で音声データの欠落が検出されたときは当該音声データ欠落の検出時点で前記ピッチを検出するとともに当該検出時点から前記検出周期のカウントを再開することを特徴とする請求項７記載の集合住宅用インターホンシステムの住戸機。
【請求項９】
前記ピッチ検出処理は、所定の周波数範囲のピッチのみを検出することを特徴とする請求項７または８記載の集合住宅用インターホンシステムの住戸機。
【請求項１０】
前記話速変換処理は、前記音声データの音声区間を検出し、当該音声区間の音声データのみを話速変換することを特徴とする請求項７記載の集合住宅用インターホンシステムの住戸機。
【請求項１１】
前記第２のソフトウェアは、前記マイクロホンとスピーカの音響結合によって生じる音響エコー経路により形成される閉ループの一巡利得を低減してハウリングを抑制する音声スイッチ処理のプログラムを含み、当該音声スイッチ処理プログラムは、前記音響エコー経路の帰還利得を推定し、当該帰還利得の推定値に基づいて、前記伝送処理部から出力される受話の音声データを減衰させる受話側減衰量と、前記伝送処理部に入力される送話の音声データを減衰させる送話側減衰量との総和を算出するとともに、送話及び受話の各音声データを監視して通話状態を推定し、当該通話状態の推定結果と前記総和の算出値に応じて前記送話側減衰量と前記受話側減衰量の配分を決定し、前記帰還利得の推定値の減少量に応じて前記総和を減少させる処理を前記通話処理部に行わせることを特徴とする請求項１〜１０の何れか１項に記載の集合住宅用インターホンシステムの住戸機。
【請求項１２】
住宅内に設置される通話装置が接続される内線接続線と、当該内線接続線を介してアナログの音声信号を伝送する内線用アナログ信号伝送部とを備え、前記通話処理部で前記第１のソフトウェアを実行して通話処理された音声データが前記内線用アナログ信号伝送部から前記内線接続線を介して前記通話装置に伝送されることを特徴とする請求項１〜１１の何れか１項に記載の集合住宅用インターホンシステムの住戸機。
【請求項１３】
前記第１のソフトウェアは、前記アナログの音声信号がＡ／Ｄ変換されたデジタルの音声信号から音声のピッチを検出するとともに当該ピッチを利用して前記デジタルの音声信号を伸長又は圧縮する話速変換処理のプログラムを含むことを特徴とする請求項１〜１２の何れか１項に記載の集合住宅用インターホンシステムの住戸機。
【請求項１４】
集合住宅の共用玄関に設置される共用部装置と、当該集合住宅の各住戸内に設置される請求項１〜１３の何れかの住戸機と、前記集合住宅の外玄関に設置されるドアホン子機と、前記共用部装置に接続された信号幹線と、当該信号幹線から分岐されて前記各住戸機に接続される住戸線と、前記住戸機と前記ドアホン子機とを接続する子機接続線とを有し、前記共用部装置と前記住戸機との間、並びに前記住戸機同士の間では前記信号幹線及び前記住戸線を介したパケット伝送方式によって通話音声が伝送され、前記住戸機と前記ドアホン子機との間では前記子機接続線を介してアナログ伝送方式によって通話音声が伝送されることを特徴とする集合住宅用インターホンシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集合住宅用インターホンシステムに用いられ、集合住宅の各住戸に設置される住戸機、及び当該住戸機が用いられる集合住宅用インターホンシステムに関するものである。
【背景技術】
【０００２】
従来、集合住宅の共用玄関に設置された共用部装置(ロビーインターホン)と、集合住宅の各住戸内に設置された住戸機と、各住戸の外玄関に設置されたドアホン子機とを備えた集合住宅用インターホンシステムが提供されている。共用部装置には信号幹線が接続され、この信号幹線から分岐される住戸線に各住戸機が接続されている。また、各住戸において、住戸内の住戸機と外玄関のドアホン子機とが子機接続線によって接続されている。さらに、各住戸内には、宅内接続線によって別の住戸機が接続される場合もある。但し、住戸線に接続される住戸機は住戸機親機と呼ばれ、宅内接続線によって住戸機親機に接続される住戸機は住戸機副親機と呼ばれる。なお、日本国特許公開２０１０−２８７７１号公報には、信号幹線及び住戸線を介した音声伝送方式をパケット伝送方式とすることにより、共用部装置と住戸機との通話中に別の住戸機(住戸機親機)同士で通話することを可能とした集合住宅用インターホンシステムが記載されている。【０００３】
ところで、住戸機においては様々な通話処理、例えば、ハンズフリー通話(拡声通話)のための通話方向切換処理やエコー抑圧処理などが行われている。さらに、上述の先行文献に記載の従来例のように、共用部装置と複数の住戸機とをデジタル通信が可能なものとし、共用部装置と各住戸機とを接続する信号幹線及び住戸線にデジタルデータを伝送する場合に、音声をパケット伝送するものにおいては、通話品質を向上するために、パケット伝送に伴うパケット損失や遅延及び揺らぎ(ジッタ)に起因した音声の欠落を補償する通話処理が必要となる。【０００４】
一方、ドアホン子機や住戸機副親機には従来の安価なもの、つまりアナログ伝送方式で音声を伝送するものが使用される場合がある。この場合、住戸機(住戸機親機)とドアホン子機、あるいは住戸機親機と住戸機副親機の間の音声伝送方式にはアナログ伝送方式が採用される。アナログ伝送方式においてもハンズフリー通話(拡声通話)のための通話方向切換処理やエコー抑圧処理などは必要であるが、上記のように信号幹線を介してデジタルデータを伝送する場合を考えてみると、パケット伝送方式で必須となる音声欠落補償処理はアナログ伝送方式には不要である。【０００５】
ここで、住戸機(住戸機親機)では、アナログ伝送方式とパケット伝送方式の両方式に対応した通話処理を実行しなければならないが、これらの通話処理を別々のハードウェア(通話処理用の回路)で実現すると回路構成の複雑化とコスト上昇を招くという問題がある。
【発明の開示】
【０００６】
そこで、本発明の目的は、回路構成の複雑化とコスト上昇を抑えつつ、信号幹線経由の音声伝送にはパケット伝送方式を用いるとともに信号幹線を経由しない宅内近傍の音声伝送にはアナログ伝送方式を用いることを可能とし且つ通話品質の向上を図ることができる集合住宅用インターホンシステムの住戸機及び集合住宅用インターホンシステムを提供することにある。
【０００７】
本発明の集合住宅用インターホンシステムの住戸機は、集合住宅の共用玄関に設置される共用部装置と、当該集合住宅の各住戸内に設置される住戸機と、前記集合住宅の外玄関に設置されるドアホン子機と、前記共用部装置に接続された信号幹線と、当該信号幹線から分岐されて前記各住戸機に接続される住戸線と、前記住戸機とドアホン子機を接続する子器接続線とを有する。前記共用部装置と前記住戸機の間、並びに前記住戸機同士の間では前記信号幹線及び住戸線を介したパケット伝送方式によって通話音声が伝送され、前記住戸機と前記ドアホン子機との間では前記子機接続線を介してアナログ伝送方式によって通話音声が伝送される。マイクロホン及びスピーカと、通話用の音声データが含まれる音声パケット及び呼制御用の制御データが含まれる制御パケットを前記住戸線並びに前記信号幹線を介して伝送する伝送処理部と、前記子機接続線を介してアナログの音声信号を伝送するアナログ信号伝送部と、前記マイクロホンから出力されるアナログの音声信号を音声データに変換し、音声データをアナログの音声信号に変換して前記スピーカに出力する第１の変換処理部と、前記アナログ信号伝送部で受信するアナログの音声信号を音声データに変換し、音声データをアナログの音声信号に変換して前記アナログ信号伝送部に出力する第２の変換処理部と、音声データに対して所定の通話処理を行う通話処理部と、前記ドアホン子機からの呼出を検出するドアホン呼出検出部と、アナログ伝送方式で伝送される音声データに対する通話処理用の第１のソフトウェアとパケット伝送方式で伝送される音声データに対する通話処理用の第２のソフトウェアを記憶する記憶部と、前記通話処理部に対して通話処理の実行を指示する制御部とを備える。本発明の第１の特徴において、当該制御部は、前記ドアホン呼出検出部が前記呼出を検出した場合は前記第１のソフトウェアを実行するように前記通話処理部に指示し、前記共用部装置若しくは住戸機から呼制御用の制御データを受信した場合は前記第２のソフトウェアを実行するように前記通話処理部に指示する。この発明では、相手の通話端末がアナログ伝送方式の場合には前記通話処理部が前記第１のソフトウェアを実行し、パケット伝送方式の場合には前記通話処理部が前記第２のソフトウェアを実行するので、回路構成の複雑化とコスト上昇を抑えつつ、信号幹線経由の音声伝送にはパケット伝送方式を用いるとともに信号幹線を経由しない宅内近傍の音声伝送にはアナログ伝送方式を用いることを可能とし且つ通話品質の向上を図ることができる。
【０００８】
一実施形態において、前記第２のソフトウェアは、前記マイクロホンとスピーカの音響結合によって生じる音響エコーを抑圧する音響エコー抑圧処理のプログラムと、前記音響エコー抑圧処理では抑圧しきれない残留エコーを抑圧する残留エコー抑圧処理のプログラムとを含むことが好ましい。この発明では、前記第２のソフトウェアが音響エコー抑圧処理のプログラムと、残留エコー抑圧処理のプログラムとを含むので、パケット伝送方式における通話品質をより向上させることができる。
【０００９】
一実施形態において、前記第２のソフトウェアは、前記伝送処理部における伝送遅延の揺らぎを吸収する揺らぎ吸収処理のプログラムを含むことが好ましい。この発明では、前記第２のソフトウェアが揺らぎ吸収処理のプログラムを含むので、パケット伝送方式における通話品質をより向上させることができる。
【００１０】
一実施形態において、前記伝送処理部で受信した前記音声パケットに含まれている音声データを蓄積する揺らぎ吸収用バッファを備える。前記揺らぎ吸収処理プログラムは、前記音声パケットのパケット化周期よりも長くない周期で前記揺らぎ吸収用バッファに蓄積されている音声データのパケット数をカウントしてパケットカウント値を算出するカウントステップと、前記カウントステップで算出される前記パケットカウント値に基づいて、前記揺らぎ吸収用バッファにパケットを挿入又は削除するバッファサイズ変更ステップとを前記通話処理部に行わせることが好ましい。この発明では、前記通話処理部が前記カウントステップで算出される前記パケットカウント値に基づいて、前記揺らぎ吸収用バッファにパケットを挿入又は削除するバッファサイズ変更ステップを行うので、パケットの枯渇の防止や通話遅延の低減を実現することができ、より通話品質を向上させることができる。
【００１６】
一実施形態において、前記第２のソフトウェアは、前記伝送処理部で受信した前記音声パケットに含まれている音声データの全部又は一部が欠落した場合、欠落していない音声データを利用して、欠落した前記音声データの全部又は一部を補償する音声データ欠落補償処理のプログラムを含むことが好ましい。この発明では、音声データ欠落補償処理が音声データの全部又は一部が欠落した場合、欠落していない音声データを利用して欠落部分を補償するので、パケット伝送方式における通話品質をより向上させることができる。
【００１９】
一実施形態において、前記第２のソフトウェアは、前記伝送処理部が出力する音声データの全部又は一部の欠落を検出する音声データ欠落検出処理のプログラムと、前記音声データから音声のピッチを検出するピッチ検出処理のプログラムと、前記音声データ欠落検出処理で音声データの欠落が検出されたときに前記ピッチ検出処理で検出されるピッチに基づいて、欠落した音声データを補償する音声データ欠落補償処理のプログラムとを含み、前記ピッチ検出処理プログラムは、現時点から過去に向けてある時間幅の音声信号を基準信号として設定する処理と、前記基準信号を前記音声信号に対して現時点から過去に向けてスライドさせ、前記基準信号と前記音声信号との相関を求めることで、前記音声信号のピッチを検出するとともに、前記基準信号のスライド量が増大するにつれて前記基準信号の時間幅を増大させる処理とを前記通話処理部に行わせることが好ましい。この発明では、前記基準信号のスライド量が増大するにつれて前記基準信号の時間幅が増大するので、ロス発生時点の直前の音声信号のピッチを精度良く検出することが可能となる。
【００２５】
本発明の第２の特徴において、前記第２のソフトウェアは、前記伝送処理部が出力する音声データの全部又は一部の欠落を検出する音声データ欠落検出処理のプログラムと、前記音声データから音声のピッチを検出するピッチ検出処理のプログラムと、前記音声データ欠落検出処理で音声データの欠落が検出されたときに前記ピッチ検出処理で検出されるピッチに基づいて、欠落した音声データを補償する音声データ欠落補償処理のプログラムと、前記ピッチ検出処理で検出されるピッチを利用して前記音声データを伸長又は圧縮する話速変換処理のプログラムとを含む。この発明では、前記音声データ欠落補償処理、並びに前記話速変換処理において前記ピッチ検出処理で検出されるピッチを共用するので、音声データ欠落補償処理のプログラムと話速変換処理のプログラムがそれぞれピッチ検出処理のプログラムを装備する構成に比べて、プログラムをロードするメモリの消費を抑えることができる。
【００２６】
一実施形態において、前記ピッチ検出処理は、所定の検出周期をカウントするとともに当該検出周期に同期して前記ピッチを繰り返し検出し、前記音声データ欠落検出処理で音声データの欠落が検出されたときは当該音声データ欠落の検出時点で前記ピッチを検出するとともに当該検出時点から前記検出周期のカウントを再開することが好ましい。この発明では、音声データ欠落補償処理後における音声の品質を保つことができる。
【００２７】
一実施形態において、前記ピッチ検出処理は、所定の周波数範囲のピッチのみを検出することが好ましい。この発明では、不要な周波数範囲のピッチ検出が行われることがないので、処理負荷を軽減することができる。
【００２８】
一実施形態において、前記話速変換処理は、前記音声データの音声区間を検出し、当該音声区間の音声データのみを話速変換することが好ましい。この発明では、音声区間以外の区間(例えば、無音区間)で話速変換処理が行われることがないので、話速変換処理における処理負荷を軽減することができる。
【００３３】
本発明の第３の特徴において、前記第２のソフトウェアは、前記マイクロホンとスピーカの音響結合によって生じる音響エコー経路により形成される閉ループの一巡利得を低減してハウリングを抑制する音声スイッチ処理のプログラムを含み、当該音声スイッチ処理プログラムは、前記音響エコー経路の帰還利得を推定し、当該帰還利得の推定値に基づいて、前記伝送処理部から出力される受話の音声データを減衰させる受話側減衰量と、前記伝送処理部に入力される送話の音声データを減衰させる送話側減衰量との総和を算出するとともに、送話及び受話の各音声データを監視して通話状態を推定し、当該通話状態の推定結果と前記総和の算出値に応じて前記送話側減衰量と前記受話側減衰量の配分を決定し、前記帰還利得の推定値の減少量に応じて前記総和を減少させる処理を前記通話処理部に行わせることが好ましい。この発明では、前記通話処理部は、前記通話状態の推定結果と前記総和の算出値に応じて前記送話側減衰量と前記受話側減衰量の配分を決定し、前記帰還利得の推定値の減少量に応じて前記総和を減少させるので、パケット伝送方式における通話品質をより向上させることができる。
【００３４】
本発明の第４の特徴において、住宅内に設置される通話装置が接続される内線接続線と、当該内線接続線を介してアナログの音声信号を伝送する内線用アナログ信号伝送部とを備え、前記通話処理部で前記第１のソフトウェアを実行して通話処理された音声データが前記内線用アナログ信号伝送部から前記内線接続線を介して前記通話装置に伝送されることが好ましい。この発明では、前記通話装置とのアナログ伝送方式による内線通話が可能となる。
【００３５】
本発明の第５の特徴において、前記第１のソフトウェアは、前記アナログの音声信号がＡ／Ｄ変換されたデジタルの音声信号から音声のピッチを検出するとともに当該ピッチを利用して前記デジタルの音声信号を伸長又は圧縮する話速変換処理のプログラムを含むことが好ましい。この発明では、前記第１のソフトウェアは話速変換処理のプログラムを含むので、アナログ伝送方式による通話においても、相手が発した音声の話速よりも速く又は遅くすることができる。
本発明の集合住宅用インターホンシステムは、集合住宅の共用玄関に設置される共用部装置と、当該集合住宅の各住戸内に設置される前記何れかの住戸機と、前記集合住宅の外玄関に設置されるドアホン子機とを有する。また、本発明の集合住宅用インターホンシステムは、前記共用部装置に接続された信号幹線と、当該信号幹線から分岐されて前記各住戸機に接続される住戸線と、前記住戸機と前記ドアホン子機とを接続する子機接続線とを有する。さらに、本発明の集合住宅用インターホンシステムは、前記共用部装置と前記住戸機との間、並びに前記住戸機同士の間では前記信号幹線及び前記住戸線を介したパケット伝送方式によって通話音声が伝送され、前記住戸機と前記ドアホン子機との間では前記子機接続線を介してアナログ伝送方式によって通話音声が伝送される。
【図面の簡単な説明】
【００３６】
本発明の好ましい実施形態をさらに詳細に記述する。本発明の他の特徴および利点は、以下の詳細な記述および添付図面に関連して一層良く理解されるものである。
【図１】本発明の実施形態１の住戸機を示すブロック図並びに当該住戸機を含む集合住宅用インターホンシステムのシステム構成図である。
【図２】本発明の実施形態１の通話処理部が第１のソフトウェアを実行しているときのブロック図である。
【図３】本発明の実施形態１の音声スイッチの処理を説明するためのフローチャートである。
【図４】図４Ａは本発明の実施形態１のドアホン子機とのインターホン通話時の動作を説明するためのブロック図、図４Ｂは本発明の実施形態１の副親機との内線通話時の動作を説明するためのブロック図である。
【図５】図５Ａは本発明の実施形態１のロビーインターホンとのインターホン通話時の動作を説明するためのブロック図、図５Ｂは本発明の実施形態１の管理室装置とのインターホン通話時の動作を説明するためのブロック図、図５Ｃは本発明の実施形態１の他の住戸機とのインターホン通話時の動作を説明するためのブロック図、図５Ｄは本発明の実施形態１のロビーインターホン又は管理室装置と副親機とのインターホン通話時の動作を説明するためのブロック図である。
【図６】本発明の実施形態１の通話処理部が第２のソフトウェアを実行しているときのブロック図である。
【図７】本発明の実施形態１のエコーサプレッサの処理を説明するためのフローチャートである。
【図８】本発明の実施形態１の音声データ欠落補償処理部を示すブロック図である。
【図９】本発明の実施形態１の音声データ欠落補償処理の基本原理を説明するための音声信号(受話音声信号)の波形図である。
【図１０】本発明の実施形態１のテンプレート設定部及びピッチ検出部の処理を説明するための受話音声信号の波形図である。
【図１１】従来のテンプレートを用いたときのテンプレートと受話音声信号との相関値の演算結果を示したグラフである。
【図１２】本発明の実施形態１のテンプレート設定部及びピッチ検出部の処理を説明する図である。
【図１３】本発明の実施形態１の相関値のグラフを示している。
【図１４】本発明の実施形態１の音声データ欠落補償処理を示すフローチャートである。
【図１５】本発明の実施形態１の揺らぎ吸収処理部を示すブロック図である。
【図１６】本発明の実施形態１のカウント部によるパケットカウント値の算出処理の説明図である。
【図１７】本発明の実施形態１のジッタバッファの役割を説明するための図である。
【図１８】伝送遅延と発生頻度との関係を示す伝送遅延特性の一例を示す図である。
【図１９】本発明の実施形態１のジッタバッファの最適なバッファサイズを説明するための図である。
【図２０】本発明の実施形態１の揺らぎ吸収処理を示すフローチャートである。
【図２１】本発明の実施形態１のパケットカウント値の算出処理の詳細を示すフローチャートである。
【図２２】本発明の実施形態１のパケットカウント値と、パケットカウント値の算出時刻との関係を示したグラフである。
【図２３】図２３Ａはバッファサイズ変更部によるパケット挿入時の処理を示した模式図であり、図２３Ｂはバッファサイズ変更部によるパケット削除時の処理を示した模式図である。
【図２４】本発明の実施形態１のパケットカウント値の別の算出手法の説明図である。
【図２５】本発明の実施形態１のパケットカウント値の別の算出処理を示すフローチャートである。
【図２６】本発明の実施形態１のスパイク遅延の有無の判定処理を説明するためのグラフである。
【図２７】本発明の実施形態１のスパイク遅延が発生している場合のパケットカウント値とインデックスとの関係を示すグラフである。
【図２８】図２８Ａ及び２８Ｂは、本発明の実施形態１のカウント部の処理を説明する図である。
【図２９】図２９Ａ、２９Ｂ及び２９Ｃは、バッファサイズ変更部がオーバーラップ加算により１つのパケットを削除する処理の説明図である。
【図３０】図３０Ａ及び３０Ｂは、バッファサイズ変更部が１つの無効パケットを削除する処理の説明図である。
【図３１】図３１Ａ及び３１Ｂは、バッファサイズ変更部がオーバーラップ加算により１つのパケットを挿入する処理の説明図である。
【図３２】図３２Ａ及び３２Ｂは、ジッタバッファに５つのパケットを一度に挿入する場合の処理を説明するための図である。
【図３３】図３３Ａ、３３Ｂ及び３３Ｃは、無効パケットを削除した後に、削除した無効パケットに対応する有効パケットを受信した場合の処理を説明する図である。
【図３４】図３４Ａ及び３４Ｂは、バッファサイズ変更部が無効パケットに代えて隠蔽処理されたパケットをジッタバッファに挿入させる場合の処理を説明する図である。
【図３５】バッファサイズ変更部による削除処理を示したフローチャートである。
【図３６】バッファサイズ変更部による挿入処理を示したフローチャートである。
【図３７】本発明の実施形態２の音声のピッチを音声データ欠落補償処理部、及び話速変換処理部で共用するときの通話処理部のブロック図である。
【図３８】本発明の実施形態２のピッチ検出部の動作説明図である。
【図３９】図３９Ａ及び３９Ｂは、本発明の実施形態３の音声データ欠落検出部並びにピッチ検出部の動作説明図である。
【図４０】本発明の実施形態３の動作説明図である。
【図４１】本発明の実施形態３の動作説明図である。
【図４２】本発明の実施形態３の動作説明図である。
【発明を実施するための最良の形態】
【００３７】
（実施形態１）
以下、図１〜３６を参照して本発明の実施形態１を詳細に説明する。まず、本発明に係る住戸機が含まれる集合住宅用インターホンシステムについて説明する。【００３８】
本実施形態における集合住宅用インターホンシステムは、図１に示すように集合住宅の共用玄関(ロビー)に設置された共用部装置(ロビーインターホン)LIと、集合住宅の各住戸内に設置された住戸機Ａ(図示は１台のみ)と、各住戸の外玄関に設置されたドアホン子機Ｂと、ロビーインターホンLIに接続された信号幹線Lsと、信号幹線Lsから分岐されて各住戸の住戸機Ａに接続される住戸線Ldと、住戸機Ａとドアホン子機Ｂを接続する子機接続線Lbとを有している。また、信号幹線Ls並びに住戸線Ldを介して住戸機Ａ並びにロビーインターホンLIと接続された制御装置CTと、集合住宅の管理人室などに設置されて信号幹線Lsを介してロビーインターホンLIや各住戸機Ａとの間で音声情報などを授受する管理室装置Ｘとを有している。さらに、住戸内には１乃至複数(図示例では２台)の通話装置(副親機)Ｃが設置され、内線接続線Lcによって住戸機(親機)Ａと副親機Ｃが接続されている。【００３９】
ドアホン子機Ｂは、マイクロホン及びスピーカと、来訪者の呼出操作を受け付ける呼出釦と、子機接続線Lbを介して呼出信号を送信するとともに住戸機Ａとの間で音声信号を送受信(アナログ伝送)する通信部とを具備している。なお、ドアホン子機Ｂがカメラ付きである場合、カメラで撮影された来訪者の映像が子機接続線Lbを介してドアホン子機Ｂから住戸機Ａにアナログ伝送される。住戸機Ａはドアホン子機Ｂから伝送される映像を内線接続線Lcを介して副親機Ｃに転送する。住戸機Ａ並びに副親機Ｃでは、ドアホン子機Ｂから伝送される映像をモニタ(表示部３)に表示し、住戸機Ａの応答釦が押操作されれば、住戸機Ａとドアホン子機Ｂとの間で通話が可能となり、副親機Ｃの応答釦が押操作されれば、副親機Ｃとドアホン子機Ｂとの間で通話が可能となる。【００４０】
また副親機Ｃは、マイクロホン及びスピーカ、内線呼出の呼出操作を受け付ける呼出釦、内線接続線Lcを介して呼出信号を送信するとともに音声信号を送受信(アナログ伝送)する通信部などを具備している。【００４１】
ロビーインターホンLIは、来訪者を撮像する撮像装置、マイクロホン及びスピーカ、来訪者が訪問先の住戸の住戸番号を入力するためのテンキースイッチ又はタッチパネル、音声情報や映像情報を信号幹線Lsを通じてパケット伝送する伝送部などを具備している。ロビーインターホンLIでは、テンキースイッチ又はタッチパネルが操作されて何れかの住戸の住戸番号の操作入力を受け付けると、データフィールドに当該住戸番号を格納したパケット、並びに撮像装置で撮像した来訪者の映像(映像情報)をデータフィールドに格納したパケットを伝送部より信号幹線Lsを介して制御装置CTのアドレス宛に送信(パケット伝送)する。【００４２】
管理室装置Ｘは、マイクロホン及びスピーカ、管理人が連絡先の住戸の住戸番号を入力するためのテンキースイッチ又はタッチパネル、音声情報を信号幹線Lsを通じてパケット伝送する伝送部などを具備している。管理室装置Ｘでは、テンキースイッチ又はタッチパネルが操作されて何れかの住戸の住戸番号の操作入力を受け付けると、データフィールドに当該住戸番号を格納したパケットを伝送部より信号幹線Lsを介して制御装置CTのアドレス宛に送信する。【００４３】
制御装置CTは、各住戸の住戸機Ａに割り当てられているアドレスと当該住戸の住戸番号との対応関係を記憶しており、ロビーインターホンLIや管理室装置Ｘから受け取ったパケットのデータフィールドに格納されている住戸番号を前記対応関係と照合してアドレスに変換し、当該アドレスを宛先アドレスフィールドに格納し且つロビーインターホンLI又は管理室装置Ｘからの呼出を通知するための呼出コマンドをデータフィールドに格納したパケット並びに前記映像情報をデータフィールドに格納したパケットを信号幹線Lsに送出する。ただし、上述のようなロビーインターホンLIや管理室装置Ｘ、制御装置CTについては従来周知であるから、詳細な構成の図示並びに説明は省略する。【００４４】
住戸機Ａは、制御部１、マイクロホン2a及びスピーカ2b、通話処理部２、表示部３、映像処理部４、記憶部５、呼出検出部６、伝送処理部７、対副親通信処理部８、アナログ信号伝送部９、第１の変換処理部10、第２の変換処理部11、第１の切換部12、第２の切換部13、第３の切換部14などを備えている。【００４５】
マイクロホン2ａから出力されるアナログの音声信号(送話音声信号)は、アンプAMP1で増幅された後に第１の変換処理部10のA/D変換器10ａでデジタルの送話音声信号(送話音声データ)に変換されて通話処理部２に入力される。また、通話処理部２で通話処理された後のデジタルの音声信号(受話音声信号)は、第１の変換処理部10のD/A変換器10bでアナログの受話音声信号に変換された後にアンプAMP2で増幅されてスピーカ2bに出力される。【００４６】
一方、通話処理部２で通話処理されたデジタルの送話音声信号(送話音声データ)は、後述するドアホン通話又は内線通話の場合、第２の変換処理部11のD/A変換器11aでアナログの送話音声信号に変換された後にアンプAMP3で増幅されてアナログ信号伝送部９に出力される。ただし、後述するインターホン通話や住戸間通話の場合、通話処理部２で通話処理された後のデジタルの送話音声信号は、直接、伝送処理部７に出力される。また、アナログ信号伝送部９から出力されるアナログの受話音声信号は、アンプAMP4で増幅された後に第２の変換処理部11のA/D変換器11ｂでデジタルの受話音声信号(受話音声データ)に変換されて通話処理部２に入力される。ただし、伝送処理部７から出力されるデジタルの受話音声信号は、直接、通話処理部２に入力される。なお、アナログ信号伝送部９は従来周知の２線/４線変換器(ハイブリッドトランス)からなる。【００４７】
アナログ信号伝送部９の２線側に第１の切換部12が接続されている。第１の切換部12は、アナログ信号伝送部９の２線側を子機接続線Lbに接続する状態と第２の切換部13に接続する状態とに択一的に切り換える。また第２の切換部13は、第１の切換部12を内線接続線Ldに接続する状態と接続しない状態とに択一的に切り換える。さらに第3の切換部14は、子機接続線Lbと内線接続線Lcとを接続する状態と接続しない状態とに択一的に切り換える。なお、第１〜第３の切換部12,13,14の切換は、何れも制御部１によって制御される。【００４８】
制御部１はマイクロコンピュータを主構成要素とし、上記切換制御を含む住戸機Ａ全体の制御を行っている。表示部３は、液晶ディスプレイなどの表示デバイスと当該表示デバイスを駆動するドライバ回路、入力デバイスとしてのタッチパネルなどを有している。映像処理部４は、後述するように伝送処理部７から受け取った映像信号を信号処理して表示部３に映像を表示させる。具体的には、ロビーインターホンLIからパケット伝送される来訪者の映像(静止画像又は動画像)が表示部３で表示される。【００４９】
通話処理部２はマイクロプロセッサやASIC(Application Specific Integrated Circuit)あるいはDSP(Digital Signal Processor)などを備えて通話処理のための各種制御および各種演算を行うものであり、デジタルの音声信号(送話音声データ並びに受話音声データ)に対して種々の信号処理(通話処理)を行う。記憶部５は電気的に書換可能な不揮発性の半導体メモリ(フラッシュメモリなど)からなり、第１のソフトウェアと第２のソフトウェアを記憶している。第１のソフトウェアは、アナログ信号伝送部９によりアナログ伝送方式で伝送される音声信号に対して種々の通話処理を行うための複数のプログラムの集合体からなる。また第２のソフトウェアは、伝送処理部７によりパケット伝送方式で伝送される音声信号に対して種々の通話処理を行うための複数のプログラムの集合体からなる。なお、個々のプログラムの詳細については後述する。【００５０】
伝送処理部７は、制御装置CTや他の住戸機Ａとの間で信号幹線Ls(住戸線Ldを含む。以下、同じ。)を介したパケット伝送を行うものである。伝送処理部７は、制御部１で作成される制御信号(制御データ)を分割してパケット(制御パケット)を作成し、同じく通話処理部２で作成される送話音声信号(送話音声データ)を分割してパケット(音声パケット)を作成する。さらに伝送処理部７は、制御パケットや音声パケットを符号化するとともに符号化されたビット列を電気信号に変換(変調)して信号幹線Lsに流す。また伝送処理部７は、信号幹線Lsを流れる電気信号をビット列に変換(復調)するとともに復調されたビット列からパケット(音声パケット、制御パケット、映像パケット)を復号化する。なお、伝送処理部７では、復号化したパケットのアドレスが自己のアドレス(住戸機Ａのアドレス)に一致しない場合は当該パケットを破棄し、アドレスが一致する場合は当該パケットのデータフィールドに含まれるデータが映像データ(映像信号)であれば映像処理部４に、制御データ(制御信号)であれば制御部１に、音声データ(音声信号)であれば通話処理部２に、それぞれ出力する。【００５１】
対副親通信処理部８は、制御部１で作成される副親機用の制御データを符号化し且つ周波数変調して内線接続線Lcを介して副親機Ｃに送信するとともに、内線接続線Lcを介して副親機Ｃから送信される制御信号を周波数復調し且つ復号化して得た制御データを制御部１に渡すものである。【００５２】
次に、本実施形態における集合住宅用インターホンシステムの動作について説明する。まず、住戸機Ａとドアホン子機Ｂとのドアホン通話について説明する。来訪者によってドアホン子機Ｂの呼出釦が操作されると、ドアホン子機Ｂから子機接続線Lbを介して呼出信号が送信される。住戸機Ａでは、呼出信号を検出した呼出検出部６が制御部１に呼出検出信号を出力する。呼出検出信号を受け取った制御部１は、スピーカ2bから呼出音を鳴動させる。ここで、ドアホン子機Ｂがカメラ付きである場合、呼出釦が操作された後にカメラを起動して来訪者を撮像し、その撮像した映像がドアホン子機Ｂから子機接続線Lbを介して伝送される。住戸機Ａでは、子機接続線Lbを介して伝送されてくる映像を映像処理部４により表示部３に表示させる。そして、呼出音を聞いた住人が表示部３に表示される来訪者の映像を確認して住戸機Ａに設けられている応答釦(図示せず)を操作すると、制御部１は、第１の切換部12を制御してアナログ信号伝送部９の２線側を子機接続線Lbに接続させるとともに第３の切換部14を非接続状態に切り換え、通話処理部２に対して記憶部５に記憶されている第１のソフトウェアをロードして実行するように指示する。そして、図４Ａに示すように通話処理部２が第１のソフトウェアを実行して通話処理を行うことにより、住戸の住人と来訪者が住戸機Ａ及びドアホン子機Ｂを用いてドアホン通話することができる。【００５３】
ここで、呼出検出信号を受け取った制御部１は、対副親通信処理部８からドアホン呼出の制御信号を送信させるとともに第３の切換部14を接続状態に切り換えることで子機接続線Lbを介して伝送されてくる映像を内線接続線Lcを介して副親機Ｃへ伝送する。当該制御信号を受信した副親機Ｃでは呼出音がスピーカから鳴動されるとともに来訪者の映像がモニタに表示される。そして、呼出音を聞いた住人がモニタに表示された来訪者の映像を確認して副親機Ｃの応答釦を操作すると、内線接続線Lcを介して副親機Ｃから住戸機Ａにドアホン応答の制御信号が伝送される。住戸機Ａでは、対副親通信処理部８から制御部１にドアホン応答の制御信号(制御データ)が出力され、当該制御データを受け取った制御部１が第３の切換部14の接続状態をそのまま維持する。その結果、住戸の住人と来訪者が副親機Ｃ及びドアホン子機Ｂを用いてドアホン通話することができる。なお、この場合には住戸機Ａの通話処理部２は一切の通話処理を行わない。【００５４】
続いて、住戸機Ａと副親機Ｃとの内線通話について説明する。住人によって副親機Ｃの内線呼出釦が操作されると、副親機Ｃから内線接続線Lcを介して内線呼出の制御信号が送信される。住戸機Ａでは、対副親通信処理部８から制御部１に内線呼出の制御信号(制御データ)が出力される。内線呼出の制御データを受け取った制御部１は、スピーカ2bから呼出音を鳴動させる。そして、呼出音を聞いた別の住人が住戸機Ａに設けられている応答釦を操作すると、制御部１は、第１の切換部12を制御してアナログ信号伝送部９の２線側を第２の切換部13に接続させるとともに第２の切換部13を制御して第１の切換部12を内線接続線Lcに接続させる。さらに制御部１は、通話処理部２に対して記憶部５に記憶されている第１のソフトウェアをロードして実行するように指示する。そして、図４Ｂに示すように通話処理部２が第１のソフトウェアを実行して通話処理を行うことにより、同一住戸の住人同士が住戸機Ａ及び副親機Ｃを用いて内線通話することができる。【００５５】
なお、一方の副親機Ｃから送信される内線呼出の制御信号は、住戸機Ａだけでなく他方の副親機Ｃでも受信される。そして、当該制御信号を受信した他方の副親機Ｃで応答釦が操作されると、内線接続線Lcを介して２台の副親機Ｃ，Ｃの間に通話路が形成され、同一住戸の住人同士が各々副親機Ｃ，Ｃを用いて内線通話することができる。【００５６】
ここで、通話処理部２が第１のソフトウェアを実行して行う通話処理について説明する。第１のソフトウェアには、通話方向を切り換える音声スイッチ処理のプログラムと、音響エコーを抑圧する音響側エコーキャンセラ処理のプログラムと、回線エコーを抑圧する回線側エコーキャンセラ処理のプログラムと、スピーカ2bから出力される通話相手の音声の速度(話速)を遅く又は速くする話速変換処理のプログラムとが含まれている。【００５７】
第１のソフトウェアを実行している通話処理部２は、図２に示すように音声スイッチVS、音響側エコーキャンセラEC1、回線側エコーキャンセラEC2、話速変換処理部SEを備えている。ただし、音声スイッチVS、音響側エコーキャンセラEC1、回線側エコーキャンセラEC2、話速変換処理部SEは、通話処理部２を構成するDSPなどの信号処理回路が音声スイッチ処理のプログラム、音響側エコーキャンセラ処理のプログラム、回線側エコーキャンセラ処理のプログラム、話速変換処理のプログラムをそれぞれ実行することで実現されるものである。また、図２においては第１及び第２の変換処理部10,11の図示は省略している。【００５８】
音響側エコーキャンセラEC1は適応フィルタADF1と減算器SUB1からなる従来周知の構成を有し、スピーカ2b−マイクロホン2ａ間の音響結合により形成される帰還経路(音響エコー経路)HACのインパルス応答を適応フィルタADF1により適応的に同定し、参照信号(第１の変換処理部10への出力信号)から推定したエコー成分(音響エコー)を減算器SUB1により第１の変換処理部10からの入力信号(送話音声信号)から減算することでエコー成分を抑圧するものである。また、回線側エコーキャンセラEC2も適応フィルタADF2と減算器SUB2からなる従来周知の構成を有し、アナログ信号伝送部９と伝送路(子機接続線Lb又は内線接続線Lc)との間のインピーダンスの不整合による反射および相手側の拡声通話装置(ドアホン子機Ｂ若しくは副親機Ｃ)におけるスピーカ−マイクロホン間の音響結合とにより形成される帰還経路(回線エコー経路)HLINのインパルス応答を適応フィルタADF2により適応的に同定し、参照信号(第２の変換処理部11への出力信号、すなわち送話音声信号)から推定したエコー成分(回線エコー)を減算器SUB2により受話音声信号から減算することでエコー成分を抑圧するものである。【００５９】
また、音響側エコーキャンセラEC1と回線側エコーキャンセラEC2との間に音声スイッチVSが設けてある。この音声スイッチVSは、送話音声信号を減衰させる送話側減衰器100と、受話音声信号を減衰させる受話側減衰器101と、送話側及び受話側の各減衰器100,101における減衰量(挿入損失量)を制御する挿入損失量制御部102とを具備する。挿入損失量制御部102は、総損失量算出部103と、挿入損失量分配処理部104とで構成される。総損失量算出部103は、受話側減衰器101の出力点Routから音響エコー経路HACを介して送話側減衰器100の入力点Tinへ帰還する経路(以下、「音響側帰還経路」という)の音響側帰還利得αを推定するとともに、送話側減衰器100の出力点Toutから回線エコー経路HLINを介して受話側減衰器101の入力点Rinへ帰還する経路(以下、「回線側帰還経路」という)の回線側帰還利得βを推定し、音響側及び回線側の各帰還利得α，βの推定値α',β'に基づいて閉ループに挿入すべき損失量の総和(送話側減衰器100の減衰量＜挿入損失量＞と受話側減衰器101の減衰量＜挿入損失量＞の和)を算出する。挿入損失量分配処理部104は、送話音声信号及び受話音声信号を監視して通話状態を推定し、この推定結果と総損失量算出部103の算出値に応じて送話側減衰器100及び受話側減衰器101の各減衰量(挿入損失量)の配分を決定する。【００６０】
総損失量算出部103では、整流平滑器や低域通過フィルタ等を用いて送話側減衰器100の入力信号(送話音声信号)の短時間における時間平均パワーを推定し、同じく整流平滑器や低域通過フィルタ等を用いて受話側減衰器101の出力信号(受話音声信号)の短時間における時間平均パワーを推定し、音響側帰還経路HACにて想定される最大遅延時間において受話側減衰器101の出力信号の時間平均パワーの推定値の最小値を求め、この最小値で送話側減衰器100の入力信号の時間平均パワーの推定値を除算した値を音響側帰還利得αの推定値α'とする。さらに総損失量算出部103は、整流平滑器や低域通過フィルタ等を用いて受話側減衰器101の入力信号(受話音声信号)の短時間における時間平均パワーを推定し、同じく整流平滑器や低域通過フィルタ等を用いて送話側減衰器100の出力信号(送話音声信号)の短時間における時間平均パワーを推定し、回線側帰還経路HLINにて想定される最大遅延時間において送話側減衰器100の出力信号の時間平均パワーの推定値の最小値を求め、この最小値で受話側減衰器101の入力信号(受話音声信号)の時間平均パワーの推定値を除算した値を回線側帰還利得βの推定値β'とする。そして、総損失量算出部103は音響側帰還利得α及び回線側帰還利得βの各推定値α',β'から所望の利得余裕MGを得るために必要な総損失量Ltを算出し、その値Ltを挿入損失量分配処理部104に出力する。【００６１】
挿入損失量分配処理部104では、送話側減衰器100の入出力信号及び受話側減衰器101の入出力信号を監視し、これらの信号のパワーレベルの大小関係並びに音声の有無などの情報から通話状態(受話状態、送話状態等)を判定するとともに、判定された通話状態に応じた割合で総損失量Ltを送話側減衰器100と受話側減衰器101に分配するように各減衰器100,101の減衰量(挿入損失量)を調整する。【００６２】
ところで総損失量算出部103は、上述のように各帰還利得α，βの推定値α',β'に基づいて閉ループに挿入すべき損失量の総和を算出して適応更新する更新モード、並びに総損失量を所定の初期値に固定する固定モードの２つの動作モードを有している。そして、総損失量算出部103は、相手側通話端末との通話開始から音響側及び回線側のエコーキャンセラEC1,EC2が充分に収束するまでの期間には固定モードで動作するとともに音響側及び回線側のエコーキャンセラEC1,EC2が充分に収束した後の期間には更新モードで動作する。すなわち、総損失量算出部103は音響側帰還利得α及び回線側帰還利得βの推定値α',β'がともに通話開始から所定時間(数百ミリ秒)以上継続して所定の閾値ε(例えば、通話開始時における各推定値α',β'に対して10dB〜15dB小さい値)を下回った時点で音響側及び回線側のエコーキャンセラEC1,EC2が充分に収束したものとみなし、上記時点以前には総損失量を初期値に固定する固定モードで動作し、上記時点以降には各推定値α',β'に基づいて総損失量を適応更新する更新モードに動作モードを切り換える。なお、固定モードにおける総損失量の初期値は更新モードにおいて随時更新される総損失量よりも充分に大きな値に設定される。【００６３】
而して、通話開始直後の音響側及び回線側のエコーキャンセラEC1,EC2が充分に収束していない状態においては、固定モードで動作する総損失量算出部103によって充分に大きな値に設定される初期値の総損失量が閉ループに挿入されるため、不快なエコー(音響エコー並びに回線エコー)やハウリングの発生を抑制して安定した半二重通話を実現することができる。また、通話開始から時間が経過して音響側及び回線側のエコーキャンセラEC1,EC2が充分に収束した状態においては、総損失量算出部103の動作モードが固定モードから更新モードに切り換わって閉ループに挿入する総損失量が初期値よりも充分に低い値に減少するため、双方向の同時通話が実現できるものである。【００６４】
ここで、更新モードにおける総損失量算出部103の具体的な動作を図３のフローチャートを参照して説明する。【００６５】
総損失量算出部103は、固定モードから更新モードに移行した時点から所定のサンプリング周期で音響側帰還利得α並びに回線側帰還利得βの推定処理を実行してその推定値α'(n)，β'(n)を算出し(ステップ１)、これら２つの推定値α'(n)，β'(n)の積と利得余裕MGとから、閉ループの利得余裕をMG［dB］に保つために必要とされる総損失量所望値Lr(n)を下式により算出する(ステップ２)。【００６６】
Lr(n)＝20log｜α'(n)・β'(n)｜＋MG［dB］
なお、α'(n)，β'(n)，Lr(n)はそれぞれ更新モード移行時点からｎ回目のサンプリングによって算出された帰還利得の推定値並びに総損失量所望値を示す。さらに、総損失量算出部103は上式から算出したｎ回目の総損失量所望値Lr(n)と、前回(n-1回目)の総損失量Ｌｔ(n-1)、すなわち前回の処理で決定されて実際に挿入された総損失量に対して今回算出した総損失量所望値Lr(n)が大きい場合、前回の総損失量Lt(n-1)に微少な増加量Δi［dB］を加算した値を今回の総損失量Lt(n)＝Lt(n-1)+Δiとし(ステップ３、ステップ４)、前回の総損失量Lt(n-1)に対して今回算出した総損失量所望値Lr(n)が小さい場合、前回の総損失量Lt(n-1)から微少な減少量Δd［dB］を減算した値を今回の総損失量Lt(n)＝Lt(n-1)-Δdとする(ステップ５、ステップ６)。【００６７】
このように総損失量算出部103による総損失量の増減をΔi又はΔdの微少な値に抑えることにより、相手側通話端末(ドアホン子機Ｂ又は副親機Ｃ)との通話開始直後のように音響側及び回線側のエコーキャンセラEC1,EC2が収束に向かって活発に係数を更新しているために音響側帰還利得α及び回線側帰還利得βの変化が激しい状態においても、聴感上の違和感をなくすことができる。【００６８】
話速変換処理部SEは、音声(受話音声)を伸長又は圧縮することで元の音声の話速を変換するものであって、例えば、PICOLA(Pointer Interval Controlled OverLap and Add)と呼ばれる従来周知の話速変換アルゴリズムに基づき、ピッチ単位で波形の挿入または削除を行うことによって話速を変換(速く又は遅く)している。なお、「ピッチ」とは声帯の振動周期で決まる声の高さのことであって、声帯の振動周期が短いと声の高さは高くなり、振動周期が長いと声の高さは低くなる。したがって、ドアホン子機Ｂとのドアホン通話時や副親機Ｃとの内線通話時に話速変換処理部SEに話速変換処理を行わせれば、住戸機Ａのスピーカ2bから鳴動される通話相手の音声の話速を、実際に通話相手が発した音声の話速よりも速く又は遅くすることができる。【００６９】
次に、住戸機ＡとロビーインターホンLIとのインターホン通話について説明する。ロビーインターホンLIでは、来訪者がテンキースイッチ又はタッチパネルを操作して何れかの住戸の住戸番号の操作入力を受け付けると、データフィールドに当該住戸番号を格納したパケット、並びに撮像装置で撮像した来訪者の映像(映像データ)をデータフィールドに格納したパケットを伝送部より信号幹線Lsを介して制御装置CTのアドレス宛に送信(パケット伝送)する。制御装置CTは、ロビーインターホンLIからの呼出を通知するための呼出コマンドをデータフィールドに格納したパケット並びに前記映像データをデータフィールドに格納したパケットを信号幹線Lsに送出する。【００７０】
前記住戸番号の住戸に設置されている住戸機Ａでは、住戸線Ldを介して伝送処理部７で前記パケットを受信すると、当該パケットのデータフィールドに格納されている呼出コマンド(制御信号)を制御部１に出力するとともに、データフィールドに格納されている映像データを映像処理部４に出力する。制御部１は、呼出コマンドを受け取るとスピーカ2bから呼出音を鳴動させる。また映像処理部４は、伝送処理部７から受け取った映像信号を処理して表示部３に来訪者の映像を表示させる。そして、呼出音を聞いた住人が住戸機Ａの表示部３に表示されている来訪者の映像を確認した後、応答釦を操作すると、制御部１は、通話処理部２に対して記憶部５に記憶されている第２のソフトウェアをロードして実行するように指示する。そして、図５Ａに示すように通話処理部２が第２のソフトウェアを実行して通話処理を行うことにより、住戸の住人と来訪者が住戸機Ａ及びロビーインターホンLIを用いてインターホン通話することができる。ここで、ロビーインターホンLIは、図５Ａの左側に示すように話速変換処理部SEを除いて図５Ａの右側の住戸機Ａとほぼ同一の構成を有しており、説明を簡単にするため、住戸機Ａの各部と共通の機能を有するものには同一の符号を付している。【００７１】
続いて、住戸機Ａと管理室装置Ｘとのインターホン通話について説明する。管理室装置Ｘでは、管理人がテンキースイッチ又はタッチパネルを操作して何れかの住戸の住戸番号の操作入力を受け付けると、データフィールドに当該住戸番号を格納したパケットを伝送部より信号幹線Lsを介して制御装置CTのアドレス宛に送信(パケット伝送)する。制御装置CTは、管理室装置Ｘからの呼出を通知するための呼出コマンドをデータフィールドに格納したパケットを信号幹線Lsに送出する。【００７２】
前記住戸番号の住戸に設置されている住戸機Ａでは、住戸線Ldを介して伝送処理部７で前記パケットを受信すると、当該パケットのデータフィールドに格納されている呼出コマンド(制御信号)を制御部１に出力する。制御部１は、呼出コマンドを受け取るとスピーカ2bから呼出音を鳴動させる。そして、呼出音を聞いた住人が応答釦を操作すると、制御部１は、通話処理部２に対して記憶部５に記憶されている第２のソフトウェアをロードして実行するように指示する。そして、図５Ｂに示すように通話処理部２が第２のソフトウェアを実行して通話処理を行うことにより、住戸の住人と管理人が住戸機Ａ及び管理室装置Ｘを用いてインターホン通話することができる。ここで、管理室装置Ｘは、図５Ｂの左側に示すように話速変換処理部SEを除いて図５Ｂの右側の住戸機Ａとほぼ同一の構成を有しており、説明を簡単にするため、住戸機Ａの各部と共通の機能を有するものには同一の符号を付している。【００７３】
但し、ロビーインターホンLIや管理室装置Ｘからの呼出に対して副親機Ｃで応答することも可能である。そして、ロビーインターホンLIや管理室装置Ｘからの呼出に対して副親機Ｃで応答した場合、図５Ｄに示すように住戸機Ａの通話処理部２が第２のソフトウェアを実行して通話処理を行うことにより、住戸の住人と来訪者若しくは管理人が副親機Ｃ及びロビーインターホンLI若しくは管理室装置Ｘを用いてインターホン通話することができる。【００７４】
さらに、異なる住戸に設置された住戸機Ａ同士のインターホン通話について説明する。住戸機Ａでは、住人がテンキースイッチを操作して別の住戸の住戸番号の操作入力を受け付けると、データフィールドに当該住戸番号を格納したパケットを伝送部より信号幹線Lsを介して制御装置CTのアドレス宛に送信(パケット伝送)する。制御装置CTは、住戸機Ａからの呼出を通知するための呼出コマンドをデータフィールドに格納したパケットを信号幹線Lsに送出する。【００７５】
前記住戸番号の住戸に設置されている別の住戸機Ａでは、住戸線Ldを介して伝送処理部７で前記パケットを受信すると、当該パケットのデータフィールドに格納されている呼出コマンド(制御信号)を制御部１に出力する。制御部１は、呼出コマンドを受け取るとスピーカ2bから呼出音を鳴動させる。そして、呼出音を聞いた住人が応答釦を操作すると、制御部１は、通話処理部２に対して記憶部５に記憶されている第２のソフトウェアをロードして実行するように指示する。そして、図５Ｃに示すようにそれぞれの住戸の住戸機Ａにおける通話処理部２が第２のソフトウェアを実行して通話処理を行うことにより、異なる住戸の住人同士がそれぞれの住戸機Ａを用いてインターホン通話することができる。【００７６】
ここで、通話処理部２が第２のソフトウェアを実行して行う通話処理について説明する。第２のソフトウェアには、通話方向を切り換える音声スイッチ処理のプログラムと、音響エコーを抑圧する音響側エコーキャンセラ処理のプログラムと、残留エコーを抑圧するエコーサプレッサ処理のプログラムと、パケット伝送に伴うパケット損失に起因した音声データの欠落を補償する音声データ欠落補償処理のプログラムと、パケット伝送に伴う遅延及び揺らぎ(ジッタ)を吸収する揺らぎ吸収処理のプログラムと、スピーカ2bから出力される通話相手の音声の速度(話速)を遅く又は速くする話速変換処理のプログラムとが含まれている。【００７７】
第２のソフトウェアを実行している通話処理部２は、図６に示すように音声スイッチVS、音響側エコーキャンセラEC1、エコーサプレッサES、話速変換処理部SE、音声データ欠落補償部VC、揺らぎ吸収処理部JAを備えている。ただし、音声スイッチVS、音響側エコーキャンセラEC1、エコーサプレッサES、話速変換部SE、音声データ欠落補償部VC、揺らぎ吸収処理部JAは、通話処理部２を構成するDSPなどの信号処理回路が音声スイッチ処理のプログラム、音響側エコーキャンセラ処理のプログラム、エコーサプレッサ処理のプログラム、話速変換処理のプログラム、音声データ欠落補償処理のプログラム、揺らぎ吸収処理のプログラムをそれぞれ実行することで実現されるものである。また、図６においては第１及び第２の変換処理部10,11の図示は省略している。【００７８】
音響側エコーキャンセラEC1は、第１のソフトウェアが実行された場合の音響側エコーキャンセラEC1と共通の構成を有しているので、詳細な構成の図示は省略する。また、音声スイッチVSについても、第１のソフトウェアが実行された場合の音声スイッチVSと共通の構成を有しているので、詳細な構成の図示は省略する。但し、第２のソフトウェアにおける音声スイッチVSは、音響側帰還利得αの推定値α'の減少量に応じて総損失量算出部103が算出する総損失量を減少させる点で第１のソフトウェアにおける音声スイッチVSと異なっている。つまり、アナログ伝送方式に対応した第１のソフトウェアにおける音声スイッチVSでは、総損失量算出部103が音響側帰還利得αと回線側帰還利得βの２種類の帰還利得を考慮して総損失量を算出する必要がある。一方、パケット伝送方式においては帰還経路が形成されないために回線側帰還利得βを考慮する必要が無い。故に、第２のソフトウェアにおける音声スイッチVSでは、上述のように音響側帰還利得αの推定値α'の減少量に応じて総損失量算出部103が算出する総損失量を減少させることにより、双方向の同時通話をより確実に実現することができる。【００７９】
エコーサプレッサESは、送話音声信号の信号経路における伝送処理部７と音声スイッチVSの間に設けられて残留エコー(音響側エコーキャンセラEC1で抑圧できなかった音響エコー。以下同じ。)を減衰させるものである。つまり、音声データをパケットに分割して伝送するパケット伝送方式においては、アナログ伝送方式に比較して伝送遅延が長くなり、音響側エコーキャンセラEC1で抑圧しきれない残留エコーが発生してしまうので、エコーサプレッサESによってエコー抑圧量を増やす必要がある。なお、エコーサプレッサESは残留エコーを効果的に減衰する一方で、送出すべき音声信号(送話音声信号)は減衰させない必要がある。【００８０】
エコーサプレッサESは音声スイッチVSと連動して送話音声信号を減衰させており、具体的には、図７のフローチャートに示すように動作する。すなわち、エコーサプレッサESは音声スイッチVSの状態(挿入損失量分配処理部104による通話状態＜受話状態又は送話状態＞の推定結果)を常に監視し(ステップ１)、音声スイッチVSが受話状態である場合は信号経路に送出すべき送話音声信号は無いとみなし、入力信号に所定の減衰係数を掛ける(乗算する)ことで入力信号を減衰させて出力する(ステップ２)。一方、音声スイッチVSが受話状態でない場合、エコーサプレッサESは消去すべき残留エコーが無いかまたは送出すべき送話音声信号があると判断し、入力信号に減衰係数を掛けないことで入力信号を減衰せずにそのままのレベルで出力する(ステップ３)。【００８１】
而して、相手側の通話装置(ロビーインターホンLI、管理室装置Ｘ、他の住戸機Ａ)との間で伝送される音声に伝送遅延が生じる場合においても、当該伝送遅延に起因して送話音声信号の信号経路に発生する残留エコーをエコーサプレッサESによって減衰させることができる。その結果、パケット伝送方式においても双方向の同時通話が確実に実現できる。ここで、音声スイッチVSが受話状態でない場合、例えば、送話状態である場合にエコーサプレッサESが送話音声信号を減衰してしまうと、近端側話者(住戸機Ａで通話する住人)の発した音声が誤って減衰されてしまうことにより、相手側の通話装置から聞こえる近端側話者の音声が大きくなったり、小さくなったりする音声の抑揚が生じてしまう虞がある。しかしながら本実施形態では、音声スイッチVSが受話状態であるときにエコーサプレッサESが入力信号を減衰させ、音声スイッチVSが受話状態でないときにはエコーサプレッサESが入力信号を減衰させないので、上述のような音声の抑揚を生じさせることなく、通話時の不快なエコー(残留エコー)のみを減衰させることが可能である。なお、話速変換処理部SEについては、第１のソフトウェアに含まれる話速変換処理のプログラムと同一のプログラムを実行して実現されるものであるから説明は省略する。【００８２】
図９は、音声データ欠落補償処理(以下、「補償処理」と略す。)の基本原理を説明するための音声信号の波形図である。図９において縦軸は伝送処理部７から通話処理部２に入力される受話音声信号の強度を示し、横軸は時間を示している。音声パケットの受信に失敗し、パケットロス(音声データの欠落)が発生すると、音声データ欠落補償処理部VCは、パケットロスが発生する直前の所定期間の受話音声信号を基準信号(テンプレート)として設定する。【００８３】
次に、このテンプレートを受話音声信号に対してパケットロスが発生した時点から過去に向けてスライドさせるとともに、テンプレートと受話音声信号との相関演算を実行し、パケットロスが発生する直前の受話音声信号の基本周期(ピッチ)を検出する。そして、パケットロスが発生してから過去に遡って、１ピッチ分の受話音声信号を取り出し、その受話音声信号をロス期間に繰り返し当てはめることでロス期間(音声データが欠落している期間。以下、同じ。)を補償する。ここで、１ピッチ分の受話音声信号でロス期間を補償するのは、話者が例えば「あ」という音声を発した場合、この「あ」の音声は、20msec程度に区切られて(パケット化されて)１つの音声パケットにのせて送信されるため、ロス期間ではパケットロスが発生する直前の１ピッチ分の受話音声信号が繰り返されている可能性が高いからである。【００８４】
音声データ欠落補償処理部VCは、図８に示すように遅延揺らぎ吸収バッファ(ジッタバッファ)20、タイマ21、パケットロス検出部22、検出処理部23、補償処理部24を備えている。但し、これらの各部は、通話処理部２のDSPで音声データ欠落補償処理プログラムを実行することによって実現されている。【００８５】
ここで、音声パケットのヘッダには、元の音声信号を分割(パケット化)する際に順番に割り当てられる番号(シーケンス番号)が格納されており、音声パケットの音声データ(受話音声信号)をシーケンス番号の順番通りにつなぎ合わせることで元の音声信号を復元することができる。そして、伝送処理部７はシーケンス番号に従って、受信した受話音声信号(受話音声データ)を時系列順にジッタバッファ20に出力する。なお、音声パケットのヘッダにはシーケンス番号の他にタイムスタンプが含まれている。シーケンス番号は音声パケットの送信順序を示し、タイムスタンプは、元の音声波形における音声信号の相対的な位置を示している。【００８６】
ジッタバッファ20は、伝送処理部７から出力された受話音声データを一旦保持し、所定時間遅延させて検出処理部23に出力することで音声パケットの遅延ゆらぎを吸収する。【００８７】
タイマ21は、パケットロス検出部22がパケットロスを検出する際に用いられる。パケットロス検出部22は、ジッタバッファ20が検出処理部23に受話音声データを出力した時点でタイマ21の計時を開始させ、ジッタバッファ20が次の受話音声データを出力する前に、タイマ21による計時時間がパケットロスが発生したと想定される所定時間を超えた場合、パケットロスが発生したと判定する。【００８８】
検出処理部23は、パケットロス検出部22によりパケットロスが検出された場合、ジッタバッファ20から出力された受話音声データに対して基本周期（ピッチ）の検出処理を行い、パケットロス検出部22によりパケットロスが検出されなかった場合、受話音声データに対して何も行わない。なお、検出処理部23は、過去一定期間の受話音声データを保持している。【００８９】
ここで、検出処理部23は、テンプレート設定部23ａ及びピッチ検出部23bを備えている。テンプレート設定部23ａは、パケットロスが発生したロス発生時点から過去に向けて所定時間幅の受話音声データをテンプレートとして設定する。ここで、テンプレート設定部23ａは、ピッチ検出部23bがテンプレートのスライド量を増大させるにつれてテンプレートの前記時間幅を増大させる。【００９０】
ピッチ検出部23bは、テンプレート設定部23ａにより設定されたテンプレートを受話音声データに対してロス発生時点から過去に向けてスライドさせ、テンプレートと受話音声データとの相互相関を求め、テンプレートと受話音声データとの相関ピークが最も強く現れたときのスライド量からロス発生時点の直前の受話音声信号のピッチを検出する。【００９１】
図１０は、テンプレート設定部23ａ及びピッチ検出部23bの処理を説明するための受話音声信号の波形図である。なお、図１０に示す縦軸は受話音声信号の強度を示し、横軸は時間をサンプル数で示したものである。また、図１０に示すテンプレートTJは従来の補償処理に使用されていたテンプレートを示している。【００９２】
パケットロスが発生すると、従来では、例えば、ロス発生時点RTから過去の所定期間分の受話音声信号をテンプレートTJとして設定する。そして、このテンプレートTJを受話音声信号に対してロス発生時点RTから過去に向けてスライドさせることで、受話音声信号とテンプレートTJの相互相関を求め、最も強い相関ピークが得られたときのテンプレートTJのスライド量から受話音声信号のピッチを検出していた。【００９３】
図１１は、従来のテンプレートTJを用いたときのテンプレートTJと受話音声信号との相関値の演算結果を示したグラフである。なお、図１１においては、従来周知である平均振幅差関数(Average Magnitude Difference Function)を用いて相関値が算出されている。また、図１１において、縦軸は相関値を示し、横軸はロス発生時点RTを０としたときの時間をサンプル数で示したものである。また、図１１はAMDFによる相関値であるため、値が小さいほど受話音声信号とテンプレートTJとの相関が強い。【００９４】
図１１では、まず、37サンプルの時点で下に凸の相関ピークPK1が現れ、次に、47サンプルの時点で下に凸の相関ピークPK2が現れ、以後、およそ37サンプルの周期で下に凸の相関ピークが繰り返し現れている。そして、相関ピークPK1の方が相関ピークPK2よりも小さく現れている。そのため、従来の手法では37サンプルが受話音声信号のピッチとして検出されてしまう。【００９５】
一方、図１０に示すようにロス発生時点RTの直前の受話音声信号のピッチは、47サンプルである。そのため、従来の手法では、ロス発生時点RTの直前の受話音声信号のピッチが精度良く検出されていないことが分かる。【００９６】
これは、テンプレートTJの時間幅が47サンプルより遙かに大きく、テンプレートTJには検出対象となるピッチが47サンプルの受話音声信号は１周期分しか含まれていないが、検出対象でないピッチが37サンプルの受話音声信号は３周期分も含まれているため、37サンプルで強い相関ピークが現れたことが原因と考えられる。【００９７】
この場合、ロス発生時点RTから過去に遡って37サンプル分の受話音声信号を取り出し、この受話音声信号をロス期間に繰り返し当てはめることで、補償処理が行われる。【００９８】
そのため、ロス期間の波形とロス期間以外の波形とを滑らかに繋ぐことが困難となり、補償処理を精度良く行うことが困難となってしまう。【００９９】
一方、テンプレートの時間幅が47サンプルより小さい場合、47サンプルのピッチを検出することはできない。【０１００】
そこで、本実施形態における検出処理部23では、図１０に示すようにテンプレートTMのスライド量を増大するにつれて、テンプレートTMの時間幅を増大している。【０１０１】
そのため、例えば図１０の３段目に示すテンプレートTMのように、ある程度テンプレートTMをスライドさせたとき、そのテンプレートには、ほぼ検出対象となる47サンプルの受話音声信号のみが含まれるようになる。一方、図１０の４段目のテンプレートTMにおいては、ピッチが47サンプルの受話音声信号に加えて、ピッチが37サンプルの受話音声信号も含まれている。そのため、３段目のテンプレートTMと受話音声信号との相関の方が、４段目のテンプレートTMと受話音声信号との相関よりも強く表れ、ロス発生時点RTの直前の受話音声信号のピッチを精度良く検出することが可能となる。【０１０２】
ここで、ピッチ検出部23bは、相関演算として、例えば式（１）に示すAMDFを採用することが好ましい。【０１０３】
【数２】
0005544012.tif 000002
【０１０４】
但し、φ(τ)は相関値、ＮはテンプレートTMの時間幅、ｘ(j)はテンプレートTM、ｘ(j-τ)は受話音声信号、k+1はテンプレートTMの開始点、ａは予め定められた係数、τはテンプレートTMのスライド量、ｊは受話音声信号の各サンプリング点のサンプリング番号をそれぞれ示している。【０１０５】
また、テンプレート設定部23ａは、テンプレートTMのスライド量が所定のスライド基準値になるまで、テンプレートTMの時間幅を所定の初期時間幅に設定することが好ましい。【０１０６】
こうすることで、テンプレートTMのスライド量が比較的小さい場合は、テンプレートTMの時間幅が初期時間幅に設定され、スライド量が小さい場合であってもテンプレートTMの時間幅を一定の大きさ以上確保することが可能となり、テンプレートTMと受話音声信号(入力信号)の間の相関をより精度良く求めることができる。【０１０７】
更に、テンプレートTMのスライド量がスライド基準値になるまで、テンプレートTMの時間幅は初期時間幅に設定されるが、この初期時間幅を比較的短くすることで、計算量を少なくすることができる。【０１０８】
なお、初期時間幅としては、想定される受話音声信号のピッチの最小値程度を採用することが好ましい。また、スライド基準値としては、例えば初期時間幅を採用すればよい。【０１０９】
図１２は、テンプレート設定部23ａ及びピッチ検出部23bの処理を説明する図である。図１２に示す直線上の各点は受話音声信号のサンプリング点を示している。また、右端のサンプリング点はロス発生時点RTを示し、各サンプリング点は、左に向かうにつれて過去のサンプリング点を示している。また、ロス発生時点RTを０番目のサンプリング点とする。受話音声信号のピッチは、短い場合で3msec程度であり、サンプリング周波数が8kHzとすると、24サンプルに相当する。したがって、初期時間幅として、例えば24サンプルとすればよいが、図１２では、説明の便宜上、テンプレートTMの初期時間幅を４とし、ａ＝１とし、スライド基準値を５とする。【０１１０】
まず、パケットロスが発生すると、ピッチ検出部23bは、τ＝０に設定し、テンプレートTMの初期時間幅が４であるため、ロス発生時点RTから左に４番目のサンプリング点を基準サンプリング点ｋとして設定し、ｋからロス発生時点RTに向かうにつれて、１ずつ増えるように各サンプリング点にサンプリング番号を付与し、ｋから過去に向かうにつれて、１ずつ減少するように各サンプリング点にサンプリング番号を付与する。【０１１１】
そして、テンプレート設定部23ａは、受話音声信号ｘ(k+1)〜ｘ(k+4)をテンプレートTM０として設定する。【０１１２】
そして、ピッチ検出部23bは、式(1)を用いて、テンプレートTM０と受話音声信号ｘ(j-0)との相関値φ(0)を算出する。この場合テンプレートTM０は、音声信号ｘ(k+1)〜ｘ(k+4)に当てはめられる。【０１１３】
次に、ピッチ検出部23bは、τ＝１に設定し、τ＝０と同様にして、式(1)を用いて、テンプレートTM０と音声信号ｘ(j-1)との相関値φ(1)を算出する。この場合、テンプレートTM０は、音声信号ｘ(k)〜ｘ(k+3)に当てはめられる。【０１１４】
以下、τ＝４になるまで、テンプレートTM０が受話音声信号に対して過去に向けてスライドされ、式(1)を用いてφ(2),φ(3),φ(4)が算出される。【０１１５】
次に、ピッチ検出部23bは、τ＝５に設定すると、τ≧スライド基準値（＝５）であるため、ロス発生時点RTから左に５番目のサンプリング点を基準サンプリング点ｋとして設定する。そして、テンプレート設定部23ａは、音声信号ｘ(k+1)〜ｘ(k+5)をテンプレートTM５として設定する。そして、ピッチ検出部23bは、式(1)を用いてテンプレートTM５と音声信号ｘ(j-5)との相関値φ(5)を求める。この場合、テンプレートTM５は、音声信号ｘ(k-4)〜ｘ(k)に当てはめられる。【０１１６】
次に、ピッチ検出部23bは、τ＝６に設定し、ロス発生時点RTから左に６番目のサンプリング点を基準サンプリング点ｋとして設定する。そして、テンプレート設定部23ａは、受話音声信号ｘ(k+1)〜ｘ(k+6)をテンプレートTM６として設定する。そして、ピッチ検出部23bは、式(1)を用いてテンプレートTM６と受話音声信号ｘ(j-6)との相関値φ(6)を求める。この場合、テンプレートTM６は、音声信号ｘ(k-5)〜ｘ(k)に当てはめられる。【０１１７】
以後、ピッチ検出部23bは、τが最大スライド量であるτmaxになるまで、上記処理を繰り返し、φ(τ)を求める。これにより、テンプレートTMは、スライド量が増大するにつれて、時間幅が増大されることになる。【０１１８】
図１３は、図１０に示す受話音声信号に対して本実施形態による手法を用いて相関値φ(τ)を求めたときの相関値φ(τ)のグラフを示している。なお、図１３において、縦軸は相関値φ(τ)を示し、横軸は時間をサンプル数で示したものである。また、図１３においては、AMDFにより相関値φ(τ)が算出されている。したがって、図１１と同様、相関値の低い相関ピークほど受話音声信号とテンプレートTMとの相関が強い。【０１１９】
図１３においては、ロス発生時点RT(=0)からおよそ47サンプル経過したときに下に凸の相関ピークPK1が現れ、次に、相関ピークPK1が現れてからおよそ37サンプル経過したときに下に凸の相関ピークPK2が現れ、以後、およそ37サンプル経過する毎に下に凸の相関ピークが現れている。また、相関ピークは時間が経過するにつれて値が大きくなっており、テンプレートTMと受話音声信号との相関が弱くなっている。なお、サンプリング周波数を8kHzとすると、37サンプルは、37×0.125msec=4.625msecに相当し、47サンプルは、47×0.125=5.875msecに相当する。【０１２０】
つまり、図１３に示す相関ピークのうち、テンプレートTMを47サンプル分ずらしたときの相関ピークPK1が最小となっている。【０１２１】
そのため、ピッチ検出部23bは、最小の相関ピークPK1が現れた時刻である47サンプルをロス発生時点RTの直前の受話音声信号のピッチとして検出する。したがって、ピッチ検出部23bは、図１０に示すロス発生時点RTの直前の受話音声信号のピッチである47サンプルを検出できていることが分かる。【０１２２】
補償処理部24は、ロス発生時点RTから過去に向けてピッチ検出部23bにより検出された１ピッチ分の受話音声信号を取り出し、取り出した受話音声信号でパケットロスが発生したロス期間を補償する補償処理を行う。【０１２３】
ここで、補償処理部24は、例えば、図１０に示す受話音声信号が入力され、ピッチ検出部23bがピッチとして47サンプルを検出したとすると、ロス発生時点RTから過去に向けて47サンプルの受話音声信号を取り出し、取り出された受話音声信号をロス期間の最後まで繰り返し当てはめてロス期間を補償する。【０１２４】
図１４は、音声データ欠落補償処理部VCの動作(音声データ欠落補償処理)の手順を示すフローチャートである。なお、図１４のフローチャートでは、説明の便宜上、ａ＝１としている。まず、ステップS1において、パケットロス検出部22が、パケットロスを検出すると(ステップS1）、ピッチ検出部23bは、τ＝０に設定する(ステップS2)。【０１２５】
次に、テンプレート設定部23ａは、τの値に応じた時間幅のテンプレートTMを受話音声信号から設定する(ステップS3)。このとき、テンプレート設定部23ａは、τ＜スライド基準値の場合は、テンプレートTMの時間幅を初期時間幅に設定し、τ≧スライド基準値の場合、テンプレートTMの時間幅をＮ＝τに設定する。【０１２６】
次に、ピッチ検出部23bは、k+1がテンプレートTMの開始点となるように、基準サンプリング点ｋを設定し、各サンプリング点にサンプリング番号を付与する(ステップS4)。【０１２７】
次に、ピッチ検出部23bは、式(1)を用いてテンプレートTMと受話音声信号との相関値を算出する(ステップS5)。【０１２８】
次に、ピッチ検出部23bは、τ＝τ＋１とする(ステップS6)。次に、ピッチ検出部23bは、τ≧スライド基準値の場合(ステップS7)、すなわち、テンプレートTMのスライド量がスライド基準値を超えた場合、処理をステップS8に進め、τ＜スライド基準値の場合(ステップS7)、処理をステップS5に戻す。ステップS5〜S7の処理が繰り返されることで、初期時間幅のテンプレートTMは、スライド基準値となるまで、受話音声信号に対して過去に向けてスライドされる。【０１２９】
ステップS8において、τ＜τmaxである場合(ステップS8)、処理がステップS3に戻され、τ≧τmaxとなるまで、ステップS3〜S8の処理が繰り返される。これにより、テンプレートTMは、スライド量であるτが増大するにつれて時間幅が増大される。【０１３０】
ステップS8において、τ≧τmaxとなった場合(ステップS8)、ピッチ検出部23bは、ステップS5で算出した相関値から相関ピークを検出し、検出した相関ピークのうち、テンプレートTMと受話音声信号との相関が最も強い相関ピークのスライド量を特定し、特定したスライド量からピッチを検出する(ステップS9)。ここで、式(1)を採用した場合、相関値が最小の値を示す相関ピークがテンプレートTMと受話音声信号との最も強い相関を示す。【０１３１】
また、ピッチ検出部23bは、特定したスライド量に音声信号のサンプリング周期を乗じることで、ピッチを算出すればよい。【０１３２】
次に、補償処理部24は、ステップS9で検出されたピッチに従って受話音声信号を取り出し、取り出した受話音声信号を用いてロス期間を補償する(ステップS10)。【０１３３】
なお、図１２の説明では、テンプレート設定部23ａは、ａ＝１に設定したが、これに限定されず、テンプレートTMのスライド量が所定の変更基準値を超えるまで、ａを１≦ａ＜２の範囲内の所定の固定値に設定し、スライド量が変更基準値を超えると、スライド量が最大スライド量(τmax)に近づくにつれて、１に近づくようにａの値を漸次減少させてもよい。変更基準値としては、例えば上記のスライド基準値を採用することができる。【０１３４】
これにより、スライド量が小さい場合、テンプレートTMの時間幅をスライド量に対して大きめに設定することができ、スライド量が大きい場合、テンプレートTMの時間幅をスライド量程度の値に設定することができる。そのため、スライド量が小さい場合において、テンプレートTMの時間幅が小さくなりすぎることによる相関演算精度の低下を防止することができる。【０１３５】
また、相関演算としては、式(1)に示すAMDFに代えて、従来周知である相互相関や平均自乗差関数(Average Square Difference Function)等の手法を採用してもよい。【０１３６】
このように、本実施形態における音声データ欠落補償処理部VCによれば、パケットロスの発生時点RTから過去に向けてある時間幅の受話音声信号がテンプレートTMとして設定される。そして、設定されたテンプレートTMが受話音声信号に対して現時点から過去に向けてスライドされる。そして、テンプレートTMと受話音声信号との相関が求められ、受話音声信号のピッチが検出される。【０１３７】
ここで、テンプレートTMはスライド量が増大するにつれて時間幅が増大される。したがって、スライド量が小さい比較的初期の段階において、現時点のほぼ直前の１ピッチ分の受話音声信号がテンプレートTMとされるタイミングが発生する。このとき、テンプレートTMと受話音声信号との間で強い相関ピークが現れる。一方、スライド量が大きくなると、それに応じてテンプレートTMの時間幅も増大され、テンプレートTMには複数の周波数成分が含まれるようになる。そのため、上記のタイミングで得られる相関ピークほど強い相関ピークを得ることはできなくなる。よって、現時点のほぼ直前の受話音声信号のピッチを精度良く検出することが可能となる。【０１３８】
揺らぎ吸収処理部JAは、図１５に示すようにジッタバッファ30、カウント部31、バッファサイズ変更部32、受信時刻記録部33、基準値記憶部34、隠蔽処理部35、出力部36、観測履歴保持部37を備えている。但し、これらの各部は、通話処理部２のDSPが第２のソフトウェアにおける揺らぎ吸収処理プログラムを実行することで実現される。また、ジッタバッファ30は音声データ欠落補償処理部VCのジッタバッファ20と共用される。【０１３９】
受信時刻記録部33は、伝送処理部７が音声パケット(受話音声パケット)を受信した時刻(タイムスタンプ)を、受信したパケットのシーケンス番号に対応付けて記録する。【０１４０】
ジッタバッファ30は、例えばリングバッファにより構成され、伝送処理部７により受信されたパケットを時系列順で蓄積する。これにより、信号幹線Lsを介して伝送される音声パケットの伝送遅延の揺らぎが吸収される。なお、ジッタバッファ30のサイズとしては、後述する基準値よりも大きなサイズが採用されている。【０１４１】
カウント部31は、音声がパケット化される周期(パケット化周期)以下の所定周期(カウント周期)で、ジッタバッファ30に蓄積されている蓄積パケット数をカウントすることでパケットカウント値を算出する。そして、カウント部31が算出したパケットカウント値は観測履歴保持部37に保持される。観測履歴保持部37は、例えば、揮発性の半導体メモリにより構成され、カウント部31により算出された過去Ｎ(Ｎは正の整数)回のパケットカウント値を保持する。【０１４２】
図１６は、カウント部31によるパケットカウント値の算出処理の説明図である。図１６に示すように、カウント部31は、カウント周期Tbでパケットカウント値を算出している。【０１４３】
ここで、カウント部31は、パケットカウント値の算出タイミングである算出時刻Tkから、過去、パケット化周期Ta内に受信したパケットPSについては、カウント値をΔT/Taにより得られる値に設定し、算出時刻Tkから、過去、パケット化周期Ta以前に受信したパケットPLについては、カウント値を１に設定することでパケットカウント値を算出する。つまり、パケットPSのパケットカウント値は、受信時刻が算出時刻Tkに近づくにつれて差分ΔTが小さくなるため、値が小さくなる。【０１４４】
ここで、パケットPSについては、パケットカウント値を算出するにあたって受信時刻が用いられているため、受信時刻を保持しておく必要がある。一方、パケットPLについては、パケットカウント値を算出するにあたって受信時刻が不要であるため、受信時刻を記録しておく必要はない。【０１４５】
そこで、カウント部31は、パケットカウント値の算出処理が終了すると、算出時刻Tkから、過去、パケット化周期Taとカウント周期Tbとの差分(=Ta-Tb)以前に受信したパケットについては、受信時刻を受信時刻記録部33から削除する。【０１４６】
これにより、パケットカウント値の次の算出時刻である時刻Tk+1において、過去、パケット化周期Taに受信したパケットの受信時刻が受信時刻記録部33に保持されている結果、カウント部31は、時刻Tk+1において、過去、パケット化周期Taに受信したパケットの受信時刻を取得することができる。こうすることで、受信時刻記録部33の容量を節約することが可能となる。【０１４７】
バッファサイズ変更部32は、カウント部31により算出されたパケットカウント値の過去のＮ回のパケットカウント値を観測履歴保持部37から読み出し、読み出したＮ回のパケットカウント値から、ｎ番目に小さいパケットカウント値をパケットカウント値の代表値として算出し、算出した代表値が所定の基準値より大きければ、ジッタバッファ30に蓄積されているパケットを削除し、代表値が基準値より小さければ、ジッタバッファ30にパケットを挿入する。なお、基準値は基準値記憶部34に記憶されている。【０１４８】
ここで、バッファサイズ変更部32は、代表値が基準値より小さい場合は、代表値が、基準値以上かつ基準値+1未満となるように、ジッタバッファ30にパケットを挿入すればよい。例えば、代表値が2.1、基準値が４の場合、代表値が4.1となるように２つのパケットがジッタバッファ30に挿入される。また、バッファサイズ変更部32は、代表値が基準値より大きい場合は、代表値が基準値以上かつ基準値+1未満となるように、ジッタバッファ30からパケットを削除すればよい。例えば、代表値が4.2、基準値が２の場合、代表値が2.2となるように２つのパケットがジッタバッファ30から削除される。【０１４９】
なお、ｎとしては、Ｎ×αにより整数値に丸め込んだ値を採用することが好ましい。また、基準値としては、集合住宅用インターホンシステムがインターホン通話(パケット伝送方式による通話)において許容する通話遅延時間に基づいて予め定められた値が採用されている。つまり、ジッタバッファ30の蓄積パケット数が基準値よりも大きければ、ジッタバッファ30において、出力待ちのパケット数が増大するため、通話遅延が発生する。そこで、上述のようにｎ番目のパケットカウント値である代表値が基準値よりも大きい場合は、ジッタバッファ30からパケットを削除することにより、通話遅延を防止することができる。【０１５０】
一方、ｎ番目のパケットカウント値である代表値が基準値よりも小さい場合は、ジッタバッファ30にパケットを挿入している。これにより、蓄積パケット数が基準値以下になる確率を、α(=n/N)％にすることができる。【０１５１】
隠蔽処理部35は、ジッタバッファ30に挿入された無効パケット(音声が含まれないパケット。以下、同じ。)に対して、パケットロス隠蔽処理を行うとともに、ジッタバッファ30においてパケットが枯渇した場合にパケットロス隠蔽処理を行う。ここで、パケットロス隠蔽処理としては、例えば、無効パケットより過去の受話音声信号から受話音声信号のピッチを検出し、無効パケットの直前の有効パケット(音声が含まれるパケット。以下、同じ。)の受話音声信号において、終端から１ピッチ分前の区間の音声波形を取り出し、この音声波形をパケット化周期(例えば、20msec)の期間、繰り返すことで得られる音声波形を無効パケットの受話音声信号として生成する手法を採用すればよい。なお、ピッチの検出については、上述した音声データ欠落補償処理におけるピッチ検出処理と共通の手法を採用すればよい。【０１５２】
出力部36は、ジッタバッファ30の蓄積パケット数が基準値以上となった場合、ジッタバッファ30からパケット化周期Taに同期してパケット(受話音声データ)を時系列順に読み出して受話音声信号の信号経路に出力する。ここで、出力部36は、ジッタバッファ30から取り出したパケットが音声を含まない無効パケットである場合、隠蔽処理部35にパケットロス隠蔽処理を実行させ、実行処理後の音声データを出力する。【０１５３】
観測履歴保持部37は、例えば不揮発性の半導体メモリにより構成され、カウント部31により算出された過去Ｎ回のパケットカウント値を保持する。【０１５４】
図１７は、ジッタバッファ30の役割を説明するための図である。図１７に示すように、受話音声信号を含むパケットは、パケット化周期(図示例では20msec)で相手の通話端末(ロビーインターホンLIや管理室装置Ｘあるいは他の住戸の住戸機)から送信される。図１７では、１〜８の番号(シーケンス番号)が付された８個のパケットが20msecの間隔で送信されている状況を表している。【０１５５】
相手の通話端末から送信されたパケットは信号幹線Lsを介して住戸機Ａで受信されることになる。ここで、多数のパケット(音声パケット、映像パケット、制御パケット)が信号幹線Lsを介して多重伝送されるため、相手の通話端末からパケット化周期で送信される音声パケットが住戸機Ａに到達するまでの時間(伝送遅延)は、個々の音声パケット毎に大きく相違し、いわゆる伝送遅延の揺らぎが発生する。よって、住戸機Ａによる音声パケットの受信間隔は不等間隔になる。【０１５６】
そこで、この伝送遅延の揺らぎを吸収するためにジッタバッファ30が設けられている。図１７においては、ジッタバッファ30のバッファサイズはパケット３個分とされている。また、出力部36は、１番目のパケットを受信してから、遅延時間Tdが経過した時刻T1において、１番目のパケットに復号化処理及びD/A変換処理を施して出力を開始している。【０１５７】
図１７の場合、時刻T1から20msec経過後の２番目のパケットの出力時刻である時刻T2において、ジッタバッファ30は、２番目のパケットを蓄積している。よって、出力部36は、時刻T2において２番目のパケットを出力することができる。【０１５８】
一方、３番目のパケットは、伝送遅延が極端に大きいため、時刻T3において、住戸機Ａに到達しておらず、ジッタバッファ30において、パケットの枯渇が生じている。そのため、出力部36は、時刻T3において３番目のパケットを出力することができず、音抜け(音声データの欠落)が発生する。【０１５９】
また、３〜７番目のパケットは輻輳解消後に短時間で連続して住戸機Ａに到達しており、７番目のパケットが住戸機Ａに到達したとき、ジッタバッファ30には、５、６番目のパケットが存在するが、ジッタバッファ30に空きがあるため、７番目のパケットは破棄されず、ジッタバッファ30に格納される。よって、時刻T7において、７番目のパケットが出力部36から出力される。【０１６０】
このように、伝送遅延の揺らぎの特性は動的に変化するため、ジッタバッファ30のバッファサイズを固定サイズにすると、想定される伝送遅延の揺らぎよりも充分に長くせざるを得ない。また、ジッタバッファ30のバッファサイズを充分に長くし、かつ、遅延時間Tdを充分に長くすれば、音抜けの発生は防止できるが、遅延時間Tdが長いと、ジッタバッファ30において、出力待ちのパケットが増大し、通話遅延が発生してしまう。【０１６１】
図１８は、伝送遅延と伝送遅延の発生頻度との関係を示す伝送遅延特性のグラフの一例を示している。なお、図１８において、縦軸は、発生頻度を示し、横軸は伝送遅延を示している。また、図１９は、ジッタバッファ30の最適なバッファサイズを説明するための図である。図１８において、dminは最小の伝送遅延を示し、dmaxは最大の伝送遅延を示している。図１９では、k-1番目のパケットの伝送遅延はdminであり、ｋ番目のパケットの伝送遅延はｄであり、k+1番目のパケットの伝送遅延はdmaxである。【０１６２】
この場合、出力部36による最適な出力の待ち時間は下記のようになる。ｉ)dmaxで届いたパケットは直ちに出力する。ii)dminで届いたパケットは、dmax-dmin待ってから出力する。iii)ｄで届いたパケットはdmax-d待ってから出力する。【０１６３】
よって、ジッタバッファ30におけるパケットの枯渇を回避するためには、ジッタバッファ30のバッファサイズbufをbuf≧dmax−dminとすればよいが、伝送遅延特性のdmaxが極端に大きくなると、つまり、図１８のグラフの右端の尾が極端に長くなると、バッファサイズbufの値が大きくなってしまう。また、図１８のグラフに示すように、伝送遅延が増大するにつれて発生頻度が低下しているため、真のdmaxを観測するには、膨大な数のパケットの伝送遅延を観測する必要がある。そのため、図１８のグラフでは、真のdmaxではなく、伝送特性の分布の上位数％を切り捨てる値がdmaxとみなされている。この場合、dmaxとみなす値以上の伝送遅延が発生するとパケットの枯渇が発生する。【０１６４】
したがって、パケットの枯渇を防止するためには、dmaxとみなす値を大きく設定することが好ましいが、逆にdmaxとみなす値が大きすぎるとバッファサイズbufが増大し、ジッタバッファ30において、出力待ちの待ちパケットが増大する結果、出力遅延が生じてしまう。このような出力遅延は、パケット伝送方式のインターホン通話においては通話遅延となって現れるため、極力低く抑える方が好ましい。そこで、上述の処理を実行することで、パケットの枯渇を防止すると同時に、通話遅延の防止を図っているのである。【０１６５】
図２０は、揺らぎ吸収処理部JAの揺らぎ吸収処理を示すフローチャートである。まず、ステップS1において、カウント部31は、前回、パケットカウント値の算出タイミングを算出してから、カウント周期Tbが経過して、パケットカウント値の算出タイミングとなったか否かを判定する。そして、カウント部31は、パケットカウント値の算出タイミングになったと判定すると(ステップS1でYES)、現在、ジッタバッファ30に蓄積されているパケット数である蓄積パケット数をカウントする(ステップS2)。一方、カウント部31は、パケットカウント値の算出タイミングになっていないと判定すると(ステップS1でNO)、処理をステップS1に戻す。【０１６６】
次に、カウント部31は、パケットカウント値の算出処理を実行して、パケットカウント値を算出する(ステップS3)。【０１６７】
図２１は、パケットカウント値の算出処理の詳細を示すフローチャートである。まず、カウント部31は、現在時刻をパケットカウント値の算出時刻として特定する(ステップS21)。ここで、住戸機Ａの制御部１が時計機能を有しているため、この時計機能を用いて算出時刻が特定できる。【０１６８】
次に、カウント部31は、ジッタバッファ30に蓄積されているパケットのうち、図１６に示すように算出時刻Tkから、過去、パケット化周期Ta内に受信された各パケットの受信時刻を特定する(ステップS22)。この場合、カウント部31は、受信時刻記録部33に記録された受信時刻に対応付けられたシーケンス番号を特定することで、各パケットの受信時刻を特定する。【０１６９】
次に、カウント部31は、算出時刻Tkから、過去、パケット化周期Ta内に受信された各パケットについて、算出時刻Tkと受信時刻との差分ΔTを算出する(ステップS23)。次に、カウント部31は、過去、パケット化周期Ta内に受信された各パケットについて、ΔT/Taを算出し、このΔT/Taを、各パケットのカウント値として設定する(ステップS24)。【０１７０】
次に、カウント部31は、ジッタバッファ30に蓄積されているパケットのうち、算出時刻Tkから、過去、パケット化周期Ta以前に受信されたパケットについては、カウント値を１として設定する(ステップS25)。【０１７１】
次に、カウント部31は、ステップS24,S25で設定したカウント値を用いて、ジッタバッファ30の蓄積パケット数をカウントすることで、パケットカウント値を算出する(ステップS26)。例えば、算出時刻Tkから、過去、パケット化周期Ta以前に受信されたパケット数が１個、算出時刻Tkから、過去、パケット化周期Ta内に受信されたパケット数が２個であり、この２個のパケットの受信時刻がTi,Tjとすると、パケットカウント値は、1+(Tk-Ti)/Ta+(Tk-Tj)/Taとなる。【０１７２】
次に、カウント部31は、算出時刻Tkから、過去、Ta-Tb以前に受信したパケットについては、受信時刻記録部33から受信時刻を削除する(ステップS27)。【０１７３】
図２０のフローチャートに戻り、ステップS4において、カウント部31は、算出時刻Tkにおけるパケットカウント値を観測履歴保持部37に保持させる。この場合、カウント部31は、観測履歴保持部37に保持されているパケットカウント値の個数がＮ個となるように、最古のパケットカウント値を観測履歴保持部37から削除する。【０１７４】
次に、バッファサイズ変更部32は、観測履歴保持部37に記憶されているＮ個のパケットカウント値のうち、ｎ番目に小さいパケットカウント値を代表値として特定する(ステップS5)。【０１７５】
図２２は、パケットカウント値と、パケットカウント値の算出時刻との関係を示した模式図であり、縦軸がパケットカウント値を示し、横軸がパケットカウント値の算出時刻を示している。図２２では、N=9,n=3とされている。したがって、バッファサイズ変更部32は、図２２で示す左端から２番目の時刻Tk-7のパケットカウント値が、３番目に小さいため、時刻Tk-7のパケットカウント値を代表値として特定する。【０１７６】
次に、バッファサイズ変更部32は、代表値が基準値より大きいか否かを判定し、代表値≧基準値+1の場合(ステップS6でYES)、代表値が基準値以上かつ基準値+1未満となる個数のパケットをジッタバッファ30から削除する(ステップS7)。【０１７７】
次に、バッファサイズ変更部32は、観測履歴保持部37に保持されているＮ個のパケットカウント値のそれぞれから、ステップS7で削除したパケット数を差し引き、Ｎ個のパケットカウント値を更新し、観測履歴を更新する(ステップS8)。例えば、削除したパケット数が１個であるとすると、Ｎ個のパケットカウント値の全てから１が減算される。これにより、ジッタバッファ30からパケットを削除した事実が観測履歴に反映される。【０１７８】
一方、ステップS6において、代表値が基準値+1未満であり(ステップS6でNO)、かつ、代表値が基準値以上(ステップS9でNO)の場合、バッファサイズ変更部32は、ジッタバッファ30に対してパケットの削除及び挿入を行わない(ステップS10)。【０１７９】
一方、代表値＜基準値の場合(ステップS9でYES)、バッファサイズ変更部32は、代表値が基準値以上かつ基準値+1未満となる個数のパケットをジッタバッファ30に挿入する(ステップS11)。【０１８０】
次に、バッファサイズ変更部32は、観測履歴保持部37に保持されているＮ個のパケットカウント値のそれぞれに対し、ステップS11で挿入したパケット数を加算し、Ｎ個のパケットカウント値を更新し、観測履歴を更新する(ステップS12)。例えば、挿入したパケット数が１個であるとすると、Ｎ個のパケットカウント値の全てに１が加算される。これにより、ジッタバッファ30にパケットを挿入した事実が観測履歴に反映される。【０１８１】
そして、ステップS8,S10又はS12の処理が終了すると、処理がステップS1に戻され、次のパケットカウント値の算出時刻が到来すると、ステップS2以降の処理が実行される。【０１８２】
図２３Ａはバッファサイズ変更部32によるパケット挿入時の処理を示した模式図であり、図２３Ｂはバッファサイズ変更部32によるパケット削除時の処理を示した模式図である。図２３Ａの例では、バッファサイズ変更部32は、有効パケットである４番目のパケットと５番目のパケットとの間に無効パケットを挿入している。図２３Ｂの例では、バッファサイズ変更部32は、有効パケットである４番目のパケットと５番目のパケットとをオーバーラップ加算して２つのパケット長を１つのパケット長にすることで、１つのパケットを削除している。【０１８３】
このように揺らぎ吸収処理部JAでは、ジッタバッファ30の蓄積パケット数からパケットカウント値が算出され、過去Ｎ回のパケットカウント値のうち、ｎ番目に小さいパケットカウント値が代表値として特定される。そして、特定した代表値が基準値よりも大きければジッタバッファ30からパケットが削除される。そのため、パケットカウント値の過去の履歴からジッタバッファ30の蓄積パケット数が基準値と比べて大きい傾向にあり、出力遅延が生じる場合は、ジッタバッファ30からパケットが削除されるため、出力遅延が低減される。一方、パケットカウント値の過去の履歴からジッタバッファ30の蓄積パケット数が基準値に比べて小さい傾向にあり、パケットの枯渇が発生する可能性が高い場合は、ジッタバッファ30にパケットが挿入されるため、パケットの枯渇を防止することができる。【０１８４】
次に、揺らぎ吸収処理におけるパケットカウント値の別の算出方法について説明する。ここで、受信時刻記録部33には、最新のパケットの受信時刻のみが記録される。【０１８５】
カウント部31は、最新のパケットについては、カウント値を、算出時刻Tkと最新のパケットの受信時刻との差分ΔT/Taにより得られる値に設定し、それ以外のパケットはカウント値を１に設定してパケットカウント値を算出する。【０１８６】
図２４に示すように、カウント部31は、ジッタバッファ30において、算出時刻Tkから、過去、パケット化周期Ta内に受信されたパケットが蓄積されている場合、パケット化周期Ta内に受信されたパケットの中から受信時刻が最新のパケットPSを特定し、最新のパケットPSのカウント値をΔT/Taに設定する。一方、カウント部31は、ジッタバッファ30に蓄積されたパケットのうち、最新のパケットPS以外のパケットPL1,PL2については、カウント値を一律に１に設定する。この場合、カウント部31は、算出時刻Tkから、過去、パケット化周期Ta内に受信されたパケットであって、最新のパケットPSの受信時刻のみが分かればよいので、パケットカウント値の算出処理が終了した後、受信時刻記録部33に記録されている受信記録を削除する。【０１８７】
上記パケットカウント値の算出処理を、図２５のフローチャートを参照して詳細に説明する。図２５におけるステップS31,S33,S34,S36は、図２１におけるステップS21,S23,S24,S26と同一であるため、説明を省く。図２５におけるステップS32では、カウント部31は、ジッタバッファ30において、算出時刻Tkから、過去、パケット化周期Ta内に受信したパケットのうち最新のパケットの受信時刻を特定する。また、カウント部31は、算出時刻Tkから、最新のパケット以外のパケットについては、カウント値を一律に１に設定する(ステップS35)。そして、ステップS37において、カウント部31は、最新のパケットの受信時刻を受信時刻記録部33から削除する。【０１８８】
上述した方法でパケットカウント値を算出すれば、最新のパケットについてのみ、受信時刻を記録しておけばよいため、受信時刻記録部33の容量を更に節約することができる。【０１８９】
ところで、パケット伝送方式による音声伝送においては、伝送路でパケットの滞留が突然起こることによるスパイク性遅延変動(スパイク遅延)により、500msec以上の音切れが発生することがある。したがって、揺らぎ吸収処理部JAにおいて、スパイク遅延の発生の有無を判定し、スパイク遅延が発生している場合は、参照する過去のパケットカウント値のウインドウ幅を短くし、短くしたウインドウ幅内のパケットカウント値から代表値を算出することが好ましい。【０１９０】
そこで、カウント部31は、算出したパケットカウント値を、各パケットカウント値の時系列順序を示すためのインデックスと対応づけて観測履歴保持部37に保持させる。具体的には、観測履歴保持部37は過去Ｎ回のパケットカウント値を保持するため、カウント部31は、最新のパケットカウント値のインデックスがＮ、最古のパケットカウント値のインデックスが１となるように、算出時刻が新しくなるにつれてインデックスが増大するように過去Ｎ回のパケットカウント値にインデックスを付す。また、カウント部31は、観測履歴保持部37に保持された過去Ｎ回のパケットカウント値に基づいて、スパイク遅延の有無を判定し、スパイク遅延が発生していると判定した場合は、過去Ｎ回のパケットカウント値のうち、過去Ｍ(Ｍ＜Ｎ)回のパケットカウント値を抽出する。【０１９１】
ここで、カウント部31は、下記のようにしてスパイク遅延の有無を判定する。図２６は、スパイク遅延の有無の判定処理を説明するためのグラフである。図２６において、縦軸はパケットカウント値を示し、横軸はインデックスを示している。また、N=100としている。【０１９２】
まず、カウント部31は、基準値以下のパケットカウント値を特定する。図２６の例では点PP1〜PP6のパケットカウント値が基準値以下となっている。次に、カウント部31は、基準値以下のパケットカウント値のうち、インデックスが最小、つまり最古の点と、インデックスが最大、つまり最新の点とを特定する。図２６の例では、カウント部31は、点PP1と点PP6とを特定する。【０１９３】
次に、カウント部31は、最小のインデックスと最大のインデックスとの差分ΔＩを求める。そして、カウント部31は、この差分ΔＩが予め定められた閾値より小さければ、スパイク遅延が発生したと判定し、この差分ΔＩが閾値より大きければスパイク遅延が発生していないと判定する。【０１９４】
図２７は、スパイク遅延が発生している場合のパケットカウント値とインデックスとの関係を示すグラフである。図２７において縦軸はパケットカウント値を示し、横軸はインデックスを示している。図２７の例では、点PP1〜点PP5のパケットカウント値が基準値以下である。そして、点PP1はインデックスが最小であり、点PP5はインデックスが最大である。そして、点PP1のインデックスと点PP5のインデックスとの差分ΔＩが閾値より小さい。そのため、カウント部31は、スパイク遅延が発生していると判定する。【０１９５】
そして、カウント部31は、図２７に示すように、スパイク遅延が発生していると判定すると、算出時刻Tkから過去Ｍ個のパケットカウント値を抽出する。ここで、Ｍとしては、ΔＩに所定の係数β(０＜β≦１)を乗じた値(＝β・ΔＩ)を、整数で丸め込んだ値を採用することができる。【０１９６】
そして、バッファサイズ変更部32は、過去Ｍ個のパケットカウント値のうち、ｍ番目に小さなパケットカウント値を代表値として算出する。以下、バッファサイズ変更部32は、代表値を基準値と比較して、ジッタバッファ30にパケットを挿入又は削除する。ここで、ｍとしては、Ｍ×αを整数で丸め込んだ値を採用することができる。【０１９７】
このように、スパイク遅延が発生した場合、参照する過去のパケットカウント値のウインドウ幅が狭められてジッタバッファ30にパケットの挿入又は削除が行われる。そのため、稀にしか発生しないスパイク遅延が排除されるようにして、代表値を算出することができる。【０１９８】
また、揺らぎ吸収処理部JAにおいては、０の蓄積パケット数が連続して発生した場合、以下のようにパケットカウント値を算出することが好ましい。【０１９９】
具体的には、カウント部31は、０の蓄積パケット数が連続して発生した場合、０の蓄積パケット数が連続した回数が増大するにつれて絶対値が増大する負の値を前記パケットカウント値として算出する。【０２００】
図２８Ａ及び２８Ｂは、上記カウント部31の処理を説明する図である。図２８Ａにおいては、カウント周期Tbの各区間において、パケットカウント値の算出時刻Tk-4,Tk-3,Tk-2,Tk-1の直後にパケットがそれぞれ受信されている。また、出力部36は、各区間において、パケットを受信してから、次のパケットカウント値の算出時刻Tk-3,Tk-2,Tk-1,Tkが経過するまでに、ジッタバッファ30からパケット(受話音声データ)を読み出している。例えば算出時刻Tk-4の直後に受信されたパケットは、次の算出時刻Tk-3が経過するまでに読み出される。そのため、各算出時刻Tk-4,Tk-3,Tk-2,Tk-1,Tkにおいて、ジッタバッファ30における蓄積パケット数は０となっている。そのため、カウント部31は、算出時刻Tk-4,Tk-3,Tk-2,Tk-1,Tkのそれぞれにおいてパケットカウント値を０と算出してしまう。【０２０１】
一方、図２８Ｂにおいては、算出時刻Tk-4の少し前に１つのパケットを受信してから以降、パケットは受信されていない。なお、算出時刻Tk-4の少し前に受信されたパケットは、算出時刻Tk-4が経過してから次の算出時刻Tk-3が経過するまでの間に読み出される。この場合においても、算出時刻Tk-4における蓄積パケット数は１となるものの、それ以外の各算出時刻Tk-3,Tk-2,Tk-1,Tkにおける蓄積パケット数は０となっているため、カウント部31は、算出時刻Tk-3,Tk-2,Tk-1,Tkのそれぞれにおいてパケットカウント値を０と算出してしまう。【０２０２】
しかしながら、図２８Ａ及び２８Ｂとでは、信号幹線Lsの状況が大きく異なっている。すなわち、図２８Ａにおいては、パケットは定期的に住戸機Ａに到達しており、出力部36は連続して出力することが可能となるが、図２８Ｂにおいては、パケットは定期的に住戸機Ａに到達していないため、出力部36は連続して出力することができない。【０２０３】
これを区別するため、カウント部31は、下記の処理を行う。先ず、算出時刻（現在時刻）と最新のパケットの受信時刻との差と、カウント周期Tbとを比較する。もし、当該差がカウント周期Tbよりも小さい場合は、図２８Ａの状況であると判断して処理を終える。一方、当該差がカウント周期Tbよりも大きい場合は、前回の算出時刻以後、パケット受信がなかった、すなわち図２８Ｂの状況であると判断し、以下の処理を行う。つまり、図２８Ｂに示すように、算出時刻Tk-3で蓄積パケット数が０であり、算出時刻Tk-2でも蓄積パケット数が０となっており、算出時刻Tk-2において、０の蓄積パケット数の連続回数が１回となっている。この場合、カウント部31は、０を算出時刻Tk-2におけるパケットカウント値として算出する。【０２０４】
また、算出時刻Tk-1においては、０の蓄積パケット数の連続回数が２回となっている。そこで、カウント部31は、連続回数である２回から１を差し引いた値に-1を乗じた値である-1を、算出時刻Tk-1におけるパケットカウント値として算出する。算出時刻Tkにおいて、０の蓄積パケット数の連続回数は３であるため、カウント部２３は、連続回数である３回から１を差し引いた値に-1を乗じた値である-2を算出時刻Tkにおけるパケットカウント値として算出する。ゆえに、カウント部31は、(連続回数-1)・(-1)をパケットカウント値として算出する。【０２０５】
これにより、図２８Ａのように、パケットは定期的に受信できているものの、算出時刻において、蓄積パケット数がたまたま０になっている場合と、図２８Ｂのように、パケットを定期的に受信できていない場合との差を考慮してパケットカウント値を算出することが可能となる。したがって、図２８Ｂの場合は、図２８Ａの場合よりもジッタバッファ30からパケットが削除され難くなる。【０２０６】
次に、ジッタバッファ30にパケットを挿入又は削除を行う処理を具体的に説明する。バッファサイズ変更部32は、ジッタバッファ30から１つのパケットを削除する場合、音声を含む有効パケットが連続して２つ以上存在すれば、これら連続する有効パケットのうち、中間に位置する連続する２つの有効パケットをオーバーラップ加算して削除する。【０２０７】
図２９Ａ、２９Ｂ及び２９Ｃは、バッファサイズ変更部32がオーバーラップ加算により１つのパケットを削除する処理の説明図であり、図２９Ａは削除前のジッタバッファ30を示し、図２９Ｂは削除後のジッタバッファ30を示している。【０２０８】
図２９Ａ、２９Ｂ及び２９Ｃに示すリードポインタRPは、リングバッファ構造を有するジッタバッファ30の開始アドレスを示し、ライトポインタWPは、ジッタバッファ30の終了アドレスを示している。また、図２９において、各升は１つのパケットを示しており、升内の数字はパケットの時系列の順序を示している。また、内部が白色の升は無効パケットを示し、内部がグレーの升は有効パケットを示している。【０２０９】
図２９Ａの場合、１番目〜２番目の有効パケットの区間ではなく、４番目〜７番目の有効パケットの区間に位置する５番目と６番目との有効パケットが、図２９Ｂに示すようにオーバーラップ加算により１つのパケットに纏められ、１つのパケットが削除されている。【０２１０】
ここで、図２９Ａに示す１番目〜２番目の有効パケットの区間でオーバーラップ加算を行うと、オーバーラップ加算により生成された１つのパケットの次に無効パケットが存在することになるため、パケットロス隠蔽処理を行った場合の音声劣化が大きくなる可能性がある。一方、５番目の有効パケットと６番目の有効パケットとをオーバーラップ加算すると、オーバーラップ加算により生成された１つのパケットの前後のパケットは有効パケットであるため、パケットロス隠蔽処理による音声劣化を小さくすることができる。【０２１１】
つまり、有効パケットが２つ以上連続していれば、オーバーラップ加算により１つのパケットを削除することができるが、有効パケットの連続数が多い区間でオーバーラップ加算した方がパケットロス隠蔽処理を行ったときの音声劣化を少なくすることができる。【０２１２】
よって、ジッタバッファ30において、有効パケットが連続する区間が複数存在する場合、有効パケットの連続数が多い区間の中間の有効パケットを用いてオーバーラップ加算を行うようにしている。【０２１３】
ここで、オーバーラップ加算としては、図２９Ｃに示すように、三角窓関数RF1，RF2を用いたオーバーラップ加算を採用することができる。具体的には、バッファサイズ変更部32は、５番目のパケットの音声信号に対して、三角窓関数RF1を用いた窓関数処理を行い、６番目のパケットの音声信号に対しては、三角窓関数RF2を用いた窓関数処理を行い、窓関数処理後の両音声信号を加算して１つの音声信号を生成し、これを１つにパケット化することで、オーバーラップ加算を行えばよい。【０２１４】
ここで、三角窓関数RF1としては、時間幅が20msec、最大値が１、最小値が０であり、時間が経過するにつれて値が減少する一次関数を採用することができる。また、三角窓関数RF2としては、時間幅が20msec、最大値が１、最小値が０であり、時間が経過するにつれて値が増大する一次関数を採用することができる。【０２１５】
また、バッファサイズ変更部32は、ジッタバッファ30からパケットを削除する場合、過去に挿入した無効パケットがあれば、当該無効パケットを削除する。【０２１６】
図３０Ａ及び３０Ｂは、バッファサイズ変更部32が１つの無効パケットを削除する処理の説明図であり、図３０Ａは削除前のジッタバッファ30を示し、図３０Ｂは削除後のジッタバッファ30を示している。【０２１７】
図３０Ａにおいては、３番目と４番目とのパケットが無効パケットである。そのため、バッファサイズ変更部32は、３番目又は４番目のパケットのいずれかを削除することで、１つのパケットを削除する。ここで、ジッタバッファ30に複数の無効パケットが存在する場合は、例えば、ランダムに１つの無効パケットを選択し、選択した無効パケットを削除するようにしてもよい。あるいは、バッファサイズ変更部32は、無効パケットが２つ以上連続して存在する場合は、連続している領域の無効パケットを優先して抽出し、抽出した無効パケットのうち、ランダムに１つの無効パケットを選択して削除するようにしてもよい。【０２１８】
また、バッファサイズ変更部32は、ジッタバッファ30にパケットを挿入する場合、連続する２つの有効パケットが存在すれば、これら２つの有効パケットの間に無効パケットを挿入する。【０２１９】
図３１Ａ及び３１Ｂは、バッファサイズ変更部32が１つのパケットを挿入する処理の説明図であり、図３１Ａは挿入前のジッタバッファ30を示し、図３１Ｂは挿入後のジッタバッファ30を示している。【０２２０】
図３１Ａ及び３１Ｂに示すように、５番目の有効パケットと６番目の有効パケットとの間に１つの無効パケットが挿入されている。これは、５番目の有効パケットと６番目の有効パケットとの間に１つの無効パケットを挿入するのが、連続する有効パケットの個数がより多くなるためである。【０２２１】
例えば、１番目の有効パケットと２番目の有効パケットとの間に無効パケットを挿入したとしても、挿入した無効パケットの前後に有効パケットが存在するため、パケット隠蔽処理を行うことは可能である。【０２２２】
しかしながら、２番目の有効パケットの前後が無効パケットとなってしまうため、有効パケットの連続数が小さくなってしまう。一方、５番目の有効パケットと６番目の有効パケットとの間に、無効パケットを挿入すると、全ての有効パケットが連続することになる。ここで、パケットロス隠蔽処理を行う場合、有効パケットの連続数が多い方が音声劣化を小さくすることができる。そこで、バッファサイズ変更部32は、ジッタバッファ30において有効パケットが連続する区間が複数存在する場合、有効パケットの連続数が多い区間の中間に無効パケットを挿入している。【０２２３】
また、バッファサイズ変更部32は、一度に挿入又は削除することができるパケット数の上限値が予め定められている。【０２２４】
図３２Ａ及び３２Ｂは、ジッタバッファ30に５つのパケットを一度に挿入する場合の処理を説明するための図であり、図３２Ａは挿入前のジッタバッファ30を示し、図３２Ｂは挿入後のジッタバッファ30を示している。図３２Ａ及び３２Ｂにおいては、１番目の有効パケットと２番目の有効パケットとの間に５つの無効パケットが挿入されている。この場合、無効パケットが連続して存在しているため、音声劣化が増大する虞がある。そこで、無効パケットの挿入個数に上限値が設けられている。ここで、「一度に」とは、上述したカウント周期Ｔｂが到達した時に実行される１回の処理を指している。【０２２５】
例えば、図３２Ａにおいて、上限値＝３に設定されていたとすると、５つの無効パケットを挿入する必要がある場合であっても、３個の無効パケットしか挿入されなくなる。【０２２６】
これにより、無効パケットの連続数が一定個数以上になることが防止され、パケットロス隠蔽処理による音声劣化を小さくすることができる。【０２２７】
また、バッファサイズ変更部32は、無効パケットを削除した場合において、削除した無効パケットに対応する有効パケットを後から受信した場合、削除した無効パケットの他に無効パケットが存在すれば、他の無効パケットと受信した有効パケットとを入れ換える。【０２２８】
図３３Ａ、３３Ｂ及び３３Ｃは、無効パケットを削除した後に、削除した無効パケットに対応する有効パケットを受信した場合の処理を説明する図であり、図３３Ａは削除前のジッタバッファ30を示し、図３３Ｂは削除後のジッタバッファ30を示し、図３３Ｃは入れ換え後のジッタバッファ30を示している。【０２２９】
図３３Ａ及び３３Ｂに示すように３番目の無効パケットが削除されている。その後、図３３Ｃに示すように３番目の無効パケットに対応する３番目の有効パケットが受信されている。【０２３０】
この場合、バッファサイズ変更部32は、３番目の無効パケットの次の４番目のパケットが無効パケットであるため、この４番目の無効パケットを受信した３番目の有効パケットに入れ換える。これにより、３番目の有効パケットを復活させることができ、音声劣化を低減させることができる。【０２３１】
ここで、バッファサイズ変更部32は、ジッタバッファ30にパケットが蓄積されると蓄積されたパケットに対応する無効パケットがジッタバッファ30に蓄積されているか否かを判定する。そして、バッファサイズ変更部32は、対応する無効パケットがジッタバッファ30に蓄積されている場合は、当該無効パケットの次に無効パケットが格納されているか否かを判定し、無効パケットが格納されている場合は、次の無効パケットを削除し、削除した箇所に受信した有効パケットを挿入することで、次の無効パケットと受信した有効パケットとを入れ換えればよい。【０２３２】
一方、バッファサイズ変更部32は、ジッタバッファ30に蓄積されたパケットに対応する無効パケットがジッタバッファ30に蓄積されていない場合、あるいは、対応する無効パケットの次に無効パケットが格納されていない場合、上記の入れ換えを行わない。なお、バッファサイズ変更部32は、無効パケットのシーケンス番号と同じシーケンス番号を有するパケットがジッタバッファ30に蓄積された場合、無効パケットに対応する有効パケットが受信されたと判断すればよい。【０２３３】
また、バッファサイズ変更部32は、連続する２つの有効パケットの間にパケットを挿入する場合、隠蔽処理部35に対して、前に位置する有効パケットを用いてパケットロス隠蔽処理を実行させ、隠蔽処理されたパケットを生成させ、このパケットをジッタバッファ30に挿入するようにしてもよい。【０２３４】
図３４Ａ及び３４Ｂは、バッファサイズ変更部32が無効パケットに代えて隠蔽処理されたパケットをジッタバッファ30に挿入させる場合の処理を説明する図であり、図３４Ａは挿入前のジッタバッファ30を示し、図３４Ｂは挿入後のジッタバッファ30を示している。【０２３５】
図３４Ａ及び３４Ｂに示すように、３番目の有効パケットと４番目の有効パケットとの間に隠蔽処理されたパケットが挿入されている。【０２３６】
これにより、出力部36がジッタバッファ30からパケット（音声データ）を読み出す際に、パケットロス隠蔽処理を実行する必要がなくなり、出力時におけるパケットロス隠蔽処理の処理遅延を低減することができる。【０２３７】
なお、バッファサイズ変更部32は、無効パケットを挿入する場合、母音の音声を含む連続する２つのパケットの間に、無効パケットを挿入することが好ましい。これにより、挿入した無効パケットに対してパケットロス隠蔽処理を実行することで生成された音声が、前後のパケットに含まれる音声と連続的に繋げられ、音声劣化を低減させることができる。【０２３８】
図３５は、バッファサイズ変更部32による削除処理を示したフローチャートである。【０２３９】
まず、ステップS51において、バッファサイズ変更部32は、パケットの削除要求数が予め定められたパケット最大削除数(上限値)以下であるか否かを判定し、削除要求数が上限値以下である場合(ステップS51でYES)、削除カウント値DNを削除要求数に設定する(ステップS52)。一方、削除要求数が上限値より大きい場合(ステップS51でNO)、削除カウント値DNを上限値に設定する(ステップS53)。【０２４０】
次に、バッファサイズ変更部32は、ジッタバッファ30において、連続する有効パケットの最大連続数が２以上の場合(ステップS54で2以上)、最大連続数が削除カウント値DNの２倍以上であるか否かを判定する(ステップS55)。ここで、最大連続数が削除カウント値DNの２倍であるか否かを判定するのは、１つのパケットを削除する場合は、２つのパケットがオーバーラップ加算されるため、有効パケットが削除カウント値DNの２倍必要になるからである。【０２４１】
そして、バッファサイズ変更部32は、最大連続数が削除カウント値DNの２倍以上であると判定すると(ステップS55でYES)、オーバーラップ加算により削除カウント値DN分のパケットを削除し、削除カウント値DNから削除したパケット数を減じ、削除カウント値DNを更新する(ステップS58)。【０２４２】
一方、ステップS55において、最大連続数が削除カウント値DNの２倍未満である場合(ステップS55でNO)、バッファサイズ変更部32は、削除可能なパケットをオーバーラップ加算によって削除し、削除カウント値DNから削除したパケット数を減じ、削除カウント値DNを更新し(ステップS56)、処理をステップS54に戻す。【０２４３】
例えば、最大連続数が７、削除カウント値DN(=4)×2が８の場合、連続する７個の有効パケットのうち、６個の有効パケットを２個ずつオーバーラップ加算して、３個のパケットを削除する。そして、削除カウント値DNを、DN=1(=4-3)に更新する。【０２４４】
一方、ステップS54において、連続する有効パケットの最大連続数が１以下である場合(ステップS54で１以下)、無効パケットを削除し、削除カウント値DNから削除したパケット数を減じ、削除カウント値DNを更新する(ステップS57)。【０２４５】
例えば、削除カウント値DNが４、無効パケットの個数が３とすると、３個の無効パケットが削除され、DN=1(=4-3)に更新される。【０２４６】
ステップS59において、バッファサイズ変更部32は、削除カウント値DNが０となったか否かを判定し、削除カウント値DNが０である場合(ステップS59でYES)、処理を終了する。【０２４７】
一方、ステップS59において、バッファサイズ変更部32は、削除カウント値DNが０になっていない場合(ステップS59でNO)、有効パケットがあれば(ステップS60でYES)、有効パケットを削除して処理を終了する(ステップS61)。この場合、削除される有効パケットは他の有効パケットと連続していないため、オーバーラップ加算によらず、単純に削除される。一方、有効パケットが無ければ(ステップS60でNO)、そのまま処理が終了される。【０２４８】
図３６は、バッファサイズ変更部32による挿入処理を示したフローチャートである。【０２４９】
まず、ステップS71において、バッファサイズ変更部32は、パケットの挿入要求数が予め定められたパケット最大挿入数(上限値)以下であるか否かを判定し、削除要求数が最大挿入数以下である場合(ステップS71でYES)、挿入数を挿入要求数に設定する(ステップS72)。一方、挿入要求数が最大挿入数より大きい場合(ステップS71でNO)、挿入数を最大挿入数に設定する(ステップS73)。【０２５０】
次に、バッファサイズ変更部32は、ジッタバッファ30において、連続する有効パケットの最大連続数が０の場合(ステップS74で０)、ジッタバッファ30の先頭から挿入数分の無効パケットを挿入し(ステップS75)、処理を終了する。【０２５１】
また、バッファサイズ変更部32は、ジッタバッファ30において、連続する有効パケットの最大連続数が２以上の場合(ステップS74で２以上)、連続する有効パケットの区間の真ん中に挿入数分、無効パケットを挿入し(ステップS76)、処理を終了する。【０２５２】
また、バッファサイズ変更部32は、ジッタバッファ30において、連続する有効パケットの最大連続数が１の場合(ステップS74で１)、有効パケットの直後に挿入数分、無効パケットを挿入し(ステップS77)、処理を終了する。【０２５３】
このように、ジッタバッファ30から１つのパケットを削除する場合、有効パケットが２つ以上連続する区間の真ん中に位置する２つのパケットをオーバーラップ加算して１つのパケットを生成することにより１つのパケットを削除しているため、音声の品質劣化を低減させることができる。【０２５４】
また、ジッタバッファ30にパケットを挿入する場合、連続する２つの有効パケットが存在すれば、これら２つの有効パケットの間に無効パケットが挿入されるため、無効パケットは、２つの有効パケットの間に挟まれることになり、この無効パケットに対してパケットロス隠蔽処理を実行した場合、前後の有効パケットから無効パケットが隠蔽でき、音声の連続性が保たれ、音声を滑らかに再生することができる。【０２５５】
なお、揺らぎ吸収処理部JAの隠蔽処理部35が行うパケットロス隠蔽処理は、上述した音声データ欠落補償処理部VCによる音声データ欠落補償処理で代用することができる。【０２５６】
上述のように本実施形態の住戸機Ａでは、相手の通話端末がアナログ伝送方式の場合には通話処理部２が第１のソフトウェアを実行し、パケット伝送方式の場合には通話処理部２が第２のソフトウェアを実行することにより、それぞれの伝送方式に適した通話処理を選択的に実行することができる。その結果、回路構成の複雑化とコスト上昇を抑えつつ、信号幹線Ls経由の音声伝送にはパケット伝送方式を用いるとともに信号幹線Lsを経由しない宅内近傍の音声伝送にはアナログ伝送方式を用いることを可能とし且つ通話品質の向上を図ることができる。【０２５７】
（実施形態２）
以下、図３７、３８を参照して本発明の実施形態２を詳細に説明する。なお、明瞭のため同様の要素には実施形態１の集合住宅用インターホンシステムと同じ符号が割り当てられて説明を省略する。【０２５８】
上述した実施形態１における音声データ欠落補償処理及び話速変換処理は何れも音声のピッチを利用しているので、それぞれに音声のピッチを検出するピッチ検出処理を行う必要がある。しかしながら、音声データ欠落補償処理のプログラムと話速変換処理のプログラムがそれぞれピッチ検出処理のプログラム(プログラムモジュール)を装備すると、プログラムをロードするメモリを無駄に消費してしまうことになる。そこで本実施形態では、音声のピッチを検出するピッチ検出処理のプログラムを音声データ欠落補償処理並びに話速変換処理のプログラムから独立させ、音声データ欠落補償処理並びに話速変換処理においてピッチ検出処理で検出されるピッチを共用することに特徴があり、これにより、メモリの無駄な消費を抑えることができる。【０２５９】
以下、本実施形態の通話処理部２について説明する。なお、本実施形態の話速変換処理部SEは、話速変換処理以外の声質変換処理、音声区間検出処理、音声強調処理、話者判別処理、音声認識処理などを実行するものであっても構わない。【０２６０】
本実施形態の通話処理部２は、図３７に示すように音響側エコーキャンセラEC1、音声スイッチVS、音声データ欠落検出部１５、ピッチ検出部１６、音声データ欠落補償処理部VC、話速変換処理部SEを備えている。音声データ欠落検出部１５は、伝送処理部７から出力される音声データの欠落を検出するものであって、伝送処理部７のジッタバッファから出力される音声データが連続しない場合に音声データの欠落とみなして検出フラグを立てる。なお、音声データが欠落する原因としては、実施形態１で述べた通り伝送に伴うパケット損失や遅延及びジッタ(揺らぎ)などがある。【０２６１】
ピッチ検出部１６は、音声データ欠落検出部１５からの検出フラグと、ピッチ検出部１６内部のカウンタに基づいて、音声データ欠落補償処理部VCから出力される音声データ(欠落補償された音声データ又は欠落補償されていない音声データ。以下、同じ。)から音声のピッチを検出するものである。ピッチ検出の具体的な方法としては、例えば、フレーム長を変えつつ音声の自己相関を算出し、最も相関が高くなるフレーム長をその音声のピッチと推定する方式などを用いることが考えられる。音声データ欠落補償処理部VCは、音声データ欠落検出部１５で音声データの欠落が検出されたとき(検出フラグが立ったとき)にピッチ検出部１６で検出されるピッチに基づいて音声データの欠落を補償する。具体的には、音声データ欠落補償処理部VCではバッファに保持した過去の音声データから１ピッチ分の音声データを抽出して埋め合わせることで音声が途切れないようにしている。但し、音声データ欠落補償処理部VCは音声データに欠落がなければ、入力された音声データを欠落補償せずにそのまま出力する。【０２６２】
話速変換処理部SEは、音声データ欠落補償処理部VCから出力される音声データを伸長又は圧縮することで元の音声の話速を変換するものであって、例えば、PICOLA(Pointer Interval Controlled OverLap and Add)と呼ばれる従来周知の話速変換アルゴリズムに基づき、ピッチ単位で波形の挿入または削除を行うことによって話速を変換(速く又は遅く)している。なお、これらの各部は、DSP(Digital Signal Proccesor)に所定のプログラムを実行させることで実現される。【０２６３】
ここで、音声データ欠落補償処理部VCと話速変換処理部SEが個々にピッチ検出処理を行った場合、通話処理部２で音声データ欠落補償処理と話速変換処理が同時に実行されるときの処理負荷が増大してしまう。これに対して本実施形態の通話処理部２はピッチ検出部１６を１つしか備えておらず、音声データ欠落補償処理部VCと話速変換処理部SEの双方が共通のピッチ検出部１６で検出されるピッチを利用している。従って、音声データ欠落補償処理部VCと話速変換処理部SEの双方がピッチ検出部１６で検出されるピッチを共用することにより、音声データ欠落補償処理と話速変換処理を同時に実行する際の処理負荷(DSPにおけるプログラム処理の負荷)の増大を抑えることができる。【０２６４】
本実施形態におけるピッチ検出部１６は、図３８に示すように所定の検出周期Txをカウントするとともに検出周期Txに同期してピッチを繰り返し検出し、音声データ欠落検出部１５で音声データの欠落が検出されたときに音声データ欠落の検出時点t1でピッチを検出するとともに当該検出時点t1から検出周期Txのカウントを再開している。すなわち、ピッチ検出部１６が一定の検出周期Txに同期してピッチを繰り返し検出することにより、話速変換処理部SEが話速変換処理を実行する音声区間のピッチとピッチ検出部１６で検出されるピッチとの差異が減少するので、話速変換後の音声の品質を保つことができる。なお、音声が定常と見なし得る時間、例えば、10ミリ秒程度に検出周期Txを設定することが望ましい。【０２６５】
一方、音声データの欠落補償処理においては、話速変換処理に比べて長い区間を補償しなければならないため、より正確なピッチの検出が必要となる。したがって、音声データ欠落検出部１５で音声データの欠落が検出された場合、ピッチ検出部１６は検出周期Txに関係なく直ちにピッチを検出することにより、音声データ欠落補償処理部VCの音声データ欠落補償処理における品質を保つことができる。【０２６６】
ここで、ピッチ検出部１６は所定の周波数範囲のピッチのみを検出することが望ましい。すなわち、通常の音声通話における音声波形の周波数が百数十ヘルツから千数百ヘルツの周波数範囲内に収まっているので、当該周波数範囲のピッチのみを検出すれば、不要な周波数範囲のピッチ検出を行わないことで処理負荷を軽減することができる。【０２６７】
また話速変換処理部SEは、音声データの音声区間を検出し、当該音声区間の音声データのみを話速変換することが望ましい。すなわち、音声区間以外の区間(例えば、無音区間)で話速変換処理を行わないことにより、話速変換処理における処理負荷を軽減することができる。【０２６８】
（実施形態３）
以下、図３９Ａ〜４２を参照して本発明の実施形態３を詳細に説明する。なお、明瞭のため同様の要素には実施形態２の集合住宅用インターホンシステムと同じ符号が割り当てられて説明を省略する。【０２６９】
本実施形態における音声データ欠落検出部１５は、１パケット分の音声データの時間長τを正の整数ｍで除した第１の時間間隔T1(=τ/m)と音声データの入力タイミングに同期して音声データの欠落を検出している。また本実施形態におけるピッチ検出部１６は、第１の時間間隔T1を正の整数ｎ倍した検出周期Tx(=n×τ/m)と第１の時間間隔T1に同期してピッチを検出している。【０２７０】
ここで、m=n=4とした場合の音声データ欠落検出処理とピッチ検出処理の実行タイミングについて、図３９Ａ及び３９Ｂを参照して説明する。音声データ欠落検出部１５並びにピッチ検出部１６は、図３９Ａに示すようにτ／４時間毎に音声データ欠落検出処理、ピッチ検出処理をそれぞれ実行している。そして、図３９Ｂに示すように時刻t=t0の時点で話速変換処理の開始が指示されたとすると、話速変換処理部SEは当該時点(時刻t=t0)の直前にピッチ検出部１６で検出された最新のピッチを利用して話速変換処理を実行する。【０２７１】
このように音声データの欠落検出処理が実行されるタイミングとピッチ検出処理が実行されるタイミングを同期させておけば、ピッチ検出部１６でピッチ検出処理を実行するタイミングの制御が簡便になるという利点がある。【０２７２】
また、図４０に示すように話速変換処理の開始が指示された時点(時刻t=t0)で音声データの欠落が検出されていた場合、話速変換処理部SEが、音声データの欠落が検出される直前にピッチ検出部１６で検出されたピッチを用いて話速変換を行えば、話速変換処理による音声の品質劣化を抑えることができる。【０２７３】
あるいは、図４１に示すように話速変換処理の開始が指示された時点(時刻t=t0)で音声データの欠落が検出されていた場合、話速変換処理部SEが、音声データ欠落補償処理部VCで補償された音声データからピッチ検出部１６で検出されたピッチを用いて話速変換を行うようにしても構わない。このようにすれば、音声データが欠落しているときに話速変換処理を開始する場合においても、ピッチ検出部１６が一定の検出周期Txでピッチ検出処理を実行すればよいので、ピッチ検出部１６でピッチ検出処理を実行するタイミングの制御が簡便になるという利点がある。【０２７４】
ここで、本実施形態の住戸機Ａが音声データ欠落補償処理部VCから出力される音声データを録音することができる録音部（図示せず）を有しており、録音音声データに対して話速変換処理部SEで話速変換処理を実施する場合を考える。録音再生の場合においては、音声区間のみならず非音声区間に対しても話速変換処理を行った方がより聞き取りやすさが向上する。一方、通常通話時において非音声区間に対しても話速変換処理を行なうと話速変換処理による遅延が大きくなり自然な通話の妨げとなる。このように非音声区間に対しても話速変換処理を行なう場合、図４２に示すように音声区間における検出周期Tx1よりも非音声区間における検出周期Tx2を長くする(Tx1＜Tx2)ことが望ましい。これにより、音声区間においては相対的に短い検出周期Tx1でピッチ検出が行われるために話速変換処理の品質を確保し、非音声区間においては相対的に長い検出周期Tx2でピッチ検出が行われるために処理負荷を軽減することができる。【０２７５】
本発明を幾つかの好ましい実施形態について記述したが、この発明の本来の精神および範囲、即ち請求の範囲を逸脱することなく、当業者によって様々な修正および変形が可能である。
【図１】
0005544012.tif 000003
【図２】
0005544012.tif 000004
【図３】
0005544012.tif 000005
【図４】
0005544012.tif 000006
【図５】
0005544012.tif 000007
【図６】
0005544012.tif 000008
【図７】
0005544012.tif 000009
【図８】
0005544012.tif 000010
【図９】
0005544012.tif 000011
【図１０】
0005544012.tif 000012
【図１１】
0005544012.tif 000013
【図１２】
0005544012.tif 000014
【図１３】
0005544012.tif 000015
【図１４】
0005544012.tif 000016
【図１５】
0005544012.tif 000017
【図１６】
0005544012.tif 000018
【図１７】
0005544012.tif 000019
【図１８】
0005544012.tif 000020
【図１９】
0005544012.tif 000021
【図２０】
0005544012.tif 000022
【図２１】
0005544012.tif 000023
【図２２】
0005544012.tif 000024
【図２３】
0005544012.tif 000025
【図２４】
0005544012.tif 000026
【図２５】
0005544012.tif 000027
【図２６】
0005544012.tif 000028
【図２７】
0005544012.tif 000029
【図２８】
0005544012.tif 000030
【図２９】
0005544012.tif 000031
【図３０】
0005544012.tif 000032
【図３１】
0005544012.tif 000033
【図３２】
0005544012.tif 000034
【図３３】
0005544012.tif 000035
【図３４】
0005544012.tif 000036
【図３５】
0005544012.tif 000037
【図３６】
0005544012.tif 000038
【図３７】
0005544012.tif 000039
【図３８】
0005544012.tif 000040
【図３９】
0005544012.tif 000041
【図４０】
0005544012.tif 000042
【図４１】
0005544012.tif 000043
【図４２】
0005544012.tif 000044