[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR102328054B1 - Electronic device that provides object protection function for maintaining the original data of object embedded in electronic document and operating method thereof - Google Patents

Electronic device that provides object protection function for maintaining the original data of object embedded in electronic document and operating method thereof Download PDF

Info

Publication number
KR102328054B1
KR102328054B1 KR1020200056901A KR20200056901A KR102328054B1 KR 102328054 B1 KR102328054 B1 KR 102328054B1 KR 1020200056901 A KR1020200056901 A KR 1020200056901A KR 20200056901 A KR20200056901 A KR 20200056901A KR 102328054 B1 KR102328054 B1 KR 102328054B1
Authority
KR
South Korea
Prior art keywords
data
nxk
matrix
pixels
password
Prior art date
Application number
KR1020200056901A
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 KR1020200056901A priority Critical patent/KR102328054B1/en
Application granted granted Critical
Publication of KR102328054B1 publication Critical patent/KR102328054B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • G06F2221/0722

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

전자 문서에 삽입되어 있는 개체의 원본 데이터 유지를 위한 개체 보호 기능을 제공하는 전자 장치 및 그 동작 방법이 개시된다. 본 발명에 따른 전자 장치 및 그 동작 방법은 사용자로부터 전자 문서에 삽입되어 있는 복수의 개체들 중 특정 개체에 대한 개체 보호 명령이 수신되면, 상기 개체를 상기 개체에 대한 캡쳐 이미지인 개체 이미지로 변환하고, 상기 개체 이미지를 구성하는 화소들 각각에 대한 알파값을 이용하여 상기 개체 이미지에 상기 개체를 구성하는 원본 데이터를 은닉함으로써, 전자 문서에 삽입되어 있는 개체에 대한 변형이 불가능하도록 할 수 있다.Disclosed are an electronic device that provides an object protection function for maintaining original data of an object inserted in an electronic document, and an operating method thereof. An electronic device and an operating method thereof according to the present invention, when receiving an object protection command for a specific object among a plurality of objects inserted in an electronic document from a user, converts the object into an object image that is a captured image of the object, , by hiding the original data constituting the object in the object image by using the alpha value of each of the pixels constituting the object image, it is possible to prevent the object inserted in the electronic document from being deformed.

Description

전자 문서에 삽입되어 있는 개체의 원본 데이터 유지를 위한 개체 보호 기능을 제공하는 전자 장치 및 그 동작 방법{ELECTRONIC DEVICE THAT PROVIDES OBJECT PROTECTION FUNCTION FOR MAINTAINING THE ORIGINAL DATA OF OBJECT EMBEDDED IN ELECTRONIC DOCUMENT AND OPERATING METHOD THEREOF}ELECTRONIC DEVICE THAT PROVIDES OBJECT PROTECTION FUNCTION FOR MAINTAINING THE ORIGINAL DATA OF OBJECT EMBEDDED IN ELECTRONIC DOCUMENT AND OPERATING METHOD THEREOF

본 발명은 전자 문서에 삽입되어 있는 개체의 원본 데이터 유지를 위한 개체 보호 기능을 제공하는 전자 장치 및 그 동작 방법에 대한 것이다.The present invention relates to an electronic device that provides an object protection function for maintaining original data of an object inserted in an electronic document, and an operating method thereof.

스테가노그래피(Steganography)란, 소정의 기밀 정보를 문서 파일, 이미지 파일, 오디오 파일 또는 비디오 파일 등과 같은 다양한 유형의 매체 속에 삽입하는 기술을 의미한다.Steganography refers to a technique for inserting predetermined confidential information into various types of media, such as a document file, an image file, an audio file, or a video file.

이러한 스테가노그래피 기술 중에서는 이미지 상에 소정의 데이터를 삽입하는 기술이 주로 활용된다.Among these steganography techniques, a technique for inserting predetermined data onto an image is mainly used.

관련해서, 기존에는 이미지 상에 소정의 데이터를 삽입하기 위해, 이미지를 구성하는 RGB 값을 변형시키는 기법을 사용하였는데, RGB 값은 이미지의 색상을 빨간색, 초록색, 파란색을 이용하여 각각에 대해 수치로 표현한 값이므로, 이미지를 구성하는 RGB 값을 변형시킬 경우, 원본 이미지에 과도한 손상을 일으킬 수 있다는 문제가 있었다.In relation to this, in the past, in order to insert predetermined data into an image, a technique of transforming the RGB values constituting the image was used. Since it is an expressed value, there was a problem that excessive damage to the original image could be caused if the RGB values constituting the image were transformed.

한편, 이미지에는 투명도를 표상하는 알파값이 존재하는데, 이러한 알파값은 이미지의 색상과의 관련성이 낮기 때문에, 상기 알파값을 이용하여 이미지 상에 데이터를 삽입할 수 있다면, 원본 이미지에 과도한 손상을 일으키지 않고, 데이터를 삽입하는 것이 가능할 수 있다.On the other hand, there is an alpha value representing transparency in the image. Since this alpha value has a low correlation with the color of the image, if data can be inserted into the image using the alpha value, excessive damage to the original image is caused. It may be possible to insert data without causing

최근에, 전자 문서에 삽입되어 있는 중요 데이터가 임의로 조작되는 사례가 다수 발생하고 있는데, 문서의 편집 권한이 없는 자에 의해 전자 문서 내 데이터가 조작되는 것을 막기 위한 방안으로 스테가노그래피 기술이 활용될 수 있다.Recently, there are many cases in which important data inserted in an electronic document is arbitrarily manipulated. Steganography technology can be utilized as a way to prevent data in an electronic document from being manipulated by a person who does not have the right to edit the document. can

구체적으로, 전자 문서에 삽입된 도형, 표, 차트 등과 같은 개체를 상기 개체에 대한 캡쳐 이미지인 개체 이미지로 변환하고, 상기 개체를 구성하는 데이터를 상기 개체 이미지에 삽입함으로써, 상기 개체를 구성하는 데이터의 편집을 불가능하게 하여 개체를 보호할 수 있는 기능이 있다면, 전자 문서의 보안성을 강화할 수 있을 것이다.Specifically, data constituting the object by converting an object such as a figure, table, chart, etc. inserted in an electronic document into an object image that is a captured image of the object, and inserting data constituting the object into the object image If there is a function to protect the object by disabling the editing of the electronic document, the security of the electronic document can be strengthened.

따라서, 전자 문서에 삽입되어 있는 개체의 원본 데이터 유지를 위한 개체 보호 기술에 대한 연구가 필요하다.Therefore, there is a need for research on object protection technology for maintaining original data of objects inserted in electronic documents.

본 발명에 따른 전자 장치 및 그 동작 방법은 사용자로부터 전자 문서에 삽입되어 있는 복수의 개체들 중 특정 개체에 대한 개체 보호 명령이 수신되면, 상기 개체를 상기 개체에 대한 캡쳐 이미지인 개체 이미지로 변환하고, 상기 개체 이미지를 구성하는 화소들 각각에 대한 알파값을 이용하여 상기 개체 이미지에 상기 개체를 구성하는 원본 데이터를 은닉함으로써, 전자 문서에 삽입되어 있는 개체에 대한 변형이 불가능하도록 한다.An electronic device and an operating method thereof according to the present invention, when receiving an object protection command for a specific object among a plurality of objects inserted in an electronic document from a user, converts the object into an object image that is a captured image of the object, , by hiding the original data constituting the object in the object image by using the alpha value of each of the pixels constituting the object image, so that the object inserted in the electronic document cannot be modified.

본 발명의 일실시예에 따른 전자 문서에 삽입되어 있는 개체의 원본 데이터 유지를 위한 개체 보호 기능을 제공하는 전자 장치는 사용자로부터 전자 문서에 삽입되어 있는 복수의 개체들 중 제1 개체에 대한 개체 보호 명령이 수신되면, 상기 제1 개체를 상기 제1 개체에 대한 캡쳐 이미지인 제1 개체 이미지 - 상기 제1 개체 이미지는 세로 n(n은 2이상의 자연수)개, 가로 k(k는 2이상의 자연수)개의 n x k개의 화소들로 구성됨 - 로 변환하는 개체 이미지 변환부, 상기 제1 개체를 구성하는 원본 데이터를 7비트 단위의 부분 데이터들로 그룹화하여 복수의 데이터 그룹들을 생성하는 데이터 그룹부 및 상기 n x k개의 화소들 각각에 대한 알파값 - 상기 알파값은 8비트의 데이터 크기를 갖는 비트열로 구성되며, 각 화소의 투명도를 나타내는 화소값임 - 을 구성하는 8개의 자리 중 첫 번째 자리에 1의 코드를 할당하고, 나머지 7개의 자리에 각 데이터 그룹에 속하는 부분 데이터를 구성하는 코드를 하나씩 할당함으로써, 상기 제1 개체 이미지에 상기 원본 데이터를 삽입하는 데이터 삽입부를 포함한다.An electronic device providing an object protection function for maintaining original data of an object inserted in an electronic document according to an embodiment of the present invention protects a first object among a plurality of objects inserted in an electronic document from a user When a command is received, the first object is a first object image that is a capture image of the first object - The first object image is n vertically (n is a natural number greater than or equal to 2), horizontal k (k is a natural number greater than or equal to 2) Consisting of nxk pixels - an object image conversion unit that converts into A code of 1 is assigned to the first digit among 8 digits constituting the alpha value for each pixel - the alpha value is composed of a bit string having a data size of 8 bits, and is a pixel value representing the transparency of each pixel and a data inserter for inserting the original data into the first object image by allocating codes constituting partial data belonging to each data group to the remaining seven positions one by one.

또한, 본 발명의 일실시예에 따른 전자 문서에 삽입되어 있는 개체의 원본 데이터 유지를 위한 개체 보호 기능을 제공하는 전자 장치의 동작 방법은 사용자로부터 전자 문서에 삽입되어 있는 복수의 개체들 중 제1 개체에 대한 개체 보호 명령이 수신되면, 상기 제1 개체를 상기 제1 개체에 대한 캡쳐 이미지인 제1 개체 이미지 - 상기 제1 개체 이미지는 세로 n개, 가로 k개의 n x k개의 화소들로 구성됨 - 로 변환하는 단계, 상기 제1 개체를 구성하는 원본 데이터를 7비트 단위의 부분 데이터들로 그룹화하여 복수의 데이터 그룹들을 생성하는 단계 및 상기 n x k개의 화소들 각각에 대한 알파값 - 상기 알파값은 8비트의 데이터 크기를 갖는 비트열로 구성되며, 각 화소의 투명도를 나타내는 화소값임 - 을 구성하는 8개의 자리 중 첫 번째 자리에 1의 코드를 할당하고, 나머지 7개의 자리에 각 데이터 그룹에 속하는 부분 데이터를 구성하는 코드를 하나씩 할당함으로써, 상기 제1 개체 이미지에 상기 원본 데이터를 삽입하는 단계를 포함한다.In addition, according to an embodiment of the present invention, a method of operating an electronic device that provides an object protection function for maintaining original data of an object inserted in an electronic document according to an embodiment of the present invention includes a first method among a plurality of objects inserted in an electronic document from a user. When the object protection command for the object is received, the first object is a first object image that is a capture image of the first object, the first object image is composed of n vertical and k horizontal nxk pixels. converting, generating a plurality of data groups by grouping the original data constituting the first object into 7-bit unit partial data, and an alpha value for each of the nxk pixels - the alpha value is 8 bits It is composed of a bit string having a data size of and inserting the original data into the first object image by allocating codes constituting the .

본 발명에 따른 전자 장치 및 그 동작 방법은 사용자로부터 전자 문서에 삽입되어 있는 복수의 개체들 중 특정 개체에 대한 개체 보호 명령이 수신되면, 상기 개체를 상기 개체에 대한 캡쳐 이미지인 개체 이미지로 변환하고, 상기 개체 이미지를 구성하는 화소들 각각에 대한 알파값을 이용하여 상기 개체 이미지에 상기 개체를 구성하는 원본 데이터를 은닉함으로써, 전자 문서에 삽입되어 있는 개체에 대한 변형이 불가능하도록 할 수 있다An electronic device and an operating method thereof according to the present invention, when receiving an object protection command for a specific object among a plurality of objects inserted in an electronic document from a user, converts the object into an object image that is a captured image of the object, , by hiding the original data constituting the object in the object image by using the alpha value of each of the pixels constituting the object image, it is possible to make the object inserted in the electronic document impossible to be deformed.

도 1은 본 발명의 일실시예에 따른 전자 문서에 삽입되어 있는 개체의 원본 데이터 유지를 위한 개체 보호 기능을 제공하는 전자 장치의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 전자 문서에 삽입되어 있는 개체의 원본 데이터 유지를 위한 개체 보호 기능을 제공하는 전자 장치를 설명하기 위한 도면이다.
도 3은 본 발명의 일실시예에 따른 전자 문서에 삽입되어 있는 개체의 원본 데이터 유지를 위한 개체 보호 기능을 제공하는 전자 장치의 동작 방법을 도시한 순서도이다.
1 is a diagram illustrating a structure of an electronic device that provides an object protection function for maintaining original data of an object inserted in an electronic document according to an embodiment of the present invention.
FIG. 2 is a diagram for explaining an electronic device that provides an object protection function for maintaining original data of an object inserted in an electronic document according to an embodiment of the present invention.
3 is a flowchart illustrating an operation method of an electronic device that provides an object protection function for maintaining original data of an object inserted in an electronic document according to an embodiment of the present invention.

이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings. These descriptions are not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. While describing each drawing, like reference numerals are used for similar components, and unless otherwise defined, all terms used in this specification, including technical or scientific terms, refer to those of ordinary skill in the art to which the present invention belongs. It has the same meaning as is commonly understood by those who have it.

본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다. In this document, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated. In addition, in various embodiments of the present invention, each of the components, functional blocks or means may be composed of one or more sub-components, and the electrical, electronic, and mechanical functions performed by each component are electronic. A circuit, an integrated circuit, an ASIC (Application Specific Integrated Circuit), etc. may be implemented with various well-known devices or mechanical elements, and may be implemented separately or two or more may be integrated into one.

한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.On the other hand, the blocks in the accompanying block diagram or steps in the flowchart are computer program instructions that are loaded in a processor or memory of equipment capable of data processing, such as a general-purpose computer, a special-purpose computer, a portable notebook computer, and a network computer, and perform specified functions. can be interpreted as meaning Since these computer program instructions may be stored in a memory provided in a computer device or in a memory readable by a computer, the functions described in the blocks of the block diagrams or the steps of the flowcharts are produced as articles of manufacture containing instruction means for performing the same. could be In addition, each block or each step may represent a module, segment, or portion of code comprising one or more executable instructions for executing the specified logical function(s). It should also be noted that, in some alternative embodiments, it is also possible for the functions recited in blocks or steps to be executed out of the prescribed order. For example, two blocks or steps shown one after another may be performed substantially simultaneously or in the reverse order, and in some cases, some blocks or steps may be omitted.

도 1은 본 발명의 일실시예에 따른 전자 문서에 삽입되어 있는 개체의 원본 데이터 유지를 위한 개체 보호 기능을 제공하는 전자 장치의 구조를 도시한 도면이다. 1 is a diagram illustrating a structure of an electronic device that provides an object protection function for maintaining original data of an object inserted in an electronic document according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일실시예에 따른 전자 문서에 삽입되어 있는 개체의 원본 데이터 유지를 위한 개체 보호 기능을 제공하는 전자 장치(110)는 개체 이미지 변환부(111), 데이터 그룹부(112) 및 데이터 삽입부(113)를 포함한다. Referring to FIG. 1 , an electronic device 110 that provides an object protection function for maintaining original data of an object inserted in an electronic document according to an embodiment of the present invention includes an object image conversion unit 111 and a data group unit. 112 and a data insertion unit 113 .

개체 이미지 변환부(111)는 사용자로부터 전자 문서에 삽입되어 있는 복수의 개체들 중 제1 개체에 대한 개체 보호 명령이 수신되면, 상기 제1 개체를 상기 제1 개체에 대한 캡쳐 이미지인 제1 개체 이미지로 변환한다.The object image conversion unit 111 is configured to convert the first object to a first object that is a captured image of the first object when an object protection command for a first object among a plurality of objects inserted in the electronic document is received from the user. Convert to image.

여기서, 상기 복수의 개체들에는 도형, 표, 차트(chart) 등이 포함될 수 있고, 개체 보호란, 각 개체를 구성하는 데이터가 편집될 수 없는 상태로 유지됨에 따라 개체가 보호되는 것을 의미한다. 또한, 상기 제1 개체 이미지는 세로 n(n은 2이상의 자연수)개, 가로 k(k는 2이상의 자연수)개의 n x k개의 화소들로 구성된다.Here, the plurality of objects may include a figure, a table, a chart, etc., and object protection means that the object is protected as data constituting each object is maintained in a non-editable state. Also, the first object image includes n vertical (n is a natural number greater than or equal to 2) and k horizontal (k is a natural number greater than or equal to 2) n x k pixels.

예컨대, 도 2를 참조하면, 개체 이미지 변환부(111)는 사용자로부터 전자 문서에 삽입되어 있는 복수의 개체들 중 '차트'(211)에 대한 개체 보호 명령이 수신되는 경우, '차트'(211)를 '차트'(211)에 대한 캡쳐 이미지인 '차트 이미지'(210)로 변환할 수 있다.For example, referring to FIG. 2 , the object image conversion unit 111 receives an object protection command for a 'chart' 211 among a plurality of objects inserted in an electronic document from a user, the 'chart' 211 . ) may be converted into a 'chart image' 210 that is a captured image for the 'chart' 211 .

데이터 그룹부(112)는 상기 제1 개체를 구성하는 원본 데이터를 7비트 단위의 부분 데이터들로 그룹화하여 복수의 데이터 그룹들을 생성한다.The data group unit 112 creates a plurality of data groups by grouping the original data constituting the first object into partial data of 7-bit units.

예컨대, 개체 이미지 변환부(111)를 통해 '차트'(211)가 '차트 이미지'(210)로 변환되었고, '차트'(211)를 구성하는 원본 데이터가 '11010110010100100101111101001001011000100011101'이라고 가정하면, 데이터 그룹부(112)는 '차트'(211)를 구성하는 원본 데이터인 '11010110010100100101111101001001011000100011101'을 7비트 단위의 부분 데이터들로 그룹화하여 하기의 표 1과 같은 복수의 데이터 그룹들을 생성할 수 있다.For example, assuming that the 'chart' 211 is converted into a 'chart image' 210 through the object image conversion unit 111 and the original data constituting the 'chart' 211 is '11010110010100100101111101001001011000100011101', the data group The unit 112 groups '11010110010100100101111101001001011000100011101', which is the original data constituting the 'chart' 211, into 7-bit partial data to generate a plurality of data groups as shown in Table 1 below.

복수의 데이터 그룹들multiple data groups 데이터 data
그룹 1group 1
데이터 data
그룹 2group 2
데이터 data
그룹 3group 3
데이터 data
그룹 4group 4
데이터 data
그룹 5group 5
데이터 data
그룹 6group 6
데이터 data
그룹 7group 7
부분 데이터partial data
(7비트)(7 bits)
1One 00 1One 1One 1One 00 1One
1One 00 00 1One 00 00 1One 00 1One 00 1One 00 00 1One 1One 00 1One 00 1One 1One 00 00 1One 00 1One 00 00 1One 1One 00 1One 00 1One 00 1One 00 1One 00 1One 00

데이터 삽입부(113)는 상기 n x k개의 화소들 각각에 대한 알파값을 구성하는 8개의 자리 중 첫 번째 자리에 1의 코드를 할당하고, 나머지 7개의 자리에 각 데이터 그룹에 속하는 부분 데이터를 구성하는 코드를 하나씩 할당함으로써, 상기 제1 개체 이미지에 상기 원본 데이터를 삽입한다.The data insertion unit 113 assigns a code of 1 to the first digit among 8 digits constituting the alpha value for each of the nxk pixels, and configures partial data belonging to each data group to the remaining 7 digits. By assigning codes one by one, the original data is inserted into the first object image.

여기서, 상기 알파값은 8비트의 데이터 크기를 갖는 비트열로 구성되며, 각 화소의 투명도를 나타내는 화소값이다. Here, the alpha value is composed of a bit string having a data size of 8 bits, and is a pixel value indicating transparency of each pixel.

관련해서, 상기 제1 개체 이미지가 RGBA 색상 모드로 설정되어 있는 경우에, 상기 제1 개체 이미지를 구성하는 각 화소의 화소값은 ALPHA 채널, RED 채널, GREEN 채널 및 BLUE 채널 각각에 대해 할당되는 수치들의 집합을 의미할 수 있고, 각 채널은 0부터 255까지의 수치를 가짐으로써 화소마다 서로 다른 색상으로 표현될 수 있다. 구체적으로, ALPHA 채널의 색상 값인 알파값은 수치가 0에 가까울수록 투명한 색상을 나타내고, 255에 가까울수록 불투명한 색상을 나타낸다.In this regard, when the first object image is set to the RGBA color mode, the pixel value of each pixel constituting the first object image is a numerical value assigned to each of the ALPHA channel, the RED channel, the GREEN channel, and the BLUE channel. may mean a set of values, and each channel has a number from 0 to 255, so that each pixel can be expressed in a different color. Specifically, the alpha value, which is the color value of the ALPHA channel, represents a transparent color as the value is closer to 0, and an opaque color as it approaches 255.

이때, 본 발명의 일실시예에 따르면, 데이터 삽입부(113)는 그룹 번호 매칭부(114), 데이터 삽입 처리부(115), 행렬 생성부(116), 연산 행렬 생성부(117), 비밀번호 설정 메시지 표시부(118), 비밀번호 기록부(119) 및 테이블 삽입부(120)를 포함할 수 있다.At this time, according to an embodiment of the present invention, the data insertion unit 113 includes a group number matching unit 114 , a data insertion processing unit 115 , a matrix generation unit 116 , an operation matrix generation unit 117 , and a password setting. It may include a message display unit 118 , a password recording unit 119 , and a table inserting unit 120 .

그룹 번호 매칭부(114)는 상기 복수의 데이터 그룹들이 생성되면, 상기 복수의 데이터 그룹들 각각에 대해, 부분 데이터들의 배열 순서에 따른 각 데이터 그룹의 순번을 나타내는 그룹 번호(상기 그룹 번호는 1부터 시작되는 자연수임)를 순차적으로 할당한 후, 상기 n x k개의 화소들 각각에 대해 상기 그룹 번호를 랜덤으로 매칭시킨다.When the plurality of data groups are generated, the group number matching unit 114 provides a group number indicating a sequence number of each data group according to an arrangement order of partial data for each of the plurality of data groups. is a starting natural number), and then the group number is randomly matched to each of the nxk pixels.

데이터 삽입 처리부(115)는 상기 n x k개의 화소들 각각에 대한 알파값을 구성하는 8개의 자리 중 첫 번째 자리에 1의 코드를 할당하고, 나머지 7개의 자리에 각 화소에 매칭된 그룹 번호를 기초로, 각 데이터 그룹에 속하는 부분 데이터를 구성하는 코드를 하나씩 할당함으로써, 상기 제1 개체 이미지에 상기 원본 데이터에 대한 삽입을 처리 완료한다.The data insertion processing unit 115 assigns a code of 1 to the first digit among 8 digits constituting the alpha value for each of the nxk pixels, and based on the group number matched to each pixel in the remaining 7 digits , by allocating codes constituting partial data belonging to each data group one by one, the insertion of the original data into the first object image is completed.

여기서, 데이터 삽입 처리부(115)는 상기 n x k개의 화소들 각각에 대한 알파값을 구성하는 8개의 자리 중 첫 번째 자리에 1의 코드를 고정으로 할당하여, 상기 알파값이 128 이상의 화소값을 가질 수 있도록 설정함으로써, 상기 제1 개체 이미지가 상기 전자 문서 상에서 눈에 식별될 수 있을 정도로 일정 이상의 불투명도를 갖도록 처리할 수 있다.Here, the data insertion processing unit 115 fixedly assigns a code of 1 to the first digit among 8 digits constituting the alpha value for each of the nxk pixels, so that the alpha value can have a pixel value of 128 or more. By setting it to be so, it is possible to process the first object image to have an opacity of a certain level or more so that it can be recognized by the eye on the electronic document.

이때, 본 발명의 일실시예에 따르면, 데이터 삽입 처리부(115)는 상기 n x k개의 화소들 각각에 대한 알파값을 구성하는 8개의 자리 중 첫 번째 자리에 1의 코드를 할당하고, 나머지 7개의 자리에 각 화소에 매칭된 그룹 번호를 기초로, 각 데이터 그룹에 속하는 부분 데이터를 구성하는 코드를 하나씩 할당하되, 상기 복수의 데이터 그룹들 중 마지막 그룹 번호에 대응되는 데이터 그룹에 속하는 부분 데이터의 크기가 7비트보다 작은 경우, 상기 마지막 그룹 번호가 매칭된 화소에 대한 알파값을 구성하는 8개의 자리 중 부분 데이터가 삽입되지 않은 나머지 자리에 0의 코드를 할당함으로써, 상기 제1 개체 이미지에 상기 원본 데이터에 대한 삽입을 처리 완료할 수 있다.At this time, according to an embodiment of the present invention, the data insertion processing unit 115 allocates a code of 1 to the first digit among 8 digits constituting the alpha value for each of the nxk pixels, and assigns a code of 1 to the remaining 7 digits. Based on the group number matched to each pixel, one code constituting the partial data belonging to each data group is assigned one by one, and the size of the partial data belonging to the data group corresponding to the last group number among the plurality of data groups is When it is less than 7 bits, by assigning a code of 0 to the remaining positions in which partial data is not inserted among 8 digits constituting the alpha value for the pixel matched with the last group number, the original data is added to the first object image Insertion processing can be completed.

행렬 생성부(116)는 상기 n x k개의 화소들 각각에 대해 매칭된 그룹 번호를 성분으로 갖는 n x k의 행렬을 생성하되, 상기 n x k개의 화소들 중 그룹 번호가 매칭되지 않은 화소가 존재하는 경우, 상기 n x k의 행렬에서 그룹 번호가 매칭되지 않은 화소에 대응되는 지점의 성분을 0으로 지정한다.The matrix generator 116 generates an nxk matrix having a matched group number as a component for each of the nxk pixels. In the matrix of , the component of the point corresponding to the pixel whose group number does not match is designated as 0.

관련해서, 상기 제1 개체 이미지가 상기 n x k개의 화소들로 구성되면, 상기 제1 개체 이미지에는 최대 n x k x 7비트의 데이터 크기를 갖는 비트열이 삽입될 수 있는데, 상기 원본 데이터의 크기가 {(n x k)-1} x 7비트 이하라면, 상기 n x k개의 화소들 중에는 그룹 번호가 매칭되지 않는 화소가 존재할 것이므로, 행렬 생성부(116)는 다음 동작인 행렬 연산을 수행할 수 있도록 상기 n x k의 행렬에서 그룹 번호가 매칭되지 않은 화소에 대응되는 지점의 성분을 0으로 지정할 수 있다.In relation to this, if the first object image is composed of the nxk pixels, a bit string having a data size of nxkx 7 bits at maximum may be inserted into the first object image, and the size of the original data is {(nxk )-1} x 7 bits or less, since there will be pixels whose group numbers do not match among the nxk pixels, the matrix generator 116 sets the group in the nxk matrix to perform the next operation, the matrix operation. A component of a point corresponding to a pixel whose number does not match can be designated as 0.

연산 행렬 생성부(117)는 상기 n x k의 행렬이 생성되면, 랜덤하게 선택된 자연수를 성분으로 갖는 n x k의 랜덤 행렬을 생성한 후, 상기 n x k의 행렬에 대해 상기 n x k의 랜덤 행렬과의 아다마르 곱(Hadamard product)을 연산하여 n x k의 연산 행렬을 생성한다.When the nxk matrix is generated, the operation matrix generator 117 generates an nxk random matrix having a randomly selected natural number as a component, and then generates a Hadamard product ( Hadamard product) to generate an nxk operation matrix.

여기서, 아다마르 곱이란 같은 크기의 행렬 또는 벡터에서 각 성분을 곱하는 연산을 의미하는 것으로, '[a b c]'와 '[x y z]'라는 두 행렬이 있을 때, 상기 두 행렬 간의 아다마르 곱을 연산한 행렬은 '[ax by cz]'로 나타낼 수 있다.Here, the Hadamard product means an operation of multiplying each component in a matrix or vector of the same size. When there are two matrices '[abc]' and '[xyz]', A matrix can be expressed as '[ax by cz]'.

비밀번호 설정 메시지 표시부(118)는 상기 n x k의 연산 행렬이 생성되면, 상기 사용자에게 상기 제1 개체에 대한 개체 보호 상태를 해제하기 위한 비밀번호를 설정하도록 지시하는 비밀번호 설정 메시지를 화면 상에 표시한다.When the n x k operation matrix is generated, the password setting message display unit 118 displays a password setting message instructing the user to set a password for canceling the object protection state for the first object on the screen.

비밀번호 기록부(119)는 상기 사용자에 의해 상기 제1 개체에 대한 개체 보호 상태를 해제하기 위한 비밀번호로 제1 비밀번호가 설정되면, 개체 이미지 테이블을 생성하여 상기 개체 이미지 테이블에 상기 제1 개체에 대한 고유 식별자, 상기 n x k의 연산 행렬, 상기 n x k의 랜덤 행렬 및 상기 제1 비밀번호를 서로 대응시켜 기록한다.When the first password is set as a password for canceling the object protection state for the first object by the user, the password recording unit 119 creates an object image table and stores the object image table unique to the first object in the object image table. The identifier, the nxk operation matrix, the nxk random matrix, and the first password are recorded in correspondence with each other.

이때, 본 발명의 일실시예에 따르면, 비밀번호 기록부(119)는 상기 원본 데이터의 크기를 확인한 후, 상기 개체 이미지 테이블에 상기 제1 개체에 대한 고유 식별자에 대응되도록 상기 원본 데이터의 크기를 추가로 기록할 수 있다.At this time, according to an embodiment of the present invention, after confirming the size of the original data, the password recording unit 119 further increases the size of the original data to correspond to the unique identifier for the first object in the object image table. can be recorded

이후, 테이블 삽입부(120)는 상기 개체 이미지 테이블을 구성하는 데이터를 상기 전자 문서의 파일 내에 삽입한다.Thereafter, the table inserting unit 120 inserts data constituting the object image table into the file of the electronic document.

여기서, 테이블 삽입부(120)는 상기 개체 이미지 테이블을 상기 전자 문서의 파일 내에 삽입해 둠으로써, 추후 상기 제1 개체 이미지로부터 상기 원본 데이터를 추출하는 과정에서 상기 개체 이미지 테이블을 확인해야 할 때, 상기 전자 문서의 파일로부터 상기 개체 이미지 테이블이 검출될 수 있도록 처리할 수 있다.Here, the table inserter 120 inserts the object image table into the file of the electronic document, so that when the object image table needs to be checked later in the process of extracting the original data from the first object image, It is possible to process so that the object image table can be detected from the file of the electronic document.

이하에서는, 도 2를 참조하여 데이터 삽입부(113)의 동작을 예를 들어 상세히 설명하기로 한다.Hereinafter, an operation of the data insertion unit 113 will be described in detail with reference to FIG. 2 .

우선, 전술한 예와 같이 개체 이미지 변환부(111)에 의해 '차트'(211)가 '차트 이미지'(210)로 변환되었고, '차트 이미지'(210)는 세로 '2'개, 가로 '4'개의 '2' x '4'개의 화소들로 구성되며, '차트'(211)를 구성하는 상기 원본 데이터는 '11010110010100100101111101001001011000100011101'과 같다고 가정하자. First, as in the above-described example, the 'chart' 211 is converted into a 'chart image' 210 by the object image conversion unit 111, and the 'chart image' 210 is '2' vertically and horizontally'. It is assumed that it is composed of 4' '2' x '4' pixels, and the original data constituting the 'chart' 211 is equal to '11010110010100100101111101001001011000100011101'.

여기서, '차트 이미지'(210)가 '2' x '4'개의 화소들로 구성된다는 가정은 설명의 편의를 위해서 제시한 가정에 불과할 뿐, '차트 이미지'(210)의 실제 화소수는 이보다 훨씬 많다.Here, the assumption that the 'chart image' 210 is composed of '2' x '4' pixels is only an assumption presented for convenience of explanation, and the actual number of pixels of the 'chart image' 210 is higher than this. Much more.

그룹 번호 매칭부(114)는 상기의 표 1과 같이 상기 복수의 데이터 그룹들이 생성되면, 하기의 표 2와 같이 상기 복수의 데이터 그룹들 각각에 대해, 부분 데이터들의 배열 순서에 따른 각 데이터 그룹의 순번을 나타내는 그룹 번호를 1부터 순차적으로 할당할 수 있다.When the plurality of data groups are generated as shown in Table 1 above, the group number matching unit 114 is configured for each data group according to the arrangement order of partial data for each of the plurality of data groups as shown in Table 2 below. Group numbers indicating a sequence number may be sequentially assigned from 1 to each other.

복수의 데이터 그룹들multiple data groups 데이터 data
그룹 1group 1
데이터 data
그룹 2group 2
데이터 data
그룹 3group 3
데이터 data
그룹 4group 4
데이터 data
그룹 5group 5
데이터 data
그룹 6group 6
데이터 data
그룹 7group 7
부분 데이터 (7비트)Partial data (7 bits) 1One 00 1One 1One 1One 00 1One 1One 00 00 1One 00 00 1One 00 1One 00 1One 00 00 1One 1One 00 1One 00 1One 1One 00 00 1One 00 1One 00 00 1One 1One 00 1One 00 1One 00 1One 00 1One 00 1One 00 그룹 번호group number 1One 22 33 44 55 66 77

그리고, 그룹 번호 매칭부(114)는 도면부호 220과 같이 '차트 이미지'(210)를 구성하는 상기 '2' x '4'개의 화소들 각각에 대해 상기 그룹 번호를 랜덤으로 매칭시킬 수 있다.In addition, the group number matching unit 114 may randomly match the group number with respect to each of the '2' x '4' pixels constituting the 'chart image' 210 as indicated by reference numeral 220 .

이후, 데이터 삽입 처리부(115)는 상기 '2' x '4'개의 화소들 각각에 대한 알파값을 구성하는 8개의 자리 중 첫 번째 자리에 1의 코드를 할당하고, 나머지 7개의 자리에 각 화소에 매칭된 그룹 번호를 기초로, 각 데이터 그룹에 속하는 부분 데이터를 구성하는 코드를 하나씩 할당함으로써, '차트 이미지'(210)에 상기 원본 데이터인 '11010110010100100101111101001001011000100011101'에 대한 삽입을 처리 완료할 수 있다.Thereafter, the data insertion processing unit 115 allocates a code of 1 to the first digit among 8 digits constituting the alpha value for each of the '2' x '4' pixels, and assigns a code of 1 to the remaining 7 digits for each pixel. By allocating codes constituting partial data belonging to each data group one by one based on the group number matched to , the insertion of the original data '11010110010100100101111101001001011000100011101' in the 'chart image' 210 can be completed.

구체적으로, 데이터 삽입 처리부(115)는 상기 '2' x '4'개의 화소들 중 '화소 1'(221)에는 그룹 번호가 매칭되어 있지 않으므로, 데이터를 삽입하지 않을 수 있고, '화소 2'(222)에는 '그룹 번호 5'가 매칭되어 있으므로, '화소 2'(222)에 대한 알파값을 구성하는 8개의 자리 중 첫 번째 자리에 1의 코드를 할당하고, 나머지 7개의 자리에 '그룹 번호 5'가 할당된 '데이터 그룹 5'에 속하는 부분 데이터인 '1001011'을 구성하는 코드를 할당할 수 있다.Specifically, the data insertion processing unit 115 may not insert data because the group number is not matched to the 'pixel 1' 221 among the '2' x '4' pixels, and the 'pixel 2' Since 'group number 5' is matched in 222, a code of 1 is assigned to the first digit among 8 digits constituting the alpha value for 'pixel 2' 222, and the 'group number 5' is assigned to the remaining 7 digits. Codes constituting '1001011', which is partial data belonging to 'data group 5' to which number 5' is allocated, may be allocated.

또한, 데이터 삽입 처리부(115)는 '화소 3'(223)에는 '그룹 번호 2'가 매칭되어 있으므로, '화소 3'(223)에 대한 알파값을 구성하는 8개의 자리 중 첫 번째 자리에 1의 코드를 할당하고, 나머지 7개의 자리에 '그룹 번호 2'가 할당된 '데이터 그룹 2'에 속하는 부분 데이터인 '0010100'을 구성하는 코드를 할당할 수 있으며, '화소 4'(224)에는 '그룹 번호 4'가 매칭되어 있으므로, '화소 4'(224)에 대한 알파값을 구성하는 8개의 자리 중 첫 번째 자리에 1의 코드를 할당하고, 나머지 7개의 자리에 '그룹 번호 4'가 할당된 '데이터 그룹 4'에 속하는 부분 데이터인 '1110100'을 구성하는 코드를 할당할 수 있다.In addition, since the 'group number 2' is matched to the 'pixel 3' 223 in the data insertion processing unit 115, the first digit of the 8 digits constituting the alpha value for the 'pixel 3' 223 is 1 code of '0010100', which is partial data belonging to 'data group 2' to which 'group number 2' is assigned to the remaining 7 digits, can be assigned a code constituting '0010100' in 'pixel 4' (224) Since 'group number 4' is matched, a code of 1 is assigned to the first digit among 8 digits constituting the alpha value for 'pixel 4' (224), and 'group number 4' is assigned to the remaining 7 digits. Codes constituting '1110100', which is partial data belonging to the allocated 'data group 4', may be allocated.

이와 같은 방식으로, 데이터 삽입 처리부(115)는 '화소 5'(225)', 화소 6'(226)', 화소 7'(227) 및 '화소 8'(228)에 대해서도, 하기의 표 3과 같이, 각 화소에 대한 알파값을 구성하는 8개의 자리에 1의 코드와 각 데이터 그룹에 속하는 부분 데이터를 구성하는 코드를 할당할 수 있다. 다만, 데이터 삽입 처리부(115)는 상기 복수의 데이터 그룹들 중 마지막 그룹 번호인 '그룹 번호 7'에 대응되는 데이터 그룹에 속하는 부분 데이터인 '11101'의 크기가 5비트로 부분 데이터의 단위 크기인 7비트보다 작으므로, '그룹 번호 7'에 매칭된 '화소 7'(227)에 대한 알파값을 구성하는 8개의 자리 중 부분 데이터가 삽입되지 않은 나머지 자리에 0의 코드를 할당함으로써, '차트 이미지'(210)에 상기 원본 데이터인 '11010110010100100101111101001001011000100011101'의 삽입을 처리 완료할 수 있다. In this way, the data insertion processing unit 115 also applies to 'pixel 5' 225', pixel 6' 226', pixel 7' 227 and 'pixel 8' 228 as shown in Table 3 below. As such, a code of 1 and a code constituting partial data belonging to each data group may be assigned to eight digits constituting the alpha value for each pixel. However, in the data insertion processing unit 115, the size of the partial data '11101' belonging to the data group corresponding to the last group number 'group number 7' among the plurality of data groups is 5 bits, and the unit size of the partial data is 7 Since it is smaller than a bit, by assigning a code of 0 to the remaining digits where partial data is not inserted among 8 digits constituting the alpha value for 'pixel 7' 227 matched to 'group number 7', a 'chart image Insertion of the original data '11010110010100100101111101001001011000100011101' into '210 may be completed.

화소 1pixel 1
(221)(221)
화소 2pixel 2
(222)(222)
화소 3pixel 3
(223)(223)
화소 4Pixel 4
(224)(224)
화소 5pixel 5
(225)(225)
화소 6pixel 6
(226)(226)
화소 7pixel 7
(227)(227)
화소 8pixel 8
(228)(228)
1One 1One 1One 1One 1One 1One 1One 1One 00 1One 00 1One 1One 1One 00 00 1One 00 1One 1One 00 00 1One 1One 00 00 1One 00 1One 00 00 1One 1One 00 1One 00 1One 1One 00 00 1One 00 1One 00 00 00 1One 00 1One 1One 00 00 00 1One 00 1One

이후, 행렬 생성부(116)는 도면부호 230과 같이 상기 '2' x '4'개의 화소들 각각에 대해 매칭된 그룹 번호를 성분으로 갖는 '2' x '4'의 행렬(230)을 생성하되, 상기 '2' x '4'개의 화소들 중 그룹 번호가 매칭되지 않은 화소인 '화소 1'(221)의 경우, '2' x '4'의 행렬(230)에서 '화소 1'(221)에 대응되는 지점의 성분은 0으로 지정하여 '2' x '4'의 행렬(230)을 생성할 수 있다. Thereafter, the matrix generator 116 generates a matrix 230 of '2' x '4' having a group number matched for each of the '2' x '4' pixels as a component, as shown by reference numeral 230 . However, in the case of 'pixel 1' 221, which is a pixel whose group number does not match among the '2' x '4' pixels, in the matrix 230 of '2' x '4', 'pixel 1' ( 221) may be designated as 0 to generate a matrix 230 of '2' x '4'.

연산 행렬 생성부(117)는 '2' x '4'의 행렬(230)이 생성되면, 랜덤하게 선택된 자연수를 성분으로 갖는 도면부호 240과 같은 '2' x '4'의 랜덤 행렬(240)을 생성한 후, 하기의 수학식 1과 같이, '2' x '4'의 행렬(230)에 대해 '2' x '4'의 랜덤 행렬(240)과의 아다마르 곱을 연산하여 '2' x '4'의 연산 행렬을 생성할 수 있다.When the matrix 230 of '2' x '4' is generated, the arithmetic matrix generator 117 generates a random matrix 240 of '2' x '4' such as 240 having a randomly selected natural number as a component. After generating , as in Equation 1 below, the Hadamard product of the matrix 230 of '2' x '4' with the random matrix 240 of '2' x '4' is calculated to be '2' You can create an operation matrix of x '4'.

Figure 112020048148797-pat00001
Figure 112020048148797-pat00001

이렇게, 상기 '2' x '4'의 연산 행렬이 생성되면, 비밀번호 설정 메시지 표시부(118)는 상기 사용자에게 '차트'(211)에 대한 개체 보호 상태를 해제하기 위한 비밀번호를 설정하도록 지시하는 비밀번호 설정 메시지를 화면 상에 표시할 수 있다.In this way, when the operation matrix of '2' x '4' is generated, the password setting message display unit 118 is a password for instructing the user to set a password for releasing the object protection state for the 'chart' 211 . A setting message can be displayed on the screen.

그리고, 비밀번호 기록부(119)는 상기 사용자에 의해 '차트'(211)에 대한 개체 보호 상태를 해제하기 위한 비밀번호가 '1234'로 설정되면, 개체 이미지 테이블을 생성한 후 하기의 표 4와 같이 상기 개체 이미지 테이블에 '차트'(211)에 대한 고유 식별자, 상기 '2' x '4'의 연산 행렬, '2' x '4'의 랜덤 행렬(240) 및 상기 제1 비밀번호인 '1234'를 서로 대응시켜 기록할 수 있다.In addition, when the password for releasing the object protection state for the 'chart' 211 is set to '1234' by the user, the password recorder 119 creates an object image table and then generates the object image table as shown in Table 4 below. The unique identifier for the 'chart' 211, the '2' x '4' operation matrix, the '2' x '4' random matrix 240, and the first password '1234' in the object image table They can be recorded in correspondence with each other.

또한, 비밀번호 기록부(119)는 상기 원본 데이터인 '11010110010100100101111101001001011000100011101'의 크기를 확인한 후 상기 원본 데이터인 '11010110010100100101111101001001011000100011101'의 크기가 '47비트'로 확인되면, 하기의 표 4와 같은 상기 개체 이미지 테이블에 '차트'(211)에 대한 고유 식별자에 대응되도록 상기 원본 데이터의 크기인 '47비트'를 추가로 기록할 수 있다.In addition, after confirming the size of the original data '11010110010100100101111101001001011000100011101', the password recorder 119 checks the size of the original data '11010110010100100101111101001001011000100011101' as '47 bits'. '47 bits', which is the size of the original data, may be additionally recorded to correspond to the unique identifier for the 'chart' 211 .

고유 식별자unique identifier '2' x '4'의 연산 행렬arithmetic matrix of '2' x '4' '2' x '4'의 랜덤 행렬'2' x '4' random matrix 비밀번호password 데이터 크기data size '차트'(211)'Chart' (211) 식별자 1identifier 1

Figure 112020048148797-pat00002
Figure 112020048148797-pat00002
Figure 112020048148797-pat00003
Figure 112020048148797-pat00003
12341234 47비트47 bits

이후, 테이블 삽입부(120)는 상기 표 4와 같은 상기 개체 이미지 테이블을 구성하는 데이터를 상기 전자 문서의 파일 내에 삽입할 수 있다.Thereafter, the table inserting unit 120 may insert data constituting the object image table as shown in Table 4 into the file of the electronic document.

본 발명의 일실시예에 따르면, 전자 장치(110)는 비밀번호 입력 메시지 표시부(121), 비밀번호 확인부(122), 행렬 추출부(123), 복원 행렬 생성부(124), 데이터 추출부(125) 및 개체 복원부(126)를 더 포함할 수 있다.According to an embodiment of the present invention, the electronic device 110 includes a password input message display unit 121 , a password confirmation unit 122 , a matrix extraction unit 123 , a restoration matrix generation unit 124 , and a data extraction unit 125 . ) and an object restoration unit 126 may be further included.

비밀번호 입력 메시지 표시부(121)는 상기 제1 개체 이미지에 상기 원본 데이터의 삽입이 완료된 후 상기 사용자로부터 상기 제1 개체에 대한 개체 보호 해제 명령이 수신되면, 상기 사용자에게 상기 제1 개체에 대한 개체 보호 상태를 해제하기 위한 비밀번호를 입력하도록 지시하는 비밀번호 입력 메시지를 화면 상에 표시한다.When the password input message display unit 121 receives an object protection release command for the first object from the user after the insertion of the original data into the first object image is completed, the user can protect the object for the first object. A password input message is displayed on the screen instructing to input a password for releasing the status.

관련해서, 상기 전자 문서에서 상기 제1 개체가 상기 제1 개체 이미지로 변환됨으로써 상기 제1 개체에 대한 보호 처리가 완료되고, 상기 사용자가 상기 전자 문서에 대한 편집을 완료함에 따라, 상기 사용자에 의해 상기 전자 문서가 최종 저장된 이후에, 상기 사용자가 전자 장치(110)를 통해 상기 전자 문서를 다시 오픈하여 전자 장치(110)에 상기 제1 개체에 대한 개체 보호 해제 명령을 인가하게 되면, 비밀번호 입력 메시지 표시부(121)는 상기 사용자에게 상기 제1 개체에 대한 개체 보호 상태를 해제하기 위한 비밀번호를 입력하도록 지시하는 상기 비밀번호 입력 메시지를 화면 상에 표시할 수 있다.In relation to this, when the first object is converted into the first object image in the electronic document, protection processing for the first object is completed, and as the user completes editing of the electronic document, by the user After the electronic document is finally stored, when the user re-opens the electronic document through the electronic device 110 and applies an object protection release command for the first object to the electronic device 110, a password input message The display unit 121 may display the password input message instructing the user to input a password for canceling the object protection state for the first object on the screen.

비밀번호 확인부(122)는 상기 사용자에 의해 상기 제1 개체에 대한 개체 보호 상태를 해제하기 위한 비밀번호로 제2 비밀번호가 입력되면, 상기 전자 문서의 파일 내에 삽입되어 있는 상기 개체 이미지 테이블에 대한 데이터를 로드하고, 상기 개체 이미지 테이블에서 상기 제1 개체에 대한 고유 식별자에 대응되는 상기 제1 비밀번호를 추출한 후 상기 제2 비밀번호가 상기 제1 비밀번호와 일치하는지를 확인한다.When a second password is input as a password for canceling the object protection state for the first object by the user, the password confirmation unit 122 checks the data for the object image table inserted in the file of the electronic document. After loading, the first password corresponding to the unique identifier for the first object is extracted from the object image table, and it is checked whether the second password matches the first password.

행렬 추출부(123)는 상기 제2 비밀번호가 상기 제1 비밀번호와 일치하는 것으로 확인되면, 상기 개체 이미지 테이블로부터 상기 제1 개체에 대한 고유 식별자에 대응되는 상기 n x k의 연산 행렬과 상기 n x k의 랜덤 행렬을 추출한다.When it is confirmed that the second password matches the first password, the matrix extraction unit 123 determines the nxk operation matrix and the nxk random matrix corresponding to the unique identifier for the first entity from the entity image table. to extract

복원 행렬 생성부(124)는 상기 n x k의 랜덤 행렬의 성분들에 역수를 취하여 n x k의 역수 행렬을 생성하고, 상기 n x k의 연산 행렬에 대해 상기 n x k의 역수 행렬과의 아다마르 곱을 연산함으로써, n x k의 복원 행렬을 생성한다.The restoration matrix generator 124 generates an nxk inverse matrix by taking the reciprocal of the components of the nxk random matrix, and calculates the Hadamard product with the nxk inverse matrix for the nxk operation matrix. Create a restoration matrix.

데이터 추출부(125)는 상기 n x k의 복원 행렬을 구성하는 성분들 각각을 상기 제1 개체 이미지를 구성하는 상기 n x k개의 화소들 각각에 매칭된 데이터 그룹의 그룹 번호로 확인하고, 상기 n x k개의 화소들에서 각 화소에 대한 알파값을 구성하는 8개의 자리 중 첫 번째 자리에 할당된 1의 코드를 제외하고, 나머지 7개의 자리에 할당된 7비트 단위의 부분 데이터를 구성하는 코드를 각 화소에서 확인된 그룹 번호를 기초로 순차적으로 추출함으로써, 상기 제1 개체 이미지에 삽입된 상기 원본 데이터를 추출한다.The data extraction unit 125 identifies each of the components constituting the nxk reconstruction matrix as a group number of a data group matched to each of the nxk pixels constituting the first object image, and the nxk pixels Except for the code of 1 assigned to the first digit among the 8 digits constituting the alpha value for each pixel in By sequentially extracting based on the group number, the original data inserted into the first object image is extracted.

이때, 본 발명의 일실시예에 따르면, 데이터 추출부(125)는 상기 n x k개의 화소들에서 7비트 단위의 부분 데이터가 상기 그룹 번호를 기초로 순차적으로 추출되면, 순차적으로 추출된 부분 데이터들을 연접(Concatenation)하여 연접 데이터를 생성하고, 상기 연접 데이터의 크기가 상기 개체 이미지 테이블에 기록되어 있는 상기 제1 개체에 대한 고유 식별자에 대응되는 상기 원본 데이터의 크기보다 큰 것으로 확인되는 경우, 상기 연접 데이터를 구성하는 비트열에서 첫 번째 자리의 비트 값을 시작으로 해서 상기 원본 데이터의 크기만큼에 해당되는 비트 값들로 구성되는 비트열을 상기 제1 개체 이미지에 삽입된 상기 원본 데이터로 추출할 수 있다.At this time, according to an embodiment of the present invention, the data extraction unit 125 concatenates the sequentially extracted partial data when partial data of 7-bit units are sequentially extracted from the nxk pixels based on the group number. (Concatenation) to generate concatenated data, and when it is confirmed that the size of the concatenated data is larger than the size of the original data corresponding to the unique identifier for the first entity recorded in the entity image table, the concatenated data A bit string composed of bit values corresponding to the size of the original data starting with the bit value of the first digit in the bit string constituting , may be extracted as the original data inserted into the first object image.

개체 복원부(126)는 상기 제1 개체 이미지로부터 추출된 상기 원본 데이터를 기초로 상기 제1 개체 이미지를 상기 제1 개체로 변환함으로써, 상기 제1 개체를 복원한다.The object restoration unit 126 restores the first object by converting the first object image into the first object based on the original data extracted from the first object image.

관련해서, 전술한 예에 따라 전자 장치(110)의 동작을 상세히 설명하면 다음과 같다. In this regard, the operation of the electronic device 110 according to the above-described example will be described in detail as follows.

비밀번호 입력 메시지 표시부(121)는 '차트 이미지'(210)에 상기 원본 데이터인 '11010110010100100101111101001001011000100011101'의 삽입이 완료된 후 상기 사용자로부터 '차트'(211)에 대한 개체 보호 해제 명령이 수신되면, 상기 사용자에게 '차트'(211)에 대한 개체 보호 상태를 해제하기 위한 비밀번호를 입력하도록 지시하는 비밀번호 입력 메시지를 화면 상에 표시할 수 있다.After the insertion of the original data '11010110010100100101111101001001011000100011101' in the 'chart image' 210 is completed, the password input message display unit 121 receives an object protection release command for the 'chart' 211 from the user. A password input message instructing to input a password for canceling the object protection state for the 'chart' 211 may be displayed on the screen.

이때, 상기 사용자에 의해 '차트'(211)에 대한 개체 보호 상태를 해제하기 위한 비밀번호로 제2 비밀번호가 입력되면, 비밀번호 확인부(122)는 상기 전자 문서의 파일 내에 삽입되어 있는 상기 표 4와 같은 상기 개체 이미지 테이블에 대한 데이터를 로드하고, 상기 표 4와 같은 상기 개체 이미지 테이블에서 '차트'(211)에 대한 고유 식별자에 대응되는 상기 제1 비밀번호인 '1234'를 추출한 후 상기 제2 비밀번호가 상기 제1 비밀번호인 '1234'와 일치하는지를 확인할 수 있다.At this time, when the second password is input as a password for canceling the object protection state for the 'chart' 211 by the user, the password confirmation unit 122 displays Table 4 and Table 4 inserted in the file of the electronic document. After loading data for the same object image table, and extracting the first password '1234' corresponding to the unique identifier for the 'chart' 211 from the object image table as in Table 4, the second password It may be checked whether '1234', which is the first password, matches.

이때, 상기 제2 비밀번호가 상기 제1 비밀번호인 '1234'와 일치하는 것으로 확인되면, 행렬 추출부(123)는 상기 표 4와 같은 상기 개체 이미지 테이블로부터 '차트'(211)에 대한 고유 식별자에 대응되는 상기 '2' x '4'의 연산 행렬과 '2' x '4'의 랜덤 행렬(240)을 추출할 수 있다.At this time, if it is confirmed that the second password matches the first password '1234', the matrix extraction unit 123 is a unique identifier for the 'chart' 211 from the object image table as in Table 4 above. The corresponding operation matrix of '2' x '4' and the random matrix 240 of '2' x '4' may be extracted.

복원 행렬 생성부(124)는 '2' x '4'의 랜덤 행렬(240)의 성분들에 역수를 취하여 도면부호 250과 같은 '2' x '4'의 역수 행렬(250)을 생성할 수 있고, 하기의 수학식 2와 같이 상기 '2' x '4'의 연산 행렬에 대해 '2' x '4'의 역수 행렬(250)과의 아다마르 곱을 연산함으로써, '2' x '4'의 복원 행렬을 생성할 수 있다.The reconstruction matrix generator 124 may generate the reciprocal matrix 250 of '2' x '4', such as 250, by taking the inverse of the components of the random matrix 240 of '2' x '4'. And, by calculating the Hadamard product with the inverse matrix 250 of '2' x '4' for the operation matrix of '2' x '4' as shown in Equation 2 below, '2' x '4' We can create a restoration matrix of

Figure 112020048148797-pat00004
Figure 112020048148797-pat00004

그러면, 데이터 추출부(125)는 상기 '2' x '4'의 복원 행렬을 구성하는 성분들 중 0을 제외한 성분들 각각을 '차트 이미지'(210)를 구성하는 상기 '2' x '4'개의 화소들 각각에 매칭된 데이터 그룹의 그룹 번호로 확인할 수 있고, 상기 '2' x '4'개의 화소들에서 각 화소에 대한 알파값을 구성하는 8개의 자리 중 첫 번째 자리에 할당된 1의 코드를 제외하고, 나머지 7개의 자리에 할당된 7비트 단위의 부분 데이터를 구성하는 코드를 각 화소에서 확인된 그룹 번호를 기초로 '1101011', '0010100', '1001011', '1110100', '1001011', '0001000', '1110100'과 같이 순차적으로 추출할 수 있다.Then, the data extraction unit 125 applies each of the components other than 0 among the components constituting the '2' x '4' reconstruction matrix to the '2' x '4 constituting the 'chart image' 210 . It can be identified by the group number of the data group matched to each of the 'pixels, and in the '2' x '4' pixels, 1 assigned to the first digit among 8 digits constituting the alpha value for each pixel '1101011', '0010100', '1001011', '1110100', '1101011', '0010100', '1001011', '1110100', '1101011', '0010100', '1001011', It can be sequentially extracted, such as '1001011', '0001000', and '1110100'.

이렇게, 상기 '2' x '4'개의 화소들에서 7비트 단위의 부분 데이터가 상기 그룹 번호를 기초로 순차적으로 추출되면, 데이터 추출부(125)는 순차적으로 추출된 부분 데이터들인 '1101011', '0010100', '1001011', '1110100', '1001011', '0001000', '1110100'을 연접하여 연접 데이터인 '1101011001010010010111110100100101100010001110100'을 생성할 수 있다.In this way, when partial data of 7-bit units are sequentially extracted from the '2' x '4' pixels based on the group number, the data extraction unit 125 is sequentially extracted partial data '1101011', By concatenating '0010100', '1001011', '1110100', '1001011', '0001000', and '1110100', concatenated data '1101011001010010010111110100100101100010001110100' may be generated.

이때, 상기 연접 데이터의 크기가 '49비트'로 상기 표 4와 같은 상기 개체 이미지 테이블에 기록되어 있는 '차트'(211)에 대한 고유 식별자에 대응되는 상기 원본 데이터의 크기인 '47비트'보다 큰 것으로 확인되면, 데이터 추출부(125)는 상기 연접 데이터인 '1101011001010010010111110100100101100010001110100'을 구성하는 비트열에서 첫 번째 자리의 비트 값인 '1'을 시작으로 해서 '47비트' 만큼에 해당되는 비트 값들로 구성되는 비트열인 '11010110010100100101111101001001011000100011101'을 '차트 이미지'(210)에 삽입된 상기 원본 데이터로 최종 추출할 수 있다.At this time, the size of the concatenated data is '49 bits', which is greater than '47 bits', which is the size of the original data corresponding to the unique identifier for the 'chart' 211 recorded in the object image table as in Table 4 above. If it is confirmed that it is large, the data extraction unit 125 starts with '1', which is the bit value of the first digit in the bit string constituting the concatenated data '1101011001010010010111110100100101100010001110100', and consists of bit values corresponding to as many as '47 bits'. The bit string '11010110010100100101111101001001011000100011101', which is a bit string, may be finally extracted as the original data inserted into the 'chart image' 210 .

그러면, 개체 복원부(126)는 '차트 이미지'(210)로부터 추출된 상기 원본 데이터인 '11010110010100100101111101001001011000100011101'을 기초로 '차트 이미지'(210)를 '차트'(211)로 변환함으로써, '차트'(211)를 복원할 수 있다.Then, the object restoration unit 126 converts the 'chart image' 210 into a 'chart' 211 based on '11010110010100100101111101001001011000100011101', which is the original data extracted from the 'chart image' 210 , and thereby, the 'chart' (211) can be restored.

즉, 개체 복원부(126)는 상기 사용자로부터 '차트'(211)에 대한 개체 보호 해제 명령이 수신됨에 따라, 상기 원본 데이터의 편집이 불가능한 상태의 '차트 이미지'(210)를 '차트'(211)로 복원함으로써, 상기 사용자로 하여금 '차트'(211)를 구성하는 상기 원본 데이터를 자유롭게 편집할 수 있도록 지원할 수 있다.That is, as the object restoration unit 126 receives an object protection release command for the 'chart' 211 from the user, the 'chart image' 210 in a state in which editing of the original data is not possible is converted into a 'chart' ( 211), it is possible to support the user to freely edit the original data constituting the 'chart' 211 .

도 3은 본 발명의 일실시예에 따른 전자 문서에 삽입되어 있는 개체의 원본 데이터 유지를 위한 개체 보호 기능을 제공하는 전자 장치의 동작 방법을 도시한 순서도이다.3 is a flowchart illustrating an operation method of an electronic device that provides an object protection function for maintaining original data of an object inserted in an electronic document according to an embodiment of the present invention.

단계(S310)에서는 사용자로부터 전자 문서에 삽입되어 있는 복수의 개체들 중 제1 개체에 대한 개체 보호 명령이 수신되면, 상기 제1 개체를 상기 제1 개체에 대한 캡쳐 이미지인 제1 개체 이미지(상기 제1 개체 이미지는 세로 n개, 가로 k개의 n x k개의 화소들로 구성됨)로 변환한다.In step S310, when an object protection command for a first object among a plurality of objects inserted in the electronic document is received from the user, the first object is set to a first object image (the first object image as a captured image of the first object). The first object image is converted into n vertical and k horizontal nxk pixels).

단계(S320)에서는 상기 제1 개체를 구성하는 원본 데이터를 7비트 단위의 부분 데이터들로 그룹화하여 복수의 데이터 그룹들을 생성한다.In step S320, a plurality of data groups are created by grouping the original data constituting the first object into 7-bit partial data.

단계(S330)에서는 상기 n x k개의 화소들 각각에 대한 알파값(상기 알파값은 8비트의 데이터 크기를 갖는 비트열로 구성되며, 각 화소의 투명도를 나타내는 화소값임)을 구성하는 8개의 자리 중 첫 번째 자리에 1의 코드를 할당하고, 나머지 7개의 자리에 각 데이터 그룹에 속하는 부분 데이터를 구성하는 코드를 하나씩 할당함으로써, 상기 제1 개체 이미지에 상기 원본 데이터를 삽입한다.In step S330, the first of 8 digits constituting the alpha value for each of the nxk pixels (the alpha value is composed of a bit string having a data size of 8 bits and is a pixel value indicating the transparency of each pixel) The original data is inserted into the first object image by assigning a code of 1 to the first digit and assigning one code constituting partial data belonging to each data group to the remaining seven digit.

이때, 본 발명의 일실시예에 따르면, 단계(S330)에서는 상기 복수의 데이터 그룹들이 생성되는 경우, 상기 복수의 데이터 그룹들 각각에 대해, 부분 데이터들의 배열 순서에 따른 각 데이터 그룹의 순번을 나타내는 그룹 번호를 순차적으로 할당한 후, 상기 n x k개의 화소들 각각에 대해 상기 그룹 번호를 랜덤으로 매칭시키는 단계, 상기 n x k개의 화소들 각각에 대한 알파값을 구성하는 8개의 자리 중 첫 번째 자리에 1의 코드를 할당하고, 나머지 7개의 자리에 각 화소에 매칭된 그룹 번호를 기초로, 각 데이터 그룹에 속하는 부분 데이터를 구성하는 코드를 하나씩 할당함으로써, 상기 제1 개체 이미지에 상기 원본 데이터에 대한 삽입을 처리 완료하는 단계, 상기 n x k개의 화소들 각각에 대해 매칭된 그룹 번호를 성분으로 갖는 n x k의 행렬을 생성하되, 상기 n x k개의 화소들 중 그룹 번호가 매칭되지 않은 화소가 존재하는 경우, 상기 n x k의 행렬에서 그룹 번호가 매칭되지 않은 화소에 대응되는 지점의 성분을 0으로 지정하는 단계, 상기 n x k의 행렬이 생성되면, 랜덤하게 선택된 자연수를 성분으로 갖는 n x k의 랜덤 행렬을 생성한 후, 상기 n x k의 행렬에 대해 상기 n x k의 랜덤 행렬과의 아다마르 곱을 연산하여 n x k의 연산 행렬을 생성하는 단계, 상기 n x k의 연산 행렬이 생성되면, 상기 사용자에게 상기 제1 개체에 대한 개체 보호 상태를 해제하기 위한 비밀번호를 설정하도록 지시하는 비밀번호 설정 메시지를 화면 상에 표시하는 단계, 상기 사용자에 의해 상기 제1 개체에 대한 개체 보호 상태를 해제하기 위한 비밀번호로 제1 비밀번호가 설정되면, 개체 이미지 테이블을 생성하여 상기 개체 이미지 테이블에 상기 제1 개체에 대한 고유 식별자, 상기 n x k의 연산 행렬, 상기 n x k의 랜덤 행렬 및 상기 제1 비밀번호를 서로 대응시켜 기록하는 단계 및 상기 개체 이미지 테이블을 구성하는 데이터를 상기 전자 문서의 파일 내에 삽입하는 단계를 포함할 수 있다.At this time, according to an embodiment of the present invention, when the plurality of data groups are generated in step S330 , for each of the plurality of data groups, the sequence number of each data group according to the arrangement order of the partial data is indicated. After sequentially allocating a group number, randomly matching the group number to each of the nxk pixels, 1 in the first digit among 8 digits constituting the alpha value for each of the nxk pixels Insertion of the original data into the first object image is performed by allocating a code and assigning one code constituting partial data belonging to each data group to the remaining seven positions based on the group number matched to each pixel. Completing the process, generating an nxk matrix having a matched group number as a component for each of the nxk pixels, and if there is a pixel whose group number does not match among the nxk pixels, the nxk matrix designating as 0 a component of a point corresponding to a pixel whose group number does not match in , when the nxk matrix is generated, an nxk random matrix having a randomly selected natural number as a component is generated, and then the nxk matrix generating an nxk operation matrix by calculating the Hadamard product with the nxk random matrix for Displaying a password setting message instructing to set on the screen, when the first password is set as a password for canceling the object protection state for the first object by the user, an object image table is created to create the object image Recording the unique identifier for the first entity, the nxk operation matrix, the nxk random matrix, and the first password in correspondence with each other in a table, and data constituting the entity image table in the file of the electronic document insert may include steps.

또한, 본 발명의 일실시예에 따르면, 상기 전자 장치의 동작 방법은 상기 제1 개체 이미지에 상기 원본 데이터의 삽입이 완료된 후 상기 사용자로부터 상기 제1 개체에 대한 개체 보호 해제 명령이 수신되는 경우, 상기 사용자에게 상기 제1 개체에 대한 개체 보호 상태를 해제하기 위한 비밀번호를 입력하도록 지시하는 비밀번호 입력 메시지를 화면 상에 표시하는 단계, 상기 사용자에 의해 상기 제1 개체에 대한 개체 보호 상태를 해제하기 위한 비밀번호로 제2 비밀번호가 입력되면, 상기 전자 문서의 파일 내에 삽입되어 있는 상기 개체 이미지 테이블에 대한 데이터를 로드하고, 상기 개체 이미지 테이블에서 상기 제1 개체에 대한 고유 식별자에 대응되는 상기 제1 비밀번호를 추출한 후 상기 제2 비밀번호가 상기 제1 비밀번호와 일치하는지를 확인하는 단계, 상기 제2 비밀번호가 상기 제1 비밀번호와 일치하는 것으로 확인되면, 상기 개체 이미지 테이블로부터 상기 제1 개체에 대한 고유 식별자에 대응되는 상기 n x k의 연산 행렬과 상기 n x k의 랜덤 행렬을 추출하는 단계, 상기 n x k의 랜덤 행렬의 성분들에 역수를 취하여 n x k의 역수 행렬을 생성하고, 상기 n x k의 연산 행렬에 대해 상기 n x k의 역수 행렬과의 아다마르 곱을 연산함으로써, n x k의 복원 행렬을 생성하는 단계, 상기 n x k의 복원 행렬을 구성하는 성분들 각각을 상기 제1 개체 이미지를 구성하는 상기 n x k개의 화소들 각각에 매칭된 데이터 그룹의 그룹 번호로 확인하고, 상기 n x k개의 화소들에서 각 화소에 대한 알파값을 구성하는 8개의 자리 중 첫 번째 자리에 할당된 1의 코드를 제외하고, 나머지 7개의 자리에 할당된 7비트 단위의 부분 데이터를 구성하는 코드를 각 화소에서 확인된 그룹 번호를 기초로 순차적으로 추출함으로써, 상기 제1 개체 이미지에 삽입된 상기 원본 데이터를 추출하는 단계 및 상기 제1 개체 이미지로부터 추출된 상기 원본 데이터를 기초로 상기 제1 개체 이미지를 상기 제1 개체로 변환함으로써, 상기 제1 개체를 복원하는 단계를 더 포함할 수 있다.Also, according to an embodiment of the present invention, in the method of operating the electronic device, when an object protection release command for the first object is received from the user after the insertion of the original data into the first object image is completed, Displaying a password input message on a screen instructing the user to input a password for canceling the object protection state for the first object, for canceling the object protection state for the first object by the user When a second password is input as a password, data for the object image table inserted in the file of the electronic document is loaded, and the first password corresponding to a unique identifier for the first object in the object image table After extraction, checking whether the second password matches the first password, if it is confirmed that the second password matches the first password, a extracting the nxk operation matrix and the nxk random matrix, generating an nxk reciprocal matrix by taking the reciprocal of the components of the nxk random matrix, generating an nxk restoration matrix by calculating the Hadamard product; each of the components constituting the nxk restoration matrix as a group number of a data group matched to each of the nxk pixels constituting the first object image Check and configure partial data in 7-bit units allocated to the remaining 7 digits, except for the code of 1 allocated to the first digit among the 8 digits constituting the alpha value for each pixel in the nxk pixels extracting the original data inserted into the first object image by sequentially extracting a code to be executed based on the group number identified in each pixel, and the second object based on the original data extracted from the first object image 1 Select the object image The method may further include restoring the first object by converting it into the first object.

이때, 본 발명의 일실시예에 따르면, 상기 원본 데이터에 대한 삽입을 처리 완료하는 단계는 상기 n x k개의 화소들 각각에 대한 알파값을 구성하는 8개의 자리 중 첫 번째 자리에 1의 코드를 할당하고, 나머지 7개의 자리에 각 화소에 매칭된 그룹 번호를 기초로, 각 데이터 그룹에 속하는 부분 데이터를 구성하는 코드를 하나씩 할당하되, 상기 복수의 데이터 그룹들 중 마지막 그룹 번호에 대응되는 데이터 그룹에 속하는 부분 데이터의 크기가 7비트보다 작은 경우, 상기 마지막 그룹 번호가 매칭된 화소에 대한 알파값을 구성하는 8개의 자리 중 부분 데이터가 삽입되지 않은 나머지 자리에 0의 코드를 할당함으로써, 상기 제1 개체 이미지에 상기 원본 데이터에 대한 삽입을 처리 완료할 수 있다.At this time, according to an embodiment of the present invention, the step of completing the processing of the insertion of the original data allocates a code of 1 to the first digit among 8 digits constituting the alpha value for each of the nxk pixels, , one code constituting partial data belonging to each data group is assigned to the remaining 7 digits based on the group number matched to each pixel, but belonging to the data group corresponding to the last group number among the plurality of data groups When the size of the partial data is smaller than 7 bits, by allocating a code of 0 to the remaining positions where the partial data is not inserted among 8 digits constituting the alpha value for the pixel matched with the last group number, a code of 0 is assigned to the first object The process of inserting the original data into the image may be completed.

또한, 본 발명의 일실시예에 따르면, 상기 제1 비밀번호를 서로 대응시켜 기록하는 단계는 상기 원본 데이터의 크기를 확인한 후, 상기 개체 이미지 테이블에 상기 제1 개체에 대한 고유 식별자에 대응되도록 상기 원본 데이터의 크기를 추가로 기록할 수 있다.In addition, according to an embodiment of the present invention, in the step of recording the first password in correspondence with each other, after confirming the size of the original data, the original data to correspond to the unique identifier for the first object in the object image table The size of the data can be additionally recorded.

이때, 본 발명의 일실시예에 따르면, 상기 원본 데이터를 추출하는 단계는 상기 n x k개의 화소들에서 7비트 단위의 부분 데이터가 상기 그룹 번호를 기초로 순차적으로 추출되는 경우, 순차적으로 추출된 부분 데이터들을 연접하여 연접 데이터를 생성하고, 상기 연접 데이터의 크기가 상기 개체 이미지 테이블에 기록되어 있는 상기 제1 개체에 대한 고유 식별자에 대응되는 상기 원본 데이터의 크기보다 큰 것으로 확인되는 경우, 상기 연접 데이터를 구성하는 비트열에서 첫 번째 자리의 비트 값을 시작으로 해서 상기 원본 데이터의 크기만큼에 해당되는 비트 값들로 구성되는 비트열을 상기 제1 개체 이미지에 삽입된 상기 원본 데이터로 추출할 수 있다.At this time, according to an embodiment of the present invention, in the step of extracting the original data, when the partial data in units of 7 bits from the nxk pixels are sequentially extracted based on the group number, the sequentially extracted partial data concatenated to generate concatenated data, and when it is confirmed that the size of the concatenated data is larger than the size of the original data corresponding to the unique identifier for the first entity recorded in the object image table, the concatenated data A bit string composed of bit values corresponding to the size of the original data starting from the bit value of the first digit in the bit string constituting the component may be extracted as the original data inserted into the first object image.

이상, 도 3을 참조하여 본 발명의 일실시예에 따른 전자 문서에 삽입되어 있는 개체의 원본 데이터 유지를 위한 개체 보호 기능을 제공하는 전자 장치의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 전자 문서에 삽입되어 있는 개체의 원본 데이터 유지를 위한 개체 보호 기능을 제공하는 전자 장치의 동작 방법은 도 1과 도 2를 이용하여 설명한 전자 문서에 삽입되어 있는 개체의 원본 데이터 유지를 위한 개체 보호 기능을 제공하는 전자 장치(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.The operating method of an electronic device providing an object protection function for maintaining original data of an object inserted in an electronic document according to an embodiment of the present invention has been described with reference to FIG. 3 . Here, the operating method of the electronic device that provides the object protection function for maintaining the original data of the object inserted in the electronic document according to an embodiment of the present invention is inserted into the electronic document described with reference to FIGS. 1 and 2 . Since it may correspond to the configuration of the operation of the electronic device 110 that provides the object protection function for maintaining the original data of the object, a more detailed description thereof will be omitted.

본 발명의 일실시예에 따른 전자 문서에 삽입되어 있는 개체의 원본 데이터 유지를 위한 개체 보호 기능을 제공하는 전자 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.An operating method of an electronic device that provides an object protection function for maintaining original data of an object inserted in an electronic document according to an embodiment of the present invention is implemented as a computer program stored in a storage medium for execution through combination with a computer can be

또한, 본 발명의 일실시예에 따른 전자 문서에 삽입되어 있는 개체의 원본 데이터 유지를 위한 개체 보호 기능을 제공하는 전자 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. In addition, the operating method of an electronic device that provides an object protection function for maintaining original data of an object inserted in an electronic document according to an embodiment of the present invention is implemented in the form of a computer program command for execution through combination with a computer and may be recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.

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

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

110: 전자 문서에 삽입되어 있는 개체의 원본 데이터 유지를 위한 개체 보호 기능을 제공하는 전자 장치
111: 개체 이미지 변환부 112: 데이터 그룹부
113: 데이터 삽입부 114: 그룹 번호 매칭부
115: 데이터 삽입 처리부 116: 행렬 생성부
117: 연산 행렬 생성부 118: 비밀번호 설정 메시지 표시부
119: 비밀번호 기록부 120: 테이블 삽입부
121: 비밀번호 입력 메시지 표시부 122: 비밀번호 확인부
123: 행렬 추출부 124: 복원 행렬 생성부
125: 데이터 추출부 126: 개체 복원부
110: An electronic device that provides an object protection function for maintaining the original data of an object inserted in an electronic document
111: object image conversion unit 112: data group unit
113: data insertion unit 114: group number matching unit
115: data insertion processing unit 116: matrix generation unit
117: operation matrix generation unit 118: password setting message display unit
119: password log 120: table insert
121: password input message display unit 122: password confirmation unit
123: matrix extraction unit 124: restoration matrix generation unit
125: data extraction unit 126: object restoration unit

Claims (12)

사용자로부터 전자 문서에 삽입되어 있는 복수의 개체들 중 제1 개체에 대한 개체 보호 명령이 수신되면, 상기 제1 개체를 상기 제1 개체에 대한 캡쳐 이미지인 제1 개체 이미지 - 상기 제1 개체 이미지는 세로 n(n은 2이상의 자연수)개, 가로 k(k는 2이상의 자연수)개의 n x k개의 화소들로 구성됨 - 로 변환하는 개체 이미지 변환부;
상기 제1 개체를 구성하는 원본 데이터를 7비트 단위의 부분 데이터들로 그룹화하여 복수의 데이터 그룹들을 생성하는 데이터 그룹부;
상기 복수의 데이터 그룹들이 생성되면, 상기 복수의 데이터 그룹들 각각에 대해, 부분 데이터들의 배열 순서에 따른 각 데이터 그룹의 순번을 나타내는 그룹 번호(상기 그룹 번호는 1부터 시작되는 자연수임)를 순차적으로 할당한 후, 상기 n x k개의 화소들 중 상기 복수의 데이터 그룹들의 개수만큼에 해당되는 제1 화소들을 랜덤하게 선택하여, 상기 제1 화소들 각각에 대해 상기 그룹 번호를 랜덤하게 매칭시키는 그룹 번호 매칭부;
상기 제1 화소들 각각에 대한 알파값 - 상기 알파값은 8비트의 데이터 크기를 갖는 비트열로 구성되며, 각 화소의 투명도를 나타내는 화소값임 - 을 구성하는 8개의 자리 중 첫 번째 자리에 1의 코드를 할당하고, 나머지 7개의 자리에 각 화소에 매칭된 그룹 번호를 기초로, 각 데이터 그룹에 속하는 부분 데이터를 구성하는 코드를 하나씩 할당함으로써, 상기 제1 개체 이미지에 상기 원본 데이터에 대한 삽입을 처리 완료하는 데이터 삽입 처리부;
상기 n x k개의 화소들 중, 상기 제1 화소들에 대응되는 지점의 성분을 각 화소에 매칭된 그룹 번호로 지정하고, 상기 제1 화소들을 제외한 나머지 화소들에 대응되는 지점의 성분을 모두 0으로 지정한, n x k의 행렬을 생성하는 행렬 생성부;
상기 n x k의 행렬이 생성되면, 랜덤하게 선택된 자연수를 성분으로 갖는 n x k의 랜덤 행렬을 생성한 후, 상기 n x k의 행렬에 대해 상기 n x k의 랜덤 행렬과의 아다마르 곱(Hadamard product)을 연산하여 n x k의 연산 행렬을 생성하는 연산 행렬 생성부;
상기 n x k의 연산 행렬이 생성되면, 상기 사용자에게 상기 제1 개체에 대한 개체 보호 상태를 해제하기 위한 비밀번호를 설정하도록 지시하는 비밀번호 설정 메시지를 화면 상에 표시하는 비밀번호 설정 메시지 표시부;
상기 사용자에 의해 상기 제1 개체에 대한 개체 보호 상태를 해제하기 위한 비밀번호로 제1 비밀번호가 설정되면, 개체 이미지 테이블을 생성하여 상기 개체 이미지 테이블에 상기 제1 개체에 대한 고유 식별자, 상기 n x k의 연산 행렬, 상기 n x k의 랜덤 행렬 및 상기 제1 비밀번호를 서로 대응시켜 기록하는 비밀번호 기록부; 및
상기 개체 이미지 테이블을 구성하는 데이터를 상기 전자 문서의 파일 내에 삽입하는 테이블 삽입부
를 포함하는 전자 문서에 삽입되어 있는 개체의 원본 데이터 유지를 위한 개체 보호 기능을 제공하는 전자 장치.
When an object protection command for a first object among a plurality of objects inserted in an electronic document is received from a user, the first object is a first object image that is a capture image of the first object - The first object image is an object image converter that converts n x k pixels vertically (where n is a natural number greater than or equal to 2) and horizontally k (where k is a natural number greater than or equal to 2);
a data group unit generating a plurality of data groups by grouping the original data constituting the first object into 7-bit partial data;
When the plurality of data groups are generated, for each of the plurality of data groups, a group number (the group number is a natural number starting from 1) indicating a sequence number of each data group according to the arrangement order of the partial data is sequentially After allocating, a group number matching unit that randomly selects first pixels corresponding to the number of the plurality of data groups from among the nxk pixels, and randomly matches the group number to each of the first pixels ;
The alpha value for each of the first pixels - the alpha value is composed of a bit string having a data size of 8 bits, and is a pixel value representing the transparency of each pixel - 1 in the first digit Insertion of the original data into the first object image is performed by allocating a code and assigning one code constituting partial data belonging to each data group to the remaining seven positions based on the group number matched to each pixel. a data insertion processing unit that completes the processing;
Among the nxk pixels, a component of a point corresponding to the first pixels is designated as a group number matched to each pixel, and all components of a point corresponding to the remaining pixels except for the first pixels are designated as 0. , a matrix generator for generating an nxk matrix;
When the nxk matrix is generated, an nxk random matrix having a randomly selected natural number as a component is generated, and then a Hadamard product is calculated on the nxk matrix with the nxk random matrix to obtain an nxk an arithmetic matrix generating unit generating an arithmetic matrix;
a password setting message display unit for displaying on a screen a password setting message instructing the user to set a password for canceling the object protection state for the first object when the nxk operation matrix is generated;
When a first password is set as a password for canceling the object protection state for the first object by the user, an object image table is created and a unique identifier for the first object is calculated in the object image table, nxk a password recorder for recording a matrix, the nxk random matrix, and the first password in correspondence with each other; and
A table inserting unit for inserting data constituting the object image table into the file of the electronic document
An electronic device that provides object protection for maintaining the original data of an object embedded in an electronic document containing
삭제delete 제1항에 있어서,
상기 제1 개체 이미지에 상기 원본 데이터의 삽입이 완료된 후 상기 사용자로부터 상기 제1 개체에 대한 개체 보호 해제 명령이 수신되면, 상기 사용자에게 상기 제1 개체에 대한 개체 보호 상태를 해제하기 위한 비밀번호를 입력하도록 지시하는 비밀번호 입력 메시지를 화면 상에 표시하는 비밀번호 입력 메시지 표시부;
상기 사용자에 의해 상기 제1 개체에 대한 개체 보호 상태를 해제하기 위한 비밀번호로 제2 비밀번호가 입력되면, 상기 전자 문서의 파일 내에 삽입되어 있는 상기 개체 이미지 테이블에 대한 데이터를 로드하고, 상기 개체 이미지 테이블에서 상기 제1 개체에 대한 고유 식별자에 대응되는 상기 제1 비밀번호를 추출한 후 상기 제2 비밀번호가 상기 제1 비밀번호와 일치하는지를 확인하는 비밀번호 확인부;
상기 제2 비밀번호가 상기 제1 비밀번호와 일치하는 것으로 확인되면, 상기 개체 이미지 테이블로부터 상기 제1 개체에 대한 고유 식별자에 대응되는 상기 n x k의 연산 행렬과 상기 n x k의 랜덤 행렬을 추출하는 행렬 추출부;
상기 n x k의 랜덤 행렬의 성분들에 역수를 취하여 n x k의 역수 행렬을 생성하고, 상기 n x k의 연산 행렬에 대해 상기 n x k의 역수 행렬과의 아다마르 곱을 연산함으로써, n x k의 복원 행렬을 생성하는 복원 행렬 생성부;
상기 제1 개체 이미지를 구성하는 상기 n x k개의 화소들 중, 상기 n x k의 복원 행렬을 구성하는 성분들에서 0이 아닌 성분들이 위치하는 지점에 대응되는 화소들을 상기 제1 화소들로 선택하고, 상기 n x k의 복원 행렬을 구성하는 성분들에서 0이 아닌 성분들 각각을 상기 제1 화소들 각각에 매칭된 데이터 그룹의 그룹 번호로 확인한 후, 상기 제1 화소들로부터, 각 화소에 대한 알파값을 구성하는 8개의 자리 중 첫 번째 자리에 할당된 1의 코드를 제외하고, 나머지 7개의 자리에 할당된 7비트 단위의 부분 데이터를 구성하는 코드를, 각 화소에서 확인된 그룹 번호를 기초로 순차적으로 추출함으로써, 상기 제1 개체 이미지에 삽입된 상기 원본 데이터를 추출하는 데이터 추출부; 및
상기 제1 개체 이미지로부터 추출된 상기 원본 데이터를 기초로 상기 제1 개체 이미지를 상기 제1 개체로 변환함으로써, 상기 제1 개체를 복원하는 개체 복원부
를 더 포함하는 전자 문서에 삽입되어 있는 개체의 원본 데이터 유지를 위한 개체 보호 기능을 제공하는 전자 장치.
According to claim 1,
When an object protection release command for the first object is received from the user after the insertion of the original data into the first object image is completed, a password for canceling the object protection state for the first object is input to the user a password input message display unit for displaying a password input message instructing to do so on the screen;
When a second password is input by the user as a password for canceling the object protection state for the first object, data for the object image table inserted in the file of the electronic document is loaded, and the object image table a password check unit for extracting the first password corresponding to the unique identifier for the first object from the and confirming whether the second password matches the first password;
a matrix extraction unit for extracting the nxk operation matrix and the nxk random matrix corresponding to the unique identifier for the first object from the object image table when it is confirmed that the second password matches the first password;
A reconstruction matrix generating an n-by-k reconstruction matrix by taking the inverse of the components of the n-by-k random matrix to generate an n-by-k reciprocal matrix, and calculating the Hadamard product with the n-by-k inverse matrix on the n-by-k operation matrix wealth;
Among the nxk pixels constituting the first object image, pixels corresponding to points where non-zero components are located in the components constituting the nxk restoration matrix are selected as the first pixels, and the nxk pixels are selected as the first pixels. After identifying each non-zero component in the components constituting the restoration matrix of , as a group number of a data group matched to each of the first pixels, the first pixels constitute an alpha value for each pixel By sequentially extracting the codes constituting the 7-bit unit of partial data allocated to the remaining 7 digits, based on the group number identified in each pixel, except for the code of 1 allocated to the first digit among the 8 digits. , a data extraction unit for extracting the original data inserted into the first object image; and
An object restoration unit that restores the first object by converting the first object image into the first object based on the original data extracted from the first object image
An electronic device that provides object protection for maintaining the original data of an object embedded in an electronic document further comprising:
제3항에 있어서,
상기 데이터 삽입 처리부는
상기 제1 화소들 각각에 대한 알파값을 구성하는 8개의 자리 중 첫 번째 자리에 1의 코드를 할당하고, 나머지 7개의 자리에 각 화소에 매칭된 그룹 번호를 기초로, 각 데이터 그룹에 속하는 부분 데이터를 구성하는 코드를 하나씩 할당하되, 상기 복수의 데이터 그룹들 중 마지막 그룹 번호에 대응되는 데이터 그룹에 속하는 부분 데이터의 크기가 7비트보다 작은 경우, 상기 마지막 그룹 번호가 매칭된 화소에 대한 알파값을 구성하는 8개의 자리 중 부분 데이터가 삽입되지 않은 나머지 자리에 0의 코드를 할당함으로써, 상기 제1 개체 이미지에 상기 원본 데이터에 대한 삽입을 처리 완료하는 것을 특징으로 하는 전자 문서에 삽입되어 있는 개체의 원본 데이터 유지를 위한 개체 보호 기능을 제공하는 전자 장치.
4. The method of claim 3,
The data insertion processing unit
A code of 1 is assigned to the first digit among eight digits constituting the alpha value for each of the first pixels, and a part belonging to each data group based on the group number matched to each pixel in the remaining seven positions Allocate codes constituting data one by one, and when the size of partial data belonging to the data group corresponding to the last group number among the plurality of data groups is less than 7 bits, the alpha value for the pixel matched with the last group number An object inserted in an electronic document, characterized in that by assigning a code of 0 to the remaining positions where partial data is not inserted among 8 digits constituting the , the insertion of the original data into the first object image is completed. An electronic device that provides object protection to preserve the original data of
제4항에 있어서,
상기 비밀번호 기록부는
상기 원본 데이터의 크기를 확인한 후, 상기 개체 이미지 테이블에 상기 제1 개체에 대한 고유 식별자에 대응되도록 상기 원본 데이터의 크기를 추가로 기록하고,
상기 데이터 추출부는
상기 제1 화소들로부터, 7비트 단위의 부분 데이터가 상기 그룹 번호를 기초로 순차적으로 추출되면, 순차적으로 추출된 부분 데이터들을 연접(Concatenation)하여 연접 데이터를 생성하고, 상기 연접 데이터의 크기가 상기 개체 이미지 테이블에 기록되어 있는 상기 제1 개체에 대한 고유 식별자에 대응되는 상기 원본 데이터의 크기보다 큰 것으로 확인되는 경우, 상기 연접 데이터를 구성하는 비트열에서 첫 번째 자리의 비트 값을 시작으로 해서 상기 원본 데이터의 크기만큼에 해당되는 비트 값들로 구성되는 비트열을 상기 제1 개체 이미지에 삽입된 상기 원본 데이터로 추출하는 것을 특징으로 하는 전자 문서에 삽입되어 있는 개체의 원본 데이터 유지를 위한 개체 보호 기능을 제공하는 전자 장치.
5. The method of claim 4,
The password record
After confirming the size of the original data, additionally recording the size of the original data to correspond to the unique identifier for the first object in the object image table,
The data extraction unit
When partial data of 7-bit units are sequentially extracted from the first pixels based on the group number, the sequentially extracted partial data is concatenated to generate concatenated data, and the size of the concatenated data is When it is confirmed that the size of the original data corresponding to the unique identifier for the first object recorded in the object image table is larger than the size of the original data, starting with the bit value of the first digit in the bit string constituting the concatenated data, the An object protection function for maintaining the original data of an object inserted in an electronic document, characterized in that a bit string composed of bit values corresponding to the size of the original data is extracted as the original data inserted into the first object image electronic devices that provide
사용자로부터 전자 문서에 삽입되어 있는 복수의 개체들 중 제1 개체에 대한 개체 보호 명령이 수신되면, 상기 제1 개체를 상기 제1 개체에 대한 캡쳐 이미지인 제1 개체 이미지 - 상기 제1 개체 이미지는 세로 n(n은 2이상의 자연수)개, 가로 k(k는 2이상의 자연수)개의 n x k개의 화소들로 구성됨 - 로 변환하는 단계;
상기 제1 개체를 구성하는 원본 데이터를 7비트 단위의 부분 데이터들로 그룹화하여 복수의 데이터 그룹들을 생성하는 단계;
상기 복수의 데이터 그룹들이 생성되면, 상기 복수의 데이터 그룹들 각각에 대해, 부분 데이터들의 배열 순서에 따른 각 데이터 그룹의 순번을 나타내는 그룹 번호(상기 그룹 번호는 1부터 시작되는 자연수임)를 순차적으로 할당한 후, 상기 n x k개의 화소들 중 상기 복수의 데이터 그룹들의 개수만큼에 해당되는 제1 화소들을 랜덤하게 선택하여, 상기 제1 화소들 각각에 대해 상기 그룹 번호를 랜덤하게 매칭시키는 단계;
상기 제1 화소들 각각에 대한 알파값 - 상기 알파값은 8비트의 데이터 크기를 갖는 비트열로 구성되며, 각 화소의 투명도를 나타내는 화소값임 - 을 구성하는 8개의 자리 중 첫 번째 자리에 1의 코드를 할당하고, 나머지 7개의 자리에 각 화소에 매칭된 그룹 번호를 기초로, 각 데이터 그룹에 속하는 부분 데이터를 구성하는 코드를 하나씩 할당함으로써, 상기 제1 개체 이미지에 상기 원본 데이터에 대한 삽입을 처리 완료하는 단계;
상기 n x k개의 화소들 중, 상기 제1 화소들에 대응되는 지점의 성분을 각 화소에 매칭된 그룹 번호로 지정하고, 상기 제1 화소들을 제외한 나머지 화소들에 대응되는 지점의 성분을 모두 0으로 지정한, n x k의 행렬을 생성하는 단계;
상기 n x k의 행렬이 생성되면, 랜덤하게 선택된 자연수를 성분으로 갖는 n x k의 랜덤 행렬을 생성한 후, 상기 n x k의 행렬에 대해 상기 n x k의 랜덤 행렬과의 아다마르 곱(Hadamard product)을 연산하여 n x k의 연산 행렬을 생성하는 단계;
상기 n x k의 연산 행렬이 생성되면, 상기 사용자에게 상기 제1 개체에 대한 개체 보호 상태를 해제하기 위한 비밀번호를 설정하도록 지시하는 비밀번호 설정 메시지를 화면 상에 표시하는 단계;
상기 사용자에 의해 상기 제1 개체에 대한 개체 보호 상태를 해제하기 위한 비밀번호로 제1 비밀번호가 설정되면, 개체 이미지 테이블을 생성하여 상기 개체 이미지 테이블에 상기 제1 개체에 대한 고유 식별자, 상기 n x k의 연산 행렬, 상기 n x k의 랜덤 행렬 및 상기 제1 비밀번호를 서로 대응시켜 기록하는 단계; 및
상기 개체 이미지 테이블을 구성하는 데이터를 상기 전자 문서의 파일 내에 삽입하는 단계
를 포함하는 전자 문서에 삽입되어 있는 개체의 원본 데이터 유지를 위한 개체 보호 기능을 제공하는 전자 장치의 동작 방법.
When an object protection command for a first object among a plurality of objects inserted in an electronic document is received from a user, the first object is a first object image that is a capture image of the first object - The first object image is converting to n x k pixels vertically (n is a natural number greater than or equal to 2) and horizontally k (where k is a natural number greater than or equal to 2);
generating a plurality of data groups by grouping the original data constituting the first object into 7-bit partial data;
When the plurality of data groups are generated, for each of the plurality of data groups, a group number (the group number is a natural number starting from 1) indicating a sequence number of each data group according to the arrangement order of the partial data is sequentially after allocating, randomly selecting first pixels corresponding to the number of the plurality of data groups from among the nxk pixels, and randomly matching the group number to each of the first pixels;
The alpha value for each of the first pixels - the alpha value is composed of a bit string having a data size of 8 bits, and is a pixel value representing the transparency of each pixel - 1 in the first digit Insertion of the original data into the first object image is performed by allocating a code and assigning one code constituting partial data belonging to each data group to the remaining seven positions based on the group number matched to each pixel. processing completion;
Among the nxk pixels, a component of a point corresponding to the first pixels is designated as a group number matched to each pixel, and all components of a point corresponding to the remaining pixels except for the first pixels are designated as 0. , generating a matrix of nxk;
When the nxk matrix is generated, an nxk random matrix having a randomly selected natural number as a component is generated, and then a Hadamard product is calculated on the nxk matrix with the nxk random matrix to obtain an nxk generating an operation matrix;
when the nxk operation matrix is generated, displaying a password setting message instructing the user to set a password for canceling the object protection state for the first object on a screen;
When a first password is set as a password for canceling the object protection state for the first object by the user, an object image table is created and a unique identifier for the first object is calculated in the object image table, nxk recording a matrix, the nxk random matrix, and the first password in correspondence with each other; and
Inserting data constituting the object image table into a file of the electronic document
An operating method of an electronic device that provides an object protection function for maintaining the original data of an object inserted in an electronic document containing a.
삭제delete 제6항에 있어서,
상기 제1 개체 이미지에 상기 원본 데이터의 삽입이 완료된 후 상기 사용자로부터 상기 제1 개체에 대한 개체 보호 해제 명령이 수신되면, 상기 사용자에게 상기 제1 개체에 대한 개체 보호 상태를 해제하기 위한 비밀번호를 입력하도록 지시하는 비밀번호 입력 메시지를 화면 상에 표시하는 단계;
상기 사용자에 의해 상기 제1 개체에 대한 개체 보호 상태를 해제하기 위한 비밀번호로 제2 비밀번호가 입력되면, 상기 전자 문서의 파일 내에 삽입되어 있는 상기 개체 이미지 테이블에 대한 데이터를 로드하고, 상기 개체 이미지 테이블에서 상기 제1 개체에 대한 고유 식별자에 대응되는 상기 제1 비밀번호를 추출한 후 상기 제2 비밀번호가 상기 제1 비밀번호와 일치하는지를 확인하는 단계;
상기 제2 비밀번호가 상기 제1 비밀번호와 일치하는 것으로 확인되면, 상기 개체 이미지 테이블로부터 상기 제1 개체에 대한 고유 식별자에 대응되는 상기 n x k의 연산 행렬과 상기 n x k의 랜덤 행렬을 추출하는 단계;
상기 n x k의 랜덤 행렬의 성분들에 역수를 취하여 n x k의 역수 행렬을 생성하고, 상기 n x k의 연산 행렬에 대해 상기 n x k의 역수 행렬과의 아다마르 곱을 연산함으로써, n x k의 복원 행렬을 생성하는 단계;
상기 제1 개체 이미지를 구성하는 상기 n x k개의 화소들 중, 상기 n x k의 복원 행렬을 구성하는 성분들에서 0이 아닌 성분들이 위치하는 지점에 대응되는 화소들을 상기 제1 화소들로 선택하고, 상기 n x k의 복원 행렬을 구성하는 성분들에서 0이 아닌 성분들 각각을 상기 제1 화소들 각각에 매칭된 데이터 그룹의 그룹 번호로 확인한 후, 상기 제1 화소들로부터, 각 화소에 대한 알파값을 구성하는 8개의 자리 중 첫 번째 자리에 할당된 1의 코드를 제외하고, 나머지 7개의 자리에 할당된 7비트 단위의 부분 데이터를 구성하는 코드를, 각 화소에서 확인된 그룹 번호를 기초로 순차적으로 추출함으로써, 상기 제1 개체 이미지에 삽입된 상기 원본 데이터를 추출하는 단계; 및
상기 제1 개체 이미지로부터 추출된 상기 원본 데이터를 기초로 상기 제1 개체 이미지를 상기 제1 개체로 변환함으로써, 상기 제1 개체를 복원하는 단계
를 더 포함하는 전자 문서에 삽입되어 있는 개체의 원본 데이터 유지를 위한 개체 보호 기능을 제공하는 전자 장치의 동작 방법.
7. The method of claim 6,
When an object protection release command for the first object is received from the user after the insertion of the original data into the first object image is completed, a password for canceling the object protection state for the first object is input to the user displaying a password input message instructing to do so;
When a second password is input by the user as a password for canceling the object protection state for the first object, data for the object image table inserted in the file of the electronic document is loaded, and the object image table extracting the first password corresponding to the unique identifier for the first entity and checking whether the second password matches the first password;
when it is confirmed that the second password matches the first password, extracting the nxk operation matrix and the nxk random matrix corresponding to the unique identifier for the first entity from the entity image table;
generating an nxk reciprocal matrix by taking the inverse of the components of the nxk random matrix, and calculating a Hadamard product with the nxk inverse matrix on the nxk operation matrix to generate an nxk restoration matrix;
Among the nxk pixels constituting the first object image, pixels corresponding to points where non-zero components are located in the components constituting the nxk reconstruction matrix are selected as the first pixels, and the nxk pixels are selected as the first pixels. After identifying each non-zero component in the components constituting the restoration matrix of , as a group number of a data group matched to each of the first pixels, the first pixels constitute an alpha value for each pixel By sequentially extracting the codes constituting the 7-bit unit of partial data allocated to the remaining 7 digits, based on the group number identified in each pixel, except for the code of 1 allocated to the first digit among the 8 digits. , extracting the original data inserted into the first object image; and
restoring the first object by converting the first object image into the first object based on the original data extracted from the first object image
An operating method of an electronic device that provides an object protection function for maintaining the original data of the object inserted in the electronic document further comprising a.
제8항에 있어서,
상기 원본 데이터에 대한 삽입을 처리 완료하는 단계는
상기 제1 화소들 각각에 대한 알파값을 구성하는 8개의 자리 중 첫 번째 자리에 1의 코드를 할당하고, 나머지 7개의 자리에 각 화소에 매칭된 그룹 번호를 기초로, 각 데이터 그룹에 속하는 부분 데이터를 구성하는 코드를 하나씩 할당하되, 상기 복수의 데이터 그룹들 중 마지막 그룹 번호에 대응되는 데이터 그룹에 속하는 부분 데이터의 크기가 7비트보다 작은 경우, 상기 마지막 그룹 번호가 매칭된 화소에 대한 알파값을 구성하는 8개의 자리 중 부분 데이터가 삽입되지 않은 나머지 자리에 0의 코드를 할당함으로써, 상기 제1 개체 이미지에 상기 원본 데이터에 대한 삽입을 처리 완료하는 것을 특징으로 하는 전자 문서에 삽입되어 있는 개체의 원본 데이터 유지를 위한 개체 보호 기능을 제공하는 전자 장치의 동작 방법.
9. The method of claim 8,
The step of completing the processing of inserting the original data is
A code of 1 is assigned to the first digit among eight digits constituting the alpha value for each of the first pixels, and a part belonging to each data group based on the group number matched to each pixel in the remaining seven positions Allocate codes constituting data one by one, and when the size of partial data belonging to the data group corresponding to the last group number among the plurality of data groups is less than 7 bits, the alpha value for the pixel matched with the last group number An object inserted in an electronic document, characterized in that by assigning a code of 0 to the remaining positions where partial data is not inserted among 8 digits constituting the , the insertion of the original data into the first object image is completed. A method of operation of an electronic device that provides object protection for preserving the original data of
제9항에 있어서,
상기 제1 비밀번호를 서로 대응시켜 기록하는 단계는
상기 원본 데이터의 크기를 확인한 후, 상기 개체 이미지 테이블에 상기 제1 개체에 대한 고유 식별자에 대응되도록 상기 원본 데이터의 크기를 추가로 기록하고,
상기 원본 데이터를 추출하는 단계는
상기 제1 화소들로부터, 7비트 단위의 부분 데이터가 상기 그룹 번호를 기초로 순차적으로 추출되면, 순차적으로 추출된 부분 데이터들을 연접(Concatenation)하여 연접 데이터를 생성하고, 상기 연접 데이터의 크기가 상기 개체 이미지 테이블에 기록되어 있는 상기 제1 개체에 대한 고유 식별자에 대응되는 상기 원본 데이터의 크기보다 큰 것으로 확인되는 경우, 상기 연접 데이터를 구성하는 비트열에서 첫 번째 자리의 비트 값을 시작으로 해서 상기 원본 데이터의 크기만큼에 해당되는 비트 값들로 구성되는 비트열을 상기 제1 개체 이미지에 삽입된 상기 원본 데이터로 추출하는 것을 특징으로 하는 전자 문서에 삽입되어 있는 개체의 원본 데이터 유지를 위한 개체 보호 기능을 제공하는 전자 장치의 동작 방법.
10. The method of claim 9,
The step of recording the first password in correspondence with each other is
After confirming the size of the original data, additionally recording the size of the original data to correspond to the unique identifier for the first object in the object image table,
The step of extracting the original data is
When partial data of 7-bit units are sequentially extracted from the first pixels based on the group number, the sequentially extracted partial data is concatenated to generate concatenated data, and the size of the concatenated data is When it is confirmed that the size of the original data corresponding to the unique identifier for the first object recorded in the object image table is larger than the size of the original data, starting with the bit value of the first digit in the bit string constituting the concatenated data, the An object protection function for maintaining the original data of an object inserted in an electronic document, characterized in that a bit string composed of bit values corresponding to the size of the original data is extracted as the original data inserted into the first object image An operating method of an electronic device that provides
제6항, 제8항, 제9항 또는 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium recording a computer program for executing the method of any one of claims 6, 8, 9 or 10 through combination with a computer. 제6항, 제8항, 제9항 또는 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.A computer program stored in a storage medium for executing the method of any one of claims 6, 8, 9 or 10 in combination with a computer.
KR1020200056901A 2020-05-13 2020-05-13 Electronic device that provides object protection function for maintaining the original data of object embedded in electronic document and operating method thereof KR102328054B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200056901A KR102328054B1 (en) 2020-05-13 2020-05-13 Electronic device that provides object protection function for maintaining the original data of object embedded in electronic document and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200056901A KR102328054B1 (en) 2020-05-13 2020-05-13 Electronic device that provides object protection function for maintaining the original data of object embedded in electronic document and operating method thereof

Publications (1)

Publication Number Publication Date
KR102328054B1 true KR102328054B1 (en) 2021-11-17

Family

ID=78702553

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200056901A KR102328054B1 (en) 2020-05-13 2020-05-13 Electronic device that provides object protection function for maintaining the original data of object embedded in electronic document and operating method thereof

Country Status (1)

Country Link
KR (1) KR102328054B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007095102A (en) * 2006-12-25 2007-04-12 Toshiba Corp Document processor and document processing method
KR100887462B1 (en) * 2002-12-03 2009-03-10 마이크로소프트 코포레이션 Alpha correction to compensate for lack of gamma correction
KR20100098332A (en) * 2009-02-27 2010-09-06 캐논 가부시끼가이샤 Image processing apparatus, image processing method, and computer-readable storage medium
KR20110091296A (en) * 2010-02-05 2011-08-11 삼성전자주식회사 Document writing device and method
KR20190135700A (en) * 2018-05-29 2019-12-09 주식회사 한글과컴퓨터 Apparatus for protecting contents of spread sheet type electric document and operating method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100887462B1 (en) * 2002-12-03 2009-03-10 마이크로소프트 코포레이션 Alpha correction to compensate for lack of gamma correction
JP2007095102A (en) * 2006-12-25 2007-04-12 Toshiba Corp Document processor and document processing method
KR20100098332A (en) * 2009-02-27 2010-09-06 캐논 가부시끼가이샤 Image processing apparatus, image processing method, and computer-readable storage medium
KR20110091296A (en) * 2010-02-05 2011-08-11 삼성전자주식회사 Document writing device and method
KR20190135700A (en) * 2018-05-29 2019-12-09 주식회사 한글과컴퓨터 Apparatus for protecting contents of spread sheet type electric document and operating method thereof

Similar Documents

Publication Publication Date Title
JP3937841B2 (en) Information processing apparatus and control method thereof
KR102395647B1 (en) Electronic device that enables the insertion of data into image contained in electronic document and operating method thereof
KR102328047B1 (en) Electronic device that can insert information about the document security level on the document through an image for watermark and operating method thereof
US20190066254A1 (en) Image processing device, image processing method, and program
KR20060106835A (en) Data Compression System And Method
US7558961B2 (en) Systems and methods for embedding messages in look-up tables
CN103745479A (en) Digital steganography and steganalysis method for color image
KR102144351B1 (en) Electronic terminal device supporting easy undo processing of electronic document and operating method thereof
KR102328054B1 (en) Electronic device that provides object protection function for maintaining the original data of object embedded in electronic document and operating method thereof
CN107481181B (en) A picture hiding method, restoration method and picture hiding system for protecting personal privacy
KR101669854B1 (en) Data concealment apparatus and method based on continuous integer transform
US6850624B1 (en) Data embedding apparatus, data extracting apparatus, and method therefor, and recording medium having such methods recorded thereon
KR102384983B1 (en) Electronic terminal device which is able to create a composite image with the face image of a celebrity and the face image of a user and the operating method thereof
CN110955889A (en) Electronic document tracing method based on digital fingerprints
US20230237616A1 (en) Image processing system and method for generating a super-resolution image
CN111669477B (en) Image processing method, system, device, equipment and computer storage medium
KR101865116B1 (en) Apparatus and method for processing hidden data
Pujari et al. An image based steganography scheme implying pseudo-random mapping of text segments to logical region of cover image using a new block mapping function and randomization technique
KR102765256B1 (en) Plastic surgery information platform service server that can provide results and cost information for plastic surgery created based on a patient's face image, and the operating method thereof
US6963655B1 (en) Alteration detection apparatus and method thereof
Pandey et al. Hiding secret image in video
KR101383639B1 (en) Image block selection based data hiding device and method
CN118590715B (en) Video stitching aggregation system
RU2829566C1 (en) Method and system for protecting authenticity of images generated by machine learning model
KR20200104034A (en) Data distribution storage apparatus and method using partitioned iteration code

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20200513

PA0201 Request for examination
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20210724

Patent event code: PE09021S01D

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

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20211021

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20211112

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20211112

End annual number: 3

Start annual number: 1

PG1601 Publication of registration