ランレングスヒストグラム修正及び論理演算を使用した可逆的2値画像データ隠蔽のためのシステム及び方法
第1のデータセットの属性のヒストグラムを作成することを含むデータ隠蔽方法。ヒストグラムは、属性の実現値を含む。2つの隣接する実現値が選択され、2つの隣接する実現値のうち1つの回数がゼロである。選択された隣接する実現値と関連付けられた第1のデータセットのデータに、第2のデータセットが埋め込まれる。
【発明の詳細な説明】
【背景技術】
【0001】
関連出願の相互参照
[0001] 本出願は、2008年2月1日に出願された米国仮出願第61/063,241号「REVERSIBLE BINARY IMAGE DATA HIDING USING RUN-LENGTH HISTOGRAM AND LOGICAL OPERATION」の優先権を主張する。
【0002】
[0002] 開示の主題は、一般に、データ埋め込み及びデジタル形式画像からのデータ抽出に関する。より具体的には、開示は、ランレングスヒストグラム修正(run-length histogram modification)及び論理演算を使用した可逆的2値画像データ隠蔽に関する。
【発明の概要】
【課題を解決するための手段】
【0003】
[0003] 代表的な実施形態は、いかなるタイプの2値画像(テキスト若しくはグラフ又はテキスト及び図の混成)及びハーフトーン画像にも適用することができる可逆的2値画像データ隠蔽技術に関する。可逆的データ隠蔽技術は、デジタル画像におけるデータを認知されずに隠蔽すること及び隠蔽されたデータが抽出された後にオリジナルの画像を歪めることなく再構築することをいう。
【0004】
[0004] 少なくとも1つの代表的な実施形態によると、ランレングスヒストグラム修正が可逆的2値画像データ隠蔽に使用されている。具体的には、2値画像のランレングスが生成され、そのヒストグラムは、可逆的にデータを埋め込むために修正される。ヒストグラム修正及びシフトは無損失のデータ隠蔽を実現することができる。
【0005】
[0005] 少なくとも1つの代表的な実施形態によると、黒と白のランレングス操作は、可逆的データ隠蔽に使用されるヒストグラムペア演算と組み合わされる。カバー2値画像内の孤立した白のピクセルが可逆性を損失しかねないという問題を解決するために黒と白のランレングスはどちらも操作される。データ埋め込み能力を向上させ、マークされた2値画像(データが中に隠蔽されている2値画像)のビジュアルクオリティを高めるために、ランレングスヒストグラム修正に基づく可逆的データ隠蔽を適用する前に、カバー2値画像に対して論理演算を含む変形が適用される。ランレングスヒストグラムに基づくデータ抽出技術を用いたデータ抽出の後に残っているものに対して、対応する逆変形が適用される。本明細書中に示される代表的な変形は、AND演算の使用及びXOR演算を含む。
【0006】
[0006] 代表的な実施形態は、非ハーフトーン2値画像及びハーフトーン2値画像の両方に適用することができる。これらは、テキスト、グラフ及びテキストと図の混成の2値画像に使用することができる。これらの2値画像は、カメラ若しくはスキャナ、又はワードプロセッサ、又はコンピュータグラフィックソフトウェアによって生成されうる。ワードプロセッシングソフトウェアを必要とせずに、データは、2値画像に直接埋め込まれうる。2値テキスト画像への無損失データ隠蔽のために、「行分割」又は「語分割」を行う必要はない。代表的な実施形態で隠蔽されたデータを抽出する際、オリジナルの2値画像は必要でない。隠蔽されたデータを有する2値画像は、人間の視覚システムでは認識できない。ホスト2値画像の解像度が高いほど、多くの量のデータを埋め込むことができ、より良い性能が達成できる。代表的な実施形態は、画像認証、アノテーション及びカバーコミュニケーション(しばしばステガノグラフィと呼ばれる)を含む、2値画像を使用した多様な領域に適用することができる。
【0007】
[0007] 本明細書に記載の代表的な実施形態は、ヒストグラムペアに基づく可逆的データ隠蔽を2値画像の黒のランレングスのヒストグラムに適用する可逆的2値画像データ隠蔽を提供する。適切に白及び黒のランレングスを操作することで、白の孤立点をうまく排除することができる。AND演算及びXOR演算などの論理演算は、埋め込み能力を大幅に向上させるためにも使用できる。
【0008】
[0008] 既存の可逆的画像データ隠蔽のスキームと比較すると、本明細書に記載される代表的な実施形態は、同数の変化されたピクセル(従って、同じピーク信号対雑音比(PSNR)によって測定されたマークされた画像のビジュアルクオリティ)において、より多くのデータを埋め込むことができ、オリジナルの画像に対するマークされた画像の変化はより少なくなる。2値画像に同じ量のデータを埋め込むことは、2値非ハーフトーン画像及びハーフトーン画像の両方に適用することができる。すくなくとも1つの代表的な実施形態によると、AND演算での変形他が非ハーフトーン2値画像には好適であり、XOR演算での変形がハーフトーン2値画像には適切であろう。
【0009】
[0009] 他の主な特徴及び利点が、以下の図面、詳細な説明及び添付の請求の範囲をみると当業者には明らかとなろう。
【図面の簡単な説明】
【0010】
[0010] 代表的な実施形態は、以後添付の図面を参照し説明される。
【図1(a)】[0011] 図1(a)は、オリジナルの画像のヒストグラムを示す図である。
【図1(b)】[0012] 図1(b)は、作成されたヒストグラムペアに伴いシフトされた図1(a)のヒストグラム図からの画像のヒストグラムを示す図である。
【図1(c)】[0013] 図1(c)は、ビット1,0が埋め込まれた後の図1(b)のヒストグラム図からの画像のヒストグラムを示す図である。
【図2】[0014] 図2は、代表的な実施形態に従う、AND演算を含む、データ隠蔽処理を示すフロー図である。
【図3】[0015] 図3は、代表的な実施形態に従う、XOR演算を含む、データ隠蔽処理を示すフロー図である。
【図4】[0016] 図4は、代表的な実施形態に従う、データ抽出処理を示すフロー図である。
【図5】[0017] 図5は、代表的な実施形態に従う、データ埋め込みを示すフロー図である。
【図6】[0018] 図6は、代表的な実施形態に従う、データ抽出を示すフロー図である。
【図7(a)】[0019] 図7(a)は、歩くミッキーマウスのオリジナルの画像を示す図である。
【図7(b)】[0020] 図7(b)は、128ビットでマークした図7(a)の画像を示す図である。
【図7(c)】[0021] 図7(c)は、137ピクセルが変更された図7(a)の画像を示す図である。
【図8(a)】[0022] 図8(a)は、図7(a)のヒストグラムを示す図である。
【図8(b)】[0023] 図8(b)は、AND演算後の図7(a)の画像のヒストグラムを示す図である。
【図9(a)】[0024] 図9(a)は、ヒヒのオリジナルの画像を示す図である。
【図9(b)】[0025] 図9(b)は、AND演算を使用して1063ビットでマークした図9(a)の画像を示す図である。
【図9(c)】[0026] 図9(c)は、1644ピクセルが変更された図9(a)の画像を示す図である。
【図10(a)】[0027] 図10(a)は、ヒヒのオリジナルのハーフトーン画像を示す図である。
【図10(b)】[0028] 図10(b)は、埋め込まれた7899ビットでマークされた図10(a)の画像を示す図である。
【図10(c)】[0029] 図10(c)は、6787ビットが変更された図10(a)の画像を示す図である。
【図11(a)】[0030] 図11(a)は、XOR演算で変形する前のランレングスヒストグラムを示す図である。
【図11(b)】[0031] 図11(b)は、XOR演算で変形した後のランレングスヒストグラムを示す図である。
【図12(a)】[0032] 図12(a)は、中国語文書のオリジナルの画像を示す図である。
【図12(b)】[0033] 図12(b)は、埋め込まれた18,037ビットでマークされた図12(a)を示す図である。
【図12(c)】[0034] 図12(c)は、9106ピクセルが変更された図12(a)を示す図である。
【図13(a)】[0035] 図13(a)は、漫画のオリジナルの画像を示す図である。
【図13(b)】[0036] 図13(b)は、埋め込まれたビットでマークされた図13(a)の画像を示す図である。
【図13(c)】[0037] 図13(c)は、ピクセルが変更された図13(a)の画像を示す図である。。
【図14(a)】[0038] 図14(a)は、ニュースレターのオリジナルの画像を示す図である。
【図14(b)】[0039] 図14(b)は、ビット埋め込みマークした図14(a)の画像を示す図である。
【図14(c)】[0040] 図14(c)は、ピクセル変更した図14(a)の画像を示す図である。
【図15(a)】[0041] 図15(a)は、地図のオリジナルの画像を示す図である。
【図15(b)】[0042] 図15(b)は、埋め込まれた18,037ビットでマークされた図15(a)の画像を示す図である。
【図15(c)】[0043] 図15(c)は、9,159ピクセルが変更された図15(a)の画像を示す図である。
【図16】[0044] 図16は、代表的な実施形態の実施についての可逆的2値画像データ隠蔽コンピューティングシステムを示す図である。
【発明を実施するための形態】
【0011】
[0045] 図1(a)は、グレースケール画像の行の一部であり、可逆的データ隠蔽に使用され、5つのピクセル:3,3,1,2,1からなる1次元シーケンス[3,3,1,2,1]に対応するヒストグラムを示す。図1(a)のヒストグラムは、3つの垂直バーを含む。この3つの垂直バーは、h(1)=2、h(2)=1及びh(3)=2によって表されることができる。ここでh(1)=2は、この画像において、グレースケール値1であるピクセルが2つあることを意味する。
【0012】
[0046] 図1(b)は、ヒストグラムペアを使用したデータの埋め込みを示す。ヒストグラムペアベースの無損失データ隠蔽の方法及び装置の一例が、参照により全体が本明細書に組み込まれる、2007年2月19日出願米国特許出願第11/676,399号「Apparatus and Method for Reversible Data Hiding for JPEG Image」に開示されている。例としては、ヒストグラムにおいてグレースケール値2である点が0になるように、1及び/又は2と等しいグレースケールを有するピクセルにおいて、データが埋め込まれる。それゆえ、図1(b)に示すとおり、h(1)=2は変更されない。しかしながら、h(2)=1は、h(3)=1にシフトされ、h(2)=0となり、1つのヒストグラムペア、すなわち[h(1)=2、h(2)=0]ができる。さらに、h(3)=2はh(4)=2にシフトされ、これはh(2)とh(3)とがともに1単位、右方向へとシフトされたことを意味する。このようにして、データは、作成されたヒストグラムペア[h(1)=2,h(2)=0]に埋め込まれることができる。
【0013】
[0047] 2つのビット、1及び0は、作成されたヒストグラムペアに埋め込まれている。ピクセルシーケンスは、左から右へと走査される。グレースケール1を有する最初のピクセル(5つのピクセルのうち3番目)が発見されると、最初に埋め込まれるビットは1であると決定され、3番目のビットのグレースケール値が1から2へと変更される。ピクセルシーケンスは、走査され続ける。グレースケール1を有する2番目のピクセル(5つのピクセルのうち5番目)が発見されると、2番目に埋め込まれるビットは0であると決定され、グレースケール値は変更されない。全てのピクセルが走査されると、埋め込みが完了する。2に等しいグレースケールを有する2つのピクセルが、データ埋め込みに使用された。マークされた画像(データが内部に隠蔽された画像)の得られたヒストグラムを図1(c)に示す。ピクセルクレースケール値シーケンスは、[4,4,2,3,1]となる。
【0014】
[0048] データ抽出の間、マークされた画像は、データ埋め込みの際に従った順番と同じ順番でピクセル毎に走査される。2に等しいグレースケール値を有するピクセル(5つのうちの3番目)が発見されると、ビット1が抽出される。1に等しいグレースケール値を有するピクセル(5つのうちの最後)が発見されると、ビット0が抽出される。ビットシーケンス1、0が抽出された後、2以上の全てのグレースケール値は、値が1つ減少される。このようにして、ピクセルグレースケール値シーケンスは、[4,4,2,3,1]から[3,3,1,2,1]へ戻される。このように、ヒストグラムベースデータ隠蔽スキームは可逆的である。すなわち、埋め込まれたデータは、エラーなく抽出されることができ、オリジナルのカバー画像は、無損失で回復されることができる。
【0015】
[0049] 以下は、ヒストグラムペアベース無損失データ隠蔽プロセスが2値画像のランレングス(RL)のヒストグラムにどのように適用されるかを示すさらなる例である。
【0016】
[0050] 第1の例では、RLヒストグラムを操作することによるデータの2値画像への埋め込み方法が示される。変形前のオペレーションが含まれないことに留意されたい。2行及び15列のみからなる単純な2値画像が、例示のために表1に示されており、0と1はそれぞれ、白のピクセルと黒のピクセルを示すために使用されている。
【表1】
【0017】
[0051] 2値画像のRL及びRLのヒストグラムが表2に示される。黒及び白のランを形成し、次いで対応するRLを数える際に、左から右へ、上の行から下の行へ走査が行われる。すなわち、行x1の末尾が、行x2の先頭とつながり、1次元(1−D)シーケンスを形成する。それから黒及び白のランレングスが決定される。2値画像全体を走査し1−Dシーケンスを形成する他の方法も、実現可能である。さらに、走査シークエンシングの間、黒のRLとそのすぐ隣の白のRLとは対を形成するように結合される。これは、黒のRLと白のRLの対、又は単純にRL対と呼ばれる。黒のRLと白のRLの両方が考慮されることに留意されたい。
【表2】
【0018】
[0052] 代表的な実施形態によると、ヒストグラムペアベース無損失データ隠蔽法は、2値画像にデータを埋め込むことができる。行x1では、最初の1(行x1、列1)について、最初に埋め込まれるビット1が検査される。黒のRLを1から2へ変えるために、行x1及び列2においてピクセルは0から1へと変更される。続いて、対応する白のRLが1つ減少される。次の単一の黒の点(行x2、列3)が検査され、ビット1が埋め込まれるので、白のピクセル(行x2、列4)が黒へと変更される。行x2、列6の単一の黒の点は、ビット0が埋め込まれるので、何も行われない。行2、列9の次の単一の黒の点は、ビット1が埋め込まれるので、次の白のピクセル(行x2、列10)が1へと変更される。行x2、列12の最後の単一の黒のピクセルは、ビット0が埋め込まれるので、何も行われない。結果として得られるデータ埋め込み後の2値画像が、表3に示されており、そのRL及びRLが表4に示される。表4では、2つのパラメータT及びT1がリストされる。Tは、グレースケール画像のヒストグラムペアベース無損失データ隠蔽に使用されるパラメータであり、埋め込み開始位置を示す。ここで、2値画像について、Tは、データが無損失で埋め込まれた黒のRL値を示す。本例では、T=1である。T1は、黒のRLと、そのすぐ後に続く白のランのRLとの総和と等しく定義された別の閾値パラメータであり、これより低い場合は、RL対がデータ埋め込みに使用されない。本例では、T1=3であり、これは、黒のRLとそのすぐ隣の白のRLとの総和が3より小さい場合には、データ埋め込みが黒のRLには適用されないことを意味する。
【0019】
[0053] 隠蔽されたデータを抽出するプロシージャの例を説明する。この段階では、マークされた画像、すなわち、隠蔽されたデータを有する画像、が与えられている。本例では、マークされた画像データは、表3に示される。表3のマークされた画像に基づき、表4に示されるとおり、マークされた画像に関連付けられたRL及びRLのヒストグラムを得ることが可能である。データ埋め込みにおける順番と同じ順番で、すなわち、左から右へ、上から下へ、全ての黒のランが1つずつ検査された。黒のRLが発見されると、ビット0が抽出される。黒のRL2が発見されると、ビット1が抽出される。このようにして、ビットシーケンス「1,1,0,1,0」が抽出される。さらに、ビット1が抽出されると、対応する黒のRL2が1に減少する。このようにして、オリジナルの画像は、全ての隠蔽されたデータが抽出された後に回復されることができる。
【表3】
【表4】
【0020】
[0054] 別の代表的な実施形態によると、変形を伴うRLヒストグラムペア可逆的2値画像データ隠蔽処理は、AND演算を含む。この種の変形においては、カバー画像は初めに、偶数部分と奇数部分の2つの部分に分割される。偶数部分は、全ての偶数行の集合をいい、奇数部分は、全ての奇数行の集合をいう。カバー画像の代替的な分割、例えば、偶数の列の集合と奇数の列の集合、が可能である。偶数行及び奇数の行が、この記載においてカバー画像の2つの部分として使用される。
【0021】
[0055] 図2は、AND演算を含む変形を伴う代表的なRLヒストグラムペア可逆的2値画像データ隠蔽プロセスにおいて実行されるオペレーションのフロー図を示す。特定の実施形態に応じて、追加的、より少ない、又は異なるオペレーションが実行されてよい。オペレーション21において、カバー2値画像が、それぞれX1及びX2と表される、偶数部分と奇数部分に分離される。オペレーション23では、X1のそれぞれの行が検査され、パターンが特定され、それぞれは1つの黒のピクセルから開始され、一連の連続する白のピクセルがこれに続く。
【0022】
[0056] オペレーション25では、オペレーション23で特定されたパターンのそれぞれにつき、すぐ隣の行にある対応する部分のピクセルが検査される。先頭で連続する白のピクセル及び末尾で連続する黒のピクセルは、放棄される。オペレーション27では、結果として得られた部分が、順にリンクされる。シークエンシングの例は、左から右へ、上から下へ、1次元(1−D)2値シーケンスを形成しながら行われる。オペレーション29では、ランレングス技術が、この2値1−Dシーケンスに適用され、結果として得られる全てのランレングスのヒストグラムを形成する。ヒストグラムは、一般にマルチ値である。オペレーション31では、ヒストグラムペアベース無損失データ隠蔽アルゴリズムが、生成されたRLヒストグラムを使用してデータを埋め込むために適用される。
【0023】
[0057] 2行の2値画像の例は、AND演算を伴う事前変形を説明する。上述のとおり、黒と白のピクセル(黒と白の点とも呼ばれる)は、それぞれ1と0で表現される。
【表5】
【0024】
[0058] 表5の最後の列(L3)は、上述のAND演算から得られた2値シーケンスである。この結果として得られた2値シーケンスは、上述のとおり、2値画像にデータを無損失で埋め込むためのRLヒストグラムペアのために使用されることができる。
【0025】
[0059] 表6では、4行、15列を有する別の2値画像が考慮される。上述のプロシージャを適用することによって、画像中の点の3つのシーケンスを特定することが可能であり、これは表7に示される。表7のこれらの3つのシーケンスは、AND演算後の画像の一部である。RLとそのヒストグラムが、表8に示される。黒のRLヒストグラム内にデータ埋め込みに使用することができるヒストグラムペアがあることが分かる。2値ビット「1,1,0,1」が埋め込まれた後の画像の部分が表9に示される。「1,1,0,1」が埋め込まれた後の画像の部分のRLとRLのヒストグラムが表10に示される。この時点では、データ埋め込み後の画像の部分は、画像の偶数部分を形成するよう戻されている。この変更された偶数部分と変更されていない奇数部分を組み合わせることで、マークされた画像が作成され、表11に示される。
【表6】
【表7】
【表8】
【表9】
【表10】
【表11】
【0026】
[0060] 代表的な実施形態によると、表11に与えられるマークされた2値からデータ抽出が開始される。マークされた2値を、奇数部分X1と偶数部分X2に分離することが可能である。データ埋め込みの間、奇数部分X1は変更されないままであるので、奇数部分X1は、データ抽出を手伝う。これは以下のとおりである。偶数部分が抽出された後、変更されていない奇数部分、この例ではとりわけ、x1及びx3を使用して、マークされた画像の部分は、1)x1及びx3内の「連続する0が後に続く1」のパターンの全てを検査すること、2)x2及びx4の点シーケンスをそれぞれ行x1及びx3の真下に置くこと、3)ついで、先頭で連続する白のピクセル及び末尾で連続する黒のピクセルが放棄されることによって特定される。結果として、表12に示されるマークされた画像の部分が得られる。マークされた画像の部分のRL及びRLヒストグラムが表13に示される。表13に示されるヒストグラムの部分[h(1)=1,h(2)=3]について、データ抽出プロシージャが適用され、ビット「1,1,0,1」が得られ、これは表14に示されるマークされた画像の部分を変更したままにしておく。データ抽出後のマークされた画像の部分のRL及びRLヒストグラムは、表15に示される。データ抽出後のマークされた画像の部分(表14)は、ついで偶数部分を回復するために戻されている。表16に示されるとおり、奇数部分と偶数部分を組み合わせて、オリジナルの4行の2値画像が回復される。
【表12】
【表13】
【表14】
【表15】
【表16】
【0027】
[0061] 図3は、XOR演算を含む変形を伴うRLヒストグラムペア可逆的2値画像データ隠蔽プロセスにおいて実行されるオペレーションのフロー図を示す。特定の実施形態に応じて、追加的、より少ない、又は異なるオペレーションが実行されてもよい。オペレーション33において、カバー2値画像Xは、それぞれX1及びX2と表される奇数と偶数の2つの部分に分離される。X2のそれぞれの行について、オペレーション35において、XOR演算などの論理演算が行とその真上の行に適用される。オペレーション37において、全ての行は、その上から下への順番を保ちながら、共にリストされ、それゆえ2次元アレイYを形成する。オペレーション39では、画像Yが行毎に上から下へ、左から右へ、先頭で連続する白のピクセル及び末尾で連続する黒のピクセルを無視しながら、走査される。オペレーション41では、RLヒストグラムペア無損失データ埋め込み方法が適用され、別の2次元アレイZが結果として得られる。オペレーション43では、X2の各偶数行は、上から下へ、対応するZの行で置き換えられる。オペレーション45では、X1とZが組み合わされ、X1を奇数部分、Zを対応する偶数部分として扱い、隠蔽されたデータを有するオリジナルの画像である、マークされた画像が結果として得られる。
【0028】
[0062] 表17では、2行、奇数行x1と偶数行x2、15列の2値画像の例が示される。データ埋め込み及び抽出の間、奇数行x1は固定されるが、偶数行x2は画像隠蔽及び抽出の間操作される。
【表17】
【表18】
【表19】
【0029】
[0063] 図4は、データ抽出プロシージャの例において実行されるオペレーションを説明する。特定の実施形態に応じて、追加的、より少ない又は異なるオペレーションが実行されてよい。オペレーション47において、所与の2値画像は、それぞれX1とX2と表される偶数及び奇数の2つの部分に分離される。オペレーション49において、各行について、XOR演算などの論理演算がこの行及びその真上の行(X1に属する)に対して適用される。オペレーション51において、全ての行は、その上から下への順番を保ちながら、共にリストされ、それゆえ2次元アレイYを形成する。オペレーション53では、画像Yは行毎に上から下へ、左から右へ、先頭で連続する白のピクセル及び末尾で連続する黒のピクセルを無視しながら走査される。オペレーション55では、データ抽出プロシージャが適用され、抽出されたデータと別の2次元アレイZが得られる。オペレーション57では、X2の偶数行のそれぞれが、上から下へ、対応するZの行と置き換えられる。オペレーション59では、X1を奇数部分とし、Zを対応する偶数部分として扱い、X1とZが組み合わされ、隠蔽されたデータを有するオリジナルの画像が得られる。
【0030】
[0064] 得られたマークされた画像は表20に示される。記載されたプロシージャを適用することで、抽出されたデータ「1,0,1」及びオリジナルの2値画像が得られる。中間結果ならびにRL及びRLヒストグラムがそれぞれ、表20、21及び22に示される。
【表20】
【表21】
【表22】
【0031】
[0065] グレースケール画像に関して、ヒストグラムペアベーススキームを使用したデータ埋め込みの後、空間領域のグレースケール値が許容範囲を超えるということを意味するアンダーフロー及び/又はオーバーフローを引き起こす可能性がある。例えば、整数ウェーブレット係数へデータが埋め込まれた後の8ビットグレースケール画像について、グレースケール値が[0,255]として記される0から255の範囲を超える可能性がある。結果として得られるグレースケール値が0より小さい場合、これはアンダーフローと呼ばれ、255を超える場合はオーバーフローと呼ばれる。2値画像への無損失データ隠蔽においても同様の問題が存在し、これを本明細書では境界問題と呼ぶ。
【0032】
[0066] 本明細書に記載の代表的な実施形態は、データを埋め込むために、ヒストグラムベース無損失データ隠蔽スキームをランレングス(RL)のヒストグラムに適用する。上述のとおり、選択されたヒストグラムペアについて、ビット1を埋め込むことは、黒のランレングスを1つだけ増加させ直後の白のピクセルを1つだけ減らすことになる。この方法で、黒と白のランレングスの対を調整することによって、データ埋め込み後の2値画像の外観が、オリジナルの外観と類似したままとなる、すなわち、人間の視覚システムでは容易に変更を認識することができない。さらに、隠蔽されたデータは後にマークされた画像から無損失で抽出することができる。しかしながら、白のランレングスが1(孤立した白の点と呼ばれる)である場合、境界問題が起きえ、その直後の黒のランレングスが、ビット1を埋め込むために1だけ追加される。つまり、データ埋め込みルールによると、黒のランレングスは、1つだけ増加する必要があり、後続の白のスペースは1つ減少する必要があり、結果として白のランレングスが0になる。一度この現象が発生すると、データは可逆的に回復されることができなくなり、これは可逆性を損失する問題を示している。
【0033】
[0067] 所与の2値画像が、ランレングスが1である白のランレングスを有さない場合、境界問題は存在しない。すなわち、2値画像が孤立した白の点を有さない場合である。2値画像への代表的な無損失データ隠蔽アプローチは、問題なく機能する。以下は、境界問題への解決方法を含む実施形態である。
【0034】
[0068] 境界問題が発生した場合、代表的な実施形態を、2値画像に無損失データ隠蔽に適用するいくつかの方法がある。つまり、上述の境界問題を回避するいくつかの異なる方法がある。この境界問題を解決する1つの方法は、データ隠蔽に先立ち、所与の2値画像の解像度を2倍にすることである。孤立した白の点は、解像度が2倍にされた後で消失する。この高解像度2値画像に、無損失データ隠蔽スキームが適用される。データ抽出の後、解像度は、元に戻すことができる。このようにして、境界問題は、回避されることができる。しかし、マークされた画像は、2倍の解像度であることに留意されたい。
【0035】
[0069] 境界問題を解決する別の方法は、無損失データ隠蔽の前に、所与の2値画像の境界問題が存在しないエリアを確認することである。ついで、代表的な実施形態が、所与の2値画像のこれらのエリアに対してのみ適用される。その際、復号側は、この情報を通知されるべきである。
【0036】
[0070] 黒のランレングスの特定の範囲の値についてデータが埋め込まれた場合に境界問題が発見されないことが判明した場合、データは、この範囲内の黒のランレングスにのみ埋め込まれる。上述のケース2と同様に、いずれにしてもデータ抽出側はこの情報を通知されるべきである。
【0037】
[0071] 境界問題の1つの対処法は、以下に説明するように事前処理に依存することである。すなわち、事前処理は、白のランレングスが1である状況、すなわち、2値画像の行に孤立した白のピクセルがある状況を排除することができる。このようなタイプの事前処理の1つは、孤立した白のピクセルを排除するためのローパスフィルタであることができ、孤立した白のピクセルがより長い黒のランレングスを形成するように黒のピクセルで置き換えられるということを意味する。この状況では、埋め込まれたデータは、無損失で回復されることができる。しかしながら、画像回復に関して、オリジナルの2値画像ではなく、事前処理された2値画像のみが無損失で回復されることができる。境界問題に対するこの解決案は、オリジナルの画像を正確に無損失で回復することができないが、デジタル埋め込み/透かしの新技術としていくつかのアプリケーションに応用することができる。
【0038】
[0072] 少なくとも1つの代表的な実施形態が、孤立した白の点を円滑に対処する。全ての白のランレングス値は、データ埋め込みの前に検査される。白のランレングスが1である場合については、ランレングス対、すなわち、その直後の黒のランレングスとこの白のランレングス(この孤立した白の点と関連づけられる)、が考慮される。白のRLは1つだけ増加され、黒のRL(このRL対にある)は1つだけ減少される。このようにして、黒のRLと白のRLの総和が変化することなく、孤立した白の点が排除された。上述のとおり、この種の情報は、データ抽出及びオリジナルの画像回復において使用することができるよう、記録される必要がある。
【0039】
[0073] 黒のRLと白のRLの総和が2である場合、つまり、黒のRLと白のRLの両方が1に等しい場合には、上述の提案された方法は機能しない場合があることに留意されたい。この起こりうる問題を解決するために、RL対内の黒のRLと白のRLの総和として画定される別の閾値T1が設定される。T1は少なくとも3である。言い換えると、RL対の黒のRLと白のRLの総和がT1と等しいか又はこれより大きいRL対に対してのみデータが埋め込まれる。さらに、T1を選択することは、提案された無損失データ隠蔽スキームをより効果的にする。
【0040】
[0074] 表23において、2行、15列の2値画像が示される。2行目の14列目に位置し、下線がひかれた孤立した白の点が見られる。この2値画像のRLとRLヒストグラムが表24に示される。RLを算出する際、画像全体は、特定の順番で、例えば、左から右、又は上から下へと走査される。1行目の先頭で連続する白の点と2行目の末尾の連続する黒の点は、無視される。孤立した白の点含むRL対は、<2,1>、すなわち、表24に示される最後のRL対である。この対では、黒のRLが2で、白のRLが1である。言い換えると、黒のRLと白のRLの総和は3である。それゆえ、上述の通り、孤立した白の点の一番左にある黒の点、すなわち、2行目、13列に位置する黒の点を白の点に変更することによってこの孤立した白の点を排除することが可能である。この変更の後の、結果として得られる2値画像が表25に示され、対応するRLとRLヒストグラムが表26に示される。修正された2値画像は、データ隠蔽の準備がこれで整った。しかし、データ隠蔽における可逆性を達成するためには、この変更、すなわち、2行13列目の黒の点が白の点へ変更されたことは、隠蔽されたデータの抽出の後で、オリジナルの2値画像回復の際に使用できるよう記録されるべきである。
【表23】
【表24】
【表25】
【表26】
【0041】
[0075] 代表的なデータ埋め込み処理のブロック図が図5に示される。論理演算を含む変形は任意である。可逆的データ隠蔽において、変形は大抵よりよい性能をもたらすが、変形を使用せずともデータを2値画像に可逆的に埋め込むことができる。代表的なデータ抽出のブロック図が図6に示される。「論理演算を含む変形」はデータ埋め込みにおいては任意であるから、データ抽出においても任意である。
【0042】
[0076] 代表的な実施形態の実施例が、以下の「歩いているミッキー」の画像及び中国語の画像の実験結果で実証される。「歩いているミッキー」の2値画像のサイズは、274×312である。画像は、AND演算を含む変形を伴う無損失データ隠蔽アルゴリズムが適用されている。計128ビットが一回の埋め込みで埋め込まれ、ブックキーピングデータは、この128ビットには含まれていない。マークされた画像中に、オリジナルの画像とは異なるピクセルが137ある。歩いているミッキーの画像及びAND演算の前後の黒のランレングスのヒストグラムがそれぞれ図7及び図8に示される。図8(a)及び(b)に示されるヒストグラムから、AND演算の後の黒のランレングス(RL)が短いRLの端により集中しているということが認められ、これはAND演算が担う積極的な役割を意味する。VI Simposio Brasileiro em Seguranca da Incormacao e de Sistemas Computacionais(SBSeg), Santos, SP, Brasil, 2006におけるS.V.D.Pamboukian及びH.Y.Kimによる「Reversible Data Hiding and Reversible Authentication Watermarking for Binary Images」において、Pamboukianらは、同じ歩いているミッキー画像に128ビットを埋め込むために、彼らの可逆的2値画像データ隠蔽技術を使用し、データ埋め込みの後で変更されたピクセルが496得られた。Pamboukianらの方法と比べて、代表的な実施形態の技術は、同量の128ビットを埋め込む一方で、137ピクセルのみを異ならせる。
【0043】
[0077] グレースケールのヒヒの画像にマトラボ(Matlab)でim2bwオペレーションを適用することでヒヒの非ハーフトーン2値画像が得られる。サイズは、512×512である。1回の埋め込みで1063ビットが埋め込まれる。230ビットのブックキーピングデータは、1063ビットのペイロードには数えられていない。マークされた画像中にはオリジナルの2値画像と異なるピクセルが1694存在する。ヒヒのオリジナルの画像、マークされた画像、差異画像が、図9(a)、9(b)及び9(c)に示される。
【0044】
[0078] 表27は、ヒヒの512×512の非ハーフトーン2値画像へのAND演算を用いた変形を伴う、データ埋め込みの一連の実験を含む。2値画像のPSNRは、以下の式を用いて算出される。Nが2値画像のピクセルの総数であり、F及びfがピクセル値(2値画像では0か1)である。i=1,・・・,Nである。
【数1】
【表27】
【0045】
[0079] さらに、代表的な実施形態は、2値画像にデータを複数回埋め込むために使用されうる。その1つの方法は、複数回のデータ埋め込みを実施するために、交互に奇数部分(偶数部分は固定)にデータを埋め込み、ついで偶数部分(奇数部分は固定)にデータを埋め込む。別の方法は、複数回のデータ埋め込みのために、2値画像を90度ずつ繰り返し回転させるものである。表28は、AND演算を使用した変形を伴う非ハーフトーンのヒヒ画像への複数回のデータ埋め込みに関する情報を含む。
【表28】
【0046】
[0080] マトラボでディザーオペレーションをヒヒのグレースケール画像に適用することによってヒヒのハーフトーン画像が得られる。サイズは、512×512である。1回の埋め込みで総数7699ビットが埋め込まれ、1491ビットのブックキーピングデータは除外されている。データ隠蔽中に変更されたピクセルが6787ある。この変形においては、XOR演算が使用された。ヒヒの画像及びXOR演算の前後の黒のランレングスのヒストグラムがそれぞれ図10(a)、10(b)及び10(c)並びに図11(a)及び図11(b)に示される。図11(b)から、XOR演算を含む変形後の黒のランレングスのヒストグラムが、下側がより濃くなっていること、従ってデータ埋め込みが促進されていることが認められる。様々な容量でのヒヒのハーフトーン画像への1回のデータ埋め込みが表29に示される。
【表29】
【0047】
[0081] 図12(a)、12(b)及び12(c)において、3つの中国語の文書画像が示される。サイズは、1654×2338である。118,037ビットが可逆的に埋め込まれている。PSNRは、26.2805dBである。オリジナルの画像、マークされた画像、差異画像を含む他の例示的画像は、漫画を示す図13(a)から13(c)、ニュースレターを示す図14(a)から14(c)及び地図を示す図15(a)から15(c)に含まれる。
【0048】
[0082] 図16を参照し、代表的な実施形態を実装するための、可逆的2値画像データ隠蔽コンピューティングシステムが示される。図16は、プロセッサ110、メモリ120及び1つ以上のドライブ130を含むコンピュータ100を含む。ドライブ130及びこれらの関連コンピュータ記憶媒体は、コンピュータ100に対してコンピュータ可読命令、データ命令、プログラムモジュール及び他のデータの保存を提供する。ドライブ130は、オペレーティングシステム140、アプリケーションプログラム150、プログラムモジュール160及びデータベース180を含むことができる。コンピュータ100はさらに、これを介してユーザがコマンド及びデータを入力することができる入力装置190を含む。入力装置は、電子デジタイザ、マイクロフォン、キーボード及び一般にマウスと呼ばれるポインティング装置、トラックボール又はタッチパッドを含むことができる。他の入力装置は、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどを含みうる。
【0049】
[0083] これらの及び他の入力装置は、プロセッサ110に、システムバスに連結されたユーザ入力インターフェースを介して接続されることができるが、他のインターフェース及びパラレルポート、ゲームポート又はユニバーサルシリアルバス(USB)などのバス構造によって連結されてもよい。コンピュータ100などのコンピュータはまた、スピーカなどの、出力周辺インターフェース194などを介して接続されうる他の周辺出力装置を含みうる。
【0050】
[0084] 示されるとおり、コンピュータ100は、図1から15に関して記述された代表的な埋め込み及び抽出の実施形態を実装する。一例として、メモリ120は、図2から6のフロー図に関して記載されたオペレーションを実行するためにプログラムされた命令を含むことができる。プロセッサ110は、メモリ120に含まれた命令を実行する。代表的な実施形態によると、オリジナルの画像は、あるデータを埋め込むために変形され、埋め込まれたデータを含む画像は、埋め込まれたデータを抽出するために変形される。よってこの方法のオペレーションは、コンピュータ100などの特定の機械で実行され、さらに、この方法のオペレーションは、少なくとも画像へ埋め込むか又は画像から抽出することによってデータを変形させる。
【0051】
[0085] コンピュータ100は、ネットワークインターフェース196に接続されたリモートコンピュータなどの1つ以上のコンピュータへの論理接続を使用するネットワーク環境で動作する。リモートコンピュータは、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、又は他の共通のネットワークノードであってよく、コンピュータ100に関する上述の多数の又は全ての要素を含むことができる。ネットワーク環境は、オフィスにおけるコモンプレイス、エンタープライズワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、イントラネット、及びインターネットである。例えば、本願の主題では、コンピュータ100は、そこからデータが移動されてくるソース装置を備えてよく、リモートコンピュータは、デスティネーション装置を備えてもよく、その逆でもよい。ただし、ソース及びデスティネーション装置は、ネットワーク108又は他の手段によって接続される必要はないが、かわりに、データは、ソースプラットフォームによって書き込まれることができ、デスティネーションプラットフォームにより読み込むことができる媒体を介して移動されうる。LAN又はWLANネットワーク環境で使用される場合、コンピュータ100は、ネットワークインターフェース196又はアダプタを介してLANに接続される。WANネットワーク環境で使用される場合では、コンピュータ100は典型的には、インターネット又はネットワーク108などのWAN上での通信を確立するためのモデム又は他の手段を含む。コンピュータ間の通信リンクを確立するための他の手段が使用されてよいことが理解されるだろう。
【0052】
[0086] 上の記載は、例示及び説明のために提示されている。記載された正確な形態に対して排他的又は限定的であるようには意図されておらず、上述の教示に照らして改良及び変形が可能であり、記載された実施形態の実行から得られる。
【背景技術】
【0001】
関連出願の相互参照
[0001] 本出願は、2008年2月1日に出願された米国仮出願第61/063,241号「REVERSIBLE BINARY IMAGE DATA HIDING USING RUN-LENGTH HISTOGRAM AND LOGICAL OPERATION」の優先権を主張する。
【0002】
[0002] 開示の主題は、一般に、データ埋め込み及びデジタル形式画像からのデータ抽出に関する。より具体的には、開示は、ランレングスヒストグラム修正(run-length histogram modification)及び論理演算を使用した可逆的2値画像データ隠蔽に関する。
【発明の概要】
【課題を解決するための手段】
【0003】
[0003] 代表的な実施形態は、いかなるタイプの2値画像(テキスト若しくはグラフ又はテキスト及び図の混成)及びハーフトーン画像にも適用することができる可逆的2値画像データ隠蔽技術に関する。可逆的データ隠蔽技術は、デジタル画像におけるデータを認知されずに隠蔽すること及び隠蔽されたデータが抽出された後にオリジナルの画像を歪めることなく再構築することをいう。
【0004】
[0004] 少なくとも1つの代表的な実施形態によると、ランレングスヒストグラム修正が可逆的2値画像データ隠蔽に使用されている。具体的には、2値画像のランレングスが生成され、そのヒストグラムは、可逆的にデータを埋め込むために修正される。ヒストグラム修正及びシフトは無損失のデータ隠蔽を実現することができる。
【0005】
[0005] 少なくとも1つの代表的な実施形態によると、黒と白のランレングス操作は、可逆的データ隠蔽に使用されるヒストグラムペア演算と組み合わされる。カバー2値画像内の孤立した白のピクセルが可逆性を損失しかねないという問題を解決するために黒と白のランレングスはどちらも操作される。データ埋め込み能力を向上させ、マークされた2値画像(データが中に隠蔽されている2値画像)のビジュアルクオリティを高めるために、ランレングスヒストグラム修正に基づく可逆的データ隠蔽を適用する前に、カバー2値画像に対して論理演算を含む変形が適用される。ランレングスヒストグラムに基づくデータ抽出技術を用いたデータ抽出の後に残っているものに対して、対応する逆変形が適用される。本明細書中に示される代表的な変形は、AND演算の使用及びXOR演算を含む。
【0006】
[0006] 代表的な実施形態は、非ハーフトーン2値画像及びハーフトーン2値画像の両方に適用することができる。これらは、テキスト、グラフ及びテキストと図の混成の2値画像に使用することができる。これらの2値画像は、カメラ若しくはスキャナ、又はワードプロセッサ、又はコンピュータグラフィックソフトウェアによって生成されうる。ワードプロセッシングソフトウェアを必要とせずに、データは、2値画像に直接埋め込まれうる。2値テキスト画像への無損失データ隠蔽のために、「行分割」又は「語分割」を行う必要はない。代表的な実施形態で隠蔽されたデータを抽出する際、オリジナルの2値画像は必要でない。隠蔽されたデータを有する2値画像は、人間の視覚システムでは認識できない。ホスト2値画像の解像度が高いほど、多くの量のデータを埋め込むことができ、より良い性能が達成できる。代表的な実施形態は、画像認証、アノテーション及びカバーコミュニケーション(しばしばステガノグラフィと呼ばれる)を含む、2値画像を使用した多様な領域に適用することができる。
【0007】
[0007] 本明細書に記載の代表的な実施形態は、ヒストグラムペアに基づく可逆的データ隠蔽を2値画像の黒のランレングスのヒストグラムに適用する可逆的2値画像データ隠蔽を提供する。適切に白及び黒のランレングスを操作することで、白の孤立点をうまく排除することができる。AND演算及びXOR演算などの論理演算は、埋め込み能力を大幅に向上させるためにも使用できる。
【0008】
[0008] 既存の可逆的画像データ隠蔽のスキームと比較すると、本明細書に記載される代表的な実施形態は、同数の変化されたピクセル(従って、同じピーク信号対雑音比(PSNR)によって測定されたマークされた画像のビジュアルクオリティ)において、より多くのデータを埋め込むことができ、オリジナルの画像に対するマークされた画像の変化はより少なくなる。2値画像に同じ量のデータを埋め込むことは、2値非ハーフトーン画像及びハーフトーン画像の両方に適用することができる。すくなくとも1つの代表的な実施形態によると、AND演算での変形他が非ハーフトーン2値画像には好適であり、XOR演算での変形がハーフトーン2値画像には適切であろう。
【0009】
[0009] 他の主な特徴及び利点が、以下の図面、詳細な説明及び添付の請求の範囲をみると当業者には明らかとなろう。
【図面の簡単な説明】
【0010】
[0010] 代表的な実施形態は、以後添付の図面を参照し説明される。
【図1(a)】[0011] 図1(a)は、オリジナルの画像のヒストグラムを示す図である。
【図1(b)】[0012] 図1(b)は、作成されたヒストグラムペアに伴いシフトされた図1(a)のヒストグラム図からの画像のヒストグラムを示す図である。
【図1(c)】[0013] 図1(c)は、ビット1,0が埋め込まれた後の図1(b)のヒストグラム図からの画像のヒストグラムを示す図である。
【図2】[0014] 図2は、代表的な実施形態に従う、AND演算を含む、データ隠蔽処理を示すフロー図である。
【図3】[0015] 図3は、代表的な実施形態に従う、XOR演算を含む、データ隠蔽処理を示すフロー図である。
【図4】[0016] 図4は、代表的な実施形態に従う、データ抽出処理を示すフロー図である。
【図5】[0017] 図5は、代表的な実施形態に従う、データ埋め込みを示すフロー図である。
【図6】[0018] 図6は、代表的な実施形態に従う、データ抽出を示すフロー図である。
【図7(a)】[0019] 図7(a)は、歩くミッキーマウスのオリジナルの画像を示す図である。
【図7(b)】[0020] 図7(b)は、128ビットでマークした図7(a)の画像を示す図である。
【図7(c)】[0021] 図7(c)は、137ピクセルが変更された図7(a)の画像を示す図である。
【図8(a)】[0022] 図8(a)は、図7(a)のヒストグラムを示す図である。
【図8(b)】[0023] 図8(b)は、AND演算後の図7(a)の画像のヒストグラムを示す図である。
【図9(a)】[0024] 図9(a)は、ヒヒのオリジナルの画像を示す図である。
【図9(b)】[0025] 図9(b)は、AND演算を使用して1063ビットでマークした図9(a)の画像を示す図である。
【図9(c)】[0026] 図9(c)は、1644ピクセルが変更された図9(a)の画像を示す図である。
【図10(a)】[0027] 図10(a)は、ヒヒのオリジナルのハーフトーン画像を示す図である。
【図10(b)】[0028] 図10(b)は、埋め込まれた7899ビットでマークされた図10(a)の画像を示す図である。
【図10(c)】[0029] 図10(c)は、6787ビットが変更された図10(a)の画像を示す図である。
【図11(a)】[0030] 図11(a)は、XOR演算で変形する前のランレングスヒストグラムを示す図である。
【図11(b)】[0031] 図11(b)は、XOR演算で変形した後のランレングスヒストグラムを示す図である。
【図12(a)】[0032] 図12(a)は、中国語文書のオリジナルの画像を示す図である。
【図12(b)】[0033] 図12(b)は、埋め込まれた18,037ビットでマークされた図12(a)を示す図である。
【図12(c)】[0034] 図12(c)は、9106ピクセルが変更された図12(a)を示す図である。
【図13(a)】[0035] 図13(a)は、漫画のオリジナルの画像を示す図である。
【図13(b)】[0036] 図13(b)は、埋め込まれたビットでマークされた図13(a)の画像を示す図である。
【図13(c)】[0037] 図13(c)は、ピクセルが変更された図13(a)の画像を示す図である。。
【図14(a)】[0038] 図14(a)は、ニュースレターのオリジナルの画像を示す図である。
【図14(b)】[0039] 図14(b)は、ビット埋め込みマークした図14(a)の画像を示す図である。
【図14(c)】[0040] 図14(c)は、ピクセル変更した図14(a)の画像を示す図である。
【図15(a)】[0041] 図15(a)は、地図のオリジナルの画像を示す図である。
【図15(b)】[0042] 図15(b)は、埋め込まれた18,037ビットでマークされた図15(a)の画像を示す図である。
【図15(c)】[0043] 図15(c)は、9,159ピクセルが変更された図15(a)の画像を示す図である。
【図16】[0044] 図16は、代表的な実施形態の実施についての可逆的2値画像データ隠蔽コンピューティングシステムを示す図である。
【発明を実施するための形態】
【0011】
[0045] 図1(a)は、グレースケール画像の行の一部であり、可逆的データ隠蔽に使用され、5つのピクセル:3,3,1,2,1からなる1次元シーケンス[3,3,1,2,1]に対応するヒストグラムを示す。図1(a)のヒストグラムは、3つの垂直バーを含む。この3つの垂直バーは、h(1)=2、h(2)=1及びh(3)=2によって表されることができる。ここでh(1)=2は、この画像において、グレースケール値1であるピクセルが2つあることを意味する。
【0012】
[0046] 図1(b)は、ヒストグラムペアを使用したデータの埋め込みを示す。ヒストグラムペアベースの無損失データ隠蔽の方法及び装置の一例が、参照により全体が本明細書に組み込まれる、2007年2月19日出願米国特許出願第11/676,399号「Apparatus and Method for Reversible Data Hiding for JPEG Image」に開示されている。例としては、ヒストグラムにおいてグレースケール値2である点が0になるように、1及び/又は2と等しいグレースケールを有するピクセルにおいて、データが埋め込まれる。それゆえ、図1(b)に示すとおり、h(1)=2は変更されない。しかしながら、h(2)=1は、h(3)=1にシフトされ、h(2)=0となり、1つのヒストグラムペア、すなわち[h(1)=2、h(2)=0]ができる。さらに、h(3)=2はh(4)=2にシフトされ、これはh(2)とh(3)とがともに1単位、右方向へとシフトされたことを意味する。このようにして、データは、作成されたヒストグラムペア[h(1)=2,h(2)=0]に埋め込まれることができる。
【0013】
[0047] 2つのビット、1及び0は、作成されたヒストグラムペアに埋め込まれている。ピクセルシーケンスは、左から右へと走査される。グレースケール1を有する最初のピクセル(5つのピクセルのうち3番目)が発見されると、最初に埋め込まれるビットは1であると決定され、3番目のビットのグレースケール値が1から2へと変更される。ピクセルシーケンスは、走査され続ける。グレースケール1を有する2番目のピクセル(5つのピクセルのうち5番目)が発見されると、2番目に埋め込まれるビットは0であると決定され、グレースケール値は変更されない。全てのピクセルが走査されると、埋め込みが完了する。2に等しいグレースケールを有する2つのピクセルが、データ埋め込みに使用された。マークされた画像(データが内部に隠蔽された画像)の得られたヒストグラムを図1(c)に示す。ピクセルクレースケール値シーケンスは、[4,4,2,3,1]となる。
【0014】
[0048] データ抽出の間、マークされた画像は、データ埋め込みの際に従った順番と同じ順番でピクセル毎に走査される。2に等しいグレースケール値を有するピクセル(5つのうちの3番目)が発見されると、ビット1が抽出される。1に等しいグレースケール値を有するピクセル(5つのうちの最後)が発見されると、ビット0が抽出される。ビットシーケンス1、0が抽出された後、2以上の全てのグレースケール値は、値が1つ減少される。このようにして、ピクセルグレースケール値シーケンスは、[4,4,2,3,1]から[3,3,1,2,1]へ戻される。このように、ヒストグラムベースデータ隠蔽スキームは可逆的である。すなわち、埋め込まれたデータは、エラーなく抽出されることができ、オリジナルのカバー画像は、無損失で回復されることができる。
【0015】
[0049] 以下は、ヒストグラムペアベース無損失データ隠蔽プロセスが2値画像のランレングス(RL)のヒストグラムにどのように適用されるかを示すさらなる例である。
【0016】
[0050] 第1の例では、RLヒストグラムを操作することによるデータの2値画像への埋め込み方法が示される。変形前のオペレーションが含まれないことに留意されたい。2行及び15列のみからなる単純な2値画像が、例示のために表1に示されており、0と1はそれぞれ、白のピクセルと黒のピクセルを示すために使用されている。
【表1】
【0017】
[0051] 2値画像のRL及びRLのヒストグラムが表2に示される。黒及び白のランを形成し、次いで対応するRLを数える際に、左から右へ、上の行から下の行へ走査が行われる。すなわち、行x1の末尾が、行x2の先頭とつながり、1次元(1−D)シーケンスを形成する。それから黒及び白のランレングスが決定される。2値画像全体を走査し1−Dシーケンスを形成する他の方法も、実現可能である。さらに、走査シークエンシングの間、黒のRLとそのすぐ隣の白のRLとは対を形成するように結合される。これは、黒のRLと白のRLの対、又は単純にRL対と呼ばれる。黒のRLと白のRLの両方が考慮されることに留意されたい。
【表2】
【0018】
[0052] 代表的な実施形態によると、ヒストグラムペアベース無損失データ隠蔽法は、2値画像にデータを埋め込むことができる。行x1では、最初の1(行x1、列1)について、最初に埋め込まれるビット1が検査される。黒のRLを1から2へ変えるために、行x1及び列2においてピクセルは0から1へと変更される。続いて、対応する白のRLが1つ減少される。次の単一の黒の点(行x2、列3)が検査され、ビット1が埋め込まれるので、白のピクセル(行x2、列4)が黒へと変更される。行x2、列6の単一の黒の点は、ビット0が埋め込まれるので、何も行われない。行2、列9の次の単一の黒の点は、ビット1が埋め込まれるので、次の白のピクセル(行x2、列10)が1へと変更される。行x2、列12の最後の単一の黒のピクセルは、ビット0が埋め込まれるので、何も行われない。結果として得られるデータ埋め込み後の2値画像が、表3に示されており、そのRL及びRLが表4に示される。表4では、2つのパラメータT及びT1がリストされる。Tは、グレースケール画像のヒストグラムペアベース無損失データ隠蔽に使用されるパラメータであり、埋め込み開始位置を示す。ここで、2値画像について、Tは、データが無損失で埋め込まれた黒のRL値を示す。本例では、T=1である。T1は、黒のRLと、そのすぐ後に続く白のランのRLとの総和と等しく定義された別の閾値パラメータであり、これより低い場合は、RL対がデータ埋め込みに使用されない。本例では、T1=3であり、これは、黒のRLとそのすぐ隣の白のRLとの総和が3より小さい場合には、データ埋め込みが黒のRLには適用されないことを意味する。
【0019】
[0053] 隠蔽されたデータを抽出するプロシージャの例を説明する。この段階では、マークされた画像、すなわち、隠蔽されたデータを有する画像、が与えられている。本例では、マークされた画像データは、表3に示される。表3のマークされた画像に基づき、表4に示されるとおり、マークされた画像に関連付けられたRL及びRLのヒストグラムを得ることが可能である。データ埋め込みにおける順番と同じ順番で、すなわち、左から右へ、上から下へ、全ての黒のランが1つずつ検査された。黒のRLが発見されると、ビット0が抽出される。黒のRL2が発見されると、ビット1が抽出される。このようにして、ビットシーケンス「1,1,0,1,0」が抽出される。さらに、ビット1が抽出されると、対応する黒のRL2が1に減少する。このようにして、オリジナルの画像は、全ての隠蔽されたデータが抽出された後に回復されることができる。
【表3】
【表4】
【0020】
[0054] 別の代表的な実施形態によると、変形を伴うRLヒストグラムペア可逆的2値画像データ隠蔽処理は、AND演算を含む。この種の変形においては、カバー画像は初めに、偶数部分と奇数部分の2つの部分に分割される。偶数部分は、全ての偶数行の集合をいい、奇数部分は、全ての奇数行の集合をいう。カバー画像の代替的な分割、例えば、偶数の列の集合と奇数の列の集合、が可能である。偶数行及び奇数の行が、この記載においてカバー画像の2つの部分として使用される。
【0021】
[0055] 図2は、AND演算を含む変形を伴う代表的なRLヒストグラムペア可逆的2値画像データ隠蔽プロセスにおいて実行されるオペレーションのフロー図を示す。特定の実施形態に応じて、追加的、より少ない、又は異なるオペレーションが実行されてよい。オペレーション21において、カバー2値画像が、それぞれX1及びX2と表される、偶数部分と奇数部分に分離される。オペレーション23では、X1のそれぞれの行が検査され、パターンが特定され、それぞれは1つの黒のピクセルから開始され、一連の連続する白のピクセルがこれに続く。
【0022】
[0056] オペレーション25では、オペレーション23で特定されたパターンのそれぞれにつき、すぐ隣の行にある対応する部分のピクセルが検査される。先頭で連続する白のピクセル及び末尾で連続する黒のピクセルは、放棄される。オペレーション27では、結果として得られた部分が、順にリンクされる。シークエンシングの例は、左から右へ、上から下へ、1次元(1−D)2値シーケンスを形成しながら行われる。オペレーション29では、ランレングス技術が、この2値1−Dシーケンスに適用され、結果として得られる全てのランレングスのヒストグラムを形成する。ヒストグラムは、一般にマルチ値である。オペレーション31では、ヒストグラムペアベース無損失データ隠蔽アルゴリズムが、生成されたRLヒストグラムを使用してデータを埋め込むために適用される。
【0023】
[0057] 2行の2値画像の例は、AND演算を伴う事前変形を説明する。上述のとおり、黒と白のピクセル(黒と白の点とも呼ばれる)は、それぞれ1と0で表現される。
【表5】
【0024】
[0058] 表5の最後の列(L3)は、上述のAND演算から得られた2値シーケンスである。この結果として得られた2値シーケンスは、上述のとおり、2値画像にデータを無損失で埋め込むためのRLヒストグラムペアのために使用されることができる。
【0025】
[0059] 表6では、4行、15列を有する別の2値画像が考慮される。上述のプロシージャを適用することによって、画像中の点の3つのシーケンスを特定することが可能であり、これは表7に示される。表7のこれらの3つのシーケンスは、AND演算後の画像の一部である。RLとそのヒストグラムが、表8に示される。黒のRLヒストグラム内にデータ埋め込みに使用することができるヒストグラムペアがあることが分かる。2値ビット「1,1,0,1」が埋め込まれた後の画像の部分が表9に示される。「1,1,0,1」が埋め込まれた後の画像の部分のRLとRLのヒストグラムが表10に示される。この時点では、データ埋め込み後の画像の部分は、画像の偶数部分を形成するよう戻されている。この変更された偶数部分と変更されていない奇数部分を組み合わせることで、マークされた画像が作成され、表11に示される。
【表6】
【表7】
【表8】
【表9】
【表10】
【表11】
【0026】
[0060] 代表的な実施形態によると、表11に与えられるマークされた2値からデータ抽出が開始される。マークされた2値を、奇数部分X1と偶数部分X2に分離することが可能である。データ埋め込みの間、奇数部分X1は変更されないままであるので、奇数部分X1は、データ抽出を手伝う。これは以下のとおりである。偶数部分が抽出された後、変更されていない奇数部分、この例ではとりわけ、x1及びx3を使用して、マークされた画像の部分は、1)x1及びx3内の「連続する0が後に続く1」のパターンの全てを検査すること、2)x2及びx4の点シーケンスをそれぞれ行x1及びx3の真下に置くこと、3)ついで、先頭で連続する白のピクセル及び末尾で連続する黒のピクセルが放棄されることによって特定される。結果として、表12に示されるマークされた画像の部分が得られる。マークされた画像の部分のRL及びRLヒストグラムが表13に示される。表13に示されるヒストグラムの部分[h(1)=1,h(2)=3]について、データ抽出プロシージャが適用され、ビット「1,1,0,1」が得られ、これは表14に示されるマークされた画像の部分を変更したままにしておく。データ抽出後のマークされた画像の部分のRL及びRLヒストグラムは、表15に示される。データ抽出後のマークされた画像の部分(表14)は、ついで偶数部分を回復するために戻されている。表16に示されるとおり、奇数部分と偶数部分を組み合わせて、オリジナルの4行の2値画像が回復される。
【表12】
【表13】
【表14】
【表15】
【表16】
【0027】
[0061] 図3は、XOR演算を含む変形を伴うRLヒストグラムペア可逆的2値画像データ隠蔽プロセスにおいて実行されるオペレーションのフロー図を示す。特定の実施形態に応じて、追加的、より少ない、又は異なるオペレーションが実行されてもよい。オペレーション33において、カバー2値画像Xは、それぞれX1及びX2と表される奇数と偶数の2つの部分に分離される。X2のそれぞれの行について、オペレーション35において、XOR演算などの論理演算が行とその真上の行に適用される。オペレーション37において、全ての行は、その上から下への順番を保ちながら、共にリストされ、それゆえ2次元アレイYを形成する。オペレーション39では、画像Yが行毎に上から下へ、左から右へ、先頭で連続する白のピクセル及び末尾で連続する黒のピクセルを無視しながら、走査される。オペレーション41では、RLヒストグラムペア無損失データ埋め込み方法が適用され、別の2次元アレイZが結果として得られる。オペレーション43では、X2の各偶数行は、上から下へ、対応するZの行で置き換えられる。オペレーション45では、X1とZが組み合わされ、X1を奇数部分、Zを対応する偶数部分として扱い、隠蔽されたデータを有するオリジナルの画像である、マークされた画像が結果として得られる。
【0028】
[0062] 表17では、2行、奇数行x1と偶数行x2、15列の2値画像の例が示される。データ埋め込み及び抽出の間、奇数行x1は固定されるが、偶数行x2は画像隠蔽及び抽出の間操作される。
【表17】
【表18】
【表19】
【0029】
[0063] 図4は、データ抽出プロシージャの例において実行されるオペレーションを説明する。特定の実施形態に応じて、追加的、より少ない又は異なるオペレーションが実行されてよい。オペレーション47において、所与の2値画像は、それぞれX1とX2と表される偶数及び奇数の2つの部分に分離される。オペレーション49において、各行について、XOR演算などの論理演算がこの行及びその真上の行(X1に属する)に対して適用される。オペレーション51において、全ての行は、その上から下への順番を保ちながら、共にリストされ、それゆえ2次元アレイYを形成する。オペレーション53では、画像Yは行毎に上から下へ、左から右へ、先頭で連続する白のピクセル及び末尾で連続する黒のピクセルを無視しながら走査される。オペレーション55では、データ抽出プロシージャが適用され、抽出されたデータと別の2次元アレイZが得られる。オペレーション57では、X2の偶数行のそれぞれが、上から下へ、対応するZの行と置き換えられる。オペレーション59では、X1を奇数部分とし、Zを対応する偶数部分として扱い、X1とZが組み合わされ、隠蔽されたデータを有するオリジナルの画像が得られる。
【0030】
[0064] 得られたマークされた画像は表20に示される。記載されたプロシージャを適用することで、抽出されたデータ「1,0,1」及びオリジナルの2値画像が得られる。中間結果ならびにRL及びRLヒストグラムがそれぞれ、表20、21及び22に示される。
【表20】
【表21】
【表22】
【0031】
[0065] グレースケール画像に関して、ヒストグラムペアベーススキームを使用したデータ埋め込みの後、空間領域のグレースケール値が許容範囲を超えるということを意味するアンダーフロー及び/又はオーバーフローを引き起こす可能性がある。例えば、整数ウェーブレット係数へデータが埋め込まれた後の8ビットグレースケール画像について、グレースケール値が[0,255]として記される0から255の範囲を超える可能性がある。結果として得られるグレースケール値が0より小さい場合、これはアンダーフローと呼ばれ、255を超える場合はオーバーフローと呼ばれる。2値画像への無損失データ隠蔽においても同様の問題が存在し、これを本明細書では境界問題と呼ぶ。
【0032】
[0066] 本明細書に記載の代表的な実施形態は、データを埋め込むために、ヒストグラムベース無損失データ隠蔽スキームをランレングス(RL)のヒストグラムに適用する。上述のとおり、選択されたヒストグラムペアについて、ビット1を埋め込むことは、黒のランレングスを1つだけ増加させ直後の白のピクセルを1つだけ減らすことになる。この方法で、黒と白のランレングスの対を調整することによって、データ埋め込み後の2値画像の外観が、オリジナルの外観と類似したままとなる、すなわち、人間の視覚システムでは容易に変更を認識することができない。さらに、隠蔽されたデータは後にマークされた画像から無損失で抽出することができる。しかしながら、白のランレングスが1(孤立した白の点と呼ばれる)である場合、境界問題が起きえ、その直後の黒のランレングスが、ビット1を埋め込むために1だけ追加される。つまり、データ埋め込みルールによると、黒のランレングスは、1つだけ増加する必要があり、後続の白のスペースは1つ減少する必要があり、結果として白のランレングスが0になる。一度この現象が発生すると、データは可逆的に回復されることができなくなり、これは可逆性を損失する問題を示している。
【0033】
[0067] 所与の2値画像が、ランレングスが1である白のランレングスを有さない場合、境界問題は存在しない。すなわち、2値画像が孤立した白の点を有さない場合である。2値画像への代表的な無損失データ隠蔽アプローチは、問題なく機能する。以下は、境界問題への解決方法を含む実施形態である。
【0034】
[0068] 境界問題が発生した場合、代表的な実施形態を、2値画像に無損失データ隠蔽に適用するいくつかの方法がある。つまり、上述の境界問題を回避するいくつかの異なる方法がある。この境界問題を解決する1つの方法は、データ隠蔽に先立ち、所与の2値画像の解像度を2倍にすることである。孤立した白の点は、解像度が2倍にされた後で消失する。この高解像度2値画像に、無損失データ隠蔽スキームが適用される。データ抽出の後、解像度は、元に戻すことができる。このようにして、境界問題は、回避されることができる。しかし、マークされた画像は、2倍の解像度であることに留意されたい。
【0035】
[0069] 境界問題を解決する別の方法は、無損失データ隠蔽の前に、所与の2値画像の境界問題が存在しないエリアを確認することである。ついで、代表的な実施形態が、所与の2値画像のこれらのエリアに対してのみ適用される。その際、復号側は、この情報を通知されるべきである。
【0036】
[0070] 黒のランレングスの特定の範囲の値についてデータが埋め込まれた場合に境界問題が発見されないことが判明した場合、データは、この範囲内の黒のランレングスにのみ埋め込まれる。上述のケース2と同様に、いずれにしてもデータ抽出側はこの情報を通知されるべきである。
【0037】
[0071] 境界問題の1つの対処法は、以下に説明するように事前処理に依存することである。すなわち、事前処理は、白のランレングスが1である状況、すなわち、2値画像の行に孤立した白のピクセルがある状況を排除することができる。このようなタイプの事前処理の1つは、孤立した白のピクセルを排除するためのローパスフィルタであることができ、孤立した白のピクセルがより長い黒のランレングスを形成するように黒のピクセルで置き換えられるということを意味する。この状況では、埋め込まれたデータは、無損失で回復されることができる。しかしながら、画像回復に関して、オリジナルの2値画像ではなく、事前処理された2値画像のみが無損失で回復されることができる。境界問題に対するこの解決案は、オリジナルの画像を正確に無損失で回復することができないが、デジタル埋め込み/透かしの新技術としていくつかのアプリケーションに応用することができる。
【0038】
[0072] 少なくとも1つの代表的な実施形態が、孤立した白の点を円滑に対処する。全ての白のランレングス値は、データ埋め込みの前に検査される。白のランレングスが1である場合については、ランレングス対、すなわち、その直後の黒のランレングスとこの白のランレングス(この孤立した白の点と関連づけられる)、が考慮される。白のRLは1つだけ増加され、黒のRL(このRL対にある)は1つだけ減少される。このようにして、黒のRLと白のRLの総和が変化することなく、孤立した白の点が排除された。上述のとおり、この種の情報は、データ抽出及びオリジナルの画像回復において使用することができるよう、記録される必要がある。
【0039】
[0073] 黒のRLと白のRLの総和が2である場合、つまり、黒のRLと白のRLの両方が1に等しい場合には、上述の提案された方法は機能しない場合があることに留意されたい。この起こりうる問題を解決するために、RL対内の黒のRLと白のRLの総和として画定される別の閾値T1が設定される。T1は少なくとも3である。言い換えると、RL対の黒のRLと白のRLの総和がT1と等しいか又はこれより大きいRL対に対してのみデータが埋め込まれる。さらに、T1を選択することは、提案された無損失データ隠蔽スキームをより効果的にする。
【0040】
[0074] 表23において、2行、15列の2値画像が示される。2行目の14列目に位置し、下線がひかれた孤立した白の点が見られる。この2値画像のRLとRLヒストグラムが表24に示される。RLを算出する際、画像全体は、特定の順番で、例えば、左から右、又は上から下へと走査される。1行目の先頭で連続する白の点と2行目の末尾の連続する黒の点は、無視される。孤立した白の点含むRL対は、<2,1>、すなわち、表24に示される最後のRL対である。この対では、黒のRLが2で、白のRLが1である。言い換えると、黒のRLと白のRLの総和は3である。それゆえ、上述の通り、孤立した白の点の一番左にある黒の点、すなわち、2行目、13列に位置する黒の点を白の点に変更することによってこの孤立した白の点を排除することが可能である。この変更の後の、結果として得られる2値画像が表25に示され、対応するRLとRLヒストグラムが表26に示される。修正された2値画像は、データ隠蔽の準備がこれで整った。しかし、データ隠蔽における可逆性を達成するためには、この変更、すなわち、2行13列目の黒の点が白の点へ変更されたことは、隠蔽されたデータの抽出の後で、オリジナルの2値画像回復の際に使用できるよう記録されるべきである。
【表23】
【表24】
【表25】
【表26】
【0041】
[0075] 代表的なデータ埋め込み処理のブロック図が図5に示される。論理演算を含む変形は任意である。可逆的データ隠蔽において、変形は大抵よりよい性能をもたらすが、変形を使用せずともデータを2値画像に可逆的に埋め込むことができる。代表的なデータ抽出のブロック図が図6に示される。「論理演算を含む変形」はデータ埋め込みにおいては任意であるから、データ抽出においても任意である。
【0042】
[0076] 代表的な実施形態の実施例が、以下の「歩いているミッキー」の画像及び中国語の画像の実験結果で実証される。「歩いているミッキー」の2値画像のサイズは、274×312である。画像は、AND演算を含む変形を伴う無損失データ隠蔽アルゴリズムが適用されている。計128ビットが一回の埋め込みで埋め込まれ、ブックキーピングデータは、この128ビットには含まれていない。マークされた画像中に、オリジナルの画像とは異なるピクセルが137ある。歩いているミッキーの画像及びAND演算の前後の黒のランレングスのヒストグラムがそれぞれ図7及び図8に示される。図8(a)及び(b)に示されるヒストグラムから、AND演算の後の黒のランレングス(RL)が短いRLの端により集中しているということが認められ、これはAND演算が担う積極的な役割を意味する。VI Simposio Brasileiro em Seguranca da Incormacao e de Sistemas Computacionais(SBSeg), Santos, SP, Brasil, 2006におけるS.V.D.Pamboukian及びH.Y.Kimによる「Reversible Data Hiding and Reversible Authentication Watermarking for Binary Images」において、Pamboukianらは、同じ歩いているミッキー画像に128ビットを埋め込むために、彼らの可逆的2値画像データ隠蔽技術を使用し、データ埋め込みの後で変更されたピクセルが496得られた。Pamboukianらの方法と比べて、代表的な実施形態の技術は、同量の128ビットを埋め込む一方で、137ピクセルのみを異ならせる。
【0043】
[0077] グレースケールのヒヒの画像にマトラボ(Matlab)でim2bwオペレーションを適用することでヒヒの非ハーフトーン2値画像が得られる。サイズは、512×512である。1回の埋め込みで1063ビットが埋め込まれる。230ビットのブックキーピングデータは、1063ビットのペイロードには数えられていない。マークされた画像中にはオリジナルの2値画像と異なるピクセルが1694存在する。ヒヒのオリジナルの画像、マークされた画像、差異画像が、図9(a)、9(b)及び9(c)に示される。
【0044】
[0078] 表27は、ヒヒの512×512の非ハーフトーン2値画像へのAND演算を用いた変形を伴う、データ埋め込みの一連の実験を含む。2値画像のPSNRは、以下の式を用いて算出される。Nが2値画像のピクセルの総数であり、F及びfがピクセル値(2値画像では0か1)である。i=1,・・・,Nである。
【数1】
【表27】
【0045】
[0079] さらに、代表的な実施形態は、2値画像にデータを複数回埋め込むために使用されうる。その1つの方法は、複数回のデータ埋め込みを実施するために、交互に奇数部分(偶数部分は固定)にデータを埋め込み、ついで偶数部分(奇数部分は固定)にデータを埋め込む。別の方法は、複数回のデータ埋め込みのために、2値画像を90度ずつ繰り返し回転させるものである。表28は、AND演算を使用した変形を伴う非ハーフトーンのヒヒ画像への複数回のデータ埋め込みに関する情報を含む。
【表28】
【0046】
[0080] マトラボでディザーオペレーションをヒヒのグレースケール画像に適用することによってヒヒのハーフトーン画像が得られる。サイズは、512×512である。1回の埋め込みで総数7699ビットが埋め込まれ、1491ビットのブックキーピングデータは除外されている。データ隠蔽中に変更されたピクセルが6787ある。この変形においては、XOR演算が使用された。ヒヒの画像及びXOR演算の前後の黒のランレングスのヒストグラムがそれぞれ図10(a)、10(b)及び10(c)並びに図11(a)及び図11(b)に示される。図11(b)から、XOR演算を含む変形後の黒のランレングスのヒストグラムが、下側がより濃くなっていること、従ってデータ埋め込みが促進されていることが認められる。様々な容量でのヒヒのハーフトーン画像への1回のデータ埋め込みが表29に示される。
【表29】
【0047】
[0081] 図12(a)、12(b)及び12(c)において、3つの中国語の文書画像が示される。サイズは、1654×2338である。118,037ビットが可逆的に埋め込まれている。PSNRは、26.2805dBである。オリジナルの画像、マークされた画像、差異画像を含む他の例示的画像は、漫画を示す図13(a)から13(c)、ニュースレターを示す図14(a)から14(c)及び地図を示す図15(a)から15(c)に含まれる。
【0048】
[0082] 図16を参照し、代表的な実施形態を実装するための、可逆的2値画像データ隠蔽コンピューティングシステムが示される。図16は、プロセッサ110、メモリ120及び1つ以上のドライブ130を含むコンピュータ100を含む。ドライブ130及びこれらの関連コンピュータ記憶媒体は、コンピュータ100に対してコンピュータ可読命令、データ命令、プログラムモジュール及び他のデータの保存を提供する。ドライブ130は、オペレーティングシステム140、アプリケーションプログラム150、プログラムモジュール160及びデータベース180を含むことができる。コンピュータ100はさらに、これを介してユーザがコマンド及びデータを入力することができる入力装置190を含む。入力装置は、電子デジタイザ、マイクロフォン、キーボード及び一般にマウスと呼ばれるポインティング装置、トラックボール又はタッチパッドを含むことができる。他の入力装置は、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどを含みうる。
【0049】
[0083] これらの及び他の入力装置は、プロセッサ110に、システムバスに連結されたユーザ入力インターフェースを介して接続されることができるが、他のインターフェース及びパラレルポート、ゲームポート又はユニバーサルシリアルバス(USB)などのバス構造によって連結されてもよい。コンピュータ100などのコンピュータはまた、スピーカなどの、出力周辺インターフェース194などを介して接続されうる他の周辺出力装置を含みうる。
【0050】
[0084] 示されるとおり、コンピュータ100は、図1から15に関して記述された代表的な埋め込み及び抽出の実施形態を実装する。一例として、メモリ120は、図2から6のフロー図に関して記載されたオペレーションを実行するためにプログラムされた命令を含むことができる。プロセッサ110は、メモリ120に含まれた命令を実行する。代表的な実施形態によると、オリジナルの画像は、あるデータを埋め込むために変形され、埋め込まれたデータを含む画像は、埋め込まれたデータを抽出するために変形される。よってこの方法のオペレーションは、コンピュータ100などの特定の機械で実行され、さらに、この方法のオペレーションは、少なくとも画像へ埋め込むか又は画像から抽出することによってデータを変形させる。
【0051】
[0085] コンピュータ100は、ネットワークインターフェース196に接続されたリモートコンピュータなどの1つ以上のコンピュータへの論理接続を使用するネットワーク環境で動作する。リモートコンピュータは、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、又は他の共通のネットワークノードであってよく、コンピュータ100に関する上述の多数の又は全ての要素を含むことができる。ネットワーク環境は、オフィスにおけるコモンプレイス、エンタープライズワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、イントラネット、及びインターネットである。例えば、本願の主題では、コンピュータ100は、そこからデータが移動されてくるソース装置を備えてよく、リモートコンピュータは、デスティネーション装置を備えてもよく、その逆でもよい。ただし、ソース及びデスティネーション装置は、ネットワーク108又は他の手段によって接続される必要はないが、かわりに、データは、ソースプラットフォームによって書き込まれることができ、デスティネーションプラットフォームにより読み込むことができる媒体を介して移動されうる。LAN又はWLANネットワーク環境で使用される場合、コンピュータ100は、ネットワークインターフェース196又はアダプタを介してLANに接続される。WANネットワーク環境で使用される場合では、コンピュータ100は典型的には、インターネット又はネットワーク108などのWAN上での通信を確立するためのモデム又は他の手段を含む。コンピュータ間の通信リンクを確立するための他の手段が使用されてよいことが理解されるだろう。
【0052】
[0086] 上の記載は、例示及び説明のために提示されている。記載された正確な形態に対して排他的又は限定的であるようには意図されておらず、上述の教示に照らして改良及び変形が可能であり、記載された実施形態の実行から得られる。
【特許請求の範囲】
【請求項1】
データセットにデータを隠蔽する方法であって、
第1のデータセットの属性のヒストグラムであり、前記属性の実現値を含むヒストグラムを作成することと、
前記ヒストグラム内で隣接する2つの実現値であり、前記隣接する2つの実現値のうち1つの回数がゼロである実現値を選択することと、
前記選択された隣接する実現値と関連付けられた前記第1のデータセットのデータに、第2のデータセットを埋め込むことと、
を含む方法。
【請求項2】
前記選択された実現値と関連付けられた前記埋め込まれた第1のデータセットのデータ値を分析することと、
前記選択された実現値に基づき前記埋め込まれた第1のデータセットから前記第2のデータセットを抽出することと、
をさらに含む、請求項1に記載の方法。
【請求項3】
前記2つの隣接する実現値を作成するために、前記第1のデータセットを変更することをさらに含み、前記2つの隣接する実現値のうち1つの回数がゼロである、請求項1に記載の方法。
【請求項4】
前記第1のデータセットが画像を含む、請求項1に記載の方法。
【請求項5】
前記画像の行を連結させることによって、1次元シーケンスを形成することをさらに含む、請求項4に記載の方法。
【請求項6】
前記属性がデータ値を含む、請求項1に記載の方法。
【請求項7】
前記属性がデータ値のランレングスを含む、請求項1に記載の方法。
【請求項8】
前記データ値が、2進値を含む、請求項1に記載の方法。
【請求項9】
第1のウィンドウを選択することをさらに含み、前記第2のデータセットが、前記第1のウィンドウと関連付けられた前記第1のデータセットの偶数データにのみ埋め込まれる、請求項8に記載の方法。
【請求項10】
前記第1のウィンドウが、前記第1のデータセットの奇数部分において、連続する第2の値が後に続く、第1のデータ値の少なくとも1つのシーケンスと関連付けられる、請求項8に記載の方法。
【請求項11】
第2のウィンドウを選択することをさらに含み、前記第2のデータセットが、前記第2のウィンドウと関連づけられた前記第1のデータセットの偶数データのみに埋め込まれる、請求項9に記載の方法。
【請求項12】
前記第2のウィンドウが、第1のデータ値の第1のシーケンス要素を含まず、第2のデータ値の最終シーケンス要素を含まない前記第1のウィンドウと関連付けられた少なくとも1つのシーケンスと関連付けられている、請求項11に記載の方法。
【請求項13】
前記第1のデータセットの偶数部分を、前記第1のデータセットの偶数部分及び奇数部分の排他的ORと置き換えることと、
前記第1のデータセットの偶数部分の属性のヒストグラム作成することと、
前記第2のデータセットを、前記選択された実現値に関連付けられた前記第1のデータセットの前記偶数部分に埋め込むことと、
前記第1のデータセットの前記埋め込まれた偶数部分を、前記第1のデータセットの前記埋め込まれた偶数部分及び前記第1のデータセットの前記奇数部分の排他的ORと置き換えることと、
を更に含む、請求項8に記載の方法。
【請求項14】
前記第1のデータセットフィルタリングすることをさらに含む、請求項1に記載の方法。
【請求項15】
前記ヒストグラムを作成する前に、前記第1のデータセットの解像度を2倍にすることをさらに含む、請求項1に記載の方法。
【請求項16】
前記第2のデータセットが、前記第1のデータセットの対にのみ埋め込まれ、前記対の第1の値の第1の数と前記対の第2の値の第2の数との和が、閾値よりも大きい、請求項1に記載の方法。
【請求項17】
前記埋め込まれた第1のデータセットの第2の属性の第2のヒストグラムであり、前記第2の属性の第2の実現値を含む前記第2のヒストグラムを作成することと、
2つの隣接する第2の実現値であり、前記2つの隣接する第2の実現値のうち1つの第2の回数がゼロである実現値を選択することと、
前記選択された第2の実現値と関連付けられた前記埋め込まれた第1のデータセットのデータに第3のデータセットを埋め込むことと、
をさらに含む、請求項1に記載の方法。
【請求項18】
前記第2のヒストグラムを作成する前に、前記埋め込まれた第1のデータセットを操作することをさらに含む、請求項17に記載の方法。
【請求項19】
前記埋め込まれた第1のデータセットを操作することが、前記埋め込まれた第1のデータセットを90度回転させることを含む、請求項18に記載の方法。
【請求項20】
コンピュータ可読媒体であって、それに記憶されたコンピュータ可読命令を有し、前記命令がプロセッサによって実行される際に、コンピューティングデバイスに、
第1のデータセットの属性のヒストグラムであり、属性の実現値を含むヒストグラムを作成させ、
隣接する2つの実現値であり、前記隣接する2つの実現値のうち1つの回数がゼロである実現値を選択させ、
前記選択された実現値と関連付けられた前記第1のデータセットのデータに、第2のデータセットを埋め込ませる、コンピュータ可読媒体。
【請求項1】
データセットにデータを隠蔽する方法であって、
第1のデータセットの属性のヒストグラムであり、前記属性の実現値を含むヒストグラムを作成することと、
前記ヒストグラム内で隣接する2つの実現値であり、前記隣接する2つの実現値のうち1つの回数がゼロである実現値を選択することと、
前記選択された隣接する実現値と関連付けられた前記第1のデータセットのデータに、第2のデータセットを埋め込むことと、
を含む方法。
【請求項2】
前記選択された実現値と関連付けられた前記埋め込まれた第1のデータセットのデータ値を分析することと、
前記選択された実現値に基づき前記埋め込まれた第1のデータセットから前記第2のデータセットを抽出することと、
をさらに含む、請求項1に記載の方法。
【請求項3】
前記2つの隣接する実現値を作成するために、前記第1のデータセットを変更することをさらに含み、前記2つの隣接する実現値のうち1つの回数がゼロである、請求項1に記載の方法。
【請求項4】
前記第1のデータセットが画像を含む、請求項1に記載の方法。
【請求項5】
前記画像の行を連結させることによって、1次元シーケンスを形成することをさらに含む、請求項4に記載の方法。
【請求項6】
前記属性がデータ値を含む、請求項1に記載の方法。
【請求項7】
前記属性がデータ値のランレングスを含む、請求項1に記載の方法。
【請求項8】
前記データ値が、2進値を含む、請求項1に記載の方法。
【請求項9】
第1のウィンドウを選択することをさらに含み、前記第2のデータセットが、前記第1のウィンドウと関連付けられた前記第1のデータセットの偶数データにのみ埋め込まれる、請求項8に記載の方法。
【請求項10】
前記第1のウィンドウが、前記第1のデータセットの奇数部分において、連続する第2の値が後に続く、第1のデータ値の少なくとも1つのシーケンスと関連付けられる、請求項8に記載の方法。
【請求項11】
第2のウィンドウを選択することをさらに含み、前記第2のデータセットが、前記第2のウィンドウと関連づけられた前記第1のデータセットの偶数データのみに埋め込まれる、請求項9に記載の方法。
【請求項12】
前記第2のウィンドウが、第1のデータ値の第1のシーケンス要素を含まず、第2のデータ値の最終シーケンス要素を含まない前記第1のウィンドウと関連付けられた少なくとも1つのシーケンスと関連付けられている、請求項11に記載の方法。
【請求項13】
前記第1のデータセットの偶数部分を、前記第1のデータセットの偶数部分及び奇数部分の排他的ORと置き換えることと、
前記第1のデータセットの偶数部分の属性のヒストグラム作成することと、
前記第2のデータセットを、前記選択された実現値に関連付けられた前記第1のデータセットの前記偶数部分に埋め込むことと、
前記第1のデータセットの前記埋め込まれた偶数部分を、前記第1のデータセットの前記埋め込まれた偶数部分及び前記第1のデータセットの前記奇数部分の排他的ORと置き換えることと、
を更に含む、請求項8に記載の方法。
【請求項14】
前記第1のデータセットフィルタリングすることをさらに含む、請求項1に記載の方法。
【請求項15】
前記ヒストグラムを作成する前に、前記第1のデータセットの解像度を2倍にすることをさらに含む、請求項1に記載の方法。
【請求項16】
前記第2のデータセットが、前記第1のデータセットの対にのみ埋め込まれ、前記対の第1の値の第1の数と前記対の第2の値の第2の数との和が、閾値よりも大きい、請求項1に記載の方法。
【請求項17】
前記埋め込まれた第1のデータセットの第2の属性の第2のヒストグラムであり、前記第2の属性の第2の実現値を含む前記第2のヒストグラムを作成することと、
2つの隣接する第2の実現値であり、前記2つの隣接する第2の実現値のうち1つの第2の回数がゼロである実現値を選択することと、
前記選択された第2の実現値と関連付けられた前記埋め込まれた第1のデータセットのデータに第3のデータセットを埋め込むことと、
をさらに含む、請求項1に記載の方法。
【請求項18】
前記第2のヒストグラムを作成する前に、前記埋め込まれた第1のデータセットを操作することをさらに含む、請求項17に記載の方法。
【請求項19】
前記埋め込まれた第1のデータセットを操作することが、前記埋め込まれた第1のデータセットを90度回転させることを含む、請求項18に記載の方法。
【請求項20】
コンピュータ可読媒体であって、それに記憶されたコンピュータ可読命令を有し、前記命令がプロセッサによって実行される際に、コンピューティングデバイスに、
第1のデータセットの属性のヒストグラムであり、属性の実現値を含むヒストグラムを作成させ、
隣接する2つの実現値であり、前記隣接する2つの実現値のうち1つの回数がゼロである実現値を選択させ、
前記選択された実現値と関連付けられた前記第1のデータセットのデータに、第2のデータセットを埋め込ませる、コンピュータ可読媒体。
【図1(a)】
【図1(b)】
【図1(c)】
【図7(a)】
【図7(b)】
【図7(c)】
【図8(a)】
【図8(b)】
【図9(a)】
【図9(b)】
【図9(c)】
【図10(a)】
【図10(b)】
【図10(c)】
【図11(a)】
【図11(b)】
【図12(a)】
【図12(b)】
【図12(c)】
【図13(a)】
【図13(b)】
【図13(c)】
【図14(a)】
【図14(b)】
【図14(c)】
【図15(a)】
【図15(b)】
【図15(c)】
【図2】
【図3】
【図4】
【図5】
【図6】
【図16】
【図1(b)】
【図1(c)】
【図7(a)】
【図7(b)】
【図7(c)】
【図8(a)】
【図8(b)】
【図9(a)】
【図9(b)】
【図9(c)】
【図10(a)】
【図10(b)】
【図10(c)】
【図11(a)】
【図11(b)】
【図12(a)】
【図12(b)】
【図12(c)】
【図13(a)】
【図13(b)】
【図13(c)】
【図14(a)】
【図14(b)】
【図14(c)】
【図15(a)】
【図15(b)】
【図15(c)】
【図2】
【図3】
【図4】
【図5】
【図6】
【図16】
【公表番号】特表2011−512084(P2011−512084A)
【公表日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願番号】特願2010−545185(P2010−545185)
【出願日】平成21年1月30日(2009.1.30)
【国際出願番号】PCT/US2009/032539
【国際公開番号】WO2009/099914
【国際公開日】平成21年8月13日(2009.8.13)
【出願人】(509349510)ニュー ジャージー インスティチュート オブ テクノロジー (8)
【Fターム(参考)】
【公表日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願日】平成21年1月30日(2009.1.30)
【国際出願番号】PCT/US2009/032539
【国際公開番号】WO2009/099914
【国際公開日】平成21年8月13日(2009.8.13)
【出願人】(509349510)ニュー ジャージー インスティチュート オブ テクノロジー (8)
【Fターム(参考)】
[ Back to top ]