KR20230068861A - Drm 컨텐트 재생을 위한 미디어 sdk 및 그 제어 방법 - Google Patents

Drm 컨텐트 재생을 위한 미디어 sdk 및 그 제어 방법 Download PDF

Info

Publication number
KR20230068861A
KR20230068861A KR1020210155087A KR20210155087A KR20230068861A KR 20230068861 A KR20230068861 A KR 20230068861A KR 1020210155087 A KR1020210155087 A KR 1020210155087A KR 20210155087 A KR20210155087 A KR 20210155087A KR 20230068861 A KR20230068861 A KR 20230068861A
Authority
KR
South Korea
Prior art keywords
drm
drm content
media
content
sdk
Prior art date
Application number
KR1020210155087A
Other languages
English (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 KR1020210155087A priority Critical patent/KR20230068861A/ko
Publication of KR20230068861A publication Critical patent/KR20230068861A/ko

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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4627Rights management associated to the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • 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/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26613Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing keys in general
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
    • 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/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4782Web browsing, e.g. WebTV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 웹 애플리케이션으로부터 DRM 컨텐트에 대한 URL을 수신하는 단계; 상기 URL에 기초하여 방송 센터(CDN)로부터 DRM 컨텐트를 요청하는 단계; 상기 DRM 컨텐트를 수신하는 단계; 상기 DRM 컨텐트에 대한 인증 및 복호화를 요청하는 단계; 및 상기 DRM 컨텐트를 복호화하는 단계를 포함하는 것을 특징으로 하는, 미디어 SDK 제어 방법을 제공한다.

Description

DRM 컨텐트 재생을 위한 미디어 SDK 및 그 제어 방법{MEDIA SDK FOR PLAYING DRM CONTENT AND CONTROLLING METHOD THEREOF}
본 발명은 비표준 DRM 컨텐트를 재생시키기 위한 미디어 SDK 및 그 제어 방법에 관한 것이다.
미디어의 경우, 저작권 보호를 위해 DRM(Digital Right Management) 기술이 적용되어 있다. 방송 센터에서 미디어 컨텐트에 DRM 암호화를 적용하여 송출하면, 이를 수신한 단말에서 DRM 복호화 과정을 거쳐 사용자에게 일반적인 컨텐트를 노출시킨다. 이는 미디어뿐만 아니라 전자책, 음원, 문서보안, 화면 캡쳐 등 여러 분야에 응용되어 사용된다.
최근 인기 있는 OTT(over-the-top) 미디어 서비스인 넷플릭스의 경우는 다양한 디바이스의 웹브라우저에서 미디어 재생이 가능하도록 멀티 DRM이라는 기술을 적용하였다.
이때, 멀티 DRM은 크롬(chrome), 사파리(safari), 인터넷 익스플로러(IE)/엣지(edge) 등 각 브라우저마다 서로 다른 DRM을 기본 지원한다. 구체적으로, 마이크로소프트사의 인터넷 익스플로러와 엣지 브라우저는 마이크로소프트사에서 제공하는 PlayReady DRM만을 지원하며, 마찬가지로 구글사의 크롬은 구글의 DRM인 Widevine Modular DRM을, 애플사의 사파리는 FairPlay Streaming이라는 애플의 DRM을 지원한다. 이때, 넷플릭스는 각 DRM별로 컨텐트를 암호화 시켜놓고, 디바이스에 맞는 DRM 컨텐트를 전송해 준다.
반면, 국내 회사(예를 들어, 유플러스)의 경우는 대개 자체 애플리케이션 서비스(모바일, IPTV)를 통해 미디어 컨텐트를 제공하기 때문에, 커스터마이징된 비표준 DRM을 사용하여 컨텐트를 암호화 하고, 애플리케이션 서비스에서도 DRM 복호화하여 서비스를 제공한다.
다만, 비표준 DRM 방식은 모바일이나 IPTV와 같이 직접 애플리케이션에서 웹 브라우저와 DRM복호화를 컨트롤 하면 문제가 없으나, 차량에서 OEM 또는 Tier1(벤더사)이 표준DRM을 지향하면 차량에서는 비표준DRM 컨텐트를 제공하기 어렵다는 문제가 있다.
본 발명은 표준 DRM 컨텐트를 지향하는 차량의 환경에서 비표준 DRM 컨텐트를 재생시키기 위한 미디어 SDK 및 미디어 SDK 제어 방법을 제공하는 것을 목적으로 한다.
본 발명의 일측면에 따르면, 웹 애플리케이션으로부터 DRM 컨텐트에 대한 URL을 수신하는 단계; 상기 URL에 기초하여 방송 센터(CDN)로부터 DRM 컨텐트를 요청하는 단계; 상기 DRM 컨텐트를 수신하는 단계; 상기 DRM 컨텐트에 대한 인증 및 복호화를 요청하는 단계; 및 상기 DRM 컨텐트를 복호화하는 단계를 포함하는 것을 특징으로 하는, 미디어 SDK 제어 방법을 제공한다.
또한, 상기 복호화된 DRM 컨텐트를 수신하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 상기 복호화된 DRM 컨텐트를 웹 엔진으로 전송하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 복호화된 DRM 컨텐트를 웹브라우저 플레이어를 통하여 재생하도록 요청하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 상기 DRM 복호화 라이브러리에게 상기 DRM 컨텐트의 DRM 키를 요청하는 단계를 더 포함하는 것을 특징으로 한다.
또한, DRM 서버로부터 상기 DRM 컨텐트의 인증 및 DRM 키를 수신하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 상기 DRM 컨텐트를 수신하는 로컬서버는 nodejs를 활용하는 것을 특징으로 한다.
또한, 상기 수신한 DRM 컨텐트를 파싱(parsing)하는 단계; 및 상기 파싱된 정보에 기초하여 어떤 복호화툴(tool)을 사용하는지 여부를 판단하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 상기 복호화툴은 상기 파싱된 정보의 헤더(header)에 포함되어 있는 것을 특징으로 한다.
또한, 상기 URL은 상기 DRM 컨텐트를 다운로드하기 위한 경로인 것을 특징으로 한다.
본 발명의 일측면에 따르면, 웹 애플리케이션으로부터 DRM 컨텐트에 대한 URL을 수신하고, 상기 URL에 기초하여 방송 센터(CDN)로부터 DRM 컨텐트를 요청하고, 상기 DRM 컨텐트를 수신하는 로컬서버; 상기 로컬서버로부터 DRM 컨텐트를 수신하고, 상기 DRM 복호화 라이브러리에게 상기 DRM 컨텐트에 대한 인증 및 복호화를 요청하는 미디어딜리버; 및 상기 DRM 컨텐트를 복호화하는 DRM 복호화 라이브러리를 포함하는 것을 특징으로 하는, 미디어 SDK을 제공한다.
또한, 상기 로컬서버는 상기 미디어딜리버로부터 상기 복호화된 DRM 컨텐트를 수신하는 것을 특징으로 한다.
또한, 상기 로컬서버는 상기 복호화된 DRM 컨텐트를 웹 엔진으로 전송하는 것을 특징으로 한다.
또한, 상기 로컬서버는 상기 복호화된 DRM 컨텐트를 웹브라우저 플레이어를 통하여 재생하도록 요청하는 것을 특징으로 한다.
또한, 상기 미디어딜리버는 상기 DRM 복호화 라이브러리에게 상기 DRM 컨텐트의 DRM 키를 요청하는 것을 특징으로 한다.
또한, 상기 DRM 복호화 라이브러리는 DRM 서버로부터 상기 DRM 컨텐트의 인증 및 DRM 키를 수신하는 것을 특징으로 한다.
또한, 상기 로컬서버는 nodejs를 활용하는 것을 특징으로 한다.
또한, 상기 로컬서버는 상기 수신한 DRM 컨텐트를 파싱(parsing)하고, 상기 파싱된 정보에 기초하여 어떤 복호화툴(tool)을 사용하는지 여부를 판단하는 것을 특징으로 한다.
또한, 상기 복호화툴은 상기 파싱된 정보의 헤더(header)에 포함되어 있는 것을 특징으로 한다.
또한, 상기 URL은 상기 DRM 컨텐트를 다운로드하기 위한 경로인 것을 특징으로 한다.
본 발명의 일 실시예에 따르면, 비표준 DRM 컨텐트를 재생할 수 있는 미디어 SDK를 제공함으로써 표준 DRM 컨텐트만을 지향하는 차량에서도 비표준 DRM 컨텐트가 정상적으로 동작할 수 있다는 장점이 있다.
또한, 본 발명의 일 실시예에 따르면, 미디어 SDK를 차량 제조사 또는 차량 벤더사에 제공함으로써 매번 차량 환경에 따라 빈번한 정합 과정을 피할 수 있다는 장점이 있다.
도 1은 본 발명을 이해하기 위한 표준 DRM 방식을 설명하는 도면이다.
도 2는 본 발명의 일 실시예에 따른 미디어 SDK 동작 방식을 설명하는 도면이다.
도 3은 본 발명의 일 실시예에 따른 미디어 SDK의 구성 모듈을 설명하는 구성도이다.
도 4는 본 발명의 일 실시예에 따른 미디어 SDK의 제어 방법을 설명하는 순서도이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
도 1은 본 발명을 이해하기 위한 표준 DRM 방식을 설명하는 도면이다.
도 1을 참조하면, 웹 애플리케이션(100)은 방송 센터(CDN)로부터 암호화된 DRM 컨텐트를 수신할 수 있다. 여기에서, 방송 센터(CDN, content delivery network)는 콘텐트를 효율적으로 전달하기 위해 여러 노드를 가진 네트워크에 데이터를 저장하여 제공하는 시스템을 말한다.
웹 애플리케이션(100)은 수신한 DRM 컨텐트를 EME(Encrypted Media Extensions, 110)로 전달할 수 있다.
EME 인터페이스(110)는 DRM이 걸려있는 영상 컨텐트를 사용자가 단말기에서 보안 프로그램 설치 없이 사용할 수 있게 해준다. 이에 따라, DRM 컨텐트를 수신한 EME 인터페이스(110)는 CDM 인터페이스(Contents Decryption Module, 120)를 통하여 DRM 컨텐트를 복호화할 수 있다.
여기에서, CDM 인터페이스(120)는 DRM 컨텐트를 복호화하기 위한 복호화 키가 들어있는 라이선스 서버와 통신해 복호화 키를 가져오고 영상 컨텐트를 복호화할 수 있다.
이때, 다양한 소프트웨어 회사들이 CDM 인터페이스(120)를 제공한다. 이는 웹 브라우저 별로 기본으로 지원하는 CDM 인터페이스(120)가 다르기 때문이다. 예를 들어, 구글사에서 개발한 Widevine은 Chrome, Android, Firefox, Opera를 기본으로 지원한다. 또한, 마이크로소프트사에서 개발한 Playready는 인터넷 익스플로러(IE), 엣지, 스마트 TV를 기본으로 지원한다. 또한, 애플사에서 개발한 Fairplay는 Safari와 IOS를 기본으로 지원한다. 이렇기 때문에, Widevine을 인터넷 익스플로러(IE)에서 사용하기 위해서는 플러그인을 설치해야 한다.
도 1에서는, 구글사의 Widevine을 예로 들어 계속하여 설명하도록 한다.
웹 애플리케이션(100)은 차량 브라우저로 DRM 컨텐트를 전송할 수 있고, 차량 부라우저는 EME 인터페이스(110)를 통하여 컨텐트의 DRM 복호화를 수행하는 Widevine Core로 DRM 컨텐트를 전송할 수 있다. 즉, Widevine Core는 DRM 컨텐트의 복호화 수행 주체가 될 수 있다. 이때, 차량 브라우저는 Widevine CDMi(Contents Description Module integration layer)를 통하여 통신할 수 있다. 이에 따라, Widevine CDMI는 Widevine Core로 DRM 컨텐트를 전송할 수 있다. 이때, Widevine Core는 DRM 컨텐트를 복호화할 수 있다.
이후, 복호화된 DRM 컨텐트는 상술한 과정과 반대 과정을 통하여 전달되어 웹 애플리케이션(100)은 차량 브라우저에서 DRM 컨텐트를 재생할 수 있다.
다만, 도 1은 표준 DRM 컨텐트의 경우에 적용되는 플로우로 비표준 DRM 컨텐트의 경우에는 상술한 Widevine, Playready, Fairplay에서 수행하는 동작이 수행되지 않는다.
따라서, 비표준 DRM 컨텐트를 차량 브라우저에서도 재생하기 위하여 이하에서는, 본 발명의 일 실시예에 따른 비표준 DRM 컨텐트 처리 목적의 미디어 SDK에 대하여 설명하도록 한다.
도 2는 본 발명의 일 실시예에 따른 미디어 SDK 동작 방식을 설명하는 도면이다.
이때, SDK는 소프트웨어 개발 키트(Software development kit)로 특정 플랫폼을 위한 애플리케이션을 개발할 수 있는 도구 모음에 해당한다. 이하에서는, 차량에서 재생 가능한 웹 브라우저 애플리케이션에 적용 가능한 SDK를 소개하도록 한다.
또한, 도 2의 도면에서는 차량을 예로 들어 설명하나 디스플레이를 통하여 DRM 컨텐트를 제공하는 모든 디바이스에서 본 발명의 실시예가 적용될 수 있음은 물론이다.
도 2를 참조하면, 인포테인먼트 웹 애플리케이션은 도 1에서 상술한 웹 애플리케이션에 대응할 수 있다. 즉, 인포테인먼트 웹 애플리케이션에서 모바일TV나 프로 야구와 같은 컨텐트를 이용하기 위하여 미디어 SDK에게 컨텐트 다운로드 경로(URL)를 전달할 수 있다. 여기에서, 미디어 SDK는 도 1에서 상술한 Widevine CDMi의 기능을 수행할 수 있다. 보다 상세하게는, 미디어 SDK는 인포테인먼트 웹 애플리케이션으로부터 컨텐트를 다운받기 위한 URL을 수신하면, nodejs라는 로컬서버를 생성하여 로컬서버에게 URL을 전달할 수 있다.
본 발명의 일 실시예에서, 미디어 SDK의 로컬서버는 인포테인먼트 웹 애플리케이션으로부터 수신한 컨텐트 URL에 기초하여 방송 센터에게 DRM 컨텐트를 요청하고 방송 센터로부터 DRM 컨텐트를 수신할 수 있다. 이때, 로컬서버는 DRM 컨텐트를 수신하면, DRM 컨텐트를 파싱하여 헤더 부분에 어떤 복호화툴을 쓰는지 여부를 판단할 수 있다. 예를 들어, 표준 DRM 컨텐트를 파싱하면 헤더 부분에 예를 들어, Widevine툴을 사용하여 DRM 컨텐트를 복호화한다는 정보가 포함되어 있다. 반면, 비표준 DRM 컨텐트의 경우 헤더 부분에 이러한 정보가 포함되어 있지 않다. 따라서, 비표준 DRM 컨텐트의 경우 본 발명의 미디어 SDK를 통하여 DRM 컨텐트의 복호화를 수행할 수 있다.
이후, 로컬서버는 미디어 SDK의 미디어 딜리버에게 DRM 컨텐트 정보를 전달할 수 있다.
미디어 딜리버는 미디어 복호화 라이브러리에게 DRM 컨텐츠의 인증 및 DRM 키를 요청할 수 있고, DRM 컨텐츠의 복호화를 요청할 수 있다. 이에 따라, 미디어 복호화 라이브러리는 DRM 서버에게 DRM 컨텐트의 인증 및 DRM 키를 요청하고, 수신할 수 있다.
DRM 복호화 라이브러리는 수신한 DRM 컨텐트의 인증 정보 및 DRM 키를 이용하여 DRM 컨텐트를 복호화할 수 있고, 복호화된 DRM 컨텐트를 미디어 딜리버에게 전송할 수 있다.
미디어딜리버는 복호화된 DRM 컨텐트를 로컬서버에게 전달할 수 있다.
로컬서버는 복호화된 DRM 컨텐트를 웹 엔진, 미디어 프레임워크를 통하여 웹 브라우저 플레이어를 통하여 재생하도록 요청할 수 있다.
상술한 방안을 통하여, 표준이 아닌 DRM 컨텐트의 경우에도 미디어 SDK를 사용하여 표준 DRM 컨텐트처럼 웹 브라우저 플레이어를 통하여 재생할 수 있다.
도 3은 본 발명의 일 실시예에 따른 미디어 SDK의 구성 모듈을 설명하는 구성도이다.
도 3을 참조하면, 미디어 SDK(300)는 로컬서버(310), 미디어딜리버(MediaDeliver, 320) 및 DRM 복호화 라이브러리(DRM Decryption Lib, 330)를 포함할 수 있다. 다만, 도 3에 도시된 구성 요소들은 미디어 SDK(300)를 구현하는데 있어서 필수적인 것은 아니어서, 본 명세서 상에서 설명되는 미디어 SDK(300)는 위에서 열거된 구성 요소들 보다 많거나, 또는 적은 구성 요소들을 가질 수 있다. 또한, 앞서 언급된 구성요소들이 모두 첨부된 도면들에서 상세하게 도시되지는 않으며, 중요한 일부 구성요소들만이 첨부된 도면들에서 도시될 수 있다.
그러나, 비록 모두 도시되지는 않지만, 미디어 SDK(300)로서의 기능을 구현하기 위해, 적어도 도 3의 구성요소들이 미디어 SDK(300)에 포함될 수 있음을 당업자는 이해 가능하다.
미디어 SDK(300)는 차량 내 탑재 가능한 소프트웨어에 대응할 수 있다.
로컬서버(310)는 웹 애플리케이션으로부터 DRM 컨텐트에 대한 URL을 수신할 수 있다. 여기에서, URL은 DRM 컨텐트를 다운로드하기 위한 경로인 것을 특징으로 한다. 본 발명의 일 실시예에서, 로컬 서버(310)는 URL에 기초하여 방송 센터(CDN)으로부터 DRM 컨텐트를 요청하고, DRM 컨텐트를 방송 센터로부터 수신할 수 있다. 로컬서버(310)는 수신한 DRM 컨텐트를 파싱(parsing)하고, 파싱된 정보에 기초하여 어떤 복호화툴(tool)을 사용하는지 여부를 판단할 수 있다. 이때, 복호화툴은 파싱된 정보의 헤더(header)에 포함되어 있는 것을 특징으로 한다. 이후, 로컬서버(310)는 미디어딜리버(320)로부터 복호화된 DRM 컨텐트를 수신할 수 있다. 로컬서버(310)는 복호화된 DRM 컨텐트를 웹 엔진으로 전송할 수 있고, 웹 브라우저 플레이어를 통하여 재생하도록 요청할 수 있다. 여기에서, 로컬서버(310)는 nodejs를 활용할 수 있다.
미디어딜리버(320)는 로컬서버(310)로부터 DRM 컨텐트를 수신하고, DRM 복호화 라이브러리(330)에게 DRM 컨텐트에 대한 인증 및 복호화를 요청할 수 있다. 또한, 미디어딜리버(320)는 DRM 복호화 라이브러리(330)에게 DRM 컨텐트의 DRM 키를 요청할 수 있다.
DRM 복호화 라이브러리(330)는 DRM 서버로부터 DRM 컨텐트의 인증 및 DRM 키를 수신할 수 있다.
이에 따라, 미디어 SDK는 웹 애플리케이션으로부터 URL만을 수신, 전달하여 방송 센터로부터 암호화된 DRM 컨텐트를 수신할 수 있다. 이후, 미디어 SDK에서 암호화된 DRM 컨텐트를 복호화 처리하여 차량 내 웹 브라우저 애플리케이션으로 전달할 수 있고, 웹 브라우저 애플리케이션은 복호화된 비표준 DRM 컨텐트를 재생할 수 있다.
도 4는 본 발명의 일 실시예에 따른 미디어 SDK의 제어 방법을 설명하는 순서도이다.
도 4를 참조하면, 단계(S410)에서, 웹 애플리케이션으로부터 DRM 컨텐트에 대한 URL을 수신할 수 있다. 여기에서, DRM 컨텐트란 출판자 또는 저작권자가 그들이 배포한 디지털 자료나 하드웨어의 사용을 제어하고 이를 의도한 용도로만 사용하도록 제한하는데 사용되는 모든 기술이 적용된 컨텐트를 의미한다.
단계(S420)에서, URL에 기초하여, 방송 센터(CDN)로부터 DRM 컨텐트를 요청할 수 있다. 여기에서, 방송 센터(CDN, content delivery network)는 콘텐트를 효율적으로 전달하기 위해 여러 노드를 가진 네트워크에 데이터를 저장하여 제공하는 시스템을 말한다.
단계(S430)에서, DRM 컨텐트를 수신할 수 있다. 이때, DRM 컨텐트를 수신하는 미디어 SDK의 로컬서버는 nodejs를 활용할 수 있다. 여기에서, nodejs는 확장성 있는 네트워크 애플리케이션(특히, 서버 사이드) 개발에 사용되는 소프트웨어 플랫폼에 해당한다.
단계(S440)에서, DRM 컨텐트에 대한 인증 및 복호화를 요청할 수 있다. 이때, 미디어딜리버는 DRM 복호화 라이브러리에게DRM 컨텐트의 DRM 키를 요청할 수 있다. 이를 위하여, DRM 복호화 라이브러리는 DRM 서버에게 DRM 컨텐트의 인증 및 DRM 키를 요청할 수 있고, DRM 서버로부터 DRM 컨텐트의 인증 및 DRM 키를 수신할 수 있다. 여기에서, DRM 서버는 에이전트(단계(S440)에서는 DRM 복호화 라이브러리)로부터 온 인증 정보를 확인하는 작업을 수행한다. 에이전트의 식별자(ID)와 암호로 인증하는 경우도 있고, 해당 단말기의 내부 정보(예를 들어, 맥 어드레스 등)를 이용하여 인증하는 경우도 있다. 이렇게 다양한 인증 방법으로 인증 정보를 수신하면 DRM 서버는 내부에 있는 인증 DB 서버에서 해당 값을 가져와 확인한 후 인증이 통과되면 정책 정보를 가져와 에이전트에 전달할 수 있다.
단계(S450)에서, DRM 컨텐트를 복호화할 수 있다. 이때, DRM 복호화 라이브러리는 DRM 서버로부터 수신한 인증 정보 및 DRM 키를 이용하여 DRM 컨텐트를 복호화할 수 있다. DRM 복호화 라이브러리는 복호화된 DRM 컨텐트를 미디어딜리버로 전송할 수 있다. 미디어딜리버는 로컬서버에게 복호화된 DRM 컨텐트를 전달할 수 있고, 로컬서버는 웹 엔진에게 복호화된 DRM 컨텐트를 전달할 수 있다.
단계(S460)에서, 복호화된 DRM 컨텐트를 수신할 수 있다. 웹 엔진은 복호화된 DRM 컨텐트를 수신하여 미디어 프레임워크에게 전달할 수 있다. 미디어 프레임워크는 수신한 복호화된 DRM 컨텐트를 웹 브라우저 플레이어에게 전달할 수 있다.
최종적으로 단계(S470)에서, 복호화된 DRM 컨텐트를 웹 브라우저 플레이어를 통하여 재생할 수 있다.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
이상 본 발명의 실시예에 따른 데이터 처리 장치 및 방법을 구체적인 실시 형태로서 설명하였으나, 이는 예시에 불과한 것으로서 본 발명은 이에 한정되지 않는 것이며, 본 명세서에 개시된 기초 사상에 따르는 최광의 범위를 갖는 것으로 해석되어야 한다. 당업자는 개시된 실시 형태들을 조합, 치환하여 적시되지 않은 실시 형태를 실시할 수 있으나, 이 역시 본 발명의 권리범위를 벗어나지 않는 것이다. 이외에도 당업자는 본 명세서에 기초하여 개시된 실시형태를 용이하게 변경 또는 변형할 수 있으며, 이러한 변경 또는 변형도 본 발명의 권리범위에 속함은 명백하다.
300: 미디어 SDK
310: 로컬서버
320: 미디어딜리버(MediaDeliver)
330: DRM 복호화 라이브러리(DRM Decryption Lib)

Claims (20)

  1. 웹 애플리케이션으로부터 DRM 컨텐트에 대한 URL을 수신하는 단계;
    상기 URL에 기초하여 방송 센터(CDN)로부터 DRM 컨텐트를 요청하는 단계;
    상기 DRM 컨텐트를 수신하는 단계;
    상기 DRM 컨텐트에 대한 인증 및 복호화를 요청하는 단계; 및
    상기 DRM 컨텐트를 복호화하는 단계를 포함하는 것을 특징으로 하는, 미디어 SDK 제어 방법.
  2. 제 1 항에 있어서,
    상기 복호화된 DRM 컨텐트를 수신하는 단계를 더 포함하는 것을 특징으로 하는, 미디어 SDK 제어 방법.
  3. 제 2 항에 있어서,
    상기 복호화된 DRM 컨텐트를 웹 엔진으로 전송하는 단계를 더 포함하는 것을 특징으로 하는, 미디어 SDK 제어 방법.
  4. 제 3 항에 있어서,
    복호화된 DRM 컨텐트를 웹브라우저 플레이어를 통하여 재생하도록 요청하는 단계를 더 포함하는 것을 특징으로 하는, 미디어 SDK 제어 방법.
  5. 제 1 항에 있어서,
    상기 DRM 컨텐트의 DRM 키를 요청하는 단계를 더 포함하는 것을 특징으로 하는, 미디어 SDK 제어 방법.
  6. 제 5 항에 있어서,
    DRM 서버로부터 상기 DRM 컨텐트의 인증 및 DRM 키를 수신하는 단계를 더 포함하는 것을 특징으로 하는, 미디어 SDK 제어 방법.
  7. 제 1 항에 있어서,
    상기 DRM 컨텐트를 수신하는 로컬서버는 nodejs를 활용하는 것을 특징으로 하는, 미디어 SDK 제어 방법.
  8. 제 1 항에 있어서,
    상기 수신한 DRM 컨텐트를 파싱(parsing)하는 단계; 및
    상기 파싱된 정보에 기초하여 어떤 복호화툴(tool)을 사용하는지 여부를 판단하는 단계를 더 포함하는 것을 특징으로 하는, 미디어 SDK 제어 방법.
  9. 제 8항에 있어서,
    상기 복호화툴은 상기 파싱된 정보의 헤더(header)에 포함되어 있는 것을 특징으로 하는, 미디어 SDK 제어 방법.
  10. 제 1 항에 있어서,
    상기 URL은 상기 DRM 컨텐트를 다운로드하기 위한 경로인 것을 특징으로 하는, 미디어 SDK 제어 방법.
  11. 웹 애플리케이션으로부터 DRM 컨텐트에 대한 URL을 수신하고, 상기 URL에 기초하여 방송 센터(CDN)로부터 DRM 컨텐트를 요청하고, 상기 DRM 컨텐트를 수신하는 로컬서버;
    상기 로컬서버로부터 DRM 컨텐트를 수신하고, 상기 DRM 복호화 라이브러리에게 상기 DRM 컨텐트에 대한 인증 및 복호화를 요청하는 미디어딜리버; 및
    상기 DRM 컨텐트를 복호화하는 DRM 복호화 라이브러리를 포함하는 것을 특징으로 하는, 미디어 SDK.
  12. 제 11 항에 있어서,
    상기 로컬서버는
    상기 미디어딜리버로부터 상기 복호화된 DRM 컨텐트를 수신하는 것을 특징으로 하는, 미디어 SDK.
  13. 제 12항에 있어서,
    상기 로컬서버는
    상기 복호화된 DRM 컨텐트를 웹 엔진으로 전송하는 것을 특징으로 하는, 미디어 SDK.
  14. 제 13항에 있어서,
    상기 로컬서버는
    상기 복호화된 DRM 컨텐트를 웹브라우저 플레이어를 통하여 재생하도록 요청하는 것을 특징으로 하는, 미디어 SDK.
  15. 제 11 항에 있어서,
    상기 미디어딜리버는
    상기 DRM 복호화 라이브러리에게 상기 DRM 컨텐트의 DRM 키를 요청하는 것을 특징으로 하는, 미디어 SDK.
  16. 제 15 항에 있어서,
    상기 DRM 복호화 라이브러리는 DRM 서버로부터 상기 DRM 컨텐트의 인증 및 DRM 키를 수신하는 것을 특징으로 하는, 미디어 SDK.
  17. 제 11 항에 있어서,
    상기 로컬서버는 nodejs를 활용하는 것을 특징으로 하는, 미디어 SDK.
  18. 제 11 항에 있어서,
    상기 로컬서버는 상기 수신한 DRM 컨텐트를 파싱(parsing)하고,
    상기 파싱된 정보에 기초하여 어떤 복호화툴(tool)을 사용하는지 여부를 판단하는 것을 특징으로 하는, 미디어 SDK.
  19. 제 18 항에 있어서,
    상기 복호화툴은 상기 파싱된 정보의 헤더(header)에 포함되어 있는 것을 특징으로 하는, 미디어 SDK.
  20. 제 11항에 있어서,
    상기 URL은 상기 DRM 컨텐트를 다운로드하기 위한 경로인 것을 특징으로 하는, 미디어 SDK.
KR1020210155087A 2021-11-11 2021-11-11 Drm 컨텐트 재생을 위한 미디어 sdk 및 그 제어 방법 KR20230068861A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210155087A KR20230068861A (ko) 2021-11-11 2021-11-11 Drm 컨텐트 재생을 위한 미디어 sdk 및 그 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210155087A KR20230068861A (ko) 2021-11-11 2021-11-11 Drm 컨텐트 재생을 위한 미디어 sdk 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR20230068861A true KR20230068861A (ko) 2023-05-18

Family

ID=86545371

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210155087A KR20230068861A (ko) 2021-11-11 2021-11-11 Drm 컨텐트 재생을 위한 미디어 sdk 및 그 제어 방법

Country Status (1)

Country Link
KR (1) KR20230068861A (ko)

Similar Documents

Publication Publication Date Title
KR100859612B1 (ko) 멀티미디어 컨텐츠의 원격 실시간 액세스를 위한 방법,장치 및 시스템
US8615469B2 (en) Enabling transferable entitlements between networked devices
US9202022B2 (en) Method and apparatus for providing DRM service
US7458101B2 (en) Information viewing/listening system, information player, and information provider
JP4767689B2 (ja) コンテンツ配信システム、コンテンツ配信方法、コンテンツ処理装置、コンテンツ処理方法、記録媒体、及び、プログラム
US9332320B2 (en) PC secure video path
JP5557897B2 (ja) デジタルメディアコンテンツ保護システム及び方法
JP5357263B2 (ja) コンテンツ受信装置およびコンテンツ出力方法
US20080292103A1 (en) Method and apparatus for encrypting and transmitting contents, and method and apparatus for decrypting encrypted contents
JP5659226B2 (ja) コンテンツ受信機、コンテンツ出力方法
JP2005514703A (ja) マルチメディアコンテンツの情報保護方法及びシステム
WO2005060258A2 (ja) コンテンツ配信システム及び配信方法、並びにコンテンツ処理装置及び処理方法
JP4666015B2 (ja) コンテンツ配信システム、コンテンツ受信端末、及びコンテンツ配信方法
MX2008014153A (es) Metodo y sistema para procesar contenido.
KR20230068861A (ko) Drm 컨텐트 재생을 위한 미디어 sdk 및 그 제어 방법
CN101630519A (zh) Ip流式拷贝控制方法和系统
JP5292237B2 (ja) コンテンツ受信装置
US8566958B2 (en) Method for authorizing contents play rights in use of a recording medium
JP2011229092A (ja) コンテンツ受信装置
JP5975097B2 (ja) 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
WO2011030687A1 (ja) コンテンツ受信装置
US20140075209A1 (en) Method for content use, device for content use, mobile terminal, and recording medium
KR20210045700A (ko) 보안 플랫폼 시스템
KR20050043473A (ko) 스트리밍 서비스되는 에이에스에프 파일의 보호장치 및 방법
WO2012157446A1 (ja) 受信装置、および受信方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal