以下、本発明を実施するための最良の形態を図面を参照して説明する。
本発明は、複数の通話端末装置間で行われる通話の通話区間を検出する発明であり、何れかの通話端末装置を基準とした送話側チャネルの音声信号と受話側チャネルの音声信号とが入力され、入力された複数チャネルの音声信号を用い、チャネル毎の音声区間と非音声区間とを検出し、検出した複数チャネルの音声区間と非音声区間との情報を用い、通話区間を検出する発明である。しかし、以下では説明の簡略化のため、一例として2個の通話端末装置間で行われる通話の通話区間を検出する形態について説明する。すなわち、以下では、何れかの通話端末装置を基準とした送話側チャネルの音声信号と受話側チャネルの音声信号とが入力され、入力された2チャネルの音声信号を用い、チャネル毎の音声区間と非音声区間とを検出し、検出した2チャネルの音声区間と非音声区間との情報を用い、通話区間を検出する実施形態について説明する。本発明は以下の各実施形態に限定されない。
〔第1実施形態〕
まず、本発明の第1実施形態について説明する。
<通話区間推定装置の構成>
図1は、本形態の通話区間推定装置10の機能構成を例示したブロック図である。また、図2は、本形態の通話区間推定装置10を構成するためのハードウェア構成を例示したブロック図である。
図2に例示するように、この例の通話区間推定装置10を構成するためのハードウェアは、CPU(Central Processing Unit)10aと、入力部10bと、出力部10cと、RAM(Random Access Memory)10dと、ROM(Read Only Memory)10eと、補助記憶装置10fと、バス10gとを有している。この例のCPU10aは、制御部10aa、演算部10ab及びレジスタ10acを有している。また、入力部10bは、例えば、音声信号が入力される入力ポート、マイクロホン等であり、出力部10cは、音声信号その他のデータを出力する出力ポート等である。補助記憶装置10fは、例えば、ハードディスク、MO(Magneto-Optical disc)、半導体メモリ等であり、本形態の通話区間推定装置10の処理をCPU10aに実行させるための通話区間推定プログラムが格納されるプログラム領域10fa、音声信号その他のデータが格納されるデータ領域10fbを有している。また、RAM10dは、SRAM (Static Random Access Memory)、DRAM (Dynamic Random Access Memory)等であり、通話区間推定プログラムが格納されるプログラム領域10da、音声信号その他のデータが格納されるデータ領域10dbを有している。また、バス10gは、CPU10aと、入力部10bと、出力部10cと、RAM10dと、ROM10eと、補助記憶装置10fとを通信可能に接続している。
この例のCPU10aは、読み込まれたOS(Operating System)プログラムに従い、補助記憶装置10fのプログラム領域10faに格納されているプログラムを、RAM10dのプログラム領域10daに書き込む。同様にCPU10aは、補助記憶装置10fのデータ領域10fbに格納されている各種データをRAM10dのデータ領域10dbに書き込む。さらに、CPU10aは、当該プログラムや各種データが書き込まれたRAM10d上のアドレスをレジスタ10acに格納する。そして、CPU10aの制御部10aaは、レジスタ10acに格納されたこれらのアドレスを順次読み出し、読み出したアドレスが示すRAM10d上の領域からプログラムやデータを読み出し、そのプログラムが示す演算を演算部10abに順次実行させ、その演算結果をレジスタ10acに格納していく。
図1は、このようにCPU10aにプログラムが読み込まれて実行されることにより構成される通話区間推定装置10の構成を例示したブロック図である。
図1に例示するように、本形態の通話区間推定装置10は、音声入力部11と音声検出部12と通話区間推定部13と制御部14と記憶部15とを有する。また、通話区間推定部13は、通話区間開始判定部13aと通話区間終了判定部13bとデータ制御部13cとメモリ13dとを有する。
なお、通話区間推定装置10は、制御部14の制御のもと各処理を実行する。また、各データは逐一記憶部に記憶され、必要に応じて読みだされる。また、音声入力部11には、何れかの通話端末装置を基準とした送話側チャネル51の音声信号s1(t)(tは時間)と受話側チャネル52の音声信号s2(t)とが入力される。ここで、「チャネル」とは音声信号の処理系列を意味する。また、図1における矢印はデータの流れを示すが、制御部14及び記憶部15に入出力されるデータの流れの記載は省略してある。
<通話区間推定装置の適用例>
本形態の通話区間推定装置10は、複数の通話端末装置間で通話がなされる通話システムに適用される。図3は、このような通話システム100に通話区間推定装置10を適用した例を示したブロック図である。
図3の例の通話システム100は、2つの電話機101、102(「通話端末装置」の一例)と、音声出力装置120と、上述のように計算機(PC)上で構成される通話区間推定装置10と、計算機(PC)上で構成される音声認識装置131と、音声を録音する音声録音装置132とを有している。なお、音声出力装置120は、例えば、電話機102から出力されたアナログ音声信号をデジタル信号に変換して出力する音声アダプター等である。ここで、電話機102と音声出力装置120と通話区間推定装置10とは、それぞれ、電話機102を基準とした送話側チャネル51と受話側チャネル52とを持つ回線によって直列に接続される。なお、回線の例としては、例えば、USB(universal serial bus)ケーブルやLAN(Local Area Network)やWAN(Wide Area Network)がある。さらに、通話区間推定装置10は、当該両チャネルのデータを音声認識装置131と音声録音装置132に転送可能なようにこれらと接続されている。
なお、図3の構成はあくまで一例である。例えば、図3の変形例として、通話区間推定装置10や音声認識装置131を1台の計算機(PC)上で実現してもよいし、音声認識装置131や音声録音装置132が存在しない構成であってもよい。
<通話区間推定処理>
次に、本形態の通話区間推定処理について説明する。
[処理の概要]
図4は、本形態の通話区間推定処理の概要を説明するためのフローチャートである。なお、図4の各ステップはそれぞれ並列に実行可能であるが、以下では、説明の便宜上、各ステップを順次説明していく。
まず、ステップS1(音声入力過程)では、何れかの通話端末装置を基準とした送話側チャネル51の音声信号と受話側チャネル52の音声信号とが通話区間推定装置10の音声入力部11に入力される(ステップS1)。図3の例では、電話機101,102間の通話音声である送話側チャネル51の音声信号s1(t)と受話側チャネル52の音声信号s2(t)とが音声入力部11に入力される。より具体的な例として、電話機102を用いるオペレータと電話機101を用いる顧客とが通話を行う場合には、送話側チャネル51のオペレータの音声信号s1(t)と、受話側チャネル52の顧客の音声信号s2(t)とが音声入力部11に入力される。
ステップS2(音声検出過程)では、ステップS1(音声入力過程)で入力された2チャネルの音声信号を用い、音声検出部12が、チャネル毎の音声区間と非音声区間とを検出する(ステップS2)。より具体的には、例えば、音声検出部12が、音声入力部11に入力されたオペレータの音声信号s1(t)と顧客の音声信号s2(t)との各々から、逐次(例えば一定時間毎に一定時間周期で)音声信号を所定の時間区間(フレーム)で切り出し、何らかの音声・非音声判別方法を用い、各フレームの音声信号が音声であるか非音声であるか(各フレームが音声区間であるか非音声区間であるか)をチャネル毎に判別する。なお、音声か非音声かの判別には、例えば、非特許文献1等の公知の方法を用いればよい。また、音声信号が音声である時間区間を音声区間と呼び、非音声である時間区間を非音声区間と呼ぶ。
ステップS3(通話区間推定過程)では、通話区間推定部13が、ステップS2(音声検出過程)で検出された2チャネルの音声区間と非音声区間との情報を用い、通話区間を検出する(ステップS3)。具体的には、例えばまず、通話区間推定部13に、上記のオペレータの音声信号s1(t)と顧客の音声信号s2(t)が各フレームにおいて音声か非音声かの判別結果(各フレームが音声区間であるか非音声区間であるかの判別結果)が逐次(例えば0.5秒毎)に入力される。そして、この例の通話区間推定部13は、逐次入力される各チャネルの音声か非音声かの判別結果をもとに、通話区間を推定する。
その後、図3の例では、推定された通話区間に基づき、通話区間内の音声信号のみを音声認識装置131へ送り、それらの音声認識を行ったり、通話区間内の音声信号のみを音声録音装置132に送って通話録音を実行し、記憶装置などに通話音声データを保存したりすることができる。
[処理の詳細]
次に、本形態の処理の詳細を説明する。
前述のように、音声入力部11に入力された送話側チャネル51の音声信号s1(t)と受話側チャネル52の音声信号s2(t)とは、それぞれ音声検出部12に入力され、音声検出部12は、音声信号s1(t),s2(t)から切り出した各フレームが音声区間であるか非音声区間であるかをチャネル毎に判別する。以下では、送話側チャネル51の音声区間判別結果をx1(n)と表現し、受話側チャネル52の音声区間判別結果をx2(n)と表現する。ここで、nは切り出されたフレームの番号を示し、フレーム番号nのフレームを「フレームn」と表現する。また、x1(n)=1は送話側チャネル51のフレームnが音声区間であることを示し、x2(n)=1は受話側チャネル52のフレームnが音声区間であることを示す。一方、x1(n)=0は送話側チャネル51のフレームnが非音声区間であることを示し、x2(n)=0は受話側チャネル52のフレームnが非音声区間であることを示す。
このような送話側チャネル51の音声区間判別結果x1(n)と受話側チャネル52の音声区間判別結果x2(n)とは、逐次、通話区間推定部13に転送される。また、例えば音声認識や音声録音の目的のため、送話側チャネル51の音声信号s1(n)と受話側チャネル52の音声信号s2(n)とが、逐次、通話区間推定部13に転送され、通話区間推定部13のデータ制御部13cを通じて音声認識装置や音声録音装置等へ送られる。なお、データ制御部13cは、音声信号s1(n),s2(n)が転送される度にそれらを音声認識装置や音声録音装置等へ送信してもよいし、音声認識や音声録音等を行う音声信号s1(n),s2(n)のみを音声認識装置や音声録音装置等へ送信してもよい。また、音声信号s1(n)は、フレームnに含まれる各時間tの音声信号s1(t)の列(ベクトル)であり、音声信号s2(n)は、フレームnに含まれる各時間tの音声信号s2(t)の列(ベクトル)である。
[通話区間推定処理(ステップS3)の詳細]
以下、通話区間推定部13の通話区間推定処理(ステップS3)の詳細を説明する。
図5は、通話区間推定処理(ステップS3)の詳細を説明するためのフローチャートである。
まず、通話区間開始判定部13a(図1)が、音声検出部12から転送された送話側チャネル51の音声区間判別結果x1(n)と受話側チャネル52の音声区間判別結果x2(n)とを用い、当該処理対象のフレームnについて、何れかのチャネルに音声区間が検出されたか否かを判定する(ステップS11)。
ここで、何れのチャネルにも音声区間がなかった場合(x1(n)=0かつx2(n)=0)、制御部14は、処理対象のフレームnを更新して(ステップS12)、処理をステップS11に戻す。
一方、何れかのチャネルに音声区間があった場合(x1(n)=1及び/又はx2(n)=1)、通話区間開始判定部13aは、音声区間であると判断したフレームの開始時刻である音声区間開始時刻nsをデータ制御部13cに送る。この音声区間開始時刻nsは、通話が開始された可能性が高いと判断した時点になる。データ制御部13cは、送られた音声区間開始時刻ns以降のフレームn の音声信号s1(n),s2(n)の処理開始指示を出力する(ステップS13)。図3の例では、音声区間開始時刻ns以降のフレームn の音声信号s1(n),s2(n)の音声認識処理開始指示を音声認識装置131に出力したり、声区間開始時刻ns以降のフレームn の音声信号s1(n),s2(n)の録音開始指示を音声録音装置132に出力したりする。これにより、音声認識装置131や音声録音装置132は、音声区間開始時刻ns以降のフレームn の音声信号s1(n),s2(n)の音声認識や音声録音の動作を開始する。
ステップS13の次に、通話区間開始判定部13aは、音声区間検出チャネルcsの音声区間の開始時刻nsから一定時間T3後を起点とし、そこから一定時間T1以内に別のチャネルの音声区間が存在するか否かを判断する(ステップS14)。例えば、音声区間開始チャネルcsが送話側チャネル51であった場合、通話区間開始判定部13aは、音声区間の開始時刻nsから一定時間T3後を起点とし、そこから一定時間T1以内に受話側チャネル52の音声区間が存在するか否かを判定する。なお、一定時間T3は、わずかな時間であり、例えば0.2秒でもよいし、0秒でもよい。また、T1は例えば20秒などとする。
この判断において別のチャネルの音声区間が存在しないと判断された場合、通話区間開始判定部13aは、音声区間開始時刻nsを開始時刻とする音声区間が通話区間でない(非通話)と判断し、その判断結果を示す通話開始判定結果jsをデータ制御部13cに送る。データ制御部13cは、処理の解除命令を出力する(ステップS15)。図3の例では、音声信号s1(n),s2(n)の音声認識処理中止指示を音声認識装置131に出力したり、音声信号s1(n),s2(n)の録音中止指示を音声録音装置132に出力したりする。これにより、音声認識装置131が音声認識処理を中止したり、音声録音装置132が音声録音を中止したりする。その結果、音声認識処理を中止する場合には、音声認識装置131が無駄な処理を行ってしまうことを防止できる。また、音声録音を中止する際には、無駄な録音データを保存せずに済むため、必要なデータ保存領域を必要最小限に抑えることができる。また、ステップS15の後はステップS12の処理に戻る。
一方、ステップS14の判断において別のチャネルの音声区間が存在すると判断された場合、通話区間開始判定部13aは、音声区間開始時刻nsが通話区間の開始時刻であると判断し、当該音声区間開始時刻nsを開始時刻とする音声区間が通話区間に含まれると判定する(ステップS16)。この場合、音声認識装置131や音声録音装置132の処理は継続される。
次に、音声区間終了判定部13b(図1)が、音声検出部12から転送された送話側チャネル51の音声区間判別結果x1(n)と受話側チャネル52の音声区間判別結果x2(n)とを用い、通話区間に含まれると判断された音声区間の終了時刻neから一定時間T2以内に何れかのチャネルに他の音声区間が存在するか否かを判断する(ステップS17)。なお、一定時間T2は例えば60秒などとする。
ここで、通話区間に含まれると判断された音声区間の終了時刻neから一定時間T2以内に何れかのチャネルに他の音声区間が存在すると判断された場合には、音声区間終了判定部13bは、まだ通話が継続しており、少なくとも当該他の音声区間が通話区間に含まれると判定し(ステップS18)、処理がステップS17に戻される。
一方、ステップS17で、通話区間に含まれると判断された音声区間の終了時刻neから一定時間T2以内に何れかのチャネルに他の音声区間が存在しないと判断された場合には、音声区間終了判定部13bは、当該他の音声区間の終了時刻ne又は現時点を通話区間の終了時刻と決定し、その旨を示す通話終了判定結果jeをデータ制御部13cに送る。これを受けたデータ制御部13cは、処理終了と判断して処理終了命令を出力し(ステップS19)、処理がステップS12に戻される。図3の例では、データ制御部13cは、処理終了命令を音声認識装置131や音声録音装置132に送り、これを受けた音声認識装置131や音声録音装置132はそれぞれの処理を終了する。
[通話区間推定処理(ステップS3)のアルゴリズム例]
次に、通話区間推定処理(ステップS3)のアルゴリズムを例示する。
図6,図7は、通話区間推定処理(ステップS3)のアルゴリズム例を説明するためのフローチャートである。
まず、通話区間開始判定部13a(図1)が、音声検出部12から転送された送話側チャネル51の音声区間判別結果x1(n)と受話側チャネル52の音声区間判別結果x2(n)とを用い、両チャネルについて、処理対象のフレームy(n)の音声信号が音声区間のものであるか否かを判定する(ステップS31)。
ここで、何れのチャネルにも音声区間がなかった場合(x1(n)=0かつx2(n)=0)(ステップS32)、制御部14は、n+1を新たなnとして処理対象のフレームnを更新して(ステップS33)、処理をステップS31に戻す。
一方、何れかのチャネルで音声区間が検出された場合(x1(n)=1及び/又はx2(n)=1)(ステップS32)、通話区間開始判定部13aは、音声区間が検出されたチャネルを示す情報である音声区間開始チャネルcsと、音声区間であると判断したフレームの開始時刻である音声区間開始時刻nsとをメモリ13dに格納する。また、この場合、通話区間開始判定部13aは、音声区間開始時刻nsをデータ制御部13cに送る。データ制御部13cは、送られた音声区間開始時刻ns以降のフレームn の音声信号s1(n),s2(n)の処理開始指示を出力する(ステップS34)。
その後、制御部14は、n+1を新たなnとして処理対象のフレームnを更新する(ステップS35)。そして、通話区間開始判定部13aは、音声検出部12から転送された音声区間判別結果x1(n)又は音声区間判別結果x2(n)とメモリ13dから読み出した音声区間開始チャネルcsとを用い、音声区間が検出された音声区間開始チャネルcs以外のチャネルについて、処理対象のフレームy(n)の音声信号が音声区間のものであるか否かを判定する(ステップS36)。
ここで、処理対象のフレームy(n)の音声信号が音声区間でなかったと判定された場合(ステップS37)、通話区間開始判定部13aは、処理対象のフレームy(n)は、音声区間が検出されたチャネルcsの音声区間の開始時刻nsから一定時間T3後を起点とし、そこから一定時間T1以内の時間区間に属するフレームであるか否かを判定する(ステップS38)。ステップS38で、処理対象のフレームy(n)が、当該起点から一定時間T1以内の時間区間に属するフレームであると判定された場合には、処理がステップS35に戻される。一方、ステップS38で、処理対象のフレームy(n)が、当該起点から一定時間T1以内の時間区間に属するフレームでないと判定された場合には、通話区間開始判定部13aは、音声区間開始時刻nsを開始時刻とする音声区間が通話区間でない(非通話)と判断し、その判断結果を示す通話開始判定結果jsをデータ制御部13cに送る。データ制御部13cは、処理の解除命令を出力し(ステップS39)、その後、処理がステップS33に戻される。
一方、ステップS37で、処理対象のフレームy(n)の音声信号が音声区間であったと判定された場合(ステップS37)、通話区間開始判定部13aは、音声区間開始時刻nsが通話区間の開始時刻であると判断し、当該音声区間開始時刻nsを開始時刻とする音声区間が通話区間に含まれると判定する(ステップS40)。
ステップS40の判定がなされた場合、制御部14は、n+1を新たなnとして処理対象のフレームnを更新し(ステップS41)、通話区間終了判定部13b(図1)が、音声検出部12から転送された送話側チャネル51の音声区間判別結果x1(n)と受話側チャネル52の音声区間判別結果x2(n)とを用い、両チャネルについて、処理対象のフレームy(n)の音声信号が音声区間のものであるか否かを判定する(ステップS42)。
ここで、何れかのチャネルで音声区間が検出された場合(x1(n)=1及び/又はx2(n)=1)(ステップS43)、通話区間終了判定部13bは、少なくとも当該音声区間が通話区間に含まれると判定し、当該音声区間の終了時刻neをメモリ13dに格納する。そして、処理がステップS41に戻される(ステップS44)。
一方、何れのチャネルにも音声区間が検出されなかった場合(x1(n)=0かつx2(n)=0)には(ステップS43)、制御部14は、n+1を新たなnとして処理対象のフレームnを更新し(ステップS45)、通話区間終了判定部13bが、音声区間判別結果x1(n)と音声区間判別結果x2(n)とを用い、両チャネルについて、処理対象のフレームy(n)の音声信号が音声区間のものであるか否かを判定する(ステップS46)。
ここで、何れかのチャネルで音声区間が検出された場合(x1(n)=1及び/又はx2(n)=1)(ステップS47)、処理がステップS44に移される。一方、何れのチャネルにも音声区間が検出されなかった場合(x1(n)=0かつx2(n)=0)には(ステップS47)、通話区間終了判定部13bは、次の処理対象のフレームy(n+1)が、「通話区間に含まれる」と最後に判定された(ステップS44)音声区間の終了時刻neから一定時間T2以内であるか否かを判定する(ステップS48)。ここで、次の処理対象のフレームy(n+1)が「通話区間に含まれる」と最後に判定された音声区間の終了時刻neから一定時間T2以内であると判定された場合には、処理がステップS45に戻される。一方、次の処理対象のフレームy(n+1)が、「通話区間に含まれる」と最後に判定された音声区間の終了時刻neから一定時間T2以内でないと判定された場合には、通話区間終了判定部13bは、当該音声区間の終了時刻ne又は現時点を通話区間の終了時刻と決定し、その決定内容を示す通話終了判定結果jeをデータ制御部13cに送る。これを受けたデータ制御部13cは、処理終了と判断して処理終了命令を出力する(ステップS49)。その後、処理がステップS33に戻される。
<通話区間を正しく推定できる理由>
次に、上述のような通話区間推定処理によって通話区間を正しく推定できる理由について説明する。
[通話区間の開始を正しく推定できる理由]
図8〜図11は、本形態の通話区間推定処理によって通話区間の開始を正しく推定できる理由を説明するための図である。以下、これらの図を用いて通話区間の開始を正しく推定できる理由を説明する。
図3に例示した通話システム100において、電話機102を使用する送話者と、電話機101を使用する受話者のうちどちらか1話者の発話が開始された場合を想定する。この場合、図8に例示するように、発話が開始した側のチャネルAの音声区間が検出され(図4:ステップS11)、その音声区間開始時刻ns以降のフレームnの音声信号s1(n),s2(n)の音声認識処理や音声録音処理等の開始指示が出される(ステップS13)。そして、その音声区間の開始時刻nsからわずかな一定時間T3(例えば0.2秒。ただし0秒でも良い。)の後を起点とし、そこから一定時間T1(例えば20秒)以内に別のチャネルBにも音声区間があるため(発話があるため)(ステップS14)、その時点でチャネルAで検出された音声区間は確かに通話区間に含まれると判断し、音声区間の開始時刻nsを通話区間の開始時刻と推定する(ステップS16)。この場合、音声認識処理や音声録音処理等の処理が継続される。
このように、チャネルAの発話区間を検出した時点から、音声認識装置131や音声録音装置132に音声認識処理や音声録音処理等を実行させることで、リアルタイムで通話音声の音声認識結果を得たり、通話音声を漏らさず記録したりすることができる。なお、このような音声認識処理は、例えば、通話記録の自動文章化などに利用できる。
ここで、本形態では複数チャネルでの通話があって初めて通話であると判断するため、通話が開始されたことを確実に判断することができ、通話でない場合(例えば、話者による咳払いなど)には正確に通話ではないと判断することができる。以下にその詳細を示す。
図3に例示した通話システム100において、電話機102を使用する送話者が通話を行っていないときに咳払いを行った状況を想定する。この場合、図9に例示するように、咳払いを行った話者側のチャネルAの音声区間が検出され(図4:ステップS11)、その音声区間開始時刻ns以降のフレームnの音声信号s1(n),s2(n)の音声認識処理や音声録音処理等の開始指示が出される(ステップS13)。そして、その音声区間の開始時刻nsからわずかな一定時間T3(例えば0.2秒。ただし0秒でも良い。)の後を起点とし、そこから一定時間T1(例えば20秒)以内に別のチャネルBに音声区間は存在しないため(発話がないため)(ステップS14)、その時点でチャネルAで検出された音声区間は通話区間ではないと判断され、音声認識処理や音声録音処理等の処理が中止される(ステップS15)。この場合、音声認識装置131の処理をT1が経過した時点で停止し、また、音声録音装置132で記録した録音データを棄却すれば、誤検出による音声録音処理の演算量の無駄やデータ記憶領域の無駄を軽減することができる。また、このような本形態の特徴は、一方のチャネルに高いレベルの周囲雑音等が長時間入力される場合に特に効果的である。このような場合、非特許文献1の従来方式では、長時間の周囲雑音等の区間を全て通話区間と誤認し、その区間に対して音声認識処理等を実行してしまうが、本形態ではそのような誤作動区間を一定時間T1に抑制できるからである。
また、本形態において、T3を0よりも大きくとる(T3>0)ことにより、両チャネルで同時に発生した雑音等を通話音声であると誤認してしまうことを防止できる。以下にその詳細を示す。
図3に例示した通話システム100において、両チャネルに同時に突発的な雑音(例えば、電話機102に図示していないヘッドセットのピンジャック端子を抜き差しする際に発生するノイズなど)が発生してしまった状況を想定する。また、当該突発的な雑音の継続時間はT3未満であるとする。この場合、図10に例示するように、まずチャネルAの音声区間が検出され(図4:ステップS11)、その音声区間開始時刻ns以降のフレームnの音声信号s1(n),s2(n)の音声認識処理や音声録音処理等の開始指示が出される(ステップS13)。そして、その音声区間の開始時刻nsからわずかな一定時間T3(例えば0.2秒)の後を起点とし、そこから一定時間T1(例えば20秒)以内に別のチャネルBに音声区間は存在しないため(ステップS14)、その時点でチャネルAで検出された音声区間は通話区間ではないと判断され、音声認識処理や音声録音処理等の処理が中止される(ステップS15)。図11に、この場合の全体の流れを示す。
[通話区間の終了を正しく推定できる理由]
次に、通話区間の終了を正しく推定できる理由について説明する。図12に例示するように、本形態では、通話であると判断(ステップS16)された後、通話区間に含まれると決定された音声区間が終了した時点から一定時間T2(例えば60秒)以内に両チャネルともに音声区間が存在しなければ(ステップS17)、最後の音声区間の終了時刻ne(T2のカウント開始時)又はT2時間が経過した時点(T2のカウント終了時)で通話が終了したと判断する(ステップS19)。この判断は「両チャネルともに長時間無音が続く状態は通話終了後に違いない」という経験的事実によるものであり、妥当なものである。なお、通話終了と判断した後には音声認識装置131における音声認識処理を終了したり、音声録音装置132における通話録音処理を終了して録音データを保存したりすればよい。
また、図13に例示するように、本形態では、通話終了でないと判断された場合(ステップS17)には、通話区間に含まれると判断された音声区間(VS(発話開始)からVE(発話終了)までの区間)が終了した時刻neから一定時間T2以内に次の音声区間があるか否かを判定し、音声区間があれば、その後通話終了と判断できるまで同じ判定処理を繰り返す(ステップS17,S18)。すなわち、通話区間の終了時刻が決定されるまで、異なる或る音声区間について、順次、ステップS17,S18の処理が実行される。
また、本形態では、通話区間に含まれると決定された音声区間の終了時刻neから一定時間T2以内に何れかのチャネルに他の音声区間が存在する場合に通話継続中と判断し、通話終了と判断されるまでこの処理を繰り返す(ステップS17,S18)。図14に、この場合の全体の流れを示す。このように両チャネルの情報を用いて通話終了の判断を行っているため、チャネルAの話者がチャネルBの話者の話を長時間聞き続けており無言であったとしても、誤って通話終了と判断されることを防止できる。その結果として、両チャネルの情報を用いて通話終了の判断を行う本形態では、1チャネルの情報のみを用いて通話終了の判断を行う場合よりも、T2の長さを短くすることができる。1チャネルの情報のみを用いて通話終了の判断を行う場合には、チャネルAの話者がチャネルBの話者の話を無言で長時間聞き続けている際に通話終了と判断されてしまう誤りを避けるため、T2を長くする必要があるからである。
〔第2実施形態〕
次に、本発明の第2実施形態について説明する。
<通話区間推定装置の構成>
本形態は第1実施形態の変形例であり、通話区間の終了を判断する際、特定の1チャネルの音声区間判別結果のみを用いる点が第1実施形態と相違する。以下では第1実施形態との第1実施形態との相違点を中心に説明し、第1実施形態と共通する事項については説明を省略する。
図15は、第2実施形態の通話区間推定装置200の構成を例示したブロック図である。なお、第2実施形態の通話区間推定装置200もCPUにプログラムが読み込まれて実行されることにより構成されるものである。
図15に例示するように、本形態の通話区間推定装置200は、音声入力部11と音声検出部12と通話区間推定部213と制御部14と記憶部15とを有する。また、通話区間推定部13は、通話区間開始判定部13aと通話区間終了判定部213bとデータ制御部13cとメモリ13dとを有する。すなわち、第1実施形態の通話区間終了判定部13bが通話区間終了判定部213bに置換された構成である。
<通話区間推定処理>
次に、本形態の通話区間推定処理について説明する。
処理の全体は第1実施形態で図4に例示したものと同様である。相違点は、通話区間推定処理(図4:ステップS3)における、通話区間の終了時点の判断のみである。
[通話区間推定処理(ステップS3)の詳細]
以下、通話区間推定部213の通話区間推定処理(ステップS3)の詳細を説明する。
図16は、本形態の通話区間推定処理(ステップS3)の詳細を説明するためのフローチャートである。
本形態の通話区間の開始を判定するための処理(ステップS101からS106までの処理)は、第1実施形態の処理(図5:ステップS11からS16までの処理)と同じであるため説明を省略する。
ステップS106で通話区間の開始時刻の決定後、通話区間の終了判定処理が開始される。まず、音声区間終了判定部213b(図15)が、音声検出部12から転送された送話側チャネル51の音声区間判別結果x1(n)と受話側チャネル52の音声区間判別結果x2(n)とを用い、通話区間に含まれると判断された音声区間の終了時刻neから一定時間T2以内に特定の1チャネル(送話側チャネル51又は受話側チャネル52)に他の音声区間が存在するか否かを判断する(ステップS107)。
ここで、通話区間に含まれると判断された音声区間の終了時刻neから一定時間T2以内に上記特定の1チャネルに他の音声区間が存在すると判断された場合には、音声区間終了判定部213bは、まだ通話が継続しており、少なくとも当該他の音声区間が通話区間に含まれると判定し(ステップS108)、処理がステップS107に戻される。
一方、ステップS107で、通話区間に含まれると判断された音声区間の終了時刻neから一定時間T2以内に上記特定の1チャネルに他の音声区間が存在しないと判断された場合には、音声区間終了判定部213bは、当該他の音声区間の終了時刻ne又は現時点を通話区間の終了時刻と決定し、その旨を示す通話終了判定結果jeをデータ制御部13cに送る。これを受けたデータ制御部13cは、処理終了と判断して処理終了命令を出力し(ステップS109)、処理がステップS102に戻される。
[通話区間推定処理(ステップS3)のアルゴリズム例]
次に、本形態の通話区間推定処理(ステップS3)のアルゴリズムを例示する。
本形態の通話区間の開始を判定するためのアルゴリズムは、第1実施形態の処理(図6:ステップS31からS38までの処理)と同じであるため説明を省略する。以下では、通話区間の終了を判定するためのアルゴリズム例について説明する。
図17は、本形態の通話区間推定処理(ステップS3)の通話区間の終了を判定するためのアルゴリズム例を説明するためのフローチャートである。
第1実施形態と同様に、通話区間開始判定部13aが、音声区間開始時刻nsが通話区間の開始時刻であると判断し、当該音声区間開始時刻nsを開始時刻とする音声区間が通話区間に含まれると判定(ステップS130)した後、以下の処理が開始される。
まず、制御部14は、n+1を新たなnとして処理対象のフレームnを更新し(ステップS131)、通話区間終了判定部213b(図15)が、音声検出部12から転送された送話側チャネル51の音声区間判別結果x1(n)と受話側チャネル52の音声区間判別結果x2(n)とを用い、両チャネルについて、処理対象のフレームy(n)の音声信号が音声区間のものであるか否かを判定する(ステップS132)。
ここで、何れかのチャネルで音声区間が検出された場合(x1(n)=1及び/又はx2(n)=1)(ステップS133)、通話区間終了判定部213bは、少なくとも当該音声区間が通話区間に含まれると判定し、当該音声区間の終了時刻neをメモリ13dに格納する。そして、処理がステップS131に戻される(ステップS134)。
一方、何れのチャネルにも音声区間が検出されなかった場合(x1(n)=0かつx2(n)=0)には(ステップS133)、制御部14は、n+1を新たなnとして処理対象のフレームnを更新し(ステップS135)、通話区間終了判定部13bが、音声区間判別結果x1(n)又は音声区間判別結果x2(n)の何れかを用い、特定の1つのチャネルについて、処理対象のフレームy(n)の音声信号が音声区間のものであるか否かを判定する(ステップS136)。
ここで、特定の1つのチャネルで音声区間が検出された場合(例えば、「特定の1つのチャネル」が送話側チャネル51ならばx1(n)=1の場合)(ステップS137)、処理がステップS44(図7)に移される。一方、当該特定の1つのチャネルに音声区間が検出されなかった場合(例えば、「特定の1つのチャネル」が送話側チャネル51ならばx1(n)=0の場合)には(ステップS137)、通話区間終了判定部213bは、次の処理対象のフレームy(n+1)が、「通話区間に含まれる」と最後に判定された音声区間の終了時刻neから一定時間T2以内であるか否かを判定する(ステップS138)。ここで、次の処理対象のフレームy(n+1)が「通話区間に含まれる」と最後に判定された音声区間の終了時刻neから一定時間T2以内であると判定された場合には、処理がステップS45(図7)に戻される。一方、次の処理対象のフレームy(n+1)が、「通話区間に含まれる」と最後に判定された音声区間の終了時刻neから一定時間T2以内でないと判定された場合には、通話区間終了判定部213bは、当該音声区間の終了時刻ne又は現時点を通話区間の終了時刻と決定し、その決定内容を示す通話終了判定結果jeをデータ制御部13cに送る。これを受けたデータ制御部13cは、処理終了と判断して処理終了命令を出力する(ステップS139)。その後、処理がステップS33(図7)に戻される。
<通話区間の終了を正しく推定できる理由>
次に、本形態において通話区間の終了を正しく推定できる理由について説明する。
図18は、本形態において通話区間の終了を正しく推定できる理由を説明するための図である。図18に例示するように、本形態では、通話であると判断(ステップS106)された後、通話区間に含まれると決定された音声区間が終了した時点から一定時間T2(例えば60秒)以内に特定の1つのチャネルAに音声区間が存在しなければ(ステップS107)、最後の音声区間の終了時刻ne(T2のカウント開始時)又はT2時間が経過した時点(T2のカウント終了時)で通話が終了したと判断する(ステップS109)。本形態の方法は、「通常の音声通話ならばどちらの話者も長時間黙っていることはないため、1話者において長時間無音が観測されれば通話は終了していると判断してよい」との経験的事実に基づくものである。
また、図19に例示するように、本形態では、通話終了でないと判断された場合(ステップS107)には、通話区間に含まれると判断された音声区間が終了した時刻neから一定時間T2以内にチャネルAに次の音声区間があるか否かを判定し、音声区間があれば、その後通話終了と判断できるまで同じ判定処理を繰り返す(ステップS107,S108)。すなわち、通話区間の終了時刻が決定されるまで、異なる或る音声区間について、順次、ステップS107,S108の処理が実行される。
〔第3実施形態〕
次に、本発明の第3実施形態について説明する。
本形態は、第1,2実施形態の変形例であり、突発性雑音を音声区間と誤って検出することを防ぐことが可能な形態である。第1,2実施形態では、音声検出部12(図1,図15)が、各チャネルでフレーム毎に音声区間(x1(n)=1,x2(n)=1)であるか非音声区間(x1(n)=0,x2(n)=0)であるかを判別する方法を説明した。しかし、このような方法では突発性の雑音(短時間に大きな電力が集中する雑音)を音声として誤検出してしまう場合がある。第3実施形態では、このような誤検出を防ぐために、同じチャネルの複数フレームで連続して音声が検出された場合にのみ、当該チャネルに音声区間が存在すると判断する。これは、突発性の雑音と比べ、音声が長時間にわたって連続して安定した大きなパワーを持つという性質を利用したものである。
以下では、このような方法について2つの実施例を説明する。
実施例2では、第1,2実施形態と同じ音声検出部12を用い、フレーム毎の音声区間か否かの情報を音声区間推定部に転送する。しかし、音声区間推定部は、同じチャネルの複数フレームで連続して一定時間(Tフレーム以上)以上音声が検出された場合にのみ、当該チャネルに音声区間が存在すると判断する。
すなわち、図22(a)に例示するように、音声区間推定部は、同じチャネルの複数フレームで連続して一定時間(Tフレーム以上)以上音声が検出された場合にはそれらのフレームが音声区間と判定するが、図22(b)に例示するように、同じチャネルの複数フレームで連続して一定時間(Tフレーム以上)以上音声が検出されなかった場合にはフレームが非音声区間であると判定する。
図23,図24は、第3実施形態の実施例2の通話区間推定処理例を説明するためのフローチャートである。以下、これらの図に沿って実施例2の通話区間推定処理の一例を説明する。
まず、通話区間開始判定部が、音声検出部12から転送された送話側チャネル51の音声区間判別結果x1(n)と受話側チャネル52の音声区間判別結果x2(n)とを用い、フレームy(n),…,y(n+T-1)が連続して音声区間であるか否かを、両チャネルについてそれぞれ判定する(ステップS231)。
ここで、何れのチャネルでもフレームy(n),…,y(n+T-1)が連続して音声区間となっていなかった場合(ステップS232)、制御部14は、n+1を新たなnとして処理対象のフレームnを更新して(ステップS233)、処理をステップS231に戻す。
一方、何れかのチャネルで、フレームy(n),…,y(n+T-1)が連続した連続した音声区間であった場合(ステップS232)、通話区間推定部は、音声区間が検出されたチャネルを示す情報である音声区間開始チャネルcsと、音声区間であると判断したフレームの開始時刻である音声区間開始時刻nsとをメモリ13dに格納する。また、この場合、通話区間開始判定部13aは、音声区間開始時刻nsをデータ制御部13cに送る。データ制御部13cは、送られた音声区間開始時刻ns以降のフレームn の音声信号s1(n),s2(n)の処理開始指示を出力する(ステップS234)。
その後、制御部14は、n+1を新たなnとして処理対象のフレームnを更新する(ステップS235)。そして、通話区間開始判定部は、音声検出部12から転送された音声区間判別結果x1(n)又は音声区間判別結果x2(n)とメモリ13dから読み出した音声区間開始チャネルcsとを用い、音声区間が検出された音声区間開始チャネルcs以外のチャネルについて、フレームy(n),…,y(n+T-1)が連続して音声区間であるか否かを判定する(ステップS236)。
ここで、フレームy(n),…,y(n+T-1)が連続して音声区間となっていなかった場合(ステップS237)、通話区間開始判定部は、処理対象のフレームy(n)は、音声区間が検出されたチャネルcsの音声区間の開始時刻nsから一定時間T3後を起点とし、そこから一定時間T1以内の時間区間に属するフレームであるか否かを判定する(ステップS238)。ステップS238で、処理対象のフレームy(n)が、当該起点から一定時間T1以内の時間区間に属するフレームであったと判定された場合には、処理がステップS235に戻される。一方、ステップS238で、処理対象のフレームy(n)が、当該起点から一定時間T1以内の時間区間に属するフレームでなかったと判定された場合には、通話区間開始判定部は、音声区間開始時刻nsを開始時刻とする音声区間が通話区間でない(非通話)と判断し、その判断結果を示す通話開始判定結果jsをデータ制御部13cに送る。データ制御部13cは、処理の解除命令を出力し(ステップS239)、その後、処理がステップS233に戻される。
一方、ステップS237で、処理対象のフレームy(n)の音声信号が音声区間であったと判定された場合(ステップS237)、通話区間開始判定部は、音声区間開始時刻nsが通話区間の開始時刻であると判断し、当該音声区間開始時刻nsを開始時刻とする音声区間が通話区間に含まれると判定する(ステップS240)。
ステップS240の判定がなされた場合、制御部14は、n+1を新たなnとして処理対象のフレームnを更新し(ステップS241)、通話区間終了判定部が、音声検出部12から転送された送話側チャネル51の音声区間判別結果x1(n)と受話側チャネル52の音声区間判別結果x2(n)とを用い、フレームy(n),…,y(n+T-1)が連続して音声区間であるか否かを両チャネルについてそれぞれ判定する(ステップS242)。
ここで、フレームy(n),…,y(n+T-1)が連続して音声区間となっていた場合(ステップS243)、通話区間終了判定部は、少なくともフレームy(n)の音声区間が通話区間に含まれると判定し、当該音声区間の終了時刻neをメモリ13dに格納する。そして、処理がステップS241に戻される(ステップS244)。
一方、何れのチャネルでもフレームy(n),…,y(n+T-1)が連続して音声区間となっていなかった場合(ステップS243)、制御部14は、n+1を新たなnとして処理対象のフレームnを更新し(ステップS245)、通話区間終了判定部が、音声区間判別結果x1(n)と音声区間判別結果x2(n)とを用い、フレームy(n),…,y(n+T-1)が連続して音声区間であるか否かを両チャネルについてそれぞれ判定する(ステップS246)。
ここで、何れかのチャネルでフレームy(n),…,y(n+T-1)が連続して音声区間となっていた場合(ステップS247)、処理がステップS244に移される。一方、何れのチャネルでもフレームy(n),…,y(n+T-1)が連続して音声区間となっていなかった場合には(ステップS247)、通話区間終了判定部は、次の処理対象のフレームy(n+1)が、「通話区間に含まれる」と最後に判定された音声区間の終了時刻neから一定時間T2以内であるか否かを判定する(ステップS248)。ここで、次の処理対象のフレームy(n+1)が「通話区間に含まれる」と最後に判定された音声区間の終了時刻neから一定時間T2以内であると判定された場合には、処理がステップS245に戻される。一方、次の処理対象のフレームy(n+1)が、「通話区間に含まれる」と最後に判定された音声区間の終了時刻neから一定時間T2以内でないと判定された場合には、通話区間終了判定部は、当該音声区間の終了時刻ne又は現時点を通話区間の終了時刻と決定し、その決定内容を示す通話終了判定結果jeをデータ制御部13cに送る。これを受けたデータ制御部13cは、処理終了と判断して処理終了命令を出力する(ステップS249)。その後、処理がステップS233に戻される。
〔第4実施形態〕
次に、本発明の第4実施形態について説明する。
本形態は上述の各実施形態の変形例であり、図25のように、或るチャネルの音声区間の開始時刻から一定時間T3(T3は正の値でもよいし0でもよい)後を起点とし、当該起点から一定時間T1以内に別のチャネルの音声区間が存在する場合に、当該起点の一定時間T4(例えば1秒)前を通話区間の開始時刻として決定する。これにより、通話開始時点の推定誤りによる通話区間の始端欠けを防ぐことができる。
この例の場合、例えば、音声認識装置131(図3)でリアルタイムに音声認識処理を実行しつつ、起点の一定時間T4前以降の音声データ(一時的にメモリにバッファしておいたもの)の録音を行うこともできる。また、音声認識装置131での音声認識処理を起点の一定時間T4前以降の音声データについて行ってもよい。すなわち、音声認識処理をリアルタイムに行わない構成であってもよい。
〔各実施形態の効果〕
以上説明した各実施形態によれば、雑音や雑談などの非通話時の音声を通話音声として誤検出しても、それを早期に検出できるため、通話区間を高精度で検出することができる。
通常、音声通話では話者が交互に発話している。各実施形態では、一人の音声(送話音又は受話音)だけを検出するのではなく、複数人の音声(送話音および受話音)を検出してそれらを通話区間の推定に用いる。これにより、図8,図9等を用いて説明したように、通話開始や通話終了のタイミングを正確に推定できるとともに、咳払い等の雑音等を通話として誤検出してしまう問題を減らすことができる。また、図10等を用いて説明したように、T3を0より大きな一定値に設定することで、両チャネルで同時刻に発生する短時間雑音を通話と誤認することを防止できる。そして、このように通話でないと判断した場合に、誤って音声録音した咳払い等の音声データを破棄することで記憶装置の容量も節約できる。
また、第3実施形態で説明したように、チャネル毎に複数個の連続するフレームで音声区間と判別された場合のみ、その連続するフレーム全体を音声区間であると決定するようにすれば、突発性の雑音を音声と誤って判別してしまう問題の発生を防止できる。
また、前述のように(第1実施形態)、通話開始と判断した後に、両チャネルどちらかのチャネルで音声発話が終了した後に、両チャネルともに一定時間T2以上無音が続いた場合に通話終了と判断することにより、より確実で短時間に通話終了を判断することができる。
また、上記の通話終了を判断する別の方法として、通話開始と判断した後に、両チャネルではなくどちらか1チャネルだけの音声区間判別結果を用い、音声発話が終了した後に一定時間T2以上無音が続いた場合に通話終了と判断しても良い(第2実施形態)。なお、この場合、通話終了の判断の際に他方のチャネルの音声区間判別を行わない構成でもよい。
また、第4実施形態で説明したように、通話開始時刻であると推定した時刻よりも過去の一定時間T4をマージンとして確保しておけば、推定誤りによって通話開始部分の音声が欠けてしまう(例えば音声を自動録音する際に録音開始部分の音声が欠けてしまう)ことを避けることができる。
以上より、上述の各実施形態の方式を用いた場合、例えば、コールセンターなどの通話において、オペレータ又は顧客の音声を自動録音したり音声認識したりする際に通話区間を精度よく検出でき、音声認識や音声録音を適切に行うことができる。
例えば、音声認識では、通話区間を自動検出し、検出した通話区間に対して、更に細かな単位で発話区間検出を実施するなどして通話区間の音声認識を実行する場合があるが、通話区間検出精度が悪いと認識誤りの原因となる。特に、推定した通話区間が実際よりも短い場合には音声認識が正常に実行できなくなる。また、例えば、推定した通話区間が実際よりも長い場合や、実際の通話が存在しない区間を通話区間と推定した場合には、音声認識のための演算を不要な区間に対して実施することになりCPU演算量が無駄に多くなってしまう。また、例えば、通話音声の自動録音において、推定した通話区間が実際よりも長い場合や、実際の通話が存在しない区間を通話区間として推定した場合には、音声データを記録するハードディスク等の記録媒体の記憶容量を無駄に使用してしまう。また、例えば、通話開始・終了の推定位置が不正確なために、録音された音声の通話開始部分や通話終了部分が欠けてしまう問題もある。また、例えば、非特許文献1の方法のように一方のチャネルの非音声区間の情報のみを用いて通話終了を判断した場合、例えば、通話中に相手の話を聞いている時など、一方のチャネルに長い無音時間があると通話終了とみなしてしまい、本来の通話区間が細切れに推定されてしまう、という問題もある。また、例えば、非特許文献1の方法のように一方のチャネルの非音声区間の情報のみを用いて通話区間を推定する場合には、通話の開始や終了を判断するために、長い時間音声波形を用いなければ精度が高い判断できない、という問題もある。上述の各実施形態の方式を用いた場合、このような各問題の発生を低減させることができる。
なお、本発明は上述の実施の形態に限定されるものではない。例えば、通信端末装置として電話機以外の装置を用いた通話に本発明を適用してもよい。このような通信端末装置の例としては、例えばIP電話通話に用いるパーソナルコンピュータや、音声会議システムに用いる端末装置や、テレビ電話端末装置などを例示できる。また、2者間の通話だけではなく、音声会議のように複数者間の通話検出に本発明を適用してもよい。すなわち、2チャネルの音声区間判別結果を用いて通話区間を検出する場合だけではなく、3チャネル以上の音声区間判別結果を用い、本発明によって通話区間を検出してもよい。また、図3では、通信端末装置である電話機から2つのチャネルの音声信号を取り出し、本発明を適用する例を説明したが、通話端末装置間の通信を中継する装置から各通信端末装置の送話側チャネルの音声信号を取り出して本発明を適用してもよい。また、複数人間間の通話だけではなく、人間と自動音声応答装置との通話に本発明を適用してもよい。交互に音声信号をやり取りする通信の通信区間(通話区間と定義する)に本発明を適用してもよい。
また、上述の各実施形態では、通話区間の開始時点を判断する際、音声区間が検出されたチャネルcsの音声区間の開始時刻nsから一定時間T3(T3=0も含む)後を起点とし、そこから一定時間T1以内に別のチャネルの音声区間が検出されたかを検出していた(ステップS14,S104等)。しかし、通話区間の開始時点を判断する際、「通話区間の開始時刻以降の或る音声区間内のその他の時点(例えば、当該音声区間内の中点、当該音声区間の終了時点等)」から一定時間T1以内に別のチャネルの音声区間が検出されたかを検出する構成であってもよい。
また、上述の各実施形態では、通話区間の終了時点を判断する際、通話区間に含まれると決定された音声区間の終了時刻neから一定時間T2以内に他の音声区間が存在するか否かを判定していた(図5:ステップS17,図16:ステップS107等参照)。しかし、通話区間の終了時点を判断する際、通話区間に含まれると(例えば最後に)決定された「音声区間内のその他の時点」から一定時間T2以内に他の音声区間が存在するか否かを判定してもよい。「音声区間内のその他の時点」としては、例えば、当該音声区間の開始時点や、当該音声区間が通話区間に含まれると決定された時点等を例示できる。
また、上述の各実施形態では、通話区間の終了時点を判断する際、通話区間に含まれると決定された音声区間の終了時刻neから一定時間T2以内に何れかのチャネルに他の音声区間が存在するか否かを判定していた(図5:ステップS17,図16:ステップS107等参照)。しかし、通話区間の終了時点を判断する際、通話区間に含まれると決定された(例えば最後の)音声区間の終了時刻ne(又は当該音声区間内のその他の時点)から一定時間T2以内に、当該音声区間とは別のチャネルに他の音声区間が存在するか否かを判定する構成でもよい。この場合、別のチャネルに他の音声区間が存在しなかった場合に、通話区間が終了したと判断する。
また、通話区間の開始時の判定に1チャネルの音声区間の情報のみを用い、通話区間の終了時の判定に複数チャネルの音声区間の情報を用いる構成でもよい。
その他、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、各実施形態の思想を組み合わせたり、本発明の趣旨を逸脱しない範囲で適宜変更したりしてもよい。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。