Pipeline Architecture for Video Encoder and Decoder
An image data-processing apparatus ( 100 ) includes an image data-decoding unit ( 10 ) operable to execute pipeline processing-assisted image decoding processing, a pipeline controller ( 20 ) operable to control pipeline processing in the image data-decoding unit ( 10 ), a memory ( 30 ), and an input/output interface ( 40 ). The pipeline controller ( 20 ) executes control over the pipeline processing on the basis of information on the start-up of pipeline stages. The information is stored in a start-up table storage unit ( 23 ). The present configuration makes it feasible to provide an image data-processing apparatus operable to suppress degradation in decoded images to a minimum degree when pipeline control is disturbed upon the occurrence of decoding errors during the decoding processing, whereby high-quality images are realized.
1 . An image data-processing apparatus comprising:
an image data-decoding unit operable to allow input encoded data fed into said image data-processing apparatus to be decoded through pipeline processing, thereby providing decoded image data;
a pipeline controller operable to control the pipeline processing in said image data-decoding unit; and
a memory operable to store the input encoded data and the decoded image data.
2 . An image data-processing apparatus as defined in claim 1 , wherein said image data-decoding unit includes a several staged data-processing unit operable to practice the pipeline processing, and
wherein said several staged data-processing unit includes at least two of:
a variable length decoding processing unit operable to practice variable length decoding of the input encoded data, thereby providing quantized DCT coefficients and a motion vector;
an inverse quantization processing unit operable to inversely quantize the quantized DCT coefficients from said variable length decoding processing unit, thereby providing inversely quantized DCT coefficients;
an inverse DCT processing unit operable to practice inverse DCT processing of the inversely quantized DCT coefficients from said inverse quantization processing unit, thereby providing DCT coefficients; and
a motion compensation processing unit operable to generate decoded image data of a present frame using the DCT coefficients from said inverse DCT processing unit, the motion vector from said variable length decoding processing unit, and decoded image data of a previous frame stored in said memory.
3 . An image data-processing apparatus as defined in claim 1 , wherein said pipeline controller includes:
a start-up table storage unit operable to contain a pipeline start-up table in which start-up information on control over the pipeline processing in said image data-decoding unit is registered;
an offset-determining unit operable to determine an offset value for use in referencing the pipeline start-up table in said start-up table storage unit;
a start-up stage-determining unit operable to read the start-up information from the pipeline start-up table in said start-up table storage unit in accordance with the offset value determined by said offset-determining unit, thereby determining a start-up method for the pipeline processing in said image data-decoding unit; and
a pipeline control unit operable to control said offset-determining unit and said start-up stage-determining unit, thereby controlling the pipeline processing in said image data-decoding unit in accordance with the start-up method for the pipeline processing as determined by said start-up stage-determining unit.
4 . An image data-processing apparatus as defined in claim 2 , further comprising: an error concealment processing unit,
wherein said variable length decoding processing unit further includes a code error-detecting unit operable to detect a code error from the input encoded data, and
wherein, when said code error-detecting unit detects the code error at a macro block of the input encoded data, then said error concealment processing unit applies previously decoded image data from said memory onto the macro block at which the error has been detected, and onto subsequent macro blocks, thereby concealing a disturbance in decoded image display, the disturbance being caused by the code error in the input encoded data.
5 . An image data-processing apparatus as defined in claim 4 , wherein when said code error-detecting unit detects a code error at a macro block of the input encoded data, then said error concealment processing unit excludes previously processed macro blocks from targets at which the disturbance in decoded image display is to be concealed, the previously processed macro blocks being processed earlier, by the number of stages of the pipeline processing, than the macro block at which the error has been detected.
6 . An image data-processing apparatus comprising:
an image data-encoding unit operable to allow input image data fed into said image data-processing apparatus to be encoded through pipeline processing, thereby providing encoded data;
a pipeline controller operable to control the pipeline processing in said image data-encoding unit; and
a memory operable to store reconfigured image data corresponding to the input image data, and the encoded data.
7 . An image data-processing apparatus as defined in claim 6 , wherein said image data-encoding unit includes a several staged data-processing unit operable to execute the pipeline processing, and
wherein said several staged data-processing unit includes at least two of:
a motion detection processing unit operable to detect a motion vector of a present frame, using the input image data, which is input image data of the present frame, and reconfigured image data of a previous frame stored in said memory;
a motion compensation processing unit operable to generate predicted image data of the present frame, using the motion vector detected by said motion detection processing unit, and the reconfigured image data of the previous frame in said memory;
a DCT processing unit operable to practice DCT processing of a difference between the predicted image data generated by said motion compensation processing unit, and the input image data, thereby providing DCT coefficients;
a quantization processing unit operable to quantize the DCT coefficients from said DCT processing unit, thereby providing quantized DCT coefficients;
an inverse quantization processing unit operable to inversely quantize the quantized DCT coefficients from said quantization processing unit, thereby providing inversely quantized DCT coefficients;
an inverse DCT processing unit operable to practice inverse DCT processing of the inversely quantized DCT coefficients from said inverse quantization processing unit, thereby providing DCT coefficients for use in obtaining reconfigured image data; and
a variable length encoding processing unit operable to practice variable length encoding of the quantized DCT coefficients from said quantization processing unit and the motion vector detected by said motion detection processing unit, thereby providing encoded data.
8 . An image data-processing apparatus as defined in claim 6 , wherein said pipeline controller includes:
a start-up table storage unit operable to contain a pipeline start-up table in which start-up information on control over the pipeline processing in said image data-encoding unit is registered;
an offset-determining unit operable to determine an offset value for use in referencing the pipeline start-up table in said start-up table storage unit;
a start-up stage-determining unit operable to read the start-up information from the pipeline start-up table in said start-up table storage unit in accordance with the offset value determined by said offset-determining unit, thereby determining a start-up method for the pipeline processing in said image data-encoding unit; and
a pipeline control unit operable to control said offset-determining unit and said start-up stage-determining unit, thereby controlling the pipeline processing in said image data-encoding unit in accordance with the start-up method for the pipeline processing as determined by said start-up stage-determining unit.
9 . An image data-processing method comprising:
processing image data through a several staged pipeline;
storing the processed image data; and
controlling the several staged pipeline.
10 . An image data-processing method as defined in claim 9 , wherein said controlling the several staged pipeline includes:
storing a pipeline start-up table in which start-up information on control over start-up of the several staged pipeline is registered;
determining an offset value for use in referencing the pipeline start-up table;
obtaining the start-up information from the pipeline start-up table based on the determined offset value, thereby determining a start-up method for the several staged pipeline; and
controlling the several staged pipeline in accordance with the determined start-up method for the several staged pipeline.
11 . An image data-processing method as defined in claim 9 , wherein said processing the image data through the several staged pipeline includes:
decoding encoded data for each macro block;
detecting a code error from the encoded data; and
practicing error concealment processing,
wherein when a code error is detected at a macro block during said detecting the code error, said controlling the several staged pipeline includes interrupting decoding processing for macro blocks subsequent to the macro block at which the code error has been detected, whereby the error concealment processing is practiced.
12 . An image data-processing method as defined in claim 11 , wherein said practicing the error concealment processing includes applying previously processed image data that is stored by said storing the processed image data, thereby practicing the error concealment processing.