Sign In to Follow Application
View All Documents & Correspondence

Method And Apparatus For Processing Video Signal

Abstract: An image decoding method according to the present invention may comprise the steps of: determining a motion vector precision level of a current block; creating a motion vector candidate list of the current block; acquiring a motion vector prediction value of the current block from the motion vector candidate list; checking whether the precision level of the motion vector prediction value is equivalent to the motion vector precision level of the current block; if the precision level of the motion vector prediction value differs from the motion vector precision level of the current block scaling the motion vector prediction value in accordance with the motion vector precision level of the current block; and acquiring a motion vector of the current block by using the scaled motion vector prediction value.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
10 July 2019
Publication Number
37/2019`
Publication Type
INA
Invention Field
ELECTRONICS
Status
Email
iprdel@lakshmisri.com
Parent Application
Patent Number
Legal Status
Grant Date
2024-02-24
Renewal Date

Applicants

KT CORPORATION
90, Buljeong-ro, Bundang-gu, Seongnam-si Gyeonggi-do 13606

Inventors

1. LEE, Bae Keun
Korea Telecom Research Group, 151, Taebong-ro, Seocho-gu Seoul 06763

Specification

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 that can variably determine the motion vector accuracy method as the coding / decoding a video signal.
[7]
An object of the present invention is to provide a method and apparatus which can compensate the motion vector accuracy difference between the blocks by comparing the motion vector accuracy between block, according as coding / decoding a video signal.
[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, and determining a motion vector accuracy of the current block, and generating a motion vector candidate list of the current block and obtaining the motion vector prediction value of the current block from the motion vector candidate list , if the accuracy of the motion vector prediction value the current determines whether the same as the motion vector accuracy of the block, and the accuracy of the motion vector prediction value above the current block, the motion vector precision and different, of the motion vector prediction value the current block scaling according to the motion vector accuracy, and by using the scaled motion vector predicted value, it is able to obtain the current block of the motion vector.
[10]
Video signal coding method and apparatus according to the present invention, and determining a motion vector accuracy of the current block, and generating a motion vector candidate list of the current block and obtaining the motion vector prediction value of the current block from the motion vector candidate list , if the accuracy of the motion vector prediction value the current determines whether the same as the motion vector accuracy of the block, and the accuracy of the motion vector prediction value above the current block, the motion vector precision and different, of the motion vector prediction value the current block scaling according to the motion vector accuracy, and by using the scaled motion vector predicted value, it is able to obtain the current block of the motion vector.
[11]
In the video signal encoding / decoding method and apparatus according to the present invention, the motion vector accuracy of the current block may be determined from the motion vector accuracy set comprising a plurality of candidate motion vectors accuracy.
[12]
In the video signal encoding / decoding method and apparatus according to the present invention, the motion vector accuracy of the current block may be determined by one of the plurality of the motion vector accuracy candidate based on the index information indicating either one.
[13]
In the video signal encoding / decoding method and apparatus according to the present invention, the motion vector difference values, stand may include a suffix part representing a prefix part and a fractional part representing the integer part.
[14]
In the video signal encoding / decoding method and apparatus according to the present invention, the scaling may be performed on the basis of the bit shift operation in accordance with the precision and accuracy of a motion vector between the current block scale of the motion vector prediction value.
[15]
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
[16]
According to the present invention, encoding / decoding can be efficiently performed by the inter prediction for the current block.
[17]
According to the present invention, it can be varied to determine the motion vector accuracy.
[18]
According to the present invention, it is possible to block between the motion-compensated difference between the vector accuracy induce motion vector
[19]
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
[20]
Figure 1 is a block diagram showing an image encoding apparatus according to an embodiment of the present invention.
[21]
Figure 2 is a block diagram showing an image decoding apparatus according to an embodiment of the present invention.
[22]
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.
[23]
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.
[24]
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.
[25]
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.
[26]
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.
[27]
8 is a flowchart illustrating the inter-prediction method according to an embodiment to which the present invention is applied.
[28]
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.
[29]
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.
[30]
11 and 12 are views showing a motion vector derivation method according to the motion vector accuracy of the current block.
Mode for the Invention
[31]
The invention will be described in bars, 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.
[32]
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.
[33]
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.
[34]
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.
[35]
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.
[36]
[37]
Figure 1 is a block diagram showing an image encoding apparatus according to an embodiment of the present invention.
[38]
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
[39]
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.
[40]
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.
[41]
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.
[42]
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.
[43]
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.
[44]
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.
[45]
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.
[46]
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.
[47]
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.
[48]
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.
[49]
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.
[50]
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.
[51]
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.
[52]
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.
[53]
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.
[54]
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.
[55]
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.
[56]
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.
[57]
Reordering unit 160 may perform the reordering of the coefficient value for the quantized residual values.
[58]
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.
[59]
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).
[60]
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.
[61]
The entropy coding unit 165, the entropy encoding may be the coefficients of a coded unit of input in the rearrangement unit 160. The
[62]
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).
[63]
Filter unit 150 may include at least one of a deblocking filter, offset correction, ALF (Adaptive Loop Filter).
[64]
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 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.
[65]
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.
[66]
(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.
[67]
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).
[68]
[69]
Figure 2 is a block diagram showing an image decoding apparatus according to an embodiment of the present invention.
[70]
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.
[71]
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.
[72]
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).
[73]
The entropy decoding unit 210, the can decrypt the information with regard to intra-prediction and inter-prediction performed in the encoder.
[74]
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.
[75]
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.
[76]
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.
[77]
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.
[78]
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.
[79]
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.
[80]
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.
[81]
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.
[82]
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.
[83]
The reconstructed block or picture may be provided to filter unit 240. Filter unit 240 may include the deblocking filter, offset correction, ALF.
[84]
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.
[85]
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.
[86]
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.
[87]
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.
[88]
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.
[89]
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).
[90]
[91]
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.
[92]
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.
[93]
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.
[94]
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.
[95]
In the embodiments to be described hereinafter, the coding tree units or coding unit is assumed to be divided into a quad 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.
[96]
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.
[97]
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.
[98]
Specifically, the coding block can be divided into a hierarchical tree based on at least one of a quad (quad tree) with a binary tree (binary tree). Here, the division of the quad-tree based 2Nx2N block coding scheme is a split of a binary tree-based divided into four NxN coded block may represent a method of coding a block is divided into the two coded blocks. Although the division of a binary tree-based were carried out, in the lower depths may be present in the square in the coding block.
[99]
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.
[100]
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.
[101]
Dividing the binary tree-based may be performed on a coding block is divided in the quad-tree based it is no longer performed. For the coded blocks divided by a binary tree-based partition of the quad-tree based can no longer be performed.
[102]
Further, division of sub-depth may be determined dependent on the division form of the parent depths. 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.
[103]
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.
[104]
For a sequence, a slice, the coding tree unit or a coding unit, may be limited to only a particular form of binary tree-based partitioning is used. 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.
[105]
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.
[106]
Further, a coding tree unit or for a given coding unit, a binary tree, the number of times the division is permitted, a binary tree split, such as the number of depth or a binary tree, the split allows the depth is allowed to 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.
[107]
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.
[108]
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.
[109]
As another example, a binary tree split is allowable number of times, at least one of the number of the binary tree or a binary tree split the depth segmentation is allowed to be acceptable depth may be obtained by sequence slice. For example, the information, is encoded in a sequence, picture or slice units may be transmitted on a bit stream. Accordingly, it is possible to the first slice and the second slice, a binary tree split count, a binary tree split, at least one of the number of maximum depth or a binary tree depth is divided allowed allowed disparity. 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.
[110]
In yet another example one slice or picture time the level identifier (TemporalID) in accordance with a binary tree split the permitted number, the binary tree segmentation is allowed depth or a binary tree split is acceptable may differently set at least one of a number of depth that is to be the have. 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.
[111]
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.
[112]
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.
[113]
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.
[114]
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.
[115]
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.
[116]
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.
[117]
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.
[118]
Division result based on the quad-tree and tree-by battery, the coding unit may ttil a rectangle or square of any size.
[119]
[120]
Coding block is a skip mode, and is coded using the intra prediction, at least one of the prediction method or inter-picture skipped. If the coding 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.
[121]
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.
[122]
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.
[123]
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.
[124]
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.
[125]
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.
[126]
[127]
8 is a flowchart illustrating the inter-prediction method according to an embodiment to which the present invention is applied.
[128]
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.
[129]
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.
[130]
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.
[131]
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).
[132]
The motion information of the spatial merge candidates, can be set equal to the motion information of the spatial neighboring blocks.
[133]
It 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.
[134]
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'.
[135]
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.
[136]
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).
[137]
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.
[138]
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.
[139]
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.
[140]
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.
[141]
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.
[142]
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.
[143]
It may generate a list of candidate motion vectors including a motion vector candidate spatial and temporal motion vector candidates (S1040).
[144]
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 it included in the motion vector candidate list (S1050).
[145]
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.
[146]
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.
[147]
[148]
Based on the motion information of the current block, as in the above example, it can be a motion compensation for the current block is performed. At this time, the motion vector may have a constant (integer) pixel or a small number (decimal) the accuracy (resolution) of the pixel unit.
[149]
Integer-pixel unit may include an N integer-pel, such as an integer pel (integer-pel), 2 times the integer pel (integer-pel 2), 4 times the integer pel (integer-pel 4). Here, N can be expressed by the square of the index, in particular 2 to the natural number of 1 or more. Integer pel will represent a 1-pixel accuracy (that is, one pixel unit), twice the integer pel will showing a double-precision (i.e., two pixels) of the pixels, four times the integer pel (i.e., four times the precision of the pixel , it may be an indication of a fourth pixel unit). Depending on the chosen integer pel, and motion vectors are represented by N pixels basis, and may be a motion compensation performed in the N pixel units.
[150]
Small number of pixel units may include, a half-pel (half-pel), quarter pel (quarter-pel), loam pel (octo-pel), such as 1 / N-pel. Here, N may be one that in particular, represented by the exponential power of 2 with a natural number equal to one or more. Half pel will showing a will represent the 1/2 pixel accuracy (ie, half-pixel unit), quarter-pel precision is 1/4 (i.e., 1/4 pixels) of the pixel, loam pel is the pixel 1 / 8 can be an indication of the accuracy (i.e., a 1/8 pixel). In accordance with a selected small number of pels, and the motion vector is expressed by 1 / N pixel units, and can be a motion compensation performed in 1 / N pixel units.
[151]
11 and 12 are views showing a motion vector derivation method according to the motion vector accuracy of the current block. 11 will showing a motion vector derivation method under AMVP mode, Figure 12 illustrates a motion vector derivation method under the remaining modes.
[152]
First, a motion vector can be determined accuracy of the current block (S1110, S1210).
[153]
Accuracy of a motion vector can be determined by sequence basis, picture basis, and slice basis or on a predetermined block unit. Here, the predetermined block may indicate the CTU, CU or PU or the like, it means a block having a predetermined size / shape. CTU may be to CU means the maximum allowed by the encoder / decoder. Sequence, in the case at a higher level than a picture or a slice including blocks motion vector accuracy is determined, the motion compensation for a given block may be performed according to the motion vector accuracy determined at a high level. For example, the blocks included in the first slice are the integer pel (integer-pel), while using the motion vector of a unit for performing motion compensation, the blocks included in the second slice are quarter-pel (quarter-pel) unit using motion vectors may perform motion compensation.
[154]
To determine the accuracy of the motion vector, the information for determining the accuracy of a motion vector can be signaled via the bitstream. The information, and at least one of a plurality of motion vector accuracy can be index information, 'mv_resolution_idx' to identify. For example, Table 1 shows the motion vector accuracy of the mv_resolution_idx.
[155]
TABLE 1
mv_resolution_idx A motion vector per pixel
0 Quarter-pel pixel
1 Half-pel pixel
2 Integer-pel pixel
3 Loam pel pixel
4 Twice the integer pel pixel
5 Four times the integer pel pixel

[156]
Examples shown in Table 1 is merely one illustrative example to which the present invention may be applied. Type and / or the number of candidate motion vector accuracy, which may have at a predetermined unit may be different from that shown in Table 1. Value and / or range of mv_resolution_idx may also be different depending on the type and / or the number of candidate motion vector accuracy.
[157]
As another example, the motion vector accuracy is ittta be derived from spatially or temporally adjacent unit in a predetermined unit. Here, the predetermined unit, represents a picture, a slice or a block or the like, adjacent units, may represent a spatially or temporally adjacent picture to a predetermined unit, a slice or a block or the like. For example, the motion vector accuracy of the current block, may be set equal to the motion vector accuracy of spatially neighboring blocks and / or temporally neighboring blocks are blocks of the index information pointing to the current block.
[158]
As another example, the motion vector accuracy of the current block may be determined adaptively according to the motion information of the current block. For example, whether the reference picture of the current block, the reference picture or not, the current block that ahead of the temporal sequence or the output sequence (POC) for the current picture later than the temporal sequence or the output sequence (POC) for the current picture or the current block references depending on whether the picture is the current picture, a motion vector accuracy of the current block can be determined adaptively.
[159]
Some of the plurality of the candidate motion vector accuracy can be selectively used. For example, it may be determined at least one of the motion vector accuracy candidates included in the motion vector accuracy defined behind the set including at least one candidate motion vector accuracy, the motion vector accuracy set by the motion vector accuracy.
[160]
Motion vector accuracy is set, it may be determined in sequence of the picture, slice, or block units. Precision motion vector candidates included in the motion vector accuracy set may be defined based on the encoder and decoder. Or, on the basis of the coded information that is signaled via the bitstream, it is possible to determine the motion vector accuracy set. Here, the encoding information may be at least one kind of related and / or the number of the motion vector accuracy candidates included in the motion vector accuracy set. As another example, the motion vector accuracy is set ittta be derived from a spatially or temporally adjacent unit in a predetermined unit. Here, the predetermined unit, represents a picture, a slice or a block or the like, adjacent units, may represent a spatially or temporally adjacent picture to a predetermined unit, a slice or a block or the like. For example, the motion vector accuracy of a predetermined set of slices, can be set equal to the motion vector accuracy set of spatially adjacent to a slice in the slice. Alternatively, depending on the dependency between slices, also the motion vector accuracy set of independent slices (Slice Independent) is set to set the motion vector accuracy of the slave slice (Slice Dependent).
[161]
When the motion vector accuracy set is determined, it is possible to determine the at least one candidate motion vector accuracy contained in the motion vector accuracy set by the motion vector accuracy. To this end, the index information identifying at least one of the motion vector accuracy candidates included in the motion vector accuracy can be set via the signaling bit stream. For example, the motion vector accuracy of the current block may be set as a candidate identified by the motion vector candidates of the accuracy index information included in the motion vector accuracy set.
[162]
Whether to use the motion vector accuracy is set whether the slice types can be determined adaptively according to the (predicted direction of the reference picture or the current block, for example, the current block), motion information of the size / shape, the current block of the current block. Alternatively, information indicating whether the motion vector accuracy set used (e.g., flag) that can be signaled via the bitstream.
[163]
If the sequence, picture or slice, such as the motion vector accuracy set at a higher level than the decision block, the motion vector accuracy of the predetermined block, may be derived from the motion vector accuracy set determined at a high level. Example, in a case where the quarter-pel and twice the vector set of movements, including integer-pel defined by the picture level, the blocks included in the picture, can be limited to use at least one of a quarter-pel or 2 times the integer pel .
[164]
If a plurality of directional prediction is applied to the current block, a plurality of motion vectors according to the plurality of directions can have different motion vector prediction accuracy each other. That is, any one of the precision of the current block of the plurality of motion vectors may be different from the accuracy of the other motion vector. In one embodiment, can be present to block the bidirectional prediction (Bi-Prediction), the precision of the forward motion vector (mvL0) is different from the precision of the backward motion vector (mvL1) when. Even if the current block is to be predictive or more of three directions (Tri-prediction) applied, at least one of the plurality of the motion vector it may be set so as to have different precision and the other. Consequently, it is possible to code / decode the information for determining the motion vector precision for each prediction direction of the current block.
[165]
[166]
And the AMVP mode applied to the current block, the block between the variable in the motion vector accuracy is when it is determined, the accuracy of a motion vector prediction value (Motion Vector Predictor, MVP) derived from a neighboring block may be different from the accuracy of the motion vector of the current block have. To meet the accuracy of the motion vector prediction value to the motion vector accuracy of the current block, the motion vector prediction value can be scaled to fit the precision motion vector of the current block (S1120). The motion vector prediction value can be scaled to fit the precision motion vector of the current block. In addition to the scaled motion vector prediction value and the motion vector difference value (Difference Vector Motion, MVD) may derive a motion vector of the current block (S1130).
[167]
For example, a motion vector per pixel in the neighboring blocks quarter pel, when the motion vector per pixel in the current block is constant pelin, scaling a motion vector prediction value derived from a neighboring block by an integer-pel units, scaling the motion vector predicted value in addition to the motion vector difference value, it is possible to obtain a unit of an integer pel motion vector. For example, Equation 1 illustrates an example in which to scale the motion vector predicted value as an integer pel units, a motion vector is obtained.
[168]
[Formula 1]

[169]

[170]
In Equation 1, mvpLX represents a motion vector prediction value, mvdLX represents a motion vector difference value. Also, mvLX [0], mvpLX [0], mvdLX [0] and so on denotes a vector component vertical movement, mvLX [1], mvpLX [1], mvdLX [1] and so on represent the vector components horizontal movement.
[171]
As another example, if the motion vector per pixel in the neighboring blocks twice the integer pel and a motion vector per pixel in the current block quarter pelin, scaling a motion vector prediction value derived from a neighboring block to the quarter-pel units, scaling the motion vector in addition a predictive value and a motion vector difference value, it is possible to obtain a motion vector of quarter-pel unit. For example, if the expression (2) to the current picture as a reference picture, shows an example of which motion vector is obtained.
[172]
[Formula 2]

[173]

[174]
In the above expressions (1) and (2), a bit shift value which is used to scale the motion vector prediction value it can be determined adaptively according to the ratio between a motion vector accuracy of the motion vector accuracy and the neighboring block of the current block.
[175]
Unlike the example shown in Figure 11, it is the motion vector generated by adding a motion vector prediction value and the motion vector difference values ​​can be scaled according to the motion vector accuracy of the current block.
[176]
Motion vector difference values, can be encoded / decoded according to the motion vector accuracy of the current block. For example, when the motion vector accuracy of the current block quarter pelin, the motion vector difference values ​​for the current block can be encoded / decoded in the quarter-pel unit.
[177]
It is also possible for coding / decoding the motion vector difference value to a predetermined unit regardless of the motion vector accuracy of the current block. Here, the predetermined unit, or group promises a fixed pixel units in the encoder and decoder (for example, integer-pel or quarter-pel, etc.), may be determined in units of pixels, such as a high-level picture or the slice. If the accuracy of the motion vector accuracy and the motion vector difference value of the current block are different, a motion vector by scaling the difference value, or scaling the derived by adding the scaled motion vector prediction value and the motion vector difference value of the motion vector, the motion of the current block It can be derived vector. For example, while the motion vector accuracy of the current block, the integer pel, when the motion vector difference value encoded with a precision of a quarter-pel, as shown in equation (1), by the sum of the scaled motion vector prediction value and the motion vector difference value by scaling the derived motion vector, it is possible to derive a motion vector of the current block.
[178]
According to the motion vector accuracy, the coding / decoding method of a motion vector difference value may be differently determined. For example, when a small number of pels per pixel, and the motion vector difference value can be divided for encoding / decoding as a prefix (Prefix Part) and a suffix (Suffix) part. Prefix part, denotes the integer part of the motion vector, the suffix part may represent the fractional part of the motion vector. For example, Equation (3) shows an example of inducing the prefix part 'predfix_mvd' and a suffix part 'suffix_mvd'.
[179]
[Formula 3]

[180]

[181]
In Equation 3, N may be a fixed value, may be a value that is variably determined according to the motion vector accuracy of the current block. For example, N may be a value lying in a proportional relation, the motion vector accuracy of the current block.
[182]
If the current block is the motion vector accuracy of more than twice the integer pel pixel, the motion vector may be shifted by a value N the difference value encoded. For example, when the motion vector accuracy of the current block twice pelin integer, motion vectors can be coded / decoded one-half of the difference value of the current block if the motion vector accuracy is four times pelin constant, the motion vector difference value of 1 / 4, it is possible to decode the encoded. In this case, in the decoder, it is possible to induce by scaling the motion vector difference value decoding according to a motion vector accuracy of the current block, the motion vector of the current block.
[183]
[184]
If to be a merge mode or skip mode for the current block applied, varying the motion vector accuracy is determined between the blocks, the spatial / temporal merge candidate block and the motion vector precision when the different between the current block can occur. Accordingly, the motion vectors of spatially / temporally adjacent blocks are scaled according to the block motion vector accuracy (S1220), you can set the scaled motion vector as the motion information of the spatial / temporal merge candidates (S1230). For example, the spatial / and temporal neighboring blocks for motion vector mvLX [0] and / or mvLX [1] scaled current according to the block motion vector a, it leads to the scaled motion vector mxLXscale [0] and / or mvLXscale [1], and It can be set to the scaled motion vector as a motion vector of the spatial / temporal merge candidates.
[185]
For example, when the current pelin and the motion vector precision is quarter-pel of neighboring blocks adjacent to the block, the motion vector accuracy of the current block is constant, as shown below in equation (4), by scaling the neighbor block a motion vector of a spatially merge candidate You can set a motion vector.
[186]
[Formula 4]

[187]

[188]
In Equation (4), a bit shift value which is used to scale a motion vector of a neighbor block can be determined adaptively according to the ratio between a motion vector accuracy of the motion vector accuracy and the neighboring block of the current block.
[189]
As another example, it can be seen that the selection of (the remaining candidate selected by the other words, the remaining index), the remaining candidate is the present block and the merge target and the motion vector accuracy is consistent with the motion vector accuracy of the current block. If the motion vector accuracy of the selected merge candidate does not match the precision motion vector of the current block, the motion vector of the selected merge candidate may be scaled according to the motion vector accuracy of the current block.
[190]
Motion vector of the current block may be set equal to the motion vector (i.e., the scaled motion vector) of the remaining candidates selected by the index information of the remaining candidate (S1240).
[191]
Unlike the example shown in Figure 12, in consideration of the motion vector accuracy of spatially / temporally adjacent block it may determine the remaining candidates for the current block. For example, by the difference or ratio between motion vector accuracy and the motion vector precision to the current block of the spatial neighborhood block comparison whether more than a predetermined threshold value, that depending on the comparison, access to spatial / temporally neighboring blocks in the remaining candidate it can be determined whether. For example, if the motion vector accuracy is twice as integer pels spatially merge candidates, if the motion vector accuracy of the current block pelin quarter, may refer to a correlation between the two blocks not large. Accordingly, it is possible to set the difference value of the current and the motion vector precision large spatial / temporal neighboring blocks than a threshold value of the block is not possible to see the remaining candidate (unavailable). That is, it is possible to use the motion vector precision and spatial / temporally neighboring blocks in the current block only if the motion vector accuracy is less than or equal to the threshold value of spatially / temporally adjacent blocks in the remaining candidates. Spatially / temporally adjacent blocks are not available to see the remaining candidates can not be added to the remaining less candidate list.
[192]
Current when the difference or the ratio between the block of the motion vector accuracy, the motion vector accuracy of neighboring blocks than a threshold value, or the amount of precision are different, as in the embodiment described with reference to Figure 12 above, merging the scaled motion vector candidate set to the motion vector, or may scale the motion vectors of the remaining candidate identified by the remaining indexes.
[193]
The motion vector of the current block may be derived from the motion vector of the remaining candidate added to the remaining candidate list. If, in the case where the accuracy of the motion vector of the remaining candidate added to the motion vector precision and the remaining candidate list for the current block to be different,
[194]
Precision motion vector difference value may represent a difference value between the motion vector accuracy, and may indicate the difference value of the corresponding value corresponding to the motion vector accuracy. Here, the corresponding values ​​may represent the values ​​assigned to each of the motion vector accuracy is illustrated in the motion vector accuracy, and may represent the index value, or Table 2 corresponding to the example in Table 1 below. For example, in Table 2, and the value assigned to the corresponding quarter pel is 2, so the corresponding value is assigned to the integer pel 3, the difference value of the two precision can be determined by two.
[195]
TABLE 2
Motion vector per pixel Corresponding values
Loam pel pixel 0
Quarter-pel pixel 1
Half-pel pixel 2
Integer-pel pixel 3
Twice the integer pel pixel 4
Four times the integer pel pixel 5

[196]
Using the motion vector accuracy difference value instead of the motion vector accuracy scale, it is also possible to determine the availability of the temporal / spatial neighboring blocks. Here, the motion vector accuracy scale may represent the multiple between the two motion vectors accuracy. For example, the ratio between the quarter-pels and integer pels may be defined as four times.
[197]
[198]
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
[199]
The present invention can be applied to electronic devices capable of encoding / decoding an image.

Claims

[Claim 1]Determining a motion vector accuracy of the current block; Generating a list of candidate motion vectors of the current block; Obtaining a motion vector prediction value of the current block from the motion vector candidate list; Confirming whether or not the accuracy of the motion vector predicted value is equal to the motion vector accuracy of the current block; If the accuracy of the motion vector prediction value of the current block, the motion vector accuracy is different, scaling a motion vector according to the predicted value in the motion vector accuracy of the current block; And using the motion vector prediction value the scaling, the image decoding method comprising the step of obtaining the current block of the motion vector.
[Claim 2]
The method of claim 1, wherein the motion vector accuracy of the current block, the image decoding method, characterized in, that it is determined from the motion vector accuracy set comprising a plurality of candidate motion vectors accuracy.
[Claim 3]
The method of claim 2, wherein said motion vector accuracy of the current block is, the image decoding method characterized in that the plurality of the motion vector accuracy candidates determined based on the index information indicating either one.
[Claim 4]
The method of claim 1, wherein the motion vector difference value is, the image decoding method including a suffix part representing a prefix part and a fractional part representing the integer part.
[Claim 5]
The method of claim 1, wherein the scaling, the image decoding method, is performed on the basis of the bit shift operation in accordance with the precision and accuracy of a motion vector between the current block scale of the motion vector prediction value.
[Claim 6]
Determining a motion vector accuracy of the current block; Generating a list of candidate motion vectors of the current block; Obtaining a motion vector prediction value of the current block from the motion vector candidate list; Confirming whether or not the accuracy of the motion vector predicted value is equal to the motion vector accuracy of the current block; If the accuracy of the motion vector prediction value of the current block, the motion vector accuracy is different, scaling a motion vector according to the predicted value in the motion vector accuracy of the current block; And a method using the scaled motion vector predicted value, including the step of obtaining the current block, the motion vector, the image encoding.
[Claim 7]
The method of claim 6, wherein the motion vector accuracy of the current block, characterized in that the decision from the motion vector accuracy set comprising a plurality of candidate motion vector accuracy, the image encoding method.
[Claim 8]
The method of claim 7, wherein the motion vector accuracy of the current block is, the image encoding method characterized in that the plurality of the motion vector accuracy candidates determined based on the index information indicating either one.
[Claim 9]
The method of claim 6, wherein the motion vector difference value is, the image decoding method including a suffix part representing a prefix part and a fractional part representing the integer part.
[Claim 10]
The method of claim 6, wherein the scaling, the image decoding method, is performed on the basis of the bit shift operation in accordance with the precision and accuracy of a motion vector between the current block scale of the motion vector prediction value.
[Claim 11]
The accuracy of the motion vector prediction value of the current block, determining a motion vector accuracy of the current block, and generating said current block the motion vector candidate list, and acquiring the motion vector prediction value of the current block from the motion vector candidate list, and the check with the same, the motion vector accuracy and if the accuracy of the motion vector prediction value the current block in the motion vector accuracy is different, and scaled to match the motion vector predicted value in the motion vector accuracy of the current block, the scaling motion using a vector predicted value, the image decoding apparatus comprises inter-prediction unit for obtaining the current block of the motion vector.

Documents

Application Documents

# Name Date
1 201917027714.pdf 2019-07-10
2 201917027714-TRANSLATIOIN OF PRIOIRTY DOCUMENTS ETC. [10-07-2019(online)].pdf 2019-07-10
3 201917027714-STATEMENT OF UNDERTAKING (FORM 3) [10-07-2019(online)].pdf 2019-07-10
4 201917027714-FORM 1 [10-07-2019(online)].pdf 2019-07-10
5 201917027714-DRAWINGS [10-07-2019(online)].pdf 2019-07-10
6 201917027714-DECLARATION OF INVENTORSHIP (FORM 5) [10-07-2019(online)].pdf 2019-07-10
7 201917027714-COMPLETE SPECIFICATION [10-07-2019(online)].pdf 2019-07-10
8 201917027714-Proof of Right (MANDATORY) [30-07-2019(online)].pdf 2019-07-30
9 201917027714-FORM-26 [30-07-2019(online)].pdf 2019-07-30
10 201917027714-Power of Attorney-010819.pdf 2019-08-08
11 201917027714-OTHERS-010819.pdf 2019-08-08
12 201917027714-Correspondence-010819.pdf 2019-08-08
13 abstract.jpg 2019-08-17
14 201917027714-FORM 3 [21-11-2019(online)].pdf 2019-11-21
15 201917027714-FORM 18 [22-11-2019(online)].pdf 2019-11-22
16 201917027714-FORM 3 [12-07-2021(online)].pdf 2021-07-12
17 201917027714-certified copy of translation [12-07-2021(online)].pdf 2021-07-12
18 201917027714-certified copy of translation [12-07-2021(online)]-1.pdf 2021-07-12
19 201917027714-Information under section 8(2) [14-07-2021(online)].pdf 2021-07-14
20 201917027714-FER.pdf 2021-10-18
21 201917027714-OTHERS [12-11-2021(online)].pdf 2021-11-12
22 201917027714-FER_SER_REPLY [12-11-2021(online)].pdf 2021-11-12
23 201917027714-DRAWING [12-11-2021(online)].pdf 2021-11-12
24 201917027714-CLAIMS [12-11-2021(online)].pdf 2021-11-12
25 201917027714-US(14)-HearingNotice-(HearingDate-22-01-2024).pdf 2024-01-01
26 201917027714-Correspondence to notify the Controller [11-01-2024(online)].pdf 2024-01-11
27 201917027714-FORM 3 [22-01-2024(online)].pdf 2024-01-22
28 201917027714-Written submissions and relevant documents [05-02-2024(online)].pdf 2024-02-05
29 201917027714-PatentCertificate24-02-2024.pdf 2024-02-24
30 201917027714-IntimationOfGrant24-02-2024.pdf 2024-02-24

Search Strategy

1 SearchE_13-04-2021.pdf

ERegister / Renewals

3rd: 29 Mar 2024

From 15/12/2019 - To 15/12/2020

4th: 29 Mar 2024

From 15/12/2020 - To 15/12/2021

5th: 29 Mar 2024

From 15/12/2021 - To 15/12/2022

6th: 29 Mar 2024

From 15/12/2022 - To 15/12/2023

7th: 29 Mar 2024

From 15/12/2023 - To 15/12/2024

8th: 14 Nov 2024

From 15/12/2024 - To 15/12/2025

9th: 13 Nov 2025

From 15/12/2025 - To 15/12/2026