Apparatus and method for controlling transfer of data between and processing of data by interconnected data processing elements
First Claim
1. A system for processing media data, comprising:
- a media processing element having a first input for receiving media data comprised of a plurality of media samples, a second input for receiving first control information indicating how the received media data is to be processed, a third input for receiving a control signal for starting and stalling processing by the media processing element and an output providing processed data; and
a counting module having a first input for receiving a value to be loaded to provide an output, wherein the output indicates a number of samples of the received media data for which the first control information is valid, and control logic for tracking a number of media samples processed by the media processing element and for asserting the control signal to stall processing by the media processing element after the media processing element outputs the last sample for which the first control information is valid.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides a generic interface which enables asynchronous data processing elements to be interconnected using an interconnection protocol that controls flow of data between the processing elements. The flow control allows the processing elements to be data independent from, i.e., the processing elements need not be designed for a fixed sample rate or resolution, sample format and other data dependent factors. When used with digital motion video data, the processing elements may process motion video data at various temporal and spatial resolutions and color formats. Flow of data between processing elements may be controlled by handshake signals indicating whether the sender has valid data and the receiver can receive data. When valid data is available at the sender and is requested by the receiver, a transfer of data occurs. The characteristics of the data, and functions to be performed on the data may be specified using control inputs to the processing elements. A counting circuit may be used to specify the number of the data samples for which the control inputs are valid. The interface allows each processing element to have a small number of storage locations for storing data, such as a pair of registers, which eliminates the need for large buffers and simplifies implementation of the processing element with such flow control as a simple integrated circuit.
-
Citations
60 Claims
-
1. A system for processing media data, comprising:
-
a media processing element having a first input for receiving media data comprised of a plurality of media samples, a second input for receiving first control information indicating how the received media data is to be processed, a third input for receiving a control signal for starting and stalling processing by the media processing element and an output providing processed data; and a counting module having a first input for receiving a value to be loaded to provide an output, wherein the output indicates a number of samples of the received media data for which the first control information is valid, and control logic for tracking a number of media samples processed by the media processing element and for asserting the control signal to stall processing by the media processing element after the media processing element outputs the last sample for which the first control information is valid. - View Dependent Claims (2, 4, 5, 6, 7, 8, 14, 15, 16, 17, 18)
-
-
3. A system for processing media data, comprising:
-
a first media processing element having a first input for receiving data comprised of a plurality of media samples, a second input for receiving first control information indicating how the received media data is to be processed, a third input for receiving a control signal for starting and stopping processing by the first media processing element and an output providing first processed media data; a second media processing element having a first input connected to the output of the first media processing element and for receiving the first processed media data comprised of a plurality of media samples, a second input for receiving second control information indicating how the received first processed media data is to be processed, a third input for receiving the control signal for starting and stopping processing by the second media processing element and an output providing second processed media data; and a counting module having a first input for receiving a value to be loaded to provide an output, wherein the output indicates a number of media samples of the second processed media data for which the second control information is valid, and control logic for tracking a number of media samples processed by the second media processing element and for generating the control signal to the first and second media processing elements after the second media processing element outputs the last media sample for which the second control information is valid. - View Dependent Claims (9, 10, 11, 12, 13, 19, 20, 21, 22, 23, 24)
-
-
25. A method of processing media data, comprising:
-
receiving media data comprising a plurality of media samples; receiving first control information indicating how the media data is to be processed; receiving a first count number indicating a number of samples of the media data for which the control information is valid; processing the received media data in accordance with the first control information; tracking a number of samples processed; and stalling the processing of the media data after a number of media samples equal to the first count number have been processed. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32)
-
-
33. A method of processing media data, comprising:
-
receiving media data comprised of a plurality of media samples; receiving first control information indicating how the received media data is to be processed; receiving second control information indicating how a first processed media data is to be processed; receiving a first count number indicating a number of media samples of the first processed media data for which the second control information is valid; processing the received media data in accordance with the first control information to produce the first processed media data; processing the first processed media data in accordance with the second control information to produce second processed media data; tracking a number of second processed media samples of the second processed media data; and stalling the processing of the received media data and the processing of the first processed media data when the number of tracked media samples equals the first count number. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42)
-
-
43. A system for processing media data on a computer-readable medium, comprising:
-
means for receiving media data comprising a plurality of media samples; means for receiving first control information indicating how the media data is to be processed; means for receiving a first count number indicating a number of samples of the media data for which the control information is valid; means for processing the received media data in accordance with the first control information; means for tracking a number of samples processed; and means for stalling the means for processing after a number of media samples equal to the first count number have been processed. - View Dependent Claims (44, 45, 46, 47, 48, 49, 50)
-
-
51. The system for processing media data, comprising:
-
means for receiving media data comprised of a plurality of media samples; means for receiving first control information indicating how the received media data is to be processed; means for receiving second control information indicating how a first processed media data is to be processed; means for receiving a first count number indicating a number of media samples of the first processed media data for which the second control information is valid; means for processing the received media data in accordance with the first control information to produce the first processed media data; means for processing the first processed media data in accordance with the second control information to produce second processed media data; means for tracking a number of second processed media samples of the second processed media data; and means for stalling the processing of the received media data and the processing of the first processed media data when the number of tracked media samples equals the first count number. - View Dependent Claims (52, 53, 54, 55, 56, 57, 58, 59, 60)
-
Specification