JP4303243B2 - 電子透かし埋め込み装置、電子透かし検出装置、及びそれらの方法、並びにプログラム - Google Patents

電子透かし埋め込み装置、電子透かし検出装置、及びそれらの方法、並びにプログラム Download PDF

Info

Publication number
JP4303243B2
JP4303243B2 JP2005517550A JP2005517550A JP4303243B2 JP 4303243 B2 JP4303243 B2 JP 4303243B2 JP 2005517550 A JP2005517550 A JP 2005517550A JP 2005517550 A JP2005517550 A JP 2005517550A JP 4303243 B2 JP4303243 B2 JP 4303243B2
Authority
JP
Japan
Prior art keywords
block
value
detection
matrix
pixel
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.)
Active
Application number
JP2005517550A
Other languages
English (en)
Other versions
JPWO2005074249A1 (ja
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2005074249A1 publication Critical patent/JPWO2005074249A1/ja
Application granted granted Critical
Publication of JP4303243B2 publication Critical patent/JP4303243B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/005Robust watermarking, e.g. average attack or collusion attack resistant
    • G06T1/0064Geometric transfor invariant watermarking, e.g. affine transform invariant
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32203Spatial or amplitude domain methods
    • H04N1/32208Spatial or amplitude domain methods involving changing the magnitude of selected pixels, e.g. overlay of information or super-imposition
    • H04N1/32213Modulating the least significant bits of pixels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32203Spatial or amplitude domain methods
    • H04N1/32229Spatial or amplitude domain methods with selective or adaptive application of the additional information, e.g. in selected regions of the image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32203Spatial or amplitude domain methods
    • H04N1/32251Spatial or amplitude domain methods in multilevel data, e.g. greyscale or continuous tone data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32288Multiple embedding, e.g. cocktail embedding, or redundant embedding, e.g. repeating the additional information at a plurality of locations in the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0051Embedding of the watermark in the spatial domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0052Embedding of the watermark in the frequency domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0061Embedding of the watermark in each block of the image, e.g. segmented watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0065Extraction of an embedded watermark; Reliable detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Description

本発明は、画像や映像などのコンテンツに、別の副情報を人間に知覚されないように埋め込み、またこの副情報を読み取る技術である電子透かし技術に関するものである。今日、電子透かし技術は、コンテンツの著作権保護・管理システムや、コンテンツに関するサービス提供システムなどに用いられている。
画像、映像や音声といったコンテンツの流通の際、コンテンツ識別・管理や著作権保護・管理、関連情報提供などの目的のため、コンテンツ内に知覚できないように別の情報を埋め込む電子透かし技術を用いる方法がある。一般に電子透かし検出対象画像は幾何変換を受けて幾何歪みが生じるものであり、このような幾何歪みに対する耐性を持つ電子透かし技術が求められている。
上記の幾何変換を検出して補正を行なう従来技術として特許文献1に記載された技術がある。特許文献1に記載された技術では、埋め込み画像とは別に幾何変換補正用のパターンを埋め込み、そのパターンを用いて幾何変換を検出する。
特開平11−355547号公報
しかし、上記の従来技術では、幾何変換補正用のパターンと埋め込み画像とを別にしていることから、幾何変換補正用のパターンの信号と埋め込み画像の信号との間で干渉が生じるという問題がある。従って、幾何変換補正の精度を上げようとすればそのパターン信号を強めなければならないが、画質劣化を一定にしようとすれば必然的に埋め込み画像を弱めることになる。また、逆に埋め込み画像を強くすれば幾何変換補正用信号を弱くしなければならず、いずれにしても、埋め込み情報の検出精度は低下する。
本発明は上記の点に鑑みてなされたものであり、従来のように電子透かし情報と別に幾何変換補正用の信号を独立に付加することなく幾何変換補正を可能とする電子透かし埋め込み技術及び電子透かし検出技術を提供することを目的とする。
上記の課題は、画像にマクロブロックパターンを重畳することにより電子透かし情報を埋め込む電子透かし埋め込み装置であって、入力された電子透かし情報を拡散することにより、マクロブロックパターンにおける画素ブロック数に対応する長さの埋め込み系列を取得する電子透かし情報拡散手段と、一の画素ブロックの前記マクロブロックパターンにおける位置に対応する埋め込み系列の項値に応じて、予め定めた複数の周波数から少なくとも1つの周波数を選択し、選択された周波数に対応する波形パターンを前記一の画素ブロックにおける画素として設定する波形パターン設定手段と、前記波形パターン設定手段により各画素ブロックに対して波形パターンが設定されたマクロブロックパターンを埋め込み強度値で増幅し、入力された画像にタイル状に重畳するマクロブロックパターン重畳手段とを備えたことを特徴とする電子透かし埋め込み装置により解決できる。
本発明におけるマクロブロックパターンは、埋め込み電子透かし情報に相当するとともに、検出時には幾何変換補正に用いることができるので、電子透かし情報と別に幾何変換補正用の信号を独立に付加することなく幾何変換補正が可能となる。
前記波形パターン設定手段は、前記埋め込み系列の項値を量子化し、その量子化した値に応じて前記少なくとも1つの周波数を選択するようにしてもよいし、前記埋め込み系列の項値の符号に応じて前記少なくとも1つの周波数を選択するようにしてもよい。
また、前記波形パターン設定手段は、前記マクロブロックパターン中の同一の周波数の波形パターンが設定された複数の画素ブロック間において、波形パターンの位相がマクロブロックパターン上で揃うように位相を変更しながら、各画素ブロックに対して波形パターンを設定するようにしてもよい。
また、前記マクロブロックパターン重畳手段が、入力された画像に対してマクロブロックパターンを重畳する際、マクロブロックパターン中の画素ブロックに対し、同一周波数の波形パターンの位相がマクロブロックパターン重畳後の画像上で揃うように波形パターンの位相を変更しながら重畳を行うようにしてもよい。
また、上記の課題は、複数の波形パターンからなる画素ブロックを並べて形成されたマクロブロックパターンを重畳した画像から電子透かし情報を検出する電子透かし検出装置であって、入力された画像を離散フーリエ変換して得られるパワースペクトル行列における少なくとも2つのピーク位置情報と、予め定めた基準位置情報とを用いて、入力画像の一次変換歪補正を行なう一次変換歪補正手段と、一次変換歪補正済み画像を、任意の位置から前記マクロブロックパターンのサイズのマクロブロックに分割し、分割して得られたマクロブロックを加算して加算マクロブロックを生成する加算マクロブロック生成手段と、加算マクロブロックに対し、予め定められた複数種類の周波数に対応する各畳み込みオペレータによる畳み込み処理を施して、各周波数に対応したフィルタ処理済み画像群を得る各周波数毎フィルタ処理済み画像群生成手段と、予め定められた探索範囲内の一の座標を設定する探索位置設定手段と、前記一の座標をブロック切り出し位置とみなして前記画素ブロックのサイズで画像を分割するブロック分割を前記各周波数に対応したフィルタ処理済み画像群中の各画像に対して行い、各周波数に対応した各画像から、同じ一のブロック位置に対応する画素ブロック群を取得し、当該一のブロック位置に対する前記画素ブロック群の各画素ブロックについて、画素ブロック中の全画素の画素値の絶対値の和を求めて画素絶対値和群を取得し、画素絶対値和群の中で最大の値を最大絶対値和として求める処理を、全てのブロック位置に対して行って得られる最大絶対値和の総和をブロック切り出し位置応答値として出力するブロック切り出し位置応答値算出手段と、前記探索位置設定手段により設定された前記探索範囲の各座標に対して前記ブロック切り出し位置応答値算出手段によりブロック切り出し位置応答値を求め、各座標に対応するブロック切り出し位置応答値の中で最大のブロック切り出し位置応答値に対応する座標をブロック切り出し位置として検出するブロック切り出し位置検出手段と、前記ブロック切り出し位置検出手段により検出された前記ブロック切り出し位置を用いたブロック分割を、前記各周波数に対応したフィルタ処理済み画像群中の各画像に対して行い、各周波数に対応した各画像から、同じ一のブロック位置に対応する画素ブロック群の各画素ブロックについて、画素ブロック中の全画素の画素値の絶対値の和を求め、最大の絶対値和を取る画素ブロックに対応する周波数を少なくとも用いて、当該画素ブロックのブロック位置に対応する検出値行列の要素値を求める処理を各画素ブロックに対して行って検出値行列を求める検出値行列構成手段と、検出値行列から検出対象系列を求め、検出対象系列を逆拡散することにより検出電子透かし情報を求める透かし情報逆拡散手段とを有することを特徴とする電子透かし検出装置によっても解決できる。
本発明によれば、電子透かし情報として埋め込んだマクロブロックパターンを幾何変換補正に用いることができるようになる。
前記透かし情報逆拡散手段は、前記検出値行列の要素の並びを0度、90度、180度、270度回転して得られる4つの行列を生成し、90度、270度回転して得られた各行列の全要素値の符号を反転する回転手段と、前記回転手段により得られた4つの行列の各々に対し、行列の一の要素位置が行列の所定の位置になるように要素をサイクリックシフトさせた行列を求める処理を各要素位置に対して行うことにより、変換済み検出値行列群を求める変換手段と、変換済み検出値行列群における各行列から検出対象系列群を求め、検出対象系列群における各検出対象系列を逆拡散して得られる情報群のうち、最も信頼度の高い情報を検出電子透かし情報として出力する手段とを備えて構成できる。
また、前記電子透かし検出装置における前記複数の周波数は、+の符号及び−の符号に対応付けられた2種類の周波数であり、前記検出値行列構成手段は、+の符号に対応する周波数に対応する画素ブロックの絶対値和から−の符号に対応する周波数に対応する画素ブロックの絶対値和を減算して得られた値を前記画素ブロックのブロック位置に対応する検出値行列の要素値とするように構成できる。また、前記検出値行列構成手段は、2種類の周波数に対応する画素ブロックの絶対値和の差の絶対値に、大きいほうの絶対値和を取る画素ブロックに対応する周波数に対応する符号を付した値を前記画素ブロックのブロック位置に対応する検出値行列の要素値とするようにしてもよい。
本発明によれば、枠線などを用いずに画像に与えられたアフィン変換(一次変換+平行移動)の補正をして電子透かしの検出が可能となる。また、従来のように電子透かし情報と別に幾何変換補正用の信号を独立に付加することなく、電子透かし情報を表すパターンが同時に幾何変換補正用の信号を兼ねることから、信号間の干渉の問題がなくなり、検出性能が向上するという効果がある。
[図1]本発明の実施例における電子透かし埋め込み装置10の構成図である。
[図2]電子透かし埋め込み装置10の処理の流れを示す図である。
[図3]マクロブロックパターン生成部11の構成図である。
[図4]マクロブロックパターン生成部11の処理の流れを示す図である。
[図5]透かし情報拡散部16の構成図である。
[図6]透かし情報拡散部16の処理の流れを示す図である。
[図7]第1の例における周波数選定部17の構成図である。
[図8]第1の例における周波数選定部17の処理の流れを示す図である。
[図9]符号対応周波数データベース27の内容を示す図である。
[図10]第3の例における周波数選定部17の構成図である。
[図11]第3の例における周波数選定部17の処理の流れを示す図である。
[図12]埋め込み系列項量子化部29の処理を説明する図である。
[図13]量子化値対応周波数データベース31の内容を示す図である。
[図14]マクロブロックパターン設定部19の処理を説明する図である。
[図15]マクロブロックパターン生成部11の処理を説明するための図である。
[図16]マクロブロックパターンタイリング部13の構成図である。
[図17]マクロブロックパターンタイリング部13の処理の流れを示す図である。
[図18]マクロブロックパターンタイリング部13の処理を説明するための図である。
[図19]タイリング重畳部34の処理を説明するための図である。
[図20]本発明の実施例における電子透かし検出装置40の構成図である。
[図21]電子透かし検出装置40の処理の流れを示す図である。
[図22]一次変換歪補正部41の構成図である。
[図23]一次変換歪補正部41の処理の流れを示す図である。
[図24]一次変換歪補正部41の処理の原理を説明するための図である。
[図25]一次変換歪補正部41の処理の原理を説明するための図である。
[図26]離散フーリエ変換部46の処理を説明するための図である。
[図27]ピーク位置探索部47の構成図である。
[図28]ピーク位置探索部47の処理の流れを示す図である。
[図29]ピーク位置探索部47の処理を説明するための図である。
[図30]ピーク位置探索部47の処理を説明するための図である。
[図31]ピーク位置探索部47の処理を説明するための図である。
[図32]一次変換行列推定部48の構成図である。
[図33]一次変換行列推定部48の処理の流れを示す図である。
[図34]ピーク位置情報変換部55の処理を説明するための図である。
[図35]スペクトル空間上一次変換行列算出部56の原理を説明するための図である。
[図36]画像変換部49の処理を説明するための図である。
[図37]画像変換部49の処理を説明するための図である。
[図38]加算マクロブロック生成部42の構成図である。
[図39]加算マクロブロック生成部42の処理の流れを示す図である。
[図40]加算マクロブロック生成部42の処理を説明するための図である。
[図41]加算マクロブロック生成部42の処理を説明するための図である。
[図42]加算マクロブロックについて説明するための図である。
[図43]検出値行列生成部43の構成図である。
[図44]検出値行列生成部43の処理の流れを示す図である。
[図45]各周波数に対応したフィルタ処理済み画像群生成部62の処理の概要を示す図である。
[図46]ブロック切り出し位置検出部63の構成図である。。
[図47]ブロック切り出し位置検出部63の処理の流れを示す図である。
[図48]探索位置情報について説明するための図である。
[図49]ブロック切り出し位置応答値算出部68の構成図である。
[図50]ブロック切り出し位置応答値算出部68の処理の流れを示す図である。。
[図51]ブロック分割部72の処理を説明するための図である。
[図52]ブロック分割部72の処理を説明するための図である。
[図53]画素絶対値和計算部73の処理を説明するための図である。
[図54]ブロック切り出し位置応答値算出部68の作用を説明するための図である。
[図55]検出値行列構成部64の構成図である。
[図56]検出値行列構成部64の処理の流れを示す図である。
[図57]検出値行列構成部64の処理を説明するための図である。
[図58]検出値行列について説明するための図である。
[図59]透かし情報逆拡散部44の構成図である。
[図60]透かし情報逆拡散部44の処理の流れを示す図である。
[図61]検出値行列変換部82の構成図である。
[図62]検出値行列変換部82の処理の流れを示す図である。
[図63]90度毎回転部89の処理を説明するための図である。
[図64]90度毎回転部89の処理を説明するための図である。
[図65]マクロブロック開始位置変換部90の処理を説明するための図である。
[図66]一次元化処理部83の処理を説明するための図である。
[図67]電子透かし有無指標値について説明するための図である。
符号の説明
10 電子透かし埋め込み装置
11 マクロブロックパターン生成部
12 画像入力部
13 マクロブロックパターンタイリング部
14 画像出力部
16 透かし情報拡散部
17 周波数選定部
18 波形パターン生成部
19 マクロブロックパターン設定部
21 誤り訂正/検出符号化部
22 擬似乱数生成器
23 埋め込み系列生成部
25 埋め込み系列項符号取得部
26 選定部
27 符号対応周波数データベース
29 埋め込み系列項量子化部
30 選定部
31 量子化対応周波数データベース
33 増幅部
34 タイリング重畳部
40 電子透かし検出装置
41 一次変換歪補正部
42 加算マクロブロック生成部
43 検出値行列生成部
44 透かし情報逆拡散部
46 離散フーリエ変換部
47 ピーク位置探索部
48 一次変換行列推定部
49 画像変換部
51 最大ピーク位置探索部
52 第2ピーク位置探索部
53 ピーク位置情報出力部
55 ピーク位置情報変換部
56 スペクトル空間上一次変換行列算出部
57 画像補正用一次変換行列算出部
59 マクロブロック分割部
60 マクロブロック生成部
62 各周波数に対応したフィルタ処理済み画像群生成部
63 ブロック切り出し位置検出部
64 検出値行列構成部
65 符号対応周波数データベース
67 探索位置設定部
68 ブロック切り出し位置応答値算出部
69 ブロック切り出し位置応答値バッファ
70 ブロック切り出し位置決定部
72 ブロック分割部
73 画素絶対値和計算部
74 最大絶対値和判定部
75 最大絶対値和加算部
77 ブロック分割部
78 画素絶対値和計算部
79 最大エネルギー周波数判定部
80 検出値行列要素値設定部
82 検出値行列変換部
83 一次元化処理部
84 擬似乱数生成部
85 逆拡散部
86 復号対象情報選定部
87 誤り訂正/検出復号部
89 90度毎回転部
90 マクロブロック開始位置変換部
以下、図面を参照して本発明の実施例を説明する。本発明の実施例における電子透かし埋め込み装置の構成について図1に、処理の流れについて図2に示す。
図1に示すように、本発明の実施例における電子透かし埋め込み装置10は、マクロブロックパターン生成部11、画像入力部12、マクロブロックパターンタイリング部13、画像出力部14を有している。この構成における処理の流れを図2を参照して説明する。
電子透かし埋め込み装置10は、原画像と、埋め込み強度値(電子透かしの模様を画像にどれだけ強く重畳するかを指定するパラメータ。大きいほど埋め込み後の画質は劣化するが、電子透かしの検出が安定する)と、原画像中に埋め込む情報である透かし情報を入力とする(ステップ1)。
マクロブロックパターン生成部11は、透かし情報を拡散することにより、埋め込み系列を得て、埋め込み系列の項の値等に応じた周波数パターンを並べることにより、画像パターンであるマクロブロックパターンを生成する(ステップ2)。
また、マクロブロックパターンタイリング部13は、画像入力部12において取得された原画像に対して、マクロブロックパターンをタイル状に重畳してタイリング済み画像データを得る(ステップ3)。そして、画像出力部14において、タイリング済み画像データを電子透かし埋め込み済み画像として出力する(ステップ4)。
以下、各部の処理をより詳細に説明する。
本発明の実施例における電子透かし埋め込み装置10の上記マクロブロックパターン生成部11の構成を図3に、処理の流れを図4に示す。図3に示すように、マクロブロックパターン生成部11は、透かし情報拡散部16、周波数選定部17、波形パターン生成部18、マクロブロックパターン設定部19を有している。図4のフローチャートを参照して、マクロブロックパターン生成部11の処理の流れを説明する。
マクロブロックパターン生成部11は透かし情報を入力とし(ステップ21)、まず透かし情報拡散部16が、透かし情報を拡散して埋め込み系列{e}を得る(ステップ22)。
透かし情報拡散部16についてより詳細に説明する。
図5に透かし情報拡散部16の構成を示し、図6にその処理の流れを示す。透かし情報拡散部16は、誤り訂正/検出符号化部21、擬似乱数生成器22、及び埋め込み系列生成部23を有している。
図6に示すように、まず透かし情報が入力され(ステップ31)、誤り訂正/検出符号化部21において透かし情報を誤り訂正/検出符号化する(ステップ32)。誤り訂正/検出符号化方法としてはBCH符号やReed Solomon符号など、どのようなものを用いても良い。次に埋め込み系列生成部23は、擬似乱数生成器22により生成される擬似乱数列を用いて、誤り訂正/検出符号化された透かし情報を長さm×n(マクロブロックのサイズに依存する。後述するように本実施例ではn×nであるが、ここではより一般的にm×nについて説明している)の系列である埋め込み系列に拡散し(ステップ33)、その埋め込み系列を出力する(ステップ34)。なお、擬似乱数生成器22における擬似乱数生成の初期値を、透かしの鍵パラメータとして外部から入力されるパラメータとしても良い。このようにすることで、異なる鍵パラメータで独立な電子透かし埋め込みを実現したり、埋め込みアルゴリズムの推測を困難にするなどの効果が得られる。
埋め込み系列生成部23における透かし情報の具体的な拡散方法の例((A)〜(C))を以下に示す:
(A)誤り訂正/検出符号化された透かし情報(Sビットとする)を{w}(i=0〜S−1)、擬似乱数列を{r}(i=0〜mn−1(画素ブロックの総数))とした時に、埋め込み系列{e}(i=0〜mn−1)を以下のようにして求める。
Figure 0004303243
ただしw=1or−1(誤り訂正/検出符号化された透かし情報のi番目のビット値が1ならば1、0ならば−1)とし、r=1or−1の乱数列とする。またx%yはxをyで割った際の剰余を表す。
(B)誤り訂正/検出符号化された透かし情報(Sビットとする)を{w}(i=0〜S−1)、擬似乱数列を2種類生成しそれぞれ{r1}(i=0〜mn−1)、{r2}(i=0〜mn−1)とした時に、まず{r1}を用いて置換のための配列を生成する。例えば
Figure 0004303243
Figure 0004303243
を表す配列{p}(i=0〜mn−1)を以下のようにして決定する。ただしr1は0〜mn−1以上の値をランダムに取るものと仮定する。
Figure 0004303243
次に、埋め込み系列{e}(i=0〜mn−1)を以下のようにして求める。
Figure 0004303243
ただしw=1or−1(誤り訂正/検出符号化された透かし情報のi番目のビット値が1ならば1、
0ならば−1)とし、r2=1or−1の乱数列とする。またx%yはxをyで割った際の剰余を表す。上記のように、{r1}は{p}を生成するための擬似乱数列であり、{r2}は{w}の拡散を行うための擬似乱数列である。
(C)誤り訂正/検出符号化された透かし情報(Sビットとする)を{w
(i=0〜S−1)、擬似乱数列を{r}(i=0〜mn−1)とした時に、埋め込み系列{e}(i=0〜mn−1)を以下のようにして求める。
Figure 0004303243
ただしw=1or−1(誤り訂正/検出符号化された透かし情報のi番目のビット値が1ならば1、0ならば−1)とし、r=1or−1の乱数列とする。またx%yはxをyで割った際の剰余を表す。
なお、上記の例では2値化乱数系列を拡散に用いたが、別の乱数系列、例えばガウス分布に従う乱数系列などを用いて拡散を行っても構わない。
以上透かし情報拡散部16について説明したが、上述したように、本実施例ではマクロブロックパターンはn×n個のブロックから構成されるものとするので、埋め込み系列の系列長はnとなる。
図4のフローにおいて、次に、マクロブロックパターンをブロック毎に設定するため、埋め込み系列の項番を指定するカウンタiを0に設定し(ステップ23)、周波数選定部17が、埋め込み系列のi番目の項eの値等に対応する周波数を選定する(ステップ24)。次に、波形パターン生成部18は、選定された周波数に対応した波形パターンを生成する(ステップ25)。波形パターンは後で述べるブロックサイズの画素行列である。
以下、周波数選定部17及び波形パターン生成部18の処理についてより詳細に説明する。以下、3つの処理方法の例について説明する。
(1)まず、第1の例における周波数選定部17及び波形パターン生成部18について詳細に説明する。
周波数選定部17の構成を図7に、処理の流れを図8に示す。図7に示すように、周波数選定部17は、埋め込み系列項符号取得部25と選定部26と符号対応周波数データベース27を有している。
図8に示すように、周波数選定部17は、埋め込み系列項値を入力とし(ステップ41)、埋め込み系列項符号取得部25は埋め込み系列項値の符号を得る(ステップ42)。符号としては(+、−、0)の三値を取りうる。次に選定部26が、埋め込み系列項値符号に対応する周波数を、符号対応周波数データベース27から検索し、選定された周波数として出力する(ステップ43)。符号対応周波数データベース27の構成を図9に示す。符号対応周波数データベース27には、埋め込み系列項符号取得部25の各々の出力に対して、対応する周波数が記録・蓄積されている。一つの符号に対して対応する周波数が一つでなくとも良く、図9の符号“−”の場合のように、複数の周波数の組が対応していても良い。
なお、本願明細書全体及び特許請求の範囲において、“周波数”の用語の意味は、特に区別して用いる場合を除き、単一の周波数のみならず、上記の符号“−”の場合のように、1つの符号(もしくは0、もしくは量子化値)に対応する複数の周波数も含むものとする。
また、ここで周波数とは2次元波形パターンを表す2次元周波数であって、ブロックサイズを基準とした相対的な周波数を表すものとする。例えばX×Y画素のブロックサイズに対して、x方向で2波長の波形を表す周波数と、2X×2Y画素のブロックサイズに対して、x方向に2波長の波形を表す周波数は同じ値となるように画素サイズで正規化されているものとする。第1の例では、波形パターン生成部18は、選定された周波数に対応する波形パターンを生成する。波形パターン生成部25が生成する波形パターンは、ブロックと同じ大きさの2次元パターンとする。また、選定された周波数が複数ある場合は、それぞれの波形パターンを加算し、得られたパターンのエネルギーを周波数一つの場合と同じとなるように振幅を正規化したものを波形パターンとする。
(2)第2の例では、波形パターン生成部18が波形パターンの振幅を、埋め込み系列項値の絶対値で増幅する点が第1の例と異なる。
(3)次に、第3の例における周波数選定部17及び波形パターン生成部18について詳細に説明する。
周波数選定部17の構成を図10に、処理の流れを図11に示す。図10に示すように、周波数選定部17は、埋め込み系列項量子化部29と選定部30と量子化対応周波数データベース31を有している。
図11に示すように、周波数選定部17は、埋め込み系列項値を入力とし(ステップ51)、埋め込み系列項量子化部29が埋め込み系列項値を量子化し、量子化埋め込み系列項値を得る(ステップ52)。そして、選定部30が、量子化埋め込み系列項値に対応する周波数を、量子化値対応周波数データベース31から検索し、選定された周波数を得て(ステップ53)、それを出力する(ステップ54)。
埋め込み系列項量子化部29による量子化の方法としては、図12に示すような方法がある。図12に示す(a)〜(c)の量子化はそれぞれ以下のような演算により行われる:
(a)二値化
xを埋め込み系列項値とした時に、
x<0→ −1
x>=0→ 1
のように二値化する。
(b)三値化
xを埋め込み系列項値とした時に
x<0→ −1
x=0→ 0
x>0→ 1
のように三値化する。
(c)n値化
xを埋め込み系列項値とした時に、
Figure 0004303243
のようにn値化する。
なお、(c)のように等幅量子化ではなく、不等幅量子化を用いても構わない。
上記のステップ53において選定部30が参照する量子化値対応周波数データベース31の構成を図13に示す。なお、この例は上記の三値化の場合の例である。図13に示すように、量子化値対応周波数データベース31には、埋め込み系列項量子化部29の各々の出力に対して、対応する周波数が予め記録・蓄積されている。この際、一つの量子化値に対して対応する周波数が一つでなくとも良く、図13の量子化値0の場合のように、複数の周波数の組が対応していても良い。
波形パターン生成部18については第1の例もしくは第2の例と同様である。即ち、選択された周波数パターンの振幅をそのまま用いるか埋め込み系列項値の絶対値で増幅する。
以上、周波数選定部17、波形パターン生成部18の例について説明したが、以下の説明において本実施例では、第1の例に基づくものとし、また、選定される周波数は2種類(f0、f1)であるものとする。そして、2種類の波形パターンの間には、一方を90°回転したパターンがもう一方になるようなものとする。
図4のフローにおいて、次に、マクロブロックパターン設定部19は、予め用意されたマクロブロックパターンのバッファに対し、上記埋め込み系列の項番iに対応するブロック位置の画素ブロックを、上記波形パターンで置き換える(ステップ26)。マクロブロックパターンは図14に示すように、N×N画素の画素配列であり、縦横n個のブロックから構成される。マクロブロックパターン設定部19においては、例えば横ブロック位置m0、縦ブロック位置n0に対してi=m0+n0×n等のようにして、埋め込み系列の項番iとブロック位置(m0,n0)を1対1対応させて、対応するブロック位置の画素ブロックを、対応する波形パターンで置き換える。
埋め込み系列の項番を指定するカウンタiをインクリメントさせ(ステップ27)、全ての項について上記周波数選定部17からマクロブロックパターン設定部19までの処理を繰り返すことによって(ステップ28)、マクロブロックパターンは図15のように異なる周波数パターンを持つブロックを配置したものとして生成され、最後に全てのブロックを設定し終えたマクロブロックパターンを出力する(ステップ29)。
上記のマクロブロックパターン生成部11の中のマクロブロックパターンタイリング部13についてより詳細に説明する。本実施例におけるマクロブロックパターンタイリング部13の構成を図16に、処理の流れを図17に示す。
図16に示すように、マクロブロックパターンタイリング部13は、増幅部33とタイリング重畳部34を有している。この構成における処理の流れを図17を参照して以下説明する。
マクロブロックパターンタイリング部13は、波形パターン生成部11により生成されたマクロブロックパターン、及び埋め込み強度値、原画像を入力とする(ステップ61)。増幅部33が、マクロブロックパターンの振幅を埋め込み強度値を用いて増幅して(ステップ62)、増幅されたマクロブロックパターンを出力する。増幅されたマクロブロックパターンは、タイリング重畳部に入力される。
次にタイリング重畳部34は、原画像に対して、増幅されたマクロブロックパターンを図18に示すようにタイル状に重畳する(ステップ63)。この際、タイリングの開始位置は原画像の左上とは限らず、任意の位置からタイリングしても良い。また、原画像データの端などで、タイリングするマクロブロックパターンがはみ出してしまう場合は、はみ出した部分は切り捨てて、原画像が全てマクロブロックパターンで埋め尽くされるようにする。さらに、マクロブロックパターンを原画像に重畳する際、マクロブロックを構成するブロック波形パターンについて、図19のように、同一の周波数を持つ波形パターンの原画像上での位相が揃うように、タイリング中のブロック毎に波形パターンの位相を変更しても良い。ここで、同一周波数の波形パターンの位相を揃えるとは、図19のように、原画像と同じサイズの波形パターンの各ブロック位置の波形パターンが、原画像上の該当する位置においてタイリング中のブロックの波形パターンとなるようすることである。このようにすることで、後述する検出時の一次変換歪補正処理において、変換パラメータを推定するためのパワースペクトルのピークをより強めることができ、耐性の向上に寄与する。なお、ブロックサイズが波形パターンの波長の整数倍となっている場合については、特にブロック内の波形パターンの位相を変更せずとも、タイリング後の原画像上の波形パターンの位相が揃うため、上記のような処理を行う必要はない。
マクロブロックパターンがタイリングされた原画像は、タイリング済み画像として、マクロブロックパターンタイリング部13から出力される(ステップ64)。そして、電子透かし埋め込み装置10の画像出力部14が、そのタイリング済み画像を電子透かし埋め込み済み画像として出力する。
次に、上記のようにして生成された電子透かし埋め込み済み画像から電子透かしの検出を行う電子透かし検出装置40について説明する。
本実施例における電子透かし検出装置40の構成を図20に示し、処理の流れを図21に示す。
図20に示すように、本実施例の電子透かし検出装置40は、一次変換歪補正部41、加算マクロブロック生成部42、検出値行列生成部43、透かし情報逆拡散部44を有している。この構成を有する電子透かし検出装置40における処理の流れを図21を参照して説明する。
電子透かし検出装置40は、検出対象画像を入力とする(ステップ71)。そしてまず一次変換補正部41が、検出対象画像に施された一次変換のパラメータを推定し、逆変換により補正することで一次変換補正済み検出対象画像データを得る(ステップ72)。
次に加算マクロブロック生成部42が、一次変換補正済み検出対象画像をマクロブロックの大きさに分割し、分割された領域を加算して加算マクロブロックを得る(ステップ73)。次に検出値行列生成部43が、加算マクロブロック中のブロック切り出し位置を探索し(ステップ74)、ブロック切り出し位置に応じた検出値行列を生成する(ステップ75)。次に透かし情報逆拡散部44が、検出値行列を用いて、90度毎回転・マクロブロック先頭位置を探索しながら逆拡散処理を行い、検出透かし情報を得て出力する(ステップ76)。
なお、上記の処理において、検出対象画像を入力したのち、検出対象画像を、予め定めた画素数の画像サイズとなるように拡大/縮小変換し、画像サイズを正規化したサイズ正規化検出対象画像を生成し、以降の処理の入力としてもよい。また、検出耐性向上を図るために、一次変換歪補正部41もしくは加算マクロブロック生成部42の前に前処理フィルタ部を設けて、検出対象画像もしくは一次変換歪補正済み検出対象画像に対してそれぞれ前処理フィルタ処理を施しても良い。また、検出対象画像と一次変換歪補正済み検出対象画像の各々に前処理フィルタ処理を施しても良い。
前処理フィルタ処理について説明する。前処理フィルタ処理に用いるフィルタとして、埋め込みに用いた周波数パターンの周波数を通過させる帯域通過フィルタ(バンドパスフィルタ)を用いることが望ましい。帯域通過フィルタによる帯域制限処理により、低周波数成分が低減される。原画像の絵柄の周波数は低周波数成分が多いので、周波数パターンに対する原画像の絵柄の影響を軽減できる。なお、前処理フィルタ処理部として、画像信号データの波形を微分する微分回路を用いることもできる。フィルタ処理加えて、クリッピング処理を行うことにより検出性能を更に改善できる。クリッピング処理とは、例えばフィルタ処理済みの画像の信号波形のうち、予め定めた上限値と下限値を超える信号部分に丸め処理を施すことである。この結果、微弱な振幅の信号が相対的に強まることになる。従って、フィルタ処理済みの信号のレベルを設定値以内に抑えることができ、周波数パターンの検出感度を向上させることができる。
次に、上記の電子透かし検出装置40の各部についてより詳細に説明する。
本実施例における一次変換歪補正部41の構成を図22に、処理の流れを図23に示す。図22に示すように、一次変換歪補正部41は、離散フーリエ変換部46、ピーク位置探索部47、一次変換行列推定部48、画像変換部49を有している。図23を参照して一次変換歪補正部41の処理の流れを説明する。
一次変換歪補正部41は、検出対象画像を入力とし(ステップ81)、まず離散フーリエ変換部46が検出対象画像を2次元離散フーリエ変換し、パワースペクトル行列を得る(ステップ82)。次にピーク位置探索部47が、パワースペクトル行列の中で大きなピーク値をとる要素の位置を2点探索し、この2つの要素位置をピーク位置情報として取得する(ステップ83)。
次に一次変換行列推定部48が、ピーク位置情報と、予め定められた基準位置とから、基準位置がピーク位置に変換される時の一次変換行列を算出し(ステップ84)、さらにスペクトル空間上での一次変換行列を画素空間上での一次変換行列に変換して得られる行列のさらに逆行列を、画像補正用一次変換行列として出力する(ステップ85)。最後に画像変換部49が、画像補正用一次変換行列で表される画像の一次変換を、検出対象画像に対して施すことにより、検出対象画像に施されていた一次変換を補正し、一次変換歪補正済み検出対象画像データを得て出力する(ステップ86)。
一次変換歪補正部46が検出対象画像における一次変換歪を補正する処理の原理を以下に説明する。
まず本実施例の電子透かし埋め込み装置10を用いて得られる画像をそのまま検出対象画像として入力した場合、図24に示すように、検出対象画像を離散フーリエ変換して得られるパワースペクトルは、ブロックに重畳された2種類の周波数パターンに対応する周波数位置に大きなピークを持つ。この理由は、ブロック単位という局所領域では該ブロックに重畳された周波数パターンを表す周波数がピークを持つが、2種類の周波数パターンが、ほぼ等しい面積(拡散処理による)で検出対象画像を埋めつくしていることと、画像全体に対する離散フーリエ変換で得られるパワースペクトルの周波数位置は周波数パターンの局在性によらない、ということによる。
次に図25に示すように、検出対象画像に一次変換が施されている場合について考える。この場合は一般的に良く知られた事実として、検出対象画像に施された一次変換のうち、回転成分についてはスペクトル空間上での同じ角度の回転として反映され、スケーリング成分についてはスペクトル空間上での逆スケーリング成分として反映される。例えば画像空間上で角度θだけ回転し、かつs倍のスケーリングを行うような一次変換が施されると、スペクトル空間上では角度θの回転と1/s倍のスケーリングを行うような一次変換が対応して引き起こされる。また、パワースペクトルは画像の平行移動量に対して不変であるという特徴を持つ。以上のことから図25のように検出対象画像に一次変換が施されている場合、図24のパワースペクトル行列に、当該一次変換に対応する一次変換が施され、そのため2種類の周波数パターンに対応するピーク位置も変換によって移動する。
よって、図25のように一次変換が施された検出対象画像から得られるパワースペクトル行列内の2つのピーク位置を検出し、図24のように、歪のない状態で得られるパワースペクトル行列上のピーク位置を基準位置として、基準位置が、検出した2つのピーク位置に変換されるような一次変換を算出すれば、対応する画素空間上での一次変換も定まることになり、一次変換パラメータの推定と歪みの補正を行うことが可能となる。この際、画像のパワースペクトル配置が原点(直流成分位置)に対して点対称に並ぶこと、および2つのピーク点を見分ける方法がないこと、の2つの理由により、90度毎回転についての不確定性が残る。即ち一次変換歪補正を行って得られる一次変換歪補正済み検出対象画像は、もともとの電子透かし埋め込み済み画像の状態と比べ、0度、90度、180度、270度回転のいずれかの状態となるが、これは後の処理で90度毎回転対応することで解決する。また、画像の鏡像変換の不確定性もあるが、これは後に述べる位置変換行列推定部以降の処理を2重に行うことで解決される。
次に、本実施例の一次変換歪補正部41における各部の処理を詳細に説明する。
本実施例における離散フーリエ変換部46の処理を図26に示す。離散フーリエ変換部46は検出対象画像を入力として、検出対象画像を離散フーリエ変換して得られるパワースペクトル行列を出力する。離散フーリエ変換のサイズとしては、検出対象画像のサイズそのものでも良いし、処理の高速化のためFFT(高速離散フーリエ変換)などを用いるために縦横のサイズが2の冪となるように設定してもよい。検出対象画像のサイズと離散フーリエ変換のサイズが異なる場合は、図26のように、画像中心から離散フーリエ変換の対象となる画素をとり、離散フーリエ変換のサイズからはみ出した部分は切り捨て、離散フーリエ変換の必要サイズに満たない場合は画素値0で埋める、あるいは離散フーリエ変換のサイズ中の検出対象画像の部分領域の平均画素値で埋める、などとする。さらに高速化のため、検出対象画像を予め定まった倍率、例えば縦横1/2サイズに縮小してから離散フーリエ変換してもよい。このようにして得られるパワースペクトル行列の中には、上記理由により4点(対称性を考慮すれば独立な2点)の大きなピーク値が含まれている。
本実施例におけるピーク位置探索部47の構成を図27に、その処理の流れを図28に示す。図27に示すように、本実施例のピーク位置探索部47は、最大ピーク位置探索部51、第2ピーク位置探索部52、ピーク位置情報出力部53を有している。以下、図28を参照して処理の流れを説明する。
ピーク位置探索部47はパワースペクトル行列を入力とし(ステップ91)、まず最大ピーク位置探索部51が、図29に示すように、離散フーリエ変換部46により得られたパワースペクトル行列中の予め定めた帯域内で、最大のピーク値を取る周波数位置を探索により検出する(ステップ92)。ここで帯域の定め方としては、低周波帯域を含まないようにして選択する。低周波を避ける理由は、原画像自体のエネルギーが低周波に集中するため、最大ピーク位置を誤検出する可能性があるためである。また、パワースペクトル行列の対称性から、上半分帯域のみ探索すれば十分である。
なお、最大ピーク位置を探索する際、単純に予め定めた帯域中で最大値を取る周波数位置を検出した最大ピーク位置としてもよいし、例えば図30のようにインパルス性(即ちピーク性)のある大きなパワーを取る周波数位置を見つけるために、ラプラシアンフィルタのような畳み込みオペレータの応答値が最大となる周波数位置を最大ピーク位置としても良い。さらに畳み込みオペレータを用いる場合は、一点のみからなるインパルスを検出するような(例えば3×3のラプラシアンフィルタ)ものより、多少の裾野の広がりを持つピークを検出できるように、例えば図30のようにスパースな畳み込みオペレータなどを用いる方が良い。これはパワースペクトル行列中に現れるピークが、検出対象画像の若干の非線形歪みなどにより若干広がる可能性があることによる。最大ピーク位置探索部51は、上記のようにして最大ピーク位置を検出して、これを最大ピーク位置情報として出力する。
次に第2ピーク位置探索部52が、図31に示すように、最大ピーク位置情報で表されるパワースペクトル上の位置を90度回転した点を中心とした予め定めたサイズの近傍領域である第2ピーク位置探索領域中で、最大ピークを取る周波数位置を探索し、検出した周波数位置を第2ピーク位置情報として出力する(ステップ93)。ここで第2ピーク位置探索領域を、最大ピーク位置を90度回転した点の近傍としているのは、電子透かし埋め込みに利用する周波数の波形パターンが、一方を90度回転したパターンがもう一方になるようなもの2種類であることによる。
また単純に最大ピーク位置を90度回転した点を第2ピーク位置とするのではなく近傍領域を探索する理由は、検出対象画像に施された一次変換として、アスペクト比変更や、せん断といった変換成分があるため、最大ピーク位置を90度回転した点からずれた位置にピーク位置がずれることが考えられるためである。第2ピーク位置探索領域のサイズは、一次変換歪補正部41で対応するアスペクト比変更・せん断変換の程度によって予め定める。また、第2ピーク位置を探索する際には、最大ピーク位置探索部51と同様に、第2ピーク位置探索領域中で最大値を取る周波数位置を検出した第2ピーク位置としても良いし、図30のような畳み込みオペレータの応答値が最大となる周波数位置を第2ピーク位置としても良い。
以上のようにして最大ピーク位置情報、第2ピーク位置情報を取得するが、別の方法として、図29で示される予め定めた帯域中で最大のピーク値を取る位置を最大ピーク位置、2番目に大きなピーク値を取る点を第2ピーク値としても良い。
最後にピーク位置情報出力部53が、最大ピーク位置情報と第2ピーク位置情報を組にして、ピーク位置情報として出力する(ステップ94)。
続いて、一次変換歪補正部41の中の一次変換行列推定部48について詳細に説明する。本実施例における一次変換行列推定部48の構成を図32に、処理の流れを図33に示す。図32に示すように、一次変換行列推定部48は、ピーク位置情報変換部55、スペクトル空間上一次変換行列算出部56、画像補正用一次変換行列算出部57を有している。図33を参照して一次変換行列推定部48における処理の流れを説明する。
一次変換行列推定部48は、ピーク位置探索部47により得られたピーク位置情報を入力とし(ステップ101)、まずピーク位置情報変換部55においてピーク位置情報を変換し、変換済みピーク位置情報を得る(ステップ102)。そしてスペクトル空間上一次変換行列算出部56が、予め保持している基準位置情報と、変換済みピーク位置情報を用いてスペクトル空間上一次変換行列を算出する(ステップ103)。最後に、画像補正用一次変換行列算出部57が、スペクトル空間上一次変換行列を画素空間上一次変換行列に変換し、結果を画像補正用一次変換行列として出力する(ステップ104)。各部の処理を以下詳細に説明する。
図34にピーク位置情報変換部55の処理内容を示す。ピーク位置情報変換部55はピーク位置情報を入力とし、ピーク位置情報中の最大ピーク位置情報および第2ピーク位置情報について、それぞれの位置情報が表すパワースペクトル上の位置が、第1象限または第2象限にあるかを判定し、第1象限および第2象限になかった場合、点対称の位置を新たな位置とするように位置情報を変換する。図34では第2ピーク位置が第1象限もしくは第2象限にないため、ピーク位置情報中の第2ピーク位置の点対称となる点を新たな第2ピーク位置とする。
次に、どちらも第1象限または第2象限に存在する最大ピーク位置と第2ピーク位置について、そのx方向座標値が小さい、すなわちパワースペクトル行列上で左側に位置する方をピーク位置A、もう一方をピーク位置Bと名称を変え、ピーク位置Aを表すピーク位置情報Aとピーク位置Bを表すピーク位置情報Bを組にして変換ピーク位置情報として出力する。なお、ピーク位置Aとピーク位置Bのとり方を逆にした変換ピーク位置情報も生成し、以降の処理をすべて2重に行うことにより、画像の鏡像変換対応も実現できる。
次にスペクトル空間上一次変換行列算出部56の処理について図35を用いて説明する。スペクトル空間上一次変換行列算出部56は、電子透かし埋め込み直後の状態で得られるピーク位置、即ち埋め込みに用いた2種類の周波数パターンに対応する2つの周波数位置を、予め基準位置情報として保持している。基準位置情報のうち、x方向座標値が小さい、すなわちパワースペクトル行列上で左側に位置する方を基準位置a、もう一方を基準位置bとする。このときスペクトル空間上位置変換行列は、図35に示すように、基準位置aをピーク位置Aに、基準位置bをピーク位置Bに移す一次変換であり、以下の式によって算出される:
パワースペクトル行列の直流成分を原点とする2次元座標系で
基準位置a:(a,a
基準位置b:(b,b
ピーク位置A:(A,A
ピーク位置B:(B,B
とし、スペクトル空間上一次変換行列を
Figure 0004303243
Figure 0004303243
とすれば
Figure 0004303243
となるので、これを解いて
Figure 0004303243
となる。
次に画像補正用一次変換行列算出部57の処理内容を説明する。画像補正用一次変換行列算出部57は、スペクトル空間上一次変換行列を入力とする。図25に示したとおり、画素空間上の一次変換とスペクトル空間上の一次変換の関係は、
*スケーリング成分は逆変換
*回転成分は同じ
となっている。この性質から、スペクトル空間上一次変換行列に対応する画素空間上一次変換行列を求める。
スペクトル空間上一次変換行列を
Figure 0004303243
Figure 0004303243
とすると、対応する画素空間上一次変換行列は
Figure 0004303243
となる。
最終的に求めたい画像補正用一次変換行列は、上記画素空間上一次変換行列の逆行列であるので、
Figure 0004303243
となり、スペクトル空間上一次変換行列の転置行列を画像補正用一次変換行列として出力すれば良い。
次に、本実施例における電子透かし検出装置40の中の一次変換歪補正部41の中の画像変換部49の処理の内容を図36、37を用いて説明する。
画像変換部49は、検出対象画像と、一次変換行列推定部48で生成された画像補正用一次変換行列を入力として、検出対象画像を一次変換して得られる画像を一次変換歪補正済み検出対象画像として出力する。
この際、図36に示すように、一次変換によって検出対象画像外の領域ができる場合は、画素値0で埋める、または検出対象画像の平均画素値で埋めるなどの処理をする。また、図37に示すように、一次変換歪補正済み検出対象画像の画像サイズを予め定めている場合については、固定サイズからはみ出した検出対象画像の部分は切り捨て、検出対象画像外の領域ができる場合は、画素値0で埋める、または検出対象画像の部分領域の平均画素値で埋めるなどをする。
次に、電子透かし検出装置40における加算マクロブロック生成部42について説明する。本実施例における加算マクロブロック生成部42の構成を図38に、処理の流れを図39に示す。
図38に示すように、加算マクロブロック生成部42は、マクロブロック分割部59とマクロブロック生成部60を有している。図39を参照して加算マクロブロック生成部42における処理の流れを説明する。
加算マクロブロック生成部42は、一次変換歪補正部41から出力された一次変換歪補正済み検出対象画像を入力とし(ステップ111)、まず図40のようにして、一次変換歪補正済み検出対象画像の任意の位置から、予め定めたサイズ(埋め込み時と同じ値)のマクロブロックに分割してマクロブロック群を得る(ステップ112)。この際に画像の端などでマクロブロックに満たない画素領域からマクロブロックを得る場合には、画素値0で埋める、または検出対象画像の部分領域の平均画素値で埋めるなどをする。
次にマクロブロック加算部60は、図41のようにマクロブロック群中の全てのマクロブロックを加算して加算マクロブロックを生成して、これを出力する(ステップ113)。
一次変換歪を補正して得られる一次変換歪補正済み検出対象画像は、埋め込み直後の電子透かし埋め込み済み画像と比較すると、同じスケール、(90度ごとの回転角度や鏡像変換の不確定性を同一視して)同じ向きであり、平行移動を伴っている状態であると考えることができる。すると、埋め込み直後の電子透かし埋め込み済み画像にタイリングされているマクロブロックパターンと同じサイズのマクロブロックで分割して得られるマクロブロック群中の各マクロブロックは、それぞれマクロブロックパターンが同じ量平行移動した状態で含まれた画素領域となる。そのためマクロブロックの総和である加算マクロブロックには、図42のように位置のずれたマクロブロックパターンが加算回数分強まった形で集積されることになる。加算マクロブロックには埋め込み時のマクロブロックパターンがサイクリックシフトした形で含まれていることから、加算マクロブロック中で平行移動の対応をして、埋め込み時のマクロブロックパターンの先頭位置が見つかれば、埋め込まれた透かし情報を検出することが可能となる。このような観点から以下で説明する処理が行われることになる。なお、加算マクロブロック生成部42はなくてもよい。すなわち、図42のようにして切り出したマクロブロックと同じ大きさのブロック1つを以降の処理の入力としてもよい。ただし、以下は加算マクロブロック生成部42を用いる場合を前提としている。
次に本実施例の電子透かし検出装置40における検出値行列生成部43について説明する。検出値行列生成部43の構成を図43に、処理の流れを図44に示す。図43に示すように、検出値行列生成部43は、各周波数に対応したフィルタ処理済み画像群生成部62、ブロック切り出し位置検出部63、検出値行列構成部64、符号対応周波数データベース65を有している。以下、図44を参照して検出値行列生成部43の処理の流れを説明する。
検出値行列生成部43は、加算マクロブロック生成部42により生成された加算マクロブロックを入力とし(ステップ121)、まず各周波数に対応したフィルタ処理済み画像群生成部62において、符号対応周波数データベース65(または量子化値対応周波数データベース。埋め込みに用いたものと同じものを用いる。ここでは2種類の周波数が含まれるものとする。)に登録されている周波数に対応した畳み込みオペレータを用いて加算マクロブロックに対して畳み込み演算を行い、周波数の種類分の数(2つ)のフィルタ処理済み画像を生成し、これらを各周波数に対応したフィルタ処理済み画像群として出力する(ステップ122)。
そして、ブロック切り出し位置検出部63が、ブロック切り出し位置の探索を行い、ブロック切り出し位置を検出する(ステップ123)。最後に検出値行列構成部64が、検出したブロック切り出し位置に対応した検出値行列を構成し出力する(ステップ124)。
以下、各部について更に説明する。
図45に各周波数に対応したフィルタ処理済み画像群生成部62の処理の概要を示す。図45に示す例では、予め定められた周波数はf0、f1の2種類に対応して、フィルタ処理済み画像を2つ生成する。それぞれの周波数に対応した畳み込みオペレータを用いて、加算マクロブロックの各画素に対して畳み込み演算を順次走査しながら行うことにより、2つの周波数に対応したフィルタ処理済み画像が2つ生成される。この時、図45に示すように、畳み込みオペレータが対応する周波数と、埋め込み時の周波数パターンとが一致するフィルタ処理済み画像の領域においては、大きな絶対値を持つ値が現れ、一致していない場合は小さな絶対値を持つ値が現れる(図45では明:+の大きな絶対値の値、暗:−の大きな絶対値の値を示している)。これは畳み込み演算が部分的に相関演算を行っているとみなせることから、同じパターン同士の時に大きな絶対値をもつ相関値をとり、異なるパターンの時には小さな絶対値を持つ相関値を取ることを考えれば自明である。これら2つのフィルタ処理済み画像を各周波数に対応したフィルタ処理済み画像群として出力する。なお、畳み込み演算の際に、加算マクロブロックの端点などで画素値を参照できない場合は、サイクリックシフトのように画像の反対側の辺に折り返して得られる画素値を参照して画素値を参照するものとする。
次にブロック切り出し位置検出部63の構成を図46に、処理の流れを図47に示す。図46に示すように、ブロック切り出し位置検出部63は、探索位置設定部67、ブロック切り出し位置応答値算出部68、ブロック切り出し位置応答値バッファ69、ブロック切り出し位置決定部70を有している。図47を参照してブロック切り出し位置検出部63における処理の流れを説明する。
ブロック切り出し位置検出部63は、各周波数に対応したフィルタ処理済み画像群を入力とする(ステップ131)。まず探索位置設定部67が、予め定めた探索範囲の中の探索位置情報(o,o)を生成する(ステップ132)。次にブロック切り出し位置応答値算出部68が、探索位置情報で示される座標をブロック切り出し位置と仮定した場合のブロック切り出し位置応答値を求める(ステップ133)。求めたブロック切り出し位置応答値は、対応する探索位置情報と組にしてブロック切り出し位置応答値バッファに格納される(ステップ134)。この処理を予め定めた探索範囲に含まれる全ての探索位置について行う(ステップ135)。最後にブロック切り出し位置決定部70において、最大のブロック切り出し位置応答値を持つ探索位置情報を、検出したブロック切り出し位置情報として出力する(ステップ136)。
図48に探索位置情報の例を示す。探索範囲は加算マクロブロックの左上端点(各周波数に対応したフィルタ処理済み画像群の各画像も同じサイズなのでこれらの左上端点でもある)を中心としたある大きさを持つ近傍領域であり、この近傍領域に含まれる座標(o,o)を探索位置情報として順次選択する。例えば探索範囲は加算マクロブロックの左上端を中心とした、ブロックサイズ矩形領域を探索範囲とする。入力時点での加算マクロブロック中のブロック切り出し位置が、加算マクロブロックの左上端から位置ずれしている場合でも、近傍内に正しいブロック切り出し位置がある場合、探索位置が正しいブロック切り出し位置と一致したときに、ブロック切り出し位置応答値が他の探索位置に比べ大きな値となるような応答値算出方法を用いれば、正しいブロック切り出し位置が検出できることになる。また、上記のような探索範囲を用いれば、探索範囲中に必ず一点正しいブロック切り出し位置が含まれることになり、探索によって確実に正しいブロック切り出し位置が検出できることになる。このような観点で以下の処理が行なわれている。
ブロック切り出し位置応答値算出部68の構成を図49に、処理の流れを図50に示す。図49に示すように、ブロック切り出し位置応答値算出部68は、ブロック分割部72、画素絶対値和計算部73、最大絶対値和判定部74、最大絶対値和加算部75を有している。図50を参照してその処理の流れを説明する。
ブロック切り出し位置応答値算出部68は、各周波数に対応したフィルタ処理済み画像群と探索位置情報を入力とする(ステップ141)。また、最大値絶対和加算部73の値を0に初期化する(ステップ142)。
次にブロック分割部72は、各周波数に対応したフィルタ処理済み画像群中の各フィルタ処理済み画像について、探索位置情報で示される座標をブロック切り出し位置とした場合のブロック分割を行い、同じブロック位置にある各フィルタ処理済み画像に対応した画素ブロック群を順次取得する(ステップ143)。
次に画素絶対値和加算部73が、同じブロック位置にある各フィルタ処理済み画像に対応した画素ブロック群中の各画素ブロックについて、画素ブロック中の画素値の絶対値和を計算し、各画素ブロックに対応した画素絶対値和群を得る(ステップ144)。次に最大絶対値和判定部74が、各画素ブロックに対応した画素絶対値和群の中で最大の値を取るものを選び、この値を最大絶対値和として取得する(ステップ145)。最後に最大絶対値和加算部75において、初期値0の値であるSに最大絶対値和を加算する(ステップ146)。上記画素絶対値和計算部73から最大絶対値和加算部75までの処理を、ブロック分割で取得した全ての各フィルタ処理済み画像に対応した画素ブロック群について繰り返し行い、その結果として得られるSをブロック切り出し位置応答値として出力する(ステップ147、ステップ148)。
次に、ブロック切り出し位置応答値算出部68における各部の処理についてより具体的に説明する。
まず、ブロック分割部72について説明する。図51にブロック分割部72の処理を説明する図を示す。
ブロック分割部72は、各周波数に対応したフィルタ処理済み画像群と探索位置情報を入力とし、各周波数に対応したフィルタ処理済み画像群中の各フィルタ処理済み画像について、探索位置情報で示される座標をブロック切り出し位置とした場合のブロック分割を行い、同じブロック位置にある各フィルタ処理済み画像に対応した画素ブロック群を順次出力する。画素ブロックのサイズは、各フィルタ処理済み画像(全て同じサイズ)を予め定めたブロック個数で分割した場合に相当する大きさである。探索位置情報で示される座標によってブロック分割をした際に、画像サイズの外の画素を参照する場合については、図52に示すように加算マクロブロックの反対側の辺に折り返して得られる画素値を参照する、いわゆるサイクリックシフトによって画素値を得るものとする。
図53に画素絶対値和計算部73の処理を説明する図を示す。画素絶対値和計算部73は、各フィルタ処理済み画像に対応した画素ブロック群を入力とし、それぞれの画素ブロックについて、その中に含まれる画素値の絶対値の総和を計算し、結果を各画素ブロックに対応した画素絶対値和群として出力する。この処理は、各画素ブロック生成の際に対応付けられた周波数のエネルギーを計算することに相当する。なお、埋め込みの際に一つの符号もしくは量子化値に複数の周波数が対応付けられていた場合には、各々の周波数に対応する絶対値和(エネルギー)の合計を、その複数の周波数に対応する絶対値和とする。なお、本明細書中及び特許請求の範囲における“絶対値和”の用語は、特に区別して用いる場合を除き、上記の意味での“複数の周波数に対応する複数の絶対値和を加算したもの”を含む意味で用いる。
ブロック切り出し位置応答値算出部68により、探索位置情報で示される座標が正しいブロック切り出し位置の場合に大きな値を出力される理由について説明する。図54の上図のようなブロック切り出しを行った場合、探索位置情報が正しいブロック切り出し位置からずれている場合には、分割されて得られる各画素ブロックは電子透かし埋め込み時のブロック分割のされ方からずれているため、埋め込み時に重畳された周波数パターン以外の画素領域を画素ブロックに含むことになり、重畳された周波数のエネルギーは、下図のように正しくブロック切り出しした場合に比べて小さな値となる。すなわち探索位置情報で現れる座標が正しいブロック切り出し位置のときに、ブロック切り出し位置応答値が最大値をとることになる。
次に、電子透かし検出装置40における検出値行列生成部43の中の検出値行列構成部64について説明する。図55に検出値行列構成部64の構成を、図56に処理の流れを示す。図55に示すように、検出値行列構成部64は、ブロック分割部77、画素絶対値和計算部78、最大エネルギー周波数判定部79、検出値行列要素値設定部80を有している。図56を参照して検出値行列構成部64の処理の流れを説明する。
検出値行列構成部64は、各周波数に対応したフィルタ処理済み画像群と、ブロック切り出し位置情報を入力とする(ステップ151)。ブロック分割部77は、ブロック切り出し位置情報で示される座標をブロック切り出し位置として、各周波数に対応したフィルタ処理済み画像群中の各フィルタ処理済み画像をブロック分割し、同じブロック位置にある各フィルタ処理済み画像に対応した画素ブロック群を順次生成する(ステップ152)。
次に画素絶対値和計算部78は、各フィルタ処理済み画像に対応した画素ブロック群を入力とし、それぞれの画素ブロックについて、その中に含まれる画素値の絶対値の総和を計算し、結果を各画素ブロックに対応した画素絶対値和群として出力する(ステップ153)。検出値行列構成部64内のブロック分割部77および画素絶対値和計算部78の処理は、ブロック切り出し位置応答値算出部68のブロック分割部72および画素絶対値和計算部73と全く同じである。次に最大エネルギー周波数判定部79が、各画素ブロックに対応した画素絶対値和群の中で最大の値を取る時の画素ブロックが、どの周波数に対応したフィルタ処理済み画像から得られたブロックかを判定し、対応する周波数を最大エネルギーをもつ周波数として出力する(ステップ154)。
最後に検出値行列要素値設定部80は、最大エネルギーをもつ周波数に対応する符号を符号対応周波数データベースから決定し、2つ(周波数が2種類のため)の画素絶対値和の差の絶対値を求め、2つの画素絶対値和の差の絶対値に上記符号を付けた値を検出値として、ブロック位置に相当する検出値行列の要素値として設定する(ステップ155)。ここで、+に対応する周波数に対応する画素絶対値和から−に対応する周波数の画素絶対値和を減算した値を要素値としてもよい。なお、最大エネルギーをもつ周波数に対応する符号を符号対応周波数データベースから決定し、その符号を上記最大の画素絶対値和に付けた値を要素値としてもよい。また、1を符号に付した値を要素値とすることもできる。更に、前述した量子化値対応周波数データベースを用いて埋め込みを行なう方法を用いている場合、最大エネルギーをもつ周波数に対応する量子化値を決定し、これを要素値とすることもできる。
上記画素絶対値和計算部78から検出値行列要素値設定部80までの処理を、全てのブロック位置に対して繰り返し行い(ステップ156)、その結果を検出値行列として出力する(ステップ157)。
図57を用いて検出値行列構成部64の処理の流れをより具体的に説明する。各周波数に対応したフィルタ処理済み画像群の中のフィルタ処理済み画像を、ブロック切り出し位置情報に対応する座標をブロック切り出し位置として各々ブロック分割して各フィルタ処理済み画像に対応した画素ブロック群を生成し、各ブロック位置毎に、画素ブロック群中の各画素ブロックの画素値の絶対値和(図57のa0とa1)を求めて、最大の画素絶対値和を取る画素ブロックがどの周波数に対応したフィルタ処理済み画像から得られたブロックかを判定し(図57ではa0>a1とする)、フィルタ処理済み画像に対応する周波数を最大エネルギー周波数として得る。そして符号対応周波数データベースから最大エネルギー周波数に対応する符号を決定し(図56ではa0>a1なので“+”)、二つの画素絶対値和の差の絶対値(図57では|a0−a1|)を求め、上記符号を付けた値(図57では“+|a0−a1|”)を検出値とし、検出値行列のブロック位置に対応する要素値として設定する。
上記のようにして得られた検出値行列について図58を用いて説明する。図58左図は埋め込み時に生成されたマクロブロックパターン中の各ブロックに対応する埋め込み系列の項値の符号を示し、右図は上記のようにして得られる検出値行列の各要素の符号を示している。検出値行列生成部43中で、ブロック切り出し位置を検出し、ブロック切り出し位置からブロックを切り出して検出値行列を生成するため、加算マクロブロックと埋め込み時のマクロブロックパターンの関係は、各ブロック中の平行移動量の同期は取れているが、ブロックの並びの平行移動、即ち検出値行列の要素の並びの平行移動の不確定さが残っている。図中の丸印は埋め込み時に生成されたマクロブロックパターン中の各ブロックの並びの先頭位置を表しているが、検出値行列では要素の並びが平行移動しているため、検出値行列のある要素位置が元の先頭位置に対応し、検出値行列全体としては要素値の並びが先頭位置を基準にサイクリックシフトした状態になっいる。また、これと同時に一次変換歪補正部41で残っていた不確定性である、90度毎回転成分が残っている。
上記の不確定要素について対応することが可能となれば、最終的に埋め込んだ透かし情報を正しく検出することができる。このような観点から本実施例の透かし情報逆拡散部44は構成されている。以下、本実施例の透かし情報逆拡散部44について説明する。
本実施例における透かし情報逆拡散部44の構成を図59に、処理の流れを図60に示す。図59に示すように、本実施例の透かし情報逆拡散部44は、検出値行列変換部82、一次元化処理部83、擬似乱数生成部84、逆拡散部85、復号対象情報選定部86、誤り訂正/検出復号部87を有している。以下、図60を参照して透かし情報逆拡散部44の処理の流れを説明する。
透かし情報逆拡散部44は、検出値行列生成部43で生成された検出値行列を入力とし(ステップ161)、まず検出値行列変換部82が、90度毎回転・符号反転/マクロブロック開始位置のパラメータを振って検出値行列を変換して得られる変換済み検出値行列群を生成する(ステップ162)。次に一次元化処理部83が、変換済み検出値行列群中の各変換済み検出値行列を一次元化し、検出対象系列群を得る(ステップ163)。
次に逆拡散部85において、擬似乱数生成器84で生成される擬似乱数列と検出対象系列群を入力して、検出対象系列群中の各検出対象系列に対して、擬似乱数列を用いて逆拡散処理を行い、復号対象情報群および電子透かし有無指標値群を得る(ステップ164)。
次に復号対象情報選定部86が、全ての電子透かし有無指標値が予め定めた閾値未満の場合は電子透かし検出不可能を透かし情報逆拡散部の出力として処理を終了し(ステップ168)、そうでない場合は、最大の電子透かし有無指標を持つ復号対象情報を選定する(ステップ167)。
最後に誤り訂正/検出復号部87が、選定された復号対象情報に対して誤り訂正/検出復号を行い、検出透かし情報を得る(ステップ169)。この際、復号対象情報中の誤り検出した場合、訂正可能であれば訂正して検出透かし情報として出力し、訂正不可能な誤りを検出した場合は電子透かし検出不可能を出力する。
以下、透かし情報逆拡散部44の各部についてより詳細に説明する。
本実施例における検出値行列変換部82の構成を図61に、処理の流れを図62に示す。図61に示すように、検出値行列変換部82は90度毎回転部89とマクロブロック開始位置変換部90を有している。
図62に示すように、検出値行列変換部82は検出値行列を入力とし(ステップ171)、まず90度毎回転部89において、図63に示すように、検出値行列の要素の並びを0度、90度、180度、270度回転させた4つの行列を得る(ステップ172)。次に4つの行列のうち、90度回転、270度回転に対応する行列の全要素値の符号を反転する処理を施す(ステップ173、ステップ174)。この理由は、図64に示すように、画像が90度回転または270度回転している場合は、埋め込み時の波形パターンが逆転するため、画像から得られる検出値の符号も反転してしまうためである。上記のような処理により、得られる4つの行列を、回転済み検出値行列群として取得する(ステップ175)。
次にマクロブロック開始位置変換部90において、図65に示すように、回転済み検出値行列群中の各回転済み検出値行列に対して、マクロブロック開始位置を行列の各要素位置としたときに、該要素位置を行列の左上に移動させるようにサイクリックシフトさせた行列を順次生成し、得られる全ての行列を変換済み検出値行列群とする(ステップ176)。検出値行列がn×n行列とすると、変換済み検出値行列群は全部で4n個の変換済み検出値行列から成る。
続いて、本実施例における透かし情報逆拡散部44における一次元化処理部83の処理を図66を用いて説明する。一次元化処理部83では、変換済み検出値行列群を入力とし、各変換済み検出値行列に対して、埋め込み時のマクロブロック設定部19と同様の規則で、行列の要素を一次元化して検出対象系列を得る。全ての変換済み検出値行列から各々検出対象系列を得たら、これらをまとめて検出対象系列群として出力する。
続いて、本実施例における逆拡散部85について以下に説明する。逆拡散部85は検出対象系列群と、擬似乱数生成器84で生成される擬似乱数列を入力とする。擬似乱数列は電子透かし埋め込み装置10と同一の擬似乱数生成器を用いて生成される。逆拡散部85は、検出対象系列群中の各検出対象系列に対して、逆拡散処理を行い、復号対象情報を得る。
具体的な逆拡散方法としては、埋め込み時の拡散方法に対応して以下のようなものを用いることが考えられる:
(A)検出対象系列{d}(i=0〜mn−1)、擬似乱数列を{r}(i=0〜mn−1)とした時に、復号対象情報(Sビットとする)を{c
(k=0〜S−1)を以下のようにして求める。
Figure 0004303243
を求め、
Figure 0004303243
のようにビット値を決定する。
ただし、r=1or−1の乱数列とする。またx%yはxをyで割った際の剰余を、SQRT(・)は平方根を表す。
(B)検出対象系列{d}(i=0〜mn−1)、擬似乱数列を2種類生成しそれぞれ{r1}(i=0〜mn−1)、{r2}(i=0〜mn−1)とした時に、復号対象情報(Sビットとする)を{c}(k=0〜S−1)を以下のようにして求める。まず{r1}を用いて置換のための配列{p}を埋め込み時と同様に生成する。
次に、
Figure 0004303243
を求め、
Figure 0004303243
のようにビット値を決定する。ただしr2=1or−1の乱数列とする。またx%yはxをyで割った際の剰余を、SQRT(・)は平方根を表す。
(C)検出対象系列{d}(i=0〜mn−1)、擬似乱数列を{r}(i=0〜mn−1)とした時に、復号対象情報(Sビットとする)を{c}(k=0〜S−1)を以下のようにして求める。
Figure 0004303243
を求め、
Figure 0004303243
のようにビット値を決定する。ただしr=1or−1の乱数列とする。またx%yはxをyで割った際の剰余を、SQRT(・)は平方根を表す。
また、逆拡散部85においては、復号対象情報とあわせて、電子透かし有無指標値を生成する。これは、逆拡散によって得られる復号対象情報の検出信号強度を表す指標値であり、上記の(A)、(B)、(C)の例では、例えば以下のようにして算出する:
電子透かし有無指標値をEの例として、
Figure 0004303243
上記のような電子透かし有無指標値が有効に機能する理由について図67を用いて説明する。図67の(1)は、電子透かしの検出が正しく行える場合のCorの取る値について示している。また、(2)は電子透かしが埋め込まれていない、あるいは電子透かし信号が検出できないほど歪みが大きい検出対象画像が与えられた場合などにより、電子透かし検出を正しく行えない場合のCorの取る値について示している。図67のように、正しく検出可能な場合は、埋め込みに用いた乱数列と、検出対象画像から得られる検出対象系列との相関値が高いことから、各Corの絶対値は大きな値となり、逆に検出が正しく行えない場合は、各Corの絶対値は小さな値となる。また、本実施例における逆拡散の例(A)、(B)、(C)では、検出対象系列のノルムを常に正規化してから乱数列との相関を計算しているため、異なる検出対象画像、異なる透かし情報を埋め込んだ場合でも同じ尺度で評価することができる。以上のことから、図67の右側に示すように、Corの絶対値和である電子透かし有無指標値Eは(1)の場合には大きな値となり、(2)の場合には小さな値となる。そこで、後で述べるように、予め定めた閾値αを用いて、電子透かしの検出が正しく行えるか否かの判定を行うことができる。また、誤り訂正符号を用いて検出透かし情報の一部誤りを訂正する場合において、一般的に誤り訂正符号では訂正能力を超える誤りが生じた場合に誤訂正(間違った符号に訂正してしまう)が起こる危険性があるが、後に述べるように電子透かし有無指標値の閾値判定と組み合わせることにより、誤訂正の問題を回避することが可能となる。
逆拡散部85は、上記のようにして得られる全ての復号対象情報をまとめて復号対象情報群とし、また全ての電子透かし有無指標値をまとめて電子透かし有無指標値群として出力する。
本実施例における復号対象情報選定部86について以下に説明する。復号対象情報選定部86は、復号対象情報群と電子透かし有無指標値群を入力とし、電子透かし有無指標値群中の各電子透かし有無指標値について、予め定めた閾値を用いた閾値判定を行い、全ての電子透かし有無指標値が閾値未満の場合は電子透かし検出不能を透かし情報逆拡散部の出力として処理を終了する。また、一つでも閾値以上の電子透かし有無指標値が存在する場合は、最大の電子透かし有無指標値を特定し、最大の電子透かし有無指標値に対応する復号対象情報を復号対象情報群中から選定し、これを出力する。
本実施例における誤り訂正/検出復号部87について以下に説明する。誤り訂正/検出復号部87は復号対象情報を入力とし、復号対象情報に対して誤り訂正/検出復号処理を行い、検出透かし情報を得る。この際、復号対象情報中の誤り検出した場合、訂正可能であれば訂正して検出透かし情報として出力し、訂正不可能な誤りを検出した場合は電子透かし検出不可能を出力する。
なお、上記復号対象情報選定部86と誤り訂正/検出復号部87の順序を変えてもよい。即ち、まず誤り訂正/検出復号部87において復号対象情報群の各復号対象情報に対して誤り訂正/検出復号処理を行い、訂正可能な誤りを含む復号対象情報を選定する。全て訂正不可能な誤りを検出した場合は電子透かし検出不可能を出力する。次に復号対象情報選定部86において、訂正可能な誤りを含む復号対象情報に対応する電子透かし有無指標値について閾値判定を行い、全て閾値未満の場合は電子透かし検出不可能を出力し、そうでない場合は最大の電子透かし検出有無指標値に対応する復号対象情報を誤り訂正/検出復号して得られる情報を検出透かし情報として出力する、としても良い。
また、上記実施例では変換済み検出値行列を予め全部生成し、以降の処理も全てまとめて処理するように記述しているが、変換済み検出値行列の生成から誤り訂正/検出復号部87までの処理を順次行うようにして、電子透かし有無指標値による閾値判定かつ誤り訂正/検出処理により訂正可能性チェックをパスした場合に処理を中断して検出透かし情報を出力するようにしても良い。このようにすれば検出処理が終了するまでの処理時間の期待値が、上記の例の約半分で済むことになる。またループ抜け判定を電子透かし有無指標値による閾値判定または誤り訂正/検出処理により訂正可能性チェックのどちらか一方のみとし、ループを抜けた時にもう一方のチェックを行い、チェックをパスすれば検出透かし情報出力、パスしなければループ処理を続けるとすることで、ループ内処理が高速になり、さらに高速化を図ることができる。
さらに電子透かし検出有無指標値・逆拡散演算を、検出対象系列の部分列のみに対して行う、例えば復号対象情報の前半ビット分までの演算を行うとして、得られる電子透かし有無指標値に対して閾値判定をし、閾値以上の場合に残りの逆拡散処理を行って誤り訂正/検出復号により検出透かし情報を出力するようにしてもよい。電子透かし検出有無指標値はある程度の部分列でも電子透かしの有無を判定するのに十分な値を出力する可能性があるためである。このようにすれば、電子透かし検出有無指標値・逆拡散演算の処理量が検出対象系列の部分列分だけで済むため、処理の高速化が実現できる。
これまでに説明したように本実施例によれば、枠線などを用いずに画像に与えられたアフィン変換(一次変換+平行移動)の補正をして電子透かしの検出が可能となる。また、従来のように電子透かし情報と別に幾何変換補正用の信号を独立に付加することなく、電子透かし情報を表すパターンが同時に幾何変換補正用の信号を兼ねることから、信号間の干渉の問題がなくなり、検出性能が向上するという効果がある。
なお、本実施例において説明した装置は、当該装置の機能を実行させるためのプログラムを、CPU、記憶装置等を有するコンピュータに搭載することにより実現することも可能である。そのプログラムは、CD−ROM、メモリなどの記録媒体に記録して配布したり、ネットワークを介して配布することができる。
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。

Claims (10)

  1. 複数の波形パターンからなる画素ブロックを並べて形成されたマクロブロックパターンを重畳した画像から電子透かし情報を検出する電子透かし検出装置であって、
    入力された画像を離散フーリエ変換して得られるパワースペクトル行列における少なくとも2つのピーク位置情報と、予め定めた基準位置情報とを用いて、入力画像の一次変換歪補正を行なう一次変換歪補正手段と、
    一次変換歪補正済み画像を、任意の位置から前記マクロブロックパターンのサイズのマクロブロックに分割し、分割して得られたマクロブロックを加算して加算マクロブロックを生成する加算マクロブロック生成手段と、
    加算マクロブロックに対し、予め定められた複数種類の周波数に対応する各畳み込みオペレータによる畳み込み処理を施して、各周波数に対応したフィルタ処理済み画像群を得る各周波数毎フィルタ処理済み画像群生成手段と、
    予め定められた探索範囲内の一の座標を設定する探索位置設定手段と、
    前記一の座標をブロック切り出し位置とみなして前記画素ブロックのサイズで画像を分割するブロック分割を前記各周波数に対応したフィルタ処理済み画像群中の各画像に対して行い、各周波数に対応した各画像から、同じ一のブロック位置に対応する画素ブロック群を取得し、当該一のブロック位置に対する前記画素ブロック群の各画素ブロックについて、画素ブロック中の全画素の画素値の絶対値の和を求めて画素絶対値和群を取得し、画素絶対値和群の中で最大の値を最大絶対値和として求める処理を、全てのブロック位置に対して行って得られる最大絶対値和の総和をブロック切り出し位置応答値として出力するブロック切り出し位置応答値算出手段と、
    前記探索位置設定手段により設定された前記探索範囲の各座標に対して前記ブロック切り出し位置応答値算出手段によりブロック切り出し位置応答値を求め、各座標に対応するブロック切り出し位置応答値の中で最大のブロック切り出し位置応答値に対応する座標をブロック切り出し位置として検出するブロック切り出し位置検出手段と、
    前記ブロック切り出し位置検出手段により検出された前記ブロック切り出し位置を用いたブロック分割を、前記各周波数に対応したフィルタ処理済み画像群中の各画像に対して行い、各周波数に対応した各画像から、同じ一のブロック位置に対応する画素ブロック群の各画素ブロックについて、画素ブロック中の全画素の画素値の絶対値の和を求め、最大の絶対値和を取る画素ブロックに対応する周波数を少なくとも用いて、当該画素ブロックのブロック位置に対応する検出値行列の要素値を求める処理を各画素ブロックに対して行って検出値行列を求める検出値行列構成手段と、
    検出値行列から検出対象系列を求め、検出対象系列を逆拡散することにより検出電子透かし情報を求める透かし情報逆拡散手段と
    を有することを特徴とする電子透かし検出装置。
  2. 前記透かし情報逆拡散手段は、
    前記検出値行列の要素の並びを0度、90度、180度、270度回転して得られる4つの行列を生成し、90度、270度回転して得られた各行列の全要素値の符号を反転する回転手段と、
    前記回転手段により得られた4つの行列の各々に対し、行列の一の要素位置が行列の所定の位置になるように要素をサイクリックシフトさせた行列を求める処理を各要素位置に対して行うことにより、変換済み検出値行列群を求める変換手段と、
    変換済み検出値行列群における各行列から検出対象系列群を求め、検出対象系列群における各検出対象系列を逆拡散して得られる情報群のうち、最も信頼度の高い情報を検出電子透かし情報として出力する手段と
    を有する請求項に記載の電子透かし検出装置。
  3. 前記複数の周波数は、+の符号及び−の符号に対応付けられた2種類の周波数であり、
    前記検出値行列構成手段は、+の符号に対応する周波数に対応する画素ブロックの絶対値和から−の符号に対応する周波数に対応する画素ブロックの絶対値和を減算して得られた値を前記画素ブロックのブロック位置に対応する検出値行列の要素値とする請求項に記載の電子透かし検出装置。
  4. 前記複数の周波数は、+の符号及び−の符号に対応付けられた2種類の周波数であり、
    前記検出値行列構成手段は、2種類の周波数に対応する画素ブロックの絶対値和の差の絶対値に、大きいほうの絶対値和を取る画素ブロックに対応する周波数に対応する符号を付した値を前記画素ブロックのブロック位置に対応する検出値行列の要素値とする請求項に記載の電子透かし検出装置。
  5. 複数の波形パターンからなる画素ブロックを並べて形成されたマクロブロックパターンを重畳した画像から電子透かし情報を検出する電子透かし検出装置における電子透かし検出方法であって、
    入力された画像を離散フーリエ変換して得られるパワースペクトル行列における少なくとも2つのピーク位置情報と、予め定めた基準位置情報とを用いて、入力画像の一次変換歪補正を行なう一次変換歪補正ステップと、
    一次変換歪補正済み画像を、任意の位置から前記マクロブロックパターンのサイズのマクロブロックに分割し、分割して得られたマクロブロックを加算して加算マクロブロックを生成する加算マクロブロック生成ステップと、
    加算マクロブロックに対し、予め定められた複数種類の周波数に対応する各畳み込みオペレータによる畳み込み処理を施して、各周波数に対応したフィルタ処理済み画像群を得る各周波数毎フィルタ処理済み画像群生成ステップと、
    予め定められた探索範囲内の一の座標を設定する探索位置設定ステップと、
    前記一の座標をブロック切り出し位置とみなして前記画素ブロックのサイズで画像を分割するブロック分割を前記各周波数に対応したフィルタ処理済み画像群中の各画像に対して行い、各周波数に対応した各画像から、同じ一のブロック位置に対応する画素ブロック群を取得し、当該一のブロック位置に対する前記画素ブロック群の各画素ブロックについて、画素ブロック中の全画素の画素値の絶対値の和を求めて画素絶対値和群を取得し、画素絶対値和群の中で最大の値を最大絶対値和として求める処理を、全てのブロック位置に対して行って得られる最大絶対値和の総和をブロック切り出し位置応答値として出力するブロック切り出し位置応答値算出ステップと、
    前記探索位置設定ステップにより設定された前記探索範囲の各座標に対して前記ブロック切り出し位置応答値算出ステップによりブロック切り出し位置応答値を求め、各座標に対応するブロック切り出し位置応答値の中で最大のブロック切り出し位置応答値に対応する座標をブロック切り出し位置として検出するブロック切り出し位置検出ステップと、
    前記ブロック切り出し位置検出ステップにより検出された前記ブロック切り出し位置を用いたブロック分割を、前記各周波数に対応したフィルタ処理済み画像群中の各画像に対して行い、各周波数に対応した各画像から、同じ一のブロック位置に対応する画素ブロック群の各画素ブロックについて、画素ブロック中の全画素の画素値の絶対値の和を求め、最大の絶対値和を取る画素ブロックに対応する周波数を少なくとも用いて、当該画素ブロックのブロック位置に対応する検出値行列の要素値を求める処理を各画素ブロックに対して行って検出値行列を求める検出値行列構成ステップと、
    検出値行列から検出対象系列を求め、検出対象系列を逆拡散することにより検出電子透かし情報を求める透かし情報逆拡散ステップと
    を有することを特徴とする電子透かし検出方法。
  6. 前記透かし情報逆拡散ステップは、
    前記検出値行列の要素の並びを0度、90度、180度、270度回転して得られる4つの行列を生成し、90度、270度回転して得られた各行列の全要素値の符号を反転する回転ステップと、
    前記回転ステップにより得られた4つの行列の各々に対し、行列の一の要素位置が行列の所定の位置になるように要素をサイクリックシフトさせた行列を求める処理を各要素位置に対して行うことにより、変換済み検出値行列群を求める変換ステップと、
    変換済み検出値行列群における各行列から検出対象系列群を求め、検出対象系列群における各検出対象系列を逆拡散して得られる情報群のうち、最も信頼度の高い情報を検出電子透かし情報として出力するステップと
    を有する請求項に記載の電子透かし検出方法。
  7. 前記複数の周波数は、+の符号及び−の符号に対応付けられた2種類の周波数であり、
    前記検出値行列構成ステップは、+の符号に対応する周波数に対応する画素ブロックの絶対値和から−の符号に対応する周波数に対応する画素ブロックの絶対値和を減算して得られた値を前記画素ブロックのブロック位置に対応する検出値行列の要素値とするステップを有する請求項に記載の電子透かし検出方法。
  8. 前記複数の周波数は、+の符号及び−の符号に対応付けられた2種類の周波数であり、
    前記検出値行列構成ステップは、2種類の周波数に対応する画素ブロックの絶対値和の差の絶対値に、大きいほうの絶対値和を取る画素ブロックに対応する周波数に対応する符号を付した値を前記画素ブロックのブロック位置に対応する検出値行列の要素値とするステップを有する請求項に記載の電子透かし検出方法。
  9. 請求項ないしのうちいずれか1項に記載の方法における各ステップをコンピュータに実行させるプログラム。
  10. 請求項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2005517550A 2004-02-02 2005-01-31 電子透かし埋め込み装置、電子透かし検出装置、及びそれらの方法、並びにプログラム Active JP4303243B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2004025899 2004-02-02
JP2004025899 2004-02-02
JP2004159843 2004-05-28
JP2004159843 2004-05-28
PCT/JP2005/001347 WO2005074249A1 (ja) 2004-02-02 2005-01-31 電子透かし埋め込み装置、電子透かし検出装置、及びそれらの方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JPWO2005074249A1 JPWO2005074249A1 (ja) 2007-07-26
JP4303243B2 true JP4303243B2 (ja) 2009-07-29

Family

ID=34829445

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005517550A Active JP4303243B2 (ja) 2004-02-02 2005-01-31 電子透かし埋め込み装置、電子透かし検出装置、及びそれらの方法、並びにプログラム

Country Status (6)

Country Link
US (1) US7489796B2 (ja)
EP (1) EP1713249B1 (ja)
JP (1) JP4303243B2 (ja)
KR (1) KR100714202B1 (ja)
TW (1) TWI265724B (ja)
WO (1) WO2005074249A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4143655B2 (ja) * 2005-11-24 2008-09-03 キヤノン株式会社 画像処理装置、画像処理方法、プログラム、記憶媒体、システム
CN101401429B (zh) * 2006-03-07 2012-06-27 日本电信电话株式会社 电子水印嵌入方法、装置以及电子水印检测方法、装置
JP4777278B2 (ja) * 2007-02-28 2011-09-21 キヤノン株式会社 画像処理装置およびその方法
KR20090008621A (ko) * 2007-07-18 2009-01-22 삼성전자주식회사 중요 움직임 검출 방법 및 장치
CN101527830B (zh) * 2008-03-07 2010-10-20 华为技术有限公司 水印信息嵌入方法及装置和水印信息认证方法及装置
JP5157774B2 (ja) * 2008-09-17 2013-03-06 株式会社リコー 画像形成装置、画像形成方法およびプログラム
JP2011166402A (ja) * 2010-02-09 2011-08-25 Seiko Epson Corp 画像処理装置、方法及びコンピュータプログラム
JP5472471B2 (ja) * 2010-08-27 2014-04-16 富士通株式会社 電子透かし埋め込み装置、電子透かし埋め込み方法及び電子透かし埋め込み用コンピュータプログラムならびに電子透かし検出装置
JP5729464B2 (ja) 2011-03-22 2015-06-03 富士通株式会社 位置情報付加装置、位置情報付加方法及び位置情報付加用コンピュータプログラムならびに位置検出装置
CN102567942B (zh) * 2012-01-09 2014-06-04 中山大学 利用直方图平移的可逆水印方法
WO2013112744A2 (en) * 2012-01-24 2013-08-01 Futurewei Technologies, Inc. Compressed domain watermarking with reduced error propagation
JP2015104016A (ja) * 2013-11-26 2015-06-04 キヤノン株式会社 被写体検出装置、撮像装置、被写体検出装置の制御方法、被写体検出装置の制御プログラムおよび記憶媒体
JP6482934B2 (ja) 2014-06-03 2019-03-13 キヤノンメディカルシステムズ株式会社 画像処理装置、放射線検出装置および画像処理方法
JP2016030424A (ja) * 2014-07-30 2016-03-07 キヤノン株式会社 記録装置および記録制御方法
CN106355542B (zh) * 2015-07-13 2019-12-13 Tcl集团股份有限公司 在图像中附带数据的方法和解析图像中的附带数据的方法
US9986202B2 (en) 2016-03-28 2018-05-29 Microsoft Technology Licensing, Llc Spectrum pre-shaping in video
CN108986021B (zh) * 2018-07-18 2024-01-23 众安信息技术服务有限公司 一种图像合成方法及装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7113615B2 (en) * 1993-11-18 2006-09-26 Digimarc Corporation Watermark embedder and reader
US6424725B1 (en) * 1996-05-16 2002-07-23 Digimarc Corporation Determining transformations of media signals with embedded code signals
US6912652B2 (en) * 1996-11-08 2005-06-28 Monolith Co., Ltd. Method and apparatus for imprinting ID information into a digital content and for reading out the same
JP4064506B2 (ja) 1997-09-17 2008-03-19 パイオニア株式会社 電子透かし重畳方法及び検出方法並びに装置
US5949055A (en) * 1997-10-23 1999-09-07 Xerox Corporation Automatic geometric image transformations using embedded signals
JPH11355547A (ja) * 1998-05-22 1999-12-24 Internatl Business Mach Corp <Ibm> 幾何変換特定システム
JP2000013585A (ja) * 1998-06-19 2000-01-14 Sony Corp 付加情報の重畳装置、付加情報の重畳方法、画像情報記録装置および画像情報記録方法
US6971010B1 (en) * 1999-10-15 2005-11-29 Koninklijke Philips Electronics N.V. Image and video authentication system
US6282300B1 (en) * 2000-01-21 2001-08-28 Signafy, Inc. Rotation, scale, and translation resilient public watermarking for images using a log-polar fourier transform
US6865273B2 (en) 2002-06-05 2005-03-08 Sony Corporation Method and apparatus to detect watermark that are resistant to resizing, rotation and translation
US7039215B2 (en) * 2001-07-18 2006-05-02 Oki Electric Industry Co., Ltd. Watermark information embedment device and watermark information detection device
US6563937B1 (en) * 2001-11-28 2003-05-13 Sony Corporation Method and apparatus to detect watermark that are resistant to arbitrary deformations
JP3964684B2 (ja) * 2002-01-10 2007-08-22 沖電気工業株式会社 電子透かし埋め込み装置,電子透かし検出装置,電子透かし埋め込み方法,及び,電子透かし検出方法
JP2003219141A (ja) 2002-01-21 2003-07-31 Kiyoshi Tanaka 電子透かし処理装置、電子透かし処理方法および電子透かし処理プログラム
AU2003210625A1 (en) * 2002-01-22 2003-09-02 Digimarc Corporation Digital watermarking and fingerprinting including symchronization, layering, version control, and compressed embedding
JP4136731B2 (ja) * 2002-04-24 2008-08-20 キヤノン株式会社 情報処理方法及び装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体

Also Published As

Publication number Publication date
TW200539680A (en) 2005-12-01
TWI265724B (en) 2006-11-01
WO2005074249A1 (ja) 2005-08-11
KR20050109543A (ko) 2005-11-21
EP1713249B1 (en) 2012-06-20
US7489796B2 (en) 2009-02-10
EP1713249A1 (en) 2006-10-18
EP1713249A4 (en) 2010-05-19
KR100714202B1 (ko) 2007-05-07
US20060126889A1 (en) 2006-06-15
JPWO2005074249A1 (ja) 2007-07-26

Similar Documents

Publication Publication Date Title
JP4303243B2 (ja) 電子透かし埋め込み装置、電子透かし検出装置、及びそれらの方法、並びにプログラム
JP4279839B2 (ja) 電子透かし埋め込み装置、電子透かし検出装置、及びそれらの方法、並びにプログラム
US9207070B2 (en) Transmission of affine-invariant spatial mask for active depth sensing
US9530215B2 (en) Systems and methods for enhanced depth map retrieval for moving objects using active sensing technology
US20020085735A1 (en) Method for generating and detecting marks
KR100977712B1 (ko) 구조적 멀티패턴 워터마크 생성 장치 및 방법과 이를이용한 워터마크 삽입 장치 및 방법과 워터마크 검출 장치및 방법
EP3262607A1 (en) Systems and methods for error correction in structured light
Niu et al. Video watermarking resistance to rotation, scaling, and translation
CN102117474B (zh) 一种数字图像中水印嵌入和检测的方法及装置
JP2003143388A (ja) 画像処理方法およびその装置ならびに印刷物
Li et al. An improved DC recovery method from AC coefficients of DCT-transformed images
Kunhu et al. A reversible watermarking scheme for ownership protection and authentication of medical images
Rakhmawati et al. Exploiting self-embedding fragile watermarking method for image tamper detection and recovery
Zhang et al. Global resynchronization-based image watermarking resilient to geometric attacks
CN1765116B (zh) 电子水印嵌入装置及其方法和电子水印检测装置及其方法
Kawano et al. Detection of periodic pilot signal in image watermarking
Ho et al. Character-embedded watermarking algorithm using the fast Hadamard transform for satellite images
US7330560B2 (en) Insertion and extraction of a message in an image
JP3949029B2 (ja) 電子透かし検出装置、及びプログラム
Taba The fractional Fourier transform and its application to digital watermarking
Kawano et al. Watermarking Method with Scaling Rate Estimation Using Pilot Signal
JP4534530B2 (ja) 電子透かし検出方法および電子透かし検出装置
Larkin et al. Tenacious tagging of images via Mellin monomials
Shi et al. RGBZ Image Restoration by Patch Clone
Larkin et al. Tenacious Image Tagging with Hyperbolic Chirps

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080729

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080926

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090423

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

Free format text: PAYMENT UNTIL: 20120501

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4303243

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130501

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140501

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350