CN105025298B - The method and apparatus that image is encoded/decoded - Google Patents

The method and apparatus that image is encoded/decoded Download PDF

Info

Publication number
CN105025298B
CN105025298B CN201510445851.1A CN201510445851A CN105025298B CN 105025298 B CN105025298 B CN 105025298B CN 201510445851 A CN201510445851 A CN 201510445851A CN 105025298 B CN105025298 B CN 105025298B
Authority
CN
China
Prior art keywords
motion vector
coding unit
current block
information
prediction
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.)
Active
Application number
CN201510445851.1A
Other languages
Chinese (zh)
Other versions
CN105025298A (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 claimed from CN201180014824.9A external-priority patent/CN102835111B/en
Publication of CN105025298A publication Critical patent/CN105025298A/en
Application granted granted Critical
Publication of CN105025298B publication Critical patent/CN105025298B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/17Methods 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 an image region, e.g. an object
    • H04N19/176Methods 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 an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Abstract

The method and apparatus that a kind of pair of image encodes/decodes: the motion vector of current block is determined based on the motion vector of at least one block of coding/decoding before being encoded/decode in current block, according to determining motion vector, predictive coding/decoding is carried out based on first direction prediction, second direction prediction and bi-directional predicted a pair of current block.

Description

The method and apparatus that image is encoded/decoded
The application be to China Intellectual Property Office submit the applying date be on January 19th, 2011, application No. is 201180014824.9, entitled " use the motion vector of previous block as the motion vector of current block come to image into The divisional application of the application of the method and apparatus of row coding/decoding ".
Technical field
The present invention relates to a kind of methods and apparatus for encoding/decoding to image, more specifically to one kind Method and apparatus for being encoded/decoded based on inter-prediction to image.
Background technique
According to video compression standard, ((advanced video is compiled by such as MPEG-1, MPEG-2 and MPEG-4H.264/MPEG-4AVC Code)), image is encoded by dividing an image into the block of predefined size.Next, by using inter-prediction or frame Interior prediction to carry out predictive coding to the block of each predefined size.
For inter-prediction, movement is executed by search and the same or similar piece of current block at least one reference frame Estimation is encoded together with pixel value by executing the motion vector that estimation generates, and the result of coding is subsequently inserted Bit stream.
Summary of the invention
Technical solution
One or more aspects of the present invention provide a kind of image encoding method and equipment and picture decoding method and Equipment, and record have the computer of the program for executing described image coding method and/or described image coding/decoding method can Read record medium, wherein in described image coding method and equipment and picture decoding method and equipment, be based at least one The motion vector of previous block determines the motion vector of current block, and image encode based on determining motion vector/ Decoding.
Beneficial effect
According to the present invention, the motion vector of at least one previous block is used as the motion vector of current block to execute volume Code, to increase the hit rate of coding mode and the precision of prediction.Therefore, higher compression ratio can be used to carry out image Coding and decoding.
Detailed description of the invention
Fig. 1 is the block diagram of the image encoding apparatus of embodiment according to the present invention.
Fig. 2 is the block diagram of the image decoding apparatus of embodiment according to the present invention.
Fig. 3 shows the hierarchical coding unit of embodiment according to the present invention.
Fig. 4 is the block diagram of the image encoder based on coding unit of embodiment according to the present invention.
Fig. 5 is the block diagram of the image decoder based on coding unit of embodiment according to the present invention.
Fig. 6 shows maximum coding unit, sub- coding unit and the predicting unit of embodiment according to the present invention.
Fig. 7 shows the coding unit and converter unit of embodiment according to the present invention.
Fig. 8 a and Fig. 8 b show the division shape of the coding unit of embodiment according to the present invention, predicting unit and converter unit Shape.
Fig. 9 is the block diagram of image encoding apparatus according to another embodiment of the present invention.
Figure 10 be show embodiment according to the present invention to including side that the block in bidirectional predictive picture is predicted The diagram of method.
Figure 11 a and Figure 11 b are to show determining based on the motion vector of previous coding block for embodiment according to the present invention The diagram of the method for the motion vector of current block.
Figure 12 a and Figure 12 b are to show determining based on the motion vector of previous coding block for embodiment according to the present invention The diagram of the method for the motion vector of current block.
Figure 13 a and Figure 13 b are to show determining based on the motion vector of previous coding block for embodiment according to the present invention The diagram of the method for the motion vector of current block.
Figure 14 is the block diagram of image decoding apparatus according to another embodiment of the present invention.
Figure 15 is the flow chart for showing the image encoding method of embodiment according to the present invention.
Figure 16 is the flow chart for showing the picture decoding method of embodiment according to the present invention.
Optimal mode
According to an aspect of the present invention, provide it is a kind of based in current block by least one block decoded before decoding Motion vector is come the image solution that determines the motion vector of current block and be decoded based on determining motion vector to current block Code method, which comprises to about in a first direction, second direction and it is two-way in will be used to be decoded current block The information of prediction direction and the information of the pixel value about current block be decoded;Based on to the information about prediction direction It is being decoded as a result, determine the prediction direction that will be predicted of current block, determine for according to determining prediction direction to current At least one motion vector that block is predicted;Based at least one described motion vector and to the information progress about pixel value It is decoded as a result, restore current block.First direction is the direction from present image to prior images, and second direction is from current figure Direction as arriving subsequent image.
According to another aspect of the present invention, it provides a kind of based on at least one block encoded before current block is encoded Motion vector come the image that determines the motion vector of current block and encoded based on determining motion vector to current block Coding method, which comprises the first direction movement arrow of current block is determined based on the motion vector of at least one block Amount and second direction motion vector;Based on first direction motion vector and second direction motion vector, from first direction prediction, the The prediction technique that two direction predictions and bi-directional predicted middle determination will be used to encode current block;To about determining pre- The letter of the information of prediction direction used in survey method and the pixel value about the current block generated based on the prediction technique Breath is encoded.First direction is the direction from present image to prior images, and second direction is from present image to subsequent figure The direction of picture.
According to another aspect of the present invention, a kind of be based in current block by least one block decoded before decoding is provided Motion vector come the image that determines the motion vector of current block and be decoded based on determining motion vector to current block Decoding device, the equipment include: decoder, to about in a first direction, second direction and it is two-way in will be used for current The information for the prediction direction that block is decoded and the information of the pixel value about current block are decoded;Motion vector determines Device, based on to the information about prediction direction be decoded as a result, determine the prediction direction that will be predicted of current block, determine and use In at least one motion vector predicted according to determining prediction direction current block;Recovery unit, based on described at least One motion vector and to the information about pixel value be decoded as a result, restore current block.First direction is from current figure Direction as arriving prior images, second direction is the direction from present image to subsequent image.
According to another aspect of the present invention, it provides a kind of based on at least one block encoded before current block is encoded Motion vector come the image that determines the motion vector of current block and encoded based on determining motion vector to current block Encoding device, the equipment include: motion vector determiner, determine current block based on the motion vector of at least one block First direction motion vector and second direction motion vector;Encoder is moved based on first direction motion vector and second direction Vector, it is pre- by be used to encode current block from first direction prediction, second direction prediction and bi-directional predicted middle determination Survey method is produced to the information about the prediction direction used in determining prediction technique and about based on the prediction technique The information of the pixel value of raw current block is encoded.First direction is the direction from present image to prior images, second party To being direction from present image to subsequent image.
According to another aspect of the present invention, providing a kind of record has for executing described image coding method and/or institute State the computer readable recording medium of the program of picture decoding method.
Specific embodiment
Hereinafter, the exemplary embodiment that the present invention will be described in more detail with reference to the accompanying drawings.
Fig. 1 is the block diagram of the image encoding apparatus 100 of embodiment according to the present invention.
Referring to Fig.1, image encoding apparatus 100 includes maximum coding unit divide 110, coding depth determiner 120, figure As data encoder 130 and coding information encoder 140.
Maximum coding unit divide 110 can based on the maximum coding unit as the coding unit with largest amount come Present frame or slice are divided.That is, maximum coding unit divide 110 present frame or slice can be divided into A few maximum coding unit.
According to an embodiment of the invention, maximum coding unit and depth can be used to carry out presentation code unit.As described above, most Coding unit with largest amount in multiple coding units of big coding unit instruction present frame, depth indicate coding unit point The degree that layer reduces.As depth increases, coding unit is reduced to minimum coding unit from maximum coding unit, wherein maximum The depth of coding unit is defined as minimum-depth, and the depth of minimum coding unit is defined as depth capacity.Due to depth Degree increases, and the size of coding unit reduces since maximum coding unit, the sub- coding unit of kth depth may include multiple kth+ The sub- coding unit of n depth (k and n is equal to or the integer of size 1).
According to by the increase of the size for the frame being encoded, according to biggish coding unit to image carry out coding can lead to compared with High image compression ratio.However, the image of reflection consecutive variations possibly can not be passed through if biggish coding unit is fixed Feature effectively encodes image.
For example, coding unit is bigger when smooth region (such as ocean or sky) is encoded, compression ratio can be improved more Greatly.However, coding unit is smaller, and compression ratio can be improved bigger when complicated region (such as people or building) is encoded.
Therefore, according to an embodiment of the invention, for each frame or the different maximum image coding units of slice setting and not Same depth capacity.Due to the maximum times that depth capacity presentation code unit can reduce, it is single to be included in maximum image coding The size of each minimum coding unit in member can be set differently according to depth capacity.
Coding depth determiner 120 determines depth capacity.It is maximum deep to determine that the calculating of (RD) cost can be distorted based on rate Degree.Depth capacity can be differently determined for each frame or slice or for each maximum coding unit.Determining maximum is deep Degree is provided to coding information encoder 140, is provided to coded image data device according to the image data of maximum coding unit 130。
Depth capacity indicates to may include the coding unit with minimal size in maximum coding unit (that is, minimum volume Code unit).In other words, maximum coding unit can be divided into different size of sub- coding unit according to different depth (referring specifically to Fig. 8 a and Fig. 8 b).Including in maximum coding unit there is different size of sub- coding unit can be based on having Different size of processing unit is predicted or converts.Transformation can be discrete cosine transform (DCT) or Karhunen Loever becomes (KLT) is changed, in the transformation, the pixel value of spatial domain is transformed to frequency coefficient.
In other words, image encoding apparatus 100 can be executed based on having all size and processing unit of various shapes Multiple processing operations for image coding.In order to encode to image data, multiple processing operations (are such as predicted, are converted And entropy coding) be performed, wherein can be used for each operation has same size or different size of processing unit.
For example, image encoding apparatus 100 may be selected the processing unit different from coding unit come to the coding unit into Row prediction.
When the size of coding unit is 2N × 2N (wherein, N is positive integer), the processing unit for prediction can be 2N × 2N, 2N × N, N × 2N and N × N.It in other words, can be based on having at least one of the height of coding unit and width The processing unit of the shape of bisection executes motion prediction.Hereinafter, the processing unit on the basis as prediction is defined as " in advance Survey unit ".
Prediction mode can be at least one of frame mode, inter-frame mode and skip mode, can be only to specific The predicting unit of size or specific shape executes particular prediction mode.For example, can only be 2N to the size with square shape The predicting unit of × 2N and N × N executes frame mode.In addition, mould only can be skipped to the predicting unit execution that size is 2N × 2N Formula.If multiple predicting units are present in coding unit, after executing prediction to each predicting unit, may be selected to have The prediction mode of minimum coding error.
Selectively, image encoding apparatus 100 can be based on having with the different size of processing unit of coding unit to image Data execute transformation.It, can be based on size identical with coding unit or single less than coding for the transformation in coding unit The processing unit of the size of member executes transformation.Hereinafter, the processing unit on the basis as transformation is defined as " converter unit ".
Coding depth determiner 120 can be included in maximum volume by using optimizing based on the RD of Lagrange multiplier to determine Sub- coding unit in code unit.In other words, coding depth determiner 120 can determine from the multiple of maximum coding unit division Sub- coding unit have which kind of shape, wherein the multiple sub- coding unit according to the depth of the multiple sub- coding unit and With different size.Coded image data device 130 by based on by coding depth determiner 120 determine division shape to maximum Coding unit, which is encoded, carrys out output bit flow.
Coding information encoder 140 is to the coding mould about the maximum coding unit determined by coding depth determiner 120 The information of formula is encoded.In other words, coding information encoder 140 exports bit by being encoded to following information Stream: the information of the division shape about maximum coding unit, the information about depth capacity and the son coding about each depth The information of the coding mode of unit.The information of coding mode about sub- coding unit may include the prediction about sub- coding unit The information of unit, about each predicting unit prediction mode information and the converter unit about sub- coding unit information.
The information of division shape about maximum coding unit can be each whether divided letter of coding unit of instruction Breath, for example, flag information.For example, whether instruction maximum coding unit is drawn when maximum coding unit is divided and is encoded The information divided is encoded.In addition, indicating that son is compiled when the sub- coding unit divided from maximum coding unit is divided and is encoded The code whether divided information of unit is encoded.
Due to existing in each maximum coding unit with different size of sub- coding unit and being compiled for every height Code unit determines the information about coding mode, therefore can determine for a maximum coding unit about at least one coding mode Information.
Image encoding apparatus 100 can according to the increase of depth by by the height of maximum coding unit and width halve come Generate sub- coding unit.That is, when the size of the coding unit of kth depth is 2N × 2N, the coding of (k+1) depth The size of unit is N × N.
Therefore, image encoding apparatus 100 is it is contemplated that characteristics of image, size and depth capacity based on maximum coding unit, Optimal dividing shape is determined for each maximum coding unit.By considering that characteristics of image is variably adjusted maximum coding unit Size and the sub- coding unit by the way that maximum coding unit to be divided into different depth and, encodes image, has different points The image of resolution can be encoded more efficiently.
Fig. 2 is the block diagram of image decoding apparatus 200 according to the embodiment.
Referring to Fig. 2, image decoding apparatus 200 includes image data acquisition unit 210, coded information extractor 220 and figure As data decoder 230.
Image data acquisition unit 210 to being parsed by the received bit stream of image decoding apparatus 200 by obtaining Image data decoder 230 is output to according to the image data of maximum coding unit, and by image data.Image data acquisition list Member 210 can be extracted from present frame or the head of slice about present frame or the information of the maximum coding unit of slice.In other words, scheme As the division maximum coding unit of data capture unit 210, so that image data decoder 230 can be according to maximum coding unit to figure As data are decoded.
Coded information extractor 220 is by being parsed to by the received bit stream of image decoding apparatus 200 come from current The head of frame extracts the coding about maximum coding unit, depth capacity, the division shape of maximum coding unit and sub- coding unit The information of mode.The information of division shape about maximum coding unit and the information about coding mode are provided to picture number According to decoder 230.
The information of division shape about maximum coding unit may include about according to depth have different size and including The information of sub- coding unit in maximum coding unit.As described above, it is each to can be instruction about the information for dividing shape The whether divided information of coding unit, for example, flag information.Information about coding mode may include about according to sub- coding The information of the predicting unit of unit, the information about prediction mode and the information about converter unit.
Image data decoder 230 is by encoding each maximum based on the information extracted by coded information extractor 220 The image data of unit is decoded to restore present frame.
Image data decoder 230 can the information based on the division shape about maximum coding unit to being included in maximum volume Sub- coding unit in code unit is decoded.Decoding process may include prediction processing and inversion process, and prediction processing includes Intra prediction and motion compensation.
Image data decoder 230 can information based on the predicting unit about every sub- coding unit and about prediction mould The information of formula executes intra prediction or inter-prediction, to predict every sub- coding unit.Image data decoder 230 Can also the information based on the converter unit about sub- coding unit inverse transformation is executed to every sub- coding unit.
Fig. 3 shows the hierarchical coding unit of embodiment according to the present invention.
Referring to Fig. 3, hierarchical coding unit may include that width × height is 64 × 64,32 × 32,16 × 16,8 × 8 and 4 × 4 Coding unit.Other than these are with the coding unit of complete square shape, also may be present width × height be 64 × 32,32 × 64,32 × 16,16 × 32,16 × 8,8 × 16,8 × 4 and 4 × 8 coding unit.
It is 1920 × 1080 image data 310 for resolution ratio, the size of maximum coding unit is set referring to Fig. 3 It is 64 × 64, depth capacity is arranged to 2.
It is 1920 × 1080 image data 320 for resolution ratio, maximum coding unit is sized to 64 × 64, Depth capacity is arranged to 3.It is 352 × 288 image data 330 for resolution ratio, the size of maximum coding unit is set It is 16 × 16, depth capacity is arranged to 2.
When high resolution or big data volume, the largest amount of coding unit can be relatively large to improve compression ratio and essence Really reflect characteristics of image.It therefore, can for having the image data 310 and 320 than the higher resolution ratio of image data 330 Select 64 × 64 sizes as maximum coding unit.
Depth capacity indicates the total quantity of the layer in hierarchical coding unit.Since the depth capacity of image data 310 is 2, Therefore the coding unit 315 of image data 310 can according to the increase of depth and including long axis size be 64 maximum coding unit and Long axis size is 32 and 16 sub- coding unit.
On the other hand, since the depth capacity of image data 330 is 1, therefore the coding unit 335 of image data 330 can root According to the increase of depth including long axis size be 16 maximum coding unit and long axis size be 8 and 4 coding unit.
However, since the depth capacity of image data 320 is 3, therefore the coding unit 325 of image data 320 can be according to depth The increase of degree and including long axis size be 64 maximum coding unit and long axis size be 32,16,8 and 4 sub- coding unit. Since based on encoding with the increased smaller sub- coding unit of depth to image, embodiment is applicable to including more The image of fine scene is encoded.
Fig. 4 is the block diagram of the image encoder 400 based on coding unit of embodiment according to the present invention.
Intraprediction unit 410 executes intra prediction, estimation to the predicting unit of the frame mode in present frame 405 Device 420 and motion compensator 425 use present frame 405 and reference frame 495 to execute inter-prediction to the predicting unit of inter-frame mode And motion compensation.
It is generated based on the predicting unit exported from intraprediction unit 410, exercise estimator 420 and motion compensator 425 Residual values, the residual values of generation are outputted as the transformation coefficient of quantization by converter 430 and quantizer 440.
The transformation coefficient of quantization is recovered as residual values by inverse DCT 460 and inverse converter 470, and restore Residual values are outputted as reference frame 495 by going module unit 480 and loop filtering unit 490 to be post-treated.The transformation of quantization Coefficient can be outputted as bit stream 455 by entropy coder 450.
In order to which the image encoding method based on embodiment according to the present invention executes coding, the component of image encoder 400 (that is, intraprediction unit 410, exercise estimator 420, motion compensator 425, converter 430, quantizer 440, entropy coder 450, inverse DCT 460, inverse converter 470, remove module unit 480 and loop filtering unit 490) based on maximum coding unit, root Image coded treatment is executed according to sub- coding unit, predicting unit and the converter unit of depth.
Fig. 5 is the block diagram of the image decoder 500 based on coding unit of embodiment according to the present invention.
Referring to Fig. 5, bit stream 505 passes through resolver 510, so that the coded image data and decoding that will be decoded must The encoded information needed is resolved.Coded image data is outputted as inverse quantization by entropy decoder 520 and inverse DCT 530 Data, and residual values are recovered as by inverse converter 540.By according to coding unit by residual values and intraprediction unit 550 intra-prediction result or the motion compensated result phase Calais Cost fun ction value of motion compensator 560.The coding unit of recovery It is used for the prediction of next coding unit or next frame and removing module unit 570 and loop filtering unit 580.
In order to which the picture decoding method based on embodiment according to the present invention executes decoding, the component of image decoder 500 (that is, resolver 510, entropy decoder 520, inverse DCT 530, inverse converter 540, intraprediction unit 550, motion compensator 560, module unit 570 and loop filtering unit 580 are removed) based on maximum coding unit, the sub- coding unit according to depth, prediction list Member and converter unit are handled to execute image decoding.
Particularly, intraprediction unit 550 and motion compensator 560 by consider maximum coding unit and depth come according to Sub- coding unit determines predicting unit and prediction mode, and inverse converter 540 executes inversion by considering the size of converter unit It changes.
Fig. 6 shows maximum coding unit, sub- coding unit and the predicting unit of embodiment according to the present invention.
Image encoding apparatus 100 and image decoding apparatus shown in Figure 2 200 shown in Fig. 1 are by considering that image is special Sign is using hierarchical coding unit to execute coding and decoding.Maximum coding unit and depth capacity can be according to characteristics of image and by certainly Adaptively it is arranged, or is set differently according to the needs of users.
In Fig. 6, hierarchical coding unit structure 600 has height and width is 64 and depth capacity is 4 maximum volume Code unit 610.Depth increases along the vertical axis of hierarchical coding unit structure 600, and as depth increases, sub- coding unit 620 to 650 height and width reduces.Maximum coding unit 610 and the predicting unit of sub- coding unit 620 to 650 along point The trunnion axis of layer coding unit structure 600 is shown.
The depth of maximum coding unit 610 is 0, and coding unit size (that is, height and width) is 64 × 64.Depth along Vertical axis increases, and is 32 × 32 there are size and depth is 1 sub- coding unit 620, and size is 16 × 16 and depth is 2 Sub- coding unit 630, size be 8 × 8 and depth be 3 sub- coding unit 640 and size be 4 × 4 and depth be 4 Sub- coding unit 650.Size is 4 × 4 and depth be 4 sub- coding unit 650 is minimum coding unit.
Referring to Fig. 6, the example of predicting unit is shown according to each depth along trunnion axis.That is, depth is 0 Maximum coding unit 610 predicting unit can be size be equal to coding unit 610 (that is, 64 × 64) predicting unit, or Predicting unit 612, the size that there is person the size for the size for being less than the coding unit 610 that size is 64 × 64 to be 64 × 32 are 32 × 64 predicting unit 614 or size is 32 × 32 predicting unit 616.
Depth is 1 and size is that 32 × 32 predicting unit of coding unit 620 can be size equal to coding unit 620 The predicting unit of (that is, 32 × 32), or have the size for the size for being less than the coding unit 620 that size is 32 × 32 be 32 × 16 predicting unit 622, size be 16 × 32 predicting unit 624 or size be 16 × 16 predicting unit 626.
Depth is 2 and size is that 16 × 16 predicting unit of coding unit 630 can be size equal to coding unit 630 The predicting unit of (that is, 16 × 16), or have the size for the size for being less than the coding unit 630 that size is 16 × 16 be 16 × 8 predicting unit 632, size be 8 × 16 predicting unit 634 or size be 8 × 8 predicting unit 636.
Depth is 3 and size is that 8 × 8 predicting unit of coding unit 640 can be size equal to coding unit 640 The predicting unit of (that is, 8 × 8), or have be less than size be 8 × 8 coding unit 640 size size be 8 × 4 it is pre- Survey unit 642, size be 4 × 8 predicting unit 644 or size be 4 × 4 predicting unit 646.
Finally, depth is 4 and size be 4 × 4 coding unit 650 is the coding unit of depth capacity.Coding unit 650 Predicting unit can be size equal to predicting unit 650 size predicting unit.However, even if coding unit has maximum Depth, the size of coding unit do not need always equal to the size of the predicting unit of the coding unit yet.It is arrived with coding unit 610 640 is similar, can also by by coding unit 650 be divided into the sub- coding unit as predicting unit come to coding unit 650 into Row prediction.
Fig. 7 shows the coding unit and converter unit of embodiment according to the present invention.
Image encoding apparatus 100 and image decoding apparatus shown in Figure 2 200 shown in Fig. 1 are to maximum coding unit Itself or by respectively by maximum coding unit be divided into size equal to or less than maximum coding unit size at least one A sub- coding unit executes coding and decoding.In coding and decoding processing, transformation can be selected single in this way The size of member: the maximum compression rate regardless of coding unit and predicting unit.For example, referring to Fig. 7, when current coded unit 710 Size when being 64 × 64, usable size is that 32 × 32 converter unit 720 executes transformation.
Fig. 8 a and Fig. 8 b show the division shape of the coding unit of embodiment according to the present invention, predicting unit and converter unit Shape.
In Fig. 8 a, left diagram show that the image encoding apparatus 100 as shown in Fig. 1 selects for single to maximum coding The division shape that member 810 is encoded.Maximum coding unit 810 is divided into various shape by image encoding apparatus 100, executes volume Code, and by the way that the various coding results for dividing shape are compared to selection optimal dividing shape each other based on R-D cost.When It, as figures 8 a and 8 b show, can be to maximum coding unit 810 when carrying out encoding optimal to maximum coding unit 810 according to its original sample It is encoded without dividing maximum coding unit 810.
In the left diagram of Fig. 8 a, by being that 0 maximum coding unit 810 is divided into depth equal to or more than 1 by depth Sub- coding unit maximum coding unit 810 encoded.That is, maximum coding unit 810 is divided into 4 depths Degree is 1 sub- coding unit, and all or some depth are that 1 sub- coding unit is divided into the sub- coding unit that depth is 2.
Depth be 1 sub- coding unit in be located at upper right side sub- coding unit and sub- coding unit quilt positioned at lower left side It is divided into the sub- coding unit that depth is equal to or more than 2.Sub- coding unit of some depth equal to or more than 2 can be divided into depth Degree is equal to or more than 3 sub- coding unit.
In Fig. 8 a, right diagram shows the division shape of the predicting unit of maximum coding unit 810.
In right diagram in Fig. 8 a, the predicting unit 860 for maximum coding unit 810 can be from maximum coding unit 810 are differently divided.In other words, the predicting unit for every sub- coding unit is smaller than corresponding sub- coding unit.
For example, for depth be 1 sub- coding unit in be located at the predicting unit of sub- coding unit 854 of lower right side can be small In sub- coding unit 854.In addition, for depth be 2 sub- coding unit 814,816,818,828,850 and 852 in it is some The predicting unit of sub- coding unit 814,816,850 and 852 can be respectively smaller than sub- coding unit 814,816,850 and 852.
In addition, the predicting unit for depth to be 3 sub- coding unit 822,832 and 848 can be respectively smaller than sub- coding list Member 822,832 and 848.The shape that predicting unit can have each sub- coding unit to be bisected according to the direction of height or width With each sub- coding unit according to height or width direction by the shape of the quartering.
Fig. 8 b shows the predicting unit and converter unit of embodiment according to the present invention.
In figure 8b, left diagram shows the division shape for the predicting unit of maximum coding unit 810 shown in Fig. 8 a Shape, right diagram show the division shape of the converter unit of maximum coding unit 810.
In the right diagram of Fig. 8 b, the division shape of converter unit 870 can differently be set with predicting unit 860.
For example, even if being selected with shape that the height that depth is 1 coding unit 854 is bisected for coding unit 854 predicting unit can also select converter unit with identical with coding unit 854 size.Similarly, even if with depth It is the shape that is bisected of height of each of 2 coding unit 814 and 850 to select for coding unit 814 and 850 Predicting unit, can also select to convert with identical with the original size of each of coding unit 814 and 850 size Unit.
Converter unit can be selected to be less than the size of predicting unit.For example, when the coding unit 852 for depth being 2 The shape that is bisected of width come when selecting the predicting unit for coding unit 852, can be with coding unit 852 according to height The direction of degree and width selects converter unit by the shape of the quartering.
Fig. 9 is the block diagram of image encoding apparatus 900 according to another embodiment of the present invention.Referring to Fig. 9, image coding is set Standby 900 can be included in the image encoding apparatus 100 of Fig. 1 or the image encoder 400 of Fig. 4 to be based on inter-prediction to current Block is encoded.
Referring to Fig. 9, image encoding apparatus 900 includes motion vector determiner 910 and encoder 920.
In some coding modes, based on determining current block by the motion vector of at least one block of previous coding Motion vector encodes current block based on determining motion vector.The example of these coding modes is direct prediction mould Formula and skip mode.In direct prediction mode and skip mode, based on determining current block by the information of previous coding In addition motion vector, the motion vector of current block are encoded to the information about current block.
However, being generated and subtracting the prediction block generated using motion vector from current block in direct prediction mode Residual block be encoded as the information about pixel value, however, prediction block is considered as identical as current block in skip mode, The flag information that only instruction executes coding under skip mode is encoded as the information about pixel value.
Although direct prediction mode and skip mode are all based on the coding mode of inter-prediction, due to motion vector In addition it is not encoded, therefore compression ratio is high.However, in direct prediction mode and skip mode, due to by only according to specific Direction predicts current block to encode current block, therefore the hit rate and prediction of each mode in these modes Precision may be low.Therefore, when according to direct prediction mode or skip mode to including current in bidirectional predictive picture When block is encoded, image encoding apparatus 900 encodes current block by executing prediction according to various directions, this with Under will be described in.
Figure 10 be show embodiment according to the present invention to including side that the block in bidirectional predictive picture is predicted The diagram of method.
Referring to Fig.1 0, by referring to the prior images before present image 1000 and after the present image 1000 after At least one of continuous image 1030, to include current block 1010 in the present image 1000 as bidirectional predictive picture into Row predictive coding.It is corresponding with current block 1010 at least from the detection of at least one of prior images 1020 and subsequent image 1030 One block (for example, previously block 1022 and subsequent block 1032), then based on the block 1022 or 1032 of detection come to current block 1010 Carry out predictive coding.
In other words, if being first direction (direction L0) from present image 1000 to the direction of prior images 1020, Current block 1010 can be predicted based on the previous block 1022 detected from prior images 1020 according to first direction (hereinafter, Referred to as " first direction prediction ").Equally, if being second direction (L1 from present image 1000 to the direction of subsequent image 1030 Direction), then current block 1010 can be carried out based on the subsequent block 1032 detected from subsequent image 1030 according to second direction pre- It surveys (hereinafter referred to as " second direction prediction ").In addition, first direction prediction and second direction prediction can be executed to current block 1010 The two, that is, current block 1010 can be bi-directional predicted.
However, only when current block 1010 by it is bi-directional predicted when, can be performed prediction mode direct according to prior art.Change sentence It talks about, when carrying out predictive coding to current block 1010 based on first direction prediction or second direction prediction, current block 1010 is not It can be encoded under the direct prediction mode.Equally, only when current block 1010 by it is bi-directional predicted when, can be performed according to existing skill The skip mode of art.Under skip mode according to prior art, the movement arrow based on the previous block neighbouring with current block 1010 The motion vector of the determining current block 1010 of amount is the motion vector mv_L0 on first direction, predicts to generate according to first direction Prediction block be considered as identical as current block 1010, instruction according to skip mode execute coding flag information be encoded.
That is, according to the prior art, although can be to including that execute first direction pre- for block in bidirectional predictive picture Survey, second direction prediction and it is bi-directional predicted, but only when by specific direction execute prediction when, just can be used direct prediction mode and Skip mode.Therefore, the use of the direct prediction mode and skip mode that cause compression ratio to improve is restricted.
In order to solve this problem, according to the image encoding apparatus of present example 900 according to such image coding staff Method executes coding: the motion vector of current block 1010 is determined based on previous coding information, can according to various methods execute prediction and Motion vector need not be encoded.
Motion vector determiner 910 determine current block 1010 first direction motion vector and second direction motion vector with Execute first direction prediction, second direction is predicted and bi-directional predicted.Based on the previous coding before current block 1010 is encoded The motion vector of at least one block determine first direction motion vector and second direction motion vector.
It can be used and the method for motion vector is determined according to the prior art to determine first direction motion vector and second direction Motion vector.For example, may be used if encoded based on direct prediction mode to current block 1010 according to based on H.264/ The direct prediction mode of AVC determines the method for motion vector to determine motion vector, wherein under direct prediction mode, about The information of the motion vector of current block 1010 is not encoded, and is encoded about the information of residual block.If being based on skip mode Current block 1010 is encoded, may be used according to based on skip mode H.264/AVC determine the method for motion vector come Determine motion vector, wherein under skip mode, the information about motion vector and the information about residual block are encoded.
Time direct prediction mode can be divided into based on direct prediction mode H.264/AVC and mould is directly predicted in space Formula.Therefore, motion vector determiner 910 can be transported by using being determined under based on time direct prediction mode H.264/AVC The method of dynamic vector or by using under based on the direct prediction mode in space H.264/AVC determine motion vector method come Determine first direction motion vector and second direction motion vector.These sides are described in detail now with reference to Figure 11 a and Figure 11 b Method.
Figure 11 a is to show the motion vector based on previous coding block of embodiment according to the present invention to determine the fortune of current block The diagram of the method for dynamic vector.
1a referring to Fig.1, when based on time direct prediction mode to include current block 1010 in present image 1110 into When row coding, the motion vector mv_colA of subsequent block 1120 can be used to generate the motion vector of current block 1010, wherein after Continuous block 1120 is included in the subsequent image 1114 after present image 1110, and with 1010 juxtaposition of current block.
In other words, if subsequent image 1114 is anchor (anchor) image, it may be used and be included in anchor image 1114 The motion vector mv_colA of subsequent block 1120 determine the first direction motion vector mv_L0A and second party of current block 1010 To motion vector mv_L1A.It can be by based on present image 1110 and between the prior images 1112 before present image 1110 Time gap and anchor image 1114 and prior images 1112 between time gap to the motion vector mv_ of subsequent block 1120 ColA zooms in and out (scale), to determine the first direction motion vector mv_L0A and second direction movement arrow of current block 1010 Measure mv_L1A.
For example, if the motion vector mv_colA of subsequent block 1120 is directed to 1122 quilt of block detected from prior images 1112 It generates, following equation may be used to generate the first direction motion vector mv_L0A of current block 1110 and second direction movement arrow Measure mv_L1A:
Mv_L0A=(t1/t2) × mv_colA
Mv_L1A=mv_L0A-mv_colA,
Wherein, " mv_L0A " and " mv_L1A " respectively indicates the first direction motion vector and second direction of current block 1010 Motion vector.
Figure 11 b is that the motion vector based on previous coding block shown according to another embodiment of the present invention determines current block Motion vector method diagram.
1b referring to Fig.1, can be based on motion vector mv_A, mv_ of the block 1130,1132 and 1134 neighbouring with current block 1100 B and mv_C determines the first direction motion vector and second direction motion vector of current block 1010.It can be based on positioned at current block The motion vector of the block in 1010 left side, upside and most upper right side determines the first direction motion vector and of current block 1010 Two direction motion vectors.
When being encoded according to the direct prediction mode in space to current block 1010, motion vector mv_A, mv_B and mv_C In at least one first direction motion vector between intermediate value be confirmed as the first direction motion vector of current block 1010, fortune The intermediate value between at least one second direction motion vector in dynamic vector mv_A, mv_B and mv_C is confirmed as current block 1010 Second direction motion vector.Described in being calculated by setting " 0 " at least one described second direction motion vector at least Intermediate value between one first direction motion vector, to determine first direction motion vector, by will it is described at least one first Direction motion vector is set as " 0 " to calculate the intermediate value between at least one second direction motion vector, to determine second direction Motion vector.
It is corresponding to minimum first direction reference key in the reference picture determined by motion vector mv_A, mv_B and mv_C Image be confirmed as first direction reference picture, in the reference picture determined by motion vector mv_A, mv_B and mv_C with The minimum corresponding image of second direction reference key is confirmed as second direction reference picture.
When being encoded according to skip mode to current block 1010, as shown in figure 11b, the neighbouring block with current block 1010 1130, between at least one first direction motion vector in 1132 and 1134 motion vector mv_A, mv_B and mv_C Value can be confirmed as the motion vector of current block 1010.
If movement arrow of the image encoding apparatus 900 of Fig. 9 determined current block above by reference to as described in Figure 11 a or Figure 11 b It measures and current block is encoded, then decoding end above by reference to as described in Figure 11 a or Figure 11 b determined the motion vector of current block simultaneously Restore present image.In other words, image coding side and image decoding end can impliedly share identical determining motion vector Method, and determine according to shared method the motion vector of current block.
However, according to another embodiment of the present invention, image coding side can be based on encoding before current block is encoded The motion vectors of multiple previous blocks generates multiple motion vector candidates, current in the multiple motion vector candidates to specifying The information of the motion vector of block is clearly encoded, and the result of coding is inserted into bit stream.In this case, image solution Code end can determine the motion vector of current block based on the result of the coding of insertion bit stream.Come now with reference to Figure 12 a and Figure 12 b Such method is described.
Figure 12 a and Figure 12 b be show embodiment according to the present invention based on previous coding block motion vector determination work as The diagram of the method for preceding piece of motion vector.
The motion vector determiner 910 of 2a referring to Fig.1, Fig. 9 can be based on the movements of the previous coding block neighbouring with current block Vector generates multiple motion vector candidates.The multiple motion vector candidates can be in the block neighbouring with the upside of current block Leftmost side block a0Motion vector, the top side block b neighbouring with the left side of current block0Motion vector, with the upper right of current block The motion vector of the neighbouring block c in side, the motion vector of the block d neighbouring with the upper left side of current block and the lower right side with current block The motion vector of neighbouring block e.
Leftmost side block a0, top side block b0, block c and block d motion vector in one of first direction motion vector can be true It is set to the first direction motion vector of current block.Leftmost side block a0, top side block b0, block c and block d motion vector in second One of direction motion vector can be confirmed as the second direction motion vector of current block.For example, if leftmost side block a0, top side Block b0, leftmost side block a in block c and block d0With top side block b0Motion vector be first direction motion vector, then leftmost side block a0With top side block b0One of motion vector can be confirmed as the first direction motion vector of current block, the movement of block c and block d One of vector can be confirmed as the second direction motion vector of current block.
Various methods can be used for the motion vector that one of the multiple motion vector candidates are determined as to current block, but Be that can usually select the motion vector of current block along these lines: current block can be based on motion vector by more accurately Prediction.If when with the leftmost side block a for first direction motion vector0With top side block b0Motion vector in using most left Lateral mass a0Motion vector when current block more accurately predicted, then leftmost side block a0Motion vector can be confirmed as current block First direction motion vector.Can be subtracted from current block by respectively using the motion vector of the multiple motion vector candidates come To generate residual block, the absolute value of each of described residual block and (SAD) can quilts for prediction current block and the prediction block that obtains It calculates, then, the motion vector in the multiple motion vector candidates with minimum SAD can be confirmed as the movement of current block Vector.
2b referring to Fig.1, all piece of the motion vector neighbouring with current block are used as multiple motion vector candidates.Change sentence It talks about, not only the block neighbouring with the upside of current block (including leftmost side block a0) motion vector, and the left side with current block Neighbouring block (including top side block b0) motion vector be all used as the multiple motion vector candidates.
Such as the first party above by reference to as described in Figure 12 b, in all pieces of multiple motion vector candidates neighbouring with current block To one of one of motion vector and second direction motion vector can be confirmed as respectively current block first direction motion vector and Second direction motion vector.
Therefore, 1a, Figure 11 b, Figure 12 a and Figure 12 b referring to Fig.1, motion vector determiner 910 can be by using following equation One of multiple motion vector candidates are determined as to the motion vector of current block:
C=median (mv_a0, mv_b0, mv_c), mv_a0, mv_a1..., mv_aN, mv_b0, mv_b1 ..., mv_ BN, mv_c, mv_d, mv_e, mv_L0A, mv_L1A },
Wherein, " mv_L0A " and " mv_L1A " can indicate the motion vector obtained according to the method for Figure 11 a, " median (mv_a0, mv_b0, mv_c) " can indicate the motion vector obtained according to the method for Figure 11 b.Such as above by reference to Figure 12 a and Figure 12 b Describe other motion vectors.
Can from include C described above concentrate first direction motion vector determine current block first direction movement arrow Amount, can be from including determining the second direction motion vector of current block in the second direction motion vector that C is concentrated.
According to another embodiment of the present invention, the total quantity of motion vector candidates can be confirmed as small, and current block Motion vector can be determined from motion vector candidates based on following equation:
C={ median (mv_a', mv_b', mv_c'), mv_a', mv_b', mv_c', mv_L0A, mv_L1A },
Wherein, " mv_x " indicates the motion vector of block x, and " median () " indicates intermediate value, and " mv_a " indicates motion vector mv_ A0, mv_a1 ..., the first efficient motion-vector in mv_aN.For example, if encoded using inter-prediction to block a0, The motion vector mv_a0 of block a0 is invalid, therefore mv_a'=mv_a1.Motion vector mv_a1 such as fruit block a1 is also invalid, then mv_ A'=mv_a2.
Equally, " mv_b " indicate motion vector mv_b0, mv_b1 ..., the first efficient motion-vector in mv_bN, " mv_ C " indicate motion vector mv_c, mv_d ..., the first efficient motion-vector in mv_e.
" mv_L0A " and " mv_L1A " can indicate the motion vector obtained according to the method for Figure 11 a.It is according to the present invention another One embodiment is replaced in motion vector mv_L0A and mv_L1A, is sweared using the movement that the time gap between adjacent image generates Amount is used as motion vector candidates.The embodiment will be described in detail by 3a and Figure 13 b referring to Fig.1.
Figure 13 a and Figure 13 b be show embodiment according to the present invention based on previous coding block motion vector determination work as The diagram of the method for preceding piece of motion vector.
3a referring to Fig.1, the motion vector candidates based on time gap can directly predict mould with the time according to prior art Formula is differently determined.
Motion vector candidates including the current block 1010 in present image 1110 can be produced from the motion vector of block 1320 It is raw, wherein block 1320 include in the prior images 1112 before present image 1110 and with 1010 juxtaposition of current block.For example, If the motion vector mv_colB with 1010 juxtaposed pieces 1320 of current block is directed to 1322 quilt of block detected from subsequent image 1114 It generates, following equation may be used to generate the motion vector candidates mv_L0B and mv_L1B of current block 1010:
Mv_L1B=(t3/t4) × mv_colB
Mv_L0B=mv_L1B-mv_colB,
Wherein, " mv_L0B " indicates the first direction motion vector candidates of current block 1010, and " mv_L1B " indicates current block 1010 second direction motion vector candidates.
The motion vector mv_colC of block 1330 can be used to determine including working as in present image 1110 for 3b referring to Fig.1 Preceding piece 1010 of motion vector candidates mv_L0C, wherein block 1330 is included in prior images 1112, and simultaneously with current block 1010 It sets.For example, being detected when the motion vector mv_colC with 1010 juxtaposed pieces 1330 of current block is directed to from another prior images 1116 Block 1332 when being generated, following equation can be used to generate the motion vector candidates mv_L0C of current block 1010:
Mv_L0C=(t6/t5) × mv_colC.
It can be included in above by reference to Figure 13 a and Figure 13 b the motion vector candidates mv_L0B and mv_L1B described above-mentioned The above-mentioned C of the motion vector candidates of current block 1010 is concentrated.That is, being replaced in motion vector candidates mv_L0A and mv_ L1A, motion vector candidates mv_L0B and mv_L1B can be included in C concentration or motion vector candidates mv_L0B and mv_L1B C concentration can be additionally included in.
Referring back to Fig. 9, if motion vector determiner 910 determines current block based on the motion vector of previous coding block Motion vector, then encoder 920 encodes the information about current block.
If the first direction motion vector and second direction motion vector of current block are determined, encoder 920 is based on First direction motion vector and second direction motion vector execute first direction prediction, second direction prediction and bi-directional predicted. Then, the prediction direction that current block can most be calculated to a nicety is determined.By executing first direction prediction, second direction prediction It can be compared with current block with prediction block that is bi-directional predicted and obtaining, the direction that can produce the residual block with minimum SAD can It is confirmed as prediction direction.Otherwise, it can be predicted by the prediction of execution first direction, second direction and bi-directional predicted, to execution As a result it carries out encoding and mutually comparing based on result of the RD cost to coding, to determine prediction direction.
After prediction direction is determined, the information about prediction direction and the information about pixel value are encoded.About The information of prediction direction can be encoded as sequential parameter, slice parameter or block parameter.Predetermined binary number can be assigned to first Direction, second direction and two-way, binary number corresponding with the prediction direction that current block is encoded can be coded by entropy, and subsequent entropy is compiled The result of code can be inserted into bit stream.
As the information about pixel value, the information (for example, direct prediction mode) about residual block can be attached ground Coding.Residual error can be obtained by from current block subtracting the prediction block generated and executing prediction according to determining prediction direction Block can generate frequency coefficient by executing transformation to residual block, and then, frequency coefficient can be quantized and entropy coding.The change It changes and can be dct transform or KLT transformation.
In addition, as the information about pixel value, skip mode and indication predicting block according only to the prior art and The identical flag information of current block can be encoded.That is, due to being obtained and executing prediction according to determining prediction direction The prediction block obtained is considered as identical as current block, therefore can only encode to skip mode and flag information.
The reference picture for predicting current block can be inferred based on the reference key of previous coding block.Above with reference to figure Described in 11b, can be determined based on the reference key of previous coding block current block reference key and reference corresponding with current block Image.In addition, reference picture corresponding with the motion vector determined by motion vector determiner 910 can be confirmed as current block Reference picture.For example, above by reference to as described in Figure 11 a, if motion vector mv_L0A is confirmed as the first direction of current block Motion vector can then be automatically determined the reference picture for current block according to the prior images 1112 of motion vector mv_L0A.
If motion vector determiner 910 above by reference to as described in Figure 12 a, Figure 12 b, Figure 13 a and Figure 13 b in multiple movements First direction motion vector and second direction motion vector are clearly determined in vectors candidates, then encoder 920 can be to instruction the The information of at least one of one direction motion vector and second direction motion vector is encoded.
If prediction direction is confirmed as first direction, the only first direction in the multiple motion vector candidates is indicated The information of motion vector is encoded.If prediction direction is confirmed as second direction, second direction motion vector is only indicated Information can be encoded.However, being indicated in the multiple motion vector candidates if prediction direction is confirmed as two-way execution The information of first direction motion vector and second direction motion vector can be encoded.
Binary number can be individually allocated to including all motion vectors in above-mentioned C concentration, distributed to and be confirmed as The first direction motion vector of the motion vector of current block and/or the binary number of second direction motion vector can be encoded.So And since one of C as described above first direction motion vector concentrated is confirmed as the first direction motion vector of current block, because This distributes to the first direction motion vector for distributing to current block in the binary number of the first direction motion vector of C concentration Binary number can be encoded as the information of instruction first direction motion vector.Equally, the second direction movement arrow of C concentration is distributed to The binary number of the second direction motion vector for distributing to current block in the binary number of amount can be encoded as instruction second party To the information of motion vector.
Figure 14 is the block diagram of image decoding apparatus 1400 according to another embodiment of the present invention.Image decoding apparatus 1400 Can be included in the image decoding apparatus 200 of Fig. 2 or the image decoding apparatus 500 of Fig. 5, and can by execute inter-prediction come Current block is decoded.
Referring to Fig.1 4, image decoding apparatus 1400 includes decoder 1410, motion vector determiner 1420 and recovery unit 1430.
Decoder 1410 receives the bit stream comprising the data about current block, and the prediction to being predicted about current block The information in direction is decoded.Image decoding apparatus 1400 based on current block by before decoding by least the one of early decoding The motion vector of a block determines the motion vector of current block, and based on determining under the decoding mode for restoring current block Motion vector is decoded current block.Therefore, it is actually determined in the motion vector of current block to about prediction direction Information is decoded.Information about prediction direction can be for example including in the bitstream sequential parameter, slice parameter or Block parameter.
In the coding/decoding mode (example for the motion vector for determining current block based on previous coding/decoding block motion vector Such as, direct prediction mode or skip mode) under, be based only upon the prediction that executes according to specific direction come current block encode/ Decoding.However, in the coding/decoding direction of embodiment according to the present invention, can based on according to first direction, second direction and Two-way execution prediction as a result, being encoded/decoded under direct prediction mode or skip mode to current block.For this purpose, Fig. 9 Image encoding apparatus 900 encodes the information about prediction direction, and the result of coding is inserted into bit stream.Decoder 1410 The information about prediction direction for being inserted into bit stream by using image encoding apparatus 900 is decoded.
Decoder 1410 can information to the motion vector for indicating the current block in multiple motion vector candidates and about The information of prediction direction is decoded together.Movement is determined based on what is shared between coding side and decoding end if as discussed above The method of vector implicitly determines the motion vector of current block, then not according to the motion vector of shared method and instruction current block Decoded information is needed to determine the sum of a motion vector of current block.However, multiple previous volumes ought be based on as described above The motion vector of code block generates multiple motion vector candidates and determines the fortune of current block from the multiple motion vector candidates When dynamic vector, indicate that the information of the motion vector of the current block in the multiple motion vector candidates can be decoded.
In addition, decoder 1410 is decoded the information of the pixel value about current block.In this case, about working as The information or instruction current block flag information identical with prediction block of preceding piece of residual block are decoded.Decoder 1410 can by pair Information about residual block carries out entropy decoding, inverse quantization or inverse transformation and carrys out Cost fun ction block.
Motion vector determiner 1420 is based on being decoded the information about prediction direction by using decoder 1410 Result determine the motion vector of current block, to predict current block according to predetermined direction.If true based on decoded result Fixed to execute prediction according to first direction, then first direction motion vector is confirmed as the motion vector of current block.If based on solution The result of code, which is determined, executes prediction according to second direction, then second direction motion vector is confirmed as the motion vector of current block. If based on decoded result determine it is two-way execute prediction, first direction motion vector and second direction motion vector are determined For the motion vector of current block.
When will implicitly determine current block according to the method for the determination motion vector shared between coding side and decoding end When motion vector, the motion vector of current block is determined according to shared method.The party is described above by reference to Figure 11 a and Figure 11 b Method.
However, when by the motion vector for determining current block from multiple motion vector candidates, it is the multiple based on indicating The information of the motion vector by the decoded current block of decoder 1410 in motion vector candidates come determine current block movement arrow Amount.It is waited using the multiple motion vector is generated by the motion vector of at least one block decoded before decoding in current block It selects, and determines the motion vector of current block from the multiple motion vector candidates.
If only predicting current block according to first direction, it is based on transporting using the decoded instruction first direction of decoder 1410 The information of dynamic vector determines first direction motion vector from the multiple motion vector candidates.If only pre- according to second direction Current block is surveyed, then based on the information for using the decoded instruction second direction motion vector of decoder 1410, from the multiple movement Vectors candidates determine second direction motion vector.If current block is bi-directional predicted, based on decoded using decoder 1410 The information of first direction motion vector and the information of instruction second direction motion vector are indicated, so that the multiple motion vector is waited It selects and determines first direction motion vector and second direction motion vector.
Recovery unit 1430 based on use decoder 1410 decoded about pixel value information and use motion vector The motion vector for the current block that determiner 1420 determines restores current block.
By according to the motion vector for using motion vector determiner 1420 to determine according to first direction, second direction or double Prediction block is generated to prediction current block.If be decoded by using decoder 1410 to the information about pixel value next extensive Multiple residual block, the then residual block restored are combined with prediction block to restore current block.If decoder 1410 to indication predicting block with The identical flag information of current block is decoded, then prediction block can be used directly as the current block restored.
The reference picture for predicting current block can be referred to based on the reference key of early decoding block.Above with reference to figure Described in 11b, the reference key of current block can be determined based on the reference key of early decoding block and corresponding with current block is referred to Image.In addition, reference picture corresponding with the motion vector determined by motion vector determiner 1420 can be confirmed as currently The reference picture of block.For example, above with reference to as described in Figure 11 a, if motion vector mv_L0A is confirmed as the first of current block Direction motion vector can then be automatically determined as current block according to the prior images 1112 of motion vector mv_L0A with reference to figure Picture.
Figure 15 is the flow chart for showing the image encoding method of embodiment according to the present invention.
Referring to Fig.1 5, in operation 1510, image encoding apparatus determines the motion vector of current block.For example, in operation 1510, Including being determined by the first direction motion vector of bi-directional predicted current block and second direction motion vector in current picture. It, can be according to the method for the determination motion vector shared between coding side and decoding end above by reference to as described in Figure 11 a and Figure 11 b Implicitly to determine the motion vector of current block.In addition, being generated above by reference to as described in Figure 12 a, Figure 12 b, Figure 13 a and Figure 13 b Multiple motion vector candidates, and first direction motion vector and second direction fortune can be determined from the multiple motion vector candidates Dynamic vector.
In operation 1520, image encoding apparatus is predicted from first direction, second direction prediction and bi-directional predicted middle determination are pre- Survey method is to encode current block.From using the first direction of first direction motion vector to predict, second direction used to transport The second direction of dynamic vector is predicted and using the bi-directional predicted of both first direction motion vector and second direction motion vector To determine prediction technique to encode to current block.
First direction prediction, second direction are predicted and more accurately predict that the prediction technique of current block can quilt in bi-directional predicted For being encoded to current block.As described above, obtain the minimum SAD between prediction block and current block prediction technique can by with It is encoded in current block.
In operation 1530, image encoding apparatus is to the prediction direction used in the prediction technique determined in operation 1520 Information encoded.Binary number can be individually allocated to first direction, second direction and two-way, distribute to for current The binary number for the prediction direction that block is encoded can be encoded.Can according to predetermined entropy coding method to the binary number of coding into Row entropy coding.Information about prediction direction can be encoded as sequential parameter, slice parameter or block parameter.
Also the information of the pixel value about current block is encoded.It in this case, can be to about by from current The information of the residual values of residual block that block subtracts prediction block and obtains is encoded.Residual block can be transformed, quantify and entropy coding. In addition, as described above, can only be encoded to indication predicting block flag information identical with current block.
The information for defining the motion vector in multiple motion vector candidates for being encoded to current block can also be carried out Coding.If generating the multiple movement based on the motion vector of at least one block encoded before current block is encoded to swear Amount is candidate, and one of the multiple motion vector candidates are selected and be used as the motion vector of current block, then indicate to select The information of motion vector can be encoded.It, can be only right if being confirmed as prediction technique operating the prediction of 1520 first directions Information about first direction motion vector is encoded.If being confirmed as prediction side operating the prediction of 1520 second directions Method then can only encode the information about second direction motion vector.If bi-directional predicted be confirmed as in operation 1520 Prediction technique then only encodes the information about both first direction motion vector and second direction motion vector.
Figure 16 is the flow chart for showing the picture decoding method of embodiment according to the present invention.
Referring to Fig.1 6, in operation 1610, image decoding apparatus to about first direction, second direction and it is two-way in will by with It is decoded in the information for the prediction direction being decoded to current block.It in this case, can be to including in the bitstream Information about prediction direction is decoded.It can be to being respectively allocated in first direction, second direction and two-way binary number The binary number for distributing to prediction direction is decoded.It can be decoded as including the information about prediction direction in the bitstream Sequential parameter, slice parameter or block parameter.
In operation 1610, image decoding apparatus also encodes the information of the pixel value about current block.Can to about The information of the residual values of the residual block of current block is encoded.Can to about residual block information carry out entropy decoding, inverse quantization and Inverse transformation is with Cost fun ction block.In addition, can be decoded to instruction current block information identical with prediction block.
It, can be the multiple to defining when determining the motion vector of current block from multiple motion vector candidates as described above The information by the motion vector that be used to be decoded current block in motion vector candidates is decoded.If to about pre- The prediction direction as the result is shown that the information in survey direction is decoded is first direction, then can wait to the multiple motion vector is indicated The information of the first direction motion vector for the current block chosen is decoded.If be decoded to the information about prediction direction Prediction direction as the result is shown be second direction, then can be to the second party for indicating the current block in the multiple motion vector candidates It is decoded to the information of motion vector.If being to the prediction direction as the result is shown that the information about prediction direction is decoded It is two-way, then to the information for indicating the first direction motion vector in the multiple motion vector candidates and it can indicate the multiple fortune The information of second direction motion vector in dynamic vector candidate is decoded.
In operation 1620, image decoding apparatus is worked as based in the 1610 decoded information about prediction direction of operation to determine The preceding piece of prediction direction that will be predicted.The prediction that current block will be predicted is determined based on binary number corresponding with prediction direction Direction, wherein the information of prediction direction is decoded in operation 1610.If the prediction direction being predicted is determined by current block, Then for being determined according at least one motion vector of determining prediction direction prediction current block.
As described above, can be according to the method for the determination motion vector shared between coding side and decoding end come implicitly true Determine the motion vector of current block.If explicitly selecting the motion vector of current block from multiple motion vector candidates, it is based on The multiple motion vector candidates are generated by least one block motion vector decoded before decoding in current block, and from described The motion vector of current block is determined in multiple motion vector candidates.It can be based in the decoded the multiple movement of instruction of operation 1610 The information of the motion vector of current block in vectors candidates determines the motion vector of current block.It can be based in the decoding of operation 1610 Information determine at least one of first direction motion vector and second direction motion vector.
In operation 1630, image decoding apparatus restores current block.Based on the movement arrow of the current block determined in operation 1620 The prediction block to determine current block is measured, current block is restored based on prediction block.
It can be executed by what is determined in operation 1620 based on first direction motion vector and/or second direction motion vector First direction prediction, second direction prediction and one of bi-directional predicted, generate the prediction block of current block.
If be resumed operating 1610 residual blocks, prediction block is combined with the residual block of recovery to restore current block.Such as Fruit indication predicting block information identical with current block is decoded, then prediction block is used as current block.
Although the present invention is particularly shown and described referring to exemplary embodiment of the present invention and attached drawing, this field it is general It is logical the skilled person will understand that, these exemplary embodiments can be changed without departing from the principles and spirit of the present invention Become, the scope of the present invention is defined in claim and its equivalent.In addition, the system of embodiment according to the present invention can quilt The computer-readable code being embodied as in computer readable recording medium.
For example, the image encoding apparatus of an exemplary embodiment of the present invention, image decoding apparatus, motion vector encoder Equipment, motion vector decoder equipment may include and each unit of the equipment shown in Fig. 1, Fig. 2, Fig. 4, Fig. 5, Fig. 9 and Figure 14 The bus of connection and at least one processor being connect with bus.Each of described equipment may also include memory, deposit Reservoir is connect with the message of store command, received message or generation with bus, and with for executing described in aforesaid operations extremely Few processor connection.
Computer readable recording medium can be the recording equipment of any data that can be stored and be read by computer system, For example, read-only memory (ROM), random access memory (RAM), compact disk (CD)-ROM, tape, floppy disk, optical data storage Device etc..Computer readable recording medium can be distributed on by the way that in the inline computer system of network, the present invention can be stored With the computer-readable code being embodied as in distributed system.

Claims (4)

1. a kind of picture decoding method, comprising:
Divide an image into multiple maximum coding units;
The maximum coding unit layering among the multiple maximum coding unit is drawn based on the division information obtained from bit stream It is divided at least one coding unit;
Predicting unit is determined in the coding unit of current depth among at least one described coding unit;
Obtain the information about the prediction direction that will be used to predict predicting unit, wherein described in prediction direction Information indicates the direction L0, the direction L1 and one of two-way;
Based on the operation vector of at least one block decoded before being decoded to predicting unit, the fortune of predicting unit is determined Dynamic vector is candidate;
According to the information about prediction direction, based on the motion vector on the direction L0 among determining motion vector candidates At least one motion vector candidates in motion vector candidates on the candidate and direction L1 determine at least one fortune of predicting unit Dynamic vector,
Wherein, by the division information based on the coding unit for greater depths, independently of neighbouring coding unit to higher The coding unit of depth is divided, to determine the coding unit of current depth from the coding unit of greater depths,
Wherein, the coding unit of current depth is square data cell.
2. the method for claim 1, wherein obtaining about the prediction direction that will be used to be decoded predicting unit The step of information include: by executing entropy decoding to bit stream, obtain with the direction LO, the direction L1 and one of two-way corresponding two into Number processed.
3. the step of the method for claim 1, wherein determining at least one motion vector of predicting unit includes: base In the information from least one motion vector candidates in the determining motion vector candidates of the instruction that bit stream obtains, prediction is determined At least one described motion vector of unit.
4. the step of the method for claim 1, wherein determining at least one motion vector of predicting unit includes:
When the information about prediction direction indicates the direction L0, pass through the letter to the motion vector candidates on the instruction direction LO Breath is decoded, at least one motion vector described in predicting unit is determined among motion vector candidates;
When the information about prediction direction indicates the direction L1, pass through the letter to the motion vector candidates on the instruction direction L1 Breath is decoded, at least one motion vector described in predicting unit is determined among motion vector candidates;
When the information instruction about prediction direction is two-way, by the direction LO among instruction motion vector candidates The information of the information of motion vector candidates and the motion vector candidates on the direction L1 among instruction motion vector candidates carries out Decoding, determines at least one described motion vector of predicting unit.
CN201510445851.1A 2010-01-19 2011-01-19 The method and apparatus that image is encoded/decoded Active CN105025298B (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US29614110P 2010-01-19 2010-01-19
US61/296,141 2010-01-19
KR1020110005377A KR101607308B1 (en) 2010-01-19 2011-01-19 Method and apparatus for encoding/decoding image by using motion vector of previous block as motion vector of current block
CN201180014824.9A CN102835111B (en) 2010-01-19 2011-01-19 The motion vector of previous block is used as the motion vector of current block, image to be carried out to the method and apparatus of coding/decoding
KR10-2011-0005377 2011-01-19

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201180014824.9A Division CN102835111B (en) 2010-01-19 2011-01-19 The motion vector of previous block is used as the motion vector of current block, image to be carried out to the method and apparatus of coding/decoding

Publications (2)

Publication Number Publication Date
CN105025298A CN105025298A (en) 2015-11-04
CN105025298B true CN105025298B (en) 2019-04-16

Family

ID=44922600

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510445851.1A Active CN105025298B (en) 2010-01-19 2011-01-19 The method and apparatus that image is encoded/decoded

Country Status (4)

Country Link
JP (1) JP2016154395A (en)
KR (5) KR101607308B1 (en)
CN (1) CN105025298B (en)
PH (4) PH12016501592A1 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101293200B1 (en) * 2011-09-23 2013-08-05 세종대학교산학협력단 Method and apparatus for hevc image encoding
KR102070431B1 (en) * 2012-01-19 2020-01-28 삼성전자주식회사 Method and apparatus for encoding video with restricting bi-directional prediction and block merging, method and apparatus for decoding video
KR101510585B1 (en) * 2013-01-29 2015-04-08 세종대학교산학협력단 Device and method for encoding/decoding motion information
US10958931B2 (en) 2016-05-11 2021-03-23 Lg Electronics Inc. Inter prediction method and apparatus in video coding system
CN116582679A (en) 2016-05-24 2023-08-11 韩国电子通信研究院 Image encoding/decoding method and recording medium therefor
WO2018012660A1 (en) * 2016-07-15 2018-01-18 엘지전자(주) Method and apparatus for encoding and decoding video signal using transform domain prediction for prediction unit partition
EP3822795B1 (en) 2018-08-21 2023-07-26 Huawei Technologies Co., Ltd. Data storage and acquisition method and device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004208258A (en) * 2002-04-19 2004-07-22 Matsushita Electric Ind Co Ltd Motion vector calculating method
US8064520B2 (en) * 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
KR101042623B1 (en) * 2004-11-17 2011-06-20 삼성전자주식회사 Method for deinterlacing in use of field variable partition type and apparatus thereof
KR101330630B1 (en) * 2006-03-13 2013-11-22 삼성전자주식회사 Method and apparatus for encoding moving picture, method and apparatus for decoding moving picture, applying adaptively an optimal prediction mode
KR101505195B1 (en) * 2008-02-20 2015-03-24 삼성전자주식회사 Method for direct mode encoding and decoding
KR101517768B1 (en) * 2008-07-02 2015-05-06 삼성전자주식회사 Method and apparatus for encoding video and method and apparatus for decoding video

Also Published As

Publication number Publication date
KR20110085925A (en) 2011-07-27
KR102027474B1 (en) 2019-10-01
PH12016501593A1 (en) 2017-07-10
KR20180067472A (en) 2018-06-20
JP2016154395A (en) 2016-08-25
PH12016501592B1 (en) 2017-07-10
PH12016501593B1 (en) 2017-07-10
KR20190108539A (en) 2019-09-24
PH12016501592A1 (en) 2017-07-10
KR102114421B1 (en) 2020-05-22
CN105025298A (en) 2015-11-04
KR101859451B1 (en) 2018-05-21
KR101752763B1 (en) 2017-06-30
KR20170094096A (en) 2017-08-17
PH12016501594B1 (en) 2017-07-10
PH12016501594A1 (en) 2017-07-10
PH12016501595A1 (en) 2017-07-10
KR101607308B1 (en) 2016-03-29
KR20160046319A (en) 2016-04-28
PH12016501595B1 (en) 2017-07-10

Similar Documents

Publication Publication Date Title
CN104967857B (en) The method and apparatus that image is encoded/decoded
US10110902B2 (en) Method and apparatus for encoding/decoding motion vector
CN104994380B (en) Method and apparatus for being coded and decoded to motion vector
CN104754355B (en) A kind of image decoding apparatus
CN105025298B (en) The method and apparatus that image is encoded/decoded
CN102598670A (en) Method and apparatus for encoding/decoding image with reference to a plurality of frames
CN102239693A (en) Moving picture decoding method and moving picture encoding method
CN105025299B (en) The method and apparatus that image is encoded/decoded

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant