Summary of the invention
In view of problems of the prior art, the object of the present invention is to provide a kind of decoding device for scalable video, this device is included in the arithmetic element wherein processing all relevant computings of decoding to telescopic video, for storing input data, export the memory cell of data and intermediate data, for the bus of transfer of data between arithmetic element and memory cell, wherein arithmetic element comprises following subelement: parallel entropy decoding operator unit, it comprises the entropy decoding arithmetic logic of L group standard, parallel entropy decoding operator unit reads in N layer quality scalable layer data flow simultaneously and carries out entropy decoding, wherein N is less than or equal to L, export N group macroblock information data and N group coefficient data simultaneously, parallel counter-scanning operator unit, comprise the counter-scanning arithmetic logic of L group standard, input the N group coefficient data and macroblock information data that comprise after parallel entropy decoding operator unit decodes, parallel counter-scanning operator unit, simultaneously according to the scan format information in N group macroblock information data, puts in order to coefficient and resequences and export, coefficient reconstruct and inverse quantization operator unit, its input comprises the N group coefficient data after the rearrangement of counter-scanning operator unit and the N group macroblock information data after parallel entropy decoding operator unit decodes, coefficient reconstruct and inverse quantization operator unit, according to macro block (mb) type, coefficient reconstructing method and quantitative information in N group macroblock information data, are reconstructed and inverse quantization coefficient data.
Further, arithmetic element comprises further: inverse transformation operator unit, and its input is through the coefficient data after coefficient reconstruct and inverse quantization, the output of inverse transformation operator unit be through inverse transformation after residual error data; Prediction restructing operation subelement, its input comprises reference picture, inter-layer reference data and the macroblock information data after parallel entropy decoding operator unit decodes, prediction restructing operation subelement, according to the predictive mode in macroblock information data, utilizes reference picture, inter-layer reference data or adjacent macroblocks decoded information data generation forecast result; Wherein inter-layer reference data comprise the residual error reference data for inter-layer residue prediction, the pixel reference data for inter-layer intra prediction; Image reconstruction operation subelement, it inputs the residual error data that comprises after inverse transformation and predicting the outcome after prediction reconstruct, image reconstruction operation subelement according to these two parts input data, reconstructed reference image reference data between generating layer.
Further, described memory cell comprises further: input data stream buffer memory to be decoded, reference picture buffer storage, inter-layer reference Data Buffer Memory, and reconstructed reference image and the inter-layer reference data of wherein image reconstruction operation subelement output output to reference picture buffer storage and inter-layer reference Data Buffer Memory respectively by bus.
Further, if the number M in data flow to be decoded with the quality scalable layer of equal resolution is greater than L, M layer quality scalable layer data can be divided into K and criticize and send into parallel entropy decoding operator unit and decode, K is the result after (M+L-1)/L rounds, wherein front K-1 decoding is often criticized and is sent into N=L layer data, send into N=M-(K-1) × L layer data the K time, each decoding is except exporting N group macroblock information data and coefficient data, the macroblock information data of decoding also can stored in inter-layer reference Data Buffer Memory, these data can be read in as a reference when decoding next group quality scalable layer data.
Further, if the number M in data flow to be decoded with the quality scalable layer of equal resolution is greater than the number L of parallel processing logic in parallel entropy decoding operator unit, before treatment during K-1 (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 inter-layer reference Data Buffer Memory, and can read in these data as a reference when decoding next group quality scalable layer data, but these data can not be sent to inverse transformation operator cell processing; When process K (K is the result after (M+L-1)/L rounds) quality of lot scalable layer, coefficient reconstruct and inverse quantization operator unit read in coefficient reconfiguration information as a reference from inter-layer reference Data Buffer Memory, then utilize K (K is the result after (M+L-1)/L rounds) quality of lot scalable layer coefficient data to be reconstructed and inverse quantization, obtain the result of the inverse quantization of one group of final M layer quality scalable layer.
Present invention also offers a kind of coding/decoding method for scalable video, the method comprises the following steps: the parallel entropy decoding operator unit in arithmetic element reads in N layer quality scalable layer data flow simultaneously and carries out entropy decoding, exports N group macroblock information data and N group coefficient data simultaneously; Parallel entropy decoding operator unit comprises the entropy decoding arithmetic logic of L group standard, and wherein N is less than or equal to L; Input comprises N group coefficient data after parallel entropy decoding operator unit decodes and macroblock information data to the parallel counter-scanning operator unit in arithmetic element, parallel counter-scanning operator unit is simultaneously according to the scan format information in N group macroblock information data, put in order to coefficient and resequence and export, parallel counter-scanning operator unit comprises the counter-scanning arithmetic logic of L group standard; Input comprises the N group coefficient data after the rearrangement of counter-scanning operator unit and the N group macroblock information data after parallel entropy decoding operator unit decodes reconstructs and inverse quantization operator unit to the coefficient in arithmetic element, coefficient reconstruct and inverse quantization operator unit, according to macro block (mb) type, coefficient reconstructing method and quantitative information in N group macroblock information data, are reconstructed and inverse quantization coefficient data.
Further, the method comprises further: input coefficient data after coefficient reconstruct and inverse quantization to inverse transformation operator unit, the residual error data of inverse transformation operator unit output after inverse transformation; Input comprises reference picture, inter-layer reference data and the macroblock information data after parallel entropy decoding operator unit decodes to prediction restructing operation subelement, prediction restructing operation subelement, according to the predictive mode in macroblock information data, utilizes reference picture, inter-layer reference data or adjacent macroblocks decoded information data generation forecast result; Wherein inter-layer reference data comprise the residual error reference data for inter-layer residue prediction, the pixel reference data for inter-layer intra prediction; Input the residual error data that comprises after inverse transformation and the image reconstruction operation subelement that predicts the outcome after prediction reconstruct, image reconstruction operation subelement according to these two parts input data, reconstructed reference image reference data between generating layer.
Further, if the number M in data flow to be decoded with the quality scalable layer of equal resolution is greater than L, M layer quality scalable layer data can be divided into K and criticize and send into parallel entropy decoding operator unit and decode, K is the result after (M+L-1)/L rounds, wherein front K-1 decoding is often criticized and is sent into N=L layer data, send into N=M-(K-1) × L layer data the K time, each decoding is except exporting N group macroblock information data and coefficient data, the macroblock information data of decoding also can stored in inter-layer reference Data Buffer Memory, these data can be read in as a reference when decoding next group quality scalable layer data.
Further, if the number M in data flow to be decoded with the quality scalable layer of equal resolution is greater than the number L of parallel processing logic in parallel entropy decoding operator unit, before treatment during K-1 (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 inter-layer reference Data Buffer Memory, and can read in these data as a reference when decoding next group quality scalable layer data, but these data can not be sent to inverse transformation operator cell processing; When process K (K is the result after (M+L-1)/L rounds) quality of lot scalable layer, coefficient reconstruct and inverse quantization operator unit read in coefficient reconfiguration information as a reference from inter-layer reference Data Buffer Memory, then utilize K (K is the result after (M+L-1)/L rounds) quality of lot scalable layer coefficient data to be reconstructed and inverse quantization, obtain the result of the inverse quantization of one group of final M layer quality scalable layer.
Of the present inventionly to have the following advantages: apparatus of the present invention and method are by revising and copy part of standards arithmetic element, and the multiple quality scalable layer of disposable decoding, improves decoding speed with limited cost, and save bus bandwidth.
Embodiment
For making above-mentioned purpose of the present invention, feature and advantage become apparent more, and below in conjunction with the drawings and specific embodiments, the present invention is further detailed explanation:
The object of the invention is to propose a kind of apparatus and method for improving quality scalable layer decoding speed in scalable video.This device is by revising and copy part of standards arithmetic element, and the multiple quality scalable layer of disposable decoding, improves decoding speed with limited cost, and save bus bandwidth.Fig. 1 gives 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 relevant computings of decoding to telescopic video all complete in arithmetic element.Arithmetic element comprises following subelement:
1.1 parallel entropy decoding operator unit
Parallel entropy decoding operator unit comprises the entropy decoding arithmetic logic of L group standard, and the quality scalable layer parallel processing number that the size of L is supported by decoding device determines.Parallel entropy decoding operator unit reads in N (N is less than or equal to L) layer quality scalable layer data flow simultaneously and carries out entropy decoding from data stream buffer memory to be decoded, export N group macroblock information data and N group coefficient data, the algorithm of decode procedure reference video standard definition and flow process simultaneously.Macroblock information data refers to all macro block informations except coefficient, comprises macro block (mb) type, scan mode, grouping information, information of forecasting, coefficient reconstruct mode, mapping mode, quantitative information etc.Can with reference to the macro block information of adjacent layer in macroblock information data decode procedure, decoded result is used to control other each operator unit (except other operator unit except parallel entropy decoding 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 block in macro block, can deliver to parallel counter-scanning operator unit and resequence after decoding.Fig. 2 gives parallel entropy decoding operator cellular construction schematic diagram.
If the number M in data flow to be decoded with the quality scalable layer of equal resolution is not more than L, M layer quality scalable layer data can be sent into parallel entropy decoding operator unit simultaneously and process, and exports M group macroblock information data and M group coefficient data.
If the number M in data flow to be decoded with the quality scalable layer of equal resolution is greater than L, M layer quality scalable layer data can be divided into K and criticize and send into parallel entropy decoding operator unit and decode, and K is the result after (M+L-1)/L rounds.Wherein front K-1 decoding is often criticized and is sent into N=L layer data, sends into N=M-(K-1) × L layer data the K time.In this case, each decoding is except exporting N group macroblock information data and coefficient data, the macroblock information data of decoding also stored in inter-layer reference Data Buffer Memory, can read in these data and (utilize the coefficient data of these reference datas and current decoding to realize coefficient reconstruct according to the algorithm of video standard definition) as a reference when decoding next group quality scalable layer data.Fig. 3 gives when data flow has the quality scalable layer of M (M=10) layer equal resolution, and number of lines is the parallel entropy decoding operator unit decodes example of L (L=4).Take Fig. 3 as example, decode procedure comprises 3 steps: step 1: first processes 4 groups of data, processing procedure comprises the decoding of parallel entropy, and parallel counter-scanning and coefficient reconstruct and inverse quantization, and 4 groups of data are merging into 1 group of data after coefficient reconstruct and inverse quantization process.Owing to having 10 groups of data, first data are being temporarily stored into inter-layer reference Data Buffer Memory after coefficient reconstruct and inverse quantization.Step 2: then process second batch data, method is with step 1, just need when carrying out coefficient reconstruct and inverse quantization to read the coefficient data be temporarily stored in inter-layer reference Data Buffer Memory, then the coefficient data after reconstruct again stored in inter-layer reference Data Buffer Memory.Step 3: finally process the 3rd batch data, method, with step 2, does not just need stored in inter-layer reference Data Buffer Memory carrying out the coefficient data after coefficient reconstruct and inverse quantization.After 3 step process, 10 groups of coefficients finally reconstruct 1 group of coefficient, and then are input to inverse transformation operator unit and carry out inverse transformation process.
1.2 parallel counter-scanning operator unit
Parallel counter-scanning operator unit comprises the counter-scanning arithmetic logic that L (identical with the parallel entropy number of parallel processing logic in operator unit of decode) organize standard, inputs the N (N is less than or equal to L) comprised after parallel entropy decodes operator unit decodes and organizes coefficient data and macroblock information data.Parallel counter-scanning operator unit is simultaneously according to the scan format information in N group macroblock information data, according to the algorithm defined in video standard, coefficient is put in order rearrangement, the scanning algorithm such as H.264 defined in scalable video standard comprises zig-zag scanning algorithm and field scanning algorithm, and specific algorithm is with reference to H.264 standard.N group coefficient data after rearrangement is output, be then sent to coefficient reconstruct and inverse quantization operator unit carry out coefficient reconstruct and inverse quantization.Fig. 4 gives 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 the N group coefficient data after the rearrangement of counter-scanning operator unit and the N group macroblock information data after parallel entropy decoding operator unit decodes.Coefficient reconstruct and inverse quantization operator unit, according to macro block (mb) type, coefficient reconstructing method and quantitative information in N group macroblock information data, are reconstructed and inverse quantization coefficient data according to the algorithm defined in video standard.
If the number M in data flow to be decoded with the quality scalable layer of equal resolution is not more than the number L of parallel processing logic in parallel entropy decoding operator unit, the output of coefficient reconstruct and inverse quantization operator unit is the data after 1 group of inverse quantization, is sent to inverse transformation operator unit and carries out inverse transformation.
If the number M in data flow to be decoded with the quality scalable layer of equal resolution is greater than the number L of parallel processing logic in parallel entropy decoding operator unit, before treatment during K-1 (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 inter-layer reference Data Buffer Memory, and can read in these data as a reference when decoding next group quality scalable layer data, but these data can not be sent to inverse transformation operator cell processing; When process K (K is the result after (M+L-1)/L rounds) quality of lot scalable layer, coefficient reconstruct and inverse quantization operator unit read in coefficient reconfiguration information as a reference from inter-layer reference Data Buffer Memory, then K (K is the result after (M+L-1)/L rounds) quality of lot scalable layer coefficient data is utilized to be reconstructed and inverse quantization, obtain the result of the inverse quantization of one group of final M layer quality scalable layer, then be sent to inverse transformation operator unit 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 inverse quantization.Inverse transformation operator unit carries out inverse transformation computing according to the algorithm provided in video encoding standard, and the inverse transformation algorithm such as H.264 defined in scalable video standard comprises integral inverse transform and Hadamard inverse transformation, and specific algorithm is with reference to H.264 standard.The output of inverse transformation operator unit be through inverse transformation after residual error data, residual error data can be delivered to image reconstruction operation subelement and carry out Image Reconstruction.
1.5 prediction restructing operation subelements
The input of prediction restructing operation subelement comprises reference picture, inter-layer reference data (comprising the residual error reference data for inter-layer residue prediction and the pixel reference data for inter-layer intra prediction) and the macroblock information data after parallel entropy decoding operator unit decodes.First prediction restructing operation subelement is predicted according to input data (i.e. reference image data and residual error reference data, pixel reference data), prediction mode comprises infra-frame prediction, inter prediction and inter-layer prediction (comprising inter-layer intra prediction and inter-layer residue prediction), the algorithm of prediction is according to the algorithm defined in video encoding standard, and the result of prediction is called prediction data.Such as adjacent macroblocks information data can be utilized 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 H.264 scalable video; Utilize reference image data to carry out inter prediction and (comprise 7 kinds of macro blocks and block division methods; Prediction direction comprises single directional prediction, bi-directional predicted and Direct Model prediction; Luminance signal precision of prediction can to 1/4th pixels); Utilize inter-layer reference data to carry out inter-layer intra prediction and inter-layer residue prediction simultaneously.Predict the outcome and can be sent to image reconstruction operation subelement and carry out Image Reconstruction.
1.6 image reconstruction operation subelements
Predicting the outcome after the input of image reconstruction operation subelement comprises the residual error data after inverse transformation and passes through prediction reconstruct.Image reconstruction operation subelement, according to these two parts input data, carries out Image Reconstruction according to the algorithm defined in video encoding standard.Image reconstruction operation subelement is reconstructed reference image not only, also can reference data (comprising the residual error reference data for inter-layer residue prediction and the pixel reference data for inter-layer intra prediction) between generating layer.The result of Image Reconstruction can output to reference picture buffer storage and inter-layer reference Data Buffer Memory respectively by bus.The result of Image Reconstruction is exactly the result of final decoding, and above-mentioned each operator unit completes partial decoding of h function respectively, the decoding device that final formation one is complete.
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, inter-layer reference Data Buffer Memory, and these buffer storage are that input data, output data and intermediate data required in telescopic video decode procedure provides memory space.
2.1 input data stream buffer memory to be decoded
This buffer storage is for storing input data flow to be decoded.
2.2 reference picture buffer storage
This buffer storage is used for stored reference image, and reference picture is supplied to prediction restructing operation subelement and uses.
2.3 inter-layer reference Data Buffer Memories
This buffer storage is used for reference data between accumulation layer, and inter-layer reference data comprise 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 memory cell.
Fig. 5 gives the decoding process figure of method of the present invention.The method comprises the following steps: the parallel entropy decoding operator unit in arithmetic element reads in N layer quality scalable layer data flow simultaneously and carries out entropy decoding, exports N group macroblock information data and N group coefficient data simultaneously; Parallel entropy decoding operator unit comprises the entropy decoding arithmetic logic of L group standard, and wherein N is less than or equal to L; Input comprises N group coefficient data after parallel entropy decoding operator unit decodes and macroblock information data to the parallel counter-scanning operator unit in arithmetic element, parallel counter-scanning operator unit is simultaneously according to the scan format information in N group macroblock information data, put in order to coefficient and resequence and export, parallel counter-scanning operator unit comprises the counter-scanning arithmetic logic of L group standard; Input comprises the N group coefficient data after the rearrangement of counter-scanning operator unit and the N group macroblock information data after parallel entropy decoding operator unit decodes reconstructs and inverse quantization operator unit to the coefficient in arithmetic element, coefficient reconstruct and inverse quantization operator unit, according to macro block (mb) type, coefficient reconstructing method and quantitative information in N group macroblock information data, are reconstructed and inverse quantization coefficient data.
The method comprises further: input coefficient data after coefficient reconstruct and inverse quantization to inverse transformation operator unit, the residual error data of inverse transformation operator unit output after inverse transformation; Input comprises reference picture, inter-layer reference data and the macroblock information data after parallel entropy decoding operator unit decodes to prediction restructing operation subelement, prediction restructing operation subelement, according to the predictive mode in macroblock information data, utilizes reference picture, inter-layer reference data or adjacent macroblocks decoded information data generation forecast result; Wherein inter-layer reference data comprise the residual error reference data for inter-layer residue prediction, the pixel reference data for inter-layer intra prediction; Input the residual error data that comprises after inverse transformation and the image reconstruction operation subelement that predicts the outcome after prediction reconstruct, image reconstruction operation subelement according to these two parts input data, reconstructed reference image reference data between generating layer.
If the number M in data flow to be decoded with the quality scalable layer of equal resolution is greater than L, M layer quality scalable layer data can be divided into K and criticize and send into parallel entropy decoding operator unit and decode, K is the result after (M+L-1)/L rounds, wherein front K-1 decoding is often criticized and is sent into N=L layer data, send into N=M-(K-1) × L layer data the K time, each decoding is except exporting N group macroblock information data and coefficient data, the macroblock information data of decoding also can stored in inter-layer reference Data Buffer Memory, these data can be read in as a reference when decoding next group quality scalable layer data.
If the number M in data flow to be decoded with the quality scalable layer of equal resolution is greater than the number L of parallel processing logic in parallel entropy decoding operator unit, before treatment during K-1 (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 inter-layer reference Data Buffer Memory, and can read in these data as a reference when decoding next group quality scalable layer data, but these data can not be sent to inverse transformation operator cell processing; When process K (K is the result after (M+L-1)/L rounds) quality of lot scalable layer, coefficient reconstruct and inverse quantization operator unit read in coefficient reconfiguration information as a reference from inter-layer reference Data Buffer Memory, then utilize K (K is the result after (M+L-1)/L rounds) quality of lot scalable layer coefficient data to be reconstructed and inverse quantization, obtain the result of the inverse quantization of one group of final M layer quality scalable layer.
In sum, the inventive method and device, by revising and increasing entropy decoding, scanning and coefficient reconstruct and inverse quantization hardware processing element, improve the decoding speed of quality scalable layer in scalable video, save bus bandwidth.
Be more than the detailed description of carrying out the preferred embodiments of the present invention, but those of ordinary skill in the art it should be appreciated that within the scope of the present invention, and guided by the spirit, various improvement, interpolation and replacement are all possible.These are all in the protection range that claim of the present invention limits.