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 PDF

Info

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
Application number
CNA2006100924486A
Other languages
Chinese (zh)
Other versions
CN101083769B (en
Inventor
张志明
赵大星
金铉文
金大熙
崔雄一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Priority to CN2006100924486A priority Critical patent/CN101083769B/en
Priority to KR1020060077290A priority patent/KR101312632B1/en
Publication of CN101083769A publication Critical patent/CN101083769A/en
Application granted granted Critical
Publication of CN101083769B publication Critical patent/CN101083769B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/184Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/13Adaptive 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

Handle the coder/decoder and the coding/decoding method of N bit video data
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
q [ QP ] ≅ 2 ^ 15 / ( 2 ^ ( QP / 8 ) )
q [ QP ] * r [ QP ] ≅ 2 ^ ( 16 + n [ QP ] ) ,
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
q [ QP ] ≅ 2 ^ 15 / ( 2 ^ ( QP / 8 ) )
q [ QP ] * r [ QP ] ≅ 2 ^ ( 16 + n [ QP ] ) ,
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
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
abs ( x ) = x ; x > = 0 - x ; x < 0
sign ( x ) = 1 ; x > = 0 - 1 ; x < 0 ,
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 q [ QP ] &cong; 2 ^ 15 / ( 2 ^ ( QP / 8 ) ) 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}
· s [ i ] &cong; ( 2 ^ 33 ) / v ( i ) ( i = 0 ~ 5 )
· q [ QP ] &cong; 2 ^ 15 ( 2 ^ ( QP / 8 ) )
· q [ QP ] * r [ QP ] &cong; 2 ^ ( 16 + n [ QP ] )
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
Figure A20061009244800164
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.
Entropy decoder module 710 is decoded as quantized data G, control data and exercise data with the bit stream of input.Thereafter, entropy decoder module 710 sends to quantized data, control data and exercise data inverse transformation and Zoom module 712, decoder control module 711 and inter prediction module 716 respectively.
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.
Intra-framed prediction module 715 is carried out infra-frame prediction, inter prediction module 716 is carried out inter prediction, be also referred to as motion compensation, the reference frame of inter prediction module from preserve referrer module 717 is extracted from the corresponding predicted macroblock of motion vector, and the predicted macroblock of reference frame is carried out motion compensation with prediction of output data.
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
q [ QP ] &cong; 2 ^ 15 / ( 2 ^ ( QP / 8 ) )
q [ QP ] * r [ QP ] &cong; 2 ^ ( 16 + n [ QP ] ) ,
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
q [ QP ] &cong; 2 ^ 15 / ( 2 ^ ( QP / 8 ) )
q [ QP ] * r [ QP ] &cong; 2 ^ ( 16 + n [ QP ] ) ,
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.
CN2006100924486A 2006-06-02 2006-06-02 Coder/decoder and coding/decoding method for processing N bit video data Expired - Fee Related CN101083769B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (12)

* Cited by examiner, † Cited by third party
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