KR20050109543A - 전자 워터마크 매립장치, 전자 워터마크 검출장치, 및 그방법, 및 프로그램 - Google Patents

전자 워터마크 매립장치, 전자 워터마크 검출장치, 및 그방법, 및 프로그램 Download PDF

Info

Publication number
KR20050109543A
KR20050109543A KR1020057016799A KR20057016799A KR20050109543A KR 20050109543 A KR20050109543 A KR 20050109543A KR 1020057016799 A KR1020057016799 A KR 1020057016799A KR 20057016799 A KR20057016799 A KR 20057016799A KR 20050109543 A KR20050109543 A KR 20050109543A
Authority
KR
South Korea
Prior art keywords
block
value
pixel
frequency
detection
Prior art date
Application number
KR1020057016799A
Other languages
English (en)
Other versions
KR100714202B1 (ko
Inventor
타카오 나카무라
아츠시 카타야마
마사시 야마무로
Original Assignee
니폰 덴신 덴와 가부시끼가이샤
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 니폰 덴신 덴와 가부시끼가이샤 filed Critical 니폰 덴신 덴와 가부시끼가이샤
Publication of KR20050109543A publication Critical patent/KR20050109543A/ko
Application granted granted Critical
Publication of KR100714202B1 publication Critical patent/KR100714202B1/ko

Links

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

Abstract

화상 매크로 블록 패턴을 중첩함으로써 전자 워터마크 정보를 매립하는 전자 워터마크 매립장치에 있어서, 입력된 전자 워터마크 정보를 확산함으로써, 매크로 블록 패턴에 있어서의 화소 블록수에 대응하는 길이의 매립 계열을 취득하고, 1의 화소 블록의 상기 매크로 블록 패턴에 있어서의 위치에 대응하는 매립 계열의 항치에 따라서, 미리 정한 복수의 주파수로부터 적어도 1개의 주파수를 선택하고, 선택된 주파수에 대응하는 파형 패턴을 상기 1의 화소 블록에 있어서의 화소로서 설정하고, 각 화소 블록에 대하여 파형 패턴이 설정된 매크로 블록 패턴을 매립 강도치로 증폭하고, 입력된 화상에 타일 형상으로 중첩한다.

Description

전자 워터마크 매립장치, 전자 워터마크 검출장치, 및 그 방법, 및 프로그램{ELECTRONIC WATERMARK EMBEDDING DEVICE, ELECTRONIC WATERMARK DETECTION DEVICE, METHOD THEREOF, AND PROGRAM}
본 발명은 화상이나 영상 등의 콘텐츠에, 별도의 부정보를 인간에게 지각되지 않도록 매립하고, 또한 이 부정보를 판독하는 기술인 전자 워터마크 기술에 관한 것이다. 오늘날, 전자 워터마크 기술은 콘텐츠의 저작권 보호·관리 시스템이나, 콘텐츠에 관한 서비스 제공 시스템 등에 사용되고 있다.
화상, 영상이나 음성과 같은 콘텐츠의 유통 시, 콘텐츠 식별·관리나 저작권 보호·관리, 관련 정보 제공 등의 목적을 위하여, 콘텐츠 내에 지각할 수 없도록 별도의 정보를 매립하는 전자 워터마크 기술을 사용하는 방법이 있다. 일반적으로 전자 워터마크 검출 대상 화상은 기하변환을 받아 기하 일그러짐이 생기는 것이며, 이러한 기하 일그러짐에 대한 내성을 갖는 전자 워터마크 기술이 요구되고 있다.
상기 기하변환을 검출하여 보정을 하는 종래 기술로서 특허문헌 1에 기재된 기술이 있다. 특허문헌 1에 기재된 기술에서는 매립 화상과는 별도로 기하 변환 보정용의 패턴을 매립하고, 그 패턴을 사용하여 기하변환을 검출한다.
특허문헌 1: 일본 공개특허공보 제(평)11-355547호
도 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는 1차 변환 일그러짐 보정부(41)의 구성도.
도 23은 1차 변환 일그러짐 보정부(41)의 처리의 흐름을 도시하는 도면.
도 24는 1차 변환 일그러짐 보정부(41)의 처리의 원리를 설명하기 위한 도면.
도 25는 1차 변환 일그러짐 보정부(41)의 처리의 원리를 설명하기 위한 도면.
도 26은 이산 푸리에 변환부(46)의 처리를 설명하기 위한 도면.
도 27은 피크 위치 탐색부(47)의 구성도.
도 28은 피크 위치 탐색부(47)의 처리의 흐름을 도시하는 도면.
도 29는 피크 위치 탐색부(47)의 처리를 설명하기 위한 도면.
도 30은 피크 위치 탐색부(47)의 처리를 설명하기 위한 도면.
도 31은 피크 위치 탐색부(47)의 처리를 설명하기 위한 도면.
도 32는 1차 변환 행렬 추정부(48)의 구성도.
도 33은 1차 변환 행렬 추정부(48)의 처리의 흐름을 도시하는 도면.
도 34는 피크 위치 정보 변환부(55)의 처리를 설명하기 위한 도면.
도 35는 스펙트럼 공간상 1차 변환 행렬 산출부(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은 1차원화 처리부(83)의 처리를 설명하기 위한 도면.
도 67은 전자 워터마크 유무 지표치에 대하여서 설명하기 위한 도면.
*도면의 주요 부분에 대한 부호의 설명*
10: 전자 워터마크 매립장치
11: 매크로 블록 패턴 생성부
12: 화상 입력부
13: 매크로 블록 패턴 타일링부
14: 화상 출력부
16: 워터마크 정보 확산부
17: 주파수 선정부
18: 파형 패턴 생성부
19: 매크로 블록 패턴 설정부
21: 오류 정정/검출 부호화부
22: 의사(擬似) 난수 생성기
23: 매립 계열 생성부
25: 매립 계열항 부호 취득부
26: 선정부
27: 부호 대응 주파수 데이터 베이스
29: 매립 계열항 양자화부
30: 선정부
31: 양자화 대응 주파수 데이터 베이스
33: 증폭부
34: 타일링 중첩부
40: 전자 워터마크 검출장치
41: 1차 변환 일그러짐 보정부
42: 가산 매크로 블록 생성부
43: 검출치 행렬 생성부
44: 워터마크 정보 역확산부
46: 이산 푸리에 변환부
47: 피크 위치 탐색부
48: 1차 변환 행렬 추정부
49: 화상 변환부
51: 최대 피크 위치 탐색부
52: 제 2 피크 위치 탐색부
53: 피크 위치 정보 출력부
55: 피크 위치 정보 변환부
56: 스펙트럼 공간상 1차 변환 행렬 산출부
57: 화상 보정용 1차 변환 행렬 산출부
59: 매크로 블록 분할부
60: 매크로 블록 생성부
62: 각 주파수에 대응한 필터 처리 완료 화상군 생성부
63: 블록 절단 위치 검출부
64: 검출치 행렬 구성부
65: 부호 대응 주파수 데이터 베이스
67: 탐색 위치 설정부
68: 블록 절단 위치 응답치 산출부
69: 블록 절단 위치 응답치 버퍼
70: 블록 절단 위치 결정부
72: 블록 분할부
73: 화소 절대치합 계산부
74: 최대 절대치합 판정부
75: 최대 절대치합 가산부
77: 블록 분할부
78: 화소 절대치합 계산부
79: 최대 에너지 주파수 판정부
80: 검출치 행렬 요소치 설정부
82: 검출치 행렬 변환부
83: 1차원화 처리부
84: 의사 난수 생성부
85: 역확산부
86: 복호 대상 정보 선정부
87: 오류 정정/검출 복호부
89: 90도마다의 회전부
90: 매크로 블록 개시 위치 변환부
발명이 이루고자 하는 기술적 과제
그러나, 상기 종래 기술에서는 기하 변환 보정용의 패턴과 매립 화상을 별도로 하고 있기 때문에, 기하 변환 보정용의 패턴의 신호와 매립 화상의 신호의 사이에서 간섭이 생기는 문제가 있다. 따라서, 기하 변환 보정의 정밀도를 올리려고 하면 그 패턴신호를 강하게 해야 하지만, 화질 열화를 일정하게 하려고 하면 필연적으로 매립 화상을 약하게 해야 한다. 또한, 반대로 매립 화상을 강하게 하면 기하 변환 보정용 신호를 약하게 해야 하며, 어쨌든 간에 매립 정보의 검출 정밀도는 저하한다.
본 발명은 위에서 기술한 점을 감안하여 이루어진 것으로, 종래와 같이 전자 워터마크 정보와 달리 기하 변환 보정용의 신호를 독립으로 부가하지 않고서 기하 변환 보정을 가능하게 하는 전자 워터마크 매립 기술 및 전자 워터마크 검출기술을 제공하는 것을 목적으로 한다.
과제를 해결하기 위한 수단
상기 과제는 화상에 매크로 블록 패턴을 중첩함으로써 전자 워터마크 정보를 매립하는 전자 워터마크 매립장치로서, 입력된 전자 워터마크 정보를 확산함으로써, 매크로 블록 패턴에 있어서의 화소 블록수에 대응하는 길이의 매립 계열을 취득하는 전자 워터마크 정보 확산수단과, 1의 화소 블록의 상기 매크로 블록 패턴에 있어서의 위치에 대응하는 매립 계열의 항치에 따라서, 미리 정한 복수의 주파수로부터 적어도 1개의 주파수를 선택하고, 선택된 주파수에 대응하는 파형 패턴을 상기 1의 화소 블록에 있어서의 화소로서 설정하는 파형 패턴 설정수단과, 상기 파형 패턴 설정수단에 의해 각 화소 블록에 대하여 파형 패턴이 설정된 매크로 블록 패턴을 매립 강도치로 증폭하고, 입력된 화상에 타일 형상으로 중첩하는 매크로 블록 패턴 중첩수단을 구비한 것을 특징으로 하는 전자 워터마크 매립장치에 의해 해결할 수 있다.
본 발명에 있어서의 매크로 블록 패턴은 매립 전자 워터마크 정보에 상당하는 동시에, 검출 시에는 기하 변환 보정에 사용할 수 있기 때문에, 전자 워터마크 정보와 달리 기하 변환 보정용의 신호를 독립으로 부가하지 않고서 기하 변환 보정이 가능해진다.
상기 파형 패턴 설정수단은 상기 매립 계열의 항치를 양자화하고, 그 양자화한 값에 따라서 상기 적어도 1개의 주파수를 선택하도록 하여도 좋고, 상기 매립 계열의 항치의 부호에 따라서 상기 적어도 1개의 주파수를 선택하도록 하여도 좋다.
또한, 상기 파형 패턴 설정수단은 상기 매크로 블록 패턴 중의 동일한 주파수의 파형 패턴이 설정된 복수의 화소 블록간에 있어서, 파형 패턴의 위상이 매크로 블록 패턴 상에서 일치하도록 위상을 변경하면서, 각 화소 블록에 대하여 파형 패턴을 설정하도록 하여도 좋다.
또한, 상기 매크로 블록 패턴 중첩수단이, 입력된 화상에 대하여 매크로 블록 패턴을 중첩할 때, 매크로 블록 패턴 중의 화소 블록에 대하여, 동일 주파수의 파형 패턴의 위상이 매크로 블록 패턴 중첩 후의 화상 상에서 일치하도록 파형 패턴의 위상을 변경하면서 중첩하도록 하여도 좋다.
또한, 상기 과제는 복수의 파형 패턴으로 이루어지는 화소 블록을 나란히 배열하여 형성된 매크로 블록 패턴을 중첩한 화상으로부터 전자 워터마크 정보를 검출하는 전자 워터마크 검출장치로서, 입력된 화상을 이산 푸리에 변환하여 얻어지는 파워 스펙트럼 행렬에 있어서의 적어도 2개의 피크 위치정보와, 미리 정한 기준 위치정보를 사용하여, 입력화상의 1차 변환 일그러짐 보정을 하는 1차 변환 일그러짐 보정수단과, 1차 변환 일그러짐 보정 완료 화상을, 임의의 위치로부터 상기 매크로 블록 패턴의 사이즈의 매크로 블록으로 분할하고, 분할하여 얻어진 매크로 블록을 가산하여 가산 매크로 블록을 생성하는 가산 매크로 블록 생성수단과, 가산 매크로 블록에 대하여, 미리 정해진 복수 종류의 주파수에 대응하는 각 컨벌루션 (convolution)오퍼레이터에 의한 컨벌루션 처리를 실시하고, 각 주파수에 대응한 필터 처리 완료 화상군을 얻는 각 주파수마다 필터 처리 완료 화상군 생성수단과, 미리 정해진 탐색범위 내의 1의 좌표를 설정하는 탐색 위치 설정수단과, 상기 1의 좌표를 블록 절단 위치라고 생각하여 상기 화소 블록의 사이즈로 화상을 분할하는 블록 분할을 상기 각 주파수에 대응한 필터 처리 완료 화상군 중의 각 화상에 대하여 행하고, 각 주파수에 대응한 각 화상으로부터, 동일한 1의 블록 위치에 대응하는 화소 블록군을 취득하고, 상기 1의 블록 위치에 대한 상기 화소 블록군의 각 화소 블록에 대하여, 화소 블록 중의 전화소의 화소치의 절대치의 합을 구하여 화소 절대치합군을 취득하고, 화소 절대치합군 중에서 최대의 값을 최대 절대치합으로서 구하는 처리를, 모든 블록 위치에 대하여 행하여 얻어지는 최대 절대치합의 총계를 블록 절단 위치 응답치로서 출력하는 블록 절단 위치 응답치 산출수단과, 상기 탐색 위치 설정수단에 의해 설정된 상기 탐색범위의 각 좌표에 대하여 상기 블록 절단 위치 응답치 산출수단에 의해 블록 절단 위치 응답치를 구하고, 각 좌표에 대응하는 블록 절단 위치 응답치 중에서 최대의 블록 절단 위치 응답치에 대응하는 좌표를 블록 절단 위치로서 검출하는 블록 절단 위치 검출수단과, 상기 블록 절단 위치 검출수단에 의해 검출된 상기 블록 절단 위치를 사용한 블록 분할을, 상기 각 주파수에 대응한 필터 처리 완료 화상군 중의 각 화상에 대하여 행하고, 각 주파수에 대응한 각 화상으로부터, 동일한 1의 블록 위치에 대응하는 화소 블록군의 각 화소 블록에 대하여, 화소 블록 중의 전화소의 화소치의 절대치의 합을 구하고, 최대의 절대치합을 취하는 화소 블록에 대응하는 주파수를 적어도 사용하고, 상기 화소 블록의 블록 위치에 대응하는 검출치 행렬의 요소치를 구하는 처리를 각 화소 블록에 대하여 행하여 검출치 행렬을 구하는 검출치 행렬 구성수단과, 검출치 행렬로부터 검출 대상 계열을 구하고, 검출 대상 계열을 역확산함으로써 검출 전자 워터마크 정보를 구하는 워터마크 정보 역확산수단을 갖는 것을 특징으로 하는 전자 워터마크 검출장치에 의해서도 해결할 수 있다.
본 발명에 의하면, 전자 워터마크 정보로서 매립한 매크로 블록 패턴을 기하 변환 보정에 사용할 수 있게 된다.
상기 워터마크 정보 역확산수단은 상기 검출치 행렬의 요소의 배열을 0도, 90도, 180도, 270도 회전하여 얻어지는 4개의 행렬을 생성하고, 90도, 270도 회전하여 얻어진 각 행렬의 전요소치의 부호를 반전하는 회전수단과, 상기 회전수단에 의해 얻어진 4개의 행렬의 각각에 대하여, 행렬의 1의 요소 위치가 행렬의 소정의 위치가 되도록 요소를 사이클릭 시프트시킨 행렬을 구하는 처리를 각 요소 위치에 대하여 행함으로써, 변환 완료 검출치 행렬군을 구하는 변환수단과, 변환 완료 검출치 행렬군에 있어서의 각 행렬로부터 검출 대상 계열군을 구하고, 검출 대상 계열군에 있어서의 각 검출 대상 계열을 역확산하여 얻어지는 정보군 중, 가장 신뢰도가 높은 정보를 검출 전자 워터마크 정보로서 출력하는 수단을 구비하여 구성할 수 있다.
또, 상기 전자 워터마크 검출장치에 있어서의 상기 복수의 주파수는 +의 부호 및 -의 부호에 대응된 2종류의 주파수이고, 상기 검출치 행렬 구성수단은 +의 부호에 대응하는 주파수에 대응하는 화소 블록의 절대치합으로부터 -의 부호에 대응하는 주파수에 대응하는 화소 블록의 절대치합을 감산하여 얻어진 값을 상기 화소 블록의 블록 위치에 대응하는 검출치 행렬의 요소치로 하도록 구성할 수 있다. 또한, 상기 검출치 행렬 구성수단은 2종류의 주파수에 대응하는 화소 블록의 절대치합의 차의 절대치에, 큰 쪽의 절대치합을 취하는 화소 블록에 대응하는 주파수에 대응하는 부호를 붙인 값을 상기 화소 블록의 블록 위치에 대응하는 검출치 행렬의 요소치로 하도록 하여도 좋다.
발명의 효과
본 발명에 의하면, 테두리선 등을 사용하지 않고서 화상에 주어진 아핀(affine) 변환(1차 변환+평행이동)을 보정하여 전자 워터마크의 검출이 가능해진다. 또한, 종래와 같이 전자 워터마크 정보와 달리 기하 변환 보정용의 신호를 독립적으로 부가하지 않고서, 전자 워터마크 정보를 나타내는 패턴이 동시에 기하 변환 보정용의 신호를 겸하기 때문에, 신호간의 간섭의 문제가 없어지고, 검출 성능이 향상한다는 효과가 있다.
이하, 도면을 참조하여 본 발명의 실시예를 설명한다. 본 발명의 실시예에 있어서의 전자 워터마크 매립장치의 구성에 대하여 도 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)가, 워터마크 정보를 확산하여 매립 계열{ei}을 얻는다(스텝 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)에 있어서의 의사 난수 생성의 초기치를, 워터마크의 키(key) 파라미터로서 외부로부터 입력되는 파라미터로 하여도 좋다. 이렇게 함으로써, 다른 키 파라미터에서 독립된 전자 워터마크 매립을 실현하거나, 매립 알고리즘의 추측을 곤란하게 하는 등의 효과가 얻어진다.
매립 계열 생성부(23)에 있어서의 워터마크 정보의 구체적인 확산방법의 예((A) 내지 (C))를 이하에 제시한다:
(A)오류 정정/검출 부호화된 워터마크 정보(S 비트로 한다)를 {wi}(i= 0 내지 S-1), 의사 난수열을 {ri}(i= O 내지 mn-1(화소 블록의 총수))로 하였을 때에, 매립 계열{ei}(i= O 내지 mn-1)를 아래와 같이 구한다.
ei= ri× wi%S(i= O 내지 mn-1)
단 wi= 1 or -1(오류 정정/검출 부호화된 워터마크 정보의 i 번째의 비트치가 1이면 1, O이면 -1)로 하고, ri= 1 or -1의 난수열로 한다. 또한 x%y는 x를 y로 나누었을 때의 잉여를 나타낸다.
(B)오류 정정/검출 부호화된 워터마크 정보(S 비트로 한다)를 {wi}(i= 0 내지 S-1), 의사 난수열을 2종류 생성하여 각각 {r1i}(i= 0 내지 mn-1), {r2i}(i= 0 내지 mn-1)로 하였을 때에, 우선 {r1i}를 사용하여 치환을 위한 배열을 생성한다. 예를 들면
을 나타내는 배열{pi}(i= O 내지 mn-1)를 아래와 같이 결정한다. 단 r1i는 O 내지 mn-1 이상의 값을 랜덤으로 취하는 것으로 가정한다.
For(i= 0; i<= mn-1; i++){
pi= i;
}
For(i= 0; i<= mn-1; i++){
r= r1i%mn;
a= pi;
pi= pr;
pr= a;
}
다음에, 매립 계열{ei}(i= O 내지 mn-1)을 아래와 같이 구한다.
ei= r2pi×wpi %S(i= 0 내지 mn-1)
단 wi= 1 or -1(오류 정정/검출 부호화된 워터마크 정보의 i 번째의 비트치가 1이면 1, 0 이면 -1)로 하고, r2i= 1 or -1의 난수열로 한다. 또한 x%y는 x를 y로 나누었을 때의 잉여를 나타낸다. 상기한 바와 같이, {r1i}는 {pi}를 생성하기 위한 의사 난수열이고, {r2i}는 {wi}의 확산을 하기 위한 의사 난수열이다.
(C)오류 정정/검출 부호화된 워터마크 정보(S 비트로 한다)를 {wi}(i= O 내지 S-1), 의사 난수열을 {ri}(i= O 내지 mn-1)로 하였을 때에, 매립 계열{ei}(i= O 내지 mn-1)을 아래와 같이 구한다.
eik=0 내지 S-1(r(i+k)%mn×wk)(i= O 내지 mn-1)
단 wi=1 or -1(오류 정정/검출 부호화된 워터마크 정보의 i 번째의 비트치가 1이면 1, O 이면 -1)로 하고, ri=1 or -1의 난수열로 한다. 또한 x%y는 x를 y로 나누었을 때의 잉여를 나타낸다.
또, 상기 예에서는 2치화 난수계열을 확산에 사용하였지만, 다른 난수계열, 예를 들면 가우스(Gauss) 분포에 따른 난수계열 등을 사용하여 확산하여도 상관없다.
이상 워터마크 정보 확산부(16)에 대하여 설명하였지만, 상술한 바와 같이, 본 실시예에서는 매크로 블록 패턴은 n×n 개의 블록으로 구성되는 것으로 하기 때문에, 매립 계열의 계열 길이는 n2이 된다.
도 4의 플로에 있어서, 다음에, 매크로 블록 패턴을 블록마다 설정하기 위해서, 매립 계열의 항번을 지정하는 카운터 i를 0에 설정하고(스텝 23), 주파수 선정부(17)가, 매립 계열의 i 번째의 항 ei의 값 등에 대응하는 주파수를 선정한다(스텝 24). 다음에, 파형 패턴 생성부(18)는 선정된 주파수에 대응한 파형 패턴을 생성한다(스텝 25). 파형 패턴은 나중에 언급하는 블록 사이즈의 화소 행렬이다.
이하, 주파수 선정부(17) 및 파형 패턴 생성부(18)의 처리에 대하여 보다 상세하게 설명한다. 이하, 3가지의 처리방법의 예에 대하여 설명한다.
(1)우선, 제 1 예에 있어서의 주파수 선정부(17) 및 파형 패턴 생성부(18)에 대하여 상세하게 설명한다.
주파수 선정부(17)의 구성을 도 7에 도시하고, 처리의 흐름을 도 8에 도시한다. 도 7에 도시하는 바와 같이, 주파수 선정부(17)는 매립 계열항 부호 취득부(25)와 선정부(26)와 부호 대응 주파수 데이터 베이스(27)를 갖고 있다.
도 8에 도시하는 바와 같이, 주파수 선정부(17)는 매립 계열항치를 입력으로 하고(스텝 41), 매립 계열항 부호 취득부(25)는 매립 계열항치의 부호를 얻는다(스텝 42). 부호로서는 (+, -, 0)의 3치를 취할 수 있다. 다음에 선정부(26)가, 매립 계열항치 부호에 대응하는 주파수를, 부호 대응 주파수 데이터 베이스(27)로부터 검색하고, 선정된 주파수로서 출력한다(스텝 43). 부호 대응 주파수 데이터 베이스(27)의 구성을 도 9에 도시한다. 부호 대응 주파수 데이터 베이스(27)에는 매립 계열항 부호 취득부(25)의 각각의 출력에 대하여, 대응하는 주파수가 기록·축적되어 있다. 하나의 부호에 대하여 대응하는 주파수가 하나가 아니어도 좋고, 도 9의 부호 "-"의 경우와 같이, 복수의 주파수의 조(set)가 대응하고 있어도 좋다.
또, 본원 명세서 전체 및 특허청구범위에 있어서, "주파수"의 용어의 의미는, 특별히 구별하여 사용하는 경우를 제외하고, 단일한 주파수 뿐만 아니라, 상기의 부호 "-"의 경우와 같이, 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)2치화
x를 매립 계열항치로 하였을 때에,
x<0 →-1
x>= O →1
와 같이 2치화한다.
(b)3치화
x를 매립 계열항치로 하였을 때에
x<0 →-1
x= O → 0
x> 0 → 1
와 같이 3치화한다.
(c)n치화
x를 매립 계열항치로 하였을 때에,
( 는 X를 초과하지 않는 최대의 정수를 나타낸다.)
와 같이 n치화 한다.
또, (c)와 같이 등폭 양자화가 아니라, 부등폭 양자화를 사용하여도 상관없다.
상기 스텝 53에 있어서 선정부(30)가 참조하는 양자화치 대응 주파수 데이터 베이스(31)의 구성을 도 13에 도시한다. 또, 이 예는 상기 3치화의 경우의 예이다. 도 13에 도시하는 바와 같이, 양자화치 대응 주파수 데이터 베이스(31)에는 매립 계열항 양자화부(29)의 각각의 출력에 대하여, 대응하는 주파수가 미리 기록·축적되어 있다. 이 때, 하나의 양자화치에 대하여 대응하는 주파수가 하나가 아니어도 좋고, 도 13의 양자화치 O의 경우와 같이, 복수의 주파수의 조가 대응하고 있어도 좋다.
파형 패턴 생성부(18)에 대해서는 제 1 예 또는 제 2 예와 동일하다. 즉, 선택된 주파수 패턴의 진폭을 그대로 사용하거나 매립 계열항치의 절대치로 증폭한다.
이상, 주파수 선정부(17), 파형 패턴 생성부(18)의 예에 대하여 설명하였지만, 이하의 설명에 있어서 본 실시예에서는 제 1 예에 기초하는 것으로 하고, 또한, 선정되는 주파수는 2종류(f0, f1)인 것으로 한다. 그리고, 2종류의 파형 패턴간에는 한쪽을 90° 회전한 패턴이 다른 한쪽으로 되는 것으로 한다.
도 4의 플로에 있어서, 다음에, 매크로 블록 패턴 설정부(19)는 미리 준비된 매크로 블록 패턴의 버퍼에 대하여, 상기 매립 계열의 항번 i에 대응하는 블록 위치의 화소 블록을, 상기 파형 패턴으로 바꿔 놓는다(스텝 26). 매크로 블록 패턴은 도 14에 도시하는 바와 같이, N×N 화소의 화소배열이고, 종횡 n개의 블록으로 구성된다. 매크로 블록 패턴 설정부(19)에 있어서는 예를 들면 횡블록 위치 mO, 횡블록 위치 n0에 대하여 i=mO+nO×n 등과 같이 하여, 매립 계열의 항번 i와 블록 위치(mO, nO)를 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와 같이, 원화상과 동일한 사이즈의 파형 패턴의 각 블록 위치의 파형 패턴이, 원화상 상의 해당하는 위치에 있어서 타일링 중의 블록의 파형 패턴이 되도록 하는 것이다. 이렇게 함으로써, 후술하는 검출 시의 1차 변환 일그러짐 보정처리에 있어서, 변환 파라미터를 추정하기 위한 파워 스펙트럼의 피크를 보다 강하게 할 수 있고, 내성의 향상에 기여한다. 또, 블록 사이즈가 파형 패턴의 파장의 정수배로 되어 있는 경우에 대해서는, 특히 블록 내의 파형 패턴의 위상을 변경시키지 않더라도, 타일링 후의 원화상 상의 파형 패턴의 위상이 일치하기 때문에, 상기와 같은 처리를 할 필요는 없다.
매크로 블록 패턴이 타일링된 원화상은 타일링 완료 화상으로서, 매크로 블록 패턴 타일링부(13)로부터 출력된다(스텝 64). 그리고, 전자 워터마크 매립장치(10)의 화상 출력부(14)가, 그 타일링 완료 화상을 전자 워터마크 매립 완료 화상으로서 출력한다.
다음에, 상기한 바와 같이 하여 생성된 전자 워터마크 매립 완료 화상으로부터 전자 워터마크의 검출을 하는 전자 워터마크 검출장치(40)에 대하여 설명한다.
본 실시예에 있어서의 전자 워터마크 검출장치(40)의 구성을 도 20에 도시하고, 처리의 흐름을 도 21에 도시한다.
도 20에 도시하는 바와 같이, 본 실시예의 전자 워터마크 검출장치(40)는 1차 변환 일그러짐 보정부(41), 가산 매크로 블록 생성부(42), 검출치 행렬 생성부(43), 워터마크 정보 역확산부(44)를 갖고 있다. 이 구성을 갖는 전자 워터마크 검출장치(40)에 있어서의 처리의 흐름을 도 21을 참조하여 설명한다.
전자 워터마크 검출장치(40)는 검출 대상 화상을 입력으로 한다(스텝 71). 그리고 우선 1차 변환 보정부(41)가, 검출 대상 화상에 실시된 1차 변환의 파라미터를 추정하고, 역변환에 의해 보정함으로써 1차 변환 보정 완료 검출 대상 화상 데이터를 얻는다(스텝 72).
다음에 가산 매크로 블록 생성부(42)가, 1차 변환 보정 완료 검출 대상 화상을 매크로 블록의 크기로 분할하고, 분할된 영역을 가산하여 가산 매크로 블록을 얻는다(스텝 73). 다음에 검출치 행렬 생성부(43)가, 가산 매크로 블록 중의 블록 절단 위치를 탐색하고(스텝 74), 블록 절단 위치에 따른 검출치 행렬을 생성한다(스텝 75). 다음에 워터마크 정보 역확산부(44)가, 검출치 행렬을 사용하여, 90도마다의 회전·매크로 블록 선두 위치를 탐색하면서 역확산 처리를 하고, 검출 워터마크 정보를 얻어 출력한다(스텝 76).
또, 상기의 처리에 있어서, 검출 대상 화상을 입력한 후, 검출 대상 화상을, 미리 정한 화소수의 화상 사이즈가 되도록 확대/축소 변환하고, 화상 사이즈를 정규화한 사이즈 정규화 검출 대상 화상을 생성하고, 이후의 처리의 입력으로 하여도 좋다. 또한, 검출 내성 향상을 도모하기 위해서, 1차 변환 일그러짐 보정부(41) 또는 가산 매크로 블록 생성부(42)의 앞에 전처리 필터부를 설치하고, 검출 대상 화상 또는 1차 변환 일그러짐 보정 완료 검출 대상 화상에 대하여 각각 전처리 필터 처리를 실시하여도 좋다. 또한, 검출 대상 화상과 1차 변환 일그러짐 보정 완료 검출 대상 화상의 각각에 전처리 필터 처리를 실시하여도 좋다.
전처리 필터 처리에 대하여 설명한다. 전처리 필터 처리에 사용하는 필터로서, 매립에 사용한 주파수 패턴의 주파수를 통과시키는 대역 통과 필터(밴드d패스 필터)를 사용하는 것이 바람직하다. 대역 통과 필터에 의한 대역 제한 처리에 의해, 저주파수 성분이 저감된다. 원화상의 그림의 주파수는 저주파수 성분이 많기때문에, 주파수 패턴에 대한 원화상의 그림의 영향을 경감시킬 수 있다. 또, 전처리 필터 처리부로서, 화상신호 데이터의 파형을 미분하는 미분회로를 사용할 수도 있다. 필터 처리에 더하여, 그리핑(gripping) 처리를 함으로써 검출 성능을 더욱 개선할 수 있다. 그리핑 처리란 예를 들면 필터 처리 완료의 화상의 신호파형 중, 미리 정한 상한치와 하한치를 초과하는 신호 부분에 사사오입하여 처리를 실시하는 것이다. 이 결과, 미약한 진폭의 신호가 상대적으로 강해지게 된다. 따라서, 필터 처리 완료의 신호의 레벨을 설정치 이내로 억제할 수 있고, 주파수 패턴의 검출 감도를 향상시킬 수 있다.
다음에, 상기의 전자 워터마크 검출장치(40)의 각 부에 대하여 보다 상세하게 설명한다.
본 실시예에 있어서의 1차 변환 일그러짐 보정부(41)의 구성을 도 22에 도시하고, 처리의 흐름을 도 23에 도시한다. 도 22에 도시하는 바와 같이, 1차 변환 일그러짐 보정부(41)는 이산 푸리에 변환부(46), 피크 위치 탐색부(47), 1차 변환 행렬 추정부(48), 화상 변환부(49)를 갖고 있다. 도 23을 참조하여 1차 변환 일그러짐 보정부(41)의 처리의 흐름을 설명한다.
1차 변환 일그러짐 보정부(41)는 검출 대상 화상을 입력으로 하고(스텝 81), 우선 이산 푸리에 변환부(46)가 검출 대상 화상을 2차원 이산 푸리에 변환하고, 파워 스펙트럼 행렬을 얻는다(스텝 82). 다음에 피크 위치 탐색부(47)가, 파워 스펙트럼 행렬 중에서 큰 피크치를 취하는 요소의 위치를 2점 탐색하고, 이 2개의 요소 위치를 피크 위치정보로서 취득한다(스텝 83).
다음에 1차 변환 행렬 추정부(48)가, 피크 위치정보와, 미리 정해진 기준위치로부터, 기준위치가 피크 위치로 변환될 때의 1차 변환 행렬을 산출하고(스텝 84), 또한 스펙트럼 공간상에서의 1차 변환 행렬을 화소 공간 상에서의 1차 변환 행렬로 변환하여 얻어지는 행렬의 역행열을, 화상 보정용 1차 변환 행렬로서 출력한다(스텝 85). 마지막으로 화상 변환부(49)가, 화상 보정용 1차 변환 행렬로 나타나는 화상의 1차 변환을, 검출 대상 화상에 대하여 실시함으로써, 검출 대상 화상에 실시되고 있는 1차 변환을 보정하고, 1차 변환 일그러짐 보정 완료 검출 대상 화상 데이터를 얻어 출력한다(스텝 86).
1차 변환 일그러짐 보정부(46)가 검출 대상 화상에 있어서의 1차 변환 일그러짐을 보정하는 처리의 원리를 이하에 설명한다.
우선 본 실시예의 전자 워터마크 매립장치(10)를 사용하여 얻어지는 화상을 그대로 검출 대상 화상으로서 입력한 경우, 도 24에 도시하는 바와 같이, 검출 대상 화상을 이산 푸리에 변환하여 얻어지는 파워 스펙트럼은, 블록에 중첩된 2종류의 주파수 패턴에 대응하는 주파수 위치에 큰 피크를 가진다. 그 이유는 블록단위라는 국소영역에서는 상기 블록에 중첩된 주파수 패턴을 나타내는 주파수가 피크를 갖지만, 2종류의 주파수 패턴이, 거의 같은 면적(확산 처리에 의한)으로 검출 대상 화상을 매립하고 있는 것과, 화상 전체에 대한 이산 푸리에 변환으로 얻어지는 파워 스펙트럼의 주파수 위치는 주파수 패턴의 국재성에 의하지 않는다는 것에 의한다.
다음에 도 25에 도시하는 바와 같이, 검출 대상 화상에 1차 변환이 실시되어 있는 경우에 대하여 생각한다. 이 경우는 일반적으로 잘 알려진 사실로서, 검출 대상 화상에 실시된 1차 변환 중, 회전성분에 대해서는 스펙트럼 공간상에서의 동일한 각도의 회전으로서 반영되고, 스케일링 성분에 대해서는 스펙트럼 공간상에서의 역스케일링 성분으로서 반영된다. 예를 들면 화상공간 상에서 각도 θ만큼 회전하고, 또한 s 배의 스케일링을 하는 것과 같은 1차 변환이 실시되면, 스펙트럼 공간상에서는 각도 θ의 회전과 1/s 배의 스케일링을 하는 것과 같은 1차 변환이 대응하여 발생된다. 또한, 파워 스펙트럼은 화상의 평행 이동량에 대하여 불변이라는 특징을 가진다. 이상의 사실로부터 도 25와 같이 검출 대상 화상에 1차 변환이 실시되고 있는 경우, 도 24의 파워 스펙트럼 행렬에, 상기 1차 변환에 대응하는 1차 변환이 실시되고, 그 때문에 2종류의 주파수 패턴에 대응하는 피크 위치도 변환에 의해서 이동한다.
따라서, 도 25와 같이 1차 변환이 실시된 검출 대상 화상으로부터 얻어지는 파워 스펙트럼 행렬 내의 2개의 피크 위치를 검출하고, 도 24와 같이, 일그러짐이 없는 상태에서 얻어지는 파워 스펙트럼 행렬 상의 피크 위치를 기준위치로 하고, 기준위치가, 검출한 2개의 피크 위치로 변환되는 것과 같은 1차 변환을 산출하면, 대응하는 화소 공간상에서의 1차 변환도 정해지게 되고, 1차 변환파라미터의 추정과 일그러짐의 보정을 하는 것이 가능해진다. 이 때, 화상의 파워 스펙트럼의 배치가 원점(직류 성분 위치)에 대하여 점 대칭으로 나란히 배열하는 것, 및 2개의 피크점을 분별하는 방법이 없는 것의 2가지의 이유에 의해, 90도마다의 회전에 대한 불확정성이 남는다. 즉 1차 변환 일그러짐 보정을 하여 얻어지는 1차 변환 일그러짐 보정 완료 검출 대상 화상은, 원래의 전자 워터마크 매립 완료 화상의 상태와 비교하여, 0도, 90도, 180도, 270도 회전의 어느 하나의 상태로 되지만, 이것은 나중의 처리에서 90도마다의 회전 대응함으로써 해결한다. 또한, 화상의 경상(鏡像) 변환의 불확정성도 있지만, 이것은 나중에 기술하는 위치변환 행렬 추정부 이후의 처리를 2중으로 함으로써 해결된다.
다음에, 본 실시예의 1차 변환 일그러짐 보정부(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과 같이 임펄스성(즉 피크성)이 있는 큰 파워를 취하는 주파수 위치를 찾아내기 위해서, 라플라시안 필터(Laplacian Fiter)와 같은 컨벌루션 오퍼레이터의 응답치가 최대가 되는 주파수 위치를 최대 피크 위치로 하여도 좋다. 또한 컨벌루션 오퍼레이터를 사용하는 경우는, 1점만으로 이루어지는 임펄스를 검출하는 것과 같은(예를 들면 3×3의 라플라시안 필터) 것보다, 다소의 저변 확장을 가지는 피크를 검출할 수 있도록, 예를 들면 도 30과 같이 스파스(sparse)인 컨벌루션 오퍼레이터 등을 사용하는 편이 좋다. 이것은 파워 스펙트럼 행렬 중에 나타나는 피크가, 검출 대상 화상의 약간의 비선형 일그러짐 등에 의해 약간 넓어질 가능성이 있는 것에 의한다. 최대 피크 위치 탐색부(51)는 상기한 바와 같이 하여 최대 피크 위치를 검출하고, 이것을 최대 피크 위치정보로서 출력한다.
다음에 제 2 피크 위치 탐색부(52)가, 도 31에 도시하는 바와 같이, 최대 피크 위치정보로 나타나는 파워 스펙트럼상의 위치를 90도 회전한 점을 중심으로 한 미리 정한 사이즈의 근방 영역인 제 2 피크 위치 탐색영역 중에서, 최대 피크를 취하는 주파수 위치를 탐색하고, 검출한 주파수 위치를 제 2 피크 위치정보로서 출력한다(스텝 93). 여기에서 제 2 피크 위치 탐색영역을, 최대 피크 위치를 90도 회전한 점의 근방으로 하고 있는 것은, 전자 워터마크 매립에 이용하는 주파수의 파형 패턴이, 한쪽을 90도 회전한 패턴이 다른 한쪽이 되는 것과 같은 2종류인 것에 의한다.
또한 단순히 최대 피크 위치를 9O도 회전한 점을 제 2 피크 위치로 하는 것은 아니며 근방 영역을 탐색하는 이유는, 검출 대상 화상에 실시된 1차 변환으로서, 종횡비(Aspect Ratio) 변경이나, 전단과 같은 변환성분이 있기 때문에, 최대 피크 위치를 90도 회전한 점으로부터 어긋난 위치에 피크 위치가 어긋나는 것이 생각되기 때문이다. 제 2 피크 위치 탐색영역의 사이즈는 1차 변환 일그러짐 보정부(41)에서 대응하는 종횡비 변경·전단 변환의 정도에 따라서 미리 정한다. 또한, 제 2 피크 위치를 탐색할 때는, 최대 피크 위치부(51)와 같이, 제 2 피크 위치 탐색영역 중에서 최대치를 취하는 주파수 위치를 검출한 제 2 피크 위치로 하여도, 도 30과 같은 컨벌루션 오퍼레이터의 응답치가 최대가 되는 주파수 위치를 제 2 피크 위치로 하여도 좋다.
이상과 같이 하여 최대 피크 위치정보, 제 2 피크 위치정보를 취득하지만, 다른 방법으로서, 도 29로 도시되는 미리 정해진 대역 중에서 최대의 피크치를 취하는 위치를 최대 피크 위치, 2번째로 큰 피크치를 취하는 점을 제 2 피크치로 하여도 좋다.
마지막으로 피크 위치 정보 출력부(53)가, 최대 피크 위치정보와 제 2 피크 위치정보를 조로 하여, 피크 위치정보로서 출력한다(스텝 94).
계속해서, 1차 변환 일그러짐 보정부(41)중의 1차 변환 행렬 추정부(48)에 대하여 상세하게 설명한다. 본 실시예에 있어서의 1차 변환 행렬 추정부(48)의 구성을 도 32에 도시하고, 처리의 흐름을 도 33에 도시한다. 도 32에 도시하는 바와 같이, 1차 변환 행렬 추정부(48)는 피크 위치 정보 변환부(55), 스펙트럼 공간상 1차 변환 행렬 산출부(56), 화상 보정용 1차 변환 행렬 산출부(57)를 갖고 있다. 도 33을 참조하여 1차 변환 행렬 추정부(48)에 있어서의 처리의 흐름을 설명한다.
1차 변환 행렬 추정부(48)는 피크 위치 탐색부(47)에 의해 얻어진 피크 위치정보를 입력으로 하고(스텝 101), 우선 피크 위치 정보 변환부(55)에 있어서 피크 위치정보를 변환하고, 변환 완료 피크 위치정보를 얻는다(스텝 102). 그리고 스펙트럼 공간상 1차 변환 행렬 산출부(56)가, 미리 보유하고 있는 기준 위치정보와, 변환 완료 피크 위치정보를 사용하여 스펙트럼 공간상 1차 변환 행렬을 산출한다(스텝 103). 마지막으로, 화상 보정용 1차 변환 행렬 산출부(57)가, 스펙트럼 공간상 1차 변환 행렬을 화소 공간상 1차 변환 행렬로 변환하고, 결과를 화상 보정용 1차 변환 행렬로서 출력한다(스텝 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중으로 함으로써, 화상의 경상 변환 대응도 실현할 수 있다.
다음에 스펙트럼 공간상 1차 변환 행렬 산출부(56)의 처리에 대하여 도 35를 사용하여 설명한다. 스펙트럼 공간상 1차 변환 행렬 산출부(56)는 전자 워터마크 매립 직후의 상태에서 얻어지는 피크 위치, 즉 매립에 사용한 2종류의 주파수 패턴에 대응하는 2개의 주파수 위치를, 미리 기준 위치정보로서 보유하고 있다. 기준 위치정보 중, x 방향 좌표치가 작은, 즉 파워 스펙트럼 행렬 상에서 좌측에 위치하는 쪽을 기준위치 a로 하고, 다른 한쪽을 기준위치 b로 한다. 이 때 스펙트럼 공간상 위치변환 행렬은 도 35에 도시하는 바와 같이, 기준위치 a를 피크 위치 A에, 기준위치 b를 피크 위치 B로 옮기는 1차 변환이고, 이하의 식에 의해서 산출된다:
파워 스펙트럼 행렬의 직류 성분을 원점으로 하는 2차원 좌표계에서
기준위치 a:(ax, ay)
기준위치 b:(bx, by)
피크 위치 A:(Ax, Ay)
피크 위치 B:(Bx, By)
로 하고, 스펙트럼 공간상 1차 변환 행렬을
라고 하면
로 되기 때문에, 이것을 풀어
로 된다.
다음에 화상 보정용 1차 변환 행렬 산출부(57)의 처리내용을 설명한다. 화상 보정용 1차 변환 행렬 산출부(57)는 스펙트럼 공간상 1차 변환 행렬을 입력으로 한다. 도 25에 도시한 바와 같이, 화소 공간상의 1차 변환과 스펙트럼 공간상의 1차 변환의 관계는,
*스케일링 성분은 역변환
*회전 성분은 동일
하게 되어 있다. 이 성질로부터, 스펙트럼 공간상 1차 변환 행렬에 대응하는 화소 공간상 1차 변환 행렬을 구한다.
스펙트럼 공간상 1차 변환 행렬을
로 하면, 대응하는 화소 공간상 1차 변환 행렬은
로 된다.
최종적으로 구하고자 하는 화상 보정용 1차 변환 행렬은, 상기 화소 공간상 1차 변환 행렬의 역행열이므로,
로 되고, 스펙트럼 공간상 1차 변환 행렬의 전치행렬을 화상 보정용 1차 변환 행렬로서 출력하면 좋다.
다음에, 본 실시예에 있어서의 전자 워터마크 검출장치(40)중의 1차 변환 일그러짐 보정부(41)중의 화상 변환부(49)의 처리의 내용을 도 36, 도 37을 사용하여 설명한다.
화상 변환부(49)는 검출 대상 화상과, 1차 변환 행렬 추정부(48)에서 생성된 화상 보정용 1차 변환 행렬을 입력으로 하고, 검출 대상 화상을 1차 변환하여 얻어지는 화상을 1차 변환 일그러짐 보정 완료 검출 대상 화상으로서 출력한다.
이 때, 도 36에 도시하는 바와 같이, 1차 변환에 의해서 검출 대상 화상 외의 영역이 생기는 경우는, 화소치 O으로 채우거나, 또는 검출 대상 화상의 평균 화소치로 채우는 등의 처리를 한다. 또한, 도 37에 도시하는 바와 같이, 1차 변환 일그러짐 보정 완료 검출 대상 화상의 화상 사이즈를 미리 정하고 있는 경우에 대해서는, 고정 사이즈로부터 밀려나온 검출 대상 화상의 부분은 잘라버리고, 검출 대상 화상 외의 영역이 생기는 경우는, 화소치 0으로 채우거나, 또는 검출 대상 화상의 부분영역의 평균 화소치로 채우는 등을 한다.
다음에, 전자 워터마크 검출장치(40)에 있어서의 가산 매크로 블록 생성부(42)에 대하여 설명한다. 본 실시예에 있어서의 가산 매크로 블록 생성부(42)의 구성을 도 38에 도시하고, 처리의 흐름을 도 39에 도시한다.
도 38에 도시하는 바와 같이, 가산 매크로 블록 생성부(42)는 매크로 블록 분할부(59)와 매크로 블록 생성부(60)를 갖고 있다. 도 39를 참조하여 가산 매크로 블록 생성부(42)에 있어서의 처리의 흐름을 설명한다.
가산 매크로 블록 생성부(42)는 1차 변환 일그러짐 보정부(41)로부터 출력된 1차 변환 일그러짐 보정 완료 검출 대상 화상을 입력으로 하고(스텝 111), 우선 도 40과 같이 하여, 1차 변환 일그러짐 보정 완료 검출 대상 화상의 임의의 위치로부터, 미리 정한 사이즈(매립 시와 동일한 값)의 매크로 블록으로 분할하여 매크로 블록군을 얻는다(스텝 112). 이 때에 화상의 끝 등에서 매크로 블록에 차지 않은 화소 영역으로부터 매크로 블록을 얻는 경우에는, 화소치 O으로 채우거나, 또는 검출 대상 화상의 부분영역의 평균 화소치로 채우는 등을 한다.
다음에 매크로 블록 가산부(60)는 도 41과 같이 매크로 블록군 중의 모든 매크로 블록을 가산하여 가산 매크로 블록을 생성하고, 이것을 출력한다(스텝 113).
1차 변환 일그러짐을 보정하여 얻어지는 1차 변환 일그러짐 보정 완료 검출 대상 화상은, 매립 직후의 전자 워터마크 매립 완료 화상과 비교하면, 동일한 스케일, (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에 도시하는 예에서는 미리 정해진 주파수는 m, n의 2종류에 대응하여, 필터 처리 완료 화상을 2개 생성한다. 각각의 주파수에 대응한 컨벌루션 오퍼레이터를 사용하여, 가산 매크로 블록의 각 화소에 대하여 컨벌루션 연산을 순차 주사하면서 행함으로써, 2개의 주파수에 대응한 필터 처리 완료 화상이 2개 생성된다. 이 때, 도 45에 도시하는 바와 같이, 컨벌루션 오퍼레이터가 대응하는 주파수와, 매립 시의 주파수 패턴이 일치하는 필터 처리 완료 화상의 영역에 있어서는, 큰 절대치를 가지는 값이 나타나고, 일치하지 않은 경우는 작은 절대치를 가지는 값이 나타난다(도 45에서는 명(明):+의 큰 절대치의 값, 암(暗):-의 큰 절대치의 값을 나타내고 있다). 이것은 컨벌루션 연산이 부분적으로 상관 연산을 하고 있다고 생각할 수 있으므로, 동일한 패턴끼리일 때에 큰 절대치를 갖는 상관치를 취하고, 다른 패턴일 때에는 작은 절대치를 가지는 상관치를 취하는 것을 생각하면 자명하다. 이들 2개의 필터 처리 완료 화상을 각 주파수에 대응한 필터 처리 완료 화상군으로서 출력한다. 또, 컨벌루션 연산 시에, 가산 매크로 블록의 끝점 등에서 화소치를 참조할 수 없는 경우는, 사이클릭 시프트와 같이 화상의 반대측의 부근으로 꺾여 얻어지는 화소치를 참조하여 화소치를 참조하기로 한다.
다음에 블록 절단 위치 검출부(63)의 구성을 도 46에 도시하고, 처리의 흐름을 도 47에 도시한다. 도 46에 도시하는 바와 같이, 블록 절단 위치 검출부(63)는 탐색 위치 설정부(67), 블록 절단 위치 응답치 산출부(68), 블록 절단 위치 응답치 버퍼(69), 블록 절단 위치 결정부(70)를 갖고 있다. 도 47을 참조하여 블록 절단 위치 검출부(63)에 있어서의 처리의 흐름을 설명한다.
블록 절단 위치 검출부(63)는 각 주파수에 대응한 필터 처리 완료 화상군을 입력으로 한다(스텝 131). 우선 탐색 위치 설정부(67)가, 미리 정한 탐색범위 중의 탐색 위치 정보(ox, oy)를 생성한다(스텝 132). 다음에 블록 절단 위치 응답치 산출부(68)가, 탐색 위치 정보로 나타나는 좌표를 블록 절단 위치라고 가정한 경우의 블록 절단 위치 응답치를 구한다(스텝 133). 구한 블록 절단 위치 응답치는 대응하는 탐색 위치 정보와 조로 하여 블록 절단 위치 응답치 버퍼에 격납된다(스텝 134). 이 처리를 미리 정한 탐색범위에 포함되는 모든 탐색 위치에 대하여 행한다(스텝 135). 마지막으로 블록 절단 위치 결정부(70)에 있어서, 최대의 블록 절단 위치 응답치를 가지는 탐색 위치 정보를, 검출한 블록 절단 위치정보로서 출력한다(스텝 136).
도 48에 탐색 위치 정보의 예를 도시한다. 탐색범위는 가산 매크로 블록의 좌측 상단점(각 주파수에 대응한 필터 처리 완료 화상군의 각 화상도 동일한 사이즈이므로 이들의 좌측 상단점이기도 하다)을 중심으로 한 일정 크기를 가지는 근방 영역이고, 이 근방 영역에 포함되는 좌표(ox, oy)를 탐색 위치 정보로서 순차 선택한다. 예를 들면 탐색범위는 가산 매크로 블록의 좌측 상단을 중심으로 한, 블록 사이즈 직사각형 영역을 탐색범위로 한다. 입력시점에서의 가산 매크로 블록 중의 블록 절단 위치가, 가산 매크로 블록의 좌측 상단으로부터 위치 어긋나고 있는 경우라도, 근방 내에 올바른 블록 절단 위치가 있는 경우, 탐색 위치가 올바른 블록 절단 위치와 일치하였을 때에, 블록 절단 위치 응답치가 다른 탐색 위치에 비하여 큰 값이 되는 것과 같은 응답치 산출방법을 사용하면, 올바른 블록 절단 위치를 검출할 수 있게 된다. 또한, 상기와 같은 탐색범위를 사용하면, 탐색범위 중에 반드시 1점 올바른 블록 절단 위치가 포함되게 되고, 탐색에 의해서 확실하게 올바른 블록 절단 위치를 검출할 수 있게 된다. 이러한 관점에서 이하의 처리가 행하여지고 있다.
블록 절단 위치 응답치 산출부(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이므로 "+"), 2개의 화소 절대치합의 차의 절대치(도 57에서는 |aO-a1|)를 구하고, 상기 부호를 붙인 값(도 57에서는 "+|a0-a1|")을 검출치로 하여, 검출치 행렬의 블록 위치에 대응하는 요소치로서 설정한다.
상기한 바와 같이 하여 얻어진 검출치 행렬에 대하여 도 58을 사용하여 설명한다. 도 58의 좌측은 매립 시에 생성된 매크로 블록 패턴 중의 각 블록에 대응하는 매립 계열의 항치의 부호를 나타내고, 우측은 상기한 바와 같이 하여 얻어지는 검출치 행렬의 각 요소의 부호를 나타내고 있다. 검출치 행렬 생성부(43)중에서, 블록 절단 위치를 검출하고, 블록 절단 위치로부터 블록을 절단하여 검출치 행렬을 생성하기 때문에, 가산 매크로 블록과 매립 시의 매크로 블록 패턴의 관계는, 각 블록 중의 평행 이동량의 동기는 잡히고 있지만, 블록의 배열의 평행이동, 즉 검출치 행렬의 요소의 배열의 평행 이동의 불확정함이 남아 있다. 도면 중의 둥근 표시는 매립 시에 생성된 매크로 블록 패턴 중의 각 블록의 배열의 선두위치를 나타내고 있지만, 검출치 행렬에서는 요소의 배열이 평행 이동하고 있기 때문에, 검출치 행렬의 어떤 요소 위치가 원래의 선두위치에 대응하고, 검출치 행렬 전체로서는 요소치의 배열이 선두위치를 기준으로 사이클릭 시프트한 상태로 되어 있다. 또한, 이와 동시에 1차 변환 일그러짐 보정부(41)에서 남아 있던 불확정성인, 90도마다의 회전성분이 남아 있다.
상기의 불확정 요소에 대하여 대응하는 것이 가능해지면, 최종적으로 매립한 워터마크 정보를 정확하게 검출할 수 있다. 이러한 관점에서 본 실시예의 워터마크 정보 역확산부(44)는 구성되어 있다. 이하, 본 실시예의 워터마크 정보 역확산부(44)에 관해서 설명한다.
본 실시예에 있어서의 워터마크 정보 역확산부(44)의 구성을 도 59에 도시하고, 처리의 흐름을 도 60에 도시한다. 도 59에 도시하는 바와 같이, 본 실시예의 워터마크 정보 역확산부(44)는 검출치 행렬 변환부(82), 1차원화 처리부(83), 의사 난수 생성부(84), 역확산부(85), 복호 대상 정보 선정부(86), 오류 정정/검출 복호부(87)을 갖고 있다. 이하, 도 60을 참조하여 워터마크 정보 역확산부(44)의 처리의 흐름을 설명한다.
워터마크 정보 역확산부(44)는 검출치 행렬 생성부(43)에서 생성된 검출치 행렬을 입력으로 하고(스텝 161), 우선 검출치 행렬 변환부(82)가, 90도마다의 회전·부호 반전/매크로 블록 개시 위치의 파라미터를 할당하여 검출치 행렬을 변환하여 얻어지는 변환 완료 검출치 행렬군을 생성한다(스텝 162). 다음에 1차원화 처리부(83)가, 변환 완료 검출치 행렬군 중의 각 변환 완료 검출치 행렬을 1차원화하여, 검출 대상 계열군을 얻는다(스텝 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에 도시하는 바와 같이, 화상이 9O도 회전 또는 270도 회전하고 있는 경우는, 매립 시의 파형 패턴이 역전하기 때문에, 화상으로부터 얻어지는 검출치의 부호도 반전하여 버리기 때문이다. 상기와 같은 처리에 의해, 얻어지는 4개의 행렬을, 회전 완료 검출치 행렬군으로서 취득한다(스텝 175).
다음에 매크로 블록 개시 위치 변환부(90)에 있어서, 도 65에 도시하는 바와 같이, 회전 완료 검출치 행렬군 중의 각 회전 완료 검출치 행렬에 대하여, 매크로 블록 개시 위치를 행렬의 각 요소 위치로 하였을 때에, 상기 요소 위치를 행렬의 좌측 상부로 이동시키도록 사이클릭 시프트시킨 행렬을 순차 생성하고, 얻어지는 모든 행렬을 변환 완료 검출치 행렬군으로 한다(스텝 176). 검출치 행렬이 n×n 행렬로 하면, 변환 완료 검출치 행렬군은 전부 4n2개의 변환 완료 검출치 행렬로 이루어진다.
계속해서, 본 실시예에 있어서의 워터마크 정보 역확산부(44)에 있어서의 1차원화 처리부(83)의 처리를 도 66을 사용하여 설명한다. 1차원화 처리부(83)에서는 변환 완료 검출치 행렬군을 입력으로 하고, 각 변환 완료 검출치 행렬에 대하여, 매립 시의 매크로 블록 설정부(19)와 동일한 규칙으로, 행렬의 요소를 1차원화하여 검출 대상 계열을 얻는다. 모든 변환 완료 검출치 행렬로부터 각각 검출 대상 계열을 얻으면, 이들을 정리하여 검출 대상 계열군으로서 출력한다.
계속해서, 본 실시예에 있어서의 역확산부(85)에 대하여 이하에 설명한다. 역확산부(85)는 검출 대상 계열군과, 의사 난수 생성기(84)에서 생성되는 의사 난수열을 입력으로 한다. 의사 난수열은 전자 워터마크 매립장치(10)와 동일한 의사 난수 생성기를 사용하여 생성된다. 역확산부(85)는 검출 대상 계열군 중의 각 검출 대상 계열에 대하여, 역확산 처리를 하여, 복호 대상 정보를 얻는다.
구체적인 역확산 방법으로서는 매립 시의 확산방법에 대응하여 이하와 같은 것을 사용하는 것이 생각된다:
(A)검출 대상 계열{di}(i= 0 내지 mn-1), 의사 난수열을 {ri}(i= 0 내지 mn-1)로 하였을 때에, 복호 대상 정보(S 비트로 한다)를
{ck}(k= 0 내지 S-1)를 아래와 같이 구한다.
Cork=(Σ(i= 0 내지 mn-1)∩(i%S=k)(di×ri))/SQRTΣ(i= 0 내지 mn-1)∩(i%S=k) di 2(k=0 내지 S-1)
를 구하고,
Cork>= O →ck= "1"
Cork<O →ck= "O"
과 같이 비트치를 결정한다.
단, ri= 1 or -1의 난수열로 한다. 또한 x%y는 x를 y로 나누었을 때의 잉여를 나타내고, SQRT(·)는 평방근을 나타낸다.
(B)검출 대상 계열{di}(i= 0 내지 mn-1), 의사 난수열을 2종류 생성하여 각각 {r1i}(i= 0 내지 mn-1), {r2i}(i= 0 내지 mn-1)로 하였을 때에, 복호 대상 정보(S 비트로 한다)를 {ck}(k= 0 내지 S-1)를 아래와 같이 구한다. 우선 {r1i}을 사용하여 치환을 위한 배열{pi}을 매립 시와 동일하게 생성한다.
다음에,
Cork=(Σ(i= 0 내지 mn-1)∩(pi%S=k)(dpi×r2pi))/SQRTΣ(i= 0 내지 mn-1)∩(i%S=k) dpi 2(k=0 내지 S-1) 를 구하고,
Cork>= O →ck= "1"
Cork<O →ck= "O"
와 같이 비트치를 결정한다. 단 r2i= 1 or -1의 난수열로 한다. 또한 x%y는 x를 y로 나누었을 때의 잉여를 나타내고, SQRT(·)는 평방근을 나타낸다.
(C)검출 대상 계열{di}(i= 0 내지 mn-1), 의사 난수열을{ri}(i= 0 내지 mn-1)로 하였을 때에, 복호 대상 정보(S 비트로 한다)를 {ck}(k= 0 내지 S-1)를 아래와 같이 구한다.
Cork=(Σ(i= 0 내지 mn-1)(di×r(i+k)%mn))/SQRT(Σ(i= 0 내지 mn-1)di 2)(k=0~S-1)
을 구하고,
Cork>= O →ck= "1"
Cork<O →ck= "O"
와 같이 비트치를 결정한다. 단 ri= 1 or -1의 난수열로 한다. 또한 x%y는 x를 y로 나누었을 때의 잉여를 나타내고, SQRT(·)은 평방근을 나타낸다.
또한, 역확산부(85)에 있어서는 복호 대상 정보와 아울러, 전자 워터마크 유무 지표치를 생성한다. 이것은 역확산에 의해서 얻어지는 복호 대상 정보의 검출 신호 강도를 나타내는 지표치이고, 상기의 (A),(B),(C)의 예에서는, 예를 들면 아래와 같이 산출한다:
전자 워터마크 유무 지표치를 E의 예로서,
E=Σ(k=0~S-1)|Cork
상기와 같은 전자 워터마크 유무 지표치가 유효하게 기능하는 이유에 대하여 도 67을 사용하여 설명한다. 도 67의 (1)은 전자 워터마크의 검출을 정확하게 할 수 있는 경우의 Cork가 취하는 값에 대하여 나타내고 있다. 또한, (2)는 전자 워터마크가 매립되어 있지 않거나, 또는 전자 워터마크 신호를 검출할 수 없을 만큼 일그러짐이 큰 검출 대상 화상이 주어진 경우 등에 의해, 전자 워터마크 검출을 정확하게 할 수 없는 경우의 Cork가 취하는 값에 대하여 나타내고 있다. 도 67과 같이, 정확하게 검출 가능한 경우는, 매립에 사용한 난수열과, 검출 대상 화상으로부터 얻어지는 검출 대상 계열과의 상관치가 높기 때문에, 각 Cork의 절대치는 큰 값이 되고, 반대로 검출을 정확하게 할 수 없는 경우는, 각 Cork의 절대치는 작은 값이 된다. 또한, 본 실시예에 있어서의 역확산의 예(A),(B),(C)에서는, 검출 대상 계열의 노름(norm)을 항상 정규화하고 나서 난수열과의 상관을 계산하고 있기 때문에, 다른 검출 대상 화상, 다른 워터마크 정보를 매립하는 경우에도 동일한 척도로 평가할 수 있다. 이상의 사실로부터, 도 67의 우측에 도시하는 바와 같이, Cork의 절대치합인 전자 워터마크 유무 지표치 E는 (1)의 경우에는 큰 값이 되고, (2)의 경우에는 작은 값이 된다. 그래서, 나중에 언급하는 바와 같이, 미리 정한 임계치 α를 사용하여, 전자 워터마크의 검출을 정확하게 할 수 있는지의 여부를 판정할 수 있다. 또한, 오류 정정 부호를 사용하여 검출 워터마크 정보의 일부 오류를 정정하는 경우에 있어서, 일반적으로 오류 정정 부호에서는 정정 능력을 초과하는 오류가 생긴 경우에 오류 정정(틀린 부호로 정정하여 버린다)이 일어날 위험성이 있지만, 나중에 기술하는 바와 같이 전자 워터마크 유무 지표치의 임계치 판정과 조합함으로써, 오류 정정의 문제를 회피하는 것이 가능해진다.
역확산부(85)는 상기한 바와 같이 하여 얻어지는 모든 복호 대상 정보를 정리하여 복호 대상 정보군으로 하고, 또한 모든 전자 워터마크 유무 지표치를 정리하여 전자 워터마크 유무 지표치군으로서 출력한다.
본 실시예에 있어서의 복호 대상 정보 선정부(86)에 대하여 이하에 설명한다. 복호 대상 정보 선정부(86)는 복호 대상 정보군과 전자 워터마크 유무 지표치군을 입력으로 하고, 전자 워터마크 유무 지표치군 중의 각 전자 워터마크 유무 지표치에 대하여, 미리 정한 임계치를 사용한 임계치 판정을 하고, 모든 전자 워터마크 유무 지표치가 임계치 미만인 경우는 전자 워터마크 검출 불능을 워터마크 정보 역확산부의 출력으로서 처리를 종료한다. 또한, 하나라도 임계치 이상인 전자 워터마크 유무 지표치가 존재하는 경우는, 최대의 전자 워터마크 유무 지표치를 특정하고, 최대의 전자 워터마크 유무 지표치에 대응하는 복호 대상 정보를 복호 대상 정보군 중에서 선정하고, 이것을 출력한다.
본 실시예에 있어서의 오류 정정/검출 복호부(87)에 대하여 이하에 설명한다. 오류 정정/검출 복호부(87)는 복호 대상 정보를 입력으로 하고, 복호 대상 정보에 대하여 오류 정정/검출 복호처리를 하고, 검출 워터마크 정보를 얻는다. 이 때, 복호 대상 정보 중의 오류를 검출한 경우, 정정 가능하면 정정하여 검출 워터마크 정보로서 출력하고, 정정 불가능한 오류를 검출한 경우는 전자 워터마크 검출 불가능을 출력한다.
또, 상기 복호 대상 정보 선정부(86)와 오류 정정/검출 복호부(87)의 순서를 바꾸어도 좋다. 즉, 우선 오류 정정/검출 복호부(87)에 있어서 복호 대상 정보군의 각 복호 대상 정보에 대하여 오류 정정/검출 복호처리를 하여, 정정 가능한 오류를 포함하는 복호 대상 정보를 선정한다. 모두 정정 불가능한 오류를 검출한 경우는 전자 워터마크 검출 불가능을 출력한다. 다음에 복호 대상 정보 선정부(86)에 있어서, 정정 가능한 오류를 포함하는 복호 대상 정보에 대응하는 전자 워터마크 유무 지표치에 대하여 임계치 판정을 하고, 모두 임계치 미만인 경우는 전자 워터마크 검출 불가능을 출력하고, 그렇지 않은 경우는 최대의 전자 워터마크 검출 유무 지표치에 대응하는 복호 대상 정보를 오류 정정/검출 복호하여 얻어지는 정보를 검출 워터마크 정보로서 출력하는 것으로 하여도 좋다.
또한, 상기 실시예에서는 변환 완료 검출치 행렬을 미리 전부 생성하고, 이후의 처리도 모두 정리하여 처리하도록 기술하고 있지만, 변환 완료 검출치 행렬의 생성으로부터 오류 정정/검출 복호부(87)까지의 처리를 순차 행하도록 하고 전자 워터마크 유무 지표치에 의한 임계치 판정 또한 오류 정정/검출처리에 의해 정정 가능성 체크를 패스한 경우에 처리를 중단하여 검출 워터마크 정보를 출력하도록 하여도 좋다. 이렇게 하면 검출처리가 종료하기까지의 처리시간의 기대치가, 상기 예의 약 반분이라도 충분한 것으로 된다. 또한 루프 빠짐 판정을 전자 워터마크 유무 지표치에 의한 임계치 판정 또는 오류 정정/검출처리에 의해 정정 가능성 체크의 어느 한쪽만으로 하고, 루프가 빠졌을 때에 다른 한쪽을 체크하여, 체크를 패스하면 검출 워터마크 정보 출력, 패스하지 않으면 루프처리를 계속함으로써, 루프 내 처리가 고속으로 되고, 더욱 고속화를 도모할 수 있다.
또한 전자 워터마크 검출 유무 지표치·역확산 연산을, 검출 대상 계열의 부분열만에 대하여 행하는, 예를 들면 복호 대상 정보의 전반 비트분까지의 연산을 하는 것으로서, 얻어지는 전자 워터마크 유무 지표치에 대하여 임계치 판정을 하고, 임계치 이상인 경우에 나머지의 역확산 처리를 하여 오류 정정/검출 복호에 의해 검출 워터마크 정보를 출력하도록 하여도 좋다. 전자 워터마크 검출 유무 지표치는 어느 정도의 부분열에서도 전자 워터마크의 유무를 판정하는 데 충분한 값을 출력할 가능성이 있기 때문이다. 이렇게 하면, 전자 워터마크 검출 유무 지표치·역확산 연산의 처리량이 검출 대상 계열의 부분열분만으로 충분하기 때문에, 처리의 고속화를 실현할 수 있다.
지금까지 설명한 바와 같이 본 실시예에 따르면, 테두리선 등을 사용하지 않고서 화상에 주어진 아핀 변환(1차 변환+평행이동)의 보정을 하여 전자 워터마크의 검출이 가능해진다. 또한, 종래와 같이 전자 워터마크 정보와 달리 기하 변환 보정용의 신호를 독립으로 부가하지 않고, 전자 워터마크 정보를 나타내는 패턴이 동시에 기하 변환 보정용의 신호를 겸하기 때문에, 신호간의 간섭의 문제가 없어져, 검출 성능이 향상한다는 효과가 있다.
또, 본 실시예에 있어서 설명한 장치는 상기 장치의 기능을 실행시키기 위한 프로그램을, CPU, 기억장치 등을 갖는 컴퓨터에 탑재함으로써 실현하는 것도 가능하다. 이 프로그램은 CD-ROM, 메모리 등의 기록매체에 기록하여 배포하거나, 네트워크를 통하여 배포할 수 있다.
또, 본 발명은 상기 실시예에 한정되지 않고서, 특허청구범위 내에서, 여러가지 변경·응용이 가능하다.

Claims (20)

  1. 화상에 매크로 블록 패턴을 중첩함으로써 전자 워터마크 정보를 매립하는 전자 워터마크 매립장치로서,
    입력된 전자 워터마크 정보를 확산함으로써, 매크로 블록 패턴에 있어서의 화소 블록수에 대응하는 길이의 매립 계열을 취득하는 전자 워터마크 정보 확산수단과,
    1의 화소 블록의 상기 매크로 블록 패턴에 있어서의 위치에 대응하는 매립 계열의 항치에 따라서, 미리 정한 복수의 주파수로부터 적어도 1개의 주파수를 선택하고, 선택된 주파수에 대응하는 파형 패턴을 상기 1의 화소 블록에 있어서의 화소로서 설정하는 파형 패턴 설정수단과,
    상기 파형 패턴 설정수단에 의해 각 화소 블록에 대하여 파형 패턴이 설정된 매크로 블록 패턴을 매립 강도치로 증폭하고, 입력된 화상에 타일 형상으로 중첩하는 매크로 블록 패턴 중첩수단을 구비한 것을 특징으로 하는 전자 워터마크 매립장치.
  2. 제 1 항에 있어서, 상기 파형 패턴 설정수단은, 상기 매립 계열의 항치를 양자화하고, 그 양자화한 값에 따라서 상기 적어도 1개의 주파수를 선택하는 전자 워터마크 매립장치.
  3. 제 1 항에 있어서, 상기 파형 패턴 설정수단은, 상기 매립 계열의 항치의 부호에 따라서 상기 적어도 1개의 주파수를 선택하는 전자 워터마크 매립장치.
  4. 제 1 항에 있어서, 상기 파형 패턴 설정수단은, 상기 매크로 블록 패턴 중의 동일한 주파수의 파형 패턴이 설정된 복수의 화소 블록간에 있어서, 파형 패턴의 위상이 매크로 블록 패턴 상에서 일치하도록 위상을 변경하면서, 각 화소 블록에 대하여 파형 패턴을 설정하는 전자 워터마크 매립장치.
  5. 제 1 항에 있어서, 상기 매크로 블록 패턴 중첩수단은, 입력된 화상에 대하여 매크로 블록 패턴을 중첩할 때, 매크로 블록 패턴 중의 화소 블록에 대하여, 동일 주파수의 파형 패턴의 위상이 매크로 블록 패턴 중첩 후의 화상 상에서 일치하도록 파형 패턴의 위상을 변경하면서 중첩을 하는 전자 워터마크 매립장치.
  6. 복수의 파형 패턴으로 이루어지는 화소 블록을 나란히 배열하여 형성된 매크로 블록 패턴을 중첩한 화상으로부터 전자 워터마크 정보를 검출하는 전자 워터마크 검출장치로서,
    입력된 화상을 이산 푸리에 변환하여 얻어지는 파워 스펙트럼 행렬에 있어서의 적어도 2개의 피크 위치정보와, 미리 정한 기준 위치정보를 사용하여, 입력화상의 1차 변환 일그러짐 보정을 하는 1차 변환 일그러짐 보정수단과,
    1차 변환 일그러짐 보정 완료 화상을, 임의의 위치로부터 상기 매크로 블록 패턴의 사이즈의 매크로 블록으로 분할하고, 분할하여 얻어진 매크로 블록을 가산하여 가산 매크로 블록을 생성하는 가산 매크로 블록 생성수단과,
    가산 매크로 블록에 대하여, 미리 정해진 복수 종류의 주파수에 대응하는 각 컨벌루션 오퍼레이터에 의한 컨벌루션 처리를 실시하고, 각 주파수에 대응한 필터 처리 완료 화상군을 얻는 각 주파수마다 필터 처리 완료 화상군 생성수단과,
    미리 정해진 탐색범위 내의 1의 좌표를 설정하는 탐색 위치 설정수단과,
    상기 1의 좌표를 블록 절단 위치라고 생각하여 상기 화소 블록의 사이즈로 화상을 분할하는 블록 분할을 상기 각 주파수에 대응한 필터 처리 완료 화상군 중의 각 화상에 대하여 행하고, 각 주파수에 대응한 각 화상으로부터, 동일한 1의 블록 위치에 대응하는 화소 블록군을 취득하고, 상기 1의 블록 위치에 대한 상기 화소 블록군의 각 화소 블록에 대하여, 화소 블록 중의 전화소의 화소치의 절대치의 합을 구하여 화소 절대치합군을 취득하고, 화소 절대치합군 중에서 최대의 값을 최대 절대치합으로서 구하는 처리를, 모든 블록 위치에 대하여 행하여 얻어지는 최대 절대치합의 총계를 블록 절단 위치 응답치로서 출력하는 블록 절단 위치 응답치 산출수단과,
    상기 탐색 위치 설정수단에 의해 설정된 상기 탐색범위의 각 좌표에 대하여 상기 블록 절단 위치 응답치 산출수단에 의해 블록 절단 위치 응답치를 구하고, 각 좌표에 대응하는 블록 절단 위치 응답치 중에서 최대의 블록 절단 위치 응답치에 대응하는 좌표를 블록 절단 위치로서 검출하는 블록 절단 위치 검출수단과,
    상기 블록 절단 위치 검출수단에 의해 검출된 상기 블록 절단 위치를 사용한 블록 분할을, 상기 각 주파수에 대응한 필터 처리 완료 화상군 중의 각 화상에 대하여 행하고, 각 주파수에 대응한 각 화상으로부터, 동일한 1의 블록 위치에 대응하는 화소 블록군의 각 화소 블록에 대하여, 화소 블록 중의 전화소의 화소치의 절대치의 합을 구하고, 최대의 절대치합을 취하는 화소 블록에 대응하는 주파수를 적어도 사용하여, 상기 화소 블록의 블록 위치에 대응하는 검출치 행렬의 요소치를 구하는 처리를 각 화소 블록에 대하여 행하여 검출치 행렬을 구하는 검출치 행렬 구성수단과,
    검출치 행렬로부터 검출 대상 계열을 구하고, 검출 대상 계열을 역확산함으로써 검출 전자 워터마크 정보를 구하는 워터마크 정보 역확산수단을 갖는 것을 특징으로 하는 전자 워터마크 검출장치.
  7. 제 6 항에 있어서, 상기 워터마크 정보 역확산수단은,
    상기 검출치 행렬의 요소의 배열을 0도, 90도, 180도, 270도 회전하여 얻어지는 4개의 행렬을 생성하고, 90도, 270도 회전하여 얻어진 각 행렬의 전요소치의 부호를 반전하는 회전수단과,
    상기 회전수단에 의해 얻어진 4개의 행렬의 각각에 대하여, 행렬의 하나의 요소 위치가 행렬의 소정의 위치가 되도록 요소를 사이클릭 시프트시킨 행렬을 구하는 처리를 각 요소 위치에 대하여 행함으로써, 변환 완료 검출치 행렬군을 구하는 변환수단과,
    변환 완료 검출치 행렬군에 있어서의 각 행렬로부터 검출 대상 계열군을 구하고, 검출 대상 계열군에 있어서의 각 검출 대상 계열을 역확산하여 얻어지는 정보군 중, 가장 신뢰도가 높은 정보를 검출 전자 워터마크 정보로서 출력하는 수단을 갖는 전자 워터마크 검출장치.
  8. 제 6 항에 있어서, 상기 복수의 주파수는, +의 부호 및 -의 부호에 대응된 2종류의 주파수이고,
    상기 검출치 행렬 구성수단은, +의 부호에 대응하는 주파수에 대응하는 화소 블록의 절대치합으로부터 -의 부호에 대응하는 주파수에 대응하는 화소 블록의 절대치합을 감산하여 얻어진 값을 상기 화소 블록의 블록 위치에 대응하는 검출치 행렬의 요소치로 하는 전자 워터마크 검출장치.
  9. 제 6 항에 있어서, 상기 복수의 주파수는, +의 부호 및 -의 부호에 대응된 2종류의 주파수이고,
    상기 검출치 행렬 구성수단은, 2종류의 주파수에 대응하는 화소 블록의 절대치합의 차의 절대치에, 큰 쪽의 절대치합을 취하는 화소 블록에 대응하는 주파수에 대응하는 부호를 붙인 값을 상기 화소 블록의 블록 위치에 대응하는 검출치 행렬의 요소치로 하는 전자 워터마크 검출장치.
  10. 화상에 매크로 블록 패턴을 중첩함으로써 전자 워터마크 정보를 매립하는 전자 워터마크 매립장치에 있어서의 전자 워터마크 매립 방법으로서,
    입력된 전자 워터마크 정보를 확산함으로써, 매크로 블록 패턴에 있어서의 화소 블록수에 대응하는 길이의 매립 계열을 취득하는 전자 워터마크 정보 확산스텝과,
    1의 화소 블록의 상기 매크로 블록 패턴에 있어서의 위치에 대응하는 매립 계열의 항치에 따라서, 미리 정한 복수의 주파수로부터 적어도 1개의 주파수를 선택하고, 선택된 주파수에 대응하는 파형 패턴을 상기 1의 화소 블록에 있어서의 화소로서 설정하는 파형 패턴 설정스텝과,
    상기 파형 패턴 설정스텝에 의해 각 화소 블록에 대하여 파형 패턴이 설정된 매크로 블록 패턴을 매립 강도치로 증폭하고, 입력된 화상에 타일 형상으로 중첩하는 매크로 블록 패턴 중첩스텝을 구비한 것을 특징으로 하는 전자 워터마크 매립 방법.
  11. 제 10 항에 있어서, 상기 파형 패턴 설정스텝은, 상기 매립 계열의 항치를 양자화하고, 그 양자화한 값에 따라서 상기 적어도 1개의 주파수를 선택하는 스텝을 갖는 전자 워터마크 매립 방법.
  12. 제 10 항에 있어서, 상기 파형 패턴 설정스텝은, 상기 매립 계열의 항치의 부호에 따라서 상기 적어도 1개의 주파수를 선택하는 스텝을 갖는 전자 워터마크 매립 방법.
  13. 제 10 항에 있어서, 상기 파형 패턴 설정스텝은, 상기 매크로 블록 패턴 중의 동일한 주파수의 파형 패턴이 설정된 복수의 화소 블록간에 있어서, 파형 패턴의 위상이 매크로 블록 패턴 상에서 일치하도록 위상을 변경하면서, 각 화소 블록에 대하여 파형 패턴을 설정하는 전자 워터마크 매립 방법.
  14. 제 10 항에 있어서, 상기 매크로 블록 패턴 중첩스텝에서는, 입력된 화상에 대하여 매크로 블록 패턴을 중첩할 때, 매크로 블록 패턴 중의 화소 블록에 대하여, 동일 주파수의 파형 패턴의 위상이 매크로 블록 패턴 중첩 후의 화상 상에서 일치하도록 파형 패턴의 위상을 변경하면서 중첩을 하는 전자 워터마크 매립 방법.
  15. 복수의 파형 패턴으로 이루어지는 화소 블록을 모두 형성된 매크로 블록 패턴을 중첩한 화상으로부터 전자 워터마크 정보를 검출하는 전자 워터마크 검출장치에 있어서의 전자 워터마크 검출방법으로서,
    입력된 화상을 이산 푸리에 변환하여 얻어지는 파워 스펙트럼 행렬에 있어서의 적어도 2개의 피크 위치정보와, 미리 정한 기준 위치정보를 사용하여, 입력화상의 1차 변환 일그러짐 보정을 하는 1차 변환 일그러짐 보정스텝과,
    1차 변환 일그러짐 보정 완료 화상을, 임의의 위치로부터 상기 매크로 블록 패턴의 사이즈의 매크로 블록으로 분할하고, 분할하여 얻어진 매크로 블록을 가산하여 가산 매크로 블록을 생성하는 가산 매크로 블록 생성스텝과,
    가산 매크로 블록에 대하여, 미리 정해진 복수 종류의 주파수에 대응하는 각 컨벌루션 오퍼레이터에 의한 컨벌루션 처리를 실시하고, 각 주파수에 대응한 필터 처리 완료 화상군을 얻는 각 주파수마다 필터 처리 완료 화상군 생성스텝과,
    미리 정해진 탐색범위 내의 1의 좌표를 설정하는 탐색 위치 설정스텝과,
    상기 1의 좌표를 블록 절단 위치라고 생각하여 상기 화소 블록의 사이즈로 화상을 분할하는 블록 분할을 상기 각 주파수에 대응한 필터 처리 완료 화상군 중의 각 화상에 대하여 행하고, 각 주파수에 대응한 각 화상으로부터, 동일한 1의 블록 위치에 대응하는 화소 블록군을 취득하고, 상기 1의 블록 위치에 대한 상기 화소 블록군의 각 화소 블록에 대하여, 화소 블록 중의 전화소의 화소치의 절대치의 합을 구하여 화소 절대치합군을 취득하고, 화소 절대치합군 중에서 최대의 값을 최대 절대치합으로서 구하는 처리를, 모든 블록 위치에 대하여 행하여 얻어지는 최대 절대치합의 총계를 블록 절단 위치 응답치로서 출력하는 블록 절단 위치 응답치 산출스텝과,
    상기 탐색 위치 설정스텝에 의해 설정된 상기 탐색범위의 각 좌표에 대하여 상기 블록 절단 위치 응답치 산출스텝에 의해 블록 절단 위치 응답치를 구하고, 각 좌표에 대응하는 블록 절단 위치 응답치 중에서 최대의 블록 절단 위치 응답치에 대응하는 좌표를 블록 절단 위치로서 검출하는 블록 절단 위치 검출스텝과,
    상기 블록 절단 위치 검출스텝에 의해 검출된 상기 블록 절단 위치를 사용한 블록 분할을, 상기 각 주파수에 대응한 필터 처리 완료 화상군 중의 각 화상에 대하여 행하고, 각 주파수에 대응한 각 화상으로부터, 동일한 1의 블록 위치에 대응하는 화소 블록군의 각 화소 블록에 대하여, 화소 블록 중의 전화소의 화소치의 절대치의 합을 구하고, 최대의 절대치합을 취하여 화소 블록에 대응하는 주파수를 적어도 사용하고, 상기 화소 블록의 블록 위치에 대응하는 검출치 행렬의 요소치를 구하는 처리를 각 화소 블록에 대하여 행하여 검출치 행렬을 구하는 검출치 행렬 구성스텝과,
    검출치 행렬로부터 검출 대상 계열을 구하고, 검출 대상 계열을 역확산함으로써 검출 전자 워터마크 정보를 구하는 워터마크 정보 역확산스텝을 갖는 것을 특징으로 하는 전자 워터마크 검출방법.
  16. 제 15 항에 있어서, 상기 워터마크 정보 역확산 스텝은,
    상기 검출치 행렬의 요소의 배열을 0도, 90도, 180도, 270도 회전하여 얻어지는 4개의 행렬을 생성하고, 90도, 270도 회전하여 얻어진 각 행렬의 전요소치의 부호를 반전하는 회전스텝과,
    상기 회전수단에 의해 얻어진 4개의 행렬의 각각에 대하여, 행렬의 1의 요소 위치가 행렬의 소정의 위치가 되도록 요소를 사이클릭 시프트시킨 행렬을 구하는 처리를 각 요소 위치에 대하여 행함으로써, 변환 완료 검출치 행렬군을 구하는 변환스텝과,
    변환 완료 검출치 행렬군에 있어서의 각 행렬로부터 검출 대상 계열군을 구하고, 검출 대상 계열군에 있어서의 각 검출 대상 계열을 역확산하여 얻어지는 정보군 중, 가장 신뢰도가 높은 정보를 검출 전자 워터마크 정보로서 출력하는 스텝을 갖는 전자 워터마크 검출방법.
  17. 제 15 항에 있어서, 상기 복수의 주파수는, +의 부호 및 -의 부호에 대응된 2종류의 주파수이고,
    상기 검출치 행렬 구성스텝은, +의 부호에 대응하는 주파수에 대응하는 화소 블록의 절대치합으로부터 -의 부호에 대응하는 주파수에 대응하는 화소 블록의 절대치합을 감산하여 얻어진 값을 상기 화소 블록의 블록 위치에 대응하는 검출치 행렬의 요소치로 하는 스텝을 갖는 전자 워터마크 검출방법.
  18. 제 15 항에 있어서, 상기 복수의 주파수는, +의 부호 및 -의 부호에 대응된 2종류의 주파수이고,
    상기 검출치 행렬 구성스텝은, 2종류의 주파수에 대응하는 화소 블록의 절대치합의 차의 절대치에, 큰 쪽의 절대치합을 취하는 화소 블록에 대응하는 주파수에 대응하는 부호를 붙인 값을 상기 화소 블록의 블록 위치에 대응하는 검출치 행렬의 요소치로 하는 스텝을 갖는 전자 워터마크 검출방법.
  19. 제 10 항 내지 제 18 항 중 어느 한 항에 기재된 방법에 있어서의 각 스텝을 컴퓨터에 실행시키는 프로그램.
  20. 제 19 항에 기재된 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
KR20057016799A 2004-02-02 2005-01-31 전자 워터마크 매립장치, 전자 워터마크 검출장치, 및 그방법, 및 프로그램 KR100714202B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JPJP-P-2004-00025899 2004-02-02
JP2004025899 2004-02-02
JPJP-P-2004-00159843 2004-05-28
JP2004159843 2004-05-28

Publications (2)

Publication Number Publication Date
KR20050109543A true KR20050109543A (ko) 2005-11-21
KR100714202B1 KR100714202B1 (ko) 2007-05-07

Family

ID=34829445

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20057016799A KR100714202B1 (ko) 2004-02-02 2005-01-31 전자 워터마크 매립장치, 전자 워터마크 검출장치, 및 그방법, 및 프로그램

Country Status (6)

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

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 キヤノン株式会社 画像処理装置、画像処理方法、プログラム、記憶媒体、システム
US8208683B2 (en) * 2006-03-07 2012-06-26 Nippon Telegraph And Telephone Corporation Digital watermark embedding method, apparatus and storage medium for reducing image quality deterioration and increasing detection reliability
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 画像処理装置、方法及びコンピュータプログラム
WO2012026039A1 (ja) * 2010-08-27 2012-03-01 富士通株式会社 電子透かし埋め込み装置、電子透かし埋め込み方法及び電子透かし埋め込み用コンピュータプログラムならびに電子透かし検出装置
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 電子透かし処理装置、電子透かし処理方法および電子透かし処理プログラム
US7020304B2 (en) * 2002-01-22 2006-03-28 Digimarc Corporation Digital watermarking and fingerprinting including synchronization, layering, version control, and compressed embedding
JP4136731B2 (ja) * 2002-04-24 2008-08-20 キヤノン株式会社 情報処理方法及び装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体

Also Published As

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

Similar Documents

Publication Publication Date Title
KR100714202B1 (ko) 전자 워터마크 매립장치, 전자 워터마크 검출장치, 및 그방법, 및 프로그램
KR100730611B1 (ko) 전자 워터마크 삽입 장치, 전자 워터마크 검출 장치 및그들의 방법 및 프로그램
US8155378B2 (en) Color image or video processing
KR100723284B1 (ko) 정보 신호에서의 보조 데이터의 검출
US8194915B2 (en) Wavelet domain watermarks
US9530215B2 (en) Systems and methods for enhanced depth map retrieval for moving objects using active sensing technology
US20130315501A1 (en) Design of code in affine-invariant spatial mask
US8582900B2 (en) Digital watermark embedding device, computer-readable recording medium, and digital watermark detecting device and computer-readable recording medium
CN110766594A (zh) 信息隐藏方法及装置、检测方法、装置及防伪溯源方法
Bianchi et al. Analysis of non-aligned double JPEG artifacts for the localization of image forgeries
Abdul et al. Error correcting codes for robust color wavelet watermarking
Rakhmawati et al. Exploiting self-embedding fragile watermarking method for image tamper detection and recovery
CN115063280A (zh) 一种水印叠加、恢复方法及装置
CN1765116B (zh) 电子水印嵌入装置及其方法和电子水印检测装置及其方法
Rao et al. Enhancing source camera identification based on multiplicative denoising filter
JP4541213B2 (ja) 電子透かし挿入方法及び電子透かし検出方法並びに電子透かし挿入装置及び電子透かし検出装置
JPH0456565A (ja) 画像処理装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130313

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140306

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150305

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180413

Year of fee payment: 12