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

Method for embedding and extraction of watermarking data Download PDF

Info

Publication number
KR102435876B1
KR102435876B1 KR1020200035286A KR20200035286A KR102435876B1 KR 102435876 B1 KR102435876 B1 KR 102435876B1 KR 1020200035286 A KR1020200035286 A KR 1020200035286A KR 20200035286 A KR20200035286 A KR 20200035286A KR 102435876 B1 KR102435876 B1 KR 102435876B1
Authority
KR
South Korea
Prior art keywords
image
data
block
random number
watermark
Prior art date
Application number
KR1020200035286A
Other languages
Korean (ko)
Other versions
KR20210118704A (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 KR1020200035286A priority Critical patent/KR102435876B1/en
Publication of KR20210118704A publication Critical patent/KR20210118704A/en
Priority to KR1020220103997A priority patent/KR102564641B1/en
Application granted granted Critical
Publication of KR102435876B1 publication Critical patent/KR102435876B1/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
    • G06T1/005Robust watermarking, e.g. average attack or collusion attack resistant
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0065Extraction of an embedded watermark; Reliable detection

Abstract

본 발명의 일 실시예를 통해 해결하고자 하는 기술적 과제는, 난수열을 이용하여 데이터를 임베딩 함으로써, 추출 시 인식율이 개선되고, 보안성도 개선되는 방법 및 그 방법이 적용된 장치를 제공하는 것이다. 상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 임베딩 방법은 노이즈 베이스 이미지를 M x M 픽셀을 가진 블록 단위로 구성하는 단계, 각각의 상기 블록 별로, 상기 블록에 속한 모든 픽셀의 픽셀 값을 단일화 하는 단계 및 상기 각각의 블록을 순회하면서 상기 워터마크 데이터를 이용하여 상기 각각의 블록의 일부 픽셀의 픽셀 값을 수정함으로써 상기 노이즈 베이스 이미지를 변환하는 단계를 포함하고, 상기 노이즈 베이스 이미지를 변환하는 단계는, 상기 워터마크 데이터 이용하여 상기 각각의 블록마다 순회하면서 기 저장된 난수열의 난수를 순차적으로 채택하고 채택된 난수에 대응되는 규칙으로 상기 일부 픽셀의 픽셀 값을 수정하는 단계를 포함할 수 있다.A technical problem to be solved through an embodiment of the present invention is to provide a method and an apparatus to which the method is applied, in which the recognition rate is improved during extraction and security is improved by embedding data using a random number sequence. In order to solve the above technical problem, an embedding method according to an embodiment of the present invention comprises the steps of constructing a noise base image in blocks having M x M pixels, for each block, the pixels of all pixels belonging to the block converting the noise base image by unifying values and modifying pixel values of some pixels of each block using the watermark data while traversing each block, The converting may include sequentially adopting a random number from a pre-stored random number sequence while traversing for each block using the watermark data and correcting the pixel values of some of the pixels with a rule corresponding to the adopted random number. can

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.

워터마킹 기술을 활용하면, 원본에는 눈에 잘 보이지 않다가, 무단 복제 시 드러나는 워터마크 데이터 또는 워터마킹 텍스쳐를 오리지널 이미지에 삽입할 수 있다. 이러한 워터마킹 기술은 진품 인증 또는 진본 인증 등의 용도로 널리 활용되고 있다. 그러나, 인간에 눈에 보이지 않고, 컴퓨팅 장치를 통한 이미지 프로세싱을 거치면 추출이 가능하지만, 무단 복제 등의 경우에는 추출이 불가능해지는 형태의 워터마킹 기술은 제공되지 못하고 있다. By using watermarking technology, watermark data or watermarking textures that are invisible in the original image, but are 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. However, invisible to the human eye and extraction is possible through image processing through a computing device, but in the case of unauthorized copying, a watermarking technology in a form in which extraction is impossible is not provided.

종래 워터마크 기술은 한가지 방법의 규칙으로 데이터를 임베딩 함으로써, 동기화 신호(Synchronization Signal)를 훼손시켜 추출 시 인식율이 저하되는 문제가 발생한다. 나아가, 한가지 방법의 규칙으로 데이터를 임베딩 하여 일정한 패턴이 형성됨으로써, 데이터가 임베딩 되는 노이즈 베이스 이미지의 유출에 의한 보안의 우려가 발생한다. In the conventional watermark technology, by embedding data according to a rule of one method, a synchronization signal is damaged, and a problem occurs in that the recognition rate is lowered during extraction. Furthermore, since a certain pattern is formed by embedding data according to a rule of one method, there is a security concern due to leakage of a noise-based image in which data is embedded.

한국등록특허 제10-1877372호Korean Patent Registration No. 10-1877372

본 발명의 일 실시예를 통해 해결하고자 하는 다른 기술적 과제는, 난수열을 이용하여 데이터를 임베딩 함으로써, 추출 시 인식율이 개선되고, 보안성도 개선되는 방법 및 그 방법이 적용된 장치를 제공하는 것이다.Another technical problem to be solved through an embodiment of the present invention is to provide a method and an apparatus to which the method is applied, in which the recognition rate is improved during extraction and security is improved by embedding data using a random number sequence.

본 발명의 일 실시예를 통해 해결하고자 하는 또 다른 기술적 과제는, 노이즈 베이스 이미지의 형태를 변경함으로써, 오리지널 이미지에 적합한 형태의 워터마크를 제공하는 방법 및 그 방법이 적용된 장치를 제공하는 것이다.Another technical problem to be solved through an embodiment of the present invention is to provide a method for providing a watermark in a form suitable for an original image by changing the shape of a noise base image, and an apparatus to which the method is applied.

본 발명이 해결하고자 하는 기술적 과제는 이미지로부터 워터마크 데이터의 존재 여부를 판정하고 워터마크 데이터를 추출하는 과정에 소요되는 시간과 컴퓨팅 파워를 절감하는 추출 방법을 제공하는 것이다.The technical problem to be solved by the present invention is to provide an extraction method that determines the existence of watermark data from an image and reduces the time and computing power required for the process of extracting the watermark data.

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

상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 임베딩 방법은 노이즈 베이스 이미지를 M x M 픽셀을 가진 블록 단위로 구성하는 단계, 각각의 상기 블록 별로, 상기 블록에 속한 모든 픽셀의 픽셀 값을 단일화 하는 단계 및 상기 각각의 블록을 순회하면서 상기 워터마크 데이터를 이용하여 상기 각각의 블록의 일부 픽셀의 픽셀 값을 수정함으로써 상기 노이즈 베이스 이미지를 변환하는 단계를 포함하고, 상기 노이즈 베이스 이미지를 변환하는 단계는, 상기 워터마크 데이터 이용하여 상기 각각의 블록마다 순회하면서 기 저장된 난수열의 난수를 순차적으로 채택하고 채택된 난수에 대응되는 규칙으로 상기 일부 픽셀의 픽셀 값을 수정하는 단계를 포함할 수 있다.In order to solve the above technical problem, an embedding method according to an embodiment of the present invention comprises the steps of constructing a noise base image in blocks having M x M pixels, for each block, the pixels of all pixels belonging to the block converting the noise base image by unifying values and modifying pixel values of some pixels of each block using the watermark data while traversing each block, The converting may include sequentially adopting a random number from a pre-stored random number sequence while traversing for each block using the watermark data and correcting the pixel values of some of the pixels with a rule corresponding to the adopted random number. can

일 실시예에서, 상기 M x M 픽셀은, 2 x 2 픽셀이고, 상기 저장된 난수열은,In one embodiment, the M x M pixels are 2 x 2 pixels, and the stored random number sequence is

6가지 경우의 수 중 어느 한 수에 해당하는 난수의 배열이고, 상기 M x M 픽셀의 픽셀 값을 수정하는 단계는, 상기 각각의 2 x 2 픽셀 마다 순회하면서 상기 채택된 난수에 대응되는 규칙으로 상기 2 x 2 픽셀의 픽셀 값을 수정하는 단계를 포함할 수 있다.It is an array of random numbers corresponding to any one of six cases, and the step of modifying the pixel value of the M x M pixel is performed by traversing for each 2 x 2 pixel and using a rule corresponding to the adopted random number. The method may include modifying a pixel value of the 2x2 pixel.

일 실시예에서, 상기 오리지널 이미지의 종횡비를 얻는 단계를 더 포함하고, 상기 종횡비가 기준 범위에 해당하는 경우 상기 노이즈 베이스 이미지는 상기 종횡비에 대응되는 형태의 직사각형 이미지일 수 있다.The method may further include obtaining an aspect ratio of the original image, and when the aspect ratio falls within a reference range, the noise base image may be a rectangular image having a shape corresponding to the aspect ratio.

일 실시예에서, 상기 종횡비에 대응되는 형태의 직사각형은 종횡비가 고정된 형태의 직사각형에 해당할 수 있다.In an embodiment, the rectangle having a shape corresponding to the aspect ratio may correspond to a rectangle having a fixed aspect ratio.

일 실시예에서, 상기 종횡비에 대응되는 형태의 직사각형은, 종횡비가 상기 오리지널 이미지의 종횡비와 동일한 형태의 직사각형에 해당할 수 있다.In an embodiment, the rectangle having a shape corresponding to the aspect ratio may correspond to a rectangle having the same aspect ratio as the aspect ratio of the original image.

일 실시예에서, 상기 오리지널 이미지의 무늬 가로 세로 경향성을 수치로 얻는 단계를 더 포함하고, 상기 수치가 기준치 이하에 해당하는 경우 상기 노이즈 베이스 이미지는 상기 수치에 대응되는 형태의 직사각형 이미지일 수 있다.In an embodiment, the method may further include obtaining a numerical pattern of horizontal and vertical tendency of the original image, and when the numerical value is less than or equal to a reference value, the noise base image may be a rectangular image having a shape corresponding to the numerical value.

일 실시예에서, 상기 경향성을 수치로 얻는 단계는, 상기 오리지널 이미지의 푸리에 변환 주파수 도메인의 크기 스펙트럼에서 피크 좌표가 가장 인접한 축과의 최소 거리를 얻는 단계를 포함할 수 있다.In an embodiment, the step of numerically obtaining the tendency may include obtaining a minimum distance from an axis to which a peak coordinate is closest in a magnitude spectrum of a Fourier transform frequency domain of the original image.

일 실시예에서, 상기 직사각형은, 상기 피크 좌표와 가장 인접한 상기 축이 x축에 해당하는 경우, 직사각형의 세로 길이가 가로 길이 보다 더 긴 직사각형일 수 있다.In an embodiment, the rectangle may be a rectangle in which a vertical length of the rectangle is longer than a horizontal length when the axis closest to the peak coordinate corresponds to the x-axis.

일 실시예에서, 상기 직사각형은, 상기 피크 좌표와 인접한 상기 축이 y축에 해당하는 경우, 직사각형의 가로 길이가 세로 길이 보다 더 긴 직사각형일 수 있다.In an embodiment, the rectangle may be a rectangle in which a horizontal length of the rectangle is longer than a vertical length when the axis adjacent to the peak coordinate corresponds to the y-axis.

일 실시예에서, 상기 난수열의 난수가 연속적으로 기준 횟수 이상 채택되는 경우, 채택된 상기 난수를 제외한 다른 수로 치환되는 단계를 더 포함할 수 있다.In an embodiment, when the random number of the random number sequence is continuously adopted more than a reference number of times, the method may further include replacing the random number with a number other than the adopted random number.

상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 데이터 추출 방법은, 이미지를 M x M 픽셀로 구성된 블록 단위로 블록화하는 단계 및 M x M 픽셀로 구성된 블록 단위로 블록화 된 노이즈 베이스를 이용하여, 상기 이미지의 각 블록을 순회하면서 데이터를 추출하는 단계를 포함하되, 상기 이미지의 각 블록을 순회하면서 데이터를 추출하는 단계는, 저장된 난수열을 이용하여 각각의 블록마다 데이터 추출 규칙을 결정하는 단계 및 결정된 상기 규칙을 이용하여 상기 각각의 블록마다 상기 워터마크 데이터를 추출하는 단계를 포함할 수 있다.In order to solve the above technical problem, a data extraction method according to an embodiment of the present invention includes the steps of blocking an image in blocks composed of M x M pixels and a noise base blocked in blocks composed of M x M pixels. and extracting data while traversing each block of the image using and extracting the watermark data for each of the blocks using the determined rule.

일 실시예에서, 상기 이미지로부터 난수열 식별자를 획득하는 단계를 더 포함하고, 상기 이미지의 각 블록을 순회하면서 상기 워터마크 데이터를 추출하는 단계는, 상기 저장된 난수열들 중 상기 난수열 식별자가 가리키는 난수열을 참조하여 상기 각각의 블록마다 상기 워터마크 데이터 추출 규칙을 결정하는 단계를 포함할 수 있다.In an embodiment, the method further includes obtaining a random number sequence identifier from the image, wherein extracting the watermark data while traversing each block of the image includes: and determining the watermark data extraction rule for each block by referring to a random number sequence.

일 실시예에서, 워터마크 데이터 추출 장치는, 이미지 촬영부, 유사도 판정부 및 데이터 추출부를 포함하되, 상기 데이터 추출부는, 상기 이미지 촬영부로부터 획득된 촬영 이미지 내의 각각의 블록을 순회하고, 저장된 난수열을 이용하여 각각의 블록마다 데이터 추출 규칙을 결정하고, 결정된 상기 규칙을 이용하여 상기 각각의 블록마다 상기 워터마크 데이터를 추출하고, 상기 추출된 데이터를 출력할 수 있다.In one embodiment, the apparatus for extracting watermark data includes an image capturing unit, a similarity determining unit and a data extracting unit, wherein the data extracting unit traverses each block in the captured image obtained from the image capturing unit, and stores the A data extraction rule may be determined for each block using a sequence, the watermark data may be extracted for each block using the determined rule, and the extracted data may be output.

도 1은 본 발명의 일 실시예에 따른 워터마크 데이터의 임베딩 방법 및 본 발명의 다른 실시예에 따른 워터마크 데이터의 추출 방법이 활용되는 상황을 설명하기 위한 개념도이다.
도 2는 본 발명의 몇몇 실시예에 따른 워터마크 데이터의 임베딩 방법에 따라 워터마크 데이터가 임베딩 된 이미지와 오리지널 이미지의 비교를 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 워터마크 데이터의 임베딩 방법의 순서도이다.
도 4는 도 3을 참조하여 이해될 수 있는 워터마크 데이터의 임베딩 방법의 일부 동작을 보다 상세하게 설명하기 위한 순서도이다.
도 5는 도 4를 참조하여 이해될 수 있는 일부 동작의 결과로 노이즈 베이스가 블록화 된 결과를 설명하기 위한 도면이다.
도 6은 도 4를 참조하여 이해될 수 있는 워터마크 데이터의 임베딩 방법의 일부 동작을 보다 상세하게 설명하기 위한 순서도이다.
도 7은 도6을 참조하여 이해될 수 있는 워터마크 데이터의 임베딩 방법의 일부 동작을 보다 상세하게 설명하기 위한 순서도이다.
도 8은 도 7에서 참조될 수 있는 난수에 대응하는 규칙을 예시하는 예시도이다.
도 9는 본 발명의 몇몇 실시예에서 참조될 수 있는 워터마크 데이터 임베딩을 위한 블록 순회를 설명하기 위한 도면이다.
도 10 내지 13은 도 7을 참조하여 이해될 수 있는 워터마크 데이터의 임베딩 방법을 상세하게 예시하기 위한 예시도이다.
도 14는 본 발명의 일 실시예에 따른 워터마크 데이터의 임베딩 방법을 나타낸 개념도이다.
도 15 및 16은 본 발명의 몇몇 실시예에서 참조될 수 있는 동기화 신호에 대한 설명을 위한 도면이다.
도 17은 본 발명의 일 실시예에 따른 워터마크 데이터의 임베딩 방법을 보다 상세하게 설명하기 위한 도면이다.
도 18 내지 20은 도 17을 참조하여 이해될 수 있는 워터마크 데이터의 임베딩 방법을 구체적으로 예시하는 예시도이다.
도 21은 본 발명의 다른 실시예에 따른 워터마크 데이터 추출 방법의 순서도이다.
도 22는 본 발명의 일 실시예에 따른 워터마크 데이터 추출 방법에 있어서, 촬영된 이미지의 전처리가 필요한 이유를 설명하기 위한 도면이다.
도 23a 내지 도 23c는, 도 21을 참조하여 이해될 수 있는 워터마크 데이터 추출 방법에 있어서, 촬영 이미지로부터 복수의 이미지 블록들을 식별하는 동작을 설명하기 위한 도면이다.
도 24는 도 21을 참조하여 이해될 수 있는 워터마크 데이터 추출 방법에 있어서, 각 이미지 블록에 대하여 제1 유사도를 판정하고 회전각 및 스케일을 획득하는 동작을 자세히 설명하기 위한 상세 순서도이다.
도 25는 촬영된 이미지의 전처리 결과를 설명하기 위한 도면이다.
도 26은 도 21을 참조하여 이해될 수 있는 워터마크 데이터 추출 방법에 있어서, 선정된 이미지 블록에 대하여 제2 유사도를 판정하고 기준점을 획득하는 동작을 자세히 설명하기 위한 상세 순서도이다.
도 27은 도 21을 참조하여 이해될 수 있는 워터마크 데이터 추출 방법의 데이터 추출 관련 동작을 자세히 설명하기 위한 상세 순서도이다.
도 28은 본 발명의 또 다른 실시예에 따른 워터마크 데이터 임베딩 장치의 블록 구성도이다.
도 29는 본 발명의 또 다른 실시예에 따른 워터마크 데이터 추출 장치의 블록 구성도이다.
1 is a conceptual diagram illustrating a situation in which a method for embedding watermark data according to an embodiment of the present invention and a method for extracting watermark data according to another embodiment of the present invention are 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 flowchart for explaining in more detail some operations of a method for embedding watermark data, which may be understood with reference to FIG. 3 .
FIG. 5 is a diagram for explaining a result in which a noise base is blocked as a result of some operations that may be understood with reference to FIG. 4 .
FIG. 6 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. 4 .
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. 6 .
8 is an exemplary diagram illustrating a rule corresponding to a random number that may be referred to in FIG. 7 .
9 is a diagram for explaining block traversal for embedding watermark data that may be referred to in some embodiments of the present invention.
10 to 13 are exemplary diagrams for illustrating in detail a method of embedding watermark data that can be understood with reference to FIG. 7 .
14 is a conceptual diagram illustrating a method for embedding watermark data according to an embodiment of the present invention.
15 and 16 are diagrams for explaining synchronization signals that may be referred to in some embodiments of the present invention.
17 is a diagram for explaining in more detail a method of embedding watermark data according to an embodiment of the present invention.
18 to 20 are exemplary diagrams specifically illustrating an embedding method of watermark data that can be understood with reference to FIG. 17 .
21 is a flowchart of a watermark data extraction method according to another embodiment of the present invention.
22 is a diagram for explaining why pre-processing of a photographed image is necessary in the method for extracting watermark data according to an embodiment of the present invention.
23A to 23C are diagrams for explaining an operation of identifying a plurality of image blocks from a captured image in the method of extracting watermark data, which may be understood with reference to FIG. 21 .
24 is a detailed flowchart for explaining in detail an operation of determining a first degree of similarity for each image block and obtaining a rotation angle and a scale in the watermark data extraction method that can be understood with reference to FIG. 21 .
25 is a diagram for explaining a preprocessing result of a photographed image.
FIG. 26 is a detailed flowchart for explaining in detail an operation of determining a second degree of similarity with respect to a selected image block and obtaining a reference point in the method of extracting watermark data, which can be understood with reference to FIG. 21 .
FIG. 27 is a detailed flowchart for describing in detail an operation related to data extraction of the method for extracting watermark data, which may be understood with reference to FIG. 21 .
28 is a block diagram of an apparatus for embedding watermark data according to another embodiment of the present invention.
29 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)의 사이즈가 144bit이고, 그 중 실제 활용 가능한 바디 데이터는 54bit이며, 그 결과 상기 워터마크 데이터를 이용하여 254의 경우의 수를 표현할 수 있다. 따라서, 상품 표면에 부착되는 라벨에 본 기술을 적용하면, 육안으로 보기에는 동일 라벨로 보이더라도, 모든 상품 마다 고유의 ID를 부여하여 그 ID를 워터마크 데이터로 상기 라벨에 임베딩 하는 것도 가능하다. 나아가 기존의 248보다 활용 가능한 데이터가 증가하여 더 많은 가변 데이터 생성이 가능하다.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). In addition, the size of the watermark data 10 according to an embodiment is 144 bits, among which body data is actually usable is 54 bits. As a result, the number of 2 54 cases can be expressed using the watermark data. 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 watermark data. Furthermore, more variable data can be created by increasing usable data compared to the existing 248 .

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

본 발명의 몇몇 실시예들에서 임베딩 될 수 있는 워터마크 데이터(10)는 예를 들어, 표 1의 포맷(format)을 가질 수 있다.The watermark data 10 that may be embedded in some embodiments of the present invention 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 parameter error correction bit

워터마크 데이터(10)는 15 bit의 컨트롤 파라미터(Control Parameter), 54 bit의 바디 데이터(Body Data), 7 bit의 검증 코드(CRC 8) 및 68bit의 에러 정정 코드(Error Correction Bit)를 포함할 수 있다. 표 1의 컨트롤 파라미터(control parameter)는 바디 데이터의 타입을 가리킬 수 있다. 예를 들어, 사용자 단말(900)이 워터마크 데이터(10)를 추출하여 그 중 54 bit의 바디 데이터를 인식하고, 상기 바디 데이터 및 컨트롤 파라미터를 수납한 컨텐츠 요청을 컨텐츠 서버에 송신할 수 있다. 컨텐츠 서버는 고유 ID를 부여받은 각각의 컨텐츠를 타입 별로 관리하는 컨텐츠 DB를 저장할 수 있다. 상기 컨텐츠 서버는 상기 바디 데이터에 매칭 되는 ID의 컨텐츠 중 상기 컨트롤 파라미터에 대응되는 타입의 컨텐츠를 사용자 단말(900)에 제공할 수 있을 것이다.The watermark data 10 may include a control parameter of 15 bits, body data of 54 bits, a verification code of 7 bits (CRC 8), and an error correction code of 68 bits. can A control parameter in Table 1 may indicate the type of body data. For example, the user terminal 900 may extract the watermark data 10, 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 900 .

일 실시예에서, 컨트롤 파라미터는 4 bit의 버전 코드(Version Code), 3 bit의 해당 영역에 대한 검증코드(CRC4) 및 8 bit의 에러 정정 코드를 포함할 수도 있다. 상기 버전 코드에 의해서 워터마크 데이터(10)를 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 watermark data 10 into 24 versions according to the version code, the version can be updated and managed or multiple versions can be operated at the same time.

68 bit의 에러 수정 비트(Error Correction Bit)는 워터마크 데이터(10)가 잘못 추출될 수 있는 가능성을 보완하기 위한 에러 수정용 코드를 포함할 수 있다. 예를 들어, 상기 에러 수정용 코드는 BCH(Bose-Chaudhuri-Hocquenghem) 코드 일 수 있다.The 68-bit Error Correction Bit may include an error correction code to compensate for the possibility that the watermark data 10 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 and 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.

상기 컴퓨팅 장치가 워터마크 데이터를 로드(load)하고(S100), 노이즈 베이스 이미지를 로드(S120)한다. 또한 워터마크 데이터를 담을 오리지널 이미지도 로드(S160)한다. 노이즈 베이스(noise base)는 워터마크 데이터를 담을 일종의 데이터 그릇으로 이해될 수 있다. 노이즈 베이스는 이미지 파일로부터 로드 될 수도 있고, 주파수 도메인(frequency domain)의 2차원 매트릭스를 가리키는 데이터의 형태로 로드 될 수도 있다. 또한 일 실시예에서, 주파수 도메인의 매그니튜드 스펙트럼 및 위상 스펙트럼의 형태로 로드 될 수도 있다.The computing device loads the watermark data (S100) and loads the noise base image (S120). In addition, the original image to contain the watermark data is also loaded (S160). The noise base may be understood as a kind of data container to contain watermark data. The noise base may be loaded from an image file or may be loaded in the form of data indicating a two-dimensional matrix in a frequency domain. Also, in an embodiment, it may be loaded in the form of a magnitude spectrum and a phase spectrum in the frequency domain.

저장된 워터마크 데이터 및 저장된 난수열을 이용하여 결정되는 패턴에 따라 상기 노이즈 베이스 이미지가 변환되고(S140), 변환된 노이즈 베이스 이미지를 이용하여 오리지널 이미지를 조정함으로써, 워터마크 데이터가 임베드 된 이미지가 생성되고 출력된다(S180, S200). 예를 들어, 상기 워터마크 데이터가 임베드 된 이미지는 이미지 파일의 형태로 출력 되거나, 프린팅 장치에 의하여 종이 등 프린팅 대상에 프린트 될 수 있다. 일 실시예에 따르면, 3D 프린터에 의하여 프린팅 결과물의 외면에 도색되는 형태로 상기 출력이 이뤄질 수도 있다.The noise base image is converted according to a pattern determined using the stored watermark data and the stored random number sequence (S140), and the original image is adjusted using the converted noise base image, thereby generating an image embedded with watermark data. and output (S180, S200). 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.

도 3을 참조하여 설명된 바와 같이, 본 실시예에서는 노이즈 베이스가 핵심적인 역할을 수행한다. 주파수 영역을 통해 생성된 노이즈 베이스 이미지는 주파수의 특징에 따라 이미지가 일부 손상되더라도 동기화 신호(Synchronization Signal)의 특성이 유지되어, 워터마크 데이터의 추출 성공률을 높일 수 있도록 구성된다. 또한, 노이즈 베이스 이미지 원본이 블록화 된 후, 워터마크 데이터에 의해 변환이 수행되므로 결과 이미지에 대한 분석을 통하여 쉽게 노이즈 베이스 이미지 원본이 유출되지 않는다.As described with reference to FIG. 3 , in this embodiment, the noise base plays a key role. The noise base image generated through the frequency domain maintains the characteristics of the synchronization signal even if the image is partially damaged according to the characteristics of the frequency, so that the extraction success rate of watermark data can be increased. In addition, after the original noise-based image is blocked, conversion is performed by the watermark data, so that the original noise-based image is not easily leaked through analysis of the resulting image.

종래 워터마크 기술은 한가지 방법의 규칙으로 데이터를 임베딩 함으로써, 동기화 신호를 훼손시켜 추출 시 인식율이 저하되는 문제가 발생하였다. 나아가, 한가지 방법의 규칙으로 데이터를 임베딩 하여 일정한 패턴이 형성됨으로써, 데이터가 임베딩 되는 노이즈 베이스 이미지의 유출에 의한 보안의 우려가 발생하였다. 이하 도 4 내지 도 16을 참조하여, 상기 문제를 해결하기 위한 워터마크 데이터의 임베딩 방법을 보다 구체적으로 설명하겠다.In the conventional watermark technology, by embedding data according to a rule of one method, the synchronization signal is damaged and a problem of a reduction in recognition rate during extraction occurred. Furthermore, as a certain pattern is formed by embedding data according to a rule of one method, there is a security concern due to leakage of a noise-based image in which data is embedded. Hereinafter, a method of embedding watermark data for solving the above problem will be described in more detail with reference to FIGS. 4 to 16 .

도 4는 도 3에 도시된 노이즈 베이스 이미지 변환 단계(S140)를 보다 구체화한 순서도이다. FIG. 4 is a more detailed flowchart of the noise-based image conversion step S140 shown in FIG. 3 .

M x M 픽셀의 블록 단위로 노이즈 베이스 이미지를 구획화(S141)한다. 한 블록은 수평과 수직 방향으로 짝수의 픽셀로 구성된 사각형 모양으로 형성되는 것이 바람직하다. 예를 들어, 한 블록은 2 x 2 픽셀 사이즈일 수 있다. 2 x 2 픽셀의 블록은 구성될 수 있는 최소 사이즈의 블록인바, 한 블록을 2 x 2 사이즈로 구성함으로써, 다양한 크기의 이미지에 대응할 수 있는 효과를 얻는다. 다만, 이에 한정되는 것은 아니고 한 블록은 수평과 수직 방향으로 짝수의 픽셀로 구성된 정사각형 모양으로 형성될 수 있다.The noise base image is partitioned in blocks of M x M pixels (S141). One block is preferably formed in a rectangular shape composed of an even number of pixels in the horizontal and vertical directions. For example, one block may be 2 x 2 pixels in size. A block of 2 x 2 pixels is a block of the smallest size that can be configured. By configuring one block in a size of 2 x 2, an effect capable of responding to images of various sizes is obtained. However, the present invention is not limited thereto, and one block may be formed in a square shape including an even number of pixels in the horizontal and vertical directions.

몇몇 실시예들에서, 블록의 사이즈는 임베딩 설정에 따라 조정될 수 있다. 블록의 사이즈가 커지는 경우, 임베딩 소요시간이 감축되는 효과가 있다. 블록의 사이즈가 작아지는 경우, 작은 픽셀에 더 많은 데이터를 임베딩 할 수 있는 효과가 있다.In some embodiments, the size of a block may be adjusted according to an embedding setting. When the size of the block increases, there is an effect of reducing the time required for embedding. When the size of the block decreases, there is an effect that more data can be embedded in small pixels.

다음으로, 각 블록마다, 블록에 속한 픽셀 값의 평균을 산출하여, 그 평균 값이 기준치(예를 들어, 흰색을 가리키는 픽셀 값과 검은색을 가리키는 픽셀 값의 준간 값) 이상인 경우 해당 블록의 모든 색상을 제1 색상(예를 들어, 검은색)으로 단일화(S143)한다. 그 평균값이 기준치 미만인 경우 해당 블록의 모든 색상을 제2 색상(예를 들어, 흰색)으로 단일화(S143)한다.Next, for each block, the average of the pixel values belonging to the block is calculated, and if the average value is greater than or equal to a reference value (for example, the interim value between a pixel value indicating white and a pixel value indicating black), all of the pixel values in the block are averaged. The color is unified with the first color (eg, black) ( S143 ). When the average value is less than the reference value, all colors of the corresponding block are unified as the second color (eg, white) (S143).

도 5는 도 4를 참조하여 설명된 노이즈 베이스 이미지(40)의 구획화 및 단일화의 결과로 블록화 된 노이즈 베이스 이미지(41)를 도시한다. 블록화 된 노이즈 베이스 이미지(41)를 픽셀 단위로 확대한 그림을 참조하면, 2 x 2 픽셀 사이즈의 정사각형 단위 블록마다 모두 동일한 픽셀 값으로 단일화된다. 현재 블록(41a)는 픽셀 값이 0으로 할당되어 흰색에 해당한다.FIG. 5 shows a blocked noise base image 41 as a result of segmentation and unification of the noise base image 40 described with reference to FIG. 4 . Referring to the pixel-by-pixel enlarged figure of the blocked noise base image 41, every square unit block having a size of 2 x 2 pixels is unified with the same pixel value. The current block 41a is assigned a pixel value of 0 and corresponds to white color.

도 4 및 도 5를 참조하여 설명된 블록화는 노이즈 베이스 이미지에 워터마크 데이터만을 삽입함으로써 발생하는 반복되는 패턴의 형성을 방지하고, 오로지 1개의 픽셀 단위로 워터마크 데이터를 삽입하여 발생하는 추출 시 인식률 저하를 방지할 수 있다. 나아가, 블록화를 진행함으로써, 원본 노이즈 베이스 이미지가 갖고 있는 주파수 특성에 해당하는 동기화 신호를 유지할 수 있다.Blocking described with reference to FIGS. 4 and 5 prevents the formation of a repeating pattern that occurs by inserting only watermark data into the noise base image, and the recognition rate at the time of extraction that occurs only by inserting watermark data in units of one pixel deterioration can be prevented. Furthermore, by performing the blocking, it is possible to maintain a synchronization signal corresponding to the frequency characteristic of the original noise base image.

다시 도 4를 참조하면, 워터마크 데이터를 반영하여 블록의 일부 픽셀 값을 저장된 난수열에 의해 결정되는 패턴에 따라 수정함으로써 블록화 된 노이즈 베이스 이미지(41)를 변환(S145)한다. 후술될 몇몇 실시예에 의해서 블록화 된 노이즈 베이스 이미지(41)의 변환은 구체화된다.Referring back to FIG. 4 , the blocked noise base image 41 is converted ( S145 ) by modifying some pixel values of the block according to a pattern determined by the stored random number sequence by reflecting the watermark data. Transformation of the blocked noise base image 41 is embodied by some embodiments to be described later.

도 6은 도 4에서 설명된 노이즈 베이스 이미지(41)의 변환(S145)을 구체적으로 설명하기 위한 순서도이다. 본 실시예에 따른 워터마크 데이터의 임베딩 방법은, 예를 들어 컴퓨팅 장치에 의하여 실행될 수 있다.6 is a flowchart for specifically explaining the transformation ( S145 ) of the noise base image 41 described in FIG. 4 . The embedding method of watermark data according to the present embodiment may be executed, for example, by a computing device.

컴퓨팅 장치는 노이즈 베이스 이미지를 변환하기 위해, 미리 저장된 난수열을 로드(S1451) 한다. 미리 저장된 난수열은 반복하여 발생한 난수를 발생 순서에 따라 저장한 것일 수 있다. 다만, 이에 한정되는 것은 아니다. 일 실시예에서, 144 bit의 워터마크 데이터를 임베딩 하기 위해 필요한 난수열의 난수 개수는 144개이다. 예를 들어, 난수는 1에서 6까지의 자연수 중 선택된 어느 하나의 수에 해당할 수 있다. The computing device loads a pre-stored random number sequence to transform the noise base image ( S1451 ). The pre-stored random number sequence may be one in which repeatedly generated random numbers are stored in the order of generation. However, the present invention is not limited thereto. In one embodiment, the number of random numbers in the random number sequence required for embedding 144-bit watermark data is 144. For example, the random number may correspond to any one selected from among natural numbers 1 to 6.

앞서 설명한 예시에서, 하나의 블록을 2 x 2 픽셀로 구획하였으므로, 1bit을 표현하기 위해 4개의 픽셀 중 2개의 픽셀을 선택하는 총 6가지의 규칙을 할당하여야 한다. 다만, 이에 한정되는 것은 아니고 블록의 스케일에 따라 난수의 경우의 수는 변경될 수 있다.In the example described above, since one block is divided into 2 x 2 pixels, a total of 6 rules for selecting 2 pixels among 4 pixels must be allocated to represent 1 bit. However, the present invention is not limited thereto, and the number of random numbers may be changed according to the scale of the block.

한편, 워터마크 데이터 임베딩 및 추출 과정에서 둘 이상의 난수열(random number sequence) 세트들 중 어느 하나가 선택적으로 사용될 수 있다. 복수의 난수열 세트들은 워터마크 데이터를 임베딩하는 장치와 워터마크 데이터를 추출하는 장치 사이에 사전에 공유된다.Meanwhile, any one of two or more sets of random number sequences may be selectively used in the watermark data embedding and extraction process. A plurality of sets of random number sequences are shared in advance between an apparatus for embedding watermark data and an apparatus for extracting watermark data.

다른 실시예에서, 발생한 난수는 발생한 순서에 따라 난수열로 저장될 수 있다. 임베딩 시 난수열로 저장되어, 추출 시 저장된 난수열이 이용되어 대응되는 규칙에 의해 추출을 수행할 수 있다. 다른 실시예에서, 난수열은 암호화된 형태로 저장될 수 있다. 암호화된 형태로 저장됨에 따라, 유출에 의한 보안의 우려를 저하시킬 수 있다.In another embodiment, the generated random numbers may be stored as a random number sequence according to the order in which they occur. It is stored as a random number sequence during embedding, and the stored random number sequence is used during extraction to perform extraction according to a corresponding rule. In another embodiment, the random number sequence may be stored in an encrypted form. As it is stored in an encrypted form, it may reduce security concerns due to leakage.

일 실시예에서, 저장된 난수열의 난수가 기준 횟수 이상 연속적으로 채택되는 경우, 채택된 수를 제외한 다른 수로 치환되는 단계가 포함될 수 있다. 하나의 규칙이 아닌 복수의 규칙이 적용되어 워터마크 데이터를 임베딩함으로써 동기화 신호를 유지할 수 있고, 보안성을 강화할 수 있는 바, 기준 횟수 이상 연속된 블록에 적용시킬 규칙이 반복되는 경우 이를 방지하기 위해 연속적으로 채택된 수를 제외한 다른 수로 치환되는 단계를 포함할 수 있다. In an embodiment, when the random number of the stored random number sequence is continuously adopted more than a reference number of times, a step of replacing the random number with a number other than the adopted number may be included. A plurality of rules, not one rule, are applied so that the synchronization signal can be maintained by embedding watermark data, and security can be strengthened. It may include a step of substituting a number other than the number continuously adopted.

다음으로, 로드 된 워터마크 데이터 및 채택된 난수를 이용하여 난수에 대응되는 규칙으로 블록의 픽셀 값이 수정(S1453)된다. 도 8을 참조하면, 앞서 예시된 2 x 2 픽셀의 경우 총 6가지 규칙이 미리 설정된 난수에 대응된다. Next, by using the loaded watermark data and the adopted random number, the pixel value of the block is corrected by a rule corresponding to the random number (S1453). Referring to FIG. 8 , in the case of the 2×2 pixel illustrated above, a total of six rules correspond to preset random numbers.

이하 도 7을 참조하여, 도 8에서 설명된 난수에 대응되는 규칙으로 블록의 픽셀 값이 수정되는 단계(S1453)를 보다 구체적으로 설명한다. 본 실시예에 따른 워터마크 데이터의 임베딩 방법은, 예를 들어 컴퓨팅 장치에 의하여 실행될 수 있다.Hereinafter, with reference to FIG. 7 , the step ( S1453 ) of correcting the pixel value of the block according to the rule corresponding to the random number described in FIG. 8 will be described in more detail. The embedding method of watermark data according to the present embodiment may be executed, for example, by a computing device.

현재 블록이 흰색인 경우(S1453-1), n번째 난수에 대응되는 규칙이 로드(S1453-2)된다. 도 8을 참조하면, 2 x 2 픽셀의 경우 6가지 경우의 수에 대응되는 규칙을 확인할 수 있다. 다음으로, 현재 블록의 일부 픽셀이 대응되는 규칙과 일치하도록 검은색으로 변환(S1453-3)된다. When the current block is white (S1453-1), a rule corresponding to the nth random number is loaded (S1453-2). Referring to FIG. 8 , in the case of 2×2 pixels, a rule corresponding to the number of 6 cases may be confirmed. Next, some pixels of the current block are converted to black to match the corresponding rule (S1453-3).

현재 블록이 검은색인 경우(S1453-1), n번째 난수에 대응되는 규칙이 로드(S1453-5)된다. 도 8을 참조하면, 2 x 2 픽셀의 경우 6가지 경우의 수에 대응되는 규칙을 확인할 수 있다. 다만, 해당 규칙은 현재 블록이 흰색인 경우를 기준으로 도시되었으므로, 검은색과 흰색이 반전된 규칙이 현재 블록이 검은색인 경우의 규칙에 해당한다. 다음으로, 현재 블록의 일부 픽셀이 대응되는 규칙과 일치하도록 흰색으로 변환(S1453-6)된다.When the current block is black (S1453-1), a rule corresponding to the nth random number is loaded (S1453-5). Referring to FIG. 8 , in the case of 2×2 pixels, a rule corresponding to the number of 6 cases may be confirmed. However, since the corresponding rule is illustrated based on the case in which the current block is white, the black and white inverted rule corresponds to the rule in the case where the current block is black. Next, some pixels of the current block are converted to white to match the corresponding rule (S1453-6).

다음으로, 모든 워터마크 데이터의 처리가 완료(S1453-7)되지 않은 경우, 각각의 블록을 순회(S1453-4)하면서 상기 워터마크 데이터 및 난수를 이용하여 동일한 과정을 반복한다.Next, if the processing of all watermark data is not completed (S1453-7), the same process is repeated using the watermark data and the random number while traversing each block (S1453-4).

도 9는 앞서 설명한 각각의 블록을 순회(S1453-4)하면서 워터마크 데이터를 임베딩 하는 과정을 도시한다. 144 bit의 워터마크 데이터를 임베딩 하기 위해 144개의 블록이 구성되고, 최소 576개의 픽셀이 요구된다. 후술할 몇몇 실시예에서 노이즈 베이스 이미지는 정사각형이 아닌 직사각형으로 구성될 수 있다. 9 illustrates a process of embedding watermark data while traversing each block described above (S1453-4). In order to embed 144-bit watermark data, 144 blocks are configured, and a minimum of 576 pixels is required. In some embodiments to be described later, the noise base image may be formed in a rectangle rather than a square.

이하 도 10 내지 14를 참조하여, 도 7에서 설명된 임베딩 방법의 구체적 예시를 설명한다. 이하 설명의 편의를 위해, 블록은 2 x 2 픽셀에 해당하고, 채택되는 난수는 1에서 6에 해당하는 자연수 중 어느 한수에 해당하는 것으로 한다.Hereinafter, a specific example of the embedding method described in FIG. 7 will be described with reference to FIGS. 10 to 14 . For convenience of description below, it is assumed that a block corresponds to 2 x 2 pixels, and an adopted random number corresponds to any one of natural numbers corresponding to 1 to 6.

도 10을 참조하면, 첫번째 워터마크 데이터는 0이고, 채택된 난수는 1에 해당한다. 변환 대상 블록(43a)는 흰색으로 블록화 되었으므로, 도 8을 참조하여 난수에 대응되는 케이스 1의 0에 따라 변환 대상 블록(43a)의 픽셀 값이 수정된다. Referring to FIG. 10 , the first watermark data is 0, and the adopted random number corresponds to 1. Since the transformation object block 43a is blocked in white, the pixel value of the transformation object block 43a is corrected according to 0 of case 1 corresponding to the random number with reference to FIG. 8 .

도 11을 참조하면, 두번째 워터마크 데이터는 1이고, 채택된 난수는 3에 해당한다. 변환 대상 블록(43b)는 검은색으로 블록화 되었으므로, 도 8을 참조하여 난수에 대응되는 케이스 3의 1이 반전된 형태에 따라 변환 대상 블록(43b)의 픽셀 값이 수정된다.Referring to FIG. 11 , the second watermark data is 1, and the adopted random number corresponds to 3. Since the transformation object block 43b is black, the pixel value of the transformation object block 43b is corrected according to the inverted form of 1 in Case 3 corresponding to the random number with reference to FIG. 8 .

도 12를 참조하면, 세번째 워터마크 데이터는 1이고, 채택된 난수는 4에 해당한다. 변환 대상 블록(43c)는 흰색으로 블록화 되었으므로, 도 8을 참조하여 난수에 대응되는 케이스 4의 1에 따라 변환 대상 블록(43c)의 픽셀 값이 수정된다. Referring to FIG. 12 , the third watermark data is 1, and the adopted random number corresponds to 4. Since the transformation object block 43c is blocked in white, the pixel value of the transformation object block 43c is corrected according to Case 4 1 corresponding to the random number with reference to FIG. 8 .

도 13을 참조하면, 네번째 워터마크 데이터는 0이고, 채택된 난수는 5에 해당한다. 변환 대상 블록(43d)는 검은색으로 블록화 되었으므로, 도 8을 참조하여 난수에 대응되는 케이스 5의 0이 반전된 형태에 따라 변환 대상 블록(43d)의 픽셀 값이 수정된다.Referring to FIG. 13 , the fourth watermark data is 0, and the adopted random number corresponds to 5. Since the transformation object block 43d is black, the pixel value of the transformation object block 43d is corrected according to the inverted form of 0 in case 5 corresponding to the random number with reference to FIG. 8 .

도 7 내지 도 13을 참조하여, 난수와 난수에 대응되는 규칙을 이용하여 블록화 된 노이즈 베이스 이미지(41)상에 워터마크 데이터를 임베딩 하는 구체적 방법을 설명했다. 하나의 규칙으로 임베딩 하는 종전의 워터마크 기술과 달리, 본 발명에 따른 일 실시예는 동기화 신호를 훼손시키지 않아 추출 시 인식율을 향상시킬 수 있다. 나아가, 한가지 방법의 규칙으로 데이터를 임베딩 하여 일정한 패턴이 형성됨으로써, 데이터가 임베딩 되는 노이즈 베이스 이미지의 유출에 의한 보안의 우려도 사라질 수 있다. 7 to 13, a specific method for embedding watermark data on a noise base image 41 that is blocked using random numbers and rules corresponding to random numbers has been described. Unlike the conventional watermark technique of embedding with a single rule, an embodiment according to the present invention does not damage the synchronization signal, so that the recognition rate during extraction can be improved. Furthermore, since a certain pattern is formed by embedding data according to a rule of one method, security concerns due to leakage of a noise-based image in which data is embedded can also be eliminated.

이하 도 6 내지 도 13을 참조하여 구체적으로 설명된 본 발명의 일 실시예에 따른 워터마크 데이터의 임베딩 방법을 도 14에 도시된 개념도로 설명한다. 일 실시예에서, 블록화 된 노이즈 베이스 이미지(41)에 워터마크 데이터(10)를 임베딩 함에 있어서, 미리 저장된 난수열을 이용하고, 블록마다 순회하면서 채택된 난수에 대응되는 규칙으로 블록의 일부 픽셀 값을 수정하여 변환된 노이즈 베이스 이미지(50)를 얻는다. Hereinafter, a method for embedding watermark data according to an embodiment of the present invention described in detail with reference to FIGS. 6 to 13 will be described as a conceptual diagram shown in FIG. 14 . In one embodiment, when embedding the watermark data 10 in the blocked noise base image 41, a pre-stored random number sequence is used, and some pixel values of the block are used as a rule corresponding to the adopted random number while traversing each block. to obtain a transformed noise base image 50 .

몇몇 실시예에서 참조될 수 있는 변환된 노이즈 베이스 이미지(50)는 한가지 규칙으로 변환된 종래의 노이즈 베이스 이미지보다 동기화 신호 특성이 더 잘 유지되고, 일정한 패턴이 형성되지 않으므로 보안성이 강화된다. The converted noise base image 50 that can be referenced in some embodiments maintains synchronization signal characteristics better than the conventional noise base image converted by one rule, and security is enhanced because a constant pattern is not formed.

이하 도 15 및 16을 참조하여, 몇몇 실시예에서 참조될 수 있는 동기화 신호에 대해 설명한다. 주파수 영역을 통해 생성된 노이즈 베이스 이미지는 주파수의 특징에 따라 이미지가 일부 손상되더라도 동기화 신호 특성이 유지된다. 따라서 추출 과정에서 동기화 신호와 촬영된 이미지의 유사성을 이용해 기하학적 왜곡을 보정할 수 있다. Hereinafter, a synchronization signal that may be referenced in some embodiments will be described with reference to FIGS. 15 and 16 . In the noise base image generated through the frequency domain, the synchronization signal characteristics are maintained even if the image is partially damaged according to the characteristics of the frequency. Therefore, geometric distortion can be corrected using the similarity between the synchronization signal and the captured image during the extraction process.

도 15에 도시된 바와 같이, 노이즈 베이스 이미지(40)를 푸리에 변환하는 경우, 주파수 도메인에서의 크기 스펙트럼(45) 및 위상 스펙트럼(47)을 얻을 수 있다. 예시된 노이즈 베이스 이미지(45)는 동기화 신호(45a, 45b, 45c, 45d)에 의해서 생성된 이미지에 해당한다. 도 16에 도시된 바와 같이, 변환된 노이즈 베이스 이미지(50)의 푸리에 변환에 따른 주파수 도메인에서의 크기 스펙트럼(51a)에서 동기화 신호(51aa, 51ab, 51ac, 51ad)가 유지된다. 앞서 설명한 바와 같이, 블록화 및 워터마크 데이터의 임베딩 단계를 거쳤음에도 동기화 신호가 유지되어 추출 단계에서 데이터를 담는 그릇에 해당하는 노이즈 베이스 이미지를 인식할 수 있다. As shown in FIG. 15 , when the noise base image 40 is Fourier transformed, a magnitude spectrum 45 and a phase spectrum 47 in the frequency domain can be obtained. The illustrated noise base image 45 corresponds to an image generated by the synchronization signals 45a, 45b, 45c, 45d. As shown in FIG. 16 , synchronization signals 51aa , 51ab , 51ac and 51ad are maintained in the magnitude spectrum 51a in the frequency domain according to the Fourier transform of the transformed noise base image 50 . As described above, the synchronization signal is maintained even after the steps of blocking and embedding the watermark data, so that the noise base image corresponding to the container containing the data can be recognized in the extraction step.

다시, 도 3으로 돌아가서 설명하면, 변환된 노이즈 베이스 이미지를 이용하여 오리지널 이미지를 조정함으로써, 워터마크 데이터가 임베드 된 이미지를 생성한다(S180). 상기 조정은, 상기 오리지널 이미지의 제1 픽셀의 R 채널값, G채널값 및 B채널값이 모두 한계치를 초과하거나 모두 한계치에 미달하는 경우에 한하여, 상기 제1 픽셀을 조정하는 것을 포함한다. 이 때, 상기 오리지널 이미지의 상기 현재 픽셀을 조정하는 것은 상기 변환된 노이즈 베이스 이미지의 제2 픽셀이 흰색인 경우 상기 제1 픽셀을 제1 조정하고, 상기 제2 픽셀이 검은색인 경우 상기 제1 픽셀을 상기 제1 조정과 상이한 규칙으로 제2 조정하는 단계를 포함한다. 예를 들어, 상기 제1 조정은 상기 제1 픽셀의 R채널값을 감소시키고, G채널값을 증가시키며, B채널값을 감소시키는 것이고, 상기 제2 조정은 상기 제1 픽셀의 R채널값을 증가시키고, G채널값을 감소시키며, B채널값을 증가시키는 것이다.Referring back to FIG. 3 , an image in which watermark data is embedded is generated by adjusting the original image using the converted noise base image ( S180 ). The adjusting includes adjusting the first pixel only when the R channel value, the G channel value, and the B channel value of the first pixel of the original image all exceed or all fall below the limit value. In this case, adjusting the current pixel of the original image includes first adjusting the first pixel when the second pixel of the converted noise base image is white, and adjusting the first pixel when the second pixel is black and a second reconciliation with a different rule than the first reconciliation. For example, the first adjustment is to decrease the R-channel value of the first pixel, increase the G-channel value, and decrease the B-channel value, and the second adjustment is to increase the R-channel value of the first pixel. increase, decrease the G-channel value, and increase the B-channel value.

상기 조정에 있어서, α, β, γ 세 가지 상수의 값이 활용된다. 상기 세 가지 상수의 값은, 워터마크 데이터 추출 프로세스에서, 이미지의 노이즈를 극대화하기 위하여 모노크롬화 할 때 사용될 비율이다.In the above adjustment, the values of three constants α, β, and γ are utilized. The values of the three constants are ratios to be used for monochrome in order to maximize the noise of the image in the watermark data extraction process.

(R, G, B = 갱신되기 전 원본 R 채널, G 채널, B 채널 각각의 픽셀 값, R, G, B’= 갱신 후의 R 채널, G 채널, B 채널 각각의 픽셀 값)을 전제하여, 아래의 조정 규칙을 고려할 수 있다.Assuming (R, G, B = each pixel value of the original R channel, G channel, and B channel before being updated, R, G, B' = each pixel value of the R channel, G channel, and B channel after update), The following reconciliation rules may be considered.

제1 경우: 노이즈의 픽셀 값이 0이고 원본 이미지의 픽셀 값이 R, G, B 세 채널 모두 250보다 클 때, R’ = R(1 - α), G’= G(1 + β), B’= B(1 - γ)Case 1: When the pixel value of noise is 0 and the pixel value of the original image is greater than 250 for all three channels R, G, B, R' = R(1 - α), G'= G(1 + β), B' = B(1 - γ)

제2 경우: 노이즈의 픽셀 값이 0이고 원본 이미지의 픽셀 값이 R, G, B 세 채널 모두 250보다 작을 때, R’ = R(1 - α), G’= G(1 + β), B’= B(1 - γ)Case 2: When the pixel value of noise is 0 and the pixel value of the original image is less than 250 for all three channels R, G, B, R' = R(1 - α), G'= G(1 + β), B' = B(1 - γ)

제3 경우: 노이즈의 픽셀 값이 255이고 원본 이미지의 픽셀 값이 R, G, B 세 채널 모두 250보다 클 때, R’ = R(1 + α), G’= G(1 - β), B’= B(1 + γ)Case 3: When the pixel value of noise is 255 and the pixel value of the original image is greater than 250 for all three channels R, G, B, R' = R(1 + α), G'= G(1 - β), B' = B(1 + γ)

제4 경우: 노이즈의 픽셀 값이 255이고 원본 이미지의 픽셀 값이 R, G, B 세 채널 모두 250보다 작을 때, R’ = R(1 + α), G’= G(1 - β), B’= B(1 + γ)Case 4: When the pixel value of noise is 255 and the pixel value of the original image is less than 250 for all three channels R, G, B, R' = R(1 + α), G'= G(1 - β), B' = B(1 + γ)

노이즈를 원본 이미지에 삽입하는 데에 사용된 α, β, γ 세 가지의 상수는 원본 이미지에 따라 달라진다. 본 기술은 사람의 육안으로 식별하기 힘들다는 특성을 가지고 있다. 이를 충족시키기 위해 노이즈가 삽입될 원본 이미지의 픽셀 값에 따라 α, β, γ값은 다양하게 달라져야 한다.The three constants α, β, and γ used to insert noise into the original image depend on the original image. This technology has a characteristic that it is difficult to identify it with the human eye. In order to satisfy this, the α, β, and γ values should be varied according to the pixel values of the original image into which the noise is to be inserted.

이하 도 17 내지 도 20을 참조하여 본 발명의 일 실시예에 따른 워터마크 데이터 임베딩 방법 중 노이즈 베이스 이미지가 정사각형이 아닌 직사각형에 해당하는 구체적 예시들을 설명한다.Hereinafter, specific examples in which the noise base image corresponds to a rectangle rather than a square in the watermark data embedding method according to an embodiment of the present invention will be described with reference to FIGS. 17 to 20 .

이하 도 17 및 18을 참조하여, 오리지널 이미지의 종횡비를 기준으로 워터마크 데이터를 임베딩 하는 방법을 설명한다.Hereinafter, a method of embedding watermark data based on the aspect ratio of the original image will be described with reference to FIGS. 17 and 18 .

일 실시예에서, 오리지널 이미지의 종횡비를 얻는 단계가 더 포함될 수 있고, 오리지널 이미지의 종횡비가 기준 범위에 해당하는 경우 오리지널 이미지의 종횡비에 대응하여 정사각형이 아닌 직사각형 이미지의 노이즈 베이스 이미지를 이용해 워터마크 데이터가 임베딩 될 수 있다. 오리지널 이미지의 디자인 특성에 대응하여 유연하게 워터마크를 수정하여 임베딩 할 수 있다. 오리지널 이미지의 디자인 특성을 반영하므로, 워터마크 데이터 추출 시 인식 성능을 향상시킬 수 있다. 예를 들어, 종횡비(=가로/세로)가 4이상이거나 0.25이하인 경우 직사각형 이미지의 노이즈 베이스 이미지를 이용해 워터마크 데이터를 임베딩 할 수 있다. In one embodiment, the step of obtaining the aspect ratio of the original image may be further included, and when the aspect ratio of the original image falls within the reference range, watermark data using a noise base image of a rectangular image instead of a square corresponding to the aspect ratio of the original image can be embedded. In response to the design characteristics of the original image, the watermark can be flexibly modified and embedded. Since the design characteristics of the original image are reflected, recognition performance can be improved when extracting watermark data. For example, when the aspect ratio (=horizontal/length) is 4 or more or 0.25 or less, watermark data can be embedded using a noise base image of a rectangular image.

일 실시예에서, 오리지널 이미지의 종횡비가 기준 범위에 해당하는 경우 종횡비가 고정된 형태의 직사각형의 노이즈 베이스 이미지를 이용해 워터마크 데이터가 임베딩 될 수 있다. In an embodiment, when the aspect ratio of the original image falls within the reference range, watermark data may be embedded using a rectangular noise-based image having a fixed aspect ratio.

일 실시예에서 오리지널 이미지의 종횡비가 기준 범위에 해당하는 경우 종횡비가 오리지널 이미지의 종횡비와 동일한 형태의 직사각형의 노이즈 베이스 이미지를 이용해 워터마크 데이터가 임베딩 될 수 있다. 예를 들어, 도 9를 참조하면 기존의 정사각형 워터마크는 12 x 12 블록으로 이루어져, 24 x 24 픽셀 단위로 구성되었다면, 상기 종횡비 4에 대응한 단위 워터마크는 48 x 12 픽셀로 구성될 수 있다. 상기 종횡비 0.25에 대응한 단위 워터마크는 12 x 48 픽셀로 구성될 수 있다. In an embodiment, when the aspect ratio of the original image falls within the reference range, watermark data may be embedded using a rectangular noise-based image having the same aspect ratio as the aspect ratio of the original image. For example, referring to FIG. 9 , if the conventional square watermark consists of 12×12 blocks and is configured in units of 24×24 pixels, the unit watermark corresponding to the aspect ratio of 4 may consist of 48×12 pixels. . The unit watermark corresponding to the aspect ratio of 0.25 may consist of 12 x 48 pixels.

도 17은 앞서 설명한 직사각형의 워터마크가 도시된다. 24 x 24 픽셀의 정사각형 단위 워터마크(60)에 의해 정사각형 워터마크(70)가 생성된다. 48 x 12 픽셀의 가로가 세로보다 긴 직사각형 단위 워터마크(60a)에 의해 가로가 세로보다 긴 직사각형 워터마크(70a)가 생성된다. 12 x 48 픽셀의 세로가 가로보다 긴 직사각형 단위 워터마크(60b)에 의해 세로가 가로보다 긴 직사각형 워터마크(70b)가 생성된다. 앞서 설명한바, 오리지널 이미지의 디자인 특성을 반영하여 워터마크를 생성하므로, 워터마크 데이터 추출 시 인식 성능을 향상시킬 수 있다. 17 shows the aforementioned rectangular watermark. A square watermark 70 is generated by the square unit watermark 60 of 24 x 24 pixels. A rectangular watermark 70a whose width is longer than the length is generated by the rectangular unit watermark 60a having a width of 48 x 12 pixels longer than the length. A rectangular watermark 70b whose length is longer than the width is generated by the rectangular unit watermark 60b having a length of 12 x 48 pixels longer than the width. As described above, since the watermark is generated by reflecting the design characteristics of the original image, it is possible to improve recognition performance when extracting watermark data.

도 18은 앞서 설명된 직사각형의 워터마크가 활용될 구체적 예시를 나타낸 예시도에 해당한다. 워터마크는 인간의 눈에 인식되지 않으므로, 가운데(60c) 회사의 CI나 QR 코드 등을 위치하여 함께 사용될 수 있다. 특히 QR 코드와 함께 사용되는 경우, 향후 QR코드를 이용한 상거래의 보안을 강화하기 위한 용도로 사용될 수 있다. 가로가 세로보다 긴 직사각형 단위 워터마크(60a)는 상하단에 위치할 수 있고, 세로가 가로보다 긴 직사각형 단위 워터마크(60b)는 좌우단에 위치하여 인간의 눈에 인식되지 않는 워터마크로 구성될 수 있다. 18 corresponds to an exemplary view showing a specific example in which the above-described rectangular watermark is utilized. Since the watermark is not recognized by the human eye, it can be used together by locating the company's CI or QR code in the center 60c. In particular, when used together with a QR code, it can be used for the purpose of strengthening the security of commerce using the QR code in the future. The rectangular unit watermark 60a having a length longer than the width may be located at the upper and lower ends, and the rectangular unit watermark 60b having a length longer than the width may be located at the left and right ends to constitute a watermark that is not recognized by the human eye. have.

이하 도 19 및 20을 참조하여, 오리지널 이미지의 무늬 경향성을 기준으로 워터마크 데이터를 임베딩 하는 방법을 설명한다.Hereinafter, a method of embedding watermark data based on the pattern tendency of the original image will be described with reference to FIGS. 19 and 20 .

일 실시예에서, 오리지널 이미지의 무늬 가로 세로 경향성을 수치로 얻는 단계가 더 포함될 수 있고, 상기 수치가 기준치 이하에 해당하는 경우 수치에 대응되는 형태의 직사각형 노이즈 베이스 이미지를 이용하여 워터마크 데이터가 임베딩 될 수 있다.In one embodiment, the step of obtaining the pattern horizontal and vertical tendency of the original image as a numerical value may be further included, and when the numerical value is equal to or less than a reference value, the watermark data is embedded using a rectangular noise base image having a shape corresponding to the numerical value. can be

일 실시예에서, 무늬 가로 세로 경향성을 수치로 얻는 단계는 오리지널 이미지의 푸리에 변환 주파수 도메인의 크기 스펙트럼에서 피크 좌표가 가장 인접한 축과의 최소거리를 얻는 단계를 포함할 수 있다. 도 19를 참조하면, 세로 무늬가 연속된 오리지널 이미지(53)의 푸리에 변환 결과 x 축 상에 피크점이 도시된 크기 스펙트럼(53a)을 얻을 수 있다. 가로 무늬가 연속된 오리지널 이미지(55)의 푸리에 변환 결과 y 축 상에 피크점이 도시된 크기 스펙트럼(55a)을 얻을 수 있다. 본 예시의 경우, 축 상에 위치한 피크점에 해당하므로 인접한 축과의 최소거리는 0에 해당한다. In an embodiment, the step of numerically obtaining the fringe horizontal and vertical tendency may include obtaining a minimum distance from an axis having the closest peak coordinate in a magnitude spectrum of a Fourier transform frequency domain of the original image. Referring to FIG. 19 , as a result of the Fourier transform of the original image 53 in which vertical fringes are continuous, a magnitude spectrum 53a in which a peak point is shown on the x-axis may be obtained. As a result of the Fourier transform of the original image 55 in which horizontal fringes are continuous, a magnitude spectrum 55a in which a peak point is shown on the y-axis may be obtained. In this example, since it corresponds to the peak point located on the axis, the minimum distance to the adjacent axis corresponds to 0.

일 실시예에서, 피크 좌표와 인접한 축과의 최소거리가 기준치 이하에 해당하는 경우, 인접한 상기 축이 x축에 해당하는 경우 직사각형의 세로가 가로보다 더 긴 노이즈 베이스 이미지를 이용하여 워터마크 데이터가 임베딩 될 수 있다. 일 실시예에서, 피크 좌표와 인접한 축과의 최소거리가 기준치 이하에 해당하는 경우, 인접한 상기 축이 y축에 해당하는 경우 직사각형의 가로가 세로보다 더 긴 노이즈 베이스 이미지를 이용하여 워터마크 데이터가 임베딩 될 수 있다. 도 19를 참조하면, 53a의 결과 오리지널 이미지(53)에 세로가 가로보다 더 긴 워터마크가 임베딩 될 수 있다. 55a의 결과 오리지널 이미지(55)에 가로가 세로보다 더 긴 워터마크가 임베딩 될 수 있다. 오리지널 이미지의 무늬 경향성에 대응하여 단위 워터마크의 크기를 조절함으로써, 동기화 신호를 강하게 유지하여 추출 시 인식률이 향상되는 효과가 있다.In one embodiment, when the minimum distance between the peak coordinate and the adjacent axis is equal to or less than the reference value, when the adjacent axis corresponds to the x-axis, the watermark data is generated using a noise base image in which the length of the rectangle is longer than the width. can be embedded. In one embodiment, when the minimum distance between the peak coordinate and the adjacent axis is equal to or less than the reference value, when the adjacent axis corresponds to the y-axis, the watermark data is generated using a noise base image in which the width of the rectangle is longer than the length. can be embedded. Referring to FIG. 19 , as a result of 53a , a watermark longer in length than in width may be embedded in the original image 53 . As a result of 55a, a watermark longer in width than length may be embedded in the original image 55 . By adjusting the size of the unit watermark in response to the pattern tendency of the original image, the synchronization signal is maintained strong, thereby improving the recognition rate during extraction.

도 20은 앞서 설명한 오리지널 이미지의 무늬에 대응하여 워터마크를 배치하는 구체적인 예시가 도시된다. 가로가 세로보다 더 긴 단위 워터마크(60a)가 가로 무늬 오리지널 이미지(20b)에 배치된다. 세로가 가로보다 더 긴 단위 워터마크(60b)가 세로 무늬 오리지널 이미지(20c)에 배치된다. 앞서 설명한 바와 같이, 오리지널 이미지의 무늬 경향성에 대응하여 단위 워터마크의 크기를 조절함으로써, 동기화 신호를 강하게 유지하여 추출 시 인식률이 향상되고, 인식 속도가 감소되는 효과가 있다.20 shows a specific example of disposing a watermark corresponding to the pattern of the original image described above. A unit watermark 60a whose width is longer than that of length is disposed on the horizontal pattern original image 20b. A unit watermark 60b whose length is longer than that of the width is disposed on the vertical pattern original image 20c. As described above, by adjusting the size of the unit watermark in response to the pattern tendency of the original image, the synchronization signal is strongly maintained to improve the recognition rate during extraction and reduce the recognition speed.

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

이하, 본 발명의 다른 실시예에 다른 워터마크 데이터의 추출 방법에 대하여 도 21 내지 도 27을 참조하여 설명한다. 본 실시예에 따른 워터마크 데이터의 추출 방법은 상기 설명된 본 발명의 일 실시예에 따른 워터마크 데이터의 임베드 방법에 의하여 임베드 된 워터마크 데이터에 대하여만 적용 가능하다. 먼저, 도 21을 참조하여 설명한다.Hereinafter, a method of extracting watermark data according to another embodiment of the present invention will be described with reference to FIGS. 21 to 27 . The watermark data extraction method according to the present embodiment is applicable only to watermark data embedded by the watermark data embedding method according to the embodiment of the present invention described above. First, it will be described with reference to FIG. 21 .

본 실시예에 따른 워터마크 데이터의 추출 방법은 촬영 이미지를 제공받고, 이로부터 복수의 이미지 블록들을 식별하는 것에 의하여 시작된다(S200).The watermark data extraction method according to the present embodiment starts by receiving a photographed image and identifying a plurality of image blocks therefrom ( S200 ).

만약 현존하는 디지털 워터마킹 기술과 같이 워터마크가 삽입된 디지털 이미지 파일 그대로를 가지고 PC상에서 워터마크를 추출한다면 임베드 과정을 정확히 역으로 수행하면 워터마크를 추출할 수 있다. 하지만, 본 발명의 기술은 스마트폰 카메라 등 이동 단말의 카메라를 이용하여 워터마크를 인식하는 것을 지원하므로, 워터마크를 추출하기 전 많은 이미지 전처리 과정이 필요하다. 도 22를 참조하면, 스마트 폰(900)의 사용자는 워터마킹 데이터를 추출하기 위한 특별한 주의를 기울이지 않고 워터마킹 데이터가 임베드 된 이미지가 프린트 된 매체(30')를 촬영할 수 있다. 본 실시예에 따른 워터마크 데이터 추출 방법은 이러한 경우에도 워터마크 데이터의 추출이 가능하도록 개발되었다.If, like the existing digital watermarking technology, the watermark is extracted on the PC with the digital image file embedded with the watermark as it is, the watermark can be extracted by performing the embedding process exactly in reverse. However, since the technology of the present invention supports the recognition of a watermark using a camera of a mobile terminal such as a smartphone camera, many image preprocessing steps are required before extracting the watermark. Referring to FIG. 22 , the user of the smart phone 900 may photograph the medium 30 ′ on which the image in which the watermarking data is embedded is printed without paying special attention to extracting the watermarking data. The watermark data extraction method according to the present embodiment was developed to enable extraction of watermark data even in this case.

전처리 과정은 카메라에 찍힌 사진 내에 워터마크 존재여부를 판단할 물체의 위치, 크기, 회전여부, 밝기, 파손여부 등 많은 변수 속에서도 높은 인식률 유지가 가능하게 만든다. 이 과정에서 임베드 과정에서 삽입한 동기화 신호를 이용해 워터마크의 존재 여부를 가려내고 데이터를 추출하기 최적의 조건으로 이미지를 변형한다. 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 크기로 캡쳐 한다. 이 후, 캡쳐한 이미지의 모든 픽셀 값들을 RGB형태로 변경한다. 본 발명의 실시예들은 RGB를 기반으로 작업을 수행하기 때문이다. 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 are changed to RGB format. This is because embodiments of the present invention perform operations based on RGB.

다음으로 캡쳐된 1920x1080 이미지(이하, "촬영 이미지"라고 지칭한다)가 복수의 이미지 블록들로 구획된다. 여기서 복수의 이미지 블록들 각각은 후술할 단계(S210)에서 제1 유사도 판정의 처리 대상이 되는 이미지 단위이며, 상기 제1 유사도 판정 결과 선정된 어느 하나의 이미지 블록을 대상으로 워터마크 데이터의 존재여부가 판별되고 워터마크 데이터 추출이 시도된다.Next, a captured 1920x1080 image (hereinafter, referred to as a “shot image”) is divided into a plurality of image blocks. Here, each of the plurality of image blocks is an image unit to be processed for the first similarity determination in step S210 to be described later, and whether or not watermark data exists in any one image block selected as a result of the first similarity determination is determined and watermark data extraction is attempted.

도 23a는, 촬영 이미지(90)가 동일한 크기를 가지는 총 9개의 이미지 블록들(91 내지 99)로 구획된 예를 보여주는 도면이다. 촬영 이미지가 1920x1080의 크기를 가지는 이미지(90)라면, 상기 이미지 블록들(91 내지 99)은 예컨대 각각 256x256 픽셀 또는 512x512 픽셀의 크기를 가지는, 상기 촬영 이미지의 일부분일 수 있다. 상기 각각의 이미지 블록들의 크기는, 후술할 단계들(S210 내지 S250)에서 워터마크 존재여부 판별 및 워터마크 데이터 추출이 원활하게 수행될 수 있도록 하는 임의의 크기로 설정될 수 있으나, 적어도 워터마크 임베딩에 사용되는 노이즈 베이스 이미지의 크기 이상으로 설정되어야 한다. 이때 노이즈 베이스 이미지의 크기는 임베딩 될 워터마크 데이터의 크기(비트수)를 고려하여 적절한 크기로 선택되는 것이다. 23A is a diagram illustrating an example in which a photographed image 90 is divided into a total of nine image blocks 91 to 99 having the same size. If the captured image is an image 90 having a size of 1920x1080, the image blocks 91 to 99 may be, for example, a part of the captured image, each having a size of 256x256 pixels or 512x512 pixels. The size of each of the image blocks may be set to any size so that watermark presence determination and watermark data extraction can be smoothly performed in steps S210 to S250 to be described later, but at least watermark embedding It should be set to be larger than the size of the noise base image used for In this case, the size of the noise base image is appropriately selected in consideration of the size (number of bits) of watermark data to be embedded.

이때 복수의 이미지 블록들(91 내지 99)은 서로 부분적으로 중첩될 수 있다. 도 23a에 도시된 예에서 이미지 블록들(1, 2, 3)은 각각 이미지 블록들(4, 5, 6)과 중첩되는 영역(짙은 음영으로 표시된 영역)을 가지며, 이미지 블록들(7, 8, 9)은 각각 이미지 블록들(4, 5, 6)과 중첩되는 영역(짙은 음영으로 표시된 영역)을 가진다. In this case, the plurality of image blocks 91 to 99 may partially overlap each other. In the example shown in FIG. 23A , the image blocks 1, 2, and 3 have regions (areas indicated by dark shades) overlapping with the image blocks 4, 5 and 6, respectively, and the image blocks 7 and 8 , 9) have regions (areas indicated by dark shades) overlapping the image blocks 4, 5, and 6, respectively.

후술할 제1 유사도 판정 단계(S210)는 촬영 이미지(90) 내의 어느 영역에 워터마크 데이터가 존재하는지 알려지지 않은 상태에서, 워터마크 데이터가 존재할 가능성이 가장 높은 이미지 블록을 찾아내는 과정이다. 따라서 촬영 이미지(90) 내에 가급적 많은 이미지 블록들을 서로 중첩하여 설정할수록, 촬영 이미지(90) 내에 존재하는 워터마크를 인식해 내지 못할 가능성은 낮아진다. 다만, 이미지 블록들의 수가 많아질수록 각각의 이미지 블록들에 대해 수행되는 제1 유사도 판정에 소모되는 컴퓨팅 파워와 시간이 증가하게 된다. 반대로 촬영 이미지(90) 내에 더 적은 이미지 블록들을 설정할수록, 후술할 단계(S210)에서 소모되는 컴퓨팅 파워와 시간은 절감되지만, 촬영 이미지(90) 내에 존재하는 워터마크를 인식하지 못할 가능성은 증가하게 된다. 촬영 이미지(90) 내에 워터마크가 존재함에도 불구하고 인식하지 못하는 경우에는, 결국 새로운 촬영 이미지를 대상으로 워터마크 인식 과정을 다시 수행해야 하므로, 최종적으로 소모되는 컴퓨팅 파워와 지연 시간은 더 증가할 수 있다.A first similarity determination step S210, which will be described later, is a process of finding an image block in which watermark data is most likely to exist in a state where it is unknown in which area within the captured image 90 the watermark data is present. Accordingly, as many image blocks are set to overlap each other in the captured image 90 , the possibility that the watermark present in the captured image 90 cannot be recognized decreases. However, as the number of image blocks increases, computing power and time consumed for the first similarity determination performed on each image block increases. Conversely, as fewer image blocks are set in the captured image 90, the computing power and time consumed in step S210 to be described later are reduced, but the possibility of not recognizing the watermark present in the captured image 90 increases. do. If the watermark is not recognized despite the presence of the watermark in the photographed image 90, eventually, the watermark recognition process must be performed again for a new photographed image, so the finally consumed computing power and delay time may further increase. have.

한편, 촬영 이미지(90)의 모든 영역이 복수의 이미지 블록들(91 내지 99) 중 적어도 하나에 의해 커버되는 것이 바람직하지만, 반드시 그러한 것은 아니다. 사용자가 카메라로 물체를 비출 때 물체가 화면의 정중앙에 오도록 비출 가능성이 매우 높기 때문에, 촬영 이미지(90)의 외곽 영역 중 일부 영역은 전술한 복수의 이미지 블록들(91 내지 99)에 의해 커버되지 않더라도 워터마크 인식 결과에 미치는 영향이 상대적으로 낮을 수 있다.Meanwhile, although it is preferable that all areas of the captured image 90 are covered by at least one of the plurality of image blocks 91 to 99 , this is not necessarily the case. When a user illuminates an object with the camera, since there is a very high possibility that the object is centered on the screen, some of the outer regions of the captured image 90 are not covered by the plurality of image blocks 91 to 99 described above. Even if it does, the effect on the watermark recognition result may be relatively low.

한편, 몇몇 실시예에서는, 앞서 촬영 이미지(90)로부터 식별된 복수의 이미지 블록들(91 내지 99)에 각각 대하여 Deblur 처리를 수행함으로써, 후술할 단계(S210) 내지 단계(S250)에서 사용될 이미지 블록들을 선명하게 만들어 줄 수 있다.On the other hand, in some embodiments, the image block to be used in steps (S210) to (S250) to be described later by performing the Deblur process on each of the plurality of image blocks (91 to 99) identified from the previously captured image (90) can make them clearer.

도 23a에는 촬영 이미지(90)로부터 총 9개의 이미지 블록들(91 내지 99)을 식별하는 예를 설명하였으나, 본 발명이 그러한 실시예로 한정되는 것은 아니다. 본 발명이 사용될 목적과 워터마크 데이터 추출 기능이 구현될 장치의 성능, 워터마크의 인식 및 워터마크 데이터의 추출에 소요되는 시간과 컴퓨팅 파워 등을 다양한 요인들을 고려하여, 더 많은 또는 더 적은 개수의 이미지 블록을 사용하도록 선택할 수 있다.Although an example of identifying a total of nine image blocks 91 to 99 from the captured image 90 has been described in FIG. 23A , the present invention is not limited to such an embodiment. The purpose of the present invention, the performance of the device in which the watermark data extraction function will be implemented, the time required for watermark recognition and watermark data extraction, and computing power, etc., are taken into consideration in consideration of various factors, such as more or fewer You can choose to use image blocks.

도 23b 및 도 23c는 촬영 이미지(90)로부터 복수의 이미지 블록들이 식별되는 다른 예들을 보여준다. 전술한 바와 같이 사용자가 카메라로 물체를 비출 때 물체가 화면의 정중앙에 오도록 비출 가능성이 높으므로, 촬영 이미지(90)의 정중앙에서 워터마크 데이터를 발견할 가능성이 높도록 이미지 블록들을 설정하는 것이 바람직할 수 있다. 도 23b는, 촬영 이미지(90)의 정중앙을 중심으로 복수의 이미지 블록들이 배치된 예를 보여주는 도면이며, 도 23c는 복수의 이미지 블록들이 촬영 이미지(90)의 정중앙 부근에서 서로 많이 중첩되도록 배치된 예를 보여주는 도면이다.23B and 23C show other examples in which a plurality of image blocks are identified from the captured image 90 . As described above, when a user illuminates an object with the camera, there is a high probability that the object will be projected so that the object is in the center of the screen. can do. 23B is a view showing an example in which a plurality of image blocks are arranged around the center of the captured image 90, and FIG. 23C is a plurality of image blocks arranged to overlap each other a lot near the center of the captured image 90 It is a drawing showing an example.

한편, 워터마크 데이터 임베딩 및 추출 과정에서 둘 이상의 난수열(random number sequence) 세트들 중 어느 하나가 선택적으로 사용되는 몇몇 실시예에서는, 후술할 단계(S250)에서 상기 촬영 이미지(90)로부터 워터마크 데이터를 추출할 때 참조할 난수열을 결정하기 위한 식별자가 촬영 이미지(90)로부터 식별될 수 있다. 여기서 상기 식별자는 난수열 그 자체가 아니라 복수의 난수열들을 서로 구별하는 식별자임에 유의한다. 복수의 난수열 세트들은 워터마크 데이터를 임베딩하는 장치와 워터마크 데이터를 추출하는 장치 사이에 사전에 공유된다. 한편, 상기 식별자는 이미지로부터 데이터를 식별하는 종래의 다양한 방법을 이용하여 상기 촬영 이미지(90)로부터 식별될 수 있다. On the other hand, in some embodiments in which any one of two or more random number sequence sets is selectively used in the watermark data embedding and extraction process, a watermark from the captured image 90 in step S250 to be described later An identifier for determining a random number sequence to be referred to when extracting data may be identified from the captured image 90 . Note that the identifier is not a random number sequence itself, but an identifier that distinguishes a plurality of random number sequences from each other. A plurality of sets of random number sequences are shared in advance between an apparatus for embedding watermark data and an apparatus for extracting watermark data. Meanwhile, the identifier may be identified from the captured image 90 using various conventional methods for identifying data from the image.

전술한 바와 같이, 촬영 이미지를 획득하고 이로부터 복수의 이미지 블록들이 식별되는 단계(S200)가 수행된다.As described above, a step (S200) of acquiring a captured image and identifying a plurality of image blocks therefrom is performed.

다음으로, 상기 복수의 이미지 블록들(91 내지 99) 각각에 대하여 노이즈 베이스 이미지와의 제1 유사도를 판정하는 단계(S210)가 수행된다. 단계(S210)에서는 각각의 이미지 블록(91 내지 99)과 노이즈 베이스 이미지를 주파수 도메인 상의 프로세싱을 통해 비교함으로써, 각각의 이미지 블록(91 내지 99)의 제1 유사도, 회전각, 및 스케일이 판정된다. 본 동작과 관련하여 도 24를 참조하여 보다 자세히 설명한다.Next, a step S210 of determining a first similarity with a noise base image for each of the plurality of image blocks 91 to 99 is performed. In step S210, the first similarity, rotation angle, and scale of each image block 91 to 99 are determined by comparing each image block 91 to 99 with a noise base image through processing on the frequency domain. . This operation will be described in more detail with reference to FIG. 24 .

먼저, 복수의 이미지 블록들(91 내지 99) 중 하나의 이미지 블록을 주파수 도메인으로 변환하고(S211), 상기 이미지 블록에 대한 2D 매그니튜드 스펙트럼의 이미지(MS2)를 생성한다(S212). 또한, 상기 이미지 블록과 비교 될 노이즈 베이스의 2D 매그니튜드 스펙트럼의 이미지(MS1)도 준비한다(S213). 노이즈 베이스의 2D 매그니튜드 스펙트럼의 이미지(MS1)는 기 저장된 노이즈 베이스의 이미지로부터 생성된 것이거나, 기 저장된 데이터에서 단순히 조회된 것일 수 있다.First, one image block among the plurality of image blocks 91 to 99 is transformed into the frequency domain (S211), and an image MS2 of a 2D magnitude spectrum of the image block is generated (S212). Also, an image MS1 of a noise-based 2D magnitude spectrum to be compared with the image block is prepared (S213). The noise-based 2D magnitude spectrum image MS1 may be generated from a pre-stored noise-based image or may be simply retrieved from pre-stored data.

다음으로, 노이즈 베이스의 2D 매그니튜드 스펙트럼의 이미지(MS1), 상기 이미지 블록의 2D 매그니튜드 스펙트럼의 이미지(MS2)를 LogPolar 변환한다(S215). LogPolar 변환은 2차원 회전과 크기 변환에 불변한 특성을 가지게 하기 때문에, LogPolar 변환을 사용함으로써, 회전 및 크기 측면에서 신뢰될 수 있는 촬영 이미지의 흠결을 치유하는 효과를 얻을 수 있다.Next, the noise-based 2D magnitude spectrum image MS1 and the 2D magnitude spectrum image MS2 of the image block are LogPolar-transformed (S215). Since the LogPolar transform has properties that are invariant to the two-dimensional rotation and size transformation, by using the LogPolar transform, it is possible to obtain an effect of healing the flaws in the photographed image that are reliable in terms of rotation and size.

다음으로, LogPolar 변환 결과로 만들어진 이미지를 각각 주파수 도메인으로 변환하고(S215), 주파수 도메인으로의 변환 결과를 곱한 후(S216), 촬영 이미지에 대한 주파수 도메인으로의 변환 결과(f_LP2)의 매그니튜드 매트릭스로 나누어, 상기 이미지 블록에 대한 제1 결과 매트릭스를 생성한다(S217). 제1 결과 매트릭스는 상기 이미지 블록 내에 노이즈 베이스가 얼마나 포함되어 있는지, 그 비율을 가리키는 매트릭스로 이해될 수 있다. 또한, 제1 결과 매트릭스는 상기 상기 이미지 블록와 상기 노이즈 베이스의 이미지 사이의 유사도를 가리키는 매트릭스로도 이해될 수 있다.Next, each image created as a result of LogPolar transformation is transformed into the frequency domain (S215), multiplied by the result of the transformation into the frequency domain (S216), and then as a magnitude matrix of the result of transformation into the frequency domain (f_LP2) of the captured image divided to generate a first result matrix for the image block (S217). The first result matrix may be understood as a matrix indicating how many noise bases are included in the image block and the ratio thereof. Also, the first result matrix may be understood as a matrix indicating a degree of similarity between the image block and the noise-based image.

다음으로, 상기 이미지 블록에 대한 제1 결과 매트릭스를 공간 도메인으로 변환하여 상기 이미지 블록에 대한 제1 참조 이미지를 생성한다(S218). 상기 제1 참조 이미지를 이용하여, 상기 이미지 블록의 제1 유사도를 연산한다(S219). 제1 유사도는 상기 이미지 블록에 대한 상기 제1 참조 이미지의 픽셀 값들 중 최대 값이다. 그리고, 회전각은 픽셀 값이 최대 값인 픽셀의 X좌표이고, 스케일은 상기 픽셀의 Y좌표이다(S219). Next, a first reference image for the image block is generated by transforming the first result matrix for the image block into the spatial domain ( S218 ). A first degree of similarity of the image block is calculated using the first reference image (S219). The first similarity is a maximum value among pixel values of the first reference image with respect to the image block. The rotation angle is the X-coordinate of the pixel having the maximum pixel value, and the scale is the Y-coordinate of the pixel (S219).

촬영 이미지(90) 내의 복수의 이미지 블록들(91 내지 99) 각각을 대상으로 상기 단계들(S211 내지 S219)이 수행되며, 그 결과 각각의 이미지 블록에 대한 제1 유사도가 산정된다.Steps S211 to S219 are performed for each of the plurality of image blocks 91 to 99 in the captured image 90 , and as a result, a first degree of similarity for each image block is calculated.

다시 도 21을 참조하여 설명한다. It will be described again with reference to FIG. 21 .

단계(S220)에서는 전술한 단계(S210)에서의 제1 유사도 산정 결과를 기초로 복수의 이미지 블록들(91 내지 99) 중 제1 이미지 블록을 선정하고, 회전각과 스케일을 반영하여 제1 이미지 블록을 전처리한다. In step S220, a first image block is selected from among the plurality of image blocks 91 to 99 based on the first similarity calculation result in step S210, and the rotation angle and scale are reflected to the first image block. pre-process

단계(S220)에서는 먼저 전술한 단계(S210)에서의 복수의 이미지 블록들(91 내지 99) 각각에 대하여 산정된 제1 유사도를 서로 비교한다. 그리고 제1 유사도가 가장 큰 이미지 블록을 제1 이미지 블록으로 선정한다. 촬영 이미지(90) 내에서 제1 유사도가 가장 큰 이미지 블록은, 촬영 이미지(90) 내에서 워터마크가 존재할 가능성이 가장 높은 영역으로 이해될 수 있다. 단계(S220)에서는 복수의 이미지 블록들(91 내지 99) 중에 워터마크가 존재할 가능성이 가장 높은 제1 영역을 선정함으로써, 후술할 단계들(S230 내지 S250)에서의 워터마크 정밀 인식 및 워터마크 데이터 추출에 관련된 처리의 대상을, 촬영 이미지(90) 전체가 아닌 촬영 이미지(90) 내의 일부 영역으로 한정한다. 이로 인해, 후술할 단계들(S230 내지 S250)의 수행 과정에서 소모되는 컴퓨팅 파워와 처리 시간이 절감될 수 있다. In step S220 , first similarities calculated for each of the plurality of image blocks 91 to 99 in step S210 are compared with each other. Then, an image block having the largest first similarity is selected as the first image block. An image block having the highest first similarity in the captured image 90 may be understood as an area in which a watermark is most likely to exist in the captured image 90 . In step S220, the watermark precision recognition and watermark data in steps S230 to S250, which will be described later, by selecting the first area where the watermark is most likely to exist among the plurality of image blocks 91 to 99. The target of the extraction-related processing is limited to a partial region within the captured image 90 rather than the entire captured image 90 . Accordingly, computing power and processing time consumed in the process of performing steps S230 to S250 to be described later may be reduced.

몇몇 실시예에서, 상기 복수의 이미지 블록들(91 내지 99) 각각에 대하여 산정된 제1 유사도가 모두 임계치 미만인 경우에는, 복수의 이미지 블록들(91 내지 99) 중 어디에도 워터마크 데이터가 존재하지 않는다는 것을 암시하는 것일 수 있다. 따라서, 상기 제1 이미지 블록의 제1 유사도가 임계치 미만인 경우에는, 촬영 이미지(90)를 대상으로 한 워터마크 데이터 추출 동작을 중단하고, 단계(S200)로 돌아가서 새로운 촬영 이미지가 자동으로 획득될 수 있다. 예를 들어, 워터마크의 존재 여부를 판별할 물체를 촬영하고 있는 스마트폰 카메라의 화면에 프리뷰로 보여지고 있는 이미지가 새로운 촬영 이미지로서 자동으로 획득될 수 있다. 이어서 새로운 촬영 이미지 내의 복수의 이미지 블록이 식별되고, 단계(S210) 이후의 동작들이 반복될 수 있다.In some embodiments, when the first similarities calculated for each of the plurality of image blocks 91 to 99 are all less than a threshold, it is determined that the watermark data does not exist in any of the plurality of image blocks 91 to 99. may be implying that Therefore, if the first similarity of the first image block is less than the threshold, the watermark data extraction operation for the photographed image 90 is stopped, and the process returns to step S200 to automatically obtain a new photographed image. have. For example, an image displayed as a preview on the screen of a smartphone camera that is photographing an object for which the existence of a watermark is to be determined may be automatically acquired as a new photographed image. Subsequently, a plurality of image blocks in the new captured image are identified, and operations after step S210 may be repeated.

단계(S220)에서는, 상기 선정된 제1 이미지 블록에 대한 전처리를 수행한다. In step S220, pre-processing is performed on the selected first image block.

단계(S210)와 관련하여 앞서 설명한 바와 같이, 복수의 이미지 블록들(91 내지 99) 각각에 대한 제1 유사도 산정 과정에서, 각 이미지 블록의 회전각(제1 참조 이미지의 픽셀들 중 최대 값을 가지는 픽셀의 X좌표) 및 스케일(상기 픽셀의 Y좌표)가 함께 획득된다. 단계(S220)에서는, 제1 이미지 블록에 관하여 획득된 회전각 및 스케일을 이용하여 제1 이미지 블록에 대한 전처리를 수행한다. As described above with respect to step S210, in the process of calculating the first similarity for each of the plurality of image blocks 91 to 99, the rotation angle of each image block (the maximum value among pixels of the first reference image is The pixel's X-coordinate) and scale (the Y-coordinate of the pixel) are obtained together. In step S220, preprocessing is performed on the first image block using the rotation angle and scale obtained with respect to the first image block.

상기 전처리의 결과는 도 25를 참조하여 이해될 수 있을 것이다. 상기 전처리의 결과, 촬영된 이미지(90)의 방향(orientation)이 정합되고, 크기 또한 노이즈 베이스와의 비교에 부합하도록 보정된다.The result of the pretreatment may be understood with reference to FIG. 25 . As a result of the pre-processing, the orientation of the photographed image 90 is matched, and the size is also corrected to match the comparison with the noise base.

다시 도 21을 참조하여 설명한다.It will be described again with reference to FIG. 21 .

단계(S230)에서는, 회전각과 스케일이 보정된 제1 이미지 블록(이하, "보정 이미지"라고 지칭한다)에 대한 제2 유사도를 산정하고 워터마크 추출 기준점을 결정하기 위한 동작들이 수행된다. 단계(S230)에서는, 보정 이미지와 노이즈 베이스 이미지를 주파수 도메인 상의 프로세싱을 통해 비교함으로써, 보정 이미지의 제2 유사도가 산정되고, 보정 이미지로부터 워터마크를 추출하는 것의 기준이 되는 기준점이 결정된다. 본 동작과 관련하여 도 26을 참조하여 보다 자세히 설명한다.In step S230, operations for calculating a second degree of similarity with respect to a first image block whose rotation angle and scale are corrected (hereinafter, referred to as a “corrected image”) and determining a watermark extraction reference point are performed. In step S230, by comparing the corrected image and the noise base image through processing on the frequency domain, a second degree of similarity of the corrected image is calculated, and a reference point that is a reference point for extracting a watermark from the corrected image is determined. This operation will be described in more detail with reference to FIG. 26 .

단계(S230)에서 보정 이미지를 대상으로 하는 제2 유사도 산정 동작은, 단계(S210)에서의 복수의 이미지 블록들(91 내지 99) 각각을 대상으로 하는 제1 유사도 산정 동작과 비교하여, 이미지 블록에 대한 LogPolar 변환을 수행하지 않는 점을 제외하고는 유사하다. The second similarity calculation operation for the corrected image in step S230 is compared with the first similarity calculation operation for each of the plurality of image blocks 91 to 99 in step S210, It is similar except that it does not perform a LogPolar transformation on .

구체적으로, 보정 이미지를 주파수 도메인으로의 변환하여 주파수 도메인 매트릭스(f2)를 획득하는 단계(S231), 노이즈 베이스의 주파수 도메인 매트릭스(f1)를 조회하거나 생성하는 단계(S232), 상기 f1과 f2를 곱한 매트릭스인 R'을 생성하는 단계(S233), 상기 R'을 f2의 매그니튜드 매트릭스로 나누어 제2 결과 매트릭스를 만드는 단계(S234), 상기 제2 결과 매트릭스를 공간 도메인으로 변환하여 제2 참조 이미지를 생성하는 단계(S235)가 수행된다. 이때, 상기 제2 결과 매트릭스는, 보정 이미지 내에 노이즈 베이스가 얼마나 포함되어 있는지, 그 비율을 가리키는 매트릭스로 이해될 수 있다.Specifically, converting the corrected image into a frequency domain to obtain a frequency domain matrix f2 (S231), querying or generating a noise-based frequency domain matrix f1 (S232), and combining the f1 and f2 Generating R', which is a multiplication matrix (S233), dividing R' by a magnitude matrix of f2 to create a second result matrix (S234), transforming the second result matrix into a spatial domain to obtain a second reference image A generating step (S235) is performed. In this case, the second result matrix may be understood as a matrix indicating how much the noise base is included in the corrected image and the ratio thereof.

단계(S236)에서는, 상기 단계(S235)에서 생성된 제2 참조 이미지를 분석하여, 보정 이미지와 노이즈 베이스 이미지의 제2 유사도 및 보정 이미지 내의 노이즈 베이스 위치에 대한 정보를 획득한다. 구체적으로, 제2 참조 이미지의 픽셀 값 중 가장 큰 픽셀 값을 가지는 기준 픽셀의 좌표는 워터마크 데이터 추출 위치인 기준점으로 결정한다. 또한, 상기 기준 픽셀의 픽셀 값을 상기 보정 이미지의 제2 유사도로 결정한다.In step S236, by analyzing the second reference image generated in step S235, a second degree of similarity between the corrected image and the noise base image and information on the position of the noise base in the corrected image are obtained. Specifically, the coordinates of the reference pixel having the largest pixel value among the pixel values of the second reference image are determined as the reference point, which is the watermark data extraction position. Also, a pixel value of the reference pixel is determined as a second similarity degree of the corrected image.

다시 도 21을 참조하여 설명한다.It will be described again with reference to FIG. 21 .

단계(S240)에서는 단계(S236)에서 보정 이미지에 대해 산정된 제2 유사도와 임계치를 비교한다. In step S240, the second similarity calculated for the corrected image in step S236 and a threshold are compared.

제2 유사도가 임계치 미만인 경우, 이는 보정 이미지에 워터마크가 존재하지 않거나, 보정 이미지로부터 워터마크 데이터를 추출할 수 없다는 것을 암시할 수 있다. 이 경우, 상기 보정 이미지(단계(S200)에서 촬영 이미지(90)로부터 선택된 일부 영역인 제1 이미지 블록을 보정한 이미지)를 대상으로 한 워터마크 데이터 추출 동작을 중단한다.If the second degree of similarity is less than the threshold, this may imply that no watermark is present in the corrected image, or that watermark data cannot be extracted from the corrected image. In this case, the watermark data extraction operation for the corrected image (an image obtained by correcting the first image block, which is a partial region selected from the photographed image 90 in step S200), is stopped.

몇몇 실시예에서, 제2 유사도가 임계치 미만인 경우, 단계(S200)으로 돌아가서 새로운 촬영 이미지가 자동으로 획득될 수 있다. 예를 들어, 워터마크의 존재 여부를 판별할 물체를 촬영하고 있는 스마트폰 카메라의 화면에 프리뷰로 보여지고 있는 이미지가 새로운 촬영 이미지로서 자동으로 획득될 수 있다. 이어서 새로운 촬영 이미지 내의 복수의 이미지 블록이 식별되고, 단계(S210) 이후의 동작들이 반복될 수 있다.In some embodiments, when the second similarity is less than the threshold, the process returns to step S200 and a new captured image may be automatically acquired. For example, an image displayed as a preview on the screen of a smartphone camera that is photographing an object for which the existence of a watermark is to be determined may be automatically acquired as a new photographed image. Subsequently, a plurality of image blocks in the new captured image are identified, and operations after step S210 may be repeated.

다른 몇몇 실시예에서, 제2 유사도가 임계치 미만인 경우, 단계(S210)에서 선정된 제1 이미지 블록이 아닌 다른 이미지 블록을 대상으로, 단계(S220) 이후의 동작들이 반복될 수 있다. 전술한 바와 같이, 앞선 단계(S210)에서는 복수의 이미지 블록들(91 내지 99)과 노이즈 베이스 이미지 사이의 제1 유사도 산정 결과에 기초하여, 제1 유사도가 가장 높은 이미지 블록이 제1 이미지 블록으로 선정되고, 상기 제1 이미지 블록을 기초로 후속 단계들(S220 내지 S230)이 수행된다. 만약 상기 제1 이미지 블록을 기초로 산정된 제2 유사도가 임계치 미만인 경우, 단계(S210)에서 산정된 제1 유사도가 두 번째로 높은 이미지 블록이 제2 이미지 블록으로 식별되고, 상기 제2 이미지 블록을 대상으로 후속 단계들(S220 내지 S230)이 수행될 수 있다.In some other embodiments, when the second similarity is less than the threshold, operations after step S220 may be repeated for an image block other than the first image block selected in step S210 . As described above, in the previous step S210, the image block having the highest first similarity is selected as the first image block based on the first similarity calculation result between the plurality of image blocks 91 to 99 and the noise base image. is selected, and subsequent steps ( S220 to S230 ) are performed based on the first image block. If the second similarity calculated based on the first image block is less than the threshold, the image block having the second highest similarity calculated in step S210 is identified as the second image block, and the second image block Subsequent steps ( S220 to S230 ) may be performed for .

전술한 실시예와 같이, 기존의 촬영 이미지(90) 내의 제2 이미지 블록을 대상으로 워터마크 데이터 추출 과정의 일부 동작들(단계 S220 내지 S250)을 수행하는 실시예는, 새로운 촬영 이미지를 획득하여 워터마크 데이터 추출의 전 과정(단계 S200 내지 S250)을 수행하는 실시예와 비교할 때, 컴퓨팅 파워 및 처리 시간을 절감하는 장점을 가질 수 있다. 이는, 새로운 촬영 이미지를 복수의 이미지 블록들로 구획하고 각 블록에 대한 제1 유사도를 산정하는 과정(단계 S200 내지 S210)을 생략할 수 있기 때문이다.As in the above-described embodiment, the embodiment in which some operations (steps S220 to S250) of the watermark data extraction process are performed on the second image block in the existing photographed image 90 by acquiring a new photographed image Compared with the embodiment in which the entire process (steps S200 to S250) of watermark data extraction is performed, computing power and processing time may be reduced. This is because the process of dividing a new captured image into a plurality of image blocks and calculating the first similarity for each block (steps S200 to S210) can be omitted.

다시 도 21을 참조하여 설명한다.It will be described again with reference to FIG. 21 .

단계(S240)에서는 제2 유사도가 임계치 이상인 경우, 단계(S250)로 진행한다.In step S240, if the second similarity is equal to or greater than the threshold, the process proceeds to step S250.

단계(S250)에서는, 단계(240)에서 획득된 워터마크 데이터 추출 기준점을 기준으로, 워터마크 데이터를 추출한다. 도 27을 참조하여 설명한다.In step S250, watermark data is extracted on the basis of the watermark data extraction reference point obtained in step 240. It will be described with reference to FIG. 27 .

먼저 보정 이미지를 모노크롬화 한다(S251). 이 때, 노이즈를 원본 이미지에 삽입하는 데에 사용된 α, β, γ 세 가지의 상수를 동일하게 사용한다. 그 결과 보정 이미지 내의 노이즈 표현이 극대화 될 것이다.First, the corrected image is monochrome (S251). In this case, the three constants α, β, and γ used to insert noise into the original image are the same. As a result, the noise representation in the corrected image will be maximized.

그리고, 모노크롬화 된 보정 이미지를 2 x 2 픽셀 크기의 블록 단위로 구획화한다(S252). Then, the monochrome corrected image is partitioned into blocks having a size of 2 x 2 pixels (S252).

후속 단계들(S253 내지 S256)에서는, 모노크롬화된 보정 이미지의 각 블록들(2 x 2 픽셀)을 순회하면서, 워터마크 데이터가 추출된다.In subsequent steps S253 to S256, watermark data is extracted while traversing each block (2 x 2 pixels) of the monochrome corrected image.

먼저 단계(S253)에서는, 모노크롬화된 보정 이미지의 현재 블록의 데이터 추출 규칙이 결정된다. 상기 데이터 추출 규칙은, 도 8을 참조하여 예를 들어 설명한 6가지 케이스의 데이터 임베딩 패턴들에 대응되는 것이다. 다시 말해, 각각의 블록에 워터마크 데이터를 임베딩할 때 사용한 규칙이 각 블록의 데이터 추출 규칙이다.First, in step S253, the data extraction rule of the current block of the monochrome corrected image is determined. The data extraction rule corresponds to the data embedding patterns of the six cases described for example with reference to FIG. 8 . In other words, the rule used when embedding the watermark data in each block is the data extraction rule of each block.

각 블록의 데이터 추출 규칙은 사전에 생성된 난수열(random number sequence)을 참조하여 결정될 수 있다. 예를 들어 모노크롬화된 보정 이미지의 첫번째 블록에는 난수열의 첫번째 숫자가 가리키는 데이터 추출 규칙(예컨대 도 8에 예시된 6가지 패턴 중 어느 하나)이 적용되고, 두번째 블록에는 난수열의 두번째 숫자가 가리키는 데이터 추출 규칙이 적용된다. 상기 난수열은 이미지에 워터마크 데이터를 임베딩하는 과정에서 데이터 임베딩 규칙을 결정하기 위해 참조한 난수열과 정확히 일치하는 것임을 이해할 것이다. 몇몇 실시예에서 상기 난수열은 이미지에 워터마크 데이터를 임베딩하는 장치와 이미지로부터 워터마크 데이터를 추출하는 장치 사이에 사전에 공유되는 것일 수 있다.The data extraction rule of each block may be determined with reference to a pre-generated random number sequence. For example, the data extraction rule indicated by the first number of the random number sequence (for example, any one of the six patterns illustrated in FIG. 8) is applied to the first block of the monochrome corrected image, and the second block indicated by the second number of the random number sequence is applied to the second block. Data extraction rules apply. It will be understood that the random number sequence exactly matches the random number sequence referenced to determine a data embedding rule in the process of embedding watermark data in an image. In some embodiments, the random number sequence may be shared in advance between a device for embedding watermark data in an image and a device for extracting watermark data from an image.

한편, 워터마크 데이터 임베딩 및 추출 과정에서 둘 이상의 난수열(random number sequence) 세트들 중 어느 하나가 선택적으로 사용되는 몇몇 실시예에서는, 복수의 난수열 세트들 중에, 전술한 단계(S200)에서 상기 촬영 이미지(90)로부터 식별된 난수열 식별자가 가리키는 난수열이 식별되어, 상기 모노크롬화된 보정 이미지로부터 워터마크 데이터를 추출하는 규칙을 결정하는데 이용될 수 있다.On the other hand, in some embodiments in which any one of two or more random number sequence sets is selectively used in the watermark data embedding and extraction process, among the plurality of random number sequence sets, the A random number sequence indicated by the identified random number sequence identifier from the photographed image 90 may be identified and used to determine a rule for extracting watermark data from the monochrome corrected image.

이어서 단계(S254)에서는, 2 x 2 픽셀 단위로 블록화 된 노이즈 베이스 이미지를 참조하여, 이전 단계(S253)에서 결정된 데이터 추출 규칙에 따라, 현재 블록의 워터마크 데이터를 추출한다. 블록화 된 노이즈 베이스 이미지를 참조하여 현재 블록으로부터 워터마크 데이터를 추출하는 동작은, 도 7 내지 도 13을 참조하여 설명한 임베딩 과정의 역순으로 이해될 수 있다.Subsequently, in step S254 , the watermark data of the current block is extracted according to the data extraction rule determined in the previous step S253 with reference to the noise base image that is blocked in units of 2×2 pixels. The operation of extracting the watermark data from the current block with reference to the blocked noise base image may be understood as a reverse order of the embedding process described with reference to FIGS. 7 to 13 .

단계(S255)에서는, 상기 모노크롬화된 보정 이미지의 모든 블록에 대하여 워터마크 데이터 추출이 완료되었는지 판정되고, 데이터 추출이 완료되었다면, 각 블록으로부터 추출된 데이터가 연결(concatenation)되어, 전체 워터마크 데이터가 생성된다. 생성된 전체 워터마크 데이터는 디스플레이, 전송, 또는 출력될 수 있다.In step S255, it is determined whether watermark data extraction is complete for all blocks of the monochrome corrected image, and if data extraction is complete, data extracted from each block is concatenated, and the entire watermark data is created The entire generated watermark data can be displayed, transmitted, or output.

단계(S255)에서, 상기 모노크롬화된 보정 이미지의 모든 블록에 대한 추출이 완료되지 않았다면, 다음 블록으로 이동한다(S256). 모노크롬화된 보정 이미지 블록을 순회하는 순서는 임베딩 과정의 블록 순회 순서와 동일하게 한다. 이어서 다시 단계(S253)에서는, 난수열을 참조하여, 모노크롬화된 보정 이미지의 다음 블록에 대한 데이터 추출 규칙을 결정하고, 단계(S254)로 진행하여 다음 블록에 임베딩된 워터마크 데이터를 추출하는 과정을 반복한다.In step S255, if extraction of all blocks of the monochrome corrected image has not been completed, it moves to the next block (S256). The order of traversing the monochrome corrected image block is the same as the block traversal order of the embedding process. Subsequently, in step S253 again, a data extraction rule for the next block of the monochrome corrected image is determined with reference to the random number sequence, and the process proceeds to step S254 to extract the watermark data embedded in the next block. Repeat.

지금까지 도 21 내지 도 27을 참조하여 설명한 본 발명 몇몇 실시예에 따른 워터마크 데이터 추출 방법은, 촬영 이미지(90)를 대상으로 워터마크 존재여부 판별 및 워터마크 데이터 추출 시도의 전 과정(S200 내지 S250)을 수행하는 대신에, 촬영 이미지(90)의 일부분들인 복수의 이미지 블록들 각각의 제1 유사도를 산정한 후(S210), 제1 유사도가 가장 높은 하나의 이미지 블록만을 대상으로 후속 동작들(S220 내지 S250)을 수행한다. 이로써, 동작들(S220 내지 S250)에 소모되는 컴퓨팅 파워를 절감하고 동작들(S220 내지 S250)의 수행으로 인해 유발되는 처리 지연 시간이 줄어든다. 또한 워터마크가 임베드된 이미지에 워터마크 인식 장치를 향하는 동시에 인식이 완료되기를 희망하는 사용자들의 요구를 충족시킬 수 있게 된다.In the watermark data extraction method according to some embodiments of the present invention described with reference to FIGS. 21 to 27 so far, the entire process of determining whether a watermark exists and attempting to extract watermark data for the captured image 90 (S200 to Instead of performing S250), after calculating the first similarity of each of the plurality of image blocks that are part of the photographed image 90 (S210), a subsequent operation is performed on only one image block having the highest first similarity The steps S220 to S250 are performed. Accordingly, computing power consumed in the operations S220 to S250 is reduced, and a processing delay time caused by the execution of the operations S220 to S250 is reduced. In addition, it is possible to satisfy the needs of users who want to complete the recognition while facing the watermark recognition device in the image in which the watermark is embedded.

본 발명 몇몇 실시예에 따른 워터마크 데이터 추출 방법은, 노이즈 베이스 이미지에 워터마크 데이터의 각 비트(bit)를 임베딩하거나 워터마크가 임베딩된 이미지로부터 워터마크 데이터의 각 비트를 추출해 냄에 있어서, 매 비트에 대하여 하나의 동일한 임베딩/추출 규칙을 사용하는 대신에, 사전 생성되어 공유되는 난수열의 각 난수가 가리키는 복수의 임베딩/추출 규칙들 중 어느 하나의 임베딩/추출 규칙을 사용한다. 이로써, 노이즈 베이스 이미지 원본(40)이 유출되더라도, 노이즈 베이스 이미지에 워터마크 데이터의 각 비트를 임베딩할 때 사용되는 난수열이 유출되지 않는 한, 제3자가 워터마크 이미지에 임베딩된 데이터를 무단으로 추출할 수 없게 된다. 즉, 워터마크 데이터 임베딩/추출 알고리즘의 보안성이 대폭 개선된다. 또한, 워터마크가 임베딩된 결과 이미지에 물결 무늬 등의 패턴이 생기는 문제를 해소된다.In the watermark data extraction method according to some embodiments of the present invention, each bit of watermark data is embedded in a noise-based image or each bit of watermark data is extracted from an image in which a watermark is embedded, Instead of using one and the same embedding/extraction rule for bits, any one embedding/extraction rule among a plurality of embedding/extraction rules indicated by each random number in the pre-generated and shared random number sequence is used. Accordingly, even if the noise base image original 40 is leaked, a third party can use the data embedded in the watermark image without permission, unless the random number sequence used for embedding each bit of the watermark data in the noise base image is leaked. cannot be extracted. That is, the security of the watermark data embedding/extraction algorithm is greatly improved. In addition, the problem that a pattern such as a wave pattern is generated in the image as a result of embedding the watermark is solved.

본 발명 몇몇 실시예에 따른 워터마크 데이터 추출 방법은, 서로 다른 워터마크마다 서로 다른 난수열 세트를 사용하고, 워터마크 데이터 추출시에 적절한 난수열 세트를 식별하여 데이터 추출에 사용할 수 있도록 함으로써, 어느 하나의 난수열 세트가 유출되더라도, 다른 난수열을 이용하여 생성된 워터마크 이미지에 임베딩된 데이터를 제3자가 무단으로 추출할 수 없게 된다. 즉, 워터마크 데이터 임베딩/추출 알고리즘의 보안성을 한층 더 향상시킬 수 있게 된다.The watermark data extraction method according to some embodiments of the present invention uses a different random number sequence set for each different watermark, and identifies an appropriate random number sequence set when extracting watermark data so that it can be used for data extraction, Even if one set of random number sequences is leaked, a third party cannot extract data embedded in a watermark image generated using another random number sequence without permission. That is, the security of the watermark data embedding/extraction algorithm can be further improved.

지금까지 설명된 본 발명의 실시예에 따른 방법들은 컴퓨터가 읽을 수 있는 코드로 구현된 컴퓨터프로그램의 실행에 의하여 수행될 수 있다. 상기 컴퓨터프로그램은 인터넷 등의 네트워크를 통하여 제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.

본 발명의 실시예에 따른 워터마크 데이터의 임베딩 및 추출 방법은 도 25에 도시된 것과 같이 바라보는 방향에 따라 서로 다른 노이즈가 인식되는 형태로 변형되어 실시될 수도 있다.The method for embedding and extracting watermark data according to an embodiment of the present invention may be modified and implemented in a form in which different noises are recognized depending on the viewing direction as shown in FIG. 25 .

이하, 본 발명의 다른 실시예에 다른 데이터 임베딩 장치의 구성 및 동작을 도 28를 참조하여 설명하기로 한다. 도 28에 도시된 바와 같이, 본 실시예에 따른 데이터 임베딩 장치(300)는 메모리(RAM)(330), 메모리(330)에 로드 된 데이터 임베딩 소프트웨어 오퍼레이션을 실행하는 이미지 프로세서(320) 및 스토리지(340)를 포함한다. 일 실시예에서, 임베딩 장치(300)는 이미지 센서(310), 네트워크 인터페이스(370), 시스템 버스(350) 및 프린터 인터페이스(360)를 더 포함할 수 있다.Hereinafter, a configuration and operation of a data embedding apparatus according to another embodiment of the present invention will be described with reference to FIG. 28 . 28, 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 내지 도 20을 참조하여 설명한 데이터 임베딩 방법을 소프트웨어 형태로 구현한 데이터 임베딩 소프트웨어의 실행 파일(바이너리 파일)(342)을 저장한다. 데이터 임베딩 소프트웨어의 실행 파일(342)은 버스(350)를 통해 메모리(330)에 로드 될 수 있다. 도 28에는 메모리(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 20 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 . 28 shows an operation 332 of data embedding software loaded into memory 330 .

스토리지(340)는 노이즈 베이스 데이터(341)를 더 저장할 수 있다. 일 실시예에서, 스토리지(340)는 노이즈 베이스 데이터(341)를 저장하되, 암호화된 형태로 저장하여, 외부에 노이즈 베이스 원본이 유출되는 것을 방지할 수 있다. 일 실시예에서, 스토리지(340)는 데이터 임베딩 소프트웨어 실행 파일 내에 리소스(resource)의 형태로 노이즈 베이스 데이터를 포함시켜, 외부에 노이즈 베이스 원본이 유출되는 것을 방지할 수도 있다.The storage 340 may further store the noise base data 341 . In an embodiment, the storage 340 stores the noise base data 341 and stores it in an encrypted form to prevent leakage of the original noise base data to the outside. In an embodiment, the storage 340 may include the noise base data in the form of a resource in the data embedding software executable file to prevent the noise base source from being leaked to the outside.

스토리지(340)는 워터마크 데이터를 임베딩하는 규칙을 가리키는 하나 이상의 난수열 세트들을 더 저장할 수 있다. 일 실시예에서, 스토리지(440)는 상기 난수열을 암호화된 형태로 저장하고, 데이터 임베딩 소프트웨어 실행 파일 내에 리소스(resource)의 형태로 저장할 수 있다.The storage 340 may further store one or more sets of random number sequences indicating rules for embedding watermark data. In an embodiment, the storage 440 may store the random number sequence in an encrypted form, and may store it in the form of a resource in a data embedding software executable file.

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

데이터 임베딩 장치(300)는 상기 워터마킹 데이터 및 상기 오리지널 이미지를 데이터 임베딩 소프트웨어에 입력하여 산출 된 결과물 이미지를 네트워크 인터페이스(370)를 통하여 외부 장치에 송신하거나, 디스플레이 장치(미도시)에 디스플레이 하거나, 프린터 인터페이스(360)를 통해 연결된 프린팅 장치를 통하여 프린트 할 수 있다.The data embedding device 300 transmits the resultant image calculated by inputting the watermarking data and the original image into data embedding software to an external device through the network interface 370, or displays it on a display device (not shown), Printing may be performed through a printing device connected through the printer 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 .

이하, 본 발명의 다른 실시예에 다른 데이터 디코딩 장치의 구성 및 동작을 도 29를 참조하여 설명하기로 한다. 본 명세서에서 워터마킹 데이터의 디코딩과 워터마킹 데이터의 추출은 실질적으로 동일한 동작을 가리킨다. 도 29에 도시된 바와 같이, 본 실시예에 따른 데이터 디코딩 장치(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. 29 . In this specification, decoding of watermarking data and extraction of watermarking data refer to substantially the same operation. As shown in FIG. 29, the data decoding apparatus 400 according to this embodiment includes a memory (RAM) 430, an image processor 420 that executes a data decoding software operation loaded in the memory 430, and a 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 watermarking data interpretation processor 460 .

스토리지(440)는 도 21 내지 도 27을 참조하여 설명한 데이터 추출 방법을 소프트웨어 형태로 구현한 데이터 디코딩 소프트웨어의 실행 파일(바이너리 파일)(442)을 저장한다. 데이터 디코딩 소프트웨어의 실행 파일(442)은 버스(450)를 통해 메모리(430)에 로드 될 수 있다. 도 29에는 메모리(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. 21 to 27 in the form of software. An executable file 442 of data decoding software may be loaded into memory 430 via bus 450 . 29 shows an operation 432 of data decoding software loaded into memory 430 .

스토리지(440)는 노이즈 베이스 데이터(441)를 더 저장할 수 있다. 일 실시예에서, 스토리지(440)는 노이즈 베이스 데이터(441)를 저장하되, 암호화된 형태로 저장하거나, 데이터 디코딩 소프트웨어 실행 파일 내에 리소스(resource)의 형태로 노이즈 베이스 데이터를 포함시켜, 외부에 노이즈 베이스 원본이 유출되는 것을 방지할 수 있다.The storage 440 may further store the noise base data 441 . In one embodiment, the storage 440 stores the noise base data 441, but stores the noise base data 441 in an encrypted form, or includes the noise base data in the form of a resource in the data decoding software executable file to provide noise to the outside. It is possible to prevent the base original from being leaked.

스토리지(440)는 워터마크 데이터를 추출하는 규칙을 가리키는 하나 이상의 난수열 세트들을 더 저장할 수 있다. 일 실시예에서, 스토리지(440)는 상기 난수열을 암호화된 형태로 저장하고, 데이터 디코딩 소프트웨어 실행 파일 내에 리소스(resource)의 형태로 저장할 수 있다.The storage 440 may further store one or more sets of random numbers indicating rules for extracting watermark data. In an embodiment, the storage 440 may store the random number sequence in an encrypted form, and may store it in the form of a resource in a data decoding software executable file.

데이터 디코딩 장치(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 watermarking 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 decoding software operation 432 is executed.

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

일 실시예에서, 데이터 디코딩 장치(400)는 상기 추출된 워터마크 데이터를 이용한 프로세스를 수행하는 워터마킹 데이터 해석 프로세서(460)를 포함할 수 있다. 예를 들어, 상기 워터마크 데이터의 바디 데이터를 추출하고(표 1 참조), 상기 바디 데이터 및 컨트롤 파라미터(표 1 참조)를 수납한 컨텐츠 요청을 네트워크 인터페이스(470)를 통하여 컨텐츠 서버(미도시)에 송신할 수 있다. 데이터 디코딩 장치(400)의 디스플레이 장치(미도시)는 상기 컨텐츠 서버로부터 상기 컨텐츠 요청에 대한 응답으로서 수신된 컨텐츠를 디스플레이 할 수 있다.In one embodiment, the data decoding apparatus 400 may include a watermarking data interpretation processor 460 that performs a process using the extracted watermark data. For example, the content server (not shown) extracts the body data of 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 . can be sent to 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 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. can understand Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive.

Claims (13)

워터마크 데이터를 오리지널 이미지에 임베딩(Embedding)하는 방법에 있어서,
노이즈 베이스 이미지를 M x M 픽셀을 가진 블록 단위로 구성하는 단계;
각각의 상기 블록 별로, 상기 블록에 속한 모든 픽셀의 픽셀 값을 단일화하는 단계; 및
상기 각각의 블록을 순회하면서 상기 워터마크 데이터를 이용하여 상기 각각의 블록의 일부 픽셀의 픽셀 값을 수정함으로써 상기 노이즈 베이스 이미지를 변환하는 단계를 포함하되,
상기 오리지널 이미지의 종횡비를 얻는 단계를 더 포함하고,
상기 노이즈 베이스 이미지는,
상기 오리지널 이미지의 종횡비에 대응되는 형태의 제1 사각형 이미지인,
데이터 임베딩 방법.
A method of embedding watermark data in an original image, the method comprising:
composing a noise base image in units of blocks having M x M pixels;
unifying the pixel values of all pixels belonging to the block for each block; and
Transforming the noise base image by traversing each block and correcting pixel values of some pixels of each block using the watermark data,
Further comprising the step of obtaining an aspect ratio of the original image,
The noise base image is
A first rectangular image of a shape corresponding to the aspect ratio of the original image,
How to embed data.
제1 항에 있어서,
상기 노이즈 베이스 이미지를 변환하는 단계는,
상기 워터마크 데이터를 이용하여 상기 각각의 블록마다 순회하면서 기 저장된 난수열의 난수를 순차적으로 채택하고 채택된 난수에 대응되는 규칙으로 상기 일부 픽셀의 픽셀 값을 수정하는 단계를 포함하는,
데이터 임베딩 방법.
The method of claim 1,
Transforming the noise-based image includes:
A step of sequentially adopting a random number of a pre-stored random number sequence while traversing for each block using the watermark data and correcting the pixel value of some of the pixels according to a rule corresponding to the adopted random number,
How to embed data.
제2 항에 있어서,
상기 M x M 픽셀은,
2 x 2 픽셀이고,
상기 저장된 난수열은,
6가지 경우의 수 중 어느 한 수에 해당하는 난수의 배열이고,
상기 M x M 픽셀의 픽셀 값을 수정하는 단계는,
상기 각각의 2 x 2 픽셀 마다 순회하면서 상기 채택된 난수에 대응되는 규칙으로 상기 2 x 2 픽셀의 픽셀 값을 수정하는 단계를 포함하는,
데이터 임베딩 방법.
3. The method of claim 2,
The M x M pixels are
2 x 2 pixels,
The stored random number sequence is
It is an array of random numbers corresponding to any one of six cases,
The step of modifying the pixel value of the M x M pixel comprises:
Iterating for each 2 x 2 pixel and modifying the pixel value of the 2 x 2 pixel with a rule corresponding to the adopted random number,
How to embed data.
제1 항에 있어서,
상기 종횡비에 대응되는 형태의 제1 사각형 이미지는,
종횡비가 고정된 형태의 사각형 이미지인,
데이터 임베딩 방법.
The method of claim 1,
A first rectangular image of a shape corresponding to the aspect ratio,
A rectangular image with a fixed aspect ratio,
How to embed data.
제1 항에 있어서,
상기 종횡비에 대응되는 형태의 제1 직사각형 이미지는,
종횡비가 상기 오리지널 이미지의 종횡비와 동일한 형태의 사각형 이미지인,
데이터 임베딩 방법.
The method of claim 1,
A first rectangular image of a shape corresponding to the aspect ratio,
A rectangular image having the same aspect ratio as the aspect ratio of the original image,
How to embed data.
제1 항에 있어서,
상기 오리지널 이미지의 무늬 가로 세로 경향성을 수치로 얻는 단계를 더 포함하고,
상기 수치가 기준치 이하에 해당하는 경우 상기 노이즈 베이스 이미지는 상기 수치에 대응되는 형태의 제2 직사각형 이미지인,
데이터 임베딩 방법.
The method of claim 1,
Further comprising the step of obtaining numerically the horizontal and vertical tendency of the pattern of the original image,
When the numerical value is less than or equal to the reference value, the noise base image is a second rectangular image having a shape corresponding to the numerical value,
How to embed data.
제6 항에 있어서,
상기 경향성을 수치로 얻는 단계는,
상기 오리지널 이미지의 푸리에 변환 주파수 도메인의 크기 스펙트럼에서 피크 좌표가 가장 인접한 축과의 최소 거리를 얻는 단계를 포함하는,
데이터 임베딩 방법.
7. The method of claim 6,
The step of obtaining the tendency numerically is,
Including the step of obtaining the minimum distance from the axis to which the peak coordinate is closest in the magnitude spectrum of the Fourier transform frequency domain of the original image,
How to embed data.
제7 항에 있어서,
상기 제2 직사각형 이미지는,
상기 피크 좌표와 가장 인접한 상기 축이 x축에 해당하는 경우, 사각형의 세로 길이가 가로 길이 보다 더 긴 직사각형 이미지인,
데이터 임베딩 방법.
8. The method of claim 7,
The second rectangular image,
When the axis closest to the peak coordinate corresponds to the x-axis, a rectangular image in which the vertical length of the rectangle is longer than the horizontal length,
How to embed data.
제7 항에 있어서,
상기 제2 직사각형 이미지는,
상기 피크 좌표와 인접한 상기 축이 y축에 해당하는 경우, 사각형의 가로 길이가 세로 길이 보다 더 긴 직사각형 이미지인,
데이터 임베딩 방법.
8. The method of claim 7,
The second rectangular image,
When the axis adjacent to the peak coordinate corresponds to the y-axis, a rectangular image in which the horizontal length of the rectangle is longer than the vertical length,
How to embed data.
제2 항에 있어서,
상기 난수열의 난수가 연속적으로 기준 횟수 이상 채택되는 경우, 채택된 상기 난수를 제외한 다른 수로 치환되는 단계를 더 포함하는,
데이터 임베딩 방법.
3. The method of claim 2,
When the random number of the random number sequence is continuously adopted more than a reference number of times, the method further comprising the step of substituting a number other than the adopted random number,
How to embed data.
이미지에 임베딩된 워터마크 데이터를 추출하는 데이터 추출 방법에 있어서,
상기 이미지를 M x M 픽셀로 구성된 블록 단위로 블록화하는 단계; 및
M x M 픽셀로 구성된 블록 단위로 블록화 된 노이즈 베이스 이미지를 이용하여, 상기 이미지의 각 블록을 순회하면서 데이터를 추출하는 단계를 포함하되,
상기 노이즈 베이스 이미지는,
상기 이미지의 종횡비에 대응되는 형태의 제1 사각형 이미지이거나 상기 이미지의 무늬 경향성에 대응되는 형태의 제2 사각형 이미지인,
데이터 추출 방법.
A data extraction method for extracting watermark data embedded in an image, the data extraction method comprising:
blocking the image in blocks of M x M pixels; and
Extracting data while traversing each block of the image using a noise base image that is blocked in blocks of M x M pixels,
The noise base image is
A first rectangular image of a shape corresponding to the aspect ratio of the image or a second rectangular image of a shape corresponding to the pattern tendency of the image,
How to extract data.
제11 항에 있어서,
상기 이미지의 각 블록을 순회하면서 데이터를 추출하는 단계는,
저장된 난수열을 이용하여 각각의 블록마다 데이터 추출 규칙을 결정하는 단계; 및
결정된 상기 규칙을 이용하여 상기 각각의 블록마다 상기 워터마크 데이터를 추출하는 단계를 포함하는,
데이터 추출 방법.
12. The method of claim 11,
Extracting data while traversing each block of the image includes:
determining a data extraction rule for each block using the stored random number sequence; and
extracting the watermark data for each of the blocks using the determined rule;
How to extract data.
제12 항에 있어서,
상기 이미지로부터 난수열 식별자를 획득하는 단계를 더 포함하고,
상기 이미지의 각 블록을 순회하면서 상기 워터마크 데이터를 추출하는 단계는,
상기 저장된 난수열들 중 상기 난수열 식별자가 가리키는 난수열을 참조하여 상기 각각의 블록마다 상기 워터마크 데이터의 추출 규칙을 결정하는 단계를 포함하는,
데이터 추출 방법.
13. The method of claim 12,
Further comprising the step of obtaining a random number sequence identifier from the image,
Extracting the watermark data while traversing each block of the image comprises:
determining an extraction rule of the watermark data for each block by referring to a random number sequence indicated by the random number sequence identifier among the stored random number sequences;
How to extract data.
KR1020200035286A 2020-03-23 2020-03-23 Method for embedding and extraction of watermarking data KR102435876B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200035286A KR102435876B1 (en) 2020-03-23 2020-03-23 Method for embedding and extraction of watermarking data
KR1020220103997A KR102564641B1 (en) 2020-03-23 2022-08-19 Method for embedding and extraction of watermarking data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200035286A KR102435876B1 (en) 2020-03-23 2020-03-23 Method for embedding and extraction of watermarking data

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220103997A Division KR102564641B1 (en) 2020-03-23 2022-08-19 Method for embedding and extraction of watermarking data

Publications (2)

Publication Number Publication Date
KR20210118704A KR20210118704A (en) 2021-10-01
KR102435876B1 true KR102435876B1 (en) 2022-08-24

Family

ID=78609804

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020200035286A KR102435876B1 (en) 2020-03-23 2020-03-23 Method for embedding and extraction of watermarking data
KR1020220103997A KR102564641B1 (en) 2020-03-23 2022-08-19 Method for embedding and extraction of watermarking data

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020220103997A KR102564641B1 (en) 2020-03-23 2022-08-19 Method for embedding and extraction of watermarking data

Country Status (1)

Country Link
KR (2) KR102435876B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115150390B (en) * 2022-06-27 2024-04-09 山东信通电子股份有限公司 Image display method, device, equipment and medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011041180A (en) * 2009-08-18 2011-02-24 Nippon Hoso Kyokai <Nhk> Receiver management system
JP2011151533A (en) * 2010-01-20 2011-08-04 Kyodo Printing Co Ltd Electronic watermark printed matter, reading system of electronic watermark printed matter, reading method of electronic watermark printed matter, and manufacturing system of electronic watermark printed matter
JP2013115669A (en) * 2011-11-29 2013-06-10 Fujitsu Ltd Digital watermark embedding apparatus, digital watermark embedding method, digital watermark detecting apparatus, and digital watermark detecting method
KR101960290B1 (en) * 2018-07-05 2019-03-21 주식회사 하루컴퍼니 Method for embedding and extraction of watermarking data

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100697768B1 (en) * 2005-06-28 2007-03-20 한국과학기술원 The method for digital watermarking using circular hough transform
KR101877372B1 (en) 2017-05-19 2018-07-13 주식회사 하루컴퍼니 Method for embedding and extraction of watermarking data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011041180A (en) * 2009-08-18 2011-02-24 Nippon Hoso Kyokai <Nhk> Receiver management system
JP2011151533A (en) * 2010-01-20 2011-08-04 Kyodo Printing Co Ltd Electronic watermark printed matter, reading system of electronic watermark printed matter, reading method of electronic watermark printed matter, and manufacturing system of electronic watermark printed matter
JP2013115669A (en) * 2011-11-29 2013-06-10 Fujitsu Ltd Digital watermark embedding apparatus, digital watermark embedding method, digital watermark detecting apparatus, and digital watermark detecting method
KR101960290B1 (en) * 2018-07-05 2019-03-21 주식회사 하루컴퍼니 Method for embedding and extraction of watermarking data

Also Published As

Publication number Publication date
KR102564641B1 (en) 2023-08-08
KR20220122575A (en) 2022-09-02
KR20210118704A (en) 2021-10-01

Similar Documents

Publication Publication Date Title
Fang et al. Screen-shooting resilient watermarking
US11238556B2 (en) Embedding signals in a raster image processor
US11134167B2 (en) Method of embedding and extracting watermark data using a correction image comparison with a noise-based image in the frequency domain
KR101877372B1 (en) Method for embedding and extraction of watermarking data
US11954545B2 (en) System and method using a histogram and colorspaces to create a matrix barcode
US11720776B2 (en) System and method using a histogram and colorspaces to create a matrix barcode having a plurality of colors, an infrared layer, and an ultraviolet layer
CN113841151B (en) Object-related image detection based on color space transformation techniques and using ultraviolet light
JP4485585B2 (en) Digital image processing method and system
JP4721469B2 (en) Printing and authentication of security documents on substrates
Qin et al. Perceptual image hashing based on weber local binary pattern and color angle representation
KR101960290B1 (en) Method for embedding and extraction of watermarking data
KR102564641B1 (en) Method for embedding and extraction of watermarking data
KR20230011460A (en) Method for embedding and extraction of watermarking data
CN110210467B (en) Formula positioning method of text image, image processing device and storage medium
Kanwal et al. A robust data hiding reversible technique for improving the security in e-health care system
CN108596817B (en) Watermark data embedding and extracting method
CN110955889A (en) Electronic document tracing method based on digital fingerprints
Baumy et al. Efficient Forgery Detection Approaches for Digital Color Images.
CN114330621A (en) Two-dimensional code anti-counterfeiting method and device based on identification information and storage medium
JP4958868B2 (en) Document feature extraction apparatus and method
US11816756B1 (en) Anti-leak digital document marking system and method using distributed ledger
Macit et al. An Active Image Forgery Detection Approach Based on Edge Detection
KR20220099304A (en) Method for embedding and extraction of watermarking data
CN112733987A (en) Two-dimensional code, identification method and identification device thereof, and electronic equipment
JPH07184069A (en) Confidential document management equipment

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right