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

Method for embedding and extraction of watermarking data Download PDF

Info

Publication number
KR102564641B1
KR102564641B1 KR1020220103997A KR20220103997A KR102564641B1 KR 102564641 B1 KR102564641 B1 KR 102564641B1 KR 1020220103997 A KR1020220103997 A KR 1020220103997A KR 20220103997 A KR20220103997 A KR 20220103997A KR 102564641 B1 KR102564641 B1 KR 102564641B1
Authority
KR
South Korea
Prior art keywords
image
data
watermark
block
watermark data
Prior art date
Application number
KR1020220103997A
Other languages
Korean (ko)
Other versions
KR20220122575A (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 KR1020220103997A priority Critical patent/KR102564641B1/en
Publication of KR20220122575A publication Critical patent/KR20220122575A/en
Application granted granted Critical
Publication of KR102564641B1 publication Critical patent/KR102564641B1/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

Landscapes

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

Abstract

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

Description

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

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

워터마킹 기술을 활용하면, 원본에는 눈에 잘 보이지 않다가, 무단 복제 시 드러나는 워터마크 데이터 또는 워터마킹 텍스쳐를 오리지널 이미지에 삽입할 수 있다. 이러한 워터마킹 기술은 진품 인증 또는 진본 인증 등의 용도로 널리 활용되고 있다. 그러나, 인간에 눈에 보이지 않고, 컴퓨팅 장치를 통한 이미지 프로세싱을 거치면 추출이 가능하지만, 무단 복제 등의 경우에는 추출이 불가능해지는 형태의 워터마킹 기술은 제공되지 못하고 있다. Using watermarking technology, it is possible to insert watermark data or watermarking texture, which is invisible to the eye in the original image, but is revealed in the case of unauthorized copying, to the original image. This watermarking technology is widely used for purposes such as authenticity authentication or authenticity authentication. However, a watermarking technology that is invisible to humans and can be extracted through image processing through a computing device, but cannot be extracted in the case of unauthorized copying, is not provided.

종래 워터마크 기술은 한가지 방법의 규칙으로 데이터를 임베딩 함으로써, 동기화 신호(Synchronization Signal)를 훼손시켜 추출 시 인식율이 저하되는 문제가 발생한다. 나아가, 한가지 방법의 규칙으로 데이터를 임베딩 하여 일정한 패턴이 형성됨으로써, 데이터가 임베딩 되는 노이즈 베이스 이미지의 유출에 의한 보안의 우려가 발생한다.In the conventional watermark technology, by embedding data as a rule of one method, a synchronization signal is damaged, causing a problem 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, security concerns arise 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 a device to which the method is applied, in which the recognition rate and security are improved during extraction by embedding data using a random number sequence.

본 발명의 일 실시예를 통해 해결하고자 하는 또 다른 기술적 과제는, 노이즈 베이스 이미지의 형태를 변경함으로써, 오리지널 이미지에 적합한 형태의 워터마크를 제공하는 방법 및 그 방법이 적용된 장치를 제공하는 것이다.Another technical problem to be solved by 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 form of a noise-based image, and an apparatus to which the method is applied.

본 발명이 해결하고자 하는 기술적 과제는 이미지로부터 워터마크 데이터의 존재 여부를 판정하고 워터마크 데이터를 추출하는 과정에 소요되는 시간과 컴퓨팅 파워를 절감하는 추출 방법을 제공하는 것이다.A technical problem to be solved by the present invention is to provide an extraction method that reduces the time and computing power required for determining whether watermark data exists from an image and 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 description below.

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

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

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

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

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

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

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

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

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

상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 데이터 추출 방법은, 이미지를 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 blocks an image in units of blocks consisting of M x M pixels and blocks a noise base in units of blocks consisting of M x M pixels. and extracting data while traversing each block of the image, wherein the step of extracting data while traversing each block of the image determines a data extraction rule for each block using a stored random number sequence. and extracting the watermark data for each block using the determined rule.

일 실시예에서, 상기 이미지로부터 난수열 식별자를 획득하는 단계를 더 포함하고, 상기 이미지의 각 블록을 순회하면서 상기 워터마크 데이터를 추출하는 단계는, 상기 저장된 난수열들 중 상기 난수열 식별자가 가리키는 난수열을 참조하여 상기 각각의 블록마다 상기 워터마크 데이터 추출 규칙을 결정하는 단계를 포함할 수 있다.In one embodiment, the step of obtaining a random number sequence identifier from the image may further include, and the step of extracting the watermark data while traversing each block of the image may include: among the stored random number sequences, the random number sequence identifier indicates and determining the watermark data extraction rule for each block by referring to the 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 for explaining a situation in which a method of embedding watermark data according to an embodiment of the present invention and a method of extracting watermark data according to another embodiment of the present invention are utilized.
2 is a diagram for comparison between an image in which watermark data is embedded according to a method of embedding watermark data according to some embodiments of the present invention and an original image.
3 is a flowchart of a method of embedding watermark data according to an embodiment of the present invention.
FIG. 4 is a flowchart for explaining in detail some operations of a method of embedding watermark data that can be understood with reference to FIG. 3 .
FIG. 5 is a diagram for explaining a result of blocking a noise base as a result of some operations that can be understood with reference to FIG. 4 .
FIG. 6 is a flowchart for explaining in detail some operations of a method of embedding watermark data that can be understood with reference to FIG. 4 .
FIG. 7 is a flowchart for explaining in detail some operations of a method of embedding watermark data that can be understood with reference to FIG. 6 .
FIG. 8 is an exemplary view illustrating rules corresponding to random numbers that may be referred to in FIG. 7 .
9 is a diagram for explaining block traversal for watermark data embedding, which 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, which can be understood with reference to FIG. 7 .
14 is a conceptual diagram illustrating a method of embedding watermark data according to an embodiment of the present invention.
15 and 16 are views for explaining synchronization signals that may be referred to in some embodiments of the present invention.
17 is a diagram for explaining in detail a method of embedding watermark data according to an embodiment of the present invention.
18 to 20 are exemplary diagrams specifically illustrating a method of embedding watermark data, which 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 captured image is necessary in the watermark data extraction method 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 that can be understood with reference to FIG. 21 .
FIG. 24 is a detailed flowchart for explaining in detail an operation of determining a first similarity and obtaining a rotation angle and a scale for each image block in the method of extracting watermark data, which 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 similarity and obtaining a reference point with respect to a selected image block in the method of extracting watermark data, which can be understood with reference to FIG. 21 .
FIG. 27 is a detailed flowchart for explaining in detail an operation related to data extraction of the watermark data extraction method, which can be understood with reference to FIG. 21 .
28 is a block diagram of a watermark data embedding device according to another embodiment of the present invention.
29 is a block diagram of a watermark data extraction apparatus 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 clear with reference to the detailed description of the following embodiments taken in conjunction with the accompanying drawings. However, the technical idea of the present invention is not limited to the following embodiments and can be implemented in various different forms, 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 skilled 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 components of each drawing, it should be noted that the same components have the same numerals as much as possible even if they are displayed on different drawings. In addition, in describing the present invention, if 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 will be omitted.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used in a meaning commonly understood by those of ordinary skill in the art to which the present invention belongs. In addition, terms defined in commonly used dictionaries are not interpreted ideally or excessively unless explicitly specifically defined. Terminology used herein is for describing the embodiments and is not intended to limit the present invention. In this specification, singular forms also include plural forms unless specifically stated otherwise in a 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), and (b) may be used. These terms are only used to distinguish the component from other components, and the nature, order, or order of the corresponding component is not limited by the term. When a component is described as being "connected" or "coupled" to another component, the component may be directly connected to the other component, but between each component another component may be "connected" or "coupled". “It should be understood that it could be.

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

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

개요outline

도 1은 본 발명의 일 실시예에 따른 워터마크 데이터(10)의 임베딩 방법 및 본 발명의 다른 실시예에 따른 워터마크 데이터(10)의 추출 방법이 활용되는 상황을 설명하기 위한 개념도이다. 먼저, 오리지널 이미지(20)에 워터마크 데이터(10)가 임베딩(Embedding) 된 결과 만들어진 결과 이미지(30)가 다양한 채널을 통하여 배포될 수 있다. 결과 이미지(30)는, 예를 들어 명함이거나, 상품 표면에 부착되는 라벨일 수 있다. 또한, 결과 이미지(30)는 박스 등의 운송 수단 외면에 프린트 될 수도 있다.1 is a conceptual diagram for explaining a situation in which a method of embedding watermark data 10 according to an embodiment of the present invention and a method of extracting watermark data 10 according to another embodiment of the present invention are utilized. First, the resulting image 30 created as a result of embedding the watermark data 10 in the original image 20 can be distributed through various channels. The resulting image 30 may be, for example, a business card or a label attached to a surface of a product. Also, the resulting image 30 may be printed on the outer surface of a 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 resulting image 30 . In the watermark data embedding method according to the present embodiment, unlike conventional barcode and QR code technologies, it is difficult to visually recognize whether or not the watermark data 10 is embedded, so that the original image 20 is not damaged. There is an advantage of being able to contain the mark data 10 . In addition, the size of watermark data 10 according to an embodiment is 144 bits, and among them, body data that can actually be used is 54 bits. As a result, the number of cases of 254 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 the label appears to be the same to the naked eye, it is possible to assign a unique ID to each product and embed the ID as watermark data in the label. Furthermore, more usable data is increased than the existing 248, and more variable data can be created.

결과 이미지(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, using the user terminal 900 executing the watermark data extraction method according to some embodiments of the present invention, the result image 30 ), watermark data 10 can be extracted. For example, it is possible to extract the watermark data 10 by photographing the resulting image 30 using a camera provided in the user terminal 900 and executing watermark data extraction logic on the photographed result. .

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

4 bit4 bits 3 bit3 bits 8 bit8 bits 54 bit54 bits 7 bit7 bit 68 bit68 bit 컨트롤 파라미터control parameter 바디 데이터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)에 제공할 수 있을 것이다.일 실시예에서, 컨트롤 파라미터는 4 bit의 버전 코드(Version Code), 3 bit의 해당 영역에 대한 검증코드(CRC4) 및 8 bit의 에러 정정 코드를 포함할 수도 있다. 상기 버전 코드에 의해서 워터마크 데이터(10)를 24개의 버전으로 분리하여 관리함으로써, 버전을 업데이트 하여 관리하거나 동시에 여러 버전을 운영할 수 있다. The watermark data 10 may include a 15-bit control parameter, 54-bit body data, 7-bit verification code (CRC 8), and 68-bit error correction code. can A control parameter of Table 1 may indicate a type of body data. For example, the user terminal 900 may extract the watermark data 10, recognize 54-bit body data, 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 type of content assigned a unique ID. The content server may provide the user terminal 900 with the content of the type corresponding to the control parameter among the content whose ID matches the body data. In one embodiment, the control parameter is a 4-bit version code ( Version Code), a 3-bit verification code (CRC4) for the corresponding area, and an 8-bit error correction code. By dividing the watermark data 10 into 24 versions and managing them according to the version code, the versions 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) 코드 일 수 있다.A 68-bit Error Correction Bit may include an error correction code to compensate for the possibility that the watermark data 10 may be incorrectly 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 comparison between an original image and an image in which watermark data is embedded 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 significantly different from the original image 20 visually. However, the resulting image 30a converted to monochrome has more noise compared to the monochrome version 20a of the original image. This is because watermark data according to an embodiment of the present invention is embedded in the original image in the form of noise. In this regard, it will be described in more detail with reference to some drawings.

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

이하, 도 3을 참조하여 본 발명의 일 실시예에 따른 워터마크 데이터의 임베딩 방법을 전체적으로 설명한다. 본 실시예에 따른 워터마크 데이터의 임베딩 방법은, 예를 들어 컴퓨팅 장치에 의하여 실행될 수 있다.Hereinafter, a method of embedding watermark data according to an embodiment of the present invention will be generally described with reference to FIG. 3 . The embedding method of watermark data according to the present embodiment may be executed by, for example, a computing device.

상기 컴퓨팅 장치가 워터마크 데이터를 로드(load)하고(S100), 노이즈 베이스 이미지를 로드(S120)한다. 또한 워터마크 데이터를 담을 오리지널 이미지도 로드(S160)한다. 노이즈 베이스(noise base)는 워터마크 데이터를 담을 일종의 데이터 그릇으로 이해될 수 있다. 노이즈 베이스는 이미지 파일로부터 로드 될 수도 있고, 주파수 도메인(frequency domain)의 2차원 매트릭스를 가리키는 데이터의 형태로 로드 될 수도 있다. 또한 일 실시예에서, 주파수 도메인의 매그니튜드 스펙트럼 및 위상 스펙트럼의 형태로 로드 될 수도 있다.The computing device loads watermark data (S100) and loads a noise base image (S120). Also, an original image containing watermark data is loaded (S160). A noise base can be understood as a kind of data container containing 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 the frequency domain. Also, in one 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 to generate an image in which the watermark data is embedded. 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 object such as paper by a printing device. According to one embodiment, the output may be made in the form of painting the outer surface of the printing result by a 3D printer.

도 3을 참조하여 설명된 바와 같이, 본 실시예에서는 노이즈 베이스가 핵심적인 역할을 수행한다. 주파수 영역을 통해 생성된 노이즈 베이스 이미지는 주파수의 특징에 따라 이미지가 일부 손상되더라도 동기화 신호(Synchronization Signal)의 특성이 유지되어, 워터마크 데이터의 추출 성공률을 높일 수 있도록 구성된다. 또한, 노이즈 베이스 이미지 원본이 블록화 된 후, 워터마크 데이터에 의해 변환이 수행되므로 결과 이미지에 대한 분석을 통하여 쉽게 노이즈 베이스 이미지 원본이 유출되지 않는다.As described with reference to FIG. 3 , in this embodiment, the noise base plays a key role. The noise-based image generated through the frequency domain is configured to maintain the characteristics of a synchronization signal even if the image is partially damaged according to the characteristics of the frequency, thereby increasing the success rate of watermark data extraction. In addition, after the original noise-based image is blocked, conversion is performed by watermark data, so 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, a synchronization signal is damaged, resulting in a problem of deterioration in recognition rate during extraction. Furthermore, since a certain pattern is formed by embedding data according to a rule of one method, a security concern arises due to leakage of a noise-based image in which data is embedded. A method of embedding watermark data to solve the above problem will be described in detail with reference to FIGS. 4 to 16 below.

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

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

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

다음으로, 각 블록마다, 블록에 속한 픽셀 값의 평균을 산출하여, 그 평균 값이 기준치(예를 들어, 흰색을 가리키는 픽셀 값과 검은색을 가리키는 픽셀 값의 준간 값) 이상인 경우 해당 블록의 모든 색상을 제1 색상(예를 들어, 검은색)으로 단일화(S143)한다. 그 평균값이 기준치 미만인 경우 해당 블록의 모든 색상을 제2 색상(예를 들어, 흰색)으로 단일화(S143)한다.Next, for each block, the average of pixel values belonging to the block is calculated, and if the average value is greater than or equal to a reference value (for example, a value between a pixel value indicating white and a pixel value indicating black), all values of the corresponding block are calculated. The color is unified into a first color (eg, black) (S143). If the average value is less than the reference value, all colors of the corresponding block are unified into a 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 a picture in which the blocked noise base image 41 is enlarged in pixel units, all square unit blocks having a size of 2x2 pixels are unified with the same pixel value. The current block 41a is assigned a pixel value of 0 and corresponds to white.

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

다시 도 4를 참조하면, 워터마크 데이터를 반영하여 블록의 일부 픽셀 값을 저장된 난수열에 의해 결정되는 패턴에 따라 수정함으로써 블록화 된 노이즈 베이스 이미지(41)를 변환(S145)한다. 후술될 몇몇 실시예에 의해서 블록화 된 노이즈 베이스 이미지(41)의 변환은 구체화된다.Referring back to FIG. 4 , the blocky 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)을 구체적으로 설명하기 위한 순서도이다. 본 실시예에 따른 워터마크 데이터의 임베딩 방법은, 예를 들어 컴퓨팅 장치에 의하여 실행될 수 있다.FIG. 6 is a flowchart for specifically explaining the transformation (S145) of the noise-based image 41 described in FIG. 4 . The embedding method of watermark data according to the present embodiment may be executed by, for example, a computing device.

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

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

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

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

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

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

이하 도 7을 참조하여, 도 8에서 설명된 난수에 대응되는 규칙으로 블록의 픽셀 값이 수정되는 단계(S1453)를 보다 구체적으로 설명한다. 본 실시예에 따른 워터마크 데이터의 임베딩 방법은, 예를 들어 컴퓨팅 장치에 의하여 실행될 수 있다.Referring to FIG. 7 , a step ( S1453 ) of correcting a pixel value of a block according to a 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 by, for example, a computing device.

현재 블록이 흰색인 경우(S1453-1), n번째 난수에 대응되는 규칙이 로드(S1453-2)된다. 도 8을 참조하면, 2 x 2 픽셀의 경우 6가지 경우의 수에 대응되는 규칙을 확인할 수 있다. 다음으로, 현재 블록의 일부 픽셀이 대응되는 규칙과 일치하도록 검은색으로 변환(S1453-3)된다. If the current block is white (S1453-1), a rule corresponding to the n-th random number is loaded (S1453-2). Referring to FIG. 8 , in the case of 2x2 pixels, rules corresponding to the number of 6 cases can 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)된다.If the current block is black (S1453-1), a rule corresponding to the n-th random number is loaded (S1453-5). Referring to FIG. 8 , in the case of 2x2 pixels, rules corresponding to the number of 6 cases can be confirmed. However, since the corresponding rule is shown based on the case where the current block is white, the rule in which black and white are inverted corresponds to the rule when 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, when all watermark data processing is not completed (S1453-7), the same process is repeated using the watermark data and random numbers 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 composed, and at least 576 pixels are required. In some embodiments to be described later, the noise base image may consist of a rectangle rather than a square.

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

도 10을 참조하면, 첫번째 워터마크 데이터는 0이고, 채택된 난수는 1에 해당한다. 변환 대상 블록(43a)는 흰색으로 블록화 되었으므로, 도 8을 참조하여 난수에 대응되는 케이스 1의 0에 따라 변환 대상 블록(43a)의 픽셀 값이 수정된다. Referring to FIG. 10, the first watermark data is 0, and the selected random number corresponds to 1. Since the conversion target block 43a is blocked in white, the pixel value of the conversion target block 43a is modified according to the 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 selected random number corresponds to 3. Since the conversion target block 43b is black, the pixel value of the conversion target block 43b is modified according to the inverted form of Case 3 1 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 selected 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 modified according to Case 4 of 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 selected random number corresponds to 5. Since the conversion target block 43d is black, the pixel value of the conversion target block 43d is modified according to the inverted form of case 5 corresponding to the random number with reference to FIG. 8 .

도 7 내지 도 13을 참조하여, 난수와 난수에 대응되는 규칙을 이용하여 블록화 된 노이즈 베이스 이미지(41)상에 워터마크 데이터를 임베딩 하는 구체적 방법을 설명했다. 하나의 규칙으로 임베딩 하는 종전의 워터마크 기술과 달리, 본 발명에 따른 일 실시예는 동기화 신호를 훼손시키지 않아 추출 시 인식율을 향상시킬 수 있다. 나아가, 한가지 방법의 규칙으로 데이터를 임베딩 하여 일정한 패턴이 형성됨으로써, 데이터가 임베딩 되는 노이즈 베이스 이미지의 유출에 의한 보안의 우려도 사라질 수 있다. Referring to FIGS. 7 to 13 , a specific method of embedding watermark data on a block-blocked noise base image 41 using random numbers and rules corresponding to the random numbers has been described. Unlike the conventional watermark technology embedding with one rule, an embodiment according to the present invention can improve the recognition rate during extraction without damaging the synchronization signal. 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 may also disappear.

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

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

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

도 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 subjected to Fourier transform, a magnitude spectrum 45 and a phase spectrum 47 in the frequency domain can be obtained. The illustrated noise base image 45 corresponds to images generated by synchronization signals 45a, 45b, 45c, and 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, a synchronization signal is maintained even after the steps of blocking and embedding watermark data, so that a noise-based image corresponding to a container containing 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채널값을 증가시키는 것이다.Returning to FIG. 3 again, an image in which watermark data is embedded is created 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 exceed the threshold value or fall below the threshold value. In this case, adjusting the current pixel of the original image is to first adjust the first pixel when the second pixel of the converted noise-base image is white, and to first adjust the first pixel when the second pixel is black. and performing a second adjustment according to a different rule from the first adjustment. 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 adjust 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 above three constants are ratios to be used for monochromeization in order to maximize noise in the image in the watermark data extraction process.

(R, G, B = 갱신되기 전 원본 R 채널, G 채널, B 채널 각각의 픽셀 값, R, G, B'= 갱신 후의 R 채널, G 채널, B 채널 각각의 픽셀 값)을 전제하여, 아래의 조정 규칙을 고려할 수 있다.Assuming (R, G, B = pixel values of each of the original R, G, and B channels before updating, R, G, B' = pixel values of each of the R, G, and B channels after updating), The following adjustment 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 the noise is 0 and the pixel value of the original image is greater than 250 for all three channels R, G, and 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 the noise is 0 and the pixel value of the original image is less than 250 for all three channels R, G, and 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 the noise is 255 and the pixel value of the original image is greater than 250 for all three channels R, G, and 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 the noise is 255 and the pixel value of the original image is less than 250 for all three channels R, G, and 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 with the human eye. In order to satisfy this, the values of α, β, and γ must vary according to pixel values of the original image where noise is to be inserted.

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

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

일 실시예에서, 오리지널 이미지의 종횡비를 얻는 단계가 더 포함될 수 있고, 오리지널 이미지의 종횡비가 기준 범위에 해당하는 경우 오리지널 이미지의 종횡비에 대응하여 정사각형이 아닌 직사각형 이미지의 노이즈 베이스 이미지를 이용해 워터마크 데이터가 임베딩 될 수 있다. 오리지널 이미지의 디자인 특성에 대응하여 유연하게 워터마크를 수정하여 임베딩 할 수 있다. 오리지널 이미지의 디자인 특성을 반영하므로, 워터마크 데이터 추출 시 인식 성능을 향상시킬 수 있다. 예를 들어, 종횡비(=가로/세로)가 4이상이거나 0.25이하인 경우 직사각형 이미지의 노이즈 베이스 이미지를 이용해 워터마크 데이터를 임베딩 할 수 있다. In one embodiment, the step of obtaining the aspect ratio of the original image may be further included, and if the aspect ratio of the original image corresponds to the reference range, the watermark data is obtained by using a noise base image of a non-square rectangular image 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 watermark data is extracted. For example, when the aspect ratio (= width/length) is 4 or more or 0.25 or less, watermark data may be embedded using a noise base image of a rectangular image.

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

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

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

도 18은 앞서 설명된 직사각형의 워터마크가 활용될 구체적 예시를 나타낸 예시도에 해당한다. 워터마크는 인간의 눈에 인식되지 않으므로, 가운데(60c) 회사의 CI나 QR 코드 등을 위치하여 함께 사용될 수 있다. 특히 QR 코드와 함께 사용되는 경우, 향후 QR코드를 이용한 상거래의 보안을 강화하기 위한 용도로 사용될 수 있다. 가로가 세로보다 긴 직사각형 단위 워터마크(60a)는 상하단에 위치할 수 있고, 세로가 가로보다 긴 직사각형 단위 워터마크(60b)는 좌우단에 위치하여 인간의 눈에 인식되지 않는 워터마크로 구성될 수 있다. 18 corresponds to an exemplary diagram illustrating 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 CI or QR code of the company in the middle (60c). In particular, when used with a QR code, it can be used to strengthen the security of commercial transactions using QR codes in the future. Rectangular unit watermarks 60a with a width longer than the vertical may be positioned at the top and bottom, and rectangular unit watermarks 60b with a vertical length longer than the width may be positioned at the left and right ends to constitute watermarks that are not recognized by the human eye. there is.

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

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

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

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

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

워터마크 데이터의 추출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 above-described embodiment of the present invention. 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 captured image and identifying a plurality of image blocks from it (S200).

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

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

상기 전처리 과정을 본격적으로 수행하기 전에, 사전 보정이 수행될 수 있다. 예를 들어, 워터마크의 존재여부를 판별할 물체를 스마트폰 카메라를 이용해 비추었을 때 스마트폰 화면에 들어오는 프리뷰를 1920x1080 크기로 캡쳐 한다. 이 후, 캡쳐한 이미지의 모든 픽셀 값들을 RGB형태로 변경한다. 본 발명의 실시예들은 RGB를 기반으로 작업을 수행하기 때문이다. Prior to performing the preprocessing process in earnest, pre-calibration may be performed. For example, when an object to determine whether a watermark is to be determined is illuminated using a smartphone camera, a preview entering the smartphone screen is captured in a size of 1920x1080. After this, all pixel values of the captured image are converted into RGB format. This is because the embodiments of the present invention perform operations based on RGB.

다음으로 캡쳐된 1920x1080 이미지(이하, "촬영 이미지"라고 지칭한다)가 복수의 이미지 블록들로 구획된다. 여기서 복수의 이미지 블록들 각각은 후술할 단계(S210)에서 제1 유사도 판정의 처리 대상이 되는 이미지 단위이며, 상기 제1 유사도 판정 결과 선정된 어느 하나의 이미지 블록을 대상으로 워터마크 데이터의 존재여부가 판별되고 워터마크 데이터 추출이 시도된다.Next, the captured 1920x1080 image (hereinafter, referred to as “photographed image”) is partitioned 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 for 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 showing an example in which a captured image 90 is partitioned 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 a part of the captured image, each having a size of 256x256 pixels or 512x512 pixels, respectively. The size of each of the image blocks may be set to an arbitrary size so that watermark existence 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 larger than the size of the noise base image used for . At this time, the size of the noise base image is selected as an appropriate size 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 each have an overlapping region (region marked with a dark shade) with the image blocks 4, 5, and 6, and the image blocks 7 and 8 , 9) each has an overlapping region (region marked with a dark shade) with the image blocks 4, 5, and 6.

후술할 제1 유사도 판정 단계(S210)는 촬영 이미지(90) 내의 어느 영역에 워터마크 데이터가 존재하는지 알려지지 않은 상태에서, 워터마크 데이터가 존재할 가능성이 가장 높은 이미지 블록을 찾아내는 과정이다. 따라서 촬영 이미지(90) 내에 가급적 많은 이미지 블록들을 서로 중첩하여 설정할수록, 촬영 이미지(90) 내에 존재하는 워터마크를 인식해 내지 못할 가능성은 낮아진다. 다만, 이미지 블록들의 수가 많아질수록 각각의 이미지 블록들에 대해 수행되는 제1 유사도 판정에 소모되는 컴퓨팅 파워와 시간이 증가하게 된다. 반대로 촬영 이미지(90) 내에 더 적은 이미지 블록들을 설정할수록, 후술할 단계(S210)에서 소모되는 컴퓨팅 파워와 시간은 절감되지만, 촬영 이미지(90) 내에 존재하는 워터마크를 인식하지 못할 가능성은 증가하게 된다. 촬영 이미지(90) 내에 워터마크가 존재함에도 불구하고 인식하지 못하는 경우에는, 결국 새로운 촬영 이미지를 대상으로 워터마크 인식 과정을 다시 수행해야 하므로, 최종적으로 소모되는 컴퓨팅 파워와 지연 시간은 더 증가할 수 있다.The first similarity determination step (S210), which will be described later, is a process of finding an image block having the highest possibility of having watermark data in a state where it is not known in which region of the captured image 90 the watermark data exists. Therefore, as many image blocks as possible are overlapped with each other in the captured image 90 , the possibility of not being able to recognize the watermark existing in the captured image 90 is reduced. However, as the number of image blocks increases, computing power and time consumed in the first similarity determination performed on each image block increase. 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 existing in the captured image 90 increases. do. If the watermark is not recognized even though it exists in the captured image 90, eventually, the watermark recognition process must be performed again for the new captured image, so the final consumed computing power and delay time can further increase. there is.

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

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

도 23a에는 촬영 이미지(90)로부터 총 9개의 이미지 블록들(91 내지 99)을 식별하는 예를 설명하였으나, 본 발명이 그러한 실시예로 한정되는 것은 아니다. 본 발명이 사용될 목적과 워터마크 데이터 추출 기능이 구현될 장치의 성능, 워터마크의 인식 및 워터마크 데이터의 추출에 소요되는 시간과 컴퓨팅 파워 등을 다양한 요인들을 고려하여, 더 많은 또는 더 적은 개수의 이미지 블록을 사용하도록 선택할 수 있다.An example of identifying a total of 9 image blocks 91 to 99 from a captured image 90 has been described in FIG. 23A, but the present invention is not limited to such an example. Considering various factors such as the purpose for which the present invention will be used, the performance of the device to which the watermark data extraction function will be implemented, the time and computing power required for watermark recognition and extraction of watermark data, 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, since it is highly likely that the user illuminates an object with a camera so that the object comes to the center of the screen, it is preferable to set the image blocks so that there is a high possibility of finding watermark data in the center of the captured image 90. can do. FIG. 23B is a diagram showing an example in which a plurality of image blocks are arranged around the center of a captured image 90, and FIG. 23C is a diagram in which a plurality of image blocks are arranged to overlap each other in the vicinity of the center of the captured image 90. This is a drawing showing an example.

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

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

다음으로, 상기 복수의 이미지 블록들(91 내지 99) 각각에 대하여 노이즈 베이스 이미지와의 제1 유사도를 판정하는 단계(S210)가 수행된다. 단계(S210)에서는 각각의 이미지 블록(91 내지 99)과 노이즈 베이스 이미지를 주파수 도메인 상의 프로세싱을 통해 비교함으로써, 각각의 이미지 블록(91 내지 99)의 제1 유사도, 회전각, 및 스케일이 판정된다. 본 동작과 관련하여 도 24를 참조하여 보다 자세히 설명한다.Next, a first similarity with the noise base image is determined for each of the plurality of image blocks 91 to 99 (S210). In step S210, a first similarity, a rotation angle, and a scale of each image block 91 to 99 are determined by comparing each image block 91 to 99 with a noise base image through frequency domain processing. . 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 converted into a frequency domain (S211), and a 2D magnitude spectrum image MS2 of the image block is generated (S212). In addition, an image MS1 of a 2D magnitude spectrum of a noise base to be compared with the image block is also prepared (S213). The image MS1 of the 2D magnitude spectrum of the noise base may be generated from a pre-stored image of the noise base or simply retrieved from pre-stored data.

다음으로, 노이즈 베이스의 2D 매그니튜드 스펙트럼의 이미지(MS1), 상기 이미지 블록의 2D 매그니튜드 스펙트럼의 이미지(MS2)를 LogPolar 변환한다(S215). LogPolar 변환은 2차원 회전과 크기 변환에 불변한 특성을 가지게 하기 때문에, LogPolar 변환을 사용함으로써, 회전 및 크기 측면에서 신뢰될 수 있는 촬영 이미지의 흠결을 치유하는 효과를 얻을 수 있다.Next, the 2D magnitude spectrum image MS1 of the noise base and the 2D magnitude spectrum image MS2 of the image block are subjected to LogPolar transformation (S215). Since LogPolar transformation has invariant characteristics in two-dimensional rotation and size transformation, by using LogPolar transformation, it is possible to obtain an effect of repairing flaws in a 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 converted into the frequency domain (S215), the result of transformation into the frequency domain is multiplied (S216), and the result of transformation into the frequency domain (f_LP2) of the captured image is converted into a magnitude matrix. By dividing, a first result matrix for the image block is generated (S217). The first result matrix may be understood as a matrix indicating how much noise base is included in the image block and a ratio thereof. Also, the first result matrix may be understood as a matrix indicating a degree of similarity between the image block and the image of the noise base.

다음으로, 상기 이미지 블록에 대한 제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 of the image block into a spatial domain (S218). A first 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. Further, 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 유사도가 산정된다.The above 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 similarity for each image block is calculated.

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

단계(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 result of the first similarity calculation in step S210, and the rotation angle and scale are reflected to the first image block. to 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, the first similarities calculated for each of the plurality of image blocks 91 to 99 in step S210 are compared with each other. 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 the watermark is most likely to exist in the captured image 90 . In step S220, a first region having the highest possibility of having a watermark is selected from among the plurality of image blocks 91 to 99, thereby precisely recognizing the watermark and watermark data in steps S230 to S250 to be described later. An object of processing related to extraction is limited to a partial area within the captured image 90 rather than the entire captured image 90 . As a result, computing power and processing time consumed in 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 value, watermark data does not exist in any of the plurality of image blocks 91 to 99. may be implying that Therefore, when the first similarity of the first image block is less than the threshold value, the watermark data extraction operation targeting the captured image 90 is stopped, and a new captured image can be automatically obtained by returning to step S200. there is. For example, an image shown as a preview on a screen of a smartphone camera capturing an object to be determined whether or not a watermark is present may be automatically acquired as a new captured 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 in relation 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) X coordinate of the pixel) and scale (Y coordinate of the pixel) are obtained together. In operation S220, pre-processing is performed on the first image block using the acquired rotation angle and scale of the first image block.

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

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

단계(S230)에서는, 회전각과 스케일이 보정된 제1 이미지 블록(이하, "보정 이미지"라고 지칭한다)에 대한 제2 유사도를 산정하고 워터마크 추출 기준점을 결정하기 위한 동작들이 수행된다. 단계(S230)에서는, 보정 이미지와 노이즈 베이스 이미지를 주파수 도메인 상의 프로세싱을 통해 비교함으로써, 보정 이미지의 제2 유사도가 산정되고, 보정 이미지로부터 워터마크를 추출하는 것의 기준이 되는 기준점이 결정된다. 본 동작과 관련하여 도 26을 참조하여 보다 자세히 설명한다.In step S230, operations for calculating a second similarity with respect to the first image block (hereinafter, referred to as “corrected image”) of which the rotation angle and scale are corrected and determining a watermark extraction reference point are performed. In step S230, a second similarity of the corrected image is calculated by comparing the corrected image and the noise base image through processing in a frequency domain, and a reference point serving as a criterion 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 targeting the corrected image in step S230 compares the first similarity calculation operation targeting each of the plurality of image blocks 91 to 99 in step S210 with the image block. Similar except that it does not perform a LogPolar transform 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), f1 and f2 Generating a multiplied matrix R' (S233), dividing R' by the magnitude matrix of f2 to create a second result matrix (S234), converting the second result matrix into the spatial domain to obtain a second reference image The generating step (S235) is performed. In this case, the second result matrix may be understood as a matrix indicating a ratio of how much noise base is included in the corrected image.

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

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

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

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

몇몇 실시예에서, 제2 유사도가 임계치 미만인 경우, 단계(S200)으로 돌아가서 새로운 촬영 이미지가 자동으로 획득될 수 있다. 예를 들어, 워터마크의 존재 여부를 판별할 물체를 촬영하고 있는 스마트폰 카메라의 화면에 프리뷰로 보여지고 있는 이미지가 새로운 촬영 이미지로서 자동으로 획득될 수 있다. 이어서 새로운 촬영 이미지 내의 복수의 이미지 블록이 식별되고, 단계(S210) 이후의 동작들이 반복될 수 있다.In some embodiments, when the second similarity is less than the threshold value, a new captured image may be automatically obtained by returning to step S200. For example, an image shown as a preview on a screen of a smartphone camera capturing an object to be determined whether or not a watermark is present may be automatically acquired as a new captured 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 value, 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), based on the result of calculating the first similarity between the plurality of image blocks 91 to 99 and the noise base image, the image block having the highest first similarity is designated as the first image block. 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 value, the image block having the second highest first 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 the target.

전술한 실시예와 같이, 기존의 촬영 이미지(90) 내의 제2 이미지 블록을 대상으로 워터마크 데이터 추출 과정의 일부 동작들(단계 S220 내지 S250)을 수행하는 실시예는, 새로운 촬영 이미지를 획득하여 워터마크 데이터 추출의 전 과정(단계 S200 내지 S250)을 수행하는 실시예와 비교할 때, 컴퓨팅 파워 및 처리 시간을 절감하는 장점을 가질 수 있다. 이는, 새로운 촬영 이미지를 복수의 이미지 블록들로 구획하고 각 블록에 대한 제1 유사도를 산정하는 과정(단계 S200 내지 S210)을 생략할 수 있기 때문이다.As in the above-described embodiment, in the embodiment of performing some operations (steps S220 to S250) of the watermark data extraction process targeting the second image block in the existing captured image 90, a new captured image is obtained and Compared to the embodiment in which all processes (steps S200 to S250) of extracting watermark data are performed, computing power and processing time may be reduced. This is because the process of partitioning 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 with reference to FIG. 21 again.

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

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

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

그리고, 모노크롬화 된 보정 이미지를 2 x 2 픽셀 크기의 블록 단위로 구획화한다(S252). Then, the monochromeized corrected image is partitioned into 2x2 pixel block units (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 correction image.

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

각 블록의 데이터 추출 규칙은 사전에 생성된 난수열(random number sequence)을 참조하여 결정될 수 있다. 예를 들어 모노크롬화된 보정 이미지의 첫번째 블록에는 난수열의 첫번째 숫자가 가리키는 데이터 추출 규칙(예컨대 도 8에 예시된 6가지 패턴 중 어느 하나)이 적용되고, 두번째 블록에는 난수열의 두번째 숫자가 가리키는 데이터 추출 규칙이 적용된다. 상기 난수열은 이미지에 워터마크 데이터를 임베딩하는 과정에서 데이터 임베딩 규칙을 결정하기 위해 참조한 난수열과 정확히 일치하는 것임을 이해할 것이다. 몇몇 실시예에서 상기 난수열은 이미지에 워터마크 데이터를 임베딩하는 장치와 이미지로부터 워터마크 데이터를 추출하는 장치 사이에 사전에 공유되는 것일 수 있다.A data extraction rule for each block may be determined by referring to a previously 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 6 patterns illustrated in FIG. 8) is applied to the first block of the monochromeized corrected image, and to the second block, the data extraction rule indicated by the second number of the random number sequence is applied. Data extraction rules apply. It will be appreciated that the random number sequence exactly matches the random number sequence referenced to determine the data embedding rule in the process of embedding watermark data in the image. In some embodiments, the random number sequence may be previously shared 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)로부터 식별된 난수열 식별자가 가리키는 난수열이 식별되어, 상기 모노크롬화된 보정 이미지로부터 워터마크 데이터를 추출하는 규칙을 결정하는데 이용될 수 있다.Meanwhile, in some embodiments in which one of two or more random number sequence sets is selectively used in the process of embedding and extracting watermark data, among a plurality of random number sequence sets, in the above-described step (S200), the The random number sequence indicated by the random number sequence identifier identified from the photographed image 90 is identified and can be used to determine a rule for extracting watermark data from the monochromeized corrected image.

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

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

단계(S255)에서, 상기 모노크롬화된 보정 이미지의 모든 블록에 대한 추출이 완료되지 않았다면, 다음 블록으로 이동한다(S256). 모노크롬화된 보정 이미지 블록을 순회하는 순서는 임베딩 과정의 블록 순회 순서와 동일하게 한다. 이어서 다시 단계(S253)에서는, 난수열을 참조하여, 모노크롬화된 보정 이미지의 다음 블록에 대한 데이터 추출 규칙을 결정하고, 단계(S254)로 진행하여 다음 블록에 임베딩된 워터마크 데이터를 추출하는 과정을 반복한다.In step S255, if extraction of all blocks of the monochromeized corrected image has not been completed, the next block is moved (S256). The order of traversing the monochrome correction image blocks is the same as the block traversal order of the embedding process. Subsequently, in step S253, a process of determining a data extraction rule for the next block of the monochromeized corrected image by referring to the random number sequence, and proceeding to step S254 to extract 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 method for extracting watermark data according to some embodiments of the present invention described with reference to FIGS. 21 to 27, the entire process of determining whether a watermark exists and attempting to extract watermark data from a captured image 90 (S200 to S200 to Instead of performing S250), after calculating the first similarity of each of a plurality of image blocks that are parts of the captured image 90 (S210), a subsequent operation is performed targeting only one image block having the highest first similarity. (S220 to S250) are performed. As a result, computing power consumed in the operations S220 to S250 is reduced and processing delay time caused by the execution of the operations S220 to S250 is reduced. In addition, it is possible to meet the needs of users who wish to complete the recognition at the same time as the watermark recognizing device is directed to the image in which the watermark is embedded.

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

본 발명 몇몇 실시예에 따른 워터마크 데이터 추출 방법은, 서로 다른 워터마크마다 서로 다른 난수열 세트를 사용하고, 워터마크 데이터 추출시에 적절한 난수열 세트를 식별하여 데이터 추출에 사용할 수 있도록 함으로써, 어느 하나의 난수열 세트가 유출되더라도, 다른 난수열을 이용하여 생성된 워터마크 이미지에 임베딩된 데이터를 제3자가 무단으로 추출할 수 없게 된다. 즉, 워터마크 데이터 임베딩/추출 알고리즘의 보안성을 한층 더 향상시킬 수 있게 된다.A 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 can be performed by executing a computer program implemented as a 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, installed in the second computing device, and thus used in the second computing device. The first computing device and the second computing device include both a server device, a physical server belonging to a server pool for a cloud service, and a fixed 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 of 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 according to the viewing direction, as shown in FIG. 25 .

이하, 본 발명의 다른 실시예에 다른 데이터 임베딩 장치의 구성 및 동작을 도 28를 참조하여 설명하기로 한다. 도 28에 도시된 바와 같이, 본 실시예에 따른 데이터 임베딩 장치(300)는 메모리(RAM)(330), 메모리(330)에 로드 된 데이터 임베딩 소프트웨어 오퍼레이션을 실행하는 이미지 프로세서(320) 및 스토리지(340)를 포함한다. 일 실시예에서, 임베딩 장치(300)는 이미지 센서(310), 네트워크 인터페이스(370), 시스템 버스(350) 및 프린터 인터페이스(360)를 더 포함할 수 있다.Hereinafter, the configuration and operation of a data embedding device according to another embodiment of the present invention will be described with reference to FIG. 28 . As shown in FIG. 28, the data embedding apparatus 300 according to the present embodiment includes a memory (RAM) 330, an image processor 320 executing a data embedding software operation loaded into the memory 330, and a storage ( 340). In one embodiment, the embedding device 300 may further include an image sensor 310 , a network interface 370 , a system bus 350 and a printer interface 360 .

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

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

스토리지(340)는 워터마크 데이터를 임베딩하는 규칙을 가리키는 하나 이상의 난수열 세트들을 더 저장할 수 있다. 일 실시예에서, 스토리지(440)는 상기 난수열을 암호화된 형태로 저장하고, 데이터 임베딩 소프트웨어 실행 파일 내에 리소스(resource)의 형태로 저장할 수 있다.Storage 340 may further store one or more sets of random number sequences indicating rules for embedding watermark data. In one embodiment, the storage 440 may store the random number sequence in an encrypted form and 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, directly receives input 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) can be read. The data embedding device 300 obtains an original image, which is a target to embed the watermarking data, from the image sensor 310 that captures the target object, receives it from an external device through a network interface 370, or stores the original image 340. Watermarking data (not shown) stored in may be read.

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

이하, 본 발명의 다른 실시예에 다른 데이터 디코딩 장치의 구성 및 동작을 도 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 the present embodiment includes a memory (RAM) 430, an image processor 420 executing a data decoding software operation loaded into the memory 430, and a storage ( 440). In one embodiment, the decoding device 400 may further include an image sensor 410, a network interface 470, a system bus 350, and a watermarking data interpretation processor 460.

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

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

스토리지(440)는 워터마크 데이터를 추출하는 규칙을 가리키는 하나 이상의 난수열 세트들을 더 저장할 수 있다. 일 실시예에서, 스토리지(440)는 상기 난수열을 암호화된 형태로 저장하고, 데이터 디코딩 소프트웨어 실행 파일 내에 리소스(resource)의 형태로 저장할 수 있다.The storage 440 may further store one or more sets of random number sequences indicating rules for extracting watermark data. In one embodiment, the storage 440 may store the random number sequence in an encrypted form and 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 device 400 obtains data of a photographed image from the image sensor 410 for photographing a target object on which an image in which watermarking data is embedded is printed, receives data from an external device through a network interface 470, or stores Data of the captured image stored in 440 can be obtained. Data of the photographed image is loaded into the memory 430 through the system bus 450 and referred to 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 stores the watermark data 440. , or output in some other way.

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

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

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

Claims (7)

워터마크 데이터를 오리지널 이미지에 임베딩(Embedding)하는 방법에 있어서,
복수의 픽셀을 가진 블록 단위로 구성된 노이즈 베이스 이미지의 각각의 블록을 순회하면서 상기 워터마크 데이터를 이용하여 상기 각각의 블록의 일부 픽셀의 픽셀 값을 수정함으로써 상기 노이즈 베이스 이미지를 변환하는 단계를 포함하되,
상기 오리지널 이미지의 무늬 경향성을 얻는 단계를 더 포함하고,
상기 노이즈 베이스 이미지는,
상기 오리지널 이미지의 무늬 경향성에 대응되는 형태인 것인,
데이터 임베딩 방법.
In the method of embedding watermark data in an original image,
Transforming the noise base image by modifying pixel values of some pixels of each block using the watermark data while traversing each block of the noise base image configured in units of blocks having a plurality of pixels, ,
Further comprising obtaining a pattern tendency of the original image,
The noise base image,
Which is a form corresponding to the pattern tendency of the original image,
Data embedding method.
제1 항에 있어서,
상기 오리지널 이미지의 무늬 경향성을 얻는 단계는,
상기 오리지널 이미지의 무늬 가로 세로 경향성을 수치로 얻는 단계를 포함하고,
상기 수치가 기준치 이하에 해당하는 경우 상기 노이즈 베이스 이미지는 상기 수치에 대응되는 형태의 직사각형 이미지인,
데이터 임베딩 방법.
According to claim 1,
The step of obtaining the pattern tendency of the original image,
Including the step of obtaining numerically the horizontal and vertical trend 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 rectangular image having a shape corresponding to the numerical value.
Data embedding method.
제2 항에 있어서,
상기 경향성을 수치로 얻는 단계는,
상기 오리지널 이미지의 푸리에 변환 주파수 도메인의 크기 스펙트럼에서 피크 좌표가 가장 인접한 축과의 최소 거리를 얻는 단계를 포함하되,
상기 최소 거리는 기 정의된 값 이하인 것인,
데이터 임베딩 방법.
According to claim 2,
The step of obtaining the tendency as a numerical value,
Obtaining a minimum distance from an axis to which peak coordinates are most adjacent in a magnitude spectrum of a Fourier transform frequency domain of the original image,
The minimum distance is less than a predefined value,
Data embedding method.
제3 항에 있어서,
상기 직사각형 이미지는,
상기 피크 좌표와 가장 인접한 상기 축이 x축에 해당하는 경우, 사각형의 세로 길이가 가로 길이 보다 더 긴 직사각형 이미지인,
데이터 임베딩 방법.
According to claim 3,
The 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,
Data embedding method.
제3 항에 있어서,
상기 직사각형 이미지는,
상기 피크 좌표와 인접한 상기 축이 y축에 해당하는 경우, 사각형의 가로 길이가 세로 길이 보다 더 긴 직사각형 이미지인,
데이터 임베딩 방법.
According to claim 3,
The 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,
Data embedding method.
제1 항에 있어서,
상기 오리지널 이미지를 상기 변환된 노이즈 베이스 이미지를 이용하여 조정하는 단계를 더 포함하되,
상기 조정하는 단계는,
상기 오리지널 이미지가 세로 무늬 오리지널 이미지인 경우,
세로가 가로보다 더 긴 상기 변환된 노이즈 베이스 이미지가 상기 오리지널 이미지에 배치되는 단계를 포함하는,
데이터 임베딩 방법.
According to claim 1,
Further comprising adjusting the original image using the converted noise base image,
The adjustment step is
If the original image is a vertical pattern original image,
Disposing the converted noise base image, which is longer than the horizontal, in the original image.
Data embedding method.
제1 항에 있어서,
상기 오리지널 이미지를 상기 변환된 노이즈 베이스 이미지를 이용하여 조정하는 단계를 더 포함하되,
상기 조정하는 단계는,
상기 오리지널 이미지가 가로 무늬 오리지널 이미지인 경우,
가로가 세로보다 더 긴 상기 변환된 노이즈 베이스 이미지가 상기 오리지널 이미지에 배치되는 단계를 포함하는,
데이터 임베딩 방법.
According to claim 1,
Further comprising adjusting the original image using the converted noise base image,
The adjustment step is
If the original image is a horizontal pattern original image,
Disposing the converted noise base image, which is longer than the vertical one, in the original image.
Data embedding method.
KR1020220103997A 2020-03-23 2022-08-19 Method for embedding and extraction of watermarking data KR102564641B1 (en)

Priority Applications (1)

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

Applications Claiming Priority (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

Related Parent Applications (1)

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

Publications (2)

Publication Number Publication Date
KR20220122575A KR20220122575A (en) 2022-09-02
KR102564641B1 true KR102564641B1 (en) 2023-08-08

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 Before (1)

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

Country Status (1)

Country Link
KR (2) KR102435876B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114501454A (en) * 2021-12-27 2022-05-13 南京信息工程大学 WSNs data integrity authentication method based on double watermarks
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
KR20220122575A (en) 2022-09-02
KR102435876B1 (en) 2022-08-24
KR20210118704A (en) 2021-10-01

Similar Documents

Publication Publication Date Title
KR102564641B1 (en) Method for embedding and extraction of watermarking data
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
JP4485585B2 (en) Digital image processing method and system
KR101960290B1 (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
US7961941B2 (en) Color form dropout using dynamic geometric solid thresholding
CN108596817B (en) Watermark data embedding and extracting method
Baumy et al. Efficient Forgery Detection Approaches for Digital Color Images.
KR102579261B1 (en) Method for embedding and extraction of watermarking data
CN113344763B (en) Robust watermarking algorithm based on JND and oriented to screen shooting
Macit et al. An Active Image Forgery Detection Approach Based on Edge Detection
Yamada et al. Maintaining image quality when watermarking grayscale comic images for electronic books
Kuob et al. Anticollusion Watermarking of 3D Meshes by Prewarping
Zeng Steganography for font-dependant binary documents

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant