Video processing technique using multi-buffer video memory
First Claim
1. A method for storing and retrieving video data from a video memory, the method comprising:
- dividing the video memory into a first address group, configured to store a first frame of the video data, and a second address group, configured to store a second frame of the video data;
selecting, using a video-in pointer, a first address in the first address group, the video-in pointer addressing the video memory for storage of the video data into the video memory;
selecting, using a video-out pointer, a second address in the second address group, the video-out pointer addressing video data in the second address group for displaying the video data;
determining whether the video-out pointer is beyond a first critical address in the second address group, the first critical address being an address, other than a last address in said second address group, selected to ensure that the video-in pointer may enter and address the second address group without overtaking the video-out pointer addressing video data in the second address group; and
if the video-out pointer is not beyond the first critical address, preventing the video-in pointer from addressing video data in the second address group until the video-out pointer is beyond the first critical address.
2 Assignments
0 Petitions
Accused Products
Abstract
In a preferred embodiment, when full-motion video data is to be captured on a hard disk, a full-motion video memory on a video controller card has its addresses segmented into four groups, where each group can store one scaled-down frame (or field) of video data. The video memory is arranged to effectively act as a four-frame, first-in first-out (FIFO) buffer. The holding time of a single frame of data (i.e., four times the conventional holding time) in the video memory is sufficient to allow for the unpredictable variations in the hard drive timing so that frames are not arbitrarily dropped by worst case timing/accessing times of the hard drive. Hence, the average bandwidth and timing of the hard drive, rather than the instantaneous worst case bandwidth and timing of the hard drive, is used when designing the system. Additionally, video data may be read from and written into the same frame area in the video memory as long as the read (capture) and write (video-in) pointers have been determined to not overlap while accessing the same frame area. This more efficiently utilizes the capabilities of the hard drive.
-
Citations
10 Claims
-
1. A method for storing and retrieving video data from a video memory, the method comprising:
-
dividing the video memory into a first address group, configured to store a first frame of the video data, and a second address group, configured to store a second frame of the video data; selecting, using a video-in pointer, a first address in the first address group, the video-in pointer addressing the video memory for storage of the video data into the video memory; selecting, using a video-out pointer, a second address in the second address group, the video-out pointer addressing video data in the second address group for displaying the video data; determining whether the video-out pointer is beyond a first critical address in the second address group, the first critical address being an address, other than a last address in said second address group, selected to ensure that the video-in pointer may enter and address the second address group without overtaking the video-out pointer addressing video data in the second address group; and if the video-out pointer is not beyond the first critical address, preventing the video-in pointer from addressing video data in the second address group until the video-out pointer is beyond the first critical address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for storing and retrieving video data from a video memory, the method comprising:
-
dividing the video memory into a first address group, configured to store a first frame of the video data, and a second address group, configured to store a second frame of the video data; selecting, using a video-in pointer, a first address in the first address group, the video-in pointer addressing the video memory for storage of the video data into the video memory; selecting, using a video-out pointer, a second address in the second address group, the video-out pointer addressing video data in the second address group for displaying the video data; determining whether the video-in pointer is beyond a first critical address in the first address group, the first critical address being an address, other than a last address in said first address group, selected to ensure that the video-out pointer may enter and address the first address group without overtaking the video-in pointer addressing video data in said first address group; and if the video-in pointer is not beyond the first critical address, preventing the video-out pointer from addressing video data in the first address group until the video-in pointer is beyond the first critical address. - View Dependent Claims (10)
-
Specification