以下に、本発明にかかる入力情報支援装置、入力情報支援方法および入力情報支援プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
[システム構成]
最初に、実施例1に係る入力情報支援装置を用いて情報の入力の支援を行うシステムの一例を説明する。なお、本実施例では、入力情報支援装置を、会議を支援する会議支援システムに適用した場合を説明する。図1は、会議支援システムの構成の一例を説明する図である。図1に示すように、会議支援システム10は、複数の入力情報支援装置11を有する。図1の例では、入力情報支援装置11を2台とした場合を例示したが、これに限定されず、入力情報支援装置11は2台以上であれば任意の数とすることができる。各入力情報支援装置11は、ネットワークを介して通信可能に接続され、各種の情報を交換することが可能とされている。図1の例では、無線基地局12をアクセスポイントとした無線LAN(Local Area Network)のネットワークにより、各入力情報支援装置11が通信可能に接続されている。ネットワークとしては、無線LANに限らず、有線LAN、携帯電話などの移動体通信、ブルートゥース(登録商標)などの近距離無線通信、インターネット(Internet)などの任意の種類の通信網を採用できる。
入力情報支援装置11は、会議に参加するユーザが使用する装置である。例えば、入力情報支援装置11は、パーソナルコンピュータやタブレット端末、スマートフォンなどの情報処理装置である。各入力情報支援装置11は、それぞれに入力された入力内容を時系列順に表示して、会議を支援するプログラムが動作している。会議に参加するユーザは、入力情報支援装置11を用いて、各種の情報の入力を行う。入力情報支援装置11は、入力された入力内容を表示するとともに、他の入力情報支援装置11に送信する。また、入力情報支援装置11は、他の入力情報支援装置11から受信した入力内容を表示する。これにより会議支援システム10では、各入力情報支援装置11で各ユーザが入力した入力内容を参照できる。この会議支援システム10は、例えば、聴覚に障害があるユーザを含んで会議を行う場合や、遠隔地のユーザ間で会議を行う場合に利用される。
[入力情報支援装置11のハードウェア構成]
次に、実施例1に係る入力情報支援装置11のハードウェア構成について説明する。図2は、入力情報支援装置のハードウェア構成の一例を示す図である。なお、図2は、パーソナルコンピュータにより入力情報支援装置11を構成した場合の一例を示す図である。図2に示すように、入力情報支援装置11は、CPU(Central Processing Unit)20と、メモリ21と、無線モジュール22と、HDD(Hard Disk Drive)23と、表示部24と、第1入力デバイス25と、外部I/F(インタフェース)26とを有する。これらCPU20、メモリ21、無線モジュール22、HDD23、表示部24、第1入力デバイス25、外部I/F26は、バス28を介して接続されている。なお、入力情報支援装置11は、図2に示したハードウェア以外にも既知のコンピュータが有する各種のハードウェアを有することとしてもかまわない。
CPU20は、入力情報支援装置11を制御するデバイスである。CPU20は、入力情報支援に関する各種のプログラムを実行することにより、各種の処理部として機能し、パーソナルコンピュータを入力情報支援装置11として機能させる。CPU20が実現する機能の詳細については、後述する。
メモリ21は、CPU20が実行するプログラムやプログラムが使用する各種のデータを一時的に記憶するデバイスである。本実施例に係る入力情報支援装置11では、ユーザから入力された入力内容を記憶するバッファ60の記憶領域がメモリ21に設けられる。
無線モジュール22は、他の入力情報支援装置11と通信を行う通信デバイスである。無線モジュール22は、CPU20の制御の元、無線LANの通信により他の入力情報支援装置11と各種の情報を交換する。例えば、無線モジュール22は、ユーザから入力された入力内容を他の入力情報支援装置11へ送信する。また、無線モジュール22は、他の入力情報支援装置11から他の入力情報支援装置11に入力された入力内容を受信する。
HDD23は、CPU20で実行される各種のプログラム、各種のデータを記憶するデバイスである。本実施例に係る入力情報支援装置11では、入力内容を時系列順に表示して、会議を支援するプログラムがHDD23に記憶される。
表示部24は、各種情報を表示するデバイスである。表示部24としては、LCD(Liquid Crystal Display)などの表示デバイスが挙げられる。表示部24は、各種情報を表示する。例えば、表示部24は、後述する会話画面を表示する。
第1入力デバイス25は、ユーザが操作により各種の情報の入力を行うデバイスである。例えば、第1入力デバイス25は、キーボードや、マウス、入力情報支援装置11に設けられた各種のボタン、表示部24上に設けられた透過型のタッチセンサなどの入力デバイスが挙げられる。なお、図2の例では、機能的な構成を示したため、表示部24と第1入力デバイス25を別に分けているが、例えば、タッチパネルなど表示部24と第1入力デバイス25を一体的に設けたデバイスで構成してもよい。
外部I/F26は、外部のデバイスとデータの入出力を行うインタフェースである。例えば、外部I/F26は、USB(Universal Serial Bus)ポートなどの入出力ポートや、ディスプレイポート、HDMI(登録商標)(High-Definition Multimedia Interface)などの映像の入出力ポートが挙げられる。外部I/F26は、外部のデバイスが接続される。図2の例では、外部I/F26に第2入力デバイス29と、外部表示装置30とが接続されている。
第2入力デバイス29は、ユーザが音声により各種の情報の入力を行うデバイスである。例えば、第2入力デバイス29は、ユーザの音声を集音して音声データを出力するマイクである。
外部表示装置30は、各種情報を表示するデバイスである。外部表示装置30としては、例えば、画像を投影するプロジェクタや外部ディスプレイなど、入力情報支援装置11に着脱可能な表示デバイスが挙げられる。
本実施例に係る入力情報支援装置11は、会議を支援するプログラムが動作し、自装置又は他の入力情報支援装置11の第1入力デバイス25又は第2入力デバイス29から入力された入力内容を時系列順に表示した会話画面を表示する。
[会話画面]
図3は、会話画面の一例を示す図である。会話画面40には、各ユーザから受け付けた入力内容が、受け付けた時系列順に枠41を分けて表示されている。また、会話画面40には、ユーザが入力を行うための複数の入力アイコン42が設けられている。図3の例では、入力アイコン42として、手書き入力アイコン42A、音声認識入力アイコン42B、キーボード入力アイコン42C、スタンプ入力アイコン42Dが設けられている。図3の例では、ユーザA、Bによる入力が行われた7つの枠41が表示されている。枠41には、それぞれ入力された入力内容と、入力された時刻が表示される。
手書き入力アイコン42Aは、入力内容を手書きで入力することを指定するアイコンである。手書き入力アイコン42Aが選択されると、マウス操作又はタッチ操作により手書きで入力可能となり、手書き入力された画像が入力内容とされる。図3の例の4行目の枠41では、「C30」と手書きされた画像が入力された場合を示している。
音声認識入力アイコン42Bは、入力内容を音声で入力することを指定するアイコンである。音声認識入力アイコン42Bが選択されると、マイクから入力された音声データを音声認識した文字が入力内容とされる。
キーボード入力アイコン42Cは、入力内容をキーボードで入力することを指定するアイコンである。キーボード入力アイコン42Cが選択されると、キーボードから入力された文字が入力内容とされる。
スタンプ入力アイコン42Dは、入力内容をイラストで入力することを指定するアイコンである。スタンプ入力アイコン42Dが選択されると、各種の入力内容をイラストで示したスタンプが表示され、選択されたイラストが入力内容とされる。図3の例では、スタンプ入力アイコン42Dが選択されると、「YES」、「NO」、「OK!」、「STOP!」が記載されたスタンプが表示され、選択されたスタンプの画像が入力内容とされる。図3の例の7行目の枠41では、「OK!」のスタンプが入力された場合を示している。
なお、本実施例に係る入力情報支援装置11は、会話画面40の入力アイコン42により入力の種類を切り替える可能としているが、入力された内容に応じた入力の種類を切り替ええてもよい。例えば、入力情報支援装置11は、マイクから閾値以上の音声の入力があった場合に、入力された音声の音声認識を行い、音声認識した文字を入力内容としてもよい。また、入力情報支援装置11は、キーボードからキー入力があった場合に、入力された文字を入力内容としてもよい。また、入力情報支援装置11は、複数種類のスタンプを画面の一部に表示しておき、タッチ操作やマウス操作などでスタンプが選択された場合に、選択されたスタンプを入力内容としてもよい。また、入力情報支援装置11は、手書き入力領域を画面の一部に表示しておき、タッチ操作やマウス操作などで入力領域に手書き入力された場合に、入力領域に手書きされた画像を入力内容としてもよい。
会話画面40は、各ユーザから受け付けた入力内容が時系列順に枠41を分けて縦方向に表示され、表示領域を超えると古い表示内容が表示領域外となるように枠41が全体的に縦方向に移動する。また、会話画面40には、表示領域を移動させるスクロールバー43が設けられており、スクロールバー43により表示領域を移動させることにより、一旦表示領域外となった古い表示内容を表示させることが可能とされている。
ところで、ユーザの入力内容を時系列順に枠41に表示すると、複数のユーザが入力した場合に各ユーザの入力内容が途切れ途切れで表示されるため、入力内容が把握しづらく、使い勝手が悪い場合がある。そこで、本実施例に係る入力情報支援装置11は、特定条件を満たす場合に、過去の入力内容を表示した枠41に、受け付けた入力内容を追加して表示させる入力制御を行う。
[入力制御の機能構成]
入力情報支援装置11が、特定条件を満たす場合に、過去の入力内容を表示した枠に、受け付けた入力内容を追加して表示させる入力制御を行う機能的な構成について説明する。図4は、入力情報支援装置が入力制御を行う機能的な構成の一例を示す図である。
制御部50は、入力情報支援装置11を制御するデバイスであり、例えば、CPU20である。なお、制御部50としては、CPU以外に、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路を採用できる。制御部50は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部50は、各種のプログラムが動作しており、各種の処理部として機能する。例えば、制御部50は、HDD23に記憶されたプログラムが動作することにより、デバイス処理部51と、バッファ変化感知部52と、送信部53と、受信部54と、表示制御部55と、変更部56として機能する。
デバイス処理部51は、第1入力デバイス25および第2入力デバイス29から入力された情報に対して、入力内容を認識するための所定の前処理を行い、ユーザの入力内容を認識する。例えば、デバイス処理部51は、第1入力デバイス25としてキーボードから入力されたキーに応じて文字変換を行う。また、デバイス処理部51は、第1入力デバイス25としてマウスあるいはタッチセンサで手書き入力された場合、手書き入力された画像を生成する。また、デバイス処理部51は、第1入力デバイス25としてマウスあるいはタッチセンサでスタンプが選択された場合、選択されたスタンプの画像を抽出する。また、デバイス処理部51は、第2入力デバイス29としてマイクから音声データが入力された場合、入力された音声データに対して音声認識を行って、文字変換を行う。なお、図4の例では、デバイス処理部51を1つの処理部として示しているが、入力の種類毎に、別な処理部として分けて示してもよい。デバイス処理部51は、認識したユーザの入力内容に、入力したユーザの識別情報、および、入力された時刻情報を付加してバッファ60に格納する。このユーザの識別情報は、例えば、システムにログオンしたユーザIDなどと用いてもよく、あるいは、入力情報支援装置11のマシン名など入力情報支援装置11の識別情報を代用して用いてもよい。
バッファ60は、ユーザから入力内容を受け付け、受け付けた入力内容を管理、記憶する。例えば、バッファ60は、ユーザから入力内容を、ユーザおよび入力内容毎に分けて管理、記憶する。本実施例では、バッファ60が受付部の一例である。
バッファ変化感知部52は、バッファ60に記憶された入力内容の変化を感知する。例えば、バッファ変化感知部52は、バッファ60の、デバイス処理部51から入力内容のデータが格納されたか否かの監視を行い、データの変化を感知する。すなわち、バッファ変化感知部52は、バッファ60に記憶された自装置のユーザのデータの変化を感知することにより、自装置でユーザから入力があったか否かを感知する。
送信部53は、バッファ変化感知部52により自装置でユーザから入力があったことを感知した場合、感知したユーザから入力内容のデータを他の入力情報支援装置11へ送信する。これにより、自装置でユーザから入力された入力内容が他の入力情報支援装置11に表示される。
受信部54は、他の入力情報支援装置11で入力され、他の入力情報支援装置11から送信された入力内容のデータを受信する。この入力内容のデータには、他の入力情報支援装置11で入力したユーザの識別情報、および、入力された時刻情報が付加されている。受信部54は、受信した入力内容のデータをバッファ60に格納する。
表示制御部55は、バッファ60に記憶された複数のユーザの入力内容を、受け付けた時系列順に枠を分けて表示部24に表示させる制御を行う。例えば、表示制御部55は、バッファ60に記憶された各入力内容に付加された時刻情報に基づき、入力内容を、受け付けた時系列順に枠を分けて表示部24に表示させる制御を行う。また、表示制御部55は、特定条件を満たす場合に、過去の入力内容を表示した枠に、受け付けた入力内容を追加して表示させる制御を行う。この特定条件は、例えば、同一のユーザの1つ前の入力内容を受け付けてから次の入力内容の受け付けが所定の第1時間未満であることとする。表示制御部55は、特定条件を満たした場合に、特定条件を満たした同一のユーザの1つ前の入力内容を表示した枠に、受け付けた入力内容を追加して表示させる制御を行う。例えば、第1時間を3秒とする。表示制御部55は、同一のユーザの1つ前の入力内容を受け付けてから次の入力内容の受け付けが3秒未満である場合に、同一のユーザの1つ前の入力内容を表示した枠に、受け付けた入力内容を追加して表示させる制御を行う。
なお、表示制御部55は、同一のユーザの1つ前の入力内容を表示した枠に、受け付けた入力内容を追加して表示させる場合でも、入力内容が入力された時間に応じて、表示形態を分けてもよい。例えば、表示制御部55は、同一のユーザの1つ前の入力内容を受け付けてから、第1時間よりも短い第2時間未満に次の入力内容を受け付けた場合、過去の入力内容を表示した枠に、当該過去の入力内容に続けて、受け付けた入力内容を表示させる制御を行う。なお、過去の入力内容に続けて、受け付けた入力内容を表示させる場合、表示制御部55は、入力内容の区切りを示すため、過去の入力内容を表示した枠に、ブランク、読点などの所定の区切り文字を追加し、その後、受け付けた入力内容を追加してもよい。また、表示制御部55は、同一のユーザの1つ前の入力内容を受け付けてから、第1時間と第2時間の間に次の入力内容を受け付けた場合、過去の入力内容を表示した枠に、当該過去の入力内容に改行して受け付けた入力内容を表示させる制御を行う。例えば、第1時間を3秒とし、第2時間を2秒とする。表示制御部55は、同一のユーザの1つ前の入力内容を受け付けてから、2秒未満に次の入力内容を受け付けた場合、過去の入力内容を表示した枠に、当該過去の入力内容に続けて、受け付けた入力内容を表示させる制御を行う。また、表示制御部55は、同一のユーザの1つ前の入力内容を受け付けてから、2秒以上、3秒未満の間に次の入力内容を受け付けた場合、過去の入力内容を表示した枠に、当該過去の入力内容に改行して受け付けた入力内容を表示させる制御を行う。
変更部56は、入力に所定の変更があった場合、特定条件を緩和する変更を行う。例えば、変更部56は、同一のユーザの1つ前の入力から入力内容の入力方法が変更された場合、特定条件を緩和する変更を行う。例えば、変更部56は、入力方法が音声認識による音声での入力からキーボード入力への変更など入力方法が変更された場合、第1時間を3秒から5秒などへ延長する変更を行う。なお、変更部56は、第2時間を延長する変更を行ってもよい。
ここで、具体例を用いて説明する。図5は、入力の順に応じた表示の一例を説明する図である。図5は、ユーザAが「私は」と「元気」と入力している間に、ユーザBが「はい」と入力した場合を示している。図5の例では、「私は」と「元気」の間は2秒未満であるものとする。
この場合、表示制御部55は、ユーザAの「私は」との入力内容を枠41Aに表示し、その後、ユーザBの「はい」との入力内容を枠41Bに表示する。そして、ユーザAの「元気」との入力が「私は」の入力内容を受け付けてから2秒未満であるため、表示制御部55は、枠41Aに「私は」続けて「元気」を追加して表示させる。これにより、枠41Aには、「私は元気」と表示される。このようにユーザAの入力内容の途中で、ユーザBの入力があった場合でも、ユーザAの入力内容を同じ枠41Aに続けて表示させることで、ユーザAの入力内容が把握しやすくできる。
図6は、入力の順に応じた表示の他の一例を説明する図である。図6は、ユーザAが「私は」と「元気」と入力している間に、ユーザBが「はい」と入力した場合を示している。図6の例では、「私は」と「元気」の間は2秒以上、3秒未満であるものとする。
この場合、表示制御部55は、ユーザAの「私は」との入力内容を枠41Aに表示し、その後、ユーザBの「はい」との入力内容を枠41Bに表示する。そして、ユーザAの「元気」との入力が「私は」の入力内容を受け付けてから2秒以上、3秒未満であるため、表示制御部55は、枠41Aに「私は」に改行して「元気」を追加して表示させる。これにより、枠41Aには、「私は」、改行、「元気」と表示される。このようにユーザAの入力内容の途中で、ユーザBの入力があった場合でも、ユーザAの入力内容を同じ枠41Aに表示させることで、ユーザAの入力内容が把握しやすくできる。また、ユーザAの入力内容に改行を挟むことで、ユーザAが「私は」と「元気」を入力する間に、間があったことを視覚的に表現できる。
図7は、入力の順に応じた表示の他の一例を説明する図である。図7は、ユーザAが「私は」と「元気」と入力している間に、ユーザBが「はい」と入力した場合を示している。図7の例では、「私は」と「元気」の間は3秒以上であるものとする。
この場合、表示制御部55は、ユーザAの「私は」との入力内容を枠41Aに表示し、その後、ユーザBの「はい」との入力内容を枠41Bに表示する。そして、ユーザAの「元気」との入力が「私は」の入力内容を受け付けてから3秒以上であるため、表示制御部55は、新たな枠41Cに「元気」を表示させる。これにより、「私は」、「はい」、「元気」が別な枠41A〜41Cに表示される。このように、ユーザAの入力内容に間が空いた場合、別に表示させることで、ユーザAの入力内容に間が空いたことを視覚的に表現できる。
図8は、入力の順に応じた表示の他の一例を説明する図である。図8は、ユーザBが「はい」と入力した後で、ユーザAが「私は」と「元気」と入力した場合を示している。図7の例では、「私は」と「元気」の間は2秒未満であるものとする。
この場合、表示制御部55は、ユーザBの「はい」との入力内容を枠41Aに表示し、ユーザAの「私は」との入力内容を枠41Bに表示する。そして、ユーザAの「元気」との入力が「私は」の入力内容を受け付けてから2秒未満であるため、表示制御部55は、枠41Bに「私は」続けて「元気」を追加して表示させる。これにより、枠41Bには、「私は元気」と表示される。
[入力制御の処理の流れ]
本実施例に係る入力情報支援装置11が入力情報の表示を支援する入力情報支援処理の流れについて説明する。図9は、入力情報支援処理の手順の一例を示すフローチャートである。この入力情報支援処理は、所定のタイミング、例えば、バッファ60にデバイス処理部51または受信部54から入力内容のデータが格納されたタイミングで実行される。
図9に示すように、表示制御部55は、バッファ60に格納された順に、入力内容のデータに対してユーザ毎に、それぞれ順に識別番号を付与する(S10)。例えば、ユーザA,Bの2人が入力を行う場合、表示制御部55は、初期値をそれぞれゼロとした変数P、Qを確保する。そして、表示制御部55は、ユーザAの入力内容のデータがバッファ60に格納される毎に、入力内容のデータに対して変数Pの値をインクリメントして付与する。また、表示制御部55は、ユーザBの入力内容のデータがバッファ60に格納される毎に、入力内容のデータに対して変数Qの値をインクリメントして付与する。
表示制御部55は、バッファ60に直近に格納された入力内容を入力したユーザjの枠41が表示済みであるか否かを判定する(S11)。ユーザjの枠41がいままで未表示の場合(S11否定)、表示制御部55は、ユーザjの枠41を追加してバッファ60に直近に格納された入力内容を表示させ(S12)、処理を終了する。これにより、一度もの入力内容が表示されていないユーザは、この処理により枠41が表示される。
一方、ユーザjの枠41が表示済みである場合(S11肯定)、変更部56は、同一のユーザの1つ前の入力から入力内容の入力方法が変更されたか否かを判定する(S13)。入力方法が変更されていない場合(S13否定)、後述のS15へ移行する。
入力方法が変更された場合(S13肯定)、変更部56は、特定条件を緩和する変更を行う(S14)。例えば、変更部56は、第1時間を3秒から5秒などへ延長する変更を行う。表示制御部55は、バッファ60に直近に格納された入力内容を入力したユーザjが、直近の1つ前の入力内容を入力したユーザiと同一であるか否か判定する(S15)。ユーザjとユーザiが同一である場合(S15肯定)、表示制御部55は、ユーザjの識別番号で1つ前の入力からの経過時間Δtを求める(S16)。例えば、直近の1つ前の入力内容がユーザAによるものである場合、表示制御部55は、識別番号に変数PとP−1が付与された入力内容が入力された時刻の差を求める。この場合、直近と、直近の1つ前の入力内容が同一のユーザによるものであるため、表示制御部55は、直近と、直近の1つ前の入力内容の間の経過時間Δtを求めることになる。
表示制御部55は、経過時間Δtが第2時間未満であるか否かを判定する(S17)。経過時間Δtが第2時間未満である場合(S17肯定)、表示制御部55は、ユーザjの1つ前の入力内容を表示した枠に、バッファ60に直近に格納された入力内容を追加して表示させ(S18)、処理を終了する。
一方、経過時間Δtが第2時間未満ではない場合(S17否定)、表示制御部55は、経過時間Δtが第1時間未満であるか否かを判定する(S19)。経過時間Δtが第1時間未満である場合(S19肯定)、表示制御部55は、ユーザjの1つ前の入力内容を表示した枠に、改行してバッファ60に直近に格納された入力内容を追加して表示させ(S20)、処理を終了する。
一方、経過時間Δtが第1時間未満ではない場合(S19否定)、表示制御部55は、枠41を追加してバッファ60に直近に格納された入力内容を表示させ(S21)、処理を終了する。
ユーザjとユーザiが同一ではない場合(S15否定)、表示制御部55は、ユーザjの識別番号で1つ前の入力からの経過時間Δtを求める(S22)。例えば、直近の1つ前の入力内容がユーザAによるものである場合、表示制御部55は、識別番号に変数PとP−1が付与された入力内容が入力された時刻の差を求める。
表示制御部55は、経過時間Δtが第2時間未満であるか否かを判定する(S23)。経過時間Δtが第2時間未満である場合(S23肯定)、表示制御部55は、ユーザjの1つ前の入力内容を表示した枠に、バッファ60に直近に格納された入力内容を追加して表示させ(S24)、処理を終了する。
一方、経過時間Δtが第2時間未満ではない場合(S23否定)、表示制御部55は、経過時間Δtが第1時間未満であるか否かを判定する(S25)。経過時間Δtが第1時間未満である場合(S25肯定)、表示制御部55は、ユーザjの1つ前の入力内容を表示した枠に、改行してバッファ60に直近に格納された入力内容を追加して表示させ(S26)、処理を終了する。
一方、経過時間Δtが第1時間未満ではない場合(S25否定)、表示制御部55は、枠41を追加してバッファ60に直近に格納された入力内容を表示させ(S27)、処理を終了する。
この入力情報支援処理により、同一のユーザの1つ前の入力内容を受け付けてから次の入力内容の受け付けが3秒未満である場合に、同一のユーザの1つ前の入力内容を表示した枠に、受け付けた入力内容を追加して表示されるため、ユーザAの入力内容が把握しやすくできる。
ところで、枠41に表示された入力内容は、例えば、キーボードからの入力ミスや変換ミス、音声認識のミスなどにより誤りがある場合がある。そこで、本実施例に係る入力情報支援装置11は、枠41に表示された入力内容の編集の受付を可能としている。例えば、本実施例に係る入力情報支援装置11は、枠41に表示された入力内容に対して範囲を選択して部分的な編集の受付を可能としている。
[編集の流れ]
図10は、編集の流れの一例を示す図である。ユーザは、何れかの枠41に表示された表示内容を編集する場合、編集する枠41を選択する(図10(A))。この編集は、何れの枠41でも選択可能とされている。すなわち、ユーザは、ユーザ自身の入力した枠41に加え、他のユーザが入力した枠41についても編集可能である。ユーザは、編集する枠41の誤りがある部分を範囲選択する(図10(B))。範囲選択された枠41には、選択された入力内容が編集枠44に表示される(図10(C))。この編集枠44には、「削除」、「編集」、「キャンセル」の各ボタンが設けられている。「削除」のボタンは、選択された枠41の削除を指定するボタンである。「編集」のボタンは、選択された入力内容に対して修正内容の反映を指定するボタンである。「キャンセル」のボタンは、編集の中止を指定するボタンである。
ユーザは、編集枠44に表示された部分を編集対象として、修正、削除、追加等の編集を行い、編集を反映させる場合、編集のボタンを選択する。この編集中に、枠41に入力を行っていたユーザによる入力が継続された場合、継続して入力された入力内容が枠Pに表示される(図10(D))。すなわち、入力情報支援装置11は、ユーザが入力中の枠41の入力内容に、他のユーザが編集を行うことができる。
[編集の機能構成]
入力情報支援装置11が、枠41に表示された入力内容の編集を行う機能的な構成について説明する。図11は、入力内容の編集を行う機能的な構成の一例を示す図である。なお、図4と同一部分については、同一の符号を付し、主に異なる部分について説明する。制御部50は、選択判定部57と、編集部58とをさらに有する。
選択判定部57は、何れかの枠41に対して範囲の選択が行われたか否かを判定する。何れかの枠41に対して範囲の選択が行われた場合、選択判定部57は、範囲が選択された枠41および入力内容のうち選択された選択範囲を特定する。
表示制御部55は、枠41に対して範囲の選択が行われた場合、範囲が選択された枠41に選択された範囲を編集するための編集枠44を表示させ、編集枠44で入力内容の編集を受け付ける。
編集部58は、バッファ60に記憶された、範囲が選択された枠41の入力内容のデータのうち、編集枠44を表示させた入力内容を編集対象としてバッファ60内の別な記憶領域にコピーする。そして、編集部58は、編集枠44に対する操作に応じて編集対象の修正を受け付ける。
バッファ変化感知部52は、編集部58によるバッファ60に記憶された入力内容のデータの変更の監視を行い、編集部58によるデータの変更を感知する。
送信部53は、バッファ変化感知部52により感知された、編集部58により編集が行われている部分のデータを他の入力情報支援装置11へ送信する。これにより、編集が行われている部分が他の入力情報支援装置11にも表示される。
受信部54は、他の入力情報支援装置11で編集が行われ、他の入力情報支援装置11から送信された編集が行われている部分のデータを受信する。受信部54は、編集が行われている部分のデータをバッファ60に格納する。これにより、他の入力情報支援装置11で編集が行われている部分が入力情報支援装置11にも表示される。
表示制御部55は、編集部58が受け付けた編集対象に対する修正に応じて、範囲が選択された枠41に修正を反映した入力内容を表示させる。
ここで、具体例を用いて説明する。図12Aおよび図12Bは、入力内容の編集の一例を説明する図である。図12Aおよび図12Bは、「使いやすく、より多くの人の社会参加を可能にする製品やサービスを快活していきょうしていきます」と入力された枠41の「快活していきょう」の部分に誤りがあり、ユーザが修正する編集を行う流れを示している。バッファ60内のBuffer1の領域には、枠41に表示された入力内容が記憶されている(図12A(A))。
ユーザは、編集する枠41を選択する。そして、ユーザは、編集する枠41の誤りがある部分を範囲選択する。図12の例では、「快活していきょう」の部分が選択されている。選択判定部57により枠41に対して範囲の選択が行われたことを検知すると、編集部58は、選択された「快活していきょう」の部分を編集対象としてコピーしてバッファ60内のBuffer2の領域に記憶させる(図12A(B))。表示制御部55は、範囲が選択された枠41に、選択された入力内容を記載した編集枠44を表示させる(図12A(C))。
ユーザが、編集枠44で「ていきょう」を削除する修正を行うと、編集部58は、修正された編集対象をバッファ60内のBuffer3の領域に記憶させる。表示制御部55は、Buffer3に記憶された修正された編集対象を編集枠44に表示させる(図12A(D))。
また、ユーザが、編集枠44で「快活し」を削除する修正を行うと、編集部58は、バッファ60内のBuffer3から「快活し」を削除する。表示制御部55は、Buffer3に記憶された修正された編集対象を編集枠44に表示させる(図12B(E))。
ユーザが、編集枠44で「開発し提供」と修正を行うと、編集部58は、バッファ60内のBuffer3に「開発し提供」を格納する。表示制御部55は、Buffer3に記憶された修正された編集対象を編集枠44に表示させる(図12B(F))。
ユーザが、編集枠44で「編集」のボタンを選択すると、編集枠44に入力された内容をBuffer3に記憶させる(図12B(G))。表示制御部55は、編集枠44を消去し、バッファ60内のBuffer1に記憶された入力内容のうち、Buffer2に記憶された編集対象の部分をBuffer3に記憶された内容に置き換えて枠41に表示させる(図12B(H))。これにより、入力情報支援装置11は、入力済みおよび入力中の枠41に表示された入力内容の編集を各ユーザが行うことができる。
なお、図12B(H)では、表示制御部55は、編集後の入力内容を枠41に表示させたが、編集された内容を識別可能に表示してもよい。
図13は、編集された内容を識別可能に表示した一例を説明する図である。表示制御部55は、例えば、枠41に表示された入力内容のうち、編集された編集対象を枠45で囲み、編集された箇所について、編集前の内容を削除されたものとして表示し、対応する箇所に編集後の内容を表示してもよい。図13の例では、編集前の「京都は」に削除線が付され、その上に編集後の「今日は」を表示している。また、表示制御部55は、編集したユーザを識別可能に示してもよい。図13の例では、右上のタブ「A」は、ユーザAが編集したことを示している。
図14は、編集された内容を識別可能に表示した他の一例を説明する図である。表示制御部55は、例えば、枠41に、編集前の入力内容と、編集後の入力内容を表示してもよい。図14の例では、枠41に、タブを付して、編集前の入力内容と、編集後の入力内容を表示している。また、右上のタブ「元のデータ」は、編集前の入力内容が表示される。右上のタブ「1」は、1回目に編集された編集後の入力内容が表示される。右上のタブ「2」は、2回目に編集された編集後の入力内容が表示される。
[編集の処理の流れ]
本実施例に係る入力情報支援装置11が入力内容の編集を受け付ける編集処理の流れについて説明する。図15は、編集処理の手順の一例を示すフローチャートである。この編集処理は、所定のタイミング、例えば、何れかの枠41が選択されたタイミングで実行される。
表示制御部55は、選択された枠41に対して範囲の選択が行われたか否かを判定する(S50)。範囲の選択が行われていない場合(S50否定)、再度S50へ移行して範囲選択待ちを行う。
一方、範囲の選択が行われた場合(S50肯定)、表示制御部55は、範囲が選択された枠41に選択された範囲を編集するための編集枠44を表示させる(S51)。編集部58は、選択された範囲の入力内容をバッファ60内の別な記憶領域であるBuffer2にコピーする(S52)。
編集部58は、編集枠44に対する操作に応じて、バッファ60内の別な記憶領域であるBuffer3に編集枠44の編集された入力内容を格納する(S53)。表示制御部55は、Buffer3が追加された場合、Buffer3に格納された入力内容を編集枠44に表示する(S54)。
表示制御部55は、編集前の入力内容が記憶されたBuffer1に追加があったか否かを判定する(S55)。追加がない場合(S55否定)、後述のS57へ移行する。
一方、追加があった場合(S55肯定)、表示制御部55は、枠Pを表示して追加した入力内容を表示する(S56)。
編集部58は、削除のボタンが選択されたか否かを判定する(S57)。削除のボタンが選択された場合(S57肯定)、編集部58は、選択された枠41の入力内容をバッファ60から削除する(S58)。表示制御部55は、削除後のバッファ60のデータに従い、会話画面40の枠41の表示を更新して(S59)、処理を終了する。
一方、削除のボタンが選択されていない場合(S57否定)、編集部58は、キャンセルのボタンが選択されたか否かを判定する(S60)。キャンセルのボタンが選択された場合(S60肯定)、編集部58は、選択された枠41に対応するBuffer2、3のデータを削除する(S61)。表示制御部55は、編集枠44を消去し、バッファ60のデータに従い、会話画面40の枠41の表示を更新して(S62)、処理を終了する。
一方、キャンセルのボタンが選択されていない場合(S60否定)、編集部58は、編集のボタンが選択されたか否かを判定する(S63)。編集のボタンが選択された場合(S63肯定)、編集部58は、編集枠44に表示された入力内容をBuffer3に格納する(S64)。表示制御部55は、編集枠44を消去し、範囲が選択された枠41に修正を反映した入力内容を表示して(S65)、処理を終了する。
一方、編集のボタンが選択されていない場合(S63否定)、上述のS53へ移行して、編集の処理を継続する。
[効果]
上述してきたように、本実施例に係る入力情報支援装置11は、複数のユーザから入力を受け付ける。入力情報支援装置11は、受け付けた複数のユーザの入力内容を、受け付けた時系列順に枠を分けて表示部に表示させ、特定条件を満たす場合に、過去の入力内容を表示した枠に、受け付けた入力内容を追加して表示させる制御を行う。これにより、入力情報支援装置11は、特定条件を満たす入力内容を同じ枠に表示させることで、ユーザに入力内容を把握しやすくすることができるため、使い勝手を向上させることができる。
また、本実施例に係る入力情報支援装置11では、特定条件を、同一のユーザの1つ前の入力内容を受け付けてから次の入力内容の受け付けが所定の第1時間未満であることとする。入力情報支援装置11は、特定条件を満たした場合に、特定条件を満たした同一のユーザの1つ前の入力内容を表示した枠に、受け付けた入力内容を追加して表示させる制御を行う。これにより、入力情報支援装置11は、ユーザの入力の途中で他のユーザの入力が行われても、ユーザの1つ前の入力内容を受け付けてから次の入力内容の受け付けが第1時間未満の場合、同じ枠に入力内容を表示させることができるため、入力内容を把握しやすくすることができる。
また、本実施例に係る入力情報支援装置11は、同一のユーザの1つ前の入力内容を受け付けてから、第2時間未満に次の入力内容を受け付けた場合、過去の入力内容を表示した枠に、当該過去の入力内容に続けて、受け付けた入力内容を表示させる。これにより、入力情報支援装置11は、ユーザの1つ前の入力内容と次の入力内容が続けて表示されるため、入力内容を把握しやすくすることができる。また、入力情報支援装置11は、同一のユーザの1つ前の入力内容を受け付けてから、第1時間と第2時間の間に次の入力内容を受け付けた場合、過去の入力内容を表示した枠に、当該過去の入力内容に改行して受け付けた入力内容を表示させる制御を行う。これにより、入力情報支援装置11は、ユーザの1つ前の入力内容と次の入力内容の間に間があったことを視覚的に表現できる。特に、聴覚に障害があるユーザは、音からどのような間で他のユーザの入力内容が入力されたか把握できない。このため、過去の入力内容に改行して受け付けた入力内容を表示させることで、入力内容の間に間があったことを視覚的に表現できる。また、過去の入力内容に改行して受け付けた入力内容を表示させることで、入力内容が行に分かれるため、入力内容を読み易くすることができる。
また、本実施例に係る入力情報支援装置11は、同一のユーザの1つ前の入力から入力内容の入力方法が変更された場合、第1時間を長く変更する。入力情報支援装置11は、同一のユーザの1つ前の入力内容を受け付けてから次の入力内容の受け付けが、変更後の第1時間未満である場合に、同一のユーザの1つ前の入力内容を表示した枠に、受け付けた入力内容を追加して表示させる制御を行う。入力方法の変更は、時間をロスする。このため、入力情報支援装置11は、ユーザが入力方法を変更した場合でも、第1時間を長く変更することで、同じ枠に入力内容を表示させることができる。