(57)【特許請求の範囲】
【請求項１】
固有の識別情報を含む埋込データが分割された状態で複数のブロックに埋込まれた画像データから前記埋込データを検出する埋込データの検出方法であって、
前記画像データからブロックを特定する特定ステップと、
前記ブロックから識別情報を検出する検出ステップと、
前記ブロックから前記埋込データを分割した分割データを抽出する抽出ステップと、
前記検出ステップにおいて検出された識別情報ごとに、前記抽出ステップで抽出された分割データの抽出回数をその値ごとにカウントする第１のカウントステップと、
前記第１のカウントステップによる抽出回数に基づいて前記識別情報で識別される埋込データを復元する復元ステップとを備える、検出方法。
【請求項２】
前記検出ステップにおいて前記ブロックから識別情報が検出されなかった場合に、前記抽出ステップで抽出された分割データの抽出回数を、識別情報と対応させることなくカウントする第２のカウントステップをさらに備える、請求項１に記載の検出方法。
【請求項３】
前記識別情報は前記分割されたデータから算出される情報であって、
前記特定ステップは、前記画像データのうち第１の範囲を走査して前記ブロックを特定し、
前記復元ステップにおいて、前記特定ステップにおいて前記第１の範囲が走査された段階で、前記第１のカウントステップによる抽出回数に基づいて第１の埋込データが復元された場合、前記識別情報が検出されなかったブロックから検出された前記分割されたデータから、前記第１の埋込データを識別する識別情報が算出されるとき、前記第２のカウントステップでカウントした前記抽出回数をクリアするステップをさらに備える、請求項２に記載の検出方法。
【請求項４】
前記特定ステップは、前記画像データのうち第１の範囲を走査して前記ブロックを特定し、
前記特定ステップにおいて前記第１の範囲が走査された段階で、前記第１のカウントステップでカウントされた、前記検出ステップにおいて検出された識別情報ごとの前記抽出ステップで抽出された分割データの抽出回数が所定回数以下の場合、前記第１のカウントステップでカウントされた、前記検出ステップにおいて検出された識別情報ごとの前記抽出ステップで抽出された分割データの抽出回数をクリアするステップをさらに備える、請求項１に記載の検出方法。
【請求項５】
前記特定ステップは、前記画像データのうち第１の範囲を走査して前記ブロックを特定し、
前記復元ステップにおいて、前記特定ステップにおいて前記第１の範囲が走査された段階で前記第１のカウントステップによる抽出回数に基づいて第１の埋込データが復元された場合、前記第１のカウントステップで前記第１の埋込データを識別する識別情報ごとにカウントされた前記抽出ステップで抽出された分割データの抽出回数をクリアするステップをさらに備える、請求項１に記載の検出方法。
【請求項６】
前記特定ステップは、前記画像データのうち第１の範囲を走査して前記ブロックを特定し、
前記復元ステップにおいて、前記特定ステップにおいて前記第１の範囲が走査された段階で前記第１のカウントステップによる抽出回数に基づいて第１の埋込データが復元された場合、前記第１のカウントステップは、前記検出ステップで前記第１の範囲より後の第２の範囲から特定されたブロックより前記第１の埋込データを識別する識別情報が検出されても、前記抽出ステップで当該ブロックから抽出された前記分割されたデータの抽出回数をカウントしない、請求項１に記載の検出方法。
【請求項７】
前記復元ステップにおいて、前記第１のカウントステップによる抽出回数に基づいて前記埋込データが復元された場合、前記識別情報が検出されなかったブロックから検出された前記分割されたデータから、前記埋込データを識別する識別情報が算出されるとき、前記第２のカウントステップで前記識別情報と対応させることなくカウントした、前記識別情報が検出されなかったブロックから検出された前記分割されたデータについての前記抽出回数をクリアするステップをさらに備える、請求項２に記載の検出方法。
【請求項８】
前記復元ステップにおいて、前記第１のカウントステップによる抽出回数に基づいて前記埋込データが復元された場合、前記第１のカウントステップは、前記検出ステップで前記ブロックより前記埋込データを識別する識別情報が検出されても、前記抽出ステップで当該ブロックから抽出された前記分割されたデータの抽出回数をカウントしない、請求項１に記載の検出方法。
【請求項９】
埋込データが分割されて埋込まれたスキャンデータ固有の識別情報を含む埋込データが分割された状態で複数のブロックに埋込まれた画像データを取得する取得手段と、
前記画像データからブロックを特定する特定手段と、
前記ブロックから識別情報を検出する検出手段と、
前記ブロックから前記埋込データを分割した分割データを抽出する抽出手段と、
前記検出手段で検出された識別情報ごとに、前記抽出手段で抽出された分割データの抽出回数をその値ごとにカウントするカウント手段と、
前記カウント手段での抽出回数に基づいて前記識別情報で識別される埋込データを復元する復元手段とを備える、検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は検出方法および検出装置に関し、特に、画像データから埋込まれたデータを検出する検出方法および検出装置に関する。
【背景技術】
【０００２】
文字等の原稿画像の背景に地紋パターンとして著作権者を示すデータ等が埋込まれた画像から、埋め込まれたデータを検出する技術が知られている。
【０００３】
埋め込まれたデータを検出する技術として、たとえば、特開２０００−５９６１０号公報（以下、特許文献１）は、スキャンして得られた画像データを所定サイズの矩形に分割して埋込まれているビットデータを抽出し、抽出されたビット列が埋込時に付加された矩形位置判定用のビット条件を満たす場合にそのビット列をデコード結果の候補とし、候補が複数の場合にはビットごとに多数決論理を行なってより信頼性の高い方のビット値をデコード結果として採用する技術を開示している。
【０００４】
また、本願出願人が先に出願して公開されている特開２００７−９６５０３号公報（以下、特許文献２）は、処理速度を高速化するために、スキャンして得られた画像データを複数ブロックに分割してブロックから局所データを取出し、所定ブロック数ごとに情報を正しく読出せるかを判定して、正しく読出せると判定された場合に情報を読出す技術を開示している。
【特許文献１】特開２０００−５９６１０号公報
【特許文献２】特開２００７−９６５０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、これら特許文献１，２に開示されている技術は１枚の原稿から当該原稿に埋込まれた１種類のデータを検出することを想定した技術であり、１枚の原稿に複数種類のデータが埋込まれている場合や、２枚以上の複数の原稿であって、各原稿に異なるデータが埋込まれている場合にあっては、検出結果に各データが混在し、埋込まれたデータを正しく検出することができないという問題があった。
【０００６】
本発明はこのような問題に鑑みてなされたものであって、複数種類のデータが埋込まれた画像データから埋込まれたデータを検出することのできる検出方法および検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明のある局面に従うと、検出方法は固有の識別情報を含む埋込データが分割された状態で複数のブロックに埋込まれた画像データから埋込データを検出する埋込データの検出方法であって、画像データからブロックを特定する特定ステップと、ブロックから識別情報を検出する検出ステップと、ブロックから埋込データを分割した分割データを抽出する抽出ステップと、検出ステップにおいて検出された識別情報ごとに、抽出ステップで抽出された分割データの抽出回数をその値ごとにカウントする第１のカウントステップと、第１のカウントステップによる抽出回数に基づいて識別情報で識別される埋込データを復元する復元ステップとを備える。
【０００８】
好ましくは、検出方法は、検出ステップにおいてブロックから識別情報が検出されなかった場合に、抽出ステップで抽出された分割データの抽出回数を、識別情報と対応させることなくカウントする第２のカウントステップをさらに備える。
【０００９】
より好ましくは、識別情報は分割されたデータから算出される情報であって、特定ステップは、画像データのうち第１の範囲を走査してブロックを特定し、復元ステップにおいて、特定ステップにおいて第１の範囲が走査された段階で、第１のカウントステップによる抽出回数に基づいて第１の埋込データが復元された場合、識別情報が検出されなかったブロックから検出された分割されたデータから、第１の埋込データを識別する識別情報が算出されるとき、第２のカウントステップでカウントした抽出回数をクリアするステップをさらに備える。
【００１０】
好ましくは、特定ステップは、画像データのうち第１の範囲を走査してブロックを特定し、特定ステップにおいて第１の範囲が走査された段階で、第１のカウントステップでカウントされた、検出ステップにおいて検出された識別情報ごとの抽出ステップで抽出された分割データの抽出回数が所定回数以下の場合、第１のカウントステップでカウントされた、検出ステップにおいて検出された識別情報ごとの前記抽出ステップで抽出された分割データの抽出回数をクリアするステップをさらに備える。
【００１１】
好ましくは、特定ステップは、画像データのうち第１の範囲を走査してブロックを特定し、復元ステップにおいて、特定ステップにおいて第１の範囲が走査された段階で第１のカウントステップによる抽出回数に基づいて第１の埋込データが復元された場合、第１のカウントステップで第１の埋込データを識別する識別情報ごとにカウントされた抽出ステップで抽出された分割データの抽出回数をクリアするステップをさらに備える。
【００１２】
好ましくは、特定ステップは、画像データのうち第１の範囲を走査してブロックを特定し、復元ステップにおいて、特定ステップにおいて第１の範囲が走査された段階で第１のカウントステップによる抽出回数に基づいて第１の埋込データが復元された場合、第１のカウントステップは、検出ステップで第１の範囲より後の第２の範囲から特定されたブロックより第１の埋込データを識別する識別情報が検出されても、抽出ステップで当該ブロックから抽出された分割されたデータの抽出回数をカウントしない。
【００１３】
好ましくは、検出方法は、復元ステップにおいて、第１のカウントステップによる抽出回数に基づいて埋込データが復元された場合、識別情報が検出されなかったブロックから検出された分割されたデータから、埋込データを識別する識別情報が算出されるとき、第２のカウントステップで識別情報と対応させることなくカウントした、識別情報が検出されなかったブロックから検出された分割されたデータについての抽出回数をクリアするステップをさらに備える。
【００１４】
好ましくは、復元ステップにおいて、第１のカウントステップによる抽出回数に基づいて埋込データが復元された場合、第１のカウントステップは、検出ステップでブロックより埋込データを識別する識別情報が検出されても、抽出ステップで当該ブロックから抽出された分割されたデータの抽出回数をカウントしない。
【００１５】
本発明の他の局面に従うと、検出装置は、埋込データが分割されて埋込まれたスキャンデータ固有の識別情報を含む埋込データが分割された状態で複数のブロックに埋込まれた画像データを取得する取得手段と、画像データからブロックを特定する特定手段と、ブロックから識別情報を検出する検出手段と、上記ブロックから埋込データを分割した分割データを抽出する抽出手段と、検出手段で検出された識別情報ごとに、抽出手段で抽出された分割データの抽出回数をその値ごとにカウントするカウント手段と、カウント手段での抽出回数に基づいて識別情報で識別される埋込データを復元する復元手段とを備える。
【発明の効果】
【００１６】
本発明によると、複数種類の埋込データが埋込まれた画像データから当該複数種類の埋込データを検出することができる。
【発明を実施するための最良の形態】
【００１７】
以下に、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。
【００１８】
本実施の形態においては、本発明にかかる検出装置、および検出装置での処理対象とされる画像データを形成する画像形成装置がパーソナルコンピュータ（以下、ＰＣ）において実現されるものとして説明する。
【００１９】
本発明にかかる検出装置を説明する前提として、検出装置での処理対象とされる画像データの形成および画像データの形成を行なう画像形成装置について説明する。
【００２０】
図１は、上記画像形成装置として機能する、本実施の形態にかかるＰＣ１およびその周辺機器の構成概念の具体例を示す図である。図１を参照して、ＰＣ１は、操作入力手段であるマウス１１およびキーボード１２と、画像出力手段であるモニタ１３およびプリンタ１５と、画像読込手段であるスキャナ１６と、記憶手段の１つである外部記憶装置１４とに接続されている。ＰＣ１は、その内部に入出力インタフェース（Ｉ／Ｆ）１００を含んで、接続されたこれら周辺機器と情報の受け渡しを行なう。さらにＰＣ１はその内部に演算手段であるＣＰＵ（Central Processing Unit）１０１と、記憶手段の１つである記憶装置１０２とを含んで構成される。記憶装置１０２には画像処理ソフトが記憶されており、ＣＰＵ１０１が画像処理ソフトを読出して実行することによって、ＰＣ１が上記画像形成装置として機能する。
【００２１】
なお、上記画像形成装置を実現する装置はＰＣに限定されず、その他の装置であってもよい。その他の装置として代表的な装置は、たとえばＭＦＰ（Multi Function Peripheral）などである画像形成装置が挙げられる。図２は、他の例として上記画像形成装置がＭＦＰで実現されるとした場合の、上記画像形成装置として機能するＭＦＰ２の構成概念の具体例を示す図である。図２を参照して、ＭＦＰ２は、操作入力手段である操作パネル部２１と、画像読込手段であるスキャナ部２２と、画像出力手段であるプリンタ部２３とを含んで構成される。さらにＭＦＰ２はその内部に画像処理部２０１を含んで構成される。画像処理部２０１が処理を実行することによって、ＭＦＰ２が上記画像形成装置として機能する。
【００２２】
図３は、本実施の形態にかかるＰＣ１のハードウェア構成およびその機能の具体例を示すブロック図である。図３を参照して、ＰＣ１は、先述のように、その内部に入出力Ｉ／Ｆ１００と、ＣＰＵ１０１と、記憶装置１０２とを含んで構成される。
【００２３】
入出力Ｉ／Ｆ１００は、マウス１１およびキーボード１２と接続されて、マウス１１および／またはキーボード１２から入力されるユーザ指示を受取る。また、モニタ１３と接続されて、モニタ１３に対して表示用の画像データを渡す。また、スキャナ１６と接続されて、スキャナ１６でスキャンされて得られたスキャン画像（スキャンデータ）を受取る。また、プリンタ１５に接続されて、プリンタ１５に対してプリント用の画像データを渡す。
【００２４】
記憶装置１０２は、先述の画像処理ソフトとオペレーションソフトとを記憶する。これらソフトウェアの少なくとも一部が、外部記憶装置１４に記憶されていてもよい。ＣＰＵ１０１はその内部にメモリを含み、記憶装置１０２から読出したソフトウェアを内部のメモリに展開しつつ実行する。その際、入出力Ｉ／Ｆ１００を介して入力されたデータを用いたり、処理によって生成されたデータを入出力Ｉ／Ｆ１００を介して他の装置に出力したりする。
【００２５】
ＣＰＵ１０１が記憶装置１０２に記憶される画像処理ソフトを実行することで実現される画像形成装置は、スキャナ１６で原稿画像を読取って得られる画像データや、ＰＣ１内のアプリケーションソフトウェアなどの実行によって作成される画像データ（たとえば文書作成ソフトウェアの実行によって作成される文書データ）などの画像データに対して入力されたデータを所定のドットパターンで構成される地紋パターンの透かし画像として埋込む。また、そのようにして生成された画像をスキャンして得られる画像データから地紋パターンを抽出し、埋込まれた元のデータを復元する。
【００２６】
以降の説明において、地紋パターンが埋込まれる前の画像のことを「原稿画像」と称する。原稿画像に埋込む情報を示すデータを「埋込データ」と称する。埋込データから生成され、原稿画像と合成されるべき透かし画像を構成するデータを「透かし（画像）データ」と称する。埋込データは透かしデータを構成するドットで表わされる地紋パターンとして原稿画像に対して埋込まれる。透かし画像を構成するドットのうち、埋込データを表現するために用いられるドットを「情報ドット」と称する。情報ドットによって構成されるパターンであって、埋込データと対応関係のあるものを「情報パターン」と称する。
【００２７】
図４は、埋込データを原稿画像に埋込む際の、ＰＣ１の機能構成の具体例を示すブロック図である。図４に示される各機能は、主に、ＣＰＵ１０１が記憶装置１０２に記憶される画像処理ソフトを実行することでＣＰＵ１０１に構成される機能である。また、図２に示されたハードウェア構成を用いて実現されてもよい。
【００２８】
図４を参照して、ＰＣ１の上記機能は、原稿画像データ入力部３０１、埋込データ入力部３０３、演算部３０４、生成部３０７、記憶部３０９、および合成処理部３１１を含んで構成される。
【００２９】
原稿画像データ入力部３０１は入出力Ｉ／Ｆ１００に接続され、スキャナ１６において原稿画像がスキャンされて入出力Ｉ／Ｆ１００を介して入力される原稿画像データを受け付ける。または、原稿画像データ入力部３０１には図示しないＰＣ１内のアプリケーションソフトウェアなどの実行手段が含まれ、上記アプリケーションソフトウェアなどの実行によって作成される画像データを取得する。原稿画像データ入力部３０１はさらに合成処理部３１１に接続され、入力された原稿画像データを合成処理部３１１に対して出力する。
【００３０】
埋込データ入力部３０３は入出力Ｉ／Ｆ１００に接続され、マウス１１やキーボード１２などが操作されることで入力されて入出力Ｉ／Ｆ１００を介して入力される埋込データを受け付ける。埋込データ入力部３０３はさらに生成部３０７に接続され、入力された埋込データを生成部３０７に対して出力する。記憶部３０９は、埋込データと情報パターンとの対応関係を記憶している。生成部３０７は記憶部３０９に接続されて、上記対応関係に従って入力された埋込データから情報パターンを特定する。そして、特定した情報パターンに従って、後述する規定された各位置に対して情報ドットを配置するか否かを決定する。また、その他の規定位置に対しても、ドットを配置するか否かを決定する。生成部３０７はさらに合成処理部３１１に接続されて、規定位置についてのドットの有無で構成される透かしデータを合成処理部３１１に対して出力する。合成処理部３１１は入出力Ｉ／Ｆ１００に接続され、原稿画像データ入力部３０１から入力された原稿画像データと生成部３０７から入力された透かしデータとを合成するための処理、つまり情報パターンを原稿画像に埋込む処理を実行し、得られた画像データを入出力Ｉ／Ｆ１００に対して出力する。
【００３１】
図５は、ＰＣ１において埋込データを原稿画像に埋込む処理の具体例を示すフローチャートである。図５のフローチャートは、ＣＰＵ１０１が記憶装置１０２に記憶される画像処理ソフトを実行することによって実現される。
【００３２】
図５を参照して、初めに、ＰＣ１の原稿画像データ入力部３０１が、スキャナ１６で原稿画像がスキャンされて得られた原稿画像データの入力を入出力Ｉ／Ｆ１００を介して受け付ける（ステップＳ１０１）。または、図示しないＰＣ１内のアプリケーションソフトウェアなどの実行によって作成される画像データを取得する。次に、埋込データ入力部３０３は、マウス１１やキーボード１２などから入出力Ｉ／Ｆ１００を介して埋込データの入力を受け付ける（ステップＳ１０３）。
【００３３】
次に、生成部３０７は、ステップＳ１０３で入力された埋込データを変換して透かしデータを生成するための処理を行ない（ステップＳ１０５）、合成処理部３１１が、ステップＳ１０１で入力された原稿画像データとステップＳ１０５で生成された透かしデータとを合成してプリント対象の画像データを生成する（ステップＳ１０７）。生成された画像データは入出力Ｉ／Ｆ１００を介してプリンタ１５に印刷制御信号と共に送信され、プリンタ１５においてプリントされる（ステップＳ１０９）。
【００３４】
上記ステップＳ１０５の処理は、図６のフローチャートを参照して、はじめに生成部３０７がステップＳ１０３で入力された埋込データを所定サイズに分割し（ステップＳ２０１）、分割された各データを用いて、ステップＳ１０３で入力された埋込データに対する識別情報を作成する（ステップＳ２０２）。生成部３０７はエリアごとにパターンを特定し（ステップＳ２０５）、特定されたパターンに従って規定された画素位置についてドットの有無を決定する（ステップＳ２０７）。ステップＳ２０７で決定される、画素位置ごとのドットの有無によって透かし画像データが構成される。
【００３５】
以上の処理によって、原稿画像に対して入力された埋込データが透かし画像として埋込まれた画像がプリントされる。
【００３６】
次に、上記ステップＳ１０５での、埋込データを変換して透かしデータを生成するための処理について具体例を挙げて詳細に説明する。
【００３７】
始めに、上記ステップＳ２０１において、図７に示されるように、ステップＳ１０３で入力された埋込データは１１０ビットが１単位であり、５ビットごとに２２分割されるものとする。生成部３０７は、図７の下欄に示されるように、５ビットごとに２２分割されたデータを加算し、演算結果のうちの下位１０ビットについて、さらに上位５ビットおよび下位５ビットに分割し、各々を上記ステップＳ１０３で入力された埋込データの識別情報とする。図７に示される例では、５ビットごとに２２分割されたデータを加算して演算結果として「０１０１００１１０１」が得られ、その下位１０ビットである「０１０１００１１０１」について上位５ビット「０１０１０」と下位５ビット「０１１０１」とが識別情報とされる。ステップＳ２０２の演算部３０４で識別情報を得るための演算はこの方法には限定されない。たとえば、予め規定された所定の演算式に分割されたデータを代入する演算によって識別情報を得るようにしてもよい。所定の演算式としては、たとえば、ＣＲＣ（Cyclic Redundancy Check：巡回冗長検査）生成多項式と呼ばれる、シフトや排他的論理和（ＥＸＯＲ）などを組み合わせた演算式などが挙げられる。さらには、分割されたデータを用いた演算に限定されず、たとえば、ステップＳ１０３での入力順に規定のデータ（たとえば０から順の数字）を割当てるなどの方法で識別情報を得るようにしてもよい。
【００３８】
上記ステップＳ２０３で生成部３０７は、上記ステップＳ２０１で分割された埋込データおよび上記ステップＳ２０２で得られた識別情報の両情報を埋込データとして、図８に示されるように、画像データを構成するエリアごとに、分割された埋込データを参照し、それと対応するドットのパターンを特定する。詳しくは、図８に示されるように各エリアが配置されることで１つのブロックが構成され、そのブロックが繰り返されることで画像データが構成されている。図８に示されるように１つのブロックは、縦５エリア、横５エリアの計２５エリア群で構成されるものとする。１つのブロックの中央に位置するエリアは、位置決め用パターンとしての特殊パターンを配置するためのエリアと規定されているものとする。その他の２４のエリア群に対して、規定順に、２４分割された埋込データに対応するドットのパターンを配置すると規定されているものとする。なお、特殊パターンを配置するためのエリアは１つのブロックの中央に位置するエリアに限定されず、いずれの位置のエリアであってもよい。以降の説明において、所定のサイズであって、繰り返されることで画像データを構成する、図８に示されたサイズのデータを「ブロック」と称し、縦横計２５のデータで１つのブロックを構成する各データを「エリア」と称する。
【００３９】
図９は、１つのエリアにおけるドット位置の構成の具体例を説明する図である。図９においては、原稿画像データの解像度を６００ｄｐｉとし、エリアのサイズが縦横４８画素であるものとする。また、ここでは、１つの丸ドットは、形状が縦横３画素の矩形（正方形）で表わされるものとする。
【００４０】
本実施の形態においては、１つのエリア内の、中央の縦横３画素の位置、最上３画素でなる辺の横方向に中央の縦横３画素の位置、および最左３画素でなる辺の縦方向に中央の縦横３画素の位置を、位置決めドット位置とする。図９の例では、エリアの左端から右に２５画素〜２７画素および上端から下に２５画素〜２７画素で表わされる位置、左端から右に２５画素〜２７画素および上端から下に１画素〜３画素で表わされる位置、ならびに左端から右に１画素〜３画素および上端から下に２５画素〜２７画素で表わされる位置が位置決めドット位置に該当する。これら位置決めドット位置は形状の丸ドットである位置決めドットを配置する位置である。位置決めドットは、１つのエリアの位置を確定し、埋込データを埋込むための基準位置とするための丸ドットであり、各エリアにおいては、位置決めドット位置に必ず配置されるものとする。または、特殊パターンを配置するためのエリア以外の各エリアにおいて位置決めドット位置に必ず配置されるようにしてもよい。
【００４１】
また、本実施の形態においては、１つのエリア内の、中央の縦横３画素の位置を中央としエリアの１辺の長さの半分の長さを１辺とする正方形を置き、中央位置から上下左右等距離に離れた正方形各辺の中央の縦横３画素の位置、および正方形各頂点に該当する縦横３画素の位置を、情報ドット位置とする。図９の例では、エリアの左端から右に１３画素〜１５画素および上端から下に２５画素〜２７画素で表わされる位置、左端から右に３７画素〜３９画素および上端から下に２５画素〜２７画素で表わされる位置、左端から右に２５画素〜２７画素および上端から下に１３画素〜１５画素で表わされる位置、左端から右に２５画素〜２７画素および上端から下に３７画素〜３９画素で表わされる位置、左端から右に１３画素〜１５画素および上端から下に３７画素〜３９画素で表わされる位置、左端から右に１３画素〜１５画素および上端から下に１３画素〜１５画素で表わされる位置、左端から右に３７画素〜３９画素および上端から下に１３画素〜１５画素で表わされる位置、ならびに左端から右に３７画素〜３９画素および上端から下に３７画素〜３９画素で表わされる位置に該当する。これら情報ドット位置は、後述する埋込データに対応した情報パターンを構成する、丸ドットである情報ドットを配置するための位置である。なお、以降の説明のため、情報ドット位置を、図９に示されるように、上記正方形の左下頂点の位置から左回りに各頂点の位置を各々ａ，ｂ，ｃ，ｄ位置とする。また、上記正方形の左辺中央の位置から左回りに各辺の中央の位置を各々ｅ，ｆ，ｇ，ｈ位置とする。
【００４２】
なお、上述の位置決めドット位置、および情報ドット位置の具体的な位置は図９に示された位置には限定されない。位置決めドット位置は、１つのエリアの位置を確定し得る位置であれば他の位置であってもよい。また、情報ドット位置も他の位置であってもよいし、他の位置を含んでもよい。
【００４３】
また、丸ドットの形状も上述の縦横３画素の矩形（正方形）には限定されない。さらに丸ドットの形状は「丸」にも限定されない。
【００４４】
図１０は、記憶部３０９に記憶されている、埋込データおよび識別情報と情報パターンとの対応関係の具体例を示す図である。エリアに対して図９に示されるように情報ドット位置が規定されている場合、記憶部３０９は、分割された埋込データまたは識別情報ごとに情報パターン、つまり情報ドット位置のうちの情報ドットを実際に配置する位置を記憶する。図１０に示される例では、情報パターンは、情報ドット位置であるａ位置〜ｈ位置の各位置について「０」をドットあり，「１」をドットなしとして情報ドットの有無を規定する８ビット値で構成されるものとしている。さらに、図１０に示される例では、情報ドット位置であるａ位置〜ｈ位置のうちの３箇所のみを情報ドットを配置するものとして、３２通りの情報パターンが定義されている。また、上記３２通りの情報パターンとは異なるパターンとして、特殊パターンについても同様に定義されている。
【００４５】
上記ステップＳ２０５で生成部３０７は、図１０に示された記憶部３０９に記憶されている対応関係を参照して、各エリアについて、配置された（分割された）埋込データおよび識別情報に対応した情報パターンを特定する。そして、上記ステップＳ２０７で、情報ドット位置であるａ位置〜ｈ位置の各位置について情報ドットの有無を決定する。つまり、情報ドットありと規定されている情報ドット位置に情報ドットである丸ドットを配置することを決定する。なお、対象であるエリアがブロック中の特殊パターンの位置である場合には、図１０に特殊パターンとして規定されている位置に丸ドットを配置することを決定する。
【００４６】
たとえば、対象とするエリアに分割された埋込データ「１０」が配置された場合、生成部３０７は、上記ステップＳ２０５で、図１０の対応関係に基づいて、情報ドット位置であるａ位置〜ｈ位置のうち、ａ，ｆ，ｈ位置について情報ドットあり、その他の位置には情報ドットなし、と情報パターンを特定し、上記ステップＳ２０７で、ａ，ｆ，ｈ位置について丸ドットを配置することを決定する。また、位置決めドット位置には位置決めドットである丸ドットを配置することを決定する。つまり、上記ステップＳ２０５で、対象とするエリアに分割された埋込データ「１０」が配置された場合には図１１に示される情報パターンが決定され、埋込データ「１０」が透かしデータに変換される。
【００４７】
上記ステップＳ２０５，２０７において、生成部３０７はこの処理をすべてのエリアに対して実行し、埋込データとして配置された分割された埋込データおよび識別情報を透かしデータに変換する。上記ステップＳ１０３で図７に示された埋込データが入力された場合、上記ステップＳ１０５で変換されて得られる透かしデータからは、図１２に示される透かし画像が表現される。そして、上記ステップＳ１０７で合成処理部３１１において原稿画像データと透かしデータとが合成され、ステップＳ１０９では、図１３に示されるような画像がプリントされる。上記ステップＳ１０７では、上記ステップＳ１０５で生成された透かしデータをプリント対象の用紙サイズ全体に繰り返し配置して原稿画像と合成する。
【００４８】
ここで、図７に示された埋込データ（以降、埋込データ１と称する）から得られた図１２に示された透かし画像が表現される透かし画像データが埋込まれた画像のプリント物を、プリント１と称する。さらに、図１４に示された埋込データ（以降、埋込データ２と称する）についても同様の処理が行なわれて得られる透かし画像データが埋込まれた画像のプリント物を、プリント２と称する。
【００４９】
図１５は、ＰＣ１が本発明にかかる検出装置であって、上述のようにして埋込データが原稿画像に埋込まれてプリントされた画像（以下、地紋付加画像と称する）から埋込データを抽出して復元する際の、ＰＣ１の機能構成の具体例を示すブロック図である。図１５に示される各機能は、主に、ＣＰＵ１０１が記憶装置１０２に記憶される画像処理ソフトを実行することでＣＰＵ１０１に構成される機能である。また、図２に示されたハードウェア構成を用いて実現されてもよい。
【００５０】
図１５を参照して、ＰＣ１の上記機能は、スキャンデータ入力部４０１、パターン抽出部４０３、特定部４０５、記憶部４０６、カウント処理部４０７、カウンタ４０９、データ復元部４１１、判断部４１３、および出力部４１５を含んで構成される。
【００５１】
スキャンデータ入力部４０１は入出力Ｉ／Ｆ１００に接続されて、スキャナ１６において地紋付加画像がスキャンされて入出力Ｉ／Ｆ１００を介して入力される画像データを受け付ける。スキャンデータ入力部４０１はさらにパターン抽出部４０３に接続されて、入力された画像データをパターン抽出部４０３に対して出力する。
【００５２】
パターン抽出部４０３は入力された画像データから丸ドットを抽出する。パターン抽出部４０３は予めエリア中の位置決めドット位置の位置を記憶しておき、抽出された丸ドットから位置決めドットを抽出し、それに基づいて情報パターンを抽出する。さらに、パターン抽出部４０３は予め特殊パターンを記憶しておき、抽出された情報パターンの中から特殊パターンを特定し、ブロックを特定する。パターン抽出部４０３はさらに予め特殊パターンに対する各情報パターンの位置関係、つまり１ブロック中のエリアの位置関係を記憶しておき、抽出された各情報パターンの順を特定する。パターン抽出部４０３はさらに特定部４０５に接続されて、抽出された情報パターンを示す情報と、その情報パターンが埋込まれているエリアのブロック中の位置を示す情報とを特定部４０５に対して出力する。
【００５３】
記憶部４０６は先述の記憶部３０９と同様に、図１０に示されたような埋込データと情報パターンとの対応関係を記憶している。特定部４０５はさらに記憶部４０６およびカウント処理部４０７に接続されて、パターン抽出部４０３から入力された情報パターンに基づいて記憶部４０６に記憶されている対応関係を参照して、エリアごとに配置されている（分割された）埋込データおよび識別情報を特定し、カウント処理部４０７に入力する。
【００５４】
カウンタ４０９は、処理対象の画像データについて、エリアごとに情報パターンより特定された（分割された）埋込データおよび識別情報などを記憶する。カウント処理部４０７はカウンタ４０９に接続されて、特定部４０５から入力された情報に基づいて、エリアごとに配置されている（分割された）埋込データおよび識別情報などの情報をカウンタ４０９に格納する。データ復元部４１１はカウンタ４０９に接続されて、エリアごとにカウンタ４０９のカウント値の最も高い（分割された）埋込データを特定し、エリアのブロック中の位置に基づいてそれらを結合することで、埋込データを復元する。データ復元部４１１はさらに判断部４１３および出力部４１５に接続されて、復元して得られた埋込データを判断部４１３および出力部４１５に対して出力する。
【００５５】
判断部４１３はデータ復元部４１１、カウンタ４０９、および出力部４１５に接続されて、カウント値に基づいてデータ復元部４１１で復元された埋込データとを比較することで検出の成否を判断し、その結果を出力部４１５に対して出力する。出力部４１５は入出力Ｉ／Ｆ１００に接続されて、データ復元部４１１から入力された復元して得られた埋込データを、判断部４１３での判断結果に応じて出力する。
【００５６】
図１６は、ＰＣ１において、地紋付加画像をスキャンして得られた画像データから埋込データを抽出して復元する処理の具体例を示すフローチャートである。図１６のフローチャートは、ＣＰＵ１０１が記憶装置１０２に記憶される画像処理ソフトを実行することによって実現される。
【００５７】
本実施の形態では、複数種類の埋込データが埋込まれた地紋付加画像をスキャンして得られる画像データの例として、各々１種類の埋込データが埋込まれた異なる２枚の地紋付加画像を図示しないスキャナ１６の原稿台に並べて載せてスキャンして得られる画像データを処理対象とするものとする。
【００５８】
図１６を参照して、初めに、ＰＣ１のスキャンデータ入力部４０１が、スキャナ１６で図１７のように原稿台に並べて載せられた地紋付加画像がスキャンされて得られた画像データであるスキャンデータの入力を入出力Ｉ／Ｆ１００を介して受け付ける（ステップＳ３０１）。先述のプリント１とプリント２とが図示しないスキャナ１６の原稿台に並べて載せてスキャンされた場合、スキャナ１６では図１７に示されるようなスキャン画像が得られ、ステップＳ３０１では図１７のスキャン画像を表わすスキャンデータが入力される。
【００５９】
次に、パターン抽出部４０３は、ステップＳ３０１で入力されたスキャンデータから図１８に示されるような丸ドットを抽出し、情報パターンを抽出する（ステップＳ３０３）。ここでの丸ドットの抽出方法は本発明において特定の方法に限定されないが、１つの具体例として、以下のような方法を採用することができる。すなわち、先述のように、地紋付加画像が６００ｄｐｉの解像度で印刷されており、丸ドットが縦横３画素の矩形（正方形）で表わされている場合、スキャナ１６では解像度２００ｄｐｉでスキャンするものとする。このようにすることで、丸ドットがスキャンデータ中では縦横１画素の矩形（正方形）で表わされる。従って、図１２に示された透かし画像がこのようにスキャンされると、図１７のスキャン画像の一部から図１８に示されるように丸ドットが抽出される。
【００６０】
なお、上記ステップＳ３０１で入力された画像データにおいて原稿が傾いている場合には、ステップＳ３０３において傾き補正を行なうことが好ましい。本発明において傾き補正の方法は特定の方法に限定されないが、１つの具体例として、本願出願人が先に出願して公開されている特開２００６−２２２８７８号公報において開示されている、以下のような方法を採用することができる。すなわち、上記ステップＳ３０１で入力された画像データを、地紋付加画像において等間隔に配置されたドットのうち、複数の傾きのそれぞれに対応する、ドットを検出する複数のフィルタの各々で処理を行ない、一致度を算出する。そして、一致度が最も高いものを傾き角度として、その傾き角度を０とするような補正を行なう。
【００６１】
ステップＳ３０３で図１８に示されるように画像データから丸ドットが抽出された場合、パターン抽出部４０３は、その中から、図１８に示されるように、エリア中央の位置決めドット（図１８中の実線の丸印）を検出する。
【００６２】
位置決めドットの検出方法もまた、本発明において特定の方法に限定されないが、１つの具体例として、本願出願人が先に出願して公開されている特開２００６−３２４９０９号公報において開示されている、以下のような方法を採用することができる。すなわち、予めエリア中の位置決めドット位置を規定したフィルタを用いて、その位置の丸ドットを検出することで位置決めドットを検出し、各エリアを特定することができる。
【００６３】
そして、パターン抽出部４０３は、各エリア中央の位置決めドット位置に基づいて情報ドット位置を特定して情報ドットを検出し、情報パターンを抽出する。そして、図１８において点線の丸印で示されるように、抽出された情報パターン中に特殊パターンを検出すると、対応するエリアをブロックの中央位置と判断し、縦５エリア、横５エリアで規定されるブロックを特定する。
【００６４】
次に、特定部４０５およびカウント処理部４０７は、ステップＳ３０３で特定されたブロックごとに、カウンタ４０９を用いてカウント処理を行なう（ステップＳ３０５）。ここで、本実施の形態において、カウンタ４０９の構成について説明する。図１９は、カウンタ４０９の構成の具体例を示す図である。図１９を参照して、本実施の形態において、カウンタ４０９は、エリアから検出される識別情報を格納するための領域、当該カウンタに対してカウント値を書込んだ回数を格納するための領域、および当該カウンタに対してカウント値の書込みを行なったことを示す入力済みフラグを格納する領域を含む、分類用の領域５０１と、エリアごとに抽出された情報パターンで特定される（分割された）埋込データに対応したカウント値を格納するヒストグラムメモリである領域５０３とを含んで構成される。図１９に示されるカウンタの例は、上記ステップＳ３０５のカウント処理が行なわれる前の、初期状態のカウンタであって、すべての領域のカウント値が初期値０である状態を示している。なお、カウンタの構成は図１９に示されたような構成に限定されず、その他の構成であってもよい。たとえば、上記入力済みフラグは、領域５０１に格納されている識別情報が（初期値ではなく）識別情報を表わしているデータであるか否かを判断する際に用いられるため、他の方法でその判断が可能である場合には、入力済みフラグは格納されない構成であってもよい。具体的には、識別番号が初期値（図１９の例では「００００００００００」）以外のデータを割当てるとされている場合には、入力済みフラグは格納されない構成とすることができる。
【００６５】
上記ステップＳ３０５では、具体的に、図２０に示される処理が行なわれる。図２０を参照して、始めに、特定部４０５は、ステップＳ３０３で特定されたブロックから抽出された情報パターンより、識別情報と、（分割された）埋込データに対応した情報パターンとを特定する（ステップＳ４０１）。そして、カウンタ４０９に含まれる図１９に示されるカウンタに格納されているカウント値を参照して、領域５０１にステップＳ４０１で特定された識別情報が格納されており、かつ領域５０１の入力済みフラグがＯＮであるカウンタが存在するか否かを判断する（ステップＳ４０３）。その結果、ステップＳ４０１で該当するカウンタが存在する場合、つまり、ステップＳ４０１で特定された識別情報に対応したカウンタがある場合（ステップＳ４０３でＹＥＳ）、カウント処理部４０７は、該当するカウンタの領域５０１の格納回数を示すカウント値を１インクリメントする（ステップＳ４０９）。さらに、領域５０３の、抽出された情報パターン（に対応した（分割された）埋込データ）に対応したカウント値を、１インクリメントする（ステップＳ４１１）。
【００６６】
一方、カウンタ４０９にステップＳ４０１で特定された識別情報が格納されており、かつ領域５０１の入力済みフラグがＯＮであるカウンタが存在しない場合（ステップＳ４０３でＮＯ）、つまり、当該識別情報が特定されるブロックに対するカウント処理が初めて行なわれる場合、カウント処理部４０７は、図１９の初期状態であるカウンタの領域５０１にステップＳ４０１で特定された識別情報を格納し、さらに領域５０１の入力済みフラグをＯＮする（ステップＳ４０５，Ｓ４０７）。その後、上記ステップＳ４０９，Ｓ４１１の処理を行なう。
【００６７】
カウント処理部４０７は、上述のステップＳ４０１〜Ｓ４１１の処理をすべてのブロックに対して行なうと（ステップＳ４１３でＹＥＳ）、カウント処理を終了する。
【００６８】
図２０で表わされた上記ステップＳ３０５のカウント処理が、ステップＳ３０１で入力されたスキャンデータから特定されたすべてのブロックに対して行なわれることで、抽出された情報パターンに対応した埋込データのカウント値が、識別情報に分類されてカウンタ４０９に格納される。
【００６９】
図１２に示されたような透かし画像を表わすブロックは地紋付加画像全体に繰返し埋込まれているものであるが、原稿画像によっては情報ドット位置に原稿中のドットが重なるなどして、配置された情報ドットが検出されなかったり、原稿中のドットが情報ドットとして検出されたりする場合がある。上記ステップＳ３０５では、そのような場合であっても、各エリアについて情報ドット位置から検出された丸ドットに基づいて抽出された情報ドットに対応したカウンタ４０９のカウント値を順次インクリメントする。そこで、先述のように誤検出された情報ドットに基づいた抽出結果を除外するため、対象のスキャンデータに含まれるすべてのブロックについて上記処理が行なわれた後、データ復元部４１１は、エリアごとにカウンタ４０９のカウント値の最も高い埋込データをそのエリアに埋込まれた（分割された）埋込データと特定する。そして、ブロックごとに、規定されているエリアの位置関係に基づいて最もカウント値の大きい埋込データを順次連結して、ブロックごとに埋込データを復元する（ステップＳ３０７）。たとえば、図１７のスキャン画像を表わすスキャンデータに含まれるすべてのブロックについて上記処理が行なわれた後に、図２１に示される第１カウンタのカウント値、および図２２に示される第２カウンタのカウント値が得られたとする。上記ステップＳ３０７でデータ復元部４１１は、第１カウンタのカウント値（図２１）について、「３パターン目」とされている図８において最上段左から３番目のエリアについては、データ２が２回検出され、データ３０が９８６３回検出されたことが示されている。この場合、データ３０が最もカウント値が大きいため（図２１中の丸印）、当該ブロックの当該エリアに配置された埋込データはデータ３０であると特定する。同様に、第１カウンタのカウント値（図２１）について、「４パターン目」とされている最上段左から４番目のエリアについても、当該エリアに配置された埋込データはデータ５、第２カウンタのカウント値（図２２）について、「２パターン目」とされている最上段左から２番目のエリアについても、当該エリアに配置された埋込データはデータ０であると特定する。
【００７０】
以上の処理によって、地紋付加画像がスキャンされて得られたスキャンデータから、プリント１に埋込まれた埋込データ１とプリント２に埋込まれた埋込データ２とが検出される。なお、上記ステップＳ３０７の処理の後に復元された埋込データが出力されてもよいが（ステップＳ３１１）、好ましくは、判断部４１３において、ステップＳ３０７での検出の成否が判断され（ステップＳ３０９）、その結果に応じて出力される。
【００７１】
具体的には、ステップＳ３０９で判断部４１３は、ステップＳ３０７で検出された（分割された）埋込データを用いて識別情報を生成する演算を行ない、演算で得られた値とカウンタの領域５０１に格納されている識別情報とを比較し、これらが一致するか否かをによって検出の成否を判断する。ここでの演算は、ＰＣ１が埋込データを原稿画像に埋込む画像形成装置として機能する際の、演算部３０４での演算と同様の、つまり埋込データを埋込む際の識別情報を作成する演算と同様である。これらが一致する場合、判断部４１３はステップＳ３０７での検出が成功と判断する。一致しない場合には、判断部４１３はステップＳ３０７での検出が不成功と判断する。また、検出の成否の他の判断としては、カウンタの領域５０１に格納されているカウント値を書込んだ回数を参照して、この回数が所定回数以下である場合には、検出不成功と判断する。たとえばスキャン画像上のノイズや原稿画像の影響などによって識別情報が正しく検出されず、埋込まれた埋込データの識別情報とは異なる識別情報が読取られたとしても、同一の識別情報が複数回検出される確率はかなり低いと考えられる。そのため、回数が所定回数（たとえば１）以下である場合に検出不成功と判断することで、誤って検出された識別情報についてのカウント値を考慮からはずすことができる。
【００７２】
出力部４１５は、ステップＳ３０７での検出が成功と判断された場合（ステップＳ３０９でＹＥＳ）に埋込データを出力し（ステップＳ３１１）、不成功と判断された場合（ステップＳ３０９でＮＯ）に出力しないようにすることができる。また、不成功と判断された場合には、エラー表示や、再処理などが行なわれてもよい。
【００７３】
本実施の形態にかかるＰＣ１が上述のような埋込データを復元する処理を行なうことで、スキャンデータに複数種類の埋込データが埋込まれている場合であっても複数種類の埋込データの検出を可能とし、検出性能を向上させることができる。また、検出回数も考慮するため、誤検出に基づいた埋込データの復元を防止することができ、検出精度を向上させることができる。
【００７４】
［変形例１］
上記具体例では、ステップＳ３０１で入力されたスキャンデータに含まれるすべてのブロックについてステップＳ３０５までの処理が行なわれた後にステップＳ３０７で埋込データの復元が行なわれているが、副走査方向に所定画素数ごとに上記ステップＳ３０３，Ｓ３０５の処理が行なわれて、ステップＳ３０７で埋込データの復元が行なわれてもよい。
【００７５】
変形例１にかかる埋込データを抽出して復元する処理を図２３のフローチャートに、変形例１にかかるカウント処理を図２４のフローチャートに各々示す。図２３のフローチャートおよび図２４のフローチャートにおいては、各々、図１６のフローチャートに示された処理および図２０のフローチャートに示された処理と異なる処理について異なるステップ番号が付されている。
【００７６】
図２３を参照して、ステップＳ３０１では同様にしてスキャンデータが入力される。変形例１においては、パターン抽出部４０３はステップＳ３０１で入力されたスキャンデータのうち、副走査方向に予め規定された単位画素数から丸ドットを抽出し、情報パターンを抽出する（ステップＳ３０３’）。その抽出方法については、ステップＳ３０３と同様の方法とする。そして、特定部４０５およびカウント処理部４０７でカウント処理が実行される（ステップＳ３０５’）。カウント処理部４０７は、上記ステップＳ３０３’，Ｓ３０５’で処理された画素数が副走査方向に所定画素数に達したか否かを判断し（ステップＳ３０６）、到達するまで上記ステップＳ３０３’，Ｓ３０５’の処理を繰返す。そして、到達したと判断されると（ステップＳ３０６でＹＥＳ）、その時点でデータ復元部４１１は埋込データを復元する（ステップＳ３０７）。判断部４１３は、ステップＳ３０７での検出の成否を判断し（ステップＳ３０９）、所定画素数に処理が達した時点でステップＳ３０７での検出が成功であった場合には（ステップＳ３０９でＹＥＳ）、出力部４１５は埋込データを出力する（ステップＳ３１１）。さらに、カウント処理部４０７は、カウンタ４０９のカウント値をクリアする（ステップＳ３１３）。また、カウント処理部４０７は、検出が成功した埋込データを特定する情報（たとえば識別情報）を記憶しておく。所定画素数に処理が達した時点でステップＳ３０７での検出が不成功であった場合（ステップＳ３０９でＮＯ）、上記ステップＳ３１１，Ｓ３１３を行なわない。
【００７７】
上記ステップＳ３０３’〜Ｓ３１３はステップＳ３０１で入力されたスキャンデータの副走査方向に最終画素に到達するまで繰返されて、最終画素に到達すると（ステップＳ３１５でＹＥＳ）、処理が終了する。
【００７８】
上記ステップＳ３０５’のカウント処理については、図２４を参照して、ステップＳ４０１でステップＳ３０３’で特定されたブロックから抽出された情報パターンより識別情報が特定されると、カウント処理部４０７は、上記ステップＳ３１３で記憶した、すでに検出が成功している埋込データを特定する情報を参照して、ステップＳ４０１で特定された識別情報で特定される埋込データがすでに検出されているか否かを判断する（ステップＳ４０２）。その結果、すでに検出されていると判断されると（ステップＳ４０３でＹＥＳ）、先述したステップＳ４０３以降の処理をスキップし、検出されていないと判断された場合に（ステップＳ４０２でＮＯ）、先述したステップＳ４０３以降の処理を行なう。つまり、変形例１では、先に行なわれた検出処理によってすでに検出された埋込データについてはカウント処理を行なわないようにし、検出されていない埋込データについてのみカウント処理を行なうようにする。
【００７９】
ＰＣ１において変形例１にかかる処理が行なわれることで、以下のような場合に、効率的にスキャンデータから埋込データを抽出し復元することができる。なお、ここでは、上記所定画素数を具体的に１０００画素であるものとする。所定画素数は予めカウント処理部４０７に対して設定されていてもよいし、所定の操作によって入力や変更されるものであってもよい。また、具体的な画素数は１０００画素に限定されず、ビット数から得られる統計学上のエレメント数であってもよい。
【００８０】
たとえば、上記ステップＳ３０１で具体的に図１７と同様のスキャン画像を表わすスキャンデータが入力されたものとする。具体的には、図２５を参照して、副走査方向にプリント１，プリント２が並べられたスキャンデータが入力されたものとする。このとき、副走査方向に１０００画素までのスキャン画像には、プリント１に埋込まれている埋込データ１が埋込まれている。そのため、上記ステップＳ３０６で最初に１０００画素に到達したときには、続くステップＳ３０７で埋込データ１が検出される可能性が高い。また、たとえば原稿の内容や上マージンの影響などで埋込データの検出が不成功であった場合であっても、２回目に１０００画素に到達したとき、遅くても３回目に１０００画素に到達したときには、埋込データ１が検出されると考えられる。このため、先述のスキャンデータに含まれるすべてのブロックについてステップＳ３０５までの処理が行なわれた後に埋込データを復元する場合に比較して、早い段階で１種類目の復元データを復元することができる。また、最初に１０００画素に到達したとき、または２回目に１０００画素に到達したときに埋込データ１が検出された場合には、以降の処理において埋込データ１を示す識別情報が特定された場合には、カウンタ４０９をクリアしている。そのため、カウンタ４０９に割当てる記憶容量を抑えることができる。これは、カウンタ４０９をハードウェアで実現する場合にはより好適である。さらにその場合、以降の処理において埋込データ１についての検出処理を行なっていない。そのため、ソフトウェア処理の場合には処理を高速化することができる。
【００８１】
なお、上記ステップＳ３０５’でのカウント処理において、スキャン画像上のノイズや原稿画像の影響などによって識別情報が正しく検出されない場合もあり、図２６に示されるように、カウンタ４０９に埋込データ１の識別情報とは異なる識別情報についてのカウント値が格納される場合がある。上記ステップＳ３１３では、上記ステップＳ３０７で復元された埋込データ（埋込データ１）に対応するカウンタをクリアすると共に、図２６に示されるように、入力回数が所定数以下のカウンタもクリアすることが好ましい。変形例１では所定画素数（ここでは１０００画素）ごとにカウント処理が行なわれるため、埋込データ１の識別情報とは異なる誤った識別情報が読取られたとしても、同じ誤った識別情報が読取られる確率はかなり低いと考えられる。そこで、上記所定数としては１が挙げられる。このようにすることで、カウンタ４０９に割当てる記憶容量をより抑えることができる。
【００８２】
［変形例２］
本実施の形態では、ブロックの規定位置にあるエリアとして、最下段の右から１番目，２番目のエリアに識別情報が割当てられるとしているが、たとえば図２７に示されるようにスキャン画像上のノイズや原稿画像の影響などによって識別情報が割当てられているエリアから情報パターンが特定できない場合も考えられる。上述の処理では、上記ステップＳ４０１で識別情報が特定できなかった場合には以降の処理は実行できないため、当該ブロックについて（他のエリアから情報パターンが特定できているとしても）カウント処理は行なわれないものとする。しかしながら、図２７に示されたような場合であっても、他のエリアから特定される情報パターンを用いてカウント処理が行なわれてもよい。
【００８３】
変形例２にかかるカウンタ４０９は、図１９に示された第１の構成のカウンタに加えて、図２８に示される第２の構成のカウンタを含む。図２８を参照して、変形例２にかかるカウンタ４０９に含まれる第２の構成のカウンタは、先に説明した第１の構成のカウンタに含まれる領域５０３と同様の領域であって、抽出された情報パターンで特定される（分割された）埋込データに対応したカウント値を格納するヒストグラムメモリである領域５０３’と、抽出情報パターンで特定される識別情報に対応したカウント値を格納するヒストグラムメモリである領域５０５とを含んで構成される。つまり、第２の構成には先述の領域５０１である、エリアから検出される識別情報を格納するための領域、当該カウンタに対してカウント値を書込んだ回数を格納するための領域、および当該カウンタに対してカウント値の書込みを行なったことを示す入力済みフラグを格納する領域を含む分類用の領域が含まれない。従って、第２の構成のカウンタは、ブロックごとに識別情報に応じて分類することなくカウント値を格納するために用いることができる。
【００８４】
変形例２では、変形例１と同様に、副走査方向に所定画素数ごとにカウント処理が行なわれるものとする。また、変形例２にかかる埋込データを抽出して復元する処理は、変形例１にかかる処理を表わした図２３のフローチャートを用いて説明することができる。図２３を再び参照して、ステップＳ３０１では同様にしてスキャンデータが入力される。変形例２においても、パターン抽出部４０３はステップＳ３０１で入力されたスキャンデータのうち、副走査方向に予め規定された単位画素数から丸ドットを抽出し、情報パターンを抽出する（ステップＳ３０３’）。そして、特定部４０５およびカウント処理部４０７でカウント処理が実行される（ステップＳ３０５’）。なお、変形例２のカウント処理について、図３１を用いて説明する。図３１を参照して、カウント処理部４０７は、第１の構成のカウンタについては、変形例１と同様に、上記ステップＳ４０３〜Ｓ４１１の処理を実行する。一方、変形例２においては、上記処理に加えて、第２の構成のカウンタについて、ステップＳ３０３’で特定されたブロックから抽出された情報パターンより特定される（分割された）埋込データに対応するカウント値をインクリメントし、カウンタ４０９に含まれた第２の構成のカウンタの領域５０３に格納する。また、ステップＳ３０３で特定されたブロックから識別情報の配置されたエリアから情報パターンが抽出された場合、その情報パターンから特定されるデータ（識別情報）に対応するカウンタをインクリメントし、カウンタ４０９に含まれた第２の構成のカウンタの領域５０５に格納する（ステップＳ４０４）。上記ステップＳ３０３’，Ｓ３０５’の処理が、画素数が副走査方向に所定画素数に到達するまで繰返される。そして、所定画素数に到達すると（ステップＳ３０６でＹＥＳ）、その時点でデータ復元部４１１は、第２の構成のカウンタの領域５０３に格納されたカウント値に基づいて、埋込データを復元する（ステップＳ３０７）。さらに、上記ステップＳ３０９で判断部４１３はステップＳ３０７での検出の成否を判断する。変形例２では、第２の構成のカウンタの領域５０５に、上記所定画素数分から抽出された情報パターンによって特定された識別情報に対応するカウント値が格納されている。そこで、判断部４１３は、データ復元部４１１での埋込データの復元と同様にカウント値の最も高いデータを識別情報と特定する。また、判断部４１３は、ステップＳ３０７で検出された（分割された）埋込データを用いて識別情報を生成する演算を行ない、演算で得られた値とカウンタの領域５０５に格納されたカウント値から特定される識別情報とを比較して、これらが一致するか否かによって検出の成否を判断する。ここでの演算は、ＰＣ１が埋込データを原稿画像に埋込む画像形成装置として機能する際の、演算部３０４での演算と同様の、つまり埋込データを埋込む際の識別情報を作成する演算と同様である。これらが一致する場合、判断部４１３はステップＳ３０７での検出が成功と判断する。一致しない場合には、判断部４１３はステップＳ３０７での検出が不成功と判断する。
【００８５】
ＰＣ１において変形例２にかかる処理が行なわれることで、図２７に示されるように識別上オフの配置されたエリアから情報パターンが特定できない場合であっても、その他のエリアから情報パターンを特定することで埋込データを復元することが可能になり、効率的にスキャンデータから埋込データを抽出し復元することができる。特に、図２５に示されたように、副走査方向にプリント１，プリント２が並べられたスキャンデータが入力された場合には、副走査方向に１０００画素までのスキャン画像には、プリント１に埋込まれている埋込データ１のみが埋込まれている。そのため、変形例２のように識別情報ごとに分類してカウント値を格納するカウンタの構成でなくても複数種類の埋込データに対するカウント値が混在することがない。つまり、変形例２のカウント処理は、複数種類の埋込データが混在して埋込まれているのではなく、図２５に示されたように副走査方向に別個に埋込まれているスキャンデータに対して有効である。
【００８６】
なお、変形例２のカウント処理においては、対象のブロックから識別情報が特定された場合には、識別情報ごとに分類して第１の構成のカウンタにカウント値を格納し、識別情報が特定されない場合には分類せずに第２の構成のカウンタにカウント値を格納するようにしてもよい。この場合、第１のカウントに格納されたカウント値で埋込データが特定された場合には、優先的にそのデータを用いて埋込データを復元してもよい。また、第２のカウントの領域５０５に格納されたカウント値から識別情報が特定された場合、第１のカウンタの領域５０１に格納された識別情報と比較し、これらが一致する場合には、いずれかのカウンタのカウント値を用いて埋込みデータを復元するようにしてもよい。
【００８７】
なお、変形例２においても変形例１と同様に１種類の埋込データについて上記ステップＳ３０９で検出成功と判断されると、カウント処理部４０７は、カウンタ４０９の第１の構成のカウンタおよび第２の構成のカウンタ共に、カウント値をクリアすることが好ましい。
【００８８】
また、上述の具体例では、カウンタ４０９に第１の構成のカウンタ、または第１の構成のカウンタと第２の構成のカウンタとが含まれるものとしたが、本発明にかかる検出装置において、カウンタの構成は上述の構成に限定されない。たとえば、他の具体例として、図２９に示されるように、エリアごとに、識別情報ごとに分類されたカウント値と、分類されないカウント値とを格納する構成としてもよい。また他の具体例として、抽出された情報パターンで特定される（分割された）埋込データに対応するカウント値ではなく、図３０に示されたような、先述の、情報ドット位置である位置ａ〜位置ｈの各々のドット数のカウント値を格納する構成としてもよい。また、その他の構成であってもよい。そして、カウンタの構成が先述の構成とは異なる構成である場合、カウント処理や検出結果の成否を判断する処理など、カウンタの構成に応じた処理内容とするものとする。
【００８９】
なお、上述の具体例では、ＰＣ１またはＭＦＰ２において、原稿画像に対して埋込データを透かし画像として埋込む処理、および地紋付加画像をスキャンして得られた画像データから埋込データを抽出して復元する処理の両処理が行なわれるものとしているが、これら両処理は、異なる装置で行なわれてもよい。
【００９０】
さらに、上述の原稿画像に対して埋込データを透かし画像として埋込む処理、および地紋付加画像をスキャンして得られた画像データから埋込データを抽出して復元する処理をコンピュータに実行させるプログラムを提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）およびメモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【００９１】
なお、上記プログラムは、コンピュータのオペレーティングシステム（ＯＳ）やプリンタドライバの一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳやプリンタドライバと協働して処理が実行される。
【００９２】
また、上記プログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。
【００９３】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【００９４】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００９５】
【図１】本実施の形態にかかるＰＣおよびその周辺機器の構成概念の具体例を示す図である。
【図２】画像形成装置として機能するＭＦＰおよびその周辺機器の構成概念の具体例を示す図である。
【図３】本実施の形態にかかるＰＣのハードウェア構成およびその機能の具体例を示すブロック図である。
【図４】本実施の形態にかかるＰＣの機能構成の具体例を示すブロック図である。
【図５】本実施の形態にかかるＰＣにおいて埋込データを原稿画像に埋込む処理の具体例を示すフローチャートである。
【図６】ステップＳ１０５での埋込データを変換して透かしデータを生成するための処理の具体例を示すフローチャートである。
【図７】埋込データの具体例および埋込データの分割を説明する図である。
【図８】埋込データの配置を説明する図である。
【図９】１つのエリアにおけるドット位置の構成の具体例を説明する図である。
【図１０】埋込データと情報パターンとの対応関係の具体例を示す図である。
【図１１】情報パターンの具体例として埋込データ「１０」に対応する情報パターンを示す図である。
【図１２】透かし画像の具体例として、図７の埋込データが変換されて得られる透かし画像を示す図である。
【図１３】プリントされる画像の具体例を示す図である。
【図１４】埋込データの具体例を示す図である。
【図１５】本実施の形態にかかるＰＣの機能構成の具体例を示すブロック図である。
【図１６】本実施の形態にかかるＰＣにおいて、地紋付加画像をスキャンして得られた画像データから埋込データを抽出して復元する処理の具体例を示すフローチャートである。
【図１７】スキャン画像の具体例を示す図である。
【図１８】本実施の形態にかかるＰＣでの検出結果の具体例として、図１２に示された透かし画像で表わされる埋込データが埋込まれた地紋付加画像がスキャンされて得られた画像データから検出された丸ドットを示す図である。
【図１９】カウンタの構成の具体例を示す図である。
【図２０】ステップＳ３０５でのカウント処理の具体例を示すフローチャートである。
【図２１】カウンタ４０９でのカウント値の具体例を示す図である。
【図２２】カウンタ４０９でのカウント値の具体例を示す図である。
【図２３】変形例１にかかる埋込データを抽出して復元する処理を示すフローチャートである。
【図２４】変形例１にかかるカウント処理を示すフローチャートである。
【図２５】スキャンデータの具体例を示す図である。
【図２６】カウンタ４０９でのカウント値の具体例を示す図である。
【図２７】スキャンデータの具体例を示す図である。
【図２８】カウンタの構成の具体例を示す図である。
【図２９】カウンタの構成の具体例を示す図である。
【図３０】カウンタの構成の具体例を示す図である。
【図３１】変形例２にかかるカウント処理を示すフローチャートである。
【符号の説明】
【００９６】
１  ＰＣ、２  ＭＦＰ、１１  マウス、１２  キーボード、１３  モニタ、１４  外部記憶装置、１５  プリンタ、１６  スキャナ、２１  操作パネル部、２２  スキャナ部、２３  プリンタ部、１００  入出力Ｉ／Ｆ、１０１  ＣＰＵ、１０２  記憶装置、２０１  画像処理部、３０１  原稿画像データ入力部、３０３  埋込データ入力部、３０４  演算部、３０７  生成部、３０９  記憶部、３１１  合成処理部、４０１  スキャンデータ入力部、４０３  パターン抽出部、４０５  特定部、４０６  記憶部、４０７  処理部、４０９  カウンタ、４１１  データ復元部、４１３  判断部、４１５  出力部、５０１，５０３，５０５  領域。
【図１】
0004893643.tif 000002
【図２】
0004893643.tif 000003
【図３】
0004893643.tif 000004
【図４】
0004893643.tif 000005
【図５】
0004893643.tif 000006
【図６】
0004893643.tif 000007
【図７】
0004893643.tif 000008
【図８】
0004893643.tif 000009
【図９】
0004893643.tif 000010
【図１０】
0004893643.tif 000011
【図１１】
0004893643.tif 000012
【図１４】
0004893643.tif 000013
【図１５】
0004893643.tif 000014
【図１６】
0004893643.tif 000015
【図１９】
0004893643.tif 000016
【図２０】
0004893643.tif 000017
【図２１】
0004893643.tif 000018
【図２２】
0004893643.tif 000019
【図２３】
0004893643.tif 000020
【図２４】
0004893643.tif 000021
【図２６】
0004893643.tif 000022
【図２８】
0004893643.tif 000023
【図２９】
0004893643.tif 000024
【図３０】
0004893643.tif 000025
【図３１】
0004893643.tif 000026
【図１２】
0004893643.tif 000027
【図１３】
0004893643.tif 000028
【図１７】
0004893643.tif 000029
【図１８】
0004893643.tif 000030
【図２５】
0004893643.tif 000031
【図２７】
0004893643.tif 000032