Trick playback of digital video data
Abstract
A single-chip application specific integrated circuit provides autonomous management of playback of digital video and audio. The chip includes a digital video decoder and output system, and a central processing unit controlling said digital video decoder and output system. The central processing unit receives commands to establish a current playback state for management of playback of digital video and audio by said digital video decoder and output system, and responds to a video field synchronization signal and a current playback state, without external instruction, to determine whether to display digital video, whether to decode digital video for display, whether to repeat display of previously decoded digital video, and whether to skip over digital video prior to decoding digital video for output. By delivering commands to the central processing unit, the application specific integrated circuit can be caused to transition between playback states to provide desired playback of said digital video and audio.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method of managing the decoding and display of digital video in a plurality of modes including at least one mode in which frames of digital video are displayed in other than their original order or certain frames are not displayed, using a plurality of buffers each for storing a frame of decoded digital video data for display, comprising
preliminary to decoding a frame of digital video data, selecting a decode buffer for storage of the decoded digital video data without regard to a current playback mode or type of video frame being decoded, preliminary to displaying a frame of digital video data, selecting a display buffer from which digital video data is to be displayed, decoding a frame of digital video data into the selected decode buffer, and displaying a frame of digital video data from the selected display buffer.
2 . The method of claim 1 , further comprising, preliminary to selecting a decode buffer and decoding a frame of digital video data into the selected decode buffer, determining whether to release any of said buffers and which buffer to release.
3 . The method of claim 2 wherein the determination whether to release any of said buffers is based on a current playback state.
4 . The method of claim 3 wherein in a PLAY, SLOW FORWARD, FAST FORWARD or REVERSE DECODE state the buffer holding the second last reference frame decoded is released when a reference frame is being decoded, and the buffer holding the last non-reference frame decoded is released when a reference frame is being decoded.
5 . The method of claim 1 wherein selecting a decode buffer comprises determining whether there are any free buffers and if so selecting a free buffer for said decode buffer, and otherwise selecting a buffer storing digital video data currently being displayed for said decode buffer.
6 . The method of claim 5 wherein selecting a free buffer comprises selecting a free buffer having a greatest history value for said decode buffer, and further comprising
when a decode buffer is selected, resetting the history value of said decode buffer and increasing the history value of all other buffers.
7 . The method of claim 1 wherein in a first playback state, said display buffer is selected based on temporal references of data stored in said buffers.
8 . The method of claim 7 wherein said first playback state is a REVERSE DECODE or FAST REVERSE playback state.
9 . The method of claim 1 wherein in a second playback state, said display buffer is selected based on a type of frame being decoded.
10 . The method of claim 9 wherein said second playback state is one of a PLAY, FAST FORWARD or SLOW FORWARD state, and when a reference frame is being decoded a buffer storing a previous reference frame is selected for said display buffer, and when a non-reference frame is being decoded the frame being decoded is selected for said display buffer.
11 . The method of claim 1 further comprising changing a number of frame buffers while decoding and displaying digital video.
12 . The method of claim 11 wherein a number of frame buffers is changed as part of transitioning between said modes.
13 . A method of managing the decoding and display of digital video in a plurality of modes including at least one mode in which frames of digital video are displayed in a reverse order, using a plurality of buffers each for storing a frame of decoded digital video data for display, comprising
displaying a current video frame from a first frame buffer, decoding digital video frames preceding said current video frame in forward order, until at least respective second and third frame buffers are respectively storing first and second prior video frames preceding said current video frame in forward order, and then displaying said first prior video frame from said second frame buffer without re-decoding said first prior video frame, and displaying said second prior video frame from said third frame buffer without re-decoding said second prior video frame.
14 . The method of claim 13 further comprising decoding at least one additional prior digital video frame preceding said first and second prior video frames in forward order.
15 . The method of claim 14 wherein decoding said at least one additional prior digital video frame is performed while said first prior video frame is being displayed.
16 . The method of claim 14 wherein decoding of said at least one additional prior digital video frame continues until at least one frame buffer is storing said at least one additional prior digital video frame.
17 . The method of claim 14 wherein said at least one additional prior digital video frame is decoded into said first frame buffer.
18 . The method of claim 14 further comprising, prior to decoding said at least one additional prior digital video frame, requesting delivery, from a host, of encoded digital video data needed to decode said at least additional prior digital video frame.
19 . The method of claim 18 wherein requesting delivery of encoded digital video data comprises identifying an MPEG VOBU or GOP needed to be decoded in forward order to decode said at least one additional prior digital video frame.
20 . The method of claim 19 wherein an MPEG VOBU or GOP including said first and second prior digital video frames is identified.
21 . The method of claim 20 wherein an MPEG VOBU or GOP prior to the VOBU or GOP including said first and second prior digital video frames is also identified.Join the waitlist — get patent alerts
Track US2004067043A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.