(57)【要約】【課題】  印刷物の画像情報に埋め込まれた付加情報の位置の正確な検出を可能にする。【解決手段】  画像情報に付加情報を埋め込む際に、付加情報多重化部14は、画像情報を疑似中間調処理する量子化閾値を付加情報に応じて制御して、量子化された複数画素で構成される複数の符号パターンを形成することで、疑似中間調処理された画像情報に付加情報を埋め込む。付加情報は、画像情報上の、付加情報の位置を検出するための位置検出情報を含む。【選択図】  図8
2008219152.tif 000002
【特許請求の範囲】
【請求項１】
画像情報に付加情報を埋め込む画像処理装置であって、
前記画像情報を疑似中間調処理する中間調処理手段と、
前記付加情報に応じて前記中間調処理手段の量子化閾値を制御して、量子化された複数画素で構成される複数の符号パターンを形成することで、前記疑似中間調処理された画像情報に前記付加情報を埋め込む埋込手段とを有し、
前記付加情報は、前記画像情報上の、前記付加情報の位置を検出するための位置検出情報を含むことを特徴とする画像処理装置。
【請求項２】
前記付加情報は、前記画像情報に前記付加情報を埋め込んだ向きを検出するための方向判定情報を含むことを特徴とする請求項1に記載された画像処理装置。
【請求項３】
画像情報に付加情報を埋め込む画像処理装置であって、
前記画像情報を疑似中間調処理する中間調処理手段と、
前記付加情報に応じて前記中間調処理手段の量子化閾値を制御して、量子化された複数画素で構成される複数の符号パターンを形成することで、前記疑似中間調処理された画像情報に前記付加情報を埋め込む埋込手段とを有し、
前記埋込手段が形成する符号パターンは、印刷物から前記画像情報に埋め込まれた付加情報を抽出する際に、前記印刷物の複数の向きにおいて抽出可能であることを特徴とする画像処理装置。
【請求項４】
前記符号パターンは、前記符号パターンを構成する複数画素を複数のブロックに分割したサブブロックのパターンの組み合わせによって構成されることを特徴とする請求項3に記載された画像処理装置。
【請求項５】
前記サブブロックのパターンの組み合わせは、前記サブブロックのパターンを隣接させた場合に、隣接するサブブロックのパターンの一部同士が前記符号パターンを構成しないことを特徴とする請求項4に記載された画像処理装置。
【請求項６】
前記符号パターンを回転した場合、回転後の符号パターンは、回転前の前記複数の符号パターンの何れかに一致することを特徴とする請求項3から請求項5の何れか一項に記載された画像処理装置。
【請求項７】
印刷物の画像情報に埋め込まれた付加情報を抽出する画像処理装置であって、
前記印刷物の画像情報を読み取る読取手段と、
前記読み取った画像情報から、前記付加情報の内容を判定するための判定量を算出する算出手段と、
前記判定量から前記付加情報が埋め込まれた、前記画像情報上の位置を検出する検出手段と、
前記検出の結果と前記判定量に基づき、前記画像情報から前記付加情報を分離する分離手段とを有することを特徴とする画像処理装置。
【請求項８】
さらに、前記分離した付加情報から、前記画像情報に前記付加情報が埋め込まれた向きを判定し、前記向きと前記分離した付加情報から、前記画像情報に埋め込まれた付加情報を抽出する抽出手段を有することを特徴とする請求項7に記載された画像処理装置。
【請求項９】
画像情報に付加情報を埋め込む画像処理方法であって、
前記画像情報を疑似中間調処理する中間調処理ステップと、
前記付加情報に応じて前記中間調処理ステップの量子化閾値を制御して、量子化された複数画素で構成される複数の符号パターンを形成することで、前記疑似中間調処理された画像情報に前記付加情報を埋め込む埋込ステップとを有し、
前記付加情報は、前記画像情報上の、前記付加情報の位置を検出するための位置検出情報を含むことを特徴とする画像処理方法。
【請求項１０】
画像情報に付加情報を埋め込む画像処理方法であって、
前記画像情報を疑似中間調処理する中間調処理ステップと、
前記付加情報に応じて前記中間調処理ステップの量子化閾値を制御して、量子化された複数画素で構成される複数の符号パターンを形成することで、前記疑似中間調処理された画像情報に前記付加情報を埋め込む埋込ステップとを有し、
前記埋込ステップで形成される符号パターンは、印刷物から前記画像情報に埋め込まれた付加情報を抽出する際に、前記印刷物の複数の向きにおいて抽出可能であることを特徴とする画像処理方法。
【請求項１１】
印刷物の画像情報に埋め込まれた付加情報を抽出する画像処理方法であって、
前記印刷物の画像情報を読み取り、
前記読み取った画像情報から、前記付加情報の内容を判定するための判定量を算出し、
前記判定量から前記付加情報が埋め込まれた、前記画像情報が表す画像上の位置を検出し、
前記検出の結果と前記判定量に基づき、前記画像情報から前記付加情報を分離することを特徴とする画像処理方法。
【請求項１２】
コンピュータ装置を制御して、請求項1から請求項8の何れか一項に記載された画像処理装置の各手段として機能させることを特徴とするコンピュータプログラム。
【請求項１３】
請求項12に記載されたコンピュータプログラムが記録されたことを特徴とするコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像情報に付加情報を埋め込む画像処理、並びに、画像情報に埋め込まれた付加情報を抽出する画像処理に関する。
【背景技術】
【０００２】
画像の不正なコピーや改竄などの防止を目的として、画像に特別な情報を埋め込む研究が盛んに行われている。このような技術は、電子透かしと呼ばれる。例えば、写真、絵画などの電子化した画像中に、その著作者名や使用許可に関する情報などの付加情報を埋め込むことが知られている。近年、付加情報を視覚的に目立たないように埋め込んだ画像を、インターネットなどのネットワークを介して、流通させる技術が標準化されつつある。
【０００３】
また、紙に印刷した画像などの印刷物から、画像を印刷した印刷機器の種類や機体番号などを特定する技術も研究されている。このような技術は、複写機やプリンタなどの画像形成装置の高画質化に伴い、紙幣、印紙、有価証券などの偽造を防止する目的で用いられる。
【０００４】
例えば、特許文献1は、画像の視覚的に感度の低い色差成分、および、彩度成分の高周波域の部分に付加情報を埋め込む技術を開示する。しかし、この技術によって、音声情報やその他の大容量の情報を、印刷の際に目立たないように画像中に埋め込むことは、非常に困難である。
【０００５】
特許文献2は、誤差拡散法によって生じるテクスチャを利用して、通常の疑似中間調処理では発生しない量子化値の組み合わせを人工的に作成し、その量子化値から作成した符号を画像に埋め込む方法を開示する。この方法によれば、テクスチャの形状が微視的に変化するだけで、元の画像と比較して、視覚的な画質は殆ど変化しない。また、誤差拡散法において量子化閾値を変更することで、極めて容易に異種信号の多重化を実現することができる。
【０００６】
ここで、任意の画像に付加情報を埋め込んで印刷し、さらに、その印刷物から埋め込んだ付加情報を取り出す画像処理システムを説明する。図1は任意の画像に付加情報を埋め込んで印刷する画像処理装置の構成を示すブロック図である。
【０００７】
画像処理装置は、入力端子191から任意の多階調の画像情報を入力し、入力端子192から当該画像情報に埋め込む付加情報を入力する。付加情報は、入力端子191から入力する画像情報に関する著作権、撮影日時、撮影場所、撮影者などの諸情報や、あるいは、当該画像情報に全く関係しない音声情報やテキスト情報などである。
【０００８】
付加情報多重化部193は、入力された画像情報中に、入力された付加情報を視覚的に目立たないように埋め込む。すなわち、付加情報多重化部193は、入力された画像情報をN×N画素のブロックに分割し、ブロックごとに付加情報を埋め込む。
【０００９】
プリンタ194は、付加情報が埋め込まれた画像情報を印刷媒体に印刷して印刷画像195を出力する。なお、プリンタ194は、インクジェットプリンタやレーザビームプリンタなど、疑似中間調処理によって、階調表現が可能なプリンタである。
【００１０】
図2は、図1に示す画像処理装置の出力である印刷画像195から、画像情報に埋め込まれた付加情報を取り出す画像処理装置の構成を示すブロック図である。
【００１１】
画像処理装置は、イメージスキャナ201によって、印刷媒体に印刷された画像情報の画像データを得る。付加情報分離部202は、画像データを入力して、公知の画像処理により、付加情報が埋め込まれた画像領域を検出する。代表的な検出方法としては、非画像領域と画像領域の境界を濃度差によって検知する方法がある。そして、付加情報分離部202は、画像領域を検出した後、同領域に埋め込まれた付加情報を分離し、分離した付加情報を出力端子203に出力する。
【００１２】
しかし、上記の画像処理システムには次の問題がある。
【００１３】
まず、入力端子191から入力される画像情報の中には、画像中の濃度差によって画像領域を検出する方法では画像領域の境界が検出できないものがある。画像領域の境界が不明瞭な画像でも、付加情報は目立たないように画像情報中に埋め込まれているので、画像領域を正しく設定する必要がある。例えば、印刷画像195をイメージスキャナ201で読み取る際に、画像領域をトリミングして画像領域を設定すればよいが、ユーザは、どの範囲をトリミングして画像領域に設定すればよいのかわからない場合がある。
【００１４】
さらに、入力画像をN×N画素の複数のブロックに分割し、複数のブロックそれぞれに付加情報から分割された情報が多重化されているため、付加情報分離部202は、各ブロックの領域を多くとも数画素程度の誤差で把握する必要がある。この誤差が大きくなると、付加情報の検出精度が著しく低下し、正確な付加情報を復元することが困難になる。
【００１５】
特許文献3は、付加情報を埋め込んだ画像領域の周囲に基準マークを所定間隔で配置し印刷する方法を開示する。こうすれば、印刷画像をイメージスキャナで読み取った後、読み取った画像情報から基準マークを検出して、基準マークに従い歪を補正してブロックの領域を高精度に検出することができる。
【００１６】
図3は特許文献3による印刷物の概要を示す図である。印刷媒体232の内側に画像情報231を形成する。そして、画像情報232の周囲に基準マーク233を形成する。印刷媒体232に基準マーク233を形成することで、基準マーク233を検出してN×N画素のブロック234を高精度に検出することができる。
【００１７】
近年、複写機やプリンタなどの画像形成装置の高機能化に伴い、ディジタルカメラのような撮像装置で撮影した画像を縁なし印刷する機能が装備され、縁なし印刷を行うユーザが増えている。縁なし印刷を実現するために、印刷しようとする画像を印刷媒体より大きなサイズにして、画像の縁が切り取られる形態で印刷する装置が多い。
【００１８】
画像の縁が切り取られる形態で縁なし印刷を実現する装置では、付加情報を埋め込んだ画像領域の検出のために、画像領域の周囲に基準マークを印刷しようとしても、基準マークは切り取られてしまう。
【００１９】
図4は特許文献3による印刷物を縁なし印刷した様子を示す図である。縁なし印刷すると、画像情報231の周囲に所定間隔で配置した基準マーク233は、印刷媒体232の外に位置し、基準マーク233は形成されない。勿論、基準マーク233がないため、N×N画素のブロック234を高精度に検出することはできない。言い換えれば、画像領域の周囲に基準マークを配置する方法は、縁なし印刷を考慮すると使えない。
【００２０】
勿論、印刷媒体232のサイズと、印刷しようとする画像のサイズを一致させて、印刷媒体232と画像の位置がずれないように印刷することができれば、基準マーク233を含む画像を印刷媒体232に印刷することができる。しかし、プリンタの機構上、印刷媒体232と画像の位置がずれないように印刷することは極めて難しい。
【００２１】
また、特許文献4は、印刷画像領域と同じサイズの領域に付加情報を埋め込み、印刷画像領域のエッジラインを検出して、印刷画像領域と同じサイズの領域に埋め込まれた付加情報を検出する技術を開示する。
【００２２】
図5は特許文献4による印刷物の概要を示す図である。印刷媒体232の内側に印刷画像領域が設定され画像情報231が形成される。画像情報231のサイズに合わせてN×N画素のブロック234が設定されているので、画像情報231のエッジ（印刷画像領域のエッジライン）を検出することができれば、N×N画素のブロック234を高精度に検出することができる。
【００２３】
図6は特許文献4による印刷物を縁なし印刷した様子を示す図である。縁なし印刷すると、画像の縁が切り取られるため、印刷画像から画像情報のエッジを検出したとしても、印刷前の画像情報231のエッジとは異なり、N×N画素のブロック234を高精度に検出することはできない。
【００２４】
また、印刷画像をイメージスキャナで読み取る際、ユーザにとって、印刷媒体の向きを意識せずに画像を読み取らせ、ブロックを高精度に検出できることが望まれる。
【００２５】
あるいは、QRコード（登録商標）のような二次元コードを使用すれば、ブロックの位置と印刷媒体の向きに関わらず、埋め込まれた情報を抽出することができる。しかし、二次元コードは、人の目にも見える可視マーカを埋め込むため、写真や絵画の意匠に影響が及ぶ欠点がある。
【００２６】
【特許文献１】特開平7-123244号公報
【特許文献２】特開2001-148778公報
【特許文献３】特開2003-110846公報
【特許文献４】特開2005-182164公報
【発明の開示】
【発明が解決しようとする課題】
【００２７】
本発明は、印刷物の画像情報に埋め込まれた付加情報の位置の正確な検出を可能にすることを目的とする。
【００２８】
また、印刷物の向きに影響されずに、印刷物の画像情報に埋め込まれた付加情報の位置の正確な検出を可能にすることを目的とする。
【課題を解決するための手段】
【００２９】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００３０】
本発明にかかる画像処理は、画像情報に付加情報を埋め込む際に、前記画像情報を疑似中間調処理し、前記付加情報に応じて前記中間調処理の量子化閾値を制御して、量子化された複数画素で構成される複数の符号パターンを形成することで、前記疑似中間調処理された画像情報に前記付加情報を埋め込み、前記付加情報は、前記画像情報上の、前記付加情報の位置を検出するための位置検出情報を含むことを特徴とする。
【００３１】
また、画像情報に付加情報を埋め込む画像処理方法であって、前記画像情報を疑似中間調処理し、前記付加情報に応じて前記中間調処理ステップの量子化閾値を制御して、量子化された複数画素で構成される複数の符号パターンを形成することで、前記疑似中間調処理された画像情報に前記付加情報を埋め込み、前記形成される符号パターンは、印刷物から前記画像情報に埋め込まれた付加情報を抽出する際に、前記印刷物の複数の向きにおいて抽出可能であることを特徴とする。
【００３２】
また、印刷物の画像情報に埋め込まれた付加情報を抽出する際に、前記印刷物の画像情報を読み取り、前記読み取った画像情報から、前記付加情報の内容を判定するための判定量を算出し、前記判定量から前記付加情報が埋め込まれた、前記画像情報が表す画像上の位置を検出し、前記検出の結果と前記判定量に基づき、前記画像情報から前記付加情報を分離することを特徴とする。
【発明の効果】
【００３３】
本発明によれば、印刷物の画像情報に埋め込まれた付加情報の位置の正確な検出を可能にすることができる。従って、例えば、縁なし印刷された印刷物の画像に埋め込まれた付加情報の位置を正確に検出することができる。
【００３４】
また、印刷物の向きに影響されずに、印刷物の画像情報に埋め込まれた付加情報の位置の正確な検出を可能にすることができる。従って、例えば、ユーザは、付加情報を抽出する際に、印刷物の向きを意識せずに画像を読み取らせることができる。
【発明を実施するための最良の形態】
【００３５】
以下、本発明にかかる実施例の画像処理を図面を参照して詳細に説明する。
【実施例１】
【００３６】
［ハードウェアの構成］
図7は後述する画像処理装置の各処理部の機能を実現するコンピュータ装置のような情報処理装置の構成例を示すブロック図である。
【００３７】
CPU 22は、RAM 24をワークエリアとして、ROM 23やハードディスクドライブ(HDD)25に格納されたプログラムを実行し、システムバス20を介して各構成を制御するとともに、後述する画像処理を実行する。CPU 22は、ビデオインタフェイス(I/F) 26に接続されたモニタ19に処理経過や結果、ユーザインタフェイスを表示し、キーボードI/F 27に接続されたキーボード16やマウス17からユーザ指示を入力する。
【００３８】
さらに、CPU 22は、HDD 25に格納された画像、ネットワークインタフェイスカード(NIC)28を介して接続されたネットワーク18上のサーバから取得した画像などに画像処理を施す。そして、画像処理した画像を、USBなどの汎用I/F 29に接続されたプリンタ15に画像を出力し、印刷させることができる。また、汎用I/F 29に接続されたイメージスキャナ21を制御して、読取台またはドキュメントフィーダに載置された原稿の画像を読み取らせ、原稿画像をRAM 24およびHDD 25に格納することができる。
【００３９】
［付加装置］
次に、画像に付加情報を埋め込む画像処理装置（以下、付加装置）を説明する。図8は付加装置の機能構成例を示すブロック図である。
【００４０】
画像形成部13は、入力端子11から入力した多階調の画像情報D1を所定の解像度に変換する解像度変換機能を有する。付加情報多重化部14は、解像度変換された画像情報D2に入力端子12から入力される付加情報Xを埋め込む機能を有する。付加情報Xが埋め込まれた画像情報D3は、プリンタ15によって印刷媒体に印刷されて印刷画像16になる。なお、入力端子11は、例えばHDD 25、NIC 28、または、汎用I/F 29に相当する。また、入力端子12は、例えばHDD 25、NIC 28、汎用I/F 29、または、キーボードI/F 27に相当する。
【００４１】
付加情報Xは、通常、画像情報D1に関連する情報で、例えば画像情報D1の著作権に関する情報、画像ファイルの種類、画像サイズ、画像情報自体のデータ、画像情報のヒストグラム、画像の補正内容、画像のExif情報である。また、画像情報D1に関連しない情報、例えば音声情報やテキスト情報などを付加情報Xにしたり、付加情報Xに加えてもよい。
【００４２】
例えば、撮像装置で撮影したJPEG画像がHDD 25に保存されていて、JPEG画像はExif情報を含むとする。ユーザは、キーボード16やマウス17を操作してHDD 25に保存されたJPEG画像を選択する。CPU 22は、選択されたJPEG画像をRAM 24のワークエリアに保存して、RAM24に保存したJPEG画像とExif情報をモニタ19に表示する。ユーザは、キーボート16やマウス17を操作して、モニタ19に表示された画像の印刷設定と印刷指示を行う。印刷設定には、記録紙の種類とサイズ、印刷品質、レイアウト（縁ありなしを含む）、各種補正などが含まれる。
【００４３】
印刷が指示されると、例えば、入力端子11には画像情報D1としてJPEG画像が入力され、入力端子12には付加情報XとしてExif情報が入力される。
【００４４】
なお、付加装置は、コンピュータ装置とは限らず、スキャナや、HDDレコーダ、ディジタルテレビ、ディジタルカメラ、携帯電話など画像情報D1をプリンタ15に送信可能な装置であればよい。また、付加装置がプリンタ15の一部として含まれる構成でも構わない。付加装置がプリンタ15に含まれる場合、キーボート16とマウス17の代わりに、プリンタ操作部のタッチパネルやボタンなどの入力インタフェイスによって画像情報D1の選択、印刷指示などを行う。
【００４５】
また、入力端子11から入力する画像情報D1は、JPEG画像に限らず、ビットマップ形式の画像、PNG形式の画像、動画をキャプチャした静止画などの画像でもよい。同様に、入力端子12から入力する付加情報Xは、Exif情報に限らない。例えば、WAV形式など音声情報、画像を撮影した日時などの日付情報、撮影位置を示すGPS情報、MPEG形式の動画情報、静止画情報、印刷設定情報、画像情報D1のヒストグラム、識別情報など、電子化されたデータであればよい。
【００４６】
●画像形成部13
画像形成部13は、印刷媒体に画像を印刷するために、画像情報D1を記録紙サイズやレイアウト情報などに従い、印刷サイズに合わせる解像度変換を行う。解像度変換手段としては、公知の最近隣補間、線形補間など、何れの方法を用いてもよい。
【００４７】
例えば、画像情報D1としてJPEG画像が入力され、画像情報D1をL版の記録紙に縁あり印刷する場合は、L版の記録紙サイズよりも小さい画像領域を設定し、画像領域に合わせてJPEG画像を線形補間処理して解像度変換する。また、JPEG画像の画像情報D1をL版の記録紙に縁なし印刷する場合は、L版の記録紙サイズよりも大きい画像領域を設定し、画像領域に合わせてJPEG画像を線形補間処理して解像度変換する。なお、記録紙の指定、縁あり印刷/縁なし印刷の指示は、ユーザがキーボード16またはマウス17を介して入力する。
【００４８】
●付加情報多重化部14
付加情報多重化部14は、印刷画像16において、埋め込まれた付加情報Xが人の目に目立たないように、画像情報D2に付加情報Xを埋め込む。つまり、ブロックのテクスチャの周波数成分を解析することで付加情報Xの復元が可能になるように、画像情報D2のある領域をN×N画素の複数のブロックに分割し、各ブロックの誤差拡散法の量子化閾値を所定情報量の付加情報Xに応じて変化させる。この処理は、ブロックごとに通常の誤差拡散法では発生し得ないテクスチャを生じさせることができるので、人の目には目立たないように、付加情報Xを画像情報D2に埋め込むことが可能になる。
【００４９】
また、ブロックの符号パターンは、サブブロックのパターンを組み合わせることにより一つの符号を示す符号パターンである。図9はブロックの符号パターンを説明する図である。ブロック181は、四つのサブブロック182〜185の集合として構成される。サブブロック182〜185はそれぞれ異なるパターンをもち、四つのサブブロックを組み合わせることによって、一つの符号を示す符号パターンである。なお、図9には、4×4画素のサブブロックの四つの集合を一つの符号パターンとする例を示したが、これに限定されない。例えば、サブブロックの画素数やサブブロックの集合数を変更しても、サブブロックのパターンの組み合わせで一つの符号を示す符号パターンであれば構わない。
【００５０】
さらに、サブブロックのパターンは、回転しても同じパターンと認識されるパターンである。図10はサブブロックのパターンを詳細に示す図である。サブブロック182〜185は、上下反転しても同じパターンになる回転対称のパターンを有する。このようなサブブロックを組み合わせることで、複数の符号パターンを設定する。なお、サブブロック182〜185のパターンは、図10に限定されず、上下反転しても同じパターンと認識され、互いに異なるパターンであれば構わない。
【００５１】
さらに、ブロックの符号パターンは、回転しても回転前の符号パターンの何れかになる符号パターンである。図11はブロックの符号パターンを説明する図である。符号パターン221〜224を上下反転すると、それぞれ符号パターン224〜221になる。なお、符号パターンは、図11に限定されず、回転した場合に回転前の符号パターンの何れかになる符号パターンであれば構わない。例えば、図12はブロックの符号パターンを90度ずつ回転しても、回転前の符号パターンの何れかになる符号パターンを示す図である。
【００５２】
このように、画像情報のブロックに埋め込む符号パターンはサブブロックのパターンを組み合わせることで一つの符号を示す符号パターンである。そして、サブブロックのパターンは回転しても同じパターンと認識されるパターンである。そして、ブロックの符号パターンは回転しても回転前の符号パターンの何れかになる符号パターンである。
【００５３】
なお、付加情報の多重化方法には、公知の方法を用いる。
【００５４】
［付加情報の埋め込み］
図13は画像情報D2と付加情報Xの埋込領域の関係例を示す図である。
【００５５】
画像情報D2の画像サイズH×W画素を2000×3000画素とすると、付加情報多重化部14は、例えば座標(X, Y)=(100, 100)を開始点にする。そして、100×100画素のブロックごとに通常の誤差拡散法では発生し得ないテクスチャを生じさせて、付加情報Xを埋め込む。そして、付加情報を埋め込む領域のサイズを、例えば、BW=1000画素（10ブロック）、BH=1500画素（15ブロック）に設定する。
【００５６】
上記の場合、X軸方向に10ブロック、Y軸方向に15ブロックの100×100画素のブロック（合計10×15ブロック）が配置される。付加情報の埋込領域は、図13に示す四頂点(100, 100)、(1100, 100)、(100, 1600)、(1100, 1600)に囲まれる矩形領域である。
【００５７】
各ブロックに1ビットのデータを埋め込む場合、付加情報X（例えばExif情報）が例えば100ビットの場合は100ビットの情報を1ビットごとに分割する。そして、各ブロックの誤差拡散法の量子化閾値を、当該ブロックに埋め込むビットの値に応じて変化させ、当該ブロックにビットを埋め込む。なお、各ブロックに埋め込み可能な情報量は、1ビットに限らず、複数ビットの情報、つまり所定情報量ごとの付加情報を各ブロックに埋め込んでも構わない。
【００５８】
また、付加情報が埋め込まれたブロックの位置を簡単かつ高精度に検出するために、付加情報の位置を示すマーカとしての役割をもつ付加情報を埋め込んでもよい。図14は付加情報の埋込位置情報を示すマーカ（付加情報）を埋め込んだ様子を示す図である。付加情報埋込領域323の外周部に、1ブロック幅のマーカ埋込領域321を設け、マーカ埋込領域321の内側に本来の付加情報の埋込領域322を設ける。マーカは、例えばすべて‘1’または‘0’を示す。
【００５９】
また、付加情報埋込領域323の外周にマーカを埋め込まなくても、付加情報埋込領域323の四頂点近傍にマーカを埋め込んでもよい。あるいは、付加情報Xを埋め込む先頭ブロックの近傍と末尾ブロックの近傍にマーカを予め埋め込んでもよい。
【００６０】
このように、画像情報D2のサイズW×H画素に合わせてブロックを分割する必要はない。画像情報D2内に付加情報Xの埋込領域を設定し、付加情報Xの埋込領域BW×BH画素に合わせて、N×N画素のブロックを分割する。埋込領域のBW＜画像情報D2のW、BH＜Hとし、BW=nN、BH=mN（n、mは自然数）である。つまり、埋込領域のBW、BHは、ブロックサイズNの倍数になる。
【００６１】
［付加情報の埋込手順］
図15は付加装置の付加情報の埋込手順を示すフローチャートである。
【００６２】
まず、入力端子11から画像情報D1を入力し(S31)、画像形成部13により、画像情報D1のサイズを印刷サイズに変換して画像情報D2を生成する(S32)。
【００６３】
次に、入力端子12から付加情報Xを入力する(S33)。そして、付加情報多重化部14により、画像情報D2に対して付加情報の埋込領域を設定し、埋込領域をN×N画素の複数のブロックに分割する。各ブロックの誤差拡散法の量子化閾値を、埋め込む所定情報量（例えば1ビット）の付加情報Xに応じて変化させ、画像情報D3を生成する(S34)。なお、付加情報Xの入力タイミングは、画像情報D1の入力タイミングと同時でもよいし、予め入力されていてもよい。
【００６４】
そして、付加情報Xを埋め込んだ画像情報D3をプリンタ15に出力し(S35)、印刷画像16を出力させる。
【００６５】
［抽出装置］
次に、印刷画像16から付加情報Xを抽出する画像処理装置（以下、抽出装置）を説明する。図16は抽出装置の構成例を示すブロック図である。
【００６６】
イメージスキャナ21は、印刷画像16を光学的に読み取って画像情報D4を出力する。その際、ユーザは、印刷画像16に埋め込まれた付加情報の向きを意識せずに、印刷画像16をイメージスキャナ21の読取台またはドキュメントフィーダに載置することができる。また、ユーザは、イメージスキャナ21の画像読取範囲を指定する必要はない。
【００６７】
図17はイメージスキャナ21の読取可能範囲70と印刷画像16の関係を説明する図である。イメージスキャナ21は、ユーザから印刷画像16の読み取りを指示されると、付加情報の埋込領域53を有する印刷媒体51の全面を含む、読取可能範囲70で画像を光学的に読み取り、画像情報D4をブロック位置検出部62に出力する。
【００６８】
ブロック位置検出部62は、画像情報D4に多重化された付加情報が埋め込まれた各ブロックの正確な位置を検出する。詳細は後述するが、画像情報D4に対して、一画素および複数画素ずつ位置をずらしながら、付加情報Xの分離に使用するブロック単位のテクスチャの周波数特性を解析して算出した周波数特性量を用いて、ブロックの位置を検出する。あるいは、付加情報Xの符号判定を行う際の符号判定量を用いて、ブロックの位置を検出する。そして、ブロック位置検出部62は、画像情報D4と、検出したブロックの位置を示すブロック位置情報を含む画像情報D5を付加情報分離部63に出力する。
【００６９】
付加情報分離部63は、画像情報D5からブロック位置情報を取り出し、一つまたは複数のブロックの位置に対して、ブロック単位にテクスチャの周波数解析を行う。そして、各ブロックに埋め込まれたブロック単位の符号を判定して、付加情報Yを復元し、付加情報Yを出力端子64に出力する。なお、付加情報の分離方法には公知の方法を用いる。
【００７０】
●付加情報抽出処理
ブロック位置検出部62が検出したブロックの数が、付加装置が付加情報Xを埋め込んだブロックの数と異なれば、画像情報D5から付加情報Yを分離したとしても、復元した付加情報Yは、付加装置が埋め込んだ付加情報Xと異なる。
【００７１】
図18はブロック位置検出部62が検出したブロックの数が、付加装置が付加情報Xを埋め込んだブロックの数と異なる例を示す図である。図18は、イメージスキャナ21の読取可能範囲70が印刷媒体51のサイズよりも大きいと仮定している。つまり、画像情報D4の画像サイズは印刷媒体51のサイズよりも大きい。ブロック位置検出部62は、画像領域D4の全域に埋め込める最大数のブロック位置を検出したとすると、ブロック位置情報は符合52で示すようになる。従って、ブロック位置情報52が示すブロックの数と、付加情報Xが埋め込まれているブロックの数は異なることになる。
【００７２】
ブロック位置検出部62が検出したブロックの数と、付加情報Xが埋め込まれたブロックの数が異なる場合、ブロック位置情報に基づき付加情報Yを分離した後、分離した付加情報Yから付加情報Xを抽出する付加情報抽出処理が必要になる。
【００７３】
付加情報Yから付加情報Xを抽出する付加情報抽出処理は、様々な方法が考えられる。
【００７４】
例えば、付加情報Yを分離する際にブロック単位にテクスチャの周波数解析を行うが、その解析結果の周波数特性量を利用する方法がある。付加情報が埋め込まれた個所と埋め込まれていない個所で周波数特性量が異なる場合、周波数特性値に対して特徴抽出を行い、付加装置が埋め込んだ付加情報Xのブロック位置を検出することができる。
【００７５】
また、付加情報Yを分離する際に、ブロック単位にテクスチャの周波数解析を行い、ブロック単位の符号判定を行うが、符号判定に用いる符号判定量を利用する方法がある。付加情報が埋め込まれた個所と埋め込まれていない個所で符号判定量が異なる場合、符号判定量に対して特徴抽出を行い、付加装置が埋め込んだ付加情報Xのブロック位置を検出することができる。
【００７６】
また、前述したように、付加装置が埋め込んだ付加情報に、付加情報の位置を示すマーカが埋め込まれていれば、付加情報Yを分離した後、付加情報Yからマーカを検出して、付加装置が埋め込んだ付加情報Xのブロック位置を検出することができる。
【００７７】
●方向判定処理
イメージスキャナ21によって、印刷画像16を任意の方向から読み取って付加情報を抽出する場合、印刷画像16の読取方向を判定する方向判定処理が必要になる。
【００７８】
方向判定処理は、ブロック位置検出部62が出力したブロック位置情報に対してブロック単位の符号判定を行って分離した付加情報Yから、埋め込まれた付加情報Xの向きを判定する。分離した付加情報Yから付加情報Xの向きを判定する方法は、様々な方法が考えられる。
【００７９】
例えば、付加情報の位置を示すマーカから付加情報の向きを判定する方法がある。図19はイメージスキャナ21が読み取った画像の向きが付加情報Xの向きと一致する場合の、付加情報Yの分離結果を示す図である。一方、図20はイメージスキャナ21が読み取った画像の向きと、付加情報Xの向きが上下反転している場合の、付加情報Yの分離結果を示す図である。
【００８０】
図19と20は、図18のように、ブロック位置検出部62が検出したブロックの数が、付加装置が付加情報Xを埋め込んだブロックの数と異なる場合を示している。また、図19と20に示す各ブロックの値は、ブロック位置検出部62が検出した横10×縦14（合計140個）のブロック集合331に対して、付加情報分離部63が分離した付加情報Yの値を示している。ブロック集合331に含まれる、ブロック集合332には付加情報Xが埋め込まれている。また、ブロック集合331に含まれる、ブロック集合333はマーカである。
【００８１】
付加装置がマーカとして‘1’を埋め込むとする。また、上述したように、ブロックの符号パターンは、回転させても回転前の符号パターンの何れかになる符号パターンであり、上下反転した場合、‘1’が‘4’になる規則性をもつとする。この場合、イメージスキャナ21が読み取った画像の向きと、付加情報Xの向きが一致すれば、付加情報Xのブロック集合332の周囲にはマーカ‘1’が埋め込まれたブロック集合333が検出される。また、イメージスキャナ21が読み取った画像の向きと、付加情報Xの向きが上下反転していれば、付加情報Xのブロック集合332の周囲にはマーカ‘4’が埋め込まれたブロック集合333が検出される。
【００８２】
従って、ブロック集合333に埋め込まれたマーカの値を復元して、‘1’であればイメージスキャナ21が読み取った画像の向きは付加情報Xの向きと一致すると判定する。また、マーカの値が‘4’であればイメージスキャナ21が読み込んだ画像の向きと、付加情報Xの向きは上下反転していると判定する。画像情報D4の向きと付加情報Xの向きの関係に基づき、画像情報D4から分離した符号パターンを、画像情報D4の向きと付加情報Xの向きが一致する場合の符号パターンに変換することで、付加情報Xを正しく復元することが可能になる。
【００８３】
また、付加情報Xの向きを判定するために、付加情報の埋込領域の四隅にマーカを埋め込む方法、付加情報Xのデータ列を所定間隔に区切ったデータ列の間に方向判定用のデータ列を挿入する方法、付加情報Xの先頭と末尾に所定の符号を挿入する方法などがある。付加情報Xの位置や回転方向を示すマーカを埋め込み、埋め込んた方式や規則性などに基づきマーカを検出することができれば、付加情報Xの向きを判定することができる。言い換えれば、付加情報Xの位置や向きを示す何らか情報を埋め込めば、方向判定処理によって、付加情報Xの向きを検出することができる。
【００８４】
［付加情報の抽出処理］
図21は抽出装置の付加情報の抽出手順を示すフローチャートである。
【００８５】
まず、イメージスキャナ21により印刷画像16を光学的に読み取って画像情報D4を生成する(S91)。次に、ブロック位置検出部62により画像情報D4からブロック位置を検出する(S92)。ブロック位置を示すブロック位置情報は、画像情報D4とともに、画像情報D5として付加情報分離部63に入力される。次に、付加情報分離部63によりブロック位置情報に基づき、各ブロックのテクスチャの周波数特性を解析して、付加情報Yを分離する(S93)。そして、必要ならば付加情報分離部63により、付加情報Yから付加情報Xを復元して、分離した付加情報Yまたは復元した付加情報Xを出力端子64から出力する(S94)。
【００８６】
［ブロック位置検出部］
図22はブロック位置検出部62の詳細な構成例を示すブロック図である。
【００８７】
位置検出部162は、画像情報D4と検出領域情報A1を入力し、検出領域情報A1で設定される領域に対しブロック位置を検出して、ブロック位置情報B1を出力する。
【００８８】
図23は位置検出部162の動作を説明する図である。
【００８９】
例えば、検出領域情報A1が画像情報D4上の検出領域291を示す場合、位置検出部162は、検出領域291においてブロックの検出を行う。位置検出部162は、検出領域291内において所定サイズのブロック292の位置を画素単位にずらし、ブロック292のテクスチャの周波数解析と、付加情報を分離する付加情報分離処理を行う。そして、周波数解析結果の周波数特性値と付加情報を分離する際の付加情報判定値を算出して、ブロック位置を検出する。つまり、周波数特性値と付加情報判定値は、付加情報が埋め込まれたブロックの値と埋め込まれていないブロックの値が異なることを利用して、ブロック位置を検出する。
【００９０】
検出位置保存部163は、ブロック位置情報B1をメモリ（例えばRAM 24）に格納し、ブロック位置の検出処理を継続するか否かを判断する。そして、ブロック位置の検出処理を継続すると判断した場合は、必要ならば検出領域情報A1を再設定し、位置検出部162に処理の継続を指示する。そして、位置検出部162から出力されるブロック位置情報B1によって、メモリに格納したブロック位置情報B1を更新する。検出位置保存部163は、ブロック位置の検出処理を継続しないと判断した場合は、メモリに格納した一つまたは複数のブロック位置情報をブロック位置情報B2として出力する。
【００９１】
ブロック位置情報出力部164は、詳細は後述するが、ブロック位置情報B2からブロック位置情報B3を計算して、画像情報D4とともに、画像情報D5として出力する。
【００９２】
図24はブロック位置検出部62の処理を説明するフローチャートである。
【００９３】
まず、検出領域情報A1を設定する(S101)。そして、位置検出部162に画像情報D4と検出領域情報A1を入力し、ブロック位置検出処理を実行する(S102)。次に、位置保存部163によりブロック位置情報B1をメモリに格納（検出ブロック保存処理）する(S103)。そして、メモリに格納したブロック位置情報B1と検出領域情報A1の関係から、ブロック位置検出処理(S102)を継続するか否かを判定する(S104)。ブロック位置検出処理を継続すると判定した場合は、処理をステップS101に戻して、必要ならば検出領域情報A1を再設定する。また、ブロック位置検出処理を継続しないと判定した場合は、メモリに格納したブロック位置情報B2を出力する(S105)。
【００９４】
●ブロック位置検出処理の詳細
図25はイメージスキャナ21から出力された画像情報D4の領域内に検出領域121〜126が配置された様子を示す図である。なお、検出領域の大きさ、位置、数に関して、特に限定はない。また、検出領域は予め設定されていてもよいし、画像情報D4に従って設定してもよい。また、一旦、一つのブロックのブロック位置情報B1を生成した後、次の検出領域を設定してもよい。また、画像情報D4の領域を四分割して、それら四領域を検出領域にすることもできる。あるいは、検出領域情報A1として検出領域の間隔（幅と高さ）を設定して、当該間隔に従い順次、検出領域を設定しても構わない。
【００９５】
図26はブロック位置検出処理(S102)の詳細な処理手順を示すフローチャートである。
【００９６】
まず、付加情報を分離する際の基準になるブロック開始位置を設定する(S111)。次に、ブロック開始位置から処理ブロック262単位にテクスチャの周波数解析を行って周波数特性量を算出し、周波数特性量から処理ブロック262単位の符号判定を行い符号判定量を算出する(S112)。次に、算出した周波数特性量と符号判定量をメモリに順次格納し(S113)、検出領域単位のブロック位置検出処理が終了したか否かを判定する(S114)。検出領域単位のブロック位置検出処理が未了の場合は処理をステップS111に戻し、終了した場合は、メモリに格納した周波数特性量と符号判定量から、検出領域内のブロック位置を算出してブロック位置情報B1を出力する(S115)。
【００９７】
検出領域として、例えば100×100画素の領域が設定されているとする。ブロック開始位置の設定(S111)では、検出領域の10000画素から一画素を選択して、選択した画素の位置をブロック開始位置として設定する。
【００９８】
周波数特性量と符号判定量の計算(S112)では、ブロック開始位置から、処理ブロック262単位にテクスチャの周波数解析を行って周波数特性量を計算し、周波数特性量から処理ブロック262単位に符号判定量を計算する。そして、周波数特性量と符号判定量は、付加情報が埋め込まれているブロックと、埋め込まれていないブロックで異なることを利用してブロック位置を算出する。
【００９９】
図27はブロック位置検出処理において、処理ブロック262の位置と、付加情報が埋め込まれたブロックの位置が一致していない状態を示す図である。図28はブロック位置検処理において、処理ブロック262の位置と、付加情報が埋め込まれたブロックの位置が一致している状態を示す図である。図27に示すように、処理ブロック262の位置と、付加情報が埋め込まれたブロックの位置と一致していない状態で周波数特性量と符号判定量の計算(S112)を行うと、例えば符号判定量が10になる。一方、図28に示すように、処理ブロック262の位置と、付加除法が埋め込まれたブロックの位置が一致している状態で周波数特性量と符号判定量の計算(S112)を行うと、例えば符号判定量は50になる。
【０１００】
周波数特性量と符号判定量のメモリ格納(S113)では、ステップS112で算出した周波数特性量と符号判定量をメモリに格納する。ただし、周波数特性量または符号判定量だけをメモリに格納しても構わない。
【０１０１】
検出領域分の処理の終了判定(S114)では、この例では100×100画素の検出領域内のブロック位置検出処理が終了したか否かを判定する。なお、また、検出領域内の処理ブロック262の移動量は、一画素に限定されず、二画素でもよいし、ランダムでもよい。また、千鳥格子状に処理ブロック262を移動しても構わない。
【０１０２】
ブロック位置情報B1の出力(S115)では、メモリに格納した例えば10000画素分の符号判定量からブロック位置を算出する。
【０１０３】
図29はブロック位置の算出を説明する図で、各升の値は、処理ブロック262を一画素ずつずらして算出した符号判定量の一例を示している。
【０１０４】
例えば、算出した符号判定量が大きい方が付加情報が埋め込まれたブロックの位置に一致している可能性が高いという規則性がある。これを利用すれば、算出した符号判定量の中で、周囲に比べて大きな値の符号判定量を得たときの処理ブロック262の位置を検出して、ブロック位置を算出することができる。例えば、図29において、(x, y)=(3, 3)の符号判定量「60」、(9,3)の「56」、(3, 9)の「45」、(9, 9)の「38」は周囲に比べて大きな符号量を示す。従って、これら位置の符号判定量を得たときの処理ブロック262の位置が、ブロック位置に相当することになる。なお、符号判定量が大きい方が付加情報が埋め込まれたブロック位置に一致している可能性が高いと説明した。しかし、付加情報の埋込方法によっては、符号判定量が小さい方が付加情報が埋め込まれたブロック位置に一致している可能性が高い場合もあり、どちらを採用しても構わない。
【０１０５】
図30は、図29の各升の符号判定量をX軸方向とY軸方向で加算した結果を示す図である。図30に示す加算結果から、付加情報が埋め込まれたブロック位置に対応する処理ブロック262のX、Y座標を算出する方法もある。図30には、加算結果をグラフ304、305にして表すが、グラフのピーク位置が、付加情報が埋め込まれたブロック位置に対応する処理ブロック262のX、Y座標に対応する。また、ピーク位置の間隔から付加情報が埋め込まれたブロックのサイズが6×6画素であることがわかる。
【０１０６】
また、付加情報が埋め込まれたブロックのサイズが予測できる場合は、ブロック単位に符号判定量を加算した結果からブロック位置を算出する方法も考えられる。例えば、ブロックサイズが6×6画素であることが予測できれば、6×6画素ブロック分の符号判定量301の加算を行う。具体的には、左上の座標(0, 0)を基準として、(0, 0)(6, 0)(0, 6)(6, 6)の位置の符号判定量を加算する。図29に示す例では加算値は8である。また、X方向に一画素ずらした6×6画素ブロックの加算値は、(1, 0)(7, 0)(1, 6)(7, 6)の符号判定量の合計であるから12である。この作業を6×6画素ブロック分繰り返す。図31は6×6画素ブロックを想定した場合に、図29に示す符号判定量を6×6画素ブロック単位に加算した結果を示す図である。図31に示すように、符号判定量の合計の最大値は(3, 3)の199であり、(3, 3)の処理ブロック262に対応する位置から6×6画素単位に、付加情報が埋め込まれたブロックが並んでいることがわかる。
【０１０７】
このように、画素単位、所定数の画素単位、ブロック単位またはライン単位に符号判定量を加算した値からピーク値（またはボトム値）を求めてブロック位置を算出することができる。また、画素単位、所定数の画素単位、ブロック単位またはライン単位にフィルタ係数を掛けてピーク値（またはボトム値）を求めブロック位置を算出してもよい。勿論、符号判定量ではなく、周波数特性量からブロック位置を算出してもよい。
【０１０８】
●検出ブロック保存処理の詳細
検出ブロック保存処理(S103)では、ブロック位置検出処理S102で出力されるブロック位置情報B1を順次メモリに格納する。例えば、図25に示す六つの検出領域121〜126が設定された場合、各検出領域のブロック位置情報B1をメモリに格納する。
【０１０９】
●ブロック位置検出処理の終了判定の詳細
ブロック位置検出処理の終了判定(S104)では、検出領域情報A1によって設定される複数の検出領域におけるブロック位置検出処理(S102)が終了したか否かを判定する。例えば、図12に示すように、検出領域情報A1によって六つの検出領域121〜126が設定されている場合は、検出領域121〜126におけるブロック位置検出処理が行われたか否かを判定する。そして、ブロック位置検出処理を継続する場合、言い換えれば、ブロック位置検出処理が未了の検出領域がある場合は、処理をブロック位置検出処理(S102)に戻す。また、ブロック位置検出処理を継続しない場合は、メモリに格納されたブロック情報B1をブロック情報B2として出力する。なお、入力される画像情報D4から検出領域を設定し、ブロック位置検出部162の処理が終了しているか否かを判定して、ブロック位置検出処理の継続を判断してもよい。また、ブロック位置情報B1からブロック位置検出処理の継続を判断してもよい。
【０１１０】
例えば、図25に示す画像情報D4の画像サイズが1000×1200画素で、検出領域情報A1に開始点情報(0, 0)と検出領域のサイズ500×500画素が設定されているとする。この場合、画像情報D4のサイズを逸脱しないように検出領域を設定すると、検出領域121〜124の対角頂点は次のようになる。
検出領域121 … (0, 0)(500, 500)、
検出領域122 … (500, 0)(1000, 500)、
検出領域123 … (0, 500)(500, 1000)、
検出領域124 … (500, 500)(1000, 1000)
【０１１１】
そして、検出領域125と126は、検出領域情報A1に設定された検出領域のサイズ500×500画素では、画像領域D4を逸脱するので、検出領域125と126におけるブロック位置検出処理を行わず処理を終了することもできる。また、検出領域125と126は、画像情報D4のサイズに合わせて、検出領域125と126の対角頂点をそれぞれ(0, 1000)(500, 1200)、(500, 1000)(1200, 1200)としてもよい。つまり、検出領域のサイズを500×200画素に設定し直し、検出領域125と126におけるブロック位置検出処理を行って処理を終了することもできる。
【０１１２】
●ブロック位置情報の出力処理の詳細
ブロック位置情報の出力処理(S105)において、ブロック位置情報B2から、画像情報D4全体に対するブロック位置情報B3を算出する。そして、算出したブロック位置情報B3と画像情報D4を含む画像情報D5を出力する。
【０１１３】
図32は画像情報D4とブロック位置情報B2の関係を示す図である。
【０１１４】
図32において、画像情報D4内で検出したブロック位置情報B2は●（黒丸）161、162で示される。ブロック位置情報161、162などからブロック位置情報B3を算出するには、予め設定されたN×N画素のブロックサイズを利用して、公知の内分点算出、外分点算出の公式を用いて行う。
【０１１５】
例えば、N×N画素のブロックサイズが200×200画素にする場合、ブロック位置情報161の座標は(300, 100)、ブロック位置情報162の座標は(704, 100)だとする。この場合、ブロック位置情報161と162のX方向の間隔は704-300=404画素である。N×N画素のブロックサイズ200×200画素に基づき、間隔404画素を200画素で割ると2.02が得られる。従って、ブロック位置情報161と162のX方向の間に二つのブロックがあると推測することができる。
【０１１６】
次に、ブロック位置情報161と162の内分点を計算して座標(502, 100)にブロックがあるとする。また、ブロック位置情報161と162の外分点を計算して座標(98, 100)にブロックがあるとする。このように、ブロック位置情報B2から内分点と外分点を計算することで、画像情報D4に存在するブロック位置を示すブロック位置情報B3を算出することができる。
【０１１７】
図33は算出したブロック位置情報B3を画像情報D4にプロットした様子を示す図である。破線の交点がブロック位置情報B3が示すブロック位置であり、破線に囲まれた領域がN×N画素のブロックである。
【０１１８】
このように、画像を分割したブロックごとに付加情報が埋め込まれている画像において、図3に符号233で示すような付加情報の埋込範囲を示す基準マークがなくても、付加情報が埋め込まれたブロック位置を高精度に検出して付加情報を抽出することができる。
【０１１９】
また、付加情報の埋込範囲が画像サイズに依存しない場合でも、付加情報が埋め込まれたブロック位置が検出することができる。従って、縁なし印刷のように、印刷しようとする画像を印刷媒体より大きなサイズにして、画像の縁が切り取られる形態で印刷する場合がある。この場合も、印刷媒体のサイズ内に付加情報が埋め込まれていれば、付加情報が埋め込まれたブロック位置を高精度に検出して付加情報を抽出することができる。
【実施例２】
【０１２０】
以下、本発明にかかる実施例2の画像処理を説明する。なお、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【０１２１】
［概要］
実施例1の付加情報多重化部14は、入力される画像情報D1のある領域をN×N画素の複数のブロックに分割し、ブロックごとに誤差拡散法の量子化閾値を付加情報のビットに応じて変化させる。そして、ブロックの符号パターンをサブブロックの組み合わせで構成し、各サブブロックのパターンを回転対称とし、上下反転した符号パターンが、上下反転前の符号パターンの何れかになるようなパターンの組み合わせにする。しかし、ブロックの符号パターンをサブブロックの組み合わせで構成しただけでは、付加情報が埋め込まれた正しいブロック位置を検出することができないことがある。
【０１２２】
図34は付加情報を埋め込むブロックを構成する四つ符号パターンを示す図である。符号パターン351〜354は、四つのサブブロックの組み合わせで構成され、サブブロックの各パターンをA、B、C、Dとする。図35は符号パターン351を連続して埋め込んだ様子を示す図である。
【０１２３】
ブロック位置検出部62は、ブロックのテクスチャの周波数解析と、付加情報を分離する付加情報分離処理を行い、周波数解析結果の周波数特性値と付加情報を分離する際の符号判定値を算出する。そして、周波数特性値と符号判定値から特徴抽出を行い、ブロック位置を検出する。その際、周波数特性値と符号判定値は、処理ブロックの位置と、付加情報が埋め込まれたブロックの位置が一致する場合と、ずれている場合で、値が異なることを利用する。
【０１２４】
しかし、ブロック位置検出部62は、図35に示す検出領域361、364でブロック位置を検出すると、当該領域の符号パターンが図34に示す符号パターン353と一致するため、付加情報が埋め込まれたブロック位置と判断してしまう。同様に、図35に示す検出領域362、363でブロック位置を検出すると、当該領域の符号パターンが図34に示す符号パターン352と一致するため、付加情報が埋め込まれたブロック位置と判断してしまう。その結果、サブブロック一つ分ずれた位置に、付加情報が埋め込まれたブロックがあると判断して、付加情報が埋め込まれたブロック位置を正しく検出することができない。
【０１２５】
図36はサブブロック一つ分ずれた位置に付加情報が埋め込まれたブロックがあると判断した場合に、処理ブロックを一画素ずつずらしながら算出した符号判定量と、その加算値を示す図である。
【０１２６】
付加情報が埋め込まれたブロックが6×6画素、そのサブブロックが3×3画素とすると、付加情報が埋め込まれたブロック位置を正しく検出することができれば、六画素ごとにX方向の加算値とY方向の加算値にピークが現れる。従って、6画素毎に横軸、縦軸の最大値になるような個所を検出できればよいことになる。しかし、図36に示す例では、三画素間隔で加算値にピークが現れる
【０１２７】
図36に示すような符号判定値からは、付加情報が埋め込まれたブロック位置を正しく検出することができない。実施例2は、このような問題を解決するためのものである。
【０１２８】
［サブブロックのパターンの組み合わせ方法］
以下では、上記の問題を解決して、付加情報が埋め込まれたブロック位置を正しく検出するための、符号パターンを設定する際のサブブロックのパターンの組み合わせ方法について説明する。
【０１２９】
図37は付加情報を埋め込むブロックを構成する四つ符号パターンを示す図である。符号パターン381〜384は、四つのサブブロックの組み合わせで構成され、サブブロックの各パターンをA、B、C、Dとする。図38は符号パターン381を連続して埋め込んだ様子を示す図である。
【０１３０】
ブロック位置検出部62は、図38に示す検出領域391、394でブロック位置を検出すると、当該領域の符号パターンは図37に示す何れの符号パターンとも一致しないため、付加情報が埋め込まれたブロック位置ではないと判断することができる。同様に、図38に示す検出領域392、393でブロック位置を検出すると、当該領域の符号パターンが図37に示す何れの符号パターンとも一致しないため、付加情報が埋め込まれたブロック位置ではないと判断することができる。このように、ブロックの符号パターン同士が、どのような組み合わせで隣接されたとしても、サブブロック一つ分ずれた位置では、付加情報が埋め込まれたブロック位置ではないと判断可能なサブブロックのパターンの組み合わせを符号パターンに設定すればよい。
【０１３１】
図37に示す符号パターン381〜384は、異なるサブブロックのパターンA、B、C、Dの四つを組み合わせて一つの符号パターンにする例である。符号パターン381〜384は、上下反転しても、符号パターン381〜384の何れかの符号パターンになる。さらに、符号パターン381〜384は、ブロックの符号パターン同士が、どのような組み合わせで隣接していても、サブブロック一つ分ずれた位置では、付加情報が埋め込まれたブロック位置ではないと判断可能である。
【０１３２】
符号パターンのサブブロックの組み合わせの数は、符号パターンの数やサブブロックの数によって変化する。従って、図37の符号パターン381〜384に限定されるわけではない。つまり、上下反転しても設定した何れかの符号パターンになり、ブロックの符号パターン同士がどのような組み合わせで隣接しても、サブブロック一つ分ずれた位置で、付加情報が埋め込まれたブロック位置ではないと判断可能な符号パターンであればよい。
【０１３３】
このように、付加情報多重化部14の符号パターンを構成するサブブロックのパターンの組み合わせを適切に設定することで、付加情報が埋め込まれたブロック位置を正しく検出することができる。
【０１３４】
［他の実施例］
なお、本発明は、複数の機器（例えばコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置、制御装置など）に適用してもよい。
【０１３５】
また、本発明の目的は、上記実施例の機能を実現するコンピュータプログラムを記録した記憶媒体をシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ（CPUやMPU）が前記コンピュータプログラムを実行することでも達成される。この場合、記憶媒体から読み出されたソフトウェア自体が上記実施例の機能を実現することになり、そのコンピュータプログラムと、そのコンピュータプログラムを記憶する記憶媒体は本発明を構成する。
【０１３６】
また、前記コンピュータプログラムの実行により上記機能が実現されるだけではない。つまり、そのコンピュータプログラムの指示により、コンピュータ上で稼働するオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【０１３７】
また、前記コンピュータプログラムがコンピュータに接続された機能拡張カードやユニットのメモリに書き込まれていてもよい。つまり、そのコンピュータプログラムの指示により、前記カードやユニットのCPUなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【０１３８】
本発明を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応または関連するコンピュータプログラムが格納される。
【図面の簡単な説明】
【０１３９】
【図１】任意の画像に付加情報を埋め込んで印刷する画像処理装置の構成を示すブロック図、
【図２】図1に示す画像処理装置の出力である印刷画像から、画像情報に埋め込まれた付加情報を取り出す画像処理装置の構成を示すブロック図、
【図３】特許文献3による印刷物の概要を示す図、
【図４】特許文献3による印刷物を縁なし印刷した様子を示す図、
【図５】特許文献4による印刷物の概要を示す図、
【図６】特許文献4による印刷物を縁なし印刷した様子を示す図、
【図７】画像処理装置の各処理部の機能を実現するコンピュータ装置のような情報処理装置の構成例を示すブロック図、
【図８】付加装置の機能構成例を示すブロック図、
【図９】ブロックの符号パターンを説明する図、
【図１０】サブブロックのパターンを詳細に示す図、
【図１１】ブロックの符号パターンを説明する図、
【図１２】ブロックの符号パターンを90度ずつ回転しても、回転前の符号パターンの何れかになる符号パターンを示す図、
【図１３】画像情報と付加情報の埋込領域の関係例を示す図、
【図１４】付加情報の埋込位置情報を示すマーカ（付加情報）を埋め込んだ様子を示す図、
【図１５】付加装置の付加情報の埋込手順を示すフローチャート、
【図１６】抽出装置の構成例を示すブロック図、
【図１７】イメージスキャナの読取可能範囲と印刷画像の関係を説明する図、
【図１８】ブロック位置検出部が検出したブロックの数が、付加装置が付加情報を埋め込んだブロックの数と異なる例を示す図、
【図１９】イメージスキャナが読み取った画像の向きが付加情報の向きと一致する場合の、付加情報の分離結果を示す図、
【図２０】イメージスキャナが読み取った画像の向きと、付加情報の向きが上下反転している場合の、付加情報の分離結果を示す図、
【図２１】抽出装置の付加情報の抽出手順を示すフローチャート、
【図２２】ブロック位置検出部の詳細な構成例を示すブロック図、
【図２３】位置検出部の動作を説明する図、
【図２４】ブロック位置検出部の処理を説明するフローチャート、
【図２５】イメージスキャナから出力された画像情報の領域内に検出領域が配置された様子を示す図、
【図２６】ブロック位置検出処理の詳細な処理手順を示すフローチャート、
【図２７】ブロック位置検出処理において、処理ブロックの位置と、付加情報が埋め込まれたブロックの位置が一致していない状態を示す図、
【図２８】ブロック位置検処理において、処理ブロックの位置と、付加情報が埋め込まれたブロックの位置が一致している状態を示す図、
【図２９】ブロック位置の算出を説明する図、
【図３０】図29の各升の符号判定量をX軸方向とY軸方向で加算した結果を示す図、
【図３１】6×6画素ブロックを想定した場合に、図29に示す符号判定量を6×6画素ブロック単位に加算した結果を示す図、
【図３２】画像情報とブロック位置情報の関係を示す図、
【図３３】算出したブロック位置情報を画像情報にプロットした様子を示す図、
【図３４】付加情報を埋め込むブロックを構成する四つ符号パターンを示す図、
【図３５】符号パターンを連続して埋め込んだ様子を示す図、
【図３６】サブブロック一つ分ずれた位置に付加情報が埋め込まれたブロックがあると判断した場合に、処理ブロックを一画素ずつずらしながら算出した符号判定量と、その加算値を示す図、
【図３７】付加情報を埋め込むブロックを構成する四つ符号パターンを示す図、
【図３８】符号パターンを連続して埋め込んだ様子を示す図である。
【図１】
2008219152.tif 000003
【図２】
2008219152.tif 000004
【図３】
2008219152.tif 000005
【図４】
2008219152.tif 000006
【図５】
2008219152.tif 000007
【図６】
2008219152.tif 000008
【図７】
2008219152.tif 000009
【図８】
2008219152.tif 000010
【図９】
2008219152.tif 000011
【図１０】
2008219152.tif 000012
【図１１】
2008219152.tif 000013
【図１２】
2008219152.tif 000014
【図１３】
2008219152.tif 000015
【図１４】
2008219152.tif 000016
【図１５】
2008219152.tif 000017
【図１６】
2008219152.tif 000018
【図１７】
2008219152.tif 000019
【図１８】
2008219152.tif 000020
【図１９】
2008219152.tif 000021
【図２０】
2008219152.tif 000022
【図２１】
2008219152.tif 000023
【図２２】
2008219152.tif 000024
【図２３】
2008219152.tif 000025
【図２４】
2008219152.tif 000026
【図２５】
2008219152.tif 000027
【図２６】
2008219152.tif 000028
【図２７】
2008219152.tif 000029
【図２８】
2008219152.tif 000030
【図２９】
2008219152.tif 000031
【図３０】
2008219152.tif 000032
【図３１】
2008219152.tif 000033
【図３２】
2008219152.tif 000034
【図３３】
2008219152.tif 000035
【図３４】
2008219152.tif 000036
【図３５】
2008219152.tif 000037
【図３６】
2008219152.tif 000038
【図３７】
2008219152.tif 000039
【図３８】
2008219152.tif 000040