(57)【要約】【課題】画像に対するデータの埋め込みと復元を簡単且つ高速に実施可能とする。【解決手段】画像コード化装置は、階調分割部１４で画像入力部１０からの入力画像データをコード入力部１２からの各コードビットに対応させた区分数の階調別画像データに分割し、ディザ化処理部１６で階調別画像データの各々を、コードの各ビットに対応した互いに異なるディザマトリクスを用いてディザ化した後に合成して印刷する。画像コード復調装置は、画像領域検出部５０でディザ成分を除去した画像データを対象に各コードビットに対応させた階調区分別の画像領域を検出し、ディザ検出部５６で階調区分別の画像領域の画像データを切出して埋め込まれたディザパターンを検出し、コードを生成する。【選択図】　　　　図１
2004096375.tif 000002
【特許請求の範囲】
【請求項１】
多値階調の画像データを入力する画像入力部と、
前記画像データに埋め込む所定ビット数のコードを入力するコード入力部と、
前記画像データを、前記コードの各ビットに対応させた階調区分の階調別画像データに分割する階調分割部と、
前記階調別画像データの各々を、前記コードの各ビットに対応した互いに異なるディザマトリクスを用いてディザ化した後に合成するディザ化処理部と、
を備えたことを特徴とする画像コード化装置。
【請求項２】
ディザ化により所定ビット数のコードが埋め込まれた多値階調の画像データを入力する画像入力部と、
前記画像データを前記コードの各ビットに対応させた複数の階調区分の階調別画像データに分割してディザパターンの含まれる階調別の画像領域を検出する画像領域検出部と、
入力された画像データから前記画像領域検出部で検出された階調別の画像領域を切出し、各切出し画像データに埋め込まれているディザパターンを検出するディザ検出部と、
前記ディザ検出部で検出されたディザパターンを元にコードを生成するコード生成部と、
を備えたことを特徴とする画像コード復調装置。
【請求項３】
多値階調の画像データを入力する画像入力部と、
前記画像データを複数領域に分割して分割画像データを生成する画像分割部と、
前記画像分割部で分割された分割画像データの各々に埋め込む所定ビット数のコードを入力するコード入力部と、
前記分割画像データの各々を、前記コードの各ビットに対応させた階調区分の階調別画像データに分割する階調分割部と、
前記分割画像データ毎の階調別画像データの各々を、前記コードの各ビットに対応した互いに異なるディザマトリクスを用いてディザ化した後に合成するディザ化処理部と、
を備えたことを特徴とする画像コード化装置。
【請求項４】
ディザ化により所定ビット数のコードが埋め込まれた多値階調の画像データを入力する画像入力部と、
前記画像データを複数領域に分割して分割画像データを生成する画像分割部と、
前記分割画像データの各々を、前記コードの各ビットに対応させた複数の階調区分の階調別画像データに分割してディザパターンの含まれる画像領域を検出する画像領域検出部と、
前記分割画像データの各々から前記画像領域検出部で検出された階調別の画像領域を切出し、各切出し画像データに埋め込まれているディザパターンを検出するディザ検出部と、
前記ディザ検出部で検出されたディザパターンを元にコードを生成するコード生成部と、
を備えたことを特徴とする画像コード復調装置。
【請求項５】
コンピュータに、
多値階調の画像データを入力する画像入力ステップと、
前記画像データに埋め込む所定ビット数のコードを入力するコード入力ステップと、
入力された前記画像データを、前記コードの各ビットに対応させた階調区分の階調別画像データに分割する階調区分ステップと、
前記階調分割データの各々を、前記コードの各ビットに対応した互いに異なるディザマトリクスを用いてディザ化した後に合成するディザ化処理ステップと、を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、写真等の画像にコードを埋め込んで利用する画像コード化装置、画像コード復調装置、方法及びプログラムに関し、特に、ディザ法を利用してコードの埋め込みと復元を行う画像コード化装置、画像コード復調装置、方法及びプログラムに関する。
【０００２】
【従来の技術】
近年、携帯電話等の携帯機器によるインターネットの利用が盛んになるに伴い、カメラやスキャナなどの画像入力機器を搭載した携帯機器の開発も盛んに行われている。このような携帯機器を用いることにより、画像入力機器により得られた画像データを、その携帯機器からインターネット等の通信ネットワークを介して他の携帯機器やパーソナルコンピュータなどの端末に送信して活用することができる。
【０００３】
一方、スキャナやカメラなどの画像入力機器とパーソナルコンピュータとを接続した画像データの利用方法として、例えば米国特許第５，６３６，２９２号明細書図面、特開２０００−２９９７７９号、特開２００１−１８６３３０号に開示されているように、画像データに別なデータを埋め込み、偽造防止、不正使用防止、付加サービス提供などを行うものが開示されている。
【０００４】
例えば米国特許第５，６３６，２９２号の画像データの利用方法は、ステガノグラフィックス符号化（Ｓｔｅｇａｎｏｇｒａｐｈｉｃ　ｅｎｃｏｄｉｎｇ）による情報（以下「ステガノデータ」という）が埋め込まれた印刷物などの画像を、画像入力機器によりパーソナルコンピュータに読み込み、ステガノデータを検出してサーバに送信する。
【０００５】
サーバ側ではステガノデータに対応するＵＲＬを検索してパーソナルコンピュータ側に返送し、パーソナルコンピュータ側ではＵＲＬに対応するウェブサイトにアクセスして画像に対応した情報を表示させる。
【０００６】
【発明が解決しようとする課題】
しかしながら、このような従来の画像データに別なデータを埋め込む方法は、その多くが偽造防止や不正使用防止といったセキュリティのための電子透かし技術として開発されており、元データの変形や部分使用などに耐える必要があるため、同一のデータを画像内に分散して置いたり、周波数領域でデータを入れるなど非常に複雑な方法を取る必要がある。
【０００７】
このため画像データに対する他のデータの埋込み処理および画像の読取りによる埋込みデータの復元処理といった計算量のかかる処理を、カメラ付きの携帯機器で実施しようとしても、携帯機器で使えるメモリやＣＰＵによる処理性能上の制限から、画像処理を実用的な処理時間で実施することが出来ないという問題があった。
【０００８】
本発明の目的は、画像に対するデータの埋め込みと復元を簡単且つ高速に実施可能な画像コード化装置、画像コード復調装置、方法及びプログラムを提供することを目的とする。
【０００９】
【課題を解決するための手段】
図１は本発明の原理説明図である。
（装置）
本発明は、図１（Ａ）の画像コード化装置であって、多値階調の画像データを入力する画像入力部１０と、画像データに埋め込む所定ビット数のコードを入力するコード入力部１２と、入力した画像データをコードの各ビットに対応させた階調区分の階調別画像データに分割する階調分割部１４と、階調別画像データの各々を、コードの各ビットに対応した互いに異なるディザマトリクスを用いてディザ化した後に合成するディザ化処理部１６とを備えたことを特徴とする。
【００１０】
このためコードをディザの異なるパターンに変換して画像に埋め込むことにより、比較的簡易な処理で画像データにコードを割り振って利用することが可能となる。また各階調毎のディザマトリクスを設定するだけなので、従来のディザ化の手法を用いたままコード化が簡単に行える。
【００１１】
ここでディザ化処理部１６は、コードのビット位置に応じて異なるディザマトリクスを格納した変換テーブル１８と、コードの各ビットに対応したディザマトリクスを変換テーブルから選択する選択部２０と、選択部２０で選択されたディザマトリクスを用いて対応する階調分割データをディザ化するディザ化部２２とを備える。
【００１２】
ディザ化処理部１６は、コードの各ビットが１の場合、選択部２０により変換テーブル１８から対応するディザマトリクスを選択してディザ化部２２で対応する階調別画像データをディザ化させ、コードの各ビットが０の場合、対応する階調別画像データをディザ化せずにそのまま出力させる。
【００１３】
ディザ化処理部１６は、逆に、コードの各ビットが０の場合、選択部２０により変換テーブル１８から対応するディザマトリクスを選択してディザ化部２２で対応する階調別画像データをディザ化させ、コードの各ビットが１の場合、対応する階調別画像データをディザ化せずにそのまま出力させるようにしても良い。
【００１４】
ディザ化処理部１６は、スクリーン角の異なるディザマトリクスを使用する。またディザ化処理部１６は、異なるストカスティックスクリーンのディザマトリクスを使用しても良い。このストカスティックスクリーンを用いることにより、階調間の不連続が目立たなくなり、画質が向上する。
【００１５】
本発明は、画像コード復調装置を提供する。この画像コード復調装置は、図１（Ｂ）のように、ディザ化により所定ビット数のコードが埋め込まれた多値階調の画像データを入力する画像入力部４８と、画像データをコードの各ビットに対応させた階調区分の階調別画像データに分割してディザパターンの含まれる階調別の画像領域を抽出する画像領域検出部５０と、入力された画像データから画像領域検出部で検出された階調別の画像領域を切出し、各切出し画像データ埋め込まれたディザパターンを検出するディザ検出部５６と、ディザ検出部５６で検出されたディザパターンを元にコードを生成するコード生成部６４とを備えたことを特徴とする。
【００１６】
ここで、画像領域検出部５０は、画像データを平均化してディザパターンを除去する低域濾過部５２と、低域濾過部５２からの画像データを、コードの各ビットに対応させた複数の階調区分の階調別画像データに分割して階調別の画像領域を検出して前記ディザ検出部に出力する階調分割部５４とを備える。
【００１７】
また画像領域検出部５０は、画像データを平均化してディザパターンを除去する低域濾過部５２と、低域濾過部５２からの画像データを、コードの各ビットに対応させた複数の階調区分の階調別画像データに分割して階調別の画像領域を検出する階調分割部５４と、更に階調分割部５４で検出された階調別の画像領域の中の最大面積の矩形画像領域を検出してディザ検出部５６に出力する矩形最大面積検出部とを備える。
【００１８】
ディザ検出部５６は、階調別の切出し画像データに対し２次元ＦＦＴを行ってディザパターンの有無を検出する。このように単に画像を階調毎に分離してＦＦＴによりスクリーン角を検出するため、複雑な仕組みが不要となる。
【００１９】
ディザ検出部５６は、コードのディザ化に使用しているディザスクリーンを教師データとして学習されたニューラルネットワークにより、前記階調別の切出し画像データからディザパターンを検出する。
【００２０】
このように復調にニューラルネットワークを用いることで、ディザ検出部が２次元ＦＦＴによる検出に比べ簡単となり、特にストカスティックスクリーンを用いた場合に簡単になる。
【００２１】
画像にディザ化したコードを埋め込む画像コード化装置の変形として本発明は、多値階調の画像データを入力する画像入力部と、画像データを複数領域に分割して分割画像データを生成する画像分割部と、画像分割部で分割された画像データの各々に埋め込む所定ビット数のコードを入力するコード入力部と、分割画像データの各々を、コードの各ビットに対応させた階調区分の階調別画像データに分割する階調分割部と、分割画像データ毎の階調別画像データの各々を、コードの各ビットに対応した互いに異なるディザマトリクスを用いてディザ化した後に合成するディザ化処理部とを備えたことを特徴とする。
【００２２】
このように画像を分割して各分割領域毎にコードを埋め込むことで、埋め込みコードのビット数（情報量）を簡単に拡大できる。
【００２３】
また画像分割に対応して埋め込まれたコード復元する画像コード復調装置を提供する。この画像コード復調装置は、ディザ化により所定ビット数のコードが埋め込まれた多値階調の画像データを入力する画像入力部と、画像データを複数領域に分割して分割画像データを生成する画像分割部と、分割画像データの各々を、コードの各ビットに対応させた複数の階調区分の階調別画像データに分割してディザパターンの含まれる画像領域を検出する画像領域検出部と、分割画像データの各々から画像領域検出部で検出された階調別の画像領域を切出し、各切出し画像データに埋め込まれているディザパターンを検出するディザ検出部と、ディザ検出部で検出されたディザパターンを元にコードを生成するコード生成部とを備えたことを特徴とする。
【００２４】
（方法）
本発明は、コードを画像に埋め込むための画像コード化方法を提供する。この画像コード化方法は、
多値階調の画像データを画像入力部から入力する画像入力ステップと、
画像データに埋め込む所定ビット数のコードをコード入力部により入力するコード入力ステップと、
入力された前記画像データを、階調分割部により前記コードの各ビットに対応させた階調区分の階調別画像データに分割する階調区分ステップと、
階調分割データの各々を、ディザ化処理部によりコードの各ビットに対応した互いに異なるディザマトリクスを用いてディザ化した後に合成するディザ化処理ステップと、
を備えたことを特徴とする。
【００２５】
また本発明は、画像に埋め込まれたコードを復元する画像コード復調方法を提供する。この画像コード復調方法は、
ディザ化により所定ビット数のコードが埋め込まれた多値階調の画像データを画像入力部により入力する画像入力ステップと、
画像データを画像領域検出部によりコードの各ビットに対応させた複数の階調区分の階調別画像データに分割してディザパターンの含まれる階調別の画像領域を検出する画像領域検出ステップと、
ディザ検出部により入力された画像データから階調別の画像領域を切出し、各切出し画像データに埋め込まれているディザパターンを検出するディザ検出ステップと、
コード生成部により検出された前記ディザパターンを元にコードを生成するコード生成ステップと、
備えたことを特徴とする。
【００２６】
本発明は、分割した画像毎にコードを埋め込むための画像コード化方法を提供する。
【００２７】
この画像コード化方法は、
多値階調の画像データを画像入力部により入力する画像入力ステップと、
画像データを画像分割部により複数領域に分割して分割画像データを生成する画像分割ステップと、
分割された画像データの各々に埋め込む所定ビット数のコードをコード入力部により入力するコード入力ステップと、
分割画像データの各々を、階調分割部により前記コードの各ビットに対応させた階調区分の階調別画像データに分割する階調分割ステップと、
分割画像データ毎の階調別画像データの各々を、ディザ化処理部により前記コードの各ビットに対応した互いに異なるディザマトリクスを用いてディザ化した後に合成するディザ化処理ステップと、
を備えたことを特徴とする。
【００２８】
本発明は、分割した画像毎に埋め込まれたコードを復元するための画像コード復調方法を提供する。
【００２９】
この画像コード復調方法は、
ディザ化により所定ビット数のコードが埋め込まれた多値階調の画像データを画像入力部により入力する画像入力ステップと、
画像データを画像分割部により複数領域に分割して分割画像データを生成する画像分割ステップ部と、
分割画像データの各々を、画像領域検出部によりコードの各ビットに対応させた複数の階調区分の階調別画像データに分割してディザパターンの含まれる画像領域を検出する画像領域検出ステップと、
ディザ検出部により分割画像データの各々から画像領域検出部で検出された階調別の画像領域を切出し、各切出し画像データに埋め込まれているディザパターンを検出するディザ検出ステップと、
コード生成部により前記ディザ検出部で検出されたディザパターンを元にコードを生成するコード生成ステップと、
を備えたことを特徴とする。
【００３０】
尚、この画像コード化方法および画像コード復調方法の詳細は、画像コード化装置および画像コード復調装置の場合と基本的に同じになる。
【００３１】
（プログラム）
本発明は、コードを画像に埋め込むためのプログラムを提供する。このプログラムは、コンピュータに、
多値階調の画像データを入力する画像入力ステップと、
画像データに埋め込む所定ビット数のコードを入力するコード入力ステップと、入力された画像データを、前記コードの各ビットに対応させた階調区分の階調別画像データに分割する階調区分ステップと、
階調分割データの各々を、り前記コードの各ビットに対応した互いに異なるディザマトリクスを用いてディザ化した後に合成するディザ化処理ステップと、
を実行させることを特徴とする。
【００３２】
また本発明は、画像に埋め込まれたコードを復元するためのプログラムを提供する。このプログラムは、コンピュータに、
ディザ化により所定ビット数のコードが埋め込まれた多値階調の画像データを入力する画像入力ステップと、
画像データを前記コードの各ビットに対応させた複数の階調区分の階調別画像データに分割してディザパターンの含まれる階調別の画像領域を検出する画像領域検出ステップと、
入力された画像データから階調別の画像領域を切出し、各切出し画像データに埋め込まれているディザパターンを検出するディザ検出ステップと、
検出された前記ディザパターンを元にコードを生成するコード生成ステップと、を実行させることを特徴とする。
【００３３】
本発明は、分割した画像毎にコードを埋め込むためのプログラムを提供する。
【００３４】
このプログラムは、
多値階調の画像データを入力する画像入力ステップと、
画像データを複数領域に分割して分割画像データを生成する画像分割ステップと、
分割された画像データの各々に埋め込む所定ビット数のコードを入力するコード入力ステップと、
分割画像データの各々を、前記コードの各ビットに対応させた階調区分の階調別画像データに分割する階調分割ステップと、
分割画像データ毎の階調別画像データの各々を、コードの各ビットに対応した互いに異なるディザマトリクスを用いてディザ化した後に合成するディザ化処理ステップと、
を実行させることを特徴とする。
【００３５】
本発明は、分割した画像毎にコードを埋め込むためのプログラムを提供する。このプログラムは、コンピュータに、
ディザ化により所定ビット数のコードが埋め込まれた多値階調の画像データを入力する画像入力ステップと、
画像データを複数領域に分割して分割画像データを生成する画像分割ステップ部と、
分割画像データの各々を、前記コードの各ビットに対応させた複数の階調区分の階調別画像データに分割してディザパターンの含まれる画像領域を検出する画像領域検出ステップと、
分割画像データの各々から階調別の画像領域を切出し、各切出し画像データに埋め込まれているディザパターンを検出するディザ検出ステップと、
検出されたディザパターンを元にコードを生成するコード生成ステップと、
を実行させることを特徴とする。
【００３６】
尚、このプグラムの詳細は、画像コード化装置および画像コード復調装置の場合と基本的に同じになる。
【００３７】
【発明の実施の形態】
図２は、本発明による画像コード化装置の実施形態のブロック図である。
【００３８】
図２において、画像コード化装置は、画像入力部１０、コード入力部１２、階調分割部１４、ディザ化処理部１６及びプリンタ２４で構成される。ディザ化処理部１６には変換テーブル１８、選択部２０及びディザ化部２２が設けられている。
【００３９】
このような本発明における画像コード化装置は、例えば図３のようなコンピュータにおけるハードウェア資源により実現される。
【００４０】
図３のコンピュータにおいて、ＣＰＵ１００のバス１０１にはＲＡＭ１０２、フロッピーディスクドライバ（ソフト）１１０、ＣＤ−ＲＯＭドライバ（ソフト）１１４、マウスコントローラ１１８、キーボードコントローラ１２２、ディスプレイコントローラ１２６、通信用ボート１３０、プリンタドライバ（ソフト）１３４、ＯＣＲドライバ（ソフト）１３６が接続される。
【００４１】
ハードディスクコントローラ１０４はハードディスクドライブ１０６を接続し、本発明の画像処理、すなわち画像にコードを埋め込むコード化と、コードが埋め込まれた画像からコードを復元するコード復調ためのアプリケーションプログラムをローディングしており、コンピュータの起動時にハードディスクドライブ１０６からアプリケーションプログラムを呼び出して、ＲＡＭ１０２上に展開し、ＣＰＵ１００により実行する。
【００４２】
フロッピィディスクドライバ１０４にはフロッピィディスクドライブ（ハード）１１２が接続され、フロッピーディスクに対する読み書きができる。ＣＤ−ＲＯＭドライバ１１４に対しては、ＣＤドライブ（ハード）１１６が接続され、ＣＤに記憶されたデータやプログラムを読み込むことができる。
【００４３】
マウスコントローラ１１８はマウス１２０の入力操作をＣＰＵ１００に伝える。キーボードコントローラ１２２はキーボード１２４の入力操作をＣＰＵ１００に伝える。ディスプレイコントローラ１２６は表示部１２８に対して表示を行う。通信ボート１３０は通信回線１３２を使用して他のコンピュータとの間で通信を行う。
【００４４】
プリンタドライバ１３４はＣＰＵ１００によりＲＡＭ１０２上に作成された多値階調の画像データをプリンタ２うにより印刷させる。スキャナドライバ１３６は光学的読取装置（ＯＣＲ）１３８を接続し、光学的読取装置１３８で読み取った画像データをＲＡＭ１０２上に読み込んでＣＰＵ１００による画像処理を可能とする。
【００４５】
再び図２を参照し、各ブロック部分の構成を説明する。画像入力部１０はＣＭＯＳセンサ、ＣＣＤセンサ、スキャナなどで実現され、写真や印刷物などを操作することで画像データを入力する。この画像入力部１０は図３のハードウェア資源にあってはスキャナドライバ１３６及び光学的読取装置１３８の部分に相当する。また、この実施形態において、画像入力部１０は階調数２５６のグレースケールの多値画像データを入力する。
【００４６】
コード入力部１２は、画像入力部１０で入力した画像データに埋め込むコードを入力する。この実施形態にあっては４ビットコード「ｂ３，ｂ２，ｂ１，ｂ０」を画像に埋め込む場合を例にとっている。
【００４７】
画像入力部１０で入力された画像データは階調分割部１４に与えられ、コード入力部１２に入力されている４ビットコードのビット数に対応した複数の階調区分の階調画像データに分割される。
【００４８】
この実施形態の階調分割部１４にあっては、コード入力部１２に入力した４ビットコードのビット数に対応してグレースケール階調数２５６の画像データの階調範囲を第１階調区分、第２階調区分、第３階調区分及び第４階調区分の４つに分割し、且つ階調区分別の階調画像データを出力する。
【００４９】
ここで各階調区分は次のようになる。
（１）第１階調区分は階調０〜６３
（２）第２階調区分は階調６４〜１２７
（３）第３階調区分は階調１２８〜１９１
（４）第４階調区分は階調１９２〜２５５
ディザ化処理部１６は、階調分割部１４より出力された４つの階調別画像データをコード入力部１２の各コードビットに対応した異なるディザマトリクスを用いてディザ化した後に合成し、プリンタ２４に出力して印刷させる。
【００５０】
このためディザ化処理部１６には、変換テーブル１８、選択部２０及びディザ化部２２が設けられている。変換テーブル１８にはコード入力部１２の各コードビットｂ０〜ｂ３に対応した異なるスクリーン角のディザマトリクスが格納されている。
【００５１】
選択部２０はコード入力部１２のコードビットｂ０，ｂ１，ｂ２，ｂ３が例えば「１」の時、変換テーブル１８から対応するスクリーン角のディザマトリクスを選択してディザ化部２２に出力し、階調分割部１４より得られている各コードビットに対応した階調別画像データをディザ化する。
【００５２】
またコードビットｂ０〜ｂ３が「０」の場合には選択部２０による変換テーブル１８からの対応するスクリーン角のディザマトリクスの選択によりディザ化を行わず、階調分割部１４より出力された対応する階調別画像データをそのまま出力する。
【００５３】
ディザ化部２２で各コードビットの値である（０，１）においてディザ化された階調別の階調画像データは、最終的に合成された後にプリンタ２４に送られて印刷される。
【００５４】
図４は、図２の画像コード化装置の詳細を示した機能ブロック図であり、特にディザ化処理部１６に設けている変換テーブル１８、選択部２０及びディザ化部２２についてその詳細を示している。
【００５５】
図４において、画像入力部１０からの画像データは階調分割部１４で４つの階調別の階調画像データに分割されて出力される。コード入力部１２にはレジスタ２６が設けられており、ユーザもしくはアプリケーションから指定された入力コードとしてコードビットｂ０〜ｂ３をラッチしている。
【００５６】
変換テーブル１８にはレジスタ２６のコードビットｂ０〜ｂ３の各ビット位置に対応してスクリーン角の異なるディザマトリクス２８−１，２８−２，２８−３，２８−４が予め格納されている。
【００５７】
図５は、図４の変換テーブル１８に格納されたディザマトリクス２８−１〜２８−４で実現されるディザスクリーンであり、階調値０〜２５５の画素を並べた状態で各階調値のディザマトリクスをして各画素をディザ化して表している。
【００５８】
即ち変換テーブル１８のコードビットｂ０，ｂ１，ｂ２，ｂ３をインデックスとしてスクリーン角の異なるディザスクリーン３６−１、３６−２、３６−３、３６−４を実現するディザマトリクスが格納されている。これら４種類のディザスクリーン３６−１〜３６−４は図示のスクリーンパターンからわかるように、それぞれ異なったスクリーン角θ１，θ２，θ３及びθ４を持っている。
【００５９】
ここでディザマトリクスによる階調画像データのディザ化を簡単に説明する。白黒印刷にあっては、通常、多値画像データを白黒ドットに変換する２値化処理を行っており、この２値化処理は多値画像データを出力画像のトーンに応じて決定される一定のスライスレベルで白ドットと黒ドットに変換する単純２値化がもっとも良く使われている。しかし、単純２値化では線画や文字のように白黒がはっきりした画像の解像度は問題ないが、写真などの中間調画像などの階調が再現できない。
【００６０】
そこで写真などの中間調を再現する場合の２値化は、通常、ディザ法が使われる。ディザ法は例えば２５６階調のグレースケールを表現するために縦横に各１６ドットのサイズを持つマトリクスを準備し、０〜２５６の階調値に応じて例えば中心からスパイラル状に白黒領域を変化させる面積階調表現を行った２５６種類のディザマトリクスを準備する。
【００６１】
このようなディザマトリクスを使用したディザ化は、縦横１６ドットサイズのディザマトリクスの配列方向、即ちスクリーン角を変えることができる。このようにディザマトリクスのスクリーン角を変えることで、例えば図５の変換テーブル１８の各ディザスクリーン３６−１〜３６−４に示すように、それぞれ異なった方向性をもったディザパターンを生成することができる。
【００６２】
本発明にあっては、ディザマトリクスを使用する際のスクリーン角を、画像に埋め込むコードビットに対応して異ならせることで、階調別画像データをディザ化して合成することでコードの埋め込みを行っている。
【００６３】
即ち、変換テーブル１８には、階調値０〜２５５の各に対応したディザマトリクスと、各コードビットに対応したスクリーン角の設定値が格納され、ディザ化するコードビットに対応したスクリーン角を選択し、各画素の階調値により使用するディザマトリクスを使用してディザ化する。
【００６４】
図６は本発明における画像のディザ化の具体例である。図６（Ａ）は画像入力部１０より入力される原画３８であり、この原画３８についてディザのかかり具合をわかりやすく説明するため、画素を間引きして粗くした後に、例えば図５のディザスクリーン３６−１を実現するスクリーン角を選択し、各画素の階調値に対応したディザマトリクスによりディザ化を行うと、図６（Ｂ）のディザ画像４０が得られる。
【００６５】
本発明にあってはこのような原画３８の画像データを４つの階調区分に分けて、階調別の画像データに分割した後に、ディザ化を行っている。
【００６６】
図７は階調別画像データのディザ化の説明図である。図７（Ａ）のディザ画像４２は、図６（Ａ）の原画３８の画像データから第２階調区分となる階調値６４〜１２７の階調別画像を分離し、この階調別画像に図５のディザスクリーン３６−１を生成するスクリーン角を選択し、各画素の階調値に対応したディザマトリクスを使用してディザ化した画像である。
【００６７】
この階調６４〜１２７の範囲を分割したディザ画像４２は、その中の階画像領域の部分に図５の変換テーブル１８に表しているディザスクリーン３６−１が表れている。
【００６８】
図７（Ｂ）は、図７（Ｂ）と同じ第２区分の階調６４〜１２７の階調別画像データについて、図５のディザスクリーン３６−２を生成するスクリーン角を選択し、各画素の階調値に対応したディザマトリクスを使用してディザ化したディザ画像４４である。
【００６９】
この図７（Ａ）のディザ画像４２と図７（Ｂ）のディザ画像４４を対比してみると、同じ階調別の画像であるが、その画像領域について図７（Ａ）のディザ画像４２はディザパターン３６−１１のスクリーン角であり、図７（Ｂ）のディザ画像４４はディザパターン３６−２１のスクリーン角となっている。
【００７０】
即ちディザ画像４２におけるディザパターン３６−１１はスクリーン角で決まる周期性の方向が斜め方向となっている。これに対しディザ画像４４におけるディザパターン３６−２１は、スクリーン角で決まる周期性の方向が水平及び垂直方向となっている。
【００７１】
もちろん図２及び図４の実施形態にあっては、第２階調区分となる階調値６４〜１２７の階調別画像データに対しては第２ビットｂ１が「１」の時、図５のディザスクリーン３６−２のスクリーン角でディザマトリクスを配置してディザ化を行っており、このため実際には図７（Ｂ）のようなディザパターン３６−２１を持つディザ画像４４が生成される。
【００７２】
また第１階調区分０〜６３の階調別画像データについては、第１ビットｂ０が「１」の時、図５のディザスクリーン３６−１を生成するスクリーン角を設定した状態てディザマトリクスを使用してディザ化を図る。また第３階調区分の階調値１２８〜１９１の階調別画像データについては、図５の第３ビットｂ２が「１」の時、ディザスクリーン３６−３を生成するスクリーン角を設定した状態で、ディザ化を行う。
【００７３】
更に第４階調区分の階調値１９２〜２５６の階調別画像データについては、図５の第４ビットｂ３が「１」の時、ディザスクリーン３６−４を生成するスクリーン角を設定した状態で、ディザマトリクスを使用したディザ化が行われることになる。
【００７４】
図８は、図２及び図４の実施形態における画像コード化処理の処理手順であり、これが本発明における画像コード化プログラムの処理ステップを表している。
【００７５】
図８において、ステップＳ１で画像データを入力し、続いてステップＳ２で画像に埋め込む４ビットコードを入力する。続いてステップＳ３で階調区分番号ｉとディザマトリクス番号ｊをそれぞれ「１」に初期化する。
【００７６】
次にステップＳ４で階調区分ｉ＝１即ち０〜６３の階調値を持つ画素として階調別画像データを分割し、ステップＳ４でディザマトリクス番号ｊ＝１に対応したスクリーン角のディザマトリクス２８−１を選択し、この時、第１コードビットｂ０が「１」であれば、選択したディザマトリクスによりディザ化を行う。コードビットｂ０が「０」であれば、ディザ化を行わない。
【００７７】
続いてステップＳ６でディザ化の済んだ画像をメモリに保存する。続いてステップＳ７でディザマトリクス番号ｊをひとつカウントアップした後、ステップＳ８で階調区分番号ｉが４を超えたか否かをチェックし、超えていなければステップＳ９でｉ，ｊをそれぞれひとつ増加させた後、ステップＳ４からの処理を繰り返す。
【００７８】
４つの階調区分について、全てディザ化が済むとステップＳ１０に進み保存したディザ画像をマージした後、ステップＳ１１でプリンタ２４によりプリントアウトする。
【００７９】
図９は、図２の画像コード化装置でコードが埋め込まれてプリンタ２４より出力された印刷画像からコードを復元するための画像データ復調装置のブロック図である。
【００８０】
図９において、画像からコードを復元するための画像コード復調装置は、画像入力部４８、画像領域検出部５０、ディザ検出部５６及びコード生成部６４を備える。画像領域検出部５０には低域濾過部５２と階調分割部５４が設けられる。またディザ検出部５６にはＦＦＴ処理部５８、比較部６０及び変換テーブル６２が設けられる。
【００８１】
図１０は、図９のディザ検出部５６の詳細を他のブロック図と共に示した説明図である。図１０において、ディザ検出部５６のＦＦＴ処理部５８は、４つの階調区分に対応して階調領域切出部６６−１〜６６−４と２次元ＦＦＴ６８−１〜６８−４を設けている。
【００８２】
また比較部６０には４つの比較器７０−１〜７０−４が設けられる。更に変換テーブル６２には４つの階調区分に対応して基準パターン７２−１〜７２−４が設けられている。
【００８３】
まず画像入力部４８は、図２，図４の画像コード化装置のプリンタ２４で印刷された印刷物を読み取って、画像データを入力する。即ち画像入力部４８はディザ化により４ビットのコードが埋め込まれた画像データを入力する。
【００８４】
画像領域検出部５０は、画像入力部４８からの画像データを埋め込まれているコードビットの各々に対応させた複数の階調区分、この実施形態にあっては４つの階調区分の階調別画像データに分割し、ディザパターンの含まれる階調別の画像領域を検出する。
【００８５】
具体的には低域濾過部５２で画像データを平均して、ディザパターンを除去する。このディザパターンを除去した画像データについて、階調分割部５４で、スクリーン角の異なるディザスクリーンが埋め込まれているコードの各コードビットｂ０〜ｂ４に対応させた４つの階調区分、即ち０〜６３の第１階調区分、６４〜１２７の第２階調区分、１２８〜１９１の第３階調区分及び１９２〜２５５の第４階調区分の階調別画像データに分割し、それぞれの中の階調別の画像領域を検出する。
【００８６】
このような画像領域検出部５０における階調別画像領域の検出に際し、ディザ化されている画像データの平均化による低域濾過処理を行うことで、より正確に各階調における画像の存在する領域を検出することができる。
【００８７】
ディザ検出部５６は、画像入力部４８の画像データから画像領域検出部５０で検出された階調別の画像領域を切出し、各切出し画像データに含まれているディザパターン、具体的にはスクリーン角を検出する。
【００８８】
このディザ検出部５６の詳細は図１０に示すようになっている。まずＦＦＴ処理部５８は、画像領域検出部５０で検出された階調別の画像領域を入力し、この階調別の画像領域を使用して画像入力部４８の画像データから対応する画像領域を階調領域切出部６６−１〜６６−４のそれぞれにより階調別に切出す。
【００８９】
続いて２次元ＦＦＴ６８−１〜６８−４のそれぞれに各階調別に切出した階調領域の画像データを対象に２次元ＦＦＴ処理（２次元高速フーリエ変換処理）を実行する。この２次元ＦＦＴ処理により切出された各階調領域の画像の周期性を解析結果として得ることが出来る。
【００９０】
図１１は、図５の変換テーブル１８に示しているディザスクリーン３６−１〜３６−４を持つ領域、例えば縦１２８ドット、横１６０ドットの領域を対象に２次元ＦＦＴ処理を行った場合の処理結果である。
【００９１】
図１１（Ａ）はビットｂ０に対応したディザパターン３６−１の２次元ＦＦＴの変換パターン７３−１であり、ｘ軸、ｙ軸はそれぞれの方向における空間周波数（波数）を表しており、原点で周波数ゼロとなっている。このｘｙ平面に対し、ｚ軸方向が周波数スペクトルのパワーとなるが、３次元で表せないことからスペクトルパワーが大きい程、黒くなるように表している。
【００９２】
従って、ｘｙ平面における黒い点の部分が２次元ＦＦＴで変換で得られた各空間周波数（波数）を表している。また原点からみた黒点の方向が、物理的な画像面における周期性の方向を表している。従って、この変換パターン７３−１からディザパターンの周期性、即ちスクリーン角を認識することができる。
【００９３】
図１１（Ｂ）は図５のビットｂ１に対応したディザスクリーン３６−２を２次元ＦＦＴした変換パターン７３−２であり、図１１（Ｃ）は同じくビットｂ２に対応したディザスクリーン３６−３の２次元ＦＦＴの変換パターン７３−３であり、更に図１１（Ｄ）は同じくビットｂ３に対応したディザスクリーン３６−４の２次元ＦＦＴによる変換パターン７３−４である。
【００９４】
この図１１（Ａ）〜（Ｄ）の４つの２次元ＦＦＴによる変換パターン７３−１〜７３−４を対比してみると、ディザスクリーンのスクリーン角の相違による周期性の相違が明確に表れている。
【００９５】
このような画像データに埋め込まれているディザパターンの周期性に基づく変換パターン７３−１〜７３−４が、図１０の変換テーブル６２に基準パターン７２−１，７２−２，７２−３，７２−４として格納されている。
【００９６】
この基準パターン７２−１〜７２−４を比較部６０に設けている比較器７０−１〜７０−４のそれぞれで２次元ＦＦＴ６８−１〜６８−４から得られた変換パターンと比較することで、ディザパターンが存在するか否か比較出力をコード生成部６４に出力する。
【００９７】
比較器７０−１〜７０−４による比較は、比較パターンと基準パターンの白点のピーク部分のｘｙ平面上での位置的な一致を自己相関などにより評価し、この評価値から一致するか否か判断することになる。
【００９８】
コード生成部６４は、比較部６０の各比較器７０−１〜７０−４より２次元ＦＦＴの変換パターンと基準パターンの一致結果が得られた時、ビット「１」を生成し、不一致の時はビット「０」を生成し、これによって画像に埋め込まれている４ビットコード「ｂ３，ｂ２，ｂ１，ｂ０」を復元することができる。
【００９９】
コード生成部６４で生成されたコードは、例えば復元コードとＵＲＬの変換テーブルを利用して画像に埋め込まれたコードによるサービスを提供するウェブページのアドレスを取得し、このウェブページにアクセスして必要な情報を得るなどの利用ができる。
【０１００】
図１２は、図９，図１０における画像コード復調処理のフローチャートであり、本発明の画像コード復元処理のプログラムの処理手順を同時に表している。
【０１０１】
図１２において、画像コード復調処理はステップＳ１でディザ化によりコードが埋め込まれた印刷物を例えばＯＣＲで読み取ることにより、画像データを入力して保存する。
【０１０２】
続いてステップＳ２で入力画像のディザ成分を除去するために低域濾過処理（平均化処理）を行う。続いてステップＳ３で階調区分番号ｉとディザマトリクス番号ｊをそれぞれ「１」に初期化する。
【０１０３】
続いてステップＳ４で階調区分ｉ＝１、即ち階調値０〜６３の第１階調区分で画像を分割してその階調における画像領域を検出し、ステップＳ５で保存している入力画像から階調区分ｉ＝１の画像領域を切出す。そしてステップＳ６で切出した画像領域の画像データを対象に２次元ＦＦＴ処理を実行する。
【０１０４】
続いてステップＳ７で変換パターンを基準パターンと比較し、即ちスクリーン角が一致するか否か比較し、ステップＳ８でスクリーン角が一致すればステップＳ９で復調ビットとして「１」を生成し、不一致であればステップＳ１０で復調ビットして「０」を生成する。
【０１０５】
続いてステップＳ１１で復調ビットを保存した後、ステップＳ１２で階調区分番号ｉが量を超えていなければステップＳ１３でｉ，ｊをそれぞれひとつ増加させた後、ステップＳ４からの処理を繰り返す。全ての階調区分について復調処理を終了するとステップＳ１４に進み復調コードを出力する。
【０１０６】
図１３は、本発明による画像データ復調装置の他の実施形態のブロック図である。この実施形態にあっては、階調別の画像領域の中の最大矩形領域を検出して、入力した画像データから２次元ＦＦＴを行うための画像切出しを行うようにしたことを特徴とする。
【０１０７】
図１３において、画像入力部４８、画像領域検出部５０、ディザ検出部５６及びコード生成部６４の構成は、基本的に図９の実施形態と同じであるが、画像領域検出部５０に低域濾過部５２及び階調分割部５４に続いて最大矩形領域検出部７４を設けている。
【０１０８】
図１４は、図１３のディザ検出部５６の詳細を他のブロック図と共に示した説明図である。画像領域検出部５０に設けた最大矩形領域検出部７４は、低域濾過部５２でディザ成分が除去された画像データを対象に、階調分割部５４で４つの階調区分ごとの階調別画像データを対象に検出された階調別の画像領域について、最大矩形面積を持つ領域を検出する。
【０１０９】
この最大矩形面積を持つ領域検出は、ＦＦＴ処理部５８における２次元ＦＦＴ処理の高速化を図る。即ち２次元ＦＦＴ処理にあっては、処理対象とする画像範囲が２の累乗のときに最も速い速度で処理を行うことができる。
【０１１０】
そこで最大矩形領域検出部７４にあっては、各階調別の画像領域の中から２の累乗となる最大矩形領域を検出し、この最大矩形領域を使用して、ＦＦＴ処理部５８における階調領域切出部６６−１〜６６−４のそれぞれで画像入力部４８に保存している画像データからの切出しを行い、２次元ＦＦＴ６８−１〜６８−４で処理を行う。
【０１１１】
図１５は、図１３，図１４の画像コード復調処理の処理手順のフローチャートである。このコード復調処理のフローチャートは、図１２の画像コード復調処理と基本的に同じであるが、ステップＳ５で保存画像から階調区分ｉの最大矩形領域、具体的には２の累乗の縦横の矩形サイズを持つ最大矩形領域を切り出して、ステップＳ６で切出し領域の２次元ＦＦＴを行っている点が相違する。
【０１１２】
図１６は、本発明による画像コード復調装置の他の実施形態を示したブロック図である。この実施形態にあっては、階調別の切出し画像データにおけるディザパターンの検出を、ニューラルネットワークを利用して行うことを特徴とする。
【０１１３】
図１６において、画像コード復調装置は、画像入力部４８、画像領域検出部５０、ニューラルネットワーク処理部７８及びコード生成部６４で構成される。画像領域検出部５０には低域濾過部５２と階調分割部５４が設けられている。
【０１１４】
ここで、ニューラルネットワーク処理部７８以外の構成及び動作は図９の実施形態と同じである。
【０１１５】
図１７は、図１６のニューラルネットワーク処理部７８の詳細を他のブロックと共に示している。ニューラルネットワーク処理部７８には階調領域切出部６６−１〜６６−４が設けられており、これは図１０の実施形態と同じである。
【０１１６】
続いてニューラルネットワーク７８−１〜７８−４が設けられている。ニューラルネットワーク７８−１〜７８−４は、例えば図５に示したようなスクリーン角の異なるディザスクリーン３６−１〜３６−４のそれぞれを教師データに使用し、この教師データによるトレーニングで教師データと同じ変換パターンが得られたときにディザパターン検出出力を生ずるように学習処理が施されている。
【０１１７】
したがって、階調別に切り出された画像データをニューラルネットワーク７８−１〜７８−４に入力することで、コードビットの埋め込みに対応したディザパターンが存在するか否かの検出出力を得ることができ、これに基づいてコード生成部６４で４ビットコードを復調することができる。
【０１１８】
この図１６，図１７に示したニューラルネットワークを用いた埋め込みコードの復調については、図５のスクリーン角度の異なるディザスクリーン以外に、図１８の変換テーブル１８について示すようなストカスティックスクリーンを用いることができる。
【０１１９】
図１８の変換テーブル１８にあっては、コードビットｂ０，ｂ１，ｂ２，ｂ３のそれぞれに対応して異なるパターンのストカスティックスクリーン７６−１，７６−２，７６−３，７６−４を実現するディザマトリクスを格納している。
【０１２０】
ストカスティックスクリーンは一般に統計スクリーンとして知られており、周期的な方向性を持たない。このストカスティックスクリーンは誤差拡散法の変形であり、誤差拡散法で使用している誤差拡散マトリクスに設定している重みを変えることで、スクリーンパターンを例えば図１７の４種類のように異なったパターンとすることができる。
【０１２１】
この図１８における４種類のストカスティックスクリーン７６−１〜７６−４は、む特有の空間周波数特性を持っており、図９，図１０のＦＦＴ処理部５８において、２次元ＦＦＴ処理を施すことで固有の変換パターンを得ることができ、これを基準パターンと比較することで、ストカスティックスクリーンによるディザパターンの埋め込みの有無を検出することができる。
【０１２２】
しかしながら、図１８のストカスティックスクリーンにあっては、一定のスクリーン角を持つディザパターンのような周期性がなく、ランダム性が高いことから、基準パターンとの比較による検出精度が低くなる可能性がある。
【０１２３】
そこで、このようなスクリーン角が特定しないストカスティックスクリーンについては、図１６，図１７の実施形態に示したように、ニューラルネットワークを使用することで、ストカスティックスクリーンを使用したディザ化によるディザパターンの埋め込みを高精度で検出することができる。
【０１２４】
図１９は、本発明による画像コード化装置の他の実施形態であり、この実施形態にあっては、入力した画像データを複数の画像に分割した後に、分割した画像のそれぞれについてコードを埋め込むようにしたことを特徴とする。これによって、画像に埋め込むことのできるコードのビット数を簡単に増加することができる。
【０１２５】
図１９において、この実施形態の画像コード化装置は、画像入力部１０に続いて画像分割部８０を設けており、画像分割部８０で例えば入力した画像データを４分割する。階調分割部１４は、画像分割部８０で分割された各分割画像データを対象に、図２の実施形態と同様、４つの階調区分に分割して階調別の画像領域を検出する。
【０１２６】
ディザ化処理部１６は、変換テーブル１８、選択部２０及びディザ化部２２で構成され、階調分割部１４より出力された４つの分割画像ごとに、それぞれの分割画像に埋め込む４ビットコードの値「１」で、変換テーブル１８から対応するディザマトリクスを選択してディザ化部２２でディザ化し、４つの分割画像についてマージされた画像を画像合成部８２で合成して元の画像に戻し、プリンタ２４で印刷する。
【０１２７】
このように画像分割部８０で入力した画像データを４分割することで、各分割画像当り４ビットコードをディザ化により埋め込むことから、合計１６ビットのコードを画像に埋め込むことができる。
【０１２８】
この図１９の実施形態における画像分割部８０及び画像合成部８２以外の構成は、各分割画像ごとに処理を繰り返す点を除き、図２，図４に示したと同じ構成を持つ。
【０１２９】
図２０は、図１９の画像分割を伴う画像コード化処理のフローチャートである。この画像コード化処理にあっては、ステップＳ１で画像データを入力し、ステップＳ２で１６ビットコードを入力する。続いてステップＳ３で、入力した画像データを４分割し、ステップＳ４で、階調区分番号ｉ、ディザマトリクス番号ｊ及び画像分割番号ｋを、それぞれ１に初期化する。
【０１３０】
続いてステップＳ５〜Ｓ８で、そのときの階調区分の画像データから画像領域を検出する階調分割処理を行って元の画像データから切り出した後、コードビットが「１」であれば、対応するスクリーン角のディザマトリクスによりディザ化してメモリに保存する。
【０１３１】
このようなステップＳ５〜Ｓ８のディザ化による画像へのコードの埋め込みを、ステップＳ１０で１つの分割画像について４つの処理区分のディザ化が済むまで繰り返す。
【０１３２】
続いてステップＳ１０で１つの分割画像について得られた４つの保存ディザ画像をマージした後、ステップＳ１２で分割画像の処理数が４を超えたか否かチェックし、４以下であれば、ステップＳ１３でｉ，ｊを「１」に初期化した後、画像分割番号ｋを１つ増加させて、ステップＳ５に戻り、次の分割画像についての４ビットコードのディザ化による埋め込みを行う。
【０１３３】
４つの分割画像データに対しディザ化によりそれぞれ４ビットコードの埋め込みが済むと、ステップＳ１４で４ビットずつディザ化によりコードを埋め込んだ４つの分割画像を結合し、ステップＳ１５でプリントアウトする。
【０１３４】
図２１は、図１９の画像コード化処理により印刷出力された画像を対象とした画像コード復調装置の実施形態のブロック図である。
【０１３５】
図２１において、この実施形態の画像コード復調装置は、画像入力部４８に続いて画像分割部８４を設け、入力した画像データを図１９の画像コード化側と同じ４つの画像データに分割する。
【０１３６】
画像分割部８４で分割された各分割データは画像領域検出部５０に与えられ、低域濾過部５２でディザ成分が除去された後、階調分割部５４で各分割画像について階調別の画像領域を検出し、ディザ検出部５６に出力する。
【０１３７】
ディザ検出部５６にあっては、分割画像ごとに画像領域検出部５０から得られる階調別の検出領域を使用して、ディザ成分が除去されていない画像入力部４８からの画像データから切り出しを行い、切り出した画像領域について２次元ＦＦＴ処理を行う。
【０１３８】
この２次元ＦＦＴ処理により得られた変換パターンは、比較部６０で変換テーブル６２に格納している基準パターンと比較され、ディザパターンが存在するか否かの比較出力をコード生成部６４に出力する。
【０１３９】
画像領域検出部５０及びディザ検出部５６は、画像分割部８４で分割された４つの画像データのそれぞれについて埋め込みコードを復調する処理を行い、これによって、コード生成部６４により１６ビットのコードを生成することができる。
【０１４０】
図２２は、図２１の実施形態における画像コード復調処理のフローチャートである。この画像コード復調処理にあっては、ステップＳ１で画像データを入力して保存した後、ステップＳ２で画像を４分割した後、ステップＳ３で分割画像のそれぞれについて低域濾過処理を行ってディザ成分を除去する。
【０１４１】
続いてステップＳ４で階調区間番号ｉ、ディザマトリクス番号ｊ及び画像分割番号ｋを１に初期化した後、ステップＳ５〜Ｓ１３で、１つの分割画像を対象に階調別の画像領域を切出して２次元ＦＦＴにより変換パターンをもとめ、基準パターンと比較し、実質的にスクリーン角についての比較判定を行い、一致していればビット「１」を復調し、不一致であればビット「０」を復調する。
【０１４２】
このステップＳ５〜ステップＳ１４の処理は、図１２におけるステップＳ４〜Ｓ１３の処理と同じである。ステップＳ１３で１つの分割画像について４つの階調区分におけるデータビットの復調が終了すると、ステップＳ１５で画像分割番号ｋが４を超えたか否かチェックし、超えていなければ、ステップＳ１６でｉ，ｊを１に初期化した後、画像分割番号ｋを１つ増加させて、ステップＳ５からの処理を繰り返す。
【０１４３】
このようにして分割された４つの分割画像についてのそれぞれ４ビットとなるコードの復調が終了すると、ステップＳ１７で１６ビットの復調コードを出力する。
【０１４４】
なお、上記の実施形態は画像を埋め込むための画像入力部としてＯＣＲを例にとるものであったが、ＯＣＲと同等な解像度が得られれば、ＣＭＯＳセンサやＣＣＤセンサなどのカメラを使用して画像を取り込むようにしてもよい。
【０１４５】
一方、本発明において画像コード化装置は、ディザ化により埋め込まれたコードを持つ画像を印刷出力する必要があることから、図２のハードウェア環境に示したようなコンピュータで通常は実現されるが、ディザ化されたコードが埋め込まれた画像からコードを復調する装置については、十分な解像度が得られるＣＭＯＳセンサやＣＣＤセンサを使用できる場合には携帯電話などの携帯機器として実現することができる。
【０１４６】
これによって、携帯電話のカメラによりディザ化によるコードが埋め込まれた画像を撮影することで、画像に埋め込まれているコードを復調し利用することができる。
【０１４７】
また、携帯電話などの処理性能に制約がある機器にあっては、実用的な処理時間でコードを復調できない場合には、読み取った画像データを本発明による画像コード復調機能を備えたサーバに送ってコードを復調させ、復調結果として得られたコードを送り返すような使い方も可能である。
【０１４８】
また本発明の画像へのコード埋め込みに使用するディザ法としては、上記の実施形態に限定されず、適宜のディザ法を用いることができる。また本発明は、その目的と利点を損なうことのない適宜の変形を含み、更に上記の実施形態に示した数値による限定は受けない。
【０１４９】
（付記）
（付記１）
多値階調の画像データを入力する画像入力部と、
前記画像データに埋め込む所定ビット数のコードを入力するコード入力部と、
前記画像データを、前記コードの各ビットに対応させた階調区分の階調別画像データに分割する階調分割部と、
前記階調別画像データの各々を、前記コードの各ビットに対応した互いに異なるディザマトリクスを用いてディザ化した後に合成するディザ化処理部と、
を備えたことを特徴とする画像コード化装置。（１）
【０１５０】
（付記２）
付記１の画像コード化装置に於いて、前記ディザ化処理部は、
前記コードのビット位置に応じて異なるディザマトリクスを格納した変換テーブルと、
前記コードの各ビットに対応したディザマトリクスを前記変換テーブルから選択する選択部と、
前記選択部で選択されたディザマトリクスを用いて対応する階調別画像データをディザ化するディザ化部と、
を備えたことを特徴とする画像コード化装置。
【０１５１】
（付記３）
付記２の画像コード化装置に於いて、前記ディザ化処理部は、前記コードの各ビットが１の場合、前記選択部により前記変換テーブルから対応するディザマトリクスを選択して前記ディザ化部で対応する階調別画像データをディザ化させ、前記コードの各ビットが０の場合、対応する階調別画像データをディザ化せずにそのまま出力させることを特徴とする画像コード化装置。
【０１５２】
（付記４）
付記２の画像コード化装置に於いて、前記ディザ化処理部は、前記コードの各ビットが０の場合、前記選択部により前記変換テーブルから対応するディザマトリクスを選択して前記ディザ化部で対応する階調別画像データをディザ化させ、前記コードの各ビットが１の場合、対応する階調別画像データをディザ化せずにそのまま出力させることを特徴とする画像コード化装置。
【０１５３】
（付記５）
付記２の画像コード化装置に於いて、前記ディザ化処理部は、スクリーン角の異なるディザマトリクスを使用することを特徴とする画像コード化装置。
【０１５４】
（付記６）
付記２の画像コード化装置に於いて、前記ディザ化処理部は、異なるストカスティックスクリーンのディザマトリクスを使用することを特徴とする画像コード化装置。
【０１５５】
（付記７）
ディザ化により所定ビット数のコードが埋め込まれた多値階調の画像データを入力する画像入力部と、
前記画像データを前記コードの各ビットに対応させた複数の階調区分の階調別画像データに分割してディザパターンの含まれる階調別の画像領域を検出する画像領域検出部と、
入力された画像データから前記画像領域検出部で検出された階調別の画像領域を切出し、各切出し画像データに埋め込まれているディザパターンを検出するディザ検出部と、
前記ディザ検出部で検出されたディザパターンを元にコードを生成するコード生成部と、
を備えたことを特徴とする画像コード復調装置。（２）
【０１５６】
（付記８）
付記７の画像コード復調装置に於いて、前記画像領域検出部は、
前記画像データを平均化してディザパターンを除去する低域濾過部と、
前記低域濾過部からの画像データを、前記コードの各ビットに対応させた複数の階調区分の階調別画像データに分割して階調別の画像領域を検出して前記ディザ検出部に出力する階調分割部と、
を備えたことを特徴とする画像コード復調装置。
【０１５７】
（付記９）
付記７の画像コード復調装置に於いて、前記画像領域検出部は、
前記画像データを平均化してディザパターンを除去する低域濾過部と、
前記低域濾過部からの画像データを、前記コードの各ビットに対応させた複数の階調区分の階調別画像データに分割して階調別の画像領域を検出する階調分割部と、
前記階調分割部で検出された階調別の画像領域の中の最大面積の矩形画像領域を検出して前記ディザ検出部に出力する矩形最大面積検出部と、
を備えたことを特徴とする画像コード復調装置。
【０１５８】
（付記１０）
付記７の画像コード復調装置に於いて、前記ディザ検出部は、前記階調別の切出し画像データに対し２次元ＦＦＴを行ってディザパターンの有無を検出することを特徴とする画像コード復調装置。
【０１５９】
（付記１１）
付記７の画像コード復調装置に於いて、前記ディザ検出部は、コードのディザ化に使用しているディザスクリーンを教師データとして学習されたニューラルネットワークにより、前記階調別の切出し画像データからディザパターンを検出することを特徴とする画像コード復調装置。
【０１６０】
（付記１２）
多値階調の画像データを入力する画像入力部と、
前記画像データを複数領域に分割して分割画像データを生成する画像分割部と、前記画像分割部で分割された分割画像データの各々に埋め込む所定ビット数のコードを入力するコード入力部と、
前記分割画像データの各々を、前記コードの各ビットに対応させた階調区分の階調別画像データに分割する階調分割部と、
前記分割画像データ毎の階調別画像データの各々を、前記コードの各ビットに対応した互いに異なるディザマトリクスを用いてディザ化した後に合成するディザ化処理部と、
を備えたことを特徴とする画像コード化装置。（３）
【０１６１】
（付記１３）
ディザ化により所定ビット数のコードが埋め込まれた多値階調の画像データを入力する画像入力部と、
前記画像データを複数領域に分割して分割画像データを生成する画像分割部と、前記分割画像データの各々を、前記コードの各ビットに対応させた複数の階調区分の階調別画像データに分割してディザパターンの含まれる画像領域を検出する画像領域検出部と、
前記分割画像データの各々から前記画像領域検出部で検出された階調別の画像領域を切出し、各切出し画像データに埋め込まれているディザパターンを検出するディザ検出部と、
前記ディザ検出部で検出されたディザパターンを元にコードを生成するコード生成部と、
を備えたことを特徴とする画像コード復調装置。（４）
【０１６２】
（付記１４）
多値階調の画像データを画像入力部から入力する画像入力ステップと、
前記画像データに埋め込む所定ビット数のコードをコード入力部により入力するコード入力ステップと、
入力された前記画像データを、階調分割部により前記コードの各ビットに対応させた階調区分の階調別画像データに分割する階調区分ステップと、
前記階調分割データの各々を、ディザ化処理部により前記コードの各ビットに対応した互いに異なるディザマトリクスを用いてディザ化した後に合成するディザ化処理ステップと、
を備えたことを特徴とする画像コード化方法。
【０１６３】
（付記１５）
付記１４の画像コード化方法に於いて、前記ディザ化処理ステップは、
前記コードのビット位置に応じて異なるディザマトリクスを格納した変換テーブルから前記コードの各ビットに対応したディザマトリクスを選択する選択ステップと、
選択された前記ディザマトリクスを用いて対応する階調別画像データをディザ化するディザ変換ステップと、
を備えたことを特徴とする画像コード化方法。
【０１６４】
（付記１６）
付記１５の画像コード化方法に於いて、前記ディザ化処理ステップは、前記コードの各ビットが１の場合、前記変換テーブルから対応するディザマトリクスを選択して階調別画像データをディザ化させ、前記コードの各ビットが０の場合、対応する階調別画像データをディザ化せずにそのまま出力させることを特徴とする画像コード化方法。
【０１６５】
（付記１７）
付記１５の画像コード化方法に於いて、前記ディザ化処理ステップは、前記コードの各ビットが０の場合、前記変換テーブルから対応するディザマトリクスを選択して階調別画像データをディザ化させ、前記コードの各ビットが１の場合、対応する階調別画像データをディザ化せずにそのまま出力させることを特徴とする画像コード化方法。
【０１６６】
（付記１８）
付記１５の画像コード化方法に於いて、前記ディザ化処理ステップは、スクリーン角の異なるディザマトリクスを使用することを特徴とする画像コード化方法。
【０１６７】
（付記１９）
付記１５記載の画像コード化方法に於いて、前記ディザ化処理ステップは、異なるストカスティックスクリーンのディザマトリクスを使用することを特徴とする画像コード化方法。
【０１６８】
（付記２０）
ディザ化により所定ビット数のコードが埋め込まれた多値階調の画像データを画像入力部により入力する画像入力ステップと、
前記画像データを画像領域検出部により前記コードの各ビットに対応させた複数の階調区分の階調別画像データに分割してディザパターンの含まれる階調別の画像領域を検出する画像領域検出ステップと、
ディザ検出部により入力された画像データから前記階調別の画像領域を切出し、各切出し画像データに埋め込まれているディザパターンを検出するディザ検出ステップと、
コード生成部により検出された前記ディザパターンを元にコードを生成するコード生成ステップと、
を備えたことを特徴とする画像コード復調方法。
【０１６９】
（付記２１）
付記２０の画像コード復調方法に於いて、前記画像領域検出ステップは、
前記画像データを平均化してディザパターンを除去する低域濾過ステップと、
前記低域濾過された画像データを、前記コードの各ビットに対応させた複数の階調区分の階調別画像データに分割して階調別の画像領域を検出する階調分割ステップと、
を備えたことを特徴とする画像コード復調方法。
【０１７０】
（付記２２）
付記２０の画像コード復調方法に於いて、前記画像領域検出ステップは、
前記画像データを平均化してディザパターンを除去する低域濾過ステップと、
前記低域濾過された画像データを、前記コードの各ビットに対応させた複数の階調区分の階調別画像データに分割して階調別の画像領域を検出する階調分割ステップと、
検出された前記階調別の画像領域の中の最大面積の矩形画像領域を検出する矩形最大面積検出ステップと、
を備えたことを特徴とする画像コード復調方法。
【０１７１】
（付記２３）
付記２０の画像コード復調方法に於いて、前記ディザ検出ステップは、前記階調別の切出し画像データに対し２次元ＦＦＴ処理を行ってディザパターンの有無を検出することを特徴とする画像コード復調方法。
【０１７２】
（付記２４）
付記２０の画像コード復調方法に於いて、前記ディザ検出ステップは、コードのディザ化に使用しているディザスクリーンを教師データとして学習されたニューラルネットワークにより、前記階調別の切出し画像データからディザパターンを検出することを特徴とする画像コード復調方法。
【０１７３】
（付記２５）
多値階調の画像データを画像入力部により入力する画像入力ステップと、
前記画像データを画像分割部により複数領域に分割して分割画像データを生成する画像分割ステップと、
前記分割された画像データの各々に埋め込む所定ビット数のコードをコード入力部により入力するコード入力ステップと、
前記分割画像データの各々を、階調分割部により前記コードの各ビットに対応させた階調区分の階調別画像データに分割する階調分割ステップと、
前記分割画像データ毎の階調別画像データの各々を、ディザ化処理部により前記コードの各ビットに対応した互いに異なるディザマトリクスを用いてディザ化した後に合成するディザ化処理ステップと、
を備えたことを特徴とする画像コード化方法。
【０１７４】
（付記２６）
ディザ化により所定ビット数のコードが埋め込まれた多値階調の画像データを画像入力部により入力する画像入力ステップと、
前記画像データを画像分割部により複数領域に分割して分割画像データを生成する画像分割ステップ部と、
前記分割画像データの各々を、画像領域検出部により前記コードの各ビットに対応させた複数の階調区分の階調別画像データに分割してディザパターンの含まれる画像領域を検出する画像領域検出ステップと、
ディザ検出部により前記分割画像データの各々から前記画像領域検出部で検出された階調別の画像領域を切出し、各切出し画像データに埋め込まれているディザパターンを検出するディザ検出ステップと、
コード生成部により前記ディザ検出部で検出されたディザパターンを元にコードを生成するコード生成ステップと、
を備えたことを特徴とする画像コード復調方法。
【０１７５】
（付記２７）
コンピュータに、
多値階調の画像データを入力する画像入力ステップと、
前記画像データに埋め込む所定ビット数のコードを入力するコード入力ステップと、
入力された前記画像データを、前記コードの各ビットに対応させた階調区分の階調別画像データに分割する階調区分ステップと、
前記階調分割データの各々を、り前記コードの各ビットに対応した互いに異なるディザマトリクスを用いてディザ化した後に合成するディザ化処理ステップと、を実行させることを特徴とするプログラム。（５）
【０１７６】
（付記２８）
付記２７のプログラムに於いて、前記ディザ化処理ステップは、
前記コードのビット位置に応じて異なるディザマトリクスを格納した変換テーブルから前記コードの各ビットに対応したディザマトリクスを選択する選択ステップと、
選択された前記ディザマトリクスを用いて対応する階調別画像データをディザ化するディザ変換ステップと、
を備えたことを特徴とするプログラム。
【０１７７】
（付記２９）
付記２８のプログラムに於いて、前記ディザ化処理ステップは、前記コードの各ビットが１の場合、前記変換テーブルから対応するディザマトリクスを選択して階調別画像データをディザ化させ、前記コードの各ビットが０の場合、対応する階調別画像データをディザ化せずにそのまま出力させることを特徴とするプログラム。
【０１７８】
（付記３０）
付記２８のプログラムに於いて、前記ディザ化処理ステップは、前記コードの各ビットが０の場合、前記変換テーブルから対応するディザマトリクスを選択して階調別画像データをディザ化させ、前記コードの各ビットが１の場合、対応する階調別画像データをディザ化せずにそのまま出力させることを特徴とするプログラム。
【０１７９】
（付記３１）
付記２８のプログラムに於いて、前記ディザ化処理ステップは、スクリーン角の異なるディザマトリクスを使用することを特徴とするプログラム。
【０１８０】
（付記３２）
付記２８のプログラムに於いて、前記ディザ化処理ステップは、異なるストカスティックスクリーンのディザマトリクスを使用することを特徴とするプログラム。
【０１８１】
（付記３３）
コンピュータに、
ディザ化により所定ビット数のコードが埋め込まれた多値階調の画像データを入力する画像入力ステップと、
前記画像データを前記コードの各ビットに対応させた複数の階調区分の階調別画像データに分割してディザパターンの含まれる階調別の画像領域を検出する画像領域検出ステップと、
入力された画像データから前記階調別の画像領域を切出し、各切出し画像データに埋め込まれているディザパターンを検出するディザ検出ステップと、
検出された前記ディザパターンを元にコードを生成するコード生成ステップと、を実行させることを特徴とするプログラム。
【０１８２】
（付記３４）
付記３３のプログラムに於いて、前記画像領域検出ステップは、
前記画像データを平均化してディザパターンを除去する低域濾過ステップと、
前記低域濾過された画像データを、前記コードの各ビットに対応させた複数の階調区分の階調別画像データに分割して階調別の画像領域を検出する階調分割ステップと、
を備えたことを特徴とするプログラム。
【０１８３】
（付記３５）
付記３３のプログラムに於いて、前記画像領域検出ステップは、
前記画像データを平均化してディザパターンを除去する低域濾過ステップと、
前記低域濾過された画像データを、前記コードの各ビットに対応させた複数の階調区分の階調別画像データに分割して階調別の画像領域を検出する階調分割ステップと、
検出された前記階調別の画像領域の中の最大面積の矩形画像領域を検出する矩形最大面積検出ステップと、
を備えたことを特徴とするプログラム。
【０１８４】
（付記３６）
付記３３のプログラムに於いて、前記ディザ検出ステップは、前記階調別の切出し画像データに対し２次元ＦＦＴ処理を行ってディザパターンの有無を検出することを特徴とするプログラム。
【０１８５】
（付記３７）
付記３３記載のプログラムに於いて、前記ディザ検出ステップは、コードのディザ化に使用しているディザスクリーンを教師データとして学習されたニューラルネットワークにより、前記階調別の切出し画像データからディザパターンを検出することを特徴とするプログラム。
【０１８６】
（付記３８）
コンピュータに、
多値階調の画像データを入力する画像入力ステップと、
前記画像データを複数領域に分割して分割画像データを生成する画像分割ステップと、
前記分割された画像データの各々に埋め込む所定ビット数のコードを入力するコード入力ステップと、
前記分割画像データの各々を、前記コードの各ビットに対応させた階調区分の階調別画像データに分割する階調分割ステップと、
前記分割画像データ毎の階調別画像データの各々を、前記コードの各ビットに対応した互いに異なるディザマトリクスを用いてディザ化した後に合成するディザ化処理ステップと、
を実行させることを特徴とするプログラム。
【０１８７】
（付記３９）
コンピュータに、
ディザ化により所定ビット数のコードが埋め込まれた多値階調の画像データを入力する画像入力ステップと、
前記画像データを複数領域に分割して分割画像データを生成する画像分割ステップ部と、
前記分割画像データの各々を、前記コードの各ビットに対応させた複数の階調区分の階調別画像データに分割してディザパターンの含まれる画像領域を検出する画像領域検出ステップと、
前記分割画像データの各々から前記階調別の画像領域を切出し、各切出し画像データに埋め込まれているディザパターンを検出するディザ検出ステップと、
前記ディザパターンを元にコードを生成するコード生成ステップと、
を実行させることを特徴とするプログラム。
【０１８８】
【発明の効果】
以上説明してきたように本発明によれば、コードをディザの異なるパターンに変換して画像に埋め込み、ディザ化によるコードが埋め込まれた画像を読み取って、ディザパターンの空間周波数特性を用いてコードを復調することで、画像に対するコードの埋め込み及び復調が従来のディザ化の手法を利用して簡単且つ高速に行うことができる。
【図面の簡単な説明】
【図１】本発明の原理説明図
【図２】本発明による画像コード化装置の実施形態のブロック図
【図３】図２の実施形態が適用されるコンピュータのハードウェア環境の説明図
【図４】図２の実施形態の詳細ブロック図
【図５】図２の実施形態でのディザ化に使用されるスクリーン角の異なるディザスクリーンの説明図
【図６】本発明におけるディザ化を行った画像の説明図
【図７】階調６４〜１２７の階調区分で分割した画像をディザ化した説明図
【図８】図２の実施形態による画像コード化処理のフローチャート
【図９】図２の実施形態により画像に埋め込んだコードを復元する本発明による画像コード復調装置の実施形態のブロック図
【図１０】図９の実施形態の詳細ブロック図
【図１１】図９において階調別切出し画像のディザパターンに対し２次元ＦＦＴを行って生成された空間周波数分布を示す変換パターンの説明図
【図１２】図９の実施形態による画像コード復調処理のフローチャート
【図１３】階調別の画像領域から矩形最大領域を切出して２次元ＦＦＴ処理を行う本発明による画像データ復調装置の他の実施形態のブロック図
【図１４】図１３の実施形態の詳細ブロック図
【図１５】図１３の実施形態による画像コード復調処理のフローチャート
【図１６】ディザパターンの検出にニューラルネットワークを用いた本発明による画像データ復調装置の他の実施形態のブロック図
【図１７】図１６の実施形態の詳細ブロック図
【図１８】本発明のディザ化に使用するストカステックスクリーンの説明
【図１９】入力した画像を分割してコードをディザ化して埋め込む本発明による画像コード化装置の他の実施形態のブロック図
【図２０】図１９の実施形態による画像コード化処理のフローチャート
【図２１】図１９の実施形態で分割画像にコードをディザ化して埋め込んだ画像からコードを復元する本発明による画像コード復調装置の他の実施形態のブロック図
【図２２】図２１の実施形態による画像コード復調処理のフローチャート
【符号の説明】
１０，４８：画像入力部
１２：コード入力部
１４：階調分割部
１６：ディザ化処理部
１８，６２：変換テーブル
２０：選択部
２２：ディザ化部
２４：プリンタ
２６：レジスタ
２８−１〜２８−４：ディザマトリクス
３０−１〜３０−４：セレクタ
３２−１〜３２−４：ディザ変換部
３４：マージ部
３６−１〜３６−４：ディザスクリーン
３８：原画
４０，４２，４４：ディザ画像
５０：画像領域検出部
５２：低域濾過部
５４：階調分割部
５６：ディザ検出部
５８：ＦＦＴ処理部
６０：比較部
６４：コード生成部
６６−１〜６６−４：階調領域切出部
６８−１〜６８−４：２次元ＦＦＴ
７０−１〜７０−４：比較器
７２−１〜７２−４：基準パターン
７４：最大矩形領域検出部
７６−１〜７６−４：ストカステックスクリーン
７８：ニューラルネットワーク処理部
７８−１〜７８−４：ニューラルネットワーク
８０，８４：画像分割部
８２：画像合成部
【図１】
2004096375.tif 000003
【図２】
2004096375.tif 000004
【図３】
2004096375.tif 000005
【図４】
2004096375.tif 000006
【図５】
2004096375.tif 000007
【図６】
2004096375.tif 000008
【図７】
2004096375.tif 000009
【図８】
2004096375.tif 000010
【図９】
2004096375.tif 000011
【図１０】
2004096375.tif 000012
【図１１】
2004096375.tif 000013
【図１２】
2004096375.tif 000014
【図１３】
2004096375.tif 000015
【図１４】
2004096375.tif 000016
【図１５】
2004096375.tif 000017
【図１６】
2004096375.tif 000018
【図１７】
2004096375.tif 000019
【図１８】
2004096375.tif 000020
【図１９】
2004096375.tif 000021
【図２０】
2004096375.tif 000022
【図２１】
2004096375.tif 000023
【図２２】
2004096375.tif 000024