IP Library Granted Patent US 10,506,010
Granted Patent B2
US 10,506,010 · App. 15/421,778 · Granted Dec 10, 2019

Delivering content in multiple formats

Inventors: Danial E. Holden (Englewood, CO); Austin J. Vrbas (Edgewater, CO)
Assignee: Comcast Cable Communications, LLC
H04L65/604H04N21/23439H04N21/2402H04N21/25825H04N21/6118H04N21/8456
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 10,506,010
App. No.
15/421,778
Granted
Dec 10, 2019
Kind
B2
Abstract

Content may be received at an edge location in one format, but delivered to a terminal on an access network in another format. The received content may be transcoded at the edge location. The transcoded content may be stored, or immediately delivered. The transcoded content may be fragmented prior to storage. Multiple copies of the transcoded content may be maintained in multiple formats. These formats may be aligned with one another such that delivery of the content can include delivering portions of the content in one format and other portions of the content in another format.

Claims (77)

1. A method comprising:

receiving, by a computing device, a content item;

transcoding, by the computing device, and according to a first format, the content item into a first video stream;

transcoding, by the computing device, and according to a second format, the content item into a second video stream;

fragmenting, by the computing device, into a first plurality of fragments comprising a first fragment, and according to the first format, the first video stream;

fragmenting, by the computing device, into a second plurality of fragments comprising a second fragment, and according to the second format, the second video stream;

aligning, by the computing device, and based on a point in the content item that corresponds to a beginning of the first fragment and a beginning of the second fragment, the first fragment with the second fragment; and

storing, by the computing device, as individually accessible fragments, the first fragment and the second fragment.

2. The method of claim 1 , wherein the first fragment comprises a first group of pictures based on the first format, wherein the second fragment comprises a second group of pictures based on the second format, and wherein the aligning the first fragment with the second fragment further comprises:

setting a same group of pictures size for the first group of pictures and the second group of pictures, and

avoiding an addition or loss of video frames of the first video stream and the second video stream.

3. The method of claim 1 , further comprising:

determining an index of fragments comprising the first plurality of fragments and the second plurality of fragments, wherein the index identifies each of the fragments sequentially based on:

a frame number that begins the fragment,

a frame number that ends the fragment, or

a time within the first video stream when the fragment occurs; and

sending, to a second computing device, and based on a bandwidth condition, the first fragment.

4. The method of claim 3 , further comprising:

selecting, based on a change in the bandwidth condition and on accessing the index of fragments, a third fragment of the second plurality of fragments, wherein the third fragment corresponds to a portion of the content item that is after a portion of the content item corresponding to the first fragment; and

sending, to the second computing device, the third fragment.

5. The method of claim 1 , further comprising:

verifying, based on determining that an initial I-frame of the first fragment is aligned with an initial I-frame of the second fragment, the aligning of the first fragment with the second fragment.

6. The method of claim 1 , further comprising:

verifying, based on determining that the first fragment comprises a same number of I-frames as the second fragment, the aligning of the first fragment with the second fragment.

7. An apparatus comprising:

at least one processor; and

memory storing computer-readable instructions that, when executed by the at least one processor, cause the apparatus to:

receive a content item;

transcode, and according to a first format, the content item into a first video stream;

transcode, according to a second format, the content item into a second video stream;

fragment, into a first plurality of fragments comprising a first fragment, and according to the first format, the first video stream;

fragment, into a second plurality of fragments comprising a second fragment, and according to the second format, the second video stream;

align, based on a point in the content item that corresponds to a beginning of the first fragment and a beginning of the second fragment, the first fragment with the second fragment; and

store, as individually addressable fragments, the first fragment and the second fragment.

8. The apparatus of claim 7 , wherein the first fragment comprises a first group of pictures based on the first format, wherein the second fragment comprises a second group of pictures based on the second format, and wherein the instructions, when executed by the at least one processor, cause the apparatus to:

set a same group of pictures size for the first group of pictures and the second group of pictures, and

avoid an addition or loss of video frames of the first video stream and the second video stream.

9. The apparatus of claim 7 , wherein the instructions, when executed by the at least one processor, cause the apparatus to:

determine an index of fragments comprising the first plurality of fragments and the second plurality of fragments, wherein the index identifies each of the fragments sequentially based on:

a frame number that begins the fragment,

a frame number that ends the fragment, or

a time within the first video stream when the fragment occurs; and

send, to an another device, and based on a bandwidth condition, the first fragment.

10. The apparatus of claim 9 , wherein the instructions, when executed by the at least one processor, cause the apparatus to:

select, based on a change in the bandwidth condition and on the index of fragments, a third fragment of the second plurality of fragments, wherein the third fragment corresponds to a portion of the content item that is after a portion of the content item corresponding to the first fragment; and

send, to a second apparatus, the third fragment.

11. The apparatus of claim 7 , wherein the instructions, when executed by the at least one processor, cause the apparatus to:

verify, based on determining that an initial I-frame of the first fragment is aligned with an initial I-frame of the second fragment, the aligning of the first fragment with the second fragment.

12. The apparatus of claim 7 , wherein the instructions, when executed by the at least one processor, cause the apparatus to:

verify, based on determining that the first fragment comprises a same number of I-frames as the second fragment, the aligning of the first fragment with the second fragment.

13. A method comprising:

receiving, by a computing device, a video stream comprising a first group of pictures based on a first format;

generating, by transcoding the video stream from the first format to a second format, a second group of pictures;

generating, by transcoding the video stream from the first format to a third format, a third group of pictures;

aligning the first group of pictures with the second group of pictures and the third group of pictures; and

storing, by the computing device, the second group of pictures as a first fragment and the third group of pictures as a second fragment, wherein the first fragment and the second fragment are individually accessible.

14. The method of claim 13 , wherein the first group of pictures are encoded at a first frame rate, and wherein the generating the second group of pictures further comprises:

determining that the second group of pictures are encoded at a second frame rate; and

updating metadata of the video stream, wherein the metadata indicates that the second group of pictures are encoded at the second frame rate.

15. The method of claim 13 , wherein the aligning the first group of pictures with the second group of pictures and the third group of pictures is based on determining a point in the video stream that corresponds to a beginning of the first group of pictures, a beginning of the second group of pictures, and a beginning of the third group of pictures.

16. The method of claim 13 , wherein the first fragment corresponds to a first Internet Protocol (IP) packet, and wherein the second fragment corresponds to a second IP packet.

17. The method of claim 13 , further comprising:

determining an index of fragments comprising the first fragment, the second fragment and a third fragment in the second format, wherein the index identifies each of the fragments sequentially based on:

a frame number that begins the fragment,

a frame number that ends the fragment, or

a time within the video stream when the fragment occurs;

sending, to a second computing device, and based on a bandwidth condition, the first fragment;

selecting, based on a change in the bandwidth condition and on the index of fragments, the third fragment, wherein the third fragment corresponds to a portion of the video stream that is after a portion of the video stream corresponding to the first fragment; and

sending, to the second computing device, the third fragment.

18. The method of claim 13 , wherein the first fragment and the second fragment are encrypted, and wherein the first fragment and the second fragment correspond to a same portion of the video stream.

19. The method of claim 13 , further comprising:

verifying the aligning of the first group of pictures with the second group of pictures, wherein the verifying is based on:

determining that an initial I-frame of the first group of pictures is aligned with an initial I-frame of the second group of pictures, or

determining that a same number of I-frames correspond to the first group of pictures and the second group of pictures.

20. The method of claim 13 , further comprising:

setting a same group of pictures size for the first format and the second format, and

wherein the generating the second group of pictures comprises generating the second group of picture with a same number of video frames as the first group of pictures.

Assignments (7)
CHANGE OF NAME Recorded Mar 31, 2026
From: ADEIA MEDIA HOLDINGS LLC
To: ADEIA MEDIA HOLDINGS INC.
Reel/Frame 075303/0717 →
CHANGE OF NAME Recorded Oct 1, 2024
From: TIVO CORPORATION
To: TIVO LLC
Reel/Frame 069083/0240 →
CHANGE OF NAME Recorded Oct 1, 2024
From: TIVO LLC
To: ADEIA MEDIA HOLDINGS LLC
Reel/Frame 069083/0318 →
SECURITY INTEREST Recorded May 3, 2023
From: ADEIA GUIDES INC.; ADEIA IMAGING LLC; ADEIA MEDIA HOLDINGS LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR ADVANCED TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC; ADEIA SOLUTIONS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 063529/0272 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2020
From: COMCAST CABLE COMMUNICATIONS, LLC
To: TIVO CORPORATION
Reel/Frame 054588/0731 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 2, 2020
From: HOLDEN, DANIAL E.; VRBAS, AUSTIN J.
To: COMCAST CABLE COMMUNICATIONS, LLC
Reel/Frame 054516/0057 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2017
From: HOLDEN, DANIAL E.
To: COMCAST CABLE COMMUNICATIONS, LLC
Reel/Frame 041484/0530 →
Continuity (3)
Continuation 13872222 · Apr 29, 2013
Continuation 12894580 · Sep 30, 2010
Related Publication 20170339206A1 · Nov 23, 2017