(57)【特許請求の範囲】
【請求項１】
幹線を介して集合住宅内の通話装置に接続されるとともに公衆電話網の局線を介して集合住宅外の外部通話装置に接続され、前記通話装置と前記外部通話装置との間で相互に音響信号を転送してなり、前記外部通話装置から送信されてくる音響信号の音量レベルを、前記通話装置から送信されてくる音響信号の音量レベルに近付けるように補正する音量補正手段を備え、
前記音量補正手段は、前記音響信号の信号レベルを調整して出力する信号出力部と、前記音響信号の信号レベルの短時間平均値及び長時間平均値を算出する時間平均値算出部と、前記短時間平均値又は前記長時間平均値に応じて前記信号出力部の調整量を設定する設定部とを備え、当該設定部は、前記音響信号の信号レベル上昇中は前記短時間平均値に応じて前記調整量を設定し、前記音響信号の信号レベル下降中は前記長時間平均値に応じて前記調整量を設定することを特徴とする集合住宅用インターホンシステムの外線転送装置。
【請求項２】
前記局線を介して生じる回線エコーを抑圧するエコーキャンセラを備えることを特徴とする請求項１記載の集合住宅用インターホンシステムの外線転送装置。
【請求項３】
前記音響信号に含まれる音声以外の雑音を抑制する雑音抑制部を備えることを特徴とする請求項１又は２記載の集合住宅用インターホンシステムの外線転送装置。
【請求項４】
前記幹線を介して前記通話装置との間でディジタルの音響信号をパケット伝送する伝送処理部と、当該伝送処理部における伝送遅延の揺らぎを吸収する揺らぎ吸収部とを備えることを特徴とする請求項１〜３の何れか１項に記載の集合住宅用インターホンシステムの外線転送装置。
【請求項５】
前記幹線を介して前記通話装置との間でディジタルの音響信号をパケット伝送する伝送処理部と、当該伝送処理部で受信した前記音響パケットに含まれている音響データの全部又は一部が欠落した場合、欠落していない音響データを利用して、欠落した前記音響データの全部又は一部を補償する音響データ欠落補償部とを備えることを特徴とする請求項１〜４の何れか１項に記載の集合住宅用インターホンシステムの外線転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集合住宅用インターホンシステムに用いられ、システム内の通話装置と、公衆電話網に接続される外部の通話装置との間で音声を転送する外線転送装置に関する。
【背景技術】
【０００２】
従来、各住戸に設置される住戸機と、共用玄関に設置される共用部装置(ロビーインターホン)と、管理室に設置される管理室通話装置と、複数の住戸機が分岐接続される幹線を介して共用部装置及び管理室通話装置と各住戸機との間で通話音声を伝送させる幹線制御装置とを備える集合住宅用インターホンシステムが提供されている。そして、このような集合住宅用インターホンシステムにおいて、システム内の通話装置(住戸機や管理室通話装置など)と、公衆電話網に接続される外部の通話装置(固定電話機や携帯電話機など)との間で音声を転送する外線転送装置を備えるものもある(例えば、特許文献１参照)。例えば、管理人の不在中に住戸機から管理室通話装置が呼び出された場合、外線転送装置が住戸機からの呼出を管理人の携帯電話機に転送し、住戸機と携帯電話機との間で外線転送装置が通話音声を相互に転送する。これにより、住戸の住人と管理人とが住戸機と携帯電話機を用いて通話することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−１２５０５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、外部通話装置から伝送されてくる音声(音声信号)の音量レベルは、外部通話装置の種類(固定電話機や携帯電話機)や製造元(メーカ)あるいは機種によって大きくばらついている。また、アナログ電話回線網を介して通話する場合には、網内における伝送ロスのばらつきも問題となる。そのため、システム内の通話装置のスピーカから鳴動される音声の音量もばらついてしまい、通話品質の低下を招く虞があった。
【０００５】
本発明は、上記課題に鑑みて為されたものであり、通話音声の音量のばらつきを抑えることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の集合住宅用インターホンシステムの外線転送装置は、幹線を介して集合住宅内の通話装置に接続されるとともに公衆電話網の局線を介して集合住宅外の外部通話装置に接続され、前記通話装置と前記外部通話装置との間で相互に音響信号を転送してなり、前記外部通話装置から送信されてくる音響信号の音量レベルを、前記通話装置から送信されてくる音響信号の音量レベルに近付けるように補正する音量補正手段を備え、前記音量補正手段は、前記音響信号の信号レベルを調整して出力する信号出力部と、前記音響信号の信号レベルの短時間平均値及び長時間平均値を算出する時間平均値算出部と、前記短時間平均値又は前記長時間平均値に応じて前記信号出力部の調整量を設定する設定部とを備え、当該設定部は、前記音響信号の信号レベル上昇中は前記短時間平均値に応じて前記調整量を設定し、前記音響信号の信号レベル下降中は前記長時間平均値に応じて前記調整量を設定することを特徴とする。
【０００８】
この外線転送装置において、前記局線を介して生じる回線エコーを抑圧するエコーキャンセラを備えることが好ましい。
【０００９】
この外線転送装置において、前記音響信号に含まれる音声以外の雑音を抑制する雑音抑制部を備えることが好ましい。
【００１０】
この外線転送装置において、前記幹線を介して前記通話装置との間でディジタルの音響信号をパケット伝送する伝送処理部と、当該伝送処理部における伝送遅延の揺らぎを吸収する揺らぎ吸収部とを備えることが好ましい。
【００１１】
この外線転送装置において、前記幹線を介して前記通話装置との間でディジタルの音響信号をパケット伝送する伝送処理部と、当該伝送処理部で受信した前記音響パケットに含まれている音響データの全部又は一部が欠落した場合、欠落していない音響データを利用して、欠落した前記音響データの全部又は一部を補償する音響データ欠落補償部とを備えることが好ましい。
【発明の効果】
【００１２】
本発明の集合住宅用インターホンシステムの外線転送装置は、通話音声の音量のばらつきを抑えることができるという効果がある。
【図面の簡単な説明】
【００１３】
【図１】本発明に係る外線転送装置の実施形態１の要部を示すブロック図である。
【図２】同上の外線転送装置を含む集合住宅用インターホンシステムのシステム構成図である。
【図３】同上における設定部の動作を説明するための説明図である。
【図４】(ａ)は音響信号の波形図、(ｂ)は音響信号を入力信号としたときの短時間平均値の包絡線及び選択部から出力される時間平均値の包絡線を示す波形図である。
【図５】同上における設定部の動作を説明するための説明図である。
【図６】同上における設定部の動作を説明するための説明図である。
【図７】同上における設定部の動作を説明するための説明図である。
【図８】別の実施形態を示すブロック図である。
【図９】さらに別の実施形態を示すブロック図である。
【図１０】本発明に係る外線転送装置の実施形態２の要部を示すブロック図である。
【図１１】同上における音声データ欠落補償処理部を示すブロック図である。
【図１２】同上における音声データ欠落補償処理の基本原理を説明するための音声信号(受話音声信号)の波形図である。
【図１３】同上におけるテンプレート設定部及びピッチ検出部の処理を説明するための受話音声信号の波形図である。
【図１４】従来のテンプレートを用いたときのテンプレートと受話音声信号との相関値の演算結果を示したグラフである。
【図１５】同上におけるテンプレート設定部及びピッチ検出部の処理を説明する図である。
【図１６】同上における相関値を示すグラフである。
【図１７】同上における音声データ欠落補償処理を示すフローチャートである。
【図１８】同上における揺らぎ吸収処理部を示すブロック図である。
【図１９】同上におけるカウント部によるパケットカウント値の算出処理の説明図である。
【図２０】同上におけるジッタバッファの役割を説明するための図である。
【図２１】伝送遅延と発生頻度との関係を示す伝送遅延特性の一例を示す図である。
【図２２】同上におけるジッタバッファの最適なバッファサイズを説明するための図である。
【図２３】同上における揺らぎ吸収処理を示すフローチャートである。
【図２４】同上におけるパケットカウント値の算出処理の詳細を示すフローチャートである。
【図２５】同上におけるパケットカウント値と、パケットカウント値の算出時刻との関係を示したグラフである。
【図２６】（ａ）はバッファサイズ変更部によるパケット挿入時の処理を示した模式図であり、（ｂ）はバッファサイズ変更部によるパケット削除時の処理を示した模式図である。
【図２７】同上におけるパケットカウント値の別の算出手法の説明図である。
【図２８】同上におけるパケットカウント値の別の算出処理を示すフローチャートである。
【図２９】同上におけるスパイク遅延の有無の判定処理を説明するためのグラフである。
【図３０】同上におけるスパイク遅延が発生している場合のパケットカウント値とインデックスとの関係を示すグラフである。
【図３１】同上におけるカウント部の処理を説明する図である。
【図３２】バッファサイズ変更部がオーバーラップ加算により１つのパケットを削除する処理の説明図である。
【図３３】バッファサイズ変更部が１つの無効パケットを削除する処理の説明図である。
【図３４】バッファサイズ変更部がオーバーラップ加算により１つのパケットを挿入する処理の説明図である。
【図３５】ジッタバッファに５つのパケットを一度に挿入する場合の処理を説明するための図である。
【図３６】無効パケットを削除した後に、削除した無効パケットに対応する有効パケットを受信した場合の処理を説明する図である。
【図３７】バッファサイズ変更部が無効パケットに代えて隠蔽処理されたパケットをジッタバッファに挿入させる場合の処理を説明する図である。
【図３８】バッファサイズ変更部による削除処理を示したフローチャートである。
【図３９】バッファサイズ変更部による挿入処理を示したフローチャートである。
【図４０】本発明に係る外線転送装置の実施形態３の要部を示すブロック図である。
【発明を実施するための形態】
【００１４】
(実施形態１)
図２は、本実施形態の外線転送装置Ｅを含む集合住宅用インターホンシステムのシステム構成例を示している。この集合住宅用インターホンシステムは、集合住宅の各住戸に設置される複数台(図示は１台のみ)の住戸通話装置Ａ、集合住宅の共用玄関に設置される共用部通話装置(図示せず)、幹線制御装置Ｂ、管理室通話装置Ｃなどで構成されている。
【００１５】
各住戸通話装置Ａは、住戸別線L2並びに分岐器Ｄを介して幹線L1に分岐接続されている。幹線L1は幹線制御装置Ｂに接続され、この幹線L1に複数(図示は１つのみ)の分岐器Ｄが設けられている。また、幹線制御装置Ｂには信号線L3を介して管理室通話装置Ｃが接続されている。管理室通話装置Ｃは集合住宅の管理室に設置されており、管理人が各住戸の住人と通話する際に使用される。
【００１６】
本実施形態における集合住宅用インターホンシステムでは、ディジタル変調された音声情報(音声データ)、映像情報(映像データ)、制御情報(制御データ)が伝送路(幹線L1，住戸別線L2，信号線L3，L4)を介してパケット伝送される。例えば、共用部通話装置(ロビーインターホン)では、来訪者がテンキースイッチ又はタッチパネルを操作して何れかの住戸の住戸番号の操作入力を受け付けると、データフィールドに当該住戸番号を格納したパケット、並びに撮像装置で撮像した来訪者の映像(映像データ)をデータフィールドに格納したパケットを信号線を介して幹線制御装置Ｂのアドレス宛に送信(パケット伝送)する。幹線制御装置Ｂは、ロビーインターホンからの呼出を通知するための呼出コマンドをデータフィールドに格納した制御パケット並びに前記映像データをデータフィールドに格納した映像パケットを幹線L1に送出する。前記住戸番号の住戸に設置されている住戸通話装置Ａでは、幹線L1及び住戸別線L2を介して制御パケット及び映像パケットを受信すると、制御パケットのデータフィールドに格納されている呼出コマンド(制御信号)に応じてスピーカから呼出音を鳴動させる。また、映像パケットのデータフィールドに格納されている映像データを処理して液晶ディスプレイなどの表示デバイスに来訪者の映像を表示させる。そして、呼出音を聞いた住人が住戸通話装置Ａの応答釦(図示せず)を操作すると、マイクロホンから出力される音声信号(送話音声信号)が住戸別線L2を介してパケット伝送される。同様に、ロビーインターホンにおいてもマイクロホンから出力される音声信号(送話音声信号)が幹線制御装置Ｂを経由して住戸通話装置Ａにパケット伝送される。その結果、住戸の住人と来訪者が住戸通話装置Ａ及びロビーインターホンを用いてインターホン通話することができる。
【００１７】
また、住戸通話装置Ａから管理室通話装置Ｃを呼び出し、住人と管理人が住戸通話装置Ａ及び管理室通話装置Ｃを用いて通話することもできる。この場合、住戸通話装置Ａから管理室通話装置Ｃを呼び出すための制御データを含むパケットが送信され、当該パケットが幹線制御装置Ｂを経由して管理室通話装置Ｃに伝送される。そして、管理室通話装置Ｃの送受話器(ハンドセット)がオフフック(あるいは通話釦が操作)されると、ロビーインターホンの場合と同様に住戸通話装置Ａと管理室通話装置Ｃとの間で音声データが相互にパケット伝送される。但し、上述した住戸通話装置Ａ、幹線制御装置Ｂ、ロビーインターホン、管理室通話装置Ｃは従来周知の技術を利用して実現可能であるから、詳細な構成の図示並びに説明は省略する。
【００１８】
ここで、管理人の留守中に住戸通話装置Ａから管理室通話装置Ｃに呼出があった場合、管理人が所持する携帯電話機や管理会社の受付センターに住戸通話装置Ａの呼出が転送され、転送先の携帯電話機や受付センターの電話機(以下、これらを外部通話装置Ｆと呼ぶ。)と住戸通話装置Ａとの間で音声を伝送して通話可能とすることが望ましい。そのために本実施形態における集合住宅用インターホンシステムでは、住戸通話装置Ａと外部通話装置Ｆとの間で音声を相互に転送する外線転送装置Ｅを備えている。
【００１９】
外線転送装置Ｅは、図１に示すように自動音量補正部１、伝送処理部２、２線４線変換部３、受話アンプ４、送話アンプ５、A/D変換器６、D/A変換器７などを備える。伝送処理部２は信号線L4を介して幹線制御装置Ｂに接続されており、幹線制御装置Ｂを経由して住戸通話装置Ａとの間でパケット伝送を行う。
【００２０】
伝送処理部２は、自動音量補正部１から出力される音声信号(受話音声データ)を分割してパケットを作成し、当該パケット(音声パケット)を符号化するとともに符号化されたビット列を電気信号に変換(変調)して信号線L4に送出する。また伝送処理部２は、信号線L4に伝送される電気信号をビット列に変換(復調)し、復調されたビット列から音声パケットを復号化するとともに復号化された音声信号(送話音声データ)をD/A変換器７に出力する。そして、D/A変換器７でアナログ信号に変換された音声信号が送話アンプ５で増幅された後に２線４線変換部３に出力される。２線４線変換部３は局線(電話線)Lxによって公衆電話網Ｎに接続されており、送話アンプ５で増幅された音声信号(送話音声信号)を電話線Lxに送出するとともに、電話線Lxを伝送されてくる音声信号(受話音声信号)を受話アンプ４へ出力する。受話アンプ４で増幅された受話音声信号は、A/D変換器６でディジタル信号(受話音声データ)に変換されて自動音量補正部１に入力される。
【００２１】
自動音量補正部１は、ディジタル・シグナル・プロセッサ(DSP)またはマイクロコンピュータ(CPU)で専用のソフトウェアを実行することによって実現される、信号出力部10、時間平均値算出部11、設定部12、選択部13、雑音検出部14を有している。但し、これらの各部10〜14が独立した回路部品で構成されても構わない。また、以下の説明では音声信号、及び音声以外の音を含む信号を総称して音響信号と呼ぶ。
【００２２】
信号出力部10は、A/D変換器６から出力される音響信号(音響データ)の信号レベルを調整して伝送処理部２に出力する。ここで、「信号レベル」とは音響データにおいて音量(音の大きさ)を示すデータであり、信号出力部10では、後述するように設定部12が設定する調整量に応じて前記データを変更することによって信号レベルを調整する。なお、以下の説明では「調整量」を「利得」と呼び、「利得」が大きいほど、信号レベルが高く(音量が大きく)なるものとする。
【００２３】
時間平均値算出部11は、入力信号(A/D変換器６から出力される音響信号。以下、同じ。)の比較的長い時間における時間平均値(長時間平均値PL)と、入力信号の比較的短い時間における時間平均値(短時間平均値PS)と、長時間平均値PLと短時間平均値PSの中間の時間における時間平均値(中時間平均値Pn)とを算出する。ここで、時間平均値算出部11では、例えば16ミリ秒程度の短い時間(バッファ時間)に入力された入力信号を記憶し、バッファ時間分の入力信号レベルの算術平均値を短時間平均値PSとし、バッファ時間の定倍(例えば、16倍)の入力信号レベルの算術平均値を長時間平均値PLとし、バッファ時間の数倍(例えば、７〜８倍)の入力信号レベルの算術平均値を中時間平均値Pnとしている。但し、時間平均値算出部11は、短時間平均値PSの変化の傾きが音響信号波形(図４(ａ)参照)の上昇時における包絡線の傾きに略一致するように短時間平均値PSを算出するときの時間幅を設定することが好ましい。同様に、時間平均値算出部11は、長時間平均値PLの変化の傾きが音響信号波形の下降時における包絡線の傾きに略一致するように長時間平均値PLを算出するときの時間幅を設定することが好ましい。
【００２４】
選択部13は、時間平均値算出部11で算出される長時間平均値PLと短時間平均値PSとを比較し、PS≧PLのときは短時間平均値PSを選択し、PS＜PLのときは長時間平均値PLを選択して設定部12に出力する。
【００２５】
一般に、短時間平均値は主に入力信号(音響信号)に含まれる音声成分によってそのレベルが決まると考えられ、中時間平均値は主に入力信号に含まれる雑音成分(音声以外の音成分)によってそのレベルが決まると考えられる。故に雑音検出部14では、時間平均値算出部11で算出される短時間平均値PSと中時間平均値Pnとの比PS/Pnが１以上(PS/Pn≧１)であれば雑音が少ない(S/N比が高い)と検出(推定)し、比PS/Pnが１未満(PS/Pn＜１)であれば雑音が多い(S/N比が低い)と検出(推定)する。そして、雑音検出部14は、雑音が少ないと検出すれば「１」を、雑音が多いと検出すれば「０」を、それぞれ設定部12に出力する。
【００２６】
設定部12は、選択部13から出力される時間平均値(長時間平均値PL又は短時間平均値PS)に応じて、３段階の利得G1，G2，G3(G1＞G2＞G3)のいずれかを信号レベルの調整量に設定して信号出力部10に出力する。そして、信号出力部10では入力信号の信号レベルに設定部12で設定される利得を乗じることにより、信号レベルが調整された音響信号を伝送処理部２に出力する。
【００２７】
図３は、自動音量補正部１における音量補正特性を示しており、横軸が入力信号の信号レベル、縦軸が音量補正後の出力信号の信号レベルを表している。設定部12は、図３に示すように入力信号の信号レベルがしきい値Th1以下のときは利得をG1に設定して音量を増大させ、入力信号の信号レベルがしきい値Th1よりも大きく且つしきい値Th2(＞Th1)以下のときは利得をG2に設定して音量をほとんど調整しない。また、入力信号の信号レベルがしきい値Th2よりも大きいとき、設定部12は、利得をG3(=0)に設定して音量を減少させる。ここで、自動音量補正部１は、外部通話装置Ｆから送信されてくる音響信号の音量レベル(出力信号の信号レベル)を、システム内の通話装置(例えば、管理室通話装置Ｃ)から送信されてくる音響信号の音量レベルに近付けるように補正している。例えば、管理室通話装置Ｃのマイクロホンから標準音量で入力されて信号線L3に送出される音響信号の音量レベルをLYとし、外線転送装置Ｅから信号線L4に送出される音響信号の音量レベルをLXとしたとき、自動音量補正部１では、LX≒LYとなるように利得G1，G2，G3の値が設定されている。
【００２８】
したがって、相手の通話装置が管理室通話装置Ｃと外部通話装置Ｆの何れであっても、住戸通話装置Ａのスピーカから鳴動される通話音声の音量が常に同程度になるので、外部通話装置の種類(固定電話機や携帯電話機)や製造元(メーカ)あるいは機種による通話音声の音量のばらつきを抑えることができる。
【００２９】
図４(ａ)は実際の音響信号の波形を示し、同図(ｂ)は同図(ａ)の音響信号を入力信号としたときの短時間平均値PSの包絡線(実線X1)及び選択部13から出力される時間平均値f(PL,PS)の包絡線(実線X2)を示している。例えば、図４(ｂ)に実線X1で示した短時間平均値PSに応じて利得(調整量)が設定されると、信号レベルの急激な変化に短時間で追従して利得が次々と変化するため、音響信号が抑揚(音量が増減)してしまう虞がある。反対に、短時間平均値PSに応じて利得(調整量)が設定されると、音響信号の抑揚は抑えられるものの、信号レベルの急激な立ち上がりを抑制できずに音量が大きくなり過ぎてしまう虞がある。
【００３０】
一方、本実施形態においては、入力信号の信号レベル上昇中は選択部13で選択される短時間平均値PSに応じて設定部12が利得を設定し、入力信号の信号レベル下降中は選択部13で選択される長時間平均値PLに応じて設定部12が利得を設定するので、利得の変動幅を少なくして音響信号の抑揚を低減するとともに音量のピークを適正な範囲内に収めることができる。つまり、本実施形態における自動音量補正部１によれば、音響信号の抑揚を抑えて聞き取り易い音量に自動的に補正することができる。
【００３１】
ところで、信号レベルの上昇時と下降時とで設定部12が利得Gi(i=1,2,3)の設定を変える条件(しきい値Th1，Th2)が同じであると、信号レベルがしきい値Th1，Th2の近辺で変動した場合に利得Giが頻繁に変更されることで音量が増減する可能性がある。そこで、設定部12では、しきい値Th1，Th2にヒステリシスを持たせ、信号レベルの上昇時と下降時とでしきい値Th11，Th12，Th21，Th22を異ならせることが好ましい。例えば、図５に示すように信号レベルの下降時におけるしきい値Th12，Th22を、信号レベルの上昇時におけるしきい値Th11，Th21よりも小さく(低く)すればよい。このようにすれば、信号レベルがしきい値の近辺で変動した場合でも音量の急激な増減(音響信号の抑揚)を抑えることができる。
【００３２】
ここで、信号レベルの下降中には長時間平均値PLに応じて利得が調整されるのであるが、長時間平均値PLの算出時間よりも遙かに短い時間で利得がG2からG1に変更されると、音量が必要以上に増大されて音響信号が抑揚してしまう虞がある。そこで、設定部12が信号レベルを増大する向きに利得を変える際、図６に示すように緩やかに利得を変化させれば、音量が必要以上に増大されて音響信号が抑揚してしまうことが防止できる。
【００３３】
一方、信号レベルの上昇中には短時間平均値PSに応じて利得が調整されるため、短時間平均値PSの算出時間よりも長い時間をかけて利得がG2からG3へゆっくりと変更されると、音量の増減に追随できずに音響信号を抑揚させてしまう虞がある。そこで、設定部12が信号レベルを減少する向きに利得を変える際、図７に示すように急速に利得を変化させれば、音量の増減に追随できずに音響信号を抑揚させてしまうことが防止できる。
【００３４】
ところで、入力信号の信号レベルが調整されると当該入力信号に含まれる雑音成分(周囲騒音)の信号レベルも同時に調整されるので、目的とする音声が周囲騒音に邪魔されて聴き取り難くなってしまう可能性がある。そこで本実施形態では、雑音検出部14で雑音が多いと推定されているときは設定部12が利得の設定を行わずに入力信号をそのまま出力(スルー)させ、雑音検出部14で雑音が少ないと推定されているときにだけ、設定部12が利得の設定を行うようにしている。つまり、設定部12は雑音検出部14の出力信号が「０」のときは利得の設定を行わず、雑音検出部14の出力信号が「１」のときにだけ利得の設定を行っている。これにより、目的とする音声が周囲騒音に邪魔されて聴き取り難くなってしまうという音量補正の弊害を抑制することができる。
【００３５】
ここで、図８に示すように、入力信号に含まれる音声以外の雑音(周囲騒音)を抑制する雑音抑制部(ノイズサプレッサ)15を設けてもよい。ノイズサプレッサ15は従来周知であって、通話音声と周囲騒音とが混在する入力信号から周囲騒音の信号成分のみを抑圧して出力するものである。したがって、ノイズサプレッサ15が入力信号から周囲騒音の信号成分のみを抑圧することにより、後段の自動音量補正部１における音声信号レベル算出などの演算精度の向上およびS/N比改善による音質の向上が図れる。
【００３６】
さらに、図９に示すように電話線Lxを介して生じる回線エコーを抑圧するエコーキャンセラ８を設けてもよい。このエコーキャンセラ８は適応フィルタ80と減算器81からなる従来周知の構成を有している。適応フィルタ80は、インピーダンスの不整合による反射及び外部通話装置Ｆにおけるスピーカ−マイクロホン間の音響結合とにより形成される帰還経路(回線エコー経路)のインパルス応答を適応的に同定する。そして、減算器81は、適応フィルタ80によって推定されるエコー成分(回線エコー)を受話音声信号から減算する。
【００３７】
(実施形態２)
本実施形態の外線転送装置Ｅは、図10に示すように音声データ欠落補償処理部VCと揺らぎ吸収処理部JAを備える点に特徴がある。但し、その他の構成については、図９に示した実施形態１の構成と共通であるから、共通の構成要素には同一の符号を付して図示並びに説明を適宜省略する。
【００３８】
図12は、音声データ欠落補償処理(以下、「補償処理」と略す。)の基本原理を説明するための音声信号の波形図である。図12において縦軸は伝送処理部２から出力される受話音声信号の強度を示し、横軸は時間を示している。音声パケットの受信に失敗し、パケットロス(音声データの欠落)が発生すると、音声データ欠落補償処理部VCは、パケットロスが発生する直前の所定期間の受話音声信号を基準信号(テンプレート)として設定する。
【００３９】
次に、このテンプレートを受話音声信号に対してパケットロスが発生した時点から過去に向けてスライドさせるとともに、テンプレートと受話音声信号との相関演算を実行し、パケットロスが発生する直前の受話音声信号の基本周期(ピッチ)を検出する。そして、パケットロスが発生してから過去に遡って、１ピッチ分の受話音声信号を取り出し、その受話音声信号をロス期間に繰り返し当てはめることでロス期間(音声データが欠落している期間。以下、同じ。)を補償する。ここで、１ピッチ分の受話音声信号でロス期間を補償するのは、話者が例えば「あ」という音声を発した場合、この「あ」の音声は、20msec程度に区切られて(パケット化されて)１つの音声パケットにのせて送信されるため、ロス期間ではパケットロスが発生する直前の１ピッチ分の受話音声信号が繰り返されている可能性が高いからである。
【００４０】
音声データ欠落補償処理部VCは、図11に示すように遅延揺らぎ吸収バッファ(ジッタバッファ)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ａにより設定されたテンプレートを受話音声データに対してロス発生時点から過去に向けてスライドさせ、テンプレートと受話音声データとの相互相関を求め、テンプレートと受話音声データとの相関ピークが最も強く現れたときのスライド量からロス発生時点の直前の受話音声信号のピッチを検出する。
【００４７】
図13は、テンプレート設定部23ａ及びピッチ検出部23bの処理を説明するための受話音声信号の波形図である。なお、図13に示す縦軸は受話音声信号の強度を示し、横軸は時間をサンプル数で示したものである。また、図13に示すテンプレートTJは従来の補償処理に使用されていたテンプレートを示している。
【００４８】
パケットロスが発生すると、従来では、例えば、ロス発生時点RTから過去の所定期間分の受話音声信号をテンプレートTJとして設定する。そして、このテンプレートTJを受話音声信号に対してロス発生時点RTから過去に向けてスライドさせることで、受話音声信号とテンプレートTJの相互相関を求め、最も強い相関ピークが得られたときのテンプレートTJのスライド量から受話音声信号のピッチを検出していた。
【００４９】
図14は、従来のテンプレートTJを用いたときのテンプレートTJと受話音声信号との相関値の演算結果を示したグラフである。なお、図14においては、従来周知である平均振幅差関数(Average Magnitude Difference Function)を用いて相関値が算出されている。また、図14において、縦軸は相関値を示し、横軸はロス発生時点RTを０としたときの時間をサンプル数で示したものである。また、図14はAMDFによる相関値であるため、値が小さいほど受話音声信号とテンプレートTJとの相関が強い。
【００５０】
図14では、まず、37サンプルの時点で下に凸の相関ピークPK1が現れ、次に、47サンプルの時点で下に凸の相関ピークPK2が現れ、以後、およそ37サンプルの周期で下に凸の相関ピークが繰り返し現れている。そして、相関ピークPK1の方が相関ピークPK2よりも小さく現れている。そのため、従来の手法では37サンプルが受話音声信号のピッチとして検出されてしまう。
【００５１】
一方、図13に示すようにロス発生時点RTの直前の受話音声信号のピッチは、47サンプルである。そのため、従来の手法では、ロス発生時点RTの直前の受話音声信号のピッチが精度良く検出されていないことが分かる。
【００５２】
これは、テンプレートTJの時間幅が47サンプルより遙かに大きく、テンプレートTJには検出対象となるピッチが47サンプルの受話音声信号は１周期分しか含まれていないが、検出対象でないピッチが37サンプルの受話音声信号は３周期分も含まれているため、37サンプルで強い相関ピークが現れたことが原因と考えられる。
【００５３】
この場合、ロス発生時点RTから過去に遡って37サンプル分の受話音声信号を取り出し、この受話音声信号をロス期間に繰り返し当てはめることで、補償処理が行われる。
【００５４】
そのため、ロス期間の波形とロス期間以外の波形とを滑らかに繋ぐことが困難となり、補償処理を精度良く行うことが困難となってしまう。
【００５５】
一方、テンプレートの時間幅が47サンプルより小さい場合、47サンプルのピッチを検出することはできない。
【００５６】
そこで、本実施形態における検出処理部23では、図13に示すようにテンプレートTMのスライド量を増大するにつれて、テンプレートTMの時間幅を増大している。
【００５７】
そのため、例えば図13の３段目に示すテンプレートTMのように、ある程度テンプレートTMをスライドさせたとき、そのテンプレートには、ほぼ検出対象となる47サンプルの受話音声信号のみが含まれるようになる。一方、図13の４段目のテンプレートTMにおいては、ピッチが47サンプルの受話音声信号に加えて、ピッチが37サンプルの受話音声信号も含まれている。そのため、３段目のテンプレートTMと受話音声信号との相関の方が、４段目のテンプレートTMと受話音声信号との相関よりも強く表れ、ロス発生時点RTの直前の受話音声信号のピッチを精度良く検出することが可能となる。
【００５８】
ここで、ピッチ検出部23bは、相関演算として、例えば式（１）に示すAMDFを採用することが好ましい。
【００５９】
【数１】
0005821022.tif 000002
【００６０】
但し、φ(τ)は相関値、ＮはテンプレートTMの時間幅、ｘ(j)はテンプレートTM、ｘ(j-τ)は受話音声信号、k+1はテンプレートTMの開始点、ａは予め定められた係数、τはテンプレートTMのスライド量、ｊは受話音声信号の各サンプリング点のサンプリング番号をそれぞれ示している。
【００６１】
また、テンプレート設定部23ａは、テンプレートTMのスライド量が所定のスライド基準値になるまで、テンプレートTMの時間幅を所定の初期時間幅に設定することが好ましい。
【００６２】
こうすることで、テンプレートTMのスライド量が比較的小さい場合は、テンプレートTMの時間幅が初期時間幅に設定され、スライド量が小さい場合であってもテンプレートTMの時間幅を一定の大きさ以上確保することが可能となり、テンプレートTMと受話音声信号(入力信号)の間の相関をより精度良く求めることができる。
【００６３】
更に、テンプレートTMのスライド量がスライド基準値になるまで、テンプレートTMの時間幅は初期時間幅に設定されるが、この初期時間幅を比較的短くすることで、計算量を少なくすることができる。
【００６４】
なお、初期時間幅としては、想定される受話音声信号のピッチの最小値程度を採用することが好ましい。また、スライド基準値としては、例えば初期時間幅を採用すればよい。
【００６５】
図15は、テンプレート設定部23ａ及びピッチ検出部23bの処理を説明する図である。図15に示す直線上の各点は受話音声信号のサンプリング点を示している。また、右端のサンプリング点はロス発生時点RTを示し、各サンプリング点は、左に向かうにつれて過去のサンプリング点を示している。また、ロス発生時点RTを０番目のサンプリング点とする。受話音声信号のピッチは、短い場合で3msec程度であり、サンプリング周波数が8kHzとすると、24サンプルに相当する。したがって、初期時間幅として、例えば24サンプルとすればよいが、図15では、説明の便宜上、テンプレート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は、スライド量が増大するにつれて、時間幅が増大されることになる。
【００７４】
図16は、図13に示す受話音声信号に対して本実施形態による手法を用いて相関値φ(τ)を求めたときの相関値φ(τ)のグラフを示している。なお、図13において、縦軸は相関値φ(τ)を示し、横軸は時間をサンプル数で示したものである。また、図13においては、AMDFにより相関値φ(τ)が算出されている。したがって、図14と同様、相関値の低い相関ピークほど受話音声信号とテンプレートTMとの相関が強い。
【００７５】
図16においては、ロス発生時点RT(=0)からおよそ47サンプル経過したときに下に凸の相関ピークPK1が現れ、次に、相関ピークPK1が現れてからおよそ37サンプル経過したときに下に凸の相関ピークPK2が現れ、以後、およそ37サンプル経過する毎に下に凸の相関ピークが現れている。また、相関ピークは時間が経過するにつれて値が大きくなっており、テンプレートTMと受話音声信号との相関が弱くなっている。なお、サンプリング周波数を8kHzとすると、37サンプルは、37×0.125msec=4.625msecに相当し、47サンプルは、47×0.125=5.875msecに相当する。
【００７６】
つまり、図16に示す相関ピークのうち、テンプレートTMを47サンプル分ずらしたときの相関ピークPK1が最小となっている。
【００７７】
そのため、ピッチ検出部23bは、最小の相関ピークPK1が現れた時刻である47サンプルをロス発生時点RTの直前の受話音声信号のピッチとして検出する。したがって、ピッチ検出部23bは、図13に示すロス発生時点RTの直前の受話音声信号のピッチである47サンプルを検出できていることが分かる。
【００７８】
補償処理部24は、ロス発生時点RTから過去に向けてピッチ検出部23bにより検出された１ピッチ分の受話音声信号を取り出し、取り出した受話音声信号でパケットロスが発生したロス期間を補償する補償処理を行う。
【００７９】
ここで、補償処理部24は、例えば、図13に示す受話音声信号が入力され、ピッチ検出部23bがピッチとして47サンプルを検出したとすると、ロス発生時点RTから過去に向けて47サンプルの受話音声信号を取り出し、取り出された受話音声信号をロス期間の最後まで繰り返し当てはめてロス期間を補償する。
【００８０】
図17は、音声データ欠落補償処理部VCの動作(音声データ欠落補償処理)の手順を示すフローチャートである。なお、図17のフローチャートでは、説明の便宜上、ａ＝１としている。まず、ステップ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)。
【００８９】
なお、図15の説明では、テンプレート設定部23ａは、ａ＝１に設定したが、これに限定されず、テンプレートTMのスライド量が所定の変更基準値を超えるまで、ａを１≦ａ＜２の範囲内の所定の固定値に設定し、スライド量が変更基準値を超えると、スライド量が最大スライド量(τmax)に近づくにつれて、１に近づくようにａの値を漸次減少させてもよい。変更基準値としては、例えば上記のスライド基準値を採用することができる。
【００９０】
これにより、スライド量が小さい場合、テンプレートTMの時間幅をスライド量に対して大きめに設定することができ、スライド量が大きい場合、テンプレートTMの時間幅をスライド量程度の値に設定することができる。そのため、スライド量が小さい場合において、テンプレートTMの時間幅が小さくなりすぎることによる相関演算精度の低下を防止することができる。
【００９１】
また、相関演算としては、式(1)に示すAMDFに代えて、従来周知である相互相関や平均自乗差関数(Average Squre Difference Function)等の手法を採用してもよい。
【００９２】
このように、本実施形態における音声データ欠落補償処理部VCによれば、パケットロスの発生時点RTから過去に向けてある時間幅の受話音声信号がテンプレートTMとして設定される。そして、設定されたテンプレートTMが受話音声信号に対して現時点から過去に向けてスライドされる。そして、テンプレートTMと受話音声信号との相関が求められ、受話音声信号のピッチが検出される。
【００９３】
ここで、テンプレートTMはスライド量が増大するにつれて時間幅が増大される。したがって、スライド量が小さい比較的初期の段階において、現時点のほぼ直前の１ピッチ分の受話音声信号がテンプレートTMとされるタイミングが発生する。このとき、テンプレートTMと受話音声信号との間で強い相関ピークが現れる。一方、スライド量が大きくなると、それに応じてテンプレートTMの時間幅も増大され、テンプレートTMには複数の周波数成分が含まれるようになる。そのため、上記のタイミングで得られる相関ピークほど強い相関ピークを得ることはできなくなる。よって、現時点のほぼ直前の受話音声信号のピッチを精度良く検出することが可能となる。
【００９４】
揺らぎ吸収処理部JAは、図18に示すようにジッタバッファ30、カウント部31、バッファサイズ変更部32、受信時刻記録部33、基準値記憶部34、隠蔽処理部35、出力部36、観測履歴保持部37を備えている。但し、これらの各部は、音声データ欠落補償処理部VCと同様にDSPが揺らぎ吸収処理プログラムを実行することで実現される。また、ジッタバッファ30は音声データ欠落補償処理部VCのジッタバッファ20と共用される。
【００９５】
受信時刻記録部33は、伝送処理部２が音声パケット(受話音声パケット)を受信した時刻(タイムスタンプ)を、受信したパケットのシーケンス番号に対応付けて記録する。
【００９６】
ジッタバッファ30は、例えばリングバッファにより構成され、伝送処理部２により受信されたパケットを時系列順で蓄積する。これにより、幹線L1を介して伝送される音声パケットの伝送遅延の揺らぎが吸収される。なお、ジッタバッファ30のサイズとしては、後述する基準値よりも大きなサイズが採用されている。
【００９７】
カウント部31は、音声がパケット化される周期(パケット化周期)以下の所定周期(カウント周期)で、ジッタバッファ30に蓄積されている蓄積パケット数をカウントすることでパケットカウント値を算出する。そして、カウント部31が算出したパケットカウント値は観測履歴保持部37に保持される。観測履歴保持部37は、例えば、揮発性の半導体メモリにより構成され、カウント部31により算出された過去Ｎ(Ｎは正の整数)回のパケットカウント値を保持する。
【００９８】
図19は、カウント部31によるパケットカウント値の算出処理の説明図である。図19に示すように、カウント部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により算出された過去Ｎ回のパケットカウント値を保持する。
【０１１０】
図20は、ジッタバッファ30の役割を説明するための図である。図20に示すように、受話音声信号を含むパケットは、パケット化周期(図示例では20msec)で住戸通話装置Ａから送信される。図20では、１〜８の番号(シーケンス番号)が付された８個のパケットが20msecの間隔で送信されている状況を表している。
【０１１１】
住戸通話装置Ａから送信されたパケットは幹線L1を介して外線転送装置Ｅで受信されることになる。ここで、多数のパケット(音声パケット、映像パケット、制御パケット)が幹線L1を介して多重伝送されるため、住戸通話装置Ａからパケット化周期で送信される音声パケットが外線転送装置Ｅに到達するまでの時間(伝送遅延)は、個々の音声パケット毎に大きく相違し、いわゆる伝送遅延の揺らぎが発生する。よって、外線転送装置Ｅによる音声パケットの受信間隔は不等間隔になる。
【０１１２】
そこで、この伝送遅延の揺らぎを吸収するためにジッタバッファ30が設けられている。図20においては、ジッタバッファ30のバッファサイズはパケット３個分とされている。また、出力部36は、１番目のパケットを受信してから、遅延時間Tdが経過した時刻T1において、１番目のパケットに復号化処理及びD/A変換処理を施して出力を開始している。
【０１１３】
図20の場合、時刻T1から20msec経過後の２番目のパケットの出力時刻である時刻T2において、ジッタバッファ30は、２番目のパケットを蓄積している。よって、出力部36は、時刻T2において２番目のパケットを出力することができる。
【０１１４】
一方、３番目のパケットは、伝送遅延が極端に大きいため、時刻T3において、外線転送装置Ｅに到達しておらず、ジッタバッファ30において、パケットの枯渇が生じている。そのため、出力部36は、時刻T3において３番目のパケットを出力することができず、音抜け(音声データの欠落)が発生する。
【０１１５】
また、３〜７番目のパケットは輻輳解消後に短時間で連続して外線転送装置Ｅに到達しており、７番目のパケットが外線転送装置Ｅに到達したとき、ジッタバッファ30には、５、６番目のパケットが存在するが、ジッタバッファ30に空きがあるため、７番目のパケットは破棄されず、ジッタバッファ30に格納される。よって、時刻T7において、７番目のパケットが出力部36から出力される。
【０１１６】
このように、伝送遅延の揺らぎの特性は動的に変化するため、ジッタバッファ30のバッファサイズを固定サイズにすると、想定される伝送遅延の揺らぎよりも充分に長くせざるを得ない。また、ジッタバッファ30のバッファサイズを充分に長くし、かつ、遅延時間Tdを充分に長くすれば、音抜けの発生は防止できるが、遅延時間Tdが長いと、ジッタバッファ30において、出力待ちのパケットが増大し、通話遅延が発生してしまう。
【０１１７】
図21は、伝送遅延と伝送遅延の発生頻度との関係を示す伝送遅延特性のグラフの一例を示している。なお、図21において、縦軸は、発生頻度を示し、横軸は伝送遅延を示している。また、図22は、ジッタバッファ30の最適なバッファサイズを説明するための図である。図21において、dminは最小の伝送遅延を示し、dmaxは最大の伝送遅延を示している。図22では、k-1番目のパケットの伝送遅延はdminであり、ｋ番目のパケットの伝送遅延はｄであり、k+1番目のパケットの伝送遅延はdmaxである。
【０１１８】
この場合、出力部36による最適な出力の待ち時間は下記のようになる。ｉ)dmaxで届いたパケットは直ちに出力する。ii)dminで届いたパケットは、dmax-dmin待ってから出力する。iii)ｄで届いたパケットはdmax-d待ってから出力する。
【０１１９】
よって、ジッタバッファ30におけるパケットの枯渇を回避するためには、ジッタバッファ30のバッファサイズbufをbuf≧dmax−dminとすればよいが、伝送遅延特性のdmaxが極端に大きくなると、つまり、図21のグラフの右端の尾が極端に長くなると、バッファサイズbufの値が大きくなってしまう。また、図21のグラフに示すように、伝送遅延が増大するにつれて発生頻度が低下しているため、真のdmaxを観測するには、膨大な数のパケットの伝送遅延を観測する必要がある。そのため、図21のグラフでは、真のdmaxではなく、伝送特性の分布の上位数％を切り捨てる値がdmaxとみなされている。この場合、dmaxとみなす値以上の伝送遅延が発生するとパケットの枯渇が発生する。
【０１２０】
したがって、パケットの枯渇を防止するためには、dmaxとみなす値を大きく設定することが好ましいが、逆にdmaxとみなす値が大きすぎるとバッファサイズbufが増大し、ジッタバッファ30において、出力待ちの待ちパケットが増大する結果、出力遅延が生じてしまう。このような出力遅延は、パケット伝送方式のインターホン通話においては通話遅延となって現れるため、極力低く抑える方が好ましい。そこで、上述の処理を実行することで、パケットの枯渇を防止すると同時に、通話遅延の防止を図っているのである。
【０１２１】
図23は、揺らぎ吸収処理部JAの揺らぎ吸収処理を示すフローチャートである。まず、ステップS1において、カウント部31は、前回、パケットカウント値の算出タイミングを算出してから、カウント周期Tbが経過して、パケットカウント値の算出タイミングとなったか否かを判定する。そして、カウント部31は、パケットカウント値の算出タイミングになったと判定すると(ステップS1でYES)、現在、ジッタバッファ30に蓄積されているパケット数である蓄積パケット数をカウントする(ステップS2)。一方、カウント部31は、パケットカウント値の算出タイミングになっていないと判定すると(ステップS1でNO)、処理をステップS1に戻す。
【０１２２】
次に、カウント部31は、パケットカウント値の算出処理を実行して、パケットカウント値を算出する(ステップS3)。
【０１２３】
図24は、パケットカウント値の算出処理の詳細を示すフローチャートである。まず、カウント部31は、現在時刻をパケットカウント値の算出時刻として特定する(ステップS21)。
【０１２４】
次に、カウント部31は、ジッタバッファ30に蓄積されているパケットのうち、図19に示すように算出時刻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)。
【０１２９】
図23のフローチャートに戻り、ステップS4において、カウント部31は、算出時刻Tkにおけるパケットカウント値を観測履歴保持部37に保持させる。この場合、カウント部31は、観測履歴保持部37に保持されているパケットカウント値の個数がＮ個となるように、最古のパケットカウント値を観測履歴保持部37から削除する。
【０１３０】
次に、バッファサイズ変更部32は、観測履歴保持部37に記憶されているＮ個のパケットカウント値のうち、ｎ番目に小さいパケットカウント値を代表値として特定する(ステップS5)。
【０１３１】
図25は、パケットカウント値と、パケットカウント値の算出時刻との関係を示した模式図であり、縦軸がパケットカウント値を示し、横軸がパケットカウント値の算出時刻を示している。図25では、N=9,n=3とされている。したがって、バッファサイズ変更部32は、図25で示す左端から２番目の時刻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以降の処理が実行される。
【０１３８】
図26(ａ)はバッファサイズ変更部32によるパケット挿入時の処理を示した模式図であり、図26(ｂ)はバッファサイズ変更部32によるパケット削除時の処理を示した模式図である。図26(ａ)の例では、バッファサイズ変更部32は、有効パケットである４番目のパケットと５番目のパケットとの間に無効パケットを挿入している。図26(ｂ)の例では、バッファサイズ変更部32は、有効パケットである４番目のパケットと５番目のパケットとをオーバーラップ加算して２つのパケット長を１つのパケット長にすることで、１つのパケットを削除している。
【０１３９】
このように揺らぎ吸収処理部JAでは、ジッタバッファ30の蓄積パケット数からパケットカウント値が算出され、過去Ｎ回のパケットカウント値のうち、ｎ番目に小さいパケットカウント値が代表値として特定される。そして、特定した代表値が基準値よりも大きければジッタバッファ30からパケットが削除される。そのため、パケットカウント値の過去の履歴からジッタバッファ30の蓄積パケット数が基準値と比べて大きい傾向にあり、出力遅延が生じる場合は、ジッタバッファ30からパケットが削除されるため、出力遅延が低減される。一方、パケットカウント値の過去の履歴からジッタバッファ30の蓄積パケット数が基準値に比べて小さい傾向にあり、パケットの枯渇が発生する可能性が高い場合は、ジッタバッファ30にパケットが挿入されるため、パケットの枯渇を防止することができる。
【０１４０】
次に、揺らぎ吸収処理におけるパケットカウント値の別の算出方法について説明する。ここで、受信時刻記録部33には、最新のパケットの受信時刻のみが記録される。
【０１４１】
カウント部31は、最新のパケットについては、カウント値を、算出時刻Tkと最新のパケットの受信時刻との差分ΔT/Taにより得られる値に設定し、それ以外のパケットはカウント値を１に設定してパケットカウント値を算出する。
【０１４２】
図27に示すように、カウント部31は、ジッタバッファ30において、算出時刻Tkから、過去、パケット化周期Ta内に受信されたパケットが蓄積されている場合、パケット化周期Ta内に受信されたパケットの中から受信時刻が最新のパケットPSを特定し、最新のパケットPSのカウント値をΔT/Taに設定する。一方、カウント部31は、ジッタバッファ30に蓄積されたパケットのうち、最新のパケットPS以外のパケットPL1,PL2については、カウント値を一律に１に設定する。この場合、カウント部31は、算出時刻Tkから、過去、パケット化周期Ta内に受信されたパケットであって、最新のパケットPSの受信時刻のみが分かればよいので、パケットカウント値の算出処理が終了した後、受信時刻記録部33に記録されている受信記録を削除する。
【０１４３】
上記パケットカウント値の算出処理を、図28のフローチャートを参照して詳細に説明する。図28におけるステップS31,S33,S34,S36は、図24におけるステップS21,S23,S24,S26と同一であるため、説明を省く。図28におけるステップS32では、カウント部31は、ジッタバッファ30において、算出時刻Tkから、過去、パケット化周期Ta内に受信したパケットのうち最新のパケットの受信時刻を特定する。また、カウント部31は、算出時刻Tkから、最新のパケット以外のパケットについては、カウント値を一律に１に設定する(ステップS35)。そして、ステップS37において、カウント部31は、最新のパケットの受信時刻を受信時刻記録部33から削除する。
【０１４４】
上述した方法でパケットカウント値を算出すれば、最新のパケットについてのみ、受信時刻を記録しておけばよいため、受信時刻記録部33の容量を更に節約することができる。
【０１４５】
ところで、パケット伝送方式による音声伝送においては、伝送路でパケットの滞留が突然起こることによるスパイク性遅延変動(スパイク遅延)により、500msec以上の音切れが発生することがある。したがって、揺らぎ吸収処理部JAにおいて、スパイク遅延の発生の有無を判定し、スパイク遅延が発生している場合は、参照する過去のパケットカウント値のウインドウ幅を短くし、短くしたウインドウ幅内のパケットカウント値から代表値を算出することが好ましい。
【０１４６】
そこで、カウント部31は、算出したパケットカウント値を、各パケットカウント値の時系列順序を示すためのインデックスと対応づけて観測履歴保持部37に保持させる。具体的には、観測履歴保持部37は過去Ｎ回のパケットカウント値を保持するため、カウント部31は、最新のパケットカウント値のインデックスがＮ、最古のパケットカウント値のインデックスが１となるように、算出時刻が新しくなるにつれてインデックスが増大するように過去Ｎ回のパケットカウント値にインデックスを付す。また、カウント部31は、観測履歴保持部37に保持された過去Ｎ回のパケットカウント値に基づいて、スパイク遅延の有無を判定し、スパイク遅延が発生していると判定した場合は、過去Ｎ回のパケットカウント値のうち、過去Ｍ(Ｍ＜Ｎ)回のパケットカウント値を抽出する。
【０１４７】
ここで、カウント部31は、下記のようにしてスパイク遅延の有無を判定する。図29は、スパイク遅延の有無の判定処理を説明するためのグラフである。図29において、縦軸はパケットカウント値を示し、横軸はインデックスを示している。また、N=100としている。
【０１４８】
まず、カウント部31は、基準値以下のパケットカウント値を特定する。図29の例では点PP1〜PP6のパケットカウント値が基準値以下となっている。次に、カウント部31は、基準値以下のパケットカウント値のうち、インデックスが最小、つまり最古の点と、インデックスが最大、つまり最新の点とを特定する。図29の例では、カウント部31は、点PP1と点PP6とを特定する。
【０１４９】
次に、カウント部31は、最小のインデックスと最大のインデックスとの差分ΔＩを求める。そして、カウント部31は、この差分ΔＩが予め定められた閾値より小さければ、スパイク遅延が発生したと判定し、この差分ΔＩが閾値より大きければスパイク遅延が発生していないと判定する。
【０１５０】
図30は、スパイク遅延が発生している場合のパケットカウント値とインデックスとの関係を示すグラフである。図30において縦軸はパケットカウント値を示し、横軸はインデックスを示している。図30の例では、点PP1〜点PP5のパケットカウント値が基準値以下である。そして、点PP1はインデックスが最小であり、点PP5はインデックスが最大である。そして、点PP1のインデックスと点PP5のインデックスとの差分ΔＩが閾値より小さい。そのため、カウント部31は、スパイク遅延が発生していると判定する。
【０１５１】
そして、カウント部31は、図30に示すように、スパイク遅延が発生していると判定すると、算出時刻Tkから過去Ｍ個のパケットカウント値を抽出する。ここで、Ｍとしては、ΔＩに所定の係数β(０＜β≦１)を乗じた値(＝β・ΔＩ)を、整数で丸め込んだ値を採用することができる。
【０１５２】
そして、バッファサイズ変更部32は、過去Ｍ個のパケットカウント値のうち、ｍ番目に小さなパケットカウント値を代表値として算出する。以下、バッファサイズ変更部32は、代表値を基準値と比較して、ジッタバッファ30にパケットを挿入又は削除する。ここで、ｍとしては、Ｍ×αを整数で丸め込んだ値を採用することができる。
【０１５３】
このように、スパイク遅延が発生した場合、参照する過去のパケットカウント値のウインドウ幅が狭められてジッタバッファ30にパケットの挿入又は削除が行われる。そのため、稀にしか発生しないスパイク遅延が排除されるようにして、代表値を算出することができる。
【０１５４】
また、揺らぎ吸収処理部JAにおいては、０の蓄積パケット数が連続して発生した場合、以下のようにパケットカウント値を算出することが好ましい。
【０１５５】
具体的には、カウント部31は、０の蓄積パケット数が連続して発生した場合、０の蓄積パケット数が連続した回数が増大するにつれて絶対値が増大する負の値を前記パケットカウント値として算出する。
【０１５６】
図31は、上記カウント部31の処理を説明する図である。図31(ａ)においては、カウント周期Tbの各区間において、パケットカウント値の算出時刻Tk-4〜Tkの直後にパケットが受信されている。また、出力部36は、各区間において、パケットを受信してから、次のパケットカウント値の算出時刻Tk-4〜Tkが経過するまでに、ジッタバッファ30からパケット(受話音声データ)を読み出している。そのため、各算出時刻Tk-4〜Tkにおいて、ジッタバッファ30における蓄積パケット数は０となっている。そのため、カウント部31は、算出時刻Tk-4〜Tkのそれぞれにおいてパケットカウント値を０と算出してしまう。
【０１５７】
一方、図31(ｂ)においては、算出時刻Tk-4の少し前に１つのパケットを受信してから以降、パケットは受信されていない。この場合においても、各算出時刻Tk-3〜Tkにおける蓄積パケット数は０となっているため、カウント部31は、算出時刻Tk-3〜Tkのそれぞれにおいてパケットカウント値を０と算出してしまう。
【０１５８】
しかしながら、図31(ａ)と(ｂ)とでは、幹線L1の状況が大きく異なっている。すなわち、図31(ａ)においては、パケットは定期的に住戸通話装置Ａに到達しており、出力部36は連続して出力することが可能となるが、図31(ｂ)においては、パケットは定期的に住戸通話装置Ａに到達していないため、出力部36は連続して出力することができない。
【０１５９】
これを区別するため、カウント部31は、下記の処理を行う。つまり、図31(ｂ)に示すように、算出時刻Tk-3で蓄積パケット数が０であり、算出時刻Tk-2でも蓄積パケット数が０となっており、算出時刻Tk-2において、０の蓄積パケット数の連続回数が１回となっている。この場合、カウント部31は、０を算出時刻Tk-2におけるパケットカウント値として算出する。
【０１６０】
また、算出時刻Tk-1においては、０の蓄積パケット数の連続回数が２回となっている。そこで、カウント部31は、連続回数である２回から１を差し引いた値に-1を乗じた値である-1を、算出時刻Tk-1におけるパケットカウント値として算出する。算出時刻Tkにおいて、０の蓄積パケット数の連続回数は３であるため、カウント部２３は、連続回数である３回から１を差し引いた値に-1を乗じた値である-2を算出時刻Tkにおけるパケットカウント値として算出する。ゆえに、カウント部31は、(連続回数-1)・(-1)をパケットカウント値として算出する。
【０１６１】
これにより、図31(ａ)のように、パケットは定期的に受信できているものの、算出時刻において、蓄積パケット数がたまたま０になっている場合と、図31(ｂ)のように、パケットを定期的に受信できていない場合との差を考慮してパケットカウント値を算出することが可能となる。したがって、図31(ｂ)の場合は、図31(ａ)の場合よりもジッタバッファ30からパケットが削除され難くなる。
【０１６２】
次に、ジッタバッファ30にパケットを挿入又は削除を行う処理を具体的に説明する。バッファサイズ変更部32は、ジッタバッファ30から１つのパケットを削除する場合、音声を含む有効パケットが連続して２つ以上存在すれば、これら連続する有効パケットのうち、中間に位置する連続する２つの有効パケットをオーバーラップ加算して削除する。
【０１６３】
図32は、バッファサイズ変更部32がオーバーラップ加算により１つのパケットを削除する処理の説明図であり、(ａ)は削除前のジッタバッファ30を示し、(ｂ)は削除後のジッタバッファ30を示している。
【０１６４】
図32に示すリードポインタRPは、リングバッファ構造を有するジッタバッファ30の開始アドレスを示し、ライトポインタWPは、ジッタバッファ30の終了アドレスを示している。また、図32において、各升は１つのパケットを示しており、升内の数字はパケットの時系列の順序を示している。また、内部が白色の升は無効パケットを示し、内部がグレーの升は有効パケットを示している。
【０１６５】
図32(ａ)の場合、１番目〜２番目の有効パケットの区間ではなく、４番目〜７番目の有効パケットの区間に位置する５番目と６番目との有効パケットが、図32(ｂ)に示すようにオーバーラップ加算により１つのパケットに纏められ、１つのパケットが削除されている。
【０１６６】
ここで、図32(ａ)に示す１番目〜２番目の有効パケットの区間でオーバーラップ加算を行うと、オーバーラップ加算により生成された１つのパケットの次に無効パケットが存在することになるため、パケットロス隠蔽処理を行った場合の音声劣化が大きくなる可能性がある。一方、５番目の有効パケットと６番目の有効パケットとをオーバーラップ加算すると、オーバーラップ加算により生成された１つのパケットの前後のパケットは有効パケットであるため、パケットロス隠蔽処理による音声劣化を小さくすることができる。
【０１６７】
つまり、有効パケットが２つ以上連続していれば、オーバーラップ加算により１つのパケットを削除することができるが、有効パケットの連続数が多い区間でオーバーラップ加算した方がパケットロス隠蔽処理を行ったときの音声劣化を少なくすることができる。
【０１６８】
よって、ジッタバッファ30において、有効パケットが連続する区間が複数存在する場合、有効パケットの連続数が多い区間の中間の有効パケットを用いてオーバーラップ加算を行うようにしている。
【０１６９】
ここで、オーバーラップ加算としては、図32(ｃ)に示すように、三角窓関数RF1，RF2を用いたオーバーラップ加算を採用することができる。具体的には、バッファサイズ変更部32は、５番目のパケットの音声信号に対して、三角窓関数RF1を用いた窓関数処理を行い、６番目のパケットの音声信号に対しては、三角窓関数RF2を用いた窓関数処理を行い、窓関数処理後の両音声信号を加算して１つの音声信号を生成し、これを１つにパケット化することで、オーバーラップ加算を行えばよい。
【０１７０】
ここで、三角窓関数RF1としては、時間幅が20msec、最大値が１、最小値が０であり、時間が経過するにつれて値が減少する一次関数を採用することができる。また、三角窓関数RF2としては、時間幅が20msec、最大値が１、最小値が０であり、時間が経過するにつれて値が増大する一次関数を採用することができる。
【０１７１】
また、バッファサイズ変更部32は、ジッタバッファ30からパケットを削除する場合、過去に挿入した無効パケットがあれば、当該無効パケットを削除する。
【０１７２】
図33は、バッファサイズ変更部32が１つの無効パケットを削除する処理の説明図であり、(ａ)は削除前のジッタバッファ30を示し、(ｂ)は削除後のジッタバッファ30を示している。
【０１７３】
図33(ａ)においては、３番目と４番目とのパケットが無効パケットである。そのため、バッファサイズ変更部32は、３番目又は４番目のパケットのいずれかを削除することで、１つのパケットを削除する。ここで、ジッタバッファ30に複数の無効パケットが存在する場合は、例えば、ランダムに１つの無効パケットを選択し、選択した無効パケットを削除するようにしてもよい。あるいは、バッファサイズ変更部32は、無効パケットが２つ以上連続して存在する場合は、連続している領域の無効パケットを優先して抽出し、抽出した無効パケットのうち、ランダムに１つの無効パケットを選択して削除するようにしてもよい。
【０１７４】
また、バッファサイズ変更部32は、ジッタバッファ30にパケットを挿入する場合、連続する２つの有効パケットが存在すれば、これら２つの有効パケットの間に無効パケットを挿入する。
【０１７５】
図34は、バッファサイズ変更部32が１つのパケットを挿入する処理の説明図であり、(ａ)は挿入前のジッタバッファ30を示し、(ｂ)は挿入後のジッタバッファ30を示している。
【０１７６】
図34(ａ)、(ｂ)に示すように、５番目の有効パケットと６番目の有効パケットとの間に１つの無効パケットが挿入されている。これは、５番目の有効パケットと６番目の有効パケットとの間に１つの無効パケットを挿入するのが、連続する有効パケットの個数がより多くなるためである。
【０１７７】
例えば、１番目の有効パケットと２番目の有効パケットとの間に無効パケットを挿入したとしても、挿入した無効パケットの前後に有効パケットが存在するため、パケット隠蔽処理を行うことは可能である。
【０１７８】
しかしながら、２番目の有効パケットの前後が無効パケットとなってしまうため、有効パケットの連続数が小さくなってしまう。一方、５番目の有効パケットと６番目の有効パケットとの間に、無効パケットを挿入すると、全ての有効パケットが連続することになる。ここで、パケットロス隠蔽処理を行う場合、有効パケットの連続数が多い方が音声劣化を小さくすることができる。そこで、バッファサイズ変更部32は、ジッタバッファ30において有効パケットが連続する区間が複数存在する場合、有効パケットの連続数が多い区間の中間に無効パケットを挿入している。
【０１７９】
また、バッファサイズ変更部32は、一度に挿入又は削除することができるパケット数の上限値が予め定められている。
【０１８０】
図35は、ジッタバッファ30に５つのパケットを一度に挿入する場合の処理を説明するための図であり、(ａ)は挿入前のジッタバッファ30を示し、(ｂ)は挿入後のジッタバッファ30を示している。図35(ａ)、(ｂ)においては、１番目の有効パケットと２番目の有効パケットとの間に５つの無効パケットが挿入されている。この場合、無効パケットが連続して存在しているため、音声劣化が増大する虞がある。そこで、無効パケットの挿入個数に上限値が設けられている。ここで、「一度に」とは、上述したカウント周期Ｔｂが到達した時に実行される１回の処理を指している。
【０１８１】
例えば、図35(ａ)において、上限値＝３に設定されていたとすると、５つの無効パケットを挿入する必要がある場合であっても、３個の無効パケットしか挿入されなくなる。
【０１８２】
これにより、無効パケットの連続数が一定個数以上になることが防止され、パケットロス隠蔽処理による音声劣化を小さくすることができる。
【０１８３】
また、バッファサイズ変更部32は、無効パケットを削除した場合において、削除した無効パケットに対応する有効パケットを後から受信した場合、削除した無効パケットの他に無効パケットが存在すれば、他の無効パケットと受信した有効パケットとを入れ換える。
【０１８４】
図36は、無効パケットを削除した後に、削除した無効パケットに対応する有効パケットを受信した場合の処理を説明する図であり、(ａ)は削除前のジッタバッファ30を示し、(ｂ)は削除後のジッタバッファ30を示し、(ｃ)は入れ換え後のジッタバッファ30を示している。
【０１８５】
図36(ａ)、(ｂ)に示すように３番目の無効パケットが削除されている。その後、図36(ｃ)に示すように３番目の無効パケットに対応する３番目の有効パケットが受信されている。
【０１８６】
この場合、バッファサイズ変更部32は、３番目の無効パケットの次の４番目のパケットが無効パケットであるため、この４番目の無効パケットを受信した３番目の有効パケットに入れ換える。これにより、３番目の有効パケットを復活させることができ、音声劣化を低減させることができる。
【０１８７】
ここで、バッファサイズ変更部32は、ジッタバッファ30にパケットが蓄積されると蓄積されたパケットに対応する無効パケットがジッタバッファ30に蓄積されているか否かを判定する。そして、バッファサイズ変更部32は、対応する無効パケットがジッタバッファ30に蓄積されている場合は、当該無効パケットの次に無効パケットが格納されているか否かを判定し、無効パケットが格納されている場合は、次の無効パケットを削除し、削除した箇所に受信した有効パケットを挿入することで、次の無効パケットと受信した有効パケットとを入れ換えればよい。
【０１８８】
一方、バッファサイズ変更部32は、ジッタバッファ30に蓄積されたパケットに対応する無効パケットがジッタバッファ30に蓄積されていない場合、あるいは、対応する無効パケットの次に無効パケットが格納されていない場合、上記の入れ換えを行わない。なお、バッファサイズ変更部32は、無効パケットのシーケンス番号と同じシーケンス番号を有するパケットがジッタバッファ30に蓄積された場合、無効パケットに対応する有効パケットが受信されたと判断すればよい。
【０１８９】
また、バッファサイズ変更部32は、連続する２つの有効パケットの間にパケットを挿入する場合、隠蔽処理部35に対して、前に位置する有効パケットを用いてパケットロス隠蔽処理を実行させ、隠蔽処理されたパケットを生成させ、このパケットをジッタバッファ30に挿入するようにしてもよい。
【０１９０】
図37は、バッファサイズ変更部32が無効パケットに代えて隠蔽処理されたパケットをジッタバッファ30に挿入させる場合の処理を説明する図であり、(ａ)は挿入前のジッタバッファ30を示し、(ｂ)は挿入後のジッタバッファ30を示している。
【０１９１】
図37(ａ)、(ｂ)に示すように、３番目の有効パケットと４番目の有効パケットとの間に隠蔽処理されたパケットが挿入されている。
【０１９２】
これにより、出力部36がジッタバッファ30からパケット（音声データ）を読み出す際に、パケットロス隠蔽処理を実行する必要がなくなり、出力時におけるパケットロス隠蔽処理の処理遅延を低減することができる。
【０１９３】
なお、バッファサイズ変更部32は、無効パケットを挿入する場合、母音の音声を含む連続する２つのパケットの間に、無効パケットを挿入することが好ましい。これにより、挿入した無効パケットに対してパケットロス隠蔽処理を実行することで生成された音声が、前後のパケットに含まれる音声と連続的に繋げられ、音声劣化を低減させることができる。
【０１９４】
図38は、バッファサイズ変更部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)、そのまま処理が終了される。
【０２０４】
図39は、バッファサイズ変更部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による音声データ欠落補償処理で代用することができる。
【０２１２】
(実施形態３)
実施形態１，２における集合住宅用インターホンシステムは、ディジタル変調された音声情報(音声データ)、映像情報(映像データ)、制御情報(制御データ)をパケット伝送するものであった。これに対して本実施形態における集合住宅用インターホンシステムは、アナログの音声信号(音響信号)、映像信号、制御信号を適宜アナログ変調(例えば、周波数変調)して伝送する点に特徴がある。
【０２１３】
本実施形態における集合住宅用インターホンシステムのシステム構成は実施形態１とほぼ共通である(図２参照)。ただし、本実施形態における幹線制御装置は実施形態１における幹線制御装置Ｂと異なり、幹線L1を複数系統に分配するためのものである。なお、アナログ伝送方式の集合住宅用インターホンシステムについては従来周知であるから、システム構成の詳細な説明及び図示は省略する。
【０２１４】
図40は本実施形態の外線転送装置Ｅを示している。ただし、図９に示した実施形態１の外線転送装置Ｅと共通の構成要素には同一の符号を付して説明を省略する。本実施形態の外線転送装置Ｅは、パケット伝送のための伝送処理部２に代えて、エコーキャンセラ100、D/A変換器105、受話アンプ106、２線４線変換部107、送話アンプ108、A/D変換器109を備えている。エコーキャンセラ100は適応フィルタ101と減算器102からなる従来周知の構成を有し、伝送路(幹線L1，住戸別線L2，信号線L4)を介して生じる回線エコーを抑圧する。
【０２１５】
而して、アナログ伝送方式の集合住宅用インターホンシステムにおいても、外線転送装置Ｅの自動音量補正部１が自動的に音量を補正するので、外部通話装置の種類(固定電話機や携帯電話機)や製造元(メーカ)あるいは機種による通話音声の音量のばらつきを抑えることができる。
【０２１６】
ところで、従来の集合住宅用インターホンシステムには、一部又は全部の住戸通話装置Ａに対して一斉に音声を放送する一斉放送装置を備えたものがあった。本実施形態の集合住宅用インターホンシステムにおいても、管理室通話装置Ｃ又は外部通話装置Ｆから一部又は全部の住戸通話装置Ａに対して一斉放送を行うことが可能である。なお、外部通話装置Ｆから一斉放送が行われる場合、システム内においては外線転送装置Ｅから一部又は全部の住戸通話装置Ａに対して一斉放送が行われることになる。
【０２１７】
ここで、集合住宅の規模によっては外線転送装置Ｅから各住戸通話装置Ａまでの伝送路の配線長が数百メートルから数キロメートルにも及ぶ場合がある。また住戸通話装置Ａの接続台数も集合住宅の規模によって異なるため、配線並びに住戸通話装置Ａ等のインピーダンスに起因した伝送路の伝送ロスが悪化して住戸通話装置Ａにおける一斉放送の音量が低下してしまい、住戸通話装置Ａ間に音量のばらつきが生じる虞がある。なお、音量の低下に対しては一斉放送用の音響信号を増幅することで対処可能であるが、個々の住戸通話装置Ａ間における音量のばらつきを抑えることはできない。ここで、「伝送ロス」とは、伝送系の２地点間（外線転送装置Ｅと各住戸通話装置Ａの間）において、送信信号に対する受信信号の振幅や位相の変化及びその変化量と定義される。
【０２１８】
これに対して本出願人は、伝送路の伝送ロスを推定するとともに推定した伝送ロスを補償して一斉放送の音量が所定範囲の値となるように補正する音量補正手段を各住戸通話装置Ａに備えた集合住宅用インターホンシステムを既に提案している(例えば、特開2006-270877号公報参照)。故に、本実施形態における集合住宅用インターホンシステムにも当該技術を適用し、複数の住戸通話装置Ａ間における一斉放送の音量のばらつきを抑えることが望ましい。
【０２１９】
そこで本実施形態の外線転送装置Ｅには、図40に示すようにトレーニング信号生成部120、第１切換部104、第２切換部110、可変利得アンプ103、一斉放送用アンプ111が設けられている。トレーニング信号生成部120は、単一周波数のトーン信号からなるトレーニング信号を生成して出力する。第１切換部104は、D/A変換器105の入力端をエコーキャンセラ100及び自動音量補正部１に接続する状態とトレーニング信号生成部120に接続する状態とに択一的に切り換える。第２切換部110は、D/A変換器105の出力端を受話アンプ106に接続する状態と一斉放送用アンプ111に接続する状態とに択一的に切り換える。そして、トレーニング信号生成部120から出力されるトレーニング信号は、第１切換部104からD/A変換器105及び第２切換部110を経て一斉放送用アンプ111で増幅された後に伝送路を介して各住戸通話装置Ａに伝送される。
【０２２０】
一方、各住戸通話装置Ａは、伝送路を介して受信したトレーニング信号に基づいて外線転送装置Ｅから住戸通話装置Ａに至るまでの伝送路の伝送ロスを推定する伝送ロス推定手段と、一斉放送用の音響信号に対して伝送ロス推定手段で推定した伝送ロスを補償する伝送ロス補償手段とを備える。ただし、伝送ロス推定手段並びに伝送ロス補償手段の詳細な構成並びに動作については、既に周知であるから省略する(例えば、特開2006-270877号公報等参照)。
【０２２１】
次に、本実施形態において外部通話装置Ｆより外線転送装置Ｅを介して複数台の住戸通話装置Ａに対して一斉放送を行う際の外線転送装置Ｅの動作を説明する。まず、外部通話装置Ｆより外線転送装置Ｅの外線番号(電話番号)に発呼されて電話線Lxが閉結された後、外部通話装置Ｆから外線転送装置Ｅに特定のＰＢ信号(一斉放送の開始を通知するための信号)が伝送される。当該ＰＢ信号を受け取った外線転送装置Ｅでは、伝送路を介して各住戸通話装置Ａに一斉放送の開始を通知するための制御信号が送信され、第１切換部104がトレーニング信号生成部120の側へ切り換えられるとともに第２切換部110が一斉放送用アンプ111の側に切り換えられる。その後、トレーニング信号生成部120からトレーニング信号が出力され、当該トレーニング信号が第１切換部104、D/A変換器105、第２切換部110、一斉放送用アンプ111を介して伝送路に送出される。このとき、伝送路に対して不要な通話ノイズが出力されないように、受話アンプ106がミュート(停止)されていることが望ましい。
【０２２２】
外線転送装置Ｅから送信された制御信号には一斉放送開始コマンドが含まれており、当該一斉放送開始コマンドが一斉放送の対象である全ての住戸通話装置Ａで受信される。各住戸通話装置Ａでは一斉放送開始コマンドに応じて一斉放送開始のための準備を行う。すなわち、外線転送装置Ｅから送信されるトレーニング信号に基づいて、伝送ロス推定手段が外線転送装置Ｅから住戸通話装置Ａに至るまでの伝送路の伝送ロスを推定する。そして、伝送ロス補償手段が、伝送ロス推定手段で推定された伝送ロスを補償するために必要な補正量(利得)を演算し、当該補正量を図示しない受話アンプのゲインに設定する。
【０２２３】
外線転送装置Ｅでは、送信開始から所定時間経過後にトレーニング信号生成部120によるトレーニング信号の生成(出力)が停止される。さらに、第１切換部104がトレーニング信号生成部120からエコーキャンセラ100の側へ切り換えられる。そして、外部通話装置Ｆから伝送されてくる一斉放送の音響信号(一斉放送用音響信号)が伝送路を介して各住戸通話装置Ａに転送される。このとき、外線転送装置ＥではA/D変換器109からD/A変換器７に至る経路に挿入されている可変利得アンプ103の利得がゼロに設定されて、外部通話装置Ｆには音響信号が送信されないようになっている。あるいは、送話アンプ108がミュートされ、且つエコーキャンセラ100において適応フィルタ101からの出力信号が強制的にゼロにされてもよい。このような処理により、外部通話装置Ｆの話者(一斉放送を行う者)に対して不快なエコーや通話ノイズが伝送されることが防止できる。
【０２２４】
そして、外線転送装置Ｅから伝送路を介して伝送される一斉放送用音響信号は、各住戸通話装置Ａの伝送ロス補償手段で伝送ロスが補償されるため、住戸通話装置Ａのスピーカから適切な音量で一斉放送の音声が鳴動されることになる。
【０２２５】
なお、外部通話装置Ｆでオンフックされて電話線Lxが開放されると、外線転送装置Ｅでは、一斉放送の終了を指示する制御信号(一斉放送終了コマンド)が各住戸通話装置Ａに伝送される。その後、第１切換部104がエコーキャンセラ100の側へ切り換えられるとともに第２切換部110が受話アンプ106の側へ切り換えられる。
【０２２６】
上述のように本実施形態によれば、外部通話装置Ｆから外線転送装置Ｅを介して一斉放送が行われる場合においても、複数の住戸通話装置Ａ間における一斉放送の音量のばらつきを抑えることができる。
【符号の説明】
【０２２７】
１  自動音量補正部(音量補正手段)
L1  幹線
Lx  電話線(局線)
Ａ  住戸通話装置
Ｃ  管理室通話装置
【図１】
0005821022.tif 000003
【図２】
0005821022.tif 000004
【図３】
0005821022.tif 000005
【図４】
0005821022.tif 000006
【図５】
0005821022.tif 000007
【図６】
0005821022.tif 000008
【図７】
0005821022.tif 000009
【図８】
0005821022.tif 000010
【図９】
0005821022.tif 000011
【図１０】
0005821022.tif 000012
【図１１】
0005821022.tif 000013
【図１２】
0005821022.tif 000014
【図１３】
0005821022.tif 000015
【図１４】
0005821022.tif 000016
【図１５】
0005821022.tif 000017
【図１６】
0005821022.tif 000018
【図１７】
0005821022.tif 000019
【図１８】
0005821022.tif 000020
【図１９】
0005821022.tif 000021
【図２０】
0005821022.tif 000022
【図２１】
0005821022.tif 000023
【図２２】
0005821022.tif 000024
【図２３】
0005821022.tif 000025
【図２４】
0005821022.tif 000026
【図２５】
0005821022.tif 000027
【図２６】
0005821022.tif 000028
【図２７】
0005821022.tif 000029
【図２８】
0005821022.tif 000030
【図２９】
0005821022.tif 000031
【図３０】
0005821022.tif 000032
【図３１】
0005821022.tif 000033
【図３２】
0005821022.tif 000034
【図３３】
0005821022.tif 000035
【図３４】
0005821022.tif 000036
【図３５】
0005821022.tif 000037
【図３６】
0005821022.tif 000038
【図３７】
0005821022.tif 000039
【図３８】
0005821022.tif 000040
【図３９】
0005821022.tif 000041
【図４０】
0005821022.tif 000042