METHOD AND APPARATUS FOR TRACKING USER LOCATION WITHIN VIDEO OR AUDIO CONTENT STREAMED TO A MOBILE HANDSET
A method and apparatus for providing audio or video content to a mobile handset is provided.
This application is a continuation of, and claims priority to, U.S. patent application Ser. No. 11/788,494, filed on Apr. 20, 2007, incorporated herein by reference.
FIELD OF THE INVENTIONThe invention relates generally to a method and apparatus for providing video or audio content to a mobile handset.
BACKGROUND OF THE INVENTIONIn recent years, mobile handsets (such as cellular phones and PDAs) have become more powerful and now offer additional functionality beyond just voice communication. For instance, many mobile handset devices today allow users to perform web browsing on the Internet, receive emails, and play video and audio content streamed from over a wireless network. Such devices contain increasingly powerful processors and enhanced video and audio capability. However, their storage capacity is generally much smaller than the capacity of PCs and notebook computers. As a result, users of mobile handsets are reliant upon video and audio content that is streamed rather than downloaded and stored permanently. The mobile handsets also tend to have relatively small buffers in which to store the streamed data before it is played on the mobile handset.
If a mobile handset user wishes to stop listening to streamed audio content or watching streamed video content while the content is still playing, then the mobile handset will stop playing the content and will inform the source of the streaming data (usually a server connected to the wireless network) to stop streaming the data. It would be desirable for the server or other source device to be able to keep track of the user's location (e.g., the number of bits from the beginning of the content, amount of time that elapsed since the content began playing, or some other measure) within the content when he or she stops the content, so that the user can continue playing the data at the same location at a later time.
Digital content often is broken into sub-sections (e.g., chapters in a DVD movie) by the provider of the source content. Under current mobile handset technology, if a user wishes to begin playing the content at a place other than the beginning section, then the mobile handset must first begin playing at the beginning section and then move to the desired section and begin playing at the desired section. It takes approximately 15 seconds to begin playing any given section (which corresponds to the time it takes to fill the buffer in the mobile handset with data), so the end result in this scenario is that the user will need to wait approximately 30 seconds before he or she can begin listening to or watching the desired section. It would be desirable for a user to be able to begin listening to or watching any section of the content with only one buffer delay instead of two.
SUMMARY OF THE INVENTIONIn accordance with the invention, a method and apparatus are provided to keep track of a user's location within streamed audio or video data when a user stops the playing of the content, and to enable the user to resume playing the content at the same location at a later time.
In accordance with another aspect of the invention, a method and apparatus are provided to enable a user to begin streamed audio or video data at a section other than the first section while incurring only one buffer delay period.
The service unit 30 may include a user information storage unit 32 that stores information about each user of the mobile handset service system including user billing information and user service personalization information. The service unit 30 may also have a billing server 34 that performs a billing operation for the services provided to the user. In the example shown in
The service unit 30 may further include a menu/personalization unit 48, a reporting unit 50, a streaming unit 52, a log database 54 and a data mining unit 56. The menu/personalization unit 48, the reporting unit 50, the streaming unit 52 and the data mining unit 56 may preferably each be server computers. The menu/personalization unit generates and delivers the mobile device service user interfaces to the user that may also be customized by the user based on the customization information stored in the user information storage unit 32. The streaming unit may preferably support the real-time streaming protocol (RTSP) and the hypertext transfer protocol (HTTP) and may deliver/stream the service content to the mobile device over the link 24. The streaming unit may request the service content from the content store 44 and may store service content information in the log store 54. The reporting unit 50 may generate a report about various aspects of the service unit and its operations. The data mining unit 56 collects user behavior information which is then mined to determine any recommendations and personalizations for users of the system.
A user of mobile handset 22 can run various applications on the handset, such as an application that enables the user to listen to music, an audiobook or eBook, or other audio programming or to watch a movie, TV show, or other video content streamed from streaming unit 52. In one embodiment of the invention, streaming unit 52 will send the digital content to the mobile handset 22 and will also send metadata to the mobile handset 22. The metadata can include information such as the title of the song or video, the duration of the song or video, etc. The metadata also can include a URL for a website housed on third-party server 58 that offers products for sale that are relevant to the content being streamed to mobile handset 22. Examples of such products might include ringtones that contain the same music being streamed to mobile handset 22, CDs containing the same music, DVDs containing the video being streamed to mobile handset 22, etc.
Referring now to
Referring now to
Referring now to
Under this approach, if a user wishes to begin watching the movie at chapter 2 (instead of at chapter 1), service unit 30 will stream data block 91 to mobile handset 22. Mobile handset will then fill its buffer with the beginning of chapter 1(which results in a 15 second delay), then momentarily begins playing chapter 1 and then skips to chapter 2 (which results in another 15 second delay). Thus, there will be a 30 second delay before chapter 2 begins playing. Also, because the total data block size is limited to 30 minutes, the amount of time remaining before service unit 30 will need to switch to the next data block (this is analogous to switching tapes in a traditional movie projector) will now be less than 30 minutes (more specifically, 30 minutes minus the length of chapter 1).
In
The methodology shown in
It would be understood by one of skill in the art that the size of the buffer described above (15 seconds worth of data) is illustrative and not limiting. The embodiments described herein can be applied regardless of the size of the buffer. Similarly, the limit on maximum data block size described above (30 minutes worth of data), the size and number of chapters, the type of underlying digital content, and the number of chapters per block also are illustrative and not limiting. The embodiments described herein can be applied regardless of the maximum size of the data blocks.
While the foregoing has been with reference to particular embodiments of the invention, it will be appreciated by those skilled in the art that changes in these embodiments may be made without departing from the principles and spirit of the invention, the scope of which is defined by the appended claims.
Claims
1. A method for resuming playback of streamed digital content at a location where the playing of said content previously was stopped, comprising:
- providing content for playback on a mobile handset;
- receiving a first request to stop playback of said content on said mobile handset;
- stopping playback of said content on said mobile handset in response to said first request;
- maintaining location information identifying a location within said content where playback of said content on said mobile handset was stopped;
- receiving a second request to resume playback of said content on said mobile handset; and
- resuming playback of said content on said mobile handset based on said location information in response to said second request.
2. The method of claim 1, wherein providing content for playback on a mobile handset comprises streaming said content to said mobile handset.
3. The method of claim 1, further comprising:
- starting a timer upon providing content for playback on said mobile handset; and
- stopping said timer upon receiving said first request;
- wherein said location information is based on time elapsed between starting said timer and stopping said timer.
4. The method of claim 1, further comprising:
- partitioning said content into multiple data blocks based on a maximum block size; and
- streaming said multiple data blocks to said mobile handset one block at a time.
5. The method of claim 1, wherein receiving a first request to stop playback of said content on said mobile handset comprises receiving a user command to stop playback of said content on said mobile handset.
6. The method of claim 1, further comprising:
- generating multiple data blocks, wherein each data block represents a portion of said content, and wherein each portion represented by each data block has a unique starting location within said content.
7. The method of claim 6, wherein:
- said second request comprises a request to resume playback of said content on said mobile handset at a precise location within said content, wherein said precise location is one of the following: said location within said content where playback of said content on said mobile handset was stopped, and a user-specified location that differs from said location within said content where playback of said content on said mobile handset was stopped; and
- the method further comprises: determining which one of said multiple data blocks has a starting location that aligns with said precise location; wherein playback of said content on said mobile handset is resumed at said precise location by streaming a data block having a starting location that aligns with said precise location to said mobile handset.
8. The method of claim 7, further comprising:
- generating a new data block upon determining that none of said multiple data blocks has a starting location that aligns with said precise location, wherein playback of said content on said mobile handset is resumed at said precise location by streaming said new data block to said mobile handset.
9. The method of claim 6, wherein each data block represents one of the following: a chapter of said content or a track of said content.
10. The method of claim 1, wherein said content comprises one or more of: audio content and video content.
11. A system for resuming playback of streamed digital content at a location where the playing of said content previously was stopped, comprising:
- a service unit configured to: stream content to a mobile handset; receive a first request from said mobile handset to stop playback of said content on said mobile handset; stop streaming of said content to said mobile handset in response to said first request; maintain location information identifying a location within said content where streaming of said content to said mobile handset was stopped; receive a second request from said mobile handset to resume streaming of said content to said mobile handset; and resume streaming of said content to said mobile handset based on said location information in response to said second request.
12. The system of claim 11, wherein the service unit is further configured to:
- start a timer upon initiating said streaming of said content to said mobile handset; and
- stop said timer upon receiving said first request;
- wherein said location information is based on time elapsed between the start and stop of said timer.
13. The system of claim 11, wherein the service unit is further configured to:
- partition said content into multiple data blocks based on a maximum block size; and
- stream said multiple data blocks to said mobile handset one block at a time.
14. The system of claim 11, wherein the service unit is further configured to:
- generate multiple data blocks, wherein each data block represents a portion of said content, and wherein each portion represented by each data block has a unique starting location within said content.
15. The system of claim 14, wherein:
- said second request comprises a request to resume playback of said content on said mobile handset at a precise location within said content, wherein said precise location is one of the following: said location within said content where playback of said content on said mobile handset was stopped, and a user-specified location that differs from said location within said content where playback of said content on said mobile handset was stopped; and
- the service unit is further configured to: determine which one of said multiple data blocks has a starting location that aligns with said particular location; wherein streaming of said content to said mobile handset is resumed at said particular location by streaming a data block having a starting location that aligns with said particular location to said mobile handset.
16. The system of claim 15, wherein the service unit is further configured to:
- generate a new data block upon determining that none of said multiple data blocks has a starting location that aligns with said particular location, wherein streaming of said content to said mobile handset is resumed at said particular location by streaming said new data block to said mobile handset.
17. The system of claim 14, wherein each data block represents one of the following: a chapter of said content, a track of said content.
18. The system of claim 11, wherein said content comprises one or more of: audio content and video content.
19. A non-transitory computer-readable medium including instructions which when executed on
- a computer performs a method comprising: providing content for playback on a mobile handset; receiving a first request to stop playback of said content on said mobile handset; stopping playback of said content on said mobile handset in response to said first request; maintaining location information identifying a location within said content where playback of said content on said mobile handset was stopped; receiving a second request to resume playback of said content on said mobile handset; and resuming playback of said content on said mobile handset based on said location information in response to said second request.
20. The medium of claim 19, wherein:
- said second request comprises a request to resume playback of said content on said mobile handset at a precise location within said content, wherein said precise location is one of the following: said location within said content where playback of said content on said mobile handset was stopped, and a user-specified location that differs from said location within said content where playback of said content on said mobile handset was stopped; and the method further comprises: generating multiple data blocks, wherein each data block represents a portion of said content, and wherein each data block has a unique starting location within said content; and determining which one of said multiple data blocks has a starting location that aligns with said precise location; wherein playback of said content on said mobile handset is resumed at said precise location by streaming a data block having a starting location that aligns with said precise location to said mobile handset.
21. A method for playing digital content on a mobile handset, comprising:
- receiving a first request to play content on said mobile handset;
- initiating playback of said content on said mobile handset in response to said first request;
- receiving a second request to stop playback of said content on said mobile handset;
- stopping playback of said content on said mobile handset in response to said second request;
- gathering information used for determining a first location within said content where playback of said content on said mobile handset was stopped;
- receiving a third request to resume playback of said content on said mobile handset; and
- resuming playback of said content on said mobile handset based on said gathered information in response to said third request.
22. The method of claim 21, wherein initiating playback of said content on said mobile handset in response to said first request comprises:
- requesting said content from a service unit;
- receiving a stream of said content from said service unit; and
- playing said stream of said content on said mobile handset.
23. The method of claim 22, wherein:
- initiating playback of said content on said mobile handset in response to said first request further comprises initiating a timer upon playing said stream of said content on said mobile handset;
- stopping playback of said content on said mobile handset in response to said second request comprises stopping said timer; and
- gathering information used for determining a first location within said content where playback of said content on said mobile handset was stopped comprises: gathering information representing time elapsed between initiating said timer and stopping said timer; and transmitting said gathered information to said service unit, wherein said service unit determines said first location based on said gathered information.
24. The method of claim 23, wherein:
- resuming playback of said content on said mobile handset based on said gathered information in response to said second request receiving a third request to resume playback of said content on said mobile handset comprises: transmitting a command to said service unit to resume streaming of said content to said mobile handset; receiving said first location from said service unit; and displaying said first location on said mobile handset; wherein streaming of said content to said mobile handset resumes from said first location upon receiving a user command to resume playback of said content on said mobile handset at said first location.
25. The method of claim 21, wherein said content comprises one or more of: audio content and video content.
26. A system for playing digital content, comprising:
- a mobile handset configured to: receive a first request to play content on said mobile handset; initiate playback of said content on said mobile handset in response to said first request; receive a second request to stop playback of said content on said mobile handset; stop playback of said content on said mobile handset in response to said second request; gather information used for determining a first location within said content where playback of said content on said mobile handset was stopped; receive a third request to resume playback of said content on said mobile handset; and resume playback of said content on said mobile handset based on said gathered information in response to said third request.
27. The system of claim 26, wherein said mobile handset is further configured to initiate playback of said content on said mobile handset by:
- requesting said content from a service unit;
- receiving a stream of said content from said service unit; and
- playing said stream of said content on said mobile handset.
28. The system of claim 27, wherein:
- said mobile handset is further configured to initiate playback of said content on said mobile handset by initiating a timer upon playing said stream of said content on said mobile handset;
- said mobile handset is further configured to stop playback of said content on said mobile handset by stopping said timer; and
- said mobile handset is further configured to gather information used for determining a first location within said content where playback of said content on said mobile handset was stopped by: gathering information representing time elapsed between initiating said timer and stopping said timer; and transmitting said gathered information to said service unit, wherein said service unit determines said first location based on said gathered information.
29. The system of claim 28, wherein said mobile handset is further configured to resume playback of said content on said mobile handset based on said gathered information in response to said third request by:
- transmitting a command to said service unit to resume streaming of said content to said mobile handset;
- receiving said first location from said service unit; and
- displaying said first location on said mobile handset;
- wherein streaming of said content to said mobile handset resumes from said first location upon receiving a user command to resume playback of said content on said mobile handset at said first location.
30. The system of claim 26, wherein said content comprises one or more of: audio content and video content.
Type: Application
Filed: Jun 26, 2014
Publication Date: Oct 16, 2014
Inventors: Edwin Ho (Palo Alto, CA), King Sun Wai (Castro Valley, CA)
Application Number: 14/315,569
International Classification: H04N 21/472 (20060101); H04N 21/6587 (20060101); H04N 21/2387 (20060101); H04N 7/173 (20060101);