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