[go: up one dir, main page]

KR102477310B1 - DRM contents parallel packaging device and system comprising it and method for DRM contents parallel packaging - Google Patents

DRM contents parallel packaging device and system comprising it and method for DRM contents parallel packaging Download PDF

Info

Publication number
KR102477310B1
KR102477310B1 KR1020200186812A KR20200186812A KR102477310B1 KR 102477310 B1 KR102477310 B1 KR 102477310B1 KR 1020200186812 A KR1020200186812 A KR 1020200186812A KR 20200186812 A KR20200186812 A KR 20200186812A KR 102477310 B1 KR102477310 B1 KR 102477310B1
Authority
KR
South Korea
Prior art keywords
packaging
drm
nal
nal unit
parallel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
KR1020200186812A
Other languages
Korean (ko)
Other versions
KR20220095010A (en
Inventor
조준행
오재호
이진락
Original Assignee
재단법인 경주스마트미디어센터
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 재단법인 경주스마트미디어센터 filed Critical 재단법인 경주스마트미디어센터
Priority to KR1020200186812A priority Critical patent/KR102477310B1/en
Priority to PCT/KR2020/019439 priority patent/WO2021137633A2/en
Publication of KR20220095010A publication Critical patent/KR20220095010A/en
Application granted granted Critical
Publication of KR102477310B1 publication Critical patent/KR102477310B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • 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/25Management 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/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2541Rights Management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4353Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving decryption of additional data

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Library & Information Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 영상 콘텐츠의 용량에 관계없이 DRM 패키징 소요 시간과 연산량을 감소시킬 수 있는 DRM 콘텐츠 병렬 패키징 장치 및 이를 포함하는 DRM 콘텐츠 병렬 패키징 시스템 및 DRM 콘텐츠 병렬 패키징 방법에 관한 것으로,
본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 장치는,
복수개의 NAL 유닛(Network Abstraction Layer Unit)을 포함하여 구성된 영상 콘텐츠를 개개의 NAL 유닛으로 분할하는 NAL 분할모듈; 상기 NAL 분할모듈에 의해 분할된 복수개의 NAL 유닛 중에서 DRM 패키징 처리할 적어도 하나 이상의 패키징 NAL 유닛과, DRM 패키징 처리하지 않을 적어도 하나 이상의 스킵 NAL 유닛을 선택하는 NAL 선택모듈; 상기 NAL 선택모듈에 의해 선택된 복수개의 패키징 NAL 유닛 각각에 대해, CABAC 디코더를 이용하여 디코딩하고, 디코딩을 통해 추출된 QTC 데이터 내의 DRM 메타 데이터를 패키징하고, DRM 메타 데이터 패키징이 완료된 NAL 유닛을 인코딩하는 병렬 패키징모듈;을 포함한다.
The present invention relates to a parallel packaging device for DRM content that can reduce the amount of time and calculation required for DRM packaging regardless of the capacity of video content, a DRM content parallel packaging system including the same, and a method for parallel packaging DRM content,
DRM content parallel packaging apparatus according to an embodiment of the present invention,
A NAL segmentation module for segmenting video content composed of a plurality of NAL units (Network Abstraction Layer Units) into individual NAL units; A NAL selection module for selecting at least one packaging NAL unit to be processed for DRM packaging and at least one or more skip NAL units not to be processed for DRM packaging among the plurality of NAL units divided by the NAL division module; For each of the plurality of packaging NAL units selected by the NAL selection module, decoding using a CABAC decoder, packaging DRM metadata in the QTC data extracted through decoding, and encoding the NAL unit for which DRM metadata packaging has been completed Parallel packaging module; includes.

Figure R1020200186812
Figure R1020200186812

Description

DRM 콘텐츠 병렬 패키징 장치 및 이를 포함하는 DRM 콘텐츠 병렬 패키징 시스템 및 DRM 콘텐츠 병렬 패키징 방법 {DRM contents parallel packaging device and system comprising it and method for DRM contents parallel packaging}DRM contents parallel packaging device, DRM contents parallel packaging system including the same, and DRM contents parallel packaging method {DRM contents parallel packaging device and system comprising it and method for DRM contents parallel packaging}

본 발명은 영상 콘텐츠의 용량에 관계없이 DRM 패키징 소요 시간과 연산량을 감소시킬 수 있는 DRM 콘텐츠 병렬 패키징 장치 및 이를 포함하는 DRM 콘텐츠 병렬 패키징 시스템 및 DRM 콘텐츠 병렬 패키징 방법에 관한 것이다. The present invention relates to a device for parallel packaging DRM contents, which can reduce the amount of time required for DRM packaging and the amount of calculation regardless of the capacity of video contents, a parallel packaging system for DRM contents including the same, and a method for parallel packaging DRM contents.

최근 5G 기술의 상용화 및 유튜브와 같은 1인 미디어 등의 활성화와 저변 확대로 인해 이와 관련된 디지털 콘텐츠 유통과 배급 관련 플랫폼의 수요가 폭발적으로 증가하고 있고, 관련 산업군이 급성장하고 있다. Due to the recent commercialization of 5G technology and the activation and base expansion of one-person media such as YouTube, the demand for digital content distribution and distribution-related platforms is explosively increasing, and related industries are growing rapidly.

그러나, 디지털 콘텐츠 저작권에 대한 인식의 부족으로 인해 무분별한 디지털 콘텐츠의 불법복제와 무단 사용으로 인한 문제점이 크게 대두되기 시작했고, 이로 인해 디지털 저작권 관리(Digital Rights Management, DRM)에 대한 중요성이 대두되고 있다. However, due to the lack of awareness of digital content copyright, problems caused by indiscriminate illegal copying and unauthorized use of digital content have begun to emerge, and as a result, the importance of digital rights management (DRM) is emerging. .

DRM은 디지털 콘텐츠의 저작권을 보호하기 위한 기술 및 서비스 관리 체계와 기법을 총칭하는 용어로서 다양한 디바이스 환경에서 저작권 정보를 보호하기 위해 다수의 연구 개발과 상용화 서비스가 수행 중이다. 영상 콘텐츠에 대한 DRM 기술로는 크게 2가지로 나뉘고, 이는 영상에 대해 DRM 패키징을 수행하는 것과 복합 라이선스 기술을 통해 영상 콘텐츠 공급자와 사용자 간에 안전하고 효율적인 DRM 서비스를 제공한다. DRM is a general term for technologies and service management systems and techniques for protecting the copyright of digital contents, and a number of R&D and commercialization services are underway to protect copyright information in various device environments. DRM technology for video content is largely divided into two types, which perform DRM packaging for video and provide safe and efficient DRM services between video content providers and users through complex license technology.

기존의 DRM 패키징 기술은 특정 콘텐츠의 저작권을 해당 콘텐츠 내에 삽입하여 콘텐츠의 불법복제와 무단 사용을 근절하는 것으로, H.264(최대 4K 60FPS)급 콘텐츠에 대해서만 수행이 가능했고, 세부 패키징 기법으로는 스크램블링(scrambling) 또는 대칭키/비대칭키 암호 알고리듬 등을 주로 사용하였다. Existing DRM packaging technology is to eradicate illegal copying and unauthorized use of content by inserting the copyright of specific content into the content. Scrambling or symmetric/asymmetric key cryptographic algorithms were mainly used.

이로 인해 발생하는 문제점은 다음과 같다. The problems caused by this are as follows.

첫째, DRM 패키징 수행 속도와 연산량에 대한 문제이다. 대칭키/비대칭키 암호 알고리듬의 경우 최근 해당 알고리듬의 안전성을 문제로 비밀키(Secret Key)의 길이가 증가하면서, 암호화 또는 복호화 시 소요되는 속도와 연산량이 기하급수적으로 증가하는 추세이다. 실감형 콘텐츠의 경우 기존의 콘텐츠 대비 최대 8배까지 용량이 증가하기 때문에 암호 알고리듬을 적용할 경우 소요되는 시간과 연산량이 증가하고 이로 인해 관련 분야에서는 별도의 소프트웨어 또는 하드웨어를 새롭게 개발 및 구축하여야 하기 때문에 이를 해결하기 위해 소요되는 비용이 증가하게 된다.First, it is a problem of DRM packaging execution speed and amount of computation. In the case of symmetric key/asymmetric key cryptographic algorithms, as the length of the secret key increases recently due to the safety of the algorithm, the speed and amount of computation required for encryption or decryption tend to increase exponentially. In the case of realistic content, the capacity increases up to 8 times compared to existing content, so the time required and the amount of calculation increase when a cryptographic algorithm is applied, and as a result, separate software or hardware must be newly developed and built in related fields. The cost required to solve this will increase.

둘째, DRM 패키징에 소요되는 각종 키(key) 관리에 대한 문제이다. 스크램블링 또는 대칭키/비대칭키 암호 알고리듬을 DRM 패키징 시 사용할 경우 이를 관리하기 위한 키 관리 정책과 시스템이 필요하다. 특히, 대칭키 암호 알고리듬의 경우 특정 콘텐츠에 대한 인가된 사용자마다 비밀키가 존재하여야 하기 때문에 콘텐츠와 인가된 사용자가 늘어날 경우 이에 대한 키 역시 기하급수적으로 증가할 수밖에 없게 되고, 이에 대한 키 관리 시스템의 추가 소요와 함께 좀 더 복잡한 형태의 키 관리 정책이 도입되어야 하므로 이를 해결하기 위한 비용이 증가하게 된다.Second, it is a problem of managing various keys required for DRM packaging. When scrambling or symmetric/asymmetric key cryptographic algorithms are used in DRM packaging, a key management policy and system are required to manage them. In particular, in the case of a symmetric key encryption algorithm, since a secret key must exist for each authorized user for a specific content, as the number of content and authorized users increases, the key for this inevitably increases exponentially. Along with additional requirements, a more complex form of key management policy must be introduced, which increases the cost to solve it.

셋째, 실감형 콘텐츠 메타데이터에 대한 관리 문제이다. 기존의 콘텐츠는 양방향 인터랙션(Interaction) 서비스를 제공하지 않았기 때문에 영상 콘텐츠만 존재하였으나 실감형 콘텐츠의 경우 사람의 오감을 이용하여 실재감과 몰입감을 증대시키는 영상콘텐츠와 양방향 인터랙션이 가능한 메타데이터가 별도로 존재한다. Third, it is a management problem for realistic content metadata. Existing content did not provide interactive interaction service, so only video content existed. However, in the case of realistic content, video content that enhances a sense of presence and immersion using the five senses of a person and metadata that enables interactive interaction exist separately. .

기존의 DRM 패키징 기법은 이러한 메타데이터에 대한 관리 및 패키징이 불가능하기 때문에 이를 해결하기 위한 새로운 형태의 DRM 콘텐츠 패키징 기술의 개발이 필요한 실정이다.Since the existing DRM packaging techniques cannot manage and package such metadata, it is necessary to develop a new type of DRM content packaging technology to solve this problem.

한국등록특허 10-0814064호Korea Patent No. 10-0814064

본 발명은 영상 콘텐츠의 용량에 관계없이 DRM 패키징 소요 시간과 연산량을 감소시킬 수 있는 DRM 콘텐츠 병렬 패키징 장치 및 이를 포함하는 DRM 콘텐츠 병렬 패키징 시스템 및 DRM 콘텐츠 병렬 패키징 방법을 제공하는 것을 목적으로 한다.An object of the present invention is to provide a DRM contents parallel packaging apparatus, a DRM contents parallel packaging system including the same, and a DRM contents parallel packaging method capable of reducing the amount of time required for DRM packaging and the amount of calculation regardless of the capacity of video contents.

본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 장치는,DRM content parallel packaging apparatus according to an embodiment of the present invention,

복수개의 NAL 유닛(Network Abstraction Layer Unit)을 포함하여 구성된 영상 콘텐츠를 개개의 NAL 유닛으로 분할하는 NAL 분할모듈; 상기 NAL 분할모듈에 의해 분할된 복수개의 NAL 유닛 중에서 DRM 패키징 처리할 적어도 하나 이상의 패키징 NAL 유닛과, DRM 패키징 처리하지 않을 적어도 하나 이상의 스킵 NAL 유닛을 선택하는 NAL 선택모듈; 상기 NAL 선택모듈에 의해 선택된 복수개의 패키징 NAL 유닛 각각에 대해, CABAC 디코더를 이용하여 디코딩하고, 디코딩을 통해 추출된 QTC 데이터 내의 DRM 메타 데이터를 패키징하고, DRM 메타 데이터 패키징이 완료된 NAL 유닛을 인코딩하는 병렬 패키징모듈;을 포함한다.A NAL segmentation module for segmenting video content composed of a plurality of NAL units (Network Abstraction Layer Units) into individual NAL units; A NAL selection module for selecting at least one packaging NAL unit to be processed for DRM packaging and at least one or more skip NAL units not to be processed for DRM packaging among the plurality of NAL units divided by the NAL division module; For each of the plurality of packaging NAL units selected by the NAL selection module, decoding using a CABAC decoder, packaging DRM metadata in the QTC data extracted through decoding, and encoding the NAL unit for which DRM metadata packaging has been completed Parallel packaging module; includes.

본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 장치에 있어서, 상기 NAL 선택모듈은 랜덤하게 생성된 난수 정보를 기반으로 상기 패키징 NAL 유닛과 상기 스킵 NAL 유닛을 선택하며, 상기 난수 정보는, 상기 패키징 NAL 유닛 선택을 위한 패키징 처리 정보와, 상기 패키징 NAL 유닛 및 스킵 NAL 유닛에 대한 위치 정보를 포함할 수 있다.In the device for parallel packaging DRM contents according to an embodiment of the present invention, the NAL selection module selects the packaging NAL unit and the skip NAL unit based on randomly generated random number information, wherein the random number information includes the packaging NAL Packaging processing information for unit selection and location information on the packaging NAL unit and skip NAL unit may be included.

본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 장치에 있어서, 상기 난수 정보에 포함된 위치 정보를 이용하여 상기 패키징 NAL 유닛과 상기 스킵 NAL 유닛을 정렬하는 NAL 정렬모듈을 포함할 수 있다In the DRM content parallel packaging apparatus according to an embodiment of the present invention, a NAL alignment module for aligning the packaging NAL unit and the skip NAL unit using location information included in the random number information may be included.

본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 장치에 있어서, 상기 병렬 패키징모듈은, 상기 선택된 복수개의 패키징 NAL 유닛 각각에 대해, 상기 DRM 메타 데이터를 패키징하는 복수개의 DRM 패키징모듈이 병렬로 형성된다. 상기 DRM 패키징모듈 각각은, CABAC 디코더를 이용하여 디코딩하는 디코딩 수단; 상기 디코딩 수단에 의한 디코딩 결과로 도출된 데이터들 중에서 QTC 데이터를 선택하고, 선택된 QTC 데이터의 비트스트림과 DRM 메타데이터의 비트스트림을 삽입 연산하여 DRM 패키징을 수행하는 패키징 수단; 및, CABAC 인코더를 이용하여 상기 DRM 패키징이 수행된 패키징 NAL 유닛을 인코딩하는 인코딩 수단을 포함할 수 있다.In the DRM content parallel packaging apparatus according to an embodiment of the present invention, a plurality of DRM packaging modules for packaging the DRM metadata are formed in parallel for each of the selected plurality of packaging NAL units. Each of the DRM packaging modules includes decoding means for decoding using a CABAC decoder; a packaging means for selecting QTC data from data derived as a result of decoding by the decoding means, inserting a bitstream of the selected QTC data and a bitstream of DRM metadata, and performing DRM packaging; And, it may include encoding means for encoding the packaging NAL unit on which the DRM packaging has been performed using a CABAC encoder.

본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 장치에 있어서, 상기 패키징 수단은, 상기 패키징 NAL 유닛의 영상 이미지를 구현하는 영상 프레임에 포함된 YCbCr 채널 중에서 휘도를 표현하는 Y 채널에 존재하는 QTC들 중 적어도 하나 이상의 QTC의 비트스트림과 DRM 메타데이터의 비트스트림에 대해 삽입 연산을 수행하여 DRM 패키징할 수 있다.In the apparatus for parallel packaging DRM contents according to an embodiment of the present invention, the packaging unit may include among QTCs present in a Y channel representing luminance among YCbCr channels included in an image frame embodying a video image of the packaging NAL unit. DRM packaging may be performed by performing an insertion operation on at least one bitstream of QTC and a bitstream of DRM metadata.

또한, 본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 관리 서버는,In addition, the DRM content parallel packaging management server according to an embodiment of the present invention,

사용자 단말기와 유무선 통신을 수행하는 통신부; 복수개의 NAL 유닛을 포함하여 구성된 영상 콘텐츠를 개개의 NAL 유닛으로 분할하는 NAL 분할모듈과, 상기 NAL 분할모듈에 의해 분할된 복수개의 NAL 유닛 중에서 DRM 패키징 처리할 적어도 하나 이상의 패키징 NAL 유닛과 DRM 패키징 처리하지 않을 적어도 하나 이상의 스킵 NAL 유닛을 선택하는 NAL 선택모듈과, 상기 NAL 선택모듈에 의해 선택된 복수개의 패키징 NAL 유닛 각각에 대해 CABAC 디코더를 이용하여 디코딩하고 디코딩을 통해 추출된 QTC 데이터 내의 DRM 메타 데이터를 패키징하고 DRM 메타 데이터 패키징이 완료된 NAL 유닛을 인코딩하는 병렬 패키징모듈을 포함하는 병렬 패키징부;를 포함한다.a communication unit that performs wired/wireless communication with a user terminal; A NAL segmentation module that divides video content including a plurality of NAL units into individual NAL units, at least one packaging NAL unit to be processed for DRM packaging among the plurality of NAL units divided by the NAL segmentation module, and DRM packaging processing A NAL selection module for selecting at least one skip NAL unit not to be skipped, and a CABAC decoder for each of a plurality of packaging NAL units selected by the NAL selection module, and DRM metadata in the QTC data extracted through decoding A parallel packaging unit including a parallel packaging module for packaging and encoding the NAL unit for which DRM metadata packaging has been completed.

본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 관리 서버에 있어서, 상기 NAL 선택모듈은 랜덤하게 생성된 난수 정보를 기반으로 상기 패키징 NAL 유닛과 상기 스킵 NAL 유닛을 선택하며, 상기 난수 정보는, 상기 패키징 NAL 유닛 선택을 위한 패키징 처리 정보와, 상기 패키징 NAL 유닛 및 스킵 NAL 유닛에 대한 위치 정보를 포함할 수 있다.In the DRM content parallel packaging management server according to an embodiment of the present invention, the NAL selection module selects the packaging NAL unit and the skip NAL unit based on randomly generated random number information, and the random number information is It may include packaging processing information for NAL unit selection and location information on the packaging NAL unit and skip NAL unit.

본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 관리 서버에 있어서, 상기 난수 정보에 포함된 위치 정보를 이용하여 상기 패키징 NAL 유닛과 상기 스킵 NAL 유닛을 정렬하는 NAL 정렬모듈을 포함할 수 있다.The DRM content parallel packaging management server according to an embodiment of the present invention may include a NAL alignment module for aligning the packaging NAL unit and the skip NAL unit using location information included in the random number information.

본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 관리 서버에 있어서, 상기 병렬 패키징모듈은, 상기 선택된 복수개의 패키징 NAL 유닛 각각에 대해, 상기 DRM 메타 데이터를 패키징하는 복수개의 DRM 패키징모듈이 병렬로 형성된다. 상기 DRM 패키징모듈 각각은, CABAC 디코더를 이용하여 디코딩하는 디코딩 수단; 상기 디코딩 수단에 의한 디코딩 결과로 도출된 데이터들 중에서 QTC 데이터를 선택하고, 선택된 QTC 데이터의 비트스트림과 DRM 메타데이터의 비트스트림을 삽입 연산하여 DRM 패키징을 수행하는 패키징 수단; 및, CABAC 인코더를 이용하여 상기 DRM 패키징이 수행된 패키징 NAL 유닛을 인코딩하는 인코딩 수단을 포함할 수 있다.In the DRM content parallel packaging management server according to an embodiment of the present invention, a plurality of DRM packaging modules for packaging the DRM metadata are formed in parallel for each of the selected plurality of packaging NAL units. . Each of the DRM packaging modules includes decoding means for decoding using a CABAC decoder; a packaging means for selecting QTC data from data derived as a result of decoding by the decoding means, inserting a bitstream of the selected QTC data and a bitstream of DRM metadata, and performing DRM packaging; And, it may include encoding means for encoding the packaging NAL unit on which the DRM packaging has been performed using a CABAC encoder.

본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 관리 서버에 있어서, 상기 패키징 수단은, 상기 패키징 NAL 유닛의 영상 이미지를 구현하는 영상 프레임에 포함된 YCbCr 채널 중에서 휘도를 표현하는 Y 채널에 존재하는 QTC들 중 적어도 하나 이상의 QTC의 비트스트림과 DRM 메타데이터의 비트스트림에 대해 삽입 연산을 수행하여 DRM 패키징할 수 있다. In the DRM contents parallel packaging management server according to an embodiment of the present invention, the packaging unit includes QTCs present in a Y channel representing luminance among YCbCr channels included in a video frame implementing a video image of the packaging NAL unit. DRM packaging may be performed by performing an insertion operation on at least one bitstream of QTC and a bitstream of DRM metadata.

본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 방법은, 컴퓨팅 장치에 의해 수행되며, 컴퓨팅 장치는, 복수개의 NAL 유닛 포함하여 구성된 영상 콘텐츠를 개개의 NAL 유닛으로 분할하는 제1 단계; 분할된 복수개의 NAL 유닛 중에서 DRM 패키징 처리할 적어도 하나 이상의 패키징 NAL 유닛과 DRM 패키징 처리하지 않을 적어도 하나 이상의 스킵 NAL 유닛을 선택하는 제2 단계; 선택된 복수개의 패키징 NAL 유닛 각각에 대해, CABAC 디코더를 이용하여 디코딩하는 제3 단계; 선택된 복수개의 패키징 NAL 유닛 각각에 대해, 상기 디코딩을 통해 획득된 데이터 중에서 QTC 데이터 내에 DRM 메타 데이터를 패키징하는 제4 단계; 선택된 복수개의 패키징 NAL 유닛 각각에 대해, CABAC 인코더를 이용하여 상기 DRM 메타 데이터 패키징이 완료된 NAL 유닛을 인코딩하는 제5 단계;를 포함한다.A parallel packaging method for DRM content according to an embodiment of the present invention is performed by a computing device, wherein the computing device includes: a first step of dividing image content including a plurality of NAL units into individual NAL units; A second step of selecting at least one packaging NAL unit to be processed for DRM packaging and at least one or more skip NAL units not to be processed for DRM packaging among a plurality of divided NAL units; A third step of decoding each of the selected plurality of packaging NAL units using a CABAC decoder; A fourth step of packaging DRM metadata in QTC data among data obtained through the decoding, for each of the plurality of selected packaging NAL units; A fifth step of encoding the NAL unit for which the DRM metadata packaging is completed using a CABAC encoder for each of the plurality of selected packaging NAL units.

본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 방법에 있어서, 상기 제2 단계는, 랜덤하게 생성된 난수 정보를 기반으로 상기 패키징 NAL 유닛과 상기 스킵 NAL 유닛을 선택하며, 상기 난수 정보는, 상기 패키징 NAL 유닛 선택을 위한 패키징 처리 정보와, 상기 패키징 NAL 유닛 및 스킵 NAL 유닛에 대한 위치 정보를 포함할 수 있다.In the DRM content parallel packaging method according to an embodiment of the present invention, the second step selects the packaging NAL unit and the skip NAL unit based on randomly generated random number information, and the random number information is It may include packaging processing information for NAL unit selection and location information on the packaging NAL unit and skip NAL unit.

본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 방법에 있어서, 상기 난수 정보에 포함된 위치 정보를 이용하여 상기 패키징 NAL 유닛과 상기 스킵 NAL 유닛을 정렬하는 단계를 더 포함할 수 있다.The parallel packaging method for DRM contents according to an embodiment of the present invention may further include aligning the packaging NAL unit and the skip NAL unit using location information included in the random number information.

본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 방법에 있어서, 상기 제4 단계는, 상기 제3 단계에서 도출된 데이터들 중에서 QTC 데이터를 선택하고, 선택된 QTC 데이터의 비트스트림과 DRM 메타데이터의 비트스트림을 삽입 연산하여 DRM 패키징을 수행할 수 있다.In the parallel packaging method for DRM contents according to an embodiment of the present invention, in the fourth step, QTC data is selected from data derived in the third step, and a bitstream of the selected QTC data and a bitstream of DRM metadata are selected. DRM packaging can be performed by inserting .

본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 방법에 있어서, 상기 제4 단계는, 상기 패키징 NAL 유닛의 영상 이미지를 구현하는 영상 프레임에 포함된 YCbCr 채널 중에서 휘도를 표현하는 Y 채널에 존재하는 QTC들 중 적어도 하나 이상의 QTC의 비트스트림과 DRM 메타데이터의 비트스트림에 대해 삽입 연산을 수행할 수 있다. In the parallel packaging method for DRM contents according to an embodiment of the present invention, in the fourth step, the QTCs present in the Y channel representing luminance among the YCbCr channels included in the video frame implementing the video image of the packaging NAL unit. An insertion operation may be performed on at least one bitstream of QTC and a bitstream of DRM metadata.

기타 본 발명의 다양한 측면에 따른 구현예들의 구체적인 사항은 이하의 상세한 설명에 포함되어 있다.Other specific details of implementations according to various aspects of the present invention are included in the detailed description below.

본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 방법 및 DRM 콘텐츠 병렬 패키징 시스템에 의하면, According to the DRM contents parallel packaging method and DRM contents parallel packaging system according to an embodiment of the present invention,

기존의 실감형 콘텐츠에 대한 DRM 패키징 수행시 콘텐츠의 용량에 비례하여 소요 시간과 연산량이 증가했던 것과는 달리, DRM 패키징모듈을 적절한 수로 병렬 배치하여 병렬로 DRM 패키징을 수행함으로써 용량에 관계없이 소요시간과 연산량은 일정하게 할 수 있다.Unlike the existing DRM packaging for tangible content, which increased the amount of time and computation in proportion to the volume of the content, DRM packaging is performed in parallel by arranging an appropriate number of DRM packaging modules in parallel to increase the time required and the amount of computation regardless of the volume. The amount of calculation can be made constant.

따라서, 대용량 고화질의 영상 콘텐츠, 8K급 실감형 콘텐츠에 대해 효율적인 DRM 패키징을 수행할 수 있다.Accordingly, efficient DRM packaging can be performed for large-capacity high-definition video content and 8K-class realistic content.

도 1 및 도 2는 본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 시스템이 도시된 블록도이다.
도 3은 본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 관리 서버의 병렬 패키징부 구성이 도시된 블록도이다.
도 4는 본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 관리 서버의 병렬 패키징부의 동작 과정을 설명하기 위한 블록도이다.
도 5는 본 발명의 일 실시예에 따른 병렬 패키징모듈이 도시된 블록도이다.
도 6은 HEVC 기반의 실감형 콘텐츠 비트 스트림(bit stream) 구조를 도시한 도면이다.
도 7은 병렬 패키징모듈의 일 구성인 DRM 패키징모듈의 구성이 도시된 블록도이다.
도 8은 QTC에서의 DRM 패키징 과정을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 따른 DRM 언패키징 과정이 도식적으로 도시된 도면이다.
도 10 내지 도 12는 본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 시스템의 동작 과정이 도시된 순서도이다.
도 13은 본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 방법이 도시된 순서도이다.
도 14는 본 발명의 실시예에 따른, 컴퓨팅 장치를 나타내는 도면이다.
1 and 2 are block diagrams illustrating a DRM content parallel packaging system according to an embodiment of the present invention.
3 is a block diagram showing the configuration of a parallel packaging unit of a DRM content parallel packaging management server according to an embodiment of the present invention.
4 is a block diagram for explaining the operation process of the parallel packaging unit of the DRM contents parallel packaging management server according to an embodiment of the present invention.
5 is a block diagram illustrating a parallel packaging module according to an embodiment of the present invention.
6 is a diagram illustrating an HEVC-based realistic content bit stream structure.
7 is a block diagram showing the configuration of a DRM packaging module, which is one component of the parallel packaging module.
8 is a diagram for explaining a DRM packaging process in QTC.
9 is a diagram schematically illustrating a DRM unpackaging process according to an embodiment of the present invention.
10 to 12 are flowcharts illustrating the operation process of the DRM content parallel packaging system according to an embodiment of the present invention.
13 is a flowchart illustrating a method for packaging DRM contents in parallel according to an embodiment of the present invention.
14 is a diagram illustrating a computing device according to an embodiment of the present invention.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예를 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Since the present invention can apply various transformations and have various embodiments, specific embodiments will be exemplified and described in detail in the detailed description. However, it should be understood that this is not intended to limit the present invention to specific embodiments, and includes all transformations, equivalents, and substitutes included in the spirit and scope of the present invention.

본 발명에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 발명에서, '포함하다' 또는 '가지다' 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 이하, 도면을 참조하여 본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 장치 및 이를 포함하는 DRM 콘텐츠 병렬 패키징 시스템 및 DRM 콘텐츠 병렬 패키징 방법을 설명한다.Terms used in the present invention are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In the present invention, terms such as 'include' or 'having' are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other features It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded. Hereinafter, an apparatus for parallel packaging DRM contents according to an embodiment of the present invention, a parallel packaging system for DRM contents including the same, and a method for parallel packaging DRM contents will be described with reference to the drawings.

도 1 및 도 2는 본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 시스템이 도시된 블록도이다.1 and 2 are block diagrams illustrating a DRM content parallel packaging system according to an embodiment of the present invention.

도 1 및 도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 시스템은, 사용자 단말기(100)와 DRM 콘텐츠 병렬 패키징 관리 서버(200, 이하 DRM 병렬 패키징 서버라고도 함)를 포함한다. 도 1은 DRM 병렬 패키징 서버(200)가 자체적으로 복수개의 영상 콘텐츠를 DB화하여 저장한 경우를 도시하고 있으며, 도 2는 외부의 콘텐츠 제공자(Contents Provider, CP1 ~ CP3)가 별도로 DRM 병렬 패키징 서버(200)로 영상 콘텐츠를 제공하는 경우를 도시하고 있다.1 and 2, the DRM content parallel packaging system according to an embodiment of the present invention includes a user terminal 100 and a DRM content parallel packaging management server 200 (hereinafter referred to as a DRM parallel packaging server). include 1 shows a case in which the DRM parallel packaging server 200 stores a plurality of video contents in a DB by itself, and FIG. 2 shows an external content provider (Contents Provider, CP1 to CP3) 200 shows a case of providing video content.

본 발명에서, DRM 패키징의 대상인 영상 콘텐츠는 특별히 한정되지는 않으나, 대용량 고화질의 영상 콘텐츠에 더욱 유용하게 활용될 수 있다. 바람직하게는, 영상 콘텐츠는 복수개의 NAL 유닛(Network Abstraction Layer Unit)을 포함한다. 대용량 고화질 영상 콘텐츠는, 예를 들어 가상현실 콘텐츠(VR 콘텐츠), 증강 현실 콘텐츠(AR 콘텐츠), 양방향 인터랙션 콘텐츠 등, HEVC(High Efficiency Video Codec) 기반의 4K 120FPS(Frame Per Second)급, 또는 8K 120FPS급 실감형 콘텐츠일 수 있다. 구체적으로, HEVC(H.264, H.265) 기반의 8K급 실감형콘텐츠일 수 있다. 물론, 120FPS급 콘텐츠 뿐만 아니라, 60 ~ 120FPS급 콘텐츠, 120 ~ 240FPS급 콘텐츠 등 여러 레벨의 콘텐츠에 제한 없이 적용될 수 있다. In the present invention, video contents subject to DRM packaging are not particularly limited, but can be more usefully used for large-capacity and high-definition video contents. Preferably, video content includes a plurality of NAL units (Network Abstraction Layer Units). High-capacity high-definition video content, for example, virtual reality content (VR content), augmented reality content (AR content), interactive interaction content, etc., HEVC (High Efficiency Video Codec)-based 4K 120 FPS (Frame Per Second) level, or 8K It may be 120 FPS level realistic content. Specifically, it may be HEVC (H.264, H.265)-based 8K-class realistic content. Of course, it can be applied to content of various levels, such as 60 to 120 FPS content and 120 to 240 FPS content, as well as 120 FPS content.

사용자 단말기(100)는 사용자의 키 조작에 따라 유무선 통신망을 경유하여 DRM 병렬 패키징 서버(200)와 각종 데이터를 송수신할 수 있는 단말기를 말하는 것이며, 개인용 컴퓨터(PC: Personal Computer), 노트북, 개인휴대용 정보단말기(PDA: Personal Digital Assistant) 및 이동통신 단말기(Mobile Communication Terminal) 등 중 어느 하나일 수 있으며, 유무선 통신망을 경유하여 DRM 병렬 패키징 서버(200)에 접속하기 위한 웹 브라우저와 프로그램을 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하고 있는 단말기를 의미한다.The user terminal 100 refers to a terminal capable of transmitting and receiving various data to and from the DRM parallel packaging server 200 via a wired/wireless communication network according to a user's key manipulation, such as a personal computer (PC), a laptop computer, and a personal portable device. It may be any one of a personal digital assistant (PDA) and a mobile communication terminal, etc., and for storing a web browser and program to access the DRM parallel packaging server 200 via a wired/wireless communication network. It refers to a terminal equipped with a memory, a microprocessor for calculating and controlling by executing a program, and the like.

사용자는 사용자 단말기(100)를 통해 DRM 병렬 패키징 서버(200)로 특정 영상 콘텐츠에 대한 전송 요청(다운로드 요청)을 할 수 있다.A user may request transmission (download request) of specific video content to the DRM parallel packaging server 200 through the user terminal 100 .

DRM 병렬 패키징 서버(200)는 사용자 단말기(100)로부터 특정 영상 콘텐츠에 대한 전송 요청을 수신하면, 해당 영상 콘텐츠에 DRM 병렬 패키징(이하 "DRM 패키징"이라고도 함)하여 사용자 단말기(100)로 전송한다. 또는 DRM 병렬 패키징 서버(200)는 미리 복수개의 영상 콘텐츠를 DRM 패키징하여 저장할 수 있으며, DRM 병렬 패키징 서버(200)는 사용자 단말기(100)로부터 특정 영상 콘텐츠에 대한 전송 요청을 수신하면, 미리 DRM 패키징된 영상 콘텐츠 중에서 해당 영상 콘텐츠를 선택하여 사용자 단말기(100)로 전송할 수 있다.When receiving a transmission request for specific video content from the user terminal 100, the DRM parallel packaging server 200 performs DRM parallel packaging (hereinafter referred to as "DRM packaging") on the corresponding video content and transmits it to the user terminal 100. . Alternatively, the DRM parallel packaging server 200 may DRM package and store a plurality of video contents in advance, and when the DRM parallel packaging server 200 receives a transmission request for specific video contents from the user terminal 100, the DRM packaging server 200 performs DRM packaging in advance. The corresponding video content may be selected from among the video contents and transmitted to the user terminal 100 .

이를 위해 DRM 병렬 패키징 서버(200)는 통신부(210), 병렬 패키징부(220), 저장부(230), 제어부(미도시)를 포함할 수 있다.To this end, the DRM parallel packaging server 200 may include a communication unit 210, a parallel packaging unit 220, a storage unit 230, and a control unit (not shown).

통신부(210)는 유무선 통신망을 경유하여 사용자 단말기(100), 외부의 콘텐츠 제공자(CP1 ~ CP3)와 연동하는 기능을 수행하는 통신 수단으로서, 각종 데이터를 송수신하는 기능을 수행한다.The communication unit 210 is a communication means that performs a function of interworking with the user terminal 100 and external content providers CP1 to CP3 via a wired/wireless communication network, and performs a function of transmitting and receiving various data.

저장부(230)는 DRM 병렬 패키징 서버(200)의 구동에 필요한 각종 데이터 및 프로그램을 저장한다. 실시예에 따라 저장부(230)는 DRM 패키징 처리되지 않은 복수개의 영상 콘텐츠나, 미리 DRM 패키징 처리된 복수개의 영상 콘텐츠를 저장할 수 있다. 또는 저장부(230)는 외부의 콘텐츠 제공자(CP1 ~ CP3)에 의해 미리 DRM 패키징 처리된 복수개의 영상 콘텐츠를 저장할 수 있다.The storage unit 230 stores various data and programs necessary for driving the DRM parallel packaging server 200 . Depending on the embodiment, the storage unit 230 may store a plurality of video contents that are not DRM-packaged or a plurality of video contents that have been pre-DRM-packaged. Alternatively, the storage unit 230 may store a plurality of image contents pre-processed by DRM packaging by external content providers CP1 to CP3.

병렬 패키징부(220)는 영상 콘텐츠에 대해 DRM 병렬 패키징 처리 작업을 수행한다. 병렬 패키징부(220)는 영상 콘텐츠를 복수개의 NAL 유닛으로 분할하고, 분할된 복수개의 NAL 유닛 중에서 DRM 패키징 처리할 적어도 하나 이상의 NAL 유닛을 선택하고, 선택된 개개의 NAL 유닛을 DRM 패키징 처리한다. 병렬 패키징부(220)는 사용자 단말기(100)의 전송 요청에 응하여 해당 영상 콘텐츠를 DRM 패키징 처리하거나, 또는 사용자 단말기(100)의 전송 요청과 무관하게 미리 복수개의 영상 콘텐츠를 DRM 패키징 처리하여 저장부(230)에 저장할 수 있다. The parallel packaging unit 220 performs DRM parallel packaging processing on video content. The parallel packaging unit 220 divides video content into a plurality of NAL units, selects at least one or more NAL units to be subjected to DRM packaging among the divided plurality of NAL units, and processes the selected NAL units for DRM packaging. The parallel packaging unit 220 processes DRM packaging for corresponding video content in response to a transmission request from the user terminal 100, or DRM packaging a plurality of video contents in advance regardless of the transmission request of the user terminal 100, and stores the corresponding video content. (230).

제어부(미도시)는 DRM 병렬 패키징 서버(200)의 전반적인 기능을 제어한다.A controller (not shown) controls overall functions of the DRM parallel packaging server 200 .

도 3은 본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 관리 서버의 병렬 패키징부(220) 구성이 도시된 블록도이다.3 is a block diagram showing the configuration of the parallel packaging unit 220 of the DRM content parallel packaging management server according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 병렬 패키징부(220)는 NAL 분할모듈(221), NAL 선택모듈(222), 병렬 패키징모듈(223), 패키징 스킵모듈(224), 공유 메모리(225), NAL 정렬모듈(226)을 포함할 수 있다. 상기의 모듈들(221 ~ 226)은 각각 소정의 기능을 수행하는 구성 요소로서, 하드웨어, 소프트웨어, 혹은 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 예를 들어, 상기모듈들(221 ~ 226)은 프로그램모듈을 의미할 수 있으며, 이는 프로세서(Processor)에 의해 실행되어 소정의 기능을 수행하는, 소프트웨어 구성요소들일 수 있다.As shown in FIG. 3, the parallel packaging unit 220 includes a NAL division module 221, a NAL selection module 222, a parallel packaging module 223, a packaging skip module 224, a shared memory 225, and a NAL An alignment module 226 may be included. Each of the modules 221 to 226 is a component that performs a predetermined function, and may be implemented as hardware, software, or a combination of hardware and software. For example, the modules 221 to 226 may mean program modules, which may be software components that are executed by a processor to perform predetermined functions.

한편, 상기의 모듈들(221 ~ 226)은 DRM 병렬 패키징 서버(200)의 병렬 패키징부(220)를 구성하는 구성 요소로 설명되지만, 반드시 DRM 병렬 패키징 서버(200)의 병렬 패키징부(220)로 기능하는 것이 아니라, 독자적인 장치로 구현될 수도 있다. 즉, 상기의 모듈들(221 ~ 226)의 기능이 구현된 독립적인 DRM 콘텐츠 병렬 패키징 장치로 구현될 수 있다.On the other hand, the above modules 221 to 226 are described as components constituting the parallel packaging unit 220 of the DRM parallel packaging server 200, but the parallel packaging unit 220 of the DRM parallel packaging server 200 It does not function as a , but may be implemented as an independent device. That is, it can be implemented as an independent DRM content parallel packaging device in which the functions of the above modules 221 to 226 are implemented.

NAL 유닛(Network Abstraction Layer Unit)이란, 네트워크(Network)에 독립적인 영상 레이어(Layer)를 의미하는 것으로, 영상 콘텐츠에 NAL 유닛이 존재하면 영상 전송이 되다가 특정 부분에 에러가 발생하여도 뒤에 따라오는 영상에 지장을 주지 않음을 의미한다.NAL unit (Network Abstraction Layer Unit) means a video layer independent of the network. This means that it does not interfere with the video.

도 6은 HEVC 기반의 실감형 콘텐츠의 비트 스트림(bit stream) 구조를 도시한 도면이다. 도 6은 H.264급 영상 콘텐츠(이하, H.264)의 비트 스트림 구조이나 H.265급 영상 콘텐츠도 이와 유사한 구조를 가질 수 있다.6 is a diagram illustrating a bit stream structure of HEVC-based realistic content. 6 shows a bit stream structure of H.264 level video content (hereinafter referred to as H.264), but H.265 level video content may have a similar structure.

H.264급 영상 콘텐츠는 시작 단계부터 네트워크 전송을 목적으로 개발된 것으로, 영상 콘텐츠의 효율적인 전송을 위해 NAL 유닛을 포함하여 구성된다.H.264 level video content was developed for the purpose of network transmission from the beginning, and is composed of a NAL unit for efficient transmission of video content.

도 6을 참조하면, HEVC 기반의 실감형 콘텐츠 비트 스트림은 NAL 유닛과 RBSP(Raw Byte Sequence Payload)를 구비한다. RBSP에는 SPS, PPS 등의 정보를 알려주는 파라미터 셋과 VCL(Video Coding Layer)에 해당하는 Slice 데이터 RBSP가 포함될 수 있다. VCL은 실제 H.264 압축된 데이터를 나타내며, VCL 데이터는 NAL 유닛을 통해 외부와 인터페이스가 이루어지게 된다. H.264의 모든 데이터는 각각의 NAL 유닛으로 구성된다.Referring to FIG. 6 , an HEVC-based realistic content bit stream includes a NAL unit and a raw byte sequence payload (RBSP). The RBSP may include a parameter set indicating information such as SPS and PPS, and slice data RBSP corresponding to VCL (Video Coding Layer). VCL represents actual H.264 compressed data, and VCL data is interfaced with the outside through a NAL unit. All data of H.264 is composed of each NAL unit.

NAL 분할모듈(221)은 상기와 같이 복수개의 NAL 유닛을 포함하여 구성된 영상 콘텐츠를 개개의 NAL 유닛으로 분할한다.The NAL division module 221 divides the video content composed of a plurality of NAL units as described above into individual NAL units.

예를 들어, 도 4를 참조하면, NAL 분할모듈(221)은 영상 컨텐츠를 n개의 NAL 유닛으로 분할할 수 있다.For example, referring to FIG. 4 , the NAL division module 221 may divide video content into n NAL units.

NAL 선택모듈(222)은 NAL 분할모듈(221)에 의해 분할된 복수개의 NAL 유닛 중에서 DRM 패키징 처리할 적어도 하나 이상의 NAL 유닛을 선택한다. NAL 선택모듈(222)은 랜덤하게 생성된 난수 정보(random number, 도 4의 R 참조)를 기반으로 DRM 패키징 처리할 NAL 유닛과 DRM 패키징 처리하지 않을 NAL 유닛을 선택한다. The NAL selection module 222 selects at least one or more NAL units to be processed for DRM packaging among a plurality of NAL units divided by the NAL division module 221. The NAL selection module 222 selects a NAL unit to be processed for DRM packaging and a NAL unit not to be processed for DRM packaging based on randomly generated random number information (see R in FIG. 4).

난수 정보는 패키징 처리 정보를 포함한다. 난수 정보(R)는 2가지 상태값(예를 들어, 0 또는 1)으로 이루어진 배열을 의미한다. 제1 상태값(예를 들어, 1)은 DRM 패키징 처리할 NAL 유닛(이하, "패키징 NAL 유닛"이라고도 함)을 의미할 수 있고, 제2 상태값(예를 들어, 0)은 DRM 패키징 처리하지 않을 NAL 유닛(이하, "스킵 NAL 유닛"이라고도 함)을 의미할 수 있다. 예를 들어, 도 4를 참조하면, 제1 NAL 유닛(#1), 제3 NAL 유닛(#3), 제4 NAL 유닛(#4), ~ 제n NAL 유닛(#n)은 패키징 NAL 유닛이고, 제2 NAL 유닛(#2), 제5 NAL 유닛(#5) ~ 제n-1 NAL 유닛(#n-1)은 스킵 NAL 유닛이다.The random number information includes packaging processing information. The random number information R means an array composed of two state values (eg, 0 or 1). The first status value (eg, 1) may mean a NAL unit to be processed for DRM packaging (hereinafter, also referred to as a "packaging NAL unit"), and the second status value (eg, 0) is DRM packaging processing. It may mean a NAL unit (hereinafter, also referred to as a “skip NAL unit”) that will not be used. For example, referring to FIG. 4, the first NAL unit (#1), the third NAL unit (#3), the fourth NAL unit (#4), and the ~n-th NAL unit (#n) are packaging NAL units. And, the second NAL unit (#2), the fifth NAL unit (#5) to the n-1th NAL unit (#n-1) are skip NAL units.

또한, 난수 정보(R)는 패키징 처리 정보와 함께 위치 정보를 포함한다. 난수 정보(R)에서 배열된 상태값의 순서는, 곧, 해당 상태값과 매칭되는 NAL 유닛의 정렬 순서를 의미한다. 예를 들어, 도 4를 참조하면, 난수 정보(R)에 포함된 상태값 배열 "10110??"에서 첫번째 상태값 1은 제1 NAL 유닛(#1)을 패키징한다는 정보와 함께 제1 NAL 유닛(#1)이 첫번째에 정렬된다는 위치 정보를 포함한다. 유사하게, 두번째 상태값 0은 제2 NAL 유닛(#2)을 스킵(패키징하지 않음)한다는 정보와 함께 제2 NAL 유닛(#2)이 2번째에 정렬된다는 위치 정보를 포함한다.Also, the random number information R includes location information together with packaging processing information. The order of the state values arranged in the random number information (R) means the order of arrangement of NAL units matching the corresponding state values. For example, referring to FIG. 4, the first state value 1 in the state value array “10110??” included in the random number information (R) is a first NAL unit along with information indicating that the first NAL unit (#1) is packaged. Contains positional information that (#1) is sorted first. Similarly, the second state value 0 includes information indicating that the second NAL unit #2 is skipped (not packaged) and location information indicating that the second NAL unit #2 is aligned second.

한편, 난수 정보(R)를 이루는 상태값의 비율(N, 0<N<100)은 조절될 수 있다. N은 전체 난수 정보(R)의 상태값 중에서 패키징 NAL 유닛 생성 비율을 의미할 수 있다. N이 상대적으로 클 경우, 패키징 처리될 NAL 유닛 비율이 크므로 암호화가 충분하여 무단 복제 가능성을 줄일 수 있지만, 패키징 처리 속도는 느려질 수 있다. 이와 반대로 N이 상대적으로 작을 경우, 패키징 처리될 NAL 유닛 비율이 작으므로 암호화가 불충분하여 무단 복제 가능성은 상대적으로 커질 수 있지만, 패키징 처리 속도는 그 만큼 빨라질 수 있다. 사용자는 처리 속도 및 복제 가능성을 고려하여 상태값 비율 N을 조절할 수 있다. 물론, 설정에 따라 N은 스킵 NAL 유닛 생성 비율을 의미할 수 있다.Meanwhile, the ratio (N, 0<N<100) of the state values constituting the random number information R may be adjusted. N may mean a packaging NAL unit generation rate among state values of the entire random number information (R). When N is relatively large, since the ratio of NAL units to be packaged is large, encryption is sufficient to reduce the possibility of unauthorized copying, but packaging processing speed may be slowed down. Conversely, when N is relatively small, since the ratio of NAL units to be packaged is small, the possibility of unauthorized copying may be relatively high due to insufficient encryption, but the packaging processing speed may be increased by that much. The user can adjust the state value ratio N considering the processing speed and duplicability. Of course, N may mean a skip NAL unit generation rate according to settings.

NAL 선택모듈(222)에 의해 선택된 패키징 NAL 유닛(222a)은 병렬 패키징모듈(223)로 전송되고, 선택된 스킵 NAL 유닛(222b)은 패키징 스킵모듈(224)로 전송된다. The packaging NAL unit 222a selected by the NAL selection module 222 is transmitted to the parallel packaging module 223, and the selected skip NAL unit 222b is transmitted to the packaging skip module 224.

예를 들어, 도 4를 참조하면, k개의 패키징 NAL 유닛(222a)은 병렬 패키징모듈(223)로 전송되고, (n-k)개의 스킵 NAL 유닛(222b)은 패키징 스킵모듈(224)로 전송된다.For example, referring to FIG. 4 , k packaging NAL units 222a are transmitted to the parallel packaging module 223, and (n-k) skip NAL units 222b are transmitted to the packaging skip module 224.

도 5는 본 발명의 일 실시예에 따른 병렬 패키징모듈(223)이 도시된 블록도이다. 병렬 패키징모듈(223)은 NAL 선택모듈(222)에 의해 선택된 복수개의 패키징 NAL 유닛(222a) 각각에 대해, CABAC 디코더를 이용하여 NAL 유닛을 디코딩하고, 디코딩을 통해 추출된 QTC 데이터 내에 DRM 메타 데이터를 패키징하고, DRM 메타 데이터 패키징이 완료된 NAL 유닛을 인코딩한다.5 is a block diagram illustrating a parallel packaging module 223 according to an embodiment of the present invention. For each of the plurality of packaging NAL units 222a selected by the NAL selection module 222, the parallel packaging module 223 decodes the NAL unit using a CABAC decoder, and DRM metadata in the QTC data extracted through decoding. is packaged, and the NAL unit for which DRM metadata packaging has been completed is encoded.

병렬 패키징모듈(223)에는, 패키징 NAL 유닛(222a) 각각에 대해 DRM 메타 데이터를 패키징하는 복수개의 DRM 패키징모듈(223a ~ 223k)이 병렬로 형성된다. 병렬 패키징모듈(223)은 사전 정의된 CPU 기반의 다중 스레드(Thread)를 활용하여 수행될 수 있다. 스레드는 CPU가 독립적으로 처리하는 하나의 작업 단위를 의미하는 것으로, 통상 코어 개수와 스레드 개수는 동일하며, 4코어 4스레드 CPU의 경우, 한번에 4개의 코어에서 4가지 작업(스레드)를 동시에 처리할 수 있다. 복수개의 DRM 패키징모듈(223a ~ 223k)의 개수는 코어의 개수(스레드 개수)와 동일할 수 있다. 예를 들어, 도 4를 참조하면, k개의 스레드가 k개의 패키징 NAL 유닛(222a)을 병렬로 패키징한다. 물론, 스레드 개수와 패키징 NAL 유닛의 개수가 동일하지 않을 수 있고, 하나의 스레드에서 복수개의 NAL 유닛을 패키징할 수 있다. 예를 들어, 패키징 NAL 유닛의 개수가 8개이고, 스레드 개수가 4개일 경우, 각각의 스레드가 2개의 패키징 NAL 유닛을 패키징할 수 있다. (올바른 기재인지 확인 바랍니다.)In the parallel packaging module 223, a plurality of DRM packaging modules 223a to 223k for packaging DRM metadata for each of the packaging NAL units 222a are formed in parallel. The parallel packaging module 223 may be performed by utilizing a predefined CPU-based multi-thread. A thread means a unit of work that is independently processed by the CPU. Normally, the number of cores and the number of threads are the same. can The number of the plurality of DRM packaging modules 223a to 223k may be equal to the number of cores (the number of threads). For example, referring to FIG. 4 , k threads package k packaging NAL units 222a in parallel. Of course, the number of threads and the number of packaging NAL units may not be the same, and a plurality of NAL units may be packaged in one thread. For example, when the number of packaging NAL units is 8 and the number of threads is 4, each thread may package 2 packaging NAL units. (Please check that it is written correctly.)

각각의 DRM 패키징모듈(223a ~ 223k)은 선택된 복수개의 패키징 NAL 유닛 각각에 대해 DRM 메타 데이터를 패키징한다. DRM 패키징모듈(223a ~ 223k)에 대해서는 도 7을 참조하여 후술한다.Each of the DRM packaging modules 223a to 223k packages DRM metadata for each of the selected plurality of packaging NAL units. The DRM packaging modules 223a to 223k will be described later with reference to FIG. 7 .

패키징 스킵모듈(224)은 패키징을 수행하지 않고, 스킵 NAL 유닛(222b)을 수집하는 기능을 수행할 수 있다. 또는, 스킵 NAL 유닛(222b)을 수집한 후 단순 정렬 처리를 수행할 수도 있다. 패키징 스킵모듈(224)은 패키징 처리를 하지 않으므로, 연산량이 많지 않다. 따라서, 패키징 스킵모듈(224)은 하나개의 스레드로 구성될 수 있다.The packaging skip module 224 may perform a function of collecting the skip NAL unit 222b without performing packaging. Alternatively, a simple alignment process may be performed after collecting the skip NAL units 222b. Since the packaging skip module 224 does not process packaging, the amount of calculation is not large. Accordingly, the packaging skip module 224 may be composed of one thread.

병렬 패키징모듈(223)에서 패키징 처리된 패키징 NAL 유닛과 패키징 스킵모듈(224)에서 처리된 스킵 NAL 유닛은 공유 메모리(225)로 전송되어 일시 저장된다.The packaging NAL unit processed by the parallel packaging module 223 and the skip NAL unit processed by the packaging skip module 224 are transferred to the shared memory 225 and temporarily stored.

한편, 개별 NAL 유닛에 대한 각각의 DRM 패키징모듈(223a ~ 223k)이 수행하는 DRM 패키징은 시간차가 존재한다. 따라서, 인코딩이 완료된 NAL 유닛의 순서는 원래의 영상 콘텐츠에 포함된 NAL 유닛의 순서와 다를 수 있다. DRM 패키징이 완료된 순으로 NAL 유닛을 정렬하면 원래의 영상 콘텐츠를 구현할 수 없으므로, DRM 패키징이 완료된 NAL 유닛을 정렬하는 과정이 필요하다. Meanwhile, DRM packaging performed by each of the DRM packaging modules 223a to 223k for individual NAL units has a time difference. Accordingly, the order of NAL units that have been encoded may be different from the order of NAL units included in original video content. If the NAL units are sorted in the order in which DRM packaging is completed, original video content cannot be implemented. Therefore, a process of sorting NAL units in which DRM packaging has been completed is required.

이에, NAL 정렬모듈(226)은 난수 정보(R)에 의해 부여된 위치 정보를 이용하여 공유 메모리(225)에 일시 저장된 패키징 처리된 패키징 NAL 유닛과 스킵 처리된 스킵 NAL 유닛을 정렬하여 하나의 영상 컨텐츠에 대한 DRM 패키징 작업을 완료한다.Accordingly, the NAL sorting module 226 aligns the packaged NAL unit temporarily stored in the shared memory 225 and the skipped NAL unit by using the location information given by the random number information (R) to form one image. Complete the DRM packaging work for the content.

도 7을 참조하여 DRM 패키징모듈(223a ~ 223k)에 대해 설명한다. 도 7은 병렬 패키징모듈(223)의 일 구성인 DRM 패키징모듈(223a ~ 223k)의 구성이 도시된 블록도이다.Referring to FIG. 7, the DRM packaging modules 223a to 223k will be described. 7 is a block diagram showing the configuration of DRM packaging modules 223a to 223k, which are one component of the parallel packaging module 223.

도 7에 도시된 바와 같이, 각각의 DRM 패키징모듈(223a ~ 223k)은, 디코딩 수단(2231), 패키징 수단(2232), 인코딩 수단(2233)을 포함할 수 있다. 상기 수단들(2231 ~ 2233)은 각각 소정의 기능을 수행하는 구성 요소로서, 하드웨어, 소프트웨어, 혹은 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 예를 들어, 상기 수단들(2231 ~ 2233)은 프로그램모듈을 의미할 수 있으며, 이는 프로세서(Processor)에 의해 실행되어 소정의 기능을 수행하는, 소프트웨어 구성요소들일 수 있다.As shown in FIG. 7 , each of the DRM packaging modules 223a to 223k may include a decoding unit 2231, a packaging unit 2232, and an encoding unit 2233. Each of the means 2231 to 2233 is a component that performs a predetermined function, and may be implemented as hardware, software, or a combination of hardware and software. For example, the means 2231 to 2233 may mean a program module, which may be software components that are executed by a processor to perform predetermined functions.

패키징 수단(2232)은 영상 이미지를 표현하는 채널 중 하나인 YCbCr 채널에 존재하는 QTC를 이용하여 DRM 패키징을 수행한다. 보다 구체적으로 패키징 수단(2232)은 YCbCr 채널 중에서 휘도를 표현하는 Y 채널에 존재하는 QTC 중 적어도 하나 이상의 QTC와 DRM 메타데이터의 비트스트림에 대해 XOR 연산을 수행하여 패키징한다. The packaging unit 2232 performs DRM packaging using QTC existing in a YCbCr channel, which is one of channels representing video images. More specifically, the packaging unit 2232 performs an XOR operation on at least one QTC among the QTCs present in the Y channel representing luminance among the YCbCr channels and the bitstream of the DRM metadata, and packages them.

즉, 패키징 수단(2232)은 여러 채널 중에서 YCbCr 채널을 선택하고, YCbCr 채널 중에서 휘도를 표현하는 Y 채널에 있는 일부의 QTC를 선택하고, Y 채널 QTC의 적어도 하나의 비트스트림과 이와 대응하는 위치의 DRM 메타데이터 비트스트림에 대해 XOR 연산을 수행하여 DRM 패키징을 수행한다. That is, the packaging unit 2232 selects a YCbCr channel from among several channels, selects some QTCs in the Y channel representing luminance from among the YCbCr channels, and selects at least one bitstream of the Y-channel QTCs and their corresponding positions. DRM packaging is performed by performing an XOR operation on the DRM metadata bitstream.

Y 채널은 기본적인 흑백 영상에 대한 정보이고, Y 채널을 참조하여 Cb 채널과 Cr 채널이 생성된다. 이때 생성되는 방법에 따라 무손실 또는 손실압축을 통해 원본과 동일 화질 또는 원본과 비교해 상대적으로 저하된 화질의 컬러 영상이 생성된다. 본 발명에서는 YCbCr의 이러한 원리를 이용해 Y 채널에 대해서만 DRM 패키징을 수행한다. 즉, Y 채널에 대해서만 패키징을 수행시키면 이를 참조하여 생성되는 채널인 Cb 채널과 Cr 채널은 자동적으로 패키징이 되는 효과가 나타난다. 또한, YCbCr 중 Y 채널이 아닌 Cb, Cr 채널에 DRM 패키징을 수행할 경우 패키징 연산량과 소요 시간이 증대된다. 아울러 DRM 패키징은 영상의 왜곡을 증대시켜 인증되지 않은 불법 사용자가 영상을 볼 수 없도록 하는 기술이기 때문에 패키징된 영상의 결과에 대해 원본과 비교해 왜곡이 증대되는 것이 우수하다고 볼 수 있다. 따라서, 패키징 수단(2232)에 의한 DRM 패키징은 YCbCr 채널 중 Y 채널에 있는 QTC에 대해 수행되는 것이 바람직하다.The Y channel is information about a basic black and white image, and a Cb channel and a Cr channel are created by referring to the Y channel. At this time, a color image having the same quality as the original or a relatively lower quality compared to the original is generated through lossless or lossy compression according to the generation method. In the present invention, DRM packaging is performed only for the Y channel using the principle of YCbCr. That is, when packaging is performed only for the Y channel, the Cb channel and the Cr channel, which are channels created by referring to this, are automatically packaged. In addition, when DRM packaging is performed on the Cb and Cr channels instead of the Y channel among YCbCr, the amount of packaging operation and the required time increase. In addition, since DRM packaging is a technology that prevents unauthorized users from viewing the video by increasing the distortion of the video, it can be seen that it is excellent that the distortion is increased compared to the original for the result of the packaged video. Accordingly, DRM packaging by the packaging unit 2232 is preferably performed for QTC in Y channel among YCbCr channels.

인코딩 수단(2233)은 DRM 패키징이 수행된 영상 프레임을 인코딩하여 DRM 패키징된 NAL 유닛을 생성한다. 인코딩 수단(2233)은 주위의 상황에 따라 적응적으로 부호화를 수행하는 이진 산술 부호화 방식을 수행하는 CABAC 인코더일 수 있다.The encoding unit 2233 encodes the DRM-packaged video frame to generate a DRM-packaged NAL unit. The encoding means 2233 may be a CABAC encoder that performs binary arithmetic encoding that performs encoding adaptively according to surrounding conditions.

도 8은 QTC에서의 DRM 패키징 과정을 설명하기 위한 도면이다.8 is a diagram for explaining a DRM packaging process in QTC.

도 8은 DRM 패키징 과정 중 QTC 내에 선택되는 영역과 해당 영역에 DRM 메타데이터를 삽입하는 과정을 설명하는 것으로, 하나의 QTC는 해당 영상의 신호 주파수 분포에 따라 4개의 영역으로 나뉜다. 4개의 영역 LL(Low Low), LH(Low High), HL(High Low) 및 HH(High High)로 표기되고, 4개의 영역의 MSB(Most Significant Bit : 가장 큰 자릿수의 비트, 즉 가장 왼쪽 비트) 1비트 또는 그 이상의 비트를 선택하여 이에 대응되는 DRM 메타데이터 비트스트림(Bitstream)과 서로 XOR 연산하여 DRM 패키징을 수행한다. 물론, 이러한 XOR 연산은 반드시 MSB 1비트 및 이를 포함하는 2이상의 비트에 한정되는 것은 아니다. 예를 들어, LSB(Least Significant Bit : 가장 작은 자릿수의 비트, 즉 가장 오른쪽 비트) 1비트 및 그보다 큰 자리수의 비트 일부에 대해 수행될 수도 있다. 도 8에 예시된 DRM 패키징 과정은 픽셀 내 MSB 2비트와 DRM 메타데이터 비트스트림 2비트가 XOR 연산을 수행한 결과를 예시하고 있다.8 illustrates an area selected in a QTC during the DRM packaging process and a process of inserting DRM metadata into the corresponding area. One QTC is divided into four areas according to the signal frequency distribution of the corresponding video. It is marked as LL (Low Low), LH (Low High), HL (High Low) and HH (High High), and MSB (Most Significant Bit: the bit of the largest digit, that is, the leftmost bit of the 4 areas ) DRM packaging is performed by selecting one bit or more bits and performing an XOR operation with the corresponding DRM metadata bitstream. Of course, this XOR operation is not necessarily limited to 1 bit of MSB and 2 or more bits including it. For example, LSB (Least Significant Bit: the bit of the smallest digit, that is, the rightmost bit) may be performed on 1 bit and some bits of larger digits. The DRM packaging process illustrated in FIG. 8 exemplifies a result of performing an XOR operation between 2 bits of MSB in a pixel and 2 bits of a DRM metadata bitstream.

한편, DRM 언패키징(Unpackaging) 과정은 DRM 패키징 과정을 역으로 수행하는 것으로 도 9에 도시된 바와 같다. DRM 패키징이 완료된 영상 콘텐츠(예를 들어, HEVC 영상 파일)를 다운로드 혹은 스트리밍을 받은 패킷에 대해 CABAC 디코딩 과정을 수행한 후 획득한 패키징된 QTC에 대해 패키징 시 수행한 영역의 선택 후, 합법적인 사용자(Legal Subscriber)가 소유한 DRM 메타데이터 비트스트림과 함께 XOR 연산을 수행하여 언패키징된 QTC를 획득한 후, HEVC 디코딩 과정으로 데이터를 전송하여 처리하게 한다. 이로 인해 실제 사용자가 다운로드 혹은 스트리밍 받은 영상 데이터를 실시간으로 언패키징을 수행하여 지연 시간없이 본래의 영상에 대한 시청이 가능하다.Meanwhile, the DRM unpackaging process reversely performs the DRM packaging process, as shown in FIG. 9 . After performing the CABAC decoding process on packets that have downloaded or streamed video content (for example, HEVC video files) for which DRM packaging has been completed, after selecting the area performed during packaging for the obtained packaged QTC, a legitimate user After obtaining an unpackaged QTC by performing an XOR operation with the DRM metadata bitstream owned by (Legal Subscriber), the data is transmitted and processed through the HEVC decoding process. As a result, real-time unpacking of video data downloaded or streamed by a user is performed, so that the original video can be viewed without delay.

다음으로, 도 10 내지 도 12를 참조하여 본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 시스템의 동작 과정을 설명한다.Next, with reference to FIGS. 10 to 12 , an operation process of the DRM content parallel packaging system according to an embodiment of the present invention will be described.

도 10 내지 도 12는 본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 시스템의 동작 과정이 도시된 순서도이다.10 to 12 are flowcharts illustrating the operation process of the DRM content parallel packaging system according to an embodiment of the present invention.

도 10은 사용자 단말기(100)로부터의 영상 콘텐츠 전송 요??이 있는 경우, DRM 병렬 패키징 서버(200)가 실시간 스트리밍 방식으로 DMR 패키징된 영상 콘텐츠를 제공하는 시스템이다.10 is a system in which the DRM parallel packaging server 200 provides DMR-packaged video contents in a real-time streaming method when there is a video content transmission request from the user terminal 100 .

먼저, 사용자는 사용자 단말기(100)를 통해 DRM 병렬 패키징 서버(200)로 특정 영상 콘텐츠 전송을 요청한다. (S110) DRM 병렬 패키징 서버(200)는 해당 영상 콘텐츠 제공자(CP)에게 영상 콘텐츠 제공을 요청하고 이를 수신한다. (S120, S130) DRM 병렬 패키징 서버(200)는 영상 콘텐츠를 DMR 패키징 처리(S140)하여 실시간으로 사용자 단말기(100)로 전송한다. (S150) 이 과정에서 DRM 병렬 패키징 서버(200)가 자체적으로 영상 콘텐츠를 저장하고 있는 경우, S120 ~ S130 단계는 생략될 수 있다.First, the user requests transmission of specific video content to the DRM parallel packaging server 200 through the user terminal 100 . (S110) The DRM parallel packaging server 200 requests and receives video content from a corresponding video content provider (CP). (S120, S130) The DRM parallel packaging server 200 performs DMR packaging processing on video content (S140) and transmits it to the user terminal 100 in real time. (S150) In this process, if the DRM parallel packaging server 200 stores video content itself, steps S120 to S130 may be omitted.

도 11 및 도 12는 사용자 단말기(100)로부터의 영상 콘텐츠 전송 요??이 있기 전에 미리 불특정 복수개의 영상 콘텐츠를 DMR 패키징하여 저장한 후, 사용자 단말기(100)를 통해 전송 요청이 있는 경우, 미리 DMR 패키징된 영상 콘텐츠를 전송하는 시스템으로, 도 11은 DRM 병렬 패키징 서버(200)에서 미리 DMR 패키징 처리하는 경우이고, 도 12는 영상 콘텐츠 제공자(CP)가 미리 DMR 패키징 처리하는 경우이다.11 and 12 show that a plurality of unspecified video contents are DMR packaged and stored in advance before there is a request for transmission of video contents from the user terminal 100, and there is a transmission request through the user terminal 100 in advance. As a system for transmitting DMR-packaged video contents, FIG. 11 is a case where the DRM parallel packaging server 200 processes DMR packaging in advance, and FIG. 12 is a case where a video content provider (CP) processes DMR packaging in advance.

도 11을 참조하면, DRM 병렬 패키징 서버(200)가 영상 콘텐츠 제공자(CP)에게 영상 콘텐츠 제공을 요청하고 이를 수신한다. (S210, S220) DRM 병렬 패키징 서버(200)는 영상 콘텐츠를 DMR 패키징 처리하여 저장한다. (S230) 사용자 단말기(100)로부터의 영상 콘텐츠 전송 요청이 있는 경우(S240), DRM 병렬 패키징 서버(200)는 해당 영상 콘텐츠가 미리 DMR 패키징 처리된 경우, 해당 영상 콘텐츠를 사용자 단말기(100)로 전송한다. (S250) 만약, DMR 패키징 처리되지 않은 영상 콘텐츠가 요청된 경우, 도 10의 과정을 수행한다.Referring to FIG. 11 , the DRM parallel packaging server 200 requests video content provision from a video content provider (CP) and receives it. (S210, S220) The DRM parallel packaging server 200 processes and stores video content in DMR packaging. (S230) When there is a video content transmission request from the user terminal 100 (S240), the DRM parallel packaging server 200 transmits the corresponding video content to the user terminal 100 when the corresponding video content has been previously DMR packaged. send. (S250) If video content that has not been processed for DMR packaging is requested, the process of FIG. 10 is performed.

도 12를 참조하면, DRM 병렬 패키징 서버(200)로부터 영상 콘텐츠 제공이 요청(S310)되면 영상 콘텐츠 제공자(CP)는 자체적으로 해당 영상 콘텐츠를 DMR 패키징 처리(S320)하고, DRM 병렬 패키징 서버(200)로 전송한다. (S330) 사용자 단말기(100)로부터의 영상 콘텐츠 전송 요청이 있는 경우(S340), DRM 병렬 패키징 서버(200)는 해당 영상 콘텐츠를 사용자 단말기(100)로 전송한다. (S350)Referring to FIG. 12, when video content provision is requested from the DRM parallel packaging server 200 (S310), the video content provider (CP) independently processes the video content for DMR packaging (S320), and the DRM parallel packaging server 200 ) is sent to (S330) When there is a video content transmission request from the user terminal 100 (S340), the DRM parallel packaging server 200 transmits the corresponding video content to the user terminal 100. (S350)

다음으로, 도 13을 참조하여 본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 방법을 설명한다. 도 13은 본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 방법이 도시된 순서도이다.Next, referring to FIG. 13, a parallel packaging method for DRM contents according to an embodiment of the present invention will be described. 13 is a flowchart illustrating a method for packaging DRM contents in parallel according to an embodiment of the present invention.

먼저, DRM 패키지를 수행할 영상 콘텐츠를 수신한다. (S10)First, video content to be subjected to a DRM package is received. (S10)

영상 콘텐츠는 특별히 한정되지는 않으나, 대용량 고화질의 영상 콘텐츠에 더욱 유용하게 활용될 수 있다. 바람직하게는, 영상 콘텐츠는 복수개의 NAL 유닛(Network Abstraction Layer Unit)을 포함한다. 대용량 고화질 영상 콘텐츠는, 예를 들어 가상현실 콘텐츠(VR 콘텐츠), 증강 현실 콘텐츠(AR 콘텐츠), 양방향 인터랙션 콘텐츠 등, HEVC(High Efficiency Video Codec) 기반의 4K 120FPS(Frame Per Second)급, 또는 8K 120FPS급 실감형 콘텐츠일 수 있다. 구체적으로, HEVC(H.264, H.265) 기반의 8K급 실감형콘텐츠일 수 있다. 물론, 120FPS급 콘텐츠 뿐만 아니라, 60 ~ 120FPS급 콘텐츠, 120 ~ 240FPS급 콘텐츠 등 여러 레벨의 콘텐츠에 제한 없이 적용될 수 있다. Although the video content is not particularly limited, it can be more usefully used for large-capacity and high-definition video content. Preferably, video content includes a plurality of NAL units (Network Abstraction Layer Units). High-capacity high-definition video content, for example, virtual reality content (VR content), augmented reality content (AR content), interactive interaction content, etc., HEVC (High Efficiency Video Codec)-based 4K 120 FPS (Frame Per Second) level, or 8K It may be 120 FPS level realistic content. Specifically, it may be HEVC (H.264, H.265)-based 8K-class realistic content. Of course, it can be applied without limitation to content of various levels, such as 120 FPS content, 60 to 120 FPS content, and 120 to 240 FPS content.

다음, 영상 콘텐츠를 개개의 NAL 유닛으로 분할한다. (S20)Next, the video content is divided into individual NAL units. (S20)

다음, 분할된 복수개의 NAL 유닛 중에서 DRM 패키징 처리할 적어도 하나 이상의 NAL 유닛(패키징 NAL 유닛)을 선택한다. (S30) 이때, 난수 정보(R)를 기반으로 패키징 NAL 유닛과 DRM 패키징 처리하지 않을 NAL 유닛(스킵 NAL 유닛)을 선택한다. 난수 정보(R)는 패키징 처리 정보와 함께 위치 정보를 포함한다.Next, at least one NAL unit (packaging NAL unit) to be processed for DRM packaging is selected from among the plurality of divided NAL units. (S30) At this time, based on the random number information (R), a packaging NAL unit and a NAL unit (skip NAL unit) not to be processed for DRM packaging are selected. The random number information R includes location information along with packaging processing information.

다음, 선택된 복수개의 패키징 NAL 유닛 각각에 대해, DRM 패키징을 수행한다. (S40)Next, DRM packaging is performed on each of the selected plurality of packaging NAL units. (S40)

구체적으로, 분할된 복수개의 패키징 NAL 유닛 각각에 대해 CABAC 디코더를 이용하여 디코딩을 수행한다. (S41) CABAC 디코더로 패키징 NAL 유닛을 디코딩하면, 각각의 영상 프레임에 대해 5가지의 데이터가 도출된다. 도출되는 데이터는 QTC, 일반 제어 데이터, 내부 예측 데이터, 필터 제어 데이터, 움직임 데이터이다.Specifically, decoding is performed using a CABAC decoder for each of a plurality of divided packaging NAL units. (S41) When the packaging NAL unit is decoded by the CABAC decoder, five types of data are derived for each video frame. The derived data are QTC, general control data, internal prediction data, filter control data, and motion data.

다음, QTC 데이터 내에 DRM 메타 데이터를 패키징한다. (S42)Next, the DRM meta data is packaged within the QTC data. (S42)

CABAC 디코더에 의한 디코딩 결과로 도출된 데이터들 중에서 QTC 데이터를 선택하고, QTC 데이터 내 일부 영역에 대해 DRM 메타데이터와 QTC 데이터를 XOR 연산 수행하여 DRM 패키징한다. QTC data is selected from data derived as a result of decoding by the CABAC decoder, and DRM packaging is performed by performing an XOR operation on DRM metadata and QTC data for a portion of the QTC data.

DRM 메타 데이터 패키징 단계(S42)는 각각의 영상 프레임에 존재하는 여러 채널 중에서 YCbCr 채널을 선택하고, YCbCr 채널 중에서 휘도를 표현하는 Y 채널에 있는 일부의 QTC를 선택하고, Y 채널 QTC의 적어도 하나의 비트스트림과 이와 대응하는 위치의 DRM 메타데이터 비트스트림에 대해 XOR 연산을 수행하여 DRM 패키징을 수행한다. In the DRM metadata packaging step (S42), a YCbCr channel is selected from among several channels present in each video frame, some QTCs in the Y channel representing luminance are selected from among the YCbCr channels, and at least one of the Y channel QTCs is selected. DRM packaging is performed by performing an XOR operation on the bitstream and the DRM metadata bitstream at a position corresponding thereto.

다음, DRM 패키징이 수행된 영상 프레임을 CABAC 인코더로 인코딩하여 DRM 패키징된 NAL 유닛을 생성한다. (S43)Next, the DRM-packaged video frame is encoded with a CABAC encoder to generate a DRM-packaged NAL unit. (S43)

패키징 NAL 유닛에 대한 DRM 패키징 수행과 동시에, DRM 패키징을 수행하지 않는 스킵 NAL 유닛을 대상으로 입력되기 이전의 영상 프레임과 동일한 형태의 프레임을 만들어 프레임을 스킵시킨다.At the same time as DRM packaging is performed on the packaging NAL unit, a frame having the same shape as the previous image frame is created for the skip NAL unit not subjected to DRM packaging, and the frame is skipped.

다음, DRM 패키징(디코딩, 패키징, 인코딩)이 완료된 복수개의 패키징 NAL 유닛과 프레임 스킵이 완료된 스킵 NAL 유닛을 일시 저장한다. (S50)Next, a plurality of packaging NAL units for which DRM packaging (decoding, packaging, encoding) is completed and a skip NAL unit for which frame skip is completed are temporarily stored. (S50)

다음, 일시 저장된 복수개의 NAL 유닛을 정렬한다. (S60)Next, a plurality of temporarily stored NAL units are sorted. (S60)

난수 정보(R)에 의해 부여된 위치 정보를 이용하여 DRM 패키징이 완료된 복수개의 패키징 NAL 유닛과 프레임 스킵이 완료된 스킵 NAL 유닛을 정렬한다. A plurality of packaging NAL units for which DRM packaging is completed and a skip NAL unit for which frame skip is completed are aligned using location information given by the random number information (R).

상기와 같은, 본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 방법 및 DRM 콘텐츠 병렬 패키징 시스템에 의하면, 기존의 실감형 콘텐츠에 대한 DRM 패키징 수행시 콘텐츠의 용량에 비례하여 소요 시간과 연산량이 증가했던 것과는 달리, DRM 패키징모듈을 적절한 수로 병렬 배치하여 병렬로 DRM 패키징을 수행함으로써 용량에 관계없이 소요시간과 연산량은 일정하게 할 수 있다. 따라서, 대용량 고화질의 영상 콘텐츠, 8K급 실감형 콘텐츠에 대해 효율적인 DRM 패키징을 수행할 수 있다.As described above, according to the DRM content parallel packaging method and DRM content parallel packaging system according to an embodiment of the present invention, when performing DRM packaging for existing immersive content, the required time and amount of computation increased in proportion to the volume of the content. Contrary to this, by arranging an appropriate number of DRM packaging modules in parallel and performing DRM packaging in parallel, the required time and amount of computation can be kept constant regardless of the capacity. Accordingly, efficient DRM packaging can be performed for large-capacity high-definition video content and 8K-class realistic content.

도 14는 본 발명의 실시예에 따른, 컴퓨팅 장치를 나타내는 도면이다. 도 14의 컴퓨팅 장치(TN100)는 본 명세서에서 기술된 장치(예, DRM 병렬 패키징 장치, DRM 병렬 패키징 서버 등) 일 수 있다. 14 is a diagram illustrating a computing device according to an embodiment of the present invention. The computing device TN100 of FIG. 14 may be a device described in this specification (eg, a DRM parallel packaging device, a DRM parallel packaging server, etc.).

도 14의 실시예에서, 컴퓨팅 장치(TN100)는 적어도 하나의 프로세서(TN110), 송수신 장치(TN120), 및 메모리(TN130)를 포함할 수 있다. 또한, 컴퓨팅 장치(TN100)는 저장 장치(TN140), 입력 인터페이스 장치(TN150), 출력 인터페이스 장치(TN160) 등을 더 포함할 수 있다. 컴퓨팅 장치(TN100)에 포함된 구성 요소들은 버스(bus)(TN170)에 의해 연결되어 서로 통신을 수행할 수 있다.In the embodiment of FIG. 14 , the computing device TN100 may include at least one processor TN110, a transceiver TN120, and a memory TN130. In addition, the computing device TN100 may further include a storage device TN140, an input interface device TN150, and an output interface device TN160. Elements included in the computing device TN100 may communicate with each other by being connected by a bus TN170.

프로세서(TN110)는 메모리(TN130) 및 저장 장치(TN140) 중에서 적어도 하나에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(TN110)는 중앙 처리 장치(CPU: central processing unit), 그래픽 처리 장치(GPU: graphics processing unit), 또는 본 발명의 실시예에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 프로세서(TN110)는 본 발명의 실시예와 관련하여 기술된 절차, 기능, 및 방법 등을 구현하도록 구성될 수 있다. 프로세서(TN110)는 컴퓨팅 장치(TN100)의 각 구성 요소를 제어할 수 있다.The processor TN110 may execute program commands stored in at least one of the memory TN130 and the storage device TN140. The processor TN110 may mean a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor on which methods according to embodiments of the present invention are performed. Processor TN110 may be configured to implement procedures, functions, methods, and the like described in relation to embodiments of the present invention. The processor TN110 may control each component of the computing device TN100.

메모리(TN130) 및 저장 장치(TN140) 각각은 프로세서(TN110)의 동작과 관련된 다양한 정보를 저장할 수 있다. 메모리(TN130) 및 저장 장치(TN140) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(TN130)는 읽기 전용 메모리(ROM: read only memory) 및 랜덤 액세스 메모리(RAM: random access memory) 중에서 적어도 하나로 구성될 수 있다. Each of the memory TN130 and the storage device TN140 may store various information related to the operation of the processor TN110. Each of the memory TN130 and the storage device TN140 may include at least one of a volatile storage medium and a non-volatile storage medium. For example, the memory TN130 may include at least one of read only memory (ROM) and random access memory (RAM).

송수신 장치(TN120)는 유선 신호 또는 무선 신호를 송신 또는 수신할 수 있다. 송수신 장치(TN120)는 네트워크에 연결되어 통신을 수행할 수 있다. The transmitting/receiving device TN120 may transmit or receive a wired signal or a wireless signal. The transmitting/receiving device TN120 may perform communication by being connected to a network.

한편, 본 발명은 컴퓨터프로그램으로 구현될 수도 있다. 본 발명은 하드웨어와 결합되어, 본 발명에 따른 DRM 콘텐츠 병렬 패키징 방법을 실행시키기 위하여, 컴퓨터가 판독 가능한 기록매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.Meanwhile, the present invention may be implemented as a computer program. The present invention may be implemented as a computer program stored in a computer-readable recording medium in order to execute the DRM contents parallel packaging method according to the present invention in combination with hardware.

본 발명의 실시예에 따른 방법들은 다양한 컴퓨터수단을 통하여 판독 가능한 프로그램 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터구조 등을 단독으로 또는 조합하여 포함할 수 있다. Methods according to embodiments of the present invention may be implemented in the form of programs readable by various computer means and recorded on computer-readable recording media. Here, the recording medium may include program commands, data files, data structures, etc. alone or in combination.

기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. Program instructions recorded on the recording medium may be those specially designed and configured for the present invention, or those known and usable to those skilled in computer software.

예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CDROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. For example, recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CDROMs and DVDs, and magneto-optical media such as floptical disks. optical media), and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.

프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어를 포함할 수 있다. Examples of the program command may include a high-level language that can be executed by a computer using an interpreter, as well as a machine language generated by a compiler.

이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.These hardware devices may be configured to act as one or more software modules to perform the operations of the present invention, and vice versa.

이상, 본 발명의 일 실시예에 대하여 설명하였으나, 해당 기술 분야에서 통상의 지식을 가진 자라면 특허청구범위에 기재된 본 발명의 사상으로부터 벗어나지 않는 범위 내에서, 구성 요소의 부가, 변경, 삭제 또는 추가 등에 의해 본 발명을 다양하게 수정 및 변경시킬 수 있을 것이며, 이 또한 본 발명의 권리범위 내에 포함된다고 할 것이다.Although one embodiment of the present invention has been described above, those skilled in the art can add, change, delete, or add components within the scope not departing from the spirit of the present invention described in the claims. The present invention can be variously modified and changed by the like, and this will also be said to be included within the scope of the present invention.

100 : 사용자 단말기
200 : DRM 콘텐츠 병렬 패키징 관리 서버
210 : 통신부
220 : 병렬 패키징부
221 : NAL 분할모듈
222 : NAL 선택모듈
223 : 병렬 패키징모듈
224 : 패키징 스킵모듈
225 : 공유 메모리
226 : NAL 정렬모듈
CP1 ~ CP3 : 외부의 콘텐츠 제공자
100: user terminal
200: DRM content parallel packaging management server
210: Ministry of Communication
220: parallel packaging unit
221: NAL division module
222: NAL selection module
223: parallel packaging module
224: packaging skip module
225: shared memory
226: NAL alignment module
CP1 ~ CP3: External Content Provider

Claims (15)

복수개의 NAL 유닛(Network Abstraction Layer Unit)을 포함하여 구성된 영상 콘텐츠를 개개의 NAL 유닛으로 분할하는 NAL 분할모듈;
상기 NAL 분할모듈에 의해 분할된 복수개의 NAL 유닛 중에서, 랜덤하게 생성된 난수 정보를 기반으로 DRM 패키징 처리할 적어도 하나 이상의 패키징 NAL 유닛과, DRM 패키징 처리하지 않을 적어도 하나 이상의 스킵 NAL 유닛을 선택하는 NAL 선택모듈;
상기 NAL 선택모듈에 의해 선택된 복수개의 패키징 NAL 유닛 각각에 대해, CABAC 디코더를 이용하여 디코딩하고, 디코딩을 통해 추출된 QTC 데이터 내의 DRM 메타 데이터를 패키징하고, DRM 메타 데이터 패키징이 완료된 NAL 유닛을 인코딩하는 병렬 패키징모듈; 및,
상기 난수 정보에 포함된 위치 정보를 이용하여 상기 패키징 NAL 유닛과 상기 스킵 NAL 유닛을 정렬하는 NAL 정렬모듈;을 포함하고,
상기 난수 정보는 상기 패키징 NAL 유닛 선택을 위한 패키징 처리 정보와, 상기 패키징 NAL 유닛 및 스킵 NAL 유닛에 대한 위치 정보를 포함하며,
상기 난수 정보는 DRM 패키징 처리할 NAL 유닛을 의미하는 제1 상태값과 DRM 패키징 처리하지 않을 NAL 유닛을 의미하는 제2 상태값으로 이루어진 배열이며, 상기 제1 상태값의 비율(0<N<100, N은 패키징 NAL 유닛 생성 비율)은 패키징 처리 속도 및 무단 복제 가능성을 고려하여 조절되는 것
을 특징으로 하는 DRM 콘텐츠 병렬 패키징 장치.
A NAL segmentation module for segmenting video content composed of a plurality of NAL units (Network Abstraction Layer Units) into individual NAL units;
NAL for selecting at least one packaging NAL unit to be processed for DRM packaging and at least one or more skip NAL units not to be processed for DRM packaging based on randomly generated random number information among the plurality of NAL units divided by the NAL segmentation module. optional module;
For each of the plurality of packaging NAL units selected by the NAL selection module, decoding using a CABAC decoder, packaging DRM metadata in the QTC data extracted through decoding, and encoding the NAL unit for which DRM metadata packaging has been completed Parallel packaging module; and,
A NAL alignment module for aligning the packaging NAL unit and the skip NAL unit using location information included in the random number information;
The random number information includes packaging processing information for selecting the packaging NAL unit and location information about the packaging NAL unit and skip NAL unit,
The random number information is an array consisting of a first state value indicating a NAL unit to be processed for DRM packaging and a second state value indicating a NAL unit not to be processed for DRM packaging, and the ratio of the first state value (0<N<100 , N is the packaging NAL unit generation rate) is adjusted in consideration of the packaging processing speed and the possibility of unauthorized copying
DRM content parallel packaging device characterized by.
삭제delete 삭제delete 청구항 1에 있어서,
상기 병렬 패키징모듈은, 상기 선택된 복수개의 패키징 NAL 유닛 각각에 대해, 상기 DRM 메타 데이터를 패키징하는 복수개의 DRM 패키징모듈이 병렬로 형성되며,
상기 DRM 패키징모듈 각각은,
CABAC 디코더를 이용하여 디코딩하는 디코딩 수단;
상기 디코딩 수단에 의한 디코딩 결과로 도출된 데이터들 중에서 QTC 데이터를 선택하고, 선택된 QTC 데이터의 비트스트림과 DRM 메타데이터의 비트스트림을 삽입 연산하여 DRM 패키징을 수행하는 패키징 수단; 및,
CABAC 인코더를 이용하여 상기 DRM 패키징이 수행된 패키징 NAL 유닛을 인코딩하는 인코딩 수단
을 포함하는 DRM 콘텐츠 병렬 패키징 장치.
The method of claim 1,
In the parallel packaging module, a plurality of DRM packaging modules for packaging the DRM metadata are formed in parallel for each of the selected plurality of packaging NAL units,
Each of the DRM packaging modules,
decoding means for decoding using a CABAC decoder;
a packaging means for selecting QTC data from data derived as a result of decoding by the decoding means, inserting a bitstream of the selected QTC data and a bitstream of DRM metadata, and performing DRM packaging; and,
Encoding means for encoding the packaging NAL unit on which the DRM packaging is performed using a CABAC encoder
DRM content parallel packaging device comprising a.
청구항 4에 있어서, 상기 패키징 수단은,
상기 패키징 NAL 유닛의 영상 이미지를 구현하는 영상 프레임에 포함된 YCbCr 채널 중에서 휘도를 표현하는 Y 채널에 존재하는 QTC들 중 적어도 하나 이상의 QTC의 비트스트림과 DRM 메타데이터의 비트스트림에 대해 삽입 연산을 수행하여 DRM 패키징하는 DRM 콘텐츠 병렬 패키징 장치.
The method according to claim 4, wherein the packaging means,
Insertion operation is performed on the bitstream of at least one QTC among the YCbCr channels included in the video frame embodying the video image of the packaging NAL unit and the bitstream of DRM metadata among the QTCs present in the Y channel representing luminance. A parallel packaging device for DRM content that is packaged by DRM.
사용자 단말기와 유무선 통신을 수행하는 통신부;
복수개의 NAL 유닛을 포함하여 구성된 영상 콘텐츠를 개개의 NAL 유닛으로 분할하는 NAL 분할모듈과, 상기 NAL 분할모듈에 의해 분할된 복수개의 NAL 유닛 중에서, 랜덤하게 생성된 난수 정보를 기반으로 DRM 패키징 처리할 적어도 하나 이상의 패키징 NAL 유닛과, DRM 패키징 처리하지 않을 적어도 하나 이상의 스킵 NAL 유닛을 선택하는 NAL 선택모듈과, 상기 NAL 선택모듈에 의해 선택된 복수개의 패키징 NAL 유닛 각각에 대해 CABAC 디코더를 이용하여 디코딩하고 디코딩을 통해 추출된 QTC 데이터 내의 DRM 메타 데이터를 패키징하고 DRM 메타 데이터 패키징이 완료된 NAL 유닛을 인코딩하는 병렬 패키징모듈과, 상기 난수 정보에 포함된 위치 정보를 이용하여 상기 패키징 NAL 유닛과 상기 스킵 NAL 유닛을 정렬하는 NAL 정렬모듈;을 포함하는 병렬 패키징부;를 포함하고,
상기 난수 정보는 상기 패키징 NAL 유닛 선택을 위한 패키징 처리 정보와, 상기 패키징 NAL 유닛 및 스킵 NAL 유닛에 대한 위치 정보를 포함하며,
상기 난수 정보는 DRM 패키징 처리할 NAL 유닛을 의미하는 제1 상태값과 DRM 패키징 처리하지 않을 NAL 유닛을 의미하는 제2 상태값으로 이루어진 배열이며, 상기 제1 상태값의 비율(0<N<100, N은 패키징 NAL 유닛 생성 비율)은 패키징 처리 속도 및 무단 복제 가능성을 고려하여 조절되는 것
을 특징으로 하는 DRM 콘텐츠 병렬 패키징 관리 서버.
a communication unit that performs wired/wireless communication with a user terminal;
A NAL segmentation module that divides video content including a plurality of NAL units into individual NAL units, and DRM packaging processing based on randomly generated random number information among the plurality of NAL units divided by the NAL segmentation module. A NAL selection module for selecting at least one packaging NAL unit and at least one skip NAL unit not to be subjected to DRM packaging processing, and decoding and decoding each of the plurality of packaging NAL units selected by the NAL selection module using a CABAC decoder. A parallel packaging module that packages the DRM metadata in the QTC data extracted through and encodes the NAL unit for which the DRM metadata packaging has been completed, and the packaging NAL unit and the skip NAL unit using the location information included in the random number information A parallel packaging unit including a NAL alignment module for aligning;
The random number information includes packaging processing information for selecting the packaging NAL unit and location information about the packaging NAL unit and skip NAL unit,
The random number information is an array consisting of a first state value indicating a NAL unit to be processed for DRM packaging and a second state value indicating a NAL unit not to be processed for DRM packaging, and the ratio of the first state value (0<N<100 , N is the packaging NAL unit generation rate) is adjusted in consideration of the packaging processing speed and the possibility of unauthorized copying
DRM content parallel packaging management server characterized by.
삭제delete 삭제delete 청구항 6에 있어서,
상기 병렬 패키징모듈은, 상기 선택된 복수개의 패키징 NAL 유닛 각각에 대해, 상기 DRM 메타 데이터를 패키징하는 복수개의 DRM 패키징모듈이 병렬로 형성되며,
상기 DRM 패키징모듈 각각은,
CABAC 디코더를 이용하여 디코딩하는 디코딩 수단;
상기 디코딩 수단에 의한 디코딩 결과로 도출된 데이터들 중에서 QTC 데이터를 선택하고, 선택된 QTC 데이터의 비트스트림과 DRM 메타데이터의 비트스트림을 삽입 연산하여 DRM 패키징을 수행하는 패키징 수단; 및,
CABAC 인코더를 이용하여 상기 DRM 패키징이 수행된 패키징 NAL 유닛을 인코딩하는 인코딩 수단
을 포함하는 DRM 콘텐츠 병렬 패키징 관리 서버.
The method of claim 6,
In the parallel packaging module, a plurality of DRM packaging modules for packaging the DRM metadata are formed in parallel for each of the selected plurality of packaging NAL units,
Each of the DRM packaging modules,
decoding means for decoding using a CABAC decoder;
a packaging means for selecting QTC data from data derived as a result of decoding by the decoding means, inserting a bitstream of the selected QTC data and a bitstream of DRM metadata, and performing DRM packaging; and,
Encoding means for encoding the packaging NAL unit on which the DRM packaging is performed using a CABAC encoder
A DRM content parallel packaging management server comprising a.
청구항 9에 있어서, 상기 패키징 수단은,
상기 패키징 NAL 유닛의 영상 이미지를 구현하는 영상 프레임에 포함된 YCbCr 채널 중에서 휘도를 표현하는 Y 채널에 존재하는 QTC들 중 적어도 하나 이상의 QTC의 비트스트림과 DRM 메타데이터의 비트스트림에 대해 삽입 연산을 수행하여 DRM 패키징하는 DRM 콘텐츠 병렬 패키징 관리 서버.
The method according to claim 9, wherein the packaging means,
Insertion operation is performed on the bitstream of at least one QTC among the YCbCr channels included in the video frame embodying the video image of the packaging NAL unit and the bitstream of DRM metadata among the QTCs present in the Y channel representing luminance. A parallel packaging management server for DRM content that is packaged by DRM.
컴퓨팅 장치에 의해 수행되며, 컴퓨팅 장치가,
복수개의 NAL 유닛 포함하여 구성된 영상 콘텐츠를 개개의 NAL 유닛으로 분할하는 제1 단계;
분할된 복수개의 NAL 유닛 중에서, 랜덤하게 생성된 난수 정보를 기반으로 DRM 패키징 처리할 적어도 하나 이상의 패키징 NAL 유닛과 DRM 패키징 처리하지 않을 적어도 하나 이상의 스킵 NAL 유닛을 선택하는 제2 단계;
선택된 복수개의 패키징 NAL 유닛 각각에 대해, CABAC 디코더를 이용하여 디코딩하는 제3 단계;
선택된 복수개의 패키징 NAL 유닛 각각에 대해, 상기 디코딩을 통해 획득된 데이터 중에서 QTC 데이터 내에 DRM 메타 데이터를 패키징하는 제4 단계;
선택된 복수개의 패키징 NAL 유닛 각각에 대해, CABAC 인코더를 이용하여 상기 DRM 메타 데이터 패키징이 완료된 NAL 유닛을 인코딩하는 제5 단계; 및,
상기 난수 정보에 포함된 위치 정보를 이용하여 상기 패키징 NAL 유닛과 상기 스킵 NAL 유닛을 정렬하는 단계를 포함하고,
상기 난수 정보는 상기 패키징 NAL 유닛 선택을 위한 패키징 처리 정보와, 상기 패키징 NAL 유닛 및 스킵 NAL 유닛에 대한 위치 정보를 포함하며,
상기 난수 정보는 DRM 패키징 처리할 NAL 유닛을 의미하는 제1 상태값과 DRM 패키징 처리하지 않을 NAL 유닛을 의미하는 제2 상태값으로 이루어진 배열이며, 상기 제1 상태값의 비율(0<N<100, N은 패키징 NAL 유닛 생성 비율)은 패키징 처리 속도 및 무단 복제 가능성을 고려하여 조절되는 것
을 특징으로 하는 DRM 콘텐츠 병렬 패키징 방법.
Performed by a computing device, the computing device comprising:
A first step of dividing video content including a plurality of NAL units into individual NAL units;
A second step of selecting at least one packaging NAL unit to be processed for DRM packaging and at least one or more skip NAL units not to be processed for DRM packaging based on randomly generated random number information from among the plurality of divided NAL units;
A third step of decoding each of the selected plurality of packaging NAL units using a CABAC decoder;
A fourth step of packaging DRM metadata in QTC data among data obtained through the decoding, for each of the plurality of selected packaging NAL units;
A fifth step of encoding the NAL unit for which the DRM meta data packaging is completed using a CABAC encoder for each of the plurality of selected packaging NAL units; and,
Aligning the packaging NAL unit and the skip NAL unit using location information included in the random number information;
The random number information includes packaging processing information for selecting the packaging NAL unit and location information about the packaging NAL unit and skip NAL unit,
The random number information is an array consisting of a first state value indicating a NAL unit to be processed for DRM packaging and a second state value indicating a NAL unit not to be processed for DRM packaging, and the ratio of the first state value (0<N<100 , N is the packaging NAL unit generation rate) is adjusted in consideration of the packaging processing speed and the possibility of unauthorized copying
DRM content parallel packaging method characterized by.
삭제delete 삭제delete 청구항 11에 있어서, 상기 제4 단계는,
상기 제3 단계에서 도출된 데이터들 중에서 QTC 데이터를 선택하고, 선택된 QTC 데이터의 비트스트림과 DRM 메타데이터의 비트스트림을 삽입 연산하여 DRM 패키징을 수행하는 것을 특징으로 하는 DRM 콘텐츠 병렬 패키징 방법.
The method according to claim 11, wherein the fourth step,
DRM content parallel packaging method, characterized in that for performing DRM packaging by selecting QTC data from among the data derived in the third step, inserting a bitstream of the selected QTC data and a bitstream of DRM metadata.
청구항 14에 있어서, 상기 제4 단계는,
상기 패키징 NAL 유닛의 영상 이미지를 구현하는 영상 프레임에 포함된 YCbCr 채널 중에서 휘도를 표현하는 Y 채널에 존재하는 QTC들 중 적어도 하나 이상의 QTC의 비트스트림과 DRM 메타데이터의 비트스트림에 대해 삽입 연산을 수행하여 DRM 패키징하는 DRM 콘텐츠 병렬 패키징 방법.
The method according to claim 14, wherein the fourth step,
Insertion operation is performed on the bitstream of at least one QTC among the YCbCr channels included in the video frame embodying the video image of the packaging NAL unit and the bitstream of DRM metadata among the QTCs present in the Y channel representing luminance. A parallel packaging method for DRM content that is packaged by DRM.
KR1020200186812A 2019-12-30 2020-12-29 DRM contents parallel packaging device and system comprising it and method for DRM contents parallel packaging Active KR102477310B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200186812A KR102477310B1 (en) 2020-12-29 2020-12-29 DRM contents parallel packaging device and system comprising it and method for DRM contents parallel packaging
PCT/KR2020/019439 WO2021137633A2 (en) 2019-12-30 2020-12-30 Drm content parallel packaging device, drm content parallel packaging system comprising same, and drm content parallel packaging method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200186812A KR102477310B1 (en) 2020-12-29 2020-12-29 DRM contents parallel packaging device and system comprising it and method for DRM contents parallel packaging

Publications (2)

Publication Number Publication Date
KR20220095010A KR20220095010A (en) 2022-07-06
KR102477310B1 true KR102477310B1 (en) 2022-12-12

Family

ID=82400409

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200186812A Active KR102477310B1 (en) 2019-12-30 2020-12-29 DRM contents parallel packaging device and system comprising it and method for DRM contents parallel packaging

Country Status (1)

Country Link
KR (1) KR102477310B1 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100814064B1 (en) 2006-05-26 2008-03-14 에스케이 텔레콤주식회사 DRM Contents Packaging Method and System
US9635355B2 (en) * 2011-07-28 2017-04-25 Qualcomm Incorporated Multiview video coding
KR20250068798A (en) * 2013-01-04 2025-05-16 지이 비디오 컴프레션, 엘엘씨 Efficient scalable coding concept
KR102186480B1 (en) * 2018-12-31 2020-12-03 재단법인 경주스마트미디어센터 Apparatus for packaging DRM contents and system comprising it and method for packaging DRM contents

Also Published As

Publication number Publication date
KR20220095010A (en) 2022-07-06

Similar Documents

Publication Publication Date Title
CN114930835B (en) Use of transform coefficients to provide embedded signaling for watermarks
KR102027410B1 (en) Transmission of reconstruction data in a tiered signal quality hierarchy
JP7418533B2 (en) System and method for protecting elementary bitstreams incorporating independently encoded tiles
US8838954B2 (en) Media processing devices for adaptive delivery of on-demand media, and methods thereof
JP2010004518A (en) Method and apparatus for protecting scalable video encoded content
US9740886B2 (en) Enhanced security for hardware decoder accelerator
CN110881142A (en) Audio and video data encryption and decryption method and device based on rtmp and readable storage medium
US8472625B2 (en) Method and system for protecting 3D video content
JP2013141253A (en) Method for selectively scrambling bit stream
KR20060116025A (en) Methods for scaling encoded data without requiring knowledge of the encoding scheme
KR102477310B1 (en) DRM contents parallel packaging device and system comprising it and method for DRM contents parallel packaging
KR102186480B1 (en) Apparatus for packaging DRM contents and system comprising it and method for packaging DRM contents
KR102302755B1 (en) DRM contents parallel packaging device and system comprising it and method for DRM contents parallel packaging
KR20220082578A (en) Forensic marking device and method with secret sharing technology applied
Koley et al. Enhancing Video Steganography Security for Cross‐Platform Applications: A Focus on High‐Definition Formats and Streaming Environments
RU2839835C1 (en) Method and system for protecting authenticity of video generated by machine learning model
WO2021137633A2 (en) Drm content parallel packaging device, drm content parallel packaging system comprising same, and drm content parallel packaging method
JP5610981B2 (en) Image encryption device, image decryption device, image encryption method, image decryption method, image encryption program, and image decryption program
JP4956179B2 (en) Data processing apparatus, data processing method, data processing program, and storage medium
KR20220082633A (en) Forensic marking device and method supporting DRM streaming technology
CN116827914A (en) A method and system for preventing hijacking and theft of video information on mobile terminals
CN119893214A (en) Data encryption and decryption method and device, chip, electronic equipment and storage medium
JP2004228876A (en) Image encoder, code decoder, program and storage medium
CN116419002A (en) A Selective Encryption Method for HEVC Video Based on Chaotic System
CN116320471A (en) Video information hiding method, system, device and method for extracting video hidden information

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20201229

PA0201 Request for examination
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20220420

Patent event code: PE09021S01D

PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20220907

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20221208

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20221208

End annual number: 3

Start annual number: 1

PG1601 Publication of registration