Claims
- 1. A digital video recorder comprising:
an analog video decoder having an analog to digital converter and an input for receiving analog video signals; an analog video encoder having a digital to analog converter and an output for transmitting analog video signals; at least one digital disk for storing and playing back video data; and a video compression encoder and decoder connected through a multiport memory controller to said at least one digital disk; and a synchronizing time generator; wherein said multiport memory controller comprises a field programmable gate array.
- 2. In a digital video recorder having at least one disk drive for storing video data, a recording method comprising the steps of:
calculating the starting disk address for each video frame and placing said addresses in an index table; initializing the index table for use upon startup; forming a sequential set of disk addresses corresponding to a starting address and the address of each disk block corresponding to subsequent frames in a recorded video clip; appending frame addresses to the index table sequentially during recording; indicating the free space available in the index table for recorded video frame addresses; closing index table space upon termination of recording; and writing a record of the index table to the disk drive.
- 3. In a digital video recorder having at least one disk drive for storing video data, a loop recording method comprising:
a) maintaining an index table for storing disk addresses for recorded video; b) allocating free space on said disk and in said index table to additional video recording; c) keeping track of available disk free space and available index table free space to determine when either such free space is becoming exhausted by new recorded video; d) overwriting video data after said free space is exhausted while deallocating such overwritten data; and e) providing a loop remnant directory to determine a changing boundary between newly recorded video and previously recorded video.
- 4. The loop recording method recited in claim 3 wherein the digital video recorder comprises a recording circuit board and said steps a) through e) are carried out using said recording circuit board and wherein said digital video recorder also comprises a playback circuit board in communication with said recording circuit board for carrying out the additional steps of:
f) creating an index table for newly recorded material g) generating data structures for video playback; and h) deallocating video frames from said data structures and indices from said index table as said loop recording overwrites video frames.
- 5. In a digital video recorder, a method for allocating memory cycles to dynamically adjust for unpredictable data flow requirements, the recorder having multiple ports, multi-level port request logic, arbitration logic and sequencing logic; the method comprising the steps of:
a) using said port request logic to examine data flow, develop an estimate of the urgency for port service and presenting a multi-level request to the arbitration logic, said request representing the estimated level of data urgency; b) employing said arbitration logic to examine requests from all ports to select one port having the highest urgency level, generate port selection signals and send a start of cycle signal to said sequencing logic; c) generating in said sequencing logic, control signals to cycle memory and transfer data; d) transferring data from the selected port to and from memory under control of the sequencing logic; e) terminating the current cycle upon completion of data transfer; and f) using said arbitration logic to select a port for the next cycle.
- 6. A method for dynamically metering compressed video data rates to accommodate maximum disk data rates in a digital video recorder hard disk without dropping frames during recording; the method comprising the steps of:
a) statistically monitoring disk performance; b) comparing said performance to the video frame rate to determine the disk's actual maximum data rate in real time; c) reprogramming the compression target data rate to the maximum disk supportable data rate in the event that the disk cannot sustain a configured data rate; and d) iteratively repeating step c) continuously adjusting compression data rate to the lesser of maximum disk data rate and selected compression level.
CROSS-RELATED APPLICATION
[0001] This application takes priority from Provisional Patent Application Serial No. 60/261,932 filed Jan. 15, 2001.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60261932 |
Jan 2001 |
US |