Claims
- 1. A method for supporting multiple interactive digital video streams comprising:
receiving a first broadcast digital video stream; storing the first broadcast digital video stream into one or more I-files comprised of one or more intraframes (I-frames) and one or more PB-files comprised of one or more frames selected from a group comprising a predicted frame (P-frame) and a bi-directional predicted frame 3-frame); and providing a first display digital video stream based on the one or more I-files.
- 2. The method of claim 1 wherein the first display digital video stream is provided further based on the one or more PB-files.
- 3. The method of claim 1 wherein I-frames within an I-file are skipped to support a fast scan.
- 4. The method of claim 1 further comprising storing the first broadcast digital video stream into a receiving buffer for the first broadcast digital video stream.
- 5. The method of claim 4 wherein the first broadcast digital video stream is stored in the one or more I-files and one or more PB-files when the receiving buffer is full.
- 6. The method of claim 1 wherein providing comprises storing the first display digital video stream in a display buffer.
- 7. The method of claim 1 further comprising causing the first display digital video stream to be displayed to a viewer.
- 8. The method of claim 1 further comprising providing a second display digital video stream based on the one or more I-files.
- 9. The method of claim 8 wherein:
the first display digital video stream is stored in a first display buffer; and the second display digital video stream is stored ill a second display buffer that is different than the first display buffer.
- 10. The method of claim 1 wherein the first display digital video stream complies with a motion picture experts group (MPEG) standard.
- 11. The method of claim 1 further comprising allocating a set of memory pages for receiving the first broadcast digital video stream, wherein:
the first broadcast digital video stream is stored from one of the memory pages into the one or more I-files and one or more PB-files when one of the memory pages is full; and the first display digital video stream is provided pursuant to reading data stored in the one or more I-files when a decoder has consumed one of the memory pages.
- 12. The method of claim 11 wherein the set of memory pages comprises four (4) memory pages.
- 13. The method of claim 1 wherein if free system memory is less than a minimum memory required to support a requested speedup fast-scan stream, the requested fast-scan stream is not provided as the first display digital video stream.
- 14. The method of claim 1 wherein if free system memory is greater than a minimum memory required to support a requested speedup fast-scan stream, the requested fast-scan stream is provided as the first display digital video stream.
- 15. The method of claim 1 wherein the one or more I-frames are distributed into one or more I-files in a round-robin manner.
- 16. The method of claim 15 wherein one or more I-frames numbered as I1, I2, I3. . . Imare placed among κ I-files F1, F2, . . . Fκ, in die following round-robin manner:
- 17. The method of claim 15 further comprising:
determining if free system memory is less than a minimum memory required to support a requested speedup fast-scan stream; if free system memory is not less than the minimum memory required to support the requested speedup fast-scan stream, providing the requested speedup fast-scan stream as the first display digital video stream; and if free system memory is less than the minimum memory required to support a requested speedup fast-scan stream, reducing the requested scan speed until available system memory is able to support the reduced scan speed and providing the reduced scan speed stream as the first display digital video stream.
- 18. The method of claim 1 wherein the one or more I-frames ate organized into a tree-structure and each level of the tree structure is represented by one or more I-files.
- 19. The method of claim 18 wherein each level of the tree-structure represents a fast-scan speed for the first display digital video stream that is provided.
- 20. The method of claim 18 further comprising:
(a) if free system memory is not less than a minimum memory required to support a requested speedup fast-scan stream, providing the requested speedup fast-scan stream as the first display digital video stream; (b) if free system memory is less than a minimum memory required to support the requested speedup fast-scan stream and the requested speedup fast-scan is greater than or equal to a frame span factor:
(i) reducing the requested scan speed until available system memory is able to support the reduced scan speed and the reduced speedup fast-scan is greater than or equal to the frame span factor; and (ii) providing the reduced scan speed stream as the first display digital video stream.
- 21. The method of claim 20 wherein if reducing the scan speed does not result in the ability for available system memory to support the reduced scan speed or a reduced speedup fast-scan that is greater than or equal to the frame span factor, then the first display digital video stream is provided by:
setting the scan-speed K to α×βi−1×δ, wherein α is a frame span factor, β is a scan speed resolution factor, and δ is an average number of frames in a frame sequence; reading I-frames from an I-file; and providing all I-frames read in the first display digital video stream, wherein a fraction of I-frames dropped are approximately equal to 431β.
- 22. The method of claim 18 wherein an in-order traversal of the tree-structure is used to support normal playback for the first display digital video stream.
- 23. The method of claim 18 wherein the I-frames are distributed among κ I-files F1, F2, . . . Fκ, in the following manner:
- 24. The method of claim 18 wherein the I-frames ate distributed among κ I-files F1, F2, Fκ, in the following manner:
- 25. A system for supporting multiple interactive digital video streams comprising:
(a) a receiver configured to:
(i) receive a first broadcast digital video stream; and (ii) store the first broadcast digital video stream into one or more I-files comprised of one or more intraframes (I-frames) and one or more PB-files comprised of one or more frames selected from a group comprising a predicted frame (P-frame) and a bi-directional predicted frame (B-frame); and (b) a scheduler configured to provide a first display digital video stream based on the one or more I-files.
- 26. The system of claim 25 wherein the first display digital video stream is further based on the one or more PB-files.
- 27. The system of claim 25 wherein I-frames within an I-file are skipped to support a fast scan.
- 28. The system of claim 25, wherein the receiver is further configured to store the first broadcast digital video stream into a receiving buffer for the first broadcast digital video stream.
- 29. The system of claim 28 wherein the receiver stores the first broadcast digital video stream in the one or more I-files and one or more PB-files when the receiving buffer is full.
- 30. The system of claim 25 wherein the scheduler is configured to provide the first display digital video stream by storing the first display digital video stream in a display buffer.
- 31. The system of claim 25 further comprising a display thread that displays the first display digital video stream to a viewer.
- 32. The system of claim 25 wherein the scheduler is further configured to provide a second display digital video stream based on the one or more I-files.
- 33. The system of claim 32 wherein the scheduler:
stores the first display digital video stream in a first display buffer; and stores the second display digital video stream in a second display buffer that is different than the first display buffer.
- 34. The system of claim 25 wherein the first display digital video stream complies with a motion picture experts group (MPEG) standard.
- 35. The system of claim 25 further comprising a resource manager configured to allocate a set of memory pages for receiving the first broadcast digital video stream, wherein:
the receiver is configured to store the first broadcast digital video stream from one of the memory pages into the one or more I-files and one or more PB-files when one of the memory pages is full; and the scheduler is configured to provide the first display digital video stream pursuant to reading data stored in the one or more I-files when a decoder has consumed one of the memory pages.
- 36. The system of claim 35 wherein the set of memory pages comprises four (4) memory pages.
- 37. The system of claim 25 wherein if free system memory is less than a minimum memory required to support a requested speedup fast-scan stream, the scheduler does not provide the requested fast-scan stream as the first display digital video stream.
- 38. The system of claim 25 wherein if free system memory is greater than a minimum memory required to support a requested speedup fast-scan stream, the scheduler provides the requested fast-scan stream as the first display digital video stream.
- 39. The system of claim 25 wherein the receiver stores the one or more I-frames into one or more I-files in a round-robin manner.
- 40. The system of claim 39 wherein one or more I-frames numbered as I1, I2, I3. . . Im are stored among κI-files F1, F2, . . . Fκ, in the following round-robin manner:
- 41. The system of claim 39 wherein the scheduler is further configured to:
determine if free system memory is less than a minimum memory required to support a requested speedup fast-scan stream; if free system memory is not less than the minimum memory required to support the requested speedup fast-scan stream, provide the requested speedup fast-scan stream as the first display digital video stream; and if free system memory is less than the minimum memory required to support a requested speedup fast-scan stream, reduce the requested scan speed until available system memory is able to support the reduced scan speed and provide the reduced scan speed stream as the first display digital video stream.
- 42. The system of claim 25 wherein the receiver is further configured to organize the one or more I-frames into a tree-structure and each level of the tree structure is represented by one or more I-files.
- 43. The system of claim 42 wherein each level of the tree-structure represents a fast-scan speed for the first display digital video stream that is provided.
- 44. The system of claim 42, wherein the scheduler is further configured to:
(a) provide the requested speedup fast-scan stream as the first display digital video stream if free system memory is not less than a minimum memory required to support a requested speedup fast-scan stream; (b) if free system memory is less than a minimum memory required to support the requested speedup fast-scan stream and the requested speedup fast-scan is greater than or equal to a frame span factor:
(i) reduce the requested scan speed until available system memory is able to support the reduced scan speed and the reduced speedup fast-scan is greater than or equal to the frame span factor; and (ii) provide the reduced scan speed stream as the first display digital video stream.
- 45. The system of claim 44 wherein if reducing the scan speed does not result in the ability for available system memory to support the reduced scan speed or a reduced speedup fast-scan that is greater than or equal to the frame span factor, then the scheduler provides the first display digital video stream by:
setting the scan-speed K to α×βi−1×δ, wherein α is a frame span factor, β is a scan speed resolution factor, and δ is an average number of frames in a frame sequence; reading I-frames from an I-file; and providing all I-frames read in the first display digital video stream, wherein a fraction of I-frames dropped are approximately equal to 451β.
- 46. The system of claim 42 wherein the scheduler performs an in-order traversal of the tree-structure to support normal playback for the first display digital video stream.
- 47. The system of claim 42 wherein the receiver stores the I-frames among κ I-files F1, F2, . . . F κ, in the following manner:
- 48. The system of claim 42 wherein the receiver stores the I-frames among κ I-files F1, F2, . . . Fκ, in the following manner:
- 49. An article of manufacture comprising a program storage medium readable by a computer hardware device and embodying one or more instructions executable by the computer hardware device to perform a method for supporting multiple interactive digital video streams, the method comprising:
receiving a first broadcast digital video stream; storing the first broadcast digital video stream into one or more I-files comprised of one or more intraframes (I-frames) and one or more PB-files comprised of one or more frames selected from a group comprising a predicted frame (P-frame) and a bi-directional predicted frame (B-frame); and providing a first display digital video stream based on the one or more I-files.
- 50. The article of manufacture of claim 49 wherein the first display digital video stream is provided further based on the one or more PB-files.
- 51. The article of manufacture of claim 49 wherein I-frames within an I-file are skipped to support a fast scan.
- 52. The article of manufacture of claim 49, the method further comprising storing the first broadcast digital video stream into a receiving buffer for the first broadcast digital video stream.
- 53. The article of manufacture of claim 52 wherein the first broadcast digital video stream is stored in the one or more I-files and one or more PB-files when the receiving buffer is full.
- 54. The article of manufacture of claim 49 wherein providing comprises storing the first display digital video stream in a display buffer.
- 55. The article of manufacture of claim 49, the method further comprising causing the first display digital video stream to be displayed to a viewer.
- 56. The article of manufacture of claim 49, the method further comprising providing a second display digital video stream based on the one or more I-files.
- 57. The article of manufacture of claim 56 wherein:
the first display digital video stream is stored in a first display buffer; and the second display digital video stream is stored in a second display buffer that is different than the first display buffer.
- 58. The article of manufacture of claim 49 wherein the first d display digital video stream complies with a motion picture experts group (MNPEG) standard.
- 59. The article of manufacture of claim 49, the method further comprising allocating a set of memory pages for receiving the first broadcast digital video stream, wherein:
the first broadcast digital video stream is stored from one of the memory pages into the one or more I-files and one or more PB-files when one of the memory pages is full; and the first display digital video stream is provided pursuant to reading data stored in the one or more I-files when a decoder has consumed one of the memory pages.
- 60. The article of manufacture of claim 59 wherein the set of memory pages comprises four (4) memory pages.
- 61. The article of manufacture of claim 49 wherein if free system memory is less than a minimum memory required to support a requested speedup fast-scan stream, the requested fast-scan stream is not provided as the first display digital video stream.
- 62. The article of manufacture of claim 49 wherein if free system memory is greater than a minimum memory required to support a requested speedup fast-scan stream, the requested fast-scan stream is provided as the first display digital video stream.
- 63. The article of manufacture of claim 49 wherein the one or more I-frames are distributed into one or more I-files in a round-robin manner.
- 64. The article of manufacture of claim 63 wherein one or more I-frames numbered as I1, I2, I3. . . Im are placed among κ I-files F1, F2, . . . Fκ, in the following round-robin manner:
- 65. The article of manufacture of claim 63, the method further comprising:
determining if free system memory is less than a minimum memory required to support a requested speedup fast-scan stream; if free system memory is not less than the minimum memory required to support the requested speedup fast-scan stream, providing the requested speedup fast-scan stream as the first display digital video stream; and if free system memory is less than the minimum memory required to support a requested speedup fast-scan stream, reducing the requested scan speed until available system memory is able to support the reduced scan speed and providing the reduced scan speed stream as the first display digital video stream.
- 66. The article of manufacture of claim 49 wherein the one or more I-frames ate organized into a tree-structure and each level of the tree structure is represented by one or more I-files.
- 67. The article of manufacture of claim 66 wherein each level of the tree-structure represents a fast-scan speed for the first display digital video stream that is provided.
- 68. The article of manufacture of claim 66, the method further comprising:
(a) if free system memory is not less than a minimum memory required to support a requested speedup fast-scan stream, providing the requested speedup fast-scan stream as the first display digital video stream; (b) if free system memory is less than a minimum memory required to support the requested speedup fast-scan stream and the requested speedup fast-scan is greater than or equal to a frame span factor:
(i) reducing the requested scan speed until available system memory is able to support the reduced scan speed and the reduced speedup fast-scan is greater than or equal to the frame span factor; and (ii) providing the reduced scan speed stream as the first display digital video stream.
- 69. The article of manufacture of claim 68 wherein if reducing the scan speed does not result in the ability for available system memory to support the reduced scan speed or a reduced speedup fast-scan that is greater than or equal to the frame span factor, then the first display digital video stream is provided by:
setting the scan-speed K to α×βi−1×δ, wherein α is a frame span factor, β is a scan speed resolution factor, and δ is an average number of frames in a frame sequence; reading I-frames from an I-file; and providing all I-frames read in the first display digital video stream, wherein a fraction of I-frames dropped are approximately equal to 471β.
- 70. The article of manufacture of claim 66 wherein an in-order traversal of the tree-structure is used to support normal playback for the first display digital video stream.
- 71. The article of manufacture of claim 66 wherein the I-frames are distributed among κ I-files F1, F2, . . . Fκ, in the following manner:
- 72. The article of manufacture of claim 66 wherein the I-frames are distributed among κ I-files F1, F2, . . . Fκ, in the following manner:
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit under 35 U.S.C. Section 119(e) of the following co-pending and commonly-assigned U.S. provisional patent application, which is incorporated by reference herein:
[0002] United States Provisional Patent Application Ser. No. 06/235,723, entitled “CLIENT-BASED INTERACTIVE DTV ARCHITECTURE”, filed on Sep. 27, 2000 by Edward Y. Chang et. al., Attorney Docket No. 30794.82USP1.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60235723 |
Sep 2000 |
US |