IP Library Patent Application 14445547
Patent Application
App. No. 14/445,547

MULTIMEDIA CACHE WITH DYNAMIC SEGMENTING

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 None
App. No.
14/445,547
Abstract

A method and system are proposed for storing streamed multimedia data in a multimedia cache. The method includes: receiving portions of a multimedia data stream item from a multimedia source; pre-storing a plurality of the multimedia data stream portions in a buffer in the order in which the portions are received; determining the temporal position of the pre-stored multimedia data portions in the multimedia data stream in order to identify consecutive sequences in the media data stream; rearranging the pre-stored multimedia data stream portions to form at least one temporally contiguous data stream portion and storing each contiguous data stream portion as a single segment in a cache file. The pre-storage and subsequent rearrangement or reorganisation of the received media data stream portions means that all data stream portions that are received out of order but are sequential within the media data item can be placed in the correct temporal sequence and also combined into a single data portion, thus facilitating both the subsequent storage of the media data in a cache and the retrieval of this data.

Claims (40)

1 . A method of storing streamed multimedia data in a multimedia cache, the method comprising:

receiving portions of a multimedia data stream item from a multimedia source;

pre-storing a plurality of said multimedia data stream portions in a buffer in the order in which said portions are received;

determining the temporal position of said pre-stored multimedia data portions in the multimedia data stream in order to identify consecutive sequences in the media data stream;

rearranging said pre-stored multimedia data stream portions to form at least one temporally contiguous data stream portion; and

storing each contiguous data stream portion as a single segment in a cache file.

2 . A method as claimed in claim 1 , further comprising:

for each segment, storing data identifying the starting position of media data contained in said segment within the multimedia data stream item.

3 . A method as claimed in claim 2 , further comprising:

for each segment, storing data identifying the length of media data contained in said segment.

4 . A method as claimed in claim 1 , further comprising:

ascertaining when at least one pre-stored multimedia data stream portion is temporally consecutive to multimedia data contained in a last stored segment in said cache file; and

updating said last stored segment by appending to it said at least one temporally consecutive pre-stored multimedia data stream portion.

5 . A method as claimed in claim 4 , wherein said step of updated said last stored segment includes updating stored data identifying the length of media data contained in said segment.

6 . A method as claimed in claim 1 , further comprising:

detecting a concurrent download of multiple instances of said multimedia data stream;

identifying temporally contiguous multimedia data stream portions containing an original of said multimedia data stream and contiguous multimedia data stream portions containing copies of said multimedia data stream; and

storing each temporally contiguous multimedia data stream portion containing an original of said multimedia data stream as a segment in said cache file and storing each temporally contiguous multimedia data stream portion containing a copy of said multimedia data stream as a segment in a separate cache file.

7 . A method as claimed in claim 6 , further comprising:

detecting a concurrent download of multiple instances of said multimedia data stream by ascertaining that the number of pre-stored multimedia data stream portions in said buffer prior to rearranging exceeds a predetermined number.

8 . A method as claimed in claim 1 , wherein said step of determining the temporal position of said pre-stored multimedia data portions in the multimedia data stream item is performed after elapse of a predetermined time following receipt of a portion of a multimedia data stream item.

9 . A method as claimed in any one of claim 1 , wherein said step of determining the temporal position of said pre-stored multimedia data portions in the multimedia data stream item is performed when said pre-storage buffer is deemed full.

10 . A computer readable medium having computer instructions stored thereon that when executed perform the method of claim 1 .

11 . A media cache system for optimising storage of a multimedia data stream comprising:

a processor configured to control receipt of portions of a multimedia data stream item from a multimedia source; and

a buffer configured to pre-store a plurality of said multimedia data stream portions in the order in which said portions are received under control of said processor,

wherein said processor being is further configured to:

determine the temporal position of said pre-stored multimedia data portions in the multimedia data stream in order to identify consecutive sequences in the media data stream; and

rearrange said pre-stored multimedia data stream portions in said buffer to form at least one temporally contiguous data stream portion, and

wherein said media cache system further comprises a cache configured to store each contiguous data stream portion as a single segment in a cache file under control of said processor.

12 . A media cache system as claimed in claim 11 , wherein said processor is further configured to:

ascertain when at least one pre-stored multimedia data stream portion is temporally consecutive to multimedia data contained in a last stored segment in said cache file, and

update said last stored segment by appending to it said at least one pre-stored multimedia data stream portion.

13 . A media cache system as claimed in claim 11 , wherein said processor is further configured to:

detect a concurrent download of multiple instances of said multimedia data stream,

identify temporally contiguous multimedia data stream portions stored in said pre-storage buffer that contain an original of said multimedia data stream and contiguous multimedia data stream portions containing copies of said multimedia data stream, and

store each temporally contiguous multimedia data stream portion containing an original of said multimedia data stream as a segment in said cache file and store each temporally contiguous multimedia data stream portion containing a copy of said multimedia data stream as a segment in a separate cache file in said cache.

14 . A media cache system as claimed in claim 11 , wherein said processor is further configured to determine the temporal position of said pre-stored multimedia data portions stored in said buffer only after elapse of a predetermined time following pre-storage of a last portion of a multimedia data stream item in said buffer.

15 . A media cache system as claimed in claim 11 , wherein said processor is configured to determine the temporal position of said pre-stored multimedia data portions stored in said buffer only when said buffer is deemed full.

16 . A user device comprising a media cache system as claimed in claim 11 .

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2017
From: OPERA SOFTWARE ASA
To: OPERA SOFTWARE AS
Reel/Frame 042769/0384 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 4, 2014
From: VENTURI, LUCA
To: OPERA SOFTWARE ASA
Reel/Frame 034379/0038 →