KR101960290B1 - 워터마크 데이터의 임베딩 및 추출 방법 - Google Patents
워터마크 데이터의 임베딩 및 추출 방법 Download PDFInfo
- Publication number
- KR101960290B1 KR101960290B1 KR1020180078137A KR20180078137A KR101960290B1 KR 101960290 B1 KR101960290 B1 KR 101960290B1 KR 1020180078137 A KR1020180078137 A KR 1020180078137A KR 20180078137 A KR20180078137 A KR 20180078137A KR 101960290 B1 KR101960290 B1 KR 101960290B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- data
- pixel
- delete delete
- watermark data
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000000605 extraction Methods 0.000 title claims abstract description 18
- 239000011159 matrix material Substances 0.000 claims description 44
- 238000013075 data extraction Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 17
- 230000001131 transforming effect Effects 0.000 claims description 6
- 238000001228 spectrum Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 14
- 230000000903 blocking effect Effects 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 9
- 238000007781 pre-processing Methods 0.000 description 8
- 230000009466 transformation Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 3
- 230000036961 partial effect Effects 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
- G06T1/005—Robust watermarking, e.g. average attack or collusion attack resistant
-
- G06K9/00—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits 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/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, 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/32149—Methods relating to embedding, encoding, decoding, detection or retrieval operations
- H04N1/32309—Methods relating to embedding, encoding, decoding, detection or retrieval operations in colour image data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0051—Embedding of the watermark in the spatial domain
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0052—Embedding of the watermark in the frequency domain
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0065—Extraction 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)
Abstract
기하학적 왜곡 및 저품질의 촬영에 강인하여 원본 이미지에 대하여는 워터마크 데이터의 추출 성공 가능성이 높지만, 무단 복제 등의 경우에는 워터마크 데이터의 추출 성공 가능성이 크게 훼손되는 워터마크 데이터의 임베딩 및 추출 방법이 제공된다. 본 발명의 일 실시예에 따른 데이터 임베딩 방법은 노이즈 베이스 이미지를 워터마크 데이터를 이용하여 변환하는 단계와, 상기 변환된 노이즈 베이스 이미지를 이용하여 상기 오리지널 이미지를 조정하는 단계를 포함한다.
Description
본 발명은 워터마크 데이터의 임베딩(embedding) 및 추출 방법에 관한 것이다. 보다 자세하게는 인간의 시각으로는 인식 되지 않으나, 이미지 프로세싱을 통하여 추출 될 수 있는 방식으로 워터마크 데이터를 이미지에 임베딩 하고, 그렇게 임베딩 된 워터마크 데이터를 이미지에서 추출하는 방법에 관한 것이다.
워터마킹 기술을 활용하면, 원본에는 눈에 잘 보이지 않다가, 무단 복제 시 드러나는 워터마크 데이터 또는 워터마킹 텍스쳐를 오리지널 이미지에 삽입할 수 있다. 이러한 워터마킹 기술은 진품 인증 또는 진본 인증 등의 용도로 널리 활용되고 있다. 그러나, 인간에 눈에 보이지 않고, 컴퓨팅 장치를 통한 이미지 프로세싱을 거치면 추출이 가능하지만, 무단 복제 등의 경우에는 추출이 불가능해지는 형태의 워터마킹 기술은 제공되지 못하고 있다.
본 발명이 해결하고자 하는 기술적 과제는 기하학적 왜곡 및 저품질의 촬영에 강인하여 원본 이미지에 대하여는 워터마크 데이터의 추출 성공 가능성이 높지만, 무단 복제 등의 경우에는 워터마크 데이터의 추출 성공 가능성이 크게 훼손되는 워터마크 데이터의 임베딩 및 추출 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는 워터마크 데이터의 임베딩에 의하여 오리지널 이미지의 품질이 손상되는 것을 최소화하고, 워터마크 데이터의 임베딩 여부가 드러나지 않는 워터마크 데이터의 임베딩 및 추출 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는 오리지널 이미지의 사이즈가 증가함에 따라 임베딩 가능한 워터마크 데이터의 사이즈도 함께 증가하는 워터마크 데이터의 임베딩 및 추출 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는 임베딩 및 추출 방법과 관련된 단서가 유출될 가능성을 최소화 한 워터마크 데이터의 임베딩 및 추출 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는 이미지가 프린트 되는 소재가 달라지더라도 워터마크 데이터의 추출에 문제가 없는 워터마크 데이터의 임베딩 및 추출 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는 이미지의 사이즈와 무관하게 적용될 수 있는 임베딩 및 추출 방법을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 워터마크 데이터를 오리지널 이미지에 임베딩(embedding) 하는 방법은, 노이즈 베이스 이미지를 상기 워터마크 데이터를 이용하여 변환하는 단계와, 상기 변환된 노이즈 베이스 이미지를 이용하여 상기 오리지널 이미지를 조정하는 단계를 포함한다. 이 때, 상기 노이즈 베이스 이미지는, 주파수 도메인(frequency domain)에서 기 지정된 특정 좌표의 매그니튜드 피크(magnitude peak)를 가지는 2차원 매그니튜드 스펙트럼 및 랜덤 위상(random phase)으로 표현되는 것이다.
일 실시예에서, 상기 노이즈 베이스 이미지는, 주파수 영역에서 복수의 매그니튜드 피크 및 랜덤 위상으로 표현되되, 상기 복수의 매그니튜드 피크는 각각 기지정된 좌표에 형성되는 복수의 매그니튜드 피크들로 구성된다. 이 때, 상기 복수의 매그니튜드 피크는 특정 개수의 상기 매그니튜드 피크들로 구성된 것일 수 있다. 또한, 상기 주파수 도메인은 상기 노이즈 베이스 이미지를 이산 푸리에 변환(Discrete Fourier Transformation)한 결과 구축된 것이고, 상기 복수의 매그니튜드 피크에 포함된 각각의 매그니튜드 피크는 수평축의 제1 주파수 및 수직축의 제2 주파수로 표현되되, 상기 제1 주파수 및 상기 제2 주파수는 주파수의 이산성(discreteness)에 따른 단위 주파수 하나에 대응되는 것일 수 있다.
일 실시예에서, 상기 매그니튜드 피크의 매그니튜드 값은 제1 값이고, 상기 노이즈 베이스 이미지는, 주파수 영역에서 상기 매그니튜드 피크를 제외한 모든 영역의 매그니튜드 값이 상기 제1 값과 다른 제2 값을 갖는 매그니튜드 스펙트럼을 갖는 것이다. 이 때, 상기 제1 값은 최대 매그니튜드 값이고, 상기 제2 값은 최소 매그니튜드 값일 수 있다.
일 실시예에서, 상기 랜덤 위상은, 고정된 키 값을 이용하여 생성되는 것이다.
일 실시예에서, 상기 변환된 노이즈 베이스 이미지를 이용하여 상기 오리지널 이미지를 변환하는 단계는 상기 오리지널 이미지의 사이즈를 기준으로, 상기 변환된 노이즈 베이스 이미지를 수평 방향 및 수직 방향 중 적어도 하나의 방향으로 복수개 연결하는 단계를 포함한다.
일 실시예에서, 상기 노이즈 베이스 이미지를 상기 워터마크 데이터를 이용하여 변환하는 단계는, 상기 노이즈 베이스 이미지를 M x M 픽셀을 가진 블록 단위로 구성하는 단계와, 상기 각각의 블록 별로, 블록에 속한 모든 픽셀을 흰색 또는 검은색 중 어느 하나로 일원화 하는 단계와, 상기 각각의 블록을 순회 하면서, 상기 각각의 블록에 상기 워터마크 데이터를 2 비트씩 반영하는 단계를 포함한다. 이 때, 상기 각각의 블록을 순회 하면서, 상기 각각의 블록에 상기 워터마크 데이터를 2 비트씩 반영하는 단계는, 현재 블록이 흰색인 경우 반영 대상인 2 비트의 값에 따라 현재 블록에 속한 일부 픽셀을 검은색으로 변환하고, 현재 블록이 검은색인 경우 반영 대상인 2 비트의 값에 따라 현재 블록에 속한 일부 픽셀을 흰색으로 변환하는 단계를 포함할 수 있다. 이 때, 상기 각각의 블록은 좌상단 N x N 픽셀(단, N = M/2)을 포함하는 제1 픽셀 그룹, 우상단 N x N 픽셀을 포함하는 제2 픽셀 그룹, 좌하단 N x N 픽셀을 포함하는 제3 픽셀 그룹 및 우하단 N x N 픽셀을 포함하는 제4 픽셀 그룹으로 구성되고, 현재 블록이 흰색인 경우 반영 대상인 2 비트의 값에 따라 현재 블록에 속한 일부 픽셀을 검은색으로 변환하고, 현재 블록이 검은색인 경우 반영 대상인 2 비트의 값에 따라 현재 블록에 속한 일부 픽셀을 흰색으로 변환하는 단계는, 현재 블록이 흰색인 경우 반영 대상인 2 비트의 값에 따라 현재 블록에 속한 상기 제1 픽셀 그룹, 상기 제2 픽셀 그룹, 상기 제3 픽셀 그룹 및 상기 제4 픽셀 그룹 중 어느 하나를 검은색으로 변환하고, 현재 블록이 검은색인 경우 반영 대상인 2 비트의 값에 따라 현재 블록에 속한 현재 블록에 속한 상기 제1 픽셀 그룹, 상기 제2 픽셀 그룹, 상기 제3 픽셀 그룹 및 상기 제4 픽셀 그룹 중 어느 하나를 흰색으로 변환하는 단계를 포함할 수 있다.
일 실시예에서, 상기 변환된 노이즈 베이스 이미지를 이용하여 상기 오리지널 이미지를 조정하는 단계는, 상기 오리지널 이미지의 제1 픽셀의 R 채널값, G채널값 및 B채널값이 모두 한계치를 초과하거나 모두 한계치에 미달하는 경우에 한하여, 상기 제1 픽셀을 조정하는 단계를 포함한다. 이 때, 상기 오리지널 이미지의 상기 현재 픽셀을 조정하는 단계는, 상기 변환된 노이즈 베이스 이미지의 제2 픽셀이 흰색인 경우 상기 제1 픽셀을 제1 조정하고, 상기 제2 픽셀이 검은색인 경우 상기 제1 픽셀을 상기 제1 조정과 상이한 규칙으로 제2 조정하는 단계를 포함하고, 상기 제1 픽셀과 상기 제2 픽셀은 이미지 내 위치 기준으로 대응되는 것일 수 있다. 이 때, 상기 제1 조정은 상기 제1 픽셀의 R채널값을 감소시키고, G채널값을 증가시키며, B채널값을 감소시키는 것이고, 상기 제2 조정은 상기 제1 픽셀의 R채널값을 증가시키고, G채널값을 감소시키며, B채널값을 증가시키는 것일 수 있다.
상기 기술적 과제를 해결하기 위한, 본 발명의 다른 실시예에 따른 컴퓨팅 장치와 결합하여 워터마크 데이터를 오리지널 이미지에 임베딩 하는 컴퓨터 프로그램은, 노이즈 베이스 이미지를 상기 워터마크 데이터를 이용하여 변환하는 단계; 및 상기 변환된 노이즈 베이스 이미지를 이용하여 상기 오리지널 이미지를 조정하는 단계를 실행시키기 위하여 기록 매체에 저장된 것이다. 이 때, 상기 노이즈 베이스 이미지는, 주파수 도메인(frequency domain)에서 기 지정된 특정 좌표의 매그니튜드 피크(magnitude peak)를 가지는 2차원 매그니튜드 스펙트럼 및 랜덤 위상(random phase)으로 표현되는 것이다.
상기 기술적 과제를 해결하기 위한, 본 발명의 또 다른 실시예에 따른 워터마크 데이터가 임베딩 된 이미지인 촬영 이미지로부터 워터마크 데이터를 추출하는 데이터 추출 방법은, 상기 촬영 이미지를 노이즈 베이스와 비교하는 주파수 영역의 프로세스를 수행함으로써, 상기 촬영 이미지에 상기 노이즈 베이스가 포함되었는지를 가리키는 2차원의 제2 결과 매트릭스를 생성하는 단계와, 상기 제2 결과 매트릭스를 공간 도메인(spatial domain)으로 변환하여 제2 참조 이미지를 생성하는 단계와, 상기 제2 참조 이미지를 이용하여, 상기 촬영 이미지에서 상기 워터마크 데이터의 추출 위치인 기준점을 결정하는 단계와, 상기 노이즈 베이스 이미지를 참조하여, 상기 촬영 이미지의 기준점으로부터 상기 워터마크 데이터를 추출하는 단계를 포함한다. 이 때, 상기 노이즈 베이스 이미지는, 주파수 도메인(frequency domain)에서 기 지정된 특정 좌표의 매그니튜드 피크(magnitude peak)를 가지는 2차원 매그니튜드 스펙트럼 및 랜덤 위상(random phase)으로 표현되는 것일 수 있다.
일 실시예에서, 상기 제2 결과 매트릭스를 생성하는 단계 이전에, 상기 촬영 이미지로부터 보정 이미지를 생성하는 단계를 더 포함하고, 상기 2차원의 제2 결과 매트릭스를 생성하는 단계는, 상기 보정 이미지를 노이즈 베이스와 비교하는 주파수 영역의 프로세스를 수행함으로써, 상기 보정 이미지에 상기 노이즈 베이스가 포함되었는지를 가리키는 상기 제2 결과 매트릭스를 생성하는 단계를 포함하고, 상기 워터마크 데이터의 추출 위치인 기준점을 결정하는 단계는, 상기 보정 이미지에서 상기 기준점을 결정하는 단계를 포함하며, 상기 워터마크 데이터를 추출하는 단계는, 상기 보정 이미지의 기준점으로부터 상기 워터마크 데이터를 추출하는 단계를 포함한다. 이 때, 상기 촬영 이미지로부터 보정 이미지를 생성하는 단계는, 상기 노이즈 베이스 이미지 및 상기 촬영 이미지에 대하여 로그폴라(LogPolar) 변환을 수행하여, 상기 촬영 이미지의 상기 노이즈 베이스 이미지 대비 스케일 및 회전각을 산출하는 단계와, 상기 스케일 및 상기 회전각을 반영하여 상기 촬영 이미지로부터 상기 보정 이미지를 생성하는 단계를 포함한다.
일 실시예에서, 상기 촬영 이미지의 상기 노이즈 베이스 이미지 대비 스케일 및 회전각을 산출하는 단계는, 상기 촬영 이미지를 주파수 도메인으로 변환하는 단계와, 상기 주파수 도메인으로 변환된 상기 촬영 이미지의 2D 매그니튜드 스펙트럼 이미지(MS2)를 생성하는 단계와, 상기 노이즈 베이스의 2D 매그니튜드 스펙트럼 이미지(MS1)를 조회 또는 생성하는 단계와, 상기 이미지(MS1)에 대하여 로그폴라 변환을 수행하여 그 결과 이미지(LP1)을 생성하는 단계와, 상기 이미지(MS2)에 대하여 로그폴라 변환을 수행하여 그 결과 이미지(LP2)를 생성하는 단계와, 상기 이미지(LP1)를 주파수 도메인으로 변환하여, 주파수 매트릭스(f_LP1)를 생성하는 단계와, 상기 이미지(LP2)를 주파수 도메인으로 변환하여, 주파수 매트릭스(f_LP2)를 생성하는 단계와, 상기 주파수 매트릭스(f_LP1) 및 상기 주파수 매트릭스(f_LP2)를 서로 곱한 후, 상기 주파수 매트릭스(f_LP2)의 매그니튜드 매트릭스(MM2)로 나누어 제1 결과 매트릭스를 생성하는 단계와, 상기 RESULT 매트릭스를 공간 도메인으로 변환하여 제1 참조 이미지를 생성하는 단계와, 상기 제1 참조 이미지를 이용하여, 상기 촬영 이미지의 상기 노이즈 베이스 이미지 대비 스케일 및 회전량을 산출하는 단계를 포함할 수 있다.
일 실시예에서, 상기 제1 참조 이미지를 이용하여, 상기 촬영 이미지의 상기 노이즈 베이스 이미지 대비 스케일 및 회전량을 산출하는 단계는, 상기 제1 참조 이미지의 픽셀 값들 중 최대 값을 가진 참조 픽셀을 선정하는 단계와, 상기 참조 픽셀의 X좌표를 상기 회전각으로 결정하는 단계와, 상기 참조 픽셀의 Y좌표를 상기 스케일으로 결정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 제1 참조 이미지를 이용하여, 상기 촬영 이미지의 상기 노이즈 베이스 이미지 대비 스케일 및 회전량을 산출하는 단계는, 상기 제1 참조 이미지의 픽셀 값들 중 최대 값을 제1 유사도로 결정하는 단계와, 상기 제1 유사도가 한계치에 미달하는 경우, 데이터 추출을 중단하는 단계를 포함할 수 있다.
일 실시예에서, 상기 촬영 이미지를 주파수 도메인으로 변환하는 단계는, 상기 촬영 이미지를 모노크롬화 하여, 상기 촬영 이미지에 내재 된 노이즈의 발현을 극대화 하는 단계와, 상기 모노크롬화 된 촬영 이미지를 주파수 도메인으로 변환하는 단계를 포함할 수 있다.
일 실시예에서, 상기 제2 결과 매트릭스를 생성하는 단계 이전에, 상기 촬영 이미지로부터 보정 이미지를 생성하고, 상기 보정 이미지를 모노크롬화 하여, 상기 보정 이미지에 내재된 노이즈의 발현을 극대화 하는 단계를 더 포함하고, 상기 2차원의 제2 결과 매트릭스를 생성하는 단계는, 상기 모노크롬화 된 보정 이미지를 노이즈 베이스와 비교하는 주파수 영역의 프로세스를 수행함으로써, 상기 보정 이미지에 상기 노이즈 베이스가 포함되었는지를 가리키는 상기 제2 결과 매트릭스를 생성하는 단계를 포함하고, 상기 워터마크 데이터의 추출 위치를 결정하는 단계는, 상기 모노크롬화 된 보정 이미지에서 상기 워터마크 데이터의 추출 위치인 기준점을 결정하는 단계를 포함하며, 상기 워터마크 데이터를 추출하는 단계는, 상기 모노크롬화 된 보정 이미지에서 상기 워터마크 데이터를 추출하는 단계를 포함한다.
일 실시예에서, 상기 모노크롬화 된 보정 이미지에 상기 노이즈 베이스가 포함되었는지를 가리키는 2차원의 제2 결과 매트릭스를 생성하는 단계는, 주파수 도메인의 상기 노이즈 베이스를 가리키는 2차원의 제1 매트릭스를 생성하거나 조회하는 단계와, 주파수 도메인의 상기 모노크롬화 된 보정 이미지를 가리키는 2차원의 제2 매트릭스를 생성하는 단계와, 상기 제1 매트릭스와 상기 제2 매트릭스를 곱한 후, 상기 주파수 도메인의 상기 보정 이미지의 매그니튜드 매트릭스로 나누어 상기 제2 결과 매트릭스를 생성하는 단계를 포함한다.
일 실시예에서, 상기 모노크롬화 된 보정 이미지에서 상기 워터마크 데이터를 추출하는 단계는, 상기 모노크롬화 된 보정 이미지를 M x M 픽셀로 구성된 블록 단위로 블록화 하되, 상기 기준점을 기준으로 블록화 하는 단계와, 상기 모노크롬화 된 보정 이미지의 각 블록에 대하여, N x N 픽셀(단, N = M/2)로 구성된 부분 블록에 속한 모든 픽셀을 흰색 또는 검은색 중 어느 하나로 일원화 하는 단계와, M x M 픽셀로 구성된 블록 단위로 블록화 된 노이즈 베이스를 참조하여, 상기 모노크롬화 된 보정 이미지의 각 블록을 순회하면서, 상기 각 블록 당 2 비트의 데이터를 추출하는 단계와, 상기 추출된 데이터를 연결(concatenation) 하여 상기 워터마크 데이터를 구성하는 단계를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한, 본 발명의 또 다른 실시예에 따른 워터마크 데이터가 임베딩 된 이미지인 촬영 이미지로부터 워터마크 데이터를 추출하는 컴퓨터 프로그램은, 상기 촬영 이미지를 노이즈 베이스와 비교하는 주파수 영역의 프로세스를 수행함으로써, 상기 촬영 이미지에 상기 노이즈 베이스가 포함되었는지를 가리키는 2차원의 제2 결과 매트릭스를 생성하는 단계와, 상기 제2 결과 매트릭스를 공간 도메인(spatial domain)으로 변환하여 제2 참조 이미지를 생성하는 단계와, 상기 제2 참조 이미지를 이용하여, 상기 촬영 이미지에서 상기 워터마크 데이터의 추출 위치인 기준점을 결정하는 단계와, 상기 노이즈 베이스 이미지를 참조하여, 상기 촬영 이미지의 기준점으로부터 상기 워터마크 데이터를 추출하는 단계를 실행시키기 위하여 기록 매체에 저장되는 것이다.
도 1은 본 발명의 일 실시예에 따른 워터마크 데이터의 임베딩 방법 및 본 발명의 일 실시예에 따른 워터마크 데이터의 추출 방법이 활용되는 상황을 설명하기 위한 개념도이다.
도 2는 본 발명의 몇몇 실시예들에 따른 워터마크 데이터의 임베딩 방법에 따라 워터마크 데이터가 임베딩된 이미지와 오리지널 이미지의 비교를 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 워터마크 데이터의 임베딩 방법의 순서도이다.
도 4는 도 3을 참조하여 이해 될 수 있는 워터마크 데이터의 임베딩 방법의 이해를 돕기 위한 개념도이다.
도 5는 본 발명의 몇몇 실시예에서 참조되는 노이즈 베이스에 대한 설명을 위한 도면이다.
도 6 및 도 7은 본 발명의 몇몇 실시예에서 참조될 수 있는 노이즈 베이스의 일 예시를 설명하기 위한 도면이다.
도 8 및 도 9는 본 발명의 몇몇 실시예에서 참조될 수 있는 노이즈 베이스의 다른 예시를 설명하기 위한 도면이다.
도 10은 본 발명의 몇몇 실시예에서 참조될 수 있는 서로 다른 사이즈의 노이즈 베이스에 대한 도면이다.
도 11은 도 3을 참조하여 이해 될 수 있는 워터마크 데이터의 임베딩 방법의 일부 동작을 보다 상세하게 설명하기 위한 순서도이다.
도 12는 도 11의 일부 동작의 결과로 노이즈 베이스가 블록화 된 결과를 설명하기 위한 도면이다.
도 13은 도 3을 참조하여 이해 될 수 있는 워터마크 데이터의 임베딩 방법의 일부 동작을 보다 상세하게 설명하기 위한 순서도이다.
도 14 및 도 16은 도 13의 동작의 결과로 노이즈 베이스가 워터마크 데이터를 표현하기 위해 변환되는 동작을 예를 들어 설명하기 위한 도면이다.
도 15는 본 발명의 몇몇 실시예들에서 참조될 수 있는 노이즈 베이스 변환 기준을 설명하기 위한 도면이다.
도 17은 본 발명의 몇몇 실시예들에서 참조될 수 있는 워터마크 데이터 임베딩 또는 추출을 위한 블록 순회를 설명하기 위한 도면이다.
도 18은 도 13의 일부 동작의 결과로 노이즈 베이스가 워터마크 데이터를 표현하기 위해 변환된 결과를 설명하기 위한 도면이다.
도 19는 본 발명의 다른 실시예에 따른 워터마크 데이터 추출 방법의 순서도이다.
도 20은 본 발명의 일 실시예에 따른 워터마크 데이터 추출 방법에 있어서, 촬영된 이미지의 전처리가 필요한 이유를 설명하기 위한 도면이다.
도 21은 도 19를 참조하여 이해 될 수 있는 워터마크 데이터 추출 방법의 이미지 전처리 관련 동작을 자세히 설명하기 위한 상세 순서도이다.
도 22는 촬영된 이미지의 전처리 결과를 설명하기 위한 도면이다.
도 23은 도 19를 참조하여 이해 될 수 있는 워터마크 데이터 추출 방법의 워터마킹 추출 기준점 결정 관련 이미지 프로세싱 관련 동작을 자세히 설명하기 위한 상세 순서도이다.
도 24는 도 19를 참조하여 이해 될 수 있는 워터마크 데이터 추출 방법의 데이터 추출 관련 동작을 자세히 설명하기 위한 상세 순서도이다.
도 25는 본 발명의 또 다른 실시예에 따라 이미지의 촬영 각도 기반으로 서로 다른 워터마크 데이터가 추출 되는 방법을 설명하기 위한 도면이다.
도 26은 본 발명의 또 다른 실시예에 따른 워터마크 데이터 임베딩 장치의 블록 구성도이다.
도 27은 본 발명의 또 다른 실시예에 따른 워터마크 데이터 추출 장치의 블록 구성도이다.
도 2는 본 발명의 몇몇 실시예들에 따른 워터마크 데이터의 임베딩 방법에 따라 워터마크 데이터가 임베딩된 이미지와 오리지널 이미지의 비교를 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 워터마크 데이터의 임베딩 방법의 순서도이다.
도 4는 도 3을 참조하여 이해 될 수 있는 워터마크 데이터의 임베딩 방법의 이해를 돕기 위한 개념도이다.
도 5는 본 발명의 몇몇 실시예에서 참조되는 노이즈 베이스에 대한 설명을 위한 도면이다.
도 6 및 도 7은 본 발명의 몇몇 실시예에서 참조될 수 있는 노이즈 베이스의 일 예시를 설명하기 위한 도면이다.
도 8 및 도 9는 본 발명의 몇몇 실시예에서 참조될 수 있는 노이즈 베이스의 다른 예시를 설명하기 위한 도면이다.
도 10은 본 발명의 몇몇 실시예에서 참조될 수 있는 서로 다른 사이즈의 노이즈 베이스에 대한 도면이다.
도 11은 도 3을 참조하여 이해 될 수 있는 워터마크 데이터의 임베딩 방법의 일부 동작을 보다 상세하게 설명하기 위한 순서도이다.
도 12는 도 11의 일부 동작의 결과로 노이즈 베이스가 블록화 된 결과를 설명하기 위한 도면이다.
도 13은 도 3을 참조하여 이해 될 수 있는 워터마크 데이터의 임베딩 방법의 일부 동작을 보다 상세하게 설명하기 위한 순서도이다.
도 14 및 도 16은 도 13의 동작의 결과로 노이즈 베이스가 워터마크 데이터를 표현하기 위해 변환되는 동작을 예를 들어 설명하기 위한 도면이다.
도 15는 본 발명의 몇몇 실시예들에서 참조될 수 있는 노이즈 베이스 변환 기준을 설명하기 위한 도면이다.
도 17은 본 발명의 몇몇 실시예들에서 참조될 수 있는 워터마크 데이터 임베딩 또는 추출을 위한 블록 순회를 설명하기 위한 도면이다.
도 18은 도 13의 일부 동작의 결과로 노이즈 베이스가 워터마크 데이터를 표현하기 위해 변환된 결과를 설명하기 위한 도면이다.
도 19는 본 발명의 다른 실시예에 따른 워터마크 데이터 추출 방법의 순서도이다.
도 20은 본 발명의 일 실시예에 따른 워터마크 데이터 추출 방법에 있어서, 촬영된 이미지의 전처리가 필요한 이유를 설명하기 위한 도면이다.
도 21은 도 19를 참조하여 이해 될 수 있는 워터마크 데이터 추출 방법의 이미지 전처리 관련 동작을 자세히 설명하기 위한 상세 순서도이다.
도 22는 촬영된 이미지의 전처리 결과를 설명하기 위한 도면이다.
도 23은 도 19를 참조하여 이해 될 수 있는 워터마크 데이터 추출 방법의 워터마킹 추출 기준점 결정 관련 이미지 프로세싱 관련 동작을 자세히 설명하기 위한 상세 순서도이다.
도 24는 도 19를 참조하여 이해 될 수 있는 워터마크 데이터 추출 방법의 데이터 추출 관련 동작을 자세히 설명하기 위한 상세 순서도이다.
도 25는 본 발명의 또 다른 실시예에 따라 이미지의 촬영 각도 기반으로 서로 다른 워터마크 데이터가 추출 되는 방법을 설명하기 위한 도면이다.
도 26은 본 발명의 또 다른 실시예에 따른 워터마크 데이터 임베딩 장치의 블록 구성도이다.
도 27은 본 발명의 또 다른 실시예에 따른 워터마크 데이터 추출 장치의 블록 구성도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
이하, 도면들을 참조하여 본 발명의 몇몇 실시예들을 설명한다.
개요
도 1은 본 발명의 일 실시예에 따른 워터마크 데이터의 임베딩 방법 및 본 발명의 일 실시예에 따른 워터마크 데이터의 추출 방법이 활용되는 상황을 설명하기 위한 개념도이다. 먼저, 오리지널 이미지(20)에 워터마크 데이터(10)가 임베딩(embedding) 된 결과 만들어진 결과 이미지(30)가 다양한 채널을 통하여 배포될 수 있다. 결과 이미지(30)는, 예를 들어 명함이거나, 상품 표면에 부착 되는 라벨일 수 있다. 또한, 결과 이미지(30)는 박스 등의 운송 수단 외면에 프린트 될 수도 있다.
도 1에 도시된 바와 같이, 결과 이미지(30)를 보고는 워터마크 데이터의 임베딩 여부를 육안으로 인식하기 어렵다. 본 실시예에 따른 워터마크 데이터 임베딩 방법은 종래의 바코드, QR 코드 등의 기술과 달리 워터마크 데이터의 임베딩 여부를 육안으로 인식하기 어렵기 때문에, 오리지널 이미지를 훼손하지 않고도 워터마크 데이터를 담을 수 있는 장점이 있다. 또한, 일 실시예에 따른 워터마크 데이터의 사이즈가 144bit이고, 그 중 실제 활용 가능한 데이터는 48bit이며, 그 결과 상기 워터마크 데이터를 이용하여 248의 경우의 수를 표현 할 수 있다. 따라서, 상품 표면에 부착되는 라벨에 본 기술을 적용하면, 육안으로 보기에는 동일 라벨로 보이더라도, 모든 상품 마다 고유의 ID를 부여하여 그 ID를 워터마크 데이터로 상기 라벨에 임베딩 하는 것도 가능하다.
결과 이미지(30)를 보고는 워터마크 데이터의 임베딩 여부를 육안으로 인식하기 어렵지만, 본 발명의 몇몇 실시예들에 따른 워터마크 데이터 추출 방법을 실행하는 사용자 단말(40)을 이용하면 결과 이미지(30)에서 워터마크 데이터(10)를 추출할 수 있다. 예를 들어, 사용자 단말(40)에 구비된 카메라를 이용하여 결과 이미지(30)를 촬영하고, 촬영된 결과에 대하여 워터마크 데이터 추출 로직을 실행함으로써, 워터마크 데이터(10)를 추출할 수 있다.
워터마크 데이터(10)는 예를 들어, 표 1의 포맷(format)을 가질 수 있다.
4 bit | 48 bit | 92 bit |
컨트롤 파라미터 | 바디 데이터 | 에러 수정 비트 |
표 1의 컨트롤 파라미터(control parameter)는 바디 데이터의 타입을 가리킬 수 있다. 예를 들어, 사용자 단말(40)이 워터마크 데이터(10)를 추출하여 그 중 48 bit의 바디 데이터를 인식하고, 상기 바디 데이터 및 컨트롤 파라미터를 수납한 컨텐츠 요청을 컨텐츠 서버에 송신할 수 있다. 컨텐츠 서버는 고유 ID를 부여 받은 각각의 컨텐츠를 타입 별로 관리하는 컨텐츠 DB를 저장할 수 있다. 상기 컨텐츠 서버는 상기 바디 데이터에 매칭 되는 ID의 컨텐츠 중 상기 컨트롤 파라미터에 대응 되는 타입의 컨텐츠를 사용자 단말(40)에 제공할 수 있을 것이다.
92 bit의 에러 수정 비트(Error Correction Bit)는 워터마크 데이터(10)가 잘못 추출 될 수 있는 가능성을 보완하기 위한 에러 수정용 코드를 포함할 수 있다. 예를 들어, 상기 에러 수정용 코드는 BCH(Bose-Chaudhuri-Hocquenghem) 코드 일 수 있다.
도 2는 본 발명의 몇몇 실시예들에 따른 워터마크 데이터의 임베딩 방법에 따라 워터마크 데이터가 임베딩된 이미지와 오리지널 이미지의 비교를 위한 도면이다. 도 2에 도시된 바와 같이, 결과 이미지(30)는 오리지널 이미지(20)와 육안상으로는 크게 다른 점이 없다. 그러나, 모노크롬으로 변환 된 결과 이미지(30a)에는 오리지널 이미지의 모노크롬 버전(20a)과 비교하여 노이즈가 도드라진다. 이는, 본 발명의 일 실시예에 따른 워터마크 데이터가 노이즈의 형태로 오리지널 이미지에 임베딩 되기 때문이다. 이와 관련하여, 몇몇 도면들을 참조하여 보다 자세히 설명한다.
워터마크 데이터의 임베딩
이하, 도 3을 참조하여 본 발명의 일 실시예에 따른 워터마크 데이터의 임베딩 방법을 전체적으로 설명한다. 본 실시예에 따른 워터마크 데이터의 임베딩 방법은, 예를 들어 컴퓨팅 장치에 의하여 실행 될 수 있다.
상기 컴퓨팅 장치가 워터마크 데이터를 로드(load)하고(S100), 노이즈 베이스 이미지를 로드(S102)한다. 또한 워터마크 데이터를 담을 오리지널 이미지도 로드(S106)한다. 노이즈 베이스(noise base)는 워터마크 데이터를 담을 일종의 데이터 그릇으로 이해 될 수 있다. 노이즈 베이스는 이미지 파일로 부터 로드 될 수도 있고, 주파수 도메인(frequency domain)의 2차원 매트릭스를 가리키는 데이터의 형태로 로드 될 수도 있다. 또한 일 실시예에서, 주파수 도메인의 매그니튜드 스펙트럼 및 위상 스펙트럼의 형태로 로드 될 수도 있다.
저장된 데이터 워터마크 데이터를 이용하여 상기 노이즈 베이스가 변환 되고(S104), 변환된 노이즈 베이스를 이용하여 오리지널 이미지를 조정함으로써, 워터마크 데이터가 임베드 된 이미지가 생성되고 출력된다(S108, S110). 예를 들어, 상기 워터마크 데이터가 임베드 된 이미지는 이미지 파일의 형태로 출력 되거나, 프린팅 장치에 의하여 종이 등 프린팅 대상에 프린트 될 수 있다. 일 실시예에 따르면, 3D 프린터에 의하여 프린팅 결과물의 외면에 도색되는 형태로 상기 출력이 이뤄질 수도 있다.
도 4를 참조하여, 본 실시예에 따른 워터마크 데이터의 임베딩 방법의 이해를 돕기로 한다. 2차원 이미지인 노이즈 베이스 이미지(50)가 도시된다. 노이즈 베이스 이미지(50)가 워터마크 데이터(10)를 이용하여 변환된 노이즈 베이스 이미지(60)도 도시된다. 오리지널 이미지(20)가 변환된 노이즈 베이스 이미지(60)를 이용하여 조정(S108)된 결과로 워터마크 데이터가 임베딩 된 결과 이미지(30)가 생성된다.
도 3 내지 도 4를 참조하여 설명된 바와 같이, 본 실시예에 따른 임베딩 방법에서는 노이즈 베이스가 핵심적인 역할을 수행한다. 따라서, 노이즈 베이스는 결과 이미지(30)에 대한 분석을 통하여 쉽게 유출되지 않으면서도, 기하학적인 왜곡에 강인하여 워터마크 데이터의 추출 성공률을 높일 수 있도록 구성되어야 한다. 도 5를 참조하여, 본 발명의 몇몇 실시예들에서 사용되는 노이즈 베이스에 대하여 설명한다.
노이즈 베이스는 공간 도메인(Spatial Domain)(53)에서 2차원 이미지(50)의 형태로 표현된다. 널리 알려진 바와 같이, 공간 도메인은 푸리에 변환을 통하여 주파수 도메인(Frequency Domain)으로 변환된다. 주파수 도메인에서 노이즈 베이스는 기 지정된 특정 좌표의 매그니튜드 피크(magnitude peak)를 가지는 2차원 매그니튜드 스펙트럼(51) 및 랜덤 위상(random phase) 스펙트럼(52)으로 표현된다. 랜덤 위상 스펙트럼(52)은 특정 키에 의하여 생성된 랜덤 수를 이용하여 구성된 것이다.
일 실시예에서, 상기 노이즈 베이스는 상기 매그니튜드 피크에 해당하는 영역에서만 0이 아닌 매그니튜드 값을 가지고, 상기 매그니튜드 피크 이외의 영역에서는 모두 0의 매그니튜드 값을 가지는 2차원 매그니튜드 스펙트럼(51)을 가진다. 도 5에는 로그 스케일로 2차원 매그니튜드 스펙트럼(51)이 도시되어 있으므로, 스펙트럼 이미지의 가운데가 낮은 주파수를 의미하고, 외곽으로 나갈수록 높은 주파수를 의미한다. 스펙트럼 이미지의 색상이 밝을 수록 그 점의 좌표에 따른 주파수의 매그니튜드 값이 높은 것을 의미한다.
일 실시예에서, 상기 노이즈 베이스는 상기 매그니튜드 피크에 해당하는 영역에서만 최대 매그니튜드 값을 가지고, 상기 매그니튜드 피크 이외의 영역에서는 모두 최소 매그니튜드 값을 가지는 2차원 매그니튜드 스펙트럼(51)을 가진다. 본 실시예에서는 매그니튜드 피크의 매그니튜드 값과 매그니튜드 피크 이외 영역의 매그니튜드 값의 차이를 극대화 함으로써, 워터마킹 데이터의 추출 시 본 발명의 임베딩 방법에 따른 워터마킹 데이터의 임베딩 흔적이 존재하는지 여부의 탐지 성공률을 높였다.
일 실시예에서, 상기 노이즈 베이스는 복수개의 상기 매그니튜드 피크를 가지는 2차원 매그니튜드 스펙트럼(51)을 가진다. 이 때, 상기 매그니튜드 피크의 개수는 미리 정해진 것으로 한정된다.
주파수 영역을 통해 생성된 노이즈 베이스는 주파수의 특징에 따라 이미지가 일부 손상되더라도 동기화 신호(Synchronization Signal)의 특성은 유지 된다. 따라서, 주파수 영역을 통해 생성된 노이즈 베이스는 스마트폰 카메라 등으로 워터마크 데이터를 인식 하는 데에 있어 기하학적 왜곡을 해결할 수 있는 단서의 기능을 수행한다. 즉, 주파수 영역을 통해 생성된 노이즈 베이스는 워터마크 데이터 추출 과정에서 상기 동기화 신호와 촬영된 이미지와의 유사성을 이용해 Scale, Rotation, Location 등 기하학적 왜곡을 보정할 수 있는 단서를 제공한다.
도 6 및 도 7에 도시된 바와 같이, 상기 매그니튜드 피크는 주파수의 이산성(discreteness)에 따른 단위 주파수들을 표현하는 수평 주파수 축(51i) 및 역시 주파수의 이산성에 따른 단위 주파수들을 표현하는 수직 주파수 축(51j)으로 구성된 평면 상에서, 복수의 점들을 포함할 수 있다. 도 6 및 도 7에는 8개의 매그니튜드 피크(51a 내지 51h)가 도시되어 있다. 도 7을 참조하면, 매그니튜드 피크(51c)는 수평 주파수 축(51i)에서 3개의 단위 주파수(51c-1, 51c-2, 51c-3)에 대응되고, 수직 주파수 축(51j)에서 3개의 단위 주파수(51c-4, 51c-5, 51c-6)에 대응된다.
반면에, 도 8 및 도 9에 도시된 바와 같이, 복수의 매그니튜드 피크(51k 내지 51r)에 포함된 각각의 매그니튜드 피크는 수평축의 제1 주파수 및 수직축의 제2 주파수로 표현되되, 상기 제1 주파수 및 상기 제2 주파수는 주파수의 이산성에 따른 단위 주파수 하나에 대응되는 것일 수도 있다. 도 9에 도시된 바와 같이, 매그니튜드 피크(51k)는 수평 주파수 축(51i)에서 1개의 단위 주파수(51k-1)에 대응되고, 수직 주파수 축(51j)에서도 1개의 단위 주파수(51k-2)에 대응된다. 도 9에는 매그니튜드 스펙트럼 값을 2차원 매트릭스로 표현한 결과, 하나의 원소(element)만 0이 아닌 값을 갖고, 그 외 모든 원소는 0을 갖는 점도 도시되어 있다. 이는, 이미 설명한 실시예인, 노이즈 베이스가 매그니튜드 피크에 해당하는 영역에서만 최대 매그니튜드 값(도 9에서는 '255')을 가지고, 매그니튜드 피크 이외의 영역에서는 모두 최소 매그니튜드 값(도 9에서는 '0')을 가지는 경우를 도시한 것이다.
본 실시예에서, 노이즈 베이스를 생성하기 위한 매그니튜드 스펙트럼 상의 매그니튜드 피크의 좌표는 외부에 유출되지 않는다. 오리지널 이미지에 반영된 후의 워터마킹 데이터에 따라 변환된 노이즈 베이스 만이 외부에 배포되고, 배포 된 상태의 이미지를 처리하더라도 도 10에 도시된 것과 같은 노이즈 베이스 원본은 얻을 수 없다. 이는, 노이즈 베이스 원본을 블록화 한 후, 상기 워터마킹 데이터에 따른 변환을 수행하기 때문이다. 따라서, 본 실시예에 따른 워터마크 데이터 임베딩 방법이 무단 도용되는 것을 방지할 수 있다. 기 지정된 노이즈 베이스 원본을 기반으로 워터마킹 임베딩을 진행하는 경우에 한하여, 워터마크 데이터 추출이 가능하기 때문이다. 이와 관련하여 추후 자세히 설명한다.
노이즈 베이스의 이미지 사이즈가 오리지널 이미지 사이즈에 못 미칠 수 있다. 그렇다 하여, 오리지널 이미지의 특정 영역에만 상기 노이즈 베이스를 반영하면, 이용자가 오리지널 이미지의 촬영 각도도 잘 맞춰야 하므로, 워터마크 데이터 추출 성공률이 떨어질 것이다. 따라서, 도 10에 도시된 바와 같이, 오리지널 이미지의 사이즈를 기준으로, 상기 변환된 노이즈 베이스 이미지를 수평 방향 및 수직 방향 중 적어도 하나의 방향으로 복수 개 연결함으로써, 오리지널 이미지의 최대한 넓은 영역에 노이즈 베이스를 얹음으로써, 이용자가 오리지널 이미지의 어느 부분을 촬영하더라도, 워터마크 데이터의 추출을 성공할 수 있도록 유도한다. 도 10에는 256 x 256 사이즈의 노이즈 베이스(50-1), 256 x 256 사이즈의 노이즈 베이스(50-1)가 수평 방향으로 2개, 수직 방향으로 2개 연결된 노이즈 베이스(50-2), 256 x 256 사이즈의 노이즈 베이스(50-1)가 수평 방향으로 4개, 수직 방향으로 4개 연결된 노이즈 베이스(50-3)가 도시되어 있다.
노이즈 베이스의 사이즈가 커짐에 따라 노이즈 베이스에 임베드 될 수 있는 워터마킹 데이터의 사이즈도 증가한다. 따라서, 본 실시예에 따른 데이터 임베드 방법은 임베드 될 수 있는 데이터 사이즈 측면에서 확장성을 가진다.
이하, 도 11을 참조하여, 노이즈 베이스 원본을 워터마크 데이터를 이용하여 변환하는 방법(S104)을 보다 상세하게 설명한다.
N x N 픽셀(ex. 4 x 4)의 블록 단위로 노이즈 베이스 이미지를 구획화한다(S104-1). 한 블록은 수평과 수직 방향으로 짝수의 픽셀로 구성된 정사각형 모양으로 형성되는 것이 바람직하다. 예를 들어, 한 블록은 4 x 4 사이즈일 수 있다. 이하, 이해의 편의를 돕기 위해 4 x 4 사이즈의 블록을 전제하여 설명한다.
다음으로, 노이즈 베이스 이미지의 각 블록 마다, 블록에 속한 픽셀 값의 평균(M)을 산출한다(S104-2). 그 평균 값(M)이 한계치(예를 들어, 흰색을 가리키는 픽셀 값과 검은색을 가리키는 픽셀 값의 중간 값) 이상인 경우(S104-3), 그 블록의 모든 픽셀은 제1 색상(예를 들어 검은색)으로 단일화 된다(S104-4). 그 평균 값(M)이 한계치 미만인 경우(S104-3), 그 블록의 모든 픽셀은 제2 색상(예를 들어 흰색)으로 단일화 된다(S104-5). 도 12는 도 11을 참조하여 설명한 노이즈 베이스의 블록화 동작(S104-1 내지 S104-7)의 결과로 블록화 된 노이즈 베이스 이미지(55)를 도시한다.
데이터를 삽입하기 전에 노이즈 베이스를 4 x 4로 블록화 하는 데에 3가지의 이유가 있다. 첫째로 흑백의 노이즈 베이스 내에 144bit의 일정하게 삽입하면 일정한 패턴이 생기게 되는데 위 방식으로 블록화를 하고 노이즈 베이스의 색에 따라서 변환시키면 패턴이 생기는 것을 막을 수 있다. 이는 데이터가 삽입된 노이즈가 원본 이미지에 삽입되었을 때 비가시성에 큰 영향을 줄 수 있다.
둘째로, 워터마크 데이터 추출 과정에서의 인식률을 높인다. 1개의 픽셀단위로 데이터가 삽입 된다면 스마트폰 카메라로 인식을 하는 본 기술의 정확성과 속도가 매우 저하될 것이다. 이에 따라 블록화를 수행한다.
셋째로, 노이즈 베이스에 삽입되어 있는 동기화 신호의 특성을 망가뜨리지 않는다. 블록화 작업을 수행하지 않고 데이터를 삽입한다면 노이즈 베이스 자체의 특성, 즉 Synchronization Signal의 특성이 살아있을 수 없다. 노이즈 베이스와 전혀 다른 흑백 이미지가 만들어 질 것이다. 블록화를 함으로써 노이즈 베이스 자체의 특성을 블록 안에 유지시키는 기능을 하게 되고, 이는 노이즈 베이스 전체에 데이터가 삽입되더라도 노이즈 베이스 내의 동기화 신호를 망가뜨리지 않을 수 있다.
다음으로, 블록화 된 노이즈 베이스 이미지를 워터마크 데이터를 이용하여 변환하는 동작을 도 13 내지 도 16을 참조하여 설명한다.
워터마크 데이터가 로드 되고(S104-8), 노이즈 베이스의 각 블록을 순회하면서 워터마크 데이터를 시작 오프셋 부터 2비트씩 임베드 하는 동작이 수행된다. 현재 블록이 흰색인 경우(S104-9), 그 블록의 일부 픽셀을 검은색으로 변환한다(S104-10). 반대로 현재 블록이 검은색인 경우(S104-9), 그 블록의 일부 픽셀을 흰색으로 변환한다(S104-11).
이하, 블록의 일부 픽셀을 변환하는 점에 대하여 보다 자세히 설명한다. 도 14에 따르면, 현재 임베드 해야 하는 2bit가 '01'이고, 현재 블록(55a)은 흰색이고, 블록화 된 노이즈 베이스 이미지(55)의 좌상단의 첫 번째 블록인 상황이다. 도 15는 본 발명의 몇몇 실시예들에서 참조될 수 있는 노이즈 베이스 변환 기준이다. 본 기준에 따르면, 현재 블록이 흰색이고, 임베드 해야 하는 2bit가 '01'이면, 현재 블록의 우상단(2 x 2) 픽셀들을 검은색으로 변환한다. 이러한 기준에 따라, 현재 블록(55a)의 우상단 픽셀들(55a-1)을 검은색으로 변환한 결과가 도 16에 도시 되어 있다.
도 15 내지 도 16을 참조하여 이해 될 수 있듯이, 동일한 픽셀 값을 가지는 하나의 블록은 4개의 픽셀 그룹으로 구성된다. 그리고, 4개의 픽셀 그룹 중 하나는 블록 전체의 픽셀 값과 다른 픽셀 값을 가지도록 변환된다. 예를 들어, 흰색 블록에 대하여는 1개의 픽셀 그룹만 검은색으로 변환된다. 따라서, 각 블록에 대하여 픽셀 그룹의 색상을 블록의 색상과 다른 색상으로 변경함으로써 표현할 수 있는 경우의 수는 4가지가 된다. 이는 2bit로 표현할 수 있는 경우의 수이다. 따라서, 1개 블록 당 2 bit를 임베드 할 수 있다.
각 블록에 대한 2bit의 워터마크 데이터 임베드 동작을 워터마크 데이터가 모두 임베드 될 때까지 노이즈 베이스 이미지의 각 블록을 순회(traverse) 하면서 진행한다(S104-13). 노이즈 베이스 이미지의 순회 순서는 사전 정의 된 것에 따른다. 일 례에 따른 순회 순서는 도 17에 도시되어 있다. 도 17에서 144bit의 워터마크 데이터의 임베드를 위해서는 72개의 4 x 4 블록이 필요한 점이 도시되어 있다. 1개 블록 당 2bit를 임베드 할 수 있는 점을 감안하면, 72개의 블록(58)이 필요한 점이 이해 될 수 있을 것이다.
256 x 256 사이즈의 노이즈 베이스 이미지는 총 4096개의 블록을 포함한다. 72개의 블록(58)을 이용하여 144bit의 워터마크 데이터를 모두 임베드 하고도 블록이 남게 된다. 워터마크 데이터 추출 성공률을 높이기 위하여, 72개의 블록(58)을 이용한 워터마크 데이터 임베딩을 수평 및 수직 방향으로 반복한다. 도 18은 블록화 된 노이즈 베이스 이미지(55)가 워터마크 데이터를 반영하여 변환된 결과(60)를 도시한다.
다시, 도 3으로 돌아가서 설명하면, 변환된 노이즈 베이스 이미지를 이용하여 오리지널 이미지를 조정함으로써, 워터마크 데이터가 임베드 된 이미지를 생성한다(S108). 상기 조정은, 상기 오리지널 이미지의 제1 픽셀의 R 채널값, G채널값 및 B채널값이 모두 한계치를 초과하거나 모두 한계치에 미달하는 경우에 한하여, 상기 제1 픽셀을 조정하는 것을 포함한다. 이 때, 상기 오리지널 이미지의 상기 현재 픽셀을 조정하는 것은 상기 변환된 노이즈 베이스 이미지의 제2 픽셀이 흰색인 경우 상기 제1 픽셀을 제1 조정하고, 상기 제2 픽셀이 검은색인 경우 상기 제1 픽셀을 상기 제1 조정과 상이한 규칙으로 제2 조정하는 단계를 포함한다. 예를 들어, 상기 제1 조정은 상기 제1 픽셀의 R채널값을 감소시키고, G채널값을 증가시키며, B채널값을 감소시키는 것이고, 상기 제2 조정은 상기 제1 픽셀의 R채널값을 증가시키고, G채널값을 감소시키며, B채널값을 증가시키는 것이다.
상기 조정에 있어서, α, β, γ 세 가지 상수의 값이 활용된다. 상기 세 가지 상수의 값은, 워터마크 데이터 추출 프로세스에서, 이미지의 노이즈를 극대화 하기 위하여 모노크롬화 할 때 사용될 비율이다. 상기 α, β, γ 세 가지 상수의 값은 이미지 출력 매체에 따라 다양하게 세팅 될 수 있다. 상기 이미지 출력 매체는 종이, 플라스틱, 금속 등의 다양한 예가 있을 수 있다. 예를 들어, 상기 이미지 출력 매체가 종이인 경우 상기 α, β, γ 세 가지 상수의 값은 α1, β1, γ1 으로 세팅 될 수 있고, 상기 이미지 출력 매체가 플라스틱인 경우 상기 α, β, γ 세 가지 상수의 값은 α2, β2, γ2 로 세팅 될 수 있다.
(R,G,B = 갱신되기 전 원본 R 채널, G 채널, B 채널 각각의 픽셀 값, R',G',B'= 갱신 후의 R 채널, G 채널, B 채널 각각의 픽셀 값)을 전제하여, 아래의 조정 규칙을 고려할 수 있다.
제1 경우: 노이즈의 픽셀 값이 0이고 원본 이미지의 픽셀 값이 R,G,B 세 채널 모두 250보다 클 때, R' = R(1 - α), G'= G(1 + β), B'= B(1 - γ)
제2 경우: 노이즈의 픽셀 값이 0이고 원본 이미지의 픽셀 값이 R,G,B 세 채널 모두 250보다 작을 때, R' = R(1 - α), G'= G(1 + β), B'= B(1 - γ)
제3 경우: 노이즈의 픽셀 값이 255이고 원본 이미지의 픽셀 값이 R,G,B 세 채널 모두 250보다 클 때 , R' = R(1 + α), G'= G(1 - β), B'= B(1 + γ)
제4 경우: 노이즈의 픽셀 값이 255이고 원본 이미지의 픽셀 값이 R,G,B 세 채널 모두 250보다 작을 때, R' = R(1 + α), G'= G(1 - β), B'= B(1 + γ)
노이즈를 원본 이미지에 삽입하는 데에 사용된 α, β, γ 세 가지의 상수는 원본 이미지에 따라 달라진다. 본 기술은 사람의 육안으로 식별하기 힘들다는 특성을 가지고 있다. 이를 충족시키기 위해 노이즈가 삽입될 원본 이미지의 픽셀 값에 따라 α, β, γ값은 다양하게 달라져야 한다.
워터마크 데이터의 추출
이하, 본 발명의 다른 실시예에 다른 워터마크 데이터의 추출 방법에 대하여 도 19 내지 도 24를 참조하여 설명한다. 본 실시예에 따른 워터마크 데이터의 추출 방법은 상기 설명된 본 발명의 일 실시예에 따른 워터마크 데이터의 임베드 방법에 의하여 임베드 된 워터마크 데이터에 대하여만 적용 가능하다. 먼저, 도 19를 참조하여 설명한다.
본 실시예에 따른 워터마크 데이터의 추출 방법은 촬영 이미지를 제공 받는 것에 의하여 시작된다(S200).
만약 현존하는 디지털 워터마킹 기술과 같이 워터마크가 삽입된 디지털 이미지 파일 그대로를 가지고 PC상에서 워터마크를 추출한다면 임베드 과정을 정확히 역으로 수행하면 워터마크를 추출할 수 있다. 하지만, 본 발명의 기술은 스마트폰 카메라 등 이동 단말의 카메라를 이용하여 워터마크를 인식하는 것을 지원하므로, 워터마크를 추출하기 전 많은 이미지 전처리 과정이 필요하다. 도 20을 참조하면, 스마트 폰(40)의 사용자는 워터마킹 데이터를 추출하기 위한 특별한 주의를 기울이지 않고 워터마킹 데이터가 임베드 된 이미지가 프린트 된 매체(30')를 촬영할 수 있다. 본 실시예에 따른 워터마크 데이터 추출 방법은 이러한 경우에도 워터마크 데이터의 추출이 가능하도록 개발 되었다.
전처리 과정은 카메라에 찍힌 사진 내에 워터마크 존재여부를 판단할 물체의 위치, 크기, 회전여부, 밝기, 파손여부 등 많은 변수 속에서도 높은 인식률 유지가 가능하게 만든다. 이 과정에서 임베드 과정에서 삽입한 동기화 신호를 이용해 워터마크의 존재 여부를 가려내고 데이터를 추출하기 최적의 조건으로 이미지를 변형한다.
상기 전처리 과정을 본격적으로 수행하기 전에, 사전 보정이 수행될 수 있다. 예를 들어, 워터마크의 존재여부를 판별할 물체를 스마트폰 카메라를 이용해 비추었을 때 스마트폰 화면에 들어오는 프리뷰를 1920x1080 크기로 캡쳐 한다. 이 후, 캡쳐한 이미지의 모든 픽셀 값들을 RGB형태로 변경한다. 본 발명의 실시예들은 RGB를 기반으로 작업을 수행하기 때문이다.
다음으로, 사용자가 카메라로 물체를 비출 때 물체가 화면의 정중앙에 오도록 비출 가능성이 매우 높기 때문에 불필요한 연산을 줄여주기 위해 1024x1024 크기의 이미지로 정중앙 영역을 추출한다.
다음으로, 추출한 정사각형의 이미지를 256x256크기로 축소한다.
다음으로, 256x256 크기로 축소된 이미지를 한번의 Deblur 과정을 거쳐 선명하게 만들어준다.
이상 설명한 사전 보정이, 제공(S200) 된 촬영 이미지에 대하여 수행될 수 있다.
다음으로, 노이즈 베이스 이미지가 로드 되고(S205), 사전 보정 이후의 촬영 이미지와 노이즈 베이스의 주파수 도메인 상의 프로세싱을 이용한 비교를 통하여, 제1 유사도, 회전각 및 스케일이 확인된다(S210). 본 동작과 관련하여 도 21을 참조하여 보다 자세히 설명한다.
먼저, 촬영 이미지를 주파수 도메인으로 변환하고(S210-1), 2D 매그니튜드 스펙트럼의 이미지(MS2)를 생성한다(S210-2). 또한, 상기 촬영 이미지와 비교 될 노이즈 베이스의 2D 매그니튜드 스펙트럼의 이미지(MS1)도 준비한다(S210-3). 노이즈 베이스의 2D 매그니튜드 스펙트럼의 이미지(MS1)는 기 저장된 노이즈 베이스의 이미지로부터 생성된 것이거나, 기 저장된 데이터에서 단순히 조회된 것일 수 있다.
다음으로, 노이즈 베이스의 2D 매그니튜드 스펙트럼의 이미지(MS1), 촬영 이미지의 2D 매그니튜드 스펙트럼의 이미지(MS2)를 LogPolar 변환한다(S210-5). LogPolar 변환은 2차원 회전과 크기 변환에 불변한 특성을 가지게 하기 때문에, LogPolar 변환을 사용함으로써, 회전 및 크기 측면에서 신뢰 될 수 있는 촬영 이미지의 흠결을 치유하는 효과를 얻을 수 있다.
다음으로, LogPolar 변환 결과로 만들어진 이미지를 각각 주파수 도메인으로 변환하고(S210-5), 주파수 도메인으로의 변환 결과를 곱한 후(S210-6), 촬영 이미지에 대한 주파수 도메인으로의 변환 결과(f_LP2)의 매그니튜드 매트릭스로 나누어 제1 결과 매트릭스를 생성한다(S210-7). 제1 결과 매트릭스는 촬영 이미지 내에 노이즈 베이스가 얼마나 포함되어 있는지, 그 비율을 가리키는 매트릭스로 이해 될 수 있다. 또한, 제1 결과 매트릭스는 상기 촬영 이미지와 상기 노이즈 베이스의 이미지 사이의 유사도를 가리키는 매트릭스로도 이해 될 수 있다.
다음으로, 제1 결과 매트릭스를 공간 도메인으로 변환하여 제1 참조 이미지를 생성한다(S210-8). 상기 제1 참조 이미지를 이용하여 제1 유사도를 연산한다(S210-9). 제1 유사도는 상기 제1 참조 이미지의 픽셀 값들 중 최대 값이다. 그리고, 회전각은 픽셀 값이 최대 값인 픽셀의 X좌표이고, 스케일은 상기 픽셀의 Y좌표이다(S210-9).
다시 도 19를 참조하여 설명한다. 상기 제1 유사도가 기준치에 못 미치면, 워터마크 데이터가 임베드 되지 않은 이미지로 보고 초기 동작으로 돌아간다(S220). 상기 제1 유사도가 기준치 이상이면, 구해진 회전각, 스케일을 이용하여 촬영 이미지에 대한 전처리를 수행한다(S230). 그 결과는 도 22를 참조하여 이해 될 수 있을 것이다. 상기 전처리의 결과, 촬영된 이미지의 방향(orientation)이 정합되고, 크기도 노이즈 베이스와의 비교에 부합하도록 조정된다.
다시 도 19를 참조하여 설명한다.
조정 된 후의 촬영 이미지를 주파수 도메인에서 처리하여, 워터마킹 추출 기준점을 결정하기 위한 동작이 수행된다. 먼저, 전처리 된 촬영 이미지(보정 이미지)와 노이즈 베이스 이미지를 주파수 도메인에서 처리하고, 그 처리 결과를 가리키는 제2 결과 매트릭스를 공간 도메인으로 변환하여 제2 참조 이미지를 생성한다(S240).
도 23을 참조하여 제2 참조 이미지의 생성 동작(S240)을 설명한다. 제2 참조 이미지의 생성 동작은 상기 제1 참조 이미지의 생성 동작과 비교하여 LogPolar 변환을 수행하지 않는 점을 제외하고는 유사하다. 보정 이미지의 주파수 도메인으로의 변환(f2)(S240-1), 노이즈 베이스의 주파인 도메인 매트릭스(f1) 조회 또는 생성(S240-2), f1과 f2를 곱한 매트릭스 R' 생성(S240-3), f2의 매그니튜드 매트릭스로 R'를 나누어 제2 결과 매트릭스를 만드는 것(S240-4), 상기 제2 결과 매트릭스를 공간 도메인으로 변환하여 제2 참조 이미지를 생성하는 것(S240-5)이 수행된다. 상기 제2 결과 매트릭스는 보정 이미지 내에 노이즈 베이스가 얼마나 포함되어 있는지, 그 비율을 가리키는 매트릭스로 이해 될 수 있다.
제2 참조 이미지를 분석하면, 보정 이미지와 노이즈 베이스 이미지의 유사도 및 보정 이미지 내의 노이즈 베이스 위치에 대한 정보를 얻을 수 있다. 즉, 제2 참조 이미지의 픽셀 값 중 가장 큰 픽셀 값을 가지는 기준 픽셀의 좌표가 워터마크 데이터 추출 위치인 기준점이고, 상기 기준 픽셀의 픽셀 값이 제2 유사도이다(S250). 상기 제2 유사도가 기준에 미달하면, 워터마크 데이터가 존재하지 않는 것으로 보고 다시 워터마크 데이터 추출 초기 동작으로 돌아간다(S260).
다음으로, 워터마킹 데이터 추출 기준점을 기준으로 워터마킹 데이터를 추출한다(S270). 도 24를 참조하여 설명한다. 먼저 보정 이미지를 모노크롬 화 한다(S270-1). 이 때, 노이즈를 원본 이미지에 삽입하는 데에 사용된 α, β, γ 세 가지의 상수를 동일하게 사용한다. 그 결과 보정 이미지 내의 노이즈 표현이 극대화 될 것이다.
그리고, 모노크롬화 된 보정 이미지를 2 x 2 픽셀 단위로 픽셀 값의 평균을 구하고, 그 평균 값을 기준치와 비교하여 2 x 2 픽셀 단위로 모든 픽셀을 흰색 또는 검은색 중 어느 하나로 일원화 한다(S270-2). 다음으로, 4 x 4 픽셀 단위로 블록화 된 노이즈 베이스 이미지를 참조하여, 모노크롬 화 된 보정 이미지에 대하여 각 4 x 4 블록 별로 순회 하면서 워터마킹 데이터를 추출 한다(S270-3). 블록 당 2bit를 추출하는 동작은 도 14 내지 도 16을 참조하여 설명한 임베딩 과정의 역순으로 이해될 수 있다. 또한, 각 블록을 순회하는 순서는 임베딩 과정의 블록 순회 순서와 동일하게 한다.
상기 추출된 데이터를 연결(concatenation) 하면, 전체 워터마크 데이터가 생성된다.
지금까지 설명된 본 발명의 실시예에 따른 방법들은 컴퓨터가 읽을 수 있는 코드로 구현된 컴퓨터프로그램의 실행에 의하여 수행될 수 있다. 상기 컴퓨터프로그램은 인터넷 등의 네트워크를 통하여 제1 컴퓨팅 장치로부터 제2 컴퓨팅 장치에 전송되어 상기 제2 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 제2 컴퓨팅 장치에서 사용될 수 있다. 상기 제1 컴퓨팅 장치 및 상기 제2 컴퓨팅 장치는, 서버 장치, 클라우드 서비스를 위한 서버 풀에 속한 물리 서버, 데스크탑 피씨와 같은 고정식 컴퓨팅 장치를 모두 포함한다.
상기 컴퓨터프로그램은 DVD-ROM, 플래시 메모리 장치 등의 기록매체에 저장된 것일 수도 있다.
본 발명의 실시예에 따른 워터마크 데이터의 임베딩 및 추출 방법은 도 25에 도시된 것과 같이 바라보는 방향에 따라 서로 다른 노이즈가 인식 되는 형태로 변형 되어 실시 될 수도 있다.
이하, 본 발명의 다른 실시예에 다른 데이터 임베딩 장치의 구성 및 동작을 도 26을 참조하여 설명하기로 한다. 도 26에 도시된 바와 같이, 본 실시예에 따른 데이터 임베딩 장치(300)는 메모리(RAM)(330), 메모리(330)에 로드 된 데이터 임베딩 소프트웨어 오퍼레이션을 실행하는 이미지 프로세서(320) 및 스토리지(340)를 포함한다. 일 실시예에서, 임베딩 장치(300)는 이미지 센서(310), 네트워크 인터페이스(370), 시스템 버스(350) 및 프린터 인터페이스(360)를 더 포함할 수 있다.
스토리지(340)는 도 1 내지 도 18을 참조하여 설명한 데이터 임베딩 방법을 소프트웨어 형태로 구현한 데이터 임베딩 소프트웨어의 실행 파일(바이너리 파일)(342)을 저장한다. 데이터 임베딩 소프트웨어의 실행 파일(342)은 버스(350)를 통해 메모리(330)에 로드 될 수 있다. 도 26에는 메모리(330)에 로드 된 데이터 임베딩 소프트웨어의 오퍼레이션(332)이 도시되어 있다.
스토리지(340)는 노이즈 베이스 데이터(341)를 더 저장할 수 있다. 일 실시예에서, 스토리지(340)는 노이즈 베이스 데이터(341)를 저장하되, 암호화 된 형태로 저장하여, 외부에 노이즈 베이스 원본이 유출 되는 것을 방지할 수 있다. 일 실시예에서, 스토리지(340)는 데이터 임베딩 소프트웨어 실행 파일 내에 리소스(resource)의 형태로 노이즈 베이스 데이터를 포함시켜, 외부에 노이즈 베이스 원본이 유출 되는 것을 방지할 수도 있다.
데이터 임베딩 장치(300)는 워터마킹 데이터를 네트워크 인터페이스(370)를 통하여 외부 장치로부터 수신하거나, 키보드, 마우스 등 입력부(미도시)를 통하여 사용자로부터 직접 입력 받거나, 스토리지(340)에 저장된 워터마킹 데이터(미도시)를 리드(read)할 수 있다. 데이터 임베딩 장치(300)는 상기 워터마킹 데이터를 임베드 할 대상인 오리지널 이미지를, 대상 물체를 촬영하는 이미지 센서(310)로부터 얻거나, 네트워크 인터페이스(370)를 통하여 외부 장치로부터 수신하거나, 스토리지(340)에 저장된 워터마킹 데이터(미도시)를 리드(read)할 수 있다.
데이터 임베딩 장치(300)는 상기 워터마킹 데이터 및 상기 오리지널 이미지를 데이터 임베딩 소프트웨어에 입력하여 산출 된 결과물 이미지를 네트워크 인터페이스(370)를 통하여 외부 장치에 송신하거나, 디스플레이 장치(미도시)에 디스플레이 하거나, 프린터 인터페이스(360)를 통해 연결된 프린팅 장치를 통하여 프린트 할 수 있다.
본 실시예에 따른 데이터 임베딩 장치(300)는, 예를 들어 컴퓨팅 장치이거나, 프린팅 장치일 수 있다. 데이터 임베딩 장치(300)가 프린팅 장치인 경우, 데이터 임베딩 장치(300)는 프린터 인터페이스(360) 대신 프린팅 기능의 수행을 위한 구성요소들을 포함할 수 있다.
이하, 본 발명의 다른 실시예에 다른 데이터 디코딩 장치의 구성 및 동작을 도 27을 참조하여 설명하기로 한다. 본 명세서에서 워터마킹 데이터의 디코딩과 워터마킹 데이터의 추출은 실질적으로 동일한 동작을 가리킨다. 도 27에 도시된 바와 같이, 본 실시예에 따른 데이터 디코딩 장치(400)는 메모리(RAM)(430), 메모리(430)에 로드 된 데이터 디코딩 소프트웨어 오퍼레이션을 실행하는 이미지 프로세서(420) 및 스토리지(440)를 포함한다. 일 실시예에서, 디코딩 장치(400)는 이미지 센서(410), 네트워크 인터페이스(470), 시스템 버스(350) 및 워터마킹 데이터 해석 프로세서(460)를 더 포함할 수 있다.
스토리지(440)는 도 1 내지 도 18을 참조하여 설명한 데이터 추출 방법을 소프트웨어 형태로 구현한 데이터 디코딩 소프트웨어의 실행 파일(바이너리 파일)(442)을 저장한다. 데이터 디코딩 소프트웨어의 실행 파일(442)은 버스(450)를 통해 메모리(430)에 로드 될 수 있다. 도 27에는 메모리(430)에 로드 된 데이터 디코딩 소프트웨어의 오퍼레이션(432)이 도시되어 있다.
스토리지(440)는 노이즈 베이스 데이터(441)를 더 저장할 수 있다. 일 실시예에서, 스토리지(440)는 노이즈 베이스 데이터(441)를 저장하되, 암호화 된 형태로 저장하거나, 데이터 임베딩 소프트웨어 실행 파일 내에 리소스(resource)의 형태로 노이즈 베이스 데이터를 포함시켜, 외부에 노이즈 베이스 원본이 유출 되는 것을 방지할 수 있다.
데이터 디코딩 장치(400)는 워터마킹 데이터가 임베딩 된 이미지가 프린트 된 대상 물체를 촬영하는 이미지 센서(410)로부터 촬영 이미지의 데이터를 얻거나, 네트워크 인터페이스(470)를 통하여 외부 장치로부터 수신하거나, 스토리지(440)에 저장된 촬영 이미지의 데이터를 얻을 수 있다. 상기 촬영 이미지의 데이터는 시스템 버스(450)를 통하여 메모리(430)에 로드 되고, 데이터 임베딩 소프트웨어 오퍼레이션(432)의 실행 시 참조된다.
데이터 디코딩 장치(400)는 데이터 임베딩 소프트웨어 오퍼레이션(432)의 실행 결과로 추출된 워터마크 데이터를 디스플레이(미도시)에 표시하거나, 네트워크 인터페이스(470)를 통하여 외부 장치에 송신하거나, 스토리지(440)에 저장할 수 있다.
일 실시예에서, 데이터 디코딩 장치(400)는 상기 추출된 워터마크 데이터를 이용한 프로세스를 수행하는 워터마킹 데이터 해석 프로세서(460)를 포함할 수 있다. 예를 들어, 상기 워터마크 데이터의 바디 데이터를 추출하고(표 1 참조), 상기 바디 데이터 및 컨트롤 파라미터(표 1 참조)를 수납한 컨텐츠 요청을 네트워크 인터페이스(470)를 통하여 컨텐츠 서버(미도시)에 송신할 수 있다. 데이터 디코딩 장치(400)의 디스플레이 장치(미도시)는 상기 컨텐츠 서버로부터 상기 컨텐츠 요청에 대한 응답으로서 수신된 컨텐츠를 디스플레이 할 수 있다.
본 실시예에 따른 데이터 디코딩 장치(400)는, 예를 들어 카메라가 구비된 이동 단말일 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.
Claims (25)
- 워터마크 데이터를 오리지널 이미지에 임베딩(embedding) 하는 방법에 있어서,
노이즈 베이스 이미지를 M x M 픽셀을 가진 블록 단위로 구성하는 단계;
상기 각각의 블록 별로, 블록에 속한 모든 픽셀의 픽셀값을 단일화 하는 단계;
상기 각각의 블록을 순회 하면서 상기 워터마크 데이터를 반영하여 상기 각각의 블록의 일부 픽셀의 픽셀값을 수정함으로써, 상기 노이즈 베이스 이미지를 변환하는 단계; 및
상기 변환된 노이즈 베이스 이미지를 이용하여 상기 오리지널 이미지를 조정하는 단계를 포함하는,
데이터 임베딩 방법. - 제1 항에 있어서,
상기 M X M 픽셀은 4 X 4인 것인,
데이터 임베딩 방법. - 제1 항에 있어서,
상기 모든 픽셀의 픽셀 값을 단일화 하는 단계는,
기 설정된 기준에 따라 상기 블록에 속한 모든 픽셀이 제1 색 또는 제2 색 중 어느 하나로 변환 되는 단계를 포함하는,
데이터 임베딩 방법. - 제1 항에 있어서,
상기 변환된 노이즈 베이스 이미지를 이용하여 상기 오리지널 이미지를 조정하는 단계는,
상기 오리지널 이미지의 제1 픽셀의 R 채널값, G채널값 및 B채널값이 모두 한계치를 초과하거나 모두 한계치에 미달하는 경우에 한하여, 상기 제1 픽셀을 조정하는 단계를 포함하되,
상기 제1 픽셀을 조정하는 단계는,
상기 변환된 노이즈 베이스 이미지의 제2 픽셀이 제1 색인 경우 상기 제1 픽셀을 제1 조정하고, 상기 제2 픽셀이 제2 색인 경우 상기 제1 픽셀을 상기 제1 조정과 상이한 규칙으로 제2 조정하는 단계를 포함하고,
상기 제1 픽셀과 상기 제2 픽셀은 이미지 내 위치 기준으로 대응되는 것인,
데이터 임베딩 방법. - 워터마크 데이터가 임베딩 된 이미지인 촬영 이미지로부터 워터마크 데이터를 추출하는 데이터 추출 방법에 있어서,
상기 촬영 이미지를 노이즈 베이스와 비교하는 주파수 영역의 프로세스를 수행함으로써, 상기 촬영 이미지에 상기 노이즈 베이스가 포함되었는지를 가리키는 2차원의 제2 결과 매트릭스를 생성하는 단계;
상기 제2 결과 매트릭스를 공간 도메인(spatial domain)으로 변환하여 제2 참조 이미지를 생성하는 단계;
상기 제2 참조 이미지를 이용하여, 상기 촬영 이미지에서 상기 워터마크 데이터의 추출 위치인 기준점을 결정하는 단계; 및
상기 노이즈 베이스 이미지를 참조하여, 상기 촬영 이미지의 기준점으로부터 상기 워터마크 데이터를 추출하는 단계를 포함하는,
데이터 추출 방법. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180078137A KR101960290B1 (ko) | 2018-07-05 | 2018-07-05 | 워터마크 데이터의 임베딩 및 추출 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180078137A KR101960290B1 (ko) | 2018-07-05 | 2018-07-05 | 워터마크 데이터의 임베딩 및 추출 방법 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170062500A Division KR101877372B1 (ko) | 2017-05-19 | 2017-05-19 | 워터마크 데이터의 임베딩 및 추출 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180127261A KR20180127261A (ko) | 2018-11-28 |
KR101960290B1 true KR101960290B1 (ko) | 2019-03-21 |
Family
ID=64561519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180078137A KR101960290B1 (ko) | 2018-07-05 | 2018-07-05 | 워터마크 데이터의 임베딩 및 추출 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101960290B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210118704A (ko) * | 2020-03-23 | 2021-10-01 | 스냅태그 주식회사 | 워터마크 데이터의 임베딩 및 추출 방법 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102347288B1 (ko) * | 2020-03-23 | 2022-01-05 | 스냅태그 주식회사 | 워터마크 데이터의 임베딩 및 추출 방법 |
KR102579261B1 (ko) * | 2021-01-06 | 2023-09-15 | 스냅태그 주식회사 | 워터마크 데이터의 임베딩 및 추출 방법 |
CN115222575B (zh) * | 2022-06-06 | 2023-11-24 | 苏州科技大学 | 利用频率域系数比值的矢量数据水印嵌入和提取方法 |
KR102679321B1 (ko) * | 2023-08-09 | 2024-06-28 | 스냅태그 주식회사 | 워터마크 임베딩 방법 및 그 시스템 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020157005A1 (en) * | 2001-04-20 | 2002-10-24 | Brunk Hugh L. | Including a metric in a digital watermark for media authentication |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
KR100457249B1 (ko) * | 2002-10-14 | 2004-11-16 | (주)디지탈이노텍 | 기하학적 변형에 대한 저항성을 가진 부수 정보를 이용한워터마킹 기법 |
US9892478B2 (en) | 2015-03-06 | 2018-02-13 | Digimarc Corporation | Digital watermarking applications |
DE102015004485B4 (de) | 2015-04-07 | 2016-12-15 | Rosenberger Hochfrequenztechnik Gmbh & Co. Kg | Verfahren zum Herstellen einer Steckverbinderanordnung |
KR20170024845A (ko) | 2015-08-26 | 2017-03-08 | 현대모비스 주식회사 | 전동 컴프레서의 급유시스템 |
KR20170024844A (ko) | 2015-08-26 | 2017-03-08 | 엘지전자 주식회사 | 이동 로봇 및 이의 제어방법 |
-
2018
- 2018-07-05 KR KR1020180078137A patent/KR101960290B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020157005A1 (en) * | 2001-04-20 | 2002-10-24 | Brunk Hugh L. | Including a metric in a digital watermark for media authentication |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210118704A (ko) * | 2020-03-23 | 2021-10-01 | 스냅태그 주식회사 | 워터마크 데이터의 임베딩 및 추출 방법 |
KR102435876B1 (ko) * | 2020-03-23 | 2022-08-24 | 스냅태그 주식회사 | 워터마크 데이터의 임베딩 및 추출 방법 |
KR20220122575A (ko) * | 2020-03-23 | 2022-09-02 | 스냅태그 주식회사 | 워터마크 데이터의 임베딩 및 추출 방법 |
KR102564641B1 (ko) * | 2020-03-23 | 2023-08-08 | 스냅태그 주식회사 | 워터마크 데이터의 임베딩 및 추출 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20180127261A (ko) | 2018-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101877372B1 (ko) | 워터마크 데이터의 임베딩 및 추출 방법 | |
KR101960290B1 (ko) | 워터마크 데이터의 임베딩 및 추출 방법 | |
US11057539B2 (en) | Method of embedding watermark data in an image by adjusting a pixel when color channel values are above or below a threshold and based on a pixel of a transformed noise-based image being white or black | |
Fang et al. | Screen-shooting resilient watermarking | |
US9684941B2 (en) | Determining pose for use with digital watermarking, fingerprinting and augmented reality | |
CN110766594B (zh) | 信息隐藏方法及装置、检测方法、装置及防伪溯源方法 | |
KR102564641B1 (ko) | 워터마크 데이터의 임베딩 및 추출 방법 | |
CN110326279B (zh) | 电子水印嵌入装置、电子水印检测装置、电子水印嵌入方法、电子水印检测方法、存储介质 | |
KR20240093440A (ko) | 워터마크 데이터의 임베딩 및 추출 방법 | |
CN110210467B (zh) | 一种文本图像的公式定位方法、图像处理装置、存储介质 | |
CN112070648A (zh) | 水印嵌入、提取方法、装置及电子设备 | |
CN108596817B (zh) | 一种水印数据的嵌入及提取方法 | |
KR20230132761A (ko) | 워터마크 데이터의 임베딩 및 추출 방법 | |
US8630444B2 (en) | Method for embedding messages into structure shapes | |
Villán et al. | Tamper-proofing of electronic and printed text documents via robust hashing and data-hiding | |
KR102180924B1 (ko) | Qr 코드를 이용한 디지털 워터마크 삽입 및 추출 시스템 및 방법 | |
CN110955889A (zh) | 基于数字指纹的电子文档溯源方法 | |
Thongkor et al. | Robust image watermarking for camera-captured image using image registration technique | |
KR101038108B1 (ko) | 위변조 검증용 이미지파일 생성방법 및 이미지파일의 위변조 검증방법 | |
CN112004148B (zh) | 视频处理方法、装置、计算机设备及存储介质 | |
KR102679321B1 (ko) | 워터마크 임베딩 방법 및 그 시스템 | |
CN113344763B (zh) | 面向屏幕拍照的基于jnd的鲁棒水印算法 | |
US20070297684A1 (en) | Data Conversion Apparatus, Data Conversion Method, and Data Conversion System | |
JP2010081214A (ja) | 文書特徴量抽出装置及び方法 | |
JP2005301713A (ja) | 帳票画像の地紋除去方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |