Summary of the invention
In view of the problem that exists in the prior art; The object of the present invention is to provide a kind of decoding device that is used for scalable video; This device is included in arithmetic element, the memory cell that is used to store input data, dateout and intermediate data of wherein handling all computings relevant with the telescopic video decoding, the bus that is used for transfer of data between arithmetic element and the memory cell; Wherein arithmetic element comprises following subelement: parallel entropy decoding operation subelement; It comprises the entropy decoding operation logic of L group standard; Parallel entropy decoding operation subelement reads in N layer quality scalable layer data flow simultaneously and carries out the entropy decoding, and wherein N exports N group macro block information data and N group coefficient data simultaneously smaller or equal to L; Parallel counter-scanning operator unit; The counter-scanning arithmetic logic that comprises L group standard; Input comprises through N group coefficient data and macro block information data after the parallel entropy decoding operation subelement decoding; The scan format information in the macro block information data is organized according to N simultaneously in parallel counter-scanning operator unit, coefficient is put in order resequence and output; Coefficient reconstruct and inverse quantization operator unit; Its input comprises through the N group coefficient data after the counter-scanning operator unit weighs new sort with through the N group macro block information data after the parallel entropy decoding operation subelement decoding; Coefficient reconstruct and inverse quantization operator unit carry out reconstruct and inverse quantization according to macro block (mb) type, coefficient reconstructing method and quantitative information in the N group macro block information data to coefficient data.
Further, arithmetic element further comprises: inverse transformation operator unit, its input are through the coefficient data after coefficient reconstruct and the inverse quantization, and the output of inverse transformation operator unit is through the residual error data after the inverse transformation; Prediction restructing operation subelement; Its input comprises the macro block information data after the parallel entropy decoding operation subelement decoding of reference picture, interlayer reference data and process; Prediction restructing operation subelement utilizes reference picture, interlayer reference data or adjacent macroblocks decoded information data generation forecast result according to the predictive mode in the macro block information data; Wherein the interlayer reference data comprises the residual error reference data that is used for inter-layer residue prediction, the pixel reference data that is used for the interlayer infra-frame prediction; Image reconstruction operator unit, its input comprise that through the residual error data after the inverse transformation and through predicting the outcome after the prediction reconstruct image reconstruction operator unit is according to these two parts input data, and the reconstructed reference image also produces the interlayer reference data.
Further; Said memory cell further comprises: import data stream buffer memory to be decoded, reference picture buffer storage, interlayer reference data buffer storage, wherein the reconstructed reference image and the interlayer reference data of the output of image reconstruction operator unit output to reference picture buffer storage and interlayer reference data buffer storage through bus respectively.
Further; If the number M of quality scalable layer that has equal resolution in the data flow to be decoded is greater than L; M layer quality scalable layer data can be divided into K to be criticized and sends into parallel entropy decoding operation subelement and decode, and K is the result of (M+L-1)/L after rounding, and decodes every batch for K-1 time before wherein and sends into the N=L layer data; Send into N=M-(K-1) * L layer data for the K time; Each decoding is except output N group macro block information data and coefficient data, and the macro block information data of decoding also can deposit interlayer reference data buffer storage in, when decoding next group quality scalable layer data, can read in these data as a reference.
Further; If the number M of quality scalable layer that has equal resolution in the data flow to be decoded is greater than the number L of parallel processing logic in the parallel entropy decoding operation subelement; During K-1 before processing (K is the result after (M+L-1)/L rounds) quality of lot scalable layer; Coefficient reconstruct and inverse quantization operator unit output factor reconfiguration information are to interlayer reference data buffer storage; And when decoding next group quality scalable layer data, can read in these data as a reference, but these data can not be sent to inverse transformation operator cell processing; When handling K (result after K rounds for (M+L-1)/L) quality of lot scalable layer; Coefficient reconstruct and inverse quantization operator unit read in the coefficient reconfiguration information as a reference from interlayer reference data buffer storage; Utilize K (K is the result after (M+L-1)/L rounds) quality of lot scalable layer coefficient data to carry out reconstruct and inverse quantization then, obtain the result of the inverse quantization of one group of final M layer quality scalable layer.
The present invention also provides a kind of coding/decoding method that is used for scalable video; This method may further comprise the steps: the parallel entropy decoding operation subelement in the arithmetic element reads in N layer quality scalable layer data flow simultaneously and carries out the entropy decoding, exports N group macro block information data and N group coefficient data simultaneously; Parallel entropy decoding operation subelement comprises the entropy decoding operation logic of L group standard, and wherein N is smaller or equal to L; Input comprises through the N group coefficient data after the parallel entropy decoding operation subelement decoding and the macro block information data parallel counter-scanning operator unit in the arithmetic element; Parallel counter-scanning operator unit is simultaneously according to the scan format information in the N group macro block information data; To coefficient put in order rearrangement and output, parallel counter-scanning operator unit comprises the counter-scanning arithmetic logic of L group standard; Input comprises through the N group coefficient data after the counter-scanning operator unit weighs new sort with through coefficient reconstruct and the inverse quantization operator unit of the N group macro block information data after the parallel entropy decoding operation subelement decoding in the arithmetic element; Coefficient reconstruct and inverse quantization operator unit carry out reconstruct and inverse quantization according to macro block (mb) type, coefficient reconstructing method and quantitative information in the N group macro block information data to coefficient data.
Further, this method further comprises: to inverse transformation operator unit, the output of inverse transformation operator unit is through the residual error data after the inverse transformation through the coefficient data after coefficient reconstruct and the inverse quantization in input; Input comprises that the parallel entropy decoding operation subelement decoding of reference picture, interlayer reference data and process macro block information data afterwards are to predicting the restructing operation subelement; Prediction restructing operation subelement utilizes reference picture, interlayer reference data or adjacent macroblocks decoded information data generation forecast result according to the predictive mode in the macro block information data; Wherein the interlayer reference data comprises the residual error reference data that is used for inter-layer residue prediction, the pixel reference data that is used for the interlayer infra-frame prediction; Input comprises that through the residual error data after the inverse transformation and through the image reconstruction operator unit that predicts the outcome after the prediction reconstruct image reconstruction operator unit is according to these two parts input data, and the reconstructed reference image also produces the interlayer reference data.
Further; If the number M of quality scalable layer that has equal resolution in the data flow to be decoded is greater than L; M layer quality scalable layer data can be divided into K to be criticized and sends into parallel entropy decoding operation subelement and decode, and K is the result of (M+L-1)/L after rounding, and decodes every batch for K-1 time before wherein and sends into the N=L layer data; Send into N=M-(K-1) * L layer data for the K time; Each decoding is except output N group macro block information data and coefficient data, and the macro block information data of decoding also can deposit interlayer reference data buffer storage in, when decoding next group quality scalable layer data, can read in these data as a reference.
Further; If the number M of quality scalable layer that has equal resolution in the data flow to be decoded is greater than the number L of parallel processing logic in the parallel entropy decoding operation subelement; During K-1 before processing (K is the result after (M+L-1)/L rounds) quality of lot scalable layer; Coefficient reconstruct and inverse quantization operator unit output factor reconfiguration information are to interlayer reference data buffer storage; And when decoding next group quality scalable layer data, can read in these data as a reference, but these data can not be sent to inverse transformation operator cell processing; When handling K (result after K rounds for (M+L-1)/L) quality of lot scalable layer; Coefficient reconstruct and inverse quantization operator unit read in the coefficient reconfiguration information as a reference from interlayer reference data buffer storage; Utilize K (K is the result after (M+L-1)/L rounds) quality of lot scalable layer coefficient data to carry out reconstruct and inverse quantization then, obtain the result of the inverse quantization of one group of final M layer quality scalable layer.
Of the present invention having the following advantages: apparatus of the present invention and method are through revising and duplicating the part of standards arithmetic element, and a plurality of quality scalable layer of disposable decoding have improved decoding speed with limited cost, and have saved bus bandwidth.
Embodiment
For making above-mentioned purpose of the present invention, feature and advantage more obviously understandable, the present invention is done further detailed explanation below in conjunction with accompanying drawing and embodiment:
The objective of the invention is to propose a kind of apparatus and method that are used for improving scalable video quality scalable layer decoding speed.This device is through revising and duplicating the part of standards arithmetic element, and a plurality of quality scalable layer of disposable decoding have improved decoding speed with limited cost, and have saved bus bandwidth.Fig. 1 has provided the decoding device structural representation of scalable video of the present invention.As shown in Figure 1, apparatus of the present invention comprise arithmetic element, bus and memory cell.
For achieving the above object, apparatus of the present invention comprise following content:
1. arithmetic element
Arithmetic element comprises all arithmetic logics of telescopic video decoding device, and all are all accomplished in arithmetic element with the relevant computing of telescopic video decoding.Arithmetic element comprises following subelement:
1.1 parallel entropy decoding operation subelement
Parallel entropy decoding operation subelement comprises the entropy decoding operation logic of L group standard, the quality scalable layer parallel processing number decision that the size of L is supported by decoding device.Parallel entropy decoding operation subelement reads in N (N is smaller or equal to L) layer quality scalable layer data flow simultaneously and carries out the entropy decoding from data stream buffer memory to be decoded; Export N group macro block information data and N group coefficient data simultaneously, decode procedure is with reference to the algorithm and the flow process of video standard definition.The macro block information data refer to all macro block informations except that coefficient, comprise macro block (mb) type, scan mode, grouping information, information of forecasting, coefficient reconstruct mode, mapping mode, quantitative information etc.Can be in the macro block information data decode process with reference to the macro block information of adjacent layer; Decoded result is used to control (other operator unit except that parallel entropy decoding operation subelement, other each operator unit; Comprise parallel counter-scanning subelement, coefficient reconstruct and inverse quantization subelement and prediction reconstruct subelement) data handling procedure.Coefficient data refers to the coefficient of each piece in the macro block, can deliver to parallel counter-scanning operator unit after the decoding and resequence.Fig. 2 has provided parallel entropy decoding operation sub-unit structure sketch map.
Be not more than L if having the number M of the quality scalable layer of equal resolution in the data flow to be decoded, M layer quality scalable layer data can be sent into parallel entropy decoding operation subelement simultaneously and handle, output M group macro block information data and M group coefficient data.
If the number M of quality scalable layer that has equal resolution in the data flow to be decoded is greater than L, M layer quality scalable layer data can be divided into K to be criticized and sends into parallel entropy decoding operation subelement and decode, and K is the result of (M+L-1)/L after rounding.The N=L layer data is sent in wherein preceding K-1 every batch of decoding, sends into N=M-(K-1) * L layer data the K time.In this case; Each decoding is except output N group macro block information data and coefficient data; The macro block information data of decoding also can deposit interlayer reference data buffer storage in, when decoding next group quality scalable layer data, can read in these data (algorithm according to the video standard definition utilizes the coefficient data of these reference datas and current decoding to realize coefficient reconstruct) as a reference.Fig. 3 has provided when data flow has the quality scalable layer of M (M=10) layer equal resolution, and number of lines is the parallel entropy decoding operation subelement decoded instance of L (L=4).With Fig. 3 is example; Decode procedure comprises 3 steps: step 1: first handles 4 groups of data; Processing procedure comprises parallel entropy decoding, parallel counter-scanning and coefficient reconstruct and inverse quantization, and 4 groups of data are merged into 1 group of data after through coefficient reconstruct and inverse quantization processing.Owing to have 10 groups of data, first data are temporarily stored into interlayer reference data buffer storage after through coefficient reconstruct and inverse quantization.Step 2: handle second batch data then; Method is with step 1; Just when carrying out coefficient reconstruct and inverse quantization, need read the coefficient data that is temporarily stored in the interlayer reference data buffer storage, deposit the coefficient data after the reconstruct in interlayer reference data buffer storage once more then.Step 3: handle the 3rd batch data at last, method is with step 2, and just the coefficient data after carrying out coefficient reconstruct and inverse quantization need not deposit interlayer reference data buffer storage in.After 3 step process, 10 groups of coefficients finally reconstitute 1 group of coefficient, and then are input to inverse transformation operator unit and carry out inverse transformation and handle.
1.2 parallel counter-scanning operator unit
Parallel counter-scanning operator unit comprises the counter-scanning arithmetic logic of L (identical with the number of parallel processing logic in the parallel entropy decoding operation subelement) group standard, and input comprises through N (N is smaller or equal to L) group coefficient data and macro block information data after the parallel entropy decoding operation subelement decoding.Parallel counter-scanning operator unit is simultaneously according to the scan format information in the N group macro block information data; According to the algorithm that defines in the video standard to the coefficient rearrangement that puts in order; Scanning algorithm such as defining in the scalable video standard H.264 comprises zig-zag scanning algorithm and field scanning algorithm, and specific algorithm is with reference to standard H.264.N group coefficient data after the rearrangement is exported, and is sent to coefficient reconstruct then and inverse quantization operator unit carries out coefficient reconstruct and inverse quantization.Fig. 4 has provided the structural representation of parallel counter-scanning operator unit.
1.3 coefficient reconstruct and inverse quantization operator unit
The input of coefficient reconstruct and inverse quantization operator unit comprises through the N group coefficient data after the counter-scanning operator unit weighs new sort with through the N group macro block information data after the parallel entropy decoding operation subelement decoding.Coefficient reconstruct and inverse quantization operator unit carry out reconstruct and inverse quantization according to the algorithm that defines in the video standard to coefficient data according to macro block (mb) type, coefficient reconstructing method and quantitative information in the N group macro block information data.
If have the number L that the number M of the quality scalable layer of equal resolution is not more than parallel processing logic in the parallel entropy decoding operation subelement in the data flow to be decoded; Coefficient reconstruct and inverse quantization operator unit are output as the data after 1 group of inverse quantization, are sent to inverse transformation operator unit and carry out inverse transformation.
If the number M of quality scalable layer that has equal resolution in the data flow to be decoded is greater than the number L of parallel processing logic in the parallel entropy decoding operation subelement; During K-1 before processing (K is the result after (M+L-1)/L rounds) quality of lot scalable layer; Coefficient reconstruct and inverse quantization operator unit output factor reconfiguration information are to interlayer reference data buffer storage; And when decoding next group quality scalable layer data, can read in these data as a reference, but these data can not be sent to inverse transformation operator cell processing; When handling K (result after K rounds for (M+L-1)/L) quality of lot scalable layer; Coefficient reconstruct and inverse quantization operator unit read in the coefficient reconfiguration information as a reference from interlayer reference data buffer storage; Utilize K (K is the result after (M+L-1)/L rounds) quality of lot scalable layer coefficient data to carry out reconstruct and inverse quantization then; Obtain the result of the inverse quantization of one group of final M layer quality scalable layer, be sent to inverse transformation operator unit again and carry out inverse transformation.
1.4 inverse transformation operator unit
The input of inverse transformation operator unit is through one group of coefficient data after coefficient reconstruct and the inverse quantization.Inverse transformation operator unit carries out the inverse transformation computing according to the algorithm that provides in the video encoding standard, comprises integral inverse transform and Hadamard inverse transformation such as the inverse transformation algorithm that defines in the scalable video standard H.264, and specific algorithm is with reference to standard H.264.The output of inverse transformation operator unit is that residual error data can be delivered to image reconstruction operator unit and carry out image reconstruction through the residual error data after the inverse transformation.
1.5 prediction restructing operation subelement
The input of prediction restructing operation subelement comprises the macro block information data after the parallel entropy decoding operation subelement decoding of reference picture, interlayer reference data (comprising residual error reference data that is used for inter-layer residue prediction and the pixel reference data that is used for the interlayer infra-frame prediction) and process.Prediction restructing operation subelement is at first predicted according to input data (being reference image data and residual error reference data, pixel reference data); Prediction mode comprises infra-frame prediction, inter prediction and inter-layer prediction (comprising interlayer infra-frame prediction and inter-layer residue prediction); The algorithm of prediction is according to the algorithm that defines in the video encoding standard, and prediction result is called prediction data.For example H.264 can utilize the adjacent macroblocks information data to carry out infra-frame prediction (comprising 9 kinds of 4x4 intra-frame prediction methods and 5 kinds of 16x16 intra-frame prediction methods) in the scalable video; Utilize reference image data to carry out inter prediction and (comprise 7 kinds of macro blocks and piece division methods; On prediction direction, comprise single directional prediction, bi-directional predicted and Direct Model prediction; The luminance signal precision of prediction can arrive 1/4th pixels); Utilize the interlayer reference data to carry out interlayer infra-frame prediction and inter-layer residue prediction simultaneously.Predict the outcome and to be sent to image reconstruction operator unit and to carry out image reconstruction.
1.6 image reconstruction operator unit
The input of image reconstruction operator unit comprises through the residual error data after the inverse transformation and through predicting the outcome after the prediction reconstruct.Image reconstruction operator unit carries out image reconstruction according to these two parts input data according to the algorithm that defines in the video encoding standard.Image reconstruction operator unit is the reconstructed reference image not only, also can produce interlayer reference data (comprising residual error reference data that is used for inter-layer residue prediction and the pixel reference data that is used for the interlayer infra-frame prediction).The result of image reconstruction can output to reference picture buffer storage and interlayer reference data buffer storage through bus respectively.The result of image reconstruction is exactly final decoded results, and above-mentioned each operator unit is accomplished the partial decoding of h function respectively, finally constitutes a complete decoding device.
2. memory cell
Memory cell can be any one memory device; Memory cell comprises input data stream buffer memory to be decoded, reference picture buffer storage, interlayer reference data buffer storage, and these buffer storage are that needed input data, dateout and intermediate data provide memory space in the telescopic video decode procedure.
2.1 import data stream buffer memory to be decoded
This buffer storage is used for storage input data flow to be decoded.
2.2 reference picture buffer storage
This buffer storage is used for the stored reference image, and reference picture offers prediction restructing operation subelement and uses.
2.3 interlayer reference data buffer storage
This buffer storage is used for reference data between accumulation layer, and the interlayer reference data comprises the intermediate data of all inter-layer prediction needs.
3. bus
Bus can be any one system bus, is responsible for the transfer of data between arithmetic element and the memory cell.
Fig. 5 has provided the decoding process figure of method of the present invention.This method may further comprise the steps: the parallel entropy decoding operation subelement in the arithmetic element reads in N layer quality scalable layer data flow simultaneously and carries out the entropy decoding, exports N group macro block information data and N group coefficient data simultaneously; Parallel entropy decoding operation subelement comprises the entropy decoding operation logic of L group standard, and wherein N is smaller or equal to L; Input comprises through the N group coefficient data after the parallel entropy decoding operation subelement decoding and the macro block information data parallel counter-scanning operator unit in the arithmetic element; Parallel counter-scanning operator unit is simultaneously according to the scan format information in the N group macro block information data; To coefficient put in order rearrangement and output, parallel counter-scanning operator unit comprises the counter-scanning arithmetic logic of L group standard; Input comprises through the N group coefficient data after the counter-scanning operator unit weighs new sort with through coefficient reconstruct and the inverse quantization operator unit of the N group macro block information data after the parallel entropy decoding operation subelement decoding in the arithmetic element; Coefficient reconstruct and inverse quantization operator unit carry out reconstruct and inverse quantization according to macro block (mb) type, coefficient reconstructing method and quantitative information in the N group macro block information data to coefficient data.
This method further comprises: to inverse transformation operator unit, the output of inverse transformation operator unit is through the residual error data after the inverse transformation through the coefficient data after coefficient reconstruct and the inverse quantization in input; Input comprises that the parallel entropy decoding operation subelement decoding of reference picture, interlayer reference data and process macro block information data afterwards are to predicting the restructing operation subelement; Prediction restructing operation subelement utilizes reference picture, interlayer reference data or adjacent macroblocks decoded information data generation forecast result according to the predictive mode in the macro block information data; Wherein the interlayer reference data comprises the residual error reference data that is used for inter-layer residue prediction, the pixel reference data that is used for the interlayer infra-frame prediction; Input comprises that through the residual error data after the inverse transformation and through the image reconstruction operator unit that predicts the outcome after the prediction reconstruct image reconstruction operator unit is according to these two parts input data, and the reconstructed reference image also produces the interlayer reference data.
If the number M of quality scalable layer that has equal resolution in the data flow to be decoded is greater than L; M layer quality scalable layer data can be divided into K and criticize and send into parallel entropy decoding operation subelement and decode; K is the result after (M+L-1)/L rounds; The N=L layer data is sent in wherein preceding K-1 every batch of decoding, sends into N=M-(K-1) * L layer data the K time, and each decoding is organized macro block information data and the coefficient data except output N; The macro block information data of decoding also can deposit interlayer reference data buffer storage in, when decoding next group quality scalable layer data, can read in these data as a reference.
If the number M of quality scalable layer that has equal resolution in the data flow to be decoded is greater than the number L of parallel processing logic in the parallel entropy decoding operation subelement; During K-1 before processing (K is the result after (M+L-1)/L rounds) quality of lot scalable layer; Coefficient reconstruct and inverse quantization operator unit output factor reconfiguration information are to interlayer reference data buffer storage; And when decoding next group quality scalable layer data, can read in these data as a reference, but these data can not be sent to inverse transformation operator cell processing; When handling K (result after K rounds for (M+L-1)/L) quality of lot scalable layer; Coefficient reconstruct and inverse quantization operator unit read in the coefficient reconfiguration information as a reference from interlayer reference data buffer storage; Utilize K (K is the result after (M+L-1)/L rounds) quality of lot scalable layer coefficient data to carry out reconstruct and inverse quantization then, obtain the result of the inverse quantization of one group of final M layer quality scalable layer.
In sum, the inventive method is passed through to revise and increase entropy decoding, scanning and coefficient reconstruct and inverse quantization hardware handles unit with device, has improved the decoding speed of quality scalable layer in the scalable video, has saved bus bandwidth.
More than be the detailed description that the preferred embodiments of the present invention are carried out, but those of ordinary skill in the art should be appreciated that within the scope of the invention with spirit and instruct down that various improvement, interpolation and replacement all are possible.These are all in the protection range that claim of the present invention limited.