本発明は、一般的には、通信技術に関し、さらに具体的には、電話網において音声データをテキストデータに書き起こすための方法及びシステムに関するものである。
今日の典型的な無線モバイル通信デバイス(例えば携帯電話)のメモリ及び処理容量は、相対的に大量のデータを格納する能力をユーザに提供する。典型的には、モバイルデバイスのメモリ容量は、電話番号、電子メールアドレス及び郵便住所、等の連絡情報の格納に用いられる。典型的なモバイルデバイスユーザは、数十のさらには何百もの格納された電話番号及び住所を有することができる。
連絡情報の入力は、特にその連絡情報が電話での会話中に話された言葉によるユーザ関連情報である状況においては、いらいらさせること及び時間がかかる可能性がある。このようにして受信された情報を入力及び格納することは、最初に何らかの手動の格納方法(例えば、紙に書く)に従ってその情報を書き写し、次に手動でモバイルデバイスに入力しなければならないためユーザにとって問題になる可能性がある。これは、ユーザが車を運転中である場合、又はユーザが利用可能な筆記用具を有さない場合に特に問題になる。
種々の実施形態は、会話の一部を表すテキストデータをユーザのモバイルデバイスに提供するための方法とシステムとを含む。実施形態は、前記テキストデータ内の電話番号及び住所をスキャン及び識別することができ、このため、この情報を前記テキストデータから抽出してモバイルデバイス内、例えば、アドレス帳又はその他のメモリ記憶場所に格納することができる。実施形態は、バッファリングされた会話をテキストデータに書き起こす(transcribe)前に会話の一部又は全体をバッファリングすることを可能にする。
種々の実施形態は、モバイルデバイスが、会話をテキストデータに書き起こすようにサーバに要求し、前記サーバが前記書き起こしを行って前記テキストデータを格納のために前記ユーザの電話に送信するように促す。前記サーバは、前記テキストデータ内の電話番号及び住所をスキャン、識別及び抽出すること、及び前記データを前記ユーザのモバイルデバイスに送信することができる。
添付図は、ここに組み入れられて本明細書の一部を成し、本発明の典型的な実施形態を示す。これらの図面は、上記の発明の概要及び下記の発明を実施するための形態とともに、本発明の特徴を説明するのに役立つ。
図1は、声の音声データをテキストデータに書き起こすことが可能な典型的な通信デバイスのコンポーネントブロック図である。
図2は、通信デバイス内において声の音声データをテキストデータに書き起こすための実施形態の方法のプロセス流れ図である。
図3は、書き起こし要求ボタンの起動に応答して書き起こしプロセスを開始及び終了させるための実施形態の方法のプロセス流れ図である。
図4は、書き起こしがサーバによって完遂される実施形態のシステムブロック図である。
図5は、実施形態において用いるのに適する典型的なサーバのコンポーネントブロック図である。
図6は、サーバにおいて声の音声データをテキストデータに書き起こすための実施形態の方法のプロセス流れ図である。
図7は、サーバにおいて声の音声データをテキストデータに書き起こすための実施形態の方法の代替のプロセス流れ図である。
図8は、サーバにおいて声の音声データをテキストデータに書き起こすための実施形態の方法の他の代替のプロセス流れ図である。
詳細な説明
種々の実施形態が添付された図面を参照して詳細に説明される。可能な限りにおいて、同じ又は類似の部品を指すために同じ参照数字が図面全体にわたって用いられる。特定の例及び実装への言及は、例示を目的とするものであり、本発明又は請求項の適用範囲を限定することは意図されていない。
用語“電話”は、あらゆる電話方式の通信デバイス又はシステムを含み、有線の固定電話と、無線の携帯電話と、ボイス・オーバー・インターネット・プロトコル(VOIP)フォンと、音声通信能力を有するラップトップコンピュータと、インターネット電話サービスをサポートすることが可能なデバイス(例えば、Skype)と、を含む。
ここにおいて用いられる用語“モバイルハンドセット”、“ハンドセット”、“モバイルデバイス”及び“ハンドヘルドデバイス”は、携帯電話、携帯情報端末(PDA)、パームトップコンピュータ、無線電子メール受信機及び携帯電話受信機(例えば、Blackberry(登録商標)デバイス及びTreo(登録商標)デバイス)、マルチメディアインターネット式携帯電話(例えば、iPhone(登録商標))、及びプログラマブルプロセッサとメモリ及びセルラー又はその他の無線ネットワークへの接続能力を含む同様のパーソナル電子デバイスのうちのいずれか1つ又は全部を意味する。
用語“音声テキスト変換器”(voice to text converter)又は“発話テキスト変換器” (speech to text converter)又は“書き起こし器”(transcriber)又は“音声テキスト書き起こし器” (voice to text transcriber)又は“書き起こし器”は、人間の声による会話を認識してテキストデータに変換する(すなわち書き起こす)ことができるあらゆるタイプのソフトウェア又はハードウェアシステムを含む。変換器は、単一のテキスト翻訳を提供することができ、又は複数の最も可能性の高いテキスト翻訳を提供することができる。実施形態は、いずれの特定のタイプの音声テキスト変換器にも限定されない。
用語“サーバ”は、ユーザの電話デバイスのための電話接続能力を提供するあらゆるコンピュータ、インターネットサーバ又はセルラー基地局を含む。サーバは、有線接続又は無線接続を介してユーザの電話デバイスに直接又は間接的に接続することができる。
種々の実施形態は、モバイルデバイス又は電話のユーザが会話全体又は一部をモバイルデバイスに格納するために自動的にテキストデータに書き起こすことを可能にするための方法及びシステムを提供する。一実施形態においては、ユーザは、ボタンを押すか又はコマンドを入力することによって、電話での会話のうちのテキストデータに書き起こすべき部分を選択することができる。一実施形態においては、会話の選択された部分は、携帯電話ネットワーク又は正規の電話網に結合されたサーバにおいて書き起こされ、その後にサーバがテキストデータをモバイルデバイスに送信する。代替として、サーバは、モバイルデバイス、セルラーネットワーク又は正規の電話網のうちのいずれかによってインターネットを介してアクセス可能にすることができる。一実施形態においては、テキストは、電話番号及び/又は住所データ(すなわち連絡情報)に関してスキャンすることができる。該スキャンは、(例えばテキストが送信される前に)サーバにおいて又は(例えばテキストが受信された後に)モバイルデバイス内において行うことができる。テキストデータ又は抽出された連絡情報は、テキストメッセージ、例えばショートメッセージサービス(SMS)メッセージ、電子メール、等の形態で又はセルラーデータ送信を介してモバイルデバイスに送信することができる。テキストデータは、モバイルデバイスによって自動的に認識されてアドレス帳メモリに格納されるように特別にフォーマット化して送信することができる。
実施形態の方法は、種々のモバイルデバイスのうちのいずれかにおいて及び種々の計算デバイスのうちのいずれかにおいて実装することができ、デスクトップコンピュータ及びラップトップコンピュータを含むがこれらに限定されない。図1は、種々の実施形態をサポートすることが可能なモバイルデバイス20の種々のコンポーネントを示す。モバイルデバイス20のコンポーネントが示されるが、種々の実施形態とともに用いるのに適するコンピュータ(ポータブル又はその他)において同じ又は同様のコンポーネントを実装可能であることを当業者は理解するであろう。携帯電話としてのモバイルデバイス20の例示は、例示することが目的であるにすぎない。さらに、上述される実施形態は、図1に示されるコンポーネントを含む声による会話をサポートすることが可能なあらゆるデバイスにおいて実装することができる。
典型的なモバイルデバイス20は、内部メモリ22及びユーザインタフェースディスプレイ23に結合されたプロセッサ21を含む。さらに、モバイルデバイス20は、無線データリンク及び/又はプロセッサ21に結合された携帯電話トランシーバ25に接続された、電磁放射線を送信及び受信するためのアンテナ24を有することができる。幾つかの実装においては、トランシーバ25、及び携帯電話通信のために用いられるプロセッサ21及びメモリ22の部分は、ひとつにまとまって無線データリンクを介してデータインタフェースを提供するためエアインタフェースと呼ばれる。さらに、モバイルデバイス20は、ユーザへの可聴の音声信号を生成するためのスピーカー28と、ユーザの音声の発話を受信するためのマイク29と、を含む。マイク29及びスピーカー28の両方とも、ボコーダ30を介してプロセッサ21に接続することができ、ボコーダ30は、電気信号を音波に及びその逆に音波を電気信号に変換する。幾つかの実装においては、ボコーダ30は、プロセッサ21の回路及びプログラミングの一部として含めることができる。
プロセッサ21は、ここにおいて説明される種々の実施形態の機能を含む種々の機能を果たすようにソフトウェア命令(アプリケーション)によって構成することができるプログラマブルなマイクロプロセッサ、マイクロコンピュータ又はマルチプルプロセッサチップ又はチップ(複数)であることができる。幾つかのモバイルデバイスにおいて、マルチプルプロセッサ191、例えば、無線通信機能専用の1つのプロセッサ及びその他のアプリケーションを実行することが専用の1つのプロセッサ、を提供することができる。
典型的には、ソフトウェアアプリケーションは、アクセスしてプロセッサ21内にローディングする前に内部メモリ22に格納することができる。幾つかのモバイルデバイスにおいては、プロセッサ21は、アプリケーションソフトウェア命令を格納する上で十分な内部メモリを含むことができる。この説明の目的上、用語メモリは、プロセッサ21によってアクセス可能な全メモリを意味し、内部メモリ22とプロセッサ21自体内のメモリとを含む。メモリ22は、揮発性又は非揮発性のメモリ、例えばフラッシュメモリ、又は両方の組み合わせ、であることができる。種々の実施形態においては、メモリ22は、バッファ39によって構成することができ、音声テキスト変換ソフトウェア44、連絡情報抽出ソフトウェア46及び/又はアドレス帳52を格納しておくことができる。
モバイルデバイス20は、典型的には、ユーザによる入力を受けるためのキーパッド36又は小型キーボード及びメニュー選択ボタン又はロッカースイッチ37を含む。さらに、モバイルデバイス20は、書き起こし(transcription)要求ボタン32を含むことができる。一実施形態においては、書き起こし要求ボタン32の起動は、音声をテキストに書き起こすプロセスを開始させる。ボタン32は任意選択であり、テキストへの音声の変換の起動は、その他のあらゆる種類のコンピュータインタフェース入力を介して開始させることが可能であることを注記される。音声テキスト変換ソフトウェア44は、種々のその他の手段によって、例えば、ディスプレイ23のキーパッド36に示されるユーザインタフェースメニューを介してメニュー選択ボタン又はロッカースイッチ37と組み合わせて起動させることができる。その他の例においては、テキストへの音声の変換要求は、キーパッド36上の一連のキーを押すことによって、声による起動(すなわち、特定の予め記録された単語又は句を言う)ことによって、モバイルデバイス20上の加速度計センサを起動させる(例えば、モバイルデバイスを特定の方法で位置決めするか又は揺する)ことによって、タッチ画面式ディスプレイに触れることによって、等の方法でモバイルデバイス20に提供することができる。説明を単純化するために、種々の実施形態は、ここにおいては、ユーザが例えば書き起こし要求ボタン32を押すことによって起動させることが説明されるが、該説明は、書き起こし要求ボタン32の使用に制限することは意図されない。
書き起こし要求ボタン32を含む実施形態においては、書き起こし要求ボタン32は、モバイルデバイス20上において、ユーザが電話で会話中にモバイルデバイス20を見る必要なしに書き起こしプロセスを起動させるのを可能にするような人間工学的に好都合な位置に配置することができる。例えば、書き起こし要求ボタン32は、モバイルデバイス20の側面において、モバイルデバイス20を耳に当てた状態でユーザの指が通常置かれる位置の近くに配置することができる。幾つかのモバイルデバイスは、声によって起動されるダイヤルを開始するために用いられる側面上のボタンを含む。該ボタンは、通常は、同じく書き起こしを起動させる上で人間工学的に適する位置に配置される。書き起こし要求ボタン32はモバイルデバイス20上のあらゆる場所に配置することができる一方で、一実施形態においては、書き起こし要求ボタン32は、図1に示されるようにモバイルデバイス20の側面に配置される。例えば、書き起こし要求ボタン32は、図1においては、ユーザが積極的に会話に従事しながらユーザの小指で操作することができるように人間工学的に配置された形が示される。代替実施形態においては、第2の書き起こし要求ボタン(示されていない)をモバイルデバイス20の他方の側面に配置することができる(すなわち、書き起こし要求ボタン32は、デバイスの両方の側面に含められる)。2つの別個の書き起こし要求ボタンをモバイルデバイス20の互いに反対側の側壁に配置することによって、書き起こし要求は、いずれの手の指でも開始させることができ、このためユーザは特定の耳で会話を聴いている必要がない。一実施形態においては、書き起こし要求ボタン32は、同じ声による呼中に書き起こし要求ボタン32が再度押されたときに書き起こしプロセスを開始及び終了させる。代替実施形態においては、アクティブな書き起こし要求を終了させるために第2のボタン(示されていない)をモバイルデバイス上に含めることができる。
図2は、ユーザが声による呼の一部又は全体をテキストデータに書き起こすのを可能にするための実施形態の方法例のプロセス流れ図である。ユーザが音声データをテキストデータに書き起こすのを希望するときには、ユーザは、ステップ301において、例えば書き起こし要求ボタン32を押すことによって、メモリ22に格納された音声テキスト変換ソフトウェア44を起動させる。典型的には、ユーザは、例えば重要な詳細事項(例えば連絡情報)をキャプチャするために、電話での会話中に書き起こし要求ボタン32を押す。しかしながら、音声テキスト変換ソフトウェア44は、ユーザが声による会話を最初から書き起こすことを希望する場合はその会話が始まる前に起動させることも可能である。音声テキスト変換ソフトウェア44が起動された時点で、ソフトウェアは、ステップ308において、会話が行われたときに書き起こしを開始することができる。代替として、音声テキスト変換ソフトウェア44は、メモリバッファ39内に格納された会話を書き起こすことができる。電話での会話の希望される部分がテキストに変換された後は、そのテキストは、ステップ310において、連絡情報抽出ソフトウェア46によってスキャンして電話番号、住所、等を識別することができる。抽出された連絡情報は、ステップ312において、モバイルデバイス20のメモリ22内のアドレス帳52に格納することができる。連絡情報をアドレス帳52に格納するステップは、手動で又は自動的に行うことができる。
ユーザが声による呼中に音声データをテキストデータに変換することを希望する実施形態においては、バッファ39は、電話での会話の一部又は全体を格納して会話の選択された部分をテキストに変換できるようにするために用いることができる。この実施形態を用いることで、ユーザは、音声データが話された後に再キャプチャしてテキストデータに変換することができる。例えば、バッファ39は、ユーザによって選択可能な継続時間、例えば5秒、10秒、30秒、60秒又は300秒、の間録音するような大きさ及び設定にすることができる。
書き起こしプロセスが進行中の会話中のみに起動される実施形態においては、書き起こし要求ボタン32は、モバイルデバイス20が待機モードにある(すなわち、アクティブな声による会話中でない)ときに異なる機能も有するボタンであることができる。図3は、種々の実施形態とともに用いるのに適する呼の状態に依存して書き起こし要求ボタン32の機能を制御するための方法例を示すプロセス流れ図である。図3において、書き起こし要求ボタン32は、他のソフトウェアアプリケーション又はルーチンによって制御される待機機能、例えば声によって起動されるダイヤルの開始、を有する。モバイルデバイス20に実装された関連づけられた待機ソフトウェアアプリケーション又はルーチンに依存して、ボタン32は、声による会話中にアクティブでない機能と関連づけることができる。プロセッサ21は、主ループ201から外れて動作し、ステップ202において、例えばボタンを押す行為と関連づけられた割り込みフラグを検出することによって、ボタンが押される行為を検出する。それに応答して、プロセッサ21は、テスト203において、フラグをテストして呼がアクティブであるかどうかを決定することができる。呼がアクティブでない(すなわち、テスト203=“いいえ”である)場合は、主ループ201に戻る前に、ステップ204において、ボタン32の待機機能を提供するソフトウェアルーチンが起動される。例えば、プロセッサ21は、声によって起動されるダイアルルーチン又はアプリケーションを開始させることができる。しかしながら、ここにおいて説明される1つ以上の実施形態により、呼がアクティブである(すなわち、テスト203=“はい”である)場合は、プロセッサ21は、テスト205において、書き起こし要求フラグをテストして書き起こし要求メッセージが既に送信されているかどうかを決定することができ、アクティブでない(すなわち、テスト205=“いいえ”である)場合は、ステップ206において、音声テキスト変換要求メッセージをサーバ50に送信することができる。変換要求メッセージを送信した時点で(ステップ206)、プロセッサ21は、ステップ207において、書き起こしプロセスが開始されていることを示すための書き起こし要求フラグを設定することも可能である。このフラグを設定することは、ソフトウェアが他のコンピュータ上で実行中であってプロセッサ21は直接アクセスすることができなくなるため、サーバ50が書き起こし中であるかどうかをプロセッサ21が決定するのを可能にする。プロセッサ21は、変換要求メッセージを送信した時点で(ステップ206)、他の書き起こし要求ボタン32が押されたことによる割り込みが検出されるまで主ループ201に戻る。アクティブな呼中に書き起こし要求ボタン32が再度押されたときには、書き起こし要求フラグをテスト中のプロセッサ21は、書き起こし要求が既に行われている(すなわち、テスト205=“はい”)であると決定し、このため、プロセッサ21は、ステップ208において、書き起こし要求メッセージをサーバ50に送信し、ステップ209において、主ループ201に戻る前に書き起こし要求フラグをクリアする。
代替実施形態においては、音声をテキストデータに変換するプロセスは、電話での会話を有するネットワークに結合されたサーバ50において行われる。書き起こしプロセスをサーバ50にオフローディングすることは、モバイルデバイス20のバッテリ及びプロセッサ電力を節約する。図4は、モバイルデバイス20において行われている声による会話の一部又は全体をサーバ50において書き起こすことが可能な実施形態のシステム例を示す。このシステムは、セルラーネットワーク52に接続されたセルラー基地局アンテナ51を介して他のモバイルデバイス55又は電話57に通信するモバイルデバイス20を含む。その他のモバイルデバイス55との通信は、他の基地局56を介して進行することができ、従来の電話57との通信は、従来の電話通信網54を通じて進行することができる。サーバ50は、セルラー通信ネットワーク52、従来の電話網54又は他の通信ネットワーク、例えばインターネット24、に接続される。種々の実施形態において、サーバ50は、セルラー基地局51において、セルラー通信ネットワーク52の交換局内、従来の電話網54の交換局内、又は電話での会話の音声データを提供することができるネットワークへのアクセスが可能なその他の所在場所に配置することができる。サーバ50がインターネットに結合される実装においては、他のインターネットに接続されたサーバ(示されない)を、音声データを書き起こしのためにサーバ50にルーティングするためにセルラー通信ネットワーク52又は電話通信網54内に含めることができる。音声呼が確立された時点で、モバイルデバイス20(又はそのための55)のユーザは、何時でも音声テキスト変換プロセスを起動させることができる。起動されたときには、電話での会話からの音声データもサーバ50に送信され、サーバ50において、ここにおいて説明されるように格納及び書き起こすことができる。
図5は、図4に示される実施形態のシステムにおいて用いるための例示のサーバ50のコンポーネントブロック図である。サーバ50は、サーバ内及びサーバ外においてデータを通信するための入力/出力ポート52、例えば、ネットワーク(例えば、インターネット53又は通信ネットワーク52、54)に接続するためのモデム又は同様のネットワークインタフェース、を含む。サーバ50は、入力/出力ポート52と通信し及びコンピュータによって読み取り可能なメモリ56と通信するプロセッサ55(例えば、マイクロプロセッサ)を含む。メモリ56内には、電話信号復号ソフトウェア42及び音声テキスト変換ソフトウェア44を格納することができる。一実施形態においては、メモリ56は、連絡情報抽出ソフトウェア46も含むことができる。メモリ56は、電話での会話の一部又は全体を一時的に格納するように構成されたバッファ49のセグメント又はパーティションを含むこともできる。電話での会話は、暗号化された又は暗号化されない形でバッファリングすることができる。
復号ソフトウェア42は、電話データを、音声テキスト変換ソフトウェア44によって処理可能な音声データの形に変換するために必要になることがある。典型的には、電話信号は、データパケットに編成されたデジタル信号としてセルラーネットワーク52及び電話網54を通じて送信される。(プレーン・オーディナリ・テレフォン(POTS)信号は、アナログ信号として住宅に/から送信される一方で、該信号は、多重化された光ファイバ及び銅製の中継線を介して送信されるデジタルデータに素早く変換される。)デジタルデータは、圧縮して符号分割多元接続(CDMA)データパケットとしてパケット化することができる。該デジタルデータは、多くの音声テキスト変換ソフトウェア44アプリケーションにとっては読み取りできないことがあり、従って、書き起こしを開始できるようになる前に認識可能な音声データフォーマットに変換しなければならない。
音声テキスト変換ソフトウェア44は、人間の発話をテキストに変換するためのあらゆる種類の又は銘柄のソフトウェア又はシステムであることができる。多くの異なる種類又は銘柄のそのようなソフトウェアが市販されている。復号ソフトウェア42及び音声テキスト変換器44は、結合して単一のソフトウェアパッケージ又はアプリケーションにすることが可能であることが分かる。
データフォーマットを変換することに加えて、サーバ50は、書き起こしが許可されていることを確認することが必要な場合がある。幾つかの状況及び政治的地域においては、プライバシー保護法が、電話での会話の無許可の復号を防止している。これらの場合においては、音声テキスト変換ソフトウェア44を特定のユーザのために起動可能になる前に事前の許可をユーザに要求することができる。幾つかの状況においては、ユーザがユーザのモバイルデバイス20上の変換要求ボタン39を押すことによってテキスト変換要求を要求することは、そのユーザの電話での会話を復号する特定の許可を与えたと解釈することができる。その他の状況においては、サーバ50は、(例えば、電話での会話の相手のモバイルデバイス55上の変換要求ボタン32を押すことによる)会話の相手からの許可を得ることが必要な場合もある。
一実施形態においては、復号ソフトウェア42及び/又は音声テキスト変換器44は、サーバメモリ56に格納されたソフトウェアの代わりにハードウェア又はハードウェア/ソフトウェアの組み合わせとして実装することができる。復号ソフトウェア42及び変換器44のハードウェア実装及びソフトウェア実装の両方とも請求項の適用範囲内である。
連絡情報抽出ソフトウェア46は、変換されたテキストをスキャンして電話番号、住所、電子メールアドレス、等を得るためにサーバ50上に実装することができる。例えば、電話番号は、テキストをスキャンして既知の市外局番、すなわち一続きの7桁又は10桁の数字、を識別することによって認識及び抽出することができる。住所情報は、テキストをスキャンして住所情報と一般的に関連づけられた語句、例えば、“通り”、“街”、“道路”、“私書箱”、既知の都市又は州、等を識別することによって認識することができる。電子メールアドレスは、テキストをスキャンして既知の電子メールサービスプロバイダ(例えば、Gmail.com、yahoo.com、hotmail.com)、語句“電子メール”、又は当然のことであるがテキスト内の語句“において”において現れる“@”語、を確認することによって認識することができる。住所、電子メールアドレス又はその他の連絡情報が認識された時点で、ソフトウェアは、単純な規則を用いて情報を記述し(すなわち、認識されたデータがテキスト内のどの箇所で開始及び終了するかを決定し)、記述された情報をメモリ内にコピーすることができる。連絡情報が成功裏に抽出された場合は、モバイルデバイス20のユーザに関して識別するか又はモバイルデバイス20のユーザに送信することができ、さらに任意選択で、ユーザのモバイルデバイス20のアドレス帳内の正確なフィールドに自動的に入力することができる。該当するメモリフィールドへの抽出されたデータの入力は、モバイルデバイス20が受信された抽出された連絡データを用いて行うことができる。サーバによってバックアップされたシステムを有する大規模な組織における場合のように、ユーザのアドレス帳がサーバ50上に維持される実装においては、抽出されたテキストは、サーバ50上に維持されるアドレス帳の該当フィールドに格納することができる。これで、ユーザのモバイルデバイス20は、モバイルデバイス20が次にサーバ50と“同期化”されたときに抽出連絡情報を含むアドレス帳の最新版によって更新することができる。連絡情報に関連しないテキストデータは廃棄することができる。
一実施形態においては、サーババッファ49は、電話での会話が終了したときに(又は会話を休止中に)会話を一時的に格納する(すなわち、バッファリングする)ために用いることができる。この実施形態は、ユーザが電話での会話を終了後にテキストに変換するための電話での会話の一部分を選択するのを可能にする。この方法により、実施形態の方法は、ユーザが、音声データが話された後に再キャプチャしてテキストデータに変換するのを可能にする。バッファ継続時間は、ユーザによって又はサーバオペレータによって選択可能であり、任意の長さでありうる。
図6は、サーバ50において電話での会話の音声データの一部又は全体をテキストに変換するための実施形態の方法を示すプロセス流れ図である。図2を参照して上述されるように、ユーザが音声データをテキストデータに変換するのを希望するときには、ユーザは、ステップ301において、書き起こし要求ボタン32を押す(又は上述される、プロセスを起動させるその他の方法を用いる)ことができる。テキスト変換要求がユーザによって行われた時点で、ステップ302において、その要求は、モバイルデバイス20によってサーバ50に送信される。テキスト変換要求は、電話での会話中にデータパケットとして送信することができ、又は要求コマンドを構成するとして認識可能な特殊なトーン又は一連のトーンとして送信することができる。サーバ50は、ステップ303において、入力/出力ポート52を介してモバイルデバイス20からテキスト変換要求を受信する。幾つかの実施形態においては、テキスト変換要求は、携帯電話通信ネットワーク52又は従来の電話通信網54内のプロセッサ又はサーバによって認識し、例えばインターネット53を介してその要求及び電話での会話データをサーバ50に転送するようにそのプロセッサ又はサーバに促すことができる。モバイルデバイス20が無線通信デバイスである例においては、テキスト変換要求の送信は、最初に基地局アンテナ51によって受信され、サーバ50に通信される。ステップ304において、受信されたテキスト変換要求に応答して、サーバ50は、復号ソフトウェア42を起動させ、受信された通信データを、書き起こし可能なデータフォーマットに変換するのを開始することができる。ステップ307において、声による会話の一部は、オリジナルであるか又は復号されたデータフォーマットであるかにかかわらず、バッファ49内に一時的に格納することができる。音声データがいったん復号された時点で、サーバプロセッサ55は、ステップ308において、音声テキスト変換ソフトウェア44を起動させ、会話の書き起こしを開始することができる。テキストへの音声の変換は、変換要求がサーバにおいて受信された時点で開始することができる。例えばユーザからのコマンドに応答して、会話の全体又は一部がサーババッファ49において格納される場合は、会話は、例えば開始点を指定するための時間を使用することによって又はユーザが録音された会話を聴いて変換が開始すべき時点を指定することによって、格納された会話におけるあらゆる時点に開始することができる。
一実施形態においては、電話での会話は、ユーザが書き起こしを要求することなしに進行するのに応じてサーババッファ49に格納し、それにより、ユーザが必要であることを認識したときに書き起こしを開始するのを可能にすることができる。この実施形態においては、サーバ50は、電話での会話の一部をバッファ49に格納することができ、このため、ユーザは、発生したばかりの電話での会話の一部においてテキスト変換サービスを開始することができる。例えば、サーバ50及びバッファ49は、例えば、30乃至60秒の限定された期間にまたがって先入れ先出し(FIFO)バッファ内に音声データを格納するように構成することができる。次に、ユーザが書き起こされることを希望する何かを聞いた場合、例えば、会話の相手が当選した宝くじの番号を読み上げるか又は住所又は電話番号を言う場合は、ユーザは、(例えばモバイルデバイス20上のボタン32を押すことによって)バッファ49に格納された会話データの書き起こしを直ちに要求することができる。この実施形態においては、ユーザは、電話での会話の一部を書き起こすことを事前に決定する必要がなく、及び会話の相手に繰り返すように頼む必要がない。プライバシーを保護するために及び通信法を順守するために、一部が録音されることを会話の両当事者に知らせることが必要になる場合があり、ユーザが書き起こしを要求しない場合はバッファ49内のデータを直ちに消去することが必要になる場合がある。
音声テキスト変換ソフトウェア44は、いったん起動された時点で、電話の呼が終了するか又は変換終了信号がサーバ50によって受信されるまで音声データをテキストデータに変換し続けることができる。ユーザは、種々の理由で声による会話が終了する前に音声をテキストに変換するプロセスを終了させることができる。例えば、ユーザは、会話の延長部分ではなく会話中に話される電話番号又は住所のみを変換することを希望することができる。一実施形態においては、ユーザは、声による会話中にボタン39を再度押すことによって音声テキスト変換終了信号を送信することができる。代替として、音声テキスト変換ソフトウェア44は、種々のその他の方法で、例えば、ディスプレイ23のキーパッド36上に示されるユーザインタフェースメニューと、メニュー選択ボタン又はロッカースイッチ37、ボタンを複数回押すこと、音声起動コマンド(例えば、“書き起こし停止”と言う)、等を組み合わせて、終了させることができる。
音声テキスト変換ソフトウェア44が終了された時点で、ステップ309において、新しく変換されたテキストデータは、テキストへの音声の変換を開始したユーザと関連づけられたサーバメモリ55の記憶場所に格納することができる。変換されたテキストデータは、メモリ55に格納された時点で、ユーザが、よく知られるデータアクセス技法を用いることで、ネットワーク、例えばインターネット53、を介して何時でも検索することが可能である。
変換されたテキストは、ステップ313において、有線又は無線のデータ通信リンクを介してユーザのモバイルデバイス20又はその他の通信デバイスに送信することも可能である。テキストデータは、テキストメッセージ(例えば、SMS又は電子メールメッセージ)として又はテキストを含むその他のタイプのデータ送信ファイルとして送信することができる。代替として、変換されたテキストデータは、リアルタイムでモバイルデバイス20に送信して戻すことができ、それにより、サーバ50においてテキストデータを格納する必要がない(ステップ309)。該代替実施形態においては、音声データ変換ソフトウェア44は、声の音声データがテキストに変換されるのに応じてモバイルデバイス20に送信して戻すためのデータパケットを生成することができる。
音声テキスト変換方法が終了した時点で、ユーザは、選択された部分、例えば、テキストのうちの連絡情報を含む部分を手動で抽出し、選択された情報をアドレス帳52に手動で入力すること又はモバイルデバイスのメモリ22にテキストを格納することができる。例えば、ユーザは、モバイルデバイス20において提供されたコピー・アンド・ペーストアプリケーションツールを用いて選択された語句又は数字をコピーし、それらをアドレス帳のレコード内の該当するフィールドに貼り付けることができる。ユーザが例えばインターネット53を介してサーバ50に格納されたテキストデータにアクセスする実施形態においては、ユーザは、ブラウザツールを用いてテキストの選択された部分をコピーしてモバイルデバイスのメモリ22内に“貼り付ける”か、又はよく知られたアプリケーションツールを用いて選択された部分をモバイルデバイスのメモリ22内にローディングすることができる。
代替実施形態においては、サーバ50は、連絡情報を抽出し及び選択された部分を自動的にユーザのモバイルデバイス20に通信するためのソフトウェアによって構成することができ、その一例が図7に示される。図7に示される実施形態は、図6を参照して上述されるステップ301乃至304と、ステップ307乃至309とを含む。さらに、サーバ50は、ステップ310において、変換されたテキストデータから連絡情報を認識して抽出し、ステップ311において、抽出された連絡情報をメモリ22に格納するためにモバイルデバイス20に自動的に送信することができる。上述されるように、サーバ50は、変換されたテキストをスキャンして電話番号、住所、電子メールアドレス、等を得るように設計された連絡情報抽出ソフトウェア46をメモリ55に格納しておくことができる。上述されるように、電話番号は、スキャンして既知の市外局番すなわち一続きの7桁又は10桁の数字、を識別することによって認識することができ、住所情報は、テキストをスキャンして住所情報と関連づけられた語句(例えば、“通り”、“街”、“道路”、“私書箱”、既知の都市又は州、等)を識別することによって認識することができ、電子メールアドレスは、テキストをスキャンして既知の電子メールサービスプロバイダ(例えば、Gmail.com、yahoo.com、hotmail.com)、語句“電子メール”、標準的なアドレス拡張子(例えば、“.com”、“.org”、“.net”、“.gov”、“.uk”、“.ca”、“.jp”、等)又はピリオド又は“ドット”に先行する“@”を確認することによって認識することができる。連絡情報に関連しないテキストデータは、ユーザが指定又は選択するのに応じて廃棄するか又はメモリ内に保持することができる。ステップ309において変換されたテキストデータがメモリ56に格納された後は、サーバ50のプロセッサ55は、ステップ310において、連絡情報抽出ソフトウェア46を起動させ、変換されたテキストデータからすべての連絡情報を抽出することができる。抽出された連絡情報は、ステップ311において、ユーザのモバイルデバイス20に送信することができる。モバイルデバイス20は、ステップ312において、送信された連絡情報を受信し次にメモリ22に格納されたアドレス帳内に自動的にその情報を入力するためのアプリケーションソフトウェアによって構成することも可能である。
代替実施形態においては、サーバ50は、書き起こしサービスを起動させているモバイルデバイス20のユーザ(すなわち、テキスト変換要求を送信したモバイルデバイス20)に向けられた音声部分のみをテキストデータに変換する。換言すると、モバイルデバイス20内に話されてマイク29によって拾い上げられた声の音声データは、テキストに変換されない。多くの場合において、モバイルデバイス20のユーザは、そのユーザ自身の語句を書き起こすことを希望する必要がない。この実施形態は、書き起こし処理及びモバイルデバイス20によって受信されたテキストの量を低減させるために用いることができる。この実施形態は、サーバにルーティングされた各データパケットの一部として発生元デバイスをサーバ50に知らせることによって完遂させることができる。代替として、例えばセルラー通信ネットワーク52が相手側(例えば、図4に示されるモバイルデバイス55又は電話57)から受信された音声データのみを送信することによって、会話の一方の側のみを書き起こすためにサーバ50にルーティングすることができる。
図8に示されるさらなる実施形態においては、サーバ50は、ユーザの声及び発話パターンを認識してそれによって相手側の発話のみを書き起こすためのソフトウェアによって構成することができる。この代替実施形態においては、相手側によって(すなわち、書き起こしを要求したモバイルデバイス20の所有者によってではない)話された語句のみがテキストに変換される。この実施形態は、図6及び7を参照して上述される方法ステップ301乃至304を実装することができる。さらに、サーバ50のプロセッサ55は、声による会話をモニタリングして声の音声データの発生元を決定するためのソフトウェアによって構成される。サーバ50は、(例えばデータパケットヘッダ内の発生元アドレスを用いることによって)音声データパケット内の発生元アドレス情報を、変換要求を行ったデバイスのアドレスと比較することによって音声データパケットの発生元を決定することができる(301)。代替として、ユーザは、ステップ305において、サーバ50がユーザの声を認識するように訓練し、サーバ50が会話におけるユーザの声を識別できるようにすることができる。ユーザは、例えばサーバ50に対して声による呼を行い、テキストの特定の部分をユーザのモバイルデバイス20内に読み込むことによって、発話をテキストに変換するソフトウェアプログラムを訓練することができる方法と同様の方法でサーバ50を訓練することができる。そのように訓練されたサーバ50は、ステップ305において、サーバのメモリ22に格納されたユーザの声のパターンと音声データを比較することによって声による会話中に話された語句をモニタリングすることができる。声の音声データパケットがユーザのモバイルデバイス20において発生した(すなわち、テスト305=“はい”である)場合は、サーバ50は、次の声の音声データパケットを待つ。しかしながら、声のデータパケットがユーザのモバイルデバイス20において発生したものでない(すなわち、テスト305=“いいえ” である)場合は、サーバ50は、ステップ306において、声のデータパケットを復号及び書き起こし、声の音声データを完了させ、図6及び7に参照して上述されるようにステップ306乃至312を実行する。この方法により、相手側の語句のみが書き起こされてユーザのモバイルデバイス20に引き渡される。
幾つかの実施形態においては、ユーザが書き起こしプロセスを実行するサーバ50に自己のモバイルデバイスを登録することが必要になる場合がある。該サーバ50は、携帯電話キャリア、従来の電話システムのプロバイダ又は独立したサービスプロバイダによって運用及びマーケティングされる書き起こしサービスの一部であることができる。ユーザは、自己のモバイルデバイスをサーバ50に登録することによって、テキストデータを自己のモバイルデバイスに送信するために用いられるメッセージ送信技術のタイプ及び該メッセージ送信のために用いるアドレスをサーバに知らせることができる。さらに、ユーザは、自己の会話が書き起こされるのを希望することをサーバ50に確認し、サービスに対する要求事項又は制限事項を指定することができる。例えば、ユーザは、書き起こしサービスを開始するためにユーザが話すか又はパスワードを入力するように要求することができる。書き起こしが開始する前における自己の一意のパスワードの入力を要求することは、ユーザが許可のない書き起こし又は不注意な書き起こしを回避することを可能にする。さらに、ユーザは、上述されるように書き起こしを双方向(両当事者を書き起こす)又は一方向(すなわち、一方の当事者のみを書き起こす)のいずれにすべきかを指定することができる。ユーザは、例えば、自己のモバイルデバイス20を用いてテキストの一部をサーバ50に読むことによって、自己の声を登録プロセスの一部として認識するようにサーバ50を訓練することもできる。ユーザは、サーバ50がネットワーク、例えばインターネット53、を介して2つ以上のモバイルデバイスにテキストデータを送信するか又はユーザによってアクセス可能なサーバメモリ内の記憶場所にテキストデータを保存するのを可能にするための情報をサーバ50に提供することもできる。
幾つかの例においては、ユーザは、2つ以上のモバイルデバイスを所有することができ又はモバイルデバイスを借りること及び自己の電話での会話の一部を書き起こすのを希望することができる。該状況に対処するために、テキストデータへの会話の変換は、1つのモバイルデバイスにおいて開始させ、書き起こされたテキストをメモリ内での格納のために第2のモバイルデバイスに送信することができる。一実施形態においては、書き起こされたテキストは、既知のメッセージ送信アプリケーション、例えばSMS及び電子メールメッセージ送信、によって1方のモバイルデバイスから他方のモバイルデバイスに送信することができる。他の実施形態においては、サーバ50は、第2のモバイルデバイスがサーバ50に登録されている(すなわち、サーバ50がそのモバイルデバイスのアドレスを知っている)場合は直接そのデバイスにテキストを送信することができる。一実施形態においては、テキストデータは、サーバ50に登録しているユーザによって所有されるすべてのモバイルデバイスに送信することができる。
例えば、ユーザがモバイルデバイス20及びユーザの自動車に組み入れられたセル式電話(cellular telephone)を所有する場合は、ユーザは、例えば電話での会話の相手の電子メールアドレスを得るために、運転しながら書き起こしプロセスを実装することができる。書き起こしソフトウェアは、車の組み込まれたセル式電話又は他のプロセッサにおいて実行することができ、又はソフトウェアは、上述されるようにサーバ50において実行することができる。書き起こしソフトウェアがサーバ50において実行される場合は、サーバ50は、車の組み込まれたセル式電話に変換されたテキストデータを送信することができ、車の組み込まれたセル式電話のメモリに格納されたユーザのアドレスに加えることができる。代替として又は追加で、サーバ50は、登録中にサーバ50に提供されたアドレスを用いてユーザのモバイルデバイス20にテキストデータを送信することができる。車の組み込まれたセル式電話は、受信されたテキストデータをユーザのモバイルデバイス20に自動的に転送するように構成することも可能である。
第2の例として、ユーザは、他のユーザのモバイルデバイス55を借りること及び例えば連絡情報をキャプチャするために会話の一部を書き起こすのを希望することができる。この例においては、サーバ50は、メッセージ送信技術及び登録中にサーバ50に提供されたアドレスを用いて、変換されたテキストデータをユーザのモバイルデバイス20に自動的に送信するように構成することができる。これらの例が示すように、書き起こしソフトウェアをサーバ50上に配置することは、2つ以上のモバイルデバイス24を有するか又は異なる電話デバイスから書き起こしサービスを実装する必要があるユーザにとってより高い柔軟性を提供する。
種々の実施形態は、電話での会話から情報をキャプチャする必要があるモバイルデバイスユーザに特に有用である。種々の実施形態は、モバイルデバイスを使用中に電話番号及住所を記録するためのペン及び紙を不要にする。
種々の実施形態は、モバイルデバイス20に格納されたアドレス帳を言葉でプログラミングするために用いることができる。例えば、ユーザが電話番号又は住所をアドレス帳に格納したい場合は、ユーザは、(テキスト変換器を起動させる)音声テキスト変換要求ボタンを押し、モバイルデバイス内に話すことができる。上述されるように、音声信号がサーバに送信されてテキストデータに変換され、テキストデータはモバイルデバイス20に送信して戻すことができる。この方法は、ユーザが手動によるテキスト入力なしで電話番号、等を入力したいときに役立つことができる。
上記の実施形態を実装するために用いられるハードウェアは、一組の命令を実行するように構成された処理要素及びメモリ要素であることができ、命令の組は、上記の方法に対応する方法ステップを実行するための命令である。代替として、幾つかのステップ又は方法は、所定の機能専用の回路によって実行することができる。
実施形態と関係させて説明される種々の例示的論理ブロック、モジュール、回路、及びアルゴリズム上のステップは、電子ハードウェア、コンピュータソフトウェア、又は両方の組み合わせとして実装できることを当業者は理解するであろう。ハードウェアとソフトウェアのこの互換性を明確に例示するため、上記においては、種々の例示的コンポーネント、ブロック、モジュール、回路、及びステップが、各々の機能の観点で一般的に説明されている。該機能がハードウェア、ファームウェア、又はソフトウェアとして実装されるかは、全体的システムに対する特定の用途上の及び設計上の制約事項に依存する。当業者は、説明されている機能を各々の特定の用途に合わせて種々の形で実装することができるが、これらの実装決定は、本開示の適用範囲からの逸脱を生じさせるものであるとは解釈すべきではない。
ここにおいて開示される実施形態様と関係させて説明される方法又はアルゴリズムのステップは、ハードウェア内において直接具現化させること、プロセッサによって実行されるソフトウェアモジュール内において具現化させること、又はこれらの2つの組合せにおいて具現化させることができる。ソフトウェアモジュールは、プロセッサによって読み取り可能な記憶媒体及び/又はプロセッサによって読み取り可能なメモリに常駐することができ、これらは両方とも、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、取り外し可能なディスク、CD−ROM、又は当業において既知であるその他のあらゆる有形の記憶媒体であることができる。さらに、プロセッサによって読み取り可能なメモリは、2つ以上のメモリチップと、プロセッサチップ内部のメモリと、別個のメモリチップと、異なるタイプのメモリ、例えばフラッシュメモリ及びRAMメモリ、の組み合わせと、を備えることができる。ここにおけるモバイルデバイスのメモリへの言及は、特定の構成、タイプ、又はパッケージに制限することなしにモバイルデバイス内のいずれか1つの又はすべてのメモリモジュールを包含することが意図される。典型的な記憶媒体は、モバイルデバイス内のプロセッサに結合させ、プロセッサが記憶媒体から情報を読み出すようにすること及び記憶媒体に情報を書き込むようにすることができる。代替においては、記憶媒体は、プロセッサと一体化させることができる。プロセッサ及び記憶媒体は、ASIC内に常駐することができる。
種々の実施形態に関する上記の説明は、当業者が本発明を実施又は使用できるようにすることを目的とするものである。これらの実施形態に対する種々の修正は、当業者にとって容易に明確になるであろう。さらに、ここにおいて定められる一般原理は、本発明の精神及び適用範囲を逸脱することなしにその他の実施形態に対しても適用することができる。以上のように、本発明は、ここにおいて示される実施形態に限定されることが意図されるものではなく、ここにおいて開示される原理及び斬新な特徴に一致する限りにおいて最も広範な適用範囲が認められるべきである。