(57)【特許請求の範囲】
【請求項１】
採取された画像データからウォータマークを取り出すウォータマーク復号化方法において、
入手したスペクトルと保管している元画像との差分を取って複数のウォータマークを抽出する第１の工程と、
全てのウォータマークについて、互いに対応するビット同士の平均値を求める第２の工程と、
各ビット毎に、平均値に近似する順で順位付けして各ビットのデータをソートする第３の工程と、
ソートした順位付けの順番に各ビットのサンプル数を徐々に増やしながら、平均化及び復号化処理を繰り返し、順次復号結果を出力する第４の工程と、
前記第４の工程において順次出力された復号結果のうち、所定以上の信頼性を有するものとして予め定められた所定の条件を満たすものを判別してウォータマークの復号結果とする第５の工程と
を備えるウォータマークの復号化方法。
【請求項２】
請求項１に記載のウォータマークの復号化方法であって、
前記ウォータマークに所定の誤り訂正符号が予め含められ、
前記第４の工程は、訂正後の符号に対して前記所定の誤り訂正符号に基づいて誤り検出を行う工程を含み、
前記第５の工程における前記所定の条件は、前記第４の工程中の前記誤り検出を行う工程において検出される誤り検出が一定の水準以下であることを少なくとも含むことを特徴とするウォータマークの復号化方法。
【請求項３】
請求項２に記載のウォータマークの復号化方法であって、前記第５の工程における前記所定の条件は、前記所定の誤り訂正符号に基づいて検出される誤り検出の結果、２つ以上の復号結果が連続して誤りでないことを検出することを少なくともさらに含むことを特徴とするウォータマークの復号化方法。
【請求項４】
請求項１乃至請求項３のいずれかに記載のウォータマークの復号化方法であって、前記第５の工程における前記所定の条件は、前記第４の工程において、ソートした順位付けの順番で各ビットのサンプル数を徐々に増やしていく際に、新たに加えたサンプル数中の有効なデータのビット数が前記ウォータマークの全ビット数に対して一定の比率より多いことを検出することを少なくとも含むことを特徴とするウォータマークの復号化方法。
【請求項５】
請求項１乃至請求項４のいずれかに記載のウォータマークの復号化方法であって、
前記ウォータマークは、前記元画像のデータがスペクトルデータへの変換と量子化とを含む画像圧縮を通じて圧縮されない原画像の形式から圧縮画像データの形式へと変換され、前記圧縮画像データの形式で前記元画像のデータを保管される一方、前記量子化の逆演算としての逆量子化を含む画像伸張を通じて前記元画像のデータが前記圧縮画像データの形式からスペクトルデータへと変換され、ここで得られたスペクトルデータに重ね合わせられた後、当該ウォータマークが重ね合わされた状態の前記スペクトルデータが、前記量子化を含む画像圧縮を通じて、前記圧縮画像データの形式へと変換されて配信されたものであり、
前記ウォータマークの復号時に、
保管された前記元画像のデータに対して前記量子化の逆演算としての逆量子化を含む画像伸張を通じて前記元画像のデータが前記圧縮画像データの形式から第１のスペクトルデータに変換するとともに、
採取された前記画像データを第２のスペクトルデータへ変換し、
得られた二つのスペクトルデータの差分を演算することによって、前記ウォータマークを前記第２のスペクトルデータから取り出すようにし、この際に、前記第１乃至第５の工程を実行するようにしたことを特徴とするウォータマークの復号化方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、画像情報におけるウォータマーク（電子透かし）の復号化方法に関し、特に、画像情報にノイズが重畳した場合にウォータマークの復号時の誤差を低減するための改良に関する。
【０００２】
【従来の技術】
ウォータマーク技術は、画像を表現するデータ（信号）である画像データに、著作権や購入者の情報をユーザに感知されないような形態で埋め込むことによって、違法コピーなどの二次利用を防ぐ技術である。著作権を有する画像データの配信元は、ウォータマークを埋め込む前の画像データ、すなわち元画像のデータを保管しておき、違法コピーの疑いのある画像データを市中より採取した際に、これを元画像のデータと比較することによってウォータマークを取り出し、さらに著作権情報等へと復号化する。配信元は、復号化された情報に基づいて購入者の割り出し等を行う。
【０００３】
図１４及び図１５は、それぞれ一般に行われているウォータマークの符号化方法及び復号化方法の処理手順を示すフローチャートである。また、図１６は、これらの処理における画像形式の推移を示すタイミングチャートである。これらの処理は、配信元（あるいは、配信元によってオーソライズされた者）によって実行される。
【０００４】
一般的なウォータマーク符号化方法では、圧縮されていない原画像の形式を有する元画像のデータが例えばＪＰＥＧなどの画像圧縮技術に基づいて圧縮される。それによって、画像データが圧縮画像データの形式で配信される。この圧縮の過程の中で、ウォータマークの埋め込みが行われる。一方、上述した元画像のデータは原画像の形式で保管される。
【０００５】
ウォータマーク符号化方法を図１４及び図１６に沿って説明すると、原画像としての元画像のデータは、例えばＪＰＥＧの圧縮処理の一過程であるＤＣＴ変換によってスペクトルデータ（空間スペクトルデータ）ＳＰＣへと変換される（ステップＳ０１）。スペクトルデータは、多数のスペクトル成分をその構成要素として含んでいる。著作権情報等が符号化されたウォータマークの埋め込みがこのスペクトルデータＳＰＣに対して実行される（ステップＳ０２）。スペクトルデータＳＰＣは、原画像を、スペクトル成分の組すなわち空間周波数成分の組へと展開することによって得られ、ＤＣＴ変換はそのような展開の代表例である。
【０００６】
つづいて、ウォータマークを含むスペクトルデータＳＰＣは、量子化及びＶＬＣ符号化（可変長符号化）を通じてＶＬＣ符号（可変長符号）へと変換される（ステップＳ０３）。そして、このＶＬＣ符号の形式、すなわち圧縮画像データの形式で、画像データが流通業者等を通じて市場へと配信される（ステップＳ０４）。また、元画像のデータは、原画像の形式のままで配信元に保管される（ステップＳ０５）。
【０００７】
次に、一般的なウォータマーク復号化方法を図１５及び図１６に沿って説明する。市中で採取された画像データは、ＶＬＣ符号の形式であることもあり、あるいは原画像の形式であることも有り得る。いずれの形式で採取されても、画像データはスペクトルデータＳＰＣ’へと変換される（ステップＳ１１）。
【０００８】
例えば、採取された画像データがＶＬＣ符号の形式であれば、ＶＬＣ符号化の逆演算であるＶＬＣ復号化及び量子化の逆演算である逆量子化を通じて、スペクトルデータＳＰＣ’へと変換される。採取された画像データが原画像の形式であれば、ＤＣＴ変換を通じてスペクトルデータＳＰＣ’へと変換される。
【０００９】
ステップＳ１１を通じて得られたスペクトルデータＳＰＣ’はウォータマークを含んでいるために、図１４に示したスペクトルデータＳＰＣとは値が異なる。これら双方の差分を算出することによって、スペクトルデータＳＰＣ’に埋め込まれているウォータマークの取り出しが行われる（ステップＳ１２）。次に、取り出されたウォータマークの復号化が行われ（ステップＳ１３）、それによって著作権情報等が読み出される。
【００１０】
【発明が解決しようとする課題】
ところで、採取された画像データは、一般には配信直後の画像データのままではなく、様々な画像処理を経由していることも有り得る。このため、採取された画像データには、これらの画像処理に由来するノイズが混入している可能性がある。また、画像信号を電線等を通じて伝送する場合にも、外来の電磁気等により信号にノイズが重畳することがある。このノイズも、図１４のスペクトルデータＳＰＣと図１５のスペクトルデータＳＰＣ’との間の偏差の要因となる。
【００１１】
このようなノイズのスペクトル成分は、ほぼ正規分布に従って表れることが多いと予想される。したがって、従来においては、ウォータマークの取り出しにおけるノイズの悪影響を除くためには、図１４のウォータマークの埋め込みの過程（ステップＳ０２）で、１枚の画像の中にウォータマークを反復して埋め込んでおき、取り出しの過程（図１５中のステップＳ１１及びステップＳ１２）で、図１７の如く、これらの反復する複数のウォータマークを抽出した後（ステップＳ２１）、これらの複数のウォータマークについて、互いに対応するビット同士の平均値を算出する（ステップＳ２２）。そして、かかる各ビット毎の平均値を、ウォータマークの各ビットにおけるデータとして出力することで、ＳＮ比を高めることが行われていた。
【００１２】
しかしながら、画像へのノイズ重畳には様々な種類のものがあり、例えば画像信号の伝送時における電磁ノイズの重畳、画像の一部を切り取ったり、色成分を変更したりするなどの画像編集の課程において、ノイズのダメージが局所的に多い場合には、複数のウォータマークにかなりのノイズが重畳してしまうことがあり、従来の復号化方法では必ずしも正確にウォータマークを復号することが困難なことがあった。
【００１３】
そこで、この発明の課題は、ノイズが重畳しても比較的正確にウォータマークを復元できるウォータマークの復号化方法を提供することにある。
【００１４】
【課題を解決するための手段】
上記課題を解決すべく、請求項１に記載の発明は、採取された画像データからウォータマークを取り出すウォータマーク復号化方法において、入手したスペクトルと保管している元画像との差分を取って複数のウォータマークを抽出する第１の工程と、全てのウォータマークについて、互いに対応するビット同士の平均値を求める第２の工程と、各ビット毎に、平均値に近似する順で順位付けして各ビットのデータをソートする第３の工程と、ソートした順位付けの順番に各ビットのサンプル数を徐々に増やしながら、平均化及び復号化処理を繰り返し、順次復号結果を出力する第４の工程と、前記第４の工程において順次出力された復号結果のうち、所定以上の信頼性を有するものとして予め定められた所定の条件を満たすものを判別してウォータマークの復号結果とする第５の工程とを備えるものである。
【００１５】
請求項２に記載の発明は、前記ウォータマークに所定の誤り訂正符号が予め含められ、前記第４の工程は、訂正後の符号に対して前記所定の誤り訂正符号に基づいて誤り検出を行う工程を含み、前記第５の工程における前記所定の条件は、前記第４の工程中の前記誤り検出を行う工程において検出される誤り検出が一定の水準以下であることを少なくとも含むものである。
【００１６】
請求項３に記載の発明は、前記第５の工程における前記所定の条件は、前記所定の誤り訂正符号に基づいて検出される誤り検出の結果、２つ以上の復号結果が連続して誤りでないことを検出することを少なくともさらに含むものである。
【００１７】
請求項４に記載の発明は、前記第５の工程における前記所定の条件は、前記第４の工程において、ソートした順位付けの順番で各ビットのサンプル数を徐々に増やしていく際に、新たに加えたサンプル数中の有効なデータのビット数が前記ウォータマークの全ビット数に対して一定の比率より多いことを検出することを少なくとも含むものである。
【００１８】
請求項５に記載の発明は、前記ウォータマークは、前記元画像のデータがスペクトルデータへの変換と量子化とを含む画像圧縮を通じて圧縮されない原画像の形式から圧縮画像データの形式へと変換され、前記圧縮画像データの形式で前記元画像のデータを保管される一方、前記量子化の逆演算としての逆量子化を含む画像伸張を通じて前記元画像のデータが前記圧縮画像データの形式からスペクトルデータへと変換され、ここで得られたスペクトルデータに重ね合わせられた後、当該ウォータマークが重ね合わされた状態の前記スペクトルデータが、前記量子化を含む画像圧縮を通じて、前記圧縮画像データの形式へと変換されて配信されたものであり、前記ウォータマークの復号時に、保管された前記元画像のデータに対して前記量子化の逆演算としての逆量子化を含む画像伸張を通じて前記元画像のデータが前記圧縮画像データの形式から第１のスペクトルデータに変換するとともに、採取された前記画像データを第２のスペクトルデータへ変換し、得られた二つのスペクトルデータの差分を演算することによって、前記ウォータマークを前記第２のスペクトルデータから取り出すようにし、この際に、前記第１乃至第５の工程を実行するようにしたものである。
【００１９】
【発明の実施の形態】
この発明の一の実施の形態に係るウォータマークの復号化方法は、画像に含められた複数のウォータマークを復号化する際に、その複数のウォータマークを各ビットに分解し、互いに対応するビット毎に平均値を求めた後、当該平均値に近似した順に各ビットのデータを各ビット別にバラバラに順位付けしてソートし、順位の高いものから順に復号するものである。
【００２０】
ウォータマークの符号化方法及び復号化方法の処理手順の概略を図１及び図２にそれぞれ示す。
【００２１】
ここで取り扱われるウォータマークは、１枚のＪＰＥＧ形式の可変長符号の画像データ中に反復して埋め込まれるものである。
【００２２】
即ち、ウォータマークの埋め込み対象とされた原画像（元画像のデータ）は、図１中のステップＳ３１において、例えばＪＰＥＧに基づいて画像圧縮され、ＶＬＣ符号、すなわち、圧縮画像データへと変換された後（ステップＳ３１）、このＶＬＣ符号の形式で保管される（ステップＳ３２）。
【００２３】
ここで、元画像のデータへウォータマークを埋め込むためには、まず、ＶＬＣ符号の形式を有する元画像のデータに対してＶＬＣ復号化及び逆量子化が施され、それらを通じてスペクトルデータＳＰＣへと画像伸張される（ステップＳ３３）。次に、符号化された著作権情報等を含む複数のウォータマークが、このスペクトルデータＳＰＣに対して反復して埋め込まれる（ステップＳ３４）。ここで、これらの複数のウォータマークは、ひとつの画像のスペクトルに反復して繰り返し埋め込まれる。このように、スペクトル空間内での成分条件を違えて反復して埋め込むことで、様々なノイズ攻撃を受けた場合にある成分付近の誤り率が局所的に高くなっても、他の成分付近のウォータマークが残される可能性を残すことで攻撃リスクを分散でき、耐ノイズ性を向上できるという利点がある。
【００２４】
つづいて、ウォータマークを含むスペクトルデータＳＰＣは、量子化及びＶＬＣ符号化を通じて、ＶＬＣ符号へと変換される（ステップＳ３５）。
【００２５】
以上の課程において、画像中のウォータマークでは、後述のように信頼性の検証を行う目的で、予め一般的な誤り訂正符号であるＢＣＨ符号で符号化されており、冗長ビットを含んでいる。
【００２６】
そして、このＶＬＣ符号の形式、すなわち、圧縮画像データの形式で、画像データが流通業者等を通じて、市場へと配信される（ステップＳ３６）。
【００２７】
尚、図１に示した手順でウォータマークを符号化すると、元画像のデータが、データ量の小さい圧縮画像の形式で保管されるので、通常において多数種類の元画像のデータを保管する必要がある配信元において、保管すべき元画像のデータのデータ量が節減される。すなわち、元画像のデータの保管のための配信元の負担が軽減される。
【００２８】
次に、上記のようにして埋め込まれたウォータマークを復号化する方法を説明する。
【００２９】
図２の如く、まず、市中で採取された画像データは、従来と同様に、ＶＬＣ符号の形式であることもあり、あるいは、原画像の形式であることも有り得る。いずれの形式で採取されても、画像データは、まずスペクトルデータＳＰＣ’へと変換される（ステップＳ４１）。
【００３０】
次に、ＶＬＣ符号の形式の元画像のデータに、ＶＬＣ復号化、及び逆量子化が施され、それらを通じて、スペクトルデータＳＰＣが得られる（ステップＳ４２）。この処理は、図１中のステップＳ３３における処理と同一の手順で行われる。
【００３１】
図２中のステップＳ４１を通じて得られたスペクトルデータＳＰＣ’は、ウォータマークを含んでいるために、ステップＳ４２で得られたスペクトルデータＳＰＣとは値が異なることから、これら双方の差分を算出することによって、スペクトルデータＳＰＣ’に埋め込まれているウォータマークの取り出しを行う（ステップＳ４３）。次に、取り出されたウォータマークの復号化が行われ（ステップＳ４４）、それによって、著作権情報等が読み出される。
【００３２】
ここで、図２中のステップＳ４３及びステップＳ４４の処理を図３のフローチャートに沿って詳しく説明する。尚、図３中のステップＳ５１は図２中のステップＳ４３に、図３中のステップＳ５２〜５９は図２中のステップＳ４４にそれぞれ対応している。
【００３３】
図３の如く、まずステップＳ５１において、入手したスペクトルと保管している元画像との差分を取って複数のウォータマークを抽出する。このときに抽出されたウォータマークの個数を仮に「Ｎ」としておくことにする。これらのＮ個のウォータマークは、本来的に全て同じものであり、ノイズやデータの欠けが無ければ、ビット数の同じ固定長のデータ列として採取されることが期待されるものであるが、実際には、市中において、ノイズの攻撃により一部のビットのデータが変更されていたり、局部的な画像の切り取りにより部分的な欠けが生じている可能性があるものである。
【００３４】
そして、ステップＳ５２において、全ての（Ｎ個の）ウォータマークをサンプルとして、互いに対応するビット毎に平均値を求める。
【００３５】
図４は、７（＝Ｎ）個のウォータマークＷｍ１〜Ｗｍ７を母集団のサンプルとして、各ビット毎の平均値Ａｖ１，Ａｖ２，Ａｖ３，…，Ａｖ１２６，Ａｖ１２７を算出する様子を示す図である。この例では、１枚の画像に７個のウォータマークＷｍ１〜Ｗｍ７が反復して埋め込まれている場合を想定しており、図４においては、これらの７個の各ウォータマークＷｍ１〜Ｗｍ７が、横長の帯として上から順に積層した状態で示されている。各ウォータマークＷｍ１〜Ｗｍ７においては、左端から右方向へ順にビット数が連続しており、例として、原画像データに埋め込まれる各ウォータマークＷｍ１〜Ｗｍ７のデータ長が１２７ビットの場合を示している。ここで、ウォータマークＷｍ１〜Ｗｍ７は特に順位付けがなされて認識されるものではなく、ステップＳ５１において抽出された順番に順不同に採取されるものである。
【００３６】
この図４の例では、市中において画像の一部が切り取られるなどして、一部のウォータマークＷｍ５〜Ｗｍ７において局部的に欠け（同図中の×で示した部分）が生じている場合を想定している。即ち、図４において、上から５番目のウォータマークＷｍ５は、その左端から数えて第５ビット目のデータが欠けており、上から６番目のウォータマークＷｍ６は、その左端から数えて第４ビット目から第５ビット目のデータと、第１２２ビット目から第１２４ビット目までのデータと、第１２７ビット目のデータとが欠けており、上から７番目のウォータマークＷｍ７は、その第１ビット目から第１２４ビット目までのデータと第１２７ビット目のデータとが欠けている。即ち、この例では、特に上から７番目のウォータマークＷｍ７についてデータの欠けが激しい場合について例示したものである。このような大規模なデータの欠けは、画像の一部を切り取ったり、色成分を変更したりするなどの画像編集の課程において、ノイズのダメージが局所的に多くなった場合などに実際に起こり得るものである。尚、ウォータマークＷｍ１〜Ｗｍ７は、所定の処理手順で抽出された順に採取されるものであるから、必ずしも下層のウォータマークＷｍ５〜Ｗｍ７に欠けが生じているとは限らず、上層のウォータマークＷｍ１〜Ｗｍ４に欠けが生じていて、且つ下層のウォータマークＷｍ５〜Ｗｍ７が欠けのないデータ列として採取されても差し支えない。
【００３７】
このようなウォータマークＷｍ１〜Ｗｍ７の各ビット毎の平均値を算出する場合、図４中の太線枠のように、各ウォータマークＷｍ１〜Ｗｍ７の各ビット（１〜１２７）毎のデータを分離してバラバラに捉え、１２７個のサンプルとしてそれぞれについて個別に各ビット毎の平均値Ａｖ１〜Ａｖ１２７を算出する。
【００３８】
次に、ステップＳ５３において、図４中の太線枠で示した各ビット（１〜１２７）毎に、ステップＳ５２で求めた平均値Ａｖ１〜Ａｖ１２７に近似する順で順位付けし、この順位付けに従って各ビットのデータをソートする。ここでソートしたデータの様子を図５に示す。図５において、ウォータマークの各ビット番号を「ｉ」とし、各ビット「ｉ」におけるソートの順位付けを「ｍ」とすると、各データは「Ｐｒ（ｉ，ｍ）」（ただし、ｉ＝１〜１２７，ｍ＝１〜７）となる。ここで、図５のようにソート処理された時点で、各データ「Ｐｒ（ｉ，ｍ）」は、元のウォータマークＷｍ１〜Ｗｍ７との関連づけが捨象されており、いずれのウォータマークＷｍ１〜Ｗｍ７中のデータであるかに拘わらず、純粋に各ビット（１〜１２７）毎のサンプルデータとして抽象化されたものとなる。尚、図５では、一部のウォータマークにおいてのデータに欠けが生じている場合を想定しているため、Ｐｒ（５，５）、Ｐｒ（４，６）〜Ｐｒ（５，６）、Ｐｒ（１２２，６）〜Ｐｒ（１２４，６）、Ｐｒ（１２７，６）、Ｐｒ（１，７）〜Ｐｒ（１２４，７）及びＰｒ（１２７，７）のデータは存在していない。特に、上から７層目のデータ「Ｐｒ（ｉ，７）」については、データの欠けが激しいものとなっている。
【００３９】
ところで、一般に、ノイズの重畳はランダムに行われるため、別々のウォータマークＷｍ１〜Ｗｍ７について、同じビット（１〜１２７）に全く同じノイズが重畳する確率は少なく、故に、各ビット（１〜１２７）のデータにおいて半数以上のウォータマークＷｍ１〜Ｗｍ７に同じノイズが重畳する確率は極めて低いと考えてよい。したがって、この実施の形態のように、全ウォータマークＷｍ１〜Ｗｍ７の各ビット毎の平均値Ａｖ１〜Ａｖ１２７を算出した場合（ステップＳ５２）、かかる各ビット毎の平均値Ａｖ１〜Ａｖ１２７によるデータ列は、元のウォータマークを正確に表現したものと期待できるものである。このことから、ステップＳ５３のよえに、各データ「Ｐｒ（ｉ，ｍ）」がいずれのウォータマークＷｍ１〜Ｗｍ７中のものであるかに拘らずに各ビット毎の平均値Ａｖ１〜Ａｖ１２７に近似する順にソートして得られるとき、図５中においては、平均値に近いデータ列である上層の帯（即ち、各データ「Ｐｒ（１，ｍ）〜Ｐｒ（１２７，ｍ）」のデータ列において「ｍ」の値が小さい帯）の方が、下層の帯（即ち、各データ「Ｐｒ（１，ｍ）〜Ｐｒ（１２７，ｍ）」のデータ列において「ｍ」の値が大きい帯）に比べて、相対的に正確なウォータマークを表現できているものと期待できることになる。
【００４０】
ただし、ステップＳ５３を経て図５のような各データ「Ｐｒ（ｉ，ｍ）」が得られても、上から何層目（「ｍ」）のデータ列までが信頼できるかは、ノイズの重畳の激しさやデータの欠けの度合いによって異なってくるため、この時点で上から何層目までのデータを用いて平均化及び復号化処理すればよいかが不明である。したがって、ステップＳ５４以降の処理において、上層から順番に層（「ｍ」）の数を徐々に増やしながら「ｍ」が抽出されたウォータマークの最大数に達するまで平均化及び復号化処理を行う。そして、全ての処理が終了した後改めて信頼性が十分である限度の判定を行い、何層目までの復号結果を採用するか判断する。
【００４１】
即ち、平均化する層（「ｍ」）の総数を変数「ｎ」で定義すると、ステップＳ５４において、まず始めに「ｎ」に値「１」を代入して初期化することにする。
【００４２】
そして、図３中のステップＳ５５において、ソートした順位の上位から「ｎ＝１」個のデータをサンプルとし、かかる「ｎ＝１」個めデータについて図６のように各ビット毎の平均値Ａｖ１（１（＝ｎ））〜Ａｖ１２７（１（＝ｎ））を算出する。ただし「ｎ＝１」の場合は各ビットが一通りにしか存在しないので、Ａｖ１（１（＝ｎ））〜Ａｖ１２７（１（＝ｎ））はＰｒ（１，１）〜Ｐｒ（１，１２７）と等価である。
【００４３】
また、後続のステップＳ５９における信頼度の判定のために、新たに平均値を算出する際にサンプルとして追加されたデータ列のビット長を記録しておく。例において図６中で新しく平均値算出に使用したビットは１２７ビットである。
【００４４】
次に、図３中のステップＳ５６において算出された各ビットの平均値Ａｖ１（１）〜Ａｖ１２７（１）を使って一般的なＢＣＨ復号化処理を行う。この際、上記した符号化の過程（図１のステップＳ３４，Ｓ４５）の説明中で述べたとおり、もともと各ウォータマークＷｍ１〜Ｗｍ７は冗長ビットを含むＢＣＨ符号であるので、一般的なＢＣＨ誤り検出方法によりデータの誤り検出を行っておく。尚、一般的なＢＣＨ復号化処理は、復号に係るデータの誤り訂正を行うだけでなく、復号コードに対してある程度の誤り検出を行うことが可能である。したがって、ステップＳ５６では、復号処理後の純粋な復号コードの後に、復号コードが誤っているか否かを示す「誤り検出フラグ」を追加して出力する。
【００４５】
以上のステップＳ５５〜Ｓ５６を通して、次の１）〜３）の出力が得られたことになる。
【００４６】
１）「第１の出力」…新たに平均値を算出する際にサンプルとして追加されたデータ列のビット長、
２）「第２の出力」…ＢＣＨ復号による誤り検出フラグ、
３）「第３の出力」…ＢＣＨ復号による復号コード。
【００４７】
これに続くステップＳ５７で、「ｎ」が抽出されたウォータマークの最大数「Ｎ」に達しているか否かが判定される。
【００４８】
「Ｎ」に達していない場合には、さらに各ビット（１〜１２７）毎において平均化の対象とされるサンプル数を増やすために、平均化したいデータ列「Ｐｒ（ｉ，ｍ）」〈ただし、ｉ＝１〜１２７、ｍ＝１〜ｎ）のサンプル総数を示す「ｎ」の値を１つだけインクリメントした上で（図３中のステップＳ５８）、ステップＳ５５〜Ｓ５６の処理を繰り返す。例えば、図７は平均化したいデータ列「Ｐｒ（ｉ，ｍ）」〈ただし、ｉ＝１〜１２７、ｍ＝１〜ｎ）のサンプル総数「ｎ」が「２」である場合に各ビット毎の平均値Ａｖ１（２）〜Ａｖ１２７（２）が求められる状態、図７はサンプル総数「ｎ」が「３」である場合に各ビット毎の平均値Ａｖ１（３）〜Ａｖ１２７（３）が求められる状態、図８はサンプル総数「ｎ」が「４」である場合に各ビット毎の平均値Ａｖ１（４）〜Ａｖ１２７（４）が求められる状態、図９はサンプル総数「ｎ」が「５」である場合に各ビット毎の平均値Ａｖ１（５）〜Ａｖ１２７（５）が求められる状態、図１０はサンプル総数「ｎ」が「６」である場合に各ビット毎の平均値Ａｖ１（６）〜Ａｖ１２７（６）が求められる状態、図１１はサンプル総数「ｎ」が「７」である場合に各ビット毎の平均値Ａｖ１（７）〜Ａｖ１２７（７）が求められる状態をそれぞれ示したものである、尚、図８中における「×」の印はデータの欠けを示すものである。各平均値は図中太線枠で囲んだビットを使って求めるので、例えばＡｖ５（６）はＰｒ（５，２）、Ｐｒ（５、３）、Ｐｒ（５、４）の平均値を意味する。
【００４９】
全ての処理が終わりＮ通りの出力が出揃ったならばステップＳ５９へ進み、復号結果が所定の信頼度を満たしているかどうかを判断する。ここで信頼度を肯定的に判断する条件としては、経験則的に、次のａ）〜ｃ）の条件が採用される。
【００５０】
ａ）「第１の条件」…新たに平均値を算出する際にサンプルとして追加されたデータ列のビット長（「第１の出力」）が、元のウォータマーク（Ｗｍ１〜Ｗｍ７）の全ビット長の１／３より多いこと。この第１の条件は、一部の画像の切り取り等によりデータに欠けが生じている場合の母集団としてのサンプルデータの有効性を考慮したものである。この実施の形態のように、１２７ビット長のウォータマーク（Ｗｍ１〜Ｗｍ１２７）を取り扱う場合、４３ビット（＞１２７／３）以上の有意なデータの存在が第１の条件として条件付けされることになる。
【００５１】
ｂ）「第２の条件」…上記した一連のＢＣＨ復号化処理の結果、誤り検出フラグ（「第２の出力」）が「正」の判断結果を示しており、かつ前後いずれかの結果を含めて「正」の判定が２個以上連続していること。この第２の条件はＢＣＨ符号の誤り検出能力を補うものである。
【００５２】
ｃ）「第３の条件」…上記「第１の条件」及び「第２の条件」に基づいて有効に残された復号結果が２つ以上５つ未満の場合に、それらの復号されたコード（「第３の出力」）が全て一致していること、または、有効に残された復号結果が５つ以上の場合に、それらの復号されたコード（「第３の出力」）が全体の８０％より高い割合で一致していること。
【００５３】
これらの３つの条件は、まず第１の条件が判断され、この第１の条件を満たしている場合に次いで第２の条件が判断され、さらにこの第２の条件を満たしている場合に続いて第３の条件が判断される。
【００５４】
尚、これら３つの条件は、上述のように経験則的によって定められたものであるが、本発明においては、「第１の条件」における「１／３」という数値、「第２の条件」における「２個以上」という数値、及び「第３の条件」における「２つ以上」「５つ未満／以上」「８０％」という数値に限定されるものではなく、画像中に含められるウォータマークの個数や画像のサイズ等の諸環境によって適宜経験的に定めればよいものである。
【００５５】
このステップＳ５９において、上記した３つの条件が肯定的に判断され、故に一定の信頼度を満たしていると判断できた場合には、「第３の条件」において全てまたは高い割合で一致している復号コードを最終的な復号結果とする。一方、「第３の条件」が満たされなかった場合は、一定の信頼度が得られなかったものとして最終的な復号結果を出さずに終了する。
【００５６】
ここで、次の表１は、ｎ＝１からｎ＝７（＝Ｎ）における各出力に対して、上記３つの条件の判定例を模式的に示している。
【００５７】
【表１】
0003875801.tif 000002
【００５８】
図６〜図１２に示したとおり、ｎが１から４までの値をとる場合はビットに欠けを生じていないため「第１の出力」は１２７であり、ｎが５から７までの値をとる場合はそれぞれ１ビット、５ビット、１２５ビットの欠けが含まれるため、「第１の出力」は１２６、１２１、２である。また例として［第２の出力」（誤り検出フラグ）はｎ＝２のときのみ「誤」それ以外は「正」を示していたとする。まず第１の条件を判定すると、ｎ＝７のとき以外は４３ビット（＞１２７／３）より多い有意なデータをもとに復号されており条件が満たされている。次いで第１の条件を満たしたｎ＝１からｎ＝６について、第２の条件、すなわち「第２の出力」が「正」でありかつ２個以上連続しているか否かを判定すると、ｎ＝１とｎ＝２の場合の結果は棄却される。そうすると、有効に残された復号結果はｎ＝３からｎ＝６までの４個であるので、それらの「第３の出力」（復号コード）が全て一致していれば第３の条件が満たされたと判定する。表１の例はｎ＝３からｎ＝６までの「第３の出力」が全て一致したことを示しており、このときの復号コードが最終的な復号結果になる。
【００５９】
尚、上記した例では、７個のデータ列を平均化して復号結果とする例について説明したが、画像中に反復して埋め込まれるウォータマークの個数や画像のサイズ、あるいはノイズの重畳の激しさ等によって、平均化するデータ列のサンプル数は変化する。図１３は、画像中に極めて多数のウォータマークを反復して埋め込み、また極めて激しくノイズを重畳させた場合において、平均化するサンプル数ｎを１個ずつ徐々に増やした場合の誤り率の変化を図示したものである。横軸に平均化するサンプル数ｎ、縦軸に誤り率をとっている。また、図１３中の一点鎖線による折れ線Ｌ１はこの実施の形態の方法を採用して復号化処理を行った場合、実線による折れ線Ｌ２はステップＳ５３（図３）に相当するソート処理を省略して平均化及び復号化処理を行った場合を示している。
【００６０】
この図１３のように、Ｌ１で示した結果の方が、Ｌ２で示した結果に比べて、初期の段階（比較的左方の段階）から誤り率が低減されており、また平均化するサンプル数ｎが６０個の部分で誤り率が最低レベルまで低減できることがわかる。そして、このときの誤り率は、Ｌ２の最小値より遙かに小さな値を示している。このことから、この実施の形態のステップＳ５３（図３）のようにソート処理を行うことで、復号結果の誤り率を大幅に低減できる。尚、図１３の例は、極めて激しくノイズを重畳させた場合を示しているため、通常予想される程度のノイズの重畳では、平均化するサンプル数ｎを徐々に増やしていく課程で、誤り率がゼロレベルにまで低減できることが多いものと期待できるものである。
【００６１】
尚、上記実施の形態において、ウォータマークの符号化方法及び復号化方法の処理手順の概略は、図１及び図２に示した通りであるが、必ずしもこのような処理に限るものではなく、例えば、図１４中のステップＳ０１〜Ｓ０５及び図１５中のステップＳ１１〜Ｓ１３に示したものと同様の処理において適用してもよい。
【００６２】
また、復号結果の信頼度を判断する条件としては、上記に限られるものではない。
【００６３】
さらに、ウォータマークの埋め込み対象となるデータはＪＰＥＧ形式の画像に限られず、例えばＭＰＥＧ形式の動画像等、どのような圧縮情報に適用してもよい。
【００６４】
【発明の効果】
請求項１乃至請求項５に記載の発明によれば、入手したスペクトルと保管している元画像との差分を取って複数のウォータマークを抽出し、全てのウォータマークについて、互いに対応するビット同士の平均値を求め、各ビット毎に、平均値に近似する順で順位付けして各ビットのデータをソートした後に、ソートした順位付けの順番に各ビットのサンプル数を徐々に増やしながら、平均化及び復号化処理を繰り返し、その後に所定以上の信頼性を有するものとして予め定められた所定の条件を満たすものを判別してウォータマークの復号結果とするようにしているので、ソートを行わないまま平均化して復号化処理を行う場合に比べて、ソートの順位付けの高い順位のデータ列の誤り率を飛躍的に低減できる。その結果、順次にサンプル数を増やして平均化する課程で早期に誤り率の低いデータを得ることができ、比較的正確にウォータマークを復元することができる。
【００６５】
特に、請求項２乃至請求項４に記載の発明によれば、明解な判断条件で容易に正確にウォータマークを復元することができる。
【００６６】
また、請求項５に記載の発明によれば、元画像のデータが、データ量の小さい圧縮画像の形式で保管されるので、通常において多数種類の元画像のデータを保管する必要がある配信元において、保管すべき元画像のデータのデータ量が節減され、元画像のデータの保管のための配信元の負担が軽減される、という効果がある。
【図面の簡単な説明】
【図１】この発明の一の実施の形態に係るウォータマークの符号化方法の概略を示すフローチャートである。
【図２】この発明の一の実施の形態に係るウォータマークの復号化方法の概略を示すフローチャートである。
【図３】この発明の一の実施の形態に係るのウォータマークの復号化方法の詳細を示すフローチャートである。
【図４】この発明の一の実施の形態において複数のウォータマークの全サンプルについて各ビット毎の平均値を求める様子を示す図である。
【図５】この発明の一の実施の形態において複数のウォータマークの全サンプルについて求められた各ビット毎の平均値に近似する順位で全データをソートした状態を示す図である。
【図６】この発明の一の実施の形態におけるデータの例を示す図である。
【図７】この発明の一の実施の形態において上位２個のデータで平均化処理を行った様子を示す図である。
【図８】この発明の一の実施の形態において上位３個のデータで平均化処理を行った様子を示す図である。
【図９】この発明の一の実施の形態において上位４個のデータで平均化処理を行った様子を示す図である。
【図１０】この発明の一の実施の形態において上位５個のデータで平均化処理を行った様子を示す図である。
【図１１】この発明の一の実施の形態において上位６個のデータで平均化処理を行った様子を示す図である。
【図１２】この発明の一の実施の形態において上位７個のデータで平均化処理を行った様子を示す図である。
【図１３】ソートを行う場合と行わない場合について平均化するサンプル数を徐々に増やした場合の誤り率の変化を示す図である。
【図１４】従来のウォータマーク符号化方法の概要を示すフローチャートである。
【図１５】従来のウォータマーク復号化方法の概要を示すフローチャートである。
【図１６】図１４及び図１５の手順のタイミングチャートである。
【図１７】従来のウォータマーク復号化方法の詳細を示すフローチャートである。
【符号の説明】
Ｗｍ１〜Ｗｍ７    ウォータマーク
Ａｖ１〜Ａｖ１２７    各ビット毎の平均値
Ｐｒ（ｉ，ｍ）    各データ
【図１】
0003875801.tif 000003
【図２】
0003875801.tif 000004
【図３】
0003875801.tif 000005
【図４】
0003875801.tif 000006
【図５】
0003875801.tif 000007
【図６】
0003875801.tif 000008
【図７】
0003875801.tif 000009
【図８】
0003875801.tif 000010
【図９】
0003875801.tif 000011
【図１０】
0003875801.tif 000012
【図１１】
0003875801.tif 000013
【図１２】
0003875801.tif 000014
【図１３】
0003875801.tif 000015
【図１４】
0003875801.tif 000016
【図１５】
0003875801.tif 000017
【図１６】
0003875801.tif 000018
【図１７】
0003875801.tif 000019