JP3570236B2 - Image processing method and storage medium storing the program - Google Patents

Image processing method and storage medium storing the program Download PDF

Info

Publication number
JP3570236B2
JP3570236B2 JP24931298A JP24931298A JP3570236B2 JP 3570236 B2 JP3570236 B2 JP 3570236B2 JP 24931298 A JP24931298 A JP 24931298A JP 24931298 A JP24931298 A JP 24931298A JP 3570236 B2 JP3570236 B2 JP 3570236B2
Authority
JP
Japan
Prior art keywords
value
pixel
image processing
information
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
JP24931298A
Other languages
Japanese (ja)
Other versions
JP2000004350A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP24931298A priority Critical patent/JP3570236B2/en
Publication of JP2000004350A publication Critical patent/JP2000004350A/en
Application granted granted Critical
Publication of JP3570236B2 publication Critical patent/JP3570236B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は任意の情報を、コンテンツに埋め込むに際して、特にそのコンテンツを劣化させない情報埋め込み方法に係わる。
【0002】
【従来の技術】
コンテンツへの情報埋込み技術は画像、音声、テキスト、図面など様々なコンテンツ(すなわち、ディジタル化されたデータ)について開発されているが、ここでは、代表例として、画像への情報埋込みを取り上げる。一般に、画像への情報埋込みは、たとえば、IBM System Journal, 35巻、3&4号、313〜336頁、1996年に記されているように画素の輝度などの値に微かな変更を加えることにより、情報を埋め込むものである。
【0003】
この値変更に関して、実用面から以下の要求がある。
【0004】
(1)値を変更が人間の視覚では検知できない。(あるいは、検知できたとしても人間の画像参照の妨害にならない)
(2)情報を埋め込んだ画像にJPEG圧縮等の処理を施しても、埋め込んだ情報が消失しない。
【0005】
従来の情報埋込み技術では、上記文献に述べられているように、この要求を満たすために、変更の対象となる値の種類に関して工夫していた。すなわち、変更が目立ちにくく、かつ、消失しにくいよう値に対して変更を加えていた。例えば、画像を周波数表現し、その中域成分の係数に対して変更を加えていた。
【0006】
【発明が解決しようとする課題】
画像の値の変更と視覚上の変化の関係は、画像毎さらには画像中の領域によって異なる。例えば、平坦な領域ではわずかな値変更でも目立つ一方、森林写真のような雑然とした領域では大きな値の変更でも目立たない。
【0007】
ところが、上記従来の技術では、画像の性質に依存して値変更の大きさを最適化するという点については不充分であった。そのため、視覚的変化の防止を優先する場合には、平坦な画像の場合を想定して値変更を小さくする必要があり、画像処理への耐性が小さかった。一方、画像処理への耐性を優先する場合には、値変更を大きくする必要があり、平坦な画像において視覚的変化が生じていた。すなわち、従来方式では、視覚的変化の防止と画像処理への耐性を両立することが困難であった。
【0008】
本発明の目的は、コンテンツへの情報埋込みにおいて、視覚的変化の防止と画像処理への耐性の両立を可能とする方法、それを実現するプログラム、あるいはその方法やプログラムを実行する装置を提供することである。
【0009】
【課題を解決するための手段】
医用画像処理の分野では、X線やMRIを用いて撮影した人体の写真に対して、医師の診断を容易にするためのフィルターが研究されている。最も進んだ医用フィルターでは、電子情報通信学会論文誌、D−2、第J79−D−2巻、第8号、1347頁から1353頁に示されるように、以下の性質を持つ。
【0010】
(1)平滑化処理により、ノイズを除去する。
(2)人間の視覚にとって重要なエッジ情報、すなわち物体の輪郭や面の性質の変化する部分、および色や明るさが周囲に比べて特に違う点(孤立点)については、形状を保存する。
見方を変えると、上記医用フィルターは、以下の性質を持つと考えることができる。
(1)画像の値は変化する。
(2)画像は視覚的に変化しない。あるいは変化したとしても人間の参照の妨げにはならない。
【0011】
上記の医用フィルターの性質を利用して、上記の課題を解決することを着想した。すなわち、上記の課題は、コンテンツを入力する手段と、コンテンツに情報を埋め込む手段を有する情報処理システムにおいて、上記の医用フィルターを用いて、人間には知覚できない、あるいは、人間のコンテンツ参照の妨害にならないコンテンツの値変更を行い、変更前の値と変更後の値の間を情報埋込みにおける値の変更可能範囲とし、この変更可能範囲内でコンテンツの値を変更することにより情報を埋め込むことで解決できる。
【0012】
【発明の実施の形態】
以下、図1、2を用いて、本発明の第1の実施例を説明する。この実施例では、静止画と対象とし、画素の輝度を変更することで情報を埋め込むものとする。
【0013】
図1は、本発明の機能構成図である。矩形で示した要素すなわち入出力101、変更可能範囲算出103、情報埋込み105は処理であり、計算機のCPUで実現される。楕円で示した要素すなわち画像102、変更可能範囲104、透かし入り画像106はデータであり、計算機の記憶装置で実現される。
なお、以下では、情報を、人間が検知できない何らかのパターンに対応づけたものを透かしと呼び、情報が埋め込まれた画像を透かし入り画像という。
【0014】
入出力処理101は、画像を入力し、これを記憶装置に格納する。変更可能範囲算出処理103は、まず、前述の医用フィルターあるいはそれと同様の画像処理を画像データ102に適用する。その結果、画像データ102と輝度が異なり、視覚的には変わらない画像を得る。次に、変更可能範囲算出処理103は、各画素毎に、画像処理適用前の輝度と適用後の輝度を記憶する。これが変更可能範囲データ104である。
【0015】
情報埋込み処理105は、まず、画像データ102の画素のうち輝度を変更する画素を選択する。次に、選択した各画素について、輝度を特定値に変更することで情報を埋め込む。その結果、情報挿入画像データ106を得る。この情報挿入画像データ106は、入出力処理101を介して外部に出力される。
【0016】
上述の医用フィルターの概要は以下の通りである。
(1)画像内の各画素について、(2)〜(3)の処理を実施する。
なお、画素とは、画像を構成する最小の部分画像であり、一般に、輝度と2種類の色差、あるいは3種類の色(3原色)により表現される。ここでは、画素が輝度と色差から構成されるものとする。
(2)当該画素及び周囲の画素の輝度を分析し、当該画素における輝度の法線ベクトルを求める。このベクトルは輝度の変化が最大となる方向を表す。このベクトルに直交し、当該画素を通るベクトルは、輝度の変化が最小となる方向すなわち当該画素を通るエッジを表す。
(3)上記エッジに沿って1次元の平滑化処理を実施。
上記の処理により、上記医用フィルターは上述の性質を有するものとなる。
変更可能範囲算出処理103は、画像データ102と輝度が異なり、視覚的には変わらない画像を得る。
【0017】
次に、図2を用いて、情報埋込み処理105における輝度の変更方法を説明する。ここでは、一つの画素の輝度の値は0〜255までであるとする。図2は、画素の輝度値を数直線で表したものである。本実施例では、この数直線上の白い円すなわち値が16の倍数である点は埋込み情報0に対応し、黒い点すなわち値が(16の倍数+8)の点は埋込み情報1に対応するものとする。
【0018】
情報埋込み処理105は、画像データ102の画素の輝度を、最近傍の白または黒の円に変更することにより情報を挿入する。すなわち、その画素に埋め込みたい情報が0の場合には白円に変更し、1の場合には黒円に変更する。例えば、画素の輝度が図中の△すなわち30で、埋め込みたい情報が0の場合には、その画素の輝度を32に変更し、埋め込みたい情報が1の場合には、その輝度を24に変更する。
【0019】
次に、変更可能範囲データ104の利用について説明する。上記の基本動作では、画素の輝度の変更が大きすぎて画像が視覚的に変化する場合がある。これを防止するために、画素の値の変更を変更可能範囲データ104の範囲内で行う。例えば、画素の輝度が△すなわち30で、その画素の輝度の変更可能範囲が26〜33であるとする。この場合、埋め込みたい情報が0の場合には、上記の基本動作通りに、その画素の輝度を32に変更する。しかし、埋め込みたい情報が1の場合には、変更先の輝度24が変更可能範囲に含まれていないので、24に最も近い値26に変更する。
【0020】
最後に、透かし挿入画像データ106からの情報の抽出について説明する。最初に、値を参照すべき画素を選択する。この画素の選択においては、情報埋込み処理105における画素選択と同じ規則を用いる。従って、輝度を変更した画素が選択される。
【0021】
次に、選択した各画素について、その輝度を取り出し、その値が、16の倍数か(16の倍数+8)のいずれに近いかで、埋め込まれた情報が0か1かを判定する。
【0022】
上述のように、情報埋込み処理105では、変更可能範囲データ104の中で輝度を変更するので、輝度を16の倍数または(16の倍数+8)に正確に変更できない場合がある。そのため、情報の抽出において、一定の確率で誤りが生じる。この問題は、同じ情報を複数の画素に重複して埋め込み、抽出において多数決を行うことで解決できる。
【0023】
以上のように、本実施例によれば、画像に情報を埋込み、埋め込んだ情報を抽出することができる。この情報埋込みにおいては、画像の視覚的劣化のないことが保証された範囲すなわち変更可能範囲内でのみ、画像の値を変更することができる。また、上記変更可能範囲を画素毎に算出するので、画素毎に可能な限り大きな値変更を行うことで、画像処理への耐性を強化することができる。
【0024】
この実施例によれば、輝度値の変更により静止画に情報を埋め込むシステムにおいて、画素毎に視覚的劣化のない輝度値変更範囲を求め、その範囲内で輝度値を変更することができる。その結果、一律に輝度を大きく変更する場合のように、画像の視覚的劣化を生じることがなく、一方、一律に輝度を小さく変更する場合のように、挿入情報が除去されやすいこともなく、画質劣化の防止と埋込み情報の耐性の両立が可能となる。
【0025】
次に、図3から図5を用いて、本発明の第2の実施例を説明する。
【0026】
本発明は、画像の値を変更して情報を挿入する場合の、値の変更量を最適化するものである。画像の種類、変更する画像値の種類、挿入する情報の種類、画像における挿入情報の表現方法には依存せず、任意の画像、画像値、情報種類、表現方法と組み合わせることができる。ここでは、一例として、以下の場合を考える。
【0027】
(1)画像の種類
ここでは、動画データを考える。この動画データは、1秒間30枚の静止画から成る。個々の静止画は、720×480画素である。本実施例では、動画データから一つずつ静止画を取り出し、これに、情報を挿入する。情報挿入処理は、静止画毎に完結する。
(2)変更する画像の値
静止画の画素毎の輝度値を変更する。
(3)挿入する情報
6ビットの情報、すなわち0〜63までの64種類の数字である。
(4)静止画における情報の表現
(a)ブロックの選択
静止画を8×8画素のブロック単位に分割する。コンテンツでよく用いられる720×480画素の静止画の場合、90×60(=5400)ブロックに分割する。64種類(6ビット)の挿入情報おのおのについて、上記5400個のブロックのうちどのブロック(少なくともひとつ)の値を変更するかという対応関係(これは予め決めておき、たとえばテーブルに保存されている)に基づいて、ブロックを選択する。選択したブロック内の画素の輝度を変更する。
【0028】
(b)ブロック内の輝度の変更
上記選択したブロック内の64個の画素の輝度の和が、最も近い整数Aのn倍数になるように各画素の輝度を変更する。Aはこの実施例の利用者が指定する値であるが、ここでは、512を用いる。
なお、情報の抽出時には、情報の挿入された動画から1枚ずつ静止画を取り出し、個々の静止画から情報を抽出する。
上述の方法で、情報を埋め込んだ後で、圧縮等の画像処理を行うと、輝度が変化し、抽出時に、正数Aのn倍数ちょうどにならないことがある。そこで、静止画からの情報抽出では、5400個の各ブロックについて、輝度がAのn倍数またはその近傍になっているかを判定する。
なお、近傍の定義としては、(A×n−A/4)以上かつ、(A×n+A/4)以下とする。この定義は一例であって、他の定義も可能である。
もし、情報が埋め込まれた画像に対して、圧縮等の画像処理を行わず、輝度変化が生じない場合は、近傍を定義しなくてもよい。
Aのn倍数またはその近傍の場合には、そのブロックの輝度が変更されていると判断する。5400個のブロックのうちどのブロックの輝度が変更されているかという情報と、前述の対応関係とを用いて、挿入した64種類の情報の一つを特定する。
【0029】
上記の抽出において、輝度を変更していないのに、ブロックの輝度の和が偶然Aのn倍数になっている場合は誤検出の原因となる。これを防止するためには、輝度変更ブロックを複数とし、多数決論理をもちいて、そのうち、ブロック輝度の和がAのn倍数または近傍となっているブロックが所定の値(たとえば半数)以上の場合に、透かしが埋め込まれていると判定する。
以上の情報表現、挿入、抽出の方法については、特願平09−238030号の方法を用いる。以下では、上記の情報表現、挿入、抽出の方法を前提として、輝度変更量の最適化方法を述べる。
図11は、この実施例のハードウエア構成図である。入出力装置1101は、計算機のI/O装置等により実現される。動画および埋め込みたい情報を外部に入力し、演算装置1102を介して記憶装置1103に格納する。また、情報を埋め込んだ動画を演算装置1102から受け取って、これを外部に出力する。演算装置1102は計算機のCPUで実現され、記憶装置1103に格納された動画および挿入したい情報を読みだし、動画に情報を挿入して、結果の動画を入出力装置1101に出力する。このとき、先に説明したフィルターを用いて、画像の視覚的劣化がないように情報を埋め込む。記憶装置1103は、半導体、ハードディスクや光ディスクなどで実現され、動画及び挿入したい情報を記憶する。
【0030】
図3は、第2の実施例の機能構成図である。
ブロック301〜306は演算装置1102が行う処理であり、計算機のCPUがプログラムを実行することにより実現される。ブロック307〜313はデータであり、計算機のメモリすなわち記憶装置1103に記憶される。
このプログラムは、記憶媒体に記録された状態で配付することや、ネットワーク経由でサーバから配付することが可能である。また、このプログラムは、パーソナルコンピュータのオペレーティングシステムの元で動作するように構成することが可能なものである。
【0031】
入出力301は、動画データ307を入力し、メモリに格納する。この動画データは、複数の連続した静止画の列である。各静止画は720×480画素である。
また、入出力301は、画像に挿入したい情報310を入力し、メモリに格納する。挿入したい情報は6ビット情報である。すなわち、挿入したい情報は、2の6乗=64種類である。
さらに、入出力301は、入出力装置1101から、画像に情報を挿入するときの基準となる値(上述の整数A)312を入力し、メモリに格納する。この整数Aの値を、ここでは、512とする。この正数Aのn倍数を、以下、吸着値と呼ぶ。
一方、入出力301は、透かし情報の挿入された動画313をメモリから読み出して、入出力装置1101から外部に出力する。
【0032】
制御302は、動画307中の各静止画毎に、フィルター303、差分算出304、挿入個所決定305、挿入306を起動して、挿入情報310を埋め込む。
フィルター303は、先に説明した実施例における医用フィルターである。動画307中の静止画を一枚づつ読み出し、これに前述のフィルター処理を適用し、その結果のフィルター画像308をメモリに格納する。
差分算出304は、動画307中の1枚の静止画とそれから求めたフィルター画像308との輝度の差分を、画素毎に求め、結果を変更可能範囲309としてメモリに格納する。変更可能範囲309は、動画307中の1枚の静止画の各画素について、輝度をどれだけ変更してよいかの範囲を表す。
挿入個所決定305は、720×480画素の静止画を、8×8画素のブロックに分割する。その結果、90×60=5400個のブロックを得る。上述の方法で、挿入情報310に対応して値を変更するブロックを選択し、挿入ブロック311とする。
挿入306は、挿入ブロック311の各ブロックについて、輝度の和を吸着値312(正数Aのn倍数)になるように変更する。その結果、情報を挿入した静止画1枚を求め、これを透かし入り動画313に追加する。
【0033】
図4は挿入306の動作のフローチャートである。最初にステップ401で対象となる8×8画素ブロック311の輝度の和を算出する。次に、ステップ402においてステップ401で算出した輝度の和の最近傍にある512のn倍数を吸着値とする。
ステップ403以降は実際の挿入処理である。まずステップ403で変更可能範囲309内で対象ブロック内の各画素の輝度を変更し、輝度の和も同時に変更する。ステップ404は変更後の輝度の和が吸着値に一致するか判定し、一致するなら挿入の動作を終了し、一致しないならブロックの輝度値を変更前に戻した後(すなわちそのブロックには透かしを挿入しない。)挿入の動作を終了する。
【0034】
図5は挿入処理の詳細のフローチャートである。但しここでは,簡単のために変更前の輝度値の和が吸着値より小さい場合を考える。また、各ブロック内の画素は1から64までの画素番号で表わされているとする。
まずステップ501で画素番号Iを1に設定する。ステップ502は画素番号I=64の判定処理であり。これについては後述する。ステップ503は画素Iの変更可能範囲309をR(I)としたときR(I)が正であるか判定する。すなわち画素Iの輝度値に加算できるか判定する。加算できなければステップ507でIをインクリメントしてステップ502の判定処理に移り、加算できればステップ504以降に進む。
【0035】
ステップ504では画素Iの輝度値を1だけ加算し、ステップ505で画素Iが属する対象ブロックの輝度値の和を1だけ加算する。ステップ506では画素Iの加算によって変更可能範囲R(I)の値を1減らす。
ステップ404は前述した判定処理で、輝度値の和が吸着値と等しければ対象ブロックに透かし挿入として処理を終了し、等しくなければ画素番号Iの値をインクリメントしてステップ502に進む。
ステップ502は画素番号I=64の判定処理であり、I=64と判定されるのは以下の2通りの場合がある。
(1)対象ブロック内の64個の画素のうち,変更可能である画素について1回加算処理をおこなったが、いくつかの画素でまだ輝度値変更可能である場合。
この場合は、ステップ508においていくつかの画素でR(I)が0でないのでステップ501に進み再び輝度値の加算処理を行う。
(2)対象ブロック内の64個の画素のうち、変更可能である画素について複数加算処理をおこなった。その結果、輝度値の和が吸着値に届く前に全ての画素で輝度値変更可能でなくなった。
この場合は、ステップ508において全ての画素でR(I) = 0なので、ステップ405へ進み各画素の輝度値を変更前に戻し、透かし挿入をおこなわず処理を終了する。
この実施例によれば、輝度の変更により動画に情報を埋め込むシステムにおいて、上記実施例と同様の理由により、画質劣化の防止と埋込み情報の耐性の両立が可能となる。
【0036】
次に、図6と図7を用いて、本発明の第3の実施例を説明する。
本実施例は、透かしの挿入時により詳細なパラメータを用いる方法である。画像の種類や挿入情報の種類などについては,すでに説明した第2の実施例と同様の表現方法を用いる。
図6は、第3の実施例の機能構成図である。以下では、図3の機能構成図と異なる、情報挿入時のパラメータであるデータ601〜603と、挿入処理604について説明する。
上限値601は、変更可能範囲309の上限を決定するパラメータであり、挿入306において、上限値以上の輝度値の変更を許さないようにする。この上限値601は、たとえば、フィルタ303が出力した変更可能範囲309とのAnd条件で用いるもので、変更可能範囲の上限を、他の条件で指定したい場合に用いる。
オフセット値602は、輝度値の変更可能な上限値を設定するもので、フィルタ303が出力した変更可能範囲309を越えて変更したい場合の上限値を表わす。
挿入可否判定基準603は、上記以外の挿入時に用いる判定基準を表わす。例えばブロックの輝度の分散値をみることで、そのブロックの平坦さの度合を判定することができ、挿入306において画像的に平坦すぎる箇所には透かしを挿入しないといった処理が可能になる。
【0037】
図7は本実施例での挿入604の動作のフローチャートである.ステップ701〜704以外の処理は図4の処理と同様なので説明を省く。
ステップ701では、挿入可否判定基準として当該ブロックの輝度の分散が基準値以上か判定し、基準値以下であれば処理を終了する。基準値以上であればステップ401と402を経てステップ702へ進む。
ステップ702では、対象ブロック内の画素の輝度値をフィルターの許容する範囲内で変更する。但し、上限値601以上の変更を許さないようにする。ステップ404で輝度和が吸着値に到達しない場合、ステップ703でオフセット値602の範囲内で再度画素の輝度を変更し、ステップ704へ進む。
ステップ704では、変更された輝度値の和が吸着値または吸着値の近傍(吸着値±64)に到達しているか判定し、到達していれば透かし挿入を完了して処理を終了する。到達していなければステップ405へ進み、透かし挿入を行わず(画素の輝度値を変更前に戻して)処理を終了する。
図6、図7に示した方法によれば、上記実施例における画質劣化のない輝度変更方法をさらに精密化できるので、画質劣化の防止効果が大きくなる。
【0038】
さて、動画などでは、吸着値(512のn倍数)との差にかかわらず選択したブロックの輝度和を吸着値に一致させると、動画をリアルタイムで再生する場合などで、輝度値の急激な変化などにより画面にちらつきが生じたり、透かし位置が視覚的に目立ってしまう場合がある。
そこで、次に、図8を用いて、挿入情報をさらに目立ちにくくする方法を説明する。
【0039】
図8は図4、図7のフローチャートにおいて、ステップ401と402の間に行われるステップ801を示すものである。ステップ801以外の処理は図4と図7の処理と同様なので説明を省く。
ステップ801は、予め設けた、ブロックの変更前の輝度和と吸着値との差の第2の上限値(図示せず)にしたがって、ブロックを判定し、透かしを挿入するかどうかを判定する。ここでは、第2の上限値を32としたとき、輝度和が以下の範囲にないブロックを実際に透かし挿入の対象とする。つまり、輝度和が以下の範囲にあるときは、透かしを挿入すると元の輝度和との差が大きくなり、透かし挿入が目立つので、透かし挿入を行わない、という考え方である。
512のn倍数+256−32< 輝度和 <512のn倍数+256+32
この式において、512は上述の正数Aであり、256はA/2を表わす。また、第2の上限値は、入出力装置1101から設定して、記憶装置1103へ保存しておく。
上記範囲にあるブロックは、透かし挿入を行わず処理を終了する。
この方法によれば、輝度和と吸着値との差が大きいブロックについては、透かし挿入を行わないので、動画をリアルタイム再生する場合に、さらに挿入情報を目立ちにくくすることができる。したがって、画質劣化の防止効果がさらに大きくなる。
【0040】
以下では、図9と図10を用いて、本発明の第5の実施例を説明する。
図9は、本実施例の方式を用いた透かし挿入ブロックの模式図である。透かし挿入ブロック91は、透かし挿入により輝度値が変化しているので、画像の平坦な箇所などではブロックが目立ってしまう場合がある。図9が示すように透かし挿入ブロックの周囲に、4つの領域92〜95を作成し、ブロック91の輝度変化に合わせて4つの領域の輝度値を段階的に変化させれば、透かしブロックを目立たなくさせることが可能になる。
【0041】
図10は、領域92〜95の輝度値の変更処理のフローチャートである。簡単のために、図9に示した4つの8×2部分領域(A1,A2,A3,A4)92〜95の輝度値変更を考える。
ステップ1001では、透かし挿入ブロック91の右隣のブロックに着目し、その部分の輝度値の変更量を求める。ステップ1002では、ステップ1001で算出された輝度値変更量を0.8倍してA1領域92の輝度値に加算する。ステップ1003では、同様に輝度値変更量を0.6倍してA2領域93の輝度値に加算する。ステップ1004では、同様に輝度値変更量を0.4倍してA3領域94の輝度値に加算する。ステップ1005では、輝度値変更量を0.2倍してA4領域95の輝度値に加算し、輝度値の変更処理を終了する。
この例では、透かし挿入ブロック91の周囲に設ける領域を、ひとつのブロックを4つに分割することによって生成しているが、これに限定されず、より多くのブロックをより多く分割してより滑らかに輝度値を変更するなど、さまざまな変形が可能である。
【0042】
また、上述の各実施例では、情報の埋め込み方法として画素の輝度を変更したが、これに限定されない。各画素を構成する、3原色のいずれかあるいは任意の組み合わせ、または輝度と色差のいずれかあるいは任意の組み合わせの持つ値を変更することで実現できるものである。
また、本発明は画像以外、たとえば、音楽にも適用は可能である。たとえば、音の大きさ、音色などの変更可能範囲を求め、その範囲内で変更する。また、小節単位で音の大きさ、音色などを変化させて情報を埋め込み、当該小節前後も値を少しずつ変化させて、目立たせないようにすることが可能である。
なお、上述の方法によって埋め込まれた情報は、その埋め込み方法(位置、パターン)、あるいは検出、除去のための情報を知るもの以外には除去できない。逆に埋め込み方法、検出除去のための情報を知るものは、本発明に従って埋め込まれた情報を取り出すことができるので、本発明はコンテンツの著作権情報などを管理するのに適している。
【0043】
【発明の効果】
本発明によれば、コンテンツへの情報埋込みにおいて、コンテンツが劣化しない範囲内でコンテンツを可能な限り大きく変更することができるので、劣化の防止と埋込み情報の耐性の両立が可能となる。
【図面の簡単な説明】
【図1】本発明の第1の実施例の機能構成図。
【図2】本発明の第1の実施例における画素の輝度値の変更方法を示す図。
【図3】本発明の第2の実施例の機能構成図。
【図4】本発明の第2の実施例における透かし挿入処理のフローチャート。
【図5】本発明の第2の実施例における透かし挿入処理の詳細のフローチャート。
【図6】本発明の第3の実施例の機能構成図。
【図7】本発明の第3の実施例における透かし挿入処理のフローチャート。
【図8】本発明の第4の実施例における透かし挿入処理のフローチャート。
【図9】本発明の第5の実施例における透かし挿入ブロックの模式図。
【図10】本発明の第5の実施例における輝度値の変更のフローチャート。
【図11】本発明の第2の実施例におけるハードウェア構成図。
【符号の説明】
101…入出力処理、102…画像データ、103…変更可能範囲算出処理、104…変更可能範囲データ、105…情報埋め込み処理、106…情報挿入画像データ。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an information embedding method for embedding arbitrary information in content, particularly without deteriorating the content.
[0002]
[Prior art]
Although information embedding technology in contents has been developed for various contents (that is, digitized data) such as images, sounds, texts, and drawings, embedding information in images is taken up as a representative example here. In general, information embedding in an image is performed, for example, by making a slight change to a value such as the luminance of a pixel as described in IBM System Journal, Vol. 35, No. 3 & 4, pp. 313-336, 1996. Information is embedded.
[0003]
Regarding this value change, there are the following requirements from a practical point of view.
[0004]
(1) A value change cannot be detected by human vision. (Or, even if it can be detected, it does not interfere with human image reference)
(2) Even if an image in which information is embedded is subjected to processing such as JPEG compression, the embedded information is not lost.
[0005]
In the conventional information embedding technology, as described in the above-mentioned document, in order to satisfy this requirement, a device for changing a value to be changed is devised. That is, the value is changed so that the change is hardly noticeable and hardly disappears. For example, an image is expressed in frequency, and a change is made to the coefficient of the mid-range component.
[0006]
[Problems to be solved by the invention]
The relationship between the change in the value of the image and the visual change differs for each image and also for each region in the image. For example, a small value change is conspicuous in a flat region, while a large value change is not conspicuous in a cluttered region such as a forest photograph.
[0007]
However, the above-described conventional technique is insufficient in optimizing the magnitude of the value change depending on the nature of the image. Therefore, when giving priority to prevention of a visual change, it is necessary to reduce the value change assuming a flat image, and the resistance to image processing is low. On the other hand, when priority is given to tolerance to image processing, it is necessary to increase the value change, and a visual change occurs in a flat image. That is, in the conventional method, it is difficult to achieve both the prevention of the visual change and the resistance to the image processing.
[0008]
An object of the present invention is to provide a method capable of preventing both a visual change and resistance to image processing in embedding information in content, a program for realizing the method, or an apparatus for executing the method and the program. That is.
[0009]
[Means for Solving the Problems]
In the field of medical image processing, a filter for facilitating a doctor's diagnosis of a photograph of a human body taken using X-rays or MRI has been studied. The most advanced medical filters have the following properties, as shown in IEICE Transactions, D-2, J79-D-2, No. 8, pages 1347 to 1353.
[0010]
(1) Noise is removed by a smoothing process.
(2) Shapes are preserved for edge information that is important for human vision, that is, for parts where the outline or surface properties of an object change, and for points (isolated points) where the color or brightness is particularly different from the surroundings.
In other words, the medical filter can be considered to have the following properties.
(1) The value of the image changes.
(2) The image does not change visually. Or, even if it changes, it does not hinder human reference.
[0011]
It was conceived to solve the above-mentioned problem by utilizing the properties of the medical filter. That is, in the information processing system having a means for inputting content and a means for embedding information in the content, the above-mentioned problem is solved by using the above-mentioned medical filter, which cannot be perceived by a human or obstructs human content reference. Resolving by changing the value of the content that does not need to be changed, setting the range between the value before the change and the value after the change as the changeable range of the value for embedding information, and embedding the information by changing the value of the content within this changeable range it can.
[0012]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, a first embodiment of the present invention will be described with reference to FIGS. In this embodiment, a still image is targeted, and information is embedded by changing the luminance of a pixel.
[0013]
FIG. 1 is a functional configuration diagram of the present invention. Elements indicated by rectangles, ie, input / output 101, changeable range calculation 103, and information embedding 105 are processes, and are realized by the CPU of the computer. Elements indicated by ellipses, that is, the image 102, the changeable range 104, and the watermarked image 106 are data, and are realized by a storage device of a computer.
In the following, information in which information is associated with some pattern that cannot be detected by a human is called a watermark, and an image in which information is embedded is called a watermarked image.
[0014]
The input / output processing 101 inputs an image and stores it in a storage device. In the changeable range calculation process 103, first, the above-described medical filter or image processing similar to the above is applied to the image data 102. As a result, an image having a luminance different from that of the image data 102 and not visually changing is obtained. Next, the changeable range calculation processing 103 stores, for each pixel, the luminance before application of the image processing and the luminance after application of the image processing. This is the changeable range data 104.
[0015]
The information embedding process 105 first selects a pixel of which luminance is to be changed among the pixels of the image data 102. Next, for each selected pixel, information is embedded by changing the luminance to a specific value. As a result, the information insertion image data 106 is obtained. The information insertion image data 106 is output to the outside via the input / output processing 101.
[0016]
The outline of the above medical filter is as follows.
(1) The processing of (2) to (3) is performed for each pixel in the image.
Note that a pixel is a minimum partial image forming an image, and is generally expressed by luminance and two types of color differences or three types of colors (three primary colors). Here, it is assumed that a pixel is composed of luminance and color difference.
(2) Analyzing the luminance of the pixel and surrounding pixels, and obtaining a normal vector of the luminance at the pixel. This vector represents the direction in which the change in luminance is maximum. A vector orthogonal to this vector and passing through the pixel represents a direction in which the change in luminance is minimum, that is, an edge passing through the pixel.
(3) One-dimensional smoothing processing is performed along the edge.
Through the above processing, the medical filter has the above-described properties.
The changeable range calculation processing 103 obtains an image that is different in luminance from the image data 102 and does not visually change.
[0017]
Next, a method of changing luminance in the information embedding process 105 will be described with reference to FIG. Here, it is assumed that the luminance value of one pixel is from 0 to 255. FIG. 2 shows the luminance value of a pixel by a number line. In this embodiment, a white circle on the number line, that is, a point whose value is a multiple of 16, corresponds to the embedding information 0, and a black point, that is, a point whose value is a multiple of 16 + 8, corresponds to the embedding information 1. And
[0018]
The information embedding process 105 inserts information by changing the luminance of the pixels of the image data 102 to the nearest white or black circle. That is, if the information to be embedded in the pixel is 0, it is changed to a white circle, and if it is 1, it is changed to a black circle. For example, if the luminance of a pixel is △ in the figure, ie, 30 and the information to be embedded is 0, the luminance of the pixel is changed to 32, and if the information to be embedded is 1, the luminance is changed to 24. I do.
[0019]
Next, the use of the changeable range data 104 will be described. In the above-described basic operation, there is a case where the change in the luminance of the pixel is too large and the image visually changes. To prevent this, the pixel value is changed within the changeable range data 104. For example, it is assumed that the luminance of a pixel is Δ, that is, 30 and the changeable range of the luminance of the pixel is 26 to 33. In this case, if the information to be embedded is 0, the luminance of the pixel is changed to 32 as in the above basic operation. However, when the information to be embedded is 1, the luminance 24 of the change destination is not included in the changeable range, and therefore, is changed to a value 26 closest to 24.
[0020]
Finally, extraction of information from the watermark-inserted image data 106 will be described. First, a pixel whose value is to be referred to is selected. In this pixel selection, the same rule as that of the pixel selection in the information embedding process 105 is used. Therefore, a pixel whose luminance has been changed is selected.
[0021]
Next, for each selected pixel, its luminance is extracted, and it is determined whether the embedded information is 0 or 1 depending on which value is closer to a multiple of 16 (multiple of 16 + 8).
[0022]
As described above, in the information embedding processing 105, since the luminance is changed in the changeable range data 104, the luminance may not be accurately changed to a multiple of 16 or (multiple of 16 + 8). Therefore, an error occurs at a certain probability in information extraction. This problem can be solved by overlappingly embedding the same information in a plurality of pixels and performing a majority decision in extraction.
[0023]
As described above, according to the present embodiment, information can be embedded in an image, and the embedded information can be extracted. In this information embedding, the value of the image can be changed only in a range in which there is no visual deterioration of the image, that is, in a changeable range. Further, since the changeable range is calculated for each pixel, by changing the value as large as possible for each pixel, it is possible to enhance the resistance to image processing.
[0024]
According to this embodiment, in a system that embeds information in a still image by changing a brightness value, a brightness value change range without visual deterioration can be obtained for each pixel, and the brightness value can be changed within that range. As a result, there is no visual deterioration of the image as in the case where the luminance is uniformly changed to a large degree, while the insertion information is not easily removed as in the case where the luminance is uniformly changed to a small level. This makes it possible to prevent both deterioration of image quality and durability of embedded information.
[0025]
Next, a second embodiment of the present invention will be described with reference to FIGS.
[0026]
The present invention optimizes the amount of value change when information is inserted by changing the value of an image. It does not depend on the type of image, the type of image value to be changed, the type of information to be inserted, or the method of expressing the inserted information in the image, and can be combined with any image, image value, information type, and expression method. Here, the following case is considered as an example.
[0027]
(1) Image Type Here, moving image data is considered. This moving image data is composed of 30 still images per second. Each still image is 720 × 480 pixels. In the present embodiment, still images are extracted one by one from the moving image data, and information is inserted therein. The information insertion process is completed for each still image.
(2) Value of image to be changed The luminance value of each pixel of the still image is changed.
(3) Information to be inserted 6-bit information, that is, 64 types of numbers from 0 to 63.
(4) Expression of Information in Still Image (a) Selection of Block The still image is divided into blocks of 8 × 8 pixels. In the case of a still image of 720 × 480 pixels often used for contents, the still image is divided into 90 × 60 (= 5400) blocks. For each of the 64 types (6 bits) of insertion information, the corresponding relationship of which block (at least one) of the 5400 blocks to change in value (this is determined in advance and stored in a table, for example) Select a block based on. Change the brightness of the pixels in the selected block.
[0028]
(B) Change of brightness in block The brightness of each pixel is changed so that the sum of the brightness of the 64 pixels in the selected block is n times the nearest integer A. A is a value designated by the user of this embodiment. Here, 512 is used.
At the time of extracting information, still images are extracted one by one from the moving image in which the information is inserted, and information is extracted from each still image.
When image processing such as compression is performed after embedding information by the above-described method, the luminance changes, and the value may not be exactly n times the positive number A at the time of extraction. Therefore, in information extraction from a still image, it is determined whether or not the luminance is n multiples of A or in the vicinity thereof for each of the 5,400 blocks.
Note that the neighborhood is defined as (A × n−A / 4) or more and (A × n + A / 4) or less. This definition is an example, and other definitions are possible.
If image processing such as compression is not performed on an image in which information is embedded and a luminance change does not occur, a neighborhood need not be defined.
In the case of n multiples of A or in the vicinity thereof, it is determined that the luminance of the block has been changed. One of the inserted 64 types of information is specified by using information indicating which of the 5400 blocks has changed the luminance and the above-described correspondence relationship.
[0029]
In the above extraction, if the sum of the luminances of the blocks happens to be an n-times multiple of A even though the luminance is not changed, this may cause erroneous detection. In order to prevent this, a plurality of brightness change blocks are used, and majority logic is used. Among the blocks, the block whose sum of block brightness is n times or more than A is a predetermined value (for example, half) or more. Is determined to have a watermark embedded therein.
The method of the above-mentioned information expression, insertion, and extraction uses the method of Japanese Patent Application No. 09-238030. In the following, a method of optimizing the amount of change in luminance will be described on the premise of the above-described information expression, insertion and extraction methods.
FIG. 11 is a hardware configuration diagram of this embodiment. The input / output device 1101 is realized by an I / O device of a computer or the like. The moving image and information to be embedded are input to the outside and stored in the storage device 1103 via the arithmetic device 1102. Also, a moving image in which information is embedded is received from the arithmetic unit 1102, and this is output to the outside. The arithmetic unit 1102 is realized by a CPU of the computer, reads out a moving image and information to be inserted stored in the storage device 1103, inserts information into the moving image, and outputs the resulting moving image to the input / output device 1101. At this time, information is embedded using the above-described filter so that there is no visual deterioration of the image. The storage device 1103 is realized by a semiconductor, a hard disk, an optical disk, or the like, and stores a moving image and information to be inserted.
[0030]
FIG. 3 is a functional configuration diagram of the second embodiment.
Blocks 301 to 306 are processing performed by the arithmetic unit 1102, and are realized by the CPU of the computer executing the program. Blocks 307 to 313 are data, which are stored in the memory of the computer, that is, the storage device 1103.
This program can be distributed in a state recorded in a storage medium, or distributed from a server via a network. Further, this program can be configured to operate under the operating system of a personal computer.
[0031]
The input / output 301 receives the moving image data 307 and stores it in the memory. This moving image data is a sequence of a plurality of continuous still images. Each still image is 720 × 480 pixels.
The input / output 301 inputs information 310 to be inserted into an image and stores the information 310 in a memory. The information to be inserted is 6-bit information. That is, the information to be inserted is 2 6 = 64 types.
Further, the input / output 301 receives, from the input / output device 1101, a value (the above-described integer A) 312 which is a reference when inserting information into an image, and stores the value in the memory. Here, the value of the integer A is 512. The n multiple of this positive number A is hereinafter referred to as an adsorption value.
On the other hand, the input / output 301 reads the moving image 313 into which the watermark information has been inserted, from the memory, and outputs it from the input / output device 1101 to the outside.
[0032]
The control 302 activates the filter 303, the difference calculation 304, the insertion position determination 305, and the insertion 306 for each still image in the moving image 307, and embeds the insertion information 310.
The filter 303 is the medical filter in the embodiment described above. The still images in the moving image 307 are read out one by one, the above-described filter processing is applied thereto, and the resulting filtered image 308 is stored in the memory.
In the difference calculation 304, a difference in luminance between one still image in the moving image 307 and the filter image 308 obtained from the still image is obtained for each pixel, and the result is stored in the memory as a changeable range 309. The changeable range 309 indicates a range of how much the luminance of each pixel of one still image in the moving image 307 can be changed.
The insertion point determination 305 divides a still image of 720 × 480 pixels into blocks of 8 × 8 pixels. As a result, 90 × 60 = 5400 blocks are obtained. With the above-described method, a block whose value is to be changed corresponding to the insertion information 310 is selected, and is set as an insertion block 311.
The insertion 306 changes the sum of the luminances of the blocks of the insertion block 311 so as to be the suction value 312 (n times the positive number A). As a result, one still image into which the information is inserted is obtained, and this is added to the watermarked moving image 313.
[0033]
FIG. 4 is a flowchart of the operation of the insertion 306. First, in step 401, the sum of the luminance of the target 8 × 8 pixel block 311 is calculated. Next, in step 402, an n-times multiple of 512, which is the closest to the sum of the luminances calculated in step 401, is set as the suction value.
Step 403 and subsequent steps are the actual insertion processing. First, in step 403, the luminance of each pixel in the target block is changed within the changeable range 309, and the sum of the luminance is also changed at the same time. In step 404, it is determined whether or not the sum of the changed luminances matches the suction value. If they match, the insertion operation is terminated. If not, the luminance value of the block is returned to the value before the change (that is, the block is watermarked). Is not inserted.) The insertion operation ends.
[0034]
FIG. 5 is a detailed flowchart of the insertion process. However, here, for simplicity, a case where the sum of the luminance values before the change is smaller than the suction value is considered. It is also assumed that the pixels in each block are represented by pixel numbers 1 to 64.
First, in step 501, the pixel number I is set to 1. Step 502 is a determination process for a pixel number I = 64. This will be described later. Step 503 determines whether R (I) is positive when the changeable range 309 of the pixel I is R (I). That is, it is determined whether the luminance can be added to the luminance value of the pixel I. If addition is not possible, I is incremented in step 507 and the process proceeds to the determination process in step 502. If addition is possible, the process proceeds to step 504 and subsequent steps.
[0035]
In step 504, the luminance value of the pixel I is added by one, and in step 505, the sum of the luminance values of the target block to which the pixel I belongs is added by one. In step 506, the value of the changeable range R (I) is reduced by 1 by adding the pixel I.
In step 404, if the sum of the brightness values is equal to the suction value in the above-described determination process, the process is terminated as watermark insertion into the target block. If not, the value of the pixel number I is incremented and the process proceeds to step 502.
Step 502 is a determination process for the pixel number I = 64, and there are two cases in which I = 64 is determined.
(1) A case where the addition process is performed once for a changeable pixel among the 64 pixels in the target block, but the brightness value can still be changed for some pixels.
In this case, since R (I) is not 0 at some pixels in step 508, the process proceeds to step 501, where the luminance value is added again.
(2) Of the 64 pixels in the target block, a plurality of addition processes are performed on pixels that can be changed. As a result, it is no longer possible to change the luminance value for all pixels before the sum of the luminance values reaches the suction value.
In this case, since R (I) = 0 for all the pixels in step 508, the process proceeds to step 405, in which the luminance value of each pixel is returned to the value before the change, and the process ends without performing the watermark insertion.
According to this embodiment, in a system that embeds information in a moving image by changing the luminance, it is possible to prevent image quality degradation and to at the same time endure the embedded information for the same reason as in the above embodiment.
[0036]
Next, a third embodiment of the present invention will be described with reference to FIGS.
This embodiment is a method of using more detailed parameters when inserting a watermark. For the type of image, the type of insertion information, and the like, the same expression method as in the second embodiment described above is used.
FIG. 6 is a functional configuration diagram of the third embodiment. Hereinafter, data 601 to 603, which are parameters at the time of inserting information, and an insertion process 604, which are different from the functional configuration diagram of FIG. 3, will be described.
The upper limit value 601 is a parameter that determines the upper limit of the changeable range 309, and does not allow the change of the luminance value equal to or more than the upper limit value in the insertion 306. The upper limit value 601 is used, for example, under the And condition with the changeable range 309 output from the filter 303, and is used when the upper limit of the changeable range is to be specified under another condition.
The offset value 602 sets an upper limit value at which the luminance value can be changed, and indicates an upper limit value when it is desired to change the brightness value beyond the changeable range 309 output by the filter 303.
The insertion possibility determination criterion 603 indicates a criterion used at the time of insertion other than the above. For example, by observing the variance value of the luminance of a block, the degree of flatness of the block can be determined, and a process of not inserting a watermark at a place where the image is too flat in the insertion 306 becomes possible.
[0037]
FIG. 7 is a flowchart of the operation of the insertion 604 in this embodiment. Processing other than steps 701 to 704 is the same as the processing in FIG.
In step 701, it is determined whether or not the variance of the luminance of the block is equal to or greater than the reference value as an insertion availability determination criterion. If it is equal to or more than the reference value, the process proceeds to steps 702 through steps 401 and 402.
In step 702, the luminance value of the pixel in the target block is changed within the range permitted by the filter. However, a change larger than the upper limit 601 is not allowed. If the luminance sum does not reach the suction value in step 404, the luminance of the pixel is changed again within the range of the offset value 602 in step 703, and the process proceeds to step 704.
In step 704, it is determined whether or not the sum of the changed luminance values has reached the suction value or the vicinity of the suction value (suction value ± 64). If the sum has reached, the watermark insertion is completed and the process ends. If it has not reached, the process proceeds to step 405, where the watermark is not inserted (the luminance value of the pixel is returned to the value before the change), and the process ends.
According to the methods shown in FIGS. 6 and 7, the method of changing luminance without image quality deterioration in the above embodiment can be further refined, so that the effect of preventing image quality deterioration is increased.
[0038]
By the way, in the case of a moving image, if the sum of the luminance of the selected block is made to match the adsorption value irrespective of the difference from the adsorption value (n multiple of 512), a sudden change in the luminance value may occur when the moving image is reproduced in real time. For example, the screen may flicker or the watermark position may be visually noticeable.
Therefore, a method of making the inserted information less noticeable will be described next with reference to FIG.
[0039]
FIG. 8 shows step 801 performed between steps 401 and 402 in the flowcharts of FIGS. The processing other than step 801 is the same as the processing in FIGS. 4 and 7 and will not be described.
In step 801, a block is determined according to a second upper limit value (not shown) of a difference between a luminance sum before a block change and a suction value, which is provided in advance, and it is determined whether to insert a watermark. Here, when the second upper limit value is set to 32, blocks whose luminance sums are not in the following range are actually targeted for watermark insertion. That is, when the luminance sum is in the following range, the difference from the original luminance sum increases when the watermark is inserted, and the watermark insertion is conspicuous, so that the watermark is not inserted.
N multiple of 512 + 256−32 <sum of luminance <n multiple of 512 + 256 + 32
In this equation, 512 is the positive number A described above, and 256 represents A / 2. The second upper limit is set from the input / output device 1101 and stored in the storage device 1103.
For blocks in the above range, the process ends without inserting a watermark.
According to this method, watermark insertion is not performed for a block having a large difference between the luminance sum and the suction value, so that when a moving image is reproduced in real time, the insertion information can be made less noticeable. Therefore, the effect of preventing image quality deterioration is further enhanced.
[0040]
Hereinafter, a fifth embodiment of the present invention will be described with reference to FIGS.
FIG. 9 is a schematic diagram of a watermark insertion block using the method of the present embodiment. Since the luminance value of the watermark insertion block 91 has changed due to the watermark insertion, the block may be conspicuous in a flat portion of the image or the like. As shown in FIG. 9, four regions 92 to 95 are created around the watermark insertion block, and the luminance value of the four regions is changed stepwise according to the luminance change of the block 91, so that the watermark block is conspicuous. Can be eliminated.
[0041]
FIG. 10 is a flowchart of a process of changing the luminance values of the areas 92 to 95. For the sake of simplicity, let us consider the change of the luminance values of the four 8 × 2 partial areas (A1, A2, A3, A4) 92 to 95 shown in FIG.
In step 1001, attention is paid to the block on the right of the watermark insertion block 91, and the amount of change in the luminance value of that portion is determined. In step 1002, the luminance value change amount calculated in step 1001 is multiplied by 0.8 and added to the luminance value of the A1 area 92. In step 1003, the luminance value change amount is similarly multiplied by 0.6 and added to the luminance value of the A2 area 93. In step 1004, the luminance value change amount is similarly multiplied by 0.4 and added to the luminance value of the A3 area 94. In step 1005, the brightness value change amount is multiplied by 0.2 and added to the brightness value of the A4 area 95, and the brightness value change process ends.
In this example, the area provided around the watermark insertion block 91 is generated by dividing one block into four. However, the present invention is not limited to this. Various modifications are possible, such as changing the luminance value.
[0042]
Further, in each of the above-described embodiments, the luminance of the pixel is changed as a method of embedding information. However, the present invention is not limited to this. This can be realized by changing the value of any one or any combination of the three primary colors, or any one or any combination of luminance and color difference, which constitutes each pixel.
The present invention can be applied to music other than images, for example, music. For example, a changeable range such as a loudness and a tone is obtained, and the change is made within the range. It is also possible to embed information by changing the volume, tone, and the like of each bar, and change the value little by little before and after the bar so that the bar is not noticeable.
It should be noted that the information embedded by the above-described method cannot be removed except for the method of embedding (position, pattern) or information for detection and removal. Conversely, those who know the embedding method and the information for detection and removal can extract the information embedded according to the present invention, and thus the present invention is suitable for managing the copyright information of the contents and the like.
[0043]
【The invention's effect】
According to the present invention, in embedding information in a content, the content can be changed as much as possible within a range where the content does not deteriorate, so that it is possible to prevent deterioration and to attain both the durability of the embedded information.
[Brief description of the drawings]
FIG. 1 is a functional configuration diagram of a first embodiment of the present invention.
FIG. 2 is a diagram showing a method for changing a luminance value of a pixel according to the first embodiment of the present invention.
FIG. 3 is a functional configuration diagram of a second embodiment of the present invention.
FIG. 4 is a flowchart of a watermark insertion process according to a second embodiment of the present invention.
FIG. 5 is a flowchart showing details of a watermark insertion process according to the second embodiment of the present invention.
FIG. 6 is a functional configuration diagram of a third embodiment of the present invention.
FIG. 7 is a flowchart of a watermark insertion process according to a third embodiment of the present invention.
FIG. 8 is a flowchart of a watermark insertion process according to a fourth embodiment of the present invention.
FIG. 9 is a schematic diagram of a watermark insertion block according to a fifth embodiment of the present invention.
FIG. 10 is a flowchart for changing a luminance value according to a fifth embodiment of the present invention.
FIG. 11 is a hardware configuration diagram according to a second embodiment of the present invention.
[Explanation of symbols]
101: input / output processing, 102: image data, 103: changeable range calculation processing, 104: changeable range data, 105: information embedding processing, 106: information insertion image data.

Claims (14)

複数の画素からなる画像に含まれる所定の画素が有する画素値を変更して,前記画像に情報を挿入するための画像処理方法であって,
(1)前記所定の画素と当該所定の画素を通る一つの方向に沿った複数の画素との画素値の変化を求める処理を,前記所定の画素を通る複数の方向について行い,最小の画素値変化を与える方向を求めるステップ,
(2)前記求めた方向に沿った画像処理を行い,前記所定の画素について,前記画像処理後の画素値を求めるステップ,
(3)前記所定の画素について,前記画像処理前の画素値と前記画像処理後の画素値との差を求め,前記情報を挿入する際の画素値変更可能量とするステップ,
を備える画像処理方法。
An image processing method for changing a pixel value of a predetermined pixel included in an image including a plurality of pixels and inserting information into the image, comprising:
(1) performing a process of calculating a change in pixel value between the predetermined pixel and a plurality of pixels along one direction passing through the predetermined pixel in a plurality of directions passing through the predetermined pixel; Determining the direction of change,
(2) performing image processing along the obtained direction and obtaining a pixel value of the predetermined pixel after the image processing;
(3) obtaining a difference between a pixel value before the image processing and a pixel value after the image processing for the predetermined pixel, and setting a pixel value changeable amount when inserting the information;
An image processing method comprising:
請求項1記載の画像処理方法であって,
(4)前記所定の画素を複数設定するステップ,
(5)設定した前記所定の画素各々について,前記ステップ(1)から(3)を実行するステップ,
(6)前記ステップ(5)によって得られた,前記所定の画素各々についての,前記画素値変更可能量と,予め設定した値とに基づいて,前記各所定の画素の画素値の変更量を定めるステップ,
を備える画像処理方法。
The image processing method according to claim 1, wherein
(4) setting a plurality of the predetermined pixels;
(5) for said predetermined pixel each set, executing the steps (1) to (3),
(6) the obtained in the step (5), for said predetermined pixel each, and the pixel value change amount capable, based on the value set in advance, the change amount of the pixel value of each predetermined pixel Defining steps,
An image processing method comprising:
請求項2記載の画像処理方法であって,前記所定の画素について,
前記ステップ(2)の画像処理として,平滑化処理を行うステップ,
前記ステップ(6)の前記変更量を,前記予め設定した値として設定した上限値より小さくなるように決定するステップ,
の少なくとも一つを備える画像処理方法。
3. The image processing method according to claim 2, wherein, for the predetermined pixel,
As the image processing of the step (2), the step of performing a smoothing process,
Determining the change amount of step (6), so that the smaller than the upper limit value set as the preset value,
An image processing method comprising at least one of the following.
請求項2記載の画像処理方法であって,さらに,
前記ステップ(6)によって定めた前記所定の画素各々への前記変更量に基づいて演算を行い,演算結果が,予め設定した,挿入する前記情報を表現する値となるように,所定の画素の変更量を再度決定するステップ,
を備える画像処理方法。
The image processing method according to claim 2, further comprising:
An operation is performed based on the amount of change to each of the predetermined pixels determined in the step (6), and a predetermined pixel value is calculated so that the calculation result becomes a value representing the information to be inserted and set in advance. Determining again the amount of change,
An image processing method comprising:
請求項4に記載の画像処理方法であって,前記演算は加算である画像処理方法5. The image processing method according to claim 4 , wherein the calculation is an addition. 請求項1ないし5いずれか一に記載の画像処理方法であって,画素値は輝度値である画像処理方法。The image processing method according to claim 1, wherein the pixel value is a luminance value. 請求項2記載の画像処理方法であって,さらに,
(7)複数ビットからなる前記挿入する情報を構成する1ビット毎に,前記ステップ(4)から(6)を実行するステップ,
(8)定めた変更値に基づいて画素値を変更するステップ,
(9)画素値を変更した前記画像を出力するステップ,
を備える画像処理方法。
The image processing method according to claim 2, further comprising:
(7) for each bit constituting the insertion information a plurality of bits, performing the steps (4) to (6),
(8) changing a pixel value based on the determined change value,
(9) outputting the image whose pixel value has been changed,
An image processing method comprising:
複数の画素からなる画像に含まれる所定の画素が有する画素値を変更して,前記画像に情報を挿入するための画像処理を電子計算機に実行させるプログラムが記憶された記憶媒体であって,
(1)前記所定の画素と当該所定の画素を通る一つの方向に沿った複数の画素との画素値の変化を求める処理を,前記所定の画素を通る複数の方向について行い,最小の画素値変化を与える方向を求める処理,
(2)前記求めた方向に沿った画像処理を行い,前記所定の画素について,前記画像処理後の画素値を求める処理,
(3)前記所定の画素について,前記画像処理前の画素値と前記画像処理後の画素値との差を求め,前記情報を挿入する際の画素値変更可能量とする処理,
を電子計算機に実行させるプログラムが記憶された記憶媒体。
A storage medium storing a program for changing a pixel value of a predetermined pixel included in an image composed of a plurality of pixels and causing an electronic computer to execute image processing for inserting information into the image,
(1) performing a process of calculating a change in pixel value between the predetermined pixel and a plurality of pixels along one direction passing through the predetermined pixel in a plurality of directions passing through the predetermined pixel; Processing to determine the direction of change,
(2) performing image processing along the obtained direction, and obtaining a pixel value after the image processing for the predetermined pixel;
(3) processing for obtaining a difference between a pixel value before the image processing and a pixel value after the image processing for the predetermined pixel, and setting the pixel value changeable amount when inserting the information;
Storage medium storing a program for causing a computer to execute the program.
請求項8記載のプログラムが記憶された記憶媒体であって,
(4)前記所定の画素を複数設定する処理,
(5)設定した前記所定の画素各々について,前記処理(1)から(3)を実行する処理,
(6)前記処理(5)によって得られた,前記所定の画素各々についての,前記画素値変更可能量と,予め設定した値とに基づいて,前記各所定の画素の画素値の変更量を定める処理,
を電子計算機に実行させるプログラムが記憶された記憶媒体。
A storage medium storing the program according to claim 8, wherein:
(4) a process of setting a plurality of the predetermined pixels,
(5) for said predetermined pixel each set, the process for executing the processing from (1) and (3),
(6) obtained by the process (5), for said predetermined pixel each, and the pixel value change amount capable, based on the value set in advance, the change amount of the pixel value of each predetermined pixel Processing,
Storage medium storing a program for causing a computer to execute the program.
請求項9記載のプログラムが記憶された記憶媒体であって,前記所定の画素について,
前記処理(2)の画像処理として,平滑化処理を行う処理,
前記処理(6)の前記変更量を,前記予め設定した値として設定した上限値より小さくなるように決定する処理,
の少なくとも一つの処理を電子計算機に実行させるプログラムが記憶された記憶媒体。
A storage medium storing the program according to claim 9, wherein:
A process of performing a smoothing process as the image process of the process (2);
A process of determining the change amount in the process (6) so as to be smaller than an upper limit set as the preset value;
A storage medium storing a program for causing a computer to execute at least one process of the above.
請求項9記載のプログラムが記憶された記憶媒体であって,さらに,
前記処理(6)によって定めた前記所定の画素各々への前記変更量に基づいて演算を行い,演算結果が,予め設定した,挿入する前記情報を表現する値となるように,所定の画素の変更量を再度決定する処理,
を電子計算機に実行させるプログラムが記憶された記憶媒体。
A storage medium storing the program according to claim 9, further comprising:
An operation is performed based on the amount of change to each of the predetermined pixels determined by the process (6), and the operation result is a predetermined value of the predetermined pixel such that the result becomes a value representing the information to be inserted which is set in advance. Processing to determine the change amount again,
Storage medium storing a program for causing a computer to execute the program.
請求項11に記載のプログラムが記憶された記憶媒体であって,
前記演算として加算を行わせる,電子計算機に実行させるプログラムが記憶された記憶媒体。
A storage medium storing the program according to claim 11 , wherein:
A storage medium storing a program for causing an electronic computer to execute addition as the operation.
請求項8ないし12いずれか一に記載のプログラムが記憶された記憶媒体であって,
前記画素値として輝度値を用いらせる,電子計算機に実行させるプログラムが記憶された記憶媒体。
A storage medium in which the program according to any one of claims 8 to 12 is stored,
A storage medium storing a program for causing a computer to execute a luminance value as the pixel value.
請求項9記載のプログラムが記憶された記憶媒体であって,
(7)複数ビットからなる前記挿入する情報を構成する1ビット毎に,前記処理(4)から(6)を実行する処理,
(8)定めた変更値に基づいて画素値を変更する処理,
(9)画素値を変更した前記画像を出力する処理,
を電子計算機に実行させるプログラムが記憶された記憶媒体。
A storage medium storing the program according to claim 9, wherein:
(7) for each bit constituting the insertion information a plurality of bits, the process for executing the processing from (4) (6),
(8) a process of changing the pixel value based on the determined change value,
(9) a process of outputting the image whose pixel value has been changed,
Storage medium storing a program for causing a computer to execute the program.
JP24931298A 1997-09-03 1998-09-03 Image processing method and storage medium storing the program Expired - Fee Related JP3570236B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24931298A JP3570236B2 (en) 1997-09-03 1998-09-03 Image processing method and storage medium storing the program

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP23803197 1997-09-03
JP10-106036 1998-04-16
JP10603698 1998-04-16
JP9-238031 1998-04-16
JP24931298A JP3570236B2 (en) 1997-09-03 1998-09-03 Image processing method and storage medium storing the program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2000203062A Division JP2001061055A (en) 1997-09-03 2000-06-30 Method and device for embedding information

Publications (2)

Publication Number Publication Date
JP2000004350A JP2000004350A (en) 2000-01-07
JP3570236B2 true JP3570236B2 (en) 2004-09-29

Family

ID=27310640

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24931298A Expired - Fee Related JP3570236B2 (en) 1997-09-03 1998-09-03 Image processing method and storage medium storing the program

Country Status (1)

Country Link
JP (1) JP3570236B2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6996273B2 (en) 2001-04-24 2006-02-07 Microsoft Corporation Robust recognizer of perceptually similar content
US6973574B2 (en) 2001-04-24 2005-12-06 Microsoft Corp. Recognizer of audio-content in digital signals
US7020775B2 (en) 2001-04-24 2006-03-28 Microsoft Corporation Derivation and quantization of robust non-local characteristics for blind watermarking
US7831832B2 (en) 2004-01-06 2010-11-09 Microsoft Corporation Digital goods representation based upon matrix invariances
TWI288873B (en) * 2004-02-17 2007-10-21 Mitsubishi Electric Corp Method for burying watermarks, method and device for inspecting watermarks
US7770014B2 (en) 2004-04-30 2010-08-03 Microsoft Corporation Randomized signal transforms and their applications
EP1929441A1 (en) * 2005-09-09 2008-06-11 Thomson Licensing Coefficient modification for video watermarking

Also Published As

Publication number Publication date
JP2000004350A (en) 2000-01-07

Similar Documents

Publication Publication Date Title
US6826291B2 (en) Method and system for embedding information into contents
JP3881794B2 (en) Digital watermark embedding method and decoding method thereof
US7231522B2 (en) Information processing apparatus, method for controlling the same, and storage medium
JP4485585B2 (en) Digital image processing method and system
US6862362B2 (en) Parity-grid steganographic method and apparatus
US7499565B2 (en) Method of watermarking for binary images
JP3570213B2 (en) Digital watermark image processing method
EP1814084A2 (en) System and method to automatically establish preferred area for image-wise watermark
US20070098214A1 (en) Image processing apparatus, image processing method, and storage medium
US6922777B1 (en) Apparatus, computer medium, and method for embedding and extracting a first and second data into a watermark
EP1041815B1 (en) Image processing apparatus, image processing method, and storage medium
EP1908007A4 (en) Image watermarking
JP3570236B2 (en) Image processing method and storage medium storing the program
JP4167372B2 (en) Digital watermark embedding method, extraction method, invisibility method, visualization method, and embedding device
US6944314B2 (en) Digital information embedding device embedding digital watermark information in exact digital content, computer-readable recording medium having digital information embedding program recorded therein, and method of embedding digital information
JP2001061055A (en) Method and device for embedding information
JP2000358154A (en) Electric watermark capable of adjusting visibility of watermark
JP2002027245A (en) Image processor, image processing method, and storage medium
JP2008148110A (en) Image processor and control method thereof
JP2003046768A (en) Image processor and image processing method and information recording medium with the same method recorded
JP4176257B2 (en) Digital watermark embedding method, restoration method and apparatus
AU2006265780B2 (en) Image watermarking
JP2006352702A (en) Image processing apparatus, image processing method, image processing program and recording medium with image processing program recorded thereon
JP2003046770A (en) Image processor, image processing method and information recording medium therewith

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20031125

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040302

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040419

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: 20040601

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040614

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

Free format text: PAYMENT UNTIL: 20080702

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090702

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100702

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100702

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110702

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110702

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120702

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130702

Year of fee payment: 9

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees