CN101083769A - Coder/decoder and coding/decoding method for processing N bit video data - Google Patents
Coder/decoder and coding/decoding method for processing N bit video data Download PDFInfo
- Publication number
- CN101083769A CN101083769A CNA2006100924486A CN200610092448A CN101083769A CN 101083769 A CN101083769 A CN 101083769A CN A2006100924486 A CNA2006100924486 A CN A2006100924486A CN 200610092448 A CN200610092448 A CN 200610092448A CN 101083769 A CN101083769 A CN 101083769A
- Authority
- CN
- China
- Prior art keywords
- data
- predetermined value
- multiply
- matrix
- intermediary matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
Abstract
It includes steps of: (a) drawing the related bit depth N info of input video data; (b) partitioning the input video data to obtain the difference matrix gained from forecast; (c) converting and zooming the difference block according to the bit depth N of input video data; (d) outputting the converted/ zoomed data. Here, N is an integer greater than 8. Due to converting and zooming the video data according to the bit depth of input video data, this invention can process the video data greater than 8 bits.
Description
Technical field
The present invention relates to a kind of coder/decoder and coding/decoding method of processing video data, more particularly, the present invention relates to a kind of coder/decoder and coding/decoding method of the N of processing bit video data, wherein, N is the integer greater than 8.
Background technology
Bigger screen and the resolution of Geng Gao are more and more advocated in visual communication system and application.In E-consumer market, this trend is activated along with the appearance of large-scale CRT, LCD, PDP, projecting apparatus and high definition (HD) TV, and comes the increase of digitized processing and storage visual information to be further enhanced by the form with MPEG, DVD, DV etc.Similarly, improve with high-resolution and be presented at image on the large-screen and the quality of video becomes extremely important.
Will be with regard to Video Codec, traditional encoding and decoding can only be handled 8 bit depth video data.Yet along with the development of video compression technology, needing can be according to the bit-depth of the height such as bit-depth of type of process such as 10 bits of inputting video data and 12 bits.
Summary of the invention
The invention provides a kind of coder/decoder and coding/decoding method of the N of having Bit data coding/decoding capability.Simultaneously, guarantee coding/decoding efficient, even impel higher SNR (signal to noise ratio).
According to an aspect of the present invention, provide a kind of method of the N of coding bit video data, may further comprise the steps: (a) extract information about the bit-depth N of inputting video data; (b) divide inputting video data, and, obtain difference matrix by prediction based on the data of dividing; (c) the bit-depth N according to the video data of importing carries out conversion and convergent-divergent to difference matrix; And (d) produce data behind conversion and the convergent-divergent, wherein, N is the integer greater than 8.
According to an aspect of the present invention, N is 10 or 12.
According to an aspect of the present invention, step (c) comprises following step: (c1) difference matrix to input carries out the integer dct transform and produces first intermediary matrix; (c2) with first intermediary matrix divided by first predetermined value and be rounded to immediate integer, produce second intermediary matrix as a result of; (c3) according to array multiplication second intermediary matrix be multiply by predetermined array S (i), and produce the 3rd intermediary matrix as a result of based on the territory; (c4) with the 3rd intermediary matrix divided by second predetermined value and be rounded to immediate integer, produce the 4th intermediary matrix then as a result of; (c5) the 4th intermediary matrix be multiply by predetermined value q[QP], to generate the 5th intermediary matrix.
Wherein, the multiplier that first predetermined value basis is used in step (c3) determines that the value after multiplying each other with assurance can not overflowed, and wherein, determines second predetermined value according to the multiplier that uses in step (c5), and the value after multiplying each other with assurance can not overflowed.
Wherein, determine predetermined array S (i), wherein, determine predetermined value q[QP] according to the quantization parameter QP that during conversion and convergent-divergent, adopts according to the integer dct transform mode that in step (c1), adopts.
According to an aspect of the present invention, if N is 10, then first predetermined value is that 7 and second predetermined value is 17.
According to an aspect of the present invention, if N is 12, then first predetermined value is that 9 and second predetermined value is 15.
According to an aspect of the present invention, S (i)=2
33/ v (i), wherein, i=0~5 are if difference matrix is 8 * 8 matrixes, then array v (i) is: v (i)=[512 * 512,442 * 442,464 * 464,512 * 442,512 * 464,442 * 464], wherein, determine the value of v (i) according to the integer dct transform matrix that adopts in step (c1).
According to an aspect of the present invention, in step (c3), the following execution of multiplication between second intermediary matrix and the array S (i): be expert at={ 0,4} and row={ 0, the data of 4} multiply by pre-determined factor S (0); Be expert at={ 1,3,5,7} and row={ 1,3,5, the data of 7} multiply by pre-determined factor S (1); Be expert at={ 2,6} and row={ 2, the data of 6} multiply by pre-determined factor S (2); Be expert at={ 0,4} and row={ 1,3,5, the data of 7} multiply by pre-determined factor S (3); Be expert at={ 1,3,5,7} and row={ 0, the data of 4} multiply by pre-determined factor S (3); Be expert at={ 0,4} and row={ 2, the data of 6} multiply by pre-determined factor S (4); Be expert at={ 2,6} and row={ 0, the data of 4} multiply by pre-determined factor S (4); Other data multiply by pre-determined factor S (5).
According to an aspect of the present invention, wherein, (c) is further comprising the steps of for step: (c6) will be from result's value of adding k of step (c5) output, and 15 bits that move to right then wherein, if prediction is an infra-frame prediction, then are worth k=2
-15* 10/31, if prediction is an inter prediction, then be worth k=2
-15* 10/62.
According to an aspect of the present invention, wherein, q=2
15/ 2
QP/8, quantization parameter QP is that integer and its scope are 0~63.
According to a further aspect in the invention, provide a kind of encoder of the N bit video data that is used to encode, comprising: coding controller is used to extract whole about the information of the bit-depth N of inputting video data and controlled encoder; Divide device, be used to divide the differential data that inputting video data obtains by prediction then; Integer dct transform and Zoom module are used for according to the bit-depth N of inputting video data difference block being carried out conversion and convergent-divergent, and produce the data behind conversion and the convergent-divergent, i.e. quantized data, and wherein, N is the integer greater than 8; Inverse transformation and Zoom module are used for the data behind inverse transformation and the convergent-divergent are converted to residual error data; In the frame/and the inter prediction module, be used to produce prediction data; Go the piece module, be used for and remove piece by the reconstruct data that residual error data and prediction data addition are obtained, and be stored in the reference frame storing device; Motion estimation module is used for generating exercise data based on the video data and the reference frame of current input; The entropy coding module is used for by control data, quantized data and exercise data entropy coding from coding controller are generated bitstream encoded.
According to an aspect of the present invention, N is 10 or 12.
According to an aspect of the present invention, conversion and Zoom module comprise: integer DCT module is used for difference matrix is carried out the integer dct transform and produces first intermediary matrix; First divider is used for first intermediary matrix divided by first predetermined value and be rounded to immediate integer, and produces second intermediary matrix as a result of; First multiplier is used for according to the array multiplication based on the territory second intermediary matrix being multiply by predetermined array S (i), and produces the 3rd intermediary matrix as a result of; Second divider is used for the 3rd intermediary matrix producing the 4th intermediary matrix then as a result of divided by second predetermined value and be rounded to immediate integer; Second multiplier is used for the 4th intermediary matrix be multiply by predetermined value q[QP], thus the 5th intermediary matrix produced.
Wherein, determine first predetermined value according to first multiplier, the value after multiplying each other with assurance can not overflowed, and determines described second predetermined value according to second multiplier, and the value after multiplying each other with assurance can not overflowed.
Wherein, determine predetermined array S (i), wherein, determine predetermined value q[QP] according to the quantization parameter QP that during conversion and convergent-divergent, adopts according to the integer dct transform matrix that in integer DCT module, adopts.
According to an aspect of the present invention, if N is 10, then first predetermined value is that 7 and second predetermined value is 17.
According to an aspect of the present invention, if N is 12, then first predetermined value is that 9 and second predetermined value is 15.
According to an aspect of the present invention, a kind of decoder that is used to handle the N-bit video data is provided, comprise: the entropy decoder module, be used for will input bit stream decoding be control data, quantized data and exercise data, described control data includes about the information with the bit-depth N of processed video data; Decode controller is used for the whole operation based on described control data control decoder; Inverse transformation and Zoom module carry out inverse transformation and convergent-divergent to the quantized data that receives from described entropy decoder module.
Wherein, described bit-depth N is greater than 8.
According to an aspect of the present invention, inverse transformation and Zoom module comprise: the 3rd multiplier, the data that are used for quantizing multiply by array multiplication and multiply by the 3rd predetermined value r[QP], thereby generate the 7th intermediary matrix; The 3rd divider is used for described the 7th intermediary matrix divided by the 4th predetermined value n[QP], get immediate integer then, and generate the 8th intermediary matrix; Inverse transform module is used for described the 8th intermediary matrix of inverse transformation, thereby generates residual error data.
Wherein, the 3rd predetermined value r[QP] and the 4th predetermined value n[QP] determine according to following condition:
QP=0~63
Wherein, QP is a quantization parameter, symbol " ^ " expression power.
According to an aspect of the present invention, bit-depth N is 10 or 12.
According to an aspect of the present invention, a kind of coding/decoding method that is used to handle the N-bit video data is provided, comprise: be used for will input bit stream decoding be control data, quantized data and exercise data, described control data includes about the information with the bit-depth N of processed video data; Whole operation based on described control data control decoder; The quantized data that receives from described entropy decoder module is carried out inverse transformation and convergent-divergent, and wherein, described bit-depth N is greater than 8.
According to an aspect of the present invention, described inverse transformation and convergent-divergent step comprise: the data that quantize be multiply by array multiplication multiply by the 3rd predetermined value r[QP], thus the 7th intermediary matrix generated; With described the 7th intermediary matrix divided by the 4th predetermined value n[QP], get immediate integer then, and generate the 8th intermediary matrix; Described the 8th intermediary matrix of inverse transformation, thus residual error data generated.
Wherein, the 3rd predetermined value r[QP] and the 4th predetermined value n[QP] determine according to following condition:
QP=0~63
Wherein, QP is a quantization parameter, symbol " ^ " expression power.
According to an aspect of the present invention, described bit-depth N is 10 or 12.
Description of drawings
By the detailed description of carrying out below in conjunction with accompanying drawing, it is clear and easier to understand that these and/or others of the present invention and advantage will become, wherein:
Fig. 1 is the block diagram according to the encoder of the embodiment of the invention;
Fig. 2 is the diagrammatic sketch that illustrates according to the detailed structure of conversion of the present invention and Zoom module;
Fig. 3 be illustrate as shown in Figure 2 conversion and the flow chart of the operation of Zoom module;
Fig. 4 is the chart that the code efficiency of the present invention and prior art is shown;
Fig. 5 is the schematic diagram that the structure of inverse transformation among Fig. 2 and Zoom module is shown;
Fig. 6 is the flow chart that the operation of inverse transformation among Fig. 2 and Zoom module is shown;
Fig. 7 is the block diagram that illustrates according to the decoder of the embodiment of the invention;
Fig. 8 is the schematic diagram that the structure of the inverse transformation of the decoder shown in Fig. 7 and Zoom module is shown;
Fig. 9 is the flow chart that the operation of the inverse transformation of the decoder among Fig. 7 and Zoom module is shown.
Embodiment
Now will be in detail with reference to embodiments of the invention, its example is shown in the drawings, and wherein, identical label is represented identical parts all the time.Below embodiment is described so that explain the present invention by the reference accompanying drawing.
Motion image data comes Code And Decode based on motion estimation technique.Predict with the back frame with reference to preceding frame or preceding frame based on time shaft.When coding or decoding present frame, be called reference frame by the frame of reference.In block-based moving image encoding, the rest image (frame) that is included in the moving image is divided into macro block (MB), and macro block (MB) is divided into sub-piece.Therefore, come the motion of rest image is predicted and encoded based on block-by-block.
Fig. 1 illustrates the block diagram according to the video encoder of the embodiment of the invention.
With reference to Fig. 1, encoder comprises: divide device 110, adder 112, coding controller 120, conversion and Zoom module 113, predicting unit 110 and entropy coding module 130.
When 8 bit raw data are transfused to, divide device 110 and under the control of coding controller 120, selects frame or the field that to be encoded.For each frame or field, it is divided into MB (Macro-Block).Each MB is made up of 16 * 16 pixels.That is, the frame that is encoded or field are divided into the macro block of a plurality of 16 * 16 pixels, the MB of described 16 * 16 pixels is made up of a plurality of 16 * 16 blocks and/or a plurality of 8 * 8 blocks.
In adder 112, from from deducting prediction data from intra-framed prediction module 117 or inter prediction module 118 initial data of dividing device 100 to provide difference matrix.
113 pairs of described difference matrixs of conversion and Zoom module carry out integer dct transform and convergent-divergent generating quantification data, and respectively quantized data are outputed to predicting unit 110 and entropy coding module 130.
Predicting unit 110 comprises: inverse transformation and Zoom module 114, adder 111, go piece module 115, memory 116, intra-framed prediction module 117, inter prediction module 118 and motion estimation module 119.
114 pairs of inverse transformation and Zoom modules come the quantized data of transformation into itself and Zoom module 113 to carry out anti-integer dct transform and zoom operations, and the output residual error data.Describe the operation of inverse transformation and Zoom module 114 in detail with reference to Fig. 5.
In adder 111, from the residual error data of inverse transformation and quantization modules 114 and prediction data addition, produce the data of reconstruct from intra-framed prediction module 117 or inter prediction module 118, output to piece module 115 then.
Go the reconstruct data of 115 pairs of inputs of piece module to carry out loop filtering removing piece, and will go agllutination really to output to memory 116.
The data of input store 116 are stored as reference data, and it will be used for prediction after a while.
Each 8 * 8 signal matrix of conversion and 113 pairs of differential datas of Zoom module are carried out conversion and convergent-divergent.8 * 8 signal matrix with differential data are called X below.
Now, carry out detailed description that conversion and convergent-divergent are handled with reference to Fig. 2 and Fig. 3.
Fig. 2 is according to the conversion of the encoder 10 of the embodiment of the invention and the block diagram of Zoom module 113.Fig. 3 illustrates the flow chart of handling according to the conversion and the convergent-divergent of the embodiment of the invention.
As shown in Figure 2, the conversion of encoder 10 and Zoom module 113 comprise: dct transform module 210, the first division module 220, first multiplier 230, the second division module 240, second multiplier 250 and shift module 260.
With reference to Fig. 3, in step S310, the information that conversion and Zoom module 113 receive about the bit-depth N of inputting video data.For each 8 * 8 signal matrix X in the difference MB data (for each MB, the quantity of signal matrix and the tissue of signal matrix are determined by original video format and coding MB pattern).At step S320, dct transform module 210 is carried out the integer dct transform according to the differential data of 1 pair of input of following equation:
[equation 1]
B=T·X·T
T
Wherein, symbol " " is the symbol of matrix multiple, and T is an integer dct transform matrix, T
TBe the transposition of integer dct transform matrix T, B is the matrix after the conversion.Preferably, integer dct transform matrix T is used for the matrix of 8 * 8 dct transform below being:
T=[8?8?8?8?8?8?8?8
10962-2-6-9-10
104-4-10-10-4410
9-2-10-66102-9
8-8-888-8-88
6-1029-9-210-6
4-1010-4-410-104
2-69-1010-96-2]。
The matrix B of dct transform module 210 after with the integer dct transform outputs to the first division module 220, described matrix B is also referred to as the first intermediary matrix B, then in step S330, the first division module 220 with the first intermediary matrix B divided by the first predetermined value ShiftTab0 corresponding with the information of bit-depth N, be rounded to immediate integer then producing the second intermediary matrix C, and the second intermediary matrix C is sent to first multiplier 230.Operation among the step S330 can be expressed as equation: C=B//ShiftTab0, wherein, is rounded to immediate integer after symbol " // " expression is divided by.
Here the operation of being divided by that is comprised in the symbol " // " is described in detail, for example:
a//b=sign(a)×[(abs(a)+2
b-1)>>b]
Wherein,>>expression dextroposition
Therefore, in whole specification, be divided by and when getting immediate integer, what refer to is exactly defined computing in the above-mentioned example when mentioning.
When multiplier was 16 bit multipliers, preferably, if bit-depth N is 10, then the first predetermined value ShiftTab0 was 7, if bit-depth N is 12, then the first predetermined value ShiftTab0 is 9.Yet the operation that needs only multiplier is guaranteed, can be set to different values according to multiplier first predetermined value that adopts.
In step 340, first multiplier 230 generates the 3rd intermediary matrix D by the second intermediary matrix C be multiply by default coefficient S (i), and the 3rd intermediary matrix D is sent to the second division module 240 according to the multiplication based on the territory.Operation at step S340 can be expressed as D=S (i) * C, and wherein, symbol " .* " expression is based on the array multiplication in territory.
Determine default coefficient S (i) according to following rule:
S (i)=2
33/ v (i), wherein i=0~5.
For 8 * 8 matrixes, array v (i) is:
v=[512×512,442×442,464×464,512×442,512×464,442×464]。
In step S340, carry out the multiply operation of D=S (i) * C according to following rule:
For row=0,4}, row={ 0, the data of 4} multiply by default coefficient S [0]
For row=1,3,5,7}, row={ 1,3,5,7} multiply by default coefficient S [1]
For row=2,6}, row={ 2,6} multiply by default coefficient S [2]
For row=0,4}, row=1,3,5, the data of 7}, perhaps the row=1,3,5,7}, row={ 0, the data of 4} multiply by default coefficient S [3]
For row=0,4}, row=2, the data of 6}, perhaps the row=2,6}, row={ 0, the data of 4} multiply by default coefficient S [4]
For other data, multiply by default coefficient S [5].
At step S350, the second division module 240 by with the 3rd intermediary matrix D divided by generating the 4th intermediary matrix E with the corresponding second predetermined value ShiftTab1 of bit-depth N, be rounded to nearest integer, and the 4th intermediary matrix E is sent to second multiplier 250 thereafter.The operation of step S350 can be expressed as E=D//ShiftTab1, and wherein, symbol " // " is identical with computing as defined above.
Preferably, if bit-depth is 10, then the second predetermined value ShiftTab1 is 17, if bit-depth is 12, then the second predetermined value ShiftTab1 is 15.Yet as long as guarantee the multiply operation of multiplier, the second predetermined value ShiftTab1 can be set to different values according to the multiplier that is adopted.
At step S360, second multiplier 250 is by multiply by q[QP with the 4th intermediary matrix E] generate the 5th intermediary matrix F.The operation of step S360 operation can be expressed as formula F=q[QP] .E, wherein, symbol ". " expression array multiplication.
According to formula
Determine q[QP] value, wherein, QP is from 0 to 63 quantization parameter, symbol
Expression approximates, symbol " ^ " expression power operation.
At step S370, shift module 260 is added to the 5th intermediary matrix F with K, moves to right 15 thereafter with generating quantification data G, and it is called as the 6th intermediary matrix.For inter prediction, described K for example is 2
-15* 10/31, for inter prediction, described K for example is 2
-15* 10/32.
Thereafter, transform and quantization module 113 outputs to inverse transformation and Zoom module and entropy coding module 120 with quantized data G.
Fig. 5 is according to the inverse transformation of the encoder 10 of the embodiment of the invention and the block diagram of Zoom module 114.Fig. 6 is the flow chart that the operation of inverse transformation and Zoom module 114 is shown.The detail operations of inverse transformation and Zoom module 114 is described with reference to Fig. 5 and Fig. 6.
At step S610, first multiplier 510 receives quantized data G from inverse transformation and Zoom module 113, and quantized data G be multiply by r[QP] to generate the 7th intermediary matrix H.Operation S610 can be expressed as formula H=r[QP] .G, wherein, symbol ". " expression array multiplication.
At step S611, the 3rd division module 520 with the 7th intermediary matrix divided by n[QP] and be rounded to nearest integer to generate the 8th intermediary matrix I.Operation S611 can be expressed as formula I=H//n[QP], wherein, the represented arithmetic operation of symbol " // " is with as defined above identical.
At step S612, first inverse transform module 530 multiply by T to generate the 9th intermediary matrix J with the 8th intermediary matrix.The operation of step S612 can be expressed as formula J=IT, and wherein, T is the integer dct transform matrix that is used for the dct transform module 210 of Fig. 2.
In step 613, the 4th division module 540 with the 9th intermediary matrix J divided by 3 and be rounded to nearest integer to generate the tenth intermediary matrix K.The operation of step S613 can be expressed as formula K=J//3.
At step S614, second inverse transform module 550 multiply by T with the tenth intermediary matrix K
TAnd generate the 11 intermediary matrix L.The operation of step S614 can be expressed as formula L=T
TK, wherein T
TIt is the transposition of integer dct transform matrix T.
At step S615, the 5th division module 560 with the 11 intermediary matrix L divided by 7 and be rounded to nearest integer to generate the 12 intermediary matrix M.The operation of step S615 can be expressed as formula M=L//7.
Total operation described above is as follows:
·B=T·X·T
T
·C=B//ShiftTab0
·D=s[i].*C
·E=D//ShiftTab1
·F=q[QP].E
·G=(F+k)>>15(Intra:k=(1<<15)*10/31;Inter:k=(1<<15)*10/62),
·H=r[QP].G
·I=H//n[QP]
·J=I·T
·K=J//3
·L=T
T·K
·M=L//7
DCT and scaled matrix operation should be satisfied following rule:
·QP=0~63
·v={512*512,442*442,464*464,512*442,512*464,442*464}
·
·
·
Wherein, symbol " " expression is used for the symbol of matrix multiplication, symbol ". " expression array multiplication, and symbol " .* " expression is based on the array multiplication in territory, symbol
Expression approximates.
Wherein, v is determined according to integer dct transform matrix T.In case v is determined, then the value of S (i) is determined.
Encoder with said structure has N Bit data code capacity, can handle 10 bit video datas, 12 bit video datas and 14 bit video datas, and only existing multiplier is made minimum the change.Simultaneously, code efficiency is guaranteed, even has improved SNR.
Fig. 4 illustrates according to the present invention and the figure of the code efficiency of the encoder of prior art.With reference to Fig. 4 as seen, code efficiency according to the present invention is held, even higher than the code efficiency of prior art.
Fig. 7 is the block diagram that illustrates according to the decoder of the embodiment of the invention.
With reference to Fig. 7, decoder comprises: entropy decoder 710, decoder control module 711, inverse transformation and Zoom module 712, adder 713, go piece module 714, intra-framed prediction module 715, inter prediction module 716 and reference frame storing module 717.
712 couples of quantized data G of inverse transformation and Zoom module carry out contrary integer dct transform operation to generate residual error data, thereafter residual error data are sent to adder 713.
In adder 713, residual error data with from the prediction data of intra-framed prediction module 715 or from the prediction data addition of inter prediction module 716, and the result outputed to the module 714 of deblocking.
The module of deblocking 714 is carried out loop filtering to the data that are used to deblock of its input, and the result that will deblock outputs to preservation referrer module 717.
Be input to the data of preserving referrer module 717 and be saved conduct with reference to data, it will be used in prediction after a while.
Fig. 8 is the block diagram that illustrates according to the structure of the convergent-divergent of the decoder of the embodiment of the invention and inverse transform module.
With reference to Fig. 8, inverse transformation and Zoom module 712 comprise the 3rd multiplier 810, the 3rd division module 820, first inverse transform module 830, the 4th division module 840, second inverse transform module 850 and the 5th division module 860.
The function of each module among the function of each module among Fig. 8 and Fig. 5 is identical.For the sake of simplicity, with the description of omitting to Fig. 8.
Fig. 9 is the flow chart that illustrates according to the coding/decoding method of the embodiment of the invention.
The flow process of Fig. 9 is identical with the flow process of Fig. 6.For the sake of simplicity, with the description of omitting to Fig. 9.
For current 8 bit coding/decoding systems, hardware characteristics is as follows: (a) QP from 0 to 63; (b) be used for 16 bit memories of difference input and output; (c) use 16 multipliers; (d) ALU is supported 32 bit manipulations.For treatment in accordance with the present invention N bit video data coder/decoder, feature is as follows: (a) QP from 0 to 63; (b) be used for 16 bit memories of difference input and output; (c) use 16 multipliers; (d) ALU is supported 32 bit manipulations.That is to say, current system has been carried out minimum system changed.
According to the embodiment of the invention, can in video encoder and decoder, handle high-fidelity initial data N bit (1 0 bits, 12 bits, 14 bits).Simultaneously, guarantee code efficiency and improved SNR.
Though illustrate and described the present invention with reference to its exemplary embodiment, it will be understood by those skilled in the art that under the situation that does not break away from the spirit and scope of the present invention that are defined by the claims, can make various changes in form and details.
Claims (24)
1, a kind of method of the N bit video data of encoding may further comprise the steps:
(a) extraction is about the information of the bit-depth N of inputting video data;
(b) divide the difference matrix that inputting video data and obtaining obtains by prediction;
(c) the bit-depth N according to inputting video data carries out conversion and convergent-divergent to difference matrix; And
(d) data behind output transform and the convergent-divergent,
Wherein, N is the integer greater than 8.
2, the method for claim 1, step (c) comprises following step:
(c1) difference matrix is carried out the integer dct transform and produces first intermediary matrix;
(c2) with first intermediary matrix divided by first predetermined value and be rounded to immediate integer, produce second intermediary matrix as a result of;
(c3) according to array multiplication second intermediary matrix be multiply by predetermined array S (i), and produce the 3rd intermediary matrix as a result of based on the territory;
(c4) with the 3rd intermediary matrix divided by second predetermined value and be rounded to immediate integer, produce the 4th intermediary matrix then as a result of;
(c5) the 4th intermediary matrix be multiply by predetermined value q[QP],
Wherein, determine first predetermined value according to the multiplier that uses in step (c3), the value after multiplying each other with assurance can not overflowed,
Wherein, determine second predetermined value according to the multiplier that uses in step (c5), the value after multiplying each other with assurance can not overflowed,
Wherein, determine predetermined array S (i) according to the integer dct transform mode that in step (c1), adopts,
Wherein, determine predetermined value q[QP according to the quantization parameter QP that during conversion and convergent-divergent, adopts].
3, the method for claim 1, wherein N is 10 or 12.
4, method as claimed in claim 3, wherein, if N is 10, then first predetermined value is that 7 and second predetermined value is 17.
5, method as claimed in claim 3, wherein, if N is 12, then first predetermined value is that 9 and second predetermined value is 15.
6, method as claimed in claim 2, S (i)=2
33/ v (i), wherein, i=0~5 are if difference matrix is 8 * 8 matrixes, then array v (i) is: v (i)=[512 * 512,442 * 442,464 * 464,512 * 442,512 * 464,442 * 464], wherein, determine the value of v (i) according to the integer dct transform matrix that adopts in step (c1).
7, method as claimed in claim 2, wherein, in step (c3), the following execution of multiplication between second intermediary matrix and the array S (i):
Be expert at={ 0,4} and row={ 0, the data of 4} multiply by pre-determined factor S (0);
Be expert at={ 1,3,5,7} and row={ 1,3,5, the data of 7} multiply by pre-determined factor S (1);
Be expert at={ 2,6} and row={ 2, the data of 6} multiply by pre-determined factor S (2);
Be expert at={ 0,4} and row={ 1,3,5, the data of 7} multiply by pre-determined factor S (3);
Be expert at={ 1,3,5,7} and row={ 0, the data of 4} multiply by pre-determined factor S (3);
Be expert at={ 0,4} and row={ 2, the data of 6} multiply by pre-determined factor S (4);
Be expert at={ 2,6} and row={ 0, the data of 4} multiply by pre-determined factor S (4); And other data multiply by pre-determined factor S (5).
8, method as claimed in claim 2, wherein, (c) is further comprising the steps of for step:
(c6) will be from result's value of adding k of step (c5) output, 15 bits and produce the 6th intermediary matrix of moving to right then,
Wherein, if prediction is an infra-frame prediction, then be worth k=2
-15* 10/31, if prediction is an inter prediction, then be worth k=2
-15* 10/62.
9, method as claimed in claim 2, wherein, q=2
15/ 2
QP/8, QP is that integer and its scope are 0~63.
10, a kind of encoder of the N bit video data of encoding comprises:
Coding controller is used to extract whole about the information of the bit-depth N of inputting video data and controlled encoder;
Divide device, the differential data that is used to divide inputting video data and obtains obtaining by prediction;
Integer dct transform and Zoom module are used for according to the bit-depth N of inputting video data difference block being carried out conversion and convergent-divergent, and produce the data behind conversion and the convergent-divergent,
Wherein, N is the integer greater than 8.
11, encoder as claimed in claim 9, conversion and Zoom module comprise:
Integer DCT module is used for difference matrix is carried out the integer dct transform and produces first intermediary matrix;
First divider is used for first intermediary matrix divided by first predetermined value and be rounded to immediate integer, and produces second intermediary matrix as a result of;
First multiplier is used for according to the array multiplication based on the territory second intermediary matrix being multiply by predetermined array S (i), and produces the 3rd intermediary matrix as a result of;
Second divider is used for the 3rd intermediary matrix producing the 4th intermediary matrix then as a result of divided by second predetermined value and be rounded to immediate integer;
Second multiplier is used for the 4th intermediary matrix be multiply by predetermined value q[QP],
Wherein, determine first predetermined value according to the multiplier that uses in step (c3), the value after multiplying each other with assurance can not overflowed,
Wherein, second predetermined value is confirmed as corresponding with the multiplier that uses in step (c5), and the value after multiplying each other with assurance can not overflowed,
Wherein, determine predetermined array S (i) according to the integer dct transform matrix that in step (c1), adopts,
Wherein, determine predetermined value q according to the quantization parameter QP that during conversion and convergent-divergent, adopts.
12, encoder as claimed in claim 11, wherein, N is 10 or 12.
13, encoder as claimed in claim 12, if N is 10, then first predetermined value is that 7 and second predetermined value is 17.
14, encoder as claimed in claim 11, wherein, if N is 12, then first predetermined value is that 9 and second predetermined value is 15.
15, encoder as claimed in claim 11, S (i)=2
33/ v (i), wherein, i=0~5,
If difference matrix is 8 * 8 matrixes, then array v (i) is:
v(i)=[512×512,442×442,464×464,512×442,512×464,442×464],
Wherein, determine the value of v (i) according to the integer dct transform matrix that in integer DCT module, adopts.
16, encoder as claimed in claim 11, wherein, first multiplier is carried out multiplication between second intermediary matrix and the array S (i) according to following rule:
Be expert at={ 0,4} and row={ 0, the data of 4} multiply by pre-determined factor S (0);
Be expert at={ 1,3,5,7} and row={ 1,3,5, the data of 7} multiply by pre-determined factor S (1);
Be expert at={ 2,6} and row={ 2, the data of 6} multiply by pre-determined factor S (2);
Be expert at={ 0,4} and row={ 1,3,5, the data of 7} multiply by pre-determined factor S (3);
Be expert at={ 1,3,5,7} and row={ 0, the data of 4} multiply by pre-determined factor S (3);
Be expert at={ 0,4} and row={ 2, the data of 6} multiply by pre-determined factor S (4);
Be expert at={ 2,6} and row={ 0, the data of 4} multiply by pre-determined factor S (4); And
Other data multiply by pre-determined factor S (5).
17, encoder as claimed in claim 11, the transform and quantization module also comprises: offset module, it will be from result's value of adding k of second multiplier output, 15 bits that move to right then, producing the 6th intermediary matrix,
Wherein, if prediction is an infra-frame prediction, then be worth k=2
-15* 10/31, if prediction is an inter prediction, then be worth k=2
-15* 10/62.
18, encoder as claimed in claim 11, wherein, q=2
15/ 2
QP/8, QP is that integer and its scope are 0~63.
19, a kind of decoder that is used to handle the N-bit video data comprises:
The entropy decoder module, be used for will input bit stream decoding be control data, quantized data and exercise data, described control data includes about the information with the bit-depth N of processed video data;
Decode controller is used for the whole operation based on described control data control decoder;
Inverse transformation and Zoom module carry out inverse transformation and convergent-divergent to the quantized data that receives from described entropy decoder module,
Wherein, described bit-depth N is greater than 8.
20, decoder as claimed in claim 19, wherein, described inverse transformation and Zoom module comprise:
The 3rd multiplier, the data that are used for quantizing multiply by array multiplication and multiply by the 3rd predetermined value r[QP], thereby generate the 7th intermediary matrix;
The 3rd divider is used for described the 7th intermediary matrix divided by the 4th predetermined value n[QP], get immediate integer then, and generate the 8th intermediary matrix;
Inverse transform module is used for described the 8th intermediary matrix of inverse transformation, thereby generates residual error data, wherein, and the 3rd predetermined value r[QP] and the 4th predetermined value n[QP] determine according to following condition:
Qp=0~63
Wherein, QP is a quantization parameter, symbol " ^ " expression power.
21, decoder as claimed in claim 19, wherein, described bit-depth N is 10 or 12.
22, a kind of coding/decoding method that is used to handle the N-bit video data comprises:
Be used for will input bit stream decoding be control data, quantized data and exercise data, described control data includes about the information with the bit-depth N of processed video data;
Whole operation based on described control data control decoder;
The quantized data that receives from described entropy decoder module is carried out inverse transformation and convergent-divergent,
Wherein, described bit-depth N is greater than 8.
23, coding/decoding method as claimed in claim 22, wherein, described inverse transformation and convergent-divergent step comprise:
The data that quantize be multiply by array multiplication multiply by the 3rd predetermined value r[QP], thus the 7th intermediary matrix generated;
With described the 7th intermediary matrix divided by the 4th predetermined value n[QP], get immediate integer then, and generate the 8th intermediary matrix;
Described the 8th intermediary matrix of inverse transformation, thus residual error data generated,
Wherein, the 3rd predetermined value r[QP] and the 4th predetermined value n[QP] determine according to following condition:
QP=0~63
Wherein, QP is a quantization parameter, symbol " ^ " expression power.
24, coding/decoding method as claimed in claim 22, wherein, described bit-depth N is 10 or 12.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100924486A CN101083769B (en) | 2006-06-02 | 2006-06-02 | Coder/decoder and coding/decoding method for processing N bit video data |
KR1020060077290A KR101312632B1 (en) | 2006-06-02 | 2006-08-16 | A method and apparatus for encoding/decoding of N-bit video data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100924486A CN101083769B (en) | 2006-06-02 | 2006-06-02 | Coder/decoder and coding/decoding method for processing N bit video data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101083769A true CN101083769A (en) | 2007-12-05 |
CN101083769B CN101083769B (en) | 2011-05-25 |
Family
ID=38912996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006100924486A Expired - Fee Related CN101083769B (en) | 2006-06-02 | 2006-06-02 | Coder/decoder and coding/decoding method for processing N bit video data |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR101312632B1 (en) |
CN (1) | CN101083769B (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101742328B (en) * | 2008-11-14 | 2013-03-27 | 北京中星微电子有限公司 | Method and device for integer transform of image residual matrix, and method and device for inverse transform of image residual matrix |
CN104967845A (en) * | 2009-08-17 | 2015-10-07 | 三星电子株式会社 | Method and apparatus for encoding a video, and method and apparatus for decoding video |
CN106686379A (en) * | 2010-04-13 | 2017-05-17 | 三星电子株式会社 | Video decoding method |
WO2020103800A1 (en) * | 2018-11-23 | 2020-05-28 | 华为技术有限公司 | Video decoding method and video decoder |
CN112114874A (en) * | 2020-08-20 | 2020-12-22 | 北京百度网讯科技有限公司 | Data processing method and device, electronic equipment and storage medium |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110830799B (en) | 2012-01-18 | 2023-09-15 | 韩国电子通信研究院 | Video decoding device, video encoding device and method for transmitting bit stream |
JP6140269B2 (en) * | 2012-04-16 | 2017-05-31 | エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute | Video encoding / decoding method and apparatus |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1085763B1 (en) * | 1996-05-28 | 2003-01-22 | Matsushita Electric Industrial Co., Ltd. | Image predictive coding apparatus and method. |
WO1999056472A1 (en) * | 1998-04-24 | 1999-11-04 | Rockwell Science Center, Llc | N-bit video coder and method of extending an 8-bit mpeg video coder |
KR101014667B1 (en) * | 2004-05-27 | 2011-02-16 | 삼성전자주식회사 | Video encoding, decoding apparatus and method |
KR100723408B1 (en) * | 2004-07-22 | 2007-05-30 | 삼성전자주식회사 | Method and apparatus to transform/inverse transform and quantize/dequantize color image, and method and apparatus to encode/decode color image using it |
KR20060042295A (en) * | 2004-11-09 | 2006-05-12 | 삼성전자주식회사 | Method and apparatus for encoding and decoding image data |
-
2006
- 2006-06-02 CN CN2006100924486A patent/CN101083769B/en not_active Expired - Fee Related
- 2006-08-16 KR KR1020060077290A patent/KR101312632B1/en active IP Right Grant
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101742328B (en) * | 2008-11-14 | 2013-03-27 | 北京中星微电子有限公司 | Method and device for integer transform of image residual matrix, and method and device for inverse transform of image residual matrix |
CN104967845A (en) * | 2009-08-17 | 2015-10-07 | 三星电子株式会社 | Method and apparatus for encoding a video, and method and apparatus for decoding video |
CN104967845B (en) * | 2009-08-17 | 2018-05-01 | 三星电子株式会社 | Method and apparatus to Video coding and to the decoded method and apparatus of video |
CN106686379A (en) * | 2010-04-13 | 2017-05-17 | 三星电子株式会社 | Video decoding method |
US10306262B2 (en) | 2010-04-13 | 2019-05-28 | Samsung Electronics Co., Ltd. | Video encoding method and video encoding apparatus and video decoding method and video decoding apparatus, which perform deblocking filtering based on tree-structure encoding units |
US10412411B2 (en) | 2010-04-13 | 2019-09-10 | Samsung Electronics Co., Ltd. | Video-encoding method and video-encoding apparatus using prediction units based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus using prediction units based on encoding units determined in accordance with a tree structure |
US10432965B2 (en) | 2010-04-13 | 2019-10-01 | Samsung Electronics Co., Ltd. | Video-encoding method and video-encoding apparatus based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus based on encoding units determined in accordance with a tree structure |
CN106686379B (en) * | 2010-04-13 | 2019-10-18 | 三星电子株式会社 | The method that video is decoded |
WO2020103800A1 (en) * | 2018-11-23 | 2020-05-28 | 华为技术有限公司 | Video decoding method and video decoder |
CN111225206A (en) * | 2018-11-23 | 2020-06-02 | 华为技术有限公司 | Video decoding method and video decoder |
CN111225206B (en) * | 2018-11-23 | 2021-10-26 | 华为技术有限公司 | Video decoding method and video decoder |
CN112114874A (en) * | 2020-08-20 | 2020-12-22 | 北京百度网讯科技有限公司 | Data processing method and device, electronic equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN101083769B (en) | 2011-05-25 |
KR20070115551A (en) | 2007-12-06 |
KR101312632B1 (en) | 2013-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105939477B (en) | Method and apparatus for being decoded to vision signal | |
TWI471013B (en) | Computational complexity and precision control in transform-based digital media codec | |
CN101083768B (en) | Coder for processing video data and coding method and decoder and decoding method | |
CN101083769B (en) | Coder/decoder and coding/decoding method for processing N bit video data | |
CN103782598A (en) | Fast encoding method for lossless coding | |
JP2005507587A (en) | Spatial scalable compression | |
EP1932099A2 (en) | Wavelet matching pursuits coding and decoding | |
US9414091B2 (en) | Video encoder with an integrated temporal filter | |
KR20060119736A (en) | Method for encoding video signal | |
US9667958B2 (en) | Image coding and decoding methods and apparatuses | |
JP2010098352A (en) | Image information encoder | |
CN105453566B (en) | Data encoding and data decoding | |
JP2012147290A (en) | Image coding apparatus, image coding method, program, image decoding apparatus, image decoding method, and program | |
CN104581173A (en) | Soft decoding verification model platform | |
WO2011064073A1 (en) | Method, device and system for image compression and decompression using support vector regression | |
KR20130006578A (en) | Residual coding in compliance with a video standard using non-standardized vector quantization coder | |
JP4559811B2 (en) | Information processing apparatus and information processing method | |
Saidani et al. | An efficient hardware implementation of parallel EBCOT algorithm for JPEG 2000 | |
CN102333222A (en) | Two-dimensional discrete wavelet transform circuit and image compression method using same | |
CN105227959A (en) | For odd encoder point shuffling flowing water method and the device thereof of Video coding | |
KR20100074272A (en) | Fixed-point implementation of an adaptive image filter with high coding efficiency | |
CN101193285A (en) | Method and device for image compression coding and decoding | |
CN105745929B (en) | Method and apparatus for accelerating inverse transform and method and apparatus for decoding video stream | |
Al-Jammas et al. | FPGA implementation of intra frame for H. 264/AVC based DC mode | |
CN101223780A (en) | Video coding method and apparatus for reducing mismatch between encoder and decoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110525 Termination date: 20210602 |
|
CF01 | Termination of patent right due to non-payment of annual fee |