(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023158272
(43)【公開日】2023-10-30
(54)【発明の名称】同時通訳装置、同時通訳システム、同時通訳処理方法、および、プログラム
(51)【国際特許分類】
G10L 17/00 20130101AFI20231023BHJP
G10L 15/00 20130101ALI20231023BHJP
【FI】
G10L17/00 400
G10L15/00 200C
G10L17/00 200C
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022068004
(22)【出願日】2022-04-18
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和3年度 総務省、「多言語翻訳技術の高度化に関する研究開発」に係る委託研究、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】301022471
【氏名又は名称】国立研究開発法人情報通信研究機構
(74)【代理人】
【識別番号】100143498
【弁理士】
【氏名又は名称】中西 健
(74)【代理人】
【識別番号】100136319
【弁理士】
【氏名又は名称】北原 宏修
(72)【発明者】
【氏名】ワン シャオリン
(72)【発明者】
【氏名】内山 将夫
(72)【発明者】
【氏名】隅田 英一郎
(57)【要約】 (修正有)
【課題】リアルタイムで機械翻訳処理及び話者特定処理を行う同時通訳システムを実現する同時通訳装置、同時通訳処理方法及びプログラムを提供する。
【解決手段】同時通訳システム1000において、同時通訳装置100は、高速、高精度なセグメント処理を実行し、データD_wordsに含まれる単語列を、センテンス毎に区切ることで、文章データとともに時間範囲データを取得するセグメント処理部2と、セグメント処理部2から出力されるデータDs_src(翻訳元の言語(原言語))の文章データに対して機械翻訳処理を実行する機械翻訳処理部4と、入力ビデオストリーム及び取得した時間範囲の情報を含むデータD_t_rngに基づいて時間範囲の情報を含むデータで特定される期間において発話した話者を予測する話者予測処理部3とを備え、並行して機械翻訳処理及び話者特定処理を実行して表示処理装置Dev2に出力する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
時間情報、音声信号および映像信号を含むビデオストリームに対して音声認識処理を行うことで、前記音声信号に対応する単語列のデータであって、当該単語列の各単語が発せられた時間情報を含むデータである単語列データを取得する音声認識処理部と、
前記単語列データに対してセグメント処理を行うことで、セグメント化された単語列データである文章データを取得するとともに、当該文章データに含まれる単語列が発せられた時間範囲を特定する時間範囲データを取得するセグメント処理部と、
前記ビデオストリームおよび前記時間範囲データに基づいて、前記時間範囲データで特定される期間において発話した話者を予測する話者予測処理部と、
前記文章データに対して機械翻訳処理を実行することで、前記文章データに対応する機械翻訳処理結果データを取得する機械翻訳処理部と、
を備える同時通訳装置。
【請求項2】
前記話者予測処理部は、
前記ビデオストリームのうち、前記時間範囲データで特定される期間のデータであるクリップビデオストリームを取得するビデオクリップ処理部と、
前記クリップビデオストリームにより形成されるフレーム画像から、話者の顔画像領域を抽出する話者検出処理部と、
前記クリップビデオストリームに含まれる音声信号に対して、音声用エンコード処理を行うことで、前記音声信号に対応する埋込表現データである音声用埋込表現データを取得する音声用エンコーダと、
前記話者の顔画像領域を形成する画像データに対して、顔用エンコード処理を行うことで、前記話者の顔画像領域に対応する埋込表現データである顔用埋込表現データを取得する顔用エンコーダと、
前記音声用埋込表現データおよび前記顔用埋込表現データに基づいて、前記クリップビデオストリームに含まれる音声信号で再現される音声を発話した話者を特定する話者特定処理部と、
を備える請求項1に記載の同時通訳装置。
【請求項3】
話者を特定する話者識別子とともに、前記話者識別子に紐付けされた前記音声用埋込表現データおよび前記顔用埋込表現データを記憶するデータ格納部をさらに備え、
前記話者特定処理部は、
前記音声用エンコーダにより取得された前記音声用埋込表現データ、および、前記顔用エンコーダにより取得された前記顔用埋込表現データと、前記データ格納部に記憶されている前記音声用埋込表現データおよび前記顔用埋込表現データとに対してベストマッチング処理を行い、ベストマッチング処理における両データの類似度合いを示す類似スコアが所定の値よりも高い場合、前記ベストマッチング処理でマッチング処理対象とした前記データ格納部に記憶されている前記音声用埋込表現データおよび前記顔用埋込表現データに対応する話者識別子で特定される話者が、前記クリップビデオストリームに含まれる音声信号で再現される音声を発話した話者であると特定する、
請求項2に記載の同時通訳装置。
【請求項4】
請求項1から3のいずれかに記載の同時通訳装置と、
前記同時通訳装置により取得された、前記ビデオストリームに含まれる音声信号で再現される音声を発話した話者を特定するためのデータである話者特定データと、前記同時通訳装置の前記機械翻訳処理部により取得された、前記文章データに対応する前記機械翻訳処理結果データとを入力し、前記話者特定データと、前記機械翻訳処理結果データとを表示装置に表示される画面の所定の画像領域に表示させる表示データを生成する表示処理装置と、
を備える同時通訳システム。
【請求項5】
時間情報、音声信号および映像信号を含むビデオストリームに対して音声認識処理を行うことで、前記音声信号に対応する単語列のデータであって、当該単語列の各単語が発せられた時間情報を含むデータである単語列データを取得する音声認識処理ステップと、
前記単語列データに対してセグメント処理を行うことで、セグメント化された単語列データである文章データを取得するとともに、当該文章データに含まれる単語列が発せられた時間範囲を特定する時間範囲データを取得するセグメント処理ステップと、
前記ビデオストリームおよび前記時間範囲データに基づいて、前記時間範囲データで特定される期間において発話した話者を予測する話者予測処理ステップと、
前記文章データに対して機械翻訳処理を実行することで、前記文章データに対応する機械翻訳処理結果データを取得する機械翻訳処理ステップと、
を備える同時通訳処理方法。
【請求項6】
請求項5に記載の同時通訳処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マルチモード同時通訳技術に関し、例えば、AV同期がとれた音声信号および映像信号を用いて、リアルタイムで話者特定を行いながら、翻訳処理を実行する技術に関する。
【背景技術】
【0002】
近年、ビデオストリーム(AV同期がとれた音声信号および映像信号)を入力とし、ビデオストリームから音声を抽出し、自動音声認識、機械翻訳を行うことで、入力されたビデオストリームから取得される音声付き映像に、機械翻訳結果を(例えば、字幕として)表示させる同時通訳システム(リアルタイム通訳システム)が開発されている。
【0003】
このような同時通訳システムでは、機械翻訳結果が、入力されたビデオストリームから取得される音声付き映像上に表示されるため、当該映像を見ているユーザは、何を言っているのかを認識することができる。
【0004】
しかしながら、上記のような同時通訳システムでは、複数人が会話をしているようなシーンでは、誰が何を言っているかを把握することが困難な場合がある。つまり、このような場合、上記のような同時通訳システムでは、ユーザが音声付き映像上に(例えば、字幕として)表示される機械翻訳結果だけを見ていても、話者を特定することができず、その結果、ユーザを混乱させてしまうという問題がある。
【0005】
一方、複数人が発話する会議等の音声データを記録し、記録した音声データを解析し、話者を特定し、発話内容と、その話者とを容易に識別することを可能にする会話記録装置が開発されている(例えば、特許文献1を参照)。具体的には、この会話記録装置では、会議等の記録が終了した時点で全音声特徴を対象としてクラスタリング処理を行い、会話に参加していた人数、及び各話者の代表的な音声特徴を求め、各話者の音声特徴と記録データを比較して話者を判別し、同一話者の発言内容を色や表示位置で区分して表示することで、話者別に識別可能な表示を行うことができる。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上記技術では、音声データを記録した後、話者特定するために、記録した音声データを解析する必要があり、話者特定をリアルタイム処理(処理開始から処理終了までの時間(遅延時間)が一定の時間内におさまることを保証する処理)で行うことはできない。
【0008】
そこで、本発明は、上記課題に鑑み、リアルタイムで、自動音声認識処理、機械翻訳処理、および、話者特定処理を行うことが可能な同時通訳システムを実現することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するための第1の発明は、音声認識処理部と、セグメント処理部と、話者予測処理部と、機械翻訳処理部と、を備える同時通訳装置である。
【0010】
音声認識処理部は、時間情報、音声信号および映像信号を含むビデオストリーム(このビデオストリームは、時間情報および音声信号を含むストリームであってもよい)に対して音声認識処理を行うことで、音声信号に対応する単語列のデータであって、当該単語列の各単語が発せられた時間情報を含むデータである単語列データを取得する。
【0011】
セグメント処理部は、単語列データに対してセグメント処理を行うことで、セグメント化された単語列データである文章データを取得するとともに、当該文章データに含まれる単語列が発せられた時間範囲を特定する時間範囲データを取得する。
【0012】
話者予測処理部は、ビデオストリームおよび時間範囲データに基づいて、時間範囲データで特定される期間において発話した話者を予測する。
【0013】
機械翻訳処理部は、文章データに対して機械翻訳処理を実行することで、文章データに対応する機械翻訳処理結果データを取得する。
【0014】
この同時通訳装置では、セグメント処理部により、高速、高精度なセグメント処理を実行し、文章データを取得するとともに、当該文章データに含まれる単語列が発話された時間範囲のデータを取得できるので、リアルタイムで、機械翻訳処理、および、話者特定処理を行うことが可能となる。つまり、この同時通訳装置では、高速、高精度なセグメント処理により取得された文章データに対して、機械翻訳処理部で機械翻訳処理を実行するのと並行して、入力ビデオストリームおよび時間範囲データに基づいて、時間範囲データで特定される期間において発話した話者を予測する処理を実行するので、リアルタイム処理(所定の遅延時間に収まることを保証する処理)で、機械翻訳処理、および、話者特定処理を行うことが可能となる。
【0015】
第2の発明は、第1の発明であって、話者予測処理部は、ビデオクリップ処理部と、話者検出処理部と、音声用エンコーダと、顔用エンコーダと、話者特定処理部と、を備える。
【0016】
ビデオクリップ処理部は、ビデオストリームのうち、時間範囲データで特定される期間のデータであるクリップビデオストリームを取得する。
【0017】
話者検出処理部は、クリップビデオストリームにより形成されるフレーム画像から、話者の顔画像領域を抽出する。
【0018】
音声用エンコーダは、クリップビデオストリームに含まれる音声信号に対して、音声用エンコード処理を行うことで、音声信号に対応する埋込表現データである音声用埋込表現データを取得する。
【0019】
顔用エンコーダは、話者の顔画像領域を形成する画像データに対して、顔用エンコード処理を行うことで、話者の顔画像領域に対応する埋込表現データである顔用埋込表現データを取得する。
【0020】
話者特定処理部は、音声用埋込表現データおよび顔用埋込表現データに基づいて、クリップビデオストリームに含まれる音声信号で再現される音声を発話した話者を特定する。
【0021】
この同時通訳装置では、音声用埋込表現データおよび顔用埋込表現データに基づいて、クリップビデオストリームに含まれる音声信号で再現される音声を発話した話者を特定することができる。つまり、この同時通訳装置では、少ないデータ量の埋込表現データを用いて、話者特定処理を行うので、より高速(より少ない演算量で)、高精度に話者特定処理を行うことができる。
【0022】
第3の発明は、第2の発明であって、話者を特定する話者識別子とともに、話者識別子に紐付けされた音声用埋込表現データおよび顔用埋込表現データを記憶するデータ格納部をさらに備える。
【0023】
そして、話者特定処理部は、音声用エンコーダにより取得された音声用埋込表現データ、および、顔用エンコーダにより取得された顔用埋込表現データと、データ格納部に記憶されている音声用埋込表現データおよび顔用埋込表現データとに対してベストマッチング処理を行い、ベストマッチング処理における両データの類似度合いを示す類似スコアが所定の値よりも高い場合、ベストマッチング処理でマッチング処理対象としたデータ格納部に記憶されている音声用埋込表現データおよび顔用埋込表現データに対応する話者識別子で特定される話者が、クリップビデオストリームに含まれる音声信号で再現される音声を発話した話者であると特定する。
【0024】
これにより、この同時通訳装置では、データ格納部に記憶したデータを参照することで、話者特定処理を行うことができる。
【0025】
なお、ベストマッチング処理における2つのデータの類似度度合いは、例えば、2つのデータのコサイン類似度や距離情報(例えば、ユークリッド距離)に基づいて、取得される。
【0026】
第4の発明は、第1から第3のいずれかの発明である同時通訳装置と、同時通訳装置により取得された、ビデオストリームに含まれる音声信号で再現される音声を発話した話者を特定するためのデータである話者特定データと、同時通訳装置の機械翻訳処理部により取得された、文章データに対応する機械翻訳処理結果データとを入力し、話者特定データと、機械翻訳処理結果データとを表示装置に表示される画面の所定の画像領域に表示させる表示データを生成する表示処理装置と、を備える同時通訳システムである。
【0027】
これにより、この同時通訳システムでは、話者を特定するデータとともに、当該話者が発話した原言語の機械翻訳結果を所定の画像領域(表示画面の同一画像領域)に表示させることができるので、ユーザは、「誰が何を言ったのか」を容易に認識することができる。
【0028】
第5の発明は、音声認識処理ステップと、セグメント処理ステップと、話者予測処理ステップと、機械翻訳処理ステップと、を備える同時通訳処理方法である。
【0029】
音声認識処理ステップは、時間情報、音声信号および映像信号を含むビデオストリーム(このビデオストリームは、時間情報および音声信号を含むストリームであってもよい)に対して音声認識処理を行うことで、音声信号に対応する単語列のデータであって、当該単語列の各単語が発せられた時間情報を含むデータである単語列データを取得する。
【0030】
セグメント処理ステップは、単語列データに対してセグメント処理を行うことで、セグメント化された単語列データである文章データを取得するとともに、当該文章データに含まれる単語列が発せられた時間範囲を特定する時間範囲データを取得する。
【0031】
話者予測処理ステップは、ビデオストリームおよび時間範囲データに基づいて、時間範囲データで特定される期間において発話した話者を予測する。
【0032】
機械翻訳処理ステップは、文章データに対して機械翻訳処理を実行することで、文章データに対応する機械翻訳処理結果データを取得する。
【0033】
これにより、第1の発明と同様の効果を奏する同時通訳処理方法を実現することができる。
【0034】
第6の発明は、第5の発明である同時通訳処理方法をコンピュータに実行させるためのプログラムである。
【0035】
これにより、第5の発明と同様の効果を奏する同時通訳処理方法をコンピュータに実行させるためのプログラムを実現することができる。
【発明の効果】
【0036】
本発明によれば、リアルタイムで、自動音声認識処理、機械翻訳処理、および、話者特定処理を行うことが可能な同時通訳システムを実現することができる。
【図面の簡単な説明】
【0037】
【
図1】第1実施形態に係る同時通訳システム1000の概略構成図。
【
図2】第1実施形態に係る同時通訳装置100の話者予測処理部3の概略構成図。
【
図3】同時通訳装置100に入力されるビデオストリーム(一例)より形成される動画(音声付き動画)を模式的に示した図。
【
図4】同時通訳システム1000で実行されるセグメント処理のフローチャート。
【
図5】同時通訳システム1000で実行されるセグメント処理を説明するための図。
【
図7】同時通訳システム1000で実行される話者予測処理のフローチャート。
【
図8】
図3のビデオストリームを、同時通訳システム1000により処理して取得された表示データを表示装置に表示させたときの画面を模式的に示す図。
【
図9】
図3のビデオストリームを、同時通訳システム1000により処理して取得された表示データを表示装置に表示させたときの画面を模式的に示す図。
【
図10】
図3のビデオストリームを、同時通訳システム1000により処理して取得された表示データを表示装置に表示させたときの画面を模式的に示す図。
【発明を実施するための形態】
【0038】
[第1実施形態]
第1実施形態について、図面を参照しながら、以下説明する。
【0039】
<1.1:同時通訳システムの構成>
図1は、第1実施形態に係る同時通訳システム1000の概略構成図である。
【0040】
図2は、第1実施形態に係る同時通訳装置100の話者予測処理部3の概略構成図である。
【0041】
同時通訳システム1000は、
図1に示すように、ビデオストリーム取得処理装置Dev1と、同時通訳装置100と、表示処理装置Dev2とを備える。
【0042】
ビデオストリーム取得処理装置Dev1は、ビデオストリーム(AV同期がとれた音声信号および映像信号)を取得する装置である。ビデオストリーム取得処理装置Dev1は、例えば、音声取得装置(例えば、マイク)および撮像装置(例えば、カメラ)と接続することが可能であり、音声取得装置(例えば、マイク、集音装置)および撮像装置(例えば、カメラ)から音声信号および映像信号を取得し、取得した音声信号および映像信号に対して、AV同期処理を行い、ビデオストリーム(AV同期がとれた音声信号および映像信号)を取得する。そして、ビデオストリーム取得処理装置Dev1は、取得したビデオストリーム(AV同期がとれた音声信号および映像信号)を、データD_avとして、同時通訳装置100に出力する。また、ビデオストリーム取得処理装置Dev1は、例えば、外部の記録装置から、あるいは、外部のネットワーク(例えば、インターネット)を介して、外部のサーバ(例えば、ストリーミングサーバや動画配信サーバ)から、ビデオストリーム(AV同期がとれた音声信号および映像信号)を取得し、取得したビデオストリームを、データD_avとして、同時通訳装置100に出力する。なお、ビデオストリーム取得処理装置Dev1は、ビデオストリーム取得処理装置Dev1に入力される音声信号、および、映像信号にそれぞれ時間情報(例えば、タイムスタンプ)が含まれており、AV同期がとれていない場合、当該音声信号、および、映像信号にそれぞれ含まれている時間情報(例えば、タイムスタンプ)に基づいて、AV同期がとれた音声信号、および、映像信号を取得し、当該音声信号および当該映像信号を含むビデオストリーム(AV同期がとれたビデオストリーム)を、データD_avとして、同時通訳装置100および表示処理装置Dev2に出力する。
【0043】
同時通訳装置100は、
図1に示すように、音声認識処理部1と、セグメント処理部2と、話者予測処理部3と、機械翻訳処理部4とを備える。
【0044】
音声認識処理部1は、ビデオストリーム取得処理装置Dev1から出力されるデータD_av(ビデオストリーム(AV同期がとれたビデオストリーム)のデータ)を入力する。音声認識処理部1は、データD_avから音声データ(音声信号)を抽出し、抽出した音声データ(音声信号)に対して、音声認識処理を実行し、上記音声データ(音声信号)に対応する単語列(ワードストリーム)と当該単語列に含まれる各単語が発話された時間情報とを取得する。そして、音声認識処理部1は、取得した単語列および上記時間情報を含むデータを、データD_wordsとして、セグメント処理部2に出力する。
【0045】
セグメント処理部2は、音声認識処理部1から出力されるデータD_wordsを入力する。セグメント処理部2は、データD_wordsに対して、セグメント処理を実行し、データD_wordsに含まれる単語列を、センテンスごとに区切ることで、文章データを取得する。そして、セグメント処理部2は、セグメント処理で取得した文章データ(センテンスごとに区切られた単語列(1つの文を構成する単語列のデータ))を、データDs_srcとして機械翻訳処理部4に出力する。
【0046】
また、セグメント処理部2は、データD_wordsに対して、セグメント処理を実行して上記文章データを取得したときの当該文章データを構成する単語列の時間情報から、当該文章が発話された期間(時間範囲)の情報を取得する。そして、セグメント処理部2は、取得した、上記期間(時間範囲)の情報を含むデータを、データD_t_rngとして、話者予測処理部3に出力する。
【0047】
話者予測処理部3は、
図2に示すように、ビデオクリップ処理部31と、音声用エンコーダ32と、話者検出処理部33と、顔用エンコーダ34と、話者特定処理部35と、データ格納部DB1とを備える。
【0048】
ビデオクリップ処理部31は、ビデオストリーム取得処理装置Dev1から出力されるデータD_av(AV同期がとれたビデオストリームのデータ)と、セグメント処理部2から出力されるデータD_t_rngとを入力する。ビデオクリップ処理部31は、データD_t_rngに基づいて、データD_avに含まれるビデオストリームのデータに対してクリップ処理を行う。具体的には、ビデオクリップ処理部31は、データD_t_rngから、期間(時間範囲)の情報を取得し、当該期間(時間範囲)の情報に相当する(当該期間(時間範囲)に取得された)ビデオストリームのデータを取得する。そして、ビデオクリップ処理部31は、取得したビデオストリームのデータを、データD1_avとして、話者検出処理部33に出力する。また、ビデオクリップ処理部31は、取得したビデオストリームのデータのうちオーディオストリームのデータのみを抽出し、抽出したオーディオストリームのデータを、データD1_aとして、音声用エンコーダ32に出力する。
【0049】
音声用エンコーダ32は、ビデオクリップ処理部31から出力されるデータD1_a(オーディオストリームのデータ)を入力し、当該データD_aに対してエンコード処理を実行し、入力されたデータD_a(オーディオストリーム(音声ストリーム))に対応する埋込表現データを取得する。そして、音声用エンコーダ32は、取得した埋込表現データを、データD_a_embとして、話者特定処理部35に出力する。
【0050】
話者検出処理部33は、ビデオクリップ処理部31から出力されるデータD1_av(ビデオストリームのデータ)を入力し、当該データD1_avに対して、話者検出処理を実行し、入力されたデータD1_avにより形成される音声付き動画上で発話している人に相当する画像領域を検出し、検出した画像領域に基づいて、話者アイコンデータを取得する。そして、話者検出処理部33は、取得した話者アイコンデータを含むデータを、データDo_face_iconとして、表示処理装置Dev2に出力する。
【0051】
また、話者検出処理部33は、入力されたデータD1_avに対して、話者検出処理を実行し、入力されたデータD1_avにより形成される音声付き動画上で発話している人の顔に相当する画像領域を検出し、検出した画像領域を形成する画像信号(画像データ)を含むデータを、データD_faceとして、顔用エンコーダ34に出力する。
【0052】
顔用エンコーダ34は、話者検出処理部33から出力されるデータD_faceを入力し、当該データD_faceに対してエンコード処理を実行し、入力されたデータD_faceに対応する埋込表現データを取得する。そして、顔用エンコーダ34は、取得した埋込表現データを、データD_face_embとして、話者特定処理部35に出力する。
【0053】
話者特定処理部35は、音声用エンコーダ32から出力されるデータD_a_emb(音声データの埋込表現データ)と、顔用エンコーダ34から出力されるデータD_face_emb(顔画像領域データの埋込表現データ)と、を入力する。また、話者特定処理部35は、データ格納部DB1に対して、データ読み出し指令、あるいは、データ書き込み指令を出力することで、データの読み出し処理、あるいは、データの書き込み処理を行うことができる。
【0054】
話者特定処理部35は、データD_a_emb(音声データの埋込表現データ)、および、データD_face_emb(顔画像領域データの埋込表現データ)と、データ格納部DB1に格納されているデータとを参照することで話者特定処理を実行し、話者特定を行う(詳細については後述)。そして、話者特定処理部35は、上記処理により特定した話者のデータ(例えば、話者を特定するためのタグデータ)を、データDo_spk_tagとして、表示処理装置Dev2に出力する。
【0055】
なお、話者検出処理部33から表示処理装置Dev2に出力されるデータDo_face_icon、および、話者特定処理部35から表示処理装置Dev2に出力されるデータDo_spk_tagを、まとめて、データDo_spkと表記する。
【0056】
データ格納部DB1は、データを記憶保持することができる記憶部であり、例えば、データベースにより実現される。データ格納部DB1は、話者特定処理部35からのデータ読み出し指令に基づいて、記憶保持しているデータを読み出し、読み出したデータを話者特定処理部35に出力する。また、データ格納部DB1は、話者特定処理部35からのデータ書き込み指令に基づいて、話者特定処理部35から出力されるデータを、データ格納部DB1の所定の記憶領域に記憶する。なお、データ格納部DB1は、同時通訳装置100の外部に設置されるものであってもよい。
【0057】
機械翻訳処理部4は、セグメント処理部2から出力されるデータDs_src(翻訳元の言語(原言語))の文章データを入力し、入力した原言語の文章データDs_srcに対して、機械翻訳処理を行うことで、原言語の文章データDs_srcに対応する翻訳言語(翻訳先言語)の単語列データ(翻訳結果データ)を取得する。そして、機械翻訳処理部4は、取得した翻訳結果データ(翻訳言語の単語列データ)を、データDo_MTとして、表示処理装置Dev2に出力する。
【0058】
表示処理装置Dev2は、ビデオストリーム取得処理装置Dev1から出力されるデータD_avと、同時通訳装置100から出力されるDo_MT(機械翻訳結果データ)、および、データDo_spk(話者特定データ)とを入力する。表示処理装置Dev2は、ビデオストリームのデータD_avと、機械翻訳結果データDo_MTと、話者特定データDo_spkとに基づいて、表示装置(不図示)に表示させるためのデータを生成する。
【0059】
<1.2:同時通訳システムの動作>
以上のように構成された同時通訳システム1000の動作について説明する。
【0060】
図3は、同時通訳装置100に入力されるビデオストリーム(一例)より形成される動画(音声付き動画)を模式的に示した図である。
【0061】
図4は、同時通訳システム1000で実行されるセグメント処理のフローチャートである。
【0062】
図5は、同時通訳システム1000で実行されるセグメント処理を説明するための図である。
【0063】
【0064】
図7は、同時通訳システム1000で実行される話者予測処理のフローチャートである。
【0065】
ビデオストリーム取得処理装置Dev1は、ビデオストリーム(AV同期がとれた音声信号および映像信号)を取得する。ここでは、説明便宜のため、ビデオストリーム取得処理装置Dev1により、
図3に示した動画(音声付き動画)を形成するビデオストリーム(AV同期がとれた音声信号および映像信号)が取得されたものとし、同時通訳システム1000において、当該ビデオストリームを処理する場合について、以下説明する。
【0066】
なお、
図3において、説明便宜のため、発話された音声の内容を吹き出し内に文字で表示しているが、実際の動画(音声付き動画)では、当該吹き出し(およびその中の文字)は、動画上(映像上)には存在しない。また、
図3では、ビデオストリームにより形成される動画に含まれる一部のフレーム画像(所定の時刻に抽出したフレーム画像)を時系列に示しており、ビデオストリームにより形成される動画に含まれる全てのフレーム画像を示している訳ではない。そして、
図3では、説明便宜のために、
図3に表示したフレーム画像に、所定の時間(期間)に発せられた音声を吹き出し内に文字として表示している。
【0067】
また、ビデオストリーム取得処理装置Dev1により取得されたビデオストリームにより形成される音声付き動画(
図3の音声付き動画)は、男女二人が会話しているシーンの動画であり、男女二人が英語(翻訳元言語(原言語))で会話しているものとする。
【0068】
ビデオストリーム取得処理装置Dev1は、処理対象のビデオストリームを構成する音声信号および映像信号のAV同期がとれていない場合は、当該音声信号の時間情報(例えば、タイムスタンプ)と、当該映像信号の時間情報(例えば、タイムスタンプ)とに基づいて、AV同期処理を行い、AV同期がとれた音声信号および映像信号を取得する。そして、ビデオストリーム取得処理装置Dev1は、取得したビデオストリーム(AV同期がとれた音声信号および映像信号)(
図3の音声付き動画像を形成するビデオストリーム)を、データD_avとして、同時通訳装置100および表示処理装置Dev2に出力する。
【0069】
同時通訳装置100の音声認識処理部1は、ビデオストリーム取得処理装置Dev1から出力されるデータD_av(ビデオストリーム(AV同期がとれたビデオストリーム)のデータ)を入力する。音声認識処理部1は、入力したデータD_avから音声データ(音声信号)を抽出し、抽出した音声データ(音声信号)に対して、音声認識処理を実行し、上記音声データ(音声信号)に対応する単語列(ワードストリーム)と当該単語列に含まれる各単語が発話された時間情報(タイムスタンプ)とを取得する。
【0070】
音声認識処理部1は、例えば、以下のように、各単語とその単語が発せられた時間情報(タイムスタンプ)とを組みにしたデータ(タイムスタンプ付き単語列のデータ)を取得する。
「I’m」(0.5s)
「Smith」(0.9s)
「nice」(1.1s)
「to」(1.3s)
「meet」(1.4s)
・・・
なお、上記において「」内の文字列が単語のデータであり、()内の数値が時刻(単位は秒)で示した時間情報(タイムスタンプ)である。
【0071】
そして、音声認識処理部1は、取得した単語列および上記時間情報を含むデータ(タイムスタンプ付き単語列のデータ)を、データD_wordsとして、セグメント処理部2に出力する。
【0072】
セグメント処理部2は、音声認識処理部1から出力されるデータD_wordsに対して、セグメント処理を実行する。具体的には、セグメント処理部2は、以下の処理を行う。なお、セグメント処理について、
図4のフローチャート、
図5の説明図を参照しながら、説明する。
【0073】
(ステップS11):
ステップS11において、セグメント処理部2は、文字列の順番を示す変数kを初期値にセットする(k=0にする)。
【0074】
(ステップS12):
ステップS12において、セグメント処理部2は、セグメント処理用の特徴量を取得する。具体的には、セグメント処理部2は、単語に付されている時間情報(タイムスタンプ)をtimetとすると、時刻timetにおけるn個(n:自然数)の特徴量featt
0,featt
1,・・・,featt
n-1を取得する。上記特徴量は、セグメント処理を実行し、セグメント評価値(セグメントスコア(例えば、単語列の区切りである確率を示す値(文の区切り(文末)である確率を示す値)))を取得するのに必要となるデータである。本実施形態では、2つの特徴量(つまり、n=2)を用いるものとし、第1の特徴量は、単語(単語を示すデータ)であり、第2の特徴量は、各単語の後のポーズ(無音時間)の継続時間であるものとする。
【0075】
(ステップS13):
ステップS13において、セグメント処理部2は、セグメント処理用の特徴量に基づいて、セグメント評価値(セグメントスコア)score
segを取得する。具体的には、セグメント処理部2は、下記数式に相当する処理を実行することで、k番目の単語のセグメント評価値(セグメントスコア)(k番目(k:自然数)の単語の後が文末(単語列の区切り)である可能性を示す値)score
seg(k)を取得する。
【数1】
F
seg(k):k番目の単語の後がセグメントの区切り(単語列の区切り(文末))である確率を返す関数(F
seg(k)は、例えば、ニューラルネットワークによるモデルにより実現される。)
K:コンテキスト取得用の係数(K:自然数)(k番目の単語の後に続く(時系列で未来の)K個の特徴量を関数F
seg(k)に入力することで、k番目の単語の後がセグメントの区切りである確率をより高精度に取得することができる。このため、上記数式では、k番目の単語の後に続く(時系列で未来の)K個の特徴量を関数F
seg(k)に入力する。)
なお、本実施形態では、上記(数式1)の具現化例(一例)として、セグメント処理部2は、下記数式に相当する処理を行うことで、セグメント処理を実行するものとする。
【数2】
なお、上記数式において、score
RNN(w
0,・・・,w
k+K)は、k+K+1個の単語からなる単語列(文章)を入力したときに、第k番目の単語の後がセグメントの区切り(文末)となる確率を出力する関数である。なお、当該関数に相当する処理は、例えば、下記文献Aに開示されいるように、RNN(リカレントニューラルネットワーク)により実現されるモデル(学習済みモデル)を用いて実現できる。
(文献A):Xiaolin Wang, Masao Utiyama, and Eiichiro Sumita, "Online sentence segmentation for simultaneous interpretation using multi-shifted recurrent neural network." In Proceedings of Machine Translation Summit XVII Volume 1: Research Track, pages 1-11.
また、上記数式において、αは調整用の係数(α:実数)であり、pause(k)は、k番目の単語(単語w
k)の後のポーズ(無音期間)の継続時間(例えば、単位は秒)である。
【0076】
(ステップS14):
ステップS14において、セグメント処理部2は、ステップS12で取得したセグメント評価値(セグメントスコア)scoreseg(k)と閾値th1とを比較する処理を行う。当該比較処理の結果、scoreseg(k)>th1である場合、セグメント処理部2は、処理をステップS16に進め、一方、scoreseg(k)>th1ではない場合、セグメント処理部2は、処理をステップS15に進める。
【0077】
(ステップS15):
ステップS15において、セグメント処理部2は、変数kの値を+1インクリメントし、処理をステップS12に戻す。そして、ステップS12~S14の処理が上記と同様に実行される。
【0078】
(ステップS16、S17):
ステップS16において、セグメント処理部2は、セグメント処理が開始されたときの最初の単語から、その後がセグメントの区切りであると判定された単語までを文章データ(1つの文を構成する単語列のデータ)として取得するとともに、当該文章データの単語列の時間情報(タイムスタンプ)の時間範囲のデータを取得する。
【0079】
そして、ステップS17において、セグメント処理部2は、上記により取得した文章データを、データDs_srcとして、機械翻訳処理部4に出力するとともに、上記により取得した時間範囲のデータを、データD_t_rngとして、話者予測処理部3に出力する。
【0080】
ここで、セグメント処理の具体例について、
図5を参照しながら説明する。
【0081】
図5において、上段の図は、セグメント処理での入力データ、処理、出力データを模式的に示す図であり、
図5の中段、下段の図は、実際のデータが入力されたときのセグメント処理での入力データ、処理、出力データを模式的に示す図である。なお、
図5において、セグメント処理に用いる第1の特徴量は、単語のデータであり、第2の特徴量は、処理対象の単語の後のポーズ(無音期間)の継続時間(単位は秒)である。
【0082】
図5の上段の図では、時刻time
kでの特徴量feat
k
0,・・・,feat
k
n-1が時系列で順番にセグメント処理部2で取得され、セグメント評価値score
seg
k(=score
seg(k))が取得され、取得されたセグメント評価値score
seg
kと閾値th1とを比較し、score
seg(k)>th1である場合、0番目からk番目までの単語からなる文字列(単語列)sentenceと、当該0番目からk番目までの単語からなる文字列(単語列)が発話されている時間範囲のデータ、すなわち、当該文字列の発話開始時刻time
startと、当該文字列の発話終了時刻time
endとが取得される様子を模式的に示している。
【0083】
図5の中段の図に示すように、単語「Smith」が入力された時刻0.9s(time
1=0.9s)(時刻は、単語に付された時間情報(タイムスタンプ)から取得される)において、セグメント処理で取得されたセグメント評価値score
seg
k(=score
seg(k)、k=1)の値が「0.65」となり、閾値th1よりも大きな値となっている。なお、閾値th1は、「0.6」に設定されているものとする。したがって、セグメント処理部2は、このとき、第1番目の単語「Smith」(時刻:0.9s)の後にセグメントの区切り(文末)があると判定し、第0番目の単語「I’m」(時刻:0.5s)から第1番目の単語「Smith」(時刻:0.9s)までの単語列を文章データ(セグメント化した単語列のデータ)Ds_srcとして取得する。
【0084】
また、セグメント処理部2は、取得した上記文章データが発話された時間範囲を、第0番目の単語「I’m」の時間情報(タイムスタンプ)から取得した「時刻:0.5s」から第1番目の単語「Smith」(時刻:0.9s)の次の単語(
図5の中段図の場合、単語「nice」)の時間情報(タイムスタンプ)から取得した「時刻:1.1s」までの期間とする。つまり、セグメント処理部2は、
time
start=0.5s(第0番目の単語の時間情報)
time
end=1.1s(第1番目の単語の次の単語(第2番目の単語)の時間情報)
として、当該情報を含むデータを、時間範囲のデータD_t_rngとして取得する。
【0085】
そして、セグメント処理部2は、上記により取得したデータDs_srcを機械翻訳処理部4に出力するとともに、上記により取得したデータD_t_rngを話者予測処理部3に出力する。
【0086】
そして、セグメント処理部2は、セグメントの区切りであると判定した次の単語(
図5の場合、時刻:1.1sの「nice」)からの単語列に対して、上記と同様の処理を行う(時刻:1.1sの単語「nice」をk=0の単語として、セグメント処理を行う)ことで、セグメント処理を継続して実行することができる。
【0087】
上記のようにしてセグメント処理で取得された文章データ(センテンスごとに区切られた単語列(1つの文を構成する単語列のデータ))を含むデータDs_srcは、セグメント処理部2から機械翻訳処理部4に出力される。そして、上記のようにしてセグメント処理で取得された文章データ(センテンスごとに区切られた単語列(1つの文を構成する単語列のデータ))の発話期間の情報である時間範囲のデータD_t_rngは、セグメント処理部2から話者予測処理部3に出力される。
【0088】
話者予測処理部3のビデオクリップ処理部31は、ビデオストリーム取得処理装置Dev1から出力されるデータD_av(AV同期がとれたビデオストリームのデータ)と、セグメント処理部2から出力されるデータD_t_rngとを入力する。ビデオクリップ処理部31は、データD_t_rngに基づいて、データD_avに含まれるビデオストリームのデータに対してクリップ処理を行う。具体的には、ビデオクリップ処理部31は、データD_t_rngから、期間(時間範囲)の情報を取得し、当該期間(時間範囲)の情報に相当する(当該期間(時間範囲)に取得された)ビデオストリームのデータを取得する。例えば、
図5の場合であって、データDs_srcが「I’m Smith」である場合、時間範囲のデータD_t_rng=(time
start,time
end)=(0.5s,1.1s)であるので、ビデオクリップ処理部31は、時刻0.5sから時刻1.1sまでの期間のデータをデータD_avから取得し、取得したデータを、データD1_avとする。
【0089】
そして、ビデオクリップ処理部31は、取得したビデオストリームのデータD1_avを話者検出処理部33に出力する。また、ビデオクリップ処理部31は、取得したビデオストリームのデータD1_avのうちオーディオストリームのデータのみを抽出し、抽出したオーディオストリームのデータを、データD1_aとして、音声用エンコーダ32に出力する。
【0090】
音声用エンコーダ32は、ビデオクリップ処理部31から出力されるデータD1_a(オーディオストリームのデータ)を入力し、当該データD_aに対してエンコード処理(オーディオストリームから、当該オーディオストリームに対応する埋込表現データを取得する処理)を実行し、入力されたデータD_a(オーディオストリーム(音声ストリーム))に対応する埋込表現データを取得する。そして、音声用エンコーダ32は、取得した埋込表現データを、データD_a_embとして、話者特定処理部35に出力する。
【0091】
話者検出処理部33は、ビデオクリップ処理部31から出力されるデータD1_av(ビデオストリームのデータ)D1_avに対して、話者検出処理を実行し、入力されたデータD1_avにより形成される音声付き動画上で発話している人に相当する画像領域を検出し、検出した画像領域に基づいて、話者アイコンデータを取得する。なお、この話者検出処理は、例えば、下記文献Bに開示されている技術により実現できる。
(文献B):Joseph Roth, Sourish Chaudhuri, Ondrej Klejch, Radhika Marvin, Andrew Gallagher, Liat Kaver, Sharadh Ramaswamy, Arkadiusz Stopczynski, Cordelia Schmid, Zhonghua Xi, and Caroline Pantofaru, "AVA-ActiveSpeaker: An Audio-Visual Dataset for Active Speaker Detection" 2019.
例えば、
図6に示す場合、話者検出処理部33は、データD1_avにより形成される音声付き動画上で発話している人に相当する画像領域R1_det_spk、R2_det_spk、および、R3_det_spkを取得し、当該画像領域の縮小した画像を話者アイコンデータとして取得する。
【0092】
そして、話者検出処理部33は、取得した話者アイコンデータを含むデータを、データDo_face_iconとして、表示処理装置Dev2に出力する。
【0093】
また、話者検出処理部33は、入力されたデータD1_avに対して、話者検出処理を実行し、入力されたデータD1_avにより形成される音声付き動画上で発話している人の顔に相当する画像領域を検出し、検出した画像領域を形成する画像信号(画像データ)を含むデータを、データD_faceとして、顔用エンコーダ34に出力する。
【0094】
顔用エンコーダ34は、話者検出処理部33から出力されるデータD_faceを入力し、当該データD_faceに対してエンコード処理(顔に相当する画像領域を形成する画像データ(画像信号)から、当該画像データに対応する埋込表現データを取得する処理)を実行し、入力されたデータD_faceに対応する埋込表現データを取得する。そして、顔用エンコーダ34は、取得した埋込表現データを、データD_face_embとして、話者特定処理部35に出力する。
【0095】
話者特定処理部35は、音声用エンコーダ32から出力されるデータD_a_emb(音声データの埋込表現データ)と、顔用エンコーダ34から出力されるデータD_face_emb(顔画像領域データの埋込表現データ)と、を入力する。
【0096】
話者特定処理部35は、データD_a_emb(音声データの埋込表現データ)、および、データD_face_emb(顔画像領域データの埋込表現データ)と、データ格納部DB1に格納されているデータとを参照することで話者特定処理を実行し、話者特定を行う。なお、データ格納部DB1には、話者ごとに、顔画像領域データの埋込表現データおよび音声データの埋込表現データが記憶さているものとし、当該データは、話者特定処理部35により読み出される。なお、ID=xの話者(これを「話者x」という)の顔画像領域データの埋込表現データをvf
xとし、ID=xの話者の音声データの埋込表現データをva
xと表記する。
【0097】
具体的処理について、
図7のフローチャートを参照しながら説明する。
【0098】
(ステップS21):
ステップS21において、ベストマッチングデータの探索処理が実行される。具体的には、以下の処理が実行される。
【0099】
話者特定処理部35は、下記数式に相当する処理を行うことで、データ格納部DB1に記憶されているデータの中からベストマッチングデータとなるIDを有する話者のID=x’を特定する。
【数3】
cos(v1,v2):v1およびv2のコサイン類似度を取得する関数
(ステップS22):
ステップS22において、話者特定処理部35は、ベストマッチングデータとなるID=x’を有する話者の類似度スコアscore
sim(x’)を下記数式に相当する処理を行うことで、取得する。
【数4】
cos(v1,v2):v1およびv2のコサイン類似度を取得する関数
(ステップS23):
ステップS23において、話者特定処理部35は、ID=x’を有する話者の類似度スコアscore
sim(x’)と所定の閾値th2とを比較し、score
sim(x’)>th2である場合、処理をステップS24に進め、一方、score
sim(x’)>th2ではない場合、処理をステップS25に進める。
【0100】
(ステップS24):
ステップS24において、話者特定処理部35は、処理対象のデータD1_av(時間範囲でクリップしたビデオストリーム)により形成される音声付き動画で発話している人(話者)をID=x’を有する話者であると特定する。
【0101】
(ステップS25、ステップS26):
ステップS25において、話者特定処理部35は、処理対象のデータD1_av(時間範囲でクリップしたビデオストリーム)により形成される音声付き動画で発話している人(話者)のデータは、データ格納部DB1に記憶されている話者のデータではないと判断する。
【0102】
そして、ステップS26において、話者特定処理部35は、処理対象のデータD1_av(時間範囲でクリップしたビデオストリーム)により形成される音声付き動画で発話している人(話者)は、新しい話者であると判断し、当該話者のIDを、データ格納部DB1に記憶されていない新しいIDに設定する(例えば、データ格納部DB1に記憶されている話者のIDが1≦ID≦Mである場合、当該話者のIDを「M+1」に設定する)。そして、話者特定処理部35は、当該ID(新しい話者のID)と、当該IDの話者の顔画像領域データの埋込表現データおよび音声データの埋込表現データとを組みにして(当該IDで紐付けたデータにして)、データ格納部DB1に記憶させる。
【0103】
(ステップS27):
ステップS27において、話者特定処理部35は、特定した話者のタグデータ(例えば、話者を特定する文字列のデータ)を取得し、当該タグデータを、データDo_spk_tagとして、表示処理装置Dev2に出力する。
【0104】
機械翻訳処理部4は、セグメント処理部2から出力されるデータDs_src(翻訳元の言語(原言語))の文章データを入力し、入力した原言語の文章データDs_srcに対して、機械翻訳処理を行うことで、原言語の文章データDs_srcに対応する翻訳言語(翻訳先言語)の単語列データ(翻訳結果データ)を取得する。そして、機械翻訳処理部4は、取得した翻訳結果データ(翻訳言語の単語列データ)を、データDo_MTとして、表示処理装置Dev2に出力する。
【0105】
表示処理装置Dev2は、ビデオストリーム取得処理装置Dev1から出力されるデータD_avと、同時通訳装置100から出力されるDo_MT(機械翻訳結果データ)、および、データDo_spk(話者特定データ)とを入力する。表示処理装置Dev2は、ビデオストリームのデータD_avと、機械翻訳結果データDo_MTと、話者特定データDo_spkとに基づいて、表示装置(不図示)に表示させるためのデータを生成する。
【0106】
ここで、表示処理装置Dev2により生成される表示データの具体例について、
図8~
図10を用いて、説明する。
【0107】
図8~
図10は、
図3のビデオストリームを、同時通訳システム1000により処理して取得された表示データを表示装置に表示させたときの画面を模式的に示す図である。
図8~
図10において、領域Disp1が全体の表示領域であり、領域Disp11が音声付き動画(同時通訳装置100および表示処理装置Dev2に入力されたビデオストリームにより形成される音声付き動画)を表示する領域であり、領域Disp12が機械翻訳処理部4により取得された翻訳結果データ(翻訳先言語(
図8~
図10の場合、日本語)の単語列のデータ)を表示する領域である。また、
図8~
図10において、領域Disp13が同時通訳装置100により取得された話者を特定するためのタグデータ(
図8~
図10において、「spk0」、「spk1」と表示されているデータ)、話者アイコンデータ(話者の顔部分の画像からなるアイコンデータ)、および、翻訳結果データを表示する領域である。
【0108】
≪
図8の場合≫
図8は、男性が英語「I’m Smith」を発話したシーンであり、同時通訳装置100のセグメント処理部2により、セグメント処理が実行され、データDs_srcとして、英語の文章データ「I’m Smith」が取得され、当該文章データが翻訳処理部4に出力される。それと同時に、セグメント処理部2により、男性が英語「I’m Smith」を発話した時間範囲のデータD_t_rngが取得され、当該データD_t_rngが話者予測処理部3に出力される。そして、話者予測処理部3により、発話した男性の顔領域が特定され、当該男性のアイコンデータが取得されるとともに、当該男性のタグデータ(
図8では、「spk0」として示したデータ)が取得される。このとき、同時通訳装置100では、以下の処理が実行される。すなわち、同時通訳装置100の話者予測処理部3は、男性が英語「I’m Smith」を発話した時間範囲のデータD_t_rngで示される時間範囲のビデオストリームに含まれる音声を取得し、当該音声の埋込表現データD_a_embを取得し、また、上記時間範囲のビデオストリームから発話している人の顔領域の画像データD_faceを取得し、当該画像データの埋込表現データD_face_embを取得する。そして、話者予測処理部3は、取得した音声の埋込表現データD_a_embおよび顔画像領域データの埋込表現データD_face_embと、データ格納部DB1に記憶されているデータ(音声の埋込表現データおよび顔画像領域データの埋込表現データ)とベストマッチング処理を実行し、マッチングデータのスコアが所定の閾値を超えている場合、ベストマッチした話者IDを有する話者が、「I’m Smith」を発話した話者(男性)と同一であると判定し、当該話者IDのタグデータを表示処理装置Dev2に出力する。一方、マッチングデータのスコアが所定の閾値を超えていない場合、話者予測処理部3は、「I’m Smith」を発話した話者(男性)のデータは、データ格納部DB1には存在しないと判定し、当該話者に対して、新しいIDを設定し、さらに、当該話者のデータ(音声の埋込表現データおよび顔画像領域データの埋込表現データ)をデータ格納部DB1に記憶させる。
【0109】
そして、上記により取得されたタグデータが話者予測処理部3から表示処理装置Dev2に出力され、表示処理装置Dev2により、領域Disp13に表示される(
図8の場合、タグデータ「spk0」と表示される)。
【0110】
また、話者予測処理部3により取得されたアイコンデータ(男性の顔領域画像のアイコン)が表示処理装置Dev2に出力され、表示処理装置Dev2により、当該アイコンデータが領域Disp13に表示される。
【0111】
さらに、機械翻訳処理部4により取得された機械翻訳結果データDo_MTが表示処理装置Dev2に出力され、表示処理装置Dev2により、当該機械翻訳結果データ(
図8の場合、「私は、スミスです。」(翻訳先言語(日本語)の単語列))が領域Disp13および領域Disp12(字幕を表示する領域)に表示される。
【0112】
≪
図9の場合≫
図9は、男性が英語「Nice to meet you」を発話したシーンであり、同時通訳装置100のセグメント処理部2により、セグメント処理が実行され、データDs_srcとして、英語の文章データ「Nice to meet you」が取得され、当該文章データが翻訳処理部4に出力される(上記で説明したセグメント処理により、単語「you」の後がセグメントの区切りであると判定される)。それと同時に、セグメント処理部2により、男性が英語「Nice to meet you」を発話した時間範囲のデータD_t_rngが取得され、当該データD_t_rngが話者予測処理部3に出力される。そして、話者予測処理部3により、発話した男性の顔領域が特定され、当該男性のアイコンデータが取得されるとともに、当該男性のタグデータ(
図9では、「spk0」として示したデータ)が取得される。このとき、同時通訳装置100では、以下の処理が実行される。すなわち、同時通訳装置100の話者予測処理部3は、男性が英語「Nice to meet you」を発話した時間範囲のデータD_t_rngで示される時間範囲のビデオストリームに含まれる音声を取得し、当該音声の埋込表現データD_a_embを取得し、また、上記時間範囲のビデオストリームから発話している人の顔領域の画像データD_faceを取得し、当該画像データの埋込表現データD_face_embを取得する。そして、話者予測処理部3は、取得した音声の埋込表現データD_a_embおよび顔画像領域データの埋込表現データD_face_embと、データ格納部DB1に記憶されているデータ(音声の埋込表現データおよび顔画像領域データの埋込表現データ)とベストマッチング処理を実行し、マッチングデータのスコアが所定の閾値を超えている場合、ベストマッチした話者IDを有する話者が、「Nice to meet you」を発話した話者(男性)と同一であると判定し、当該話者IDのタグデータを表示処理装置Dev2に出力する。
図9の場合、上記話者のデータがデータ格納部DB1に記憶されているため、マッチングデータのスコアが所定の閾値を超え、その結果、話者予測処理部3は、「Nice to meet you」を発話した話者(男性)が、タグデータ「spk0」に相当する話者であると判定する。
【0113】
そして、上記により取得されたタグデータが話者予測処理部3から表示処理装置Dev2に出力され、表示処理装置Dev2により、領域Disp13に表示される(
図9の場合、タグデータ「spk0」と表示される)。
【0114】
また、話者予測処理部3により取得されたアイコンデータ(男性の顔領域画像のアイコン)が表示処理装置Dev2に出力され、表示処理装置Dev2により、当該アイコンデータが領域Disp13に表示される。
【0115】
さらに、機械翻訳処理部4により取得された機械翻訳結果データDo_MTが表示処理装置Dev2に出力され、表示処理装置Dev2により、当該機械翻訳結果データ(
図9の場合、「はじめまして。」(翻訳先言語(日本語)の単語列))が領域Disp13および領域Disp12(字幕を表示する領域)に表示される。
【0116】
≪
図10の場合≫
図10は、女性が英語「Nice to meet you too,Mr.Smith」を発話したシーンであり、同時通訳装置100のセグメント処理部2により、セグメント処理が実行され、データDs_srcとして、英語の文章データ「Nice to meet you too,Mr.Smith」が取得され、当該文章データが翻訳処理部4に出力される。それと同時に、セグメント処理部2により、女性が英語「Nice to meet you too,Mr.Smith」を発話した時間範囲のデータD_t_rngが取得され、当該データD_t_rngが話者予測処理部3に出力される。そして、話者予測処理部3により、発話した女性の顔領域が特定され、当該女性のアイコンデータが取得されるとともに、当該女性のタグデータ(
図10では、「spk1」として示したデータ)が取得される。このとき、同時通訳装置100では、以下の処理が実行される。すなわち、同時通訳装置100の話者予測処理部3は、女性が英語「Nice to meet you too,Mr.Smith」を発話した時間範囲のデータD_t_rngで示される時間範囲のビデオストリームに含まれる音声を取得し、当該音声の埋込表現データD_a_embを取得し、また、上記時間範囲のビデオストリームから発話している人の顔領域の画像データD_faceを取得し、当該画像データの埋込表現データD_face_embを取得する。そして、話者予測処理部3は、取得した音声の埋込表現データD_a_embおよび顔画像領域データの埋込表現データD_face_embと、データ格納部DB1に記憶されているデータ(音声の埋込表現データおよび顔画像領域データの埋込表現データ)とベストマッチング処理を実行し、マッチングデータのスコアが所定の閾値を超えている場合、ベストマッチした話者IDを有する話者が、「Nice to meet you too,Mr.Smith」を発話した話者(女性)と同一であると判定し、当該話者IDのタグデータを表示処理装置Dev2に出力する。一方、マッチングデータのスコアが所定の閾値を超えていない場合、話者予測処理部3は、「Nice to meet you too,Mr.Smith」を発話した話者(女性)のデータは、データ格納部DB1には存在しないと判定し、当該話者に対して、新しいIDを設定し、さらに、当該話者のデータ(音声の埋込表現データおよび顔画像領域データの埋込表現データ)をデータ格納部DB1に記憶させる。
【0117】
そして、上記により取得されたタグデータが話者予測処理部3から表示処理装置Dev2に出力され、表示処理装置Dev2により、領域Disp13に表示される(
図10の場合、タグデータ「spk1」と表示される)。
【0118】
また、話者予測処理部3により取得されたアイコンデータ(女性の顔領域画像のアイコン)が表示処理装置Dev2に出力され、表示処理装置Dev2により、当該アイコンデータが領域Disp13に表示される。
【0119】
さらに、機械翻訳処理部4により取得された機械翻訳結果データDo_MTが表示処理装置Dev2に出力され、表示処理装置Dev2により、当該機械翻訳結果データ(
図10の場合、「はじめまして、スミスさん。」(翻訳先言語(日本語)の単語列))が領域Disp13および領域Disp12(字幕を表示する領域)に表示される。
【0120】
このように、同時通訳システム1000では、話者を特定するタグデータ、アイコンデータとともに、当該話者が発話した原言語の機械翻訳結果を領域Disp13に表示させることができるので、ユーザは、「誰が何を言ったのか」を容易に認識することができる。
【0121】
また、同時通訳システム1000では、同時通訳装置100のセグメント処理部2により、高速、高精度なセグメント処理を実行し、文章データを取得するとともに、当該文章データに含まれる単語列が発話された時間範囲のデータを取得できるので、リアルタイムで、機械翻訳処理、および、話者特定処理を行うことが可能となる。つまり、同時通訳システム1000では、高速、高精度なセグメント処理により取得された文章データに対して、機械翻訳処理部4で機械翻訳処理を実行するのと並行して、入力されたビデオストリームに対して、時間範囲でクリップしたデータ(ストリーム)を用いて話者予測処理部3により話者特定処理を実行するので、リアルタイム処理(所定の遅延時間に収まることを保証する処理)で、機械翻訳処理、および、話者特定処理を行うことが可能となる。
【0122】
[他の実施形態]
上記実施形態で説明した同時通訳システムの各機能部は、1つの装置(システム)により実現されてもよいし、複数の装置により実現されてもよい。
【0123】
また、上記実施形態において、同時通訳装置100の音声認識処理部1にビデオストリーム取得処理装置Dev1から出力されるデータD_av(ビデオストリーム(AV同期がとれたビデオストリーム)のデータ)が入力され、音声認識処理部1が、データD_avから音声データ(音声信号)を抽出し、抽出した音声データ(音声信号)に対して、音声認識処理を実行する場合について説明したが、これに限定されることはない。例えば、同時通訳装置100の音声認識処理部1に、時間情報が付与された音声データ(音声信号)が入力され、音声認識処理部1が、当該音声データに対して音声認識処理を実行し、上記音声データ(音声信号)に対応する単語列(ワードストリーム)と当該単語列に含まれる各単語が発話された時間情報とを取得するようにしてもよい。つまり、同時通訳装置100に入力されるデータD_av(ビデオストリーム(AV同期がとれたビデオストリーム)のデータ)(時間情報、映像信号、および、音声信号を含むデータ(信号))から、音声信号および時間情報を抽出する処理を音声認識処理部1が実行するのではなく、例えば、ビデオストリーム取得処理装置Dev1から、時間情報が付与された音声信号が同時通訳装置100の音声認識処理部1に入力するようにしてもよい。なお、この場合においても、同時通訳装置100の話者予測処理部3には、データD_av(ビデオストリーム(AV同期がとれたビデオストリーム)のデータ)(時間情報、映像信号、および、音声信号を含むデータ(信号))が入力される。
【0124】
また、上記実施形態において、入力言語が英語である場合について説明したが、入力言語は英語に限定されることはなく、他の言語であってもよい。つまり、上記実施形態の同時通訳システムにおいて、翻訳元言語および翻訳先言語は、任意の言語であってよい。
【0125】
また、上記実施形態において、話者特定処理部35において、コサイン類似度を用いて、(数式3)に相当する処理を実行することで、データ格納部DB1に記憶されているデータの中からベストマッチングデータとなるIDを有する話者のID=x’を特定する場合について説明したが、これに限定されることはない。例えば、話者特定処理部35は、距離情報(例えば、ユークリッド距離)を用いて、{d(vf、vf
x)+d(vf、vf
x)}を最小にするxをx’として求め、データ格納部DB1に記憶されているデータの中からベストマッチングデータとなるIDを有する話者のID=x’を特定するようにしてもよい。なお、d(v1,v2)は、データv1、v2間の距離情報(例えば、ユークリッド距離)を取得する関数である。
【0126】
また上記実施形態で説明した同時通訳システム1000において、各ブロックは、LSIなどの半導体装置により個別に1チップ化されても良いし、一部または全部を含むように1チップ化されても良い。
【0127】
なおここではLSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
【0128】
また集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【0129】
また上記各実施形態の各機能ブロックの処理の一部または全部は、プログラムにより実現されるものであってもよい。そして上記各実施形態の各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置(CPU)により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ROMなどの記憶装置に格納されており、ROMにおいて、あるいはRAMに読み出されて実行される。
【0130】
また上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェア(OS(オペレーティングシステム)、ミドルウェア、あるいは所定のライブラリとともに実現される場合を含む。)により実現してもよい。さらにソフトウェアおよびハードウェアの混在処理により実現しても良い。
【0131】
例えば上記実施形態の各機能部をソフトウェアにより実現する場合、
図11に示したハードウェア構成(例えばCPU、GPU、ROM、RAM、入力部、出力部、通信部、記憶部(例えば、HDD、SSD等により実現される記憶部)、外部メディア用ドライブ等をバスBusにより接続したハードウェア構成)を用いて各機能部をソフトウェア処理により実現するようにしてもよい。
【0132】
また上記実施形態の各機能部をソフトウェアにより実現する場合、当該ソフトウェアは、
図11に示したハードウェア構成を有する単独のコンピュータを用いて実現されるものであってもよいし、複数のコンピュータを用いて分散処理により実現されるものであってもよい。
【0133】
また上記実施形態における処理方法の実行順序は、必ずしも上記実施形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えることができるものである。また、上記実施形態における処理方法において、発明の要旨を逸脱しない範囲で、一部のステップが、他のステップと並列に実行されるものであってもよい。
【0134】
前述した方法をコンピュータに実行させるコンピュータプログラム、及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここでコンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、大容量DVD、次世代DVD、半導体メモリを挙げることができる。
【0135】
上記コンピュータプログラムは、上記記録媒体に記録されたものに限らず、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
【0136】
なお本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。
【符号の説明】
【0137】
1000 同時通訳システム
100 同時通訳装置
1 音声認識処理部
2 セグメント処理部
3 話者予測処理部
31 ビデオクリップ処理部
32 音声用エンコーダ
33 話者検出処理部
34 顔用エンコーダ
35 話者特定処理部
DB1 データ格納部
4 機械翻訳処理部
Dev2 表示処理装置