File format for media distribution and presentation
First Claim
1. A method for presenting a digital media presentation including at least one sequence of digital media content, wherein each sequence is arranged in accordance with a predetermined file format and comprises a plurality of segments for sequential presentation by a digital media processing unit, each segment including a respective different predetermined amount of the digital media content to be presented, the method comprising:
- providing a sequence having plural segments each comprising at least a first segment instance created by encoding the digital media content of the segment based on a first set of encoding characteristics and a second segment instance created by encoding the digital media content of the segment based on a second set of encoding characteristics different from the first set of encoding characteristics,wherein the segments are independently distributable and storable, each sequence having a sequence ID associated therewith, each segment having a segment ID associated therewith and each segment instance having an instance ID associated therewith;
receiving at the media processing unit segment instances of plural segments to be presented and a plurality of data structures,a first of the data structures including a map of the instance IDs, and a logical arrangement of the segments IDs to the instance IDs, a second data structure storing a replacement instance ID associated with a replacement segment instance requested by the media processing unit and a third data structure storing the replacement segment instance;
storing at least the first data structure;
arranging for sequential presentation of the respective digital media content of the received segments; and
identifying a particular segment requiring replacement of one segment instance with another segment instance sharing a common encoding ID based on predetermined instance selection criteria applied by the media processing unit,wherein the media processing unit uses the plurality of data structures to dynamically select for presentation the replacement segment instance based on the instance selection criteria while arranging for presentation of the respective digital media content of the received segment instances, wherein using the plurality of data structures includes accessing the first data structure from storage,wherein the replacing includes forming a valid file by concatenating together and interchanging the replacement segments at distribution or playback at the media processing unit without being connected to a server.
2 Assignments
0 Petitions
Accused Products
Abstract
A file format supports distribution, presentation, and storage of media presentations (“MPs”). A sequence of a MP is composed of segments of media data referred to by segmentIDs. Segments are defined as movie fragments, pursuant to the “ISO base media file format”. Multiple instances of a segment, each having a unique instanceID, are created by encoding the media data based on different encoding characteristics, referred to as encodingIDs. A sequence map box (“SMB”) stores the arrangement of a sequence'"'"'s segmentIDs-to-instanceIDs, including encodingIDs. The SMB is distributed to a client-side media processing unit (“MPU”). Information regarding an instance selected for distribution to the MPU is encapsulated in an instance identifier box (“IIB”), along with the arrangement of instanceIDs for the segment, and distributed to the MPU. At the time of distribution and/or playback of the MP, the MPU interchange instances based on the contents of the SMB and/or the IIB.
34 Citations
20 Claims
-
1. A method for presenting a digital media presentation including at least one sequence of digital media content, wherein each sequence is arranged in accordance with a predetermined file format and comprises a plurality of segments for sequential presentation by a digital media processing unit, each segment including a respective different predetermined amount of the digital media content to be presented, the method comprising:
-
providing a sequence having plural segments each comprising at least a first segment instance created by encoding the digital media content of the segment based on a first set of encoding characteristics and a second segment instance created by encoding the digital media content of the segment based on a second set of encoding characteristics different from the first set of encoding characteristics, wherein the segments are independently distributable and storable, each sequence having a sequence ID associated therewith, each segment having a segment ID associated therewith and each segment instance having an instance ID associated therewith; receiving at the media processing unit segment instances of plural segments to be presented and a plurality of data structures, a first of the data structures including a map of the instance IDs, and a logical arrangement of the segments IDs to the instance IDs, a second data structure storing a replacement instance ID associated with a replacement segment instance requested by the media processing unit and a third data structure storing the replacement segment instance; storing at least the first data structure; arranging for sequential presentation of the respective digital media content of the received segments; and identifying a particular segment requiring replacement of one segment instance with another segment instance sharing a common encoding ID based on predetermined instance selection criteria applied by the media processing unit, wherein the media processing unit uses the plurality of data structures to dynamically select for presentation the replacement segment instance based on the instance selection criteria while arranging for presentation of the respective digital media content of the received segment instances, wherein using the plurality of data structures includes accessing the first data structure from storage, wherein the replacing includes forming a valid file by concatenating together and interchanging the replacement segments at distribution or playback at the media processing unit without being connected to a server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for distributing a digital media presentation, the method comprising:
-
providing at least one sequence of digital media data content, each sequence being arranged in accordance with a predetermined file format, wherein each sequence comprises a plurality of segments for sequential presentation by a digital media processing unit, each segment including a respective different predetermined amount of the digital media content to be presented, each sequence having a sequence identifier associated therewith, each segment having a segment identifier associated therewith and each segment instance having an instance identifier associated therewith; for each segment, producing at least a first segment instance by encoding the predetermined amount of digital media content based on a first set of encoding characteristics and a second segment instance of each of the plural segments created by encoding the digital media content of the segment based on a second set of encoding characteristics different from the first set of encoding characteristics, wherein the segments are independently distributable and storable; generating instance identifiers that individually reference the segment instances of a segment; encapsulating the instance identifiers of a segment within a first data structure associated with the predetermined file format, the first data structure including a map of the instance identifiers and a logical arrangement of the segment identifiers to the instance identifiers; distributing a plurality of the first data structures to the media processing unit, the first data structures being usable by the media processing unit to request distribution of a particular instance of a segment in the sequence to form a requested segment instance of the segment and a non-requested segment instance comprising another instance of the same segment; encapsulating each instance identifier within an associated second data structure associated with the predetermined file format, the second data structure storing a replacement instance identifier associated with a replacement segment instance requested by the media processing unit; encapsulating the digital media content of each segment instance of a segment within an associated third data structure associated with the second data structure; distributing to the media processing unit the second data structure and the third data structure associated with the requested segment instance, the third data structure storing the replacement segment instance; and identifying a particular segment of the plurality of segments requiring replacement of one segment instance with another segment instance of the particular segment sharing a common encoding identifier, wherein the second data structure associated with the non-requested segment instance is usable by the media processing unit in conjunction with the first and third data structures to request distribution of the non-requested segment instance for replacement of the requested segment instance during presentation of the respective different digital media content of the segments in the sequence by the media processing unit, wherein using the first data structure includes accessing the first data structure from storage, wherein the replacement is performed by forming a valid file by concatenating together and interchanging the replacement segments at distribution or playback at the media processing unit without being connected to a server. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A media processor for presenting or storing, or both, at least one sequence of digital media content, wherein each sequence is arranged in accordance with a predetermined file format and comprises a plurality of segments for sequential presentation by the digital media presentation unit, each segment including a respective different predetermined amount of the digital media content, the unit comprising:
-
a processor responsive to computer program, wherein the computer program, when loaded into the processor, is operable to perform a method comprising; arranging for sequential presentation of the segments in the sequence, wherein each of the plural segments to be presented comprise at least a first segment instance created by encoding the digital media content of a segment based on a first set of encoding characteristics and a second segment instance created by encoding the digital media content of the segment based on a second set of encoding characteristics different from the first set of encoding characteristics, wherein the segments are independently distributable and storable, each sequence having a sequence ID associated therewith, each segment having a segment ID associated therewith and each segment instance having an instance ID associated therewith; identifying a particular segment requiring replacement of one segment instance with another segment instance sharing a common encoding ID based on predetermined instance selection criteria applied by the media processing unit, wherein the media processing unit uses a plurality of data structures to dynamically select for presentation the replacement segment instance based on the instance selection criteria while presenting or storing the respective digital media content of the plurality of segments in the sequence, wherein the replacement is performed by forming a valid file by concatenating together and interchanging the replacement segments at distribution, playback or storage at the media processing unit without being connected to a server, a first of the data structures including a map of the instance IDs, and a logical arrangement of the segments IDs to the instance IDs, a second of the data structures storing a replacement instance ID associated with a replacement segment instance requested by the media processing unit and a third of the data structures storing the replacement segment instance. - View Dependent Claims (20)
-
Specification