以下に添付図面を参照して本願に係るプレゼンテーション支援装置、プレゼンテーション支援システム、プレゼンテーション支援方法及びプレゼンテーション支援プログラムについて説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
[プレゼンテーション支援装置が搭載する機能の一側面]
図1は、実施例1に係るプレゼンテーション支援装置の機能的構成を示すブロック図である。図1に示すプレゼンテーション支援装置10は、複数人によって同一の内容の文書、例えば進捗アジェンダやスライド資料などに関する文書が共有された状態で当該文書に含まれるページ画面、例えばスライドのうち、話者により発話された音声から認識された単語に対応する部分をハイライト表示させるプレゼンテーション支援サービスを提供する。
ここで、以下では、あくまで一例として、上記のハイライト表示に関する機能がプレゼンテーションソフトにアドオンされる場合を想定し、当該プレゼンテーションソフトを用いて作成された文書ファイルが含む1または複数のスライドを表示装置5に表示させることによってプレゼンテーションが進行される場合を想定する。このスライドには、テキストや図形を始め、他のアプリケーションプログラムによって作成されたコンテンツをインポートすることができる。例えば、ワープロソフトで作成された文書、表計算ソフトで作成された表やグラフをインポートしたり、撮像装置で撮像された画像や動画、さらには、画像編集ソフトで編集された画像や動画などをインポートしたりすることができる。
プレゼンテーション支援装置10は、上記のプレゼンテーション支援サービスを実行するコンピュータである。
一実施形態として、プレゼンテーション支援装置10には、デスクトップ型またはノート型のパーソナルコンピュータなどの情報処理装置を採用することができる。この他、プレゼンテーション支援装置10には、上記のパーソナルコンピュータなどの据置き型の端末のみならず、各種の携帯端末装置を採用することもできる。例えば、携帯端末装置の一例として、スマートフォン、携帯電話機やPHS(Personal Handyphone System)などの移動体通信端末、さらには、PDA(Personal Digital Assistants)などのスレート端末などがその範疇に含まれる。
なお、本実施例では、あくまで一例として、プレゼンテーション支援装置10が上記のプレゼンテーションソフトを外部のリソースに依存せずに単独で実行するスタンドアローンで上記のプレゼンテーション支援サービスを提供する場合を想定する。詳細は後述するが、上記のプレゼンテーション支援サービスは、スタンドアローンで提供される実装に限定されない。例えば、プレゼンテーションソフトを実行するクライアント端末に対し、上記のプレゼンテーション支援サービスを提供するサーバ装置を設けることによってクライアントサーバシステムとして構築することもできる。この他、プレゼンテーションソフトをサーバ装置に実行させ、その実行結果をサーバ装置がクライアント端末へ伝送して表示させるシンクライアントシステムとして構築することもできる。
ここで、上記のプレゼンテーション支援装置10は、上記のプレゼンテーション支援サービスの一環として、発話から音声認識される2つの認識単語がスライド上の複数の領域にまたがる場合に2つの認識単語のうち後続する認識単語が出現する領域の表示状態を変更する。それ故、単語の絶対数が少ない領域内の単語が発話された場合、他の領域内の単語の発話頻度が高くとも当該領域の表示状態をハイライト表示等に変更できる結果、単語の絶対数が少ない領域の表示状態が変更されずにスキップされるのを抑制できる。したがって、発話箇所の表示状態の変更漏れが発生するのを抑制できる。
[周辺機器]
図1に示すように、プレゼンテーション支援装置10には、マイク1と、表示装置5と、入力装置7とが接続される。これらマイク1、表示装置5及び入力装置7などの周辺機器と、プレゼンテーション支援装置10との間は、有線または無線により接続される。
マイク1は、音声を電気信号に変換する装置である。ここで言う「マイク」は、マイクロフォンの略称である。
例えば、マイク1は、話者、例えばプレゼンテーションを実施するプレゼンタに装着させることができる。この場合、ヘッドセット型やタイピン型のマイクをプレゼンタの身体や衣服の所定位置に装着させたり、ハンド型のマイクをプレゼンタに携帯させたりすることができる。また、マイク1は、プレゼンタの発話が集音できる範囲の所定位置に設置することもできる。この場合、マイク1には、取付け型や据置き型のマイクを採用することもできる。これらいずれの場合においても、マイク1には、任意のタイプの指向性を持つマイクを採用できるが、プレゼンタの発話以外の音声、例えば聴講者等の発話や騒音などの雑音が集音されるのを抑制するために、マイクの感度をプレゼンタの発声方向に限定することもできる。なお、マイク1には、ダイナミック型、エレクトレットコンデンサ型、コンデンサ型などの任意の変換方式を採用することができる。このマイク1に音声を採取することにより得られたアナログ信号は、デジタル信号へ変換された上でプレゼンテーション支援装置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は、マイク1、表示装置5及び入力装置7などの周辺機器との間で入出力を行うインタフェースである。
一側面として、入出力I/F部11は、入力装置7から入力された各種の操作を制御部15へ出力する。また、入出力I/F部11は、制御部15から出力されたスライドの画像データを表示装置5へ出力したり、スライドに含まれる領域に対するハイライト指示またはそのキャンセル指示を表示装置5へ出力したりする。また、入出力I/F部11は、マイク1から入力された音声データを制御部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を記憶する。これらのデータ以外にも、記憶部13には、他の電子データ、例えば表示状態の変更制御に関する定義データなども併せて記憶することもできる。なお、上記の文書データ13a以外の抽出単語データ13b及び認識単語データ13cは、各データの登録または参照を行う処理部の説明に合わせて説明を行うこととする。
文書データ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の読みおよびインデックスidxが対応付けられた抽出単語データ13bを記憶部13へ登録する。
認識部15bは、音声認識を実行する処理部である。
一実施形態として、認識部15bは、プレゼンテーションソフトが文書ファイルを開いた状態でプレゼンテーションの開始指示を受け付けた場合に起動し、マイク1から所定時間長の音声信号が入力されるまで待機する。例えば、少なくとも1フレーム分の時間長、例えば10msecの音声信号が入力されるのを待機する。そして、認識部15bは、マイク1から所定時間長の音声信号が入力される度に、当該音声信号が入力された時点から遡って過去の一定期間における音声信号にワードスポッティングなどの音声認識を実行する。なお、ワードスポッティングとは、必要な単語を事前に登録しておき、音声信号から登録した単語を抽出する方式の総称である。このとき、認識部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のうち、互いが連続して音声認識された2つの認識単語に関するレコードを読み出す。例えば、エントリの時刻が最新である認識単語と、その認識単語の直前に認識された認識単語とのレコードを読み出す。以下では、2つの認識単語のうち前者の認識単語のことを「第1の認識単語」と記載すると共に後者の認識単語のことを「第2の認識単語」と記載する場合がある。さらに、第1の認識単語に対応付けられたインデックス、すなわちスライド上で第1の認識単語が出現する領域のことを「第1の領域」と記載すると共に第2の認識単語に対応付けられたインデックス、すなわちスライド上で第2の認識単語が出現する領域のことを「第2の領域」と記載する場合がある。
その後、算出部15cは、第1の認識単語に対応付けられたインデックスと、第2の認識単語に対応付けられたインデックスとが異なるか否かを判定する。言い換えれば、算出部15cは、第1の領域および第2の領域が異なるか否かを判定する。このとき、第1の領域および第2の領域が同一である場合、プレゼンテーションがそれまでに説明が行われていた領域から次の説明に関する記述がある新たな領域へ遷移していない可能性の方が高いと推定できる。一方、第1の領域および第2の領域が異なる場合、プレゼンテーションがそれまでに説明が行われていた領域から次の説明に関する記述がある新たな領域へ遷移した段階である可能性の方が高いと推定できる。この場合、算出部15cは、第1の認識単語が表示装置5に表示中であるスライド内の複数の領域に出現する単語であるか否かをさらに判定する。例えば、算出部15cは、抽出単語データ13bに含まれる抽出単語のうち第1の認識単語と一致する抽出単語に対応付けられたインデックスと、表示中のスライドに含まれる領域のインデックスとを比較し、第1の認識単語と一致する抽出単語に対応付けられたインデックスが表示中のスライドに含まれる領域のインデックスと複数個にわたって一致するか否かを判定する。
ここで、第1の認識単語が表示中のスライド内の複数の領域に出現しない単語である場合、プレゼンテーションがそれまでに説明が行われていた領域から次の説明に関する記述がある新たな領域へ遷移した段階である可能性がより高まる。この場合、算出部15cは、記憶部13に記憶された抽出単語データ13bのうち第1の領域のインデックスに対応付けられた抽出単語の数が所定値、例えば「2」以上であるか否かを判定する。つまり、スライド上の第1の領域に含まれる単語の絶対数が少ないか否かを判定する。このとき、第1の領域に含まれる単語の絶対数が少ない場合、第1の認識単語が音声認識により得られた段階でハイライト表示を実施しないと第1の領域のハイライト表示漏れが発生する可能性が高まる。この場合、後述の推定部15dにより第1の領域が発話箇所であると推定される。一方、第1の領域に含まれる単語の絶対数が少なくはない場合、プレゼンテーションの進行が領域間を遷移する段階に差し掛かったか否かをより精細に判定するパラメータとして、算出部15cは、第1の認識単語の領域上の位置と、第2の認識単語の領域上の位置とを算出する。
例えば、算出部15cは、下記の式(1)および下記の式(2)にしたがって第1の認識単語の領域上の位置t1と、第2の認識単語の領域上の位置t2とを算出する。ここで、下記の式(1)及び下記の式(2)における「N」は、領域を指し、「K」は、認識単語を指す。そして、下記の式(1)における「INDEX1(N,K)」は、領域Nの最初に含まれる認識単語Kの先頭文字のインデックス番号を指す。一方、下記の式(2)における「INDEX2(N,K)」は、領域Nの最後に含まれる認識単語Kの最終文字のインデックス番号を指す。なお、ここでは、一例として、インデックス番号が0から始まる場合を想定して以下の説明を行う。
t1=INDEX1(N,K)/(Nの文字数−1)・・・式(1)
t2=INDEX2(N,K)/(Nの文字数−1)・・・式(2)
図2は、スライドの一例を示す図である。図2には、領域E1、領域E2、領域E3及び領域E4の4つの領域を含むスライドS1が示されている。図2に示すスライドS1が表示装置5に表示された状況の下、話者によって「明日の天気です。関東ですが・・・」との発話が行われた場合、認識単語が「明日」、「天気」、「関東」の順に得られる。この場合、「関東」が第1の認識単語に該当し、「天気」が第2の認識単語に該当する。そして、「関東」が含まれる第1の領域E2と「天気」が含まれる第2の領域E1とが相違し、「関東」はスライドS1上の他の領域には出現しない。さらに、第1の領域E2には、「関東」及び「地方」の2つ以上の抽出単語が含まれるので、第1の領域E2の単語の絶対数は少数でないと識別される。
これらの条件が満たされたことで、上記の式(1)にしたがって第1の認識単語の領域上の位置t1が算出される。具体的には、第1の領域E2の最初に含まれる認識単語「関東」の先頭文字は「関」であり、この先頭文字「関」は第1の領域E2に含まれる文字列「関東地方」の先頭でもあるので、そのインデックス番号であるINDEX1(E2,関東)は「0」と算出される。このため、t1は、「0/(4−1)」の計算により「0」と算出される。一方、第2の領域E1の最後に含まれる認識単語「天気」の最終文字は「気」であり、この最終文字「気」は第2の領域E1に含まれる文字列「明日の天気」の5文字目、すなわち最終文字に対応するので、そのインデックス番号は0から数えて5番目の整数「4」がINDEX2(E1,天気)として算出される。このため、t2は、「4/(5−1)」の計算により「1」と算出される。
このようなt1及びt2を算出することにより、t1及びt2から次のような評価を行うことが可能になる。例えば、上述の通り算出される第1の認識単語の領域上の位置t1は、第1の領域「E2」上で第1の認識単語「関東」が先頭から近い位置に存在するほどその値が低く算出される一方で、先頭から遠い位置に存在するほどその値が高く算出される。それ故、第1の認識単語の領域上の位置t1により、第1の認識単語が第1の領域「E2」上でどれだけ先頭に近いかどうかを評価できる。また、上述の通り算出される第2の認識単語の領域上の位置t2は、第2の領域「E1」上で第2の認識単語「天気」が末尾から近い位置に存在するほどその値が高く算出される一方で、末尾から遠い位置に存在するほどその値が低く算出される。それ故、第2の認識単語の領域上の位置t2により、第2の認識単語が第2の領域「E1」上でどれだけ末尾に近いかどうかを評価できる。
推定部15dは、表示中のスライドに含まれる領域のうち発話箇所に対応する領域を推定する処理部である。
一実施形態として、推定部15dは、第1の領域および第2の領域が異なり、第1の認識単語が表示中のスライド内の複数の領域に出現しない単語であり、第1の領域に含まれる抽出単語の数が所定値以上でない場合、第1の領域を発話箇所と推定する。一方、推定部15dは、第1の領域および第2の領域が異なり、第1の認識単語が表示中のスライド内の複数の領域に出現しない単語であり、第1の領域に含まれる抽出単語の数が所定値以上である場合、次のような判定により、第1の領域を発話箇所として推定するか、認識単語数が最多である領域を発話箇所として推定するのかを決定する。すなわち、推定部15dは、第1の認識単語の位置が第1の領域の先頭から所定の範囲内であり、かつ第2の認識単語の位置が第2の領域の末尾から所定の範囲内であるか否かの判定により、プレゼンテーションの進行が領域間を遷移する段階に差し掛かったか否かをより詳細に判定する。
これを具体的に説明すると、推定部15dは、第1の認識単語の領域上の位置t1が所定の閾値Th1、例えば「0.2」以下であるか否かを判定する。このとき、推定部15dは、第1の認識単語の領域上の位置t1が閾値Th1以下である場合、第2の認識単語の領域上の位置t2が所定の閾値Th2、例えば「0.8」以上であるか否かをさらに判定する。このとき、第1の認識単語の領域上の位置t1が閾値Th1以下であり、かつ第2の認識単語の領域上の位置t2が閾値Th2以上である場合、プレゼンテーションがスライドの記述内容の通りに進行し、領域間を遷移した直後である可能性が高いと推認できる。この場合、推定部15dは、第1の領域を発話箇所と推定する。一方、第1の認識単語の領域上の位置t1が閾値Th1以下でないか、あるいは第2の認識単語の領域上の位置t2が閾値Th2以上でない場合、領域間を遷移した直後でない可能性が残る。この場合、認識単語数が最多である領域を発話箇所として推定する。例えば、推定部15dは、表示中のスライドに含まれる領域ごとに当該領域のインデックスが対応付けられた認識単語の数を計数し、認識単語の数が最多である領域を発話箇所として推定する。
このように、第1の認識単語および第2の認識単語の位置に基づいて発話箇所に対応する領域を推定することにより、発話箇所の表示状態の変更漏れが発生するのを抑制できる。例えば、図2の例で言えば、スライドS1が表示装置5に表示された状況の下、話者によって「明日の天気です。関東ですが・・・」との発話が行われた場合、領域E1の認識単語数は「2」となり、領域E2の認識単語数は「1」となる。このため、認識単語が最多である領域を発話箇所として画一的に推定したのでは、プレゼンテーションは領域E2へ進行しているにもかかわらず、領域E1がハイライト表示される。この場合、領域E2に含まれる抽出単語「地方」が発話されることなく、領域E3にプレゼンテーションが進行した場合、領域E2の認識単語数が最多となる状況が発生しづらく、領域E2のハイライト表示漏れが発生する可能性がある。一方、本実施例では、第1の認識単語の領域上の位置t1が「0」であり、第2の認識単語の領域上の位置t2が「1」であるので、閾値Th1「0.2」以下であり、かつ閾値Th2「0.8」以上という条件を満たすことになる。この結果、第1の領域E2が発話箇所と推定されるので、領域E2のハイライト表示漏れを抑制できる。
なお、ここでは、認識単語の数が最多である領域を発話箇所として推定する場合を例示したが、これ以外の公知の任意の方法を用いることができる。例えば、認識単語のスライドにおける出現頻度を始めとする任意のパラメータにしたがって重みを付与してスコアを領域別に算出し、最高のスコアを持つ領域を発話箇所として推定することもできる。
さらに、推定部15dは、第1の領域および第2の領域の距離が所定の閾値、例えばα行以内であるか否かをさらに加重要件として追加し、両者の距離が閾値以内である場合に始めて第1の領域を発話箇所と推定することもできる。このような判定を追加する意義は、領域間の距離が近い場合の方がスライドの記述内容の通りにプレゼンテーションが進行している可能性がより高いと判断できるからである。
表示制御部15eは、表示装置5に対する表示制御を実行する処理部である。なお、ここでは、表示制御部15eが実行する表示制御のうち、スライドに関する表示制御と、ハイライトに関する表示制御との一側面について説明する。
[スライドの表示制御]
一側面として、表示制御部15eは、プレゼンテーションソフトにより文書ファイルが開かれた場合、当該文書ファイルが含むスライドを表示装置5に表示させる。このとき、表示制御部15eは、文書ファイルが含むスライドのうち最初のページのスライドを表示させることとしてもよいし、最後に編集が行われたページのスライドを表示させることとしてもよい。その後、表示制御部15eは、プレゼンテーションの開始指示を受け付けた後、推定部15dにより推定された発話箇所に対応する領域に関するスライドを表示装置5に表示させる。また、表示制御部15eは、入力装置7を介してページの切替え指示を受け付けた場合、表示装置5に表示させるスライドを変更する。例えば、ページを進める操作を受け付けた場合、表示制御部15eは、表示中のスライドの次ページのスライドを表示装置5に表示させる。また、ページを戻る操作を受け付けた場合、表示制御部15eは、表示中のスライドの前ページのスライドを表示装置5に表示させる。
[ハイライトの表示制御]
他の一側面として、表示制御部15eは、プレゼンテーションの開始指示を受け付けてからプレゼンテーションの終了指示を受け付けるまで下記の処理を繰り返し実行する。すなわち、表示制御部15eは、推定部15dにより推定された発話箇所の領域のハイライト表示を実行する。ここで言う「ハイライト表示」は、狭義のハイライト表示、すなわち背景色を明るくしたり、反転したりする表示制御に留まらず、広義のハイライト表示を意味する。例えば、説明箇所の囲み表示、説明箇所の塗りつぶしの強調、フォント(フォントサイズ、下線や斜体)の強調などのように、強調表示の全般を任意に実行することができる。なお、ハイライト表示は、入力装置7を介してキャンセル操作を受け付けた場合に通常表示へ戻すこととしてもかまわない。また、当然のことながら、推定部15dによりいずれの領域も説明箇所として出力されない場合、例えば認識単語が存在しない場合等には、表示中のスライド上でハイライト表示は実行されない。
[処理の流れ]
次に、本実施例に係るプレゼンテーション支援装置10の処理の流れについて説明する。なお、ここでは、プレゼンテーション支援装置10が実行する(1)抽出単語データの生成処理、(2)音声認識処理、(3)表示制御処理の順に説明することとする。
(1)抽出単語データの生成処理
図3は、実施例1に係る抽出単語データの生成処理の手順を示すフローチャートである。この処理は、自動的に開始することもできるし、手動設定で開始することもできる。例えば、自動的に開始する場合、プレゼンテーションソフトが文書ファイルを記憶部13に保存した上で閉じる場合、あるいはプレゼンテーションを介する文書ファイルの編集中に文書ファイルが記憶部13に保存された場合に、処理を起動させることができる。また、手動設定で開始する場合、入力装置7を介してプレゼンテーションの前処理の実行指示を受け付けた場合に、処理を起動させることができる。いずれの場合においても、記憶部13に記憶された文書データ13aが含む文書ファイルのうち、保存または前処理の実行指示に対応する文書ファイルを読み出すことによって処理が開始される。
図3に示すように、抽出部15aは、文書ファイルに含まれるスライドを一文、行または段落などの単位で複数の領域へ分割する(ステップS101)。続いて、抽出部15aは、ステップS101で得られた領域に各領域を識別するインデックスを割り当てる(ステップS102)。
そして、抽出部15aは、ステップS102で割り当てられたインデックスのうちインデックスを1つ選択する(ステップS103)。続いて、抽出部15aは、ステップS103で選択されたインデックスの領域内の文字列に形態素解析等を実行することにより得られた形態素のうち品詞が名詞である単語を抽出する(ステップS104)。その後、抽出部15aは、ステップS104で抽出された各単語に当該単語が含まれる領域に割り当てられたインデックスを付与する(ステップS105)。
そして、抽出部15aは、ステップS102で割り当てられたインデックスが全て選択されるまで(ステップS106No)、上記のステップS103〜ステップS105までの処理を繰返し実行する。
その後、ステップS102で割り当てられたインデックスが全て選択された場合(ステップS106Yes)、抽出部15aは、スライドに含まれる単語ごとに当該単語kの読み及びインデックスidxが対応付けられた抽出単語データ13bを記憶部13へ登録し(ステップS107)、処理を終了する。
(2)音声認識処理
図4は、実施例1に係る音声認識処理の手順を示すフローチャートである。この処理は、プレゼンテーションソフトが文書ファイルを開いた状態でプレゼンテーションの開始指示を受け付けた場合に起動し、プレゼンテーションの終了指示を受け付けるまで繰返し実行される。
図4に示すように、認識部15bは、マイク1から所定時間長の音声信号が入力されるまで、例えば少なくとも1フレーム分の時間長、例えば10msecの音声信号が入力されるまで待機する(ステップS301)。
そして、マイク1から所定時間長の音声信号が入力されると(ステップS301Yes)、認識部15bは、当該音声信号にワードスポッティングなどの音声認識を実行する(ステップS302)。かかるステップS302でワードスポッティングが実行される場合には、記憶部13に記憶された抽出単語データ13bのうちプレゼンテーションソフトが実行中である文書ファイルが含むスライドであり、かつ表示装置5に表示中であるスライドに関する抽出単語データが音声認識用の辞書データとして適用される。
このとき、音声信号から単語が認識された場合(ステップS303Yes)、認識部15bは、ステップS302で認識された単語及びその単語が認識された時間が対応付けられた認識単語データ13cを記憶部13へ登録し(ステップS304)、ステップS305の処理へ移行する。
一方、マイク1から所定時間長の音声信号が入力されていない場合、あるいは音声信号から単語が認識されなかった場合(ステップ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)表示制御処理
図5は、実施例1に係る表示制御処理の手順を示すフローチャートである。この処理は、一例として、図4に示した音声認識処理と並行して実行される処理であり、プレゼンテーションソフトが文書ファイルを開いた状態でプレゼンテーションの開始指示を受け付けた場合に起動し、プレゼンテーションの終了指示を受け付けるまで繰返し実行される。なお、処理の実行が繰り返される周期は、図4に示した音声認識処理と同様であってもよいし、異なってもよく、図4に示した音声認識処理と同期して実行されることとしてもよいし、非同期で実行されることとしてもかまわない。
図5に示すように、算出部15cは、記憶部13に記憶された認識単語データ13cのうち、エントリの時刻が最新である第1の認識単語と、第1の認識単語の直前に認識された第2の認識単語とのレコードを読み出す(ステップS501)。
続いて、算出部15cは、第1の認識単語に対応付けられたインデックスと、第2の認識単語に対応付けられたインデックスとが異なるか否か、すなわち第1の領域および第2の領域が異なるか否かを判定する(ステップS502)。
このとき、第1の認識単語に対応付けられたインデックスと、第2の認識単語に対応付けられたインデックスとが異なる場合(ステップS502Yes)、プレゼンテーションがそれまでに説明が行われていた領域から次の説明に関する記述がある新たな領域へ遷移した段階である可能性の方が高いと推定できる。この場合、算出部15cは、第1の認識単語が表示装置5に表示中であるスライド内の複数の領域に出現する単語であるか否かをさらに判定する(ステップS503)。
ここで、第1の認識単語が表示中のスライド内の複数の領域に出現しない単語である場合(ステップS503No)、プレゼンテーションがそれまでに説明が行われていた領域から次の説明に関する記述がある新たな領域へ遷移した段階である可能性がより高まる。この場合、算出部15cは、記憶部13に記憶された抽出単語データ13bのうち第1の領域のインデックスに対応付けられた抽出単語の数が所定値、例えば「2」以上であるか否かを判定する(ステップS504)。
そして、第1の領域に含まれる抽出単語の数が所定値以上である場合(ステップS504Yes)、プレゼンテーションの進行が領域間を遷移する段階に差し掛かったか否かをより精細に判定するパラメータとして、算出部15cは、第1の認識単語の領域上の位置と、第2の認識単語の領域上の位置とを算出する(ステップS505)。
その上で、推定部15dは、第1の認識単語の領域上の位置t1が所定の閾値Th1、例えば「0.2」以下であるか否かを判定する(ステップS506)。このとき、第1の認識単語の領域上の位置t1が閾値Th1以下である場合(ステップS506Yes)、第2の認識単語の領域上の位置t2が所定の閾値Th2、例えば「0.8」以上であるか否かをさらに判定する(ステップS507)。
ここで、第1の認識単語の領域上の位置t1が閾値Th1以下であり、かつ第2の認識単語の領域上の位置t2が閾値Th2以上である場合、プレゼンテーションがスライドの記述内容の通りに進行し、領域間を遷移した直後である可能性が高いと推認できる。この場合、推定部15dは、第1の領域および第2の領域の距離が所定の閾値、例えばα行以内であるか否かをさらに判定する(ステップS508)。このとき、第1の領域および第2の領域の距離が閾値以内である場合(ステップS508Yes)、推定部15dは、第1の領域を発話箇所と推定する(ステップS509)。
また、第1の領域に含まれる抽出単語の数が所定値以上でない場合(ステップS504No)、第1の認識単語が音声認識により得られた段階でハイライト表示を実施しないと第1の領域のハイライト表示漏れが発生する可能性が高まる。この場合にも、推定部15dは、第1の領域を発話箇所と推定する(ステップS509)。
一方、第1の認識単語に対応付けられたインデックスと第2の認識単語に対応付けられたインデックスとが同一である場合、第1の認識単語が表示中のスライド内の複数の領域に出現する単語である場合、第1の認識単語の領域上の位置t1が閾値Th1以下でない場合、第2の認識単語の領域上の位置t2が閾値Th2以上でない場合、あるいは第1の領域および第2の領域の距離が閾値以内でない場合(ステップS502No、ステップS503Yes、ステップS506No、ステップS507NoまたはステップS508No)、推定部15dは、認識単語数が最多である領域を発話箇所として推定する(ステップS510)。
その後、表示制御部15eは、ステップS509またはステップS510で発話箇所として推定された領域に関するハイライト表示を実行し(ステップS511)、処理を終了する。
なお、図5に示したステップS502、ステップS503、ステップS506〜ステップS508の判定は、図示の順序通りに実行されずともかまわず、順不同で実行することもできるし、並列処理により判定することもできる。
[効果の一側面]
上述してきたように、本実施例に係るプレゼンテーション支援装置10は、発話から音声認識される2つの認識単語がスライド上の複数の領域にまたがる場合に2つの認識単語のうち後続する認識単語が出現する領域の表示状態を変更する。それ故、単語の絶対数が少ない領域内の単語が発話された場合、他の領域内の単語の発話頻度が高くとも当該領域の表示状態をハイライト表示等に変更できる結果、単語の絶対数が少ない領域の表示状態が変更されずにスキップされるのを抑制できる。したがって、本実施例に係るプレゼンテーション支援装置10によれば、発話箇所の表示状態の変更漏れが発生するのを抑制できる。
また、本実施例に係るプレゼンテーション支援装置10は、第1の領域に含まれる抽出単語の数が所定値以上である場合、第1の認識単語の位置が第1の領域の先頭から所定の範囲内であり、かつ第2の認識単語の位置が第2の領域の末尾から所定の範囲内であるか否かを判定する。したがって、本実施例に係るプレゼンテーション支援装置10によれば、第1の領域から第2の領域へのハイライト表示の切替えを迅速に行うことができる。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
[文書ファイルの応用例]
上記の実施例1では、プレゼンテーションソフトによって作成された文書を用いる場合を例示したが、他のアプリケーションプログラムによって作成された文書を用いることもできる。例えば、ワープロソフトの文書ファイルが有するページをスライドに読み替えたり、表計算ソフトの文書ファイルが有するシートをスライドに読み替えたりすることによって図3〜図5に示した処理を同様に適用できる。
[分散および統合]
また、図示した各装置の各構成要素は、必ずしも物理的に図1や図6の如く構成されておらずともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、抽出部15a、認識部15b、算出部15c、推定部15dまたは表示制御部15eもしくは表示制御部23aをプレゼンテーション支援装置10またはプレゼンテーション支援装置20の外部装置としてネットワーク経由で接続するようにしてもよい。また、抽出部15a、認識部15b、算出部15c、推定部15dまたは表示制御部15eもしくは表示制御部23aを別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記のプレゼンテーション支援装置10またはプレゼンテーション支援装置20の機能を実現するようにしてもよい。
[他の実装例]
上記の実施例1では、プレゼンテーション支援装置10またはプレゼンテーション支援装置20が上記のプレゼンテーションソフトを外部のリソースに依存せずに単独で実行するスタンドアローンで図3〜図5に関する処理を実行する場合を例示したが、他の実装形態を採用することもできる。例えば、プレゼンテーションソフトを実行するクライアントに対し、図3〜図5に関する処理のうち一部または全部の処理を実行するサーバを設けることによってクライアントサーバシステムとして構築することもできる。この場合、パッケージソフトウェアやオンラインソフトウェアとして上記のプレゼンテーション支援サービスを実現するプレゼンテーション支援プログラムをインストールさせることによってサーバ装置を実装できる。例えば、サーバ装置は、上記のプレゼンテーション支援サービスを提供するWebサーバとして実装することとしてもよいし、アウトソーシングによって上記のプレゼンテーション支援サービスを提供するクラウドとして実装することとしてもかまわない。この場合、クライアントは、サーバ装置に対し、ハイライト表示の開始指示、例えば少なくともプレゼンテーションに用いる文書ファイルを指定する情報をアップロードした後に、プレゼンテーションが開始される。プレゼンテーションが開始されると、クライアントは、マイク1から採取された音声信号または音声認識処理の結果をアップロードし、表示装置5に表示中のスライドのページが切り替わる度にスライドのページ情報をアップロードする。すなわち、抽出単語データの生成処理や音声認識処理は、クライアント側で実行させることもできるし、サーバ側で実行させることとしてもかまわない。これによって、サーバ装置は、少なくとも図5に示した処理が実行可能となる。さらに、クライアントは、図示しない入力デバイスに関する操作情報をサーバへ伝送し、サーバから伝送される処理結果だけを表示装置5に表示させることにより、シンクライアントシステムとして構築することもできる。この場合には、各種のリソース、例えば文書データもサーバにより保持されると共に、プレゼンテーションソフトもサーバで仮想マシンとして実装されることになる。例えば、プレゼンテーションソフトがクライアント側で実行される場合、サーバからクライアントへハイライト表示を実施する領域の識別情報、例えば上記の領域のインデックスを伝送すればよく、また、シンクライアントシステムとして実装される場合、説明箇所のハイライト表示が実施されたスライドの表示データまたはハイライト表示が行われる前の画面との差分データをサーバからクライアントへ伝送すればよい。なお、上記の実施例1では、上記のプレゼンテーション支援処理が組み込まれたプレゼンテーションソフトが実行される場合を想定したが、ライセンス権限を有するクライアントからプレゼンテーション支援プログラムをライブラリとして参照する要求を受け付けた場合に、プレゼンテーション支援プログラムをプレゼンテーションソフトへプラグインさせることもできる。
[シンクライアントシステムへの適用例1]
図7は、実施例3に係るプレゼンテーション支援システム3の構成例を示す図である。図7には、図1に示したプレゼンテーション支援装置10がシンクライアントシステムとして実装される例が示されている。図7に示すプレゼンテーション支援システム3は、一例として、クライアント端末30に最低限の機能しか持たせず、サーバ装置300でアプリケーションやファイルなどのリソースを管理する。なお、ここでは、プレゼンテーション支援システム3の一形態としてシンクライアントシステムを例示するが、後述のように、汎用のクライアントサーバシステムにも上記のプレゼンテーション支援サービスを適用できることをここで付言しておく。
図7に示すように、プレゼンテーション支援システム3には、クライアント端末30と、サーバ装置300とが含まれる。
クライアント端末30には、デスクトップ型またはノート型のパーソナルコンピュータなどの情報処理装置を採用することができる。この他、クライアント端末30には、上記のパーソナルコンピュータなどの据置き型の端末のみならず、各種の携帯端末装置を採用することもできる。例えば、携帯端末装置の一例として、スマートフォン、携帯電話機やPHSなどの移動体通信端末、さらには、PDAなどのスレート端末などがその範疇に含まれる。
サーバ装置300は、上記のプレゼンテーション支援サービスを提供するコンピュータである。
一実施形態として、サーバ装置300は、パッケージソフトウェアやオンラインソフトウェアとして上記のプレゼンテーション支援サービスを実現するプレゼンテーション支援プログラムをインストールさせることによってサーバ装置を実装できる。例えば、サーバ装置300は、上記のプレゼンテーション支援サービスを提供するWebサーバとして実装することとしてもよいし、アウトソーシングによって上記のプレゼンテーション支援サービスを提供するクラウドとして実装することとしてもかまわない。
これらクライアント端末30及びサーバ装置300は、ネットワークNWを介して、互いが通信可能な状態で接続される。ネットワークNWの一例として、有線または無線を問わず、インターネットを始め、LANやVPN(Virtual Private Network)などの任意の種類の通信網を採用できる。
図7に示す通り、クライアント端末30は、マイク1と、表示装置5と、入力装置7と、データ授受部24とを有する。なお、図7には、図1に示した機能部と同様の機能を発揮する機能部、例えばマイク、表示装置及び入力装置に同一の符号を付し、その説明を省略する。
データ授受部34は、サーバ装置300との間で各種のデータの授受を制御する処理部である。
一実施形態として、データ授受部34は、一例として、クライアント端末30が有するCPUなどのプロセッサにより、シンクライアントシステムのクライアント用のプログラムが実行されることで、仮想的に実現される。
例えば、データ授受部34は、マイク1により入力される音声データ、さらには、入力装置7が受け付けた操作情報などをサーバ装置300へ送信する。また、データ授受部34は、サーバ装置300で実行されるプレゼンテーションソフトの実行結果を含むデスクトップ画面、すなわち表示装置5のスクリーンに表示させる表示データを受信する。例えば、プレゼンテーションソフトにより文書ファイルがスライドショーで表示される場合、プレゼンテーションソフトにより生成されるウィンドウは全画面表示されるので、デスクトップ画面とウィンドウ画面とが同じ表示内容となる。ここで、データ授受部34は、サーバ装置300が伝送するデスクトップ画面の表示データを任意のフレームレートで受信することができる他、デスクトップ画面の表示データに差分がある場合に絞ってデスクトップ画面の表示データを受信することもできる。このとき、サーバ装置300から伝送されるデスクトップ画面の表示データは、デスクトップ画面の全体であってもよいし、デスクトップ画面の一部、例えばフレーム間の差分の表示データであってもかまわない。
このように、クライアント端末30及びサーバ装置300の間で授受される各種のデータには、トラフィックを抑制する観点から、圧縮符号化を行うこととしてもよいし、また、セキュリティの観点から、各種の暗号化を行うこととしてもよい。
図7に示すように、サーバ装置300は、記憶部320と、制御部340とを有する。なお、サーバ装置300は、図7に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば他の装置との間で通信制御を行う通信I/F部などの機能部を有することとしてもかまわない。
記憶部320は、制御部340で実行されるOSやプレゼンテーションソフトを始め、アプリケーションプログラムなどの各種プログラムに用いられるデータを記憶するデバイスである。
一実施形態として、記憶部320は、サーバ装置300における主記憶装置として実装される。例えば、記憶部320には、各種の半導体メモリ素子、例えばRAMやフラッシュメモリを採用できる。また、記憶部320は、補助記憶装置として実装することもできる。この場合、HDD、光ディスクやSSDなどを採用できる。
例えば、記憶部320は、制御部340で実行されるプログラムに用いられるデータの一例として、図7に示す文書データ321、抽出単語データ322及び認識単語データ323を記憶する。これら文書データ321、抽出単語データ322及び認識単語データ323は、サーバ装置300に接続されるクライアント端末30のうちいずれのクライアント端末30に関するデータであるのかがサーバ装置300で識別できるように、文書データ321、抽出単語データ322及び認識単語データ323が格納される記憶領域がクライアント端末30の識別情報ごとに区別されたり、あるいは文書データ321、抽出単語データ322及び認識単語データ323がクライアント端末30の識別情報とさらに対応付けられたりする他は、図1に示した文書データ13a、抽出単語データ13b及び認識単語データ13cと同様のデータである。
制御部340は、各種のプログラムや制御データを格納する内部メモリを有し、これらによって種々の処理を実行するものである。
一実施形態として、制御部340は、中央処理装置、いわゆるCPUとして実装される。なお、制御部340は、必ずしも中央処理装置として実装されずともよく、MPUやDSPとして実装されることとしてもよい。また、制御部340は、ASICやFPGAなどのハードワイヤードロジックによっても実現できる。
制御部340は、各種のプログラムを実行することによって下記の処理部を仮想的に実現する。例えば、制御部340は、図7に示すように、抽出部341と、認識部342と、算出部343と、推定部344と、表示制御部345とを有する。
図7に示す抽出部341、認識部342、算出部343及び推定部344は、図1に示した抽出部15a、認識部15b、算出部15c及び推定部15dと同様の処理を実行する処理部である。
表示制御部345は、クライアント端末30の表示装置5に対する表示制御を実行する処理部である。
ここで、表示制御部345は、クライアント端末30のデスクトップ画面、すなわち表示装置5のスクリーンに表示させる表示データを所定のフレームレート、あるいはデスクトップ画面の更新を契機に送信する。このとき、表示制御部345は、デスクトップ画面に更新がない場合、必ずしもデスクトップ画面の表示データをクライアント端末30へ伝送せずともかまわない。さらに、表示制御部345は、デスクトップ画面の全体の表示データを送信することとしてもよいし、デスクトップ画面の一部、例えばフレーム間の差分の表示データを送信することとしてもかまわない。このようなデスクトップ画面の伝送と並行して、表示制御部345は、図1に示した表示制御部15eと同様に、クライアント端末30から伝送される入力装置7の操作情報にしたがって上記のスライドの表示制御を実行したり、さらには、上記のハイライトの表示制御などを実行することにより、プレゼンテーションソフトにより生成されるウィンドウ画面の表示データを更新する。このようにしてデスクトップ画面の伝送時にウィンドウ画面の更新内容がサーバ装置300からクライアント端末30へ伝送されることになる。
以上のように、本実施例に係るプレゼンテーション支援システム3がシンクライアントシステムとして実装された場合、サーバ装置300の抽出部341が図3に示した処理を実行し、認識部342が図4に示した音声認識処理を実行することができる。この音声認識処理では、ステップS301でマイク1から音声データが直接取得される代わりに、クライアント端末30からサーバ装置300へ伝送される音声データが取得される以外に処理内容の差はない。さらに、サーバ装置300の算出部343、推定部344及び表示制御部345が図5に示した表示制御処理を実行することができる。
[シンクライアントシステムへの適用例2]
図8は、実施例3に係るプレゼンテーション支援システム4の構成例を示す図である。図8には、図6に示したプレゼンテーション支援装置20がシンクライアントシステムとして実装される例が示されている。図8に示すプレゼンテーション支援システム4は、一例として、クライアント端末40に最低限の機能しか持たせず、サーバ装置400でアプリケーションやファイルなどのリソースを管理する。なお、ここでは、プレゼンテーション支援システム4の一形態としてシンクライアントシステムを例示するが、後述のように、汎用のクライアントサーバシステムにも上記のプレゼンテーション支援サービスを適用できることをここで付言しておく。
図8に示すように、プレゼンテーション支援システム4には、クライアント端末40と、サーバ装置400とが含まれる。
クライアント端末40には、デスクトップ型またはノート型のパーソナルコンピュータなどの情報処理装置を採用することができる。この他、クライアント端末40には、上記のパーソナルコンピュータなどの据置き型の端末のみならず、各種の携帯端末装置を採用することもできる。例えば、携帯端末装置の一例として、スマートフォン、携帯電話機やPHSなどの移動体通信端末、さらには、PDAなどのスレート端末などがその範疇に含まれる。
サーバ装置400は、上記のプレゼンテーション支援サービスを提供するコンピュータである。
一実施形態として、サーバ装置400は、パッケージソフトウェアやオンラインソフトウェアとして上記のプレゼンテーション支援サービスを実現するプレゼンテーション支援プログラムをインストールさせることによってサーバ装置を実装できる。例えば、サーバ装置400は、上記のプレゼンテーション支援サービスを提供するWebサーバとして実装することとしてもよいし、アウトソーシングによって上記のプレゼンテーション支援サービスを提供するクラウドとして実装することとしてもかまわない。
これらクライアント端末40及びサーバ装置400は、ネットワークNWを介して、互いが通信可能な状態で接続される。ネットワークNWの一例として、有線または無線を問わず、インターネットを始め、LANやVPNなどの任意の種類の通信網を採用できる。
図8に示す通り、クライアント端末40は、図7に示したマイク1、表示装置5、入力装置7及びデータ授受部34に加え、映像入力装置8をさらに有する。この映像入力装置8には、一例として、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子を搭載する撮像装置を採用できる。これにより、映像データ21aを予め保持しておかずとも、映像入力装置8に撮像された演劇などの映像コンテンツをリアルタイムで表示装置5に再生させることもできる。また、映像データ21aをサーバ装置400に保持させておき、映像コンテンツを表示制御部445に再生させることもできる。なお、図8には、図1に示した機能部と同様の機能を発揮する機能部、例えばマイク、表示装置及び入力装置に同一の符号を付し、その説明を省略する。
データ授受部44は、サーバ装置400との間で各種のデータの授受を制御する処理部である。
一実施形態として、データ授受部44は、一例として、クライアント端末40が有するCPUなどのプロセッサにより、シンクライアントシステムのクライアント用のプログラムが実行されることで、仮想的に実現される。例えば、データ授受部44は、マイク1により入力される音声データ、さらには、入力装置7が受け付けた操作情報などをサーバ装置400へ送信する。また、データ授受部44は、発話箇所に対応するセリフに関する表示データ、さらには、セリフが表示される大きさや位置などの属性情報を受信する。
このように、クライアント端末40及びサーバ装置400の間で授受される各種のデータには、トラフィックを抑制する観点から、圧縮符号化を行うこととしてもよいし、また、セキュリティの観点から、各種の暗号化を行うこととしてもよい。
図8に示すように、サーバ装置400は、記憶部420と、制御部440とを有する。なお、サーバ装置400は、図8に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば他の装置との間で通信制御を行う通信I/F部などの機能部を有することとしてもかまわない。
記憶部420は、制御部440で実行されるOSやプレゼンテーションソフトを始め、アプリケーションプログラムなどの各種プログラムに用いられるデータを記憶するデバイスである。
一実施形態として、記憶部420は、サーバ装置400における主記憶装置として実装される。例えば、記憶部420には、各種の半導体メモリ素子、例えばRAMやフラッシュメモリを採用できる。また、記憶部420は、補助記憶装置として実装することもできる。この場合、HDD、光ディスクやSSDなどを採用できる。
例えば、記憶部420は、制御部440で実行されるプログラムに用いられるデータの一例として、図8に示す文書データ421、抽出単語データ422及び認識単語データ423を記憶する。これら文書データ421、抽出単語データ422及び認識単語データ423は、サーバ装置400に接続されるクライアント端末40のうちいずれのクライアント端末40に関するデータであるのかがサーバ装置400で識別できるように、文書データ421、抽出単語データ422及び認識単語データ423が格納される記憶領域がクライアント端末40の識別情報ごとに区別されたり、あるいは文書データ421、抽出単語データ422及び認識単語データ423がクライアント端末40の識別情報とさらに対応付けられたりする他は、図6に示した文書データ13a、抽出単語データ13b及び認識単語データ13cと同様のデータである。なお、図6に示した映像データ21aをさらに記憶部420に記憶させることもできる。
制御部440は、各種のプログラムや制御データを格納する内部メモリを有し、これらによって種々の処理を実行するものである。
一実施形態として、制御部440は、中央処理装置、いわゆるCPUとして実装される。なお、制御部440は、必ずしも中央処理装置として実装されずともよく、MPUやDSPとして実装されることとしてもよい。また、制御部440は、ASICやFPGAなどのハードワイヤードロジックによっても実現できる。
制御部440は、各種のプログラムを実行することによって下記の処理部を仮想的に実現する。例えば、制御部440は、図8に示すように、抽出部441と、認識部442と、算出部443と、推定部444と、表示制御部445とを有する。図8に示す抽出部441、認識部442、算出部443、推定部444及び表示制御部445は、図6に示した抽出部15a、認識部15b、算出部15c、推定部15d及び表示制御部23aと同様の処理を実行する処理部である。
以上のように、本実施例に係るプレゼンテーション支援システム4がシンクライアントシステムとして実装された場合、サーバ装置400の抽出部441が図3に示した処理を実行し、認識部442が図4に示した音声認識処理を実行することができる。この音声認識処理では、ステップS301でマイク1から音声データが直接取得される代わりに、クライアント端末30からサーバ装置300へ伝送される音声データが取得される以外に処理内容の差はない。さらに、サーバ装置400の算出部443、推定部444及び表示制御部445が図5に示した表示制御処理を実行することができる。
[汎用のクライアントサーバシステムへの適用例]
図7及び図8には、プレゼンテーション支援システム3または4がシンクライアントシステムとして実装される場合を例示したが、必ずしもシンクライアントシステムとして実装されずともかまわず、汎用のクライアントサーバシステムとして実装することもできる。
例えば、図1または図6に示したプレゼンテーション支援装置10または20をクライアント端末とし、このクライアント端末を収容する図示しないサーバ装置に、プレゼンテーション支援装置10または20が有する処理部のうち、算出部15c、推定部15d及び表示制御部15eもしくは23aなどの処理部を実装することとすればよい。この場合、クライアント端末であるプレゼンテーション支援装置10または20が図4に示した音声認識処理を実行し、認識単語が得られる度に追加の認識単語もしくは認識単語データの全体を図示しないサーバ装置へ伝送することにより、図示しないサーバ装置上でクライアント端末ごとに認識単語データが記憶されることになる。これによって、クライアント及びサーバ間で音声データが伝送されずともよくなる。
以上のように、汎用のクライアントサーバシステムにも上記のプレゼンテーション支援サービスを適用できる。
[電子会議システムへの適用例]
例えば、上記の実施例1では、話者と聴講者が1つの表示装置5を共用する場面を例示したが、必ずしも話者と聴講者が1つの表示装置を共用せずともかまわず、複数の表示装置の間で同一の表示内容が共有される場面にも上記のプレゼンテーション支援サービスを適用できる。例えば、電子会議等のコミュニケーションにおいて各参加者が話者及び聴講者の少なくとも一方または両方の立場で参加する状況が挙げられる。この場合、互いの表示装置に接続されるコンピュータがネットワークを介して接続されていれば互いが遠隔地に存在してもかまわない。
図9は、電子会議システムへの適用例を示す図である。例えば、図9に示すように、図1に示したプレゼンテーション支援装置10と同様の機能を有するクライアント端末10A及び10BがネットワークNWを介して接続されると共にクライアント端末10A及び10B上でコミュニケーションツール、例えば画面共有用のアプリケーションプログラムが実行される場面に適用できる。これによって、クライアント端末10A及び10Bが有する各表示装置の間で同一の表示内容、例えばプレゼンテーションソフト用の文書ファイルが共有される。このような状況の下、クライアント端末10A及び10Bのうち少なくとも一方の端末が図3〜図5に示した処理を実行することにより、クライアント端末10Aまたは10Bの利用者の発話および視線を利用して、文書ファイルに含まれるスライドのうち説明箇所に対応する領域をハイライト表示することができる。
図10は、電子会議システムへの適用例を示す図である。例えば、図10に示すように、図7に示したクライアント端末30と同様の機能を有するクライアント端末30A及び30Bと、図7に示したサーバ装置300とがネットワークNWを介して接続されると共に、サーバ装置300上でコミュニケーションツール、例えば画面共有用のアプリケーションプログラムが実行される場面に適用できる。これによって、クライアント端末30A及び30Bが有する各表示装置の間で同一の表示内容、例えばプレゼンテーションソフト用の文書ファイルが共有される。このような状況の下、サーバ装置300が図3〜図5に示した処理を実行することにより、クライアント端末30Aまたは30Bの利用者の発話を利用して、文書ファイルに含まれるスライドのうち説明箇所に対応する領域をハイライト表示することができる。
[表示状態の変更方法]
図1に示したプレゼンテーション支援装置10や図7に示したプレゼンテーション支援システム3では、スライドを常に表示させる場合を例示したが、発話箇所が推定されることを条件に当該発話箇所に対応する領域を抜粋することにより領域の表示状態の変更を実現し、プレゼンテーションを支援することとしてもよい。図11は、プレゼンテーション支援システムへの実装例を示す図である。図11には、図8に示したプレゼンテーション支援システム4が会議等のプレゼンテーションに援用される場合が示されている。図11に示すように、図8に示したクライアント端末40が有する映像入力装置8がプレゼンタ等の話者の様子を撮像できる位置に設置されると共に、クライアント端末40が有する表示装置5が聴講者が閲覧可能な状態で設置される。なお、図11には、図示を省略しているが、クライアント端末40にはサーバ装置400が接続されている。この表示装置5は、クライアント端末40と通信可能な状態であれば遠隔地に設置されることとしてもよい。図11に示す構成の下、発話箇所が推定されることを条件に当該発話箇所に対応する領域を抜粋することにより領域の表示状態の変更を実現し、プレゼンテーションを支援することができる。例えば、映像入力装置8により入力される映像に発話箇所に対応する領域を字幕スーパー5aとして重畳表示させる。
[プレゼンテーション支援プログラム]
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図12を用いて、上記の実施例と同様の機能を有するプレゼンテーション支援プログラムを実行するコンピュータの一例について説明する。
図12は、実施例1〜実施例3に係るプレゼンテーション支援プログラムを実行するコンピュータのハードウェア構成例を示す図である。図12に示すように、コンピュータ100は、操作部110aと、スピーカ110bと、カメラ110cと、ディスプレイ120と、通信部130とを有する。さらに、このコンピュータ100は、CPU150と、ROM160と、HDD170と、RAM180とを有する。これら110〜180の各部はバス140を介して接続される。
HDD170には、図12に示すように、上記の実施例1で示した抽出部15a、認識部15b、算出部15c、推定部15d及び表示制御部15eと同様の機能を発揮するプレゼンテーション支援プログラム170aが記憶される。また、HDD170には、上記の実施例2で示した抽出部15a、認識部15b、算出部15c、推定部15d及び表示制御部23aと同様の機能を発揮するプレゼンテーション支援プログラム170aが記憶されることとしてもかまわない。このプレゼンテーション支援プログラム170aは、図1に示した抽出部15a、認識部15b、算出部15c、推定部15d及び表示制御部15eの各構成要素と同様、統合又は分離してもかまわない。すなわち、HDD170には、必ずしも上記の実施例1または上記の実施例2で示した全てのデータが格納されずともよく、処理に用いるデータがHDD170に格納されればよい。
このような環境の下、CPU150は、HDD170からプレゼンテーション支援プログラム170aを読み出した上でRAM180へ展開する。この結果、プレゼンテーション支援プログラム170aは、図12に示すように、プレゼンテーション支援プロセス180aとして機能する。このプレゼンテーション支援プロセス180aは、RAM180が有する記憶領域のうちプレゼンテーション支援プロセス180aに割り当てられた領域にHDD170から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、プレゼンテーション支援プロセス180aが実行する処理の一例として、図3〜図5に示す処理などが含まれる。なお、CPU150では、必ずしも上記の実施例1で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
なお、上記のプレゼンテーション支援プログラム170aは、必ずしも最初からHDD170やROM160に記憶されておらずともかまわない。例えば、コンピュータ100に挿入されるフレキシブルディスク、いわゆるFD、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にプレゼンテーション支援プログラム170aを記憶させる。そして、コンピュータ100がこれらの可搬用の物理媒体からプレゼンテーション支援プログラム170aを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WANなどを介してコンピュータ100に接続される他のコンピュータまたはサーバ装置などにプレゼンテーション支援プログラム170aを記憶させておき、コンピュータ100がこれらからプレゼンテーション支援プログラム170aを取得して実行するようにしてもよい。