JP2016519471A - 安全なメディア再生のためのdlna(登録商標)/dtcpストリーム変換 - Google Patents

安全なメディア再生のためのdlna(登録商標)/dtcpストリーム変換 Download PDF

Info

Publication number
JP2016519471A
JP2016519471A JP2016503398A JP2016503398A JP2016519471A JP 2016519471 A JP2016519471 A JP 2016519471A JP 2016503398 A JP2016503398 A JP 2016503398A JP 2016503398 A JP2016503398 A JP 2016503398A JP 2016519471 A JP2016519471 A JP 2016519471A
Authority
JP
Japan
Prior art keywords
dtcp
encrypted
chunk
transport stream
secondary device
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.)
Granted
Application number
JP2016503398A
Other languages
English (en)
Other versions
JP6077173B2 (ja
Inventor
モロニー、ポール
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Arris Technology Inc
Original Assignee
Arris Technology Inc
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 Arris Technology Inc filed Critical Arris Technology Inc
Publication of JP2016519471A publication Critical patent/JP2016519471A/ja
Application granted granted Critical
Publication of JP6077173B2 publication Critical patent/JP6077173B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0457Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply dynamic encryption, e.g. 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1012Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to domains
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/108Transfer of content, software, digital rights or licenses
    • G06F21/1083Partial license transfers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • 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/2343Processing 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
    • H04N21/234309Processing 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 by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • 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
    • H04N21/23476Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption by partially encrypting, e.g. encrypting the ending portion of a movie
    • 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/2351Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving encryption of additional data
    • 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/23611Insertion of stuffing data into a multiplex stream, e.g. to obtain a constant bitrate
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • H04N21/23895Multiplex stream processing, e.g. multiplex stream encrypting involving multiplex 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/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25816Management of client data involving client authentication
    • 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4147PVR [Personal Video Recorder]
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4346Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream involving stuffing data, e.g. packets or bytes
    • 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
    • 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4367Establishing a secure communication between the client and a peripheral device or smart card
    • 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4385Multiplex stream processing, e.g. multiplex stream decrypting
    • H04N21/43853Multiplex stream processing, e.g. multiplex stream decrypting involving multiplex 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/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/4402Processing 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 reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing 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 reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • 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/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/4408Processing 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 encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
    • 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/482End-user interface for program selection
    • H04N21/4825End-user interface for program selection using a list of items to be played back in a given order, e.g. playlists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • H04N21/6334Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
    • H04N21/63345Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key by transmitting keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Graphics (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

DTCP−IPトランスポート・ストリームをHLS形式に変換する処理方法であって、2次デバイスにおいて、暗号化されたDTCP−IPトランスポート・ストリームをソース・デバイスから受信する工程であって、暗号化されたDTCP−IPトランスポート・ストリームは、複数のDTCPフレームを備え、複数のDTCPフレームの各々は複数の暗号化された16バイト部分を備える、工程と、DTCPフレームの複数の暗号化された16バイト部分を1つのチャンクにグループ化することによって、複数のDTCPフレームからチャンクを形成する工程と、暗号化されたチャンクを形成するように、各チャンクの最後にHLSパディングバイトを追加して、HLSパディングバイトを暗号化する工程と、暗号化されたチャンクの各々とプレイリストとを、2次デバイスにおけるメディア・プロキシサーバにロードする工程と、DTCPキーをセキュリティ・プロキシサーバ上にロードする工程と、プレイリスト、暗号化されたチャンクの各々、およびDTCPキーを、2次デバイス上に元々実装されているメディアプレーヤに提供する工程であって、元々実装されているメディアプレーヤは、プレイリストに従って、DTCPキーを使用して、暗号化されたチャンクを解読して、チャンクを再生する、工程と、を備える。

Description

本開示は、デジタルビデオ記録およびストリーミングの分野に関し、特に、デジタルビデオレコーダから移動体デバイスへメディア・コンテンツを安全にストリーミングするためのシステムに関する。
インターネット上でメディア・コンテンツをストリーミングする、またはメディア・コンテンツをデバイスにダウンロードすることにより、消費者は、移動体電話またはタブレットコンピュータなどのテレビ以外のデバイス上でメディア・コンテンツにオンデマンドでアクセスして楽しめるようになった。さらに、消費者は、テレビ放送をリアルタイムで、または、放送を録画して後に視聴できるデジタルビデオレコーダ(DVR)を通じて、楽しめるようにもなった。
しかし、デジタル著作権管理への配慮により、1つのデバイスから録画されたコンテンツを別のデバイスにストリーミングまたはダウンロードできるようにして、2つのメディア消費モデルを結合できるようになったのはつい最近のことである。たとえば、ケーブルボックスまたはDVRなどの機器は、最近になってやっと、リアルタイム放送または録画コンテンツといったメディア・コンテンツをテレビ以外のデバイスにストリーミングまたはダウンロードできるようになった。多くの消費者が、外出中であるが、出先で特定の番組を移動体電話上で視聴したい場合などに、テレビ以外のデバイス上でライブ放送または録画放送を視聴できるという柔軟性を楽しめる一方で、多くのケーブルボックスおよびDVRは、メディア・コンテンツの無許可のコピーまたは転送を防止するため、コンテンツを暗号化するか、または他のデジタル著作権管理方法を設けている。
メディア・コンテンツの無制限コピーを許可することなく、1つのデバイスからのコピー保護されたコンテンツに、許可を得て2次デバイス上でアクセスできるようにするいくつかのシステムが開発中である。たとえば、インターネットプロトコル経由でのデジタル送信コンテンツ保護(DTCP−IP)は、メディア・コンテンツがデータ接続上で1つのデバイスから別のデバイスへ移動する際に、メディア・コンテンツのコピー保護を提供する方法である。DTCP−IPシステムでは、消費者は、DVR上でテレビコンテンツを録画し、この録画したコンテンツを、コンテンツのコピー保護の維持と無許可コピーの防止を行いつつ、無線インターネット接続を通じてスマートフォンまたは他のデバイスにストリーミングすることができる。
ユーザ、他のアプリケーション、システムの他の部分に対して、解読されたクリア・メディア転送ストリームへのアクセスを可能にすることなく、クライアント・アプリケーションがメディア転送ストリームを十分安全に処理できる場合には、デバイスまたはオペレーティング・システムはDTCP−IPと互換性を有することができる。非限定的な例の方法では、DTCP−IPは、iOS(登録商標)オペレーティング・システムを実行するApple(登録商標)デバイス、たとえばiPhone(登録商標)およびiPad(登録商標)上に実装される。これは、こうしたデバイスが、安全なブートチェーンを備えており、署名付きコードを許可し、信頼のルートが確立された安全なHTTPライブストリーミング(HLS)プレーヤを元々実装しており(ネイティブであり)、難読化およびホワイトボックス保護を設けた安全なソフトウェア開発キット(SDK)を、安全な信頼のルート、デバイス認証、さらに、安全なRSA証明書などのプライベートキーとリンクさせることが可能なためである。
したがって、必要なのは、リモート・デバイスの他のコンポーネントをメディア・ストリームにアクセスさせずに、ソース・デバイスからリモート・デバイスにて受信したDTCP−IPメディア・ストリームを、リモート・デバイス上に元々実装されている(ネイティブ)メディアプレーヤで可読な形式に変換する処理方法である。DTCP−IPメディア・ストリームは、リモート・デバイスに元々実装されているメディアプレーヤで再生可能にするべく、解読、チャンク化、再暗号化したり、または、DTCP−IPメディア・ストリームを、HLSパディングバイトを追加する、および/もしくは、DTCP−IPパディングバイトをHLSパディングバイトに置き換えることで、解読せずにチャンクに分割したりすることができる。
一実施形態においては、本開示は、DTCP−IPトランスポート・ストリームをHLS形式に変換する処理を提供するものであり、この処理は、2次デバイスにおいて、暗号化されたDTCP−IPトランスポート・ストリームをソース・デバイスから受信する工程であって、暗号化されたDTCP−IPトランスポート・ストリームは、複数のDTCPフレームを備え、この複数のDTCPフレームの各々は複数の暗号化された16バイト部分を備える、工程と、DTCPフレームの複数の暗号化された16バイト部分の1以上を1つのチャンクにグループ化することによって、複数のDTCPフレームの1つからチャンクを形成する工程と、チャンクの最後にHLSパディングバイトを追加して、HLSパディングバイトを暗号化する工程であって、チャンクと暗号化されたHLSパディングバイトとが暗号化されたHLSチャンクを形成している、工程と、暗号化されたHLSチャンクの各々と暗号化されたHLSチャンクのプレイリストとを、2次デバイスにおけるメディア・プロキシサーバにロードする工程と、DTCPキーを2次デバイスにおけるセキュリティ・プロキシサーバにロードする工程であって、DTCPキーは、ソース・デバイスから入手されている、工程と、プレイリスト、暗号化されたHLSチャンクの各々、およびDTCPキーを、2次デバイス上に元々実装されているメディアプレーヤに提供する工程であって、元々実装されているメディアプレーヤは、前記プレイリストに従って、DTCPキーを使用して、暗号化されたHLSチャンクを解読して、HLSチャンクを再生する工程と、を備える。
以下の添付の図面の補助により、本発明のさらなる詳細を説明する。
ネットワーク上で、ソース・デバイスから1以上の2次デバイスへメディア・コンテンツを提供するシステムを示す図。 ソース・デバイスの例示的な実施形態を示す図。 2次デバイスの例示的な実施形態を示す図。 2次デバイス上のメディアプレーヤで再生するために、トランスポート・ストリームを受信および変換する第1処理を示す図。 図4の工程中の、受信したトランスポート・ストリームをメディアプレーヤ上で再生可能な形式に変換する過程で使用される要素を示す図。 ソース・デバイスのDTCP−IPモジュールによって暗号化されたメディア・コンテンツの例示的な部分を示す図。 トランスポート・ストリームをカプセル化する過程で作成されたDTCPフレームの例示的な実施形態を示す図。 2次デバイス上のメディアプレーヤで再生するために、トランスポート・ストリームを受信および変換するための第2処理を示す図。 DTCPフレームを、HLSパディングバイトを組み込んだ暗号化されたチャンクに変換することを示す図。 暗号化されたチャンクを形成するために、DTCPペイロードの最終部分から作成されたチャンクにおいて、DTCPパディングバイトをHLSパディングバイトに置き換えることを示す図。
図1は、ネットワーク104上で、ソース・デバイス100から1以上の2次デバイス102へメディア・コンテンツを提供するシステムを示す。ソース・デバイス100は、DVR、ケーブルボックス、ホームメディアサーバ、または、メディア・コンテンツを受信および記憶、あるいは受信もしくは記憶する任意の他のソースであってもよい。ソース・デバイス100は、無線または有線データ接続、インターネット接続、および/もしくはローカル・ネットワークといったネットワーク104上で、メディア・コンテンツを受信し、ならびに/または、1以上の2次デバイス102上で視聴できるよう調整することができる。2次デバイス102は、スマートフォン、タブレットコンピュータ、コンピュータ、または、任意の他のデバイスといった、移動体デバイスであってもよい。一実施形態では、ソース・デバイス100は、ソース・デバイスとテレビ106との間の直接接続108(同軸ケーブルまたはHDMI(登録商標)(High−Definition Multimedia Interface)ケーブルなど)によって、メディア・コンテンツを1以上のテレビ106またはモニタ上で視聴するべく、追加的および代替的、あるいは追加的もしくは代替的に提供する。
図2は、ソース・デバイス100の例示的な実施形態を示す。一実施形態においては、ソース・デバイス100は1以上のチューナ202、トランスコーダ204、ストレージ・デバイス206、DTCP−IPモジュール208、および/もしくはメディアサーバ210を備える。
チューナ202は、ケーブルまたは衛星接続を通じて受信したテレビ放送などのメディア・コンテンツを受信するように構成できる。チューナ202で受信したメディア・コンテンツを、トランスコーダ204によって、ストレージ・デバイス206に録画として記憶可能なデジタル形式にトランスコードすることができる。ストレージ・デバイス206は、ハードドライブ、フラッシュメモリ、ランダムアクセスメモリといったメモリ、または任意の他のタイプのメモリであってもよい。いくつかの状況および実施形態、あるいは状況または実施形態においては、録画されたメディア・コンテンツは録画されれば、その視聴が可能になるため、視聴者はそれを、録画されたメディア・コンテンツを一時停止したり巻き戻したりすることができる実質的なライブ放送であると認識することができる。別の状況および実施形態、あるいは状況または実施形態においては、録画されたメディア・コンテンツを、後に、ライブ視聴、一時停止、巻き戻し、および/または早送りのオプション付きで視聴することができる。録画されたメディア・コンテンツは、ソース・デバイス100と通信した状態のテレビ106上で、または、以下で説明するように、ネットワーク104を通じてソース・デバイス100に接続したテレビ以外の2次デバイス102上で視聴することが可能である。しかしながら、一実施形態においては、チューナ202で受信したビデオコンテンツをDTCP−IPモジュール208へ直接送ることができるので、ストレージ・デバイス206はオプションまたは一時的なバッファであってもよい。
2次デバイス102上で視聴する場合には、録画したメディア・コンテンツをストレージ・デバイス206から取り出し、DTCP−IPモジュール208へ送ることができる。DTCP−IPモジュール208は「インターネットプロトコル経由でのデジタル送信コンテンツ保護」(DTCP−IP)方法を使用して、メディア・コンテンツを暗号化することができる。DTCP−IP方法は、録画された放送などのメディア・コンテンツがデータ接続経由で1つのデバイスから別のデバイスへ転送される際に、このメディア・コンテンツにコピー保護を提供することが可能である。DTCP−IPモジュール208は
、DTCPキーを用いてメディア・コンテンツを暗号化できる。以下で説明するように、DTCP−IPモジュール208は、DTCPキー212に関する情報を1以上の2次デバイス102に提供し、2次デバイスはこの情報からDTCPキー212を導出することができる。さらに、DTCP−IPモジュール208は、暗号化されたDTCP−IP放送を、コンテナ・フォーマットを使用してトランスポート・ストリーム214内にカプセル化することが可能である。非限定的な例では、DTCP−IP放送をMPEG(Moving Picture Experts Group)トランスポート・ストリーム内にカプセル化することができる。DTCP−IPモジュール208によるメディア・コンテンツのトランスポート・ストリーム214への暗号化およびカプセル化について、以下で図6を参照してさらに説明する。
DTCP−IPモジュール208によって暗号化およびカプセル化されたトランスポート・ストリームは、メディアサーバ210へ渡される。メディアサーバ210は、2次デバイス102からの要求を受信すると、インターネット、ローカル有線または無線データネットワークなどのネットワーク104、または任意の他のネットワークを通じて、要求側の2次デバイス102にトランスポート・ストリーム214を配布することができる。非限定的な例では、メディアサーバ210は、デジタル・リビング・ネットワーク・アライアンス(DLNAサーバ)により証明されたサーバであってもよい。
図3は、2次デバイス102の例示的な実施形態を示す。2次デバイス102は、処理ブロック302、DTCP−IPセキュリティブロック304、補助セキュリティブロック306、メディア・プロキシサーバ308、セキュリティ・プロキシサーバ310、および/またはメディアプレーヤ312を備えることができる。一実施形態においては、処理ブロック302、DTCP−IPセキュリティブロック304、補助セキュリティブロック306、メディア・プロキシサーバ308、セキュリティ・プロキシサーバ310は、2次デバイス102上で実行中のクライアント・アプリケーション314に提供されて、動作することができ、あるいは提供されるか動作することができ、一方、メディアプレーヤ312は、図2に示すように、2次デバイスのオペレーティング・システムに元々実装された安全なメディアプレーヤであってもよい。非限定的な例では、数種のApple(登録商標)デバイスで使用されているiOS(登録商標)オペレーティング・システムには、以下で説明するように、メディアプレーヤ312として使用できる、安全なHTTPライブストリーミング(HLS)プレーヤが元々実装されていてもよい。一実施形態においては、クライアント・アプリケーション314は安全な方法で実行できるので、データにアクセスすることが可能な2次デバイス102の、メディアプレーヤ312を除くその他のハードウェアまたはソフトウェアコンポーネントを提供しなくても、ほとんどのデータをクライアント・アプリケーション314内で処理および保持することができる。非限定的な例では、数種のApple(登録商標)デバイスで使用されているiOS(登録商標)オペレーティング・システムは、安全なブートチェーン、署名付きコード、安全なRSA証明書、デバイス認証といった、クライアント・アプリケーション314の安全な実行を支援する要素を含んでいる。
図4は、2次デバイス102上のメディアプレーヤ312で再生するためにトランスポート・ストリーム214を受信および変換する第1処理を示す。図5は、図4の工程中の、受信したトランスポート・ストリーム214をメディアプレーヤ312上で再生可能な形式に変換する過程で使用される要素を示す。
工程402では、2次デバイス102上で実行中のクライアント・アプリケーション314が、ネットワーク104上で、ソース・デバイス100のメディアサーバ210からのトランスポート・ストリーム214を要求する。上述したように、トランスポート・ストリーム214は、DTCPキー212を使用するDTCP−IPコピー保護方法を用い
て、DTCP−IPモジュール208によって暗号化されていてもよい。さらに、トランスポート・ストリーム214は、DTCP−IPモジュール208によって、MPEGトランスポート・ストリーム用のDTCPコンテナなどのコンテナ・フォーマットにカプセル化されていてもよい。
工程404では、クライアント・アプリケーション314内の処理ブロック302は、要求したトランスポート・ストリーム214を、メディアサーバ210からネットワーク104経由で受信する。一実施形態においては、クライアント・アプリケーション314は、トランスポート・ストリーム214の受信時に、処理を開始するのに十分なデータが受信されるまでこれをバッファすることができる。一実施形態においては、処理ブロック302はトランスポート・ストリーム214を脱カプセル化することもできる。
工程406では、処理ブロック302は、ソース・デバイスのDTCP−IPモジュール208が暗号化に使用したものと同じDTCPキー212を使用して、トランスポート・ストリーム214を解読することができるため、トランスポート・ストリーム214は解読されて、図5に示すように暗号化されていないクリア・トランスポート・ストリーム500となる。処理ブロック302は、2次デバイス102内のDTCP−IPセキュリティブロック304からDTCPキー212を入手できる。DTCP−IPセキュリティブロック304は、DTCPキー212をクライアント・アプリケーション314内で導出または再構成するのに十分なだけの、DTCPキー212に関する情報を、ソース・デバイス100から事前に入手しておくことができる。
一実施形態においては、特定のソース・デバイス100内でDTCP−IPモジュール208がメディア・ストリームを暗号化するために使用したDTCPキー212に関する情報を、特定のソース・デバイス100からストリームにアクセスすることを許可された各2次デバイス102内のDTCP−IPセキュリティブロック304に配布することができる。これにより、DTCP−IPセキュリティブロック304、またはクライアント・アプリケーション314のその他の部分が、DTCPキー212を導出または再構成できるようになる。一実施形態では、2次デバイス102およびクライアント・アプリケーション314、あるいは2次デバイス102またはクライアント・アプリケーション314は、2次デバイス102またはクライアント・アプリケーション314を許可識別子(加入者アカウント、ユーザ識別子、メンバー識別子、または任意の他の識別子など)と関連付けることにより、特定のソース・デバイス100からストリームにアクセスすることを許可される。非限定的な例では、ケーブルテレビサービスの加入者は、ソース・デバイス100を、テレビ106に接続したケーブルボックスおよびDVR、あるいはケーブルボックスまたはDVRとして自宅に設置し、ソース・デバイス100内のDTCP−IPモジュール208を加入者アカウントにリンクさせることができる。さらに、ソース・デバイス100と2次デバイス102は両方とも加入者アカウントにリンクしているため、ケーブル加入者は、スマートフォンなどの2次デバイス102上のクライアント・アプリケーション314を通じて自分のアカウントにサインインして、2次デバイス102が加入者アカウントにリンクされたソース・デバイス100からストリームを受信するための許可を受けることができる。この例では、加入者のソース・デバイス100内のDTCP−IPモジュール208によって使用されるDTCPキー212に関する情報を、加入者に関連付けられた各2次デバイス102内のDTCP−IPセキュリティブロック304に配布することができ、これにより、加入者に関連付けられた任意の2次デバイス102がDTCPキー212を導出し、加入者に関連付けられたソース・デバイス100により暗号化されたコンテンツを解読できるようになる。
工程408では、クリア・トランスポート・ストリーム500を処理し、チャンク502に分割できる。一実施形態においては、チャンク502は、クリア・トランスポート・
ストリーム500の実質的に均等な時間のセグメントであってもよい。非限定的な例では、一実施形態において、各チャンク502は、クリア・トランスポート・ストリーム500の実質的に長さ5秒間の部分であってもよい。別の実施形態においては、各チャンク502は、実質的に長さ1秒間、10秒間であるか、あるいは、任意の他の所望の長さのクリア・トランスポート・ストリーム500の一部であってもよい。
一実施形態においては、チャンク502に分割する前のクリア・トランスポート・ストリーム500を、その内部にプログラム時刻基準(PCR:Program Clock
Reference)を見出すべく処理することができる。クライアント・アプリケーション314は、プログラム関連付けテーブル(PAT)およびプログラム・マップ・テーブル(PMT)、プログラム時刻基準(PCR)のパケット識別子(PID:Packet Identifier)に関して、クリア・トランスポート・ストリーム500を調べることができる。プログラム関連付けテーブル(PAT)は、クリア・トランスポート・ストリーム500内で利用できる全てのプログラムを列挙することができる。各々のプログラム・マップ・テーブル(PMT)は、プログラム関連付けテーブル(PAT)に挙げられた1つのプログラムに関する情報を記述できる。クリア・トランスポート・ストリーム500の異なるコンポーネント同士を同期できるようにするために、プログラム時刻基準(PCR)をクリア・トランスポート・ストリーム500の全体にわたって含めることができる。非限定的な例では、PCRをクリア・トランスポート・ストリーム500内の少なくとも100ミリ秒毎に含めることにより、クリア・トランスポート・ストリーム500内のオーディオトラックとビデオトラックをPCRに従って同期できるようにしている。一実施形態においては、PCRがクリア・トランスポート・ストリーム500の全体にわたり規則的な間隔で出現する度に、クリア・トランスポート・ストリーム500のPCRの少なくとも一部を、クリア・トランスポート・ストリーム500を実質的に等しい時間のチャンク502に分割するために使用できる。非限定的な例では、PCRを、クリア・トランスポート・ストリームのビットレートを推定するために使用でき、各チャンク502内に何ビット含めるべきかを決定するためにも使用できる。
代替実施形態においては、クリア・トランスポート・ストリーム500の処理およびチャンク化は、PCRについてクリア・トランスポート・ストリーム500を調べることなく実行できる。非限定的な例では、一実施形態において、クライアント・アプリケーション314がクリア・トランスポート・ストリーム500のビットレートを決定する、または知らされることができる。クライアント・アプリケーション314が、クリア・トランスポート・ストリーム500が均等なビットレートを有することを決定する、または知らされる状況では、ビットをカウントし、等しいデータサイズのチャンク502を作成することで、クライアント・アプリケーション314が、クリア・トランスポート・ストリーム500を実質的に等しい時間のチャンク502に分割できるようになる。ビットレートが可変であるが、クリア・トランスポート・ストリーム500のいくつかまたは全てから平均ビットレートを決定できる別の状況においては、実質的に等しい時間を平均ビットレートに従って推定することで、実質的に等しい時間のチャンク502を作成することができる。非限定的な例では、クリア・トランスポート・ストリームの開始区間、たとえば最初の10秒間を、平均ビットレートを見出すために調べることができ、さらに、この平均ビットレートを、クリア・トランスポート・ストリーム500の残り部分について推定される平均ビットレートとして使用することができる。別の非限定的な例では、クリア・トランスポート・ストリーム500の総データサイズを合計持続時間で割ることで、平均ビットレートを推定できる。平均ビットレートを使用するこれらの状況のいくつかにおいては、いくつかのケースではより長いチャンク502が平均合計ビットレートにより近づくことがあるため、チャンク502の時間を、別の実施形態における時間よりも長くなるように選択できる。さらに別の、特にタイミングがサーバによって大まかに実行される実施形態においては、リアルタイムで事前に選択された時間間隔を時計を使用して測ることが
でき、チャンク502がそれぞれの時間間隔でクリア・トランスポート・ストリーム500から発生する。
工程410では、工程408でのチャンク作成時に、チャンク502のIDおよびシーケンスを記述したプレイリスト504を生成でき、このプレイリスト504を2次デバイス102内のメディア・プロキシサーバ308上に記憶させることができる。メディア・プロキシサーバ308は、2次デバイス102内のローカルHTTPプロキシサーバであってもよい。一実施形態においては、プレイリスト504はローリング.m3u、.m3u8、またはその他のタイプの、チャンク502を記述した情報を含むプレイリストであってもよい。一実施形態においては、プレイリスト504はさらに、チャンク502の持続時間を記述したEXT−INFタグをさらに備えてもよい。非限定的な例では、各チャンク502の長さを10秒間に設定した場合、プレイリスト504のEXT−INFを10秒間に設定することができる。上述したように、EXT−INFタグに記述するチャンク502の持続時間は、PCRを使用すること、固定のビットレートのクリア・トランスポート・ストリーム500内のビットをカウントすること、クリア・トランスポート・ストリーム500の平均ビットレートを調べた後にビットをカウントすること、および/または、クリア・トランスポート・ストリーム500内でチャンク502を所定の時間間隔で分割するためにリアルタイム・クロックを使用すること、によって決定することができる。
工程412では、処理ブロック302は、チャンクキー506を用いて各チャンク502を暗号化して暗号化されたチャンク508にし、次に各々の暗号化されたチャンク508をメディア・プロキシサーバ308上に記憶することができる。一実施形態においては、各々のチャンク502を同一のチャンクキー506を用いて暗号化でき、別の実施形態においては、異なるチャンクキー506のシーケンスを用いて、各々のチャンク502を暗号化できる。一実施形態においては、チャンク502を暗号化するために使用した1以上のチャンクキー506は、DTCPキー212とは異なるキーであってもよく、たとえば、補助セキュリティブロック306またはDTCP−IPセキュリティブロック304によって処理ブロック302に提供された、および/または、処理ブロック302によって生成されたチャンクキー506であってもよい。非限定的な例では、補助セキュリティブロック306は、チャンクキー506として使用するための、1以上の新規のキーを生成し、処理ブロック302に提供することができる。代替実施形態では、チャンクキー506はDTCPキー212と同じであってもよい。非限定的な例では、処理ブロック302が、工程406でチャンクキー506として入手したDTCPキー212のコピーを再使用することができるか、あるいは、DTCP−IPセキュリティブロック304が、ソース・デバイス100から入手したDTCPキー212を補助セキュリティブロック306に提供することにより、工程412で、DTCPキー212を、チャンク502を暗号化して暗号化されたチャンク508にするためのチャンクキー506として使用するために、補助セキュリティブロック306から処理ブロック302に提供できるようになる。一実施形態においては、処理ブロック302はコピー制御情報(CCI:Copy Control Information)、権利情報、および出力制御、あるいは権利情報、または出力制御、たとえばDTCP−IPセキュリティブロック304から受信したCCIを追加的に処理することができる。
工程414では、工程412でのチャンク502の暗号化に使用された1以上のチャンクキー506は、2次デバイス102内のセキュリティ・プロキシサーバ310上でホストされてもよい。セキュリティ・プロキシサーバ310は、メディア・プロキシサーバ308と類似した、2次デバイス102内のローカルHTTPプロキシサーバであってもよい。補助セキュリティブロック306は、処理ブロック302に工程412で使用するためのチャンクキー506を提供することに加え、1以上のチャンクキー506をセキュリ
ティ・プロキシサーバ310に提供することができる。代替実施形態においては、処理ブロック302が、チャンク502の暗号化に使用したチャンクキー506をセキュリティ・プロキシサーバ310に提供することができる。
工程416では、メディアプレーヤ312が、ソース・デバイス100から受信したメディア・コンテンツを再生することができる。メディアプレーヤ312は、メディア・プロキシサーバ308およびセキュリティ・プロキシサーバ310の両方と通信した状態にあってもよい。メディアプレーヤ312は、メディア・プロキシサーバ308に記憶されたプレイリスト504を使用して、どのチャンク502を、および/またはどのような順序で再生するかを決定できる。メディアプレーヤ312は、プレイリスト504によって記述されたチャンク502に対応したメディア・プロキシサーバ308から、暗号化されたチャンク508を入手できる。次に、メディアプレーヤ312は、暗号化されたチャンク508の各々について適切なチャンクキー506を入手し、このチャンクキー506を、暗号化されたチャンク508を解読して暗号化されていないチャンク502にするために使用できる。次に、この暗号化されていないチャンク502を再生し、映像として2次デバイス上に表示することができる。メディアプレーヤ312は、プレイリスト504内の後続のチャンク502についてもこの処理を繰り返すことで、要求されたメディア・コンテンツの或る部分または全体を再生できる。
一実施形態においては、各チャンクキー506をメディアプレーヤ312に安全に送達するために、メディアプレーヤ312とセキュリティ・プロキシサーバ310との間に双方向SSL(Secure Socket Layer)接続を確立することが可能である。一実施形態においては、メディアプレーヤ312とセキュリティ・プロキシサーバ310との間の双方向SSL接続により、セキュリティ・プロキシサーバ310が、2次デバイス102が管理するデバイス認証をチェックできるようになり、また、メディアプレーヤ312について、セキュリティ・プロキシサーバ310が管理する認証をチェックできるようになる。
一実施形態においては、プレイリスト504は、チャンク502が作成されれば、および/または、チャンク502を暗号化して暗号化されたチャンク508にする工程が開始されれば、プレイリスト504が各チャンク502に関するデータを含むことができるので、メディアプレーヤ312は、チャンク502に気付き、可能な限り早くチャンク502の再生を始めることができる。同様に、一実施形態においては、暗号化されたチャンク508を小片にてメディア・プロキシサーバ308およびメディアプレーヤ312、あるいはメディア・プロキシサーバ308またはメディアプレーヤ312へ転送することができるので、メディアプレーヤ312が最初の小片を受信すれば、暗号化されたチャンク508の解読および再生を始められるようにしている。メディア・コンテンツが事前に録画され、そのメディア・コンテンツのソース・デバイス100におけるトランスコードがリアルタイムよりも高速で行われるいくつかの状況では、可能な限り早く再生を開始するべく、チャンク502を可能な限り早く作成、暗号化、転送、解読するために、2次デバイス102が、トランスポート・ストリーム214の開始部分をリアルタイム速度よりも高速でロードしようとする。
図6Aは、ソース・デバイス100のDTCP−IPモジュール208によって暗号化されたメディア・コンテンツの例示的な部分600を示す。図6Bは、トランスポート・ストリーム214のカプセル化の過程において作成されたDTCPフレーム604の例示的な実施形態を示す。
一実施形態においては、ソース・デバイス100におけるメディア・コンテンツのトランスポート・ストリーム214への最初の暗号化は、図6Aに示すように、DTCP−I
Pモジュール208によって、事前に決定されたサイズのメディア・コンテンツの部分600を連続的に暗号化することで実行できる。非限定的な例では、DTCP−IPモジュール208は、メディア・コンテンツをAES−CBC(高度暗号化規格(Advanced Encryption Standard)/暗号・ブロック連鎖(Cipher−Block Chaining))に従って暗号化できる。この場合、部分600の事前決定されたサイズは16バイトである。代替実施形態においては、任意の他の事前決定されたサイズを部分600に使用できるが、本開示では簡略化のために、部分600をAES−CBCで使用される16バイトを持つものとして言及する。
各々の部分600を、DTCPキー212に加え初期化ベクトル(IV:Initialization Vector))602を使用して暗号化することができる。第1部分600は導出されたIV602を使用して暗号化できるが、第1部分600が暗号化された後は、先に暗号化された部分600を、次の部分600を暗号化するためのIV602として使用できるようになる。非限定的な例では、AES−CBC方法において、メディア・コンテンツの16バイト部分600が暗号化されると、この暗号化された16バイト部分600を、メディア・コンテンツの次の16バイトを暗号化するためのIV602として使用できるようになる。
DTCP−IPモジュール208は、暗号化されたメディア・コンテンツをトランスポート・ストリーム214内にカプセル化する際に、暗号化されたメディア・コンテンツを複数のDTCPフレーム604にセグメント化することができる。図6Bは、例示的なDTCPフレーム604を示す。各DTCPフレーム604は、ヘッダ606、ペイロード608、テール610を備える保護されたコンテンツパケット(PCP:Protected Content Packet)であってもよい。ヘッダ606とテール610はDTCPフレーム604に関する情報データを備え、一方、ペイロード608はメディア・コンテンツの1以上の暗号化された部分600を備えることができる。上述したように、DTCPフレームのペイロードデータ608内の、最初の部分600を除いた暗号化された各部分600は、先に暗号化された部分600をIV602として使用して暗号化されることができる。そのため、ペイロード608内の暗号化された各部分600のIV602は、直前に暗号化された部分600を探すことで、見出すことができる。ペイロード600内の最初の部分600を暗号化するために使用したデフォルトのIV602は、DTCPフレームのヘッダ606内に記憶される。
いくつかの状況においては、図8Aの上部に示すように、ペイロード608の最終部分600は、1以上のDTCPパディングバイト802を備えることができる。これらの状況においては、DTCPフレーム604の最終部分600に、メディア・コンテンツ自体からの所定のバイト数よりも少ないバイト数を含ませ、暗号化中に残りの所定のバイト数をDTCPパディングバイト802によって補完することができる。非限定的な例では、所定サイズの部分600を16バイトに設定した場合、ペイロード608の最終部分600はメディア・コンテンツからの1〜15バイトを含み、残りをDTCPパディングバイト802を使用して合計16バイトになるよう補完することができる。
図7は、2次デバイス上のメディアプレーヤ312で再生するためにトランスポート・ストリーム214を受信および変換するための第2処理を示す。図7の処理は、DTCPフレーム604をメディアプレーヤ312が希望する暗号化されたチャンク806に変換するために、クライアント・アプリケーション314によって使用され得る。一実施形態においては、以下で説明するように、DTCPフレーム604をより小さいチャンク800に分割して、不足部分をパディングバイト804でパディングを行い、次に、各チャンク800が自己暗号化を行うことで、暗号化されたチャンク806として使用できるようになる。暗号化されたチャンク806は、図4の処理で生成される暗号化されたチャンク
508と類似してもよい。
一実施形態においては、2次デバイスのメディアプレーヤ312によって解読および再生できる暗号化されたチャンク806内のパディングバイト804の形式は、DTCPフレーム604の部分600を補完するために使用されるDCTPパディングバイト802の形式とは異なる。非限定的な例では、Apple(登録商標)のiOS(登録商標)デバイスに元々実装されているメディアプレーヤはHLSプレーヤである。HLSは、AES−CBC暗号化により暗号化されたチャンク508または806を、DTCP−IPがAES−CBC暗号化により暗号化されたDTCPフレーム604を使用するのと全く同様に使用する。しかしながら、HLS暗号化されたチャンク508または806、およびDTCPフレーム604では、使用するパディングバイトは異なる。DTCPフレーム604内のDTCPパディングバイト802を、図8Aに示すように代替HLSパティングバイト804に置き換えるか、または、図8Bに示すようにDTCPフレーム604のチャンク800にHLSパディングバイト804を付加することで、DTCPフレーム604を、トランスポート・ストリーム214の完全な解読と、クリア・トランスポート・ストリーム500のチャンク化と、個々のチャンク502の暗号化済みチャンク508への完全な再暗号化とを伴った図4の処理を経ずに、HLSプレーヤで読み出せる、HLS形式の暗号化されたチャンク806に変換できるようになる。
工程702では、クライアント・アプリケーション314は、DTCPフレーム604を受信すると、個々の部分600を解読せずに、DTCPフレーム604をチャンク800に分割することができる。各チャンク800は、DTCPフレームのペイロード608からの、典型的にはN秒間のチャンクを作成できるだけの数の、多数の暗号化された部分600を備えることができる。非限定的な例では、DTCPフレーム604は複数の16バイト部分600を備えることができ、この際、数個の部分600が各チャンク800を形成することで、各チャンク800が16バイトの倍数のデータサイズを有するようになる。
工程704では、パディングバイト804を各チャンク800の最後に追加でき、図8Aに示すようにこの追加した部分を暗号化し、チャンク800を暗号化されたチャンク806にすることができる。メディアプレーヤ312がDTCPフレームのペイロード608を読み出し、再生できるようにするために、パディングバイト804はメディアプレーヤ312が希望する形式にすることができる。非限定的な例では、Apple(登録商標)のiOS(登録商標)で使用されるメディアプレーヤ312は、暗号化された各チャンク508の最後のHLSパディングバイト804を見出すことが期待されるHLSプレーヤであってもよく、したがって、代替パディングバイト804はHLSパディングバイトであってもよい。一実施形態においては、個々の部分600のサイズと等しい多数のパディングバイト804をチャンク800の最後に追加できる。非限定的な例では、チャンク800が、DTCPフレーム604からのいくつかの16バイト部分600をグループ化して形成されている場合、16のパディングバイト804をチャンク800の最後に追加することができる。DTCPフレーム604から発生した既に暗号化済みのチャンク800と、新たに追加され暗号化されたパディングバイト804とが、完全に暗号化されたチャンク806を形成できるようにするために、追加されたパディングバイト804はDTCPキー212により暗号化することができる。
しかしながら、図8Bに示すようにいくつかの状況では、特定のDTCPフレームのペイロード608の暗号化された最終部分600は、メディア・コンテンツからの総バイト数に満たないバイトを含み、残りをDTCPパディングバイト802で補完されたものであってもよい。この暗号化された最終部分600をチャンク800の一部として使用する場合には、暗号化された最終部分600を解読し、そのDTCPパディングバイト802
を除去して、HLSパディングバイト804に置き換えることができる。非限定的な例では、AES−CBC暗号化方法において、ペイロード608の最終部分600はペイロード608の最後の16バイトであってもよい。クライアント・アプリケーション314は、ペイロード608内の最終部分600の直前に存在する部分600を見出すことによって、最終部分600にIV602を見出すこともできる。非限定的な例では、AES−CBC暗号化方法において、最後の16バイトについてのIV602は、図6Bに示すように、最後の16バイトの前に存在する16バイトを調べることで見出すことができる。最終部分600のIV602は、最終部分600を解読するために、DTCPキー212と併用することができる。工程406と同様に、DTCP−IPセキュリティブロック304がDTCPキー212を処理ブロックに提供することが可能である。最終部分600の解読が終わったら、DTCPパディングバイト802をHLSパディングバイト804に置き換えることができる。置き換えたHLSパディングバイト804を含んだ最終部分600を再度暗号化できることで、最終部分600が組み込まれたチャンク800全体にHLSパディングバイト804が含まれ、暗号化されたチャンク806として使用できるようになる。
別の状況および実施形態、あるいは状況または実施形態においては、ペイロード608の最終部分600が1以上のパディングバイトを含んでおらず、代わりに、メディア・コンテンツからのバイトを排他的に備えている場合には、処理ブロック302が、メディアプレーヤ312が希望する形式のパディングバイトを排他的に備えた追加部分600をペイロード608の最後に付加することができる。非限定的な例では、処理ブロック302は、最終部分600の解読後に、DTCPフレームのペイロード608のこの最終部分600がパディングバイトを全く含んでいないことを発見した場合には、メディアプレーヤ312が希望する形式の16パディングバイトを含んだエキストラ部分600を最終部分600の後に付加することができ、最終部分600を含むチャンク800が、排他的なパディングバイトである新たな最終部分600を有するようにすることができる。
工程706では、HLSパディングバイト804を含んでいる暗号化されたチャンク806は、メディア・プロキシサーバ308に記憶される。
工程708では、暗号化されたチャンク806を記述するプレイリスト504を処理ブロック302が生成し、これをメディア・プロキシサーバ308に記憶することができる。プレイリスト504は、暗号化された各チャンク806の第1部分600についてのIV602を含んだキータグ定義を含むことができ、これにより、暗号化されたチャンク806の最初の部分600の一部を後にそのIV602で解読できるようになる。導出された、DTCPフレーム604からの最初に暗号化されたチャンク806の第1部分600についてのIV602は、DTCPフレームのヘッダ606、およびDTCPキー212から入手でき、一方、別の暗号化されたチャンク806の第1部分600についてのIV602は、DTCPフレーム604から発生する前のDTCPフレーム604内の部分600の手前に存在する部分600を調べることで入手できる。工程410で説明したように、プレイリスト504はローリング.m3u8プレイリスト、または任意の他のタイプのプレイリストであってもよい。
同様に、上述したように、プレイリスト504は、暗号化されたチャンク806の経過時間を記述するEXT−INF値も含むことができる。いくつかの状況および実施形態、あるいは状況または実施形態においては、暗号化されたトランスポート・ストリーム214が固定のビットレートを有することが、処理以前に予めわかっている場合には、EXT−INF値を選ぶことができ、また、DTCPフレーム604からのデータのビット数をカウントすることにより、チャンク境界を決定することができる。
処理前にトランスポート・ストリームのビットレートが不明である、またはビットレー
トが可変である代替の状況および実施形態、あるいは状況もしくは実施形態においては、トランスポート・ストリーム214の最初において選択された部分600または完全なDTCPフレーム604を解読することができ、解読された部分の平均ビットレートを決定することができる。この平均ビットレート、および選ばれた秒単位のチャンクサイズ(プレイリスト504のEXT−INF値)を使用して、DTCPフレームをチャンクに分割することができる。非限定的な例では、暗号化されたトランスポート・ストリーム214の最初の10秒間を解読し、この最初の10秒間の平均ビットレートを求め、この平均ビットレートを使用して、トランスポート・ストリーム214により作成した暗号化された各チャンク806に使用するバイト数を推定できる。
適応型ストリーミング状況などの、さらに別の状況および実施形態、あるいは状況または実施形態においては、トランスポート・ストリーム214のビットレートを高度に可変的にすることができ、それにより、ストリームのビットレートが予め不明であっても、および/または、トランスポート・ストリーム214の最初についての平均ビットレートの推定が、トランスポート・ストリームの残り部分について同様でなくてもよくなる。これらの状況においては、ソース・デバイス100からのトランスポート・ストリーム214のトランスコーディングおよびストリーミングが、実質的にプッシュモデルにて動作でき、この場合、ソース・デバイス100が、メディア・コンテンツがソース・デバイス100に受信されると実質的にリアルタイムでトランスポート・ストリーム214をトランスコードし、2次デバイス102へ送信する。これらの状況では、DTCPフレーム604内の、コンテンツで構成された各チャンクに使用するバイト数をその受信時に推定するために、チャンク境界を、リアルタイム・クロックと、選ばれた秒単位でのチャンクサイズ(プレイリスト504におけるEXT−INF値)とを使用して決定できる。
工程710では、メディアプレーヤ312はメディア・コンテンツを再生することができる。図4の再生工程と同様に、暗号化されたチャンク806とプレイリスト504とをメディア・プロキシサーバ308から取り出し、DTCPキー212をセキュリティ・プロキシサーバ310から取り出すことができる。メディアプレーヤ312は、暗号化されたチャンク806の各部分600を解読するため、および、解読されたメディア・コンテンツを再生するために、DTCPキー212およびIV602を使用できる。
上述したように、多くの状況において、DTCPフレーム604は、暗号化されたチャンク806に役立つ長さよりも長くすることができ、1つのDTCPフレーム604はチャンク800に分割でき、さらに、チャンク800の最後にHLSパディングバイト804を追加する、またはこれに置き換えることにより、メディアプレーヤ312で再生可能な暗号化されたチャンク806を形成することができる。他の状況においては、特定のDTCPフレーム604は、所望サイズの暗号化されたチャンク806よりも小さくてもよい。非限定的な例では、1500バイトのDTCPフレーム604は、所望サイズの暗号化されたチャンク806よりも小さくてもよい。これらの状況では、小さいDTCPフレーム604を次のDTCPフレーム604の最初と組合せることができる。個々のDTCPフレーム604のそれぞれがその最終部分600内にDTCPパディングバイト802を設けることができるため、一実施形態においては、DTCPフレーム604を組合せて1つの暗号化されたチャンク806にする前に、各DTCPフレーム604を解読し、DTCPパディングバイト802を(第1フレームから)除去する、あるいは代替(第2フレームの)パディングバイト804に置き換えることが可能である。
いくつかの代替実施形態においては、図4の処理の要素を図7からの処理で補足することで、チャンク502が暗号化されたチャンク508に再暗号化されないよう防止し、代わりに、DTCPフレーム604を暗号化されたチャンク806に分割することができ、これにより、いくつかの状況においては2次デバイス102の処理ロードを減少させるこ
とができる。一実施形態においては、入力されるトランスポート・ストリーム214を、工程406で説明したとおりに解読して、クリア・トランスポート・ストリーム500を形成することが可能である。このクリア・トランスポート・ストリーム500を、そのPCRまたはその他のフィールドについて調べることにより、たとえば、クリア・トランスポート・ストリーム500内の各PCR同士間の時間の長さに従った、各チャンク502の適切な持続時間を決定できる。この時間の長さを、プレイリスト504内のEXT−INF値として使用できる。しかしながら、これらの実施形態では、クリア・トランスポート・ストリーム500のチャンク化および再暗号化を回避し、代わりに、図7に示した処理により、受信したDTCPフレーム604を暗号化されたチャンク806に直接変換することができる。非限定的な例では、PCRを見出すために、また、各チャンクの適切な持続時間(EXT−INF値)を決定するために、トランスポート・ストリーム214を解読してクリア・トランスポート・ストリーム500にすることができるが、これらの実施形態では、チャンク502を作成および暗号化せず、代わりに、図7の処理を使用して、DTCPフレーム604をチャンク800に分割し、パディングバイトを追加するかまたはこれに置き換えることにより、暗号化されたチャンク806を作成する。この暗号化されたチャンク806は、メディアプレーヤ312で再生できる。
いくつかの状況においては、2次デバイス102のユーザは、一時停止、巻き戻し、早送り、メディア・コンテンツ内の特定の時点の検索、異なる速度での再生要求、または別のオペレーションの任意の要求、を行う命令をソース・デバイス100に出すことができる。非限定的な例では、メディアプレーヤ312はグラフィカル・ユーザ・インターフェースをユーザに提示でき、ユーザはこのGUIを使用して、メディア・コンテンツの再生に関するコマンドを入力できる。メディアプレーヤ312がこれらの命令をクライアント・アプリケーション314へ送ると、クライアント・アプリケーション314が、要求されたオペレーションをソース・デバイス100に、たとえばDNLAヘッダまたはアクションを通じて通知することができる。これらのケースでは、ソース・デバイス100は、トランスポート・ストリーム214内の特定の点を見出すことができるように、指定された不連続点を設けたトランスポート・ストリーム214を生成することができる。一実施形態においては、トランスポート・ストリーム214内のDNLAシグナリング層は、ソース・デバイス100が送信を一時停止した、トランスポート・ストリーム214の送信をバッファリング中である、または、トランスポート・ストリーム214が、続行中の録画の完全な一部ではなく完全な録画を送信中であることを示すことができる。ソース・デバイス100は、トランスポート・ストリーム214の生成を継続し、これを、メディア・コンテンツ内の要求された位置、再生速度、または任意の他の属性にて、2次デバイス102へ転送することにより、2次デバイス102はトランスポート・ストリーム214の受信および処理を継続する。
非限定的な例では、ユーザが、メディア・コンテンツを30秒間巻き戻すコマンドをメディアプレーヤ312に入力すると、このコマンドがソース・デバイス100へ送られる。次に、ソース・デバイス100が、トランスポート・ストリーム214内の30秒前の不連続点に戻し、この不連続点からのトランスポート・ストリーム214を2次デバイスへ送ることができる。2次デバイス102は、受信したトランスポート・ストリーム214を上述したとおりに処理することにより、暗号化されたチャンク508とプレイリスト504が、メディア・コンテンツ内の新たな位置から、あたかもライブストリームであるかのようにメディアプレーヤ312へ送達される。
一実施形態においては、トランスポート・ストリーム214全体を、ソース・デバイス100から、2次デバイス102の記憶メモリに送達またはロードすることができる。非限定的な例では、ソース・デバイス100に録画中のメディアを、2次デバイス102内のハードドライブまたはメモリカードにダウンロードできる。これらの実施形態において
は、トランスポート・ストリーム214をソース・デバイス100からデータネットワーク上でリアルタイムでストリーミングする代わりに、ダウンロードしたトランスポート・ストリーム214をローカルで2次デバイス102上において再生することが可能である。
これらのケースでは、2次デバイス102内のローカルストレージ上にロードされたトランスポート・ストリーム214は、上述した工程によってローカル・メディアプレーヤ312が希望する形式に変換された場合を除き、ローカル・メディアプレーヤ312と互換していなくてもよい。非限定的な例では、DTCP−IPストリームはHLSストリームと互換性がなくてもよいが、DTCP−IPストリームを上述した処理(たとえば、図4および図7、あるいは図4または図7の処理)で処理し、HLSメディアプレーヤ312と互換させることが可能である。
しかしながら、トランスポート・ストリーム214を、たとえばDNLA http GETコマンドによって、メディア・コンテンツのリアルタイム再生よりも高速で2次デバイス102上にロードすることができる。これらの実施形態においては、暗号化されたトランスポート・ストリーム214を、2次デバイスのローカルストレージに予め記憶しておき、再生中に、上述した処理を実行することができる。あるいは、CPUサイクルが利用可能な場合に背景において、ローカルに記憶された暗号化済みのトランスポート・ストリーム214を、メディアプレーヤ312で再生可能な形式に変換することができる。これらの実施形態においては、2次デバイス102は、一連の暗号化されたチャンク508を生成するために、記憶されたトランスポート・ストリーム214を処理することができる。一実施形態においては、一連の暗号化されたチャンク508を、メディア・プロキシサーバ308上の1つの.tsトランスポートファイル、またはローカル・ストレージ・デバイスに記憶でき、全ての暗号化されたチャンク508を含んでいる.tsトランスポートファイル内における暗号化された各チャンク508のロケーションを記述した1つのプレイリスト504を、メディア・プロキシサーバ308上に生成することができる。非限定的な例では、プレイリスト504は、再生終了を示すEND_TAGを含んだメディア・コンテンツの総持続時間を表すことができ、また、プレイリスト504は、1つの.tsトランスポートファイル内における暗号化された各チャンク508のロケーションを示したBYTE_OFFSETパラメータを含むことができる。
これらの実施形態のいくつかにおいては、1以上のチャンクキー506またはDTCPキー212、および/または関連付けされた認証、出力制御ビット、権利情報、または任意の他の情報を、暗号化されたチャンク508を含んだ.tsトランスポートファイルと同じローカル・ストレージ・デバイスまたはメモリカードに記憶できる。
本発明を特定の実施形態と併せて説明したが、当業者には多くの代替、修正、応用が明白となることが明らかである。したがって、説明され、以下に請求される本発明は、添付の請求項の趣旨または広義な範囲に入るこうした代替、修正、応用を全て包括するものである。

Claims (13)

  1. DTCP−IPトランスポート・ストリームをHLS形式に変換する処理方法であって、
    2次デバイスにおいて、暗号化されたDTCP−IPトランスポート・ストリームをソース・デバイスから受信する工程であって、暗号化された前記DTCP−IPトランスポート・ストリームは、複数のDTCPフレームを備え、前記複数のDTCPフレームの各々は複数の暗号化された16バイト部分を備える、工程と、
    DTCPフレームの複数の暗号化された16バイト部分の1以上を1つのチャンクにグループ化することによって、前記複数のDTCPフレームの1つからチャンクを形成する工程と、
    前記チャンクの最後にHLSパディングバイトを追加して、前記HLSパディングバイトを暗号化する工程であって、前記チャンクと暗号化された前記HLSパディングバイトとが暗号化されたチャンクを形成している、工程と、
    暗号化された前記チャンクの各々と暗号化された前記チャンクのプレイリストとを、前記2次デバイスにおけるメディア・プロキシサーバにロードする工程と、
    DTCPキーを前記2次デバイスにおけるセキュリティ・プロキシサーバ上にロードする工程であって、前記DTCPキーは、前記ソース・デバイスから入手されている、工程と、
    前記プレイリスト、暗号化された前記チャンクの各々、および前記DTCPキーを、前記2次デバイス上に元々実装されているメディアプレーヤに提供する工程であって、元々実装されている前記メディアプレーヤは、前記プレイリストに従って、前記DTCPキーを使用して、暗号化された前記チャンクを解読して、前記チャンクを再生する、工程と、を備える、処理方法。
  2. 前記チャンクの1つは、前記複数のDTCPフレームの1つからの16バイトの最終部分を含み、前記処理方法はさらに、
    前記16バイトの最終部分を解読する工程と、
    前記16バイトの最終部分内のDTCPパディングバイトをHLSパディングバイトに置き換える工程と、
    前記16バイトの最終部分を再暗号化して、暗号化された前記チャンクの1つを形成する工程と、を備える、請求項1に記載の処理方法。
  3. 前記プレイリストは、暗号化された各チャンクの時間の長さを記述する値を含む、請求項1に記載の処理方法。
  4. 前記時間の長さは、
    クリア・トランスポート・ストリームを形成するように、暗号化された前記DTCP−IPトランスポート・ストリームのいくつかまたは全てを解読する工程と、
    前記クリア・トランスポート・ストリーム内にPCRを見出す工程と、
    少なくとも部分的に前記クリア・トランスポート・ストリーム内のPCR同士間の時間の長さによって、前記時間の長さを決定する工程と、によって決定される、請求項3に記載の処理方法。
  5. 前記クリア・トランスポートは固定のビットレートを有し、前記時間の長さは、各チャンクのビット数によって決定され、前記ビット数は、前記固定のビットレートからのビットをカウントすることによって見出される、請求項4に記載の処理方法。
  6. 前記クリア・トランスポート・ストリームは可変のビットレートを有し、前記時間の長さは、各チャンクのビット数によって決定され、前記ビット数は、平均ビットレートから
    のビットをカウントすることによって、前記クリア・トランスポート・ストリームの前記平均ビットレートから見出される、請求項4に記載の処理方法。
  7. 前記時間の長さは、暗号化された前記DTCP−IPトランスポート・ストリームを、事前に選択された時間間隔における前記チャンクに分割するように、クロックを使用して決定される、請求項4に記載の処理方法。
  8. 暗号化された前記DTCP−IPトランスポート・ストリームは、前記2次デバイスから前記ソース・デバイスに提出されたユーザメディア制御命令に応答して、前記ソース・デバイスから、或る速度で、または暗号化された前記DTCP−IPトランスポート・ストリーム内の時点において、前記2次デバイスにおいて受信される、請求項1に記載の処理方法。
  9. 異なる16バイト部分を見出すことによって、前記チャンクの初期化ベクトルを見出す工程であって、前記異なる16バイト部分は、前記DTCPフレーム内の前記チャンク内の第1部分として使用されている前記16バイト部分の直前に存在する、工程と、
    前記異なる16バイト部分を前記チャンクの前記初期化ベクトルとして使用する工程と、をさらに備える、請求項1に記載の処理方法。
  10. 前記プレイリスト内に前記チャンクの前記初期化ベクトルを含める工程をさらに備える、請求項9に記載の処理方法。
  11. 暗号化された前記DTCP−IPトランスポート・ストリームは、前記2次デバイスから前記ソース・デバイスに提出されたユーザメディア制御命令に応答して、前記ソース・デバイスから、或る速度で、または暗号化された前記DTCP−IPトランスポート・ストリーム内の時点において、前記2次デバイスにおいて受信される、請求項1に記載の処理方法。
  12. 暗号化された前記DTCP−IPトランスポート・ストリーム自体の全体を、前記2次デバイス内のローカルストレージにおいて受信および記憶する工程と、後の或る時間において再生する要求があった場合にのみ、前記チャンクを形成する工程と、をさらに備える、請求項1に記載の処理方法。
  13. DTCP−IPトランスポート・ストリームをHLS形式に変換する処理方法であって、
    暗号化されたDTCP−IPトランスポート・ストリームを、2次デバイスにおいてソース・デバイスから受信する工程と、
    前記2次デバイスにおいて、暗号化された前記DTCP−IPトランスポート・ストリームを、DTCPキーを使用してクリア・トランスポート・ストリームに解読する工程と、
    前記2次デバイスにおいて、前記クリア・トランスポート・ストリームを複数のチャンクに分割する工程と、
    前記2次デバイスにおいて、前記複数のチャンクのプレイリストを生成する工程と、
    前記2次デバイスにおいて、チャンクキーを使用して、前記複数のチャンクの各々を暗号化されたチャンクに暗号化する工程と、
    前記プレイリストと暗号化された前記チャンクの各々とを、前記2次デバイスにおけるメディア・プロキシサーバ上に記憶する工程と、
    前記チャンクキーを、前記2次デバイスにおけるセキュリティ・プロキシサーバ上に記憶する工程と、
    前記プレイリスト、暗号化された前記チャンクの各々、および前記チャンクキーを、前
    記2次デバイス上に元々実装されているメディアプレーヤに提供する工程であって、元々実装されている前記メディアプレーヤは、前記プレイリストに従って、前記チャンクキーを使用して暗号化された前記チャンクを前記チャンクへと解読して、前記チャンクを再生する、工程と、を備える、処理方法。
JP2016503398A 2013-03-15 2014-03-17 安全なメディア再生のためのdlna(登録商標)/dtcpストリーム変換 Active JP6077173B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201361801216P 2013-03-15 2013-03-15
US61/801,216 2013-03-15
US201361817115P 2013-04-29 2013-04-29
US61/817,115 2013-04-29
US14/215,848 2014-03-17
US14/215,848 US9338149B2 (en) 2013-03-15 2014-03-17 DLNA/DTCP stream conversion for secure media playback
PCT/US2014/030420 WO2014145624A1 (en) 2013-03-15 2014-03-17 Dlna/dtcp stream conversion for secure media playback

Publications (2)

Publication Number Publication Date
JP2016519471A true JP2016519471A (ja) 2016-06-30
JP6077173B2 JP6077173B2 (ja) 2017-02-08

Family

ID=51534026

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016503398A Active JP6077173B2 (ja) 2013-03-15 2014-03-17 安全なメディア再生のためのdlna(登録商標)/dtcpストリーム変換

Country Status (7)

Country Link
US (1) US9338149B2 (ja)
EP (1) EP2954684B1 (ja)
JP (1) JP6077173B2 (ja)
KR (1) KR101730754B1 (ja)
CA (1) CA2906179C (ja)
MX (1) MX356316B (ja)
WO (1) WO2014145624A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10182038B2 (en) 2013-07-29 2019-01-15 Mobitv, Inc. Efficient common storage of partially encrypted content
SG11201609457UA (en) * 2014-08-07 2016-12-29 Sonic Ip Inc Systems and methods for protecting elementary bitstreams incorporating independently encoded tiles
WO2016112338A1 (en) * 2015-01-08 2016-07-14 Intertrust Technologies Corporation Cryptographic systems and methods
US9665699B2 (en) * 2015-03-13 2017-05-30 Nxp B.V. Implementing padding in a white-box implementation
EP3070629B1 (en) * 2015-03-20 2019-05-15 Nagravision S.A. Method and device to protect a decrypted media content before transmission to a consumption device
GB201505438D0 (en) 2015-03-30 2015-05-13 Irdeto Bv Accessing content at a device
US9438936B1 (en) * 2015-04-03 2016-09-06 Mirriad Limited Producing video data
FR3038415B1 (fr) * 2015-07-01 2017-08-11 Viaccess Sa Procede de fourniture d’un contenu multimedia protege
CN105049920B (zh) * 2015-07-27 2018-08-10 青岛海信移动通信技术股份有限公司 一种多媒体文件的录制方法和装置
US9838202B2 (en) 2015-08-31 2017-12-05 Microsoft Technology Licensing, Llc Modifying a content descriptor to facilitate delivery of token-authorized encrypted data
CN107294913B (zh) * 2016-03-31 2021-08-27 阿里巴巴集团控股有限公司 基于http的安全通信方法、服务端及客户端
EP3293653A1 (en) 2016-09-09 2018-03-14 Nagravision S.A. A system for decrypting and rendering content
US10306276B2 (en) * 2016-09-12 2019-05-28 Funai Electric Co., Ltd. Information device
US10944572B2 (en) 2017-01-02 2021-03-09 Western Digital Technologies, Inc. Decryption and variant processing
EP3602314A4 (en) * 2017-03-30 2021-03-03 Blonder Tongue Laboratories, Inc. CORPORATE CONTENT GATEWAY
CN108495190B (zh) * 2018-01-29 2021-08-20 北京奇艺世纪科技有限公司 一种在线视频的点播控制方法和装置
CN108777611B (zh) * 2018-05-11 2021-06-18 吉林大学 基于双密钥流密码的双向链表顺序加密解密方法
CN113206841B (zh) * 2021-04-26 2022-08-23 杭州当虹科技股份有限公司 基于hls协议的aes解密代理方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008310678A (ja) * 2007-06-15 2008-12-25 Toshiba Corp 記憶装置、情報機器、及びコンテンツ変換方法
JP2010252260A (ja) * 2009-04-20 2010-11-04 Sony Corp ネットワークサーバ、メディア形式変換方法、及び、メディア形式変換システム
US20120170741A1 (en) * 2011-01-05 2012-07-05 General Instrument Corporation Secure live television streaming
US20120185693A1 (en) * 2011-01-05 2012-07-19 General Instrument Corporation Secure progressive download for media content playback
US20120284802A1 (en) * 2011-05-02 2012-11-08 Authentec, Inc. Method for playing digital contents protected with a drm (digital right management) scheme and corresponding system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5603012A (en) * 1992-06-30 1997-02-11 Discovision Associates Start code detector
US5748642A (en) * 1995-09-25 1998-05-05 Credence Systems Corporation Parallel processing integrated circuit tester
US6690683B1 (en) * 1999-11-23 2004-02-10 International Business Machines Corporation Method and apparatus for demultiplexing a shared data channel into a multitude of separate data streams, restoring the original CBR
US8214655B2 (en) * 2002-03-29 2012-07-03 Kabushiki Kaisha Toshiba Data structure of multimedia file format, encrypting method and device thereof, and decrypting method and device thereof
US20100118929A1 (en) * 2007-04-12 2010-05-13 Morgan Hirosuke Miki Communication apparatus, communication method, communication program, and recording medium
US20120140645A1 (en) * 2010-12-03 2012-06-07 General Instrument Corporation Method and apparatus for distributing video
WO2012129549A1 (en) 2011-03-23 2012-09-27 General Instrument Corporation System and methods for providing live streaming content using digital rights management-based key management
US20130067109A1 (en) * 2011-09-12 2013-03-14 Tektronix, Inc. Monitoring Over-the-Top Adaptive Video Streaming
US8738595B2 (en) * 2011-11-22 2014-05-27 Navteq B.V. Location based full text search
US8792643B1 (en) * 2012-02-16 2014-07-29 Google Inc. System and methodology for decrypting encrypted media
US9454588B2 (en) * 2012-08-14 2016-09-27 International Business Machines Corporation Custom object-in-memory format in data grid network appliance

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008310678A (ja) * 2007-06-15 2008-12-25 Toshiba Corp 記憶装置、情報機器、及びコンテンツ変換方法
JP2010252260A (ja) * 2009-04-20 2010-11-04 Sony Corp ネットワークサーバ、メディア形式変換方法、及び、メディア形式変換システム
US20120170741A1 (en) * 2011-01-05 2012-07-05 General Instrument Corporation Secure live television streaming
US20120185693A1 (en) * 2011-01-05 2012-07-19 General Instrument Corporation Secure progressive download for media content playback
US20120284802A1 (en) * 2011-05-02 2012-11-08 Authentec, Inc. Method for playing digital contents protected with a drm (digital right management) scheme and corresponding system

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JPN6016047918; 嶋久登: '「知っておきたいキーワード 第5回 DTCP-IP」' 映像情報メディア学会誌 2006年5月号(Vol.60, No.5), 20060501, 第746〜747頁, (社)映像情報メディア学会 *
JPN6016047919; Daniel H Steinberg(外1名)著,長尾高弘翻訳・監修: 「iPadプログラミング」 初版, 20110527, 第173〜181頁, 株式会社翔泳社 *
JPN6016047920; 平林光浩: '「既存のWebサーバーで途切れない動画配信を実現」' 日経エレクトロニクス 2012年3月19日号(No.1078), 20120319, 第77〜85頁, 日経BP社 *
JPN6016047921; 平林光浩: '「特集 ウェブ連動のメディア技術 4 次世代動画配信技術「MPEG-DASH」技術概要と標準化・関連技術動向' 映像情報メディア学会誌 2013年2月号(Vol.67, No.2), 20130201, 第109〜115頁, 一般社団法人映像情報メディア学会 *

Also Published As

Publication number Publication date
MX2015011877A (es) 2016-06-24
CA2906179A1 (en) 2014-09-18
EP2954684A1 (en) 2015-12-16
US9338149B2 (en) 2016-05-10
US20140281481A1 (en) 2014-09-18
WO2014145624A1 (en) 2014-09-18
MX356316B (es) 2018-05-23
KR101730754B1 (ko) 2017-04-26
JP6077173B2 (ja) 2017-02-08
EP2954684B1 (en) 2021-05-05
CA2906179C (en) 2020-03-24
KR20150131191A (ko) 2015-11-24

Similar Documents

Publication Publication Date Title
JP6077173B2 (ja) 安全なメディア再生のためのdlna(登録商標)/dtcpストリーム変換
US9559845B2 (en) Systems, methods and apparatuses for the secure transmission of media content
US7231516B1 (en) Networked digital video recording system with copy protection and random access playback
KR101428875B1 (ko) Hls 기반 보안 처리 시스템 및 그 방법
US9497514B2 (en) DTCP converter for HLS
US10015542B2 (en) Method and apparatus for secure storage and retrieval of live off disk media programs
US9042555B2 (en) On-demand download of partial encrypted content for partial super distributed content
US9794230B2 (en) Method and system for encrypting multimedia streams
US9325945B2 (en) Video server and client with custom key exchange and methods for use therewith
US20150199498A1 (en) Flexible and efficient signaling and carriage of authorization acquisition information for dynamic adaptive streaming
US20150149778A1 (en) Content reception apparatus and method, and content transmission apparatus and method
US8930446B2 (en) Altering transcoding priority
WO2016141811A1 (zh) 流媒体推送方法及系统
JP4860993B2 (ja) コンテンツ・パッケージングの保護方法および装置

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170111

R150 Certificate of patent or registration of utility model

Ref document number: 6077173

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350