(57)【要約】【課題】印刷後に電子文書が更新された場合であっても、正しく手書き部分を抽出し、さらに最新の電子文書に対して手書き部分を表示する制御装置及び制御方法を提供する。【解決手段】電子文書を印刷した印刷物をスキャンしたスキャン画像から当該印刷物の印刷時における当該電子文書のバージョンを特定する。スキャン画像及び特定されたバージョンの電子文書から、手書き部分画像を抽出する。データベースに記憶された最新のバージョンの電子文書に対して、抽出された手書き部分画像を表示するように表示部を制御する。【選択図】図９
2011146852.tif 000002
【特許請求の範囲】
【請求項１】
バージョンの異なる複数の電子文書を記憶した記憶装置及び表示装置と通信可能な制御装置であって、
前記電子文書を印刷した印刷物をスキャンすることで得られたスキャン画像から当該印刷物の印刷時における当該電子文書のバージョンを特定する手段と、
前記スキャン画像及び前記記憶装置に記憶された前記特定されたバージョンの前記電子文書から、前記印刷物に手書きされた部分の画像である手書き部分画像を抽出する手段と、
前記記憶装置に記憶された最新のバージョンの前記電子文書に対して、前記抽出された前記手書き部分画像を表示するように前記表示装置を制御する手段と
を備えることを特徴とする制御装置。
【請求項２】
前記記憶装置は、前記電子文書に対する更新履歴を記憶し、
前記制御する手段は、前記記憶された更新履歴を用いて、前記抽出された前記手書き部分画像を表示する位置を決定すること
を特徴とする請求項１に記載の制御装置。
【請求項３】
前記制御する手段は、任意のバージョンの前記電子文書に対して、前記抽出された前記手書き部分画像を表示するように前記表示装置を制御することを特徴とする請求項１又は２に記載の制御装置。
【請求項４】
前記制御する手段は、前記表示するように制御された前記手書き部分画像を追加して前記電子文書を前記記憶装置に記憶するように制御することを特徴とする請求項１から３のいずれか１つに記載の制御装置。
【請求項５】
バージョンの異なる複数の電子文書を記憶した記憶装置及び表示装置と通信可能な制御装置において実施される制御方法であって、
前記電子文書を印刷した印刷物をスキャンすることで得られたスキャン画像から当該印刷物の印刷時における当該電子文書のバージョンを特定するステップと、
前記スキャン画像及び前記記憶装置に記憶された前記特定されたバージョンの前記電子文書から、前記印刷物に手書きされた部分の画像である手書き部分画像を抽出するステップと、
前記記憶装置に記憶された最新のバージョンの前記電子文書に対して、前記抽出された前記手書き部分画像を表示するように前記表示装置を制御するステップと
を備えることを特徴とする制御方法。
【請求項６】
バージョンの異なる複数の電子文書を記憶した記憶装置及び表示装置と通信可能なコンピュータを、
前記電子文書を印刷した印刷物をスキャンすることで得られたスキャン画像から当該印刷物の印刷時における当該電子文書のバージョンを特定する手段、
前記スキャン画像及び前記記憶装置に記憶された前記特定されたバージョンの前記電子文書から、前記印刷物に手書きされた部分の画像である手書き部分画像を抽出する手段、
前記記憶装置に記憶された最新のバージョンの前記電子文書に対して、前記抽出された前記手書き部分画像を表示するように前記表示装置を制御する手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、手書きを行った印刷物を表示する制御装置及び制御方法に関する。
【背景技術】
【０００２】
電子文書を印刷した印刷物に対して手書きをすることがある。印刷物から手書き部分の画像のみを抽出して、電子文書に抽出した手書き部分を重畳する技術が、特許文献１において提案されている。手書き部分の抽出は、あらかじめ印刷物に印刷されたリンク先情報が示す元の電子文書と、手書きを行った印刷物をスキャンして得られた画像との画像差分をとることで行う。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１０２５４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の技術では、印刷後に電子文書が更新されてしまった場合に正しく動作することができない。すなわち、更新されることで電子文書と印刷物との画像差分が手書き部分以外にも生じるため、手書き部分を正しく抽出できなくなってしまうという課題がある。
【課題を解決するための手段】
【０００５】
本発明に係る制御装置は、バージョンの異なる複数の電子文書を記憶した記憶装置及び表示装置と通信可能な制御装置であって、前記電子文書を印刷した印刷物をスキャンすることで得られたスキャン画像から当該印刷物の印刷時における当該電子文書のバージョンを特定する手段と、前記スキャン画像及び前記記憶装置に記憶された前記特定されたバージョンの前記電子文書から、前記印刷物に手書きされた部分の画像である手書き部分画像を抽出する手段と、前記記憶装置に記憶された最新のバージョンの前記電子文書に対して、前記抽出された前記手書き部分画像を表示するように前記表示装置を制御する手段とを備えることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、印刷後に電子文書が更新された場合であっても、正しく手書き部分を抽出することができ、さらに最新の電子文書に対して手書き部分を表示させることができる制御装置及び制御方法を提供することができる。
【図面の簡単な説明】
【０００７】
【図１】実施例１におけるシステムの構成を示すブロック図である。
【図２】システムのデータベースに保持されている電子文書の例を示す図である。
【図３】印刷物の例を示す図である。
【図４】印刷時の処理を示すフローチャートである。
【図５】手書き付き印刷物の例を示す図である。
【図６】印刷時の電子文書に対して手書き部分を表示するユーザーインタフェースを示す図である。
【図７】手書き部分を表示する対象を選択させるためのユーザーインタフェースを示す図である。
【図８】最新の電子文書に対して手書き部分を表示するユーザーインタフェースを示す図である。
【図９】手書き部分を表示する処理を示すフローチャートである。
【図１０】印刷時の電子文書に対して手書き部分を表示する処理を示すフローチャートである。
【図１１】最新の電子文書に対して手書き部分を表示する処理を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【実施例１】
【０００９】
図１は、本実施例におけるシステム（装置）１０００全体の構成を示すブロック図である。システム１０００は、１つの装置で実現されても複数の装置で実現されても良い。
【００１０】
制御部１００は、システム１０００が備える各部と通信可能に接続されており、システム１０００全体の制御を行う。この制御部１００は、ＣＰＵ、メモリ、ＨＤＤのテンポラリ領域により構成される。
【００１１】
操作部１０１はユーザーからの操作や入力を受け付ける。操作部１０１の具体例としてはマウス、キーボードなどがある。
【００１２】
表示部１０２はユーザーに対して表示を行う。表示部１０２は、具体的にはディスプレイ（表示装置）のことである。
【００１３】
スキャナ部１０３は印刷物などの紙媒体を光学的に読み取り、画像データに変換する処理を行う。スキャナ部１０３は、具体的にはスキャナやカメラのことである。
【００１４】
印刷部１０４は電子文書から画像データを生成し、紙媒体に対して物理的にトナーやインクを付着させて画像形成を行うことで印刷を行う。印刷部１０４は、具体的には印刷エンジンと画像データ生成回路からなる。
【００１５】
データベース１０５は、本システムで扱う電子文書やその更新履歴などが保存される記憶部（記憶装置）である。データベース１０５は、具体的にはＨＤＤの非テンポラリ領域及びデータベース用ソフトウェアからなる。操作部１０１からのコマンドに応じて電子文書の保存がなされると、電子文書は制御部１００によってデータベース１０５に保存される。データベース１０５には電子文書の全てのバージョン（すなわち、バージョンの異なる複数の電子文書）とバージョンごとの更新履歴も保存されている。更新履歴には、各バージョンが、いつ、どのユーザーの指示によって保存されたかや、その際にどのような編集が行われたかを示す情報（即ち、前のバージョンとそのバージョンの間に行われた編集情報）などが含まれている。
【００１６】
手書き抽出部１０８は、電子文書から生成される画像とスキャナ部１０３で読み取った画像の画像差分を検出することで、印刷物に対して行われた手書き部分を抽出する。
【００１７】
デコード部１０９は、画像上の二次元コードをデコードしてデジタル情報を取り出す。二次元コードの具体例としてはＱＲコードがある。
【００１８】
エンコード部１１０は、与えられたデジタル情報をエンコードして、二次元コードの画像を作成する。
【００１９】
図２は、データベース１０５に保存されている電子文書の一例を説明用に示した概念図である。電子文書の文書名は「テストドキュメント．ｄｏｃ」である。この電子文書は、文書作成時からユーザーによって計４回データベースに保存されて、現在のバージョンはバージョン４となっている。バージョン１の電子文書２０１からバージョン４（最新）の電子文書２０４はすべてデータベース１０５に保存されている。また、バージョン３とバージョン４の違いは、途中に９個の△が挿入されていることであり、これらの編集情報も更新履歴としてデータベース１０５に保存されている。
【００２０】
図３は、印刷部１０４を使用してバージョン３の電子文書２０３を印刷した時の印刷物を示した図である。全体で２ページ分の印刷物（３０１、３０４）となっている。図示したように印刷部１０４は印刷時に二次元コード（３０２、３０５）も一緒に印刷する。二次元コードには、印刷される電子文書に関する情報がデジタルデータ（３０３、３０６）として含まれている。当該情報として例えば、文書名、バージョン番号、ページ番号などの情報が含まれる。印刷物内におけるこのデジタルデータを元にデータベース１０５を検索することで、その印刷物の元になった電子文書と印刷時のバージョンの番号とページ番号（その印刷物が印刷時の電子文書のバージョンで何ページ目だったかを示す情報）を特定できる。本実施例において、バージョン番号は、電子文書のバージョンを特定するためのバージョン特定情報である。バージョン特定情報は、電子文書のバージョンを特定するための情報であればどのような形式でもよく、例えば、電子文書の最終更新日時であっても良い。
【００２１】
図４は、制御部１００が図３で示した印刷物（３０１、３０４）を印刷する時の処理の一例を示したフローチャートである。
【００２２】
ステップＳ４０１において、制御部１００は、印刷の前に、現在保存されている電子文書のバージョンを１つ上げて印刷対象の電子文書をデータベース１０５に保存する。すなわち、バージョン３として印刷対象の電子文書を保存する。当該バージョンが電子文書の印刷時のバージョンになる。保存時には、前バージョンから現在までに電子文書に対して行われた編集情報を含む更新履歴が電子文書と共にデータベース１０５に保存される。
【００２３】
ステップＳ４０２において、エンコード部１１０は、データベース１０５に保存された印刷対象の電子文書の文書名、バージョン番号、及びページ番号を二次元コードにエンコードする。
【００２４】
ステップＳ４０３において、印刷部１０４は、データベース１０５に保存された印刷対象の電子文書を１ページ分印刷する。印刷にあたっては、ステップＳ４０２で作成した二次元コードをページの所定の位置に貼り付ける（画像を合成する）。図３の例ではページの左下の部分に二次元コードを貼り付けている。
【００２５】
これらＳ４０２とＳ４０３を電子文書の全てのページに対して行う（Ｓ４０４）ことで印刷が完了する。
【００２６】
図５は、図３で示した印刷物（３０１、３０４）に対してユーザーが任意の手書きを行ったものを図示している。１ページ目には星マークを２つ（５０１）記入し、２ページ目には手書きで下線（５０２）を引いたものである。手書きには鉛筆、ボールペン、蛍光ペン、マジックなどが使用される。
【００２７】
次に、図６から図８を参照して、本実施例において表示部１０２に表示させる電子文書と手書き部分の表示例について説明する。これらの表示のための処理については後述する。
【００２８】
図６は、制御部１００が表示部１０２に表示する手書き部分の表示画面を示している。この表示画面は電子文書部分の表示領域６０１と手書き部分の表示領域６０２に分かれている。印刷時のバージョンの電子文書に対して手書きが行われた領域が電子文書部分の表示領域６０１に矩形で表示されている。電子文書に対して行われた手書き部分の画像が表示領域６０１の矩形の領域と１対１に対応して手書き部分の表示領域６０２に表示される。
【００２９】
このような表示画面を用いることでユーザーは印刷時の電子文書に対して、どの部分にどのような手書きが行われたかを容易に確認することができる。また、電子文書部分の表示領域６０１に表示させる矩形領域の内部を透明色にすることによって、当該部分の電子文書の内容を確認することができる。
【００３０】
図７は、手書き部分をどのバージョンの電子文書に対して表示するかをユーザーに選択させるための表示画面である。この表示画面は、表示部１０２に表示される。図６は印刷時のバージョンの電子文書に対して手書き部分の表示を行った例を示した。これに対し、図７の表示画面及び操作部１０１を用いて、ユーザーは最新バージョンの電子文書に対して手書き部分を表示するように変更することができる。
【００３１】
図８は、本実施例において最新バージョンの電子文書に対して手書き部分を表示する表示画面を示している。具体的には、印刷時がバージョン３の電子文書（２０３）であるのに対して、バージョン４の電子文書（２０４）に対して手書き部分の表示を行っている。
【００３２】
これにより、ユーザーは印刷時の電子文書に対してだけではなく、最新の電子文書に対して、どの部分にどのような手書きが行われたかを容易に確認することが可能である。
【００３３】
ここまで、図６から図８を用いて手書き部分の表示に関するユーザーインタフェース（表示画面）について説明した。以下に、これらを実現するための内部処理を、図９から図１１のフローチャートを用いて説明する。
【００３４】
図９は、手書き付き印刷物をスキャンしてから手書き部分を表示部に表示するまでの処理を示したフローチャートである。この処理は、制御部１００の制御により実行される。
【００３５】
ステップＳ１００１において、制御部１００は、スキャナ部１０３が印刷物をスキャンすることで得られた画像データ（スキャン画像）を受取り、この画像データから二次元コードを抽出する。例えば、図３の印刷物３０１をスキャナ部１０３によりスキャンし、二次元コード３０２を抽出する。そして、制御部１００は、この抽出した二次元コードをデコード部１０９に送り、デコードさせる。このデコードにより、図３で例として示したような文書名、バージョン番号、ページ番号などのデジタルデータ（３０３、３０６）が得られる。ここで得られたバージョン番号は、図４で説明したように、印刷時の電子文書のバージョンの番号である。デコードが終わると、制御部１００は、そのデコード結果をデコード部１０９から受取る。すなわち、制御部１００は、印刷時の電子文書のバージョン特定情報を取得し、印刷時の電子文書のバージョンを特定することができる。
【００３６】
ステップＳ１００２において、制御部１００は、取得された文書名、バージョン情報、及びページ番号を元にデータベース１０５上を検索し、印刷時のバージョンの電子文書における対応ページ（上記ページ番号に対応するページ）を取得する。
【００３７】
ステップＳ１００３において、制御部１００の制御により手書き抽出部１０８は、スキャナ部１０３で得た画像データとステップＳ１００２で取得した印刷時のバージョンの電子文書の対応ページとの画像差分から手書き部分の画像を抽出する。すなわち、制御部１００は、スキャン画像及び印刷時のバージョンの前記電子文書から、前記印刷物に手書きされた部分の画像である手書き部分画像を抽出する。このように、電子文書の最新バージョン等ではなく、印刷時のバージョンの電子文書との画像差分から画像を抽出することによって、手書き部分のみの画像を抽出することができる。従って、印刷後に電子文書が更新された場合であっても、正しく手書き部分を抽出することができる。
【００３８】
ステップＳ１００３では、手書き抽出部１０８は、抽出された手書き部分のその対応ページにおける位置を示す座標情報（例えば、左上原点からの座標の情報）を手書き部分の画像と共に取得する。なお、二つの画像データの画像差分から手書き部分の画像を抽出する方法はすでに、複数のものが提案されているが、本実施例においてはどの方法を用いてもよく、ここでは説明を割愛する。
【００３９】
制御部１００は、抽出された手書き部分の画像を、電子文書の文書名、印刷時の電子文書のバージョン番号、ページ番号、左上原点からの座標などに関連付けてデータベース１０５上に保存する。複数の手書き部分が抽出されたときはそれぞれ同様に保存する。
【００４０】
ステップＳ１００４において、制御部１００は、ステップＳ１００３にて手書き部分が検出されたかどうかを判断する。手書き部分が存在しないと判断されたらステップＳ１００５に進み、手書き部分が存在しない旨と最新バージョンの電子文書を表示部１０２に表示して終了する。
【００４１】
ステップＳ１００４において、手書き部分があると判断された場合はステップＳ１００６に進む。ステップＳ１００６において、制御部１００は、印刷後に、該当する電子文書が更新されているかどうかを確認する。即ち、印刷時の電子文書のバージョンよりも後のバージョンの電子文書があるか、また、ある場合にはこの前記後のバージョンに対応する編集情報があるかどうかが確認される。
【００４２】
ステップＳ１００６において印刷後の更新がなければ、ステップＳ１００７に進み、表示部１０２は、電子文書の印刷時のバージョンに対して手書き部分を表示する。更新履歴があればステップＳ１００８において、制御部１００は、どのバージョンに対して手書き部分を表示するかを確認する。どのバージョンに対して手書き部分を表示するかは、図７のユーザーインタフェースで選択された情報を参照して決定される。
【００４３】
印刷時のバージョンに表示する場合はステップＳ１００７に進み、表示部１０２は、先ほどと同様に印刷時のバージョンの電子文書に対して手書き部分を表示する。これにより、例えば図６で説明したユーザーインタフェースが表示される。
【００４４】
最新バージョンに表示する場合はステップＳ１００９に進み、制御部１００は、電子文書の最新バージョンに対して手書き部分を表示するように表示部１０２を制御する。ここでは、例えば図８で説明したユーザーインタフェースが表示される。すなわち、制御部１００は、データベース１０５に記憶された最新のバージョンの電子文書に対して、Ｓ１００３で抽出された手書き部分画像を表示するように表示部１０２を制御する。なお、Ｓ１００８にて最新バージョン以外のバージョンが選択された場合、制御部１００は、当該選択されたバージョンの電子文書に対して手書き部分画像を表示するように制御する。すなわち、制御部１００は、選択された任意のバージョンの電子文書に対して手書き部分画像を表示するように制御する。
【００４５】
ステップＳ１００９によれば、図８に示されているように、印刷後に更新された電子文書に対して手書き部分を表示する場合は、当該更新により移動した位置に手書き部分を表示する。従って、更新された電子文書における適切な位置に手書き部分を表示することができる。
【００４６】
図１０は、図９のステップＳ１００７における処理をより詳細に示したフローチャートである。
【００４７】
ステップＳ１１０１では、制御部１００は、データベース１０５から印刷時のバージョンの電子文書を取得して開く。
【００４８】
ステップＳ１１０２では、制御部１００は、ステップＳ１００３で抽出された手書き部分に対して関連付けられたページ番号や座標などの情報をデータベース１０５から取得する。
【００４９】
ステップＳ１１０３では、制御部１００は、ステップＳ１１０２で得られたページ番号と座標を用いて、電子文書の該当箇所に矩形を描画する。これにより、図６で示した電子文書部分の表示領域６０１に対して手書きのある箇所に矩形が描画される。矩形描画は抽出された全ての手書き部分に対して行う（Ｓ１１０４）。
【００５０】
ステップＳ１１０５では、制御部１００は、データベース１０５から手書き部分の画像を取得して、該当する矩形の横に貼り付ける。これにより、図６で示した手書き部分の表示領域６０２に手書き画像が貼り付けられる。
【００５１】
抽出された全ての手書き部分に対して手書き画像を貼り付けたら表示が完了する（Ｓ１１０６）。
【００５２】
その後、制御部１００は、表示した手書き部分及び矩形を表示した位置に追加した電子文書をデータベース１０５に記憶する。
【００５３】
図１１は、図９のステップＳ１００９における処理をより詳細に示したフローチャートである。
【００５４】
ステップＳ１２０１からステップＳ１２０４は図１０におけるステップＳ１１０１からステップＳ１１０４の処理と全く同じである。
【００５５】
ステップＳ１２０５では、制御部１００は、データベース１０５から、印刷時のバージョンと最新バージョンの間の更新履歴を取得する。更新履歴には、電子文書の各バージョン間で行われた、追加、挿入、削除などの編集情報が全て含まれている。
【００５６】
ステップＳ１２０６では、制御部１００は、取得した更新履歴の編集情報を全て、ステップＳ１２０１で開いた電子文書に対して再現する。すなわち印刷時のバージョンから最新バージョンまでに電子文書に対して行われた、追加、挿入、削除などの編集を全て行う。この編集処理に応じて、Ｓ１２０３にて描画された矩形の位置も移動する。すなわち、制御部１００は、データベース１０５に記憶された更新履歴を用いて、手書き部分画像を表示する電子文書における位置を決定する。
【００５７】
このようにすることで、電子文書が更新されて手書き部分があった場所が移動したとしても、最新バージョンの電子文書に対して適切に矩形及び手書き部分を表示することが可能となる。図８の例では、バージョン３の電子文書（２０３）からバージョン４の電子文書（２０４）の間に９個の△が挿入されており、それによって手書きを行った二箇所の矩形及び手書き部分がそれぞれ適切な位置まで移動している。
【００５８】
ステップＳ１２０７では、制御部１００は、ステップＳ１１０５と同様に手書き部分の画像を該当する矩形の横に貼り付ける。すなわち、手書き部分画像の表示位置も、データベース１０５に記憶された更新履歴を用いて決定される。抽出された全ての手書き部分に対して手書き画像を貼り付けたら表示が完了する（Ｓ１２０８）。このように本実施例によれば、最新の又は任意のバージョンの電子文書に対して手書き部分を表示させることができる。
【００５９】
その後、制御部１００は、表示した手書き部分及び矩形を表示した位置に追加した電子文書をデータベース１０５に記憶する。
【００６０】
［その他の実施例］
実施例１において、１つの制御部１００がシステム１０００全体を統括して制御しているが、これに限定されない。別の制御部を持つサブシステム（または装置）がシステム１０００の印刷部１０４、スキャナ部１０３、及び表示部１０２をそれぞれ制御するようにしても本発明を実施することができる。また、データベース１０５はネットワーク上のサーバーなどに配置することで、より大きなシステムにも対応することができる。すなわち、制御部を備える装置が制御部１００が行う前述の制御処理を行い、印刷部１０４、スキャナ部１０３、表示部１０２、及びデータベース１０５等を備える１又は複数の他の装置と連携することによって本発明を実施することも可能である。
【００６１】
さらに、図７では印刷時のバージョンと最新バージョンの２択としたが、それ以外の任意のバージョンに対して手書き部分を表示するようにしてもよい。データベース１０５に保存されているバージョン間の更新履歴から編集情報を取り出すことで任意のバージョンに対して実施可能である。
【００６２】
実施例１では電子文書部分６０１と手書き部分６０２を区別して表示したが、表示した電子文書部分６０１に手書き部分６０２を重畳して１つの電子文書とすることもできる。その場合にも図７と同様のユーザーインタフェースを用いて印刷時のバージョンに重畳するか最新バージョンに重畳するか選択させることも可能である。
【００６３】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2011146852.tif 000003
【図２】
2011146852.tif 000004
【図３】
2011146852.tif 000005
【図４】
2011146852.tif 000006
【図５】
2011146852.tif 000007
【図６】
2011146852.tif 000008
【図７】
2011146852.tif 000009
【図８】
2011146852.tif 000010
【図９】
2011146852.tif 000011
【図１０】
2011146852.tif 000012
【図１１】
2011146852.tif 000013