Method, apparatus and computer program product for selectively reducing bandwidth of real-time video data
First Claim
1. A method for processing a line of video data for transmission across a bus, the line of video data being temporarily written to a buffer, the buffer being coupled to the bus for reading of data in blocks from the buffer to the bus, said method comprising:
- (a) detecting an overflow condition within the buffer;
(b) upon detecting said overflow condition, discarding data from the line of video data being temporarily written to the buffer;
(c) upon granting of a pending request for transmission of a pending block of video data from the buffer, transmitting the pending block of video data from the buffer to the bus, said pending request being pending prior to said detecting (a), and upon beginning said transmitting, discontinuing said discarding (b) of data from the line of video data being temporarily written to the buffer; and
(d) providing at least one next bus request for transmission of at least one next block of video data from the buffer to the bus, said at least one next block of video data comprising all remaining video data in the buffer stored therein prior to said detecting (a) of the overflow condition.
1 Assignment
0 Petitions
Accused Products
Abstract
Method, apparatus and computer program product are disclosed for selectively reducing the bandwidth of real-time video data for transmission on a bus having varying bandwidth, while minimizing perceptible loss of picture quality. After detecting an overflow condition within a buffer coupled to a bus, video data to be written to the buffer is discarded until a prior pending request for transmission of a pending block of video data from the buffer is granted and begun. After beginning the transmitting, the discarding of data is discontinued and new video data is written into the buffer. A next bus request is made for transmission of all remaining data in the buffer stored prior to detecting the overflow condition. The amount of discarded data in the line is monitored and used to determine an address for a new block of data stored after the discontinuity in the line of video data. Temporal redundancies between frames of a video image is employed to fill in the discontinuity in the line of video data by using correspondingly positioned data in a corresponding line of a prior frame or field.
26 Citations
16 Claims
-
1. A method for processing a line of video data for transmission across a bus, the line of video data being temporarily written to a buffer, the buffer being coupled to the bus for reading of data in blocks from the buffer to the bus, said method comprising:
-
(a) detecting an overflow condition within the buffer; (b) upon detecting said overflow condition, discarding data from the line of video data being temporarily written to the buffer; (c) upon granting of a pending request for transmission of a pending block of video data from the buffer, transmitting the pending block of video data from the buffer to the bus, said pending request being pending prior to said detecting (a), and upon beginning said transmitting, discontinuing said discarding (b) of data from the line of video data being temporarily written to the buffer; and (d) providing at least one next bus request for transmission of at least one next block of video data from the buffer to the bus, said at least one next block of video data comprising all remaining video data in the buffer stored therein prior to said detecting (a) of the overflow condition. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. Apparatus for processing a line of video data, said apparatus comprising:
-
a first-in first-out (FIFO) buffer; a bus coupled to the FIFO buffer; and a controller coupled to the FIFO buffer and to the bus for controlling processing of the line of video data through the FIFO buffer for transmission across the bus, said controller including means for; (i) detecting an overflow condition within the buffer; (ii) after detecting said overflow condition, discarding data from the line of video data being temporarily written to the buffer; (iii) transmitting a pending block of video data from the buffer upon granting of a pending request for transmission of the pending block of video data from the buffer, said pending request being pending prior to said detecting (i), and upon beginning said transmitting, discontinuing discarding (ii) of data from the line of video data being temporarily written to the buffer; and (iv) providing at least one next bus request for transmission of at least one next block of video data from the buffer to the bus, said at least one next block of video data comprising all remaining video data in the buffer stored therein prior to detecting (i) of the overflow condition. - View Dependent Claims (12, 13, 14, 15, 16)
-
Specification