Seamless multimedia branching
First Claim
1. A method of authoring media comprising a plurality of continuous media clips connected by seamless branches, the media clips having bridge data, the method comprising:
- assigning certain media clips to be non-carrier clips;
assigning other media clips to be carrier clips; and
scheduling delivery of bridge data for corresponding media clips during immediately upstream carrier clips.
1 Assignment
0 Petitions
Accused Products
Abstract
Described above are methods of authoring multimedia titles and of storing and delivering multimedia content that implements guaranteed seamless branching on digital media with high seek latency and a fixed upper bound on this latency. Continuous media content is arranged as individual clips on a storage medium. Seamless branches between clips are identified by an author. A method is disclosed to identify individual clips as carrier clips or non-carrier clips to guarantee specified seamless behavior while optimizing bridge memory usage and availability of seamless jumps. Bridge data of a particular target media clip is interleaved or otherwise associated on the storage medium with a carrier clip that is upstream of the target media clip, and delivered along with the upstream media clip. As bridge data are delivered, they are stored in bridge memory, to be used to implement a subsequent seamless branch. After the branch is implemented or after the branch is no longer an option, the bridge data is cleared from the bridge memory. Additional methods are disclosed for dealing with intervening file access and for accounting for no-latency branches that are possible when using some forms of storage devices.
93 Citations
42 Claims
-
1. A method of authoring media comprising a plurality of continuous media clips connected by seamless branches, the media clips having bridge data, the method comprising:
-
assigning certain media clips to be non-carrier clips;
assigning other media clips to be carrier clips; and
scheduling delivery of bridge data for corresponding media clips during immediately upstream carrier clips. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
calculating bridge memory requirements based on a particular assignment of carrier and non-carrier clips; and
reassigning individual media clips to be carrier or non-carrier clips to change bridge memory requirements.
-
-
7. A method as recited in claim 1, wherein the branches are from source to target media clips, further comprising the following additional steps:
-
identifying target bridge sets corresponding to respective media clips, wherein a target bridge set corresponding to a particular media clip comprises (a) target bridge sets of non-carrier clips that are immediate targets of the particular media clip and (b) the bridge data of carrier clips that are immediate targets of the particular media clip;
during delivery of a particular carrier clip, scheduling delivery of its target bridge set.
-
-
8. A method as recited in claim 1, wherein said target bridge set corresponding to said particular media clip does not include bridge data of any media clips that are targeted by no-latency branches from said particular media clip.
-
9. A method as recited in claim 1, further comprising a step of storing bridge data in bridge memory as it is delivered.
-
10. A method as recited in claim 1, further comprising the following additional steps:
-
storing bridge data in bridge memory as it is delivered;
clearing the bridge data memory at times corresponding to delivery of the carrier clips.
-
-
11. A method as recited in claim 1, wherein the branches are from source to target media clips, further comprising a step of scheduling any bridge data required to begin rendering any target clip of a particular non-carrier source clip for delivery during a carrier clip that is upstream of said particular non-carrier source clip.
-
12. A method as recited in claim 1, wherein the branches are from source to target media clips, further comprising the following additional steps:
-
allowing an author to assign non-carrier media clips;
scheduling any bridge data required to begin rendering any target clip of a particular non-carrier source clip for delivery during a carrier clip that is upstream of said particular non-carrier source clip.
-
-
13. A method as recited in claim 1, further comprising a step of delivering the media clips from a storage medium that imposes an access latency between media clips.
-
14. A computer-readable storage medium containing computer-executable instructions for performing the steps of claim 1.
-
15. A method as recited in claim 1, further comprising a step of interleaving the bridge data for a particular target clip in an upstream carrier clip.
-
16. A method of authoring media comprising a plurality of continuous media clips, media clips having bridge data, the method comprising:
-
connecting the media clips with a plurality of seamless branches from source clips to target clips;
assigning select media clips as non-carrier clips and others as carrier clips;
scheduling any bridge data required to begin rendering any target clip of a particular non-carrier source clip for delivery during an immediately upstream carrier clip. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23)
-
-
24. A method of storing a plurality of continuous media clips on a storage medium with an inherent access latency between the media clips, wherein the media clips are to be interconnected during rendering by seamless branches from upstream source media clips to downstream target media clips, the method comprising the following steps:
-
identifying bridge data for target clips; and
combining the bridge data for a particular target clip in an upstream media clip on the storage medium. - View Dependent Claims (25, 26, 27)
-
-
28. A method of rendering a plurality of continuous media clips from a storage medium that imposes an access latency between clips, wherein the clips are to be interconnected during rendering by seamless branches from upstream source clips to downstream target clips, the method comprising:
-
identifying bridge data for target clips, the bridge data comprising an initial part of a target clip that can be rendered during the storage medium access latency;
combining the bridge data for individual target clips in upstream clips on the storage medium;
reading media clips from the storage medium;
while reading a particular media clip, also reading the bridge data for one or more individual target clips from the storage medium;
buffering the bridge data read from the storage medium; and
rendering the bridge data corresponding to a particular target clip during the access latency when branching to said particular target clip. - View Dependent Claims (29, 30, 31, 32, 33)
-
-
34. A computer-readable storage medium with an inherent access latency, comprising:
-
a plurality of continuous media clips stored on the storage medium, wherein the media clips are to be interconnected during rendering by seamless branches from upstream source clips to downstream target clips;
the target clips having bridge data comprising initial parts of the target clips that can be rendered during the storage medium access latency; and
the bridge data for target clips being combined with upstream media clips on the storage medium. - View Dependent Claims (35, 36, 37)
-
-
38. An apparatus comprising:
-
a storage medium including a plurality of executable instructions; and
an execution unit, coupled to the storage medium, to execute at least a subset of the plurality of executable instructions to implement a media authoring tool, wherein the media authoring tool enables a user to define media clips as either carrier or non-carrier clips, and to interleave bridge data for a subsequent carrier or non-carrier clips in an immediately upstream carrier clip to create a plurality of media clips connected by seamless branches.- View Dependent Claims (39, 40, 41, 42)
identifies a target bridge set corresponding to a particular media clip, the target bridge set comprising (a) target bridge sets of all non-carrier clips that are immediate targets of the particular media clip, and (b) the bridge data of all carrier clips that are immediate targets of the particular media clip; and
identifies the largest target bridge set, wherein the largest target bridge set corresponds to a minimum requirement for bridge memory.
-
-
42. An apparatus as recited in claim 38, wherein the authoring tool stores the plurality of continuous media clips on a storage device, for subsequent access and rendering.
Specification