(57)【要約】      （修正有）【課題】インタラクティブ・ホワイトボード機器に音声コマンド機能を提供する。【解決手段】音声コマンド機能を提供する方法は、一つまたは複数のプロセッサによって実行されたときにインタラクティブ・ホワイトボード機器での注釈ウィンドーの実行中に、ユーザーから受領される音声入力を検出する段階と、音声入力の録音をオーディオ・パケットに格納する段階と、オーディオ・パケットを発話‐テキスト・サービスに送信する段階と、発話‐テキスト・サービスから前記音声入力の録音の文字起こしを含むコマンド・ストリングを受領する段階と、コマンド・プロセッサ内の音声モード・コマンド処理を使って、コマンド・ストリングから、インタラクティブ・ホワイトボード機器によって実行可能な実行可能コマンドを識別する段階と、インタラクティブ・ホワイトボード機器のアプリケーションに実行可能コマンドを実行させる段階とを含む。【選択図】図１
2020009459.tif 000002
【特許請求の範囲】
【請求項１】
インタラクティブ・ホワイトボード機器であって：
一つまたは複数のプロセッサと；
命令が具現されている非一時的なコンピュータ可読媒体とを有しており、前記命令は、前記一つまたは複数のプロセッサによって実行されたときに：
当該インタラクティブ・ホワイトボード機器での注釈ウィンドーの実行中に、ユーザーから受領される音声入力を検出する段階と；
前記音声入力の録音をオーディオ・パケットに格納する段階と；
前記オーディオ・パケットを発話‐テキスト・サービスに送信する段階と；
前記発話‐テキスト・サービスから前記音声入力の録音の文字起こしを含むコマンド・ストリングを受領する段階と；
コマンド・プロセッサ内の音声モード・コマンド処理を使って、前記コマンド・ストリングから、当該インタラクティブ・ホワイトボード機器によって実行可能な実行可能コマンドを識別する段階と；
当該インタラクティブ・ホワイトボード機器の前記アプリケーションに前記実行可能コマンドを実行させる段階と
の実行を引き起こすものである、インタラクティブ・ホワイトボード機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は概括的には遠隔会議技術に関し、より詳細にはインタラクティブ・ホワイトボード機器を介して遠隔会議機能を提供することに関する。
【背景技術】
【０００２】
遠隔会議技術は制御するのがぎこちなく、わずらわしいことがある。その困難のため、ユーザーは遠隔会議技術の利用可能な機能を活用できなかったり、活用する気がしなかったりすることがある。たとえばユーザーは複雑なメニューをナビゲートするのを学習したり、一般的なコマンドに対応するアイコンを暗記したりする必要があることがある。さらに、熟練ユーザーは利用可能な機能を学習する時間をもったものの、新米ユーザーは、他者にプレゼンするときに新しい機能を使うときにつまづいたり、目に見えてためらったりすることがあり、その新米ユーザーの信頼性を低下させることになる。
【０００３】
多くの電子装置はキーボード、マウスまたはタッチスクリーンのような、ユーザーが手を使って制御する入力装置を使って制御できる。音声認識技術はユーザーが声を使って電子装置と対話する方法を提供し、ハンズフリーのユーザー経験を与える。米国カリフォルニア州キューパーティーノのアップル・コンピューターによって生産されている「アイフォーン」（登録商標）または米国カリフォルニア州マウンテンビューのアルファベット社によって公開されている「アンドロイド」（登録商標）オペレーティング・システム上で走る「アンドロイド」（登録商標）装置は、装置上の互換アプリケーションと対話して装置に音声コマンドに応答させる、音声制御されるアプリケーションを含んでいる。
【０００４】
本節に記載されたアプローチは追求されることができたアプローチであるが、必ずしも以前に着想または追求されたアプローチではない。したがって、特に断わりのない限り、本節に記載されるアプローチのどれも、単に本節に含まれているために従来技術としての資格をもつと想定されるべきではない。
【発明の概要】
【課題を解決するための手段】
【０００５】
インタラクティブ・ホワイトボード機器は：一つまたは複数のプロセッサと；命令が具現されている非一時的なコンピュータ可読媒体とを有しており、前記命令は、前記一つまたは複数のプロセッサによって実行されたときに：当該インタラクティブ・ホワイトボード機器での注釈ウィンドーの実行中に、ユーザーから受領される音声入力を検出する段階と；前記音声入力の録音をオーディオ・パケットに格納する段階と；前記オーディオ・パケットを発話‐テキスト・サービスに送信する段階と；前記発話‐テキスト・サービスから前記音声入力の録音の文字起こしを含むコマンド・ストリングを受領する段階と；コマンド・プロセッサ内の音声モード・コマンド処理を使って、前記コマンド・ストリングから、当該インタラクティブ・ホワイトボード機器によって実行可能な実行可能コマンドを識別する段階と；当該インタラクティブ・ホワイトボード機器の前記アプリケーションに前記実行可能コマンドを実行させる段階との実行を引き起こす。
【０００６】
いくつかの事例では、当該インタラクティブ・ホワイトボード機器において、前記命令は、実行されたときにさらに：インタラクティブ・ホワイトボード機器での前記注釈ウィンドーの実行中に、前記注釈ウィンドーにおいてユーザーからのスタイラス入力を検出する段階と；前記コマンド・プロセッサ内のペン・モード・コマンド処理を使って、前記スタイラス入力から、追加的コマンドを同定する段階と；当該インタラクティブ・ホワイトボード機器の前記アプリケーションに前記追加的コマンドを実行させる段階との実行を引き起こす。
【０００７】
いくつかの事例では、当該インタラクティブ・ホワイトボード機器において、前記音声入力を検出する段階は：連続的なオーディオ・フィードを捕捉する連続聴取モードでマイクロフォンを動作させ；前記連続的なオーディオ・フィードから前記音声入力を捕捉することを含む。いくつかの事例では、当該インタラクティブ・ホワイトボード機器において、前記音声入力を検出する段階は：開始コマンド・モードにおいてマイクロフォンを動作させ；開始コマンドを検出し；前記開始コマンドの検出に応答して、その後のオーディオ・フィードから前記音声入力を捕捉することを含む。
【０００８】
いくつかの事例では、当該インタラクティブ・ホワイトボード機器において、前記発話‐テキスト・サービスからコマンド・ストリングを受領する段階は：当該インタラクティブ・ホワイトボード機器に関連付けられたクライアント装置を使って、当該インタラクティブ・ホワイトボード機器に関連付けられた前記クライアント装置のアプリケーションの実行中に、第二のユーザーからの第二の音声入力を検出し、前記第二の音声入力の録音を第二のオーディオ・パケットに格納し、前記第二のオーディオ・パケットを発話‐テキスト・サービスに送信することを含み、前記命令は、実行されたときにさらに：当該インタラクティブ・ホワイトボード機器において、前記発話‐テキスト・サービスから前記第二の音声入力の録音の文字起こしを含むコマンド・ストリングを受領する段階と；当該インタラクティブ・ホワイトボード機器において、前記コマンド・プロセッサ内の音声モード・コマンド処理を使って、前記第二の音声入力の録音の文字起こしから、第二の実行可能コマンドを同定する段階と；当該インタラクティブ・ホワイトボード機器において、当該インタラクティブ・ホワイトボード機器の前記アプリケーションに前記第二の実行可能コマンドを実行させる段階との実行を引き起こす。
【０００９】
いくつかの事例では、当該インタラクティブ・ホワイトボード機器において、前記クライアント装置は、前記モバイル装置上の前記アプリケーションを介してユーザーから受領される当該インタラクティブ・ホワイトボード機器の選択を使って、当該インタラクティブ・ホワイトボード機器に関連付けられる。
【００１０】
いくつかの事例では、当該インタラクティブ・ホワイトボード機器において、前記クライアント装置はモバイル装置を含む。
【００１１】
いくつかの事例では、当該インタラクティブ・ホワイトボード機器において、前記クライアント装置は別のインタラクティブ・ホワイトボード機器を含む。
【００１２】
いくつかの事例では、当該インタラクティブ・ホワイトボード機器において、前記オーディオ・パケットは、複数のインタラクティブ・ホワイトボード機器から当該インタラクティブ・ホワイトボード機器を識別する当該インタラクティブ・ホワイトボード機器の識別子を含む。
【００１３】
いくつかの事例では、当該インタラクティブ・ホワイトボード機器において、前記オーディオ・パケットを発話‐テキスト・サービスに送信することは：前記オーディオ・パケットを、前記複数のインタラクティブ・ホワイトボード機器によって送信される、待ち行列に入れられた複数のオーディオ・パケットを格納するオーディオ・パケット待ち行列を介して送信することを含む。
【００１４】
いくつかの事例では、当該インタラクティブ・ホワイトボード機器において、前記発話‐テキスト・サービスからコマンド・ストリングを受領する段階は：前記複数のインタラクティブ・ホワイトボード機器に送られるべき、待ち行列に入れられた複数のコマンド・ストリングを格納するコマンド・ストリング待ち行列を介して前記コマンド・ストリングを受領し；前記オーディオ・パケットに含まれている前記インタラクティブ・ホワイトボード機器の前記識別子が、当該インタラクティブ・ホワイトボード機器の識別子に一致することを判別することを含む。
【００１５】
いくつかの事例では、当該インタラクティブ・ホワイトボード機器において、前記音声入力の録音の文字起こしから、前記実行可能コマンドを識別する段階は：前記文字起こしから一つまたは複数のキャラクタを追加または除去することによって前記録音の文字起こしを修正して、修正された文字起こしを与え；該修正された文字起こしを実行可能コマンドにマッチさせることを含む。
【００１６】
いくつかの事例では、当該インタラクティブ・ホワイトボード機器において、当該インタラクティブ・ホワイトボード機器の前記アプリケーションに前記実行可能コマンドを実行させる段階は：アプリケーション・プログラミング・インターフェース（API）を介して当該インタラクティブ・ホワイトボード機器のオペレーティング・システムに前記実行可能コマンドを通信することを含む。
【００１７】
いくつかの事例では、当該インタラクティブ・ホワイトボード機器において、前記発話‐テキスト・サービスは、当該インタラクティブ・ホワイトボード機器上で実装される。
【図面の簡単な説明】
【００１８】
【図１】さまざまな実施形態が実施されうるネットワーク接続された環境を描く図である。
【図２】いくつかの実施形態に基づく、インタラクティブ・ホワイトボード機器の音声制御を提供するシステムを描く図である。
【図３】いくつかの実施形態に基づく、インタラクティブ・ホワイトボード機器の音声制御を提供するプロセスのマルチレーン・フローチャートである。
【図４】さまざまな実施形態が実施されうるさらなるネットワーク接続された環境を描く図である。
【図５】本発明のある実施形態が実装されうるコンピュータ・システムを示すブロック図である。
【発明を実施するための形態】
【００１９】
以下の記述では、説明の目的で、本発明の十全な理解を提供するために数多くの個別的詳細が記述される。しかしながら、本発明がそうした個別的詳細なしでも実施されうることは明白であろう。他の事例では、よく知られた構造および装置は、本発明を無用に埋没させるのを避けるためにブロック図の形で示されている。
【００２０】
〈全般的概観〉
インタラクティブ・ホワイトボード機器は音声制御機能をもつ。音声制御機能により、インタラクティブ・ホワイトボード機器のユーザーは複数の音声コマンドを使ってインタラクティブ・ホワイトボード機器を制御できる。音声コマンドは、インタラクティブ・ホワイトボード機器のハンズフリーの操作を提供する。さらに、音声制御機能により、ユーザーがメニュー・フローやディスプレイに含まれる対話的アイコンの事前の知識をもつことを要求することなく、ユーザーがインタラクティブ・ホワイトボード機器をより直観的に制御することを許容する。音声制御機能は、インタラクティブ・ホワイトボード機器が、向上した機能を提供しつつ、比較的単純なグラフィカル・ユーザー・インターフェースを提供することを許容する。ここで、向上した機能は、多分に装置外のコンピューティング資源によってサポートされる。これは、インタラクティブ・ホワイトボード機器に対する計算負荷を低減する。さらに、音声コマンドの使用は、グラフィカル・ユーザー・インターフェースをナビゲートすることにおけるユーザー誤りを低減し、望まれないメニュー、ヘルプ機能およびアイコンをユーザーに提供することに費やされる計算資源の消費をなくす。
【００２１】
インタラクティブ・ホワイトボード（IWB:  interactive  whiteboard）機器において、マイクロフォンを介して、ユーザーは音声コマンドを提供する。インタラクティブ・ホワイトボード機器の音声認識プロセッサは音声コマンドの録音を捕捉する。音声認識プロセッサは、該録音と、インタラクティブ・ホワイトボード機器の識別子を含むメタデータとをオーディオ・パケットにパッケージングし、該オーディオ・パケットをオーディオ待ち行列マネージャに送る。オーディオ待ち行列マネージャは、そのオーディオ・パケットをオーディオ待ち行列に入れ、適宜、オーディオ・パケットを発話‐テキスト・サービスに送る。発話‐テキスト・サービスは録音を文字に変換して、文字起こしを与える。発話‐テキスト・サービスは該文字起こしおよびメタデータをコマンド・ストリングとしてコマンド・ストリング待ち行列マネージャに送る。コマンド・ストリング待ち行列マネージャはコマンド・ストリングを待ち行列に入れ、適宜、コマンド・ストリングをIWB機器内のコマンド・プロセッサに送る。コマンド・プロセッサは前記文字起こしにおける実行可能コマンドを識別し、IWB機器に、IWB機器上のAPIを呼び出すことによって前記実行可能コマンドを実行させる。
【００２２】
〈ネットワーク接続された環境〉
図１は、さまざまな実施形態が実施されうるネットワーク接続された環境１００を描いている。ネットワーク接続された環境１００は、ローカル・エリア・ネットワーク（LAN）、広域ネットワーク（WAN）またはインターネットのような電子ネットワークを介して互いと通信するよう構成された二つ以上のコンピューティング装置を含んでいる。いくつかの事例では、コンピューティング装置のいくつかは、LANを介して通信してもよく、他のものはWANまたはインターネットを介して通信してもよい。ネットワーク接続された環境１００は、IWB機器自身への実質的な変更を要求することなく、IWB機器が発話‐テキスト・サービスの追加的機能にアクセスすることを許容する。
【００２３】
IWB機器１０２は、ネットワークを介してリモートの発話‐テキスト・サービス１１２と通信するよう構成されている。IWB機器１０２は、複数のユーザーのためにリアルタイムで通信および注釈機能を提供する協働・会議装置である。IWB機器１０２のいくつかの機能は、これに限られないが：文書の注釈付け；ファイルの共有；複数のIWB機器（図示せず）、モバイル・アプリおよびサードパーティー・ソリューションを横断したリアルタイム注釈付け；クラウド・ベースのサービスとのデータの共有および同期；光学式文字認識；およびローカリゼーション（localization）機能を含む。IWB機器１０２は、スタイラスまたはタッチスクリーンを介してユーザーによって制御されうる。IWB機器１０２は、ネットワーキング機能、オペレーティング・システム、ウェブ・ブラウザーといったコンピューティング装置インフラストラクチャーを含み、サードパーティーからの専用のアプリケーションを実行できる。IWB機器１０２はさらに、文書を検索して開くこと、文書に注釈付けすること、文書および注釈のリアルタイム共有、ビデオ会議、電話会議および文書の保存のための、IWB機器固有のアプリケーションを含む。
【００２４】
IWB機器１０２は、IWB機器１０２の直近における音を捕捉するマイクロフォン１０４を有している。マイクロフォン１０４は、IWB機器１０２に組み込まれた内蔵マイクロフォンであってもよい。いくつかの事例では、マイクロフォン１０４はIWB機器１０２の直近に位置されており有線もしくは無線技術を介してIWB機器１０２に接続されている一つまたは複数のマイクロフォンを含んでいてもよい。有線マイクロフォンの例は、IWB機器１０２のオーディオ・ジャックまたはUSBポートを介してIWB機器１０２につなぐマイクロフォンを含む。無線マイクロフォンの例は、ブルートゥース（登録商標）・リンクを介してブルートゥース（登録商標）対応IWB機器１０２と通信するブルートゥース（登録商標）対応マイクロフォンを含む。
【００２５】
マイクロフォン１０４と通信する音声認識プロセッサ１０６は、捕捉された音の一部を潜在的な音声コマンドとして識別する。音声認識プロセッサ１０６は、IWB機器１０２のオペレーティング・システムに含まれている音声認識プログラム、たとえば米国ワシントン州レドモンドのマイクロソフトによって開発されたWINDOWS（登録商標）  SPEECH  RECOGNITION発話認識コンポーネントを含んでいてもよい。あるいはまた、音声認識プロセッサ１０６はIWB機器１０２上で実行されるアプリケーションであってもよい。
【００２６】
音声認識プロセッサ１０６は、所与の時点において二つのモードのうちの一方で動作でき、任意の時点でモード間の切り換えができる。第一のモード、連続聴取モードは、常時音を捕捉し、その音を解析して潜在的な音声コマンドを識別しようとすることに関わる。連続聴取モードでは、音声認識プロセッサ１０６は、閾値継続時間続く、音の長い休止を識別することによって、潜在的な音声コマンドを検出する。閾値継続時間はたとえば、1秒未満、1秒または1秒超でありうる。閾値継続時間を検出すると、音声認識プロセッサ１０６は、休止の前に捕捉された音のセグメントを解析し、休止の直前に生起した音の録音を保存しうる。録音は、休止前の指定された時間期間、たとえば10秒の間に捕捉された音を含んでいてもよい。他の実施形態では、音声認識プロセッサ１０６は、該セグメントに対して初期音声認識解析を実行して潜在的なコマンドを識別するよう構成されていてもよい。該潜在的なコマンドが話されていた時間期間の間に捕捉された音が次いで録音として保存される。
【００２７】
音声認識プロセッサ１０６の第二のモードは、開始コマンド・モードである。開始コマンド・モードでは、音声認識ソフトウェア１０６が、マイクロフォンによって捕捉された音において、ユーザーによって話される開始コマンドを識別することによって、潜在的な音声コマンドを検出する。開始コマンドはたとえば「やあ、ボブ！」であってもよい。ここで、「ボブ」は音声認識プロセッサ１０６のニックネームである。開始コマンドが検出されるとき、音声認識プロセッサ１０６は開始コマンドが話された後または後刻に生起する音の録音を保存し始める。録音は、3秒、5秒または10秒といった時間期間にわたって続いてもよい。他の実施形態では、音声認識プロセッサ１０６は、捕捉された音のそのセグメントに対して初期音声認識解析を実行して潜在的なコマンドを識別するよう構成されていてもよい。潜在的なコマンドが話された時間期間の間に捕捉された音は次いで録音として保存される。
【００２８】
音声認識プロセッサ１０６は録音をオーディオ・パケットにまとめる。オーディオ・パケットの内容および構造は、ネットワーキング・パケットのようないかなる特定のデータ構造にもフォーマットにも限定されるものではなく、オーディオ・データおよびメタデータの両方を含むデータを一般的に指すために使われる。オーディオ・パケットは、これに限られないがその録音を記録したIWB機器１０２の識別子およびその録音から識別されるコマンドを実行することが意図されているIWB機器１０２の識別子などの追加的なメタデータを含む。いくつかの事例では、これらの識別子は同じIWB機器１０２を同定していてもよいが、他の事例では、これらは異なるIWB機器１０２を同定してもよい。メタデータはさらに、オーディオ・パケット待ち行列マネージャ（図２参照）の識別子および発話‐テキスト・サービス１１０の識別子およびコマンド・ストリング待ち行列マネージャ（図２参照）の識別子を含んでいてもよい。メタデータに含まれる識別子は、メタデータによって同定される各エンティティに関連付けられたインターネット・プロトコル（IP）アドレスおよび／またはポートを含んでいてもよい。音声認識プロセッサ１０６は、オーディオ・パケットを組み立てると、オーディオ・パケットを発話‐テキスト・サービス１１２に送る。
【００２９】
IWB機器１０２のコマンド・プロセッサ１０８は、発話‐テキスト・サービス１１２からコマンド・ストリングを受領し、音声認識プロセッサ１０６によって記憶された録音の文字起こしからコマンドを識別し、IWB機器１０２にそのコマンドを実行させる。コマンド・プロセッサ１０８は、文字起こしがある記憶されたコマンドに一致するよう一つまたは複数のキャラクタを追加または除去することによって、コマンドを識別するために文字起こしされたコマンド・ストリングを修正してもよい。これは、音声入力およびユーザーの大きな変動がホワイトボード上でうまく扱われることを保証し、発話‐テキストの文字起こしを誤りから意図されたコマンドに訂正するためである。記憶されたコマンドの限定しない例およびその説明を表１に掲げる。
【００３０】
【表１】
2020009459.tif 000003
コマンド・プロセッサは、文字起こしから実行可能コマンドを識別すると、オペレーティング・システムまたは該オペレーティング・システム上で実行中のアプリケーションに、コマンドに対応するアクションを実行させる。
【００３１】
図１の任意的なクラウド１１０は発話‐テキスト・サービス１１２をホストする。クラウド１１０は、クラウド環境においてサービスを提供するコンピューティング装置のネットワーク接続された集合である。発話‐テキスト・サービス１１２は代替的には、クラウド環境の外部の伝統的なオンライン・サービス・プロバイダーによってホストされてもよい。代替的な諸実施形態において、発話‐テキスト・サービス１１２は、ファイアウォール内でオンプレミスでホストされてもよい。他の代替的な諸実施形態では、発話‐テキスト・サービス１１２はIWB機器１０２において実行され、その一つのIWB機器１０２だけのためにコマンドを処理する独立なプロセスであってもよい。これらの代替的な実施形態は、IWB機器１０２のより高い安全性およびプライバシーを提供しうる。
【００３２】
発話‐テキスト・サービス１１２は、オーディオ・パケットの自動化された文字起こしのサードパーティー・プロバイダーであってもよい。そのようなプロバイダーの例は、これに限られないが、米国ニューヨーク州アーモンクのインターナショナル・ビジネス・マシーンズによる「ワトソン」（登録商標）および米国マサチューセッツ州バーリントンのニュアンス・エンタープライズによる「ドラゴン」発話認識を含む。
【００３３】
クライアント装置１１４は、ユーザーのモバイル・コンピューティング装置または別のIWB機器を含んでいてもよい。クライアント装置１１４は、インタラクティブ・ホワイトボード・アプリ１１６を含む。インタラクティブ・ホワイトボード・アプリ１１６は、IWB機器１０２と対話するための専用アプリケーションである。インタラクティブ・ホワイトボード・アプリ１１６は、ユーザーが、クライアント装置１１４およびIWB機器１０２とインタラクティブ・ホワイトボード・アプリ１１６との間の関連付けを確立することを許容するユーザー・インターフェースを提供する。関連付けは、クライアント装置１１４によって開始されたコマンドを実行するためにIWB機器１０２にコマンドを送るために、クライアント装置１１４上の音声認識プロセッサ１０６によって、使われる。インタラクティブ・ホワイトボード・アプリ１１６はユーザーが複数のIWB機器からIWB機器１０２を選択することを許容してもよい。たとえば、インタラクティブ・ホワイトボード・アプリ１１６は、ユーザーが、クライアント装置１１４を介してリモートにコマンドするための特定のIWB機器またはIWB機器のグループを選択することを許容するグラフィカル・ユーザー・インターフェースを提供してもよい。クライアント装置１１４上の音声認識プロセッサ１０６は、IWB機器１０２上の音声認識プロセッサ１０６に関して本稿で述べたのと同じ機能を実行してもよい。
【００３４】
クライアント装置１１４はさらに、上述した音声認識プロセッサ１０６を有する。音声認識プロセッサ１０６は、マイクロフォン１０４との関連で述べたようにクライアント装置１１４に接続されたまたは統合されたマイクロフォンを介して音入力を受領する。モバイル・アプリを有するクライアントを使うと、ユーザーは、コマンドを話してIWB機器１０２にコマンドを実行させるためにホワイトボードの前にいる必要がない。ユーザーは、リモートにIWB機器１０２を制御しうる。IWB機器１０２を制御することは、複数のIWB機器１０２がリモート参加者によってリモートに制御されうる状況では貴重である。
【００３５】
図２は、いくつかの実施形態に基づく、インタラクティブ・ホワイトボード機器の音声制御を提供するシステム２００を描いている。システム２００は、ネットワーク接続された環境１００の、より微妙なところまで表わした図を与えている。システム２００は、完全にIWB機器１０２内にあるなど、単一位置に位置していてもよく、あるいは複数の位置にまたがって実装され、複数のIWB機器１０２を含むのでもよい。たとえば、点線２１８の左側に描かれたシステム２００の部分（音声認識プロセッサ１０６、ホワイトボード注釈付けアプリケーション２０２、インタラクティブ・ホワイトボードAPI  ２１６およびコマンド・プロセッサ１０８を含む）はIWB機器１０２機器自身の一部であってもよい。点線２１８と点線２２０の間に描かれているシステム２００の部分（オーディオ・パケット待ち行列マネージャ２０４、オーディオ・パケット待ち行列２０６、コマンド・ストリング待ち行列マネージャ２０８およびコマンド・ストリング待ち行列２１０を含む）はエンティティにわたって広がるLANにまたはクラウド環境に位置されてもよい。点線２２０の右側に描かれるシステム２００の部分（発話‐テキスト・サービス１１２を含む）は、クラウド環境またはサードパーティー・サーバーに位置していてもよい。このように、諸実施形態は、単一位置、複数位置およびクラウド・ベースの実装に適用可能である。
【００３６】
ホワイトボード注釈付けアプリケーション２０２は、IWB機器１０２によって実行されるアプリケーションであって、ユーザーがスタイラスまたは指を使ってドローすることでリアルタイムに電子文書を作成する、開く、注釈付けするおよび保存することができるような電子ドロー表面（electronic  drawing  surface）を含む注釈ウィンドーを提供する。たとえば、ユーザーは、注釈ウィンドーを介して、ワードプロセシング文書、スプレッドシード、描画などといった既存の文書を閲覧し、編集してもよい。ホワイトボード注釈付けアプリケーション２０２は典型的には、IWB機器１０２の電源投入時に自動的に呼び出され、IWB機器１０２のグラフィカル・ユーザー・インターフェースは、ユーザーが注釈ウィンドーとビデオ会議ウィンドーのような他のウィンドーとの間で切り換えることを許容するグラフィカル・ユーザー・インターフェース・コントロールを含む。ホワイトボード注釈付けアプリケーション２０２の実行中、上記で論じたように、音声認識プロセッサ１０６によって音声コマンドが検出されてもよい。
【００３７】
音声コマンドの録音を含むオーディオ・パケットを生成すると、音声認識プロセッサ１０６はそのオーディオ・パケットをオーディオ・パケット待ち行列マネージャ２０４に送る。オーディオ・パケット待ち行列マネージャ２０４は複数のIWB機器１０２および／またはクライアント装置１１４からオーディオ・パケットを受領してもよい。ファイル待ち行列マネージャ２０４は、受領されたオーディオ・パケットをオーディオ・パケット待ち行列２０６に入れる。オーディオ・パケット待ち行列２０６は、先入れ先出し（FIFO）待ち行列として実装され、管理されてもよいが、実施形態はFIFO待ち行列実装に限定されるものではなく、他の実装が使われてもよい。受領されたオーディオ・パケットがFIFO待ち行列の先頭に達すると、オーディオ・パケット待ち行列マネージャ２０４はそのオーディオ・パケットを発話‐テキスト・サービス１１２に送る。
【００３８】
いくつかの実装では、発話‐テキスト・サービス１１２はコマンドを知らず、既存の文字起こしプログラムを使って録音を文字起こしするだけである。いくつかの実施形態では、発話‐テキスト・サービスは、記憶されている実行可能なコマンドおよび記憶されている音声入力を使って、特定のコマンドを認識し、文字転写するようトレーニングされる。トレーニングは、発話‐テキスト・サービス１１２が特定の製品またはサービスについてのコマンドを、よりよい精度をもって、より少ない誤りで認識する助けとなることがある。さらなる実施形態は、フィードバック機構を含んでいてもよく、それによりIWB機器１０２上のコマンド・プロセッサ１０８が、特定の録音を特定の記憶されている実行可能なコマンドと関連付けるフィードバックを提供する。たとえば、IWB機器１０２は、ユーザーが話したコマンドがIWB機器１０２によって成功裏に処理され、認識されたという、ユーザーへの視覚的および／または可聴な指示を提供してもよい。
【００３９】
発話‐テキスト・サービス１１２は、前記録音の文字起こしおよび前記メタデータを含むコマンド・ストリングを、前記オーディオ・パケットに含まれるメタデータを使って、コマンド・ストリング待ち行列マネージャ２０８に送る。コマンド・ストリング待ち行列マネージャ２０８は、受領されたコマンド・ストリングをコマンド・ストリング待ち行列２１０に入れる。コマンド・ストリング待ち行列２１０はFIFO待ち行列として実装されてもよいが、他の待ち行列手法が使われてもよい。受領されたコマンド・ストリングがFIFO待ち行列の先頭に達すると、コマンド・ストリング待ち行列マネージャ２０８は、そのコマンド・ストリングに含まれているメタデータを使って複数のIWB機器からIWB機器１０２を同定し、そのコマンド・ストリングを同定されたIWB機器１０２に送る。
【００４０】
IWB機器１０２では、コマンド・プロセッサ１０８は、音声モード・コマンド処理２１２およびペン・モード・コマンド処理２１４を含む。音声モード・コマンド処理２１２は、コマンド・ストリング待ち行列マネージャ２０８からコマンド・ストリングを受領することを含む。音声モード・コマンド処理２１２は、前記録音の文字起こしにアクセスして、該文字起こしが、表１に挙げたような、ある記憶されている実行可能コマンドに一致するかどうかを判定する。一致するものがなければ、音声モード・コマンド処理２１２は、前記文字起こしからキャラクタを追加または除去することによって前記文字起こしを修正してもよい。これは、たとえば、前記録音の前記文字起こしに最もよく一致する記憶されている実行可能コマンドを判別し、次いで、その記憶されている実行可能コマンドに一致するよう前記文字起こしを修正することを含んでいてもよい。コマンド・プロセッサ１０８は、前記コマンド・ストリングを受領すると、サポートされているコマンドについて知識ベース（たとえば表１参照）に問い合わせする。そのコマンド・ストリングが正確な一致であれば、IWB機器１０２はそのコマンドを実行する。そうでなければ、IWB機器１０２は、サポートされているコマンドの一つに一致するよう、そのコマンド・ストリングをパースして最も近い一致を近似する（たとえば、"Color  reed"を"Color  Red"〔色  赤〕に、"Add  Pager"を"Add  Page"〔ページ追加〕に）。IWB機器１０２上でアクションを実行する前に、IWB機器１０２は、パースされたコマンド・ストリングを確認するメッセージをユーザーに提供してもよい。たとえば、メッセージは「色を赤に変えたいですか［はい／いいえ］」と尋ねてもよく、ユーザー入力に基づいて、コマンド・プロセッサ１０８はIWB機器１０２に対してアクションを実行してもよい。
【００４１】
ペン・モード・コマンド処理２１４は、ユーザーからのスタイラス入力の検出に応答して、実行可能コマンドを同定するよう構成される。これはたとえば、IWB機器１０２における実行可能コマンドに対応する一つまたは複数のグラフィカル・ユーザー・インターフェース・コントロールの選択を検出することを含んでいてもよい。
【００４２】
実行可能コマンドが音声モード・コマンド処理２１２またはペン・モード・コマンド処理２１４によって同定されると、コマンド・プロセッサ１０８は、IWB機器１０２のインタラクティブ・ホワイトボード・アプリケーション・プログラム・インターフェース（API）を介して、その実行可能コマンドをIWB機器１０２によって実行させる。たとえば、ユーザーがコマンド「会議開始」を話すことに応答して、IWB機器１０２はIWB機器１０２上でビデオ会議ウィンドーをインスタンス生成してもよい。ホワイトボード注釈付けアプリケーション２０２によって管理される注釈付けウィンドーを含む既存のウィンドーに関するコマンドが処理されてもよい。
【００４３】
図３は、いくつかの実施形態に基づく、インタラクティブ・ホワイトボード機器の音声制御を提供するプロセスのマルチレーン・フローチャートである。このプロセスは、音声コマンドを認識し、同定し、実行するために、IWB機器１０２に機能を提供する。IWB機器１０２は音声コマンドを実行するので、ユーザーは、IWB機器１０２でハンズフリー経験をもちうる。
【００４４】
動作３０２では、IWB機器１０２は該IWB機器上でアプリケーションを実行する。アプリケーションの例は、注釈付けアプリケーション２０２、遠隔会議アプリケーション、協働アプリケーションまたはクラウド記憶アプリケーションのようなサードパーティー・アプリケーションを含むことができる。
【００４５】
動作３０４では、音声認識プロセッサ１０６が、マイクロフォン１０４によって捕捉された音を使って、実行中のアプリケーションにおける音声入力を検出する。音声認識プロセッサ１０６は、連続聴取モードまたは開始コマンド・モードで走っていることができる。
【００４６】
動作３０６では、音声認識プロセッサ１０６は、前記録音と、前記録音を記録したIWB機器１０２の識別子および前記録音から識別されるコマンドを実行することが意図されているIWB機器の識別子を含むメタデータとを含むオーディオ・パケットを生成する。いくつかの事例では、これらの識別子は同じIWB機器１０２を同定していてもよいが、他の事例では、これらは異なるIWB機器を同定してもよい。メタデータはさらに、オーディオ・パケット待ち行列マネージャの識別子および発話‐テキスト・サービス１１０の識別子およびコマンド・ストリング待ち行列マネージャの識別子を含んでいてもよい。メタデータに含まれる識別子は、メタデータによって同定される各エンティティに関連付けられたインターネット・プロトコル（IP）アドレスおよび／またはポートを含んでいてもよい。音声認識プロセッサ１０６は、生成されたオーディオ・パケットをオーディオ・パケット待ち行列２０６に送る。
【００４７】
〈モバイル・アプリケーション〉
代替的な実施形態では、動作３０２、３０４および３０６は、クライアント装置１１４によって実行されてもよい。クライアント装置１１４はユーザーのモバイル装置または別のIWB機器であってもよい。クライアント装置１１４は、クライアント装置１１４またはクライアント装置１１４上のインタラクティブ・ホワイトボード・アプリ１１６を、音声コマンドを実行することになるIWB機器１０２と関連付けるアプリケーションを含んでいてもよい。この実施形態では、クライアント装置１１４上の音声認識プロセッサ１０６が動作３０４および３０６を実行する。クライアント装置１１４で生成されたオーディオ・パケットは、IWB機器１０２を同定するメタデータを含む。クライアント装置１１４上の音声認識プロセッサ１０６は、オーディオ・パケットをオーディオ・パケット待ち行列２０６に送る。これは、クライアント装置１１４のユーザーが、ローカルなIWB機器またはリモートのIWB機器のいずれかを制御することを許容する。クライアント装置１１４のユーザーが複数のIWB機器を選択する状況では、次いで、クライアント装置１１４上の音声認識プロセッサ１０６が複数のオーディオ・パケットを生成し、オーディオ・パケット待ち行列２０６に送信する。オーディオ・パケットは、結果として得られるコマンド・ストリングが送られるべきIWB機器１０２のリストを含むメタデータをもつ一つのパケットであってもよい。このようにして、オーディオ・パケットが複数のIWB機器１０２のために意図されていたとしても、オーディオ・パケット待ち行列１０６は、複数のオーディオ・パケットの負担をかけられることはない。オーディオ・パケット待ち行列マネージャ２０４は、オーディオ・パケットに含まれるメタデータに基づいて複数のIWB機器１０２に、結果として得られるコマンド・ストリングを送る命令を含んでいてもよい。これは、クライアント装置１１４のユーザーが、インタラクティブ・ホワイトボード・アプリ１１６を介して複数のIWB機器を制御することを許容する。
【００４８】
動作３０８では、オーディオ・パケット待ち行列２０６は、そのオーディオ・パケットを、IWB機器１０２からおよび／またはオーディオ・パケット待ち行列２０６と電子的に通信する複数の他のIWB機器からの他のオーディオ・パケットと一緒に、FIFO待ち行列に入れる。オーディオ・パケットが待ち行列の先頭に到達すると、オーディオ・パケット待ち行列２０６はそのオーディオ・パケットを発話‐テキスト・サービス１１２に送る。
【００４９】
動作３１０では、発話‐テキスト・サービス１１２は、オーディオ・パケット中の録音にアクセスし、録音の文字起こしを生成する。文字起こしは、コマンド・ストリングのテキスト・フィールドまたはペイロードであってもよい。コマンド・ストリングは、発話‐テキスト・サービスによって組み立てられ、前記文字起こしと、前記オーディオ・パケットに含まれる前記メタデータとを含む。コマンド・ストリング中のメタデータを使って、発話‐テキスト・サービス１１２はコマンド・ストリングをコマンド・ストリング待ち行列２１０に送る。
【００５０】
動作３１２では、コマンド・ストリング待ち行列２１０は、コマンド・ストリングを、IWB機器１０２へおよび／またはコマンド・ストリング待ち行列２１０と電子的に通信する複数の他のIWB機器へ送られるべき他のコマンド・ストリングと一緒に、FIFO待ち行列に入れる。コマンド・ストリングが待ち行列の先頭に到達すると、コマンド・ストリング待ち行列２１０はそのオーディオ・パケットをIWB機器１０２におけるコマンド・プロセッサ１０８に送る。
【００５１】
動作３１４では、コマンド・プロセッサ１０８は、コマンド・ストリングから実行可能コマンドを識別する。コマンド・プロセッサ１０８は、前記文字起こしを、記憶されている実行可能コマンドの集合におけるあるコマンドとマッチさせる。コマンド・プロセッサ１０８は、前記文字起こしを修正し、修正された文字起こしを、記憶されている実行可能コマンドの集合におけるあるコマンドとマッチさせてもよい。コマンド・プロセッサ１０８が前記文字起こしから実行可能コマンドを識別できない場合は、コマンド・プロセッサ１０８はそのコマンドをドロップしてもよく、あるいは、音声コマンドを繰り返すようユーザーに求めるユーザーへのプロンプトを呈示するようIWB機器１０２に命令してもよい。ユーザーが音声コマンドを繰り返す場合、プロセスは動作３０４に戻る。実行可能コマンドが識別されると、コマンド・プロセッサ１０８は実行可能コマンドを、インタラクティブ・ホワイトボードAPI  ２１６を介してIWB機器１０２に上で走っているアプリケーションに送る。
【００５２】
動作３１６では、IWB機器１０２は、前記コマンドを、オペレーティング・システムを使って、あるいは前記コマンドをIWB機器１０２上で走っているアプリケーションに送ることによって、実行する。このアプリケーションは、動作３０２のアプリケーションであってもよく、あるいは別のアプリケーションであってもよい。
【００５３】
図４は、さまざまな実施形態が実施されうるさらなるネットワーク接続された環境４００を描いている。ネットワーク接続された環境４００は、二つのサイトが遠隔会議に参加している例示的な環境を描いている。各サイトは、IWB機器４０２、４０４、４０８および４１０として描かれている一つまたは複数のIWB機器１０２を有していてもよい。さらに、遠隔会議の参加者はクライアント装置１１４のように、上記のようなIWBアプリ１１６および音声認識プロセス１０６を有する個人のモバイル装置４０６を有していてもよい。IWB機器４０２またはモバイル装置４０６は、たとえば、IWB機器４０８および／またはIWB機器４１０によって、あるいはさらなる実施形態ではIWB機器４０２およびIWB機器４０４によっても実行されるべき音声コマンドを捕捉してもよい。
【００５４】
図４では、IWB機器４０２、４０４およびモバイル装置４０６は、たとえばマイクロフォン１０４を介して捕捉された音声入力から、音声認識プロセッサ１０６を使ってオーディオ・パケットを生成する。IWB機器４０２、４０４およびモバイル装置４０６は、そのオーディオ・パケットを、たとえばインタラクティブ・ホワイトボード・アプリ１１６を使ってIWB機器４０８および／または４１０と関連付ける。待ち行列に入れられたオーディオ・パケットは発話‐テキスト・サービス１２２に送られる。結果として得られるコマンド・ストリングはコマンド・ストリング待ち行列２１０に入れられる。コマンド・ストリング待ち行列２１０は、コマンド・ストリングに関連付けられたメタデータにアクセスして、該メタデータから、コマンド・ストリングがIWB機器４０８および／またはIWB機器４１０に送られるべきであることを判別する。その判別に基づいて、コマンド・ストリングはIWB機器４０８および／またはIWB機器４１０に送られる。
【００５５】
〈実施例〉
ある実施形態によれば、本稿に記載される技法は一つまたは複数の特殊目的コンピューティング装置によって実装される。特殊目的コンピューティング装置は、本技法を実行するよう固定構成にされていてもよいし、あるいは本技法を実行するよう恒久的にプログラムされている一つまたは複数の特定用途向け集積回路（ASIC）またはフィールドプログラマブルゲートアレイ（FPGA）といったデジタル電子デバイスを含んでいてもよく、あるいはファームウェア、メモリ、他の記憶または組み合わせにおけるプログラム命令に従って本技法を実行するようプログラムされる一つまたは複数の汎用ハードウェア・プロセッサを含んでいてもよい。そのような特殊目的コンピューティング装置は、カスタムの固定構成論理、ASICまたはFPGAをカスタムのプログラミングと組み合わせて本技法を達成してもよい。特殊目的コンピューティング装置はデスクトップ・コンピュータ・システム、ポータブル・コンピュータ・システム、ハンドヘルド装置、ネットワーキング装置または本技法を実装するために固定構成および／またはプログラム論理を組み込んでいる他の任意の装置であってもよい。
【００５６】
図５は、本発明のある実施形態が実装されうる例示的なコンピュータ・システム５００を示すブロック図である。コンピュータ・システム５００は、情報を通信するためのバス５０２または他の通信機構と、情報を処理するための、バス５０２に結合されたプロセッサ５０４とを含む。ハードウェア・プロセッサ５０４はたとえば汎用マイクロプロセッサであってもよい。
【００５７】
コンピュータ・システム５００は、ランダム・アクセス・メモリ（RAM）または他の動的記憶装置のような、情報およびプロセッサ５０４によって実行されるべき命令を記憶するための、バス５０２に結合されたメイン・メモリ５０６をも含む。メイン・メモリ５０６はまた、一時変数または他の中間的な情報を、プロセッサ５０４によって実行されるべき命令の実行の間、記憶しておくために使われてもよい。そのような命令は、プロセッサ５０４とってアクセス可能な非一時的な記憶媒体に記憶されたとき、コンピュータ・システム５００を、前記命令において指定された動作を実行するようカスタマイズされた特殊目的機械にする。
【００５８】
コンピュータ・システム５００はさらに、バス５０２に結合された、静的な情報およびプロセッサ５０４のための命令を記憶するための読み出し専用メモリ（ROM）５０８または他の静的記憶装置を含む。磁気ディスク、光ディスクまたは半導体ドライブのような記憶装置５１０が提供され、情報および命令を記憶するためにバス５０２に結合される。
【００５９】
コンピュータ・システム５００は、コンピュータ・ユーザーに対して情報を表示するための、陰極線管（CRT）のようなディスプレイ５１２にバス５０２を介して結合されていてもよい。英数字その他のキーを含む入力装置５１４が、情報およびコマンド選択をプロセッサ５０４に伝えるためにバス５０２に結合される。もう一つの型のユーザー入力装置は、方向情報およびコマンド選択をプロセッサ５０４に伝えるとともにディスプレイ５１２上でのカーソル動きを制御するための、マウス、トラックボールまたはカーソル方向キーのようなカーソル・コントロール５１６である。この入力装置は典型的には、第一軸（たとえばx）および第二軸（たとえばy）の二つの軸方向において二つの自由度をもち、これにより該装置は平面内での位置を指定できる。
【００６０】
コンピュータ・システム５００は、本稿に記載される技法を実施するのに、カスタマイズされた固定構成論理、一つまたは複数のASICもしくはFPGA、コンピュータ・システムと組み合わさってコンピュータ・システム５００を特殊目的機械にするまたはプログラムするファームウェアおよび／またはプログラム論理を使ってもよい。ある実施形態によれば、それらの技法は、プロセッサ５０４がメイン・メモリ５０６に含まれる一つまたは複数の命令の一つまたは複数のシーケンスを実行するのに応答して、コンピュータ・システム５００によって実行される。そのような命令は、記憶装置５１０のような別のコンピュータ可読媒体からメイン・メモリ５０６に読み込まれてもよい。メイン・メモリ５０６に含まれる命令のシーケンスの実行により、プロセッサ５０４は、本稿に記載されるプロセス段階を実行する。代替的な実施形態では、ソフトウェア命令の代わりにまたはソフトウェア命令と組み合わせて固定構成の回路が使用されてもよい。
【００６１】
本稿で用いられる用語「記憶媒体」は、機械に特定の仕方で動作させるデータおよび／または命令を記憶する任意の非一時的な媒体を指す。そのような記憶媒体は不揮発性媒体および／または揮発性媒体を含みうる。不揮発性媒体は、たとえば、記憶装置５１０のような光ディスク、磁気ディスクまたは半導体ドライブを含む。揮発性媒体は、メイン・メモリ５０６のような動的メモリを含む。記憶媒体の一般的な形は、たとえば、フロッピーディスク、フレキシブルディスク、半導体ドライブ、磁気テープまたは他の任意の磁気データ記憶媒体、CD-ROM、他の任意の光学式データ記憶媒体、穿孔パターンをもつ任意の物理的媒体、RAM、PROMおよびEPROM、フラッシュEPROM、NVRAM、他の任意のメモリ・チップまたはカートリッジを含む。
【００６２】
記憶媒体は、伝送媒体とは異なるが、伝送媒体との関連で使われてもよい。伝送媒体は記憶媒体の間で情報を転送することに参加する。たとえば、伝送媒体は、同軸ケーブル、銅線および光ファイバーを含み、バス５０２をなすワイヤを含む。伝送媒体は、音響波または光波、たとえば電波および赤外線データ通信の際に生成されるものの形を取ることもできる。
【００６３】
実行のためにプロセッサ５０４に一つまたは複数の命令の一つまたは複数のシーケンスを搬送することにおいて、さまざまな形の媒体が関わりうる。たとえば、命令は最初、リモート・コンピュータの磁気ディスクまたは半導体ドライブ上に担持されていてもよい。リモート・コンピュータは該命令をその動的メモリにロードし、該命令をモデムを使って電話線を通じて送ることができる。コンピュータ・システム５００にローカルなモデムが、電話線上のデータを受信し、赤外線送信器を使ってそのデータを赤外線信号に変換することができる。赤外線検出器が赤外線信号において担持されるデータを受信することができ、適切な回路がそのデータをバス５０２上に載せることができる。バス５０２はそのデータをメイン・メモリ５０６に搬送し、メイン・メモリ５０６から、プロセッサ５０４が該命令を取り出し、実行する。メイン・メモリ５０６によって受信される命令は、任意的に、プロセッサ５０４による実行の前または後に記憶装置５１０上に記憶されてもよい。
【００６４】
コンピュータ・システム５００は、バス５０２に結合された通信インターフェース５１８をも含む。通信インターフェース５１８は、ローカル・ネットワーク５２２に接続されているネットワーク・リンク５２０への双方向データ通信結合を提供する。たとえば、通信インターフェース５１８は、対応する型の電話線へのデータ通信接続を提供するための、統合サービス・デジタル通信網（ISDN）カード、ケーブル・モデム、衛星モデムまたはモデムであってもよい。もう一つの例として、通信インターフェース５１８は、互換LANへのデータ通信接続を提供するためのローカル・エリア・ネットワーク（LAN）カードであってもよい。無線リンクも実装されてもよい。そのようないかなる実装でも、通信インターフェース５１８は、さまざまな型の情報を表すデジタル・データ・ストリームを搬送する電気的、電磁的または光学的信号を送受信する。
【００６５】
ネットワーク・リンク５２０は典型的には、一つまたは複数のネットワークを通じた他のデータ装置へのデータ通信を提供する。たとえば、ネットワーク・リンク５２０は、ローカル・ネットワーク５２２を通じてホスト・コンピュータ５２４またはインターネット・サービス・プロバイダー（ISP）５２６によって運営されているデータ設備への接続を提供してもよい。ISP  ５２６は、現在一般に「インターネット」５２８と称される世界規模のパケット・データ通信網を通じたデータ通信サービスを提供する。ローカル・ネットワーク５２２およびインターネット５２８はいずれも、デジタル・データ・ストリームを担持する電気的、電磁的または光学的信号を使う。さまざまなネットワークを通じた信号ならびにネットワーク・リンク５２０上のおよび通信インターフェース５１８を通じた信号は、デジタル・データをコンピュータ・システム５００に／から搬送し、伝送媒体の例示的な形である。
【００６６】
コンピュータ・システム５００は、ネットワーク（単数または複数）、ネットワーク・リンク５２０および通信インターフェース５１８を通じて、メッセージを送り、プログラム・コードを含めデータを受信することができる。インターネットの例では、サーバー５３０は、インターネット５２８、ISP  ５２６、ローカル・ネットワーク５２２および通信インターフェース５１８を通じてアプリケーション・プログラムのための要求されたコードを送信してもよい。
【００６７】
受信されたコードは、受信される際にプロセッサ５０４によって実行されても、および／または、のちの実行のために記憶装置５１０または他の不揮発性記憶に記憶されてもよい。
【００６８】
以上の明細書では、本発明の実施形態について、実装によって変わりうる数多くの個別的詳細に言及しつつ述べてきた。よって、明細書および図面は制約する意味ではなく、例解するものとみなされるべきである。本発明および何が出願人によって本発明の範囲であると意図されているかの唯一にして排他的な指標は、この出願に対して付与される特許の一組の請求項の、その後の訂正があればそれも含めてかかる請求項が特許された特定の形のものの文字通りの範囲および等価な範囲である。
いくつかの態様を記載しておく。
〔態様１〕
インタラクティブ・ホワイトボード機器であって：
一つまたは複数のプロセッサと；
命令が具現されている非一時的なコンピュータ可読媒体とを有しており、前記命令は、前記一つまたは複数のプロセッサによって実行されたときに：
当該インタラクティブ・ホワイトボード機器での注釈ウィンドーの実行中に、ユーザーから受領される音声入力を検出する段階と；
前記音声入力の録音をオーディオ・パケットに格納する段階と；
前記オーディオ・パケットを発話‐テキスト・サービスに送信する段階と；
前記発話‐テキスト・サービスから前記音声入力の録音の文字起こしを含むコマンド・ストリングを受領する段階と；
コマンド・プロセッサ内の音声モード・コマンド処理を使って、前記コマンド・ストリングから、当該インタラクティブ・ホワイトボード機器によって実行可能な実行可能コマンドを識別する段階と；
当該インタラクティブ・ホワイトボード機器の前記アプリケーションに前記実行可能コマンドを実行させる段階と
の実行を引き起こすものである、インタラクティブ・ホワイトボード機器。
〔態様２〕
前記命令は、実行されたときにさらに：
インタラクティブ・ホワイトボード機器での前記注釈ウィンドーの実行中に、前記注釈ウィンドーにおいてユーザーからのスタイラス入力を検出する段階と；
前記コマンド・プロセッサ内のペン・モード・コマンド処理を使って、前記スタイラス入力から、追加的コマンドを識別する段階と；
当該インタラクティブ・ホワイトボード機器の前記アプリケーションに前記追加的コマンドを実行させる段階と
の実行を引き起こす、態様１記載のインタラクティブ・ホワイトボード機器。
〔態様３〕
前記音声入力を検出する段階が：
連続的なオーディオ・フィードを捕捉する連続聴取モードでマイクロフォンを動作させ；
前記連続的なオーディオ・フィードから前記音声入力を捕捉することを含む、
態様１記載のインタラクティブ・ホワイトボード機器。
〔態様４〕
前記音声入力を検出する段階が：
開始コマンド・モードにおいてマイクロフォンを動作させ；
開始コマンドを検出し；
前記開始コマンドの検出に応答して、その後のオーディオ・フィードから前記音声入力を捕捉することを含む、
態様１記載のインタラクティブ・ホワイトボード機器。
〔態様５〕
前記発話‐テキスト・サービスからコマンド・ストリングを受領する段階は：
当該インタラクティブ・ホワイトボード機器に関連付けられたクライアント装置を使って、当該インタラクティブ・ホワイトボード機器に関連付けられた前記クライアント装置のアプリケーションの実行中に、第二のユーザーからの第二の音声入力を検出し；
前記クライアント装置を使って、前記第二の音声入力の録音を第二のオーディオ・パケットに格納し；
前記クライアント装置を使って、前記第二のオーディオ・パケットを発話‐テキスト・サービスに送信することを含み、
前記命令は、実行されたときにさらに：
当該インタラクティブ・ホワイトボード機器において、前記発話‐テキスト・サービスから前記第二の音声入力の録音の文字起こしを含むコマンド・ストリングを受領する段階と；
当該インタラクティブ・ホワイトボード機器において、前記コマンド・プロセッサ内の音声モード・コマンド処理を使って、前記第二の音声入力の録音の前記文字起こしから、第二の実行可能コマンドを識別する段階と；
当該インタラクティブ・ホワイトボード機器において、当該インタラクティブ・ホワイトボード機器の前記アプリケーションに前記第二の実行可能コマンドを実行させる段階と
の実行を引き起こす、態様１記載のインタラクティブ・ホワイトボード機器。
〔態様６〕
前記クライアント装置は、前記モバイル装置上の前記アプリケーションを介してユーザーから受領される当該インタラクティブ・ホワイトボード機器の選択を使って、当該インタラクティブ・ホワイトボード機器に関連付けられる、態様５記載のインタラクティブ・ホワイトボード機器。
〔態様７〕
前記クライアント装置がモバイル装置を含む、態様５記載のインタラクティブ・ホワイトボード機器。
〔態様８〕
前記クライアント装置が別のインタラクティブ・ホワイトボード機器を含む、態様５記載のインタラクティブ・ホワイトボード機器。
〔態様９〕
前記オーディオ・パケットは、複数のインタラクティブ・ホワイトボード機器から当該インタラクティブ・ホワイトボード機器を識別する当該インタラクティブ・ホワイトボード機器の識別子を含む、態様１記載のインタラクティブ・ホワイトボード機器。
〔態様１０〕
前記オーディオ・パケットを発話‐テキスト・サービスに送信することは：
前記複数のインタラクティブ・ホワイトボード機器によって送信された、待ち行列に入れられた複数のオーディオ・パケットを格納するオーディオ・パケット待ち行列を介して、前記オーディオ・パケットを送信することを含む、
態様９記載のインタラクティブ・ホワイトボード機器。
〔態様１１〕
前記発話‐テキスト・サービスからコマンド・ストリングを受領する段階は：
前記複数のインタラクティブ・ホワイトボード機器に送られるべき、待ち行列に入れられた複数のコマンド・ストリングを格納するコマンド・ストリング待ち行列を介して、前記コマンド・ストリングを受領し；
前記オーディオ・パケットに含まれているインタラクティブ・ホワイトボード機器の前記識別子が、当該インタラクティブ・ホワイトボード機器の識別子に一致することを判別することを含む、
態様９記載のインタラクティブ・ホワイトボード機器。
〔態様１２〕
前記音声入力の録音の文字起こしから、前記実行可能コマンドを識別する段階は：
前記文字起こしから一つまたは複数のキャラクタを追加または除去することによって前記録音の文字起こしを修正して、修正された文字起こしを与え；
前記修正された文字起こしを実行可能コマンドにマッチさせることを含む、
態様１記載のインタラクティブ・ホワイトボード機器。
〔態様１３〕
当該インタラクティブ・ホワイトボード機器の前記アプリケーションに前記実行可能コマンドを実行させる段階は：
アプリケーション・プログラミング・インターフェース（API）を介して当該インタラクティブ・ホワイトボード機器のオペレーティング・システムに前記実行可能コマンドを通信することを含む、
態様１記載のインタラクティブ・ホワイトボード機器。
〔態様１４〕
前記発話‐テキスト・サービスは、当該インタラクティブ・ホワイトボード機器上で実装される、態様１記載のインタラクティブ・ホワイトボード機器。
〔態様１５〕
インタラクティブ・ホワイトボード機器での注釈ウィンドーの実行中に、ユーザーから受領される音声入力を検出する段階と；
前記音声入力の録音をオーディオ・パケットに格納する段階と；
前記オーディオ・パケットを発話‐テキスト・サービスに送信する段階と；
前記発話‐テキスト・サービスから前記音声入力の録音の文字起こしを含むコマンド・ストリングを受領する段階と；
コマンド・プロセッサ内の音声モード・コマンド処理を使って、前記コマンド・ストリングから、前記インタラクティブ・ホワイトボード機器によって実行可能な実行可能コマンドを識別する段階と；
前記インタラクティブ・ホワイトボード機器の前記アプリケーションに前記実行可能コマンドを実行させる段階とを含む、
方法。
〔態様１６〕
前記発話‐テキスト・サービスからコマンド・ストリングを受領する段階が：
前記インタラクティブ・ホワイトボード機器に関連付けられたクライアント装置を使って、前記インタラクティブ・ホワイトボード機器に関連付けられた前記クライアント装置のアプリケーションの実行中に、第二のユーザーからの第二の音声入力を検出し；
前記クライアント装置を使って、前記第二の音声入力の録音を第二のオーディオ・パケットに格納し；
前記クライアント装置を使って、前記第二のオーディオ・パケットを発話‐テキスト・サービスに送信することを含み、
前記命令は、実行されたときにさらに：
前記インタラクティブ・ホワイトボード機器において、前記発話‐テキスト・サービスから前記第二の音声入力の録音の文字起こしを含むコマンド・ストリングを受領する段階と；
前記インタラクティブ・ホワイトボード機器において、前記コマンド・プロセッサ内の音声モード・コマンド処理を使って、前記第二の音声入力の録音の前記文字起こしから、第二の実行可能コマンドを識別する段階と；
前記インタラクティブ・ホワイトボード機器において、前記インタラクティブ・ホワイトボード機器の前記アプリケーションに前記第二の実行可能コマンドを実行させる段階と
の実行を引き起こす、態様１５記載の方法。
〔態様１７〕
前記クライアント装置は、前記モバイル装置上の前記アプリケーションを介してユーザーから受領される前記インタラクティブ・ホワイトボード機器の選択を使って、前記インタラクティブ・ホワイトボード機器に関連付けられる、態様１６記載の方法。
〔態様１８〕
前記クライアント装置がモバイル装置を含む、態様１６記載の方法。
〔態様１９〕
前記クライアント装置が別のインタラクティブ・ホワイトボード機器を含む、態様１６記載の方法。
〔態様２０〕
命令が具現されている非一時的なコンピュータ可読媒体であって、前記命令は、一つまたは複数のプロセッサによって実行されたときに：
インタラクティブ・ホワイトボード機器での注釈ウィンドーの実行中に、ユーザーから受領される音声入力を検出する段階と；
前記音声入力の録音をオーディオ・パケットに格納する段階と；
前記オーディオ・パケットを発話‐テキスト・サービスに送信する段階と；
前記発話‐テキスト・サービスから前記音声入力の録音の文字起こしを含むコマンド・ストリングを受領する段階と；
コマンド・プロセッサ内の音声モード・コマンド処理を使って、前記コマンド・ストリングから、前記インタラクティブ・ホワイトボード機器によって実行可能な実行可能コマンドを識別する段階と；
前記インタラクティブ・ホワイトボード機器の前記アプリケーションに前記実行可能コマンドを実行させる段階と
の実行を引き起こすものである、媒体。
【符号の説明】
【００６９】
１００  環境
１０２  インタラクティブ・ホワイトボード機器
１０４  マイクロフォン
１０６  音声認識プロセッサ
１０８  コマンド・プロセッサ
１１０  クラウド
１１２  発話‐テキスト変換サービス
１１４  クライアント装置
１１６  インタラクティブ・ホワイトボード・アプリ
２００  システム
２０２  ホワイトボード注釈付けアプリケーション
２０４  オーディオ・パケット待ち行列マネージャ
２０６  オーディオ・パケット待ち行列
２０８  コマンド・ストリング待ち行列マネージャ
２１０  コマンド・ストリング待ち行列
２１２  音声モード・コマンド処理
２１４  ペン・モード・コマンド処理
２１６  インタラクティブ・ホワイトボードAPI
３０２  アプリケーションを実行
３０４  アプリケーションにおいて音声入力を検出
３０６  オーディオ・ファイルを生成
３０８  オーディオ・パケットを待ち行列に入れる
３１０  オーディオ・ファイルを文字起こししてコマンド・ストリングを生成
３１２  コマンド・ストリングを待ち行列に入れる
３１４  コマンド・ストリングからコマンドを識別
３１６  コマンドを実行
４０２、４０４、４０８、４１０  IWB機器
【図１】
2020009459.tif 000004
【図２】
2020009459.tif 000005
【図３】
2020009459.tif 000006
【図４】
2020009459.tif 000007
【図５】
2020009459.tif 000008