IP Library Granted Patent US 9,680,901
Granted Patent B2
US 9,680,901 · App. 13/829,800 · Granted Jun 13, 2017

Method, apparatus and non-transitory computer medium for encoding data of a media file

Inventors: Declan Harrison (Belfast, IE); Christopher Brown (Ballygowan, IE)
Assignee: OPENWAVE MOBILITY, INC.
H04L65/607H04L65/605H04L67/2823H04N21/2343H04N21/4307H04N21/6581H04N21/84H04N21/8455H04N21/85406H04L65/608H04L67/02H04N19/40H04N21/4341
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,680,901
App. No.
13/829,800
Granted
Jun 13, 2017
Kind
B2
Abstract

A method, apparatus and non-transitory computer medium are provided for encoding data of a media file for playback by a user equipment in a communications network. A request for a range of encoded data is received from the user equipment, the encoded data to be generated by encoding data from an original media file. The request for a range of encoded data is converted into a request for a range of original data from the original media file. The range of original data is retrieved and the range of original data is encoded to generate encoded data. The requested range of encoded data, from the generated encoded data, is provided to the user equipment.

Claims (46)

1. A method for encoding data of a media file for playback by a user equipment in a communications network, the method comprising:

receiving, from the user equipment, a request for a range of encoded data to be generated by encoding data from an original media file, wherein the original media file comprises video frames interleaved with audio samples associated with the video frames;

generating video key frame offset mapping data that maps offsets of video key frames in the original media file to offsets of corresponding encoded video key frames in an encoded media file to be generated by encoding the original media file;

converting, using the video key frame offset mapping data, the request for a range of encoded data into a request for a range of original data from the original media file, wherein the converting comprises: identifying a first video key frame of the range of original data required to provide to the user equipment, from the encoded data to be generated, the requested range of encoded data; identifying that at least one audio sample associated with the first video key frame precedes the first video key frame in the range of original data; identifying a further video key frame that precedes the first video key frame and the associated at least one audio sample in the range of original data; initiating the range of original data with the further video key frame;

retrieving the range of original data;

encoding the range of original data to generate encoded data; and

providing to the user equipment, from the generated encoded data, the requested range of encoded data.

2. A method according to claim 1 , the method further comprising:

retrieving first metadata that describes frames in the original media file;

generating second metadata that describes frames in the encoded media file to be generated by encoding the original media file; and

generating the video key frame offset mapping data using the first metadata and the second metadata.

3. A method according to claim 2 , the method further comprising:

using the first metadata to generate the second metadata.

4. A method according to claim 1 , wherein the method is implemented by a server located between the user equipment and an origin server that provides the original media file, the method comprising:

retrieving the range of original data from the origin server.

5. A method according to claim 1 , wherein the request is a HTTP request and the requested range of encoded data is provided to the user equipment in a HTTP response.

6. Apparatus for encoding data of a media file for playback by a user equipment in a communications network, the apparatus comprising:

a processor executing computer program code stored in memory to cause the processor to:

receive, from the user equipment, a request for a range of encoded data to be generated by encoding data from an original media file, wherein the original media file comprises video frames interleaved with audio samples associated with the video frames;

generate video key frame offset mapping data that maps offsets of video key frames in the original media file to offsets of corresponding encoded video key frames in an encoded media file to be generated by encoding the original media file;

convert, using the video key frame offset mapping data, the request for a range of encoded data into a request for a range of original data from the original media file, wherein the converting comprises: identifying a first video key frame of the range of original data required to provide to the user equipment, from the encoded data to be generated, the requested range of encoded data; identifying that at least one audio sample associated with the first video key frame precedes the first video key frame in the range of original data; identifying a further video key frame that precedes the first video key frame and the associated at least one audio sample in the range of original data; initiating the range of original data with the further video key frame;

retrieve the range of original data;

encode the range of original data to generate encoded data; and

provide to the user equipment, from the generated encoded data, the requested range of encoded data.

7. Apparatus according to claim 6 , further comprising:

retrieving first metadata that describes frames in the original media file;

generating second metadata that describes frames in the encoded media file to be generated by encoding the original media file; and

generating the key frame position data using the first metadata and the second metadata.

8. Apparatus according to claim 7 , the method further comprising:

using the first metadata to generate the second metadata.

9. Apparatus according to claim 6 , wherein the apparatus is implemented by a server located between the user equipment and an origin server that provides the original media file, comprising:

retrieving the range of original data from the origin server.

10. Apparatus according to claim 6 , wherein the request is a HTTP request and the requested range of encoded data is provided to the user equipment in a HTTP response.

11. A non-transitory computer readable medium configured to store executable program instructions, which, when executed by an apparatus, cause the apparatus to perform the steps of:

receiving, from a user equipment, a request for a range of compressed data of a media file to be generated by compressing data from an original media file, wherein the range of compressed data is for playback by the user equipment, wherein the original media file comprises video frames interleaved with audio samples associated with the video frames;

generating video key frame offset mapping data that maps offsets of video key frames in the original media file to offsets of corresponding encoded video key frames in an encoded media file to be generated by encoding the original media file;

converting, using the video key frame offset mapping data, the request for a range of compressed data into a request for a range of original data from the original media file, wherein the converting comprises: identifying a first video key frame of the range of original data required to provide to the user equipment, from the encoded data to be generated, the requested range of encoded data; identifying that at least one audio sample associated with the first video key frame precedes the first video key frame in the range of original data; identifying a further video key frame that precedes the first video key frame and the associated at least one audio sample in the range of original data; initiating the range of original data with the further video key frame;

retrieving the range of original data;

compressing the range of original data to generate compressed data; and

providing to the user equipment, from the generated compressed data, the requested range of compressed data.

12. A non-transitory computer readable medium according to claim 11 , further comprising:

retrieving first metadata that describes frames in the original media file;

generating second metadata that describes frames in the encoded media file to be generated by encoding the original media file; and

generating the video key frame offset mapping data using the first metadata and the second metadata.

13. A non-transitory computer readable medium according to claim 12 , further comprising:

using the first metadata to generate the second metadata.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2013
From: HARRISON, DECLAN; BROWN, CHRISTOPHER
To: OPENWAVE MOBILITY, INC.
Reel/Frame 030723/0416 →
Continuity (1)
Related Publication 20140281001A1 · Sep 18, 2014