説明

画像処理装置、画像処理プログラム、および、記憶媒体

【課題】限定色画像など埋込み場所が限定されることによって任意の場所に埋込めない種類の画像に電子透かし埋込みしたものが、部分的に切出された画像からでも、電子透かしを高速に抽出できるようにする。
【解決手段】原画像を2のべき乗の画素数大にブロック分割し、そのブロック毎に別々に電子透かし埋込みする。電子透かし埋込みができる場所の座標値(X,Y)が2のべき乗のどのバウンダリの組合せになるかによって、埋込む値がバウンダリ位置照合用データか、任意情報かに決定する。一方、任意の箇所で任意の大きさ(完全1ブロック以上を含む)に切り出された部分画像中から、ブロックに含まれている電子透かし情報を抽出するには、バウンダリ位置の算出を、バウンダリ位置照合用データを使用して下位階層側から上位階層側に向けて(2の1乗から2の2乗、3乗の‥‥)順に行わせることで、照合回数を削減して高速化を図れるようにした。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子透かしを扱う画像処理装置、画像処理プログラム、および、記憶媒体に関する。
【背景技術】
【0002】
デジタル画像等のデジタル情報(デジタルコンテンツ)は、コンピュータ等によって、情報を劣化させることなく、簡単にコピーすることができる。近年では、デジタル画像技術の発達に伴い、デジタルカメラ等によって取得されたデジタル画像等を、証拠写真として使用することも可能になってきている。このようなデジタルコンテンツには、著作権等が付され、許可無くコピーしたり、コピーしたデジタルコンテンツを再利用したりすることが禁じられているものがある。
【0003】
また、デジタルコンテンツは、簡単な修飾処理等の操作を施して書換え等を行なうことによって、容易に改ざんすることができる。このため、デジタルコンテンツは、不正にコピーされて勝手に再利用されたり、一部が改ざんされて証拠写真に使用出来ないようにされたりすることがある。
【0004】
この対策として、デジタル画像等のデジタルコンテンツ中に該デジタルコンテンツを普通に再生した場合には視覚できない情報を付加する、いわゆる、電子透かしやデータハイディング等と呼ばれる方法によって、デジタルコンテンツの不正利用を防止するようにした技術がある。これにより、デジタルコンテンツが不正に利用されているか否かを、該デジタルコンテンツ中に埋め込まれた電子透かしによって判断することができる。
【0005】
電子透かしをデジタルコンテンツに埋め込む用途には、次のようなものがある。
A.著作権情報の記録
B.違法コピー者情報の追跡
C.IPアドレスの履歴記録
D.違法コピーの防止:不可視・高耐性型
E.改ざん防止への応用:不可視・低耐性型
F.認証
G.秘密通信
H.所有権者表示のためにデジタルコンテンツの注釈やラベルを埋め込む:可視・不可逆型
I.透かし除去可能化:可視・可逆型……コンテンツ配布
【0006】
このように電子透かしを用いる目的・用途には種々のものがあるが、著作権侵害、改ざん等を目的とする場合、元の画像そのままではなく、元の画像中から欲しい部分のみを部分的に切り出して悪用することも多々あり、このような場合の大半は、任意位置で切り取られるため、元の画像との位置関係が判らなくなってしまい、所定の電子透かしを抽出・照合できないこととなってしまう。
【0007】
このようなことから、画像の一部が切り出された場合でも電子透かしを復元できるようにした提案例がある。その一つとして、画像データを矩形領域に分割して所定規則に基づく情報を電子透かしとして埋め込む上で、デコードの際に矩形位置が不明になるのを防ぐために各矩形内のデジタルデータに対して所定規則に基づく矩形位置判定用情報も電子透かしとして埋め込むことで、一部分が切り取られた画像でも、電子透かしを復元できるようにした提案例がある(例えば、特許文献1参照)。また、ROIのような特定領域を含む原画像に対して署名画像を埋め込む電子透かし法に関して、署名画像のデータが特定領域により実質上削除されることなく、かつ、その特定領域以外の領域に署名画像のデータを埋め込むことにより、ROIの任意領域を切り出した場合でも、電子透かしを復元できるようにした提案例がある(例えば、特許文献2参照)。
【特許文献1】特開2000−59610公報
【特許文献2】特開2000−101822公報
【特許文献3】特開2004−236229公報
【非特許文献1】The 22nd Symposium on Information Theory and Its Applications(SITA99) Yuzawa,Niigata,Japan,Nov.30-Dec.3,1999“ウェーブレット変換の特性を利用した画像へのインデクス情報の埋め込み方法”岩田基、汐崎陽
【非特許文献2】The 23nd Symposium on Information Theory and Its Applications(SITA2000) Aso,Kumamoto,Japan,Oct.10-13,2000“ウェーブレット係数の大小関係を利用してインデクス情報を埋め込む電子透かし法”岩田基、汐崎陽
【発明の開示】
【発明が解決しようとする課題】
【0008】
ところが、特許文献1の場合、例えば3×3画素のウインドウによる走査(捜索)をベースとしているものであり、切り出された部分的な画像の元の画像に対する矩形領域の位置を確定するための照合回数が必ずしも激減するわけでなく、元の画像との位置照合処理の高速化が十分ではない。また、画像圧縮などにより画像劣化の影響がある場合については特に考慮されていないものである。
【0009】
また、特許文献2の場合、主に医用のROIに特化しており、部分的に切り出された場合でもこのROIを抽出することにより場所を特定しているものであり、ROIのような特定領域の有無を問わない一般的な各種画像用としての汎用性に欠ける。
【0010】
さらに、特許文献3は、以上の点を改善するものであり、特定領域の有無を問わず、電子透かしが埋め込まれた画像が部分的に切り出された場合でも、電子透かしを確実に復元するために、元の画像上におけるブロックのバウンダリ位置の照合を極力少ない照合回数で高速に行うことができるようにするものである。
【0011】
しかし、残る問題として、「座標を特定化するための処理であるために近隣の複数の画素やウェーブレット変換係数又はその量子化データに同時に電子透かしを埋込む必要がある」がある。この制限は、オフィス画像など2値画像やカラーマップ画像などの限定色だけで構成されている画像に電子透かしを埋め込むのに、支障がある。その理由は、限定色だけで構成されている画像へ電子透かしを埋め込む場合は、人間の視覚特性から、電子透かし埋込み状態が目立ち難いエッジ部(座標位置変化に対し画素値の変化が急な場所)に重きを置いて、埋込むことが多いので、同時にエッジ部の近隣にも複数の電子透かし埋込みを行うのは、人間の視覚特性からは画質劣化を強めることになるからである。
【0012】
本発明の目的は、特定領域の有無を問わず、電子透かしが埋め込まれた画像が部分的に切り出された場合でも、また、限定色画像のように電子透かしを埋込める座標位置に制限がある場合でも、電子透かしを確実に復元するために、元の画像上におけるブロックのバウンダリ位置の照合を極力少ない照合回数で高速に行うことに加えて、任意情報も埋込めるようにすることが可能となる画像処理装置、画像処理プログラム、および、記憶媒体を提供すること目的とする。
【課題を解決するための手段】
【0013】
画像を複数に分割したブロック毎にその画素値又は画素値を暗号化や圧縮の為に符号化したデータに所定の電子透かし情報を埋め込む電子透かし埋め込み手段を備え、前記電子透かし埋め込み手段は、前記所定の電子透かし情報に加えて、分割されたブロックのバウンダリ位置を特定するために、元の前記画像の2のべき乗の水平および垂直の座標線に囲まれたブロック単位で独立した所定の規則に基づき付与されるバウンダリ位置照合データを電子透かしとして埋め込むことを特徴とする画像処理装置である。
【0014】
また、前記電子透かし埋め込み手段は、圧縮処理しても有効性が保たれる画像データまたは量子化データの最下位ビットにバウンダリ位置照合データを電子透かしとして埋め込むようにしたものである。
【0015】
また、前記電子透かし埋め込み手段は、電子透かし情報を1ビットずつ埋込む原画像内の場所が不定で、また、原画像の中で埋め込み場所が間引かれていてもバウンダリ位置照合用データ及び任意情報の両方を電子透かしとして埋め込む機能を持つものである。
【0016】
また、前記電子透かし埋め込み手段は、2のべき乗値で表す階層における上位階層のバウンダリ位置照合用データとしてその直下の下位階層の該当箇所のバウンダリ位置照合用データの加算演算に基づき算出されたデータを用いるように各階層の前記バウンダリ位置照合データを決定するようにしたものである。
【0017】
また、前記電子透かし埋め込み手段は、前記バウンダリ位置照合データとして2のべき乗階層における水平および垂直方向に関して各階層毎に独立した組合せの基本パターンを有するようにしたものである。
【0018】
また、ブロック毎に画像データに関して所定の統計計算を適用してたたみ込み符号を算出し、かつ、算出された当該たたみ込み符号のデータをファジー表現するためのファジー処理を施すたたみ込み符号算出手段をさらに備え、前記電子透かし埋め込み手段は、前記たたみ込み符号算出手段により出力されるたたみ込み符号データを前記所定の電子透かしとして埋め込むようにしたものである。
【0019】
また、前記たたみ込み符号算出手段は、所定の統計計算値を基礎として算出された乱数値をたたみ込み符号として用いるようにしたものである。
【0020】
また、画像データ中に埋め込まれている電子透かしデータを抽出する抽出手段と、抽出された電子透かしデータ中のバウンダリ位置照合データに基づき、2のべき乗データバウンダリの所定の下位階層側から上位階層側へ向けて、照合ブロック位置をずらして順次各々の階層におけるバウンダリ位置を確定するバウンダリ位置確定手段と、バウンダリ位置が確定された2のべき乗バウンダリにおける上位階層の元の画像における分割されたブロック位置に割り当てられた所定の電子透かし情報と、当該ブロックの復号画像データから所定演算により算出されたデータとを照合する電子透かし照合手段とをさらに備えたものである。
【0021】
また、画像を複数に分割したブロック毎にその画素値に対して加工処理を行うコンピュータにインストールされる画像処理プログラムにおいて、前記コンピュータに、画素値又はその符号化データに所定の電子透かし情報を埋め込む電子透かし埋め込み機能を実行させ、前記電子透かし埋め込み機能は、前記所定の電子透かし情報に加えて、分割されたブロックのバウンダリ位置を特定するために、元の前記画像の2のべき乗の水平および垂直の座標線に囲まれたブロック単位で独立した所定の規則に基づき付与されるバウンダリ位置照合データを電子透かしとして埋め込むようにしたものである。
【0022】
また、前記電子透かし埋め込み機能は、圧縮処理しても有効性が保たれる画像データまたは量子化データの最下位ビットにバウンダリ位置照合データを電子透かしとして埋め込むようにしたものである。
【0023】
また、前記電子透かし埋め込み機能は、電子透かし情報を1ビットずつ埋込む原画像内の場所が不定で、また、原画像の中で埋め込み場所が間引かれていてもバウンダリ位置照合用データ及び任意情報の両方を電子透かしとして埋め込む機能を持つものである。
【0024】
また、前記電子透かし埋め込み機能は、2のべき乗値で表す階層における上位階層のバウンダリ位置照合データとしてその直下の下位階層の該当箇所のバウンダリ位置照合用データの加算演算に基づき算出されたデータを用いるように各階層のバウンダリ位置照合用データを決定するようにしたものである。
【0025】
また、前記電子透かし埋め込み機能は、バウンダリ位置照合用データとして2のべき乗階層における水平および垂直方向に関して各階層毎に独立した組合せの基本パターンを有するものである。
【0026】
また、ブロック毎に画像データに関して統計計算して所定の電子透かしとして埋め込むたたみ込み符号を算出し、かつ、算出された当該たたみ込み符号のデータをファジー表現するためのファジー処理を施すたたみ込み符号算出機能をさらに前記コンピュータに実行させ、前記電子透かし埋め込み機能は、前記たたみ込み符号算出機能により出力されるたたみ込み符号データを前記所定の電子透かしとして埋め込むようにしたものである。
【0027】
また、前記たたみ込み符号算出機能は、所定の統計計算値を基礎として算出された乱数値をたたみ込み符号として用いるようにしたものである。
【0028】
また、画像データ中に埋め込まれている電子透かしデータを抽出する抽出機能と、抽出された電子透かしデータ中のバウンダリ位置照合データに基づき、2のべき乗データバウンダリの下位階層側から上位階層側へ向けて、照合ブロック位置をずらして順次各々の階層におけるバウンダリ位置を確定するバウンダリ位置確定機能と、バウンダリ位置が確定された2のべき乗データバウンダリにおける上位階層の元の画像における分割されたブロック位置に割り当てられた所定の電子透かし情報と当該ブロックの復号画像データから統計計算により算出されたデータとを照合する電子透かし照合機能とを前記コンピュータに実行させるようにしたものである。
【0029】
また、請求項9または請求項10または請求項11または請求項12または請求項13または請求項14または請求項15または請求項16記載の画像処理プログラムを格納したコンピュータ読み取可能な記憶媒体である。
【発明の効果】
【0030】
したがって、本発明によれば、元の画像の2のべき乗の水平および垂直の座標線に囲まれたブロック単位で独立した所定の規則に基づくバウンダリ位置照合用データを分割されたブロックのバウンダリ位置を特定するための電子透かしとして埋め込むことにより、任意の箇所から任意の大きさに部分的に切り出された画像であっても、元の画像上におけるブロックのバウンダリ位置を確定させるための照合作業を極力少ない照合回数で高速に行わせることができるという効果を得る。
【0031】
また、画像が圧縮処理を受ける場合であっても除去されることのない有効性が保たれる画像データ又は量子化データの最下位ビットにバウンダリ位置照合用データが電子透かしとして埋め込まれていることにより、部分的に切り出された場合でも元の画像上におけるブロックのバウンダリ位置の照合作業を確実に行わせることができるとともに、最下位ビットへの埋込みであり、画像に対する画質劣化も抑制することができるという効果も得る。
【0032】
また、部分的に切り出された場合でも元の画像上におけるブロックのバウンダリ位置の照合作業を確実に行わせることができるという効果も得る。
【0033】
また、2のべき乗値で表す各階層毎に2のべき乗の大きさのブロックに関して、各階層毎に新たにバウンダリ位置照合用データを生成するのではなく、各々その直下の下位階層(例えば、2の(k−1)乗バウンダリ)の該当箇所のバウンダリ位置照合用データの加算演算に基づき算出されたデータを用いることにより、ブロックバウンダリ位置照合の照合回数の削減化・高速化のために有効に活用できるという効果も得る。
【0034】
また、バウンダリ位置照合用データとして2のべき乗階層における水平/垂直方向に関して各階層毎に独立した組合せの基本パターンを有することにより、各階層毎のバウンダリ位置照合用データの区分けが明確となり、階層順に行うブロックバウンダリ位置照合作業のために有効に活用できるという効果も得る。
【0035】
また、ブロックバウンダリ位置を照合し確定した後に、本来の所定の電子透かしの照合・検証処理を行うが、このような所定の電子透かしとなるたたみ込み符号のデータ耐性のファジー化により、電子透かし埋め込みによる画質の劣化を回避しており、かつ、電子透かしデータの耐性を高めるために画質を変換させるのに代えて電子透かしとなるたたみ込み符号の統計処理値に基づいているので、画質劣化が少ない上に電子透かしの情報量の増大を図ることもでき、用途に応じた電子透かしとすることができ、かつ、統計処理値が画像の90°回転に対しても区別がなく共通となる対称性を有しているので、部分的に切り出されて90゜回転されたような画像の場合でもその所定の電子透かしを確実に復元することができるという効果も得る。
【0036】
また、統計計算値を種にして算出された乱数値をたたみ込み符号とすることにより、電子透かしとしての特性をより適正に発揮させることができ、特に、画像の90°回転に対しても有効に機能させることができるという効果も得る。
【0037】
また、任意の箇所で任意の大きさに切り出された部分的な画像中から、電子透かし情報を取り出すためには、まず、切出された部分的な画像中からブロック境界を求め、その後、求まったブロック境界からブロック内に埋込まれた電子透かしを抽出する。2のべき乗サイズのブロック境界を求める方法は、上位のバウンダリ位置が下位のバウンダリ位置を兼ねているので、電子透かしデータ中に埋込まれているバウンダリ位置照合用データに基づき、元の画像座標の2のべき乗データバウンダリの下位階層(例えば、2のk乗)側から上位階層(例えば、2の(k−1)乗)側に向けて順に算出するものである。各2のべき乗階層に於いて、水平/垂直方向について、それぞれ2通りの照合回数で求まるため、各階層につき水平/垂直方向合せて4通りの照合位置のずらしで妥当な2のべき乗バウンダリ位置を確定できることとなり、照合回数を削減して高速化を図ることができるという効果も得る。
【発明を実施するための最良の形態】
【0038】
以下、添付図面を参照しながら、本発明の実施の形態を詳細に説明する。
【0039】
まず、本発明が適用される画像処理装置としては、各種あるが、本実施の形態では、その一例として、デジタルカメラ、スキャナ、その他の各種入力機器等から入力され、或いは、自身で作成された画像データに関して、著作権保護、改ざん検出等、各々の目的・用途に応じた所定の電子透かし情報を埋め込んで圧縮符号化する一方、当該画像データに関する著作権侵害、改ざんの有無検出等を立証するパーソナルコンピュータに適用した例で説明する。
【0040】
図1は、このような画像処理装置に相当するパーソナルコンピュータ31のハードウェア構成を概略的に示すブロック図である。
【0041】
同図において、コンピュータ31は、当該コンピュータの主要部であって各部を集中的に制御するCPU(中央処理装置)32を備えている。このCPU32には、BIOSなどを記憶した読出し専用メモリであるROM(リード・オンリ・メモリ)33と、各種データを書換え可能に記憶するRAM(ランダム・アクセス・メモリ)34とがバス35で接続されている。RAM34は、各種データを書換え可能に記憶する性質を有していることから、CPU32の作業エリアとして機能し、例えば入力バッファ等の役割を果たす。
【0042】
さらにバス35には、HDD(磁気ディスク装置)36と、配布されたプログラムであるコンピュータソフトウェアを読み取るための機構としてCD−ROM37を読み取るCD−ROMドライブ38と、相手方となるコンピュータとネットワーク39との通信を司る通信制御装置40と、キーボードやマウスなどの入力装置41と、CRT表示装置や液晶表示装置からなる表示装置42とが、図示しないI/Oを介して接続されている。
【0043】
そして、パーソナルコンピュータ31の場合であれば、ネットワーク39を介してサーバからダウンロードした圧縮符号化された符号データは、HDD36に格納されることになる。
【0044】
また、CD−ROM37は、本発明の記憶媒体を実施するものであり、OS(オペレーティングシステム;基本ソフト)や各種コンピュータソフトウェアが記憶されている。CPU36は、CD−ROM37に記憶されているコンピュータソフトウェアをCDROMドライブ38で読み取り、HDD36にインストールする。
【0045】
なお、記憶媒体としては、CD−ROM37のみならず、DVDなどの各種の光ディスク、各種光磁気ディスク、FDなどの各種磁気ディスク等、半導体メモリ等の各種方式のメディアを用いることができる。
【0046】
また、通信制御装置40を介してインターネットなどのネットワーク39からコンピュータソフトウェアをダウンロードし、HDD36にインストールするようにしてもよい。この場合に、送信側のサーバでコンピュータソフトウェアを記憶している記憶装置も、本発明の記憶媒体である。
【0047】
なお、コンピュータソフトウェアは、所定のOS上で動作するものであってもよいし、その場合に後述の各種処理の一部の実行をOSに肩代わりさせるものであってもよいし、所定のアプリケーションソフトやOSなどを構成する一群のプログラムファイルの一部として含まれているものであってもよい。
【0048】
このような構成のコンピュータ31には、コンピュータソフトウェアの一つとして、画像を処理する画像処理プログラムが記憶されている。この画像処理プログラムは本発明にかかる処理プログラムを実現するものである。
【0049】
そして、この画像処理プログラムに基づいてCPU32が実行する処理により、コンピュータ31の各部の各種機能を実現する。
【0050】
例えば、画像圧縮符号化処理では、画像データに色変換処理を適用し、その後に、透かしデータ符号化を適用して色変換後の画像データに透かしデータを埋め込み、その後に、透かしデータが埋め込まれた画像データを所定の符号化方式を適用して圧縮し、符号データとして出力する。
【0051】
また、符号データから元の画像データを再生する画像復号化処理では、符号データを伸張処理を適用して圧縮前のデータを復元し、その復元したデータについて透かしデータ復号化処理を適用して、復元データに含まれている透かしデータを抽出するとともに、逆色変換処理を適用して、画像データを出力する。
【0052】
これらの画像圧縮符号化処理や画像復号化処理の機能は、HDD36に記憶されているプログラムに基づいてCPU32が行う処理により実行される(もっとも、論理回路等を利用したハードウェア構成により実行させてもよい)。
【0053】
さて、本実施例にかかるパーソナルコンピュータ31は、例えば、著作権を侵害すると思われる行為や、画像を改ざんすると思われる行為があった場合に、その画像データの所有者(著作権者等)が、このような不正を立証するために証拠として取得した画像データに関して所定の電子透かし情報を照合・検証するために、符号データを復号化する。
【0054】
この場合には、上述したように、符号データを入力し、透かしデータ復号化処理を適用して透かしデータおよび画像データを得る。
【0055】
また、電子透かしを埋込んだ画像から、検査したい領域を切り出して、その切り出した画像から電子透かしデータを照合する場合もある。
【0056】
以下に、画像がブロック位置に無関係に任意の位置から任意の大きさで部分的に切り出された場合にも有効となる電子透かしの埋め込み方式及びその抽出・照合方式について説明する。
【0057】
基本的に、電子透かし埋め込み系の処理においては、2のべき乗の大きさのブロックを使用している点に着目し、元の画像の2のべき乗の垂直および水平方向の座標線に囲まれた領域であるブロック単位に独立したデータバウンダリ位置(ブロック間の境界位置)照合用データを電子透かしとして埋め込むようにする。
【0058】
一方、改ざんの有無等を検証する照合側では、任意の箇所で任意の大きさに部分的に切り出された画像は、元の画像の任意の位置から開始しているので、2のべき乗で表す各階層の領域に含まれている所定の電子透かし情報を抽出するには、2のべき乗で表す高階層側の領域のバウンダリ位置(即ち、元の画像における座標の2のべき乗位置であり、かつ、下位階層側のブロックのバウンダリ位置を兼用している)を確定することが必要である。
【0059】
このような2のべき乗で表す高階層側のバウンダリ位置を確定させる上で、下位階層側のバウンダリ位置の方が、下位階層ほど精度が高い(細かい)ため、下位階層側のブロックのバウンダリ位置を確定してから、順に、より上位階層側のバウンダリ位置を確定することにより、最終的に、ブロックサイズを表す2のべき乗の最上位階層のバウンダリ位置を確定する方式をとる。
【0060】
この際、本方式によれば、2のべき乗の大きさに各階層の処理がされているので、各階層におけるバウンダリ位置の確定は、水平方向及び垂直方向に各々1/2の確率で求まるため、結果的に、1階層につき、各々4通りの照合ブロックの位置ずらしによる照合処理を行うだけで、妥当なバウンダリ位置を確定することができる。このような方式によれば、バウンダリ位置の確定を高速に行うことができる。
【0061】
例えば、2の3乗(8×8画素)サイズの大きさのバウンダリ位置を確定する場合を想定すると、1画素ずつずらして合致する箇所を探す従来の連続調査方式による場合には、64通りの統計調査を行いその結果を比較して判断しなければならないが、上述した本実施の形態のバウンダリ位置照合確定方式によれば、各階層が何れも4通りの統計調査だけで済むので、8×8画素=2の3乗のバウンダリの場合であれば、3階層分の統計調査、即ち、4×3=12通りの統計調査で済み、照合回数を大幅に削減させることができ、処理の高速化を図れる。
【0062】
同様にして、各種ブロック画素数に関して従来の連続調査法と本実施の形態のように2のべき乗サイズの階層を利用した調査法とで、必要とする調査回数を対比して示すと、次の表1のようになる。
【0063】
【表1】

【0064】
したがって、本実施の形態の方式によれば、ブロック画素数が多くなるほど照合回数を激減させ得ることが判る。
【0065】
2のべき乗バウンダリを求めるための各階層の電子透かし状態(バウンダリ位置照合用データ)の決定には、基本形を基にした構造が用いられる。このデータ埋込みの基本形は、例えば、階層毎に、図2のような構造(配置)が考えられる。
【0066】
ただし、複数併用しなくても本来の目的を損ねるものではないので、簡素化のために、これより以下は、基本形1のみ使用した例を示す。
【0067】
また、図3は、基本形1のみを使用した場合における8X8画素の場合の電子透かし情報の一例を示している。同図において、任意情報は、図示のS0,S1,S2,…,S20の順に埋め込まれる。ただし、ブロック境界算出のためのバウンダリ位置照合データの活用おいては、縦方向および横方向の集計値を使用するので(後述)、図の全画素に電子透かし情報が埋まっている必要はない。
【0068】
また、P00,P01は、第0段階のバウンダリ位置照合のために用いられるものであり、BP00,BP01は、第1段階のバウンダリ位置照合のために用いられるものであり、BP10,BP11は、第2段階のバウンダリ位置照合のために用いられるものである。
【0069】
図4は、ブロックバウンダリを考慮した電子透かし埋込み処理の一例を示す。
【0070】
この処理は、画像やその符号化された空間(ここでの例は平面)上のブロック内座標(X,Y)を指定した場合に、その座標値には、ビット0(固定値)か、ビット1(固定値)か、それとも任意の情報を埋込む場所なのかを識別する機能を表している。また、同図は、図2に示す基本形1の方式を採用した例であり、それ以外の基本形を適用する方法については、以下の説明の中で個別に示す。
【0071】
ステップ101に於いて、全体フローの初期化である埋込む階層番号eを初期設定(第0段階)している。eの値が、図3で説明しているところの第e段階を表している。
【0072】
続いて、ステップ102に於いて、各階層毎の処理に於ける初期設定を行っている。Nは、バウンダリ情報埋込み場所の決定を各階層総てに共通して、2の倍数座標を基準(各階層の座標値の偶奇性に注目する意味)にすることを表す。これは、本発明に於ける基本概念である。また、mは、各階層に於ける横方向のズレを表す倍数を意味し、同じくnは、各階層に於ける縦方向の倍数を意味する。
【0073】
続いて、ステップ103〜ステップ107は、X座標値からの埋込み識別内容を表すXMatchの設定方法を表す。ステップ103では、X座標値が、当該階層の奇数値かどうかを判断する。ステップ105〜ステップ106の処理を経ることにより、ステップ103では、Xが奇数値の場合にステップ104に制御を移す。
【0074】
ステップ104では、横方向について、次に高い階層情報処理埋込み箇所に制御を移すバウンダリと同じであることを表すXMatch=1を設定する。XMatchの値は、YMatchの値との組合せによって、この階層でのフローの最終判断されるものになる。
【0075】
ステップ105では、Xが偶数の時ステップ107に制御を移し、Xが奇数の時は、ステップ106に制御を移す。
【0076】
ステップ106では、Xの座標の合う場所を探す為に、mの値をインクリメントする。
【0077】
ステップ107では、横方向について、次に高い階層情報処理埋込み箇所に制御を移すバウンダリと同じでないことを表すXMatch=0を設定する。この場合は、この階層の状態で埋込み情報値が確定することを表す。詳細は、ステップ113以降に説明する。
【0078】
続いて、ステップ108〜ステップ112は、Y座標値からの埋込み識別内容を表すYMatchの設定方法を表す。
【0079】
この部分は、上記ステップ103〜ステップ107をY座標値に適用することに該当する。
【0080】
ステップ108では、Y座標値が、当該階層の奇数値かどうかを判断する。ステップ110〜ステップ111の処理を経ることにより、ステップ108では、Yが奇数値の場合にステップ109に制御を移す。
【0081】
ステップ109では、縦方向について、次に高い階層情報処理埋込み箇所に制御を移すバウンダリと同じであることを表すYMatch=1を設定する。YMatchの値は、XMatchの値との組合せによって、この階層でのフローの最終判断されるものになる。
【0082】
ステップ110では、Yが偶数の時ステップ112に制御を移し、Yが奇数の時は、ステップ111に制御を移す。
【0083】
ステップ111では、Yの座標の合う場所を探す為に、nの値をインクリメントする。
【0084】
ステップ112では、横方向について、次に高い階層情報処理埋込み箇所に制御を移すバウンダリと同じでないことを表すYMatch=0を設定する。この場合は、この階層の状態で埋込み情報値が確定することを表す。
【0085】
続いて、ステップ113〜ステップ120において、当該階層の最終処理を行う。その結果、ステップ117,118,120,121に至る場合は、当該階層で電子透かし埋込み値を決定し、当該機能を終了することを表す。
【0086】
XMatch=1かつYMatch=1の場合は、図2の基本形で表現するP/Sの位置に該当することを表す。そのため、その場合は、ステップ115に制御を移し、更に上位階層に制御を移すかどうかの準備処理を行う。eを1アップして次の階層を表し、X及びYをそれぞれ2で割って、上位階層に適する値に設定し直している。ここで、2による除算は、小数以下切り捨てた整数値を新たな値とする。
【0087】
ステップ116は、適用するブロックサイズが、2のe乗より大きくなるかどうかで、上位階層の処理を行う必要があるかどうかを判断している。ブロックサイズが、2のe乗よりも大きい場合は、上位階層の処理を行う為に、ステップ102に戻り、逆に、ブロックサイズが、2のe乗よりも大きくない場合は、当該座標(X,Y)には、0を埋込む判断となる。
【0088】
XMatch=1かつYMatch=0の場合は、ステップ118に制御を移し、図2の基本形で表現する1(固定値)の位置に該当するので、当該座標(X,Y)には、1を埋込む判断となる。
【0089】
XMatch=0かつYMatch=1の場合は、ステップ120に制御を移し、図2の基本形で表現する0(固定値)の位置に該当するので、当該座標(X,Y)には、0を埋込む判断となる。
【0090】
XMatch=0かつYMatch=0の場合は、ステップ121に制御を移し、図2の基本形で表現するSの位置に該当するので、当該座標(X,Y)には、任意情報を埋込む判断となる。
【0091】
なお、このフローは、図2の基本形1に該当する例であり、他の基本形へ適用するには、それぞれ以下の内容に変更すればよい。
【0092】
すなわち、基本形2の場合、ステップ104をXMatch=1,ステップ107をXMatch=0,ステップ109をYMatch=1,ステップ112をYMatch=0にそれぞれ変更する。
【0093】
また、基本形3の場合、ステップ104をXMatch=0,ステップ107をXMatch=1,ステップ109をYMatch=0,ステップ112をYMatch=1にそれぞれ変更する。
【0094】
また、基本形4の場合、ステップ104をXMatch=0,ステップ107をXMatch=1,ステップ109をYMatch=1,ステップ32をYMatch=0にそれぞれ変更する。
【0095】
次に、図5を参照して、ブロックバウンダリを求める際の縦方向のバウンダリ決定方法および横方向のバウンダリ決定方法について説明する。図5は、図2で説明する基本形1を、一旦、2のべき乗値で表す総ての階層に適用することによって電子透かし埋込み画像を作っておいて、その後、その電子透かし埋込み画像を部分切出し、逆に、その部分切出し画像から、埋込み時のブロックバウンダリを求める方法を説明するための例である。
【0096】
縦方向のバウンダリ決定方法は、まず、第0段階として、切り出す前画像の2倍境界について先頭行を0行(偶数行)とすると、偶数行の合計値が20〜40となり、奇数行の合計値が64〜128となる(矢印T0の列を参照)。したがって、図2で説明する基本形1の特徴から、奇数行から偶数行の間が元画像の2の倍数行境界となる。
【0097】
次に、第1段階として、切り出す前画像の4倍数境界について、偶数番(e先頭行)の合計値が16〜32となり、奇数番(0先頭行)の合計値が4〜8となる(矢印T1の列を参照)。そして、偶数番〜奇数番の間が元画像の4の倍数行境界となる。
【0098】
次に、第2段階として、切り出す前画像の8倍数境界について、偶数番(E先頭行)の合計値(ただし、<E>は該当しないので含めない)が4〜8となり、奇数番(0先頭行)の合計値が0となる(矢印T2の列を参照)。そして、偶数番〜奇数番の間が元画像の8の倍数行境界となる。
【0099】
同様に、横方向のバウンダリ決定方法は、まず、第0段階として、切り出す前の画像の左端からの列番号が2の倍数境界について、先頭縦列を第0列(偶数列)として、切り出し画像内の偶数列の合計値が84〜104となり、切り出し画像内の奇数列の合計値が0〜64となる(矢印Y0の行を参照)。そして、図2で説明する基本形1の特徴から、偶数列〜奇数列の間が元画像の2の倍数列境界となる。
【0100】
次に、第1段階として、切り出す前の画像の左端からの列番号が4の倍数境界について、切り出し画像内の偶数番(eのそれぞれの後尾列の)の合計値(ただし、<e>は該当しないので含めない)が32〜48となり、切り出し画像内の奇数番(0のそれぞれの後尾列の)合計値が52〜56となる(矢印Y1の行を参照)。そして、奇数番〜偶数番の間(縦列を左から右に見て0からeに切り替わる箇所)が、元画像の4の倍数列境界となる。
【0101】
次に、第2段階として、切り出す前の画像の左端からの列番号が8の倍数境界について、切り出し画像内の偶数番(Eのそれぞれの後尾列の)の合計値(ただし、<E>は該当しないので含めない)が28となり、切り出し画像内の奇数番(0のそれぞれの後尾列の)合計値が26〜28となる(矢印Y2の行を参照)。そして、偶数番〜奇数番の間(縦列を左から右に見てEから0に切り替わる箇所)が、元画像の8の倍数列境界となる。
【0102】
このような方法で、縦方向のバウンダリと横方向のバウンダリをそれぞれ決定すると、同図に斜線で示した部分が1まとまりのブロックであると判断される。
【0103】
次に、図6を基にブロックバウンダリを求める為の電子透かし抽出処理を説明する。ここで、図6の処理は、「電子透かしを埋込んだ時の基本形(図2参照)が、各階層毎に別々に設定できること」を前提にしている。
【0104】
ステップ201は、現在の処理階層を表す変数kに0を設定して、第0段階(図3および図5の第0段階処理用)を表す初期化を行っている。ブロックバウンダリを正確に求めるためには、このように第0段階から正確に求めなければならない。第0段階のバウンダリ位置を基にして第1段階のバウンダリ位置が求まり、第k段階のバウンダリ位置を基にして、第(k+1)段階のバウンダリ位置が求まる関係にある。
【0105】
ステップ202は、ブロックバウンダリ算出フローの指標kが、2のべき乗の値nより小さいかどうかを判定している。即ち、ステップ202の処理状態に於いては、ブロックバウンダリ位置が、2のk乗の大きさのバウンダリ条件位置まで求まっていることになるので、ブロックの大きさが2のn乗であれば、k<nの関係の時には、算出すべき階層のバウンダリ条件位置まで求まっていないとみなして、ステップ203〜ステップ207の処理を実行する流れに制御を渡している。また、同じくk=nの時(「条件:k<n」がNOの時)には、算出すべき階層のバウンダリ条件位置まで求まったとみなして、終了処理に制御を移す。
【0106】
次に、ステップ203〜ステップ206に於いて、第k段階:2の(k+1)乗のバウンダリ位置を求めている。
【0107】
ここで、電子透かしを埋込んだ時の基本形(図2参照)が、各階層毎に別々に設定できる機能を実現する為に周知のHash関数を使用している。Hash関数のリターン値は、0か1かの2種類である。横方向の選択値を決定する為に、ステップ3に於いてHash関数の引数に、“パスワード”,階層番号k,横方向を表す‘0’を設定している。
【0108】
同様に、縦方向の選択値を決定する為に、ステップ204に於いてはHash関数の引数に、“パスワード”,階層番号k,縦方向を表す‘1’を設定している。この関数呼出しの結果得られた値の組合せによって、基本形が基本形1,2,3,4の何れであるのかを決定する。
【0109】
この中で、横方向と縦方向の値の算出に分けて(ステップ203とステップ204で)別々に関数呼出ししているのは、機密保持の安全性を高くするために、取扱いの段階を多くした例を示したものである。これら縦方向と横方向のHash関数呼出しによるリターン値の組合せによって、ステップ205に於いて、基本形1〜4を決定している。
【0110】
即ち、Hash(“パスワード”, k, 0):横方向のリターン値が0,かつ、Hash(“パスワード”, k, 1):縦方向のリターン値が0の場合は、図2で示す基本形1であるとみなす。
【0111】
また、Hash(“パスワード”, k, 0):横方向のリターン値が0,かつ、Hash(“パスワード”, k, 1):縦方向のリターン値が1の場合は、図2で示す基本形2であるとみなす。
【0112】
また、Hash(“パスワード”, k, 0):横方向のリターン値が1,かつ、Hash(“パスワード”, k, 1):縦方向のリターン値が0の場合は、図2で示す基本形3であるとみなす。
【0113】
また、Hash(“パスワード”, k, 0):横方向のリターン値が1,かつ、Hash(“パスワード”, k, 1):縦方向のリターン値が1の場合は、図2で示す基本形4であるとみなす。
【0114】
以上の結果を踏まえて、ステップ206に於いて、ブロックバウンダリ位置を決定する。決定方法は、各階層の横方向及び縦方向それぞれについて、上述した方法を適用して決定する(図5およびその説明を参照)。
【0115】
そして、ステップ207では、次の階層(段階)の処理に移す為に、処理階層を表す変数kを1アップし、その後、ステップ202に制御を戻す。
【0116】
このようにして、本実施例によれば、元の画像の2のべき乗の水平/垂直の座標線に囲まれたブロック単位で独立した所定の規則に基づくバウンダリ位置照合用データをブロックバウンダリ位置を特定するための電子透かしとして、また、少量の電子透かし情報からでもブロックバウンダリ位置が特定できる工夫を加えて埋め込むことにより、電子透かし抽出時に2のべき乗の大きさのバウンダリ位置が算出できるので、任意の箇所から任意の大きさに部分的に切り出された画像であっても、元の画像上におけるブロックのバウンダリ位置を確定させるための照合作業を極力少ない照合回数で高速に行わせることができる。
【0117】
ここで、電子透かし埋め込み情報量(位置情報を除く)Tについて説明する。
【0118】
まず、全ての画素に電子透かしを埋め込む場合、Tの値は、次の式(I)により求めることができる。
【0119】
【数1】

【0120】
例えば、n=8で、ブロックサイズが256画素X256画素であり、全体画像のサイズがA4サイズで画像の解像度が200DPI(=(200ドット/インチ(=25.4mm)))の場合、T(8)=1,048,560ビットとなり、全体の約33.3%となる。すなわち、部分領域の中からブロック境界を算出するために、電子透かし情報の2/3を必要とするので、任意情報を埋め込むことができるデータ量は、電子透かし情報の1/3となる。
【0121】
また、電子透かし埋め込みできる場所が全体の一部である場合、例えば、所々のまだら状に配置する場合、上述と同じ画像条件で、例えば、画像全体で864バイト(=6,912ビット)を埋め込むとすると、1ブロックには、約144ビット(=6,912(ビット)/48(ブロック))を埋め込めることとなり、そのうち、ブロック境界算出用には、約96ビットを使用し、任意情報埋め込みには、約48ビットを使用できることとなる。
【図面の簡単な説明】
【0122】
【図1】パーソナルコンピュータ31のハードウェア構成を概略的に示すブロック図。
【図2】2のべき乗バウンダリを求めるための各階層の電子透かし状態(バウンダリ位置照合用データ)を決定するための基本形を説明するための概略図。
【図3】基本形1のみを使用した場合における8X8画素の場合の電子透かし情報の一例を示した概略図。
【図4】ブロックバウンダリを考慮した電子透かし埋込み処理の一例を示したフローチャート。
【図5】ブロックバウンダリを求める際の縦方向のバウンダリ決定方法および横方向のバウンダリ決定方法について説明する際に参照する図2で説明する基本形1を2のべき乗値で表す総ての階層に適用して電子透かし情報が埋込まれている画像を部分切出し、その切出し画像に対し、逆に、埋込み時のブロックバウンダリを求める際の縦方向のバウンダリ決定方法および横方向のバウンダリ決定方法を説明する、部分切出し画像およびバウンダリを求めるための分析情報を表す概略図。
【図6】ブロックバウンダリを求める為の電子透かし抽出処理の一例を示したフローチャート。
【符号の説明】
【0123】
31 パーソナルコンピュータ

【特許請求の範囲】
【請求項1】
画像を複数に分割したブロック毎にその画素値又は画素値を暗号化や圧縮の為に符号化したデータに所定の電子透かし情報を埋め込む電子透かし埋め込み手段を備え、
前記電子透かし埋め込み手段は、前記所定の電子透かし情報に加えて、分割されたブロックのバウンダリ位置を特定するために、元の前記画像の2のべき乗の水平および垂直の座標線に囲まれたブロック単位で独立した所定の規則に基づき付与されるバウンダリ位置照合データを電子透かしとして埋め込むことを特徴とする画像処理装置。
【請求項2】
前記電子透かし埋め込み手段は、圧縮処理しても有効性が保たれる画像データまたは量子化データの最下位ビットにバウンダリ位置照合データを電子透かしとして埋め込むことを特徴とする請求項1記載の画像処理装置。
【請求項3】
前記電子透かし埋め込み手段は、電子透かし情報を1ビットずつ埋込む原画像内の場所が不定で、また、原画像の中で埋め込み場所が間引かれていてもバウンダリ位置照合用データ及び任意情報の両方を電子透かしとして埋め込む機能を持つことを特徴とする請求項1記載の画像処理装置。
【請求項4】
前記電子透かし埋め込み手段は、2のべき乗値で表す階層における上位階層のバウンダリ位置照合用データとしてその直下の下位階層の該当箇所のバウンダリ位置照合用データの加算演算に基づき算出されたデータを用いるように各階層の前記バウンダリ位置照合データを決定することを特徴とする請求項1または請求項2または請求項3記載の画像処理装置。
【請求項5】
前記電子透かし埋め込み手段は、前記バウンダリ位置照合データとして2のべき乗階層における水平および垂直方向に関して各階層毎に独立した組合せの基本パターンを有することを特徴とする請求項4記載の画像処理装置。
【請求項6】
ブロック毎に画像データに関して所定の統計計算を適用してたたみ込み符号を算出し、かつ、算出された当該たたみ込み符号のデータをファジー表現するためのファジー処理を施すたたみ込み符号算出手段をさらに備え、
前記電子透かし埋め込み手段は、前記たたみ込み符号算出手段により出力されるたたみ込み符号データを前記所定の電子透かしとして埋め込むことを特徴とする請求項1または請求項2または請求項3または請求項4または請求項5記載の画像処理装置。
【請求項7】
前記たたみ込み符号算出手段は、所定の統計計算値を基礎として算出された乱数値をたたみ込み符号として用いることを特徴とする請求項6記載の画像処理装置。
【請求項8】
画像データ中に埋め込まれている電子透かしデータを抽出する抽出手段と、
抽出された電子透かしデータ中のバウンダリ位置照合データに基づき、2のべき乗データバウンダリの所定の下位階層側から上位階層側へ向けて、照合ブロック位置をずらして順次各々の階層におけるバウンダリ位置を確定するバウンダリ位置確定手段と、
バウンダリ位置が確定された2のべき乗バウンダリにおける上位階層の元の画像における分割されたブロック位置に割り当てられた所定の電子透かし情報と、当該ブロックの復号画像データから所定演算により算出されたデータとを照合する電子透かし照合手段とをさらに備えることを特徴とする請求項4または請求項5または請求項6または請求項7記載の画像処理装置。
【請求項9】
画像を複数に分割したブロック毎にその画素値に対して加工処理を行うコンピュータにインストールされる画像処理プログラムにおいて、
前記コンピュータに、画素値又はその符号化データに所定の電子透かし情報を埋め込む電子透かし埋め込み機能を実行させ、
前記電子透かし埋め込み機能は、前記所定の電子透かし情報に加えて、分割されたブロックのバウンダリ位置を特定するために、元の前記画像の2のべき乗の水平および垂直の座標線に囲まれたブロック単位で独立した所定の規則に基づき付与されるバウンダリ位置照合データを電子透かしとして埋め込むことを特徴とする画像処理プログラム。
【請求項10】
前記電子透かし埋め込み機能は、圧縮処理しても有効性が保たれる画像データまたは量子化データの最下位ビットにバウンダリ位置照合データを電子透かしとして埋め込むことを特徴とする請求項9記載の画像処理プログラム。
【請求項11】
前記電子透かし埋め込み機能は、電子透かし情報を1ビットずつ埋込む原画像内の場所が不定で、また、原画像の中で埋め込み場所が間引かれていてもバウンダリ位置照合用データ及び任意情報の両方を電子透かしとして埋め込む機能を持つことを特徴とする請求項9記載の画像処理プログラム。
【請求項12】
前記電子透かし埋め込み機能は、2のべき乗値で表す階層における上位階層のバウンダリ位置照合データとしてその直下の下位階層の該当箇所のバウンダリ位置照合用データの加算演算に基づき算出されたデータを用いるように各階層のバウンダリ位置照合用データを決定することを特徴とする請求項9または請求項10または請求項11記載の画像処理プログラム。
【請求項13】
前記電子透かし埋め込み機能は、バウンダリ位置照合用データとして2のべき乗階層における水平および垂直方向に関して各階層毎に独立した組合せの基本パターンを有することを特徴とする請求項12記載の画像処理プログラム。
【請求項14】
ブロック毎に画像データに関して統計計算して所定の電子透かしとして埋め込むたたみ込み符号を算出し、かつ、算出された当該たたみ込み符号のデータをファジー表現するためのファジー処理を施すたたみ込み符号算出機能をさらに前記コンピュータに実行させ、
前記電子透かし埋め込み機能は、前記たたみ込み符号算出機能により出力されるたたみ込み符号データを前記所定の電子透かしとして埋め込むことを特徴とする請求項9または請求項10または請求項11または請求項12または請求項13記載の画像処理プログラム。
【請求項15】
前記たたみ込み符号算出機能は、所定の統計計算値を基礎として算出された乱数値をたたみ込み符号として用いることを特徴とする請求項14記載の画像処理プログラム。
【請求項16】
画像データ中に埋め込まれている電子透かしデータを抽出する抽出機能と、
抽出された電子透かしデータ中のバウンダリ位置照合データに基づき、2のべき乗データバウンダリの下位階層側から上位階層側へ向けて、照合ブロック位置をずらして順次各々の階層におけるバウンダリ位置を確定するバウンダリ位置確定機能と、
バウンダリ位置が確定された2のべき乗データバウンダリにおける上位階層の元の画像における分割されたブロック位置に割り当てられた所定の電子透かし情報と当該ブロックの復号画像データから統計計算により算出されたデータとを照合する電子透かし照合機能とを前記コンピュータに実行させることを特徴とする請求項12または請求項13または請求項14または請求項15記載の画像処理プログラム。
【請求項17】
請求項9または請求項10または請求項11または請求項12または請求項13または請求項14または請求項15または請求項16記載の画像処理プログラムを格納したコンピュータ読み取可能な記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2006−295391(P2006−295391A)
【公開日】平成18年10月26日(2006.10.26)
【国際特許分類】
【出願番号】特願2005−111059(P2005−111059)
【出願日】平成17年4月7日(2005.4.7)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】