[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP3722995B2 - Watermark encoding method and decoding method - Google Patents

Watermark encoding method and decoding method Download PDF

Info

Publication number
JP3722995B2
JP3722995B2 JP23527498A JP23527498A JP3722995B2 JP 3722995 B2 JP3722995 B2 JP 3722995B2 JP 23527498 A JP23527498 A JP 23527498A JP 23527498 A JP23527498 A JP 23527498A JP 3722995 B2 JP3722995 B2 JP 3722995B2
Authority
JP
Japan
Prior art keywords
watermark
image data
quantization
data
original image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP23527498A
Other languages
Japanese (ja)
Other versions
JP2000069273A (en
Inventor
礼子 澤
隆 土谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MegaChips Corp
Original Assignee
MegaChips Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MegaChips Corp filed Critical MegaChips Corp
Priority to JP23527498A priority Critical patent/JP3722995B2/en
Publication of JP2000069273A publication Critical patent/JP2000069273A/en
Application granted granted Critical
Publication of JP3722995B2 publication Critical patent/JP3722995B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Television Systems (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、ウォータマーク(電子透かし)の符号化方法および復号化方法に関し、特に、保管すべき元画像データのデータ量(信号量)を低減するための改良に関する。
【0002】
【従来の技術】
ウォータマーク技術は、画像を表現するデータ(信号)である画像データに、著作権や購入者の情報を、ユーザに感知されないような形態で埋め込むことによって、違法コピーなどの二次利用を防ぐ技術である。著作権を有する画像データの配信元は、ウォータマークを埋め込む前の画像データ、すなわち、元画像データを保管しておき、違法コピーの疑いのある画像データを市中より採取した際に、これを元画像データと比較することによって、ウォータマークを取り出し、さらに、著作権情報等へと復号化する。配信元は、復号化された情報にもとづいて、購入者の割り出し等を行う。
【0003】
図10および図11は、それぞれ、従来行われているウォータマークの符号化方法および復号化方法の処理手順を示すフローチャートである。また、図12は、これらの処理における、画像形式の推移を示すタイミングチャートである。これらの処理は、配信元(あるいは、配信元によってオーソライズされた者)によって、実行される。
【0004】
従来のウォータマーク符号化方法では、圧縮されていない原画像の形式を有する元画像データが、例えばJPEGなどの画像圧縮技術にもとづいて圧縮される。それによって、画像データが、圧縮画像データの形式で配信される。この圧縮の過程の中で、ウォータマークの埋め込みが行われる。一方、上述した元画像データは、原画像の形式で保管される。
【0005】
ウォータマーク符号化方法を、図10および図12に沿って説明すると、原画像としての元画像データは、例えば、JPEGの圧縮処理の一過程であるDCT変換によって、スペクトルデータ(空間スペクトルデータ)SPCへと変換される(ステップS51)。スペクトルデータは、多数のスペクトル成分を、その構成要素として含んでいる。著作権情報等が符号化されたウォータマークの埋め込みが、このスペクトルデータSPCに対して実行される(ステップS52)。スペクトルデータSPCは、原画像を、スペクトル成分の組すなわち空間周波数成分の組へと、展開することによって得られ、DCT変換はそのような展開の代表例である。
【0006】
つづいて、ウォータマークを含むスペクトルデータSPCは、量子化およびVLC符号化(可変長符号化)を通じて、VLC符号(可変長符号)へと変換される(ステップS53)。そして、このVLC符号の形式、すなわち、圧縮画像データの形式で、画像データが流通業者等を通じて、市場へと配信される(ステップS54)。また、元画像データは、原画像の形式のままで、配信元に保管される(ステップS55)。
【0007】
つぎに、従来のウォータマーク復号化方法を、図11および図12に沿って説明する。市中で採取された画像データは、VLC符号の形式であることもあり、あるいは、原画像の形式であることも有り得る。いずれの形式で採取されても、画像データは、スペクトルデータSPC’へと変換される(ステップS61)。
【0008】
例えば、採取された画像データがVLC符号の形式であれば、VLC符号化の逆演算であるVLC復号化、および、量子化の逆演算である逆量子化を通じて、スペクトルデータSPC’へと変換される。採取された画像データが、原画像の形式であれば、DCT変換を通じて、スペクトルデータSPC’へと変換される。
【0009】
ステップS61を通じて得られたスペクトルデータSPC’は、ウォータマークを含んでいるために、図10に示したスペクトルデータSPCとは値が異なる。これら双方の差分を算出することによって、スペクトルデータSPC’に埋め込まれているウォータマークの取り出しが行われる(ステップS62)。つぎに、取り出されたウォータマークの復号化が行われ(ステップS63)、それによって、著作権情報等が読み出される。
【0010】
なお、採取された画像データは、一般には、配信直後の画像データのままではなく、様々な画像処理を経由していることも有り得る。このため、採取された画像データには、これらの画像処理に由来するノイズが混入している可能性がある。このノイズも、図10のスペクトルデータSPCと図11のスペクトルデータSPC’との間の偏差の要因となる。
【0011】
ウォータマークの取り出しにおけるノイズの悪影響を除くために、図10のウォータマークの埋め込みの過程(ステップS52)では、1枚の画像の中に、ウォータマークが反復して埋め込まれ、取り出しの過程(ステップS62)では、反復するウォータマークの平均を算出することによって、SN比を高めるという方法が採用されている。
【0012】
あるいは、ウォータマークの埋め込みの過程(ステップS52)で、誤り訂正符号をウォータマークの中に含めておき、取り出しの過程(ステップS62)で、復号誤りを検出および訂正することによって、取り出されるウォータマークの信頼性を高めるという方法が採られている。いずれの方法においても、ステップS63では、信頼性の有無が判断され、信頼性有りと判定されたときに、著作権情報等が出力される。
【0013】
【発明が解決しようとする課題】
しかしながら、従来の方法では、元画像データが、原画像の形式で保管されるために、通常において多数種類の元画像データを保管する必要がある配信元では、保管すべき元画像データの総データ量が大規模になるという問題点があった。データ量が大きくなると、保管や取り扱いの上で不便であり、また、必要なコストも高くなる。
【0014】
この発明は、従来の方法における上記した問題点を解消するためになされたもので、保管すべき元画像データのデータ量を節減し得るウォータマーク符号化方法および復号化方法を提供することを目的とする。
【0015】
【課題を解決するための手段】
第1の発明の方法は、元画像データにウォータマークを埋め込むウォータマーク符号化方法において、(a)前記元画像データを、スペクトルデータへの変換と量子化とを含む画像圧縮を通じて、圧縮されない原画像の形式から圧縮画像データの形式へと変換する工程と、(b)前記圧縮画像データの形式で前記元画像データを保管する工程と、(c)前記量子化の逆演算としての逆量子化を含む画像伸張を通じて、前記元画像データを、前記圧縮画像データの形式からスペクトルデータへと変換する工程と、(d)前記工程(c)で得られたスペクトルデータにウォータマークを重ね合わせる工程と、(e)前記工程(d)でウォータマークが重ね合わされた前記スペクトルデータを、前記量子化を含む画像圧縮を通じて、前記圧縮画像データの形式へと変換する工程と、(f)前記工程(e)で変換して得られた前記圧縮画像データを配信する工程と、を備えている。
しかも、前記工程(d)が、(d-1)前記工程(c)で得られた前記スペクトルデータに、符号がランダムな揺らぎを重ね合わせる工程と、(d-2)前記工程(d-1)でランダムな揺らぎが重ね合わされた前記スペクトルデータに対して、前記量子化で用いられるスケーリング係数よりも値の大きいスケーリング係数を用いて、量子化を行うことによって、量子化係数を得る工程と、(d-3)前記スペクトルデータを構成し、前記量子化係数としてゼロでない値を与えるスペクトル成分の中から、前記ウォータマークの埋め込み対象を選択する工程と、(d-4)前記工程(d-3)で選択された前記スペクトル成分の前記揺らぎが重ね合わせられる以前の値に、前記ウォータマークを重ね合わせる工程と、を備えている。
【0016】
第2の発明の方法は、元画像データにウォータマークを埋め込むウォータマーク符号化方法において、(a)前記元画像データを、スペクトルデータへの変換と量子化とを含む画像圧縮を通じて、圧縮されない原画像の形式から圧縮画像データの形式へと変換する工程と、(b)前記圧縮画像データの形式で前記元画像データを保管する工程と、(c)前記量子化の逆演算としての逆量子化を含む画像伸張を通じて、前記元画像データを、前記圧縮画像データの形式からスペクトルデータへと変換する工程と、(d)前記工程(c)で得られたスペクトルデータにウォータマークを重ね合わせる工程と、(e)前記工程(d)でウォータマークが重ね合わされた前記スペクトルデータを、前記量子化を含む画像圧縮を通じて、前記圧縮画像データの形式へと変換する工程と、(f)前記工程(e)で変換して得られた前記圧縮画像データを配信する工程と、を備えている。
しかも、前記工程(d)が、(d-1)重ね合わせるべき前記ウォータマークの振幅を、前記量子化で用いられる量子化ステップの1/2倍よりも大きい値に設定する工程、を備えている。
【0017】
第3の発明の方法は、第2の発明のウォータマーク符号化方法において、前記工程(d)が、(d-2)あらかじめ設定された所定の定数L(≦1/2)に対して、前記工程(d-1)において設定される前記振幅が、量子化テーブルの値のL倍よりも小さいときには、前記振幅を、量子化テーブルの値の所定の定数K(L≦K≦1/2)倍の値に設定する工程、をさらに備えている。
【0018】
第4の発明の方法は、採取された画像データからウォータマークを取り出すウォータマーク復号化方法において、(A)第1ないし第3のいずれかのウォータマーク符号化方法の工程(b)によって保管された元画像データに対して、前記工程(c)と同一の工程を実行することにより、スペクトルデータを得る工程と、(B)採取された前記画像データを、スペクトルデータへ変換する工程と、(C)前記工程(A)および(B)で得られた二つのスペクトルデータの差分を演算することによって、前記ウォータマークを、前記工程(B)で得られた前記スペクトルデータから取り出す工程と、を備えている。
【0019】
【発明の実施の形態】
<1.符号化方法および復号化方法の概略手順>
保管すべき元画像データのデータ量を節減するために、本発明の好ましい実施の形態では、原画像の形式ではなく、VLC符号の形式、すなわち、圧縮画像データの形式で、元画像データが保管される。図1および図2は、それぞれ、この実施の形態のウォータマークの符号化方法および復号化方法の処理手順を示すフローチャートである。また、図3は、これらの処理にともなう画像形式の推移を示すタイミングチャートである。これらの処理は、配信元(あるいは、配信元によってオーソライズされた者)によって、実行される。これらの図1〜図3は、それぞれ、従来の方法を示した図10〜図12に対比される。
【0020】
実施例のウォータマーク符号化方法を、図1および図3に沿って説明すると、原画像としての元画像データは、例えば、JPEGにもとづいて画像圧縮され、VLC符号、すなわち、圧縮画像データへと変換される(ステップS1)。元画像データは、このVLC符号の形式で保管される(ステップS2)。すなわち、元画像データは、データ量の小さい画像形式で保管される。その結果、保管すべき元画像データのデータ量が節減されるので、従来のウォータマーク符号化方法における問題が、緩和ないし解消される。
【0021】
元画像データへウォータマークを埋め込むためには、まず、VLC符号の形式を有する元画像データに対して、VLC復号化、および、逆量子化が施され、それらを通じて、スペクトルデータSPCへと画像伸張される(ステップS3)。つぎに、符号化された著作権情報等を含むウォータマークが、このスペクトルデータSPCに対して埋め込まれる(ステップS4)。
【0022】
つづいて、ウォータマークを含むスペクトルデータSPCは、量子化およびVLC符号化を通じて、VLC符号へと変換される(ステップS5)。そして、このVLC符号の形式、すなわち、圧縮画像データの形式で、画像データが流通業者等を通じて、市場へと配信される(ステップS6)。
【0023】
つぎに、図10の方法に対応するウォータマーク復号化方法を、図2および図3に沿って説明する。市中で採取された画像データは、従来と同様に、VLC符号の形式であることもあり、あるいは、原画像の形式であることも有り得る。いずれの形式で採取されても、画像データは、スペクトルデータSPC’へと変換される(ステップS11)。
【0024】
つぎに、VLC符号の形式の元画像データに、VLC復号化、および、逆量子化が施され、それらを通じて、スペクトルデータSPCが得られる(ステップS12)。この処理は、ステップS3における処理と同一に行われる。ステップS11を通じて得られたスペクトルデータSPC’は、ウォータマークを含んでいるために、ステップS12で得られたスペクトルデータSPCとは値が異なる。
【0025】
これら双方の差分を算出することによって、スペクトルデータSPC’に埋め込まれているウォータマークの取り出しが行われる(ステップS13)。つぎに、取り出されたウォータマークの復号化が行われ(ステップS14)、それによって、著作権情報等が読み出される。ステップS11,S13,S14の処理は、それぞれ、従来のステップS61,S62,S63(図11)と同様に行われる。このため、これらの処理についての詳細な説明は略する。
【0026】
<2.符号化方法における改良すべき課題>
以上の方法によって、保管すべき元画像データのデータ量が過大であるという、実用化の際に生じる問題点は、緩和ないし解消される。しかしながら、ウォータマークを埋め込む処理(ステップS4)が、従来のステップS52(図10)と同一の形態で実行されるならば、画質が著しく劣化する、または、復号正解率が劣化するという、新たな問題点が発生する。ここでは、この問題点について説明する。
【0027】
画質が劣化するという問題の発生要因は、1画面の画像の中で、ウォータマークを埋め込む位置を決定する過程の中にあり、復号正解率が低下するという問題の発生要因は、埋め込むべきウォータマークの振幅を決定する過程の中に存在する。いずれの過程も、ステップS4の処理の中に含まれる。
【0028】
画像データにJPEGなどの圧縮処理を施す際には、1画面を分割してなるブロックを単位として、DCT変換、量子化、および、VLC符号等の処理が行われる。その逆の演算においても同様である。各ブロックは、例えば、8×8画素、あるいは、16×16画素などで構成される。
【0029】
ウォータマークを埋め込む位置として、これらの複数のブロックの中で、ある条件を満たす特定ブロック(一般には複数)が選ばれ、さらに、選ばれたブロックの中の、特定のスペクトル成分が選ばれる。スペクトル成分は、スペクトルデータの構成要素であり、スペクトル成分の組によってスペクトルデータが構成されている。このように、選択される「ウォータマークを埋め込む位置」は、画面上の空間的な位置と、スペクトルにおける位置との双方を含んでいる。
【0030】
より具体的には、特定のスペクトル成分として、例えば、空間周波数が最も低い4個のAC成分(AC低域4成分)が選択される。様々なスペクトル成分の中で、低域成分が、画像の品質に最も大きく影響するために、フィルタリング等の画像処理によって、画像の品質を劣化させることなく、ウォータマークを除去することが困難だからである。すなわち、ウォータマークの強度(取り去り難さ)を高めるためである。
【0031】
特定ブロックとしては、例えば、上記のAC低域4成分の各々の振幅が、ある程度大きく、しかも、高周波数成分が、ある程度大きいブロックが選択される。AC4成分の振幅が大きいという条件は、ウォータマークを埋め込んだ後の量子化による、ウォータマークの消滅を防ぐとともに、視覚上、ウォータマークを目立ち難くするために設定される。高周波成分が、ある程度大きいという条件は、ウォータマークを、さらに目立ち難くするためである。
【0032】
ウォータマークを埋め込む位置として選択される特定ブロックおよび特定スペクトル成分に関する、これらの条件自体は、従来周知である。これらの3条件の中で、AC4成分の振幅が大きいという条件は、より具体的には、大きめに設定されたスケーリング係数SCを用いて仮の量子化を行ったときに、得られる量子化係数Qがゼロにならないという条件に置き換えて、判断が行われる。「大きめ」とは、VLC符号を最終的に得るために実行される量子化処理に用いられるスケーリング係数SCよりも、幾分(例えば、1だけ)大きいことを意味する。
【0033】
スケーリング係数SCとは、量子化ステップを規定する因子の一つである。JPEGなどの画像圧縮のアルゴリズムでは、すべてのブロックに共通ではあるが、スペクトル成分ごとに個別の値を有するように、アルゴリズム自体によって準備された量子化テーブルTBの値に、1つのブロックに属するすべてのスペクトル成分に共通するスケーリング係数SCを乗じることによって、量子化の幅(粗さ)に相当する量子化ステップΔが与えられる。すなわち、
Δ=SC×TB ・・・・(数式1)
で与えられる。スケーリング係数SCの大きさは、圧縮して得られるVLC符号のデータ量などに応じて、適宜、適切な値に設定される。
【0034】
上記したように、大きめに設定されたスケーリング係数SCを用いて量子化を行うことによって、AC低域4成分の量子化係数Qの値がゼロであるか否かが判定される。このとき、ウォータマークの埋め込み対象とされるスペクトルデータSPCは、図3に示されるように、原画像から直接に変換されて得られたものではなく、VLC符号への変換と、その後の逆変換とを通じて得られたものである。
【0035】
すなわち、ウォータマークの埋め込み対象とされるスペクトルデータSPCは、図3の点線で示される経路Aに沿った画像圧縮および画像伸張を通じて得られている。量子化処理は、不可逆的な処理であり、量子化とその後の逆量子化とが、同一の量子化ステップΔを用いて実行されても、スペクトルデータSPCは、量子化以前のスペクトルデータSPCと同一には再生されない。すなわち、経路Aは不可逆となる。
【0036】
このため、例えば、スケーリング係数SC=1を用いて、経路Aに沿って量子化および逆量子化が施されて得られたスペクトルデータSPCに、スケーリング係数SC=2で量子化を施したときには、スペクトル成分とその量子化係数Qとの間の関係は、図4のグラフにおいて、点線で描かれることとなる。図4において、横軸Xは、スペクトル成分の値を表している。図4のグラフには、経路Aを経ることなく、原画像から直接に得られたスペクトルデータSPCに対して、スケーリング係数SC=1、および、SC=2で量子化を施したときの、スペクトル成分Xと量子化係数Qの関係も、同時に示されている。
【0037】
図4が示すように、スケーリング係数SC=1で量子化が一旦施されているスペクトルデータSPCと、そうでないスペクトルデータSPCとの間で、スケーリング係数SC=2で量子化して得られる量子化係数Qの値に、偏差が現れる。このことは、双方のスペクトルデータSPCの間で、ウォータマークを埋め込むべき位置に、偏差が現れることを意味する。この偏差によって、ウォータマークによる画像の歪が視覚上目立ってしまうという問題が、引き起こされる。
【0038】
正解率が低下するという問題の要因は、図5によって説明される。ウォータマークの埋め込みの対象とされるスペクトルデータSPCは、量子化および逆量子化という処理をすでに経ているので、各スペクトル成分Xは、図5の白丸で示されるように、量子化ステップΔの整数倍の値しか取り得ない。ウォータマークが埋め込まれた後には、同じ大きさの量子化ステップΔを用いて量子化が行われるので、ウォータマークの振幅の大きさを、適切に選択しなければ、量子化の後には、ウォータマークが残らないこととなる。それが、復号正解率の劣化という問題を生起することとなる。
【0039】
なお、図5における折れ線は、量子化を経ていないスペクトル成分Xと量子化係数Qとの間の関係を示している。実施の形態のウォータマーク符号化方法では、以下に説明するように、これらの問題を解消するように、ウォータマークの埋め込み処理(ステップS4)が実行される。
【0040】
<3.ウォータマーク埋め込み処理>
図6は、ウォータマークを埋め込む処理(ステップS4)の内部フローを示すフローチャートである。この処理では、処理の対象として、スペクトルデータSPCの輝度成分Ysp、スケーリング係数SC、ウォータマークWM、および、乱数PNが供給される。輝度成分Yspは、スペクトルデータSPCを構成する各スペクトル成分に含まれる三要素の一つである。乱数PNとして、+1、または、−1のいずれかの値(言い換えると、正または負の符号)が、ランダムに供給される。なお、以下のフローチャートにおいて、各ステップの中に描かれる数式に含まれる左向きの矢印は、右辺の値が左辺の変数へ代入されることを表現している。
【0041】
処理が開始されると、ステップS21において、変数δへ、乱数PNを符号とする微小な数値が付与される。例えば、
δ=PN×10-3 ・・・・(数式2)
で変数δが定義される。そして、新たな変数Ytmとして、
Ytm=Ysp+δ ・・・・(数式3)
が定義される。すなわち、輝度成分Yspに変数δに相当する揺らぎが付加され、これを仮の輝度成分とすべく、変数Ytmが導入される。
【0042】
つぎに、ステップS22〜S26の処理が、ブロックごとに反復的に実行される。ステップS22では、揺らぎδを含んだ輝度成分Yspに相当する変数Ytmに量子化が施され、さらに、逆量子化が施される。すなわち、量子化係数Qが、
Q=round(Ytm/(TB×2)) ・・・・(数式4)
にもとづいて算出される。その後、この量子化係数Qに対して、
Qsp=Q×(TB×2) ・・・・(数式5)
にもとづく逆量子化が施され、逆量子化係数としてのスペクトルデータQspが得られる。
【0043】
ここでは、図1のステップS1およびS5で行われる量子化の際に用いられるスケーリング係数SCが、一例として、SC=1であると仮定している。このため、数式(4),(5)では、スケーリング係数SCが、”1”よりも一段階大きい”2”に設定されている。数式(4),(5)で得られる2個の変数Q,Qspが、つぎのステップS23の判定に用いられる。
【0044】
数式(4)で得られる量子化係数Qは、輝度成分Yspそのものではなく、揺らぎ(ノイズ)δが重ね合わされた変数Ytmにもとづいて、算出された値である。このため、輝度成分Yspと量子化係数Qとの間の関係は、図7に示すように、揺らぎの向き、すなわち、変数δの符号に応じて、二通りに分散する。そして分散の中心には、量子化を経ることなく、原画像から直接に変換して得られた輝度成分Yspとその量子化係数Qとの間の関係(一点鎖線で示される)が位置する。
【0045】
したがって、ランダムな揺らぎ(ランダムノイズ)を含んだ変数Ytmの量子化係数Qは、平均的に、量子化を経ていない輝度成分Yspの量子化係数Qと一致する。このため、上述した画質の劣化の問題が解消されることとなる。
【0046】
ステップS23では、ウォータマークの埋め込み位置の決定が行われる。そして、決定された位置ごとに識別番号INDが付与される。ステップS23の内部フローは、図8のフローチャートで表される。ステップS23では、量子化係数QおよびスペクトルデータQspが処理対象とされ、識別番号INDが出力される。すなわち、ステップS31において、識別番号INDを付与すべき、特定ブロックの特定スペクトル成分として、つぎの3条件が設定される:
スペクトル成分がAC低域4成分に属すること ・・・・(条件1)
量子化係数Qがゼロでないこと ・・・・(条件2)
スペクトルデータQspのAC成分の絶対値の総和が、一定数(例えば、200)以上であること ・・・・(条件3)。
【0047】
これらの条件は、先に述べた、特定ブロックおよび特定スペクトル成分に関する条件を、具体的に表現したものとなっている。ステップS31の処理が終了すると、選択された識別番号INDが出力され、ステップS23の処理が完了する。その後、処理は、図6のステップS24へと移行する。
【0048】
ステップS24では、識別番号INDが、ウォータマークWMを埋め込むのに十分な個数に達しているか否かが判定される。より具体的には、ウォータマークを構成する各ビットが、2個以上含まれているか否かが判定される。判定の結果が、「No」であれば、ステップS25において、その旨のメッセージが出力される。その後、処理は終了されても良く、また、継続されても良い。判定の結果が、逆に「Yes」であれば、ステップS26において、ウォータマークの振幅が決定される。決定された振幅の値は、新たな変数WMsへ付与される。
【0049】
図9は、ステップS26の内部フローを示すフローチャートである。この処理は、スケーリング係数SCを処理対象とし、ウォータマークの振幅WMsを出力する。はじめに、ステップS41において、スケーリング係数SCが、1よりもわずかに小さい値(例えば、1/1.1)よりも小さいか否かが判定される。判定の結果が、「Yes」であれば、ステップS42において、仮の変数WMsの値が、
WMs=0.5 ・・・・(数式6)
で与えられる。一方、判定の結果が、「No」であれば、ステップS43において、仮の変数WMsの値が、
WMs=(SC/2)×1.1 ・・・・(数式7)
で与えられる。
【0050】
つぎに、ステップS44において、出力すべき最終的な変数WMsの値が、
WMs=WMs×TB ・・・・(数式8)
で与えられる。数式8の等式は、数学的な等式概念とは異なっており、その等号は、フローチャートの中の数式で用いられる左向き矢印と同義である。
【0051】
数式8で与えられた変数WMsは、後述するステップS29において、埋め込むべきウォータマークの振幅として取り扱われる。すなわち、ステップS26の処理は、スペクトルデータSPCが図5の白丸で示される不連続な値しか取り得ないことを踏まえて、ウォータマークの振幅として、量子化ステップΔ(=SC×TB)の1/2倍よりは幾分大きい値が与えられることを意味している。これによって、量子化にともなってウォータマークWMが消滅するという恐れは解消され、復号正解率の劣化という問題も発生しなくなる。
【0052】
なお、数式7で算出される仮の変数WMsの値が、0.5以下であれば、ウォータマークの埋め込みに由来する画像の歪は、経験上、視覚では捉えられないことが、多数のシミュレーション実験を通じて判明した。このため、仮の変数WMsの値が、本来において0.5以下になるときには、強制的に、0.5の値に固定される(ステップS41,S42)。
【0053】
視覚上、画像の歪が把握されない範囲内で、できるだけウォータマークの振幅を大きくしておくことが、ウォータマークの強度を高める上で、有益であるからである。仮の変数WMsの値が、0.5であることは、最終的に出力される振幅WMsが、
WMs=0.5×TB ・・・・(数式9)
であることと等価である。
【0054】
一般には、
0 <L ≦0.5 ・・・・(数式10)
で与えられる定数Lを設定しておき、数式7で算出される仮の変数WMsの値が、
WMs < L ・・・・(数式11)
となるときには、強制的に、定数Lの値に固定されてもよい。仮の変数WMsの値が、Lであることは、最終的に出力される振幅WMsが、
WMs=L×TB ・・・・(数式12)
であることと等価である。様々な定数L(≦0.5)の値の中で、L=0.5は、ウォータマークの強度が最大となる点で、もっとも望ましい形態であるといえる。
【0055】
さらに一般的には、数式11の条件が成立するときに、仮の変数WMsが、
L≦K≦0.5 ・・・・(数式13)
で与えられる定数Kに設定されてもよい。仮の変数WMsの値が、Kであることは、最終的に出力される振幅WMsが、
WMs=K×TB ・・・・(数式14)
であることと等価である。
【0056】
ステップS44の処理が終了すると、算出された振幅WMsが出力され、ステップS26の処理が完了する。その後、処理は、図6のステップS27へと移行する。
【0057】
ステップS27では、ウォータマークWMを構成する二値データが、"0"と"1"で表現される形式から、"-1"と"1"とで表現される形式へと変換される。さらに、ウォータマークWMが、識別番号INDごとに複製される。つぎに、ステップS28において、ウォータマークWMに乱数PNが乗ぜられる。つづくステップS29では、ウォータマークWMに、ステップS26で算出された振幅WMsが乗ぜられる。これによって、埋め込みの対象とされる最終的なウォータマークWMが得られる。
【0058】
つぎに、ステップS30の処理が、識別番号INDごとに反復的に実行される。ステップS30では、識別番号INDごとに、輝度成分YspへウォータマークWMが重ね合わされ、ウォータマーク埋め込み後の輝度成分Ysp'が得られる。すべての識別番号INDに対して、ウォータマークの埋め込みが行われると、ステップS4は終了し、処理は、ステップS5(図1)へと移行する。なお、ステップS24,S27〜S30の処理は、従来のウォータマーク符号化方法(図10)において周知であるため、これらについての詳細な説明は略する。
【0059】
【発明の効果】
第1の発明の方法では、元画像データが、データ量の小さい圧縮画像の形式で保管されるので、通常において多数種類の元画像データを保管する必要がある配信元において、保管すべき元画像データのデータ量が節減される。すなわち、元画像データの保管のための配信元の負担が軽減される。しかも、ウォータマークの埋め込み対象となり得るスペクトル成分を探索するのに、ランダムな揺らぎがスペクトルデータに付与され、その上で、工程(a),(e)よりも大きめの量子化ステップで量子化がなされ、それによって得られる量子化係数の値がゼロにならないスペクトル成分が探し出される。
【0060】
このため、不可逆な過程である工程(a)と工程(c)で得られる二つのスペクトルデータの間に現れる偏差に由来する画質の劣化が抑制される。また、ウォータマークの埋め込みは、揺らぎが重ね合わされる前のスペクトル成分に対して行われるので、揺らぎの影響は、配信される画像データには残らない。
【0061】
第2の発明の方法では、元画像データが、データ量の小さい圧縮画像の形式で保管されるので、通常において多数種類の元画像データを保管する必要がある配信元において、保管すべき元画像データのデータ量が節減される。すなわち、元画像データの保管のための配信元の負担が軽減される。しかも、重ね合わせられるウォータマークの振幅が、工程(a)および(e)の量子化で用いられる量子化ステップの1/2倍よりも大きい値に設定されるので、埋め込まれたウォータマークが量子化後に消滅するという不都合を、回避することができる。それによって、復号正解率の低下という問題の発生も回避される。
【0062】
第3の発明の方法では、重ね合わせられるウォータマークの振幅が、量子化テーブルの値の定数L(≦1/2)倍を下回らないように設定される。これによって、視覚上、画像の歪が認識されない範囲内で、ウォータマークの強度が高められる。
【0063】
第4の発明の方法では、採取された画像データが、第1ないし第3の発明の方法で符号化された後に配信された画像データの違法コピーであるか否かの判定を行うことができる。
【図面の簡単な説明】
【図1】 実施の形態のウォータマーク符号化方法の流れ図である。
【図2】 実施の形態のウォータマーク復号化方法の流れ図である。
【図3】 図1および図2の手順のタイミングチャートである。
【図4】 復号正解率の低下の第1の要因を説明するグラフである。
【図5】 復号正解率の低下の第2の要因を説明するグラフである。
【図6】 図1のステップS4の内部フローを示す流れ図である。
【図7】 第1の要因が解消される理由を説明するグラフである。
【図8】 図6のステップS23の内部フローを示すグラフである。
【図9】 図6のステップS26の内部フローを示すグラフである。
【図10】 従来のウォータマーク符号化方法の流れ図である。
【図11】 従来のウォータマーク復号化方法の流れ図である。
【図12】 図10および図11の手順のタイミングチャートである。
【符号の説明】
δ 揺らぎ
Δ 量子化ステップ
Q 量子化係数
SPC,SPC' スペクトルデータ
SC スケーリング係数
TB 量子化テーブル
WM ウォータマーク
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a watermark (digital watermark) encoding method and decoding method, and more particularly, to an improvement for reducing the data amount (signal amount) of original image data to be stored.
[0002]
[Prior art]
Watermark technology is technology that prevents secondary use such as illegal copying by embedding copyright and purchaser information in image data, which is data (signal) representing an image, in a form that is not perceived by the user. It is. The distribution source of copyrighted image data stores the image data before embedding the watermark, that is, the original image data, and collects the image data that is suspected of illegal copying from the city. By comparing with the original image data, the watermark is taken out and further decoded into copyright information or the like. The distribution source performs purchaser identification and the like based on the decrypted information.
[0003]
FIG. 10 and FIG. 11 are flowcharts showing processing procedures of a watermark encoding method and a decoding method, respectively, conventionally performed. FIG. 12 is a timing chart showing the transition of the image format in these processes. These processes are executed by a distribution source (or a person authorized by the distribution source).
[0004]
In a conventional watermark encoding method, original image data having an uncompressed original image format is compressed based on an image compression technique such as JPEG. Thereby, the image data is distributed in the form of compressed image data. In this compression process, watermarks are embedded. On the other hand, the original image data described above is stored in the format of the original image.
[0005]
The watermark encoding method will be described with reference to FIG. 10 and FIG. 12. The original image data as the original image is obtained by, for example, spectral data (spatial spectral data) SPC by DCT conversion which is a process of JPEG compression processing. (Step S51). Spectral data includes a number of spectral components as its constituent elements. The watermark embedded with the copyright information and the like is embedded in the spectrum data SPC (step S52). Spectral data SPC is obtained by expanding an original image into a set of spectral components, ie, a set of spatial frequency components, and the DCT transform is a typical example of such expansion.
[0006]
Subsequently, the spectrum data SPC including the watermark is converted into a VLC code (variable length code) through quantization and VLC coding (variable length coding) (step S53). Then, the image data is distributed to the market through a distributor or the like in the VLC code format, that is, the compressed image data format (step S54). The original image data is stored in the distribution source in the original image format (step S55).
[0007]
Next, a conventional watermark decoding method will be described with reference to FIGS. The image data collected in the city may be in the VLC code format or the original image format. Regardless of which format is used, the image data is converted into spectral data SPC ′ (step S61).
[0008]
For example, if the collected image data is in VLC code format, it is converted into spectral data SPC 'through VLC decoding, which is the inverse operation of VLC encoding, and inverse quantization, which is the inverse operation of quantization. The If the collected image data is in the form of an original image, it is converted into spectral data SPC ′ through DCT conversion.
[0009]
Since the spectrum data SPC ′ obtained through step S61 includes a watermark, the value is different from the spectrum data SPC shown in FIG. By calculating the difference between the two, the watermark embedded in the spectrum data SPC ′ is extracted (step S62). Next, the extracted watermark is decrypted (step S63), whereby copyright information and the like are read out.
[0010]
In general, the collected image data may not be the image data immediately after distribution, but may be through various image processes. For this reason, there is a possibility that noise derived from these image processes is mixed in the collected image data. This noise also causes a deviation between the spectrum data SPC in FIG. 10 and the spectrum data SPC ′ in FIG.
[0011]
In order to eliminate the adverse effect of noise in taking out the watermark, in the watermark embedding process (step S52) in FIG. 10, the watermark is repeatedly embedded in one image, and the taking process (step In S62), a method of increasing the S / N ratio by calculating the average of repeated watermarks is employed.
[0012]
Alternatively, an error correction code is included in the watermark in the watermark embedding process (step S52), and the decoding error is detected and corrected in the extraction process (step S62). The method of improving the reliability of is taken. In any method, in step S63, whether or not there is reliability is determined. When it is determined that there is reliability, copyright information and the like are output.
[0013]
[Problems to be solved by the invention]
However, in the conventional method, since the original image data is stored in the format of the original image, the distribution source that normally needs to store a large number of types of original image data has a total data of the original image data to be stored. There was a problem that the amount became large. When the amount of data increases, it is inconvenient in storage and handling, and the necessary cost increases.
[0014]
The present invention has been made to solve the above-described problems in the conventional method, and an object thereof is to provide a watermark encoding method and a decoding method that can reduce the amount of original image data to be stored. And
[0015]
[Means for Solving the Problems]
According to a first aspect of the present invention, there is provided a watermark encoding method for embedding a watermark in original image data, wherein (a) the original image data is not compressed through image compression including conversion into spectral data and quantization. Converting from an image format to a compressed image data format; (b) storing the original image data in the compressed image data format; and (c) inverse quantization as an inverse operation of the quantization. Converting the original image data from the compressed image data format to spectral data through image decompression including: (d) superimposing a watermark on the spectral data obtained in the step (c); (E) converting the spectral data on which the watermark is superimposed in the step (d) into a format of the compressed image data through image compression including the quantization; and (F) and a, a step of delivering the compressed image data obtained by converting in the step (e).
In addition, the step (d) includes (d-1) a step of superimposing random fluctuations on the spectrum data obtained in the step (c), and (d-2) the step (d-1). ) To obtain a quantized coefficient by performing quantization on the spectral data on which random fluctuations are superimposed using a scaling coefficient larger than the scaling coefficient used in the quantization, and (d-3) selecting the embedding target of the watermark from spectral components that constitute the spectral data and give a non-zero value as the quantization coefficient; and (d-4) the step (d- Superimposing the watermark on a value before the fluctuation of the spectral component selected in 3) is superimposed.
[0016]
According to a second aspect of the present invention, there is provided a watermark encoding method for embedding a watermark in original image data, wherein: (a) the original image data is not compressed through image compression including conversion into spectral data and quantization. Converting from an image format to a compressed image data format; (b) storing the original image data in the compressed image data format; and (c) inverse quantization as an inverse operation of the quantization. Converting the original image data from the compressed image data format to spectral data through image decompression including: (d) superimposing a watermark on the spectral data obtained in the step (c); (E) converting the spectral data on which the watermark is superimposed in the step (d) into a format of the compressed image data through image compression including the quantization; and (F) and a, a step of delivering the compressed image data obtained by converting in the step (e).
Moreover, the step (d) includes the step (d-1) of setting the amplitude of the watermark to be superimposed to a value larger than ½ times the quantization step used in the quantization. Yes.
[0017]
According to a third aspect of the present invention, in the watermark encoding method of the second aspect, the step (d) is based on (d-2) a predetermined constant L (≦ 1/2) set in advance. When the amplitude set in the step (d-1) is smaller than L times the value of the quantization table, the amplitude is set to a predetermined constant K (L ≦ K ≦ 1/2) of the value of the quantization table. And a step of setting to a double value.
[0018]
According to a fourth aspect of the present invention, there is provided a watermark decoding method for extracting a watermark from collected image data, wherein the watermark is stored in step (b) of any one of the first to third watermark encoding methods. For the original image data, the step of obtaining spectral data by executing the same step as the step (c), (B) the step of converting the collected image data into spectral data, C) calculating the difference between the two spectral data obtained in the steps (A) and (B), and extracting the watermark from the spectral data obtained in the step (B). I have.
[0019]
DETAILED DESCRIPTION OF THE INVENTION
<1. Outline procedure of encoding method and decoding method>
In order to save the data amount of the original image data to be stored, in the preferred embodiment of the present invention, the original image data is stored not in the original image format but in the VLC code format, that is, the compressed image data format. Is done. FIG. 1 and FIG. 2 are flowcharts showing the processing procedures of the watermark encoding method and decoding method of this embodiment, respectively. FIG. 3 is a timing chart showing the transition of the image format associated with these processes. These processes are executed by a distribution source (or a person authorized by the distribution source). 1 to 3 are respectively compared with FIGS. 10 to 12 showing the conventional method.
[0020]
The watermark coding method according to the embodiment will be described with reference to FIGS. 1 and 3. Original image data as an original image is compressed based on, for example, JPEG, and converted into VLC code, that is, compressed image data. Conversion is performed (step S1). The original image data is stored in this VLC code format (step S2). That is, the original image data is stored in an image format with a small data amount. As a result, the data amount of the original image data to be stored is reduced, and the problems in the conventional watermark encoding method are alleviated or eliminated.
[0021]
In order to embed a watermark in original image data, first, VLC decoding and inverse quantization are performed on the original image data having the VLC code format, and the image is expanded to spectral data SPC through them. (Step S3). Next, a watermark including the encoded copyright information and the like is embedded in the spectrum data SPC (step S4).
[0022]
Subsequently, the spectrum data SPC including the watermark is converted into a VLC code through quantization and VLC encoding (step S5). Then, the image data is distributed to the market through a distributor or the like in the VLC code format, that is, the compressed image data format (step S6).
[0023]
Next, a watermark decoding method corresponding to the method of FIG. 10 will be described with reference to FIGS. The image data collected in the city may be in the VLC code format or the original image format, as in the past. Regardless of which format is used, the image data is converted into spectral data SPC ′ (step S11).
[0024]
Next, VLC decoding and inverse quantization are performed on the original image data in the VLC code format, and spectral data SPC is obtained through them (step S12). This process is performed in the same way as the process in step S3. Since the spectrum data SPC ′ obtained through step S11 includes a watermark, the value is different from the spectrum data SPC obtained in step S12.
[0025]
By calculating the difference between the two, the watermark embedded in the spectrum data SPC ′ is extracted (step S13). Next, the extracted watermark is decrypted (step S14), whereby copyright information and the like are read out. Steps S11, S13, and S14 are performed in the same manner as the conventional steps S61, S62, and S63 (FIG. 11), respectively. For this reason, detailed description of these processes is omitted.
[0026]
<2. Problems to be improved in encoding method>
By the above method, the problem that occurs in practical use that the amount of original image data to be stored is excessive is alleviated or eliminated. However, if the process of embedding the watermark (step S4) is executed in the same form as the conventional step S52 (FIG. 10), the new image quality will be remarkably deteriorated or the decoding accuracy rate will be deteriorated. Problems arise. Here, this problem will be described.
[0027]
The cause of the problem that the image quality deteriorates is in the process of determining the position where the watermark is to be embedded in the image of one screen, and the cause of the problem that the decoding accuracy rate decreases is the watermark to be embedded Exists in the process of determining the amplitude of. Both processes are included in the process of step S4.
[0028]
When compression processing such as JPEG is performed on image data, processing such as DCT conversion, quantization, and VLC code is performed in units of blocks obtained by dividing one screen. The same applies to the reverse operation. Each block is composed of 8 × 8 pixels or 16 × 16 pixels, for example.
[0029]
Among the plurality of blocks, a specific block (generally a plurality) satisfying a certain condition is selected as a position for embedding the watermark, and a specific spectral component in the selected block is selected. The spectral component is a component of the spectral data, and the spectral data is composed of a set of spectral components. As described above, the selected “position for embedding the watermark” includes both a spatial position on the screen and a position in the spectrum.
[0030]
More specifically, for example, four AC components having the lowest spatial frequency (AC low frequency four components) are selected as specific spectral components. Among various spectral components, the low-frequency component has the greatest effect on image quality, so it is difficult to remove watermarks without degrading image quality by image processing such as filtering. is there. That is, this is to increase the strength (difficulty of removal) of the watermark.
[0031]
As the specific block, for example, a block in which the amplitude of each of the above four AC low frequency components is somewhat large and the high frequency component is somewhat large is selected. The condition that the amplitude of the AC4 component is large is set in order to prevent disappearance of the watermark due to quantization after embedding the watermark and to make the watermark difficult to stand out visually. The condition that the high frequency component is large to some extent is to make the watermark more inconspicuous.
[0032]
These conditions per se relating to a specific block and a specific spectral component selected as a position to embed a watermark are well known in the art. Among these three conditions, the condition that the amplitude of the AC4 component is large is more specifically the quantization coefficient obtained when provisional quantization is performed using a larger scaling coefficient SC. Judgment is made by substituting the condition that Q is not zero. “Large” means that it is somewhat larger (for example, by 1) than the scaling factor SC used in the quantization process performed to finally obtain the VLC code.
[0033]
The scaling factor SC is one of the factors that define the quantization step. Image compression algorithms such as JPEG are common to all blocks, but all values belonging to one block are added to the values of the quantization table TB prepared by the algorithm itself so that each spectral component has a separate value. Is multiplied by a scaling factor SC that is common to the spectral components of ## EQU1 ## to give a quantization step [Delta] corresponding to the quantization width (roughness). That is,
Δ = SC × TB ・ ・ ・ ・ (Formula 1)
Given in. The size of the scaling coefficient SC is appropriately set to an appropriate value according to the data amount of the VLC code obtained by compression.
[0034]
As described above, it is determined whether or not the value of the quantization coefficient Q of the AC low frequency 4-component is zero by performing quantization using the scaling coefficient SC that is set to be larger. At this time, the spectrum data SPC to be embedded with the watermark is not obtained by directly converting from the original image, as shown in FIG. 3, but is converted into the VLC code and the subsequent inverse conversion. It was obtained through
[0035]
That is, the spectrum data SPC to be embedded with the watermark is obtained through image compression and image expansion along the path A indicated by the dotted line in FIG. The quantization process is an irreversible process, and even if the quantization and the subsequent inverse quantization are executed using the same quantization step Δ, the spectrum data SPC is the same as the spectrum data SPC before the quantization. It is not played back the same. That is, route A is irreversible.
[0036]
Therefore, for example, when the spectral data SPC obtained by performing the quantization and the inverse quantization along the path A using the scaling coefficient SC = 1 is quantized with the scaling coefficient SC = 2, The relationship between the spectral component and its quantization coefficient Q is drawn with a dotted line in the graph of FIG. In FIG. 4, the horizontal axis X represents the value of the spectral component. The graph of FIG. 4 shows the spectrum when quantization is performed with the scaling factors SC = 1 and SC = 2 on the spectral data SPC obtained directly from the original image without passing through the path A. The relationship between the component X and the quantization coefficient Q is also shown at the same time.
[0037]
As shown in FIG. 4, the quantization coefficient obtained by quantization with the scaling coefficient SC = 2 between the spectrum data SPC once quantized with the scaling coefficient SC = 1 and the spectrum data SPC that is not. Deviations appear in the value of Q. This means that a deviation appears at a position where the watermark is to be embedded between the two spectral data SPC. This deviation causes a problem that the distortion of the image due to the watermark is visually noticeable.
[0038]
The cause of the problem that the accuracy rate decreases is explained by FIG. Since the spectral data SPC to be embedded in the watermark has already undergone the processes of quantization and inverse quantization, each spectral component X is an integer of the quantization step Δ as shown by the white circles in FIG. Can only take double value. After the watermark is embedded, quantization is performed using a quantization step Δ having the same size. Therefore, if the amplitude of the watermark is not properly selected, the watermark will be The mark will not remain. This causes a problem of deterioration of the decoding accuracy rate.
[0039]
In addition, the broken line in FIG. 5 has shown the relationship between the spectrum component X and the quantization coefficient Q which have not passed through the quantization. In the watermark encoding method of the embodiment, as described below, a watermark embedding process (step S4) is executed so as to solve these problems.
[0040]
<3. Watermark embedding process>
FIG. 6 is a flowchart showing an internal flow of the process of embedding a watermark (step S4). In this processing, the luminance component Ysp, the scaling coefficient SC, the watermark WM, and the random number PN of the spectrum data SPC are supplied as processing targets. The luminance component Ysp is one of three elements included in each spectral component that constitutes the spectral data SPC. As the random number PN, a value of +1 or −1 (in other words, a positive or negative sign) is randomly supplied. In the following flowchart, a left-pointing arrow included in a mathematical expression drawn in each step represents that a value on the right side is substituted into a variable on the left side.
[0041]
When the process is started, in step S21, a minute numerical value having a random number PN as a code is assigned to the variable δ. For example,
δ = PN × 10 -3 ... (Formula 2)
Defines the variable δ. And as a new variable Ytm
Ytm = Ysp + δ ・ ・ ・ ・ (Formula 3)
Is defined. That is, a fluctuation corresponding to the variable δ is added to the luminance component Ysp, and the variable Ytm is introduced to make this a temporary luminance component.
[0042]
Next, the processes of steps S22 to S26 are repeatedly executed for each block. In step S22, the variable Ytm corresponding to the luminance component Ysp including the fluctuation δ is quantized, and further inverse quantized. That is, the quantization coefficient Q is
Q = round (Ytm / (TB x 2)) (Equation 4)
Calculated based on Then, for this quantization coefficient Q,
Qsp = Q x (TB x 2) ... (Formula 5)
Based on this, inverse quantization is performed to obtain spectral data Qsp as an inverse quantization coefficient.
[0043]
Here, as an example, it is assumed that the scaling coefficient SC used in the quantization performed in steps S1 and S5 in FIG. 1 is SC = 1. For this reason, in Equations (4) and (5), the scaling coefficient SC is set to “2” which is one step larger than “1”. Two variables Q and Qsp obtained by the equations (4) and (5) are used for the determination in the next step S23.
[0044]
The quantization coefficient Q obtained by Expression (4) is a value calculated not based on the luminance component Ysp itself but based on the variable Ytm on which fluctuation (noise) δ is superimposed. Therefore, the relationship between the luminance component Ysp and the quantization coefficient Q is distributed in two ways according to the direction of fluctuation, that is, the sign of the variable δ, as shown in FIG. At the center of dispersion, a relationship (indicated by a one-dot chain line) between the luminance component Ysp obtained by direct conversion from the original image and its quantization coefficient Q without being quantized is located.
[0045]
Therefore, the quantization coefficient Q of the variable Ytm including random fluctuations (random noise) coincides on the average with the quantization coefficient Q of the luminance component Ysp that has not been quantized. For this reason, the above-described problem of image quality degradation is solved.
[0046]
In step S23, the watermark embedding position is determined. An identification number IND is assigned to each determined position. The internal flow of step S23 is represented by the flowchart of FIG. In step S23, the quantization coefficient Q and the spectrum data Qsp are processed, and the identification number IND is output. That is, in step S31, the following three conditions are set as specific spectral components of the specific block to which the identification number IND should be assigned:
Spectral components belong to 4 AC low frequency components (Condition 1)
The quantization factor Q is not zero (Condition 2)
The sum of the absolute values of the AC components of the spectrum data Qsp is a certain number (for example, 200) or more (Condition 3).
[0047]
These conditions specifically express the conditions regarding the specific block and the specific spectrum component described above. When the process of step S31 ends, the selected identification number IND is output, and the process of step S23 is completed. Thereafter, the process proceeds to step S24 in FIG.
[0048]
In step S24, it is determined whether or not the identification number IND has reached a sufficient number for embedding the watermark WM. More specifically, it is determined whether or not two or more bits constituting the watermark are included. If the result of the determination is “No”, a message to that effect is output in step S25. Thereafter, the process may be terminated or continued. If the determination result is “Yes”, the amplitude of the watermark is determined in step S26. The determined amplitude value is assigned to a new variable WMs.
[0049]
FIG. 9 is a flowchart showing the internal flow of step S26. In this process, the scaling factor SC is processed, and the watermark amplitude WMs is output. First, in step S41, it is determined whether or not the scaling coefficient SC is smaller than a value slightly smaller than 1 (for example, 1 / 1.1). If the result of the determination is “Yes”, the value of the temporary variable WMs is
WMs = 0.5 (Equation 6)
Given in. On the other hand, if the result of the determination is “No”, the value of the temporary variable WMs is
WMs = (SC / 2) x 1.1 (Equation 7)
Given in.
[0050]
In step S44, the final variable WMs to be output is
WMs = WMs × TB ・ ・ ・ ・ (Formula 8)
Given in. The equation of Equation 8 is different from the mathematical equation concept, and the equal sign is synonymous with the left-pointing arrow used in the equations in the flowchart.
[0051]
The variable WMs given by Equation 8 is handled as the amplitude of the watermark to be embedded in step S29 described later. That is, the process of step S26 is based on the fact that the spectrum data SPC can take only discontinuous values indicated by white circles in FIG. It means that a value somewhat larger than twice is given. Thus, the fear that the watermark WM disappears due to quantization is eliminated, and the problem of deterioration of the decoding accuracy rate does not occur.
[0052]
It should be noted that if the value of the temporary variable WMs calculated by Equation 7 is 0.5 or less, the distortion of the image resulting from the embedding of the watermark cannot be visually perceived by experience through many simulation experiments. found. For this reason, when the value of the temporary variable WMs is originally 0.5 or less, it is forcibly fixed to a value of 0.5 (steps S41 and S42).
[0053]
This is because increasing the amplitude of the watermark as much as possible within the range where the distortion of the image cannot be grasped visually is beneficial in increasing the strength of the watermark. If the value of the temporary variable WMs is 0.5, the final output amplitude WMs is
WMs = 0.5 x TB (Equation 9)
Is equivalent to
[0054]
In general,
0 <L ≤ 0.5 (Equation 10)
Is set to a constant L, and the value of the temporary variable WMs calculated by Equation 7 is
WMs <L (Equation 11)
May be fixed to the value of the constant L forcibly. If the value of the temporary variable WMs is L, the final output amplitude WMs is
WMs = L × TB ・ ・ ・ ・ (Formula 12)
Is equivalent to Among the values of various constants L (≦ 0.5), L = 0.5 is the most desirable form in that the strength of the watermark is maximized.
[0055]
More generally, when the condition of Equation 11 is satisfied, the temporary variable WMs is
L ≦ K ≦ 0.5 ・ ・ ・ ・ (Formula 13)
May be set to a constant K given by. If the value of the temporary variable WMs is K, the final output amplitude WMs is
WMs = K × TB ・ ・ ・ ・ (Formula 14)
Is equivalent to
[0056]
When the process of step S44 ends, the calculated amplitude WMs is output, and the process of step S26 is completed. Thereafter, the process proceeds to step S27 in FIG.
[0057]
In step S27, the binary data constituting the watermark WM is converted from a format expressed by "0" and "1" to a format expressed by "-1" and "1". Furthermore, the watermark WM is duplicated for each identification number IND. Next, in step S28, the watermark WM is multiplied by a random number PN. In subsequent step S29, the watermark WM is multiplied by the amplitude WMs calculated in step S26. As a result, a final watermark WM to be embedded is obtained.
[0058]
Next, the process of step S30 is repeatedly executed for each identification number IND. In step S30, the watermark WM is superimposed on the luminance component Ysp for each identification number IND, and the luminance component Ysp ′ after watermark embedding is obtained. When the watermark is embedded for all the identification numbers IND, step S4 ends, and the process proceeds to step S5 (FIG. 1). In addition, since the process of step S24, S27-S30 is well-known in the conventional watermark encoding method (FIG. 10), detailed description about these is abbreviate | omitted.
[0059]
【The invention's effect】
In the method of the first invention, since the original image data is stored in the form of a compressed image with a small data amount, the original image to be stored in a distribution source that normally needs to store many types of original image data. The amount of data is saved. That is, the burden on the distribution source for storing the original image data is reduced. Moreover, in order to search for spectral components that can be embedded in the watermark, random fluctuations are added to the spectral data, and then quantization is performed in a larger quantization step than steps (a) and (e). Spectral components in which the quantization coefficient value obtained thereby is not zero are searched for.
[0060]
For this reason, the deterioration of the image quality due to the deviation appearing between the two spectral data obtained in the steps (a) and (c), which is an irreversible process, is suppressed. In addition, since the watermark is embedded in the spectrum component before the fluctuation is superimposed, the influence of the fluctuation does not remain in the distributed image data.
[0061]
In the method of the second invention, since the original image data is stored in the form of a compressed image with a small data amount, the original image to be stored in a distribution source that normally needs to store a large number of types of original image data. The amount of data is saved. That is, the burden on the distribution source for storing the original image data is reduced. In addition, since the amplitude of the watermark to be superimposed is set to a value larger than ½ times the quantization step used in the quantization of steps (a) and (e), the embedded watermark is quantized. The inconvenience of disappearing after conversion can be avoided. As a result, the problem of a decrease in the decoding accuracy rate is also avoided.
[0062]
In the method of the third invention, the amplitude of the watermark to be overlaid is set so as not to fall below a constant L (≦ 1/2) times the value of the quantization table. This increases the strength of the watermark within a range where the distortion of the image is not recognized visually.
[0063]
In the method of the fourth invention, it can be determined whether or not the collected image data is an illegal copy of the image data distributed after being encoded by the method of the first to third inventions. .
[Brief description of the drawings]
FIG. 1 is a flowchart of a watermark encoding method according to an embodiment.
FIG. 2 is a flowchart of a watermark decoding method according to the embodiment.
FIG. 3 is a timing chart of the procedure of FIGS. 1 and 2;
FIG. 4 is a graph for explaining a first factor of a decrease in the decoding accuracy rate.
FIG. 5 is a graph for explaining a second factor of a decrease in the decoding accuracy rate.
6 is a flowchart showing an internal flow of step S4 in FIG.
FIG. 7 is a graph for explaining the reason why the first factor is eliminated.
FIG. 8 is a graph showing an internal flow of step S23 of FIG.
FIG. 9 is a graph showing an internal flow of step S26 of FIG.
FIG. 10 is a flowchart of a conventional watermark encoding method.
FIG. 11 is a flowchart of a conventional watermark decoding method.
12 is a timing chart of the procedures of FIGS. 10 and 11. FIG.
[Explanation of symbols]
δ Fluctuation
Δ Quantization step
Q Quantization coefficient
SPC, SPC 'spectrum data
SC scaling factor
TB quantization table
WM watermark

Claims (4)

元画像データにウォータマークを埋め込むウォータマーク符号化方法において、
(a) 前記元画像データを、スペクトルデータへの変換と量子化とを含む画像圧縮を通じて、圧縮されない原画像の形式から圧縮画像データの形式へと変換する工程と、
(b) 前記圧縮画像データの形式で前記元画像データを保管する工程と、
(c) 前記量子化の逆演算としての逆量子化を含む画像伸張を通じて、前記元画像データを、前記圧縮画像データの形式からスペクトルデータへと変換する工程と、
(d) 前記工程(c)で得られたスペクトルデータにウォータマークを重ね合わせる工程と、
(e) 前記工程(d)でウォータマークが重ね合わされた前記スペクトルデータを、前記量子化を含む画像圧縮を通じて、前記圧縮画像データの形式へと変換する工程と、
(f) 前記工程(e)で変換して得られた前記圧縮画像データを配信する工程と、を備え、
前記工程(d)が、
(d-1) 前記工程(c)で得られた前記スペクトルデータに、符号がランダムな揺らぎを重ね合わせる工程と、
(d-2) 前記工程(d-1)でランダムな揺らぎが重ね合わされた前記スペクトルデータに対して、前記量子化で用いられるスケーリング係数よりも値の大きいスケーリング係数を用いて、量子化を行うことによって、量子化係数を得る工程と、
(d-3) 前記スペクトルデータを構成し、前記量子化係数としてゼロでない値を与えるスペクトル成分の中から、前記ウォータマークの埋め込み対象を選択する工程と、
(d-4) 前記工程(d-3)で選択された前記スペクトル成分の前記揺らぎが重ね合わせられる以前の値に、前記ウォータマークを重ね合わせる工程と、
を備えるウォータマーク符号化方法。
In a watermark encoding method for embedding a watermark in original image data,
(a) converting the original image data from an uncompressed original image format into a compressed image data format through image compression including conversion to spectral data and quantization;
(b) storing the original image data in the compressed image data format;
(c) converting the original image data from the format of the compressed image data to spectral data through image expansion including inverse quantization as an inverse operation of the quantization;
(d) superimposing a watermark on the spectral data obtained in step (c);
(e) converting the spectral data with the watermark superimposed in the step (d) into a format of the compressed image data through image compression including the quantization;
(f) delivering the compressed image data obtained by converting in the step (e),
Step (d)
(d-1) superimposing random fluctuations of the code on the spectrum data obtained in the step (c);
(d-2) Quantize the spectral data on which random fluctuations are superimposed in the step (d-1), using a scaling coefficient that is larger than the scaling coefficient used in the quantization. To obtain a quantization coefficient,
(d-3) configuring the spectral data, and selecting a watermark embedding target from among spectral components that give a non-zero value as the quantization coefficient;
(d-4) superimposing the watermark on a value before the fluctuation of the spectral component selected in the step (d-3) is superimposed;
A watermark encoding method comprising:
元画像データにウォータマークを埋め込むウォータマーク符号化方法において、
(a) 前記元画像データを、スペクトルデータへの変換と量子化とを含む画像圧縮を通じて、圧縮されない原画像の形式から圧縮画像データの形式へと変換する工程と、
(b) 前記圧縮画像データの形式で前記元画像データを保管する工程と、
(c) 前記量子化の逆演算としての逆量子化を含む画像伸張を通じて、前記元画像データを、前記圧縮画像データの形式からスペクトルデータへと変換する工程と、
(d) 前記工程(c)で得られたスペクトルデータにウォータマークを重ね合わせる工程と、
(e) 前記工程(d)でウォータマークが重ね合わされた前記スペクトルデータを、前記量子化を含む画像圧縮を通じて、前記圧縮画像データの形式へと変換する工程と、
(f) 前記工程(e)で変換して得られた前記圧縮画像データを配信する工程と、を備え、
前記工程(d)が、
(d-1) 重ね合わせるべき前記ウォータマークの振幅を、前記量子化で用いられる量子化ステップの1/2倍よりも大きい値に設定する工程、を備えるウォータマーク符号化方法。
In a watermark encoding method for embedding a watermark in original image data,
(a) converting the original image data from an uncompressed original image format into a compressed image data format through image compression including conversion to spectral data and quantization;
(b) storing the original image data in the compressed image data format;
(c) converting the original image data from the format of the compressed image data to spectral data through image expansion including inverse quantization as an inverse operation of the quantization;
(d) superimposing a watermark on the spectral data obtained in step (c);
(e) converting the spectral data with the watermark superimposed in the step (d) into a format of the compressed image data through image compression including the quantization;
(f) delivering the compressed image data obtained by converting in the step (e),
Step (d)
(d-1) A watermark encoding method comprising: setting the amplitude of the watermark to be superimposed to a value larger than ½ times the quantization step used in the quantization.
請求項2に記載のウォータマーク符号化方法において、
前記工程(d)が、
(d-2) あらかじめ設定された所定の定数L(≦1/2)に対して、前記工程(d-1)において設定される前記振幅が、量子化テーブルの値のL倍よりも小さいときには、前記振幅を、量子化テーブルの値の所定の定数K(L≦K≦1/2)倍の値に設定する工程、をさらに備えるウォータマーク符号化方法。
The watermark encoding method according to claim 2,
Step (d)
(d-2) When the amplitude set in the step (d-1) is smaller than L times the value of the quantization table with respect to a predetermined constant L (≦ 1/2) set in advance And a step of setting the amplitude to a value that is a predetermined constant K (L ≦ K ≦ 1/2) times the value of the quantization table.
採取された画像データからウォータマークを取り出すウォータマーク復号化方法において、
(A) 請求項1ないし請求項3のいずれかのウォータマーク符号化方法の工程(b)によって保管された元画像データに対して、前記工程(c)と同一の工程を実行することにより、スペクトルデータを得る工程と、
(B) 採取された前記画像データを、スペクトルデータへ変換する工程と、
(C) 前記工程(A)および(B)で得られた二つのスペクトルデータの差分を演算することによって、前記ウォータマークを、前記工程(B)で得られた前記スペクトルデータから取り出す工程と、を備えるウォータマーク復号化方法。
In the watermark decoding method for extracting the watermark from the collected image data,
(A) By executing the same step as the step (c) on the original image data stored by the step (b) of the watermark encoding method according to any one of claims 1 to 3, Obtaining spectral data;
(B) converting the collected image data into spectral data;
(C) calculating the difference between the two spectral data obtained in the steps (A) and (B), and extracting the watermark from the spectral data obtained in the step (B); A watermark decoding method comprising:
JP23527498A 1998-08-21 1998-08-21 Watermark encoding method and decoding method Expired - Fee Related JP3722995B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23527498A JP3722995B2 (en) 1998-08-21 1998-08-21 Watermark encoding method and decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23527498A JP3722995B2 (en) 1998-08-21 1998-08-21 Watermark encoding method and decoding method

Publications (2)

Publication Number Publication Date
JP2000069273A JP2000069273A (en) 2000-03-03
JP3722995B2 true JP3722995B2 (en) 2005-11-30

Family

ID=16983681

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23527498A Expired - Fee Related JP3722995B2 (en) 1998-08-21 1998-08-21 Watermark encoding method and decoding method

Country Status (1)

Country Link
JP (1) JP3722995B2 (en)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7644282B2 (en) 1998-05-28 2010-01-05 Verance Corporation Pre-processed information embedding system
US6737957B1 (en) 2000-02-16 2004-05-18 Verance Corporation Remote control signaling using audio watermarks
EP2442566A3 (en) 2002-10-15 2012-08-08 Verance Corporation Media Monitoring, Management and Information System
US7369677B2 (en) 2005-04-26 2008-05-06 Verance Corporation System reactions to the detection of embedded watermarks in a digital host content
US20060239501A1 (en) 2005-04-26 2006-10-26 Verance Corporation Security enhancements of digital watermarks for multi-media content
US7616776B2 (en) 2005-04-26 2009-11-10 Verance Corproation Methods and apparatus for enhancing the robustness of watermark extraction from digital host content
JP5165555B2 (en) * 2005-04-26 2013-03-21 ベランス・コーポレイション Enhanced security of digital watermark for multimedia contents
US8020004B2 (en) 2005-07-01 2011-09-13 Verance Corporation Forensic marking using a common customization function
US8781967B2 (en) 2005-07-07 2014-07-15 Verance Corporation Watermarking in an encrypted domain
US8259938B2 (en) 2008-06-24 2012-09-04 Verance Corporation Efficient and secure forensic marking in compressed
US9607131B2 (en) 2010-09-16 2017-03-28 Verance Corporation Secure and efficient content screening in a networked environment
US8615104B2 (en) 2011-11-03 2013-12-24 Verance Corporation Watermark extraction based on tentative watermarks
US8923548B2 (en) 2011-11-03 2014-12-30 Verance Corporation Extraction of embedded watermarks from a host content using a plurality of tentative watermarks
US8533481B2 (en) 2011-11-03 2013-09-10 Verance Corporation Extraction of embedded watermarks from a host content based on extrapolation techniques
US8682026B2 (en) 2011-11-03 2014-03-25 Verance Corporation Efficient extraction of embedded watermarks in the presence of host content distortions
US8745403B2 (en) 2011-11-23 2014-06-03 Verance Corporation Enhanced content management based on watermark extraction records
US9547753B2 (en) 2011-12-13 2017-01-17 Verance Corporation Coordinated watermarking
US9323902B2 (en) 2011-12-13 2016-04-26 Verance Corporation Conditional access using embedded watermarks
US9571606B2 (en) 2012-08-31 2017-02-14 Verance Corporation Social media viewing system
US20140075469A1 (en) 2012-09-13 2014-03-13 Verance Corporation Content distribution including advertisements
US8726304B2 (en) 2012-09-13 2014-05-13 Verance Corporation Time varying evaluation of multimedia content
US8869222B2 (en) 2012-09-13 2014-10-21 Verance Corporation Second screen content
US9262794B2 (en) 2013-03-14 2016-02-16 Verance Corporation Transactional video marking system
US9251549B2 (en) 2013-07-23 2016-02-02 Verance Corporation Watermark extractor enhancements based on payload ranking
US9208334B2 (en) 2013-10-25 2015-12-08 Verance Corporation Content management using multiple abstraction layers
CN106170988A (en) 2014-03-13 2016-11-30 凡瑞斯公司 The interactive content using embedded code obtains

Also Published As

Publication number Publication date
JP2000069273A (en) 2000-03-03

Similar Documents

Publication Publication Date Title
JP3722995B2 (en) Watermark encoding method and decoding method
CA2225867C (en) Identification data insertion and detection system for digital data
US6879703B2 (en) Method and apparatus for watermarking images
US6788821B2 (en) Digital information embedding/extracting apparatus and method, and medium including a program for executing the method recorded thereon
Fridrich et al. Invertible authentication watermark for JPEG images
Tian High capacity reversible data embedding and content authentication
JP4484409B2 (en) Watermark addition method and program, watermark removal method and program, watermark addition device and program, watermark removal device, camera / recorder, and system
JP2003283803A (en) Method for embedding watermark, transmission method, and reconstructing method and its device
EP1570677A1 (en) Watermarking of a variable bit-rate signal
US6665420B1 (en) Message authentication code with improved error tolerance
US20050123167A1 (en) Method and system for watermarking an electronically depicted image
JP2002152726A (en) Data inserting device and its method
JP2004531989A (en) Method and system for embedding a watermark in an electronically rendered image
CA2312138C (en) System and method for inserting information in dct coefficient domain
JP3875801B2 (en) Watermark decryption method
US7583850B2 (en) Image-processing apparatus and method
JP4642509B2 (en) Apparatus for embedding confidential information in compressed image data and apparatus for encoding confidential data
JP3566924B2 (en) Digital watermark embedding method, detection method, digital watermark embedding device, detection device, recording medium recording digital watermark embedding program, and recording medium recording detection program
JP2007221387A (en) Data inserting device and method, and image compressing coding device and method
JP4020302B2 (en) Information embedding device and information extracting device
CN113676616A (en) Image reversible information hiding method and system based on DCT coefficient correlation
JP2004153786A (en) Electronic watermark embedding apparatus, electronic watermark detecting apparatus, methods thereof and recording medium
JPH10294942A (en) Image data encoding device
JPH10136359A (en) Orthogonal transformation encoder
JP2004159006A (en) Image coder and image decoder, and image coding method and image decoding method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040812

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050105

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050913

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050914

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090922

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090922

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100922

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110922

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120922

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120922

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120922

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150922

Year of fee payment: 10

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees