(57)【要約】【課題】基準となる画像を撮影した画像で特定する。【解決手段】画像処理装置１は、任意形状画像に任意形状ウェーブレット変換を用いて透かしデータを埋め込んで印刷する。ユーザのカメラでこの印刷物を撮影して撮影画像データを生成する。画像処理装置１は、任意形状画像を様々な角度から撮影したテンプレート画像データを記憶しており、撮影画像データ中の任意形状画像の平行移動（Δｘ、Δｙ）、縮尺σ、回転角度φを補正した後、各テンプレート画像データとの相関度を計算する。所定の閾値αを越える相関度が合った場合、画像処理装置１は、撮影画像に任意形状画像が含まれていると判断し、任意形状画像の領域を特定して当該領域から透かしデータを読み出す。【選択図】図１
2010178269.tif 000002
【特許請求の範囲】
【請求項１】
判断の基準となる基準画像を異なる傾きから見た複数の画像に関する比較画像データを取得する比較画像データ取得手段と、
判断対象である対象画像に関する対象画像データを取得する対象画像データ取得手段と、
前記取得した各比較画像データと前記取得した対象画像データの相関度を取得する相関度取得手段と、
前記取得した各相関度のうち、相関度が所定の閾値以上のものが存在する場合に、前記対象画像に前記基準画像に対応する画像が存在すると判断する判断手段と、
を具備したことを特徴とする画像処理装置。
【請求項２】
前記相関度取得手段は、前記取得した比較画像データと、前記取得した対象画像データと、の間で平行移動量と縮尺と回転角を補正してから相関度を取得することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
相関度が所定の閾値以上となった比較画像データを用いて、前記取得した対象画像データの少なくとも傾きを補正する補正手段を具備したことを特徴とする請求項１、又は請求項２に記載の画像処理装置。
【請求項４】
前記補正した対象画像データには透かしデータが埋め込まれており、前記補正した対象画像データから透かしデータを読み出す読出手段を具備したことを特徴とする請求項１、請求項２、又は請求項３に記載の画像処理装置。
【請求項５】
前記透かしデータは、前記基準画像の画像データをウェーブレット変換によって周波数帯域に分割した分割画像データを取得する分割画像データ取得手段と、
前記画像データに透かしデータを埋め込む領域を規定する領域データを周波数帯域に分割した分割領域データを取得する埋込分割領域データ取得手段と、
前記取得した分割領域データで規定される領域に対応する前記分割画像データに透かしデータを埋め込む埋込手段と、
を備えた透かしデータ埋め込み装置によって埋め込まれており、
前記対象画像データをウェーブレット変換によって周波数帯域に分割して分割透かし入り画像データを取得する分割透かし入り画像データ取得手段と、
前記透かし入り画像データで透かしデータが埋め込まれた領域を規定する領域データを周波数帯域に分割した分割領域データを取得する読出分割領域データ取得手段と、
を具備し、
前記読出手段は、前記取得した分割領域データで規定される領域に対応する前記分割透かし入り画像データから透かしデータを読み出すことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
判断の基準となる基準画像を異なる傾きからみた複数の画像に関する比較画像データを取得する比較画像データ取得機能と、
判断対象である対象画像に関する対象画像データを取得する対象画像データ取得機能と、
前記取得した各比較画像データと前記取得した対象画像データの相関度を取得する相関度取得機能と、
前記取得した各相関度のうち、相関度が所定の閾値以上のものが存在する場合に、前記対象画像に前記基準画像に対応する画像が存在すると判断する判断機能と、
をコンピュータで実現する画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、及び画像処理プログラムに係り、例えば、基準となる画像が対象となる画像に存在するか否かを判定するものに関するものである。
【背景技術】
【０００２】
近年、画像データ（デジタル画像）に透かしデータを埋め込む電子透かしの研究が盛んになされている。
透かしデータは、画像に目立たないように埋め込まれ、画像の視認性に与える影響を極力低くしながら、画像に付加的な情報を付与することができる。
透かしデータの利用法は各種あるが、例えば、画像に所定のウェブサイトへのＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒｓ）と対応づけられた情報を透かしデータとして埋め込んでおき、ユーザがカメラ付き携帯電話で画像を撮影すると、携帯電話が透かしデータを検出して携帯電話を当該ウェブサイトに接続するといったようなものがある。
【０００３】
このように電子透かしの埋め込まれた画像を撮影した撮影画像データから電子透かしを読み出す場合、カメラの傾きや回転などによる歪みを補正してから透かしデータを読み出す必要がある。
このような補正技術として次の特許文献１の「電子透かし埋め込み装置と方法ならびに電子透かし抽出装置と方法」がある。
この技術は、複数の特徴点を埋め込んだフレームに電子透かしを埋め込んだ画像を貼り付け、これら複数の特徴点を用いて画像の歪みを補正するものである。
【０００４】
このフレームを用いた方法は、矩形形状などの、予め決められた所定形状の画像に電子透かしを埋め込む場合には有効であるが、任意形状の画像に透かしデータを埋め込む場合には、画像のデザイン性を損ねてしまう。
任意形状の画像に電子透かしが埋め込まれている場合、ユーザが撮影した画像に当該任意形状の画像の存在を如何に検出するか、また、当該画像が存在した場合、それをどのように補正するかが課題となっていた。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−８６８２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、例えば、電子透かしを埋め込むなどした基準となる画像を、ユーザが撮影などした画像で特定することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、前記目的を達成するために、請求項１に記載の発明では、判断の基準となる基準画像を異なる傾きから見た複数の画像に関する比較画像データを取得する比較画像データ取得手段と、判断対象である対象画像に関する対象画像データを取得する対象画像データ取得手段と、前記取得した各比較画像データと前記取得した対象画像データの相関度を取得する相関度取得手段と、前記取得した各相関度のうち、相関度が所定の閾値以上のものが存在する場合に、前記対象画像に前記基準画像に対応する画像が存在すると判断する判断手段と、を具備したことを特徴とする画像処理装置を提供する。
請求項２に記載の発明では、前記相関度取得手段は、前記取得した比較画像データと、前記取得した対象画像データと、の間で平行移動量と縮尺と回転角を補正してから相関度を取得することを特徴とする請求項１に記載の画像処理装置を提供する。
請求項３に記載の発明では、相関度が所定の閾値以上となった比較画像データを用いて、前記取得した対象画像データの少なくとも傾きを補正する補正手段を具備したことを特徴とする請求項１、又は請求項２に記載の画像処理装置を提供する。
請求項４に記載の発明では、前記補正した対象画像データには透かしデータが埋め込まれており、前記補正した対象画像データから透かしデータを読み出す読出手段を具備したことを特徴とする請求項１、請求項２、又は請求項３に記載の画像処理装置を提供する。
請求項５に記載の発明では、前記透かしデータは、前記基準画像の画像データをウェーブレット変換によって周波数帯域に分割した分割画像データを取得する分割画像データ取得手段と、前記画像データに透かしデータを埋め込む領域を規定する領域データを周波数帯域に分割した分割領域データを取得する埋込分割領域データ取得手段と、前記取得した分割領域データで規定される領域に対応する前記分割画像データに透かしデータを埋め込む埋込手段と、を備えた透かしデータ埋め込み装置によって埋め込まれており、前記対象画像データをウェーブレット変換によって周波数帯域に分割して分割透かし入り画像データを取得する分割透かし入り画像データ取得手段と、前記透かし入り画像データで透かしデータが埋め込まれた領域を規定する領域データを周波数帯域に分割した分割領域データを取得する読出分割領域データ取得手段と、を具備し、前記読出手段は、前記取得した分割領域データで規定される領域に対応する前記分割透かし入り画像データから透かしデータを読み出すことを特徴とする請求項４に記載の画像処理装置を提供する。
請求項６に記載の発明では、判断の基準となる基準画像を異なる傾きからみた複数の画像に関する比較画像データを取得する比較画像データ取得機能と、判断対象である対象画像に関する対象画像データを取得する対象画像データ取得機能と、前記取得した各比較画像データと前記取得した対象画像データの相関度を取得する相関度取得機能と、前記取得した各相関度のうち、相関度が所定の閾値以上のものが存在する場合に、前記対象画像に前記基準画像に対応する画像が存在すると判断する判断機能と、をコンピュータで実現する画像処理プログラムを提供する。
【発明の効果】
【０００８】
本発明によると、比較画像を用いることにより、基準となる画像を撮影した画像で特定することができる。
【図面の簡単な説明】
【０００９】
【図１】画像処理装置のハードウェア的な構成を説明するための図である。
【図２】形状マップやこれに対応する画像の一例を示した図である。
【図３】透かしデータの埋め込み処理や読出処理を説明するための図である。
【図４】任意形状領域をウェーブレット変換する方法を説明するための図である。
【図５】オクターブ分割を説明するための図である。
【図６】画像のオクターブ分割例について説明するための図である。
【図７】形状マップのオクターブ分割例について説明するための図である。
【図８】任意形状領域を逆ウェーブレット変換する方法を説明するための図である。
【図９】透かしデータを埋め込むのに好ましい分割レベルを説明するための図である。
【図１０】透かし埋込処理を説明するためのフローチャートである。
【図１１】透かし読出処理を説明するためのフローチャートである。
【図１２】透かしデータの埋め込みから読み出しまでの作業工程を説明するための図である。
【図１３】テンプレート画像データを説明するための図である。
【図１４】撮影画像に画像データによる画像が存在するか否かを判定する方法を説明するための図である。
【図１５】平行移動量を計算する手順を説明するためのフローチャートである。
【図１６】数式を説明するための図である。
【図１７】縮尺、及び回転角度を計算する手順を説明するためのフローチャートである。
【図１８】数式を説明するための図である。
【図１９】撮影画像データを補正する手順を説明するためのフローチャートである。
【図２０】透かしデータが埋め込まれた画像データの利用例を説明するための図である。
【発明を実施するための形態】
【００１０】
以下、本発明の好適な実施の形態について、図１から図２０を参照して詳細に説明する。
（１）実施形態の概要
画像処理装置１は、任意形状画像に任意形状ウェーブレット変換を用いて透かしデータを埋め込んで印刷する。
ユーザのカメラでこの印刷物を撮影して撮影画像データを生成する。画像処理装置１は、任意形状画像を様々な角度から撮影したテンプレート画像データを記憶しており、撮影画像データ中の任意形状画像の平行移動（Δｘ、Δｙ）、縮尺σ、回転角度φを補正した後、各テンプレート画像データとの相関度を計算する。所定の閾値αを越える相関度が合った場合、画像処理装置１は、撮影画像に任意形状画像が含まれていると判断し、任意形状画像の領域を特定して当該領域から透かしデータを読み出す。
本実施の形態では、透かしデータを埋め込む画像領域を特徴的なものとしておき、その画像領域の特徴を利用して透かしデータの有無や透かしデータの読み出しを行う。
【００１１】
（２）実施形態の詳細
本実施の形態では、任意形状の画像にウェーブレット変換を用いて透かしデータを埋め込み、また、ウェーブレット変換によって透かしデータが埋め込まれた任意形状の画像から透かしデータを読み出す。
本実施の形態では、まず、透かしデータの埋め込み方法と読み出し方法について説明し、その後で、ユーザが撮影するなどして透視変換を受けた撮影画像から透かしデータ読み出す方法について説明する。
【００１２】
［透かしデータの埋め込み方法と読み出し方法］
図１は、本実施の形態に係る画像処理装置１のハードウェア的な構成を説明するための図である。
画像処理装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）７、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１３、入力装置３、表示装置４、印刷装置５、通信制御装置６、記憶装置８、記憶媒体駆動装置９、入出力Ｉ／Ｆ（インターフェース）１０などの各機能部がバスラインで接続されて構成されている。
【００１３】
ＣＰＵ２は、所定のプログラムに従って、各種の演算処理、及び情報処理や画像処理装置１の各部を制御したりする中央処理装置である。
ＣＰＵ２は、例えば、プログラム格納部１１に記憶されている透かし埋込プログラムを実行し、画像データの任意形状領域をウェーブレット変換して透かしデータを埋め込んだり、また、透かし読出プログラムを実行して、画像データの任意形状領域を逆ウェーブレット変換して透かしデータを読み出したりする。
【００１４】
ＲＯＭ１３は、画像処理装置１を動作させるための基本的なプログラムやデータなどを記憶した読み出し専用のメモリである。
ＲＡＭ７は、ＣＰＵ２が動作するためのワーキングメモリを提供する読み書きが可能なメモリであり、ＣＰＵ２が画像データに透かしデータを埋め込んだり、あるいは、埋め込んだ透かしデータを読み出したりする際のワーキングメモリを提供する。
【００１５】
入力装置３は、例えば、キーボードやマウスなどの操作デバイスを有しており、ユーザが画像処理装置１を操作する際に使用する。
表示装置４は、例えば、液晶ディスプレイなどの表示デバイスを備えており、例えば、画像データに透かしデータを埋め込む際の操作画面や、透かしデータを読み出す際の操作画面など、画像処理装置１を操作する際の各種画面を表示する。
【００１６】
通信制御装置６は、画像処理装置１をインターネットなどの通信ネットワークに接続する装置である。画像処理装置１は、通信制御装置６を介して、各種サーバ装置や端末装置と通信することができ、外部から透かしデータを埋め込む対象の画像データや透かしデータを受信したり、あるいは、透かしデータを埋め込んだ画像データを送信したりすることができる。
印刷装置５は、例えば、レーザプリンタ、インクジェットプリンタ、熱転写プリンタなどのプリンタを備えており、透かしデータを埋め込んだ画像データなどを印刷することができる。
入出力Ｉ／Ｆ１０は、各種の外部装置と接続するためのインターフェースであって、例えば、スキャナやデジタル式カメラを画像処理装置１に接続し、これらを用いて透かしデータ埋め込み対象の画像データを画像処理装置１に取り込むように構成することができる。
【００１７】
記憶媒体駆動装置９は、装着された着脱可能な記憶媒体を駆動し、データの読み書きを行う機能部である。
画像処理装置１は、記憶媒体駆動装置９を用いて、記憶媒体から、透かしデータ埋め込み対象の画像データや透かしデータを読み込んだり、透かしデータを埋め込んだ画像データを記憶媒体に書き出したりすることができる。
読み書き可能な記憶媒体としては、例えば、光ディスク、光磁気ディスク、磁気ディスクなどがあり、これらから画像データを読み取ったり、書き込み可能な記憶媒体の場合には、画像データやその他のデータを書き込むことができる。
【００１８】
記憶装置８は、例えば、ハードディスクなどで構成された大容量で読み書き可能な記憶装置である。
記憶装置８には、プログラム類を格納したプログラム格納部１１とデータ類を記憶したデータ格納部１２が形成されている。
【００１９】
プログラム格納部１１には、画像処理装置１を動作させるための基本的なソフトウェアであるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、透かし埋込プログラム、撮影した画像に透かしを埋め込んだ画像が存在するか否かを判断し、存在する場合には傾きなどを補正する画像補正プログラム、及び透かし読出プログラムなどが格納されている。
一方、データ格納部１２には、透かしデータを埋め込む対象である画像データ、透かしデータを埋め込む任意形状領域を規定する形状マップ、透かしデータ、及び画像の特定したり補正したりするためのテンプレート画像データなどが格納されている。
【００２０】
次に、画像データと形状マップについて説明する。
図２（ａ）は、形状マップの一例を示した図である。
画像処理装置１は、画像の任意形状領域をウェーブレット変換して透かしデータを埋め込むが、形状マップは、画像処理装置１が任意形状領域を認識するために用いられる情報である。
図に示した形状マップ６０は、横方向をｉ軸、縦方向をｊ軸とし、画素α（ｉ，ｊ）の値が、透かしデータを埋め込む任意形状領域６１では１となり、それ以外の任意形状外領域６２では０となるように設定されている。
形状マップ６０は、例えば、透かしデータを埋め込むユーザが作成して用意する。
【００２１】
図２（ｂ）は、透かしデータを埋め込む対象の画像の一例を示した図である。
画像５０の画素ｆ（ｉ，ｊ）は、形状マップ６０のα（ｉ，ｊ）に対応しており、形状マップ６０で任意形状領域６１に対応する任意形状領域５１がウェーブレット変換して透かしデータを埋め込む領域となる。
ｆ（ｉ，ｊ）の値は、例えば、輝度であったり、画像データがＲＧＢにより構成されている場合には、これらＲなどの値となる。
画像処理装置１は、形状マップ６０と画像５０を対比することにより、画像５０において透かしデータを埋め込む任意形状領域５１と透かしデータを埋め込まない任意形状外領域５２を認識することができる。
【００２２】
なお、この例では、図２（ｂ）の画像に示された人物の全体が任意形状領域５１となっているが、例えば、人物の顔の部分が任意形状領域となるように形状マップ６０を設定すると、画像処理装置１は、人物の顔の部分をウェーブレット変換して透かしデータを埋め込む。
このように、本実施の形態では、任意形状の領域をウェーブレット変換して透かしデータを埋め込むことができるため、画像中の一部領域を任意形状領域として透かしデータを埋め込むこともできるし、画像の形状全体を任意形状とすることにより、任意形状の画像全体に透かしデータを埋め込むこともできる。
【００２３】
一般に、画像中の高周波成分の多い領域では透かしデータが目立ちにくいという特性があり、そのため、画像中の透かしデータが目立ちにくい領域を任意形状領域として設定すると、より効果が発揮される。
この場合、画像処理装置１が、画像中の高周波成分の多い領域を解析して、当該領域を自動的に任意形状領域とするように構成することができる。
また、画像処理装置１が画像のエッジを認識してエッジにより閉じた領域を任意形状領域とするように構成したりすることもできる。
【００２４】
次に、透かしデータの埋込処理と読出処理について説明する。
図３（ａ）は、透かしデータの埋込処理を説明するための図である。
予め、形状マップ、画像データ、及び透かしデータを用意しておく。
ＳＡ−ＤＷＴ処理部２１、透かしデータ埋込部２２、及びＳＡ−ＩＤＷＴ処理部２３は、ＣＰＵ２が透かし埋込プログラムを実行することにより形成される機能部である。
ここで、ＳＡ−ＤＷＴは、ｓｈａｐｅ−ａｄａｐｔｉｖｅ  ｄｉｓｃｒｅｔｅ  ｗａｖｅｌｅｔ  ｔｒａｎｓｆｏｒｍの略であり任意形状離散ウェーブレット変換を意味し、ＳＡ−ＩＤＷＴは、ｓｈａｐｅ−ａｄａｐｔｉｖｅ  ｉｎｖｅｒｓｅ  ｄｉｓｃｒｅｔｅ  ｗａｖｅｌｅｔ  ｔｒａｎｓｆｏｒｍの略であり任意形状逆離散ウェーブレット変換を意味する。
以下では、これらを単にウェーブレット変換、及び逆ウェーブレット変換と呼ぶことにする。
【００２５】
まず、ＳＡ−ＤＷＴ処理部２１が、形状マップをウェーブレット変換し、画像データの分割レベル（後述のオクターブ分割の回数）に対応する分割形状マップを作成する。
なお、形状マップの場合は、α（ｉ，ｊ）が１の部分を分割すればよく、このため、後述のフィルタリングをせずにα（ｉ，ｊ）の領域をダウンサンプリングするだけで得ることができる。
【００２６】
次に、ＳＡ−ＤＷＴ処理部２１は、形状マップを用いて画像データ中の任意形状領域を認識し、当該領域をウェーブレット変換する。
これによって、任意形状領域の画像データは、周波数帯域（サブバンド）に分割された周波数空間内の変換係数となる。この分割は、オクターブ分割であって、詳細は後ほど説明する。
【００２７】
周波数空間の変換係数に分割された画像データを更にオクターブ分割する場合、ＳＡ−ＤＷＴ処理部２１は、対応する分割形状マップを用いて周波数空間における任意形状領域を認識してウェーブレット変換を行い分割する。
分割形状マップの任意形状領域は、周波数空間と対応して分割されるため、透かしデータ埋込部２２は、分割形状マップの任意形状領域を参照して、周波数空間での任意形状領域を認識することができ、これによって、周波数空間での任意形状領域の変換係数を更に分割することができる。
【００２８】
以上のようにして画像データの任意形状領域の分割が完了すると、次は、透かしデータ埋込部２２が、分割形状マップを用いて周波数空間に透かしデータを埋め込んでいく。
例えば、分割レベル２の周波数空間に透かしデータを埋め込む場合、透かしデータ埋込部２２は、分割レベル２の分割形状マップを参照し、分割レベル２の周波数空間での任意形状領域を認識して、当該領域に透かしデータを埋め込んでいく。
【００２９】
このように、周波数空間に透かしデータを埋め込んだ後、ＳＡ−ＩＤＷＴ処理部２３が周波数空間の変換係数を逆ウェーブレット変換することにより、透かしデータが埋め込まれた透かし入り画像データを生成する。
以上のようにして、所定の周波数帯域に透かしデータが埋め込まれた画像データを得ることができ、これを用いて画像を印刷又は表示すると、所定の周波数帯域に透かしデータが埋め込まれた画像が形成される。
【００３０】
図３（ｂ）は、透かしデータの読出処理を説明するための図である。
予め、透かし入り画像データと形状マップを用意しておく。
ＳＡ−ＤＷＴ処理部２４と透かしデータ読出部２５は、ＣＰＵ２が透かし読出プログラムを実行することにより形成される機能部である。
なお、ＳＡ−ＤＷＴ処理部２１とＳＡ−ＤＷＴ処理部２４は機能が同じであるので、当該処理を行うモジュールを透かし埋込プログラムと透かし読出プログラムで共用してもよい。
【００３１】
まず、ＳＡ−ＤＷＴ処理部２４が画像データを分割する分割レベルだけ分割し、分割形状マップを生成する。
なお、この分割形状マップは、透かしデータ埋込処理で用いたものと同じであるため、透かしデータ埋込処理で用いた分割形状マップを用いて、形状マップの分割処理を省略するように構成することもできる。
【００３２】
次に、ＳＡ−ＤＷＴ処理部２４が、形状マップを用いて透かし入り画像データ中の任意形状領域を認識し、当該領域をウェーブレット変換する。
更に分割する場合、ＳＡ−ＤＷＴ処理部２４は、分割形状マップを用いて周波数空間での任意形状領域を認識し、必要な分割レベルだけ分割を繰り返す。
これによって、透かしデータが埋め込まれた任意形状領域の画像データが分割され、周波数空間での変換係数が得られる。この変換係数には透かしデータが埋め込まれている。
そして、透かしデータ読出部２５が、分割形状マップを参照することにより周波数空間で任意形状領域を認識し、当該領域から透かしデータを読み出す。
【００３３】
以上のようにして、画像データの任意形状領域への透かしデータの埋め込み、及び透かしデータの読み出しを行うことができる。
また、上の例では、画像処理装置１が透かしデータの埋め込みと読み出しの両方を行ったが、これは、一例であり、透かしデータの埋込処理と透かしデータの読出処理を別の情報処理装置が行うように構成することができる。
【００３４】
次に、図４を用いて任意形状領域をウェーブレット変換する方法について説明する。
まず、図に示したように、α（ｉ，ｊ）が横方向に（００１１１１１１００）となっている形状マップがあったとする。
画像処理装置１は、α（ｉ，ｊ）＝１となっている画素に対応する画像データの画素を透かしデータを埋め込む任意形状領域として認識し、図に示したように、その画素値が（ａｂｃｄｅｆ）であったとする。
画像処理装置１は、当該認識した画像データｆ（ｉ，ｊ）をウェーブレット変換対象とし、まず、両端に対して折返し処理する。これにより、両端に（ｄｃｂ）なる値と（ｅｄｃ）なる値が追加される。
ここで、折返し処理するのは、両端で画素の値が極端に変わると高周波成分が発生するので、これを防ぐためである。
【００３５】
画像処理装置１は、折返し処理した画素の行を低域通過フィルタによって低域通過フィルタリングすると共に高域通過フィルタによって高域通過フィルタリングする。
すると、その変換係数として、低域側の周波数空間での変換係数（ａ’ｂ’ｃ’ｄ’ｅ’ｆ’）と、高域側の周波数空間での変換係数（ａ’’ｂ’’ｃ’’ｄ’’ｅ’’ｆ’’）が得られる。
【００３６】
そして、画像処理装置１は、低域側に関しては（０から始まる）偶数番目の値を間引きすることによりダウンサンプリングし、高域側に関しては奇数番目の値を間引きすることによりダウンサンプリングする。これは、ダウンサンプリングしても逆ウェーブレット変換で元の画像データが生成できるからである。
これによって、画像データ（ａｂｃｄｅｆ）が、低周波成分（ａ’ｃ’ｅ’）と高周波成分（ｂ’’ｄ’’ｆ’’）に分割される。
即ち、任意形状領域内の画像データの低周波成分が低周波側の周波数空間での変換係数として得られ、高周波成分が高周波側での周波数空間の変換係数として得られる。
【００３７】
以上は、ｉを一定にしてｊ方向（即ち横方向）に分割したが、これを全てのｉについて行えば、画像データの任意形状領域が横方向に分割される。
同様に、ｊを一定にしてｉ方向（即ち縦方向）に分割すると、画像データの任意形状領域が縦方向に分割される。
画像処理装置１は、次に説明するように、画像データの任意形状領域を縦方向と横方向に分割して、当該領域をオクターブ分割する。
なお、図２（ｂ）の透かしデータを埋め込まない任意形状外領域５２の画素の値は、例えば、０に設定するなど、適当に設定することができる。
【００３８】
次に、ウェーブレット変換によるオクターブ分割について説明する。
図５は、フィルタを組み合わせたフィルタバンクの一例を示しており、当該フィルタバンクで画像データの任意形状領域をフィルタリングすることにより画像データの任意形状領域がウェーブレット変換によりオクターブ分割される。
【００３９】
図中のＨ０は、低域通過フィルタを示しており、Ｈ１は高域通過フィルタを示している。また、Ｄは、ダウンサンプリングを行うことを示している。
ウェーブレット変換前の任意形状領域内の画像データをｆ００（ｉ，ｊ）（以下、単にｆ００などと記す）とする。ここでｆに続く最初の数字は、分割レベル（オクターブ分割した回数、分解レベルともいう）を表し、周波数帯域を識別する番号として用いることができる。
それに続く数字は周波数空間を識別する番号である。
例えば、１番の周波数帯域には、４つの周波数空間での変換係数ｆ１０、ｆ１１、ｆ１２、ｆ１３が含まれている。
【００４０】
分割レベル１では、画像処理装置１は、画像データｆ００を垂直方向（即ち、ｊを一定としてｉ方向）に折り返した後、Ｈ０で低域通過フィルタリングしてダウンサンプリングする。
そして、画像処理装置１は、低域通過フィルタリングした画像データを、水平方向（即ち、ｉを一定としてｊ方向）に折り返した後、Ｈ０で低域通過フィルタリングしてダウンサンプリングすると共に、折返し処理の後、Ｈ１で高域通過フィルタリングしてダウンサンプリングする。
これによって、垂直方向及び水平方向が低域フィルタリングされた周波数空間での変換係数ｆ１０と、垂直方向に低域通過フィルタリングされ、水平方向に高域通過フィルタリングされた周波数空間での変換係数ｆ１１が得られる。
【００４１】
更に、画像処理装置１は、画像データｆ００を折り返した後、垂直方向にＨ１で高域通過フィルタリングしてダウンサンプリングする。
そして、画像処理装置１は、高域通過フィルタリングした画像データを、水平方向に折返し処理した後、Ｈ０で低域通過フィルタリングしてダウンサンプリングすると共に、折返し処理の後、Ｈ１で高域通過フィルタリングしてダウンサンプリングする。
これによって、垂直方向に高域通過フィルタリングされ、水平方向に低域通過フィルタリングされた周波数空間での変換係数ｆ１２と、垂直方向及び水平方向が高域フィルタリングされた周波数空間での変換係数ｆ１３が得られる。
以上のようにして、画像データｆ００は、４つの周波数空間での変換係数ｆ１０、ｆ１１、ｆ１２、ｆ１３に分割されるが、このように、画像データを４分の１に分割する方式はオクターブ分割と呼ばれている。
【００４２】
画像の周波数成分は主に低周波側に存在するため、画像データの主な信号はｆ１０に含まれている。
このため、ウェーブレット変換では、一般的に、ｆｎ０（ｎは自然数）の変換係数に対して更にオクターブ分割を繰り返していく。
そこで、ｆ１０を同様にフィルタリングして、分割レベル２の周波数空間ｆ２０、ｆ２１、ｆ２２、ｆ２３が生成される。
図示しないが、更に、ｆ２０を分割することにより、分割レベル３のｆ３０、ｆ３１、ｆ３２、ｆ３３が生成され、このように分割を繰り返して、より高い分割レベルの周波数帯域に分割することができる。
【００４３】
次に、画像のオクターブ分割例について説明する。
図６（ａ）は、分割前の任意形状領域内の画像データｆ００による画像を示した図である。
図６（ｂ）は、分割レベル１の変換係数ｆ１０、ｆ１１、ｆ１２、ｆ１３による画像を示した図である。
分割レベル１の各周波数空間の変換係数は、画像データｆ００をオクターブ分割することにより得られる。
画像データｆ００の主要な信号成分は低周波側のｆ１０に存在するため、変換係数ｆ１０による画像は実線で示し、他の周波数空間では画像を破線で示してある。
【００４４】
図６（ｃ）は、分割レベル２の変換係数ｆ２０、ｆ２１、ｆ２２、ｆ２３による画像を示した図である。
分割レベル２の画像データは、変換係数ｆ１０をオクターブ分割することにより得られる。
画像の主要な信号成分は低周波側に存在するため、変換係数ｆ２０では画像を実線で示し、他の周波数空間では画像を破線で示してある。
図示しないが、更に、変換係数ｆ２０をオクターブ分割すると、レベル３の周波数空間ｆ３０、ｆ３１、ｆ３２、ｆ３３が得られる。
【００４５】
次に、形状マップのオクターブ分割例について説明する。
図７（ａ）は、分割前の形状マップα００を示した図である。
値が１の領域によってウェーブレット変換を行う任意形状領域が規定されている。
α００をオクターブ分割すると、図７（ｂ）に示したように、分割レベル１の分割形状マップα１０、α１１、α１２、α１３が得られる。
それぞれの分割形状マップでは、対応する周波数空間での任意形状領域が値１の領域によって規定されている。
例えば、分割形状マップα１０の値が１の領域は、ｆ１０の周波数空間での任意形状領域を規定し、分割形状マップα１１の値が１の領域は、ｆ１１の周波数空間での任意形状領域を規定している。
このため、画像処理装置１は、例えば、ｆ１０の周波数空間と分割形状マップα１０を対比することにより、当該周波数空間での任意形状領域を認識することができる。
【００４６】
更に、分割形状マップα１０をオクターブ分割すると図７（ｃ）に示したように、分割レベル２の分割形状マップα２０、α２１、α２２、α２３が得られる。
分割形状マップα２０、α２１、α２２、α２３の値が１の領域は、それぞれ、ｆ２０、ｆ２１、ｆ２２、ｆ２３の周波数空間における任意形状領域を規定している。
更に、分割形状マップα２０をオクターブ分割すると、レベル３の分割形状マップが得られ、これは、分割レベル３の周波数空間の任意形状領域を規定している。
【００４７】
以上の説明で、周波数空間の変換係数は、透かしデータを埋め込む対象となる画像データをウェーブレット変換によって周波数帯域に分割した分割画像データとし機能しており、形状マップは、画像データに透かしデータを埋め込む領域を規定する領域データとして機能しており、分割形状マップは、領域データを周波数帯域に分割した分割領域データとして機能している。
このように、画像処理装置１は、分割画像データ取得手段と、分割領域データ取得手段を備えている。
そして、画像処理装置１は、領域データ（形状マップ）を周波数帯域に分割することにより分割領域データ（分割形状マップ）を取得している。
【００４８】
次に、図８を用いて任意形状領域を逆ウェーブレット変換する方法について説明する。
ここでは、図４で生成した低周波成分と高周波成分を逆変換する場合について説明する。
まず、周波数空間での変換係数（低周波成分と高周波成分）と、これに対応して分割された分割形状マップを用意する。
画像処理装置１は、分割形状マップの値が１となる画素に対応する周波数空間の成分を抽出する。
これにより、先のウェーブレット変換による低周波成分の変換係数（ａ’ｃ’ｅ’）と、高周波成分の変換係数（ｂ’’ｄ’’ｆ’’）が得られる。
【００４９】
次に、画像処理装置１は、得られた低周波成分の変換係数の奇数番目の位置に０を挿入してアップサンプリングし、更に、高周波成分の変換係数についても偶数番目の位置に０を挿入してアップサンプリングする。
そして、画像処理装置１は、アップサンプリングした低周波成分と高周波成分を折返し処理した後、低周波成分を低域通過フィルタにて低域通過フィルタリングし、高周波成分を高域通過フィルタにて高域通過フィルタリングする。
そして、画像処理装置１は、これらフィルタリングした値を合成して、その合成係数（ａｂｃｄｅｆ）を演算する。
演算された合成係数は元の画像データｆ（ｉ，ｊ）となり、これによって原画像データが復元される。
【００５０】
以上は、ｉを一定にしてｊ方向（即ち横方向）に合成したが、これを全てのｉについて行えば、画像データの任意形状領域が横方向に合成される。
同様に、ｊを一定にしてｉ方向（即ち縦方向）に合成すると、画像データの任意形状領域が縦方向に合成される。
この処理を図６（ｃ）で示した周波数空間に適用すると、まず、ｆ２０、ｆ２１、ｆ２２、ｆ２３が合成されて、図６（ｂ）の周波数空間が得られる。
更に、この処理を図６（ｂ）の周波数空間に適用すると、ｆ１０、ｆ１１、ｆ１２、ｆ１３が合成されて図６（ａ）の画像データｆ００が復元される。
【００５１】
次に、周波数空間において透かしデータを埋め込むのに好ましい分割レベルについて説明する。
図９は、画像データｆ００を分割レベル３まで分割したところを示した図である。ただし、図の煩雑化を避けるため、画像（変換係数）は省略してある。
図に示したようにオクターブ分割を３回繰り返すとｆ３０〜ｆ３３、ｆ２１〜ｆ２３、ｆ１１〜ｆ１３に対応する周波数空間が得られる。
透かしデータは、何れの周波数空間の変換係数に埋め込んでもよいが、高周波側では透かしデータの位置ずれが生じると透かしデータの読み出しが困難になるため、最も高周波側にあるｆ１１〜ｆ１３を避けて透かしデータを埋め込むのが望ましい。
【００５２】
一方、低周波側の周波数空間に透かしデータを埋め込むと、透かしデータが目立ちやすいため、例えば、高周波側と低周波側の間にあるｆ２１〜ｆ２３（図中太線で示してある）に透かしデータを埋め込むと、画像の視認性を損なわず、また、安定して透かしデータを読み出すことができる。
そのため、透かしデータを埋め込む周波数空間としては、中程の分割レベルか、それよりも若干低周波側の分割レベルが望ましい。
このように、画像処理装置１は、所定の周波数帯域に透かしデータを埋め込むように構成することができ、ここでは、所定の周波数帯域として、最も周波数の高い周波数帯域を除いた周波数帯域に透かしデータを埋め込んでいる。
また、例えばの分割レベル２の周波数帯域に透かしデータを埋め込むといったように、指定された周波数帯域に透かしデータを埋め込むように構成したり、あるいは、分割レベル４未満の周波数帯域に透かしデータを埋め込むといったように、指定された周波数帯域より低い周波数帯域に透かしデータを埋め込むように構成することもできる。
【００５３】
次に、図１０のフローチャートを用いて画像処理装置１が行う透かし埋込処理について説明する。
以下の処理は、ＣＰＵ２（図１）が透かし埋込プログラムに従って行うものである。
まず、画像処理装置１は、必要な分割レベルまで分割した画像データと形状マップ、及び透かしデータをデータ格納部１２（図１）に記憶して用意しておく。
透かしデータは、例えば、（１０１００１）とか、（０１１００１１０１０）など、０１の列によるデジタルデータとする。ここでは、透かしデータをａｍ（ｍ＝０、１、２、・・・）で表すことにする。例えば、透かしデータが（１０１）であった場合、ａ０＝１、ａ１＝０、ａ２＝１となる。
【００５４】
次に、画像処理装置１は、透かしを埋め込む周波数帯域を特定するため、分割レベルｎの初期値を設定する（ステップ５）。
画像処理装置１は、初期値で設定されたｎの周波数帯域に透かしデータを埋め込み、透かしデータが入りきらない場合には、低周波側の周波数帯域に順次透かしデータを埋め込んでいく。
例えば、図９に示したように分割レベル２の周波数帯域に透かしデータを埋め込む場合はｎ＝２とすると、分割レベル２の周波数帯域に透かしデータが入りきらない場合、画像処理装置１は、分割レベル３の周波数空間にも透かしデータを埋め込む。
ｎの初期値は、例えば、透かしデータを埋め込むユーザが画像処理装置１に設定したり、あるいは、デフォルト値として予め設定しておくなどする。
【００５５】
次に、画像処理装置１は、ｔαを３に設定し、ｉとｊを０に設定し、ｍを０に設定し、ｋを１に設定する（ステップ１０）。
ここで、ｔαは、周波数空間内の位置（画素）が任意形状領域の内側にあるか、あるいは境界にあるかを判断するためのパラメータである。透かしデータは、読み出しエラーを避けるべく、なるべく境界を避けて埋め込むのが望ましいため、ｔαはその判断に用いられる。判断方法は後述する。
ｉ、ｊは、分割形状マップや周波数空間などでの座標を表すパラメータである。
ｍは、透かしデータａｍを表すパラメータである。
ｋは、周波数帯域において３つある周波数空間を識別するためのパラメータである。
【００５６】
次に、画像処理装置１は、全ての透かしデータを埋め込んだか否かを判断する（ステップ１５）。
全ての透かしデータを埋め込んだ場合（ステップ１５；Ｙ）、画像処理装置１は、透かし埋込処理を終了する。
一方、まだ埋め込んでいない透かしデータが存在する場合（ステップ１５；Ｎ）、画像処理装置１は、分割形状マップでαｎ１（ｉ，ｊ）＋αｎ２（ｉ，ｊ）＋αｎ３（ｉ，ｊ）＝ｔαか否かを判断する（ステップ２０）。ただし、図では（ｉ，ｊ）を省略してある。
【００５７】
例えば、ここで、ｔαを初期値の３とし、ｉ、ｊ＝０とすると、画像処理装置１は、αｎ１（０，０）＋αｎ２（０，０）＋αｎ３（０，０）＝３であるか否かを判断している。
これは、分割形状マップαｎ１の座標値（０，０）の値と、分割形状マップαｎ２の座標値（０，０）の値と、分割形状マップαｎ３の座標値（０，０）の値を加算した値が３であるか否かを判断していることになる。
座標値（０，０）の位置が任意形状領域内にある場合、それぞれの分割形状マップでの値は１であるため加算値は３となり、任意形状領域外にある場合は、それぞれの分割形状マップでの値が０となるため加算値は０となる。
【００５８】
また、座標の位置が任意形状領域の境界にある場合、ある分割形状マップでは０となり他の分割形状マップでは１となることが考えられるため、加算値は１又は２などとなる。
即ち、画像処理装置１は、ステップ２０で、加算値が３である場合、座標（ｉ，ｊ）の位置が任意形状領域内であり、加算値が０の場合は、任意形状領域外であり、加算値が１又は２の場合には、任意形状領域の境界にあると判断する。
そして、画像処理装置１は、任意形状の境界よりも内側を優先して透かしデータを埋め込んでいく。
このように、画像処理装置１は、分割領域データ（分割形状マップ）を用いて、分割画像データ（周波数空間での変換係数）において透かしデータを埋め込む領域の境界を特定する境界特定手段を備え、当該特定した境界よりも内側を優先して透かしデータを埋め込んでいく。
【００５９】
形状マップでαｎ１（ｉ，ｊ）＋αｎ２（ｉ，ｊ）＋αｎ３（ｉ，ｊ）＝ｔαの場合（ステップ２０；Ｙ）、画像処理装置１は、αｎｋ（ｉ，ｊ）が１であるか否かを判断する（ステップ６０）。
αｎｋ（ｉ，ｊ）が１でない場合（ステップ６０；Ｎ）、画像処理装置１は、ｋをｋｍｏｄ３＋１とし（ステップ９０）、ステップ６０に戻って、αｎｋ＝１であるか否かを判断する（ステップ６０）。
【００６０】
ここで、ｋｍｏｄ３は、ｋを３で割ったときの余りを意味し、画像処理装置１は、ステップ６０とステップ９０で、αｎ１＝１でないなら、αｎ２＝１であるか判断し、αｎ２＝１でないなら、更にαｎ３＝１であるか判断するという動作を行う。
例えば、初期値のｔα＝３の場合、αｎ１＝αｎ２＝αｎ３＝１であるので、ステップ６０は、αｎ１＝１となる。
【００６１】
αｎｋ（ｉ，ｊ）が１であった場合（ステップ６０；Ｙ）、画像処理装置１は、ａｍ＝１か否かを判断する（ステップ６５）。
ａｍが１でなかった場合（ステップ６５；Ｎ）、即ち、ａｍが０であった場合、画像処理装置１は、ｆｎｋ（ｉ，ｊ）の値を０とする（ステップ７０）。
一方、ａｍが１であった場合（ステップ６５；Ｙ）、画像処理装置１は、ｆｎｋ（ｉ，ｊ）の値をｓｇｎ（ｆｎｋ（ｉ，ｊ））・Ｔとする（ステップ７５）。
【００６２】
ここで、ｓｇｎ（ｆｎｋ（ｉ，ｊ））は、ｆｎｋ（ｉ，ｊ）の変換係数の符号であり、正又は負である。
そして、Ｔは、透かしデータの振幅である。Ｔは、ノイズに埋もれてしまう場合よりも大きく、また、画像で目立たない程度に小さい適度な大きさとする。これは、実験などにより決められる。
【００６３】
このように、画像処理装置１は、透かしデータが０の場合は、対応するｆｎｋ（ｉ，ｊ）を０とし、透かしデータが１の場合には、対応するｆｎｋ（ｉ，ｊ）を１とすることにより透かしデータを周波数空間に埋め込む。
このように、画像処理装置１は、画像データの領域データ（形状マップ）で規定される領域（任意形状領域）に対して分割された分割画像データ（周波数空間の変換係数）を取得し、当該分割画像データに透かしデータを埋め込んでおり、分割領域データ（分割形状マップ）で規定される領域に対応する分割画像データ（周波数空間の変換係数）に透かしデータを埋め込む埋込手段を備えている。
画像処理装置１は、このようにして透かしデータａｍを埋め込んだ後、ｍを１だけインクリメント（増加）し（ステップ８０）、更に、ｋを１だけインクリメントし（ステップ８５）、ステップ２５に移行する。
【００６４】
ステップ２０においてαｎ１（ｉ，ｊ）＋αｎ２（ｉ，ｊ）＋αｎ３（ｉ，ｊ）＝ｔαでなかった場合（ステップ２０；Ｎ）、又はステップ８５を終えた後、画像処理装置１は、ｉ、ｊの値を更新する（ステップ２５）。
この更新は、例えば、ｊを一定としてｉを更新していき、ｉが上限に達すると、ｊを１だけインクリメントして、更にｉを更新していくというように、α（ｉ，ｊ）を網羅するように所定量ずつ更新する。
【００６５】
次に、画像処理装置１は、ｉ、ｊがα（ｉ，ｊ）の配列内にあるか否か、即ち、座標（ｉ，ｊ）が分割形状マップ内にあるか否かを判断する（ステップ３０）。
ｉ、ｊが配列内にある場合（ステップ３０；Ｙ）、画像処理装置１は、ステップ１５に戻り、更に、同じｔαで透かしデータの埋込を続行する。
一方、ｉ、ｊが配列内にない場合（ステップ３０；Ｎ）、画像処理装置１は、ｔαを１だけデクリメント（減少）する（ステップ３５）。
【００６６】
更に、画像処理装置１は、デクリメント後のｔαが正であるか判断し（ステップ４０）、正である場合には（ステップ４０；Ｙ）、ｉ，ｊを０に初期化してステップ１５に戻り、透かしデータの埋込処理を行う。
ｔαを１デクリメントして（ただし、ｔα≠０）透かしデータの埋込を行うことは、任意形状領域の境界に透かしデータを埋め込むことを意味する。
このように、画像処理装置１は、まず、透かしデータが安定して読み出せる任意形状領域の内側に透かしデータを埋め込んだ後、それでも足りない場合には、任意形状領域の境界に透かしデータを埋め込む。
【００６７】
一方、ｔαが正でない場合（ステップ４０；Ｎ）、即ち、ｔα＝０の場合、任意形状領域の内側、及び境界の全てに透かしデータを埋め込んでしまったため、画像処理装置１は、ｎを１インクリメントして（ステップ４５）、ｔαを初期値の３に設定し（ステップ５０）、ｉ、ｊを０に初期化して（ステップ５５）、ステップ１５に戻る。
即ち、画像処理装置１は、分割レベルｎの周波数帯域に透かしを埋め終わると、分割レベルｎ＋１の低周波側の周波数帯域に移行して、透かしデータの埋込処理を行う。
【００６８】
以上のようにして、画像処理装置１は、画像データの任意形状領域の周波数空間に透かしデータを埋め込むことができる。
そして、画像処理装置１は、透かしデータを埋め込んだ変換係数を逆ウェーブレット変換することにより、周波数空間に透かしデータが埋め込まれた画像データを生成することができる。
このように、画像処理装置１は、透かしデータが埋め込まれた分割画像データ（周波数空間での変換係数）を合成して透かし入り画像データを生成する透かし入り画像データ生成手段を備えている。
【００６９】
なお、上の例では、画像処理装置１は、画像データの任意形状領域をウェーブレット変換して、当該領域に透かしデータを埋め込んだが、任意形状領域を一部に含む画像データ全体をウェーブレット変換するように構成することもできる。
この場合、画像処理装置１は、分割形状マップを用いることにより周波数空間での任意形状領域を認識して、当該領域に透かしデータを埋め込む。
この場合、画像処理装置１は、画像データの全体に対して分割された分割画像データ（周波数空間における変換係数）を取得し、当該分割画像データにおいて、分割領域データ（分割形状マップ）で規定される領域に透かしデータを埋め込む。
この例では、任意形状領域の背景となっている任意形状以外の部分の画像データもウェーブレット変換、及び逆ウェーブレット変換されて復元される。
一方、任意形状領域をウェーブレット変換する例では、画像データの一部を任意形状領域として透かしデータを埋め込む場合、背景となる画像データは省略されるため、透かしデータを埋め込んだ任意形状画像を、元の画像の任意形状領域の位置に貼り付けるように構成することができる。
【００７０】
次に、図１１のフローチャートを用いて画像処理装置１が行う透かし読出処理について説明する。
以下の処理は、ＣＰＵ２（図１）が透かし埋込プログラムに従って行うものである。
まず、画像処理装置１は、透かしデータが埋め込まれた画像データを取得し、これをオクターブ分割した各周波数空間での変換係数、分割形状マップを用意しておく。
このように、画像処理装置１は、透かしデータが埋め込まれた透かし入り画像データを取得する透かし入り画像データ取得手段と、当該透かし入り画像データをウェーブレット変換によって周波数帯域に分割して分割透かし入り画像データ（周波数空間の変換係数）を取得する分割透かし入り画像データ取得手段と、当該透かし入り画像データで透かしデータが埋め込まれた領域を規定する領域データ（形状マップ）を周波数帯域に分割した分割領域データ（分割形状マップ）を取得する分割領域データ取得手段を備えている。
また、分割形状マップは、形状マップを分割して生成するように構成してもよく、この場合、画像処理装置１は、領域データ（形状マップ）を周波数帯域に分割することにより分割領域データ（分割形状マップ）を取得する。
【００７１】
以下、図１０と同じ処理には同じステップ番号を付し、説明を簡略化又は省略することにする。
まず、画像処理装置１は、ｎを初期値に設定する（ステップ５）。ｎの値は、透かしデータの埋込で用いた値を入手して画像処理装置１に設定しておく。
そして、画像処理装置１は、ｔα、ｉ、ｊ、ｍ、ｋの値を初期値に設定する（ステップ１０）。
また、図示しないが、埋め込んだ透かしデータのビット数と、透かしデータの振幅Ｔも入手して画像処理装置１に設定してあるものとする。
【００７２】
次に、画像処理装置１は、全ての透かしデータを読み出し済みか否かを判断する（ステップ１６）。
画像処理装置１は、この判断を、読み出した透かしデータのビット数が、先に設定されたビット数に達したか否かにより行う。
全ての透かしデータを読み出した場合（ステップ１６；Ｙ）、画像処理装置１は、透かし読出処理を終了する。
まだ、読み出していない透かしデータがある場合（ステップ１６；Ｎ）、画像処理装置１は、形状マップでαｎ１（ｉ，ｊ）＋αｎ２（ｉ，ｊ）＋αｎ３（ｉ，ｊ）＝ｔαか否かを判断する（ステップ２０）。
このように、画像処理装置１は、分割領域データ（分割形状マップ）を用いて、分割透かし入り画像データ（周波数空間での変換係数）において透かしデータが埋め込まれた領域の境界を特定する境界特定手段を備え、透かしデータの埋込処理と同様に、当該特定した境界の内側から透かしデータを読み出す。
【００７３】
ステップ２０で加算値がｔαである場合、｜ｆｎ（ｉ，ｊ）｜、即ち、ｆｎ（ｉ，ｊ）の絶対値がＴ／２以上であるか否かを判断する（ステップ１００）。
そして、Ｔ／２より小さい場合（ステップ１００；Ｎ）、画像処理装置１は、ａｍ＝０とし（ステップ１０５）、Ｔ／２以上である場合（ステップ１００；Ｙ）、画像処理装置１は、ａｍ＝１とする（ステップ１２０）。
ここで、ビットの０１を判断するための閾値をＴ／２としたが、これは、一例であって、実験などにより、より適当な値とすることができる。
このように、画像処理装置１は、透かし入り画像データの領域データ（形状マップ）で規定される領域に対して分割された分割透かし入り画像データ（周波数空間での変換係数）を取得し、分割透かし入り画像データから透かしデータを読み出しており、分割領域データ（分割形状マップ）で規定される領域に対応する分割透かし入り画像データ（周波数空間の変換係数）から透かしデータを読み出す読出手段を備えている。
【００７４】
画像処理装置１は、このようにして、透かしデータａｍを読み出した後、ｍを１だけインクリメントし（ステップ１１０）、更に、ｋを１だけインクリメントして（ステップ１１５）、ステップ２５に移行する。
後のステップは、図１０と同様である。
以上によって、画像データに埋め込まれた透かしデータａｍ（ｍ＝０、１、・・・）を読み出すことができる。
【００７５】
なお、上の例では、画像処理装置１は、透かし入り画像データの任意形状領域をウェーブレット変換して、当該領域から透かしデータを読み出したが、透かしデータが埋め込まれた任意形状領域を一部に含む画像データ全体をウェーブレット変換するように構成することもできる。
この場合、画像処理装置１は、分割形状マップを用いることにより周波数空間での任意形状領域を認識して、当該領域から透かしデータを読み出す。
この場合、画像処理装置１は、透かしデータが埋め込まれた任意形状領域を一部に含む透かし入り画像データの全体に対して分割された分割透かし入り画像データを取得し、当該分割透かし入り画像データにおいて、分割領域データ（分割形状マップ）で規定される領域から透かしデータを読み出す。
【００７６】
以上に説明した本実施の形態により、次のような効果を得ることができる。
（１）画像の任意形状領域にウェーブレット変換によって透かしデータを埋め込むことができる。
（２）画像の任意形状領域にウェーブレット変換によって埋め込まれた透かしデータを読み出すことができる。
（３）形状マップを用いることにより、画像データの周波数空間において透かしデータを埋め込む任意形状領域を規定することができる。
（４）形状マップを用いることにより、画像データの周波数空間において透かしデータが埋め込まれた任意形状領域を規定することができる。
（５）分割形状マップを確認することにより、画像データの周波数空間において任意形状領域の内側か境界かを判断することができ、任意形状の内側を優先して透かしデータを埋め込むことができる。
（６）透かしデータを埋め込む周波数帯域を設定することができ、読み取りエラーの発生しやすい高域側の周波数帯域を用いずに透かしデータを埋め込むことができる。
（７）埋め込み対象となる画像の視認性を損なわずに、透かしデータの埋め込み及び抽出を行うことが可能になる。
（８）画像を矩形ブロック形状に分割する必要がないため、画像本来の意匠性を保つと共に、周波数空間に透かしデータを埋め込むため、質感を保つことができ、画像のデザイン性を損なわずに済む。
（９）任意形状の画像に透かしデータを埋め込むと共に、高周波帯域を避けて透かしデータを埋め込むなどし、高精度の透かしデータ検出を行うことができる。
【００７７】
以上に説明した本実施の形態により、次の構成を提供することができる。
透かしデータを埋め込む対象となる画像データをウェーブレット変換によって周波数帯域に分割した分割画像データを取得する分割画像データ取得手段と、前記画像データに透かしデータを埋め込む領域を規定する領域データを周波数帯域に分割した分割領域データを取得する分割領域データ取得手段と、前記取得した分割領域データで規定される領域に対応する前記分割画像データに透かしデータを埋め込む埋込手段と、を具備したことを特徴とする画像処理装置（第１の構成）。
前記分割画像データ取得手段は、前記画像データの前記領域データで規定される領域に対して分割された前記分割画像データを取得し、前記埋込手段は、前記取得した分割画像データに透かしデータを埋め込むことを特徴とする第１の構成の画像処理装置（第２の構成）。
前記分割画像データ取得手段は、前記画像データの全体に対して分割された分割画像データを取得し、前記埋込手段は、前記分割画像データにおいて、前記取得した分割領域データで規定される領域に透かしデータを埋め込むことを特徴とする第１の構成の画像処理装置（第３の構成）。
前記取得した分割領域データを用いて、前記分割画像データにおいて透かしデータを埋め込む領域の境界を特定する境界特定手段を具備し、
前記埋込手段は、前記特定した境界よりも内側を優先して透かしデータを埋め込むことを特徴とする第１の構成、第２の構成、又は第３の構成の画像処理装置（第４の構成）。
前記分割領域データ取得手段は、前記領域データを周波数帯域に分割することにより前記分割領域データを取得することを特徴とする第１の構成から第４の構成までのうちの何れか１の構成の画像処理装置（第５の構成）。
前記埋込手段は、所定の周波数帯域に前記透かしデータを埋め込むことを特徴とする第１の構成から第５の構成までのうちの何れか１の構成の画像処理装置（第６の構成）。
前記埋込手段によって透かしデータが埋め込まれた分割画像データを合成して透かし入り画像データを生成する透かし入り画像データ生成手段を具備したことを特徴とする第１の構成から第６の構成までのうちの何れか１の構成の画像処理装置（第７の構成）。
透かしデータが埋め込まれた透かし入り画像データを取得する透かし入り画像データ取得手段と、前記取得した透かし入り画像データをウェーブレット変換によって周波数帯域に分割して分割透かし入り画像データを取得する分割透かし入り画像データ取得手段と、前記透かし入り画像データで透かしデータが埋め込まれた領域を規定する領域データを周波数帯域に分割した分割領域データを取得する分割領域データ取得手段と、前記取得した分割領域データで規定される領域に対応する前記分割透かし入り画像データから透かしデータを読み出す読出手段と、を具備したことを特徴とする画像処理装置（第８の構成）。
前記分割透かし入り画像データ取得手段は、前記取得した透かし入り画像データの前記領域データで規定される領域に対して分割された分割透かし入り画像データを取得し、
前記読出手段は、前記取得した分割透かし入り画像データから透かしデータを読み出すことを特徴とする第８の構成の画像処理装置（第９の構成）。
前記分割透かし入り画像データ取得手段は、前記透かし入り画像データの全体に対して分割された分割透かし入り画像データを取得し、前記読出手段は、前記分割透かし入り画像データにおいて、前記取得した分割領域データで規定される領域から透かしデータを読み出すことを特徴とする第８の構成の画像処理装置（第１０の構成）。
前記取得した分割領域データを用いて、前記分割透かし入り画像データにおいて透かしデータが埋め込まれた領域の境界を特定する境界特定手段を具備し、前記読出手段は、前記特定した境界の内側から透かしデータを読み出すことを特徴とする第８の構成、第９の構成、又は第１０の構成の画像処理装置（第１１の構成）。
前記分割領域データ取得手段は、前記領域データを周波数帯域に分割することにより前記分割領域データを取得することを特徴とする第８の構成から第１１の構成までのうちの何れか１の構成の画像処理装置（第１２の構成）。
透かしデータを埋め込む対象となる画像データを周波数帯域に分割した分割画像データを取得する分割画像データ取得機能と、前記画像データで透かしデータを埋め込む領域を規定する領域データを周波数帯域に分割した分割領域データを取得する分割領域データ取得機能と、前記取得した分割領域データで規定される領域に対応する前記分割画像データに透かしデータを埋め込む埋込機能と、をコンピュータで実現する画像処理プログラム（第１３の構成）。
透かしデータが埋め込まれた透かし入り画像データを取得する透かし入り画像データ取得機能と、前記取得した透かし入り画像データを周波数帯域に分割して分割透かし入り画像データを取得する分割透かし入り画像データ取得機能と、前記透かし入り画像データで透かしデータが埋め込まれた領域を規定する領域データを周波数帯域に分割した分割領域データを取得する分割領域データ取得機能と、前記取得した分割領域データで規定される領域に対応する前記分割透かし入り画像データから透かしデータを読み出す読出機能と、をコンピュータで実現する画像処理プログラム（第１４の構成）。
【００７８】
［透視変換を受けた撮影画像から透かしデータ読み出す方法］
一般のユーザがデジタル式カメラや携帯電話のカメラなどで透かしデータが埋め込まれた画像を撮影する状況を想定すると、固定した撮影条件ではなく、傾き、拡大縮小、回転などの透視変換を受けた画像が撮影されると考えられる。
この場合、撮影された画像に透かしデータが埋め込まれた任意形状画像があるか否かを判定し、あるならその領域を特定して、当該特定した領域から透かしデータを読み出す必要がある。
そこで、以下では、撮影された画像で透かしデータが埋め込まれた任意形状画像の場所を特定し、この領域の透視変換を補正して透かしデータを読み出す方法について説明する。
【００７９】
まず、図１２を用いて、透かしデータの埋め込みから透かしデータの読み出しまでの全体的な作業工程について説明する。
図１２（ａ）は、透かしデータの埋め込み工程を説明するための図である。
透かしデータの埋め込みでは、図に示したように、画像データと透かしデータを用意し、先に説明したウェーブレット変換による方法を用いて画像データに透かしデータを埋め込む。
その後、透かしデータが埋め込まれた画像データを印刷し、透かしデータが埋め込まれた画像が印刷媒体に記録される。
【００８０】
図１２（ｂ）は、透かしデータの読み出し工程を説明するための図である。
透かしデータの読み出しでは、印刷媒体に記録された画像をカメラで撮影して、撮影画像データを生成する。
そして、撮影された撮影画像内に透かしデータの埋め込まれた画像が存在するか否かを、後述するテンプレート画像データを用いて判定する。
【００８１】
この判定では、撮影された画像の平行移動、縮尺（スケール）、回転角度、傾きなどを計算することができ、これを用いて撮影画像データを補正し、補正後の撮影画像データから透かしデータを読み出す。
以下では、図１２（ｂ）の工程で行う、撮影画像データから透かしデータを読み出す場合について説明する。
【００８２】
図１３は、テンプレート画像データを説明するための図である。
テンプレート画像データは、判定の基準となる画像を様々な角度（傾き）から撮影することにより作成される。
判定の基準となる画像は、透かしデータを埋め込む対象となる画像であって、透かしデータを埋め込む前、あるいは埋め込んだ後の何れのものでもよい。
これは、ユーザが透かしデータを埋め込んだ画像をカメラで撮影する場合、いろんな角度で撮影することが考えられるため、これに対応する画像データを用意しておくものである。
【００８３】
ここで、判定の基準となる画像は、基準画像として機能しており、各テンプレート画像データは、基準画像を異なる傾きから見た複数の画像（テンプレート画像）に関する比較画像データとして機能している。
なお、ユーザが撮影した撮影画像は、判断対象である対象画像として機能し、撮影画像データは、対象画像データとして機能している。
本実施の形態では、基準となる画像を各種の傾きから撮影してテンプレート画像データを生成するが、基準となる画像の画像データを様々な角度から見た場合の画像データを画像処理によって生成してもよい。
【００８４】
図１３は、カメラ８１で画像８０を様々な角度から撮影してテンプレート画像データを生成するところを示している。
画像８０は、（図では矩形に描いているが）透かしデータを埋め込むための任意形状画像であり、図６（ａ）のｆ００に相当するものである。
まず、画像８０を台などに設置し、画像８０の中心を原点Ｏとし、画像８０と同一平面状に直交するｘｙ軸を設定し、更に、ｘｙ軸に垂直になるようにｚ軸を設定する。
そして、カメラ８１の光軸を原点Ｏに向けて、カメラ８１を位置Ｖに設置する。位置Ｖは、線分ＯＶの長さを一定とし、原点Ｏを中心として球面状を移動することができるようになっている。なお、線分ＯＶはカメラ８１の光軸を成している。
【００８５】
線分ＯＶをｚｘ平面に射影した線分とｚ軸の成す角度をα、ＯＶをｘｙ平面に射影した線分とｚ軸の成す角度をβとする。
線分ＯＶの長さ（原点Ｏからカメラ８１までの距離）を一定とし、α＝ｎΔα（ｎ＝０、１、２、・・・）、β＝ｍΔβ（ｍ０、１、２、・・・）として、Δα、Δβのステップ幅で、カメラ８１を球面上（より詳細には、ｚ＞０となる上半球上）で移動し、画像８０を撮影していく。この際、カメラ８１の光軸ＯＶの周りの回転角度φは固定しておく。
Δα、Δβは、どの程度が適当であるかは、実験などによって決定されるが、例えば、３度〜５度程度とする。
【００８６】
このようにして、画像８０を様々な角度から撮影した複数のテンプレート画像データが生成される。
なお、カメラ８１の光軸ＯＶの周りの回転角度φは固定しておいたが、回転角度φが変化しても、後述のフーリエ変換を用いた方法によりφの補正ができるので、必ずしも固定しておく必要はない。
なお、カメラ８１の傾きを表す角度としてα、βを用いたが、球面座標系など、他の座標系を採用して表してもよい。
【００８７】
図１４は、撮影画像に画像データによる画像が存在するか否かを判定する方法を説明するための図である。
まず、基準となる画像データによる画像を複数の角度から撮影したテンプレート画像データを用意し、更に、ユーザが画像を撮影した撮影画像データを用意する。
そして、画像処理装置１は、次のようにして、撮影画像に画像８０（画像データによる画像）が存在するか否かを判定する。
【００８８】
画像処理装置１は、まず、テンプレート画像データと撮影画像データの相関度（相関係数）を各テンプレート画像データに渡って計算していく。テンプレート画像データと撮影画像データの相関が高いほど（同じものであるほど）相関度は高くなる。
そして、各テンプレート画像データとの相関度のうち、所定の閾値（例えば９０％）以上のものが存在する場合、画像処理装置１は、撮影画像に画像８０が存在する、即ち、撮影画像データが画像８０を撮影したものであると判断する。
【００８９】
より詳細に説明すると次のようになる。
ユーザがある傾きから画像８０を撮影すると、これに近い傾きから撮影したテンプレート画像データとの相関度が高くなる。
一方、テンプレート画像データは、画像８０の上面の半球を網羅するように撮影されているため、ユーザが撮影した傾きと同じか、これに近い傾きから撮影されたテンプレート画像データが存在する。
そのため、撮影画像データが画像８０を撮影したものであるならば、ユーザが撮影した傾き付近のテンプレート画像データとの相関度が高くなるため、これによって、撮影画像データが画像８０を撮影したものであると判断することができる。
【００９０】
ところで、テンプレート画像と撮影画像データでは、平行移動量、縮尺、及び回転角度φが異なるが、これらは、後述のフーリエ変換を用いた方法により計算（推定）できるため、これらを用いて、ユーザのカメラとカメラ８１の位置や回転角度が同じになるように補正してから相関度を計算する。
このように、ユーザが撮影した画像を、ユーザが撮影した際のカメラの位置がカメラ８１の位置とした場合の画像に補正するため、ユーザが撮影した画像に画像８０が存在する場合、ユーザの撮影による透視変換に関わらず、その相関度が高くなる。
このため、相関度の閾値として、例えば、９０％などの高い固定値を用いることができる。
【００９１】
また、最も相関度が高いテンプレート画像データにより、撮影画像データの傾き（α、β）がわかるため、画像処理装置１は、撮影画像データの傾きと、フーリエ変換を用いて計算される平行移動、縮尺、回転角度などを用いて撮影画像データを、正面の所定距離から回転角度０で撮影した撮影画像データに補正し、これらから透かしデータを読み出す。
【００９２】
次に、撮影画像データとテンプレート画像データの比較について説明する。
画像処理装置１は、以下の比較を各テンプレート画像データについて行い、テンプレート画像データに対する撮影画像データの平行移動量、回転角度、及び縮尺について計算する。
換言すると、撮影画像中にテンプレート画像が平行移動、回転、スケーリング（拡大・縮小）を受けて存在する場合に、これらのパラメータを計算する方法について説明する。
【００９３】
なお、テンプレート画像をｔ（ｘ、ｙ）とした場合、これを（Δｘ、Δｙ）だけ平行移動した画像は、ｔ（ｘ−Δｘ、ｙ−Δｙ）で表され、更に、これを回転角度φだけ回転した画像はｔ（ｘｃｏｓφ＋ｙｓｉｎφ−Δｘ、−ｘｓｉｎφ＋ｙｃｏｓφ−Δｙ）で表される。
これに更に縮尺σだけ拡大縮小した画像は、ｔ（σ（ｘｃｏｓφ＋ｙｓｉｎφ）−Δｘ、σ（−ｘｓｉｎφ＋ｙｃｏｓφ）−Δｙ）で表される。
【００９４】
（ｉ）平行移動量の計算
テンプレート画像が平行移動を受けた画像が撮影画像中に存在する場合に、その平行移動量（Δｘ、Δｙ）を計算する方法について説明する。
撮影画像をｓ（ｘ、ｙ）で表すと、撮影画像は次の式（１）で表される。
【００９５】
ｓ（ｘ、ｙ）＝ｔ（ｘ−Δｘ、ｙ−Δｙ）・・・（１）
【００９６】
次に、ｓ（ｘ、ｙ）、ｔ（ｘ、ｙ）のフーリエ変換をＳ（ｕ、ｖ）、Ｔ（ｕ、ｖ）とおくと、次の式（２）のようになる。ここで、Ｆはフーリエ変換を表している。
【００９７】
Ｓ（ｕ、ｖ）＝Ｆ（ｓ（ｘ、ｙ））、Ｔ（ｕ、ｖ）＝Ｆ（ｔ（ｘ、ｙ））・・・（２）
【００９８】
Ｓ（ｕ、ｖ）は、Ｔ（ｕ、ｖ）を用いて次の式（３）のように表される。
【００９９】
Ｓ（ｕ、ｖ）＝Ｔ（ｕ、ｖ）ｅｘｐ（−ｊ２π（ｕΔｘ＋ｖΔｙ））・・・（３）
【０１００】
このように、撮影画像Ｔが平行移動を受けていると、フーリエ変換では、平行移動量が位相に現れる。
そこで、Ｓ（ｕ、ｖ）とＴ（ｕ、ｖ）の位相相関のフーリエ変換をＣ（ｕ、ｖ）で表すと、次の式（４）のようになる。
【０１０１】
Ｃ（ｕ、ｖ）＝Ｓ（ｕ、ｖ）／｜Ｓ（ｕ、ｖ）｜・Ｔ*（ｕ、ｖ）／｜Ｔ（ｕ、ｖ）｜・・・（４）
【０１０２】
ここで、Ｔ*（ｕ、ｖ）は、Ｔ（ｕ、ｖ）の複素共役を表す。
式（４）に式（３）を代入すると、次の式（５）が得られ、位相だけ取り出すことができる。
【０１０３】
Ｃ（ｕ、ｖ）＝ｅｘｐ（−ｊ２π（ｕΔｘ＋ｖΔｙ））・・・（５）
【０１０４】
式（５）を逆フーリエ変換すると次の式（６）が得られる。
【０１０５】
ｃ（ｘ、ｙ）＝Ｆ-1（Ｃ（ｕ、ｖ））＝δ（ｘ−Δｘ、ｙ−Δｙ）・・・（６）
【０１０６】
ここで、Ｆ-1は、逆フーリエ変換を表している。
式（６）は、デルタ関数となっており、ｃ（ｘ、ｙ）のピークを捕らえれば、平行移動量Δｘ、Δｙを得ることができる。
例えば、ｃ（ｘ、ｙ）が（ｘ０、ｙ０）でピークを示せば、Δｘ＝ｘ０、Δｙ＝ｙ０となる。
【０１０７】
図１５は、以上の計算を画像処理装置１（図１）が行う場合の処理手順を説明するためのフローチャートである。
画像処理装置１は、画像補正プログラムに従ってＣＰＵ２が行うものである。
撮影画像データは、データ格納部１２に記憶されているものとする。
ＣＰＵ２は、データ格納部１２から撮影画像データを読み出してＲＡＭ７に記憶する（ステップ２０５）。
次に、ＣＰＵ２は、ＲＡＭ７に記憶した撮影画像データに対して式（２）に該当するフーリエ変換を行って、Ｓ（ｕ、ｖ）を算出し、ＲＡＭ７に記憶する（ステップ２１０）。
次に、ＣＰＵ２は、ＲＡＭ７に記憶したＳ（ｕ、ｖ）を振幅（絶対値）｜Ｓ（ｕ、ｖ）｜で除算して、位相項を算出し、ＲＡＭ７に記憶する（ステップ２１５）。
【０１０８】
次に、ＣＰＵ２は、データ格納部１２からテンプレート画像データを読み出してＲＡＭ７に記憶する（ステップ２２０）。
次に、ＣＰＵ２は、読み出したテンプレート画像データに対して式（２）に該当するフーリエ変換を行って、Ｔ（ｕ、ｖ）を算出し、ＲＡＭ７に記憶する（ステップ２２５）。
次に、ＣＰＵ２は、ＲＡＭ７に記憶したＴ（ｕ、ｖ）の複素共役Ｔ*（ｕ、ｖ）を計算してＲＡＭ７に記憶し（ステップ２３０）、これを、ＲＡＭ７に記憶したＴ（ｕ、ｖ）を振幅（絶対値）｜Ｔ（ｕ、ｖ）｜で除算して、位相項を算出し、ＲＡＭ７に記憶する（ステップ２３５）。
【０１０９】
ＣＰＵ２は、このようにして、ＲＡＭ７にＳ（ｕ、ｖ）の位相項と、Ｔ（ｕ、ｖ）の位相項を記憶した後、これらの積を計算して、式（５）に該当するＣ（ｕ、ｖ）を計算してＲＡＭ７に記憶し（ステップ２４０）、引き続いて、当該記憶したＣ（ｕ、ｖ）に対して式（６）に該当する逆フーリエ変換を施し、その結果生成されるｃ（ｘ、ｙ）をＲＡＭ７に記憶する（ステップ２４５）。
次に、ＣＰＵ２は、ＲＡＭ７に記憶したｃ（ｘ、ｙ）のピークを探索し（ステップ２５０）、これによって平行移動量Δｘ、Δｙを求め、ＲＡＭ７に記憶する（ステップ２５５）。
【０１１０】
ＣＰＵ２は、以上のΔｘ、Δｙの計算を各テンプレート画像に対して行うが、ステップ２０５〜２１５の撮影画像データに関する位相項の計算は、１度だけ計算しておいてＲＡＭ７に記憶しておき、その後は、ＲＡＭ７に記憶した位相項を読み出して使用するように構成することができる。
【０１１１】
また、各テンプレート画像データに対してステップ２２０〜ステップ２３５の計算したデータを予め記憶しておけば、テンプレート画像データを用いる必要はない。
テンプレート画像データを記憶する方式では、テンプレート画像データが基準画像を異なる傾きから見た複数の画像に関する比較画像データに相当し、ステップ２２０〜ステップ２３５の計算したデータを予め記憶しておく方式では、計算後の値が当該比較画像データに相当する。
【０１１２】
また、撮影画像データを判断対象である対象画像に関する対象画像データに相当すると考えることもできるし、あるいは、撮影画像データに対してステップ２０５〜２１５の計算を行ったデータを当該対象画像データに相当すると考えることもできる。
【０１１３】
（ｉｉ）縮尺と回転角度の計算
撮影画像として、テンプレート画像が平行移動（Δｘ、Δｙ）、縮尺σ、回転角度φを受けたものと考えると、次の式（７）が成り立つ。
【０１１４】
ｓ（ｘ、ｙ）＝ｔ（σ（ｘｃｏｓφ＋ｙｓｉｎφ）−Δｘ、σ（−ｘｓｉｎφ＋ｙｃｏｓφ）−Δｙ）・・・（７）
【０１１５】
すると、撮影画像のフーリエ変換Ｓ（ｕ、ｖ）は、図１６の式（８）で与えられる。
式（８）によると、回転と拡大縮小の影響はＳ（ｕ、ｖ）の振幅｜Ｓ（ｕ、ｖ）｜にのみ現れていることがわかる。
ここで、回転角度を計算したいため、それに適すように、フーリエ変換による周波数空間を直交座標（ｕ、ｖ）から極座標（ｒ、θ）に変換する。すると、ｕ、ｖは、次の式（９）で表される。
【０１１６】
ｕ＝ｒｃｏｓθ、ｖ＝ｒｓｉｎθ・・・（９）
【０１１７】
このように、座標変換すると式（８）は、図１６の式（１０）のように書き直される。
更に、Ｓ（ｕ、ｖ）、Ｔ（ｕ、ｖ）の極座標表現をＳp（ｒ、θ）、Ｔp（ｒ、θ）とおくと、式（１０）は、図１６の式（１１）のように書き直される。極座標を採用したのは、式（１１）のように、θ−φの項を出したかったからである。
【０１１８】
式（１１）の左辺にｒ／σの項が現れており、この項を和・差の形にしたいため、λ＝ｌｏｇｒ・・・（１２）とおき、ｒとしてλを用いる。これを対数極座標（λ、θ）と呼ぶことにし、Ｓ（ｕ、ｖ）、Ｔ（ｕ、ｖ）を対数極座標を用いて表現したものをＳlp（λ、θ）、Ｔlp（λ、θ）とおく。
すると、式（１１）は、図１６に示した式（１３）のようになる。ただし、κ＝ｌｏｇσである。
【０１１９】
従って、撮影画像のフーリエスペクトルは、テンプレート画像のスペクトルを（κ、φ）だけ平行移動したものを用いて表されている。これにより、先に平行移動量を求めたのと同様の手法を用いてκ、φを求めることができる。
【０１２０】
｜Ｓlp（λ、θ）｜、｜Ｔlp（λ、θ）｜のフーリエ変換をＳlp＾（ξ、η）、Ｔlp＾（ξ、η）とおくと、式（１３）は、図１６の式（１４）のようになる。
（κ、φ）を計算するため、Ｓlp＾（ξ、η）、Ｔlp＾（ξ、η）を振幅で除算して位相相関をＣ＾（ξ、η）を求めると図１６の式（１５）のようになる。
なお、式（１５）でＴlp＾*（ξ、η）は、Ｔlp＾（ξ、η）の複素共役を表している。
式（１５）を逆フーリエ変換すると、次の式（１６）に示した、位相相関ｃ＾（λ、θ）に関するデルタ関数が得られる。
【０１２１】
ｃ＾（λ、θ）＝ｅｘｐ（−２κ）・δ（λ−κ、θ−φ）・・・（１６）
【０１２２】
従って、ｃ＾（λ、θ）に対してピークの探索を行い、ピークとなる（λｐ、θｐ）の値からκ、φが計算される。
これにより、縮尺σと回転角度φは、ピークとなる（λｐ、θｐ）を用いて次の式（１７）で与えられる。
【０１２３】
σ＝ｅｘｐ（κ）＝ｅｘｐ（λｐ）、φ＝θｐ・・・（１７）
【０１２４】
図１７は、以上の計算を画像処理装置１（図１）が行う場合の処理手順を説明するためのフローチャートである。
画像処理装置１は、画像補正プログラムに従ってＣＰＵ２が行うものである。
ＣＰＵ２は、データ格納部１２が撮影画像データを読み出してＲＡＭ７に記憶する（ステップ３０５）。
次に、ＣＰＵ２は、ＲＡＭ７に記憶した撮影画像データに対して式（８）に該当するフーリエ変換を行って、Ｓ（ｕ、ｖ）を算出し、ＲＡＭ７に記憶する（ステップ３１０）。
【０１２５】
次に、ＣＰＵ２は、ＲＡＭ７に記憶したＳ（ｕ、ｖ）を振幅（絶対値）｜Ｓ（ｕ、ｖ）｜で除算して、位相項を算出し、ＲＡＭ７に記憶する（ステップ３１５）。
次に、ＣＰＵ２は、直交座標（ｕ、ｖ）を対数極座標（λ、θ）に変換してＳlp（λ、θ）を計算し、ＲＡＭ７に記憶する（ステップ３２０）。
ここで、λ、θは、図１６の式（１８）で表される。
【０１２６】
次に、ＣＰＵ２は、ＲＡＭ７に記憶したＳlp（λ、θ）をフーリエ変換してＳ＾（ξ、η）を計算してＲＡＭ７に記憶し（ステップ３２５）、これを振幅｜Ｓ＾（ξ、η）｜で除算して、位相項を算出してＲＡＭ７に記憶する（ステップ３３０）。
【０１２７】
ＣＰＵ２は、このように撮影画像データの処理を行った後、テンプレート画像についても同様の処理を行う。
即ち、ＣＰＵ２は、テンプレート画像を読み出してＲＡＭ７に記憶し（ステップ３３５）、これをフーリエ変換して（ステップ３４０）、振幅を算出する（ステップ３４５）。
更に、座標系を対数極座標に変換し（ステップ３５０）、これをフーリエ変換して（ステップ３５５）、振幅で除算し、位相項を算出してＲＡＭ７に記憶する（ステップ３６０）。
【０１２８】
そして、ＣＰＵ２は、テンプレート画像の位相項を複素共役とした後（ステップ３６５）、この位相項と、ステップ３３０で計算してＲＡＭ７に記憶しておいた撮影画像データの位相項との積を計算して式（１５）のＣ＾（ξ、η）を算出し、ＲＡＭ７に記憶する（ステップ３７０）。
次に、ＣＰＵ２は、ＲＡＭ７に記憶したＣ＾（ξ、η）を逆フーリエ変換して式（１６）のデルタ関数を算出してＲＡＭ７に記憶する（ステップ３７５）。
【０１２９】
そして、ＣＰＵ２は、ピーク探索を行ってλｐ、θｐを検出してＲＡＭ７に記憶し（ステップ３８０）、これを式（１７）に代入して縮尺σと回転角度φを算出し、これをＲＡＭ７に記憶する（ステップ３８５）。
【０１３０】
ＣＰＵ２は、以上の縮尺Δ、回転角度φの計算を各テンプレート画像に対して行うが、ステップ３０５〜３３０の撮影画像データに関する位相項の計算は、１度だけ計算しておいてＲＡＭ７に記憶しておき、その後は、ＲＡＭ７に記憶した位相項を読み出して使用するように構成することができる。
【０１３１】
また、各テンプレート画像データに対してステップ３３５〜ステップ３６５の計算したデータを予め記憶しておけば、テンプレート画像データを用いる必要はない。
テンプレート画像データを記憶する方式では、テンプレート画像データが基準画像を異なる傾きから見た複数の画像に関する比較画像データに相当し、ステップ３３５〜ステップ３６５の計算したデータを予め記憶しておく方式では、計算後の値が当該比較画像データに相当する。
【０１３２】
また、撮影画像データを判断対象である対象画像に関する対象画像データに相当すると考えることもできるし、あるいは、撮影画像データに対してステップ３０５〜３３０の計算を行ったデータを当該対象画像データに相当すると考えることもできる。
【０１３３】
以上の（ｉ）平行移動量の計算、及び（ｉｉ）縮尺と回転角度の計算、によって、テンプ
レート画像を基準とした、撮影画像データの平行移動量Δｘ、Δｙ、縮尺σ、及び回転角度φを計算することができる。
画像処理装置１は、これらパラメータ（Δｘ、Δｙ、σ、φ）を各テンプレート画像ごとに計算する。
【０１３４】
次に、計算したパラメータを用いて撮影画像データの平行移動、縮尺、及び回転角度を補正する方法について説明する。
補正後の撮影画像をｓ’（ｘ、ｙ）で表すと、ｓ’（ｘ、ｙ）は、図１８に示した式（１９）で表される。
即ち、撮影画像データを（−Δｘ、−Δｙ）だけ平行移動し、１／σ倍してテンプレート画像と同じ縮尺にし、更に、−φだけ回転してテンプレート画像と同じ回転角度にすることにより補正する。
これにより、テンプレート画像と撮影画像データの位置、縮尺、及び回転角度を揃えることができる。
【０１３５】
画像処理装置１は、このような撮影画像データの補正を行った後、補正の基準となったテンプレート画像との相関度を次のようにして計算する。
式（１９）よりｓ’（ｘ、ｙ）のフーリエ変換Ｓ’（ｕ、ｖ）は、図１８の式（２０）のようになる。
また、補正後の撮影画像ｓ’（ｘ、ｙ）とテンプレート画像ｔ（ｘ、ｙ）との相関をｅ（ｘ、ｙ）とすると、ずれが補正されたときの相関ｅ（０、０）は、次の式（２１）で表される。
【０１３６】
ｅ（０、０）＝Ｆ-1（Ｓ’（ｕ、ｖ）Ｔ*（ｕ、ｖ））・・・（２１）
【０１３７】
ここで、Ｆ-1は、逆フーリエ変換を表し、Ｔ*（ｕ、ｖ）は、Ｔ（ｕ、ｖ）の複素共役を表す。
画像処理装置１は、図１８の式（２２）のように、式（２１）をテンプレート画像の存在する領域ΩＴの振幅で除算して正規化した値で相関度を定義する。
この相関度が高いほど撮影画像にテンプレート画像と同じ画像が存在する可能性が高くなる。
そのため、画像処理装置１は、各テンプレート画像に対して相関度を計算し、その値が所定の閾値α（例えば、９０％）以上であるものが存在すれば、撮影画像にテンプレート画像と同じ画像が存在する、即ち、撮影画像に画像８０が写っていると判断する。
そして、画像処理装置１は、所定の閾値以上の相関度となったテンプレート画像データのパラメータ（Δｘ、Δｙ、σ、φ）を用いて撮影画像データを補正する。
また、この補正に用いたテンプレート画像データの傾き（α、β）がわかっているため、画像処理装置１は、更に、傾きを補正し、当該補正後の撮影画像データから透かしデータを読み出す。
【０１３８】
次に、図１９のフローチャートを用いて、画像処理装置１が以上のようにしてテンプレート画像データを用いて撮影画像データを補正する手順について説明する。
以下の処理は、画像処理装置１（図１）のＣＰＵ２が画像補正プログラムに従って行うものである。
まず、ＣＰＵ２は、ＲＡＭ７においてｉを０に初期化する（ステップ４０５）。
ここで、ｉは、ｉ番目のテンプレート画像データを計数するカウンタであり、テンプレート画像データはＮ個（即ち、テンプレート画像はＮ枚）存在するものとする。
【０１３９】
次に、ＣＰＵ２は、ｉ番目のテンプレート画像データをデータ格納部１２からＲＡＭ７に読み出し、当該テンプレート画像データを用いて撮影画像データ（ＲＡＭ７に読み込んであるものとする）の平行移動（Δｘ、Δｙ）、縮尺σ、及び回転角度φを補正し、補正後の撮影画像データをＲＡＭ７に記憶する（ステップ４１０）。
次に、ＣＰＵ２は、ＲＡＭ７に記憶してた補正後の撮影画像データと当該補正に用いたテンプレート画像データを用いて相関度を計算し、テンプレート画像データと対応づけてＲＡＭ７に記憶する（ステップ４１５）。
【０１４０】
次に、ＣＰＵ２は、ｉがＮ未満か否かを判断し（ステップ４２０）、ｉがＮ未満であった場合は（ステップ４２０；Ｙ）、まだ使用していないテンプレート画像データがあるため、ｉを１だけインクリメントし（ステップ４２５）、ステップ４１０に戻って更に、補正と相関度の計算を続行する。
【０１４１】
一方、ｉがＮ以上であった場合（ステップ４２０；Ｎ）、全てのテンプレート画像データについて相関度を計算したので、画像処理装置１は、ＲＡＭ７に記憶した相関度のうち所定の閾値α（例えば、９０％）以上のものがあるか否かを判断する（ステップ４３０）。
相関度が閾値α以上となるものがなかった場合（ステップ４３０；Ｎ）、ＣＰＵ２は、撮影画像データは、画像データによる画像を撮影したものではないと判断し、処理を終了する。
【０１４２】
一方、閾値α以上のものがあった場合（ステップ４３０；Ｙ）、ＣＰＵ２は、閾値α以上となったテンプレート画像データによる補正後の撮影画像データを出力して処理を終了する（ステップ４３５）。
補正に用いるテンプレート画像データは、相関度が閾値α以上のものであればよいが、好ましくは、最も相関度が最も高いものを用いるのが望ましい。
そして、ステップ４３５の補正は、テンプレート画像データを用いて、平行移動量（Δｘ、Δｙ）、縮尺σ、回転角度φを補正し、更に、当該補正に用いたテンプレート画像データの傾き（α、β）により、当該補正後の撮影画像データを（−α、−β）だけ傾かせて傾きも補正する。傾きの補正は、公知の技術により行うことができる。
【０１４３】
このようにして、画像処理装置１は、撮影画像データを補正した後、補正後の撮影画像データから電子透かしを読み出す。
そこで、次に、透かしデータが埋め込まれた画像データの利用例について説明する。
図２０（ａ）は、携帯電話１０３で透かしデータの埋め込まれたポスタ１０２を撮影し、携帯電話１０３をサービスサーバ１０４が開設するウェブサイトに接続させる情報処理システムの一例を示した図である。以下、図の括弧に示した番号に従って説明する。
（１）まず、画像処理装置１は、透かしデータとサービスサーバ１０４のウェブサイトのＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒｓ）を対応づけて記憶しておく。
そして、画像処理装置１は、任意形状の画像データに透かしデータを埋め込み、透かし入り画像データを店舗１０１の端末に送信する。
店舗１０１は、端末で透かし入り画像データを受信し、これを用いて任意形状画像１０６を印刷する。そして、店舗１０１は、任意形状画像１０６をポスタ１０２に貼り付け、ポスタ１０２を完成させる。
【０１４４】
（２）ユーザは、店舗１０１を訪れカメラ機能、及びネットワーク接続機能を有する携帯電話１０３でポスタ１０２を撮影する。
（３）携帯電話１０３には、画像補正プログラムと透かし読出プログラムがインストールしてあり、また、テンプレート画像データなど画像の補正に必要なデータ、ｎの初期値や形状マップなど、透かしデータの読出に必要なデータを記憶している。
携帯電話１０３は、テンプレート画像データを用いて撮影画像データを補正し、更に、形状マップを用いてポスタ１０２から任意形状画像１０６の領域を抽出し、これをウェーブレット変換して透かしデータを読み出す。
そして、携帯電話１０３は、読み出した透かしデータを画像処理装置１に送信する。
【０１４５】
（４）画像処理装置１は、携帯電話１０３から透かしデータを受信し、これに対応づけられているＵＲＬを検索して携帯電話１０３に送信する。
（５）携帯電話１０３は、画像処理装置１からＵＲＬを受信し、これを用いてサービスサーバ１０４のウェブサイトに接続する。
【０１４６】
なお、この例では、携帯電話１０３が撮影画像データの補正や透かしデータの読み出しを行ったが、当該補正と当該読み出しのうちの少なくとも一方をサーバで行うように構成することも可能である。
【０１４７】
補正をサーバで行う場合、テンプレート画像データと補正プログラムはサーバに記憶しておき、携帯電話１０３は、撮影画像データをサーバに送信する。
サーバは、携帯電話１０３から送信されてきた撮影画像データを補正して補正後の撮影画像データを携帯電話１０３に送信する。そして、携帯電話１０３は、サーバから送信されてきた補正後の撮影画像データから透かしデータを読み出す。
あるいは、透かしデータの読み出しまでサーバで行い、読み出し結果をサーバから携帯電話１０３に送信するように構成してもよい。
【０１４８】
このようにして、本情報処理システムでは、透かし入り画像データを用いてユーザを所定のウェブサイトに誘導することができる。
このシステムにより、例えば、食品会社が画像処理装置１の事業者にＵＲＬとポスタ１０２に印刷する画像を提供し、店舗１０１でのポスタ１０２の掲示を依頼する。
そして、食品会社は、携帯電話１０３を接続してきたユーザに対し、自社が運営するサービスサーバ１０４のウェブサイトにてユーザに自社製品の広告やキャンペーンなどを提供することができる。
【０１４９】
次に、ウェーブレット変換の特性を利用したサービス提供例について説明する。
ウェーブレット変換では、画像データを周波数帯域に分割するが、合成する周波数帯域を選択することにより画像の解像度を調節することができる。
例えば、図９に示した変換係数では、主な信号成分は、最も低周波側のｆ３０に含まれており、ｆ３０を印刷すると、解像度の低い画像が印刷される。
そして、ｆ３０に、ｆ３１、ｆ３２、ｆ３３を合成して印刷すると、解像度が向上する。
更に、ｆ２１、ｆ２２、ｆ２３を合成して印刷すると、より解像度が向上する。
このように、ウェーブレット変換では、低周波側の変換係数に高周波側の変換係数を合成していくごとに解像度が向上する。
【０１５０】
そこで、図２０（ｂ）の画像処理装置１は、画像データに透かしデータを埋め込んだ後、これを逆ウェーブレット変換せずに、周波数帯域に分割された状態で画像データを保持する。
例えば、画像データは分割レベル３の周波数帯域に分割され、透かしデータが分割レベル２の周波数帯域に埋め込まれているとする。
【０１５１】
そして、店舗１０１ａが、低解像度の画像でよい旨を画像処理装置１に通知する。すると、画像処理装置１は、分割レベル３、２の変換係数を店舗１０１ａの端末に送信する。
店舗１０１ａの端末は、画像処理装置１から変換係数を受信して逆ウェーブレット変換し、低解像度の透かし入り画像データを復元する。そして、低解像度のポスタ１０２ａを印刷する。
【０１５２】
また、店舗１０１ｂは高解像度の画像を必要とし、その旨を画像処理装置１に通知する。すると、画像処理装置１は、分割レベル３、２、１の変換係数を店舗１０１ｂの端末に送信する。
店舗１０１ｂの端末は、画像処理装置１から変換係数を受信して逆ウェーブレット変換し、高解像度の透かし入り画像データを復元する。そして、高解像度のポスタ１０２ｂを印刷する。
【０１５３】
この例では、逆ウェーブレット変換を店舗の端末で行ったが、画像処理装置１が逆ウェーブレット変換によって必要な解像度の透かし入り画像データを生成し、店舗１０１ａや店舗１０１ｂに送信するように構成してもよい。
このように、必要とされる解像度に応じてデータを送信するように構成すると、データ通信量や通信時間を節約することができ、コストの低減を図ることができる。
ただし、透かし入り画像が印刷されるように、画像処理装置１は、透かしデータが埋め込まれた周波数帯域以上のデータを送信する。
【０１５４】
また、透かし入り画像は、オフセット印刷などで印刷できるほか、各種プリンタ（サーマルプリンタ、インクジェットプリンタ、電子写真方式）から出力することもできる。
更に、透かし入り画像をスキャナで読み込んで、これをネットワーク経由で送信したり、印刷したりできるほか、透かし入り画像を複写機で複写して複製することも可能である。
また、デジタルサイネージによって透かし入り画像を表示することも可能である。ここで、デジタルサイネージとは、デジタル通信を用いた広告媒体によって、広告を表示する技術であって、例えば、平面ディスプレイやプロジェクタなどで広告用の映像を表示したりし、従来の印刷ポスタなどに代わる広告技術として注目されている。
【０１５５】
更に、印刷と印字の混在する媒体によって透かしデータをユーザに提供することも可能である。この場合、例えば、透かしデータを埋め込んだ店のロゴマークを印刷した用紙をレシート用紙として用意し、当該用紙上に清算内容などをサーマルプリンタで印字してレシートを出力するように構成することができる。このように、印刷された画像に電子透かしを埋め込むように構成するほか、電子透かしが埋め込まれた画像を印字によって形成するように構成することもできる。
【０１５６】
以上の本実施の形態では、撮影画像データに写っている画像のどこに透かしデータを埋め込んだ任意形状の画像が印刷されているかを検知することができる。
そして、その平行移動量（Δｘ、Δｙ）が０になるように補正して任意形状画像を画像の中心に移動させると共に、縮尺σや回転角度φ、更には傾き（α、β）も補正するため、補正後の撮影画像データの中心に分割前の形状マップα００（図７（ａ））をあてると、形状マップ内の領域が、透かしデータが埋め込まれた画像データｆ００（図６（ａ））となる。
画像処理装置１や携帯電話１０３は、このようにして、補正後の撮影画像データから透かしデータが埋め込まれた任意形状画像を特定して、これから透かしデータを読み出すことができる。
【０１５７】
なお、本実施の形態では、画像処理装置１や携帯電話１０３にテンプレート画像データを記憶しておいたが、これは、撮影画像の補正ができるものであればよく、テンプレート画像データのフーリエ変換と画像のスペクトル値をテンプレート画像データとして記憶しておいてもよい。
この場合には、フーリエ変換と画像のスペクトル値などが比較画像データとして機能する。
【０１５８】
以上をまとめると次のようになる。
（１）任意形状画像（任意形状オブジェクト）を対象として、カメラ軸が（αｉ，βｉ）だけ傾いた場合の画像データを求め、テンプレート画像データとする。
（２）テンプレート画像データと撮影画像データの相関度を、撮影画像の平行移動、縮尺、及び回転角度を考慮して算出する。
（３）平行移動、縮尺、及び回転角度を考慮して求められた最大の相関度の値に基づいて、撮影画像中に任意形状画像が存在するか否か、その有無を判定する。
（４）撮影画像中に任意形状画像が存在する場合には透かしデータを読み出すために、更に次の処理を行う。
（５）相関度が最大であったテンプレート画像データから、カメラ８１の視線の傾きを決定し、また相関度が最大であったときのパラメーラとして、平行移動、縮尺、及び回転角度の各パラメータを決定する。
（６）（５）で決定したパラメータに基づいて、撮影画像データから、撮影によって生じた平行移動、拡大縮小、及び回転角度を取り除き、カメラ８１の光軸の傾きと被写体までの距離を補正した補正後の撮影画像データを求める。
（７）補正後の撮影画像データから形状マップα００を用いて任意形状領域を抽出し、これに任意形状ウェーブレット変換を施して、透かしデータを読み出す。
【０１５９】
また、以上に説明した画像の補正に関する実施の形態によると、次のような効果を得ることができる。
（１）透かしデータを埋め込む画像を様々な傾きから撮影したテンプレート画像データを用意することにより、撮影画像データの平行移動、縮尺、回転角度のみならず、傾きも補正することができる。
（２）撮影画像データを補正することにより、透かしデータを埋め込んだ画像データとの相関度を計算することができる。
（３）計算した相関度の高低により、撮影画像データが透かしデータを埋め込んだ画像を撮影したものであるか否かを判断することができる。
（４）撮影画像データを補正することにより、透かしデータの読み出しを高精度に行うことができる。
（５）透視歪発生条件下においても透かしデータを読み出すことができる。
（６）撮影画像データに透かしデータが含まれるかどうか、また、その画像領域はどの部分であるかを検出することができる。
（７）透かしデータを埋め込む領域にフレームを設定したり、印をつけたりなど当該領域を識別するための情報を印刷する必要がないため、画像の視認性を損なわずに透かしデータを埋め込むことができる。
【０１６０】
以上に説明したように、画像処理装置１は、画像８０を異なる傾きから見たテンプレート画像データ（フーリエ変換後のデータなどでもよい）をデータ格納部１２から読み出すため、判断の基準となる基準画像（画像８０）を異なる傾きから見た複数の画像（テンプレート画像）に関する比較画像データ（テンプレート画像データ）を取得する比較画像データ取得手段を備えている。
また、画像処理装置１は、撮影画像データを読み込むため、判断対象である対象画像（撮影画像）に関する対象画像データ（撮影画像データ）を取得する対象画像データ取得手段を備えている。
そして、画像処理装置１は、各テンプレート画像データと撮影画像データの相関度を式（２２）により計算するため、各比較画像データ（テンプレート画像データ）と対象画像データ（撮影画像データ）の相関度を取得する相関度取得手段を備えている。これは、計算により取得せずに、相関度を計算するサーバに計算させて取得するように構成してもよい。
更に、画像処理装置１は、相関度が所定の閾値α以上であるものが存在する場合に、撮影画像に画像８０が存在すると判断するため、取得した各相関度のうち、相関度が所定の閾値以上のものが存在する場合に、対象画像（撮影画像）に基準画像（画像８０）対応する画像が存在すると判断する判断手段を備えている。
なお、当該画像は基準画像に透視変換などを行った画像であるため、基準画像に対応する画像ということができる。
あるいは、透視変換を受けた基準画像であるため、判断手段は、対象画像に基準画像が存在すると判断するということも可能である。
【０１６１】
また、画像処理装置１は、テンプレート画像データと撮影画像データを比較する際に、撮影画像データの平行移動量（Δｘ、Δｙ）と縮尺σと回転角度φを補正してから相関度を計算するため、相関度取得手段は、比較画像データ（テンプレート画像データ）と、対象画像データ（撮影画像データ）と、の間で平行移動量と縮尺と回転角度を補正してから相関度を取得している。
【０１６２】
更に、画像処理装置１は、相関度が所定の閾値α以上のテンプレート画像データを用いて撮影画像データの平行移動、縮尺、回転角度を補正するため、相関度が所定の閾値以上となった比較画像データ（テンプレート画像データ）を用いて、対象画像データ（撮影画像データ）の少なくとも傾きを補正する補正手段を備えている。
【０１６３】
そして、画像処理装置１は、補正後の撮影画像データから透かしデータが埋め込まれている領域を特定し、これをウェーブレット変換して透かしデータを読み出すため、補正した対象画像データには透かしデータが埋め込まれており、補正した対象画像データから透かしデータを読み出す読出手段を備えている。
より詳細には、この透かしデータは、基準画像（透かしデータを埋め込む対象となっている画像）の画像データをウェーブレット変換によって周波数帯域に分割した分割画像データを取得する分割画像データ取得手段と、画像データに透かしデータを埋め込む領域を規定する領域データを周波数帯域に分割した分割領域データを取得する埋込分割領域データ取得手段と、この分割領域データで規定される領域に対応する前記分割画像データに透かしデータを埋め込む埋込手段と、を備えた透かしデータ埋め込み装置によって埋め込まれており、対象画像データをウェーブレット変換によって周波数帯域に分割して分割透かし入り画像データを取得する分割透かし入り画像データ取得手段と、この透かし入り画像データで透かしデータが埋め込まれた領域を規定する領域データを周波数帯域に分割した分割領域データを取得する読出分割領域データ取得手段と、を備え、先の読出手段は、この取得した分割領域データで規定される領域に対応する前記分割透かし入り画像データから透かしデータを読み出している。
【符号の説明】
【０１６４】
１  画像処理装置
２  ＣＰＵ
３  入力装置
４  表示装置
５  印刷装置
６  通信制御装置
７  ＲＡＭ
８  記憶装置
９  記憶媒体駆動装置
１０  入出力Ｉ／Ｆ
１１  プログラム格納部
１２  データ格納部
１３  ＲＯＭ
２１  ＳＡ−ＤＷＴ処理部
２２  透かしデータ埋込部
２３  ＳＡ−ＩＤＷＴ処理部
２４  ＳＡ−ＤＷＴ処理部
２５  透かしデータ読出部
５０  画像
５１  任意形状領域
５２  任意形状外領域
６０  形状マップ
６１  任意形状領域
６２  任意形状外領域
８０  画像
８１  カメラ
１０１  店舗
１０２  ポスタ
１０３  携帯電話
１０４  サービスサーバ
１０６  任意形状画像
【図１】
2010178269.tif 000003
【図２】
2010178269.tif 000004
【図３】
2010178269.tif 000005
【図４】
2010178269.tif 000006
【図５】
2010178269.tif 000007
【図６】
2010178269.tif 000008
【図７】
2010178269.tif 000009
【図８】
2010178269.tif 000010
【図９】
2010178269.tif 000011
【図１０】
2010178269.tif 000012
【図１１】
2010178269.tif 000013
【図１２】
2010178269.tif 000014
【図１３】
2010178269.tif 000015
【図１４】
2010178269.tif 000016
【図１５】
2010178269.tif 000017
【図１６】
2010178269.tif 000018
【図１７】
2010178269.tif 000019
【図１８】
2010178269.tif 000020
【図１９】
2010178269.tif 000021
【図２０】
2010178269.tif 000022