CN105025298A - A method and device of encoding/decoding an image - Google Patents

A method and device of encoding/decoding an image Download PDF

Info

Publication number
CN105025298A
CN105025298A CN201510445851.1A CN201510445851A CN105025298A CN 105025298 A CN105025298 A CN 105025298A CN 201510445851 A CN201510445851 A CN 201510445851A CN 105025298 A CN105025298 A CN 105025298A
Authority
CN
China
Prior art keywords
motion vector
current block
coding unit
block
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.)
Granted
Application number
CN201510445851.1A
Other languages
Chinese (zh)
Other versions
CN105025298B (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

A method and device of encoding/decoding an image are provided. The method comprises determining a motion vector of a current block based on a motion vector of at least one block encoded/decoded before encoding/decoding of the current block, and encoding/decoding the current block based on one of the first expected direction, the second expected direction, and duplexing expected direction, according to the determined motion vector.

Description

Image is carried out to the method and apparatus of coding/decoding
The divisional application that the application is the applying date of submitting to China Intellectual Property Office is on January 19th, 2011, application number is 201180014824.9, denomination of invention is the application of " using the motion vector of previous block as the motion vector of current block, image to be carried out to the method and apparatus of coding/decoding ".
Technical field
The present invention relates to a kind of method and apparatus for carrying out coding/decoding to image, more particularly, relate to a kind of method and apparatus for carrying out coding/decoding to image based on inter prediction.
Background technology
According to video compression standard (such as MPEG-1, MPEG-2 and MPEG-4H.264/MPEG-4AVC (advanced video encoding)), by block image being divided into pre-sizing, image is encoded.Next, by using inter prediction or the block of infra-frame prediction to each pre-sizing to carry out predictive coding.
For inter prediction, perform estimation by search and at least one reference frame of same or analogous piece of current block, the motion vector produced by performing estimation is encoded together with pixel value, and the result of coding is subsequently inserted bit stream.
Summary of the invention
Technical scheme
One or more aspect of the present invention provides a kind of method for encoding images and equipment and picture decoding method and equipment, and record the computer readable recording medium storing program for performing of the program for performing described method for encoding images and/or described picture decoding method, wherein, in described method for encoding images and equipment and picture decoding method and equipment, motion vector based at least one previous block determines the motion vector of current block, and carries out coding/decoding based on the motion vector determined to image.
Beneficial effect
According to the present invention, use the motion vector of at least one previous block as the motion vector of current block to perform coding, thus increase the hit rate of coding mode and the precision of prediction.Therefore, higher compression ratio can be used to carry out Code And Decode to image.
Accompanying drawing explanation
Fig. 1 is the block diagram of image encoding apparatus according to an embodiment of the invention.
Fig. 2 is the block diagram of image decoding apparatus according to an embodiment of the invention.
Fig. 3 illustrates hierarchical coding unit according to an embodiment of the invention.
Fig. 4 is according to an embodiment of the invention based on the block diagram of the image encoder of coding unit.
Fig. 5 is according to an embodiment of the invention based on the block diagram of the image decoder of coding unit.
Fig. 6 illustrates maximum according to an embodiment of the invention coding unit, sub-coding unit and predicting unit.
Fig. 7 illustrates coding unit and converter unit according to an embodiment of the invention.
Fig. 8 a and Fig. 8 b illustrates the division shape of coding unit, predicting unit and converter unit according to an embodiment of the invention.
Fig. 9 is the block diagram of image encoding apparatus according to another embodiment of the present invention.
Figure 10 illustrates according to an embodiment of the invention to the diagram of the method that the block be included in bidirectional predictive picture is predicted.
Figure 11 a and Figure 11 b illustrates the diagram determining the method for the motion vector of current block according to an embodiment of the invention based on the motion vector of previous coding block.
Figure 12 a and Figure 12 b illustrates the diagram determining the method for the motion vector of current block according to an embodiment of the invention based on the motion vector of previous coding block.
Figure 13 a and Figure 13 b illustrates the diagram determining the method for the motion vector of current block according to an embodiment of the invention based on the motion vector of previous coding 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 that method for encoding images is according to an embodiment of the invention shown.
Figure 16 is the flow chart that picture decoding method is according to an embodiment of the invention shown.
Optimal mode
According to an aspect of the present invention, provide a kind of motion vector of at least one block based on decoding before current block is decoded and determine the motion vector of current block and the picture decoding method of decoding to current block based on the motion vector determined, described method comprises: to about in first direction, second direction with two-wayly middlely the information being used to the information to the prediction direction that current block is decoded and the pixel value about current block to be decoded; Based on the result of decoding to the information about prediction direction, determine that current block is by predicted prediction direction, determine at least one motion vector current block predicted according to the prediction direction determined; Based at least one motion vector described and the result of decoding to the information about pixel value, recover current block.First direction is the direction from present image to prior images, and second direction is the direction from present image to successive image.
According to a further aspect in the invention, provide and a kind ofly determined the motion vector of current block and the method for encoding images of encoding to current block based on the motion vector determined based at current block by the motion vector of at least one block of coding before encoding, described method comprises: based on first direction motion vector and the second direction motion vector of the motion vector determination current block of at least one block described; Based on first direction motion vector and second direction motion vector, from first direction prediction, second direction prediction with bi-directional predictedly middlely determine to be used to the Forecasting Methodology of encoding to current block; To the information about the prediction direction used in the Forecasting Methodology determined and encode about the information of the pixel value of the current block produced based on described Forecasting Methodology.First direction is the direction from present image to prior images, and second direction is the direction from present image to successive image.
According to a further aspect in the invention, provide a kind of motion vector of at least one block based on decoding before current block is decoded and determine the motion vector of current block and the image decoding apparatus of current block being decoded based on the motion vector determined, described equipment comprises: decoder, to about in first direction, second direction with two-wayly middlely the information being used to the information to the prediction direction that current block is decoded and the pixel value about current block to be decoded; Motion vector determiner, based on the result of decoding to the information about prediction direction, determines that current block is by predicted prediction direction, determines at least one motion vector predicted current block according to the prediction direction determined; Recovery unit, based at least one motion vector described and the result of decoding to the information about pixel value, recovers current block.First direction is the direction from present image to prior images, and second direction is the direction from present image to successive image.
According to a further aspect in the invention, provide and a kind ofly determined the motion vector of current block and the image encoding apparatus of current block being encoded based on the motion vector determined based at current block by the motion vector of at least one block of coding before encoding, described equipment comprises: motion vector determiner, based on first direction motion vector and the second direction motion vector of the motion vector determination current block of at least one block described; Encoder, based on first direction motion vector and second direction motion vector, from first direction prediction, second direction prediction with bi-directional predictedly middlely determine to be used to the Forecasting Methodology of encoding to current block, to the information about the prediction direction used in the Forecasting Methodology determined and encode about the information of the pixel value of the current block produced based on described Forecasting Methodology.First direction is the direction from present image to prior images, and second direction is the direction from present image to successive image.
According to a further aspect in the invention, a kind of computer readable recording medium storing program for performing recording program for performing described method for encoding images and/or described picture decoding method is provided.
Embodiment
Below, with reference to the accompanying drawings exemplary embodiment of the present invention is described in more detail.
Fig. 1 is the block diagram of image encoding apparatus 100 according to an embodiment of the invention.
With reference to Fig. 1, image encoding apparatus 100 comprises maximum coding unit divider 110, coding depth determiner 120, coded image data device 130 and coding information encoder 140.
Maximum coding unit divider 110 can divide to present frame or as bar based on the maximum coding unit as the coding unit with largest amount.That is, maximum coding unit divider 110 can be divided at least one maximum coding unit by present frame or as bar.
According to embodiments of the invention, maximum coding unit and the degree of depth can be used to carry out presentation code unit.As mentioned above, there is in multiple coding units of maximum coding unit instruction present frame the coding unit of largest amount, the degree that the layering of degree of depth instruction coding unit reduces.Along with the degree of depth increases, coding unit is reduced to minimum code unit from maximum coding unit, and wherein, the degree of depth of maximum coding unit is defined as minimum-depth, and the degree of depth of minimum code unit is defined as depth capacity.Owing to increasing along with the degree of depth, the size of coding unit reduces from maximum coding unit, and the sub-coding unit of the kth degree of depth can comprise the sub-coding unit of multiple kth+n degree of depth (k and n equals or the integer of size 1).
According to by by the increase of the size of frame of encoding, according to larger coding unit, coding is carried out to image and can cause higher image compression ratio.But, if larger coding unit is fixed, then effectively may be encoded to image by reflection continually varying characteristics of image.
Such as, when smooth region (such as ocean or sky) is by coding, coding unit is larger, and compression ratio can improve larger.But when the region (such as people or building) of complexity is by coding, coding unit is less, and compression ratio can improve larger.
Therefore, according to embodiments of the invention, different maximum image coding unit and different depth capacity are set for each frame or as bar.Due to the maximum times that depth capacity presentation code unit can reduce, therefore, the large I being included in each minimum code unit in maximum image coding unit is set differently according to depth capacity.
Coding depth determiner 120 determines depth capacity.Depth capacity can be determined based on the calculating of rate distortion (RD) cost.Differently depth capacity can be determined for each frame or as bar or for each maximum coding unit.The depth capacity determined is provided to coding information encoder 140, is provided to coded image data device 130 according to the view data of maximum coding unit.
Depth capacity represents the coding unit (that is, minimum code unit) with minimal size that can be included in maximum coding unit.In other words, maximum coding unit can be divided into the sub-coding unit (specifically see Fig. 8 a and Fig. 8 b) with different size according to different depth.The sub-coding unit with different size be included in maximum coding unit can the predicted or conversion based on the processing unit with different size.Conversion can be that discrete cosine transform (DCT) or Karhunen Loever convert (KLT), and in described conversion, the pixel value of spatial domain is transformed to frequency coefficient.
In other words, image encoding apparatus 100 can perform the multiple process operations for Image Coding based on the processing unit with all size and various shape.In order to encode to view data, multiple process operation (such as predict, convert and entropy code) is performed, and wherein, can use the processing unit with formed objects or different size for each operation.
Such as, image encoding apparatus 100 can select the processing unit different from coding unit to predict described coding unit.
When the size of coding unit is 2N × 2N (wherein, N is positive integer), the processing unit for predicting can be 2N × 2N, 2N × N, N × 2N and N × N.In other words, motion prediction can be performed based on the processing unit had binary at least one in the height of coding unit and width shape.Below, the processing unit as the basis of prediction is defined as " predicting unit ".
Predictive mode can be at least one in frame mode, inter-frame mode and skip mode, only can perform particular prediction mode to the predicting unit with specific size or given shape.Such as, only frame mode can be performed to the predicting unit that the size with square shape is 2N × 2N and N × N.In addition, only skip mode can be performed to the predicting unit that size is 2N × 2N.If multiple predicting unit is present in coding unit, then, after prediction is performed to each predicting unit, the predictive mode with minimum code error can be selected.
Selectively, image encoding apparatus 100 can perform conversion based on the processing unit with size different from coding unit to view data.For the conversion in coding unit, conversion can be performed based on the processing unit with the size identical with coding unit or the size that is less than coding unit.Below, the processing unit as the basis of conversion is defined as " converter unit ".
Coding depth determiner 120 optimizes by using the RD based on Lagrange multiplier the sub-coding unit determining to be included in maximum coding unit.In other words, coding depth determiner 120 can determine which kind of shape the multiple sub-coding unit divided from maximum coding unit has, and wherein, described multiple sub-coding unit has different size according to the degree of depth of described multiple sub-coding unit.Coded image data device 130 carrys out output bit flow by carrying out coding based on the division shape determined by coding depth determiner 120 to maximum coding unit.
The information of coding information encoder 140 to the coding mode about the maximum coding unit determined by coding depth determiner 120 is encoded.In other words, coding information encoder 140 carrys out output bit flow by carrying out coding to following information: the information of the information about the division shape of maximum coding unit, the information about depth capacity and the coding mode about the sub-coding unit of each degree of depth.Information about the coding mode of sub-coding unit can comprise the information of the predicting unit about sub-coding unit, the information about the information of the predictive mode of each predicting unit and the converter unit about sub-coding unit.
Information about the division shape of maximum coding unit can be the information whether each coding unit of instruction is divided, such as, and flag information.Such as, when maximum coding unit is divided and is encoded, the information indicating maximum coding unit whether to be divided is encoded.In addition, when the sub-coding unit divided from maximum coding unit is divided and is encoded, the information indicating sub-coding unit whether to be divided is encoded.
Owing to there is the sub-coding unit with different size and determine the information about coding mode for every sub-coding unit in each maximum coding unit, therefore the information can determining about at least one coding mode for a maximum coding unit.
Image encoding apparatus 100 can according to the increase of the degree of depth by producing sub-coding unit by the height of maximum coding unit and second-class the assigning to of width.That is, when the size of the coding unit of the kth degree of depth is 2N × 2N, the size of the coding unit of (k+1) degree of depth is N × N.
Therefore, image encoding apparatus 100 can consider characteristics of image, based on size and the depth capacity of maximum coding unit, for each maximum coding unit determination optimal dividing shape.By considering that characteristics of image adjusts the size of maximum coding unit changeably and encodes to image by maximum coding unit is divided into the sub-coding unit of different depth, the image with different resolution can be encoded more efficiently.
Fig. 2 is the block diagram of the image decoding apparatus 200 according to embodiment.
With reference to Fig. 2, image decoding apparatus 200 comprises image data acquisition unit 210, coded message extractor 220 and image data decoding device 230.
View data by resolving the view data obtained according to maximum coding unit to the bit stream received by image decoding apparatus 200, and is outputted to image data decoding device 230 by image data acquisition unit 210.Image data acquisition unit 210 can extract the information about present frame or the maximum coding unit as bar from present frame or as the head of bar.In other words, image data acquisition unit 210 divides maximum coding unit, thus image data decoding device 230 can be decoded to view data according to maximum coding unit.
Coded message extractor 220 extracts information about the division shape of maximum coding unit, depth capacity, maximum coding unit and the coding mode of sub-coding unit by carrying out the bit stream received by image decoding apparatus 200 resolving from the head of present frame.About the information of the division shape of maximum coding unit be provided to image data decoding device 230 about the information of coding mode.
Information about the division shape of maximum coding unit can comprise about having different size according to the degree of depth and being included in the information of the sub-coding unit in maximum coding unit.As mentioned above, can be the information whether each coding unit of instruction is divided about the information dividing shape, such as, flag information.Information about coding mode can comprise the information about the predicting unit according to sub-coding unit, the information about predictive mode and the information about converter unit.
Image data decoding device 230 recovers present frame by carrying out decoding based on the view data of the information extracted by coded message extractor 220 to each maximum coding unit.
Image data decoding device 230 can be decoded to the sub-coding unit be included in maximum coding unit based on the information of the division shape about maximum coding unit.Decoding process can comprise prediction processing and inversion process, and prediction processing comprises infra-frame prediction and motion compensation.
Image data decoding device 230 based on the information of the predicting unit about every sub-coding unit with about the information and executing infra-frame prediction of predictive mode or inter prediction, thus can be predicted every sub-coding unit.Image data decoding device 230 also can perform inverse transformation based on the information of the converter unit about sub-coding unit to every sub-coding unit.
Fig. 3 illustrates hierarchical coding unit according to an embodiment of the invention.
With reference to Fig. 3, hierarchical coding unit can comprise the coding unit that width × height is 64 × 64,32 × 32,16 × 16,8 × 8 and 4 × 4.Except the coding unit that these have complete square shape, also can there is the coding unit that width × height is 64 × 32,32 × 64,32 × 16,16 × 32,16 × 8,8 × 16,8 × 4 and 4 × 8.
With reference to Fig. 3, be the view data 310 of 1920 × 1080 for resolution, the size of maximum coding unit is set to 64 × 64, and depth capacity is set to 2.
For the view data 320 that resolution is 1920 × 1080, the size of maximum coding unit is set to 64 × 64, and depth capacity is set to 3.For the view data 330 that resolution is 352 × 288, the size of maximum coding unit is set to 16 × 16, and depth capacity is set to 2.
When resolution is high or data volume is large, the largest amount of coding unit can be relatively large to improve compression ratio and accurately to reflect characteristics of image.Therefore, for the view data 310 and 320 with the resolution higher than view data 330,64 × 64 can be selected as the size of maximum coding unit.
The total quantity of the layer in depth capacity instruction hierarchical coding unit.Depth capacity due to view data 310 is 2, thus the coding unit 315 of view data 310 can comprise according to the increase of the degree of depth major axis size be 64 maximum coding unit and major axis size be 32 and 16 sub-coding unit.
On the other hand, the depth capacity due to view data 330 is 1, thus the coding unit 335 of view data 330 can comprise according to the increase of the degree of depth major axis size be 16 maximum coding unit and major axis size be the coding unit of 8 and 4.
But the depth capacity due to view data 320 is 3, thus the coding unit 325 of view data 320 can comprise according to the increase of the degree of depth major axis size be 64 maximum coding unit and major axis size be 32,16,8 and 4 sub-coding unit.Owing to encoding to image based on the less sub-coding unit increased along with the degree of depth, the image that embodiment is applicable to comprising more how meticulous scene is encoded.
Fig. 4 is according to an embodiment of the invention based on the block diagram of the image encoder 400 of coding unit.
The predicting unit of the frame mode in intraprediction unit 410 pairs of present frames 405 performs infra-frame prediction, and exercise estimator 420 and motion compensator 425 use the predicting unit of present frame 405 and reference frame 495 pairs of inter-frame modes to perform inter prediction and motion compensation.
Produce residual values based on the predicting unit exported from intraprediction unit 410, exercise estimator 420 and motion compensator 425, the residual values of generation is outputted as the conversion coefficient of quantification by converter 430 and quantizer 440.
The conversion coefficient quantized is resumed as residual values by inverse DCT 460 and inverse converter 470, and the residual values recovered is post-treated by removing module unit 480 and loop filtering unit 490, and is outputted as reference frame 495.The conversion coefficient quantized is outputted as bit stream 455 by entropy coder 450.
In order to perform coding based on method for encoding images according to an embodiment of the invention, the assembly 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) carrys out carries out image coded treatment based on maximum coding unit, sub-coding unit, predicting unit and converter unit according to the degree of depth.
Fig. 5 is according to an embodiment of the invention based on the block diagram of the image decoder 500 of coding unit.
With reference to Fig. 5, decoded coded image data and necessary coded message of decoding through resolver 510, thus are resolved by bit stream 505.Coded image data is outputted as the data of inverse quantization by entropy decoder 520 and inverse DCT 530, and is resumed as residual values by inverse converter 540.By according to coding unit by the intra-prediction result of residual values with intraprediction unit 550 or the motion compensated result phase Calais Cost fun ction value of motion compensator 560.The coding unit recovered is used to the prediction of next coding unit or next frame by removing module unit 570 and loop filtering unit 580.
In order to perform decoding based on picture decoding method according to an embodiment of the invention, the assembly of image decoder 500 (that is, resolver 510, entropy decoder 520, inverse DCT 530, inverse converter 540, intraprediction unit 550, motion compensator 560, remove module unit 570 and loop filtering unit 580) carrys out carries out image decoding process based on maximum coding unit, sub-coding unit, predicting unit and converter unit according to the degree of depth.
Especially, intraprediction unit 550 and motion compensator 560 are by considering that maximum coding unit and the degree of depth are come according to sub-coding unit determination predicting unit and predictive mode, and inverse converter 540 is by considering that the size of converter unit performs inverse transformation.
Fig. 6 illustrates maximum according to an embodiment of the invention coding unit, sub-coding unit and predicting unit.
Image encoding apparatus 100 shown in Fig. 1 and the image decoding apparatus shown in Fig. 2 200 are by considering that characteristics of image uses hierarchical coding unit to perform Code And Decode.Maximum coding unit and depth capacity can be arranged adaptively according to characteristics of image, or are set differently according to the needs of user.
In figure 6, hierarchical coding cellular construction 600 have height and width be 64 and depth capacity be 4 maximum coding unit 610.The degree of depth increases along the vertical axis of hierarchical coding cellular construction 600, and along with degree of depth increase, the height of sub-coding unit 620 to 650 and width reduce.The predicting unit of maximum coding unit 610 and sub-coding unit 620 to 650 is shown along the trunnion axis of hierarchical coding cellular construction 600.
The degree of depth of maximum coding unit 610 is 0, and coding unit size (that is, height and width) is 64 × 64.The degree of depth increases along vertical axis, and exist size be 32 × 32 and the degree of depth be 1 sub-coding unit 620, size be 16 × 16 and the degree of depth be 2 sub-coding unit 630, size be 8 × 8 and the degree of depth be 3 sub-coding unit 640, and size be 4 × 4 and the degree of depth be 4 sub-coding unit 650.Size is 4 × 4 and the sub-coding unit 650 that the degree of depth is 4 is minimum code unit.
With reference to Fig. 6, the example of predicting unit is illustrated along trunnion axis according to each degree of depth.That is, the degree of depth is the predicting unit of the maximum coding unit 610 of 0 can be that (namely size equals coding unit 610,64 × 64) predicting unit, or the predicting unit 612, the size that have that to be less than size be the size of the size of the coding unit 610 of 64 × 64 and be 64 × 32 be 32 × 64 predicting unit 614 or size be 32 × 32 predicting unit 616.
The degree of depth is 1 and the predicting unit that size is the coding unit 620 of 32 × 32 can be that (namely size equals coding unit 620,32 × 32) predicting unit, or the predicting unit 622, the size that have that to be less than size be the size of the size of the coding unit 620 of 32 × 32 and be 32 × 16 be 16 × 32 predicting unit 624 or size be 16 × 16 predicting unit 626.
The degree of depth is 2 and the predicting unit that size is the coding unit 630 of 16 × 16 can be that (namely size equals coding unit 630,16 × 16) predicting unit, or the predicting unit 632, the size that have that to be less than size be the size of the size of the coding unit 630 of 16 × 16 and be 16 × 8 be 8 × 16 predicting unit 634 or size be 8 × 8 predicting unit 636.
The degree of depth is 3 and the predicting unit that size is the coding unit 640 of 8 × 8 can be that (namely size equals coding unit 640,8 × 8) predicting unit, or the predicting unit 642, the size that have that to be less than size be the size of the size of the coding unit 640 of 8 × 8 and be 8 × 4 be 4 × 8 predicting unit 644 or size be 4 × 4 predicting unit 646.
Finally, the degree of depth is 4 and the coding unit 650 that size is 4 × 4 is coding units of depth capacity.The predicting unit of coding unit 650 can be the predicting unit that size equals the size of predicting unit 650.But even if coding unit has depth capacity, the size of coding unit does not need the size of the predicting unit always equaling this coding unit yet.Similar with coding unit 610 to 640, also by using coding unit 650 the sub-coding unit be divided into as predicting unit coding unit 650 is predicted.
Fig. 7 illustrates coding unit and converter unit according to an embodiment of the invention.
Image encoding apparatus 100 shown in Fig. 1 and the image decoding apparatus shown in Fig. 2 200 perform Code And Decode to maximum coding unit itself or at least one sub-coding unit being equal to or less than the size of maximum coding unit by respectively maximum coding unit being divided into size.In Code And Decode process, the size of converter unit can be selected by this way: the maximum compression ratio regardless of coding unit and predicting unit.For example, referring to Fig. 7, when the size of current coded unit 710 is 64 × 64, can use size be 32 × 32 converter unit 720 perform conversion.
Fig. 8 a and Fig. 8 b illustrates the division shape of coding unit, predicting unit and converter unit according to an embodiment of the invention.
In Fig. 8 a, left diagram illustrates the division shape for encoding to maximum coding unit 810 selected by the image encoding apparatus 100 shown in Fig. 1.Maximum coding unit 810 is divided into various shape by image encoding apparatus 100, performs coding, and selects optimal dividing shape by being compared each other by the coding result of various division shape based on R-D cost.When its former state of photograph encodes optimum to maximum coding unit 810, as figures 8 a and 8 b show, can encode to maximum coding unit 810 and not divide maximum coding unit 810.
In the left diagram of Fig. 8 a, by being that the maximum coding unit 810 of 0 is divided into the sub-coding unit that the degree of depth is equal to or greater than 1 and encodes to maximum coding unit 810 by the degree of depth.That is, maximum coding unit 810 is divided into the sub-coding unit that 4 degree of depth are 1, all or some degree of depth be 1 sub-coding unit be divided into the sub-coding unit that the degree of depth is 2.
The degree of depth is that the sub-coding unit being positioned at upper right side in the sub-coding unit of 1 is divided into the sub-coding unit being positioned at lower left side the sub-coding unit that the degree of depth is equal to or greater than 2.The sub-coding unit that some degree of depth are equal to or greater than 2 can be divided into the sub-coding unit that the degree of depth is equal to or greater than 3.
In Fig. 8 a, right diagram illustrates 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 differently can be divided from maximum coding unit 810.In other words, the predicting unit for every sub-coding unit can be less than corresponding sub-coding unit.
Such as, for the degree of depth be 1 sub-coding unit in be positioned at the sub-coding unit 854 of lower right side predicting unit can be less than sub-coding unit 854.In addition, for the degree of depth be 2 sub-coding unit 814,816,818,828,850 and 852 in the predicting unit of an a little coding unit 814,816,850 and 852 can be less than sub-coding unit 814,816,850 and 852 respectively.
In addition, for the degree of depth be 3 the predicting unit of sub-coding unit 822,832 and 848 can be less than sub-coding unit 822,832 and 848 respectively.Predicting unit can have shape that each sub-coding unit be bisected according to height or the direction of width or have each sub-coding unit according to highly or the direction of width by the shape of the quartering.
Fig. 8 b illustrates predicting unit and converter unit according to an embodiment of the invention.
In figure 8b, left diagram illustrates the division shape of the predicting unit for the maximum coding unit 810 shown in Fig. 8 a, and right diagram illustrates 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 differently can be set up with predicting unit 860.
Such as, even if be the predicting unit that shape that the height of the coding unit 854 of 1 is bisected selects for coding unit 854 with the degree of depth, also converter unit can be selected with the size identical with coding unit 854.Similarly, even if be the predicting unit that shape that the height of each in the coding unit 814 and 850 of 2 is bisected selects for coding unit 814 and 850 with the degree of depth, also converter unit can be selected with the size identical with the original size of each in coding unit 814 and 850.
Can to be less than the size of predicting unit to select converter unit.Such as, when the shape that the width of the coding unit 852 with the degree of depth being 2 is bisected selects the predicting unit for coding unit 852, converter unit can be selected according to the direction of height and width by the shape of the quartering with coding unit 852.
Fig. 9 is the block diagram of image encoding apparatus 900 according to another embodiment of the present invention.With reference to Fig. 9, image encoding apparatus 900 can be included in the image encoding apparatus 100 of Fig. 1 or the image encoder 400 of Fig. 4 to encode to current block based on inter prediction.
With reference to Fig. 9, image encoding apparatus 900 comprises motion vector determiner 910 and encoder 920.
In some coding modes, based on the motion vector being determined current block by the motion vector of at least one block of previous coding, based on the motion vector determined, current block is encoded.The example of these coding modes is direct predictive mode and skip mode.In direct predictive mode and skip mode, based on the motion vector being determined current block by the information of previous coding, the motion vector of current block is by the information be encoded in addition about current block.
But, in direct predictive mode, information about pixel value is encoded as by deducting the prediction block that uses motion vector to produce and the residual block that produces from current block, but, in skip mode, prediction block is regarded as identical with current block, and the flag information only having instruction to perform coding under skip mode is encoded as the information about pixel value.
Although directly predictive mode and skip mode are all the coding modes based on inter prediction, because motion vector is not encoded in addition, therefore compression ratio is high.But in direct predictive mode and skip mode, owing to encoding to current block by only carrying out prediction according to specific direction to current block, the hit rate of each pattern therefore in these patterns and the precision of prediction may be low.Therefore, when encoding to the current block be included in bidirectional predictive picture according to direct predictive mode or skip mode, image encoding apparatus 900 is encoded to current block by performing prediction according to various direction, and this will describe in detail following.
Figure 10 illustrates according to an embodiment of the invention to the diagram of the method that the block be included in bidirectional predictive picture is predicted.
With reference to Figure 10, by referring at least one in the prior images before present image 1000 and the successive image after present image 1,000 1030, predictive coding is carried out to the current block 1010 be included in as in the present image 1000 of bidirectional predictive picture.At least one block corresponding to current block 1010 is detected (such as from least one prior images 1020 and successive image 1030, previous block 1022 and subsequent block 1032), based on the block 1022 or 1032 detected, predictive coding is carried out to current block 1010 subsequently.
In other words, if the direction from present image 1000 to prior images 1020 is first direction (L0 direction), then can predict (hereinafter referred to as " first direction prediction ") current block 1010 based on the previous block 1022 detected from prior images 1020 according to first direction.Equally, if the direction from present image 1000 to successive image 1030 is second direction (L1 direction), then can predict (hereinafter referred to as " second direction prediction ") current block 1010 based on the subsequent block 1032 detected from successive image 1030 according to second direction.In addition, can perform both first direction prediction and second direction prediction to current block 1010, that is, current block 1010 can be bi-directional predicted.
But, only when current block 1010 by bi-directional predicted time, the direct predictive mode according to prior art can be performed.In other words, when carrying out predictive coding based on first direction prediction or second direction prediction to current block 1010, current block 1010 can not be encoded under described direct predictive mode.Equally, only when current block 1010 by bi-directional predicted time, the skip mode according to prior art can be performed.According under the skip mode of prior art, the motion vector of the current block 1010 determined based on the motion vector of the previous block contiguous with current block 1010 is the motion vector mv_L0 on first direction, be regarded as identical with current block 1010 according to the prediction block that first direction prediction produces, indicate and encoded according to the flag information of skip mode execution coding.
That is, according to prior art, although first direction prediction, second direction prediction and bi-directional predicted can be performed to the block that is included in bidirectional predictive picture, only when press specific direction perform predict time, just can use direct predictive mode and skip mode.Therefore, the direct predictive mode causing compression ratio to improve and the use of skip mode are restricted.
In order to address this problem, image encoding apparatus 900 according to present example performs coding according to such method for encoding images: based on the motion vector of previous coding information determination current block 1010, can perform prediction according to various method and need not encode to motion vector.
Motion vector determiner 910 determines that the first direction motion vector of current block 1010 and second direction motion vector are to perform first direction prediction, second direction prediction and bi-directional predicted.Motion vector based at least one block of previous coding before current block 1010 is by coding determines first direction motion vector and second direction motion vector.
Can use and determine first direction motion vector and second direction motion vector according to the method for prior art determination motion vector.Such as, if encoded to current block 1010 based on direct predictive mode, then can use and determine motion vector according to the method based on direct predictive mode determination motion vector H.264/AVC, wherein, under direct predictive mode, information about the motion vector of current block 1010 is not encoded, and is encoded about the information of residual block.If encoded to current block 1010 based on skip mode, then can use and determine motion vector according to the method based on skip mode determination motion vector H.264/AVC, wherein, under skip mode, the information about motion vector and the information about residual block are encoded.
The direct predictive mode of time direct predictive mode and space can be divided into based on direct predictive mode H.264/AVC.Therefore, motion vector determiner 910 by be used in based on determine under the direct predictive mode of time H.264/AVC motion vector method or by being used in based on determining under the direct predictive mode in space H.264/AVC that the method for motion vector determines first direction motion vector and second direction motion vector.These methods are described in detail now with reference to Figure 11 a and Figure 11 b.
Figure 11 a illustrates according to an embodiment of the invention based on the diagram of the method for the motion vector of the motion vector determination current block of previous coding block.
With reference to Figure 11 a, when encoding to the current block 1010 be included in present image 1110 based on time direct predictive mode, the motion vector mv_colA of subsequent block 1120 can be used to produce the motion vector of current block 1010, wherein, subsequent block 1120 is included in the successive image 1114 after present image 1110, and with current block 1010 juxtaposition.
In other words, if successive image 1114 is anchor (anchor) images, then the motion vector mv_colA of the subsequent block 1120 be included in anchor image 1114 can be used to determine first direction motion vector mv_L0A and the second direction motion vector mv_L1A of current block 1010.By the motion vector mv_colA to subsequent block 1120 carries out convergent-divergent (scale) based on the time gap between present image 1110 and the prior images before present image 1,110 1112 and the time gap between anchor image 1114 and prior images 1112, determine first direction motion vector mv_L0A and the second direction motion vector mv_L1A of current block 1010.
Such as, if the motion vector mv_colA of subsequent block 1120 is produced for the block 1122 detected from prior images 1112, then following equation can be used to produce first direction motion vector mv_L0A and the second direction motion vector mv_L1A of current block 1110:
mv_L0A=(t1/t2)×mv_colA
mv_L1A=mv_L0A-mv_colA,
Wherein, " mv_L0A " and " mv_L1A " represents first direction motion vector and the second direction motion vector of current block 1010 respectively.
Figure 11 b is the diagram of the method for the motion vector of the motion vector determination current block based on previous coding block illustrated according to another embodiment of the present invention.
With reference to Figure 11 b, first direction motion vector and the second direction motion vector of current block 1010 can be determined based on motion vector mv_A, mv_B and mv_C of the block 1130,1132 and 1134 contiguous with current block 1100.Can based on the first direction motion vector and the second direction motion vector that are positioned at the left side of current block 1010, the motion vector of block of upside and most upper right side determines current block 1010.
When encoding to current block 1010 according to the direct predictive mode in space, intermediate value between at least one first direction motion vector in motion vector mv_A, mv_B and mv_C is confirmed as the first direction motion vector of current block 1010, and the intermediate value between at least one the second direction motion vector in motion vector mv_A, mv_B and mv_C is confirmed as the second direction motion vector of current block 1010.By at least one second direction motion vector described being set to " 0 " calculate the intermediate value between at least one first direction motion vector described, determine first direction motion vector, by at least one first direction motion vector described being set to " 0 " calculate the intermediate value between at least one second direction motion vector, determine second direction motion vector.
Image corresponding to minimum first direction reference key in the reference picture determined by motion vector mv_A, mv_B and mv_C is confirmed as first direction reference picture, and image corresponding to minimum second direction reference key in the reference picture determined by motion vector mv_A, mv_B and mv_C is confirmed as second direction reference picture.
When encoding to current block 1010 according to skip mode, as shown in figure lib, the intermediate value between at least one the first direction motion vector and in motion vector mv_A, mv_B and mv_C of the block 1130,1132 and 1134 of current block 1010 vicinity can be confirmed as the motion vector of current block 1010.
If the image encoding apparatus of Fig. 9 900 is as above with reference to determining the motion vector of current block as described in Figure 11 a or Figure 11 b and encoding to current block, then decoding end is determined the motion vector of current block and is recovered present image as described in above reference Figure 11 a or Figure 11 b.In other words, Image Coding end impliedly can share the method for identical determination motion vector with image decoding end, and determines the motion vector of current block according to the method shared.
But, according to another embodiment of the present invention, Image Coding end can be produced multiple motion vector candidates based at current block by the motion vector of the multiple previous block of coding before encoding, the information of the motion vector of the current block of specifying in described multiple motion vector candidates is encoded clearly, and the result of coding is inserted bit stream.In this case, image decoding end can determine the motion vector of current block based on the result of the coding inserting bit stream.Now with reference to Figure 12 a and Figure 12 b, such method is described.
Figure 12 a and Figure 12 b illustrates according to an embodiment of the invention based on the diagram of the method for the motion vector of the motion vector determination current block of previous coding block.
Motion vector determiner 910 with reference to Figure 12 a, Fig. 9 can produce multiple motion vector candidates based on the motion vector of the previous coding block contiguous with current block.Described multiple motion vector candidates can be the leftmost side block a in the block contiguous with the upside of current block 0motion vector, the top side block b contiguous with the left side of current block 0motion vector, the motion vector of the block c contiguous with the upper right side of current block, the motion vector of the block d contiguous with the upper left side of current block and the block e contiguous with the lower right side of current block motion vector.
Leftmost side block a 0, top side block b 0, block c and block d motion vector in one of first direction motion vector can be confirmed as the first direction motion vector of current block.Leftmost side block a 0, top side block b 0, block c and block d motion vector in one of second direction motion vector can be confirmed as the second direction motion vector of current block.Such as, if leftmost side block a 0, top side block b 0, leftmost side block a in block c and block d 0with top side block b 0motion vector be first direction motion vector, then leftmost side block a 0with top side block b 0one of motion vector can be confirmed as the first direction motion vector of current block, one of motion vector of block c and block d can be confirmed as the second direction motion vector of current block.
Various method can be used to the motion vector one of described multiple motion vector candidates being defined as current block, but, usually can select the motion vector of current block according to such method: current block can be predicted more accurately based on motion vector.If when with the leftmost side block a for first direction motion vector 0with top side block b 0motion vector in use leftmost side block a 0motion vector time current block predicted more accurately, then leftmost side block a 0motion vector can be confirmed as the first direction motion vector of current block.The prediction block that obtains by using the motion vector of described multiple motion vector candidates to predict current block respectively can be deducted to produce residual block from current block, the absolute value of each in described residual block and (SAD) can be calculated, then, the motion vector in described multiple motion vector candidates with minimum SAD can be confirmed as the motion vector of current block.
With reference to Figure 12 b, the motion vector of all piece contiguous with current block can be used as multiple motion vector candidates.In other words, not only contiguous with the upside of current block block (comprises leftmost side block a 0) motion vector, and the block contiguous with the left side of current block (comprises top side block b 0) motion vector all can be used as described multiple motion vector candidates.
As above with reference to as described in Figure 12 b, first direction motion vector and the second direction motion vector of current block can be confirmed as respectively with one of first direction motion vector in multiple motion vector candidates of all pieces that current block is contiguous and one of second direction motion vector.
Therefore, with reference to Figure 11 a, Figure 11 b, Figure 12 a and Figure 12 b, one of multiple motion vector candidates is defined as the motion vector of current block by using following equation by motion vector determiner 910:
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 represent method according to Figure 11 a and the motion vector obtained, and " median (mv_a0, mv_b0, mv_c) " can represent the motion vector obtained according to the method for Figure 11 b.Other motion vector is described with reference to Figure 12 a and Figure 12 b as above.
Can from the first direction motion vector being included in the first direction motion vector determination current block that C described above concentrates, can from the second direction motion vector being included in the second direction motion vector determination current block that C concentrates.
According to another embodiment of the present invention, the total quantity of motion vector candidates can be confirmed as little, and the motion vector of current block 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 " represents the motion vector of block x, " median () " represent intermediate value, " mv_a " represent motion vector mv_a0, mv_a1 ..., the first efficient motion-vector in mv_aN.Such as, if use inter prediction to encode to block a0, then the motion vector mv_a0 of block a0 is invalid, therefore mv_a'=mv_a1.The motion vector mv_a1 of if block a1 is also invalid, then mv_a'=mv_a2.
Equally, " mv_b " represent motion vector mv_b0, mv_b1 ..., the first efficient motion-vector in mv_bN, " mv_c " represent motion vector mv_c, mv_d ..., the first efficient motion-vector in mv_e.
" mv_L0A " and " mv_L1A " can represent the motion vector obtained according to the method for Figure 11 a.According to another embodiment of the present invention, be replaced in motion vector mv_L0A and mv_L1A, the motion vector using the time gap between adjacent image to produce can be used as motion vector candidates.This embodiment is described in detail with reference to Figure 13 a and Figure 13 b.
Figure 13 a and Figure 13 b illustrates according to an embodiment of the invention based on the diagram of the method for the motion vector of the motion vector determination current block of previous coding block.
With reference to Figure 13 a, the motion vector candidates based on time gap differently can be determined with according to the time of prior art direct predictive mode.
The motion vector candidates being included in the current block 1010 in present image 1110 can produce from the motion vector of block 1320, wherein, block 1320 to be included in the prior images 1112 before present image 1110 and with current block 1010 juxtaposition.Such as, if produced for the block 1322 detected from successive image 1114 with the motion vector mv_colB of current block 1010 juxtaposed piece 1320, then following equation can be used to produce motion vector candidates mv_L0B and the mv_L1B of current block 1010:
mv_L1B=(t3/t4)×mv_colB
mv_L0B=mv_L1B-mv_colB,
Wherein, " mv_L0B " represents the first direction motion vector candidates of current block 1010, and " mv_L1B " represents the second direction motion vector candidates of current block 1010.
With reference to Figure 13 b, the motion vector mv_colC of block 1330 can be used to determine the motion vector candidates mv_L0C of the current block 1010 be included in present image 1110, and wherein, block 1330 is included in prior images 1112, and with current block 1010 juxtaposition.Such as, when the motion vector mv_colC with current block 1010 juxtaposed piece 1330 is produced for the block 1332 detected from another prior images 1116, following equation can be used to produce the motion vector candidates mv_L0C of current block 1010:
mv_L0C=(t6/t5)×mv_colC。
The above-mentioned C that the motion vector candidates mv_L0B described with reference to Figure 13 a and Figure 13 b above and mv_L1B can be included in the motion vector candidates of above-mentioned current block 1010 concentrates.That is, be replaced in motion vector candidates mv_L0A and mv_L1A, motion vector candidates mv_L0B and mv_L1B can be included in C concentrate, or motion vector candidates mv_L0B and mv_L1B can be additionally included in C concentrate.
Referring back to Fig. 9, if motion vector determiner 910 is based on the motion vector of the motion vector determination current block of previous coding block, then encoder 920 is encoded to the information about current block.
If the first direction motion vector of current block and second direction motion vector are determined, then encoder 920 based on first direction motion vector and second direction motion vector perform first direction prediction, second direction prediction and bi-directional predicted.Subsequently, current block can be determined by the prediction direction calculated to a nicety most.By perform first direction prediction, second direction prediction and bi-directional predicted and obtain prediction block can compare with current block, the direction that can produce the residual block with minimum SAD can be confirmed as prediction direction.Otherwise, by perform first direction prediction, second direction prediction and bi-directional predicted, to perform result encode and based on RD cost to coding result compare mutually, determine prediction direction.
After prediction direction is determined, the information about prediction direction and the information about pixel value are encoded.Information about prediction direction can be encoded as sequential parameter, as bar parameter or block parameter.Predetermined binary number can be assigned to first direction, second direction and two-way, and can be coded by entropy by the binary number that the prediction direction of encoding is corresponding to current block, the result of entropy code can be inserted into bit stream subsequently.
The same with the information about pixel value, the information (such as, direct predictive mode) about residual block can additionally be encoded.Obtain residual block by deducting the prediction block produced by performing prediction according to the prediction direction determined from current block, produce frequency coefficient by performing conversion to residual block, subsequently, frequency coefficient can be quantized and entropy code.Described conversion can be dct transform or KLT conversion.
In addition, the same with the information about pixel value, only can be encoded according to the skip mode of prior art and the indication predicting block flag information identical with current block.That is, because the prediction block obtained by performing prediction according to the prediction direction determined is regarded as identical with current block, therefore can only encode to skip mode and flag information.
Reference picture for predicting current block can be inferred based on the reference key of previous coding block.Described in Figure 11 b, the reference key of current block and the reference image corresponding to current block can be determined based on the reference key of previous coding block.In addition, corresponding to the motion vector determined by motion vector determiner 910 reference picture can be confirmed as the reference picture of current block.Such as, as above with reference to as described in Figure 11 a, if motion vector mv_L0A is confirmed as the first direction motion vector of current block, then the reference picture into current block can be automatically determined according to the prior images 1112 of motion vector mv_L0A.
If motion vector determiner 910 determines first direction motion vector and second direction motion vector as above clearly as described in Figure 12 a, Figure 12 b, Figure 13 a and Figure 13 b in multiple motion vector candidates, then encoder 920 can be encoded to the information of at least one in instruction first direction motion vector and second direction motion vector.
If prediction direction is confirmed as first direction, then the information of the only first direction motion vector in described multiple motion vector candidates is indicated to be encoded.If prediction direction is confirmed as second direction, then the information of second direction motion vector is only indicated to be encoded.But, if prediction direction is confirmed as two-way execution, then indicate the information of the first direction motion vector in described multiple motion vector candidates and second direction motion vector to be encoded.
Binary number can be individually allocated to all motion vectors being included in above-mentioned C and concentrating, and the binary number of the first direction motion vector and/or second direction motion vector of distributing to the motion vector being confirmed as current block can be encoded.But, because one of first direction motion vector that C described above concentrates is confirmed as the first direction motion vector of current block, the binary number distributing to the first direction motion vector of current block therefore distributed in the binary number of the first direction motion vector that C concentrates can be encoded as the information of instruction first direction motion vector.Equally, the binary number distributing to the second direction motion vector of current block distributed in the binary number of the second direction motion vector that C concentrates can be encoded as the information of instruction second direction 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 decodes to current block by performing inter prediction.
With reference to Figure 14, image decoding apparatus 1400 comprises decoder 1410, motion vector determiner 1420 and recovery unit 1430.
Decoder 1410 receiving package containing about the bit stream of the data of current block, and is decoded to the information about the predicted prediction direction of current block.Image decoding apparatus 1400 based on the motion vector being determined current block before current block is decoded by the motion vector of at least one block of early decoding, and is decoded to current block based on the motion vector determined under the decoding schema for recovering current block.Therefore, be actually determined at the motion vector of current block the information about prediction direction is decoded.Information about prediction direction can be such as comprise sequential parameter in the bitstream, as bar parameter or block parameter.
The motion vector of the motion vector determination current block based on previous coding/decoding block coding/decoding pattern (such as, direct predictive mode or skip mode) under, only based on the prediction performed according to specific direction, coding/decoding is carried out to current block.But, in coding/decoding direction according to an embodiment of the invention, based on the result according to first direction, second direction and two-way execution prediction, under direct predictive mode or skip mode, coding/decoding can be carried out to current block.For this reason, the image encoding apparatus 900 of Fig. 9 is encoded to the information about prediction direction, and the result of coding is inserted bit stream.Decoder 1410 is decoded to the information about prediction direction by using image encoding apparatus 900 to be inserted into bit stream.
Decoder 1410 to the information of the motion vector of the current block in the multiple motion vector candidates of instruction and can be decoded about the information of prediction direction together.If the method for the determination motion vector based on sharing between coding side and decoding end described above implicitly determines the motion vector of current block, then according to the method shared and the sum indicating the motion vector of current block not need a motion vector of decoded information determination current block.But, when the motion vector based on multiple previous coding block described above produces multiple motion vector candidates and determine the motion vector of current block from described multiple motion vector candidates, indicate the information of the motion vector of the current block in described multiple motion vector candidates can be decoded.
In addition, the information of decoder 1410 to the pixel value about current block is decoded.In this case, about the information of the residual block of current block or instruction current block with predict that the identical flag information of block is decoded.Decoder 1410 brings Cost fun ction block by carrying out entropy decoding, inverse quantization or inversion to the information about residual block.
Motion vector determiner 1420 based on the motion vector by use decoder 1410, the result that the information about prediction direction is decoded being determined to current block, thus predicts current block according to predetermined direction.If determine to perform prediction according to first direction based on the result of decoding, then first direction motion vector is confirmed as the motion vector of current block.If determine to perform prediction according to second direction based on the result of decoding, then second direction motion vector is confirmed as the motion vector of current block.If the result based on decoding is determined two-wayly to perform prediction, then first direction motion vector and second direction motion vector are confirmed as the motion vector of current block.
When by when implicitly determining the motion vector of current block according to the method for the determination motion vector shared between coding side and decoding end, according to the motion vector of the method determination current block shared.The method is described above with reference to Figure 11 a and Figure 11 b.
But when by when determining the motion vector of current block from multiple motion vector candidates, the information based on the motion vector of the current block of being decoded by decoder 1410 in the described multiple motion vector candidates of instruction determines the motion vector of current block.Be used in the motion vector of decoded at least one block decoded before of current block to produce described multiple motion vector candidates, and determine the motion vector of current block from described multiple motion vector candidates.
If only according to first direction prediction current block, then based on the information of the instruction first direction motion vector using decoder 1410 to decode, from described multiple motion vector candidates determination first direction motion vector.If only according to second direction prediction current block, then based on the information of the instruction second direction motion vector using decoder 1410 to decode, from described multiple motion vector candidates determination second direction motion vector.If current block is bi-directional predicted, then based on the information of the instruction first direction motion vector using decoder 1410 to decode and the information of instruction second direction motion vector, thus described multiple motion vector candidates determination first direction motion vector and second direction motion vector.
Recovery unit 1430 recovers current block based on the motion vector of the current block that the information about pixel value using decoder 1410 to decode and use motion vector determiner 1420 are determined.
By producing prediction block according to the motion vector using motion vector determiner 1420 to determine according to first direction, second direction or bi-directional predicted current block.If carry out decoding by using decoder 1410 to the information about pixel value to carry out Cost fun ction block, then the residual block recovered combines to recover current block with prediction block.If the flag information that decoder 1410 pairs of indication predicting blocks are identical with current block is decoded, then predict that block can be used directly as the current block of recovery.
Reference can be carried out for predicting the reference picture of current block based on the reference key of early decoding block.Described in Figure 11 b, the reference key of current block and the reference picture corresponding to current block can be determined based on the reference key of early decoding block.In addition, corresponding to the motion vector determined by motion vector determiner 1420 reference picture can be confirmed as the reference picture of current block.Such as, as described in above reference diagram 11a, if motion vector mv_L0A is confirmed as the first direction motion vector of current block, then can be automatically determined the reference picture into current block according to the prior images 1112 of motion vector mv_L0A.
Figure 15 is the flow chart that method for encoding images is according to an embodiment of the invention shown.
With reference to Figure 15, in operation 1510, the motion vector of image encoding apparatus determination current block.Such as, in operation 1510, be included in being determined by the first direction motion vector of bi-directional predicted current block and second direction motion vector of current picture.As above with reference to as described in Figure 11 a and Figure 11 b, the motion vector of current block implicitly can be determined according to the method for the determination motion vector shared between coding side and decoding end.In addition, as above with reference to as described in Figure 12 a, Figure 12 b, Figure 13 a and Figure 13 b, produce multiple motion vector candidates, and first direction motion vector and second direction motion vector can be determined from described multiple motion vector candidates.
In operation 1520, image encoding apparatus from first direction prediction, second direction prediction and bi-directional predicted in determine that Forecasting Methodology is to encode to current block.From using the prediction of the first direction of first direction motion vector, using the prediction of the second direction of second direction motion vector and use first direction motion vector and the bi-directional predicted of second direction motion vector to determine that Forecasting Methodology is to encode to current block.
First direction prediction, second direction prediction and bi-directional predicted in predict that the Forecasting Methodology of current block can be used to encode to current block more accurately.As mentioned above, the Forecasting Methodology of the minimum SAD obtained between prediction block and current block can be used to encode to current block.
In operation 1530, image encoding apparatus is encoded to the information about the prediction direction used in the Forecasting Methodology determined in operation 1520.Binary number can be individually allocated to first direction, second direction and two-way, and the binary number distributing to the prediction direction for encoding to current block can be encoded.Entropy code can be carried out according to the binary number of predetermined entropy coding method to coding.Information about prediction direction can be encoded as sequential parameter, as bar parameter or block parameter.
Also the information of the pixel value about current block is encoded.In this case, can encode to the information of the residual values about the residual block obtained by deducting prediction block from current block.Residual block can be transformed, quantize and entropy code.In addition, as mentioned above, flag information that can be only identical with current block to indication predicting block is encoded.
Also can encode for the information of the motion vector of encoding to current block in the multiple motion vector candidates of definition.If produced described multiple motion vector candidates based at current block by the motion vector of at least one block of coding before encoding, and one of described multiple motion vector candidates is selected and is used as the motion vector of current block, then indicate the information of the motion vector of selection to be encoded.If be confirmed as Forecasting Methodology in the prediction of operation 1520 first direction, then can only encode to the information about first direction motion vector.If be confirmed as Forecasting Methodology in the prediction of operation 1520 second direction, then can only encode to the information about second direction motion vector.If be confirmed as Forecasting Methodology operation 1520 is bi-directional predicted, then only the information about first direction motion vector and second direction motion vector is encoded.
Figure 16 is the flow chart that picture decoding method is according to an embodiment of the invention shown.
With reference to Figure 16, in operation 1610, image decoding apparatus is to about first direction, second direction with two-wayly middlely the information be used to the prediction direction that current block is decoded to be decoded.In this case, can the information about prediction direction comprised in the bitstream be decoded.Can decode to distributing to respectively the binary number distributing to prediction direction in first direction, second direction and two-way binary number.The information about prediction direction comprised in the bitstream can be decoded as sequential parameter, as bar parameter or block parameter.
In operation 1610, image decoding apparatus is also encoded to the information of the pixel value about current block.Can encode to the information of the residual values of the residual block about current block.Entropy decoding, inverse quantization and inverse transformation can be carried out with Cost fun ction block to the information about residual block.In addition, can the information identical with prediction block to instruction current block decode.
When described above from multiple motion vector candidates, determine the motion vector of current block time, can to definition described multiple motion vector candidates in the information be used to the motion vector that current block is decoded is decoded.If the result display prediction direction of decoding to the information about prediction direction is first direction, then can decode to the information of the first direction motion vector of the current block in the described multiple motion vector candidates of instruction.If the result display prediction direction of decoding to the information about prediction direction is second direction, then can decode to the information of the second direction motion vector of the current block in the described multiple motion vector candidates of instruction.If the result display prediction direction of decoding to the information about prediction direction is two-way, then can decode to the information of the second direction motion vector in the information of the first direction motion vector in the described multiple motion vector candidates of instruction and the described multiple motion vector candidates of instruction.
In operation 1620, based on the information about prediction direction of decoding in operation 1610, image decoding apparatus determines that current block is by predicted prediction direction.Determine that current block is by predicted prediction direction based on the binary number corresponding to prediction direction, wherein, the information of prediction direction is decoded in operation 1610.If predicted prediction direction is determined by current block, then for being determined according at least one motion vector of the prediction direction prediction current block determined.
As mentioned above, the motion vector of current block implicitly can be determined according to the method for the determination motion vector shared between coding side and decoding end.If explicitly selects the motion vector of current block from multiple motion vector candidates, at least one block motion vector then based on decoding before current block is decoded produces described multiple motion vector candidates, and determines the motion vector of current block from described multiple motion vector candidates.Can the information of motion vector of current block based on the instruction of decoding in operation 1610 in described multiple motion vector candidates, determine the motion vector of current block.At least one in first direction motion vector and second direction motion vector can be determined based on the information of decoding in operation 1610.
In operation 1630, image decoding apparatus recovers current block.Motion vector based on the current block determined in operation 1620 determines the prediction block of current block, recovers current block based on prediction block.
Perform first direction prediction, second direction prediction and one of bi-directional predicted by what determine in operation 1620 based on first direction motion vector and/or second direction motion vector, produce the prediction block of current block.
If be resumed at operation 1610 residual block, then predict that the residual block of block and recovery combines to recover current block.If the information that indication predicting block is identical with current block is decoded, then predict that block is used as current block.
Although specifically show with reference to exemplary embodiment of the present invention and accompanying drawing and describe the present invention, but those of ordinary skill in the art will understand, can change these exemplary embodiments without departing from the principles and spirit of the present invention, scope of the present invention is defined in claim and equivalent thereof.In addition, system can be implemented as the computer-readable code in computer readable recording medium storing program for performing according to an embodiment of the invention.
Such as, the bus be connected with each unit of the equipment shown in Fig. 1, Fig. 2, Fig. 4, Fig. 5, Fig. 9 and Figure 14 and at least one processor be connected with bus can be comprised according to the image encoding apparatus of exemplary embodiment of the present invention, image decoding apparatus, motion vector encoder equipment, motion vector decoder equipment.Each in described equipment also can comprise memory, and memory is connected the message with the message of memory command, reception or generation with bus, and is connected with for performing at least one processor described in aforesaid operations.
Computer readable recording medium storing program for performing can be anyly can store by the recording equipment of the data of computer system reads, such as, read-only memory (ROM), random access memory (RAM), compact disk (CD)-ROM, tape, floppy disk, optical data storage devices etc.Computer readable recording medium storing program for performing can be distributed on by the inline computer system of network, and the present invention can be stored and be embodied as the computer-readable code in distributed system.

Claims (1)

1. a picture decoding method, comprising:
Obtain about first direction, second direction and two-way among the information of prediction direction for decoding to current block;
Based on obtain the information about prediction direction, determine to current block carry out predict by according to prediction direction;
Determine at least one motion vector current block predicted according to the prediction direction determined;
According to the prediction direction determined, based at least one motion vector of the current block determined, recover current block.
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 true CN105025298A (en) 2015-11-04
CN105025298B 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) PH12016501592B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111083933A (en) * 2018-08-21 2020-04-28 华为技术有限公司 Data storage and acquisition method and device
US11960467B2 (en) 2021-02-19 2024-04-16 Huawei Technologies Co., Ltd. Data storage method, data obtaining method, and apparatus

Families Citing this family (6)

* 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
WO2017195914A1 (en) * 2016-05-11 2017-11-16 엘지전자 주식회사 Inter prediction method and apparatus in video coding system
JP6921870B2 (en) 2016-05-24 2021-08-18 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute Image decoding method, image coding method and recording medium
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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060125956A1 (en) * 2004-11-17 2006-06-15 Samsung Electronics Co., Ltd. Deinterlacing method and device in use of field variable partition type
CN101401437A (en) * 2006-03-13 2009-04-01 三星电子株式会社 Method, medium, and system encoding and/or decoding moving pictures by adaptively applying optimal prediction modes
EP2094017A2 (en) * 2008-02-20 2009-08-26 Samsung Electronics Co., Ltd. Method for direct mode encoding and decoding

Family Cites Families (3)

* 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
KR101517768B1 (en) * 2008-07-02 2015-05-06 삼성전자주식회사 Method and apparatus for encoding video and method and apparatus for decoding video

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060125956A1 (en) * 2004-11-17 2006-06-15 Samsung Electronics Co., Ltd. Deinterlacing method and device in use of field variable partition type
CN101401437A (en) * 2006-03-13 2009-04-01 三星电子株式会社 Method, medium, and system encoding and/or decoding moving pictures by adaptively applying optimal prediction modes
EP2094017A2 (en) * 2008-02-20 2009-08-26 Samsung Electronics Co., Ltd. Method for direct mode encoding and decoding

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111083933A (en) * 2018-08-21 2020-04-28 华为技术有限公司 Data storage and acquisition method and device
US11960467B2 (en) 2021-02-19 2024-04-16 Huawei Technologies Co., Ltd. Data storage method, data obtaining method, and apparatus

Also Published As

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

Similar Documents

Publication Publication Date Title
CN102835111B (en) 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
CN102640492B (en) The coding unit of image boundary is carried out to the method and apparatus of Code And Decode
CN102474610B (en) For carrying out the method and apparatus of coding/decoding to motion vector
RU2604997C2 (en) Method and apparatus for encoding and decoding motion vector
CN102598670B (en) With reference to multiple frame, image is carried out to the method and apparatus of coding/decoding
CN104581161B (en) With the use of method and the equipment of large-scale conversion cell encoding and decoded picture
CN104754355A (en) Method and apparatus for encoding and decoding motion vector
CN104967850A (en) Method and apparatus for encoding and decoding image by using large transform unit
CN102474611A (en) Method and apparatus for encoding/decoding image by controlling accuracy of motion vector
CN105025298A (en) A method and device of encoding/decoding an image
CN105025300A (en) Method and apparatus for encoding/decoding image

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