CN101083769B - 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
- CN101083769B CN101083769B CN2006100924486A CN200610092448A CN101083769B CN 101083769 B CN101083769 B CN 101083769B CN 2006100924486 A CN2006100924486 A CN 2006100924486A CN 200610092448 A CN200610092448 A CN 200610092448A CN 101083769 B CN101083769 B CN 101083769B
- Authority
- CN
- China
- Prior art keywords
- data
- intermediary matrix
- matrix
- predetermined value
- multiply
- 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.)
- Expired - Fee Related
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]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
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.
Coding controller 120 extracts the information of the bit-depth N of indication incoming video signal from the video data of input, and whole operations of controlled encoder are to coordinate the work of encoder.
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.
Intra-framed prediction module 117 is carried out infra-frame prediction, and inter prediction module 118 is carried out inter prediction, is also referred to as motion compensation.Inter prediction module 118 is from extracting the predicted macroblock corresponding with motion vector from the reference frame the memory 116, and the predicted macroblock of reference frame is carried out motion compensation with prediction of output data.
Motion estimation module 119 search is from the reference frame of the macro block of memory 116, and will reference frame or macro block in image the position and present frame or macro block in the position of image between difference output to adder 112 as motion vector.
Entropy coding module 130 receives control data, exercise data (if any) and quantized data, and they are grouped into output bit flow.
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
10?9?6?2?-2?-6?-9?-10
10?4?-4?-10?-10?-4?4?10
9?-2?-10?-6?6?10?2?-9
8?-8?-8?8?8?-8?-8?8
6?-10?2?9?-9?-2?10?-6
4?-10?10?-4?-4?10?-10?4
2?-6?9?-10?10?-9?6?-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 infra-frame prediction, described K for example is 2
-15* 10/31, for inter prediction, described K for example is 2
-15* 10/62.
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 (10 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 (14)
1. method of 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, comprising:
(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];
(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,
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, predetermined array S (i)=2
33/ v (i), wherein, i=0~5, if difference matrix is the 8x8 matrix, then array v (i) is: v (i)=[512x512,442x442,464x464,512x442,512x464,442x464], wherein, determine the value of v (i) according to the integer dct transform matrix that adopts in step (c1)
Wherein, determine predetermined value q[QP according to the quantization parameter QP that during conversion and convergent-divergent, adopts]=2
15/ 2
QP/8, QP is that integer and its scope are 0~63; And
(d) data behind output transform and the convergent-divergent,
Wherein, N is the integer greater than 8.
2. the method for claim 1, wherein N is 10 or 12.
3. method as claimed in claim 2, wherein, if N is 10, then first predetermined value is that 7 and second predetermined value is 17.
4. method as claimed in claim 2, wherein, if N is 12, then first predetermined value is that 9 and second predetermined value is 15.
5. the method for claim 1, wherein in step (c3), the following execution of multiplication between second intermediary matrix and the array S (i), wherein, i=0~5:
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).
6. encoder of 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, comprising:
The dct transform 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];
Offset module, it will be from result's value of adding k of second multiplier output, and 15 bits that move to right then to produce the 6th intermediary matrix, 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,
Wherein, determine first predetermined value according to the multiplier that uses in first multiplier, 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 second multiplier, and the value after multiplying each other with assurance can not overflowed,
Wherein, predetermined array S (i)=2
33/ v (i), wherein, i=0~5, if difference matrix is the 8x8 matrix, then array v (i) is: v (i)=[512x512,442x442,464x464,512x442,512x464,442x464], wherein, determine the value of v (i) according to the integer dct transform matrix that in the dct transform module, adopts
Wherein, determine predetermined value q[QP according to the quantization parameter QP that during conversion and convergent-divergent, adopts]=2
15/ 2
QP/8, QP is that integer and its scope are 0~63;
Wherein, N is the integer greater than 8.
7. encoder as claimed in claim 6, wherein, N is 10 or 12.
8. encoder as claimed in claim 7, if N is 10, then first predetermined value is that 7 and second predetermined value is 17.
9. encoder as claimed in claim 7, wherein, if N is 12, then first predetermined value is that 9 and second predetermined value is 15.
10. encoder as claimed in claim 6, wherein, first multiplier is carried out multiplication between second intermediary matrix and the array S (i) according to following rule, wherein, i=0~5:
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).
11. a 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, comprising:
First multiplier, the data that are used for quantizing multiply by the 3rd predetermined value r[QP with array multiplication], 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;
First inverse transform module is used for the 8th intermediary matrix be multiply by T, thereby generates the 9th intermediary matrix;
The 4th division module is used for described the 9th intermediary matrix divided by 3 and be rounded to nearest integer to generate the tenth intermediary matrix;
Second inverse transform module is used for the tenth intermediary matrix be multiply by T
TThereby, generate the 11 intermediary matrix;
The 5th division module is used for described the 11 intermediary matrix divided by 7 and be rounded to nearest integer generating the 12 intermediary matrix,
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, and T is an integer dct transform matrix;
Wherein, described bit-depth N is greater than 8.
12. decoder as claimed in claim 11, wherein, described bit-depth N is 10 or 12.
13. a 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, comprising:
The data that quantize be multiply by the 3rd predetermined value r[QP with array multiplication], 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;
The 8th intermediary matrix be multiply by T, thereby generate the 9th intermediary matrix;
With described the 9th intermediary matrix divided by 3 and be rounded to nearest integer to generate the tenth intermediary matrix;
The tenth intermediary matrix be multiply by T
TThereby, generate the 11 intermediary matrix;
With described the 11 intermediary matrix divided by 7 and be rounded to nearest integer generating the 12 intermediary matrix,
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, and T is an integer dct transform matrix; Wherein, described bit-depth N is greater than 8.
14. coding/decoding method as claimed in claim 13, 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 CN101083769A (en) | 2007-12-05 |
CN101083769B true 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) |
Families Citing this family (7)
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 |
KR101510108B1 (en) * | 2009-08-17 | 2015-04-10 | 삼성전자주식회사 | Method and apparatus for encoding video, and method and apparatus for decoding video |
EP2547108A4 (en) | 2010-04-13 | 2014-07-02 | 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 |
KR101366649B1 (en) | 2012-01-18 | 2014-03-10 | 한국전자통신연구원 | Image encoding and decoding method and apparatus |
ES2664693T3 (en) | 2012-04-16 | 2018-04-23 | Electronics And Telecommunications Research Institute | Method and device for encoding / decoding image |
CN111225206B (en) * | 2018-11-23 | 2021-10-26 | 华为技术有限公司 | Video decoding method and video decoder |
CN112114874B (en) * | 2020-08-20 | 2021-10-15 | 北京百度网讯科技有限公司 | Data processing method and device, electronic equipment and storage medium |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
CN1334682A (en) * | 1996-05-28 | 2002-02-06 | 松下电器产业株式会社 | Image predictive coding/decoding device and method and recording medium |
CN1703091A (en) * | 2004-05-27 | 2005-11-30 | 学校法人大洋学园 | Apparatus for scalable encoding/decoding of moving image and method thereof |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1334682A (en) * | 1996-05-28 | 2002-02-06 | 松下电器产业株式会社 | Image predictive coding/decoding device and method and recording medium |
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 |
CN1703091A (en) * | 2004-05-27 | 2005-11-30 | 学校法人大洋学园 | Apparatus for scalable encoding/decoding of moving image and method thereof |
Also Published As
Publication number | Publication date |
---|---|
KR101312632B1 (en) | 2013-10-04 |
KR20070115551A (en) | 2007-12-06 |
CN101083769A (en) | 2007-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106028040B (en) | Method and apparatus for being decoded to vision signal | |
TWI471013B (en) | Computational complexity and precision control in transform-based digital media codec | |
CN101083769B (en) | Coder/decoder and coding/decoding method for processing N bit video data | |
CN101083768B (en) | Coder for processing video data and coding method and decoder and decoding method | |
CN104255033B (en) | Reduced look-up-table for LM mode computations | |
JP2005507587A (en) | Spatial scalable compression | |
CN113766249B (en) | Loop filtering method, device, equipment and storage medium in video coding and decoding | |
US9414091B2 (en) | Video encoder with an integrated temporal filter | |
CN103782598A (en) | Fast encoding method for lossless coding | |
CN103650490B (en) | For the method and apparatus of motion compensated prediction | |
KR100270799B1 (en) | Dct/idct processor | |
US9667958B2 (en) | Image coding and decoding methods and apparatuses | |
JP2010098352A (en) | Image information encoder | |
CN105453566B (en) | Data encoding and data decoding | |
KR20130006578A (en) | Residual coding in compliance with a video standard using non-standardized vector quantization coder | |
JP2012147290A (en) | Image coding apparatus, image coding method, program, image decoding apparatus, image decoding method, and program | |
CN104581173A (en) | Soft decoding verification model platform | |
JP4559811B2 (en) | Information processing apparatus and information processing method | |
WO2023245460A1 (en) | Neural network codec with hybrid entropy model and flexible quantization | |
CN102333222A (en) | Two-dimensional discrete wavelet transform circuit and image compression method using same | |
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 | |
CN105227959A (en) | For odd encoder point shuffling flowing water method and the device thereof of Video coding | |
CN102238385A (en) | Encoder and/or vertical and/or horizontal cache device of decoder and method | |
Al-Jammas et al. | FPGA implementation of intra frame for H. 264/AVC based DC mode |
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 |