画像処理装置、画像処理方法、プログラムおよび記憶媒体
【課題】 本発明の課題は、並列して行われる複数の種類のコードの検出とデコードの処理を効率よく行うことができる画像処理装置を提供することである。
【解決手段】 上記課題を解決するために、本発明に係る画像処理装置は、スキャンされた画像から第1のコードを検出してデコードする処理を行う第1の手段と、スキャンされた画像から第2のコードを検出してデコードする処理を行う第2の手段とを備え、第1の手段における処理と、第2の手段における処理とは並列して行われ、さらに、第1の手段による処理が完了した場合に、第2の手段による処理が完了していなくても、第1の手段における処理の結果に基づいてスキャンされた画像の印刷を開始することを特徴とする。
【解決手段】 上記課題を解決するために、本発明に係る画像処理装置は、スキャンされた画像から第1のコードを検出してデコードする処理を行う第1の手段と、スキャンされた画像から第2のコードを検出してデコードする処理を行う第2の手段とを備え、第1の手段における処理と、第2の手段における処理とは並列して行われ、さらに、第1の手段による処理が完了した場合に、第2の手段による処理が完了していなくても、第1の手段における処理の結果に基づいてスキャンされた画像の印刷を開始することを特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文書の不正複写を防止することができる画像処理装置、画像処理方法、プログラムおよび記憶媒体に関するものである。
【背景技術】
【0002】
文書の不正複写を防止するために、以下で説明する方法が提案されている。まず、文書作成時において、その文書が「複写禁止」であるか否かを示す複写条件が、文書に画像データとして埋め込まれ、文書が印刷される。一方、その文書の複写時において、複写機が、印刷された文書から複写条件を検出し、その複写条件にしたがって、複写動作を制御(複写動作の実行、複写動作の停止)する。
【0003】
このような方法として、例えば、特許文献1には、複写機が、複写対象の文書内からバーコードを検出した場合に、その文書の機密レベルを検出し、その機密レベルに応じて複写動作の制御が行われる方法が開示されている。この方法によると、複写対象の文書にバーコードが埋め込まれているかどうかを判定するだけで、その文書が複写動作の制御が必要な文書かどうかを判定できる。
【0004】
また、特許文献2には、文書内に埋め込まれるコードとして、汎用的に使用されているQRコード(登録商標)のような2次元コードを用いる方法が開示されている。
【0005】
特許文献1に記載されているようなバーコードは、可視性が低く、画像データ全体に付加しても、画像データの可読性を大きく下げることはない。また、文書の全面にバーコードが付加されるため、バーコードは、強い改竄耐性を有する。しかし、バーコードは、特許文献2に記載の2次元コードに比べ、汎用的に使用されておらず、バーコードの読み取りや文書への埋め込みを行うことが可能な複写機は限定される。
【0006】
一方、2次元コードは、汎用的に使用されていることから、2次元コードを扱うことが可能な複写機は広範に存在する。また、2次元コードは、四辺形のコードであるためコード自体の可視性が高く、画像データ全体に2次元コードを付加すると、元の画像データの可読性が下がってしまう。そのため、2次元コードは、画像データの一部分に付加されるのが一般的である。しかし、2次元コードは、画像データの一部分にしか付加されないため、その部分がマスクされると2次元コードの情報は欠落するため、バーコードに比べ、改竄耐性が弱い。
【0007】
一方、バーコードは、独自の仕様であるため、例えば複写機のメーカーによってバーコードの仕様が異なり、各々のメーカーの複写機の間でバーコードを共通に使用できない制約がある。しかし、オフィスに複数のメーカーの複写機がある場合や、外部から文書が入ってくる場合が一般的に存在する。従って、可視性が低く改竄に強い独自のバーコードと、QRコード(登録商標)のような汎用的に扱うことができる2次元コードが同時に扱われる場合が存在する。
【0008】
従って、複写機は、バーコードや2次元コードのような複数の種類のコードに対応するために、複数の種類のコードの検出とデコードを行う場合がある。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2002−305646号公報
【特許文献2】特開平10−312447号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
複写機は、文書をスキャンして複数の種類のコードの検出とデコードを行う場合、事前にどのような種類のコードが文書に付加されているかがわからないため、複数の種類のコードの検出処理を行う。また、複写機の複写の生産性を落とさないためには、複数の種類のコードの検出とデコードの処理が、並列に行われる必要がある。
【0011】
しかし、コードの種類によって検出とデコードの処理にかかる時間は異なる。そのため、一方の種類のコードの検出とデコードの処理が完了しても、もう一方の種類のコードの検出とデコードの処理が完了しないために、複写機は次の処理に移行できず、複写機の生産性が落ちてしまう。
【0012】
そこで、本発明は、並列して行われる複数の種類のコードの検出とデコードの処理を効率よく行うことを目的とする。
【課題を解決するための手段】
【0013】
上記課題を解決するために、本発明に係る画像処理装置は、スキャンされた画像から第1のコードを検出してデコードする処理を行う第1の手段と、スキャンされた画像から第2のコードを検出してデコードする処理を行う第2の手段とを備え、第1の手段における処理と、第2の手段における処理とは並列して行われ、さらに、第1の手段による処理が完了した場合に、第2の手段による処理が完了していなくても、第1の手段における処理の結果に基づいてスキャンされた画像の印刷を開始することを特徴とする。
【発明の効果】
【0014】
本発明によれば、並列して行われる複数の種類のコードの検出とデコードの処理を効率よく行うことができる。
【図面の簡単な説明】
【0015】
【図1】LVBCを含む印刷物の一例を示す図である。
【図2】2次元コードを含む印刷物の一例を示す図である。
【図3】LVBCと2次元コードを含む印刷物の一例を示す図である。
【図4】プリンタドライバが提供する印刷設定画面の一例を示す図である。
【図5】画像処理装置の内部を示すブロック図である。
【図6】LVBCの情報パターンに埋め込まれる付加情報を示す図である。
【図7】データドットおよび配列ドットがどのように配置されるかの一例を示す図である。
【図8】ドットがどのように回転されるかを示す図である。
【図9】タイルおよびタイリング配置を示す図である。
【図10】ダイアログボックスの一例を示す図である。
【図11】画像処理装置が実行する複写制御の流れの一例を示すフローチャートである。
【図12】画像処理装置が実行する複写制御の流れの一例を示すフローチャートである。
【図13】2次元コードに埋め込まれる情報の一例を示す図である。
【図14】ダイアログボックスの一例を示す図である。
【発明を実施するための形態】
【0016】
以下に、図面を参照して、この発明に係る実施形態を例示的に詳しく説明する。ただし、この実施形態に記載されている構成要素の相対配置、数式、数値等は、特に特定的な記載がない限りは、この発明の範囲をそれらのみに限定する趣旨のものではない。
【0017】
<実施形態1>
本実施形態では、画像処理装置が不正複写を防止するために、第1のコードと第2のコードの2種類のコードを扱うことを前提とする。
【0018】
図1は、付加情報の埋め込まれた第1のコードを含む印刷物112の外観を表す図である。本実施形態では、この第1のコードを、LVBC(Low Visibility Barcode(低可視バーコード))と呼ぶ。
【0019】
図1において、領域111は、印刷物112の一部分を拡大したものを示している。領域111には、印刷物112に印刷されている文字の一部(「あ」の一部)と、LVBC113とが示されている。
【0020】
図2は、付加情報の埋め込まれた第2のコードとして、2次元コードを含む印刷物の外観を示している。図2において、印刷物222の左上に2次元コード221が印刷されている。ここで、2次元コード221が印刷されている位置や2次元コード221の大きさと個数は、任意である。また、本発明の説明で用いる図面には、2次元コードの例として、QRコード(登録商標)を示しているが、2次元コードは、QRコード(登録商標)以外でも良い。
【0021】
図3は、LVBCと、2次元コードとを含む印刷物の外観を示している。図3において、印刷物332の左上に2次元コード331が印刷されている。ここで、2次元コード331が印刷されている位置や2次元コード331の大きさ、及び個数は、任意である。
【0022】
本実施形態に係る画像処理装置は、図1〜図3に示されている印刷物112、222、332をスキャンして複写する。
【0023】
図5は、画像処理装置3001の内部を示すブロック図である。
【0024】
コントローラ3300は、スキャナ部3202やプリンタ部3203を制御する。また、コントローラ3300は、LAN又はWAN3301を介して、クライアントPC1001と、画像処理装置3001との間のデータ通信を制御する。
【0025】
図5のRAM3302は、CPU3400が動作するためのシステムワークメモリであり、かつ、画像処理装置3001が受け取った原稿画像データを一時記憶するためのメモリでもある。
【0026】
ROM3303は、画像処理装置3001のブートプログラムなどを格納する。
【0027】
HDD3304は、ハードディスクドライブであり、画像処理装置3001のシステムソフトウェアや画像処理装置3001が受け取った原稿画像データを格納する。
【0028】
操作部I/F3305は、システムバス3307と操作部3201とを接続するためのインタフェース部である。操作部I/F3305は、操作部3201に表示するための原稿画像データをシステムバス3307から受取り、操作部3201に出力すると共に、操作部3201から入力された情報をシステムバス3307へ出力する。
【0029】
NetworkI/F3306は、LAN又はWAN3301とシステムバス3307とを接続するインタフェースボードである。
【0030】
画像バス3319は、原稿画像データをやり取りするための伝送路であり、PCIバス又はIEEE1394で構成されている。
【0031】
スキャナ画像処理部3312は、スキャナ部3202からスキャナI/F3311を介して受け取った原稿画像データをLVBC抽出処理部3309と2次元コード抽出処理部3310に転送する。
【0032】
LVBC抽出処理部3309は、原稿画像データに付加されているLVBCから、付加情報の検出とデコードを行う。このLVBCに埋め込まれている付加情報の内容、及び、LVBC抽出処理部3309による付加情報の検出とデコードの処理の詳細については後述する。
【0033】
2次元コード抽出処理部3310は、原稿画像データに付加されている2次元コードから、付加情報の検出とデコードを行う。この2次元コードに埋め込まれている付加情報の内容、及び、2次元コード抽出処理部3310による付加情報の検出とデコードの処理の詳細については後述する。また、この検出とデコードはコントローラのCPU3400によって、ROM3303、または、HDD3304に記憶された制御プログラムに基づいて行われる。
【0034】
ここで、LVBCの検出とデコードの計算コストが高い場合には、画像処理装置のCPU3400を使ってLVBCの検出とデコードを行わずに、他のハードウェアで、LVBCの検出とデコードを行っても良い。このような場合に、LVBCの検出とデコードを行うハードウェア(ハードデコーダー)は、例えば、FPGA、ASICまたはPPCでも良い。
【0035】
一方、2次元コードの検出とデコードは、一般に、計算コストが低いため、CPU3400上でソフトウェア(ソフトデコーダー)により実行されても良いが、上記の他のハードウェアにより実行されても良い。
【0036】
プリンタ画像処理部3317は、受け取った原稿画像データに付随する属性データを参照して原稿画像データに対して画像処理を施す。
【0037】
LVBC生成部3315は、付加情報が埋め込まれたLVBCを生成する。次いで、プリンタ画像処理部3317は、このLVBCを原稿画像データに付加する。このプリンタ画像処理部3317によるLVBCの付加処理は、コントローラ3300のCPU3400によって、ROM3303、または、HDD3304に記憶された制御プログラムに基づいて行われる。
【0038】
2次元コード生成部3316は、付加情報が埋め込まれた2次元コードを生成する。次いで、プリンタ画像処理部3317は、この2次元コードを原稿画像データに付加する。このプリンタ画像処理部3317による2次元コードの付加処理は、コントローラ3300のCPU3400によって、ROM3303、または、HDD3304に記憶された制御プログラムに基づいて行われる。
【0039】
画像変換部3314は、原稿画像データに対して回転や色空間変換、2値多値変換、画像合成、間引きといった所定の変換処理を施す。
【0040】
RIP部3308は、クライアントPC1001から送信されたPDLコードデータを元に生成された中間データを受取り、ビットマップデータを生成する。生成されたビットマップデータは、画像バス3319へ送られる。
【0041】
図5を参照して、画像処理装置3001の動作を詳細に説明する。
【0042】
ユーザが原稿フィーダ上に原稿を載せ、操作部3201が、ユーザからの複写開始指示を受け取ると、スキャナ部3202は、原稿の読み取りを開始する。スキャナ部3202は、読み取った原稿画像データを、スキャナI/F3311を介して、スキャナ画像処理部3312に送る。そして、スキャナ画像処理部3312は、受け取った原稿画像データをLVBC抽出処理部3309と2次元コード抽出処理部3310に送る。
【0043】
LVBC抽出処理部3309は、受け取った原稿画像データに対してLVBCの検出とデコードの処理を行う。
【0044】
また、2次元コード抽出処理部3310は、受け取った原稿画像データに対して2次元コードの検出とデコードの処理を行う。
【0045】
尚、上述のLVBCの検出とデコードの処理と、2次元コードの検出とデコードの処理は並列して行われる。
【0046】
そして、LVBC抽出処理部3309及び2次元コード抽出処理部3310は、抽出結果をジョブ制御部3320に送る。
【0047】
ジョブ制御部3320は、受け取った抽出結果にしたがって複写動作を実行するか停止するかどうかを判定する。ここで、ジョブ制御部3320は、LVBC抽出処理部3309または2次元コード抽出処理部3310のどちらか一方のデコードの結果に基づいて、複写動作を実行するか停止するかどうかを判定する。
【0048】
ジョブ制御部3320が、複写動作を停止すると判定した場合には、ジョブ制御部3320は、複写動作の停止命令を、プリンタI/F3318を介して、プリンタ部3203に送る。さらに、ジョブ制御部3320は、操作部I/F3305を制御して、図14のダイアログボックス41又は図10に示したダイアログボックス51を操作部3201に表示する。
【0049】
なお、プリンタ部3203は、ジョブ制御部3320から複写動作の停止命令を受け取ると、印刷中であっても印刷を停止する。
【0050】
次に、図5と図6を参照して、画像処理装置3001が実行する処理内容を詳細に説明する。
【0051】
クライアントPC1001は、ユーザから原稿画像データの印刷操作の指示を受け付けると、印刷データを生成する。そして、クライアントPC1001は、LAN又はWAN3301を介して、画像処理装置3001に印刷データを送信する。
【0052】
画像処理装置3001は、受信した印刷データを原稿画像データに変換し、用紙に印刷物を印刷する。
【0053】
ここで、クライアントPC1001は、ユーザから、印刷操作の指示と共に、LVBCと2次元コードの両方またはどちらか一方を原稿画像データに付加するための指示を受け付ける。そして、画像処理装置3001は、LVBCと2次元コードの両方またはどちらか一方を原稿画像データに付加するための設定を行う。そして、画像処理装置3001は、当該設定に従って、LVBCと2次元コードの両方またはどちらか一方を原稿画像データに付加する。
【0054】
図6は、LVBCの情報パターン2021に埋め込まれる付加情報2022を示す図である。付加情報2022は、符号化された情報として、第1の情報2023と、第2の情報2025とを含む。
【0055】
本実施形態では、一例として、第1の情報2023は、複写制御情報とされており、第2の情報2025は、印刷ジョブの履歴を持つ追跡情報とされている。
【0056】
LVBCの情報パターン2021は、付加情報2022をLVBC生成部3315が画像化したパターンである。
【0057】
本実施形態では、第1の情報2023のチャネルは、後述のLDDチャネルに該当する。第1の情報2023は、後のスキャン動作時の検知によりスキャンにより得られた画像データの印刷を制御する複写制御情報として使用されるので、高速に検知される必要がある。
【0058】
本実施形態では、第2の情報2025は、印刷物2060の印刷者を追跡するための情報を含む。追跡情報には例えば、印刷日時、印刷指示をしたユーザのユーザ名、デバイス名といった印刷時の情報が含まれる。第2の情報2025のチャネルは後述のHDDチャネルに該当する。
【0059】
LVBCを用いれば、第1の情報2023と第2の情報2025を合成したものを付加情報として画像に埋め込むことができる。また、LVBCは、利用態様に応じて、第1の情報2023のみの抽出、第2の情報2025のみの抽出、第1の情報2023及び第2の情報2025の抽出のいずれかから選択して抽出することが可能である。LVBCを用いた付加情報の埋め込み方法及び抽出方法については後述する。
【0060】
図13は、2次元コード2501に埋め込まれる情報の一例を示す図である。本実施形態では、2次元コードは、複写制御情報と追跡情報から構成される。2次元コードを用いれば、これらの情報を合成したものを付加情報2502として画像に埋め込むことができる。
【0061】
ユーザが、画像処理装置3001を用いて、LVBCと2次元コードの両方または一方が埋め込まれた印刷物の複写を試みると、画像処理装置3001は、印刷物にコードが埋め込まれていることを検知する。次いで、画像処理装置3001は、その付加情報のうちの複写制御情報に含まれる複写条件にしたがって、複写動作を制御する。例えば、複写条件が「複写禁止」であると、画像処理装置3001は複写動作を停止する。これによって、複写が禁止された印刷物の複写を防止できる。
【0062】
次に、クライアントPC1001における複写制御情報の設定処理と、画像処理装置3001における複写動作の制御について詳細に説明する。
【0063】
図4は、クライアントPC1001にインストールされているプリンタドライバが提供する印刷設定画面の一例を示している。
【0064】
ユーザは、印刷セキュリティ設定ダイアログボックス31を用いて複写条件を設定する。ユーザは、印刷セキュリティ設定ダイアログボックス31内のラジオボタン32にチェックマークを入れることにより、「複写を許可する」、「複写を禁止する」、「複写を許可する為の条件を指定する」の条件の中から一つの条件を選択する。選択された条件は、複写制御情報として印刷対象の文書に埋め込まれる。「複写を許可する為の条件を指定する」を選択すると、条件情報入力フィールド33が入力可能な状態になり、ユーザは、そこに条件情報を入力する。この条件情報もまた、複写制御情報として印刷対象の文書に埋め込まれる。条件情報としては、例えば、パスワードがある。一方、ユーザが画像処理装置3001を用いて「複写の許可条件を指定する」が埋め込まれた印刷物の複写を試みると、画像処理装置3001は、ユーザに条件情報の入力を促す。この場合、ユーザは、印刷設定時に条件情報入力フィールド33に入力した条件情報を画像処理形成装置3001に入力すれば複写が許可される。尚、条件情報としては、複写許可されているユーザの名前であってもよい。また、条件情報としては、複写許可の期間(例えば、2009年1月1日〜2009年1月31日)であってもよい。条件情報として複写許可の期間が設定されると、画像処理装置3001は、その期間内に行われる複写だけを許可する制御を行う。
【0065】
なお、ユーザが「複写を禁止する」複写制御情報の埋め込みを指示した場合、本プリンタドライバは、原稿画像データに対してLVBCと2次元バーコードの両方の埋め込みを行う。このとき、両方のコードには「複写を禁止する」情報が埋め込まれる。即ち、原稿画像データに対して、複写を禁止する情報の含まれるLVBCを合成した上で、複写を禁止する情報の含まれる2次元バーコードを合成する。一方、ユーザが「複写を許可する」または「複写を許可する為の条件を指定する」情報を指定した場合、原稿画像データにはLVBCの埋め込みのみを行う。これは、2次元コードには、「複写を許可する」または「複写を許可する為の条件を指定する」情報を埋込むことができないためである。ただし、「複写を許可する情報」の埋込みを可能とする2次元コードを設計すれば、ユーザが「複写を許可する」を指定した場合にLVBCだけでなく2次元コードを埋め込むことも可能となる(本実施形態の変形例)。とはいえ、「複写を許可する為の条件を指定する」情報の埋め込みを可能とする2次元コードを設計することは望ましくない。なぜならば、上述の通り、2次元コードのサイズが大きくなってしまうからである。2次元コードはLVBCと違って濃い画像となっているため、原稿画像データの画像領域(文字等のコンテンツが存在する領域)に合成するのは望ましくない画像である。そのため、この2次元コードのサイズが大きくなってしまうのは問題なのである。いずれにせよ、本実施形態においては、ユーザの指示に応じてLVBCと2次元コードの両方を合成することはあるが、両方合成される場合にはその中に含められる情報は一致させることにしている。
【0066】
次に、複写対象の印刷物に、複写制御情報として「複写を禁止する」又は「複写を許可する為の条件を指定する」の複写条件が埋め込まれていることを検知した画像処理装置3001がユーザに提示するダイアログボックスの例を図14と図10に示す。これらのダイアログボックスは、画像処理装置3001の操作部3201に表示される。図14は、複写制御情報として「複写を禁止する」が埋め込まれた印刷文書の複写をユーザが試みたときに操作部3201に表示されるダイアログボックス41を示す。画像処理装置3001は、複写対象である印刷文書に「複写を禁止する」を示す複写制御情報が埋め込まれていることを検知すると、複写を行わない旨のメッセージをユーザに通知する。したがって、この通知を受けたユーザは、複写を断念することになる。
【0067】
図10は、複写制御情報として「複写の許可条件を指定する」を示す複写制御情報が埋め込まれた文書の複写をユーザが試みたときに操作部3201に表示されるダイアログボックス51を示す。画像処理装置3001、複写対象である印刷文書に「複写の許可条件を設定する」を示す複写制御情報が埋め込まれていることを検知すると、この文書を複写するためにはパスワード入力が必要である旨のメッセージをユーザに通知する。この通知を受けたユーザは、操作部3201のキーボード又はICカード等を用いてパスワードを入力する。次いで、画像処理装置3001は、印刷文書に複写制御情報として埋め込まれているパスワードと、ユーザが入力したパスワードとを照合し、両者が一致していれば複写動作を実行する。これに対して、両者が一致せずパスワード認証に失敗すると、図14に示すダイアログボックス41を操作部3201に表示する。
【0068】
次に、図7〜9を用いて印刷の際に印刷物2060にLVBC生成部3315が第1の情報2023及び第2の情報2025を埋め込む方法の一例を説明する。もちろん印刷物2060に第1の情報2023及び第2の情報2025を埋め込む方法は以下の方法に限らず、他の方法を用いてもよい。
【0069】
図7は、LVBCにおいて、データドット1401および配列ドット1402がどのように配置されるかの一例を示す。
【0070】
リファレンスグリッド1403は、配列ドットによって形成される。そして、データドット1401は、リファレンスグリッド1403に関して調整される。
【0071】
図8は、ドットがどのように回転されるかを示す図である。
【0072】
図8に示されているように、ドット1501、1502は、座標1503、1504の算出のため90度回転される。
【0073】
本実施形態では、第1の情報2023や第2の情報2025などの2チャネルのデータは、1つLVBCの情報パターン2021において同時に格納される。
【0074】
付加情報2022は、LVBCに埋め込まれる際に、全グリッドの上に繰り返しタイルリングされる。
【0075】
図9は、単一のユニークなタイル1600およびタイリング配置を示す。
【0076】
タイル1600は、高密度データ・チャネル(HDDチャネル)と低密度データ・チャネル(LDDチャネル)との、2種類のチャネルにより構成される。HDDチャネルはロバスト性が低く、一方LDDチャネルはロバスト性が高い。また、タイル1600は、HDDチャネル・タイルである4つのサブタイル1601〜1604から成る。
【0077】
各HDDチャネル・タイルは、グリッドセルまたはデータドットを単位にしてHDDタイル・サイズ1614の寸法を有する正方形の格子である。それぞれのHDDチャネル・タイルは、LDDチャネル・タイルと呼ばれるより小さい1枚の埋め込みタイルを含む。タイル1600のLDDチャネル・タイルは、サブタイル1605〜1608から成る。これは、タイル1600がLDDチャネル・タイルの4つのコピーを含むことを意味する。
【0078】
各LDDチャネル・タイルは、グリッドセルまたはデータドットを単位にしてLDDタイル・サイズ1613の寸法を有する正方形の格子である。加えて、HDDチャネルは、LDDチャネル・タイルを除外している4枚のHDDチャネル・タイルの完全な領域を占有する。そして、それはタイル1600がHDDチャネルの単一のコピーだけを含むことを意味する。例えば、領域1609〜1612は、集合的にHDDチャネルを形成する。
【0079】
HDDチャネルを格納するために用いるHDDチャネル・タイルの数は、必要に応じて拡大することができる。
【0080】
エラー訂正コード(ECC)は、LDDおよびHDD両チャネルのデータに適用される。本実施形態においては、ECCとして低密度パリティーチェック(LDPC)コードを使用する。LDPCは公知技術の高性能ECCである。
【0081】
次に、不正複写を防止する機能を搭載した画像処理装置3001が行う複写動作の制御を、図5及び図11を用いて説明する。
【0082】
図11は、本実施形態において、画像処理装置3001が実行する複写制御の流れを示すフローチャートである。
【0083】
ステップS2301において、操作部3201は、ユーザから複写開始指示を受け取る。そして、スキャナ部3202は、スキャンにより原稿を読み取り、読み取った原稿画像データを、スキャナI/F3311とスキャナ画像処理部3312を経由して、LVBC抽出処理部3309、2次元コード抽出処理部3310に送る。なお、このとき、スキャナ画像処理部3312は、原稿画像データを受け取ると、その原稿画像データに対して、プリンタ部3203が印刷するために必要な画像処理(例えば、ハーフトーニングなど)の実行を開始する。
【0084】
次に、ステップS2302において、LVBC抽出処理部3309は、原稿画像データからLVBCを検出する処理を実行し、2次元コード抽出処理部3310は、原稿画像データから2次元コードを検出する処理を実行する。
【0085】
次に、ステップS2303において、ジョブ制御部3320は、LVBC抽出処理部3309と2次元コード抽出処理部3310に、ステップS2302で実行した検出処理が完了したかを問い合わせる。LVBCと2次元コードのどちらも検出処理が未完了の場合、ステップS2302に処理が進む。
【0086】
なお、ステップS2302で実行されるLVBC抽出処理部3309による検出処理において、LVBCが原稿画像データに埋め込まれているかどうかの判定はドット解析が可能か不可能かを判定することにより行われる。すなわち、ドット解析が可能な場合は、原稿画像データにLVBCが埋め込まれていると判定される。一方、ドット解析が不可能な場合は、原稿画像データにLVBCが埋め込まれていないと判定される。ここで、ドット解析とは、印刷物上に存在する様々なドットの中から、所定のサイズ以上で所定のサイズ以下のドットを探し出す解析である。
【0087】
ステップS2303において、LVBC抽出処理部3309がLVBCの検出処理を完了した場合、ステップS2304に処理が進む。
【0088】
ステップS2303において、2次元コード抽出処理部3310が2次元コードの検出処理を完了した場合、ステップS2310に処理が進む。
【0089】
ステップS2304において、LVBC抽出処理部3309が原稿画像データにLVBCが埋め込まれていると判定した場合にはステップS2305に処理が進む。
【0090】
ステップS2304において、LVBC抽出処理部3309が原稿画像データにLVBCが埋め込まれていないと判定した場合にはステップS2310に処理が進む。
【0091】
ステップS2305において、LVBC抽出処理部3309は、原稿画像データから検出したLVBCに対してデコード処理を行う。ステップS2305におけるデコード処理の完了後、ステップS2306に処理が進む。
【0092】
ステップS2306において、ジョブ制御部3320は、LVBC抽出処理部3309のデコード処理が成功して、LVBCから付加情報を取り出すことができたかを判定する。
【0093】
ステップS2306で、LVBCのデコードが失敗して付加情報を取り出すことができない場合、処理が終了する。
【0094】
一方、ステップS2306で、LVBCのデコードが成功して付加情報を取り出すことができた場合、ステップS2307に処理が進む。
【0095】
ステップS2306において、LVBC抽出処理部3309のデコード処理が失敗した場合、LVBCに複写禁止の付加情報が埋め込まれている可能性があるため、ジョブ制御部3320は、複写動作の停止を決定する。そして、ジョブ制御部3320は、ジョブをキャンセルすることにより、プリンタ部3203の複写動作を停止する。その際に、ジョブ制御部3320は、図14に示すダイアログボックス41を操作部3201に表示し、印刷を停止することをユーザに知らせる。
【0096】
ステップS2307において、LVBC抽出処理部3309は、デコードしてLVBCから取り出した付加情報に複写を禁止する情報が含まれていたかどうかを判定する。付加情報に複写を禁止する情報が含まれていない場合、ステップS2308に処理が進む。
【0097】
ステップS2307において、LVBC抽出処理部3309がデコードして取り出した付加情報に複写を禁止する情報が含まれていると判定した場合、ジョブ制御部3320は、複写動作の停止を決定する。そして、ジョブ制御部3320は、ジョブをキャンセルすることにより、プリンタ部3203の複写動作を停止する。その際に、ジョブ制御部3320は、図14に示すダイアログボックス41を操作部3201に表示し、印刷を停止することをユーザに知らせる。
【0098】
ステップS2308において、ジョブ制御部3320は、プリンタ部3203に原稿画像データの印刷開始の指令を送る。
【0099】
プリンタ部3203が、スキャナ画像処理部3312から既に原稿画像データを受け取っている場合に、プリンタ部3203は、その原稿画像データの印刷を開始する。
【0100】
一方、プリンタ部3203が、スキャナ画像処理部3312から原稿画像データを受け取っていない場合には、プリンタ部3203は、スキャナ画像処理部3312における画像処理が終了するまで待機する。そして、プリンタ部3203は、スキャナ画像処理部3312から原稿画像データを受け取った後に、その原稿画像データの印刷を開始する。
【0101】
ここで、LVBCの検出とデコード処理が完了した場合に、2次元コードの検出とデコード処理が完了していなくても、プリンタ部3203により、スキャナ部3202によりスキャンされた画像の印刷が開始される場合には、以下の処理が実行されても良い。すなわち、2次元コード抽出処理部3310は、2次元コードの検出とデコード処理を中止しても良い。
【0102】
ステップS2309において、ジョブ制御部3320は、スキャナ部3202がスキャンする原稿の残り枚数は1枚以上あるか否かを判定する。
【0103】
ステップS2309で、スキャナ部3202がスキャンする原稿の残り枚数は1枚以上ないと判定された場合には、処理が終了する。
【0104】
一方、ステップS2309で、スキャナ部3202がスキャンする原稿の残り枚数は1枚以上あると判定された場合には、ステップS2301に処理が進む。
【0105】
ステップS2310において、2次元コード抽出処理部3310が原稿画像データに2次元コードが埋め込まれていると判定した場合にはステップS2311に処理が進む。
【0106】
ステップS2310において、2次元コード抽出処理部3310が原稿画像データに2次元コードが埋め込まれていないと判定した場合には、ステップS2308に処理が進む。
【0107】
ステップS2311において、2次元コード抽出処理部3310は、原稿画像データから検出した2次元コードに対してデコード処理を行う。デコード処理の完了後、ステップS2312に処理が進む。
【0108】
ステップS2312において、ジョブ制御部3320は、2次元コード抽出処理部3310のデコード処理が成功して2次元コードから付加情報を取り出すことができたかを判定する。ステップS2312で、2次元コードから付加情報を取り出すことができてデコードが成功したと判定された場合、ステップS2307に処理が進む。
【0109】
ステップS2312において、2次元コード抽出処理部3310によるデコード処理が失敗したと判定された場合、LVBCに複写禁止の付加情報が埋め込まれている可能性があるため、ジョブ制御部3320は、複写動作の停止を決定する。そして、ジョブ制御部3320は、ジョブをキャンセルすることにより、プリンタ部3203の複写動作を停止する。その際に、ジョブ制御部3320は、図14に示すダイアログボックス41を操作部3201に表示し、印刷を停止することをユーザに知らせる。
【0110】
このように、本実施形態では、LVBC抽出処理部3309と2次元コード抽出処理部3310によるコードの検出とデコード処理が並列に行われる場合に、以下のように処理が行われる。すなわち、LVBC抽出処理部3309の処理が完了した場合、2次元コードの処理が完了していなくても、次の処理に進む。すなわち、2次元コードの処理が完了していなくても、LVBC抽出処理部3309によるコードの検出とデコード処理の結果に基づいて、スキャナ部3202によりスキャンされた画像の印刷が開始される。
【0111】
従って、LVBCの検出とデコード処理が2次元コードに検出とデコード処理よりも先に完了した場合、2次元コードの処理に影響を受けずに次の処理に進むため、コードの処理を効率よく行うことができる。
【0112】
<実施形態2>
次に、実施形態2について説明する。
【0113】
前述の実施形態1は、LVBCの検出とデコード処理が、2次元コードの検出とデコード処理よりも先に完了することを前提としている。
【0114】
このような場合は、例えば、図5のLVBC抽出処理部3309が、LVBCの検出とデコード処理を、FPGA、ASICまたはPPCのようなハードウェア(ハードデコーダー)上で高速に実行したときに起こると考えられる。また、例えば、この場合、2次元コード抽出処理部3310が、2次元コードの検出とデコード処理をCPU3400上のソフトウェア(ソフトデコーダー)で実行していると考えられる。
【0115】
一方、実施形態2は、2次元コード抽出処理部3310も、実施形態1のLVBC抽出処理部3309と同様に、FPGA、ASICまたはPPCのようなハードウェア(ハードデコーダー)上で高速に処理を実行する場合を前提する。
【0116】
この場合、LVBCの検出とデコード処理と2次元コードの検出とデコード処理が並列に行われた場合、2次元コードに埋め込まれる付加情報の情報量が小さい場合、以下のような場合がある。すなわち、2次元コードの検出とデコード処理が、LVBCの検出とデコード処理より先に完了する場合がある。
【0117】
しかしながら、2次元コードの場合、切り張り可能で改竄耐性が弱いため、上から別の2次元コードを貼り付けることが可能である。
【0118】
例えば、「コピーを禁止する」という内容の付加情報が含まれたLVBCが付加された文書に対して、「コピーを許可する」という内容の付加情報が含まれた2次元コードを上から貼り付けることができる。
【0119】
この文書に対して、2次元コードの検出とデコードの処理がLVBCの検出とデコードより先に完了した場合、複写が実行されてしまう。本実施形態では、この2次元コードの改竄を前提とし、2次元コードが改竄された場合の誤検知を防ぐことを目的とする。
【0120】
本実施形態では、画像の全面に印刷できる改竄耐性の強いLVBCの検出とデコードの処理が2次元コードの検出より先に完了した場合には、実施形態1と同一の制御が行われる。
【0121】
本実施形態では、実施形態1の制御に加えて、改竄耐性の弱い2次元コードの検出とデコードの処理がLVBCの検出とデコードの処理より先に完了した場合は、複写を実行せずに、必ずLVBCの検出とデコード処理を完了させる。
【0122】
図12は、本実施形態において、画像処理装置3001が実行する複写制御の流れを示すフローチャートである。
【0123】
図12のフローチャートでは、図11の実施形態1のフローチャートと違って、ステップS2410とステップS2412の判定後の処理の遷移が変更され、さらにステップS2413とステップS2414が追加されることになる。
【0124】
まず、ステップS2401において、操作部3201は、ユーザから複写開始指示を受け取る。そして、スキャナ部3202は、スキャンにより原稿を読み取り、読み取った原稿画像データを、スキャナI/F3311とスキャナ画像処理部3312を経由して、LVBC抽出処理部3309、2次元コード抽出処理部3310に送る。なお、このとき、スキャナ画像処理部3312は、原稿画像データを受け取ると、その原稿画像データに対して、プリンタ部3203が印刷するために必要な画像処理(例えば、ハーフトーニングなど)の実行を開始する。
【0125】
次に、ステップS2402において、LVBC抽出処理部3309は、原稿画像データからLVBCを検出する処理を実行し、2次元コード抽出処理部3310は、原稿画像データから2次元コードを検出する処理を実行する。
【0126】
次に、ステップS2403において、ジョブ制御部3320は、LVBC抽出処理部3309と2次元コード抽出処理部3310に、ステップS2402で実行した検出処理が完了したかを問い合わせる。LVBCと2次元コードのどちらも検出処理が未完了の場合、ステップS2402に処理が進む。
【0127】
なお、ステップS2402で実行されるLVBC抽出処理部3309による検出処理において、LVBCが原稿画像データに埋め込まれているかどうかの判定はドット解析が可能か不可能かを判定することにより行われる。すなわち、ドット解析が可能な場合は、原稿画像データにLVBCが埋め込まれていると判定される。一方、ドット解析が不可能な場合は、原稿画像データにLVBCが埋め込まれていないと判定する。ここで、ドット解析とは、印刷物上に存在する様々なドットの中から、所定のサイズ以上で所定のサイズ以下のドットを探し出す解析である。
【0128】
ステップS2403において、LVBC抽出処理部3309がLVBCの検出処理を完了した場合、ステップS2404に処理が進む。
【0129】
ステップS2403において、2次元コード抽出処理部3310がLVBCの検出処理を完了した場合、ステップS2410に処理が進む。
【0130】
ステップS2404において、LVBC抽出処理部3309が原稿画像データにLVBCが埋め込まれていると判定した場合にはステップS2405に処理が進む。
【0131】
ステップS2404において、LVBC抽出処理部3309が原稿画像データにLVBCが埋め込まれていないと判定した場合にはステップS2410に処理が進む。
【0132】
ステップS2405において、LVBC抽出処理部3309は、原稿画像データから検出したLVBCに対してデコード処理を行う。ステップS2405におけるデコード処理の完了後、ステップS2406に処理が進む。
【0133】
ステップS2406において、ジョブ制御部3320は、LVBC抽出処理部3309のデコード処理が成功して、LVBCから付加情報を取り出すことができたかを判定する。
【0134】
ステップS2406において、LVBCのデコードが失敗して付加情報を取り出すことができない場合、処理が終了する。
【0135】
一方、ステップS2406において、LVBCのデコードが成功して付加情報を取り出すことができた場合、ステップS2407に処理が進む。
【0136】
ステップS2406において、LVBC抽出処理部3309のデコード処理が失敗した場合、LVBCに複写禁止の付加情報が埋め込まれている可能性があるため、ジョブ制御部3320は、複写動作の停止を決定する。そして、ジョブ制御部3320は、ジョブをキャンセルすることにより、プリンタ部3203の複写動作を停止する。その際に、ジョブ制御部3320は、図14に示すダイアログボックス41を操作部3201に表示し、印刷を停止することをユーザに知らせる。
【0137】
ステップS2407において、LVBC抽出処理部3309は、デコードしてLVBCから取り出した付加情報に複写を禁止する情報が含まれていたかどうかを判定する。付加情報に複写を禁止する情報が含まれていない場合、ステップS2408に処理が進む。
【0138】
ステップS2407において、LVBC抽出処理部3309がデコードして取り出した付加情報に複写を禁止する情報が含まれていると判定した場合、ジョブ制御部3320は、複写動作の停止を決定する。そして、ジョブ制御部3320は、ジョブをキャンセルすることにより、プリンタ部3203の複写動作を停止する。その際に、ジョブ制御部3320は、図14に示すダイアログボックス41を操作部3201に表示し、印刷を停止することをユーザに知らせる。
【0139】
ステップS2408において、ジョブ制御部3320は、プリンタ部3203に原稿画像データの印刷開始の指令を送る。
【0140】
プリンタ部3203が、スキャナ画像処理部3312から既に原稿画像データを受け取っている場合に、プリンタ部3203は、その原稿画像データの印刷を開始する。
【0141】
一方、プリンタ部3203が、スキャナ画像処理部3312から原稿画像データを受け取っていない場合には、プリンタ部3203は、スキャナ画像処理部3312から原稿画像データを受け取った後に、その原稿画像データの印刷を開始する。
【0142】
ステップS2409において、ジョブ制御部3320は、スキャナ部3202がスキャンする原稿の残り枚数は1枚以上あるか否かを判定する。
【0143】
ステップS2409で、スキャナ部3202がスキャンする原稿の残り枚数は1枚以上ないと判定された場合には、処理が終了する。
【0144】
一方、ステップS2409で、スキャナ部3202がスキャンする原稿の残り枚数は1枚以上あると判定された場合には、ステップS2301に処理が進む。
【0145】
ステップS2410において、2次元コード抽出処理部3310が原稿画像データに2次元コードが埋め込まれていると判定した場合にはステップS2411に処理が進む。
【0146】
ステップS2410において、2次元コード抽出処理部3310が原稿画像データに2次元コードが埋め込まれていないと判定した場合には、ステップS2414に処理が進む。
【0147】
ステップS2411において、2次元コード抽出処理部3310は、原稿画像データから検出した2次元コードに対してデコード処理を行う。デコード処理の完了後、ステップS2412に処理が進む。
【0148】
ステップS2412において、ジョブ制御部3320は、2次元コード抽出処理部3310のデコード処理が成功して2次元コードから付加情報を取り出すことができたかを判定する。ステップS2412で、2次元コードから付加情報を取り出すことができてデコードが成功したと判定された場合、ステップS2413に処理が進む。
【0149】
ステップS2412において、2次元コード抽出処理部3310によるデコード処理が失敗したと判定された場合、LVBCに複写禁止の付加情報が埋め込まれている可能性があるため、ジョブ制御部3320は、複写動作の停止を決定する。そして、ジョブ制御部3320は、ジョブをキャンセルすることにより、プリンタ部3203の複写動作を停止する。その際に、ジョブ制御部3320は、図14に示すダイアログボックス41を操作部3201に表示し、印刷を停止することをユーザに知らせる。
【0150】
ステップS2413において、2次元コード抽出処理部3310が、2次元コードをデコードして取り出した付加情報に複写を禁止する情報が含まれているかどうかを判定する。付加情報に複写を禁止する情報が含まれていない場合でも、2次元コードは改竄耐性が弱いので、LVBCの付加情報を元に、複写を制御するために、ステップS2414に処理が進む。
【0151】
ステップS2413において、2次元コード抽出処理部3310が2次元コードをデコードして取り出した付加情報に複写を禁止する情報が含まれている場合、ジョブ制御部3320は、複写動作の停止を決定する。そして、ジョブ制御部3320は、ジョブをキャンセルすることにより、プリンタ部3203の複写動作を停止する。
【0152】
ステップS2414において、LVBC抽出処理部3309が原稿画像データにLVBCが埋め込まれていると判定した場合にはステップS2405に処理が進む。
【0153】
ステップS2414において、LVBC抽出処理部3309が原稿画像データにLVBCが埋め込まれていない判定した場合にはステップS2408に処理が進む。
【0154】
このように、本実施形態によれば、LVBCの検出とデコードの処理が、2次元コードの検出とデコード処理が並列に行われる場合、以下のことが可能である。すなわち、LVBCの処理が2次元コードの処理よりも先に完了する場合は、2次元コードの処理の影響を受けずに次の処理に進むことができる。
【0155】
さらに、本実施形態によれば、2次元コードの処理がLVBCの処理より先に完了する場合、2次元コードだけでなく、LVBCも検出とデコードすることで、2次元コードが改竄された場合の誤検知を防ぐことができる。
【0156】
本発明では、例えば、LVBCの検出とデコード処理が完了した場合に、2次元コードの検出とデコード処理が完了していなくても、プリンタ部3203により、スキャナ部3202によりスキャンされた画像の印刷が開始されるのは以下の場合である。
【0157】
すなわち、LVBCの検出とデコード処理の結果、スキャナ部3202によりスキャンされた画像の印刷(複写)が許可されていることを示す情報が得られた場合に限って、スキャナ部3202によりスキャンされた画像の印刷が開始されても良い。
【0158】
したがって、LVBCの検出とデコード処理の結果、スキャナ部3202によりスキャンされた画像の印刷(複写)が禁止されていることを示す情報が得られた場合に、スキャナ部3202によりスキャンされた画像の印刷は開始されない。
【0159】
また、本発明において、LVBCの改竄耐性が強く、二次元コードの改竄耐性が弱いという両方の条件が揃わない場合には、以下のように画像処理装置が設定されても良い。すなわち、LVBCの検出とデコード処理が完了した場合に、2次元コードの検出とデコード処理が完了していなくても、プリンタ部3203により、スキャナ部3202によりスキャンされた画像の印刷が開始されることはしないと設定されても良い。
【0160】
(その他の実施形態)
前述した実施形態の機能を実現するように前述した実施形態の構成を動作させるプログラムを記憶媒体に記憶させ、該記憶媒体に記憶されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も上述の実施形態の範疇に含まれる。また、前述のプログラムが記憶された記憶媒体はもちろんそのプログラム自体も上述の実施形態に含まれる。
【0161】
かかる記憶媒体としては、例えばフロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性メモリーカード、ROMなど、コンピュータで読み取り可能なものを用いることができる。
【0162】
また、前述の記憶媒体に記憶されたプログラム単体で処理を実行しているものに限らず、他のソフトウェア、拡張ボードの機能と共同して、OS上で動作し前述の実施形態の動作を実行するものも前述した実施形態の範疇に含まれる。
【符号の説明】
【0163】
111 領域
112 印刷物
113 LVBC
221 2次元コード
222 印刷物
331 2次元コード
332 印刷物
【技術分野】
【0001】
本発明は、文書の不正複写を防止することができる画像処理装置、画像処理方法、プログラムおよび記憶媒体に関するものである。
【背景技術】
【0002】
文書の不正複写を防止するために、以下で説明する方法が提案されている。まず、文書作成時において、その文書が「複写禁止」であるか否かを示す複写条件が、文書に画像データとして埋め込まれ、文書が印刷される。一方、その文書の複写時において、複写機が、印刷された文書から複写条件を検出し、その複写条件にしたがって、複写動作を制御(複写動作の実行、複写動作の停止)する。
【0003】
このような方法として、例えば、特許文献1には、複写機が、複写対象の文書内からバーコードを検出した場合に、その文書の機密レベルを検出し、その機密レベルに応じて複写動作の制御が行われる方法が開示されている。この方法によると、複写対象の文書にバーコードが埋め込まれているかどうかを判定するだけで、その文書が複写動作の制御が必要な文書かどうかを判定できる。
【0004】
また、特許文献2には、文書内に埋め込まれるコードとして、汎用的に使用されているQRコード(登録商標)のような2次元コードを用いる方法が開示されている。
【0005】
特許文献1に記載されているようなバーコードは、可視性が低く、画像データ全体に付加しても、画像データの可読性を大きく下げることはない。また、文書の全面にバーコードが付加されるため、バーコードは、強い改竄耐性を有する。しかし、バーコードは、特許文献2に記載の2次元コードに比べ、汎用的に使用されておらず、バーコードの読み取りや文書への埋め込みを行うことが可能な複写機は限定される。
【0006】
一方、2次元コードは、汎用的に使用されていることから、2次元コードを扱うことが可能な複写機は広範に存在する。また、2次元コードは、四辺形のコードであるためコード自体の可視性が高く、画像データ全体に2次元コードを付加すると、元の画像データの可読性が下がってしまう。そのため、2次元コードは、画像データの一部分に付加されるのが一般的である。しかし、2次元コードは、画像データの一部分にしか付加されないため、その部分がマスクされると2次元コードの情報は欠落するため、バーコードに比べ、改竄耐性が弱い。
【0007】
一方、バーコードは、独自の仕様であるため、例えば複写機のメーカーによってバーコードの仕様が異なり、各々のメーカーの複写機の間でバーコードを共通に使用できない制約がある。しかし、オフィスに複数のメーカーの複写機がある場合や、外部から文書が入ってくる場合が一般的に存在する。従って、可視性が低く改竄に強い独自のバーコードと、QRコード(登録商標)のような汎用的に扱うことができる2次元コードが同時に扱われる場合が存在する。
【0008】
従って、複写機は、バーコードや2次元コードのような複数の種類のコードに対応するために、複数の種類のコードの検出とデコードを行う場合がある。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2002−305646号公報
【特許文献2】特開平10−312447号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
複写機は、文書をスキャンして複数の種類のコードの検出とデコードを行う場合、事前にどのような種類のコードが文書に付加されているかがわからないため、複数の種類のコードの検出処理を行う。また、複写機の複写の生産性を落とさないためには、複数の種類のコードの検出とデコードの処理が、並列に行われる必要がある。
【0011】
しかし、コードの種類によって検出とデコードの処理にかかる時間は異なる。そのため、一方の種類のコードの検出とデコードの処理が完了しても、もう一方の種類のコードの検出とデコードの処理が完了しないために、複写機は次の処理に移行できず、複写機の生産性が落ちてしまう。
【0012】
そこで、本発明は、並列して行われる複数の種類のコードの検出とデコードの処理を効率よく行うことを目的とする。
【課題を解決するための手段】
【0013】
上記課題を解決するために、本発明に係る画像処理装置は、スキャンされた画像から第1のコードを検出してデコードする処理を行う第1の手段と、スキャンされた画像から第2のコードを検出してデコードする処理を行う第2の手段とを備え、第1の手段における処理と、第2の手段における処理とは並列して行われ、さらに、第1の手段による処理が完了した場合に、第2の手段による処理が完了していなくても、第1の手段における処理の結果に基づいてスキャンされた画像の印刷を開始することを特徴とする。
【発明の効果】
【0014】
本発明によれば、並列して行われる複数の種類のコードの検出とデコードの処理を効率よく行うことができる。
【図面の簡単な説明】
【0015】
【図1】LVBCを含む印刷物の一例を示す図である。
【図2】2次元コードを含む印刷物の一例を示す図である。
【図3】LVBCと2次元コードを含む印刷物の一例を示す図である。
【図4】プリンタドライバが提供する印刷設定画面の一例を示す図である。
【図5】画像処理装置の内部を示すブロック図である。
【図6】LVBCの情報パターンに埋め込まれる付加情報を示す図である。
【図7】データドットおよび配列ドットがどのように配置されるかの一例を示す図である。
【図8】ドットがどのように回転されるかを示す図である。
【図9】タイルおよびタイリング配置を示す図である。
【図10】ダイアログボックスの一例を示す図である。
【図11】画像処理装置が実行する複写制御の流れの一例を示すフローチャートである。
【図12】画像処理装置が実行する複写制御の流れの一例を示すフローチャートである。
【図13】2次元コードに埋め込まれる情報の一例を示す図である。
【図14】ダイアログボックスの一例を示す図である。
【発明を実施するための形態】
【0016】
以下に、図面を参照して、この発明に係る実施形態を例示的に詳しく説明する。ただし、この実施形態に記載されている構成要素の相対配置、数式、数値等は、特に特定的な記載がない限りは、この発明の範囲をそれらのみに限定する趣旨のものではない。
【0017】
<実施形態1>
本実施形態では、画像処理装置が不正複写を防止するために、第1のコードと第2のコードの2種類のコードを扱うことを前提とする。
【0018】
図1は、付加情報の埋め込まれた第1のコードを含む印刷物112の外観を表す図である。本実施形態では、この第1のコードを、LVBC(Low Visibility Barcode(低可視バーコード))と呼ぶ。
【0019】
図1において、領域111は、印刷物112の一部分を拡大したものを示している。領域111には、印刷物112に印刷されている文字の一部(「あ」の一部)と、LVBC113とが示されている。
【0020】
図2は、付加情報の埋め込まれた第2のコードとして、2次元コードを含む印刷物の外観を示している。図2において、印刷物222の左上に2次元コード221が印刷されている。ここで、2次元コード221が印刷されている位置や2次元コード221の大きさと個数は、任意である。また、本発明の説明で用いる図面には、2次元コードの例として、QRコード(登録商標)を示しているが、2次元コードは、QRコード(登録商標)以外でも良い。
【0021】
図3は、LVBCと、2次元コードとを含む印刷物の外観を示している。図3において、印刷物332の左上に2次元コード331が印刷されている。ここで、2次元コード331が印刷されている位置や2次元コード331の大きさ、及び個数は、任意である。
【0022】
本実施形態に係る画像処理装置は、図1〜図3に示されている印刷物112、222、332をスキャンして複写する。
【0023】
図5は、画像処理装置3001の内部を示すブロック図である。
【0024】
コントローラ3300は、スキャナ部3202やプリンタ部3203を制御する。また、コントローラ3300は、LAN又はWAN3301を介して、クライアントPC1001と、画像処理装置3001との間のデータ通信を制御する。
【0025】
図5のRAM3302は、CPU3400が動作するためのシステムワークメモリであり、かつ、画像処理装置3001が受け取った原稿画像データを一時記憶するためのメモリでもある。
【0026】
ROM3303は、画像処理装置3001のブートプログラムなどを格納する。
【0027】
HDD3304は、ハードディスクドライブであり、画像処理装置3001のシステムソフトウェアや画像処理装置3001が受け取った原稿画像データを格納する。
【0028】
操作部I/F3305は、システムバス3307と操作部3201とを接続するためのインタフェース部である。操作部I/F3305は、操作部3201に表示するための原稿画像データをシステムバス3307から受取り、操作部3201に出力すると共に、操作部3201から入力された情報をシステムバス3307へ出力する。
【0029】
NetworkI/F3306は、LAN又はWAN3301とシステムバス3307とを接続するインタフェースボードである。
【0030】
画像バス3319は、原稿画像データをやり取りするための伝送路であり、PCIバス又はIEEE1394で構成されている。
【0031】
スキャナ画像処理部3312は、スキャナ部3202からスキャナI/F3311を介して受け取った原稿画像データをLVBC抽出処理部3309と2次元コード抽出処理部3310に転送する。
【0032】
LVBC抽出処理部3309は、原稿画像データに付加されているLVBCから、付加情報の検出とデコードを行う。このLVBCに埋め込まれている付加情報の内容、及び、LVBC抽出処理部3309による付加情報の検出とデコードの処理の詳細については後述する。
【0033】
2次元コード抽出処理部3310は、原稿画像データに付加されている2次元コードから、付加情報の検出とデコードを行う。この2次元コードに埋め込まれている付加情報の内容、及び、2次元コード抽出処理部3310による付加情報の検出とデコードの処理の詳細については後述する。また、この検出とデコードはコントローラのCPU3400によって、ROM3303、または、HDD3304に記憶された制御プログラムに基づいて行われる。
【0034】
ここで、LVBCの検出とデコードの計算コストが高い場合には、画像処理装置のCPU3400を使ってLVBCの検出とデコードを行わずに、他のハードウェアで、LVBCの検出とデコードを行っても良い。このような場合に、LVBCの検出とデコードを行うハードウェア(ハードデコーダー)は、例えば、FPGA、ASICまたはPPCでも良い。
【0035】
一方、2次元コードの検出とデコードは、一般に、計算コストが低いため、CPU3400上でソフトウェア(ソフトデコーダー)により実行されても良いが、上記の他のハードウェアにより実行されても良い。
【0036】
プリンタ画像処理部3317は、受け取った原稿画像データに付随する属性データを参照して原稿画像データに対して画像処理を施す。
【0037】
LVBC生成部3315は、付加情報が埋め込まれたLVBCを生成する。次いで、プリンタ画像処理部3317は、このLVBCを原稿画像データに付加する。このプリンタ画像処理部3317によるLVBCの付加処理は、コントローラ3300のCPU3400によって、ROM3303、または、HDD3304に記憶された制御プログラムに基づいて行われる。
【0038】
2次元コード生成部3316は、付加情報が埋め込まれた2次元コードを生成する。次いで、プリンタ画像処理部3317は、この2次元コードを原稿画像データに付加する。このプリンタ画像処理部3317による2次元コードの付加処理は、コントローラ3300のCPU3400によって、ROM3303、または、HDD3304に記憶された制御プログラムに基づいて行われる。
【0039】
画像変換部3314は、原稿画像データに対して回転や色空間変換、2値多値変換、画像合成、間引きといった所定の変換処理を施す。
【0040】
RIP部3308は、クライアントPC1001から送信されたPDLコードデータを元に生成された中間データを受取り、ビットマップデータを生成する。生成されたビットマップデータは、画像バス3319へ送られる。
【0041】
図5を参照して、画像処理装置3001の動作を詳細に説明する。
【0042】
ユーザが原稿フィーダ上に原稿を載せ、操作部3201が、ユーザからの複写開始指示を受け取ると、スキャナ部3202は、原稿の読み取りを開始する。スキャナ部3202は、読み取った原稿画像データを、スキャナI/F3311を介して、スキャナ画像処理部3312に送る。そして、スキャナ画像処理部3312は、受け取った原稿画像データをLVBC抽出処理部3309と2次元コード抽出処理部3310に送る。
【0043】
LVBC抽出処理部3309は、受け取った原稿画像データに対してLVBCの検出とデコードの処理を行う。
【0044】
また、2次元コード抽出処理部3310は、受け取った原稿画像データに対して2次元コードの検出とデコードの処理を行う。
【0045】
尚、上述のLVBCの検出とデコードの処理と、2次元コードの検出とデコードの処理は並列して行われる。
【0046】
そして、LVBC抽出処理部3309及び2次元コード抽出処理部3310は、抽出結果をジョブ制御部3320に送る。
【0047】
ジョブ制御部3320は、受け取った抽出結果にしたがって複写動作を実行するか停止するかどうかを判定する。ここで、ジョブ制御部3320は、LVBC抽出処理部3309または2次元コード抽出処理部3310のどちらか一方のデコードの結果に基づいて、複写動作を実行するか停止するかどうかを判定する。
【0048】
ジョブ制御部3320が、複写動作を停止すると判定した場合には、ジョブ制御部3320は、複写動作の停止命令を、プリンタI/F3318を介して、プリンタ部3203に送る。さらに、ジョブ制御部3320は、操作部I/F3305を制御して、図14のダイアログボックス41又は図10に示したダイアログボックス51を操作部3201に表示する。
【0049】
なお、プリンタ部3203は、ジョブ制御部3320から複写動作の停止命令を受け取ると、印刷中であっても印刷を停止する。
【0050】
次に、図5と図6を参照して、画像処理装置3001が実行する処理内容を詳細に説明する。
【0051】
クライアントPC1001は、ユーザから原稿画像データの印刷操作の指示を受け付けると、印刷データを生成する。そして、クライアントPC1001は、LAN又はWAN3301を介して、画像処理装置3001に印刷データを送信する。
【0052】
画像処理装置3001は、受信した印刷データを原稿画像データに変換し、用紙に印刷物を印刷する。
【0053】
ここで、クライアントPC1001は、ユーザから、印刷操作の指示と共に、LVBCと2次元コードの両方またはどちらか一方を原稿画像データに付加するための指示を受け付ける。そして、画像処理装置3001は、LVBCと2次元コードの両方またはどちらか一方を原稿画像データに付加するための設定を行う。そして、画像処理装置3001は、当該設定に従って、LVBCと2次元コードの両方またはどちらか一方を原稿画像データに付加する。
【0054】
図6は、LVBCの情報パターン2021に埋め込まれる付加情報2022を示す図である。付加情報2022は、符号化された情報として、第1の情報2023と、第2の情報2025とを含む。
【0055】
本実施形態では、一例として、第1の情報2023は、複写制御情報とされており、第2の情報2025は、印刷ジョブの履歴を持つ追跡情報とされている。
【0056】
LVBCの情報パターン2021は、付加情報2022をLVBC生成部3315が画像化したパターンである。
【0057】
本実施形態では、第1の情報2023のチャネルは、後述のLDDチャネルに該当する。第1の情報2023は、後のスキャン動作時の検知によりスキャンにより得られた画像データの印刷を制御する複写制御情報として使用されるので、高速に検知される必要がある。
【0058】
本実施形態では、第2の情報2025は、印刷物2060の印刷者を追跡するための情報を含む。追跡情報には例えば、印刷日時、印刷指示をしたユーザのユーザ名、デバイス名といった印刷時の情報が含まれる。第2の情報2025のチャネルは後述のHDDチャネルに該当する。
【0059】
LVBCを用いれば、第1の情報2023と第2の情報2025を合成したものを付加情報として画像に埋め込むことができる。また、LVBCは、利用態様に応じて、第1の情報2023のみの抽出、第2の情報2025のみの抽出、第1の情報2023及び第2の情報2025の抽出のいずれかから選択して抽出することが可能である。LVBCを用いた付加情報の埋め込み方法及び抽出方法については後述する。
【0060】
図13は、2次元コード2501に埋め込まれる情報の一例を示す図である。本実施形態では、2次元コードは、複写制御情報と追跡情報から構成される。2次元コードを用いれば、これらの情報を合成したものを付加情報2502として画像に埋め込むことができる。
【0061】
ユーザが、画像処理装置3001を用いて、LVBCと2次元コードの両方または一方が埋め込まれた印刷物の複写を試みると、画像処理装置3001は、印刷物にコードが埋め込まれていることを検知する。次いで、画像処理装置3001は、その付加情報のうちの複写制御情報に含まれる複写条件にしたがって、複写動作を制御する。例えば、複写条件が「複写禁止」であると、画像処理装置3001は複写動作を停止する。これによって、複写が禁止された印刷物の複写を防止できる。
【0062】
次に、クライアントPC1001における複写制御情報の設定処理と、画像処理装置3001における複写動作の制御について詳細に説明する。
【0063】
図4は、クライアントPC1001にインストールされているプリンタドライバが提供する印刷設定画面の一例を示している。
【0064】
ユーザは、印刷セキュリティ設定ダイアログボックス31を用いて複写条件を設定する。ユーザは、印刷セキュリティ設定ダイアログボックス31内のラジオボタン32にチェックマークを入れることにより、「複写を許可する」、「複写を禁止する」、「複写を許可する為の条件を指定する」の条件の中から一つの条件を選択する。選択された条件は、複写制御情報として印刷対象の文書に埋め込まれる。「複写を許可する為の条件を指定する」を選択すると、条件情報入力フィールド33が入力可能な状態になり、ユーザは、そこに条件情報を入力する。この条件情報もまた、複写制御情報として印刷対象の文書に埋め込まれる。条件情報としては、例えば、パスワードがある。一方、ユーザが画像処理装置3001を用いて「複写の許可条件を指定する」が埋め込まれた印刷物の複写を試みると、画像処理装置3001は、ユーザに条件情報の入力を促す。この場合、ユーザは、印刷設定時に条件情報入力フィールド33に入力した条件情報を画像処理形成装置3001に入力すれば複写が許可される。尚、条件情報としては、複写許可されているユーザの名前であってもよい。また、条件情報としては、複写許可の期間(例えば、2009年1月1日〜2009年1月31日)であってもよい。条件情報として複写許可の期間が設定されると、画像処理装置3001は、その期間内に行われる複写だけを許可する制御を行う。
【0065】
なお、ユーザが「複写を禁止する」複写制御情報の埋め込みを指示した場合、本プリンタドライバは、原稿画像データに対してLVBCと2次元バーコードの両方の埋め込みを行う。このとき、両方のコードには「複写を禁止する」情報が埋め込まれる。即ち、原稿画像データに対して、複写を禁止する情報の含まれるLVBCを合成した上で、複写を禁止する情報の含まれる2次元バーコードを合成する。一方、ユーザが「複写を許可する」または「複写を許可する為の条件を指定する」情報を指定した場合、原稿画像データにはLVBCの埋め込みのみを行う。これは、2次元コードには、「複写を許可する」または「複写を許可する為の条件を指定する」情報を埋込むことができないためである。ただし、「複写を許可する情報」の埋込みを可能とする2次元コードを設計すれば、ユーザが「複写を許可する」を指定した場合にLVBCだけでなく2次元コードを埋め込むことも可能となる(本実施形態の変形例)。とはいえ、「複写を許可する為の条件を指定する」情報の埋め込みを可能とする2次元コードを設計することは望ましくない。なぜならば、上述の通り、2次元コードのサイズが大きくなってしまうからである。2次元コードはLVBCと違って濃い画像となっているため、原稿画像データの画像領域(文字等のコンテンツが存在する領域)に合成するのは望ましくない画像である。そのため、この2次元コードのサイズが大きくなってしまうのは問題なのである。いずれにせよ、本実施形態においては、ユーザの指示に応じてLVBCと2次元コードの両方を合成することはあるが、両方合成される場合にはその中に含められる情報は一致させることにしている。
【0066】
次に、複写対象の印刷物に、複写制御情報として「複写を禁止する」又は「複写を許可する為の条件を指定する」の複写条件が埋め込まれていることを検知した画像処理装置3001がユーザに提示するダイアログボックスの例を図14と図10に示す。これらのダイアログボックスは、画像処理装置3001の操作部3201に表示される。図14は、複写制御情報として「複写を禁止する」が埋め込まれた印刷文書の複写をユーザが試みたときに操作部3201に表示されるダイアログボックス41を示す。画像処理装置3001は、複写対象である印刷文書に「複写を禁止する」を示す複写制御情報が埋め込まれていることを検知すると、複写を行わない旨のメッセージをユーザに通知する。したがって、この通知を受けたユーザは、複写を断念することになる。
【0067】
図10は、複写制御情報として「複写の許可条件を指定する」を示す複写制御情報が埋め込まれた文書の複写をユーザが試みたときに操作部3201に表示されるダイアログボックス51を示す。画像処理装置3001、複写対象である印刷文書に「複写の許可条件を設定する」を示す複写制御情報が埋め込まれていることを検知すると、この文書を複写するためにはパスワード入力が必要である旨のメッセージをユーザに通知する。この通知を受けたユーザは、操作部3201のキーボード又はICカード等を用いてパスワードを入力する。次いで、画像処理装置3001は、印刷文書に複写制御情報として埋め込まれているパスワードと、ユーザが入力したパスワードとを照合し、両者が一致していれば複写動作を実行する。これに対して、両者が一致せずパスワード認証に失敗すると、図14に示すダイアログボックス41を操作部3201に表示する。
【0068】
次に、図7〜9を用いて印刷の際に印刷物2060にLVBC生成部3315が第1の情報2023及び第2の情報2025を埋め込む方法の一例を説明する。もちろん印刷物2060に第1の情報2023及び第2の情報2025を埋め込む方法は以下の方法に限らず、他の方法を用いてもよい。
【0069】
図7は、LVBCにおいて、データドット1401および配列ドット1402がどのように配置されるかの一例を示す。
【0070】
リファレンスグリッド1403は、配列ドットによって形成される。そして、データドット1401は、リファレンスグリッド1403に関して調整される。
【0071】
図8は、ドットがどのように回転されるかを示す図である。
【0072】
図8に示されているように、ドット1501、1502は、座標1503、1504の算出のため90度回転される。
【0073】
本実施形態では、第1の情報2023や第2の情報2025などの2チャネルのデータは、1つLVBCの情報パターン2021において同時に格納される。
【0074】
付加情報2022は、LVBCに埋め込まれる際に、全グリッドの上に繰り返しタイルリングされる。
【0075】
図9は、単一のユニークなタイル1600およびタイリング配置を示す。
【0076】
タイル1600は、高密度データ・チャネル(HDDチャネル)と低密度データ・チャネル(LDDチャネル)との、2種類のチャネルにより構成される。HDDチャネルはロバスト性が低く、一方LDDチャネルはロバスト性が高い。また、タイル1600は、HDDチャネル・タイルである4つのサブタイル1601〜1604から成る。
【0077】
各HDDチャネル・タイルは、グリッドセルまたはデータドットを単位にしてHDDタイル・サイズ1614の寸法を有する正方形の格子である。それぞれのHDDチャネル・タイルは、LDDチャネル・タイルと呼ばれるより小さい1枚の埋め込みタイルを含む。タイル1600のLDDチャネル・タイルは、サブタイル1605〜1608から成る。これは、タイル1600がLDDチャネル・タイルの4つのコピーを含むことを意味する。
【0078】
各LDDチャネル・タイルは、グリッドセルまたはデータドットを単位にしてLDDタイル・サイズ1613の寸法を有する正方形の格子である。加えて、HDDチャネルは、LDDチャネル・タイルを除外している4枚のHDDチャネル・タイルの完全な領域を占有する。そして、それはタイル1600がHDDチャネルの単一のコピーだけを含むことを意味する。例えば、領域1609〜1612は、集合的にHDDチャネルを形成する。
【0079】
HDDチャネルを格納するために用いるHDDチャネル・タイルの数は、必要に応じて拡大することができる。
【0080】
エラー訂正コード(ECC)は、LDDおよびHDD両チャネルのデータに適用される。本実施形態においては、ECCとして低密度パリティーチェック(LDPC)コードを使用する。LDPCは公知技術の高性能ECCである。
【0081】
次に、不正複写を防止する機能を搭載した画像処理装置3001が行う複写動作の制御を、図5及び図11を用いて説明する。
【0082】
図11は、本実施形態において、画像処理装置3001が実行する複写制御の流れを示すフローチャートである。
【0083】
ステップS2301において、操作部3201は、ユーザから複写開始指示を受け取る。そして、スキャナ部3202は、スキャンにより原稿を読み取り、読み取った原稿画像データを、スキャナI/F3311とスキャナ画像処理部3312を経由して、LVBC抽出処理部3309、2次元コード抽出処理部3310に送る。なお、このとき、スキャナ画像処理部3312は、原稿画像データを受け取ると、その原稿画像データに対して、プリンタ部3203が印刷するために必要な画像処理(例えば、ハーフトーニングなど)の実行を開始する。
【0084】
次に、ステップS2302において、LVBC抽出処理部3309は、原稿画像データからLVBCを検出する処理を実行し、2次元コード抽出処理部3310は、原稿画像データから2次元コードを検出する処理を実行する。
【0085】
次に、ステップS2303において、ジョブ制御部3320は、LVBC抽出処理部3309と2次元コード抽出処理部3310に、ステップS2302で実行した検出処理が完了したかを問い合わせる。LVBCと2次元コードのどちらも検出処理が未完了の場合、ステップS2302に処理が進む。
【0086】
なお、ステップS2302で実行されるLVBC抽出処理部3309による検出処理において、LVBCが原稿画像データに埋め込まれているかどうかの判定はドット解析が可能か不可能かを判定することにより行われる。すなわち、ドット解析が可能な場合は、原稿画像データにLVBCが埋め込まれていると判定される。一方、ドット解析が不可能な場合は、原稿画像データにLVBCが埋め込まれていないと判定される。ここで、ドット解析とは、印刷物上に存在する様々なドットの中から、所定のサイズ以上で所定のサイズ以下のドットを探し出す解析である。
【0087】
ステップS2303において、LVBC抽出処理部3309がLVBCの検出処理を完了した場合、ステップS2304に処理が進む。
【0088】
ステップS2303において、2次元コード抽出処理部3310が2次元コードの検出処理を完了した場合、ステップS2310に処理が進む。
【0089】
ステップS2304において、LVBC抽出処理部3309が原稿画像データにLVBCが埋め込まれていると判定した場合にはステップS2305に処理が進む。
【0090】
ステップS2304において、LVBC抽出処理部3309が原稿画像データにLVBCが埋め込まれていないと判定した場合にはステップS2310に処理が進む。
【0091】
ステップS2305において、LVBC抽出処理部3309は、原稿画像データから検出したLVBCに対してデコード処理を行う。ステップS2305におけるデコード処理の完了後、ステップS2306に処理が進む。
【0092】
ステップS2306において、ジョブ制御部3320は、LVBC抽出処理部3309のデコード処理が成功して、LVBCから付加情報を取り出すことができたかを判定する。
【0093】
ステップS2306で、LVBCのデコードが失敗して付加情報を取り出すことができない場合、処理が終了する。
【0094】
一方、ステップS2306で、LVBCのデコードが成功して付加情報を取り出すことができた場合、ステップS2307に処理が進む。
【0095】
ステップS2306において、LVBC抽出処理部3309のデコード処理が失敗した場合、LVBCに複写禁止の付加情報が埋め込まれている可能性があるため、ジョブ制御部3320は、複写動作の停止を決定する。そして、ジョブ制御部3320は、ジョブをキャンセルすることにより、プリンタ部3203の複写動作を停止する。その際に、ジョブ制御部3320は、図14に示すダイアログボックス41を操作部3201に表示し、印刷を停止することをユーザに知らせる。
【0096】
ステップS2307において、LVBC抽出処理部3309は、デコードしてLVBCから取り出した付加情報に複写を禁止する情報が含まれていたかどうかを判定する。付加情報に複写を禁止する情報が含まれていない場合、ステップS2308に処理が進む。
【0097】
ステップS2307において、LVBC抽出処理部3309がデコードして取り出した付加情報に複写を禁止する情報が含まれていると判定した場合、ジョブ制御部3320は、複写動作の停止を決定する。そして、ジョブ制御部3320は、ジョブをキャンセルすることにより、プリンタ部3203の複写動作を停止する。その際に、ジョブ制御部3320は、図14に示すダイアログボックス41を操作部3201に表示し、印刷を停止することをユーザに知らせる。
【0098】
ステップS2308において、ジョブ制御部3320は、プリンタ部3203に原稿画像データの印刷開始の指令を送る。
【0099】
プリンタ部3203が、スキャナ画像処理部3312から既に原稿画像データを受け取っている場合に、プリンタ部3203は、その原稿画像データの印刷を開始する。
【0100】
一方、プリンタ部3203が、スキャナ画像処理部3312から原稿画像データを受け取っていない場合には、プリンタ部3203は、スキャナ画像処理部3312における画像処理が終了するまで待機する。そして、プリンタ部3203は、スキャナ画像処理部3312から原稿画像データを受け取った後に、その原稿画像データの印刷を開始する。
【0101】
ここで、LVBCの検出とデコード処理が完了した場合に、2次元コードの検出とデコード処理が完了していなくても、プリンタ部3203により、スキャナ部3202によりスキャンされた画像の印刷が開始される場合には、以下の処理が実行されても良い。すなわち、2次元コード抽出処理部3310は、2次元コードの検出とデコード処理を中止しても良い。
【0102】
ステップS2309において、ジョブ制御部3320は、スキャナ部3202がスキャンする原稿の残り枚数は1枚以上あるか否かを判定する。
【0103】
ステップS2309で、スキャナ部3202がスキャンする原稿の残り枚数は1枚以上ないと判定された場合には、処理が終了する。
【0104】
一方、ステップS2309で、スキャナ部3202がスキャンする原稿の残り枚数は1枚以上あると判定された場合には、ステップS2301に処理が進む。
【0105】
ステップS2310において、2次元コード抽出処理部3310が原稿画像データに2次元コードが埋め込まれていると判定した場合にはステップS2311に処理が進む。
【0106】
ステップS2310において、2次元コード抽出処理部3310が原稿画像データに2次元コードが埋め込まれていないと判定した場合には、ステップS2308に処理が進む。
【0107】
ステップS2311において、2次元コード抽出処理部3310は、原稿画像データから検出した2次元コードに対してデコード処理を行う。デコード処理の完了後、ステップS2312に処理が進む。
【0108】
ステップS2312において、ジョブ制御部3320は、2次元コード抽出処理部3310のデコード処理が成功して2次元コードから付加情報を取り出すことができたかを判定する。ステップS2312で、2次元コードから付加情報を取り出すことができてデコードが成功したと判定された場合、ステップS2307に処理が進む。
【0109】
ステップS2312において、2次元コード抽出処理部3310によるデコード処理が失敗したと判定された場合、LVBCに複写禁止の付加情報が埋め込まれている可能性があるため、ジョブ制御部3320は、複写動作の停止を決定する。そして、ジョブ制御部3320は、ジョブをキャンセルすることにより、プリンタ部3203の複写動作を停止する。その際に、ジョブ制御部3320は、図14に示すダイアログボックス41を操作部3201に表示し、印刷を停止することをユーザに知らせる。
【0110】
このように、本実施形態では、LVBC抽出処理部3309と2次元コード抽出処理部3310によるコードの検出とデコード処理が並列に行われる場合に、以下のように処理が行われる。すなわち、LVBC抽出処理部3309の処理が完了した場合、2次元コードの処理が完了していなくても、次の処理に進む。すなわち、2次元コードの処理が完了していなくても、LVBC抽出処理部3309によるコードの検出とデコード処理の結果に基づいて、スキャナ部3202によりスキャンされた画像の印刷が開始される。
【0111】
従って、LVBCの検出とデコード処理が2次元コードに検出とデコード処理よりも先に完了した場合、2次元コードの処理に影響を受けずに次の処理に進むため、コードの処理を効率よく行うことができる。
【0112】
<実施形態2>
次に、実施形態2について説明する。
【0113】
前述の実施形態1は、LVBCの検出とデコード処理が、2次元コードの検出とデコード処理よりも先に完了することを前提としている。
【0114】
このような場合は、例えば、図5のLVBC抽出処理部3309が、LVBCの検出とデコード処理を、FPGA、ASICまたはPPCのようなハードウェア(ハードデコーダー)上で高速に実行したときに起こると考えられる。また、例えば、この場合、2次元コード抽出処理部3310が、2次元コードの検出とデコード処理をCPU3400上のソフトウェア(ソフトデコーダー)で実行していると考えられる。
【0115】
一方、実施形態2は、2次元コード抽出処理部3310も、実施形態1のLVBC抽出処理部3309と同様に、FPGA、ASICまたはPPCのようなハードウェア(ハードデコーダー)上で高速に処理を実行する場合を前提する。
【0116】
この場合、LVBCの検出とデコード処理と2次元コードの検出とデコード処理が並列に行われた場合、2次元コードに埋め込まれる付加情報の情報量が小さい場合、以下のような場合がある。すなわち、2次元コードの検出とデコード処理が、LVBCの検出とデコード処理より先に完了する場合がある。
【0117】
しかしながら、2次元コードの場合、切り張り可能で改竄耐性が弱いため、上から別の2次元コードを貼り付けることが可能である。
【0118】
例えば、「コピーを禁止する」という内容の付加情報が含まれたLVBCが付加された文書に対して、「コピーを許可する」という内容の付加情報が含まれた2次元コードを上から貼り付けることができる。
【0119】
この文書に対して、2次元コードの検出とデコードの処理がLVBCの検出とデコードより先に完了した場合、複写が実行されてしまう。本実施形態では、この2次元コードの改竄を前提とし、2次元コードが改竄された場合の誤検知を防ぐことを目的とする。
【0120】
本実施形態では、画像の全面に印刷できる改竄耐性の強いLVBCの検出とデコードの処理が2次元コードの検出より先に完了した場合には、実施形態1と同一の制御が行われる。
【0121】
本実施形態では、実施形態1の制御に加えて、改竄耐性の弱い2次元コードの検出とデコードの処理がLVBCの検出とデコードの処理より先に完了した場合は、複写を実行せずに、必ずLVBCの検出とデコード処理を完了させる。
【0122】
図12は、本実施形態において、画像処理装置3001が実行する複写制御の流れを示すフローチャートである。
【0123】
図12のフローチャートでは、図11の実施形態1のフローチャートと違って、ステップS2410とステップS2412の判定後の処理の遷移が変更され、さらにステップS2413とステップS2414が追加されることになる。
【0124】
まず、ステップS2401において、操作部3201は、ユーザから複写開始指示を受け取る。そして、スキャナ部3202は、スキャンにより原稿を読み取り、読み取った原稿画像データを、スキャナI/F3311とスキャナ画像処理部3312を経由して、LVBC抽出処理部3309、2次元コード抽出処理部3310に送る。なお、このとき、スキャナ画像処理部3312は、原稿画像データを受け取ると、その原稿画像データに対して、プリンタ部3203が印刷するために必要な画像処理(例えば、ハーフトーニングなど)の実行を開始する。
【0125】
次に、ステップS2402において、LVBC抽出処理部3309は、原稿画像データからLVBCを検出する処理を実行し、2次元コード抽出処理部3310は、原稿画像データから2次元コードを検出する処理を実行する。
【0126】
次に、ステップS2403において、ジョブ制御部3320は、LVBC抽出処理部3309と2次元コード抽出処理部3310に、ステップS2402で実行した検出処理が完了したかを問い合わせる。LVBCと2次元コードのどちらも検出処理が未完了の場合、ステップS2402に処理が進む。
【0127】
なお、ステップS2402で実行されるLVBC抽出処理部3309による検出処理において、LVBCが原稿画像データに埋め込まれているかどうかの判定はドット解析が可能か不可能かを判定することにより行われる。すなわち、ドット解析が可能な場合は、原稿画像データにLVBCが埋め込まれていると判定される。一方、ドット解析が不可能な場合は、原稿画像データにLVBCが埋め込まれていないと判定する。ここで、ドット解析とは、印刷物上に存在する様々なドットの中から、所定のサイズ以上で所定のサイズ以下のドットを探し出す解析である。
【0128】
ステップS2403において、LVBC抽出処理部3309がLVBCの検出処理を完了した場合、ステップS2404に処理が進む。
【0129】
ステップS2403において、2次元コード抽出処理部3310がLVBCの検出処理を完了した場合、ステップS2410に処理が進む。
【0130】
ステップS2404において、LVBC抽出処理部3309が原稿画像データにLVBCが埋め込まれていると判定した場合にはステップS2405に処理が進む。
【0131】
ステップS2404において、LVBC抽出処理部3309が原稿画像データにLVBCが埋め込まれていないと判定した場合にはステップS2410に処理が進む。
【0132】
ステップS2405において、LVBC抽出処理部3309は、原稿画像データから検出したLVBCに対してデコード処理を行う。ステップS2405におけるデコード処理の完了後、ステップS2406に処理が進む。
【0133】
ステップS2406において、ジョブ制御部3320は、LVBC抽出処理部3309のデコード処理が成功して、LVBCから付加情報を取り出すことができたかを判定する。
【0134】
ステップS2406において、LVBCのデコードが失敗して付加情報を取り出すことができない場合、処理が終了する。
【0135】
一方、ステップS2406において、LVBCのデコードが成功して付加情報を取り出すことができた場合、ステップS2407に処理が進む。
【0136】
ステップS2406において、LVBC抽出処理部3309のデコード処理が失敗した場合、LVBCに複写禁止の付加情報が埋め込まれている可能性があるため、ジョブ制御部3320は、複写動作の停止を決定する。そして、ジョブ制御部3320は、ジョブをキャンセルすることにより、プリンタ部3203の複写動作を停止する。その際に、ジョブ制御部3320は、図14に示すダイアログボックス41を操作部3201に表示し、印刷を停止することをユーザに知らせる。
【0137】
ステップS2407において、LVBC抽出処理部3309は、デコードしてLVBCから取り出した付加情報に複写を禁止する情報が含まれていたかどうかを判定する。付加情報に複写を禁止する情報が含まれていない場合、ステップS2408に処理が進む。
【0138】
ステップS2407において、LVBC抽出処理部3309がデコードして取り出した付加情報に複写を禁止する情報が含まれていると判定した場合、ジョブ制御部3320は、複写動作の停止を決定する。そして、ジョブ制御部3320は、ジョブをキャンセルすることにより、プリンタ部3203の複写動作を停止する。その際に、ジョブ制御部3320は、図14に示すダイアログボックス41を操作部3201に表示し、印刷を停止することをユーザに知らせる。
【0139】
ステップS2408において、ジョブ制御部3320は、プリンタ部3203に原稿画像データの印刷開始の指令を送る。
【0140】
プリンタ部3203が、スキャナ画像処理部3312から既に原稿画像データを受け取っている場合に、プリンタ部3203は、その原稿画像データの印刷を開始する。
【0141】
一方、プリンタ部3203が、スキャナ画像処理部3312から原稿画像データを受け取っていない場合には、プリンタ部3203は、スキャナ画像処理部3312から原稿画像データを受け取った後に、その原稿画像データの印刷を開始する。
【0142】
ステップS2409において、ジョブ制御部3320は、スキャナ部3202がスキャンする原稿の残り枚数は1枚以上あるか否かを判定する。
【0143】
ステップS2409で、スキャナ部3202がスキャンする原稿の残り枚数は1枚以上ないと判定された場合には、処理が終了する。
【0144】
一方、ステップS2409で、スキャナ部3202がスキャンする原稿の残り枚数は1枚以上あると判定された場合には、ステップS2301に処理が進む。
【0145】
ステップS2410において、2次元コード抽出処理部3310が原稿画像データに2次元コードが埋め込まれていると判定した場合にはステップS2411に処理が進む。
【0146】
ステップS2410において、2次元コード抽出処理部3310が原稿画像データに2次元コードが埋め込まれていないと判定した場合には、ステップS2414に処理が進む。
【0147】
ステップS2411において、2次元コード抽出処理部3310は、原稿画像データから検出した2次元コードに対してデコード処理を行う。デコード処理の完了後、ステップS2412に処理が進む。
【0148】
ステップS2412において、ジョブ制御部3320は、2次元コード抽出処理部3310のデコード処理が成功して2次元コードから付加情報を取り出すことができたかを判定する。ステップS2412で、2次元コードから付加情報を取り出すことができてデコードが成功したと判定された場合、ステップS2413に処理が進む。
【0149】
ステップS2412において、2次元コード抽出処理部3310によるデコード処理が失敗したと判定された場合、LVBCに複写禁止の付加情報が埋め込まれている可能性があるため、ジョブ制御部3320は、複写動作の停止を決定する。そして、ジョブ制御部3320は、ジョブをキャンセルすることにより、プリンタ部3203の複写動作を停止する。その際に、ジョブ制御部3320は、図14に示すダイアログボックス41を操作部3201に表示し、印刷を停止することをユーザに知らせる。
【0150】
ステップS2413において、2次元コード抽出処理部3310が、2次元コードをデコードして取り出した付加情報に複写を禁止する情報が含まれているかどうかを判定する。付加情報に複写を禁止する情報が含まれていない場合でも、2次元コードは改竄耐性が弱いので、LVBCの付加情報を元に、複写を制御するために、ステップS2414に処理が進む。
【0151】
ステップS2413において、2次元コード抽出処理部3310が2次元コードをデコードして取り出した付加情報に複写を禁止する情報が含まれている場合、ジョブ制御部3320は、複写動作の停止を決定する。そして、ジョブ制御部3320は、ジョブをキャンセルすることにより、プリンタ部3203の複写動作を停止する。
【0152】
ステップS2414において、LVBC抽出処理部3309が原稿画像データにLVBCが埋め込まれていると判定した場合にはステップS2405に処理が進む。
【0153】
ステップS2414において、LVBC抽出処理部3309が原稿画像データにLVBCが埋め込まれていない判定した場合にはステップS2408に処理が進む。
【0154】
このように、本実施形態によれば、LVBCの検出とデコードの処理が、2次元コードの検出とデコード処理が並列に行われる場合、以下のことが可能である。すなわち、LVBCの処理が2次元コードの処理よりも先に完了する場合は、2次元コードの処理の影響を受けずに次の処理に進むことができる。
【0155】
さらに、本実施形態によれば、2次元コードの処理がLVBCの処理より先に完了する場合、2次元コードだけでなく、LVBCも検出とデコードすることで、2次元コードが改竄された場合の誤検知を防ぐことができる。
【0156】
本発明では、例えば、LVBCの検出とデコード処理が完了した場合に、2次元コードの検出とデコード処理が完了していなくても、プリンタ部3203により、スキャナ部3202によりスキャンされた画像の印刷が開始されるのは以下の場合である。
【0157】
すなわち、LVBCの検出とデコード処理の結果、スキャナ部3202によりスキャンされた画像の印刷(複写)が許可されていることを示す情報が得られた場合に限って、スキャナ部3202によりスキャンされた画像の印刷が開始されても良い。
【0158】
したがって、LVBCの検出とデコード処理の結果、スキャナ部3202によりスキャンされた画像の印刷(複写)が禁止されていることを示す情報が得られた場合に、スキャナ部3202によりスキャンされた画像の印刷は開始されない。
【0159】
また、本発明において、LVBCの改竄耐性が強く、二次元コードの改竄耐性が弱いという両方の条件が揃わない場合には、以下のように画像処理装置が設定されても良い。すなわち、LVBCの検出とデコード処理が完了した場合に、2次元コードの検出とデコード処理が完了していなくても、プリンタ部3203により、スキャナ部3202によりスキャンされた画像の印刷が開始されることはしないと設定されても良い。
【0160】
(その他の実施形態)
前述した実施形態の機能を実現するように前述した実施形態の構成を動作させるプログラムを記憶媒体に記憶させ、該記憶媒体に記憶されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も上述の実施形態の範疇に含まれる。また、前述のプログラムが記憶された記憶媒体はもちろんそのプログラム自体も上述の実施形態に含まれる。
【0161】
かかる記憶媒体としては、例えばフロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性メモリーカード、ROMなど、コンピュータで読み取り可能なものを用いることができる。
【0162】
また、前述の記憶媒体に記憶されたプログラム単体で処理を実行しているものに限らず、他のソフトウェア、拡張ボードの機能と共同して、OS上で動作し前述の実施形態の動作を実行するものも前述した実施形態の範疇に含まれる。
【符号の説明】
【0163】
111 領域
112 印刷物
113 LVBC
221 2次元コード
222 印刷物
331 2次元コード
332 印刷物
【特許請求の範囲】
【請求項1】
スキャンされた画像から第1のコードを検出してデコードする処理を行う第1の手段と、
前記スキャンされた画像から第2のコードを検出してデコードする処理を行う第2の手段とを備え、
前記第1の手段における前記処理と、前記第2の手段における前記処理とは並列して行われ、さらに、前記第1の手段による前記処理が完了した場合に、前記第2の手段による前記処理が完了していなくても、前記第1の手段における前記処理の結果に基づいて前記スキャンされた画像の印刷を開始することを特徴とする画像処理装置。
【請求項2】
前記第1の手段による前記処理が完了した場合に、前記第2の手段による前記処理が完了していなくても、前記スキャンされた画像の印刷が開始される場合には、前記第2の手段による前記処理を中止することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記第1の手段による前記処理が完了した場合に、前記第2の手段による前記処理が完了していなくても、前記第1の手段における前記処理の結果に基づいて前記スキャンされた画像の印刷を開始するのは、前記第1の手段による前記処理の結果、前記スキャンされた画像の印刷が許可されていることを示す情報が得られた場合に限られることを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記第1の手段による前記処理の結果、前記スキャンされた画像の印刷が禁止されていることを示す情報が得られた場合には、前記第1の手段における前記処理の結果に基づいて前記スキャンされた画像の印刷を開始することはしないことを特徴とする請求項1に記載の画像処理装置。
【請求項5】
前記第1のコードは、前記画像の全面に印刷できる改竄耐性の強いコードであり、前記第2のコードは、切り張り可能な改竄耐性の弱いコードであることを特徴とする請求項1又は請求項2に記載の画像処理装置。
【請求項6】
前記第1のコードは、前記画像の全面に印刷できる改竄耐性の強いコードであり、前記第2のコードは、切り張り可能な改竄耐性の弱いコードであるという両方の条件が揃わない場合には、前記第1の手段による前記処理が完了した場合に、前記第2の手段による前記処理が完了していなくても、前記第1の手段における前記処理の結果に基づいて前記スキャンされた画像の印刷を開始することはしないことを特徴とする請求項5に記載の画像処理装置。
【請求項7】
前記第1の手段は、ハードデコーダーであり、前記第2の手段は、ソフトデコーダーであることを特徴とする請求項6に記載の画像処理装置。
【請求項8】
スキャンされた画像から第1のコードを検出してデコードする処理を行う第1のステップと、
前記スキャンされた画像から第2のコードを検出してデコードする処理を行う第2のステップとを備え、
前記第1のステップにおける前記処理と、前記第2のステップにおける前記処理とは並列して行われ、さらに、前記第1のステップによる前記処理が完了した場合に、前記第2のステップによる前記処理が完了していなくても、前記第1のステップにおける前記処理の結果に基づいて前記スキャンされた画像の印刷を開始することを特徴とする画像処理方法。
【請求項9】
前記第1のステップによる前記処理が完了した場合に、前記第2のステップによる前記処理が完了していなくても、前記スキャンされた画像の印刷が開始される場合には、前記第2のステップによる前記処理を中止することを特徴とする請求項8に記載の画像処理方法。
【請求項10】
前記第1のステップによる前記処理が完了した場合に、前記第2のステップによる前記処理が完了していなくても、前記第1のステップにおける前記処理の結果に基づいて前記スキャンされた画像の印刷を開始するのは、前記第1のステップによる前記処理の結果、前記スキャンされた画像の印刷が許可されていることを示す情報が得られた場合に限られることを特徴とする請求項8に記載の画像処理方法。
【請求項11】
前記第1のステップによる前記処理の結果、前記スキャンされた画像の印刷が禁止されていることを示す情報が得られた場合には、前記第1のステップにおける前記処理の結果に基づいて前記スキャンされた画像の印刷を開始することはしないことを特徴とする請求項8に記載の画像処理方法。
【請求項12】
前記第1のコードは、前記画像の全面に印刷できる改竄耐性の強いコードであり、前記第2のコードは、切り張り可能な改竄耐性の弱いコードであることを特徴とする請求項8又は請求項9に記載の画像処理方法。
【請求項13】
前記第1のコードは、前記画像の全面に印刷できる改竄耐性の強いコードであり、前記第2のコードは、切り張り可能な改竄耐性の弱いコードであるという両方の条件が揃わない場合には、前記第1のステップによる前記処理が完了した場合に、前記第2のステップによる前記処理が完了していなくても、前記第1のステップにおける前記処理の結果に基づいて前記スキャンされた画像の印刷を開始することはしないことを特徴とする請求項12に記載の画像処理方法。
【請求項14】
前記第1のステップは、ハードデコーダーにより実行され、前記第2のステップは、ソフトデコーダーにより実行されることを特徴とする請求項13に記載の画像処理方法。
【請求項15】
請求項8乃至14のいずれかに記載の画像処理方法をコンピュータに実行させるためのプログラム。
【請求項16】
請求項15に記載のプログラムを記憶したコンピュータで読み取り可能な記憶媒体。
【請求項1】
スキャンされた画像から第1のコードを検出してデコードする処理を行う第1の手段と、
前記スキャンされた画像から第2のコードを検出してデコードする処理を行う第2の手段とを備え、
前記第1の手段における前記処理と、前記第2の手段における前記処理とは並列して行われ、さらに、前記第1の手段による前記処理が完了した場合に、前記第2の手段による前記処理が完了していなくても、前記第1の手段における前記処理の結果に基づいて前記スキャンされた画像の印刷を開始することを特徴とする画像処理装置。
【請求項2】
前記第1の手段による前記処理が完了した場合に、前記第2の手段による前記処理が完了していなくても、前記スキャンされた画像の印刷が開始される場合には、前記第2の手段による前記処理を中止することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記第1の手段による前記処理が完了した場合に、前記第2の手段による前記処理が完了していなくても、前記第1の手段における前記処理の結果に基づいて前記スキャンされた画像の印刷を開始するのは、前記第1の手段による前記処理の結果、前記スキャンされた画像の印刷が許可されていることを示す情報が得られた場合に限られることを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記第1の手段による前記処理の結果、前記スキャンされた画像の印刷が禁止されていることを示す情報が得られた場合には、前記第1の手段における前記処理の結果に基づいて前記スキャンされた画像の印刷を開始することはしないことを特徴とする請求項1に記載の画像処理装置。
【請求項5】
前記第1のコードは、前記画像の全面に印刷できる改竄耐性の強いコードであり、前記第2のコードは、切り張り可能な改竄耐性の弱いコードであることを特徴とする請求項1又は請求項2に記載の画像処理装置。
【請求項6】
前記第1のコードは、前記画像の全面に印刷できる改竄耐性の強いコードであり、前記第2のコードは、切り張り可能な改竄耐性の弱いコードであるという両方の条件が揃わない場合には、前記第1の手段による前記処理が完了した場合に、前記第2の手段による前記処理が完了していなくても、前記第1の手段における前記処理の結果に基づいて前記スキャンされた画像の印刷を開始することはしないことを特徴とする請求項5に記載の画像処理装置。
【請求項7】
前記第1の手段は、ハードデコーダーであり、前記第2の手段は、ソフトデコーダーであることを特徴とする請求項6に記載の画像処理装置。
【請求項8】
スキャンされた画像から第1のコードを検出してデコードする処理を行う第1のステップと、
前記スキャンされた画像から第2のコードを検出してデコードする処理を行う第2のステップとを備え、
前記第1のステップにおける前記処理と、前記第2のステップにおける前記処理とは並列して行われ、さらに、前記第1のステップによる前記処理が完了した場合に、前記第2のステップによる前記処理が完了していなくても、前記第1のステップにおける前記処理の結果に基づいて前記スキャンされた画像の印刷を開始することを特徴とする画像処理方法。
【請求項9】
前記第1のステップによる前記処理が完了した場合に、前記第2のステップによる前記処理が完了していなくても、前記スキャンされた画像の印刷が開始される場合には、前記第2のステップによる前記処理を中止することを特徴とする請求項8に記載の画像処理方法。
【請求項10】
前記第1のステップによる前記処理が完了した場合に、前記第2のステップによる前記処理が完了していなくても、前記第1のステップにおける前記処理の結果に基づいて前記スキャンされた画像の印刷を開始するのは、前記第1のステップによる前記処理の結果、前記スキャンされた画像の印刷が許可されていることを示す情報が得られた場合に限られることを特徴とする請求項8に記載の画像処理方法。
【請求項11】
前記第1のステップによる前記処理の結果、前記スキャンされた画像の印刷が禁止されていることを示す情報が得られた場合には、前記第1のステップにおける前記処理の結果に基づいて前記スキャンされた画像の印刷を開始することはしないことを特徴とする請求項8に記載の画像処理方法。
【請求項12】
前記第1のコードは、前記画像の全面に印刷できる改竄耐性の強いコードであり、前記第2のコードは、切り張り可能な改竄耐性の弱いコードであることを特徴とする請求項8又は請求項9に記載の画像処理方法。
【請求項13】
前記第1のコードは、前記画像の全面に印刷できる改竄耐性の強いコードであり、前記第2のコードは、切り張り可能な改竄耐性の弱いコードであるという両方の条件が揃わない場合には、前記第1のステップによる前記処理が完了した場合に、前記第2のステップによる前記処理が完了していなくても、前記第1のステップにおける前記処理の結果に基づいて前記スキャンされた画像の印刷を開始することはしないことを特徴とする請求項12に記載の画像処理方法。
【請求項14】
前記第1のステップは、ハードデコーダーにより実行され、前記第2のステップは、ソフトデコーダーにより実行されることを特徴とする請求項13に記載の画像処理方法。
【請求項15】
請求項8乃至14のいずれかに記載の画像処理方法をコンピュータに実行させるためのプログラム。
【請求項16】
請求項15に記載のプログラムを記憶したコンピュータで読み取り可能な記憶媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2010−93774(P2010−93774A)
【公開日】平成22年4月22日(2010.4.22)
【国際特許分類】
【出願番号】特願2009−90172(P2009−90172)
【出願日】平成21年4月2日(2009.4.2)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成22年4月22日(2010.4.22)
【国際特許分類】
【出願日】平成21年4月2日(2009.4.2)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]