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

Method for embedding and extraction of watermarking data Download PDF

Info

Publication number
KR20220099304A
KR20220099304A KR1020210001389A KR20210001389A KR20220099304A KR 20220099304 A KR20220099304 A KR 20220099304A KR 1020210001389 A KR1020210001389 A KR 1020210001389A KR 20210001389 A KR20210001389 A KR 20210001389A KR 20220099304 A KR20220099304 A KR 20220099304A
Authority
KR
South Korea
Prior art keywords
data
payload
pattern
value
pixel value
Prior art date
Application number
KR1020210001389A
Other languages
Korean (ko)
Other versions
KR102579261B1 (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

A method for embedding and extracting watermark data is provided. According to one embodiment of the present invention, the method for embedding watermark data includes the steps of: applying a first weight to a payload pattern containing a payload; applying a second weight to a synchronization pattern having synchronization data; combining the payload pattern to which the first weight is applied and the synchronization pattern to which the second weight is applied to generate a watermark pattern in which the payload and the synchronization data are embedded; and embedding the payload and the synchronization data in 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

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

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

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

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

한국등록특허 제10-1877372호 (2018.07.05)Korean Patent Registration 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 is accurately distinguished which data corresponds to synchronization data or a payload.

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

본 발명이 해결하고자 하는 또 다른 기술적 과제는, Lab 기반의 컬러 조정을 통해 데이터를 이미지 내에 임베딩함으로써, 동기화 데이터와 페이로드의 특성이 변동되는 것과 오리지널 이미지의 품질이 손상되는 것을 최소화하고 워터마크 데이터의 임베딩 여부가 드러나지 않는 워터마크 데이터의 임베딩 및 추출 방법을 제공하는 것이다.Another technical problem to be solved by the present invention 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 an image through Lab-based color adjustment, and It is to provide a method for embedding and extracting watermark data in which the embedding of .

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.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 following description.

상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 데이터 임베딩 방법은 페이로드가 내재된 페이로드 패턴에 제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 a payload is embedded; applying a second weight to a synchronization pattern in which synchronization data is embedded; generating a watermark pattern in which the payload and the synchronization data are embedded by combining the first weighted payload pattern and the second weighted synchronization pattern; and embedding the payload and the synchronization data in the original image by adjusting the original image using the watermark pattern.

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

일 실시예에서, 상기 워터마크 패턴을 생성하는 단계는, 상기 제1 가중치가 적용된 페이로드 패턴의 각 픽셀 값과, 상기 제2 가중치가 적용된 동기화 패턴의 각 픽셀 값의 평균을 픽셀별로 산출하고, 상기 산출된 평균이 해당 픽셀의 값으로 설정되는 워터마크 패턴을 생성하는 단계를 포함할 수 있다. In an embodiment, the generating of the watermark pattern comprises 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; The method may include generating a watermark pattern in which the calculated average is set as a value of a corresponding pixel.

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

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

상기 제3 가중치 또는 상기 제4 가중치는, 상기 제1 가중치, 상기 제2 가중치 중에서 어느 하나를 기반으로 설정될 수 있다.The third weight or the fourth weight may be set based on any one of the first weight and 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: acquiring a watermark pattern in which synchronization data and a payload are embedded; and embedding the synchronization data and the payload into the original image by adjusting the pixels of the original image using Lab-based channels a and b based on embedding rules corresponding to pixel values included in the watermark pattern. may include the step of

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

상기 임베딩하는 단계는, 상기 오리지널 이미지의 고주파 영역에서 상기 조정 값이 상대적으로 증가하도록 상기 조정 값을 조정하는 단계를 포함할 수 있다. The embedding may include adjusting the adjustment value so that the adjustment value is relatively increased 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 for solving the above technical problem includes the steps of extracting a watermark pattern by analyzing the image; extracting a pixel value included in the watermark pattern; and comparing the extracted pixel values with the four preset pixel values, and when the extracted pixel value is the second largest pixel value among the four pixel values, the payload bit is '1' and the synchronization bit is '0' ', and when 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 extracting of the watermark pattern may include converting the image into monochrome by subtracting the Lab-based channel a by the channel b, and extracting the watermark pattern from the image converted to the monochrome.

상기 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 컴퓨터 프로그램은 페이로드가 내재된 페이로드 패턴에 제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 in which a payload is embedded; applying a second weight to a synchronization pattern in which synchronization data is embedded; generating a watermark pattern in which the payload and the synchronization data are embedded by combining the first weighted payload pattern and the second weighted synchronization pattern; and embedding the payload and the synchronization data in the original image by adjusting the original image using the watermark pattern.

도 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은 본 발명의 또 다른 실시예에 따른 워터마크 데이터 추출 장치의 블록 구성도이다.
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.
2 is a diagram for comparing an image in which watermark data is embedded with an original image according to a method of embedding watermark data according to some embodiments of the present invention.
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 a method for embedding watermark data, which may be understood with reference to FIG. 3 .
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 a method for embedding watermark data, which may be understood with reference to FIG. 3 .
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 a method for embedding watermark data, which may be understood with reference to FIG. 3 .
10 and 11 are diagrams illustrating pixel values of a watermark pattern generated according to the operation of FIG. 9 .
FIG. 12 is a flowchart for explaining in more detail some operations of a method for embedding watermark data, which may be understood with reference to FIG. 3 .
13 is a diagram illustrating an embedding rule.
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 a method of extracting watermark data, which may be understood with reference to FIG. 14 .
16 is a block diagram of an apparatus for embedding watermark data according to another embodiment of the present invention.
17 is a block diagram of an apparatus for extracting watermark data according to another embodiment of the present invention.

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

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

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

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

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

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

개요summary

도 1은 본 발명의 일 실시예에 따른 워터마크 데이터(10)의 임베딩 방법 및 본 발명의 다른 실시예에 따른 워터마크 데이터(10)의 추출 방법이 활용되는 상황을 설명하기 위한 개념도이다. 먼저, 오리지널 이미지(20)에 워터마크 데이터(10)가 임베딩(Embedding) 된 결과 만들어진 결과 이미지(30)가 다양한 채널을 통하여 배포될 수 있다. 결과 이미지(30)는, 예를 들어 명함이거나, 상품 표면에 부착되는 라벨일 수 있다. 또한, 결과 이미지(30)는 박스 등의 운송 수단 외면에 프린트 될 수도 있다.1 is a conceptual diagram for explaining a situation in which a method for embedding watermark data 10 according to an embodiment of the present invention and a method for extracting watermark data 10 according to another embodiment of the present invention are utilized. First, the result image 30 created as a result of embedding the watermark data 10 in the original image 20 may be distributed through various channels. The resulting image 30 may be, for example, a business card or a label attached to the product surface. In addition, the result image 30 may be printed on the outer surface of the 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 result image 30 . In the watermark data embedding method according to the present embodiment, it is difficult to visually recognize whether the watermark data 10 is embedded, unlike conventional technologies such as barcodes and QR codes. There is an advantage that can contain the mark data (10). According to an embodiment, the watermark data 10 may include synchronization data and a payload. The payload may indicate data to be embedded in the image (eg, product ID, etc.), and the synchronization data may indicate the location of the payload. The size of the payload is 144 bits, of which body data is actually usable is 54 bits, and as a result, the number of 2 54 cases can be expressed using the payload. Therefore, if the present technology is applied to a label attached to the surface of a product, even if it looks like the same label to the naked eye, it is also possible to assign a unique ID to every product and embed the ID in 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 the user terminal 40 executing the data extraction method according to some embodiments of the present invention is used, the result image ( 30), the watermark data 10 may be extracted. For example, the watermark data 10 can be extracted by photographing the result image 30 using a camera provided in the user terminal 40 and executing the watermark data extraction logic on the photographed result. .

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

4 bit4 bit 3 bit3 bit 8 bit8 bit 54 bit54 bit 7 bit7 bit 68 bit68 bit 컨트롤 파라미터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 a control parameter of 15 bits, body data of 54 bits, a verification code of 7 bits (CRC8), and an error correction code of 68 bits.

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

일 실시예에서, 컨트롤 파라미터는 4 bit의 버전 코드(Version Code), 3 bit의 해당 영역에 대한 검증코드(CRC4) 및 8 bit의 에러 정정 코드를 포함할 수도 있다. 상기 버전 코드에 의해서 페이로드를 24개의 버전으로 분리하여 관리함으로써, 버전을 업데이트 하여 관리하거나 동시에 여러 버전을 운영할 수 있다. In an embodiment, the control parameter may include a 4-bit version code, a 3-bit verification code for the corresponding region (CRC4), and an 8-bit error correction code. By separating and managing the payload into 24 versions according to the version code, it is possible to update and manage versions or to 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 erroneously extracted. For example, the error correction code may be a Bose-Chaudhuri-Hocquenghem (BCH) code.

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

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

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

본 실시예에 따른 워터마크 데이터의 임베딩 방법은, 예를 들어 컴퓨팅 장치에 의하여 실행될 수 있다. 본 실시예에 따른 설명 가능한 워터마크 데이터 임베딩 방법은 복수의 컴퓨팅 장치들에 의하여 나뉘어 수행될 수도 있다. 이하, 본 실시예에 따른 설명 가능한 워터마크 데이터 임베딩 방법을 설명함에 있어서, 각각의 동작의 주체에 대한 기재가 생략될 수 있으며, 이 경우 상기 동작의 주체는 컴퓨팅 장치인 것으로 이해될 수 있을 것이다.The embedding method of watermark data according to the present embodiment may be executed, for example, by a computing device. The watermark data embedding method that can be described according to the present embodiment may be divided and performed by a plurality of computing devices. Hereinafter, in describing the watermark data embedding method that can be described according to the present embodiment, description of the subject of each operation may be omitted, and in this case, it may 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 generate a payload pattern having a predetermined size by using the payload ( S110 ). The payload may be configured in the format shown in Table 1 above. The payload pattern may be expressed as a pixel area including a predetermined number of horizontal pixels and a predetermined 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 region included in the payload pattern. have. The payload pattern may consist of a first color (eg, white) and a second color (eg, black), wherein a pixel value of the first color matches bit '1' of the payload and the second color The pixel value of may be matched with bit '0' of the payload. Also, 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 generated ( S120 ). The synchronization pattern contains synchronization data for indicating the position of the payload. As will be described later, the synchronization pattern may be generated by performing an inverse Fourier transform of a peak point in a frequency domain.

페이로드 패턴과 동기화 패턴이 결합되어, 동기화 데이터와 페이로드를 내재하고 있는 워터마크 패턴이 생성될 수 있다(S130). 도 9를 참조하여 후술하는 바와 같이, 상기 페이로드 패턴에 제1 가중치(W1)가 적용되고, 상기 동기화 패턴에 제2 가중치(W2)가 적용된 후, 페이로드와 동기화 데이터가 연산되고, 연산된 결과를 기초로 설정된 픽셀 값을 포함하는 워터마크 패턴이 생성될 수 있다. 상기 워터마크 패턴은 노이즈 베이스(noise base) 이미지 형태일 수 있다. 또한, 워터마크 패턴에는 4 가지의 색상이 포함될 수 있다.By combining the payload pattern and the synchronization pattern, a watermark pattern containing the synchronization data and the payload may be generated ( S130 ). As will be 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 result may be generated. The watermark pattern may be in the form of a noise base image. In addition, 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 generated and output (S150, S160). For example, the image in which the watermark data is embedded may be output in the form of an image file or may be printed on a printing target such as paper by a printing device. According to an embodiment, the output may be made in the form of being painted on the outer surface of the printing result by the 3D printer.

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

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

도 5를 참조하여, 페이로드를 이용하여 페이로드 패턴을 생성하는 방법(S110)을 보다 상세하게 설명한다.With reference 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 format shown in Table 1 is loaded (S111). The payload may be loaded from a storage means such as storage, or 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 ). A bit '1' included in the payload may match a pixel value having a first color, and a bit '0' included in the payload may match a pixel value having a second color. The pixel value of the first color may be '255', which is a pixel value indicating white, and the pixel value of the second color may be '0', which is a pixel value indicating black.

이어서, 매칭된 다수의 픽셀 값을 포함하는 페이로드 패턴이 생성된다(S115). 상기 페이로드 패턴은 128 X 128 픽셀일 수 있으며, 페이로드의 각 비트는 페이로드 패턴의 일정 영역에 포함된 각 픽셀과 1:1 매칭될 수 있다. Then, 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 predetermined area of the payload pattern.

도 6은 도 5의 동작에 따라 생성된 페이로드 패턴의 픽셀 값을 예시하는 도면이다.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 as a color in which each pixel value represents a bit '1' or '0'. 6 illustrates that the first color matches bit '1' as a '255' pixel value representing white, and the second color matches bit '0' as a '0' pixel value representing black. 6 , pixels [0, 255, 0, 0, 255, 0, 0, 255] arranged in area 101 match the bit string '01001001'.

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

주파수 도메인(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 well known, a spatial domain may be transformed into a frequency domain through Fourier transform, and a frequency domain may be transformed into a spatial domain through inverse Fourier transform. The image 102 in the frequency domain may be expressed as a two-dimensional magnitude spectrum having a magnitude peak of a predetermined specific coordinate.

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

다음으로, 주파수 기반의 이미지(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 image 102 in the frequency domain is inverse Fourier transformed, a synchronization pattern 103 having a 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 any one of a first color and a second color.

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

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

페이로드 패턴에 제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). When the first weight W1 is applied to the payload pattern, it means that the first weight W1 is applied to each pixel value of the payload pattern. Similarly, when the second weight W2 is applied to the synchronization pattern, it means that the second weight W2 is applied to each pixel value of the synchronization pattern. In an embodiment, the first weight W1 and the second weight W2 may be different from each other. In an 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, an average of the pixel values of the payload pattern to which the first weight W1 is applied and the pixel values of the synchronization pattern to which the second weight W2 is applied may be calculated for each pixel ( S133 ). Then, a watermark pattern in which the calculated average is set as 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)이 획득될 수 있다.10 illustrates a state in which '0.5' is applied to the synchronization pattern 120 as the second weight W2 and a weight of '1.5' is applied to the payload pattern 130 as the first weight W1. When the second weight W2 of '0.5' is applied to the synchronization pattern 120, each pixel value of the synchronization pattern 120 before being changed is multiplied by '0.5', and accordingly the pixel value is changed (that is, the second A synchronization pattern 120a (weighted) 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 being changed is multiplied by '1.5', and accordingly the pixel value is changed ( That is, the payload pattern 130a to which the first weight is applied) may 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 which the first weight W1 is applied are averaged, and the calculated average is the watermark pattern 140a. It can be set to a pixel value of . In FIG. 10, the pixel value of the watermark pattern 140a is in a state in which the first decimal point is rounded up.

도 10에 따르면, 워터마크 패턴(140a)의 픽셀 값 '255'는 동기화 데이터의 비트(이하, "동기화 비트"로 지칭함)와 페이로드의 비트 모두가 '1'인 것을 나타낼 수 있다. 또한, 워터마크 패턴(140a)의 픽셀 값 '0'은 동기화 비트와 페이로드 비트 모두가 '0'임을 나타낼 수 있다. 워터마크 패턴(140a)에서 픽셀 값 '64'는 동기화 데이터의 비트가 '1'이고 페이로드의 비트는 '0'인 것을 나타낼 수 있다. 또한, 워터마크 패턴(140a)에서 픽셀 값 '192'는 동기화 비트가 '0'이고 페이로드의 비트가 '1'인 것을 나타낼 수 있다. Referring to FIG. 10 , the pixel value '255' of the watermark pattern 140a may indicate that both a bit of synchronization data (hereinafter, referred to as a “synchronization bit”) and a bit of a payload are '1'. Also, the pixel value '0' of the watermark pattern 140a may indicate that both the synchronization bit and the payload bit are '0'. The pixel value '64' in the watermark pattern 140a may indicate that the bit of the synchronization data is '1' and the bit of the payload is '0'. In addition, the pixel value '192' in the watermark pattern 140a may indicate that the synchronization bit is '0' and the bit of the payload 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)의 픽셀 값은 첫 번째 소수점이 올림 된 상태이다.11 shows a state in which '1/3' is applied as a second weight W2 to the synchronization pattern 120 and a weight of '5/3' is applied to the payload pattern 130 as a first weight W1. is foreshadowing When the second weight W2 of '1/3' is applied to the synchronization pattern 120, each pixel value of the synchronization pattern 120 before being changed is multiplied by '1/3', and accordingly the pixel value is changed ( That is, the synchronization pattern 120b to which the second weight is applied) may 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 being changed is multiplied by '5/3', and accordingly A payload pattern 130b having a changed value (that is, to which the 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) is applied are averaged, and the calculated average is It may be set as a pixel value of the watermark pattern 140b. In FIG. 11, the pixel value of the watermark pattern 140b is in a state in which the first decimal point is rounded up.

도 11에 따르면, 워터마크 패턴(140b)의 픽셀 값 '255'는 동기화 비트와 페이로드의 비트 모두가 '1' 인 것을 나타낼 수 있다. 또한, 워터마크 패턴(140b)의 픽셀 값 '0'은 동기화 비트와 페이로드의 비트 모두가 '0' 인 것을 나타낼 수 있다. 워터마크 패턴(140b)에서 픽셀 값 '43'은 동기화 비트가 '1'이고 페이로드의 비트가 '0'인 것을 나타낼 수 있다. 또한, 워터마크 패턴(140b)에서 픽셀 값 '213'은 동기화 데이터의 비트가 '0'이고 페이로드의 비트는 '1'인 것을 나타낼 수 있다. 11 , the pixel value '255' of the watermark pattern 140b may indicate that both the synchronization bit and the bit of the payload are '1'. Also, the pixel value '0' of the watermark pattern 140b may indicate that both the synchronization bit and the bit of the payload are '0'. The pixel value '43' in the watermark pattern 140b may indicate that the synchronization bit is '1' and the bit of the payload is '0'. Also, the pixel value '213' in the watermark pattern 140b may indicate that the bit of the synchronization data is '0' and the bit of the payload 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. Among them, the second largest pixel value indicates that only the bit of the payload is '1', and the third largest pixel value is '1'. A pixel value (ie, the second smallest pixel value) may indicate that only a bit of the 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 the synchronization pattern clearly distinguishes whether the data represents the '1' bit of the payload or the '1' bit of the synchronization data when extracting the data from the resulting image. is to do If the watermark pattern is formed without applying a weight to the pixel value 255 indicating the '1' bit of the payload and the pixel value (0) indicating the '0' bit of the synchronization data, the payload '1' A pixel value '128' representing an average of a pixel value 255 representing a bit and a pixel value 0 representing a bit '0' of synchronization data may be included in the watermark pattern. In addition, when the watermark pattern is formed without applying a 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 payload's '0' A pixel value '128' representing an average of a pixel value (0) representing a bit and a pixel value 255 representing a bit '1' of synchronization data may be included in the watermark pattern. When this '128' pixel value is obtained at the time of watermark data extraction, the '128' pixel value means the payload bit '1' or '0' bit, or 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 the synchronization pattern according to the present embodiment, when watermark data is extracted, the pixel value in the middle section appearing in the watermark pattern is selected from among the payload bits '1' and '0'. It is possible to accurately discriminate which one represents, and also to accurately discriminate which one of the synchronization bits '1' and '0' represents.

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

도 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 pixels included in the watermark pattern may be checked ( S151 ). In an embodiment, the pixel value may range from 0 to 255, and may be any one of four values. Taking FIG. 10 as an example, the pixel value may be any one of 0, 64, 192, and 255, and taking FIG. 11 as an example, the pixel value may be any one of 0, 43, 213, and 255.

다음으로, 상기 확인된 픽셀 값에 대응되는 임베딩 규칙이 확인된다(S152).Next, an embedding rule corresponding to the checked pixel value is checked ( 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, and pixel values and embedding rules 151 to 154 may be mapped. According to FIG. 13 , in the case of the largest pixel value 255, the first embedding rule 151 is applied, and in the case of the second largest pixel value 192, the second embedding rule 152 is applied, and the three In the case of the second largest pixel value (64), the third embedding rule 153 may be applied, and in the case of 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 rule, the Lab-based channel a and channel b are adjusted oppositely by a predetermined adjustment value (ie, α), and a third weight (W3) is applied to the adjusted channel a and channel b. ) or a fourth weight (W4) to adjust the a and b channels of the pixels of the original image, a watermark pattern corresponding to a noise-based image and containing 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 channel a is adjusted by increasing the adjustment value (α), channel b is decreased by the adjustment value, and when channel a is decreased by the adjustment value (α), channel b is increased by the adjustment value (α). have. In one embodiment, when the pixel value of the watermark pattern indicates the payload bit '1', channel a may be increased by the adjustment value α and channel b may be decreased by the adjustment value α. When the payload bit '1' is indicated, it may be the first and second largest pixel values in the watermark pattern. 13, when the pixel value is '255' or '192', a first embedding rule 151 in which channel a is increased by the adjustment value (α) and channel b is decreased by the adjustment value (α) or A second embedding rule 152 may be used. Also, when the pixel value of the watermark pattern indicates the payload bit '0', channel a may be decreased by the adjustment value α and channel b may be increased by the adjustment value α. When the payload bit '0' is indicated, 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', a third embedding rule 153 in which channel a is decreased by the adjustment value (α) and channel b 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 an embodiment, when the pixel value of the watermark pattern indicates that the payload bit and the synchronization bit are the same bit, the third weight W3 may be applied to the adjusted a channel and the adjusted b channel. When the payload bit and the synchronization bit are identical to each other, the largest pixel value and the smallest pixel value in the watermark pattern. Referring to FIG. 13 , when the pixel value is '255' or '0', a first embedding rule 151 or a fourth embedding rule 154 in which a third weight W3 is applied to channel a and channel b This can be used. In addition, 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. When the payload bit and the synchronization bit are different, 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', a second embedding rule 152 or a third embedding rule 153 in which a fourth weight W4 is applied to channel a and channel b 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 greater than the fourth weight W4. Also, 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. Also, the fourth weight W4 may be set based on at least one of the first weight W1 and the second weight W2 applied to the synchronization pattern and the payload pattern. In an embodiment, the third weight W3 may be the same as the first weight W1 or its value may be determined in proportion to the first weight W1. Also, the value of the fourth weight W4 may be determined to be the same as the second weight W2 or in proportion to the second weight W2.

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

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

본 실시예에 따르면, Lab 기반의 a 채널과 b 채널을 이용하는 경우, 녹색(green)이 오리지널 이미지에서 상승되어, 워터마크 데이터의 비가시성이 향상될 수 있다. 또한, 워터마크 패턴에서 최대 값의 픽셀과 최소 값의 픽셀에 대해서, a 채널과 b 채널에 상대적으로 큰 제3 가중치(W3)를 적용함으로써, 워터마크 데이터의 비가시성을 더욱 향상시킬 수 있다. 아울러, 워터마크 데이터가 디코딩되어 추출되는 경우에, 페이로드가 더욱 증폭되게 하여 페이로드가 확실하게 인식되게 할 수 있다. According to this embodiment, when Lab-based channels a and b are used, green is increased in the original image, so that invisibility of watermark data can be improved. In addition, the invisibility of watermark data can be further improved by applying a relatively large third weight W3 to channels a and b to the pixel having the maximum value and the pixel having the minimum value in the watermark pattern. In addition, when the watermark data is decoded and extracted, the payload is 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 watermark data extraction method according to the present embodiment may be executed, for example, by a computing device. The watermark data extraction method according to the present embodiment is applicable to the watermark data embedded by the watermark data embedding method according to the embodiment of the present invention described above. The explanatory watermark data extraction method according to the present embodiment may be divided and performed by a plurality of computing devices. Hereinafter, in describing the explanatory watermark data extraction method according to the present embodiment, the description of the subject of each operation may be omitted, and in this case, it may be understood that the subject of the operation is the computing device. First, it will be described with reference to FIG. 14 .

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

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

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

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

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

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

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

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

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

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

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

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

한편, S234 단계에서 상기 픽셀 값이 세 번째로 큰 제3 픽셀 값이면, 페이로드 비트가 '0'비트이고, 동기화 비트가 '1'비트인 것으로 인식될 수 있다(S236). Meanwhile, if the pixel value is the third largest pixel value in step S234, 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 may be determined whether data recognition (ie, bit recognition) for all pixels of the watermark pattern has been processed (S237), and if data recognition for all pixels is not processed, after moving to the next pixel ( S238) The process from step S231 may be performed again.

도 15에 따라, 워터마크 패턴에 포함된 모든 픽셀 값을 나타내는 비트가 인식되고, 인식된 비트들이 조합되어 전체 페이로드와 동기화 데이터가 인식될 수 있다. 동기화 데이터가 인식된 후에, 동기화 데이터를 이용하여 페이로드의 시작과 끝에 해당하는 비트가 정확하게 인식될 수 있다.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, bits corresponding to the start and the end of the payload may be accurately recognized using the synchronization data.

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

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

이하, 본 발명의 다른 실시예에 다른 데이터 임베딩 장치의 구성 및 동작을 도 16을 참조하여 설명하기로 한다. Hereinafter, the configuration and operation of a data embedding apparatus 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)를 더 포함할 수 있다.16, the data embedding apparatus 300 according to the present embodiment includes a memory (RAM) 330, an image processor 320 that executes a data embedding software operation loaded in the memory 330, and a storage ( 340). In an embodiment, the embedding apparatus 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 the form of software. The executable file 342 of the data embedding software may be loaded into the memory 330 via 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 a payload from an external device through the network interface 370, receives a direct input from a user through an input unit (not shown) such as a keyboard or mouse, or receives a payload stored in the storage 340 (not shown). time) can be read. The data embedding device 300 obtains the original image, which is the target for embedding the payload, from the image sensor 310 photographing the target object, or receives from an external device through the network interface 370 , or in 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 resultant image calculated to the external device through the network interface 370, or displays it on a display device (not shown), or a printer. Printing may be performed through a printing device connected through the interface 360 .

본 실시예에 따른 데이터 임베딩 장치(300)는, 예를 들어 컴퓨팅 장치이거나, 프린팅 장치일 수 있다. 데이터 임베딩 장치(300)가 프린팅 장치인 경우, 데이터 임베딩 장치(300)는 프린터 인터페이스(360) 대신 프린팅 기능의 수행을 위한 구성요소들을 포함할 수 있다.The data embedding device 300 according to the present embodiment may be, for example, a computing device or a printing device. When the data embedding apparatus 300 is a printing apparatus, the data embedding apparatus 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 apparatus 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. 17, the data decoding apparatus 400 according to the present embodiment includes a memory (RAM) 430, an image processor 420 and storage ( 440). In an embodiment, the decoding apparatus 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 the form of software. An executable file 442 of data decoding software may be loaded into memory 430 via 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 apparatus 400 obtains the data of the photographed image from the image sensor 410 photographing the target object on which the image in which the watermark data is embedded is printed, or receives it from an external device through the network interface 470, or storage Data of the captured image stored in 440 may be obtained. The data of the captured image is loaded into the memory 430 through the system bus 450 and referenced when the data embedding software operation 432 is executed.

데이터 디코딩 장치(400)는 데이터 임베딩 소프트웨어 오퍼레이션(432)의 실행 결과로 추출된 워터마크 데이터를 디스플레이(미도시)에 표시하거나, 네트워크 인터페이스(470)를 통하여 외부 장치에 송신하거나, 스토리지(440)에 저장할 수 있다.The data decoding apparatus 400 displays the watermark data extracted as a result of the 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 the storage 440 can be stored in

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

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

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

Claims (14)

워터마크 데이터를 오리지널 이미지에 임베딩(Embedding)하는 방법에 있어서,
페이로드가 내재된 페이로드 패턴에 제1 가중치를 적용하는 단계;
동기화 데이터가 내재된 동기화 패턴에 제2 가중치를 적용하는 단계;
상기 제1 가중치가 적용된 페이로드 패턴과 상기 제2 가중치가 동기화 패턴을 결합하여, 상기 페이로드와 상기 동기화 데이터가 내재된 워터마크 패턴을 생성하는 단계; 및
상기 워터마크 패턴을 이용하여 상기 오리지널 이미지를 조정하여 상기 오리지널 이미지 내에 상기 페이로드와 상기 동기화 데이터를 임베딩하는 단계를 포함하는,
데이터 임베딩 방법.
A method of embedding watermark data in an original image, the method comprising:
applying a first weight to the payload pattern in which the payload is embedded;
applying a second weight to a synchronization pattern in which synchronization data is embedded;
generating a watermark pattern in which the payload and the synchronization data are embedded by combining the first weighted payload pattern and the second weighted synchronization pattern; and
and embedding the payload and the synchronization data in the original image by adjusting the original image using the watermark pattern.
How to embed data.
제1 항에 있어서,
상기 제1 가중치가 상기 제2 가중치 보다 더 큰 것인,
데이터 임베딩 방법.
The method of claim 1,
wherein the first weight is greater than the second weight,
How to embed data.
제1 항에 있어서,
상기 워터마크 패턴을 생성하는 단계는,
상기 제1 가중치가 적용된 페이로드 패턴의 각 픽셀 값과, 상기 제2 가중치가 적용된 동기화 패턴의 각 픽셀 값의 평균을 픽셀별로 산출하고, 상기 산출된 평균이 해당 픽셀의 값으로 설정되는 워터마크 패턴을 생성하는 단계를 포함하는,
데이터 임베딩 방법.
The method of claim 1,
The step of generating the watermark pattern comprises:
A watermark pattern in which 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 is calculated for each pixel, and the calculated average is set as a value of the corresponding pixel comprising the step of creating
How to embed data.
제3 항에 있어서,
상기 페이로드 패턴과 상기 동기화 패턴은, 제1 색상의 픽셀 값 및 제2 색상의 픽셀 값으로 구성되고,
상기 워터마크 패턴은, 상기 제1 색상의 픽셀 값, 상기 제2 색상의 픽셀 값, 제3 색상의 픽셀 값 및 제4 색상의 픽셀 값으로 구성되는 것인,
데이터 임베딩 방법.
4. The method of claim 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,
wherein the watermark pattern is composed of a pixel value of the first color, a pixel value of the second color, a pixel value of a third color, and a pixel value of a fourth color,
How to embed data.
제1 항에 있어서,
상기 임베딩하는 단계는,
상기 워터마크 패턴에 포함된 픽셀 값과 대응되는 임베딩 규칙을 기초로, 상기 오리지널 이미지의 픽셀을 Lab 기반 a 채널과 b 채널을 이용하여 조정하는 단계를 포함하고,
상기 임베딩 규칙은,
상기 픽셀 값이 최대 값 또는 두 번째로 큰 값이면 상기 a 채널을 소정의 조정 값만큼 증가시키고 상기 b 채널을 상기 조정 값만큼 감소시키는 규칙이고, 상기 픽셀 값이 최소 값 또는 세 번째로 큰 값이면 상기 a 채널을 상기 조정 값만큼 감소시키고 상기 b 채널을 상기 조정 값만큼 증가시키는 규칙인 것인,
데이터 임베딩 방법.
The method of claim 1,
The embedding step is
Adjusting the pixels of the original image using a Lab-based channel a and a channel b based on an embedding rule corresponding to a pixel value included in the watermark pattern,
The embedding rule is
A rule for increasing the a channel by a predetermined adjustment value and decreasing 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 a rule that decreases the a channel by the adjustment value and increases the b channel by the adjustment value.
How to embed data.
제5 항에 있어서,
상기 임베딩하는 단계는,
상기 오리지널 이미지의 고주파 영역에서 상기 조정 값이 상대적으로 증가하도록 상기 조정 값을 조정하는 단계를 포함하는,
데이터 임베딩 방법.
6. The method of claim 5,
The embedding step is
adjusting the adjustment value so that the adjustment value is relatively increased in a high-frequency region of the original image,
How to embed data.
제5 항에 있어서,
상기 임베딩 규칙은,
상기 픽셀 값이 최대 값 또는 최소 값이면 상기 a 채널과 상기 b 채널에 제3 가중치가 적용되는 규칙이고, 상기 픽셀 값이 최대 값과 최소 값이 아니면 상기 제3 가중치 보다 작은 제4 가중치가 상기 a 채널과 상기 b 채널에 적용되는 규칙인,
데이터 임베딩 방법.
6. The method of claim 5,
The embedding rule is
If the pixel value is the maximum value or the minimum value, a third weight is applied to the channel a and the channel b. If the pixel value is not the maximum value or the minimum value, a fourth weight smaller than the third weight value is the a A rule applied to the channel and the b channel,
How to embed data.
제7 항에 있어서,
상기 제3 가중치 또는 상기 제4 가중치는,
상기 제1 가중치, 상기 제2 가중치 중에서 어느 하나를 기반으로 설정되는 것인,
데이터 임베딩 방법.
8. The method of claim 7,
The third weight or the fourth weight is
which is set based on any one of the first weight and the second weight,
How to embed data.
워터마크 데이터를 오리지널 이미지에 임베딩(Embedding)하는 방법에 있어서,
동기화 데이터와 페이로드가 내재된 워터마크 패턴을 획득하는 단계; 및
상기 워터마크 패턴에 포함된 픽셀 값과 대응되는 임베딩 규칙을 기초로, Lab 기반 a 채널과 b 채널을 이용하여 상기 오리지널 이미지의 픽셀을 조정하여 상기 동기화 데이터와 상기 페이로드를 상기 오리지널 이미지에 임베딩하는 단계를 포함하고,
상기 임베딩 규칙은,
상기 픽셀 값이 최대 값 또는 두 번째로 큰 값이면 상기 a 채널을 소정의 조정 값만큼 증가시키고 상기 b 채널을 상기 조정 값만큼 감소시키는 규칙이고, 상기 픽셀 값이 최소 값 또는 세 번째로 큰 값이면 상기 a 채널을 상기 조정 값만큼 감소시키고 상기 b 채널을 상기 조정 값만큼 증가시키는 규칙인 것인,
데이터 임베딩 방법.
A method of embedding watermark data in an original image, the method comprising:
obtaining a watermark pattern embedded with synchronization data and payload; and
Based on the embedding rule corresponding to the pixel value included in the watermark pattern, the synchronization data and the payload are embedded in the original image by adjusting the pixels of the original image using Lab-based channels a and b comprising steps,
The embedding rule is
A rule for increasing the a channel by a predetermined adjustment value and decreasing 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 a rule that decreases the a channel by the adjustment value and increases the b channel by the adjustment value.
How to embed data.
제9 항에 있어서,
상기 임베딩하는 단계는,
상기 오리지널 이미지의 고주파 영역에서 상기 조정 값이 상대적으로 증가하도록 상기 조정 값을 조정하는 단계를 포함하는,
데이터 임베딩 방법.
10. The method of claim 9,
The embedding step is
adjusting the adjustment value so that the adjustment value is relatively increased in a high-frequency region of the original image,
How to embed data.
제9 항에 있어서,
상기 임베딩 규칙은,
상기 픽셀 값이 최대 값 또는 최소 값이면 상기 a 채널과 상기 b 채널에 상대적으로 제3 가중치가 적용되는 규칙이고, 상기 픽셀 값이 최대 값과 최소 값이 아니면 상기 제3 가중치 보다 작은 제4 가중치가 상기 a 채널과 상기 b 채널에 적용되는 규칙인,
데이터 임베딩 방법.
10. The method of claim 9,
The embedding rule is
If the pixel value is the maximum value or the minimum value, a third weight is relatively applied to the channel a and the channel b. If the pixel value is not the maximum value or the minimum value, a fourth weight smaller than the third weight is applied. A rule applied to the a channel and the b channel,
How to embed data.
이미지에 임베딩된 워터마크 데이터를 추출하는 데이터 추출 방법에 있어서,
상기 이미지를 분석하여 워터마크 패턴을 추출하는 단계;
상기 워터마크 패턴에 포함된 픽셀 값을 추출하는 단계; 및
미리 설정된 4 종류의 픽셀 값과 상기 추출한 픽셀 값을 비교하여, 상기 추출한 픽셀 값이 상기 4 종류의 픽셀 값들 중에서 두 번째로 큰 픽셀 값인 경우 페이로드 비트가 '1'이고 동기화 비트가 '0'인 것으로 인식하고, 상기 추출된 픽셀 값이 상기 4 종류의 픽셀 값들 중에서 세 번째로 큰 픽셀 값인 경우 페이로드 비트가 '0' 이고 동기화 비트가 '1' 인 것으로 인식하는 단계를 포함하는,
데이터 추출 방법.
A data extraction method for extracting watermark data embedded in an image, the data extraction method comprising:
extracting a watermark pattern by analyzing the image;
extracting a pixel value included in the watermark pattern; and
Comparing the extracted pixel values with the 4 types of preset pixel values, when the extracted pixel value is the second largest pixel value among the 4 types of pixel values, the payload bit is '1' and the synchronization bit is '0' Recognizing that, when 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',
How to extract data.
제12 항에 있어서,
상기 워터마크 패턴을 추출하는 단계는,
Lab 기반의 a 채널을 b 채널로 감산하여 상기 이미지를 모노크롬으로 변환하고, 상기 모노크롬으로 변환된 이미지에서 상기 워터마크 패턴을 추출하는 단계를 포함하는,
데이터 추출 방법.
13. The method of claim 12,
The step of extracting the watermark pattern,
Converting the image to monochrome by subtracting the Lab-based channel a to channel b, and extracting the watermark pattern from the image converted to monochrome.
How to extract data.
프로세서에 의해 실행 가능한 컴퓨터 프로그램 명령어들을 포함하는 비일시적(non-transitory) 컴퓨터 판독 가능한 매체에 기록된, 워터마크 데이터를 오리지널 이미지에 임베딩하는 컴퓨터 프로그램에 있어서,
페이로드가 내재된 페이로드 패턴에 제1 가중치를 적용하는 단계;
동기화 데이터가 내재된 동기화 패턴에 제2 가중치를 적용하는 단계; 및
상기 제1 가중치가 적용된 페이로드 패턴과 상기 제2 가중치가 동기화 패턴을 결합하여, 상기 페이로드와 상기 동기화 데이터가 내재된 워터마크 패턴을 생성하는 단계; 및
상기 워터마크 패턴을 이용하여 상기 오리지널 이미지를 조정하여 상기 오리지널 이미지 내에 상기 페이로드와 상기 동기화 데이터를 임베딩하는 단계를 포함하는,
컴퓨터 프로그램.
A computer program for embedding watermark data in an original image, recorded on a non-transitory computer readable medium comprising computer program instructions executable by a processor, the computer program comprising:
applying a first weight to the payload pattern in which the payload is embedded;
applying a second weight to a synchronization pattern in which synchronization data is embedded; and
generating a watermark pattern in which the payload and the synchronization data are embedded by combining the first weighted payload pattern and the second weighted synchronization pattern; and
and embedding the payload and the synchronization data in the original image by adjusting the original image using the watermark pattern.
computer program.
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 true KR20220099304A (en) 2022-07-13
KR102579261B1 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 (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020071925A (en) * 2000-11-07 2002-09-13 코닌클리케 필립스 일렉트로닉스 엔.브이. Method and arrangement for embedding a watermark in an information signal
KR20120128148A (en) * 2010-02-26 2012-11-26 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. Watermark signal provision and watermark embedding
JP2017183948A (en) * 2016-03-29 2017-10-05 日本電信電話株式会社 Digital watermark embedding apparatus, digital watermark detection device, method, and program
KR101877372B1 (en) 2017-05-19 2018-07-13 주식회사 하루컴퍼니 Method for embedding and extraction of watermarking data
KR20180087962A (en) * 2017-01-26 2018-08-03 주식회사 마크애니 Watermark embedding method and apparatus, and system
KR20180127261A (en) * 2018-07-05 2018-11-28 주식회사 하루컴퍼니 Method for embedding and extraction of watermarking data
KR20200051338A (en) * 2018-11-05 2020-05-13 엘엔피랩 주식회사 Electronic device for extracting fingerprinting signal from image and operating method thereof
KR102156899B1 (en) * 2019-11-14 2020-09-16 한국광기술원 Apparatus and Method for Creating Design

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020071925A (en) * 2000-11-07 2002-09-13 코닌클리케 필립스 일렉트로닉스 엔.브이. Method and arrangement for embedding a watermark in an information signal
KR20120128148A (en) * 2010-02-26 2012-11-26 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. Watermark signal provision and watermark embedding
JP2017183948A (en) * 2016-03-29 2017-10-05 日本電信電話株式会社 Digital watermark embedding apparatus, digital watermark detection device, method, and program
KR20180087962A (en) * 2017-01-26 2018-08-03 주식회사 마크애니 Watermark embedding method and apparatus, and system
KR101877372B1 (en) 2017-05-19 2018-07-13 주식회사 하루컴퍼니 Method for embedding and extraction of watermarking data
KR20180127261A (en) * 2018-07-05 2018-11-28 주식회사 하루컴퍼니 Method for embedding and extraction of watermarking data
KR20200051338A (en) * 2018-11-05 2020-05-13 엘엔피랩 주식회사 Electronic device for extracting fingerprinting signal from image and operating method thereof
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
KR102579261B1 (en) 2023-09-15

Similar Documents

Publication Publication Date Title
KR101877372B1 (en) Method for embedding and extraction of watermarking data
US11070700B2 (en) Method of extracting watermark data in an image with reference to a noise-based image located in the image based on a comparison process performed in the frequency domain
US10504013B1 (en) Colorspace encoding multimedia data on a physical page
US10469701B2 (en) Image processing method that obtains special data from an external apparatus based on information multiplexed in image data and apparatus therefor
US20180101751A1 (en) Systems and methods for detection and localization of image and document forgery
KR101960290B1 (en) Method for embedding and extraction of watermarking data
US9014468B2 (en) Image processing apparatus, computer-readable storage medium storing computer-readable instructions and associated method
US20120243785A1 (en) Method of detection document alteration by comparing characters using shape features of characters
KR102564641B1 (en) Method for embedding and extraction of watermarking data
WO2017141802A1 (en) Image processing device, character recognition device, image processing method, and program recording medium
CN109872282B (en) Image desensitization method and system based on computer vision
JP2019092027A (en) Image processing apparatus, image processing method, and image processing program
CN110210467B (en) Formula positioning method of text image, image processing device and storage medium
Juarez-Sandoval et al. Digital image ownership authentication via camouflaged unseen-visible watermarking
KR102102403B1 (en) Code authentication method of counterfeit print image and its application system
US11501404B2 (en) Method and system for data processing
US8472716B2 (en) Block-based noise detection and reduction method with pixel level classification granularity
US10764471B1 (en) Customized grayscale conversion in color form processing for text recognition in OCR
KR20230011460A (en) Method for embedding and extraction of watermarking data
KR20220099304A (en) Method for embedding and extraction of watermarking data
CN108596817B (en) Watermark data embedding and extracting method
CN111284157A (en) Commodity package anti-counterfeiting printing and verifying method based on fractional order steganography technology
AU2007249099B2 (en) Block-based noise detection and reduction method with pixel level classification granularity
US20070297684A1 (en) Data Conversion Apparatus, Data Conversion Method, and Data Conversion System
KR20240093440A (en) Method for embedding and extraction of watermarking data

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