Method and apparatus for receiving, storing, and presenting multimedia programming without indexing prior to storage
First Claim
1. A method for receiving, storing, and presenting video programming without indexing the programming prior to storage, the method comprising:
- a) receiving into an input buffer a Moving Pictures Experts Group (MPEG) stream from an input section, wherein the received MPEG stream comprises video packets from a video programming event;
b) storing the received MPEG stream from the input buffer onto a storage device without, prior to storage, analyzing data in the video packets to generate indexing information from the received MPEG stream;
c) receiving a seek input;
d) determining a data read size and a starting read position in the stored MPEG stream based on the seek input;
e) loading a portion of the stored MPEG stream from the storage device, wherein;
i) the size of the loaded portion is based on the data read size; and
ii) the position of the loaded portion is based on the starting read position;
f) analyzing the loaded portion to determine if the loaded portion includes a complete MPEG intra-coded frame; and
g) if the loaded portion includes a complete MPEG intra-coded frame, decoding the MPEG intra-coded frame to provide a video frame for presentation on a display device.
4 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for improved digital recording and presentation of broadcast information is disclosed. Received broadcast data, which may include video, audio, private, or other data, relating to one or more particular content programs, is presented from an input section to a buffer and recorded directly onto a storage device without any intelligent parsing, such as indexing, and without any manipulation by intermediate hardware or software functions. Upon normal presentation, statistics are generated to determine the ideal number of frames to skip, the number of bytes to seek, and the size of data files to read from storage during time-shifted presentation. Algorithms and processes are provided to dynamically optimize time-shifted presentation. In this way, data may be captured to the storage device more efficiently and economically, and the time-shifted presentation operations can easily be performed in a smoother, more nuanced manner with the application of appropriate probabilistic algorithms.
-
Citations
23 Claims
-
1. A method for receiving, storing, and presenting video programming without indexing the programming prior to storage, the method comprising:
-
a) receiving into an input buffer a Moving Pictures Experts Group (MPEG) stream from an input section, wherein the received MPEG stream comprises video packets from a video programming event; b) storing the received MPEG stream from the input buffer onto a storage device without, prior to storage, analyzing data in the video packets to generate indexing information from the received MPEG stream; c) receiving a seek input; d) determining a data read size and a starting read position in the stored MPEG stream based on the seek input; e) loading a portion of the stored MPEG stream from the storage device, wherein; i) the size of the loaded portion is based on the data read size; and ii) the position of the loaded portion is based on the starting read position; f) analyzing the loaded portion to determine if the loaded portion includes a complete MPEG intra-coded frame; and g) if the loaded portion includes a complete MPEG intra-coded frame, decoding the MPEG intra-coded frame to provide a video frame for presentation on a display device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for receiving, storing, and presenting programming without indexing the programming prior to storage, the method comprising:
-
a) receiving into an input buffer a Moving Pictures Experts Group (MPEG) stream from an input section, wherein the received MPEG stream comprises audio packets from a programming event; b) storing the received MPEG stream from the input buffer onto a storage device without, prior to storage, analyzing data in the audio packets to generate indexing information from the received MPEG stream; c) receiving a seek input; d) determining a data read size and a starting read position in the stored MPEG stream based on the seek input; e) loading a portion of the stored MPEG stream from the storage device, wherein; i) the size of the loaded portion is based on the data read size; and ii) the position of the loaded portion is based on the starting read position; f) analyzing the loaded portion to determine if the loaded portion of the stored MPEG stream includes a complete audio frame; and g) if the loaded portion includes a complete audio frame, decoding the complete audio frame to provide an audio frame for presentation on a presentation device.
-
-
13. A method for presentation of an MPEG stream stored on a storage device, the method comprising:
-
a) providing video frame statistics for video data encoded in the stored MPEG stream; b) receiving a seek input; c) determining a data read size and a starting read position in the stored MPEG stream based on the seek input; d) loading a portion of the stored MPEG stream from the storage device, wherein; i) the size of the loaded portion is based on the data read size; and ii) the position of the loaded portion is based on the starting read position. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A computer-readable medium that stores a computer program for presentation of an MPEG stream stored on a storage device, wherein the computer program includes computer instructions for:
-
a) providing video frame statistics for video data encoded in the stored MPEG stream; b) receiving a seek input; c) determining a data read size and a starting read position in the stored MPEG stream based on the seek input; and d) loading a portion of the stored MPEG stream from the storage device, wherein; i) the size of the loaded portion is based on the data read size; and ii) the position of the loaded portion is based on the starting read position.
-
-
23. A digital video recorder device for receiving, storing, and presenting video programming comprising:
-
a tuner configured to receive an MPEG stream comprising the video programming; a storage device configured to store the MPEG stream; a computer processor configured to execute a computer program; an MPEG video decoder configured to decode MPEG video data; a computer-readable medium that stores the computer program, wherein the computer program includes computer instructions for; a) providing video frame statistics for video data encoded in the stored MPEG stream; b) receiving a seek input; c) determining a data read size and a starting read position in the stored MPEG stream based on the seek input; d) loading a portion of the stored MPEG stream from the storage device, wherein; i) the size of the loaded portion is based on the data read size; and ii) the position of the loaded portion is based on the starting read position e) analyzing the loaded portion to determine if the loaded portion includes a complete MPEG intra-coded frame; and f) if the loaded portion includes a complete MPEG intra-coded frame, decoding the MPEG intra-coded frame with the MPEG video decoder to provide a video frame for presentation on a display device.
-
Specification