1. Field of the Invention
The present invention relates generally to the presentation of media content on a playback environment. More particularly, the present invention relates to the initialization of media assets on a playback environment.
2. Background Art
Initial loading of media assets from an optical storage medium, such as Blu-ray Disc™ optical discs, for example, into a playback environment, such as a Blu-ray Disc player, is well known in the art. Blu-ray Disk is a trademark owned by the Blu-ray Disk Association (BDA) in the United States and other jurisdictions. For example, a Blu-ray Disc player may be configured to load all media assets from an inserted media disc before giving the user the ability to playback the primary media content stored on the media disc, e.g. a feature film or other movie content. By loading all of the media assets from the media disc into the disc player memory, the disc player ensures that the user may not be required to spend additional time waiting for assets to load after the disc player begins allowing the user access to the interactive contents on the media disc. By loading all media assets from the media disc initially, the remainder of the user's experience in enjoying the primacy media content may proceed with minimal media asset loading interruptions.
Unfortunately, loading all assets from a high density Blu-ray Disc or other high-definition (HD) optical disc, for example, into a disc player memory at initialization may result in a significant waiting period before the user can begin to enjoy the primary media content. It may be typical for this wait period to last three or more minutes before a typical HD optical disc player finishes loading all available media assets from the media disc into the media disc player memory. That delay, over which the user has no control, may be a substantial source of frustration for the user, thereby reducing user enjoyment.
Accordingly, there is a need to overcome the drawbacks and deficiencies in the art by reducing media playback initiation time on a playback environment.
There are provided methods and systems for initialization of media asset modules for improved sequence execution on a playback environment, substantially as shown in and/or described in connection with at least one of the figures as set forth more completely in the claims.
The features and advantages of the present invention will become more readily apparent to those ordinarily skilled in the art after reviewing the following detailed description and accompanying drawings, wherein:
The present application is directed to a system and method for initialization of media assets for an improved execution sequence on a playback environment. The following description contains specific information pertaining to the implementation of the present invention. One skilled in the art will recognize that the present invention may be implemented in a manner different from that specifically discussed in the present application. Moreover, some of the specific details of the invention are not discussed in order not to obscure the invention. The specific details not described in the present application are within the knowledge of a person of ordinary skill in the art. The drawings in the present application and their accompanying detailed description are directed to merely exemplary embodiments of the invention. To maintain brevity, other embodiments of the invention, which use the principles of the present invention, are not specifically described in the present application and are not specifically illustrated by the present drawings.
Media playback system 100 may be any type of digital playback environment, such as, for example, a Blu-ray Disc™ or other high-definition (HD) optical disc player. Media playback system 100 may perform playback of data on optical storage medium 110 inserted into media playback system 100. Media playback system 100 may be equipped with a single optical head reader device (not shown in
Optical storage medium 110 may be a data storage medium such as, for example, a Blu-ray Disc™. Optical storage medium 110 may store both primary media content, such as video footage or movie content, for example, and media assets, such as user interface elements related to main menus, submenus of main menus, timeline menus, popup menus associated with the primary media content, and any other interactive elements designed to allow users to interact more deeply with the primary media content.
Player application 120 may be a software application stored within media playback system 100 and designed to control the inner functionalities of media playback system 100. Player application 120 may control the usage of memory 130 and processor 140. Memory 130 may be any type of memory hardware such as, for example, a two-gigabyte (Gb) random access memory (RAM) chip. Processor 140 may be any type of central processing unit (CPU) such as an Intel Pentium™ processor, for example. Progressive loader 125 may be a software module incorporated into player application 120. Progressive loader 125 may be implemented as a progressive loading routine for loading media assets from optical storage medium 110 into memory 130 prior to, during, or after the playback of primary media content. For example, player application 120 may begin loading media assets from optical storage medium 110 into memory 130 as soon as player application 120 may detect the presence of optical storage medium 110 within media playback system 100.
As previously described, optical storage medium 110 may contain primary media content and a plurality of media assets associated with the primary media content. For player application 120 to obtain progressively the media assets associated with the primary media content, player application 120 may initially determine all media assets associated with the primary media content. Once the media assets may be ascertained, player application 120 may create a reference for each of the media assets and may segment all of the media assets associated with the primary media content into one or more asset modules with each asset module including at least one of the media assets. Segmenting may comprise player application 120 grouping together references to the media assets and inserting the references into the plurality of asset modules. Each reference may be digital data containing information regarding a particular media asset, such as the media asset location within optical storage medium 110. Each asset module may be a data file capable of storing data. Player application 120 may be designed to group only references of the same type of media assets into an asset module. For example, player application may group references to media assets from the main menu into one asset module, and references to media assets of a submenu of the main menu into another asset module. In another embodiment of the invention as shown in
Segmenting media assets into asset modules may be based upon other criteria defined by media playback system 100 and/or optical storage medium 110. For example, segmenting the media assets may also be performed according to at least one of a main execution sequence associated with the primary media content, and a background execution sequence associated with the main execution sequence. The main execution sequence may be a predetermined execution sequence media playback system 100 may directly execute in order to playback the primary media content. The main execution sequence may require use of one or more media assets during its execution and references to those media assets may be grouped into an asset module during segmenting of the media assets. Segmenting the media assets may also be performed according to one or more background execution sequences associated with the main execution sequence. A background execution sequence may be a set of subroutine sequences executed by the main execution sequence. References to media assets that may be required by the background execution sequence may be grouped into another asset module.
Once player application 120, using progressive loader 125, may have successfully created and loaded a media file containing one or more asset modules into memory 130, player application 120 may proceed to identify a subset of the asset modules from the one or more asset modules for loading from optical storage medium 110 into memory 130 in a first loading process. The first loading process may be a process of copying media assets stored in optical storage medium 110 into memory 130 prior to initial playback of primary media content. According to the embodiment of the invention shown in
In alternative embodiments of the invention, player application 120 may identify the subset of asset modules based on at least one of playback capabilities of the playback environment, user preferences, and user usage histories. Playback capabilities of the playback environment or media playback system 100 may include the network connectivity of media playback system 100 and other software and hardware specifications of media playback system 100. User preference may comprise one or more preferences set within media playback system 100. User preferences may include various popup menus, submenus, and other interactive elements programmed to occur during playback of the primary media content. User usage histories may comprise user habits detected by player application 120 from previous uses of media playback system 100. For example, during prior playbacks, the user may have consistently launched a particular popup menu at the midpoint of the primary media content. Based upon this usage history, player application 120 may decide to include the asset module containing reference to that particular popup menu for loading.
After player application 120 identifies the subset of asset modules from one or more asset modules to load into memory 130, player application 120 may further determine a loading sequence for the media assets contained in the subset of asset modules. According to the embodiment of the invention shown in
Upon determining a loading sequence for the first subset of asset modules, player application 120 may load the subset of media assets associated with the subset of asset modules according to the loading sequence before playback of the primary media content begins on the playback environment. To illustrate this process, if the subset of asset modules comprises references to graphical user interface elements of the main menu, which allows for playback of the primary media content, then the actual graphical user interface elements may be loaded into memory 130 according to the loading sequence prior to any playback of the primary media content. Once the graphical elements of the main menu have been loaded into memory 130, player application 120 may present the graphical element for user interaction. The loaded graphical elements may reside within memory 130 during and beyond the entire playback of the primary media content.
The remainder of the media assets referenced in the remainder of the asset modules may be loaded into memory 130 after the first subset of asset modules have been loaded. Player application 120 may identify one or more additional subsets of asset modules for loading in another loading process after playback of the primary media content has begun, and determine another loading sequence for the one or more additional subsets of asset modules. Player application 120 may then load the one or more additional subsets of asset modules according to another loading sequence into memory. The identifying the one or more additional subsets of the plurality of asset modules may be performed at one or more predefined execution moments or in response to one or more execution events.
A predefined execution moment or event may comprise a user induced state change. A user induced state change may occur when the user decidedly changes the state of the playback of the primary media content. For example, the primary media content may be in playback mode and the user may decide to skip forward or backward through the primary media content. By attempting to skip forward or backward, the user may cause player application 120 to load a timeline menu into memory 130 or other media assets associated with the skipping for user to interact with. In other embodiments of the invention, a predefined execution moment or event may comprise an instance in, or a progression through, a main execution sequence associated with the primary media content or in a background execution sequence associated with the main execution sequence. The triggering instance or event may be a predetermined moment or event during the execution of the main execution sequence or background execution sequence for playback of primary media content.
Therefore, player application 120, using progressive loader 125, may allow media playback system 100 to load into memory 130 only a subset of all the media assets associated with the primary media content prior to playback. Once playback of primary media content begins player application 120 may progressively load the remaining media assets associated with the primary media content into memory 130. By loading only a subset of the media modules prior to playback of the primary media content, media playback system 100 improves the execution sequence on a playback environment and, thereby, reduces the initial playback wait time.
In some situations memory 130 may provide storage space for only a portion of the media assets in the media file. If memory 130 lacks adequate storage space to store a media asset, then player application 120 may perform a deletion of one or more media assets from memory 130. In the embodiment of the invention as shown in
During loading of a media asset from optical storage medium 110 into memory 130, player application 120 may be required to stop playback of primary media content and to discontinue receiving user inputs into media playback system 100. As stated earlier, media playback system 100 may have one optical head reader device to access contents within optical storage medium 110. If the optical head reader device may be needed to extract a media asset from optical storage medium 110 then that optical head reader device cannot be used to read the primary media content from optical storage medium 110 or to perform other functions. Therefore, during loading of a media asset from optical storage medium 110 into memory 130, playback of primary media content may temporarily stop and user inputs into media playback system 100 may be ineffective.
Moving to
Playback of the primary media content may comprise playback of video_item_A 212a, video_item_B 212b, video_item_C 212c, and video_item_D 212d. Required assets 213, which may correspond to a predefined set of required media assets associated with the primary media content, may be loaded into memory 130, in
Once initial playback of the primary media content begins, state “A” progressive assets 214a and state “B” progressive assets 214b may be used to determine when to load other media assets. State “A” progressive assets 214a and state “B” progressive assets 214b may both be data files containing references to media assets. As described previously, during playback of primary media content 210, a user may induce a state change. A state change into state “A” may require media assets referenced in media_asset_B 211b and media_asset_E 211e of state “A” progressive assets 214a to be loaded into memory 130. Likewise, a user induced state change into state “B” may require the loading of media assets referenced in media_asset_F 211f and media_asset_G 211g of state “B” progressive assets 214b to be loaded into memory 130.
Moving to
Memory 330a may be initially loaded with asset_A 331 prior to playback of the primary media content. Path_A 301 may represent the loading of asset_B 332 into memory 330a in response to a user induced state change, a main execution sequence, or a background execution sequence. Once asset_B 332 is loaded into memory 330a, memory 330a may be referred to as memory 330b. Path_B 302, similar to path_A 301, may represent the loading of asset_C 333 into memory 330b. Once asset_C 333 is loaded into memory 330b, memory 330b may be referred to as memory 330c. Path_C 303 may represent the loading of asset_D 334 into memory 330c. However, the storage capacity of memory 330c may be fully exhausted and a deletion of one or more of the media assets stored within memory 330c may be appropriate. As described earlier, player application 120 of
Moving on to
Referring to step 410 in
Moving on to step 420 in
Proceeding to step 430 in
Proceeding to step 440 in
Proceeding to step 450 in
Proceeding to step 460 in
Proceeding to step 470 in
Proceeding to step 480 in
From the above description of the invention it is manifest that various techniques can be used for implementing the concepts of the present invention without departing from its scope. Moreover, while the invention has been described with specific reference to certain embodiments, a person of ordinary skills in the art would recognize that changes can be made in form and detail without departing from the spirit and the scope of the invention. As such, the described embodiments are to be considered in all respects as illustrative and not restrictive. It should also be understood that the invention is not limited to the particular embodiments described herein, but is capable of many rearrangement, modifications, and substitutions without departing from the scope of the invention.