以下に添付図面を参照して本願に係る雑談検出装置、画像表示システム、雑談検出方法及び雑談検出プログラムについて説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
[プレゼンテーション支援装置が搭載する機能の一側面]
図1は、実施例1に係るプレゼンテーション支援装置の機能的構成を示すブロック図である。図1に示すプレゼンテーション支援装置10は、複数人によって同一の内容の文書、例えば進捗アジェンダやスライド資料などに関する文書に含まれるページ画面、例えばスライドのうち、話者により発話された音声から認識された単語に対応する部分をハイライト表示させるプレゼンテーション支援サービスを提供する。
ここで、以下では、あくまで一例として、上記のハイライト表示に関する機能がプレゼンテーションソフトにアドオンされる場合を想定し、当該プレゼンテーションソフトを用いて作成された文書ファイルが含む1または複数のスライドを表示装置5に表示させることによってプレゼンテーションが進行される場合を想定する。このスライドには、テキストや図形を始め、他のアプリケーションプログラムによって作成されたコンテンツをインポートすることができる。例えば、ワープロソフトで作成された文書、表計算ソフトで作成された表やグラフをインポートしたり、撮像装置で撮像された画像や動画、さらには、画像編集ソフトで編集された画像や動画などをインポートしたりすることができる。
プレゼンテーション支援装置10は、上記のプレゼンテーション支援サービスを実行するコンピュータである。
一実施形態として、プレゼンテーション支援装置10には、デスクトップ型またはノート型のパーソナルコンピュータなどの情報処理装置を採用することができる。この他、プレゼンテーション支援装置10には、上記のパーソナルコンピュータなどの据置き型の端末のみならず、各種の携帯端末装置を採用することもできる。例えば、携帯端末装置の一例として、スマートフォン、携帯電話機やPHS(Personal Handyphone System)などの移動体通信端末、さらには、PDA(Personal Digital Assistants)などのスレート端末などがその範疇に含まれる。
なお、本実施例では、あくまで一例として、プレゼンテーション支援装置10が上記のプレゼンテーションソフトを外部のリソースに依存せずに単独で実行するスタンドアローンで上記のプレゼンテーション支援サービスを提供する場合を想定する。詳細は後述するが、上記のプレゼンテーション支援サービスは、スタンドアローンで提供される実装に限定されない。例えば、プレゼンテーションソフトを実行するクライアント端末に対し、上記のプレゼンテーション支援サービスを提供するサーバ装置を設けることによってクライアントサーバシステムとして構築することもできる。この他、プレゼンテーションソフトをサーバ装置に実行させ、その実行結果をサーバ装置がクライアント端末へ伝送して表示させるシンクライアントシステムとして構築することもできる。
ここで、上記のプレゼンテーション支援装置10は、上記のプレゼンテーション支援サービスの一環として、発話音声からプレゼンテーションの進行から逸れる雑談中であるか否かを判定する雑談検出処理を実現する。
すなわち、プレゼンテーションの進行中には、スライド中の特定範囲、例えば行や段落などの局部に出現する単語が発話される頻度が高まる可能性が高い。一方、プレゼンテーションに関係のない話題が行われる場合、スライドに出現する単語が発話される頻度が低下し、プレゼンテーションに関連するがその進行から逸れる話題が行われる場合、発話される単語のスライド上の位置が局部に集中せずにランダムになる可能性が高い。
これらの知見の下、プレゼンテーション支援装置10は、過去の雑談検出の結果、所定期間に発話から音声認識された認識単語の数の変化、及び、認識単語のスライド中の位置のばらつき度合いの変化を用いて雑談中であるか否かを判定する。これによって、スライド資料や会議の議題とは関連があるが、プレゼンテーションの進行から逸れた話題を雑談と判定し、もって雑談中の発話に含まれる単語が誤って文書に対応付けられるのを抑制する。
[周辺機器]
図1に示すように、プレゼンテーション支援装置10には、マイク3と、表示装置5と、入力装置7とが接続される。これらマイク3、表示装置5及び入力装置7などの周辺機器と、プレゼンテーション支援装置10との間は、有線または無線により接続される。
マイク3は、音声を電気信号に変換する装置である。ここで言う「マイク」は、マイクロフォンの略称である。
例えば、マイク3は、話者、例えばプレゼンテーションを実施するプレゼンタに装着させることができる。この場合、ヘッドセット型やタイピン型のマイクをプレゼンタの身体や衣服の所定位置に装着させたり、ハンド型のマイクをプレゼンタに携帯させたりすることができる。また、マイク3は、プレゼンタの発話が集音できる範囲の所定位置に設置することもできる。この場合、マイク3には、取付け型や据置き型のマイクを採用することもできる。これらいずれの場合においても、マイク3には、任意のタイプの指向性を持つマイクを採用できるが、プレゼンタの発話以外の音声、例えば聴講者等の発話や騒音などの雑音が集音されるのを抑制するために、マイクの感度をプレゼンタの発声方向に限定することもできる。なお、マイク3には、ダイナミック型、エレクトレットコンデンサ型、コンデンサ型などの任意の変換方式を採用することができる。このマイク3に音声を採取することにより得られたアナログ信号は、デジタル信号へ変換された上でプレゼンテーション支援装置10へ入力される。
表示装置5は、各種の情報を表示する装置である。
例えば、表示装置5には、発光により表示を実現する液晶ディスプレイや有機EL(electroluminescence)ディスプレイなどを採用することもできるし、投影により表示を実現するプロジェクタを採用することもできる。また、表示装置5の設置台数は、必ずしも1台に限定されずともよく、複数の台数であってかまわない。以下では、一例として、プレゼンテーションの参加者であるプレゼンタ及び聴講者の両者が閲覧する共用の表示装置としてプロジェクタ及びプロジェクタが投影する画像を映すスクリーンが実装される場合を想定する。
この表示装置5は、一例として、プレゼンテーション支援装置10からの指示にしたがってプレゼンテーション画面を表示する。例えば、表示装置5は、プレゼンテーション支援装置10のプロセッサ上で動作するプレゼンテーションソフトが開く文書ファイルのスライドを表示する。このとき、表示装置5には、文書ファイルに含まれるスライドを自動または手動により切り替えて表示させることができる。例えば、プレゼンタが入力装置7を介して指定する任意のスライドを表示させることもできるし、プレゼンテーションソフトが有するスライドショーの機能がON状態に設定された場合、各スライドが作成されたページ順に文書ファイルが含むスライドを切り替えて表示させることもできる。
入力装置7は、各種の情報に対する指示入力を受け付ける装置である。
例えば、表示装置5がプロジェクタとして実装される場合、スクリーンに映し出されたスライド上の位置を指し示すレーザポインタを入力装置7として実装することができる。すなわち、レーザポインタの中には、スライドのページを進めたり、戻したりする各種のボタンなどの操作部が設けられたリモコン機能付きのレーザポインタも存在する。このリモコン機能付きのレーザポインタが有する操作部を入力装置7として援用することもできる。この他、マウスやキーボードを入力装置7として採用したり、レーザポインタによって指し示されたポインタの位置のセンシング、プレゼンタの視線検出やジェスチャ認識を行うためにスクリーンまたはプレゼンタの所定の部位が撮像された画像を入力する画像センサを入力装置7として採用したりすることもできる。なお、表示装置5が液晶ディスプレイとして実装される場合、入力装置7には、液晶ディスプレイ上に貼り合わせられたタッチセンサを採用することもできる。
この入力装置7は、一例として、プレゼンテーション支援装置10のプロセッサ上でプレゼンテーションソフトに実行させる文書ファイルの指定、スライドのページを進める操作やスライドのページを戻す操作などを受け付ける。このように入力装置7を介して受け付けられる操作は、プレゼンテーション支援装置10へ出力されることになる。
[プレゼンテーション支援装置10の構成]
続いて、本実施例に係るプレゼンテーション支援装置10の機能的構成について説明する。図1に示すように、プレゼンテーション支援装置10は、入出力I/F(InterFace)部11と、記憶部13と、制御部15とを有する。なお、図1には、データの入出力の関係を表す実線が示されているが、図1には、説明の便宜上、最小限の部分について示されているに過ぎない。すなわち、各処理部に関するデータの入出力は、図示の例に限定されず、図示以外のデータの入出力、例えば処理部及び処理部の間、処理部及びデータの間、並びに、処理部及び外部装置の間のデータの入出力が行われることとしてもかまわない。
入出力I/F部11は、マイク3、表示装置5及び入力装置7などの周辺機器との間で入出力を行うインタフェースである。
一側面として、入出力I/F部11は、入力装置7から入力された各種の操作を制御部15へ出力する。また、入出力I/F部11は、制御部15から出力されたスライドの画像データを表示装置5へ出力したり、スライドに含まれる領域に対するハイライト指示またはそのキャンセル指示を表示装置5へ出力したりする。また、入出力I/F部11は、マイク3から入力された音声データを制御部15へ出力する。
記憶部13は、制御部15で実行されるOS(Operating System)やプレゼンテーションソフトを始め、アプリケーションプログラムなどの各種プログラムに用いられるデータを記憶するデバイスである。
一実施形態として、記憶部13は、プレゼンテーション支援装置10における主記憶装置として実装される。例えば、記憶部13には、各種の半導体メモリ素子、例えばRAM(Random Access Memory)やフラッシュメモリを採用できる。また、記憶部13は、補助記憶装置として実装することもできる。この場合、HDD(Hard Disk Drive)、光ディスクやSSD(Solid State Drive)などを採用できる。
記憶部13は、制御部15で実行されるプログラムに用いられるデータの一例として、文書データ13a、抽出単語データ13b、認識単語データ13c及び判定履歴データ13dを記憶する。これらのデータ以外にも、記憶部13には、他の電子データ、例えばハイライト表示に関する定義データなども併せて記憶することもできる。なお、上記の文書データ13a以外の抽出単語データ13b、認識単語データ13c及び判定履歴データ13dは、各データの登録または参照を行う処理部の説明に合わせて説明を行うこととする。
文書データ13aは、文書に関するデータである。
一実施形態として、文書データ13aには、プレゼンテーションソフトを用いて1または複数のスライドが作成された文書ファイルを採用できる。かかるスライドには、テキストや図形を始め、他のアプリケーションプログラムによって作成されたコンテンツをインポートすることができる。例えば、ワープロソフトで作成された文書、表計算ソフトで作成された表やグラフをインポートしたり、撮像デバイスで撮像された画像や動画、さらには、画像編集ソフトで編集された画像や動画などをインポートしたりすることができる。このように、テキスト以外のコンテンツには、音声認識によるキーワード検索を実現するために、プレゼンテーションの開始前までに当該コンテンツの説明語句や説明文などの文字列を含むメタ情報を付与しておくことができる。
制御部15は、各種のプログラムや制御データを格納する内部メモリを有し、これらによって種々の処理を実行するものである。
一実施形態として、制御部15は、中央処理装置、いわゆるCPU(Central Processing Unit)として実装される。制御部15は、必ずしも中央処理装置として実装されずともよく、MPU(Micro Processing Unit)やDSP(Digital Signal Processor)として実装されることとしてもよい。このように、制御部15は、プロセッサとして実装されればよく、その種別が汎用型または特化型であるかは問われない。また、制御部15は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。
制御部15は、各種のプログラムを実行することによって下記の処理部を仮想的に実現する。例えば、制御部15は、図1に示すように、抽出部15aと、認識部15bと、算出部15cと、判定部15dと、表示制御部15eとを有する。
抽出部15aは、文書ファイルに含まれるスライドから音声認識で用いる辞書データに登録する単語を抽出単語データ13bとして抽出する処理部である。
一実施形態として、抽出部15aは、上記の抽出単語データ13bを抽出する処理を自動的に開始することもできるし、手動設定で開始することもできる。例えば、自動的に開始する場合、プレゼンテーションソフトが文書ファイルを記憶部13に保存した上で閉じる場合、あるいはプレゼンテーションを介する文書ファイルの編集中に文書ファイルが記憶部13に保存された場合に、処理を起動させることができる。また、手動設定で開始する場合、入力装置7を介してプレゼンテーションの前処理の実行指示を受け付けた場合に、処理を起動させることができる。いずれの場合においても、記憶部13に記憶された文書データ13aが含む文書ファイルのうち、保存または実行指示に対応する文書ファイルを読み出すことによって処理が開始される。
抽出単語データ13bの生成について説明すると、抽出部15aは、記憶部13に記憶された文書データ13aが含む文書ファイルのうち保存が実行された文書ファイルあるいはプレゼンテーションの前処理の実行指示を受け付けた文書ファイルを読み出す。ここでは、一例として、抽出部15aが記憶部13から文書ファイルを読み出す場合を例示したが、文書ファイルの入手経路はこれに限定されない。例えば、抽出部15aは、ハードディスクや光ディスクなどの補助記憶装置またはメモリカードやUSB(Universal Serial Bus)メモリなどのリムーバブルメディアから文書ファイルを取得することもできる。また、抽出部15aは、外部装置からネットワークを介して受信することによって文書ファイルを取得することもできる。
続いて、抽出部15aは、先に読み出した文書ファイルに含まれるスライドを複数の領域へ分割する。例えば、抽出部15aは、一文、行、段落などの単位でスライドを分割する。この場合、抽出部15aは、スライドが含む文字列を走査して、スペース、句点または改行に対応する区切り文字を検出し、当該区切り文字を領域の境界に設定する。かかる境界を前後に、抽出部15aは、スライドが含む文字列を区切る。これによって、スライドが複数の領域へ区切り文字ごとに分割される。その上で、抽出部15aは、スライドの分割によって得られた領域に当該領域を識別するインデックスを割り当てる。なお、ここでは、スライドを自動的に分割する場合を例示したが、入力装置7等を介して領域の境界を指定させることによってスライドを手動設定で分割することとしてもかまわない。
スライドの分割後に、抽出部15aは、当該スライドに含まれる複数の領域のうち領域を1つ選択する。続いて、抽出部15aは、先に選択された領域が含む文字列に対し、自然言語処理を実行することによって単語を抽出する。例えば、抽出部15aは、領域内の文字列に形態素解析等を実行することにより得られた形態素のうち品詞が名詞である単語や、文節を形成する単語などを抽出する。そして、抽出部15aは、先に抽出された単語ごとに当該単語が含まれる領域に割り当てられたインデックスを付与する。その後、抽出部15aは、スライドが含む領域が全て選択されるまで上記の単語の抽出及び上記のインデックスの付与を繰返し実行する。
このようにして全ての領域から単語が抽出された後に、抽出部15aは、スライドに含まれる単語ごとに当該単語kの文書中の出現回数を算出する。かかる文書中の出現回数は、一例として、単語kが文書中に出現する回数を集計することによって算出される。その上で、抽出部15aは、単語k、インデックスidx及び単語kの文書中の出現回数が対応付けられた抽出単語データ13bを記憶部13へ登録する。
認識部15bは、音声認識を実行する処理部である。
一実施形態として、認識部15bは、プレゼンテーションソフトが文書ファイルを開いた状態でプレゼンテーションの開始指示を受け付けた場合に起動し、マイク3から所定時間長の音声信号が入力されるまで待機する。例えば、少なくとも1フレーム分の時間長、例えば10msecの音声信号が入力されるのを待機する。そして、認識部15bは、マイク3から所定時間長の音声信号が入力される度に、当該音声信号が入力された時点から遡って過去の一定期間における音声信号にワードスポッティングなどの音声認識を実行する。このとき、認識部15bは、記憶部13に記憶された抽出単語データ13bのうちプレゼンテーションソフトが実行中である文書ファイルが含むスライドであり、かつ表示装置5に表示中であるスライドに関する抽出単語データ13bをワードスポッティングに適用する。これによって、認識部15bは、プレゼンタ等の話者による発話の中に表示中のスライドに含まれる各領域から抽出された単語が存在するか否かを認識する。そして、認識部15bは、音声信号から単語の読みが認識された場合、当該単語及びその単語が認識された時間が対応付けられた認識単語データ13cを記憶部13へ登録する。なお、同一の単語が時間経過に伴って複数回にわたって認識される場合には、最後、すなわち最新に認識された時刻が記憶部13へ登録される。
その後、認識部15bは、記憶部13に記憶された認識単語データ13cのうち記憶部13へ登録されてから所定の期間が経過した単語が存在するか否かを判定する。例えば、認識部15bは、認識単語データ13cに含まれる単語ごとに、当該単語に対応付けて登録された時間と、認識部15bが認識単語データ13cを参照する時間、すなわち現時間との差が所定の閾値を超過するか否かを判定する。このとき、認識部15bは、スライドが分割された単位、例えば一文、行や段落などによって上記の判定に用いる閾値を変えることができる。例えば、スライドが行単位で分割される場合、1つの領域で読み上げられる文字数はおよそ20〜30文字であると想定できる。この場合、上記の閾値の一例として、説明音声の平均的な読み上げ速度である、7拍/秒〜8拍/秒から読み上げに必要な時間を計算して、3秒を用いることができる。また、スライドが段落単位で分割される場合、行単位よりも長い時間が読み上げに割かれると想定できる。この場合、上記の閾値の一例として、行数×3秒を用いることができる。なお、以下では、あくまで一例として、スライドが段落単位の領域に分割される場合を想定して説明を行う。
ここで、記憶部13へ登録されてから所定の期間、例えば行数×3秒間が経過した単語が存在する場合、当該単語を含むスライドの領域に関する説明が終了している可能性が高まる。このような単語を残しておくと、説明が終了している領域がハイライトで表示される可能性も高まる。よって、認識部15bは、記憶部13に記憶された認識単語データ13cから当該単語に関するレコードを削除する。一方、記憶部13へ登録されてから所定の期間が経過した単語が存在しない場合、認識単語データ13cに含まれる単語が出現するスライドの領域に関する説明が終了していない可能性が高まる。よって、認識部15bは、記憶部13に記憶された認識単語データ13cに含まれる単語を削除せずにそのまま残す。
また、認識部15bは、表示装置5に表示されるスライドのページが変更されたか否かを判定する。例えば、認識部15bは、スライドショーによりスライドが切り替えられたり、入力装置7を介してスライドのページを進める操作またはスライドのページを戻す操作を受け付けたりしたかを判定する。このとき、表示装置5に表示されるスライドのページが変更された場合、プレゼンタ等の話者による説明も変更前のページのスライドから変更後のページのスライドへ切り替わった可能性が高い。この場合、認識部15bは、記憶部13に記憶された認識単語データ13cを削除する。一方、表示装置5に表示されるスライドのページが変更されていない場合、話者が説明するページにも変りがない可能性が高い。この場合、認識部15bは、記憶部13に記憶された認識単語データ13cに含まれる単語を削除せずにそのまま残す。
これら一連の動作により、認識部15bは、表示中であるスライドの中でプレゼンタが説明中である可能性が高い単語を認識する。以下では、抽出単語データ13bに含まれる単語のことを「抽出単語」と記載すると共に、認識単語データ13cに含まれる単語のことを「認識単語」と記載し、互いのラベルを区別する場合がある。
算出部15cは、上記の雑談検出処理に用いるパラメータを算出する処理部である。
一実施形態として、算出部15cは、記憶部13に記憶された認識単語データ13cを参照する。そして、算出部15cは、認識単語データ13cを参照する時点から過去の所定の期間に音声認識により得られた認識単語の数を算出する。ここで言う「所定の期間」には、一例として、スライド上に含まれる1つの領域内の表音文字列、例えば1段落や1行に含まれる表音文字列が読み上げられる時間と同等もしくはそれよりも短い時間を設定できる。この「所定の期間」には、標準的な話速、例えば4〜6モーラを基準に設定することもできるし、認識部15b等が実行する音声認識エンジンにより測定される話速を用いて設定することができる。ここで言う「話速」とは、一例として、単位時間あたりに発話されたモーラ数を指す。このように話速を用いて設定が行われる場合、話速が早いほど上記の「所定の期間」を短く設定し、話速が遅いほど上記の「所定の期間」を長く設定することとすればよい。なお、以下では、認識単語データ13cを参照する時点から過去の所定の期間に音声認識により得られた認識単語の数のことを「認識単語数」と略記する場合がある。
さらに、算出部15cは、認識単語データ13cを参照する時点から過去の所定の期間に音声認識により得られた認識単語がスライド上で分布する位置のばらつきを算出する。以下では、認識単語がスライド上で分布する位置のばらつきのことを「認識単語の分散」と記載する場合がある。
図2を用いて、認識単語数および認識単語の分散の算出方法の一例について説明する。図2は、スライドの模式図の一例を示す図である。図2には、領域E1、領域E2、領域E3及び領域E4の4つの領域を含むスライド400が示されている。図2に示すスライド400には、各領域E1〜E4に含まれる抽出単語のうち過去の所定の期間に音声認識により得られた認識単語が抜粋して示されている。例えば、領域E1には、認識単語Wa、認識単語Wb、認識単語Wc、認識単語Wdの4つの認識単語が含まれる。領域E2及び領域E3には、1つの認識単語Waが含まれる。領域E4には、認識単語が1つも含まれない。
図2に示す状況である場合、算出部15cは、認識単語数を「4」と算出する。このようにスライド400上で複数の領域にまたがって出現する単語Waは重複して計上されない。また、算出部15cは、4つの認識単語、すなわち認識単語Wa、認識単語Wb、認識単語Wc、認識単語Wdに重みを設定する。例えば、算出部15cは、スライド上で認識単語が存在する領域数の逆数を各認識単語の重みとして設定できる。つまり、認識単語Waは、領域E1〜E3の3つの領域に出現するので、「1/3」が重みとして設定される。また、認識単語Wb、認識単語Wcおよび認識単語Wdは、領域E1にしか出現しないので、「1」が重みとして設定される。その上で、算出部15cは、各領域の重み付きの認識単語数を求める。例えば、領域E1には、重みが「1/3」である認識単語Waが1つ含まれると共に、重みが「1」である認識単語Wb、Wc及びWdが3つ含まれるので、「1/3+1×3」の計算により重み付きの認識単語数が「10/3」と算出される。また、領域E2及び領域E3には、重みが「1/3」である認識単語Waが1つ含まれるので、重み付きの認識単語数が「1/3」と算出される。また、領域E4には、認識単語が含まれないので、重み付きの認識単語数が「0」と算出される。このような重み付きの認識単語数を用いて、算出部15cは、認識単語の分散を算出する。例えば、算出部15cは、重み付きの認識単語数が最も多い領域における重み付きの認識単語数を全認識単語数で除算した除算値を正規化することにより、認識単語の分散を算出する。図2の例で言えば、重み付きの認識単語数が最高である領域は領域E1である。したがって、領域E1における重み付きの認識単語数「10/3」を全認識単語数「4」で除算し、その除算値「10/12」を1から減算することにより、認識単語の分散を「1/6」と算出する。
このように、認識単語の分散の算出時に認識単語数に重みを付与するのは、1つの認識単語がスライド上の複数の領域にまたがって出現する場合に当該認識単語の重みを複数の領域にまたがらない認識単語の重みよりも下げるためである。これにより、同一の認識単語が複数の領域にまたがって分布する場合よりも異なる認識単語が別々の領域に分布する場合の方が認識単語の分散を高く算出できる結果、スライド上の複数の領域にまたがって分布する頻出単語が認識単語に含まれる場合に当該頻出単語によって認識単語の分散が過度に高く算出されるのを抑制できる。
また、認識単語の分散の算出時に重み付きの認識単語数をスライド内の総領域数でなく全認識単語数「4」で除算することとしたのは、少数の領域などの局所に多くの認識単語が集中する場合に認識単語の分散を低く算出できるようにするためである。
図3は、スライドの模式図の一例を示す図である。図3には、領域E5、領域E6、領域E7及び領域E8の4つの領域を含むスライド600が示されている。図3に示すスライド600には、各領域E5〜E8に含まれる抽出単語のうち過去の所定の期間に音声認識により得られた認識単語が抜粋して示されている。例えば、領域E5には、認識単語Wa及び認識単語Wbの2つの認識単語が含まれる。領域E6及び領域E7には、1つの認識単語Waが含まれる。領域E8には、認識単語が1つも含まれない。図3に示す状況である場合、算出部15cは、認識単語数を「2」と算出する。また、算出部15cは、2つの認識単語、すなわち認識単語Wa、認識単語Wbに重みを設定する。図3の例で言えば、認識単語Waは、領域E5〜E7の3つの領域に出現するので、「1/3」が重みとして設定される一方で、認識単語Wbは、領域E5にしか出現しないので、「1」が重みとして設定される。その上で、算出部15cは、各領域の重み付きの認識単語数を求める。例えば、領域E5には、重みが「1/3」である認識単語Waが1つ含まれると共に、重みが「1」である認識単語Wbが1つ含まれるので、「1/3+1」の計算により重み付きの認識単語数が「4/3」と算出される。また、領域E6及び領域E7には、重みが「1/3」である認識単語Waが1つ含まれるので、重み付きの認識単語数が「1/3」と算出される。また、領域E8には、認識単語が含まれないので、重み付きの認識単語数が「0」と算出される。この結果、認識単語の分散は、領域E5における重み付きの認識単語数「4/3」を全認識単語数「2」で除算し、その除算値「2/3」を1から減算することにより、認識単語の分散を「1/3」と算出する。図2の例では、認識単語の分散が「1/6」と算出される一方で、図3の例では、認識単語の分散が「1/3」と算出される。この結果が示す通り、図3に示す例よりも領域E1に多くの認識単語が集中する図2の例の方が認識単語の分散を低く算出することができることがわかる。
これら認識単語数および認識単語の分散が算出された後、算出部15cは、認識単語数の変化と、認識単語の分散の変化とを算出する。例えば、算出部15cは、今回の雑談検出で算出された認識単語数と、認識単語の分散と、今回の雑談検出よりも以前の雑談検出、例えば直前の雑談検出で算出された認識単語数と、認識単語の分散との間で変化率を算出する。この場合、算出部15cは、1回前の雑談検出で算出された認識単語数と、認識単語の分散とが保存された図示しない内部メモリを参照することにより、認識単語数の変化率と、認識単語の変化率を算出できる。例えば、算出部15cは、今回の雑談検出で算出された認識単語数を1回前の雑談検出で算出された認識単語数で除算することにより認識単語数の変化率を算出すると共に、今回の雑談検出で算出された認識単語の分散を1回前の雑談検出で算出された認識単語の分散で除算することにより認識単語の分散の変化率を算出する。なお、ここでは、割合の計算により変化率を算出する場合を例示したが、今回の雑談検出で算出された認識単語数と1回前の雑談検出で算出された認識単語数との差を認識単語数の変化として算出すると共に、今回の雑談検出で算出された認識単語の分散と1回前の雑談検出で算出された認識単語の分散との差を認識単語の分散の変化として算出することもできる。
このように、算出部15cは、上記の雑談検出処理に用いるパラメータとして、認識単語数の変化率及び認識単語の分散の変化率を算出する。なお、算出部15cは、第1算出部および第2算出部の一例である。この算出部15cは、認識単語数を算出する第1算出部と、認識単語の分散を算出する第2算出部とに分けることもできる。
判定部15dは、雑談中であるか否かを判定する処理部である。
一実施形態として、判定部15dは、過去の雑談検出の結果、認識単語数の変化率及び認識単語の分散の変化率に基づいて雑談中であるか否かを判定する。これらのうち、過去の雑談検出の結果は、記憶部13に判定履歴データ13dとして記憶される。例えば、判定履歴データ13dとして、今回の雑談検出よりも以前、例えば直前の1回前に判定部15dにより判定された結果、すなわち「雑談中」または「プレゼンテーション進行中」が記憶部13に記憶される。
ここで、判定部15dは、直前の雑談検出の結果が「雑談中」または「プレゼンテーション進行中」のいずれであるかにより、以下に説明する通り、判定ロジックを変えて雑談検出を実行する。
例えば、直前の雑談検出の結果が「プレゼンテーション進行中」である場合、判定部15dは、認識単語数の変化率が所定の閾値Th1、例えば「0.5」以下であるか否かを判定する。このとき、認識単語数の変化率が閾値Th1以下でない場合、判定部15dは、認識単語の分散が所定の閾値Th2、例えば「0.8」以上であるか否かを判定する。ここで、認識単語数の変化率が閾値Th1以下でない場合、かつ認識単語の分散が閾値Th2以上でない場合、スライド中の特定範囲、例えば行や段落などの局部に出現する単語が集中して発話されている状況であると推定できる。この場合、判定部15dは、「プレゼンテーション進行中」であると判定する。一方、認識単語数の変化率が閾値Th1以下である場合、あるいは認識単語の分散が閾値Th2以上である場合、発話される単語のスライド上の位置が局部に集中せずにランダムに分布している可能性が高いと推定できる。この場合、判定部15dは、「雑談中」であると判定する。
一方、直前の雑談検出の結果が「雑談中」である場合、判定部15dは、認識単語数の変化率が所定の閾値Th3、例えば「0.8」以上であるか否かを判定する。このとき、認識単語数の変化率が閾値Th3以上である場合、判定部15dは、認識単語の分散が所定の閾値Th4、例えば「0.5」以下であるか否かを判定する。ここで、認識単語数の変化率が閾値Th3以上である場合、かつ認識単語の分散が閾値Th4以下である場合、スライド中の特定範囲、例えば行や段落などの局部に出現する単語が集中して発話されている状況であると推定できる。この場合、判定部15dは、「プレゼンテーション進行中」であると判定する。一方、認識単語数の変化率が閾値Th3以上でない場合、あるいは認識単語の分散が閾値Th4以下でない場合、発話される単語のスライド上の位置が局部に集中せずにランダムに分布している可能性が高いと推定できる。この場合、判定部15dは、「雑談中」であると判定する。
表示制御部15eは、表示装置5に対する表示制御を実行する処理部である。なお、ここでは、表示制御部15eが実行する表示制御のうち、スライドに関する表示制御と、ハイライトに関する表示制御と、話者の説明箇所の推定方法との一側面について説明する。
[スライドの表示制御]
一側面として、表示制御部15eは、プレゼンテーションソフトにより文書ファイルが開かれた場合、当該文書ファイルが含むスライドを表示装置5に表示させる。このとき、表示制御部15eは、文書ファイルが含むスライドのうち最初のページのスライドを表示させることとしてもよいし、最後に編集が行われたページのスライドを表示させることとしてもよい。その後、表示制御部15eは、入力装置7を介してページの切替え指示を受け付けた場合、表示装置5に表示させるスライドを変更する。例えば、ページを進める操作を受け付けた場合、表示制御部15eは、表示中のスライドの次ページのスライドを表示装置5に表示させる。また、ページを戻る操作を受け付けた場合、表示制御部15eは、表示中のスライドの前ページのスライドを表示装置5に表示させる。
[ハイライトの表示制御]
他の一側面として、表示制御部15eは、プレゼンテーションの開始指示を受け付けてからプレゼンテーションの終了指示を受け付けるまで下記の処理を繰り返し実行する。すなわち、表示制御部15eは、既存の任意の方法により、認識単語とスライド上の領域とを対応付け、認識単語と対応付けられた領域を話者の説明箇所と推定し、当該領域のハイライト表示を実行する。ここで言う「ハイライト表示」は、狭義のハイライト表示、すなわち背景色を明るくしたり、反転したりする表示制御に留まらず、広義のハイライト表示を意味する。例えば、説明箇所の囲み表示、説明箇所の塗りつぶしの強調、フォント(フォントサイズ、下線や斜体)の強調などのように、強調表示の全般を任意に実行することができる。なお、ハイライト表示は、入力装置7を介してキャンセル操作を受け付けた場合に通常表示へ戻すこととしてもかまわない。また、当然のことながら、いずれの領域も説明箇所として出力されない場合には、表示中のスライド上でハイライト表示は実行されない。
ここで、表示制御部15eは、判定部15dによる雑談検出の結果が「プレゼンテーション進行中」である場合に絞って上記のハイライト表示を実行する。すなわち、表示制御部15eは、雑談検出の結果が「雑談中」である場合には、上記のハイライト表示は実行されず、ハイライト表示が実行中である場合には、実行中のハイライト表示をキャンセルする。これによって、雑談中の発話に含まれる単語が誤って文書に対応付けられるのを抑制できる。
[説明箇所の推定方法の一例]
他の一側面として、表示制御部15eは、判定部15dによる雑談検出の結果が「プレゼンテーション進行中」である場合、表示装置5に表示中であるスライドが含む領域のインデックスのうちインデックスを1つ選択する。続いて、表示制御部15eは、認識単語データ13cに含まれる認識単語のうち先に選択されたインデックスの領域に含まれる認識単語を抽出する。このとき、抽出単語データ13bを参照することにより、単語kの文書中の出現回数を取得することができる。その上で、表示制御部15eは、認識単語xの文書中の出現回数f(x)、認識単語xのモーラ数m(x)、認識結果の確からしさc(x)を用いて、認識単語xの単語スコアs(x)を算出する。ここで言う「確からしさ」とは、認識結果が単語の標準モデルに含まれる各音素のスペクトラムとの間でどれだけ類似しているかを表し、例えば、完全に一致している場合には、その値が1.0となる。
より具体的には、表示制御部15eは、下記の式(1)に上記の認識単語xの文書中の出現回数f(x)、xのモーラ数m(x)及び認識結果の確からしさc(x)などのパラメータを代入することにより、認識単語xの単語スコアs(x)を計算する。ここで、min(a,b)は、a及びbのうち値が小さい方を出力する関数を指し、また、Mは、定数とし、例えば、6などが採用される。その後、表示制御部15eは、領域dに含まれる認識単語ごとに単語スコアs(x)を算出した上で全ての認識単語の単語スコアを合計することにより、ハイライトスコアS(d)を算出する。なお、下記の式(1)では、認識単語xの単語スコアs(x)を算出するのに、認識単語xの文書中の出現回数f(x)、認識単語xのモーラ数m(x)及び認識結果の確からしさc(x)の3つのパラメータを用いる例を説明したが、これらのうち任意のパラメータだけを使っても良いし、また、求め方もこれに限るものではない。
s(x)=1/f(x)×min(1.0,m(x)/M)×c(x)・・・(1)
その後、表示制御部15eは、先に算出されたハイライトスコアの中に上記の閾値Th5以上であるハイライトスコアを持つ領域が存在する場合、次のようにしてハイライト表示を実行する領域を決定する。例えば、表示制御部15eは、ハイライト表示が実行中でない場合には、最高スコアを持つ領域に関するハイライト表示の実行を決定する。一方、表示制御部15eは、ハイライト表示が実行中である場合、最高スコアが算出された領域とハイライト表示が実行中である領域とが同一であるならば、実行中のハイライト表示を維持し、最高スコアが算出された領域とハイライト表示が実行中である領域とが異なるならば、最高スコアが算出された領域をハイライト表示の対象と決定する。
[処理の流れ]
次に、本実施例に係るプレゼンテーション支援装置10の処理の流れについて説明する。なお、ここでは、プレゼンテーション支援装置10によって実行される(1)抽出単語データの生成処理、(2)音声認識処理、(3)雑談検出処理の順に説明することとする。
(1)抽出単語データの生成処理
図4は、実施例1に係る抽出単語データの生成処理の手順を示すフローチャートである。この処理は、自動的に開始することもできるし、手動設定で開始することもできる。例えば、自動的に開始する場合、プレゼンテーションソフトが文書ファイルを記憶部13に保存した上で閉じる場合、あるいはプレゼンテーションを介する文書ファイルの編集中に文書ファイルが記憶部13に保存された場合に、処理を起動させることができる。また、手動設定で開始する場合、入力装置7を介してプレゼンテーションの前処理の実行指示を受け付けた場合に、処理を起動させることができる。いずれの場合においても、記憶部13に記憶された文書データ13aが含む文書ファイルのうち、保存または前処理の実行指示に対応する文書ファイルを読み出すことによって処理が開始される。
図4に示すように、抽出部15aは、文書ファイルに含まれるスライドを一文、行または段落などの単位で複数の領域へ分割する(ステップS101)。続いて、抽出部15aは、ステップS101で得られた領域に各領域を識別するインデックスを割り当てる(ステップS102)。
そして、抽出部15aは、ステップS102で割り当てられたインデックスのうちインデックスを1つ選択する(ステップS103)。続いて、抽出部15aは、ステップS103で選択されたインデックスの領域内の文字列に形態素解析等を実行することにより得られた形態素のうち品詞が名詞である単語を抽出する(ステップS104)。その後、抽出部15aは、ステップS104で抽出された各単語に当該単語が含まれる領域に割り当てられたインデックスを付与する(ステップS105)。
そして、抽出部15aは、ステップS102で割り当てられたインデックスが全て選択されるまで(ステップS106No)、上記のステップS103〜ステップS105までの処理を繰返し実行する。
その後、ステップS102で割り当てられたインデックスが全て選択された場合(ステップS106Yes)、抽出部15aは、スライドに含まれる単語ごとに当該単語kの出現頻度fkを算出する(ステップS107)。そして、抽出部15aは、ステップS107で単語別に算出された出現頻度fkに対応する単語の重みwkを付与する(ステップS108)。その上で、抽出部15aは、単語k、インデックスidx及び重みwkが対応付けられた抽出単語データ13bを記憶部13へ登録し(ステップS109)、処理を終了する。
(2)音声認識処理
図5は、実施例1に係る音声認識処理の手順を示すフローチャートである。この処理は、プレゼンテーションソフトが文書ファイルを開いた状態でプレゼンテーションの開始指示を受け付けた場合に起動し、プレゼンテーションの終了指示を受け付けるまで繰返し実行される。
図5に示すように、認識部15bは、マイク3から所定時間長の音声信号が入力されるまで、例えば少なくとも1フレーム分の時間長、例えば10msecの音声信号が入力されるまで待機する(ステップS301)。
そして、マイク3から所定時間長の音声信号が入力されると(ステップS301Yes)、認識部15bは、当該音声信号にワードスポッティングなどの音声認識を実行する(ステップS302)。かかるステップS302でワードスポッティングが実行される場合には、記憶部13に記憶された抽出単語データ13bのうちプレゼンテーションソフトが実行中である文書ファイルが含むスライドであり、かつ表示装置5に表示中であるスライドに関する抽出単語データが音声認識用の辞書データとして適用される。
このとき、音声信号から単語が認識された場合(ステップS303Yes)、認識部15bは、ステップS302で認識された単語及びその単語が認識された時間が対応付けられた認識単語データ13cを記憶部13へ登録し(ステップS304)、ステップS305の処理へ移行する。
一方、マイク3から所定時間長の音声信号が入力されていない場合、あるいは音声信号から単語が認識されなかった場合(ステップS301NoまたはステップS303No)、以降の処理を飛ばしてステップS305の処理へ移行する。
ここで、認識部15bは、記憶部13に記憶された認識単語データ13cのうち記憶部13へ登録されてから所定の期間が経過した単語が存在するか否かを判定する(ステップS305)。そして、記憶部13へ登録されてから所定の期間が経過した単語が存在する場合(ステップS305Yes)、認識部15bは、記憶部13に記憶された認識単語データ13cから当該単語に関するレコードを削除する(ステップS306)。なお、記憶部13へ登録されてから所定の期間が経過した単語が存在しない場合(ステップS305No)には、ステップS306の処理を飛ばしてステップS307の処理へ移行する。
その後、認識部15bは、表示装置5に表示されるスライドのページが変更されたか否かを判定する(ステップS307)。このとき、表示装置5に表示されるスライドのページが変更された場合(ステップS307Yes)、認識部15bは、記憶部13に記憶された認識単語データ13cを削除し(ステップS308)、ステップS301の処理へ戻り、上記のステップS301以降の処理が繰り返し実行される。なお、表示装置5に表示されるスライドのページが変更されていない場合(ステップS307No)、ステップS308の処理を実行せずにステップS301の処理へ戻る。
(3)雑談検出処理
図6及び図7は、実施例1に係る雑談検出処理の手順を示すフローチャートである。この処理は、図5に示した音声認識処理と並行して実行される処理であり、プレゼンテーションソフトが文書ファイルを開いた状態でプレゼンテーションの開始指示を受け付けた場合に起動し、プレゼンテーションの終了指示を受け付けるまで繰返し実行される。なお、処理の実行が繰り返される周期は、図5に示した音声認識処理と同様であってもよいし、異なってもよく、図5に示した音声認識処理と同期して実行されることとしてもよいし、非同期で実行されることとしてもかまわない。
図6に示すように、算出部15cは、記憶部13に記憶された認識単語データ13cを参照して、認識単語データ13cを参照する時点から過去の所定の期間に音声認識により得られた認識単語の数を算出する(ステップS501)。さらに、算出部15cは、認識単語データ13cを参照する時点から過去の所定の期間に音声認識により得られた認識単語がスライド上で分布する位置のばらつき度合いを算出する(ステップS502)。
その後、算出部15cは、ステップS501で算出された認識単語数を1回前の雑談検出で算出された認識単語数で除算することにより認識単語数の変化率を算出すると共に、ステップS502で算出された認識単語の分散を1回前の雑談検出で算出された認識単語の分散で除算することにより認識単語の分散の変化率を算出する(ステップS503及びステップS504)。
続いて、判定部15dは、記憶部13に記憶された判定履歴データ13dを参照して、直前の雑談検出の結果が「雑談中」であるか否かを判定する(ステップS505)。このとき、直前の雑談検出の結果が「プレゼンテーション進行中」である場合(ステップS505No)、判定部15dは、認識単語数の変化率が閾値Th1以下であるか否かを判定する(ステップS506)。そして、認識単語数の変化率が閾値Th1以下でない場合(ステップS506No)、判定部15dは、認識単語の分散が閾値Th2以上であるか否かを判定する(ステップS507)。
ここで、認識単語数の変化率が閾値Th1以下でない場合、かつ認識単語の分散が閾値Th2以上でない場合(ステップS506NoかつステップS507No)、スライド中の特定範囲、例えば行や段落などの局部に出現する単語が集中して発話されている状況であると推定できる。この場合、判定部15dは、「プレゼンテーション進行中」であると判定し(ステップS508)、処理を終了する。一方、認識単語数の変化率が閾値Th1以下である場合、あるいは認識単語の分散が閾値Th2以上である場合(ステップS506YesまたはステップS507Yes)、発話される単語のスライド上の位置が局部に集中せずにランダムに分布している可能性が高いと推定できる。この場合、判定部15dは、「雑談中」であると判定し(ステップS509)、処理を終了する。
また、直前の雑談検出の結果が「雑談中」である場合(ステップS505Yes)、判定部15dは、図7に示すように、認識単語数の変化率が閾値Th3以上であるか否かを判定する(ステップS510)。このとき、認識単語数の変化率が閾値Th3以上である場合(ステップS510Yes)、判定部15dは、認識単語の分散が閾値Th4以下であるか否かを判定する(ステップS511)。
ここで、認識単語数の変化率が閾値Th3以上である場合、かつ認識単語の分散が閾値Th4以下である場合(ステップS510YesかつステップS511Yes)、スライド中の特定範囲、例えば行や段落などの局部に出現する単語が集中して発話されている状況であると推定できる。この場合、判定部15dは、「プレゼンテーション進行中」であると判定し(ステップS512)、処理を終了する。一方、認識単語数の変化率が閾値Th3以上でない場合、あるいは認識単語の分散が閾値Th4以下でない場合(ステップS510NoまたはステップS511No)、発話される単語のスライド上の位置が局部に集中せずにランダムに分布している可能性が高いと推定できる。この場合、判定部15dは、「雑談中」であると判定し(ステップS513)、処理を終了する。
[効果の一側面]
上述してきたように、本実施例に係るプレゼンテーション支援装置10は、過去の雑談検出の結果、所定期間に発話から音声認識された認識単語の数の変化、及び、認識単語のスライド中の位置のばらつき度合いの変化を用いて雑談中であるか否かを判定する。それ故、スライド資料や会議の議題とは関連があるが、プレゼンテーションの進行から逸れた話題を雑談と判定できる。したがって、本実施例に係るプレゼンテーション支援装置10によれば、雑談中の発話に含まれる単語が誤って文書に対応付けられるのを抑制できる。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
[文書ファイルの応用例]
上記の実施例1では、プレゼンテーションソフトによって作成された文書を用いる場合を例示したが、他のアプリケーションプログラムによって作成された文書を用いることもできる。すなわち、表示時に画面単位で表示されるページを含む文書ファイルであれば、ワープロソフトの文書ファイルが有するページをスライドに読み替えたり、表計算ソフトの文書ファイルが有するシートをスライドに読み替えることによって図4〜図7に示した処理を同様に適用できる。
[ハイライト表示以外の制御への適用]
上記の実施例1では、雑談中であるか否かによりハイライト表示を制御する場合を例示したが、雑談中であるか否かにより他の制御を実施することもできる。例えば、プレゼンテーション支援装置10は、雑談検出の結果を所定の表示装置、例えば話者用の表示装置、聴講者用の表示装置あるいは話者及び聴講者兼用の表示装置に表示させることもできる。このように、雑談中であることをユーザに知覚させることで、議論を本筋に戻すことを促し、プレゼンテーションの所要時間を短縮させることができる。
[プレゼンテーション以外への適用]
例えば、会議の録音音声と議事録の文書を対応付け、議事録をクリックすると該当箇所の録音音声が再生されるシステムにおいて、上記の雑談検出処理を適用することにより、会議の録音音声が雑談中である箇所を上記の対応付けから除外することもできる。
[分散および統合]
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されておらずともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、抽出部15a、認識部15b、算出部15c、判定部15dまたは表示制御部15eをプレゼンテーション支援装置10の外部装置としてネットワーク経由で接続するようにしてもよい。また、抽出部15a、認識部15b、算出部15c、判定部15dまたは表示制御部15eを別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記のプレゼンテーション支援装置10の機能を実現するようにしてもよい。
[他の実装例]
上記の実施例1では、プレゼンテーション支援装置10が上記のプレゼンテーションソフトを外部のリソースに依存せずに単独で実行するスタンドアローンで図4〜図7に関する処理を実行する場合を例示したが、他の実装形態を採用することもできる。例えば、プレゼンテーションソフトを実行するクライアントに対し、図4〜図7に関する処理のうち一部または全部の処理を実行するサーバを設けることによってクライアントサーバシステムとして構築することもできる。この場合、パッケージソフトウェアやオンラインソフトウェアとして上記のプレゼンテーション支援サービスを実現するプレゼンテーション支援プログラムをインストールさせることによってサーバ装置を実装できる。例えば、サーバ装置は、上記のプレゼンテーション支援サービスを提供するWebサーバとして実装することとしてもよいし、アウトソーシングによって上記のプレゼンテーション支援サービスを提供するクラウドとして実装することとしてもかまわない。この場合、クライアントは、サーバ装置に対し、ハイライト表示の開始指示、例えば少なくともプレゼンテーションに用いる文書ファイルを指定する情報をアップロードした後に、プレゼンテーションが開始される。プレゼンテーションが開始されると、クライアントは、マイク3から採取された音声信号または音声認識処理の結果をアップロードし、表示装置5に表示中のスライドのページが切り替わる度にスライドのページ情報をアップロードする。すなわち、抽出単語データの生成処理や音声認識処理は、クライアント側で実行させることもできるし、サーバ側で実行させることとしてもかまわない。これによって、サーバ装置は、少なくとも図6及び図7に示した処理が実行可能となる。さらに、クライアントは、図示しない入力デバイスに関する操作情報をサーバへ伝送し、サーバから伝送される処理結果だけを表示装置5に表示させることにより、シンクライアントシステムとして構築することもできる。この場合には、各種のリソース、例えば文書データもサーバにより保持されると共に、プレゼンテーションソフトもサーバで仮想マシンとして実装されることになる。例えば、プレゼンテーションソフトがクライアント側で実行される場合、サーバからクライアントへハイライト表示を実施する領域の識別情報、例えば上記の領域のインデックスを伝送すればよく、また、シンクライアントシステムとして実装される場合、説明箇所のハイライト表示が実施されたスライドの表示データまたはハイライト表示が行われる前の画面との差分データをサーバからクライアントへ伝送すればよい。なお、上記の実施例1では、上記の雑談検出処理が組み込まれたプレゼンテーションソフトが実行される場合を想定したが、ライセンス権限を有するクライアントから雑談検出プログラムをライブラリとして参照する要求を受け付けた場合に、雑談検出プログラムをプレゼンテーションソフトへプラグインさせることもできる。
[シンクライアントシステムへの適用例]
図8は、実施例2に係るプレゼンテーション支援システムの構成例を示す図である。図8には、プレゼンテーション支援システム2の一例として、クライアント端末20に最低限の機能しか持たせず、サーバ装置200でアプリケーションやファイルなどのリソースを管理するシンクライアントシステムが示されている。なお、ここでは、プレゼンテーション支援システム2の一形態としてシンクライアントシステムを例示するが、後述のように、汎用のクライアントサーバシステムにも上記のプレゼンテーション支援サービスを適用できることをここで付言しておく。
図8に示すように、プレゼンテーション支援システム2には、クライアント端末20と、サーバ装置200とが含まれる。
クライアント端末20には、デスクトップ型またはノート型のパーソナルコンピュータなどの情報処理装置を採用することができる。この他、クライアント端末20には、上記のパーソナルコンピュータなどの据置き型の端末のみならず、各種の携帯端末装置を採用することもできる。例えば、携帯端末装置の一例として、スマートフォン、携帯電話機やPHSなどの移動体通信端末、さらには、PDAなどのスレート端末などがその範疇に含まれる。
サーバ装置200は、上記のプレゼンテーション支援サービスを提供するコンピュータである。
一実施形態として、サーバ装置200は、パッケージソフトウェアやオンラインソフトウェアとして上記のプレゼンテーション支援サービスを実現する画像表示プログラムをインストールさせることによってサーバ装置を実装できる。例えば、サーバ装置は、上記のプレゼンテーション支援サービスを提供するWebサーバとして実装することとしてもよいし、アウトソーシングによって上記のプレゼンテーション支援サービスを提供するクラウドとして実装することとしてもかまわない。
これらクライアント端末20及びサーバ装置200は、ネットワークNWを介して、互いが通信可能な状態で接続される。かかるネットワークNWの一例として、有線または無線を問わず、インターネットを始め、LANやVPN(Virtual Private Network)などの任意の種類の通信網を採用できる。
図8に示す通り、クライアント端末20は、マイク3と、表示装置5と、入力装置7と、データ授受部24とを有する。なお、図8には、図1に示した機能部と同様の機能を発揮する機能部、例えばマイク、表示装置及び入力装置に同一の符号を付し、その説明を省略する。
データ授受部24は、サーバ装置200との間で各種のデータの授受を制御する処理部である。
一実施形態として、データ授受部24は、一例として、クライアント端末20が有するCPUなどのプロセッサにより、シンクライアントシステムのクライアント用のプログラムが実行されることで、仮想的に実現される。
例えば、データ授受部24は、マイク3により入力される音声データ、さらには、入力装置7が受け付けた操作情報などをサーバ装置200へ送信する。また、データ授受部24は、サーバ装置200で実行されるプレゼンテーションソフトの実行結果を含むデスクトップ画面、すなわち表示装置5のスクリーンに表示させる表示データを受信する。例えば、プレゼンテーションソフトにより文書ファイルがスライドショーで表示される場合、プレゼンテーションソフトにより生成されるウィンドウは全画面表示されるので、デスクトップ画面とウィンドウ画面とが同じ表示内容となる。ここで、データ授受部24は、サーバ装置200が伝送するデスクトップ画面の表示データを任意のフレームレートで受信することができる他、デスクトップ画面の表示データに差分がある場合に絞ってデスクトップ画面の表示データを受信することもできる。このとき、サーバ装置200から伝送されるデスクトップ画面の表示データは、デスクトップ画面の全体であってもよいし、デスクトップ画面の一部、例えばフレーム間の差分の表示データであってもかまわない。
このように、クライアント端末20及びサーバ装置200の間で授受される各種のデータには、トラフィックを抑制する観点から、圧縮符号化を行うこととしてもよいし、また、セキュリティの観点から、各種の暗号化を行うこととしてもよい。
図8に示すように、サーバ装置200は、記憶部220と、制御部240とを有する。なお、サーバ装置200は、図8に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば他の装置との間で通信制御を行う通信I/F部などの機能部を有することとしてもかまわない。
記憶部220は、制御部240で実行されるOSやプレゼンテーションソフトを始め、アプリケーションプログラムなどの各種プログラムに用いられるデータを記憶するデバイスである。
一実施形態として、記憶部220は、サーバ装置200における主記憶装置として実装される。例えば、記憶部220には、各種の半導体メモリ素子、例えばRAMやフラッシュメモリを採用できる。また、記憶部220は、補助記憶装置として実装することもできる。この場合、HDD、光ディスクやSSDなどを採用できる。
例えば、記憶部220は、制御部240で実行されるプログラムに用いられるデータの一例として、図8に示す文書データ221、抽出単語データ222、認識単語データ223及び判定履歴データ224を記憶する。これら抽出単語データ222、認識単語データ223及び判定履歴データ224は、サーバ装置200に接続されるクライアント端末20のうちいずれのクライアント端末20に関するデータであるのかがサーバ装置200で識別できるように、抽出単語データ222、認識単語データ223及び判定履歴データ224が格納される記憶領域がクライアント端末20の識別情報ごとに区別されたり、あるいは抽出単語データ222、認識単語データ223及び判定履歴データ224がクライアント端末20の識別情報とさらに対応付けられたりする他は、図1に示した文書データ13a、抽出単語データ13b、認識単語データ13c及び判定履歴データ13dと同様のデータである。
制御部240は、各種のプログラムや制御データを格納する内部メモリを有し、これらによって種々の処理を実行するものである。
一実施形態として、制御部240は、中央処理装置、いわゆるCPUとして実装される。なお、制御部240は、必ずしも中央処理装置として実装されずともよく、MPUやDSPとして実装されることとしてもよい。また、制御部240は、ASICやFPGAなどのハードワイヤードロジックによっても実現できる。
制御部240は、各種のプログラムを実行することによって下記の処理部を仮想的に実現する。例えば、制御部240は、図8に示すように、抽出部241と、認識部242と、算出部243と、判定部244と、表示制御部245とを有する。
図8に示す抽出部241、認識部242、算出部243及び判定部244は、図1に示した抽出部15a、認識部15b、算出部15c及び判定部15dと同様の処理を実行する処理部である。
表示制御部245は、クライアント端末20の表示装置5に対する表示制御を実行する処理部である。
ここで、表示制御部245は、クライアント端末20のデスクトップ画面、すなわち表示装置5のスクリーンに表示させる表示データを所定のフレームレート、あるいはデスクトップ画面の更新を契機に送信する。このとき、表示制御部245は、デスクトップ画面に更新がない場合、必ずしもデスクトップ画面の表示データをクライアント端末20へ伝送せずともかまわない。さらに、表示制御部245は、デスクトップ画面の全体の表示データを送信することとしてもよいし、デスクトップ画面の一部、例えばフレーム間の差分の表示データを送信することとしてもかまわない。このようなデスクトップ画面の伝送と並行して、表示制御部245は、図1に示した表示制御部15eと同様に、クライアント端末20から伝送される入力装置7の操作情報にしたがって上記のスライドの表示制御を実行したり、さらには、上記のハイライトの表示制御などを実行することにより、プレゼンテーションソフトにより生成されるウィンドウ画面の表示データを更新する。このようにしてデスクトップ画面の伝送時にウィンドウ画面の更新内容がサーバ装置200からクライアント端末20へ伝送されることになる。
以上のように、本実施例に係るプレゼンテーション支援システム2がシンクライアントシステムとして実装された場合、サーバ装置200の認識部242が図5に示した音声認識処理を実行することができる。この音声認識処理では、ステップS301でマイク3から音声データが直接取得される代わりに、クライアント端末20からサーバ装置200へ伝送される音声データが取得される以外に処理内容の差はない。さらに、サーバ装置200の算出部243及び判定部244が図6及び図7に示した雑談検出処理を実行することができる。
[汎用のクライアントサーバシステムへの適用例]
図8には、プレゼンテーション支援システム2がシンクライアントシステムとして実装される場合を例示したが、必ずしもシンクライアントシステムとして実装されずともかまわず、汎用のクライアントサーバシステムとして実装することもできる。
例えば、図1に示したプレゼンテーション支援装置10をクライアント端末とし、このクライアント端末を収容する図示しないサーバ装置に、プレゼンテーション支援装置10が有する処理部のうち、算出部15c及び判定部15dなどの処理部を実装することとすればよい。この場合、クライアント端末であるプレゼンテーション支援装置10が図5に示した音声認識処理を実行し、認識単語が得られる度に追加の認識単語もしくは認識単語データの全体を図示しないサーバ装置へ伝送することにより、図示しないサーバ装置上でクライアント端末ごとに認識単語データが記憶されることになる。これによって、クライアント及びサーバ間で音声データが伝送されずともよくなる。
以上のように、汎用のクライアントサーバシステムにも上記のプレゼンテーション支援サービスを適用できる。
[会議システムへの適用例]
例えば、上記の実施例1では、話者と聴講者が1つの表示装置5を共用する場面を例示したが、必ずしも話者と聴講者が1つの表示装置を共用せずともかまわず、複数の表示装置の間で同一の表示内容が共有される場面にも上記のプレゼンテーション支援サービスを適用できる。例えば、会議等のコミュニケーションにおいて各参加者が話者及び聴講者の少なくとも一方または両方の立場で参加する状況が挙げられる。この場合、互いの表示装置に接続されるコンピュータがネットワークを介して接続されていれば互いが遠隔地に存在してもかまわない。
図9は、プレゼンテーション支援サービスの会議システムへの適用例を示す図である。例えば、図9に示すように、図1に示したプレゼンテーション支援装置10と同様の機能を有するクライアント端末10A及び10BがネットワークNWを介して接続されると共にクライアント端末10A及び10B上でコミュニケーションツール、例えば画面共有用のアプリケーションプログラムが実行される場面に適用できる。これによって、クライアント端末10A及び10Bが有する各表示装置の間で同一の表示内容、例えばプレゼンテーションソフト用の文書ファイルが共有される。このような状況の下、クライアント端末10A及び10Bのうち少なくとも一方の端末が図4〜図7に示した処理を実行することにより、クライアント端末10Aまたは10Bの利用者の発話および視線を利用して、文書ファイルに含まれるスライドのうち説明箇所に対応する領域をハイライト表示することができる。
図10は、プレゼンテーション支援サービスの会議システムへの適用例を示す図である。例えば、図10に示すように、図8に示したクライアント端末20と同様の機能を有するクライアント端末20A及び20Bと、図8に示したサーバ装置200とがネットワークNWを介して接続されると共に、サーバ装置200上でコミュニケーションツール、例えば画面共有用のアプリケーションプログラムが実行される場面に適用できる。これによって、クライアント端末20A及び20Bが有する各表示装置の間で同一の表示内容、例えばプレゼンテーションソフト用の文書ファイルが共有される。このような状況の下、サーバ装置200が図4〜図7に示した処理を実行することにより、クライアント端末20Aまたは20Bの利用者の発話を利用して、文書ファイルに含まれるスライドのうち説明箇所に対応する領域をハイライト表示することができる。
[雑談検出プログラム]
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図11を用いて、上記の実施例と同様の機能を有する雑談検出プログラムを実行するコンピュータの一例について説明する。
図11は、実施例1及び実施例2に係る雑談検出プログラムを実行するコンピュータのハードウェア構成例を示す図である。図11に示すように、コンピュータ100は、操作部110aと、マイク110bと、カメラ110cと、ディスプレイ120と、通信部130とを有する。さらに、このコンピュータ100は、CPU150と、ROM160と、HDD170と、RAM180とを有する。これら110〜180の各部はバス140を介して接続される。
HDD170には、図11に示すように、上記の実施例1で示した抽出部15a、認識部15b、算出部15c、判定部15d及び表示制御部15eと同様の機能を発揮する雑談検出プログラム170aが記憶される。この雑談検出プログラム170aは、図1に示した抽出部15a、認識部15b、算出部15c、判定部15d及び表示制御部15eの各構成要素と同様、統合又は分離してもかまわない。すなわち、HDD170には、必ずしも上記の実施例1で示した全てのデータが格納されずともよく、処理に用いるデータがHDD170に格納されればよい。
このような環境の下、CPU150は、HDD170から雑談検出プログラム170aを読み出した上でRAM180へ展開する。この結果、雑談検出プログラム170aは、図11に示すように、雑談検出プロセス180aとして機能する。この雑談検出プロセス180aは、RAM180が有する記憶領域のうち雑談検出プロセス180aに割り当てられた領域にHDD170から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、雑談検出プロセス180aが実行する処理の一例として、図4〜図7に示す処理などが含まれる。なお、CPU150では、必ずしも上記の実施例1で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
なお、上記の雑談検出プログラム170aは、必ずしも最初からHDD170やROM160に記憶されておらずともかまわない。例えば、コンピュータ100に挿入されるフレキシブルディスク、いわゆるFD、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に雑談検出プログラム170aを記憶させる。そして、コンピュータ100がこれらの可搬用の物理媒体から雑談検出プログラム170aを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WANなどを介してコンピュータ100に接続される他のコンピュータまたはサーバ装置などに雑談検出プログラム170aを記憶させておき、コンピュータ100がこれらから雑談検出プログラム170aを取得して実行するようにしてもよい。