Búsqueda Imágenes Maps Play YouTube Noticias Gmail Drive Más »
Iniciar sesión
Usuarios de lectores de pantalla: deben hacer clic en este enlace para utilizar el modo de accesibilidad. Este modo tiene las mismas funciones esenciales pero funciona mejor con el lector.

Patentes

  1. Búsqueda avanzada de patentes
Número de publicaciónUS20070208911 A1
Tipo de publicaciónSolicitud
Número de solicitudUS 11/746,548
Fecha de publicación6 Sep 2007
Fecha de presentación9 May 2007
Fecha de prioridad22 Oct 2001
También publicado comoCN1625778A, CN100492272C, EP1440444A1, EP1440444B1, EP2533243A2, EP2533243A3, US6934812, US7234026, US20050216674, WO2003036647A1
Número de publicación11746548, 746548, US 2007/0208911 A1, US 2007/208911 A1, US 20070208911 A1, US 20070208911A1, US 2007208911 A1, US 2007208911A1, US-A1-20070208911, US-A1-2007208911, US2007/0208911A1, US2007/208911A1, US20070208911 A1, US20070208911A1, US2007208911 A1, US2007208911A1
InventoresJeffrey Robbin, Ned Holbrook, Steven Bollinger
Cesionario originalApple Inc.
Exportar citaBiBTeX, EndNote, RefMan
Enlaces externos: USPTO, Cesión de USPTO, Espacenet
Media player with instant play capability
US 20070208911 A1
Resumen
A media player and a method for operating a media player are disclosed. A media program is able to substantially immediately begin playing after a media play selection has been made. Through intelligent operation, the media program is able to start playing even before the media program has been substantially or completely loaded from disk storage into semiconductor memory (i.e., cache memory). Additionally, the media program can be loaded into semiconductor memory through use of a background process without disturbing the playing of the media program. Further, if desired, the disk storage is able to be aggressively “powered off” when not being accessed, thereby enhancing battery life when being battery-powered.
Imágenes(7)
Previous page
Next page
Reclamaciones(35)
1. A method for conserving power in a battery powered media player having a disk-based data store and a semiconductor-based data store having a faster access time than does the disk-based data store, and wherein the disk-based data store consumes more power than does the semiconductor-based data store, comprising:
retrieving a first portion of an identified media item from the semi-conductor based data store, wherein media data for the identified media item includes a plurality of data portions, the data portions including the first portion and remaining portions, the remaining portions being different than and not including the first portion;
playing the first portion without first storing to the semiconductor-based data store;
transferring substantially all of the remaining portions from the disk-based data store to the semi-conductor-based data store; and
de-activating the disk-based data store after substantially all of the remaining portions have been transferred thereby substantially reducing power consumption by the media player.
2. A method as recited in claim 1, further comprising:
playing the remaining portions of the media data retrieved from the semiconductor-based data store.
3. A method as recited in claim 2, wherein the playing of the remaining portions comprises:
determining when additional media data is needed beyond the first portion;
retrieving at least one of the remaining portions of the media data from the semiconductor-based data store when the determining determines that the additional media data is needed; and
playing the at least one of the remaining portions of the media data retrieved from the semiconductor-based data store.
4. A method as recited in claim 1, wherein the first and remaining portions have a size in a range of about from 32 kilobytes to about 256 kilobytes.
5. A method as recited in claim 1, wherein the media player is a pocket-sized device.
6. A method as recited in claim 1, wherein the media player is a handheld music player.
7. A method as recited in claim 1,
wherein the disk-based data store of the media player stores a plurality of media items, and wherein the media player comprises at least one of an audio player, a video player and an image viewer, and
wherein the media items include at least one of audio files of songs, video files of videos and image files of images.
8. A method as recited in claim 1, further comprising:
receiving a media item selection corresponding to the identified media item;
determining if the media data associated with the identified media item is stored in the semiconductor-based data store;
activating the disk-based data store if the media data associated with the identified media item is not stored in the semiconductor-based data store; and
transferring at least the first portion of the media data from the disk-based data store to the semiconductor-based data store.
9. In a portable media player having a disk-based data store and a semiconductor based data store, a method of selectively activating the disk-based data store, comprising:
receiving a media item selection wherein media data for the selected media item includes a plurality of data portions, the data portions including a first portion and remaining portions that are different than and do not include the first portion;
activating the disk-based data store and accessing at least the first portion;
playing the first portion retrieved from the disk-based data store without first storing to the semiconductor-based data store;
transferring the remaining portions from the disk-based data store to the semi-conductor-based data store concurrent with the playing of the first portion; and
de-activating the disk-based data store after the remaining portions are transferred thereby substantially reducing power consumption by the media player.
10. A method as recited in claim 9, further comprising:
playing the remaining portions retrieved from the semiconductor-based data store.
11. A method as recited in claim 9, wherein if the media data for the selected media item is stored in the semiconductor data store, then playing the selected media item without activating the disk-based data store.
12. A method as recited in claim 10, wherein the playing of the remaining portions comprises:
determining when additional media data is needed beyond the first portion;
retrieving at least one of the remaining portions of the media data from the semiconductor-based data store when the determining determines that the additional media data is needed; and
playing the at least one of the remaining portions of the media data retrieved from the semiconductor-based data store.
13. A method as recited in claim 9, wherein the first and remaining portions have a size in a range of about from 32 kilobytes to about 256 kilobytes.
14. A method as recited in claim 9, wherein the media player is a pocket-sized device.
15. A method as recited in claim 9, wherein the media player is a handheld music player.
16. A method as recited in claim 9,
wherein the disk-based data store of the media player stores a plurality of media items, and wherein the media player comprises at least one of an audio player, a video player and an image viewer, and
wherein the media items include at least one of audio files of songs, video files of videos and image files of images.
17. A method as recited in claim 9, further comprising:
receiving a media item selection corresponding to the identified media item;
determining if the media data associated with the identified media item is stored in the semiconductor-based data store;
activating the disk-based data store if the media data associated with the identified media item is not stored in the semiconductor-based data store; and
transferring at least the first portion of the media data from the disk-based data store to the semiconductor-based data store.
18. Computer program product executable by a processor for conserving power in a battery powered media player having a disk-based data store and a semiconductor-based data store having a faster access time than does the disk-based data store, and wherein the disk-based data store consumes more power than does the semiconductor-based data store, comprising:
computer code for retrieving a first portion of an identified media item from the semi-conductor based data store, wherein media data for the identified media item includes a plurality of data portions, the data portions including the first portion and remaining portions, the remaining portions being different than and not including the first portion;
computer code for playing the first portion without first storing to the semiconductor-based data store;
computer code for transferring substantially all of the remaining portions from the disk-based data store to the semi-conductor-based data store;
computer code for de-activating the disk-based data store after substantially all of the remaining portions have been transferred thereby substantially reducing power consumption by the media player; and
computer readable medium for storing the computer code.
19. Computer program product as recited in claim 18, further comprising:
computer code for playing the remaining portions of the media data retrieved from the semiconductor-based data store.
20. Computer program product as recited in claim 19, wherein the playing of the remaining portions comprises:
computer code for determining when additional media data is needed beyond the first portion;
computer code for retrieving at least one of the remaining portions of the media data from the semiconductor-based data store when the determining determines that the additional media data is needed; and
computer code for playing the at least one of the remaining portions of the media data retrieved from the semiconductor-based data store.
21. Computer program product as recited in claim 18, wherein the first and remaining portions have a size in a range of about from 32 kilobytes to about 256 kilobytes.
22. Computer program product as recited in claim 18, wherein the media player is a pocket-sized device.
23. Computer program product as recited in claim 18, wherein the media player is a handheld music player.
24. Computer program product as recited in claim 18,
wherein the disk-based data store of the media player stores a plurality of media items, and wherein the media player comprises at least one of an audio player, a video player and an image viewer, and
wherein the media items include at least one of audio files of songs, video files of videos and image files of images.
25. Computer program product as recited in claim 18, further comprising:
computer code for receiving a media item selection corresponding to the identified media item;
computer code for determining if the media data associated with the identified media item is stored in the semiconductor-based data store;
computer code for activating the disk-based data store if the media data associated with the identified media item is not stored in the semiconductor-based data store; and
computer code for transferring at least the first portion of the media data from the disk-based data store to the semiconductor-based data store.
26. A consumer electronics product, comprising:
a first storage device that stores a plurality of media items;
a user input device that enables a user of the consumer electronics product to at least select a particular media item from the plurality of media items, the particular media item having a first portion and subsequent portions, the subsequent portions being different than and not including the first portion;
an output device for playing back the particular media item;
a second storage device capable of storing at least one of the media items, the second storage device has substantially faster access than does the first storage device; and
a processor operatively connected to the first storage device, the user input device and the second storage device, the processor causes the output device to play back the particular media item substantially immediately following the selection of the particular media item by the user without regard to whether media data for the particular media item resides in the second storage device or on the first storage device,
wherein when the media data for the particular media item is not initially stored in the second storage device, the processor concurrently activates the first storage device and retrieves and plays a first portion of the media data directly from the first storage device while substantially concurrently initiating background loading subsequent portions of the media data for the particular media item from the first storage device into the second storage device, and
wherein once substantially all the subsequent portions of the media data for the particular media items are available in the second storage device due to the background loading of the subsequent portions of the media data for the particular media item, the processor de-activates the first storage device when the consumer electronic product is battery powered thereby substantially reducing power consumption of the consumer electronic product and retrieves the subsequent portions of the media data for the particular media item from the second storage device
27. A consumer electronics product as recited in claim 26, wherein at least a portion of the loading of the media data from the first storage device to the second storage device is performed concurrently with the playing of the first portion of the media data.
28. A consumer electronics product as recited in claim 26, wherein the consumer electronics product further comprises:
a display screen operatively connected to the processor, the display screen displays a list of the media items.
29. A consumer electronics product as recited in claim 28, wherein the consumer electronics products is a portable, battery powered media player.
30. A consumer electronics product as recited in claim 26, wherein the consumer electronics product is a handheld media player.
31. A consumer electronics product as recited in claim 30, wherein the first storage device of the handheld media player stores a plurality of media items, and wherein the handheld media player comprises an audio player, and wherein the media items include at least audio files of songs.
32. A consumer electronics product as recited in claim 31, wherein at least a portion of the loading of the media data from the first storage device to the second storage device is performed concurrently with the playing of the first portion of the media data.
33. A consumer electronics product as recited in claim 26, wherein the first storage device of the consumer electronics product stores a plurality of media items, and wherein the consumer electronics product comprises a video player, and wherein the media items include at least video files of videos.
34. A consumer electronics product as recited in claim 33, wherein the consumer electronics product is a handheld media player.
35. A consumer electronics product as recited in claim 26, wherein the first storage device is a disk-based storage device and wherein the second storage device is a semiconductor-based storage device.
Descripción
    CROSS-REFERENCE TO RELATED APPLICATION
  • [0001]
    This application is a continuation of U.S. application Ser. No. 11/131,800 filed May 17, 2005 and entitled “MEDIA PLAYER WITH INSTANT PLAY CAPABILITY,” that is, in turn, a continuation of U.S. application Ser. No. 10/118,217 filed Apr. 5, 2002 and entitled “MEDIA PLAYER WITH INSTANT PLAY CAPABILITY,” that has issued as U.S. Pat. No. 6,934,812 B1 and which claims the benefit of priority of U.S. Provisional Application No. 60/346,236 filed Oct. 22, 2001 and entitled “MEDIA PLAYER WITH INSTANT PLAY CAPABILITY,” all of which are hereby incorporated herein by reference.
  • BACKGROUND OF THE INVENTION
  • [0002]
    1. Field of the Invention
  • [0003]
    The present invention relates to media devices and, more particularly, to playing of media on media devices.
  • [0004]
    2. Description of the Related Art
  • [0005]
    Media players are becoming more popular these days. Of particular popularity are portable media players such as MP3 players or DVD players. Media players operate to play media items for their user that are stored within the media players. The media items are most commonly audio items (e.g., songs) but could also be video items (e.g., DVDs). Typically, an MP3 player will store various audio items internally on a storage disk. When the user makes a selection to play one of the stored audio items, the audio item must first be loaded into semiconductor memory (i.e., Random-Access Memory) before the audio item begins to be played. Unfortunately, the delay in reading the rather large file for the audio item is unsatisfactory to users who are anxious to hear the audio item they have already selected to be played. Thus, there is a need for improved techniques for media players to play media items.
  • SUMMARY OF THE DESCRIBED EMBODIMENTS
  • [0006]
    Broadly speaking, the described embodiments relate to a media player and a method for operating a media player. According to one aspect of the described embodiments, a method for conserving power in a battery powered media player having a disk-based data store and a semiconductor-based data store having a faster access time than does the disk-based data store, and wherein the disk-based data store consumes more power than does the semiconductor-based data store is described. The method is carried out by performing at least the operations of retrieving a first portion of an identified media item from the semi-conductor based data store, wherein media data for the identified media item includes a plurality of data portions, the data portions including the first portion and remaining portions, the remaining portions being different than and not including the first portion, playing the first portion without first storing to the semiconductor-based data store, transferring substantially all of the remaining portions from the disk-based data store to the semi-conductor-based data store, and de-activating the disk-based data store after substantially all of the remaining portions have been transferred thereby substantially reducing power consumption by the media player.
  • [0007]
    In another embodiment, a method of selectively activating the disk-based data store in a portable media player having a disk-based data store and a semiconductor based data store is described. The method is carried out by performing at least the following operations: receiving a media item selection wherein media data for the selected media item includes a plurality of data portions, the data portions including a first portion and remaining portions that are different than and do not include the first portion, activating the disk-based data store and accessing at least the first portion, playing the first portion retrieved from the disk-based data store without first storing to the semiconductor-based data store, transferring the remaining portions from the disk-based data store to the semi-conductor-based data store concurrent with the playing of the first portion, and de-activating the disk-based data store after the remaining portions are transferred thereby substantially reducing power consumption by the media player.
  • [0008]
    In yet another embodiment, computer program product executable by a processor for conserving power in a battery powered media player having a disk-based data store and a semiconductor-based data store having a faster access time than does the disk-based data store, and wherein the disk-based data store consumes more power than does the semiconductor-based data store is described. The computer program product includes at least computer code for retrieving a first portion of an identified media item from the semi-conductor based data store, wherein media data for the identified media item includes a plurality of data portions, the data portions including the first portion and remaining portions, the remaining portions being different than and not including the first portion, computer code for playing the first portion without first storing to the semiconductor-based data store, computer code for transferring substantially all of the remaining portions from the disk-based data store to the semi-conductor-based data store, computer code for de-activating the disk-based data store after substantially all of the remaining portions have been transferred thereby substantially reducing power consumption by the media player, and computer readable medium for storing the computer code.
  • [0009]
    In still another embodiment, a consumer electronics product is described that includes at least a first storage device that stores a plurality of media items, a user input device that enables a user of the consumer electronics product to select a particular media item from the plurality of media items, a second storage device capable of storing at least one of the media items having substantially faster access than does the first storage device and a processor operatively connected to the first storage device the user input device and the second storage device. The processor retrieves and plays a first portion of the media data directly from the first storage device while concurrently initiating background loading of subsequent portions of the media data for the particular media item from the first storage device into the second storage device. Once substantially all the subsequent portions of the media data have been loaded, the processor de-activates the first storage device thereby substantially reducing power consumption of the consumer electronic product.
  • [0010]
    The invention can be implemented in numerous ways, including as a method, system, device, apparatus, or computer readable medium.
  • [0011]
    Other aspects and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings which illustrate, by way of example, the principles of the invention.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • [0012]
    The invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements, and in which:
  • [0013]
    FIG. 1 is a block diagram of a media player according to one embodiment of the invention.
  • [0014]
    FIG. 2 is a flow diagram of media play processing according to one embodiment of the invention.
  • [0015]
    FIG. 3 is a flow diagram of media data retrieval processing according to one embodiment of the invention.
  • [0016]
    FIG. 4 is a flow diagram of cache loader processing according to one embodiment of the invention.
  • [0017]
    FIG. 5 is a flow diagram of data access processing according to one embodiment of the invention.
  • [0018]
    FIG. 6 is a flow diagram of cache loader processing according to another embodiment of the invention.
  • DETAILED DESCRIPTION OF THE INVENTION
  • [0019]
    The invention relates to a media player and a method for operating a media player. According to one aspect of the invention, a media program is able to substantially immediately begin playing after a media play selection has been made. Through intelligent operation, the media program is able to start playing even before the media program has been substantially or completely loaded from disk storage into semiconductor memory (i.e., cache memory). According to another aspect of the invention, the loading of the media program into semiconductor memory is performed in a background process without disturbing the playing of the media program. Still another aspect of the invention is that the disk storage is able to be aggressively “powered off” when not being accessed, thereby enhancing battery life when being battery powered. The invention is particularly suitable for use with portable media players.
  • [0020]
    Embodiments of this aspect of the invention are discussed below with reference to FIGS. 1-6. However, those skilled in the art will readily appreciate that the detailed description given herein with respect to these figures is for explanatory purposes as the invention extends beyond these limited embodiments.
  • [0021]
    FIG. 1 is a block diagram of a media player 100 according to one embodiment of the invention. The media player 100 includes a processor 102 that pertains to a microprocessor or controller for controlling the overall operation of the media player 100. The media player 100 stores media data pertaining to media items in a file system 104 and a cache 106. The file system 104 is, typically, a storage disk or a plurality of disks. The file system typically provides high capacity storage capability for the media player 100. However, since the access time to the file system 104 is relatively slow, the media player 100 also includes a cache 106. The cache 106 is, for example, Random-Access Memory (RAM) provided by semiconductor memory. The relative access time to the cache 106 is substantially shorter than for the file system 104. However, the cache 106 does not have the large storage capacity of the file system 104.
  • [0022]
    Further, the file system 104, when active, consumes more power than does the cache 106. The power consumption is particularly important when the media player 100 is a portable media player that is powered by a battery (not shown).
  • [0023]
    The media player 100 also includes a user input device 108 that allows a user of the media player 100 to interact with the media player 100. For example, the user input device 108 can take a variety of forms, such as a button, keypad, dial, etc. Still further, the media player 100 includes a display 110 (screen display) that can be controlled by the processor 102 to display information to the user. A data bus 111 can facilitate data transfer between at least the file system 104, the cache 106, the processor 102, and the CODEC 112.
  • [0024]
    In one embodiment, the media player 100 serves to store a plurality of media items (e.g., songs) in the file system 104. When a user desires to have the media player play a particular media item, a list of available media items is displayed on the display 110. Then, using the user input device 108, a user can select one of the available media items. The processor 102, upon receiving a selection of a particular media item, supplies the media data (e.g., audio file) for the particular media item to a coder/decoder (CODEC) 112. The CODEC 112 then produces analog output signals for a speaker 114. The speaker 114 can be a speaker internal to the media player 100 or external to the media player 100. For example, headphones or earphones that connect to the media player 100 would be considered an external speaker.
  • [0025]
    According to the invention, the processor 102 controls the playing of the particular media item such that upon receiving the user's selection of the particular media item, the processor 102 immediately accesses the file system 104 or the cache 106 to retrieve an initial portion of the media data and supplies it to the CODEC 112 and thus begins playing the media item. When the media item is not initially available in the cache 106 (which is typically the case), the initial portion is retrieved from the file system 104. However, since the access speed of the file system 104 is relatively slow compared to the access speed needed for the playing of the media item, and because the file system 104 consumes significant amounts of power of the media player 100, the media data for the media item is loaded into the cache 106 such that once the media data has been loaded into the cache 106, all remaining portions of the media data for the particular media item are retrieved from the cache 106. Consequently, the media item is played almost substantially immediately following the user's selection because the initial portion is obtained immediately from the file system 104 and then subsequent portions are obtained from the cache 106. Here, the cache 106 is loaded at the same time that the retrieval or playing of the initial portion of the media data occurs.
  • [0026]
    Still further, once the media data for the particular media item has been loaded into the cache 106, the file system 104 can be inactivated (e.g., placed in a low power mode) to save power consumption for the media player 100. By deactivating the file system 104 in this matter, battery life of the media player 100 is able to be significantly improved, assuming the media player 100 is a battery-operated device (portable device).
  • [0027]
    In one embodiment, the media player is a portable computing device dedicated to processing media such as audio, video or images. For example, the media player 100 can be a music player (e.g., MP3 player), a game player, a video player, a video recorder, a camera, an image viewer and the like. These devices are generally battery operated and highly portable so as to allow a user to listen to music, play games or video, record video or take pictures wherever the user travels. In one implementation, the media player is a handheld device that is sized for placement into a pocket or hand of the user. By being handheld, the media player is relatively small and easily handled and utilized by its user. By being pocket sized, the user does not have to directly carry the device and therefore the device can be taken almost anywhere the user travels (e.g., the user is not limited by carrying a large, bulky and often heavy device, as in a portable computer). Furthermore, the device may be operated by the users hands, no reference surface such as a desktop is needed.
  • [0028]
    FIG. 2 is a flow diagram of media play processing 200 according to one embodiment of the invention. The media play processing 200 is, for example, performed by the media player 100 illustrated in FIG. 1.
  • [0029]
    The media play processing 200 initially begins with a decision 202 that determines whether a play selection has been made. When the decision 202 determines that a play selection has not been made, then the media play processing 200 awaits such a selection. In other words, the media play processing 200 is effectively invoked when a play selection is made. In any case, once the decision 202 determines that a play selection has been made, then a decision 204 determines whether the media data for the play selection is in a cache (e.g., cache 106, FIG. 1). When the decision 204 determines that the media data is not in the cache, then the media data is retrieved 206 from a file system (e.g., file system 104, FIG. 1). Alternatively, when the decision 204 determines that the media data is in the cache, then the media data is retrieved 208 from the cache. Here, it is preferable that the media data be retrieved from the cache because its access time is substantially shorter than that of the file system. In addition, when the media data is available in the cache, the file system is typically not needed, and thus it can be placed in a low power mode to reduce power consumption.
  • [0030]
    Following operations 206 or 208, the media play processing 200 initiates 210 playing of the retrieved media data. Here, the retrieved media data can be directed to be played so that the media player produces multimedia output (e.g., audio) for its user. However, only a portion of the media data is initially obtained and thus a decision 212 next determines whether there is more data to be retrieved. When the decision 212 determines that there is more data associated with the media item being played to be retrieved, then the media play processing 200 returns to repeat the decision 204 and subsequent operations so that additional media data can be retrieved and played.
  • [0031]
    Concurrently with the operations of 206-212, when the decision 204 determines that the media data is not in the cache, then other processing can be invoked to load the media data into the cache. In particular, according to one embodiment, such processing is performed by a separate process (e.g., thread) operating within the media player. According to such processing, a decision 214 determines whether the file system is active. When the decision 214 determines that the file system is not active, then the file system is activated 216. Here, activation refers to placing the file system in its normal operating mode, and an inactivated file system refers to a reduced-power operation mode. Following the operation 216, as well as following the decision 214 when the file system is already active, the media data for the particular media item is loaded 218 into the cache. Here, the loading 218 occurs by this process while other operations are being performed in another process to retrieve and play at least an initial portion of the media data (operations 206-212). Once the media data has been loaded 218 into the cache, the file system can be inactivated 220 to reduce power consumption. Typically, the file system is not needed for a period of time, at least on the order of the duration of the media item being played, since the remaining amount of media data is now available within the cache. Following the operation 220, the cache loading process is complete and ends. Further, once the cache loading process has completed, the next time the media play processing 200 performs the decision 204, the result will be that all subsequent media data for the particular media item will be retrieved from the cache at operation 208.
  • [0032]
    FIG. 3 is a flow diagram of media data retrieval processing 300 according to one embodiment of the invention. The media data retrieval processing 300 is, for example, performed by a media device, such as the media device 100 illustrated in FIG. 1. In one embodiment, the media data retrieval processing 300 is performed or controlled by the processor 102 of the media device 100 shown in FIG. 1.
  • [0033]
    The media data retrieval processing 300 begins with a decision 302 that determines whether more media data is needed. Hence, the decision 302, for example, pertains to the CODEC 112 requesting media data pertaining to a media item that is to be played by the media device 100. Typically, the CODEC 112 operates to buffer a short play duration of media data and thus periodically requests additional data from data storage provided by the media device 100. Hence, when the decision 302 determines that more media data is not needed, then the media data retrieval processing 300, in effect, awaits the need (or request) for more media data.
  • [0034]
    Once the decision 302 determines that more media data is needed, then a decision 304 determines whether the media data is available in the cache memory. For example, the cache memory can be the cache 106 illustrated in FIG. 1. When the decision 304 determines that the media data is available in the cache memory, then a data block is retrieved from the cache memory. Here, the data block being retrieved 306 pertains to the next needed portion of the media data associated with the media item.
  • [0035]
    On the other hand, when the decision 304 determines that the media data is not available in the cache memory, then processing is performed to retrieve the media data from the file system. The file system is, for example, the file system 104 illustrated in FIG. 1. More particularly, a read request is issued 308 to the file system to read a data block. The read request prepares the file system 104 (storage disk) for read/write access. For example, if the file system 104 is in an inactive (low-power) state, the read request can return the file system 104 to an active state. Typically, the storage disk is spinning and ready for read/write access when in the active state.
  • [0036]
    Next, a decision 310 determines whether a cache loader is already running. Here, “running” of the cache loader means that the cache loader is active in loading media data into the cache memory. When the decision 310 determines that the cache loader is not already running, then the cache loader is activated 312. Alternatively, when the decision 310 determines that the cache loader is already running, then the operation 312 is bypassed. Following the operation 312, as well as following the decision 310 when the cache loader is already running, a data block is retrieved 314 from the file system (storage disk). Here, the size of the data block being retrieved 314 is kept small so that the retrieval time from the file system is still relatively short (e.g., a few milliseconds) and so that retrieval times for other concurrent accesses to the file system (such as by the cache loader) are not significantly impeded and thus can be performed in a timely fashion. As an example, the data block can have a reasonably small size, such as a size in the range of 32-256 kilobytes and more likely one of 32, 64, 128 or 256 kilobytes. Following the operations 306 and 314, the media data retrieval processing 300 returns to repeat the decision 302 and subsequent operations so that additional media data can be obtained in the same manner.
  • [0037]
    FIG. 4 is a flow diagram of cache loader processing 400 according to one embodiment of the invention. The cache loader processing 400 is, for example, processing performed by the cache loader that is activated in operation 312 illustrated in FIG. 3.
  • [0038]
    The cache loader processing 400 begins with a decision 402 that determines whether the storage disk is “on” (active). Here, the storage disk (i.e., hard drive) pertains to disk storage of data provided by a file system, namely, the file system 104 illustrated in FIG. 1. More generally, the decision 402 could indicate whether the file system is active. In any case, when the decision 402 determines that the storage disk is not “on,” then the storage disk is turned on 404. This is also referred to as “spinning-up” the storage disk. Access times to storage disks are considerably slower when the storage disk is not already on (spinning). “Spinning-up” the storage disk is a prerequisite to accessing data from the storage disk. Hence, the operations 402 and 404 cause the storage disk to be turned on 404 when not already turned on.
  • [0039]
    Thereafter, a data block is retrieved 406 from the file system. Here, for example, a block of data pertaining to a particular media item is retrieved 406 from the file system 104 (storage disk). The retrieved data block is then stored 408 to the cache memory. For example, the cache memory could be the cache 106 illustrated in FIG. 1.
  • [0040]
    A decision 410 then determines whether all of the data blocks for the file (i.e., media item) have been retrieved. When the decision 410 determines that all of the data blocks for the file have not yet all been retrieved, then the cache loader processing 400 returns to repeat the operation 406 and subsequent operations so that additional data blocks pertaining to the file (i.e., media item) can be retrieved 406 and stored 408 into the cache memory. Once the decision 410 determines that all of the data blocks for the file have been retrieved, then the cache loader is de-activated 412. The cache loader is the process that is performing the cache loader processing 400 and thus, when de-activated 412, the process that is performing the cache loader processing 400 can be closed. Additionally, the storage disk is then turned off 414. When the storage disk is turned off 414, the media device is able to conserve the energy or power it would otherwise use to keep the storage disk turned on.
  • [0041]
    The invention is well suited for implementation using multiple threads of execution, such as provided by a multi-threaded programming environment. For example, the media data retrieval processing 300 of FIG. 3 and the cache loader processing 400 can be implemented by separate threads. The processing shown in FIGS. 5 and 6 below can also pertain to other threads of execution.
  • [0042]
    FIG. 5 is a flow diagram of data access processing 500 according to one embodiment of the invention. The data access processing 500 is, for example, performed by the operation 314 of the media data retrieval processing 300 shown in FIG. 3 or the operation 406 of the cache loader processing 400 illustrated in FIG. 4. In any case, the data access processing 500 operates to acquire 502 an access lock for access to the file system. Given that multiple different threads of execution can be seeking the same access lock to the file system, these different threads contend for acquisition of the access lock. Hence, the data access processing 500 could be delayed in the event that another thread presently holds the access lock. Nevertheless, per program or implementation design, each of the threads that may be utilizing the access lock do so only for a short duration of time (on the order of milliseconds). Hence, any delay incurred while waiting for the access lock is manageable. After the access lock is acquired 502, a file position is set 504. The file position indicates a starting point in a file at which data is to be read. Hence, after the file position is set 504, a predetermined number of bytes of data can be read 506 from the file stored in the file system. Here, the predetermined number of bytes is also managed such that the block of data being read is rather small (e.g., 32, 64, 128 or 256 kilobytes) so that the access lock is not unavailable for an extended period of time. After the predetermined number of bytes of data is read 506, the access lock is released 508 because the access to the file system is, at this point, completed. Hence, after the access lock is released 508, the data access processing 500 is complete and ends.
  • [0043]
    FIG. 6 is a flow diagram of cache loader processing 600 according to another embodiment of the invention. The cache loader processing 600 has features similar to the cache loader processing 400 illustrated in FIG. 4. However, the cache loader processing 600 is designed to provide efficient utilization of the storage disk in cases in which the file (i.e., media item) to be loaded in the cache memory exceeds the available capacity of the cache memory.
  • [0044]
    The cache loader processing 600 begins with a decision 602 that determines whether the storage disk (e.g., hard drive) is “on.” When the decision 602 determines that the storage disk is not “on,” then the storage disk is turned on 604. Alternatively, when the decision 602 determines that the storage disk is already “on,” then the operation 604 is bypassed. In any case, a data block is then retrieved 606 from the file system. As an example, the retrieval 606 of the data block can be performed in accordance with the data access processing 500 discussed above with respect to FIG. 5. Once the data block is retrieved from the file system, the retrieved data block is then stored 608 into the cache memory. Next, a decision 610 determines whether all of the data blocks for the file (i.e., media item) have been retrieved. When the decision 610 determines that all of the data blocks for the file have not yet been retrieved, then a decision 612 determines whether the cache memory has available space for another data block. When the decision 612 determines that the cache memory does have available space for another data block, then the cache loader processing 600 can return to repeat the operation 602 and subsequent operations so that at least one additional data block for the file (i.e., media item) can be retrieved and stored in the cache memory. On the other hand, when the decision 612 determines that the cache memory does not have available space for any additional data blocks, then the storage disk is turned off 614. By turning off the hard drive, the media device is able to conserve energy when the file system is temporarily not needed. A decision 616 then determines whether it is time to re-fill the cache memory. When the decision 616 determines that it is not yet time to fill the cache memory, the cache loader processing 600 awaits a more suitable time. In other words, the decision 616 causes a delay in the cache loader processing 600. The delay can be a predetermined delay, or can be signaled based upon the amount of available space in the cache memory or the amount of data remaining to be played before additional data is needed. Hence, regardless of the particular criteria utilized, when the decision 616 determines that it is time to re-fill the cache memory, then the cache loader processing 600 returns to repeat the decision 602 and subsequent operations so that one or more additional data blocks can be retrieved from the file system and stored to the cache memory such that the data, when needed by other threads, is available in the cache memory for high-speed access.
  • [0045]
    On the other hand, when the decision 610 determines that all of the data blocks for the file (i.e., media item) have been retrieved, then the storage disk is turned off 618. Here, the storage disk is turned off 618 because the file (i.e., media item) has been completely retrieved from the file system and thus the storage disk is no longer needed with respect to that media item. Of course, if another thread is in need of the file system, the storage disk could be left “on” and the other data access performed. In any case, the cache loader is then deactivated 620 because the file (media item) has been fully acquired and stored in the cache memory. Following the operation 620, the cache loader processing 600 is complete and ends.
  • [0046]
    The various aspects or features of the invention described above can be used alone or in various combinations.
  • [0047]
    Although the media items of emphasis in several of the above embodiments where audio items (e.g., audio files or songs), the media items are not limited to audio items. For example, the media item can alternatively, pertain to videos (e.g., movies) or images (e.g., photos).
  • [0048]
    The invention is preferably implemented by software, but can also be implemented in hardware or a combination of hardware and software. The invention can also be embodied as computer readable code on a computer readable medium. The computer readable medium is any data storage device that can store data which can thereafter be read by a computer system. Examples of the computer readable medium include read-only memory, random-access memory, CD-ROMs, DVDs, magnetic tape, optical data storage devices, and carrier waves. The computer readable medium can also be distributed over network-coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
  • [0049]
    The advantages of the invention are numerous. Different embodiments or implementations may yield one or more of the following advantages. One advantage of the invention is that media items can be played by a media device almost immediately after a play selection is requested. Consequently, users tend to be less anxious and less frustrated because the delay imposed before initiating playing is able to be substantially reduced. Another advantage of the invention is that media data (e.g., for audio playing) is able to be retrieved from either a cache or a file system with minor changes to other system components or software. Another advantage of the invention is that power consumption is reduced by transferring data to a cache memory and deactivating a file system.
  • [0050]
    The many features and advantages of the present invention are apparent from the written description and, thus, it is intended by the appended claims to cover all such features and advantages of the invention. Further, since numerous modifications and changes will readily occur to those skilled in the art, the invention should not be limited to the exact construction and operation as illustrated and described. Hence, all suitable modifications and equivalents may be resorted to as falling within the scope of the invention.
Citas de patentes
Patente citada Fecha de presentación Fecha de publicación Solicitante Título
US4090216 *26 May 197616 May 1978Gte Sylvania IncorporatedAmbient light contrast and color control circuit
US4386345 *22 Sep 198131 May 1983Sperry CorporationColor and brightness tracking in a cathode ray tube display system
US4451849 *23 Jun 198229 May 1984Rca CorporationPlural operating mode ambient light responsive television picture control
US4589022 *28 Nov 198313 May 1986General Electric CompanyBrightness control system for CRT video display
US4908523 *4 Abr 198813 Mar 1990Motorola, Inc.Electronic circuit with power drain control
US4928307 *2 Mar 198922 May 1990Acs CommunicationsTime dependent, variable amplitude threshold output circuit for frequency variant and frequency invariant signal discrimination
US5185906 *27 Jul 199216 Feb 1993Motorola, Inc.Belt clip spring with E-ring fastener
US5293494 *9 Mar 19938 Mar 1994Kabushiki Kaisha ToshibaPersonal computer for setting, in a software setup operation normal/reverse display, connection of an external device, and an automatic display off function
US5379057 *28 Jul 19933 Ene 1995Microslate, Inc.Portable computer with touch screen and computer system employing same
US5406305 *18 Ene 199411 Abr 1995Matsushita Electric Industrial Co., Ltd.Display device
US5608698 *9 Nov 19954 Mar 1997Pioneer Electronic CorporationDisk player which avoids sound failure resulted from retry of data reading
US5616876 *19 Abr 19951 Abr 1997Microsoft CorporationSystem and methods for selecting music on the basis of subjective content
US5617386 *1 Jul 19961 Abr 1997Samsung Electronics Co., Ltd.CD player for reproducing signals from CD-OK and video CD
US5710922 *18 Dic 199520 Ene 1998Apple Computer, Inc.Method for synchronizing and archiving information between computer systems
US5712949 *24 Ene 199227 Ene 1998Sony CorporationDisc reproduction system with sequential reproduction of audio and image data
US5717422 *16 Nov 199510 Feb 1998Fergason; James L.Variable intensity high contrast passive display
US5721949 *27 May 199724 Feb 1998Apple Computer, Inc.Disk controller having sequential digital logic in a state machine for transferring data between DMA device and disk drive with minimal assistance of the CPU
US5726672 *20 Jul 199510 Mar 1998Apple Computer, Inc.System to determine the color of ambient light for adjusting the illumination characteristics of a display
US5739451 *27 Dic 199614 Abr 1998Franklin Electronic Publishers, IncorporatedHand held electronic music encyclopedia with text and note structure search
US5740143 *10 Sep 199614 Abr 1998Sony CorporationDisc reproducing apparatus
US5760588 *25 Jul 19972 Jun 1998Eveready Battery Company, Inc.Dual rate thermochromic battery tester
US5864868 *13 Feb 199626 Ene 1999Contois; David C.Computer control system and user interface for media playing devices
US5867163 *6 Oct 19972 Feb 1999Silicon Graphics, Inc.Graphical user interface for defining and invoking user-customized tool shelf execution sequence
US5870710 *22 Ene 19979 Feb 1999Sony CorporationAudio transmission, recording and reproducing system
US5918303 *25 Nov 199729 Jun 1999Yamaha CorporationPerformance setting data selecting apparatus
US6011585 *19 Ene 19964 Ene 2000Apple Computer, Inc.Apparatus and method for rotating the display orientation of a captured image
US6018705 *2 Oct 199725 Ene 2000Personal Electronic Devices, Inc.Measuring foot contact time and foot loft time of a person in locomotion
US6041023 *29 Mar 199921 Mar 2000Lakhansingh; CynthiaPortable digital radio and compact disk player
US6052654 *30 Jul 199918 Abr 2000Personal Electronic Devices, Inc.Measuring foot contact time and foot loft time of a person in locomotion
US6172948 *8 Jul 19989 Ene 2001Advanced Audio Devices, LlcOptical storage device
US6179432 *12 Ene 199930 Ene 2001Compaq Computer CorporationLighting system for a keyboard
US6185163 *16 Ago 19996 Feb 2001Delco Electronics CorporationVehicle audio system having random access player with play list control
US6191939 *23 Dic 199820 Feb 2001Gateway, Inc.Keyboard illumination via reflection of LCD light
US6208044 *13 Nov 199727 Mar 2001Apple Computer, Inc.Removable media ejection system
US6216131 *6 Feb 199810 Abr 2001Starfish Software, Inc.Methods for mapping data fields from one data set to another in a data processing environment
US6217183 *9 Feb 200017 Abr 2001Michael ShipmanKeyboard having illuminated keys
US6248946 *1 Mar 200019 Jun 2001Ijockey, Inc.Multimedia content delivery system and method
US6336365 *24 Ago 19998 Ene 2002Personal Electronic Devices, Inc.Low-cost accelerometer
US6336727 *27 Jun 20008 Ene 2002International Business Machines CorporationPointing device keyboard light
US6341316 *28 Abr 200022 Ene 2002Avantgo, Inc.System, method, and computer program product for synchronizing content between a server and a client based on state information
US6357147 *13 Jun 200019 Mar 2002Personal Electronics, Inc.Detachable foot mount for electronic device
US6377530 *12 Feb 199923 Abr 2002Compaq Computer CorporationSystem and method for playing compressed audio data
US6536139 *19 Mar 200225 Mar 2003Personal Electronic Devices, Inc.Detachable foot mount for electronic device
US6560903 *7 Mar 200013 May 2003Personal Electronic Devices, Inc.Ambulatory foot pod
US6693612 *15 Nov 200017 Feb 2004Hitachi, Ltd.Liquid crystal display apparatus and its luminance control method
US6731312 *8 Ene 20014 May 2004Apple Computer, Inc.Media player interface
US6870529 *28 Mar 200222 Mar 2005Ncr CorporationSystem and method for adjusting display brightness levels according to user preferences
US6871063 *30 Jun 200022 Mar 2005Intel CorporationMethod and apparatus for controlling access to a computer system
US6876947 *21 Ago 20005 Abr 2005Fitsense Technology, Inc.Monitoring activity of a user in locomotion on foot
US6882955 *21 Ago 200019 Abr 2005Fitsense Technology, Inc.Monitoring activity of a user in locomotion on foot
US6898550 *21 Ago 200024 May 2005Fitsense Technology, Inc.Monitoring activity of a user in locomotion on foot
US7028096 *8 Sep 200011 Abr 2006Streaming21, Inc.Method and apparatus for caching for streaming data
US7046230 *1 Jul 200216 May 2006Apple Computer, Inc.Touch pad handheld device
US7171331 *21 Feb 200630 Ene 2007Phatrat Technology, LlcShoes employing monitoring devices, and associated methods
US7191244 *18 Ene 200213 Mar 2007Streamworks Technologies, Inc.System and method for routing media
US7213228 *17 Mar 20031 May 2007Macrovision CorporationMethods and apparatus for implementing a remote application over a network
US7356679 *1 Oct 20048 Abr 2008Vmware, Inc.Computer image capture, customization and deployment
US7508535 *30 Mar 200424 Mar 2009Ricoh Co., Ltd.Stand alone multimedia printer with user interface for allocating processing
US20020002413 *27 Jun 20013 Ene 2002Jun TokueContents distribution system, portable terminal player, and contents provider
US20020013784 *5 Dic 200031 Ene 2002Swanson Raymond H.Audio data transmission system and method of operation thereof
US20020028683 *26 Jul 20017 Mar 2002Michael BanatreMobile telephony device and process enabling access to a context-sensitive service using the position and/or identity of the user
US20020045961 *10 Oct 200118 Abr 2002Interactive Objects, Inc.System and method for data transfer optimization in a portable audio device
US20020046315 *10 Oct 200118 Abr 2002Interactive Objects, Inc.System and method for mapping interface functionality to codec functionality in a portable audio device
US20020055934 *24 Ene 20019 May 2002Lipscomb Kenneth O.Dynamic management and organization of media assets in a media player device
US20030007001 *7 Jun 20019 Ene 2003Philips Electronics North America CorporationAutomatic setting of video and audio settings for media output devices
US20030018799 *20 Sep 200223 Ene 2003Aviv EyalSystem and method for media search and playback
US20030037254 *5 Jun 200220 Feb 2003Claudius FischerProcess for synchronizing data between remotely located devices and a central computer system
US20030046434 *14 Ago 20016 Mar 2003Microsoft CorporationMethod and system for synchronizing mobile devices
US20030050092 *2 Ago 200213 Mar 2003Yun Jimmy S.Portable digital player--battery
US20030074457 *17 Oct 200117 Abr 2003Kluth Michael R.Computer system with separable input device
US20030076301 *26 Sep 200224 Abr 2003Apple Computer, Inc.Method and apparatus for accelerated scrolling
US20030076306 *1 Jul 200224 Abr 2003Zadesky Stephen PaulTouch pad handheld device
US20030079038 *21 Oct 200224 Abr 2003Apple Computer, Inc.Intelligent interaction between media player and host computer
US20030095096 *26 Sep 200222 May 2003Apple Computer, Inc.Method and apparatus for use of rotational user inputs
US20030097379 *16 Nov 200122 May 2003Sonicblue, Inc.Remote-directed management of media content
US20040001395 *30 Jun 20031 Ene 2004Keller Peter J.Optical storage device
US20040001396 *30 Jun 20031 Ene 2004Keller Peter J.Music jukebox
US20040012556 *17 Jul 200222 Ene 2004Sea-Weng YongMethod and related device for controlling illumination of a backlight of a liquid crystal display
US20040055446 *28 Oct 200225 Mar 2004Apple Computer, Inc.Graphical user interface and methods of use thereof in a multimedia player
US20040069122 *10 Oct 200315 Abr 2004Intel Corporation (A Delaware Corporation)Portable hand-held music synthesizer and networking method and apparatus
US20040076086 *11 Sep 200322 Abr 2004Keller Peter J.Compact disc recorder
US20040086120 *6 Nov 20026 May 2004Akins Glendon L.Selecting and downloading content to a portable player
US20040094018 *26 Jun 200320 May 2004Ssd Company LimitedKaraoke device with built-in microphone and microphone therefor
US20040103411 *26 Nov 200227 May 2004Thayer Jennifer JoySystem and method for automated program updating in a remote appliance
US20050015254 *18 Jul 200320 Ene 2005Apple Computer, Inc.Voice menu system
US20050053365 *15 Sep 200410 Mar 2005Adams Dale R.Portable DVD player
US20050108754 *19 Nov 200319 May 2005Serenade SystemsPersonalized content application
US20050111820 *9 Nov 200426 May 2005Chiyoko MatsumiRecording/replaying system, recording/replaying method, program and recording medium
US20060013414 *24 Nov 200419 Ene 2006Hsuan-Huei ShihMethods and related circuit for automatic audio volume level control
US20060025068 *27 Jul 20042 Feb 2006Microsoft CorporationIntelligent data broadcasting
US20060068760 *31 Ago 200430 Mar 2006Hameed Muhammad FSystem and method for pairing dual mode wired/wireless devices
US20060088228 *25 Oct 200427 Abr 2006Apple Computer, Inc.Image scaling arrangement
US20060094409 *14 Dic 20054 May 2006Eric InselbergMethod and apparatus for interactive audience participation at a live entertainment event
US20060095502 *24 Nov 20034 May 2006America Online, IncorporatedReal-time communications and content sharing
US20060098320 *28 Dic 200411 May 2006Tsutomu KogaStorage control device and method for detecting write errors to storage media
US20070028009 *4 Oct 20061 Feb 2007Apple Computer, Inc.Hot unpluggable media storage device
US20070106660 *1 Jun 200610 May 2007Bbnt Solutions LlcMethod and apparatus for using confidence scores of enhanced metadata in search-driven media applications
US20070124679 *11 Jul 200631 May 2007Samsung Electronics Co., Ltd.Video summary service apparatus and method of operating the apparatus
US20080055228 *31 Ago 20066 Mar 2008Glen David I JAdjusting brightness of a display image in a display having an adjustable intensity light source
Citada por
Patente citante Fecha de presentación Fecha de publicación Solicitante Título
US9342134 *27 Sep 201317 May 2016Intel CorporationPower consumption reduction in a computing device
US20150095686 *27 Sep 20132 Abr 2015Shane MatthewsPower consumption reduction in a computing device
WO2015047926A1 *22 Sep 20142 Abr 2015Intel CorporationPower consumption reduction in a computing device
Clasificaciones
Clasificación de EE.UU.711/138, 711/113
Clasificación internacionalG11B19/02, G11B27/34, G11B20/10, G11B27/10, G06F13/00
Clasificación cooperativaY02B60/32, Y02B60/1246, H04N21/4436, G11B20/10, G11B2220/20, H04N9/8205, H04N21/4325, G06F1/3268, H04N5/907, G11B27/34, G11B19/02, H04N5/781, G06F1/3203, G11B27/105
Clasificación europeaH04N21/432P, H04N21/443P, G11B19/02, G06F1/32P5P6, G11B27/34, G11B20/10, G06F1/32P, G11B27/10A1, H04N5/781