以下、本発明の実施の形態について図面に基づいて説明する。
図1は、情報処理装置としての表示装置のハードウェア構成を示すブロック図である。図1において、入力部1は、ネットワーク等を介して複合機によってスキャンされた原稿データを入力する。CPU(Central Processing Unit)2は、各種処理のための演算、論理判断等を行い、バス6に接続された表示装置の各構成要素を制御する。また、CPU2は、後述するプログラムメモリ4に格納されているプログラムを実行することで、後述するような機能を提供したり、後述するようなフローチャートを実行したりする。
出力部3は、データを出力する。なお、出力部3としては、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)等によって構成される表示デバイスである。プログラムメモリ4は、プログラムを格納するメモリである。プログラムメモリ4は、ROM(Read Only Memory)であってもよいし、外部記憶装置又は記憶媒体等からプログラムがロードされるRAM(Random Access Memory)であってもよい。
データメモリ5は、各種処理で生じたデータを格納する。なお、データメモリ5に格納される電子データとしては、例えば、後述するスキャン原稿、スキャン原稿と関連付けられたGUI部品(又はGUI部品データ)、手書きコマンドが除去されたスキャン原稿、登録データ等がある。また、データメモリ5は、例えば、RAMである。2次記憶装置7は、ハードディスクドライブ等の不揮発性の記憶媒体によって構成される。データメモリ5は、2次記憶装置7から処理に先立って、処理に必要なデータをロードしておくか、或いは必要があるごとに2次記憶装置7に格納されているデータを参照する。バス6は、CPU2の制御の対象とする各構成要素を指示するアドレス信号、CPU2が各構成要素を制御するためのコントロール信号、各構成要素間で相互にやりとりされるデータ等、の転送を行うためのバスである。
図2は、表示システムの構成を示すブロック図である。
図2では、紙原稿21が複合機22でスキャンされ、原稿21に対応する電子化された原稿データとしてのスキャン原稿24が、表示装置23の表示画面に表示されている。また、図2では、原稿21上の手書きコマンド25及び26に対応した認識結果が、表示装置23の表示画面上で操作可能なGUI部品27及び28として生成され表示されている。ここで、GUI部品27は、手書きコマンド25に対応し、GUI部品28は、手書きコマンド26に対応している。なお、本実施の形態において、GUIとは、視覚的に表現され、ユーザ(操作者)がポインティングデバイス等によって操作を直感的に行うことができるグラフィカルユーザインターフェースのことである。
図3は、図2に示す表示システムの機能構成を示すブロック図である。なお、図3では、説明の簡略化のため、機能に基づき、原稿読取装置31と、表示装置32と、記録装置33と、に分けた例を示してある。図3において、原稿読取装置31は図2の複合機22に含まれ、表示装置32は図2の表示装置23に対応する。また、記録装置33は、図1のデータメモリ5に対応する。また、データベース35は、図1の2次記憶装置7に対応する。即ち、本実施の形態においては、データベース35は表示装置23に内蔵されるものとするが、外部装置として構成してもよい。
図3に示した原稿21は、原稿読取装置31のスキャン部によりスキャンされる。スキャン原稿解釈部は、スキャン原稿を解釈し、GUI部品生成部は、スキャン原稿解釈部が解釈した結果等に基づいてGUI部品を生成する。スキャン原稿及び生成されたGUI部品は、ネットワーク34を介して表示装置32及び記録装置33に送られる。
表示装置32は、送られてきたスキャン原稿及びGUI部品を共に表示し、ユーザによる操作を受付ける。また、記録装置33は、送られてきたスキャン原稿及びGUI部品を関連付けてデータベース35に記録し、ユーザからの操作に応じて、記録したデータを読み出す。
図4は、表示システムの機能構成をより詳細説明するための図である。これらの機能は、図2に示す複合機22及び表示装置23のハードウェア構成によって達成される。
図4に示されるように、表示システムは、主な機能として、スキャン&表示部41と、実行部42と、GUI部品変更部43と、を含む。スキャン&表示部41は、原稿をスキャンして表示装置23の表示画面に表示する。実行部42は、ディスプレイ上のGUI部品や、メニュー項目を用いたユーザの操作指示に応じて、処理を実行する。GUI部品変更部43は、表示されているGUI部品を変更する。
また、スキャン&表示部41は、スキャン部48と、スキャン原稿解釈部49と、スキャン原稿表示部4gと、を含む。スキャン部48は、原稿をスキャンする。スキャン原稿解釈部49は、スキャン部48がスキャンし、電子化データとして生成したスキャン原稿44を解釈する。スキャン原稿表示部4gは、スキャン原稿解釈部49が解析した結果である、手書きコマンドの除去後のスキャン原稿45や、GUI部品46等を表示する。
また、スキャン原稿解釈部49は、指示解釈部4aと、指示対象特定部4bと、手書きコマンド除去部4cと、動作内容特定部4dと、動作内容関連付け部4eと、GUI部品生成部4fと、を含む。指示解釈部4aは、スキャン原稿44上の手書きコマンドを解釈し、手書きコマンドが指示する処理を特定する。なお、手書きコマンドが指示する処理とは、例えば、印刷や、再生、次ページ、音量変更、送信等の処理である。指示対象特定部4bは、実行可能処理定義データ47を参照して手書きコマンドの指示対象のデータ(指示対象オブジェクト)を特定する。なお、ここで、指示対象オブジェクトとは、例えば、動画、静止画、スキャン原稿自体(又はスキャン原稿全体)等、指示対象のデータのことである。手書きコマンド除去部4cは、手書きコマンドをスキャン原稿から除去し、除去後のスキャン原稿45を生成する。動作内容特定部4dは、手書きコマンドが指示する処理の動作内容を特定する。動作内容関連付け部4eは、手書きコマンドと、手書きコマンドが指示する処理の動作内容とを関連付ける。GUI部品生成部4fは、手書きコマンド等に対応するGUI部品46及びGUI部品46に対応するGUI部品データを生成する。例えば、GUI部品生成部4fは、指示解釈部4aが特定した手書きコマンドが指示する処理、指示対象特定部4bが特定した指示対象オブジェクト等に応じて、GUI部品46及びGUI部品46に対応するGUI部品データを生成する。
また、スキャン原稿表示部4gは、除去後のスキャン原稿表示部4hと、GUI部品表示部4iと、を含む。除去後のスキャン原稿表示部4hは、除去後のスキャン原稿45を表示する。GUI部品表示部4iは、GUI部品46を表示する。
また、実行部42は、メニュー実行指示解釈部4mと、GUI部品実行指示解釈部4nと、実行許可判定部4oと、処理実行部4pと、を含む。メニュー実行指示解釈部4mは、メニュー項目による処理の実行指示を解釈する。GUI部品実行指示解釈部4nは、GUI部品46による処理の実行指示を解釈する。実行許可判定部4oは、指示された処理が実行可能な否かを判定する。処理実行部4pは、指示された処理を実行する。
また、GUI部品変更部43は、有効GUI部品一覧部4jと、GUI部品置換部4kと、次善指示対象特定部4lと、を含む。有効GUI部品一覧部4jは、変更可能な有効GUI部品を一覧表示する。GUI部品置換部4kは、指示されたGUI部品と、GUI部品とを、置換する。次善指示対象特定部4lは、求めるGUI部品46が、有効GUI部品一覧部4jが表示している一覧上に存在しない場合に次善の指示対象を特定する。
(第1の実施の形態)
以下、図5から図15を用いて、画像形成装置22においてスキャンされた手書きコマンドが記入された原稿に基づいて、表示装置23の表示画面上に原稿と共に手書きコマンドに対応するGUI部品が表示される形態について説明する。さらに、表示装置23が、手書きコマンドとして解釈した部分をスキャン原稿から除去して表示する例について説明する。
図5は、第1の実施形態におけるスキャン対象となる手書きコマンドが記入されている紙等の原稿の一例を示す図である。図5に示される原稿51は、テキスト領域52と、画像領域53と、を含み、更に手書きコマンド54が手書きで記述されている。
図6は、第1の実施形態におけるディスプレイに表示された表示画面の一例を示す図である。表示装置23上には図5に示した原稿51に対応する電子化されたデータであるスキャン原稿24が表示されている。スキャン原稿24は、テキスト領域62と、画像領域63と、を含む。また、ディスプレイ65上には図5の手書きコマンド54から生成された「印刷ボタン」のGUI部品64が表示されている。
図7は、第1の実施形態における表示装置23に表示されたGUI部品のデータ(付属情報)の一例を示す図である。GUI部品データ71は、GUI部品に対応する機能の情報と、相対表示位置及びサイズの情報と、を含む。図7に示されるGUI部品データ71は、例えば、図6で示したGUI部品64等に対応する。図7に示されるGUI部品データ71は、指示対象に対する処理の機能として「印刷」が記録され、相対表示位置及びサイズとして(70,10),(90,25)が記録されていることを表している。図7に示すデータは、データメモリ5に格納される。
図8は、第1の実施形態における表示システムの全体処理の一例を示すフローチャートである。以下に説明する処理は、表示装置23のCPU2あるいは画像形成装置22の不図示のCPUが予めそれぞれの装置に格納されたプログラムに基づいて実行するものとする。ステップS801において、画像形成装置22及び表示装置23のそれぞれは、操作画面を表示する等の初期化動作を行う。続いてステップS802において、画像形成装置22及び表示装置23のそれぞれは、ユーザ操作処理を行い、ユーザの操作(又はEvent)を受け付ける。
続いてステップS803において、画像形成装置22及び表示装置23において、Eventの判定を行う。画像形成装置22は、ユーザによるスキャン&表示指示の検出が行われるとステップS804に進む。また、表示装置23において実行指示を検出するとステップS807に進み、表示装置23においてGUI部品変更指示を検出するとステップS808に進む。
ステップS804では、画像形成装置22が、スキャン処理を行い、手書きコマンドが書かれた原稿をスキャンして電子化データとしてのスキャン原稿を取得し、表示装置23に転送する。続いてステップS805において、表示装置23は、スキャン原稿解釈処理を行い、例えばスキャン原稿中の手書きコマンドをGUI部品として解釈する。なお、表示装置23によるスキャン原稿解釈処理の詳細は、後述する図9に示す。続いてステップS806において表示装置23は、スキャン原稿表示処理を行い、手書きコマンドを除去したスキャン原稿と共にGUI部品を表示し、ステップS802の処理に戻る。GUI部品は、手書きコマンドが記述された位置に対応した同様の位置に表示される。なお、表示装置23によるスキャン原稿表示処理の詳細は、後述する図13に示す。
一方、ステップS807では、表示装置23が、ユーザに指示されたメニュー項目やGUI部品に対応する処理を実行し、ステップS802の処理に戻る。なお、表示装置23による実行処理の詳細は、後述する図15に示す。また、ステップS808では、表示装置23が、GUI部品変更(又は置換)処理を行い、表示中のGUI部品を、指示されたGUI部品に変更し、ステップS802の処理に戻る。なお、表示装置23によるGUI部品変更処理の詳細は、後述する図31に示す。
図9は、表示装置23によるスキャン原稿解釈処理の一例を示すフローチャートである。なお、図9に示す処理は、表示装置23による機能として、図4に示したスキャン原稿解釈部49が処理を行う(ハードウェアとしてはCPU2によって処理が行われる)ものとして説明を行う。
ステップS901において、スキャン原稿解釈部49は、指示解釈処理を行い、電子化されたデータであるスキャン原稿中の手書きコマンドを解釈し、手書きコマンドが指示する処理を特定する。続いてステップS902において、スキャン原稿解釈部49は、ステップS901における解釈の結果に基づいて、手書きコマンドによる指示が有るか否かを判断する。スキャン原稿解釈部49は、手書きコマンドによる指示が有ると判断すると、ステップS903に進み、手書きコマンドによる指示がないと判断すると、スキャン原稿解釈処理を終了する。
ステップS903では、スキャン原稿解釈部49が、指示対象特定処理を行い、手書きコマンドの指示対象オブジェクト等を特定する。なお、指示対象特定処理の詳細は、後述する図19に示す。続いてステップS904において、スキャン原稿解釈部49は、ステップS903における手書きコマンドの指示対象オブジェクト等の特定が成功したか否かを判定する。スキャン原稿解釈部49は、ステップS903における手書きコマンドの指示対象オブジェクト等の特定が成功したと判定すると、ステップS905に進み、前記特定が成功しなかったと判定すると、スキャン原稿解釈処理を終了する。
ステップS905では、スキャン原稿解釈部49が、手書きコマンド除去処理を行い、手書きコマンドをスキャン原稿から除去する。なお、手書きコマンド除去処理の詳細は、後述する図11に示す。続いてステップS906において、スキャン原稿解釈部49は、動作内容特定処理を行い、手書きコマンドが指示する処理の動作内容を原稿上に記述された文字列や、原稿に埋め込まれた電子透かし、ユーザが決定(又は入力)する定義データ等から特定する。なお、動作内容特定処理の詳細は、後述する図45に示す。
続いてステップS907において、スキャン原稿解釈部49は、動作内容の関連付け処理を行い、手書きコマンドと、ステップS906において特定した手書きコマンドが指示する処理の動作内容と、を関連付ける。なお、動作内容関連付け処理の詳細は、後述する図46に示す。ステップS908において、スキャン原稿解釈部49は、ステップS907において関連付けられた手書きコマンド及び手書きコマンドが指示する処理の動作内容と、後述する図10に示される手書きコマンド定義データと、に基づいて、GUI部品生成処理を行う。GUI部品生成処理の結果、スキャン原稿解釈部49は、ステップS907において関連付けられた手書きコマンド及び手書きコマンドが指示する処理の動作内容に対応するGUI部品を生成し、スキャン原稿解釈処理を終了する。なお、GUI部品生成処理の詳細は、後述する図12に示す。
図10は、手書きコマンド定義データの一例を示す図である。図10に示されるように、手書きコマンド定義データは、手書きコマンドの情報であるストローク情報と、実行指示に係るコマンド(機能コマンド)と、表示装置23の表示画面上に表示されるGUI部品と、を含む。例えば、手書きコマンド定義データ101には、図5のスキャン原稿上の手書きコマンド54と同一のストローク情報が定義されている。また、手書きコマンド定義データ101には、図5のスキャン原稿上の手書きコマンド54に対応する「印刷」コマンドが定義されている。また、手書きコマンド定義データ101には、図6の「印刷ボタン」のGUI部品64と同一のGUI部品が定義されている。手書きコマンド定義データは、データメモリ5に格納される。
図11は、手書きコマンド除去処理の一例を示すフローチャートである。なお、図11に示す処理は、スキャン原稿解釈部49の、図4に示した手書きコマンド除去部4cが処理を行うものとして説明を行う。
ステップS1101において、手書きコマンド除去部4cは、例えば変数である「処理対象」に、抽出された手書きコマンドを識別する値等をセットし、「処理対象」を初期化する。例えば、抽出された手書きコマンドが2つ存在した場合、手書きコマンド除去部4cは、例えば変数である「処理対象」に、抽出された手書きコマンドの1つ目を示す値をセットする。
ステップS1102において、手書きコマンド除去部4cは、「処理対象」にセットされている値に対応する、抽出された手書きコマンドが存在するか否かを判定する。手書きコマンド除去部4cは、「処理対象」にセットされている値に対応する、抽出された手書きコマンドが存在すると判定すると(ステップS1102において「有り」)、ステップS1103に進む。また、手書きコマンド除去部4cは、「処理対象」にセットされている値に対応する、抽出された手書きコマンドが存在しないと判定すると(ステップS1102において「無し」)、手書きコマンド除去処理を終了する。
ステップS1103では、手書きコマンド除去部4cが、対応ストローク除去処理を行い、「処理対象」にセットされている値に対応する手書きコマンドを削除する。つまり、手書きコマンド除去部4cは、処理対象の手書きコマンドに対応したストロークをスキャン原稿から除去する。続いてステップS1104において、手書きコマンド除去部4cは、「処理対象」にセットされている値を、例えば1つ進め、ステップS1102に戻る。
図12は、GUI部品生成処理の一例を示すフローチャートである。なお、図12に示す処理は、スキャン原稿解釈部49の、図4に示したGUI部品生成部4fが処理を行うものとして説明を行う。
ステップS1201において、GUI部品生成部4fは、例えば変数である「処理対象」に、抽出された手書きコマンドを識別する値等をセットし、「処理対象」を初期化する。例えば、抽出された手書きコマンドが2つ存在した場合、手書きコマンド除去部4cは、例えば変数である「処理対象」に、抽出された手書きコマンドの1つ目を示す値をセットする。
ステップS1202において、GUI部品生成部4fは、「処理対象」にセットされている値に対応する、抽出された手書きコマンドが存在するか否かを判定する。GUI部品生成部4fは、「処理対象」にセットされている値に対応する、抽出された手書きコマンドが存在すると判定すると(ステップS1202において「有り」)、ステップS1203に進む。また、GUI部品生成部4fは、「処理対象」にセットされている値に対応する、抽出された手書きコマンドが存在しないと判定すると(ステップS1202において「無し」)、GUI部品生成処理を終了する。
ステップS1203では、GUI部品生成部4fが、相対位置サイズ決定処理を行い、「処理対象」にセットされている値に対応する手書きコマンドに対応したストロークのスキャン原稿に対する相対位置と、サイズと、を求める。続いてステップS1204において、GUI部品生成部4fは、GUI部品生成処理を行い、ステップS1203において求めた相対位置(相対表示位置)上に表示すべく、求めたサイズでGUI部品を生成する。
続いてステップS1205において、GUI部品生成部4fは、「処理対象」にセットされている値を、例えば1つ進め、ステップS1202に戻る。
図13は、スキャン原稿表示処理の一例を示すフローチャートである。なお、図13に示す処理は、表示装置23の機能として、図4に示したスキャン原稿表示部4gが処理を行うものとして説明を行う。
ステップS1301において、スキャン原稿表示部4gは、除去後のスキャン原稿表示処理を行い、手書きコマンドが除去された状態のスキャン原稿を表示装置23に表示する。続いてステップS1302において、スキャン原稿表示部4gは、例えばスキャン原稿中の手書きコマンドの解釈等に基づいて、手書きコマンドによる指示が有るか否かを判断する。スキャン原稿表示部4gは、手書きコマンドによる指示が有ると判断すると、ステップS1303に進み、手書きコマンドによる指示がないと判断すると、スキャン原稿表示処理を終了する。
ステップS1303では、スキャン原稿表示部4gが、GUI部品表示処理を行い、手書きコマンドによる指示に対応するGUI部品を表示する。なお、GUI部品表示処理の詳細は、後述する図14に示す。
図14は、GUI部品表示処理の一例を示すフローチャートである。なお、図14に示す処理は、スキャン原稿表示部4gの、図4に示したGUI部品表示部4iが処理を行うものとして説明を行う。
ステップS1401において、GUI部品表示部4iは、例えば変数である「処理対象」に、抽出された手書きコマンドを識別する値等をセットし、「処理対象」を初期化する。例えば、抽出された手書きコマンドが2つ存在した場合、GUI部品表示部4iは、例えば変数である「処理対象」に、抽出された手書きコマンドの1つ目を示す値をセットする。
ステップS1402において、GUI部品表示部4iは、「処理対象」にセットされている値に対応する、抽出された手書きコマンドが存在するか否かを判定する。GUI部品表示部4iは、「処理対象」にセットされている値に対応する、抽出された手書きコマンドが存在すると判定すると(ステップS1402において「有り」)、ステップS1403に進む。また、GUI部品表示部4iは、「処理対象」にセットされている値に対応する、抽出された手書きコマンドが存在しないと判定すると(ステップS1402において「無し」)、GUI部品表示処理を終了する。
ステップS1403では、GUI部品表示部4iが、絶対位置サイズ決定処理を行う。GUI部品表示部4iは、例えば、図12に示したステップS1204等において生成されたGUI部品(又はGUI部品のGUI部品データ)に基づいて、GUI部品を表示装置23上に表示する際の絶対位置と、サイズと、を決定する。続いてステップS1404において、GUI部品表示部4iは、GUI部品表示処理を行い、処理対象の手書きコマンドに対応するGUI部品を、ステップS1403において決定された位置及びサイズで、表示装置23に表示する。
続いてステップS1405において、GUI部品表示部4iは、「処理対象」にセットされている値を、例えば1つ進め、ステップS1402に戻る。
図15は、実行処理の一例を示すフローチャートである。なお、図15に示す処理は、表示装置23の、図4に示した実行部42が処理を行うものとして説明を行う。
ステップS1501において、実行部42は、ユーザの操作が、メニュー項目による処理の実行指示か否かを判定する。実行部42は、ユーザの操作が、メニュー項目による処理の実行指示であると判定すると、ステップS1502に進み、ユーザの操作が、メニュー項目による処理の実行指示でないと判定すると、ステップS1503に進む。
ステップS1502では、実行部42が、メニュー実行指示解釈処理を行い、メニュー項目による処理の実行指示を解釈する。一方、ステップS1503では、実行部42が、GUI部品実行指示解釈処理を行い、GUI部品による処理の実行指示を解釈する。例えば、実行部42は、ユーザによって操作されたGUI部品に対応するGUI部品データに基づいて、処理(処理の機能)や、処理の動作内容、処理の指示対象等を特定する。
ステップS1504では、実行部42が、実行許可判定処理を行い、ユーザの実行指示が実行可能な指示か否かを判定する。なお、実行許可判定処理の詳細は、後述する図41に示す。続いてステップS1505において、実行部42は、ステップS1504における判定結果に基づいて、実行を許可すると判断すると、ステップS1506に進み、実行を許可しないと判断すると、実行処理を終了する。
ステップS1506では、実行部42が、処理実行処理の指示を行い、各処理が実行される。
上述したように、第1の実施形態によれば、表示装置23は、手書きコマンドの認識結果をGUI部品としてディスプレイ上に発現させる。よって、誤認識を防止するための特別な確認ステップを不要とし、同時に誤動作のリスクが回避可能となり、表示中の原稿データに対する操作性を向上させることができる。
また、第1の実施形態によれば、表示装置23は、例えば図6に示されるように、GUI部品を表示装置23の表示画面上に常駐させる。よって、ユーザは、GUI部品を用いて、何回でも原稿データ等に対する処理を行うことが可能となり、表示中の原稿データに対する操作性を向上させることができる。
また、第1の実施形態によれば、表示装置23は、一般の原稿に記入された手書きコマンドを認識し、認識結果をGUI部品として発現させる。よって、専用のシート等を用いる必要がなく、より簡単に表示中の原稿データに対する操作性を向上させることができる。
また、第1の実施形態によれば、表示装置23は、手書きコマンドの認識結果をGUI部品として手書きコマンドに対応する位置に発現させると共に、スキャン原稿をディスプレイ上に表示する。よって、ユーザは、スキャン原稿をディスプレイで確認した後で(又は確認しながら)、GUI部品等を用いて印刷等の処理の実行指示が可能となり、表示中の原稿データに対する操作性を向上させることができる。
また、第1の実施形態では、表示装置23は、図3のデータベース35に示したように、スキャン原稿と、対応するGUI部品と、を関連付けて格納、管理する。よって、スキャン原稿を再利用した際に、対応するGUI部品も再利用可能となるので、表示中の原稿データに対する操作性を向上させることができる。
なお、第1の実施形態では、表示装置23が、手書きコマンドを除去したスキャン原稿を表示する例を示したが、手書きコマンドを除去しないままのスキャン原稿を表示してもよいし、スキャン原稿に対する元原稿をデータメモリ5等より検索して表示してもよい。
(第2の実施の形態)
以下、図16から図24を用いて、表示装置23が、原稿中の特定領域を指示対象としたGUI部品を表示する例について説明する。なお、画像形成装置22及び表示装置23を含む表示システムの構成は第1の実施の形態と同様であるので、その説明を省略する。
図16は、第2の実施形態におけるスキャン対象となる手書きコマンドが記入されている紙等の原稿を示す図(その1)である。図16に示される原稿161は、テキスト領域162と、画像領域163と、を含み、更に手書きコマンド164が、画像領域163に重なる形で、手書きで記入されている。
図17は、第2の実施形態における表示装置23に表示された表示画面を示す図(その1)である。表示装置23の表示画面上には図16に示した原稿161に対応する電子化されたデータとしてスキャン原稿171が表示されている。スキャン原稿171は、テキスト領域172と、画像領域173と、を含む。また、表示装置23上には図16の手書きコマンド164から生成された「再生ボタン」のGUI部品174が表示されている。なお画像領域173は、スキャン原稿171に対して表示装置23等が検索した元原稿の対応領域にあった動画に関連付けられており、「再生ボタン」は前記動画に対する操作を可能としていることを示している。
図18は、第2の実施形態における表示装置23に表示されたGUI部品のデータを示す図(その1)である。GUI部品データ181は、GUI部品に対応する機能の情報と、相対表示位置及びサイズの情報と、指示対象のオブジェクトの情報と、を含む。図18に示されるGUI部品データ181は、例えば、図17で示したGUI部品174に対応する。図18に示されるGUI部品データ181は、指示対象として「動画オブジェクト173」が記録され、指示対象に対する処理の機能として「再生」が記録され、相対表示位置及びサイズとして(50,85),(60,95)が記録されていることを表している。GUI部品データ181は、データメモリ5に格納される。
図19は、指示対象特定処理の一例を示すフローチャートである。なお、図19に示す処理は、表示装置23の機能として、スキャン原稿解釈部49の、図4に示した指示対象特定部4bが処理を行うものとして説明を行う。
ステップS1901において、指示対象特定部4bは、元原稿検索処理を行い、スキャン原稿に係る原稿の元原稿を検索する。続いてステップS1902において、指示対象特定部4bは、ステップS1901における検索の結果に基づいて、元原稿が有ったと判定すると、ステップS1904に進み、元原稿が無かったと判定すると、ステップS1903に進む。
ステップS1903では、指示対象特定部4bが、オブジェクト抽出処理を行い、スキャン原稿を画像解析することにより、テキストや、図形、画像等のオブジェクトを抽出し、ステップS1904に進む。
ステップS1904では、指示対象特定部4bが、例えば変数である「処理対象」に、抽出された手書きコマンドを識別する値等をセットし、「処理対象」を初期化する。例えば、抽出された手書きコマンドが2つ存在した場合、指示対象特定部4bは、例えば変数である「処理対象」に、抽出された手書きコマンドの1つ目を示す値をセットする。
ステップS1905では、指示対象特定部4bが、「処理対象」にセットされている値に対応する、抽出された手書きコマンドが存在するか否かを判定する。指示対象特定部4bは、「処理対象」にセットされている値に対応する、抽出された手書きコマンドが存在すると判定すると(ステップS1905において「有り」)、ステップS1906に進む。また、指示対象特定部4bは、「処理対象」にセットされている値に対応する、抽出された手書きコマンドが存在しないと判定すると(ステップS1905において「無し」)、指示対象特定処理を終了する。
ステップS1906では、指示対象特定部4bが、図4に示した指示対象種類に対応する実行可能処理定義データ47等を用い、対応オブジェクト特定処理を行う。指示対象特定部4bは、元原稿又はステップS1903で抽出したオブジェクトの中から、処理対象の手書きコマンドが指示対象とするオブジェクトを特定する。なお、実行可能処理定義データの詳細は、後述する図20に示す。また、対応オブジェクト特定処理の詳細は、後述する図21に示す。
続いてステップS1907において、指示対象特定部4bは、ステップS1906における対応オブジェクト特定処理で、処理対象の手書きコマンドが指示対象とするオブジェクトの特定が成功したか否かを判定する。指示対象特定部4bは、処理対象の手書きコマンドが指示対象とするオブジェクトの特定が成功したと判定すると、ステップS1908に進む。また、指示対象特定部4bは、処理対象の手書きコマンドが指示対象とするオブジェクトの特定が失敗したと判定すると、ステップS1909に進む。
ステップS1908では、指示対象特定部4bが、ステップS1906において特定されたオブジェクトを、処理対象の手書きコマンドの指示対象とする。一方、ステップS1909では、指示対象特定部4bが、例えば図9のS901等において手書きコマンドとして認識されたこと自体、誤りと判断して、現在処理対象の手書きコマンドとしているものをスキャン原稿から削除し、ステップS1910に進む。
ステップS1910では、指示対象特定部4bが、「処理対象」にセットされている値を、例えば1つ進め、ステップS1905に戻る。
図20は、図4に示す指示対象種類に対応する実行可能処理定義データ47の一例を示す図である。これらのデータは、データメモリ5に保持される。図20に示す実行可能処理定義データは、指示対象種類と、指示対応種類に対応する実行可能処理リストと、を含む。例えば、実行可能処理定義データ201には、図17で示した動画オブジェクト173等に対応した指示対象種類「動画」が定義されている。また、実行可能処理定義データ201には、「動画」に対応する実行可能な処理リストとして、「印刷」、「再生」、「音量変更」、「送信」の各処理が定義されている。
図21は、対応オブジェクト特定処理の一例を示すフローチャートである。なお、図21に示す処理は、図4に示した指示対象特定部4bが処理を行うものとして説明を行う。
ステップS2101において、指示対象特定部4bは、図9のステップS901等の指示解釈処理で解釈された手書きコマンドの解釈結果を識別する値等をセットし、「対象解釈」を初期化する。例えば、手書きコマンドの解釈結果が2つ存在した場合、指示対象特定部4bは、例えば変数である「対象解釈」に、手書きコマンドの解釈結果の1つ目を示す値をセットする。
ステップS2102では、指示対象特定部4bが、「対象解釈」にセットされている値に対応する、手書きコマンドの解釈結果が存在するか否かを判定する。指示対象特定部4bは、「対象解釈」にセットされている値に対応する、手書きコマンドの解釈結果が存在すると判定すると(ステップS2102において「有り」)、ステップS2103に進む。また、指示対象特定部4bは、「対象解釈」にセットされている値に対応する、手書きコマンドの解釈結果が存在しないと判定すると(ステップS2102において「無し」)、対応オブジェクト特定処理を終了する。
ステップS2103では、指示対象特定部4bが、手書きコマンド付近にあるオブジェクトを識別する値等をセットし、「指示対象オブジェクト」を初期化する。手書きコマンド付近にあるオブジェクトが2つ存在した場合指示対象特定部4bは、例えば変数である「指示対象オブジェクト」に、手書きコマンド付近にあるオブジェクトの内最も手書きコマンドの近くにあるオブジェクトを示す値をセットする。
ステップS2104では、指示対象特定部4bが、「指示対象オブジェクト」にセットされている値に対応する、手書きコマンド付近にあるオブジェクトが存在するか否かを判定する。指示対象特定部4bは、「指示対象オブジェクト」にセットされている値に対応する、手書きコマンド付近にあるオブジェクトが存在すると判定すると(ステップS2104において「有り」)、ステップS2105に進む。また、指示対象特定部4bは、「指示対象オブジェクト」にセットされている値に対応する、手書きコマンド付近にあるオブジェクトが存在しないと判定すると(ステップS2104において「無し」)、ステップS2108に進む。
ステップS2105では、指示対象特定部4bが、図20に示した実行可能処理定義データ等を参照して有効性判定処理を行う。指示対象特定部4bは、例えば図9のS901等の指示解釈処理において解釈された手書きコマンドの指示解釈(つまり、手書きコマンドが指示する処理)が、指示対象オブジェクトに対して有効な処理か否かを判定する。
指示対象特定部4bは、手書きコマンドの指示解釈が指示対象オブジェクトに対して有効な処理でないと判定すると、ステップS2107に進む。また、指示対象特定部4bは、手書きコマンドの指示解釈が指示対象オブジェクトに対して有効な処理であると判定すると、対応オブジェクト特定処理を終了する。
ステップS2107では、指示対象特定部4bが、「指示対象オブジェクト」にセットされている値を、例えば1つ進め、ステップS2104に戻る。また、ステップS2108では、指示対象特定部4bが、「対象解釈」にセットされている値を、例えば1つ進め、ステップS2102に戻る。
なお、ステップS2105の有効性判定処理において、指示対象特定部4bは、図20に示す実行可能処理定義データ等を参照すると共に、例えば、同一指示対象オブジェクトに対する機能が重複しているか否かに基づいて有効性を判定するようにしてもよい。つまり、同一指示対象オブジェクトに対して、類似する手書きコマンドが2つ原稿に記入されていた場合、指示対象特定部4bは、同一指示対象オブジェクトに対する機能(又は処理)が重複しているため、有効ではないと判断するようにしてもよい。一方、上述したような場合、指示対象特定部4bは、有効ではないと判断せず、同一の機能(例えば、再生)のコマンドではなく異なる機能(例えば、再生と、音量変更と、)のコマンドと解釈し、有効であると判定するようにしてもよい。
図22は、第2の実施形態におけるスキャン対象となる手書きコマンドが記入されている原稿の一例(その2)である。図22に示される原稿221は、テキスト領域222と、表領域223と、を含み、更に手書きコマンド224が、表領域223に重なる形で、手書きで記入されている。
図23は、第2の実施形態における表示装置23上の表示画面の一例(その2)である。表示装置23の表示画面上には図22に示した原稿221に対応する電子化されたデータとしてスキャン原稿231が表示されている。スキャン原稿231は、テキスト領域232と、表領域233と、を含む。なお、表領域233は、スキャン原稿231に対して表示装置23が検索した元原稿の対応領域にあった表に関連付けられている。
また、表示装置23の表示画面上にはスキャン原稿自体を処理対象とした「次ページボタン」のGUI部品234が表示されている。これは、図22の手書きコマンド224に対応する「再生ボタン」のGUI部品では、指示対象であった前記表に対して処理が不可能なために、表示装置23によって、指示対象及びGUI部品が変更されているからである。
図24は、第2の実施形態における表示装置23に表示されたGUI部品のデータの一例(その2)である。GUI部品データ241は、GUI部品に対応する機能の情報と、相対表示位置及びサイズの情報と、指示対象のオブジェクトの情報と、を含む。図24に示されるGUI部品データ241は、例えば、図23で示したGUI部品234に対応する。図24に示されるGUI部品データ241は、指示対象として「スキャン原稿自体231」が記録され、指示対象に対する処理の機能として「次ページ」が記録されていることを表している。また、図24に示されるGUI部品データ241は、相対表示位置及びサイズとして(50,85),(60,95)が記録されていることを表している。GUI部品データ241は、データメモリ5に保持される。
上述したように、第2の実施形態によれば、表示装置23は、GUI部品の指示対象を適切に特定する。よって、表示中の原稿データに対する操作性を向上させることができる。また、第2の実施形態によれば、表示装置23は、有効なGUI部品だけを生成する。よって、表示中の原稿データに対する操作性を向上させることができる。
(第3の実施の形態)
以下、図25から図35を用いて、表示装置23が、誤認識したGUI部品を変更する例について説明する。画像形成装置22及び表示装置23を含む表示システムの構成は第1の実施の形態と同様であるので、その構成は省略する。
図25は、第3の実施形態におけるスキャン対象となる手書きコマンドが記入されている紙等の原稿の一例(その1)である。図25に示される原稿251は、テキスト領域252と、画像領域253と、を含み、更に、手書きコマンド254及び255が、手書きで記入されている。
図26は、第3の実施形態における表示装置23に表示された表示画面を示す図(その1)である。表示装置23上には図25に示した原稿251に対応する電子化されたデータとしてスキャン原稿261が表示されている。スキャン原稿261は、テキスト領域262と、画像領域263と、を含む。また、表示装置23上には図25の手書きコマンド254及び255から生成された「再生ボタン」のGUI部品264及び265が表示されている。なお画像領域263は、スキャン原稿261に対して表示装置23等が検索した元原稿の対応領域にあった動画に関連付けられており、「再生ボタン」は前記動画に対する操作を可能としていることを示している。
図27は、第3の実施形態における表示装置23に表示されたGUI部品のデータの一例(その1)である。GUI部品データは、GUI部品に対応する機能の情報と、相対表示位置及びサイズの情報と、指示対象のオブジェクトの情報と、を含む。図27のGUI部品データは、データメモリ5に保持される。図27に示されるGUI部品データ271は、例えば、図26で示したGUI部品264に対応する。図27に示されるGUI部品データ271は、指示対象として「動画オブジェクト263」が記録され、指示対象に対する処理の機能として「再生」が記録され、相対表示位置及びサイズとして(50,55),(60,65)が記録されていることを表している。なお、ここでは同一指示対象オブジェクトに対する同一機能(又は処理)GUI部品の重複を許すものとして説明しているので再生ボタンが2つ存在しているが、重複を許さない場合には異なる機能のGUI部品が存在することになる。
図28は、第3の実施形態における表示装置23に表示されたGUI部品変更操作画面を示す図(その1)である。図28に示される表示装置23の表示画面上には図25に示した原稿251に対応するスキャン原稿261が表示されている。また、図28に示される表示装置23の表示画面上にはスキャン原稿261を構成するテキスト領域262と、画像領域263と、共に、図25の手書きコマンド254及び255から生成された「再生ボタン」のGUI部品264及び265が表示されている。
また、図28では、ユーザによる「再生ボタン」のGUI部品265を指定した有効GUI一覧ウィンドウの表示指示操作に対応した、有効GUI一覧ウィンドウ281が表示されている例が示されている。また、図28では、有効GUI一覧ウィンドウ281の内、「音量変更ボタン」のGUI部品282が選択状態になっている例が示されている。また、図28では、有効GUI一覧の中のGUI部品の指示対象オブジェクト263が、ユーザに判別可能なように例えば太枠で表示されている例が示されている。
なお、例えば、表示装置23は、ユーザがポインティングデバイスを用いてGUI部品上で長押し等の操作を行うと、ユーザによる有効GUI一覧ウィンドウの表示指示操作であると判断する。そして表示装置23は、図28に示されるような有効GUI一覧ウィンドウ281を表示装置23上に表示する。
図29は、図26に示した表示画面に対して、図28に示したようなGUI部品の変更操作を行った後の表示装置23に表示された表示画面の一例を示す図である。図29に示される表示画面は、図26に示した表示画面と比べて、「再生ボタン」のGUI部品265が、「音量変更ボタン」のGUI部品291に変更されている点が異なる。
図30は、第3の実施形態における表示装置23に表示されたGUI部品のデータを示す図(その2)である。図30に示されるGUI部品データは、図27に示したGUI部品データと比べて、GUI部品データ272が、GUI部品データ301に変更されている(又は置き換えられている)点が異なる。図30のGUI部品データは、データメモリ5に保持される。
図31は、GUI部品変更処理の一例を示すフローチャートである。なお、図31に示す処理は、表示装置23の機能として、図4に示したGUI部品変更部43が処理を行うものとして説明を行う。
ステップS3101において、GUI部品変更部43は、有効GUI部品一覧処理を行う。GUI部品変更部43は、表示中のGUI部品の内、長押し等で選択されたGUI部品の指示対象オブジェクトを指示対象とすることが可能なGUI部品の一覧(有効GUI一覧ウィンドウ)を表示する。なお、有効GUI部品一覧処理の詳細は、後述する図32に示す。
ステップS3102では、GUI部品変更部43が、ユーザ操作処理を行い、ユーザの操作(又はEvent)を受け付ける。GUI部品変更部43は、ユーザが、次善GUI部品一覧表示指示を行ったと判定するとステップS3104に進み、GUI部品選択指示を行ったと判定するとステップS3106に進む。
ステップS3104では、GUI部品変更部43が、次善指示対象の特定処理を行い、現在スキャン原稿中で選択しているGUI部品が指示対象とする指示対象オブジェクトに代わる、次善の指示対象オブジェクトを特定する。続いてステップS3105において、GUI部品変更部43は、有効GUI部品一覧処理を行い、ステップS3104において特定した次善の指示対象オブジェクトに関する有効GUI部品の一覧(有効GUI一覧ウィンドウ)を表示し、ステップS3102に戻る。
一方、ステップS3106では、GUI部品変更部43が、GUI部品置換処理を行う。GUI部品変更部43は、現在スキャン原稿中で選択しているGUI部品(例えば、図28のGUI部品265)と、有効GUI一覧ウィンドウの中から選択しているGUI部品(例えば、図28のGUI部品282)と、を置き換える。
図32は、有効GUI部品一覧処理の一例を示すフローチャートである。なお、図32の示す処理は、GUI部品変更部43の、図4に示した有効GUI部品一覧部4jが処理を行うものとして説明を行う。
ステップS3201において、有効GUI部品一覧部4jは、有効GUI部品の一覧を初期化する。続いてステップS3202において、有効GUI部品一覧部4jは、指示対象種類に対応する実行可能処理を取得するための処理を行う。有効GUI部品一覧部4jは、図20に示したような実行可能処理定義データより、現在指示対象としているオブジェクト(例えば、動画、静止画、スキャン原稿自体等)に対応する実行可能処理リストを取得する。例えば、有効GUI部品一覧部4jは、現在指示対象としているオブジェクトが動画の場合、実行可能処理リストとして、「印刷、再生、音量変更、送信」等を取得する。
ステップS3203では、有効GUI部品一覧部4jが、ステップS3202で取得した実行可能処理リストに含まれる実行可能処理を識別する値等をセットし、「処理対象」を初期化する。例えば、実行可能処理リストに実行可能処理が4つ存在した場合、有効GUI部品一覧部4jは、例えば変数である「処理対象」に、実行可能処理リストの最初に記録されている実行可能処理を示す値をセットする。
ステップS3204では、有効GUI部品一覧部4jが、「処理対象」にセットされている値に対応する、実行可能処理が存在するか否かを判定する。有効GUI部品一覧部4jは、「処理対象」にセットされている値に対応する、実行可能処理が存在すると判定すると(ステップS3204において「有り」)、ステップS3205に進む。また、有効GUI部品一覧部4jは、「処理対象」にセットされている値に対応する、実行可能処理が存在しないと判定すると(ステップS3204において「無し」)、有効GUI部品一覧処理を終了する。
ステップS3205では、有効GUI部品一覧部4jが、対応GUI部品一覧追加処理を行い、処理対象の指示対象オブジェクトの実行可能処理に対応したGUI部品を、有効GUI部品の一覧に追加し、一覧を表示する。
続いてステップS3206において、有効GUI部品一覧部4jは、「処理対象」にセットされている値を、例えば1つ進め、ステップS3204に戻る。なお、有効GUI部品一覧部4jは、有効GUI部品一覧処理において、図20に示す実行可能処理定義データに定義されている順序で、有効GUI部品の一覧を表示してもよい。また、有効GUI部品一覧部4jは、有効GUI部品一覧処理において、例えばスキャン原稿解釈部49等の手書きコマンドの解釈結果等に基づいて、手書きコマンドの形状に近いGUI部品から順に、有効GUI部品の一覧を表示してもよい。このようにすることによって、ユーザは、一覧の上から順にGUI部品を探すことによって、自身が書いた手書きコマンドの形状に近い、有効なGUI部品を見つけることができる。また、有効GUI部品一覧部4jは、有効GUI部品一覧処理において、手書きコマンドの形状と、GUI部品との形状と、の差が、一定の閾値以上のGUI部品を、有効GUI部品の一覧から除外するようにしてもよい。このようにすることによって、手書きコマンドの形状と一定の閾値以上形状が異なるGUI部品を一覧から削除することが可能となり、適切なGUI部品を一覧に表示することができる。
図33は、第3の実施形態における表示装置23に表示されたGUI部品変更操作画面を示す一例(その2)である。図33には、図28に示したGUI部品変更操作画面において、ユーザが次善GUI部品一覧指示操作を行った結果、次善の指示対象オブジェクトに対する有効GUI部品の一覧331が表示された例が示されている。なお、ユーザの次善GUI部品一覧指示操作とは、例えば次善GUI部品一覧表示ボタン283を押下する等の操作のことである。また、図33には、有効GUI部品の一覧331の内、ユーザによって「次ページボタン」のGUI部品332が選択されている例が示されている。
図33に示される有効GUI部品の一覧331は、GUI部品265の指示対象オブジェクト263が、次善の指示対象オブジェクト261に変わったことに対応して、表示装置23に表示される。また、有効GUI部品の一覧331は、GUI部品265の指示対象オブジェクトが変化したことがわかるように、表示装置23に表示される。
図34は、図33に示したようなGUI部品変更操作画面において、GUI部品変更操作が行われた後の表示装置23に表示された表示画面の一例を示す図である。図34に示される表示画面は、図26に示した表示画面と比べて、「再生ボタン」のGUI部品265が、「次ページボタン」のGUI部品341に置き換わっている点が異なる。
図35は、図33に示したようなGUI部品変更操作画面において、GUI部品変更操作が行われた後の表示装置23に表示されたGUI部品のデータを示す図である。図35に示されるGUI部品データは、図27に示したGUI部品データと比べて、GUI部品データ272が、GUI部品データ351に変更されている点が異なる。図27に示されるGUI部品データ272は、指示対象に対する処理の機能として「再生」が記録され、指示対象として「動画オブジェクト263」が記録されていることを表している。一方、図35に示されるGUI部品データ351は、指示対象に対する処理の機能として「次ページ」が記録され、指示対象として「スキャン原稿全体261」が記録されていることを表している。図35に示すGUI部品データは、データメモリ5に保持される。
上述したように、第3の実施形態によれば、表示装置23は、誤認識をしたGUI部品を、ユーザからの指示に基づいて、適切なGUI部品に変更する。よって、表示中の原稿データに対する操作性を向上させることができる。
また、第3の実施形態によれば、表示装置23は、ユーザからの指示に基づいて、指示対象に対して有効なGUI部品を一覧として表示する。よって、表示中の原稿データに対する操作性を向上させることができる。
また、第3の実施形態によれば、表示装置23は、ユーザからの指示に基づいて、次善の指示対象を特定する処理を繰り返すことができる。よって、例えば有効なGUI部品が有効GUI一覧ウィンドウに無い場合、ユーザは、指示対象を再特定させることができる。よって、表示中の原稿データに対する操作性を向上させることができる。
(第4の実施の形態)
以下、図36から図39を用いて、表示装置23が、スキャン原稿の表示の際に、スキャン原稿に対応して関連付けたGUI部品を表示・非表示する例について説明する。画像形成装置22及び表示装置23を含む表示システムの構成は第1の実施の形態と同様であるのでその説明を省略する。
図36は、第4の実施形態における表示装置23上の表示画面の一例を示す図である。図36に示される表示装置23上には、電子化されたデータであるスキャン原稿261や、スキャン原稿261に含まれるGUI部品264、341等が表示されている。また、図36に示される表示装置23は、GUI部品表示切替ボタン361を備えており、例えばGUI部品表示切替ボタン361がユーザにより押下される等のGUI部品切替指示を受け取ると、GUI部品264、341等の表示・非表示を切替える。
図37は、第4の実施形態における表示システムの全体処理の一例を示すフローチャートである。ステップS3701において、画像形成装置22及び表示装置23は、初期化処理を行い、操作画面を表示する等の初期化動作を行う。続いてステップS3702において、画像形成装置22及び表示装置23は、ユーザの操作(又はEvent)を受け付ける。
続いてステップS3703において、画像形成装置22及び表示装置23は、Eventの判定を行う。画像形成装置22は、ユーザが、スキャン&表示指示を行ったと判定するとステップS3704に進む。また、表示装置23は、ユーザが、実行指示を行ったと判定するとステップS3707に進む。また、表示装置23は、ユーザが、GUI部品変更指示を行ったと判定するとステップS3708に進む。また、表示装置23は、ユーザが、GUI部品表示切替指示を行ったと判定すると、ステップS3709に進む。
ステップS3704では、画像形成装置22において手書きコマンドが書かれた原稿がスキャンされ、電子化されたデータとしてスキャン原稿を取得する。続いてステップS3705において、表示装置23は、スキャン原稿解釈処理を行い、例えばスキャン原稿中の手書きコマンドをGUI部品として解釈する。続いてステップS3706において表示装置23は、スキャン原稿表示処理を行い、手書きコマンドを除去したスキャン原稿と共にGUI部品を表示し、ステップS3702の処理に戻る。
一方、ステップS3707では、表示装置23が、実行処理を行い、ユーザに指示されたメニュー項目やGUI部品に対応した処理を実行し、ステップS3702の処理に戻る。また、ステップS3708では、表示装置23が、GUI部品変更(又は置換)処理を行い、表示中のGUI部品を、指示されたGUI部品に変更し、ステップS3702の処理に戻る。また、ステップS3709では、表示装置23が、GUI部品表示切替処理を行い、GUI部品の表示・非表示の状態を切り替え、ステップS3702の処理に戻る。なお、GUI部品表示切替処理の詳細は、後述する図39に示す。
図38は、第4の実施形態におけるGUI部品データの一例を示す図である。GUI部品データは、GUI部品データを識別するIDと、GUI部品に対応する機能の情報と、相対表示位置及びサイズの情報と、対応するスキャン原稿を識別するスキャン原稿IDと、指示対象のオブジェクトの情報と、を含む。図38に示すGUI部品データは、データメモリ5に保持される。GUI部品データ382は、GUI部品データのIDとして「115」が記録され、指示対象に対する処理の機能として「次ページ」が記録され、相対表示位置及びサイズとして(60,85),(70,95)が記録されていることを表している。また、GUI部品データ382は、スキャン原稿IDとして「file021」(例えば、図36のスキャン原稿261に対応する)が記録され、指示対象として「スキャン原稿全体261」が記録されていることを表している。
図39は、GUI部品表示切替処理の一例を示すフローチャートである。ステップS3901において、表示装置23は、現在のGUI部品の表示状態を判断する。表示装置23は、GUI部品を表示中であると判断すると、ステップS3902に進み、GUI部品を非表示中であると判断すると、ステップS3903に進む。
ステップS3902では、表示装置23が、GUI非表示処理を行い、表示中のGUI部品を非表示にし、GUI部品の表示切替処理を終了する。一方、ステップS3903では、表示装置23が、対応GUI部品取得処理を行い、表示装置23に表示中のスキャン原稿に対応したGUI部品を、図38に示したようなGUI部品データから検索して取得する。
続いてステップS3904において、表示装置23は、GUI部品表示処理を行い、ステップS3903において取得した全GUI部品を表示装置23上に表示し、GUI部品の表示切替処理を終了する。
なお、上述した説明では、表示装置23は、ユーザがGUI部品表示切替指示を行ったと判定すると、GUI部品の表示・非表示を切替えるよう説明を行った。しかしながら、表示装置23は、ユーザがGUI部品表示切替指示を行ったと判定すると、表示モードを切替えるようにしてもよい。そして、表示装置23は、表示モードを切り換えた以降のスキャン原稿表示処理では、表示モードに応じてGUI部品の表示・非表示を行うようにしてもよい。
上述したように、第4の実施形態によれば、表示装置23は、スキャン原稿と、対応するGUI部品と、を関連付けて格納、管理し、ユーザからの指示に基づいて、GUI部品の表示、非表示を行う。よって、必要なときだけGUI部品を表示させる等することが可能になるため、表示中の原稿データに対する操作性を向上させることができる。
(第5の実施の形態)
以下、図40及び図41を用いて、表示装置23が、GUI部品に対応する処理の実行指示以外の処理を制限する例について説明する。画像形成装置22及び表示装置23を含む表示システムの構成は第1の実施の形態と同様であるので、その説明は省略する
図40は、第5の実施形態における表示装置23に表示された表示画面の一例を示す図である。表示装置23の表示画面上上には、電子化されたデータとしてのスキャン原稿261と、GUI部品264、341と、が表示されており、更に、メニューバー401が表示されている。また、図40は、メニューバー401からメニュー項目402のサブメニュー405が表示され、サブメニュー項目407の「印刷」処理がユーザにより選択されている例が示されている。
図41は、実行許可判定処理の一例を示すフローチャートである。なお、図41に示す処理は、表示装置23の機能として、図4に示した実行部42が処理を行うものとして説明を行う。ステップS4101において、実行部42は、現在の実行モードを判断する。実行部42は、現在の実行モードが実行制限モードであると判断すると、ステップS4102に進み、制限無しモードであると判断すると、実行を許可し、実行許可判定処理を終了する。
ステップS4102では、実行部42が、表示中GUI部品検索処理を行い、例えば、ユーザがメニュー項目を用いて実行を指示した処理に対応するGUI部品が表示装置23に表示されているか否かを判定する。実行部42は、ユーザがメニュー項目を用いて実行を指示した処理に対応するGUI部品が表示装置23に表示されていると判定すると、処理の実行を許可し、実行許可判定処理を終了する。また、実行部42は、ユーザがメニュー項目を用いて実行を指示した処理に対応するGUI部品が表示装置23に表示されていないと判定すると、処理の実行を禁止し、実行許可判定処理を終了する。
上述したように、第5の実施形態によれば、表示装置23は、生成し、表示しているGUI部品に対応する処理の実行以外、処理の実行を禁止することができる。よって、誤動作等を防止し、表示中の原稿データに対する操作性を向上させることができる。また、誤動作を防止できるという意味で、安全を保障(セキュリティを向上)することができる。
(第6の実施の形態)
以下、図42から図48を用いて、表示装置23が、手書きコマンドに関する動作内容等を特定し、手書きコマンドと関連付ける処理について説明する。
図42は、手書きコマンド及び手書き動作内容が記入されている原稿の一例を示す図である。図42に示される原稿51は、テキスト領域52と、画像領域53と、を含み、更に、手書きコマンド421、手書き動作内容422及び手書き関連付け指示423が記入されている。
図43は、第6の実施形態における表示装置23上の表示画面の一例を示す図である。表示装置23上には図42に示した原稿51に対応する電子化されたデータとしてのスキャン原稿261が表示されている。また、表示装置23上には、図42の手書きコマンド421から生成された「送信」のGUI部品431と、図42の手書き動作内容422から生成された動作内容バルーンヘルプ432と、が表示されている。なお、GUI部品431と、動作内容バルーンヘルプ432と、は、図42の手書き関連付け指示423によって関連付けられている。なお、動作内容バルーンヘルプ432は、GUI部品431上にポインティングデバイスが位置したときに表示装置23が、表示するようにしてもよい。
図44は、第6の実施形態における表示装置23に表示されたGUI部品のデータの一例を示す図である。GUI部品データは、GUI部品に対応する機能の情報と、相対表示位置及びサイズの情報と、指示対象のオブジェクトの情報と、GUI部品の動作内容と、を含む。図44に示すGUI部品データは、データメモリ5に保持される。例えばGUI部品データ441は、指示対象に対する処理の機能として「送信」が記録され、相対表示位置及びサイズとして(70,10),(90,25)が記録されていることを表している。また、GUI部品データ441は、指示対象として「スキャン原稿全体261」が記録され、処理の動作内容として「山田」が記録されていることを表している。つまり、GUI部品データ441に対応するGUI部品がユーザに押下等されると、実行部42は、GUI部品データ441に基づいて、スキャン原稿全体261を、山田に送信する。
図45は、動作内容特定処理の一例を示すフローチャートである。なお、図45に示す処理は、スキャン原稿解釈部49の、図4に示した動作内容特定部4dが処理を行うものとして説明を行う。
ステップS4501において、動作内容特定部4dは、文字認識処理を行い、スキャン原稿中の文字を認識する。続いてステップS4502において、動作内容特定部4dは、ステップS4501における文字認識が成功したか否かを判定する。動作内容特定部4dは、ステップS4501における文字認識が成功したと判定すると、ステップS4503に進む。また、動作内容特定部4dは、ステップS4501における文字認識が失敗したと判定すると、動作内容特定処理を終了する。
ステップS4503では、動作内容特定部4dが、対応データ抽出処理を行い、ステップS4501において認識した文字又は文字列に対応するデータ(例えば、図42の手書き動作内容422等)を、スキャン原稿から抽出し、動作内容特定処理を終了する。
図46は、動作内容関連付け処理の一例を示すフローチャートである。なお、図46に示す処理は、スキャン原稿解釈部49の、図4に示した動作内容関連付け部4eが処理を行うものとして説明を行う。
ステップS4601において、動作内容関連付け部4eは、関連抽出処理を行い、スキャン原稿中の手書き関連付け指示(例えば、図42の手書き関連付け指示423)から手書きコマンドと、動作内容と、の関連付けに関する情報を抽出する。続いてステップS4602において、動作内容関連付け部4eは、ステップS4601における関連付けに関する情報の抽出が成功したか否かを判定する。動作内容関連付け部4eは、ステップS4601における関連付けに関する情報の抽出が成功したと判定すると、ステップS4603に進む。また、動作内容関連付け部4eは、ステップS4601における関連付けに関する情報の抽出が失敗したと判定すると、動作内容関連付け処理を終了する。
ステップS4603では、動作内容関連付け部4eが、データ絞込み処理を行い、ステップS4601において抽出した関連付けに関する情報から、手書きコマンドと、動作内容と、の組み合わせを絞り込む。
図47は、手書きコマンドが記入され、動作内容が電子透かしで埋め込まれた原稿の一例を示した図である。図47に示される原稿51は、テキスト領域52と、画像領域53と、を含み、更に、手書きコマンド421が記入され、電子透かし動作内容471が埋め込まれている。図4等には図示していないが、表示装置23は、その機能として、印刷を行う印刷部等を有し、例えば図47に示されるような原稿51を印刷、出力するようにしてもよい。又は画像形成装置22に印刷すべきデータを出力してもよい。
また、原稿に、電子透かしで動作内容が埋め込まれていた場合、例えば動作内容特定部4d等は、上述した図45等の動作内容特定処理において、原稿に埋め込まれた電子透かしを認識し、認識した電子透かしから対応するデータを、スキャン原稿から抽出する。なお、ここで対応するデータとは、例えば図47の電子透かし動作内容471等である。
図48は、手書きコマンドが記入された原稿と、ユーザが、原稿又は手書きコマンドに対応させ入力部等を用いて動作内容を定義した定義データと、の一例を示す図である。図48に示される原稿51は、テキスト領域52と、画像領域53と、を含み、更に、手書きコマンド421が記入されている。ユーザは、図48に示されるような原稿51又は手書きコマンド421に対応させて、例えば原稿51を表示装置23に読み込ませる際に、動作内容を定義した定義データ481を、表示装置23に定義する。
上述したように、第6の実施形態によれば、表示装置23は、原稿に記入された手書きコマンドと、原稿に記入された手書き動作内容及び手書き関連付け指示と、に基づいて、手書きコマンド(又はGUI部品)と、動作内容と、を関連付ける。よって、表示中の原稿データに対する操作性を向上させることができる。
また、第6の実施形態によれば、表示装置23は、原稿に記入された手書きコマンドと、電子透かしで埋め込まれた手書きコマンドに対する動作内容と、を関連付ける。よって、表示中の原稿データに対する操作性を向上させることができる。
また、第6の実施形態によれば、表示装置23は、原稿に記入された手書きコマンドと、入力部等を用いてユーザが動作内容を定義した定義データと、に基づいて、手書きコマンド(又はGUI部品)と、動作内容と、を関連付ける。よって、表示中の原稿データに対する操作性を向上させることができる。
(第7の実施の形態)
以下、図49から図51を用いて、表示装置23が、スキャン原稿上に記入された手書きコマンド以外のデータに基づいて、GUI部品を生成する処理について説明する。
図49は、デジタイザを備えた表示装置23上の表示画面の一例を示す図である。デジタイザ(座標入力装置)を用いた表示画面上のペン入力操作によって手書きコマンド491が記入されることで、上述した実施形態同様の動作が実現される。
図50は、マイクを備えた表示装置23上に表示された表示画面の一例を示す図である。マイク502を用いた音声入力操作によって音声コマンド501が記入されることで、上述した実施形態同様の動作が実現される。なお、上述した実施形態同様にGUI部品の相対表示位置や、サイズを表示装置23が特定するためには、ユーザは対応する指示を音声で行う必要がある。
図51は、カメラを備えた表示装置23に表示された表示画面の一例を示す図である。カメラ512を用いた映像入力操作によってジェスチャコマンド511が記入されることで、上述した実施形態同様の動作が実現される。なお、上述した実施形態同様にGUI部品の表示位置や、サイズを表示装置23が特定するためには、ユーザは対応する指示をジェスチャで行う必要がある。
上述したように、第7の実施形態によれば、表示装置23は、ペン入力操作等によって入力された手書きコマンドに基づいて、GUI部品を生成し、表示する等、上述した各実施の形態で示した処理を実行する。よって、表示中の原稿データに対する操作性を向上させることができる。
また、第7の実施形態によれば、表示装置23は、マイク等を用いて入力された音声コマンドに基づいて、GUI部品を生成し、表示する等、上述した各実施の形態で示した処理を実行する。よって、表示中の原稿データに対する操作性を向上させることができる。
また、第7の実施形態によれば、表示装置23は、カメラ等を用いて入力されたジェスチャコマンドに基づいて、GUI部品を生成し、表示する等、上述した各実施の形態で示した処理を実行する。よって、表示中の原稿データに対する操作性を向上させることができる。
以上、上述したように、本発明の実施の形態によれば、表示中の原稿データに対する操作性を向上させることができる。
以上、本発明の好ましい実施の形態について詳述したが、本発明は係る特定の実施の形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
例えば、本発明は、複数の機器(例えばディスプレイ及び複合機等)から構成されるシステムに適用してもよい。また、本発明は、一つの機器からなる装置(例えば、スキャナ機能を有したディスプレイ、又はディスプレイのような表示装置を有した複合機、又はスキャン原稿を、タッチパネル上等に表示可能な複合機等)に適用してもよい。