<第1実施例>
図1は第1実施例の情報処理装置10の電気的な構成を示すブロック図である。
図1を参照して、この発明の第1実施例である情報処理装置10はCPU12を含む。CPU12には、バス30を介してRAM14、タッチパネル制御回路16、描画制御回路18が接続される。また、タッチパネル制御回路16にはタッチパネル20が接続され、描画制御回路18にはディスプレイ22が接続される。
図示は省略するが、情報処理装置10には、HDDやROMなどの不揮発性のメモリも設けられ、バス30を介してCPU12に接続される。
この第1実施例では、情報処理装置10は、電子黒板、タブレット端末、スマートフォン、PCなどの各種の情報機器ないし電子機器に適用される。
また、この第1実施例では、入力手段の一例として、タッチパネル20が用いられる場合について説明するが、タッチパネル20以外の入力手段として、たとえばコンピュータマウス、タッチパッド、ペンタブレットなどのポインティングデバイスを用いてもよい。また、情報処理装置10には、他の入力手段として、操作パネルのようなハードウェアキーが設けられたり、ハードウェアのキーボードが接続されたりすることがある。
図1に戻って、CPU12は、情報処理装置10の全体的な制御を司る。RAM14は、CPU12のワーク領域およびバッファ領域として用いられる。
タッチパネル制御回路16は、タッチパネル20に必要な電圧などを付与するとともに、タッチパネル20のタッチ有効範囲内でのタッチ操作(タッチ入力)を検出して、そのタッチ入力の位置を示すタッチ座標データをCPU12に出力する。
タッチパネル20は、汎用のタッチパネルであり、静電容量方式、電磁誘導方式、抵抗膜方式、赤外線方式など、任意の方式のものを用いることができる。この第1実施例では、タッチパネル20としては、静電容量方式のタッチパネルがディスプレイ22の表示面上に設けられる。
描画制御回路18は、GPUおよびVRAMなどを含んでおり、CPU12の指示の下、GPUは、RAM14に記憶された手書き入力データ332および画像生成データ334(図9参照)などを用いてディスプレイ22に画面(後述するタッチ画面100)を表示するための画面データをVRAMに生成し、生成した画面データをディスプレイ22に表示する。ディスプレイ22としては、たとえばLCDやEL(Electro-Luminescence)ディスプレイなどを用いることができる。
このような構成の情報処理装置10では、手書き入力モードにおいて、ユーザがタッチパネル20を利用して文字、図形、記号など(以下、「文字等」ということがある。)を手書き入力(タッチ入力)すると、タッチパネル制御回路16は、そのタッチ入力を検出してタッチ位置に対応するタッチ座標データ330をCPU12に出力する。CPU12は、タッチパネル制御回路16から出力されたタッチ座標データに基づいてディスプレイ22に手書きの文字等を描画(表示)する。つまり、CPU12の指示の下、描画制御回路18において手書きの文字等がVRAM上に描画され、VRAM上に描画された手書きの文字等を含む画像に対応する画像データ(画面データに含まれる。)がディスプレイ22に出力される。したがって、ユーザが手書きした文字等を含む画像がディスプレイ22に表示される。以下、この明細書においては、ユーザが文字を手書きすることを前提とし、手書き文字を含む画像を「手書き画像」と呼ぶことにする。
図2(A)は、手書きが開始される前のタッチ画面100(初期画面)の一例を示す図解図である。つまり、図2(A)は、描画アプリケーションを実行し、ディスプレイ22に表示されるタッチ画面100の一例であって、手書き入力モードを開始した当初のタッチ画面100を示す。また、図2(B)は、ディスプレイ22に表示されるタッチ画面100の第2の例であって、議事録を手書き(板書)した状態のタッチ画面100を示す。
図2(A)に示すように、たとえば、手書き入力モードが開始された当初では、手書き画像の表示されていない白紙の頁のタッチ画面100がディスプレイ22に表示される。ただし、保存された手書き画像の画像データが読み出された場合には、当該手書き画像を含むタッチ画面100が表示される。なお、上述したように、ディスプレイ22の表示面上にはタッチパネル20が設けられる。以下、同様である。
また、図2(A)に示すように、タッチ画面100の左端部には、それぞれ所定の機能を発揮するボタン(機能ボタン)の画像(アイコン)が表示される。この第1実施例では、議事録編集ボタン102および範囲指定ボタン104が表示される。議事録編集ボタン102は、議事録の項目を編集したり、一部の項目についての内容をテキスト入力したりするためのボタンである。範囲指定ボタン104は、選択する手書き画像の範囲を指定するためのボタンである。
図示は省略するが、タッチ画面100には、線種、線幅(太さ)、線色などの描画の属性を選択するための属性ボタンや上記以外の機能(新規頁を開く、画像を開く(挿入する)、保存、元に戻すなど)を選択するためのボタンなどのアイコンも表示される。
たとえば、ユーザは、専用のタッチペン110でタッチパネル20を操作する。ただし、ユーザは、手指で操作することもできる。タッチパネル20を用いた操作(入力)としては、タップ(短押し)、スライド(ドラッグ)、フリック、ロングタッチ(長押し)などがあり、この第1実施例では、これらを「タッチ入力」または単に「入力」のように総称する。また、タッチパネル20をタッチしていない状態からタッチしている状態に変化することをタッチオン(ペンダウン)と言い、タッチパネル20をタッチしている状態からタッチしていない状態に変化することをタッチオフ(ペンアップ)と言う。継続的なタッチ入力つまりスライドやフリックによる入力に対しては、タッチパネル20は、現在のタッチ位置に対応するタッチ座標データを所定周期よりも短い周期で出力する。たとえば、所定周期は、1〜数フレームであり、1フレームは1/30秒、1/60秒または1/120秒である。
情報処理装置10の一例である一般的な電子黒板では、ユーザが文字等を手書きすると、手書きされた文字等がタッチ画面100に表示(描画)される。つまり、手書きの文字等を含む手書き画像がディスプレイ22(タッチ画面100)に表示される。このとき、手書き画像は、設定された属性情報(線種、線色、線幅)に従って描画(表示)される。
たとえば、会議や打合せなどでは、図2(B)に示すように、情報処理装置10を用いて議事の内容が板書される。したがって、板書された内容を、そのまま議事録として印刷したり、電子メールで配布(配信)したりすることができる。
しかし、情報処理装置10を用いて議事の内容が板書される場合、板書される内容は秩序なく、ばらばらに手書きされることが多い。したがって、板書された内容をそのまま議事録として使用すると、非常に見づらくなってしまう。このため、板書された内容に基づいて改めて議事録を作成する必要があり、面倒である。
このような不都合を回避するために、この第1実施例では、手書き(板書)された内容から所定の議事録のフォーマットを使い(に従い)議事録を容易に作成できるようにしてある。以下、具体的に説明する。
図3は議事録のフォーマットの一例を示す図解図である。この第1実施例では、予め作成された所定の書類(ここでは、議事録)のフォーマットについてのデータ(フォーマットデータ)が情報処理装置10のメモリ(たとえば、HDD)に記憶されている。図3に示すように、議事録のフォーマットは、議事(討議内容、審議事項、議決結果など)についての各種の項目を表示する表示欄(以下、「項目欄」という。)と、この各種の項目についての内容を表示する表示欄(以下、「内容欄」という。)で構成される。
また、図3に示すように、項目欄には、「会議名」、「開催日時」、「開催場所」、「参加者」、「審議内容」、「結論」、「宿題事項」および「備考」が記載(表示)される。また、上述したように、各項目欄に対応して内容欄が設けられる。ただし、議事録のフォーマットでは、各内容欄は空白である。さらに、議事録のフォーマットでは、項目欄および内容欄のそれぞれの大きさ(縦および横の長さ)は所定の大きさに設定されている。図3に示す議事録のフォーマットでは、各項目欄は同じ大きさに設定され、同様に、各内容欄は同じ大きさに設定される。たとえば、所定のサイズ(B5、A4、B4など)の用紙に議事録を印刷した場合に、すべての項目および内容が一枚の当該用紙に収まるように、項目欄および内容欄の大きさは設定される。
図4(A)、図4(B)、図5(A)および図5(B)は、それぞれ、ディスプレイ22に表示されるタッチ画面100の他の例であって、議事録を作成する様子を説明するためのタッチ画面100を示す。また、図6は、議事録のフォーマットに従い、手書き画像を用いて作成された議事録の一例を示す図解図である。
簡単に説明すると、ユーザは、板書された内容(手書き画像の全部)から所望の内容(手書き画像の全部または一部)を選択する。次に、ユーザは、選択した所望の内容を記載(表示)するべき項目を選択(指定)する。すると、選択された所望の内容が、選択(指定)された項目に対応付けてメモリ(たとえば、RAM14)に記憶される。このような処理が繰り返され、各項目に対応付けて所望の内容が記憶され、議事録が作成される。以下、具体的に説明する。
図4(A)に示すように、ユーザが、範囲指定ボタン104をタッチすると、範囲を指定するモードが設定される。続いて、図4(B)に示すように、ユーザが、タッチペン110を用いて、所望の内容を囲むように、斜め方向にドラッグする。このとき、ドラッグに従って、枠106が指定(表示)される。ただし、枠106の形状および大きさは、ドラッグを開始するときのタッチオンの位置と、ドラッグを終了するときのタッチオフの位置で決定される。枠106が指定されると、当該枠106で囲まれる手書き画像が所望の内容として選択される。つまり、枠106内に含まれる点や線についての手書き画像が一つのグループとして認識される。
たとえば、図4(B)に示すように、ディスプレイ22には2次元の座標系(スクリーン座標系)が設定されており、ディスプレイ22の表示面の左下の頂点が原点O(0,0)に設定される。また、枠106は、左上の頂点である点P1(x1,y1)と、右下の頂点である点P2(x2,y2)とでその位置および大きさが決定される。
なお、図4(B)に示す座標系の文字や点P1および点P2は情報処理装置10の内部処理に用いられるだけであり、ディスプレイ22に表示されることはない。
また、座標系は第1実施例の態様に限定される必要は無く、任意に設定することができる。
さらに、この第1実施例では、ドラッグにより枠106を指定するようにしてあるが、枠106の対角となる2点をタップすることにより、枠106を指定するようにしてもよい。
上記のように、手書き画像を囲むようにして枠106が指定(タッチ画面100に表示)されると、図5(A)に示すように、枠106の近傍に、議事録作成を含む任意のアクションを選択するためのメニュー(以下、「アクション選択メニュー」という。)120が表示される。
なお、図5(A)では省略するが、アクション選択メニュー120では、他の任意のアクションとして、コピー、切り取り、削除などが選択可能に表示される。
図5(A)に示すアクション選択メニュー120において、議事録作成がタッチ(選択)されると、図5(B)に示すように、アクション選択メニュー120に代えて、議事録における項目を選択するための項目選択メニュー130が表示される。
ただし、アクション選択メニュー120において、キャンセルが選択されると、アクション選択メニュー120が消去(非表示)されるとともに、枠106が消去され、所望の内容(手書き画像の全部または一部)の選択が解除(キャンセル)される。
なお、他のアクションが選択された場合には、選択された所望の内容が、コピー、切り取り、削除等される。
図5(B)からも分かるように、項目選択メニュー130には、図3の議事録のフォーマットに示した項目欄に記載されている項目の一部が一覧で表示される。
この項目選択メニュー130に含まれる各項目は、対応する議事録のフォーマットにおける各項目に対応付けられており、項目選択メニュー130から一つの項目が選択されると、先に選択された所望の内容(手書き画像の全部または一部)が、議事録のフォーマットにおいて対応付けられた項目が記載された項目欄に対応する内容欄に表示される内容として決定される。
したがって、項目選択メニュー130に表示される項目の中から適切な項目(ここでは、「会議名」)が選択されると、枠106内のグループとして認識された手書き画像が、選択された項目(ここでは、「会議名」)に対応付けられてRAM14に記憶される。
なお、第1実施例における項目選択メニュー130には、図3に示した議事録のフォーマットのうち、開催日時、開催場所および参加者が含まれていない。これらの項目についての内容は、通常、板書されることが少ないと考えられるため、この第1実施例では、ユーザが別途入力するようにしてある。ただし、これは一例であり、他の項目と同様に、項目選択メニュー130に、開催日時、開催場所および参加者を含めるようにしてもよい。
上記のように、ユーザは、板書された内容(手書き画像の全部)から所望の内容(手書き画像の全部または一部)を選択し、項目選択メニュー130から適切な項目を選択する操作を繰り返し実行することにより、手書き画像を用いて議事録のフォーマットに従う議事録を作成することができる。作成された議事録の一例が図6に示される。たとえば、ユーザによって、議事録を表示することが指示されると、表示することが指示された議事録がディスプレイ22に表示される。
ただし、第1実施例では、開催日時、開催場所および参加者の内容については、情報処理装置10に接続されたキーボードやコンピュータマウス(以下、「キーボード等」という)を用いてテキスト入力される。たとえば、タッチ画面100において議事録編集ボタン102がタッチされると、議事録のフォーマットがディスプレイ22(タッチ画面100)に表示される。この議事録のフォーマットにおいて、テキスト入力する項目に対応する内容欄が選択され、選択された内容欄に表示(記載)されるべき内容がテキスト入力される。内容欄に表示されるべき内容がテキスト入力されると、手書き画像の場合と同様に、その文字列のデータが当該内容欄に対応する項目欄に記載の項目に対応付けてRAM14に記憶される。また、ヘッダおよびフッタには、議事録に関連する情報をテキスト入力することができる。図6に示す議事録の例では、ヘッダに、議事録を作成した日付がテキスト入力される。また、フッタとしては、頁番号などをテキスト入力することができる。ヘッダやフッタを入力する場合には、たとえば、ヘッダやフッタを入力することが図示しないメニューから選択される。
なお、この第1実施例では、開催日時、開催場所および参加者の内容を、キーボード等を用いてテキスト入力するようにしてあるが、タッチペン110を用いて手書きするようにしてもよい。
また、開催日時、開催場所および参加者の内容以外の内容についても、テキスト入力することもできる。
また、議事録のフォーマットにおける項目は編集(追加、変更、削除)することができる。たとえば、上述したように、ディスプレイ22に表示された議事録のフォーマットにおいて、所望の項目が選択され、選択された項目が変更または削除されたり、項目の表示欄が追加され、追加された項目の表示欄に所望の項目が追加(記載)されたりする。このような編集作業は、情報処理装置10に接続されたキーボード等を用いて行われる。このように、議事録のフォーマットにおける項目が編集されると、項目選択メニュー130に含まれる(表示される)項目も合わせて編集される。
情報処理装置10の上記のような動作は、CPU12がRAM14に記憶された情報処理プログラムを実行することにより実現される。この第1実施例では、情報処理プログラムの一例として、手書き文字を描画したり保存したりする描画アプリケーションについてのプログラム(描画制御プログラム)が実行される。具体的な処理については、後でフロー図を用いて説明する。
図7は図1に示したRAM14のメモリマップ300の一例を示す。図7に示すように、RAM14は、プログラム記憶領域302およびデータ記憶領域304を含む。プログラム記憶領域302には、描画制御プログラムが記憶される。描画制御プログラムは、入力検出プログラム310、画像生成プログラム312、表示プログラム314、範囲指定プログラム316、議事録作成プログラム318を含む。
入力検出プログラム310は、タッチパネル制御回路16から出力されたタッチパネル20におけるタッチ入力の位置を示すタッチ座標データ330を取得し、データ記憶領域304に記憶するためのプログラムである。ただし、入力検出プログラム310は、情報処理装置10に接続されたハードウェアのキーボードや情報処理装置10に設けられたハードウェアの操作パネルないし操作ボタンからの入力を検出するためのプログラムでもある。
画像生成プログラム312は、入力検出プログラム310に従って検出されたタッチ座標データ(後述する手書き入力データ332)を使用したり、後述する画像生成データ334を使用したりして、タッチ画面100に対応する画面データを生成するためのプログラムである。具体的には、画像生成プログラム312が実行されると、CPU12の指示の下、描画制御回路18において、GPUがタッチ画面100に対応する画面データをVRAMに描画する。
表示プログラム314は、画像生成プログラム312に従って生成された画面データをディスプレイ22に出力するためのプログラムである。したがって、タッチ画面100がディスプレイ22に表示される。
範囲指定プログラム316は、ユーザのタッチ入力に従って、ディスプレイ22の表示領域における範囲を指定するためのプログラムである。この第1実施例では、ドラッグが行われた場合のタッチオンの位置とタッチオフの位置に基づいて決定される四角枠の範囲が指定範囲である。
議事録作成プログラム318は、範囲指定プログラム316に従って既定された指定範囲内の手書き画像に対応する画像データを指定(選択)された項目に対応付けてRAM14に記憶するためのプログラムである。また、議事録作成プログラム318は、議事録の一部の項目についての内容をユーザの操作に従ってテキスト入力したり、議事録のフォーマットに含まれる項目を編集したり、議事録のフォーマットに含まれる項目の編集に合わせて、項目選択メニュー130の項目を編集したりするためのプログラムでもある。
なお、図示は省略するが、描画制御プログラムには、各種の機能を選択および実行するためのプログラムなども含まれる。
データ記憶領域304には、タッチ座標データ330、手書き入力データ332、画像生成データ334、議事録データ336、枠データ338などが記憶される。
タッチ座標データ330は、入力検出プログラム310に従って検出(取得)された現在の(現フレームにおける)タッチ座標データである。タッチ座標データ330が示すタッチ座標がタッチ画面100に表示されたボタン(範囲指定ボタン104など)の表示領域に含まれる場合には、当該ボタンに割り当てられた機能(アクション)を実行したり、属性(属性情報)を設定したりする。また、タッチ座標データ330が示すタッチ座標がタッチ画面100に表示されたボタンの表示領域に含まれていない場合には、手書きの文字等に含まれるタッチ座標であると判断されて、手書き入力データ332として記憶する。
手書き入力データ332は、タッチ入力により手書きされた文字等についてのデータであり、タッチオンからタッチオフまでの軌跡(点または線)毎に管理される。また、手書き入力データ332では、タッチオンからタッチオフまでフレーム毎に検出されるタッチ座標データ330が時系列に従って記憶される(並べられる)。
画像生成データ334は、タッチ画面100のような各種の画面に対応する画面データを生成するためのポリゴンデータやテクスチャデータなどのデータである。また、画像生成データ334には、タッチ画面100に表示される各種のボタン(102、104など)およびメニュー(120、130など)についての画像データも含まれる。
議事録データ336は議事録についてのデータであり、フォーマットデータ336aおよび各内容データ336bを含む。具体的には、図8に示すように、フォーマットデータ336aは、図3に示したような議事録のフォーマットについてのデータである。各内容データ336bは、議事録の各項目に対応付けて記憶された内容についてのデータである。
図8は、議事録データ336のデータ構造の一例を示す。図8に示すデータ構造において、フォーマットデータ336aは、各項目についての文字列と各項目欄および各内容欄の大きさについてのデータに相当する。ただし、図8においては、項目欄および内容欄をまとめて「表示欄」と記載してある。また、図8に示すデータ構造において、各内容データ336bは、フォーマットデータ336aの各項目に対応して記載された内容およびその他についてのデータに相当する。ただし、図8において、「+」の記号は、その左側に記載の項目にその右側に記載の内容が対応することを意味する。また、その他のデータとしては、ヘッダやフッタなどの内容とその表示位置についてのデータが該当する。
図7に戻って、枠データ338は、枠106の位置および範囲を既定するためのデータである。上述したように、枠データ338は、枠106の左上の頂点である点P1および枠106の右下の頂点である点P2の座標データである。
なお、データ記憶領域304には、描画制御プログラムの実行に必要な他のデータが記憶されたり、描画制御プログラムの実行に必要なタイマ(カウンタ)やレジスタが設けられたりする。
図9〜図12は図1に示したCPU12の描画制御処理を示すフロー図である。たとえば、描画アプリケーションが起動され、ユーザの指示によって、またはデフォルトの設定によって、手書き入力モードが選択される。すると、図10に示すように、CPU12は、描画制御処理を開始し、ステップS1で、初期処理を実行する。このステップS1の初期処理では、CPU12は、データ記憶領域304のタッチ座標データ330を消去したり、画像生成データ334を不揮発性のメモリから読み出したりした上で、初期のタッチ画面100をディスプレイ22に表示する。つまり、CPU12の指示の下、描画制御回路18によって、図2(A)に示したような初期のタッチ画面100の画面データが生成(描画)され、ディスプレイ22に出力される。ただし、ユーザが保存した手書き画像データの読み出しを指示した場合には、手書き画像を含むタッチ画面100がディスプレイ22に表示される。
次のステップS3では、タッチオンかどうかを判断する。ここでは、CPU12は、現在(現フレーム)のタッチ座標データ330がデータ記憶領域304に記憶されているかどうかを判断する。
ステップS3で“NO”であれば、つまりタッチオンでなければ、同じステップS3に戻る。一方、ステップS3で“YES”であれば、つまりタッチオンであれば、ステップS5で、議事録編集ボタン102がタッチされたかどうかを判断する。ここでは、CPU12は、取得したタッチ座標データ330が示すタッチ位置が議事録編集ボタン102の表示領域を指示するかどうかを判断する。以下、タッチ画面100に表示されたボタンがタッチされたかどうかを判断する場合について同様である。
ステップS5で“NO”であれば、つまり議事録編集ボタン102がタッチされていなければ、図10に示すステップS19に進む。一方、ステップS5で“YES”であれば、つまり議事録編集ボタン102がタッチされれば、ステップS7で、議事録のフォーマットをディスプレイ22に表示し、ステップS9で、項目が編集されたかどうかを判断する。ただし、議事録編集ボタン102またはアクション選択メニュー120において議事録作成が最初にタッチ(選択)されたときに、HDDから議事録のフォーマットデータ336aが読み出され、RAM14に記憶される。また、ステップS7では、CPU12の指示の下、描画制御回路18が、RAM14に読み出された議事録のフォーマットデータ336aを用いて、ディスプレイ22に議事録のフォーマットを表示する。
ステップS9で“YES”であれば、つまり項目が編集されれば、ステップS11で、項目が編集された議事録のフォーマットを記憶する。ここでは、CPU12は、項目が編集された議事録のフォーマットデータ336aをRAM14に記憶(上書き)する。次のステップS13では、フォーマットの編集に合わせて、項目選択メニュー130の項目を編集して、ステップS19に進む。ステップS13では、CPU12は、画像生成データ334に含まれる項目選択メニュー130のデータにおいて、議事録のフォーマットの編集に合わせて項目選択メニュー130の表記を編集し、データを更新する。
一方、ステップS9で“NO”であれば、つまり項目が編集されていなければ、ステップS15で、内容がテキスト入力されたかどうかを判断する。ステップS15で“NO”であれば、つまり内容がテキスト入力されていなければ、そのままステップS15に戻る。ただし、CPU12は、議事録の編集がキャンセルされた場合や所定時間を経過しても項目の編集および内容のテキスト入力が実行されない場合には、議事録の編集を終了するようにしてもよい。
一方、ステップS15で“YES”であれば、つまり内容がテキスト入力されれば、ステップS17で、項目に対応付けてテキスト入力された文字列のデータ(各内容データ336bに含まれる)をRAM14に記憶して、ステップS19に進む。
図10に示すように、ステップS19では、範囲指定ボタン104がタッチされたかどうかを判断する。ステップS19で“YES”であれば、つまり範囲指定ボタン104がタッチされれば、図11に示すステップS31に進む。一方、ステップS19で“NO”であれば、つまり範囲指定ボタン104がタッチされていなければ、ステップS21で、他のボタンがタッチされたかどうかを判断する。つまり、CPU12は、議事録編集ボタン102および範囲指定ボタン104を除く、他のボタンがタッチされたかどうかを判断する。
ステップS21で“YES”であれば、つまり議事録編集ボタン102および範囲指定ボタン104以外の他のボタンがタッチされれば、ステップS23で、他のボタンに応じた処理を実行して、ステップS3に戻る。たとえば、ステップS23では、CPU12は、ユーザの操作(指示)に従って、線の属性情報(線種、線色、線幅)を変更したり、手書き画像をコピーしたり、コピーした画像を貼り付けたり、手書き画像の範囲を指定したり、手書き画像の画像データ(手書き入力データ332)を不揮発性のメモリに保存したりする。
一方、ステップS21で“NO”であれば、つまり議事録編集ボタン102および範囲指定ボタン104以外の他のボタンがタッチされていなければ、手書きについてのタッチ入力であると判断して、ステップS25で、タッチ座標を手書き入力として記憶する。つまり、ステップS25では、CPU12は、タッチ入力に従うタッチ座標データ330を手書き入力データ332としてRAM14に記憶する。そして、ステップS27で、タッチ入力に従って手書き画像を表示し、ステップS29に進む。ステップS27では、CPU12の指示の下、描画制御回路18が手書き入力データ332および画像生成データ334を用いて手書き画像を含むタッチ画面100の画面データをVRAMに描画し、ディスプレイ22に出力する。したがって、手書き入力中では、タッチ入力に従う複数の点によって線が描画され、一本または複数本の線によって文字等の手書き画像が描画される。
そして、ステップS29では、タッチオフであるかどうかを判断する。ここでは、CPU12は、データ記憶領域304を参照して、現フレームのタッチ座標データ330が記憶されていないかどうかを判断する。ステップS29で“NO”であれば、つまりタッチオンの状態が継続していれば、ステップS17に戻る。したがって、手書き入力データ332のうち、描画中の線についてのデータが更新されるとともに、タッチ入力に従って線が表示(描画)される。一方、ステップS29で“YES”であれば、つまりタッチオフであれば、ステップS3に戻る。
図11に示すように、ステップS31では、後述する範囲指定処理(図13参照)をして、ステップS33で、図5(A)に示したように、アクション選択メニュー120を表示して、ステップS35で、アクション選択メニュー120がタッチされたかどうかを判断する。
ステップS35で“NO”であれば、つまりアクション選択メニュー120がタッチされていなければ、同じステップS35に戻る。ただし、アクション選択メニュー120以外のタッチ画面100がタッチされた場合には、範囲指定(手書き画像の選択)を解除して、ステップS31またはステップS3に戻るようにしてもよい。
一方、ステップS35で“YES”であれば、つまりアクション選択メニュー120がタッチされると、ステップS37で議事録作成が選択(タッチ)されたかどうかを判断する。この判断は、ボタンがタッチされたかどうかを判断する場合と同様である。他のメニューが選択される場合も同様である。
ステップS37で“YES”であれば、つまり議事録作成が選択されると、図12に示すステップS47に進む。一方、ステップS37で“NO”であれば、つまり議事録作成がタッチされなければ、ステップS39で、キャンセルがタッチされたかどうかを判断する。ステップS39で“NO”であれば、つまりキャンセルがタッチされなければ、ステップS41で、上述したような他のアクションに応じた処理を実行して、ステップS43に進む。
一方、ステップS39で“YES”であれば、つまりキャンセルがタッチされると、ステップS43で、アクション選択メニュー120を消去し、ステップS45で、枠106を消去して、図10に示したステップS3に戻る。ただし、ステップS43またはS45では、CPU12は、範囲指定(手書き画像の選択)をキャンセルする。
図12に示すように、ステップS47では、アクション選択メニュー120を消去し、ステップS49で、図5(B)に示したように、項目選択メニュー130を表示する。そして、ステップS51で、項目選択メニュー130の中から、いずれかの項目が選択(タッチ)されたかどうかを判断する。
ステップS51で“NO”であれば、つまり項目がタッチされていなければ、同じステップS51に戻る。ただし、項目選択メニュー130以外のタッチ画面100がタッチされた場合には、範囲指定(手書き画像の選択)を解除して、ステップS31またはステップS3に戻るようにしてもよい。
一方、ステップS51で“YES”であれば、つまり項目選択メニュー130の中から、いずれかの項目がタッチされれば、ステップS53で、選択された項目に対応付けて、ステップS31で指定された範囲内の手書き画像を記憶する。ここでは、CPU12は、選択された項目に対応付けて、指定範囲内にある手書き画像の画像データ(手書き入力データ332に含まれる)のコピーを各内容データ336bの一部としてRAM14に記憶する。
そして、ステップS55で、項目選択メニュー130を消去し、ステップS57で、枠106を消去して、描画制御処理を終了する。
なお、範囲指定および項目の選択が繰り返されることにより、議事録(議事録データ336)が作成される。また、詳細な説明は省略するが、たとえば、作成された議事録データ336は、手書き画像の画像データに対応付けてHDDに保存される。
図13は、図11に示したステップS31の範囲指定処理のフロー図である。図13に示すように、CPU12は、範囲指定処理を開始すると、ステップS81で、始点が指定されたかどうかを判断する。つまり、CPU12は、タッチパネル20からタッチ座標データが出力されていない状態からタッチ座標データが出力される状態に変化したかどうかを判断する。
ステップS81で“NO”であれば、つまり始点が指定されていなければ、そのままステップS81に戻る。一方、ステップS81で“YES”であれば、つまり始点が指定されると、ステップS83で、指定された始点の座標を記憶する。ここでは、枠データ338のうち、始点(点P1)の座標データが記憶される。
そして、ステップS85で、終点が指定されたかどうかを判断する。ここでは、CPU12は、タッチパネル20からタッチ座標データが出力されている状態からタッチ座標データが出力されていない状態に変化したかどうかを判断する。
ステップS85で“NO”であれば、つまり終点が指定されていなければ、ステップS87で、始点と現在のタッチ位置で規定される枠106をタッチ画面100上に表示して、ステップS85に戻る。
一方、ステップS85で“YES”であれば、つまり終点が指定されれば、ステップS89で、指定された終点の座標を記憶する。ここでは、枠データ338のうち、終点(点P2)の座標データが記憶される。したがって、枠データ338(枠106)が決定(指定)される。そして、ステップS91で、始点と終点で規定される枠106をタッチ画面100に表示して、描画制御処理にリターンする。
この第1実施例によれば、ユーザによって指定された所定の範囲内にある手書き画像が、メニューから選択された項目に対応付けて記憶されるので、手書き画像を用いて議事録のフォーマットに従う議事録を容易に作成できる。
また、この第1実施例では、手書き画像を用いて議事録のフォーマットに従う議事録を作成するようにしたが、これに限定される必要はない。たとえば、学校の授業において板書された内容(手書き画像)をまとめた要約書を作成するようにしてもよい。かかる場合には、要約書のフォーマットには、項目欄に、「授業のテーマ」、「重要ポイント」、「宿題」などの項目が記載され、これらの項目の各々に対応付けて内容欄が設けられる。そして、第1実施例で示した場合と同様に、指定された範囲に含まれる手書き画像が、メニューから選択された項目に対応付けて記憶される。このようにして、手書き画像を用いて要約書のフォーマットに従う要約書が作成される。
なお、この第1実施例では、議事録を作成する場合、枠106内の手書き画像をグループ化して、選択された項目に対応付けて記憶するようにしたが、これに限定される必要はない。たとえば、枠106内の手書き画像をグループ化した後、文字認識することにより、テキストの文字または文字列のデータに変換してから記憶するようにしてもよい。
<第2実施例>
第2実施例の情報処理装置10は、議事録のフォーマットにおける表示欄を拡大可能にした以外は、第1実施例の情報処理装置10と同じであるため、第1実施例と異なる内容について説明し、重複した説明については省略することにする。
簡単に説明すると、第2実施例では、指定範囲に含まれる手書き画像が内容欄に収まらないときに、当該内容欄およびそれに対応する項目欄(以下、内容欄と項目欄をまとめて「表示欄」と呼ぶことがある)が拡大される。また、表示欄が拡大されたことにより、表示欄が二頁にまたがる場合、印刷頁のレイアウトが調整される。
図14は第2実施例においてディスプレイ22に表示されるタッチ画面100の一例を示す図解図である。この図14からも分かるように、第2実施例では、板書内容が増えた以外は、第1実施例の図4および図5に示したタッチ画面100と同じであるため、重複した説明は省略する。この第2実施例においても、第1実施例で説明したようにして、手書き画像を用いて議事録のフォーマットに従う議事録が作成される。
図15は第2実施例において作成された議事録の一例を示す図解図である。図15に示す議事録では、宿題事項についての項目欄およびそれに対応する内容欄、すなわち表示欄の大きさが拡大されている。これは、宿題事項の内容として選択された手書き画像が議事録のフォーマットにおける宿題事項の項目欄に対応する内容欄の大きさよりも大きいためである。たとえば、選択された手書き画像の縦幅と当該手書き画像を表示するべき内容欄の縦幅を比較し、当該手書き画像の縦幅が当該内容欄の縦幅よりも大きい場合には、議事録のフォーマットにおいて、当該手書き画像が収まる大きさに当該内容欄の縦幅が大きくされ、これに伴い対応する項目欄が大きくされる。つまり、選択された手書き画像の大きさに応じて当該手書き画像を表示するべき内容欄を含む表示欄が大きくされる。
ただし、選択された手書き画像の縦幅(大きさ)は、ディスプレイ22に表示されたときの縦幅(大きさ)では無く、作成される議事録についての用紙サイズに対応する縦幅(大きさ)に換算(変更)されたた場合の縦幅(大きさ)である。したがって、この第2実施例を、表示面ないし表示領域の大きさの異なる様々なディスプレイ22を有する情報処理装置10に適用することができる。
また、この第2実施例では、表示欄の大きさが大きくされるのは、議事録データ336に含まれるフォーマットデータ336aに対応する議事録のフォーマットの表示欄である。
さらに、この第2実施例では、内容欄の縦幅よりも選択された手書き画像の縦幅が大きい場合に、その表示欄の縦幅を大きくするようにしてあるが、これに限定される必要はない。たとえば、内容欄の横幅よりも選択された手書き画像の横幅が大きい場合に、内容欄の横幅を大きくするようにしてもよい。また、縦幅と横幅の両方について大きさを変更にするようにしてもよい。ただし、内容欄の横幅を大きくする場合には、対応する項目欄の大きさは変更されない。
ただし、内容欄の横幅を大きくする場合には、すべての内容欄についての横幅が大きくされる。
図16は第2実施例において作成された議事録の印刷頁のレイアウトの一例を示す図解図である。また、図17は第2実施例において作成された議事録の印刷頁のレイアウトの他の例を示す図解図である。
また、作成された議事録は関係者等に配布するために印刷されることが想定される。また、上記のように、表示欄の縦幅が拡大された場合には、議事録が複数頁に印刷されることがある。たとえば、図16に示すように、議事録が二頁に印刷される場合には、一つの表示欄が二頁に分かれてしまうことがある。つまり、一つの表示欄が頁区切りをまたいで印刷されることがある。
このため、この第2実施例では、一つの表示欄が頁区切りをまたぐ場合には、当該表示欄の先頭位置(印刷方向における先頭位置)に改頁の情報を移動するようにしてある。
なお、通常、改頁の情報は、用紙サイズと、余白の大きさに応じて決定され、余白を除く各頁の終端位置(印刷方向における終端位置)に設定される。
また、図16では、分かり易く示すために、印刷頁のレイアウトを示してあるが、これに限定される必要はなく、編集モードで議事録が表示された場合に改頁の情報が移動されてもよい。
具体的には、図16に示すように、宿題事項の表示欄が頁区切りをまたいでいるため、宿題事項の表示欄の先頭位置に頁区切りの情報が移動される。このように、改頁の情報が移動されることにより、図17に示すように、一頁目の終端位置が結論の表示欄の終端位置となり、二頁目の先頭位置が宿題事項の表示欄の先頭位置となる。このため、議事録が複数頁に印刷される場合に、見易くすることができる。
情報処理装置10の上記のような動作は、第1実施例と同様に、CPU12がRAM14に記憶された情報処理プログラムを実行することにより実現される。ただし、この第2実施例では、第1実施例で説明したプログラム記憶領域302に、印刷頁調整プログラムがさらに記憶される。
印刷頁調整プログラムは、議事録における一つの表示欄が二頁にまたがるとき、改頁を当該表示欄の先頭位置に移動するためのプログラムである。
また、第2実施例では、議事録作成プログラム318は、内容欄に手書き画像が収まらない場合に、当該内容欄を含む表示欄を縦方向に拡大するためのプログラムでもある。
以下、第2実施例の描画制御処理について具体的に説明するが、第1実施例の図9〜図13で示した描画制御処理と一部が異なる以外は同じであるため、重複した説明は省略する。また、第1実施例の描画制御処理と同じ処理については同じ参照符号を付してある。
図18は第2実施例におけるCPU12の描画制御処理の一部であって、図12に後続するフロー図である。
図18からも分かるように、第2実施例では、図12に示した描画制御処理において、ステップS51とステップS53の間に、ステップS101、S103、S105、S107の処理が追加される。
図18に示すように、CPU12は、ステップS51で、いずれかの項目がタッチされたと判断すると、“YES”となり、ステップS101で、手書き画像が内容欄の縦方向に収まるかどうかを判断する。ここでは、CPU12は、手書き画像の縦幅が、議事録のフォーマットにおいて、選択された項目に対応する内容欄の縦幅より小さいかどうかを判断する。
ステップS101で“NO”であれば、つまり手書き画像が内容欄の縦方向に収まらなければ、ステップS103で、項目欄および内容欄(表示欄)を縦方向に拡大して、ステップS105に進む。
一方、ステップS101で“YES”であれば、つまり手書き画像が内容欄の縦方向に収まれば、ステップS105で、表示欄が二頁にまたがっているかどうかを判断する。ここでは、CPU12は、一つの表示欄が頁区切りをまたいでいるかどうかを判断する。
ステップS105で“NO”であれば、つまり表示欄が二頁にまたがっていなければ、ステップS53に進む。一方、ステップS105で“YES”であれば、つまり表示欄が二頁にまたがっていれば、ステップS107で、改頁の情報を当該表示欄の先頭に移動して、ステップS53に進む。
第2実施例によれば、議事録のフォーマットにおける項目欄および内容欄が拡大されると、区切りのよい項目で改頁を挿入することにより、印刷頁のレイアウトを調整する。つまり、ユーザは印刷頁のレイアウトを気にすることなく、議事録を作成することができる。
なお、第2実施例では、表示欄が二頁にまたがる場合には、改頁の位置を当該表示欄の先頭位置に移動するようにしたが、議事録を縮小して一頁内に収まるようにしてもよい。
また、上述したように、内容欄を横方向に拡大し、議事録が頁からはみ出してしまう場合には、議事録の全体が頁内に収まる大きさに縮小するようにしてもよい。
<第3実施例>
第3実施例の情報処理装置10は、議事録に記載される内容として既に選択された手書き画像を識別可能に表示するようにした以外は、第1実施例の情報処理装置10と同じであるため、重複した説明については省略することにする。
図19は第3実施例におけるディスプレイ22に表示されるタッチ画面100の一例を示す図解図である。
図19に示すように、この第3実施例では、手書き画像が選択された項目に対応付けてメモリに記憶されると、枠106内の色が背景および手書き画像とは異なる色に変化される。つまり、枠106内に所定の色が付される(枠106内を所定の色で塗り潰される)。
情報処理装置10の上記のような動作は、CPU12が図7に示すRAM14に記憶された情報処理プログラムを実行することにより実現される。ただし、この第3実施例では、議事録作成プログラム318とは、範囲指定プログラム316に従って既定された指定範囲内の手書き画像をRAM14に記憶したとき、枠106内に所定の色(たとえば、赤色)を付す点で第1実施例とは異なる。
なお、図19に示すタッチ画面100では、枠106内に所定の色を付すだけでなく、選択された手書き画像を縁取るようにしてあるが、縁取りは無くてもよい。
図20は第3実施例におけるCPU12の描画制御処理の一部であって、図11に後続するフロー図である。以下、第3実施例の描画制御処理について説明するが、第1実施例で説明した内容と同じ内容については説明を省略することにする。
図20からも分かるように、第3実施例では、図12に示した描画制御処理において、ステップS55とステップS57の間に、ステップS201の処理が追加される。
図20に示すように、ステップS55で、項目選択メニュー130を消去して、ステップS201で、枠106内に手書き画像および背景とは異なる色を付して、ステップS57に進む。
第3実施例によれば、議事録の内容欄に記載することが既に選択された手書き画像については、当該手書き画像を選択したときに囲んだ枠106の内部を背景および手書き画像とは異なる色を付す(色で塗り潰す)ようにしたので、ユーザは、既に議事録の項目に対応する内容として選択された手書き画像を容易に知ることができる。
なお、第3実施例では、手書き画像を選択したときの枠106内に色を付すようにしたが、これに限定される必要はない。または、手書き画像を選択したときの枠106に選択済みであることが分かる色を付すようにしてもよい。或いは、手書き画像を選択したときの枠106を点滅表示するようにしてもよい。また、既に選択された手書き画像をグレーアウト表示させたり、点滅表示させたりしてもよい。つまり、既に議事録の項目に対応する内容として選択された手書き画像であることが分かるように、当該手書き画像および枠106の表示態様が変化される。ただし、枠106や枠106内の表示態様の変化と、選択された手書き画像の表示態様の変化は、両方が同時に実行されてもよい。
また、第3実施例は、第2実施例にも適用可能であることは言うまでもない。
さらに、上述の実施例では、項目の編集や表示欄の大きさの変更については、議事録データ336に含まれるフォーマットデータ336aに対応する議事録のフォーマットにのみ反映させるようにしたが、描画アプリケーションとともにHDDに記憶されている元のフォーマットデータにも反映させるようにしてもよい。
さらにまた、上述の各実施例で挙げた画面構成等は一例であり、実際の製品に応じて適宜変更することが可能である。また、同じ効果が得られる場合には、フロー図に示した各ステップの順番は適宜変更されてもよい。