IP Library › Granted Patent US 12,744,952
Granted Patent B1
US 12,744,952 · App. 18/898,297 · Granted Sep 22, 2026

Computer-implemented methods for generation of a manifest for a video

Inventors: Paul Nann (Sammamish, WA); Naveen Kumar Chandravanshi (Bellevue, WA); Artem Rakov (Toronto, CA); Kyle Koceski (Seattle, WA)
Assignee: Amazon Technologies, Inc.
H04N21/26258H04N21/2393
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 12,744,952
App. No.
18/898,297
Granted
Sep 22, 2026
Kind
B1
Abstract

Techniques for generating a manifest, for a multimedia file, that utilizes a hierarchical data structure with (i) nodes for the manifest request parameters and (ii) the instructions for how to generate a manifest based on that manifest request parameter included within the node are described. According to some examples, a computer-implemented method includes receiving, at a content delivery service from a media player device, a manifest request comprising a plurality of manifest request parameters for a media file; determining, by the content delivery service, a first node of a tree data structure based on a first manifest request parameter of the plurality of manifest request parameters of the manifest request; determining, by the content delivery service, a second node of the tree data structure based on a second manifest request parameter of the plurality of manifest request parameters of the manifest request; determining, by the content delivery service, a third node of the tree data structure based on the first manifest request parameter and the second manifest request parameter of the plurality of manifest request parameters of the manifest request; determining, by the content delivery service, a first manifest instruction from the first node, a second manifest instruction from the second node, and a third manifest instruction from the third node; generating, by the content delivery service, a manifest for the media file based on the first manifest instruction, the second manifest instruction, and the third manifest instruction; and sending, by the content delivery service, the manifest to the media player device.

Claims (59)

1 . A computer-implemented method comprising:

receiving, at a content delivery service from a media player device, a manifest request comprising a plurality of manifest request parameters for a media file;

determining, by the content delivery service, a first node of a tree data structure based on a first manifest request parameter of the plurality of manifest request parameters of the manifest request;

determining, by the content delivery service, a second node of the tree data structure based on a second manifest request parameter of the plurality of manifest request parameters of the manifest request;

determining, by the content delivery service, a third node of the tree data structure based on the first manifest request parameter and the second manifest request parameter of the plurality of manifest request parameters of the manifest request;

determining, by the content delivery service, a first manifest instruction from the first node, a second manifest instruction from the second node, and a third manifest instruction from the third node;

generating, by the content delivery service, a manifest for the media file based on the first manifest instruction, the second manifest instruction, and the third manifest instruction; and

sending, by the content delivery service, the manifest to the media player device.

2 . The computer-implemented method of claim 1 , wherein the generating the manifest comprises:

determining, by the content delivery service, that two or more of the first manifest instruction, the second manifest instruction, and the third manifest instruction are contradicting; and

selecting, by the content delivery service, one manifest instruction of the two or more of the first manifest instruction, the second manifest instruction, and the third manifest instruction based on corresponding positions of the first node, the second node, and the third node in the tree data structure, wherein the generating the manifest is based on the one manifest instruction.

3 . The computer-implemented method of claim 1 , wherein the generating the manifest comprises:

determining, by the content delivery service, that two or more of the first manifest instruction, the second manifest instruction, and the third manifest instruction have a non-contradicting and differing range; and

combining, by the content delivery service, the two or more of the first manifest instruction, the second manifest instruction, and the third manifest instruction based on the non-contradicting and differing range into a single manifest instruction, wherein the generating the manifest is based on the single manifest instruction.

4 . A computer-implemented method comprising:

receiving a manifest request comprising a plurality of manifest request parameters for a media file;

determining a first node of a hierarchical data structure based on a first manifest request parameter of the plurality of manifest request parameters of the manifest request;

determining a second node of the hierarchical data structure based on a second manifest request parameter of the plurality of manifest request parameters of the manifest request;

determining a third node of the hierarchical data structure based on the first manifest request parameter and the second manifest request parameter of the plurality of manifest request parameters of the manifest request;

determining a first manifest instruction from the first node, a second manifest instruction from the second node, and a third manifest instruction from the third node;

generating a manifest for the media file based on the first manifest instruction, the second manifest instruction, and the third manifest instruction; and

accessing the media file based on the manifest.

5 . The computer-implemented method of claim 4 , wherein the generating the manifest comprises:

determining that two or more of the first manifest instruction, the second manifest instruction, and the third manifest instruction are contradicting; and

selecting one manifest instruction of the two or more of the first manifest instruction, the second manifest instruction, and the third manifest instruction based on corresponding positions of the first node, the second node, and the third node in the hierarchical data structure, wherein the generating the manifest is based on the one manifest instruction.

6 . The computer-implemented method of claim 5 , wherein the hierarchical data structure is a tree data structure of manifest request parameters, and the selecting the one manifest instruction based on the corresponding positions comprises determining a deepest node of the first node, the second node, and the third node in the tree data structure of manifest request parameters, and selecting a corresponding manifest instruction from the deepest node as the one manifest instruction.

7 . The computer-implemented method of claim 5 , wherein the two or more of the first manifest instruction, the second manifest instruction, and the third manifest instruction that are contradicting comprise one manifest instruction for a single key digital rights management instruction and another manifest instruction for a dual key digital rights management instruction.

8 . The computer-implemented method of claim 4 , wherein the receiving is at a content delivery service and the manifest request is from a media player device, and the computer-implement method further comprises:

determining an additional parameter for the request by the content delivery service;

determining a fourth node of the hierarchical data structure based on the additional parameter; and

determining a fourth manifest instruction from the fourth node, wherein the generating the manifest is also based on the fourth manifest instruction.

9 . The computer-implemented method of claim 4 , wherein the generating the manifest comprises:

determining that two or more of the first manifest instruction, the second manifest instruction, and the third manifest instruction have an overlap; and

combining the two or more of the first manifest instruction, the second manifest instruction, and the third manifest instruction based on the overlap into a single manifest instruction, wherein the generating the manifest is based on the single manifest instruction.

10 . The computer-implemented method of claim 9 , wherein the combining is according to a first merging policy for a first type of manifest instructions, and a second merging policy for a second type of manifest instructions.

11 . The computer-implemented method of claim 10 , wherein the first merging policy is selecting a maximum value from a plurality of overlapping values within the first type of manifest instructions.

12 . The computer-implemented method of claim 11 , wherein the second merging policy is selecting a minimum value from a plurality of overlapping values within the second type of manifest instructions.

13 . The computer-implemented method of claim 10 , wherein the second merging policy is selecting a minimum value from a plurality of overlapping values within the second type of manifest instructions.

14 . The computer-implemented method of claim 4 , further comprising generating the first node of the hierarchical data structure based on receipt of the first manifest request parameter.

15 . A non-transitory computer-readable medium storing code that, when executed by a device, causes the device to perform a method comprising:

receiving a manifest request comprising a plurality of manifest request parameters for a media file;

determining a first node of a hierarchical data structure based on a first manifest request parameter of the plurality of manifest request parameters of the manifest request;

determining a second node of the hierarchical data structure based on a second manifest request parameter of the plurality of manifest request parameters of the manifest request;

determining a third node of the hierarchical data structure based on the first manifest request parameter and the second manifest request parameter of the plurality of manifest request parameters of the manifest request;

determining a first manifest instruction from the first node, a second manifest instruction from the second node, and a third manifest instruction from the third node;

generating a manifest for the media file based on the first manifest instruction, the second manifest instruction, and the third manifest instruction; and

accessing the media file based on the manifest.

16 . The non-transitory computer-readable medium of claim 15 , wherein the generating the manifest comprises:

determining that two or more of the first manifest instruction, the second manifest instruction, and the third manifest instruction are contradicting; and

selecting one manifest instruction of the two or more of the first manifest instruction, the second manifest instruction, and the third manifest instruction based on corresponding positions of the first node, the second node, and the third node in the hierarchical data structure, wherein the generating the manifest is based on the one manifest instruction.

17 . The non-transitory computer-readable medium of claim 16 , wherein the hierarchical data structure is a tree data structure of manifest request parameters, and the selecting the one manifest instruction based on the corresponding positions comprises determining a deepest node of the first node, the second node, and the third node in the tree data structure of manifest request parameters, and selecting a corresponding manifest instruction from the deepest node as the one manifest instruction.

18 . The non-transitory computer-readable medium of claim 15 , wherein the receiving is at a content delivery service and the manifest request is from a media player device, and the method further comprises:

determining an additional parameter for the request by the content delivery service;

determining a fourth node of the hierarchical data structure based on the additional parameter; and

determining a fourth manifest instruction from the fourth node, wherein the generating the manifest is also based on the fourth manifest instruction.

19 . The non-transitory computer-readable medium of claim 15 , wherein the generating the manifest comprises:

determining that two or more of the first manifest instruction, the second manifest instruction, and the third manifest instruction have an overlap; and

combining the two or more of the first manifest instruction, the second manifest instruction, and the third manifest instruction based on the overlap into a single manifest instruction, wherein the generating the manifest is based on the single manifest instruction.

20 . The non-transitory computer-readable medium of claim 19 , wherein the combining is according to a first merging policy for a first type of manifest instructions, and a second merging policy for a second type of manifest instructions.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2025
From: NANN, PAUL; CHANDRAVANSHI, NAVEEN KUMAR; RAKOV, ARTEM; KOCESKI, KYLE
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 070507/0548 →
References Cited (7)
US 10432693B2 · Gibson · 2019 [cited by examiner]
US 11758200B2 · Reitmeyer · 2023 [cited by examiner]
US 12547678B1 · Bertheussen · 2026 [cited by examiner]
US 20140180818A1 · Mistler · 2014 [cited by examiner]
US 20170280181A1 · Ramaley · 2017 [cited by examiner]
US 20230111456A1 · Lamere · 2023 [cited by examiner]
US 20240276076A1 · Kozuback · 2024 [cited by examiner]