制御装置及び制御方法
【課題】印刷後に電子文書が更新された場合であっても、正しく手書き部分を抽出し、さらに最新の電子文書に対して手書き部分を表示する制御装置及び制御方法を提供する。
【解決手段】電子文書を印刷した印刷物をスキャンしたスキャン画像から当該印刷物の印刷時における当該電子文書のバージョンを特定する。スキャン画像及び特定されたバージョンの電子文書から、手書き部分画像を抽出する。データベースに記憶された最新のバージョンの電子文書に対して、抽出された手書き部分画像を表示するように表示部を制御する。
【解決手段】電子文書を印刷した印刷物をスキャンしたスキャン画像から当該印刷物の印刷時における当該電子文書のバージョンを特定する。スキャン画像及び特定されたバージョンの電子文書から、手書き部分画像を抽出する。データベースに記憶された最新のバージョンの電子文書に対して、抽出された手書き部分画像を表示するように表示部を制御する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、手書きを行った印刷物を表示する制御装置及び制御方法に関する。
【背景技術】
【0002】
電子文書を印刷した印刷物に対して手書きをすることがある。印刷物から手書き部分の画像のみを抽出して、電子文書に抽出した手書き部分を重畳する技術が、特許文献1において提案されている。手書き部分の抽出は、あらかじめ印刷物に印刷されたリンク先情報が示す元の電子文書と、手書きを行った印刷物をスキャンして得られた画像との画像差分をとることで行う。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−102545号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1の技術では、印刷後に電子文書が更新されてしまった場合に正しく動作することができない。すなわち、更新されることで電子文書と印刷物との画像差分が手書き部分以外にも生じるため、手書き部分を正しく抽出できなくなってしまうという課題がある。
【課題を解決するための手段】
【0005】
本発明に係る制御装置は、バージョンの異なる複数の電子文書を記憶した記憶装置及び表示装置と通信可能な制御装置であって、前記電子文書を印刷した印刷物をスキャンすることで得られたスキャン画像から当該印刷物の印刷時における当該電子文書のバージョンを特定する手段と、前記スキャン画像及び前記記憶装置に記憶された前記特定されたバージョンの前記電子文書から、前記印刷物に手書きされた部分の画像である手書き部分画像を抽出する手段と、前記記憶装置に記憶された最新のバージョンの前記電子文書に対して、前記抽出された前記手書き部分画像を表示するように前記表示装置を制御する手段とを備えることを特徴とする。
【発明の効果】
【0006】
本発明によれば、印刷後に電子文書が更新された場合であっても、正しく手書き部分を抽出することができ、さらに最新の電子文書に対して手書き部分を表示させることができる制御装置及び制御方法を提供することができる。
【図面の簡単な説明】
【0007】
【図1】実施例1におけるシステムの構成を示すブロック図である。
【図2】システムのデータベースに保持されている電子文書の例を示す図である。
【図3】印刷物の例を示す図である。
【図4】印刷時の処理を示すフローチャートである。
【図5】手書き付き印刷物の例を示す図である。
【図6】印刷時の電子文書に対して手書き部分を表示するユーザーインタフェースを示す図である。
【図7】手書き部分を表示する対象を選択させるためのユーザーインタフェースを示す図である。
【図8】最新の電子文書に対して手書き部分を表示するユーザーインタフェースを示す図である。
【図9】手書き部分を表示する処理を示すフローチャートである。
【図10】印刷時の電子文書に対して手書き部分を表示する処理を示すフローチャートである。
【図11】最新の電子文書に対して手書き部分を表示する処理を示すフローチャートである。
【発明を実施するための形態】
【0008】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【実施例1】
【0009】
図1は、本実施例におけるシステム(装置)1000全体の構成を示すブロック図である。システム1000は、1つの装置で実現されても複数の装置で実現されても良い。
【0010】
制御部100は、システム1000が備える各部と通信可能に接続されており、システム1000全体の制御を行う。この制御部100は、CPU、メモリ、HDDのテンポラリ領域により構成される。
【0011】
操作部101はユーザーからの操作や入力を受け付ける。操作部101の具体例としてはマウス、キーボードなどがある。
【0012】
表示部102はユーザーに対して表示を行う。表示部102は、具体的にはディスプレイ(表示装置)のことである。
【0013】
スキャナ部103は印刷物などの紙媒体を光学的に読み取り、画像データに変換する処理を行う。スキャナ部103は、具体的にはスキャナやカメラのことである。
【0014】
印刷部104は電子文書から画像データを生成し、紙媒体に対して物理的にトナーやインクを付着させて画像形成を行うことで印刷を行う。印刷部104は、具体的には印刷エンジンと画像データ生成回路からなる。
【0015】
データベース105は、本システムで扱う電子文書やその更新履歴などが保存される記憶部(記憶装置)である。データベース105は、具体的にはHDDの非テンポラリ領域及びデータベース用ソフトウェアからなる。操作部101からのコマンドに応じて電子文書の保存がなされると、電子文書は制御部100によってデータベース105に保存される。データベース105には電子文書の全てのバージョン(すなわち、バージョンの異なる複数の電子文書)とバージョンごとの更新履歴も保存されている。更新履歴には、各バージョンが、いつ、どのユーザーの指示によって保存されたかや、その際にどのような編集が行われたかを示す情報(即ち、前のバージョンとそのバージョンの間に行われた編集情報)などが含まれている。
【0016】
手書き抽出部108は、電子文書から生成される画像とスキャナ部103で読み取った画像の画像差分を検出することで、印刷物に対して行われた手書き部分を抽出する。
【0017】
デコード部109は、画像上の二次元コードをデコードしてデジタル情報を取り出す。二次元コードの具体例としてはQRコードがある。
【0018】
エンコード部110は、与えられたデジタル情報をエンコードして、二次元コードの画像を作成する。
【0019】
図2は、データベース105に保存されている電子文書の一例を説明用に示した概念図である。電子文書の文書名は「テストドキュメント.doc」である。この電子文書は、文書作成時からユーザーによって計4回データベースに保存されて、現在のバージョンはバージョン4となっている。バージョン1の電子文書201からバージョン4(最新)の電子文書204はすべてデータベース105に保存されている。また、バージョン3とバージョン4の違いは、途中に9個の△が挿入されていることであり、これらの編集情報も更新履歴としてデータベース105に保存されている。
【0020】
図3は、印刷部104を使用してバージョン3の電子文書203を印刷した時の印刷物を示した図である。全体で2ページ分の印刷物(301、304)となっている。図示したように印刷部104は印刷時に二次元コード(302、305)も一緒に印刷する。二次元コードには、印刷される電子文書に関する情報がデジタルデータ(303、306)として含まれている。当該情報として例えば、文書名、バージョン番号、ページ番号などの情報が含まれる。印刷物内におけるこのデジタルデータを元にデータベース105を検索することで、その印刷物の元になった電子文書と印刷時のバージョンの番号とページ番号(その印刷物が印刷時の電子文書のバージョンで何ページ目だったかを示す情報)を特定できる。本実施例において、バージョン番号は、電子文書のバージョンを特定するためのバージョン特定情報である。バージョン特定情報は、電子文書のバージョンを特定するための情報であればどのような形式でもよく、例えば、電子文書の最終更新日時であっても良い。
【0021】
図4は、制御部100が図3で示した印刷物(301、304)を印刷する時の処理の一例を示したフローチャートである。
【0022】
ステップS401において、制御部100は、印刷の前に、現在保存されている電子文書のバージョンを1つ上げて印刷対象の電子文書をデータベース105に保存する。すなわち、バージョン3として印刷対象の電子文書を保存する。当該バージョンが電子文書の印刷時のバージョンになる。保存時には、前バージョンから現在までに電子文書に対して行われた編集情報を含む更新履歴が電子文書と共にデータベース105に保存される。
【0023】
ステップS402において、エンコード部110は、データベース105に保存された印刷対象の電子文書の文書名、バージョン番号、及びページ番号を二次元コードにエンコードする。
【0024】
ステップS403において、印刷部104は、データベース105に保存された印刷対象の電子文書を1ページ分印刷する。印刷にあたっては、ステップS402で作成した二次元コードをページの所定の位置に貼り付ける(画像を合成する)。図3の例ではページの左下の部分に二次元コードを貼り付けている。
【0025】
これらS402とS403を電子文書の全てのページに対して行う(S404)ことで印刷が完了する。
【0026】
図5は、図3で示した印刷物(301、304)に対してユーザーが任意の手書きを行ったものを図示している。1ページ目には星マークを2つ(501)記入し、2ページ目には手書きで下線(502)を引いたものである。手書きには鉛筆、ボールペン、蛍光ペン、マジックなどが使用される。
【0027】
次に、図6から図8を参照して、本実施例において表示部102に表示させる電子文書と手書き部分の表示例について説明する。これらの表示のための処理については後述する。
【0028】
図6は、制御部100が表示部102に表示する手書き部分の表示画面を示している。この表示画面は電子文書部分の表示領域601と手書き部分の表示領域602に分かれている。印刷時のバージョンの電子文書に対して手書きが行われた領域が電子文書部分の表示領域601に矩形で表示されている。電子文書に対して行われた手書き部分の画像が表示領域601の矩形の領域と1対1に対応して手書き部分の表示領域602に表示される。
【0029】
このような表示画面を用いることでユーザーは印刷時の電子文書に対して、どの部分にどのような手書きが行われたかを容易に確認することができる。また、電子文書部分の表示領域601に表示させる矩形領域の内部を透明色にすることによって、当該部分の電子文書の内容を確認することができる。
【0030】
図7は、手書き部分をどのバージョンの電子文書に対して表示するかをユーザーに選択させるための表示画面である。この表示画面は、表示部102に表示される。図6は印刷時のバージョンの電子文書に対して手書き部分の表示を行った例を示した。これに対し、図7の表示画面及び操作部101を用いて、ユーザーは最新バージョンの電子文書に対して手書き部分を表示するように変更することができる。
【0031】
図8は、本実施例において最新バージョンの電子文書に対して手書き部分を表示する表示画面を示している。具体的には、印刷時がバージョン3の電子文書(203)であるのに対して、バージョン4の電子文書(204)に対して手書き部分の表示を行っている。
【0032】
これにより、ユーザーは印刷時の電子文書に対してだけではなく、最新の電子文書に対して、どの部分にどのような手書きが行われたかを容易に確認することが可能である。
【0033】
ここまで、図6から図8を用いて手書き部分の表示に関するユーザーインタフェース(表示画面)について説明した。以下に、これらを実現するための内部処理を、図9から図11のフローチャートを用いて説明する。
【0034】
図9は、手書き付き印刷物をスキャンしてから手書き部分を表示部に表示するまでの処理を示したフローチャートである。この処理は、制御部100の制御により実行される。
【0035】
ステップS1001において、制御部100は、スキャナ部103が印刷物をスキャンすることで得られた画像データ(スキャン画像)を受取り、この画像データから二次元コードを抽出する。例えば、図3の印刷物301をスキャナ部103によりスキャンし、二次元コード302を抽出する。そして、制御部100は、この抽出した二次元コードをデコード部109に送り、デコードさせる。このデコードにより、図3で例として示したような文書名、バージョン番号、ページ番号などのデジタルデータ(303、306)が得られる。ここで得られたバージョン番号は、図4で説明したように、印刷時の電子文書のバージョンの番号である。デコードが終わると、制御部100は、そのデコード結果をデコード部109から受取る。すなわち、制御部100は、印刷時の電子文書のバージョン特定情報を取得し、印刷時の電子文書のバージョンを特定することができる。
【0036】
ステップS1002において、制御部100は、取得された文書名、バージョン情報、及びページ番号を元にデータベース105上を検索し、印刷時のバージョンの電子文書における対応ページ(上記ページ番号に対応するページ)を取得する。
【0037】
ステップS1003において、制御部100の制御により手書き抽出部108は、スキャナ部103で得た画像データとステップS1002で取得した印刷時のバージョンの電子文書の対応ページとの画像差分から手書き部分の画像を抽出する。すなわち、制御部100は、スキャン画像及び印刷時のバージョンの前記電子文書から、前記印刷物に手書きされた部分の画像である手書き部分画像を抽出する。このように、電子文書の最新バージョン等ではなく、印刷時のバージョンの電子文書との画像差分から画像を抽出することによって、手書き部分のみの画像を抽出することができる。従って、印刷後に電子文書が更新された場合であっても、正しく手書き部分を抽出することができる。
【0038】
ステップS1003では、手書き抽出部108は、抽出された手書き部分のその対応ページにおける位置を示す座標情報(例えば、左上原点からの座標の情報)を手書き部分の画像と共に取得する。なお、二つの画像データの画像差分から手書き部分の画像を抽出する方法はすでに、複数のものが提案されているが、本実施例においてはどの方法を用いてもよく、ここでは説明を割愛する。
【0039】
制御部100は、抽出された手書き部分の画像を、電子文書の文書名、印刷時の電子文書のバージョン番号、ページ番号、左上原点からの座標などに関連付けてデータベース105上に保存する。複数の手書き部分が抽出されたときはそれぞれ同様に保存する。
【0040】
ステップS1004において、制御部100は、ステップS1003にて手書き部分が検出されたかどうかを判断する。手書き部分が存在しないと判断されたらステップS1005に進み、手書き部分が存在しない旨と最新バージョンの電子文書を表示部102に表示して終了する。
【0041】
ステップS1004において、手書き部分があると判断された場合はステップS1006に進む。ステップS1006において、制御部100は、印刷後に、該当する電子文書が更新されているかどうかを確認する。即ち、印刷時の電子文書のバージョンよりも後のバージョンの電子文書があるか、また、ある場合にはこの前記後のバージョンに対応する編集情報があるかどうかが確認される。
【0042】
ステップS1006において印刷後の更新がなければ、ステップS1007に進み、表示部102は、電子文書の印刷時のバージョンに対して手書き部分を表示する。更新履歴があればステップS1008において、制御部100は、どのバージョンに対して手書き部分を表示するかを確認する。どのバージョンに対して手書き部分を表示するかは、図7のユーザーインタフェースで選択された情報を参照して決定される。
【0043】
印刷時のバージョンに表示する場合はステップS1007に進み、表示部102は、先ほどと同様に印刷時のバージョンの電子文書に対して手書き部分を表示する。これにより、例えば図6で説明したユーザーインタフェースが表示される。
【0044】
最新バージョンに表示する場合はステップS1009に進み、制御部100は、電子文書の最新バージョンに対して手書き部分を表示するように表示部102を制御する。ここでは、例えば図8で説明したユーザーインタフェースが表示される。すなわち、制御部100は、データベース105に記憶された最新のバージョンの電子文書に対して、S1003で抽出された手書き部分画像を表示するように表示部102を制御する。なお、S1008にて最新バージョン以外のバージョンが選択された場合、制御部100は、当該選択されたバージョンの電子文書に対して手書き部分画像を表示するように制御する。すなわち、制御部100は、選択された任意のバージョンの電子文書に対して手書き部分画像を表示するように制御する。
【0045】
ステップS1009によれば、図8に示されているように、印刷後に更新された電子文書に対して手書き部分を表示する場合は、当該更新により移動した位置に手書き部分を表示する。従って、更新された電子文書における適切な位置に手書き部分を表示することができる。
【0046】
図10は、図9のステップS1007における処理をより詳細に示したフローチャートである。
【0047】
ステップS1101では、制御部100は、データベース105から印刷時のバージョンの電子文書を取得して開く。
【0048】
ステップS1102では、制御部100は、ステップS1003で抽出された手書き部分に対して関連付けられたページ番号や座標などの情報をデータベース105から取得する。
【0049】
ステップS1103では、制御部100は、ステップS1102で得られたページ番号と座標を用いて、電子文書の該当箇所に矩形を描画する。これにより、図6で示した電子文書部分の表示領域601に対して手書きのある箇所に矩形が描画される。矩形描画は抽出された全ての手書き部分に対して行う(S1104)。
【0050】
ステップS1105では、制御部100は、データベース105から手書き部分の画像を取得して、該当する矩形の横に貼り付ける。これにより、図6で示した手書き部分の表示領域602に手書き画像が貼り付けられる。
【0051】
抽出された全ての手書き部分に対して手書き画像を貼り付けたら表示が完了する(S1106)。
【0052】
その後、制御部100は、表示した手書き部分及び矩形を表示した位置に追加した電子文書をデータベース105に記憶する。
【0053】
図11は、図9のステップS1009における処理をより詳細に示したフローチャートである。
【0054】
ステップS1201からステップS1204は図10におけるステップS1101からステップS1104の処理と全く同じである。
【0055】
ステップS1205では、制御部100は、データベース105から、印刷時のバージョンと最新バージョンの間の更新履歴を取得する。更新履歴には、電子文書の各バージョン間で行われた、追加、挿入、削除などの編集情報が全て含まれている。
【0056】
ステップS1206では、制御部100は、取得した更新履歴の編集情報を全て、ステップS1201で開いた電子文書に対して再現する。すなわち印刷時のバージョンから最新バージョンまでに電子文書に対して行われた、追加、挿入、削除などの編集を全て行う。この編集処理に応じて、S1203にて描画された矩形の位置も移動する。すなわち、制御部100は、データベース105に記憶された更新履歴を用いて、手書き部分画像を表示する電子文書における位置を決定する。
【0057】
このようにすることで、電子文書が更新されて手書き部分があった場所が移動したとしても、最新バージョンの電子文書に対して適切に矩形及び手書き部分を表示することが可能となる。図8の例では、バージョン3の電子文書(203)からバージョン4の電子文書(204)の間に9個の△が挿入されており、それによって手書きを行った二箇所の矩形及び手書き部分がそれぞれ適切な位置まで移動している。
【0058】
ステップS1207では、制御部100は、ステップS1105と同様に手書き部分の画像を該当する矩形の横に貼り付ける。すなわち、手書き部分画像の表示位置も、データベース105に記憶された更新履歴を用いて決定される。抽出された全ての手書き部分に対して手書き画像を貼り付けたら表示が完了する(S1208)。このように本実施例によれば、最新の又は任意のバージョンの電子文書に対して手書き部分を表示させることができる。
【0059】
その後、制御部100は、表示した手書き部分及び矩形を表示した位置に追加した電子文書をデータベース105に記憶する。
【0060】
[その他の実施例]
実施例1において、1つの制御部100がシステム1000全体を統括して制御しているが、これに限定されない。別の制御部を持つサブシステム(または装置)がシステム1000の印刷部104、スキャナ部103、及び表示部102をそれぞれ制御するようにしても本発明を実施することができる。また、データベース105はネットワーク上のサーバーなどに配置することで、より大きなシステムにも対応することができる。すなわち、制御部を備える装置が制御部100が行う前述の制御処理を行い、印刷部104、スキャナ部103、表示部102、及びデータベース105等を備える1又は複数の他の装置と連携することによって本発明を実施することも可能である。
【0061】
さらに、図7では印刷時のバージョンと最新バージョンの2択としたが、それ以外の任意のバージョンに対して手書き部分を表示するようにしてもよい。データベース105に保存されているバージョン間の更新履歴から編集情報を取り出すことで任意のバージョンに対して実施可能である。
【0062】
実施例1では電子文書部分601と手書き部分602を区別して表示したが、表示した電子文書部分601に手書き部分602を重畳して1つの電子文書とすることもできる。その場合にも図7と同様のユーザーインタフェースを用いて印刷時のバージョンに重畳するか最新バージョンに重畳するか選択させることも可能である。
【0063】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、手書きを行った印刷物を表示する制御装置及び制御方法に関する。
【背景技術】
【0002】
電子文書を印刷した印刷物に対して手書きをすることがある。印刷物から手書き部分の画像のみを抽出して、電子文書に抽出した手書き部分を重畳する技術が、特許文献1において提案されている。手書き部分の抽出は、あらかじめ印刷物に印刷されたリンク先情報が示す元の電子文書と、手書きを行った印刷物をスキャンして得られた画像との画像差分をとることで行う。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−102545号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1の技術では、印刷後に電子文書が更新されてしまった場合に正しく動作することができない。すなわち、更新されることで電子文書と印刷物との画像差分が手書き部分以外にも生じるため、手書き部分を正しく抽出できなくなってしまうという課題がある。
【課題を解決するための手段】
【0005】
本発明に係る制御装置は、バージョンの異なる複数の電子文書を記憶した記憶装置及び表示装置と通信可能な制御装置であって、前記電子文書を印刷した印刷物をスキャンすることで得られたスキャン画像から当該印刷物の印刷時における当該電子文書のバージョンを特定する手段と、前記スキャン画像及び前記記憶装置に記憶された前記特定されたバージョンの前記電子文書から、前記印刷物に手書きされた部分の画像である手書き部分画像を抽出する手段と、前記記憶装置に記憶された最新のバージョンの前記電子文書に対して、前記抽出された前記手書き部分画像を表示するように前記表示装置を制御する手段とを備えることを特徴とする。
【発明の効果】
【0006】
本発明によれば、印刷後に電子文書が更新された場合であっても、正しく手書き部分を抽出することができ、さらに最新の電子文書に対して手書き部分を表示させることができる制御装置及び制御方法を提供することができる。
【図面の簡単な説明】
【0007】
【図1】実施例1におけるシステムの構成を示すブロック図である。
【図2】システムのデータベースに保持されている電子文書の例を示す図である。
【図3】印刷物の例を示す図である。
【図4】印刷時の処理を示すフローチャートである。
【図5】手書き付き印刷物の例を示す図である。
【図6】印刷時の電子文書に対して手書き部分を表示するユーザーインタフェースを示す図である。
【図7】手書き部分を表示する対象を選択させるためのユーザーインタフェースを示す図である。
【図8】最新の電子文書に対して手書き部分を表示するユーザーインタフェースを示す図である。
【図9】手書き部分を表示する処理を示すフローチャートである。
【図10】印刷時の電子文書に対して手書き部分を表示する処理を示すフローチャートである。
【図11】最新の電子文書に対して手書き部分を表示する処理を示すフローチャートである。
【発明を実施するための形態】
【0008】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【実施例1】
【0009】
図1は、本実施例におけるシステム(装置)1000全体の構成を示すブロック図である。システム1000は、1つの装置で実現されても複数の装置で実現されても良い。
【0010】
制御部100は、システム1000が備える各部と通信可能に接続されており、システム1000全体の制御を行う。この制御部100は、CPU、メモリ、HDDのテンポラリ領域により構成される。
【0011】
操作部101はユーザーからの操作や入力を受け付ける。操作部101の具体例としてはマウス、キーボードなどがある。
【0012】
表示部102はユーザーに対して表示を行う。表示部102は、具体的にはディスプレイ(表示装置)のことである。
【0013】
スキャナ部103は印刷物などの紙媒体を光学的に読み取り、画像データに変換する処理を行う。スキャナ部103は、具体的にはスキャナやカメラのことである。
【0014】
印刷部104は電子文書から画像データを生成し、紙媒体に対して物理的にトナーやインクを付着させて画像形成を行うことで印刷を行う。印刷部104は、具体的には印刷エンジンと画像データ生成回路からなる。
【0015】
データベース105は、本システムで扱う電子文書やその更新履歴などが保存される記憶部(記憶装置)である。データベース105は、具体的にはHDDの非テンポラリ領域及びデータベース用ソフトウェアからなる。操作部101からのコマンドに応じて電子文書の保存がなされると、電子文書は制御部100によってデータベース105に保存される。データベース105には電子文書の全てのバージョン(すなわち、バージョンの異なる複数の電子文書)とバージョンごとの更新履歴も保存されている。更新履歴には、各バージョンが、いつ、どのユーザーの指示によって保存されたかや、その際にどのような編集が行われたかを示す情報(即ち、前のバージョンとそのバージョンの間に行われた編集情報)などが含まれている。
【0016】
手書き抽出部108は、電子文書から生成される画像とスキャナ部103で読み取った画像の画像差分を検出することで、印刷物に対して行われた手書き部分を抽出する。
【0017】
デコード部109は、画像上の二次元コードをデコードしてデジタル情報を取り出す。二次元コードの具体例としてはQRコードがある。
【0018】
エンコード部110は、与えられたデジタル情報をエンコードして、二次元コードの画像を作成する。
【0019】
図2は、データベース105に保存されている電子文書の一例を説明用に示した概念図である。電子文書の文書名は「テストドキュメント.doc」である。この電子文書は、文書作成時からユーザーによって計4回データベースに保存されて、現在のバージョンはバージョン4となっている。バージョン1の電子文書201からバージョン4(最新)の電子文書204はすべてデータベース105に保存されている。また、バージョン3とバージョン4の違いは、途中に9個の△が挿入されていることであり、これらの編集情報も更新履歴としてデータベース105に保存されている。
【0020】
図3は、印刷部104を使用してバージョン3の電子文書203を印刷した時の印刷物を示した図である。全体で2ページ分の印刷物(301、304)となっている。図示したように印刷部104は印刷時に二次元コード(302、305)も一緒に印刷する。二次元コードには、印刷される電子文書に関する情報がデジタルデータ(303、306)として含まれている。当該情報として例えば、文書名、バージョン番号、ページ番号などの情報が含まれる。印刷物内におけるこのデジタルデータを元にデータベース105を検索することで、その印刷物の元になった電子文書と印刷時のバージョンの番号とページ番号(その印刷物が印刷時の電子文書のバージョンで何ページ目だったかを示す情報)を特定できる。本実施例において、バージョン番号は、電子文書のバージョンを特定するためのバージョン特定情報である。バージョン特定情報は、電子文書のバージョンを特定するための情報であればどのような形式でもよく、例えば、電子文書の最終更新日時であっても良い。
【0021】
図4は、制御部100が図3で示した印刷物(301、304)を印刷する時の処理の一例を示したフローチャートである。
【0022】
ステップS401において、制御部100は、印刷の前に、現在保存されている電子文書のバージョンを1つ上げて印刷対象の電子文書をデータベース105に保存する。すなわち、バージョン3として印刷対象の電子文書を保存する。当該バージョンが電子文書の印刷時のバージョンになる。保存時には、前バージョンから現在までに電子文書に対して行われた編集情報を含む更新履歴が電子文書と共にデータベース105に保存される。
【0023】
ステップS402において、エンコード部110は、データベース105に保存された印刷対象の電子文書の文書名、バージョン番号、及びページ番号を二次元コードにエンコードする。
【0024】
ステップS403において、印刷部104は、データベース105に保存された印刷対象の電子文書を1ページ分印刷する。印刷にあたっては、ステップS402で作成した二次元コードをページの所定の位置に貼り付ける(画像を合成する)。図3の例ではページの左下の部分に二次元コードを貼り付けている。
【0025】
これらS402とS403を電子文書の全てのページに対して行う(S404)ことで印刷が完了する。
【0026】
図5は、図3で示した印刷物(301、304)に対してユーザーが任意の手書きを行ったものを図示している。1ページ目には星マークを2つ(501)記入し、2ページ目には手書きで下線(502)を引いたものである。手書きには鉛筆、ボールペン、蛍光ペン、マジックなどが使用される。
【0027】
次に、図6から図8を参照して、本実施例において表示部102に表示させる電子文書と手書き部分の表示例について説明する。これらの表示のための処理については後述する。
【0028】
図6は、制御部100が表示部102に表示する手書き部分の表示画面を示している。この表示画面は電子文書部分の表示領域601と手書き部分の表示領域602に分かれている。印刷時のバージョンの電子文書に対して手書きが行われた領域が電子文書部分の表示領域601に矩形で表示されている。電子文書に対して行われた手書き部分の画像が表示領域601の矩形の領域と1対1に対応して手書き部分の表示領域602に表示される。
【0029】
このような表示画面を用いることでユーザーは印刷時の電子文書に対して、どの部分にどのような手書きが行われたかを容易に確認することができる。また、電子文書部分の表示領域601に表示させる矩形領域の内部を透明色にすることによって、当該部分の電子文書の内容を確認することができる。
【0030】
図7は、手書き部分をどのバージョンの電子文書に対して表示するかをユーザーに選択させるための表示画面である。この表示画面は、表示部102に表示される。図6は印刷時のバージョンの電子文書に対して手書き部分の表示を行った例を示した。これに対し、図7の表示画面及び操作部101を用いて、ユーザーは最新バージョンの電子文書に対して手書き部分を表示するように変更することができる。
【0031】
図8は、本実施例において最新バージョンの電子文書に対して手書き部分を表示する表示画面を示している。具体的には、印刷時がバージョン3の電子文書(203)であるのに対して、バージョン4の電子文書(204)に対して手書き部分の表示を行っている。
【0032】
これにより、ユーザーは印刷時の電子文書に対してだけではなく、最新の電子文書に対して、どの部分にどのような手書きが行われたかを容易に確認することが可能である。
【0033】
ここまで、図6から図8を用いて手書き部分の表示に関するユーザーインタフェース(表示画面)について説明した。以下に、これらを実現するための内部処理を、図9から図11のフローチャートを用いて説明する。
【0034】
図9は、手書き付き印刷物をスキャンしてから手書き部分を表示部に表示するまでの処理を示したフローチャートである。この処理は、制御部100の制御により実行される。
【0035】
ステップS1001において、制御部100は、スキャナ部103が印刷物をスキャンすることで得られた画像データ(スキャン画像)を受取り、この画像データから二次元コードを抽出する。例えば、図3の印刷物301をスキャナ部103によりスキャンし、二次元コード302を抽出する。そして、制御部100は、この抽出した二次元コードをデコード部109に送り、デコードさせる。このデコードにより、図3で例として示したような文書名、バージョン番号、ページ番号などのデジタルデータ(303、306)が得られる。ここで得られたバージョン番号は、図4で説明したように、印刷時の電子文書のバージョンの番号である。デコードが終わると、制御部100は、そのデコード結果をデコード部109から受取る。すなわち、制御部100は、印刷時の電子文書のバージョン特定情報を取得し、印刷時の電子文書のバージョンを特定することができる。
【0036】
ステップS1002において、制御部100は、取得された文書名、バージョン情報、及びページ番号を元にデータベース105上を検索し、印刷時のバージョンの電子文書における対応ページ(上記ページ番号に対応するページ)を取得する。
【0037】
ステップS1003において、制御部100の制御により手書き抽出部108は、スキャナ部103で得た画像データとステップS1002で取得した印刷時のバージョンの電子文書の対応ページとの画像差分から手書き部分の画像を抽出する。すなわち、制御部100は、スキャン画像及び印刷時のバージョンの前記電子文書から、前記印刷物に手書きされた部分の画像である手書き部分画像を抽出する。このように、電子文書の最新バージョン等ではなく、印刷時のバージョンの電子文書との画像差分から画像を抽出することによって、手書き部分のみの画像を抽出することができる。従って、印刷後に電子文書が更新された場合であっても、正しく手書き部分を抽出することができる。
【0038】
ステップS1003では、手書き抽出部108は、抽出された手書き部分のその対応ページにおける位置を示す座標情報(例えば、左上原点からの座標の情報)を手書き部分の画像と共に取得する。なお、二つの画像データの画像差分から手書き部分の画像を抽出する方法はすでに、複数のものが提案されているが、本実施例においてはどの方法を用いてもよく、ここでは説明を割愛する。
【0039】
制御部100は、抽出された手書き部分の画像を、電子文書の文書名、印刷時の電子文書のバージョン番号、ページ番号、左上原点からの座標などに関連付けてデータベース105上に保存する。複数の手書き部分が抽出されたときはそれぞれ同様に保存する。
【0040】
ステップS1004において、制御部100は、ステップS1003にて手書き部分が検出されたかどうかを判断する。手書き部分が存在しないと判断されたらステップS1005に進み、手書き部分が存在しない旨と最新バージョンの電子文書を表示部102に表示して終了する。
【0041】
ステップS1004において、手書き部分があると判断された場合はステップS1006に進む。ステップS1006において、制御部100は、印刷後に、該当する電子文書が更新されているかどうかを確認する。即ち、印刷時の電子文書のバージョンよりも後のバージョンの電子文書があるか、また、ある場合にはこの前記後のバージョンに対応する編集情報があるかどうかが確認される。
【0042】
ステップS1006において印刷後の更新がなければ、ステップS1007に進み、表示部102は、電子文書の印刷時のバージョンに対して手書き部分を表示する。更新履歴があればステップS1008において、制御部100は、どのバージョンに対して手書き部分を表示するかを確認する。どのバージョンに対して手書き部分を表示するかは、図7のユーザーインタフェースで選択された情報を参照して決定される。
【0043】
印刷時のバージョンに表示する場合はステップS1007に進み、表示部102は、先ほどと同様に印刷時のバージョンの電子文書に対して手書き部分を表示する。これにより、例えば図6で説明したユーザーインタフェースが表示される。
【0044】
最新バージョンに表示する場合はステップS1009に進み、制御部100は、電子文書の最新バージョンに対して手書き部分を表示するように表示部102を制御する。ここでは、例えば図8で説明したユーザーインタフェースが表示される。すなわち、制御部100は、データベース105に記憶された最新のバージョンの電子文書に対して、S1003で抽出された手書き部分画像を表示するように表示部102を制御する。なお、S1008にて最新バージョン以外のバージョンが選択された場合、制御部100は、当該選択されたバージョンの電子文書に対して手書き部分画像を表示するように制御する。すなわち、制御部100は、選択された任意のバージョンの電子文書に対して手書き部分画像を表示するように制御する。
【0045】
ステップS1009によれば、図8に示されているように、印刷後に更新された電子文書に対して手書き部分を表示する場合は、当該更新により移動した位置に手書き部分を表示する。従って、更新された電子文書における適切な位置に手書き部分を表示することができる。
【0046】
図10は、図9のステップS1007における処理をより詳細に示したフローチャートである。
【0047】
ステップS1101では、制御部100は、データベース105から印刷時のバージョンの電子文書を取得して開く。
【0048】
ステップS1102では、制御部100は、ステップS1003で抽出された手書き部分に対して関連付けられたページ番号や座標などの情報をデータベース105から取得する。
【0049】
ステップS1103では、制御部100は、ステップS1102で得られたページ番号と座標を用いて、電子文書の該当箇所に矩形を描画する。これにより、図6で示した電子文書部分の表示領域601に対して手書きのある箇所に矩形が描画される。矩形描画は抽出された全ての手書き部分に対して行う(S1104)。
【0050】
ステップS1105では、制御部100は、データベース105から手書き部分の画像を取得して、該当する矩形の横に貼り付ける。これにより、図6で示した手書き部分の表示領域602に手書き画像が貼り付けられる。
【0051】
抽出された全ての手書き部分に対して手書き画像を貼り付けたら表示が完了する(S1106)。
【0052】
その後、制御部100は、表示した手書き部分及び矩形を表示した位置に追加した電子文書をデータベース105に記憶する。
【0053】
図11は、図9のステップS1009における処理をより詳細に示したフローチャートである。
【0054】
ステップS1201からステップS1204は図10におけるステップS1101からステップS1104の処理と全く同じである。
【0055】
ステップS1205では、制御部100は、データベース105から、印刷時のバージョンと最新バージョンの間の更新履歴を取得する。更新履歴には、電子文書の各バージョン間で行われた、追加、挿入、削除などの編集情報が全て含まれている。
【0056】
ステップS1206では、制御部100は、取得した更新履歴の編集情報を全て、ステップS1201で開いた電子文書に対して再現する。すなわち印刷時のバージョンから最新バージョンまでに電子文書に対して行われた、追加、挿入、削除などの編集を全て行う。この編集処理に応じて、S1203にて描画された矩形の位置も移動する。すなわち、制御部100は、データベース105に記憶された更新履歴を用いて、手書き部分画像を表示する電子文書における位置を決定する。
【0057】
このようにすることで、電子文書が更新されて手書き部分があった場所が移動したとしても、最新バージョンの電子文書に対して適切に矩形及び手書き部分を表示することが可能となる。図8の例では、バージョン3の電子文書(203)からバージョン4の電子文書(204)の間に9個の△が挿入されており、それによって手書きを行った二箇所の矩形及び手書き部分がそれぞれ適切な位置まで移動している。
【0058】
ステップS1207では、制御部100は、ステップS1105と同様に手書き部分の画像を該当する矩形の横に貼り付ける。すなわち、手書き部分画像の表示位置も、データベース105に記憶された更新履歴を用いて決定される。抽出された全ての手書き部分に対して手書き画像を貼り付けたら表示が完了する(S1208)。このように本実施例によれば、最新の又は任意のバージョンの電子文書に対して手書き部分を表示させることができる。
【0059】
その後、制御部100は、表示した手書き部分及び矩形を表示した位置に追加した電子文書をデータベース105に記憶する。
【0060】
[その他の実施例]
実施例1において、1つの制御部100がシステム1000全体を統括して制御しているが、これに限定されない。別の制御部を持つサブシステム(または装置)がシステム1000の印刷部104、スキャナ部103、及び表示部102をそれぞれ制御するようにしても本発明を実施することができる。また、データベース105はネットワーク上のサーバーなどに配置することで、より大きなシステムにも対応することができる。すなわち、制御部を備える装置が制御部100が行う前述の制御処理を行い、印刷部104、スキャナ部103、表示部102、及びデータベース105等を備える1又は複数の他の装置と連携することによって本発明を実施することも可能である。
【0061】
さらに、図7では印刷時のバージョンと最新バージョンの2択としたが、それ以外の任意のバージョンに対して手書き部分を表示するようにしてもよい。データベース105に保存されているバージョン間の更新履歴から編集情報を取り出すことで任意のバージョンに対して実施可能である。
【0062】
実施例1では電子文書部分601と手書き部分602を区別して表示したが、表示した電子文書部分601に手書き部分602を重畳して1つの電子文書とすることもできる。その場合にも図7と同様のユーザーインタフェースを用いて印刷時のバージョンに重畳するか最新バージョンに重畳するか選択させることも可能である。
【0063】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
バージョンの異なる複数の電子文書を記憶した記憶装置及び表示装置と通信可能な制御装置であって、
前記電子文書を印刷した印刷物をスキャンすることで得られたスキャン画像から当該印刷物の印刷時における当該電子文書のバージョンを特定する手段と、
前記スキャン画像及び前記記憶装置に記憶された前記特定されたバージョンの前記電子文書から、前記印刷物に手書きされた部分の画像である手書き部分画像を抽出する手段と、
前記記憶装置に記憶された最新のバージョンの前記電子文書に対して、前記抽出された前記手書き部分画像を表示するように前記表示装置を制御する手段と
を備えることを特徴とする制御装置。
【請求項2】
前記記憶装置は、前記電子文書に対する更新履歴を記憶し、
前記制御する手段は、前記記憶された更新履歴を用いて、前記抽出された前記手書き部分画像を表示する位置を決定すること
を特徴とする請求項1に記載の制御装置。
【請求項3】
前記制御する手段は、任意のバージョンの前記電子文書に対して、前記抽出された前記手書き部分画像を表示するように前記表示装置を制御することを特徴とする請求項1又は2に記載の制御装置。
【請求項4】
前記制御する手段は、前記表示するように制御された前記手書き部分画像を追加して前記電子文書を前記記憶装置に記憶するように制御することを特徴とする請求項1から3のいずれか1つに記載の制御装置。
【請求項5】
バージョンの異なる複数の電子文書を記憶した記憶装置及び表示装置と通信可能な制御装置において実施される制御方法であって、
前記電子文書を印刷した印刷物をスキャンすることで得られたスキャン画像から当該印刷物の印刷時における当該電子文書のバージョンを特定するステップと、
前記スキャン画像及び前記記憶装置に記憶された前記特定されたバージョンの前記電子文書から、前記印刷物に手書きされた部分の画像である手書き部分画像を抽出するステップと、
前記記憶装置に記憶された最新のバージョンの前記電子文書に対して、前記抽出された前記手書き部分画像を表示するように前記表示装置を制御するステップと
を備えることを特徴とする制御方法。
【請求項6】
バージョンの異なる複数の電子文書を記憶した記憶装置及び表示装置と通信可能なコンピュータを、
前記電子文書を印刷した印刷物をスキャンすることで得られたスキャン画像から当該印刷物の印刷時における当該電子文書のバージョンを特定する手段、
前記スキャン画像及び前記記憶装置に記憶された前記特定されたバージョンの前記電子文書から、前記印刷物に手書きされた部分の画像である手書き部分画像を抽出する手段、
前記記憶装置に記憶された最新のバージョンの前記電子文書に対して、前記抽出された前記手書き部分画像を表示するように前記表示装置を制御する手段
として機能させるためのプログラム。
【請求項1】
バージョンの異なる複数の電子文書を記憶した記憶装置及び表示装置と通信可能な制御装置であって、
前記電子文書を印刷した印刷物をスキャンすることで得られたスキャン画像から当該印刷物の印刷時における当該電子文書のバージョンを特定する手段と、
前記スキャン画像及び前記記憶装置に記憶された前記特定されたバージョンの前記電子文書から、前記印刷物に手書きされた部分の画像である手書き部分画像を抽出する手段と、
前記記憶装置に記憶された最新のバージョンの前記電子文書に対して、前記抽出された前記手書き部分画像を表示するように前記表示装置を制御する手段と
を備えることを特徴とする制御装置。
【請求項2】
前記記憶装置は、前記電子文書に対する更新履歴を記憶し、
前記制御する手段は、前記記憶された更新履歴を用いて、前記抽出された前記手書き部分画像を表示する位置を決定すること
を特徴とする請求項1に記載の制御装置。
【請求項3】
前記制御する手段は、任意のバージョンの前記電子文書に対して、前記抽出された前記手書き部分画像を表示するように前記表示装置を制御することを特徴とする請求項1又は2に記載の制御装置。
【請求項4】
前記制御する手段は、前記表示するように制御された前記手書き部分画像を追加して前記電子文書を前記記憶装置に記憶するように制御することを特徴とする請求項1から3のいずれか1つに記載の制御装置。
【請求項5】
バージョンの異なる複数の電子文書を記憶した記憶装置及び表示装置と通信可能な制御装置において実施される制御方法であって、
前記電子文書を印刷した印刷物をスキャンすることで得られたスキャン画像から当該印刷物の印刷時における当該電子文書のバージョンを特定するステップと、
前記スキャン画像及び前記記憶装置に記憶された前記特定されたバージョンの前記電子文書から、前記印刷物に手書きされた部分の画像である手書き部分画像を抽出するステップと、
前記記憶装置に記憶された最新のバージョンの前記電子文書に対して、前記抽出された前記手書き部分画像を表示するように前記表示装置を制御するステップと
を備えることを特徴とする制御方法。
【請求項6】
バージョンの異なる複数の電子文書を記憶した記憶装置及び表示装置と通信可能なコンピュータを、
前記電子文書を印刷した印刷物をスキャンすることで得られたスキャン画像から当該印刷物の印刷時における当該電子文書のバージョンを特定する手段、
前記スキャン画像及び前記記憶装置に記憶された前記特定されたバージョンの前記電子文書から、前記印刷物に手書きされた部分の画像である手書き部分画像を抽出する手段、
前記記憶装置に記憶された最新のバージョンの前記電子文書に対して、前記抽出された前記手書き部分画像を表示するように前記表示装置を制御する手段
として機能させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2011−146852(P2011−146852A)
【公開日】平成23年7月28日(2011.7.28)
【国際特許分類】
【出願番号】特願2010−4922(P2010−4922)
【出願日】平成22年1月13日(2010.1.13)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.QRコード
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成23年7月28日(2011.7.28)
【国際特許分類】
【出願日】平成22年1月13日(2010.1.13)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.QRコード
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]