(57)【特許請求の範囲】
【請求項１】
所定の座標上の予め定められた位置にある少なくとも１つの画素データに変更を加えることで電子透かし情報が埋め込まれた画像データであって、且つ幾何学的変形が加えられた画像データより、前記電子透かし情報を抽出する電子透かし情報の抽出方法であって、
前記画像データより、前記所定の座標上の予め定められた位置にある少なくとも１つの画素データを抽出し、前記抽出した画素データのデータ値を参照値と比較することで、当該画素データに情報が埋め込まれているか否かを判断する処理を、当該画素データに情報が埋め込まれていることを確認するまで、前記画像データに幾何学的変形を加えながら実行する埋め込み位置確認ステップを有し、
前記埋め込み位置確認ステップは、
前記画像データより、前記所定の座標上の予め定められた位置にある少なくとも１つの画素データを抽出し、抽出した画素データのデータ値を参照値と比較することで、当該画素データに情報が埋め込まれているか否かについて判断する処理を、当該画素データに情報が埋め込まれていることについての確認がなされるまで、第１の幾何学的変形率刻みで前記画像データに幾何学的変形を加えながら実行する概略確認ステップと、
前記画像データより、前記所定の座標上の予め定められた位置にある少なくとも１つの画素データを抽出し、抽出した画素データのデータ値を参照値と比較することで、当該画素データに情報が埋め込まれているか否かについて判断する処理を、当該画素データに情報が埋め込まれていることについての確認がなされるまで、前記概略確認ステップにより当該画素データに情報が埋め込まれていると確認された際の幾何学的変形率を含む所定の範囲内において、前記第１の幾何学的変形率よりも小さい第２の幾何学的変形率刻みで前記画像データに幾何学的変形を加えながら実行する詳細確認ステップと、を有することを特徴とする電子透かし情報の抽出方法。
【請求項２】
請求項１に記載の電子透かし情報の抽出方法であって、
電子透かし情報を構成する複数のビットデータ各々につき、所定の座標上の予め定められた位置にある少なくとも１つの画素データに変更を加えることで、前記電子透かし情報が画像データに埋め込まれている場合、前記複数のビットデータのうちの少なくとも１つのビットデータに対して、前記埋め込み位置確認ステップを実行し、当該ビットデータが埋め込まれている画素データが確認された際の、幾何学的変形が加えられた画像データより、前記複数のビットデータの抽出を行うことを特徴とする電子透かし情報の抽出方法。
【請求項３】
請求項１または２に記載の電子透かし情報の抽出方法であって、
前記参照値は、前記抽出した画素データに隣接する画素データのデータ値であることを特徴とする電子透かし情報の抽出方法。
【請求項４】
所定の座標上の予め定められた位置にある少なくとも１つの画素データに変更を加えることで電子透かし情報が埋め込まれた画像データであって、且つ幾何学的変形が加えられた画像データより、前記電子透かし情報を抽出する電子透かし情報の抽出方法であって、
前記所定の座標上の予め定められた位置にある少なくとも１つの画素データを抽出し、抽出した画素データのデータ値を参照値と比較することで、当該画素データに情報が埋め込まれているか否かを判断する処理を、当該画素データに情報が埋め込まれていることを確認するまで、前記所定の座標を変形することで、前記画像データ上の前記予め定められた位置を変えながら実行する埋め込み位置確認ステップを有し、
前記埋め込み位置確認ステップは、
前記画像データより、前記所定の座標上の予め定められた位置にある少なくとも１つの画素データを抽出し、抽出した画素データのデータ値を参照値と比較することで、当該画素データに情報が埋め込まれているか否かについて判断する処理を、当該画素データに情報が埋め込まれていることについての確認がなされるまで、第１の変形率刻みで前記所定の座標を変形することで、前記画像データ上の前記予め定められた位置を変えながら実行する概略確認ステップと、
前記画像データより、前記所定の座標上の予め定められた位置にある少なくとも１つの画素データを抽出し、抽出した画素データのデータ値を参照値と比較することで、当該画素データに情報が埋め込まれているか否かについて判断する処理を、当該画素データに情報が埋め込まれていることについての確認がなされるまで、前記概略確認ステップにより当該画素データに情報が埋め込まれていると確認された際の変形率を含む所定の範囲内において、前記第１の変形率よりも小さい第２の変形率刻みで前記所定の座標を変形することで、前記画像データ上の前記予め定められた位置を変えながら実行する詳細確認ステップと、を有することを特徴とする電子透かし情報の抽出方法。
【請求項５】
請求項４に記載の電子透かし情報の抽出方法であって、
電子透かし情報を構成する複数のビットデータ各々につき、所定の座標上の予め定められた位置にある少なくとも１つの画素データに変更を加えることで、前記電子透かし情報が画像データに埋め込まれている場合、前記複数のビットデータのうちの少なくとも１つのビットデータに対して、前記埋め込み位置確認ステップを実行し、当該ビットデータが埋め込まれている画素データが確認された際の、変形が加えられた前記所定の座標を用いて、前記複数のビットデータの抽出を行うことを特徴とする電子透かし情報の抽出方法。
【請求項６】
請求項４に記載の電子透かし情報の抽出方法であって、
電子透かし情報を構成する複数のビットデータ各々につき、所定の座標上の予め定められた位置にある少なくとも１つの画素データに変更を加えることで、前記電子透かし情報が画像データに埋め込まれている場合、前記複数のビットデータのうちの少なくとも１つのビットデータに対して、前記埋め込み位置確認ステップを実行し、当該ビットデータが埋め込まれている画素データが確認された際の前記所定の座標に加えられた変形率に応じた幾何学的変形率で前記画像データに幾何学的変形を加え、前記埋め込み位置確認ステップにより変形が加えられる前の前記所定の座標を用いて、当該幾何学的変形が加えられ画像データより、前記複数のビットデータを抽出することを特徴とする電子透かし情報の抽出方法。
【請求項７】
請求項１ないし６いずれか一に記載の電子透かし情報の抽出方法であって、
前記参照値は、前記抽出した画素データに隣接する画素データのデータ値であることを特徴とする電子透かし情報の抽出方法。
【請求項８】
所定の座標上の予め定められた位置にある少なくとも１つの画素データに変更を加えることで電子透かし情報が埋め込まれた画像データであって、且つ幾何学的変形が加えられた画像データより、前記電子透かし情報を抽出する、電子透かし情報抽出のためのプログラムが記憶された記憶媒体であって、
当該プログラムは、情報処理装置に、請求項１ないし７いずれか一に記載の埋め込み位置確認ステップを実行させることを特徴とする電子透かし情報抽出のためのプログラムが記憶された記憶媒体。
【請求項９】
所定の座標上の予め定められた位置にある少なくとも１つの画素データに変更を加えることで電子透かし情報が埋め込まれた画像データであって、且つ幾何学的変形が加えられた画像データより、前記電子透かし情報を抽出する、電子透かし情報抽出のためのプログラムが記憶された記憶媒体であって、
当該プログラムは、情報処理装置に、前記所定の座標上の予め定められた位置にある少なくとも１つの画素データを抽出し、抽出した画素データのデータ値を参照値と比較することで、当該画素データに情報が埋め込まれているか否かを判断する処理を、当該画素データに情報が埋め込まれていることを確認するまで、前記所定の座標を変形することで、前記画像データ上の前記予め定められた位置を変えながら実行する埋め込み位置確認ステップを実行させるものであり、
前記埋め込み位置確認ステップは、
前記画像データより、前記所定の座標上の予め定められた位置にある少なくとも１つの画素データを抽出し、抽出した画素データのデータ値を参照値と比較することで、当該画素データに情報が埋め込まれているか否かについて判断する処理を、当該画素データに情報が埋め込まれていることについての確認がなされるまで、第１の変形率刻みで前記所定の座標を変形することで、前記画像データ上の前記予め定められた位置を変えながら実行する概略確認ステップと、
前記画像データより、前記所定の座標上の予め定められた位置にある少なくとも１つの画素データを抽出し、抽出した画素データのデータ値を参照値と比較することで、当該画素データに情報が埋め込まれているか否かについて判断する処理を、当該画素データに情報が埋め込まれていることについての確認がなされるまで、前記概略確認ステップにより当該画素データに情報が埋め込まれていると確認された際の変形率を含む所定の範囲内において、前記第１の変形率よりも小さい第２の変形率刻みで前記所定の座標を変形することで、前記画像データ上の前記予め定められた位置を変えながら実行する詳細確認ステップと、を有することを特徴とする電子透かし情報抽出のためのプログラムが記憶された記憶媒体。
【請求項１０】
所定の座標上の予め定められた位置にある少なくとも１つの画素データに変更を加えることで電子透かし情報が埋め込まれた画像データであって、且つ幾何学的変形が加えられた画像データより、前記電子透かし情報を抽出する電子透かし情報抽出装置であって、
前記画像データより、前記所定の座標上の予め定められた位置にある少なくとも１つの画素データを抽出し、抽出した画素データのデータ値を参照値と比較することで、当該画素データに情報が埋め込まれているか否かを判断する処理を、当該画素データに情報が埋め込まれていることを確認するまで、前記画像データに幾何学的変形を加えながら実行する埋め込み位置確認手段を有し、
前記埋め込み位置確認手段は、
前記画像データより、前記所定の座標上の予め定められた位置にある少なくとも１つの画素データを抽出し、抽出した画素データのデータ値を参照値と比較することで、当該画素データに情報が埋め込まれているか否かについて判断する処理を、当該画素データに情報が埋め込まれていることについての確認がなされるまで、第１の幾何学的変形率刻みで前記画像データに幾何学的変形を加えながら実行する概略確認手段と、
前記画像データより、前記所定の座標上の予め定められた位置にある少なくとも１つの画素データを抽出し、抽出した画素データのデータ値を参照値と比較することで、当該画素データに情報が埋め込まれているか否かについて判断する処理を、当該画素データに情報が埋め込まれていることについての確認がなされるまで、前記概略確認手段により当該画素データに情報が埋め込まれていると確認された際の幾何学的変形率を含む所定の範囲内において、前記第１の幾何学的変形率よりも小さい第２の幾何学的変形率刻みで前記画像データに幾何学的変形を加えながら実行する詳細確認手段と、を有することを特徴とする電子透かし情報抽出装置。
【請求項１１】
所定の座標上の予め定められた位置にある少なくとも１つの画素データに変更を加えることで電子透かし情報が埋め込まれた画像データであって、且つ幾何学的変形が加えられた画像データより、前記電子透かし情報を抽出する電子透かし情報抽出装置であって、
前記所定の座標上の予め定められた位置にある少なくとも１つの画素データを抽出し、抽出した画素データのデータ値を参照値と比較することで、当該画素データに情報が埋め込まれているか否かを判断する処理を、当該画素データに情報が埋め込まれていることを確認するまで、前記所定の座標を変形することで、前記画像データ上の前記予め定められた位置を変えながら実行する埋め込み位置確認手段を有し、
前記埋め込み位置確認手段は、
前記画像データより、前記所定の座標上の予め定められた位置にある少なくとも１つの画素データを抽出し、抽出した画素データのデータ値を参照値と比較することで、当該画素データに情報が埋め込まれているか否かについて判断する処理を、当該画素データに情報が埋め込まれていることについての確認がなされるまで、第１の変形率刻みで前記所定の座標を変形することで、前記画像データ上の前記予め定められた位置を変えながら実行する概略確認手段と、
前記画像データより、前記所定の座標上の予め定められた位置にある少なくとも１つの画素データを抽出し、抽出した画素データのデータ値を参照値と比較することで、当該画素データに情報が埋め込まれているか否かについて判断する処理を、当該画素データに情報が埋め込まれていることについての確認がなされるまで、前記概略確認手段により当該画素データに情報が埋め込まれていると確認された際の変形率を含む所定の範囲内において、前記第１の変形率よりも小さい第２の変形率刻みで前記所定の座標を変形することで、前記画像データ上の前記予め定められた位置を変えながら実行する詳細確認手段と、を有することを特徴とする電子透かし情報抽出装置。
【請求項１２】
請求項１記載の電子透かし情報の抽出方法であって、
前記第１の幾何学的変形率刻みは、変更を加えた画素データのブロックサイズと、当該ブロックの配置間隔と配置個数、とで決定されることを特徴とする電子透かし情報の抽出方法。
【請求項１３】
請求項４記載の電子透かし情報の抽出方法であって、
前記第１の変形率刻みは、変更を加えた画素データのブロックサイズと、当該ブロックの配置間隔と配置個数、とで決定されることを特徴とする電子透かし情報の抽出方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタルデータ、特に画像データに対する電子透かし技術に関する。
【０００２】
【従来の技術】
近年、画像データなどのデジタルデータに対する著作権保護の観点から、電子透かし技術が注目されつつある。電子透かし技術とは、所定の規則にしたがい、デジタルデータに、所定の情報を、少なくとも前記所定の規則を用いることなく当該所定の情報を当該デジタルデータから抽出できないように埋め込む技術である。たとえば、所定の規則にしたがい、画像データの購入者などに関する情報を当該画像データ自体に目に見えない形態で埋め込んでおき、不正コピーされた場合に、前記所定の規則にしたがって、不正コピーされたデータから埋め込まれた情報を抽出することで、不正コピーを行った者（すなわち購入者）を特定する。
【０００３】
図１８は、従来の電子透かし技術による画像データへの情報埋め込み・抽出処理の原理を説明するための図である。
【０００４】
図示するように、情報の埋め込み処理に際しては、埋め込みたい情報を構成するビットｂ１〜ｂｎのうちビットｂｉ（０≦ｉ≦ｎ）について、画像データの予め定められた位置１〜ｍにある画素データ各々の輝度を、当該ビットが１ならばＵだけ増加させ、０ならばＵだけ減少させるように変更する。この処理を埋め込む位置をかえながらビットｂ１〜ｂｎの全てに対して行うことにより、画像データに電子透かし情報を埋め込む。
【０００５】
一方、このようにして埋め込まれた電子透かし情報の抽出処理に際しては、埋め込まれた情報を構成するビットｂ１〜ｂｎのうちビットｂｉ（０≦ｉ≦ｎ）について、画像データの前記予め定められた位置１〜ｍにある画素データ各々の輝度の総和Ｓと、前記予め定められた位置１〜ｍの隣にある画素データ各々の輝度の総和Ｒ（Reference Value）とを検出し、Ｓ−Ｒ≧Ｔ（ここで、Ｔは要求される誤り率により異なるが、たとえば、Ｔ≧Ｕ×（ｂｉを埋め込んだ画素データ数ｍ）とする）であればｂｉ＝１と判定し、Ｓ−Ｒ≦−Ｔであればｂｉ＝０と判定し、そして、−Ｔ＜Ｓ−Ｒ＜Ｔであれば、前記予め定められた位置１〜ｍにある画素データ各々に情報は埋め込まれていないと判定する。この処理をビットｂ１〜ｂｎの全てに対して行うことにより、画像データに埋め込まれた電子透かし情報を抽出する。
【０００６】
電子透かし技術に関しては、１９９８第５６回情報処理学会全国論文集に詳しく述べられている。
【０００７】
ところで、このような電子透かし情報が埋め込まれた画像データに、拡大/縮小や回転などの幾何学的変形が加えられた場合、これに伴い、電子透かし情報を構成するビットデータの埋め込み位置（ビットデータを埋め込む際に用いたＸ-Ｙ座標上における位置）も変形してしまう。このため、電子透かし情報の抽出ができなくなってしまう。
【０００８】
このような問題を解決する技術として、米国特許（ＵＳＰ５６３６２９２）に記載の技術がある。
【０００９】
当該技術では、図１９に示すように、著作権情報などの電子透かし情報以外に、画像データにどのような幾何学的変形が加えられたか、すなわち、どのような拡大/縮小や回転が加えられたかを推定するためのキャリブレーション用電子透かしを、当該画像データに埋め込んでおく。そして、電子透かし情報を抽出する場合には、まず、画像データからキャリブレーション用電子透かし情報を抽出し、その変形の度合いを解析することで、当該画像データに加えられた拡大/縮小率や回転角度を推定する。次に、推定した拡大/縮小率や回転角度を参照して、当該画像データを元の画像データ（幾何学的変形が加えられる前の画像データ）に戻す。それから、前記予め定められた位置にある画素データとその隣接画素データを抽出し、両者の差分（Ｓ-Ｒ）を予め定められた閾値Ｔを比較することで、電子透かし情報を抽出する。
【００１０】
【発明が解決しようとする課題】
しかしながら、上記従来のキャリブレーション用電子透かしを用いる方法では、著作権情報などの本来埋め込むべき電子透かし情報の他に、キャリブレーション用の電子透かしを画像データに埋め込むため、画質に与える影響が大きいという問題がある。
【００１１】
そこで、本発明の第１の目的は、キャリブレーション用電子透かしを用いることなく、幾何学的変形が加えられた画像データから電子透かし情報が埋め込まれている位置を特定することが可能な電子透かし技術を提供することにある。
【００１２】
また、上記従来の電子透かし情報のビット値を判定する方法では、電子透かし情報を構成するビットｂ１〜ｂｎのうちビットｂｉ（０≦ｉ≦ｎ）について、画像データの予め定められた位置１〜ｍにある画素データ各々の輝度の総和Ｓと、前記予め定められた位置１〜ｍの隣にある画素データ各々の輝度の総和Ｒとを検出し、Ｓ−Ｒ≧Ｔであればｂｉ＝１と判定し、Ｓ−Ｒ≦−Ｔであればｂｉ＝０と判定し、そして、−Ｔ＜Ｓ−Ｒ＜Ｔであれば、前記予め定められた位置１〜ｍにある画素データ各々に情報は埋め込まれていないと判定している。
【００１３】
ここで、閾値Ｔには、通常、予め定められた値を用いるが、この閾値Ｔが電子透かし情報を抽出しようとしている画像データに対して最適化されていないと、電子透かし情報を構成するビットｂｉが画像データの予め定められた位置１〜ｍに埋め込まれているにもかかわらず−Ｔ＜Ｓ−Ｒ＜Ｔとなり、前記予め定められた位置１〜ｍに情報が埋め込まれていないと判定されてしまうこともある。すなわち、電子透かし情報を構成するビットの抽出感度が低くなってしまう。
【００１４】
一方、閾値Ｔを予め低めに設定しておくことで、電子透かし情報を構成するビットの抽出感度を上げると、電子透かし情報を抽出しようとしている画像データによっては、画像データから抽出した電子透かし情報を構成するビットのビット値判定誤りが増加し、ビット値判定精度が悪くなってしまう。これでは、画像データから抽出した電子透かし情報のビット値を信頼することができない。
【００１５】
そこで、本発明の第２の目的は、電子透かし情報を構成するビットの抽出感度を上げた場合でも、抽出した電子透かし情報のビット値が信頼できるものであるか否かを把握可能な電子透かし技術を提供することにある。
【００１６】
【課題を解決するための手段】
上記第１の目的達成のために、本発明の第１の態様は、所定の座標上の予め定められた位置にある少なくとも１つの画素データに変更を加えることで電子透かし情報が埋め込まれた画像データであって、且つ幾何学的変形が加えられた画像データより、前記電子透かし情報を抽出する電子透かし情報の抽出方法であって、
前記画像データより、前記所定の座標上の予め定められた位置にある少なくとも１つの画素データを抽出し、このデータ値を参照値と比較することで、当該画素データに情報が埋め込まれているか否かを判断する処理を、当該画素データに情報が埋め込まれていることを確認するまで、前記画像データに幾何学的変形を加えながら実行する埋め込み位置確認ステップを有する。
【００１７】
ここで、幾何学的変形とは、拡大／縮小や回転などの可逆的な変形、すなわち変形前の画像データを復元可能な変形を意味する。また、参照値には、たとえば、抽出した画素データの近傍に位置する画素データのデータ値、あるいは、抽出した画素データの近傍に位置する少なくとも２つの画素データを用いて補間により推定した、当該抽出した画素データのデータ値が用いられる。また、画素データに情報が埋め込まれていることを確認するまでとは、具体的には、抽出した画素データのデータ値と参照値との差分（絶対値）が最大となるように幾何学的変形が加えられた画像データを検出するまでの意味である。
【００１８】
本態様によれば、画像データより、所定の座標により特定される電子透かし情報の埋め込み位置にある画素データを抽出し、当該画素データのデータ値を参照値と比較して、当該画素データに情報が埋め込まれているか否かを判断するという一連の処理を、当該画素データに情報が埋め込まれていることを確認するまで、前記画像データに幾何学的変形を加えながら実行する。たとえば、ある回転角度で画像データを回転させ、さらに所定の倍率で当該画像データを拡大／縮小しながら、当該画素データに情報が埋め込まれているか否かの確認を行う。確認できなかった場合には、他の回転角度で画像データを回転させて同様の処理を行う。この処理を、当該画素データに情報が埋め込まれていることを確認するまで繰り返し実行する。
【００１９】
このようにすることで、キャリブレーション用電子透かしを用いることなく、幾何学的変形が加えられた画像データから電子透かし情報が埋め込まれている位置を特定することが可能になる。
【００２０】
なお、本態様において、前記埋め込み位置確認ステップは、
前記画像データより、前記所定の座標上の予め定められた位置にある少なくとも１つの画素データを抽出し、このデータ値を参照値と比較することで、当該画素データに情報が埋め込まれているか否かについて判断する処理を、当該画素データに情報が埋め込まれていることについての確認がなされるまで、第１の幾何学的変形率刻みで前記画像データに幾何学的形を加えながら実行する概略確認ステップと、
前記画像データより、前記所定の座標上の予め定められた位置にある少なくとも１つの画素データを抽出し、このデータ値を参照値と比較することで、当該画素データに情報が埋め込まれているか否かについて判断する処理を、当該画素データに情報が埋め込まれていることについての確認がなされるまで、前記概略確認ステップにより当該画素データに情報が埋め込まれていると確認された際の幾何学的変形率を含む所定の範囲内において、前記第１の幾何学的変形率よりも小さい第２の幾何学的変形率刻みで前記画像データに幾何学的形を加えながら実行する詳細確認ステップと、より構成されるものでもよい。
【００２１】
また、本態様において、電子透かし情報を構成する複数のビットデータ各々につき、所定の座標上の予め定められた位置にある少なくとも１つの画素データに変更を加えることで、前記電子透かし情報が画像データに埋め込まれている場合、前記複数のビットデータのうちの少なくとも１つのビットデータに対して、前記埋め込み位置確認ステップを実行し、当該ビットデータが埋め込まれている画素データが確認された際の、幾何学的変形が加えられた画像データより、前記複数のビットデータの抽出を行うようにしてもよい。
【００２２】
このようにすることで、電子透かし情報が埋め込まれたの画素データの確認をより効率的に行うことができる。
【００２３】
また、上記第１の目的達成のために、本発明の第２の態様は、所定の座標上の予め定められた位置にある少なくとも１つの画素データに変更を加えることで電子透かし情報が埋め込まれた画像データであって、且つ幾何学的変形が加えられた画像データより、前記電子透かし情報を抽出する電子透かし情報の抽出方法であって、
前記所定の座標上の予め定められた位置にある少なくとも１つの画素データを抽出し、このデータ値を参照値と比較することで、当該画素データに情報が埋め込まれているか否かを判断する処理を、当該画素データに情報が埋め込まれていることを確認するまで、前記所定の座標を変形することで、前記画像データ上の前記予め定められた位置を変えながら実行する埋め込み位置確認ステップを有する。
【００２４】
本態様によれば、画像データより、所定の座標により特定される電子透かし情報の埋め込み位置にある画素データを抽出し、当該画素データのデータ値を参照値と比較して、当該画素データに情報が埋め込まれているか否かを判断するという一連の処理を、当該画素データに情報が埋め込まれていることを確認するまで、前記所定の座標に変形を加えながら実行する。たとえば、ある回転角度で前記所定の座標を回転させ、さらに所定の倍率で当該所定の座標を拡大／縮小しながら、画素データに情報が埋め込まれているか否かの確認を行う。確認できなかった場合には、他の回転角度で前記所定の座標を回転させて同様の処理を行う。この処理を、当該画素データに情報が埋め込まれていることを確認するまで繰り返し実行する。
【００２５】
このようにすることで、キャリブレーション用電子透かしを用いることなく、幾何学的変形が加えられた画像データから電子透かし情報を抽出することが可能になる。また、本態様によれば、画像データ自体に幾何学的変形を加えることなく、電子透かし情報の埋め込み位置の確認が可能になるので、本発明の第１の態様に比べ、処理に要するメモリ容量やプロセッサの負荷を低減させることができる。
【００２６】
なお、本態様において、前記埋め込み位置確認ステップは、
前記画像データより、前記所定の座標上の予め定められた位置にある少なくとも１つの画素データを抽出し、このデータ値を参照値と比較することで、当該画素データに情報が埋め込まれているか否かについて判断する処理を、当該画素データに情報が埋め込まれていることについての確認がなされるまで、第１の変形率刻みで前記所定の座標を変形することで、前記画像データ上の前記予め定められた位置を変えながら実行する概略確認ステップと、
前記画像データより、前記所定の座標上の予め定められた位置にある少なくとも１つの画素データを抽出し、このデータ値を参照値と比較することで、当該画素データに情報が埋め込まれているか否かについて判断する処理を、当該画素データに情報が埋め込まれていることについての確認がなされるまで、前記概略確認ステップにより当該画素データに情報が埋め込まれていると確認された際の変形率を含む所定の範囲内において、前記第１の変形率よりも小さい第２の変形率刻みで前記所定の座標を変形することで、前記画像データ上の前記予め定められた位置を変えながら実行する詳細確認ステップと、より構成されるものでもよい。
【００２７】
前記第１及び第２の変形率の刻み幅は、画素データの変更位置の定め方、すなわち画素データの変更箇所のパターンに依存して決定される場合がある。例えば、画像データに施されている変形率と、検出のための画像データ変形率または座標変形率とが多少ずれていても画像の情報埋込みが確認できる場合、すなわち画素データの変更箇所が、多少ずれても埋込み情報が確認できるようなパターンである場合、前記第１および第２の変形率の刻み幅を大きくしても、埋込み情報の確認が可能である。または、第１の変形率の概略刻みを大きくして第２の変形率の刻みを小さくしても埋込み情報の確認が可能である。
【００２８】
すなわち、画素データの変更が、１×１以上の画素ブロック単位で行われ、上記概略確認ステップが上記画素ブロック内のいずれかの画素データでの変更を検出するものである場合、上記変更が検出できる範囲で、上記第１の変形率を大きくすることが可能である。
【００２９】
図２０、図２１は、画像内の画素データ変更位置と、座標の変形による画素データ検出位置とを模式的に示した図である。画素データの変更は2×2画素ブロック単位で行われ、それぞれのブロックは10画素間隔で24個配置されている。図２０では画素データと変更位置のずれがなく、24個所の検出位置全てが変更位置と重なるので、埋込み情報を正しく検出できる。一方、図２１では、画像データの変更位置に対して検出位置が少しずつずれて、最終的には240画素で2画素分右にずれている。図２１は、画像データに対して検出座標が242/240=1.0083倍拡大された場合を示している。上記倍率まで変形率を拡大した場合、24個検出箇所のうち、1つの検出箇所で埋め込み情報が検出されず、埋込み情報の検出に損失が生じてしまう。このような場合、変形率を1.0083以下にすればよい。画素データの変更の画素ブロックのサイズを2×2から4×4にした場合は、上記変形率を244/240=1.0167まで粗くしても埋込み情報の検出が可能である。
【００３０】
すなわち、変更画素ブロックのサイズをP×P画素としてD画素間隔でN個配置した場合、上記第１の変形率を(DN+P)/(DN)=1+P/(DN)まで大きくしても、上記概略確認ステップにおける埋込み情報の検出が可能である。
【００３１】
なお、上記は座標の拡大/縮小による検出を例としたが、座標の回転や、画像データそのものを拡大/縮小/回転することによる検出でも同様である。
【００３２】
また、本態様において、電子透かし情報を構成する複数のビットデータ各々につき、所定の座標上の予め定められた位置にある少なくとも１つの画素データに変更を加えることで、前記電子透かし情報が画像データに埋め込まれている場合、前記複数のビットデータのうちの少なくとも１つのビットデータに対して、前記埋め込み位置確認ステップを実行し、当該ビットデータが埋め込まれている画素データが確認された際の、変形が加えられた前記所定の座標を用いて、前記複数のビットデータの抽出を行うようにしてもよい。
【００３３】
このようにすることで、電子透かし情報が埋め込まれた位置の確認をより効率的に行うことができる。
【００３４】
さらに、本態様において、電子透かし情報を構成する複数のビットデータ各々につき、所定の座標上の予め定められた位置にある少なくとも１つの画素データに変更を加えることで、前記電子透かし情報が画像データに埋め込まれている場合、前記複数のビットデータのうちの少なくとも１つのビットデータに対して、前記埋め込み位置確認ステップを実行し、当該ビットデータが埋め込まれている画素データが確認された際の前記所定の座標に加えられた変形率に応じた幾何学的変形率で前記画像データに幾何学的変形を加え、前記埋め込み位置確認ステップにより変形が加えられる前の前記所定の座標を用いて、当該幾何学的変形が加えられ画像データより、前記複数のビットデータを抽出するようにしてもよい。
【００３５】
通常、画像データを縮小する場合、その縮小率にしたがって、画像データから任意の画素データを取り去ることで、その画像データのサイズを小さくしている。このため、電子透かし情報が埋め込まれた画像データに対して縮小処理が施されている場合、縮小処理の際に、電子透かし情報（の１部）が埋め込まれた画素データが当該画像データから採り去られている可能性もある。このような場合、電子透かし情報の全てを当該画像データから効率よく抽出できなくなることも考えられる。
【００３６】
そこで、上記のように、電子透かし情報を構成する複数のビットデータのうちのいずれか１つのビットデータに対して、前記埋め込み位置確認ステップを実行して当該ビットデータが埋め込まれている画素データの確認を行い、確認された場合には、そのときに座標に加えられた縮小率に応じた拡大率で画像データを拡大することで、画像データを元のサイズ（縮小処理が施される前のサイズ）に戻すことにより、縮小により失われた画素データを復元し、それから、電子透かし情報を構成する複数のビットデータを抽出することで、検出精度を向上させることができる。
【００３７】
また、上記第２の目的達成のために、本発明の第３の態様は、電子透かし情報を構成する複数のビットデータ各々につき、所定の座標上の予め定められた位置にある少なくとも１つの画素データに変更を加えることで画像データに埋め込まれた前記電子透かし情報のビット値判定方法であって、
前記電子透かし情報を構成する複数のビットデータのうち少なくとも２つのビットデータについて、それぞれ、前記ビットデータが埋め込まれるべき画素データと参照値との差分を求め、求めた差分の分布により定まる確率分布曲線に基づき、前記ビットデータのビット値判定に用いる閾値をＴとした場合における当該ビットデータのビット値判定誤り率を求める誤り率算出ステップと、
前記誤り率算出ステップで求めた判定誤り率が所定値より小さい場合に、前記電子透かし情報を構成する複数のビットデータについて、それぞれ、前記ビットデータが埋め込まれるべき画素データと参照値との差分を前記閾値Ｔと比較することで、当該ビットデータのビット値（０か１）を判定するビット値判定ステップと、を有する。
【００３８】
ここで、差分の分布により定まる確率分布曲線は、たとえば、電子透かし情報を構成する複数のビットデータのうちの少なくとも２つのビットデータ各々について得た前記差分の平均値や分散値などの統計値、あるいは、前記差分のヒストグラム分布から求めることができる。
【００３９】
また、ビットデータのビット値判定に用いる閾値をＴとした場合における当該ビットデータのビット値判定誤り率は、たとえば、前記差分の分布より定まる確率分布曲線全体における−Ｔ〜Ｔの範囲内となる部分の割合として求めることができる。
【００４０】
本態様によれば、画像データに埋め込まれた電子透かし情報のビット値判定に先立ち、当該ビット値判定に用いる閾値をＴとした場合における当該画像データに埋め込まれた電子透かし情報のビット値判定誤り率を求め、その結果が所定値より小さい場合にのみ、前記閾値Ｔを用いて、当該画像データに埋め込まれた電子透かし情報のビット値判定を行なうようにしている。このため、ビット値判定に用いる閾値Ｔを低く設定して、電子透かし情報を構成するビットの抽出感度を上げた場合でも、抽出した電子透かし情報のビット値の信頼性を確保することができる。
【００４１】
また、上記第２の目的達成のために、本発明の第４の態様は、電子透かし情報を構成する複数のビットデータ各々につき、所定の座標上の予め定められた位置にある少なくとも１つの画素データに変更を加えることで画像データに埋め込まれた前記電子透かし情報のビット値判定方法であって、
前記電子透かし情報を構成する複数のビットデータのうち少なくとも２つのビットデータについて、それぞれ、前記ビットデータが埋め込まれるべき画素データと参照値との差分を求め、求めた差分の分布により定まる確率分布曲線に基づき、前記ビットデータのビット値判定に用いる閾値をＴとした場合における当該ビットデータのビット値判定誤り率を求める誤り率算出ステップと、
前記電子透かし情報を構成する複数のビットデータについて、それぞれ、前記ビットデータが埋め込まれるべき画素データと参照値との差分を前記閾値Ｔと比較することで、当該ビットデータのビット値（０か１）を判定するビット値判定ステップと、
前記ビット値判定ステップにより判定した前記電子透かし情報を構成する複数のビットデータのビット値を、前記誤り率算出ステップで算出したビット値判定誤り率とともに出力する出力ステップと、を有する。
【００４２】
本態様によれば、画像データに埋め込まれた電子透かし情報のビット値判定結果が、当該画像データに埋め込まれた電子透かし情報のビット値判定に用いた閾値Ｔにおけるビット値判定誤り率とともに出力される。したがって、ビット値判定に用いる閾値Ｔを低く設定して、電子透かし情報を構成するビットの抽出感度を上げた場合、抽出した電子透かし情報のビット値の信頼性がどの程度であるかを把握することができる。
【００４３】
なお、上記の第３、４態様において、閾値Ｔを０に設定した場合、電子透かし情報のビット値判定は、前記電子透かし情報を構成する複数のビットデータについて、それぞれ、ビットデータが埋め込まれた画素データと参照値との差分の正負を調べることで、当該ビットデータのビット値（０か１）が判定される。つまり、ビット値判定の閾値Ｔを０に設定することで、画像データに埋め込まれた電子透かし情報を構成する複数のビットデータ各々について、必ず０か１かの判定がなされることとなり、電子透かし情報を構成するビットの抽出感度を最大にすることができる。
【００４４】
なお、この場合、前記誤り率判定ステップは、前記電子透かし情報を構成する複数のビットデータのうち少なくとも２つのビットデータについて、それぞれ、前記ビットデータが埋め込まれた画素データと参照値との差分を求め、求めた少なくとも２つの差分を正か負かで２つの部分集合に分け、当該２つの部分集合各々に含まれる差分の分布より２つの確率分布曲線を求める。そして、正の部分集合の確率分布曲線における負の部分の割合および／または負の部分集合の確率分布曲線における正の部分の割合を調べることで、ビット値判定誤り率を求めることができる。
【００４５】
また、上記第１の目的および第２の目的達成のために、本発明の第５の態様は、上記第１または第２の態様の電子透かし抽出方法と、上記第３または第４の態様の電子透かし情報のビット値判定方法が組み合わされる。すなわち、上記第１または第２の態様の電子透かし抽出方法により画像データに埋め込まれた電子透かし情報を構成する各ビットの埋め込み位置を特定し、このようにして電子透かし情報を構成する各ビットの埋め込み位置が特定された画像データに対し、上記第３または第４の態様の電子透かし情報のビット値判定方法により、電子透かし情報のビット値判定を行なう。
【００４６】
ここで、上記第１または第２の態様の電子透かし抽出方法を実施する装置と、上記第３または第４の態様の電子透かし情報のビット値判定方法を実施する装置とは、同じ装置であってもよいし、別個独立した装置であってもよい。
【００４７】
なお、上記第３乃至第５の態様における前記誤り率判定ステップは、単に、画像データに透かし情報埋め込まれているか否かを判定する場合にも適用することができる。すなわち、本発明の第６の態様は、電子透かし情報を構成する複数のビットデータ各々につき、所定の座標上の予め定められた位置にある少なくとも１つの画素データに変更を加えることで、画像データに、前記電子透かし情報が埋め込まれているか否かを判定する電子透かし情報の有無判定方法であって、
前記電子透かし情報を構成する複数のビットデータのうち少なくとも２つのビットデータについて、それぞれ、前記ビットデータが埋め込まれるべき画素データと参照値との差分を求め、求めた差分の分布により定まる確率分布曲線に基づいて、前記電子透かし情報が埋め込まれているか否かを判定する。
【００４８】
【発明の実施の形態】
以下に、本発明の実施の形態について説明する。
【００４９】
まず、本発明の第１実施形態について説明する。
【００５０】
本実施形態では、所定のＸ−Ｙ座標上の予め定められた位置にある少なくとも１つの画素データに変更を加えることで電子透かし情報が埋め込まれた画像データであって幾何学的変形が加えられた画像データより、前記所定のＸ−Ｙ座標上の予め定められた位置にある少なくとも１つの画素データを抽出し、このデータ値を参照値と比較することで、当該画素データに情報が埋め込まれているか否かを判断する処理を、当該画素データに情報が埋め込まれていることを確認するまで、前記画像データに幾何学的変形を加えながら実行する。
【００５１】
まず、本発明の第１実施形態が適用された電子透かし情報抽出装置の具体的な説明に先立ち、本実施形態における電子透かし情報の抽出処理の原理を説明する。
【００５２】
図１および図２は、本発明の第１実施形態における画像データよりの電子透かし情報の抽出処理の原理を説明するための図である。
【００５３】
図１８に示すように、電子透かし情報を構成するビットｂ１〜ｂｎ各々が、所定のＸ−Ｙ座標上の予め定められた位置１〜ｍにある画素データの輝度を、当該ビットが１ならばＵだけ増加させ、０ならばＵだけ減少させるように変更すことで、画像データ上に埋め込まれているとする。その後、この電子透かし情報が埋め込まれた画像データが所定の倍率で拡大／縮小されたとする。この場合、拡大／縮小された画像データにおいては、ビットｂ１〜ｂｎ各々の前記所定のＸ−Ｙ座標上の予め定められた位置１〜ｍとビットｂ１〜ｂｎ各々が実際に埋め込まれた画素データの位置との対応がずれてしまうので、抽出することができない。
【００５４】
そこで、図１に示すように、画像データを所定のサイズ（たとえば０．５倍）に縮小し、電子透かし情報を構成するビットｂ１〜ｂｎの任意数分のビット（たとえば２０個＜ｎのビット）各々について、前記所定のＸ−Ｙ座標上の予め定められた位置１〜ｍにある画素データを抽出し、その輝度値の総和Ｓと当該抽出した画素データに隣接する画素データの輝度値の総和Ｒとの差分Ｓ−Ｒを求め、当該差分Ｓ−Ｒを所定の閾値Ｔと比較することで、当該抽出した画素データにビットデータが埋め込まれているか否かを判断する。そして、埋め込まれていないと判断した場合は、所定の倍率（たとえば１％）刻みで縮小した画像データを拡大し、同様の処理を行う。この処理を、ビットデータが埋め込まれていることが確認されるまで繰り返し実行する。
【００５５】
上記の倍率刻みは、画素データの変更箇所のパターンに依存して決定される場合がある。例えば、画像の変形率が真の変形率と多少ずれていても画像の情報埋込みが確認できる場合は、すなわち画素データの変更箇所がずれていても埋込み情報が確認できる範囲では、前記倍率刻みを大きくしても透かし情報の検出が可能である。
【００５６】
そして、ビットデータが埋め込まれていることが確認された場合（具体的には、差分Ｓ−Ｒの絶対値が閾値Ｔより大きく且つ最大となるサイズの画像データが検出された場合）は、そのときのサイズの画像データより、電子透かし情報を構成するビットｂ１〜ｂｎ各々について、前記所定のＸ−Ｙ座標上の予め定められた位置１〜ｍにある画素データを抽出し、その輝度値の総和Ｓと当該抽出した画素データに隣接する画素データの輝度値の総和Ｒとの差分Ｓ−Ｒを求め、当該差分Ｓ−Ｒを所定の閾値Ｔと比較することで、当該抽出した画素データに埋め込まれたビットデータを検出する。これにより、画像データに埋め込まれた電子透かし情報ｂ１〜ｂｎを検出する。
【００５７】
たとえば、電子透かし情報が埋め込まれた画像データが０．５倍に縮小された場合、図１に示すように、当該画像データを２倍に拡大することで、電子透かし情報の検出が可能となる。
【００５８】
また、図１８に示すようにして電子透かし情報を構成するビットｂ１〜ｂｎが埋め込まれた画像データが、その後、所定の角度だけ回転されたとする。この場合、回転された画像データにおいては、ビットｂ１〜ｂｎ各々の前記所定のＸ−Ｙ座標上の予め定められた位置１〜ｍとビットｂ１〜ｂｎ各々が実際に埋め込まれた画素データの位置との対応がずれてしまうので、抽出することができない。
【００５９】
そこで、図２に示すように、画像データを所定の角度（たとえば時計回りで−９０度）だけ回転させ、電子透かし情報を構成するビットｂ１〜ｂｎの任意数分のビット（たとえば２０個＜ｎのビット）各々について、前記所定のＸ−Ｙ座標上の予め定められた位置１〜ｍにある画素データを抽出し、その輝度値の総和Ｓと当該抽出した画素データに隣接する画素データの輝度値の総和Ｒとの差分Ｓ−Ｒを求め、当該差分Ｓ−Ｒを所定の閾値Ｔと比較することで、当該抽出した画素データにビットデータが埋め込まれているか否かを判断する。そして、埋め込まれていないと判断した場合は、所定の角度（たとえば時計回りに１度）刻みで、回転させた画像データをさらに回転させ、同様の処理を行う。この処理を、ビットデータが埋め込まれていることが確認されるまで繰り返し実行する。
【００６０】
上記の角度刻みは、画素データの変更箇所のパターンに依存して決定される場合がある。例えば、画像の回転角度が真の回転角度と多少ずれていても画像の情報埋込みが確認できる場合は、すなわち画素データの変更箇所がずれていても埋込み情報が確認できる範囲では、前記角度刻みを大きくしても透かし情報の検出が可能である。
【００６１】
そして、ビットデータが埋め込まれていることが確認された場合は、そのときの回転角度の画像データより、電子透かし情報を構成するビットｂ１〜ｂｎ各々について、前記所定のＸ−Ｙ座標上の予め定められた位置１〜ｍにある画素データを抽出し、その輝度値の総和Ｓと当該抽出した画素データに隣接する画素データの輝度値の総和Ｒとの差分Ｓ−Ｒを求め、当該差分Ｓ−Ｒを所定の閾値Ｔと比較することで、当該抽出した画素データに埋め込まれたビットデータを検出する。これにより、画像データに埋め込まれた電子透かし情報ｂ１〜ｂｎを検出する。
【００６２】
たとえば、電子透かし情報が埋め込まれた画像データが時計回りに−４５度だけ回転されている場合、図２に示すように、当該回転された画像データを時計回りに４５度回転させることで、電子透かし情報の検出が可能となる。
【００６３】
本実施形態では、図１および図２に示す処理を組み合わせて実施することで、電子透かし情報が埋め込まれた画像データに拡大／縮小や回転処理が施された場合でも、当該画像データに埋め込まれた電子透かし情報の位置を特定できるようにしたものである。
【００６４】
次に、上記の電子透かし情報抽出処理を行う電子透かし情報抽出装置について説明する。
【００６５】
図３は、本発明の第１実施形態が適用された電子透かし情報抽出装置の機能構成図である。
【００６６】
図示するように、本実施形態の電子透かし情報抽出装置は、処理部５０１と記憶部５１４とでなる。
【００６７】
処理部５０１は、電子透かし情報が埋め込まれた画像データや当該画像データから抽出した電子透かし情報の入出力を担う入出力部５０２と、電子透かし情報抽出装置の各部を統括的に制御する制御部５０３と、概略サイズ・位置合わせ部５０４と、詳細サイズ・位置合わせ部５０５と、画像復元部５０６と、透かし検出部５０７とを有する。
【００６８】
記憶部５１４は、入出力部５０２を介して入力された、電子透かし情報を構成するビットｂ１〜ｂｎが埋め込まれた画像データを保持する情報挿入画像保持部５０８と、概略刻み幅保持部５０９と、概略しきい値保持部５１０と、詳細刻み幅保持部５１１と、詳細しきい値保持部５１２と、検出情報保持部５１３とを有する。
【００６９】
概略サイズ・位置合わせ部５０４は、情報挿入画像保持部５０８に保持されている画像データより、当該画像データに埋め込まれた電子透かし情報を検出するために要求される当該画像データの概略のサイズおよび回転角度を決定する。
【００７０】
具体的には、まず、情報挿入画像保持部５０８に保持されている画像データを所定の倍率（たとえば０．５倍）で縮小する。そして、電子透かし情報を構成するビットｂ１〜ｂｎの任意数分のビット（たとえば２０個＜ｎのビット）各々について、所定のＸ−Ｙ座標（電子透かし情報を埋め込む際に用いたＸ−Ｙ座標であり既知とする）上の予め定められた位置１〜ｍ（この位置は、たとえば電子透かし情報を埋め込んだ者より予め通知されているものとする）にある画素データを抽出し、その輝度値の総和Ｓと当該抽出した画素データに隣接する画素データの輝度値の総和Ｒとの差分Ｓ−Ｒを求め、これを概略しきい値保持部５１０に保持されている第１の閾値Ｔ１と比較することで、当該抽出した画素データにビットデータが埋め込まれているか否かを判断するといった一連の処理を、所定の範囲（たとえば０度〜３６０度の範囲）内において、概略刻み幅保持部５０９に保持されている第１の回転角度（たとえば時計回りに３度）刻みで当該画像データを回転させながら行う。そして、ビットデータが埋め込まれていないと判断した場合は、概略刻み幅保持部５０９に保持されている第１の倍率（たとえば３％）刻みで画像データを拡大し、同様の処理を行う。この処理を、ビットデータが埋め込まれていることが確認されるまで（具体的には、差分Ｓ−Ｒの絶対値が第１の閾値Ｔ１より大きく且つ最大となるサイズおよび回転角度の画像データが検出されるまで）、繰り返し実行する。
【００７１】
上記の概略刻み保持部５０９に保持されている倍率刻みおよび角度刻みは、前述したように、画素データの変更箇所のパターンに依存して決定される場合がある。すなわち、画素データの埋込み箇所がずれていても埋込み情報が確認できる範囲では、前記倍率刻みおよび角度刻みを大きくしても透かし情報の検出が可能である。
【００７２】
詳細サイズ・位置合わせ部５０５は、情報挿入画像保持部５０８に保持されている画像データより、当該画像データに埋め込まれた電子透かし情報を検出するために要求される当該画像データの詳細なサイズおよび回転角度を決定する。
【００７３】
具体的には、概略サイズ・位置合わせ部５０５にて、ビットデータが埋め込まれていることが確認された際の画像データの倍率Ａよりも所定倍率（たとえばα）低い倍率で、情報挿入画像保持部５０８に保持されている画像データを縮小する。そして、電子透かし情報を構成するビットｂ１〜ｂｎの任意数分のビット（たとえば２０＜ｎ個のビット）各々について、前記所定のＸ−Ｙ座標上の予め定められた位置１〜ｍにある画素データを抽出し、その輝度値の総和Ｓと当該抽出した画素データに隣接する画素データの輝度値の総和Ｒとの差分Ｓ−Ｒを求め、これを前記第１の閾値Ｔ１と比較することで、当該抽出した画素データにビットデータが埋め込まれているか否かを判断するといった一連の処理を、概略サイズ・位置合わせ部５０５にてビットデータが埋め込まれていることが確認された際の画像データの回転角度Ｂを含む所定の範囲（たとえば時計回りにＢ−β度〜Ｂ＋β度の範囲）内において、詳細刻み幅保持部５１１に保持されている、前記第１の回転角度より小さい第２の回転角度（たとえば時計回りに１度）刻みで当該画像データを回転させながら行う。そして、ビットデータが埋め込まれていないと判断した場合は、詳細刻み幅保持部５１１に保持されている、前記第１の倍率より小さい第２の倍率（たとえば１％）刻みで画像データを拡大し、同様の処理を行う。この処理を、ビットデータが埋め込まれていることが確認されるまで繰り返し実行する。
【００７４】
なお、概略刻み幅保持部５０９に保持させる第１の回転角度や倍率、詳細刻み幅保持部５１１に保持させる第２の回転角度や倍率、および、概略しきい値保持部５１０に保持させる第１の閾値Ｔ１は、入出力部５０２を介して、たとえば操作者が設定可能としてもよい。
【００７５】
また、概略の倍率刻みおよび角度刻みは、前述したように、画素データの変更箇所のパターンに依存して決定される場合がある。すなわち、画素データの埋込み箇所がずれていても埋込み情報が確認できる範囲では、前記倍率刻みおよび角度刻みを大きくしても透かし情報の検出が可能である。または、第１の変形率の概略刻みを大きくして第２の変形率の刻みを小さくしても透かし情報の検出が可能である。
【００７６】
画像復元部５０６は、情報挿入画像保持部５０８に保持されている画像データを、詳細サイズ・位置合わせ部５０５にて、ビットデータが埋め込まれていることが確認された際の倍率および回転角度で変形する。これにより、拡大／縮小や回転が加えられる前の画像データを復元する。
【００７７】
透かし検出部５０７は、画像復元部５０６で復元された画像データより、電子透かし情報を構成するビットｂ１〜ｂｎの各々について、前記所定のＸ−Ｙ座標上の予め定められた位置１〜ｍにある画素データを抽出し、その輝度値の総和Ｓと当該抽出した画素データに隣接する画素データの輝度値の総和Ｒとの差分Ｓ−Ｒを求め、これを詳細しきい値保持部５１２に保持された、前記第１の閾値Ｔ１よりも絶対値が大きい第２の閾値Ｔ２と比較することで、ビットデータの値を判定する。具体的には、Ｓ−Ｒ≧Ｔ２であれば当該ビットは１と判定し、Ｓ−Ｒ≦−Ｔ２であれば、当該ビットは０と判定する。そして、−Ｔ２＜Ｓ−Ｒ＜Ｔ２であれば、抽出した画素データにはビットが埋め込まれていないと判定する。
【００７８】
また、透かし検出部５０７は、抽出した電子透かし情報を検出情報保持部５１３に保持させる。この情報は入出力部５０２を介して出力され、操作者に提示される。
【００７９】
ここで、概略しきい値保持部５１０に保持させる第１の閾値Ｔ１と、詳細しきい値保持部５１２に保持させる第２の閾値Ｔ２との関係について説明する。
【００８０】
いま、画像データに埋め込まれた５０ビットの電子透かし情報ｂ１〜ｂ５０の全てを当該画像データから検出する際の誤り率をＡとし、電子透かし情報ｂ１〜ｂ５０を構成する個々のビットを当該画像データから検出する際の誤り率をＰとすると、ＡとＰには、以下の関係式が成り立つ。
【００８１】
【数１】
0003678084.tif 000002
【００８２】
画像データに埋め込まれた５０ビットの電子透かし情報ｂ１〜ｂ５０の全てを当該画像データから検出する際に要求される誤り率Ａが１０−６であるとすると、個々のビットの誤り率Ｐは１０−８より小さくなければならない。
【００８３】
したがって、誤り率１０−６で画像データに埋め込まれた５０ビットの電子透かし情報ｂ１〜ｂ５０全てを検出するためには、ｂ１〜ｂ５０の各々について、１０−８より小さい誤り率で検出する必要がある。しかしながら、概略サイズ・位置合わせ部５０４および詳細サイズ・位置合わせ部５０５において、１０−８より小さい誤り率で検出できるように第１の閾値Ｔ１を設定し、画像データのサイズおよび回転角度を変えながら、ビットデータが埋め込まれているか否かを判断したのでは処理に時間がかかる。
【００８４】
そこで、本実施形態では、概略サイズ・位置合わせ部５０４および詳細サイズ・位置合わせ部５０５において、画像データに埋め込まれた電子透かし情報を検出するために要求される当該画像データのサイズおよび回転角度を決定する際には、本来、要求される個々のビットの誤り率よりも大きい誤り率（たとえば１０−２程度）でビットデータを検出することができるように設定された第１の閾値Ｔ１を用いて、ビットデータが埋め込まれているか否かを判断している。そして、画像データのサイズおよび回転角度を決定した後、透かし検出部５０７において、本来、要求される個々のビットの誤り率１０−８でビットデータを検出することができるように設定された第２の閾値Ｔ２（第１の閾値Ｔ１よりも絶対値が大きくなる）を用いて、画像データに埋め込まれた電子透かし情報を構成するビットｂ１〜ｂ５０各々のビット値を判定するようにしている。
【００８５】
このようにしても、電子透かし情報を構成するビットｂ１〜ｂ５０のうちの２０個分のビットについて、誤り率１０−２程度で全てのビットを検出できた場合にビットデータの埋め込み位置が確認されたとすれば、その判断に誤りが生じる確率は１０−２７であり、実用上問題ない。
【００８６】
次に、本実施形態が適用された電子透かし情報抽出装置のハードウエア構成について説明する。図４は、図３に示す電子透かし情報抽出装置のハードウエア構成の一例を示す図である。
【００８７】
図示するように、本実施形態の電子透かし情報抽出装置は、ＣＰＵ６０１と、メモリ６０２と、ハードディスク装置などの外部記憶装置６０３やその他の外部記憶装置６０４と、キーボードなどの入力装置６０５と、ディスプレイなどの出力装置６０６と、外部記憶装置や入出力装置とのインターフェース６０７とを備えた、一般的な構成を有する情報処理装置上に構築することができる。ここで、図３に示す処理部５０１の各部は、ＣＰＵ６０１がメモリ６０２上にロードされたプログラムを実行することで、情報処理装置上に具現化されるプロセスとして実現される。また、この場合、メモリ６０２や外部記憶装置６０３、６０４が図２に示す記憶部５１４として使用される。
【００８８】
上述した、ＣＰＵ６０１により実行されることで情報処理装置上に本実施形態の電子透かし情報抽出装置を具現化するためのプログラムは、予め外部記憶装置６０３に記憶され、必要に応じてメモリ６０２上にロードされ、ＣＰＵ６０１により実行される。あるいは、可搬性の記憶媒体６０８、たとえばＣＤ−ＲＯＭを扱う外部記憶装置６０４を介して、必要に応じて、可搬性の記憶媒体６０８からメモリ６０２上にロードされ、ＣＰＵ６０１により実行される。もしくは、一旦、外部記憶装置６０４を介して、可搬性の記憶媒体６０８から外部記憶装置６０３にインストールされた後、必要に応じて、外部記憶装置６０３からメモリ６０２上にロードされ、ＣＰＵ６０１により実行される。もしくは、図示していないネットワーク接続装置を介して、ネットワークより外部記憶装置６０３にダウンロードされ、その後、メモリ６０２上にロードされ、あるいは、ネットワークより直接メモリ６０２上にロードされて、ＣＰＵ６０１により実行される。
【００８９】
次に、本実施形態が適用された電子透かし情報抽出装置の動作について説明する。
【００９０】
まず、概略サイズ・位置合わせ部５０４の動作について説明する。
【００９１】
図５は、本実施形態における概略サイズ・位置合わせ部５０４の動作を説明するためのフロー図である。このフローは、制御部５０３が、入出力部５０２と協調して、電子透かし情報を構成するビットｂ１〜ｂｎの情報が埋め込まれた画像データを情報挿入画像保持部５０８に保持させることにより開始される。
【００９２】
まず、概略サイズ・位置合わせ部５０４は、倍率を初期値（たとえば０．５倍）に設定し（ステップＳ１００１）、その後、回転角度を初期値（たとえば０度）に設定する（ステップＳ１００２）。次に、概略サイズ・位置合わせ部５０４は、設定されている倍率と回転角度にしたがい、情報挿入画像保持部５０８に保持されている画像データを変形する（ステップＳ１００３）。
【００９３】
それから、概略サイズ・位置合わせ部５０４は、電子透かし情報を構成するビットｂ１〜ｂｎのうちｊ（＜ｎ）個分のビット（たとえばｂ１〜ｂ２０の２０ビット）各々について、所定のＸ−Ｙ座標（電子透かし情報を埋め込む際に用いたＸ−Ｙ座標であり既知とする）上の予め定められた位置１〜ｍ（この位置は、たとえば電子透かし情報を埋め込んだ者より予め通知されているものとする）にある画素データを抽出し、その輝度値の総和Ｓと当該抽出した画素データに隣接する画素データの輝度値の総和Ｒとの差分Ｓ−Ｒを求め、これを概略しきい値保持部５１０に保持されている第１の閾値Ｔ１と比較することで、当該抽出した画素データにビットデータが埋め込まれているか否かを判断する（ステップＳ１００４）。具体的には、差分Ｓ−Ｒの絶対値が第１の閾値Ｔ１の絶対値よりも大きいか否かを判断することで、当該抽出した画素データにビットデータが埋め込まれているか否かを判断する。そして、ｊ個分のビット全てについて、抽出した画素データに当該ビットデータが埋め込まれていることを確認した場合には（ステップＳ１００５）、ｊ個分のビット各々について求めた差分Ｓ−Ｒの絶対値の総和のピーク値を検出したか否かを判断する（ステップＳ１００６）。ここで、ピーク値を検出するのは、ビットｂ１〜ｂｎ各々の前記所定のＸ−Ｙ座標上の予め定められた位置１〜ｍとビットｂ１〜ｂｎ各々が実際に埋め込まれた画素データの位置とが近づくほど、差分Ｓ−Ｒの絶対値の総和が大きくなると考えられるからである。
【００９４】
ステップＳ１００６において、ピーク値を検出した場合には、ピーク値検出時に設定されていた倍率と回転角度を画像データの概略サイズおよび回転角度を特定する倍率および回転角度に決定し、処理を終了する。
【００９５】
ステップＳ１００５において、ｊ個分のビット全てについて、抽出した画素データに当該ビットデータが埋め込まれていることを確認できなかった場合、および、ステップＳ１００６において、未だピーク値が検出されていないと判断した場合は、ステップＳ１００７に進む。そこで、概略サイズ・位置合わせ部５０４は、設定されている回転角度が最大値（たとえば３６０度）に達しているか否かを判断し、達していない場合には、設定されている回転角度を概略刻み幅保持部５０９に保持されている刻み幅（たとえば３度）だけ増加させ（ステップＳ１００８）、ステップＳ１００３に戻る。一方、達している場合には、設定されている倍率が最大値（たとえば２倍）に達しているか否かを判断し（ステップＳ１００９）、達していない場合には、設定されている倍率を概略刻み幅保持部５０９に保持されている刻み幅（たとえば３％）だけ増加させ（ステップＳ１０１０）、ステップＳ１００３に戻る。
【００９６】
一方、設定されている倍率が最大値に達している場合には、当該画像データに電子透かし情報は埋め込まれていないと判断し、処理を終了する。
【００９７】
次に、詳細サイズ・位置合わせ部５０５の動作について説明する。
【００９８】
図６は、本実施形態における詳細サイズ・位置合わせ部５０５の動作を説明するためのフロー図である。このフローは、図５に示すフローにより、概略サイズ・位置合わせ部５０４が、画像データの概略サイズおよび回転角度を特定する倍率および回転角度を決定すると開始される。
【００９９】
まず、詳細サイズ・位置合わせ部５０５は、倍率を、概略サイズ・位置合わせ部５０４で決定した概略倍率−α（このαは、たとえば概略刻み幅保持部５０９に保持された刻み幅倍率と同じ倍率とする）に設定し（ステップＳ２００１）、その後、回転角度を、概略サイズ・位置合わせ部５０４で決定した概略回転角度−β（このβは、たとえば概略刻み幅保持部５０９に保持された刻み幅回転角度と同じ回転角度とする）に設定する（ステップＳ２００２）。次に、詳細サイズ・位置合わせ部５０５は、設定されている倍率と回転角度にしたがい、情報挿入画像保持部５０８に保持されている画像データを変形する（ステップＳ２００３）。
【０１００】
それから、詳細サイズ・位置合わせ部５０５は、電子透かし情報を構成するビットｂ１〜ｂｎのうちｋ（＜ｎ）個分のビット（たとえばｂ２１〜ｂ４０の２０ビット）各々について、電子透かし情報を埋め込む際に用いたＸ−Ｙ座標上の予め定められた位置１〜ｍにある画素データを抽出し、その輝度値の総和Ｓと当該抽出した画素データに隣接する画素データの輝度値の総和Ｒとの差分Ｓ−Ｒを求め、これを概略しきい値保持部５１０に保持されている第１の閾値Ｔ１と比較することで、当該抽出した画素データにビットデータが埋め込まれているか否かを判断する（ステップＳ２００４）。そして、ｋ個分のビット全てについて、抽出した画素データに当該ビットデータが埋め込まれていることを確認した場合には（ステップＳ２００５）、ｋ個分のビット各々について求めた差分Ｓ−Ｒの絶対値の総和のピーク値を検出したか否かを判断し（ステップＳ２００６）、検出した場合には、ピーク値検出時に設定されていた倍率と回転角度を画像データの詳細サイズおよび回転角度を特定する倍率および回転角度に決定し、処理を終了する。
【０１０１】
ステップＳ２００５において、ｋ個分のビット全てについて、抽出した画素データに当該ビットデータが埋め込まれていることを確認できなかった場合、および、ステップＳ２００６において、未だピーク値を検出していないと判断した場合は、ステップＳ２００７に進む。そこで、詳細サイズ・位置合わせ部５０５は、設定されている回転角度が概略サイズ・位置合わせ部５０４で決定した概略回転角度＋βに達しているか否かを判断し、達していない場合には、設定されている回転角度を詳細刻み幅保持部５１１に保持されている、概略刻み幅保持部５０９に保持されている刻み幅よりも小さい刻み幅（たとえば１度）だけ増加させ（ステップＳ２００８）、ステップＳ２００３に戻る。一方、達している場合には、設定されている倍率が概略サイズ・位置合わせ部５０４で決定した概略倍率＋αに達しているか否かを判断し（ステップＳ２００９）、達していない場合には、設定されている倍率を詳細刻み幅保持部５１１に保持されている、概略刻み幅保持部５０９に保持されている刻み幅よりも小さい刻み幅（たとえば１％）だけ増加させ（ステップＳ２０１０）、ステップＳ２００３に戻る。
【０１０２】
一方、設定されている倍率が概略倍率＋αに達している場合には、当該画像データに電子透かし情報は埋め込まれていないと判断し、処理を終了する。
【０１０３】
図６に示すフローにより、詳細サイズ・位置合わせ部５０５において、画像データの詳細サイズおよび回転角度を特定する倍率および回転角度が決定されると、画像復元部５０６は、情報挿入画像保持部５０８に保持されている画像データを、当該決定された倍率および回転角度で変形し、幾何学的変形が加えられる前の画像データを復元する。これを受けて、透かし検出部５０７は、画像復元部５０６で復元された画像データより、電子透かし情報を構成するビットｂ１〜ｂｎの各々について、電子透かし情報を埋め込む際に用いたＸ−Ｙ座標上の予め定められた位置１〜ｍにある画素データを抽出し、その輝度値の総和Ｓと当該抽出した画素データに隣接する画素データの輝度値の総和Ｒとの差分Ｓ−Ｒを求め、これを詳細しきい値保持部５１２に保持された、前記第１の閾値Ｔ１よりも絶対値が大きい第２の閾値Ｔ２と比較することで、ビットデータの値を判定する。具体的には、Ｓ−Ｒ≧Ｔ２であれば当該ビットは１と判定し、Ｓ−Ｒ≦−Ｔ２であれば、当該ビットは０と判定し、そして、−Ｔ２＜Ｓ−Ｒ＜Ｔ２であれば、当該抽出した画素データにはビットは埋め込まれていないと判定する。
【０１０４】
また、透かし検出部５０７は、抽出した電子透かし情報を検出情報保持部５１３に保持させる。この情報は入出力部５０２を介して出力され、操作者に提示される。
【０１０５】
以上、本発明の第１実施形態について説明した。
【０１０６】
本実施形態によれば、キャリブレーション用電子透かしを用いることなく、幾何学的変形が加えられた画像データから電子透かし情報が埋め込まれている位置を特定することが可能になる。また、本実施形態では、まず、概略サイズ・位置合わせ部５０４において、画像データに埋め込まれた電子透かし情報を検出するために要求される当該画像データの概略のサイズおよび回転角度を特定する倍率および回転角度を決定し、それから、詳細サイズ・位置合わせ部５０５により、前記決定された概略の倍率および回転角度を基に、当該電子透かし情報を検出するために要求される当該画像データの詳細なサイズおよび回転角度を特定する倍率および回転角度を決定するようにしている。このようにすることで、電子透かし情報が埋め込まれたの画素データの確認をより効率的に且つ迅速に行うことができる。さらに、本実施形態では、概略サイズ・位置合わせ部５０４および詳細サイズ・位置合わせ部５０５において、抽出した画素データにビットデータが埋め込まれているか否かの判断を行うために用いる第１の閾値Ｔ１を、透かし検出部５０７において、抽出した画素データに埋め込まれているビットデータのデータ値を判定するのに用いる第２の閾値Ｔ２よりも、その絶対値が小さくさるように設定することで、画像データのサイズ・位置合わせ段階での精度を、電子透かし情報の判定段階の精度よりも緩やかになるようにしている。このようにすることで、電子透かし情報が埋め込まれたの画素データの確認をより効率的且つ迅速に行うことができる。
【０１０７】
次に、本発明の第２実施形態について説明する。
【０１０８】
本実施形態では、所定のＸ−Ｙ座標上の予め定められた位置にある少なくとも１つの画素データに変更を加えることで電子透かし情報が埋め込まれた画像データであって幾何学的変形が加えられた画像データより、前記所定のＸ−Ｙ座標上の予め定められた位置にある少なくとも１つの画素データを抽出し、このデータ値を参照値と比較することで、当該画素データに情報が埋め込まれているか否かを判断する処理を、上記の第１実施形態とは異なり前記画像データ自体はそのままで前記所定のＸ−Ｙ座標に変形を加えながら、当該画素データに情報が埋め込まれていることを確認するまで実行する。
【０１０９】
まず、本発明の２実施形態が適用された電子透かし情報抽出装置の具体的な説明に先立ち、本実施形態における電子透かし情報の抽出処理の原理を説明する。
【０１１０】
図７および図８は、本発明の第２実施形態における画像データよりの電子透かし情報の抽出処理の原理を説明するための図である。
【０１１１】
図１８に示すように、電子透かし情報を構成するビットｂ１〜ｂｎ各々が、所定のＸ−Ｙ座標上の予め定められた位置１〜ｍにある画素データの輝度を、当該ビットが１ならばＵだけ増加させ、０ならばＵだけ減少させるように変更すことで、画像データ上に埋め込まれているとする。その後、この電子透かし情報が埋め込まれた画像データが所定の倍率で拡大／縮小されたとする。この場合、拡大／縮小された画像データにおいては、ビットｂ１〜ｂｎ各々の前記所定のＸ−Ｙ座標上の予め定められた位置１〜ｍとビットｂ１〜ｂｎ各々が実際に埋め込まれた画素データの位置との対応がずれてしまうので、抽出することができない。
【０１１２】
そこで、図７に示すように、前記所定のＸ−Ｙ座標（電子透かし情報を画像データに埋め込む際に用いた座標）を所定のサイズ（たとえば０．５倍）に縮小し、電子透かし情報を構成するビットｂ１〜ｂｎの任意数分のビット（たとえば２０（＜ｎ）個のビット）各々について、前記縮小したＸ−Ｙ座標上の予め定められた位置１〜ｍにある画素データを抽出し、その輝度値の総和Ｓと当該抽出した画素データに隣接する画素データの輝度値の総和Ｒとの差分Ｓ−Ｒを求め、当該差分Ｓ−Ｒを所定の閾値Ｔと比較することで、当該抽出した画素データにビットデータが埋め込まれているか否かを判断する。そして、埋め込まれていないと判断した場合は、所定の倍率（たとえば１％）刻みでＸ−Ｙ座標を拡大し、同様の処理を行う。この処理を、ビットデータが埋め込まれていることが確認されるまで繰り返し実行する。
【０１１３】
上記の倍率刻みは、画素データの変更箇所のパターンに依存して決定される場合がある。例えば、画像の変形率が真の変形率と多少ずれていても画像の情報埋込みが確認できる場合は、すなわち画素データの変更箇所がずれていても埋込み情報が確認できる範囲では、前記倍率刻みを大きくしても透かし情報の検出が可能である。
【０１１４】
そして、ビットデータが埋め込まれていることが確認された場合（具体的には、差分Ｓ−Ｒの絶対値が閾値Ｔより大きく且つ最大となるサイズおよび回転角度のＸ−Ｙ座標が検出された場合）は、そのときの倍率のＸ−Ｙ座標に基づき、電子透かし情報を構成するビットｂ１〜ｂｎ各々について、予め定められた位置１〜ｍにある画素データを抽出し、その輝度値の総和Ｓと当該抽出した画素データに隣接する画素データの輝度値の総和Ｒとの差分Ｓ−Ｒを求め、当該差分Ｓ−Ｒを所定の閾値Ｔと比較することで、当該抽出した画素データに埋め込まれたビットデータを検出する。これにより、画像データに埋め込まれた電子透かし情報ｂ１〜ｂｎを検出する。
【０１１５】
たとえば、電子透かし情報が埋め込まれた画像データが２倍に拡大された場合、図７に示すように、当該電子透かし情報を画像データに埋め込む際に用いたＸ−Ｙ座標を２倍に拡大することで、電子透かし情報の検出が可能となる。
【０１１６】
また、図１８に示すようにして電子透かし情報を構成するビットｂ１〜ｂｎが埋め込まれた画像データが、その後、所定の角度だけ回転されたとする。この場合、回転された画像データにおいては、ビットｂ１〜ｂｎ各々の前記所定のＸ−Ｙ座標上の予め定められた位置１〜ｍとビットｂ１〜ｂｎ各々が実際に埋め込まれた画素データの位置との対応がずれてしまうので、抽出することができない。
【０１１７】
そこで、図８に示すように、前記所定のＸ−Ｙ座標を所定の角度（たとえば時計回りで−９０度）だけ回転させ、電子透かし情報を構成するビットｂ１〜ｂｎの任意数分のビット（たとえば２０（＜ｎ）個のビット）各々について、前記回転させたＸ−Ｙ座標上の予め定められた位置１〜ｍにある画素データを抽出し、その輝度値の総和Ｓと当該抽出した画素データに隣接する画素データの輝度値の総和Ｒとの差分Ｓ−Ｒを求め、当該差分Ｓ−Ｒを所定の閾値Ｔと比較することで、当該抽出した画素データにビットデータが埋め込まれているか否かを判断する。そして、埋め込まれていないと判断した場合は、所定の角度（たとえば時計回りに１度）刻みで、Ｘ−Ｙ座標をさらに回転させ、同様の処理を行う。この処理を、ビットデータが埋め込まれていることが確認されるまで繰り返し実行する。
【０１１８】
上記の角度刻みは、画素データの変更箇所のパターンに依存して決定される場合がある。例えば、画像の回転角度が真の回転角度と多少ずれていても画像の情報埋込みが確認できる場合は、すなわち画素データの変更箇所がずれていても埋込み情報が確認できる範囲では、前記角度刻みを大きくしても透かし情報の検出が可能である。
【０１１９】
そして、ビットデータが埋め込まれていることが確認された場合は、そのときの回転角度のＸ−Ｙ座標に基づき、電子透かし情報を構成するビットｂ１〜ｂｎ各々について、予め定められた位置１〜ｍにある画素データを抽出し、その輝度値の総和Ｓと当該抽出した画素データに隣接する画素データの輝度値の総和Ｒとの差分Ｓ−Ｒを求め、当該差分Ｓ−Ｒを所定の閾値Ｔと比較することで、当該抽出した画素データに埋め込まれたビットデータを検出する。これにより、画像データに埋め込まれた電子透かし情報ｂ１〜ｂｎを検出する。
【０１２０】
たとえば、電子透かし情報が埋め込まれた画像データが時計回りに４５度だけ回転されている場合、図８に示すように、当該電子透かし情報を画像データに埋め込む際に用いたＸ−Ｙ座標を時計回りに４５度回転させることで、電子透かし情報の検出が可能となる。
【０１２１】
本実施形態では、図７および図８に示す処理を組み合わせて実施することで、電子透かし情報が埋め込まれた画像データに拡大／縮小や回転処理が施された場合でも、当該画像データに埋め込まれた電子透かし情報の位置を特定できるようにしたものである。
【０１２２】
次に、上記の電子透かし情報抽出処理を行う電子透かし情報抽出装置について説明する。なお、本実施形態が適用された電子透かし情報抽出装置の機能構成は、図３において、概略サイズ・位置合わせ部５０４、詳細サイズ・位置合わせ部５０５の動作が第１実施形態のものと異なるのみである。また、そのハードウエア構成は、図４に示すものと同様である。そこで、本実施形態では、電子透かし情報抽出装置の機能構成およびハードウエア構成の説明を図３及び図４を参照することで省略し、その動作についてのみ説明することとする。
【０１２３】
まず、本実施形態での概略サイズ・位置合わせ部５０４の動作について説明する。
【０１２４】
図９は、本実施形態における概略サイズ・位置合わせ部５０４の動作を説明するためのフロー図である。このフローは、制御部５０３が、入出力部５０２と協調して、電子透かし情報を構成するビットｂ１〜ｂｎの情報が埋め込まれた画像データを情報挿入画像保持部５０８に保持させることにより開始される。
【０１２５】
まず、概略サイズ・位置合わせ部５０４は、倍率を初期値（たとえば０．５倍）に設定し（ステップＳ３００１）、その後、回転角度を初期値（たとえば０度）に設定する（ステップＳ３００２）。次に、概略サイズ・位置合わせ部５０４は、設定されている倍率と回転角度にしたがい、所定のＸ−Ｙ座標（電子透かし情報を埋め込む際に用いたＸ−Ｙ座標であり既知とする）を変形する（ステップＳ３００３）。
【０１２６】
それから、概略サイズ・位置合わせ部５０４は、情報挿入画像保持部５０８に保持されている画像データより、電子透かし情報を構成するビットｂ１〜ｂｎのうちｊ個分のビット（たとえばｂ１〜ｂ２０の２０ビット）各々について、変形したＸ−Ｙ座標上の予め定められた位置１〜ｍ（この位置は、たとえば電子透かし情報を埋め込んだ者より予め通知されているものとする）にある画素データを抽出し、その輝度値の総和Ｓと当該抽出した画素データに隣接する画素データの輝度値の総和Ｒとの差分Ｓ−Ｒを求め、これを概略しきい値保持部５１０に保持されている第１の閾値Ｔ１と比較することで、当該抽出した画素データにビットデータが埋め込まれているか否かを判断する（ステップＳ３００４）。そして、ｊ個分のビット全てについて、抽出した画素データに当該ビットデータが埋め込まれていることを確認した場合には（ステップＳ３００５）、ｊ個分のビット各々について求めた差分Ｓ−Ｒの絶対値の総和のピーク値を検出したか否かを判断する（ステップＳ３００６）。
【０１２７】
ステップＳ３００６において、ピーク値を検出した場合には、ピーク値検出時に設定されていた倍率と回転角度を、画像データより電子透かし情報ｂ１〜ｂｎが埋め込まれた画素データを抽出するのに用いるＸ−Ｙ座標の概略サイズおよび回転角度を特定する倍率および回転角度に決定し、処理を終了する。
【０１２８】
ステップＳ３００５において、ｊ個分のビット全てについて、抽出した画素データに当該ビットデータが埋め込まれていることを確認できなかった場合、および、ステップＳ３００６において、未だピーク値が検出されていないと判断した場合は、ステップＳ３００７に進む。そこで、概略サイズ・位置合わせ部５０４は、設定されている回転角度が最大値（たとえば３６０度）に達しているか否かを判断し、達していない場合には、設定されている回転角度を概略刻み幅保持部５０９に保持されている刻み幅（たとえば３度）だけ増加させ（ステップＳ３００８）、ステップＳ３００３に戻る。一方、達している場合には、設定されている倍率が最大値（たとえば２倍）に達しているか否かを判断し（ステップＳ３００９）、達していない場合には、設定されている倍率を概略刻み幅保持部５０９に保持されている刻み幅（たとえば３％）だけ増加させ（ステップＳ３０１０）、ステップＳ３００３に戻る。
【０１２９】
上記の概略刻み保持部５０９に保持されている倍率刻みおよび角度刻みは、前述したように、画素データの変更箇所のパターンに依存して決定される場合がある。すなわち、画素データの埋込み箇所がずれていても埋込み情報が確認できる範囲では、前記倍率刻みおよび角度刻みを大きくしても透かし情報の検出が可能である。
【０１３０】
一方、設定されている倍率が最大値に達している場合には、当該画像データに電子透かし情報は埋め込まれていないと判断し、処理を終了する。
【０１３１】
次に、本実施形態での詳細サイズ・位置合わせ部５０５の動作について説明する。
【０１３２】
図１０は、本実施形態における詳細サイズ・位置合わせ部５０５の動作を説明するためのフロー図である。このフローは、図９に示すフローにより、概略サイズ・位置合わせ部５０４が、Ｘ−Ｙ座標の概略サイズおよび回転角度を特定する倍率および回転角度を決定すると開始される。
【０１３３】
まず、詳細サイズ・位置合わせ部５０５は、倍率を、概略サイズ・位置合わせ部５０４で決定した概略倍率−α（このαは、たとえば概略刻み幅保持部５０９に保持された刻み幅倍率と同じ倍率とする）に設定し（ステップＳ４００１）、その後、回転角度を、概略サイズ・位置合わせ部５０４で決定した概略回転角度−β（このβは、たとえば概略刻み幅保持部５０９に保持された刻み幅回転角度と同じ回転角度とする）に設定する（ステップＳ４００２）。次に、詳細サイズ・位置合わせ部５０５は、設定されている倍率と回転角度にしたがい、電子透かし情報を埋め込む際に用いたＸ−Ｙ座標を変形する（ステップＳ４００３）。
【０１３４】
それから、詳細サイズ・位置合わせ部５０５は、電子透かし情報を構成するビットｂ１〜ｂｎのうちｋ個分のビット（たとえばｂ２１〜ｂ４０の２０ビット）各々について、変形されたＸ−Ｙ座標上の予め定められた位置１〜ｍにある画素データを抽出し、その輝度値の総和Ｓと当該抽出した画素データに隣接する画素データの輝度値の総和Ｒとの差分Ｓ−Ｒを求め、これを概略しきい値保持部５１０に保持されている第１の閾値Ｔ１と比較することで、当該抽出した画素データにビットデータが埋め込まれているか否かを判断する（ステップＳ４００４）。そして、ｋ個分のビット全てについて、抽出した画素データに当該ビットデータが埋め込まれていることを確認した場合には（ステップＳ４００５）、ｋ個分のビット各々について求めた差分Ｓ−Ｒの絶対値の総和のピーク値を検出したか否かを判断し（ステップＳ４００６）、検出した場合には、ピーク値検出時に設定されていた倍率と回転角度を、画像データより電子透かし情報ｂ１〜ｂｎが埋め込まれた画素データを抽出するのに用いるＸ−Ｙ座標の詳細サイズおよび回転角度を特定する倍率および回転角度に決定し、処理を終了する。
【０１３５】
ステップＳ４００５において、ｋ個分のビット全てについて、抽出した画素データに当該ビットデータが埋め込まれていることを確認できなかった場合、および、ステップＳ４００６において、未だピーク値を検出していないと判断した場合は、ステップＳ４００７に進む。そこで、詳細サイズ・位置合わせ部５０５は、設定されている回転角度が概略サイズ・位置合わせ部５０４で決定した概略回転角度＋βに達しているか否かを判断し、達していない場合には、設定されている回転角度を詳細刻み幅保持部５１１に保持されている、概略刻み幅保持部５０９に保持されている刻み幅よりも小さい刻み幅（たとえば１度）だけ増加させ（ステップＳ４００８）、ステップＳ４００３に戻る。一方、達している場合には、設定されている倍率が概略サイズ・位置合わせ部５０４で決定した概略倍率＋αに達しているか否かを判断し（ステップＳ４００９）、達していない場合には、設定されている倍率を詳細刻み幅保持部５１１に保持されている、概略刻み幅保持部５０９に保持されている刻み幅よりも小さい刻み幅（たとえば１％）だけ増加させ（ステップＳ４０１０）、ステップＳ４００３に戻る。
【０１３６】
一方、設定されている倍率が概略倍率＋αに達している場合には、当該画像データに電子透かし情報は埋め込まれていないと判断し、処理を終了する。
【０１３７】
図１０に示すフローにより、詳細サイズ・位置合わせ部５０５において、画像データより電子透かし情報ｂ１〜ｂｎが埋め込まれた画素データを抽出するのに用いるＸ−Ｙ座標の詳細サイズおよび回転角度を特定する倍率および回転角度が決定されると、画像復元部５０６は、情報挿入画像保持部５０８に保持されている画像データを、当該決定された倍率および回転角度に応じた倍率および回転角度で変形し、幾何学的変形が加えられる前の画像データを復元する。たとえば、決定された倍率が０．５倍であり回転角度が４５度であるとすると、倍率２倍、回転角度−４５度で情報挿入画像保持部５０８に保持されている画像データを変形することにより、幾何学的変形が加えられる前の画像データを復元する。
【０１３８】
次に、透かし検出部５０７は、画像復元部５０６で復元された画像データより、電子透かし情報を構成するビットｂ１〜ｂｎの各々について、電子透かし情報ｂ１〜ｂｎが埋め込まれた画素データを抽出するのに用いるＸ−Ｙ座標（変形が施されていないＸ−Ｙ座標）上の予め定められた位置１〜ｍにある画素データを抽出し、その輝度値の総和Ｓと当該抽出した画素データに隣接する画素データの輝度値の総和Ｒとの差分Ｓ−Ｒを求め、これを詳細しきい値保持部５１２に保持された、前記第１の閾値Ｔ１よりも絶対値が大きい第２の閾値Ｔ２と比較することで、ビットデータの値を判定する。また、透かし検出部５０７は、抽出した電子透かし情報を検出情報保持部５１３に保持させる。この情報は入出力部５０２を介して出力され、操作者に提示される。
【０１３９】
以上、本発明の第２実施形態について説明した。
【０１４０】
本実施形態も、上記の第１実施形態と同様の効果を奏する。加えて、本実施形態によれば、電子透かし情報の埋め込み位置の確認を、画像データ自体に幾何学的変形を加えることなく行えるので、第１実施形態に比べ、処理に要するメモリ容量やプロセッサの負荷を低減させることができる。
【０１４１】
さらに、本実施形態では、詳細サイズ・位置合わせ部５０５において、画像データより電子透かし情報ｂ１〜ｂｎが埋め込まれた画素データを抽出するのに用いるＸ−Ｙ座標の詳細サイズおよび回転角度を特定する倍率および回転角度が決定されると、画像復元部５０６が、情報挿入画像保持部５０８に保持されている画像データを、当該決定された倍率および回転角度に応じた倍率および回転角度で変形し、幾何学的変形が加えられる前の画像データを復元している。そして、透かし検出部５０７において、幾何学的変形が加えられる前の状態に復元された画像データより電子透かし情報を抽出するようにしている。
【０１４２】
通常、画像データを縮小する場合、その縮小率にしたがって、画像データから任意の画素データを取り去ることで、その画像データのサイズを小さくしている。このため、電子透かし情報が埋め込まれた画像データに対して縮小処理が施されている場合、縮小処理の際に、電子透かし情報（の１部）が埋め込まれた画素データが当該画像データから採り去られている可能性もある。このような場合、電子透かし情報の全てを当該画像データから効率よく抽出できなくなることも考えられる。
【０１４３】
これに対し、本実施形態では、画像データが縮小されている場合、詳細サイズ・位置合わせ部５０５において決定されたＸ−Ｙ座標の詳細サイズを特定する倍率に応じた倍率で画像データを変形し、当該画像データを幾何学的変形が加えられる前のサイズに拡大している。通常、画像データの拡大は、補間により行われる。
【０１４４】
上記の第１、２実施形態では、電子透かし情報を構成するビットｂ１〜ｂｎ各々の画像データへの埋め込みを、ビット各々につき、所定のＸ−Ｙ座標上の予め定められた位置１〜ｍにある１つの画素データ各々に埋め込む場合を例に採り説明しているが、通常、ビット各々につき、所定のＸ−Ｙ座標上の予め定められた位置１〜ｍにあるＮ×Ｍの画素データ各々に埋め込むことが多い。このような場合、本第２実施形態によれば、画像データを縮小するときに、ビットデータが埋め込まれたＮ×Ｍの画素データのうちの１つが失われたとしても、画像データの拡大の際に、ビットデータが埋め込まれた残りの画素データに基づいて補間されることにより、縮小により失われた、ビットデータが埋め込まれた画素データを復元することができる可能性が高い。このため、本第２実施形態によれば、電子透かし情報を構成するビットｂ１〜ｂｎの検出精度を向上させることができる。
【０１４５】
なお、上記の第１、２実施形態では、電子透かし情報を構成するビットｂ１〜ｂｎのうち２０個分のビットの各々について、当該ビットのビットデータがＸ−Ｙ座標上の予め定められた位置１〜ｍにある画素データに埋め込まれているか否かを判定することで、電子透かし情報ｂ１〜ｂｎを検出するために要求される画像データあるいはＸ−Ｙ座標のサイズや回転角度を特定するようにしているが、本発明は、これに限定されるものではない。
【０１４６】
たとえば、電子透かし情報を構成するビットｂ１〜ｂｎのうちのいずれか１つのビットについて、当該ビットのビットデータがＸ−Ｙ座標上の予め定められた位置１〜ｍにある画素データに埋め込まれているか否かを判定することで、電子透かし情報ｂ１〜ｂｎを検出するために要求される画像データあるいはＸ−Ｙ座標のサイズや回転角度を特定するようにしてもよい。あるいは、電子透かし情報を構成するビットｂ１〜ｂｎ各々について、当該ビットのビットデータがＸ−Ｙ座標上の予め定められた位置１〜ｍにある画素データに埋め込まれているか否かを判定することで、電子透かし情報ｂ１〜ｂｎを検出するために要求される画像データあるいはＸ−Ｙ座標のサイズや回転角度を特定するようにしてもよい。
【０１４７】
前者の場合、ビットデータが画素データに埋め込まれているか否かを判定するために用いる第１の閾値Ｔ１をより厳格に設定することで、電子透かし情報が埋め込まれたの画素データの確認をより効率的且つ迅速に行うことができる。たとえば、電子透かし情報を構成する個々のビットを誤り率１０−８程度で検出することができるように第１の閾値Ｔ１を設定すれば、電子透かし情報を構成するビット数ｎが５０の場合、ビットｂ１〜ｂ５０のいずれか１つについて、当該ビットが検出できたとする判断に誤りが生じる確率は１０−８であり、実用上問題ない。
【０１４８】
また、後者の場合、ビットデータが画素データに埋め込まれているか否かを判定するために用いる第１の閾値Ｔ１をより緩やか設定することで、電子透かし情報が埋め込まれたの画素データの確認をより効率的且つ迅速に行うことができる。たとえば、電子透かし情報を構成する個々のビットを誤り率１０−１程度で検出することができるように第１の閾値Ｔ１を設定すれば、電子透かし情報を構成するビット数ｎが５０の場合、ビットｂ１〜ｂ５０各々を全て検出できたとする判断に誤りが生じる確率は１０−５０であり、実用上問題ない。
【０１４９】
また、上記の第１、２実施形態では、Ｘ−Ｙ座標上の予め定められた位置にある複数の画素データ各々の輝度値の総和Ｓとの差分を算出するための参照値として、前記複数の画素データ各々に隣接する画素データの輝度値の総和Ｒを用いているが、本発明はこれに限定されない。たとえば、前記複数の画像データ各々について、当該画素データの近傍にある複数の画素データより補間を用いて推定した当該画素データの輝度値の総和Ｒ´を用いるようにしてもよい。このようにすることで、さらに精度よく電子透かし情報を抽出することが可能となる。
【０１５０】
次に、本発明の第３実施形態について説明する。
【０１５１】
上記の第１、２実施形態では、透かし検出部５０７において、電子透かし情報を構成するビットｂ１〜ｂｎの判定に用いる第２の閾値Ｔ２を、概略サイズ・位置合わせ部５０４および詳細サイズ位置合わせ部５０５において、電子透かし情報を構成するビットｂ１〜ｂｎの埋め込み位置特定に用いる第１の閾値Ｔ１よりも大きく設定している。そして、透かし検出部５０７により、電子透かし情報を構成するビットｂ１〜ｂｎ各々について前記特定された埋め込み位置１〜ｍにある画素データを抽出し、その輝度値の総和Ｓと当該抽出した画素データに隣接する画素データの輝度値の総和Ｒとの差分Ｓ−Ｒを求め、Ｓ−Ｒ≧Ｔ２であれば当該ビットは１と判定し、Ｓ−Ｒ≦−Ｔ２であれば、当該ビットは０と判定し、−Ｔ２＜Ｓ−Ｒ＜Ｔ２であれば、抽出した画素データにはビットが埋め込まれていないと判定している。
【０１５２】
このため、第２の閾値Ｔ２が電子透かし情報を抽出しようとしている画像データに対して最適化されていないと、電子透かし情報を構成するビットｂｉ（１≦ｉ≦ｎ）が画像データの予め定められた位置１〜ｍに埋め込まれているにもかかわらず−Ｔ２＜Ｓ−Ｒ＜Ｔ２となり、ビットｂｉは画像データに埋め込まれていないと判定されてしまうこともある。すなわち、電子透かし情報を構成するビットｂ１〜ｂｎの抽出感度が低くなってしまう。
【０１５３】
そこで、本実施形態では、透かし検出部５０７において、電子透かし情報を構成するビットｂ１〜ｂｎの判定に用いる第２の閾値Ｔ２を０に設定することで、画像データに埋め込まれた電子透かし情報を構成するビットｂ１〜ｂｎ各々が、必ず０か１のいずれかに判定されるようにしている。また、これに伴い、画像データに埋め込まれた電子透かし情報を構成するビットｂ１〜ｂｎ各々のビット値判定に先立ち、第２の閾値Ｔ２を０に設定した場合における当該画像データに埋め込まれた電子透かし情報を構成するビットｂ１〜ｂｎのビット値判定誤り率を求め、当該誤り率が所定値以下の場合、すなわちビット値判定の信頼度が所定値以上の場合にのみ、上記のビット値判定を行なうようにしている。
【０１５４】
次に、本実施形態が適用された電子透かし情報抽出装置について説明する。なお、本実施形態が適用された電子透かし情報抽出装置の機能構成は、図３において、詳細しきい値保持部５１２に保持されている第２の閾値Ｔ２が０である点を除けば、透かし検出部５０７の機能が第１、２実施形態のものと異なるのみである。また、そのハードウエア構成は、図４に示すものと同様である。そこで、本実施形態では、透かし検出部５０７についてのみ説明することとする。
【０１５５】
図１１は、本発明の第３実施形態で用いる透かし検出部５０７の機能構成図である。
【０１５６】
図示するように、本実施形態で用いる透かし検出部５０７は、誤り率算出部５０７ａとビット値判定部５０７ｂを有する。
【０１５７】
誤り率算出部５０７ａは、画像復元部５０６で復元された画像データより、電子透かし情報を構成するビットｂ１〜ｂｎのうちのｈ個分のビット（たとえばｂ１〜ｂ２０の２０ビット）各々について、Ｘ−Ｙ座標上の予め定められた位置１〜ｍにある画素データを抽出し、その輝度値の総和Ｓと当該抽出した画素データに隣接する画素データの輝度値の総和Ｒとの差分Ｓ−Ｒを求める。そして、ｈ個分のビット各々について求めたｈ個の差分Ｓ−Ｒを、第２の閾値Ｔ２（＝０）を境界として、すなわち、差分Ｓ−Ｒの正負に基づいて、２つの部分集合に分ける。それから、２つの部分集合各々について、当該部分集合に含まれる差分Ｓ−Ｒの平均値や分散値などの統計値、あるいは、ヒストグラム分布より、差分Ｓ−Ｒの確率分布曲線を求める。そして、上記のようにして求めた正負２つの部分集合の少なくとも１つの確率分布曲線からビット値判定誤りを求める。
【０１５８】
図１２は、上記のようにして求めた差分Ｓ−Ｒの確率分布曲線を示している。本実施形態では、上記の第１、２実施形態にしたがい、電子透かし情報を構成するビットｂ１〜ｂｎの画像データへの埋め込み位置が特定されているので、電子透かし情報を構成するビットｂ１〜ｂｎのうちのｈ個分のビット（たとえばｂ１〜ｂ２０の２０ビット）各々について求めた差分Ｓ−Ｒは、電子透かし情報が埋め込まれている場合は(a)に示すように、正負の２つの部分集合に分かれる。したがって、この正負２つの部分集合の確率分布曲線から、後述するようにビット値判定誤り率を求めることができる。
【０１５９】
なお、電子透かし情報が埋め込まれていない場合における差分Ｓ−Ｒの確率分布曲線を(b)に示す。この場合、図示するように差分Ｓ−Ｒの確率分布曲線は、０を中心とした分布となる。
【０１６０】
ビット値判定部５０７ｂは、誤り率算出部５０７ａで求めたビット値判定誤り率が所定値（この所定値は抽出する電子透かし情報に要求される信頼度に応じて設定する。たとえば１０−３）以下の場合、画像復元部５０６で復元された画像データより、電子透かし情報を構成するビットｂ１〜ｂｎ各々について、電子透かし情報を埋め込む際に用いたＸ−Ｙ座標上の予め定められた位置１〜ｍにある画素データを抽出し、その輝度値の総和Ｓと当該抽出した画素データに隣接する画素データの輝度値の総和Ｒとの差分Ｓ−Ｒを求め、これを詳細しきい値保持部５１２に保持された第２の閾値Ｔ２、すなわち０と比較することで、ビットデータの値を判定する。具体的には、Ｓ−Ｒが正であれば当該ビットは１と判定し、Ｓ−Ｒが負であれば、当該ビットは０と判定する。
【０１６１】
図１３は、本発明の第３実施形態で用いる透かし検出部５０７の動作を説明するためのフロー図である。このフローは、図６に示すフローにより、詳細サイズ・位置合わせ部５０５において、画像データの詳細サイズおよび回転角度を特定する倍率および回転角度が決定され、画像復元部５０６により、情報挿入画像保持部５０８に保持されている画像データが、当該決定された倍率および回転角度で変形されて、幾何学的変形が加えられる前の画像データに復元されると、あるいは、図１０に示すフローにより、詳細サイズ・位置合わせ部５０５において、画像データより電子透かし情報ｂ１〜ｂｎが埋め込まれた画素データを抽出するのに用いるＸ−Ｙ座標の詳細サイズおよび回転角度を特定する倍率および回転角度が決定され、画像復元部５０６により、情報挿入画像保持部５０８に保持されている画像データが、当該決定された倍率および回転角度に応じた倍率および回転角度で変形されて、幾何学的変形が加えられる前の画像データに復元されると、開始される。
【０１６２】
まず、誤り率算出部５０７ａは、画像復元部５０６で復元された画像データより、電子透かし情報を構成するビットｂ１〜ｂｎのうちのｈ個分のビット（たとえばｂ１〜ｂ２０の２０ビット）各々について、Ｘ−Ｙ座標上の予め定められた位置１〜ｍにある画素データを抽出し、その輝度値の総和Ｓと当該抽出した画素データに隣接する画素データの輝度値の総和Ｒとの差分Ｓ−Ｒを求める（ステップＳ５００１）。次に、求めたｈ個の差分Ｓ−Ｒをその正負に基づいて、２つの部分集合に分ける（ステップＳ５００２）。それから、２つの部分集合各々について差分Ｓ−Ｒの平均Ｅと分散Ｖを求める。そして、求めた平均Ｅおよび分散Ｖから、２つの部分集合各々に対する差分Ｓ−Ｒの確率分布曲線を求める（ステップＳ５００３）。
【０１６３】
次に、誤り率算出部５０７ａは、上記のようにして求めた２つの確率分布曲線からビット値判定誤り率ＦＰを求める（ステップＳ５００４）。具体的には、本来「１」であるビットが「０」であると誤って判定される確率ＦＰは、図１２(a)において、正の集合に対する確率分布曲線における負（閾値Ｔ２＝０より小さい部分（右下がり斜線の部分））の割合として求める。また、本来「０」であるビットが「１」であると誤って判定される確率ＦＰは、図１２(a)において、負の集合に対する確率分布曲線における正（閾値Ｔ２＝０より大きい部分（塗りつぶした部分））の割合として求める。
【０１６４】
次に、誤り率算出部５０７ａは、上記のようにして求めたビット値判定誤り率ＦＰがいずれも所定値（たとえば１０−３）以下であることを確認し（ステップＳ５００５）、ステップＳ５００６に進む。もし、ビット値判定誤り率ＦＰがいずれも所定値より大きい場合（ステップＳ５００５）、要求される信頼度でビット値判定を行なうことができないとして、処理を終了する。
【０１６５】
ステップＳ５００６において、ビット値判定部５０７ｂは、画像復元部５０６で復元された画像データより、電子透かし情報を構成するビットｂ１〜ｂｎ各々について、電子透かし情報を埋め込む際に用いたＸ−Ｙ座標上の予め定められた位置１〜ｍにある画素データを抽出し、その輝度値の総和Ｓと当該抽出した画素データに隣接する画素データの輝度値の総和Ｒとの差分Ｓ−Ｒを求め、これを詳細しきい値保持部５１２に保持された第２の閾値Ｔ２、すなわち０と比較することで、ビットデータの値を判定する。具体的には、Ｓ−Ｒが正であれば当該ビットは１と判定し、Ｓ−Ｒが負であれば、当該ビットは０と判定する。それから、ビット値判定部５０７ｂは、電子透かし情報を構成するビットｂ１〜ｂｎのビット値を出力する（ステップＳ５００７）。
【０１６６】
以上、本発明の第３実施形態について説明した。
【０１６７】
本実施形態では、画像データに埋め込まれた電子透かし情報のビット値判定に用いる第２の閾値Ｔ２を０に設定している。このため、画像データに埋め込まれた電子透かし情報を構成するビットｂ１〜ｂｎ各々は必ず０か１のいずれかに判定されるので、電子透かし情報を構成するビットｂ１〜ｂｎの抽出感度を上げることができる。また、本実施形態では、画像データに埋め込まれた電子透かし情報を構成するビットｂ１〜ｂｎ各々のビット値判定に先立ち、第２の閾値Ｔ２を０に設定した場合における当該画像データに埋め込まれた電子透かし情報を構成するビットｂ１〜ｂｎのビット値判定誤り率を求め、当該誤り率が所定値以下の場合、すなわちビット値判定の信頼度が所定値以上の場合にのみ、上記のビット値判定を行なうようにしている。このため、ビット値判定部５０７ｂから出力される電子透かし情報のビット値の信頼性を確保することができる。
【０１６８】
なお、上記の第３実施形態では、誤り率算出部５０７ａにおいて、第２の閾値Ｔ２を０に設定した場合における画像データに埋め込まれた電子透かし情報を構成するビットｂ１〜ｂｎのビット値判定誤り率ＦＰを求め、当該誤り率ＦＰが所定値以下の場合にのみ、ビット値判定部５０７ｂにおいて、当該画像データに埋め込まれた電子透かし情報を構成するビットｂ１〜ｂｎのビット値判定を行なうようにしている。しかしながら、誤り率算出部５０７ａで算出したビット値判定誤り率の値ＦＰにかかわらず、ビット値判定部５０７ｂにおいてビット値判定を行なうようにしてもよい。すなわち、図１４に示すフローのように、図１３に示すフローからステップＳ５００５を削除するようにしてもかまわない。この場合、ステップＳ５００７において、ビット値判定部５０７ｂにおけるビット値判定結果に加えて、誤り率算出部５０７ａで算出したビット値判定誤り率ＦＰ（あるいはビット値判定誤り率ＦＰより導かれるビット値判定結果の信頼度）を出力するようにする。このようにすることで、ビット値判定部５０７ｂで判定した電子透かし情報のビット値の信頼性がどの程度であるかを把握することができる。
【０１６９】
また、上記の第３実施形態では、ビット値判定部５０７ｂにおいて、画像データに埋め込まれた電子透かし情報のビット値判定に用いる第２の閾値Ｔ２を０に設定しているが、この第２の閾値Ｔ２を０以外の値に設定してもかまわない。この場合、誤り率算出部５０７ａは、以下のようにして、画像データに埋め込まれた電子透かし情報を構成するビットｂ１〜ｂｎのビット値判定誤り率を求めればよい。
【０１７０】
すなわち、画像復元部５０６で復元された画像データより、電子透かし情報を構成するビットｂ１〜ｂｎのうちのｈ個分のビット（たとえばｂ１〜ｂ２０の２０ビット）各々について、Ｘ−Ｙ座標上の予め定められた位置１〜ｍにある画素データを抽出し、その輝度値の総和Ｓと当該抽出した画素データに隣接する画素データの輝度値の総和Ｒとの差分Ｓ−Ｒを求める。そして、ｈ個分のビット各々について求めたｈ個の差分Ｓ−Ｒの平均値や分散値などの統計値、あるいは、ヒストグラム分布より、差分Ｓ−Ｒの確率分布曲線を求める。そして、上記のようにして求めた確率分布曲線からビット値判定誤りを求める。図１５は、上記のようにして求めた差分Ｓ−Ｒの確率分布曲線を示している。ビット値判定誤り率は、この確率分布曲線に対する、塗りつぶした部分の割合として求めることができる。
【０１７１】
また、上記の第３実施形態における誤り率算出部５０７ａは、単に、画像データに透かし情報が埋め込まれているか否かを判定する場合にも、応用することができる。
【０１７２】
以上、本発明の各実施形態について説明した。
【０１７３】
なお、本発明は、上記の各実施形態に限定されるものではなく、その要旨の範囲内で様々な変形が可能である。
【０１７４】
たとえば、上記の各実施形態では、概略サイズ・位置合わせ部５０４および詳細サイズ・位置合わせ部５０５において、情報挿入画像保持部５０８に保持された画像データあるいは電子透かし情報を構成するビットデータの埋め込み位置を特定するＸ−Ｙ座標に幾何学的変形を加え、画像データに対し、電子透かし情報を構成するビットｂ１〜ｂｎの任意数分のビット各々について、Ｘ−Ｙ座標上の予め定められた位置１〜ｍにある画素データを抽出し、その輝度値の総和Ｓと当該抽出した画素データに隣接する画素データの輝度値の総和Ｒとの差分Ｓ−Ｒを求め、当該差分Ｓ−Ｒの絶対値を、概略しきい値保持部に保持された第１の閾値Ｔ１と比較することで、当該抽出した画素データにビットデータが埋め込まれているか否かを判断している。
【０１７５】
しかしながら、本発明はこれに限定されるものではない。概略サイズ・位置合わせ部５０４および詳細サイズ・位置合わせ部５０５におけるビットデータの埋め込み位置の判断に、上記の第３実施形態で説明した誤り率算出部５０７ａの機能を応用することも可能である。
【０１７６】
すなわち、概略サイズ・位置合わせ部５０４において、まず、情報挿入画像保持部５０８に保持されている画像データあるいはＸ−Ｙ座標を所定の倍率で縮小する。そして、電子透かし情報を構成するビットｂ１〜ｂｎの任意数分のビット各々について、Ｘ−Ｙ座標上の予め定められた位置１〜ｍにある画素データを抽出し、その輝度値の総和Ｓと当該抽出した画素データに隣接する画素データの輝度値の総和Ｒとの差分Ｓ−Ｒを求める。次に、前記任意数分のビット各々について求めた差分Ｓ−Ｒの平均値や分散値などの統計値、あるいは、ヒストグラム分布より、差分Ｓ−Ｒの確率分布曲線を求め、この確率分布曲線からビット値判定誤り率を求める。それから、求めたビット値判定誤り率が所定値以下であるか否かを調べることで、当該抽出した画素データにビットデータが埋め込まれているか否かを判断するといった一連の処理を、所定の範囲内において、概略刻み幅保持部５０９に保持されている第１の回転角度刻みで当該画像データあるいはＸ−Ｙ座標を回転させながら行う。そして、ビットデータが埋め込まれていないと判断した場合は、概略刻み幅保持部５０９に保持されている第１の倍率刻みで画像データあるいはＸ−Ｙ座標を拡大し、同様の処理を行う。この処理を、ビットデータが埋め込まれていることが確認されるまで（具体的には、求めたビット値判定誤り率が所定値以下で且つ最小となるサイズおよび回転角度の画像データあるいはＸ−Ｙ座標が検出されるまで）、繰り返し実行する。
【０１７７】
同様に、詳細サイズ・位置合わせ部５０５において、概略サイズ・位置合わせ部５０５によりビットデータが埋め込まれていることが確認された際の画像データあるいはＸ−Ｙ座標の倍率よりも所定値低い倍率で、情報挿入画像保持部５０８に保持されている画像データを縮小する。そして、電子透かし情報を構成するビットｂ１〜ｂｎの任意数分のビット各々について、Ｘ−Ｙ座標上の予め定められた位置１〜ｍにある画素データを抽出し、その輝度値の総和Ｓと当該抽出した画素データに隣接する画素データの輝度値の総和Ｒとの差分Ｓ−Ｒを求める。次に、前記任意数分のビット各々について求めた差分Ｓ−Ｒの平均値や分散値などの統計値、あるいは、ヒストグラム分布より、差分Ｓ−Ｒの確率分布曲線を求め、この確率分布曲線からビット値判定誤り率を求める。それから、求めたビット値判定誤り率が所定値以下であるか否かを調べることで、当該抽出した画素データにビットデータが埋め込まれているか否かを判断するといった一連の処理を、概略サイズ・位置合わせ部５０５にてビットデータが埋め込まれていることが確認された際の画像データの回転角度を含む所定の範囲内において、詳細刻み幅保持部５１１に保持されている、前記第１の回転角度より小さい第２の回転角度刻みで当該画像データを回転させながら行う。そして、ビットデータが埋め込まれていないと判断した場合は、詳細刻み幅保持部５１１に保持されている、前記第１の倍率より小さい第２の倍率刻みで画像データを拡大し、同様の処理を行う。この処理を、ビットデータが埋め込まれていることが確認されるまで繰り返し実行する。
【０１７８】
また、上記の各実施形態では、画像データあるいは当該画像データに埋め込まれた電子透かし情報のビット位置を特定するのに用いるＸ−Ｙ座標に幾何学的変形を加えて、当該画像データに埋め込まれた電子透かし情報のビット位値を特定する処理（概略サイズ・位置合わせ部５０４、詳細サイズ・位置合わせ部５０５および画像復元部５０６での処理）と、当該画像データに埋め込まれた電子透かし情報の各ビットのビット値を判定して抽出する処理（透かし検出部５０７での処理）とを、１つの装置上で行なう場合について説明した。しかしながら、本発明はこれに限定されるものではない。画像データに埋め込まれた電子透かし情報のビット位値を特定する処理と、当該画像データに埋め込まれた電子透かし情報の各ビットのビット値を判定して抽出する処理とを別個の装置上で行なうようにしてもよい。
【０１７９】
図１６は、上記の各実施形態において、画像データに埋め込まれた電子透かし情報のビット位値を特定する処理と、当該画像データに埋め込まれた電子透かし情報の各ビットのビット値を判定して抽出する処理とを別個の装置上で行なうように変形した例を示している。この図において、図３に示すものと同じ機能を有するものには、同じ符号を付している。
【０１８０】
図において、電子透かし情報有無判定装置７００１〜７００ｎは、画像データに埋め込まれた電子透かし情報のビット位値を特定する処理を行なう装置であり、図３に示す電子透かし情報抽出装置から、透かし検出部５０７、詳細しきい値保持部５１２および検出情報保持部５１３を除いた構成となっている。電子透かし情報ビット判定装置８００は、画像データに埋め込まれた電子透かし情報の各ビットのビット値を判定して抽出する処理を行なう装置であり、図３に示す電子透かし情報抽出装置から、概略サイズ・位置合わせ部５０４、詳細サイズ・位置合わせ部５０５、画像復元部５０６、概略刻み幅保持部５０９、詳細刻み幅保持部５１１および概略しきい値保持部５１０を除いた構成となっている。電子透かし情報有無判定装置７００１〜７００ｎおよび電子透かし情報ビット判定装置８００は、ネットワークを介して互いに接続されている。
【０１８１】
さて、このような構成において、電子透かし情報有無判定装置７００１〜７００ｎは、自身が保持する画像データに対し、図５および図６、あるいは図９および図１０に示すフローにしたがって、電子透かし情報の埋め込み位置の特定を行なう。そして、埋め込み位置が特定された画像データ（すなわち、電子透かし情報ありと判定された画像データ）を、画像復元部５０６によって元の状態に復元し、それから、入出力部５０２およびネットワークを介して電子透かし情報ビット値判定装置８００に送信する。
【０１８２】
一方、電子透かし情報ビット値判定装置８００は、電子透かし情報有無判定装置７００１〜７００ｎから、画像データを受け取ると、当該画像データに埋め込まれた電子透かし情報のビット値判定を行ない、その結果を入出力部５０２およびネットワークを介して、当該画像データの送信先である電子透かし情報有無判定装置７００１〜７００ｎに送信する。
【０１８３】
上記の構成は、たとえば、インターネットに接続された複数のＷｅｂサーバが提供する画像データの透かし情報を判定するのに好適である。この場合、電子透かし情報有無判定装置７００１〜７００ｎは、それぞれ、Ｗｅｂサーバ上に構築されることになる。なお、Ｗｅｂサーバ上に電子透かし情報有無判定装置を構築するためのプログラムは、ネットワークを介して、複数の情報処理装置上に順次移動し、そして、移動先の情報処理装置上で実行される、いわゆるエージェントと呼ばれる形態で提供されるものでもよい。
【０１８４】
図１７は、Ｗｅｂサーバ上に、図１６に示す電子透かし情報有無判定装置を構築するためのプログラムが、いわゆるエージェントと呼ばれる形態で提供される場合のシステムを示している。
【０１８５】
図１７において、電子透かし情報ビット値判定装置８００は、Ｗｅｂサーバ９００１〜９００ｎ上に、図１６に示す電子透かし情報有無判定装置を構築するためのエージェントプログラムを有しており、定期的あるいは所定のイベント発生時に、当該エージェントプログラムをネットワーク上に送出する。ネットワーク上に送出されたエージェントプログラムは、予め定められた順番でＷｅｂサーバ９００１〜９００ｎ上に移動する。たとえば、最初にＷｅｂサーバ９００１上に移動し、そこで実行されて電子透かし情報有無判定装置７００１を構築する。そして、Ｗｅｂサーバ９００１が保持する画像データに対し、図５および図６あるいは図９および図１０に示すフローにしたがって、電子透かし情報の埋め込み位置の特定を行なう。そして、埋め込み位置が特定された画像データ（すなわち、電子透かし情報ありと判定された画像データ）を元の状態に復元し、電子透かし情報ビット値判定装置８００に送信して、当該画像データに埋め込まれた電子透かし情報のビット値判定結果を受け取るのを待つ。
【０１８６】
電子透かし情報ビット値判定装置８００からビット値判定結果を受け取った場合、あるいは、埋め込み位置を特定できず、電子透かし情報なしと判定した場合は、ネットワークを介して、次のＷｅｂサーバ上に移動する。エージェントプログラムは、Ｗｅｂサーバ９００１〜９００ｎ上に順次移動して上記の処理を行なう。
【０１８７】
【発明の効果】
以上説明したように、本発明によれば、キャリブレーション用電子透かしを用いることなく、幾何学的変形が加えられた画像データから電子透かし情報を抽出することが可能になる。また、電子透かし情報を構成するビットの抽出感度を上げた場合でも、抽出した電子透かし情報のビット値が信頼できるものであるか否かを把握することが可能になる。
【図面の簡単な説明】
【図１】本発明の第１実施形態における画像データよりの電子透かし情報の抽出処理の原理を説明するための図である。
【図２】本発明の第１実施形態における画像データよりの電子透かし情報の抽出処理の原理を説明するための図である。
【図３】本発明の第１実施形態が適用された電子透かし情報抽出装置の機能構成図である。
【図４】図３に示す電子透かし情報抽出装置のハードウエア構成の一例を示す図である。
【図５】本発明の第１実施形態における概略サイズ・位置合わせ部５０４の動作を説明するためのフロー図である。
【図６】本発明の第１実施形態における詳細サイズ・位置合わせ部５０５の動作を説明するためのフロー図である。
【図７】本発明の第２実施形態における画像データよりの電子透かし情報の抽出処理の原理を説明するための図である。
【図８】本発明の第２実施形態における画像データよりの電子透かし情報の抽出処理の原理を説明するための図である。
【図９】本発明の第２実施形態における概略サイズ・位置合わせ部５０４の動作を説明するためのフロー図である。
【図１０】本発明の第２実施形態における詳細サイズ・位置合わせ部５０４の動作を説明するためのフロー図である。
【図１１】本発明の第３実施形態で用いる透かし検出部５０７の機能構成図である。
【図１２】電子透かし情報が埋め込まれている場合と埋め込まれていない場合それぞれの差分Ｓ−Ｒの確率分布曲線を示す図である。
【図１３】本発明の第３実施形態で用いる透かし検出部５０７の動作を説明するためのフロー図である。
【図１４】本発明の第３実施形態で用いる透かし検出部５０７の動作の変形例を説明するためのフロー図である。
【図１５】電子透かし情報が埋め込まれている場合における差分Ｓ−Ｒの確率分布曲線を示す図である。
【図１６】上記の第１乃至３実施形態において、画像データに埋め込まれた電子透かし情報のビット位値を特定する処理と、当該画像データに埋め込まれた電子透かし情報の各ビットのビット値を判定して抽出する処理とを別個の装置上で行なうように変形した例を示す図である。
【図１７】Ｗｅｂサーバ上に、図１６に示す電子透かし情報有無判定装置を構築するためのプログラムが、いわゆるエージェントと呼ばれる形態で提供される場合のシステムを示す図である。
【図１８】従来の電子透かし技術による画像データへの情報埋め込み・抽出処理の原理を説明するための図である。
【図１９】従来のキャリブレーション用電子透かしを用いて画像データに加えられた幾何学的変形を特定する技術を説明するための図である。
【図２０】画像データ内の画素データ変更位置と画素データ検出位置とがずれていない場合を模式的に示した図である。
【図２１】画像データ内の画素データ変更位置と画素データ検出位置とがずれている場合を模式的に示した図である。
【符号の説明】
５０１：処理部、５０２：入出力部、５０３：制御部
５０４：概略サイズ・位置合わせ部、５０５：詳細サイズ・位置合わせ部
５０６：画像復元部、５０７：透かし検出部
５０８：情報挿入画像保持部、５０９：概略刻み幅保持部
５１０：概略しきい値保持部、５１１：詳細刻み幅保持部
５１２：詳細しき値保持部、５１３：検出情報保持部、５１４：記憶部
６０１：ＣＰＵ、６０２：メモリ、６０３、６０４：外部記憶装置
６０５：入力装置、６０６：出力装置、６０７：インターフェース
６０８：記憶媒体
【図１】
0003678084.tif 000003
【図２】
0003678084.tif 000004
【図３】
0003678084.tif 000005
【図４】
0003678084.tif 000006
【図５】
0003678084.tif 000007
【図６】
0003678084.tif 000008
【図７】
0003678084.tif 000009
【図８】
0003678084.tif 000010
【図９】
0003678084.tif 000011
【図１０】
0003678084.tif 000012
【図１１】
0003678084.tif 000013
【図１２】
0003678084.tif 000014
【図１３】
0003678084.tif 000015
【図１４】
0003678084.tif 000016
【図１５】
0003678084.tif 000017
【図１６】
0003678084.tif 000018
【図１７】
0003678084.tif 000019
【図１８】
0003678084.tif 000020
【図１９】
0003678084.tif 000021
【図２０】
0003678084.tif 000022
【図２１】
0003678084.tif 000023