KR100840200B1 - H.264 형식의 동영상 파일의 보호를 위한패키징/언패키징 장치 및 그 방법 - Google Patents
H.264 형식의 동영상 파일의 보호를 위한패키징/언패키징 장치 및 그 방법 Download PDFInfo
- Publication number
- KR100840200B1 KR100840200B1 KR1020060094269A KR20060094269A KR100840200B1 KR 100840200 B1 KR100840200 B1 KR 100840200B1 KR 1020060094269 A KR1020060094269 A KR 1020060094269A KR 20060094269 A KR20060094269 A KR 20060094269A KR 100840200 B1 KR100840200 B1 KR 100840200B1
- Authority
- KR
- South Korea
- Prior art keywords
- video
- encryption
- encrypted
- format
- information
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000004806 packaging method and process Methods 0.000 title claims abstract description 30
- 238000004458 analytical method Methods 0.000 claims description 11
- 238000009966 trimming Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 18
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000003550 marker Substances 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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2347—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
- H04N21/23473—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption by pre-encrypting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- 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/23418—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
-
- 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/23605—Creation or processing of packetized elementary streams [PES]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/84—Generation or processing of descriptive data, e.g. content descriptors
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
본 발명은 H.264 형식의 동영상 파일의 보호를 위한 패키징/언패키징 장치 및 그 방법에 관한 것으로서, 콘텐츠 정보 및 암호화 정보를 담은 메타데이터 기술 정보(descriptor)를 동영상의 암호화와 함께 동영상에 삽입하면서 원본 동영상과 동일한 구조의 파일 형태로 구성된 암호화된 동영상 파일을 생성하는 패키지 장치와 스트리밍 서버로부터 스트리밍되거나 다운로드된 암호화된 동영상을 암호화된 영역의 식별표시와 암호화 정보를 이용해 복호화하는 언패키징 장치를 이용해 H.264 형식의 동영상 파일을 기존의 서트리밍 서버를 이용하면서 보호할 수 있는 효과가 있다.
패키징/언패키징, 메타데이터, H.264
Description
도 1은 H.264 형식의 비디오 스트림의 구조를 나타내는 도면,
도 2는 본 발명에 의한 암호화 대상이 되는 슬라이스 NAL의 구조를 나타내는 도면,
도 3은 H.264 형식의 비디오 스트림을 MPEG-2 시스템 TS 형태로 전송될 때의 스트림 계층구조를 나타내는 도면,
도 4는 동영상 콘텐츠의 오디오 스트림의 구조를 나타내는 도면,
도 5는 TS 패킷의 scrambling control bit를 이용한 암호화 식별표시를 나타내는 도면,
도 6은 TS 패킷에 메타데이터가 삽입된 구조를 나타내는 도면,
도 7은 본 발명에 의한 H.264 형식의 동영상 파일의 보호를 위한 패키징/언패키징 장치의 구조를 나타내는 도면,
도 8은 본 발명에 의한 패키징 장치의 스트림 분석부의 스트림 분석 과정을 나타내는 도면,
도 9는 본 발명에 의한 패키징 장치의 암호화부의 암호화 과정을 나타내는 도면,
도 10은 본 발명에 의한 언패키징 장치의 스트리밍 동영상 복호화 과정을 나타내는 도면이다.
본 발명은 인터넷을 통해 서비스되는 H.264 형식의 동영상 파일의 보호에 관한 것으로, 더욱 상세하게는 사전암호화 방식을 이용하면서 기존의 스트리밍 서버를 수정하지 않고 암호화된 H.264 형식의 동영상의 스트리밍이 가능하도록 H.264 형식의 동영상 구조의 특성을 고려한 H.264 형식의 동영상 파일의 보호를 위한 패키징/언패키징 장치 및 그 방법에 관한 것이다.
H.264는 ITU-T 와 ISO/IEC 가 함께 표준화 과정을 진행시켜 얻어낸 새로운 비디오 압축 표준이다. 따라서, H.264는 비디오 어플리케이션의 모든 영역에 적용이 가능하며 상당 수준의 성능의 개선이 이루어진 새로운 표준안이다. H.263v2(H.263+) 혹은 MPEG-4 Simple Profile 과 비교했을 경우 H.264는 동일 조건일 때 대부분의 Bit-Rates에서 50% 이상 비디오 압축효율이 향상된다.
디지털 정보는 제작과 유통이 용이하므로 디지털화된 동영상 제작이 증가하고 있다. 그러나, 디지털 컨텐츠는 복제, 변형, 유포 등이 용이하고 안전하지 않은 인터넷을 통해 유통되고 있어 보안과 저작권 문제가 중요한 쟁점으로 대두되고 있 다. 이러한 문제점은 특히 사용자의 PC에 저장되어 재생되는 동영상에 주로 발생하였으므로 종래에는 사용자의 PC에 저장된 동영상 파일의 보호를 위해 동영상 파일의 전체를 암호화한 후 적법한 사용자에게만 암호화된 동영상 파일을 복호화할 수 있는 정보를 제공하는 방법을 사용하였다.
한편, 스트리밍(Streaming)은 로컬 시스템에 컨텐츠를 저장하지 않고 실시간으로 데이터를 전송하여 재생이 가능하도록 하는 기술이다. 주로 대용량 동영상 컨텐츠의 경우 다운로드에 많은 시간이 소요되므로 주문형 비디오와 같은 방식으로 스트리밍을 통하여 서비스를 하는 것이 보편적이다.
스트리밍 서비스를 통하여 재생되는 동영상은 사용자의 PC에 저장되어 재생되는 동영상에 비하여 사용자의 PC에 저장되지 않기 때문에 불법 복제 등의 문제를 해결할 수 있었다.
하지만, 최근에 스트리밍을 통해 서비스되는 동영상을 저장할 수 있는 프로그램이 등장하면서 스트리밍을 통하여 서비스되는 동영상에 대한 보호방안의 필요성이 대두되고 있다.
종래 암호화 방식으로 이용되고 있는 것으로는 사용자의 스트리밍 요청이 있을 때마다 각 스트리밍 세션을 네트워크상에서 실시간으로 암호화하는 실시간 암호화 방식과 동영상을 미리 암호화하여 스트리밍 하는 사전암호화 방식이 있다.
실시간 암호화 방식은 모든 사용자별로 스트리밍 데이터를 실시간으로 암호화하기 때문에 대규모 사용자 처리시 암호화 성능에 의해 스트리밍 QoS(Quality of Service)에 영향을 주는 문제가 있다. 또한 사전암호화 방식은 동영상 압축 형식 및 파일 포맷을 고려하지 않고 암호화하여 암호화된 파일을 스트리밍 하기 위해서는 기존의 스트리밍 서버를 수정해야 하는 문제가 있다.
따라서, 본 발명은 상기한 종래 기술의 문제점을 해결하기 위해 이루어진 것으로서, 본 발명은 사전암호화 방식을 이용하면서 H.264 형식의 동영상을 분석하여 암호화 영역을 암호화한 암호화 동영상 데이터와 비암호화 동영상 데이터 그리고 메타데이터 디스크립터 정보를 원본과 동일한 구조의 파일 형태로 암호화된 동영상 파일을 생성하여 기존의 스트리밍 서버를 수정하지 않고 암호화된 H.264 동영상의 스트밍을 가능하도록 하는 H.264 형식의 동영상 파일의 보호를 위한 패키징 장치를 제공하는 것을 목적으로 한다.
한편, 본 발명의 다른 목적은 복호화하는 과정에서 암호화 식별표시를 이용함으로써 복호화로 인한 부하 및 지연을 최소화할 수 있는 H.264 형식의 동영상 파일의 보호를 위한 언패키징 장치를 제공하는 것을 목적으로 한다.
상기와 같은 목적을 달성하기 위한 본 발명의 H.264 형식의 동영상 파일의 보호를 위한 패키징 장치는 동영상 콘텐츠 정보와 암호화 정보를 수신하여 동영상에 삽입할 메타데이터 디스크립터를 생성하는 메타데이터생성부; 상기 메타데이터 생성부로부터 전송된 암호화 정보를 이용하여 수신된 H.264 형식의 동영상을 분석 하여 암호화 영역을 찾는 스트림해석부; 상기 스트림해석부로부터 전달된 동영상의 암호화 영역을 상기 메타데이터 생성부로부터 전달된 암호화 정보를 이용하여 암호화하는 암호화부; 상기 메타데이터 생성부로부터 전달된 메타데이터 디스크립터와 상기 스트림해석부로부터 전달된 비암호화 동영상 데이터 및 상기 암호화부로부터 전달된 암호화 동영상 데이터를 이용하여 원본과 동일한 구조의 파일 형태로 구성하여 암화화된 동영상 파일을 생성하는 파일생성부를 포함하여 이루어지는 것을 특징으로 한다.
또한, 본 발명의 H.264 형식의 동영상 파일의 보호를 위한 언패키징 장치는 입력된 암호화된 동영상을 분석하여 상기 동영상에 삽입되어 있는 메타데이터 디스크립터로부터 콘텐츠 정보 및 암호화 정보를 추출하는 메타데이터 해석부; 상기 암호화된 동영상의 암호화 영역을 상기 메타데이터 해석부의 암호화 정보를 이용하여 복호화하는 복호화부을 포함하는 것을 특징으로 한다.
한편, 본 발명의 H.264 형식의 동영상 파일의 보호를 위한 패키징 방법은
동영상 콘텐츠 정보와 암호화 정보를 수신하여 동영상에 삽입할 메타데이터 디스크립터를 생성하는 1 단계; 상기 1 단계에서 수신된 암호화 정보를 이용하여 H.264 형식의 동영상을 분석하여 비암호화 영역과 암호화 영역을 탐색하는 2 단계; 상기 2 단계에서 탐색된 동영상의 암호화 영역을 상기 암호화 정보를 이용하여 암호화하는 3 단계; 상기 1 단계에서 생성된 메타데이터 디스크립터와 제 2 단계에서 탐색된 비암호화 동영상 데이터 및 제 3 단계의 암호화된 암호화 동영상 데이터를 이용하여 원본과 동일한 구조의 파일 형태로 구성하여 암호화된 동영상 파일을 생성하는 4단계를 포함하여 이루어지는 것을 특징으로 한다.
이하, 본 발명의 H.264 형식의 동영상 파일의 보호를 위한 패키징/언패키징 장치 및 방법에 대하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 H.264 형식의 비디오 스트림의 구조를 나타내는 도면이다.
본 발명에 의해 보호 대상이 되는 H.264 형식의 동영상 방송스트림은 MPEG-2 시스템의 전송 스트림(Transport Stream : TS)형태로 다중화하여 멀티캐스트 방식으로 스트리밍되는 것을 가정한다.
H.264 비디오 스트림은 NAL(Network Adaptation Layer) 씨퀀스 형태로 이루어진다. 도 1a와 같이 H.264 비디오 스트림은 SPS(Sequence Parameter Set) NAL, PPS(Picture Parameter Set) NAL, SEI(Supplementary Enhanced Information) NAL, AU(Access Unit) delimiter NAL, Slice NAL 등 여러 종류의 NAL를 포함하여 이루어진다. 각각의 NAL은 NAL 헤더와 데이터 그리고 비트조정 부분으로 구성된다. NAL 헤더는 nal_unit_type 필드를 포함하고, 그 값에 의해 NAL의 종류를 알 수 있다. H.264 형식의 비디오 스트림을 보호하기 위해 이루어지는 동영상 암호는 여러 종류의 NAL 중 실제 비디오 데이터를 담고 있는 Slice NAL의 암호를 통해 이루어진다. SPS, PPS, SEL NAL 등은 스트리밍 서버에서 필요로 하는 정보이기 때문에 이 NAL 들을 암호화할 경우 스트리밍 서버에서 정상적인 작동이 이루어지지 않는 결과를 초래할 수 있다.
도 2는 본 발명에 의한 암호화 대상이 되는 슬라이스 NAL의 구조를 나타내는 도면이다.
암호화 대상이 되는 슬라이스(Slice) NAL의 구조는 NAL 헤더, Slice 헤더, Slice 데이터, 조정 비트로 구성된다. Slice 헤더는 First_mb_in_slice 필도, Slice_type 필드 등으로 구성된다. Slice의 인코딩 방식으론 I 타입, B 타입 또는 P 타입이 있는데, Slice 헤더의 Slice_type 필드를 통해 인코딩 방식을 알 수 있다. 암호화 옵션에 따라 모든 Slice를 암호화거나 I 타입의 Slice만을 암호화할 때 Slice 헤더의 Slice_type 정보를 이용한다. Slice 헤더 역시 암호화에서 제외되고 Slice 데이터 영역만이 암호화 대상이 된다.
도 3은 H.264 형식의 비디오 스트림을 MPEG-2 시스템 TS 형태로 전송될 때의 스트림 계층구조를 나타내는 도면이다.
연속된 NAL로 구성된 H.264 비디오 스트림이 TS 형태로 될 때 중간에 PES 형태를 거치게 된다. 연속된 NAL 시퀀스는 PES 패킷에 담기고 PES 패킷은 다시 TS 패킷에 실린다. TS에서 암호화는 Slice 데이터를 담고 있는 TS 패킷이 대상이 된다. 아래 그림에서 사선으로 된 부분이 암호화된 영역을 표시하고 있다.
도 4는 동영상 콘텐츠의 오디오 스트림의 구조를 나타내는 도면이다.
동영상 콘텐츠의 오디오는 대부분 MP3, AAC, 또는 AC3 포맷으로 되어 있다. 오디오 스트림은 연속된 오디오 프레임으로 구성되며 오디오 프레임은 오디오 프레임 헤더와 오디오 데이터로 구성된다. 오디오 프레임 헤더에는 오디오 프레임의 시작을 알리는 Syncword가 포함되어 있어 오디오 프레임의 시작을 알 수 있다. 오디오 역시 오디오 프레임 헤더를 제외하고 오디오 데이터가 포함된 TS 패킷만 암호화 대상이 된다.
도 5는 TS 패킷의 scrambling control bit를 이용한 암호화 식별표시를 나타내는 도면이다.
암호화되어 전송된 동영상의 암호화된 TS 패킷과 암호화되지 않은 TS 패킷을 구분하는 방법은 TS 패킷 헤더의 scrambling control bit의 암호화 식별표시를 이용한다. 도 5와 같이 암호화되지 않은 TS 패킷은 scrambling control bit 값을 '00'으로 설정하고, 암호화된 TS 팻킷은 scrambling control bit 값을 '11'로 설정한다. 암호화된 동영상 콘텐츠를 복호화하는 언패키징 장치에서는 scrambling control bit 값을 보고 해당 TS 팻킷을 복호화해야할지를 결정할 수 있다. 그 결과 복호화 시간을 줄일 수 있다.
도 6은 TS 패킷에 메타데이터가 삽입된 구조를 나타내는 도면이다.
패키징된 동영상 콘텐츠를 다운로드서비스에서도 이용할 수 있도록 동영상에 메타데이터를 삽입할 수 있다. 다만, 패키징된 콘텐츠를 스트리밍 서비스에만 이용한다면 메타데이터가 없어도 된다. 메타데이터는 도 6과 같은 형태로 동영상 콘텐츠에 삽입될 수 있다. 메타데이터는 동영상 스트림에 있는 Program Map Table(PMT)에 DRM_descriptor를 추가하고 PMT 패킷 뒤에 콘텐츠 정보를 담고 있는 Content_info 패킷을 새로 생성하여 삽입한다.
Program Map Table에 삽입하는 DRM_descriptor는 다음 정보를 포함한다.
● Content_ID: 패키징된 콘텐츠의 Content_ID
● Key_acquisition_address: 패키징된 콘텐츠를 재생하기 위해 필요한 키 정보를 얻을 수 있는 키 획득을 위한 주소
● Content_info_PID: 콘텐츠 정보를 담고 있는 패킷의 PID(Program ID)
콘텐츠 정보를 담고 있는 Content_info 패킷은 다음 정보를 담고 있다.
● Content_Title: 콘텐츠 제목
● Conten_Produciton_Year: 콘텐츠 제작년도
● Content_Genre: 콘텐츠 장르
● Content_Synopsis: 콘텐츠 요약 정보
PMT에 DRM_descriptor를 삽입하는 방법은 PMT의 descriptor 영역에 DRM_descriptor를 추가하는 방식이다.
아래 표에서 파란색으로 표시한 부분인 program _ info _ length for(i=0;i<N;i++) {VOD_DRM_descriptor()} 와 CRC _ 32 이다. 즉, PMT에서 변경되는 부분은 파란색으로 표시한 부분이다. PMT 정보가 변경되었으므로 CRC 값도 변경된다. 다음 표는 DRM_descriptor가 추가된 PMT의 구조를 나타낸다.
Syntax |
TS_program_map_section() { table_id section_syntax_indicator ‘0’ reserved section_length program_number reserved version_number current_next_indicator section_number last_section_number reserved PCR_PID reserved program _ info _ length for(i=0;i<N;i++) { VOD _ DRM _ descriptor () } for(i=0;i<N1;i++) { stream_type reserved elementary_PID reserved ES_info_length for(i=0;i<N;i++) { descriptor() } } CRC _32 } |
다음 표는 PMT에 삽입되는 DRM_descriptor의 구조이다.
Syntax | description |
VOD_DRM_descriptor() { descriptor_tag descriptor_length content_ID Key_acquisition_address_length Key_acquisition_address Content_info_PID } | 0x80 다음 바이트부터 descriptor 끝까지 byte 수 패키징된 콘텐츠의 식별자 키 획득 주소의 길이 키를 얻을 수 있는 관련 주소 Content_info 패킷의 PID |
다음 표는 콘텐츠 정보를 담은 Content_info 패킷의 구조를 나타낸다. 콘텐츠 정보의 길이가 길어서 하나의 패킷에 포함되지 않을 때는 private_indicator를 이용해 다음 패킷과 내용이 연결됨을 나타내고 패킷을 하나 더 추가한다. private_indicator가 0이면 현재 패킷의 내용이 끝이 아님을 나타낸다. 뒤에 나오는 패킷과 내용이 이어져 있음을 나타낸다. private_indicator가 1이면 현재 private section의 내용이 끝임을 나타낸다.
Syntax | description |
VOD_ContentInfo_private_section() { table_id section_syntax_indicator private_indicator reserved private_section_length content_title_length content_title content_genre_length content_gene content_production_year content_synopsis_length content_synopsis } | 0x80 ‘0’ marker bit처럼 이용 ‘0’ 이후부터 끝날 때 까지 byte 수 title 길이 title content 장르 길이 content 장르 제작 년도 줄거리 길이 줄거리 |
PMT에 DRM_descriptor를 삽입할 때는 동영상 콘텐츠에서 가장 처음에 나오는 PMT에 삽입하고 새로 추가하는 Content_info 패킷은 변경된 PMT 패킷 바로 뒤에 삽입한다.
도 7은 본 발명에 의한 H.264 형식의 동영상 파일의 보호를 위한 패키징/언패키징 장치의 구조를 나타내는 도면이다.
H.264 형식의 동영상 파일의 보호를 위한 패키징 장치(100)는 H.264 형식의 동영상을 수신하여 암호화하고, 메타데이터를 삽입하여 원본 동영상과 동일한 구종의 파일 형태의 암호화 동영상을 생성한다.
서트리밍 서버(200)는 패키징 장치(100)에 의해 암호화된 동영상을 수신하여 요청이 있는 사용자 단말로 스트리밍 서비스를 제공한다.
사용자 단말(300)은 스트리밍 서버(200)에 의해 스트리밍된 암호화 동영상을 복호화하여 복호화 동영상을 생성한다. 사용자 단말(300)이 암호화 동영상을 복호화하기 위해 언패키징 장치(310)를 구비한다.
언패키징 장치(310)는 스트리밍 서버로부터 스트리밍되는 암호화 동영상이나 로컬시스템에 다운로드되어 있는 암호화 동영상을 복호화한다.
패키징 장치(100)는 메타데이터 생성부(120), 스트림 해석부(110), 암호화부(130)와 파일 생성부(140)를 구비한다.
메타데이터 생성부(120)는 메타데이터와 암호화 정보를 수신한다. 메타데이터는 동영상 콘텐츠 정보와 암호화 정보를 포함한다. 따라서, 메타데이터 생성부(120)는 동영상 콘텐츠 정보와 암호화키 정보, 암호화 패킷 크기, 암호화할 영역 선택 정보 등의 암호화 정보를 입력받아 동영상에 삽입할 메타데이터 기술정보를 생성한다.
스트림 해석부(110)는 TS 형식으로 다중화된 H.264 형식의 동영상 파일을 수신하여 암호화 영역과 비암호화 영역을 해석한다. 스트림 해석부(110)는 TS 형식으로 다중화된 H.264 형식의 동영상을 메타데이터 생성부(120)에서 전달된 암호화 정보를 이용하여 암호화 영역을 분석한다. 암호화 영역을 분석하는 경우에 암호화 정보의 암호화할 영역 선택 정보를 이용한다.
암호화부(130)는 스트림 해석부(110)의 분석에 의한 H.264 형식의 동영상 데이터와 메타데이터 생성부(120)로부터 전달된 암호화 정보 중에서 암호화 위치 정보와 암호화 패킷 크기 데이터를 이용해 동영상 데이터를 암호화한다. 암호화부(130)는 동영상 데이터를 전달된 암호화 패킷 크기만큼씩 암호화한 후 암호화 식별표시를 한다. 암호화 식별표시는 TS 패킷 헤더의 scrambling control bit를 이용한다.
파일 생성부(140)는 원본과 동일한 구조의 파일 형태로 구성되는 암호화된 동영상 파일을 생성한다. 파일 생성부(140)는 메타데이터 생성부(120)로에서 생성된 메타데이터 기술 정보인 메타데이터 디스크립터 정보를 수신하고, 스트림 해석부(110)의 동영상 분석에 의한 비암호화 동영상 데이터를 수신하고, 암호화부(130)로부터 암호화된 암호화 동영상 데이터를 수신한다. 파일 생성부(140)는 메타데이터 정보를 이용해 PMT 테이블에 DRM_descriptor를 추가하고 CRC를 새로 생성하여 기존의 PMT 패킷을 수정하고 콘텐츠 정보를 포함한 Content_Info 패킷을 생성하여 PMT 패킷 뒤에 Content_Info 패킷을 삽입하고 암호화 동영상 패킷 및 비암호화 동 영상 패킷 또한 입력된 순서대로 파일로 씀으로써 원본과 동일한 파일 형태로 구성하여 암호화된 동영상 파일을 생성한다.
스트리밍 서버(200)는 기존의 원본 H.264 형식의 동영상을 스트리밍하는 서버를 그대로 이용하여 패키징 장치(100)에 의해 암호화된 동영상을 사용자 단말(300)로 스트리밍한다.
언패키징 장치(310)는 메타데이터 해석부(312)와 복호화부(311)를 포함하여 이루어진다. 메타데이터 해석부(312)는 스트리밍 서버(200)로부터 입력된 암호화된 동영상을 분석하여 동영상에 삽입되어 있는 메타데이터 디스크립터로부터 콘텐츠 정보 및 암호화 정보를 추출한다.
복호화부(311)는 암호화된 동영상의 암호화 영역을 메타데이터 해석부(312)의 암호화 정보를 이용하여 복호화하고, 사용자 단말(300)을 이용하여 복호화 영상을 재생한다.
언패키징 장치(310)는 스트리밍 서버(200)에 의해 스트리밍되는 암호화된 동영상을 복호화하는 것은 물론, 미리 암호화되어 사용자 단말(300)에 다운로드되어 있는 다운로드 동영상 파일(320)을 이용하여 암호화된 동영상을 복호화할 수 있다.
도 8은 본 발명에 의한 패키징 장치의 스트림 분석부의 스트림 분석 과정을 나타내는 도면이다.
스트림 분석부는 동영상에서 헤더의 PID(Program ID)를 이용해 비디오 패킷 을 선택해서 읽는다.S810), 선택해서 읽은 비디오 패킷의 유료부하에서 NAL(Network Adaptation Layer)의 시작코드(Start Code)를 검출한다.(S820) 만일 NAL의 시작코드가 없으면 enc_flag값을 비교하여 바로 암호화하고, NAL의 시작코드가 있으면 일단, enc_flag 값을 ‘0’으로 설정하고 NAL의 헤더에서 NAL 타입정보를 검출한다.(S830) 검출된 NAL의 타입이 슬라이스 이외의 타입을 가질 때는 다음 비디오 패킷을 읽고, 슬라이스 타입을 가진 NAL이면 현재 비디오 패킷의 유료부하 내에 또 다른 NAL이 있는지 찾고 현재의 비디오 패킷에 두 개 이상의 NAL이 있을 경우 enc_flag 값을 ‘0’으로 설정한 후 다음 비디오 패킷을 읽는다.(S840) NAL이 없을 경우 enc_flag 값이 '0'인지 확인한다.(S850) 만일 enc_flag 값이‘0’이면 enc_flag 값을 ‘1’로 설정하고 다음 비디오 패킷을 읽고, enc_flag 값이 ‘0’이 아니면 암호화 영역 선택 정보인 skip_cnt값에 따라 암호화할 영역을 지정하기 위해 enc_cnt값을 1 증가한 값과 skip_cnt값을 비교한다.(S860) enc_cnt값이 더 작으면 다음 비디오 패킷을 읽고, enc_cnt값이 더 크면 현재 비디오 패킷의 유료부하에 있는 슬라이스 NAL을 암호화부에서 처리한다.(S870) 그리고 enc_cnt값을 다시 ‘0’으로 설정하는 단계로 구성된다.
도 9는 본 발명에 의한 패키징 장치의 암호화부의 암호화 과정을 나타내는 도면,
암호화 영역 선택 정보인 enc_size값과 현재 비디오 패킷의 유료부하의 크기(payload_size)를 비교한다.(S910) enc_size값DL 현재 비디오 패킷의 유료부하의 크기(payload_size)보다 더 클 경우 종료하고, enc_size값이 유료부하의 크기(payload_size)보다 작으면 유료부하의 뒤에서부터 enc_size의 크기 만큼에 해당하는 영역을 암호화한다.(S920) 이렇게 암호화된 영역에서 NAL의 시작코드(start code)가 있는지 검출한다.(S930) 암호화된 영역에서 NAL의 시작코드(start code)가 없으면 종료하고, 암호화된 영역에서 NAL의 시작코드(start code)가 검출되면 암호화된 영역을 다시 암호화하기 전 원본 상태로 복구한다.(S940)
도 10은 본 발명에 의한 언패키징 장치의 스트리밍 동영상 복호화 과정을 나타내는 도면이다.
암호화 영역 선택 정보인 enc_size값과 현재 비디오 패킷의 유료부하의 크기(payload_size)를 비교한다.(S950) enc_size값이 유료부하의 크기(payload_size)보다 작으면 동영상에서 헤더의 PID를 이용해 비디오 패킷을 선택해서 읽는다.(S960) 비디오 패킷 헤더의 암호화 식별 표시(enc_id)를 확인한다.(S970) 암호화 표시가 되어 있지 않으면 다음 비디오 패킷을 읽고, 암호화 표시가 되어 있는 비디오 패킷의 유료부하를 enc_size의 크기만큼 복호화한다.(S980) 복호화된 비디오 패킷 헤더의 암호화 식별 표시를 제거한다.(S990) 이때 복호화에 이용하는 키와 암호화 영역 선택 정보는 동영상 스트리밍 서비스를 받기 전에 별도의 채널을 통해 서비스 업자로부터 제공받을 수 있다.
이상에서 몇 가지 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것이 아니고 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다.
상술한 바와 같이, 본 발명에 의한 H.264 형식의 동영상 파일의 보호를 위한 패키징 장치는 H.264 형식의 동영상을 주문형 비디오 방식으로 서비스하는 환경에서 암호화 동영상 데이터와 비암호화 동영상 데이터 그리고 메타데이터 디스크립터 정보를 원본과 동일한 구조의 파일 형태로 암호화된 동영상을 생성하여 기존 스트리밍 시스템을 이용할 수 있는 효과가 있다.
또한, 본 발명에 의한 H.264 형식의 동영상 파일의 보호를 위한 언패키징 장치는 동영상 파일의 암호화 영역의 암호화 식별표시를 이용하여 복호화하는 영역을 쉽게 찾을 수 있어 모바일 기기나 셋탑박스와 같은 저성능의 클라이언트 단말을 이용하여 복호화 작업을 수행할 수 있는 효과가 있다. 또한 H.264 형식의 동영상의 암호화할 영역을 아주 작은 영역에서부터 동영상 대부분을 차지하는 영역까지 다양하게 선택할 수 있도록 하여 전체 시스템의 성능에 별다른 영향을 주지 않으면서 동영상을 보호할 수 있는 효과가 있다.
Claims (19)
- 동영상 콘텐츠 정보와 암호화 정보를 수신하여 동영상에 삽입할 메타데이터 디스크립터를 생성하는 메타데이터생성부;상기 메타데이터 생성부로부터 전송된 암호화 정보를 이용하여 수신된 H.264 형식의 동영상을 분석하여 암호화 영역을 찾는 스트림해석부;상기 스트림해석부로부터 전달된 동영상의 암호화 영역을 상기 메타데이터 생성부로부터 전달된 암호화 정보를 이용하여 암호화하는 암호화부;상기 메타데이터 생성부로부터 전달된 메타데이터 디스크립터와 상기 스트림해석부로부터 전달된 비암호화 동영상 데이터 및 상기 암호화부로부터 전달된 암호화 동영상 데이터를 이용하여 원본과 동일한 구조의 파일 형태로 구성하여 암호화된 동영상 파일을 생성하는 파일생성부를 포함하여 이루어지는 것을 특징으로 하는 H.264 형식의 동영상 파일의 보호를 위한 패키징 장치.
- 제 1항에 있어서,상기 암호화 정보는 암호화 키 정보, 암호화 패킷 크기, 암호화할 영역 선택 정보를 포함하는 것을 특징으로 하는 H.264 형식의 동영상 파일의 보호를 위한 패키징 장치.
- 제 1항에 있어서,상기 스트림 해석부는 상기 메타데이터 생성부로부터 전달된 암호화할 영역 선택정보를 이용하여 암호화 영역을 찾는 것을 특징으로 하는 H.264 형식의 동영상 파일의 보호를 위한 패키징 장치.
- 제 1항에 있어서,상기 암호화부는 동영상을 암호화하고, 암호화 식별표시를 하는 것을 특징으로 하는 H.264 형식의 동영상 파일의 보호를 위한 패키징 장치.
- 제 1항에 있어서,상기 파일생성부는 상기 동영상 Program Map Table(PMT)에 DRM_descriptor를 추가하는 것을 특징으로 하는 H.264 형식의 동영상 파일의 보호를 위한 패키징 장치.
- 제 5항에 있어서,상기 파일 생성부는 상기 PMT 패킷 뒤에 Content_info 패킷을 삽입하는 것을 특징으로 하는 H.264 형식의 동영상 파일의 보호를 위한 패키징 장치.
- 제 5항에 있어서,상기 DRM_descriptor는 상기 PMT의 descriptor 영역에 추가되는 것을 특징으로 하는 H.264 형식의 동영상 파일의 보호를 위한 패키징 장치.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 동영상 콘텐츠 정보와 암호화 정보를 수신하여 동영상에 삽입할 메타데이터 디스크립터를 생성하는 1 단계;상기 1 단계에서 수신된 암호화 정보를 이용하여 H.264 형식의 동영상을 분석하여 비암호화 영역과 암호화 영역을 탐색하는 2 단계;상기 2 단계에서 탐색된 동영상의 암호화 영역을 상기 암호화 정보를 이용하여 암호화하는 3 단계;상기 1 단계에서 생성된 메타데이터 디스크립터와 제 2 단계에서 탐색된 비암호화 동영상 데이터 및 제 3 단계의 암호화된 암호화 동영상 데이터를 이용하여 원본과 동일한 구조의 파일 형태로 구성하여 암호화된 동영상 파일을 생성하는 4단 계를 포함하여 이루어지는 것을 특징으로 하는 H.264 형식의 동영상 파일의 보호를 위한 패키징 방법.
- 제 13항에 있어서,상기 암호화 정보는 암호화 키 정보, 암호화 패킷 크기, 암호화할 영역 선택 정보를 포함하는 것을 특징으로 하는 H.264 형식의 동영상 파일의 보호를 위한 패키징 방법.
- 제 13항에 있어서, 상기 제 2 단계는상기 암호화 정보의 암호화할 영역 선택정보를 이용하여 암호화 영역을 탐색하는 것을 특징으로 하는 H.264 형식의 동영상 파일의 보호를 위한 패키징 방법.
- 제 13항에 있어서, 상기 제 3 단계는상기 암호화 영역에 암호화 식별표시를 하는 단계를 더 포함하는 것을 특징으로 하는 H.264 형식의 동영상 파일의 보호를 위한 패키징 방법.
- 제 13항에 있어서, 상기 제 4 단계는상기 메타데이터 디스크립터는 Program Map Table(PMT)에 DRM_descriptor를 추가하는 것에 의해 암호화된 동영상 파일을 생성하는 것을 특징으로 하는 H.264 형식의 동영상 파일의 보호를 위한 패키징 방법.
- 제 17항에 있어서, 상기 제 4 단계는상기 PMT 패킷 뒤에 Content_info 패킷을 삽입하는 것을 특징으로 하는 H.264 형식의 동영상 파일의 보호를 위한 패키징 방법.
- 제 17항에 있어서,상기 DRM_descriptor는 상기 PMT의 descriptor 영역에 추가되는 것을 특징으로 하는 H.264 형식의 동영상 파일의 보호를 위한 패키징 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060094269A KR100840200B1 (ko) | 2006-09-27 | 2006-09-27 | H.264 형식의 동영상 파일의 보호를 위한패키징/언패키징 장치 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060094269A KR100840200B1 (ko) | 2006-09-27 | 2006-09-27 | H.264 형식의 동영상 파일의 보호를 위한패키징/언패키징 장치 및 그 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080028673A KR20080028673A (ko) | 2008-04-01 |
KR100840200B1 true KR100840200B1 (ko) | 2008-06-23 |
Family
ID=39531567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060094269A KR100840200B1 (ko) | 2006-09-27 | 2006-09-27 | H.264 형식의 동영상 파일의 보호를 위한패키징/언패키징 장치 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100840200B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102241615B1 (ko) * | 2020-01-15 | 2021-04-19 | 한국과학기술원 | 비디오 웹페이지 소스코드의 메타데이터를 이용하여 비디오 제목을 식별하는 방법 및 이를 수행하는 장치들 |
KR102328597B1 (ko) * | 2020-09-09 | 2021-11-18 | 주식회사 알파비트 | 암호화 기능을 수행하는 필터 모듈 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009066901A2 (en) * | 2007-11-22 | 2009-05-28 | Markany Inc. | Method for encrypting digital file, method for decrypting digital file, apparatus for processing digital file and apparatus for converting encryption format |
KR101145782B1 (ko) * | 2010-10-11 | 2012-05-16 | 경희대학교 산학협력단 | 모바일 컨텐츠 서비스를 제공하기 위한 경량화된 비디오 컨텐츠 암호화 및 복호화 방법 |
KR102083415B1 (ko) * | 2018-07-31 | 2020-03-02 | 국민대학교산학협력단 | 암호화 파일에 대한 복호화 장치 및 방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050043289A (ko) * | 2003-11-05 | 2005-05-11 | 한국전자통신연구원 | 디지털 컨텐츠 보호 장치 및 방법 |
-
2006
- 2006-09-27 KR KR1020060094269A patent/KR100840200B1/ko not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050043289A (ko) * | 2003-11-05 | 2005-05-11 | 한국전자통신연구원 | 디지털 컨텐츠 보호 장치 및 방법 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102241615B1 (ko) * | 2020-01-15 | 2021-04-19 | 한국과학기술원 | 비디오 웹페이지 소스코드의 메타데이터를 이용하여 비디오 제목을 식별하는 방법 및 이를 수행하는 장치들 |
KR102328597B1 (ko) * | 2020-09-09 | 2021-11-18 | 주식회사 알파비트 | 암호화 기능을 수행하는 필터 모듈 |
KR20220033425A (ko) * | 2020-09-09 | 2022-03-16 | 주식회사 알파비트 | 암호화 기능을 수행하는 필터 모듈 |
KR102386044B1 (ko) | 2020-09-09 | 2022-04-14 | 주식회사 알파비트 | 암호화 기능을 수행하는 필터 모듈 |
Also Published As
Publication number | Publication date |
---|---|
KR20080028673A (ko) | 2008-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7792294B2 (en) | Selective encryption encoding | |
US8526612B2 (en) | Selective and persistent application level encryption for video provided to a client | |
JP7418533B2 (ja) | 独立的に符号化されたタイルを組み込む基本ビットストリームを保護するためのシステムおよび方法 | |
US20060184790A1 (en) | Protecting elementary stream content | |
US20060036551A1 (en) | Protecting elementary stream content | |
US8656447B2 (en) | Splicing of content | |
US11330226B2 (en) | Information processing apparatus, information recording medium and information processing method | |
KR100840200B1 (ko) | H.264 형식의 동영상 파일의 보호를 위한패키징/언패키징 장치 및 그 방법 | |
US20180302674A1 (en) | File generating method and file generating apparatus | |
KR20120037213A (ko) | 모바일 컨텐츠 서비스를 제공하기 위한 경량화된 비디오 컨텐츠 암호화 및 복호화 방법 | |
US11811840B2 (en) | UHD HLS streaming trusted client server environment | |
WO2015083354A1 (ja) | ファイル生成方法、再生方法、ファイル生成装置、再生装置および記録媒体 | |
KR100728242B1 (ko) | 스트리밍 서비스되는 동영상 파일의 보호 시스템 및 그의보호 동영상 생성/재생 장치 및 그 방법 | |
WO2015072127A1 (ja) | ファイル生成方法およびファイル生成装置 | |
AU2004224936A1 (en) | Encryption of MPEG Bitstreams |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130527 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20140529 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |