KR102302755B1 - Drm 콘텐츠 병렬 패키징 장치 및 이를 포함하는 drm 콘텐츠 병렬 패키징 시스템 및 drm 콘텐츠 병렬 패키징 방법 - Google Patents
Drm 콘텐츠 병렬 패키징 장치 및 이를 포함하는 drm 콘텐츠 병렬 패키징 시스템 및 drm 콘텐츠 병렬 패키징 방법 Download PDFInfo
- Publication number
- KR102302755B1 KR102302755B1 KR1020190178750A KR20190178750A KR102302755B1 KR 102302755 B1 KR102302755 B1 KR 102302755B1 KR 1020190178750 A KR1020190178750 A KR 1020190178750A KR 20190178750 A KR20190178750 A KR 20190178750A KR 102302755 B1 KR102302755 B1 KR 102302755B1
- Authority
- KR
- South Korea
- Prior art keywords
- drm
- packaging
- nal
- parallel
- content
- Prior art date
Links
- 238000004806 packaging method and process Methods 0.000 title claims abstract description 238
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000011218 segmentation Effects 0.000 claims abstract description 5
- 238000000638 solvent extraction Methods 0.000 claims abstract description 3
- 238000004891 communication Methods 0.000 claims description 12
- 238000003780 insertion Methods 0.000 claims description 8
- 230000037431 insertion Effects 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000012858 packaging process Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012536 packaging technology Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling 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/23614—Multiplexing of additional data and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/254—Management at additional data server, e.g. shopping server, rights management server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/254—Management at additional data server, e.g. shopping server, rights management server
- H04N21/2541—Rights Management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
본 발명은 영상 콘텐츠의 용량에 관계없이 DRM 패키징 소요 시간과 연산량을 감소시킬 수 있는 DRM 콘텐츠 병렬 패키징 장치 및 이를 포함하는 DRM 콘텐츠 병렬 패키징 시스템 및 DRM 콘텐츠 병렬 패키징 방법에 관한 것으로,
본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 장치는,
복수개의 NAL 유닛(Network Abstraction Layer Unit)을 포함하여 구성된 영상 콘텐츠를 개개의 NAL 유닛으로 분할하는 NAL 분할 모듈; 상기 NAL 분할 모듈에 의해 분할된 복수개의 NAL 유닛 각각에 대해, CABAC 디코더를 이용하여 NAL 유닛을 디코딩하고, 디코딩을 통해 추출된 QTC 데이터 내에 DRM 메타 데이터를 패키징하고, DRM 메타 데이터 패키징이 완료된 NAL 유닛을 인코딩하는 병렬 패키징 모듈;을 포함한다.
본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 장치는,
복수개의 NAL 유닛(Network Abstraction Layer Unit)을 포함하여 구성된 영상 콘텐츠를 개개의 NAL 유닛으로 분할하는 NAL 분할 모듈; 상기 NAL 분할 모듈에 의해 분할된 복수개의 NAL 유닛 각각에 대해, CABAC 디코더를 이용하여 NAL 유닛을 디코딩하고, 디코딩을 통해 추출된 QTC 데이터 내에 DRM 메타 데이터를 패키징하고, DRM 메타 데이터 패키징이 완료된 NAL 유닛을 인코딩하는 병렬 패키징 모듈;을 포함한다.
Description
본 발명은 영상 콘텐츠의 용량에 관계없이 DRM 패키징 소요 시간과 연산량을 감소시킬 수 있는 DRM 콘텐츠 병렬 패키징 장치 및 이를 포함하는 DRM 콘텐츠 병렬 패키징 시스템 및 DRM 콘텐츠 병렬 패키징 방법에 관한 것이다.
최근 5G 기술의 상용화 및 유튜브와 같은 1인 미디어 등의 활성화와 저변 확대로 인해 이와 관련된 디지털 콘텐츠 유통과 배급 관련 플랫폼의 수요가 폭발적으로 증가하고 있고, 관련 산업군이 급성장하고 있다.
그러나, 디지털 콘텐츠 저작권에 대한 인식의 부족으로 인해 무분별한 디지털 콘텐츠의 불법복제와 무단 사용으로 인한 문제점이 크게 대두되기 시작했고, 이로 인해 디지털 저작권 관리(Digital Rights Management, DRM)에 대한 중요성이 대두되고 있다.
DRM은 디지털 콘텐츠의 저작권을 보호하기 위한 기술 및 서비스 관리 체계와 기법을 총칭하는 용어로서 다양한 디바이스 환경에서 저작권 정보를 보호하기 위해 다수의 연구 개발과 상용화 서비스가 수행 중이다. 영상 콘텐츠에 대한 DRM 기술로는 크게 2가지로 나뉘고, 이는 영상에 대해 DRM 패키징을 수행하는 것과 복합 라이선스 기술을 통해 영상 콘텐츠 공급자와 사용자 간에 안전하고 효율적인 DRM 서비스를 제공한다.
기존의 DRM 패키징 기술은 특정 콘텐츠의 저작권을 해당 콘텐츠 내에 삽입하여 콘텐츠의 불법복제와 무단 사용을 근절하는 것으로, H.264(최대 4K 60FPS)급 콘텐츠에 대해서만 수행이 가능했고, 세부 패키징 기법으로는 스크램블링(scrambling) 또는 대칭키/비대칭키 암호 알고리듬 등을 주로 사용하였다.
이로 인해 발생하는 문제점은 다음과 같다.
첫째, DRM 패키징 수행 속도와 연산량에 대한 문제이다. 대칭키/비대칭키 암호 알고리듬의 경우 최근 해당 알고리듬의 안전성을 문제로 비밀키(Secret Key)의 길이가 증가하면서, 암호화 또는 복호화 시 소요되는 속도와 연산량이 기하급수적으로 증가하는 추세이다. 실감형 콘텐츠의 경우 기존의 콘텐츠 대비 최대 8배까지 용량이 증가하기 때문에 암호 알고리듬을 적용할 경우 소요되는 시간과 연산량이 증가하고 이로 인해 관련 분야에서는 별도의 소프트웨어 또는 하드웨어를 새롭게 개발 및 구축하여야 하기 때문에 이를 해결하기 위해 소요되는 비용이 증가하게 된다.
둘째, DRM 패키징에 소요되는 각종 키(key) 관리에 대한 문제이다. 스크램블링 또는 대칭키/비대칭키 암호 알고리듬을 DRM 패키징 시 사용할 경우 이를 관리하기 위한 키 관리 정책과 시스템이 필요하다. 특히, 대칭키 암호 알고리듬의 경우 특정 콘텐츠에 대한 인가된 사용자마다 비밀키가 존재하여야 하기 때문에 콘텐츠와 인가된 사용자가 늘어날 경우 이에 대한 키 역시 기하급수적으로 증가할 수밖에 없게 되고, 이에 대한 키 관리 시스템의 추가 소요와 함께 좀 더 복잡한 형태의 키 관리 정책이 도입되어야 하므로 이를 해결하기 위한 비용이 증가하게 된다.
셋째, 실감형 콘텐츠 메타데이터에 대한 관리 문제이다. 기존의 콘텐츠는 양방향 인터랙션(Interaction) 서비스를 제공하지 않았기 때문에 영상 콘텐츠만 존재하였으나 실감형 콘텐츠의 경우 사람의 오감을 이용하여 실재감과 몰입감을 증대시키는 영상콘텐츠와 양방향 인터랙션이 가능한 메타데이터가 별도로 존재한다.
기존의 DRM 패키징 기법은 이러한 메타데이터에 대한 관리 및 패키징이 불가능하기 때문에 이를 해결하기 위한 새로운 형태의 DRM 콘텐츠 패키징 기술의 개발이 필요한 실정이다.
본 발명은 영상 콘텐츠의 용량에 관계없이 DRM 패키징 소요 시간과 연산량을 감소시킬 수 있는 DRM 콘텐츠 병렬 패키징 장치 및 이를 포함하는 DRM 콘텐츠 병렬 패키징 시스템 및 DRM 콘텐츠 병렬 패키징 방법을 제공하는 것을 목적으로 한다.
본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 장치는,
복수개의 NAL 유닛(Network Abstraction Layer Unit)을 포함하여 구성된 영상 콘텐츠를 개개의 NAL 유닛으로 분할하는 NAL 분할 모듈; 상기 NAL 분할 모듈에 의해 분할된 복수개의 NAL 유닛 각각에 대해, CABAC 디코더를 이용하여 NAL 유닛을 디코딩하고, 디코딩을 통해 추출된 QTC 데이터 내에 DRM 메타 데이터를 패키징하고, DRM 메타 데이터 패키징이 완료된 NAL 유닛을 인코딩하는 병렬 패키징 모듈;을 포함한다.
본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 장치에 있어서, 상기 병렬 패키징 모듈은, 상기 분할된 복수개의 NAL 유닛 각각에 대해, 상기 DRM 메타 데이터를 패키징하는 복수개의 DRM 패키징 모듈이 병렬로 형성될 수 있다. 상기 DRM 패키징 모듈 각각은, CABAC 디코더를 이용하여 상기 NAL 유닛을 디코딩하는 디코딩 수단; 상기 디코딩 수단에 의한 디코딩 결과로 도출된 데이터들 중에서 QTC 데이터를 선택하고, 선택된 QTC 데이터의 비트스트림과 DRM 메타데이터의 비트스트림을 삽입 연산하여 DRM 패키징을 수행하는 패키징 수단; 및, CABAC 인코더를 이용하여 상기 DRM 패키징이 수행된 NAL 유닛을 인코딩하는 인코딩 수단을 포함할 수 있다.
본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 장치에 있어서, 상기 패키징 수단은, 상기 NAL 유닛의 영상 이미지를 구현하는 영상 프레임에 포함된 YCbCr 채널 중에서 휘도를 표현하는 Y 채널에 존재하는 QTC들 중 적어도 하나 이상의 QTC의 비트스트림과 DRM 메타데이터의 비트스트림에 대해 삽입 연산을 수행할 수 있다.
본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 장치에 있어서, DRM 패키징이 완료된 복수개의 NAL 유닛을 일시 저장하는 공유 메모리; 상기 공유 메모리에 일시 저장된 복수개의 NAL 유닛을 정렬하는 NAL 정렬 모듈을 더 포함할 수 있다.
본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 관리 서버는,
사용자 단말기와 유무선 통신을 수행하는 통신부; 복수개의 NAL 유닛을 포함하여 구성된 영상 콘텐츠를 개개의 NAL 유닛으로 분할하는 NAL 분할 모듈과, 상기 NAL 분할 모듈에 의해 분할된 복수개의 NAL 유닛 각각에 대해 CABAC 디코더를 이용하여 NAL 유닛을 디코딩하고 디코딩을 통해 추출된 QTC 데이터 내에 DRM 메타 데이터를 패키징하고 DRM 메타 데이터 패키징이 완료된 NAL 유닛을 인코딩하는 병렬 패키징 모듈을 포함하는 병렬 패키징부;를 포함한다.
본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 관리 서버에 있어서, 상기 병렬 패키징 모듈은, 상기 분할된 복수개의 NAL 유닛 각각에 대해, 상기 DRM 메타 데이터를 패키징하는 복수개의 DRM 패키징 모듈이 병렬로 형성될 수 있다. 상기 DRM 패키징 모듈 각각은, CABAC 디코더를 이용하여 상기 NAL 유닛을 디코딩하는 디코딩 수단; 상기 디코딩 수단에 의한 디코딩 결과로 도출된 데이터들 중에서 QTC 데이터를 선택하고, 선택된 QTC 데이터의 비트스트림과 DRM 메타데이터의 비트스트림을 삽입 연산하여 DRM 패키징을 수행하는 패키징 수단; 및, CABAC 인코더를 이용하여 상기 DRM 패키징이 수행된 NAL 유닛을 인코딩하는 인코딩 수단을 포함할 수 있다.
본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 관리 서버에 있어서, 상기 패키징 수단은, 상기 NAL 유닛의 영상 이미지를 구현하는 영상 프레임에 포함된 YCbCr 채널 중에서 휘도를 표현하는 Y 채널에 존재하는 QTC들 중 적어도 하나 이상의 QTC의 비트스트림과 DRM 메타데이터의 비트스트림에 대해 삽입 연산을 수행할 수 있다.
본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 관리 서버에 있어서, 상기 병렬 패키징부는, DRM 패키징이 완료된 복수개의 NAL 유닛을 일시 저장하는 공유 메모리; 상기 공유 메모리에 일시 저장된 복수개의 NAL 유닛을 정렬하는 NAL 정렬 모듈을 더 포함할 수 있다.
본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 방법은,
컴퓨팅 장치에 의해 수행되며, 컴퓨팅 장치가, 복수개의 NAL 유닛 포함하여 구성된 영상 콘텐츠를 개개의 NAL 유닛으로 분할하는 단계; 분할된 복수개의 NAL 유닛 각각에 대해, CABAC 디코더를 이용하여 디코딩하는 단계; 분할된 복수개의 NAL 유닛 각각에 대해, 상기 디코딩을 통해 획득된 데이터 중에서 QTC 데이터 내에 DRM 메타 데이터를 패키징하는 단계; 분할된 복수개의 NAL 유닛 각각에 대해, CABAC 인코더를 이용하여 상기 DRM 메타 데이터 패키징이 완료된 NAL 유닛을 인코딩하는 단계를 포함한다.
본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 방법에 있어서, 상기 DRM 메타 데이터를 패키징하는 단계는, 상기 디코딩 단계에서 도출된 데이터들 중에서 QTC 데이터를 선택하고, 선택된 QTC 데이터의 비트스트림과 DRM 메타데이터의 비트스트림을 삽입 연산하여 DRM 패키징을 수행할 수 있다.
본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 방법에 있어서, 상기 DRM 메타 데이터를 패키징하는 단계는, 상기 NAL 유닛의 영상 이미지를 구현하는 영상 프레임에 포함된 YCbCr 채널 중에서 휘도를 표현하는 Y 채널에 존재하는 QTC들 중 적어도 하나 이상의 QTC의 비트스트림과 DRM 메타데이터의 비트스트림에 대해 삽입 연산을 수행하여 DRM 패키징할 수 있다.
본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 방법에 있어서, DRM 패키징이 완료된 복수개의 NAL 유닛을 일시 저장하는 단계; 일시 저장된 복수개의 NAL 유닛을 정렬하는 단계;를 더 포함할 수 있다.
기타 본 발명의 다양한 측면에 따른 구현예들의 구체적인 사항은 이하의 상세한 설명에 포함되어 있다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 방법 및 DRM 콘텐츠 병렬 패키징 시스템에 의하면,
기존의 실감형 콘텐츠에 대한 DRM 패키징 수행시 콘텐츠의 용량에 비례하여 소요 시간과 연산량이 증가했던 것과는 달리, DRM 패키징 모듈을 적절한 수로 병렬 배치하여 병렬로 DRM 패키징을 수행함으로써 용량에 관계없이 소요시간과 연산량은 일정하게 할 수 있다.
따라서, 대용량 고화질의 영상 콘텐츠, 8K급 실감형 콘텐츠에 대해 효율적인 DRM 패키징을 수행할 수 있다.
도 1 및 도 2는 본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 시스템이 도시된 블록도이다.
도 3은 본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 관리 서버의 병렬 패키징부 구성이 도시된 블록도이다.
도 4는 HEVC 기반의 실감형 콘텐츠 비트 스트림(bit stream) 구조를 도시한 도면이다.
도 5는 병렬 패키징 모듈의 일 구성인 DRM 패키징 모듈의 구성이 도시된 블록도이다.
도 6은 QTC에서의 DRM 패키징 과정을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 DRM 언패키징 과정이 도식적으로 도시된 도면이다.
도 8 내지 도 10은 본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 시스템의 동작 과정이 도시된 순서도이다.
도 11은 본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 방법이 도시된 순서도이다.
도 12 본 발명의 실시예에 따른, 컴퓨팅 장치를 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 관리 서버의 병렬 패키징부 구성이 도시된 블록도이다.
도 4는 HEVC 기반의 실감형 콘텐츠 비트 스트림(bit stream) 구조를 도시한 도면이다.
도 5는 병렬 패키징 모듈의 일 구성인 DRM 패키징 모듈의 구성이 도시된 블록도이다.
도 6은 QTC에서의 DRM 패키징 과정을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 DRM 언패키징 과정이 도식적으로 도시된 도면이다.
도 8 내지 도 10은 본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 시스템의 동작 과정이 도시된 순서도이다.
도 11은 본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 방법이 도시된 순서도이다.
도 12 본 발명의 실시예에 따른, 컴퓨팅 장치를 나타내는 도면이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예를 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 발명에서, '포함하다' 또는 '가지다' 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 이하, 도면을 참조하여 본 발명의 실시예에 따른 DRM 콘텐츠 병렬 패키징 장치 및 이를 포함하는 DRM 콘텐츠 병렬 패키징 시스템 및 DRM 콘텐츠 병렬 패키징 방법을 설명한다.
도 1 및 도 2는 본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 시스템이 도시된 블록도이다.
도 1 및 도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 시스템은, 사용자 단말기(100)와 DRM 콘텐츠 병렬 패키징 관리 서버(200, 이하 DRM 병렬 패키징 서버라고도 함)를 포함한다. 도 1은 DRM 병렬 패키징 서버(200)가 자체적으로 복수개의 영상 콘텐츠를 DB화하여 저장한 경우를 도시하고 있으며, 도 2는 외부의 콘텐츠 제공자(Contents Provider, CP1 ~ CP3)가 별도로 DRM 병렬 패키징 서버(200)로 영상 콘텐츠를 제공하는 경우를 도시하고 있다.
본 발명에서, 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급 콘텐츠 등 여러 레벨의 콘텐츠에 제한 없이 적용될 수 있다.
사용자 단말기(100)는 사용자의 키 조작에 따라 유무선 통신망을 경유하여 DRM 병렬 패키징 서버(200)와 각종 데이터를 송수신할 수 있는 단말기를 말하는 것이며, 개인용 컴퓨터(PC: Personal Computer), 노트북, 개인휴대용 정보단말기(PDA: Personal Digital Assistant) 및 이동통신 단말기(Mobile Communication Terminal) 등 중 어느 하나일 수 있으며, 유무선 통신망을 경유하여 DRM 병렬 패키징 서버(200)에 접속하기 위한 웹 브라우저와 프로그램을 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하고 있는 단말기를 의미한다.
사용자는 사용자 단말기(100)를 통해 DRM 병렬 패키징 서버(200)로 특정 영상 콘텐츠에 대한 전송 요청(다운로드 요청)을 할 수 있다.
DRM 병렬 패키징 서버(200)는 사용자 단말기(100)로부터 특정 영상 콘텐츠에 대한 전송 요청을 수신하면, 해당 영상 콘텐츠에 DRM 병렬 패키징(이하 “DRM 패키징”이라고도 함)하여 사용자 단말기(100)로 전송한다. 또는 DRM 병렬 패키징 서버(200)는 미리 복수개의 영상 콘텐츠를 DRM 패키징하여 저장할 수 있으며, DRM 병렬 패키징 서버(200)는 사용자 단말기(100)로부터 특정 영상 콘텐츠에 대한 전송 요청을 수신하면, 미리 DRM 패키징된 영상 콘텐츠 중에서 해당 영상 콘텐츠를 선택하여 사용자 단말기(100)로 전송할 수 있다.
이를 위해 DRM 병렬 패키징 서버(200)는 통신부(210), 병렬 패키징부(220), 저장부(230), 제어부(미도시)를 포함할 수 있다.
통신부(210)는 유무선 통신망을 경유하여 사용자 단말기(100), 외부의 콘텐츠 제공자(CP1 ~ CP3)와 연동하는 기능을 수행하는 통신 수단으로서, 각종 데이터를 송수신하는 기능을 수행한다.
저장부(230)는 DRM 병렬 패키징 서버(200)의 구동에 필요한 각종 데이터 및 프로그램을 저장한다. 실시예에 따라 저장부(230)는 DRM 패키징 처리되지 않은 복수개의 영상 콘텐츠나, 미리 DRM 패키징 처리된 복수개의 영상 콘텐츠를 저장할 수 있다. 또는 저장부(230)는 외부의 콘텐츠 제공자(CP1 ~ CP3)에 의해 미리 DRM 패키징 처리된 복수개의 영상 콘텐츠를 저장할 수 있다.
병렬 패키징부(220)는 영상 콘텐츠에 대해 DRM 병렬 패키징 처리 작업을 수행한다. 병렬 패키징부(220)는 영상 콘텐츠를 복수개의 NAL 유닛으로 분할하고 개개의 NAL 유닛을 DRM 패키징 처리한다. 병렬 패키징부(220)는 사용자 단말기(100)의 전송 요청에 응하여 해당 영상 콘텐츠를 DRM 패키징 처리하거나, 또는 사용자 단말기(100)의 전송 요청과 무관하게 미리 복수개의 영상 콘텐츠를 DRM 패키징 처리하여 저장부(230)에 저장할 수 있다.
제어부(미도시)는 DRM 병렬 패키징 서버(200)의 전반적인 기능을 제어한다.
도 3은 본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 관리 서버의 병렬 패키징부(220) 구성이 도시된 블록도이다.
도 3에 도시된 바와 같이, 병렬 패키징부(220)는 NAL 분할 모듈(221), 병렬 패키징 모듈(222), 공유 메모리(223), NAL 정렬 모듈(224)을 포함할 수 있다. 상기의 모듈들(221 ~ 224)은 각각 소정의 기능을 수행하는 구성 요소로서, 하드웨어, 소프트웨어, 혹은 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 예를 들어, 상기 모듈들(221 ~ 224)은 프로그램 모듈을 의미할 수 있으며, 이는 프로세서(Processor)에 의해 실행되어 소정의 기능을 수행하는, 소프트웨어 구성요소들일 수 있다.
한편, 상기의 모듈들(221 ~ 224)은 DRM 병렬 패키징 서버(200)의 병렬 패키징부(220)를 구성하는 구성 요소로 설명되지만, 반드시 DRM 병렬 패키징 서버(200)의 병렬 패키징부(220)로 기능하는 것이 아니라, 독자적인 장치로 구현될 수도 있다. 즉, 상기의 모듈들(221 ~ 224)의 기능이 구현된 독립적인 DRM 콘텐츠 병렬 패키징 장치로 구현될 수 있다.
NAL 유닛(Network Abstraction Layer Unit)이란, 네트워크(Network)에 독립적인 영상 레이어(Layer)를 의미하는 것으로, 영상 콘텐츠에 NAL 유닛이 존재하면 영상 전송이 되다가 특정 부분에 에러가 발생하여도 뒤에 따라오는 영상에 지장을 주지 않음을 의미한다.
도 4는 HEVC 기반의 실감형 콘텐츠의 비트 스트림(bit stream) 구조를 도시한 도면이다. 도 4는 H.264급 영상 콘텐츠(이하, H.264)의 비트 스트림 구조이나 H.265급 영상 콘텐츠도 이와 유사한 구조를 가질 수 있다.
H.264급 영상 콘텐츠는 시작 단계부터 네트워크 전송을 목적으로 개발된 것으로, 영상 콘텐츠의 효율적인 전송을 위해 NAL 유닛을 포함하여 구성된다.
도 4를 참조하면, HEVC 기반의 실감형 콘텐츠 비트 스트림은 NAL 유닛과 RBSP(Raw Byte Sequence Payload)를 구비한다. RBSP에는 SPS, PPS 등의 정보를 알려주는 파라미터 셋과 VCL(Video Coding Layer)에 해당하는 Slice 데이터 RBSP가 포함될 수 있다. VCL은 실제 H.264 압축된 데이터를 나타내며, VCL 데이터는 NAL 유닛을 통해 외부와 인터페이스가 이루어지게 된다. H.264의 모든 데이터는 각각의 NAL 유닛으로 구성된다.
영상 콘텐츠(H.265 또는 H.264)는 NAL 유닛 구조를 가지고 있다. 영상 자체는 비트스트림 구조를 가지고 있으며, 비트스트림은 연속된 NAL 구조(NAL header와 RBSP)를 띄고 있다. H.265의 NAL 유닛은 64개의 NAL 유닛 종류를 가지고 있으며 실제 영상 정보를 가지고 있는 NAL 유닛은 0번부터 3번(32종의 NAL)이다. 이것을 VCL이라고 하며, 나머지 32번부터 63번까지의 NAL 유닛을 non-VCL이라고 한다. non-VCL은 보통 영상 재생, 해상도, 초당 프레임수, 영상의 시작 및 끝 등 영상 복호화에 필요한 각종 파라미터 정보를 가진다. 본 발명은 VCL에 해당하는 NAL 유닛(0번부터 31번)에 대한 DRM 패키징 과정을 병렬화한다.
NAL 분할 모듈(221)은 NAL 유닛 파서(Parser)를 이용하여 복수개의 NAL 유닛을 포함하여 구성된 영상 콘텐츠를 개개의 NAL 유닛으로 분할한다.
병렬 패키징 모듈(222)은 NAL 분할 모듈(221)에 의해 분할된 복수개의 NAL 유닛 각각에 대해, CABAC 디코더를 이용하여 NAL 유닛을 디코딩하고, 디코딩을 통해 추출된 QTC 데이터 내에 DRM 메타 데이터를 패키징하고, DRM 메타 데이터 패키징이 완료된 NAL 유닛을 인코딩한다.
병렬 패키징 모듈(222)에는, 분할된 복수개의 NAL 유닛 각각에 대해 DRM 메타 데이터를 패키징하는 복수개의 DRM 패키징 모듈(222a ~ 222n)이 병렬로 형성된다. 병렬 패키징 모듈(222)은 사전 정의된 CPU 기반의 다중 스레드(Thread)를 활용하여 수행될 수 있다. 스레드는 CPU가 독립적으로 처리하는 하나의 작업 단위를 의미하는 것으로, 통상 코어 개수와 스레드 개수는 동일하며, 4코어 4스레드 CPU의 경우, 한번에 4개의 코어에서 4가지 작업(스레드)를 동시에 처리할 수 있다. 복수개의 DRM 패키징 모듈(222a ~ 222n)의 개수는 코어의 개수(스레드 개수)와 동일할 수 있다.
각각의 DRM 패키징 모듈(222a ~ 222n)은 분할된 복수개의 NAL 유닛 각각에 대해 DRM 메타 데이터를 패키징한다. DRM 패키징 모듈(222a ~ 222n)에 대해서는 도 5를 참조하여 후술한다.
공유 메모리(223)는 DRM 패키징(디코딩, 패키징, 인코딩)이 완료된 복수개의 NAL 유닛을 일시 저장하고, NAL 정렬 모듈(224)은 공유 메모리(223)에 일시 저장된 복수개의 NAL 유닛을 정렬한다.
H.264의 모든 데이터는 각각의 NAL 유닛으로 구성되며, 각각의 NAL 유닛은 고유의 일련번호를 가진다. NAL 정렬 모듈(224)은 NAL 유닛의 고유 일련번호를 이용하여 DRM 패키징이 완료된 복수개의 NAL 유닛을 정렬할 수 있다.
한편, NAL 유닛을 포함하는 모든 영상 콘텐츠가 고유 일련번호를 가지는 것은 아니다. 이 경우, NAL 정렬 모듈(224)은 정렬을 수행할 수 없게 된다. 이에, 본 발명의 일 실시예에서는 NAL 유닛의 소정 영역(예를 들어, 헤드 영역)에 순서 식별을 위한 플래그를 삽입한다.
플래그 삽입은 공유 메모리(223)에 저장되기 전이면 어느 단계에서 수행되어도 무방하다. 예를 들어, NAL 분할 모듈(221)이 영상 콘텐츠를 개개의 NAL 유닛으로 분할할 때, 또는 병렬 패키징 모듈(222)이 DRM 패키징을 수행할 때, 수행될 수 있다.
개별 NAL 유닛에 대한 각각의 DRM 패키징 모듈(222a ~ 222n)이 수행하는 DRM 패키징은 시간차가 존재한다. 따라서, 인코딩이 완료된 NAL 유닛의 순서는 원래의 영상 콘텐츠에 포함된 NAL 유닛의 순서와 다를 수 있다. DRM 패키징이 완료된 순으로 NAL 유닛을 정렬하면 원래의 영상 콘텐츠를 구현할 수 없으므로, DRM 패키징이 완료된 NAL 유닛을 일시 저장하고, 정렬하는 과정이 필요하다.
도 5를 참조하여 DRM 패키징 모듈(222a ~ 222n)에 대해 설명한다. 도 5는 병렬 패키징 모듈(222)의 일 구성인 DRM 패키징 모듈(222a ~ 222n)의 구성이 도시된 블록도이다.
도 5에 도시된 바와 같이, 각각의 DRM 패키징 모듈(222a ~ 222n)은, 디코딩 수단(2221), 패키징 수단(2222), 인코딩 수단(2223)을 포함할 수 있다. 상기 수단들(2221 ~ 2223)은 각각 소정의 기능을 수행하는 구성 요소로서, 하드웨어, 소프트웨어, 혹은 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 예를 들어, 상기 수단들(2221 ~ 2223)은 프로그램 모듈을 의미할 수 있으며, 이는 프로세서(Processor)에 의해 실행되어 소정의 기능을 수행하는, 소프트웨어 구성요소들일 수 있다.
패키징 수단(2222)은 영상 이미지를 표현하는 채널 중 하나인 YCbCr 채널에 존재하는 QTC를 이용하여 DRM 패키징을 수행한다. 보다 구체적으로 패키징 수단(2222)은 YCbCr 채널 중에서 휘도를 표현하는 Y 채널에 존재하는 QTC 중 적어도 하나 이상의 QTC와 DRM 메타데이터의 비트스트림에 대해 XOR 연산을 수행하여 패키징한다.
즉, 패키징 수단(2222)은 여러 채널 중에서 YCbCr 채널을 선택하고, YCbCr 채널 중에서 휘도를 표현하는 Y 채널에 있는 일부의 QTC를 선택하고, Y 채널 QTC의 적어도 하나의 비트스트림과 이와 대응하는 위치의 DRM 메타데이터 비트스트림에 대해 XOR 연산을 수행하여 DRM 패키징을 수행한다.
Y 채널은 기본적인 흑백 영상에 대한 정보이고, Y 채널을 참조하여 Cb 채널과 Cr 채널이 생성된다. 이때 생성되는 방법에 따라 무손실 또는 손실압축을 통해 원본과 동일 화질 또는 원본과 비교해 상대적으로 저하된 화질의 컬러 영상이 생성된다. 본 발명에서는 YCbCr의 이러한 원리를 이용해 Y 채널에 대해서만 DRM 패키징을 수행한다. 즉, Y 채널에 대해서만 패키징을 수행시키면 이를 참조하여 생성되는 채널인 Cb 채널과 Cr 채널은 자동적으로 패키징이 되는 효과가 나타난다. 또한, YCbCr 중 Y 채널이 아닌 Cb, Cr 채널에 DRM 패키징을 수행할 경우 패키징 연산량과 소요 시간이 증대된다. 아울러 DRM 패키징은 영상의 왜곡을 증대시켜 인증되지 않은 불법 사용자가 영상을 볼 수 없도록 하는 기술이기 때문에 패키징된 영상의 결과에 대해 원본과 비교해 왜곡이 증대되는 것이 우수하다고 볼 수 있다. 따라서, 패키징 수단(2222)에 의한 DRM 패키징은 YCbCr 채널 중 Y 채널에 있는 QTC에 대해 수행되는 것이 바람직하다.
인코딩 수단(2223)은 DRM 패키징이 수행된 영상 프레임을 인코딩하여 DRM 패키징된 NAL 유닛을 생성한다. 인코딩 수단(2223)은 주위의 상황에 따라 적응적으로 부호화를 수행하는 이진 산술 부호화 방식을 수행하는 CABAC 인코더일 수 있다.
도 6은 QTC에서의 DRM 패키징 과정을 설명하기 위한 도면이다.
도 6은 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비트 및 그보다 큰 자리수의 비트 일부에 대해 수행될 수도 있다. 도 6에 예시된 DRM 패키징 과정은 픽셀 내 MSB 2비트와 DRM 메타데이터 비트스트림 2비트가 XOR 연산을 수행한 결과를 예시하고 있다.
한편, DRM 언패키징(Unpackaging) 과정은 DRM 패키징 과정을 역으로 수행하는 것으로 도 7에 도시된 바와 같다. DRM 패키징이 완료된 영상 콘텐츠(예를 들어, HEVC 영상 파일)를 다운로드 혹은 스트리밍을 받은 패킷에 대해 CABAC 디코딩 과정을 수행한 후 획득한 패키징된 QTC에 대해 패키징 시 수행한 영역의 선택 후, 합법적인 사용자(Legal Subscriber)가 소유한 DRM 메타데이터 비트스트림과 함께 XOR 연산을 수행하여 언패키징된 QTC를 획득한 후, HEVC 디코딩 과정으로 데이터를 전송하여 처리하게 한다. 이로 인해 실제 사용자가 다운로드 혹은 스트리밍 받은 영상 데이터를 실시간으로 언패키징을 수행하여 지연 시간없이 본래의 영상에 대한 시청이 가능하다.
다음으로, 도 8 내지 도 10을 참조하여 본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 시스템의 동작 과정을 설명한다.
도 8 내지 도 10은 본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 시스템의 동작 과정이 도시된 순서도이다.
도 8은 사용자 단말기(100)로부터의 영상 콘텐츠 전송 요??이 있는 경우, DRM 병렬 패키징 서버(200)가 실시간 스트리밍 방식으로 DRM 패키징된 영상 콘텐츠를 제공하는 시스템이다.
먼저, 사용자는 사용자 단말기(100)를 통해 DRM 병렬 패키징 서버(200)로 특정 영상 콘텐츠 전송을 요청한다. (S110) DRM 병렬 패키징 서버(200)는 해당 영상 콘텐츠 제공자(CP)에게 영상 콘텐츠 제공을 요청하고 이를 수신한다. (S120, S130) DRM 병렬 패키징 서버(200)는 영상 콘텐츠를 DRM 패키징 처리(S140)하여 실시간으로 사용자 단말기(100)로 전송한다. (S150) 이 과정에서 DRM 병렬 패키징 서버(200)가 자체적으로 영상 콘텐츠를 저장하고 있는 경우, S120 ~ S130 단계는 생략될 수 있다.
도 9 및 도 10은 사용자 단말기(100)로부터의 영상 콘텐츠 전송 요??이 있기 전에 미리 불특정 복수개의 영상 콘텐츠를 DRM 패키징하여 저장한 후, 사용자 단말기(100)를 통해 전송 요청이 있는 경우, 미리 DRM 패키징된 영상 콘텐츠를 전송하는 시스템으로, 도 9는 DRM 병렬 패키징 서버(200)에서 미리 DRM 패키징 처리하는 경우이고, 도 10은 영상 콘텐츠 제공자(CP)가 미리 DRM 패키징 처리하는 경우이다.
도 9를 참조하면, DRM 병렬 패키징 서버(200)가 영상 콘텐츠 제공자(CP)에게 영상 콘텐츠 제공을 요청하고 이를 수신한다. (S210, S220) DRM 병렬 패키징 서버(200)는 영상 콘텐츠를 DRM 패키징 처리하여 저장한다. (S230) 사용자 단말기(100)로부터의 영상 콘텐츠 전송 요청이 있는 경우(S240), DRM 병렬 패키징 서버(200)는 해당 영상 콘텐츠가 미리 DRM 패키징 처리된 경우, 해당 영상 콘텐츠를 사용자 단말기(100)로 전송한다. (S250) 만약, DRM 패키징 처리되지 않은 영상 콘텐츠가 요청된 경우, 도 8의 과정을 수행한다.
도 10을 참조하면, DRM 병렬 패키징 서버(200)로부터 영상 콘텐츠 제공이 요청(S310)되면 영상 콘텐츠 제공자(CP)는 자체적으로 해당 영상 콘텐츠를 DRM 패키징 처리(S320)하고, DRM 병렬 패키징 서버(200)로 전송한다. (S330) 사용자 단말기(100)로부터의 영상 콘텐츠 전송 요청이 있는 경우(S340), DRM 병렬 패키징 서버(200)는 해당 영상 콘텐츠를 사용자 단말기(100)로 전송한다. (S350)
다음으로, 도 11을 참조하여 본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 방법을 설명한다. 도 11은 본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 방법이 도시된 순서도이다.
먼저, DRM 패키지를 수행할 영상 콘텐츠를 수신한다. (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급 콘텐츠 등 여러 레벨의 콘텐츠에 제한 없이 적용될 수 있다.
다음, 영상 콘텐츠를 개개의 NAL 유닛으로 분할한다. (S20)
다음, 분할된 복수개의 NAL 유닛 각각에 대해, DRM 패키징을 수행한다. (S30)
구체적으로, 분할된 복수개의 NAL 유닛 각각에 대해 CABAC 디코더를 이용하여 디코딩을 수행한다. (S31) CABAC 디코더로 NAL 유닛을 디코딩하면, 각각의 영상 프레임에 대해 5가지의 데이터가 도출된다. 도출되는 데이터는 QTC, 일반 제어 데이터, 내부 예측 데이터, 필터 제어 데이터, 움직임 데이터이다.
다음, QTC 데이터 내에 DRM 메타 데이터를 패키징한다. (S32)
CABAC 디코더에 의한 디코딩 결과로 도출된 데이터들 중에서 QTC 데이터를 선택하고, QTC 데이터 내 일부 영역에 대해 DRM 메타데이터와 QTC 데이터를 XOR 연산 수행하여 DRM 패키징한다.
DRM 메타 데이터 패키징 단계(S32)는 각각의 영상 프레임에 존재하는 여러 채널 중에서 YCbCr 채널을 선택하고, YCbCr 채널 중에서 휘도를 표현하는 Y 채널에 있는 일부의 QTC를 선택하고, Y 채널 QTC의 적어도 하나의 비트스트림과 이와 대응하는 위치의 DRM 메타데이터 비트스트림에 대해 XOR 연산을 수행하여 DRM 패키징을 수행한다.
다음, DRM 패키징이 수행된 영상 프레임을 CABAC 인코더로 인코딩하여 DRM 패키징된 NAL 유닛을 생성한다. (S33)
다음, DRM 패키징(디코딩, 패키징, 인코딩)이 완료된 복수개의 NAL 유닛을 일시 저장한다. (S40)
다음, 일시 저장된 복수개의 NAL 유닛을 정렬한다. (S50)
NAL 유닛의 고유 일련번호를 이용하여 DRM 패키징이 완료된 복수개의 NAL 유닛을 정렬한다. 또는 NAL 유닛의 소정 영역(예를 들어, 헤드 영역)에 순서 식별을 위한 플래그를 삽입하고, 삽입된 플래그를 이용하여 NAL 유닛을 정렬한다. 플래그 삽입은 S40 단계 전이면 어느 단계에서 수행되어도 무방하다.
상기와 같은, 본 발명의 일 실시예에 따른 DRM 콘텐츠 병렬 패키징 방법 및 DRM 콘텐츠 병렬 패키징 시스템에 의하면, 기존의 실감형 콘텐츠에 대한 DRM 패키징 수행시 콘텐츠의 용량에 비례하여 소요 시간과 연산량이 증가했던 것과는 달리, DRM 패키징 모듈을 적절한 수로 병렬 배치하여 병렬로 DRM 패키징을 수행함으로써 용량에 관계없이 소요시간과 연산량은 일정하게 할 수 있다. 따라서, 대용량 고화질의 영상 콘텐츠, 8K급 실감형 콘텐츠에 대해 효율적인 DRM 패키징을 수행할 수 있다.
도 12는 본 발명의 실시예에 따른, 컴퓨팅 장치를 나타내는 도면이다. 도 12의 컴퓨팅 장치(TN100)는 본 명세서에서 기술된 장치(예, DRM 병렬 패키징 장치, DRM 병렬 패키징 서버 등) 일 수 있다.
도 12의 실시예에서, 컴퓨팅 장치(TN100)는 적어도 하나의 프로세서(TN110), 송수신 장치(TN120), 및 메모리(TN130)를 포함할 수 있다. 또한, 컴퓨팅 장치(TN100)는 저장 장치(TN140), 입력 인터페이스 장치(TN150), 출력 인터페이스 장치(TN160) 등을 더 포함할 수 있다. 컴퓨팅 장치(TN100)에 포함된 구성 요소들은 버스(bus)(TN170)에 의해 연결되어 서로 통신을 수행할 수 있다.
프로세서(TN110)는 메모리(TN130) 및 저장 장치(TN140) 중에서 적어도 하나에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(TN110)는 중앙 처리 장치(CPU: central processing unit), 그래픽 처리 장치(GPU: graphics processing unit), 또는 본 발명의 실시예에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 프로세서(TN110)는 본 발명의 실시예와 관련하여 기술된 절차, 기능, 및 방법 등을 구현하도록 구성될 수 있다. 프로세서(TN110)는 컴퓨팅 장치(TN100)의 각 구성 요소를 제어할 수 있다.
메모리(TN130) 및 저장 장치(TN140) 각각은 프로세서(TN110)의 동작과 관련된 다양한 정보를 저장할 수 있다. 메모리(TN130) 및 저장 장치(TN140) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(TN130)는 읽기 전용 메모리(ROM: read only memory) 및 랜덤 액세스 메모리(RAM: random access memory) 중에서 적어도 하나로 구성될 수 있다.
송수신 장치(TN120)는 유선 신호 또는 무선 신호를 송신 또는 수신할 수 있다. 송수신 장치(TN120)는 네트워크에 연결되어 통신을 수행할 수 있다.
한편, 본 발명은 컴퓨터프로그램으로 구현될 수도 있다. 본 발명은 하드웨어와 결합되어, 본 발명에 따른 DRM 콘텐츠 병렬 패키징 방법을 실행시키기 위하여, 컴퓨터가 판독 가능한 기록매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.
본 발명의 실시예에 따른 방법들은 다양한 컴퓨터수단을 통하여 판독 가능한 프로그램 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터구조 등을 단독으로 또는 조합하여 포함할 수 있다.
기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CDROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다.
프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어를 포함할 수 있다.
이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상, 본 발명의 일 실시예에 대하여 설명하였으나, 해당 기술 분야에서 통상의 지식을 가진 자라면 특허청구범위에 기재된 본 발명의 사상으로부터 벗어나지 않는 범위 내에서, 구성 요소의 부가, 변경, 삭제 또는 추가 등에 의해 본 발명을 다양하게 수정 및 변경시킬 수 있을 것이며, 이 또한 본 발명의 권리범위 내에 포함된다고 할 것이다.
100 : 사용자 단말기
200 : DRM 콘텐츠 병렬 패키징 관리 서버
210 : 통신부
220 : 병렬 패키징부
221 : NAL 분할 모듈
222 : 병렬 패키징 모듈
222a ~ 222n : DRM 패키징 모듈
2221 : 디코딩 수단
2222 : 패키징 수단
2223 : 인코딩 수단
223 : 공유 메모리
224 : NAL 정렬 모듈
CP1 ~ CP3 : 외부의 콘텐츠 제공자
200 : DRM 콘텐츠 병렬 패키징 관리 서버
210 : 통신부
220 : 병렬 패키징부
221 : NAL 분할 모듈
222 : 병렬 패키징 모듈
222a ~ 222n : DRM 패키징 모듈
2221 : 디코딩 수단
2222 : 패키징 수단
2223 : 인코딩 수단
223 : 공유 메모리
224 : NAL 정렬 모듈
CP1 ~ CP3 : 외부의 콘텐츠 제공자
Claims (12)
- 복수개의 NAL 유닛(Network Abstraction Layer Unit)을 포함하여 구성된 영상 콘텐츠를 개개의 NAL 유닛으로 분할하는 NAL 분할 모듈;
상기 NAL 분할 모듈에 의해 분할된 복수개의 NAL 유닛 각각에 대해, CABAC 디코더를 이용하여 NAL 유닛을 디코딩하고, 디코딩을 통해 추출된 QTC 데이터 내에 DRM 메타 데이터를 패키징하고, DRM 메타 데이터 패키징이 완료된 NAL 유닛을 인코딩하는 병렬 패키징 모듈;을 포함하며,
상기 병렬 패키징 모듈은, 상기 분할된 복수개의 NAL 유닛 각각에 대해, 상기 DRM 메타 데이터를 패키징하는 복수개의 DRM 패키징 모듈이 병렬로 형성되며,
상기 DRM 패키징 모듈 각각은,
CABAC 디코더를 이용하여 상기 NAL 유닛을 디코딩하는 디코딩 수단;
상기 디코딩 수단에 의한 디코딩 결과로 도출된 데이터들 중에서 QTC 데이터를 선택하고, 선택된 QTC 데이터 내의 적어도 하나의 비트스트림과 이에 대응하는 DRM 메타데이터의 비트스트림을 삽입 연산하여 DRM 패키징을 수행하는 패키징 수단; 및,
CABAC 인코더를 이용하여 상기 DRM 패키징이 수행된 NAL 유닛을 인코딩하는 인코딩 수단을 포함하며,
상기 패키징 수단은,
상기 NAL 유닛의 영상 이미지를 구현하는 영상 프레임에 포함된 YCbCr 채널 중에서 휘도를 표현하는 Y 채널에 존재하는 QTC들 중 적어도 하나 이상의 QTC의 비트스트림과 이에 대응하는 DRM 메타데이터의 비트스트림에 대해 삽입 연산을 수행하여 DRM 패키징하는 DRM 콘텐츠 병렬 패키징 장치.
- 삭제
- 삭제
- 청구항 1에 있어서,
DRM 패키징이 완료된 복수개의 NAL 유닛을 일시 저장하는 공유 메모리;
상기 공유 메모리에 일시 저장된 복수개의 NAL 유닛을 정렬하는 NAL 정렬 모듈
을 더 포함하는 DRM 콘텐츠 병렬 패키징 장치.
- 사용자 단말기와 유무선 통신을 수행하는 통신부;
복수개의 NAL 유닛을 포함하여 구성된 영상 콘텐츠를 개개의 NAL 유닛으로 분할하는 NAL 분할 모듈과, 상기 NAL 분할 모듈에 의해 분할된 복수개의 NAL 유닛 각각에 대해 CABAC 디코더를 이용하여 NAL 유닛을 디코딩하고 디코딩을 통해 추출된 QTC 데이터 내에 DRM 메타 데이터를 패키징하고 DRM 메타 데이터 패키징이 완료된 NAL 유닛을 인코딩하는 병렬 패키징 모듈을 포함하는 병렬 패키징부;를 포함하며,
상기 병렬 패키징 모듈은, 상기 분할된 복수개의 NAL 유닛 각각에 대해, 상기 DRM 메타 데이터를 패키징하는 복수개의 DRM 패키징 모듈이 병렬로 형성되며,
상기 DRM 패키징 모듈 각각은,
CABAC 디코더를 이용하여 상기 NAL 유닛을 디코딩하는 디코딩 수단;
상기 디코딩 수단에 의한 디코딩 결과로 도출된 데이터들 중에서 QTC 데이터를 선택하고, 선택된 QTC 데이터 내의 적어도 하나의 비트스트림과 이에 대응하는 DRM 메타데이터의 비트스트림을 삽입 연산하여 DRM 패키징을 수행하는 패키징 수단; 및,
CABAC 인코더를 이용하여 상기 DRM 패키징이 수행된 NAL 유닛을 인코딩하는 인코딩 수단을 포함하며,
상기 패키징 수단은,
상기 NAL 유닛의 영상 이미지를 구현하는 영상 프레임에 포함된 YCbCr 채널 중에서 휘도를 표현하는 Y 채널에 존재하는 QTC들 중 적어도 하나 이상의 QTC의 비트스트림과 이에 대응하는 DRM 메타데이터의 비트스트림에 대해 삽입 연산을 수행하여 DRM 패키징하는 DRM 콘텐츠 병렬 패키징 관리 서버.
- 삭제
- 삭제
- 청구항 5에 있어서, 상기 병렬 패키징부는,
DRM 패키징이 완료된 복수개의 NAL 유닛을 일시 저장하는 공유 메모리;
상기 공유 메모리에 일시 저장된 복수개의 NAL 유닛을 정렬하는 NAL 정렬 모듈
을 더 포함하는 DRM 콘텐츠 병렬 패키징 관리 서버.
- 컴퓨팅 장치에 의해 수행되며, 컴퓨팅 장치가,
복수개의 NAL 유닛 포함하여 구성된 영상 콘텐츠를 개개의 NAL 유닛으로 분할하는 단계;
분할된 복수개의 NAL 유닛 각각에 대해, CABAC 디코더를 이용하여 디코딩하는 단계;
분할된 복수개의 NAL 유닛 각각에 대해, 상기 디코딩을 통해 획득된 데이터 중에서 QTC 데이터 내에 DRM 메타 데이터를 패키징하는 단계;
분할된 복수개의 NAL 유닛 각각에 대해, CABAC 인코더를 이용하여 상기 DRM 메타 데이터 패키징이 완료된 NAL 유닛을 인코딩하는 단계를 포함하며,
상기 DRM 메타 데이터를 패키징하는 단계는,
상기 NAL 유닛의 영상 이미지를 구현하는 영상 프레임에 포함된 YCbCr 채널 중에서 휘도를 표현하는 Y 채널에 존재하는 QTC들 중 적어도 하나 이상의 QTC의 비트스트림과 이에 대응하는 DRM 메타데이터의 비트스트림에 대해 삽입 연산을 수행하여 DRM 패키징하는 DRM 콘텐츠 병렬 패키징 방법.
- 삭제
- 삭제
- 청구항 9에 있어서,
DRM 패키징이 완료된 복수개의 NAL 유닛을 일시 저장하는 단계;
일시 저장된 복수개의 NAL 유닛을 정렬하는 단계;
를 더 포함하는 DRM 콘텐츠 병렬 패키징 방법.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190178750A KR102302755B1 (ko) | 2019-12-30 | 2019-12-30 | Drm 콘텐츠 병렬 패키징 장치 및 이를 포함하는 drm 콘텐츠 병렬 패키징 시스템 및 drm 콘텐츠 병렬 패키징 방법 |
JP2020573440A JP7245401B2 (ja) | 2019-12-30 | 2019-12-31 | Drmコンテンツ並列パッケージング装置及びそれを含むdrmコンテンツ並列パッケージングシステム及びdrmコンテンツ並列パッケージング方法 |
PCT/KR2019/018770 WO2021137314A1 (ko) | 2019-12-30 | 2019-12-31 | Drm 콘텐츠 병렬 패키징 장치 및 이를 포함하는 drm 콘텐츠 병렬 패키징 시스템 및 drm 콘텐츠 병렬 패키징 방법 |
PCT/KR2020/019439 WO2021137633A2 (ko) | 2019-12-30 | 2020-12-30 | Drm 콘텐츠 병렬 패키징 장치 및 이를 포함하는 drm 콘텐츠 병렬 패키징 시스템 및 drm 콘텐츠 병렬 패키징 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190178750A KR102302755B1 (ko) | 2019-12-30 | 2019-12-30 | Drm 콘텐츠 병렬 패키징 장치 및 이를 포함하는 drm 콘텐츠 병렬 패키징 시스템 및 drm 콘텐츠 병렬 패키징 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210085572A KR20210085572A (ko) | 2021-07-08 |
KR102302755B1 true KR102302755B1 (ko) | 2021-09-16 |
Family
ID=76686599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190178750A KR102302755B1 (ko) | 2019-12-30 | 2019-12-30 | Drm 콘텐츠 병렬 패키징 장치 및 이를 포함하는 drm 콘텐츠 병렬 패키징 시스템 및 drm 콘텐츠 병렬 패키징 방법 |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP7245401B2 (ko) |
KR (1) | KR102302755B1 (ko) |
WO (1) | WO2021137314A1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017122554A1 (ja) * | 2016-01-15 | 2017-07-20 | ソニー株式会社 | 受信装置、送信装置、及び、データ処理方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5568785A (en) * | 1978-11-18 | 1980-05-23 | Clarion Co Ltd | Cipher process system for composite color video signal |
US7406176B2 (en) * | 2003-04-01 | 2008-07-29 | Microsoft Corporation | Fully scalable encryption for scalable multimedia |
KR100814064B1 (ko) | 2006-05-26 | 2008-03-14 | 에스케이 텔레콤주식회사 | Drm 컨텐츠 패키징 방법 및 시스템 |
KR100817021B1 (ko) * | 2006-06-21 | 2008-03-26 | 한국전자통신연구원 | H.264/avc 멀티미디어 콘텐츠의 선택적 암호화기능을 갖는 부호화 및 복호화 장치 및 그 방법 |
JP5143502B2 (ja) * | 2007-08-27 | 2013-02-13 | Necパーソナルコンピュータ株式会社 | トランスコーダ、トランスコーディング方法及びトランスコーディング用プログラム |
US9635355B2 (en) * | 2011-07-28 | 2017-04-25 | Qualcomm Incorporated | Multiview video coding |
CN116347068A (zh) * | 2013-01-04 | 2023-06-27 | Ge视频压缩有限责任公司 | 高效可伸缩编码概念 |
KR20160102731A (ko) * | 2015-02-23 | 2016-08-31 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 drm 컨텐츠 제공 방법 |
MY188166A (en) * | 2015-12-23 | 2021-11-24 | Huawei Tech Co Ltd | Method and apparatus for transform coding with block-level transform selection and implicit signaling within hierarchical partitioning |
US10979729B2 (en) * | 2016-11-30 | 2021-04-13 | Qualcomm Incorporated | Systems and methods for signaling and constraining a high dynamic range (HDR) video system with dynamic metadata |
-
2019
- 2019-12-30 KR KR1020190178750A patent/KR102302755B1/ko active IP Right Grant
- 2019-12-31 WO PCT/KR2019/018770 patent/WO2021137314A1/ko active Application Filing
- 2019-12-31 JP JP2020573440A patent/JP7245401B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017122554A1 (ja) * | 2016-01-15 | 2017-07-20 | ソニー株式会社 | 受信装置、送信装置、及び、データ処理方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2021137314A1 (ko) | 2021-07-08 |
JP7245401B2 (ja) | 2023-03-24 |
JP2022518988A (ja) | 2022-03-18 |
KR20210085572A (ko) | 2021-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7418533B2 (ja) | 独立的に符号化されたタイルを組み込む基本ビットストリームを保護するためのシステムおよび方法 | |
WO2010044146A1 (ja) | 暗号装置及び復号装置及び暗号方法及び復号方法 | |
US20240107018A1 (en) | Method and apparatus for encoding or decoding video data with frame portions | |
US9740886B2 (en) | Enhanced security for hardware decoder accelerator | |
US8472625B2 (en) | Method and system for protecting 3D video content | |
CN115398481A (zh) | 对图像执行人工智能编码和人工智能解码的设备和方法 | |
KR102302755B1 (ko) | Drm 콘텐츠 병렬 패키징 장치 및 이를 포함하는 drm 콘텐츠 병렬 패키징 시스템 및 drm 콘텐츠 병렬 패키징 방법 | |
KR102186480B1 (ko) | Drm 콘텐츠 패키징 장치 및 이를 포함하는 drm 콘텐츠 패키징 시스템 및 drm 콘텐츠 패키징 방법 | |
KR102477310B1 (ko) | Drm 콘텐츠 병렬 패키징 장치 및 이를 포함하는 drm 콘텐츠 병렬 패키징 시스템 및 drm 콘텐츠 병렬 패키징 방법 | |
WO2021137633A2 (ko) | Drm 콘텐츠 병렬 패키징 장치 및 이를 포함하는 drm 콘텐츠 병렬 패키징 시스템 및 drm 콘텐츠 병렬 패키징 방법 | |
KR20220082578A (ko) | 비밀 분산 기술이 적용된 포렌식 마킹 장치 및 방법 | |
KR20220082633A (ko) | Drm 스트리밍 기술을 지원하는 포렌식 마킹 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right |