KR20170124839A - Method and system for dividing digital content for fixed-length block encryption - Google Patents
Method and system for dividing digital content for fixed-length block encryption Download PDFInfo
- Publication number
- KR20170124839A KR20170124839A KR1020160054776A KR20160054776A KR20170124839A KR 20170124839 A KR20170124839 A KR 20170124839A KR 1020160054776 A KR1020160054776 A KR 1020160054776A KR 20160054776 A KR20160054776 A KR 20160054776A KR 20170124839 A KR20170124839 A KR 20170124839A
- Authority
- KR
- South Korea
- Prior art keywords
- block
- gop
- content
- size
- fixed size
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000010586 diagram Methods 0.000 description 24
- 230000015654 memory Effects 0.000 description 21
- 230000005540 biological transmission Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 9
- 239000012634 fragment Substances 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000010276 construction Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 3
- 238000009434 installation Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8358—Generation of protective data, e.g. certificates involving watermark
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/254—Management at additional data server, e.g. shopping server, rights management server
- H04N21/2541—Rights Management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44236—Monitoring of piracy processes or activities
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Virology (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
아래의 설명은 고정 크기 블록 암호화를 위한 디지털 컨텐츠의 분할 방법 및 시스템에 관한 것이다.The following description relates to a method and system for partitioning digital content for fixed size block encryption.
디지털 워터마킹(watermarking)이란 디지털 컨텐츠에 지각적으로 인지되지 않는 특정마크(이하 '워터마크')를 은닉하는 기술로, 예를 들어 한국공개특허 제10-2011-0101577호는 접근 불가능 컨텐츠를 위한 오버레이채널을 이용한 동영상 워터마킹 시스템 및 그 방법에 대해 개시하고 있다.Digital watermarking is a technique for concealing a specific mark (hereinafter referred to as a " watermark ") that is not perceptually recognized in digital contents. For example, Korean Patent Application No. 10-2011-0101577 discloses a technique Discloses a video watermarking system using an overlay channel and a method thereof.
한편, 서버-클라이언트 환경에서, 동영상과 같은 디지털 컨텐츠는 스트리밍이나 다운로드를 통해 서버에서 클라이언트로 제공될 수 있다. 이때, 스트리밍은 서버에서 디지털 컨텐츠를 복수의 조각난 파일들로 관리하고, 스트리밍 프로토콜에 따라 복수의 파일들을 클라이언트로 순차적으로 전송함에 따라 클라이언트가 전송되는 파일들을 재생하는 방식으로 디지털 컨텐츠를 클라이언트로 제공된다. 이러한 스트리밍 방식으로 디지털 컨텐츠를 제공하는 종래기술에서는 서로 다른 워터마크가 삽입된 파일들의 조합을 통해 사용자 각각에게 제공되는 디지털 컨텐츠를 사용자별로 식별할 수 있게 된다. 이때, 스트리밍 방식에서는 클라이언트가 현 시점에서 디지털 컨텐츠의 재생이 가능한 데이터만 수신할 수 있다면 별다른 문제가 없기 때문에 다운로드 속도에 대한 이슈가 크지 않다.Meanwhile, in a server-client environment, digital contents such as moving images can be provided from a server to a client through streaming or downloading. At this time, the streaming manages the digital contents as a plurality of fragmented files in the server, and sequentially transmits the plurality of files to the client according to the streaming protocol, so that the digital contents are provided to the clients in such a manner that the clients reproduce the transferred files . In the conventional technique of providing digital contents by such a streaming method, digital contents provided to each user can be identified for each user through a combination of files having different watermarks inserted therein. At this time, in the streaming method, if the client can only receive data capable of reproducing digital contents at present, there is not a problem in the download speed.
반면, 디지털 컨텐츠의 다운로드 방식에서는 디지털 컨텐츠에 대한 완성된 하나의 파일이 클라이언트에 저장되어야 한다. 따라서 디지털 컨텐츠의 다운로드 방식에서는 클라이언트가 전체 파일을 최대한 빠르게 다운로드 받아야 한다는 다운로드 속도에 대한 이슈가 존재한다. 예를 들어, 재생 시간이 1시간인 동영상을 고려할 수 있다. 이때 스트리밍 방식으로 동영상을 제공하는 경우에는 재생 시간인 1시간 이내에서 동영상의 재생이 끊기지 않는 수준의 속도로 파일들을 제공하면 되는 반면, 다운로드 방식에서는 재생 시간이 1시간인 동영상의 전체 파일을 가능한 한 빠르게 제공해야 한다.On the other hand, in the digital content downloading method, a completed file for the digital contents must be stored in the client. Therefore, in the digital contents downloading method, there is a problem about the download speed in which the client must download the entire file as quickly as possible. For example, a video having a playback time of 1 hour may be considered. In this case, when a video is provided in a streaming manner, it is necessary to provide the files at a rate that does not cause the video to be reproduced within 1 hour of the playback time. On the other hand, in the downloading method, You must provide it quickly.
또한, 동영상과 같은 디지털 컨텐츠는 일반적으로 다수의 프레임들이 모여서 묶인 복수의 GOP(Group of Pictures)로 구성된다. 이러한 GOP는 재생 가능한 최소 단위로 사용되며, 프레임들간의 선후 연관관계를 갖고 있기 때문에 GOP가 훼손되거나 중간에 끊기면 영상 자체가 깨지게 된다. 따라서 일반적으로 DRM(Digital Rights Management)을 이용하여 이러한 디지털 컨텐츠를 암호화할 때는 상술한 이유로 인해 GOP 단위로 암호화를 수행한다.In addition, digital contents such as moving pictures are generally composed of a plurality of GOPs (Group of Pictures) in which a plurality of frames are grouped together. Such a GOP is used as a minimum unit that can be reproduced. Since the GOP has a posterior relationship between frames, if the GOP is damaged or interrupted, the video itself is broken. Therefore, in general, when encrypting such digital contents using DRM (Digital Rights Management), encryption is performed in units of GOP because of the above reasons.
그러나, 특별한 이유나 요구사항으로 인해, GOP 단위의 암호화가 아닌 고정 크기(fixed-length)의 블록으로 암호화를 진행해야 할 필요성이 존재한다. GOP는 각각의 크기가 서로 다르기 때문에 고정 크기의 블록으로 암호화를 진행하는 경우 GOP가 손상되는 문제점이 있다.However, due to a particular reason or requirement, there is a need to encrypt with fixed-length blocks rather than GOP-based encryption. Since the GOPs are different in size from each other, there is a problem that the GOP is damaged when encryption is performed with a fixed size block.
서버-클라이언트 환경에서 사용자 고유 식별자가 은닉된 디지털 컨텐츠를 다운로드 방식으로 빠르게 제공할 수 있는 방법 및 시스템을 제공한다.The present invention provides a method and system for quickly providing a digital content that is hidden by a user unique identifier in a server-client environment in a downloading manner.
동영상과 같은 디지털 컨텐츠에서 GOP(Group of Pictures)를 훼손하지 않으면서도 디지털 컨텐츠를 고정 크기의 블록으로 암호화할 수 있는 방법 및 시스템을 제공한다.There is provided a method and system for encrypting digital contents into a fixed size block without damaging a group of pictures (GOP) in digital contents such as moving pictures.
컨텐츠 분할 방법에 있어서, 복수의 GOP(Group of Pictures) 블록으로 구성된 비디오 데이터와 오디오 데이터를 포함하는 디지털 컨텐츠를 확인하는 단계; 및 상기 디지털 컨텐츠를 고정 크기(fixed-length)를 갖는 복수의 컨텐츠 블록들로 분할하는 단계를 포함하고, 상기 복수의 GOP 블록 각각은 상기 고정 크기 이하의 크기를 갖고, 상기 분할하는 단계는, 상기 복수의 GOP 블록 중 제1 GOP 블록의 크기가 상기 고정 크기 미만인 경우, 상기 제1 GOP 블록에 상기 오디오 데이터의 제1 부분을 결합하여 상기 고정 크기의 제1 컨텐츠 블록을 생성하는 것을 특징으로 하는 컨텐츠 분할 방법을 제공한다.A content dividing method comprising: checking digital contents including video data and audio data composed of a plurality of GOP (Group of Pictures) blocks; And dividing the digital content into a plurality of content blocks having a fixed-length, wherein each of the plurality of GOP blocks has a size equal to or less than the fixed size, Wherein the first content block is generated by combining the first portion of the audio data with the first GOP block when the size of the first GOP block is less than the fixed size, Provides a partitioning method.
컴퓨터로 구현된 컨텐츠 분할 시스템에 있어서, 상기 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 복수의 GOP(Group of Pictures) 블록으로 구성된 비디오 데이터와 오디오 데이터를 포함하는 디지털 컨텐츠를 확인하고, 상기 디지털 컨텐츠를 고정 크기(fixed-length)를 갖는 복수의 컨텐츠 블록들로 분할하며, 상기 복수의 GOP 블록 각각은 상기 고정 크기 이하의 크기를 갖고, 상기 적어도 하나의 프로세서는, 상기 디지털 컨텐츠를 분할하기 위해, 상기 복수의 GOP 블록 중 제1 GOP 블록의 크기가 상기 고정 크기 미만인 경우, 상기 제1 GOP 블록에 상기 오디오 데이터의 제1 부분을 결합하여 상기 고정 크기의 제1 컨텐츠 블록을 생성하는 것을 특징으로 하는 컨텐츠 분할 시스템을 제공한다.A computer-implemented content segmentation system, comprising: at least one processor implemented to execute instructions readable by the computer, the at least one processor comprising: video data comprised of a plurality of Group of Pictures (GOP) blocks; Wherein the digital content is divided into a plurality of content blocks having a fixed-length, each of the plurality of GOP blocks having a size equal to or less than the fixed size, Wherein the at least one processor is configured to combine the first portion of the audio data with the first GOP block to divide the digital content into a plurality of GOP blocks if the size of the first GOP block is less than the fixed size, And a first content block having a fixed size is generated. .
서버-클라이언트 환경에서 사용자 고유 식별자가 은닉된 디지털 컨텐츠를 다운로드 방식으로 빠르게 제공할 수 있다. It is possible to quickly provide the digital content that is hidden by the user unique identifier in the server-client environment as a download method.
동영상과 같은 디지털 컨텐츠에서 GOP(Group of Pictures)를 훼손하지 않으면서도 디지털 컨텐츠를 고정 크기의 블록으로 암호화할 수 있다.Digital content can be encrypted into a fixed size block without compromising the GOP (Group of Pictures) in digital content such as video.
도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다.
도 2는 본 발명의 일실시예에 있어서, 전자 기기 및 서버의 내부 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 일실시예에 있어서, 서버의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 블록도이다.
도 4는 본 발명의 일실시예에 따른 서버가 수행할 수 있는 방법의 예를 도시한 흐름도이다.
도 5는 본 발명의 일실시예에 있어서, 전자 기기의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 블록도이다.
도 6은 본 발명의 일실시예에 따른 전자 기기가 수행할 수 있는 방법의 예를 도시한 흐름도이다.
도 7은 본 발명의 일실시예에 있어서, 서로 다른 코드값이 삽입된 복수의 복사본들의 예를 도시한 도면이다.
도 8은 본 발명의 일실시예에 있어서, 사용자별로 구성된 가상 파일의 예들을 도시한 도면이다.
도 9는 본 발명의 일실시예에 있어서, 동일한 코드값의 연속된 조각들을 병합하는 예를 도시한 도면이다.
도 10은 본 발명의 일실시예에 있어서, 사용자별 옵셋 정보의 예를 도시한 도면이다.
도 11은 본 발명의 일실시예에 있어서, 서버의 프로세서가 포함할 수 있는 구성요소의 다른 예를 도시한 블록도이다.
도 12는 본 발명의 일실시예에 따른 서버가 수행할 수 있는 방법의 다른 예를 도시한 흐름도이다.
도 13은 일반적인 MP4 컨텐츠의 예를 도시한 도면이다.
도 14는 본 발명의 일실시예에 있어서, 디지털 컨텐츠의 분할 예를 도시한 도면이다.1 is a diagram illustrating an example of a network environment according to an embodiment of the present invention.
2 is a block diagram illustrating an internal configuration of an electronic device and a server according to an embodiment of the present invention.
3 is a block diagram illustrating an example of components that a processor of a server may include in one embodiment of the present invention.
4 is a flowchart illustrating an example of a method that a server according to an embodiment of the present invention can perform.
5 is a block diagram illustrating an example of components that a processor of an electronic device may include in one embodiment of the present invention.
6 is a flowchart showing an example of a method that an electronic apparatus according to an embodiment of the present invention can perform.
FIG. 7 is a diagram illustrating an example of a plurality of copies in which different code values are inserted, according to an exemplary embodiment of the present invention.
8 is a diagram illustrating examples of a virtual file configured for each user in an embodiment of the present invention.
Figure 9 is an illustration of an example of merging successive fragments of the same code value in one embodiment of the present invention.
10 is a diagram illustrating an example of offset information per user in an embodiment of the present invention.
11 is a block diagram illustrating another example of components that a processor of a server may include in one embodiment of the present invention.
12 is a flowchart illustrating another example of a method that a server according to an embodiment of the present invention can perform.
13 is a diagram showing an example of general MP4 contents.
14 is a diagram showing an example of division of digital contents in an embodiment of the present invention.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다. 도 1의 네트워크 환경은 복수의 전자 기기들(110, 120, 130, 140), 복수의 서버들(150, 160) 및 네트워크(170)를 포함하는 예를 나타내고 있다. 이러한 도 1은 발명의 설명을 위한 일례로 전자 기기의 수나 서버의 수가 도 1과 같이 한정되는 것은 아니다.1 is a diagram illustrating an example of a network environment according to an embodiment of the present invention. 1 shows an example in which a plurality of
복수의 전자 기기들(110, 120, 130, 140)은 컴퓨터 장치로 구현되는 고정형 단말이거나 이동형 단말일 수 있다. 복수의 전자 기기들(110, 120, 130, 140)의 예를 들면, 스마트폰(smart phone), 휴대폰, 네비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC 등이 있다. 일례로 도 1에서는 전자 기기 1(110)의 예로 스마트폰의 형상을 나타내고 있으나, 본 발명의 실시예들에서는 실질적으로 무선 또는 유선 통신 방식을 이용하여 네트워크(170)를 통해 다른 전자 기기들(120, 130, 140) 및/또는 서버(150, 160)와 통신할 수 있는 다양한 기기들 중 하나를 의미할 수 있다.The plurality of
통신 방식은 제한되지 않으며, 네트워크(170)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크(170)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(170)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.The communication method is not limited, and may include a communication method using a communication network (for example, a mobile communication network, a wired Internet, a wireless Internet, a broadcasting network) that the
서버(150, 160) 각각은 복수의 전자 기기들(110, 120, 130, 140)과 네트워크(170)를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다.Each of the
예를 들어, 서버(160)는 메신저 기능을 위한 어플리케이션이나 디지털 컨텐츠의 재생을 위한 어플리케이션의 설치 파일을 복수의 전자 기기들(110, 120, 130, 140)로 배포하는 파일 배포 시스템일 수 있다. 이 경우, 서버(150)는 어플리케이션이 설치된 클라이언트들에게 디지털 컨텐츠를 제공하기 위한 컨텐츠 제공 시스템일 수 있다. 예를 들어, 전자 기기 1(110)의 사용자는 전자 기기 1(110)에 설치된 어플리케이션을 이용하여 네트워크(170)를 통해 서버(150)에 접속할 수 있고, 서버(150)로 디지털 컨텐츠의 다운로드를 요청할 수 있다. 이 경우, 서버(150)는 요청된 디지털 컨텐츠를 전자 기기 1(110)로 전송할 수 있다.For example, the
도 2는 본 발명의 일실시예에 있어서, 전자 기기 및 서버의 내부 구성을 설명하기 위한 블록도이다. 도 2에서는 전자 기기에 대한 예로서 전자 기기 1(110), 그리고 서버(150)의 내부 구성을 설명한다. 다른 전자 기기들(120, 130, 140)이나 서버(160) 역시 동일한 또는 유사한 내부 구성을 가질 수 있다.2 is a block diagram illustrating an internal configuration of an electronic device and a server according to an embodiment of the present invention. 2 illustrates an internal configuration of the electronic device 1 (110) and the
전자 기기 1(110)과 서버(150)는 메모리(211, 221), 프로세서(212, 222), 통신 모듈(213, 223) 그리고 입출력 인터페이스(214, 224)를 포함할 수 있다. 메모리(211, 221)는 컴퓨터에서 판독 가능한 기록 매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 비소멸성 대용량 기록장치는 메모리(211, 221)와 분리되어 별도의 영구 저장 장치로서 포함될 수도 있다. 또한, 메모리(211, 221)에는 운영체제와 적어도 하나의 프로그램 코드(일례로 전자 기기 1(110)에 설치되어 구동되는 브라우저나 특정 서비스의 제공을 위해 전자 기기 1(110)에 설치된 어플리케이션 등을 위한 코드)가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(211, 221)와는 별도의 컴퓨터에서 판독 가능한 기록 매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록 매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록 매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록 매체가 아닌 통신 모듈(213, 223)을 통해 메모리(211, 221)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템(일례로 상술한 서버(160))이 네트워크(170)를 통해 제공하는 파일들에 의해 설치되는 프로그램(일례로 상술한 어플리케이션)에 기반하여 메모리(211, 221)에 로딩될 수 있다.The
프로세서(212, 222)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(211, 221) 또는 통신 모듈(213, 223)에 의해 프로세서(212, 222)로 제공될 수 있다. 예를 들어 프로세서(212, 222)는 메모리(211, 221)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.
통신 모듈(213, 223)은 네트워크(170)를 통해 전자 기기 1(110)과 서버(150)가 서로 통신하기 위한 기능을 제공할 수 있으며, 다른 전자 기기(일례로 전자 기기 2(120)) 또는 다른 서버(일례로 서버(160))와 통신하기 위한 기능을 제공할 수 있다. 일례로, 전자 기기 1(110)의 프로세서(212)가 메모리(211)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청(일례로 영상 통화 서비스를 위한 요청)이 통신 모듈(213)의 제어에 따라 네트워크(170)를 통해 서버(150)로 전달될 수 있다. 역으로, 서버(150)의 프로세서(222)의 제어에 따라 제공되는 제어 신호나 명령, 컨텐츠, 파일 등이 통신 모듈(223)과 네트워크(170)를 거쳐 전자 기기 1(110)의 통신 모듈(213)을 통해 전자 기기 1(110)로 수신될 수 있다. 예를 들어 통신 모듈(213)을 통해 수신된 서버(150)의 제어 신호나 명령 등은 프로세서(212)나 메모리(211)로 전달될 수 있고, 컨텐츠나 파일 등은 전자 기기 1(110)가 더 포함할 수 있는 저장 매체로 저장될 수 있다.The
입출력 인터페이스(214, 224)는 입출력 장치(215)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 어플리케이션의 통신 세션을 표시하기 위한 디스플레이와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(214)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 보다 구체적인 예로, 전자 기기 1(110)의 프로세서(212)는 메모리(211)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어서 서버(150)나 전자 기기 2(120)가 제공하는 데이터를 이용하여 구성되는 서비스 화면이나 컨텐츠가 입출력 인터페이스(214)를 통해 디스플레이에 표시될 수 있다.The input /
또한, 다른 실시예들에서 전자 기기 1(110) 및 서버(150)는 도 2의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 전자 기기 1(110)은 상술한 입출력 장치(215) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다. 보다 구체적인 예로, 전자 기기 1(110)이 스마트폰인 경우, 일반적으로 스마트폰이 포함하고 있는 가속도 센서나 자이로 센서, 카메라, 각종 물리적인 버튼, 터치패널을 이용한 버튼, 입출력 포트, 진동을 위한 진동기 등의 다양한 구성요소들이 전자 기기 1(110)에 더 포함되도록 구현될 수 있음을 알 수 있다.Also, in other embodiments,
도 3은 본 발명의 일실시예에 있어서, 서버의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 블록도이고, 도 4는 본 발명의 일실시예에 따른 서버가 수행할 수 있는 방법의 예를 도시한 흐름도이다.FIG. 3 is a block diagram illustrating an example of a component that a processor of a server may include in an embodiment of the present invention. FIG. 4 is a block diagram of a method that a server can perform according to an embodiment of the present invention. Fig.
서버(150)는 본 발명의 일실시예에 따른 컨텐츠 제공 시스템을 구현할 수 있으며, 도 3에 도시된 바와 같이 서버(150)에 포함된 프로세서(222)는 구성요소들로서 컨텐츠 관리부(310), 송수신 제어부(320), 가상 파일 구성부(330) 및 정보 생성부(340)를 포함할 수 있다. 이러한 프로세서(222) 및 프로세서(222)의 구성요소들은 도 4의 컨텐츠 제공 방법이 포함하는 단계들(410 내지 480)을 수행하도록 서버(150)를 제어할 수 있다. 이때, 프로세서(222) 및 프로세서(222)의 구성요소들은 메모리(221)가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(222)의 구성요소들은 서버(150)에 저장된 프로그램 코드가 제공하는 제어 명령에 따라 프로세서(222)에 의해 수행되는 프로세서(222)의 서로 다른 기능들(different functions)의 표현들일 수 있다. 예를 들어, 프로세서(222)가 상술한 제어 명령에 따라 디지털 컨텐츠를 관리하도록 서버(150)를 제어하는 프로세서(222)의 기능적 표현으로 컨텐츠 관리부(310)가 사용될 수 있다.As shown in FIG. 3, the
단계(410)에서 프로세서(222)는 서버(150)의 제어와 관련된 명령이 로딩된 메모리(221)로부터 필요한 명령을 읽어드릴 수 있다. 이 경우, 상기 읽어드린 명령은 프로세서(222)가 이후 설명될 단계들(420 내지 480)을 실행하도록 제어하기 위한 명령을 포함할 수 있다.At
단계(420)에서 컨텐츠 관리부(310)는 디지털 컨텐츠에 대해, 각각 서로 다른 코드값이 삽입된 복수의 복사본을 관리할 수 있다. 예를 들어, 컨텐츠 관리부(310)는 디지털 컨텐츠의 복수의 복사본들을 서버(150)의 스토리지(storage)에 저장 및 관리하도록 서버(150)를 제어할 수 있다. 이때, 복수의 복사본들에는 각각 서로 다른 코드값들이 워터마킹(watermarking) 기술을 이용하여 시청각적으로 인지할 수 없도록 삽입되어 있을 수 있다. 이러한 워터마킹 기술은 디지털-아날로그나 아날로그-디지털 변형, 사이즈 변환, 일부 영역 잘라내기 등과 같이 디지털 컨텐츠의 변형 시에도 워터마크의 검출이 가능하다는 특징을 갖고 있다. 여기서, 코드값을 어떻게 디지털 컨텐츠에 삽입하는 가에 대한 워터마킹 기술은 이미 잘 알려져 있는 관계로 구체적인 설명은 생략한다. 코드값은 하나의 숫자, '123', '456'과 같은 숫자의 조합, 알파벳과 같은 문자, 문자들의 조합, 문자와 숫자의 조합 등과 같이 필요에 따라 선택된 다양한 형태의 값으로 구성될 수 있다. 간단한 예로, '0'의 코드값이 삽입된 제1 복사본과 '1'의 코드값이 삽입된 제2 복사본이 하나의 디지털 컨텐츠에 대해 관리될 수 있다. In
단계(430)에서 송수신 제어부(320)는 디지털 컨텐츠에 대한 클라이언트의 다운로드 요청을 수신할 수 있다. 여기서, 클라이언트는 네트워크(170)를 통해 서버(150)에 접근하는 전자 기기 1(110)나 전자 기기 1(110)에 설치된 어플리케이션을 의미할 수 있다. 예를 들어, 사용자는 전자 기기 1(110)를 이용하여 서버(150)에 접근할 수 있고, 서버(150)가 제공하는 사용자 인터페이스(일례로, 서버(150)가 제공하는 웹페이지의 특정 링크)를 통해 디지털 컨텐츠의 다운로드를 서버(150)로 요청할 수 있다. 이 경우, 송수신 제어부(320)는 네트워크(170)를 통해 접근한 전자 기기 1(110)로부터 다운로드 요청 신호를 수신하도록 서버(150)를 제어할 수 있다.In
단계(440)에서 가상 파일 구성부(330)는 디지털 컨텐츠에 대한 클라이언트의 다운로드 요청에 따라 서로 다른 코드값의 조합이 클라이언트와 연관하여 식별되는 사용자의 고유 식별자와 매칭되도록 복수의 복사본의 부분들을 조합하여 디지털 컨텐츠에 대한 가상 파일을 구성할 수 있다. 이때, 각각의 가상 파일을 구성하는 부분들은 서로 동일한 크기를 가질 수 있다. 또한, 이후 설명되는 조건에 따라 일부 부분들은 서로 병합될 수도 있다.In
일실시예로, 가상 파일 구성부(330)는 서로 다른 코드값의 조합이 상기 가상 파일의 적어도 일부의 위치에서 상기 사용자의 고유 식별자에 대응하는 값을 갖도록 상기 복수의 복사본의 부분들을 조합할 수 있다. 예를 들어, 사용자의 고유 식별자를 2진 숫자열로 나타내었을 때의 값이 "010100010001"이라 가정한다. 이 경우, 가상 파일을 구성하기 위한 첫 번째 부분에는 2진 숫자열의 첫 번째 값인 '0'을 코드값으로 갖는 복사본의 첫 번째 조각이 이용될 수 있다. 또한, 가상 파일을 구성하기 위한 두 번째 부분에는 2진 숫자열의 두 번째 값인 '1'을 코드값으로 갖는 복사본의 두 번째 조각이 이용될 수 있으며, 이와 유사하게 가상 파일을 구성하기 위한 세 번째 부분에는 2진 숫자열의 세 번째 값인 '0'을 코드값으로 갖는 복사본의 세 번째 조각이 이용될 수 있다. 이때, 가상 파일은 2진 숫자열의 숫자의 개수만큼의 부분들로 구성될 수 있다. 또는, 가상 파일이 2진 숫자열의 숫자의 개수보다 더 많은 수의 부분들로 구성될 수도 있다. 예를 들어, 가상 파일은 2진 숫자열의 자리수의 배수의 부분들로 구성될 수도 있다. 이 경우, 2진 숫자열로 나타낸 고유 식별자가 반복적으로 활용될 수 있다. 또는, 가상 파일의 기설정된 부분의 코드값들이 사용자의 고유 식별자에 대응되도록 가상 파일이 생성될 수도 있다.In one embodiment, the
다른 실시예로, 가상 파일 구성부(330)는 서로 다른 코드값을 조합하여 다운로드 요청에 대한 고유값을 생성하고, 고유값을 사용자의 고유 식별자와 매칭하여 관리할 수도 있다. 예를 들어, 가상 파일 구성부(330)는 가상 파일의 코드값들의 조합이 항상 유일한 값을 갖도록 가상 파일을 구성할 수 있다. 이때, 유일한 값인 고유값과 사용자의 고유 식별자를 매칭하여 저장 및 관리함으로써 가상 파일을 통해 사용자가 식별될 수 있다.In another embodiment, the virtual
단계(450)에서 정보 생성부(340)는 구성된 가상 파일의 위치정보와 복수의 복사본에서 조합된 부분들 각각을 식별하기 위한 옵셋(offset) 정보를 생성할 수 있다. 위치정보는 클라이언트가 네트워크 상에서 가상 파일을 찾기 위한 위치에 대한 정보를 포함할 수 있으며, 일례로 가상 파일을 위해 생성된 유니폼 리소스 로케이터(Uniform Resource Locator, URL)를 포함할 수 있다.In
옵셋 정보는 일실시예로, 사용자의 고유 식별자와 매칭된 부분들이 해당 복사본에서 어느 부분인가를 식별하기 위한 정보를 포함할 수 있다. 예를 들어, 복사본의 전체 바이트들 중 특정 바이트-범위(byte-range)를 통해 고유 식별자와 매칭된 부분들이 식별될 수 있다. 보다 구체적인 예로, 디지털 컨텐츠가 200 바이트의 크기를 갖는다고 가정할 수 있다. 이때, 옵셋 정보는 제1 복사본의 0-99 바이트-범위의 부분 및 제2 복사본의 100-199 바이트 범위의 부분 등과 같이 바이트-범위를 이용하여 사용자의 고유 식별자와 매칭된 부분들이 해당 복사본에서 어느 부분인가를 식별하기 위한 정보를 포함할 수 있다.The offset information may be, in one embodiment, information for identifying which part of the copy matches the unique identifier of the user. For example, portions that match a unique identifier may be identified through a particular byte-range of the total bytes of the copy. As a more specific example, it can be assumed that the digital content has a size of 200 bytes. At this time, the offset information includes a portion of the first copy that matches the unique identifier of the user using the byte-range, such as a portion of the range of the first copy and a portion of the range of 100-199 bytes of the second copy, And may include information for identifying the partial authorization.
옵셋 정보는 다른 실시예로, 청크 넘버(chunk number)를 포함하도록 구성될 수도 있다. 예를 들어, 복수의 복사본들 각각은 복수의 청크(chunk)들로 나뉘어 구분될 수 있다. 이때, 옵셋 정보는 사용자의 고유 식별자와 매칭된 부분들이 해당 복사본에서 어느 부분인가를 식별하기 위한 정보로서 해당 부분의 청크 넘버를 포함할 수 있다.The offset information may, in another embodiment, be configured to include a chunk number. For example, each of the plurality of copies may be divided into a plurality of chunks. At this time, the offset information may include a chunk number of the corresponding part as information for identifying which part of the copy matches the unique identifier of the user.
또한, 앞서 설명한 가상 파일 구성부(330)는 단계(440)에서 조합된 부분들 중 동일한 코드값을 가진 서로 연속된 부분들을 병합하여 하나의 부분으로 조합할 수도 있다. 예를 들어, '0'의 코드값을 가진 세 개의 조각들이 연속적으로 배치된 경우, 가상 파일 구성부(330)는 세 개의 조각을 '0'의 코드값을 가진 하나의 조각으로 병합할 수 있다. 이 경우, 옵셋 정보는 병합된 부분을 하나의 부분으로 식별하기 위한 정보를 포함할 수 있다. 예를 들어, '0'의 코드값을 가진 세 개의 조각들이 각각 '0-99', '100-199', '200-299'의 바이트-범위로 식별되는 경우, 병합된 하나의 조각은 '0-299'의 바이트-범위로 식별될 수 있다. 다시 말해, 동일한 코드값을 가진 서로 연속된 부분들을 병합하여 하나의 조각으로 전송함으로써, 전자 기기 1(110)이 한번에 다운로드하는 조각들을 최대한 크게 유지함으로써 조각들의 요청 수를 줄일 수 있어 다운로드 속도를 향상시킬 수 있다.In addition, the virtual
단계(460)에서 송수신 제어부(320)는 생성된 위치정보와 옵셋 정보를 클라이언트로 제공할 수 있다. 예를 들어 송수신 제어부(320)는 위치정보와 옵셋 정보를 포함하는 데이터를 네트워크(170)를 통해 전자 기기 1(110)로 전송하도록 서버(150)를 제어할 수 있다.In
단계(470)에서 송수신 제어부(330)는 클라이언트로부터 위치정보에 기반하고, 옵셋 정보를 포함하는 다운로드 요청을 수신할 수 있다. 예를 들어, 송수신 제어부(320)는 위치정보에 기반하여 네트워크(170)를 통해 접근하는 전자 기기 1(110)로부터 옵셋정보를 포함하는 다운로드 요청 신호를 수신하도록 서버(150)를 제어할 수 있다. 이때, 전자 기기 1(110)은 실제로는 복수의 복사본 파일들에 대해 일부분의 데이터를 요청하는 것이기 때문에 전자 기기 1(110)은 각각의 조각별로 다운로드를 요청할 수 있다. 따라서, 가상 파일이 포함하는 조각의 수만큼의 다운로드 요청이 발생할 수 있다. 앞서 설명한 바와 같이 동일한 코드값을 가진 서로 연속된 부분들은 병합되어 하나의 조각으로 전송될 수 있다. 따라서 이 경우에는 다운로드 요청의 수를 줄일 수 있어 다운로드 속도를 증가시킬 수 있다. In
단계(480)에서 송수신 제어부(330)는 복수의 복사본에서 옵셋 정보에 대응하는 부분들을 위치정보를 통해 식별되는 가상 파일로서 클라이언트로 전송할 수 있다. 예를 들어, 서버(150)는 전자 기기 1(110)이 접근하는데 이용한 위치정보에 기반하여 가상 파일을 식별할 수 있으며, 다운로드 요청에 포함된 옵셋 정보를 이용하여 복수의 복사본들 각각에서 전자 기기 1(110)로 전송해야 할 부분들을 식별할 수 있다. 이때, 송수신 제어부(330)는 식별되는 복수의 복사본들의 각 부분들을 가상 파일로서 네트워크(170)를 통해 전자 기기 1(110)로 전송하도록 서버(150)를 제어할 수 있다.In
전자 기기 1(110)로 전송된 가상 파일은 전자 기기 1(110)에 하나의 파일의 형태로 저장될 수 있으며, 전자 기기 1(110)에서 재생되거나 다른 장치로 전송될 수 있다. 이때, 가상 파일에는 전자 기기 1(110)의 사용자에 대한 고유 식별자를 인식하기 위한 정보가 포함되어 있기 때문에 해당 디지털 컨텐츠에 대한 소유권 증명이나 최초 유포자와 같은 사용자 추적이 가능해진다.The virtual file transferred to the
도 5는 본 발명의 일실시예에 있어서, 전자 기기의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 블록도이고, 도 6은 본 발명의 일실시예에 따른 전자 기기가 수행할 수 있는 방법의 예를 도시한 흐름도이다.FIG. 5 is a block diagram illustrating an example of a component that a processor of an electronic device may include in an embodiment of the present invention. FIG. 6 is a block diagram of an electronic device according to an exemplary embodiment of the present invention Fig. 2 is a flowchart showing an example of a method. Fig.
전자 기기 1(110)은 본 발명의 일실시예에 따른 컨텐츠 제공 시스템을 구현할 수 있으며, 도 5에 도시된 바와 같이 전자 기기 1(110)에 포함된 프로세서(212)는 구성요소들로서 다운로드 요청부(510), 송수신 제어부(520) 및 재생 제어부(530)를 포함할 수 있다. 이러한 프로세서(212) 및 프로세서(212)의 구성요소들은 도 6의 컨텐츠 제공 방법이 포함하는 단계들(610 내지 660)을 수행하도록 전자 기기 1(110)을 제어할 수 있다. 이때, 프로세서(212) 및 프로세서(212)의 구성요소들은 메모리(211)가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(212)의 구성요소들은 전자 기기 1(110)에 저장된 프로그램 코드가 제공하는 명령에 따라 프로세서(212)에 의해 수행되는 프로세서(212)의 서로 다른 기능들(different functions)의 표현들일 수 있다. 예를 들어, 프로세서(212)가 상술한 명령에 따라 다운로드를 요청하도록 전자 기기 1(110)을 제어하는 프로세서(212)의 기능적 표현으로 다운로드 요청부(510)가 사용될 수 있다.5, the
단계(610)에서 프로세서(212)는 전자 기기 1(110)의 제어와 관련된 명령이 로딩된 메모리(211)로부터 필요한 명령을 읽어드릴 수 있다. 이 경우, 상기 읽어드린 명령은 프로세서(212)가 이후 설명될 단계들(620 내지 660)을 실행하도록 제어하기 위한 명령을 포함할 수 있다.At
단계(620)에서 다운로드 요청부(510)는 디지털 컨텐츠에 대해, 각각 서로 다른 코드값이 삽입된 복수의 복사본을 관리하는 서버(150)로 디지털 컨텐츠의 다운로드를 요청할 수 있다. 예를 들어, 다운로드 요청부(510)는 전자 기기 1(110)이 네트워크(170)를 통해 서버(150)에 접근하여 서버(150)가 제공하는 인터페이스를 통해 특정 디지털 컨텐츠의 다운로드를 요청하도록 전자 기기 1(110)을 제어할 수 있다. 서버(150)는 도 3 및 도 4를 통해 설명한 바와 같이 서로 다른 코드값이 삽입된 복수의 복사본을 관리하고, 전자 기기 1(110)의 사용자의 고유 식별자를 인식하기 위한 정보가 포함된 가상 파일을 전자 기기 1(110)로 제공할 수 있다.In
단계(630)에서 송수신 제어부(520)는 다운로드의 요청에 따라 서버(150)로부터 복수의 복사본의 부분들이 조합된 가상 파일의 위치정보 및 복수의 복사본에서 조합된 부분들 각각을 식별하기 위한 옵셋 정보를 수신할 수 있다. 예를 들어, 송수신 제어부(520)는 서버(150)로부터 위치정보가 옵셋 정보가 포함된 데이터를 수신하도록 전자 기기 1(110)을 제어할 수 있다.In
앞서 설명한 바와 같이 가상 파일은 이미 설명한 바와 같이 서버에서 서로 다른 코드값의 조합이 사용자의 고유 식별자와 매칭되도록 복수의 복사본의 부분들을 조합하여 생성될 수 있다. 또한, 위치정보는 클라이언트가 네트워크 상에서 가상 파일을 찾기 위한 위치에 대한 정보를 포함할 수 있으며, 일례로 가상 파일을 위해 생성된 유니폼 리소스 로케이터(Uniform Resource Locator, URL)를 포함할 수 있다. 옵셋 정보는 사용자의 고유 식별자와 매칭된 부분들이 해당 복사본에서 어느 부분인가를 식별하기 위한 정보로서 바이트-범위나 청크 넘버를 포함할 수 있다.As described above, the virtual file can be generated by combining parts of a plurality of copies such that a combination of different code values in the server matches the unique identifier of the user as described above. In addition, the location information may include information about a location for a client to search for a virtual file on the network, and may include, for example, a uniform resource locator (URL) generated for a virtual file. The offset information may include a byte-range or a chunk number as information for identifying which part of the copy matches the unique identifier of the user.
단계(640)에서 다운로드 요청부(510)는 옵셋 정보를 포함하는 다운로드 요청을 위치정보에 기반하여 전송할 수 있다. 예를 들어, 다운로드 요청부(510)는 위치정보에 따라 다운로드 요청 신호를 네트워크(170)를 통해 전송하도록 전자 기기 1(110)을 제어할 수 있다. 이때 앞서 설명한 바와 같이 가상 파일이 포함하는 조각들은 실질적으로 서로 다른 복수의 복사본들에 포함된 것이기 때문에 다운로드 요청은 가상 파일이 포함하는 조각들의 수만큼 이루어질 수 있다.In
다운로드 요청을 수신한 서버(150)는 도 3 및 도 4를 통해 설명한 바와 같이, 위치정보에 대응하는 가상 파일을 전자 기기 1(110)로 전송함에 있어서, 옵셋 정보에 대응하는 부분들을 복수의 복사본에서 각각 추출하여 전자 기기 1(110)로 전송함으로써 가상 파일을 전송할 수 있다.As described with reference to FIGS. 3 and 4, the
단계(650)에서 송수신 제어부(520)는 복수의 복사본에서 옵셋 정보에 대응하는 부분들의 조합을 위치정보를 통해 식별되는 가상 파일로서 수신할 수 있다. 예를 들어, 송수신 제어부(520)는 서버(150)가 네트워크(170)를 전송하는 가상 파일을 수신하도록 전자 기기 1(110)을 제어할 수 있다. 옵셋 정보에 대응하는 모든 조각들을 조합하면, 하나의 디지털 컨텐츠에 대응하는 데이터가 가상 파일로서 얻어질 수 있으며, 전자 기기 1(110)은 수신된 가상 파일은 하나의 파일로서 전자 기기 1(110)의 스토리지에 저장할 수 있다.In
단계(660)에서 재생 제어부(530)는 저장된 가상 파일을 재생할 수 있다. 예를 들어, 재생 제어부(530)는 스토리지에 저장된 가상 파일을 찾아 재생하여 전자 기기 1(110)의 디스플레이를 통해 표시하도록 전자 기기 1(110)을 제어할 수 있다.In
이하에서는 사용자의 고유 식별자에 대응하는 정보가 삽입된 디지털 컨텐츠를 다운로드 방식으로 제공하기 위한 보다 구체적인 예들을 설명한다.Hereinafter, more specific examples for providing the digital content in which the information corresponding to the unique identifier of the user is inserted in a downloading manner will be described.
도 7은 본 발명의 일실시예에 있어서, 서로 다른 코드값이 삽입된 복수의 복사본들의 예를 도시한 도면이다. 도 7은 하나의 디지털 컨텐츠에 대한 n개의 복사본들(C1, C2, C3, …, Cn)을 나타내고 있다. 디지털 컨텐츠는 1200 바이트의 크기(0-1199 바이트-범위)를 갖고 있고, 따라서 n개의 복사본들(C1, C2, C3, …, Cn) 역시 각각 1200 바이트의 크기를 갖고 있다고 가정한다. 또한, n개의 복사본들(C1, C2, C3, …, Cn) 각각에 코드값 '0', 코드값 '1', 코드값 '2', 코드값 'n-1'과 같이 서로 다른 코드값이 삽입되어 있다고 가정한다. 앞서 설명한 바와 같이 코드값은 숫자나 문자, 숫자의 조합, 문자의 조합 또는 숫자와 문자의 조합과 같이 다양한 형태로 구현될 수 있다.FIG. 7 is a diagram illustrating an example of a plurality of copies in which different code values are inserted, according to an exemplary embodiment of the present invention. Figure 7 shows n copies (C1, C2, C3, ..., Cn) for one digital content. It is assumed that the digital content has a size of 1200 bytes (0-1199 bytes-range), so that n copies (C1, C2, C3, ..., Cn) also each have a size of 1200 bytes. In addition, a code value '0', a code value '1', a code value '2', and a code value 'n-1' are added to each of the
앞서 설명한 컨텐츠 관리부(310)는 단계(420)에서 이러한 복사본들을 관리할 수 있다. 복사본들은 서버(150)에 저장될 수도 있으나, 필요에 따라서는 서버(150)와 네트워크(170)를 통해 통신하는 별도의 장치에 저장될 수도 있다.The
도 8은 본 발명의 일실시예에 있어서, 사용자별로 구성된 가상 파일의 예들을 도시한 도면이다. 도 8은 세 명의 사용자들(U1, U2, U3) 각각의 고유 식별자에 매칭되도록 세 개의 복사본들(C1, C2, C3)을 이용하여 가상 파일들을 구성한 예를 나타내고 있다. 이때, 도 7을 통해 사용자 U1의 고유 식별자가 "012220022011"이거나 고유값 "012220022011"와 매칭되어 서버(150)에 저장된 값임을 알 수 있다. 또한, 사용자 U2의 고유 식별자는 "111022211100"이거나 "111022211100"와 매칭되어 서버(150)에 저장된 값임을 알 수 있다. 마찬가지로, 사용자 U3의 고유 식별자는 "221122012000"이거나 "221122012000"와 매칭되어 서버(150)에 저장된 값임을 알 수 있다.8 is a diagram illustrating examples of a virtual file configured for each user in an embodiment of the present invention. FIG. 8 shows an example in which virtual files are configured using three copies C1, C2, and C3 so as to match the unique identifiers of the three users U1, U2, and U3. At this time, it can be seen from FIG. 7 that the unique identifier of the user U1 is "012220022011 ", or the value is stored in the
예를 들어, 사용자 U1의 고유 식별자가 "012220022011"라 가정하자. 이때, 서버(150)는 3개의 복사본들(C1, C2, C3)로부터 사용자 U1의 고유 식별자 "012220022011"에 매칭되는 부분들을 조합할 수 있다. 다시 말해, 서버(150)는 사용자 U1의 고유 식별자의 첫 번째 값인 '0'에 따라 코드값 '0'을 갖는 복사본 C1로부터 0-99 바이트-범위의 부분을 가상 파일의 첫 번째 조각(810)으로 매칭할 수 있다. 또한, 서버(150)는 사용자 U1의 고유 식별자의 두 번째 값인 '1'에 따라 코드값 '1'을 갖는 복사본 C2로부터 100-199 바이트-범위의 부분을 가상 파일의 두 번째 조각(820)으로 매칭할 수 있다. 다시 서버(150)는 사용자 U1의 고유 식별자의 세 번째 값인 '2'에 따라 코드값 '2'를 갖는 복사본 C3으로부터 200-299 바이트-범위의 부분을 가상 파일의 세 번째 조각(830)으로 매칭할 수 있다. 이러한 과정을 사용자 U1의 고유 식별자가 "012220022011"의 모든 값들에 대해 반복함으로써 사용자 U1을 위한 고유 식별자가 삽입된 가상 파일이 구성될 수 있다. 사용자 U2를 위한 가상 파일과 사용자 U3을 위한 가상 파일 역시 유사한 방법으로 구성될 수 있다. For example, assume that the unique identifier of user U1 is "012220022011 ". At this time, the
실시예에 따라서는 이미 설명한 바와 같이, 동일한 코드값을 갖고 연속된 조각들이 하나의 조각으로 병합될 수도 있다. 예를 들어, 도 8에서 사용자 U1의 가상 파일은 세 번째 조각(830), 네 번째 조각(840) 및 다섯 번째 조각(850)의 세 개의 조각이 동일한 코드값 '2'를 가짐을 알 수 있다.Depending on the embodiment, as already explained, successive fragments having the same code value may be merged into a single fragment. For example, in FIG. 8, it can be seen that the virtual file of user U1 has three pieces of the
도 9는 본 발명의 일실시예에 있어서, 동일한 코드값의 연속된 조각들을 병합하는 예를 도시한 도면이다. 도 9는 도 8의 가상 파일들에서 동일한 코드값을 갖고 서로 연속된 부분들을 하나의 부분으로 병합한 예를 나타내고 있다. 예를 들어, 사용자 U1을 위한 가상 파일에 첫 번째 조각(910)과 두 번째 조각(920)은 동일한 코드값을 갖고 연속된 조각들이 존재하지 않기 때문에 각각 하나의 조각으로 존재한다. 반면, 도 8에서 설명한 세 개의 조각들(830, 840, 850)은 코드값 '2'를 동일하게 갖는 연속된 조각들로서 도 9에 도시된 바와 같이 하나의 조각(930)으로 병합될 수 있다. 도 8의 가상 파일을 이용하는 경우 사용자 U1이 12번의 다운로드 요청과 12번의 다운로드를 진행해야 하지만, 도 8의 가상 파일을 이용하는 경우 사용자 U1은 7번의 다운로드 요청과 7번의 다운로드만 진행하면 되기 때문에 사용자의 가상 파일에 고유 식별자를 삽입함과 동시에 다운로드 속도를 향상시킬 수 있다.Figure 9 is an illustration of an example of merging successive fragments of the same code value in one embodiment of the present invention. FIG. 9 shows an example of merging successive portions having the same code value in the virtual files of FIG. 8 into one portion. For example, in the virtual file for user U1, the
도 10은 본 발명의 일실시예에 있어서, 사용자별 옵셋 정보의 예를 도시한 도면이다. 예를 들어, 도 10에서 사용자 U1의 가상 파일을 구성하는 첫 번째 조각(910)은 0~99의 바이트-범위를 갖고, 두 번째 조각(920)은 100~199의 바이트-범위를 가지며, 세 번째 조각(930)은 200~499의 바이트-범위를 가짐을 알 수 있다. 이러한 조각들 각각에 대한 바이트-범위가 옵셋 정보로서 해당 사용자들에게 제공될 수 있다. 역으로 사용자들은 제공된 옵셋 정보에 기초하여 서버(150)로부터 필요한 조각을 다운로드 받을 수 있게 된다. 예를 들어, 사용자 U1이 '0~99'의 바이트-범위의 옵셋 정보가 포함된 조각의 다운로드를 서버(150)로 요청하면, 서버(150)는 사용자의 고유 식별자 "012220022011"의 첫 번째 값이 '0'임을 알기 때문에 코드값 '0'의 복사본 C1에서 '0~99' 바이트-범위의 데이터를 사용자 U1에게 제공할 수 있다. 다시 사용자 U1이 '100~199'의 바이트-범위의 옵셋 정보가 포함된 조각의 다운로드를 서버(150)로 요청하면, 서버(150)는 사용자의 고유 식별자 "012220022011"의 두 번째 값이 '1'임을 알기 때문에 코드값 '1'의 복사본 C2에서 '100~199'의 바이트-범위의 데이터를 사용자 U1에게 제공할 수 있다. 이와 유사하게, 사용자 U1이 '200~499'의 바이트-범위의 옵셋 정보가 포함된 조각의 다운로드를 서버(150)로 요청하면, 서버(150)는 사용자의 고유 식별자 "012220022011"의 두 번째 값, 세 번째 값 및 네 번째 값이 '2'임을 알기 때문에 코드값 '2'의 복사본 C3에서 '200~499'의 바이트-범위의 데이터를 사용자 U1에게 제공할 수 있다. 이와 같은 과정의 반복을 통해 사용자 U1을 위한 가상 파일이 사용자 U1에게 제공될 수 있다.10 is a diagram illustrating an example of offset information per user in an embodiment of the present invention. For example, in FIG. 10, the
앞서 설명한 실시예들에서와 같이 디지털 컨텐츠가 동일한 크기의 조각들로 분할될 필요성이 존재한다. 그러나, 복수의 GOP(Group of Pictures) 블록으로 구성된 비디오 데이터를 포함하는 디지털 컨텐츠를 고정 크기(fixed-length)로 분할하는 경우 이미 설명한 바와 같이 GOP가 훼손될 가능성이 존재한다. 또한, 상술한 실시예들 외에도 특별한 요구사항에 따라 디지털 컨텐츠를 고정 크기로 분할하여 암호화해야 하는 필요성도 존재한다. 이후에서는, GOP의 훼손 없이 디지털 컨텐츠를 고정 크기로 분할하기 위한 컨텐츠 분할 시스템 및 컨텐츠 분할 방법에 대해 설명한다. There is a need to divide digital content into pieces of equal size, as in the embodiments described above. However, when digital contents including video data composed of a plurality of GOP (Group of Pictures) blocks are divided into a fixed-length, there is a possibility that the GOP is damaged as described above. In addition to the above-described embodiments, there is also a need to divide and encrypt digital content into fixed sizes according to special requirements. Hereinafter, a content dividing system and a content dividing method for dividing digital contents into fixed sizes without damaging the GOP will be described.
도 11은 본 발명의 일실시예에 있어서, 서버의 프로세서가 포함할 수 있는 구성요소의 다른 예를 도시한 블록도이고, 도 12는 본 발명의 일실시예에 따른 서버가 수행할 수 있는 방법의 다른 예를 도시한 흐름도이다.FIG. 11 is a block diagram illustrating another example of a component that a processor of a server may include in an embodiment of the present invention. FIG. 12 is a diagram illustrating a method that a server can perform according to an embodiment of the present invention Fig.
본 실시예에서 서버(150)는 컨텐츠 분할 시스템을 구현할 수 있으며, 도 11에 도시된 바와 같이 서버(150)에 포함된 프로세서(222)는 구성요소들로서 디지털 컨텐츠 확인부(1110), 컨텐츠 분할부(1120) 및 컨텐츠 암호화부(1130)를 포함할 수 있다. 또한, 실시예에 따라 도 3 및 도 4를 통해 설명한 컨텐츠 관리부(310), 송수신 제어부(320), 가상 파일 구성부(330) 및 정보 생성부(340)를 선택적으로 더 포함할 수 있다. 이러한 프로세서(222) 및 프로세서(222)의 구성요소들은 도 12의 컨텐츠 분할 방법이 포함하는 단계들(1210 내지 1240)을 수행하도록 서버(150)를 제어할 수 있다. 이때, 프로세서(222) 및 프로세서(222)의 구성요소들은 메모리(221)가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다. 이미 설명한 바와 같이, 프로세서(222)의 구성요소들은 서버(150)에 저장된 프로그램 코드가 제공하는 제어 명령에 따라 프로세서(222)에 의해 수행되는 프로세서(222)의 서로 다른 기능들(different functions)의 표현들일 수 있다.In this embodiment, the
단계(1210)에서 프로세서(222)는 서버(150)의 제어와 관련된 명령이 로딩된 메모리(221)로부터 필요한 명령을 읽어드릴 수 있다. 이 경우, 상기 읽어드린 명령은 프로세서(222)가 이후 설명될 단계들(1220 내지 1240)을 실행하도록 제어하기 위한 명령을 포함할 수 있다.At
단계(1220)에서 디지털 컨텐츠 확인부(1110)는 복수의 GOP(Group of Pictures) 블록으로 구성된 비디오 데이터와 오디오 데이터를 포함하는 디지털 컨텐츠를 확인할 수 있다. 이미 설명한 바와 같이, 동영상과 같은 디지털 컨텐츠는 일반적으로 다수의 프레임들이 모여서 묶인 복수의 GOP(Group of Pictures)로 구성될 수 있으며, 오디오 재생을 위한 오디오 데이터를 더 포함할 수 있다. 디지털 컨텐츠 확인부(1110)는 이러한 디지털 컨텐츠 중 분할하고자 하는 디지털 컨텐츠를 확인할 수 있다. 예를 들어, 디지털 컨텐츠 확인부(1110)는 서버(150)의 스토리지에 저장된 디지털 컨텐츠들 중 분할하고자 하는 디지털 컨텐츠를 탐색하도록 서버(150)를 제어할 수 있다.In
단계(1230)에서 컨텐츠 분할부(1120)는 디지털 컨텐츠를 고정 크기(fixed-length)를 갖는 복수의 컨텐츠 블록들로 분할할 수 있다. 이때, 복수의 GOP 블록들 중 적어도 일부의 블록들은 서로 다른 크기를 가질 수 있으며, 복수의 GOP 블록들 각각은 상기 고정 크기 이하의 크기를 가질 수 있다. 다시 말해, 컨텐츠 블록이 갖게 되는 고정 크기는 복수의 GOP 블록 중 가장 큰 GOP 블록보다 더 큰 크기를 갖도록 설정될 수 있다. 이때, 컨텐츠 분할부(1120)는 복수의 GOP 블록 중 제1 GOP 블록의 크기가 고정 크기 미만인 경우, 제1 GOP 블록에 오디오 데이터의 제1 부분을 결합하여 고정 크기의 제1 컨텐츠 블록을 생성할 수 있다. 동영상과 같은 비디오 컨텐츠에서 오디오는 여러 개의 패킷으로 구성되고, 패킷들간의 선후 연관관계가 없기 때문에, 오디오 블록은 중간에 분할되어도 전체적인 재생에 영향이 없다. 또한, 중간에 분할되더라도 손상되는 패킷의 크기가 매우 작기 때문에 디지털 컨텐츠를 재생하는 사용자의 입장에서는 큰 차이가 없다. 다시 말해, 본 실시예에서는 하나의 컨텐츠 블록에 GOP 블록을 먼저 채우고, 완전한 GOP 블록이 들어갈 수 없는 컨텐츠 블록의 나머지 부분에 오디오 블록의 적어도 일부인 제1 부분을 결합함으로써 서로 다른 크기의 GOP 블록들이 훼손되지 않도록 디지털 컨텐츠를 분할할 수 있다.In
만약, 제1 블록의 크기가 고정 크기인 경우, 컨텐츠 분할부(1120)는 단계(1230)에서 제1 GOP 블록을 고정 크기의 제1 컨텐츠 블록으로 생성할 수 있다. 다시 말해, 분할에 의해 훼손되지 않을 GOP 블록의 경우에는 GOP 블록을 그대로 컨텐츠 블록으로 활용할 수 있다.If the size of the first block is a fixed size, the
오디오 데이터는 복수의 오디오 블록들로 구성될 수 있다. 이 경우, 상술한 오디오 데이터의 제1 부분은 제1 GOP 블록에 대응하는 제1 오디오 블록의 적어도 일부일 수 있다. 예를 들어, 일반적인 MP4 오디오/비디오 블록들은 GOP 블록들과 각각의 GOP 블록들에 대응하는 오디오 블록들이 순차적으로 배치되어 디지털 컨텐츠를 구성할 수 있다. 이때, 제1 GOP 블록의 크기가 고정 크기 미만인 경우에는 제1 GOP 블록과 제1 오디오 블록의 일부인 제1 부분의 결합을 통해 고정 크기의 컨텐츠 블록이 생성될 수 있다.The audio data may be composed of a plurality of audio blocks. In this case, the first portion of the above-described audio data may be at least a part of the first audio block corresponding to the first GOP block. For example, in general MP4 audio / video blocks, GOP blocks and audio blocks corresponding to the respective GOP blocks are sequentially arranged to constitute digital contents. At this time, if the size of the first GOP block is less than the fixed size, a fixed size content block may be generated through the combination of the first GOP block and the first portion, which is a part of the first audio block.
이때, 컨텐츠 분할부(1120)는 제1 오디오 블록에서 제1 부분을 제외한 나머지 부분인 제2 부분과 복수의 GOP 블록 중 제2 GOP 블록을 결합하여 제2 블록을 생성하되, 제2 부분과 제2 GOP 블록이 결합된 크기가 고정 크기 미만인 경우, 오디오 데이터의 제3 부분을 더 결합하여 고정 크기의 제2 블록을 생성할 수 있다. 이때, 오디오 데이터의 제3 부분은 제2 GOP 블록에 대응하는 오디오 블록의 적어도 일부일 수 있다.At this time, the
만약, 제2 부분과 제2 GOP 블록이 결합된 크기가 고정 크기 이상인 경우, 컨텐츠 분할부(1120)는 제2 GOP 블록에 제2 부분의 일부분인 제2-1 부분을 결합하여 고정 크기의 제2 블록을 생성할 수 있다.If the combined size of the second portion and the second GOP block is equal to or larger than the fixed size, the
이처럼, 서버(150)는 GOP 블록과 오디오 데이터의 결합을 통해 고정 크기의 컨텐츠 블록들로 디지털 컨텐츠를 분할할 수 있다. As described above, the
단계(1240)에서 컨텐츠 암호화부(1130)는 고정 크기로 분할된 컨텐츠 블록의 단위로 디지털 컨텐츠를 암호화할 수 있다. 예를 들어, 앞선 실시예들에서는 디지털 컨텐츠를 동일한 크기의 조각들의 조합으로 구성함으로써 서버-클라이언트 환경에서 사용자 고유 식별자가 은닉된 디지털 컨텐츠를 제공하였다. 이 경우, 각 동일한 크기의 조각들, 다시 말해 고정 크기(일례로, N-byte)의 컨텐츠 블록의 단위로 DRM 등을 위한 암호화가 진행될 필요가 있다. 따라서, 서버(150)는 상술한 컨텐츠 분할 방법에 따라 디지털 컨텐츠를 분할함으로써 GOP가 손상되지 않으면서도 고정 크기로 디지털 컨텐츠를 분할하여 암호화할 수 있다.In
도 13은 일반적인 MP4 컨텐츠의 예를 도시한 도면이다. 도 13은 복수의 오디오 블록들(1310, 1330, 1350)과 복수의 GOP 블록들(1320, 1340, 1360)이 순차적으로 배열되어 구성된 디지털 컨텐츠의 일부의 예를 나타내고 있다. 이때, 복수의 오디오 블록들(1310, 1330, 1350)과 복수의 GOP 블록들(1320, 1340, 1360)의 크기(byte 단위)가 서로 다름을 알 수 있다. 이때, 점선박스들(1370, 1380, 1390)은 디지털 컨텐츠를 고정 크기(200 byte)로 분할하고, 이러한 분할에 따라 제1 GOP 블록(1320)과 제2 GOP 블록(1340)이 손상될 수 있음을 나타내고 있다. 이미 설명한 바와 같이 GOP 블록이 훼손되는 경우에는 디지털 컨텐츠의 재생 시 영상 자체가 깨질 수 있다.13 is a diagram showing an example of general MP4 contents. 13 shows an example of a part of digital contents in which a plurality of
도 14는 본 발명의 일실시예에 있어서, 디지털 컨텐츠의 분할 예를 도시한 도면이다. 도 14는 제1 GOP 블록(1320)의 180 byte와 제1 오디오 블록(1310)의 일부인 제1 부분(1410)의 20 byte의 결합에 의해 제1 점선박스(1370)로 구분되는 제1 컨텐츠 블록이 생성되는 예를 나타내고 있다. 14 is a diagram showing an example of division of digital contents in an embodiment of the present invention. 14 shows a
또한, 도 14는 제1 오디오 블록(1310)의 나머지인 제2 부분(1420)의 30 byte와 제2 GOP 블록(1340)의 105 byte의 결합을 통해 제2 점선박스(1380)로 구분되는 제2 컨텐츠 블록이 생성되는 예를 나타내고 있다. 이때, 제2 부분(1420)의 30 byte와 제2 GOP 블록(1340)의 105 byte를 결합해도 고정 크기인 200 byte 미만이기 때문에 제2 오디오 블록(1330)의 제3 부분(1430)이 더 결합되어 제2 컨텐츠 블록이 완성될 수 있다.14 is a block diagram illustrating an example in which a
이와 유사하게, 제2 오디오 블록(1330)의 나머지인 제4 부분(1440)의 12 byte와 제3 GOP 블록(1360)의 82 byte의 결합을 통해 제3 점선박스(1390)로 구분되는 제3 컨텐츠 블록의 생성이 시도될 수 있다. 이때, 제4 부분(1440)의 12 byte와 제3 GOP 블록(1360)의 82 byte를 결합해도 고정 크기인 200 byte 미만이기 때문에 제3 GOP 블록(1360)에 대응하는 제3 오디오 블록(1350)의 44 byte가 제3 컨텐츠 블록의 생성을 위해 더 결합될 수 있다. 그러나 제4 부분(1440)의 12 byte, 제3 GOP 블록(1360)의 82 byte, 그리고 제3 오디오 블록(1350)의 44 byte를 모두 결합해도 고정 크기 200 byte 미만이기 때문에 다음 GOP 블록이나 다음 오디오 블록의 적어도 일부에 대한 결합이 고려될 수 있다. 예를 들어 다음 GOP 블록의 크기가 62(200-(12+82+44)) byte 이하인 경우에는 다음 GOP 블록이 제3 컨텐츠 블록의 생성을 위해 더 결합될 수 있다. 그러나 다음 GOP 블록의 크기가 62 byte를 초과하는 경우에는 다음 오디오 블록의 적어도 일부가 제3 컨텐츠 블록의 생성을 위해 더 결합될 수 있다.Similarly, the
이처럼, 서버(150)는 하나의 GOP 블록이 훼손되지 않도록 디지털 컨텐츠(또는 디지털 컨텐츠의 복수의 복사본들 각각)를 고정 크기의 컨텐츠 블록들로 분할할 수 있다. 분할된 컨텐츠 블록들에는 코드값이 삽입되어 사용자의 고유 식별자를 은닉하기 위해 활용될 수 있으며, 디지털 컨텐츠의 복수의 복사본들 각각에 대해 분할된 컨텐츠 블록들은 가상 파일을 구성하기 위해 조합될 수 있다. 또한, DRM 등을 위한 암호화가 고정 크기의 컨텐츠 블록 단위로 수행될 수 있다.As described above, the
또한, 앞서 설명한 실시예들은 GOP 블록이 훼손되지 않도록 디지털 컨텐츠를 고정 크기의 컨텐츠 블록들로 분할함을 설명하고 있다. 이때, 디지털 컨텐츠는 고정 크기의 배수로 분할될 수도 있다. 예를 들어, 도 13 및 도 14의 실시예에서는 200 byte의 고정 크기로 디지털 컨텐츠를 분할하는 실시예를 설명하였으나, 고정 크기인 200 byte의 배수인 400 byte, 600 byte, 800 byte 등으로 디지털 컨텐츠가 분할될 수도 있다. 예를 들어, 특정 컨텐츠 블록이 512 byte 이상으로 분할될 것이 강제되어 있다면, 서버(150)는 (512*N)의 고정 크기(여기서, N은 자연수)로 디지털 컨텐츠를 분할하여 (512*N)의 고정 크기를 갖는 컨텐츠 블록들을 얻을 수 있다. 다시 말해, 본 발명의 실시예들에서 컨텐츠 블록의 크기는 기설정된 고정 크기의 배수가 될 수 있다. 이 경우에도 컨텐츠 블록에는 GOP가 훼손되지 않도록 비디오 블록들이 포함된 후에 나머지 영역에 오디오 블록들이 포함될 수 있다.In addition, the above-described embodiments explain that the digital content is divided into fixed-size content blocks so that the GOP block is not damaged. At this time, the digital contents may be divided into multiples of a fixed size. For example, in the embodiments shown in FIGS. 13 and 14, the digital content is divided into a fixed size of 200 bytes. However, the digital content may be divided into 400 bytes, 600 bytes, 800 bytes, Lt; / RTI > For example, if a particular content block is forced to be split into more than 512 bytes, the
이처럼 본 발명의 실시예들에 따르면, 서버-클라이언트 환경에서 사용자 고유 식별자가 은닉된 디지털 컨텐츠를 다운로드 방식으로 빠르게 제공할 수 있다. 또한, 동영상과 같은 디지털 컨텐츠에서 GOP(Group of Pictures)를 훼손하지 않으면서도 디지털 컨텐츠를 고정 크기의 블록으로 암호화할 수 있다.As described above, according to the embodiments of the present invention, it is possible to rapidly provide the digital content that has been stored with the user's unique identifier in the server-client environment as a download method. In addition, it is possible to encrypt digital contents into a fixed size block without damaging the GOP (Group of Pictures) in digital contents such as moving pictures.
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소 또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The system or apparatus described above may be implemented as a hardware component, a software component or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA) , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.
Claims (20)
복수의 GOP(Group of Pictures) 블록으로 구성된 비디오 데이터와 오디오 데이터를 포함하는 디지털 컨텐츠를 확인하는 단계; 및
상기 디지털 컨텐츠를 고정 크기(fixed-length)를 갖는 복수의 컨텐츠 블록들로 분할하는 단계
를 포함하고,
상기 복수의 GOP 블록 각각은 상기 고정 크기 이하의 크기를 갖고,
상기 분할하는 단계는,
상기 복수의 GOP 블록 중 제1 GOP 블록의 크기가 상기 고정 크기 미만인 경우, 상기 제1 GOP 블록에 상기 오디오 데이터의 제1 부분을 결합하여 상기 고정 크기의 제1 컨텐츠 블록을 생성하는 것
을 특징으로 하는 컨텐츠 분할 방법.A content division method comprising:
Identifying digital content including video data and audio data composed of a plurality of GOP (Group of Pictures) blocks; And
Dividing the digital content into a plurality of content blocks having a fixed-length
Lt; / RTI >
Wherein each of the plurality of GOP blocks has a size equal to or smaller than the fixed size,
Wherein the dividing step comprises:
And generating the first content block of the fixed size by combining the first portion of the audio data with the first GOP block when the size of the first GOP block is less than the fixed size
Wherein the content distribution method comprises the steps of:
상기 분할하는 단계는,
상기 제1 GOP 블록의 크기가 상기 고정 크기인 경우, 상기 제1 GOP 블록을 상기 고정 크기의 제1 컨텐츠 블록으로 생성하는 것
을 특징으로 하는 컨텐츠 분할 방법.The method according to claim 1,
Wherein the dividing step comprises:
And generating the first GOP block as a first content block of the fixed size when the size of the first GOP block is the fixed size
Wherein the content distribution method comprises the steps of:
상기 오디오 데이터는 복수의 오디오 블록들로 구성되고,
상기 제1 부분은 상기 제1 GOP 블록에 대응하는 제1 오디오 블록의 적어도 일부인 것을 특징으로 하는 컨텐츠 분할 방법.The method according to claim 1,
Wherein the audio data is composed of a plurality of audio blocks,
Wherein the first portion is at least a portion of a first audio block corresponding to the first GOP block.
상기 분할하는 단계는,
상기 제1 오디오 블록에서 제1 부분을 제외한 나머지 부분인 제2 부분과 상기 복수의 GOP 블록 중 제2 GOP 블록을 결합하여 제2 블록을 생성하되, 상기 제2 부분과 상기 제2 GOP 블록이 결합된 크기가 상기 고정 크기 미만인 경우, 상기 오디오 데이터의 제3 부분을 더 결합하여 상기 고정 크기의 제2 블록을 생성하는 것
을 특징으로 하는 컨텐츠 분할 방법.The method of claim 3,
Wherein the dividing step comprises:
A second portion of the first audio block excluding a first portion is combined with a second GOP block of the plurality of GOP blocks to generate a second block, and the second portion and the second GOP block are combined Generating a second block of the fixed size by further combining a third portion of the audio data if the size of the first portion of the audio data is less than the fixed size
Wherein the content distribution method comprises the steps of:
상기 분할하는 단계는,
상기 제2 부분과 상기 제2 GOP 블록이 결합된 크기가 상기 고정 크기 이상인 경우, 상기 제2 GOP 블록에 상기 제2 부분의 일부분인 제2-1 부분을 결합하여 상기 고정 크기의 제2 블록을 생성하는 것
을 특징으로 하는 컨텐츠 분할 방법.5. The method of claim 4,
Wherein the dividing step comprises:
When the combined size of the second portion and the second GOP block is equal to or larger than the fixed size, the second GOP block is combined with the second-1 portion, which is a part of the second portion, Creating
Wherein the content distribution method comprises the steps of:
상기 고정 크기로 분할된 컨텐츠 블록의 단위로 상기 디지털 컨텐츠를 암호화하는 단계
를 더 포함하는 것을 특징으로 하는 컨텐츠 분할 방법.The method according to claim 1,
Encrypting the digital content in units of content blocks divided by the fixed size
Further comprising the steps of:
상기 디지털 컨텐츠에 대해, 각각 서로 다른 코드값이 삽입된 복수의 복사본을 관리하는 단계;
상기 디지털 컨텐츠에 대한 클라이언트의 다운로드 요청에 따라 상기 서로 다른 코드값의 조합이 상기 클라이언트와 연관하여 식별되는 사용자의 고유 식별자와 매칭되도록 상기 복수의 복사본의 부분들을 조합하여 상기 디지털 컨텐츠에 대한 가상 파일을 구성하는 단계; 및
상기 구성된 가상 파일의 위치정보와 상기 복수의 복사본에서 상기 조합된 부분들 각각을 식별하기 위한 옵셋(offset) 정보를 생성하여 상기 클라이언트로 제공하는 단계
를 더 포함하고,
상기 가상 파일은, 상기 복수의 복사본들 각각을 상기 고정 크기로 분할하여 생성된 복수의 컨텐츠 블록들의 조합으로 구성되는 것을 특징으로 하는 컨텐츠 분할 방법.The method according to claim 1,
Managing a plurality of copies of each of the digital contents with different code values inserted therein;
A combination of the different code values is matched with a unique identifier of a user identified in association with the client in accordance with a client download request for the digital content, Comprising; And
And generating offset information for identifying each of the combined parts in the plurality of copies and providing the offset information to the client
Further comprising:
Wherein the virtual file comprises a combination of a plurality of content blocks generated by dividing each of the plurality of copies into the fixed size.
상기 클라이언트로부터 상기 위치정보에 기반하고, 상기 옵셋 정보를 포함하는 다운로드 요청을 수신하는 단계; 및
상기 복수의 복사본에서 상기 옵셋 정보에 대응하는 부분들을 상기 위치정보를 통해 식별되는 상기 가상 파일로서 상기 클라이언트로 전송하는 단계
를 더 포함하는 것을 특징으로 하는 컨텐츠 분할 방법.8. The method of claim 7,
Receiving a download request based on the location information from the client and including the offset information; And
Transmitting portions of the plurality of copies corresponding to the offset information to the client as the virtual file identified through the location information
Further comprising the steps of:
상기 옵셋 정보는, 상기 복수의 복사본에서 상기 조합된 부분들을 식별하기 위한 정보로서, 복사본에서 대응하는 부분이 차지하는 바이트-범위(byte-range)를 포함하는 것을 특징으로 하는 컨텐츠 분할 방법.8. The method of claim 7,
Wherein the offset information is information for identifying the combined portions in the plurality of copies, and includes a byte-range occupied by a corresponding portion in the copy.
상기 복수의 복사본 각각은 복수의 청크(chunk)들로 나뉘고,
상기 옵셋 정보는, 상기 복수의 복사본에서 상기 조합된 부분들을 식별하기 위한 정보로서, 복사본에서 대응하는 부분의 청크 넘버(chunk number)를 포함하는 것을 특징으로 하는 컨텐츠 분할 방법.8. The method of claim 7,
Wherein each of the plurality of copies is divided into a plurality of chunks,
Wherein the offset information is information for identifying the combined parts in the plurality of copies, and includes a chunk number of a corresponding part in the copy.
상기 가상 파일을 구성하는 단계는,
상기 서로 다른 코드값의 조합이 상기 가상 파일의 적어도 일부의 위치에서 상기 사용자의 고유 식별자에 대응하는 값을 갖도록 상기 복수의 복사본의 부분들을 조합하는 것을 특징으로 하는 컨텐츠 분할 방법.8. The method of claim 7,
Wherein configuring the virtual file comprises:
And combining the portions of the plurality of copies such that the combination of the different code values has a value corresponding to the unique identifier of the user at a position of at least a part of the virtual file.
상기 가상 파일을 구성하는 단계는,
상기 서로 다른 코드값을 조합하여 상기 다운로드 요청에 대한 고유값을 생성하고, 상기 고유값을 상기 사용자의 고유 식별자와 매칭하여 관리하는 것을 특징으로 하는 컨텐츠 분할 방법.8. The method of claim 7,
Wherein configuring the virtual file comprises:
Generating a unique value for the download request by combining the different code values, and managing the unique value by matching with the unique identifier of the user.
상기 가상 파일을 구성하는 단계는,
상기 조합된 부분들 중 동일한 코드값을 가진 서로 연속된 부분들을 병합하여 하나의 부분으로 조합하고,
상기 옵셋 정보는 상기 병합된 부분을 하나의 부분으로 식별하기 위한 정보를 포함하는 것을 특징으로 하는 컨텐츠 분할 방법.8. The method of claim 7,
Wherein configuring the virtual file comprises:
Combining the consecutive portions having the same code value out of the combined portions into a single portion,
Wherein the offset information includes information for identifying the merged portion as a single portion.
상기 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서는,
복수의 GOP(Group of Pictures) 블록으로 구성된 비디오 데이터와 오디오 데이터를 포함하는 디지털 컨텐츠를 확인하고,
상기 디지털 컨텐츠를 고정 크기(fixed-length)를 갖는 복수의 컨텐츠 블록들로 분할하며,
상기 복수의 GOP 블록 각각은 상기 고정 크기 이하의 크기를 갖고,
상기 적어도 하나의 프로세서는, 상기 디지털 컨텐츠를 분할하기 위해,
상기 복수의 GOP 블록 중 제1 GOP 블록의 크기가 상기 고정 크기 미만인 경우, 상기 제1 GOP 블록에 상기 오디오 데이터의 제1 부분을 결합하여 상기 고정 크기의 제1 컨텐츠 블록을 생성하는 것
을 특징으로 하는 컨텐츠 분할 시스템.A computer-implemented content division system,
At least one processor configured to execute instructions readable by the computer,
Lt; / RTI >
Wherein the at least one processor comprises:
The digital content including video data and audio data composed of a plurality of GOP (Group of Pictures) blocks is confirmed,
Dividing the digital content into a plurality of content blocks having a fixed-length,
Wherein each of the plurality of GOP blocks has a size equal to or smaller than the fixed size,
Wherein the at least one processor is further configured to:
And generating the first content block of the fixed size by combining the first portion of the audio data with the first GOP block when the size of the first GOP block is less than the fixed size
And the content distribution system.
상기 적어도 하나의 프로세서는, 상기 디지털 컨텐츠를 분할하기 위해,
상기 제1 GOP 블록의 크기가 상기 고정 크기인 경우, 상기 제1 GOP 블록을 상기 고정 크기의 제1 컨텐츠 블록으로 생성하는 것
을 특징으로 하는 컨텐츠 분할 시스템.16. The method of claim 15,
Wherein the at least one processor is further configured to:
And generating the first GOP block as a first content block of the fixed size when the size of the first GOP block is the fixed size
And the content distribution system.
상기 오디오 데이터는 복수의 오디오 블록들로 구성되고,
상기 제1 부분은 상기 제1 GOP 블록에 대응하는 제1 오디오 블록의 적어도 일부인 것을 특징으로 하는 컨텐츠 분할 시스템.16. The method of claim 15,
Wherein the audio data is composed of a plurality of audio blocks,
Wherein the first portion is at least a portion of a first audio block corresponding to the first GOP block.
상기 적어도 하나의 프로세서는, 상기 디지털 컨텐츠를 분할하기 위해,
상기 제1 오디오 블록에서 제1 부분을 제외한 나머지 부분인 제2 부분과 상기 복수의 GOP 블록 중 제2 GOP 블록을 결합하여 제2 블록을 생성하되, 상기 제2 부분과 상기 제2 GOP 블록이 결합된 크기가 상기 고정 크기 미만인 경우, 상기 오디오 데이터의 제3 부분을 더 결합하여 상기 고정 크기의 제2 블록을 생성하는 것
을 특징으로 하는 컨텐츠 분할 시스템.18. The method of claim 17,
Wherein the at least one processor is further configured to:
A second portion of the first audio block excluding a first portion is combined with a second GOP block of the plurality of GOP blocks to generate a second block, and the second portion and the second GOP block are combined Generating a second block of the fixed size by further combining a third portion of the audio data if the size of the first portion of the audio data is less than the fixed size
And the content distribution system.
상기 적어도 하나의 프로세서는, 상기 디지털 컨텐츠를 분할하기 위해,
상기 제2 부분과 상기 제2 GOP 블록이 결합된 크기가 상기 고정 크기 이상인 경우, 상기 제2 GOP 블록에 상기 제2 부분의 일부분인 제2-1 부분을 결합하여 상기 고정 크기의 제2 블록을 생성하는 것
을 특징으로 하는 컨텐츠 분할 시스템.19. The method of claim 18,
Wherein the at least one processor is further configured to:
When the combined size of the second portion and the second GOP block is equal to or larger than the fixed size, the second GOP block is combined with the second GOP portion, which is a part of the second portion, Creating
And the content distribution system.
상기 적어도 하나의 프로세서는,
상기 디지털 컨텐츠에 대해, 각각 서로 다른 코드값이 삽입된 복수의 복사본을 관리하고,
상기 디지털 컨텐츠에 대한 클라이언트의 다운로드 요청에 따라 상기 서로 다른 코드값의 조합이 상기 클라이언트와 연관하여 식별되는 사용자의 고유 식별자와 매칭되도록 상기 복수의 복사본의 부분들을 조합하여 상기 디지털 컨텐츠에 대한 가상 파일을 구성하며,
상기 구성된 가상 파일의 위치정보와 상기 복수의 복사본에서 상기 조합된 부분들 각각을 식별하기 위한 옵셋(offset) 정보를 생성하여 상기 클라이언트로 제공하고,
상기 가상 파일은, 상기 복수의 복사본들 각각을 상기 고정 크기로 분할하여 생성된 복수의 컨텐츠 블록들의 조합으로 구성되는 것을 특징으로 하는 컨텐츠 분할 시스템.16. The method of claim 15,
Wherein the at least one processor comprises:
Managing a plurality of copies in which different code values are inserted for the digital contents,
A combination of the different code values is matched with a unique identifier of a user identified in association with the client in accordance with a client download request for the digital content, And,
And generating offset information for identifying each of the combined parts in the plurality of copies and providing the offset information to the client,
Wherein the virtual file comprises a combination of a plurality of content blocks generated by dividing each of the plurality of copies into the fixed size.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160054776A KR20170124839A (en) | 2016-05-03 | 2016-05-03 | Method and system for dividing digital content for fixed-length block encryption |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160054776A KR20170124839A (en) | 2016-05-03 | 2016-05-03 | Method and system for dividing digital content for fixed-length block encryption |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20170124839A true KR20170124839A (en) | 2017-11-13 |
Family
ID=60386095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160054776A KR20170124839A (en) | 2016-05-03 | 2016-05-03 | Method and system for dividing digital content for fixed-length block encryption |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20170124839A (en) |
-
2016
- 2016-05-03 KR KR1020160054776A patent/KR20170124839A/en active Search and Examination
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103403712B (en) | File chunk based on content | |
US10972807B2 (en) | Dynamic watermarking of digital media content at point of transmission | |
US8688991B1 (en) | Media player embodiments and secure playlist packaging | |
CN103583051B (en) | Playlists for real-time or near real-time streaming | |
US10136098B2 (en) | Integrity verification of an audio-visual data stream | |
US8001608B2 (en) | Secure streaming container | |
US8595492B2 (en) | On-demand protection and authorization of playback of media assets | |
KR20170056613A (en) | Media decoding control with hardware-protected digital rights management | |
US8638935B2 (en) | System and method for key space division and sub-key derivation for mixed media digital rights management content | |
CN107222759B (en) | Method, system, device and medium for encrypting and decrypting media file | |
US20200029114A1 (en) | Method, system, and non-transitory computer-readable record medium for synchronization of real-time live video and event data | |
KR101668957B1 (en) | Contents streaming service method and system for reducing communication cost | |
KR20050042377A (en) | Devided data transmission system and method for streaming service on a low speed channel | |
US10262115B2 (en) | Secure connected digital media platform | |
Senthilnathan et al. | An enhancing reversible data hiding for secured data using shuffle block key encryption and histogram bit shifting in cloud environment | |
KR101998303B1 (en) | Method and system for managing sliding window for time machine function | |
US11881940B2 (en) | Method and system for providing secure message | |
KR102134250B1 (en) | Method and system for reproducing streaming content | |
CN109040087B (en) | File encryption and decryption method and device | |
KR20170124839A (en) | Method and system for dividing digital content for fixed-length block encryption | |
KR101564731B1 (en) | System and method for tracking a downloaded digital media file | |
KR101833386B1 (en) | Method and system for providing digital content inserted identifier of user | |
KR101701625B1 (en) | Method and system for reproducing contents by secure acquiring decryption key for encrypted contents | |
KR101771348B1 (en) | Method and system for packing package file | |
JP2014175757A (en) | Digital watermark processing system for generating digital watermark by coupling divided elements, server, program and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
J301 | Trial decision |
Free format text: TRIAL NUMBER: 2018101001107; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20180312 Effective date: 20190802 |