(57)【特許請求の範囲】
【請求項１】
複数の情報要素からなる情報列を画像データへ埋め込むとともに、該画像データから前記情報列を取り出す画像処理装置において、
前記画像データを形成する各局所領域の画素パターンの出現頻度に基づいて前記情報列の各情報要素がとり得るデータに一または複数の画素パターンを対応づけたテーブルと、
前記テーブルに基づいて前記情報列の各情報要素を前記画像データに順次埋め込むエンコード手段と、
前記テーブルに基づいて前記エンコード手段が前記情報列を埋め込んだ画像データから該情報列を形成する各情報要素を順次取り出すデコード手段と、
を備え、
前記エンコード手段は、
前記情報列から埋め込み対象となる情報要素を順次取得する情報要素取得手段と、
前記画像データにウインドウを適用して、該ウインドウが所在する局所領域のウインドウパターンを取得するパターン取得手段と、
前記パターン取得手段が取得したウインドウパターンが、前記情報要素取得手段が取得した情報要素以外の情報要素に対応する前記テーブルに登録された画素パターンのいずれかと一致する場合にのみ、前記ウインドウを適用した局所領域の画素パターンを前記情報要素取得手段が取得した情報要素に対応する前記テーブルに登録された画素パターンに変更する変更手段と、
前記パターン取得手段が前記画像データに適用するウインドウの位置および順序を制御するウインドウ制御手段と、
を備えたことを特徴とする画像処理装置。
【請求項２】
さらに、前記画像データを形成する各局所領域の画素パターンの出現頻度を算定する算定手段と、
前記算定手段による算定結果に基づいて一または複数の画素パターンを前記情報列の各情報要素がとり得るデータに割り当てた前記テーブルを自動的に作成するテーブル作成手段と、
を備えたことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記デコード手段は、
前記画像データにウインドウを適用して、該ウインドウが所在する局所領域のウインドウパターンを取得するパターン取得手段と、
前記パターン取得手段が取得したウインドウパターンが前記テーブルに登録されたいずれかの画素パターンと一致する場合に、該画素パターンに対応するデータを情報要素として復元する復元手段と、
前記パターン取得手段が前記画像データに適用するウインドウの位置および順序を制御するウインドウ制御手段と、
を備えたことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記ウインドウ制御手段は、
前記パターン取得手段が前記画像データに適用するウインドウの位置を等間隔で移動制御することを特徴とする請求項１〜３のいずれか一つに記載の画像処理装置。
【請求項５】
前記ウインドウ制御手段は、
前記パターン取得手段が前記画像データに適用するウインドウの位置を再現性ある疑似乱数系列に基づいて移動制御することを特徴とする請求項１〜３のいずれか一つに記載の画像処理装置。
【請求項６】
複数の情報要素からなる情報列を画像データへ埋め込むとともに、該画像データから前記情報列を取り出す画像処理方法において、
前記画像データを形成する各局所領域の画素パターンの出現頻度に基づいて前記情報列の各情報要素がとり得るデータに一または複数の画素パターンを対応づけたテーブルに基づいて前記情報列の各情報要素を前記画像データに順次埋め込む第１工程と、
該情報列を埋め込んだ画像データから前記テーブルに基づいて該情報列を形成する各情報要素を順次取り出す第２工程と、
を含み、
前記第１工程は、
前記情報列から埋め込み対象となる情報要素を取得するとともに、前記画像データにウインドウを適用して、該ウインドウが所在する局所領域のウインドウパターンを取得し、
取得したウインドウパターンが、取得した情報要素以外の情報要素に対応する前記テーブルに登録された画素パターンのいずれかと一致する場合にのみ、前記ウインドウを適用した局所領域の画素パターンを、取得した情報要素に対応する前記テーブルに登録された画素パターンに変更し、
画像データに適用するウインドウの位置を更新して、少なくとも前記情報列を形成する全ての情報要素を埋め込むまで上記処理を繰り返すことを特徴とする画像処理方法。
【請求項７】
前記第２工程は、
前記画像データにウインドウを適用して、該ウインドウが所在する局所領域のウインドウパターンを取得し、
取得したウインドウパターンが前記テーブルに登録されたいずれかの画素パターンと一致する場合に、該画素パターンに対応するデータを情報要素として復元し、
画像データに適用するウインドウの位置を更新して上記処理を繰り返すことを特徴とする請求項６に記載の画像処理方法。
【請求項８】
複数の情報要素からなる情報列を画像データへ埋め込むとともに、該画像データから前記情報列を取り出す画像処理方法において、
前記画像データを形成する各局所領域の画素パターンの出現頻度を算定し、
算定した結果に基づいて一または複数の画素パターンを前記情報列の各情報要素がとり得るデータに割り当てたテーブルを自動的に作成し、
作成したテーブルに基づいて前記情報列から埋め込み対象となる情報要素を取得するとともに、前記画像データにウインドウを適用して、該ウインドウが所在する局所領域のウインドウパターンを取得し、
取得したウインドウパターンが、取得した情報要素以外の情報要素に対応する前記テーブルに登録された画素パターンのいずれかと一致する場合にのみ、前記ウインドウを適用した局所領域の画素パターンを、取得した情報要素に対応する前記テーブルに登録された画素パターンに変更し、
画像データに適用するウインドウの位置を更新して、少なくとも前記情報列を形成する全ての情報要素を埋め込むまで上記処理を繰り返し、
該情報列を埋め込んだ画像データから前記テーブルに基づいて該情報列を形成する各情報要素を順次取り出すことを特徴とする画像処理方法。
【請求項９】
前記請求項６〜８のいずれか一つに記載された方法をコンピュータに実行させるプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の情報要素からなる情報列を画像データへ埋め込むとともに、該画像データから情報列を取り出す画像処理装置、方法および記録媒体に関し、特に、情報の埋め込みによる視覚的影響を抑制しつつ、効率良く透かし情報を画像データに埋め込むことができる画像処理装置、画像処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【０００２】
【従来の技術】
近年、インターネットをはじめとするネットワークインフラの整備あるいは電子図書館に代表される画像データベースの普及にともなって、デジタル画像データへの電子透かし技術が求められている。ここで、画像データは各種の媒体間で容易にデジタルコピーができるため、デジタル画像の著作権者がその著作権を主張することは極めて困難である。特に、近年のネットワークインフラの整備により、かかるデジタル画像が一旦第三者の手に渡ると、この画像が短時間に広域に拡散する可能性がある。
【０００３】
このため、署名などの所望の電子透かし情報をデジタル画像に埋め込むことにより、著作権者がデジタル画像の著作権を主張できるようにした技術が知られている。また、電子透かしは、その存在自体が第三者に認識されないこと、すなわち埋め込み時に元の画像データを極力改変しないことと、仮に電子透かしの存在が認識されたとしても、埋め込まれている情報の改変や復号ができないことが求められる。
【０００４】
たとえば、特開平９−１９１３９４号公報には、透かしが施されるデータをフーリエ変換等によって分解し、分解されたデータのうちの知覚的に重要な成分中に透かしを挿入し、透かしが施された分解されたデータを逆フーリエ変換等で逆変換して、透かし処理されたデータを生成するよう構成した電子的透かし挿入方法が開示されている。
【０００５】
すなわち、この従来技術は、フーリエ変換、離散余弦変換およびアダマール変換等を利用してデータをスペクトラム分解し、分解されたデータ中に電子透かし情報を混入するものである。
【０００６】
【発明が解決しようとする課題】
しかしながら、この従来技術が採用するフーリエ変換、離散余弦変換およびアダマール変換等には、一般に多大の処理時間がかかるため、サイズの大きな画像に適用するには実用上の問題があった。
【０００７】
また、フーリエ変換等の周波数空間を利用する処理を伴う場合には、周波数空間から実空間へ逆変換した際の視覚特性が保証されないため、視覚に与える影響が少ない埋め込みがおこなえるとは限らない。特に、２値画像に対してかかる処理をおこなうと、画像にトポロジー的な変化が生ずる場合が多くなる。
【０００８】
このため、電子透かし技術にとって、画像に対する情報の埋め込みによる視覚的影響を抑制しつつ、いかに効率良く透かし情報を画像データに埋め込むか、すなわち、電子透かし存在自体が第三者に認識されないことが極めて重要な課題となっている。
【０００９】
本発明では、上記問題（課題）に鑑みてなされたものであって、情報の埋め込みによる視覚的影響を抑制しつつ、効率良く透かし情報を画像データに埋め込むことを目的とする。
【００１０】
【課題を解決するための手段】
上記目的を達成するため、請求項１の発明に係る画像処理装置は、複数の情報要素からなる情報列を画像データへ埋め込むとともに、該画像データから前記情報列を取り出す画像処理装置において、前記画像データを形成する各局所領域の画素パターンの出現頻度に基づいて前記情報列の各情報要素がとり得るデータに一または複数の画素パターンを対応づけたテーブルと、前記テーブルに基づいて前記情報列の各情報要素を前記画像データに順次埋め込むエンコード手段と、前記テーブルに基づいて前記エンコード手段が前記情報列を埋め込んだ画像データから該情報列を形成する各情報要素を順次取り出すデコード手段と、を備え、前記エンコード手段は、前記情報列から埋め込み対象となる情報要素を順次取得する情報要素取得手段と、前記画像データにウインドウを適用して、該ウインドウが所在する局所領域のウインドウパターンを取得するパターン取得手段と、前記パターン取得手段が取得したウインドウパターンが、前記情報要素取得手段が取得した情報要素以外の情報要素に対応する前記テーブルに登録された画素パターンのいずれかと一致する場合にのみ、前記ウインドウを適用した局所領域の画素パターンを前記情報要素取得手段が取得した情報要素に対応する前記テーブルに登録された画素パターンに変更する変更手段と、前記パターン取得手段が前記画像データに適用するウインドウの位置および順序を制御するウインドウ制御手段と、を備えことを特徴とする。
【００１１】
この請求項１の発明によれば、画像データを形成する各局所領域の画素パターンの統計的性質に基づいて情報列の各情報要素がとり得るデータに一または複数の画素パターンを対応づけたテーブルを準備しておき、このテーブルに基づいて情報列の各情報要素を画像データに順次埋め込んでエンコードをおこなうとともに、このテーブルに基づいて情報列を埋め込んだ画像データから該情報列を形成する各情報要素を順次取り出すデコードをおこなうため、情報の埋め込みによる視覚的影響を抑制しつつ、効率良く透かし情報を画像データに埋め込むことができる。また、この請求項１の発明によれば、情報列から埋め込み対象となる情報要素を順次取得するとともに、画像データにウインドウを適用して、該ウインドウが所在する局所領域のウインドウパターンを取得し、取得したウインドウパターンが、取得した情報要素以外の情報要素に対応するテーブルに登録された画素パターンのいずれかと一致する場合にのみ、ウインドウを適用した局所領域の画素パターンを取得した情報要素に対応するテーブルに登録された画素パターンに変更するため、画像データがもともと有する画素パターンそのものをできるだけ情報要素として利用して、画像データの変更を低減することができる。
【００１２】
また、請求項２の発明に係る画像処理装置は、前記画像データを形成する各局所領域の画素パターンの出現頻度を算定する算定手段と、前記算定手段による算定結果に基づいて一または複数の画素パターンを前記情報列の各情報要素がとり得るデータに割り当てた前記テーブルを自動的に作成するテーブル作成手段と、を備えたことを特徴とする。
【００１３】
この請求項２の発明によれば、画像データを形成する各局所領域の画素パターンの出現頻度を算定し、この算定結果に基づいて一または複数の画素パターンを情報列の各情報要素がとり得るデータに割り当てたテーブルを自動的に作成し、作成したテーブルに基づいてエンコードおよびデコードをおこなうため、画像データを形成する各局所領域の画素パターンの出現頻度（統計的性質）がその都度異なる場合であっても、該画像データの統計的性質に応じて情報を埋め込むことができる。
【００１４】
また、請求項３の発明に係る画像処理装置は、前記デコード手段が、前記画像データにウインドウを適用して、該ウインドウが所在する局所領域のウインドウパターンを取得するパターン取得手段と、前記パターン取得手段が取得したウインドウパターンが前記テーブルに登録されたいずれかの画素パターンと一致する場合に、該画素パターンに対応するデータを情報要素として復元する復元手段と、前記パターン取得手段が前記画像データに適用するウインドウの位置および順序を制御するウインドウ制御手段と、を備えたことを特徴とする。
【００１５】
この請求項３の発明によれば、画像データにウインドウを適用して、該ウインドウが所在する局所領域のウインドウパターンを取得し、取得したウインドウパターンがテーブルに登録されたいずれかの画素パターンと一致する場合に、該画素パターンに対応するデータを情報要素として復元するため、画像データに埋め込まれた各情報要素を迅速かつ一意に取り出して情報列を復元することができる。
【００１６】
また、請求項４の発明に係る画像処理装置は、前記ウインドウ制御手段が、前記パターン取得手段が前記画像データに適用するウインドウの位置を等間隔で移動制御することを特徴とする。
【００１７】
この請求項４の発明によれば、画像データに適用するウインドウの位置を等間隔で移動制御するため、埋め込みたい情報量と目立たせない度合いという相反するトレードオフの関係を簡単に調整することができる。
【００１８】
また、請求項５の発明に係る画像処理装置は、前記ウインドウ制御手段が、前記パターン取得手段が前記画像データに適用するウインドウの位置を再現性ある疑似乱数系列に基づいて移動制御することを特徴とする。
【００１９】
この請求項５の発明によれば、画像データに適用するウインドウの位置を再現性ある疑似乱数系列に基づいて移動制御するため、画像データに埋め込んだ電子透かし情報である情報列の第三者による復号および改ざんを防止し、電子透かし情報の正当性を担保することができる。
【００２０】
また、請求項６の発明に係る画像処理方法は、複数の情報要素からなる情報列を画像データへ埋め込むとともに、該画像データから前記情報列を取り出す画像処理方法において、前記画像データを形成する各局所領域の画素パターンの出現頻度に基づいて前記情報列の各情報要素がとり得るデータに一または複数の画素パターンを対応づけたテーブルに基づいて前記情報列の各情報要素を前記画像データに順次埋め込む第１工程と、該情報列を埋め込んだ画像データから前記テーブルに基づいて該情報列を形成する各情報要素を順次取り出す第２工程と、を含み、前記第１工程は、前記情報列から埋め込み対象となる情報要素を取得するとともに、前記画像データにウインドウを適用して、該ウインドウが所在する局所領域のウインドウパターンを取得し、取得したウインドウパターンが、取得した情報要素以外の情報要素に対応する前記テーブルに登録された画素パターンのいずれかと一致する場合にのみ、前記ウインドウを適用した局所領域の画素パターンを、取得した情報要素に対応する前記テーブルに登録された画素パターンに変更し、画像データに適用するウインドウの位置を更新して、少なくとも前記情報列を形成する全ての情報要素を埋め込むまで上記処理を繰り返すことを特徴とする。
【００２１】
この請求項６の発明によれば、画像データを形成する各局所領域の画素パターンの統計的性質に基づいて情報列の各情報要素がとり得るデータに一または複数の画素パターンを対応づけたテーブルを準備しておき、このテーブルに基づいて情報列の各情報要素を画像データに順次埋め込んでエンコードをおこなうとともに、このテーブルに基づいて情報列を埋め込んだ画像データから該情報列を形成する各情報要素を順次取り出すデコードをおこなうため、情報の埋め込みによる視覚的影響を抑制しつつ、効率良く透かし情報を画像データに埋め込むことができる。また、この請求項６の発明によれば、情報列から埋め込み対象となる情報要素を順次取得するとともに、画像データにウインドウを適用して、該ウインドウが所在する局所領域のウインドウパターンを取得し、取得したウインドウパターンが、取得した情報要素以外の情報要素に対応するテーブルに登録された画素パターンのいずれかと一致する場合にのみ、ウインドウを適用した局所領域の画素パターンを取得した情報要素に対応するテーブルに登録された画素パターンに変更するため、画像データがもともと有する画素パターンそのものをできるだけ情報要素として利用して、画像データの変更を低減することができる。
【００２２】
また、請求項７の発明に係る画像処理方法は、前記第２工程が、前記画像データにウインドウを適用して、該ウインドウが所在する局所領域のウインドウパターンを取得し、取得したウインドウパターンが前記テーブルに登録されたいずれかの画素パターンと一致する場合に、該画素パターンに対応するデータを情報要素として復元し、画像データに適用するウインドウの位置を更新して上記処理を繰り返すことを特徴とする。
【００２３】
この請求項７の発明によれば、画像データにウインドウを適用して、該ウインドウが所在する局所領域のウインドウパターンを取得し、取得したウインドウパターンがテーブルに登録されたいずれかの画素パターンと一致する場合に、該画素パターンに対応するデータを情報要素として復元するため、画像データに埋め込まれた各情報要素を迅速かつ一意に取り出して情報列を復元することができる。
【００２４】
また、請求項８の発明に係る画像処理方法は、複数の情報要素からなる情報列を画像データへ埋め込むとともに、該画像データから前記情報列を取り出す画像処理方法において、前記画像データを形成する各局所領域の画素パターンの出現頻度を算定し、算定した結果に基づいて一または複数の画素パターンを前記情報列の各情報要素がとり得るデータに割り当てたテーブルを自動的に作成し、作成したテーブルに基づいて前記情報列から埋め込み対象となる情報要素を取得するとともに、前記画像データにウインドウを適用して、該ウインドウが所在する局所領域のウインドウパターンを取得し、取得したウインドウパターンが、取得した情報要素以外の情報要素に対応する前記テーブルに登録された画素パターンのいずれかと一致する場合にのみ、前記ウインドウを適用した局所領域の画素パターンを、取得した情報要素に対応する前記テーブルに登録された画素パターンに変更し、画像データに適用するウインドウの位置を更新して、少なくとも前記情報列を形成する全ての情報要素を埋め込むまで上記処理を繰り返し、該情報列を埋め込んだ画像データから前記テーブルに基づいて該情報列を形成する各情報要素を順次取り出すことを特徴とする。
【００２５】
この請求項８の発明によれば、画像データを形成する各局所領域の画素パターンの出現頻度を算定し、この算定結果に基づいて一または複数の画素パターンを情報列の各情報要素がとり得るデータに割り当てたテーブルを自動的に作成し、作成したテーブルに基づいてエンコードおよびデコードをおこなうため、画像データを形成する各局所領域の画素パターンの出現頻度（統計的性質）がその都度異なる場合であっても、該画像データの統計的性質に応じて情報を埋め込むことができる。また、この請求項８の発明によれば、情報列から埋め込み対象となる情報要素を順次取得するとともに、画像データにウインドウを適用して、該ウインドウが所在する局所領域のウインドウパターンを取得し、取得したウインドウパターンが、取得した情報要素以外の情報要素に対応するテーブルに登録された画素パターンのいずれかと一致する場合にのみ、ウインドウを適用した局所領域の画素パターンを取得した情報要素に対応するテーブルに登録された画素パターンに変更するため、画像データがもともと有する画素パターンそのものをできるだけ情報要素として利用して、画像データの変更を低減することができる。
【００２６】
また、請求項９の発明に係る記憶媒体は、請求項６〜８のいずれか一つに記載された方法をコンピュータに実行させるプログラムを記録したことで、そのプログラムを機械読み取り可能となり、これによって、請求項６〜８のいずれか一つの動作をコンピュータによって実現することが可能である。
【００２７】
【発明の実施の形態】
以下に添付図面を参照して、この発明に係る画像処理装置、画像処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体の好適な実施の形態を詳細に説明する。なお以下では、２値画像データに２値データ列（ビット列）を埋め込む場合を中心に説明することとする。
【００２８】
（実施の形態１）
図１は、実施の形態１に係る画像処理装置の構成を示す機能ブロック図である。図１に示す画像処理装置１０は、この画像処理装置１０が処理する平均的な画像データの局所領域の画素パターンの出現頻度に基づいて、複数の画素パターンをビット１またはビット０に対応づけたテーブル１５を作成しておき、このテーブル１５を用いて画像データへの埋め込み情報（２値データ列）の埋め込みおよび復元をおこなう。
【００２９】
具体的には、画像データにウインドウを適用して該画像データの局所領域の画素パターン（以下、ウインドウにより得た画素パターンを「ウインドウパターン」と言う。）を取得し、このウインドウパターンがテーブル１５に登録した画素パターンのいずれかと一致する場合には、埋め込み情報を示す２値データ列の構成ビットを画像データ内に埋め込む。
【００３０】
たとえば、図２（ａ）に示す４種の画素パターンをビット１に対応づけ、同図（ｂ）に示す４種の画素パターンをビット０に対応づけたテーブルを用いる場合には、画像データから取得したウインドウパターンがこれら８種の画素パターンのいずれかと一致するか否かを調べ、一致するウインドウパターンが存在しない場合には、埋め込みをおこなうことなくウインドウを移動する。
【００３１】
これに対して、ビット１を画像データに埋め込む場合に、このウインドウパターンが図２（ａ）に示す４種の画素パターンのいずれかと一致すれば、画像データを変更することなくビット１の埋め込みを完了し、ウインドウを移動する。つまり、この場合には、画像データが持つ画素パターンの存在自体が、該ビット１を意味することになる。
【００３２】
一方、ビット１を画像データに埋め込む場合に、このウインドウパターンが図２（ｂ）に示す４種の画素パターンのいずれかと一致した場合には、かかるウインドウが所在する局所領域の画素パターンを図２（ａ）に示す画素パターンに変更してビット１を実際に埋め込んだ後に、ウインドウを移動する。つまり、この場合には、２画素分の画素値を変更することによって該ビット１を埋め込むことになる。
【００３３】
このように、この画像処理装置１０は、もともと画像データが持つ画素パターンの統計的性質を利用して埋め込み情報を画像データ内に埋め込むよう構成しているので、画素値の変更を必要最小限に抑えつつ効率良く情報を画像データに埋め込むことができる。
【００３４】
次に、図１に示す画像処理装置１０の具体的な構成について説明する。図１に示すように、この画像処理装置１０は、画像入力部１１と、埋め込み情報入力部１２と、制御部１３と、記憶部１４と、テーブル１５と、エンコード処理部１６と、デコード処理部１７とからなる。
【００３５】
画像入力部１１は、２値画像データを入力するスキャナ等の入力デバイスであり、具体的には、図示しない原稿台に載置された原稿を光学的に読み取り、読み取った画像データを判別分析法などを用いて２値化して、２値の画像データを入力する。なお、この画像入力部１１を磁気ディスク装置等で構成し、磁気ディスクに記憶した画像データを読み取るよう構成することもできる。
【００３６】
埋め込み情報入力部１２は、画像データに埋め込む情報（２値データ列）を入力するキーボード等の入力デバイスであり、この埋め込み情報入力部１２から入力した情報は、記憶部１４に記憶される。なお、この埋め込み情報入力部１２から文字入力をおこない、この文字のアスキーコードを２進数で表したビット列を記憶部１４に記憶することもできる。
【００３７】
制御部１３は、画像処理装置１０の全体制御をおこなう制御部であり、埋め込みデータ抽出部１３ａおよびウインドウパターン取得部１３ｂを有する。具体的には、画像入力部１１から画像データを受け取ったならば、該画像データを記憶部１４に記憶し、また、埋め込み情報入力部１２から埋め込み情報を受け取ったならば、この埋め込み情報を２値データ列の形式で記憶部１４に記憶する。
【００３８】
また、画像データへの埋め込み情報の埋め込み（エンコード）をおこなう場合には、画像データに埋め込むビットを埋め込みデータ抽出部１３ａが順次抽出してエンコード処理部１６に出力し、ウインドウパターン取得部１３ｂが取得した画像データのウインドウパターンをエンコード処理部１６に出力する。
【００３９】
さらに、画像データからの埋め込み情報の復元（デコード）をおこなう場合には、ウインドウパターン取得部１３ｂが取得した画像データのウインドウパターンをエンコード処理部１６に出力する。
【００４０】
埋め込みデータ抽出部１３ａは、記憶部１４に記憶した２値データ列からなる埋め込み情報１４ｂの中から次に埋め込むべきビットを順次抽出してエンコード処理部１６に出力する。
【００４１】
ウインドウパターン取得部１３ｂは、３×３のサイズのウインドウを画像データにセットし、該画像データの局所領域の画素パターンを示すウインドウパターンを取得して、エンコード処理部１６またはデコード処理部１７に出力する。なお、一旦ウインドウパターンを取得したならば、このウインドウは所定の間隔（３画素単位）で移動する。なお、この間隔を変更することにより、埋め込みたい情報量と目立たせない度合いという相反する関係を簡単に調整することができる。
【００４２】
記憶部１４は、画像入力部１１から入力した画像データ（２値画像データ）および埋め込み情報入力部１２から入力した埋め込み情報（２値データ列）を記憶する記憶デバイスである。
【００４３】
テーブル１５は、この画像処理装置１０が処理する平均的な画像データの局所領域の画素パターンの出現頻度に基づいて、複数の画素パターンをビット１またはビット０に対応づけたテーブルであり、あらかじめ作成される。
【００４４】
エンコード処理部１６は、このテーブル１５を用いて画像データに対して埋め込み情報１４ｂを埋め込む処理部である。具体的には、画像データに埋め込むビットとウインドウパターンとを受け取ると、このウインドウパターンに対応する画素パターンがテーブル１５に登録された画素パターンのいずれかと一致するか否かを判断し、いずれとも一致しない場合には埋め込みをおこなわない旨を制御部１３に出力する。
【００４５】
なお、この出力を受け付けた制御部１３は、ウインドウを３画素分移動して新たなウインドウパターンを取得し、このウインドウパターンをエンコード処理部１６に出力する。
【００４６】
これに対して、このウインドウパターンが埋め込むビットに対応する画素パターンとしてテーブル１５に登録されている場合には、埋め込みを完了した旨を制御部１３に出力する。
【００４７】
たとえば、ビット１を画像データに埋め込む際に、このウインドウパターンが図２（ａ）に示す４種の画素パターンのいずれかと一致した場合には、ビット１の埋め込みを完了した旨を制御部１３に出力する。
【００４８】
なお、この出力を受け付けた制御部１３は、ウインドウを３画素移動して新たなウインドウパターンを取得するとともに、次に埋め込むべきビットを取得して、このウインドウパターンおよび埋め込むべきビットをエンコード処理部１６に出力する。
【００４９】
一方、このウインドウパターンが埋め込むビット以外のビットに対応する画素パターンとしてテーブル１５に登録されている場合には、テーブル１５に登録した画像データに埋め込むビットに対応する画素パターンを制御部１３に出力する。
【００５０】
たとえば、ビット１を画像データに埋め込む際に、このウインドウパターンが図２（ｂ）に示す４種の画素パターンのいずれかと一致した場合には、図２（ａ）に示す画素パターンを制御部１３に出力する。
【００５１】
この出力を受け付けた制御部１３は、ウインドウが位置する画像データ１４ａ上の画素パターンをエンコード処理部１６から受け取った画素パターンに変更した後、ウインドウを３画素分移動して新たなウインドウパターンを取得するとともに、次に埋め込むビットを取得して、このウインドウパターンおよび埋め込むべきビットをエンコード処理部１６に出力する。
【００５２】
なお、本実施の形態では、埋め込み情報を形成する全てのビットの埋め込みを一旦終了した場合であっても、繰り返し埋め込み情報を形成する各ビットを埋め込むこととする。
【００５３】
デコード処理部１７は、テーブル１５を用いて画像データに埋め込まれたビットを順次抽出して埋め込み情報を形成する２値データ列を復元する処理部である。
【００５４】
具体的には、制御部１３からウインドウパターンを受け取ると、このウインドウパターンに対応する画素パターンがテーブル１５に登録されているか否かを判断し、テーブル１５に登録されていない場合には、次のウインドウパターンを制御部１５に要求し、テーブル１５に登録されている場合には、この画素パターンに対応するビットを内部に保持したシフトレジスタに格納した後、次のウインドウパターンを制御部１５に要求する。以上、本実施の形態で用いる画像処理装置１０の構成について説明した。
【００５５】
次に、この画像処理装置１０のエンコード処理手順について説明する。図３は、図１に示す画像処理装置１０のエンコード処理手順を示すフローチャートである。ただし、ここでは埋め込み情報１４ｂについてはすでに記憶部１４に記憶済みであるものとする。
【００５６】
図３のフローチャートに示すように、画像データを画像入力部１１から入力して記憶部１４に記憶した後に（ステップＳ３０１）、埋め込みデータ抽出部１３ａが、２値データ列からなる埋め込み情報１４ｂの先頭ビットを取り出してエンコード処理部１６に出力する（ステップＳ３０２）。また、ウインドウパターン取得部１３ｂは、画像データの始点にウインドウをセットしてウインドウパターンを取得し（ステップＳ３０３〜３０４）、エンコード処理部１６に出力する。
【００５７】
その後、エンコード処理部１６は、ウインドウ取得部１３ｂから受け取ったウインドウパターンが、テーブル１５に登録済みのビット１およびビット０のいずれかに対応する画素パターンと一致するか否かを判断し（ステップＳ３０５）、いずれの画素パターンとも一致しない場合（ステップＳ３０５否定）には、ステップＳ３１１に移行する。
【００５８】
これに対して、このウインドウパターンがテーブル１５に登録したいずれかの画素パターンと一致する場合（ステップＳ３０５肯定）には、埋め込むべきビットが１であるか否かを調べる（ステップＳ３０６）。
【００５９】
その結果、埋め込むべきビットが１であり、かつ、ウインドウパターンがビット１に対応するものでない場合（ステップＳ３０７否定）には、エンコード処理部１６は制御部１３に対してビット１に対応する画素パターンを出力し、制御部１３が画像データ１４ａ上のウインドウパターンをビット１に対応する画素パターンに変更する（ステップＳ３０８）。
【００６０】
また、埋め込むべきビットが０であり、かつ、ウインドウパターンがビット０に対応するものでない場合（ステップＳ３０９否定）には、エンコード処理部１６は制御部１３に対してビット０に対応する画素パターンを出力し、制御部１３が画像データ１４ａ上のウインドウパターンをビット０に対応する画素パターンに変更する（ステップＳ３１０）。
【００６１】
なお、埋め込むビットが１であり、かつ、ウインドウパターンがビット１に対応するものである場合、または、埋め込むビットが０であり、かつ、ウインドウパターンがビット０に対応するものである場合には、画像データ１４ａを変更するまでもなく当該ビットを埋め込むことができる。
【００６２】
そして、画像データ１４ａの終点までウインドウによる走査を完了していない場合には、該ウインドウを３画素分ラスター方向に移動した後（ステップＳ３１１〜３１２）、当該ビットが埋め込み情報１４ｂの最終ビットであるか否かを判断する（ステップＳ３１３）。
【００６３】
そして、最終ビットである場合（ステップＳ３１３肯定）には、この埋め込み情報１４ｂの先頭のビットを取り出し（ステップＳ３１４）、また最終ビットでない場合（ステップＳ３１３否定）には次のビットを取り出して（ステップＳ３１５）、ステップＳ３０４に移行する。上記ステップＳ３０４〜３１５の処理を繰り返して画像データ１４ａの終点までウインドウ走査を繰り返し、かかるウインドウ走査を終えた時点（ステップＳ３１１肯定）で処理を終了する。
【００６４】
次に、図１に示す画像処理装置１０のデコード処理手順について説明する。図４は、図１に示す画像処理装置１０のデコード処理手順を示すフローチャートである。図４に示すように、画像データを画像入力部１１から入力して記憶部１４に記憶した後に（ステップＳ４０１）、ウインドウパターン取得部１３ｂは、画像データの始点にウインドウをセットしてウインドウパターンを取得し（ステップＳ４０２〜４０３）、デコード処理部１７に出力する。
【００６５】
その後、デコード処理部１７は、ウインドウ取得部１３ｂから受け取ったウインドウパターンが、テーブル１５に登録済みのビット１およびビット０のいずれかに対応する画素パターンと一致するか否かを判断し（ステップＳ４０４）、ビット１に対応する画素パターンと一致する場合（ステップＳ４０５肯定）には、内部に保持するビット列に１を加え（ステップＳ４０６）、ビット０に対応する画素パターンと一致する場合（ステップＳ４０５否定）には、内部に保持するビット列に０を加える（ステップＳ４０７）。
【００６６】
その後、ウインドウを３画素分ラスター方向に移動させて（ステップＳ４０９）同様の処理を繰り返し、画像の終点までウインドウ走査した時点（ステップＳ４０８肯定）で処理を終了する。
【００６７】
上述してきたように、実施の形態１では、画像データの局所領域の画素パターンの出現頻度に基づいて、複数の画素パターンをビット１またはビット０に対応づけたテーブル１５を作成しておき、このテーブル１５を用いて画像データへの埋め込み情報（２値データ列）の埋め込みおよび復元をおこなうよう構成したので、（１）画像データの変更を必要最小限にすることができ、（２）埋め込み情報が与える視覚的影響を抑制することができ、（３）簡単な処理で効率良く透かし情報を画像データに埋め込むことができるという効果が得られる。
【００６８】
（実施の形態２）
ところで、上記実施の形態１では、画像処理装置１０が処理する平均的な画像データの局所領域の画素パターンの出現頻度に基づいて、複数の画素パターンをビット１またはビット０に対応づけたテーブル１５をあらかじめ作成する場合を示したが、様々な画像データを広範に取り扱う場合には、かかる平均的な画像データの統計的性質では対応することができない。
【００６９】
そこで、以下では画像データごとに自動的に統計的性質を算定し、上記テーブル１５を自動的に作成する実施の形態２について説明する。図５は、実施の形態２で用いる画像処理装置５０の構成を示す機能ブロック図である。ただし、図１に示す画像処理装置１０と同様の機能を有する機能部には同一番号を付すこととして、その詳細な説明を省略する。
【００７０】
図５に示すように、この画像処理装置５０は、図１に示す画像処理装置１０にテーブル作成部５１を付加した構成となる。テーブル作成部５１は、画像入力部１１から入力した画像データの局所領域の画素パターンの出現頻度に基づいて、複数の画素パターンをビット１またはビット０に対応づけたテーブル１５を自動的に作成する。
【００７１】
具体的には、ウインドウにより画像データを順次走査して、局所領域の画素パターンの出現頻度を算定し、算定した出現頻度が多い画素パターンを所定数選択し、選択した画素パターンにビット１または０を割り当ててテーブル１５を作成する。
【００７２】
図６は、このテーブル作成部５１によるテーブル作成手順を示すフローチャートである。図６に示すように、画像入力部１１から画像データを入力して、該画像データを記憶部１４に記憶したならば（ステップＳ６０１）、ウインドウを画像の始点にセットしてウインドウパターン（画素パターン）を取得する（ステップＳ６０２〜６０３）。
【００７３】
そして、この画素パターンの度数をインクリメントした後（ステップＳ６０４）に、ウインドウを所定の画素数分移動し（ステップＳ６０５）、画像の終点に至るまで上記ステップＳ６０３〜Ｓ６０６の処理を繰り返す（ステップＳ６０６）。その後、度数の高い画素パターンを所定数選択し（ステップＳ６０７）、選択した画素パターンにビット１または０を割り当ててテーブル１５を作成する（ステップＳ６０８）。上記一連の処理をおこなうことにより、画像データに適合したテーブル１５を自動的に作成することができる。
【００７４】
上述してきたように、実施の形態２では、画像入力部１１から入力した画像データの局所領域の画素パターンの出現頻度に基づいて、複数の画素パターンをビット１または０に対応づけたテーブル１５を自動的に作成するテーブル作成部５１を設けるよう構成したので、画像データを形成する各局所領域の画素パターンの出現頻度（統計的性質）がその都度異なる場合であっても、該画像データの統計的性質に応じて情報を埋め込むことができる。
【００７５】
（実施の形態３）
ところで、上記実施の形態１および２では、ウインドウパターン取得部１３ｂが画像データ１４ａに適用するウインドウを所定の画素数ごとに等間隔で移動制御する場合を示したが、かかるウインドウはランダムに移動制御させることもできる。そこで、以下では、ウインドウを疑似乱数系列を用いてランダムに移動する実施の形態３について説明する。図７は、実施の形態３で用いる画像処理装置７０の構成を示す機能ブロック図である。ただし、図１に示す画像処理装置１０と同様の機能を有する機能部には同一番号を付すこととして、その詳細な説明を省略する。
【００７６】
図７に示すように、この画像処理装置７０は、鍵入力部７１を有し、ウインドウパターン取得部７２は、この鍵入力部７１からの入力鍵に基づいて疑似乱数系列を発生し、発生した疑似乱数系列にしたがってウインドウを移動制御する。
【００７７】
鍵入力部７１は、ウインドウパターン取得部７２が画像データに適用するウインドウを疑似乱数系列にしたがってランダムに移動制御するための鍵を入力する入力部である。たとえば、ウインドウパターン取得部７２が、最大長周期系列（Ｍ系列）や２次元最大長周期系列（Ｍ平面）を疑似乱数系列として使用する場合には、これらの最大長周期系列をなす原始規約多項式または初期値等を鍵とすることができる。
【００７８】
このように、疑似乱数系列を基づいてウインドウを移動制御することとした理由は、画像データに埋め込んだ情報を第三者に復号または改ざんされないようにするためである。また、物理乱数ではなく疑似乱数系列を採用した理由は、エンコード処理時に用いた乱数系列がデコード時に再度必要となるため、乱数の再現性が必要になるからである。
【００７９】
上述してきたように、実施の形態３では、疑似乱数系列の鍵を入力する鍵入力部７１を設け、ウインドウパターン取得部７２が、この鍵に基づいて発生した疑似乱数系列にしたがってウインドウを移動制御するよう構成したので、画像データに埋め込んだ情報を第三者に復号または改ざんされないようにすることが可能となる。
【００８０】
なお、実施の形態３では、疑似乱数系列に基づいてウインドウを移動制御する場合を示したが、本発明はこれに限定されるものではなく、あらかじめ規定した順序でウインドウを移動制御することも可能である。
【００８１】
また、上記実施の形態１〜３では、２値画像データに２値データ列を埋め込む場合を示したが、本発明はこれに限定されるものではなく、多値画像データやカラーデータに２値データ列または多値データ列を埋め込む場合に適用することも可能である。
【００８２】
さらに、上記実施の形態１〜３では、ウインドウパターンがテーブル１５に登録した画素パターンと一致する場合にのみ情報を埋め込むこととしたが、該ウインドウパターンがテーブル１５に登録した画素パターンと近い場合に、情報の埋め込みをおこなうことも可能である。
【００８３】
【発明の効果】
以上詳細に説明したように、請求項１の発明によれば、画像データを形成する各局所領域の画素パターンの統計的性質に基づいて情報列の各情報要素がとり得るデータに一または複数の画素パターンを対応づけたテーブルを準備しておき、このテーブルに基づいて情報列の各情報要素を画像データに順次埋め込んでエンコードをおこなうとともに、このテーブルに基づいて情報列を埋め込んだ画像データから該情報列を形成する各情報要素を順次取り出すデコードをおこなうよう構成したので、（１）画像データの変更を必要最小限にすることが可能で、（２）埋め込み情報が与える視覚的影響を抑制することが可能で、（３）簡単な処理で効率良く透かし情報を画像データに埋め込むことが可能で、（４）複写機の機番や日付などの情報列を画像データに自動的に埋め込むようにして、ユーザに気づかれることなく有価証券等の不正な複写を事後的に追跡することが可能な画像処理装置が得られるという効果を奏する。また、請求項１の発明によれば、情報列から埋め込み対象となる情報要素を順次取得するとともに、画像データにウインドウを適用して、該ウインドウが所在する局所領域のウインドウパターンを取得し、取得したウインドウパターンが、取得した情報要素以外の情報要素に対応するテーブルに登録された画素パターンのいずれかと一致する場合にのみ、ウインドウを適用した局所領域の画素パターンを取得した情報要素に対応するテーブルに登録された画素パターンに変更するよう構成したので、画像データがもともと有する画素パターンそのものをできるだけ情報要素として利用して、画像データの変更を低減することが可能な画像処理装置が得られるという効果を奏する。
【００８４】
また、請求項２の発明によれば、画像データを形成する各局所領域の画素パターンの出現頻度を算定し、この算定結果に基づいて一または複数の画素パターンを情報列の各情報要素がとり得るデータに割り当てたテーブルを自動的に作成し、作成したテーブルに基づいてエンコードおよびデコードをおこなうよう構成したので、画像データを形成する各局所領域の画素パターンの出現頻度（統計的性質）がその都度異なる場合であっても、該画像データの統計的性質に応じて情報を埋め込むことが可能な画像処理装置が得られるという効果を奏する。
【００８５】
また、請求項３の発明によれば、画像データにウインドウを適用して、該ウインドウが所在する局所領域のウインドウパターンを取得し、取得したウインドウパターンがテーブルに登録されたいずれかの画素パターンと一致する場合に、該画素パターンに対応するデータを情報要素として復元するよう構成したので、画像データに埋め込まれた各情報要素を迅速かつ一意に取り出して情報列を復元することが可能な画像処理装置が得られるという効果を奏する。
【００８６】
また、請求項４の発明によれば、画像データに適用するウインドウの位置を等間隔で移動制御するよう構成したので、埋め込みたい情報量と目立たせない度合いという相反するトレードオフの関係を簡単に調整することが可能な画像処理装置が得られるという効果を奏する。
【００８７】
また、請求項５の発明によれば、画像データに適用するウインドウの位置を再現性ある疑似乱数系列に基づいて移動制御するよう構成したので、画像データに埋め込んだ電子透かし情報である情報列の第三者による復号および改ざんを防止し、電子透かし情報の正当性を担保することが可能な画像処理装置が得られるという効果を奏する。
【００８８】
また、請求項６の発明によれば、画像データを形成する各局所領域の画素パターンの統計的性質に基づいて情報列の各情報要素がとり得るデータに一または複数の画素パターンを対応づけたテーブルを準備しておき、このテーブルに基づいて情報列の各情報要素を画像データに順次埋め込んでエンコードをおこなうとともに、このテーブルに基づいて情報列を埋め込んだ画像データから該情報列を形成する各情報要素を順次取り出すデコードをおこなうよう構成したので、（１）画像データの変更を必要最小限にすることが可能で、（２）埋め込み情報が与える視覚的影響を抑制することが可能で、（３）簡単な処理で効率良く透かし情報を画像データに埋め込むことが可能で、（４）複写機の機番や日付などの情報列を画像データに自動的に埋め込むようにして、ユーザに気づかれることなく有価証券等の不正な複写を事後的に追跡することが可能な画像処理方法が得られるという効果を奏する。また、請求項６の発明によれば、情報列から埋め込み対象となる情報要素を順次取得するとともに、画像データにウインドウを適用して、該ウインドウが所在する局所領域のウインドウパターンを取得し、取得したウインドウパターンが、取得した情報要素以外の情報要素に対応するテーブルに登録された画素パターンのいずれかと一致する場合にのみ、ウインドウを適用した局所領域の画素パターンを取得した情報要素に対応するテーブルに登録された画素パターンに変更するよう構成したので、画像データがもともと有する画素パターンそのものをできるだけ情報要素として利用して、画像データの変更を低減することが可能な画像処理方法が得られるという効果を奏する。
【００８９】
また、請求項７の発明によれば、画像データにウインドウを適用して、該ウインドウが所在する局所領域のウインドウパターンを取得し、取得したウインドウパターンがテーブルに登録されたいずれかの画素パターンと一致する場合に、該画素パターンに対応するデータを情報要素として復元するよう構成したので、画像データに埋め込まれた各情報要素を迅速かつ一意に取り出して情報列を復元することが可能な画像処理方法が得られるという効果を奏する。
【００９０】
また、請求項８の発明によれば、画像データを形成する各局所領域の画素パターンの出現頻度を算定し、この算定結果に基づいて一または複数の画素パターンを情報列の各情報要素がとり得るデータに割り当てたテーブルを自動的に作成し、作成したテーブルに基づいてエンコードおよびデコードをおこなうよう構成したので、画像データを形成する各局所領域の画素パターンの出現頻度（統計的性質）がその都度異なる場合であっても、該画像データの統計的性質に応じて情報を埋め込むことが可能な画像処理方法が得られるという効果を奏する。また、請求項８の発明によれば、情報列から埋め込み対象となる情報要素を順次取得するとともに、画像データにウインドウを適用して、該ウインドウが所在する局所領域のウインドウパターンを取得し、取得したウインドウパターンが、取得した情報要素以外の情報要素に対応するテーブルに登録された画素パターンのいずれかと一致する場合にのみ、ウインドウを適用した局所領域の画素パターンを取得した情報要素に対応するテーブルに登録された画素パターンに変更するよう構成したので、画像データがもともと有する画素パターンそのものをできるだけ情報要素として利用して、画像データの変更を低減することが可能な画像処理方法が得られるという効果を奏する。
【００９１】
また、請求項９の発明に係る記憶媒体は、請求項６〜８に記載された方法をコンピュータに実行させるプログラムを記録したことで、そのプログラムを機械読み取り可能となり、これによって、請求項６〜８の動作をコンピュータによって実現することが可能な記録媒体が得られるという効果を奏する。
【図面の簡単な説明】
【図１】この発明の実施の形態１に係る画像処理装置の構成を示す機能ブロック図である。
【図２】ビット１またはビット０に対応づけた画素パターンの一例を示す説明図である。
【図３】実施の形態１に係る画像処理装置のエンコード処理手順を示すフローチャートである。
【図４】実施の形態１に係る画像処理装置のデコード処理手順を示すフローチャートである。
【図５】この発明の実施の形態２に係る画像処理装置の構成を示す機能ブロック図である。
【図６】実施の形態２に係る画像処理装置のテーブル作成部によるテーブル作成手順を示すフローチャートである。
【図７】この発明の実施の形態３に係る画像処理装置の構成を示す機能ブロック図である。
【符号の説明】
１０    画像処理装置
１１    画像入力部
１２    埋め込み情報入力部
１３    制御部
１３ａ  埋め込みデータ抽出部
１３ｂ  ウインドウパターン取得部
１４    記憶部
１４ａ  画像データ
１４ｂ  埋め込み情報
１５    テーブル
１６    エンコード処理部
１７    デコード処理部
５１    テーブル作成部
７１    鍵入力部
７２    ウインドウパターン取得部
【図１】
0003597710.tif 000002
【図２】
0003597710.tif 000003
【図３】
0003597710.tif 000004
【図４】
0003597710.tif 000005
【図５】
0003597710.tif 000006
【図６】
0003597710.tif 000007
【図７】
0003597710.tif 000008