以下、本発明を実施するための最良の形態について、図面を用いて説明する。
[実施形態1]
図1は、MFPで、紙面の右下隅に二次元コード(QRコード)が印字された原稿がコピーされ、同じく紙面の右下隅に二次元コードが印字された原稿が印刷出力される様子を示した図である。
101は、画像形成装置としてのMFP(Multi Function Peripheral)であり、スキャナやプリンタ等の機能をそれ自体に備えている。もちろん、画像形成装置は、画像をメモリ上あるいは紙上に形成できるものであればよい。したがって、多機能のMFP101に代えて、例えば、画像形成装置に外部スキャナと外部プリンタとがネットワークを介して接続されたような複数の装置からなるシステムとして構成されてもよい。
102は、コピーの対象となる被コピー原稿(元原稿)である。元原稿102には、当該元原稿に関する情報を含んだコードとして二次元コード103が印字されている。二次元コード103には規定された情報量の範囲内で様々な情報を持たせることができる。ここでは、二次元コード103は、コピー制御に関する情報を含んだセキュリティマークであるものとする。二次元コード103については改めて詳しく説明する。
なお、これ以降、コードの具体例として、代表的な二次元コードであるQRコード(登録商標)を例に説明を行うが、本発明はQRコード以外のコードにも適用可能である。すなわち、本発明において「コード」とは、スキャナ等の画像読取装置で読み取ることでそこに含まれる(隠されている)文字列等の情報を認識することが可能な画像を意味している。したがって、コードには、例えば、QRコード以外の二次元コード(例えば、PDF417)、一次元コード(バーコード)、電子透かし、特定の形をしたマーク等が含まれる。
ユーザが、元原稿102をMFP101の原稿台にセットし、コピーを指示すると、MFP101は、元原稿102をスキャンして得られた画像データから二次元コード103を検出・解析し、その内容(コピー許可又はコピー禁止)に従って処理を行う。
104は、MFP101から印刷出力された原稿(コピー原稿)である。コピー原稿104には、データが更新された二次元コード105が印字されている。なお、コピー原稿104を用いてさらにコピーする場合には、コピー原稿104が元原稿102として扱われることになる。
図2は、MFP101の内部構成を示した図である。
CPU200は、後述する各装置/処理部を統括的に制御するプロセッサであり、メモリ204に記憶されたOSやアプリケーション等のプログラムを実行する。
表示装置201は、タッチパネルなどの画面を表示するための装置である。ユーザは、所望の処理を行うための指示等を表示装置201に表示される操作画面(不図示)を介して行う。
スキャナ装置202は、不図示の原稿台にセットされた元原稿を走査(スキャン)して画像データを得るための原稿読取装置である。
画像処理部203は、画像データに対し、回転や変倍などの所定の画像処理を行う。
メモリ204は、ROMやRAMで構成され、CPU200がMFP101を制御するために実行する各種命令(OSやアプリケーションプログラム)や実行結果等を記憶する。
HDD205は、スキャナ装置202でスキャンした画像データ等の保存に使用される。
プリンタ装置206は、画像データを印刷出力する。
コード処理部207は、原稿に付されるコードに関する各種処理を行う。コード処理部207については、図3を用いて詳しく説明する。
図3は、コード処理部207の詳細を示した機能ブロック図である。
コード検出部301は、元原稿をスキャンして得た画像データから、二次元コードを検出する処理を行う。このコード検出処理の詳細については後述する。
コード解析部302は、二次元コードをデコードして、二次元コードに含まれる各種情報を抽出する処理を行う。なお、本実施形態において登場する二次元コードは、コピー制御を目的とした「セキュリティマーク」と、それ以外の用途を目的とした「他マーク」に大きく分類されるものとする。そして、セキュリティマークには、マーク識別子、セキュリティ情報、追跡情報が含まれるものとする。セキュリティマークの詳細については後述する。
コード判別部303は、マーク識別子を参照して、検出された二次元コードがセキュリティマークであるかどうかを判別する処理を行う。
セキュリティ制御部304は、セキュリティ情報に従って、コピー処理の続行或いは中止を制御する。
コード再構成部305は、コピー原稿に付される二次元コードを再構成する処理を行う。具体的には、不要な二次元コードの削除、セキュリティマークに含まれる各種情報の更新、新たな二次元コードの生成、新たに生成された二次元コードと原稿本体の画像データとの合成、などの処理を行う。なお、「原稿本体の画像データ」とは、元原稿に記載された本文(文字)、表、図形などの画像であって二次元コード以外の画像のデータを指す。
次に、本実施形態に係る二次元コード(QRコード)について、図4を参照しつつ詳しく説明する。
図4の(a)は、QRコードの一例を示す図である。QRコードは、マトリクス方式の二次元コードであり、縦、横の二方向に情報を持つことができる。401はQRコードの位置を検出する際に使用される位置検出パターンである。
図4の(b)は、本実施形態におけるセキュリティマークに含まれる情報の詳細を示す図である。セキュリティマークには、前述の通り、マーク識別子、セキュリティ情報、追跡情報が含まれており、これら3つの情報がコード化されて図4の(a)に示すようなマークで表される。
402は、マーク識別子であり、二次元コードの種別を特定するための識別子である。ここではセキュリティマークであることを示す「ID:Security Mark」が入っている。
403は、セキュリティ情報であり、原稿のコピー制御に関する情報が入る。具体的には、コピー禁止を示す「copy_ng」或いはコピー許可を示す「copy_ok」のいずれかが入る。ここでは、コピー許可を示す「copy_ok」が入っている。
404は、追跡情報であり、原稿の出所を追跡可能にするための情報が入る。具体的には、原稿の印刷に使用したMFPの生産会社名(Vendor)及びシリアル番号(Serial No.)、当該原稿の印刷を指示したユーザのユーザ名(User Name)、印刷時刻(Time)の各情報が含まれる。ここでは、Vender欄に「GUAN YIN」、Serial No.欄に「472942205918」、User Name欄に「David Jenegal」、Time欄に「2008/09/21 14:33」が入っている。この追跡情報により、いつ、誰が、どのMFPを使用して印刷した原稿なのかを知ることができる。
次に、本実施形態に係る二次元コードの記録領域について説明する。
前述のとおり、セキュリティマークを含むすべての二次元コードは、紙面上の所定の記録領域(以下、「記録領域」と呼ぶ。)に印字されるように予め設定される。
図5は、記録領域の一例を示す図であり、原稿501上のどの領域に二次元コードが印字され得るのかを示している。503で示される四隅の矩形領域が、二次元コードが付される(印字され得る)記録領域であり、ここでは、右下隅の領域504内に二次元コード502が付されている。もちろん、記録領域は四隅に限られるわけではなく、紙面上の任意の位置に任意の数を設定することができる。
また、記録領域503は、大きさが予め規定されており、例えば、二次元コード502が付された右下隅の領域504は、紙面端から30mm四方の正方形の領域となっている。そして、正方形の各領域内に1個の二次元コードが付加され得る。
図5の例では、領域504以外の領域(左上隅、左下隅、右上隅の各領域)も、領域504と同様、紙面端から30mm四方の正方形の領域としているが、領域毎に異なる大きさとすることも可能である。
図5の例のように、記録領域が複数設定される場合は、予め優先順位を定めておき、原稿本体の画像のじゃまにならないという条件の下で、優先順位に従って任意の数(通常、1箇所)の二次元コードが付される。
続いて、コード検出部301における、二次元コードの検出処理について詳しく説明する。
上述のとおり、本実施形態に係るすべての二次元コードは、紙面上の予め定められた記録領域の中に印字されるように設計されている。したがって、例えば、上述の原稿501を元原稿としてコピーしようとした場合には、二次元コードは、原稿501のスキャン画像データにおいて右下隅の記録領域504に対応する領域から検出されるはずである。つまり、所定の記録領域内に正常に二次元コードが付され印字されている限り、記録領域に対応する規定の領域(以下、「記録領域対応領域」と呼ぶ。)の範囲内おいて二次元コードが問題なく検出されるはずである。
しかしながら、常に問題なく記録領域対応領域から二次元コードを検出できるとは限らない。解決課題で述べたように、用紙搬送時の位置ずれによって記録領域内の正しい位置に二次元コードが印字されなかったり、二次元コードは正しく印字されていても原稿台上に原稿が正しくセットされないことが起こり得るからである。
そのため、本発明においては、スキャナ装置202で読み取って得られたスキャン画像データのうち、記録領域対応領域よりも広い一定の領域(最大でスキャン画像データの全領域)を検出処理の対象としている。どの領域を検出処理の対象とするかは予め設定すればよく、例えば、デフォルトで全領域のように設定される。
まず、原稿上の二次元コードの印字位置が適切でないために二次元コードが記録領域対応領域内において検出できない場合(記録領域対応領域外において検出される場合)について図6の(a)を参照しつつ説明する。
601は元原稿であり、602は二次元コードである。四隅の矩形領域603は記録領域を示しており、記録紙の搬送時の機械的な斜行等の原因により、二次元コード602は記録領域603からはみ出て印字されていることが分かる。604は元原稿601の原稿サイズに応じて画定された原稿台上の読取範囲である。スキャナ装置202はこの画定された読取範囲をスキャンする。ここでは、読取範囲604は元原稿601と同じ大きさであり、かつ、元原稿601と読取範囲604はぴったり一致している。網掛けで示される領域605は記録領域対応領域であり、読取範囲604におけるその位置や大きさが、元原稿601における記録領域603の位置や大きさと同じになるように画定される。ここでは、元原稿601と読取範囲604とはぴったり一致していることから、記録領域603と記録領域対応領域605も完全に一致している。
図6の(a)の場合、元原稿601に対して読取範囲604は正しく位置しているもののそもそも元原稿601で二次元コードがずれているため、コード検出部301は、記録領域対応領域605の範囲内において二次元コード602を検出することができない。その結果、記録領域対応領域605の外において二次元コード602が検出されることになる。
次に、原稿が原稿台に正しくセットされなかったために、原稿とスキャナ装置202の読取範囲の位置関係がずれ、二次元コードを記録領域対応領域内で検出できない場合について図6の(b)を参照しつつ説明する。
611は元原稿であり、612は二次元コードである。四隅の矩形領域613は記録領域を示しており、図6の(a)の場合と異なり、二次元コード612は記録領域613の右下隅の領域内に正しく印字されていることが分かる。破線で示される矩形614は元原稿611の原稿サイズに応じて画定された原稿台上の読取範囲である。読取範囲614は元原稿611と同じ大きさであるが、元原稿611に対して右斜め下方向にずれていることがわかる。また、網掛けで示される領域615は記録領域対応領域であり、記録領域613に対応するように画定されているが、読取範囲614がずれているために、記録領域対応領域615も記録領域613に対して右斜め下方向にずれている。
図6の(b)の場合も、コード検出部301は、記録領域対応領域615の範囲内において二次元コード612を検出することができない。その結果、記録領域対応領域615の外において二次元コード612を検出することになる。
なお、二次元コードの検出には、例えば、前述の特許文献1に記載されたような公知の技術を適用可能である。例えば、QRコードの場合、3つの隅(左上、左下、右上)に必ず配置される位置検出パターン401(図4(a)参照)を検索することで、QRコードの位置と向きを検出することができる。二次元コードの検出方法自体は本発明において重要ではないため詳しい説明は省略することとする。
次に、二次元コードが印字された元原稿を、本実施形態に係るMFP101を用いてコピーする場合の処理の流れについて、図7のフローチャートを参照しつつ説明する。
MFP101は、表示装置201の操作画面を介して、ユーザから原稿コピーの指示を受けて、図7のフローチャートに従った処理を実行する。すなわち、以下に示すステップ701〜ステップ714までの各処理は、CPU200により統括的に制御されることにより実行される。
最初にユーザは、MFP101にログインする。すると、ステップ701において、MFP101は、不図示のユーザ認証部が、当該ユーザのログインを許可するかどうかの認証処理を行う。例えば、表示装置201の操作画面においてユーザに、ユーザ名(或いはこれに相当するユーザID)とパスワードを入力させ、予め登録されたデータと比較し、両者が一致するとユーザのログインが許可される。ログインが許可されると、ステップ702に進む。
ログインの許可されたユーザは、MFP101の原稿台に元原稿をセットし、表示装置201の操作画面上でコピースタートボタンを押下する。すると、ステップ702において、MFP101のスキャナ装置202は、原稿台上にセットされた元原稿をスキャンする。この際の読取範囲は、原稿台上にセットされた原稿の紙サイズによって画定されるため、例えば、セットされた元原稿の紙サイズがA4であれば、読取範囲もA4と同じ大きさに設定される。スキャンによって得られた画像データは、コード処理部207に送られる。
ステップ703において、コード処理部207は、スキャンによって得られた画像データから二次元コードを検出する処理を行う。本実施形態の場合、コード処理部207のコード検出部301は、スキャン画像データ内からQRコードの位置検出パターンを検索し、二次元コードの有無(検出できた場合にはその位置と向き)をチェックする。そして、二次元コードを検出したときは、原稿台上の読取範囲に対しどの位置で検出したかを示す位置情報を、二次元コードに関連付けてメモリ部204に記憶する。
ステップ704において、CPU200は、二次元コードが検出されたかどうかを判定する。二次元コードが検出されていればステップ706に進み、検出されてなければステップ705に進む。
ステップ705に移行した場合は、元原稿が、二次元コードの付加されていない原稿ということであり、通常のコピー処理が実行される。つまり、ステップ702でスキャンされた画像データに対して画像処理部203で所定の画像処理がなされ、プリンタ装置206で印刷処理が実行される。
ステップ706において、コード解析部302は、ステップ703で検出された二次元コードをデコードし、二次元コードに含まれる情報を抽出する。なお、検出された二次元コードが複数であれば、コード解析部302は、そのすべてについてデコードを行う。
ステップ707において、コード判別部303は、ステップ706でデコードした結果を基に、検出された二次元コードにセキュリティマーク以外のマークが存在するかどうかを判定する。すなわち、コード判別部303は、ステップ706で抽出した情報から、マーク識別子の内容を確認し、そのIDが“Security Mark”以外の二次元コード(他マーク)があるかどうかをチェックする。
マーク識別子のIDが “Security Mark”以外の二次元コードがあると判定された場合は、コピー制御以外の用途で設けられた二次元コード(他マーク)が存在していることになるので、ステップ708に進み、その用途に応じた処理を行う。他マークに基づく処理が終了すると、ステップ709に進む。
ステップ709において、コード判別部303は、ステップ702で検出された二次元コードに、“Security Mark”のIDを持つ二次元コードがあるかどうかを判定する。セキュリティマークの二次元コードがあると判定されれば、ステップ711に進む。セキュリティマークの二次元コードがないと判定されればステップ710に進む。
ステップ710に移行した場合は、元原稿が、コピー制御を目的とした二次元コードの付加されていない原稿ということになるので、通常のコピー処理が実行される。つまり、他マークに基づく処理を終えた画像データに対し、画像処理部203での所定の画像処理を経て、プリンタ装置206で印刷処理が実行される。
ステップ711に移行した場合は、元原稿が、コピー制御を目的とした二次元コードの付加されている原稿ということになる。この場合、セキュリティ制御部304は、デコード処理により取得されたセキュリティ情報を参照し、コピー処理の許否を判定する。すなわち、セキュリティ制御部304は、セキュリティ情報を参照して、その内容が“Security: copy_ok”であれば、「コピー許可」と判定し、ステップ713に進む。一方、“Security: copy_ng”であれば、「コピー禁止」と判定し、ステップ712に進む。
ステップ712において、セキュリティ制御部304は、ステップ702で取得したスキャン画像データを破棄し、コピー処理を中止する。併せて、セキュリティ制御部304は、表示装置201の操作画面上に、当該原稿はコピー禁止原稿であり、コピー処理を中止した旨を表示する。
ステップ713において、コード再構成部305は、二次元コード(セキュリティマーク)の再構成処理を行う。セキュリティマークが再構成された画像データは、所定の画像処理を経てプリンタ装置206に送られ、プリンタ装置206で印刷処理される(ステップ714)。
ここで、コード再構成部305による、二次元コード(セキュリティマーク)の再構成処理について詳しく説明する。二次元コードを再構成する処理の内容は、検出されたセキュリティマークの数と位置(記録領域対応領域の範囲内又は範囲外)によって異なる。具体的には、以下のように場合分けされる。
<(1)記録領域対応領域の範囲内でセキュリティマークが1個検出され、記録領域対応領域の範囲外ではセキュリティマークが検出されなかった場合。>
この場合、記録領域対応領域内のセキュリティマークのデータを更新し、元の位置にデータ更新後のセキュリティマークを再配置する。セキュリティマーク以外の二次元コード(他マーク)がある場合は、他マークについて以下に述べるパターン1〜3の処理を行う。
<パターン1>
パターン1は、対象の二次元コードを画像データ上にそのまま残す。すなわち、対象の二次元コードに対して何等の処理も行わない。
<パターン2>
パターン2は、対象の二次元コードを画像データから削除する。具体的には、スキャン画像データのうち、削除対象の二次元コードが存在したエリアの画素データをすべて、記録紙の地色(例えば、白の記録紙の場合は「白」)と同じ色の画素データに置き換える処理を行う。
<パターン3>
パターン3は、対象の二次元コードを再生した上で画像データ上に残す。前述のとおり、元原稿のスキャン画像データ上の二次元コードは一旦すべてデコードされる(ステップ706)。パターン3では、当該デコードされた情報を改めてエンコードし、従前と同じ情報を持つ二次元コードを生成し、元の位置に再配置する処理を行う。
上記パターンのうちいずれの処理を行うかは、MFP101の出荷時や設置時などに予め設定してもよいし、ユーザが原稿のコピーを行う際に表示装置201の操作画面を介して設定してもよい。
図10は、上記(1)の場合における、元原稿のスキャン画像データとコピー原稿としてプリンタ装置206等に出力される合成画像データとの関係を示す図である。説明の便宜上、他マークはないものとする。
1001は元原稿のスキャン画像データであり、1002は記録領域対応領域を示している。元原稿のスキャン画像データ1001には、記録領域対応領域1002の右上隅の領域内に、セキュリティマーク1003(データ更新前)が示されている。
1004はコピー原稿として出力される合成画像データである。1005は紙面上の印字領域を示している。1006はデータ更新後のセキュリティマークであり、データ更新前のセキュリティマーク1003があった位置と同じ位置である右上隅の領域内に配置されている。(1)の場合において他マークが存在しない場合には、パターン1〜3の処理の対象となる二次元コードが存在しないので、いずれのパターンが選択されていたとしても、生成される合成画像データは1004の1種類である。
<(2)記録領域対応領域の範囲内でセキュリティマークが1個検出され、記録領域対応領域の範囲外でもセキュリティマークが1個以上検出された場合。>
この場合も、記録領域対応領域内で検出された方のセキュリティマークのデータを更新し、その元の位置にデータ更新後のセキュリティマークを再配置する。データ更新の対象外となった記録領域対応領域外で検出されたセキュリティマーク及び他マーク(ある場合)については上述のパターン1〜3の処理を行う。
図11は、(2)の場合における、元原稿のスキャン画像データとコピー原稿として出力される合成画像データとの関係を示す図である。説明の便宜上、他マークはないものとする。
1101は元原稿のスキャン画像データであり、1102は記録領域対応領域を示している。元原稿のスキャン画像データ1101には、記録領域対応領域外にあるセキュリティマーク1103及び記録領域対応領域1102の右上隅の領域内にあってデータ更新対象のセキュリティマーク1104が示されている。
1105は、パターン1或いはパターン3が選択されていた場合に生成される合成画像データである。1106は紙面上の記録領域を示している。1108はデータ更新後のセキュリティマークであり、データ更新前のセキュリティマーク1104があった位置と同じ位置である右上隅に配置されている。1107はデータ更新の対象とならなかったセキュリティマーク1103に対応するセキュリティマークである。セキュリティマーク1107は、パターン1が選択されていればスキャンされたままのセキュリティマークとなり、パターン3が選択されていれば再エンコードされた新たなセキュリティマークとなる。パターン1とパターン3では合成画像データの外観に大差はないが、パターン1のセキュリティマーク1107は、パターン3のセキュリティマーク1107に比べて画質の劣化が避けられない点で異なることになる。
1115は、パターン2が選択されていた場合に生成される合成画像データである。1116は紙面上の記録領域を示している。1118はデータ更新後のセキュリティマークであり、データ更新前のセキュリティマーク1104があった位置と同じ位置である右上隅の領域内に配置されている。ただし、合成画像データ1105と異なり、合成画像データ1115には、データ更新の対象とならなかったセキュリティマーク1103に対応するセキュリティマークは存在しない。
<(3)記録領域対応領域の範囲内でセキュリティマークが2個以上検出され、記録領域対応領域の範囲外ではセキュリティマークが検出されなかった場合。>
この場合、記録領域対応領域内で検出されたセキュリティマークのうちデータ内容が最も古いセキュリティマークのデータを更新し、当該最古のセキュリティマークがあった位置にデータ更新後のセキュリティマークを再配置する。データ更新の対象外となったセキュリティマーク及び他マーク(ある場合)については上述のパターン1〜3の処理を行う。
図12は、(3)の場合における、元原稿のスキャン画像データとコピー原稿として出力される合成画像データとの関係を示す図である。説明の便宜上、他マークはないものとする。
1201は、元原稿のスキャン画像データであり、1202は記録領域対応領域を示している。元原稿のスキャン画像データ1201には、記録領域対応領域1102の左上隅の領域内にセキュリティマーク1203及び右上隅の領域内にセキュリティマーク1204が示されている。セキュリティマーク1203とセキュリティマーク1204とではセキュリティマーク1204の方がデータ内容が古いものとする。すなわち、セキュリティマーク1204がデータ更新の対象となる。
1205は、パターン1或いはパターン3が選択されていた場合に生成される合成画像データである。1206は紙面上の記録領域を示している。1208はデータ更新後のセキュリティマークであり、データ更新前のセキュリティマーク1204があった位置と同じ位置である右上隅の領域内に配置されている。1207はデータ更新の対象とならなかったセキュリティマーク1203に対応するセキュリティマークである。セキュリティマーク1207は、パターン1が選択されていればスキャンされたままのセキュリティマークとなり、パターン3が選択されていれば再エンコードされた新たなセキュリティマークとなる。パターン1とパターン3との違いは、図11の合成画像データ1115で述べたとおりである。
1215は、パターン2が選択されていた場合に生成される合成画像データである。1216は紙面上の記録領域を示している。1218はデータ更新後のセキュリティマークであり、データ更新前のセキュリティマーク1204があった位置と同じ位置である右上隅の領域内に配置されている。合成画像データ1205の場合と異なり、データ更新の対象とならなかったセキュリティマーク1203に対応するセキュリティマークは記録領域1216の左上隅に存在しない。
<(4)記録領域対応領域の範囲内でセキュリティマークが2個以上検出され、記録領域対応領域の範囲外でもセキュリティマークが1個以上検出された場合。>
この場合も、記録領域対応領域内で検出されたセキュリティマークのうちデータ内容が最も古いセキュリティマークのデータを更新し、当該最古のセキュリティマークがあった位置にデータ更新後のセキュリティマークを再配置する。データ更新の対象外となったセキュリティマーク及び他マーク(ある場合)についてはパターン1〜3の処理を行う。
図13は、(4)の場合における、元原稿のスキャン画像データとコピー原稿として出力される合成画像データとの関係を示す図である。説明の便宜上、他マークはないものとする。
1301は元原稿のスキャン画像データであり、1302は記録領域対応領域を示している。元原稿のスキャン画像データ1301には、記録領域対応領域1302の範囲外にセキュリティマーク1303、記録領域対応領域1302の左上隅の領域内にセキュリティマーク1304及び右上隅の領域内にセキュリティマーク1305が示されている。セキュリティマーク1304とセキュリティマーク1305とではセキュリティマーク1305の方がデータ内容が古いものとする。すなわち、セキュリティマーク1305がデータ更新の対象となる。
1306は、パターン1或いはパターン3が選択されていた場合に生成される合成画像データである。1307は紙面上の記録領域を示している。1310はデータ更新後のセキュリティマークであり、データ更新前のセキュリティマーク1305があった位置と同じ位置である右上隅の領域内に配置されている。1308及び1309はデータ更新の対象とならなかったセキュリティマークであり、それぞれ1303及び1304に対応するセキュリティマークである。セキュリティマーク1308及び1309は、パターン1であればスキャンされたままのセキュリティマークとなり、パターン3であれば再エンコードされた新たなセキュリティマークとなる。パターン1とパターン3との違いは、図11の合成画像データ1115で述べたとおりである。
1316は、パターン2が選択されていた場合に生成される合成画像データである。1317は紙面上の記録領域を示している。1320はデータ更新後のセキュリティマークであり、データ更新前のセキュリティマーク1305があった位置と同じ位置である右上隅の領域内に配置されている。合成画像データ1306と異なり、合成画像データ1316には、データ更新の対象とならなかったセキュリティマーク1303及び1304に対応するセキュリティマークは存在しない。
<(5)記録領域対応領域の範囲内でセキュリティマークが検出されず、記録領域対応領域の範囲外でセキュリティマークが1個検出された場合。>
この場合、記録領域対応領域外で検出されたセキュリティマークのデータを更新し、データ更新後のセキュリティマークを予め定められた優先順位に従って記録領域内に配置する。他マークがある場合は、他マークについてパターン1〜3の処理を行う。
図14は、(5)の場合における、元原稿のスキャン画像データとコピー原稿として出力される合成画像データとの関係を示す図である。説明の便宜上、他マークはないものとする。
1401は元原稿のスキャン画像データであり、1402は記録領域対応領域を示している。元原稿のスキャン画像データ1401には、記録領域対応領域1402の範囲外で検出されたデータ更新前のセキュリティマーク1403が示されている。
1404はコピー原稿として出力される合成画像データである。1405は紙面上の記録領域を示している。1406はデータ更新後のセキュリティマークであり、データ更新前のセキュリティマーク1403があった位置ではなく、記録領域1405内の右上隅の領域内に配置されている。なお、セキュリティマーク1406は、予め設定されたルールに従って四隅にある記録領域1405のうちのいずれかの領域に付加されるのであって、右上隅はあくまで例示である。(1)の場合と同様、パターン1〜3の処理の対象となる二次元コードが存在しないので、いずれのパターンが選択されていたとしても、生成される合成画像データは1404の1種類となる。
<(6)記録領域対応領域の範囲内でセキュリティマークが検出されず、記録領域対応領域の範囲外でセキュリティマークが2個以上検出された場合。>
この場合、記録領域対応領域外のセキュリティマークのうちデータ内容が最も古いセキュリティマークのデータを更新し、データ更新後のセキュリティマークを予め定められた優先順位に従って記録領域に配置する。データ更新の対象外となったセキュリティマーク及び他マーク(ある場合)についてはパターン1〜3の処理を行う。
図15は、(6)の場合における、元原稿のスキャン画像データとコピー原稿として出力される合成画像データとの関係を示す図である。説明の便宜上、他マークはないものとする。
1501は元原稿のスキャン画像データであり、1502は記録領域対応領域を示している。元原稿のスキャン画像データ1501には、セキュリティマーク1503及び1504が共に記録領域対応領域1502の範囲外に示されている。セキュリティマーク1503とセキュリティマーク1504とではセキュリティマーク1504の方がデータ内容が古いものとする。すなわち、セキュリティマーク1504がデータ更新の対象となる。
1505はパターン1或いはパターン3が選択されていた場合に生成される合成画像データである。1506は紙面上の記録領域を示している。1508はデータ更新後のセキュリティマークであり、データ更新前のセキュリティマーク1504があった位置ではなく、記録領域1506の右上隅の領域内に配置されている。この場合のセキュリティマーク1508は、予め設定されたルールに従って四隅にある記録領域1506のうちのいずれかの領域に付加される。1507はデータ更新の対象とならなかったセキュリティマーク1503に対応するセキュリティマークである。セキュリティマーク1507は、パターン1が選択されていればスキャンされたままのセキュリティマークとなり、パターン3が選択されていれば再エンコードされた新たなセキュリティマークとなる。パターン1とパターン3との違いは、図11の合成画像データ1105で述べたとおりである。
1515は、パターン2が選択されていた場合に生成される合成画像データである。1516は紙面上の記録領域を示している。1518はデータ更新後のセキュリティマークであり、データ更新前のセキュリティマーク1504があった位置ではなく、記録領域1516の右上隅の領域内に配置されている。合成画像データ1505と異なり、合成画像データ1515には、データ更新の対象とならなかったセキュリティマーク1503に対応するセキュリティマークは存在しない。
以上説明したとおり、いずれの場合においても、情報(データ内容)の更新された1個のセキュリティマークがコピー原稿の画像データの記録領域内に必ず存在することになる。
図8は、上記(1)〜(6)の場合分けを含む二次元コードの再構成処理の流れを示したフローチャートである。
最初に、ステップ801において、コード再構成部305は、メモリ部204から二次元コードの位置情報を読み出し、得られた位置情報を参照してセキュリティマークが記録領域対応領域外に存在するかどうかを判定する。セキュリティマークが記録領域対応領域の外に存在する場合{(2)、(4)、(5)、(6)}には、ステップ802に進む。セキュリティマークが記録領域対応領域の外に存在しない場合{(1)、(3)}には、ステップ803に進む。
ステップ802において、コード再構成部305は、読み出した位置情報を参照して、セキュリティマークが記録領域対応領域内に存在するかどうかを判定する。セキュリティマークが記録領域対応領域の中に存在する場合{(2)、(4)}には、ステップ803に進む。セキュリティマークが記録領域対応領域の中に存在しない場合{(5)、(6)}には、ステップ804に進む。
ステップ803において、コード再構成部305は、記録領域対応領域内で検出されたセキュリティマークが複数かどうかを判定する。記録領域対応領域内にセキュリティマークが2個以上あった場合{(3)、(4)}には、ステップ809に進む。記録領域対応領域内にセキュリティマークが1個の場合{(1)、(2)}には、ステップ805に進む。
ステップ805において、コード再構成部305は、記録領域対応領域内にあるセキュリティマークのデータを更新する。すなわち、記録領域対応領域内のセキュリティマークに対し、マーク識別子、セキュリティ情報及び追跡情報を必要に応じ更新する処理を行う。
図9は、図4の(b)で示すセキュリティマークについて必要な更新を行った後のデータ内容を示している。
まず、マーク識別子901については、引き続きセキュリティマークに関する二次元コードであるため、変更されることなく “ID: Security Mark”のままである。
また、セキュリティ情報902についても、「コピー許可」を示す“Security: copy_ok”のままである。これは、今回のコピー印刷によって出力されるコピー原稿自体も引き続きコピー可能であることを意味している。
一方、追跡情報903については、すべて変更されている。
まず、ユーザ名(User Name)が、“David Jenegal”から“Taro Yamada”に変更されている。ここで更新される変更後のユーザ名は、ステップ701のユーザ認証処理において特定されたユーザのユーザ名である。
また、画像形成装置の生産会社名(Vendor)及びシリアル番号(Serial No.)は、今回のコピー印刷に使用したMFP101が保持している生産会社情報とシリアル番号情報に従って変更されている。すなわち、生産会社名(Vendor)は“GUAN YIN”から“ABC INC.”に変更され、シリアル番号(Serial No.)は“472942205918”から“583053316029”に変更されている。
さらに、印刷時刻(Time)は、元原稿が印刷された時刻である“2008/09/21 14:33”から、今回のコピー印刷処理によってコピー原稿を出力する時刻である “2009/06/15 11:25”に変更されている。
データの更新処理が終わると、ステップ806に進む。
ステップ806において、コード再構成部305は、ステップ805で更新されたデータをエンコードし、新たな二次元コードを生成する。すなわち、コード再構成部305は、必要に応じて内容が変更された、マーク識別子、セキュリティ情報及び追跡情報をコード化し、更新された情報を含んだセキュリティマークの画像を生成する。セキュリティマークの生成が終わるとステップ807に進む。
ステップ807において、コード再構成部305は、二次元コードの位置情報を再び参照して、データ更新前のセキュリティマークがスキャン画像データのどこに位置しているかを特定し、当該データ更新前のセキュリティマークを画像データから削除する。また、データ更新の対象外の二次元コード(ここでは、他マーク)がある場合には、前述のパターン1〜3のいずれかの方法によって処理する。削除等の処理が終わるとステップ808に進む。
ステップ808において、コード再構成部305は、原稿本体の画像データとデータ更新後のセキュリティマークとを合成する。すなわち、コード再構成部305は、データ更新前のセキュリティマークが存在していた位置に、データ更新後のセキュリティマークの画像を配置した合成画像データを生成する。合成処理が終わると、ステップ714の印刷処理へと進む。
一方、ステップ803でセキュリティマークが記録領域対応領域内に2個以上あった場合{(3)、(4)}のステップ809において、コード再構成部305は、最もデータの古いセキュリティマークのデータを更新する。すなわち、最もデータ内容の古いセキュリティマークに対し、マーク識別子、セキュリティ情報及び追跡情報を必要に応じ更新する処理を行う。なお、データの古さは、追跡情報に含まれる印刷時刻によって判定可能である。データの更新処理が終わると、ステップ810に進む。
ステップ810において、コード再構成部305は、二次元コードの位置情報を再び参照して、データ更新前のセキュリティマークがスキャン画像データのどこに位置しているかを特定し、当該データ更新前のセキュリティマークを画像データから削除する。また、データ更新の対象外の二次元コード、つまりデータ内容が新しかったセキュリティマーク(他マークがある場合には他マークも)について、前述のパターン1〜3のいずれかの方法によって処理する。削除等の処理が終わるとステップ812に進む。
ステップ812において、コード再構成部305は、原稿本体の画像データとデータ更新後のセキュリティマークとを合成する。すなわち、コード再構成部305は、データ更新された最古のセキュリティマークが存在していた位置に、データ更新後のセキュリティマークの画像を配置した合成画像データを生成する。合成処理が終わると、ステップ714の印刷処理へと進む。
他方、ステップ802で記録領域対応領域の中にセキュリティマークが存在しない{(5)、(6)}と判定された場合のステップ804において、コード再構成部305は、記録領域対応領域外で検出されたセキュリティマークの数が複数かどうかを判定する。記録領域対応領域の外で検出されたセキュリティマークが2個以上であった場合{(6)}には、ステップ817に進む。記録領域対応領域の外で検出されたセキュリティマークが1個の場合{(5)}には、ステップ813に進む。
ステップ813において、コード再構成部305は、記録領域対応領域の外で検出されたセキュリティマークのデータを更新する。すなわち、記録領域対応領域外のセキュリティマークに対し、マーク識別子、セキュリティ情報及び追跡情報を必要に応じ更新する処理を行う。データの更新処理が終わると、ステップ814に進む。
ステップ814において、コード再構成部305は、ステップ813で更新されたデータをエンコードし、新たな二次元コードを生成する。すなわち、コード再構成部305は、必要に応じて内容が変更された、マーク識別子、セキュリティ情報及び追跡情報をコード化し、更新された情報を含んだセキュリティマークの画像を生成する。セキュリティマークの生成が終わるとステップ815に進む。
ステップ815において、コード再構成部305は、二次元コードの位置情報を再び参照して、データ更新前のセキュリティマークがスキャン画像データのどこに位置しているかを特定し、当該データ更新前のセキュリティマークを画像データから削除する。また、データ更新の対象外の二次元コード(ここでは、他マーク)がある場合には、前述のパターン1〜3のいずれかの方法によって処理する。削除等の処理が終わるとステップ816に進む。
ステップ816において、コード再構成部305は、原稿本体の画像データとデータ更新後のセキュリティマークとを合成する。すなわち、コード再構成部305は、予め定められたルールに従って記録領域内の任意の位置(例えば、右上隅)にデータ更新後のセキュリティマークの画像を配置した合成画像データを生成する。ここで、「ルール」とは、データ更新後のセキュリティマークを配置する際の条件を予め定めたものである。例えば、本文等の原稿本体の画像データと重ならないことを第1条件とし、四隅の優先順位(例えば、「右上隅が優先度が最も高く、右下隅、左下隅と続いて、左上隅が最も優先度が低い」等)を第2条件として予め定めておくことが考えられるる。合成処理が終わると、ステップ714の印刷処理へと進む。
一方、ステップ804でセキュリティマークが記録領域対応領域外に2個以上検出された場合{(6)}のステップ817において、コード再構成部305は、最もデータの古いセキュリティマークのデータを更新する。すなわち、最もデータ内容の古いセキュリティマークに対し、マーク識別子、セキュリティ情報及び追跡情報を必要に応じ更新する処理を行う。データの更新処理が終わると、ステップ818に進む。
ステップ818において、コード再構成部305は、ステップ817で更新されたデータをエンコードし、新たな二次元コードを生成する。すなわち、コード再構成部305は、必要に応じて内容が変更された、マーク識別子、セキュリティ情報及び追跡情報をコード化し、更新された情報を含んだセキュリティマークの画像を生成する。セキュリティマークの生成が終わるとステップ819に進む。
ステップ819において、コード再構成部305は、二次元コードの位置情報を再び参照して、データ更新前のセキュリティマークがスキャン画像データのどこに位置しているかを特定し、当該データ更新前のセキュリティマークを画像データから削除する。また、データ更新の対象外の二次元コード、つまりデータ内容が新しかったセキュリティマーク(他マークがある場合には他マークも)について、前述のパターン1〜3のいずれかの方法によって処理する。削除等の処理が終わるとステップ820に進む。
ステップ820において、コード再構成部305は、本文等の原稿本体の画像データとデータ更新後のセキュリティマークとを合成する。すなわち、コード再構成部305は、予め定められたルールに従って記録領域内の任意の位置(例えば、右上隅)に、データ更新された最古のセキュリティマークの画像を配置した合成画像データを生成する。合成処理が終わると、ステップ714の印刷処理へと進む。
ステップ714では、画像処理部203での所定の画像処理を経て、合成画像データがプリンタ装置206で印刷処理される。
以上説明したとおり、本発明によれば、原稿をスキャナで読み取った際にコードが規定の領域から検出できなくてもコードに従った処理を行うことができ、また、出力する原稿に対して様々な態様でコードを付加することができる。
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。