KR20220074483A - Method and apparatus for controlling multimedia contents version - Google Patents

Method and apparatus for controlling multimedia contents version Download PDF

Info

Publication number
KR20220074483A
KR20220074483A KR1020200163033A KR20200163033A KR20220074483A KR 20220074483 A KR20220074483 A KR 20220074483A KR 1020200163033 A KR1020200163033 A KR 1020200163033A KR 20200163033 A KR20200163033 A KR 20200163033A KR 20220074483 A KR20220074483 A KR 20220074483A
Authority
KR
South Korea
Prior art keywords
content
similarity
new
root
contents
Prior art date
Application number
KR1020200163033A
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 KR1020200163033A priority Critical patent/KR20220074483A/en
Publication of KR20220074483A publication Critical patent/KR20220074483A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23103Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving video stream encryption

Abstract

멀티미디어 콘텐츠 버전 관리 방법 및 장치가 제공된다. 관리 장치가, 새로운 콘텐츠의 등록 요청이 입력되면, 트리 데이터 구조의 콘텐츠 버전 정보에 포함되어 있는 콘텐츠들과 새로운 콘텐츠의 유사도를 각각 계산한다. 그리고 유사도를 기반으로 새로운 콘텐츠를 데이터 트리 구조의 콘텐츠 버전 정보에 루트 콘텐츠 또는 자식 콘텐츠로서 등록하고, 새로운 콘텐츠의 등록에 따른 변경 내역을 블록체인에 기록한다. A method and apparatus for managing multimedia content versions are provided. When a new content registration request is input, the management device calculates the similarity between the new content and the content included in the content version information of the tree data structure, respectively. And, based on the similarity, new content is registered as root content or child content in the content version information of the data tree structure, and the change history according to the registration of the new content is recorded in the block chain.

Description

멀티미디어 콘텐츠 버전 관리 방법 및 장치{Method and apparatus for controlling multimedia contents version} Multimedia content version management method and apparatus {Method and apparatus for controlling multimedia contents version}

본 개시는 콘텐츠 버전 관리에 관한 것으로, 더욱 상세하게 말하자면, 블록체인 기반 멀티미디어 콘텐츠 버전 관리 방법 및 장치에 관한 것이다. The present disclosure relates to content version management, and more particularly, to a blockchain-based multimedia content version management method and apparatus.

버전 관리 시스템은 디지털 문서 또는 소스 코드를 보존하고, 그 변경 내역을 기록하는 도구이다. 특히 누가, 언제, 어떤 내용을 수정하였는지 정확히 기록하여 공유 및 협업 시 발생할 수 있는 오류로부터 복구할 수 있게 한다. 기존의 버전 관리 시스템의 큰 문제 중 하나는, 디지털 문서 또는 소스 코드를 중앙 서버에 저장하는 구조로 인해, 중앙 서버에 문제가 발생할 경우 문서나 코드에 접근할 수 없다는 점이다. 이러한 중앙 집중식 버전 관리 시스템의 문제를 해결하기 위해 Git와 같은 분산 버전 관리 시스템이 제공되었으며, 분산 버전 관리 시스템은 각 사용자의 로컬에 디지털 문서 또는 소스 코드를 저장하고 이후 이들을 합칠(merge) 도구를 제공한다.A version control system is a tool for preserving digital documents or source code and recording the change history. In particular, it accurately records who, when, and what modified content so that it can be recovered from errors that may occur during sharing and collaboration. One of the major problems of the existing version control system is that, due to the structure of storing digital documents or source codes in a central server, if a problem occurs in the central server, the documents or codes cannot be accessed. To solve the problem of such a centralized version control system, a distributed version control system such as Git has been provided, which stores digital documents or source code locally for each user and provides a tool to subsequently merge them. do.

다만, 분산 버전 관리 시스템은, 각 사용자의 로컬에 저장되어 있는 디지털 문서 및 소스 코드를 강제로 동기화할 방법이 존재하지 않기 때문에, 각 사용자들이 서로 다른 버전의 디지털 문서 및 소스 코드를 가지고 있을 가능성이 크다.However, in the distributed version control system, since there is no way to forcibly synchronize each user's locally stored digital document and source code, there is a possibility that each user has a different version of the digital document and source code. Big.

또한, 분산 버전 관리 시스템에서는 사용자들이 로컬에 저장된 디지털 문서 및 소스 코드의 변경 내역을 마음대로 수정할 수 있으므로, 문서의 진위 및 원저작자가 누구인지를 증명하는 것이 불가능하다.In addition, in a distributed version control system, since users can freely modify changes to a digital document and source code stored locally, it is impossible to prove the authenticity of a document and who the original author is.

한편, 텍스트로 저장되는 디지털 문서 또는 소스 코드는, 데이터의 변경 내역을 구체적으로 기술할 수 있는 도구(예를 들어 Unix Diff)들이 존재한다. 그러나 멀티미디어 데이터와 같이 일반적으로 텍스트로 저장될 수 없는 데이터들은 텍스트에 사용되는 변경 내용 비교 도구를 적용할 수 없다. 따라서, 바이너리로 저장되는 비(非)텍스트 데이터인 이미지, 비디오, 오디오 등 멀티미디어 데이터는 기존 버전 관리 시스템과는 다른 접근 방법이 필요하다.On the other hand, in a digital document or source code stored as text, there are tools (eg, Unix Diff) that can specifically describe the change history of data. However, data that cannot be generally stored as text, such as multimedia data, cannot be applied with the change comparison tool used for text. Therefore, multimedia data such as images, videos, and audio, which are non-text data stored in binary, requires a different approach from the existing version control system.

본 개시가 해결하고자 하는 과제는, 블록체인을 이용하여 분산 저장된 멀티미디어 콘텐츠를 보존하고 그 변경 내용을 추적할 수 있도록, 콘텐츠 버전 관리를 수행하는 방법 및 장치를 제공하는 것이다. An object to be solved by the present disclosure is to provide a method and apparatus for performing content version management so as to preserve distributed and stored multimedia content using a block chain and track changes thereof.

또한, 본 개시가 해결하고자 하는 과제는, 텍스트가 아닌 바이너리 형태의 멀티미디어 데이터에 대해 변경 내용을 기술할 수 있는 콘텐츠 버전 관리 방법 및 장치를 제공하는 것이다. In addition, an object of the present disclosure is to provide a content version management method and apparatus capable of describing changes to multimedia data in binary form rather than text.

본 개시의 실시 예에 따르면, 멀티미디어 콘텐츠의 버전 관리를 수행하는 방법이 제공된다. 상기 방법은, 관리 장치가, 새로운 콘텐츠의 등록 요청이 입력되면, 트리 데이터 구조의 콘텐츠 버전 정보에 포함되어 있는 콘텐츠들과 상기 새로운 콘텐츠의 유사도를 각각 계산하는 단계; 상기 관리 장치가, 상기 유사도를 기반으로 상기 새로운 콘텐츠를 상기 데이터 트리 구조의 콘텐츠 버전 정보에 루트 콘텐츠 또는 자식 콘텐츠로서 등록하는 단계; 및 상기 관리 장치가, 상기 새로운 콘텐츠의 등록에 따른 변경 내역을 블록체인에 기록하는 단계를 포함한다. According to an embodiment of the present disclosure, a method for performing version management of multimedia content is provided. The method includes: calculating, by the management device, a degree of similarity between the new content and the content included in the content version information of the tree data structure, respectively, when a new content registration request is input; registering, by the management device, the new content as root content or child content in content version information of the data tree structure based on the similarity; and recording, by the management device, a change history according to the registration of the new content in the block chain.

일 구현 예에서, 상기 블록체인에 기록하는 단계는, 상기 등록된 콘텐츠의 부모 콘텐츠의 해시값과 해당 부모 콘텐츠와의 유사도를 포함하는 콘텐츠 데이터 등록 트랜잭션을 상기 블록체인에 기록하는 단계를 포함할 수 있다. In one embodiment, the step of recording in the block chain may include recording a content data registration transaction including a hash value of the parent content of the registered content and a similarity with the parent content in the block chain. have.

일 구현 예에서, 상기 새로운 콘텐츠가 루트 콘텐츠로서 등록된 경우, 상기 부모 콘텐츠의 해시값은 기존 루트 노드들의 콘텐츠들 중에서 상기 새로운 콘텐츠와 가장 높은 유사도를 가지는 루트 노드의 콘텐츠의 해시값이며, 상기 새로운 콘텐츠가 자식 콘텐츠로서 등록된 경우, 상기 부모 콘텐츠의 해시값은 상기 새로운 콘텐츠와 동일하다고 판단된 콘텐츠의 해시값일 수 있다. In one embodiment, when the new content is registered as root content, the hash value of the parent content is a hash value of the content of the root node having the highest similarity to the new content among the content of existing root nodes, and the new content When the content is registered as child content, the hash value of the parent content may be a hash value of the content determined to be the same as the new content.

일 구현 예에서, 상기 블록체인에 기록하는 단계는, 상기 등록된 콘텐츠의 암호화를 위한 암호화 해시를 포함하는 콘텐츠 해시 등록 트랜잭션을 상기 블록 체인에 기록하는 단계를 더 포함할 수 있다. 이 경우, 상기 콘텐츠 해시 등록 트랜잭션을 상기 블록 체인에 기록하는 단계 이후에, 상기 콘텐츠 데이터 등록 트랜잭션을 상기 블록체인에 기록하는 단계가 수행될 수 있다. In one embodiment, the recording in the block chain may further include recording a content hash registration transaction including a cryptographic hash for encryption of the registered content in the block chain. In this case, after the step of recording the content hash registration transaction in the block chain, the step of recording the content data registration transaction in the block chain may be performed.

일 구현 예에서, 상기 콘텐츠들과의 유사도를 각각 계산하는 단계는, 상기 콘텐츠 버전 정보에 등록되어 있는 모든 콘텐츠들 중에서 루트 노드에 대응하는 루트 콘텐츠들과 상기 새로운 콘텐츠의 유사도를 각각 계산하는 단계; 상기 계산된 유사도 중에서 미리 설정된 최대 루트 유사도를 초과하는 유사도를 가지는 루트 콘텐츠가 있는 경우에, 상기 루트 노드에 대응하는 루트 콘텐츠들 중에서 가장 큰 유사도를 가지는 루트 콘텐츠를 선택하는 단계; 및 상기 선택된 루트 콘텐츠의 자식 노드로 등록된 자식 콘텐츠들과 상기 새로운 콘텐츠의 유사도를 각각 계산하는 단계를 포함할 수 있다. In one embodiment, the calculating of the degree of similarity with the contents may include calculating a similarity between root contents corresponding to a root node and the new contents among all contents registered in the contents version information; selecting a route content having the greatest similarity among the root contents corresponding to the root node when there is a root content having a similarity exceeding a preset maximum root similarity among the calculated similarities; and calculating a similarity between the new content and the child content registered as a child node of the selected root content.

일 구현 예에서, 상기 등록하는 단계는, 상기 계산된 유사도 중에서 미리 설정된 최대 루트 유사도를 초과하는 유사도를 가지는 루트 콘텐츠가 없는 경우에, 상기 새로운 콘텐츠를 새로운 루트 콘텐츠로서 등록하는 단계를 포함할 수 있다. In one embodiment, the registering may include registering the new content as new route content when there is no route content having a similarity exceeding a preset maximum route similarity among the calculated similarities. .

일 구현 예에서, 상기 등록하는 단계는, 상기 선택된 루트 콘텐츠의 자식 노드로 등록된 자식 콘텐츠들과 상기 새로운 콘텐츠의 유사도 중에서 미리 설정된 동일 유사성을 초과하는 유사도를 가지는 자식 콘텐츠가 없는 경우에, 가장 큰 유사도를 가지는 자식 콘텐츠를 선택하는 단계; 및 상기 새로운 콘텐츠를 상기 선택된 자식 콘텐츠의 자식 콘텐츠로서 등록하는 단계를 포함할 수 있다. In an embodiment, the registering may include, when there is no child content having a similarity exceeding a preset same similarity among child contents registered as a child node of the selected root content and the new content, the largest selecting child content having similarity; and registering the new content as child content of the selected child content.

일 구현 예에서, 상기 유사도를 각각 계산하는 단계는 심층 신경망 학습을 통해 획득되는 유사도 함수를 이용하여, 상기 콘텐츠 버전 정보에 포함되어 있는 콘텐츠들과 상기 새로운 콘텐츠의 유사도를 계산할 수 있다. In an embodiment, the calculating of the similarity may include calculating the similarity between the contents included in the content version information and the new content by using a similarity function obtained through deep neural network learning.

본 발명의 다른 실시 예에 따르면, 멀티미디어 콘텐츠의 버전 관리를 수행하는 장치가 제공된다. 상기 장치는, 새로이 등록할 콘텐츠를 입력받도록 구성된 인터페이스 장치; 및 상기 인터페이스 장치를 통해 입력되는 콘텐츠에 대한 등록 처리를 수행하도록 구성된 프로세서를 포함하고, 상기 프로세서는, 상기 인터페이스 장치를 통해 새로운 콘텐츠의 등록 요청이 입력되면, 트리 데이터 구조의 콘텐츠 버전 정보에 포함되어 있는 콘텐츠들과 상기 새로운 콘텐츠의 유사도를 각각 계산하는 동작; 상기 유사도를 기반으로 상기 새로운 콘텐츠를 상기 데이터 트리 구조의 콘텐츠 버전 정보에 루트 콘텐츠 또는 자식 콘텐츠로서 등록하는 동작; 및 상기 새로운 콘텐츠의 등록에 따른 변경 내역을 블록체인에 기록하는 동작을 수행하도록 구성된다. According to another embodiment of the present invention, an apparatus for performing version management of multimedia content is provided. The device may include: an interface device configured to receive content to be newly registered; and a processor configured to perform registration processing for content input through the interface device, wherein the processor is included in the content version information of the tree data structure when a registration request for new content is input through the interface device calculating a similarity between existing contents and the new contents, respectively; registering the new content as root content or child content in content version information of the data tree structure based on the similarity; And it is configured to perform an operation of recording the change history according to the registration of the new content in the block chain.

일 구현 예에서, 상기 프로세서는 상기 블록체인에 기록하는 동작 수행시, 상기 등록된 콘텐츠의 부모 콘텐츠의 해시값과 해당 부모 콘텐츠와의 유사도를 포함하는 콘텐츠 데이터 등록 트랜잭션을 상기 블록체인에 기록하는 동작을 수행하도록 구성될 수 있다. In one embodiment, when the processor performs the operation of recording in the block chain, the operation of recording the content data registration transaction including the hash value of the parent content of the registered content and the similarity with the parent content in the block chain may be configured to perform

일 구현 예에서, 상기 새로운 콘텐츠가 루트 콘텐츠로서 등록된 경우, 상기 부모 콘텐츠의 해시값은 기존 루트 노드들의 콘텐츠들 중에서 상기 새로운 콘텐츠와 가장 높은 유사도를 가지는 루트 노드의 콘텐츠의 해시값이며, 상기 새로운 콘텐츠가 자식 콘텐츠로서 등록된 경우, 상기 부모 콘텐츠의 해시값은 상기 새로운 콘텐츠와 동일하다고 판단된 콘텐츠의 해시값일 수 있다. In one embodiment, when the new content is registered as root content, the hash value of the parent content is a hash value of the content of the root node having the highest similarity to the new content among the content of existing root nodes, and the new content When the content is registered as child content, the hash value of the parent content may be a hash value of the content determined to be the same as the new content.

일 구현 예에서, 상기 프로세서는 상기 블록체인에 기록하는 동작 수행시, 상기 등록된 콘텐츠의 암호화를 위한 암호화 해시를 포함하는 콘텐츠 해시 등록 트랜잭션을 상기 블록 체인에 기록하는 동작을 추가적으로 수행하고, 상기 콘텐츠 해시 등록 트랜잭션을 상기 블록 체인에 기록하는 동작 이후에, 상기 콘텐츠 데이터 등록 트랜잭션을 상기 블록체인에 기록하는 동작이 수행될 수 있다. In one embodiment, the processor additionally performs an operation of recording a content hash registration transaction including a cryptographic hash for encryption of the registered content in the block chain when performing the recording operation in the block chain, and the content After the operation of recording the hash registration transaction in the block chain, the operation of recording the content data registration transaction in the block chain may be performed.

일 구현 예에서, 상기 프로세서는 상기 콘텐츠들과의 유사도를 각각 계산하는 동작 수행시, 상기 콘텐츠 버전 정보에 등록되어 있는 모든 콘텐츠들 중에서 루트 노드에 대응하는 루트 콘텐츠들과 상기 새로운 콘텐츠의 유사도를 각각 계산하는 동작; 상기 계산된 유사도 중에서 미리 설정된 최대 루트 유사도를 초과하는 유사도를 가지는 루트 콘텐츠가 있는 경우에, 상기 루트 노드에 대응하는 루트 콘텐츠들 중에서 가장 큰 유사도를 가지는 루트 콘텐츠를 선택하는 동작; 및 상기 선택된 루트 콘텐츠의 자식 노드로 등록된 자식 콘텐츠들과 상기 새로운 콘텐츠의 유사도를 각각 계산하는 동작을 수행하도록 구성될 수 있다. In an embodiment, when the processor performs the operation of calculating the degree of similarity with the contents, each of the similarities between the root contents corresponding to the root node and the new contents among all contents registered in the contents version information counting; selecting a route content having the greatest similarity from among the root contents corresponding to the root node when there is a root content having a similarity exceeding a preset maximum root similarity among the calculated similarities; and calculating a similarity between the new content and child content registered as a child node of the selected root content, respectively.

일 구현 예에서, 상기 프로세서는 상기 등록하는 동작 수행시, 상기 계산된 유사도 중에서 미리 설정된 최대 루트 유사도를 초과하는 유사도를 가지는 루트 콘텐츠가 없는 경우에, 상기 새로운 콘텐츠를 새로운 루트 콘텐츠로서 등록하는 동작을 수행하도록 구성될 수 있다. In one embodiment, when performing the registering operation, if there is no route content having a similarity exceeding a preset maximum route similarity among the calculated similarities, the processor registers the new content as new route content. may be configured to perform.

일 구현 예에서, 상기 프로세서는 상기 등록하는 동작 수행시, 상기 선택된 루트 콘텐츠의 자식 노드로 등록된 자식 콘텐츠들과 상기 새로운 콘텐츠의 유사도 중에서 미리 설정된 동일 유사성을 초과하는 유사도를 가지는 자식 콘텐츠가 없는 경우에, 가장 큰 유사도를 가지는 자식 콘텐츠를 선택하는 동작; 및 상기 새로운 콘텐츠를 상기 선택된 자식 콘텐츠의 자식 콘텐츠로서 등록하는 동작을 수행하도록 구성될 수 있다. In one implementation, when the processor performs the registering operation, if there is no child content having a similarity exceeding a preset same similarity among child contents registered as a child node of the selected root content and the new content , selecting the child content having the greatest similarity; and registering the new content as child content of the selected child content.

일 구현 예에서, 상기 프로세서는 심층 신경망 학습을 통해 획득되는 유사도 함수를 이용하여, 상기 콘텐츠 버전 정보에 포함되어 있는 콘텐츠들과 상기 새로운 콘텐츠의 유사도를 계산하도록 구성될 수 있다. In an embodiment, the processor may be configured to calculate a similarity between the contents included in the content version information and the new content by using a similarity function obtained through deep neural network learning.

실시 예들에 따르면, 멀티미디어 콘텐츠와 같이 텍스트로 표현되지 않는 데이터의 버전 관리를 수행할 수 있다. 특히 콘텐츠 등록 및 변경 내용을 블록체인 분산 원장에 저장함으로써, 신뢰할 수 있는 콘텐츠 보존 및 저작권 권리 정보 확인을 기대할 수 있다.According to embodiments, version management of data that is not expressed in text, such as multimedia content, may be performed. In particular, by storing content registration and changes in the blockchain distributed ledger, reliable content preservation and confirmation of copyright rights information can be expected.

도 1은 본 발명의 실시 예에 따른 트리 데이터 구조의 콘텐츠 버전 정보의 예를 나타낸 도이다.
도 2는 본 발명의 실시 예에 따른 트리 데이터 구조의 콘텐츠 버전 정보에 콘텐츠 노드를 추가하는 예를 나타낸 도이다.
도 3은 본 발명의 실시 예에 따른 심층 신경망을 통해 유사도를 획득하는 예를 나타낸 도이다.
도 4는 본 발명의 실시 예에 따른 콘텐츠 버전 관리 방법에서 콘텐츠 변경 내용을 기록하는 과정의 흐름도이다.
도 5는 본 발명의 실시 예에 따른 블록체인의 구조의 예를 나타낸 도이다.
도 6은 본 발명의 실시 예에 따른 콘텐츠 해시 등록 트랜잭션의 예를 나타낸 도이다.
도 7은 본 발명의 실시 예에 따른 콘텐츠 데이터 등록 트랜잭션의 예를 나타낸 도이다.
도 8은 본 발명의 실시 예에 따른 트랜잭션을 포함하는 블록을 나타낸 예시도이다.
도 9는 본 발명의 실시 예에 따른 블록체인을 사용하여 콘텐츠의 등록 또는 변경 내역을 전파하는 방법의 흐름도이다.
도 10은 본 개시의 실시 예에 따른 콘텐츠 버전 관리 방법을 구현하기 위한 컴퓨팅 장치를 설명하기 위한 구조도이다.
1 is a diagram illustrating an example of content version information of a tree data structure according to an embodiment of the present invention.
2 is a diagram illustrating an example of adding a content node to content version information of a tree data structure according to an embodiment of the present invention.
3 is a diagram illustrating an example of obtaining a degree of similarity through a deep neural network according to an embodiment of the present invention.
4 is a flowchart of a process of recording content changes in a content version management method according to an embodiment of the present invention.
5 is a diagram showing an example of the structure of a block chain according to an embodiment of the present invention.
6 is a diagram illustrating an example of a content hash registration transaction according to an embodiment of the present invention.
7 is a diagram illustrating an example of a content data registration transaction according to an embodiment of the present invention.
8 is an exemplary diagram illustrating a block including a transaction according to an embodiment of the present invention.
9 is a flowchart of a method of propagating content registration or change history using a block chain according to an embodiment of the present invention.
10 is a structural diagram illustrating a computing device for implementing a content version management method according to an embodiment of the present disclosure.

아래에서는 첨부한 도면을 참고로 하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, with reference to the accompanying drawings, embodiments of the present disclosure will be described in detail so that those of ordinary skill in the art to which the present disclosure pertains can easily implement them. However, the present disclosure may be implemented in several different forms and is not limited to the embodiments described herein. And in order to clearly explain the present disclosure in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when a part "includes" a certain element, it means that other elements may be further included, rather than excluding other elements, unless otherwise stated.

본 명세서에서 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다.In this specification, expressions described in the singular may be construed in the singular or plural unless an explicit expression such as “a” or “single” is used.

또한, 본 개시의 실시 예에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.In addition, terms including an ordinal number such as first, second, etc. used in an embodiment of the present disclosure may be used to describe the components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present disclosure, a first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.

이하, 도면을 참조하여 본 개시의 실시 예에 따른 블록체인 기반 멀티미디어 콘텐츠 버전 관리 방법 및 장치에 대하여 설명한다. Hereinafter, a block chain-based multimedia content version management method and apparatus according to an embodiment of the present disclosure will be described with reference to the drawings.

본 발명의 실시 예에서는 트리 데이터 구조를 이용해 콘텐츠 등록 등의 변경 내역을 기록한다. In an embodiment of the present invention, change details such as content registration are recorded using a tree data structure.

도 1은 본 발명의 실시 예에 따른 트리 데이터 구조의 콘텐츠 버전 정보의 예를 나타낸 도이다. 1 is a diagram illustrating an example of content version information of a tree data structure according to an embodiment of the present invention.

첨부한 도 1에서와 같이, 본 발명의 실시 예에서는 트리 데이터 구조로 콘텐츠 버전 정보를 관리한다. As shown in the accompanying FIG. 1, in the embodiment of the present invention, content version information is managed in a tree data structure.

트리 데이터 구조로 이루어지는 콘텐츠 버전 정보에서, 각 노드(A, A1, A2, A11, A12, A21, A111)는 특정 콘텐츠 데이터를 나타내고, 각 콘텐츠 데이터는 화살표선을 통해 해당 콘텐츠가 어느 콘텐츠로부터 수정된(혹은 파생된) 것인지를 알 수 있다. 루트 노드 A는 고유한 오리지널 콘텐츠를 나타내며, 자식 노드들인 A1 ~ A111는 루트 노드 또는 부모 노드로부터 파생된 콘텐츠를 나타낸다. 예를 들어 노드 A1과 노드 A2는 루트 노드 A로부터 파생된 콘텐츠이며, 노드 A11과 노드 A21는 각각 노드 A1과 노드 A2로부터 파생된 콘텐츠이다. 각 노드는 콘텐츠를 만들어낸 사용자의 공개키(Public Key)와 콘텐츠 데이터의 해시(hash) 값을 저장하여, 누가 어떤 콘텐츠를 생산했는지 또는 다른 누군가의 콘텐츠로부터 파생된 콘텐츠를 만들어 냈는지를 추적할 수 있도록 한다. 여기서 사용자의 공개키는 RSA와 같은 공개키 암호화 알고리즘 등을 이용하여 생성할 수 있는데, 그 구체적인 방법은 본 발명에서는 한정하지 않는다. 마찬가지로 콘텐츠 데이터의 해시값도 SHA256과 같은 암호화 해시 알고리즘을 통해 생성할 수 있으나, 구체적인 방법은 본 발명에서는 한정하지 않는다.In the content version information consisting of a tree data structure, each node (A, A1, A2, A11, A12, A21, A111) represents specific content data, and each content data indicates through an arrow line that the content is modified from which content. (or derived) can be known. A root node A represents unique original content, and child nodes A1 to A111 represent content derived from a root node or a parent node. For example, nodes A1 and A2 are contents derived from the root node A, and nodes A11 and A21 are contents derived from nodes A1 and A2, respectively. Each node stores the public key of the user who created the content and the hash value of the content data, so that it can be tracked who produced what content or created content derived from someone else's content. let it be Here, the user's public key may be generated using a public key encryption algorithm such as RSA, but the specific method is not limited in the present invention. Similarly, the hash value of the content data may also be generated through an encryption hash algorithm such as SHA256, but the specific method is not limited in the present invention.

본 발명의 실시 예에서, 콘텐츠 변경 내역을 기록해가는 과정은, 앞서 기술한 트리 데이터 구조의 콘텐츠 버전 정보에 노드 즉, 콘텐츠 노드를 붙여가는(insertion) 과정이다. In an embodiment of the present invention, the process of recording content change details is a process of inserting a node, that is, a content node, to the content version information of the tree data structure described above.

도 2는 본 발명의 실시 예에 따른 트리 데이터 구조의 콘텐츠 버전 정보에 콘텐츠 노드를 추가하는 예를 나타낸 도이다. 2 is a diagram illustrating an example of adding a content node to content version information of a tree data structure according to an embodiment of the present invention.

도 2에 예시된 바와 같이, 새로운 콘텐츠(New)을 등록하려고 할 때, 본 발명의 실시 예에서는 기존 등록되어 있는 콘텐츠와의 유사성을 비교하여 새로이 등록될 콘텐츠를 오리지널 콘텐츠(C), 또는 파생 콘텐츠(A12 또는 B1)로써 등록한다. 다시 말해서, 기존 콘텐츠와는 다른 새로운 콘텐츠인 경우 해당 콘텐츠를 루트 노드(C)로 등록하고, 기존 콘텐츠와의 유사성이 발견될 경우에는 가장 유사한 콘텐츠 노드의 자식 노드(A12 또는 B1)로 등록한다. 본 발명의 실시 예에서는 Git과 같은 일반적인 분산 버전 관리 시스템과는 다르게, 사용자가 임의의 노드의 자식으로 콘텐츠 데이터를 추가하는 것을 허용하지 않으며, 이후 기술할 유사도 함수에 근거하는 알고리즘을 통해서만 추가할 수 있다.As illustrated in FIG. 2 , when trying to register new content (New), in an embodiment of the present invention, the content to be newly registered is selected as the original content (C) or the derived content by comparing the similarity with the previously registered content. Register as (A12 or B1). In other words, in the case of new content different from the existing content, the corresponding content is registered as the root node (C), and when similarity with the existing content is found, it is registered as a child node (A12 or B1) of the most similar content node. In an embodiment of the present invention, unlike a general distributed version control system such as Git, it does not allow a user to add content data as a child of an arbitrary node, and it can be added only through an algorithm based on a similarity function to be described later. have.

콘텐스의 유사성 비교를 위해, 본 발명의 실시 예에서는 유사도 함수

Figure pat00001
를 사용한다. 유사도 함수
Figure pat00002
는 두 콘텐츠 데이터
Figure pat00003
,
Figure pat00004
가 주어졌을 때, 이 둘 데이터가 얼마나 유사한지를 0(전혀 유사하지 않음)부터 1(동일함)까지의 숫자로 나타낸다. 이를 수식으로 나타내면 다음과 같다. In order to compare the similarity of the contents, in the embodiment of the present invention, the similarity function
Figure pat00001
use Similarity function
Figure pat00002
is the two content data
Figure pat00003
,
Figure pat00004
Given how similar these two data are, it is expressed as a number from 0 (not at all similar) to 1 (identical). This can be expressed as a formula as follows.

Figure pat00005
Figure pat00005

유사도 함수

Figure pat00006
는 심층 신경망(deep neural network) 등을 통해 구현될 수 있다. Similarity function
Figure pat00006
may be implemented through a deep neural network or the like.

도 3은 본 발명의 실시 예에 따른 심층 신경망을 통해 유사도를 획득하는 예를 나타낸 도이다. 3 is a diagram illustrating an example of obtaining a degree of similarity through a deep neural network according to an embodiment of the present invention.

유사도 함수는 심층 신경망을 통해 구현될 수 있으며, 심층 신경망 뉴런의 구성 형태와 각 뉴런들의 가중치 값으로 고유하게 정의될 수 있다. 이러한 심층 신경망의 정의 데이터는 불변성과 신뢰성을 위해 블록체인에 기록될 수 있다. 또한 심층 신경망을 어떻게 구성하고 학습시킬지에 대해서는 각 콘텐츠의 종류와 특성에 따라 달라질 수 있다. 심층 신경망을 구성하고 학습시키는 방법은 공지된 다양한 방법이 사용될 수 있으며, 본 발명에서는 그 구체적인 방법을 특정 짓지 않는다.The similarity function may be implemented through a deep neural network, and may be uniquely defined as a configuration form of a deep neural network neuron and a weight value of each neuron. The definition data of these deep neural networks can be recorded on the blockchain for immutability and reliability. Also, how to configure and train the deep neural network may vary depending on the type and characteristics of each content. Various well-known methods may be used as a method for constructing and training a deep neural network, and the present invention does not specify a specific method.

두 콘텐츠 데이터

Figure pat00007
,
Figure pat00008
가, 도 3에 예시된 바와 같이 구성되어 학습이 완료된 심층 신경망으로 입력되면, 두 콘텐츠 데이터
Figure pat00009
,
Figure pat00010
의 유사도 y가 출력된다. two content data
Figure pat00007
,
Figure pat00008
When is input to the deep neural network that is configured as illustrated in FIG. 3 and has completed learning, the two content data
Figure pat00009
,
Figure pat00010
The similarity y of is output.

다음에는 이러한 유사도 함수를 이용하여, 트리 데이터 구조의 콘텐츠 버전 정보에 콘텐츠 변경 내용을 기록하는 방법에 대해 설명한다. Next, a method of recording content changes in content version information of a tree data structure using such a similarity function will be described.

도 4는 본 발명의 실시 예에 따른 콘텐츠 버전 관리 방법에서 콘텐츠 변경 내용을 기록하는 과정의 흐름도이다. 4 is a flowchart of a process of recording content changes in a content version management method according to an embodiment of the present invention.

사용자가 콘텐츠 등록을 요구하는 등의 동작에 의해 콘텐츠 등록 요청이 입력되면(S100), 먼저, 등록을 요청한 새로운 콘텐츠와 이미 등록된 콘텐츠의 유사도를 계산한다. 이때, 트리 데이터 구조의 콘텐츠 버전 정보에 등록되어 있는 모든 콘텐츠들 중에서 루트 노드에 대응하는 콘텐츠(루트 콘텐츠라고도 명명됨)와의 유사도를 계산한다(S110). 유사도 함수

Figure pat00011
를 이용하여 새로운 콘텐츠와 이미 등록된 모든 루트 콘텐츠의 유사도를 각각 계산한다. When a content registration request is input by an operation such as requesting the user to register the content (S100), first, the similarity between the new content requested for registration and the already registered content is calculated. At this time, the similarity with the content (also called root content) corresponding to the root node among all the contents registered in the content version information of the tree data structure is calculated ( S110 ). Similarity function
Figure pat00011
is used to calculate the similarity between the new content and all previously registered root content, respectively.

계산도 유사도들을 미리 설정된 최대 루트 유사도

Figure pat00012
와 비교하여, 최대 루트 유사도
Figure pat00013
를 넘는 유사도를 가지는 루트 콘텐츠가 있는지를 판단한다(S120). 여기서, 최대 루트 유사도
Figure pat00014
는 주어진 콘텐츠(등록을 요청한 새로운 콘텐츠)가 이전 콘텐츠의 파생 콘텐츠로 이해될 수 있는지 아니면 전혀 새로운 오리지널 콘텐츠인지를 판별하는 기준으로 사용된다. Calculated degree of similarity to preset maximum route similarity
Figure pat00012
Compared with , the maximum root similarity
Figure pat00013
It is determined whether there is a route content having a similarity greater than ( S120 ). Here, the maximum root similarity
Figure pat00014
is used as a criterion for determining whether a given content (new content that has requested registration) can be understood as a derivative content of the previous content or is a completely new original content.

판단 결과, 최대 루트 유사도

Figure pat00015
를 넘는 유사도를 가지는 루트 콘텐츠가 없는 경우에는, 새로운 콘텐츠를 오리지널 콘텐츠로 인정하여 루트 노드로 등록한다(S130). 이에 따라 새로운 콘텐츠는 루트 콘텐츠로 등록된다. As a result of judgment, the maximum root similarity
Figure pat00015
If there is no root content having a similarity greater than , the new content is recognized as the original content and registered as a root node (S130). Accordingly, the new content is registered as the root content.

반면, 최대 루트 유사도

Figure pat00016
를 넘는 유사도를 가지는 루트 콘텐츠가 하나 이상인 경우, 새로운 콘텐츠와 유사한 콘텐츠가 이미 존재하는 것으로 간주하고, 가장 유사한 콘텐츠 노드를 검색한다. 구체적으로, 최대 루트 유사도
Figure pat00017
를 넘는 유사도를 가지는 루트 콘텐츠들 중에서 가장 큰 유사도를 가지는 루트 콘텐츠를 선택한다(S140).On the other hand, the maximum root similarity
Figure pat00016
When there is at least one root content having a similarity greater than , it is considered that content similar to the new content already exists, and the most similar content node is searched for. Specifically, the maximum root similarity
Figure pat00017
A route content having the greatest similarity is selected from among the route contents having a similarity greater than ? ( S140 ).

그리고, 선택된 루트 콘텐츠의 자식 노드로 등록된 콘텐츠(자식 콘텐츠라고도 명명됨)와 새로운 콘텐츠의 유사도를 계산한다(S150). 여기서, 선택된 루트 콘텐츠의 모든 자식 콘텐츠들과 새로운 콘텐츠의 유사도를 각각 계산한다. Then, the similarity between the content (also called child content) registered as a child node of the selected root content and the new content is calculated ( S150 ). Here, similarities between all child contents of the selected root contents and new contents are respectively calculated.

다음에, 계산도 유사도들을 미리 설정된 동일 유사성

Figure pat00018
과 비교하여, 미리 설정된 동일 유사성
Figure pat00019
를 넘는 유사도를 가지는 자식 콘텐츠가 있는지를 판단한다(S150). 여기서, 미리 설정된 동일 유사성
Figure pat00020
은 주어진 콘텐츠(등록을 요청한 새로운 콘텐츠)가 이미 등록된 콘텐츠와 동일한 콘텐츠로 간주되는 값이다. Next, the calculation degree similarity is calculated as the preset same similarity.
Figure pat00018
Compared with the preset equal similarity
Figure pat00019
It is determined whether there is child content having a similarity greater than (S150). Here, the preset same similarity
Figure pat00020
is a value in which the given content (new content that has requested registration) is regarded as the same content as the content that has already been registered.

판단 결과, 동일 유사성

Figure pat00021
를 넘는 유사도를 가지는 자식 콘텐츠가 있는 경우에는, 이미 동일한 콘텐츠가 등록되어 있는 것으로 판단하고 콘텐츠 등록을 거부한다(S160).Judgment result, same similarity
Figure pat00021
If there is child content having a similarity greater than , it is determined that the same content has already been registered and the content registration is rejected (S160).

반면, 동일 유사성

Figure pat00022
를 넘는 유사도를 가지는 자식 콘텐츠가 없는 경우에는 가장 유사한 자식 노드를 검색한다. 구체적으로, 단계(S150)에서 계산된 자식 콘텐츠들과의 유사도를 기반으로, 가장 큰 유사도를 가지는 자식 콘텐츠를 선택한다. 그리고 새로운 콘텐츠를 선택된 자식 콘텐츠의 자식 노드로 등록한다(S160). 이에 따라 새로운 콘텐츠는 임의 자식 콘텐츠로부터 파생되는 자식 콘텐츠로 등록된다. On the other hand, the same similarity
Figure pat00022
If there is no child content with a similarity greater than , the most similar child node is searched. Specifically, based on the degree of similarity with the child contents calculated in step S150, the child content having the greatest similarity is selected. Then, the new content is registered as a child node of the selected child content (S160). Accordingly, new content is registered as child content derived from arbitrary child content.

위에 기술된 바와 같은 과정을 통해 획득되는 콘텐츠 변경 내역은 블록체인 분산 원장에 기록되어 관리된다. 즉, 트리 데이터 구조로 이루어지는 콘텐츠 버전 정보의 생성과 이러한 콘텐츠 버전 정보에 노드를 추가하는 과정에 대한 명시적 내용이 블록체인의 분산 원장에 기록됨으로써, 일관성 있고 불가역한 상태를 유지할 수 있도록 한다. The content change history obtained through the process as described above is recorded and managed in the blockchain distributed ledger. In other words, the explicit contents of the creation of content version information consisting of a tree data structure and the process of adding nodes to this content version information are recorded in the distributed ledger of the block chain, so that a consistent and irreversible state can be maintained.

도 5는 본 발명의 실시 예에 따른 블록체인의 구조의 예를 나타낸 도이다. 5 is a diagram showing an example of the structure of a block chain according to an embodiment of the present invention.

블록 체인은 도 5에서와 같이, 여러 블록으로 구성되며, 하나의 블록은 블록 헤더(Header)와 블록 바디(Body)를 포함한다. 블록 헤더는 이전 블록의 해시값(Prev Hash)을 포함하여, 정보의 불가역성을 유지한다. 즉, 어떠한 블록이 임의로 수정되는 경우 해당 블록의 암호화 해시값이 변경되어 이후의 모든 블록에 영향을 미치므로, 원본과 다름을 쉽게 계산할 수 있다. 블록 바디는 트랜잭션(Transaction) 리스트를 포함한다. 트랜잭션은 데이터의 추가, 수정 등의 내역을 포함하며, 트랜잭션 리스트는 여러 트랜잭션들의 리스트이다. 트랜잭션 ID에 대응하여 트랜잭션이 매핑되어 있다. 블록체인은 이러한 구조로 이루어지는 블록들이 이전 블록의 해시 값을 이용하여 서로 연관되는 형태이며, 즉, 신규 블록이 이전 블록의 해시값을 포함하여 하나의 연결된 연결 리스트(Linked list) 구조로 되어 있다. As shown in FIG. 5, a block chain is composed of several blocks, and one block includes a block header and a block body. The block header includes the hash value of the previous block (Prev Hash) to maintain irreversibility of information. That is, when a block is arbitrarily modified, the cryptographic hash value of the block is changed and affects all subsequent blocks, so it is easy to calculate the difference from the original. The block body contains a list of transactions. A transaction includes details of addition and modification of data, and the transaction list is a list of several transactions. A transaction is mapped corresponding to the transaction ID. In the block chain, blocks having this structure are correlated with each other using the hash value of the previous block, that is, the new block has a linked list structure including the hash value of the previous block.

본 발명의 실시 예에서는 이러한 블록체인에, 즉, 콘텐츠 버전 관리를 위한 트리 데이터 구조의 생성과 갱신에 해당하는 트랜잭션을 기록함으로써, 콘텐츠 변경 내역을 보존한다. 구체적으로, 블록체인에 콘텐츠 버전 관리를 위한 트리 데이터 구조의 생성과 갱신을 위해, 콘텐츠 해시 등록 트랜잭션과 콘텐츠 데이터 등록 트랜잭션의 2가지 트랜잭션을 정의한다.In an embodiment of the present invention, by recording a transaction corresponding to the creation and update of a tree data structure for content version management in such a block chain, the content change history is preserved. Specifically, to create and update a tree data structure for content version management on the blockchain, we define two transactions: a content hash registration transaction and a content data registration transaction.

도 6은 본 발명의 실시 예에 따른 콘텐츠 해시 등록 트랜잭션의 예를 나타낸 도이다. 6 is a diagram illustrating an example of a content hash registration transaction according to an embodiment of the present invention.

사용자가 자신이 만든 콘텐츠를 등록하기 전에, 우선적으로 콘텐츠 데이터의 암호화 해시를 생성하고 등록한다. 이는 DRM(digital rights management)과 같은 보호 장치 없이, 사용자의 콘텐츠 소유권을 보호하기 위함이다. 블록체인에 콘텐츠의 암호화 해시만을 우선적으로 등록하면, 악의적인 사용자가 해시값만을 가지고는 실제 콘텐츠의 내용을 확인할 수 없다. 따라서 트랜잭션 생성에 필요한 비용을 따져본다면, 타인의 콘텐츠 해시를 자기 것으로 주장하는 행위는 확률적으로 보았을 때 경제적 이익이 없다고 할 수 있다. 이에 따라 사용자는 자신의 공개키(Public Key), 타임스탬프(Timestamp) 및 콘텐츠 데이터의 암호화 해시(Content Hash)를 포함하여 트랜잭션을 발생시킨다. 따라서, 콘텐츠 해시 등록 트랜잭션은 콘텐츠 데이터의 암호화에 관련된 정보 즉, 공개키(Public Key), 타임스탬프(Timestamp) 및 암호화 해시(Content Hash)를 포함한다. Before a user registers his/her own created content, first, a cryptographic hash of the content data is generated and registered. This is to protect users' content ownership without protection devices such as digital rights management (DRM). If only the cryptographic hash of the content is preferentially registered in the block chain, a malicious user cannot check the actual content with only the hash value. Therefore, when considering the cost required to create a transaction, it can be said that there is no economic benefit in probabilistic terms of claiming the hash of another person's content as one's own. Accordingly, the user generates a transaction including his/her public key, a timestamp, and a cryptographic hash of the content data. Accordingly, the content hash registration transaction includes information related to encryption of content data, that is, a public key, a timestamp, and a cryptographic hash (Content Hash).

도 7은 본 발명의 실시 예에 따른 콘텐츠 데이터 등록 트랜잭션의 예를 나타낸 도이다. 7 is a diagram illustrating an example of a content data registration transaction according to an embodiment of the present invention.

사용자는 자신의 콘텐츠 해시가 블록체인에 기록된 것을 확인한 후, 콘텐츠 데이터 등록 트랜잭션을 발생시킨다. 콘텐츠 데이터 등록 트랜잭션은 첨부한 도 7에서와 같이, 사용자의 공개키(Public Key), 콘텐츠 타입(Content Type), 콘텐츠 데이터(Content Data)(또는 URL과 같은 접근자), 디지털 서명(Digital Signature) 등을 포함한다. After the user confirms that his/her content hash is recorded on the blockchain, a content data registration transaction occurs. The content data registration transaction includes the user's public key, content type, content data (or accessor such as URL), and digital signature, as shown in the attached FIG. 7 . etc.

이러한 구조로 이루어지는 콘텐츠 데이터 등록 트랜잭션에 대해, 블록체인을 구성하는 각 노드들은 위에 기술된 바와 같이, 콘텐츠 데이터에 대해 유사도 함수를 적용하여 트리 데이터 구조의 콘텐츠 버전 정보에 어떻게 추가할 지를 결정하고(루트 콘텐츠 또는 자식 콘텐츠로서 등록), 해당 결과와 함께 트랜잭션들로 블록을 생성하고 분산 원장에 기록한다. For a content data registration transaction with this structure, each node constituting the block chain applies a similarity function to the content data as described above to determine how to add it to the content version information of the tree data structure (root Register as content or child content), create a block with transactions with the corresponding result and record it in the distributed ledger.

도 8은 본 발명의 실시 예에 따른 트랜잭션을 포함하는 블록을 나타낸 예시도이다. 8 is an exemplary diagram illustrating a block including a transaction according to an embodiment of the present invention.

본 발명의 실시 예에서는 콘텐츠 데이터 등록 트랜잭션에 대해, 콘텐츠 데이터에 대해 유사도 함수를 적용하여 트리 데이터 구조의 콘텐츠 버전 정보에 어떻게 추가할 지를 결정한 결과를 추가적으로 기록한다. 구체적으로, 콘텐츠 데이터 등록 트랜잭션에 대해, 해당 콘텐츠가 어떤 콘텐츠로부터 파생되었는지를 나타내는 부모 콘텐츠의 해시(Parent Content Hash)와 해당 부모 콘텐츠와의 유사도 함수 계산 값인 유사도(Similarity Value)를 추가적으로 기록한다. In the embodiment of the present invention, for the content data registration transaction, the result of determining how to add to the content version information of the tree data structure by applying the similarity function to the content data is additionally recorded. Specifically, for the content data registration transaction, the hash of the parent content indicating from which content the corresponding content is derived and the similarity value, which is a calculated value of the similarity function with the corresponding parent content, are additionally recorded.

예를 들어, 콘텐츠 데이터가 기존 콘텐츠와 동일하다고 판단되어 해당 기존 콘텐츠의 자식 노드로 등록되는 경우(콘텐츠와 기존 콘텐츠의 유사도가 동일 유사성

Figure pat00023
값을 초과하는 경우), 동일하다고 판단된 기존 콘텐츠의 해시값이 부모 콘텐츠의 해시(Parent Content Hash) 값으로 사용되며, 동일하다고 판단된 기존 콘텐츠와의 유사도가 유사도(Similarity Value)로서 사용되어, 콘텐츠 데이터 등록 트랜잭션에 기록된다. For example, if the content data is determined to be identical to the existing content and registered as a child node of the existing content (the similarity between the content and the existing content is the same
Figure pat00023
value), the hash value of the existing content determined to be identical is used as the Parent Content Hash value, and the similarity to the existing content determined to be identical is used as the Similarity Value, Content data is recorded in the registration transaction.

또한 콘텐츠 데이터가 오리지널 콘텐츠(루트 노드)로 등록되는 경우, 기존 루트 노드들 중 콘텐츠 데이터와 가장 높은 유사도를 가지는 루트 노드의 콘텐츠의 해시 값이 부모 콘텐츠의 해시(Parent Content Hash) 값으로 사용되며, 가장 높은 유사도를 가지는 루트 노드의 콘텐츠와의 유사도가 유사도(Similarity Value)(이 값은 최대 루트 유사도

Figure pat00024
보다는 작은 값임)로서 사용되어, 콘텐츠 데이터 등록 트랜잭션에 기록된다. In addition, when content data is registered as original content (root node), the hash value of the content of the root node having the highest similarity to the content data among existing root nodes is used as the parent content hash value. The similarity with the content of the root node with the highest similarity is the Similarity Value (this value is the maximum root similarity).
Figure pat00024
less than ), and is recorded in the content data registration transaction.

이와 같이, 콘텐츠 등록시 해당 콘텐츠의 암호화에 관련된 정보(콘텐츠 해시)를 포함하는 콘텐츠 해시 트랜잭션을 블록체인에 기록하고, 이후에 콘텐츠 데이터에 대해 유사도 함수를 적용하여 트리 데이터 구조의 콘텐츠 버전 정보에 어떻게 추가할 지를 결정한 결과를 포함하는 콘텐츠 데이터 등록 트랜잭션들로 블록체인에 기록한다. In this way, when registering content, a content hash transaction including information related to encryption of the content (content hash) is recorded on the block chain, and then a similarity function is applied to the content data to add it to the content version information of the tree data structure. It is recorded on the blockchain as content data registration transactions including the result of deciding whether to do so.

도 9는 본 발명의 실시 예에 따른 블록체인을 사용하여 콘텐츠의 등록 또는 변경 내역을 전파하는 방법의 흐름도이다. 9 is a flowchart of a method of propagating content registration or change history using a block chain according to an embodiment of the present invention.

다수의 디바이스가 동일한 블록체인을 유지하기 위해 P2P 네트워크를 통해 피어(Peer)를 맺고 블록체인에 들어가는 다양한 정보(블록 및 트랜잭션)를 교환한다. 다수의 디바이스는 트랜잭션을 네트워크에 전파하여 데이터의 수정 내역을 교환하며, 블록을 생성하는 마이너(Miner)는 전파된 트랜잭션을 포함하여 블록을 생성한다. In order to maintain the same blockchain, multiple devices establish a peer through a P2P network and exchange various information (blocks and transactions) entering the blockchain. A plurality of devices exchanges data modification history by propagating a transaction to the network, and a miner generating a block creates a block including the propagated transaction.

예를 들어, 제1 디바이스는 도 9에서와 같이, 사용자의 요청에 따라 새로운 콘텐츠를 등록하려고 할 때(S300), 먼저, 위의 기술된 바와 같이, 트리 데이터 구조의 콘텐츠 버전 정보를 기반으로 기존에 등록되어 있는 콘텐츠들과의 유사성을 비교하여 새로이 등록될 콘텐츠를 루트 콘텐츠 또는 자식 콘텐츠로 등록할지를 결정하고, 결정 결과에 따라 새로운 콘텐츠를 트리 데이터 구조의 콘텐츠 버전 정보에 추가한다(S310). 이 단계에서 수행되는 방법은 도 4를 기반으로 할 설명을 참조한다. For example, when the first device tries to register new content according to the user's request as shown in FIG. 9 ( S300 ), first, as described above, based on the content version information of the tree data structure, the existing It is determined whether the content to be newly registered is registered as the root content or child content by comparing the similarity with the contents registered in , and the new content is added to the content version information of the tree data structure according to the determination result (S310). For the method performed in this step, refer to the description to be based on FIG. 4 .

이후, 제1 디바이스는 콘텐츠 데이터의 암호화 해시를 생성하고(S320), 이를 기반으로 공개키(Public Key), 타임스탬프(Timestamp) 및 암호화 해시(Content Hash)를 포함하는 콘텐츠 해시 등록 트랜잭션을 생성하고, 생성된 콘텐츠 해시 등록 트랜잭션을 블록체인 네트워크 상의 다른 디바이스로 전파한다(S330). After that, the first device generates a cryptographic hash of the content data (S320), and based on this, a content hash registration transaction including a public key, a timestamp, and a cryptographic hash (Content Hash) is generated and , propagates the generated content hash registration transaction to other devices on the blockchain network (S330).

콘텐츠 해시 등록 트랜잭션을 수신한 다른 디바이스(설명의 편의상, 제2 디바이스라고 명명함)는, 수신된 콘텐츠 해시 등록 트랜잭션에 대한 유효성 검증을 수행하고(S340), 유효성이 검증되면 해당 트랜잭션을 자신의 블록체인에 업데이트하고, 또 다른 디바이스로 전파한다(S350). The other device that has received the content hash registration transaction (referred to as a second device for convenience of description) performs validation on the received content hash registration transaction (S340), and when the validity is verified, the transaction is converted into its own block The chain is updated and propagated to another device (S350).

한편, 제1 디바이스는 콘텐츠 해시 등록 트랜잭션이 블록체인에 등록된 다음에, 콘텐츠 데이터에 대해 유사도 함수를 적용하여 트리 데이터 구조의 콘텐츠 버전 정보에 어떻게 추가할 지를 결정한 결과 즉, 부모 콘텐츠의 해시(Parent Content Hash)와 해당 부모 콘텐츠와의 유사도 함수 계산 값인 유사도(Similarity Value)를 포함하는 콘텐츠 데이터 등록 트랜잭션을 생성하여 전파한다(S360).On the other hand, after the content hash registration transaction is registered in the block chain, the first device applies the similarity function to the content data to determine how to add it to the content version information of the tree data structure, that is, the hash of the parent content (Parent). Content Hash) and a content data registration transaction including a similarity value, which is a calculated value of a similarity function with the parent content, is generated and propagated (S360).

콘텐츠 데이터 등록 트랜잭션을 수신한 제2 디바이스는 유효성을 검증하고, 유효성이 검증되면 해당 트랜잭션을 자신의 블록체인에 업데이트하고, 또 다른 디바이스로 전파한다(S370, S3800). The second device that has received the content data registration transaction verifies the validity, and when the validity is verified, the second device updates the transaction in its own block chain and propagates it to another device (S370, S3800).

이와 같이, 콘텐츠 등록 및 변경 내용을 블록체인 분산 원장에 저장함으로써, 신뢰할 수 있는 콘텐츠 보존 및 저작권 권리 정보 확인을 기대할 수 있다.In this way, by storing content registration and changes in the blockchain distributed ledger, reliable content preservation and confirmation of copyright rights information can be expected.

도 10은 본 개시의 실시 예에 따른 콘텐츠 버전 관리 방법을 구현하기 위한 컴퓨팅 장치를 설명하기 위한 구조도이다. 10 is a structural diagram illustrating a computing device for implementing a content version management method according to an embodiment of the present disclosure.

첨부한 도 10에 도시되어 있듯이, 본 개시의 일 실시 예에 따른 콘텐츠 버전 관리 방법은 컴퓨팅 장치(100)를 이용하여 구현될 수 있다. 10 , the content version management method according to an embodiment of the present disclosure may be implemented using the computing device 100 .

컴퓨팅 장치(100)는 프로세서(110), 메모리(120), 입력 인터페이스 장치(130), 출력 인터페이스 장치(140), 저장 장치(160) 및 네트워크 인터페이스 장치(150) 중 적어도 하나를 포함할 수 있다. 각각의 구성 요소들은 버스(bus)(170)에 의해 연결되어 서로 통신을 수행할 수 있다. 또한, 각각의 구성 요소들은 공통 버스(170)가 아니라, 프로세서(110)를 중심으로 개별 인터페이스 또는 개별 버스를 통하여 연결될 수도 있다.The computing device 100 may include at least one of a processor 110 , a memory 120 , an input interface device 130 , an output interface device 140 , a storage device 160 , and a network interface device 150 . . Each of the components may be connected by a bus 170 to communicate with each other. In addition, each of the components may be connected through an individual interface or a separate bus centering on the processor 110 instead of the common bus 170 .

프로세서(110)는 AP(Application Processor), CPU(Central Processing Unit), GPU(Graphic Processing Unit) 등과 같은 다양한 종류들로 구현될 수 있으며, 메모리(120) 또는 저장 장치(150)에 저장된 명령을 실행하는 임의의 반도체 장치일 수 있다. 프로세서(110)는 메모리(120) 및 저장 장치(160) 중에서 적어도 하나에 저장된 프로그램 명령(program command)을 실행할 수 있다. 이러한 프로세서(110)는 위의 도 1 내지 도 9를 토대로 설명한 기능 및 방법들을 구현하도록 구성될 수 있다. The processor 110 may be implemented in various types such as an application processor (AP), a central processing unit (CPU), a graphic processing unit (GPU), and the like, and executes a command stored in the memory 120 or the storage device 150 . It may be any semiconductor device that does The processor 110 may execute a program command stored in at least one of the memory 120 and the storage device 160 . The processor 110 may be configured to implement the functions and methods described based on FIGS. 1 to 9 above.

메모리(120) 및 저장 장치(150)는 다양한 형태의 휘발성 또는 비 휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리는 ROM(read-only memory)(121) 및 RAM(random access memory)(122)를 포함할 수 있다. 본 개시의 실시 예에서 메모리(120)는 프로세서(110)의 내부 또는 외부에 위치할 수 있고, 메모리(120)는 이미 알려진 다양한 수단을 통해 프로세서(110)와 연결될 수 있다. The memory 120 and the storage device 150 may include various types of volatile or non-volatile storage media. For example, the memory may include a read-only memory (ROM) 121 and a random access memory (RAM) 122 . In an embodiment of the present disclosure, the memory 120 may be located inside or outside the processor 110 , and the memory 120 may be connected to the processor 110 through various known means.

입력 인터페이스 장치(130)는 데이터를 프로세서(110)로 제공하도록 구성되며, 출력 인터페이스 장치(140)는 프로세서(110)로부터의 데이터를 출력하도록 구성된다. The input interface device 130 is configured to provide data to the processor 110 , and the output interface device 140 is configured to output data from the processor 110 .

네트워크 인터페이스 장치(150)는 유선 네트워크 또는 무선 네트워크를 통해 다른 개체(블록체인 네트워크 상의 디바이스들)와 신호를 송신 또는 수신할 수 있다. The network interface device 150 may transmit or receive signals with other entities (devices on the block chain network) through a wired network or a wireless network.

이러한 구조로 이루어지는 컴퓨팅 장치(100)는 콘텐츠 버전 관리 장치로 명명되어, 본 개시의 일 실시 예에 따른 콘텐츠 버전 관리 방법을 구현할 수 있다. The computing device 100 having such a structure is called a content version management device, and may implement a content version management method according to an embodiment of the present disclosure.

또한, 본 개시의 일 실시 예에 따른 콘텐츠 버전 관리 방법 중 적어도 일부는 컴퓨팅 장치(100)에서 실행되는 프로그램 또는 소프트웨어로 구현될 수 있고, 프로그램 또는 소프트웨어는 컴퓨터로 판독 가능한 매체에 저장될 수 있다.In addition, at least a part of the content version management method according to an embodiment of the present disclosure may be implemented as a program or software executed in the computing device 100 , and the program or software may be stored in a computer-readable medium.

또한, 본 개시의 일 실시 예에 따른 콘텐츠 버전 관리 방법 중 적어도 일부는 컴퓨팅 장치(100)와 전기적으로 접속될 수 있는 하드웨어로 구현될 수도 있다.In addition, at least a part of the content version management method according to an embodiment of the present disclosure may be implemented as hardware capable of being electrically connected to the computing device 100 .

본 개시의 실시 예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현이 되는 것은 아니며, 본 개시의 실시예의 구성에 대응하는 기능을 실현하기 위한 프로그램, 그 프로그램이 기록된 기록 매체 등을 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 개시가 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.The embodiment of the present disclosure is not implemented only through the apparatus and/or method described above, and may be implemented through a program for realizing a function corresponding to the configuration of the embodiment of the present disclosure, a recording medium in which the program is recorded, etc. Also, such an implementation can be easily implemented by those skilled in the art to which the present disclosure pertains from the description of the above-described embodiments.

이상에서 본 개시의 실시 예에 대하여 상세하게 설명하였지만 본 개시의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 개시의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 개시의 권리범위에 속하는 것이다.Although the embodiments of the present disclosure have been described in detail above, the scope of the present disclosure is not limited thereto, and various modifications and improved forms of the present disclosure are also provided by those skilled in the art using the basic concept of the present disclosure as defined in the following claims. is within the scope of the right.

Claims (16)

멀티미디어 콘텐츠의 버전 관리를 수행하는 방법으로서,
관리 장치가, 새로운 콘텐츠의 등록 요청이 입력되면, 트리 데이터 구조의 콘텐츠 버전 정보에 포함되어 있는 콘텐츠들과 상기 새로운 콘텐츠의 유사도를 각각 계산하는 단계;
상기 관리 장치가, 상기 유사도를 기반으로 상기 새로운 콘텐츠를 상기 데이터 트리 구조의 콘텐츠 버전 정보에 루트 콘텐츠 또는 자식 콘텐츠로서 등록하는 단계; 및
상기 관리 장치가, 상기 새로운 콘텐츠의 등록에 따른 변경 내역을 블록체인에 기록하는 단계
를 포함하는 방법.
A method for performing version control of multimedia content, comprising:
calculating, by the management device, a degree of similarity between contents included in the contents version information of a tree data structure and the new contents, respectively, when a registration request for new contents is input;
registering, by the management device, the new content as root content or child content in content version information of the data tree structure based on the similarity; and
Recording, by the management device, a change history according to the registration of the new content in the block chain
How to include.
제1항에 있어서,
상기 블록체인에 기록하는 단계는,
상기 등록된 콘텐츠의 부모 콘텐츠의 해시값과 해당 부모 콘텐츠와의 유사도를 포함하는 콘텐츠 데이터 등록 트랜잭션을 상기 블록체인에 기록하는 단계를 포함하는, 방법.
According to claim 1,
The step of recording in the block chain is,
and recording, in the block chain, a content data registration transaction including a hash value of the parent content of the registered content and a degree of similarity between the parent content and the parent content.
제2항에 있어서,
상기 새로운 콘텐츠가 루트 콘텐츠로서 등록된 경우, 상기 부모 콘텐츠의 해시값은 기존 루트 노드들의 콘텐츠들 중에서 상기 새로운 콘텐츠와 가장 높은 유사도를 가지는 루트 노드의 콘텐츠의 해시값이며,
상기 새로운 콘텐츠가 자식 콘텐츠로서 등록된 경우, 상기 부모 콘텐츠의 해시값은 상기 새로운 콘텐츠와 동일하다고 판단된 콘텐츠의 해시값인, 방법.
3. The method of claim 2,
When the new content is registered as the root content, the hash value of the parent content is the hash value of the content of the root node having the highest similarity to the new content among the contents of the existing root nodes,
When the new content is registered as child content, the hash value of the parent content is a hash value of the content determined to be the same as the new content.
제2항에 있어서,
상기 블록체인에 기록하는 단계는,
상기 등록된 콘텐츠의 암호화를 위한 암호화 해시를 포함하는 콘텐츠 해시 등록 트랜잭션을 상기 블록 체인에 기록하는 단계
를 더 포함하며,
상기 콘텐츠 해시 등록 트랜잭션을 상기 블록 체인에 기록하는 단계 이후에, 상기 콘텐츠 데이터 등록 트랜잭션을 상기 블록체인에 기록하는 단계가 수행되는, 방법.
3. The method of claim 2,
The step of recording in the block chain is,
Recording a content hash registration transaction including a cryptographic hash for encryption of the registered content in the block chain
further comprising,
after recording the content hash registration transaction to the blockchain, recording the content data registration transaction to the blockchain is performed.
제1항에 있어서,
상기 콘텐츠들과의 유사도를 각각 계산하는 단계는
상기 콘텐츠 버전 정보에 등록되어 있는 모든 콘텐츠들 중에서 루트 노드에 대응하는 루트 콘텐츠들과 상기 새로운 콘텐츠의 유사도를 각각 계산하는 단계;
상기 계산된 유사도 중에서 미리 설정된 최대 루트 유사도를 초과하는 유사도를 가지는 루트 콘텐츠가 있는 경우에, 상기 루트 노드에 대응하는 루트 콘텐츠들 중에서 가장 큰 유사도를 가지는 루트 콘텐츠를 선택하는 단계; 및
상기 선택된 루트 콘텐츠의 자식 노드로 등록된 자식 콘텐츠들과 상기 새로운 콘텐츠의 유사도를 각각 계산하는 단계
를 포함하는, 방법.
According to claim 1,
The step of calculating the degree of similarity with the contents is
calculating a similarity between root contents corresponding to a root node and the new contents among all contents registered in the contents version information;
selecting a route content having a greatest similarity from among the root contents corresponding to the root node when there is a root content having a similarity exceeding a preset maximum root similarity among the calculated similarities; and
Calculating the similarity between the new content and the child content registered as a child node of the selected root content, respectively
A method comprising
제5항에 있어서,
상기 등록하는 단계는
상기 계산된 유사도 중에서 미리 설정된 최대 루트 유사도를 초과하는 유사도를 가지는 루트 콘텐츠가 없는 경우에, 상기 새로운 콘텐츠를 새로운 루트 콘텐츠로서 등록하는 단계
를 포함하는, 방법.
6. The method of claim 5,
The registration step is
registering the new content as new route content when there is no route content having a similarity exceeding a preset maximum route similarity among the calculated similarities;
A method comprising
제5항에 있어서,
상기 등록하는 단계는
상기 선택된 루트 콘텐츠의 자식 노드로 등록된 자식 콘텐츠들과 상기 새로운 콘텐츠의 유사도 중에서 미리 설정된 동일 유사성을 초과하는 유사도를 가지는 자식 콘텐츠가 없는 경우에, 가장 큰 유사도를 가지는 자식 콘텐츠를 선택하는 단계; 및
상기 새로운 콘텐츠를 상기 선택된 자식 콘텐츠의 자식 콘텐츠로서 등록하는 단계
를 포함하는, 방법.
6. The method of claim 5,
The registration step is
selecting the child content having the greatest similarity when there is no child content having a similarity exceeding a preset same similarity among the child content registered as a child node of the selected root content and the new content; and
registering the new content as child content of the selected child content;
A method comprising
제1항에 있어서,
상기 유사도를 각각 계산하는 단계는 심층 신경망 학습을 통해 획득되는 유사도 함수를 이용하여, 상기 콘텐츠 버전 정보에 포함되어 있는 콘텐츠들과 상기 새로운 콘텐츠의 유사도를 계산하는, 방법.
According to claim 1,
The calculating of each of the similarities includes calculating the similarity between the contents included in the content version information and the new content by using a similarity function obtained through deep neural network learning.
멀티미디어 콘텐츠의 버전 관리를 수행하는 장치로서,
새로이 등록할 콘텐츠를 입력받도록 구성된 인터페이스 장치; 및
상기 인터페이스 장치를 통해 입력되는 콘텐츠에 대한 등록 처리를 수행하도록 구성된 프로세서
를 포함하고,
상기 프로세서는
상기 인터페이스 장치를 통해 새로운 콘텐츠의 등록 요청이 입력되면, 트리 데이터 구조의 콘텐츠 버전 정보에 포함되어 있는 콘텐츠들과 상기 새로운 콘텐츠의 유사도를 각각 계산하는 동작;
상기 유사도를 기반으로 상기 새로운 콘텐츠를 상기 데이터 트리 구조의 콘텐츠 버전 정보에 루트 콘텐츠 또는 자식 콘텐츠로서 등록하는 동작; 및
상기 새로운 콘텐츠의 등록에 따른 변경 내역을 블록체인에 기록하는 동작을 수행하도록 구성되는, 장치.
A device for performing version control of multimedia content, comprising:
an interface device configured to receive content to be newly registered; and
A processor configured to perform registration processing for content input through the interface device
including,
the processor is
calculating a similarity between the new content and the content included in the content version information of the tree data structure when a new content registration request is input through the interface device;
registering the new content as root content or child content in content version information of the data tree structure based on the similarity; and
The device is configured to perform an operation of recording change details according to the registration of the new content in the block chain.
제9항에 있어서,
상기 프로세서는 상기 블록체인에 기록하는 동작 수행시,
상기 등록된 콘텐츠의 부모 콘텐츠의 해시값과 해당 부모 콘텐츠와의 유사도를 포함하는 콘텐츠 데이터 등록 트랜잭션을 상기 블록체인에 기록하는 동작을 수행하도록 구성되는, 장치.
10. The method of claim 9,
When the processor performs the operation of writing to the block chain,
and perform an operation of recording a content data registration transaction including a hash value of a parent content of the registered content and a degree of similarity with the parent content to the block chain.
제10항에 있어서,
상기 새로운 콘텐츠가 루트 콘텐츠로서 등록된 경우, 상기 부모 콘텐츠의 해시값은 기존 루트 노드들의 콘텐츠들 중에서 상기 새로운 콘텐츠와 가장 높은 유사도를 가지는 루트 노드의 콘텐츠의 해시값이며,
상기 새로운 콘텐츠가 자식 콘텐츠로서 등록된 경우, 상기 부모 콘텐츠의 해시값은 상기 새로운 콘텐츠와 동일하다고 판단된 콘텐츠의 해시값인, 장치.
11. The method of claim 10,
When the new content is registered as the root content, the hash value of the parent content is the hash value of the content of the root node having the highest similarity to the new content among the contents of the existing root nodes,
When the new content is registered as child content, the hash value of the parent content is a hash value of the content determined to be the same as the new content.
제10항에 있어서,
상기 프로세서는 상기 블록체인에 기록하는 동작 수행시,
상기 등록된 콘텐츠의 암호화를 위한 암호화 해시를 포함하는 콘텐츠 해시 등록 트랜잭션을 상기 블록 체인에 기록하는 동작을 추가적으로 수행하고,
상기 콘텐츠 해시 등록 트랜잭션을 상기 블록 체인에 기록하는 동작 이후에, 상기 콘텐츠 데이터 등록 트랜잭션을 상기 블록체인에 기록하는 동작이 수행되는, 장치.
11. The method of claim 10,
When the processor performs the operation of writing to the block chain,
Further performing an operation of recording a content hash registration transaction including a cryptographic hash for encryption of the registered content in the block chain,
After the operation of recording the content hash registration transaction in the block chain, the operation of recording the content data registration transaction in the block chain is performed.
제9항에 있어서,
상기 프로세서는 상기 콘텐츠들과의 유사도를 각각 계산하는 동작 수행시,
상기 콘텐츠 버전 정보에 등록되어 있는 모든 콘텐츠들 중에서 루트 노드에 대응하는 루트 콘텐츠들과 상기 새로운 콘텐츠의 유사도를 각각 계산하는 동작;
상기 계산된 유사도 중에서 미리 설정된 최대 루트 유사도를 초과하는 유사도를 가지는 루트 콘텐츠가 있는 경우에, 상기 루트 노드에 대응하는 루트 콘텐츠들 중에서 가장 큰 유사도를 가지는 루트 콘텐츠를 선택하는 동작; 및
상기 선택된 루트 콘텐츠의 자식 노드로 등록된 자식 콘텐츠들과 상기 새로운 콘텐츠의 유사도를 각각 계산하는 동작을 수행하도록 구성되는, 장치.
10. The method of claim 9,
When the processor performs an operation of calculating each similarity with the contents,
calculating a similarity between root contents corresponding to a root node and the new contents among all contents registered in the contents version information;
selecting a route content having the greatest similarity from among the root contents corresponding to the root node when there is a root content having a similarity exceeding a preset maximum root similarity among the calculated similarities; and
and calculate a similarity between child contents registered as a child node of the selected root contents and the new contents, respectively.
제13항에 있어서,
상기 프로세서는 상기 등록하는 동작 수행시,
상기 계산된 유사도 중에서 미리 설정된 최대 루트 유사도를 초과하는 유사도를 가지는 루트 콘텐츠가 없는 경우에, 상기 새로운 콘텐츠를 새로운 루트 콘텐츠로서 등록하는 동작을 수행하도록 구성되는, 장치.
14. The method of claim 13,
When the processor performs the registration operation,
and when there is no route content having a similarity exceeding a preset maximum route similarity among the calculated similarities, registering the new content as new route content.
제13항에 있어서,
상기 프로세서는 상기 등록하는 동작 수행시,
상기 선택된 루트 콘텐츠의 자식 노드로 등록된 자식 콘텐츠들과 상기 새로운 콘텐츠의 유사도 중에서 미리 설정된 동일 유사성을 초과하는 유사도를 가지는 자식 콘텐츠가 없는 경우에, 가장 큰 유사도를 가지는 자식 콘텐츠를 선택하는 동작; 및
상기 새로운 콘텐츠를 상기 선택된 자식 콘텐츠의 자식 콘텐츠로서 등록하는 동작을 수행하도록 구성되는, 장치.
14. The method of claim 13,
When the processor performs the registration operation,
selecting the child content having the greatest similarity when there is no child content having a similarity exceeding a preset same similarity among the child content registered as a child node of the selected root content and the new content; and
and register the new content as child content of the selected child content.
제9항에 있어서,
상기 프로세서는 심층 신경망 학습을 통해 획득되는 유사도 함수를 이용하여, 상기 콘텐츠 버전 정보에 포함되어 있는 콘텐츠들과 상기 새로운 콘텐츠의 유사도를 계산하도록 구성되는, 장치.







10. The method of claim 9,
The processor is configured to calculate a similarity between the content included in the content version information and the new content by using a similarity function obtained through deep neural network learning.







KR1020200163033A 2020-11-27 2020-11-27 Method and apparatus for controlling multimedia contents version KR20220074483A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200163033A KR20220074483A (en) 2020-11-27 2020-11-27 Method and apparatus for controlling multimedia contents version

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200163033A KR20220074483A (en) 2020-11-27 2020-11-27 Method and apparatus for controlling multimedia contents version

Publications (1)

Publication Number Publication Date
KR20220074483A true KR20220074483A (en) 2022-06-03

Family

ID=81983594

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200163033A KR20220074483A (en) 2020-11-27 2020-11-27 Method and apparatus for controlling multimedia contents version

Country Status (1)

Country Link
KR (1) KR20220074483A (en)

Similar Documents

Publication Publication Date Title
US11632238B2 (en) Traceability of edits to digital documents via distributed ledgers
US11336455B2 (en) Consensus protocol for blockchain DAG structure
EP3520047B1 (en) Immutable cryptographically secured ledger-backed databases
CN109472696B (en) Asset transaction method, device, storage medium and computer equipment
KR102289995B1 (en) Data storage, data check, and data linkage method and apparatus
US11048690B2 (en) Contribution of multiparty data aggregation using distributed ledger technology
KR20200013679A (en) Script-based Blockchain Interaction
JP2022507796A (en) Systems and methods implemented by computers that store data on the blockchain
EP3652885B1 (en) Secure token passing via blockchains
RU2730899C1 (en) Tracing objects between different parties
CN110647503A (en) Distributed storage method and device
KR20180138217A (en) Applied passwords IP management method and system
EP3709568A1 (en) Deleting user data from a blockchain
US20210157954A1 (en) Authenticating data for storage using a data storage system and distributed electronic ledger system
EP3744071B1 (en) Data isolation in distributed hash chains
WO2023051308A1 (en) Data verification method and apparatus, device and storage medium
Dwivedi et al. Group data freshness scheme for outsourced data in distributed systems
CN111985004A (en) Method for judging information integrity and computer system thereof
KR20220074483A (en) Method and apparatus for controlling multimedia contents version
Chenli et al. Provnet: Networked blockchain for decentralized secure provenance
WO2023004807A1 (en) Knowledge management system, method and apparatus, electronic device, and storage medium
KR102416336B1 (en) Device, method, system and computer readable storage medium for managing blockchain
CN114398678A (en) Registration verification method and device for preventing electronic file from being tampered, electronic equipment and medium
CN114519191A (en) Medical data management method and device
JP2021081859A (en) Data management system, data management device and data management program