KR102579261B1 - Method for embedding and extraction of watermarking data - Google Patents

Method for embedding and extraction of watermarking data Download PDF

Info

Publication number
KR102579261B1
KR102579261B1 KR1020210001389A KR20210001389A KR102579261B1 KR 102579261 B1 KR102579261 B1 KR 102579261B1 KR 1020210001389 A KR1020210001389 A KR 1020210001389A KR 20210001389 A KR20210001389 A KR 20210001389A KR 102579261 B1 KR102579261 B1 KR 102579261B1
Authority
KR
South Korea
Prior art keywords
pattern
payload
weight
pixel
pixel value
Prior art date
Application number
KR1020210001389A
Other languages
Korean (ko)
Other versions
KR20220099304A (en
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 스냅태그 주식회사
Priority to KR1020210001389A priority Critical patent/KR102579261B1/en
Publication of KR20220099304A publication Critical patent/KR20220099304A/en
Priority to KR1020230121087A priority patent/KR20230132761A/en
Application granted granted Critical
Publication of KR102579261B1 publication Critical patent/KR102579261B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/30Noise filtering
    • 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
    • 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/0065Extraction of an embedded watermark; Reliable detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/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
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3225Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document
    • H04N2201/3233Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document of authentication information, e.g. digital signature, watermark

Landscapes

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

Abstract

워터마크 데이터의 임베딩(embedding) 및 추출 방법이 제공된다. 본 발명의 일 실시예에 따른 워터마크 데이터 임베딩 방법은 페이로드가 내재된 페이로드 패턴에 제1 가중치를 적용하는 단계; 동기화 데이터가 내재된 동기화 패턴에 제2 가중치를 적용하는 단계; 및 상기 제1 가중치가 적용된 페이로드 패턴과 상기 제2 가중치가 동기화 패턴을 결합하여, 상기 페이로드와 상기 동기화 데이터가 내재된 워터마크 패턴을 생성하는 단계; 및 상기 워터마크 패턴을 이용하여 상기 오리지널 이미지를 조정하여 상기 오리지널 이미지 내에 상기 페이로드와 상기 동기화 데이터를 임베딩하는 단계를 포함한다.Methods for embedding and extracting watermark data are provided. A watermark data embedding method according to an embodiment of the present invention includes applying a first weight to a payload pattern in which the payload is embedded; applying a second weight to a synchronization pattern in which synchronization data is embedded; and combining a payload pattern to which the first weight is applied and a synchronization pattern to which the second weight is applied, thereby generating a watermark pattern in which the payload and the synchronization data are embedded. and embedding the payload and the synchronization data within the original image by adjusting the original image using the watermark pattern.

Description

워터마크 데이터의 임베딩 및 추출 방법{METHOD FOR EMBEDDING AND EXTRACTION OF WATERMARKING DATA}Method for embedding and extracting watermark data {METHOD FOR EMBEDDING AND EXTRACTION OF WATERMARKING DATA}

본 발명은 워터마크 데이터의 임베딩(embedding) 및 추출 방법에 관한 것이다. 보다 자세하게는 인간의 시각으로는 인식되지 않으나, 이미지 프로세싱을 통하여 추출될 수 있는 방식으로 워터마크 데이터를 이미지에 임베딩 하고, 그렇게 임베딩 된 워터마크 데이터를 이미지에서 추출하는 방법에 관한 것이다.The present invention relates to methods for embedding and extracting watermark data. More specifically, it relates to a method of embedding watermark data in an image in a way that is not recognized by human vision but can be extracted through image processing, and extracting the embedded watermark data from the image.

워터마킹 기술을 활용하면, 원본에는 눈에 잘 보이지 않다가, 무단 복제 시 드러나는 워터마크 데이터 또는 워터마킹 텍스처(texture)를 오리지널 이미지에 삽입할 수 있다. 이러한 워터마킹 기술은 진품 인증 또는 진본 인증 등의 용도로 널리 활용되고 있다. Using watermarking technology, watermarking data or watermarking texture can be inserted into the original image, which is not visible in the original, but becomes visible during unauthorized copying. This watermarking technology is widely used for purposes such as authenticating or authenticating the product.

워터마크 데이터는 임베딩 하고자 하는 데이터가 기록되는 페이로드(payload) 및 상기 페이로드의 위치를 가리키는 동기화 데이터를 포함한다. 이미지에 삽입되는 워터마킹 기술에서는 이러한 페이로드와 동기화 데이터를 정확하게 추출하는 것이 중요하다. 특히, 스마트폰 등과 같은 촬영 장치를 이용하여 이미지를 촬영하고, 상기 촬영된 이미지에 내재된 페이로드를 인식하기 위한 기술에서는, 페이로드의 위치를 알려주는 동기화 데이터를 인식하는 것이 선행되어야 한다.Watermark data includes a payload in which data to be embedded is recorded and synchronization data indicating the location of the payload. In watermarking technology inserted into images, it is important to accurately extract these payloads and synchronization data. In particular, in technology for capturing images using a photographing device such as a smartphone and recognizing the payload inherent in the captured image, recognition of synchronization data that indicates the location of the payload must be preceded.

그런데 페이로드와 동기화 데이터가 같이 이미지 내에 삽입되는 경우, 페이로드 또는 동기화 데이터 중에 어느 하나의 특성이 열화되는 현상이 발생할 수 있다. 이 경우, 이미지 내의 데이터를 인식하는 과정에서, 페이로드 또는 동기화 데이터를 정확하게 인식하기가 어려울 수 있다. 또한, 페이로드와 동기화 데이터가 하나의 영역(예컨대, 픽셀)에서 겹쳐서 임베딩 되는 경우, 이미지 내의 데이터를 인식하는 과정에서 특정 영역의 데이터가 페이로드, 동기화 데이터 중에서 어느 것에 해당하는지를 구별하기가 어려울 수 있다.However, when the payload and synchronization data are inserted into an image together, a phenomenon may occur in which the characteristics of either the payload or the synchronization data are deteriorated. In this case, in the process of recognizing data in the image, it may be difficult to accurately recognize the payload or synchronization data. Additionally, if the payload and synchronization data overlap and are embedded in one area (e.g., pixel), it may be difficult to distinguish whether the data in a specific area corresponds to the payload or synchronization data in the process of recognizing data in the image. there is.

한국등록특허 제10-1877372호 (2018.07.05)Korean Patent No. 10-1877372 (2018.07.05)

본 발명이 해결하고자 하는 기술적 과제는 이미지 내에서 데이터가 추출될 때에 해당 데이터가 동기화 데이터, 페이로드 중에서 어느 것을 해당하는 것인지를 정확하게 구별되도록 워터마크 데이터를 임베딩하고 추출하는 방법을 제공하는 것이다. The technical problem to be solved by the present invention is to provide a method for embedding and extracting watermark data so that when data is extracted from an image, it can be accurately distinguished whether the data corresponds to synchronization data or payload.

본 발명이 해결하고자 하는 다른 기술적 과제는 동기화 데이터와 페이로드에 서로 다른 가중치를 부여하여 이미지 내에 임베딩함으로써, 워터마크 추출 시 인식률을 개선하는 워터마크 데이터의 임베딩 및 추출 방법을 제공하는 것이다.Another technical problem that the present invention aims to solve is to provide a method for embedding and extracting watermark data that improves the recognition rate when extracting watermark by assigning different weights to synchronization data and payload and embedding them in an image.

본 발명이 해결하고자 하는 또 다른 기술적 과제는, Lab 기반의 컬러 조정을 통해 데이터를 이미지 내에 임베딩함으로써, 동기화 데이터와 페이로드의 특성이 변동되는 것과 오리지널 이미지의 품질이 손상되는 것을 최소화하고 워터마크 데이터의 임베딩 여부가 드러나지 않는 워터마크 데이터의 임베딩 및 추출 방법을 제공하는 것이다.Another technical problem that the present invention aims to solve is to minimize changes in the characteristics of synchronization data and payload and damage to the quality of the original image by embedding data in the image through Lab-based color adjustment and to minimize watermark data. It provides a method for embedding and extracting watermark data whose embedding is not revealed.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the description below.

상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 데이터 임베딩 방법은 페이로드가 내재된 페이로드 패턴에 제1 가중치를 적용하는 단계; 동기화 데이터가 내재된 동기화 패턴에 제2 가중치를 적용하는 단계; 상기 제1 가중치가 적용된 페이로드 패턴과 상기 제2 가중치가 동기화 패턴을 결합하여, 상기 페이로드와 상기 동기화 데이터가 내재된 워터마크 패턴을 생성하는 단계; 및 상기 워터마크 패턴을 이용하여 상기 오리지널 이미지를 조정하여 상기 오리지널 이미지 내에 상기 페이로드와 상기 동기화 데이터를 임베딩하는 단계를 포함한다.In order to solve the above technical problem, a data embedding method according to an embodiment of the present invention includes applying a first weight to a payload pattern in which the payload is embedded; applying a second weight to a synchronization pattern in which synchronization data is embedded; combining a payload pattern to which the first weight is applied and a synchronization pattern to which the second weight is applied, thereby generating a watermark pattern containing the payload and the synchronization data; and embedding the payload and the synchronization data within the original image by adjusting the original image using the watermark pattern.

일 실시예에서, 상기 제1 가중치가 상기 제2 가중치 보다 더 클 수 있다.In one embodiment, the first weight may be greater than the second weight.

일 실시예에서, 상기 워터마크 패턴을 생성하는 단계는, 상기 제1 가중치가 적용된 페이로드 패턴의 각 픽셀 값과, 상기 제2 가중치가 적용된 동기화 패턴의 각 픽셀 값의 평균을 픽셀별로 산출하고, 상기 산출된 평균이 해당 픽셀의 값으로 설정되는 워터마크 패턴을 생성하는 단계를 포함할 수 있다. In one embodiment, the step of generating the watermark pattern includes calculating an average of each pixel value of the payload pattern to which the first weight is applied and each pixel value of the synchronization pattern to which the second weight is applied for each pixel, It may include generating a watermark pattern in which the calculated average is set to the value of the corresponding pixel.

일 실시예에서, 상기 임베딩하는 단계는 상기 워터마크 패턴에 포함된 픽셀 값과 대응되는 임베딩 규칙을 기초로, 상기 오리지널 이미지의 픽셀을 Lab 기반 a 채널과 b 채널을 이용하여 조정하는 단계를 포함할 수 있다.In one embodiment, the embedding step may include adjusting pixels of the original image using Lab-based a and b channels based on an embedding rule corresponding to the pixel value included in the watermark pattern. You can.

일 실시예에서, 상기 임베딩 규칙은, 상기 픽셀 값이 최대 값 또는 최소 값이면 상기 a 채널과 상기 b 채널에 제3 가중치가 적용되는 규칙이고, 상기 픽셀 값이 최대 값과 최소 값이 아니면 상기 제3 가중치 보다 작은 제4 가중치가 상기 a 채널과 상기 b 채널에 적용되는 규칙일 수 있다.In one embodiment, the embedding rule is a rule in which a third weight is applied to the a channel and the b channel if the pixel value is the maximum or minimum value, and if the pixel value is not the maximum or minimum value, the third weight is applied to the a channel and the b channel. A fourth weight less than 3 weights may be a rule applied to the a channel and the b channel.

상기 제3 가중치 또는 상기 제4 가중치는, 상기 제1 가중치, 상기 제2 가중치 중에서 어느 하나를 기반으로 설정될 수 있다.The third weight or the fourth weight may be set based on either the first weight or the second weight.

상기 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 데이터 임베딩 방법은 동기화 데이터와 페이로드가 내재된 워터마크 패턴을 획득하는 단계; 및 상기 워터마크 패턴에 포함된 픽셀 값과 대응되는 임베딩 규칙을 기초로, Lab 기반 a 채널과 b 채널을 이용하여 상기 오리지널 이미지의 픽셀을 조정하여 상기 동기화 데이터와 상기 페이로드를 상기 오리지널 이미지에 임베딩하는 단계를 포함할 수 있다.A data embedding method according to another embodiment of the present invention for solving the above technical problem includes obtaining a watermark pattern in which synchronization data and payload are embedded; And based on the embedding rule corresponding to the pixel value included in the watermark pattern, adjusting the pixels of the original image using Lab-based a and b channels to embed the synchronization data and the payload into the original image. It may include steps.

상기 임베딩 규칙은, 상기 픽셀 값이 최대 값 또는 두 번째로 큰 값이면 상기 a 채널을 소정의 조정 값만큼 증가시키고 상기 b 채널을 상기 조정 값만큼 감소시키는 규칙이고, 상기 픽셀 값이 최소 값 또는 세 번째로 큰 값이면 상기 a 채널을 상기 조정 값만큼 감소시키고 상기 b 채널을 상기 조정 값만큼 증가시키는 규칙일 수 있다. The embedding rule is a rule that increases the a channel by a predetermined adjustment value and decreases the b channel by the adjustment value if the pixel value is the maximum value or the second largest value, and if the pixel value is the minimum value or the third largest value, the embedding rule is a rule that increases the a channel by a predetermined adjustment value and decreases the b channel by the adjustment value. If it is the second largest value, the rule may be to decrease the a channel by the adjustment value and increase the b channel by the adjustment value.

상기 임베딩하는 단계는, 상기 오리지널 이미지의 고주파 영역에서 상기 조정 값이 상대적으로 증가하도록 상기 조정 값을 조정하는 단계를 포함할 수 있다. The embedding step may include adjusting the adjustment value so that the adjustment value relatively increases in a high frequency region of the original image.

상기 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 데이터 추출 방법은 상기 이미지를 분석하여 워터마크 패턴을 추출하는 단계; 상기 워터마크 패턴에 포함된 픽셀 값을 추출하는 단계; 및 미리 설정된 4 종류의 픽셀 값과 상기 추출한 픽셀 값을 비교하여, 상기 추출된 픽셀 값이 상기 4 종류의 픽셀 값들 중에서 두 번째로 큰 픽셀 값인 경우 페이로드 비트가 '1'이고 동기화 비트가 '0'인 것으로 인식하고, 상기 추출된 픽셀 값이 상기 4 종류의 픽셀 값들 중에서 세 번째로 큰 픽셀 값인 경우 페이로드 비트가 '0' 이고 동기화 비트가 '1' 인 것으로 인식하는 단계를 포함할 수 있다.A data extraction method according to another embodiment of the present invention to solve the above technical problem includes analyzing the image to extract a watermark pattern; extracting pixel values included in the watermark pattern; and comparing the extracted pixel value with four preset types of pixel values, and if the extracted pixel value is the second largest pixel value among the four types of pixel values, the payload bit is '1' and the synchronization bit is '0'. ', and if the extracted pixel value is the third largest pixel value among the four types of pixel values, recognizing that the payload bit is '0' and the synchronization bit is '1'. .

상기 워터마크 패턴을 추출하는 단계는, Lab 기반의 a 채널을 b 채널로 감산하여 상기 이미지를 모노크롬으로 변환하고, 상기 모노크롬으로 변환된 이미지에서 상기 워터마크 패턴을 추출하는 단계를 포함할 수 있다.The step of extracting the watermark pattern may include subtracting the Lab-based a channel to the b channel to convert the image into monochrome, and extracting the watermark pattern from the monochrome converted image.

상기 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 컴퓨터 프로그램은 페이로드가 내재된 페이로드 패턴에 제1 가중치를 적용하는 단계; 동기화 데이터가 내재된 동기화 패턴에 제2 가중치를 적용하는 단계; 상기 제1 가중치가 적용된 페이로드 패턴과 상기 제2 가중치가 동기화 패턴을 결합하여, 상기 페이로드와 상기 동기화 데이터가 내재된 워터마크 패턴을 생성하는 단계; 및 상기 워터마크 패턴을 이용하여 상기 오리지널 이미지를 조정하여 상기 오리지널 이미지 내에 상기 페이로드와 상기 동기화 데이터를 임베딩하는 단계를 포함할 수 있다.A computer program according to another embodiment of the present invention for solving the above technical problem includes the steps of applying a first weight to a payload pattern containing a payload; applying a second weight to a synchronization pattern in which synchronization data is embedded; combining a payload pattern to which the first weight is applied and a synchronization pattern to which the second weight is applied, thereby generating a watermark pattern containing the payload and the synchronization data; And it may include adjusting the original image using the watermark pattern and embedding the payload and the synchronization data within the original image.

도 1은 본 발명의 일 실시예에 따른 워터마크 데이터의 추출 방법이 활용되는 상황을 설명하기 위한 개념도이다.
도 2는 본 발명의 몇몇 실시예들에 따른 워터마크 데이터의 임베딩 방법에 따라 워터마크 데이터가 임베딩 된 이미지와 오리지널 이미지의 비교를 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 워터마크 데이터의 임베딩 방법의 순서도이다.
도 4는 도 3을 참조하여 이해될 수 있는 워터마크 데이터의 임베딩 방법의 이해를 돕기 위한 개념도이다.
도 5는 도 3을 참조하여 이해될 수 있는 워터마크 데이터의 임베딩 방법의 일부 동작을 보다 상세하게 설명하기 위한 순서도이다.
도 6은 도 5의 동작에 따라 생성된 페이로드 패턴의 픽셀 값을 예시하는 도면이다.
도 7은 도 3을 참조하여 이해될 수 있는 워터마크 데이터의 임베딩 방법의 일부 동작을 보다 상세하게 설명하기 위한 순서도이다.
도 8은 도 7의 동작에 따라 생성된 동기화 패턴을 예시하는 도면이다.
도 9는 도 3을 참조하여 이해될 수 있는 워터마크 데이터의 임베딩 방법의 일부 동작을 보다 상세하게 설명하기 위한 순서도이다.
도 10과 도 11은 도 9의 동작에 따라 생성된 워터마크 패턴의 픽셀 값을 예시하는 도면이다.
도 12는 도 3을 참조하여 이해될 수 있는 워터마크 데이터의 임베딩 방법의 일부 동작을 보다 상세하게 설명하기 위한 순서도이다.
도 13은 임베딩 규칙의 예시하는 도면이다.
도 14는 본 발명의 다른 실시예에 따른 워터마크 데이터 추출 방법의 순서도이다.
도 15는 도 14를 참조하여 이해될 수 있는 워터마크 데이터의 추출 방법의 일부 동작을 보다 상세하게 설명하기 위한 순서도이다.
도 16은 본 발명의 또 다른 실시예에 따른 워터마크 데이터 임베딩 장치의 블록 구성도이다.
도 17은 본 발명의 또 다른 실시예에 따른 워터마크 데이터 추출 장치의 블록 구성도이다.
Figure 1 is a conceptual diagram for explaining a situation in which a method for extracting watermark data according to an embodiment of the present invention is utilized.
Figure 2 is a diagram for comparing an image with watermark data embedded according to a method for embedding watermark data and an original image according to some embodiments of the present invention.
Figure 3 is a flowchart of a method for embedding watermark data according to an embodiment of the present invention.
FIG. 4 is a conceptual diagram to help understand a method of embedding watermark data that can be understood with reference to FIG. 3.
FIG. 5 is a flowchart for explaining in more detail some operations of the method for embedding watermark data that can be understood with reference to FIG. 3 .
FIG. 6 is a diagram illustrating pixel values of a payload pattern generated according to the operation of FIG. 5.
FIG. 7 is a flowchart for explaining in more detail some operations of the method for embedding watermark data that can be understood with reference to FIG. 3.
FIG. 8 is a diagram illustrating a synchronization pattern generated according to the operation of FIG. 7.
FIG. 9 is a flowchart for explaining in more detail some operations of the method for embedding watermark data that can be understood with reference to FIG. 3.
Figures 10 and 11 are diagrams illustrating pixel values of a watermark pattern generated according to the operation of Figure 9.
FIG. 12 is a flowchart for explaining in more detail some operations of the method for embedding watermark data that can be understood with reference to FIG. 3.
Figure 13 is an illustrative diagram of embedding rules.
Figure 14 is a flowchart of a watermark data extraction method according to another embodiment of the present invention.
FIG. 15 is a flowchart for explaining in more detail some operations of the watermark data extraction method that can be understood with reference to FIG. 14.
Figure 16 is a block diagram of a watermark data embedding device according to another embodiment of the present invention.
Figure 17 is a block diagram of a watermark data extraction device according to another embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 발명의 기술적 사상을 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the attached drawings. The advantages and features of the present invention and methods for achieving them will become clear by referring to the embodiments described in detail below along with the accompanying drawings. However, the technical idea of the present invention is not limited to the following embodiments and may be implemented in various different forms. The following examples are merely intended to complete the technical idea of the present invention and to be used in the technical field to which the present invention pertains. It is provided to fully inform those skilled in the art of the scope of the present invention, and the technical idea of the present invention is only defined by the scope of the claims.

각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 및/또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.When adding reference numerals to components in each drawing, it should be noted that identical components are given the same reference numerals as much as possible even if they are shown in different drawings. Additionally, in describing the present invention, if it is determined that a detailed description of related known configurations and/or functions may obscure the gist of the present invention, the detailed description will be omitted.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used with meanings that can be commonly understood by those skilled in the art to which the present invention pertains. Additionally, terms defined in commonly used dictionaries are not interpreted ideally or excessively unless clearly specifically defined. The terminology used herein is for describing embodiments and is not intended to limit the invention. As used herein, singular forms also include plural forms, unless specifically stated otherwise in the context.

또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결" 또는 "결합"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결" 또는 "결합"될 수도 있다고 이해되어야 할 것이다.Additionally, when describing the components of the present invention, terms such as first, second, A, B, (a), and (b) may be used. These terms are only used to distinguish the component from other components, and the nature, sequence, or order of the component is not limited by the term. When a component is described as being "connected" or "coupled" to another component, that component may be directly connected to that other component, but there may be another component "connected" or "coupled" between each component. “It should be understood that it could happen.

본 발명에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.As used herein, “comprises” and/or “comprising” refers to a referenced component, step, operation and/or element that includes one or more other components, steps, operations and/or elements. Does not exclude presence or addition.

이하, 본 발명의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.Hereinafter, several embodiments of the present invention will be described in detail with reference to the attached drawings.

개요outline

도 1은 본 발명의 일 실시예에 따른 워터마크 데이터(10)의 임베딩 방법 및 본 발명의 다른 실시예에 따른 워터마크 데이터(10)의 추출 방법이 활용되는 상황을 설명하기 위한 개념도이다. 먼저, 오리지널 이미지(20)에 워터마크 데이터(10)가 임베딩(Embedding) 된 결과 만들어진 결과 이미지(30)가 다양한 채널을 통하여 배포될 수 있다. 결과 이미지(30)는, 예를 들어 명함이거나, 상품 표면에 부착되는 라벨일 수 있다. 또한, 결과 이미지(30)는 박스 등의 운송 수단 외면에 프린트 될 수도 있다.Figure 1 is a conceptual diagram for explaining a situation in which an embedding method of watermark data 10 according to an embodiment of the present invention and a method of extracting watermark data 10 according to another embodiment of the present invention are used. First, the resulting image 30 created as a result of embedding the watermark data 10 in the original image 20 can be distributed through various channels. The resulting image 30 may be, for example, a business card or a label attached to the surface of a product. Additionally, the resulting image 30 may be printed on the outside of a vehicle such as a box.

도 1에 도시된 바와 같이, 결과 이미지(30)를 보고는 워터마크 데이터(10)의 임베딩 여부를 육안으로 인식하기 어렵다. 본 실시예에 따른 워터마크 데이터 임베딩 방법은 종래의 바코드, QR 코드 등의 기술과 달리 워터마크 데이터(10)의 임베딩 여부를 육안으로 인식하기 어렵기 때문에, 오리지널 이미지(20)를 훼손하지 않고도 워터마크 데이터(10)를 담을 수 있는 장점이 있다. 일 실시예에 따르면, 워터마크 데이터(10)는 동기화 데이터와 페이로드(payload)를 포함할 수 있다. 페이로드는 이미지 내에 임베딩 하고자 하는 데이터(예컨대, 상품 ID 등)를 나타내고, 동기화 데이터는 페이로드의 위치를 나타낼 수 있다. 페이로드의 사이즈가 144 bit이고, 그 중 실제 활용 가능한 바디 데이터는 54 bit이며, 그 결과 상기 페이로드를 이용하여 254의 경우의 수를 표현할 수 있다. 따라서, 상품 표면에 부착되는 라벨에 본 기술을 적용하면, 육안으로 보기에는 동일 라벨로 보이더라도, 모든 상품 마다 고유의 ID를 부여하여 그 ID를 페이로드로 상기 라벨에 임베딩 하는 것도 가능하다. As shown in FIG. 1, it is difficult to visually recognize whether the watermark data 10 is embedded by looking at the resulting image 30. Unlike conventional barcode and QR code technologies, the watermark data embedding method according to this embodiment is difficult to visually recognize whether the watermark data 10 is embedded, so the watermark data 10 can be embedded without damaging the original image 20. It has the advantage of being able to contain mark data (10). According to one embodiment, the watermark data 10 may include synchronization data and payload. The payload represents data to be embedded within the image (eg, product ID, etc.), and the synchronization data may represent the location of the payload. The size of the payload is 144 bits, of which the actual usable body data is 54 bits. As a result, the number of cases 2 54 can be expressed using the payload. Therefore, if this technology is applied to a label attached to the surface of a product, even if the label appears to be the same to the naked eye, it is possible to give each product a unique ID and embed that ID into the label as a payload.

결과 이미지(30)를 보고는 워터마크 데이터(10)의 임베딩 여부를 육안으로 인식하기 어렵지만, 본 발명의 몇몇 실시예들에 따른 데이터 추출 방법을 실행하는 사용자 단말(40)을 이용하면 결과 이미지(30)에서 워터마크 데이터(10)를 추출할 수 있다. 예를 들어, 사용자 단말(40)에 구비된 카메라를 이용하여 결과 이미지(30)를 촬영하고, 촬영된 결과에 대하여 워터마크 데이터 추출 로직을 실행함으로써, 워터마크 데이터(10)를 추출할 수 있다.It is difficult to visually recognize whether the watermark data 10 is embedded by looking at the result image 30, but when using the user terminal 40 executing the data extraction method according to some embodiments of the present invention, the result image ( Watermark data 10 can be extracted from 30). For example, the watermark data 10 can be extracted by photographing the resulting image 30 using a camera provided in the user terminal 40 and executing watermark data extraction logic on the photographed result. .

본 발명의 몇몇 실시예들에서 임베딩 되는 워터마크 데이터에 포함될 수 있는 페이로드는 예를 들어, 표 1의 포맷(format)을 가질 수 있다.In some embodiments of the present invention, the payload that may be included in the embedded watermark data may have the format of Table 1, for example.

4 bit4bit 3 bit3bit 8 bit8bit 54 bit54bit 7 bit7bit 68 bit68bit 컨트롤 파라미터control parameters 바디 데이터body data CRC8CRC8 바디 데이터 에러 수정 비트Body data error correction bit 버전 코드version code CRC4CRC4 컨트롤 파라미터
에러 수정 비트
control parameters
error correction bit

페이로드는 15 bit의 컨트롤 파라미터(Control Parameter), 54 bit의 바디 데이터(Body Data), 7 bit의 검증 코드(CRC8) 및 68 bit의 에러 정정 코드(Error Correction Bit)를 포함할 수 있다.The payload may include 15 bits of control parameters, 54 bits of body data, 7 bits of verification code (CRC8), and 68 bits of error correction bit.

표 1의 컨트롤 파라미터(control parameter)는 바디 데이터의 타입을 가리킬 수 있다. 예를 들어, 사용자 단말(40)이 페이로드를 추출하여 그 중 54 bit의 바디 데이터를 인식하고, 상기 바디 데이터 및 컨트롤 파라미터를 수납한 컨텐츠 요청을 컨텐츠 서버에 송신할 수 있다. 컨텐츠 서버는 고유 ID를 부여받은 각각의 컨텐츠를 타입 별로 관리하는 컨텐츠 DB를 저장할 수 있다. 상기 컨텐츠 서버는 상기 바디 데이터에 매칭 되는 ID의 컨텐츠 중 상기 컨트롤 파라미터에 대응되는 타입의 컨텐츠를 사용자 단말(40)에 제공할 수 있을 것이다.The control parameters in Table 1 may indicate the type of body data. For example, the user terminal 40 may extract the payload, recognize 54 bits of body data among it, and transmit a content request containing the body data and control parameters to the content server. The content server can store a content DB that manages each content given a unique ID by type. The content server may provide the user terminal 40 with content of a type corresponding to the control parameter among content with an ID matching the body data.

일 실시예에서, 컨트롤 파라미터는 4 bit의 버전 코드(Version Code), 3 bit의 해당 영역에 대한 검증코드(CRC4) 및 8 bit의 에러 정정 코드를 포함할 수도 있다. 상기 버전 코드에 의해서 페이로드를 24개의 버전으로 분리하여 관리함으로써, 버전을 업데이트 하여 관리하거나 동시에 여러 버전을 운영할 수 있다. In one embodiment, the control parameter may include a 4-bit version code, a 3-bit verification code for the corresponding area (CRC4), and an 8-bit error correction code. By dividing the payload into 24 versions and managing them according to the version code, it is possible to update and manage the version or operate multiple versions at the same time.

68 bit의 에러 수정 비트(Error Correction Bit)는 페이로드가 잘못 추출될 수 있는 가능성을 보완하기 위한 에러 수정용 코드를 포함할 수 있다. 예를 들어, 상기 에러 수정용 코드는 BCH(Bose-Chaudhuri-Hocquenghem) 코드 일 수 있다.The 68-bit error correction bit may include an error correction code to compensate for the possibility that the payload may be extracted incorrectly. For example, the error correction code may be a BCH (Bose-Chaudhuri-Hocquenghem) code.

도 2는 본 발명의 몇몇 실시예들에 따른 워터마크 데이터의 임베딩 방법에 따라 워터마크 데이터가 임베딩 된 이미지와 오리지널 이미지의 비교를 위한 도면이다. 도 2에 도시된 바와 같이, 결과 이미지(30)는 오리지널 이미지(20)와 육안상으로는 크게 다른 점이 없다. 그러나, 모노크롬으로 변환된 결과 이미지(30a)에는 오리지널 이미지의 모노크롬 버전(20a)과 비교하여 노이즈가 도드라진다. 이는, 본 발명의 일 실시예에 따른 워터마크 데이터가 노이즈의 형태로 오리지널 이미지에 임베딩 되기 때문이다. 이와 관련하여, 몇몇 도면들을 참조하여 보다 자세히 설명한다.Figure 2 is a diagram for comparing an image with watermark data embedded according to a method for embedding watermark data and an original image according to some embodiments of the present invention. As shown in FIG. 2, the resulting image 30 is not significantly different from the original image 20 to the naked eye. However, noise is prominent in the resulting image 30a converted to monochrome compared to the monochrome version 20a of the original image. This is because watermark data according to an embodiment of the present invention is embedded in the original image in the form of noise. In this regard, it will be described in more detail with reference to several drawings.

워터마크 데이터의 임베딩Embedding of watermark data

이하, 도 3을 참조하여 본 발명의 일 실시예에 따른 워터마크 데이터의 임베딩 방법을 전체적으로 설명한다. Hereinafter, a method for embedding watermark data according to an embodiment of the present invention will be described overall with reference to FIG. 3.

본 실시예에 따른 워터마크 데이터의 임베딩 방법은, 예를 들어 컴퓨팅 장치에 의하여 실행될 수 있다. 본 실시예에 따른 설명 가능한 워터마크 데이터 임베딩 방법은 복수의 컴퓨팅 장치들에 의하여 나뉘어 수행될 수도 있다. 이하, 본 실시예에 따른 설명 가능한 워터마크 데이터 임베딩 방법을 설명함에 있어서, 각각의 동작의 주체에 대한 기재가 생략될 수 있으며, 이 경우 상기 동작의 주체는 컴퓨팅 장치인 것으로 이해될 수 있을 것이다.The method for embedding watermark data according to this embodiment can be executed, for example, by a computing device. The explainable watermark data embedding method according to this embodiment may be separately performed by a plurality of computing devices. Hereinafter, in explaining the explainable watermark data embedding method according to this embodiment, description of the subject of each operation may be omitted, and in this case, it will be understood that the subject of the operation is a computing device.

컴퓨팅 장치가 페이로드를 이용하여 소정의 크기를 가지는 페이로드 패턴을 생성할 수 있다(S110). 상기 페이로드는 상기 표 1과 같은 포맷으로 구성될 수 있다. 상기 페이로드 패턴은 일정 개수의 가로 픽셀과 일정 개수의 세로 픽셀을 포함하는 픽셀 영역으로 표현될 수 있다. 일 실시예로서, 페이로드 패턴은 128 x 128 픽셀로 구성될 수 있으며, 페이로드의 각 비트는 페이로드 패턴에 포함되는 소정 영역의 각 픽셀과 1:1 매칭되어 상기 페이로드 패턴에 삽입될 수 있다. 상기 페이로드 패턴은 제1 색상(예컨대, 흰색)과 제2 색상(예컨대, 검은색)으로 구성될 수 있으며, 상기 제1 색상의 픽셀 값은 페이로드의 비트 '1'과 매칭되고 제2 색상의 픽셀 값은 페이로드의 비트 '0'과 매칭될 수 있다. 또한, 하나의 페이로드가 상기 페이로드 패턴에 삽입될 수 있고, 서로 다른 복수의 페이로드가 상기 페이로드 패턴에 삽입될 수도 있으며, 동일한 페이로드가 반복적으로 상기 패이로드 패턴에 삽입될 수도 있다.The computing device may use the payload to generate a payload pattern with a predetermined size (S110). The payload may be formatted as shown in Table 1 above. The payload pattern can be expressed as a pixel area including a certain number of horizontal pixels and a certain number of vertical pixels. As an embodiment, the payload pattern may consist of 128 x 128 pixels, and each bit of the payload may be inserted into the payload pattern by matching 1:1 with each pixel of a predetermined area included in the payload pattern. there is. The payload pattern may be composed of a first color (eg, white) and a second color (eg, black), and the pixel value of the first color matches bit '1' of the payload and the second color The pixel value of may match bit '0' of the payload. Additionally, one payload may be inserted into the payload pattern, a plurality of different payloads may be inserted into the payload pattern, and the same payload may be repeatedly inserted into the payload pattern.

다음으로, 제1 색상(예컨대, 흰색)과 제2 색상(예컨대, 검은색)으로 구성되며, 소정의 크기를 가지는 동기화 패턴이 생성될 수 있다(S120). 상기 동기화 패턴은 페이로드의 위치를 표시하기 위한 동기화 데이터를 내재하고 있다. 상기 동기화 패턴은 후술하는 바와 같이, 주파수 도메인(frequency domain)의 피크 포인트(peak point)가 역푸리에 변환되어 생성될 수 있다.Next, a synchronization pattern composed of a first color (eg, white) and a second color (eg, black) and having a predetermined size may be created (S120). The synchronization pattern contains synchronization data for indicating the location of the payload. As will be described later, the synchronization pattern can be generated by inverse Fourier transforming the peak point of the frequency domain.

페이로드 패턴과 동기화 패턴이 결합되어, 동기화 데이터와 페이로드를 내재하고 있는 워터마크 패턴이 생성될 수 있다(S130). 도 9를 참조하여 후술하는 바와 같이, 상기 페이로드 패턴에 제1 가중치(W1)가 적용되고, 상기 동기화 패턴에 제2 가중치(W2)가 적용된 후, 페이로드와 동기화 데이터가 연산되고, 연산된 결과를 기초로 설정된 픽셀 값을 포함하는 워터마크 패턴이 생성될 수 있다. 상기 워터마크 패턴은 노이즈 베이스(noise base) 이미지 형태일 수 있다. 또한, 워터마크 패턴에는 4 가지의 색상이 포함될 수 있다.By combining the payload pattern and synchronization pattern, a watermark pattern containing synchronization data and payload can be created (S130). As described later with reference to FIG. 9, after a first weight (W1) is applied to the payload pattern and a second weight (W2) is applied to the synchronization pattern, the payload and synchronization data are calculated, and the calculated A watermark pattern including pixel values set based on the results may be created. The watermark pattern may be in the form of a noise base image. Additionally, the watermark pattern may include four colors.

오리지널 이미지가 로드되고(S140), 상기 워터마크 패턴을 이용하여 오리지널 이미지를 조정함으로써, 상기 페이로드와 동기화 데이터를 포함하는 워터마크 데이터가 임베드 된 이미지가 생성되고 출력된다(S150, S160). 예를 들어, 상기 워터마크 데이터가 임베드 된 이미지는 이미지 파일의 형태로 출력 되거나, 프린팅 장치에 의하여 종이 등 프린팅 대상에 프린트 될 수 있다. 일 실시예에 따르면, 3D 프린터에 의하여 프린팅 결과물의 외면에 도색되는 형태로 상기 출력이 이뤄질 수도 있다.The original image is loaded (S140), and by adjusting the original image using the watermark pattern, an image in which watermark data including the payload and synchronization data is embedded is created and output (S150, S160). For example, the image in which the watermark data is embedded can be output in the form of an image file or printed on a printing object such as paper by a printing device. According to one embodiment, the output may be performed by painting the outer surface of the printed product using a 3D printer.

도 4를 참조하여, 본 실시예에 따른 워터마크 데이터의 임베딩 방법의 이해를 돕기로 한다. 2차원 이미지 형태의 동기화 패턴(50)이 도시된다. 상기 동기화 패턴(50)과 페이로드 패턴(60)이 결합된, 워터마크 패턴(70)이 도시된다. 상기 워터마크 패턴(70)은 노이즈 베이스 이미지일 수 있다. 상기 노이즈 베이스 이미지 형태의 워터마크 패턴(70)에는 워터마크 데이터, 즉 동기화 데이터와 페이로드가 내재되어 있다. 워터마크 패턴(70)을 이용하여 오리지널 이미지(20)가 조정(S150)된 결과로 워터마크 데이터가 임베딩 된 결과 이미지(30)가 생성된다.Referring to FIG. 4 to help understand the method of embedding watermark data according to this embodiment. A synchronization pattern 50 in the form of a two-dimensional image is shown. A watermark pattern 70 is shown, which is a combination of the synchronization pattern 50 and the payload pattern 60. The watermark pattern 70 may be a noise-based image. The watermark pattern 70 in the form of the noise base image contains watermark data, that is, synchronization data and payload. As a result of adjusting the original image 20 using the watermark pattern 70 (S150), the image 30 is generated by embedding the watermark data.

도 3 및 도 4를 참조하여 설명된 바와 같이, 본 실시예에서는 노이즈 베이스 이미지 형태의 워터마크 패턴(70)이 핵심적인 역할을 수행한다. 상기 워터마크 패턴(70)은 픽셀 값으로 표현될 수 있으며, 상기 워터마크 패턴(70)에는 동기화 데이터와 페이로드가 함께 내재되어 있는데, 동기화 데이터와 페이로드 모두에 대한 추출 성공률을 높일 수 있도록 상기 워터마크 패턴(70)이 구성된다. 워터마크 패턴(70)에서 추출된 데이터가 동기화 데이터, 페이로드 중에서 어느 것에 해당하는지를 정확하게 구별될 수 있도록, 데이터 임베딩이 수행된다. As explained with reference to FIGS. 3 and 4, in this embodiment, the watermark pattern 70 in the form of a noise base image plays a key role. The watermark pattern 70 can be expressed as a pixel value, and the watermark pattern 70 contains both synchronization data and payload. A watermark pattern 70 is formed. Data embedding is performed so that it can be accurately distinguished whether the data extracted from the watermark pattern 70 corresponds to synchronization data or payload.

도 5를 참조하여, 페이로드를 이용하여 페이로드 패턴을 생성하는 방법(S110)을 보다 상세하게 설명한다.Referring to FIG. 5, a method (S110) of generating a payload pattern using a payload will be described in more detail.

표 1과 같은 포맷을 가지는 페이로드가 로드된다(S111). 상기 페이로드는 스토리지와 같은 저장수단으로부터 로드될 수 있으며, 또는 외부의 통신 장치로부터 수신되어 로드될 수 있다. A payload having the same format as Table 1 is loaded (S111). The payload may be loaded from a storage means such as storage, or may be received and loaded from an external communication device.

다음으로, 페이로드에 포함된 각각의 비트가, 제1 색상 또는 제2 색상으로 매칭된다(S112). 페이로드에 포함된 비트 '1'은, 제1 색상을 가지는 픽셀 값과 매칭될 수 있으며, 페이로드에 포함된 비트 '0'은, 제2 색상을 가지는 픽셀 값과 매칭될 수 있다. 상기 제1 색상의 픽셀 값은 흰색을 나타내는 픽셀 값인 '255' 일 수 있으며, 제2 색상의 픽셀 값은 검은색을 나타내는 픽셀 값인 '0' 일 수 있다. Next, each bit included in the payload is matched with the first color or the second color (S112). Bit '1' included in the payload may match a pixel value having the first color, and bit '0' included in the payload may match a pixel value having the second color. The pixel value of the first color may be '255', which is a pixel value representing white, and the pixel value of the second color may be '0', a pixel value representing black.

이어서, 매칭된 다수의 픽셀 값을 포함하는 페이로드 패턴이 생성된다(S115). 상기 페이로드 패턴은 128 X 128 픽셀일 수 있으며, 페이로드의 각 비트는 페이로드 패턴의 일정 영역에 포함된 각 픽셀과 1:1 매칭될 수 있다. Next, a payload pattern including a plurality of matched pixel values is generated (S115). The payload pattern may be 128 x 128 pixels, and each bit of the payload may be matched 1:1 with each pixel included in a certain area of the payload pattern.

도 6은 도 5의 동작에 따라 생성된 페이로드 패턴의 픽셀 값을 예시하는 도면이다.FIG. 6 is a diagram illustrating pixel values of a payload pattern generated according to the operation of FIG. 5.

도 6을 참조하면, 페이로드 패턴은 각 픽셀 값은 비트 '1' 또는 '0'을 나타내는 색상으로 결정될 수 있다. 도 6에서는 제1 색상은 흰색을 나타내는 '255' 픽셀 값으로서 비트 '1'과 매칭되고, 제2 색상은 검은색을 나타내는 '0' 픽셀 값으로서 비트 '0'과 매칭되는 것을 예시하고 있다. 도 6에 따르면, 101 영역에 배열된 픽셀 [0, 255, 0, 0, 255, 0, 0, 255]은 비트열 '01001001'과 매칭된다. Referring to FIG. 6, the payload pattern may be determined by a color where each pixel value represents bit '1' or '0'. FIG. 6 illustrates that the first color is a pixel value of '255' representing white and matches bit '1', and the second color is a pixel value of '0' representing black and matches bit '0'. According to Figure 6, pixels [0, 255, 0, 0, 255, 0, 0, 255] arranged in area 101 match the bit string '01001001'.

도 7 및 도 8을 참조하여, 동기화 패턴을 생성하는 방법(S120)을 보다 상세하게 설명한다.With reference to FIGS. 7 and 8 , the method for generating a synchronization pattern (S120) will be described in more detail.

주파수 도메인(frequency domain) 기반의 이미지가 로드된다(S121). 상기 주파수 도메인 기반의 이미지는 스토리지 등과 같은 저장수단으로부터 획득되어 로드될 수 있으며, 타 통신 장치로부터 수신되어 로드될 수도 있다.A frequency domain-based image is loaded (S121). The frequency domain-based image may be obtained and loaded from a storage means such as storage, or may be received and loaded from another communication device.

널리 알려진 바와 같이, 공간 도메인은 푸리에 변환을 통하여 주파수 도메인(Frequency Domain)으로 변환될 수 있으며, 역푸리에 변환을 통하여 주파수 도메인이 공간 도메인으로 변환될 수 있다. 주파수 도메인의 이미지(102)는 기 지정된 특정 좌표의 매그니튜드 피크(magnitude peak)를 가지는 2차원 매그니튜드 스펙트럼으로 표현될 수 있다. As is widely known, the spatial domain can be converted to the frequency domain through Fourier transform, and the frequency domain can be transformed into the spatial domain through inverse Fourier transform. The frequency domain image 102 may be expressed as a two-dimensional magnitude spectrum having a magnitude peak at a specific, predetermined coordinate.

일 실시예에서, 상기 주파수 도메인 기반의 이미지는 상기 매그니튜드 피크에 해당하는 영역에서만 '0'이 아닌 매그니튜드 값을 가지고, 상기 매그니튜드 피크 이외의 영역에서는 모두 '0'의 매그니튜드 값을 가지는 2차원 매그니튜드 스펙트럼을 가질 수 있다. 도 8에 따른 주파수 도메인 기반의 이미지(102)는 로그 스케일로 2차원 매그니튜드 스펙트럼이 도시되어 있으므로, 스펙트럼 이미지의 가운데가 낮은 주파수를 의미하고, 외곽으로 나갈수록 높은 주파수를 의미한다. 스펙트럼 이미지의 색상이 밝을 수록 그 점의 좌표에 따른 주파수의 매그니튜드 값이 높은 것을 의미한다. 일 실시예에서, 상기 주파수 도메인 기반의 이미지는 복수 개의 상기 매그니튜드 피크를 가질 수 있다. 이때, 상기 매그니튜드 피크의 개수는 미리 정해진 것으로 한정될 수 있다.In one embodiment, the frequency domain-based image is a two-dimensional magnitude spectrum that has a magnitude value other than '0' only in the region corresponding to the magnitude peak, and has a magnitude value of '0' in all regions other than the magnitude peak. You can have Since the frequency domain-based image 102 according to FIG. 8 shows a two-dimensional magnitude spectrum in a logarithmic scale, the center of the spectrum image indicates a low frequency, and the further out it goes to the outside, the higher the frequency is. The brighter the color of the spectral image, the higher the magnitude value of the frequency according to the coordinates of the point. In one embodiment, the frequency domain-based image may have a plurality of the magnitude peaks. At this time, the number of magnitude peaks may be limited to a predetermined number.

다음으로, 주파수 기반의 이미지(102)가 역푸리에 변환되어, 공간 도메인 기반의 동기화 패턴(103)이 생성된다(S122).Next, the frequency-based image 102 is inverse Fourier transformed to generate a spatial domain-based synchronization pattern 103 (S122).

도 8에 예시된 바와 같이, 주파수 도메인의 이미지(102)가 역푸리에 변환되는 경우, 국방 무늬를 가지는 동기화 패턴(103)이 생성될 수 있다. 상기 동기화 패턴은 128 X 128 픽셀일 수 있으며, 상기 동기화 패턴(103)의 각 픽셀은 제1 색상, 제2 색상 중에서 어느 하나에 해당하는 값을 가질 수 있다.As illustrated in FIG. 8 , when the frequency domain image 102 is inverse Fourier transformed, a synchronization pattern 103 having a national defense pattern may be generated. The synchronization pattern may be 128 x 128 pixels, and each pixel of the synchronization pattern 103 may have a value corresponding to one of the first color and the second color.

도 8을 참조하면, 동기화 패턴(103)은 제1 색상(예컨대, 흰색)과 제2 색상(예컨대, 검정색)으로 구성될 수 있으며, 상기 동기화 패턴에 포함된 픽셀 값은, 제1 색상을 나타내는 '255' 픽셀 값, 제2 색상을 나타내는 '0' 픽셀 값 중에서 어느 하나일 수 있다. 도 8의 하단의 픽셀 값들은 동기화 패턴(103)에 포함된 일부 영역에 대한 픽셀 값들을 예시하고 있다.Referring to FIG. 8, the synchronization pattern 103 may be composed of a first color (e.g., white) and a second color (e.g., black), and the pixel value included in the synchronization pattern represents the first color. It may be either a '255' pixel value or a '0' pixel value representing the second color. The pixel values at the bottom of FIG. 8 illustrate pixel values for some areas included in the synchronization pattern 103.

도 9 내지 도 11을 참조하여, 워터마크 패턴을 생성하는 방법(S130)을 보다 상세하게 설명한다.With reference to FIGS. 9 to 11 , the method for generating a watermark pattern (S130) will be described in more detail.

페이로드 패턴에 제1 가중치(W1)를 적용하고(S131), 동기화 패턴에 제2 가중치(W2)를 적용한다(S132). 상기 페이로드 패턴에 제1 가중치(W1)가 적용되는 것은, 페이로드 패턴의 각각의 픽셀 값에 제1 가중치(W1)가 적용되는 의미한다. 마찬가지로, 동기화 패턴에 제2 가중치(W2)가 적용되는 것은, 동기화 패턴의 각각의 픽셀 값에 제2 가중치(W2)가 적용되는 의미한다. 일 실시예에서, 상기 제1 가중치(W1)와 상기 제2 가중치(W2)는 서로 상이할 수 있다. 일 실시예에서, 상기 페이로드 패턴에 적용되는 제1 가중치(W1)가 상기 동기화 패턴에 적용되는 제2 가중치(W2) 보다 크다. 즉, 상기 페이로드 패턴에 상대적으로 큰 가중치가 적용될 수 있다. A first weight (W1) is applied to the payload pattern (S131), and a second weight (W2) is applied to the synchronization pattern (S132). Applying the first weight (W1) to the payload pattern means that the first weight (W1) is applied to each pixel value of the payload pattern. Likewise, applying the second weight W2 to the synchronization pattern means applying the second weight W2 to each pixel value of the synchronization pattern. In one embodiment, the first weight (W1) and the second weight (W2) may be different from each other. In one embodiment, the first weight (W1) applied to the payload pattern is greater than the second weight (W2) applied to the synchronization pattern. That is, a relatively large weight may be applied to the payload pattern.

다음으로, 제1 가중치(W1)가 적용된 페이로드 패턴의 픽셀 값과, 제2 가중치(W2)가 적용된 동기화 패턴의 픽셀 값의 평균이 픽셀별로 산출될 수 있다(S133). 이어서, 산출된 평균이 워터마크 패턴의 픽셀 값으로 설정되는 워터마크 패턴이 생성될 수 있다(S134). Next, the average of the pixel value of the payload pattern to which the first weight (W1) is applied and the pixel value of the synchronization pattern to which the second weight (W2) is applied may be calculated for each pixel (S133). Subsequently, a watermark pattern in which the calculated average is set to the pixel value of the watermark pattern may be generated (S134).

도 10은 동기화 패턴(120)에 제2 가중치(W2)로서 '0.5'가 적용되고, 페이로드 패턴(130)에 제1 가중치(W1)로서 '1.5'의 가중치가 적용된 상태를 예시하고 있다. 동기화 패턴(120)에 '0.5'의 제2 가중치(W2)가 적용되면 변경되기 전의 동기화 패턴(120)의 각 픽셀 값에 '0.5'가 곱해지고, 이에 따라 픽셀 값이 변경된(즉, 제2 가중치가 적용된) 동기화 패턴(120a)이 획득될 수 있다. 또한, 페이로드 패턴(130)에 '1.5'의 제1 가중치(W1)가 적용되면 변경되기 전의 페이로드 패턴(130)의 각 픽셀 값에 '1.5'가 곱해지고, 이에 따라 픽셀 값이 변경된(즉, 제1 가중치가 적용된) 페이로드 패턴(130a)이 획득될 수 있다.FIG. 10 illustrates a state where '0.5' is applied as the second weight (W2) to the synchronization pattern 120, and a weight of '1.5' is applied as the first weight (W1) to the payload pattern 130. When the second weight W2 of '0.5' is applied to the synchronization pattern 120, each pixel value of the synchronization pattern 120 before the change is multiplied by '0.5', and the pixel value is changed accordingly (i.e., the second weight W2 is A weighted synchronization pattern 120a may be obtained. In addition, when the first weight W1 of '1.5' is applied to the payload pattern 130, each pixel value of the payload pattern 130 before change is multiplied by '1.5', and the pixel value is changed accordingly ( That is, the payload pattern 130a (to which the first weight is applied) can be obtained.

제2 가중치(W2)가 적용된 동기화 패턴(120a)의 픽셀 값과 제1 가중치(W1)가 적용된 페이로드 패턴(130a)의 픽셀 값을 평균이 산출되고, 산출된 평균이 워터마크 패턴(140a)의 픽셀 값으로 설정될 수 있다. 도 10에서는 워터마크 패턴(140a)의 픽셀 값은 첫 번째 소수점이 올림 된 상태이다.The pixel value of the synchronization pattern 120a to which the second weight W2 is applied and the pixel value of the payload pattern 130a to the first weight W1 are averaged, and the calculated average is the watermark pattern 140a. It can be set to a pixel value of . In Figure 10, the pixel value of the watermark pattern 140a has the first decimal point rounded up.

도 10에 따르면, 워터마크 패턴(140a)의 픽셀 값 '255'는 동기화 데이터의 비트(이하, "동기화 비트"로 지칭함)와 페이로드의 비트 모두가 '1'인 것을 나타낼 수 있다. 또한, 워터마크 패턴(140a)의 픽셀 값 '0'은 동기화 비트와 페이로드 비트 모두가 '0'임을 나타낼 수 있다. 워터마크 패턴(140a)에서 픽셀 값 '64'는 동기화 데이터의 비트가 '1'이고 페이로드의 비트는 '0'인 것을 나타낼 수 있다. 또한, 워터마크 패턴(140a)에서 픽셀 값 '192'는 동기화 비트가 '0'이고 페이로드의 비트가 '1'인 것을 나타낼 수 있다. According to FIG. 10, the pixel value '255' of the watermark pattern 140a may indicate that both the synchronization data bit (hereinafter referred to as "synchronization bit") and the payload bit are '1'. Additionally, the pixel value '0' of the watermark pattern 140a may indicate that both the synchronization bit and the payload bit are '0'. In the watermark pattern 140a, the pixel value '64' may indicate that the synchronization data bit is '1' and the payload bit is '0'. Additionally, the pixel value '192' in the watermark pattern 140a may indicate that the synchronization bit is '0' and the payload bit is '1'.

도 11은 동기화 패턴(120)에 제2 가중치(W2)로서 '1/3'이 적용되고, 페이로드 패턴(130)에 제1 가중치(W1)로서 '5/3'의 가중치가 적용된 상태를 예시하고 있다. 동기화 패턴(120)에 '1/3'의 제2 가중치(W2)가 적용되면 변경되기 전의 동기화 패턴(120)의 각 픽셀 값에 '1/3'이 곱해지고, 이에 따라 픽셀 값이 변경된(즉, 제2 가중치가 적용된) 동기화 패턴(120b)이 획득될 수 있다. 아울러, 페이로드 패턴(130)에 '5/3'의 제1 가중치(W1)가 적용되면 변경되기 전의 페이로드 패턴(130)의 각 픽셀 값에 '5/3'가 곱해지고, 이에 따라 픽셀 값이 변경된(즉, 제1 가중치가 적용된) 페이로드 패턴(130b)이 획득될 수 있다. 또한, 제2 가중치(1/3)가 적용된 동기화 패턴(120b)의 픽셀 값과 제1 가중치(5/3)가 적용된 페이로드 패턴(130b)의 픽셀 값을 평균이 산출되고, 산출된 평균이 워터마크 패턴(140b)의 픽셀 값으로 설정될 수 있다. 도 11에서는 워터마크 패턴(140b)의 픽셀 값은 첫 번째 소수점이 올림 된 상태이다.Figure 11 shows a state where '1/3' is applied as the second weight (W2) to the synchronization pattern 120, and a weight of '5/3' is applied as the first weight (W1) to the payload pattern 130. It is exemplifying. When the second weight W2 of '1/3' is applied to the synchronization pattern 120, each pixel value of the synchronization pattern 120 before the change is multiplied by '1/3', and the pixel value is changed accordingly ( That is, the synchronization pattern 120b (to which the second weight is applied) can be obtained. In addition, when the first weight W1 of '5/3' is applied to the payload pattern 130, each pixel value of the payload pattern 130 before change is multiplied by '5/3', and accordingly, the pixel A payload pattern 130b with a changed value (i.e., to which a first weight is applied) may be obtained. In addition, the pixel value of the synchronization pattern 120b to which the second weight (1/3) is applied and the pixel value of the payload pattern 130b to which the first weight (5/3) are applied are averaged, and the calculated average is calculated. It may be set to the pixel value of the watermark pattern 140b. In FIG. 11, the pixel value of the watermark pattern 140b has the first decimal point rounded up.

도 11에 따르면, 워터마크 패턴(140b)의 픽셀 값 '255'는 동기화 비트와 페이로드의 비트 모두가 '1' 인 것을 나타낼 수 있다. 또한, 워터마크 패턴(140b)의 픽셀 값 '0'은 동기화 비트와 페이로드의 비트 모두가 '0' 인 것을 나타낼 수 있다. 워터마크 패턴(140b)에서 픽셀 값 '43'은 동기화 비트가 '1'이고 페이로드의 비트가 '0'인 것을 나타낼 수 있다. 또한, 워터마크 패턴(140b)에서 픽셀 값 '213'은 동기화 데이터의 비트가 '0'이고 페이로드의 비트는 '1'인 것을 나타낼 수 있다. According to FIG. 11, the pixel value '255' of the watermark pattern 140b may indicate that both the synchronization bit and the payload bit are '1'. Additionally, the pixel value '0' of the watermark pattern 140b may indicate that both the synchronization bit and the payload bit are '0'. In the watermark pattern 140b, the pixel value '43' may indicate that the synchronization bit is '1' and the payload bit is '0'. Additionally, the pixel value '213' in the watermark pattern 140b may indicate that the synchronization data bit is '0' and the payload bit is '1'.

도 10과 도 11에 따른 워터마크 패턴(140a, 140b)에 있어서, 4 종류의 픽셀 값이 나타나는데, 이 중에서 두 번째로 큰 픽셀 값은 페이로드의 비트 만이 '1' 임을 나타내고, 세 번째로 큰 픽셀 값(즉, 두 번째로 작은 픽셀 값)은 동기화 데이터의 비트 만이 '1' 임을 나타낼 수 있다.In the watermark patterns 140a and 140b according to FIGS. 10 and 11, four types of pixel values appear, of which the second largest pixel value indicates that only the bit of the payload is '1', and the third largest pixel value indicates that only the bit of the payload is '1'. The pixel value (i.e., the second smallest pixel value) may indicate that only the bit of synchronization data is '1'.

페이로드 패턴과 동기화 패턴에 서로 다른 가중치가 적용하는 것은, 결과 이미지에서 데이터를 추출할 때에 해당 데이터가 페이로드의 '1' 비트를 나타내는지 또는 동기화 데이터의 '1' 비트를 나타내는지를 명확하게 구별하기 위함이다. 만약, 페이로드의 '1' 비트를 나타내는 픽셀 값(255)과 동기화 데이터의 '0' 비트를 나타내는 픽셀 값(0)에 가중치를 적용하지 않고 워터마크 패턴을 형성하는 경우, 페이로드의 '1' 비트를 나타내는 픽셀 값(255)과 동기화 데이터의 '0' 비트를 나타내는 픽셀 값(0)의 평균을 나타내는 '128' 픽셀 값이 워터마크 패턴에 포함될 수 있다. 또한, 페이로드의 '0' 비트를 나타내는 픽셀 값(0)과 동기화 데이터의 '1' 비트를 나타내는 픽셀 값(255)에 가중치를 적용하지 않고 워터마크 패턴을 형성하는 경우, 페이로드의 '0' 비트를 나타내는 픽셀 값(0)과 동기화 데이터의 '1' 비트를 나타내는 픽셀 값(255)의 평균을 나타내는 '128' 픽셀 값이 워터마크 패턴에 포함될 수 있다. 이러한 '128' 픽셀 값이 워터마크 데이터 추출시에 획득되는 경우, 상기 '128' 픽셀 값이 페이로드 비트 '1' 또는 '0' 비트를 의미하는지, 동기화 비트 '1' 또는 '0'을 의미하는지를 명확하게 구별할 수가 없다. 하지만 본 실시예에 따라 페이로드 패턴과 동기화 패턴에 서로 상이한 가중치를 적용하면, 워터마크 데이터를 추출할 때에, 워터마크 패턴에 나타나는 중간구간의 픽셀 값이 페이로드 비트 '1', '0' 중에서 어느 것을 나타내는지를 정확하게 구별할 수 있고, 또한 동기화 비트 '1', '0' 중에서 어느 것을 나타내는지를 정확하게 구별할 수 있다.Applying different weights to the payload pattern and synchronization pattern makes it clear when extracting data from the resulting image whether the data represents the '1' bit of the payload or the '1' bit of the synchronization data. This is to do so. If a watermark pattern is formed without applying weight to the pixel value (255) representing the '1' bit of the payload and the pixel value (0) representing the '0' bit of the synchronization data, the '1' bit of the payload The pixel value '128' representing the average of the pixel value (255) representing the ' bit and the pixel value (0) representing the '0' bit of the synchronization data may be included in the watermark pattern. In addition, when forming a watermark pattern without applying weight to the pixel value (0) representing the '0' bit of the payload and the pixel value (255) representing the '1' bit of the synchronization data, the '0' of the payload A pixel value of '128' representing the average of the pixel value (0) representing the 'bit and the pixel value (255) representing the '1' bit of the synchronization data may be included in the watermark pattern. If this '128' pixel value is obtained during watermark data extraction, does the '128' pixel value mean the payload bit '1' or '0' bit, or does it mean the synchronization bit '1' or '0'? It is not possible to clearly distinguish whether However, if different weights are applied to the payload pattern and synchronization pattern according to this embodiment, when extracting watermark data, the pixel value of the middle section appearing in the watermark pattern is selected from among payload bits '1' and '0'. It is possible to accurately distinguish which one it represents, and also which one among synchronization bits '1' and '0' it represents.

도 12를 참조하여, 워터마크 패턴을 이용하여 워터마크 데이터가 오리지널 이미지에 임베딩되는 방법(S150)을 보다 상세하게 설명한다.Referring to FIG. 12, a method (S150) of embedding watermark data in an original image using a watermark pattern will be described in more detail.

도 12을 참조하면, 워터마크 패턴에 포함된 픽셀들 중에서, 첫 번째 픽셀의 값을 확인할 수 있다(S151). 일 실시예에서, 상기 픽셀 값은 0 ~ 255의 범위일 수 있으며, 또한 4 가지의 값 중에서 어느 하나일 수 있다. 도 10를 예로 들면, 픽셀 값은 0, 64, 192, 255 중에서 어느 하나일 수 있으며, 도 11을 예로 들면 픽셀 값은 0, 43, 213, 255 중에서 어느 하나일 수 있다.Referring to FIG. 12, the value of the first pixel among the pixels included in the watermark pattern can be confirmed (S151). In one embodiment, the pixel value may range from 0 to 255, and may also be any one of four values. Taking Figure 10 as an example, the pixel value may be any one of 0, 64, 192, and 255, and using Figure 11 as an example, the pixel value may be any one of 0, 43, 213, and 255.

다음으로, 상기 확인된 픽셀 값에 대응되는 임베딩 규칙이 확인된다(S152).Next, the embedding rule corresponding to the confirmed pixel value is confirmed (S152).

도 13은 몇몇 실시예에서 참조되는 임베딩 규칙을 예시하는 도면으로서, 픽셀 값과 임베딩 규칙(151 ~ 154)이 매핑될 수 있다. 도 13에 따르면, 가장 큰 픽셀 값(255)인 경우에 제1 임베딩 규칙(151)이 적용되고, 두 번째로 큰 픽셀 값(192)인 경우에 제2 임베딩 규칙(152)이 적용되고, 세 번째로 큰 픽셀 값(64)인 경우 제3 임베딩 규칙(153)이 적용되고, 가장 작은 픽셀 값(0)인 경우, 제4 임베딩 규칙(154)이 적용될 수 있다. 13 is a diagram illustrating embedding rules referenced in some embodiments, in which pixel values and embedding rules 151 to 154 may be mapped. According to FIG. 13, the first embedding rule 151 is applied in the case of the largest pixel value 255, the second embedding rule 152 is applied in the case of the second largest pixel value 192, and three For the largest pixel value (64), the third embedding rule 153 may be applied, and for the smallest pixel value (0), the fourth embedding rule 154 may be applied.

다음으로, 상기 확인된 임베딩 규칙에 근거하여, Lab 기반의 a 채널과 b 채널을 소정의 조정 값(즉, α)만큼 상반되게 조정하고, 더불어 조정된 a 채널과 b 채널에 제3 가중치(W3) 또는 제4 가중치(W4)를 적용하여, 오리지널 이미지의 픽셀의 a 채널과 b 채널을 조정함으로써, 노이즈 기반 이미지에 해당하며 페이로드와 동기화 데이터를 내재하는 워터마크 패턴을 오리지널 이미지에 임베딩할 수 있다(S153). Next, based on the confirmed embedding rules, the Lab-based a channel and b channel are adjusted differently by a predetermined adjustment value (i.e., α), and a third weight (W3) is applied to the adjusted a channel and b channel. ) or by applying the fourth weight (W4) to adjust the a and b channels of the pixels of the original image, a watermark pattern that corresponds to a noise-based image and contains payload and synchronization data can be embedded in the original image. There is (S153).

일 실시예에서, a 채널이 조정 값(α)만큼 증가되어 조정되면 b 채널이 조정 값만큼 감소되고, a 채널이 조정 값 (α)만큼 감소되면 b 채널이 조정 값(α)만큼 증가될 수 있다. 일 실시예에서, 워터마크 패턴의 픽셀 값이 페이로드 비트 '1'을 나타내는 경우에, a 채널이 조정 값(α)만큼 증가되고 b 채널이 조정 값(α)만큼 감소될 수 있다. 상기 페이로드 비트 '1'을 나타나는 경우는, 워터마크 패턴에서 첫 번째로 큰 픽셀 값과 두 번째로 큰 픽셀 값일 수 있다. 도 13을 참조하면, 픽셀 값이 '255'이거나 '192'인 경우에, a 채널이 조정 값(α)만큼 증가되고 b 채널이 조정 값(α)만큼 감소되는 제1 임베딩 규칙(151) 또는 제2 임베딩 규칙(152)이 이용될 수 있다. 또한, 워터마크 패턴의 픽셀 값이 페이로드 비트 '0'을 나타내는 경우에, a 채널이 조정 값(α)만큼 감소되고 b 채널이 조정 값(α)만큼 증가될 수 있다. 상기 페이로드 비트 '0'을 나타나는 경우는, 워터마크 패턴에서 첫 번째로 작은 픽셀 값과 두 번째로 작은(세 번째로 큰) 픽셀 값일 수 있다. 도 13을 참조하면, 픽셀 값이 '64'이거나 '0'인 경우에, a 채널이 조정 값(α)만큼 감소되고 b 채널이 조정 값(α)만큼 증가되는 제3 임베딩 규칙(153) 또는 제4 임베딩 규칙(154)이 이용될 수 있다.In one embodiment, when the a channel is adjusted by increasing the adjustment value (α), the b channel can be decreased by the adjustment value, and when the a channel is decreased by the adjustment value (α), the b channel can be increased by the adjustment value (α). there is. In one embodiment, when the pixel value of the watermark pattern indicates payload bit '1', the a channel may be increased by the adjustment value (α) and the b channel may be decreased by the adjustment value (α). When the payload bit '1' appears, it may be the first and second largest pixel values in the watermark pattern. Referring to FIG. 13, when the pixel value is '255' or '192', the a channel is increased by the adjustment value (α) and the b channel is decreased by the adjustment value (α). Or A second embedding rule 152 may be used. Additionally, when the pixel value of the watermark pattern indicates payload bit '0', the a channel may be decreased by the adjustment value (α) and the b channel may be increased by the adjustment value (α). When the payload bit '0' appears, it may be the first smallest pixel value and the second smallest (third largest) pixel value in the watermark pattern. Referring to FIG. 13, when the pixel value is '64' or '0', the a channel is reduced by the adjustment value (α) and the b channel is increased by the adjustment value (α). Or A fourth embedding rule 154 may be used.

일 실시예에서, 워터마크 패턴의 픽셀 값이 페이로드 비트와 동기화 비트가 서로 동일한 비트인 것을 나타내는 경우, 조정된 a 채널과 조정된 b 채널에 제3 가중치(W3)가 적용될 수 있다. 페이로드 비트와 동기화 비트가 서로 동일한 경우는, 워터마크 패턴에서 가장 큰 픽셀 값과 가장 작은 픽셀 값일 수 있다. 도 13을 참조하면, 픽셀 값이 '255'이거나 '0'인 경우에, a 채널과 b 채널에 제3 가중치(W3)가 적용되는 제1 임베딩 규칙(151) 또는 제4 임베딩 규칙(154)이 이용될 수 있다. 또한, 워터마크 패턴의 픽셀 값이 페이로드 비트와 동기화 비트가 서로 상이한 비트인 것을 나타내는 경우에, 조정된 a 채널과 조정된 b 채널에 제4 가중치(W4)가 적용될 수 있다. 페이로드 비트와 동기화 비트가 상이한 경우는, 워터마크 패턴에서 두 번째로 큰 픽셀 값과 세 번째로 큰 픽셀 값일 수 있다. 도 13을 참조하면, 픽셀 값이 '192'이거나 '64'인 경우에, a 채널과 b 채널에 제4 가중치(W4)가 적용되는 제2 임베딩 규칙(152) 또는 제3 임베딩 규칙(153)이 이용될 수 있다.In one embodiment, when the pixel value of the watermark pattern indicates that the payload bit and the synchronization bit are the same bit, a third weight (W3) may be applied to the adjusted a channel and the adjusted b channel. If the payload bit and the synchronization bit are the same, they may be the largest and smallest pixel values in the watermark pattern. Referring to FIG. 13, when the pixel value is '255' or '0', the first embedding rule 151 or the fourth embedding rule 154 applies the third weight W3 to the a channel and the b channel. This can be used. Additionally, when the pixel value of the watermark pattern indicates that the payload bit and the synchronization bit are different bits, the fourth weight W4 may be applied to the adjusted a channel and the adjusted b channel. If the payload bit and synchronization bit are different, it may be the second largest pixel value and the third largest pixel value in the watermark pattern. Referring to FIG. 13, when the pixel value is '192' or '64', the second embedding rule 152 or the third embedding rule 153 applies the fourth weight W4 to the a channel and the b channel. This can be used.

상기 제3 가중치(W3)는 제4 가중치(W4)가 더 클 수 있다. 또한, 제3 가중치(W3)는 동기화 패턴과 페이로드 패턴에 적용된 제1 가중치(W1), 제2 가중치(W2) 중에서 하나 이상에 기반하여 설정될 수 있다. 또한, 제4 가중치(W4)는 동기화 패턴과 페이로드 패턴에 적용된 제1 가중치(W1), 제2 가중치(W2) 중에서 하나 이상에 기반하여 설정될 수 있다. 일 실시예에서, 제3 가중치(W3)는 제1 가중치(W1)와 동일하거나 제1 가중치(W1)와 비례하여 그 값이 결정될 수 있다. 또한, 제4 가중치(W4)는 제2 가중치(W2)와 동일하거나 제2 가중치(W2)와 비례하여 그 값이 결정될 수 있다.The third weight W3 may be larger than the fourth weight W4. Additionally, the third weight W3 may be set based on one or more of the first weight W1 and the second weight W2 applied to the synchronization pattern and the payload pattern. Additionally, the fourth weight W4 may be set based on one or more of the first weight W1 and the second weight W2 applied to the synchronization pattern and the payload pattern. In one embodiment, the third weight W3 may be equal to the first weight W1 or may be determined in proportion to the first weight W1. Additionally, the fourth weight W4 may be equal to the second weight W2 or may be determined in proportion to the second weight W2.

몇몇 실시예에 따르면, 오리지널 이미지가 분석되어, 오리지널 이미지의 고주파 영역이 먼저 확인될 수 있다. 즉, 오리지널 전체 이미지에서 고주파수에 해당하는 영역이 식별될 수 있다. 상기 고주파수에 해당하는 주파수 범위는 사전에 미리 설정될 수 있다. 고주파 영역에 포함된 픽셀 값이 조정되는 경우, 임베딩 규칙에 포함되는 조정 값(α)이 증가될 수 있다. 즉, 고주파 영역의 픽셀을 대상으로, Lab 기반의 a 채널과 b 채널이 조정 값(즉, α)만큼 상반되게 조정되는 경우, 저주파 영역의 채널 조정 방법과는 다르게 상기 조정 값(즉, α)이 소정 값만큼 증가되도록 조정되고, 이에 따라 고주파 영역에서는 a 채널과 b 채널이 더욱 차이가 많이 발생하도록 해당 픽셀의 a 채널과 b 채널이 조정될 수 있다.According to some embodiments, the original image may be analyzed, and high frequency regions of the original image may be identified first. That is, an area corresponding to a high frequency can be identified in the entire original image. The frequency range corresponding to the high frequency may be set in advance. When pixel values included in the high-frequency area are adjusted, the adjustment value (α) included in the embedding rule may be increased. In other words, when the Lab-based a channel and b channel are adjusted differently by the adjustment value (i.e., α) for pixels in the high-frequency area, unlike the channel adjustment method in the low-frequency area, the adjustment value (i.e., α) This is adjusted to increase by a predetermined value, and accordingly, the a and b channels of the corresponding pixel can be adjusted so that there is a greater difference between the a and b channels in the high frequency region.

다음으로, 워터마크 패턴의 모든 픽셀이 오리지널 이미지에 임베딩 처리되어 있는지 여부를 확인하고, 임베딩 처리되지 않으면 다음 픽셀로 이동할 수 있다(S154, S155).Next, check whether all pixels of the watermark pattern are embedded in the original image, and if they are not embedded, you can move to the next pixel (S154, S155).

본 실시예에 따르면, Lab 기반의 a 채널과 b 채널을 이용하는 경우, 녹색(green)이 오리지널 이미지에서 상승되어, 워터마크 데이터의 비가시성이 향상될 수 있다. 또한, 워터마크 패턴에서 최대 값의 픽셀과 최소 값의 픽셀에 대해서, a 채널과 b 채널에 상대적으로 큰 제3 가중치(W3)를 적용함으로써, 워터마크 데이터의 비가시성을 더욱 향상시킬 수 있다. 아울러, 워터마크 데이터가 디코딩되어 추출되는 경우에, 페이로드가 더욱 증폭되게 하여 페이로드가 확실하게 인식되게 할 수 있다. According to this embodiment, when using Lab-based a and b channels, green is increased in the original image, and the invisibility of watermark data can be improved. Additionally, the invisibility of the watermark data can be further improved by applying a relatively large third weight (W3) to the a and b channels for the pixels with the maximum value and the pixel with the minimum value in the watermark pattern. In addition, when the watermark data is decoded and extracted, the payload can be further amplified so that the payload can be reliably recognized.

워터마크 데이터의 추출Extraction of watermark data

이하, 본 발명의 다른 실시예에 다른 워터마크 데이터의 추출 방법에 대하여 도 14 및 도 15를 참조하여 설명한다. Hereinafter, a method of extracting watermark data according to another embodiment of the present invention will be described with reference to FIGS. 14 and 15.

본 실시예에 따른 워터마크 데이터의 추출 방법은, 예를 들어 컴퓨팅 장치에 의하여 실행될 수 있다. 본 실시예에 따른 워터마크 데이터의 추출 방법은 상기 설명된 본 발명의 일 실시예에 따른 워터마크 데이터의 임베드 방법에 의하여 임베드 된 워터마크 데이터에 대하여 적용 가능하다. 본 실시예에 따른 설명 가능한 워터마크 데이터 추출 방법은 복수의 컴퓨팅 장치들에 의하여 나뉘어 수행될 수도 있다. 이하, 본 실시예에 따른 설명 가능한 워터마크 데이터 추출 방법을 설명함에 있어서, 각각의 동작의 주체에 대한 기재가 생략될 수 있으며, 이 경우 상기 동작의 주체는 컴퓨팅 장치인 것으로 이해될 수 있을 것이다. 먼저, 도 14를 참조하여 설명한다.The method for extracting watermark data according to this embodiment can be executed, for example, by a computing device. The method of extracting watermark data according to this embodiment is applicable to watermark data embedded by the method of embedding watermark data according to an embodiment of the present invention described above. The explainable watermark data extraction method according to this embodiment may be performed separately by a plurality of computing devices. Hereinafter, in explaining the explainable watermark data extraction method according to this embodiment, description of the subject of each operation may be omitted, and in this case, it will be understood that the subject of the operation is a computing device. First, it will be described with reference to FIG. 14.

본 실시예에 따른 워터마크 데이터의 추출 방법은 촬영 이미지를 획득하는 것에 의하여 시작된다(S210).The method of extracting watermark data according to this embodiment begins by acquiring a captured image (S210).

상기 촬영 이미지에서 워터마크 데이터를 인식하기 전에, 상기 촬영 이미지를 전처리하는 과정을 더 포함될 수 있다. 만약 현존하는 디지털 워터마킹 기술과 같이 워터마크가 삽입된 디지털 이미지 파일 그대로를 가지고 PC상에서 워터마크를 추출한다면 임베드 과정을 정확히 역으로 수행하면 워터마크를 추출할 수 있다. 하지만 스마트폰 카메라 등 이동 단말의 카메라를 이용하여 워터마크가 임베딩된 이미지가 촬영될 수 있으므로, 워터마크 데이터를 추출하기 전 이미지 전처리 과정이 필요할 수 있다. Before recognizing the watermark data in the captured image, a process of preprocessing the captured image may be further included. If you extract the watermark on a PC using the digital image file with the watermark inserted, as in the existing digital watermarking technology, you can extract the watermark by exactly reversing the embedding process. However, since an image with an embedded watermark may be captured using a camera of a mobile terminal such as a smartphone camera, an image pre-processing process may be necessary before extracting the watermark data.

전처리 과정은 카메라에 찍힌 사진 내에 워터마크 존재여부를 판단할 물체의 위치, 크기, 회전여부, 밝기, 파손여부 등 많은 변수 속에서도 높은 인식률 유지가 가능하게 만든다. 이 과정에서 임베드 과정에서 삽입한 동기화 신호를 이용해 워터마크의 존재 여부를 가려내고 데이터를 추출하기 최적의 조건으로 이미지를 변형한다.The preprocessing process makes it possible to maintain a high recognition rate even among many variables such as the location, size, rotation, brightness, and damage of the object that determines whether or not a watermark exists in the photo taken by the camera. In this process, the presence of a watermark is determined using the synchronization signal inserted during the embedding process, and the image is transformed to optimal conditions for data extraction.

상기 전처리 과정을 본격적으로 수행하기 전에, 사전 보정이 수행될 수 있다. 예를 들어, 워터마크의 존재여부를 판별할 물체를 스마트폰 카메라를 이용해 비추었을 때 스마트폰 화면에 들어오는 프리뷰를 1920x1080 크기로 캡쳐 한다. 이 후, 캡쳐한 이미지의 모든 픽셀 값들을 Lab 기반의 컬러로 변환할 수 있다. 다음으로, 사용자가 카메라로 물체를 비출 때 물체가 화면의 정중앙에 오도록 비출 가능성이 매우 높기 때문에 불필요한 연산을 줄여주기 위해 1024x1024 크기의 이미지로 정중앙 영역을 추출할 수 있다. 다음으로, 추출한 정사각형의 이미지를 256x256 크기로 축소할 수 있다. 다음으로, 256x256 크기로 축소된 이미지를 한번의 Deblur 과정을 거쳐 선명하게 만들어줄 수 있다. Before performing the pre-processing process in earnest, pre-correction may be performed. For example, when an object to determine whether a watermark exists is illuminated using a smartphone camera, the preview that appears on the smartphone screen is captured in a size of 1920x1080. After this, all pixel values of the captured image can be converted to Lab-based color. Next, when a user projects an object with a camera, there is a very high possibility that the object will be displayed in the exact center of the screen, so the exact center area can be extracted as an image of 1024x1024 size to reduce unnecessary calculations. Next, the extracted square image can be reduced to 256x256 size. Next, the image reduced to 256x256 size can be made clear through a single deblur process.

이상 설명한 사전 보정이, S210 단계에서 획득된 촬영 이미지에 대하여 수행될 수 있다.The pre-correction described above may be performed on the captured image acquired in step S210.

다음으로, 촬영 이미지의 모노크롬으로 변환하여, 촬영 이미지에서 노이즈 베이스 기반의 워터마크 패턴을 획득할 수 있다(S220). 일 실시예에서, 상기 촬영 이미지에 내재된 상기 워터마크 패턴의 발현이 극대화되도록, a 채널에서 b 채널을 감산하여 상기 촬영 이미지를 모노크롬으로 변환할 수 있다. 몇몇 실시예에서, 상기 촬영 이미지에 소정의 필터가 적용되어 워터마크 패턴이 촬영 이미지에서 더욱 확실하게 획득될 수 있다. Next, the captured image can be converted to monochrome, and a noise base-based watermark pattern can be obtained from the captured image (S220). In one embodiment, the captured image may be converted to monochrome by subtracting the b channel from the a channel to maximize the expression of the watermark pattern inherent in the captured image. In some embodiments, a watermark pattern can be more reliably obtained from the captured image by applying a predetermined filter to the captured image.

다음으로, 획득된 워터마크 패턴에 포함된 픽셀 값이 분석되어 워터마크 패턴에서 동기화 데이터 및 페이로드 중에서 하나 이상이 인식될 수 있다(S230). Next, the pixel value included in the obtained watermark pattern is analyzed, and one or more of synchronization data and payload can be recognized in the watermark pattern (S230).

본 실시예에 따르면, 채널에서 b 채널을 감산하여 상기 촬영 이미지를 모노크롬으로 변환함으로써, a 채널의 페이로드가 더욱 증폭되어 페이로드를 인식률을 향상시키는 효과를 발휘할 수 있다.According to this embodiment, by subtracting the b channel from the channel to convert the captured image into monochrome, the payload of the a channel can be further amplified, resulting in an effect of improving the payload recognition rate.

도 15를 참조하여, 상기 워터마크 패턴에서 데이터가 인식되는 방법(S230)에 대해서 상세하게 설명한다.Referring to FIG. 15, a method for recognizing data from the watermark pattern (S230) will be described in detail.

도 15를 참조하면, 촬영 이미지에서 획득된 워터마크 패턴에서 특정 픽셀 값이 확인될 수 있다(S231). Referring to FIG. 15, a specific pixel value can be confirmed in the watermark pattern obtained from the captured image (S231).

이어서, 상기 확인된 픽셀 값이 최대 값(255), 최소 값(0) 중에서 어느 하나에 해당하는지 여부를 확인한다(S232). 상기 픽셀 값이 최대 값(255), 최소 값(0) 중에서 어느 하나에 해당하면, 상기 픽셀 값은 페이로드 비트와 동기화 비트를 동일한 것임을 나타내는 것으로 인식할 수 있다(S233). 일 실시예에서, 픽셀 값이 최대 값(255)인 경우 페이로드 비트와 동기화 비트가 모두 '1'로서 인식될 수 있으며, 픽셀 값이 최소 값(0)인 경우 페이로드 비트와 동기화 비트가 모두 '0'인 것으로 인식될 수 있다. Next, it is checked whether the confirmed pixel value corresponds to either the maximum value (255) or the minimum value (0) (S232). If the pixel value corresponds to either the maximum value (255) or the minimum value (0), the pixel value can be recognized as indicating that the payload bit and the synchronization bit are the same (S233). In one embodiment, if the pixel value is the maximum value (255), both the payload bit and the synchronization bit may be recognized as '1', and if the pixel value is the minimum value (0), both the payload bit and the synchronization bit may be recognized as '1'. It can be recognized as '0'.

S232 단계의 판별 결과 상기 확인된 픽셀 값이 최대 값(255), 최소 값(0) 어느 하나에 해당하지 않으면, 상기 확인된 픽셀 값이 두 번째로 큰 제2 픽셀값에 해당하는지 여부를 확인할 수 있다(S234). 상기 확인 결과, 상기 확인된 픽셀 값이 두 번째로 큰 제2 픽셀 값이면, 페이로드 비트가 '1'이고, 동기화 비트가 '0'인 것으로 인식될 수 있다(S235). As a result of the determination in step S232, if the confirmed pixel value does not correspond to either the maximum value (255) or the minimum value (0), it can be confirmed whether the confirmed pixel value corresponds to the second largest pixel value. There is (S234). As a result of the confirmation, if the confirmed pixel value is the second largest pixel value, the payload bit may be recognized as '1' and the synchronization bit may be recognized as '0' (S235).

한편, S234 단계에서 상기 픽셀 값이 세 번째로 큰 제3 픽셀 값이면, 페이로드 비트가 '0'비트이고, 동기화 비트가 '1'비트인 것으로 인식될 수 있다(S236). Meanwhile, in step S234, if the pixel value is the third largest pixel value, it may be recognized that the payload bit is a '0' bit and the synchronization bit is a '1' bit (S236).

다음으로, 워터마크 패턴의 모든 픽셀에 대한 데이터 인식(즉, 비트 인식)이 처리되었는지 여부를 판별될 수 있으며(S237), 모든 픽셀에 대한 데이터 인식이 처리되지 않은 경우 다음 픽셀로 이동한 후(S238) S231 단계부터의 프로세스를 다시 진행할 수 있다.Next, it can be determined whether data recognition (i.e., bit recognition) for all pixels of the watermark pattern has been processed (S237), and if data recognition for all pixels has not been processed, move to the next pixel (S237). S238) The process from step S231 can be repeated.

도 15에 따라, 워터마크 패턴에 포함된 모든 픽셀 값을 나타내는 비트가 인식되고, 인식된 비트들이 조합되어 전체 페이로드와 동기화 데이터가 인식될 수 있다. 동기화 데이터가 인식된 후에, 동기화 데이터를 이용하여 페이로드의 시작과 끝에 해당하는 비트가 정확하게 인식될 수 있다.According to FIG. 15, bits representing all pixel values included in the watermark pattern are recognized, and the recognized bits are combined to recognize the entire payload and synchronization data. After the synchronization data is recognized, the bits corresponding to the start and end of the payload can be accurately recognized using the synchronization data.

본 실시예에 따르면, 워터마크 패턴에 포함된 픽셀 값이 페이로드 비트 '0'또는 '1'를 나타내는지 또는 동기화 비트 '0'또는 '1'를 나타내는지를 명확하게 구별하여 확인할 수 있다. According to this embodiment, it is possible to clearly distinguish whether the pixel value included in the watermark pattern represents payload bit '0' or '1' or synchronization bit '0' or '1'.

지금까지 설명된 본 발명의 실시예에 따른 방법들은 컴퓨터가 읽을 수 있는 코드로 구현된 컴퓨터프로그램의 실행에 의하여 수행될 수 있다. 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 제1 컴퓨팅 장치로부터 제2 컴퓨팅 장치에 전송되어 상기 제2 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 제2 컴퓨팅 장치에서 사용될 수 있다. 상기 제1 컴퓨팅 장치 및 상기 제2 컴퓨팅 장치는, 서버 장치, 클라우드 서비스를 위한 서버 풀에 속한 물리 서버, 데스크탑 피씨와 같은 고정식 컴퓨팅 장치를 모두 포함한다.The methods according to embodiments of the present invention described so far can be performed by executing a computer program implemented as computer-readable code. The computer program may be transmitted from a first computing device to a second computing device through a network such as the Internet, installed on the second computing device, and thereby used on the second computing device. The first computing device and the second computing device include both a server device, a physical server belonging to a server pool for a cloud service, and a stationary computing device such as a desktop PC.

상기 컴퓨터프로그램은 DVD-ROM, 플래시 메모리 장치 등의 기록매체에 저장된 것일 수도 있다.The computer program may be stored in a recording medium such as a DVD-ROM or flash memory device.

이하, 본 발명의 다른 실시예에 다른 데이터 임베딩 장치의 구성 및 동작을 도 16을 참조하여 설명하기로 한다. Hereinafter, the configuration and operation of a data embedding device according to another embodiment of the present invention will be described with reference to FIG. 16.

도 16에 도시된 바와 같이, 본 실시예에 따른 데이터 임베딩 장치(300)는 메모리(RAM)(330), 메모리(330)에 로드 된 데이터 임베딩 소프트웨어 오퍼레이션을 실행하는 이미지 프로세서(320) 및 스토리지(340)를 포함한다. 일 실시예에서, 임베딩 장치(300)는 이미지 센서(310), 네트워크 인터페이스(370), 시스템 버스(350) 및 프린터 인터페이스(360)를 더 포함할 수 있다.As shown in FIG. 16, the data embedding device 300 according to this embodiment includes a memory (RAM) 330, an image processor 320 that executes a data embedding software operation loaded into the memory 330, and a storage ( 340). In one embodiment, the embedding device 300 may further include an image sensor 310, a network interface 370, a system bus 350, and a printer interface 360.

스토리지(340)는 도 1 내지 도 15을 참조하여 설명한 데이터 임베딩 방법을 소프트웨어 형태로 구현한 데이터 임베딩 소프트웨어의 실행 파일(바이너리 파일)(342)을 저장한다. 데이터 임베딩 소프트웨어의 실행 파일(342)은 버스(350)를 통해 메모리(330)에 로드 될 수 있다. 도 16에는 메모리(330)에 로드 된 데이터 임베딩 소프트웨어의 오퍼레이션(332)이 도시되어 있다.The storage 340 stores an executable file (binary file) 342 of data embedding software that implements the data embedding method described with reference to FIGS. 1 to 15 in software form. The executable file 342 of the data embedding software may be loaded into the memory 330 through the bus 350. 16 shows an operation 332 of data embedding software loaded into memory 330.

데이터 임베딩 장치(300)는 페이로드를 네트워크 인터페이스(370)를 통하여 외부 장치로부터 수신하거나, 키보드, 마우스 등 입력부(미도시)를 통하여 사용자로부터 직접 입력 받거나, 스토리지(340)에 저장된 페이로드(미도시)를 리드(read)할 수 있다. 데이터 임베딩 장치(300)는 상기 페이로드를 임베드 할 대상인 오리지널 이미지를, 대상 물체를 촬영하는 이미지 센서(310)로부터 얻거나, 네트워크 인터페이스(370)를 통하여 외부 장치로부터 수신하거나, 스토리지(340)에서 리드(read)할 수 있다.The data embedding device 300 receives the payload from an external device through the network interface 370, directly inputs the payload from the user through an input unit (not shown) such as a keyboard or mouse, or payload (not shown) stored in the storage 340. Poetry) can be read. The data embedding device 300 obtains the original image into which the payload is to be embedded from the image sensor 310 that photographs the target object, receives it from an external device through the network interface 370, or receives it from the storage 340. Can read.

데이터 임베딩 장치(300)는 상기 페이로드 및 상기 오리지널 이미지를 데이터 임베딩 소프트웨어에 입력하여 산출된 결과물 이미지를 네트워크 인터페이스(370)를 통하여 외부 장치에 송신하거나, 디스플레이 장치(미도시)에 디스플레이 하거나, 프린터 인터페이스(360)를 통해 연결된 프린팅 장치를 통하여 프린트 할 수 있다.The data embedding device 300 inputs the payload and the original image into data embedding software and transmits the resulting image to an external device through the network interface 370, displays it on a display device (not shown), or prints it on a printer. Printing can be done through a printing device connected through the interface 360.

본 실시예에 따른 데이터 임베딩 장치(300)는, 예를 들어 컴퓨팅 장치이거나, 프린팅 장치일 수 있다. 데이터 임베딩 장치(300)가 프린팅 장치인 경우, 데이터 임베딩 장치(300)는 프린터 인터페이스(360) 대신 프린팅 기능의 수행을 위한 구성요소들을 포함할 수 있다.The data embedding device 300 according to this embodiment may be, for example, a computing device or a printing device. When the data embedding device 300 is a printing device, the data embedding device 300 may include components for performing a printing function instead of the printer interface 360.

이하, 본 발명의 다른 실시예에 다른 데이터 디코딩 장치의 구성 및 동작을 도 17을 참조하여 설명하기로 한다. 본 명세서에서 워터마크 데이터 디코딩과 워터마크 데이터 추출은 실질적으로 동일한 동작을 가리킨다. 도 17에 도시된 바와 같이, 본 실시예에 따른 데이터 디코딩 장치(400)는 메모리(RAM)(430), 메모리(430)에 로드 된 데이터 디코딩 소프트웨어 오퍼레이션을 실행하는 이미지 프로세서(420) 및 스토리지(440)를 포함한다. 일 실시예에서, 디코딩 장치(400)는 이미지 센서(410), 네트워크 인터페이스(470), 시스템 버스(350) 및 페이로드 해석 프로세서(460)를 더 포함할 수 있다.Hereinafter, the configuration and operation of a data decoding device according to another embodiment of the present invention will be described with reference to FIG. 17. In this specification, watermark data decoding and watermark data extraction refer to substantially the same operation. As shown in FIG. 17, the data decoding device 400 according to this embodiment includes a memory (RAM) 430, an image processor 420 that executes a data decoding software operation loaded into the memory 430, and a storage ( 440). In one embodiment, the decoding device 400 may further include an image sensor 410, a network interface 470, a system bus 350, and a payload interpretation processor 460.

스토리지(440)는 도 1 내지 도 15을 참조하여 설명한 데이터 추출 방법을 소프트웨어 형태로 구현한 데이터 디코딩 소프트웨어의 실행 파일(바이너리 파일)(442)을 저장한다. 데이터 디코딩 소프트웨어의 실행 파일(442)은 버스(450)를 통해 메모리(430)에 로드 될 수 있다. 도 17에는 메모리(430)에 로드 된 데이터 디코딩 소프트웨어의 오퍼레이션(432)이 도시되어 있다.The storage 440 stores an executable file (binary file) 442 of data decoding software that implements the data extraction method described with reference to FIGS. 1 to 15 in software form. The executable file 442 of the data decoding software may be loaded into the memory 430 through the bus 450. 17 shows an operation 432 of data decoding software loaded into memory 430.

데이터 디코딩 장치(400)는 워터마크 데이터가 임베딩 된 이미지가 프린트 된 대상 물체를 촬영하는 이미지 센서(410)로부터 촬영 이미지의 데이터를 얻거나, 네트워크 인터페이스(470)를 통하여 외부 장치로부터 수신하거나, 스토리지(440)에 저장된 촬영 이미지의 데이터를 얻을 수 있다. 상기 촬영 이미지의 데이터는 시스템 버스(450)를 통하여 메모리(430)에 로드 되고, 데이터 임베딩 소프트웨어 오퍼레이션(432)의 실행 시 참조된다.The data decoding device 400 obtains data of the captured image from the image sensor 410 that photographs the target object on which the image with the watermark data embedded is printed, receives it from an external device through the network interface 470, or receives it from a storage device. Data of the captured image stored at (440) can be obtained. The data of the captured image is loaded into the memory 430 through the system bus 450 and is referenced when executing the data embedding software operation 432.

데이터 디코딩 장치(400)는 데이터 임베딩 소프트웨어 오퍼레이션(432)의 실행 결과로 추출된 워터마크 데이터를 디스플레이(미도시)에 표시하거나, 네트워크 인터페이스(470)를 통하여 외부 장치에 송신하거나, 스토리지(440)에 저장할 수 있다.The data decoding device 400 displays the watermark data extracted as a result of execution of the data embedding software operation 432 on a display (not shown), transmits it to an external device through the network interface 470, or stores it in the storage 440. It can be saved in .

일 실시예에서, 데이터 디코딩 장치(400)는 상기 추출된 워터마크 데이터를 이용한 프로세스를 수행하는 워터마킹 해석 프로세서(460)를 포함할 수 있다. 예를 들어, 워터마크 데이터에 포함된 페이로드의 바디 데이터를 추출하고(표 1 참조), 상기 바디 데이터 및 컨트롤 파라미터(표 1 참조)를 수납한 컨텐츠 요청을 네트워크 인터페이스(470)를 통하여 컨텐츠 서버(미도시)에 송신할 수 있다. 데이터 디코딩 장치(400)의 디스플레이 장치(미도시)는 상기 컨텐츠 서버로부터 상기 컨텐츠 요청에 대한 응답으로서 수신된 컨텐츠를 디스플레이 할 수 있다.In one embodiment, the data decoding device 400 may include a watermarking analysis processor 460 that performs a process using the extracted watermark data. For example, the body data of the payload included in the watermark data is extracted (see Table 1), and a content request containing the body data and control parameters (see Table 1) is sent to the content server through the network interface 470. It can be transmitted to (not shown). A display device (not shown) of the data decoding device 400 may display content received from the content server as a response to the content request.

본 실시예에 따른 데이터 디코딩 장치(400)는, 예를 들어 카메라가 구비된 이동 단말일 수 있다.The data decoding device 400 according to this embodiment may be, for example, a mobile terminal equipped with a camera.

이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.Although embodiments of the present invention have been described above with reference to the attached drawings, those skilled in the art will understand that the present invention can be implemented in other specific forms without changing its technical idea or essential features. can understand. Therefore, the embodiments described above should be understood in all respects as illustrative and not restrictive.

Claims (14)

컴퓨팅 장치에 의해 수행되는 방법에 있어서,
페이로드가 내재된 페이로드 패턴에 제1 가중치를 적용하는 단계;
동기화 데이터가 내재된 동기화 패턴에 제2 가중치를 적용하는 단계;
상기 제1 가중치가 적용된 페이로드 패턴과 상기 제2 가중치가 동기화 패턴을 결합하여, 상기 페이로드와 상기 동기화 데이터가 내재된 워터마크 패턴을 생성하는 단계; 및
상기 워터마크 패턴을 이용하여 오리지널 이미지를 조정하여 상기 오리지널 이미지 내에 상기 페이로드와 상기 동기화 데이터를 임베딩하는 단계를 포함하되,
상기 제1 가중치 및 상기 제2 가중치는 상이한 것이고,
상기 페이로드 패턴의 픽셀이 흰색일 경우 픽셀 값은 비트 1과 매칭되고, 상기 페이로드 패턴의 픽셀이 검은색일 경우 픽셀 값은 비트 0과 매칭되고,
상기 동기화 패턴의 픽셀이 흰색일 경우 픽셀 값은 비트 1과 매칭되고, 상기 동기화 패턴의 픽셀이 검은색일 경우 픽셀 값은 비트 0과 매칭되고,
상기 워터마크 패턴을 생성하는 단계는,
상기 제1 가중치가 적용된 페이로드 패턴의 픽셀 값과 상기 제2 가중치가 적용된 동기화 패턴의 픽셀 값을 결합함에 따라, 상기 제1 가중치 및 상기 제2 가중치의 조합에 의하여 결정되는 서로 다른 4개의 픽셀 값 중 어느 하나의 픽셀 값을 가지는 픽셀들로 구성된 상기 워터마크 패턴을 생성하는 단계를 포함하는,
데이터 임베딩 방법.
In a method performed by a computing device,
Applying a first weight to a payload pattern in which the payload is embedded;
applying a second weight to a synchronization pattern in which synchronization data is embedded;
combining a payload pattern to which the first weight is applied and a synchronization pattern to which the second weight is applied, thereby generating a watermark pattern containing the payload and the synchronization data; and
Adjusting the original image using the watermark pattern and embedding the payload and the synchronization data within the original image,
the first weight and the second weight are different,
If the pixel of the payload pattern is white, the pixel value matches bit 1, and if the pixel of the payload pattern is black, the pixel value matches bit 0,
If the pixel of the synchronization pattern is white, the pixel value matches bit 1, and if the pixel of the synchronization pattern is black, the pixel value matches bit 0,
The step of generating the watermark pattern is,
By combining the pixel value of the payload pattern to which the first weight is applied and the pixel value of the synchronization pattern to which the second weight is applied, four different pixel values are determined by the combination of the first weight and the second weight. Comprising the step of generating the watermark pattern composed of pixels having any one of the pixel values,
Data embedding method.
제1 항에 있어서,
상기 제1 가중치가 상기 제2 가중치 보다 더 큰 것인,
데이터 임베딩 방법.
According to claim 1,
wherein the first weight is greater than the second weight,
Data embedding method.
제1 항에 있어서,
상기 워터마크 패턴을 생성하는 단계는,
상기 제1 가중치가 적용된 페이로드 패턴의 각 픽셀 값과, 상기 제2 가중치가 적용된 동기화 패턴의 각 픽셀 값의 평균을 픽셀별로 산출하고, 상기 산출된 평균이 해당 픽셀의 값으로 설정되는 워터마크 패턴을 생성하는 단계를 포함하는,
데이터 임베딩 방법.
According to claim 1,
The step of generating the watermark pattern is,
A watermark pattern in which the average of each pixel value of the payload pattern to which the first weight is applied and each pixel value of the synchronization pattern to which the second weight is applied is calculated for each pixel, and the calculated average is set as the value of the corresponding pixel. Including the step of generating,
Data embedding method.
제3 항에 있어서,
상기 페이로드 패턴과 상기 동기화 패턴은, 제1 색상의 픽셀 값 및 제2 색상의 픽셀 값으로 구성되고,
상기 워터마크 패턴은, 상기 제1 색상의 픽셀 값, 상기 제2 색상의 픽셀 값, 제3 색상의 픽셀 값 및 제4 색상의 픽셀 값으로 구성되는 것인,
데이터 임베딩 방법.
According to clause 3,
The payload pattern and the synchronization pattern are composed of a pixel value of a first color and a pixel value of a second color,
The watermark pattern is composed of a pixel value of the first color, a pixel value of the second color, a pixel value of the third color, and a pixel value of the fourth color,
Data embedding method.
제1 항에 있어서,
상기 임베딩하는 단계는,
상기 워터마크 패턴에 포함된 픽셀 값과 대응되는 임베딩 규칙을 기초로, 상기 오리지널 이미지의 픽셀을 Lab 기반 a 채널과 b 채널을 이용하여 조정하는 단계를 포함하고,
상기 임베딩 규칙은,
상기 픽셀 값이 최대 값 또는 두 번째로 큰 값이면 상기 a 채널을 소정의 조정 값만큼 증가시키고 상기 b 채널을 상기 조정 값만큼 감소시키는 규칙이고, 상기 픽셀 값이 최소 값 또는 세 번째로 큰 값이면 상기 a 채널을 상기 조정 값만큼 감소시키고 상기 b 채널을 상기 조정 값만큼 증가시키는 규칙인 것인,
데이터 임베딩 방법.
According to claim 1,
The embedding step is,
Based on an embedding rule corresponding to the pixel value included in the watermark pattern, adjusting the pixels of the original image using Lab-based a and b channels,
The embedding rule is,
If the pixel value is the maximum value or the second largest value, the a channel is increased by a predetermined adjustment value and the b channel is decreased by the adjustment value. If the pixel value is the minimum value or the third largest value, the rule is to increase the a channel by a predetermined adjustment value and decrease the b channel by the adjustment value. A rule that reduces the a channel by the adjustment value and increases the b channel by the adjustment value,
Data embedding method.
제5 항에 있어서,
상기 임베딩하는 단계는,
상기 오리지널 이미지의 고주파 영역에서 상기 조정 값이 상대적으로 증가하도록 상기 조정 값을 조정하는 단계를 포함하는,
데이터 임베딩 방법.
According to clause 5,
The embedding step is,
Comprising the step of adjusting the adjustment value so that the adjustment value relatively increases in the high frequency region of the original image,
Data embedding method.
제5 항에 있어서,
상기 임베딩 규칙은,
상기 픽셀 값이 최대 값 또는 최소 값이면 상기 a 채널과 상기 b 채널에 제3 가중치가 적용되는 규칙이고, 상기 픽셀 값이 최대 값과 최소 값이 아니면 상기 제3 가중치 보다 작은 제4 가중치가 상기 a 채널과 상기 b 채널에 적용되는 규칙인,
데이터 임베딩 방법.
According to clause 5,
The embedding rule is,
If the pixel value is the maximum or minimum value, a third weight is applied to the a channel and the b channel, and if the pixel value is not the maximum or minimum value, a fourth weight smaller than the third weight is applied to the a The rules applied to the channel and the b channel,
Data embedding method.
제7 항에 있어서,
상기 제3 가중치 또는 상기 제4 가중치는,
상기 제1 가중치, 상기 제2 가중치 중에서 어느 하나를 기반으로 설정되는 것인,
데이터 임베딩 방법.
According to clause 7,
The third weight or the fourth weight is,
Is set based on one of the first weight and the second weight,
Data embedding method.
삭제delete 삭제delete 삭제delete 컴퓨팅 장치에 의해 수행되는 방법에 있어서,
이미지를 분석하여 워터마크 패턴을 추출하는 단계;
상기 워터마크 패턴에 포함된 픽셀 값을 추출하는 단계; 및
미리 설정된 4 종류의 픽셀 값과 상기 추출한 픽셀 값을 비교하여, 상기 추출한 픽셀 값이 상기 4 종류의 픽셀 값들 중에서 가장 큰 픽셀 값인 경우 페이로드 비트가 '1'이고 동기화 비트가 '1'이며, 해당 페이로드 패턴의 픽셀이 흰색이고, 해당 동기화 패턴의 픽셀이 흰색인 것으로 인식하고, 상기 추출된 픽셀 값이 상기 4종류의 픽셀 값들 중에서 두 번째로 큰 픽셀 값인 경우 페이로드 비트가 '1'이고 동기화 비트가 '0'이며, 해당 페이로드 패턴의 픽셀이 흰색이고, 해당 동기화 패턴의 픽셀이 검은색인 것으로 인식하고, 상기 추출된 픽셀 값이 상기 4 종류의 픽셀 값들 중에서 세 번째로 큰 픽셀 값인 경우 페이로드 비트가 '0' 이고 동기화 비트가 '1'이며, 해당 페이로드 패턴의 픽셀이 검은색이고, 해당 동기화 패턴의 픽셀이 흰색인 것으로 인식하고, 상기 추출한 픽셀 값이 상기 4 종류의 픽셀 값들 중에서 가장 작은 픽셀 값인 경우 페이로드 비트가 '0'이고 동기화 비트가 '0'이며, 해당 페이로드 패턴의 픽셀이 검은색이고, 해당 동기화 패턴의 픽셀이 검은색인 것으로 인식하는 단계를 포함하는,
데이터 추출 방법.
In a method performed by a computing device,
Analyzing the image to extract a watermark pattern;
extracting pixel values included in the watermark pattern; and
By comparing the four preset pixel values with the extracted pixel value, if the extracted pixel value is the largest pixel value among the four types of pixel values, the payload bit is '1' and the synchronization bit is '1', and the If the pixel of the payload pattern is white, the pixel of the corresponding synchronization pattern is recognized as white, and the extracted pixel value is the second largest pixel value among the four types of pixel values, the payload bit is '1' and synchronization is performed. If the bit is '0', the pixel of the corresponding payload pattern is recognized as white, and the pixel of the corresponding synchronization pattern is recognized as black, and the extracted pixel value is the third largest pixel value among the four types of pixel values, pay The load bit is '0' and the synchronization bit is '1', the pixel of the corresponding payload pattern is recognized as black, and the pixel of the corresponding synchronization pattern is recognized as white, and the extracted pixel value is selected from among the four types of pixel values. In the case of the smallest pixel value, recognizing that the payload bit is '0' and the synchronization bit is '0', the pixel of the corresponding payload pattern is black, and the pixel of the corresponding synchronization pattern is black,
Data extraction method.
제12 항에 있어서,
상기 워터마크 패턴을 추출하는 단계는,
Lab 기반의 a 채널을 b 채널로 감산하여 상기 이미지를 모노크롬으로 변환하고, 상기 모노크롬으로 변환된 이미지에서 상기 워터마크 패턴을 추출하는 단계를 포함하는,
데이터 추출 방법.
According to claim 12,
The step of extracting the watermark pattern is,
Converting the image to monochrome by subtracting the Lab-based a channel to the b channel, and extracting the watermark pattern from the monochrome converted image.
Data extraction method.
프로세서;
상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 로드(load)하는 메모리; 및
상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,
상기 컴퓨터 프로그램은,
페이로드가 내재된 페이로드 패턴에 제1 가중치를 적용하는 동작;
동기화 데이터가 내재된 동기화 패턴에 제2 가중치를 적용하는 동작; 및
상기 제1 가중치가 적용된 페이로드 패턴과 상기 제2 가중치가 적용된 동기화 패턴을 결합하여, 상기 페이로드와 상기 동기화 데이터가 내재된 워터마크 패턴을 생성하는 동작; 및
상기 워터마크 패턴을 이용하여 오리지널 이미지를 조정하여 상기 오리지널 이미지 내에 상기 페이로드와 상기 동기화 데이터를 임베딩하는 동작을 수행하기 위한 동작을 포함하며,
상기 제1 가중치 및 상기 제2 가중치는 상이한 것이고,
상기 페이로드 패턴의 픽셀이 흰색일 경우 픽셀 값은 비트 1과 매칭되고, 상기 페이로드 패턴의 픽셀이 검은색일 경우 픽셀 값은 비트 0과 매칭되고,
상기 동기화 패턴의 픽셀이 흰색일 경우 픽셀 값은 비트 1과 매칭되고, 상기 동기화 패턴의 픽셀이 검은색일 경우 픽셀 값은 비트 0과 매칭되고,
상기 워터마크 패턴을 생성하는 동작은,
상기 제1 가중치가 적용된 페이로드 패턴의 픽셀 값과 상기 제2 가중치가 적용된 동기화 패턴의 픽셀 값을 결합함에 따라, 상기 제1 가중치 및 상기 제2 가중치의 조합에 의하여 결정되는 서로 다른 4개의 픽셀 값 중 어느 하나의 픽셀 값을 가지는 픽셀들로 구성된 상기 워터마크 패턴을 생성하는 동작을 수행하기 위한 동작을 포함하는,
데이터 임베딩 장치.
processor;
a memory that loads a computer program executed by the processor; and
Including storage for storing the computer program,
The computer program is,
An operation of applying a first weight to a payload pattern in which the payload is embedded;
An operation of applying a second weight to a synchronization pattern in which synchronization data is embedded; and
combining a payload pattern to which the first weight is applied and a synchronization pattern to which the second weight is applied, thereby generating a watermark pattern containing the payload and the synchronization data; and
An operation for adjusting an original image using the watermark pattern and embedding the payload and the synchronization data within the original image,
the first weight and the second weight are different,
If the pixel of the payload pattern is white, the pixel value matches bit 1, and if the pixel of the payload pattern is black, the pixel value matches bit 0,
If the pixel of the synchronization pattern is white, the pixel value matches bit 1, and if the pixel of the synchronization pattern is black, the pixel value matches bit 0,
The operation of generating the watermark pattern is,
By combining the pixel value of the payload pattern to which the first weight is applied and the pixel value of the synchronization pattern to which the second weight is applied, four different pixel values are determined by the combination of the first weight and the second weight. An operation for generating the watermark pattern consisting of pixels having any one of the pixel values,
Data embedding device.
KR1020210001389A 2021-01-06 2021-01-06 Method for embedding and extraction of watermarking data KR102579261B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210001389A KR102579261B1 (en) 2021-01-06 2021-01-06 Method for embedding and extraction of watermarking data
KR1020230121087A KR20230132761A (en) 2021-01-06 2023-09-12 Method for embedding and extraction of watermarking data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210001389A KR102579261B1 (en) 2021-01-06 2021-01-06 Method for embedding and extraction of watermarking data

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020230121087A Division KR20230132761A (en) 2021-01-06 2023-09-12 Method for embedding and extraction of watermarking data

Publications (2)

Publication Number Publication Date
KR20220099304A KR20220099304A (en) 2022-07-13
KR102579261B1 true KR102579261B1 (en) 2023-09-15

Family

ID=82401464

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020210001389A KR102579261B1 (en) 2021-01-06 2021-01-06 Method for embedding and extraction of watermarking data
KR1020230121087A KR20230132761A (en) 2021-01-06 2023-09-12 Method for embedding and extraction of watermarking data

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020230121087A KR20230132761A (en) 2021-01-06 2023-09-12 Method for embedding and extraction of watermarking data

Country Status (1)

Country Link
KR (2) KR102579261B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017183948A (en) 2016-03-29 2017-10-05 日本電信電話株式会社 Digital watermark embedding apparatus, digital watermark detection device, method, and program
KR102156899B1 (en) 2019-11-14 2020-09-16 한국광기술원 Apparatus and Method for Creating Design

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1336161A1 (en) * 2000-11-07 2003-08-20 Koninklijke Philips Electronics N.V. Method and arrangement for embedding a watermark in an information signal
EP2362385A1 (en) * 2010-02-26 2011-08-31 Fraunhofer-Gesellschaft zur Förderung der Angewandten Forschung e.V. Watermark signal provision and watermark embedding
KR102384008B1 (en) * 2017-01-26 2022-04-08 주식회사 마크애니 Watermark embedding method and apparatus, and system
KR101877372B1 (en) 2017-05-19 2018-07-13 주식회사 하루컴퍼니 Method for embedding and extraction of watermarking data
KR101960290B1 (en) * 2018-07-05 2019-03-21 주식회사 하루컴퍼니 Method for embedding and extraction of watermarking data
KR102137229B1 (en) * 2018-11-05 2020-07-23 엘엔피랩 주식회사 Electronic device for extracting fingerprinting signal from image and operating method thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017183948A (en) 2016-03-29 2017-10-05 日本電信電話株式会社 Digital watermark embedding apparatus, digital watermark detection device, method, and program
KR102156899B1 (en) 2019-11-14 2020-09-16 한국광기술원 Apparatus and Method for Creating Design

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
박병수 외."SVD 및 트리플릿 기반의 디지털 워터마킹 기법".전기학회논문지 58권 5호.,2009.05.31.,(제1041면 내지 제1046면)*

Also Published As

Publication number Publication date
KR20230132761A (en) 2023-09-18
KR20220099304A (en) 2022-07-13

Similar Documents

Publication Publication Date Title
KR101877372B1 (en) Method for embedding and extraction of watermarking data
JP4870617B2 (en) Image data automatic mapping method and image processing device
JP4870618B2 (en) Image data automatic mapping method and image processing device
US7652717B2 (en) White balance correction in digital camera images
WO2017132858A1 (en) Methods, systems, and media for image processing
US20200342277A1 (en) Colorspace encoding multimedia data on a physical page
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
EP2645697B1 (en) Image processing apparatus and method
US20160078670A1 (en) Image processing method
US10354352B2 (en) Image processing apparatus, image processing method, and storage medium
JP6939449B2 (en) Image processing equipment, image processing method and image processing program
KR101960290B1 (en) Method for embedding and extraction of watermarking data
KR102564641B1 (en) Method for embedding and extraction of watermarking data
CN107018407A (en) Information processor, evaluation figure, evaluation system and method for evaluating performance
US11501404B2 (en) Method and system for data processing
US9172843B2 (en) Image processing device and computer-readable medium
KR102579261B1 (en) Method for embedding and extraction of watermarking data
KR20230011460A (en) Method for embedding and extraction of watermarking data
Eerola et al. Full reference printed image quality: Measurement framework and statistical evaluation
US7701618B2 (en) Automatic image enhancement using computed predictors
JP4504096B2 (en) Image processing apparatus, program, and storage medium
US9582744B2 (en) Image processing device and computer-readable medium using photographic and non-photographic correspondence data
KR20240093440A (en) Method for embedding and extraction of watermarking data
US20070297684A1 (en) Data Conversion Apparatus, Data Conversion Method, and Data Conversion System
JP3938875B2 (en) Color change detection method, color change detection device, and image processing system

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
A107 Divisional application of patent
GRNT Written decision to grant