Abstract: A method for decoding an image, according to the present invention, comprises the steps of: determining whether to divide a current block using a quadtree; determining whether to divide the current block using a binary tree, when the current block is not divided using the quadtree; determining the form of binary tree partition for the current block, when the current block is determined to be divided using the binary tree; and dividing the current block into two partitions according to the form of the binary tree which has been determined.
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 that can be in, effectively dividing the encoding / decoding the current block as an encoding / decoding a video signal.
[6]
An object of the present invention is to provide a method and apparatus for dividing, for encoding / decoding the current block as in encoding / decoding a video signal into two blocks in symmetrical or asymmetrical form.
[7]
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
[8]
A video signal decoding method and apparatus according to the present invention, and determining whether and to determine whether to split quadtree of the current block, wherein whether the current block is, if not divided quadtree, to divide the current block is a binary tree, when it is determined by dividing the current block is a binary tree, the binary tree to determine a partition type for the current block, it is possible to divide the current block into two partitions according to the determined binary tree partition form.
[9]
Video signal coding method and apparatus according to the present invention, and determining whether and to determine whether to split quadtree of the current block, wherein whether the current block is, if not divided quadtree, to divide the current block is a binary tree, when it is determined by dividing the current block is a binary tree, the binary tree to determine a partition type for the current block, it is possible to divide the current block into two partitions according to the determined binary tree partition form.
[10]
In the video signal encoding / decoding method and apparatus according to the present invention, the binary tree partition type, there are two partitions that are generated as the current block is split may contain asymmetric asymmetric partition form.
[11]
In the video signal encoding / decoding method and apparatus according to the present invention, the current block is, if the divided asymmetrically partitions, each partition created by the division result of the current block is longer quadtree segmentation or a binary tree segmentation is not allowed, can not.
[12]
In the video signal encoding / decoding method and apparatus according to the present invention, the binary tree form a partition may be determined by the base at least one of a current block division direction and the information related to the size of the current partition of the two.
[13]
In the video signal encoding / decoding method and apparatus according to the present invention, determining the binary tree partition type, the method comprising the current block determines whether division in a symmetrical form, and the current block is not divided into a symmetrical when it is determined that it does, it can include determining an asymmetric partition in the form of the current block.
[14]
In the video signal encoding / decoding method and apparatus according to the invention, the image decoding method, characterized in that the partitions form a binary tree is determined by the index information that is signaled via the bitstream.
[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, the efficient encoding / decoding the current block can be increased, the coding / decoding efficiency by dividing.
[17]
According to the present invention, by dividing the encoding / decoding the current block by two block of symmetrical or asymmetrical shape it can increase encoding / decoding efficiency.
[18]
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
[19]
Figure 1 is a block diagram showing an image encoding apparatus according to an embodiment of the present invention.
[20]
Figure 2 is a block diagram showing an image decoding apparatus according to an embodiment of the present invention.
[21]
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.
[22]
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.
[23]
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.
[24]
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.
[25]
Figure 7 is an illustration of a divided form of coded blocks based on an asymmetric binary tree partitioning.
[26]
8 is a flowchart illustrating a coding block using a binary tree split and asymmetric QTBT showing an example which is divided into a plurality of coded blocks.
[27]
Figure 9 is a view showing the possible partition shape applied to the coded block.
[28]
10 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.
[29]
Figure 11 is one embodiment to which the present invention is applied, a flow diagram illustrating a process of coding the block division.
[30]
12 is a flowchart illustrating a process for obtaining a residual sample in one embodiment where the present invention is applied.
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. Further, the coding block is divided into 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. For example, quad_split_flag indicates whether the coding block is divided into four coding blocks, binary_split_flag may indicate whether the coding block is divided into the two coded blocks. If the coding block is divided into two code blocks, the division direction of the coding block can be a is_hor_split_flag that indicates whether the vertical direction or the horizontal direction signaling.
[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 a binary tree, the coding unit may ttil a rectangle or square of any size.
[119]
[120]
Division result based on the quad-tree, binary tree, and, no more coded block is not divided can be used as a predicted block or a transform block. That is, in the QTBT (Quad-Tree & Binary-Tree) dividing method based on the quad-tree and a binary tree, the coding block and a prediction block, the prediction block can be a block transform. For example, QTBT may be the case where the division method, generating a predicted image of a coding block, and the difference between the residual signal between the original image and the prediction image converted into coding block units. Here, to generate a predicted image of a coding block, or the motion information is determined based on the coded block, it may mean that the one of the intra-prediction mode determined based on the coding block.
[121]
In QTBT division method, BT can be set to allow only symmetric division. However, even in the case where the object and the background divided at the block boundary, if only allows symmetric binary division, the coding efficiency can be lowered. In the present invention, to increase the encoding efficiency, it is intended to propose a method for partitioning a coded block asymmetrically.
[122]
Asymmetric binary tree partitioning (Asymetric Binary Tree Partitioning) indicates that for dividing the coding block into two smaller coding blocks. Result, the coded block of the asymmetric partitioning the binary tree may be divided into coded blocks of the two asymmetric form. For ease of illustration, the embodiment is described hereinafter, is the coding block is divided into two partitions of symmetrical binary tree split (or, a binary tree partitioning) as referred to, and the coding block is divided into two partitions of the asymmetric type that it will be referred to as asymmetric binary tree split (or asymmetric binary tree partitioning).
[123]
Figure 7 is an illustration of a divided form of coded blocks based on an asymmetric binary tree partitioning. 2Nx2N coded block width ratio n: can be divided into two coded blocks of (1-n): (1-n) of the two coded blocks or height ratio n. Here, n may represent a small real number larger than 0 and 1.
[124]
According to Fig. In 7, the asymmetric binary tree partitioning applied to a coding block, a width ratio of 1: 3 or 3: 1 in the two coding blocks, or the height ratio of 1: 3 or 3: 1, 2, shown to be the generation of coded blocks It was.
[125]
Specifically, as divided in the vertical direction of the coding block size WxH, it may be a width of a 1 / 4W of the left partition and a width of 3 / 4W of the right side partition creation. A, small split form, the width of the left side partition than the width of the right side partition as above can be referred to as binary nLx2N partition.
[126]
As the coded block of size WxH divided in the vertical direction, and may be a width of the generated 3 / 4W of the left partition and a width of 1 / 4W of the right partition. As above, the width of the right side partition is split to form smaller than the width of the left side partition to be referred to as binary nRx2N partition.
[127]
As the coded block of size WxH divided in the horizontal direction, the upper partition and the height is the height of 1 / 4H can be produced in the bottom of the partition 3 / 4H. As above, it is a small split type than the height of the height of the top of the partition lower partition can be referred to as binary 2NxnU partition.
[128]
As the coded block of size WxH divided in the horizontal direction, it can be generated in height 3 / 4H of the height of the top of the partition and the bottom of partition 1 / 4H. As above, there is a small split type than the height of the top of the partition height of the bottom of the partition can be referred to as binary 2NxnD partition.
[129]
7 the ratio of the width or height ratio between two encoding blocks 1: 3 or 3: 1, but illustrating the case of, not two coded block to-width produced by the asymmetric binary tree partitioning ratio or height ratio is not limited thereto. Coding blocks may be divided into the two coded blocks having a different width or a different non-height ratio as shown in Fig.
[130]
When using a binary tree asymmetric partitioning, the asymmetric form of a binary partition coded block may be determined based on information it signaled via the bitstream. For example, splitting the form of coded blocks may be determined based on the information indicating whether the first partition that is generated as the information and the coding block is divided represents the division direction of the coded block it has the size smaller than the second partition.
[131]
Information indicating the dividing directions of the coding block may be a coded block that is divided in the vertical direction or the one-bit flag that indicates whether the division in the horizontal direction. For example, hor_binary_flag may indicate whether or not the coding block is divided in a horizontal direction. The value of the hor_binary_flag 1, indicates that the encoded block is divided in a horizontal direction, but the value of hor_binary_flag is 0, may indicate that the coded block is divided in the vertical direction. Or a ver_binary_flag indicating whether may be used if the coding block is divided in the vertical direction.
[132]
The first partition information indicating whether it has the size smaller than the second partition may be a 1-bit flag. For example, is_left_above_small_part_flag is the size of the left or top of the partition generated as the coding block is divided to indicate whether or not smaller than the right side or the lower partition. Which is the value of is_left_above_small_part_flag of 1 it means that less than the left or the size of the upper partition right side or bottom of the partition, and the values of is_left_above_small_part_flag zero it may mean that the magnitude of the left or top of the partition is greater than the right side or bottom of the partition. Alternatively, it is also possible to the size of the right side or bottom of the partition for the is_right_bottom_small_part_flag indicating whether the partition is smaller than the left or top.
[133]
Or, a first partition and a may determine the size of the first partition and the second partition using information indicating a width ratio, the height ratio or a width ratio between the two partitions.
[134]
Hor_binary_flag the value of zero, is the value of the is_left_above_small_part_flag 1, represents a binary nLx2N partition, and the values of hor_binary_flag zero, being the value of is_left_above_small_part_flag zero, may represent a binary nRx2N partition. In addition, the value of the hor_binary_flag 1 to 5, the value of the is_left_above_small_part_flag 1, represents a binary 2NxnU partition, and the value of the hor_binary_flag 1 to 5, the value of is_left_above_small_part_flag zero may represent a binary 2NxnD partition.
[135]
As another example, a binary asymmetric partition in the form of coded blocks may be determined by the index information indicating the partitions in the form of coded blocks. Here, the index information may be encoded with information that is signaled via the bitstream, with a fixed length (i.e., a fixed number of bits), and may be encoded with a variable length. For example, Table 1 shows the partition index by binary asymmetric partition.
[136]
TABLE 1
Asymetric partition index Binarization
nLx2N 0 0
nRx2N 1 10
2NxnU 2 100
2NxnD 3 111
[137]
Asymmetric partitioning the binary tree can be used as the dependent QTBT division method. For example, in the case that more than the quad-tree partition, or a binary tree split is not applied to the coded block, whether to apply the asymmetric binary tree split in the coding block it can be determined whether or not the. Whether Here, whether to apply the asymmetric binary tree splitting the coding block may be determined by the information that is signaled via the bitstream. For example, the information may be a one-bit flag 'asymmetric_binary_tree_flag', on the basis of the flag, it is determined whether the number that is an asymmetric binary tree split applied to the coded block.
[138]
Or, if it is determined that the coding block is divided into two blocks, there is whether or not the division form a binary tree, a binary tree splitting or an asymmetric division may be determined. Here, whether the division form of a coding block or a binary tree, a binary tree splitting or an asymmetric division may be determined by the information that is signaled via the bitstream. For example, the information may be a one-bit flag 'is_asymmetric_split_flag', on the basis of the flag, it is determined whether the number of coded blocks that are divided into symmetrical or asymmetrical form.
[139]
As another example, assigning a different index to the symmetric and asymmetric binary partition binary partition, and may determine whether or not, the coding block is divided into symmetrical or asymmetrical shape depending on the index information. For example, Table 2 shows an example in which different indexes are assigned to binary symmetric and asymmetric partition binary partition.
[140]
TABLE 2
Binary partition index Binarization
2NxN (horizontal binary partition) 0 0
Nx2N (vertical binary partition) 1 10
nLx2N 2 110
nRx2N 3 1110
2NxnU 4 11110
2NxnD 5 11111
[141]
Coding tree block or coded block may be broken down into a plurality of coded blocks from the quad-tree partition, dividing the binary tree or a binary tree asymmetric division. For example, Figure 8 is a view showing an example of division into coding blocks with a plurality of coded blocks by using the binary tree QTBT and asymmetric division. Referring to FIG. 8, it can be seen that each of the two asymmetric binary tree split in two depths partitioning of the first grip and the second depth picture of the three partitioning, Partitioning Depth 3 of the third picture done.
[142]
The coded blocks divided by the partitioning Asymmetrical binary tree can be limited so that it no longer divided. For example, coded blocks generated through the asymmetric partitioning the binary tree, the quad-tree, binary tree, binary tree, or asymmetric information can not be encoded / decoded. That is, the, quad-tree partition, whether representing flag, a binary tree split whether appear that flag, asymmetric binary tree split whether the indicating flag, a binary tree or asymmetric binary tree splitting direction for the coded blocks generated through the asymmetric binary tree partitioning a flag representing, or encoding, such as the syntax of the index information indicating the asymmetric binary partition / decoding can be omitted.
[143]
Whether another example, a binary tree, whether to permit the partition may be determined dependent on whether or not to allow the QTBT. For example, in the picture or slice is divided based on the method QTBT not used may be limited, asymmetric binary tree partitioning and should not be used.
[144]
The information indicating whether the accepted asymmetric binary tree partitioning is coded on a block-by-block basis, picture basis, or slice units may also be signaled. Here, information indicating whether the accepted asymmetric binary tree partitioning may be a 1-bit flag. For example, it is the value of is_used_asymmetric_QTBT_enabled_flag is zero, may represent a binary tree is asymmetrical partitioning is not used. If a binary tree partitioning is not used on a picture-by-picture basis or a slice units, without signaling the is_used_asymmetric_QTBT_enabled_flag, it may set the value to zero.
[145]
On the basis of the coding block size, shape, depth or split split type, etc., it may be determined is divided form acceptable to the coded block. In one embodiment, the allowed between the quadtree partitioning a coded block and a binary tree split coded blocks produced by produced by the split-type, at least one of the partitions form a partition, or the number may be different.
[146]
For example, when be-coded block is generated by the quad-tree partition, and has the coding block, it can be quad-tree partition, a binary tree split and asymmetric binary tree split allowed. That is, when the intended-coded block is generated based on a quad-tree partition, coding blocks can be applied to all the partitions form shown in Fig. For example, 2Nx2N partition represents a case where the coded block that is no longer divided, NxN denotes a case in which the coded block is divided quadtree, 2NxN Nx2N, and may represent a case where the coding block is divided binary tree. Also, nLx2N, nRx2N, 2NxnU 2NxnD and may represent a case where the coding block is asymmetric binary tree split.
[147]
On the other hand, when the intended-coded block is generated by a binary tree split, the coding block, may limit the asymmetric binary tree split. In other words, it may be limited to encoding block is applied to the case be, the coding block is partitioned to form partitions of the asymmetric type (nLx2N, nRx2N, 2NxnU, 2NxnD) shown in Figure 9 is generated based on a binary tree split.
[148]
[149]
When using a QTBT, there is no longer divided coded block can be used as a prediction block. That is, the coding block is a skip mode, and may be encoded using the intra prediction, at least one of the prediction method or inter-picture skipped.
[150]
As another example, when the coded block is determined, and may determine a predicted block (Block Prediction) having a size smaller than or the same size coding block and the coding block divided by the prediction of the coding block. 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. Dividing the form of coded blocks may be determined by the information for specifying any one of a partition candidate. At this time, the partition candidates for the coding block can be used may include an asymmetric partition form (e. G., NLx2N, nRx2N, 2NxnU, 2NxnD) depending on the size, shape, or the encoding mode of the encoding block. In one embodiment, in the coding block can be used partition candidate may be determined according to the coding mode of the current block. For example, Figure 10 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.
[151]
If the coding block coded by inter picture prediction, it is as shown in the example shown in Figure 10 the coding block, and any one of the eight partition mode can be applied.
[152]
On the other hand, when the coded blocks are coded with intra picture prediction, the coding block may be subject to a partition mode PART_2Nx2N or PART_NxN.
[153]
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.
[154]
As another example, the candidate with the partition coded block can be used may be differently determined according to at least one of the size or type of the coding block. For example, the number or type of partition candidates for the coding block can be used can be differently determined according to at least one of the size or type of the coding block.
[155]
Or, it may be the type or the number of partitions of the asymmetric partitioning candidates candidates that can use coded block limited by the size or type of the coding block. For example, the number or type of candidate asymmetric partition in the coding block can be used may be differently determined according to at least one of the size or type of the coding block.
[156]
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.
[157]
Figure 11 is one embodiment to which the present invention is applied, a flow diagram illustrating a process of coding the block division.
[158]
First, one can determine whether to perform a quad-tree partition of the current block (S1110). If it is determined that the current quad-tree division performed on the block, the current block may be divided into four coding blocks (S1120).
[159]
On the other hand, when it is determined as not quadtree segmentation is allowed in the current block, it is possible to determine whether a binary tree, a binary tree split or asymmetric division performed on the current block (S1130).
[160]
If it is determined to be a binary tree, a binary tree split or asymmetric division performed for the current block, it is possible to determine the form of a binary partition of the current block (S1140). At this time, can be determined by a binary tree partition type of the current block is based on at least one of the index information indicating the information or partition type indicates the size of the information, the dividing partition information showing a partition of the current block.
[161]
The current block is determined according to a binary partition form, can be divided into two symmetric or asymmetric type block (S1150).
[162]
Whether or not, and whether asymmetric binary tree segmentation is performed if the binary tree segmentation performed for the current block may be determined in sequence. For example, there is whether or not can be determined whether to perform the asymmetric binary tree split only if the current block is determined to be unacceptable the binary tree split.
[163]
[164]
12 is a flowchart illustrating a process for obtaining a residual sample in one embodiment where the present invention is applied.
[165]
First, it is possible to obtain the residual coefficients of the current block (S1210). Decoder through a coefficient scanning method, it is possible to obtain the residual coefficients. For example, a decoder, a diagonal scanning, zigzag scanning and the up-light scanning, using a vertical scan or a horizontal scan, performs the scanning and counting, it is possible to obtain the residual coefficients of the resulting two-dimensional block format.
[166]
It may perform the inverse quantization to the residual coefficients of the current block (S1220).
[167]
It may determine whether to skip the inverse transformation to the inverse quantized residual coefficients of the current block (S1230). Specifically, the decoder may determine whether the horizontal or the skip (skip) the inverse transformation to at least one of the vertical direction of the current block. When it is determined to apply the inverse transform for at least one of the vertical or horizontal direction of the current block, by the inverse transform inverse quantized residual coefficients of the current block, it is possible to obtain a residual samples in the current block (S1240). Here, the inverse transformation may be performed using at least one of a DCT, DST or KLT.
[168]
If the inverse transformation is skipped for both horizontal and vertical directions of a current block, the inverse transform is not carried out at this time in the horizontal direction and vertical direction of the block. In this case, by scaling the de-quantized residual coefficients to the group set value, it is possible to obtain a residual samples in the current block (S1250).
[169]
Omitting the inverse transformation in the horizontal direction, the horizontal direction without performing an inverse transform and a vertical direction by means of performing the inverse transform. At this time, the horizontal direction may be scaled to be performed.
[170]
Omitting the inversion in the vertical direction, the vertical direction is to not perform the reverse conversion, the horizontal direction means to perform the inverse transformation. At this time, the vertical direction may be scaled to be performed.
[171]
In accordance with the split type of a current block, it may be determined whether or not whether to use the reverse skipping techniques for the current block. For example, when the current block is probably created by the division of a binary tree-based, may be restricted from using inversion techniques skipped for the current block. Accordingly, if the current block is probably created by the division of a binary tree-based, by inverse transformation of the current block, it is possible to obtain a residual samples in the current block. In addition, the encoding / decoding when the current block is probably generated by the division of a binary tree-based information (e.g., transform_skip_flag) indicating whether inversion is a skip can be omitted.
[172]
Alternatively, it is possible to limit the current block only in inversion techniques allow a skip binary tree when a base generated through the division, at least one of a horizontal direction or a vertical direction. Here, the direction in which the reverse skip techniques limit, or determined based on information decoded from the bitstream, the current block size, based on at least one of intra-prediction mode of the form or the current block of the current block may be determined adaptively have.
[173]
For example, the current block can be wide when the large non-square block than the height, allowing the inverse transform scheme skips only the vertical direction, and limits the reverse skipping techniques used for the horizontal direction. That is, if the current block 2NxN, the horizontal direction of the current block is the inverse transform is performed, is in the vertical direction can be selectively performed in the inverse transformation.
[174]
On the other hand, it may be present if the height is greater than the width of the non-square block blocks, and allows for reverse skipping technique only for the horizontal direction, and limit the use reverse skipping techniques for the vertical direction. That is, if the current block Nx2N, in the vertical direction of the current block is the inverse transform is performed, in a horizontal direction can be selectively carried out in the inverse transform.
[175]
If this example, as opposed to the current block of the one width of the largest non-square block than the height, if only reverse skip allows the techniques, the current block is a height of a large non-square block than the width in the horizontal direction, inversion only in the vertical direction It may be allowed to skip techniques.
[176]
Information indicating whether or not to skip an inversion of the information or the vertical direction on whether to skip the inverse transformation with respect to the horizontal direction can be signaled via the bitstream. In one example, the information indicating whether or not to skip a reverse conversion on the horizontal direction is a one-bit flag, 'hor_transform_skip_flag', information indicating whether or not to skip a reverse conversion on the vertical direction of the one-bit flag, 'ver_transform_skip_flag "there could be. Encoder, can be encoded in at least one of a, 'hor_transform_skip_flag' or 'ver_transform_skip_flag' according to the type of the current block. In addition, the decoder may determine whether use of the 'hor_transform_skip_flag' or 'ver_transform_skip_flag' at least, that the inverse transform in the horizontal direction or the vertical direction skipped.
[177]
In accordance with the split type of the current block, with respect to any direction, it may be set so that the inverse transform is omitted. For example, when the current block is generated by the division of a binary tree-based, may be omitted in the horizontal direction or the inverse transform in the vertical direction. That is, if the current block is generated by division of a binary tree-based, the horizontal or vertical direction with respect to the current block without encoding / decoding the current block information that indicates whether the inversion is skipped (e.g., transform_skip_flag, hor_transform_skip_flag, ver_transform_skip_flag) one may decide to skip the inverse transform for at least one.
[178]
[179]
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
[180]
The present invention can be applied to electronic devices capable of encoding / decoding an image.
Claims
[Claim 1]
Determining whether or not to divide quad-tree of the current block; Comprising: a case where the current block is not divided quadtree, the current block determines whether to divide the binary tree; When it is determined by dividing the current block is a binary tree, the method comprising: determining a form of a binary tree partition of the current block; And, an image decoding method comprising: dividing the current block into two partitions according to a binary tree form of the determined partition.
[Claim 2]
The method of claim 1, wherein the binary-tree partition type, the image decoding method characterized in that the two partitions that are generated as the current block is divided including asymmetrical asymmetric partitions form.
[Claim 3]
3. The method of claim 2, wherein if the current block is divided into asymmetric partitions, each partition created by the division result of the current block, characterized in that it does no longer allow the quadtree partition or a binary tree split, the image decoding method .
[Claim 4]
The method of claim 1, wherein the binary tree form a partition, the current block is divided and direction, the image decoding method characterized in that it is determined on the basis of at least one of information related to the size of the current partition of the two.
[Claim 5]
The method of claim 1, wherein determining the binary tree partition type, the method comprising: determining whether the current block is divided into a symmetric mode; And, an image decoding method for determining a form of asymmetric partitions if it is determined that that is the current block is not divided into a symmetric mode, the current block.
[Claim 6]
The method of claim 1 wherein, the image decoding method, characterized in that the partitions form a binary tree is determined by the index information that is signaled via the bitstream.
[Claim 7]
Determining whether or not to divide quad-tree of the current block; Comprising: a case where the current block is not divided quadtree, the current block determines whether to divide the binary tree; When it is determined by dividing the current block is a binary tree, the method comprising: determining a form of a binary tree partition of the current block; And, a video encoding method comprising: dividing the current block into two partitions according to a binary tree form of the determined partition.
[Claim 8]
The method of claim 7, wherein the partitions form a binary tree, the image encoding method, characterized in that the two partitions that are generated as the current block is divided including asymmetrical asymmetric partitions form.
[Claim 9]
The method of claim 8, wherein if the current block is divided into asymmetric partitions, each partition created by the division result of the current block, characterized in that it does no longer allow the quadtree partition or a binary tree split, the image encoding method .
[Claim 10]
The method of claim 7, wherein the binary tree based on the determined partition type, the current direction and the block division, the image encoding method comprising encoding at least one of information related to the size of the current partition of the two.
[Claim 11]
The method of claim 7, wherein determining the binary tree partition type, the method comprising: determining whether the current block is divided into a symmetric mode; And, an image coding method for determining a form of asymmetric partitions if it is determined that that is the current block is not divided into a symmetric mode, the current block.
[Claim 12]
8. The method of claim 7, the video encoding method further includes encoding the index information, the step of specifying the binary tree form a partition.
[Claim 13]
When determining whether to split quadtree of the current block and the current block is determined to when not divided quadtree, it determines whether to divide the current block is a binary tree, dividing the current block is a binary tree, the image decoding device determines the binary tree form a partition of the current block, according to the determined binary tree partition type which comprises a picture division to divide the current block into two partitions.
| # | Name | Date |
|---|---|---|
| 1 | 201917010970.pdf | 2019-03-20 |
| 2 | 201917010970-TRANSLATIOIN OF PRIOIRTY DOCUMENTS ETC. [20-03-2019(online)].pdf | 2019-03-20 |
| 3 | 201917010970-STATEMENT OF UNDERTAKING (FORM 3) [20-03-2019(online)].pdf | 2019-03-20 |
| 4 | 201917010970-FORM 1 [20-03-2019(online)].pdf | 2019-03-20 |
| 5 | 201917010970-DRAWINGS [20-03-2019(online)].pdf | 2019-03-20 |
| 6 | 201917010970-DECLARATION OF INVENTORSHIP (FORM 5) [20-03-2019(online)].pdf | 2019-03-20 |
| 7 | 201917010970-COMPLETE SPECIFICATION [20-03-2019(online)].pdf | 2019-03-20 |
| 8 | 201917010970-Proof of Right (MANDATORY) [24-04-2019(online)].pdf | 2019-04-24 |
| 9 | 201917010970-FORM-26 [24-04-2019(online)].pdf | 2019-04-24 |
| 10 | abstract.jpg | 2019-04-30 |
| 11 | 201917010970-Power of Attorney-250419.pdf | 2019-05-02 |
| 12 | 201917010970-OTHERS-250419.pdf | 2019-05-02 |
| 13 | 201917010970-Correspondence-250419.pdf | 2019-05-02 |
| 14 | 201917010970-FORM 3 [23-08-2019(online)].pdf | 2019-08-23 |
| 15 | 201917010970-FORM 18 [24-11-2019(online)].pdf | 2019-11-24 |
| 16 | 201917010970-FORM 3 [08-07-2021(online)].pdf | 2021-07-08 |
| 17 | 201917010970-certified copy of translation [19-07-2021(online)].pdf | 2021-07-19 |
| 18 | 201917010970-OTHERS [20-07-2021(online)].pdf | 2021-07-20 |
| 19 | 201917010970-FER_SER_REPLY [20-07-2021(online)].pdf | 2021-07-20 |
| 20 | 201917010970-DRAWING [20-07-2021(online)].pdf | 2021-07-20 |
| 21 | 201917010970-CLAIMS [20-07-2021(online)].pdf | 2021-07-20 |
| 22 | 201917010970-FER.pdf | 2021-10-18 |
| 23 | 201917010970-US(14)-HearingNotice-(HearingDate-09-01-2024).pdf | 2023-11-23 |
| 24 | 201917010970-Correspondence to notify the Controller [28-11-2023(online)].pdf | 2023-11-28 |
| 25 | 201917010970-FORM 3 [02-01-2024(online)].pdf | 2024-01-02 |
| 26 | 201917010970-FORM-26 [05-01-2024(online)].pdf | 2024-01-05 |
| 27 | 201917010970-certified copy of translation [23-01-2024(online)].pdf | 2024-01-23 |
| 28 | 201917010970-Written submissions and relevant documents [24-01-2024(online)].pdf | 2024-01-24 |
| 29 | 201917010970-PETITION UNDER RULE 137 [24-01-2024(online)].pdf | 2024-01-24 |
| 30 | 201917010970-Others-120224.pdf | 2024-03-05 |
| 31 | 201917010970-Correspondence-120224.pdf | 2024-03-05 |
| 32 | 201917010970-PatentCertificate06-03-2024.pdf | 2024-03-06 |
| 33 | 201917010970-IntimationOfGrant06-03-2024.pdf | 2024-03-06 |
| 1 | _SearchStrategy-201917010970E_05-02-2021.pdf |