IP Library Granted Patent US 9,497,514
Granted Patent B2
US 9,497,514 · App. 14/312,536 · Granted Nov 15, 2016

DTCP converter for HLS

Inventors: Paul Moroney (La Jolla, CA); Geetha Mangalore (San Diego, CA); William P. Franks (San Diego, CA)
Assignee: ARRIS Enterprises, Inc.
H04N21/64715H04L9/0861H04L63/00H04L63/061H04L63/123H04L65/1026H04L65/608H04L65/80H04N7/1675H04N7/17318H04N21/2351H04N21/2381H04N21/23439H04N21/26613H04N21/4126H04N21/4181H04N21/433H04N21/435H04N21/4363H04N21/4408H04N21/440218H04N21/47217H04N21/6131H04N21/64322H04N21/6587H04N21/8355H04N21/8456H04L2209/20H04L2209/60H04N21/26258H04N21/4825
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,497,514
App. No.
14/312,536
Granted
Nov 15, 2016
Kind
B2
Abstract

A method for DTCP to HLS conversion is provided that starts with a standard DTCP Protected Content Packet (PCP) structure. The PCP payload data is chunked at defined chunk boundaries. Each chunk is then appended with a pad to be compatible with HLS. An HLS playlist is then provided using the PCP header with identification of the chunks and a keytag. The chunk is encrypted with a DTCP key calculated by the DTCP standard using: (a) copy control bits; (b) a nonce, and (c) an exchange key ID. Relevant PCP header fields are provided in the keytag for the HLS playlist, including the value of the copy control bits, the nonce and the exchange key ID, supporting the transaction that enables calculation of the DTCP content key to enable later decryption of the chunks.

Claims (28)

1. A method for producing HLS comprising:

producing HLS content producing a HLS playlist including identification of chunks and a keytag;

encrypting content with a DTCP key, calculated by the DTCP standard using: (a) copy control bits; (b) a nonce, and (c) an exchange key ID;

providing relevant PCP header fields in the keytag for the HLS playlist, including the value of the copy control, nonce and an ID for the exchange key, supporting the transaction that determines the exchange key; and

sending the PCP header fields by a query field appended to a URL of the keytag.

2. The method of claim 1 , wherein an IV provided in the keytag is randomly generated.

3. The method of claim 1 , wherein the query field comprises the same first 10 bytes as an actual PCP header, and is encoded in base 64.

4. The method of claim 1 , wherein an IV provided in the keytag is calculated in the same manner as an IV calculated for a PCP header of the DTCP standard.

5. The method of claim 1 , further comprising dividing content into chunks on 16 byte boundaries, so that an HLS padding field is 16 bytes long.

6. The method of claim 5 , further comprising choosing IVs for each chunk such that encrypted data in the chunks, with the HLS padding removed, with all chunks appended together is the same as an equivalent PCP would have carried.

7. The method of claim 6 , wherein second and subsequent chunk padding IVs are set for the HLS playlist by copying the last 16 bytes of content from a previous chunk prior to its padding.

8. The method of claim 1 , wherein the exchange key ID and keytag can be delivered in response to a client request, and used by the client to obtain a DTCP content key to enable the HLS content to be decrypted.

9. The method of claim 1 , wherein the keytag includes an IV calculated using DTCP.

10. The method of claim 7 , wherein a DTCP standard PCP structure is encrypted using the first IV.

11. The method of claim 1 , wherein the exchange key is acquired during an AKE transaction using the exchange key ID.

12. The method of claim 1 , wherein when an iOS client player provides information from the PCP header with a key request, the DTCP content key is calculated in part based upon the related AKE transaction standard to DTCP.

13. The method of claim 1 , wherein the DTCP content key is calculated and delivered to the client native HLS player using a proxy.

14. The method of claim 13 , further comprising providing query field information of the keytag (pcph=value) from the equivalent PCP header to a client SDK when the client native player requests the content key, wherein when the client that comprises an iOS HLS player presents the query field PCP header (pcph) to the local host client proxy, the DTCP key is provided to the client from the proxy.

15. The method of claim 1 , wherein the DTCP content key is calculated and delivered to the client native HLS player using an iOS custom URL handler.

16. The method of claim 3 , wherein the playlist is a rolling HLS playlist provided by a server, wherein while the rolling playlist rolls through and within a single PCP only one query field is used.

17. The method of claim 16 , wherein when the rolling playlist includes chunks from the end of one PCP and the start of the next two different ?pcph fields, and wherein two different exchange keys will be in use for a brief time.

18. A method for producing HLS comprising:

producing HLS content producing a HLS playlist including identification of chunks and a keytag;

encrypting content with a DTCP key, calculated by the DTCP standard using: (a) copy control bits; (b) a nonce, and (c) an exchange key ID; and

providing relevant PCP header fields in the keytag for the HLS playlist, including the value of the copy control, nonce and an ID for the exchange key, supporting the transaction that determines the exchange key,

wherein the keytag URL is appended with a CMI query field portion to enable compatibility with the CMI field for PCP2 of DTCP.

19. The method of claim 18 , wherein the CMI query field portion is a concatenation of all CMI descriptors of the CMI field for PCP2.

20. The method of claim 19 , wherein the CMI query field portion is base 64 encoded.

Assignments (14)
RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504 Recorded Dec 19, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.); ARRIS TECHNOLOGY, INC.; ARRIS SOLUTIONS, INC.; COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; RUCKUS WIRELESS, LLC (F/K/A RUCKUS WIRELESS, INC.)
Reel/Frame 071477/0255 →
SECURITY INTEREST Recorded Dec 17, 2024
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE INC., OF NORTH CAROLINA; OUTDOOR WIRELESS NETWORKS LLC; RUCKUS IP HOLDINGS LLC
To: APOLLO ADMINISTRATIVE AGENCY LLC
Reel/Frame 069889/0114 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2022
From: ARRIS TECHNOLOGY, INC.
To: ARRIS ENTERPRISES, INC.
Reel/Frame 060791/0583 →
SECURITY INTEREST Recorded Nov 19, 2021
From: ARRIS SOLUTIONS, INC.; ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA; RUCKUS WIRELESS, INC.
To: WILMINGTON TRUST
Reel/Frame 060752/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S NAME PREVIOUSLY RECORDED AT REEL: 049820 FRAME: 0495. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Jul 25, 2019
From: ARRIS ENTERPRISES, INC.
To: ARRIS ENTERPRISES LLC
Reel/Frame 049858/0161 →
PATENT SECURITY AGREEMENT Recorded Jul 3, 2019
From: ARRIS ENTERPRISES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 049820/0495 →
ABL SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049892/0396 →
TERM LOAN SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049905/0504 →
CHANGE OF NAME Recorded Jul 2, 2019
From: ARRIS ENTERPRISES. INC
To: ARRIS
Reel/Frame 049669/0652 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 8, 2019
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS INTERNATIONAL LIMITED; ARRIS TECHNOLOGY, INC.; ARCHIE U.S. MERGER LLC; ARCHIE U.S. HOLDINGS LLC; ARRIS GLOBAL SERVICES, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS, INC.; ARRIS SOLUTIONS, INC.; BIG BAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; JERROLD DC RADIO, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC
Reel/Frame 050721/0401 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2015
From: ARRIS TECHNOLOGY, INC
To: ARRIS ENTERPRISES, INC.
Reel/Frame 037328/0341 →
SECURITY INTEREST Recorded Jun 26, 2015
From: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS INTERNATIONAL LIMITED; ARRIS TECHNOLOGY, INC.; ARCHIE U.S. MERGER LLC; ARCHIE U.S. HOLDINGS LLC; ARRIS GLOBAL SERVICES, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS, INC.; ARRIS SOLUTIONS, INC.; BIG BAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; JERROLD DC RADIO, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 036020/0789 →
MERGER AND CHANGE OF NAME Recorded Mar 5, 2015
From: GENERAL INSTRUMENT CORPORATION; ARRIS TECHNOLOGY, INC.
To: ARRIS TECHNOLOGY, INC.
Reel/Frame 035133/0286 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2014
From: MORONEY, PAUL; MANGALORE, GEETHA; FRANKS, WILLIAM P.
To: GENERAL INSTRUMENT CORPORATION
Reel/Frame 033588/0086 →
Continuity (8)
Provisional Application 61838180 · Jun 21, 2013
Provisional Application 61846593 · Jul 15, 2013
Provisional Application 61856536 · Jul 19, 2013
Provisional Application 61857605 · Jul 23, 2013
Provisional Application 61874478 · Sep 6, 2013
Provisional Application 61890075 · Oct 11, 2013
Provisional Application 62004953 · May 30, 2014
Related Publication 20140376719A1 · Dec 25, 2014