Movie package file format
AssigneeApple Inc.
InventorsMichel A. Rynderman, Christopher L. Flick
Life of this patent
Estimating the term…
Abstract
Systems and methods for improved video formats used in delivery and playback are presented. According to an embodiment, the movie package format contains tiers that provide for multiple sets of movie variations that are individually selectable for transfer to a device for local playback. A locally stored movie package may contain any subset of available tiers for a movie. Non-resident tiers can be discovered and downloaded into the movie package as needed or when available. Tiers, and other movie files may be updated or added to the movie package at any time. Then users can request updates or the updates can be pushed to the user without affecting the previously downloaded files.
Claims30
-43. (canceled)
A method for building at a client device a local movie package for offline playback from a movie package stored at a remote location, the method comprising:
- downloading a master playlist for a requested remote movie package, the playlist identifying content segments of the movie package arranged in a plurality of tiers;
- based on a characteristic of the client device, from the master playlist, identifying segments of the movie package from a first tier that can be played by the client device;
- commencing download of segments of the movie package from the identified first tier;
- during the download, determining whether all segments of the first tier of the movie package can be downloaded within a deadline;
- and
- upon determining that all segments of the first tier of the movie package cannot be downloaded within the deadline:
- identifying from the master playlist segments of the movie package from a second tier to be downloaded;
- stopping the download of the segments of the first tier at a stopping point in a timeline of the movie package;
- commencing download of segments of the movie package from the second tier beginning at the stopping point;
- building a local movie package from the downloaded segments of the first and second tiers of the movie package, wherein the local movie package includes a local playlist with local references to the downloaded segments of the first and second tiers;
- and
- storing the local movie package locally at the client device, wherein the local movie package is available for playback on the client device when the client device is no longer accessing the remote location.
A non-transitory computer readable medium storing program instructions that, when executed by a processing device, cause the device to:
- download a master playlist for a requested remote movie package, the playlist identifying content segments of the movie package arranged in a plurality of tiers;
- based on a characteristic of a client device, from the master playlist, identify segments of the movie package from a first tier that can be played by the processing device;
- commence downloading of segments of the movie package from the identified first tier;
- during the download, determining whether all segments of the first tier of the movie package can be downloaded within a deadline;
- and
- upon determining that all segments of the first tier of the movie package cannot be downloaded within the deadline:
- identify from the master playlist segments of the movie package from a second tier to be downloaded;
- stop the download of the segments of the first tier at a stopping point in a timeline of the movie package;
- commence downloading of segments of the movie package from the second tier beginning at the stopping point;
- build a local movie package from the downloaded segments of the first and second tiers of the movie package, wherein the local movie package includes a local playlist with local references to the downloaded segments of the first and second tiers;
- and
- store the local movie package locally at the client device, wherein the local movie package is available for playback on the processing device when the processing device is no longer accessing a remote location.
A method for retrieving at a client device a movie package from a remote location, the method comprising:
- downloading a master playlist for a requested remote movie package, the playlist identifying content segments of the movie package arranged in a plurality of tiers;
- recursively, as communication resources change and until a representation of the movie package is downloaded across the movie package's entire timeline:
- from the master playlist, identifying segments of the movie package from a first tier that can be played by the client device and can be downloaded prior to a deadline based on communication resources;
- and
- commencing download of segments of the movie package from the identified first tier;
- during the download, determining whether all segments of the first tier of the movie package can be downloaded within the deadline;
- upon determining that all segments of the first tier of the movie package cannot be downloaded within the deadline:
- identifying from the master playlist segments of the movie package from a second tier to be downloaded;
- stopping the download of the segments of the first tier at a stopping point in a timeline of the movie package;
- commencing download of segments of the movie package from the second tier beginning at the stopping point;
- building a local movie package from the downloaded segments of the first and second tiers of the movie package, wherein the local movie package includes a local playlist with local references to the downloaded segments of the first and second tiers;
- and
- storing the local movie package locally at the client device.
A non-transitory computer readable medium storing program instructions that, when executed by a processing device, cause the device to:
- download a master playlist for a requested remote movie package, the playlist identifying content segments of the movie package arranged in a plurality of tiers;
- recursively, as communication resources change and until a representation of the movie package is downloaded across the movie package's entire timeline:
- from the master playlist, identify segments of the movie package from a first tier that can be played by the processing device and can be downloaded prior to a deadline for downloading based on communication resources;
- and
- commence downloading of segments of the movie package from the identified first tier;
- during the download, determine whether all segments of the first tier of the movie package can be downloaded within the deadline;
- upon determining that all segments of the first tier of the movie package cannot be downloaded within the deadline:
- identify from the master playlist segments of the movie package from a second tier to be downloaded;
- stop the download of the segments of the first tier at a stopping point in a timeline of the movie package;
- commence downloading of segments of the movie package from the second tier beginning at the stopping point;
- build a local movie package from the downloaded segments of the first and second tiers of the movie package, wherein the local movie package includes a local playlist with local references to the downloaded segments of the first and second tiers;
- and
- store the local movie package locally at a client device.
Dependencies are inferred from the claim text.