IP Library › Granted Patent US 8,543,230
Granted Patent B2
US 8,543,230 · App. 12/129,924 · Granted Sep 24, 2013

Optimizing seek functionality in media content

Inventor: Bryan Paul Honza (Grapevine, TX)
Assignee: Nokia Corporation
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 8,543,230
App. No.
12/129,924
Granted
Sep 24, 2013
Kind
B2
Abstract

A system and method is provided for improving media playback and seek time for media files such as encoded audio data. As the media is decoded during playback, frame position information is stored in a frame table. This frame position information may be used for pause/resume functionality, and for seek operations. If a seek operation is to a position not stored in the frame table, the media data is parsed to produce frame position information that is added to the frame table until the seek location is reached. Frame table data may be stored in several different forms, including periodic intervals that may be selected based on the length of the media data, and also contemporaneous data useful for resuming from a pause command.

Claims (53)

1. A method comprising:

receiving encoded media data partitioned into frames;

decoding, by a decoder module, at least a portion of the encoded media data, and outputting the decoded portion of the encoded media data;

calculating frame position information for frames within the decoded portion of the encoded media data;

storing the calculated frame position information in a frame table;

upon receiving a command to seek to a particular location in the encoded media data, utilizing the calculated frame position information in the frame table to determine a position in the encoded media data to continue decoding the encoded media data,

when the frame table does not have calculated frame position information for a particular location in the encoded media data, iteratively parsing, by a parser module, a sequentially next portion of the encoded media data until a frame position corresponding to the particular location is identified;

calculating frame position information for frames within the parsed portion of the encoded media data; and

storing the calculated frame position information for the frames within the parsed portion of the encoded media data in the frame table.

2. The method of claim 1 wherein storing the calculated frame position information in the frame table comprises storing frame position information based on a periodic time interval.

3. The method of claim 2 wherein the periodic time interval is selected based on a size value of the encoded media data.

4. The method of claim 1 wherein storing the calculated frame position information in a frame table comprises storing a predetermined number of calculated frame positions that are substantially contemporaneous with a present decoding position in the encoded media data.

5. The method of claim 1 wherein the encoded media data is variable bit rate encoded audio data.

6. An apparatus comprising:

a decoder, configured to decode encoded media data, the encoded media data partitioned into frames, wherein the decoder calculates frame position information for frames in the encoded media data while decoding and outputting the encoded media data;

a frame table memory, configured to receive and store the calculated frame position information from the decoder, wherein upon receiving a command to seek to a particular location in the encoded media data, the frame table memory provides position information associated with the particular location in the encoded media data; and

a parser, wherein when the frame table can not provide position information for a particular location in the encoded media data, the parser is configured to iteratively parse a sequentially next portion of the encoded media data until the particular location is parsed, to calculate frame position information for frames within the parsed portion of the encoded media data, and to provide the calculated frame position information to the frame table memory.

7. The apparatus of claim 6 wherein the frame table memory is configured to store the calculated frame position information based on a periodic time interval.

8. The apparatus of claim 7 wherein the periodic time interval is selected based on a size value of the encoded media data.

9. The apparatus of claim 6 wherein the frame table memory is configured to store a predetermined number of calculated frame positions that are substantially contemporaneous with a present decoding position in the encoded media data.

10. The apparatus of claim 6 wherein the encoded media data is variable bit rate encoded audio data.

11. A non-transitory computer-readable medium, comprising computer readable instructions, that when provided to a processor cause the processor to perform:

receiving encoded media data partitioned into frames;

decoding, by a decoder module, at least a portion of the encoded media data, and outputting the decoded portion of the encoded media data;

calculating frame position information for frames within the decoded portion of the encoded media data;

storing the calculated frame position information in a frame table;

upon receiving a command to seek to a particular location in the encoded media data, utilizing the calculated frame position information in the frame table to determine a position in the encoded media data to continue decoding the encoded media data,

when the frame table does not have calculated frame position information for a particular location in the encoded media data, iteratively parsing, by a parser module, a sequentially next portion of the encoded media data until the particular location is parsed;

calculating frame position information for frames within the parsed portion of the encoded media data; and

storing the calculated frame position information for frames within the parsed portion of the encoded media data in the frame table.

12. The non-transitory computer-readable medium of claim 11 ,

wherein storing the calculated frame position information in a frame table comprises storing frame position information based on a periodic time interval.

13. The non-transitory computer-readable medium of claim 12

wherein the periodic time interval is selected based on a size value of the encoded media data.

14. The non-transitory computer-readable medium of claim 11

wherein storing the calculated frame position information in a frame table comprises storing a predetermined number of calculated frame positions that are substantially contemporaneous with a present decoding position in the encoded media data.

15. The non-transitory computer-readable medium of claim 11 wherein the encoded media data is variable bit rate encoded audio data.

16. An apparatus comprising:

a processor; and

a memory comprising executable instructions, that, when provided to the processor cause the processor to perform:

receiving encoded media data partitioned into frames;

decoding, by a decoder module, at least a portion of the encoded media data, and outputting the decoded portion of the encoded media data;

calculating frame position information for frames within the decoded portion of the encoded media data;

storing the calculated frame position information in a frame table based on a periodic time interval; and

upon receiving a command to seek to a particular location in the encoded media data, utilizing the calculated frame position information in the frame table to determine a position in the encoded media data to continue decoding the encoded media data;

wherein when the frame table does not have calculated frame position information for a particular location in the encoded media data, iteratively parsing, by a parser modue, a sequentially next portion of the encoded media data until the particular location is parsed, calculating frame position information for frames within the parsed portion of the encoded media data; and storing the calculated frame position information in the frame table.

17. The apparatus of claim 16 wherein storing the calculated frame position information in a frame table comprises storing a predetermined number of calculated frame positions that are substantially contemporaneous with a present decoding position in the encoded media data.

18. The apparatus of claim 16 wherein the apparatus is a mobile terminal.

19. An apparatus comprising:

decoding means for encoded media data partitioned into frames, and for calculating frame position information for frames in the encoded media data while decoding, and for outputting the encoded media data;

memory means, for storing the calculated frame position information in a frame table;

and for, upon receiving a command to seek to a particular location in the encoded media data, providing position information associated with the particular location in the encoded media data; and

parsing means, for wherein when the memory means can not provide position information for a particular location in the encoded media data, iteratively parsing a sequentially next portion of the encoded media data until the particular location is parsed; and for calculating frame position information for frames within the parsed portion of the encoded media data.

Assignments (12)
PATENT SECURITY AGREEMENT Recorded Aug 6, 2024
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 068328/0674 →
RELEASE OF LIEN ON PATENTS Recorded Aug 5, 2024
From: BARINGS FINANCE LLC
To: RPX CORPORATION
Reel/Frame 068328/0278 →
PATENT SECURITY AGREEMENT Recorded Apr 22, 2023
From: RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 063429/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2021
From: PROVENANCE ASSET GROUP LLC
To: RPX CORPORATION
Reel/Frame 059352/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: NOKIA US HOLDINGS INC.
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058363/0723 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: CORTLAND CAPITAL MARKETS SERVICES LLC
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058983/0104 →
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Feb 14, 2019
From: NOKIA USA INC.
To: NOKIA US HOLDINGS INC.
Reel/Frame 048370/0682 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP, LLC
To: CORTLAND CAPITAL MARKET SERVICES, LLC
Reel/Frame 043967/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: NOKIA TECHNOLOGIES OY; NOKIA SOLUTIONS AND NETWORKS BV; ALCATEL LUCENT SAS
To: PROVENANCE ASSET GROUP LLC
Reel/Frame 043877/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP LLC
To: NOKIA USA INC.
Reel/Frame 043879/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2016
From: NOKIA CORPORATION
To: NOKIA TECHNOLOGIES OY
Reel/Frame 040811/0991 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2008
From: HONZA, BRYAN PAUL
To: NOKIA CORPORATION
Reel/Frame 021238/0014 →
Continuity (1)
Related Publication 20090299505A1 · Dec 3, 2009