A method of seeking within a time shift buffer includes receiving a media stream from a remotely located media source over a network, and generating a time shift buffer associated with the media stream. The time shift buffer includes a number of frames with keyframes provided at a certain intervals. When a seek request associated with a desired time within the media stream is received, the system determines a nearest keyframe within the set of keyframes that is previous to and closest in time to the desired time, displays the nearest keyframe, then considers in turn each of the frames subsequent to the nearest keyframe until a desired frame corresponding to the desired time is reached displayed. The system cancels the previous examining step and determines a new nearest keyframe in the event a second seek request is received.
Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A method of viewing a media stream, the method comprising: receiving the media stream from a remotely located media source over a network; generating a time-shift buffer to store a plurality of frames of the media stream, the plurality of frames comprising a set of keyframes; receiving a seek request associated with a specified time within the media stream; determining a first keyframe within the set of keyframes that is previous to and closest in time to the specified time; displaying the first keyframe; examining each of the frames subsequent to the first keyframe until a first frame corresponding to the specified time is reached; displaying the first frame directly after displaying the first keyframe, with no intervening frames; and cancelling the examining step in the event a new seek request is received.
A method for viewing streaming media involves receiving a media stream from a remote source over a network and storing it in a time-shift buffer. This buffer holds multiple frames, including keyframes. When a user requests to jump to a specific time, the system finds the closest keyframe preceding the desired time, displays it, and then examines subsequent frames until it reaches the exact frame for that time. This frame is displayed immediately after the keyframe, with no frames skipped. If the user makes another seek request during this process, the examination of frames is cancelled.
2. The method of claim 1 , wherein the examining step includes decoding each of the frames.
The method of viewing a media stream as described above, where examining frames to find the exact frame for the requested time includes decoding each frame in the time-shift buffer. This decoding step is performed sequentially until the targeted frame is identified for display after the initial keyframe is displayed.
3. The method of claim 1 , wherein the examining step includes dropping each of the frames.
The method of viewing a media stream as described above, where examining frames after displaying the nearest keyframe until reaching the frame associated with the specified time includes dropping or skipping the intermediate frames. Instead of fully decoding and rendering each intermediate frame, the system quickly advances through the buffer by selectively discarding them until the target frame is found and subsequently displayed after the keyframe.
4. The method of claim 1 , wherein the set of keyframes have an interval of greater than about 4 seconds.
The method of viewing a media stream as described above, wherein keyframes within the time-shift buffer are spaced apart by an interval of greater than approximately 4 seconds. This means a keyframe is present at least every 4 seconds within the media stream's time-shifted representation.
5. The method of claim 1 , further including generating the seek request via a user interface including a visual depiction of the time shift buffer.
The method of viewing a media stream as described above, which includes generating the time seek request through a user interface that visually represents the time-shift buffer. This could be a timeline or similar graphical element, allowing the user to select a specific point in time within the buffered media stream.
6. The method of claim 1 , wherein the cancelling step is performed in response to a software interrupt.
The method of viewing a media stream as described above, where the cancellation of the frame examination process, which occurs when a new seek request is received, is triggered by a software interrupt. This interrupt signals the system to cease its current frame-by-frame search and handle the new request.
7. The method of claim 1 , wherein the media source is a placeshifting device.
The method of viewing a media stream as described above, where the remote media source that provides the stream is a placeshifting device. A placeshifting device allows access to media content from a different physical location.
8. A media player system to view a media stream received from a remotely located media source over a network, the media player comprising: a time-shift buffer comprising a plurality of frames of the media steam, the plurality of frames comprising a set of keyframes; a user interface configured to receive user input and generate a seek request including a specified time within the media stream; and a buffer seek module configured to determine, in response to the seek request, a first keyframe within the set of keyframes that is previous to and closest in time to the specified time, display the first keyframe, review each of the frames subsequent to the first keyframe until a first frame corresponding to the specified time is reached, display the first frame directly after displaying the first keyframe, with no intervening frames; and cancel the review of each of the frames in the event a second seek request is received.
A media player system is set up to view media streams from a remote source. It uses a time-shift buffer to store frames, including keyframes. A user interface takes user input and creates a seek request with a specific time. A buffer seek module finds the nearest keyframe before the requested time, shows it, and then checks each following frame until the frame matching the desired time is found. This frame is shown right after the keyframe, with no skips. If another seek request comes in, the frame checking stops.
9. The system of claim 8 , wherein the buffer seek module decodes each of the frames.
The media player system for viewing streaming media described above, where the buffer seek module decodes each frame when reviewing frames after displaying the nearest keyframe, until the frame associated with the requested time is found. The frames are decoded sequentially to display them in the media player.
10. The system of claim 8 , wherein the buffer seek module includes dropping each of the frames.
The media player system for viewing streaming media described above, where the buffer seek module includes dropping each of the frames. Instead of decoding each intermediate frame, the system skips over them until the target frame is found and subsequently displayed after the keyframe.
11. The system of claim 8 , wherein the set of keyframes have an interval of greater than about 4 seconds.
The media player system for viewing streaming media described above, where keyframes within the time-shift buffer are spaced apart by an interval of greater than approximately 4 seconds. This means a keyframe is present at least every 4 seconds within the media stream's time-shifted representation.
12. The system of claim 8 , further wherein the seek request is generated via a user interface including a visual depiction of the time shift buffer.
The media player system for viewing streaming media described above, wherein the seek request is generated via a user interface that visually represents the time-shift buffer. This could be a timeline or similar graphical element, allowing the user to select a specific point in time within the buffered media stream.
13. The system of claim 8 , wherein the cancelling step is performed in response to a software interrupt.
The media player system for viewing streaming media described above, where the cancellation of the frame review process, which occurs when a new seek request is received, is triggered by a software interrupt. This interrupt signals the system to cease its current frame-by-frame search and handle the new request.
14. The system of claim 8 , wherein the remotely located media source is a placeshifting device.
The media player system for viewing streaming media described above, wherein the remote media source that provides the stream is a placeshifting device. A placeshifting device allows access to media content from a different physical location.
15. A method of searching within a media stream, the method comprising: storing a plurality of frames of the media stream, the plurality of frames comprising a set of keyframes; receiving a first time request; determining a first keyframe within the set of keyframes that is previous to and closest in time to the first time request; displaying the first keyframe; and examining each of the frames subsequent to the first keyframe until a first frame corresponding to the specified time is reached; displaying the first frame directly after displaying the first keyframe, with no intervening frames; and cancelling the examining step when a second time request is received.
A method to search a media stream involves storing the stream's frames, including keyframes. When a user seeks to a specific time, the system identifies the closest keyframe prior to the requested time and displays it. Then, it sequentially examines each frame after that keyframe until the frame associated with the specified time is located, which is then shown directly after the initial keyframe. If a second seek request is received during this process, the frame examination stops.
16. The method of claim 15 , wherein the examining step includes decoding each of the frames.
The method of searching a media stream as described above, where the step of examining each frame following the initial keyframe involves decoding each of those frames. The frames are decoded to enable comparison with the requested seek time and display the correct frame.
17. The method of claim 15 wherein the examining step includes dropping each of the frames.
The method of searching a media stream as described above, wherein the examining step includes dropping each of the frames. Instead of fully decoding and rendering each intermediate frame, the system quickly advances through the buffer by selectively discarding them until the target frame is found and subsequently displayed after the keyframe.
18. The method of claim 15 , wherein the set of keyframes have an interval of greater than about 4 seconds.
The method of searching a media stream as described above, wherein keyframes within the stored media stream are spaced apart by an interval of greater than approximately 4 seconds. This means a keyframe is present at least every 4 seconds within the media stream's representation.
19. The method of claim 15 , further including generating the seek request via a user interface including a visual depiction of the time shift buffer.
The method of searching a media stream as described above, which includes generating the time seek request through a user interface that visually represents the time-shift buffer. This could be a timeline or similar graphical element, allowing the user to select a specific point in time within the buffered media stream.
20. The method of claim 15 , wherein the cancelling step is performed in response to a software interrupt.
The method of searching a media stream as described above, where the cancellation of the frame examination process, which occurs when a new seek request is received, is triggered by a software interrupt. This interrupt signals the system to cease its current frame-by-frame search and handle the new request.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
August 10, 2009
September 10, 2013
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.