Abstract: An image decoding method according to the present invention may comprise: a step of acquiring motion information of a current block; a step of performing motion compensation on the basis of the motion information, thereby acquiring a first prediction block for a first sub block in the current block; and a step of performing overlapped block motion compensation on the first sub block, thereby acquiring a second prediction block.
Art
[1]The present invention relates to a video signal processing method and apparatus.
BACKGROUND
[2]Recently, the demand for high-resolution, high-quality video, such as HD (High Definition) video and UHD (Ultra High Definition) video is increasing in various application areas. Since the image data has been increasing the amount of high resolution, high quality is the more relatively data compared to traditional image data if the stored transmit image data using a medium such as an existing wired or wireless broadband, or with a conventional storage medium, transmission cost and It increases storage costs. In order to address these issues as the picture data of high resolution, high quality image can be compressed with high efficiency techniques are utilized.
[3]
A video compression techniques inter picture predicting the pixel values of the current picture from a previous or subsequent picture in the current picture prediction techniques, by using the pixel information in the current picture screen for predicting the pixel values of current picture prediction techniques, It may assign a short code to a value of high appearance frequency, and transmitted or stored until there is a variety of techniques, such as an entropy encoding technique for assigning a long code to the low frequency of appearance values, and effectively compressing the image data by using such a video compression technology.
[4]
On the other hand, with the increased demand for high-definition video, and even with increased demand for stereoscopic content as a new video service. There is ongoing debate about the resolution and second video compression technology to provide a high-resolution stereoscopic content effectively.
Detailed Description of the Invention
SUMMARY
[5]
An object of the present invention is to provide a method and apparatus capable of performing efficient inter-prediction with respect to the method as the coding / decoding a video signal, an encoding / decoding block.
[6]
An object of the present invention is to provide a method and apparatus for applying the motion-compensated block superposed on the method, the motion compensation is performed as the block encoding / decoding a video signal.
[7]
An object of the present invention is to provide a method and apparatus as in encoding / decoding a video signal, applying the optical flow in sub-block units.
[8]
SUMMARY OF THE INVENTION In the present invention are not limited to the technical problem mentioned above, it is not mentioned another technical problem will be clearly understood to those of ordinary skill in the art from the following description It will be.
Problem solving means
[9]
A video signal decoding method and apparatus according to the present invention may obtain the motion vector of the current block, and if a two-way optical flow applied to the current block, and update the motion vectors, using the updated motion vector, the It may perform motion compensation to the current block. At this time, it is possible that the bi-directional optical flow to be applied to the sub-blocks of a predetermined size of the current block.
[10]
Video signal coding method and apparatus according to the present invention may obtain the motion vector of the current block, and if a two-way optical flow applied to the current block, and update the motion vectors, using the updated motion vector, the It may perform motion compensation to the current block. At this time, it is possible that the bi-directional optical flow to be applied to the sub-blocks of a predetermined size of the current block.
[11]
In the video signal encoding / decoding method and apparatus according to the present invention, updating the motion vectors, and those for obtaining a movement adjustment vector of the current block within the sub-block, using the motion adjustment vector, the motion vector the may involve updating.
[12]
In the video signal encoding / decoding method and apparatus according to the present invention, the motion vector is adjusted, can be obtained on the basis of samples of the motion vector adjusting the average value contained in said sub-block.
[13]
In the video signal encoding / decoding method and apparatus according to the present invention, the motion vector is adjusted, it can be obtained based on a particular sample location within the sub-blocks.
[14]
In the video signal encoding / decoding method and apparatus according to the present invention, the specific location samples may include at least one of the sample at the center of the sample or the sub-block located in a corner of the sub-block.
[15]
In the video signal encoding / decoding method and apparatus according to the present invention, the size or form of the sub-blocks may be determined based on at least one of the size or type of the current block.
[16]
In the video signal encoding / decoding method and apparatus according to the present invention, the sub-blocks of size or shape may be determined based on whether the block motion compensation is performed nested in the current block is the resolution or the motion compensation of an image is performed have.
[17]
In the video signal encoding / decoding method and apparatus according to the present invention, may include the application of the motion compensation block nested in the current block is the motion compensation has been performed. In this case, the overlap block motion compensation may be applied in sub-block units of a predetermined size of the current block.
[18]
The for the invention briefly summarized above features are merely exemplary of yangsangil detailed description of the invention which will be described later, and are not intended to limit the scope of the invention.
Effects of the Invention
[19]
According to the present invention, encoding / decoding can be efficiently performed by the inter prediction for the current block.
[20]
According to the present invention, by applying the motion-compensated block superposed on the motion compensation it is performed block, there is an advantage to increase the efficiency of the inter-prediction.
[21]
According to the present invention, by applying the optical flow on a block-by-block basis rather than in samples, there is an advantage of reducing the memory usage.
[22]
Effects that can be obtained in the present invention is not limited to the effects mentioned above, are not mentioned other effects can be clearly understood to those of ordinary skill in the art from the following description will be.
Brief Description of the Drawings
[23]
Figure 1 is a block diagram showing an image encoding apparatus according to an embodiment of the present invention.
[24]
Figure 2 is a block diagram showing an image decoding apparatus according to an embodiment of the present invention.
[25]
Figure 3 illustrates an example of dividing the one embodiment to which the present invention is applied, coded block on the basis of the tree structure (tree structure) in a hierarchical manner.
[26]
Figure 4 is a view of the partition form of the invention is in one embodiment, the partitioning of the binary tree-based allowed to be applied.
[27]
Figure 5 is a view showing one embodiment to which the present invention is applied, for example, only a particular form of binary tree-based partition allowed.
[28]
Figure 6 is one embodiment to which the present invention is applied, a view for explaining an example in which the information relating to the division number allows a binary tree to be encoded / decoded.
[29]
7 is a view according to an embodiment to which the present invention is applied, illustrating a partition mode that can be applied to the coded block.
[30]
8 is a flowchart illustrating the inter-prediction method according to an embodiment to which the present invention is applied.
[31]
9 is a case where the merge mode applied to the current block, a diagram illustrating a process for deriving the motion information of the current block.
[32]
10 is a case where the mode for the current block AMVP apply a diagram illustrating a process for deriving the motion information of the current block.
[33]
11 is a view for explaining a method of inducing a motion vector on the basis of the ATMVP in sub-block units.
[34]
12 is a view for explaining a method of inducing a motion vector on the basis of the STMVP in sub-block units.
[35]
13 is a view for explaining the neighbor prediction block used to perform the overlapped block motion compensation.
Mode for the Invention
[36]
The invention will be described in bars, it illustrated in the drawings certain embodiments that may have a variety of embodiments can be applied to various changes and detail in the Detailed Description. This, however, is by no means to restrict the invention to the specific embodiments, it is to be understood as embracing all included in the spirit and scope of the present invention changes, equivalents and substitutes. In describing the drawings was used for a similar reference numerals to like elements.
[37]
First, the term of the second, etc., can be used in describing various elements, but the above elements shall not be restricted to the above terms. These terms are only used to distinguish one element from the other. For example, without departing from the scope of the present invention, the first component may be referred to as a second configuration can be named as an element, similar to the first component is also a second component. And / or the term includes any item of the items described concerning the combination or plurality of the plurality of related items disclosed.
[38]
It understood that when one element is described as being "connected" or "coupled" to another element, but may be directly connected or coupled to the other components, may be other element in between It should be. In contrast, when an element is referred to there being "directly connected" to another element or "directly connected", it should be understood that other components in the middle that does not exist.
[39]
The terms used in the present specification are merely used to describe particular embodiments, and are not intended to limit the present invention. Expression in the singular number include a plural forms unless the context clearly indicates otherwise. In this application, the terms "inclusive" or "gajida" terms, such as is that which you want to specify that the features, numbers, steps, actions, components, parts, or one that exists combinations thereof described in the specification, the one or more other features , numbers, steps, actions, components, parts, or the presence or possibility of combinations thereof and are not intended to preclude.
[40]
With reference to the accompanying drawings, it will be described in detail preferred embodiments of the invention. The same reference numerals for the same components on the accompanying drawings and the description redundant with respect to the same elements will be omitted.
[41]
[42]
Figure 1 is a block diagram showing an image encoding apparatus according to an embodiment of the present invention.
[43]
1, the image encoding device 100 includes a picture dividing unit 110, a prediction unit (120, 125), the conversion unit 130, a quantization unit 135, a reordering unit 160, an entropy coding unit ( 165), it may include an inverse quantization unit 140, an inverse transformation unit 145, filter unit 150 and memory 155. the
[44]
FIG constituent parts shown in Fig. 1 does not mean that each independently shown to represent another characteristic feature, made of an constituent parts are separate hardware or a software unit in the image encoding apparatus. That is, the respective constituent parts combined addition of convenience, each of the configuration of at least one constituent part that includes the list part two configurations described or made part a configuration, it is possible to perform a divided parts of one configuration addition plurality of configuration functions for each of these one is included in the scope of the present invention configured without departing from the spirit of the present invention, examples of an integrated and separate exemplary embodiment portion.
[45]
In addition, some of the components are not the essential components that perform essential functions in the present invention can only be an optional component to improve the performance. Structure of the present invention can only be implemented to include only the essential component parts to implement the essence of the present invention except for the components that are used to improve performance, including only optional configuration required components except the elements that are only used for better performance It is also included in the scope of the present invention.
[46]
A picture dividing unit 110 can divide an input picture into at least one processing unit. At this time, in units of prediction unit may be: (CU Coding Unit) (Prediction Unit:: PU) may be a, a translation unit (TU Transform Unit) and may be a coding unit. Picture division section 110 into a plurality of coding unit, a prediction unit, and the combination of the transform unit for the one picture and a predetermined reference (for example, a cost function), as a coding unit, a prediction unit and a translation unit, a combination to select it can be encoded in the picture.
[47]
For example, one picture can be divided into a plurality of coding units. Coding in order to divide the unit of encoding in a picture may be used a recursive tree structure, such as a quad tree structure (Quad Tree Structure) by one of the picture or the maximum size of the encoding unit (largest coding unit) to the root which is divided into different coding units unit may be divided to have the child nodes as many as the number of the divided coded unit. In accordance with a predetermined limit that is no longer divided coding unit is a leaf node. That is, if we assume that the square divided only possible for one of the coding unit, a coding unit may be divided into up to four different coding units.
[48]
Hereinafter, embodiments in the coding unit of the present invention may be used to mean a unit for performing the encoding, it can be used to mean a unit for performing the decoding.
[49]
Prediction unit may be divided to have the form of at least one of the square or rectangle of the same size within a coding unit, one of the any of the prediction unit of the divided prediction unit in the coding units prediction of other It may be partitioned to have a unit with a different shape and / or size.
[50]
If not the minimum coding unit when generating a prediction unit which performs intra prediction based on the encoding unit may perform intraprediction not divided into a plurality of NxN prediction unit.
[51]
Prediction unit 120, 125 may comprise an intra predictor 125 to perform the inter-prediction unit 120 and the intra-prediction for performing inter-prediction. For the prediction unit whether to use the inter prediction or decision whether to perform intra prediction, it is possible to determine the specific information (e.g., intra-prediction modes, motion vectors, reference picture, and so on) for each prediction method. At this time, the prediction process unit is performed and the prediction method and the specific process unit to be the content determined may be different. For example, the prediction method and the prediction mode and the like is determined as a prediction unit, for performing prediction may be performed in a conversion unit. Residual values between the generated prediction block and the original block (residuals block) can be input to the converter 130. Further, the prediction mode information used for prediction, and motion vector information which are coded by the entropy coding unit 165 together with the residual value may be delivered decoding groups. When using a specific encoding mode, instead of generating a prediction block by the prediction unit (120, 125), by directly coding the source block it is also possible to transfer the decrypting unit.
[52]
Inter prediction section 120 thus is predicted based on the information of a part of the coding in the current picture is complete, if the current and of the previous picture or a subsequent picture of the picture also at least predicting the prediction unit, based on information in the one picture, It may predict the unit. Inter prediction section 120 may include a reference picture interpolation, motion prediction unit, a motion compensation unit.
[53]
The reference picture interpolation may receive service information from the reference picture memory 155, it generates the pixel information of more than integer pixels in a reference picture. Can be used for luminance pixel, quarter-8-tap interpolation filter (DCT-based Interpolation Filter) in the DCT-based otherwise the filter coefficient to generate the pixel information of the integer pixels in units of pixels or less. For the color difference signals is 1/8 4-tap interpolation filter (DCT-based Interpolation Filter) in the DCT-based having different filter coefficients on a pixel-by-pixel basis to generate the pixel information of integer pixels or less can be used.
[54]
A motion prediction unit may perform motion estimation based on the reference picture in a reference picture interpolation by the interpolation. There are various methods as a way to calculate a motion vector (Full search-based Block Matching Algorithm) FBMA, TSS (Three Step Search), NTS (New Three-Step Search Algorithm) or the like can be used. A motion vector may have a motion vector value of 1/2 or 1/4 pixel units on the basis of the interpolation pixel. The motion predictor by different motion prediction methods to predict the current prediction unit. Motion predicting method in the skip (Skip) method, merge (Merge) method, AMVP (Advanced Motion Vector Prediction) method, such as an intra block copy (Intra Block Copy) method can be used a variety of methods.
[55]
Intra predictor 125 may generate the pixel information of the current prediction unit based on the reference pixel information of neighboring blocks in the current picture. If it is, the neighboring blocks of the prediction unit then blocks the performing inter-prediction, the reference pixel is a pixel which performs the inter-prediction, with reference of the reference pixel contained in the block performing the inter prediction performs intra prediction for the neighboring blocks of pixels It may be replaced by information. In other words, if reference pixels are not available, it may be replaced by at least one reference pixel in the reference pixels available for reference information that is not available pixels.
[56]
In the intra-prediction mode, prediction may have a non-directional mode that does not use the directional information for the performance of the directional prediction mode, the prediction using the reference pixels in accordance with information on a prediction direction. And a mode for predicting the mode and color difference information to predict the luminance information may be different, it is possible to take advantage of the intra-prediction mode information or the prediction luminance signal information used to estimate the brightness information to estimate the color difference information.
[57]
Intra-prediction for a case the same size of the size of the translation unit of the prediction unit when performing the intra prediction, a pixel that exists on the left side of the prediction unit, and the pixel, the prediction unit based on the pixels existing in the top of existing in the upper left the can be performed. But it can be when the size of the prediction unit to perform the intra-prediction size and phase conversion unit, using the reference pixel on the basis of a conversion unit to perform intra prediction. It is also possible to use the intra-prediction using the NxN split only for the minimum coding unit.
[58]
Intra-prediction method may generate a prediction block after applying (Adaptive Intra Smoothing) AIS filter the reference pixels according to the prediction mode. Type of AIS filters that are applied to the reference pixel may be different. The intra-prediction mode of the current prediction unit for performing intra prediction method may be predicted from the intra-prediction mode of the prediction unit existing in the vicinity of the current prediction unit. When prediction a prediction mode of the current prediction unit using the mode information predicted from the surrounding prediction unit, the intra prediction mode is the same when using the predetermined flag information, the current prediction unit and the surrounding prediction unit for the current prediction unit and the surrounding prediction unit a prediction mode and to transmit the same information that, if the can when the prediction mode of the current prediction unit and the peripheral units of different prediction by performing the entropy coding to encode the prediction mode information of the current block.
[59]
In addition, a residual block that contains the prediction section 120, 125 predicted by performing a prediction based on a prediction unit of the unit to the original block of the prediction unit and the difference value of the residual values (Residual) information generated by the can be generated. The generated residual block may be input to the converter 130.
[60]
Conversion unit 130 in the source block and the prediction unit (120, 125) (Discrete Cosine Transform), DCT residual block including residual value (residual) information of the predicted unit generation via, DST (Discrete Sine Transform), KLT and using the same conversion method can be converted. To apply the DCT transform to the residual block, the intra-prediction mode information of the prediction unit used to generate the residual block might seem apply to apply the DST or KLT can be determined based on.
[61]
The quantization unit 135 may quantize the values converted into the frequency domain in a transform unit 130. The Based on the importance of the image or depending on the block quantization coefficient it may be varied. A value calculated by the quantization unit 135 may be provided to the inverse quantization unit 140 and the reordering unit 160.
[62]
Reordering unit 160 may perform the reordering of the coefficient value for the quantized residual values.
[63]
Rearrangement unit 160 may change the form factor of the two-dimensional block by a coefficient scanning method (Coefficient Scanning) in the form of a vector of 1 dimension. For example, the rearrangement unit 160, the zig-zag scanned using a scan (Zig-Zag Scan) method from the DC coefficient to the coefficients of the high frequency region can be changed to a one-dimensional vector format. May be used instead of the horizontal scanning to scan zag scan vertical scan to scan two-dimensional coefficients of the block type in the column direction, the block coefficient of the two-dimensional form in the row direction according to the size of the transformation unit and the intra prediction mode jig. That is, according to the size and the intra-prediction mode of the conversion unit of zig-zag scanning may determine whether, any scanning method of the vertical scan and the horizontal scan will be used.
[64]
The entropy encoding unit 165 may perform entropy-encoding on the basis of the value calculated by the reordering unit 160. The Entropy encoding, for example, exponential Golomb (Exponential Golomb), may be used for various coding methods such as CAVLC (Context-Adaptive Variable Length Coding), CABAC (Context-Adaptive Binary Arithmetic Coding).
[65]
The entropy encoding section 165 rearrangement unit 160 and the prediction unit (120, 125) from the residual value of the coefficient of the coding unit information and block type information, prediction mode information, the division unit information, a prediction unit of information and transmission unit information, motion vector information, and reference frame information, interpolation information, filter information of the block can be encoded in a variety of information.
[66]
The entropy coding unit 165, the entropy encoding may be the coefficients of a coded unit of input in the rearrangement unit 160. The
[67]
The inverse quantization unit 140 and inverse transform unit 145 inverse quantizes the values quantized by the quantization unit 135 and inverse transform the values converted by the conversion unit 130. Residual value (Residual) generated by the inverse quantization unit 140 and inverse transformation unit 145 is the prediction unit restoring combined with the motion estimator, a motion compensator, and intraprediction predicted through parts prediction unit comprises a (120, 125) it is possible to produce a block (block Reconstructed).
[68]
Filter unit 150 may include at least one of a deblocking filter, offset correction, ALF (Adaptive Loop Filter).
[69]
De-blocking filter may be removed and the resulting block distortion due to the interface between the block in the reconstructed picture. To perform a de-blocking can be determined whether or not to apply the deblocking filter to the current block based on pixels included in several rows or columns included in the block in order to determine. For the application of the deblocking filter to the block it can be applied in a strong filter (Strong Filter) or a weak filter (Weak Filter) in accordance with the necessary de-blocking filter strength. Also note that when applying the deblocking filter for vertical filtering and horizontal filtering can be done in parallel for processing the horizontal filter and vertical filter.
[70]
Offset compensation unit for performing a de-blocking the image it is possible to correct the offset of the original image in pixels. Offset and then divided into the area of the number of certain of the pixels included in the image to perform the offset correction for the specified picture determines the area to perform the offset considering a method of applying an offset to the area or edge information of each pixel you can use the method of applying.
[71]
(Adaptive Loop Filtering) ALF may be performed on the basis of a comparison of the original picture and the filtered reconstructed image value. Divide the pixels included in the image in a predetermined group can be performed by determining the differential filter as a single filter to be applied to the group for each group. Information relating to whether to apply the ALF is a luminance signal is shaped, and the filter coefficients of the filter to be applied in accordance with the ALF coding unit (Coding Unit, CU) each block can have, to be transmitted by each may vary. Further, the application may be applied to the ALF filter of the same type (fixed type) regardless of the characteristics of the current block.
[72]
Memory 155 may store the reconstructed picture block or output through a filter section 150, the stored recovery block or picture may be provided at the time of performing inter-prediction predictor (120, 125).
[73]
[74]
Figure 2 is a block diagram showing an image decoding apparatus according to an embodiment of the present invention.
[75]
2, the video decoder 200, an entropy decoding unit 210, a reordering unit 215, an inverse quantization unit 220, an inversion unit 225, a prediction unit (230, 235), the filter unit ( 240), may be included in the memory 245.
[76]
If the video bit streams from the video encoder input, the input bit stream can be decoded in the process of a video encoder and opposite.
[77]
The entropy decoding unit 210 may perform entropy decoding in the reverse procedure to that performing the entropy coding in the entropy coding unit of the video encoder. For example, it is possible to correspond to the process performed in the video encoder be subject to a variety of methods such as exponential Golomb (Exponential Golomb), CAVLC (Context-Adaptive Variable Length Coding), CABAC (Context-Adaptive Binary Arithmetic Coding).
[78]
The entropy decoding unit 210, the can decrypt the information with regard to intra-prediction and inter-prediction performed in the encoder.
[79]
Reordering unit 215 may perform reordering based on the way rearrange the entropy decoded bitstream in the entropy decoding unit 210 in the encoding unit. The coefficients represented as one-dimensional vector form may be further rearranged to restore it to the coefficients of the blocks in the form of two-dimensional. Reordering unit 215 by the received provided information related to the coefficient scanning performed on the coding unit based on the scanning procedure performed in the encoding unit may perform reordering by a method of scanning in reverse.
[80]
The inverse quantization unit 220 may perform inverse quantization based on the count value of the reordered block and the quantization parameter provided by the encoder.
[81]
Inverse transform unit 225 may be for a conversion that is, DCT, DST, and KLT performed in converting unit for performing a quantization result by the image encoder performs the inverse transformation that is, reverse DCT, reverse DST and inverse KLT. The inverse transform may be performed on the basis of the transmission unit is determined from the video encoder. The inversion unit 225 of the video decoder prediction method, the transformation method (e.g., DCT, DST, KLT) based on the current block of the plurality of information such as the size and direction of prediction can be carried out selectively.
[82]
Predictor (230, 235) may generate a prediction block based on a previously decoded block, or picture information provided by the entropy decoding unit 210, a prediction block generated additional information and the memory 245 provided in the.
[83]
Present on equally to the operation of the video encoder, the size of the size and the conversion unit of the prediction unit of the same when performing the intra prediction, pixel, the upper present in the pixels, the upper left corner existing on the left side of the prediction unit as described above, on the basis of pixels that performs intra-prediction for a prediction unit, however, the case where the size of the transformation unit of the prediction unit for the performance of intra prediction different, using a reference on the basis conversion units of pixels to perform the intra prediction can. It is also possible to use the intra-prediction using the NxN split only for the minimum coding unit.
[84]
Predictor (230, 235) may include predicting unit determining unit, an inter prediction unit and the intra-prediction unit. Prediction unit judging section receives a variety of information such as the motion prediction information of the entropy decoding unit 210, prediction unit information, the intra-prediction method to be input in the prediction mode information and inter-prediction method of the separate prediction unit of the current coding unit, and prediction if the unit is performing inter prediction or it can be determined whether to perform intra prediction. The inter-prediction unit 230 is provided in the video encoder using the information necessary for inter-prediction of the current prediction unit are predicted on the basis of the information contained in the at least one picture of the previous picture or a subsequent picture of a current picture containing the current prediction unit It may perform inter prediction on the unit. It may perform inter-prediction based on the information of the restored partial area - or, a group within a current picture containing the current prediction unit.
[85]
Motion predicting method in the prediction unit included in the coding unit, based on the coding units for performing inter-prediction is a skip mode (Skip Mode), merge mode (Merge mode), AMVP mode (AMVP Mode), the intra-block copy mode of what kind of method can determine whether or not.
[86]
An intra prediction unit 235 may generate a prediction block based on a pixel information in the current picture. When the prediction unit of the prediction unit that performs intra prediction, based on the intra-prediction mode information of the prediction unit provided in the video encoder to perform intra prediction. An intra prediction unit 235 may include a (Adaptive Intra Smoothing) AIS filter, the reference pixel interpolating units, DC filter. AIS filter may be applied to determine whether a filter is applied in accordance with the prediction mode of the current prediction unit as a part that filters the current block of the reference pixel. Using the prediction mode information of the prediction filter and the AIS unit provided in the video encoder may perform the AIS filtering the current block of the reference pixel. If the current mode is a prediction mode of the block does not perform filtering AIS, AIS filter can not be applied.
[87]
Reference pixel interpolation unit may if the prediction mode of the prediction unit of one prediction unit which performs intra prediction based on the pixel value interpolation reference pixels, by interpolating the reference pixel to generate a reference pixel of a pixel unit or less constant value. If the prediction mode of generating a predictive block without the prediction mode of the current prediction unit interpolates the reference pixels a reference pixel can not be interpolated. DC filter has a prediction mode of the current block to generate a prediction block through the filter when the DC mode.
[88]
The reconstructed block or picture may be provided to filter unit 240. Filter unit 240 may include the deblocking filter, offset correction, ALF.
[89]
From the video encoder can be provided with information and di was applied when the blocking filter, information on whether the applied strong filter or apply a weak filter to whether on whether or not applying the deblocking filter to the block or picture. The deblocking filter of a video decoder being provided for the de-blocking filter-related information provided from the video encoder may perform deblocking filtering on the block in the video decoder.
[90]
Offset correcting unit may perform the offset correction on the restored image based on the information such as the type and the offset value of the offset compensation applied to the video encoding operation.
[91]
ALF may be applied to the encoding unit on the basis of whether the ALF application provided from the encoder information, ALF coefficient information, and the like. The ALF information may be provided to include a particular parameter set.
[92]
Memory 245 stores the reconstructed picture blocks or can to be used as a reference picture or a reference block may also provide the reconstructed picture as an output module.
[93]
In the following embodiments, the present invention as described above, used as a term for convenience coding unit (Coding Unit) coding units of description, but the encoding may be not only a unit for performing the decoding.
[94]
Also, the current block, to indicate the coding / decoding the current block, the encoding / accordance with the decoding phase, the coding tree block (or coding tree unit), an encoding block (or encryption unit), the conversion block (or a conversion unit), or prediction block It can be an indication or the like (or the prediction unit).
[95]
[96]
One picture can be divided into the basic blocks of the square or non-square shape encoding / decoding. In this case, the basic blocks may be referred to as the coding tree unit (Coding Tree Unit). Coding tree unit may be defined as the largest size allowed by the encoding unit sequence or a slice. Coding tree unit information related to the size of the square or non-square shape and whether or coding tree unit may be signaled through a sequence parameter set, picture parameter set or a slice header and the like. Coding tree unit may be divided into a smaller size for the partition. In this case, if the generated partition tree by splitting a coding unit as to the depth 1, the partitions created by dividing the depth of 1 partitions can be defined as the depth 2. That is, by dividing the generated within the depth k of the partition tree coding unit partition may be defined as having a depth k + 1.
[97]
Coding tree unit may be defined as a coding unit for partitioning the generated arbitrary size as the split. The coding unit is divided or recursively, may be divided into a basic unit for performing a predictive, quantized, transformation, or in-loop filtering, and the like. For example, any size of the partition generated as the coding units is split may be defined or the coding unit, defined as the predicted, quantized, transformation, or the basic unit of conversion unit or a prediction unit for performing such loop filter.
[98]
Partitioning of the coding tree unit or a coding unit, a vertical line may be performed based on at least one of (Vertical Line) or horizontal (Horizontal Line). In addition, the number of vertical and horizontal lines that partition the coding tree unit or a coding unit may be at least at least one. For example, as a vertical line, or one with a horizontal line, the coding tree unit or dividing the coding unit into two partitions, or two vertical and two by a horizontal line, the three partitions the coding tree units or coding unit It can be split. Or, by using a single vertical line and one horizontal line, it is possible to divide the coding tree units or coding unit to the four partitions of the length and width of one-half.
[99]
If the coding tree units or coding unit by using at least one vertical or at least one horizontal line is divided into a plurality of partitions, the partitions may have a uniform size, or may have a different size. Alternatively, it may also be any one of the partitions have a different size from the rest of the partition.
[100]
In the embodiments to be described later for example, it is assumed to be divided into a coding tree units or coding unit quadtree, triple tree or a binary tree structure. However, it can also be further divided in the coding tree units or coding unit by using a large number of vertical line or a larger number of horizontal lines of the.
[101]
Figure 3 illustrates an example of dividing the one embodiment to which the present invention is applied, coded block on the basis of the tree structure (tree structure) in a hierarchical manner.
[102]
The input video signal is decoded by a predetermined block unit, the basic unit is referred to as a coded block for decoding Thus the input video signal. Coding block may be a unit for performing the intra / inter-prediction, transformation, quantization. Further, the coding block unit prediction mode is determined (e.g., the intra-prediction mode or the inter-prediction mode), the prediction block included in the coded blocks, it is possible to share the determined prediction mode. Coded block may be a square or non-square blocks of arbitrary size of 8x8 to 64x64 belonging to the range, it can be 128x128, 256x256, or a square or non-square block having a size more.
[103]
Specifically, the coding block can be divided into a hierarchical tree based on at least one of a quad (quad tree), triple tree (triple tree), and a binary tree (binary tree). Here, the division of the quad-tree based 2Nx2N coded block with four NxN a manner that is divided into coded blocks, triple-partitioning of the tree-based is how a coding block is divided into three code blocks, a binary tree split of base may refer to one way of coding the block is divided into the two coded blocks. Although the triple tree or a binary tree-based partition of the partition was performed, in the lower depths may be present in the square in the coding block. Or, after the triple tree or a binary tree-based partition of the partition is performed, the sub-depth may be limited to be a square coding block generated.
[104]
Dividing the binary tree-based may be performed symmetrically, and may be performed asymmetrically. The coded blocks divided by a binary tree-based block may be a square, but may be non-square block such as a rectangular. For example, as shown in the example in shown in Figure 4 the partition shape which the division of a binary tree-based allow, symmetric (symmetric) of 2NxN (horizontal non-square coding unit) or Nx2N (vertically non room coding unit), an asymmetric of the type (asymmetric) in nLx2N, nRx2N, 2NxnU 2NxnD or it may include at least one.
[105]
Division of the binary tree-based and may be limited to allow only one of a symmetric or asymmetric form of partition. In this case, it is for constituting the coding tree unit, a square block for the quadtree partitioning CU, configure coding tree unit, in a non-symmetric square block may correspond to a binary tree partitioning. What constitutes a tree-coding unit in a square block with symmetric non-square block may correspond to a quad, and a binary tree CU partitioning.
[106]
Dividing the binary tree-based may be performed on a coding block is divided in the quad-tree based it is no longer performed. Binary partition tree of quad-based for the coded blocks divided in a tree-based, tree-based triple of the division or partition of at least one of a binary tree-based, may be set to no longer be performed.
[107]
Alternatively, but allow the triple tree-based partition or division of the binary tree based on the coding block divided by a binary tree-based, it is also possible to allow limited to only one of the horizontal direction or divided in the vertical direction.
[108]
For example, it is also possible to limit further divided or further divided direction on the location, index, types, coded blocks divided by a binary tree-based depending on the further divided in the form of adjacent partitions of the encoded block divided by a binary tree-based. For example, a binary tree split the index of the code block before the two coded coding sequence of the blocks generated by the 0 (hereinafter referred to as coded block with index 0) of the base, the coding order is 1 (the index of the coded block on the back, when called coded block index 1), the coding block index 0 or coded block index 1 in the case that the division of a binary tree-based applied to all coded blocks, dividing direction of the binary tree based on the coded block index is 1, the coded block, coded block index can be determined according to the dividing direction of the zero-tree of binary-coded block based. Specifically, the coded block, if the index is the division direction of the zero binary tree for coding the block-based to split a coded block coded block index is zero in the square partitions, the coding block index of 1, a binary tree-based coding block the partition can be limited so as to have a partition different from the direction of the binary tree based on the coded block index 1 of the coding block. That is, the coded block with index 0 and index 1 coded block of coded blocks may all be limited to be divided into a square partition. In this case, the encoding / decoding of the information representing the binary tree splitting direction of the coded block index is 1, the coded block can be omitted. This coded block with index 0 and index 1 coded block of coded blocks is all that is divided into a square partitions, the bar represents the equivalent to dividing the higher block to a depth quadtree-based,
[109]
Triple-partitioning of the tree base, means for dividing the coded blocks in the horizontal or vertical direction into three partitions. Triple all three partitions of the tree based on the generated due to division can have different sizes. Or, two of the partitions created due to the division of the tree-based triple has the same size, there is also the other one can have any different size. For example, the coding block width ratio or height ratio of generated partitions as partition 1 according to the dividing direction: to be set to 1: n: 1, 1: 1: n, n: 1: 1 or m: n have. Here, m and n may be an integer, e.g., 2 to a real number greater than 1, or 1.
[110]
Triple-partitioning of the tree-based may be performed on a coding block is divided in the quad-tree based is no longer performed. Access may for coded blocks divided in a tree-based, the division of the quadtree-based, tree-based triple-partitioning of binary or tree-based partition of the at least one can be set to no longer be performed.
[111]
Alternatively, triple, but the tree-based acceptable triple tree-based partition or division of the binary tree based on the divided coded block, it is also possible to allow limited to only one of the horizontal direction or divided in the vertical direction.
[112]
For example, the triple depending position of the coded blocks divided in a tree-based, the index, shape, size and further divided in the form of adjacent partitions or the like, it is also possible to limit further divided or further divided direction for the coded blocks divided into a triple-tree-based. For example, the triple can be either a horizontal division or a vertical division for the size of the tree-based coded blocks generated by the division of the largest partition is restricted. Specifically, triple the size of the coded blocks generated by the splitting of the tree based on the largest partition is two triple tree division direction and triple tree partitioning of the binary tree split, or the same direction with the same orientation direction of the upper depth, the partition may not be allowed have. In this case, the triple is a tree-based coding / decoding of information representing the binary tree split "nwom * or triple tree splitting direction for the largest partitions of the divided coded block to may be omitted.
[113]
It may be a division of the binary tree or a tree-based triple limited by the size or type of the current block. Here, the size of the current block, based on at least one of the number of samples included in the sum, the width and the product, or the current block of the height of the width, height, and width / minimum value of the height / maximum values, the width and height of the current block It can be expressed. For example, in the case at least one of the width or height of the current block is greater than a previously defined value, the binary tree or a tree-based triple split may not be allowed. Here, the value defined group may be an integer, such as, 16, 32, 64 or 128. As another example, the width and the height ratio is greater than a previously defined value or a defined group, if less than the value of the binary tree or a tree-based triple-partitioning of the current block may not be allowed. If the value defined group 1, there is a current block, the width and height can be a division of the binary tree or a tree-based triple allowed only when the same square block.
[114]
Dividing the sub-depth may be determined as dependent on the splitting type of the upper depth. If a one embodiment, the partitioning of the binary tree based on more than one depth allows, only a binary tree split and forms the same type of binary tree-based partition of the upper depth, this can be tolerated at lower depths. For example, if the binary tree based on the parent depths to form 2NxN division is carried out, even in the lower depth of the division of a binary tree-based 2NxN form can be carried out. Or, in the case of a binary tree-based Nx2N to form in the upper division depth is carried out, even in the lower depth of the division of a binary tree-based Nx2N shape can be allowed.
[115]
On the other hand, it is also possible to allow at lower depths, only a binary tree split and form different types of binary tree-based partition of the upper depth.
[116]
For a sequence, a slice, the coding tree units or coding unit, is a particular form of binary tree-based partition or the specific form of the division of the tree-based Access may be limited to use only. For example, it is possible to limit the allowed 2NxN or only division of a binary tree-based Nx2N form for coding tree unit. Partition type may be acceptable to code the information about the partition type that encoder or decoded groups may be defined based, not allowed, or allowed to form partition signaling on the bit stream.
[117]
5 is a view showing an example in which only a particular form of binary tree-based partition allowed. Figure 5 (a) represents an example that only a limited partitioning of the binary tree based Nx2N This allows, also (b) the 5 shows an example that only a limited partitioning of the binary tree based 2NxN This allowed. Indicating the division of the information, a binary tree based on the size / depth of the quad-tree or a binary tree-based adaptive that this information, quad split tree-based allow for instructing the division of the quad-tree basis to implement the partition coded block for information, a binary tree based on whether the division is the division of information or a binary tree based on the size / depth of the information, a binary tree-based coding block is divided is not permitted for the size / depth of the coded blocks which allow the vertical direction or include information about whether the horizontal direction may be used.
[118]
In addition, the coding tree unit or for a given coding unit, and a binary tree split / triple tree segmentation is permitted number, a binary tree splitting / triple tree, the number of depth or a binary tree splitting / triple tree divided allowed depth to be split is allowed to be and the like can be obtained. The information may be transmitted via the group decoding, the bitstream is coded in the coding tree unit or units of the coding unit.
[119]
For example, it is through the bit stream, the syntax 'max_binary_depth_idx_minus1' represents the maximum depth that a binary tree segmentation is allowed to be coded / decoded through the bit stream. In this case, max_binary_depth_idx_minus1 + 1 may point to a maximum depth which is a binary tree split allowed.
[120]
Referring to Figure 6, in the example illustrated, shown as a in Fig. 6, a binary tree split for the depth 2 encoding unit 3 and the depth of the coding units performed. Accordingly, the coding tree unit in the binary tree splitting is carried out a number of times (twice), representing the information, the coding tree unit in the binary tree splitting the maximum allowed depth information or coding tree unit indicating (depth 3) in the binary tree split the number of acceptable depth at least one of information indicating (2, depth 2, depth and 3) can be encoded / decoded by the bitstream.
[121]
As another example, a binary tree splitting / triple tree segmentation is permitted number, a binary tree splitting / triple tree splitting at least one of the number of depth or a binary tree splitting / triple tree divided allowed depth is allowed to be is by the sequence, picture or slice It can be obtained. For example, the information, is encoded in a sequence, picture or slice units may be transmitted on a bit stream. Or, the sequence, there may be a number of the picture or a binary tree splitting / triple tree partitioned allows the depth or a binary tree splitting / triple tree split acceptable depth for each slice is defined group. Accordingly, the first slice and the second slice, a binary tree / triple tree division number, a binary tree / triple tree segmentation is allowed up to a depth or a binary tree / triple tree splitting to at least one phase of the number of depth is allowed to be can. For example, in the first slice, while the one which is allowed only in a binary tree split depth, the second slice, a binary tree split can be tolerated in the two depths.
[122]
In yet another example one slice or a depth that is a binary tree / triple tree segmentation is permitted number, a binary tree / triple tree splitting the depth or a binary tree / triple tree split acceptable allows that with time the level identifier (TemporalID) of the picture It may be set differently at least one of a number. Here, the time the level identifier (TemporalID), the point (view), the space (spatial), time (temporal) or the image quality (quality) of the at least one scalability (Scalability) for identifying a plurality of layers each image having a will be.
[123]
3, the depth divided (split depth) k is the first coding block 300 may be divided into a plurality of second coding block based on the quad-tree (quad tree). For example, the second coding block 310 to 340 is a square block that has a half size of the width and height of the first coded block, dividing the depth of the second coded block can be increased to k + 1.
[124]
Dividing the depth k + 1 of the second coding block 310 may be divided into a plurality of third code block division depth of k + 2. Second dividing the coding block 310 can be carried out according to the division method by selectively using any one of the quart tree or a binary tree. Here, the division method may be determined based on at least one of information indicating a division of the divided information or a binary tree-based indicative of a quadtree-based.
[125]
The second coding block 310 two quarts case that is divided into a tree-based, the second coding block 310 is divided into four third coded block 310a having a half size of the width and height of the second coded block, the third coded block 310a dividing the depth may be increased to k + 2. On the other hand, in a case that is divided into second coding block 310 is a binary tree based on the second coding block 310 may be divided into two third block coding. At this time, each of the two third coded block is one half the size of the non-square blocks of the width and height of the second coded block, split-depth can be increased to k + 2. The second coded block according to the dividing direction may be determined in a non-square block in the transverse direction or the longitudinal direction, dividing direction may be determined based on information on whether the division of a binary tree-based portrait or landscape orientation.
[126]
On the other hand, the second coding block 310 may be determined by end-coded blocks which are no longer dividing, based on the quad-tree or a binary tree, in this case, the coding block may be used as a predicted block or a transform block.
[127]
Third coding block 310a of the second terminal or determined by the coding block dividing, like the coding block 310 and may be further divided based on the quad-tree or a binary tree.
[128]
On the other hand, the three coded blocks divided by a binary tree-based 310b are further based on a binary tree may be further divided into the coding blocks (310b-2) or a coded block (310b-3) in the horizontal direction in the vertical direction, the coding division depth of the block can be increased to k + 3. Alternatively, the third coded block 310b based on the binary tree further may be determined by non-dividing end-coded block (310b-1), In this case, the coding block (310b-1) can be used as a predicted block or a transform block can. However, the above-described segmentation process allows the division of information or a binary tree based on the size / depth of the information, a binary tree-based coding block is divided is allowed on the size / depth of the coded blocks allowed the division of the quad-tree based on the size / depth of the non-coded block may be performed in a limited based on at least one of information.
[129]
Size of the coding block can have, or are limited to a predetermined number, the size of the unit within the predetermined coding blocks may have a fixed value. For example, the size or the size of the coding block of the picture within the coded block sequences, can be limited to 256x256, 128x128 or 32x32. The information indicating the size of the sequence or the picture within the coding block may be signaled by a sequence header or picture header.
[130]
Division result based on the quad-tree, binary tree, and triple tree, the coding unit may ttil a rectangle or square of any size.
[131]
[132]
Coding block is a skip mode, and can be encoded / decoded using intra prediction, at least one of the prediction method or inter-picture skipped.
[133]
As another example, it may perform intra prediction or inter prediction through the division of the encoding block in units smaller than the same size or a coded block and a coded block. To this end, when the coded block is determined, it can be divided through the prediction of the coding block to determine the predicted block (Block Prediction). Prediction of the coding block dividing may be performed by a partition mode (Part_mode) showing a split in the form of coded blocks. Size or shape of the prediction block may be determined according to a partition mode of the coded block. For example, the size of the prediction block, which is determined according to the mode partition can have the same or a smaller value as the size of the coding block.
[134]
7 is a diagram illustrating a partition mode that can be applied to the coded block when the coded block is coded in inter picture prediction.
[135]
If the coding block coded by inter picture prediction, coding block, as shown in the example in shown in Figure 7, any of the eight partition mode can be applied.
[136]
If the coded blocks are coded with intra picture prediction, the coding block may be subject to a partition mode PART_2Nx2N or PART_NxN.
[137]
PART_NxN is applicable when the coded blocks having the minimum size. Here, the minimum size of the coding block can be defined based on the encoder and decoder. Alternatively, information on the minimum size of the coding block may be signaled through a bitstream. For example, the minimum size of the coding block is signaled through the slice header, and therefore, a minimum size of the coding block can be defined by each slice.
[138]
In general, the size of the prediction block may have a size of from 64x64 4x4. However, if the coded block coded by inter picture prediction, when performing motion compensation, to reduce the memory bandwidth (memory bandwidth), it is possible to prevent the prediction blocks have a 4x4 size.
[139]
[140]
8 is a flowchart illustrating the inter-prediction method according to an embodiment to which the present invention is applied.
[141]
8, it is possible to determine the motion information of the current block (S810). The motion information of the current block, may include at least one of inter-prediction direction, the reference picture index of motion vector or the current block, the current block of the current block.
[142]
The motion information of the current block may be obtained on the basis of at least one of motion information of neighboring blocks adjacent to the current block, or information that is signaled via the bitstream.
[143]
9 is a case where the merge mode applied to the current block, a diagram illustrating a process for deriving the motion information of the current block.
[144]
When the merge mode applied to the current block, it is possible to derive the spatial merge candidates from the spatially neighboring blocks of the current block (S910). Spatially neighboring blocks may include at least one of the blocks adjacent to the current top of the blocks, or the left corner of the current block (for example, at least one of the upper left corner, upper right corner, or bottom left corner). Here, the blocks adjacent to the top of the current block, may include at least one of a block neighboring a block, the block or the upper right samples of the present block adjacent to the upper middle sample neighboring the left upper sample of the current block, the current a block adjacent to the left side of the block may comprise at least one of a block neighboring a block, lower left block or samples of the present block adjacent to the left center samples neighboring the sample top left of the current block.
[145]
Spatial non-neighboring blocks may be derived from the spatial merge candidate for the current block. For example, a block which is located in the same vertical line and the current block is the top, the upper right corner or a block adjacent to the upper left corner of the left of the current block, a block which is located on the same horizontal line and the block adjacent to the top of the lower left corner or the left-hand corner or may derive a spatial merge candidate for the current block based on at least one of the blocks which is located on the diagonal line are the same as the block adjacent the corners of the block. If a concrete example, the adjacent block adjacent to the current block that can not be used as the remaining candidates can be used to non-adjacent blocks to the current block to the remaining candidates for the current block.
[146]
The motion information of the spatial merge candidates, can be set equal to the motion information of the spatial neighboring blocks.
[147]
Can derive the time remaining from the time the candidate neighboring blocks of the current block (S920). Temporally neighboring blocks, may refer to the co-located block (co-located block, Colo K lactide block) included in the Colo K suited picture. Colo K suited picture is the current picture has a different temporal order (Picture Order Count, POC) that contains the current block. Colo Kate picture may be determined by the index of crystal or a picture having an index defined groups within the reference picture list, and signaling from the bitstream. Temporally neighboring blocks, and can be determined in a block adjacent to the present block and Colo K sited within the same location and with the block in any block of the picture size or the block having the same position and size as the current block. In one embodiment, at least one of colo K lactide block including the central coordinates of the picture block which has the same position and size as in the current block or a block adjacent to the lower right boundary of the block can be determined as temporal neighboring blocks.
[148]
Motion information on a time remaining candidates, may be determined based on the motion information of temporally neighboring blocks. For example, motion vector of the temporal merge candidates, may be determined based on the motion vector of the temporally neighboring blocks. In addition, the inter-prediction in the temporal direction, the remaining candidates can be set equal to the inter-prediction in the temporal direction neighboring blocks. However, a reference picture index for the time remaining candidates, may have a fixed value. For example, a reference picture index for the time remaining candidates may be set to '0'.
[149]
Then, it is possible to generate a merge candidate list including the spatial and temporal merge candidates remaining candidate (S930). If, before long, if the number of remaining candidates included in the candidate list are less than the maximum number of remaining candidate, the remaining candidate with the remaining two or more combining the candidate combined merge candidate or (0,0) motion vector (zero motion vector) is It may be included in the merge candidate list.
[150]
Merge candidate may be included in the merge candidate list in accordance with the previously defined priorities. First, the index is higher the rank assigned to the remaining candidate may then be a low value. For example, the spatial merge candidate may be first added to the merge candidate list than a temporal merge candidate. In addition, the spatial remaining candidates is close to the spatial merge candidate spatial merge candidate spatial merge candidates of blocks adjacent to the upper right corner, the spatial merge candidates and the upper left corner of the block adjacent the bottom left corner at the top of the neighboring blocks of the left neighboring block a block of spatial merge candidate, may be added to the merge candidate list.
[151]
As another example, it may determine the priority between the remaining candidates according to the size or type of the current block. For example, if the current block has a width greater than the height of the rectangular shape, the spatial merge candidate for the left neighboring blocks can be added to the remaining candidate list before the spatial merge candidate for the upper adjacent block. On the other hand, if the current block has a height greater than width, a rectangular shape, a spatial candidates remaining in the upper neighboring blocks may be added to the remaining candidate list before the remaining spatial candidate of the left neighboring block.
[152]
According to another example, the remaining candidates, each of the motion information, may determine the priority between the remaining candidates. For example, the remaining candidate with the bi-directional motion information may have a higher priority than the remaining candidate with the one-way motion information. Accordingly, the remaining candidate with the bi-directional motion information can be added to the first of the remaining candidate list merge candidate with the one-way motion information.
[153]
As another example, it is also possible to rearrange the back, the remaining candidates generating a merge candidate list in accordance with the previously defined priorities. Rearrangement can be carried out on the basis of the motion information of the remaining candidates. For example, the remaining candidates can be rearranged performed based on at least one of a temporal sequence (POC) between the bi-directional motion information gatneunji whether the motion vector of the size or the current picture and the reference picture of the remaining candidates. Specifically, the rearrangement can be carried out so as to have a higher priority than the remaining candidate having a one-way merge candidates remaining after having a bi-directional motion information.
[154]
If the remaining candidate list is generated on the basis of the remaining candidate index, it is possible to specify at least one of the remaining candidates included in the merge candidate list (S940).
[155]
The motion information of the current block, may be set equal to the motion information on the remaining candidate specified by the merge candidate indexes (S950). For example, by a merge candidate index, in the case where the spatial merge candidate is selected, the motion information of the current block, may be set equal to the motion information of the spatial neighboring blocks. Or, in the case by the remaining candidate index, time remaining candidate is selected, the motion information of the current block, may be set equal to the motion information of temporally neighboring blocks.
[156]
10 is a case where the mode for the current block AMVP apply a diagram illustrating a process for deriving the motion information of the current block.
[157]
When the mode AMVP applied to a current block, from the bit stream it can be decoded at least one of the current inter-prediction direction, or a reference picture index for the block (S1010). That is, when the mode AMVP applied, at least one of the current inter-prediction direction, or a reference picture index for the block may be determined based on the encoded information in the bit stream.
[158]
Based on the motion vectors of spatially neighboring blocks of the current block, it is possible to determine the spatial motion vector candidates (S1020). Spatial motion vector candidates, may include at least one of the second spatial motion vector candidates derived from the first spatial motion vector candidates and the left neighboring block of the current block is derived from a top neighboring block of the current block. Here, the upper adjacent block and including at least one block adjacent the top or the upper right corner of the current block and the left neighboring block to the current block is to include at least one of a block adjacent to the left side or the lower left corner of the current block can. A block adjacent to the upper left corner of the current block, may be treated in the top of the neighboring block, or may be treated as the left neighboring block.
[159]
If the reference picture is present between the current block and spatially neighboring blocks a different spatial motion vector may be obtained by scaling the motion vectors of spatially neighboring blocks.
[160]
On the basis of a motion vector of a temporally adjacent block of the current block, it is possible to determine the temporal motion vector candidate (S1030). If the reference picture is present between the current block and temporally adjacent blocks are different, the temporal motion vector may be obtained by scaling the motion vector of the temporally neighboring blocks.
[161]
It may generate a list of candidate motion vectors including a motion vector candidate spatial and temporal motion vector candidates (S1040).
[162]
When the motion vector candidate list is generated, on the basis of at least one of a motion vector candidate list in which specific information, it is possible to specify at least one of the candidate motion vectors included in the motion vector candidate list (S1050).
[163]
The motion vector candidate specified by the information, set to the current block in the motion vector prediction value and the combined motion vector difference value of the motion vector predicted value, it is possible to obtain a motion vector of a current block (S1060). At this time, the motion vector difference values, can be parsed by the bit stream.
[164]
When the current block in the motion information is obtained, based on the obtained motion information, it is possible to perform motion compensation of the current block (S820). Specifically, on the basis of the inter-prediction direction of a current block, the reference picture index and the motion vector, the motion compensation may be performed for the current block.
[165]
The inter-prediction may be performed in sub-block units. Specifically, it is possible to divide the current block into sub-blocks, determining the motion information in sub-block units. Then, it is possible to perform motion compensation to sub-block based on the determined movement information.
[166]
Whether to perform the inter-picture prediction in sub-block units whether or not can be determined based on at least one of the current block size, the shape or image resolution. For example, when the size of the coding block is greater than a previously defined size, a certain coding block divided into sub-blocks of size, it is possible to perform motion compensation to sub-block units. Or, the information indicating whether the motion compensation performed in units of sub-block is coded is decided decoding may be transmitted. The information may be transmitted on a block-by-block basis (e.g., a coding unit coding tree or unit) or slice units.
[167]
If it is set to perform a motion compensation sub-block, the current block may be divided into a predetermined size / shape of the sub-blocks. Here, the size and shape of the sub-blocks may be defined based on the encoder and decoder. In one embodiment, it can be a motion compensation performed in units of sub-blocks of 4x4 size.
[168]
Alternatively, it is also possible to determine the size or form of the sub-blocks according to the size or type of the current block is adaptively. For example, in the coded block more than 64x64 can perform motion compensation with sub-blocks of 8x8 size, and the smaller than 64x64 coding block performs motion compensation with sub-blocks of 4x4 size. Alternatively, information indicating the size or shape of a sub-block has been coded is decoded group may be transmitted.
[169]
A (Alternative Temporal Motion Vector Prediction) or (Spatial Temporal Motion Vector Prediction) STMVP ATMVP mode may be used to derive the motion information in sub-block units.
[170]
11 is a view for explaining a method of inducing a motion vector on the basis of the ATMVP in sub-block units.
[171]
ATMVP is a method of determining a reference picture within the corresponding block (corresponding block) corresponding to the current block, and acquiring the motion information on each sub-block by using the determined corresponding block. Reference picture and a corresponding block, may be derived based on the motion information of neighboring blocks. In one embodiment, using the motion information of the remaining first candidate included in the list of remaining candidate motion information, or the current block of the spatial neighborhood of a particular block location, a determination of the reference picture and a corresponding block. Reference picture and the motion vector and the reference neighbor block is used to determine the corresponding block picture index can be defined as respective temporal motion vector and the source picture index. On the basis of the time vector and the source picture index, determine the corresponding block of the current block, it is possible to divide the determined corresponding block in the same sub-block and the current block. And, it is possible to derive the motion information of the corresponding block within the sub-block to the current block corresponding to the sub-block, the motion information of the sub-blocks.
[172]
12 is a view for explaining a method of inducing a motion vector on the basis of the STMVP in sub-block units.
[173]
STMVP is a method for obtaining the motion information using a spatial and temporal neighboring blocks adjacent blocks of each sub-block. Specifically, using at least one of motion information from at least one of spatially neighboring blocks adjacent to the upper and temporal neighboring blocks of spatially neighboring blocks or sub-blocks adjacent to the left side of the sub-block derived motion vectors and the induction of sub-blocks and, it is possible to perform motion compensation of sub-blocks.
[174]
For example, in the example shown in Figure 12, the sub-block A motion vector is available from neighboring blocks to the top of the sub-blocks A c, temporally neighboring blocks in the block b and the sub-block adjacent to the left side of the sub-blocks A It may be derived based on at least one motion vector. Specifically, block c, block b, and temporally neighboring blocks based on the average of the available motion vectors of the sub-block derived motion vectors of A, or, block c, block b, and the use of any one capable of temporally neighboring blocks subblock A in can be induced by motion vectors.
[175]
If STMVP is used there is a sub-block by the motion compensation can be carried out according to a predetermined order. For example, it can be in the illustrated example, the sub-block A, the order of motion compensation of B, C, D according to the raster scanning sequence performed in FIG. Motion compensation of sub-blocks may follow the vertical scanning, horizontal scanning, or diagonal scan order.
[176]
[177]
According to the motion compensation performed on a block-by-block basis, the block boundary may cause image quality degradation due to blocking artifacts (Blocking Artifact). In order to reduce image quality deterioration of the blocking artifacts, it is possible to perform the motion compensation block overlap (Overlapped Block Motion Compensation, OBMC) for the motion compensation is performed block (S830).
[178]
Whether to perform the block overlapped motion compensation, the current block size, the shape, inter-prediction mode, motion information (e.g., the motion vector or the at least one of the temporal distance (POC) or image resolution between the current picture and the reference picture and it may be determined based on (a first embodiment). in one embodiment, overlapped block motion compensation can be performed if the number of samples included in the current block is larger than the previously defined value.
[179]
Alternatively, the information indicating whether to perform the block overlapped motion compensation can be signaled via the bitstream (second embodiment). The information may be signaled in the picture, slice, or block (e.g., block coding or prediction block) level.
[180]
Or, wherein the combination of the first embodiment and the second embodiment, it is possible to determine whether or not to perform the block overlapped motion compensation. For example, when more than the current block size of the group defined size, or the current block inter prediction mode, the previously defined modes (for example, the remaining mode or AMVP mode) flag indicating whether or not to perform the block overlapped motion compensation only when the the can signal.
[181]
Block overlapping motion compensation can be performed in the prediction block or sub-block of a predetermined size is generated by performing motion compensation on coding blocks, the coding blocks. If motion compensation is performed by the coding block is, the overlapped motion compensation is performed block by sub-block, the motion information of the sub-block within the coded block may be set equal to the motion block of the coded block.
[182]
For performing overlapped block motion compensation in the sub-block unit, it is possible to divide the current block into a plurality of sub-blocks. At this time, the size and shape of the sub-blocks may be defined based on the encoder and decoder. For example, it is possible to define a square block of a 4x4 size, a sub-block. Alternatively, it is also possible to define sub-blocks in a line unit (e. G., At least one heat and / or at least one row).
[183]
Alternatively, it can set the sub-block is equal to the overlap block motion compensation is performed and motion compensation is performed with the sub-block when the motion compensation is performed in sub-block units.
[184]
Alternatively, it is possible to determine the size or form of the sub-blocks according to a current block size, the shape or number of samples adaptively. For example, in the prediction block 64x64 or more can perform the overlapped block motion compensation to sub-blocks of 8x8 size, and the smaller than 64x64 prediction block performing a block motion compensation to the overlapping sub-blocks of 4x4 size.
[185]
Alternatively, information indicating the size or shape of a sub-block has been coded is decoded group may be transmitted.
[186]
For ease of illustration, in the exemplary example described below, it is assumed that the overlapped motion compensation is performed block by sub-block basis. Further, to the prediction block generated by the execution result of the motion compensation (that is, the result of executing the S820 step) referred as "first prediction block, and the result of applying the block overlapped motion compensation to the first prediction block (that is, S830 the prediction block generated by the result of executing step) will be referred to as' the second prediction block. The first will be made to the predicted samples included in the prediction block referred to as "first prediction sample", and the predicted samples included in the second prediction block referred to as' second prediction samples. In addition, the performance target sub-block of the block superposed motion compensation will be referred to as "the current sub-block."
[187]
Block overlapping motion compensation may be performed based on a weighted prediction block inter prediction weighted prediction or prediction samples. At this time, the block, at least one of the plurality of the prediction block or a plurality of samples that are used to perform overlapping motion compensation is present, or a sample contained in a neighboring block or the neighboring block of the sub-blocks, a prediction block generated based on the motion information of neighboring blocks or it can be predicted samples included in the prediction block generated based on the motion information of neighboring blocks.
[188]
For example, a plurality of prediction blocks / prediction samples, the current predicted block adjacent on the left side of the sub-block (P L ) or said left prediction block within a prediction samples, the current predicted block adjacent on the right side of the sub-block (P R ) or the right prediction block within a prediction samples, the current predicted block adjacent to the top of the sub-block (P a ) or the top of a prediction block within a prediction sample, or a prediction block adjacent to the lower end of the current sub-block (P B ) or the lower prediction block It may include at least one of the prediction samples.
[189]
The neighboring prediction block or the neighboring prediction sample prediction block may be generated based on the motion information of the adjacent sub-blocks. For example, the left prediction block (P L ) will generated based on the motion information of the left sub-block, a right prediction block (P R ) will generated based on the motion information of the right sub-block, the top of a prediction block (P a ) it will generated based on the motion information of the top sub-block, and the lower prediction block (P B may be a) is generated based on the motion information of the bottom sub-block. Here, the motion information may include motion vector, at least one of the reference picture indexes and two-way prediction indicator.
[190]
Present second prediction block of the sub-block / second prediction sample is to be obtained based on a weighted prediction between the predicted sample included in the first prediction block / first prediction sample and the neighboring prediction block / neighbor prediction block of the current sub-block can. In one embodiment, the second prediction block of the current sub-block is to be obtained based on a weighted prediction between at least one of the first prediction block and the current left side of the sub-block, the right side, a prediction block adjacent to the top or bottom of the current sub-block can. If intended neighboring prediction block is generated based on the motion information of neighboring blocks, in the current sub-block a second prediction block based on the motion information of the current sub-block specific references that block (i.e., the first prediction block) and the surrounding may be generated by a weighted sum operation between the certain reference block is a block based on the motion information.
[191]
Block motion compensation are superimposed, may be applied to all sub blocks included in the current block, it may be applied only to some of the sub-blocks included in the current block. For example, the nested block motion compensation only for a block adjacent to the predetermined boundaries of the sub-blocks included in the current block can be performed. Here, the predetermined boundary may refer to boundary with the adjacent group coding / decoding block is complete. For example, the encoding / decoding order, or the predetermined boundary by the size or type of the current block may include a top border, a left boundary, at least one of the right boundary or lower boundary.
[192]
Range of the sub-blocks to be overlapped block motion compensation is applied, may be determined based on at least one of a current block size, the shape, inter-prediction mode, perform motion compensation unit or the motion information of the. For example, when the inter-prediction coding performed in units of blocks (e.g., a skip mode, the remaining mode or when the AMVP mode is used), may be determined in some sub-block applied with only the block superposed motion-compensated in the current block. On the other hand, when the inter-prediction performed in units of sub-block (e.g., if the ATMVP or STMVP mode used), it may be determined by application of the all blocks within the current sub-block to block overlap movement compensation.
[193]
Alternatively, information indicating the range of the sub-block can be signaled via the bitstream to be a nested block motion compensation applied. The information may include at least one of information indicating the position of the boundary adjacent to all the sub-blocks the sub-block to be motion-compensated block overlap is that the information overlap block motion compensation or indicating whether the application applies to.
[194]
Alternatively, a range of the sub-blocks to be overlapped block motion compensation applied can be determined based on whether there are available neighboring sub-blocks. Availability of the neighboring sub-block is, whether the neighboring sub-block that the neighboring sub-block is present if it has the same motion information as the sub-block, inter-prediction mode of a neighboring sub-block, position, neighboring sub-blocks of adjacent sub-block coded by inter prediction that whether or neighboring sub-block is a group coding / decoding that there can be determined based on whether. For example, neighboring sub-blocks having the same motion information as the current sub-block may be determined as the ratio yonghan. Here, the same motion information, the motion vectors, reference picture indices, at least one of bi-predictive indicator can mean the same thing. In addition, the same motion information may refer to the first direction movement information and the second and backward motion information is also all refer to the same case, the first direction of movement information and the second forward motion information either of the cases the same. Alternatively, the neighboring sub-block in this case is not coded in the inter-prediction, a neighbor if the sub-block does not exist, the neighbor if the sub-block is a not yet encoded / decoded or neighboring sub-block, the current sub-block and different coding triblock or different slices if it is included in (or tiles), etc. may be determined to be non-adjacent sub-block is used for motion compensation block overlap.
[195]
Thus, the current block have identical motion information in all sub-blocks, the neighboring sub-block soluble in the surrounding for the sub-blocks other than the subblocks positioned at the upper boundary and / or the left boundary of the current block does not exist bar can be overlapped motion compensation is not performed.
[196]
13 is a view for explaining the neighbor prediction block used to perform the overlapped block motion compensation.
[197]
(A) of Figure 13 depicts the example in which the block overlapped motion compensation is performed only for a sub-block positioned at a predetermined boundary of the current block, (b) of Fig. 13 is a block overlap movement compensation for all sub-blocks within the current block shows an example that is carried out.
[198]
As with the example in shown in (a) of Figure 13, the block overlapped motion compensation can be performed for the sub-block adjacent to the sub-block and / or the upper boundary that is adjacent to the left boundary of the current block. For example, as with the example in shown in (a) of 13, the current sub-block adjacent to the upper boundary of the block (e.g., sub-blocks P N1 top of the prediction block (P for a) A1 overlapped block by using a) movement compensation is performed, the current sub-block adjacent to the left boundary of the block (e.g., sub-blocks P N2 left prediction block (P for a) L2 is a block overlapped motion compensation can be performed using a). Here, the top of the predicted block will acquired on the basis of the motion information of the sub-block top, left prediction block can be obtained on the basis of the motion information of the left sub-block.
[199]
On the other hand, the current sub-block adjacent to the upper left corner of the block (e.g., sub-blocks P N3 ) to about left prediction block (P L3 ) and the top of a prediction block (P A3 ) to both be in a nested block motion compensation is used to perform can.
[200]
As with the example in shown in (b) of Figure 13, may be a nested block motion compensation is performed for all the sub-blocks within the current block. For example, as shown in the example in shown in (b) of Figure 13, the sub-blocks (e.g., sub-blocks P N ) left prediction block (P for L ), right prediction block (P R ), the top of the prediction block (P A ) or the lower prediction block (P B may be a nested block motion compensation for a sub-block performed by using at least one of a).
[201]
Neighboring sub-block in a predicted block derived from a neighboring sub-blocks, or which are not available in can not be used to perform motion compensation of the current block overlapping sub-blocks. For example, a predicted block derived from a neighboring sub-blocks having the same motion information as the current sub-block may be determined to be not available to the motion compensation block overlap.
[202]
If the current plurality of neighboring prediction block available to the peripheral sub-blocks exists, the second prediction block of the current sub-block / second prediction samples, the current block of the first prediction block / first prediction sample and the available plurality of adjacent by weighting prediction of the neighboring prediction samples included in the prediction block / neighbor prediction samples in sequence it can be obtained. That is, by the weighted prediction of one prediction sample and the neighboring prediction block a plurality of predicted samples either by the weighted prediction then creates a temporary prediction samples, the generated temporary prediction samples and the rest of the prediction samples of the included to recursively claim 2 may obtain the prediction samples. Thus, the sample can be defined as the first prediction block and the plurality of prediction of the predicted sample recursive weighted prediction by recursively nested block motion compensation to perform overlapped block motion compensation is included in the (recursive OBMC).
[203]
Weighted prediction order among the plurality of prediction blocks in accordance with the recursively nested block motion compensation may be defined based on the encoder and decoder. For example, the left prediction block (P for the current sub-block L ), the top of the prediction block (P A ), the right prediction block (P R ), and the lower prediction block (P B is the net weighted prediction by) may be performed.
[204]
Weighted prediction can be performed using the weighting parameters. Weighting parameters may include at least one of the weight or offset. Here, the weight represents a value to be multiplied by at least one of the predicted sample using the weighted prediction, offset indicates a value that is in addition to the result of the weighted sum is applied.
[205]
Weight and / or offset may be determined adaptively based on the location of the prediction target sample (e.g., x-axis, at least one of the position or the y-axis position). In one embodiment, can be present if the sub-block and performing the weighted prediction using the neighboring prediction block which is located in the same horizontal plane, the x-axis in consideration of the position of the prediction sample to determine the weight and / or offset. On the other hand, it may be present if the sub-block and performing the weighted prediction using the neighboring prediction block which is located in the same vertical line, the y-axis, taking into account the position of the prediction sample to determine the weight and / or offset.
[206]
For example, in Equation 1-4 to predict weighting the predicted samples included in the first prediction sample and neighboring prediction block recursively, a illustrates the creation of a second prediction samples.
[207]
[Formula 1]
[208]
As shown in equation (1), the first prediction sample (P C ) and the predicted sample (P included in the left prediction block L on the basis of the weighted sum operation of) a first provisional predicted sample (P C1 can produce) have. In this case, the first prediction sample (P C ), the weight and the predicted sample (P included in the left block prediction is applied to the L weighting to be applied to) it can be determined differently according to the position of the prediction samples. In equation (1) was shown to be a different weight in units of rows application.
[209]
[Formula 2]
[210]
A first temporary prediction sample (P as shown in Equation 2, C1 ) and the predicted sample (P contained in the upper prediction block A second provisional predicted sample (P based on the weighted sum operation) C2 to generate) can. In this case, the first provisional predicted sample (P C1 ) weight and the predicted sample (P contained in the upper prediction block that is applied to A weight applied to) can be determined differently according to the position of the prediction samples. In equation (2) was shown to be different weighted by columns.
[211]
[Formula 3]
[212]
As shown in equation (3), the second provisional predicted sample (P C2 ) and the predicted sample (P included in the right prediction block R the third temporary prediction sample (P based on the weighted sum operation) C3 to create) can. In this case, the second provisional predicted sample (P C2 ) the predicted samples (P included in the predicted block and the right weight to be applied to R weight applied to) can be determined differently according to the position of the prediction samples. In equation (3) was shown to be a different weight in units of rows application.
[213]
[Formula 4]
[214]
As shown in equation (4), the third temporary prediction sample (P C3 ) and the predicted sample (P contained in the bottom of the prediction block B on the basis of the weighted sum operation of) the second prediction sample (P C can produce) have. At this time, the third temporary prediction sample (P C3 ) the predicted samples (P included in the predicted block and the right weight to be applied to B weight applied to) it can be determined differently according to the position of the prediction samples. In Equation (4) was shown to be different weighted by columns.
[215]
Weighted prediction order among the plurality of prediction blocks may variably be determined in accordance with the current block or the like of the current sub-block size, shape, motion information, or location. For example, if the current block is the width of the long rectangular than the height, the current top of the prediction block of the sub-block (P A ), the left prediction block (P L ), the bottom of the prediction block (P B ) and the right prediction block (P R ) It can be carried out in order to predict weight. On the other hand, if the current block is a height of a long rectangular shape greater than the width, the left prediction block of the current sub-block (P L ), the top of the prediction block (P A ), the right prediction block (P R ), and the lower prediction block (P B ) in order It may perform the weighted prediction with.
[216]
Alternatively, it might be signaled by the bit stream information indicating the weighted prediction order among the plurality of prediction blocks. The information may be signaled in the picture, slice, or block level.
[217]
Some according to Equation 1 to 4, using four neighboring prediction block recursive block overlap movement, but compensation is described as being performed, the current block size, the shape, motion information, performs the unit or the availability of a neighboring block of the motion-compensated It may perform the recursive nested block motion compensation prediction by using only the neighboring blocks.
[218]
[219]
When applying a recursively nested block motion compensation, there is a problem, the value of the second prediction samples varying may occur depending on the weighted prediction order of the surrounding prediction blocks. In addition, there is the case where the temporary prediction sample increases at a certain point in time, if not the temporary prediction sample and the weighted prediction samples surrounding the prediction block is predicted is cause any significant impact on the weighted sum operation problems may occur. In addition, the may result in a too large image quality degradation of a prediction image size of the second predicted samples in accordance with the weighted prediction is done.
[220]
In order to solve these problems, the current block and the predicted block of, rather than sequentially weighted prediction, the current, and a weighted prediction prediction blocks of the block and the horizontal direction, a separable scalable block overlap weighting prediction of the current block and the prediction block in the vertical direction It may take into account motion compensation (OBMC Separable).
[221]
Separable scalable nesting block motion compensation may include horizontally and vertically weighted prediction weighted prediction. Horizontally weighted prediction, the current sub-block and the mean weighted prediction between at least one neighboring prediction blocks are located on the same horizontal line and the sub-blocks and vertically weighted prediction, the current sub-block and the current line the same perpendicular to the subblocks located in the weighted prediction means between at least one neighboring block prediction. For example, weighted prediction horizontal direction is now being carried out using at least one one of the left prediction block or the right prediction block of the sub-blocks are available, the vertical direction weighted prediction is available from the current upper prediction block or the lower prediction block of the sub-blocks at least It may be performed using one.
[222]
Weighted prediction can be performed using the weighting parameters. Weighting parameters may include at least one of the weight or offset. Here, the weight represents a value to be multiplied by at least one of the predicted sample using the weighted prediction, offset indicates a value that is in addition to the result of the weighted sum is applied.
[223]
Weight and / or offset may be determined adaptively based on the location of the prediction target sample (e.g., x-axis, at least one of the position or the y-axis position). For example, in consideration of the horizontal direction when performing weighted prediction, x-axis position of the prediction samples can determine the weight and / or offset. On the other hand, in consideration of the vertical direction when performing weighted prediction, y-axis position of the prediction samples can determine the weight and / or offset.
[224]
Separable scalable nesting block motion compensation can be carried out according to the previously defined order. For example, it can be a back, performs the vertical weighted prediction performs a horizontal weighted prediction. The order of performing separation scalable nesting block motion compensation may be defined based on the encoder and decoder.
[225]
Alternatively, a procedure performed can be determined based on the current block size, the shape, inter-prediction mode, motion information, motion compensation is carried out unit or the like. For example, the current block can be performed when the width of the larger rectangle than the height, in the horizontal direction before the vertical direction, weighted prediction weighted prediction. On the other hand, can be performed if the current block is larger in height than the rectangular width, weighted prediction is before the horizontal weighted prediction in the vertical direction.
[226]
Alternatively, the separation is carried out the information indicating the order of the scalable nesting block motion compensation can be signaled via the bitstream. The information may be signaled in the picture, slice, or block level.
[227]
Equation 5 and Equation 6 shows an example in which the horizontal and vertical directions weighted prediction weighted prediction order of a block overlap perform motion compensation.
[228]
[Formula 5]
[229]
As shown in equation (5), the first prediction sample (P c ), a predicted sample (P included in the left prediction block L the predicted sample (P included in) and right prediction block R level on the basis of the weighted sum operation) direction overlap block prediction samples (P ch can generate). In this case, the first prediction sample (P c ), the predicted samples included in the left prediction block (P L ) and the predicted sample contains the right prediction block (P R weight applied to) each of which varies depending upon the position of the prediction samples it can be determined. In Equation (5) was shown to be a different weight in units of rows application.
[230]
[Formula 6]
[231]
Horizontal block overlapping prediction sample (P ch If) it is obtained, and horizontal direction block overlapping prediction sample (P as shown in Equation 6 ch predicted sample (P included in), the top of the prediction block A in) and lower prediction block included prediction sample (P B on the basis of the weighted sum operation of) the second prediction sample (P c can generate). At this time, horizontal blocks overlapping prediction sample (P ch ), the predicted sample (P contained in the upper prediction block A ) and the predicted sample (P contained in the bottom of the prediction block B the weight position of the prediction samples are applied to) each depending may be differently determined. In equation (6) was shown to be different weighted by columns.
[232]
Equation (7) and Equation (8) shows an example in which the vertical and horizontal directions, weighted prediction weighted prediction order of a block overlap perform motion compensation.
[233]
[Expression 7]
[234]
As shown in equation (7), the first prediction sample (P c ), a predicted sample (P contained in the upper prediction block A predicted sample (P included in) and lower prediction block B vertically on the basis of the weighted sum operation) direction overlap block prediction samples (P cv can generate). In this case, the first prediction sample (P c ), a predicted sample (P contained in the upper prediction block A predicted samples contained in) and lower prediction block (P B weight applied to) each of which varies depending upon the position of the prediction samples it can be determined. In Equation (7) were shown to be different weighted by columns.
[235]
[Formula 8]
[236]
Vertical block overlapping prediction sample (P cv If) is obtained, vertical direction block overlapping prediction sample (P as shown in Equation 8 cv predicted sample (P included in), left prediction block L in) and right prediction block included prediction sample (P R on the basis of the weighted sum operation of) the second prediction sample (P c can generate). At this time, vertical blocks overlapping prediction sample (P cv ), the predicted sample (P included in the left prediction block L the predicted samples contained in) and right prediction block (P R to the weight position of the prediction samples are applied to) each depending may be differently determined. In equation (8) has been shown to be a different weight in units of rows application.
[237]
In the above example it was described as being in the horizontal direction and the vertical direction prediction weighted weighted prediction performed in a predetermined order. As another example, the horizontal weight and the vertical prediction weighted prediction may be performed in parallel. For example, the horizontal direction through the weighted prediction horizontal block overlapping prediction sample (P ch obtained), and the vertical block overlapping prediction sample (P via the vertical direction weighted prediction cv When a) acquisition, horizontal direction block overlapping prediction samples ( P ch ) and the vertical direction prediction blocks overlap the sample (P cv it is possible to obtain a second predicted samples using weighted prediction in between).
[238]
Using weighted prediction in a horizontal direction and any one of vertical direction, weighted prediction may perform motion compensation block overlap. For example, the current block size, the shape, inter-prediction mode, motion information, based on the availability or the first position of the prediction samples of the neighboring sub-blocks, determining whether to perform the horizontal weighted prediction and / or vertical direction, weighted prediction can.
[239]
When the overlap block motion compensation through the second prediction sample is obtained, the second prediction samples based on, it is possible to reconstruct the current block. Specifically, the combined sample and the second prediction residual samples, it is possible to obtain the reconstructed samples of a current block.
[240]
[241]
The above-described embodiments, but is described on the basis of a series of steps or flow chart, which is not necessarily limited to a time-series order of the invention, it may be performed as needed at the same time or performed in a different order. Further, the components that make up the block diagram in the above-described embodiment (e.g., the units, modules, etc.) each of which may be implemented as a hardware device or software, as a hardware device or software in combination with a plurality of components It may be implemented. The described embodiments are implemented in the form of program instructions that may be performed through various computer components may be written in a computer-readable recording medium. The computer readable recording media may also include, alone or in combination with the program instructions, data files, data structures, and the like. Examples of the computer readable recording medium, such as hard disks, floppy disks, and magnetic tape media, CD-ROM, such as an optical recording medium, flop tikeol disk (floptical disk) such as DVD magneto-optical medium (magneto-optical storing program instructions, such as media), and ROM, RAM, flash memory, hardware devices that are specially configured to, perform. The hardware devices may be configured to act as one or more software modules in order to perform the process according to the invention, and vice versa.
Industrial Applicability
[242]
The present invention can be applied to electronic devices capable of encoding / decoding an image.
Claims
[Claim 1]Wherein obtaining the motion information of the current block; A step of performing motion compensation based on the motion information, obtain a first prediction block of the current block within the first sub-block; And, an image decoding method comprising: obtaining a second prediction block by performing a motion compensation block overlap with respect to the first sub-block.
[Claim 2]
The method of claim 1, wherein the second prediction block comprises the first prediction (hereinafter referred to as neighboring prediction block) block and the first at least one neighboring prediction block for the sub-block adjacent to the sub-blocks by weighting predict method for decoding an image, characterized in that the pickup.
[Claim 3]
The method of claim 1, wherein the weighted prediction is first placed in the same horizontal plane and the sub-block, at least one of the horizontal weighted prediction is performed using the neighboring sub-block and the first sub-block and at least placed in the same vertical line characterized in that it comprises a vertical weighted prediction is performed using the one neighboring sub-block, the image decoding method.
[Claim 4]
The method of claim 3, wherein said horizontal direction and a weighted prediction, the video decoding method, characterized in that are performed sequentially according to the order defined in the vertical direction, weighted prediction is based.
[Claim 5]
The method of claim 2, wherein said first prediction block and the weight applied to the neighboring prediction block is, the image decoding method characterized in that the variably determined according to the locations of the prediction samples of the first prediction block.
[Claim 6]
The method of claim 2, wherein the first, depending on whether the sub-block with the prediction derived from a neighboring block which has the same motion information, the image decoding method characterized in that the availability of the neighboring prediction block decision.
[Claim 7]
The method of claim 1, wherein said second prediction block, adding to the first prediction block for the first prediction block and the neighboring sub-block adjacent to the first sub-block (wandering hereinafter neighboring prediction block) recursively , the image decoding method characterized in that the prediction obtained.
[Claim 8]
The method of claim 7, wherein the adjacent prediction blocks each weighted prediction order, the current block size, the shape, inter-prediction mode or, characterized in that it is determined on the basis of at least one of the position of the first sub-block, video decoding method.
[Claim 9]
The method of claim 1, wherein the overlap block motion compensation, the image decoding method, characterized in that that are specific to the sub-block adjacent to the current block within a predetermined boundary.
[Claim 10]
The method of claim 1, wherein whether to perform the block overlapped motion compensation is checked, the current block size, the shape, inter-prediction mode, characterized in that the motion information, or determined based on at least one of an image resolution, the image decoding Way.
[Claim 11]
Wherein obtaining the motion information of the current block; A step of performing motion compensation based on the motion information, obtain a first prediction block of the current block within the first sub-block; And, the image encoding method comprising the step of obtaining a second prediction block by performing a motion compensation block overlap with respect to the first sub-block.
[Claim 12]
The method of claim 11, wherein the second prediction block comprises the first prediction by block, and the weighting of at least one (hereinafter referred to as neighboring prediction block) a prediction block for the neighboring sub-block prediction neighboring the first sub-block the image encoding method, characterized in that the pickup.
[Claim 13]
12. The method of claim 11, wherein the weighted prediction is first placed in the same horizontal plane and the sub-block, at least one of the horizontal weighted prediction is performed using the neighboring sub-block and the first sub-block and at least placed in the same vertical line characterized in that it comprises a vertical weighted prediction is performed using the one neighboring sub-block, the image decoding method.
[Claim 14]
Acquiring motion information of the current block, and by performing a motion compensation based on the motion information, the current block within the first obtain a first prediction block for the sub-block, and the overlapping block with respect to the first sub-block motion the inter-prediction video decoding apparatus, which includes part obtaining the second prediction block to perform the compensation.
[Claim 15]
Acquiring motion information of the current block, and by performing a motion compensation based on the motion information, the current block within the first obtain a first prediction block for the sub-block, and the overlapping block with respect to the first sub-block motion the inter-prediction video coding apparatus, which includes part obtaining the second prediction block to perform the compensation.
| # | Name | Date |
|---|---|---|
| 1 | 201917050293.pdf | 2019-12-05 |
| 2 | 201917050293-TRANSLATIOIN OF PRIOIRTY DOCUMENTS ETC. [05-12-2019(online)].pdf | 2019-12-05 |
| 3 | 201917050293-STATEMENT OF UNDERTAKING (FORM 3) [05-12-2019(online)].pdf | 2019-12-05 |
| 4 | 201917050293-NOTIFICATION OF INT. APPLN. NO. & FILING DATE (PCT-RO-105) [05-12-2019(online)].pdf | 2019-12-05 |
| 5 | 201917050293-FORM 1 [05-12-2019(online)].pdf | 2019-12-05 |
| 6 | 201917050293-DRAWINGS [05-12-2019(online)].pdf | 2019-12-05 |
| 7 | 201917050293-DECLARATION OF INVENTORSHIP (FORM 5) [05-12-2019(online)].pdf | 2019-12-05 |
| 8 | 201917050293-COMPLETE SPECIFICATION [05-12-2019(online)].pdf | 2019-12-05 |
| 9 | 201917050293-Proof of Right (MANDATORY) [16-12-2019(online)].pdf | 2019-12-16 |
| 10 | 201917050293-FORM-26 [16-12-2019(online)].pdf | 2019-12-16 |
| 11 | abstract.jpg | 2019-12-21 |
| 12 | 201917050293-FORM 3 [29-04-2020(online)].pdf | 2020-04-29 |
| 13 | 201917050293-FORM 18 [18-08-2021(online)].pdf | 2021-08-18 |
| 14 | 201917050293-FER.pdf | 2022-03-14 |
| 1 | searchE_11-03-2022.pdf |