IP Library Granted Patent US 9,491,521
Granted Patent B2
US 9,491,521 · App. 14/312,558 · Granted Nov 8, 2016

Trick play seek operation for HLS converted from DTCP

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,491,521
App. No.
14/312,558
Granted
Nov 8, 2016
Kind
B2
Abstract

A process to enable trick play operations is provided for HLS streaming video that has been converted by a system from DTCP. The system server provides a modified SEEK operation when an HLS GET message is received from an HLS client player. For the process, a DLNA header is provided from the HLS client player by including it in the HLS GET message. The HLS client also provides a DLNA RANGE REQUEST that requests a range of chunks making up a video desired and a seek point from where a seek operation is needed. The HLS server recognizes the DLNA header of the HLS GET message and DLNA RANGE REQUEST and obtains a range of chunks making up an extent of the recorded video using metadata fields. The server then generates a new HLS playlist with identification of the chunks and keytag corresponding to the seek operation. The server will provide chunks from the seek point and a rolling playlist to identify chunks and keytag from the seek point.

Claims (40)

1. A method for producing HLS streaming video on a system otherwise configured for a DTCP standard, the method comprising:

receiving a request for a DLNA SEEK operation for a requested new content;

wherein the request for the DLNA SEEK operation is provided upon receipt of a HLS GET message at a HLS server, and

wherein a DLNA SEEK header includes information for the DLNA SEEK operation and is provided from the HLS server in response to the HLS GET message from a client;

creating chunks for a DTCP Protected Content Packet (PCP) equivalent structure for a range of new content needed for the DLNA SEEK operation;

generating a new HLS playlist in response to the DLNA SEEK operation with identification of the chunks and a keytag;

providing a DTCP PCP header for the playlist that is configured to include an exchange key ID and copy control information;

deriving at least one IV to be inserted in each of the keytags;

starting each chunk with an IV, allowing placement of encrypted DTCP PCP content inside the chunk; and

adding padding at each chunk boundary.

2. The method of claim 1 , wherein a change is supported so that an HLS server recognizes DLNA headers in an HLS GET command to accomplish the DLNA SEEK operation in DLNA.

3. The method of claim 2 , wherein the change comprises:

obtaining an extent of the recorded asset or asset portion of an in progress recording using metadata fields, the in progress recording making up the requested new content for the DLNA SEEK operation; and

determining a current time seek point position x somewhere between the beginning and the end of the asset or asset portion.

4. The method of claim 1 , wherein the chunks of the playlist provide a range of content needed for the HLS get message.

5. The method of claim 4 , wherein the HLS server processes a DLNA RANGE REQUEST command to obtain all the chunks needed for the HLS GET message sent by a client, and wherein the chunks for the playlist are obtained based on SEEK limits determined from the DLNA RANGE REQUEST command.

6. The method of claim 5 , wherein the HLS server processes the HLS GET message received from a client to generate the new playlist and the chunks corresponding to the DLNA SEEK operation.

7. The method of claim 3 ,

wherein play by the server will begin at the seek point, and

wherein the server provides a rolling playlist to move forward.

8. An HLS server for producing HLS streaming video on a system otherwise configured for a DTCP standard, the server comprising:

at least one processor; and

a memory connected to the processor, the memory storing code that enables the processor to receive requests for video and provide video to an HLS client device, wherein the code configures the processor to perform the following steps:

receive a request for a DLNA SEEK operation for a requested new content,

wherein the request for the DLNA SEEK operation is provided upon receipt of a HLS GET message at the HLS server, and

wherein a DLNA SEEK header includes information for the DLNA SEEK operation and is provided from the HLS server in response to the HLS GET message from a client;

create chunks for a DTCP Protected Content Packet (PCP) equivalent structure for a range of new content needed for the DLNA SEEK operation;

generate a new HLS playlist in response to the DLNA SEEK operation with identification of the chunks and a keytag;

provide a DTCP PCP header for the playlist that is configured to include an exchange key ID and copy control information;

derive at least one IV to be inserted in each of the keytags;

starting each chunk with an IV, allowing placement of encrypted DTCP PCP content inside the chunk; and

add padding at each chunk boundary,

wherein the request for the DLNA SEEK operation is provided upon receipt of a HLS GET message at the HLS server from the HLS client device, and

wherein the DLNA header provided to the HLS server is included in the HLS GET message from a client.

9. The HLS server of claim 8 wherein the code further configures the processor to perform the following additional steps:

obtain an extent of the recorded asset or asset portion of an in progress recording using metadata fields, the in progress recording making up the requested new content for the DLNA SEEK operation; and

determine a current time seek point position x somewhere between the beginning and the end of the asset or asset portion.

10. The HLS server of claim 7 , wherein the chunks of the playlist provide a range of content needed for the HLS get message.

11. The HLS server of claim 10 , wherein the HLS server processes a DLNA RANGE REQUEST command to obtain all the chunks needed for the HLS GET message sent by a client, and wherein the chunks for the playlist are obtained based on SEEK limits determined from the DLNA RANGE REQUEST command.

12. The HLS server of claim 11 , wherein the HLS server processes the HLS GET message received from a client to generate the new playlist and the chunks corresponding to the DLNA SEEK operation.

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 →
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 →
PATENT SECURITY AGREEMENT Recorded Jul 3, 2019
From: ARRIS ENTERPRISES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 049820/0495 →
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: MANGALORE, GEETHA; MORONEY, PAUL
To: GENERAL INSTRUMENT CORPORATION
Reel/Frame 033588/0195 →