JP5181350B2 - 画像処理装置、及び画像処理プログラム - Google Patents

画像処理装置、及び画像処理プログラム Download PDF

Info

Publication number
JP5181350B2
JP5181350B2 JP2009021426A JP2009021426A JP5181350B2 JP 5181350 B2 JP5181350 B2 JP 5181350B2 JP 2009021426 A JP2009021426 A JP 2009021426A JP 2009021426 A JP2009021426 A JP 2009021426A JP 5181350 B2 JP5181350 B2 JP 5181350B2
Authority
JP
Japan
Prior art keywords
data
image
image data
divided
watermark
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009021426A
Other languages
English (en)
Other versions
JP2010178269A (ja
Inventor
彰 川中
弘和 小林
隆明 鈴木
宏一 守屋
和夫 谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Instruments Inc
Original Assignee
Seiko Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Instruments Inc filed Critical Seiko Instruments Inc
Priority to JP2009021426A priority Critical patent/JP5181350B2/ja
Publication of JP2010178269A publication Critical patent/JP2010178269A/ja
Application granted granted Critical
Publication of JP5181350B2 publication Critical patent/JP5181350B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

本発明は、画像処理装置、及び画像処理プログラムに係り、例えば、基準となる画像が対象となる画像に存在するか否かを判定するものに関するものである。
近年、画像データ(デジタル画像)に透かしデータを埋め込む電子透かしの研究が盛んになされている。
透かしデータは、画像に目立たないように埋め込まれ、画像の視認性に与える影響を極力低くしながら、画像に付加的な情報を付与することができる。
透かしデータの利用法は各種あるが、例えば、画像に所定のウェブサイトへのURL(Uniform Resource Locators)と対応づけられた情報を透かしデータとして埋め込んでおき、ユーザがカメラ付き携帯電話で画像を撮影すると、携帯電話が透かしデータを検出して携帯電話を当該ウェブサイトに接続するといったようなものがある。
このように電子透かしの埋め込まれた画像を撮影した撮影画像データから電子透かしを読み出す場合、カメラの傾きや回転などによる歪みを補正してから透かしデータを読み出す必要がある。
このような補正技術として次の特許文献1の「電子透かし埋め込み装置と方法ならびに電子透かし抽出装置と方法」がある。
この技術は、複数の特徴点を埋め込んだフレームに電子透かしを埋め込んだ画像を貼り付け、これら複数の特徴点を用いて画像の歪みを補正するものである。
このフレームを用いた方法は、矩形形状などの、予め決められた所定形状の画像に電子透かしを埋め込む場合には有効であるが、任意形状の画像に透かしデータを埋め込む場合には、画像のデザイン性を損ねてしまう。
任意形状の画像に電子透かしが埋め込まれている場合、ユーザが撮影した画像に当該任意形状の画像の存在を如何に検出するか、また、当該画像が存在した場合、それをどのように補正するかが課題となっていた。
特開2006−86822号公報
本発明は、例えば、電子透かしを埋め込むなどした基準となる画像を、ユーザが撮影などした画像で特定することを目的とする。
本発明は、前記目的を達成するために、請求項1に記載の発明では、基準画像の画像データをウェーブレット変換によって周波数帯域に分割した分割画像データを取得する分割画像データ取得手段と、前記画像データに透かしデータを埋め込む領域を規定する領域データを周波数帯域に分割した分割領域データを取得する埋込分割領域データ取得手段と、前記取得した分割領域データで規定される領域に対応する前記分割画像データに透かしデータを埋め込む埋込手段と、を備えた透かしデータ埋め込み装置によって、判断対象である、高周波成分が多く且つエッジによる閉じた任意形状の対象画像に透かしデータが埋め込まれた対象画像データを取得する対象画像データ取得手段と、判断の基準となる基準画像を異なる傾きから見た複数の画像に関する比較画像データを取得する比較画像データ取得手段と、記取得した各比較画像データと前記取得した対象画像データの相関度を取得する相関度取得手段と、前記取得した各相関度のうち、相関度が所定の閾値以上のものが存在する場合に、前記対象画像に前記基準画像に対応する画像が存在すると判断する判断手段と、前記判断手段が前記対応する画像が存在すると判断した前記対象画像の対象画像データを、ウェーブレット変換によって周波数帯域に分割して分割透かし入り画像データを取得する分割透かし入り画像データ取得手段と、前記分割透かし入り画像データで透かしデータが埋め込まれた領域を規定する領域データを周波数帯域に分割した分割領域データを取得する読出分割領域データ取得手段と、前記取得した分割領域データで規定される領域に対応する前記分割透かし入り画像データから透かしデータを読み出す読出手段と、を具備したことを特徴とする画像処理装置を提供する。
請求項2に記載の発明では、前記相関度取得手段は、前記取得した比較画像データと、前記取得した対象画像データと、の間で平行移動量と縮尺と回転角を補正してから相関度を取得することを特徴とする請求項1に記載の画像処理装置を提供する。
請求項3に記載の発明では、相関度が所定の閾値以上となった比較画像データを用いて、前記取得した対象画像データの少なくとも傾きを補正する補正手段を具備したことを特徴とする請求項1、又は請求項2に記載の画像処理装置を提供する。
請求項4に記載の発明では、前記読出手段は、前記補正した対象画像データから前記透かしデータを読み出すことを特徴とする請求項3に記載の画像処理装置を提供する。
請求項に記載の発明では、基準画像の画像データをウェーブレット変換によって周波数帯域に分割した分割画像データを取得する分割画像データ取得手段と、前記画像データに透かしデータを埋め込む領域を規定する領域データを周波数帯域に分割した分割領域データを取得する埋込分割領域データ取得手段と、前記取得した分割領域データで規定される領域に対応する前記分割画像データに透かしデータを埋め込む埋込手段と、を備えた透かしデータ埋め込み装置によって、判断対象である、高周波成分が多く且つエッジによる閉じた任意形状の対象画像に透かしデータが埋め込まれた対象画像データを取得する対象画像データ取得機能と、判断の基準となる基準画像を異なる傾きから見た複数の画像に関する比較画像データを取得する比較画像データ取得機能と、記取得した各比較画像データと前記取得した対象画像データの相関度を取得する相関度取得機能と、前記取得した各相関度のうち、相関度が所定の閾値以上のものが存在する場合に、前記対象画像に前記基準画像に対応する画像が存在すると判断する判断機能と、前記判断機能が前記対応する画像が存在すると判断した前記対象画像の対象画像データを、ウェーブレット変換によって周波数帯域に分割して分割透かし入り画像データを取得する分割透かし入り画像データ取得機能と、 前記分割透かし入り画像データで透かしデータが埋め込まれた領域を規定する領域データを周波数帯域に分割した分割領域データを取得する読出分割領域データ取得機能と、前記取得した分割領域データで規定される領域に対応する前記分割透かし入り画像データから透かしデータを読み出す読出機能と、をコンピュータで実現する画像処理プログラムを提供する。
本発明によると、比較画像を用いることにより、基準となる画像を撮影した画像で特定することができる。
画像処理装置のハードウェア的な構成を説明するための図である。 形状マップやこれに対応する画像の一例を示した図である。 透かしデータの埋め込み処理や読出処理を説明するための図である。 任意形状領域をウェーブレット変換する方法を説明するための図である。 オクターブ分割を説明するための図である。 画像のオクターブ分割例について説明するための図である。 形状マップのオクターブ分割例について説明するための図である。 任意形状領域を逆ウェーブレット変換する方法を説明するための図である。 透かしデータを埋め込むのに好ましい分割レベルを説明するための図である。 透かし埋込処理を説明するためのフローチャートである。 透かし読出処理を説明するためのフローチャートである。 透かしデータの埋め込みから読み出しまでの作業工程を説明するための図である。 テンプレート画像データを説明するための図である。 撮影画像に画像データによる画像が存在するか否かを判定する方法を説明するための図である。 平行移動量を計算する手順を説明するためのフローチャートである。 数式を説明するための図である。 縮尺、及び回転角度を計算する手順を説明するためのフローチャートである。 数式を説明するための図である。 撮影画像データを補正する手順を説明するためのフローチャートである。 透かしデータが埋め込まれた画像データの利用例を説明するための図である。
以下、本発明の好適な実施の形態について、図1から図20を参照して詳細に説明する。
(1)実施形態の概要
画像処理装置1は、任意形状画像に任意形状ウェーブレット変換を用いて透かしデータを埋め込んで印刷する。
ユーザのカメラでこの印刷物を撮影して撮影画像データを生成する。画像処理装置1は、任意形状画像を様々な角度から撮影したテンプレート画像データを記憶しており、撮影画像データ中の任意形状画像の平行移動(Δx、Δy)、縮尺σ、回転角度φを補正した後、各テンプレート画像データとの相関度を計算する。所定の閾値αを越える相関度が合った場合、画像処理装置1は、撮影画像に任意形状画像が含まれていると判断し、任意形状画像の領域を特定して当該領域から透かしデータを読み出す。
本実施の形態では、透かしデータを埋め込む画像領域を特徴的なものとしておき、その画像領域の特徴を利用して透かしデータの有無や透かしデータの読み出しを行う。
(2)実施形態の詳細
本実施の形態では、任意形状の画像にウェーブレット変換を用いて透かしデータを埋め込み、また、ウェーブレット変換によって透かしデータが埋め込まれた任意形状の画像から透かしデータを読み出す。
本実施の形態では、まず、透かしデータの埋め込み方法と読み出し方法について説明し、その後で、ユーザが撮影するなどして透視変換を受けた撮影画像から透かしデータ読み出す方法について説明する。
[透かしデータの埋め込み方法と読み出し方法]
図1は、本実施の形態に係る画像処理装置1のハードウェア的な構成を説明するための図である。
画像処理装置1は、CPU(Central Processing Unit)2、RAM(Random Access Memory)7、ROM(Read Only Memory)13、入力装置3、表示装置4、印刷装置5、通信制御装置6、記憶装置8、記憶媒体駆動装置9、入出力I/F(インターフェース)10などの各機能部がバスラインで接続されて構成されている。
CPU2は、所定のプログラムに従って、各種の演算処理、及び情報処理や画像処理装置1の各部を制御したりする中央処理装置である。
CPU2は、例えば、プログラム格納部11に記憶されている透かし埋込プログラムを実行し、画像データの任意形状領域をウェーブレット変換して透かしデータを埋め込んだり、また、透かし読出プログラムを実行して、画像データの任意形状領域を逆ウェーブレット変換して透かしデータを読み出したりする。
ROM13は、画像処理装置1を動作させるための基本的なプログラムやデータなどを記憶した読み出し専用のメモリである。
RAM7は、CPU2が動作するためのワーキングメモリを提供する読み書きが可能なメモリであり、CPU2が画像データに透かしデータを埋め込んだり、あるいは、埋め込んだ透かしデータを読み出したりする際のワーキングメモリを提供する。
入力装置3は、例えば、キーボードやマウスなどの操作デバイスを有しており、ユーザが画像処理装置1を操作する際に使用する。
表示装置4は、例えば、液晶ディスプレイなどの表示デバイスを備えており、例えば、画像データに透かしデータを埋め込む際の操作画面や、透かしデータを読み出す際の操作画面など、画像処理装置1を操作する際の各種画面を表示する。
通信制御装置6は、画像処理装置1をインターネットなどの通信ネットワークに接続する装置である。画像処理装置1は、通信制御装置6を介して、各種サーバ装置や端末装置と通信することができ、外部から透かしデータを埋め込む対象の画像データや透かしデータを受信したり、あるいは、透かしデータを埋め込んだ画像データを送信したりすることができる。
印刷装置5は、例えば、レーザプリンタ、インクジェットプリンタ、熱転写プリンタなどのプリンタを備えており、透かしデータを埋め込んだ画像データなどを印刷することができる。
入出力I/F10は、各種の外部装置と接続するためのインターフェースであって、例えば、スキャナやデジタル式カメラを画像処理装置1に接続し、これらを用いて透かしデータ埋め込み対象の画像データを画像処理装置1に取り込むように構成することができる。
記憶媒体駆動装置9は、装着された着脱可能な記憶媒体を駆動し、データの読み書きを行う機能部である。
画像処理装置1は、記憶媒体駆動装置9を用いて、記憶媒体から、透かしデータ埋め込み対象の画像データや透かしデータを読み込んだり、透かしデータを埋め込んだ画像データを記憶媒体に書き出したりすることができる。
読み書き可能な記憶媒体としては、例えば、光ディスク、光磁気ディスク、磁気ディスクなどがあり、これらから画像データを読み取ったり、書き込み可能な記憶媒体の場合には、画像データやその他のデータを書き込むことができる。
記憶装置8は、例えば、ハードディスクなどで構成された大容量で読み書き可能な記憶装置である。
記憶装置8には、プログラム類を格納したプログラム格納部11とデータ類を記憶したデータ格納部12が形成されている。
プログラム格納部11には、画像処理装置1を動作させるための基本的なソフトウェアであるOS(Operating System)、透かし埋込プログラム、撮影した画像に透かしを埋め込んだ画像が存在するか否かを判断し、存在する場合には傾きなどを補正する画像補正プログラム、及び透かし読出プログラムなどが格納されている。
一方、データ格納部12には、透かしデータを埋め込む対象である画像データ、透かしデータを埋め込む任意形状領域を規定する形状マップ、透かしデータ、及び画像の特定したり補正したりするためのテンプレート画像データなどが格納されている。
次に、画像データと形状マップについて説明する。
図2(a)は、形状マップの一例を示した図である。
画像処理装置1は、画像の任意形状領域をウェーブレット変換して透かしデータを埋め込むが、形状マップは、画像処理装置1が任意形状領域を認識するために用いられる情報である。
図に示した形状マップ60は、横方向をi軸、縦方向をj軸とし、画素α(i,j)の値が、透かしデータを埋め込む任意形状領域61では1となり、それ以外の任意形状外領域62では0となるように設定されている。
形状マップ60は、例えば、透かしデータを埋め込むユーザが作成して用意する。
図2(b)は、透かしデータを埋め込む対象の画像の一例を示した図である。
画像50の画素f(i,j)は、形状マップ60のα(i,j)に対応しており、形状マップ60で任意形状領域61に対応する任意形状領域51がウェーブレット変換して透かしデータを埋め込む領域となる。
f(i,j)の値は、例えば、輝度であったり、画像データがRGBにより構成されている場合には、これらRなどの値となる。
画像処理装置1は、形状マップ60と画像50を対比することにより、画像50において透かしデータを埋め込む任意形状領域51と透かしデータを埋め込まない任意形状外領域52を認識することができる。
なお、この例では、図2(b)の画像に示された人物の全体が任意形状領域51となっているが、例えば、人物の顔の部分が任意形状領域となるように形状マップ60を設定すると、画像処理装置1は、人物の顔の部分をウェーブレット変換して透かしデータを埋め込む。
このように、本実施の形態では、任意形状の領域をウェーブレット変換して透かしデータを埋め込むことができるため、画像中の一部領域を任意形状領域として透かしデータを埋め込むこともできるし、画像の形状全体を任意形状とすることにより、任意形状の画像全体に透かしデータを埋め込むこともできる。
一般に、画像中の高周波成分の多い領域では透かしデータが目立ちにくいという特性があり、そのため、画像中の透かしデータが目立ちにくい領域を任意形状領域として設定すると、より効果が発揮される。
この場合、画像処理装置1が、画像中の高周波成分の多い領域を解析して、当該領域を自動的に任意形状領域とするように構成することができる。
また、画像処理装置1が画像のエッジを認識してエッジにより閉じた領域を任意形状領域とするように構成したりすることもできる。
次に、透かしデータの埋込処理と読出処理について説明する。
図3(a)は、透かしデータの埋込処理を説明するための図である。
予め、形状マップ、画像データ、及び透かしデータを用意しておく。
SA−DWT処理部21、透かしデータ埋込部22、及びSA−IDWT処理部23は、CPU2が透かし埋込プログラムを実行することにより形成される機能部である。
ここで、SA−DWTは、shape−adaptive discrete wavelet transformの略であり任意形状離散ウェーブレット変換を意味し、SA−IDWTは、shape−adaptive inverse discrete wavelet transformの略であり任意形状逆離散ウェーブレット変換を意味する。
以下では、これらを単にウェーブレット変換、及び逆ウェーブレット変換と呼ぶことにする。
まず、SA−DWT処理部21が、形状マップをウェーブレット変換し、画像データの分割レベル(後述のオクターブ分割の回数)に対応する分割形状マップを作成する。
なお、形状マップの場合は、α(i,j)が1の部分を分割すればよく、このため、後述のフィルタリングをせずにα(i,j)の領域をダウンサンプリングするだけで得ることができる。
次に、SA−DWT処理部21は、形状マップを用いて画像データ中の任意形状領域を認識し、当該領域をウェーブレット変換する。
これによって、任意形状領域の画像データは、周波数帯域(サブバンド)に分割された周波数空間内の変換係数となる。この分割は、オクターブ分割であって、詳細は後ほど説明する。
周波数空間の変換係数に分割された画像データを更にオクターブ分割する場合、SA−DWT処理部21は、対応する分割形状マップを用いて周波数空間における任意形状領域を認識してウェーブレット変換を行い分割する。
分割形状マップの任意形状領域は、周波数空間と対応して分割されるため、透かしデータ埋込部22は、分割形状マップの任意形状領域を参照して、周波数空間での任意形状領域を認識することができ、これによって、周波数空間での任意形状領域の変換係数を更に分割することができる。
以上のようにして画像データの任意形状領域の分割が完了すると、次は、透かしデータ埋込部22が、分割形状マップを用いて周波数空間に透かしデータを埋め込んでいく。
例えば、分割レベル2の周波数空間に透かしデータを埋め込む場合、透かしデータ埋込部22は、分割レベル2の分割形状マップを参照し、分割レベル2の周波数空間での任意形状領域を認識して、当該領域に透かしデータを埋め込んでいく。
このように、周波数空間に透かしデータを埋め込んだ後、SA−IDWT処理部23が周波数空間の変換係数を逆ウェーブレット変換することにより、透かしデータが埋め込まれた透かし入り画像データを生成する。
以上のようにして、所定の周波数帯域に透かしデータが埋め込まれた画像データを得ることができ、これを用いて画像を印刷又は表示すると、所定の周波数帯域に透かしデータが埋め込まれた画像が形成される。
図3(b)は、透かしデータの読出処理を説明するための図である。
予め、透かし入り画像データと形状マップを用意しておく。
SA−DWT処理部24と透かしデータ読出部25は、CPU2が透かし読出プログラムを実行することにより形成される機能部である。
なお、SA−DWT処理部21とSA−DWT処理部24は機能が同じであるので、当該処理を行うモジュールを透かし埋込プログラムと透かし読出プログラムで共用してもよい。
まず、SA−DWT処理部24が画像データを分割する分割レベルだけ分割し、分割形状マップを生成する。
なお、この分割形状マップは、透かしデータ埋込処理で用いたものと同じであるため、透かしデータ埋込処理で用いた分割形状マップを用いて、形状マップの分割処理を省略するように構成することもできる。
次に、SA−DWT処理部24が、形状マップを用いて透かし入り画像データ中の任意形状領域を認識し、当該領域をウェーブレット変換する。
更に分割する場合、SA−DWT処理部24は、分割形状マップを用いて周波数空間での任意形状領域を認識し、必要な分割レベルだけ分割を繰り返す。
これによって、透かしデータが埋め込まれた任意形状領域の画像データが分割され、周波数空間での変換係数が得られる。この変換係数には透かしデータが埋め込まれている。
そして、透かしデータ読出部25が、分割形状マップを参照することにより周波数空間で任意形状領域を認識し、当該領域から透かしデータを読み出す。
以上のようにして、画像データの任意形状領域への透かしデータの埋め込み、及び透かしデータの読み出しを行うことができる。
また、上の例では、画像処理装置1が透かしデータの埋め込みと読み出しの両方を行ったが、これは、一例であり、透かしデータの埋込処理と透かしデータの読出処理を別の情報処理装置が行うように構成することができる。
次に、図4を用いて任意形状領域をウェーブレット変換する方法について説明する。
まず、図に示したように、α(i,j)が横方向に(0011111100)となっている形状マップがあったとする。
画像処理装置1は、α(i,j)=1となっている画素に対応する画像データの画素を透かしデータを埋め込む任意形状領域として認識し、図に示したように、その画素値が(abcdef)であったとする。
画像処理装置1は、当該認識した画像データf(i,j)をウェーブレット変換対象とし、まず、両端に対して折返し処理する。これにより、両端に(dcb)なる値と(edc)なる値が追加される。
ここで、折返し処理するのは、両端で画素の値が極端に変わると高周波成分が発生するので、これを防ぐためである。
画像処理装置1は、折返し処理した画素の行を低域通過フィルタによって低域通過フィルタリングすると共に高域通過フィルタによって高域通過フィルタリングする。
すると、その変換係数として、低域側の周波数空間での変換係数(a’b’c’d’e’f’)と、高域側の周波数空間での変換係数(a’’b’’c’’d’’e’’f’’)が得られる。
そして、画像処理装置1は、低域側に関しては(0から始まる)偶数番目の値を間引きすることによりダウンサンプリングし、高域側に関しては奇数番目の値を間引きすることによりダウンサンプリングする。これは、ダウンサンプリングしても逆ウェーブレット変換で元の画像データが生成できるからである。
これによって、画像データ(abcdef)が、低周波成分(a’c’e’)と高周波成分(b’’d’’f’’)に分割される。
即ち、任意形状領域内の画像データの低周波成分が低周波側の周波数空間での変換係数として得られ、高周波成分が高周波側での周波数空間の変換係数として得られる。
以上は、iを一定にしてj方向(即ち横方向)に分割したが、これを全てのiについて行えば、画像データの任意形状領域が横方向に分割される。
同様に、jを一定にしてi方向(即ち縦方向)に分割すると、画像データの任意形状領域が縦方向に分割される。
画像処理装置1は、次に説明するように、画像データの任意形状領域を縦方向と横方向に分割して、当該領域をオクターブ分割する。
なお、図2(b)の透かしデータを埋め込まない任意形状外領域52の画素の値は、例えば、0に設定するなど、適当に設定することができる。
次に、ウェーブレット変換によるオクターブ分割について説明する。
図5は、フィルタを組み合わせたフィルタバンクの一例を示しており、当該フィルタバンクで画像データの任意形状領域をフィルタリングすることにより画像データの任意形状領域がウェーブレット変換によりオクターブ分割される。
図中のH0は、低域通過フィルタを示しており、H1は高域通過フィルタを示している。また、Dは、ダウンサンプリングを行うことを示している。
ウェーブレット変換前の任意形状領域内の画像データをf00(i,j)(以下、単にf00などと記す)とする。ここでfに続く最初の数字は、分割レベル(オクターブ分割した回数、分解レベルともいう)を表し、周波数帯域を識別する番号として用いることができる。
それに続く数字は周波数空間を識別する番号である。
例えば、1番の周波数帯域には、4つの周波数空間での変換係数f10、f11、f12、f13が含まれている。
分割レベル1では、画像処理装置1は、画像データf00を垂直方向(即ち、jを一定としてi方向)に折り返した後、H0で低域通過フィルタリングしてダウンサンプリングする。
そして、画像処理装置1は、低域通過フィルタリングした画像データを、水平方向(即ち、iを一定としてj方向)に折り返した後、H0で低域通過フィルタリングしてダウンサンプリングすると共に、折返し処理の後、H1で高域通過フィルタリングしてダウンサンプリングする。
これによって、垂直方向及び水平方向が低域フィルタリングされた周波数空間での変換係数f10と、垂直方向に低域通過フィルタリングされ、水平方向に高域通過フィルタリングされた周波数空間での変換係数f11が得られる。
更に、画像処理装置1は、画像データf00を折り返した後、垂直方向にH1で高域通過フィルタリングしてダウンサンプリングする。
そして、画像処理装置1は、高域通過フィルタリングした画像データを、水平方向に折返し処理した後、H0で低域通過フィルタリングしてダウンサンプリングすると共に、折返し処理の後、H1で高域通過フィルタリングしてダウンサンプリングする。
これによって、垂直方向に高域通過フィルタリングされ、水平方向に低域通過フィルタリングされた周波数空間での変換係数f12と、垂直方向及び水平方向が高域フィルタリングされた周波数空間での変換係数f13が得られる。
以上のようにして、画像データf00は、4つの周波数空間での変換係数f10、f11、f12、f13に分割されるが、このように、画像データを4分の1に分割する方式はオクターブ分割と呼ばれている。
画像の周波数成分は主に低周波側に存在するため、画像データの主な信号はf10に含まれている。
このため、ウェーブレット変換では、一般的に、fn0(nは自然数)の変換係数に対して更にオクターブ分割を繰り返していく。
そこで、f10を同様にフィルタリングして、分割レベル2の周波数空間f20、f21、f22、f23が生成される。
図示しないが、更に、f20を分割することにより、分割レベル3のf30、f31、f32、f33が生成され、このように分割を繰り返して、より高い分割レベルの周波数帯域に分割することができる。
次に、画像のオクターブ分割例について説明する。
図6(a)は、分割前の任意形状領域内の画像データf00による画像を示した図である。
図6(b)は、分割レベル1の変換係数f10、f11、f12、f13による画像を示した図である。
分割レベル1の各周波数空間の変換係数は、画像データf00をオクターブ分割することにより得られる。
画像データf00の主要な信号成分は低周波側のf10に存在するため、変換係数f10による画像は実線で示し、他の周波数空間では画像を破線で示してある。
図6(c)は、分割レベル2の変換係数f20、f21、f22、f23による画像を示した図である。
分割レベル2の画像データは、変換係数f10をオクターブ分割することにより得られる。
画像の主要な信号成分は低周波側に存在するため、変換係数f20では画像を実線で示し、他の周波数空間では画像を破線で示してある。
図示しないが、更に、変換係数f20をオクターブ分割すると、レベル3の周波数空間f30、f31、f32、f33が得られる。
次に、形状マップのオクターブ分割例について説明する。
図7(a)は、分割前の形状マップα00を示した図である。
値が1の領域によってウェーブレット変換を行う任意形状領域が規定されている。
α00をオクターブ分割すると、図7(b)に示したように、分割レベル1の分割形状マップα10、α11、α12、α13が得られる。
それぞれの分割形状マップでは、対応する周波数空間での任意形状領域が値1の領域によって規定されている。
例えば、分割形状マップα10の値が1の領域は、f10の周波数空間での任意形状領域を規定し、分割形状マップα11の値が1の領域は、f11の周波数空間での任意形状領域を規定している。
このため、画像処理装置1は、例えば、f10の周波数空間と分割形状マップα10を対比することにより、当該周波数空間での任意形状領域を認識することができる。
更に、分割形状マップα10をオクターブ分割すると図7(c)に示したように、分割レベル2の分割形状マップα20、α21、α22、α23が得られる。
分割形状マップα20、α21、α22、α23の値が1の領域は、それぞれ、f20、f21、f22、f23の周波数空間における任意形状領域を規定している。
更に、分割形状マップα20をオクターブ分割すると、レベル3の分割形状マップが得られ、これは、分割レベル3の周波数空間の任意形状領域を規定している。
以上の説明で、周波数空間の変換係数は、透かしデータを埋め込む対象となる画像データをウェーブレット変換によって周波数帯域に分割した分割画像データとし機能しており、形状マップは、画像データに透かしデータを埋め込む領域を規定する領域データとして機能しており、分割形状マップは、領域データを周波数帯域に分割した分割領域データとして機能している。
このように、画像処理装置1は、分割画像データ取得手段と、分割領域データ取得手段を備えている。
そして、画像処理装置1は、領域データ(形状マップ)を周波数帯域に分割することにより分割領域データ(分割形状マップ)を取得している。
次に、図8を用いて任意形状領域を逆ウェーブレット変換する方法について説明する。
ここでは、図4で生成した低周波成分と高周波成分を逆変換する場合について説明する。
まず、周波数空間での変換係数(低周波成分と高周波成分)と、これに対応して分割された分割形状マップを用意する。
画像処理装置1は、分割形状マップの値が1となる画素に対応する周波数空間の成分を抽出する。
これにより、先のウェーブレット変換による低周波成分の変換係数(a’c’e’)と、高周波成分の変換係数(b’’d’’f’’)が得られる。
次に、画像処理装置1は、得られた低周波成分の変換係数の奇数番目の位置に0を挿入してアップサンプリングし、更に、高周波成分の変換係数についても偶数番目の位置に0を挿入してアップサンプリングする。
そして、画像処理装置1は、アップサンプリングした低周波成分と高周波成分を折返し処理した後、低周波成分を低域通過フィルタにて低域通過フィルタリングし、高周波成分を高域通過フィルタにて高域通過フィルタリングする。
そして、画像処理装置1は、これらフィルタリングした値を合成して、その合成係数(abcdef)を演算する。
演算された合成係数は元の画像データf(i,j)となり、これによって原画像データが復元される。
以上は、iを一定にしてj方向(即ち横方向)に合成したが、これを全てのiについて行えば、画像データの任意形状領域が横方向に合成される。
同様に、jを一定にしてi方向(即ち縦方向)に合成すると、画像データの任意形状領域が縦方向に合成される。
この処理を図6(c)で示した周波数空間に適用すると、まず、f20、f21、f22、f23が合成されて、図6(b)の周波数空間が得られる。
更に、この処理を図6(b)の周波数空間に適用すると、f10、f11、f12、f13が合成されて図6(a)の画像データf00が復元される。
次に、周波数空間において透かしデータを埋め込むのに好ましい分割レベルについて説明する。
図9は、画像データf00を分割レベル3まで分割したところを示した図である。ただし、図の煩雑化を避けるため、画像(変換係数)は省略してある。
図に示したようにオクターブ分割を3回繰り返すとf30〜f33、f21〜f23、f11〜f13に対応する周波数空間が得られる。
透かしデータは、何れの周波数空間の変換係数に埋め込んでもよいが、高周波側では透かしデータの位置ずれが生じると透かしデータの読み出しが困難になるため、最も高周波側にあるf11〜f13を避けて透かしデータを埋め込むのが望ましい。
一方、低周波側の周波数空間に透かしデータを埋め込むと、透かしデータが目立ちやすいため、例えば、高周波側と低周波側の間にあるf21〜f23(図中太線で示してある)に透かしデータを埋め込むと、画像の視認性を損なわず、また、安定して透かしデータを読み出すことができる。
そのため、透かしデータを埋め込む周波数空間としては、中程の分割レベルか、それよりも若干低周波側の分割レベルが望ましい。
このように、画像処理装置1は、所定の周波数帯域に透かしデータを埋め込むように構成することができ、ここでは、所定の周波数帯域として、最も周波数の高い周波数帯域を除いた周波数帯域に透かしデータを埋め込んでいる。
また、例えばの分割レベル2の周波数帯域に透かしデータを埋め込むといったように、指定された周波数帯域に透かしデータを埋め込むように構成したり、あるいは、分割レベル4未満の周波数帯域に透かしデータを埋め込むといったように、指定された周波数帯域より低い周波数帯域に透かしデータを埋め込むように構成することもできる。
次に、図10のフローチャートを用いて画像処理装置1が行う透かし埋込処理について説明する。
以下の処理は、CPU2(図1)が透かし埋込プログラムに従って行うものである。
まず、画像処理装置1は、必要な分割レベルまで分割した画像データと形状マップ、及び透かしデータをデータ格納部12(図1)に記憶して用意しておく。
透かしデータは、例えば、(101001)とか、(0110011010)など、01の列によるデジタルデータとする。ここでは、透かしデータをam(m=0、1、2、・・・)で表すことにする。例えば、透かしデータが(101)であった場合、a0=1、a1=0、a2=1となる。
次に、画像処理装置1は、透かしを埋め込む周波数帯域を特定するため、分割レベルnの初期値を設定する(ステップ5)。
画像処理装置1は、初期値で設定されたnの周波数帯域に透かしデータを埋め込み、透かしデータが入りきらない場合には、低周波側の周波数帯域に順次透かしデータを埋め込んでいく。
例えば、図9に示したように分割レベル2の周波数帯域に透かしデータを埋め込む場合はn=2とすると、分割レベル2の周波数帯域に透かしデータが入りきらない場合、画像処理装置1は、分割レベル3の周波数空間にも透かしデータを埋め込む。
nの初期値は、例えば、透かしデータを埋め込むユーザが画像処理装置1に設定したり、あるいは、デフォルト値として予め設定しておくなどする。
次に、画像処理装置1は、tαを3に設定し、iとjを0に設定し、mを0に設定し、kを1に設定する(ステップ10)。
ここで、tαは、周波数空間内の位置(画素)が任意形状領域の内側にあるか、あるいは境界にあるかを判断するためのパラメータである。透かしデータは、読み出しエラーを避けるべく、なるべく境界を避けて埋め込むのが望ましいため、tαはその判断に用いられる。判断方法は後述する。
i、jは、分割形状マップや周波数空間などでの座標を表すパラメータである。
mは、透かしデータamを表すパラメータである。
kは、周波数帯域において3つある周波数空間を識別するためのパラメータである。
次に、画像処理装置1は、全ての透かしデータを埋め込んだか否かを判断する(ステップ15)。
全ての透かしデータを埋め込んだ場合(ステップ15;Y)、画像処理装置1は、透かし埋込処理を終了する。
一方、まだ埋め込んでいない透かしデータが存在する場合(ステップ15;N)、画像処理装置1は、分割形状マップでαn1(i,j)+αn2(i,j)+αn3(i,j)=tαか否かを判断する(ステップ20)。ただし、図では(i,j)を省略してある。
例えば、ここで、tαを初期値の3とし、i、j=0とすると、画像処理装置1は、αn1(0,0)+αn2(0,0)+αn3(0,0)=3であるか否かを判断している。
これは、分割形状マップαn1の座標値(0,0)の値と、分割形状マップαn2の座標値(0,0)の値と、分割形状マップαn3の座標値(0,0)の値を加算した値が3であるか否かを判断していることになる。
座標値(0,0)の位置が任意形状領域内にある場合、それぞれの分割形状マップでの値は1であるため加算値は3となり、任意形状領域外にある場合は、それぞれの分割形状マップでの値が0となるため加算値は0となる。
また、座標の位置が任意形状領域の境界にある場合、ある分割形状マップでは0となり他の分割形状マップでは1となることが考えられるため、加算値は1又は2などとなる。
即ち、画像処理装置1は、ステップ20で、加算値が3である場合、座標(i,j)の位置が任意形状領域内であり、加算値が0の場合は、任意形状領域外であり、加算値が1又は2の場合には、任意形状領域の境界にあると判断する。
そして、画像処理装置1は、任意形状の境界よりも内側を優先して透かしデータを埋め込んでいく。
このように、画像処理装置1は、分割領域データ(分割形状マップ)を用いて、分割画像データ(周波数空間での変換係数)において透かしデータを埋め込む領域の境界を特定する境界特定手段を備え、当該特定した境界よりも内側を優先して透かしデータを埋め込んでいく。
形状マップでαn1(i,j)+αn2(i,j)+αn3(i,j)=tαの場合(ステップ20;Y)、画像処理装置1は、αnk(i,j)が1であるか否かを判断する(ステップ60)。
αnk(i,j)が1でない場合(ステップ60;N)、画像処理装置1は、kをkmod3+1とし(ステップ90)、ステップ60に戻って、αnk=1であるか否かを判断する(ステップ60)。
ここで、kmod3は、kを3で割ったときの余りを意味し、画像処理装置1は、ステップ60とステップ90で、αn1=1でないなら、αn2=1であるか判断し、αn2=1でないなら、更にαn3=1であるか判断するという動作を行う。
例えば、初期値のtα=3の場合、αn1=αn2=αn3=1であるので、ステップ60は、αn1=1となる。
αnk(i,j)が1であった場合(ステップ60;Y)、画像処理装置1は、am=1か否かを判断する(ステップ65)。
amが1でなかった場合(ステップ65;N)、即ち、amが0であった場合、画像処理装置1は、fnk(i,j)の値を0とする(ステップ70)。
一方、amが1であった場合(ステップ65;Y)、画像処理装置1は、fnk(i,j)の値をsgn(fnk(i,j))・Tとする(ステップ75)。
ここで、sgn(fnk(i,j))は、fnk(i,j)の変換係数の符号であり、正又は負である。
そして、Tは、透かしデータの振幅である。Tは、ノイズに埋もれてしまう場合よりも大きく、また、画像で目立たない程度に小さい適度な大きさとする。これは、実験などにより決められる。
このように、画像処理装置1は、透かしデータが0の場合は、対応するfnk(i,j)を0とし、透かしデータが1の場合には、対応するfnk(i,j)を1とすることにより透かしデータを周波数空間に埋め込む。
このように、画像処理装置1は、画像データの領域データ(形状マップ)で規定される領域(任意形状領域)に対して分割された分割画像データ(周波数空間の変換係数)を取得し、当該分割画像データに透かしデータを埋め込んでおり、分割領域データ(分割形状マップ)で規定される領域に対応する分割画像データ(周波数空間の変換係数)に透かしデータを埋め込む埋込手段を備えている。
画像処理装置1は、このようにして透かしデータamを埋め込んだ後、mを1だけインクリメント(増加)し(ステップ80)、更に、kを1だけインクリメントし(ステップ85)、ステップ25に移行する。
ステップ20においてαn1(i,j)+αn2(i,j)+αn3(i,j)=tαでなかった場合(ステップ20;N)、又はステップ85を終えた後、画像処理装置1は、i、jの値を更新する(ステップ25)。
この更新は、例えば、jを一定としてiを更新していき、iが上限に達すると、jを1だけインクリメントして、更にiを更新していくというように、α(i,j)を網羅するように所定量ずつ更新する。
次に、画像処理装置1は、i、jがα(i,j)の配列内にあるか否か、即ち、座標(i,j)が分割形状マップ内にあるか否かを判断する(ステップ30)。
i、jが配列内にある場合(ステップ30;Y)、画像処理装置1は、ステップ15に戻り、更に、同じtαで透かしデータの埋込を続行する。
一方、i、jが配列内にない場合(ステップ30;N)、画像処理装置1は、tαを1だけデクリメント(減少)する(ステップ35)。
更に、画像処理装置1は、デクリメント後のtαが正であるか判断し(ステップ40)、正である場合には(ステップ40;Y)、i,jを0に初期化してステップ15に戻り、透かしデータの埋込処理を行う。
tαを1デクリメントして(ただし、tα≠0)透かしデータの埋込を行うことは、任意形状領域の境界に透かしデータを埋め込むことを意味する。
このように、画像処理装置1は、まず、透かしデータが安定して読み出せる任意形状領域の内側に透かしデータを埋め込んだ後、それでも足りない場合には、任意形状領域の境界に透かしデータを埋め込む。
一方、tαが正でない場合(ステップ40;N)、即ち、tα=0の場合、任意形状領域の内側、及び境界の全てに透かしデータを埋め込んでしまったため、画像処理装置1は、nを1インクリメントして(ステップ45)、tαを初期値の3に設定し(ステップ50)、i、jを0に初期化して(ステップ55)、ステップ15に戻る。
即ち、画像処理装置1は、分割レベルnの周波数帯域に透かしを埋め終わると、分割レベルn+1の低周波側の周波数帯域に移行して、透かしデータの埋込処理を行う。
以上のようにして、画像処理装置1は、画像データの任意形状領域の周波数空間に透かしデータを埋め込むことができる。
そして、画像処理装置1は、透かしデータを埋め込んだ変換係数を逆ウェーブレット変換することにより、周波数空間に透かしデータが埋め込まれた画像データを生成することができる。
このように、画像処理装置1は、透かしデータが埋め込まれた分割画像データ(周波数空間での変換係数)を合成して透かし入り画像データを生成する透かし入り画像データ生成手段を備えている。
なお、上の例では、画像処理装置1は、画像データの任意形状領域をウェーブレット変換して、当該領域に透かしデータを埋め込んだが、任意形状領域を一部に含む画像データ全体をウェーブレット変換するように構成することもできる。
この場合、画像処理装置1は、分割形状マップを用いることにより周波数空間での任意形状領域を認識して、当該領域に透かしデータを埋め込む。
この場合、画像処理装置1は、画像データの全体に対して分割された分割画像データ(周波数空間における変換係数)を取得し、当該分割画像データにおいて、分割領域データ(分割形状マップ)で規定される領域に透かしデータを埋め込む。
この例では、任意形状領域の背景となっている任意形状以外の部分の画像データもウェーブレット変換、及び逆ウェーブレット変換されて復元される。
一方、任意形状領域をウェーブレット変換する例では、画像データの一部を任意形状領域として透かしデータを埋め込む場合、背景となる画像データは省略されるため、透かしデータを埋め込んだ任意形状画像を、元の画像の任意形状領域の位置に貼り付けるように構成することができる。
次に、図11のフローチャートを用いて画像処理装置1が行う透かし読出処理について説明する。
以下の処理は、CPU2(図1)が透かし埋込プログラムに従って行うものである。
まず、画像処理装置1は、透かしデータが埋め込まれた画像データを取得し、これをオクターブ分割した各周波数空間での変換係数、分割形状マップを用意しておく。
このように、画像処理装置1は、透かしデータが埋め込まれた透かし入り画像データを取得する透かし入り画像データ取得手段と、当該透かし入り画像データをウェーブレット変換によって周波数帯域に分割して分割透かし入り画像データ(周波数空間の変換係数)を取得する分割透かし入り画像データ取得手段と、当該透かし入り画像データで透かしデータが埋め込まれた領域を規定する領域データ(形状マップ)を周波数帯域に分割した分割領域データ(分割形状マップ)を取得する分割領域データ取得手段を備えている。
また、分割形状マップは、形状マップを分割して生成するように構成してもよく、この場合、画像処理装置1は、領域データ(形状マップ)を周波数帯域に分割することにより分割領域データ(分割形状マップ)を取得する。
以下、図10と同じ処理には同じステップ番号を付し、説明を簡略化又は省略することにする。
まず、画像処理装置1は、nを初期値に設定する(ステップ5)。nの値は、透かしデータの埋込で用いた値を入手して画像処理装置1に設定しておく。
そして、画像処理装置1は、tα、i、j、m、kの値を初期値に設定する(ステップ10)。
また、図示しないが、埋め込んだ透かしデータのビット数と、透かしデータの振幅Tも入手して画像処理装置1に設定してあるものとする。
次に、画像処理装置1は、全ての透かしデータを読み出し済みか否かを判断する(ステップ16)。
画像処理装置1は、この判断を、読み出した透かしデータのビット数が、先に設定されたビット数に達したか否かにより行う。
全ての透かしデータを読み出した場合(ステップ16;Y)、画像処理装置1は、透かし読出処理を終了する。
まだ、読み出していない透かしデータがある場合(ステップ16;N)、画像処理装置1は、形状マップでαn1(i,j)+αn2(i,j)+αn3(i,j)=tαか否かを判断する(ステップ20)。
このように、画像処理装置1は、分割領域データ(分割形状マップ)を用いて、分割透かし入り画像データ(周波数空間での変換係数)において透かしデータが埋め込まれた領域の境界を特定する境界特定手段を備え、透かしデータの埋込処理と同様に、当該特定した境界の内側から透かしデータを読み出す。
ステップ20で加算値がtαである場合、|fn(i,j)|、即ち、fn(i,j)の絶対値がT/2以上であるか否かを判断する(ステップ100)。
そして、T/2より小さい場合(ステップ100;N)、画像処理装置1は、am=0とし(ステップ105)、T/2以上である場合(ステップ100;Y)、画像処理装置1は、am=1とする(ステップ120)。
ここで、ビットの01を判断するための閾値をT/2としたが、これは、一例であって、実験などにより、より適当な値とすることができる。
このように、画像処理装置1は、透かし入り画像データの領域データ(形状マップ)で規定される領域に対して分割された分割透かし入り画像データ(周波数空間での変換係数)を取得し、分割透かし入り画像データから透かしデータを読み出しており、分割領域データ(分割形状マップ)で規定される領域に対応する分割透かし入り画像データ(周波数空間の変換係数)から透かしデータを読み出す読出手段を備えている。
画像処理装置1は、このようにして、透かしデータamを読み出した後、mを1だけインクリメントし(ステップ110)、更に、kを1だけインクリメントして(ステップ115)、ステップ25に移行する。
後のステップは、図10と同様である。
以上によって、画像データに埋め込まれた透かしデータam(m=0、1、・・・)を読み出すことができる。
なお、上の例では、画像処理装置1は、透かし入り画像データの任意形状領域をウェーブレット変換して、当該領域から透かしデータを読み出したが、透かしデータが埋め込まれた任意形状領域を一部に含む画像データ全体をウェーブレット変換するように構成することもできる。
この場合、画像処理装置1は、分割形状マップを用いることにより周波数空間での任意形状領域を認識して、当該領域から透かしデータを読み出す。
この場合、画像処理装置1は、透かしデータが埋め込まれた任意形状領域を一部に含む透かし入り画像データの全体に対して分割された分割透かし入り画像データを取得し、当該分割透かし入り画像データにおいて、分割領域データ(分割形状マップ)で規定される領域から透かしデータを読み出す。
以上に説明した本実施の形態により、次のような効果を得ることができる。
(1)画像の任意形状領域にウェーブレット変換によって透かしデータを埋め込むことができる。
(2)画像の任意形状領域にウェーブレット変換によって埋め込まれた透かしデータを読み出すことができる。
(3)形状マップを用いることにより、画像データの周波数空間において透かしデータを埋め込む任意形状領域を規定することができる。
(4)形状マップを用いることにより、画像データの周波数空間において透かしデータが埋め込まれた任意形状領域を規定することができる。
(5)分割形状マップを確認することにより、画像データの周波数空間において任意形状領域の内側か境界かを判断することができ、任意形状の内側を優先して透かしデータを埋め込むことができる。
(6)透かしデータを埋め込む周波数帯域を設定することができ、読み取りエラーの発生しやすい高域側の周波数帯域を用いずに透かしデータを埋め込むことができる。
(7)埋め込み対象となる画像の視認性を損なわずに、透かしデータの埋め込み及び抽出を行うことが可能になる。
(8)画像を矩形ブロック形状に分割する必要がないため、画像本来の意匠性を保つと共に、周波数空間に透かしデータを埋め込むため、質感を保つことができ、画像のデザイン性を損なわずに済む。
(9)任意形状の画像に透かしデータを埋め込むと共に、高周波帯域を避けて透かしデータを埋め込むなどし、高精度の透かしデータ検出を行うことができる。
以上に説明した本実施の形態により、次の構成を提供することができる。
透かしデータを埋め込む対象となる画像データをウェーブレット変換によって周波数帯域に分割した分割画像データを取得する分割画像データ取得手段と、前記画像データに透かしデータを埋め込む領域を規定する領域データを周波数帯域に分割した分割領域データを取得する分割領域データ取得手段と、前記取得した分割領域データで規定される領域に対応する前記分割画像データに透かしデータを埋め込む埋込手段と、を具備したことを特徴とする画像処理装置(第1の構成)。
前記分割画像データ取得手段は、前記画像データの前記領域データで規定される領域に対して分割された前記分割画像データを取得し、前記埋込手段は、前記取得した分割画像データに透かしデータを埋め込むことを特徴とする第1の構成の画像処理装置(第2の構成)。
前記分割画像データ取得手段は、前記画像データの全体に対して分割された分割画像データを取得し、前記埋込手段は、前記分割画像データにおいて、前記取得した分割領域データで規定される領域に透かしデータを埋め込むことを特徴とする第1の構成の画像処理装置(第3の構成)。
前記取得した分割領域データを用いて、前記分割画像データにおいて透かしデータを埋め込む領域の境界を特定する境界特定手段を具備し、
前記埋込手段は、前記特定した境界よりも内側を優先して透かしデータを埋め込むことを特徴とする第1の構成、第2の構成、又は第3の構成の画像処理装置(第4の構成)。
前記分割領域データ取得手段は、前記領域データを周波数帯域に分割することにより前記分割領域データを取得することを特徴とする第1の構成から第4の構成までのうちの何れか1の構成の画像処理装置(第5の構成)。
前記埋込手段は、所定の周波数帯域に前記透かしデータを埋め込むことを特徴とする第1の構成から第5の構成までのうちの何れか1の構成の画像処理装置(第6の構成)。
前記埋込手段によって透かしデータが埋め込まれた分割画像データを合成して透かし入り画像データを生成する透かし入り画像データ生成手段を具備したことを特徴とする第1の構成から第6の構成までのうちの何れか1の構成の画像処理装置(第7の構成)。
透かしデータが埋め込まれた透かし入り画像データを取得する透かし入り画像データ取得手段と、前記取得した透かし入り画像データをウェーブレット変換によって周波数帯域に分割して分割透かし入り画像データを取得する分割透かし入り画像データ取得手段と、前記透かし入り画像データで透かしデータが埋め込まれた領域を規定する領域データを周波数帯域に分割した分割領域データを取得する分割領域データ取得手段と、前記取得した分割領域データで規定される領域に対応する前記分割透かし入り画像データから透かしデータを読み出す読出手段と、を具備したことを特徴とする画像処理装置(第8の構成)。
前記分割透かし入り画像データ取得手段は、前記取得した透かし入り画像データの前記領域データで規定される領域に対して分割された分割透かし入り画像データを取得し、
前記読出手段は、前記取得した分割透かし入り画像データから透かしデータを読み出すことを特徴とする第8の構成の画像処理装置(第9の構成)。
前記分割透かし入り画像データ取得手段は、前記透かし入り画像データの全体に対して分割された分割透かし入り画像データを取得し、前記読出手段は、前記分割透かし入り画像データにおいて、前記取得した分割領域データで規定される領域から透かしデータを読み出すことを特徴とする第8の構成の画像処理装置(第10の構成)。
前記取得した分割領域データを用いて、前記分割透かし入り画像データにおいて透かしデータが埋め込まれた領域の境界を特定する境界特定手段を具備し、前記読出手段は、前記特定した境界の内側から透かしデータを読み出すことを特徴とする第8の構成、第9の構成、又は第10の構成の画像処理装置(第11の構成)。
前記分割領域データ取得手段は、前記領域データを周波数帯域に分割することにより前記分割領域データを取得することを特徴とする第8の構成から第11の構成までのうちの何れか1の構成の画像処理装置(第12の構成)。
透かしデータを埋め込む対象となる画像データを周波数帯域に分割した分割画像データを取得する分割画像データ取得機能と、前記画像データで透かしデータを埋め込む領域を規定する領域データを周波数帯域に分割した分割領域データを取得する分割領域データ取得機能と、前記取得した分割領域データで規定される領域に対応する前記分割画像データに透かしデータを埋め込む埋込機能と、をコンピュータで実現する画像処理プログラム(第13の構成)。
透かしデータが埋め込まれた透かし入り画像データを取得する透かし入り画像データ取得機能と、前記取得した透かし入り画像データを周波数帯域に分割して分割透かし入り画像データを取得する分割透かし入り画像データ取得機能と、前記透かし入り画像データで透かしデータが埋め込まれた領域を規定する領域データを周波数帯域に分割した分割領域データを取得する分割領域データ取得機能と、前記取得した分割領域データで規定される領域に対応する前記分割透かし入り画像データから透かしデータを読み出す読出機能と、をコンピュータで実現する画像処理プログラム(第14の構成)。
[透視変換を受けた撮影画像から透かしデータ読み出す方法]
一般のユーザがデジタル式カメラや携帯電話のカメラなどで透かしデータが埋め込まれた画像を撮影する状況を想定すると、固定した撮影条件ではなく、傾き、拡大縮小、回転などの透視変換を受けた画像が撮影されると考えられる。
この場合、撮影された画像に透かしデータが埋め込まれた任意形状画像があるか否かを判定し、あるならその領域を特定して、当該特定した領域から透かしデータを読み出す必要がある。
そこで、以下では、撮影された画像で透かしデータが埋め込まれた任意形状画像の場所を特定し、この領域の透視変換を補正して透かしデータを読み出す方法について説明する。
まず、図12を用いて、透かしデータの埋め込みから透かしデータの読み出しまでの全体的な作業工程について説明する。
図12(a)は、透かしデータの埋め込み工程を説明するための図である。
透かしデータの埋め込みでは、図に示したように、画像データと透かしデータを用意し、先に説明したウェーブレット変換による方法を用いて画像データに透かしデータを埋め込む。
その後、透かしデータが埋め込まれた画像データを印刷し、透かしデータが埋め込まれた画像が印刷媒体に記録される。
図12(b)は、透かしデータの読み出し工程を説明するための図である。
透かしデータの読み出しでは、印刷媒体に記録された画像をカメラで撮影して、撮影画像データを生成する。
そして、撮影された撮影画像内に透かしデータの埋め込まれた画像が存在するか否かを、後述するテンプレート画像データを用いて判定する。
この判定では、撮影された画像の平行移動、縮尺(スケール)、回転角度、傾きなどを計算することができ、これを用いて撮影画像データを補正し、補正後の撮影画像データから透かしデータを読み出す。
以下では、図12(b)の工程で行う、撮影画像データから透かしデータを読み出す場合について説明する。
図13は、テンプレート画像データを説明するための図である。
テンプレート画像データは、判定の基準となる画像を様々な角度(傾き)から撮影することにより作成される。
判定の基準となる画像は、透かしデータを埋め込む対象となる画像であって、透かしデータを埋め込む前、あるいは埋め込んだ後の何れのものでもよい。
これは、ユーザが透かしデータを埋め込んだ画像をカメラで撮影する場合、いろんな角度で撮影することが考えられるため、これに対応する画像データを用意しておくものである。
ここで、判定の基準となる画像は、基準画像として機能しており、各テンプレート画像データは、基準画像を異なる傾きから見た複数の画像(テンプレート画像)に関する比較画像データとして機能している。
なお、ユーザが撮影した撮影画像は、判断対象である対象画像として機能し、撮影画像データは、対象画像データとして機能している。
本実施の形態では、基準となる画像を各種の傾きから撮影してテンプレート画像データを生成するが、基準となる画像の画像データを様々な角度から見た場合の画像データを画像処理によって生成してもよい。
図13は、カメラ81で画像80を様々な角度から撮影してテンプレート画像データを生成するところを示している。
画像80は、(図では矩形に描いているが)透かしデータを埋め込むための任意形状画像であり、図6(a)のf00に相当するものである。
まず、画像80を台などに設置し、画像80の中心を原点Oとし、画像80と同一平面状に直交するxy軸を設定し、更に、xy軸に垂直になるようにz軸を設定する。
そして、カメラ81の光軸を原点Oに向けて、カメラ81を位置Vに設置する。位置Vは、線分OVの長さを一定とし、原点Oを中心として球面状を移動することができるようになっている。なお、線分OVはカメラ81の光軸を成している。
線分OVをzx平面に射影した線分とz軸の成す角度をα、OVをxy平面に射影した線分とz軸の成す角度をβとする。
線分OVの長さ(原点Oからカメラ81までの距離)を一定とし、α=nΔα(n=0、1、2、・・・)、β=mΔβ(m0、1、2、・・・)として、Δα、Δβのステップ幅で、カメラ81を球面上(より詳細には、z>0となる上半球上)で移動し、画像80を撮影していく。この際、カメラ81の光軸OVの周りの回転角度φは固定しておく。
Δα、Δβは、どの程度が適当であるかは、実験などによって決定されるが、例えば、3度〜5度程度とする。
このようにして、画像80を様々な角度から撮影した複数のテンプレート画像データが生成される。
なお、カメラ81の光軸OVの周りの回転角度φは固定しておいたが、回転角度φが変化しても、後述のフーリエ変換を用いた方法によりφの補正ができるので、必ずしも固定しておく必要はない。
なお、カメラ81の傾きを表す角度としてα、βを用いたが、球面座標系など、他の座標系を採用して表してもよい。
図14は、撮影画像に画像データによる画像が存在するか否かを判定する方法を説明するための図である。
まず、基準となる画像データによる画像を複数の角度から撮影したテンプレート画像データを用意し、更に、ユーザが画像を撮影した撮影画像データを用意する。
そして、画像処理装置1は、次のようにして、撮影画像に画像80(画像データによる画像)が存在するか否かを判定する。
画像処理装置1は、まず、テンプレート画像データと撮影画像データの相関度(相関係数)を各テンプレート画像データに渡って計算していく。テンプレート画像データと撮影画像データの相関が高いほど(同じものであるほど)相関度は高くなる。
そして、各テンプレート画像データとの相関度のうち、所定の閾値(例えば90%)以上のものが存在する場合、画像処理装置1は、撮影画像に画像80が存在する、即ち、撮影画像データが画像80を撮影したものであると判断する。
より詳細に説明すると次のようになる。
ユーザがある傾きから画像80を撮影すると、これに近い傾きから撮影したテンプレート画像データとの相関度が高くなる。
一方、テンプレート画像データは、画像80の上面の半球を網羅するように撮影されているため、ユーザが撮影した傾きと同じか、これに近い傾きから撮影されたテンプレート画像データが存在する。
そのため、撮影画像データが画像80を撮影したものであるならば、ユーザが撮影した傾き付近のテンプレート画像データとの相関度が高くなるため、これによって、撮影画像データが画像80を撮影したものであると判断することができる。
ところで、テンプレート画像と撮影画像データでは、平行移動量、縮尺、及び回転角度φが異なるが、これらは、後述のフーリエ変換を用いた方法により計算(推定)できるため、これらを用いて、ユーザのカメラとカメラ81の位置や回転角度が同じになるように補正してから相関度を計算する。
このように、ユーザが撮影した画像を、ユーザが撮影した際のカメラの位置がカメラ81の位置とした場合の画像に補正するため、ユーザが撮影した画像に画像80が存在する場合、ユーザの撮影による透視変換に関わらず、その相関度が高くなる。
このため、相関度の閾値として、例えば、90%などの高い固定値を用いることができる。
また、最も相関度が高いテンプレート画像データにより、撮影画像データの傾き(α、β)がわかるため、画像処理装置1は、撮影画像データの傾きと、フーリエ変換を用いて計算される平行移動、縮尺、回転角度などを用いて撮影画像データを、正面の所定距離から回転角度0で撮影した撮影画像データに補正し、これらから透かしデータを読み出す。
次に、撮影画像データとテンプレート画像データの比較について説明する。
画像処理装置1は、以下の比較を各テンプレート画像データについて行い、テンプレート画像データに対する撮影画像データの平行移動量、回転角度、及び縮尺について計算する。
換言すると、撮影画像中にテンプレート画像が平行移動、回転、スケーリング(拡大・縮小)を受けて存在する場合に、これらのパラメータを計算する方法について説明する。
なお、テンプレート画像をt(x、y)とした場合、これを(Δx、Δy)だけ平行移動した画像は、t(x−Δx、y−Δy)で表され、更に、これを回転角度φだけ回転した画像はt(xcosφ+ysinφ−Δx、−xsinφ+ycosφ−Δy)で表される。
これに更に縮尺σだけ拡大縮小した画像は、t(σ(xcosφ+ysinφ)−Δx、σ(−xsinφ+ycosφ)−Δy)で表される。
(i)平行移動量の計算
テンプレート画像が平行移動を受けた画像が撮影画像中に存在する場合に、その平行移動量(Δx、Δy)を計算する方法について説明する。
撮影画像をs(x、y)で表すと、撮影画像は次の式(1)で表される。
s(x、y)=t(x−Δx、y−Δy)・・・(1)
次に、s(x、y)、t(x、y)のフーリエ変換をS(u、v)、T(u、v)とおくと、次の式(2)のようになる。ここで、Fはフーリエ変換を表している。
S(u、v)=F(s(x、y))、T(u、v)=F(t(x、y))・・・(2)
S(u、v)は、T(u、v)を用いて次の式(3)のように表される。
S(u、v)=T(u、v)exp(−j2π(uΔx+vΔy))・・・(3)
このように、撮影画像Tが平行移動を受けていると、フーリエ変換では、平行移動量が位相に現れる。
そこで、S(u、v)とT(u、v)の位相相関のフーリエ変換をC(u、v)で表すと、次の式(4)のようになる。
C(u、v)=S(u、v)/|S(u、v)|・T*(u、v)/|T(u、v)|・・・(4)
ここで、T*(u、v)は、T(u、v)の複素共役を表す。
式(4)に式(3)を代入すると、次の式(5)が得られ、位相だけ取り出すことができる。
C(u、v)=exp(−j2π(uΔx+vΔy))・・・(5)
式(5)を逆フーリエ変換すると次の式(6)が得られる。
c(x、y)=F-1(C(u、v))=δ(x−Δx、y−Δy)・・・(6)
ここで、F-1は、逆フーリエ変換を表している。
式(6)は、デルタ関数となっており、c(x、y)のピークを捕らえれば、平行移動量Δx、Δyを得ることができる。
例えば、c(x、y)が(x0、y0)でピークを示せば、Δx=x0、Δy=y0となる。
図15は、以上の計算を画像処理装置1(図1)が行う場合の処理手順を説明するためのフローチャートである。
画像処理装置1は、画像補正プログラムに従ってCPU2が行うものである。
撮影画像データは、データ格納部12に記憶されているものとする。
CPU2は、データ格納部12から撮影画像データを読み出してRAM7に記憶する(ステップ205)。
次に、CPU2は、RAM7に記憶した撮影画像データに対して式(2)に該当するフーリエ変換を行って、S(u、v)を算出し、RAM7に記憶する(ステップ210)。
次に、CPU2は、RAM7に記憶したS(u、v)を振幅(絶対値)|S(u、v)|で除算して、位相項を算出し、RAM7に記憶する(ステップ215)。
次に、CPU2は、データ格納部12からテンプレート画像データを読み出してRAM7に記憶する(ステップ220)。
次に、CPU2は、読み出したテンプレート画像データに対して式(2)に該当するフーリエ変換を行って、T(u、v)を算出し、RAM7に記憶する(ステップ225)。
次に、CPU2は、RAM7に記憶したT(u、v)の複素共役T*(u、v)を計算してRAM7に記憶し(ステップ230)、これを、RAM7に記憶したT(u、v)を振幅(絶対値)|T(u、v)|で除算して、位相項を算出し、RAM7に記憶する(ステップ235)。
CPU2は、このようにして、RAM7にS(u、v)の位相項と、T(u、v)の位相項を記憶した後、これらの積を計算して、式(5)に該当するC(u、v)を計算してRAM7に記憶し(ステップ240)、引き続いて、当該記憶したC(u、v)に対して式(6)に該当する逆フーリエ変換を施し、その結果生成されるc(x、y)をRAM7に記憶する(ステップ245)。
次に、CPU2は、RAM7に記憶したc(x、y)のピークを探索し(ステップ250)、これによって平行移動量Δx、Δyを求め、RAM7に記憶する(ステップ255)。
CPU2は、以上のΔx、Δyの計算を各テンプレート画像に対して行うが、ステップ205〜215の撮影画像データに関する位相項の計算は、1度だけ計算しておいてRAM7に記憶しておき、その後は、RAM7に記憶した位相項を読み出して使用するように構成することができる。
また、各テンプレート画像データに対してステップ220〜ステップ235の計算したデータを予め記憶しておけば、テンプレート画像データを用いる必要はない。
テンプレート画像データを記憶する方式では、テンプレート画像データが基準画像を異なる傾きから見た複数の画像に関する比較画像データに相当し、ステップ220〜ステップ235の計算したデータを予め記憶しておく方式では、計算後の値が当該比較画像データに相当する。
また、撮影画像データを判断対象である対象画像に関する対象画像データに相当すると考えることもできるし、あるいは、撮影画像データに対してステップ205〜215の計算を行ったデータを当該対象画像データに相当すると考えることもできる。
(ii)縮尺と回転角度の計算
撮影画像として、テンプレート画像が平行移動(Δx、Δy)、縮尺σ、回転角度φを受けたものと考えると、次の式(7)が成り立つ。
s(x、y)=t(σ(xcosφ+ysinφ)−Δx、σ(−xsinφ+ycosφ)−Δy)・・・(7)
すると、撮影画像のフーリエ変換S(u、v)は、図16の式(8)で与えられる。
式(8)によると、回転と拡大縮小の影響はS(u、v)の振幅|S(u、v)|にのみ現れていることがわかる。
ここで、回転角度を計算したいため、それに適すように、フーリエ変換による周波数空間を直交座標(u、v)から極座標(r、θ)に変換する。すると、u、vは、次の式(9)で表される。
u=rcosθ、v=rsinθ・・・(9)
このように、座標変換すると式(8)は、図16の式(10)のように書き直される。
更に、S(u、v)、T(u、v)の極座標表現をSp(r、θ)、Tp(r、θ)とおくと、式(10)は、図16の式(11)のように書き直される。極座標を採用したのは、式(11)のように、θ−φの項を出したかったからである。
式(11)の左辺にr/σの項が現れており、この項を和・差の形にしたいため、λ=logr・・・(12)とおき、rとしてλを用いる。これを対数極座標(λ、θ)と呼ぶことにし、S(u、v)、T(u、v)を対数極座標を用いて表現したものをSlp(λ、θ)、Tlp(λ、θ)とおく。
すると、式(11)は、図16に示した式(13)のようになる。ただし、κ=logσである。
従って、撮影画像のフーリエスペクトルは、テンプレート画像のスペクトルを(κ、φ)だけ平行移動したものを用いて表されている。これにより、先に平行移動量を求めたのと同様の手法を用いてκ、φを求めることができる。
|Slp(λ、θ)|、|Tlp(λ、θ)|のフーリエ変換をSlp^(ξ、η)、Tlp^(ξ、η)とおくと、式(13)は、図16の式(14)のようになる。
(κ、φ)を計算するため、Slp^(ξ、η)、Tlp^(ξ、η)を振幅で除算して位相相関をC^(ξ、η)を求めると図16の式(15)のようになる。
なお、式(15)でTlp*(ξ、η)は、Tlp^(ξ、η)の複素共役を表している。
式(15)を逆フーリエ変換すると、次の式(16)に示した、位相相関c^(λ、θ)に関するデルタ関数が得られる。
c^(λ、θ)=exp(−2κ)・δ(λ−κ、θ−φ)・・・(16)
従って、c^(λ、θ)に対してピークの探索を行い、ピークとなる(λp、θp)の値からκ、φが計算される。
これにより、縮尺σと回転角度φは、ピークとなる(λp、θp)を用いて次の式(17)で与えられる。
σ=exp(κ)=exp(λp)、φ=θp・・・(17)
図17は、以上の計算を画像処理装置1(図1)が行う場合の処理手順を説明するためのフローチャートである。
画像処理装置1は、画像補正プログラムに従ってCPU2が行うものである。
CPU2は、データ格納部12が撮影画像データを読み出してRAM7に記憶する(ステップ305)。
次に、CPU2は、RAM7に記憶した撮影画像データに対して式(8)に該当するフーリエ変換を行って、S(u、v)を算出し、RAM7に記憶する(ステップ310)。
次に、CPU2は、RAM7に記憶したS(u、v)を振幅(絶対値)|S(u、v)|で除算して、位相項を算出し、RAM7に記憶する(ステップ315)。
次に、CPU2は、直交座標(u、v)を対数極座標(λ、θ)に変換してSlp(λ、θ)を計算し、RAM7に記憶する(ステップ320)。
ここで、λ、θは、図16の式(18)で表される。
次に、CPU2は、RAM7に記憶したSlp(λ、θ)をフーリエ変換してS^(ξ、η)を計算してRAM7に記憶し(ステップ325)、これを振幅|S^(ξ、η)|で除算して、位相項を算出してRAM7に記憶する(ステップ330)。
CPU2は、このように撮影画像データの処理を行った後、テンプレート画像についても同様の処理を行う。
即ち、CPU2は、テンプレート画像を読み出してRAM7に記憶し(ステップ335)、これをフーリエ変換して(ステップ340)、振幅を算出する(ステップ345)。
更に、座標系を対数極座標に変換し(ステップ350)、これをフーリエ変換して(ステップ355)、振幅で除算し、位相項を算出してRAM7に記憶する(ステップ360)。
そして、CPU2は、テンプレート画像の位相項を複素共役とした後(ステップ365)、この位相項と、ステップ330で計算してRAM7に記憶しておいた撮影画像データの位相項との積を計算して式(15)のC^(ξ、η)を算出し、RAM7に記憶する(ステップ370)。
次に、CPU2は、RAM7に記憶したC^(ξ、η)を逆フーリエ変換して式(16)のデルタ関数を算出してRAM7に記憶する(ステップ375)。
そして、CPU2は、ピーク探索を行ってλp、θpを検出してRAM7に記憶し(ステップ380)、これを式(17)に代入して縮尺σと回転角度φを算出し、これをRAM7に記憶する(ステップ385)。
CPU2は、以上の縮尺Δ、回転角度φの計算を各テンプレート画像に対して行うが、ステップ305〜330の撮影画像データに関する位相項の計算は、1度だけ計算しておいてRAM7に記憶しておき、その後は、RAM7に記憶した位相項を読み出して使用するように構成することができる。
また、各テンプレート画像データに対してステップ335〜ステップ365の計算したデータを予め記憶しておけば、テンプレート画像データを用いる必要はない。
テンプレート画像データを記憶する方式では、テンプレート画像データが基準画像を異なる傾きから見た複数の画像に関する比較画像データに相当し、ステップ335〜ステップ365の計算したデータを予め記憶しておく方式では、計算後の値が当該比較画像データに相当する。
また、撮影画像データを判断対象である対象画像に関する対象画像データに相当すると考えることもできるし、あるいは、撮影画像データに対してステップ305〜330の計算を行ったデータを当該対象画像データに相当すると考えることもできる。
以上の(i)平行移動量の計算、及び(ii)縮尺と回転角度の計算、によって、テンプ
レート画像を基準とした、撮影画像データの平行移動量Δx、Δy、縮尺σ、及び回転角度φを計算することができる。
画像処理装置1は、これらパラメータ(Δx、Δy、σ、φ)を各テンプレート画像ごとに計算する。
次に、計算したパラメータを用いて撮影画像データの平行移動、縮尺、及び回転角度を補正する方法について説明する。
補正後の撮影画像をs’(x、y)で表すと、s’(x、y)は、図18に示した式(19)で表される。
即ち、撮影画像データを(−Δx、−Δy)だけ平行移動し、1/σ倍してテンプレート画像と同じ縮尺にし、更に、−φだけ回転してテンプレート画像と同じ回転角度にすることにより補正する。
これにより、テンプレート画像と撮影画像データの位置、縮尺、及び回転角度を揃えることができる。
画像処理装置1は、このような撮影画像データの補正を行った後、補正の基準となったテンプレート画像との相関度を次のようにして計算する。
式(19)よりs’(x、y)のフーリエ変換S’(u、v)は、図18の式(20)のようになる。
また、補正後の撮影画像s’(x、y)とテンプレート画像t(x、y)との相関をe(x、y)とすると、ずれが補正されたときの相関e(0、0)は、次の式(21)で表される。
e(0、0)=F-1(S’(u、v)T*(u、v))・・・(21)
ここで、F-1は、逆フーリエ変換を表し、T*(u、v)は、T(u、v)の複素共役を表す。
画像処理装置1は、図18の式(22)のように、式(21)をテンプレート画像の存在する領域ΩTの振幅で除算して正規化した値で相関度を定義する。
この相関度が高いほど撮影画像にテンプレート画像と同じ画像が存在する可能性が高くなる。
そのため、画像処理装置1は、各テンプレート画像に対して相関度を計算し、その値が所定の閾値α(例えば、90%)以上であるものが存在すれば、撮影画像にテンプレート画像と同じ画像が存在する、即ち、撮影画像に画像80が写っていると判断する。
そして、画像処理装置1は、所定の閾値以上の相関度となったテンプレート画像データのパラメータ(Δx、Δy、σ、φ)を用いて撮影画像データを補正する。
また、この補正に用いたテンプレート画像データの傾き(α、β)がわかっているため、画像処理装置1は、更に、傾きを補正し、当該補正後の撮影画像データから透かしデータを読み出す。
次に、図19のフローチャートを用いて、画像処理装置1が以上のようにしてテンプレート画像データを用いて撮影画像データを補正する手順について説明する。
以下の処理は、画像処理装置1(図1)のCPU2が画像補正プログラムに従って行うものである。
まず、CPU2は、RAM7においてiを0に初期化する(ステップ405)。
ここで、iは、i番目のテンプレート画像データを計数するカウンタであり、テンプレート画像データはN個(即ち、テンプレート画像はN枚)存在するものとする。
次に、CPU2は、i番目のテンプレート画像データをデータ格納部12からRAM7に読み出し、当該テンプレート画像データを用いて撮影画像データ(RAM7に読み込んであるものとする)の平行移動(Δx、Δy)、縮尺σ、及び回転角度φを補正し、補正後の撮影画像データをRAM7に記憶する(ステップ410)。
次に、CPU2は、RAM7に記憶してた補正後の撮影画像データと当該補正に用いたテンプレート画像データを用いて相関度を計算し、テンプレート画像データと対応づけてRAM7に記憶する(ステップ415)。
次に、CPU2は、iがN未満か否かを判断し(ステップ420)、iがN未満であった場合は(ステップ420;Y)、まだ使用していないテンプレート画像データがあるため、iを1だけインクリメントし(ステップ425)、ステップ410に戻って更に、補正と相関度の計算を続行する。
一方、iがN以上であった場合(ステップ420;N)、全てのテンプレート画像データについて相関度を計算したので、画像処理装置1は、RAM7に記憶した相関度のうち所定の閾値α(例えば、90%)以上のものがあるか否かを判断する(ステップ430)。
相関度が閾値α以上となるものがなかった場合(ステップ430;N)、CPU2は、撮影画像データは、画像データによる画像を撮影したものではないと判断し、処理を終了する。
一方、閾値α以上のものがあった場合(ステップ430;Y)、CPU2は、閾値α以上となったテンプレート画像データによる補正後の撮影画像データを出力して処理を終了する(ステップ435)。
補正に用いるテンプレート画像データは、相関度が閾値α以上のものであればよいが、好ましくは、最も相関度が最も高いものを用いるのが望ましい。
そして、ステップ435の補正は、テンプレート画像データを用いて、平行移動量(Δx、Δy)、縮尺σ、回転角度φを補正し、更に、当該補正に用いたテンプレート画像データの傾き(α、β)により、当該補正後の撮影画像データを(−α、−β)だけ傾かせて傾きも補正する。傾きの補正は、公知の技術により行うことができる。
このようにして、画像処理装置1は、撮影画像データを補正した後、補正後の撮影画像データから電子透かしを読み出す。
そこで、次に、透かしデータが埋め込まれた画像データの利用例について説明する。
図20(a)は、携帯電話103で透かしデータの埋め込まれたポスタ102を撮影し、携帯電話103をサービスサーバ104が開設するウェブサイトに接続させる情報処理システムの一例を示した図である。以下、図の括弧に示した番号に従って説明する。
(1)まず、画像処理装置1は、透かしデータとサービスサーバ104のウェブサイトのURL(Uniform Resource Locators)を対応づけて記憶しておく。
そして、画像処理装置1は、任意形状の画像データに透かしデータを埋め込み、透かし入り画像データを店舗101の端末に送信する。
店舗101は、端末で透かし入り画像データを受信し、これを用いて任意形状画像106を印刷する。そして、店舗101は、任意形状画像106をポスタ102に貼り付け、ポスタ102を完成させる。
(2)ユーザは、店舗101を訪れカメラ機能、及びネットワーク接続機能を有する携帯電話103でポスタ102を撮影する。
(3)携帯電話103には、画像補正プログラムと透かし読出プログラムがインストールしてあり、また、テンプレート画像データなど画像の補正に必要なデータ、nの初期値や形状マップなど、透かしデータの読出に必要なデータを記憶している。
携帯電話103は、テンプレート画像データを用いて撮影画像データを補正し、更に、形状マップを用いてポスタ102から任意形状画像106の領域を抽出し、これをウェーブレット変換して透かしデータを読み出す。
そして、携帯電話103は、読み出した透かしデータを画像処理装置1に送信する。
(4)画像処理装置1は、携帯電話103から透かしデータを受信し、これに対応づけられているURLを検索して携帯電話103に送信する。
(5)携帯電話103は、画像処理装置1からURLを受信し、これを用いてサービスサーバ104のウェブサイトに接続する。
なお、この例では、携帯電話103が撮影画像データの補正や透かしデータの読み出しを行ったが、当該補正と当該読み出しのうちの少なくとも一方をサーバで行うように構成することも可能である。
補正をサーバで行う場合、テンプレート画像データと補正プログラムはサーバに記憶しておき、携帯電話103は、撮影画像データをサーバに送信する。
サーバは、携帯電話103から送信されてきた撮影画像データを補正して補正後の撮影画像データを携帯電話103に送信する。そして、携帯電話103は、サーバから送信されてきた補正後の撮影画像データから透かしデータを読み出す。
あるいは、透かしデータの読み出しまでサーバで行い、読み出し結果をサーバから携帯電話103に送信するように構成してもよい。
このようにして、本情報処理システムでは、透かし入り画像データを用いてユーザを所定のウェブサイトに誘導することができる。
このシステムにより、例えば、食品会社が画像処理装置1の事業者にURLとポスタ102に印刷する画像を提供し、店舗101でのポスタ102の掲示を依頼する。
そして、食品会社は、携帯電話103を接続してきたユーザに対し、自社が運営するサービスサーバ104のウェブサイトにてユーザに自社製品の広告やキャンペーンなどを提供することができる。
次に、ウェーブレット変換の特性を利用したサービス提供例について説明する。
ウェーブレット変換では、画像データを周波数帯域に分割するが、合成する周波数帯域を選択することにより画像の解像度を調節することができる。
例えば、図9に示した変換係数では、主な信号成分は、最も低周波側のf30に含まれており、f30を印刷すると、解像度の低い画像が印刷される。
そして、f30に、f31、f32、f33を合成して印刷すると、解像度が向上する。
更に、f21、f22、f23を合成して印刷すると、より解像度が向上する。
このように、ウェーブレット変換では、低周波側の変換係数に高周波側の変換係数を合成していくごとに解像度が向上する。
そこで、図20(b)の画像処理装置1は、画像データに透かしデータを埋め込んだ後、これを逆ウェーブレット変換せずに、周波数帯域に分割された状態で画像データを保持する。
例えば、画像データは分割レベル3の周波数帯域に分割され、透かしデータが分割レベル2の周波数帯域に埋め込まれているとする。
そして、店舗101aが、低解像度の画像でよい旨を画像処理装置1に通知する。すると、画像処理装置1は、分割レベル3、2の変換係数を店舗101aの端末に送信する。
店舗101aの端末は、画像処理装置1から変換係数を受信して逆ウェーブレット変換し、低解像度の透かし入り画像データを復元する。そして、低解像度のポスタ102aを印刷する。
また、店舗101bは高解像度の画像を必要とし、その旨を画像処理装置1に通知する。すると、画像処理装置1は、分割レベル3、2、1の変換係数を店舗101bの端末に送信する。
店舗101bの端末は、画像処理装置1から変換係数を受信して逆ウェーブレット変換し、高解像度の透かし入り画像データを復元する。そして、高解像度のポスタ102bを印刷する。
この例では、逆ウェーブレット変換を店舗の端末で行ったが、画像処理装置1が逆ウェーブレット変換によって必要な解像度の透かし入り画像データを生成し、店舗101aや店舗101bに送信するように構成してもよい。
このように、必要とされる解像度に応じてデータを送信するように構成すると、データ通信量や通信時間を節約することができ、コストの低減を図ることができる。
ただし、透かし入り画像が印刷されるように、画像処理装置1は、透かしデータが埋め込まれた周波数帯域以上のデータを送信する。
また、透かし入り画像は、オフセット印刷などで印刷できるほか、各種プリンタ(サーマルプリンタ、インクジェットプリンタ、電子写真方式)から出力することもできる。
更に、透かし入り画像をスキャナで読み込んで、これをネットワーク経由で送信したり、印刷したりできるほか、透かし入り画像を複写機で複写して複製することも可能である。
また、デジタルサイネージによって透かし入り画像を表示することも可能である。ここで、デジタルサイネージとは、デジタル通信を用いた広告媒体によって、広告を表示する技術であって、例えば、平面ディスプレイやプロジェクタなどで広告用の映像を表示したりし、従来の印刷ポスタなどに代わる広告技術として注目されている。
更に、印刷と印字の混在する媒体によって透かしデータをユーザに提供することも可能である。この場合、例えば、透かしデータを埋め込んだ店のロゴマークを印刷した用紙をレシート用紙として用意し、当該用紙上に清算内容などをサーマルプリンタで印字してレシートを出力するように構成することができる。このように、印刷された画像に電子透かしを埋め込むように構成するほか、電子透かしが埋め込まれた画像を印字によって形成するように構成することもできる。
以上の本実施の形態では、撮影画像データに写っている画像のどこに透かしデータを埋め込んだ任意形状の画像が印刷されているかを検知することができる。
そして、その平行移動量(Δx、Δy)が0になるように補正して任意形状画像を画像の中心に移動させると共に、縮尺σや回転角度φ、更には傾き(α、β)も補正するため、補正後の撮影画像データの中心に分割前の形状マップα00(図7(a))をあてると、形状マップ内の領域が、透かしデータが埋め込まれた画像データf00(図6(a))となる。
画像処理装置1や携帯電話103は、このようにして、補正後の撮影画像データから透かしデータが埋め込まれた任意形状画像を特定して、これから透かしデータを読み出すことができる。
なお、本実施の形態では、画像処理装置1や携帯電話103にテンプレート画像データを記憶しておいたが、これは、撮影画像の補正ができるものであればよく、テンプレート画像データのフーリエ変換と画像のスペクトル値をテンプレート画像データとして記憶しておいてもよい。
この場合には、フーリエ変換と画像のスペクトル値などが比較画像データとして機能する。
以上をまとめると次のようになる。
(1)任意形状画像(任意形状オブジェクト)を対象として、カメラ軸が(αi,βi)だけ傾いた場合の画像データを求め、テンプレート画像データとする。
(2)テンプレート画像データと撮影画像データの相関度を、撮影画像の平行移動、縮尺、及び回転角度を考慮して算出する。
(3)平行移動、縮尺、及び回転角度を考慮して求められた最大の相関度の値に基づいて、撮影画像中に任意形状画像が存在するか否か、その有無を判定する。
(4)撮影画像中に任意形状画像が存在する場合には透かしデータを読み出すために、更に次の処理を行う。
(5)相関度が最大であったテンプレート画像データから、カメラ81の視線の傾きを決定し、また相関度が最大であったときのパラメーラとして、平行移動、縮尺、及び回転角度の各パラメータを決定する。
(6)(5)で決定したパラメータに基づいて、撮影画像データから、撮影によって生じた平行移動、拡大縮小、及び回転角度を取り除き、カメラ81の光軸の傾きと被写体までの距離を補正した補正後の撮影画像データを求める。
(7)補正後の撮影画像データから形状マップα00を用いて任意形状領域を抽出し、これに任意形状ウェーブレット変換を施して、透かしデータを読み出す。
また、以上に説明した画像の補正に関する実施の形態によると、次のような効果を得ることができる。
(1)透かしデータを埋め込む画像を様々な傾きから撮影したテンプレート画像データを用意することにより、撮影画像データの平行移動、縮尺、回転角度のみならず、傾きも補正することができる。
(2)撮影画像データを補正することにより、透かしデータを埋め込んだ画像データとの相関度を計算することができる。
(3)計算した相関度の高低により、撮影画像データが透かしデータを埋め込んだ画像を撮影したものであるか否かを判断することができる。
(4)撮影画像データを補正することにより、透かしデータの読み出しを高精度に行うことができる。
(5)透視歪発生条件下においても透かしデータを読み出すことができる。
(6)撮影画像データに透かしデータが含まれるかどうか、また、その画像領域はどの部分であるかを検出することができる。
(7)透かしデータを埋め込む領域にフレームを設定したり、印をつけたりなど当該領域を識別するための情報を印刷する必要がないため、画像の視認性を損なわずに透かしデータを埋め込むことができる。
以上に説明したように、画像処理装置1は、画像80を異なる傾きから見たテンプレート画像データ(フーリエ変換後のデータなどでもよい)をデータ格納部12から読み出すため、判断の基準となる基準画像(画像80)を異なる傾きから見た複数の画像(テンプレート画像)に関する比較画像データ(テンプレート画像データ)を取得する比較画像データ取得手段を備えている。
また、画像処理装置1は、撮影画像データを読み込むため、判断対象である対象画像(撮影画像)に関する対象画像データ(撮影画像データ)を取得する対象画像データ取得手段を備えている。
そして、画像処理装置1は、各テンプレート画像データと撮影画像データの相関度を式(22)により計算するため、各比較画像データ(テンプレート画像データ)と対象画像データ(撮影画像データ)の相関度を取得する相関度取得手段を備えている。これは、計算により取得せずに、相関度を計算するサーバに計算させて取得するように構成してもよい。
更に、画像処理装置1は、相関度が所定の閾値α以上であるものが存在する場合に、撮影画像に画像80が存在すると判断するため、取得した各相関度のうち、相関度が所定の閾値以上のものが存在する場合に、対象画像(撮影画像)に基準画像(画像80)対応する画像が存在すると判断する判断手段を備えている。
なお、当該画像は基準画像に透視変換などを行った画像であるため、基準画像に対応する画像ということができる。
あるいは、透視変換を受けた基準画像であるため、判断手段は、対象画像に基準画像が存在すると判断するということも可能である。
また、画像処理装置1は、テンプレート画像データと撮影画像データを比較する際に、撮影画像データの平行移動量(Δx、Δy)と縮尺σと回転角度φを補正してから相関度を計算するため、相関度取得手段は、比較画像データ(テンプレート画像データ)と、対象画像データ(撮影画像データ)と、の間で平行移動量と縮尺と回転角度を補正してから相関度を取得している。
更に、画像処理装置1は、相関度が所定の閾値α以上のテンプレート画像データを用いて撮影画像データの平行移動、縮尺、回転角度を補正するため、相関度が所定の閾値以上となった比較画像データ(テンプレート画像データ)を用いて、対象画像データ(撮影画像データ)の少なくとも傾きを補正する補正手段を備えている。
そして、画像処理装置1は、補正後の撮影画像データから透かしデータが埋め込まれている領域を特定し、これをウェーブレット変換して透かしデータを読み出すため、補正した対象画像データには透かしデータが埋め込まれており、補正した対象画像データから透かしデータを読み出す読出手段を備えている。
より詳細には、この透かしデータは、基準画像(透かしデータを埋め込む対象となっている画像)の画像データをウェーブレット変換によって周波数帯域に分割した分割画像データを取得する分割画像データ取得手段と、画像データに透かしデータを埋め込む領域を規定する領域データを周波数帯域に分割した分割領域データを取得する埋込分割領域データ取得手段と、この分割領域データで規定される領域に対応する前記分割画像データに透かしデータを埋め込む埋込手段と、を備えた透かしデータ埋め込み装置によって埋め込まれており、対象画像データをウェーブレット変換によって周波数帯域に分割して分割透かし入り画像データを取得する分割透かし入り画像データ取得手段と、この透かし入り画像データで透かしデータが埋め込まれた領域を規定する領域データを周波数帯域に分割した分割領域データを取得する読出分割領域データ取得手段と、を備え、先の読出手段は、この取得した分割領域データで規定される領域に対応する前記分割透かし入り画像データから透かしデータを読み出している。
1 画像処理装置
2 CPU
3 入力装置
4 表示装置
5 印刷装置
6 通信制御装置
7 RAM
8 記憶装置
9 記憶媒体駆動装置
10 入出力I/F
11 プログラム格納部
12 データ格納部
13 ROM
21 SA−DWT処理部
22 透かしデータ埋込部
23 SA−IDWT処理部
24 SA−DWT処理部
25 透かしデータ読出部
50 画像
51 任意形状領域
52 任意形状外領域
60 形状マップ
61 任意形状領域
62 任意形状外領域
80 画像
81 カメラ
101 店舗
102 ポスタ
103 携帯電話
104 サービスサーバ
106 任意形状画像

Claims (5)

  1. 基準画像の画像データをウェーブレット変換によって周波数帯域に分割した分割画像データを取得する分割画像データ取得手段と、前記画像データに透かしデータを埋め込む領域を規定する領域データを周波数帯域に分割した分割領域データを取得する埋込分割領域データ取得手段と、前記取得した分割領域データで規定される領域に対応する前記分割画像データに透かしデータを埋め込む埋込手段と、を備えた透かしデータ埋め込み装置によって、判断対象である、高周波成分が多く且つエッジによる閉じた任意形状の対象画像に透かしデータが埋め込まれた対象画像データを取得する対象画像データ取得手段と、
    断の基準となる基準画像を異なる傾きから見た複数の画像に関する比較画像データを取得する比較画像データ取得手段と、
    記取得した各比較画像データと前記取得した対象画像データの相関度を取得する相関度取得手段と、
    前記取得した各相関度のうち、相関度が所定の閾値以上のものが存在する場合に、前記対象画像に前記基準画像に対応する画像が存在すると判断する判断手段と、
    前記判断手段が前記対応する画像が存在すると判断した前記対象画像の対象画像データを、ウェーブレット変換によって周波数帯域に分割して分割透かし入り画像データを取得する分割透かし入り画像データ取得手段と、
    前記分割透かし入り画像データで透かしデータが埋め込まれた領域を規定する領域データを周波数帯域に分割した分割領域データを取得する読出分割領域データ取得手段と、
    前記取得した分割領域データで規定される領域に対応する前記分割透かし入り画像データから透かしデータを読み出す読出手段と、
    を具備したことを特徴とする画像処理装置。
  2. 前記相関度取得手段は、前記取得した比較画像データと、前記取得した対象画像データと、の間で平行移動量と縮尺と回転角を補正してから相関度を取得することを特徴とする請求項1に記載の画像処理装置。
  3. 相関度が所定の閾値以上となった比較画像データを用いて、前記取得した対象画像データの少なくとも傾きを補正する補正手段を具備したことを特徴とする請求項1、又は請求項2に記載の画像処理装置。
  4. 前記読出手段は、前記補正した対象画像データから前記透かしデータを読み出すことを特徴とする請求項3に記載の画像処理装置。
  5. 基準画像の画像データをウェーブレット変換によって周波数帯域に分割した分割画像データを取得する分割画像データ取得手段と、前記画像データに透かしデータを埋め込む領域を規定する領域データを周波数帯域に分割した分割領域データを取得する埋込分割領域データ取得手段と、前記取得した分割領域データで規定される領域に対応する前記分割画像データに透かしデータを埋め込む埋込手段と、を備えた透かしデータ埋め込み装置によって、判断対象である、高周波成分が多く且つエッジによる閉じた任意形状の対象画像に透かしデータが埋め込まれた対象画像データを取得する対象画像データ取得機能と、
    断の基準となる基準画像を異なる傾きから見た複数の画像に関する比較画像データを取得する比較画像データ取得機能と、
    記取得した各比較画像データと前記取得した対象画像データの相関度を取得する相関度取得機能と、
    前記取得した各相関度のうち、相関度が所定の閾値以上のものが存在する場合に、前記対象画像に前記基準画像に対応する画像が存在すると判断する判断機能と、
    前記判断機能が前記対応する画像が存在すると判断した前記対象画像の対象画像データを、ウェーブレット変換によって周波数帯域に分割して分割透かし入り画像データを取得する分割透かし入り画像データ取得機能と、
    前記分割透かし入り画像データで透かしデータが埋め込まれた領域を規定する領域データを周波数帯域に分割した分割領域データを取得する読出分割領域データ取得機能と、
    前記取得した分割領域データで規定される領域に対応する前記分割透かし入り画像データから透かしデータを読み出す読出機能と、
    をコンピュータで実現する画像処理プログラム。
JP2009021426A 2009-02-02 2009-02-02 画像処理装置、及び画像処理プログラム Active JP5181350B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009021426A JP5181350B2 (ja) 2009-02-02 2009-02-02 画像処理装置、及び画像処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009021426A JP5181350B2 (ja) 2009-02-02 2009-02-02 画像処理装置、及び画像処理プログラム

Publications (2)

Publication Number Publication Date
JP2010178269A JP2010178269A (ja) 2010-08-12
JP5181350B2 true JP5181350B2 (ja) 2013-04-10

Family

ID=42708737

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009021426A Active JP5181350B2 (ja) 2009-02-02 2009-02-02 画像処理装置、及び画像処理プログラム

Country Status (1)

Country Link
JP (1) JP5181350B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3396621B1 (en) * 2010-09-03 2020-08-19 Digimarc Corporation Signal processors and methods for estimating transformations between signals
JP2016082469A (ja) * 2014-10-20 2016-05-16 株式会社日立ソリューションズ 撮像抽出装置
WO2018047687A1 (ja) * 2016-09-12 2018-03-15 パナソニックIpマネジメント株式会社 三次元モデル生成装置及び三次元モデル生成方法
JP2020064555A (ja) * 2018-10-19 2020-04-23 中国電力株式会社 巡視用サーバ、及び巡視点検システム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09128550A (ja) * 1995-10-31 1997-05-16 Omron Corp 画像処理方法およびその装置
JP3545542B2 (ja) * 1996-07-09 2004-07-21 大日本スクリーン製造株式会社 ウェハの回転方向検出方法
JPH11196262A (ja) * 1997-11-07 1999-07-21 Matsushita Electric Ind Co Ltd デジタル情報埋込み・抽出装置および方法並びに当該方法を実行するためのプログラムを記録した媒体
JP2000163587A (ja) * 1998-11-30 2000-06-16 Hakko Automation Kk 硬貨検査装置及び硬貨検査方法並びに記録媒体
JP2002324238A (ja) * 2001-04-26 2002-11-08 Fuji Photo Film Co Ltd 画像の位置合わせ方法および装置
JP2003196641A (ja) * 2001-12-25 2003-07-11 Aisin Aw Co Ltd 物品認識装置及び方法
AU2003293087A1 (en) * 2002-11-28 2004-06-23 Digimarc Corporation Systems and methods for authentication of print media

Also Published As

Publication number Publication date
JP2010178269A (ja) 2010-08-12

Similar Documents

Publication Publication Date Title
JP5046047B2 (ja) 画像処理装置、及び画像処理プログラム
US9692939B2 (en) Device, system, and method of blind deblurring and blind super-resolution utilizing internal patch recurrence
JP4556813B2 (ja) 画像処理装置、及びプログラム
JP5795724B2 (ja) 注釈付き文書の画像からクリーンな文書を再構築するためのシステムと方法
US20090180713A1 (en) Method and system of adaptive reformatting of digital image
JP2000115539A (ja) 画像処理方法、画像処理装置及び記録媒体
WO2017141102A1 (en) Image distortion transformation method and apparatus
JP5181350B2 (ja) 画像処理装置、及び画像処理プログラム
JP4875887B2 (ja) 画像合成システム及び画像合成方法
JP2011151627A (ja) 画像処理装置、画像処理方法、及びプログラム
JP2005094615A (ja) 手ぶれ補正装置、手ぶれ補正方法および手ぶれ補正プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2008003683A (ja) 画像生成装置及びその方法並びに記録媒体
JP2000354244A (ja) 画像処理装置、方法及びコンピュータ読み取り可能な記憶媒体
JP2004193957A (ja) 画像処理装置、画像処理方法、画像処理プログラムおよび画像記録装置
JP5340021B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2000115526A (ja) 画像処理装置およびエッジ処理方法
KR102076635B1 (ko) 산재된 고정 카메라를 이용한 파노라마 영상 생성 장치 및 방법
JP2012113398A (ja) 画像処理装置及び画像処理システム
JP4087807B2 (ja) 画像処理方法および装置並びにプログラム
JP4187726B2 (ja) 透かし埋め込み装置およびプログラム
JP5202263B2 (ja) 画像処理装置、画像処理方法、及びコンピュータプログラム
JP4526867B2 (ja) 電子透かし埋込装置、及び電子透かし読出装置
KR101332030B1 (ko) 영상 확대방법 및 이를 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
JP2019016222A (ja) 画像処理装置およびその制御方法
JP2004326322A (ja) 画像処理方法、画像処理装置、画像処理プログラム及び画像記録装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120924

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121122

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121213

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20121227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121227

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5181350

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160125

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250