IP Library Granted Patent US 9,025,659
Granted Patent B2
US 9,025,659 · App. 13/224,298 · Granted May 5, 2015

Systems and methods for encoding media including subtitles for adaptive bitrate streaming

Inventors: Kourosh Soroushian (San Diego, CA); Scott Douglas (Ramona, CA); Steve Bramwell (San Diego, CA); Jason Braness (San Diego, CA); Abhishek Shivadas (San Diego, CA)
Assignee: Sonic IP, Inc.
H04N21/6587G11B27/005G11B27/11G11B27/322H04N21/2387H04N21/85406H04L65/4084H04L65/4092H04L65/607H04N21/23439H04N21/26258H04N21/2662H04N21/44209H04N21/8455H04N21/8456H04N21/8543H04N21/42607H04N21/435H04N21/44004H04N21/44008
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,025,659
App. No.
13/224,298
Granted
May 5, 2015
Kind
B2
Abstract

Systems and methods for adaptive bitrate streaming of media including subtitles utilizing HTTP in accordance with embodiments of the invention are disclosed. One embodiment of the invention includes selecting a portion of the source media using the source encoder, transcoding the selected portion of the source media into a plurality of alternative portions of encoded video, where each alternative portion is encoded using a different set of encoding parameters and commences with an intra frame at the start of a closed group of pictures (GOP), writing each of the alternative portions of encoded video to a separate container file using the source encoder, writing a subtitle stream segment from each subtitle track corresponding to the selected portion of the source media to a separate container file using the source encoder, and associating a font file with at least one of the container files containing subtitle stream segments.

Claims (36)

1. A method of encoding source media including a subtitle track as a plurality of alternative video streams and a subtitle stream using a source encoder wherein the subtitle track is textually encoded, the method comprising:

selecting a portion of the source media using the source encoder;

transcoding the selected portion of the source media into a plurality of alternative portions of encoded video using the source encoder, where each alternative portion is encoded using a different set of encoding parameters and commences with an intra frame at the start of a closed group of pictures (GOP);

writing each of the plurality of alternative portions of the selected portion of encoded video to a separate one of a plurality of container files using the source encoder;

writing a subtitle stream segment from the subtitle track corresponding to the selected portion of the source media to a separate one of the plurality container files using the source encoder;

associating a font file with the one of the plurality of container files containing subtitle stream segments wherein the font file includes information for representing the encoded text of the stream segment;

attaching the font file to the associated one of the plurality of container files; and

including a separate element in the one of the plurality of container files that includes metadata describing the font file.

2. The method of claim 1 , further comprising compressing the font file.

3. The method of claim 1 , further comprising reducing the size of the font file by subsetting the font file, where the subsetted font file includes all of the characters within the subtitle stream segments within the one of the plurality of container files with which the font file is associated.

4. The method of claim 1 further comprising breaking the font file into a plurality of font files, where each of the plurality of the font files includes characters displayed during a particular subtitle stream segment.

5. The method of claim 4 , wherein breaking the font file into a plurality of font files comprises generating font files corresponding to different subtitle stream segments.

6. The method of claim 5 , wherein the plurality of font files is assembled as attachments to a single container file.

7. The method of claim 5 , wherein starting and ending timecodes are used to indicate a time period over which each of the plurality of font files is used for rendering subtitles.

8. The method of claim 5 , further comprising generating a union font file using the plurality of font files that includes characters that appear in at least two of the plurality of font files and subsetting the plurality of font files to remove the characters that are in the union font file.

9. The method of claim 5 , further comprising subsetting each plurality of font files so that characters used in previous subtitle stream segments are removed from the font file.

10. The method of claim 1 , wherein the selected portions of source media are selected based upon their duration.

11. The method of claim 10 , wherein the selected portions of source media each have a duration of two seconds.

12. The method of claim 1 , wherein the container files containing the alternative video streams and the subtitle streams are Extensible Binary Markup Language (EBML) container files.

13. The method of claim 12 , wherein:

the element of the EBML container file to which each alternative portion of encoded video is written is a Cluster element; and

each Cluster element to which each of the alternative portions of encoded video is written is assigned the same time code.

14. The method of claim 12 , wherein the element of the EBML container file to which the subtitle stream segment is written is a Cluster element containing the same time code as the Cluster elements to which the alternative portions of encoded video are written.

15. The method of claim 1 , further comprising creating a top level index file that identifies each of the container files containing the alternative portions of encoded video and identifies the container files that include the at least one subtitle stream.

16. The method of claim 1 , wherein the metadata includes the location of the font file within the container file and information describing the file.

17. A source encoder configured to encode source media including a subtitle track as a plurality of alternative video streams and a subtitle stream encoder wherein the subtitle track is textually encoded, the source encoder comprising:

a processor;

instructions for directing the processor to:

select a portion of the source media;

transcode the selected portion of the source media into a plurality of alternative portions of encoded video, where each alternative portion is encoded using a different set of encoding parameters and commences with an intra frame at the start of a closed group of pictures (GOP);

write each of the alternative portions of encoded video to a separate one of a plurality of container files using the source encoder;

write a subtitle stream segment from each subtitle track corresponding to the selected portion of the source media to a separate one of the plurality of container files using the source encoder;

associate a font file with the one of the plurality container files containing subtitle stream segments;

attach the font file to the one of the plurality of container files containing the subtitle segments; and

include a separate element in the one of the plurality of container files including the subtitle segments that includes metadata describing the attached font file; and

a memory for storing instructions.

Assignments (5)
CHANGE OF PRINCIPAL PLACE OF BUSINESS Recorded Mar 5, 2019
From: DIVX, LLC
To: DIVX, LLC
Reel/Frame 050407/0104 →
CHANGE OF NAME Recorded Mar 5, 2018
From: DIVX CF HOLDINGS LLC
To: DIVX, LLC
Reel/Frame 045498/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2018
From: SONIC IP, INC.; DIVX, LLC
To: DIVX CF HOLDINGS LLC
Reel/Frame 045310/0020 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2013
From: DIVX, LLC
To: SONIC IP, INC.
Reel/Frame 031713/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2012
From: SOROUSHIAN, KOUROSH; DOUGLAS, SCOTT; BRAMWELL, STEVE; BRANESS, JASON; SHIVADAS, ABHISHEK
To: DIVX, LLC
Reel/Frame 027722/0832 →
Continuity (2)
Provisional Application 61430110 · Jan 5, 2011
Related Publication 20120170643A1 · Jul 5, 2012