[go: up one dir, main page]

KR101354609B1 - Image based data hiding device and method - Google Patents

Image based data hiding device and method Download PDF

Info

Publication number
KR101354609B1
KR101354609B1 KR1020130112485A KR20130112485A KR101354609B1 KR 101354609 B1 KR101354609 B1 KR 101354609B1 KR 1020130112485 A KR1020130112485 A KR 1020130112485A KR 20130112485 A KR20130112485 A KR 20130112485A KR 101354609 B1 KR101354609 B1 KR 101354609B1
Authority
KR
South Korea
Prior art keywords
pixel
group
image
data
verification
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020130112485A
Other languages
Korean (ko)
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 KR1020130112485A priority Critical patent/KR101354609B1/en
Application granted granted Critical
Publication of KR101354609B1 publication Critical patent/KR101354609B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32203Spatial or amplitude domain methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • H04N21/6334Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
    • H04N21/63345Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key by transmitting keys

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

이미지 기반의 데이터 은닉 장치 및 방법이 개시된다. 본 발명의 실시예들은 화소 값의 조정을 통해 이미지 상에 데이터를 은닉하고, 데이터가 은닉되어 있는 은닉 이미지로부터 데이터를 복원하는 기법을 제공함으로써, 중요 정보가 제3자에게 손쉽게 노출되는 것을 방지할 수 있는 기법에 대한 것이다.An apparatus and method for image based data hiding are disclosed. Embodiments of the present invention provide techniques for concealing data on an image through adjustment of pixel values and for restoring the data from the hidden image where the data is concealed, thereby preventing sensitive information from being easily exposed to third parties. It is about techniques that can be used.

Description

이미지 기반의 데이터 은닉 장치 및 방법{IMAGE BASED DATA HIDING DEVICE AND METHOD}Image-based data hiding device and method {IMAGE BASED DATA HIDING DEVICE AND METHOD}

본 발명의 실시예들은 이미지 상에 데이터를 은닉함으로써, 중요 정보가 노출되는 것을 방지할 수 있는 기술에 대한 것이다.Embodiments of the present invention are directed to a technique capable of preventing exposure of sensitive information by hiding data on an image.

최근, 다양한 형태의 정보가 생성되고 유통됨에 따라, 해킹이나 잘못된 경로로의 정보 전달로 인해 중요한 정보가 제3자에게 노출되는 등의 피해가 발생하고 있다.Recently, as various types of information are generated and circulated, damages such as exposure of important information to third parties due to hacking or transmission of information through wrong paths have occurred.

특히, 정보의 전달과정에서 군사 정보나 개인 정보 등과 같은 중요 정보에 어떠한 방어 기제가 적용되어 있지 않은 상태에서 이러한 중요 정보가 우연히 제3자에게 전달된다면, 제3자가 손쉽게 중요 정보에 접근할 수 있어, 큰 피해가 발생할 수 있다.In particular, if no important defense mechanism is applied to important information such as military or personal information in the process of transmitting the information, if such important information is accidentally delivered to the third party, the third party can easily access the important information. This can cause great damage.

최근에는 이러한 중요 정보의 노출을 방지하기 위해, 이미지 상에 중요 정보를 워터마크(Watermark) 형태로 삽입하여 전달하는 기법이 도입되고 있다.Recently, in order to prevent exposure of such important information, a technique of inserting and transferring important information in a watermark form on an image has been introduced.

워터마크란 텍스트, 이미지, 비디오, 오디오 등의 원본 데이터에 본래 소유주만이 아는 마크(mark)를 사람의 육안이나 귀로는 구별할 수 없게 삽입하는 기술로, 최근에는 이미지 상에 중요 정보를 워터마크 형태로 삽입을 한 후 제한된 사용자만이 해당 이미지로부터 상기 이미지에 삽입되어 있는 중요 정보를 추출할 수 있도록 하는 데이터 은닉 기술이 도입되고 있다.Watermark is a technology that inserts a mark that only the owner owns into the original data such as text, image, video, audio and so on. After inserting in the form, a data concealment technology is introduced so that only a limited user can extract important information embedded in the image from the image.

따라서, 이러한 기술적 흐름에 맞추어 중요 정보가 제3자에게 손쉽게 노출되지 않도록 하기 위한 좀 더 진보된 형태의 데이터 은닉 기법에 대한 연구가 필요하다.Therefore, according to this technical flow, a study on a more advanced form of data concealment technique is required to prevent important information from being easily exposed to third parties.

본 발명의 실시예들은 화소 값의 조정을 통해 이미지 상에 데이터를 은닉하고, 데이터가 은닉되어 있는 은닉 이미지로부터 데이터를 복원하는 기법을 제공함으로써, 중요 정보가 제3자에게 손쉽게 노출되는 것을 방지할 수 있도록 한다.Embodiments of the present invention provide techniques for concealing data on an image through adjustment of pixel values and for restoring the data from the hidden image where the data is concealed, thereby preventing sensitive information from being easily exposed to third parties. To help.

본 발명의 일실시예에 따른 이미지 기반의 데이터 은닉 장치는 이미지를 분할하여 적어도 하나의 이미지 블록을 생성하는 블록 생성부, 상기 적어도 하나의 이미지 블록에 포함된 복수의 화소들 중에서 선정된(predetermined) 격자 지점 상에 위치하는 적어도 하나의 화소를 데이터 은닉에 사용될 화소로 선택하는 화소 선택부, 상기 적어도 하나의 화소를 두 개의 화소 그룹으로 분할하여 제1 화소 그룹과 제2 화소 그룹을 생성하는 그룹 생성부, 은닉할 데이터의 비트 값에 기초하여 상기 제1 화소 그룹과 상기 제2 화소 그룹 중 상기 데이터 은닉에 사용될 화소 그룹을 선택하는 그룹 선택부 및 상기 선택된 화소 그룹에 포함되어 있는 화소들의 화소 값을 선정된 화소 값 변경 패턴에 따라 변경하여 상기 이미지에 상기 데이터가 은닉된 은닉 이미지를 생성하는 데이터 은닉부를 포함한다.An image-based data concealment apparatus according to an embodiment of the present invention includes a block generator that generates at least one image block by dividing an image, and is selected from among a plurality of pixels included in the at least one image block. A pixel selection unit for selecting at least one pixel positioned on a grid point as a pixel to be used for data concealment, and generating a group for generating a first pixel group and a second pixel group by dividing the at least one pixel into two pixel groups A group selector which selects a pixel group to be used for the data hiding from among the first pixel group and the second pixel group based on a bit value of data to be concealed, and pixel values of pixels included in the selected pixel group. Change according to a predetermined pixel value change pattern to generate a hidden image in which the data is hidden. Data concealment includes parts.

또한, 본 발명의 일실시예에 따른 이미지 기반의 데이터 은닉 방법은 이미지를 분할하여 적어도 하나의 이미지 블록을 생성하는 단계, 상기 적어도 하나의 이미지 블록에 포함된 복수의 화소들 중에서 선정된 격자 지점 상에 위치하는 적어도 하나의 화소를 데이터 은닉에 사용될 화소로 선택하는 단계, 상기 적어도 하나의 화소를 두 개의 화소 그룹으로 분할하여 제1 화소 그룹과 제2 화소 그룹을 생성하는 단계, 은닉할 데이터의 비트 값에 기초하여 상기 제1 화소 그룹과 상기 제2 화소 그룹 중 상기 데이터 은닉에 사용될 화소 그룹을 선택하는 단계 및 상기 선택된 화소 그룹에 포함되어 있는 화소들의 화소 값을 선정된 화소 값 변경 패턴에 따라 변경하여 상기 이미지에 상기 데이터가 은닉된 은닉 이미지를 생성하는 단계를 포함한다.In addition, the image-based data concealment method according to an embodiment of the present invention comprises the steps of segmenting an image to generate at least one image block, on a selected grid point among a plurality of pixels included in the at least one image block Selecting at least one pixel positioned at to be a pixel to be used for data concealment, dividing the at least one pixel into two pixel groups to generate a first pixel group and a second pixel group, and bits of data to be concealed Selecting a pixel group to be used for the data concealment among the first pixel group and the second pixel group based on a value, and changing pixel values of pixels included in the selected pixel group according to a predetermined pixel value change pattern Thereby generating a hidden image in which the data is hidden.

본 발명의 실시예들은 화소 값의 조정을 통해 이미지 상에 데이터를 은닉하고, 데이터가 은닉되어 있는 은닉 이미지로부터 데이터를 복원하는 기법을 제공함으로써, 중요 정보가 제3자에게 손쉽게 노출되는 것을 방지할 수 있다.Embodiments of the present invention provide techniques for concealing data on an image through adjustment of pixel values and for restoring the data from the hidden image where the data is concealed, thereby preventing sensitive information from being easily exposed to third parties. Can be.

도 1은 본 발명의 일실시예에 따른 이미지 기반의 데이터 은닉 장치의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 이미지 기반의 데이터 은닉 장치가 이미지 상에 데이터를 은닉하는 과정을 설명하기 위한 도면이다.
도 3은 본 발명의 일실시예에 따른 이미지 기반의 데이터 은닉 장치가 데이터가 은닉되어 있는 은닉 이미지로부터 상기 데이터를 복원하는 과정을 설명하기 위한 도면이다.
도 4는 본 발명의 일실시예에 따른 이미지 기반의 데이터 은닉 방법을 도시한 순서도이다.
1 is a diagram showing the structure of an image-based data hiding apparatus according to an embodiment of the present invention.
FIG. 2 is a diagram for describing a process of hiding data on an image by an image-based data hiding apparatus according to an embodiment of the present invention.
FIG. 3 is a diagram for describing a process of restoring the data from the hidden image in which the data is concealed by the image-based data hiding apparatus according to one embodiment of the present invention.
4 is a flowchart illustrating an image-based data concealment method according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 따른 이미지 기반의 데이터 은닉 장치의 구조를 도시한 도면이다.1 is a diagram showing the structure of an image-based data hiding apparatus according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일실시예에 따른 이미지 기반의 데이터 은닉 장치(110)는 블록 생성부(111), 화소(pixel) 선택부(112), 그룹 생성부(113), 그룹 선택부(114) 및 데이터 은닉부(115)를 포함한다.Referring to FIG. 1, the image-based data hiding apparatus 110 according to an embodiment of the present invention may include a block generator 111, a pixel selector 112, a group generator 113, and a group selector. The unit 114 and the data concealment unit 115 are included.

이하에서는 도 2를 참조하여, 이미지 기반의 데이터 은닉 장치(110)의 동작에 대해 상세히 설명하기로 한다.Hereinafter, an operation of the image-based data hiding apparatus 110 will be described in detail with reference to FIG. 2.

먼저, 블록 생성부(111)는 데이터를 은닉시킬 이미지가 입력되면, 도면부호 210에 도시된 바와 같이, 상기 이미지를 분할하여 적어도 하나의 이미지 블록을 생성한다.First, when an image for hiding data is input, the block generation unit 111 generates at least one image block by dividing the image, as shown at 210.

관련하여, 도면부호 210에서는 블록 생성부(111)가 상기 이미지를 4개의 이미지 블록으로 분할하여 4개의 이미지 블록들을 생성한 예가 도시되어 있다.In relation to FIG. 210, an example in which the block generator 111 divides the image into four image blocks to generate four image blocks is illustrated.

여기서, 각 이미지 블록에는 1비트의 데이터가 은닉될 수 있고, 도 2의 실시예에서는 블록 생성부(111)에 의해 상기 이미지가 4개의 이미지 블록으로 분할되었기 때문에 상기 이미지 상에는 4비트의 데이터가 은닉될 수 있다.Here, one bit of data may be concealed in each image block. In the embodiment of FIG. 2, since the image is divided into four image blocks by the block generator 111, four bits of data are concealed on the image. Can be.

화소 선택부(112)는 상기 적어도 하나의 이미지 블록에 포함된 복수의 화소들 중에서 선정된(predetermined) 격자 지점 상에 위치하는 적어도 하나의 화소를 데이터 은닉에 사용될 화소로 선택한다.The pixel selector 112 selects at least one pixel located on a predetermined grid point among a plurality of pixels included in the at least one image block as a pixel to be used for data concealment.

이때, 본 발명의 일실시예에 따르면, 상기 선정된 격자 지점은 격자 패턴을 가지면서, 상기 적어도 하나의 이미지 블록에 포함된 복수의 화소들 중에서 상기 적어도 하나의 화소 각각을 중심으로 상하좌우 방향에 인접한 화소가 존재하지 않고, 상기 적어도 하나의 화소가 서로 이격되어 배치되도록 지정된 지점일 수 있다.In this case, according to an embodiment of the present invention, the selected grating point has a grating pattern and is disposed in the up, down, left, and right directions with respect to each of the at least one pixel among a plurality of pixels included in the at least one image block. There may be no adjacent pixels, and the at least one pixel may be designated to be spaced apart from each other.

관련하여, 도면부호 220과 도면부호 230은 도면부호 210에 도시된 4개의 이미지 블록들 중 제1 이미지 블록(211)을 확대 도시한 것으로, 먼저, 도면부호 220에는 화소 선택부(112)가 제1 이미지 블록(211)에 대해 상기 적어도 하나의 화소를 선택한 예가 도시되어 있다.In this regard, reference numeral 220 and 230 denote an enlarged view of the first image block 211 of the four image blocks shown at 210. First, the pixel selection unit 112 is designated by reference numeral 220. An example in which the at least one pixel is selected for one image block 211 is shown.

여기서, 도면부호 220에 도시된 각 사각형은 하나의 화소를 나타낸 것이고, 음영으로 처리된 화소가 화소 선택부(112)에 의해 선택된 상기 적어도 하나의 화소를 나타낸 것이다.Here, each square shown by reference numeral 220 represents one pixel, and the shaded pixels represent the at least one pixel selected by the pixel selector 112.

도면부호 220에 도시된 바와 같이, 화소 선택부(112)는 제1 이미지 블록(211)에 포함되어 있는 복수의 화소들 중 격자 패턴을 갖는 체크무늬 형태로 데이터 은닉에 사용될 적어도 하나의 화소를 선택하되, 상기 적어도 하나의 화소 각각에 대해 상하좌우 방향에 인접한 화소가 존재하지 않고, 상기 적어도 하나의 화소가 서로 이격되어 배치되도록 상기 적어도 하나의 화소를 선택할 수 있다.As shown by reference numeral 220, the pixel selector 112 selects at least one pixel to be used for data hiding in a checkered pattern having a grid pattern among a plurality of pixels included in the first image block 211. The at least one pixel may be selected such that no pixels adjacent to each other in the up, down, left, and right directions exist for each of the at least one pixel, and the at least one pixel is spaced apart from each other.

이렇게, 상기 적어도 하나의 화소에 대한 선택이 완료되면, 그룹 생성부(113)는 상기 적어도 하나의 화소를 두 개의 화소 그룹으로 분할하여 제1 화소 그룹과 제2 화소 그룹을 생성한다.As such, when the selection of the at least one pixel is completed, the group generator 113 divides the at least one pixel into two pixel groups to generate a first pixel group and a second pixel group.

관련하여, 그룹 생성부(113)는 도면부호 230에 도시된 바와 같이, 음영으로 처리되어 있는 데이터 은닉에 사용될 상기 적어도 하나의 화소를 제1 이미지 블록(211)의 상단에 위치하고 있는 화소들과 제1 이미지 블록(211)의 하단에 위치하고 있는 화소들로 분할하여 상단에 위치하고 있는 화소들을 제1 화소 그룹(231)으로, 하단에 위치하고 있는 화소들을 제2 화소 그룹(232)으로 생성할 수 있다.In relation to this, as shown at 230, the group generating unit 113 stores the at least one pixel to be used for concealing the data shaded with the pixels positioned on the top of the first image block 211. The pixels positioned at the upper end of the first image block 211 may be divided into the first pixel group 231, and the pixels positioned at the lower end of the first image block 211 may be generated as the second pixel group 232.

이러한 그룹 생성부(113)의 제1 화소 그룹(231)과 제2 화소 그룹(232)의 분할 방식은 사용자에 의해 임의로 결정될 수 있다.The division method of the first pixel group 231 and the second pixel group 232 of the group generator 113 may be arbitrarily determined by a user.

이렇게, 제1 화소 그룹(231)과 제2 화소 그룹(232)의 생성이 완료되면, 그룹 선택부(114)는 은닉할 데이터의 비트 값에 기초하여 제1 화소 그룹(231)과 제2 화소 그룹(232) 중 상기 데이터 은닉에 사용될 화소 그룹을 선택한다.In this way, when the generation of the first pixel group 231 and the second pixel group 232 is completed, the group selector 114 based on the bit value of the data to be concealed, the first pixel group 231 and the second pixel. A group of pixels to be used for data hiding is selected from the group 232.

앞서 설명한 바와 같이, 하나의 이미지 블록에는 1비트의 데이터가 은닉될 수 있는데, 만약, 제1 이미지 블록(211) 상에 은닉될 1비트의 데이터의 비트 값이 '0'인 경우, 그룹 선택부(114)는 제1 화소 그룹(231)과 제2 화소 그룹(232) 중에서 '0'이라는 비트 값을 갖는 데이터를 은닉하기 위한 화소 그룹으로 제1 화소 그룹(231)을 선택할 수 있다.As described above, one bit of data may be hidden in one image block. If the bit value of one bit of data to be hidden on the first image block 211 is '0', the group selector In operation 114, the first pixel group 231 may be selected as a pixel group for hiding data having a bit value of '0' from among the first pixel group 231 and the second pixel group 232.

반면에, 제1 이미지 블록(211) 상에 은닉될 1비트의 데이터의 비트 값이 '1'인 경우, 그룹 선택부(114)는 제1 화소 그룹(231)과 제2 화소 그룹(232) 중에서 '1'이라는 비트 값을 갖는 데이터를 은닉하기 위한 화소 그룹으로 제2 화소 그룹(232)을 선택할 수 있다.On the other hand, when the bit value of the one-bit data to be hidden on the first image block 211 is '1', the group selector 114 may include the first pixel group 231 and the second pixel group 232. The second pixel group 232 may be selected as a pixel group for hiding data having a bit value of '1'.

이러한 그룹 선택부(114)의 화소 그룹의 선택 방식은 사용자에 의해 임의로 설정될 수 있다. 즉, 제1 이미지 블록(211) 상에 은닉될 데이터 비트 값이 '0'인 경우, 그룹 선택부(114)는 제1 화소 그룹(231)과 제2 화소 그룹(232) 중에서 '0'이라는 비트 값을 갖는 데이터를 은닉하기 위한 화소 그룹으로 제2 화소 그룹(233)을 선택하도록 설정될 수 있고, 제1 이미지 블록(211) 상에 은닉될 데이터의 비트 값이 '1'인 경우, 그룹 선택부(114)는 제1 화소 그룹(231)과 제2 화소 그룹(232) 중에서 '1'이라는 비트 값을 갖는 데이터를 은닉하기 위한 화소 그룹으로 제1 화소 그룹(231)을 선택하도록 설정될 수 있다.The pixel group selection method of the group selector 114 may be arbitrarily set by the user. That is, when the data bit value to be hidden on the first image block 211 is '0', the group selector 114 may select '0' among the first pixel group 231 and the second pixel group 232. May be set to select the second pixel group 233 as a pixel group for concealing data having a bit value, and if the bit value of the data to be concealed on the first image block 211 is '1', the group The selector 114 may be set to select the first pixel group 231 as a pixel group for hiding data having a bit value of '1' from among the first pixel group 231 and the second pixel group 232. Can be.

본 실시예에서는 제1 이미지 블록(211) 상에 은닉될 데이터의 비트 값이 '0'인 것으로 가정하고, 이에 따라 그룹 선택부(114)가 제1 화소 그룹(231)과 제2 화소 그룹(232) 중에서 '0'이라는 비트 값을 갖는 데이터를 은닉하기 위한 화소 그룹으로 제1 화소 그룹(231)을 선택한 것으로 가정한다.In the present exemplary embodiment, it is assumed that the bit value of the data to be hidden on the first image block 211 is '0', and accordingly, the group selector 114 uses the first pixel group 231 and the second pixel group ( It is assumed that the first pixel group 231 is selected as the pixel group for concealing data having a bit value of '0' from 232.

데이터 은닉부(115)는 그룹 선택부(114)에서 선택된 화소 그룹에 포함되어 있는 화소들의 화소 값을 선정된 화소 값 변경 패턴에 따라 변경하여 상기 이미지에 상기 데이터가 은닉된 은닉 이미지를 생성한다.The data hiding unit 115 changes the pixel values of the pixels included in the pixel group selected by the group selector 114 according to a predetermined pixel value change pattern to generate a hidden image in which the data is hidden.

앞서, 제1 이미지 블록(211) 상에 은닉될 데이터의 비트 값을 '0'인 것으로 가정하였고, 제1 이미지 블록(211)에 대해서 제1 화소 그룹(231)이 상기 '0'이라는 비트 값을 갖는 데이터가 은닉될 화소 그룹으로 선택되었다고 가정하였기 때문에 데이터 은닉부(115)는 제1 이미지 블록(211)에 대해서 제1 화소 그룹(231)에 포함되어 있는 화소들의 화소 값을 선정된 화소 값 변경 패턴에 따라 변경할 수 있다.Previously, it is assumed that the bit value of the data to be hidden on the first image block 211 is '0', and the bit value that the first pixel group 231 is '0' for the first image block 211. Since it is assumed that the data having the data is selected as the pixel group to be hidden, the data concealment unit 115 selects pixel values of pixels included in the first pixel group 231 for the first image block 211. It can be changed according to the change pattern.

예컨대, 상기 선정된 화소 값 변경 패턴을 특정 화소 값의 데이터 비트열에서 마지막 3개의 비트 값을 반대 값으로 변환하는 패턴인 것으로 가정하자. 예를 들어, 특정 화소 값의 데이터 비트열이 '11110000'일 경우, 상기 특정 화소 값에 대해 상기 선정된 화소 값 변경 패턴을 적용하여 화소 값을 변경하면, 상기 특정 화소 값의 데이터 비트열이 '11110111'로 변경된다고 가정하자.For example, suppose that the predetermined pixel value change pattern is a pattern for converting the last three bit values from the data bit string of a specific pixel value to an opposite value. For example, when the data bit string of a specific pixel value is' 11110000 ', when the pixel value is changed by applying the predetermined pixel value change pattern to the specific pixel value, the data bit string of the specific pixel value is' Suppose it is changed to 11110111 '.

이때, 데이터 은닉부(115)는 제1 화소 그룹(231)에 포함되어 있는 화소들에 대해 화소 값에 대한 데이터 비트열에서 마지막 3개의 비트 값을 반대의 비트 값으로 변경할 수 있다.In this case, the data concealment unit 115 may change the last three bit values in the data bit string for the pixel value to the opposite bit values for the pixels included in the first pixel group 231.

이렇게, 제1 화소 그룹(231)에 포함되어 있는 화소들의 화소 값이 원래의 화소 값과 다른 화소 값으로 변경됨으로써, 제1 이미지 블록(211) 상에 '0'이라는 데이터의 비트 값이 은닉될 수 있고, 추후 데이터 복원을 수행할 때, 제1 화소 그룹(231)에 포함되어 있는 화소들의 화소 값이 변경된 화소 값이라는 것이 확인된다면, 이를 통해 제1 이미지 블록(211) 상에 '0'이라는 데이터의 비트 값이 은닉된 것으로 판단한 후 제1 이미지 블록(211)으로부터 '0'이라는 데이터의 비트 값을 복원할 수 있다.As such, the pixel value of the pixels included in the first pixel group 231 is changed to a pixel value different from the original pixel value, thereby concealing the bit value of the data '0' on the first image block 211. When the data restoration is performed later, if it is confirmed that the pixel values of the pixels included in the first pixel group 231 are changed pixel values, a value of '0' on the first image block 211 may be determined. After determining that the bit value of the data is hidden, the bit value of the data '0' may be restored from the first image block 211.

이상, 도면부호 220과 230을 참조하여, 제1 이미지 블록(211)에 대해 '0'이라는 데이터의 비트 값을 은닉하는 과정에 대해 설명하였지만, 화소 선택부(112), 그룹 생성부(113) 및 데이터 은닉부(115)는 도면부호 210에 도시되어 있는 4개의 이미지 블록들 중 제1 이미지 블록(211)을 제외한 나머지 3개의 이미지 블록들 각각에 대해서도 도면부호 220과 230을 이용하여 설명한 방식과 동일한 방식으로 1비트의 데이터 비트 값을 은닉함으로써, 상기 이미지 상에 총 4비트의 데이터가 은닉된 은닉 이미지를 생성할 수 있다.As described above, the process of concealing the bit value of the data '0' for the first image block 211 with reference to 220 and 230 has been described. However, the pixel selector 112 and the group generator 113 are described. The data concealment unit 115 may be configured by using reference numerals 220 and 230 for each of the remaining three image blocks except for the first image block 211 among the four image blocks shown at 210. By concealing a one-bit data bit value in the same manner, it is possible to create a hidden image with a total of four bits of data hidden on the image.

본 발명의 일실시예에 따르면, 데이터 은닉에 사용되는 상기 이미지는 원본 이미지에 소정의 암호화 알고리즘이 적용되어 생성된 암호화된 이미지일 수 있고, 이미지 기반의 데이터 은닉 장치(110)는 상기 암호화된 이미지에 대해 앞서 설명한 방식에 따라 상기 데이터를 은닉함으로써, 보안을 더욱 강화할 수 있다.According to one embodiment of the invention, the image used for data concealment may be an encrypted image generated by applying a predetermined encryption algorithm to the original image, the image-based data concealment device 110 is the encrypted image By concealing the data in the manner described above for, security can be further enhanced.

본 발명의 일실시예에 따르면, 이미지 기반의 데이터 은닉 장치(110)는 인증 정보 생성부(124)를 더 포함할 수 있다.According to an embodiment of the present invention, the image-based data hiding apparatus 110 may further include an authentication information generator 124.

인증 정보 생성부(124)는 블록 생성부(111)에서 수행되는 적어도 하나의 이미지 블록의 생성과 연관된 블록 생성 정보, 화소 선택부(112)에서 수행되는 적어도 하나의 화소의 선택과 연관된 선택 정보, 그룹 생성부(113)에서 수행되는 제1 화소 그룹(231)과 제2 화소 그룹(232)의 분할과 연관된 분할 정보 및 상기 선정된 화소 값 변경 패턴에 대한 정보가 포함된 인증 정보를 생성할 수 있다.The authentication information generation unit 124 may include block generation information associated with generation of at least one image block performed by the block generation unit 111, selection information associated with selection of at least one pixel performed by the pixel selection unit 112, The authentication information including segmentation information associated with division of the first pixel group 231 and the second pixel group 232 performed by the group generator 113 and information about the selected pixel value change pattern may be generated. have.

예컨대, 인증 정보 생성부(124)는 블록 생성부(111)가 도면부호 210에 도시된 바와 같이, 상기 이미지를 분할하여 4개의 이미지 블록들을 생성할 때, 상기 4개의 이미지 블록들이 생성되는 방식과 연관된 블록 생성 정보를 구성하고, 화소 선택부(112)가 도면부호 220에 도시된 바와 같이, 4개의 이미지 블록들에 포함된 복수의 화소들 중 선정된 격자 지점 상에 위치하는 적어도 하나의 화소를 선택할 때, 상기 적어도 하나의 화소가 선택되는 방식과 연관된 선택 정보를 구성하며, 그룹 생성부(113)가 상기 적어도 하나의 화소를 두 개의 화소 그룹으로 분할하여 제1 화소 그룹(231)과 제2 화소 그룹(232)을 생성할 때, 상기 화소 그룹의 분할 방식과 연관된 분할 정보를 구성한 후 상기 블록 생성 정보, 상기 선택 정보, 상기 분할 정보 및 데이터 은닉부(115)에서 사용되는 상기 선정된 화소 값 변경 패턴에 대한 정보가 포함된 인증 정보를 생성함으로써, 추후 상기 이미지로부터 상기 이미지 상에 은닉되어 있는 데이터가 복원될 때 상기 인증 정보가 소정의 인증키로 사용되도록 할 수 있다.For example, the authentication information generator 124 may generate the four image blocks when the block generator 111 generates four image blocks by dividing the image, as shown at 210. Configure the associated block generation information, and the pixel selector 112 selects at least one pixel located on a selected grid point among a plurality of pixels included in four image blocks, as shown at 220. When the selection is made, selection information related to the manner in which the at least one pixel is selected is configured, and the group generator 113 divides the at least one pixel into two pixel groups to form the first pixel group 231 and the second pixel. When generating the pixel group 232, the block generation information, the selection information, the partitioning information, and the data concealment unit 115 may be used after constructing the partitioning information associated with the partitioning scheme of the pixel group. By generating the identification information includes information for changing the selected pixel value pattern, and when the data, which is concealed on the image restored from the later image is the authentication information to be used as the key for a predetermined authentication.

이상, 도 2를 참조하여, 본 발명의 일실시예에 따른 이미지 기반의 데이터 은닉 장치(110)가 이미지 상에 소정의 데이터를 은닉하는 과정에 대해 설명하였다. 이하에서는 도 3을 참조하여, 이미지 기반의 데이터 은닉 장치(110)가 데이터 복원 명령에 기초하여 데이터가 은닉되어 있는 은닉 이미지로부터 상기 데이터를 복원하는 과정을 설명하기로 한다.In the above, the process of concealing predetermined data on the image by the image-based data hiding apparatus 110 according to an embodiment of the present invention has been described. Hereinafter, referring to FIG. 3, the process of restoring the data from the hidden image in which the data is hidden based on the data restoration command by the image-based data hiding apparatus 110 will be described.

본 발명의 일실시예에 따르면, 이미지 기반의 데이터 은닉 장치(110)는 은닉 이미지 블록 생성부(117), 복원 화소 선택부(118), 복원 화소 그룹 생성부(119), 제1 검증 집단 생성부(120), 제2 검증 집단 생성부(121), 검증 집단 선택부(122) 및 비트 값 선택부(123)를 더 포함할 수 있다.According to an embodiment of the present invention, the image-based data hiding apparatus 110 generates a hidden image block generator 117, a reconstructed pixel selector 118, a reconstructed pixel group generator 119, and a first verification group generation. The unit 120 may further include a second verification group generation unit 121, a verification group selection unit 122, and a bit value selection unit 123.

먼저, 도 2를 이용하여 설명한 실시예에 따라 데이터가 은닉되어 있는 은닉 이미지에 대해 상기 데이터에 대한 복원 명령이 입력되면, 은닉 이미지 블록 생성부(117)는 소정의 인증키로 사용되는 상기 인증 정보(340)에 포함되어 있는 상기 블록 생성 정보를 기초로 상기 은닉 이미지를 분할하여 적어도 하나의 은닉 이미지 블록을 생성한다.First, when a restore command for the data is input to a hidden image in which data is hidden according to the exemplary embodiment described with reference to FIG. 2, the hidden image block generation unit 117 may generate the authentication information used as a predetermined authentication key ( At least one hidden image block is generated by dividing the hidden image based on the block generation information included in 340.

상기 블록 생성 정보는 도 2의 도면부호 210에 도시된 바와 같이, 이미지를 분할하여 4개의 이미지 블록들을 생성하도록 설정된 정보이므로, 은닉 이미지 블록 생성부(117)는 도면부호 310에 도시된 바와 같이, 상기 은닉 이미지를 4개의 은닉 이미지 블록으로 분할하여 4개의 은닉 이미지 블록들을 생성할 수 있다.Since the block generation information is information set to generate four image blocks by dividing an image as shown by reference numeral 210 of FIG. 2, the hidden image block generation unit 117 is shown by reference numeral 310. Four hidden image blocks may be generated by dividing the hidden image into four hidden image blocks.

복원 화소 선택부(118)는 인증 정보(340)에 포함되어 있는 상기 선택 정보에 기초하여 은닉 이미지 블록 생성부(117)에서 생성된 상기 적어도 하나의 은닉 이미지 블록에 포함된 복수의 화소들 중에서 상기 선정된 격자 지점 상에 위치하는 적어도 하나의 복원 화소를 선택할 수 있다.The reconstructed pixel selector 118 may select one of a plurality of pixels included in the at least one hidden image block generated by the hidden image block generator 117 based on the selection information included in the authentication information 340. At least one reconstructed pixel positioned on the predetermined grid point may be selected.

관련하여, 도면부호 320과 도면부호 330은 도면부호 310에 도시된 4개의 은닉 이미지 블록들 중 제1 은닉 이미지 블록(311)을 확대 도시한 것으로, 먼저, 도면부호 320에는 복원 화소 선택부(118)가 제1 은닉 이미지 블록(311)에 대해 상기 적어도 하나의 복원 화소를 선택한 예가 도시되어 있다.In this regard, reference numeral 320 and 330 denote an enlarged view of the first hidden image block 311 of the four hidden image blocks shown at 310. First, reference numeral 320 denotes a reconstructed pixel selector 118. Shows an example in which the at least one reconstructed pixel is selected for the first hidden image block 311.

여기서, 도면부호 320에 도시된 각 사각형은 하나의 화소를 나타낸 것이고, 상기 선택 정보는 도 2의 도면부호 220에 도시된 복수의 화소들 중 음영으로 처리된 화소가 선택되도록 설정된 정보이므로, 복원 화소 선택부(118)는 도 2의 도면부호 220에 도시된 방식과 동일한 방식으로 도면부호 320에 도시된 바와 같이, 제1 은닉 이미지 블록(311)에 포함된 복수의 화소들 중 음영으로 처리된 화소를 상기 적어도 하나의 복원 화소로 선택할 수 있다.In this case, each rectangle illustrated by reference numeral 320 represents one pixel, and the selection information is information configured to select a shaded pixel from among the plurality of pixels illustrated by reference numeral 220 of FIG. 2. The selector 118 is shaded among the plurality of pixels included in the first hidden image block 311 as shown at 320 in the same manner as shown at 220 in FIG. 2. May be selected as the at least one reconstruction pixel.

즉, 복원 화소 선택부(118)는 도면부호 320에 도시된 바와 같이, 제1 은닉 이미지 블록(311)에 포함되어 있는 복수의 화소들 중 격자 패턴을 갖는 체크무늬 형태로 상기 적어도 하나의 복원 화소를 선택하되, 상기 적어도 하나의 복원 화소 각각에 대해 상하좌우 방향에 인접한 화소가 존재하지 않고, 상기 적어도 하나의 복원 화소가 서로 이격되어 배치되도록 상기 적어도 하나의 복원 화소를 선택할 수 있다.That is, as shown by reference numeral 320, the reconstructed pixel selection unit 118 may include the at least one reconstructed pixel in the form of a checkered pattern having a grid pattern among a plurality of pixels included in the first hidden image block 311. In some embodiments, at least one of the at least one reconstructed pixel may be selected such that no pixels adjacent to each of the at least one reconstructed pixel exist in the up, down, left, and right directions, and the at least one reconstructed pixel is spaced apart from each other.

이렇게, 상기 적어도 하나의 복원 화소에 대한 선택이 완료되면, 복원 화소 그룹 생성부(119)는 인증 정보(340)에 포함되어 있는 상기 분할 정보를 기초로 상기 적어도 하나의 복원 화소를 두 개의 화소 그룹으로 분할하여 제1 복원 화소 그룹과 제2 복원 화소 그룹을 생성한다.As such, when selection of the at least one reconstructed pixel is completed, the reconstructed pixel group generation unit 119 divides the at least one reconstructed pixel into two pixel groups based on the split information included in the authentication information 340. The first recovery pixel group and the second recovery pixel group are generated by dividing by.

관련하여, 상기 분할 정보는 도 2의 도면부호 230에 도시된 바와 같이, 음영으로 처리되어 있는 데이터 은닉에 사용될 적어도 하나의 화소 중에서 제1 이미지 블록(211)의 상단에 위치하고 있는 화소들을 제1 화소 그룹(231)으로, 제1 이미지 블록(211)의 하단에 위치하고 있는 화소들을 제2 화소 그룹(232)으로 분할하도록 설정된 정보이므로, 복원 화소 그룹 생성부(119)는 도면부호 330에 도시된 바와 같이, 상기 분할 정보에 따라 상기 적어도 하나의 복원 화소 중에서 제1 은닉 이미지 블록(311)의 상단에 위치하고 있는 화소들을 제1 복원 화소 그룹(331)으로, 제1 은닉 이미지 블록(311)의 하단에 위치하고 있는 화소들을 제2 복원 화소 그룹(332)으로 분할할 수 있다.In relation to this, the segmentation information may include pixels located at the top of the first image block 211 among at least one pixel to be used for data concealment that is shaded, as shown by reference numeral 230 of FIG. 2. Since the information is set to divide the pixels positioned at the bottom of the first image block 211 into the second pixel group 232 as the group 231, the reconstructed pixel group generation unit 119 is as shown by reference numeral 330. Likewise, the pixels located at the upper end of the first hidden image block 311 among the at least one reconstructed pixel according to the split information are referred to as a first reconstructed pixel group 331 and at the lower end of the first hidden image block 311. Pixels positioned may be divided into a second reconstructed pixel group 332.

이렇게, 제1 복원 화소 그룹(331)과 제2 복원 화소 그룹(332)으로의 분할이 완료되면, 제1 검증 집단 생성부(120)는 상기 적어도 하나의 복원 화소 중에서 제1 복원 화소 그룹(331)에 포함되어 있는 화소들의 화소 값을 인증 정보(340)에 포함되어 있는 상기 선정된 화소 값 변경 패턴에 대응되는 화소 값 복원 패턴에 따라 변경한 제1 검증 집단을 생성한다.In this manner, when the division into the first reconstructed pixel group 331 and the second reconstructed pixel group 332 is completed, the first verification group generator 120 may generate a first reconstructed pixel group 331 among the at least one reconstructed pixel. ) Generates a first verification group in which the pixel values of the pixels included in the subfield are changed according to the pixel value restoration pattern corresponding to the selected pixel value changing pattern included in the authentication information 340.

그리고, 제2 검증 집단 생성부(121)는 상기 적어도 하나의 복원 화소 중에서 제2 복원 화소 그룹(332)에 포함되어 있는 화소들의 화소 값을 인증 정보(340)에 포함되어 있는 상기 선정된 화소 값 변경 패턴에 대응되는 화소 값 복원 패턴에 따라 변경한 제2 검증 집단을 생성한다.In addition, the second verification group generation unit 121 may determine the pixel values of the pixels included in the second reconstructed pixel group 332 among the at least one reconstructed pixel in the authentication information 340. The second verification group is changed according to the pixel value reconstruction pattern corresponding to the change pattern.

앞서, 도 2의 실시예에서 상기 선정된 화소 값 변경 패턴을 특정 화소 값의 데이터 비트열에서 마지막 3개의 비트 값을 반대 값으로 변환하는 패턴인 것으로 가정하였기 때문에, 상기 선정된 화소 값 복원 패턴은 상기 선정된 화소 값 변경 패턴에 대응되도록 특정 화소 값의 데이터 비트열에서 마지막 3개의 비트 값을 반대 값으로 재변환하는 패턴으로 가정할 수 있다. 예를 들어, 특정 화소 값의 데이터 비트열이 '11110000'일 경우, 상기 특정 화소 값에 대해 상기 화소 값 복원 패턴을 적용하여 화소 값을 변경하면, 상기 특정 화소 값의 데이터 비트열은 '11110111'로 변경될 수 있다.In the embodiment of FIG. 2, since it is assumed that the selected pixel value changing pattern is a pattern for converting the last three bit values from a data bit string of a specific pixel value to an opposite value, the selected pixel value restoring pattern is It may be assumed that the last three bit values in the data bit string of the specific pixel value are reconverted to the opposite value so as to correspond to the selected pixel value changing pattern. For example, when the data bit string of a specific pixel value is '11110000', when the pixel value is changed by applying the pixel value recovery pattern to the specific pixel value, the data bit string of the specific pixel value is '11110111'. Can be changed to

이렇게, 제1 복원 화소 그룹(331)과 제2 복원 화소 그룹(332)에 포함되어 있는 화소들에 대해 상기 화소 값 복원 패턴에 따라 화소 값을 변경함으로써, 상기 제1 검증 집단과 상기 제2 검증 집단의 생성이 완료되면, 검증 집단 선택부(122)는 상기 제1 검증 집단에 포함되어 있는 화소들에 대한 인접 화소들과의 공간 상관도(Spatial Correlation)와 상기 제2 검증 집단에 포함되어 있는 화소들에 대한 인접 화소들과의 공간 상관도를 비교하여 상기 제1 검증 집단과 상기 제2 검증 집단 중 상기 공간 상관도가 높은 검증 집단을 선택한다.In this way, the pixel values of the pixels included in the first reconstructed pixel group 331 and the second reconstructed pixel group 332 are changed according to the pixel value reconstruction pattern, thereby performing the first verification group and the second verification. When generation of the population is completed, the verification group selecting unit 122 includes a spatial correlation with neighboring pixels with respect to the pixels included in the first verification group and the second verification group. The spatial correlation between the first verification group and the second verification group is selected by comparing the spatial correlation with adjacent pixels with respect to the pixels.

여기서, 공간 상관도란 특정 화소의 화소 값과 상기 특정 화소의 주변에 위치하고 있는 화소들의 화소 값 간의 상관 관계를 의미하는 것으로, 상기 특정 화소의 화소 값과 상기 주변에 위치하고 있는 화소들의 화소 값 사이의 차이가 큰 경우, 상기 특정 화소의 공간 상관도가 낮고, 상기 특정 화소의 화소 값과 상기 주변에 위치하고 있는 화소들의 화소 값 사이의 차이가 작은 경우, 상기 공간 상관도가 높다고 볼 수 있다.Here, the spatial correlation indicates a correlation between a pixel value of a specific pixel and a pixel value of pixels located in the periphery of the specific pixel. The difference between the pixel value of the specific pixel and the pixel value of the surrounding pixels The spatial correlation degree of the specific pixel is low and the spatial correlation degree is high when the difference between the pixel value of the specific pixel and the pixel value of the surrounding pixels is small.

이러한 공간 상관도가 높다는 것은 상기 특정 화소와 상기 주변에 위치하고 있는 화소들이 서로 비슷한 색상, 명도 등을 가지고 있다는 점에서, 상기 특정 화소에 대한 왜곡 정도를 측정할 때, 상기 특정 화소에 대해서 왜곡이 거의 발생하지 않았음을 의미한다고 볼 수 있다.This high spatial correlation means that the particular pixel and the pixels located around the pixel have similar colors, brightness, and the like. When measuring the degree of distortion of the particular pixel, distortion of the particular pixel is almost zero. It means that it did not occur.

반대로, 공간 상관도가 낮다는 것은 상기 특정 화소와 상기 주변에 위치하고 있는 화소들이 서로 차이가 나는 색상, 명도 등을 가지고 있다는 점에서, 상기 특정 화소에 대한 왜곡 정도를 측정할 때, 상기 특정 화소에 대해서 왜곡이 많이 발생하였음을 의미한다고 볼 수 있다.On the contrary, the low spatial correlation means that the specific pixel and the pixels located around the pixel have different colors, brightness, and the like. Therefore, when the distortion degree of the specific pixel is measured, It can be said that a lot of distortion has occurred.

따라서, 상기 제1 검증 집단과 상기 제2 검증 집단에 포함되어 있는 화소들(도면부호 320과 330에서 음영처리가 된 화소들)에 인접한 화소들(도면부호 320과 330에서 음영처리가 되어 있지 않은 화소들)은 앞서, 이미지 상에 데이터를 은닉하는 과정이나 복원하는 과정에서 어떠한 화소 값 변경이 발생하지 않았으므로, 상기 제1 검증 집단과 상기 제2 검증 집단 중 인접 화소들과의 공간 상관도가 높은 검증 집단에 포함되어 있는 화소들은 원래의 화소 값을 가지고 있는 인접 화소들과 색상이나 명도 등이 유사하므로, 다른 검증 집단에 포함되어 있는 화소들 보다 왜곡이 적게 발생하였다고 볼 수 있다.Accordingly, pixels (not shaded at 320 and 330) adjacent to pixels included in the first verification group and the second verification group (pixels shaded at reference numerals 320 and 330). Since the pixel value change has not occurred in the process of concealing or restoring data on the image, the spatial correlation between the first verification group and the neighboring pixels of the second verification group has not been changed. Since the pixels included in the high verification group have similar colors and brightness to neighboring pixels having the original pixel values, the distortions are less generated than the pixels included in the other verification groups.

이로 인해, 검증 집단 선택부(122)는 상기 제1 검증 집단과 상기 제2 검증 집단 중 상기 공간 상관도가 높은 검증 집단을 선택하고, 비트 값 선택부(123)는 상기 검증 집단에 대한 선택 결과에 기초하여 제1 복원 이미지 블록(311) 상에 은닉되어 있는 상기 데이터에 대한 비트 값을 추출할 수 있다.For this reason, the verification group selecting unit 122 selects a verification group having a high spatial correlation among the first verification group and the second verification group, and the bit value selection unit 123 selects a result of the verification group. A bit value for the data hidden on the first reconstructed image block 311 may be extracted based on the.

관련하여, 앞서, 도 2의 실시예에서는 제1 이미지 블록(211) 상에 '0'이라는 데이터의 비트 값을 은닉하기 위해, 제1 화소 그룹(231)에 포함되어 있는 화소들의 화소 값을 상기 선정된 화소 값 변경 패턴에 따라 변경하였다고 가정하였다.In relation to the above, in the embodiment of FIG. 2, the pixel values of the pixels included in the first pixel group 231 are hidden to conceal a bit value of data '0' on the first image block 211. It is assumed that the change is made according to the selected pixel value change pattern.

이때, 제1 검증 집단 생성부(120)는 상기 선정된 화소 값 변경 패턴에 따라 변경된 화소들을 포함하고 있는 제1 복원 화소 그룹(331)의 화소들에 대한 화소 값을 상기 화소 값 복원 패턴에 따라 변경한 제1 검증 집단을 생성하였으므로, 상기 제1 검증 집단에 포함된 화소들은 원래의 화소 값으로 복원되었을 것이다.In this case, the first verification group generation unit 120 may determine pixel values of the pixels of the first reconstructed pixel group 331 including the pixels changed according to the selected pixel value change pattern according to the pixel value reconstruction pattern. Since the modified first verification group is generated, the pixels included in the first verification group may be restored to original pixel values.

반면에, 제2 검증 집단 생성부(121)는 화소 값에 대한 변경이 발생하지 않은 제2 복원 화소 그룹(332)에 포함되어 있는 화소들의 화소 값을 상기 화소 값 복원 패턴에 따라 변경한 제2 검증 집단을 생성하였으므로, 상기 제2 검증 집단에 포함된 화소들은 원래의 화소 값이 아닌 왜곡된 화소 값을 가질 것이다.On the other hand, the second verification group generation unit 121 changes the pixel values of the pixels included in the second reconstructed pixel group 332 in which the change in the pixel value does not occur according to the pixel value reconstruction pattern. Since the verification population is generated, the pixels included in the second verification population will have distorted pixel values rather than the original pixel values.

따라서, 검증 집단 선택부(122)가 상기 제1 검증 집단에 포함되어 있는 화소들에 대한 인접 화소들과의 공간 상관도와 상기 제2 검증 집단에 포함되어 있는 화소들에 대한 인접 화소들과의 공간 상관도를 비교하면, 제1 검증 집단에 포함되어 있는 화소들은 원래의 화소 값으로 복원되었고, 제2 검증 집단에 포함되어 있는 화소들은 왜곡이 발생하였으므로, 제1 검증 집단에 대한 공간 상관도가 높게 나올 것이다.Therefore, the verification group selecting unit 122 performs spatial correlation with neighboring pixels with respect to the pixels included in the first verification group and with the neighboring pixels with respect to the pixels included in the second verification group. Comparing the correlations, since the pixels included in the first verification group are restored to the original pixel values, and the pixels included in the second verification group have distortion, the spatial correlation of the first verification group is high. Will come out.

이에, 검증 집단 선택부(122)는 상기 제1 검증 집단을 선택하고, 비트 값 선택부(123)는 상기 제1 검증 집단이 선택되었다는 점에서 원래 이미지의 제1 이미지 블록(211)에서 제1 화소 그룹(231)에 포함된 화소들의 화소 값이 변경되었음을 알 수 있어, 최종적으로 제1 은닉 이미지 블록(311)에 대해 '0'이라고 하는 은닉된 데이터의 비트 값을 선택할 수 있고, 이를 통해 제1 은닉 이미지 블록(311)에 은닉되어 있는 데이터의 비트 값인 '0'을 복원할 수 있다.Accordingly, the verification group selector 122 selects the first verification group, and the bit value selector 123 selects the first image from the first image block 211 of the original image in that the first verification group is selected. It can be seen that the pixel values of the pixels included in the pixel group 231 have been changed, so that a bit value of hidden data called '0' can be finally selected for the first hidden image block 311. The bit value '0' of the data hidden in the one hidden image block 311 may be restored.

이때, 본 발명의 일실시예에 따르면, 검증 집단 선택부(122)는 상기 제1 검증 집단과 상기 제2 검증 집단에 대한 공간 상관도를 비교하기 위해, 상기 제1 검증 집단에 포함되어 있는 화소들의 화소 값과 인접 화소들의 화소 값 간의 유사도 확인을 위한 소정의 제1 변이 함수(Fluctuation Function) 값을 연산하고, 상기 제2 검증 집단에 포함되어 있는 화소들의 화소 값과 인접 화소들의 화소 값 간의 유사도 확인을 위한 소정의 제2 변이 함수 값을 연산할 수 있다.In this case, according to an embodiment of the present invention, the verification group selecting unit 122 includes a pixel included in the first verification group to compare the spatial correlation between the first verification group and the second verification group. Calculating a predetermined first Fluctuation Function value for checking the similarity between the pixel value of the pixel and the pixel value of the adjacent pixels, and the similarity between the pixel value of the pixels included in the second verification group and the pixel value of the adjacent pixel. The predetermined second variation function value for confirmation may be calculated.

여기서, 상기 제1 변이 함수 값과 상기 제2 변이 함수 값의 연산은 하기의 수학식 1에 기초하여 수행될 수 있다.
Here, the calculation of the first variation function value and the second variation function value may be performed based on Equation 1 below.

Figure 112013085656514-pat00001
Figure 112013085656514-pat00001

이때, f는 상기 제1 변이 함수 값 또는 상기 제2 변이 함수 값이고, bi ,j은 제1 은닉 이미지 블록(311)에 포함된 복수의 화소들 중 상기 제1 검증 집단 또는 상기 제2 검증 집단에 포함되어 있는 화소들에 대한 (i, j) 좌표 상에 위치한 화소 값이며, ci ,j-1, ci ,j+1, ci -1,j, ci +1,j는 상기 제1 검증 집단 또는 상기 제2 검증 집단에 포함되어 있는 화소들에 인접해 있는 화소들에 대한 화소 값이다. 또한 s는 상기 제1 검증 집단 또는 상기 제2 검증 집단에 포함된 화소들의 개수이다.In this case, f is the first disparity function value or the second disparity function value, and b i , j are the first verification group or the second verification among a plurality of pixels included in the first hidden image block 311. The pixel value located on the (i, j) coordinates for the pixels included in the population, and c i , j-1 , c i , j + 1 , c i -1, j , c i +1, j are The pixel value of the pixels adjacent to the pixels included in the first verification group or the second verification group. S is the number of pixels included in the first verification group or the second verification group.

검증 집단 선택부(122)는 상기 수학식 1에 기초하여 상기 제1 변이 함수 값과 상기 제2 변이 함수 값의 연산을 완료하면, 상기 제1 변이 함수 값과 상기 제2 변이 함수 값을 비교하여 상기 제1 변이 함수 값과 상기 제2 변이 함수 값 중 작은 값의 변이 함수 값을 갖는 검증 집단을 공간 상간도가 높은 검증 집단으로 선택할 수 있다.When the verification group selection unit 122 completes the calculation of the first and second variation function values based on Equation 1, the verification group selection unit 122 compares the first and second variation function values. A verification group having a disparity function value having a smaller value among the first and second disparity function values may be selected as a verification group having a high spatial inter-degree.

즉, 상기 수학식 1에 기초한 상기 제1 변이 함수 값과 상기 제2 변이 함수 값은 상기 제1 검증 집단 또는 상기 제2 검증 집단에 포함되어 있는 화소들의 화소 값과 인접 화소들의 화소 값 사이의 차이를 연산한 함수 값이기 때문에 검증 집단 선택부(122)는 변이 함수 값이 작으면, 공간 상관도가 높은 것으로 판단하고, 변이 함수 값이 크면, 공간 상관도가 낮은 것으로 판단할 수 있다.That is, the difference between the pixel value of the pixels included in the first verification group or the second verification group and the pixel value of the adjacent pixels is determined by the first shift function value and the second shift function value based on Equation (1). Since it is a function value calculated by, the verification group selection unit 122 may determine that the spatial correlation is high when the variation function value is small and that the spatial correlation is low when the variation function value is large.

이상, 도면부호 320과 330을 참조하여, 제1 복원 이미지 블록(311)에 대해 '0'이라는 데이터의 비트 값을 복원하는 과정에 대해 설명하였지만, 복원 화소 선택부(118), 복원 화소 그룹 생성부(119), 제1 검증 집단 생성부(120), 제2 검증 집단 생성부(121) 검증 집단 선택부(123) 및 비트 값 선택부(123)는 도면부호 310에 도시되어 있는 4개의 복원 이미지 블록들 중 제1 복원 이미지 블록(311)을 제외한 나머지 3개의 복원 이미지 블록들 각각에 대해서도 도면부호 320과 330을 이용하여 설명한 방식과 동일한 방식으로 1비트의 은닉된 데이터의 비트 값을 복원 함으로써, 상기 은닉 이미지로부터 총 4비트의 은닉 데이터를 복원할 수 있다.As described above, the process of restoring the bit value of the data '0' for the first reconstructed image block 311 has been described with reference to 320 and 330. However, the reconstructed pixel selection unit 118 and the reconstructed pixel group are generated. The unit 119, the first verification group generation unit 120, the second verification group generation unit 121, the verification group selection unit 123, and the bit value selection unit 123 are four reconstructions shown in FIG. For each of the remaining three reconstructed image blocks except for the first reconstructed image block 311 among the image blocks, the bit values of the one-bit hidden data are restored in the same manner as described using reference numerals 320 and 330. A total of 4 bits of hidden data can be recovered from the hidden image.

이상, 도 3을 참조하여, 이미지 기반의 데이터 은닉 장치(110)가 은닉 이미지로부터 데이터를 복원하는 과정에 대해 설명하였다. 본 발명의 일실시예에 따르면, 이미지 기반의 데이터 은닉 장치(110)는 앞서 설명한 바와 같이, 이미지 상에 데이터를 은닉하기 위한 구성과 은닉 이미지로부터 데이터를 복원하는 구성을 모두 포함함으로써, 데이터 은닉과 복원을 모두 수행할 수 있도록 구성될 수 있다.The process of restoring data from the hidden image by the image-based data hiding apparatus 110 has been described above with reference to FIG. 3. According to an embodiment of the present invention, the image-based data hiding apparatus 110 includes both a configuration for concealing data on the image and a component for restoring data from the hidden image, as described above. It can be configured to perform both restorations.

관련하여, 이미지 기반의 데이터 은닉 장치(110)는 소정의 클라이언트 단말로부터 데이터 은닉 요청과 함께 특정 이미지와 데이터가 수신되면, 상기 이미지에 상기 데이터를 은닉하여 은닉 이미지를 생성한 후 상기 은닉 이미지를 상기 클라이언트 단말로 전송해 줄 수 있고, 추후 상기 클라이언트 단말이나 또 다른 클라이언트 단말로부터 상기 은닉 이미지에 대한 데이터 복원 요청이 수신되면, 상기 은닉 이미지로부터 상기 데이터를 복원하여 복원된 데이터를 상기 클라이언트 단말로 전송해 주도록 구성될 수 있다.In relation to this, when the image-based data hiding apparatus 110 receives a specific image and data together with a data concealment request from a predetermined client terminal, the image-based data hiding apparatus 110 generates the hidden image by concealing the data in the image. If a data restoration request for the hidden image is received from the client terminal or another client terminal later, the data is restored from the hidden image and the restored data is transmitted to the client terminal. It can be configured to give.

하지만, 본 발명의 다른 실시예에 따르면, 이미지 기반의 데이터 은닉 장치(110)는 소정의 이미지 상에 데이터를 은닉한 후 은닉 이미지를 소정의 정보 수신 단말로 전송할 수 있고, 상기 정보 수신 단말은 상기 은닉 이미지를 수신하여 상기 은닉 이미지로부터 상기 데이터를 복원하도록 구성될 수 있다.However, according to another embodiment of the present invention, the image-based data hiding apparatus 110 may transmit the hidden image to a predetermined information receiving terminal after hiding the data on a predetermined image. It may be configured to receive a hidden image and recover the data from the hidden image.

관련하여, 본 발명의 일실시예에 따르면, 이미지 기반의 데이터 은닉 장치(110)는 정보 전송부(116)를 더 포함할 수 있다.In relation to this, according to an embodiment of the present invention, the image-based data hiding apparatus 110 may further include an information transmitter 116.

정보 전송부(116)는 상기 은닉 이미지의 생성이 완료되면, 상기 은닉 이미지와 상기 은닉 이미지의 생성 과정에서 발생한 상기 인증 정보를 정보 수신 단말(미도시)로 전송한다.When the generation of the hidden image is completed, the information transmitter 116 transmits the hidden image and the authentication information generated in the process of generating the hidden image to an information receiving terminal (not shown).

이때, 상기 정보 수신 단말은 상기 인증 정보에 기초하여 앞서, 도 3을 이용하여 설명한 이미지 기반의 데이터 은닉 장치(110)가 은닉 이미지로부터 데이터를 복원하는 과정과 동일한 과정으로 상기 은닉 이미지로부터 상기 데이터를 복원할 수 있다.In this case, the information receiving terminal receives the data from the hidden image in the same process as the image-based data hiding apparatus 110 described above using FIG. 3 to restore data from the hidden image based on the authentication information. Can be restored

도 4는 본 발명의 일실시예에 따른 이미지 기반의 데이터 은닉 방법을 도시한 순서도이다.4 is a flowchart illustrating an image-based data concealment method according to an embodiment of the present invention.

단계(S410)에서는 이미지를 분할하여 적어도 하나의 이미지 블록을 생성한다.In operation S410, the image is divided to generate at least one image block.

단계(S420)에서는 상기 적어도 하나의 이미지 블록에 포함된 복수의 화소들 중에서 선정된 격자 지점 상에 위치하는 적어도 하나의 화소를 데이터 은닉에 사용될 화소로 선택한다.In operation S420, at least one pixel positioned on a selected grid point among a plurality of pixels included in the at least one image block is selected as a pixel to be used for data concealment.

이때, 본 발명의 일실시예에 따르면, 상기 선정된 격자 지점은 격자 패턴을 가지면서, 상기 적어도 하나의 이미지 블록에 포함된 복수의 화소들 중에서 상기 적어도 하나의 화소 각각을 중심으로 상하좌우 방향에 인접한 화소가 존재하지 않고, 상기 적어도 하나의 화소가 서로 이격되어 배치되도록 지정된 지점일 수 있다.In this case, according to an embodiment of the present invention, the selected grating point has a grating pattern and is disposed in the up, down, left, and right directions with respect to each of the at least one pixel among a plurality of pixels included in the at least one image block. There may be no adjacent pixels, and the at least one pixel may be designated to be spaced apart from each other.

단계(S430)에서는 상기 적어도 하나의 화소를 두 개의 화소 그룹으로 분할하여 제1 화소 그룹과 제2 화소 그룹을 생성한다.In operation S430, the at least one pixel is divided into two pixel groups to generate a first pixel group and a second pixel group.

단계(S440)에서는 은닉할 데이터의 비트 값에 기초하여 상기 제1 화소 그룹과 상기 제2 화소 그룹 중 상기 데이터 은닉에 사용될 화소 그룹을 선택한다.In operation S440, a pixel group to be used for data hiding is selected from the first pixel group and the second pixel group based on a bit value of data to be concealed.

단계(S450)에서는 상기 선택된 화소 그룹에 포함되어 있는 화소들의 화소 값을 선정된 화소 값 변경 패턴에 따라 변경하여 상기 이미지에 상기 데이터가 은닉된 은닉 이미지를 생성한다.In operation S450, pixel values of the pixels included in the selected pixel group are changed according to a predetermined pixel value change pattern to generate a hidden image in which the data is hidden.

이때, 본 발명의 일실시예에 따르면, 상기 이미지 기반의 데이터 은닉 방법은 상기 적어도 하나의 이미지 블록의 생성과 연관된 블록 생성 정보, 상기 적어도 하나의 화소의 선택과 연관된 선택 정보, 상기 제1 화소 그룹과 상기 제2 화소 그룹의 분할과 연관된 분할 정보 및 상기 선정된 화소 값 변경 패턴에 대한 정보가 포함된 인증 정보를 생성하는 단계를 더 포함할 수 있다.In this case, according to an embodiment of the present invention, the image-based data hiding method may include block generation information associated with the generation of the at least one image block, selection information associated with the selection of the at least one pixel, and the first pixel group. And generating authentication information including division information associated with division of the second pixel group and information about the selected pixel value change pattern.

또한, 본 발명의 일실시예에 따르면, 상기 이미지 기반의 데이터 은닉 방법은 상기 은닉 이미지에 은닉되어 있는 상기 데이터에 대한 복원 명령이 입력되면, 상기 인증 정보에 포함되어 있는 상기 블록 생성 정보를 기초로 상기 은닉 이미지를 분할하여 적어도 하나의 은닉 이미지 블록을 생성하는 단계, 상기 인증 정보에 포함되어 있는 상기 선택 정보에 기초하여 상기 적어도 하나의 은닉 이미지 블록에 포함된 복수의 화소들 중에서 상기 선정된 격자 지점 상에 위치하는 적어도 하나의 복원 화소를 선택하는 단계, 상기 인증 정보에 포함되어 있는 상기 분할 정보를 기초로 상기 적어도 하나의 복원 화소를 두 개의 화소 그룹으로 분할하여 제1 복원 화소 그룹과 제2 복원 화소 그룹을 생성하는 단계, 상기 적어도 하나의 복원 화소 중에서 상기 제1 복원 화소 그룹에 포함되어 있는 화소들의 화소 값을 상기 인증 정보에 포함되어 있는 상기 선정된 화소 값 변경 패턴에 대응되는 화소 값 복원 패턴에 따라 변경한 제1 검증 집단을 생성하는 단계, 상기 적어도 하나의 복원 화소 중에서 상기 제2 복원 화소 그룹에 포함되어 있는 화소들의 화소 값을 상기 화소 값 복원 패턴에 따라 변경한 제2 검증 집단을 생성하는 단계, 상기 제1 검증 집단에 포함되어 있는 화소들에 대한 인접 화소들과의 공간 상관도와 상기 제2 검증 집단에 포함되어 있는 화소들에 대한 인접 화소들과의 공간 상관도를 비교하여 상기 제1 검증 집단과 상기 제2 검증 집단 중 상기 공간 상관도가 높은 검증 집단을 선택하는 단계 및 상기 검증 집단에 대한 선택 결과에 기초하여 상기 적어도 하나의 복원 화소를 통해 은닉되어 있는 상기 데이터에 대한 비트 값을 선택하는 단계를 더 포함할 수 있다.According to an embodiment of the present invention, the image-based data hiding method is based on the block generation information included in the authentication information when a restore command for the data hidden in the hidden image is input. Generating at least one hidden image block by dividing the hidden image, wherein the selected grid point is selected from among a plurality of pixels included in the at least one hidden image block based on the selection information included in the authentication information; Selecting at least one reconstructed pixel positioned on the display; dividing the at least one reconstructed pixel into two pixel groups based on the split information included in the authentication information; Generating a pixel group, the first reconstruction of the at least one reconstructed pixel Generating a first verification group in which the pixel values of the pixels included in the pixel group are changed according to the pixel value restoration pattern corresponding to the selected pixel value change pattern included in the authentication information, wherein the at least one restoration Generating a second verification group in which the pixel values of the pixels included in the second reconstructed pixel group among the pixels are changed according to the pixel value reconstruction pattern, and adjacent pixels to the pixels included in the first verification group A correlation between the first verification group and the second verification group by comparing the spatial correlation with the neighboring pixels with respect to the pixels included in the second verification group. Selecting the data and hiding the data through the at least one reconstructed pixel based on a selection result for the verification population. The step of selecting the bit-precision value can further include about.

또한, 본 발명의 일실시예에 따르면, 상기 이미지 기반의 데이터 은닉 방법은 상기 은닉 이미지와 상기 인증 정보를 정보 수신 단말로 전송하는 단계를 더 포함할 수 있다.In addition, according to an embodiment of the present invention, the image-based data concealment method may further include transmitting the hidden image and the authentication information to an information receiving terminal.

이때, 상기 정보 수신 단말은 상기 인증 정보에 기초하여 상기 은닉 이미지로부터 상기 데이터를 복원할 수 있다.In this case, the information receiving terminal may restore the data from the hidden image based on the authentication information.

이상, 도 4를 참조하여 본 발명의 일실시예에 따른 이미지 기반의 데이터 은닉 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 이미지 기반의 데이터 은닉 방법은 도 1 내지 도 3을 이용하여 설명한 이미지 기반의 데이터 은닉 장치(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.In the above, an image-based data concealment method according to an embodiment of the present invention has been described with reference to FIG. 4. Here, the image-based data hiding method according to an embodiment of the present invention may correspond to the configuration of the operation of the image-based data hiding apparatus 110 described with reference to FIGS. 1 to 3. The description will be omitted.

본 발명의 일실시예에 따른 이미지 기반의 데이터 은닉 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Image-based data concealment method according to an embodiment of the present invention is implemented in the form of program instructions that can be executed by various computer means may be recorded on a computer readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. As described above, the present invention has been described by specific embodiments such as specific components and the like. For those skilled in the art, various modifications and variations are possible from these descriptions.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .

110: 이미지 기반의 데이터 은닉 장치
111: 블록 생성부 112: 화소 선택부
113: 그룹 생성부 114: 그룹 선택부
115: 데이터 은닉부 116: 정보 전송부
117: 은닉 이미지 블록 생성부 118: 복원 화소 선택부
119: 복원 화소 그룹 생성부 120: 제1 검증 집단 생성부
121: 제2 검증 집단 생성부 122: 검증 집단 선택부
123: 비트 값 선택부 124: 인증 정보 생성부
110: image-based data hiding device
111: block generation unit 112: pixel selection unit
113: group generator 114: group selector
115: data hiding section 116: information transmitting section
117: hidden image block generation unit 118: reconstructed pixel selection unit
119: reconstructed pixel group generation unit 120: first verification group generation unit
121: second verification group generation unit 122: verification group selection unit
123: bit value selection unit 124: authentication information generation unit

Claims (11)

이미지를 분할하여 적어도 하나의 이미지 블록을 생성하는 블록 생성부;
상기 적어도 하나의 이미지 블록에 포함된 복수의 화소들 중에서 선정된(predetermined) 격자 지점 상에 위치하는 적어도 하나의 화소를 데이터 은닉에 사용될 화소로 선택하는 화소 선택부;
상기 적어도 하나의 화소를 두 개의 화소 그룹으로 분할하여 제1 화소 그룹과 제2 화소 그룹을 생성하는 그룹 생성부;
은닉할 데이터의 비트 값에 기초하여 상기 제1 화소 그룹과 상기 제2 화소 그룹 중 상기 데이터 은닉에 사용될 화소 그룹을 선택하는 그룹 선택부;
상기 선택된 화소 그룹에 포함되어 있는 화소들의 화소 값을 선정된 화소 값 변경 패턴에 따라 변경하여 상기 이미지에 상기 데이터가 은닉된 은닉 이미지를 생성하는 데이터 은닉부;
상기 적어도 하나의 이미지 블록의 생성과 연관된 블록 생성 정보, 상기 적어도 하나의 화소의 선택과 연관된 선택 정보, 상기 제1 화소 그룹과 상기 제2 화소 그룹의 분할과 연관된 분할 정보 및 상기 선정된 화소 값 변경 패턴에 대한 정보가 포함된 인증 정보를 생성하는 인증 정보 생성부;
상기 은닉 이미지에 은닉되어 있는 상기 데이터에 대한 복원 명령이 입력되면, 상기 인증 정보에 포함되어 있는 상기 블록 생성 정보를 기초로 상기 은닉 이미지를 분할하여 적어도 하나의 은닉 이미지 블록을 생성하는 은닉 이미지 블록 생성부;
상기 인증 정보에 포함되어 있는 상기 선택 정보에 기초하여 상기 적어도 하나의 은닉 이미지 블록에 포함된 복수의 화소들 중에서 상기 선정된 격자 지점 상에 위치하는 적어도 하나의 복원 화소를 선택하는 복원 화소 선택부;
상기 인증 정보에 포함되어 있는 상기 분할 정보를 기초로 상기 적어도 하나의 복원 화소를 두 개의 화소 그룹으로 분할하여 제1 복원 화소 그룹과 제2 복원 화소 그룹을 생성하는 복원 화소 그룹 생성부;
상기 적어도 하나의 복원 화소 중에서 상기 제1 복원 화소 그룹에 포함되어 있는 화소들의 화소 값을 상기 인증 정보에 포함되어 있는 상기 선정된 화소 값 변경 패턴에 대응되는 화소 값 복원 패턴에 따라 변경한 제1 검증 집단을 생성하는 제1 검증 집단 생성부;
상기 적어도 하나의 복원 화소 중에서 상기 제2 복원 화소 그룹에 포함되어 있는 화소들의 화소 값을 상기 화소 값 복원 패턴에 따라 변경한 제2 검증 집단을 생성하는 제2 검증 집단 생성부;
상기 제1 검증 집단에 포함되어 있는 화소들에 대한 인접 화소들과의 공간 상관도(Spatial Correlation)와 상기 제2 검증 집단에 포함되어 있는 화소들에 대한 인접 화소들과의 공간 상관도를 비교하여 상기 제1 검증 집단과 상기 제2 검증 집단 중 상기 공간 상관도가 높은 검증 집단을 선택하는 검증 집단 선택부; 및
상기 검증 집단에 대한 선택 결과에 기초하여 상기 적어도 하나의 복원 화소를 통해 은닉되어 있는 상기 데이터에 대한 비트 값을 선택하는 비트 값 선택부
를 포함하는 이미지 기반의 데이터 은닉 장치.
A block generator which generates at least one image block by dividing an image;
A pixel selector for selecting at least one pixel located on a predetermined grid point among a plurality of pixels included in the at least one image block as a pixel to be used for data concealment;
A group generator for dividing the at least one pixel into two pixel groups to generate a first pixel group and a second pixel group;
A group selector which selects a pixel group to be used for the data hiding from among the first pixel group and the second pixel group based on a bit value of data to be concealed;
A data concealment unit which generates a hidden image in which the data is hidden in the image by changing pixel values of pixels included in the selected pixel group according to a predetermined pixel value change pattern;
Changing block generation information associated with the generation of the at least one image block, selection information associated with the selection of the at least one pixel, segmentation information associated with the division of the first pixel group and the second pixel group, and changing the predetermined pixel value. An authentication information generator for generating authentication information including information about the pattern;
When a restore command for the data hidden in the hidden image is input, generating a hidden image block by dividing the hidden image based on the block generation information included in the authentication information to generate at least one hidden image block. part;
A reconstructed pixel selector which selects at least one reconstructed pixel positioned on the selected grid point among a plurality of pixels included in the at least one hidden image block based on the selection information included in the authentication information;
A reconstructed pixel group generation unit configured to generate a first reconstructed pixel group and a second reconstructed pixel group by dividing the at least one reconstructed pixel into two pixel groups based on the split information included in the authentication information;
A first verification in which pixel values of pixels included in the first reconstructed pixel group among the at least one reconstructed pixel are changed according to a pixel value reconstruction pattern corresponding to the predetermined pixel value change pattern included in the authentication information; A first verification group generation unit generating a group;
A second verification group generation unit generating a second verification group in which pixel values of pixels included in the second recovery pixel group among the at least one reconstruction pixel are changed according to the pixel value recovery pattern;
Comparing the spatial correlation between the neighboring pixels for the pixels included in the first verification group and the spatial correlation between the neighboring pixels for the pixels included in the second verification group A verification group selecting unit selecting a verification group having a high spatial correlation among the first verification group and the second verification group; And
A bit value selection unit for selecting a bit value for the data concealed through the at least one reconstructed pixel based on a selection result for the verification population
Image-based data concealment device comprising a.
제1항에 있어서,
상기 선정된 격자 지점은
격자 패턴을 가지면서, 상기 적어도 하나의 이미지 블록에 포함된 복수의 화소들 중에서 상기 적어도 하나의 화소 각각을 중심으로 상하좌우 방향에 인접한 화소가 존재하지 않고, 상기 적어도 하나의 화소가 서로 이격되어 배치되도록 지정된 지점인 이미지 기반의 데이터 은닉 장치.
The method of claim 1,
The selected grid point is
Having a lattice pattern, there is no pixel adjacent to each of the at least one pixel among the plurality of pixels included in the at least one image block, and the at least one pixel is spaced apart from each other. Image-based data hiding device that is a specified point.
삭제delete 삭제delete 제1항에 있어서,
상기 은닉 이미지와 상기 인증 정보를 정보 수신 단말로 전송하는 정보 전송부
를 더 포함하고,
상기 정보 수신 단말은
상기 인증 정보에 기초하여 상기 은닉 이미지로부터 상기 데이터를 복원하는 이미지 기반의 데이터 은닉 장치.
The method of claim 1,
Information transmitting unit for transmitting the hidden image and the authentication information to the information receiving terminal
Further comprising:
The information receiving terminal
And an image-based data hiding apparatus for restoring the data from the hidden image based on the authentication information.
이미지를 분할하여 적어도 하나의 이미지 블록을 생성하는 단계;
상기 적어도 하나의 이미지 블록에 포함된 복수의 화소들 중에서 선정된(predetermined) 격자 지점 상에 위치하는 적어도 하나의 화소를 데이터 은닉에 사용될 화소로 선택하는 단계;
상기 적어도 하나의 화소를 두 개의 화소 그룹으로 분할하여 제1 화소 그룹과 제2 화소 그룹을 생성하는 단계;
은닉할 데이터의 비트 값에 기초하여 상기 제1 화소 그룹과 상기 제2 화소 그룹 중 상기 데이터 은닉에 사용될 화소 그룹을 선택하는 단계;
상기 선택된 화소 그룹에 포함되어 있는 화소들의 화소 값을 선정된 화소 값 변경 패턴에 따라 변경하여 상기 이미지에 상기 데이터가 은닉된 은닉 이미지를 생성하는 단계;
상기 적어도 하나의 이미지 블록의 생성과 연관된 블록 생성 정보, 상기 적어도 하나의 화소의 선택과 연관된 선택 정보, 상기 제1 화소 그룹과 상기 제2 화소 그룹의 분할과 연관된 분할 정보 및 상기 선정된 화소 값 변경 패턴에 대한 정보가 포함된 인증 정보를 생성하는 단계;
상기 은닉 이미지에 은닉되어 있는 상기 데이터에 대한 복원 명령이 입력되면, 상기 인증 정보에 포함되어 있는 상기 블록 생성 정보를 기초로 상기 은닉 이미지를 분할하여 적어도 하나의 은닉 이미지 블록을 생성하는 단계;
상기 인증 정보에 포함되어 있는 상기 선택 정보에 기초하여 상기 적어도 하나의 은닉 이미지 블록에 포함된 복수의 화소들 중에서 상기 선정된 격자 지점 상에 위치하는 적어도 하나의 복원 화소를 선택하는 단계;
상기 인증 정보에 포함되어 있는 상기 분할 정보를 기초로 상기 적어도 하나의 복원 화소를 두 개의 화소 그룹으로 분할하여 제1 복원 화소 그룹과 제2 복원 화소 그룹을 생성하는 단계;
상기 적어도 하나의 복원 화소 중에서 상기 제1 복원 화소 그룹에 포함되어 있는 화소들의 화소 값을 상기 인증 정보에 포함되어 있는 상기 선정된 화소 값 변경 패턴에 대응되는 화소 값 복원 패턴에 따라 변경한 제1 검증 집단을 생성하는 단계;
상기 적어도 하나의 복원 화소 중에서 상기 제2 복원 화소 그룹에 포함되어 있는 화소들의 화소 값을 상기 화소 값 복원 패턴에 따라 변경한 제2 검증 집단을 생성하는 단계;
상기 제1 검증 집단에 포함되어 있는 화소들에 대한 인접 화소들과의 공간 상관도(Spatial Correlation)와 상기 제2 검증 집단에 포함되어 있는 화소들에 대한 인접 화소들과의 공간 상관도를 비교하여 상기 제1 검증 집단과 상기 제2 검증 집단 중 상기 공간 상관도가 높은 검증 집단을 선택하는 단계; 및
상기 검증 집단에 대한 선택 결과에 기초하여 상기 적어도 하나의 복원 화소를 통해 은닉되어 있는 상기 데이터에 대한 비트 값을 선택하는 단계
를 포함하는 이미지 기반의 데이터 은닉 방법.
Dividing the image to generate at least one image block;
Selecting at least one pixel located on a predetermined grid point among a plurality of pixels included in the at least one image block as a pixel to be used for data concealment;
Dividing the at least one pixel into two pixel groups to generate a first pixel group and a second pixel group;
Selecting a pixel group to be used for concealing the data among the first pixel group and the second pixel group based on a bit value of data to be concealed;
Generating a hidden image in which the data is hidden in the image by changing pixel values of pixels included in the selected pixel group according to a predetermined pixel value change pattern;
Changing block generation information associated with the generation of the at least one image block, selection information associated with the selection of the at least one pixel, segmentation information associated with the division of the first pixel group and the second pixel group, and changing the predetermined pixel value. Generating authentication information including information about the pattern;
Generating at least one hidden image block by dividing the hidden image based on the block generation information included in the authentication information when a restoration command for the data hidden in the hidden image is input;
Selecting at least one reconstructed pixel located on the selected grid point among a plurality of pixels included in the at least one hidden image block based on the selection information included in the authentication information;
Generating a first reconstructed pixel group and a second reconstructed pixel group by dividing the at least one reconstructed pixel into two pixel groups based on the split information included in the authentication information;
A first verification in which pixel values of pixels included in the first reconstructed pixel group among the at least one reconstructed pixel are changed according to a pixel value reconstruction pattern corresponding to the predetermined pixel value change pattern included in the authentication information; Creating a population;
Generating a second verification group in which pixel values of pixels included in the second reconstructed pixel group among the at least one reconstructed pixel are changed according to the pixel value reconstruction pattern;
Comparing the spatial correlation between the neighboring pixels for the pixels included in the first verification group and the spatial correlation between the neighboring pixels for the pixels included in the second verification group Selecting a verification group having high spatial correlation among the first verification group and the second verification group; And
Selecting a bit value for the data concealed through the at least one reconstructed pixel based on a selection result for the verification population
Image-based data concealment method comprising a.
제6항에 있어서,
상기 선정된 격자 지점은
격자 패턴을 가지면서, 상기 적어도 하나의 이미지 블록에 포함된 복수의 화소들 중에서 상기 적어도 하나의 화소 각각을 중심으로 상하좌우 방향에 인접한 화소가 존재하지 않고, 상기 적어도 하나의 화소가 서로 이격되어 배치되도록 지정된 지점인 이미지 기반의 데이터 은닉 방법.
The method according to claim 6,
The selected grid point is
Having a lattice pattern, there is no pixel adjacent to each of the at least one pixel among the plurality of pixels included in the at least one image block, and the at least one pixel is spaced apart from each other. Image-based data hiding method, which is a specified point.
삭제delete 삭제delete 제6항에 있어서,
상기 은닉 이미지와 상기 인증 정보를 정보 수신 단말로 전송하는 단계
를 더 포함하고,
상기 정보 수신 단말은
상기 인증 정보에 기초하여 상기 은닉 이미지로부터 상기 데이터를 복원하는 이미지 기반의 데이터 은닉 방법.
The method according to claim 6,
Transmitting the hidden image and the authentication information to an information receiving terminal.
Further comprising:
The information receiving terminal
And image-based data hiding method for restoring the data from the hidden image based on the authentication information.
제6항, 제7항 또는 제10항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium having recorded thereon a program for performing the method of any one of claims 6, 7, or 10.
KR1020130112485A 2013-09-23 2013-09-23 Image based data hiding device and method Expired - Fee Related KR101354609B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130112485A KR101354609B1 (en) 2013-09-23 2013-09-23 Image based data hiding device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130112485A KR101354609B1 (en) 2013-09-23 2013-09-23 Image based data hiding device and method

Publications (1)

Publication Number Publication Date
KR101354609B1 true KR101354609B1 (en) 2014-01-23

Family

ID=50146241

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130112485A Expired - Fee Related KR101354609B1 (en) 2013-09-23 2013-09-23 Image based data hiding device and method

Country Status (1)

Country Link
KR (1) KR101354609B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101512739B1 (en) * 2014-11-14 2015-04-16 동국대학교 산학협력단 Data concealment apparatus and method using an error correction code
KR101783440B1 (en) 2016-11-08 2017-09-29 동국대학교 산학협력단 Data hiding apparatus and method for minimizing data restoration error
KR101837939B1 (en) * 2016-10-18 2018-03-13 주식회사 한글과컴퓨터 Method of recording water mark to document and device thereof and document recorded water mark
KR20210001126A (en) 2019-06-27 2021-01-06 경일대학교산학협력단 Apparatus for hiding data using multimedia contents in document file and method therefore
WO2025064019A3 (en) * 2023-05-24 2025-06-26 The Regents Of The University Of Michigan Real-time protection for mobile devices from shoulder surfing

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020019292A (en) * 2000-09-05 2002-03-12 구자홍 Still picture watermarking method
JP2003209678A (en) 2002-01-10 2003-07-25 Canon Inc Information processing apparatus and control method thereof
JP2009141554A (en) 2007-12-05 2009-06-25 Osaka Prefecture Univ Digital watermark embedding method, digital watermark embedding apparatus and digital watermark detection apparatus
KR20100127975A (en) * 2009-05-27 2010-12-07 부경대학교 산학협력단 Method of concealing geographic information in image data and a computer-readable recording medium storing a geographic information hiding program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020019292A (en) * 2000-09-05 2002-03-12 구자홍 Still picture watermarking method
JP2003209678A (en) 2002-01-10 2003-07-25 Canon Inc Information processing apparatus and control method thereof
JP2009141554A (en) 2007-12-05 2009-06-25 Osaka Prefecture Univ Digital watermark embedding method, digital watermark embedding apparatus and digital watermark detection apparatus
KR20100127975A (en) * 2009-05-27 2010-12-07 부경대학교 산학협력단 Method of concealing geographic information in image data and a computer-readable recording medium storing a geographic information hiding program

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101512739B1 (en) * 2014-11-14 2015-04-16 동국대학교 산학협력단 Data concealment apparatus and method using an error correction code
US9864862B2 (en) 2014-11-14 2018-01-09 Dongguk University Industry-Academic Cooperation Foundation Data concealment apparatus and method using an error correction code
KR101837939B1 (en) * 2016-10-18 2018-03-13 주식회사 한글과컴퓨터 Method of recording water mark to document and device thereof and document recorded water mark
KR101783440B1 (en) 2016-11-08 2017-09-29 동국대학교 산학협력단 Data hiding apparatus and method for minimizing data restoration error
KR20210001126A (en) 2019-06-27 2021-01-06 경일대학교산학협력단 Apparatus for hiding data using multimedia contents in document file and method therefore
WO2025064019A3 (en) * 2023-05-24 2025-06-26 The Regents Of The University Of Michigan Real-time protection for mobile devices from shoulder surfing

Similar Documents

Publication Publication Date Title
Gutub Boosting image watermarking authenticity spreading secrecy from counting‐based secret‐sharing
Liao et al. Reversible data hiding in encrypted images based on absolute mean difference of multiple neighboring pixels
KR101354609B1 (en) Image based data hiding device and method
Celik et al. Hierarchical watermarking for secure image authentication with localization
Wang et al. A majority-voting based watermarking scheme for color image tamper detection and recovery
Wang et al. Reversible fragile watermarking for 2-D vector map authentication with localization
CN107689026B (en) Reversible Steganography Method Based on Optimal Coding
US10607312B2 (en) Method and apparatus for publishing locational copyrighted watermarking video
Liu et al. An invisible and robust watermarking scheme using convolutional neural networks
CN106228502B (en) The digital watermark embedding and extracting method of satellite remote-sensing image tiff file
CN112613001A (en) Method for realizing integrity authentication of convolutional neural network through reversible watermark
Cheung et al. A sequential quantization strategy for data embedding and integrity verification
CN102073978B (en) Method and system for identifying and recovering digital images by utilizing irregular region segmentation
Mathew et al. Reversible data hiding in encrypted images by active block exchange and room reservation
JP2018527847A (en) Digital video content security authentication method and system
Ernawan et al. A blind recovery technique with integer wavelet transforms in image watermarking
KR101472495B1 (en) Data hiding device and method for information security
CN116523725A (en) Watermark processing method and device of neural network model
Ni et al. Pinpoint authentication watermarking based on a chaotic system
Huang et al. Convolutional neural networks tamper detection and location based on fragile watermarking
KR20120055070A (en) System and method for lossless digital watermarking for image integrity
KR102438102B1 (en) Apparatus, method, computer-readable storage medium and computer program for encrypting information using image steganography
CN117094871B (en) Image watermark processing method, device, electronic equipment and storage medium
CN106228503B (en) The digital watermark embedding and extracting method of satellite remote-sensing image SHP dot files
KR101383639B1 (en) Image block selection based data hiding device and method

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

PA0302 Request for accelerated examination

St.27 status event code: A-1-2-D10-D17-exm-PA0302

St.27 status event code: A-1-2-D10-D16-exm-PA0302

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

FPAY Annual fee payment

Payment date: 20161102

Year of fee payment: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

FPAY Annual fee payment

Payment date: 20171107

Year of fee payment: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

FPAY Annual fee payment

Payment date: 20181206

Year of fee payment: 6

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20210117

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20210117