(57)【要約】【課題】  電子透かし情報を埋め込んだデータを印刷した紙文書を再びスキャニングして電子透かし情報を読み取ることは困難であった。【解決手段】  まず、画像データをＤＣＴ変換したＤＣＴブロックのＭ×Ｎ個によってＢｉｔブロックを構成する。そして、ＤＣＴブロックにおける係数要素を、高周波側から順次、複数の第１のグループに分割し、さらに該第１のグループのそれぞれを０／１のいずれかへの偏りを示す第２グループに分割する。そして、第２のグループ間における偏りを同一方向に生じさせてＤＣＴブロックの偏り状態を生成する。さらに、Ｂｉｔブロック内の全ＤＣＴブロックの偏りを同一方向として、Ｂｉｔブロックの偏り状態を生成し、該Ｂｉｔブロックをその偏り方向に応じた１ビット単位として組み合わせて、電子透かし情報を構成する。【選択図】  図３
2008079013.tif 000002
【特許請求の範囲】
【請求項１】
画像データに対して電子透かし情報を埋め込む画像処理装置であって、
前記画像データを、複数個の画素からなる第１のブロックに分割し、さらに該第１のブロックの複数個によって第２のブロックを構成するブロック分割手段と、
前記第１のブロックに対して離散コサイン変換を施して周波数空間における係数要素を得るＤＣＴ手段と、
前記離散コサイン変換が施された前記第１のブロックにおける前記係数要素を、複数種類の第１のグループに分割し、さらに該第１のグループのそれぞれを２種類の第２のグループに分割するグループ分割手段と、
前記第１のブロックに含まれる前記第１のグループの全てについて、その内部の前記第２のグループ間において係数要素値の偏りを同一方向に生じさせることによって、該第１のブロックの偏り状態を生成する第１の偏り変換手段と、
前記第２のブロックに含まれる前記第１のブロックの全てについて、前記第１の偏り変換手段によって同一方向への偏り状態を生成することによって、該第２のブロックの偏り状態を生成する第２の偏り変換手段と、を有し、
前記第２の偏り変換手段によって偏り状態が生成された前記第２のブロックを、その偏りの方向に応じた１ビット単位として組み合わせることによって、前記電子透かし情報が構成されることを特徴とする画像処理装置。
【請求項２】
前記第１の偏り変換手段は、前記第２のグループ間における前記係数要素の平均値が第１の方向または第２の方向へ偏った状態として、前記第１のブロックの偏り状態を生成することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記第１の偏り変換手段は、前記第２のグループ間における前記係数要素の平均値の差分が予め定められた値以上となるように、前記第１のブロックの偏り状態を生成することを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記第１の偏り変換手段は、前記第１のブロックにおける前記係数要素に対し、予めテーブルとして定められた値を加減算することによって、前記第１のブロックの偏り状態を生成することを特徴とする請求項３記載の画像処理装置。
【請求項５】
前記第２の偏り変換手段は、前記第２のブロックに含まれる全ての前記第１のブロックについての偏り状態が、前記第１の方向または前記第２の方向へ偏った状態として、該第２のブロックの偏り状態を生成することを特徴とする請求項２乃至４のいずれかに記載の画像処理装置。
【請求項６】
前記第２の偏り変換手段は、前記第２のブロックに含まれる全ての前記第１のブロックについての偏り状態が前記第１の方向へ偏った状態をビット０状態とし、前記第２の方向へ偏った状態をビット１状態として、該第２のブロックの偏り状態を生成することを特徴とする請求項５記載の画像処理装置。
【請求項７】
前記グループ分割手段は、前記第１のブロックにおける前記係数要素を、高周波側から順次、前記第１のグループに分割することを特徴とする請求項１記載の画像処理装置。
【請求項８】
さらに、
前記第２の偏り変換手段で前記第２のブロックに偏り状態を生成することによって前記電子透かし情報が構成された画像データに対し、該第２のブロックに含まれる前記第１のブロックの全てについて、その偏り状態を判定する第１の偏り判定手段と、
前記第１の偏り判定手段で判定された偏り状態の出現頻度を算出する頻度算出手段と、
該算出された出現頻度に基づいて、前記第２のブロックにおける偏り状態を判定する第２の偏り判定手段と、を有し、
前記第２の偏り判定手段で判定された前記第２のブロックの偏り方向に応じて、前記電子透かし情報を検出することを特徴とする請求項１乃至７のいずれかに記載の画像処理装置。
【請求項９】
前記第１の偏り判定手段は、前記第１のブロックの偏り状態が、第１の方向への偏り状態および第２の方向への偏り状態、および偏りなし状態のいずれに相当するかを判定することを特徴とする請求項８記載の画像処理装置。
【請求項１０】
前記第２の偏り判定手段は、前記第１の偏り判定手段で判定された各状態の出現頻度に基づいて、前記第２のブロックの偏り状態が、第１の方向への偏りおよび第２の方向への偏り、および偏り不定のいずれに相当するかを判定することを特徴とする請求項８または９記載の画像処理装置。
【請求項１１】
前記第２の偏り判定手段による前記第２のブロックの偏り状態が、前記第１の方向への偏りであればビット０状態、前記第２の方向への偏りであればビット１状態、前記偏り不定であれば不定状態として、前記電子透かし情報を検出することを特徴とする請求項８乃至１０のいずれかに記載の画像処理装置。
【請求項１２】
前記第２の偏り変換手段で前記第２のブロックに偏り状態を生成することによって前記電子透かし情報が構成された画像データは、紙文書をスキャニングして得られたデータであることを特徴とする請求項８乃至１１のいずれかに記載の画像処理装置。
【請求項１３】
画像データに対して電子透かし情報を埋め込む画像処理方法であって、
前記画像データを、複数個の画素からなる第１のブロックに分割し、さらに該第１のブロックの複数個によって第２のブロックを構成するブロック分割ステップと、
前記第１のブロックに対して離散コサイン変換を施して周波数空間における係数要素を得るＤＣＴステップと、
前記離散コサイン変換が施された前記第１のブロックにおける前記係数要素を、複数種類の第１のグループに分割し、さらに該第１のグループのそれぞれを２種類の第２のグループに分割するグループ分割ステップと、
前記第１のブロックに含まれる前記第１のグループの全てについて、その内部の前記第２のグループ間において係数要素値の偏りを同一方向に生じさせることによって、該第１のブロックの偏り状態を生成する第１の偏り変換ステップと、
前記第２のブロックに含まれる前記第１のブロックの全てについて、前記第１の偏り変換手段によって同一方向への偏り状態を生成することによって、該第２のブロックの偏り状態を生成する第２の偏り変換ステップと、を有し、
前記第２の偏り変換ステップによって偏り状態が生成された前記第２のブロックを、その偏りの方向に応じた１ビット単位として組み合わせることによって、前記電子透かし情報が構成されることを特徴とする画像処理方法。
【請求項１４】
さらに、
前記第２の偏り変換ステップで前記第２のブロックに偏り状態を生成することによって前記電子透かし情報が構成された画像データに対し、該第２のブロックに含まれる前記第１のブロックの全てについて、その偏り状態を判定する第１の偏り判定ステップと、
前記第１の偏り判定ステップにおいて判定された偏り状態の出現頻度を算出する頻度算出ステップと、
該算出された出現頻度に基づいて、前記第２のブロックにおける偏り状態を判定する第２の偏り判定ステップと、を有し、
前記第２の偏り判定ステップにおいて判定された前記第２のブロックの偏り方向に応じて、前記電子透かし情報を検出することを特徴とする請求項１３記載の画像処理方法。
【請求項１５】
コンピュータ上で実行されることによって、該コンピュータを請求項１乃至１２のいずれかに記載の画像処理装置として動作するように制御することを特徴とするプログラム。
【請求項１６】
請求項１５記載のプログラムが記録されたことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置および画像処理方法に関し、特に、画像データに対する電子透かし情報の埋め込みおよび検出を行う画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
近年、コンピュータとその周辺機器及びインターネットの普及によって、誰もが容易に必要とする情報にアクセス可能となり、ユーザの利便性が飛躍的に向上した。その反面、著作権を無視した不正コピーや改竄などの新たな問題が生じている。そのため著作権保護に対するセキュリティ技術が急速にその重要性を増してきている。そのひとつの方法として電子透かし技術が注目されている。
【０００３】
電子透かし技術とは、デジタルデータに対して人間に知覚できない方法で著作者や作成した日付、ＩＤ番号等の情報を埋め込み、必要に応じて埋め込んだ情報を抽出する技術である。これによって、不正コピーの抑止効果や追跡、改竄に対する検証などを行うことが可能となる。
【０００４】
電子透かし技術は、上述したようにオリジナル画像データを加工することによって情報を埋め込み、その埋め込んだ情報を、多様な攻撃を受けた後に再び抽出するという過程を経なければならない。したがって電子透かし技術においては、"オリジナル画像と比較した品質"、"多様な攻撃に対する耐性"、"埋め込むことができる情報量"及び"処理パフォーマンス"の４つをうまく両立させて、バランスの取れた処理を行うことが要求される。
【０００５】
従来より、原画像を複数のブロックに切り出して、ブロック毎に直交変換した後、隣接するブロック間で同じ位置に対応する係数の大小関係を変化させることでパターンを形成して情報を埋め込む技術が提案されている（例えば、特許文献１参照）。
【０００６】
また、紙文書に埋め込こまれた電子透かし情報を読み取る技術として、以下のような提案もなされている。すなわち、複数のパターン配列から１つを選択して、該選択されたパターン配列を構成要素に応じて、画像データを階調変換することで１ビットの情報を生成し、それを複数組み合わせることで情報を埋め込む技術である（例えば、特許文献２参照）。
【特許文献１】特開2000-216983号公報
【特許文献２】特開2001-148775号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来の電子透かし技術においては、以下に示すような問題があった。
【０００８】
まず、上述したような電子透かし技術に求められる４項目、すなわち"オリジナル画像と比較した品質"、"多様な攻撃に対する耐性"、"埋め込むことができる情報量"及び"処理パフォーマンス"については、互いにトレードオフの関係にある。したがって、これら４項目の全てを十分に成立させることは容易ではない。特に、電子透かし情報を埋め込んだデータを印刷し、その紙文書を再びスキャナで入力して電子透かし情報を読み取る場合には、他の画像処理による攻撃以外にも、入力時の紙文書の傾き・ズレ及びシワ・汚れ等、載置状態に対する攻撃を受けることになる。したがってこのような場合には、読み取り精度が劣化する（もしくは読み取れない）という問題点や、複雑な処理や計算を必要とするためにパフォーマンスが低下してしまう等の問題点があった。
【０００９】
例えば、上述した特許文献１に示すような技術においては、紙文書をスキャニングして再デジタルデータ化した場合には、ブロック単位による直交変換後の係数の大小関係を保つことは困難であるため、埋め込み情報を抽出することは難しい。
【００１０】
また、上述した特許文献２に示すような技術においては、１ビット情報を１つのパターンで埋め込んでいるため、そのパターンの一部が破壊されてしまうと情報が読み取れなくなる可能性がある。さらに、隣接する１ビット情報（パターン）との位置関係を明確にしなければ読み取りが困難になるため、各１ビット情報を表すパターンの位置を決定するための位置情報パターンを別に準備する必要があり、処理が複雑となってしまうという問題もある。
【００１１】
本発明は上記問題を解決するためになされたものであり、画像データからの抽出がより確実となるように電子透かし情報を埋め込む画像処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するための一手段として、本発明の画像処理装置は以下の構成を備える。
【００１３】
すなわち、画像データに対して電子透かし情報を埋め込む画像処理装置であって、前記画像データを、複数個の画素からなる第１のブロックに分割し、さらに該第１のブロックの複数個によって第２のブロックを構成するブロック分割手段と、前記第１のブロックに対して離散コサイン変換を施して周波数空間における係数要素を得るＤＣＴ手段と、前記離散コサイン変換が施された前記第１のブロックにおける前記係数要素を、複数種類の第１のグループに分割し、さらに該第１のグループのそれぞれを２種類の第２のグループに分割するグループ分割手段と、前記第１のブロックに含まれる前記第１のグループの全てについて、その内部の前記第２のグループ間において係数要素値の偏りを同一方向に生じさせることによって、該第１のブロックの偏り状態を生成する第１の偏り変換手段と、前記第２のブロックに含まれる前記第１のブロックの全てについて、前記第１の偏り変換手段によって同一方向への偏り状態を生成することによって、該第２のブロックの偏り状態を生成する第２の偏り変換手段と、を有し、前記第２の偏り変換手段によって偏り状態が生成された前記第２のブロックを、その偏りの方向に応じた１ビット単位として組み合わせることによって、前記電子透かし情報が構成されることを特徴とする。
【００１４】
さらに、  前記第２の偏り変換手段で前記第２のブロックに偏り状態を生成することによって前記電子透かし情報が構成された画像データに対し、該第２のブロックに含まれる前記第１のブロックの全てについて、その偏り状態を判定する第１の偏り判定手段と、前記第１の偏り判定手段で判定された偏り状態の出現頻度を算出する頻度算出手段と、該算出された出現頻度に基づいて、前記第２のブロックにおける偏り状態を判定する第２の偏り判定手段と、を有し、前記第２の偏り判定手段で判定された前記第２のブロックの偏り方向に応じて、前記電子透かし情報を検出することを特徴とする。
【発明の効果】
【００１５】
上記構成からなる本発明によれば、画像データからの抽出がより確実となるように電子透かし情報を埋め込むことができる。
【発明を実施するための最良の形態】
【００１６】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１７】
＜第１実施形態＞
本実施形態においては、元画像データに対して不可視な情報の埋め込み及び該埋め込まれた情報を電子データ又は印刷された紙から読み取る電子透かし方法を提案する。まず、印刷物に対する電子透かし情報の埋め込み処理について説明し、次に埋め込まれた電子透かし情報の読み取り処理について説明する。なお、電子データへの透かし情報の埋め込み及び読み取り処理については、本実施形態で説明する印刷物からの処理と同様であるため、説明を省略する。また、本実施形態においてはカラー画像データを対象例として説明するが、グレースケール（モノクロ）データに対してもこれを擬似的なカラー画像データとみなすことにより、本発明は適用可能である。
【００１８】
●電子透かし埋め込み処理
以下、本実施形態における電子透かし情報の埋め込み処理について、詳細に説明する。
【００１９】
図１は、本実施形態を実現するカラー画像処理装置（複合機やレーザービームプリンタ等）における、特に色処理に関する画像処理を行う構成を示すブロック図である。以下、図１に示す各構成について説明する。
【００２０】
入力γ補正部２０１では、スキャナ等の入力機器ごとに異なる入力画像のγ特性を統一するための補正を行う。対数変換部２０２では、人間の視覚特性が輝度に対して対数的であることから、色処理の精度を上げるために対数変換処理を行う。また合わせて、印刷装置で印刷可能な色空間への変換、すなわちＲＧＢ→ＹＭＣへの色変換を行う。マスキング部２０３では、トナーの分光反射率が理想状態から大きくかけ離れているため、カラー再現性における色補正処理を行う。ＵＣＲ（Under Color Removal）部２０４では、ＹＭＣのトナーのみで黒を忠実に再現することは困難であるため、ＹＭＣの重なりあった部分の一部又は全てをブラックトナーで置き換える。換言すると、ＹＭＣから黒（Ｋ）成分の抽出を行い、この時点で色成分はＹＭＣ３色からＹＭＣＫ４色に変換される。出力γ補正部２０５では、これまでの処理過程でＵＣＲ部２０４から出力されたＹＭＣＫの各濃度について、濃度リニアになるようにプリンタのγ特性に対する補正処理を行う。最終段の中間調処理部２０６では、パルス幅変調（ＰＷＭ）とディザ処理などを組み合わせることによって、画像の濃淡を再現する処理を行う。以上の処理によって、印刷用の画像データが生成される。
【００２１】
図２は、本実施形態の特徴である、電子透かし情報を入力画像データに埋め込む構成を示したブロック図である。図２において点線で囲まれた部分が、電子透かし情報埋め込み部１１１であり、その前後に、前段階画像処理部１０１と後段階画像処理部１０９がある。電子透かし情報埋め込み部１１１では後述するように、画素の周波数空間において、その交流（ＡＣ）成分に対して偏り変換を施す。従って、実際に電子透かし情報埋め込み部１１１を製品に組み込む場合には、図１に示した一連の画像処理内のいずれかに、その加工内容や順番、排他的処理等の相性を考慮する必要がある。例えば、処理後の画像データをＪＰＥＧ圧縮してから一端メモリにスプールするという手法は良く用いられるが、本実施形態による電子透かし埋め込みを行った後にＪＰＥＧ圧縮を行う場合には、埋め込んだ情報が該圧縮で損なわれないように考慮すべきである。具体的には、量子化テーブルを最適化したり、ロスレスなＪＰＥＧ圧縮を用いることによって、圧縮率とトレードオフされる可能性があるものの、埋め込んだ情報への影響を最低限に抑えることができる。しかしながら、このような画像処理ごとに考慮すべき事柄を交えると、本実施形態の説明が煩雑になり、本発明の本質が不明瞭となってしまう。したがって本実施形態においては、上記電子透かし情報埋め込み部１１１が図１に示す画像処理ブロックの適切な箇所に組み込まれていることを前提として、説明を行う。当然ながら、他の画像処理による攻撃を少なくするためには、電子透かし情報埋め込み部１１１はなるべく最終段に組み込まれることが望ましい。
【００２２】
以下、図２に示す電子透かし情報埋め込み部１１１について詳細に説明する。まず、電子透かし情報埋め込み部１１１を構成する一連の処理ブロックについてその概要を述べる。
【００２３】
色変換部１０２は、前段画像処理部１０１からの入力画像データ（ＲＧＢ、ＹＭＣ（Ｋ）等）を、Ｙ（輝度）、Ｃｒ（色差：赤系）、Ｃｂ（色差：青系）の色空間に変換する。この時、入力画像データには画素情報以外に像域分離情報などの付加情報が含まれていても構わない。なお、色変換部１０２においてはＹＵＶ色空間への変換を行っても良いが、本実施形態ではＹＣｒＣｂ色空間への変換を行うとして、以下説明する。ＤＣＴブロック分割部１０３では、入力画像データを８×８画素単位のブロックに分割する。なお、ここでの分割サイズは特に８×８画素に限定するものではなく、システムの処理パフォーマンスを考慮して適切なサイズへの分割を行えばよい。ＤＣＴ変換（離散コサイン変換）部１０４では、前段で分割した各８×８画素からなるＤＣＴブロックに対して、２次元ＤＣＴ変換により画素の空間分布から周波数分布を計算する。Ｂｉｔブロック分割部１０５では、ＤＣＴブロックを単位として、そのＭ×Ｎ（Ｍ、Ｎは正の数）個からなる固定サイズのＢｉｔブロックに分割する。このＢｉｔブロックが、本実施形態で埋め込まれる電子透かし情報の１ビット情報を示す。
【００２４】
情報埋め込み処理部１０６では、前段までで得られたＢｉｔブロック内における各ＤＣＴブロック成分（すなわち、ＹＣｒＣｂの３成分）に対して、同一方向への偏り変換を行う。ここで偏り変換とは、各ＤＣＴブロックの交流（ＡＣ）成分に対して２方向、本実施例では"偏り０"と"偏り１"の２種類を定義し、同じＢｉｔブロック内では全て同一方向へ偏らせることを意味する。そして、各Ｂｉｔブロックを１ビット情報として、予め規定されたフォーマットに従って電子透かし情報の埋め込み処理を行う。詳細は後述するが、埋め込み情報を読み取る過程においては、同じＢｉｔブロック内のＤＣＴブロック成分に対する偏りを統計的演算で求めることにより、１ビット情報を表す各Ｂｉｔブロックが、情報'０'又は'１'のいずれであるかを判定することになる。
【００２５】
ｉＤＣＴ変換（逆離散コサイン変換）１０７では、各ＤＣＴブロックに対して２次元のｉＤＣＴ変換を施すことによって、周波数分布から再び空間分布を計算する。逆色変換部１０８では、ＹＣｒＣｂ色空間から元の入力画像データの色空間（ＲＧＢ、ＹＭＣ（Ｋ）等）に逆変換して元に戻すことにより、電子透かし情報埋め込みの全工程が完了する。以後は、後段画像処理部１０９を経て印字部１１０へ印刷データを転送して、印刷物（紙）を出力することになる。
【００２６】
以下、上述した電子透かし情報埋め込み部１１１の各構成１０２〜１０８による処理について、さらに詳細に説明する。
【００２７】
図３は、特に色変換部１０２からＢｉｔブロック分割部１０５までにおいて行われる処理を具体的に示した図であり、Ｂｉｔブロックの構成が示されている。同図においては、入力画像データ３０１が、３０２，３０３，３０４・・・で示されるＢｉｔブロックＢ１，Ｂ２，Ｂ３・・・に分割された例を示している。これら各Ｂｉｔブロックを拡大表示した例がＢｉｔブロック３０５であり、その内部にＤＣＴブロックがＭ×Ｎ個（Ｍ、Ｎは正の数）含まれている。この各Ｂｉｔブロックが、本実施形態において埋め込む情報の１ビット単位となる。
【００２８】
Ｂｉｔブロック３０５を構成するＤＣＴブロック３０６，３０７は、８×８個の画素から構成されている。Ｂｉｔブロック構成するＤＣＴブロックの個数（Ｍ×Ｎ個）により、埋め込む情報量と、紙から情報を読み取る場合のズレ・傾き及びシワ・汚れなど読み取り精度に対する耐性とがトレードオフの関係となるが、その説明については後述する。
【００２９】
各ＤＣＴブロック３０６，３０７を入力画素の色空間（ＲＧＢまたはＹＭＣ（Ｋ）等）からＹ（輝度），Ｃｒ（色差：赤系），Ｃｂ（色差：青系）へ色変換したものが、変換後のＤＣＴブロック３０８，３０９，３１０である。これら色変換後の各ＤＣＴブロック３０８，３０９，３１０に対して２次元のＤＣＴ変換を行い、画素の空間分布から周波数分布を計算した結果、各成分（ＹＣｒＣｂ）毎のＤＣＴブロック３１４を得る。ＤＣＴブロック３１４は、各水平・垂直方向の基本周波数に対する係数（強度）を表している。
【００３０】
ＤＣＴブロック３１４において、左上角部分が直流成分係数（ＤＣ成分）であり、その他の部分は交流成分係数（ＡＣ成分）である。ＤＣＴブロック３１４において矢印で示されるように、左上から右下に向かって低周波数領域から高周波数領域へと変化する。なお、各マスのＡＣに付された数字が大きいものほど、周波数が高いことを示す。また、その対角を示す矢印によって、縦方向の周波数成分が強い分布を示す"偏り１"（ＡＣ成分における斜線ブロック）と、横方向の周波数成分が強い分布を示す"偏り０"（ＡＣ成分における網点ブロック）の２方向を示す。すなわち、ＤＣＴブロック３１４のＡＣ成分は、センターライン（ＡＣ３−ＡＣ１１−ＡＣ２３−ＡＣ３８−ＡＣ５８−ＡＣ６２）を中心として、各方向を示す２領域に分割される。本実施形態では、この２領域のどちらか一方へ、予め準備された偏り変換テーブル（Ｙ用変換テーブル３１１、Ｃｒ用変換テーブル３１２、Ｃｂ用変換テーブル３１３）を用いた偏り変換処理を行う。
【００３１】
なお、ここでの変換は、ＤＣＴブロック３１４における斜線部と網点部の全てを対象とするわけではない。"偏り１"または"偏り０"の領域で変換を行わない（すなわち、元データを加工しない）ブロックも存在する。また、センターラインに位置するブロックについては、変換テーブルによりどちらかの領域に変換される部分もある。また、図３では輝度及び色差（ＹＣｒＣｂ）の３成分について偏り変換テーブルを準備する例を示したが、その全てを変換対象とする必要はなく、所定の成分のみを変換対象として選択しても良い。
【００３２】
ここで、人間の視覚特性について簡単に説明する。図４は、視覚の空間周波数特性を示す図であり、横軸は空間周波数、縦軸は視覚の応答値を示す。同図から分かるように、人間の視覚は低周波領域には敏感に反応するが、高周波領域にいくほど急激に反応が鈍化している。従って、対象画像データが自然画のような種類のものである場合、画素値の急激な変化点（隣接するＤＣＴブロックの相関が弱い場合）、すなわちエッジ部での画質劣化は比較的目立たない。しかしながら、平坦部（隣接するＤＣＴブロックの相関が強い場合）では、元画像に何かしらの加工を施した場合、ブロック・ノイズやモスキート・ノイズなどのノイズが目立ってしまう可能性がある。
【００３３】
また、図５に色度空間周波数特性を示す図であり、横軸はＬｏｇスケールでの空間周波数（cycle/deg）、縦軸は相対感度（ｄＢ）を示す。白−黒曲線６０３と等輝度の、反対の色対であるＲ−Ｇ（赤−緑）曲線６０２及びＹ−Ｂ（黄−青）曲線６０１は、空間正弦波パターンを用いて、周期及びコントラストを変化させた時に空間正弦波パターンを視覚で認識できる限界を示している。同図に示す色度空間周波数特性から考察すると、人間の視覚は輝度（Ｙ）には比較的敏感であるが、色差（Ｃｒ，Ｃｂ）に対しては鈍感であることが分かる。同図によれば、空間周波数に対する視覚感度において、輝度については比較的高い周波数領域でピークを持ち、帯域も比較的広い。一方、色差については低い周波数領域でピークを持ち、帯域も狭い。この特性は、視覚の空間的認識に対して細かな部分（すなわち、解像度など）の識別には輝度成分が支配的であり、逆に色差成分は空間的に広い部分の認識に影響を与えると考えられる。
【００３４】
従って、明暗のはっきりとした文字やイラスト等、元から高周波成分を多く含む画像データについては、エッジ部の画素（輝度）のＡＣ成分を加工すると、文字などのエッジ部がボケて見える不具合が発生する可能性がある。さらに、同じ色差の視覚特性を比較すると、赤系（明るい色）Ｃｒに対して青系（暗い色）Ｃｂの応答は高周波領域において数倍以上鈍感である。
【００３５】
人間の視覚に関して以上の事を考察すると、画質の劣化を最小限に抑えるためには、隣接するＤＣＴブロックの相関に応じて偏り変換の割合を変更（調整）することが有効である。また、埋め込み情報を読み取る際の確率を向上させるためには、視覚特性で鈍感な成分に強い偏りを挿入する、逆に考えると敏感な所には弱い偏りもしくは偏り変換をかけない等の最適化を施すことが有効である。このような偏り調整を同時に実現することにより、最大限画質の劣化を抑えると同時に、読み取り精度の向上を計ることが可能となる。例えば、より高周波領域に対して強く偏り変換を適用し、敏感な輝度成分には偏り変換をかけず、鈍感な色差成分に対してのみ偏り変換を施す、同じ色差でもＣｒに対してＣｂには強く偏り変換を施す、等の調整が考えられる。
【００３６】
以下、上述した人間の視覚特性を踏まえて、情報埋め込み処理部１０６における、Ｂｉｔブロックの偏り変換による情報埋め込み処理について、詳細に説明する。
【００３７】
図６は、情報埋め込み処理部１０６において参照される偏り変換テーブルの具体例を示す図である。テーブル２００１は、ＤＣＴ変換後の各成分に偏り変換を施す領域を示しており、'１'の部分が"偏り１"の領域、'０'の部分が"偏り０"の領域であり、それ以外の部分は変換をかけない領域である。同図によれば、"偏り１"および"偏り０"の領域は、低周波数領域から高周波数領域にかけて３つのグループに分割されている。以下、テーブル２００１に示す各グループを低周波領域から高周波領域にかけて順にグループＡ、グループＢ、グループＣとし、それぞれを網点部、斜線部、縦線部として示す。また、テーブル２００２は、テーブル２００１の各グループに対する偏り変換係数を表しており、この偏り変換係数値が元画像の係数値に加算される。テーブル２００２に示す係数ａ，ｂ，ｃはそれぞれ整数であり、"偏り１"の領域と対称（転置）となる"偏り０"の位置には、係数にマイナス（−）記号が付されているが、このマイナス記号は反対符号であることを示す。
【００３８】
ここで、テーブル２００２に示す偏り変換係数値の決定処理について説明する。テーブル２００１に示す各グループＡ，Ｂ，Ｃにおいて、それぞれをさらに"偏り０"及び"偏り１"の部分に分けて、グループ（Ａ０，Ａ１），（Ｂ０，Ｂ１），（Ｃ０，Ｃ１）とする。さらに、各グループ内における変換後の係数値の平均を、それぞれ（＊Ａ０，＊Ａ１）、（＊Ｂ０，＊Ｂ１）、（＊Ｃ０，＊Ｃ１）とする。
【００３９】
例えば、グループ（Ｃ０，Ｃ１）における偏り変換係数値を決定する際には、まず"偏り１"の変換を行う場合について、
＊Ｃ１−＊Ｃ０≧ζ・・・（１）
を満たすように、グループＣ内の偏り変換係数ｃを決定する。ここで、ζはグループＣ０、Ｃ１に対する変換後の平均値の距離（差）を決定する距離定数である。同様に"偏り０"の変換を行う場合には、
＊Ｃ０−＊Ｃ１≧ζ・・・（２）
を満たすように、偏り変換係数ｃを決定する。なお、変換後平均値の距離定数としては、グループＡ，Ｂ，Ｃに対してそれぞれα，β，ζ（０＜α≦β≦ζ、α、β、ζは整数）が予め設定されている。
【００４０】
さらに図７を用いて、偏り変換係数の決定処理について具体的に説明する。図７に示す２２０１，２２０２，２２０３および２２０４は、実際に４種類のサンプル画像におけるＤＣＴブロックに対して、ＤＣＴ変換を施した後の輝度成分（Ｙ）の結果を示すものである。以下、特にサンプル２２０３を参照して、"偏り１"への変換例を示す。サンプル２２０３に対するグループＣの偏り変換係数をｃ、距離定数ζ＝８０とすると、上記（１）式から下式が成立する。
【００４１】
＊Ｃ１−＊Ｃ０＝（−２６．４＋７×ｃ）/７−（１．７−７×ｃ）/７≧８０
従って、ｃ≧４２（この例では少数点以下を四捨五入したが、切り捨てでもよい）となる。すなわち、グループＣ０とＣ１の平均値の差を８０以上にして"偏り１"に変換したい場合には、偏り変換係数ｃ＝４２と決定される。同様にグループＡ，Ｂに対しても、それぞれの距離定数α，βによって偏り変換係数ａ，ｂが決定される。ここで、"偏り１"の場合に偏り変換係数値が負の数となった場合（すなわち、"偏り０"では偏り変換係数値が正の数となる）には、変換前の平均値の距離が既に距離定数より大きかったことを意味する。そのような場合には、偏り変換係数値を０（ゼロ）とすればよい。
【００４２】
ここで、図７に示すサンプル２２０１〜２２０４によれば、高周波領域に行くほど係数値が小さくなるという特徴を有していることが分かるが、この特徴は、一般的に全ての印刷物に共通する。以下に、高周波領域の特徴について幾つか列挙する。通常の画像データ（特に自然画像データ）においては、高周波成分は低周波成分ほど必要とされないため、比較的小さな数値によって構成される。コピー処理やネットワークからのプリントを行う場合には、如何に入力画像が超高解像度であったとしても、最終的には印刷装置の性能以上の解像度は得られない。すなわち入力画像は、印刷装置の内部処理解像度（もしくは出力解像度）に変換されることになるため、その時点で高周波成分がカットされる。一般の印刷装置においては、人間の視覚特性を考慮した画像処理が行われるため、視覚応答外にある高周波領域についてはカットされるか、もしくはランダム的（偏りが少なく均一）で、比較的小さな値を持つことが多い。上述した図３に示すＤＣＴブロック３１４においては、転置の関係にある高周波領域の係数値対について、大小関係のバランスが比較的良く、各領域で平均化するとその差分値は小さい。
【００４３】
図８は、図７に示すＤＣＴブロックのサンプル２２０１〜２２０４に対する、偏り変換前の平均値及び差分値を示した表である。同表において、第１列目２３０１は、図７のサンプル２２０１〜２２０４のいずれかを示す。第２列目２３０２は、グループＡ，Ｂ，Ｃをさらに"偏り０"及び"偏り１"に分けた内部グループ（Ａ０、Ａ１）、（Ｂ０、Ｂ１）、（Ｃ０、Ｃ１）を示し、括弧（）内は該内部グループに含まれる要素数を表している。第３列目２３０３は、各内部グループにおける係数値の平均値である。第４列目２３０４は、各内部グループにおける平均値の差分である。例えば、サンプル２２０１の３行目に示すグループ（Ｇｒ．）Ｃ１では、（Ｃ１の平均値）−（Ｃ０の平均値）＝−１．３−１．９＝−３．２と算出される。すなわち、差分（"偏り１"グループの平均値）−（"偏り０"グループの平均値）又はその逆の差分を算出している。第５列目２３０５は、高周波領域寄りの内部グループＣ＋Ｂの平均値を算出したものである。第６列目２３０６は、第４列目２３０４で説明した方法と同様に算出した、平均値の差分である。第７列目２３０７は、内部グループＣ＋Ｂ＋Ａの全領域の平均値を算出したものである。第８列目２３０８は、第４列目２３０４と同様に算出した、平均値の差分である。
【００４４】
図８の表によれば、高周波領域において"偏り０"及び"偏り１"の平均値の差分はさほど大きくはないことが分かる。単体グループ内での差分値は、要素数が少ないために多少大きめな値ではあるが差分については大きくない。さらに、第６列目２３０６及び第８列目２３０８の内部グループを一部及び全て含んだ平均値の差は小さいことが分かる。特に、高周波領域であるグループＣ及びＢを平均化した差分は、人間の視覚応答が最も鈍い区間であり、この領域間の距離（平均値の差分）を人工的に離すことで、偏りを作り出すことが可能である。グループＡを含む場合には、低周波領域に接近するため係数値も比較的大きくなり、視覚的に目立たない範囲で所定の距離を作り出すことは難しくなってくる。例えば視覚特性を考慮して、輝度成分にはグループＢ＋Ｃまで、色差成分には全てのグループを対象とした偏り変換を行うなどの配慮が必要となる。
【００４５】
以上述べた特徴及び事例を考察すると、高周波領域ではＤＣＴ変換後の係数値は比較的小さく、且つ本実施形態で定義している領域の偏り変換前の"偏り０"と"偏り１"グループの平均値の距離（差）は小さいと考えられる。従って、人間の視覚応答領域外及び鈍感な高周波領域において距離定数（α、β、ζ）を十分に大きくすることによって、偏りを持たせることができる。
【００４６】
ここで、本実施形態においてＤＣＴブロックをグループＡ，Ｂ，Ｃに分けた理由について説明する。主たる理由としては、視覚特性の反応がより鈍いグループに対して重み付けをして偏らせることが可能となるからである。図９に、偏り変換テーブルの具体例を示す。図９においては、Ｂｉｔブロック４０１内のひとつのＤＣＴブロック４０２について、そのＣｒ成分及びＣｂ成分のそれぞれに対する、"偏り１"の変換テーブル４０３及び４０４を表している。Ｃｒ成分に対する変換テーブル４０３は、グループＢ及びＣまでを偏り変換領域としている。一方、Ｃｂ成分に対する変換テーブル４０４は、グループＡ、Ｂ及びＣまでの広い範囲を偏り変換領域としている。また、Ｃｒ成分及びＣｂ成分に対する距離定数をそれぞれ（α１＝０，β１，ζ１）、（α２，β２，ζ２）とする時、α１≦α２，β１≦β２，ζ１≦ζ２となる。これはすなわち、より視覚応答が鈍感なＣｂ成分に対して、より強く偏りをかけることを意味する。
【００４７】
また、ＤＣＴブロックをグループＡ，Ｂ，Ｃに分けた他の理由としては、偏り変換への攻撃に対する耐性を確保するためである。例えば、本実施形態を適用した後でＪＰＥＧ圧縮等の高周波数をカットするような処理を行う場合、これは本実施形態とは矛盾した処理となってしまう。このような場合には圧縮率とのトレードオフになるが、量子化テーブルと偏り変換する面積とを考慮することにより、例えばグループＡでの偏りは諦めて、グループＢ（またはその一部）及びグループＣに偏りの痕跡を残すことで回避することが可能である。このように、偏り変換への攻撃に対する耐性を確保するためにも、本実施形態のグループ分けは有効である。
【００４８】
図９を用いて説明したように、ＤＣＴブロックの偏り変換処理においては、ＹＣｒＣｂ成分毎に、各グループＡ，Ｂ，Ｃに対する距離定数α，β，ζと複数の偏り変換テーブルが存在する。また、偏り変換テーブルは所定の条件によって成分毎に１つが選択される。ここでは３つのグループに分ける例を挙げて説明したが、本発明は必ずしもこのパターンのみに限定されるものではない。図１０に、他のグループ分けの例を示す。すなわち、２４０１はグループＡ及びＢの２グループへ、２４０２は１グループのみへのグループ分けの例である。いずれも各グループ内のマス目に記載されている'１'及び'０'は、"偏り１"及び"偏り０"の内部グループを表している。
【００４９】
以上のことは、上述したような輝度及び色差成分に対する視覚特性を考慮した、偏り変換による加工領域及び偏りの強さを最適化することを可能にする。加工面積を広く取るほど、そして距離定数を大きくするほど、読み取り時の精度は向上する。その反面、視覚特性を考察すると分かるように、元画像に対する劣化は大きくなる。加工面積については、元画像に対する印刷装置の画像処理内容に依存し、距離定数の決定に対しては一定量のサンプリングを取る必要があるが、いずれも視覚特性に基づいた実験と考察から決定されるべきものであるため、ここではこれ以上言及しない。
【００５０】
次に、本実施形態における印刷装置の出力解像度及びスキャナの入力解像度と、Ｂｉｔブロック・サイズの関係について説明する。本実施形態において、印刷装置の出力解像度とスキャナの入力解像度とが等しくない場合は、埋め込み側のＢｉｔブロック・サイズを読み取り側に正しく伝達しないと、埋め込み情報を読み取ることができない。
【００５１】
ここで、紙文書を介さずに直接、電子ファイル間において情報の埋め込み及び埋め込み情報の読み取りを行う場合には、ファイルのヘッダ情報にＢｉｔブロック・サイズを暗号化して付加することにより正確に伝達可能となる。したがってこの場合には、Ｂｉｔブロック・サイズは任意の大きさであっても問題ない。また、紙文書の場合も、本実施形態以外の手段でＢｉｔブロック・サイズを読み取り時に伝達できるのであれば、やはりＢｉｔブロック・サイズは任意であってもよい。問題となるのは、紙文書をスキャニングすることで埋め込み情報を読み取る際に、Ｂｉｔブロック・サイズの伝達手段がない場合である。
【００５２】
以下、紙文書においてＢｉｔブロック・サイズが読み取り側に伝達できない場合について説明する。詳細は後述するが、本実施形態を適用する場合、解像度は６００ｄｐｉ以上あることが望ましい。これは、用紙サイズにもよるが、例えばＡ４サイズ以下で解像度が６００ｄｐｉ以下である場合には、同じ内容の埋め込み情報を十分な回数、繰り返し埋め込むことが困難となり、読み取り時の精度が劣化する可能性があるためである。但し、用紙サイズが十分に大きければ、６００ｄｐｉ以下の解像度であっても適用可能である。近年の印刷装置及びスキャナにおける解像度（主走査及び副走査方向）は、最低でも６００ｄｐｉ以上ある場合が主流である。そこで以下では図１１を用いて、主走査及び副走査方向ともに６００ｄｐｉの解像度に正規化して本実施形態を適用する場合を考える。
【００５３】
図１１は、解像度とＢｉｔブロックの関係を示す図であり、１２０１は、主・副走査方向が６００ｄｐｉ時のＢｉｔブロック例である。Ｂｉｔブロック１２０１の内部には、８×８画素からなるＤＣＴブロックがＭ×Ｎ（主走査方向×副走査方向）個含まれている。なお、ＤＣＴブロックは常に８×８画素で構成されているものとする。また１２０２は、主・副走査方向が１２００ｄｐｉ時のＢｉｔブロック例である。Ｂｉｔブロック１２０２に含まれるＤＣＴブロック数がやはりＭ×Ｎ個である場合には、Ｂｉｔブロック１２０２の内部に点線で示した矩形領域が読み取り対象となるため、埋め込み情報を正常に読み取ることはできない。また１２０３は、主走査方向１２００ｄｐｉ×副走査方向６００ｄｐｉ時のＢｉｔブロック例である。この場合も、Ｂｉｔブロック１２０３がやはりＭ×Ｎ個のＤＣＴブロックを含む場合には、Ｂｉｔブロック１２０３内部の点線で示す矩形領域が読み取り対象となり、やはり埋め込み情報を正常に読み取ることはできない。
【００５４】
そこで、情報を埋め込む側と読み取る側の双方において、その処理解像度が一致するように予め取り決めておくことにより、埋め込み情報を正しく読み取ることが可能となる。したがって図１１の例では、Ｂｉｔブロック１２０２ではそのサイズをＤＣＴブロックの２Ｍ×２Ｎ個相当に正規化することによって、６００ｄｐｉ相当の読み取り解像度を得る。またＢｉｔブロック１２０３では、そのサイズをＤＣＴブロックの２Ｍ×Ｎ個相当に正規化することによって、やはり６００ｄｐｉ相当の読み取り解像度を得る。
【００５５】
なお、情報の埋め込み過程で入力画像データの解像度と印刷装置の出力解像度が異なる場合には、上述したような正規化の関係が崩れてしまわないように、出力解像度への変換処理を実施した後に、埋め込み処理を行う必要がある。
【００５６】
以上説明したように、紙文書からの読み取りに対して本実施形態を適用する場合には、出力解像度と入力解像度の違いを吸収するために、Ｂｉｔブロック・サイズを埋め込み側及び読み取り側の双方で、解像度に対して正規化したサイズとする。
【００５７】
次に、本実施形態の特徴である、Ｂｉｔブロックを用いた有効な電子透かし情報の埋め込み処理について、詳細に説明する。
【００５８】
図１２は、画像データ７０１に対して５ビット符号化による電子透かし情報を埋め込む例を示す図である。同図において、各矩形ブロック１〜ＮがＢｉｔブロックを表している。各Ｂｉｔブロック７０２は、Ｍ×Ｎ個のＤＣＴブロック７０３を含み、各ＤＣＴブロックは３成分（ＹＣｒＣｂ）を有する。該３成分のうちの選択された成分に対して、所定の変換テーブルにより"偏り０"又は"偏り１"への偏り変換が施されている。さらに、ひとつのＢｉｔブロックに含まれるＤＣＴブロックは、その全てが偏り変換により一方向に偏りを持たせてあり、全体として各Ｂｉｔブロックにビット０又はビット１の情報を埋め込んでいる。図１２では、各Ｂｉｔブロックの背景に示す矢印により、その偏り状態を視覚的に表現している。
【００５９】
以下、５ビットの符号化を例として、情報の埋め込み処理を説明する。まず、画像データ７０１左端の先頭から初めの５ビットが"ＳＴＡＲＴコード"７０４であり、それに続き有効な情報が記載されている。情報の最後は"ＥＮＤコード"７０５である。このれにより、ＳＴＡＲＴコード７０４およびＥＮＤコード７０５によって、１単位の埋め込み情報が完結する。以後、同様にＳＴＡＲＴコードとＥＮＤコードを対（［７０６、７０７］、［７０８・・・］として、同じ内容の１単位の情報が、画像データの最後まで連続して埋め込まれる。以下、１単位の埋め込み情報をＷＩＵ（透かし情報単位：Watermarking Information Unit）と称する。
【００６０】
図１３は、本実施形態において使用される５ビットの符号化テーブル例を示す図であり、該符号化テーブルは、ＳＴＡＲＴコード、ＥＮＤコード、０〜９までの数字コードと、必要最低限の英字コードとから構成される。本実施形態においては、この符号化テーブルに基づいて、意味のある情報が埋め込まれる。
【００６１】
図１４は、上述したＷＩＵのフォーマット例を示す図である。ＷＩＵは、先頭のＳＴＡＲＴコード９０１と末尾のＥＮＤコード９０４に挟まれた区間に、ＪＡＳ（Job Archive System）ナンバー９０２と属性情報９０３が所定のデータサイズでフォーマット化されている。
【００６２】
ここで、ＪＡＳナンバー９０２について簡単に説明する。近年、個人情報保護法の施行もあり、電子データのみならず印刷データを監視して、紙文書の情報漏洩の抑止及び追跡を行うシステムが各種提案され、一部は既に実施されている。図１５に、Job Archive System（以下、ＪＡＳと称する）の構成例を示し、その仕組みを説明する。ネットワーク１１０１に接続されるＭＦＰ１１０２において、ユーザ１１０６が機密文書をコピーした場合を想定する。この場合、ＭＦＰ１１０２がＪＡＳに対応していれば、スキャンされた文書画像データから文字や記号などのキーワードを解析することができる。該解析の結果、コピー原稿があるレベル以上のセキュリティ管理対象文書であると判定された場合には、イメージデータを含むｊｏｂ情報１１０８を、ネットワーク上のｊｏｂ監視サーバ１１０３に転送する。ここでｊｏｂ情報１１０８には、１１０７に示すように、"いつ：どこで：誰が：どんな内容を：コピー、スキャン、ＦＡＸ、プリントしたのか"を示す情報が含まれ、さらに、後で展開して読み取れる程度の間引かれた文書イメージデータが含まれる。
【００６３】
ｊｏｂ監視サーバ１１０３では、ｊｏｂ情報１１０８にＪＡＳナンバーを付加して管理する。セキュリティ・レベルによっては、該ジョブ情報１１０８が発生した時点で、管理ホスト１１０４に対してメール通知を行って適切な処置を促す。また、コピー後にセキュリティ上のトラブルが発生した場合には、問題になっているコピー文書情報と、ｊｏｂ監視サーバ１１０３に管理されている文書情報を照合して追跡を行うことが可能となる。なお、ここでは一定以上のセキュリティ・レベルを管理対象とする例を示したが、当然同じ要領で全ての文書データを管理してもよい。
【００６４】
本実施形態を以上説明したＪＡＳに連携させることによって、基本的に電子透かし情報としてはＪＡＳナンバーを埋め込み情報として利用すればよいため、少ない情報量で文書を追跡することが可能となる。ＪＡＳナンバーは図１５に示すように、ｊｏｂ監視サーバ１１０３より取得する。上述した１単位の埋め込み情報であるＷＩＵのデータ量が少ないということは、その分、多数のＷＩＵを繰り返し埋め込むことが可能となることに等しい。従ってＪＡＳを利用した情報埋め込みによれば、紙文書からの読み取り精度を向上させることができる。
【００６５】
上述した図１４に示すＷＩＵフォーマット例においては、ＳＴＡＲＴコード９０１×１個、ＪＡＳナンバー９０２×８個、属性情報９０３×２個、ＥＮＤコード９０４×１個の符号コードによってフォーマット化されている。したがって、１つのＷＩＵサイズは、５ビットの符号コードの１２個分となり、すなわち６０ビットのデータ長が必要となる。
【００６６】
ここで、入力画像データを縦横６００ｄｐｉ、Ａ４サイズ、情報埋め込みの有効領域を２００ｍｍ×４００ｍｍとする。すると、この場合のＢｉｔブロック・サイズは、Ｂｉｔブロックを構成するＤＣＴブロック数が６×６個（Ｍ＝６、Ｎ＝６）であれば、約１９２００ビット（〜２．３ＫＢ）となる。したがってこの場合、ＷＩＵサイズが上述したように６０ビットであれば、約３２０個のＷＩＵを埋め込むことが可能となる。同様に、Ｂｉｔブロック・サイズが１０×１０個のＤＣＴブロック数相当であれば、７３個（約５５０バイト）のＷＩＵ埋め込みが可能となる。さらに同様に、Ｂｉｔブロック・サイズが２０×２０個のＤＣＴブロック相当（約７ｍｍ角の矩形）であれば２８個（約２１０バイト）、３０×３０個（約１ｃｍ角の矩形）相当であれば１３個（約１００バイト）のＷＩＵ埋め込みが可能となる。
【００６７】
次に、図１４のＷＩＵフォーマットに示す属性情報９０３について説明する。属性情報９０３では、２つのコードの情報によって紙文書に対するコピー許可の属性を示す。すなわち、"００"→コピー許可、"０１"→コピー不許可、"１０"→認証付きコピー許可をそれぞれ規定する。
【００６８】
ここで、再び図１５を用いて、属性情報９０３を利用したコピー処理について説明する。ＭＦＰ１１０２においてユーザ１１０６が紙文書をコピーする場合、ＭＦＰ１１０２はスキャンされた画像データに埋め込まれた電子透かし情報を読み取り、その内容を解析する。このとき、属性情報９０３が"００"の場合にはコピー許可であるから、そのまま印刷することができる。一方、属性情報９０３が"０１"の場合には、機密文書等でコピー不許可であるから、ＭＦＰ１１０２のパネル上に印刷不可の表示を行い、コピー禁止文書である旨をユーザに認識させる。また、属性情報９０３が"１０"の場合には、認証付きコピー許可であるから、ＭＦＰ１１０２のパネルにユーザの登録番号（社員番号等）とパスワードの入力画面を表示して、認証操作を行うように促す。そしてＭＦＰ１１０２は、入力された認証情報をネットワーク１１０１上の認証サーバ１１０５に送信して認証依頼を行う。ここで認証サーバ１１０５には、予めユーザの登録番号とパスワードが登録されており、該登録内容と送られてきた認証情報が一致すれば、認証許可としてコピー処理を行うことができる。一方、認証不許可であった場合には、ＭＦＰ１１０２のパネル上に該紙文書に対してコピーできる権限がない旨をユーザに表示してコピー処理を中止する。
【００６９】
このように、電子透かし情報として紙文書に埋め込まれるＷＩＵフォーマット内に属性情報９０３を備え、これに基づいて該紙文書のコピー処理の可否を制御することによって、電子データのみならず紙文書に対してもセキュリティの向上を計ることができる。
【００７０】
以下、ＷＩＵの埋め込み処理について詳細に説明する。上述した図１２においては、複数のＷＩＵを左端から右へ順番に、すなわち連続的かつ直線的に挿入する例を示したが、本実施形態におけるＷＩＵの挿入方法は、必ずしもこの例に限定されない。図１６は、ＷＩＵを別方法によって挿入した例を示す。図１６によれば、元画像データ１００１に対して、ＷＩＵが１００２，１００３，１００４，１００５・・・の順に、矩形状に挿入されていく例を示している。この挿入方法によれば、図１２のような連続的挿入よりも横方向への広がりが狭く、ＷＩＵが一部分に集中して配置されるため、紙文書から電子透かし情報を読み取る際に、特にシワや汚れが部分的に発生した場合に、読み取り精度の向上が期待できる。但し、ひとつのＷＩＵを読み取るためにスキャンを途中で折り返して多くのライン数を跨ぐ必要があるため、処理が煩雑になり、スキャンしたデータの逐次処理が困難となるという欠点がある。したがってＷＩＵの挿入方法（埋め込み形状）については、システム構成などを考慮して適切なものを決定すればよい。
【００７１】
次に、Ｂｉｔブロック・サイズと攻撃（他の画像処理、紙文書のズレ、傾き、シワ、汚れなど）への耐性、及び埋め込み情報の読み取り位置について説明する。
【００７２】
その詳細については後述するが、本実施形態では、Ｂｉｔブロックを構成するＤＣＴブロックの統計的な偏り（'０'又は'１'）を算出することによって、１ビットの情報を確定する。個々のＤＣＴブロックでの偏り変換を施す面積及び係数値の大きさ（深さ）は、主として元画像の画質劣化とのトレードオフであることは既に説明した通りである。それらのＤＣＴブロックを構成要素とするＢｉｔブロックにおいては、その面積（サイズ）が大きいほど紙文書からの読み取り精度が向上することは容易に推測される。すなわち、Ｂｉｔブロックにおいては、その面積と攻撃に対する耐性及び情報埋め込み量とがトレードオフの関係にある。
【００７３】
図１７は、紙文書をスキャナから読み取る場合にズレ及び傾きが発生した例を示す。同図において、破線の矩形２１０１が、４つのＢｉｔブロックに対するズレ・傾きゼロの位置を示し、実線の矩形２１０２が、４つのＢｉｔブロックがある傾きとズレを持って読み取られた例を示している。また、これら２つの矩形が重なり合った部分が、網点領域２１０３である。上述したように、本実施形態ではＢｉｔブロック内ＤＣＴブロックの集団の偏りを判定材料としているため、網点領域２１０３に十分な個数のＤＣＴブロックが含まれていれば、ある程度の傾き・ズレには十分な耐性を持たせることができる。同時に、Ｂｉｔブロック・サイズが大きい（面積が広い）ということは、その分、偏りの痕跡が拾い易くなるということになるので、当然ながら他の画像処理からの攻撃や紙文書のシワ、汚れに対する耐性も比例的に向上すると考えられる。
【００７４】
以下、Ｂｉｔブロックの読み取り開始位置について説明する。本実施形態においては、各Ｂｉｔブロック又は電子透かし情報単位であるＷＩＵに対する読み取り基準パターンを設けないことを特徴とする。一般的な電子透かし方法においては、埋め込み情報と同時に読み取り位置を示す基準パターンを挿入することによって、読み取り位置を確実に取得できるようにしているが、本実施形態ではこのような基準パターンを必要としない。本実施形態においては、透かし情報の埋め込み側と読み取り側で開始位置を予め取り決めておくことにより、所定のＢｉｔブロック・サイズで切り出して読み取ることを可能とする。例えば図１７において、２１０４が埋め込み基準点、２１０５が読み取り基準点である。これにより、読み取りの開始位置が多少ずれた場合でも、傾き・ズレを考慮したＢｉｔブロック・サイズであれば、図１７の網点領域２１０３内にビット情報を確定するに十分な個数のＤＣＴブロックを含ませることができる。
【００７５】
以上説明したように、本実施形態におけるＢｉｔブロック・サイズは、攻撃に対する耐性及び埋め込む情報量を考慮して適切に決定されなければならない。しかしながら、ＤＣＴブロックへの偏り変換を施す面積及び係数の大きさの決定と同様に、最適なサイズは印刷装置の画像処理内容や傾き・ズレ補正精度などに依存する。したがって、Ｂｉｔブロック・サイズは上記各事柄を考慮して十分な実験と考察によって決定されるべきである。以下、本実施形態では最適なＢｉｔブロック・サイズが決定されていることを前提として、説明を行う。
【００７６】
●電子透かしの読み取り処理
以下、本実施形態における紙文書からの電子透かし情報の読み取り処理について、詳細に説明する。
【００７７】
上述した電子透かし情報の埋め込み処理を行う構成については、図１に示した画像処理ブロックの適切な箇所に挿入されているものとして説明した。埋め込まれた電子透かし情報の読み取り処理についても同様に、図１に示す画像処理ブロックの適切な箇所において実行されることを前提とする。当然ながら、他の画像処理による攻撃を最小限にするためには、該読み取り処理はなるべく前段において実行されることが望ましい。
【００７８】
図１８は、本実施形態における電子透かし情報の読み取り処理の概要を示すフローチャートである。まず、透かし情報を埋め込んだ紙文書をスキャナで読み取ってＲＧＢ色空間の画像データを得（Ｓ１３０１）、これをＹＣｒＣｂ色空間へ変換する（Ｓ１３０２）。そして、ＹＣｒＣｂ色空間の画像データを、８×８画素のＤＣＴブロックに分割し（Ｓ１３０３）、ＤＣＴ変換（離散コサイン変換）施して画素の空間分布から周波数分布を算出する（Ｓ１３０４）。さらに、上述したように正規化した解像度で、ＤＣＴブロックのＭ×Ｎ個を単位として、画像データをＢｉｔブロックに分割する（Ｓ１３０５）。
【００７９】
次に、分割したＢｉｔブロックが、'ビット０'、'ビット１'及び'判定不能'のいずれの情報を示しているかを判定する（Ｓ１３０６）。その判定方法としては、まずＢｉｔブロック内部に含まれるＭ×Ｎ個の各ＤＣＴブロックに対して、"偏り０"，"偏り１"及び"偏りなし"のいずれに属するかを判定するために、偏り強度を算出する。そして、各ＤＣＴブロックの偏り強度に対して統計的演算を行うことによって、最終的に各Ｂｉｔブロックが'ビット０'，'ビット１'及び'判定不能'のいずれに属するかを判定する。なお、該判定処理の詳細については後述する。
【００８０】
ここまでの処理によって、各Ｂｉｔブロックの抽出、すなわち各１ビット情報の判定（０／１／判定不能）が完了する。以降は図１３で説明した符号化テーブルに基づいて、所定の位置から開始されるＳＴＡＲＴコード〜ＥＮＤコードまでのＷＩＵを、画像データの所定の終端まで繰り返し読み取り、情報の解読を実行する（Ｓ１３０７）。なお、ステップＳ１３０６におけるＢｉｔブロックの情報判定処理、およびステップＳ１３０７における埋め込み情報の解読処理については、さらにその詳細を後述する。
【００８１】
ステップＳ１３０８では、ステップＳ１３０７での解読結果を判定し、解読ができなかった場合には埋め込み情報が無かったものとして、ステップＳ１３０９の埋め込み情報無しの場合の処理へ移行する。解読ができた場合には、ステップＳ１３１０の埋め込み情報有りの場合の処理へ移行する。
【００８２】
以上、埋め込み情報の解読処理についての概要を説明した。ステップＳ１３０７での解読結果に応じた処理としては、図１４及び図１５を用いて説明したように、埋め込み情報に属性情報を付加することによりコピー処理等に制約をかける目的、印刷物に対するトラブル発生時の追跡目的など、色々な用途が考えられる。また、解読結果は、読み取る紙文書の状態によっては一意に決まらず、幾つかの候補が発生する場合も有り得る。その場合、例えば後者の追跡目的ならば可能性のある候補の全てを表示部に出力して対処することが必要である。本実施形態においては、透かし情報の埋め込み処理及び読み取り処理を実現することが目的であるので、該解読結果を用いた各種処理についてはこれ以上は言及しない。
【００８３】
以下、ステップＳ１３０６のＢｉｔブロックの情報判定処理について、詳細に説明する。図１９に示すようにＢｉｔブロックの情報判定処理は、ステップＳ２５０１のＤＣＴブロックの情報判定処理と、ステップＳ２５０２のＢｉｔブロックの情報判定処理（詳細）の２段階にて行われる。
【００８４】
まず、ステップＳ２５０１におけるＤＣＴブロックの情報判定処理の説明に先立って、その前提条件について説明する。上述した埋め込み処理において図６及び図１０を用いて説明したように、偏りパターンのグループ分けの方法は幾つか考えられる。ここではグループＡ，Ｂ，Ｃの３つに分けるものとし、グループＣ及びＢまでは必ず偏り変換を行い、グループＡに関しては偏り変換の有無を設定できるものとする。これは、グループの中で最も視覚に影響しやすいグループＡに対して、輝度及び色差成分毎に視覚特性を考慮した変換を可能とするためである。また、本実施形態では紙文書からの読み取りを前提としているため、以下の（１）〜（３）に示す３つの値については、情報の埋め込み側と読み取り側で予め定められた既知の値とする。
【００８５】
（１）正規化された解像度でのＢｉｔブロック・サイズ。
【００８６】
（２）各グループ（Ａ，Ｂ，Ｃ）における距離定数値（α、β、ζ）。
【００８７】
（３）グループＡに対する偏り変換の有無。
【００８８】
なお、（２）及び（３）の値については、輝度及び色差成分毎に異なっていても良い。さらに、ＪＰＥＧ圧縮への対応方法については簡単に触れたが、ここでは他の画像処理は考慮しないものとする。
【００８９】
図２０は、ステップＳ２５０１のＤＣＴブロックの情報判定処理を示すフローチャートである。まずステップＳ２６０１において、グループＡに対する偏り変換の有無を設定し、さらにＢｉｔブロックの個数を変数ｐに設定する（Ｓ２６０１）。そして、ＤＣＴブロックの個数を変数ｑに設定する（Ｓ２６０２）。ここでＢｉｔブロックの個数とはすなわち、上段のステップＳ１３０５で切り出されたＢｉｔブロックの総数であり、ＤＣＴブロックの個数とはすなわち、Ｂｉｔブロックに含まれるＤＣＴブロック数（Ｍ×Ｎ個）である。なお以下では、第ｐ番目のＢｉｔブロックを「ＢＢｐ」と表記し、第ｑ番目のＤＣＴブロックを「ＤＢｑ」と表記するとする。
【００９０】
次に、ＤＢｑについて、グループＣの内部グループＣ０（偏り０）及びグループＣ１（偏り１）の各平均値を計算して、平均値の差分すなわち距離Ｄｑ（Ｃ）を求める（Ｓ２６０３）。ここで、平均値の距離とは、内部グループの平均値間における差分値であるから、「大きい数値−小さい数値」として算出される。このとき、大きい数値の側が"偏り０"又は"偏り１"のどちらの内部グループであるかによって、そのＤＢｑの偏り方向が判断される。また、必要に応じて算出される各平均値は、グループＣ→Ｂ→Ａの順に求める。例えば図２１に示すように、グループＣの高周波領域からの逆ジグザグスキャンを行えば、効率良く処理できる。
【００９１】
次に、算出した距離Ｄｑ（Ｃ）と、予め設定されている距離条件Ｄｔ（Ｃ）とを比較して（Ｓ２６０４）、これがＤｑ（Ｃ）≧Ｄｔ（Ｃ）を満たせば「偏り有り」と判定される。ここで距離条件Ｄｔ（Ｃ）は、Ｄｔ（Ｃ）＝ζ×Ｍ（Ｃ）（Ｍは余裕度）として定義される。すなわち、埋め込み側で距離ζの値によって偏らせたものを、読み取り側では適度な余裕度を持った距離Ｄｔ（Ｃ）で読み取り、判定する。この具体例については後述する。
【００９２】
ステップＳ２６０４の条件を満たした、すなわちグループＣでの偏りが十分に読み取れた場合には、ステップＳ２６０５に進んで注目しているＤＢｑを"偏り０"又は"偏り１"に確定し、さら確定情報を所定の場所に格納する（Ｓ２６１２）。
【００９３】
一方、グループＣがステップＳ２６０４での条件を満たしていない場合には、ステップＳ２６０６に進んで、さらにグループＣ及びＢの範囲によって平均値の差分Ｄｑ（Ｃ＋Ｂ）を算出する。そして、算出した差分Ｄｑ（Ｃ＋Ｂ）と所定の距離条件Ｄｔ（Ｃ＋Ｂ）とを比較して（Ｓ２６０７）、Ｄｑ（Ｃ＋Ｂ）≧Ｄｔ（Ｃ＋Ｂ）を満たせば、「偏り有り」と判定される。ここで距離条件Ｄｔ（Ｃ＋Ｂ）は、Ｄｔ（Ｃ＋Ｂ）＝（ζ＋β）×Ｍ（Ｃ＋Ｂ）（Ｍは余裕度）として定義される。上記Ｄｔ（Ｃ）と同様に、グループＣ及びＢを合わせた範囲に対して埋め込み側での距離ζ及びβの値によって偏らせたものを、読み取り側では適度な余裕度を持った距離Ｄｔ（Ｃ＋Ｂ）で読み取ることになる。
【００９４】
ステップＳ２６０７の条件を満たした、すなわち距離条件Ｄｔ（Ｃ＋Ｂ）に対する判定結果が「偏り有り」である場合には、ステップＳ２６０４におけるＤｔ（Ｃ）の場合と同様に、ステップＳ２６０５に進む。しかしながら、ステップＳ２６０７の条件を満たしていない場合には、まず、グループＡに偏り変換されているか否かを判定する（Ｓ２６０８）。ここでグループＡの偏り変換が無ければ、ステップＳ２６１１に進んで注目しているＤＢｑは「偏り無し」として確定する。
【００９５】
一方、ステップＳ２６０８においてグループＡに偏り変換があった場合には、さらにグループＣ、Ｂ及びＡの範囲で、平均値の差分Ｄｑ（Ｃ＋Ｂ＋Ａ）を算出する（Ｓ２６０９）。そして、算出した差分Ｄｑ（Ｃ＋Ｂ＋Ａ）と所定の距離条件Ｄｔ（Ｃ＋Ｂ＋Ａ）とを比較して（Ｓ２６１０）、Ｄｑ（Ｃ＋Ｂ＋Ａ）≧Ｄｔ（Ｃ＋Ｂ＋Ａ）を満たせば、「偏り有り」と判定される。ここで距離条件Ｄｔ（Ｃ＋Ｂ＋Ａ）は、Ｄｔ（Ｃ＋Ｂ＋Ａ）＝（ζ＋β＋α）×Ｍ（Ｃ＋Ｂ＋Ａ）（Ｍは余裕度）として定義される。上記Ｄｔ（Ｃ）と同様に、グループＣ，Ｂ及びＡを合わせた範囲に対して埋め込み側での距離ζ，β及びαの値によって偏らせたものを、読み取り側では適度な余裕度を持った距離Ｄｔ（Ｃ＋Ｂ＋Ａ）で読み取ることになる。
【００９６】
ステップＳ２６１０の条件を満たした、すなわち距離条件Ｄｔ（Ｃ＋Ｂ＋Ａ）に対する判定結果が「偏り有り」である場合には、ステップＳ２６０４におけるＤｔ（Ｃ）の場合と同様に、ステップＳ２６０５に進む。しかしながら、ステップＳ２６１０の条件を満たしていない場合には、最終的に各判定(Ｓ２６０４，Ｓ２６０７，Ｓ２６１０)において全て条件を満たさなかったことになり、注目しているＤＢｑは「偏り無し」として確定される（Ｓ２６１１）。このように確定された情報は、ステップＳ２６１２において所定の場所に格納される。
【００９７】
以上、ステップＳ２６１２までの処理によって注目しているＤＢｑの情報判定が終了したことになる。そこで、変数ｑをデクリメントして、次のＤＢｑの処理を開始する（Ｓ２６１３）。同様の処理を、注目しているＢＢｐ（第ｐ番目のＢｉｔブロック）において繰り返し、ｑ＝０となった時点で（Ｓ２６１４）、変数ｐをデクリメントして、次のＢＢｐの処理を開始する（Ｓ２６１５）。以下同様の処理を繰り返し、ｐ＝０となった時点で（Ｓ２６１６）、全Ｂｉｔブロックに対するＤＣＴブロックの情報判定処理を終了する。
【００９８】
なお、ＤＣＴブロックの判定レベルについては、デフォルトでグループＣ及びＢまでの条件判断の結果を判定材料とする等、いろいろ考えられるが、ここではこれ以上の説明は省略する。
【００９９】
ここで図２２に、ＤＣＴブロックにおける情報判定の具体例を示す。同図に示すＤＣＴブロック２９０１は、上述した図７のＤＣＴブロック２２０３に対して、実際に"偏り１"の変換を施した例を示す。各グループ（Ｃ，Ｂ，Ａ）の距離定数（ζ，β，α）＝（８０，５０，１０）とした場合、それぞれの偏り変換係数値は上述した式（１）より、２９０２に示すように（ｃ，ｂ，ａ）＝（２８，５１，１３）として求められる。ＤＣＴブロック２９０１の各係数値は、偏り変換係数（ｃ，ｂ，ａ）＝（２８，５１，１３）を用いた偏り変換後の結果として得られたものである。
【０１００】
一方、読み取り時の距離条件Ｄｔ（Ｃ），Ｄｔ（Ｃ＋Ｂ），Ｄｔ（Ｃ＋Ｂ＋Ａ）は、２９０３で示されるような値に設定されている。なお、各距離条件は、２９０３の右部に記載されているような演算によって算出される。ここでは、余裕度Ｍを一律に７０％、すなわちＭ（Ｃ）＝Ｍ（Ｃ＋Ｂ）＝Ｍ（Ｃ＋Ｂ＋Ａ）＝０．７とした。当然ながら、余裕度Ｍは、輝度及び色差成分、各グループ範囲（Ｄｔ（Ｃ），Ｄｔ（Ｃ＋Ｂ），Ｄｔ（Ｃ＋Ｂ＋Ａ））に対して異なった値であっても構わない。
【０１０１】
ここで、余裕度Ｍについてさらに説明する。余裕度Ｍは、実際に埋め込まれた距離（ζ，β，α）に対する攻撃（他の画像処理、紙文書の傾き・ズレ、汚れ、シワ等）からの余裕度を持たせるための値である。０＜Ｍ＜１の範囲で定義され、偏りの判定を十分に可能とする最小値に決定される。余裕度Ｍについても距離定数ζ，β，αと同様に、印刷装置の画像処理内容に依存するため、一定量のサンプリングを行い、視覚特性に基づいた実験と考察から決定されることが望ましい。
【０１０２】
次に、図１９のステップＳ２５０２に示すＢｉｔブロックの情報判定処理（詳細）について、図２３のフローチャートを用いて説明する。
【０１０３】
上述したステップＳ２５０１において、各Ｂｉｔブロックに含まれるＤＣＴブロックの偏り方向が確定した。ステップＳ２５０２では、確定された各ＤＣＴブロックの偏り方向をＢｉｔブロック単位で集計して、最終的に各Ｂｉｔブロックが示す１ビットの情報が、ビット０、ビット１及びＸ（不定値、すなわち判定不能）のいずれであるかを判定する。
【０１０４】
まず、Ｂｉｔブロックの個数を変数ｐに設定する（Ｓ２７０１）。今、注目しているＢｉｔブロックをＢＢｐとする時、そのＢＢｐに含まれるＤＢの確定された状態を０，１，Ｘのいずれかとして、各状態の個数を集計する（Ｓ２７０２）。そして、該集計結果が、その出現頻度から予め決定されている条件Ｒｎ（ｎは任意個数）を満足するか否かを判定する（Ｓ２７０３）。ここでは、例えば２つの判定条件Ｒ１，Ｒ２を設定するとする。例えば、Ｒ１として出現頻度が最大値となるＤＢの状態（０，１，Ｘのいずれか）を設定し、Ｒ２として、Ｒ１に設定されたで状態が'１'又は'０'であった場合に、該状態の出現頻度が他の２つの出現頻度の加算値の５０％以上であること、と設定する。これら２つの条件Ｒ１，Ｒ２がともに満たされた時、ＢＢｐの状態が該最大頻度で出現した値に確定される。すなわち、（Ｒ１）and（Ｒ２）＝true（真）である場合、ＢＢｐはビット０又は１に確定される（Ｓ２７０４）。一方、（Ｒ１）and（Ｒ２）＝ｆａｌｓｅ（偽）である場合には、ＢＢｐは不定値Ｘであると確定される（Ｓ２７０５）。これら確定値は、所定の場所に格納される（Ｓ２７０６）。
【０１０５】
以上、ステップＳ２７０６までの処理によって注目しているＢｉｔブロックの示す１ビット値が確定される。そこで、変数ｐをデクリメントして、次のＢＢｐの処理を開始する（Ｓ２７０７）。以下同様の処理を繰り返し、ｐ＝０となった時点で（Ｓ２７０８）、全Ｂｉｔブロックに対する情報判定処理を終了する。
【０１０６】
以下、図１８のステップＳ１３０７における埋め込み情報の解読処理について詳細に説明するが、それに先立って、ＷＩＵの前提条件について説明する。
【０１０７】
図２４に、ＷＩＵのフォーマット例を示す。同図に示すようにＷＩＵは、ＳＴＡＲＴコード（"０１１０１"）及びＥＮＤコード（"００１１０"）の間に本文コードを挟みこむような形式で構成されている。図１４でも説明したように、ＷＩＵの本文コードは固定長にフォーマット化されているため、ＷＩＵは固定長符号化を行うものとし、埋め込み側及び読み取り側の双方においてＷＩＵのサイズが既知であることを前提とする。また、ＷＩＵが固定長符号で、そのサイズが未知である場合には、初めに符号長を検出しなければならい。その場合には、基準コードであるＳＴＡＲＴコードとＥＮＤコードを手がかりに符号長を決定する必要があるが、その後の処理は以下に説明する方法と同様であるため、説明を省略する。なお、本実施形態は埋め込まれるＷＩＵの符号長を固定長に制限するものではない。しかしながら、後述するようにＷＩＵの繰り返し挿入回数が不十分である場合には、読み取り精度が劣化することが考えられる。ＷＩＵサイズを可変長として符号化し、ＷＩＵごとにサイズが異なることを許可する場合も考えられるが、十分な繰り返し回数の埋め込みが行えなかったり、処理が煩雑となってしまったりするため、このような可変長符号化は適切ではない。したがって本実施形態においては、ＷＩＵを可変長とする場合についての説明は省略する。さらに、図２４に示すＷＩＵ例においては、ＳＴＡＲＴコードとＥＮＤコードの間に本文コードを挟み込む例を示したが、必ずしもこのフォーマットに限定するものでもない。特にＷＩＵの符号長が固定であり、読み取り側でそのサイズが既知である場合には、ＥＮＤコードはなくてもよい。但し、後述する読み取り処理での統計的な誤り符号訂正によって読み取り精度の確実度を向上させる目的で、ＷＩＵ中での固定部（この場合、ＳＴＡＲＴコードとＥＮＤコード）を多くするために、本実施形態のＷＩＵとしては図２４の構成を採用した。
【０１０８】
以下、上述したＷＩＵの前提条件を踏まえて、ステップＳ１３０７における埋め込み情報の抽出処理について、図２５のフローチャートを参照して説明する。
【０１０９】
まず、その前工程であるステップＳ１３０６のＢｉｔブロックの情報判定処理において、各Ｂｉｔブロックが'ビット０'、'ビット１'、'判定不能'のいずれかに確定している。上述したようにＷＩＵサイズは既知であり、且つ図１４及び図２４のようにＷＩＵ内部はフォーマット化（本実施形態では５ビットの符号化）されている。従って、まず入力画像データの所定の位置（図１７に示す読み取り基準点２１０５）から５ビット単位で、ＷＩＵの内部フォーマットに従って切り出し処理を行う（Ｓ１５０１）。
【０１１０】
ここで図２６に、切り出されたＷＩＵの例を模式的に示す。同図に示す各ＷＩＵ内部はＢｉｔブロック１７０７で構成され、さらにＢｉｔブロックはＤＣＴブロック１７０６で構成されている。図２６においては、透かし情報の１単位であるＷＩＵが、ＷＩＵ−１，ＷＩＵ−２，・・・，ＷＩＵ−５１，・・・と順次切り出されている様子を示している。今、各ＷＩＵの先頭に配置されるＳＴＡＲＴコード（０１１０１）の５ビット目（１７０２，１７０３，１７０４，１７０５）に注目すると、これらはそれぞれ、'１（正しい）'，'Ｘ（不明）'，'１（正しい）'，'０（誤り）'である。ここで、'０'及び'１'は、ビット０又は１と読み取れたことを示すが、'Ｘ'は判定不能であったことを意味している。このように、Ｂｉｔブロックは必ずしもそのビット情報が正しく読み取れるものではなく、画像処理や紙文書のシワや汚れに対する攻撃によって、どうしても判定不能となってしまうものがある。これは、ＳＴＡＲＴコードの１ビットに注目しても同様である。
【０１１１】
そこで本実施形態においては、切り出した各ＷＩＵについての比較・照合処理を行う（Ｓ１５０２）。この比較・照合処理とは、各ＷＩＵにおける同位置のビットを比較して、その全ビットが完全に一致するか否かを照合する処理である。ここでは、まずＷＩＵ−１とＷＩＵ−２を比較し、次のＷＩＵ−３はＷＩＵ−１，２と比較し、次のＷＩＵ−４はＷＩＵ−１，２，３と比較する・・・と言う具合に、順次、比較・照合を行う。
【０１１２】
先頭のＷＩＵ−１から順次比較して行き、完全一致したＷＩＵ数が予め設定したＰ個以上になった時点で（Ｓ１５０３）、そのＷＩＵを真値とし、抽出成功として（Ｓ１５０６）抽出処理を終了する。なお、完全一致する組が２組以上出現する可能性もあるが、確率的には非常に低いため、本実施形態ではこのような事例については無視する。
【０１１３】
一方、Ｐ個以上の完全一致が達成できなかった場合（Ｓ１５０３）には、ＷＩＵの統計的な誤り符号訂正処理を行う（Ｓ１５０４）。以下、図２７を用いて、統計的な誤り符号訂正処理について説明する。図２７の点線で示すように、ＷＩＵ−１（１８０１）から最後のＷＩＵ−Ｋ（１８０４）までの同位置のビット判定値'０'，'１'，'Ｘ'の出現頻度を算出する。図２７では、１ビット目の算出結果を例として、４ケースのヒストグラム１８０７〜１８１０を表している。これらヒストグラムにおいては、縦軸が出現頻度（個数）を、横軸が出現状態（'０'，'Ｘ'，'１'）を示す。例えばヒストグラム１８０７においては、ＷＩＵの総数Ｋ＝１００個として、各ビット状態の割合が（'０'，'Ｘ'，'１'）＝（５６％，２９％，１５％）である例を示している。同様にヒストグラム１８０８〜１８１０においては、Ｋ＝１００個に対して、各ビット状態の割合が（'０'，'Ｘ'，'１'）＝（３８％，３４％，２８％），（３９％，５１％，１０％），（４６％，１０％，４４％）である例を示している。
【０１１４】
図２７に示すヒストグラムを用いて、１ビット目の情報を確定する方法を、以下に２例示す。
【０１１５】
まずひとつ目の方法は、ある集団の偏り度合いを推定するためのχ2検定である。図２８は、χ2検定の代表的なグラフ及び表（一部抜粋）を示す図である。グラフ１９０１の斜線で示す裾の面積を、自由度φに対して１０％、５％、１％での値を示したものが表１９０２である。χ2検定においては、χ2＝Σ{(実測値−平均値)2／平均値} で算出される。
【０１１６】
χ2検定を本実施形態におけるＷＩＵビット（０／１／Ｘ）の出現頻度に適用した場合、取り得る状態は３つなので自由度は３であり、そのうちのひとつを平均値の計算に用いるので、該検定における自由度φ＝２となる。ここで判定基準を５％とした場合、表１９０２によればφ＝２の０．０５（５％）では５．９９となる。すなわち、５％が基準であるときのχ2の値（グラフ１９０１の斜線部左値）が５．９９以上の値であれば、この集団は偏りが全体の５％以内でしか発生しない、稀な偏りを持つ集団であると結論づけられる。本実施形態では人工的に偏りを発生させているため、外部からの攻撃がなければこのような偏りの発生状態は当然の帰結であると考えられる。
【０１１７】
図２７に示す４つのヒストグラム１８０７〜１８１０に対して、上述したχ2を算出すると、ヒストグラム１８０７，１８０８，１８０９，１８１０の順に、２６．０８６，１．５３３，２６．６７９，２４．５８５となる。従って、ヒストグラム１０８７，１８０９及び１８１０は「偏り有り」と判定され、３つの状態で出現頻度が最大のものを確定ビット（'０'または'１'）として選択する。一方、ヒストグラム１８０８については「偏りなし」と判定され、判定不能ビット（'Ｘ'）として確定される。
【０１１８】
ここで、χ2検定を適用するにあたり、以下の２点を考慮する必要がある。まず、例えばヒストグラム１８０９については確かに「偏りあり」の判定になるが、頻度の最大値を示す状態は'Ｘ（不定値）'である。埋め込み情報への外部からの攻撃によって大半の情報が破壊されている場合や、埋め込み情報が無い場合には、当然ながらこのように'Ｘ'の頻度が高くなり、判定不能ビットとして確定される。また、ヒストグラム１８１０では、ビットの状態が'０'と'１'で出現頻度が拮抗している。しかしながら、本実施形態では人工的に'０'または'１'に偏らせているため、ヒストグラム１８１０のようなケースが発生する確率は非常の小さいと考えられる。したがって本実施形態では、ヒストグラム１８１０のようなケースについては無視することを前提としている。
【０１１９】
以上説明したような前提条件は、本発明の性質上、妥当であると考えられる。また、χ2検定での判定基準値（１０％、５％、１％など）は、使用目的に応じて適宜決定すればよい。
【０１２０】
次に、ＷＩＵの１ビット目の情報を確定するためのもうひとつの方法について説明する。これは、３つのビット状態ｓ１，ｓ２，ｓ３のうち、単純に'０'または'１'で出現頻度の大きい方の状態をｓ１とするとき、ｓ１＞（ｓ２＋ｓ３）＋ｍ（ｍは整数）を満たせば、状態ｓ１を確定値とする方法である。この方法においてｍ＝０とした場合、ヒストグラム１８０７，１８０８，１８０９の例では、上述したχ2検定と同様の結果が得られる。但し、ｍは状態Ａの信頼性を確保するための余裕度を表す値であり、予め十分な検証実験を行って決定されることが望ましい。
【０１２１】
以上の処理により、ＷＩＵの１ビット目について、ヒストグラム１８０７ではビット状態'０'、ヒストグラム１８０８，１８０９ではビット状態'Ｘ'（不定値）として確定される。なお、ヒストグラム１８１０については無視（参照外）とされる。
【０１２２】
図２５のステップ１５０４における統計的な誤り符号訂正処理によれば、上記ＷＩＵの１ビット目と同様の方法によって、ＷＩＵの最終ビットまでの符号訂正を実行して、ＷＩＵ全体のビット状態を確定させる。
【０１２３】
以上、統計的な誤り符号訂正処理について説明したが、本実施形態では特に、２重統計処理の特徴を有する。すなわち、各ＷＩＵのビットを構成するＢｉｔブロックは、さらに複数個のＤＣＴブロックで構成され、それらの統計的な偏りからビット状態が判定されている。したがって、１ビットをあるひとつのパターンで構成しているわけではなく、統計的な偏りで構成しているため、統計的な誤り符号訂正の信頼性もより高いと考えられる。
【０１２４】
再び図２５のフローチャートの説明に戻る。ステップＳ１５０４におけるＷＩＵの統計的な誤り符号訂正処理により、全ビット状態を確定した１個のＷＩＵが得られる。ここで、確定したＷＩＵに'Ｘ'が１ビットも含まれず、且つ先頭と末尾の固定符号であるＳＴＡＲＴコードとＥＮＤコードが正確に復元されている場合には、ＷＩＵが一意的に抽出できたと判断し（Ｓ１５０５）、抽出成功（Ｓ１５０６）として処理を終了する。
【０１２５】
一方、ステップＳ１５０４で確定したＷＩＵに不定値'Ｘ'のビットが含まれる場合、もしくはＳＴＡＲＴコードとＥＮＤコードの少なくともいずれかが復元できなかった場合には、ＷＩＵの一意的な抽出ができなかったと判断される（Ｓ１５０５）。この場合、ＷＩＵに含まれる不定値ビット'Ｘ'に対して'０'又は'１'を当てはめていくことによってＷＩＵ候補を作成する。そして、作成された候補数が、予め設定された所定数以内であれば（Ｓ１５０７）、全候補をリストアップして格納及び所定の場所への表示を行い（Ｓ１５０８）、抽出処理を終了する。
【０１２６】
ステップＳ１５０７において、作成された候補数が所定数を超える場合には、確定されたＷＩＵに信頼性がないものと判定し、抽出失敗（Ｓ１５０９）として処理を終了する。
【０１２７】
以上説明したように本実施形態によれば、紙文書をスキャニングすることによって得られた画像データからも確実に読み取り可能な電子透かし情報を、簡易な構成で埋め込むことができる。すなわち、紙文書をスキャニングして再デジタル化する際の傾き、ズレ、シワ、汚れなどの攻撃に対して耐性がある。したがって、電子データのみならず、紙文書に対しても不正コピーや改竄など、著作権を侵害する行為に対しての抑止、追跡及び検証を行うことが可能となり、セキュリティを向上させることができる。
【０１２８】
＜他の実施形態＞
以上、実施形態例を詳述したが、本発明は例えば、システム、装置、方法、プログラム若しくは記憶媒体(記録媒体)等としての実施態様をとることが可能である。具体的には、複数の機器（例えば、ホストコンピュータ、インタフェース機器、印刷装置、webアプリケーション等）から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１２９】
尚本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。なお、この場合のプログラムとは、実施形態において図に示したフローチャートに対応したプログラムである。
【０１３０】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１３１】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
【０１３２】
プログラムを供給するための記録媒体としては、以下に示す媒体がある。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD-ROM，DVD-R)などである。
【０１３３】
プログラムの供給方法としては、以下に示す方法も可能である。すなわち、クライアントコンピュータのブラウザからインターネットのホームページに接続し、そこから本発明のコンピュータプログラムそのもの(又は圧縮され自動インストール機能を含むファイル)をハードディスク等の記録媒体にダウンロードする。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【０１３４】
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせることも可能である。すなわち該ユーザは、その鍵情報を使用することによって暗号化されたプログラムを実行し、コンピュータにインストールさせることができる。
【０１３５】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１３６】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、実行されることによっても、前述した実施形態の機能が実現される。すなわち、該プログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行うことが可能である。
【図面の簡単な説明】
【０１３７】
【図１】本発明に係る一実施形態における画像処理装置の色処理構成を示すブロック図である。
【図２】本実施形態において電子透かし情報を埋め込む構成を示すブロック図である。
【図３】Ｂｉｔブロックの構成を示す図である。
【図４】人間の視覚における空間周波数特性を示す図である。
【図５】人間の視覚における色度空間特性を示す図である。
【図６】偏り変換テーブル例を示す図である。
【図７】ＤＣＴ変換後のＤＣＴブロック例を示す図である。
【図８】図７に示すＤＣＴブロックに対する偏り変換前の平均値および差分値を示す表である。
【図９】偏り変換テーブル例を示す図である。
【図１０】ＤＣＴブロック内のグループ分け例を示す図である。
【図１１】解像度とＢｉｔブロックの関係を示す図である。
【図１２】５ビット符号化による電子透かし情報の埋め込み例を示す図である。
【図１３】５ビットの符号化テーブル例を示す図である。
【図１４】透かし情報の一単位（ＷＩＵ）のフォーマット例を示す図である。
【図１５】ｊｏｂ Archive System（ＪＡＳ）の構成例を示す図である。
【図１６】ＷＩＵの他の埋め込み例を示す図である。
【図１７】紙文書の読み取りズレの例を示す図である。
【図１８】電子透かし情報の読み取り処理を示すフローチャートである。
【図１９】Ｂｉｔブロックの情報判定処理を示すフローチャートである。
【図２０】ＤＣＴブロックの情報判定処理を示すフローチャートである。
【図２１】ＤＣＴブロックにおける高周波領域からの逆ジグザグスキャン例を示す図である。
【図２２】偏り変換後のＤＣＴブロックにおける情報判定例を示す図である。
【図２３】Ｂｉｔブロックの情報判定処理（詳細）を示すフローチャートである。
【図２４】ＷＩＵの構成例を示す図である。
【図２５】埋め込み情報の抽出処理を示すフローチャートである。
【図２６】ＷＩＵの切り出し例を示す図である。
【図２７】抽出した全ＷＩＵに対する統計的な誤り符号訂正処理を説明するための図である。
【図２８】χ2検定の代表的なグラフ及び表を示す図である。
【図１】
2008079013.tif 000003
【図２】
2008079013.tif 000004
【図３】
2008079013.tif 000005
【図４】
2008079013.tif 000006
【図５】
2008079013.tif 000007
【図６】
2008079013.tif 000008
【図７】
2008079013.tif 000009
【図８】
2008079013.tif 000010
【図９】
2008079013.tif 000011
【図１０】
2008079013.tif 000012
【図１１】
2008079013.tif 000013
【図１２】
2008079013.tif 000014
【図１３】
2008079013.tif 000015
【図１４】
2008079013.tif 000016
【図１５】
2008079013.tif 000017
【図１６】
2008079013.tif 000018
【図１７】
2008079013.tif 000019
【図１８】
2008079013.tif 000020
【図１９】
2008079013.tif 000021
【図２０】
2008079013.tif 000022
【図２１】
2008079013.tif 000023
【図２２】
2008079013.tif 000024
【図２３】
2008079013.tif 000025
【図２４】
2008079013.tif 000026
【図２５】
2008079013.tif 000027
【図２６】
2008079013.tif 000028
【図２７】
2008079013.tif 000029
【図２８】
2008079013.tif 000030