(58)【調査した分野】(Int.Cl.,DB名)
前記コミュニケーションサーバは、リピート機能を表すDTMF信号を受信したとき、直前のDTMF信号受信以降に前記電話端末に送信された音声データに係る音声信号を再度送信することを特徴とする請求項1記載のコミュニケーションシステム。
前記コミュニケーションサーバが、リピート機能を表すDTMF信号を受信したとき、直前のDTMF信号受信以降に前記電話端末に送信された音声データに係る音声信号を再度送信するステップを有することを特徴とする請求項3記載のコミュニケーション方法。
【発明を実施するための形態】
【0014】
以下、本発明に係る各実施形態を、
図1ないし
図13を用いて説明する。
【0015】
先ず、
図1及び
図3を用いて、本発明の実施形態に係るコミュニケーションシステムの構成について説明する。
図1は、コミュニケーションシステムの全体構成図である。
図2は、電話端末の機能構成図である。
図3は、コミュニケーションサーバの構成図である。
【0016】
本実施形態のコミュニケーションシステムは、
図1に示されるように、電話端末10とコミュニケーションサーバ100が、電話回線5により接続された形態である。
【0017】
電話回線5は、公衆回線でもよいし、企業内のPBX(Private Branch eXchange)により回線交換される構内回線でもよい。また、アナログ回線でもよいし、デジタル回線でもよい。
【0018】
電話端末10は、DTMF(Dual-Tone Multi-Frequency)信号(いわゆるプッシュ信号)を発信可能な電話機である必要がある。DTMF信号とは、0から9までの数字と、*、#、A、B、C、Dの記号の計16種類の符号を、低群・高群の二つの音声周波数帯域の合成信号音で送信する信号である。また、電話端末10に接続されている回線は、DTMF信号を送信可能な回線とする。
【0019】
電話端末10は、
図2に示されるように、受話器11、送話器12、キー装置13、音声信号変換部14、接続制御部15、DTM信号生成部16からなる。受話器11、送話器12は、それぞれ受話のためのスピーカ、送話のためのマイクである。音声信号変換部14は、電話回線からの電気信号を音声に変換し、送話器12から音声を電気信号に変換する部分である。接続制御部15は、着呼、発呼を制御して、電話端末10と回線の接続、切断を行う部分である。DTM信号生成部16は、キー装置13の入力にしたがって、所定の周波数のDTM信号を生成する装置である。
【0020】
電話端末10を利用する者は、キー装置13から言語ごとに定められた規約のボタンにしたがって、自分の言語種別を入力できる。例えば、[#][1]は、日本語、[#][2]は、英語、[#][3]は、中国語のごとくである。電話端末10は、それをDTM信号に変換し、電話端末10の利用者の言語を判定するための信号として、電話回線5を介して、コミュニケーションサーバ100に送信する。
【0021】
コミュニケーションサーバ100は、電話回線5を介して送信される音声信号をデコードして、音声に変換し、それを指定された言語(以下、「翻訳言語」という)に係る音声に翻訳し(以下、翻訳された音声を「翻訳音声」という)、その音声をエンコードして、電話回線5を介して電話端末10に送信する装置である。
【0022】
コミュニケーションサーバ100は、
図3に示されるように、受信制御部110、送信制御部120、コミュニケーション制御部150、データベースアクセス部160、言語処理部200、データベース300からなる。
【0023】
受信制御部110は、
図3に示されるように、デコーダ111、制御信号解析部112、DTMF信号解析部113、音声解析部114、通話データ出力部115からなり、受信時の音声信号、DTMF信号の判別とデコード、受信した情報のデータベースへの書込みを行う部分である。受信制御部110は、電話端末10からの制御信号、音声信号、又は、DTMF信号を電話回線を介して受信し、デコーダ111によりデコードする。そして、制御信号かDTMF信号か、あるいは、音声かを判別し、制御信号の場合は、呼の呼び出しを認識して、通話データ出力部115に報告する。DTMF信号の場合は、DTMF信号解析部113が、DTMF信号に含まれている周波数を解析し、どのボタンが電話端末10で押下されたかの認識を行ない、通話データ出力部115に報告する。音声の場合は、音声解析部114が、一文を判断して、その音声データを、通話データ出力部115に報告する。
【0024】
通話データ出力部115は、新たな呼の呼び出しがあったときには、新たな呼IDを生成する。また、ボタン対応テーブル310を参照して、押されたボタンに対応する話者の言語IDを取得する。そして、音声解析部114から音声が出力されたときには、呼ごとに異なる呼ID、話者が切り替わるごとに更新されるグループID、話者発話の一文ごとに更新されるシーケンシャルID、話者の音声かテキストか翻訳した音声かテキストかを示すフラグである種別、音声の言語を表す言語IDの情報を付加したデータを作成し、データベースアクセス部160を介して、通話データテーブル330に保存する。また、一文終了後、次の一文を受け付けるためにシーケンシャルIDを更新する。呼ID、グループID、種別、言語ID、シーケンシャルIDについては、後に、通話データテーブル330の説明の所でも説明する。
【0025】
送信制御部120は、
図3に示されるように、エンコーダ121、通話データ入力部122からなり、翻訳された音声を音声信号として、電話端末10に送り返すための制御をする部分である。送信制御部120は、コミュニケーション制御部150の指示にしたがって、通話データテーブル330から音声データを取り出し、電話端末10に送り返す制御を行う。すなわち、コミュニケーション制御部150が指示するタイミングで、送信制御部120の通話データ入力部122は、指定された言語の音声データのうち、未送信の音声データをグループID、シーケンシャルIDなどの情報に基づいて、データベースアクセス部160を介して通話データテーブル330から取得し、エンコーダ121よりエンコードして、電話端末10に送信する。
【0026】
コミュニケーション制御部150は、受信制御部110から送られてくるDTMF信号の解析情報と通話データテーブル330に格納された状態にしたがって、言語処理部200、送信制御部120に指示を与える部分である。
【0027】
言語処理部200は、
図3に示されるように、音声認識部210、翻訳エンジン220、音声合成部230からなり、音声を入力して、指定された言語にしたがって、翻訳し、翻訳言語の音声として、出力する部分である。音声認識部210は、指定された言語種別を認識して、テキスト化する。翻訳エンジン220では、翻訳辞書に基づいて、ある言語(例えば、日本語)を他の言語(例えば、英語)に翻訳する。音声合成部230は、翻訳言語のテキストを音声データに変換し、一つの読み取れる音声データとして出力する。
【0028】
データベースアクセス部160は、他のコンポーネントからのデータベース300の読み出し、書込みの機能を提供する部分である。
【0029】
データベース300は、ボタン対応テーブル310、通話状態テーブル320、通話データテーブル330を保持している。なお、各々のテーブルについては、後に詳説する。
【0030】
コミュニケーションサーバ100の各々の機能は、FPGA(field-programmable gate array)のようなハードウェアロジックで実装してもよいし、メモリ上にロードされ、OS上で動作するプログラムとして、汎用のCPU(Central Processing Unit)がそのプログラムを実行することにより機能が実現されるものであってもよい。
【0031】
次に、
図4Aないし
図6を用いて、コミュニケーションサーバ100上で扱う状態とイベント、及び、その関係について説明する。
図4Aは、コミュニケーション制御部が認識する状態を説明する図である。
図4Bは、コミュニケーション制御部が受け付けるイベントを説明する図である。
図5は、イベントによる状態遷移を示す状態遷移図である。
図6は、状態と発生するイベントによる処理マトリックスを示す図である。
【0032】
コミュニケーション制御部150は、「言語未選択」、「受付」、「翻訳中」、「翻訳音声送信中」の四つの状態を認識する。各々の状態の意味は、
図4Aに示す如くである。なお、後の図では、状態を説明するのに、この番号を用いることにする。
【0033】
また、コミュニケーション制御部150は、「DTMF信号(言語選択)」、「音声」、「翻訳完了」、「翻訳音声送信終了」、「DTMF信号(リピート再生)」の五つのイベントを受け付ける。各々のイベントの意味は、
図4Bに示すごとくである。
【0034】
上で説明した状態は、イベントの発生により遷移する。
図5は、その状態とそのときに発生する主要なものを示したものである。例えば、「2:受付」の状態ときに、「DTMF信号(言語選択)」イベントが発生したときには、「3:翻訳中」に遷移し、「DTMF信号(リピート)」イベントが発生したときには、「4:翻訳音声送信中」に遷移し、「音声」イベントが発生したときには、「2:受付」の状態にとどまることを意味している。
【0035】
また、
図6に示される状態と発生するイベントによる処理マトリックスは、状態をカラム、イベントをロウで表現したマトリックスであり、カラムで表現した状態のときに、ロウで表現したイベントが発生したときには、その交点にあたる部分が適用されることを示している。交点の要素は、「状態(付随処理)」のように表現されており、カラムで表現した状態のときに、ロウで表現したイベントが発生したときに、その状態に遷移し、付随処理がその遷移にしたがって開始又は継続されることを示している。
【0036】
例えば、「2:受付」の状態ときに、「DTMF信号(言語選択)」イベントが発生したときには、「3:翻訳中」に遷移し、「翻訳開始」処理がされ、「DTMF信号(リピート)」イベントが発生したときには、「4:翻訳音声送信中」に遷移し、「音声送信」が開始され、「音声」イベントが発生したときには、「2:受付」の状態にとどまり、「音声データ蓄積」処理が継続されることを示している。
【0037】
なお、
図6の処理マトリックスでは、状態遷移図に示さなかった例外的な状態とイベントの関係も示されているが、後の処理の説明では、主に、
図5の状態遷移図に示された状態とそのときに発生するイベントの例を取り上げることにする。
【0038】
次に、
図7ないし
図9を用いてコミュニケーションシステムで用いられるデータ構造について説明する。
図7は、ボタン対応テーブル310の仕様を説明する図である。
図8は、通話状態テーブル320の仕様を説明する図である。
図9は、通話データテーブル330の仕様を説明する図である。
【0039】
ボタン対応テーブル310は、
図7に示されるように、ボタン♯1、言語又は機能♯2、言語ID♯3のフィールドを有し、DTMF信号より割り出されたユーザが押下したボタンと各種情報を結びつけるテーブルである。ボタン♯1のフィールドは、DTMF信号を解析して得られたユーザがDTMF信号発生の際に、押下したボタンを格納する。言語又は機能♯2のフィールドは、ボタン♯1の値に対応する言語又は機能を格納する。例えば、[♯][1]は、日本語、[♯][*]は、リピートの如くである。言語ID♯3のフィールドは、各言語に対応する言語IDを格納する。
【0040】
通話状態テーブル320は、
図8に示されるように、呼ID♯1、状態♯2、言語ID♯3のフィールドを有し、コミュニケーション制御部150が参照する処理の状態を格納するテーブルである。呼ID♯1のフィールドは、呼ごとに一意的に付与される呼の識別子を格納する。状態♯2のフィールドは、呼IDにより識別される呼の現在の状態を表す識別子を格納する。状態の意味は、
図4Aで説明した通りである。言語ID♯3のフィールドは、現在選択されている言語の言語IDを格納する。
【0041】
通話データテーブル330は、
図9に示されるように、呼ID♯1のフィールドと、m(mは、0以上の整数)個のテキスト♯10、m個の音声♯20の構造体を有し、呼IDごとに、通話に関する情報を格納するテーブルである。呼ID♯1のフィールドは、呼ごとに一意的に付与される呼の識別子を格納する。
【0042】
テキスト♯10の構造体は、種別♯11、グループID♯12、言語ID♯13、シーケンシャルID♯14、テキストデータ♯15のメンバを有し、話者の認識テキスト、その翻訳後のテキストに関する情報を格納するものである。種別♯11は、そのテキストが話者の認識テキスト、その翻訳後のテキストかの別を示す識別子が格納する。グループID♯12は、話者の交代ごとに一意的に付与されるグループIDを格納する。言語ID♯13は、そのテキストの言語の言語IDを格納する。シーケンシャルID♯14は、音声データの分割単位ごとにシーケンシャルに付与されるシーケンシャルIDを格納する。テキストデータ♯15は、テキストのコードデータを格納する。
【0043】
音声♯20の構造体は、グループID♯21、種別♯22、言語ID♯23、シーケンシャルID♯24、音声データ♯25のメンバを有し、話者の音声データ、その翻訳後の合成音声のデータに関する情報を格納するものである。
【0044】
グループID♯21、種別♯22、言語ID♯23、シーケンシャルID♯24、テキストデータ♯25の内容は、それぞれ、テキストデータ♯10の構造体のグループID♯11、種別♯12、言語ID♯13、シーケンシャルID♯14と同様である。音声データ♯25は、音声データのコードデータを格納する。
【0045】
次に、
図10A、
図10Bを用いて、コミュニケーションシステムの概要動作について説明する。
図10A、
図10Bは、コミュニケーションシステムの各々のコンポーネント間での受け渡しと、システムの状態を示す概要シーケンス図である。
【0046】
先ず、話者A(日本語話者)(SP1)が、電話端末10のボタン([#][1])を押し、コミュニケーションサーバ100側にDTMF信号を送信する(A01)。このときの状態は、言語未選択状態(状態=1)であり、通話状態テーブル320の値は、呼ID=1、状態=1、言語ID=0(T01)である(S01、T01)。なお、ここでは、A01の前に、電話端末10と、コミュニケーションサーバ100の呼は、接続されており、既に、呼IDが割振られたものとしている。また、通話状態テーブル320と通話データテーブル330の値は、説明に必要なもののみピックアップして、図示することにする。
【0047】
コミュニケーションサーバ100のコミュニケーション制御部150は、DTMF信号を受けて、状態と言語を更新する(A20、(状態=2(受付)、言語ID=1(日本語):T02))。
【0048】
システムの状態は、DTMF信号(言語選択)イベントを受けて、受付(状態=2)に遷移する(S02)。
次に、電話端末10から話者Aの音声データ(日本語)が送信されてきたものとする(A02)。このとき、通話データテーブル330の音声♯20の構造体に、値が設定される(A21、グループID=1、種別=0(話者)、言語ID=1、シーケンシャルID=1、音声データ:T03)。
【0049】
次に、日本語の話者Aから英語の話者Bに電話が受け渡されたものとする(SP1→SP2)。
【0050】
そして、話者B(英語話者)(SP2)が、電話端末10のボタン([#][2])を押し、コミュニケーションサーバ100側にDTMF信号を送信する(A03)。
【0051】
コミュニケーションサーバ100のコミュニケーション制御部150は、DTMF信号を受けて、状態と言語を更新する(A22、(状態=3(翻訳中)、言語ID=2(英語):T04))。
【0052】
そして、日本語から英語の翻訳が開始され、翻訳中状態(状態=3)になる(S03)。
【0053】
言語処理部200は、コミュニケーション制御部150からの指示を受け、通話データテーブル330の音声データを読み込み、翻訳して、翻訳音声を新しい構造体データとして書き込み、翻訳が完了すると、コミュニケーション制御部150は、通話状態テーブル320の状態を翻訳音声送信中(状態=4)に書き換える(A23、A24、T05、S04)。
次に、送信制御部120は、翻訳された音声を取り出して(A25)、話者Aの音声の翻訳結果(日本語→英語)として、電話端末10に送信する(A04)。
【0054】
そして、翻訳した音声の送信が完了すると、コミュニケーション制御部150は、通話状態テーブル320の状態を、受付状態(状態=2)にする(A26、S05)。
【0055】
ここで、話者Bが、電話により伝達された音声を聞きもらした、あるいは、理解しがたいなどと感じて、もう一度聞きたいという意思をもったとする。このときには、話者Bは、電話端末10のキー装置13を操作して、リピートを指示するボタン([#][*])を押下する。これにより、電話端末10からコミュニケーションサーバ100に、リピート再生を意味するDTMF信号が伝えられる(A05)。
【0056】
そして、コミュニケーション制御部150は、通話状態テーブル320の状態を、翻訳音声送信中状態(状態=4)にする(A27、S06)。
【0057】
次に、送信制御部120は、コミュニケーション制御部150の指示にしたがい、翻訳された音声データを取り出して(A28)、話者Aの音声の翻訳結果(日本語→英語)として、再度、電話端末10に送信する(A06)。
【0058】
そして、2回目の翻訳した音声の送信が完了すると、コミュニケーション制御部150は、通話状態テーブル320の状態を、受付状態(状態=2)にする(A29、S07)。
【0059】
次に、話者Bが話して、電話端末10から音声(英語)が伝えられたものとする(A07、A08)。
【0060】
それにより、順次、通話データテーブル330に、音声データが書き込まれる(A30、T09、A31、T10)。
【0061】
次に、英語の話者Bから日本語の話者Aに電話が受け渡されたものとする(SP2→SP3)。
【0062】
そして、話者A(日本語話者)(SP3)が、電話端末10のボタン([#][1])を押し、コミュニケーションサーバ100側にDTMF信号を送信する(
図10BのA09)。
【0063】
コミュニケーションサーバ100のコミュニケーション制御部150は、DTMF信号を受けて、状態と言語を更新する(A32、(状態=3(翻訳中)、言語ID=1(日本語):T11))。
【0064】
そして、英語から日本語の翻訳が開始され、翻訳中状態(状態=3)になる(S08)。
【0065】
言語処理部200は、コミュニケーション制御部150からの指示を受け、通話データテーブル330の音声データを読み込み、翻訳して、翻訳音声を新しい構造体データとして書き込み、翻訳が完了すると、コミュニケーション制御部150は、通話状態テーブル320の状態を翻訳音声送信中(状態=4)に書き換える(A33、A34、T12、S09)。
次に、送信制御部120は、翻訳された音声データを、順次取り出して(A35)、話者Bの音声の翻訳結果(英語→日本語)として、電話端末10に送信する(A10、A11)。
【0066】
そして、翻訳した音声の送信が完了すると、コミュニケーション制御部150は、通話状態テーブル320の状態を、受付状態(状態=2)にする(A36、S10)。
【0067】
次に、話者Aが話して、電話端末10から音声(日本語)が伝えられたものとする(A12)。
【0068】
それにより、通話データテーブル330に、音声データが書き込まれる(A37、T14)。
【0069】
以下は、通話終了まで同様のシークエンスが繰り返される。
【0070】
次に、
図11ないし
図13を用いて、コミュニケーションシステムの処理について説明する。
図11は、コミュニケーションサーバの処理を示す概要フローチャートである。
図12は、音声解析処理を示すフローチャートである。
図13は、リピート処理を示すフローチャートである。
【0071】
先ず、コミュニケーションサーバ100は、電話端末10から電話回線5を介して信号を受け、受信制御部110のデコーダ111は、送信された信号を解析し(S100)、制御信号か、DTMF信号か、音声信号かを判別し、その結果にしたがって、制御信号解析部112、DTMF信号解析部113、音声解析部114に振り分ける(S101)。
【0072】
制御信号が、発呼信号のときには、受信制御部110の制御信号解析部112は、通話データ出力部115に連絡し、呼IDを設定する(S130)。
【0073】
制御信号が、DTMF信号のときには、受信制御部110のDTMF信号解析部113は、その解析情報を通信データ出力部115に連絡し、通信データ出力部115は、DTMF信号が、ボタン対応テーブル310により必要な言語、機能の情報を取り出す(S102)。
【0074】
制御信号が、音声信号のときには、音声解析処理を行う(S150)。なお、音声解析処理については、後に、
図12のフローチャートにより後に詳述する。
【0075】
制御信号が、DTMF信号のときに、DTMF信号の送信が初回処理のときには(S103:Yes)、通話データ出力部115は、グループIDの値を初期化し(S140)、言語IDを通話データテーブル330に書き込む(S141)。
【0076】
DTMF信号の送信が初回ではなく(S103:No)、そのDTMF信号がリピートを表す信号のときは(S104:Yes)、DTMF信号解析部113は、コミュニケーション制御部150に連絡する。送信制御部120は、コミュニケーション制御部150の指示にしたがって、リピート処理を行ない(S160)、リピート処理で取り出した音声データを、送信制御部120のエンコーダ121が送信信号にエンコードして、電話端末10に送信する。なお、リピート処理については、
図13のフローチャートにより後に詳述する。
【0077】
そのDTMF信号がリピートを表す信号ではないときは(S104:No)、指定された言語の言語IDに設定を切り換える(S105)。
【0078】
呼ID、言語ID、グループID、種別、シーケンシャルIDなどのパラメタが、コミュニケーション制御部150経由で、通話データ出力部115から言語処理部200に渡され、言語処理部200は、コミュニケーション制御部150の指示に従い、通話データテーブル330から該当する音声データを取得し(S106)、翻訳処理を行う(S107)。また、言語IDを切り換え、種別を翻訳音声として、翻訳音声の音声データを通話データテーブル330に格納する(S108)。なお、音声データを認識したテキスト、翻訳テキストも通話データテーブル330に書き込まれる。
【0079】
そして、全てのシーケンシャルIDの音声データ(一文の音声データ)を翻訳済みのときには(S109:Yes)、次のS110のステップに行き、翻訳済みでないときには(S109:No)、シーケンシャルIDを更新し(S113)、S106に戻り、処理を繰り返す。
【0080】
グループIDに属する全ての音声データを翻訳したときには、コミュニケーション制御部150から指示を受け、送信制御部120の通話データ入力部122は、通話データテーブル330から翻訳済みかつ未送信の翻訳音声の音声データを取り出し(S110)、かつ、受信制御部110の通話データ出力部115は、グループIDを更新する(S111)。
【0081】
そして、送信制御部120のエンコーダが、S110で取り出した音声データを送信信号にエンコードして(S112)、電話端末10に送信する。
【0082】
次に、
図12を用いてS150の音声解析処理について説明する。
【0083】
先ず、受信制御部110の通話データ出力部115は、シーケンシャルIDを初期化する(S200)。
【0084】
次に、音声データの有無を判定し(S201)、音声データがないときには(S201:No)、処理を終了し、音声データがあるときには(S201:Yes)、次に、S202判定に行く(S202)。
【0085】
音声データに区切り(無音部分)があるときには(S202:Yes)、呼ID、言語ID、グループID、シーケンシャルIDに基づいて、通話データテーブル330に、その区切りの部分までの音声データを格納し(S203)、シーケンシャルIDを更新し(S204)、S201の判断に戻る。
【0086】
音声データに区切りがないときには(S202:No)、区切り判断のポインタをインクリメントし(S205)、S202の判断に戻る。
【0087】
次に、
図13を用いてS160のリピート処理について説明する。
【0088】
先ず、送信制御部120の通話データ入力部は、コミュニケーション制御部150からの指示を受け、呼ID、言語ID、グループID、種別、シーケンシャルIDに基づいて、通話データテーブル330から、直前に送信した音声データを取得する(S300)。
【0089】
そして、そのグループID内の全てのシーケンシャルIDの音声データを取得したときには(S301:Yes)、処理を終了し、取得していないシーケンシャルIDの音声データがあるときには(S301:No)、シーケンシャルIDを更新し(S302)、S300に戻る。
【0090】
本実施形態のコミュニケーションシステムは、特殊な信号を生成する装置ではなく、DTMF信号をサポートしている全ての電話端末で利用可能であるという特徴がある。また、電話のボタンをプッシュすることは、広く普及している方法なので、自動翻訳を利用した経験のない者でも、とまどいなく簡便に利用できる
さらに、話者が言語を明確に指定するので、翻訳側の装置の負荷が少なく、判定も短時間で行なえるという特徴がある。
【0091】
また、対面音声通訳において、1台の電話機を交互に受け渡しながら、自動翻訳の音声を聞く場合に、利用者にとって、自分の言語種別をキーにより指定した後に、相手の翻訳音声が流されるので、聞き逃しを防止することができるという特徴がある。