(58)【調査した分野】(Int.Cl.,DB名)
  通信システムにおいて実施されるコンピュータ実装される方法であって、前記通信システムが少なくともソース言語を話すソースユーザとターゲット言語を話すターゲットユーザとの間の音声またはビデオの通話を行うためのものであり、前記方法が、
  前記通話の通話音声を受信することであって、前記通話音声が前記ソース言語の前記ソースユーザの発話を含む、受信することと、
  発話翻訳モジュールによって、自動翻訳手順を前記通話音声に行って、前記ソースユーザの発話の前記ターゲット言語への音声翻訳を生成し、前記ターゲットユーザに出力することと、
  前記発話翻訳モジュールによって、前記自動翻訳手順の挙動の変化を伝達し、前記変化が、前記ソースユーザの発話していない期間に関連し、および前記自動翻訳の生成に関連し、それによって通知を前記ターゲットユーザへ出力させて、前記ターゲットユーザに前記変化を通知することと
を備え、
  前記通知は、前記翻訳手順の挙動の前記変化に対応し、人間の視覚的合図を模倣するアニメ化されたアバターによる視覚的行為として具現化される合成ビデオを含み、
  前記挙動の前記変化が、
    前記翻訳手順が、前記ソースユーザによる現在の発話していない期間中に前記ソースユーザによる今後の発話活動を現在待機している、傾聴状態に入ること、
    前記翻訳手順が、前記ソースユーザが発話活動の期間を開始したことに応答して、前記翻訳手順が前記通話音声における前記ソースユーザによる現在の発話活動を監視している、パッシブ翻訳状態に入ること、または、
    前記翻訳手順が、前記ソースユーザが発話活動の期間を終了したことに応答して、生成が完了したときに出力されるその期間における前記ソースユーザの発話の音声翻訳を前記翻訳手順が現在生成している、アクティブ翻訳状態に入ること
のいずれかを含む、コンピュータ実装される方法。
  前記翻訳された音声が生成時に通信ネットワークを介して前記ターゲットユーザのターゲットデバイスに送信され、受信時にそのデバイスの1つまたは複数の音声出力コンポーネントを介して出力される請求項1に記載のコンピュータ実装される方法。
  前記通知は、前記ターゲットユーザのターゲットユーザデバイスにおいて表示するための視覚通知、および/または前記ターゲットユーザデバイスにおいて再生するための音声通知、および/または前記ターゲットユーザデバイスの機械コンポーネントを作動させることにより出力される触覚通知を含む、請求項1に記載のコンピュータ実装される方法。
  通信システムで使用するためのコンピュータシステムであって、前記通信システムが少なくともソース言語を話すソースユーザとターゲット言語を話すターゲットユーザとの間の音声またはビデオの通話を行うためのものであり、前記コンピュータシステムが、
  前記ターゲットユーザが利用可能な1つまたは複数の音声出力コンポーネントと、
  前記ソースユーザの発話のターゲット言語への音声翻訳を前記ターゲットユーザに前記音声出力コンポーネントを介して出力するように構成された翻訳出力コンポーネントであって、前記翻訳が、前記ソース言語の前記ソースユーザの発話を含む前記通話の通話音声に自動翻訳手順を行うことで生成される、翻訳出力コンポーネントと、
  通知を前記ターゲットユーザに出力して、前記翻訳手順の挙動の変化を前記ターゲットユーザに通知するように構成された通知出力コンポーネントであって、前記変化が、前記ソースユーザの発話していない期間に関連し、および前記翻訳の前記生成に関連する、通知出力コンポーネントと
を備え、
  前記通知は、人間の視覚的合図を模倣するアニメ化されたアバターによる視覚的行為として具現化される合成ビデオを含み、
  前記挙動の前記変化が、
    前記翻訳手順が、前記ソースユーザによる現在の発話していない期間中に前記ソースユーザによる今後の発話活動を現在待機している、傾聴状態に入ること、
    前記翻訳手順が、前記ソースユーザが発話活動の期間を開始したことに応答して、前記翻訳手順が前記通話音声における前記ソースユーザによる現在の発話活動を監視している、パッシブ翻訳状態に入ること、または、
    前記翻訳手順が、前記ソースユーザが発話活動の期間を終了したことに応答して、生成が完了したときに出力されるその期間における前記ソースユーザの発話の音声翻訳を前記翻訳手順が現在生成している、アクティブ翻訳状態に入ること
のいずれかを含む、コンピュータシステム。
  前記コンピュータシステムが、前記ターゲットユーザのターゲットユーザデバイスにより、または前記ターゲットユーザデバイスと、前記ターゲットユーザデバイスが通信ネットワークを介して接続された少なくとも1つの他のコンピュータデバイスとの組み合わせにより、具現化される、請求項6に記載のコンピュータシステム。
  前記ターゲットユーザが利用可能なディスプレイを備え、前記視覚的行為として具現化される前記合成ビデオが、前記ディスプレイに表示され、前記出力関連情報が、関連するレイアウト情報を含む、請求項10に記載のコンピュータシステム。
  前記通知生成コンポーネントが、前記視覚的行為として具現化され、前記通知を具現化する前記合成ビデオを生成するように構成され、前記合成ビデオが前記レイアウト情報に応じて生成される、請求項11に記載のコンピュータシステム。
【発明を実施するための形態】
【0009】
[0017]  以下、実施形態が単なる例として説明される。
 
【0010】
[0018]  まず
図1が参照され、
図1は通信システム100を示し、通信システム100は、この実施形態ではパケットベースの通信システムであるが、他の実施形態ではパケットベースではない場合がある。通信システムの第1のユーザ102a(ユーザAまたは「アリス」)はユーザデバイス104aを操作し、ユーザデバイス104aは通信ネットワーク106に接続されているように図示されている。第1のユーザ(アリス)は、以下では、明らかとなるであろう理由で「ソースユーザ」とも呼ばれる。通信ネットワーク106は、たとえば、インターネットとすることができる。ユーザデバイス104aは、このデバイスのユーザ102aから情報を受信し、ユーザ102aに情報を出力するように構成される。
 
【0011】
[0019]  ユーザデバイス104aは、通信システム100に関するソフトウェアプロバイダにより提供される通信クライアント118aを動作させている。通信クライアント108aは、ユーザデバイス104aのローカルプロセッサ上で実行されるソフトウェアプログラムであり、このソフトウェアプログラムによってユーザデバイス104aは、コミュニケーションイベント、たとえば音声通話、音声およびビデオの通話(等価的にビデオ通話と呼ばれる)、インスタントメッセージング通信セッションなどを、ネットワーク106を介して確立することが可能になる。
 
【0012】
[0020]  また、
図1には、ユーザデバイス104bを有する第2のユーザ102b(ユーザBまたは「ボブ」)が示され、ユーザデバイス104bは、ユーザデバイス104aがネットワーク106を介して通信するためにクライアント118aを実行するのと同様に、ネットワーク106を介して通信するためにクライアント118bを実行する。したがって、ユーザAおよびB(102aおよび102b)は、通信ネットワーク106を介して互いと通信することができる。第2のユーザ(ボブ)は、以下、やはり明らかとなるであろう理由で「ターゲットユーザ」とも呼ばれる。
 
【0013】
[0021]  通信ネットワーク106に接続されるより多くのユーザが存在してもよいが、
図1では、明瞭さのために、2人のユーザ102aおよび102bのみが通信ネットワーク106に接続されているように示されている。
 
【0014】
[0022]  代替的実施形態では、ユーザデバイス104aおよび/または104bは、
図1に示されていない追加の中間ネットワークを介して通信ネットワーク106に接続し得ることに留意されたい。たとえば、ユーザデバイスの1つは、特定のタイプのモバイルデバイスである場合に、(
図1に示されていない)セルラーモバイルネットワーク、たとえばGSM(登録商標)またはUMTSネットワークを介して通信ネットワーク106に接続することができる。
 
【0015】
[0023]  アリスとボブとの間のコミュニケーションイベントは、クライアント118aおよび118bを用いて様々な方法で確立することができる。たとえば、通話は、アリスおよびボブの一方が、(直接的に、またはサーバもしくはコントローラなどの中間ネットワークエンティティを経由して間接的に)他方が受け入れる通話招待を他方に対して開始することによって確立することができ、アリスおよびボブの一方が自身のクライアントにおいて通話を終了することを選択することによって終了することができる。あるいは、以下でより詳細に説明されるように、システム100の別のエンティティが、アリスおよびボブを参加者とする通話を確立するように要求することで、通話を確立することができ、その通話はその場合にはアリス、ボブおよびそのイベント内のそのエンティティの間の多者(具体的には3方向の)通話となる。
 
【0016】
[0024]  各通信クライアントインスタンス118a、118bはログイン/認証機能を有し、この機能は、たとえばユーザがユーザ名(またはシステム100内でのそのユーザの識別を伝える他の適切なユーザ識別子)およびパスワードをクライアントにおいて入力し、これを認証手順の一部として通信システム100のサーバ(または同様のもの)に格納されたユーザアカウントデータに対して検証することで、ユーザデバイス104a、104bをそれぞれのユーザ102a、102bに関連付ける。このようにして、ユーザは、関連付けられたユーザ識別子(たとえばユーザ名)によって通信システム100において一意に識別され、各ユーザ名は、その識別されたユーザに関するデータ(たとえば通話音声/ビデオ)が送信され得るそれぞれのクライアントインスタンスにマッピングされる。
 
【0017】
[0025]  ユーザは、通信クライアントインスタンスを、同じログイン/登録の詳細に関連付けられた他のデバイス上で動作させることができる。特定のユーザ名を有する同一のユーザが、異なるデバイスにおける同一のクライアントアプリケーションの複数のインスタンスに同時にログインできる場合、サーバ(または同様のもの)は、ユーザ名(ユーザID)をそれらの複数のインスタンスの全てにマッピングするだけでなく、別々のサブ識別子(サブID)を各特定の個別のインスタンスにマッピングするように構成される。これにより、通信システムは、異なるインスタンス同士を区別しつつ、通信システムにおいてユーザについての一貫した識別をなおも維持することができる。
 
【0018】
[0026]  ユーザ102a(アリス)は、デバイス104aのクライアント118aにおいて「ユーザ1」としてログインする(認証される)。ユーザ102b(ボブ)は、デバイス104bのクライアント118bにおいて「ユーザ2」としてログインする(認証される)。
 
【0019】
[0027]  
図2に、通信クライアントインスタンス118(たとえば118a、118b)が実行されるユーザデバイス104(たとえば104a、104b)の詳細図を示す。ユーザデバイス104は、データを格納するためのメモリ(コンピュータストレージ)214が接続された1つまたは複数の中央処理装置(「CPU」)の形態の少なくとも1つのプロセッサ202と、表示画面などの利用可能な表示領域を有するディスプレイ222(たとえば222a、222b)の形態の出力デバイス、キーパッド(またはキーボード)218、およびビデオデータをキャプチャするためのカメラ216(これらは入力デバイスの例である)を備える。ディスプレイ222は、プロセッサ202にデータを入力するためのタッチスクリーンを備えて、ユーザデバイス104の入力デバイスをさらに構成することができる。出力音声デバイス210(たとえば1つまたは複数のラウドスピーカー)および入力音声デバイス212(たとえば1つまたは複数のマイクロフォン)が、CPU202に接続される。ディスプレイ222、キーパッド218、カメラ216、出力音声デバイス210および入力音声デバイス212は、ユーザデバイス104に統合することができ、またはディスプレイ222、キーパッド218、カメラ216、出力音声デバイス210および入力音声デバイス212のうちの1つまたは複数は、ユーザデバイス104に統合されなくてもよく、それぞれのインターフェースを介してCPU202に接続することができる。そのようなインターフェースの一例は、USBインターフェースである。たとえば、オーディオヘッドセット(すなわち、出力音声コンポーネントおよび入力音声コンポーネントの両方を含む単一のデバイス)またはヘッドフォン//イヤホン(もしくは同様のもの)を、適切なインターフェース、たとえばUSBまたはオーディオジャックベースのインターフェースを介してユーザデバイスに接続することができる。
 
【0020】
[0028]  CPU202は、通信システム100上で通信するために通信ネットワーク106と通信するためのモデムなどのネットワークインターフェース220に接続される。ネットワークインターフェース220は、ユーザデバイス104に統合されてもよく、されなくてもよい。
 
【0021】
[0029]  ユーザデバイス104は、たとえば、携帯電話(たとえばスマートフォン)、パーソナルコンピュータ(「PC」)(たとえば、Windows(商標)PC、MacOS(商標)PCおよびLinux(登録商標)PCを含む)、ゲーム用デバイス、テレビ(TV)デバイス(たとえばスマートTV)、タブレットコンピューティングデバイス、またはネットワーク106に接続可能な他の組み込みデバイスとすることができる。
 
【0022】
[0030]  上述のコンポーネントの一部は、一部のユーザデバイスでは存在しないことがあり、たとえばユーザデバイスは、電話ハンドセット(VoIPもしくはその他)または電話会議デバイス(VoIPもしくはその他)の形態を取り得る。
 
【0023】
[0031]  また、
図2に、CPU202で実行されるオペレーティングシステム(「OS」)204を示す。オペレーティングシステム204は、コンピュータのハードウェアリソースを管理し、ネットワークインターフェース220を介してネットワークとの間で伝送されるデータを処理する。クライアント118は、OS204上で動作するように図示されている。クライアントおよびOSは、プロセッサ202上で実行できるようにメモリ214に格納することができる。
 
【0024】
[0032]  クライアント118は、ユーザデバイス104のユーザに対して情報を提示し、そのユーザから情報を受信するためのユーザインターフェース(UI)を有する。ユーザインターフェースは、ディスプレイ222の利用可能領域に情報を表示するためのグラフィカルユーザインターフェース(GUI)を備える。
 
【0025】
[0033]  
図1に戻ると、ソースユーザであるアリス102はソース言語を話し、ターゲットユーザであるボブは、ソース言語以外の(すなわち、ソース言語と異なる)ターゲット言語を話し、ソース言語を理解できない(またはそれを限定的にしか理解できない)。したがって、ボブは、2人のユーザの間の通話においてアリスが話すことを理解できない、または少なくとも理解するのが困難である可能性がある。以下の例では、ボブは中国語話者として、アリスは英語話者として与えられ、理解されるように、これは単なる一例であり、ユーザは任意の国または地域の任意の2つの言語を話し得る。さらに、本明細書で使用される「異なる言語」は、同じ言語の異なる方言を意味するためにも使用される。
 
【0026】
[0034]  この目的で、言語翻訳中継システム(翻訳器中継システム)108が、通信システム100に設けられる。翻訳器中継の目的は、アリスおよびボブの間の音声またはビデオの通話において音声を翻訳することである。すなわち、翻訳器中継は、アリスおよびボブの間の音声またはビデオの通話の通話音声をソース言語からターゲット言語に翻訳して、アリスおよびボブの間の通話中コミュニケーションを円滑にする(すなわち、通話中にボブがアリスを理解すること、およびその逆を支援する)ためのものである。翻訳器中継は、アリスから受信されたソース言語の通話音声の翻訳を生成し、その翻訳はターゲット言語のものである。翻訳は、ボブに対して彼のデバイスのラウドスピーカーを介して出力するための音声信号として符号化された可聴翻訳、および/またはボブに対して彼のディスプレイによって表示するためのテキストベースの翻訳を含むことができる。
 
【0027】
[0035]  以下でより詳細に説明されるように、翻訳器中継システム108は、翻訳器および中継器の両方の役割を果たし、その意味は、アリスから未翻訳の通話音声をネットワーク106を介して受信し、翻訳し、アリスの通話音声の翻訳版をボブに中継するということである(すなわち、翻訳をボブへネットワーク106を介して直接送信して通話中に出力できるようにし、たとえばこれと対照的なのは、たとえばアリスまたはボブのユーザデバイスが翻訳器サービスに翻訳を要求することで要求元の役割を果たし、翻訳が要求元に返送され、要求元自体により他方のデバイスに渡されることである)。これは、ネットワークを経由した迅速かつ効率的な経路を表し、これにより、ネットワークリソースの観点でのクライアントにかかる負荷が最小化され、翻訳がボブに到達する速度全体が増加する。
 
【0028】
[0036]  翻訳器は、翻訳がアリスおよびボブの自然発話とある程度同期しているという意味で、アリスおよびボブの間の音声またはビデオの通話に対して「ライブ」の自動翻訳手順を行う。たとえば、典型的には、会話中の自然発話は、たとえばアリスが考えるために休止するまたはボブの話を聞いているときなどの、アリスによる発話非活動(speech inactivity)の区間が散在する、アリスによる発話活動(speech activity)の区間(すなわち、アリスが話している区間)を伴う。発話活動の区間は、たとえば、アリスの発話の休止が先行および後続する1つの文または少数の文に対応し得る。ライブ翻訳は、そのような発話活動の区間ごとに行うことができ、したがって、アリスの直前の発話活動の区間の翻訳は、十分な(たとえば所定の)発話非活動の区間によって始動される(「直前」とは、未翻訳の直近の発話活動の区間を指す)。この場合、翻訳が完了するとすぐに、翻訳をボブに送信し出力して、ボブがアリスの直近の自然発話活動の期間を聞いた後極力すぐに翻訳を聞くようにする、すなわち、アリスによる発話活動の期間がボブに聞かれ、小休止(翻訳およびその送信が行われる間)が続き、続いてボブがその区間内のアリスの発話の翻訳を聞くおよび/または見るようにすることができる。そのような区間ごとに翻訳を行うと、翻訳の品質がより高くなることがあり、その理由は、翻訳手順が、単語が文に出現する文脈を利用して、より高精度な翻訳を行うことができるためである。翻訳器サービスが中継器の役割を果たすので、この小休止の長さが最小化され、それによってボブにとってのユーザ体験がより自然になる。
 
【0029】
[0037]  あるいは、自動翻訳は、単語ごとまたはいくつかの単語ごとに行い、たとえばアリスの発話がまだ進行中でありボブに聞かれている間に、たとえばボブのデバイスに表示される字幕として、および/またはアリスの自然発話にかぶせて再生される音声として(たとえばアリスの発話の音量を可聴翻訳と比べて低減して)出力することができる。この結果、翻訳がほぼリアルタイムで(たとえば約2秒未満の応答時間で)生成されるので、ボブにとってのユーザ体験の応答性が良くなり得る。これら2つは組み合わせることもでき、たとえば、(翻訳された)発話認識システムの中間結果を画面に表示して、文章が進むにつれて最良の仮説が変化する場合に中間結果を編集できるようにし、次いで最良の仮説の翻訳を音声に変換することができる(下記参照)。
 
【0030】
[0038]  
図3は、翻訳器中継システム108の詳細図である。翻訳器中継システム110は、コード110を実行する少なくとも1つのプロセッサ304を備える。プロセッサ304に接続されているのは、前記実行用のコード110およびデータを格納するためのコンピュータストレージ(メモリ)302、ならびにネットワーク106に接続するためのネットワークインターフェース306である。単一のコンピュータデバイスとして図示されているが、中継システム108の機能は代わりに複数のコンピュータデバイス、たとえば同一のデータセンターに配置された複数のサーバなどに分散させることができる。すなわち、中継システムの機能は、1つまたは複数のコンピュータデバイスおよび1つまたは複数のプロセッサ(たとえば1つまたは複数のプロセッサコア)を備える任意のコンピュータシステムにより実装することができる。コンピュータシステムは、処理およびメモリ機能の全てが実質的に同一の地理的位置に(たとえば、1つまたは複数のローカルにネットワーク接続されたサーバを備える同一のデータセンターであって、それらのサーバがそのデータセンターの同一または異なるサーバデバイス上で動作する、同一のデータセンター内に)配置されるという意味で、「ローカライズ」することができる。明らかなように、これは、翻訳がボブに中継される速度をさらに増加させるのに役立ち得る(これにより、上記の例では、アリスによる発話の区間の終了と、翻訳の出力の開始との間の小休止の長さがさらに一段と削減され、ボブにとってのユーザ体験がさらに良好になる)。
 
【0031】
[0039]  コード110の一部として、メモリ302は、翻訳器エージェントを実装するように構成された計算されたコードを保持する。以下でより詳細に説明されるように、ユーザが対応するユーザ名に関連付けられるのと同様に、翻訳器エージェントもまた、通信システム100においてそれ自体のユーザ識別子(ユーザ名)と関連付けられる。したがって、翻訳器エージェントもまた、関連付けられたユーザ識別子によって一意に識別され、それによっていくつかの実施形態では通信システム100の他のユーザのように見え、たとえば「現実の」ユーザ104a、104bが連絡先として追加し、それぞれのクライアント118a、118bを用いてデータを送受信できるオンラインユーザであるように常に見え、他の実施形態では、たとえばユーザがボット(bot)の識別に気づかなくなるようにクライアントUIを構成して(以下で論じられる)、ボットがユーザ識別子を有することをユーザに対して隠蔽する(または少なくとも、実質的に隠蔽されるように偽装する)ことができる。
 
【0032】
[0040]  理解されるように、複数のボットは、同一の識別を共有する(すなわち、同一のユーザ名に関連付ける)ことができ、これらのボットは、エンドユーザには不可視であり得る異なる識別子を用いて区別することができる。
 
【0033】
[0041]  また、翻訳器中継システム108は、翻訳に必ずしも直接的に関連しない他の機能、たとえば後述の例示的実施形態のような通話音声ストリームの混合などを実施することができる。
 
【0034】
[0042]  
図4Aは、ユーザデバイス104a、104bおよび通話管理コンポーネント400の間のインタラクションおよび伝達を示す機能ブロック図である。後述の様々な方法によれば、通話管理システム400は、共通の言語を共有していない人々(たとえばアリスおよびボブ)の間の対人コミュニケーションを円滑にする。
図4Bは、
図4Aに示されたコンポーネントの一部の別の図である。
 
【0035】
[0043]  通話管理コンポーネント400は、翻訳器中継システム108上でコード110を実行することにより実装される機能を表す。通話管理コンポーネントは、実行された場合に前記コード110によって実施される異なる機能を表す機能ブロック(コンポーネント)402〜412を備えるように示されている。具体的には、通話管理コンポーネント400は、以下のコンポーネント:機能が以下でより詳細に説明される上述の翻訳器エージェントのインスタンス402と、ソース言語の音声発話をターゲット言語のテキストに翻訳するように構成された音声翻訳器404と、目的言語のテキストを目的言語の合成された発話に変換するように構成されたテキストから発話への変換器410と、複数の入力音声信号を混合してそれらの信号のそれぞれからの音声を含む単一の混合された音声ストリームを生成するように構成された音声混合器412とを備える。音声翻訳器は、ソース言語用に構成された自動発話認識コンポーネント406を備え、これは、受信された音声におけるソース言語を認識するように構成され、すなわち音の特定の部分がソース言語の単語に対応することを識別するように構成される(具体的には、この実施形態では、ソース言語の音声発話をソース言語のテキストに変換するように構成され、他の実施形態では、テキストである必要はなく、たとえば、翻訳器は、様々な方法で符号化され得るラティス(lattice)として表現される発話エンジンにより提供される一式の仮説を翻訳することができる)。また、発話認識は、どの言語をソースユーザが話しているかをその場で識別するように構成する(および、それに応答してソース言語用に構成する、たとえばフランス語を検出したことに応答して「フランス語から...」モード用に構成する)ことができ、あるいは(たとえば、ボットを「フランス語から...」モードなどに事前構成する、UIもしくはプロファイル設定によって、またはインスタントメッセージングベースの伝達などによって)ソース言語用に事前構成することができる。また、コンポーネント400は、ソース言語のテキストをターゲット言語のテキストに翻訳するように構成されたテキスト翻訳器408を備える。コンポーネント404、408は、集合的に、音声翻訳器404の翻訳機能を実装する。コンポーネント402、404および410は、バックエンド翻訳サブシステム(翻訳サービス)401を構成し、コンポーネント404および410は、その発話から発話への翻訳(S2ST:speech-to-speech translation)サブシステムを構成し、エージェントは、クライアント118a/118bとそのサブシステムの間の仲介として動作する。
 
【0036】
[0044]  述べられたように、
図4A/4Bのコンポーネントは、同一のマシンで動作する処理、または異なるマシンで動作する別々の処理を表し得る(たとえば、発話認識およびテキスト翻訳は、異なるマシンで動作する2つの別々の処理として実装することができる)。
 
【0037】
[0045]  翻訳器エージェントは、アリスのユーザデバイス104aから通話音声をネットワーク106を介して受信するために接続された第1の入力と、音声翻訳器404の(詳細には、発話認識コンポーネント406の)入力に接続された第1の出力と、発話認識コンポーネント406の出力(これは音声翻訳器404の第1の出力である)に接続された第2の入力と、テキスト翻訳器408の出力(これは音声翻訳器404の第2の出力である)に接続された第3の入力と、混合器412の第1の入力に接続された第2の出力と、ターゲット言語の翻訳されたテキストをボブのユーザデバイス104bに送信するために接続された第3の出力と、ソース言語の認識されたテキストをアリスのユーザデバイス104aおよびさらにボブのユーザデバイス104bの両方に送信するように構成された第4の出力とを有する。また、エージェント402は、テキストから発話への変換器410の出力に接続された第4の入力と、テキストから発話への変換器の入力に接続された第5の出力とを有する。混合器412は、アリスのデバイス104aから通話音声を受信するために接続された第2の入力と、混合された音声ストリームをボブにネットワーク106を介して送信するために接続された出力とを有する。また、発話認識コンポーネント406の出力は、テキスト翻訳器408の入力に接続される。エージェント402は、ソース認識手順の結果(たとえばその精度を示す)に関するソースユーザフィードバックを伝えるフィードバックデータをアリスのユーザデバイス104aからネットワーク106を介して受信するために接続された第5の入力を有し、フィードバック情報は、アリスによって彼女のクライアントユーザインターフェースを介して選択されており、発話認識器406をその結果を改善するように構成する際に使用するために認識されたテキストに関連する情報を伝える。アリスは、彼女のクライアントユーザインターフェースを介して出力され得る発話認識の結果に関連する情報を受信したときに、この情報を提供することができる立場にある。
 
【0038】
[0046]  音声信号を表す入力/出力は、
図4Aにおいて太い実線の矢印で示され、テキストベースの信号を表す入力/出力は、細い矢印で示されている。
 
【0039】
[0047]  翻訳器エージェントインスタンス402は、アリスおよびボブのクライアント118ならびに翻訳サブシステム401の間のインターフェースとして機能し、独立した「ソフトウェアエージェント」として動作する。エージェントベースのコンピューティングは、当技術分野で知られている。ソフトウェアエージェントは、代理関係にあるユーザの代わりにタスクを実行する自律コンピュータプログラムである。ソフトウェアエージェントの役割を果たす際に、翻訳器エージェント402は自律ソフトウェアエンティティとして機能し、これは、(たとえば、通話または関連するセッションの開始に応答して)開始されると、その特定の通話またはセッションの持続時間にわたって実質的に連続的に動作して(これは、オンデマンドで実行されるのとは対照的である、すなわち、何らかの特定のタスクを実施するように要求された場合にのみ実行されるのとは対照的である)、入力を待機し、入力が検出されると、翻訳器エージェント402により自動化タスクがそれらの入力に対して行われる。
 
【0040】
[0048]  特定の実施形態では、翻訳器エージェントインスタンス402は通信システム100において識別を有し、これはシステム100のユーザがシステムにおいて識別を有するのと全く同様である。この意味で、翻訳器エージェントは「ボット」とみなすことができ、ボットは、関連付けられたユーザ名および挙動(上記参照)によって通信システム100の正規のユーザ(メンバー)に見える人工知能(AI:artificial intelligence)ソフトウェアエンティティである。一部の実装形態では、ボットの異なるそれぞれのインスタンスは、たとえば英語スペイン語翻訳器1、英語スペイン語翻訳器2など、各通話に(すなわち、通話ごとのインスタンスの方式で)割り当てることができる。すなわち、一部の実装形態では、ボットは、単一のセッション(たとえば2人以上のユーザの間の通話)に関連付けられる。他方、ボットがインターフェースを提供する翻訳サービスは、複数のボット(およびさらに他のクライアント)の間で共有することができる。
 
【0041】
[0049]  他の実装形態では、複数の会話を同時に継続できるボットインスタンスは、単純に構成することができる。
 
【0042】
[0050]  具体的には、通信システム100の人間のユーザ104a、104bは、たとえば、確立された通話に参加者として参加するようにボットを招待することで、またはボットが所望の2人以上の人間の参加者およびボット自体の間で多者通話を開始するように要求することで、2人以上の人間のユーザの間の音声またはビデオの通話への参加者としてボットを含めることができる。要求は、クライアント118a、118bの一方のクライアントユーザインターフェースにより開始され、クライアントユーザインターフェースは、たとえばクライアントユーザインターフェースを介して表示される連絡先リストに連絡先として人間およびボットをリスト化することで、ボットおよび任意の所望の人間のユーザを通話の参加者として選択するための選択肢を提供する。
 
【0043】
[0051]  ボットベースの実施形態では、専用のハードウェアデバイスまたは専用のソフトウェアをユーザのマシンにインストールする必要がなく、および/または、話者(すなわち参加者)が互いに物理的に近くにいる必要がなく、その理由は、更新されたソフトウェアクライアントの再配布などを必要とせずにボットを既存の通信システムアーキテクチャにシームレスに統合できるためである。
 
【0044】
[0052]  エージェント402(ボット)は、通信システム100(チャットネットワークとも呼ばれる)において、ネットワークの正規のメンバーとして表示される。会話の参加者は、適切なボットを音声またはビデオの通話(チャットセッションまたは会話とも呼ばれる)に招待して、対話者の発話を自分の言語に翻訳させることができ、たとえば英語話者と話している中国語話者は、「英語−中国語翻訳者」と名付けられた(すなわちユーザ名を有する)エージェントを会話に招待することができる。そして、ボットは、会話の残りの間中、翻訳者または通訳者の役割を担い、ソース言語のあらゆる発話をターゲット言語に翻訳する。これは、テキストとして与えることができ(ターゲットデバイスに、たとえば字幕によって、またはターゲットクライアントユーザインターフェースのチャットウィンドウに表示するため)、および/または、ターゲット言語の発話として与えることができる(テキストから発話へのコンポーネント410を用いて生成し、ターゲットデバイスのラウドスピーカーによって再生するため)。
 
【0045】
[0053]  したがって、実施形態は以下を提供する:
・マルチメディア通話/チャットサービスへのシームレスな統合(別段のインストールが必要ない)
・リモートコミュニケーション(参加者は物理的に近くにいる必要がない)
・(サービスクライアント、たとえば104a、104bが、新たなプラットフォームのために別段のソフトウェアを必要としないような)アップグレードおよび新機能のよりシームレスな配備を可能にするデバイス非依存のサーバベースの実装形態
 
【0046】
[0054]  いくつかの実施形態では、ボットは話者ごとの別々の音声ストリームにアクセスすることができ、それによってより高品質な発話認識が可能になる。
 
【0047】
[0055]  そのような実施形態では、トップレベルにいるのは「ボット」であり、ボットはチャットシステムのユーザには正規の人間のネットワークメンバーであるかのように見える。ボットは、ソース言語を話す全てのユーザ(たとえば104a)からの音声ストリームを傍受し、発話からテキストへの翻訳システム(音声翻訳器404)にその音声ストリームを渡す。発話からテキストへの翻訳システムの出力は、ターゲット言語のテキストである。そして、ボットは、ターゲット言語情報をターゲット言語ユーザ104bに伝達する。また、ボットは、ソース音声信号の発話認識結果をソース話者104aおよび/またはターゲット聴者104bに伝達することができる。そして、ソース話者は、より良い翻訳を得るために、修正情報をボットにネットワーク106を介してフィードバックすることにより、認識結果を修正することができ、またはより良い認識および翻訳を得るために、発言(またはその一部)を繰り返してみるもしくは言い換えてみることができる。あるいは、発話ラティス(すなわち、認識されたソース発話についての異なる可能性のある仮説を視覚的に抑制(repress)するグラフ)のNベスト(n-best)のリストまたは表現を話者に提示することができ、これにより、最良の仮説を識別する選択情報をフィードバックして、不完全な1ベスト(1-best)認識を明確にするまたは修正することを可能にする。また、認識情報(たとえばソース言語テキスト自体)は、ターゲットユーザに送信することができ、これは、ソース言語の習熟度が低い聴者、またはその言語の読解力がその聴解力より優れている聴者にとって有益な場合がある。また、ソーステキストにアクセスできることによって、ターゲットユーザは、曖昧なまたは誤った翻訳をより理解できるようになり、名付けられたエンティティ、たとえば人または場所の名前などは、発話認識システムにより正しく認識されるが誤って翻訳されることがある。
 
【0048】
[0056]  ボットの実装形態の詳細は、チャットネットワークへのアクセスのアーキテクチャおよびチャットネットワークへのアクセスのレベルに依存する。
 
【0049】
[0057]  SDK(「ソフトウェアデベロッパーキット」)を提供するシステムの実装形態は、SDKにより提供される機能に依存する。典型的には、これらは、会話参加者ごとの別々のビデオおよび音声ストリームへのリードアクセスと、ボット自体についてのビデオおよび音声ストリームへのライトアクセスとを提供する。
 
【0050】
[0058]  一部のシステムは、サーバサイドのボットSDKを提供し、SDKは、全てのストリームへのフルアクセスを許可し、ソース話者のビデオ信号上にビデオ字幕を与える、および/またはソース話者の音声出力信号を交換または混合するなどのシナリオを可能にする。最後に、システムに対する完全な制御が利用可能である場合、言語間の会話体験をユーザにとってより容易にするためのクライアントUIへの変更を含む、任意の方法で翻訳を統合することができる。
 
【0051】
[0059]  最も弱いレベルでは、公式に定義されたプロトコルおよび/またはSDKを有さない「閉じた」ネットワークは、クライアントコンピュータ(たとえば、独立した中継器以外の104a、104b)のマイクロフォン、カメラおよびスピーカーデバイスとの間の信号を傍受および修正するボットによりサービス提供することができる。この場合、ボットは、信号のどの部分がソース言語であるかを把握するために(たとえば、混合された音声ストリームにおいて他の言語の発話から区別するために)言語検出を行うことができる。
 
【0052】
[0060]  ターゲット言語テキストの伝達は様々な方法で行うことができ、テキストは、パブリックの(アリスならびにボブなどの全ての通話参加者に広く可視/可聴である)またはプライベートの(ボットおよびターゲットユーザの間のみの)チャットチャネルで、および/または、ボットもしくはソース言語話者のビデオストリームに重畳されるビデオ字幕として、伝達することができる。また、テキストはテキストから発話へのコンポーネント(テキストから発話への変換器410)に渡すことができ、テキストから発話へのコンポーネントはターゲット言語テキストを音声信号としてレンダリングし、音声信号は話者の元の音声信号と交換あるいは混合することができる。一代替的実施形態では、翻訳されたテキストのみがネットワークを介して送信され、テキストから発話への合成がクライアント側で行われる(ネットワークリソースを節約する)。
 
【0053】
[0061]  翻訳は、ターン制(ユーザが休止する、または発言が完了したことを他の何らかの方法で、たとえばボタンをクリックするなどして示すまでボットが待機し、ターゲット言語情報を伝達する)、または同時、すなわちソース発話と実質的に同時(ボットが、意味的および構文的にまとまりのある出力を生成するのに十分なテキストを有するとすぐに、ターゲット言語情報の伝達を開始する)とすることができる。前者は、前の発話の部分の翻訳(検出された発話活動の区間ごとの翻訳)をいつ開始すべきかを決定するために音声活動検出(Voice Activation Detection)を使用し、後者は、(検出された発話活動の区間ごとに、1つまたは複数のセグメントを有し得るその区間の各セグメントに対して行われる)音声活動検出および自動セグメント化コンポーネントを使用する。理解されるように、そのような機能を実施するためのコンポーネントはすぐに利用できる。ターン制のシナリオでは、通話において第三者の仮想的な翻訳者の役割を果たすボットを使用すれば、翻訳者(たとえば法廷で同伴し得るような人)を伴う一般的な現実世界のシナリオにユーザを当てはめることによってユーザが支援され、同時翻訳は人間の同時通訳者(たとえば欧州議会または国連で出会うような人)に類似している。したがって、両方共、ターゲットユーザにとって直感的な翻訳体験を提供する。
 
【0054】
[0062]  本明細書で使用される「自動化翻訳」(または類似のもの)への言及が、(とりわけ)ターン制および同時翻訳の両方をカバーすることに留意されたい。すなわち、「自動化翻訳」(または類似のもの)は、人間の翻訳者および人間の通訳者の自動化された模倣の両方をカバーする。
 
【0055】
[0063]  理解されるように、本主題は任意の特定の発話認識または翻訳コンポーネントに限定されず、全ての意図および目的について、これらはブラックボックスとして扱うことができる。発話信号から翻訳をレンダリングするための技法は当技術分野で知られており、そのような機能を実施するために利用可能な多数のコンポーネントが存在する。
 
【0056】
[0064]  
図4A/4Bは簡単のために1方向の翻訳のみを示しているが、ボット402が同等な翻訳機能をボブの通話音声に対してアリスのために行うことができることは理解されよう。同様に、以下の方法は簡単のために1方向の翻訳に関して説明されているが、そのような方法が2方向(または多方向)の翻訳に適用できることは理解されよう。
 
【0057】
[0065]  ユーザ間の音声またはビデオの通話中にユーザ間のコミュニケーションを円滑にする方法が、以下、
図5を参照して説明され、
図5はその方法のフローチャートである。
図5は、簡単のため、アリスの言語からボブの言語への通話中翻訳手順のみを示し、別の同等の処理を行って、同一の通話において同時にボブの言語からアリスの言語へ翻訳できる(その観点から、アリスをターゲットとみなし、ボブをソースとみなすことができる)ことは理解されよう。
 
【0058】
[0066]  ステップS502において、翻訳器サービスの要求が、翻訳器中継システム108により受信されて、アリス、ボブおよびボットが参加者となる音声またはビデオの通話中にボットが翻訳サービスを行うように要求される。したがって、通話は、多者(グループ)通話、具体的には3方向通話を構成する。ステップS504において、通話が確立される。要求は、ボット402ならびに少なくともアリスおよびボブの間の多者通話をエージェント402が確立するための要求とすることができ、その場合ボットは通話招待をアリスおよびボブに開始することで通話を確立し(したがってS502がS504の前にある)、または要求は、少なくともアリスおよびボブの間の確立済みの通話にボット402が参加するための招待とすることができ(したがってS504がS502の後にある)、その場合アリス(もしくはボブ)は通話招待をボブ(もしくはアリス)およびボットに開始することで通話を確立する。これは、クライアントUIを介して、またはクライアントもしくは他の何らかのエンティティ(たとえば、事前に指定された時刻に通話を自動的に開始するように構成されたカレンダーサービス)によって自動的に開始することができる。
 
【0059】
[0067]  ステップS506において、ボット402は、アリスの通話音声を音声ストリームとしてネットワーク106を介してアリスのクライアント118aから受信する。通話音声は、アリスのマイクロフォンによりキャプチャされた音声であり、ソース言語であるアリスの発話を含む。ボット402は、通話音声を発話認識コンポーネント406に供給する。
 
【0060】
[0068]  ステップS508において、発話認識コンポーネント406は、発話認識手順を通話音声に実施する。発話認識手順は、ソース言語を認識するように構成される。具体的には、発話認識手順は、ソース言語の既知の発話パターンと合致する通話音声における特定のパターンを検出し、その発話の代替表現を生成するようにする。これは、たとえば、手順がソース発話からソーステキストへの認識手順を構成して、ソース言語の文字列であるその発話のテキスト表現とすることができ、または他の何らかの表現、たとえば特徴ベクトル表現とすることができる。発話認識手順の結果(たとえば文字列/特徴ベクトル)は、テキスト翻訳器408に入力され、ボット402に供給し戻される。
 
【0061】
[0069]  ステップS510において、発話翻訳器408は、入力された結果に対して翻訳手順を実施して、ターゲット言語のテキスト(または他の何らかの類似の表現)にする。翻訳は、上述のように、「実質的にライブ」で、たとえば文(もしくはいくつかの文)ごとに、検出されたセグメントごとに、または単語(もしくはいくつかの単語)ごとに実施される。したがって、翻訳されたテキストは、通話音声がアリスからまだ受信中であるときに、半連続的に出力される。ターゲット言語テキストが、ボット402に供給し戻される。
 
【0062】
[0070]  ステップS512において、ターゲット言語テキストはボットによりテキストから発話への変換器に供給され、テキストから発話への変換器はターゲット言語テキストをターゲット言語で話される人工発話に変換する。合成発話が、ボット402に供給し戻される。
 
【0063】
[0071]  音声翻訳器404から出力されたテキストおよび合成発話の両方は、ターゲット言語であるので、ターゲット言語を話すボブは理解することができる。
 
【0064】
[0072]  ステップS514において、合成音声が混合器412に供給され、ここでアリスの元の音声(彼女の元の自然発話を含む)と混合されて、ターゲット言語の合成の翻訳された発話とソース言語の元の自然発話との両方を含む混合された音声ストリームが生成され、これはボブへネットワーク106を介して送信され(S516)、彼のユーザデバイスの音声出力デバイスを介して通話の一部として出力される。これにより、ボブは、(理解できなくても)アリスの口調(tone)などを自然発話から判断しつつ、合成発話から意味を把握し、コミュニケーションがより自然となる。すなわち、システムは、翻訳された音声だけでなくアリスの未翻訳音声も送信することができる。さらに、ターゲットユーザはソース言語を理解できない場合であっても、抑揚などから収集できる情報がまだ存在する(たとえば、ソース話者が質問をしているかを見分けることができる場合がある)。
 
【0065】
[0073]  あるいは、合成の翻訳された発話のみがボブに送信されるように、アリスの発話の元の信号をボブに送信されなくてもよい。
 
【0066】
[0074]  前述のように、ターゲット言語テキストもまた、ボットによりボブに送信する(および、彼のクライアントユーザインターフェースを介して、たとえばチャットインターフェース内に、または字幕として表示する)ことができる。さらに前述のように、翻訳が基づく発話認識手順により得られたソース言語テキストおよび/または、彼女の発話に行われた発話認識処理に関連する他の認識情報、たとえば認識手順からの代替の認識候補(たとえば、認識手順を実施する際に認識される曖昧さが存在する場合)もまた、前記認識手順の精度を判断できるように、アリスに送信し、彼女のユーザインターフェースを介して表示することができる。クライアントユーザインターフェースは、彼女の発話に行われる発話認識手順を改良し精製するために、アリスがボットにネットワークを介して情報をフィードバックできる様々なフィードバックの選択肢を提示することができる。また、たとえばボブが、アリスにより話されるソース言語を読むことが、聴覚でそれを解釈するよりもうまい場合に、ソース言語テキストもボブに送信することができる(たとえば、ボブがクライアントユーザインターフェースを介してこれを受信する選択肢を選択した場合)。
 
【0067】
[0075]  実施形態では、発話からテキストへのコンポーネント406は、各単語が認識された場合にそれぞれの単語のテキスト版を(たとえば単語ごとに)出力することができ、または他の何らかの部分的な中間的な発話認識結果を出力することができ、これらはアリスのユーザデバイスに、彼女が話しているときに表示することができる。すなわち、発話認識手順は、ソースユーザによる少なくとも1つの発話活動の区間について、その発話活動が完了したときに(すなわちアリスが少なくとも一時的に話をやめたときに)最終的な発話認識結果を生成する前に、その発話活動が進行中である間に部分的な「仮の」発話認識結果を生成するように構成することができる。翻訳は最終結果(下記参照の、翻訳が実施される前に変更され得る途中結果ではない)を用いて最終的に生成されるが、それでもなお、途中結果に関連する情報が、翻訳が生成される前にアリスに対して送信され出力される。これによって、ソースユーザ(アリス)は、たとえば部分結果に間違いがあることに気づいたときはいつでも、自分の発話活動を適宜修正することで(たとえば、誤って解釈されたとわかる部分を繰り返すことで)後続の翻訳に影響を与えるように勧められる。
 
【0068】
[0076]  アリスが話し続けるにつれて、認識手順が精製されるので、コンポーネント406が、以前に認識した単語について、後続の単語により与えられる文脈の観点で適切な場合に効果的に「考え直す」ことができる。一般的には、コンポーネント406は、最初の(また、実際上は仮の)発話認識結果を実質的にリアルタイムで生成することができ(たとえば、その結果は2秒のオーダーの時間尺度で更新される)、その結果はアリスに対して実質的にリアルタイムで表示することができ、それによってどのくらい正確に彼女の発話が認識されているかを彼女は感じ取ることができ、音声が実際に生成される最終的な結果を生成する前に仮の結果が変更を受ける場合であっても、アリスにとって有益なアイデアをまだ十分に与える場合がある。たとえば、認識手順が彼女の発話を非常に不正確に解釈したことをアリスが知った場合(したがって、彼女が単に話し続けたならば、ボブに引き続き出力される結果の翻訳が取り違えられる(garbled)または無意味となる場合)、彼女は、誤りが明白になる前に、発話の全部を終える必要なく現在の話の流れを中断し、今言ったことを繰り返すことができる(たとえば、さもなければ、取り違えられたまたは無意味な翻訳をボブが聞き理解できなかった後に、誤りが事実となり得るだけである)。理解されるように、これは、アリスおよびボブの間の自然な会話の流れを円滑にするのに役立つ。別の可能性は、アリスが現在の認識を中止しやり直すために使用できるボタンまたは他のUIメカニズムを有することである。
 
【0069】
[0077]  この実施形態では、
図4Aの混合器412は、中継システム108自体によっても実装される。すなわち、翻訳器機能を実装するだけでなく、中継システム108は、通話音声混合機能も実装する。混合機能(これにより、人間の参加者ごとに、複数の個別の音声ストリームが、そのユーザに送信される単一のそれぞれの音声ストリームに混合される)を、システムの他の場所(たとえばユーザデバイス104a、104の一方)ではなく中継システム108自体において実装すると、ボットへの個別の音声ストリームに好都合にアクセスできるようになり、上述のように、個別の通話音声ストリームにアクセスできると、翻訳の品質が向上する場合がある。中継システム108もローカライズされる場合、これによって同様に、ボットが個別の音声ストリームに即時に高速にアクセスできるようになるので、任意の翻訳遅延がさらに最小化される。
 
【0070】
[0078]  (アリス、ボブおよびボット自体に加えて)追加のユーザが通話に参加する場合、これらのユーザからの通話音声ストリームも同様に加わり、別々の翻訳が各音声ストリームに対してボット402により実施される。2人以上の人間のユーザが通話に参加する場合、これら全てのユーザについての音声ストリームは、中継システム108において個別に受信されてそこで混合され、それによって同様に、ボットが使用するためのそれら全ての個別の音声ストリームに好都合にアクセスできるようになる。そして、各ユーザは、必要な翻訳全てを含む混合された音声ストリーム(すなわち、そのユーザにとって異なる言語を話すユーザごとの合成の翻訳された発話)を受信することができる。3人(またはそれ以上)のユーザを有するシステムは、各ユーザが異なる言語を話す場合があり、その場合、自分の発話は双方(またはそれ以上)のターゲット言語に翻訳されることになり、双方(またはそれ以上)のターゲット話者からの発話は、自分の言語に翻訳されることになる。各ユーザに、自分のクライアントUIを介して原文および自分用の翻訳を提示することができる。たとえば、ユーザAは英語を話し、ユーザBはイタリア語を話し、ユーザCはフランス語を話す。ユーザAが話し、ユーザBは英語およびイタリア語を見ることになり、一方ユーザCは英語およびフランス語を見ることになる。
 
【0071】
[0079]  一部の既存の通信システムでは、グループ通話を開始したユーザは、その通話をホストするように自動的に任命され、通話音声がデフォルトでそのユーザのデバイスで混合され、通話の他のクライアントが混合のために自身の音声ストリームをデフォルトでそのユーザに自動的に送信する。そして、ホストは、各ユーザに対してそれぞれの混合された音声ストリームを生成することが要求され、そのユーザ用のそれぞれの音声ストリームは、他の全ての参加者の音声(すなわち、そのユーザ自身の音声以外の全ての音声)の混合物である。そのようなシステムでは、ボットに対する通話の開始要求により、ボットがホストに任命されるようになり、それによって他の各参加者のクライアントが自身の個別の音声ストリームをデフォルトで中継システム108に送信してそこで混合されるようにし、これによりデフォルトでボットは個別の音声ストリームへのアクセスが認められる。そしてボットは、各参加者に対して、その他の人間の参加者の音声だけでなく、ボット自体により伝えられる任意の音声(たとえば合成された翻訳された発話)も含む、それぞれの混合された音声ストリームを提供する。
 
【0072】
[0080]  一部のボットベースの実装形態では、ボットが翻訳を行っていることを偽装するように、クライアントソフトウェアを修正することができる(具体的には、クライアントグラフィカルユーザインターフェースを修正することができる)。すなわち、通信システムの根底にあるアーキテクチャの視点からは、ボットは実質的に通信システムの別のメンバーであるかのように見えるので、根底にあるアーキテクチャを修正することなく、ボットをその通信システムにシームレスに統合することが可能になるが、これはユーザから隠蔽することができ、その結果、(少なくとも根底にあるプロトコルの観点で)受信している任意の通話中翻訳が、通話の参加者であるボットにより伝えられていることが、ユーザインターフェースレベルでは実質的に不可視となる。
 
【0073】
[0081]  上記はボットによる実装形態に関して、すなわち、翻訳器エージェントを通信システム100の正規のユーザに見えるようにそれ自体のユーザ識別子に関連付けることで通信システム100に統合される翻訳器エージェントに関して説明されているが、他の実施形態はボットによる実装でなくてもよい。たとえば、翻訳器中継108は、代わりに、通信システム自体のアーキテクチャの一部として通信システムに統合することができ、システム108および様々なクライアントの間の通信は、そのようなインタラクションに合わせた特注の通信プロトコルにより行われる。たとえば、翻訳器エージェントは、クラウドで、(たとえば、根底にあるクラウドハードウェアプラットフォームにより実装される1つまたは複数の仮装マシン上で動作する)クラウドサービスとしてホストすることができる。
 
【0074】
[0082]  すなわち、翻訳器は、たとえば、ユーザ識別子を有するボットを動作させるコンピュータデバイス/そのようなデバイスのシステム、またはクラウドなどで動作する翻訳器サービスとすることができる。いずれにせよ、通話音声はソースユーザから受信されるが、翻訳はターゲットユーザに翻訳器システムから直接送信され(ソースユーザのクライアントを経由して中継されない)、すなわち、それぞれの場合において、翻訳器システムはソースユーザおよびターゲットユーザの間の有効な中継器の役割を果たす。クラウド(または同様の)サービスは、たとえば、ウェブブラウザから直接(たとえば、プラグインをダウンロードして、またはJavaScript(登録商標)などに基づくプラグインフリーのブラウザ内通信を用いて)、専用のソフトウェアクライアント(アプリケーションまたは組み込み)から、通常の電話または携帯電話から電話をかけることで、アクセスすることができる。
 
【0075】
[0083]  ソースユーザの発話の翻訳をターゲットユーザに配信する方法が、以下、
図6、
図7A〜Eおよび
図8を参照して説明される。
 
【0076】
[0084]  
図8に、以下の機能ブロック(コンポーネント):発話から発話への翻訳手順を実施して、翻訳すべきソース言語のアリスの発話を含むアリスの通話音声からターゲット言語の合成の翻訳された発話を生成する発話から発話への翻訳器(S2ST)802(これは、
図4A/Bのコンポーネント404および410から形成されるS2STシステムと同様の機能を実装し得る)と、翻訳手順の翻訳挙動の変化(すなわち、通話中翻訳サービスを提供する際に実施される翻訳関連動作の性質の変化)を、通知コンポーネントにより検出された場合に伝える1つまたは複数の通知を、翻訳された音声自体とは別に生成してターゲットユーザに出力するように構成された通知生成コンポーネント(通知コンポーネント)804とを備える通知ベースの翻訳システム800を示す。これらのコンポーネントは、たとえば、翻訳器中継108上でコード110を実行することで(もしくは、他の何らかのバックエンドコンピュータシステム上でコードを実行することで)、デバイス104a上でクライアント118aを実行することで、デバイス104b上でクライアント118bを実行することで、またはこれらの任意の組み合わせで(すなわち、機能を複数のデバイスに分散させて)実装される機能を表す。一般的には、システム800は、ローカライズまたは分散された1つまたは複数のコンピュータデバイスの任意のコンピュータシステムにより、実装することができる。
 
【0077】
[0085]  翻訳手順は音声翻訳を音声ストリームとして出力し、音声ストリームは、翻訳手順により出力された場合に、ターゲットユーザに対してターゲットデバイスのラウドスピーカーを介して出力される(たとえば、リモートで翻訳された場合にはネットワークを介してターゲットデバイスにストリーミングされ、またはローカルで翻訳された場合にはラウドスピーカーに直接ストリーミングされる)。したがって、翻訳手順による音声翻訳の出力は、ターゲットデバイスにおけるその翻訳の出力と実質的に同時である(すなわち、唯一の大幅な遅延は、ネットワークおよび/またはターゲットデバイスなどでの待ち時間の結果として導入されるものである)。
 
【0078】
[0086]  加えて、システム800は、通知出力コンポーネント806および翻訳出力コンポーネント808を備え、これらは、ターゲットユーザデバイス104bにおいて互いに分離して実装され(別々の異なる入力を受信し)、ターゲットユーザデバイス104bでクライアント118bを実行することで実装される機能を表す。コンポーネント806および808は、それぞれ、生成された通知および翻訳された音声(これはターゲットデバイスのラウドスピーカーを介して出力される)を(それぞれコンポーネント804および802から)受信し、ターゲットユーザに出力する。通知(個々に、翻訳された音声)は、ネットワーク106を介して受信することができ、ここで通知生成コンポーネント804(または、翻訳器802)は、ターゲットユーザデバイスとはリモートで(たとえばソースデバイスおよび/またはサーバなどで)実装され、または通知生成コンポーネント804(または、翻訳802)がターゲットデバイス自体で実装される場合はローカルで実装される。
 
【0079】
[0087]  発話から発話への翻訳器は、(たとえば、ネットワーク106を介して、またはコンポーネント802がアリスのデバイスで実装される場合にはローカルで)アリスの通話音声を受信するために接続された入力と、(たとえば、ネットワーク106を介して、またはボブのデバイスで実装される場合にはボブのラウドスピーカーに直接的に)翻訳された音声をボブに配信するために翻訳出力コンポーネント808の入力に接続された第1の出力と、通知コンポーネント804の第1の入力に接続された第2の出力とを有する。この第2の出力は、(たとえば、これらのコンポーネントが異なるデバイスで実装される場合にはネットワーク106を介して、または同一のデバイスで実装される場合にはローカルの、たとえば内部の伝達によって)翻訳手順の挙動の変化を伝達する信号を通知コンポーネントに伝達する。通知生成コンポーネントは、通知出力コンポーネント806の入力に接続された出力を有し、その入力によって、上述の通知がボブに(通知出力コンポーネントにより)出力されて、そのような変化が検出された場合に彼に通知される。通知コンポーネントは、通知を出力するためのターゲットユーザデバイス118bの少なくとも1つの出力デバイス(ディスプレイ、ラウドスピーカー、および/または他の出力デバイス)にそれぞれ接続された少なくとも1つの第1の出力を有する。翻訳出力コンポーネント808は、音声翻訳を出力するためのターゲットユーザデバイス104bのラウドスピーカーに接続された出力を有する。
 
【0080】
[0088]  加えて、通知出力コンポーネント806は、通知コンポーネントの第2の入力に接続された第2の出力を有し、第2の出力は、通知を生成する際に使用するために通知がターゲットユーザデバイスで出力される様態に関する出力関連情報を供給する。すなわち、通知出力コンポーネント806は、通知がターゲットデバイスで出力される様態に関する情報を通知生成コンポーネント804にフィードバックし、通知生成コンポーネントがこれを用いて通知がどのように生成されるかを決定する。したがって、通知が生成される様態は、通知が実際にデバイスで出力されることになる様態に依存し得る。通知生成コンポーネント804がリモートで実装される場合には、この情報はネットワーク106を介してリモートでフィードバックすることができ、または通知生成コンポーネント804がターゲットデバイスでローカルに実装される場合には、フィードバックはターゲットデバイスにおけるローカライズされた(内部の)処理とすることができる。
 
【0081】
[0089]  ターゲットデバイスのディスプレイに表示される視覚通知の場合、出力関連情報は、出力通知がどのようにターゲットデバイスディスプレイの利用可能領域に配置されることになるかを伝えるレイアウト情報を含む。
 
【0082】
[0090]  後述の例では、通知コンポーネント804は、ボブのユーザデバイスに表示するためのアニメの「アバター」の合成ビデオデータを生成する(これは、ネットワーク106を介して送信することができ、またはコンポーネント804がボブのデバイスで実装される場合には、ディスプレイに直接伝達することができる)。これらの例では、通知コンポーネント804は、アニメのアバターの合成ビデオを生成し、そのビデオは通知を、たとえばアバターの視覚的挙動の変化として具現化する。レイアウト情報は、アバターの視覚的挙動を決定する際に使用するために、ターゲットユーザ(ボブ)および/またはソースユーザ(アリス)の表示されるビデオに対して、ビデオ通話中にアバターのビデオが、ターゲットデバイスの利用可能な表示領域においてどこに表示されることになるかに関する情報を含む。
 
【0083】
[0091]  
図6は、方法のフローチャートである。
図6の方法は、ソースユーザデバイス(たとえば104a)を使用するソースユーザ(たとえばアリス)と、ターゲットユーザデバイス(たとえば104b)を使用するターゲットユーザ(たとえばボブ)との間の確立された音声またはビデオの通話の間に、およびその一部として実施され、その方法では、翻訳手順が通話の通話音声に実施され、通話音声はソース言語のソースユーザの発話を含み、ソースユーザの発話のターゲット言語への音声翻訳が生成され、ターゲットユーザに出力される。翻訳手順は、上述のように翻訳器中継において実施されてもよく、またはされなくてもよく、たとえばユーザデバイスの1つもしくはシステムの他の何らかのコンポーネントにおいて実施されてもよい(たとえば翻訳手順を実施するが中継器の役割は果たさないサーバであって、たとえば翻訳をソースユーザデバイスに返して、ターゲットユーザデバイスに間接的に送信できるようにするサーバ)。方法は、適切にプログラムされたコードにより実行時に実装されるコンピュータ実装される方法であって、たとえばコード110により
図3のプロセッサ304上での実行時に実装され、ならびに/あるいはクライアント118aおよび/または118bのクライアントコードにより実装される、コンピュータ実装される方法である。すなわち、方法を、ソース言語を話すソースユーザとターゲット言語を話すターゲットユーザとの間の音声またはビデオの通話を行うための任意の適切な通信システムにおいて実施することによって、何らかの形の通話中発話/発話翻訳手順を実施して、ターゲット言語の合成の翻訳された発話を生成し、ターゲットユーザに出力することができる。
 
【0084】
[0092]  そのような発話から発話への翻訳手順を含む発話から発話への翻訳において、翻訳手順全体は、以下のように動作し得る:ソースユーザ、たとえばアリスが自分の(ソース)言語で話しており、システムがその声を認識し、翻訳し、テキストから発話への翻訳を聴者に送信する。ビデオによってサポートされる場合、相手が話すのをやめた時刻と、翻訳された音声が送信される時刻との間に遅延(たとえば、最大で数秒まで)が存在し得る。これはたくさんの混乱を生じ、聴者が、会話相手を遮らずにいつ話し始めてよいかを理解することが困難となる。
 
【0085】
[0093]  言い換えれば、アリスの発話は、典型的には、たとえばボブが話すのを彼女が待っているために、またはボブが言っていることを彼女が現在聞いているために、アリスが話していない発話非活動の区間が散在する、アリスがソース言語で話している発話活動の区間から構成される。
 
【0086】
[0094]  この目的で、方法は、翻訳手順の挙動の変化を伝達し、変化は翻訳の生成に関連し、それによって通知をターゲットデバイスへ出力させて、ターゲットユーザに変化を検出時に通知することを備える。伝達は、(翻訳手順がターゲットデバイスで実施されない場合に)ネットワーク106を介してリモートであってよい。また、同一または類似の通知がソース話者にも出力されることに対して何らかの利益がある場合もあり、たとえば、翻訳コンポーネントが翻訳の実施で忙しいことを知った場合に、休止して、話していることの残りを続ける前に、対話者が追いつくことができるようにする。
 
【0087】
[0095]  以下の例では、伝達される挙動の変化の候補は、手順が以下の状態に入ることを含む:
 
【0088】
[0096]  「傾聴」(「待機」)状態。この状態では、たとえば翻訳すべきものがないために、現在翻訳を生成または出力していない(たとえば、アリスによる直近の発話活動の区間における全ての発話を翻訳し終わっており、アリスがまだ発話非活動の区間にいる、すなわちまだ話を再開しておらず、したがって手順がこの時点で何もすべきことがないときに入る)。
 
【0089】
[0097]  「注意」(「パッシブ翻訳」)状態。この状態では、アリスが現在話しており、手順がその発話を翻訳のために監視(すなわち傾聴)しており(たとえば、アリスが話を再開したときに傾聴状態から入る)、また、この時点で仮の部分的な翻訳を生成していることもある(上記参照)。
 
【0090】
[0098]  「思考」(「アクティブ翻訳」)状態。この状態では、アリスは、現在話していない場合があるが、手順が彼女の直近の発話を翻訳のためにまだ処理中であるほど十分に、彼女が最近話していたばかりである(たとえば、アリスが話すのをやめたときに注意状態から入る)。
 
【0091】
[0099]  「会話」(「出力」)状態。この状態では、生成された音声翻訳が現在出力されている(たとえば、アリスによる直近の発話活動の区間中に話されたアリスの発話の翻訳の生成を手順が終えたばかりのときなどの、可能な時点に達したときに入る)。
 
【0092】
[00100]  「混乱」(「エラー」)状態。この状態では、たとえば発話の翻訳を実施できなかった、または他の何らかのエラーが発生したために、手順が現在続行することができない(そのようなエラーが認識された時点で入る)。
 
【0093】
[00101]  特定の実施形態では、(
図4A/Bには示されてない)ボブのビデオストリームにアクセスできる場合、ボットは、「画面に登場する話し手(talking head)」のアバターの人格を装うことができ、アバターは、会話、傾聴(待機)などしているときに明らかとなるようにアニメ化される。アバターは、たとえば表情、身振り、他のジェスチャなどの視覚的合図によって意味を伝えるようにアニメ化することが可能な、人工的に生成された、アニメ化されたキャラクターのグラフィカル表現である。ここで、アバターの挙動は翻訳手順の挙動に合致するように制御され、すなわち、アバターは現実の人間の翻訳者(ターン制の翻訳を行う場合)または通訳者(連続的な翻訳を行う場合)の視覚的合図を効果的に模倣して、魅力的かつ直感的なユーザ体験をターゲットユーザに提供するだけでなく、アバターが伝えようとしている情報をターゲットユーザにとって容易に理解可能にする。たとえば、人間の翻訳者がいる会話であれば、聴者は、完了するまで翻訳者に注意を払い、その後話し始めるはずであり、上述の伝達によって、手順が注意状態に入った場合にアリスの話を聞いていることを示す視覚的なポーズをアバターに取らせることで、また、翻訳手順が会話状態に入った場合に音声翻訳の出力の開始と一致するようにその唇を動かすことで、アバターにこの挙動を模倣させることができる。
 
【0094】
[00102]  このように、アバターは、人間の翻訳者のように振る舞い、視覚的合図を与える。たとえば、いつ話し始めてよいかを聴者に示すための視覚的合図は、傾聴状態に入った際に傾聴ポーズを取ることによる。したがって、ターゲットユーザのクライアントは、その区間中のソースユーザの発話のターゲット言語への可聴翻訳(すなわち、その区間内のソース発話に対応する翻訳された発話の翻訳部分)をラウドスピーカーコンポーネントを介して出力し、また、その可聴翻訳(すなわち、その翻訳部分)の出力が実質的に終了したときに、表示(通知)をターゲットユーザに対して出力して、ターゲットユーザがソースユーザに自由に返答できることを示すことができる。ここでは、「実質的に終了した」とは、ボブが自然な会話の流れを中断せずに話し始めてよいような、出力の終了に十分に近い任意の時点を含む。
 
【0095】
[00103]  明らかなように、上述の翻訳(ターン制)手順の状態の変化は、実生活の生の翻訳または通訳のシナリオにおける人間の翻訳者または通訳者(同時翻訳)の意識(mind-set)の実際の変化を実際にしっかりと反映している。すなわち、自動化手順が傾聴、待機、注意、会話、または混乱状態で動作するのと同じように、実生活の人間の意識も同じことを行い得る。これは、人間の翻訳者により、実生活の翻訳のシナリオにおいて自身の心理状態の変化を伝える際に行われることが予想される様々な行為に近づくようにアバターを構成することによって利用され、その変化は翻訳手順の挙動の変化に対応する。これは、アバターの視覚的挙動を示す
図7A〜Eを特に参照して、以下でより詳細に説明される。
 
【0096】
[00104]  アバターは、たとえば、人間の翻訳者の予想される人間の挙動を少なくとも部分的に模倣する様態で視覚的合図を伝えるように構成可能な少なくとも1つの視覚的特徴(たとえば、顔の特徴、体の部分、および/またはその類似したもの)を有する人間、動物、または他のキャラクターの表現とすることができる。
 
【0097】
[00105]  ボットが既存の通信システムに統合されるボットベースの発話から発話への翻訳を用いた3者ビデオ会話では、「デフォルト」で画面に表示される2つのビデオおよび1つの画像、すなわち発信者のビデオ、着信者のビデオ、および翻訳ボットを表す静止画が存在することができる(その理由は、通信システムは単にボットを、ビデオ機能を偶然有さないが、通信システムにおいてそのユーザ名に関連付けられた静止画を有する別のユーザであるかのように扱うためである)。
 
【0098】
[00106]  たとえば、ビデオを含むビデオベースの発話から発話への翻訳システム(S2ST)では、ボブのクライアントのUIは、遠端ユーザ(アリス)のビデオと、(たとえば、アリスのビデオより小さい、利用可能な表示領域の部分における)近端ユーザのビデオと、デフォルトで、ボットのユーザ名に関連付けられた何らかの画像、たとえば自動化ボットの静止したグラフィックとを表示することができる。アリスが自分の言語で話す場合、ボブは、アリスの唇の動きを視認し、アリスが話し終わるまで待つことができる。そして、翻訳器ボットは、音声を処理(認識および翻訳)し、ボブの言語を話し始める。その時間中、発信者は、翻訳手順が完了し話し始めてよいかどうかの、またはいつそのようになるかの、視覚的合図がない。これは、ボブにとって混乱を生み出しやすい。
 
【0099】
[00107]  特定の実施形態によれば、着想は、翻訳器ボットの画像をアバターと効果的に交換して、以下を可能とすることである:
・発話から発話への翻訳システム用のアバターを用いること
・アバターのジェスチャが、人間の翻訳者または通訳者であれば行うはずのことを模倣すること
 
【0100】
[00108]  すなわち、そのような混乱を避けるために、静止画がアバターと交換され、アバターは人間の翻訳者のように視覚的に振る舞う。これは、たとえば、(後述のように生成される)合成的に生成されたビデオのビデオストリームをボットからターゲットユーザに、ビデオ通話の別の人間のユーザからのビデオストリームであるかのように送信することで行われ、そのビデオストリームは、クライアントユーザインターフェースを介して自動的に表示されることになる(これは、クライアントソフトウェアへの修正が必要ないはずであり、レガシークライアントと互換性があるはずである)。あるいは、ビデオは、ターゲットデバイス自体で生成することができるが、それにもかかわらず、別のユーザから届いたビデオであるかのように表示することができる(これは、クライアントソフトウェアに何らかの修正が必要となり得るが、アバタービデオをネットワーク106を介して送信する必要がないので、ネットワークリソースの観点でより効率的となる)。
 
【0101】
[00109]  
図7A〜Eに、ビデオ通話中の様々な時点におけるボブのユーザデバイス104bのディスプレイを示す。図示のように、これらの時点のそれぞれにおいて、アリスのデバイス104aでキャプチャされた彼女のビデオ702は、利用可能な表示領域の第2の部分に表示される合成アバタービデオ704のそばの利用可能な表示領域の第1の部分に表示され(第1および第2の部分は同様のサイズである)、ボブのデバイス104bでキャプチャされた(およびアリスに送信された)ボブのビデオ706は、アバタービデオ704の下の利用可能な表示領域の第3の部分に表示される(第3の部分はこの例では第1および第2の部分よりも小さい)。この例では、アバターは、例示の目的で人間の男性のような形をしている。
 
【0102】
[00110]  
図6に戻ると、
図6のステップS600において、通話中翻訳手順が開始する。通話中翻訳手順は、少なくともアリスおよびボブが参加している音声またはビデオの通話の間に、およびその一部として、アリスの発話がソース言語から目的言語の合成発話へ翻訳され、ボブに出力されるようなものである。
 
【0103】
[00111]  この例では、翻訳手順は、「傾聴」状態で開始し、これは通知コンポーネント804に伝達される(S602)。この場合、アバターは通知コンポーネント804により合成ビデオにおいて、
図7Aに示される傾聴ポーズを取るように制御される。
 
【0104】
[00112]  ステップS604において、翻訳器コンポーネントは、たとえばアリスから受信された通話音声を監視し、これに音声活動検出(VAD:Voice Activity Detection)を行うことで、アリスが話し始めたかを検出する。翻訳手順が傾聴状態のままである限り、アバターは傾聴ポーズのままであり、これはアリスが話し始めるまでそのようになる。アリスが話し始めたことが検出された場合、翻訳器802は、翻訳手順が「注意状態」に入ったことを通知コンポーネント804に伝達し(S606)、たとえば注意状態では、アリスの発話を最終的に翻訳するために監視しており、その翻訳の準備を開始しており、またはその発話の部分翻訳を行っており、部分翻訳はさらなる発話が受信されると修正を受ける場合がある(その理由は、後の発話が、先の発話の認識または翻訳に影響する文脈を与え得るためである)。これに応答して、通知コンポーネントは、たとえば遠端ユーザが話しているときに、アバターが、たとえば自分の顔をアリスのビデオの方に向けてアリスに注意を払うように、アバターの挙動を視覚的な傾聴挙動を取るように制御する。これは、
図7Bに示されている。
 
【0105】
[00113]  
図7Bは、ターゲットデバイスの利用可能な表示領域におけるアリスおよびアバターのビデオの相対位置に関するフィードバックされるレイアウト情報を用いて、アバタービデオ自体の生成に影響を与えることができる一例を示している。
図7Bの例では、アバタービデオはアリスのビデオの右に表示され、この相対位置を伝えるレイアウト情報が、通知出力コンポーネント806から通知生成コンポーネント804にフィードバックされる。その情報に基づいて、通知生成コンポーネント804は、翻訳器が「注意」モードに入ると、アバターの目を左に動かすようにアバタービデオを制御することによって、ターゲットデバイス上でアリスのビデオが表示されている表示部分に目が向けられるようにして、アバターがアリスを見て彼女に注意を払っている印象を与える。したがって、レイアウト関連情報を用いて、アバターの挙動を自然かつ直感的にすることで、ボブにとってユーザ体験をより自然にする。
 
【0106】
[00114]  ステップS606において、アリスがまだ話しているか否か(すなわち、彼女の直近の発話活動の区間の開始から十分な(たとえば所定の)時間の間、彼女が休止していたか)が、たとえばVADを用いて判定される。アリスがまだ話している限り、翻訳手順は「注意」状態のままとなり、したがってアバターは傾聴挙動を示し続ける。アリスが話すのをやめた場合、翻訳手順は「思考」状態に入り、その間に、アリスによる直近の発話の区間の最終的な音声翻訳を出力するための処理を行う。これは通知コンポーネントに伝達され(S610)、それに応答して通知コンポーネントは、アバターに思考の行為を伝えるための視覚的挙動を取らせ、たとえばアバターは思考ポーズをとることができ、たとえば手を顎の近くに置き、または考えている顔のまねをし、これは
図7Cに示されている。
 
【0107】
[00115]  翻訳手順が処理を行っている間、アバターはそのポーズのままであり、処理が完了した場合、翻訳処理は、「会話」状態に入り、今準備できた翻訳された音声を出力し始める(S610参照)。これはS616において伝達され、それに応答してアバターは会話視覚状態を取るように制御され、たとえば翻訳を話しているときに、アバターは近端ユーザに注意を払い(顔を向け)(すなわち、ディスプレイから真っ直ぐ見て)、唇が話しているように示す(すなわち、唇の動き)ことができる。これは、
図7Dに示されている。翻訳器が会話状態のままである限り(すなわち、翻訳された音声が出力されている限り)、アバターはこの状態のままであり、前記出力が完了すると、翻訳器は再び傾聴状態に入る(S620参照)。
 
【0108】
[00116]  処理中に何かがうまくいかなかった場合、この翻訳器は「混乱」状態に入り、これは通知コンポーネントに伝達される(S614)。それに応答して、アバターは、たとえば頭をかく、または他の何らかの視覚的な混乱の状態によって、混乱視覚状態に入るように制御される。これは、
図7Eに示されている。加えて、アバターがアリスのデバイスにも表示される場合、アバターは、アリスに繰り返すように「依頼する」ことができ(すなわち、もう一度言って下さい、申し訳ありませんが理解できませんでした、など)、すなわち、音声要求をアリスにソース言語で出力して、彼女に今言ったことを繰り返すように依頼することができる。
 
【0109】
[00117]  アバターにより視覚情報を用いてそのようにして伝えられる1つの情報は、ターゲットユーザがいつ自由に話し始められるかを示すことであり、アバターの唇が動くのをやめた時点は、これを伝える視覚表示を構成する。
 
【0110】
[00118]  また、アバターの挙動は、他の挙動、たとえば他のイベントにより影響を与えることができる。たとえば、通知生成コンポーネント804は、ボブに関連する、たとえばボブの挙動に関連する情報を受信することもできる(加えて、アリスに関連する情報を受信することができ、この情報は、この場合、アリスの発話に実施される翻訳手順に関連する情報によって受信される)。たとえば、ボブの発話を分析していつボブが話し始めたかを検出することもでき、その時点でアバターは、ボブのディスプレイに表示されたボブのビデオ706を見るように制御することができる。ボブのビデオの彼のディスプレイにおける位置に関連するフィードバックされたレイアウト情報を用いて、アバターの挙動を制御することもでき、たとえば
図7A〜Eの例では、ボブのビデオはアバターのビデオ704の下に表示され、これに基づいてアバターは、ボブが話しているときに下を見るように制御することができ、その結果ボブの方を見ているように見える。
 
【0111】
[00119]  ボットに関して説明されているが、
図6、
図7A〜Eおよび
図8に関して説明された主題が、ボットベースでないシステムにも当てはまることに留意されるべきであり、ここで、アバターは、同様に振る舞うように構成することができるが、(割り当てられたユーザ識別子を有し、したがって通信システムのユーザに見える)ボット自体ではなく、他の何らかの翻訳サービス(たとえばクラウドベースの翻訳サービス)を実際上は表すことになる。
 
【0112】
[00120]  さらに、上記では通知は、アニメのアバターにより伝えられる(すなわち、アバタービデオに具現化される)視覚通知を構成するが、通知は、他の実施形態では、たとえば、(ボブが話し続けてよい場合に赤から緑に切り替わるライトのアニメ表現などによる)ディスプレイ上で形状、色などが変化するアイコン、またはラウドスピーカーを介して出力される可聴表示(たとえば、トーンもしくは音アイコン)、またはボブのユーザデバイスの物理的な触覚振動を生じさせる振動コンポーネントなどを作動させることでもたらされる触覚通知、および/またはそのデバイスの他の機械コンポーネントなどの形態の、任意の所望の形態を取ることができる。音声および/または触覚通知は、モバイルデバイスに特に有用であり得る。
 
【0113】
[00121]  述べられたように、上記は簡単のために1方向の翻訳に関して説明されているが、別々の独立した翻訳を各個別の通話音声ストリームに行って、2方向の翻訳を行うことができる。さらに、上記は2人の人間の参加者を伴う通話に関して説明されているが、任意数(n<2)の人間の参加者の間の通話も想定され、最大n方向の翻訳が行われる(たとえば、n人のユーザ全員が異なる言語を話す場合)。複数の人間の各々に対する別々の翻訳を、n方向通話中に互いに別々かつ独立に、異なる人間の参加者からの別々の音声ストリームに対して、他の人間の参加者の1人または複数人のために(たとえば送信するために)行うことができる。さらに、ターゲット言語への翻訳は、ターゲット言語を全員話す複数のターゲットユーザに送信することができる。
 
【0114】
[00122]  メディア(たとえば音声/ビデオ)ストリーム(または同様のもの)への言及は、メディア(たとえば音声/ビデオ)を通信ネットワークを介してデバイスに送信して、そのデバイスにおいて受信時に出力することを指し、全体が受信されてからその出力が開始されるメディアとは対象的である。たとえば、合成の音声またはビデオストリームが生成される場合、メディアは、生成時にデバイスに送信されて、受信時に(したがって、ときには、まだ生成中である間に)そのまま出力される。
 
【0115】
[00123]  本主題の別の態様によれば、本開示は、関連付けられたユーザ識別子によりユーザが一意に識別される通信システムにおいて実施される方法であって、通信システムがソース言語を話すソースユーザとターゲット言語を話すターゲットユーザとの間の音声またはビデオの通話を行うためのものであり、通信システムが翻訳器エージェントを実装するように構成されたコンピュータコードを保持し、翻訳器エージェントもまた関連付けられたユーザ識別子により一意に識別され、それによって実質的に通信システムの別のユーザであるかのようにエージェントとのコミュニケーションを円滑にし、方法が、翻訳器エージェントが通話に参加するように要求する翻訳要求を受信することと、要求を受信したことに応答して、翻訳器エージェントのインスタンスを通話の参加者として含めることとを備え、翻訳器エージェントインスタンスが、そのように含まれる場合に、ソースユーザから通話音声を受信する動作であって、通話音声がソース言語のソースユーザの発話を含む、受信する動作と、自動発話認識手順を通話音声に実施する動作であって、発話認識手順がソース言語を認識するように構成された、実施する動作と、発話認識手順の結果を用いて、ソースユーザの発話のターゲット言語への翻訳をターゲットユーザに提供する動作とを引き起こすように構成された、方法を検討する。
 
【0116】
[00124]  エージェントは、ユーザの連絡先リストなどにおいて(関連付けられたユーザ識別子によって)通信システムの別のメンバーのように見えることができ、またはボットの性質をユーザインターフェースレベルで隠蔽することができる。
 
【0117】
[00125]  本主題のさらに別の態様によれば、通信システムで使用するためのコンピュータシステムであって、通信システムが少なくともソース言語を話すソースユーザとターゲット言語を話すターゲットユーザとの間の音声またはビデオの通話を行うためのものであり、コンピュータシステムが、ターゲットユーザが利用可能な1つまたは複数の音声出力コンポーネントと、少なくとも1つのソースユーザの発話活動の区間について、その区間中のソースユーザの発話のターゲット言語への可聴翻訳を音声出力コンポーネントを介して出力するように構成された翻訳出力コンポーネントと、その可聴翻訳の出力が実質的に終了したときに、通知をターゲットユーザに出力して、ターゲットユーザがソースユーザに自由に返答できることを示すように構成された通知出力コンポーネントとを備える、コンピュータシステムが開示される。
 
【0118】
[00126]  本主題のさらにまた別の態様によれば、ユーザデバイスは、1つまたは複数の音声出力コンポーネントと、視覚情報をユーザデバイスのターゲットユーザに出力するための表示コンポーネントと、ターゲットユーザと別のユーザデバイスのソースユーザとの間の音声またはビデオの通話を行うためのクライアントソフトウェアを保持するコンピュータストレージであって、ソースユーザがソース言語を話し、ターゲットユーザがターゲット言語を話す、コンピュータストレージと、通話の通話音声を通信ネットワークを介して受信するように構成されたネットワークインターフェースであって、通話音声がソースユーザの発話活動の区間中のソース言語のソースユーザの発話を含む、ネットワークインターフェースと、クライアントソフトウェアを実行するように構成された1つまたは複数のプロセッサであって、クライアントソフトウェアが、実行された場合に、少なくとも1つのソースユーザの発話活動の区間について、受信された通話音声を音声出力コンポーネントを介して出力する動作と、その区間中のソースユーザの発話のターゲット言語への可聴翻訳を、音声出力コンポーネントを介して出力する動作と、その可聴翻訳の出力が実質的に終了したときに、表示をターゲットユーザに出力して、ターゲットユーザがソースユーザに自由に返答できることを示す動作とを実施するように構成された、1つまたは複数のプロセッサとを備える。
 
【0119】
[00127]  一般的に、本明細書に記載の機能はいずれも、ソフトウェア、ファームウェア、ハードウェア(たとえば固定論理回路)、またはこれらの実装形態の組み合わせを用いて実装することができる。本明細書で使用される「モジュール」、「機能」、「コンポーネント」および「論理」という用語は、一般的に、ソフトウェア、ファームウェア、ハードウェア、またはこれらの組み合わせを表す(たとえば、
図4A、
図4Bおよび
図8の機能ブロック)。ソフトウェア実装形態の場合、モジュール、機能、または論理は、プロセッサ(たとえば1つまたは複数のCPU)で実行された場合に、指定されたタスク(たとえば
図5および
図6の方法ステップ)を実施するプログラムコードを表す。プログラムコードは、1つまたは複数のコンピュータ可読メモリデバイスに格納することができる。後述の技法の特徴は、プラットフォーム非依存であり、これは、これらの技法が、種々のプロセッサを有する種々の市販のコンピューティングプラットフォーム上で実装され得ることを意味する。
 
【0120】
[00128]  たとえば、ユーザデバイスは、たとえばプロセッサ機能ブロックなど、ユーザデバイスのハードウェアに動作を実施させるエンティティ(たとえば、クライアント118などのソフトウェア)をさらに含むことができる。たとえば、ユーザデバイスは、ユーザデバイス、より詳細にはユーザデバイスのオペレーティングシステムおよび関連するハードウェアに動作を実施させる命令を保持するように構成可能なコンピュータ可読媒体を含むことができる。したがって、命令は、オペレーティングシステムおよび関連するハードウェアを、動作を実施するように構成する働きをし、これにより、オペレーティングシステムの状態および関連するハードウェアが機能を実施するように変換されることになる。命令は、コンピュータ可読媒体によりユーザデバイスへ、種々の異なる構成を通じて提供することができる。
 
【0121】
[00129]  コンピュータ可読媒体の1つのそのような構成は、信号担持媒体であり、したがって命令を(たとえば搬送波として)コンピューティングデバイスへ、たとえばネットワークを介して送信するように構成される。また、コンピュータ可読媒体は、コンピュータ可読記憶媒体として構成することもでき、したがって信号担持媒体ではない。コンピュータ可読記憶媒体の例は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、光ディスク、フラッシュメモリ、ハードディスクメモリ、ならびに、磁気、光学および他の技法を用いて命令および他のデータを格納することが可能な他のメモリデバイスを含む。
 
【0122】
[00130]  概要の節で提示された第1の態様の実施形態では、挙動の変化は、以下の1つとすることができる:
・翻訳手順が、ソースユーザによる現在の発話非活動の区間中にソースユーザによる今後の発話活動を現在待機している、傾聴状態に入ること。
・翻訳手順が、ソースユーザが発話活動の期間を開始したことに応答して、翻訳手順が通話音声におけるソースユーザによる現在の発話活動を監視している、パッシブ翻訳状態に入ること。
・翻訳手順が、ソースユーザが発話活動の区間を終了したことに応答して、生成が完了したときに出力されるその区間におけるソースユーザの発話の音声翻訳を翻訳手順が現在生成している、アクティブ翻訳状態に入ること。
・翻訳手順が、先のソースユーザの発話活動の区間中のソースユーザの発話の音声翻訳の生成を翻訳手順が完了したことに応答して、その生成された音声翻訳がターゲットユーザへの出力のために翻訳手順により現在出力されている、出力状態に入ること。
・翻訳手順が、手順が翻訳の生成時にエラーに遭遇したことに応答して、エラー状態に入ること。
 
【0123】
[00131]  翻訳された音声が生成時に通信ネットワークを介してターゲットユーザのターゲットデバイスに送信され、受信時にそのデバイスの1つまたは複数の音声出力コンポーネントを介して出力されてもよい。
 
【0124】
[00132]  合成ビデオが挙動の伝達された変化に応じて生成されてもよく、合成ビデオは、ターゲットユーザのターゲットユーザデバイスにおいて表示し、通知を具現化するためのものでもよい。合成ビデオは視覚的行為を行うアニメ化されたアバターのものでもよく、通知がアバターによる視覚的行為として具現化されてもよい。具現化行為は、人間の翻訳者または通訳者により、実生活の翻訳または通訳のシナリオにおいて自身の心理状態の変化を伝える際に行われることが予想される行為に近づけることができ、その変化は翻訳手順の挙動の変化に対応してもよい。
 
【0125】
[00133]  通知は、ターゲットユーザのターゲットユーザデバイスにおいて表示するための視覚通知、および/またはターゲットユーザデバイスにおいて再生するための音声通知、および/またはターゲットユーザデバイスの機械コンポーネントを作動させることにより出力される触覚通知を含むことができる。
 
【0126】
[00134]  第2の態様の実施形態では、通話音声が、ソースユーザが話していない発話非活動の区間が散在するソースユーザの発話活動の区間中のソース言語のソースユーザの発話を含んでもよく、少なくとも1つのソースユーザの発話活動の区間について、翻訳出力コンポーネントが、その区間中のソースユーザの発話の音声翻訳を、音声出力コンポーネントを介して出力するように構成されてもよく、通知出力コンポーネントが、その翻訳の出力が実質的に終了したときに、通知を出力して、ターゲットユーザがソースユーザに自由に返答できることを示すように構成されてもよい。
 
【0127】
[00135]  コンピュータシステムが、ターゲットユーザのターゲットユーザデバイスにより、またはターゲットユーザデバイスと、ターゲットユーザデバイスが通信ネットワークを介して接続された少なくとも1つの他のコンピュータデバイスとの組み合わせにより具現化されてもよい。
 
【0128】
[00136]  コンピュータシステムは、翻訳手順の挙動の変化を伝達する信号を受信するように構成された入力と、受信された信号に応じて通知を生成するように構成された通知生成コンポーネントとを備えることができる。
 
【0129】
[00137]  通知出力コンポーネントが、通知がターゲットユーザに出力される様態を定義する出力関連情報を生成するように構成されてもよく、通知生成コンポーネントが、出力関連情報に応じて通知を生成するように構成されてもよい。
 
【0130】
[00138]  コンピュータシステムはターゲットユーザが利用可能なディスプレイを備えることができ、通知は、ディスプレイに表示される視覚通知を含むことができ、出力関連情報は、関連するレイアウト情報を含む。通知生成コンポーネントが、通知を具現化する合成ビデオを生成するように構成されてもよく、合成ビデオがレイアウト情報に応じて生成されてもよい。合成ビデオは、視覚的行為を行うアニメ化されたアバターのものでもよく、通知が、レイアウト情報に応じて制御される視覚的なアバターの行為として具現化されてもよい。
 
【0131】
[00139]  本主題は構造的特徴および/または方法論的行為に特有の文言で記載されているが、添付の特許請求の範囲で定義された本主題が、上述の特定の特徴または行為に必ずしも限定されないことを理解されたい。むしろ、上述の特定の特徴および行為は、特許請求の範囲を実装する例示的な形として開示されている。