Method for Signaling Video Information and Method for Decoding Video Information Using the Method for Signaling Video Information
By jointly coding prediction type information with short codewords assigned to high-frequency types and optimizing signaling order, the method addresses the high-cost issue of transmitting high-resolution videos, achieving reduced overhead and enhanced compression efficiency.
Patent Information
- Application Number
- JP2024147435
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2011-02-11
- Filing Date
- 2024-08-29
- Publication Date
- 2025-07-15
- Estimated Expiration
- 2031-11-23
AI Technical Summary
The increasing demand for high-resolution and high-quality videos leads to higher transmission and storage costs due to increased information volume, necessitating more efficient video compression methods.
A method for signaling video information that involves joint coding of prediction type information, including prediction mode, partition size, and slice type, with short codewords assigned to high-frequency prediction types, and signaling order determined by occurrence frequency to reduce overhead and enhance compression efficiency.
This approach reduces transmission overhead and increases compression efficiency by effectively selecting the most probable mode, thereby enhancing prediction effects and decreasing the amount of transmission bits.
Smart Images

Figure 0007708947000037 
Figure 0007708947000038 
Figure 0007708947000039
Abstract
Description
Technical Field
[0001] The present invention relates to video information compression technology, and more specifically, to a method for signaling information related to a prediction mode and a method for decoding video information using this method.
Background Art
[0002] Recently, the demand for high-resolution and high-quality videos has been increasing in various application fields. However, as the video becomes higher in resolution and quality, the amount of information related to the corresponding video also increases. Therefore, when transmitting video information using existing media such as wired / wireless broadband lines or storing video information using existing storage media, the transmission cost and storage cost of information increase. An efficient video compression technology can be used to effectively transmit, store, and reproduce high-resolution and high-quality video information.
[0003] In order to improve the efficiency of video compression, inter-picture prediction and intra-picture prediction can be used. In the inter prediction method, the pixel value of the current picture is predicted by referring to the information of other pictures, and in the intra prediction method, the pixel value is predicted using the inter-pixel correlation relationship within the same picture.
[0004] On the other hand, as methods of entropy coding, there are a method of applying Context-based Adaptive Binary Arithmetic Coding (CABAC) and a method of applying Context-based Adaptive Variable Length Coding (CAVLC).
[0005] CABAC selects a probability model for each syntax element according to the context, changes the probability of the probability model by internal statistics, and performs compression using arithmetic coding. When CAVLC is used as the entropy coding mode, encoding is performed using a predetermined variable length coding (VLC) table for each syntax element. Summary of the Invention Problems to be Solved by the Invention
[0006] An object of the present invention is to provide a signaling method and apparatus capable of reducing transmission overhead.
[0007] An object of the present invention is to provide a method and apparatus for signaling information regarding a prediction type applied to a current block by joint coding.
[0008] Another object of the present invention is to provide a method and apparatus for determining a signaling order in consideration of the occurrence frequency for each prediction type.
[0009] Another object of the present invention is to provide a method and apparatus for allocating codewords for prediction types in consideration of the occurrence frequency for each prediction type.
[0010] Another object of the present invention is to provide a method and apparatus for adapting codewords for prediction types in consideration of the occurrence frequency for each prediction type.
[0011] Another object of the present invention is to provide a method and apparatus for effectively selecting the most probable mode (MPM) in order to increase the compression efficiency and enhance the prediction effect. Means for Solving the Problems
[0012] (1) An embodiment of the present invention is a method for signaling video information, including the steps of performing prediction on a current block and signaling information regarding the prediction type applied to the current block. In the signaling step, information elements constituting the prediction type information are jointly coded and signaled.
[0013] (2) In (1), the information elements include information regarding a prediction mode and information regarding a partition size.
[0014] (3) In (2), the information elements further include at least one of information regarding block splittability and information regarding a slice type.
[0015] (4) In (1), by the joint coding, a short codeword is assigned to a prediction type with a high selection ratio.
[0016] (5) In (1), the applicability of a predetermined prediction type among the prediction types applicable to the current block is signaled separately using a flag for each.
[0017] (6) In (5), the predetermined prediction type is a skip mode.
[0018] (7) In (5), the predetermined prediction type has a skip mode and a merge mode. The applicability of the skip mode to the current block is preferentially signaled. When it is signaled that an inter prediction mode is applied to the current block, the applicability of the merge mode to the current block is signaled.
[0019] (8) In (5), by the joint coding, a short codeword is assigned to a prediction type with a high selection ratio.
[0020] (9) Another embodiment of the present invention is a method for decrypting video information, including the steps of receiving information, performing a prediction on a current block based on the received information, and restoring the current block based on the performed prediction, wherein information elements constituting a prediction type applied to the current block are jointly coded in the received information.
[0021] (10) In (9), the information elements include information regarding a prediction mode and information regarding a partition size.
[0022] (11) In (10), the information elements further include at least one of information regarding the divisibility of a block and information regarding a slice type.
[0023] (12) In (9), by the joint coding, short codewords are assigned to prediction types having a high occurrence ratio among the prediction types.
[0024] (13) In (9), for each of the applicability of a predetermined prediction type among the prediction types applicable to the current block, it is received as separate information using a flag.
[0025] (14) In (13), the predetermined prediction types are a skip mode and a merge mode. The applicability of the skip mode is preferentially received, and when it is signaled that an inter prediction mode is applied to the current block, information indicating the applicability of the merge mode to the current block is received.
Advantages of the Invention
[0026] According to the present invention, when signaling information regarding prediction, the overhead can be reduced.
[0027] According to the present invention, by jointly coding information on the prediction type currently applied to a block, the signaling overhead can be reduced.
[0028] According to the present invention, by determining the signaling order in consideration of the occurrence frequency for each prediction type and allocating codewords, the transmission efficiency can be increased.
[0029] According to the present invention, by adapting the codewords for the prediction type in consideration of the occurrence frequency for each prediction type, the transmission overhead can be reduced and the amount of transmission bits can be decreased.
[0030] According to the present invention, by effectively selecting the Most Probable Mode (MPM), the compression efficiency can be increased and the prediction effect can be enhanced.
Brief Description of the Drawings
[0031]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Figure 21
Figure 22
Figure 23
Figure 24
Figure 25
Figure 26
Embodiments for Carrying Out the Invention
[0032] The present invention can be subjected to various changes, can have various embodiments, and specific embodiments are illustrated in the drawings and described in detail. However, this does not limit the present invention to specific embodiments. The terms used in this specification are merely used to describe specific embodiments and are not used to limit the technical idea of the present invention. Singular expressions include plural expressions unless the context clearly indicates a different meaning. Terms such as "including" or "having" in this specification are intended to specify the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, and it should not be understood as precluding the possibility of the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.
[0033] On the one hand, each component in the drawings described in the present invention is independently illustrated for the convenience of explaining different characteristic functions with respect to a video encoding / decoding apparatus, and does not mean that each component is embodied by separate hardware or separate software. For example, two or more of the components can be integrated into one component, and one component can be divided into a plurality of components. Embodiments in which the components are integrated and / or separated are included in the scope of the present invention as long as they do not depart from the essence of the present invention.
[0034] Hereinafter, with reference to the accompanying drawings, preferred embodiments of the present invention will be described in more detail. Hereinafter, on the drawings, the same reference numerals are used for the same components, and duplicate descriptions of the same components are omitted.
[0035] FIG. 1 is a block diagram schematically showing a video encoding apparatus (encoder) according to an embodiment of the present invention. Referring to FIG. 1, the video encoding apparatus 100 includes a picture splitting unit 105, a prediction unit 110, a conversion unit 115, a quantization unit 120, a reordering unit 125, an entropy encoding unit 130, an inverse quantization unit 135, an inverse conversion unit 140, a filter unit 145, and a memory 150.
[0036] The picture splitting unit 105 can split the input picture into at least one processing unit. At this time, the processing unit may be a prediction unit (hereinafter referred to as 'PU'), a transform unit (hereinafter referred to as 'TU'), or a coding unit (hereinafter referred to as 'CU').
[0037] As will be described later, the prediction unit 110 includes an inter-picture prediction unit that performs inter-picture prediction and an intra-picture prediction unit that performs intra-picture prediction. The prediction unit 110 generates a prediction block by performing prediction on the processing unit of a picture in the picture division unit 105. The processing unit of the picture in the prediction unit 110 may be a CU, a TU, or a PU. Also, it is possible to determine whether the prediction performed on the corresponding processing unit is either inter-picture prediction or intra-picture prediction, and to define the specific content (e.g., prediction mode, etc.) of each prediction method. At this time, the processing unit on which the prediction is executed may be different from the processing unit on which the prediction method and the specific content are determined. For example, the prediction method and prediction mode, etc. may be determined in PU units, and the execution of the prediction may also be performed in TU units.
[0038] By inter-picture prediction, prediction can be executed based on the information of at least one picture among the previous picture and / or the subsequent picture of the current picture to generate a prediction block. Also, by intra-picture prediction, prediction can be executed based on the pixel information within the current picture to generate a prediction block.
[0039] In inter-picture prediction, for a PU, a reference picture can be selected, and a reference block of the same size as the PU can be selected in integer pixel sample units. Next, a prediction block is generated such that the residual signal with the current PU is minimized and the magnitude of the motion vector is also minimized. As methods of intra-picture prediction, a skip mode, a merge mode, a motion vector prediction (MVP), etc. can be used. The prediction block can also be generated in sample units less than an integer such as 1 / 2 pixel sample units and 1 / 4 pixel sample units. At this time, the motion vector can also be expressed in units less than an integer pixel. For example, it can be expressed in 1 / 4 pixel units for luminance pixels and 1 / 8 pixel units for chrominance pixels.
[0040] Information such as the index of the reference picture selected by inter - picture prediction, motion vectors (e.g., Motion Vector Predictor), and residual signals is entropy - encoded and transmitted to the decoder.
[0041] When performing intra - picture prediction, the prediction mode is determined in PU units, and prediction can be performed in PU units. Also, the prediction mode can be determined in PU units, and intra - picture prediction can be performed in TU units.
[0042] In intra - picture prediction, the prediction mode can have 33 directional prediction modes and at least two or more non - directional modes. The non - directional modes can include the DC prediction mode and the Planar mode.
[0043] In intra - picture prediction, after applying an Adaptive Intra Smoothing (AIS) filter to the reference pixels according to the prediction mode, a prediction block can be generated. The types of AIS filters applied to the reference pixels may be different. Also, in intra - picture prediction, prediction can be performed by interpolating the reference pixels in 1 / 8 - pixel units according to the prediction mode of the current block.
[0044] A PU can have various sizes / forms. For example, in the case of inter - picture prediction, a PU can have a size such as 2N×2N, 2N×N, N×2N, or N×N. In the case of intra - picture prediction, a PU can have a size such as 2N×2N or N×N (N is an integer). At this time, a PU of size N×N can be set to be applicable only in specific cases. For example, it can be defined to use an N×N PU only for the coding unit with the smallest size, or only for intra - picture prediction. Also, in addition to the PUs of the sizes described above, PUs with sizes such as N×mN, mN×N, 2N×mN, or mN×2N (m < 1) can be further defined and used.
[0045] The residual value (residual block or residual signal) between the generated prediction block and the original block is input to the conversion unit 115. Also, prediction mode information, motion vector information, etc. used for prediction are encoded by the entropy encoding unit 130 together with the residual value and transmitted to the decoder.
[0046] The conversion unit 115 performs conversion on the residual block in conversion units and generates conversion coefficients. The conversion unit in the conversion unit 115 may be a TU and can have a quad tree structure. At this time, the size of the conversion unit can be determined within a range of predetermined maximum and minimum sizes. The conversion unit 115 can convert the residual block using a discrete cosine transform (DCT) and / or a discrete sine transform (DST).
[0047] The quantization unit 120 can quantize the residual value converted by the conversion unit 115 to generate quantization coefficients. The value calculated by the quantization unit 120 is provided to the inverse quantization unit 135 and the rearrangement unit 125.
[0048] The rearrangement unit 125 rearranges the quantization coefficients provided from the quantization unit 120. By rearranging the quantization coefficients, the encoding efficiency in the entropy encoding unit 130 can be improved. The rearrangement unit 125 can rearrange the quantization coefficients in a two-dimensional block form into a one-dimensional vector form by a coefficient scanning method.
[0049] In the rearrangement unit 125, the entropy encoding efficiency in the entropy encoding unit 130 can also be improved by changing the order of coefficient scanning based on the probabilistic statistics of the coefficients transmitted by the quantization unit.
[0050] The entropy encoding unit 130 can perform entropy encoding on the quantized coefficients rearranged by the rearrangement unit 125. For entropy encoding, for example, encoding methods such as Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC) can be used. The entropy encoding unit 130 can encode various information received from the rearrangement unit 125 and the prediction unit 110, such as quantized coefficient information and block type information of the CU, prediction mode information, division unit information, PU information and transmission unit information, motion vector information, reference picture information, interpolation information of the block, filtering information, etc.
[0051] Also, the entropy encoding unit 130 can make certain changes to the parameter set or syntax to be transmitted if necessary.
[0052] The inverse quantization unit 135 inverse-quantizes the value quantized by the quantization unit 120, and the inverse transform unit 140 inverse-transforms the value inverse-quantized by the inverse quantization unit 135. The residual values generated by the inverse quantization unit 135 and the inverse transform unit 140 can be combined with the predicted block predicted by the prediction unit 110 to generate a reconstructed block.
[0053] The filter unit 145 can apply a deblocking filter, an Adaptive Loop Filter (ALF), and a Sample Adaptive Offset (SAO) to the restored picture.
[0054] The deblocking filter can remove block distortion that occurs at the boundaries between blocks in the restored picture. The Adaptive Loop Filter (ALF) can perform filtering based on the value obtained by comparing the restored video and the original video after the blocks have been filtered by the deblocking filter. The ALF can also be executed only when high efficiency is applied. SAO restores the offset difference from the original video for each pixel in the residual block to which the deblocking filter has been applied, and is applied in forms such as Band Offset and Edge Offset.
[0055] On the other hand, the filter unit 145 does not have to apply filtering to the restored block used for inter-picture prediction.
[0056] The memory 150 can store the restored block or picture calculated by the filter unit 145. The restored block or picture stored in the memory 150 can be provided to the prediction unit 110 that performs inter-picture prediction.
[0057] FIG. 2 is a block diagram schematically showing a video decoder according to an embodiment of the present invention. Referring to FIG. 2, the video decoder 200 can include an entropy decoding unit 210, a reordering unit 215, an inverse quantization unit 220, an inverse transform unit 225, a prediction unit 230, a filter unit 235, and a memory 240.
[0058] When a video bitstream is input from the video encoder, the input bitstream can be decoded according to the procedure by which the video information was processed in the video encoder.
[0059] For example, when variable length coding (VLC), such as CAVLC (hereinafter referred to as 'VLC'), is used to perform entropy coding in a video coder, the entropy decoding unit 210 can also perform entropy decoding by implementing the same VLC table as the VLC table used in the coder. Further, when CABAC is used to perform entropy coding in a video coder, the entropy decoding unit 210 can perform entropy decoding using CABAC correspondingly.
[0060] Among the information decoded by the entropy decoding unit 210, the information for generating a prediction block is provided to the prediction unit 230, and the residual value for which entropy decoding has been performed by the entropy decoding unit can be input to the reordering unit 215.
[0061] The reordering unit 215 can reorder the bit stream entropy decoded by the entropy decoding unit 210 based on the method of reordering in the video coder. The reordering unit 215 can reorder by restoring the coefficients expressed in the form of a one-dimensional vector to the coefficients in the form of a two-dimensional block again. The reordering unit 215 can receive the provision of information related to the coefficient scanning executed in the coder and perform reordering by scanning in reverse based on the scanning order executed in the corresponding coding unit.
[0062] The inverse quantization unit 220 can perform inverse quantization based on the quantization parameter provided by the coder and the coefficient values of the reordered block.
[0063] The inverse transformation unit 225 can perform inverse DCT and / or inverse DST on the quantization result executed by the video encoder with respect to the DCT and DST executed by the transformation unit of the encoder. The inverse transformation can be executed based on the transmission unit determined by the encoder or the division unit of the video. DCT and / or DST in the transformation unit of the encoder can be selectively executed by a plurality of information such as a prediction method, the size of the current block, and a prediction direction, and the inverse transformation unit 225 of the decoder can execute the inverse transformation based on the transformation information executed by the transformation unit of the encoder.
[0064] The prediction unit 230 can generate a prediction block based on the prediction block generation related information provided by the entropy decoder 210 and the previously decoded block and / or picture information provided by the memory 240. The restored block can be generated using the prediction block generated by the prediction unit 230 and the residual block provided by the inverse transformation unit 225. When the prediction mode for the current PU is the intra prediction mode (intra-frame prediction mode), intra-frame prediction for generating a prediction block based on the pixel information within the current picture can be executed.
[0065] When the prediction mode for the current PU is the inter prediction mode (inter-frame prediction mode), inter-frame prediction for the current PU can be executed based on the information included in at least one of the previous picture or the subsequent picture of the current picture. At this time, the motion information required for the inter-frame prediction of the current PU provided by the video encoder, for example, information regarding a motion vector, a reference picture index, etc., can be derived corresponding to this information after checking information such as a skip flag or a merge flag received from the encoder.
[0066] The restored block and / or picture can be provided to the filter unit 235. The filter unit 235 applies deblocking filtering, Sample Adaptive Offset (SAO), and / or adaptive loop filtering, etc. to the restored block and / or picture.
[0067] The memory 240 can use the restored picture or block as a reference picture or reference block by storing the restored picture or block, and can also provide the restored picture to the output unit.
[0068] On the other hand, when prediction is performed in the encoder, information related to prediction, such as information related to the prediction mode and partition, etc. is signaled to the decoder. The signaling of the information related to prediction can be performed in various ways. For example, when the information related to prediction is signaled, information related to the mode of using the motion information of the peripheral block adjacent to the current block (hereinafter, for the convenience of explanation, the "peripheral block adjacent to the current block" is referred to as the "neighbor block") as the motion information of the current block can be signaled first.
[0069] As methods of using the motion information of the neighbor block as the motion information of the current block, there are methods of using the skip mode, the direct mode, and the merge mode. Since the three modes use the motion information of the neighbor block as the motion information of the current block, the motion information is not directly transmitted. However, in the skip mode, the residual information is not transmitted, but in the direct mode and the merge mode, the residual information can be transmitted. At this time, in the skip mode and the merge mode, information indicating which neighbor block's motion information is used as the motion information of the current block can be transmitted.
[0070] As another method of using the information of neighboring blocks for predicting the current block, it is also possible to consider the method of using the (merge) skip mode and the merge mode. In the (merge) skip mode, a predetermined block is selected from among the candidate blocks around the current block, the motion information of the selected block is used as the motion information of the current block, and the residual signal is not transmitted either. In the merge mode, similar to the case of the (merge) skip mode, a predetermined block is selected from among the candidate blocks around the current block, the motion information of the selected block is used as the motion information of the current block, and the residual information is transmitted. At this time, the residual information may be information regarding the difference in pixel values between the predicted block generated based on the reference block indicated by the motion information of the selected block and the current block. When applying the (merge) skip mode or the merge mode, information indicating which candidate block's motion information the current block uses can be transmitted.
[0071] Even when not using the motion information of neighboring blocks as the motion information of the current block, the motion information of the current block can be predicted using the motion information of neighboring blocks. For example, the encoder signals the decoder with motion vector difference information indicating the difference between the motion vector of the current block and the motion vector of the neighboring block, and the decoder can predict the motion information of the current block based on the motion information of the neighboring block and the motion vector difference information.
[0072] When using the skip mode, the direct mode, and the merge mode, if not applicable to these three modes, the encoder signals the decoder with the partition information together with the prediction mode of the current block. In the merge mode, when the merge mode is executed in units of encoding units, the encoder does not signal the decoder with the prediction mode and the partition information of the current block, but when the merge mode is executed in units of prediction units, the encoder transmits the prediction mode and the partition information of the current block to the decoder.
[0073] Even when using the (merge) skip mode or the merge mode, the processing can be the same as when using the skip mode, the direct mode, or the merge mode. For example, if it does not correspond to the (merge) skip mode and the merge mode, the encoder can signal the decoder with the partition information together with the prediction mode of the current block. Also, even in the merge mode, when the merge mode is executed in units of encoding units, the encoder does not signal the decoder with the prediction mode and the partition information of the current block, but when the merge mode is executed in units of prediction units, the encoder can signal the decoder with the prediction mode and the partition information of the current block.
[0074] Therefore, unless the motion information of the surrounding blocks is used as the motion information of the current block in units of encoding units, the encoder can signal the decoder with the prediction mode and the partition information for the current block.
[0075] FIG. 3 is a diagram schematically showing an example of a method of signaling information related to prediction when the merge mode is executed in units of encoding units. In FIG. 3, the case of using {skip mode, direct mode, merge mode} as the mode of using the motion information of the surrounding blocks as the motion information of the current block will be exemplified and described.
[0076] Referring to FIG. 3, whether the skip mode is applied to the current block can be indicated by skip_flag, and whether the merge mode is applied can be indicated by merge_flag. Also, whether the direct mode is applied to the current block can be indicated by information such as direct_mode_signaling. When a prediction mode other than the skip mode, the merge mode, and the direct mode is applied, the prediction mode and the partition information can be indicated by information such as pred_mode_partition_signaling.
[0077] In the example of FIG. 3, first, it is determined whether the prediction mode of the current block is the skip mode by the skip flag. For example, when the value of the skip flag is 1, it can be determined that the skip mode is applied to the current block. When the value of the skip flag is 0, it is determined whether the prediction mode of the current block is the merge mode by the merge flag. For example, when the value of the merge flag is 1, it can be determined that the merge mode is applied to the current block. When the value of the merge flag is 0, it can be determined whether the prediction mode of the current block is the direct mode by the direct_mode_signaling that indicates whether it is the direct mode. For example, when the value of the direct_mode_signaling is 1, it can be determined that the direct mode is applied to the current block. When the value of the direct_mode_signaling is 0, the prediction mode and partition of the current block can be determined by the prediction mode of the current block and the pred_mode_partition_signaling that indicates the partition. At this time, the information regarding the prediction mode and partition of the current block (for example, the partition size) can be jointly coded and signaled at once.
[0078] The information regarding prediction such as the prediction mode and partition size, that is, the prediction type, can be jointly coded and signaled as described above. The prediction mode can include the intra mode and the inter mode. The partition size can be 2N×2N, N×N (N is the number of samples), etc. for the intra prediction mode, and 2N×2N, 2N×N, N×2N, N×N, 2N×nU, 2N×nD, nL×2N, nR×2N (where 0 < n < 1 and U, D, L, R are integers indicating the number of samples), etc. for the inter prediction mode.
[0079] Therefore, the prediction type that can be represented by pred_mode_partition_signaling can indicate a prediction type having any one of the partitions {2N×2N, N×N} as an intra prediction mode, or a prediction type having any one of the partitions {2N×2N, 2N×N, N×2N, N×N, 2N×nU, 2N×nD, nL×2N, nR×2N} as an inter prediction mode.
[0080] On the other hand, information regarding the prediction type including information regarding the prediction mode and the partition can be transmitted before and after signaling of other information.
[0081] For example, information regarding the prediction type can be signaled after the slice type of the current block is signaled. When the prediction mode of the current block is an intra mode, the slice type information can indicate an I slice, and when the prediction mode of the current block is an inter mode, the slice type information can indicate a B or P slice. Here, an I slice means a slice decoded using only intra prediction, and a B slice means a slice decoded using inter prediction or intra prediction using at most two motion vectors and reference indices. A P slice means a slice decoded using inter prediction or intra prediction using at most one motion vector and reference index.
[0082] Also, information regarding the prediction type can be signaled after the IntraSplitFlag of the current block is signaled. For example, when information regarding the prediction type is transmitted as a parameter for an encoding unit, information indicating that it was not split (IntraSplitFlag = 0) or information indicating that it was split (IntraSplitFlag = 1) can be transmitted, and then information regarding the prediction type can be transmitted.
[0083] Therefore, even if the same index or codeword is assigned to a prediction type in which at least one of the prediction mode or the partition size is the same, it is also possible to specify which prediction type is indicated based on the slice type and / or the split information transmitted in advance. For example, even if the same index or codeword is assigned to the 2N×2N intra mode and the 2N×2N inter mode, in the case of the intra mode, it is pre-signaled that the slice type is an I slice, and in the case of the inter mode, it is pre-signaled that the slice type is a P or B slice. Therefore, the decoder can determine whether the 2N×2N intra mode is indicated or the 2N×2N inter mode is indicated.
[0084] On the other hand, as described above, information regarding a prediction mode that uses the motion information of surrounding blocks as the motion information of the current block, such as {skip mode, direct mode, merge mode} or {(merge) skip mode, merge mode}, can be signaled separately without joint coding with information regarding other prediction types.
[0085] Furthermore, in the case of the merge mode among the modes that use the motion information of surrounding blocks as the motion information of the current block, information regarding the feasibility of merging for merges with a high occurrence frequency can be jointly coded with other information in consideration of the occurrence frequency, and information regarding the feasibility of merging for merges with a low occurrence frequency can be signaled separately without joint coding with other information. For example, only when merging in units of coding units (CU merge), information regarding the feasibility of merging can be jointly coded and signaled with information such as intra / inter prediction feasibility and partition information, and when merging in units of prediction units (PU merge), information regarding the feasibility of merging can be transmitted separately without joint coding with information such as intra / inter prediction feasibility and partition information. Hereinafter, the case of merging in units of coding units and the case of merging in units of prediction units will be described separately.
[0086] Table 1 shows an example of jointly encoding the prediction mode and partition information of the current block according to the example of FIG. 3. In Table 1, among the aforementioned prediction types, for the sake of convenience of explanation, the case where the inter prediction mode has partitions of {2N×2N, 2N×N, N×2N, N×N} will be exemplified and explained.
[0087] [Table 1]
[0088] Referring to Table 1, the encoder can indicate the prediction mode applied to the current block and the partition size of the current block by means of the codeword by joint coding.
[0089] On the other hand, as shown in FIG. 3 and Table 1, when signaling the information regarding a predetermined mode first and then signaling the information regarding the prediction mode and the partition size, it is possible to assign codewords in consideration of the occurrence frequency for each prediction type.
[0090] FIG. 4 is a diagram schematically showing the occurrence frequency of each prediction type. In FIG. 4, for each environment, that is, in the cases of Random Access High Efficiency (RAHE), Low Delay High Efficiency (LDHE), Random Access Low Complexity (RALC), and Low Delay Low Complexity (LDLC), it shows the distribution for each partition size of the skip mode, merge mode, direct mode, intra mode, and each partition size of the inter mode.
[0091] Referring to FIG. 4, the distribution of the occurrence frequencies of the skip mode and the merge mode is large, and in the case of the direct mode, the occurrence frequency is less than that of the 2N×2N inter mode. Therefore, in this case, in the signaling order shown in FIG. 3, it is more efficient to signal the information indicating whether the 2N×2N inter mode is applied rather than signaling the information indicating whether the direct mode is applied.
[0092] In the example of FIG. 4, {skip mode, direct mode, merge mode} are used as prediction modes that use the motion information of the surrounding blocks as the motion information of the current block, and the occurrence frequencies of 2N×2N, 2N×N, N×2N, and N×N among the partition sizes are measured. Similarly, when using {(merge) skip mode, merge mode} and / or when using all partition sizes, the occurrence frequencies of each prediction mode and partition size can be considered, and based on this, the signaling order can be adjusted.
[0093] FIG. 5 is a diagram schematically explaining an example of a method in which an encoder signals in a system to which the present invention is applied. In FIG. 5, {skip mode, direct mode, merge mode} are used as prediction modes that use the motion information of the surrounding blocks as the motion information of the current block, and similar to FIG. 3, the case where the merge mode is applied in units of encoding units is exemplified and explained. Therefore, whether the merge mode can be applied is not signaled for each partition size smaller than the encoding unit.
[0094] Referring to FIG. 4, there can be a prediction mode / partition size having a selection ratio (occurrence frequency) higher than that of the direct mode. Therefore, it is advantageous in terms of transmission overhead to signal so that it is first determined whether other prediction modes (prediction mode / partition size) with a high selection ratio can be applied.
[0095] For example, when the prediction mode / partition size having a higher occurrence frequency than the direct mode is set as mode A, it is possible to transmit the information regarding the applicability of mode A prior to the information regarding the applicability of the direct mode.
[0096] In the example of FIG. 5, the encoder signals the information regarding the applicability of mode A prior to the information regarding the applicability of the direct mode. Specifically, the encoder first signals the information (skip_flag) indicating whether the skip mode is applied to the current block, and if the skip mode is not applied, signals the information (merge_flag) indicating whether the merge mode is applied, and if the merge mode is not applied, signals the information (modeA_flag) indicating whether mode A is applied.
[0097] When mode A is not applied, the encoder signals the information indicating which of the remaining prediction modes / partition sizes together with the direct mode is applied to the current block. That is, the encoder signals the information (pred_mode_partition_signaling) indicating which prediction type other than the skip mode, merge mode, and mode A is applied to the current block.
[0098] Table 2 is an example of a joint coding table that assigns codewords to prediction type information as shown in the example of FIG. 5. In Table 2, for the sake of convenience of explanation, an example will be described where the inter prediction mode has partitions of {2N×2N, 2N×N, N×2N, N×N} and the merge mode is applied on a per coding unit basis.
[0099] [Table 2]
[0100] In the example of Table 2, for the sake of convenience of explanation, it is assumed that Mode A is a 2N×2N inter-mode. Therefore, the 2N×2N inter-mode is signaled first without using the joint coding table, and whether the direct mode can be applied is signaled using the joint coding table together with other prediction types.
[0101] At this time, separately from changing the transmission order in consideration of the occurrence frequency of the prediction type as in the example of FIG. 5, it is also possible to assign codewords to the prediction types in consideration of the occurrence frequency of the prediction type.
[0102] Table 3 shows an example of a joint coding table in which codewords are assigned in consideration of the occurrence frequency for each prediction type. In Table 3, among the above-described prediction types, for the sake of convenience of explanation, the case where the inter-prediction mode has a partition of {2N×2N, 2N×N, N×2N, N×N} and the merge mode is applied in units of coding units will be exemplified and described.
[0103]
Table 3
[0104] In the example of Table 3, for the sake of convenience of explanation, it is assumed that the occurrence frequency of N×2N is higher than that of 2N×N. When comparing with the case of Table 1, in the case of Table 3, the codewords assigned to the 2N×N inter-mode and the N×2N inter-mode are changed in consideration of the occurrence frequency of the prediction type. Specifically, when it is assumed that the occurrence frequency of the 2N×N inter-mode is lower than that of the N×2N inter-mode, a shorter codeword (01) is assigned to the N×2N inter-mode that shows a higher occurrence frequency, and a longer codeword (001) is assigned to the 2N×N inter-mode with a lower occurrence frequency.
[0105] At this time, the occurrence frequency of the prediction type can also be reflected in both the signaling order and the codeword assignment.
[0106] Table 4 is an example of a joint coding table when the signaling order is adjusted considering the occurrence frequency of prediction types and codewords are assigned. In Table 4, among the aforementioned prediction types, for the sake of convenience of explanation, an example will be described where the inter prediction mode has a partition of {2N×2N, 2N×N, N×2N, N×N} and the merge mode is applied in units of coding units.
[0107]
Table 4
[0108] In the example of Table 4, for the sake of convenience of explanation, it is assumed that the occurrence frequency of the 2N×2N inter mode is higher than that of the direct mode, and the occurrence frequency of N×2N is higher than that of 2N×N. Therefore, whether the 2N×2N inter mode can be applied is transmitted by separate signaling prior to whether the direct mode can be applied. Whether the direct mode can be applied is signaled using the joint coding table in Table 4 together with other prediction types. At this time, a codeword (01) smaller than the codeword (001) of the 2N×N inter mode is assigned to the N×2N inter mode, which has a higher occurrence frequency than the 2N×N inter mode.
[0109] On one hand, among the prediction modes that use the motion information of peripheral blocks as the motion information of the current block, for a predetermined prediction mode, its applicability can be signaled separately first, and information regarding the applicability of other prediction types can also be signaled by joint coding. Therefore, the applicability of the skip mode can be signaled separately, and the applicability of the merge mode and the direct mode can be signaled by joint coding together with the applicability of other prediction types. Or, the applicability of the merge mode can be signaled separately, and the applicability of the skip mode and the direct mode can be signaled by joint coding together with the applicability of other prediction types. Similarly, the applicability of the direct mode can be signaled separately, and the applicability of the skip mode and the merge mode can be signaled by joint coding together with the applicability of other prediction types.
[0110] Also, the applicability of the skip mode and the merge mode can be signaled separately, and the applicability of the direct mode can be signaled by joint coding together with the applicability of other prediction types. The applicability of the skip mode and the direct mode can be signaled separately, and the applicability of the merge mode can be signaled by joint coding together with the applicability of other prediction types. Or, the applicability of the merge mode and the direct mode can be signaled separately, and the applicability of the skip mode can be signaled by joint coding together with the applicability of other prediction types.
[0111] When using {skip merge mode, merge mode} instead of {skip mode, direct mode, merge mode}, it is also possible to separately signal whether skip merge mode can be applied, and signal whether merge mode can be applied by joint coding together with whether other prediction types can be applied. Or, it is possible to separately signal whether merge mode can be applied, and signal whether (merge) skip mode can be applied by joint coding together with whether other prediction types can be applied.
[0112] Table 5 shows an example of a joint coding table used when signaling whether a predetermined prediction mode can be applied and whether other prediction types can be applied among the prediction modes that use the motion information of the surrounding blocks as the motion information of the current block. In Table 5, as an example of using {skip mode, direct mode, merge mode}, an example is described in which whether direct mode can be applied is signaled by joint coding together with whether other prediction types can be applied. Also in Table 5, among the above-described prediction types, for the sake of convenience of explanation, an example is illustrated and explained in the case where the inter prediction mode has partitions of {2N×2N, 2N×N, N×2N, N×N} and the merge mode is applied in units of coding units.
[0113]
Table 5
[0114] According to Table 5, the encoder can indicate the prediction type for the current block by transmitting the codeword corresponding to the prediction type applied to the current block.
[0115] At this time, the encoder can also assign codewords according to the occurrence frequency of each prediction type.
[0116] Table 6 is an example of a joint coding table that allocates codewords considering the occurrence frequency when it is assumed that the 2N×2N inter mode has a higher occurrence frequency than the direct mode.
[0117]
Table 6
[0118] Referring to Table 6, a codeword (1) smaller than the codeword (01) of the direct mode is allocated to the 2N×2N inter mode with a higher occurrence frequency.
[0119] Table 7 shows an example of allocating codewords considering the occurrence frequency when it is assumed that among the inter modes, the occurrence frequency of the 2N×N inter mode is lower than that of the N×2N inter mode.
[0120]
Table 7
[0121] Referring to Table 7, a codeword (1) smaller than the codeword (01) of the direct mode is allocated to the 2N×2N inter mode with a higher occurrence frequency, and a codeword (001) smaller than the codeword (0001) for the 2N×N inter mode is allocated to the N×2N inter mode.
[0122] FIG. 6 is a diagram schematically explaining another example of the method by which an encoder signals in a system to which the present invention is applied. In FIG. 6, when the direct mode is not applied as a prediction mode in which the motion information of a peripheral block is used as the motion information of the current block, that is, when {(merge) skip mode, merge mode} is used and the merge mode is applied in units of coding units, this is illustrated and explained. Therefore, whether the merge mode can be applied is not signaled for each partition size smaller than the coding unit.
[0123] When comparing the embodiment of FIG. 6 with the cases of FIG. 3 or FIG. 5, the number of pieces of information regarding whether to apply a prediction mode that uses the motion information of a peripheral block as the motion information of the current block is reduced by one. That is, in the case of FIG. 3 or FIG. 5, it is the same as the case where there is no direct mode. In the case of FIG. 3 or FIG. 5, when excluding the direct mode, the signaling overhead for the inter / intra mode signaled later is reduced. Therefore, when using the (merge) skip mode and the merge mode as in the case of FIG. 6, the signaling overhead can be reduced when compared with the case of FIG. 3 or FIG. 5.
[0124] Even when using the {(merge) skip mode, merge mode}, the prediction type can be signaled in the same manner as when using the {skip mode, direct mode, merge mode}. For example, also in the example of FIG. 6, among the prediction types other than the (merge) skip mode and the merge mode, if the prediction mode or prediction type with a high selection ratio (occurrence frequency) is set as mode A, the information (modeA_flag) regarding whether to apply mode A can be signaled prior to the information regarding whether to apply other prediction types (2N×2N inter mode,..., N×N intra mode). Also, when mode A is not applied, the applicability of other prediction types (2N×2N inter mode,..., N×N intra mode) can be signaled by joint coding.
[0125] Table 8 is an example of a joint coding table that assigns codewords to prediction type information as shown in FIG. 6. In Table 8, for the sake of convenience of explanation, the case where the inter prediction mode has a partition of {2N×2N, 2N×N, N×2N, N×N} and the merge mode is applied in units of coding units will be exemplified and explained.
[0126]
Table 8
[0127] In the example of Table 8, for the sake of convenience of explanation, assume that, among the inter-prediction modes with partition sizes of 2N×2N, 2N×N, N×2N, and N×N, the prediction type with the highest occurrence frequency, that is, Mode A, is the 2N×2N inter-mode. Therefore, whether the 2N×2N inter-mode can be applied is pre-transmitted by separate signaling.
[0128] At this time, separately from determining the transmission order in consideration of the occurrence frequency of the prediction type as in the example of FIG. 6, it is also possible to assign codewords to the prediction types in consideration of the occurrence frequency (selection ratio).
[0129] Table 9 is an example of a joint coding table when using {(merge) skip mode, merge mode} and assigning codewords in consideration of the prediction type occurrence frequency. In Table 9, for the sake of convenience of explanation, an example will be described where the inter-prediction mode has partitions of {2N×2N, 2N×N, N×2N, N×N} and the merge mode is applied in units of coding units.
[0130]
Table 9
[0131] In Table 9, assume that the occurrence frequency of the N×2N inter-mode is higher than the occurrence frequency of the 2N×N inter-mode, and a shorter codeword is assigned to the N×2N inter-mode.
[0132] Also, when using {(merge) skip mode, merge mode}, the occurrence frequency of the prediction type can be reflected in both the signaling order and the codeword assignment.
[0133] Table 10 is an example of a joint coding table when {(merge) skip mode, merge mode} is used and the signaling order is adjusted considering the prediction type occurrence frequency to allocate codewords. In Table 10, among the aforementioned prediction types, for the sake of convenience of explanation, the inter prediction mode has partitions of {2N×2N, 2N×N, N×2N, N×N}, and the case where the merge mode is applied in units of coding units will be exemplified and explained.
[0134]
Table 10
[0135] In the example of Table 10, for the sake of convenience of explanation, it is assumed that the occurrence frequency of the 2N×2N inter mode is the highest among the 2N×2N, 2N×N, N×2N, and N×N inter modes, and the occurrence frequency of the 2N×N inter mode is higher than that of the N×2N inter mode. Therefore, the applicability of the (merge) skip mode, merge mode, and 2N×2N inter mode is transmitted by separate signaling first. The applicability of other prediction types is signaled using the joint coding table in Table 10. At this time, a codeword (1) smaller than the codeword (01) of the 2N×N inter mode is allocated to the N×2N inter mode having a higher occurrence frequency than the 2N×N inter mode.
[0136] On the other hand, when using {skip mode, direct mode, merge mode} as prediction modes that use the motion information of neighboring blocks as the motion information of the current block, the direct mode and the merge mode can also be integrated and used. The direct mode and the merge mode are similar to each other in that after deriving the motion information from neighboring blocks, they transmit residual information, which is different from the skip mode. When integrating the direct mode and the merge mode, the signaling overhead of information regarding the applicability of inter / intra mode, which is signaled after signaling information regarding the applicability of the integrated mode (hereinafter, for convenience of explanation, referred to as 'integrated mode'), can be reduced. Even when applying the integrated mode, adjustment of the signaling order, adjustment of codeword allocation, etc. can be executed in the same manner as described above.
[0137] FIGS. 7 and 8 are diagrams schematically illustrating other examples of methods signaled by an encoder in a system to which the present invention is applied. In FIGS. 7 and 8, an example in which the integrated mode is used and the merge mode is applied in units of encoding units will be described. Therefore, the applicability of the merge mode is not signaled for each partition size smaller than the encoding unit.
[0138] In the example of FIG. 7, after signaling the applicability of the skip mode, if the skip mode is not applied, the applicability of the prediction type with the highest occurrence frequency among the remaining prediction types is preferentially signaled.
[0139] FIG. 7 illustrates an example in which it is assumed that mode A has the highest occurrence frequency among the remaining prediction types excluding the skip mode. Therefore, when the skip mode is not applied, the encoder signals the applicability of mode A, and when mode A is not applied, which prediction type among the remaining prediction types (including prediction mode / partition size) is applied is signaled using joint coding (pred_mode_partition_signaling).
[0140] Table 11 is the joint coding table according to the example of FIG. 7.
[0141] [Table 11]
[0142] In the example of FIG. 7 and Table 11, after signaling whether the skip mode can be applied, if the skip mode is not applied, the applicability of the integration mode is signaled as the prediction type with the highest occurrence frequency. If the integration mode is not applied, as shown in Table 11, which prediction type is applied is signaled using the result of joint coding of information such as the prediction mode and partition of the remaining prediction types. On the other hand, in the example of FIG. 7 and Table 11, the case where the prediction type with the highest occurrence frequency excluding the skip mode is the integration mode is illustrated, but this is only an illustration for convenience of explanation and the present invention is not limited thereto. For example, if the occurrence frequency of the 2N×2N inter mode is higher than that of the integration mode, the 2N×2N inter mode is determined as mode A, and after separately signaling in advance whether the 2N×2N inter mode can be applied, the applicability of the integration mode can be signaled using joint coding together with the applicable types of other prediction types.
[0143] In FIG. 8, different from FIG. 7, when the skip mode is not applied, the applicability of the integration mode is signaled separately in advance (merge_direct_flag), and when the integration mode is not applied, the applicability of the prediction type (mode A) with the highest occurrence frequency among other prediction types is signaled separately in advance (modeA_flag). When mode A is not applied, as in FIG. 7, which prediction mode is applied among other prediction modes is signaled using joint coding (pred_mode_partition_signaling).
[0144] Table 12 is the joint coding table according to the example of FIG. 8.
[0145]
Table 12
[0146] In the example of Table 12, for the sake of convenience of explanation, the 2N×2N inter mode is assumed to be Mode A. Therefore, whether the 2N×2N inter mode can be applied can be signaled separately in advance.
[0147] On the other hand, as described above, when performing joint coding separately from adjusting the signaling order, codewords can be assigned in consideration of the occurrence frequency (selection ratio) for each prediction type.
[0148] Table 13 is an example of a joint coding table when the integrated mode is used and codewords are assigned in consideration of the occurrence frequency of the prediction type. In Table 13, among the prediction types described above, for the sake of convenience of explanation, the inter prediction mode has a partition of {2N×2N, 2N×N, N×2N, N×N}, and the case where the merge mode is applied in units of coding units will be exemplified and explained.
[0149]
Table 13
[0150] In Table 13, the case where the occurrence frequency of the N×2N inter mode is higher than the occurrence frequency of the 2N×N inter mode will be exemplified and explained. Therefore, in the example of Table 13, a shorter codeword (01) is assigned to the N×2N inter mode than the codeword (001) assigned to the 2N×N inter mode.
[0151] Furthermore, it is also possible to consider the occurrence frequency for each prediction type, adjust the signaling order as shown in FIG. 8, and assign codewords as shown in Table 13.
[0152] Table 14 is an example of a joint coding table when the integrated mode is used and codewords are assigned by adjusting the signaling order in consideration of the occurrence frequency of prediction types. In Table 14, among the aforementioned prediction types, for the sake of convenience of explanation, an example will be described where the inter prediction mode has partitions of {2N×2N, 2N×N, N×2N, N×N} and the merge mode is applied in units of coding units.
[0153] [Table 14]
[0154] In the example of Table 14, for the sake of convenience of explanation, it is assumed that the prediction mode corresponding to mode A in FIG. 8 is the 2N×2N inter mode and the occurrence frequency of the N×2N inter mode is higher than the occurrence frequency of the 2N×N inter mode. Therefore, after signaling regarding the applicability of the integrated mode, if the integrated mode is not applied, the applicability of the 2N×2N inter mode is signaled by separate signaling. Also, a shorter codeword (1) than the codeword (01) assigned to the 2N×N inter mode is assigned to the N×2N inter mode.
[0155] Also, even when the integrated mode is used, for prediction types other than the skip mode, it is also possible to signal at once (pred_mode_partition_signaling) which prediction type is applied by joint coding. That is, codewords can be assigned to each of the prediction types including the integrated mode, and the codeword corresponding to the applied prediction type can be signaled.
[0156] Table 15 shows an example of a joint coding table that is used when the integrated mode is employed, assigns codewords to each of the prediction types other than the skip mode, and is used when transmitting information on the prediction type (prediction mode, partition size, etc.) applied to the current block schematically.
[0157]
Table 15
[0158] In Table 15, for the sake of convenience of explanation, an example will be described in which the inter prediction mode has partitions of {2N×2N, 2N×N, N×2N, N×N} and the merge mode is applied in units of coding units. Referring to Table 15, the encoder can assign codewords to each prediction mode, that is, the integrated mode (merge / direct mode), 2N×2N, N×N intra modes, 2N×2N, 2N×N, N×2N, N×N inter modes, and transmit the codeword of the prediction type applied to the current block.
[0159] At this time, the encoder can also assign codewords in consideration of the occurrence frequency (selection ratio) for each prediction type.
[0160] Table 16 shows an example of assigning codewords in consideration of the occurrence frequency for each prediction type in the example of Table 15.
[0161]
Table 16
[0162] In the example of Table 16, for the sake of convenience of explanation, it is assumed that the occurrence frequency of the N×2N inter mode is higher than the occurrence frequency of the 2N×N inter mode. Therefore, in the example of Table 16, when compared with the example of Table 15, a shorter codeword (001) is assigned to the N×2N inter mode than the codeword (0001) for the 2N×N inter mode.
[0163] For the sake of convenience in the above description, the case where only the partitions of {2N×2N, 2N×N, N×2N, N×N} are applied to the inter mode has been exemplified and described. However, considering the overall partition for the inter mode, it is also possible to signal the prediction type for the current block.
[0164] Table 17 shows an example of a joint coding table that can be used for signaling the prediction block for the current block when considering all partitions of 2N×2N, 2N×N, N×2N, N×N, 2N×nU, 2N×nD, nL×2N, nR×2N.
[0165] [Table 17]
[0166] Referring to Table 17, each partition size in the intra mode and each partition size in the inter mode can be indicated by the prediction type. Therefore, the prediction mode and the partition size can be jointly coded to signal the prediction type for the current block at once. At this time, as described above, codewords can also be assigned in consideration of the occurrence frequency for each prediction type.
[0167] On the other hand, in the example of Table 17, in the case of a prediction mode where the motion information of the surrounding blocks is used as it is as the motion information of the current block, for example, in the case of {skip mode, direct mode, merge mode} or {(merge) skip mode, merge mode}, it is also possible to infer whether the corresponding mode can be applied based on other conditions, or to transmit whether the mode can be applied by separate signaling in advance. Also, the example of Table 17 assumes the case where the merge mode is applied in units of coding units as in the other examples described above, and whether the merge mode can be applied is not signaled again for each partition.
[0168] In addition, for the signaling of each prediction type, additional information as described above, for example, information regarding slice type or splittability, can also be signaled. In this case, it is also possible to distinguish prediction types based on this additional information. For example, in the case of an I slice, if the prediction type has a value of 0, it can indicate the 2N×2N intra mode, and in the case of a B or P slice, if the prediction type has a value of 0, it can indicate the 2N×2N inter mode.
[0169] Also, each prediction type can be distinguished by assigning different codewords to prediction types having different prediction modes / partitions from each other.
[0170] On the other hand, although the case where the merge mode is applied in units of coding units has been described above, the merge mode can also be applied in units of prediction units. For example, in the case of each of the above-described examples, by signaling whether the merge mode is applied to each partition of the inter prediction mode, the content of the present invention described above can be directly applied to the case where the merge mode is executed in units of prediction units.
[0171] Hereinafter, a method for applying the present invention when the merge mode is executed in units of prediction units will be specifically described.
[0172] FIG. 9 is a diagram schematically showing an example of a method for signaling information regarding prediction when the merge mode is executed in units of prediction units. In FIG. 9, the case where {skip mode, direct mode, merge mode} is used as a mode for using the motion information of peripheral blocks as the motion information of the current block will be exemplified and described.
[0173] In the example of FIG. 9, different from the example of FIG. 3, when the skip mode and the direct mode are not applicable, it indicates which inter prediction mode and partition are applicable to the current block, and signals whether the corresponding partition is merged. Whether the skip mode and the direct mode are applicable is signaled separately in advance. When the skip mode and the direct mode are not applicable, which prediction mode / partition is applicable is signaled by jointly coding the indication of the prediction mode and the information on the partition size. Whether to apply the merge mode for each partition of the inter prediction is indicated by the merge mode. At this time, for the sake of convenience of explanation, the inter prediction mode executed when the merge mode is not applicable is referred to as the normal inter mode.
[0174] Table 18 shows an example of jointly coding the prediction mode and partition information of the current block according to the example of FIG. 9. In Table 18, for the sake of convenience of explanation, the case where the inter prediction mode has partitions of {2N×2N, 2N×N, N×2N, N×N} is exemplified and explained.
[0175] [Table 18]
[0176] Referring to Table 18, the encoder can indicate to the decoder by signaling the codeword of the prediction type applied to the current block.
[0177] On the other hand, as in FIG. 9 and Table 18, when signaling the information on a predetermined mode first and then signaling the information on the prediction mode and the partition size, the codeword can be assigned in consideration of the occurrence frequency for each prediction type.
[0178] FIG. 10 is a diagram schematically showing the occurrence frequency of each prediction type when the merge mode is applied in units of prediction units. In FIG. 10, in the cases of RAHE, LDHE, RALC, and LDLC, the distributions with respect to the partition sizes of each of the skip mode, merge mode, direct mode, and intra mode, and the partition sizes of the inter mode are shown.
[0179] Referring to FIG. 10, the frequency distribution of the skip mode is large, and the occurrence frequency in the case of the direct mode is lower than that of the 2N×2N inter mode. Therefore, in this case, in the signaling order shown in FIG. 9, it is more efficient to signal the information indicating whether the 2N×2N inter mode is applied rather than signaling the information indicating whether the direct mode is applied.
[0180] In the example of FIG. 10, {skip mode, direct mode, merge mode} is used, and the occurrence frequencies of 2N×2N, 2N×N, N×2N, and N×N among the partition sizes are measured. Similarly, in the case of using {(merge) skip mode, merge mode} and / or when using all partition sizes, the occurrence frequencies of each prediction mode and partition size can be considered, and based on this, the signaling order can be adjusted.
[0181] FIG. 11 is a diagram schematically explaining an example of a method in which an encoder signals in a system to which the present invention is applied. In FIG. 11, {skip mode, direct mode, merge mode} is used as a prediction mode for using the motion information of a peripheral block as the motion information of a current block.
[0182] Referring to FIG. 10, there can be a prediction mode / partition size having a selection ratio (occurrence frequency) higher than that of the direct mode. Therefore, it is advantageous in terms of transmission overhead to signal so that the applicability of other prediction modes (prediction mode / partition size) having a high selection ratio is determined first.
[0183] For example, if the prediction mode / partition size having a higher occurrence frequency than the direct mode is set as mode A, it is possible to first transmit information regarding the applicability of mode A rather than information regarding the applicability of the direct mode.
[0184] Therefore, in the example of FIG. 11, the encoder signals information regarding the applicability of mode A before information regarding the applicability of the direct mode. Specifically, the encoder first signals information (skip_flag) indicating whether the skip mode is applied to the current block, and signals information (modeA_flag) indicating whether mode A is applied when the skip mode is not applied.
[0185] When mode A is not applied, the encoder signals information (pred_mode_partition_signaling) indicating which of the remaining prediction modes / partition sizes is applied to the current block together with the direct mode.
[0186] Table 19 is an example of a joint coding table that assigns codewords to prediction type information as shown in FIG. 11. In Table 19, for the sake of convenience of explanation, the case where the inter prediction mode has partitions of {2N×2N, 2N×N, N×2N, N×N} will be exemplified and explained.
[0187]
Table 19
[0188] In the example of Table 19, for the sake of convenience of explanation, it is assumed that mode A is the 2N×2N inter mode. Therefore, the 2N×2N inter mode is signaled first without using the joint coding table, and the applicability of the direct mode is signaled using the joint coding table together with other prediction types.
[0189] On the other hand, as in the example of FIG. 11, separately from changing the transmission order in consideration of the occurrence frequency of the prediction type, it is also possible to assign codewords to the prediction type in consideration of the occurrence frequency of the prediction type.
[0190] Table 20 shows a joint coding table in which codewords are assigned in consideration of the occurrence frequency for each prediction type. In Table 20, for the sake of convenience of explanation, a case where the inter prediction mode has a partition of {2N×2N, 2N×N, N×2N, N×N} will be exemplified and explained.
[0191]
Table 20
[0192] In the example of Table 20, for the sake of convenience of explanation, it is assumed that the occurrence frequency of N×2N is higher than that of 2N×N. In the case of Table 20, the codewords assigned to the 2N×N inter mode and the N×2N inter mode are changed in consideration of the occurrence frequency of the prediction type. Specifically, when it is assumed that the occurrence frequency of the 2N×N inter mode is lower than that of the N×2N inter mode, a shorter codeword (01) can be assigned to the N×2N inter mode showing a higher occurrence frequency, and a longer codeword (001) can be assigned to the 2N×N inter mode with a lower occurrence frequency.
[0193] At this time, the occurrence frequency of the prediction type can also be reflected in both the signaling order and the codeword assignment.
[0194] Table 21 is an example of a joint coding table for the case where the signaling order is adjusted and codewords are assigned in consideration of the prediction type occurrence frequency. In Table 21, for the sake of convenience of explanation, a case where the inter prediction mode has a partition of {2N×2N, 2N×N, N×2N, N×N} will be exemplified and explained.
[0195]
Table 21
[0196] In the example of Table 21, for the sake of convenience of explanation, it is assumed that the occurrence frequency of the 2N×2N inter-mode is higher than that of the direct mode, and the occurrence frequency of N×2N is higher than that of 2N×N. Therefore, whether the 2N×2N inter-mode can be applied is transmitted by separate signaling prior to whether the direct mode can be applied. Whether the direct mode can be applied is signaled using the joint coding table of Table 21 together with other prediction types. At this time, a codeword (01) smaller than the codeword (001) of the 2N×N inter-mode is assigned to the N×2N inter-mode having a higher occurrence frequency than the 2N×N inter-mode.
[0197] On the other hand, as described above, even when the merge mode is executed in units of prediction units, for a predetermined prediction mode among the prediction modes that use the motion information of peripheral blocks as the motion information of the current block, whether it can be applied is signaled separately in advance, and information regarding whether other prediction types can be applied can be signaled by joint coding. For example, among {skip mode, direct mode, merge mode} or {(merge) skip mode, merge mode}, whether the skip mode can be applied is signaled separately in advance, and whether the direct mode or the merge mode can be applied can be signaled using joint coding together with whether the remaining prediction types can be applied.
[0198] Table 22 illustrates an example where {skip mode, direct mode, merge mode} is used and the applicability of direct mode is signaled by joint coding along with the applicability of other prediction types. Specifically, instead of signaling the applicability of either one of the prediction types for direct mode and inter mode / intra mode first by a flag, it is signaled by differentiating all at once with the codewords assigned to the prediction types including direct mode. In Table 22 as well, for the sake of convenience of explanation, the case where there is a partition of {2N×2N, 2N×N, N×2N, N×N} in the inter prediction mode is exemplified and explained.
[0199] [Table 22]
[0200] According to Table 22, the encoder can indicate the prediction type for the current block by transmitting the codeword corresponding to the prediction type applied to the current block.
[0201] At this time, the encoder can also assign codewords according to the occurrence frequency of each prediction type.
[0202] Table 23 is an example of a joint coding table that assigns codewords considering the occurrence frequency when it is assumed that the 2N×2N inter mode has a higher occurrence frequency than the direct mode.
[0203] [Table 23]
[0204] Referring to Table 23, a codeword (1) smaller than the codeword (01) of the direct mode is assigned to the 2N×2N inter mode with a higher occurrence frequency.
[0205] In addition, Table 24 shows an example of allocating codewords considering the occurrence frequency when assuming that the occurrence frequency of the 2N×N inter mode is lower than that of the N×2N inter mode among the inter modes.
[0206]
Table 24
[0207] Referring to Table 24, a codeword smaller than the direct mode codeword (01), i.e., (1), is allocated to the 2N×2N inter mode with a higher occurrence frequency, and a codeword smaller than the codeword (0001) for the 2N×N inter mode, i.e., (001), is allocated to the N×2N inter mode.
[0208] In the examples of FIG. 11 and Tables 19 to 24 described above, since the merge mode can be applied in units of prediction units, it is also possible to signal whether the merge mode is applied to the current block after signaling that mode A is applied. Even when an inter prediction mode other than the direct mode is indicated according to Tables 19 to 24, it is also possible to signal whether the merge mode is applied to the current block. Also, when the selection ratio of a specific merge mode is high, mode A itself can be set to the merge mode.
[0209] FIG. 12 is a diagram schematically explaining another example of a method for a coder to signal in a system to which the present invention is applied. In FIG. 12, when the direct mode is not applied as a prediction mode using the motion information of peripheral blocks as the motion information of the current block, i.e., when using {(merge) skip mode, merge mode}, the case where the merge mode is applied in units of prediction units is exemplified and described.
[0210] When comparing the embodiment of FIG. 12 with the cases of FIGS. 9 or 11, the number of pieces of information regarding whether or not to apply a prediction mode that uses the motion information of the peripheral block as the motion information of the current block is reduced by one. Thus, in the case of FIGS. 9 or 10, when the direct mode is excluded, the overhead can be reduced when signaling information regarding the inter / intra mode later.
[0211] {(Merge) skip mode, merge mode} can also be signaled in the same way as when using {skip mode, direct mode, merge mode}. For example, also in the example of FIG. 12, among prediction types other than the (merge) skip mode, if the prediction mode or prediction type with a high selection ratio (occurrence frequency) is defined as mode A, the information (modeA_flag) regarding whether or not mode A is applicable can be signaled before the information regarding whether or not other prediction types (2N×2N inter mode,..., N×N intra mode) are applicable. Also, when mode A is not applicable, the applicability of other prediction types (2N×2N inter mode,..., N×N intra mode) can be signaled by joint coding.
[0212] Table 25 is an example of a joint coding table that assigns codewords to prediction type information, as shown in FIG. 12. In Table 25, for convenience of explanation, the case where the inter prediction mode has a partition of {2N×2N, 2N×N, N×2N, N×N} will be exemplified and described.
[0213]
Table 25
[0214] In the example of Table 25, for the sake of convenience of explanation, assume that for the inter prediction modes having partition sizes of 2N×2N, 2N×N, N×2N, and N×N, the prediction type with the highest occurrence frequency, i.e., Mode A, is the 2N×2N inter mode. Therefore, whether the 2N×2N inter mode can be applied is pre-transmitted by separate signaling.
[0215] At this time, as in the example of FIG. 12, separately from determining the transmission order in consideration of the occurrence frequency of the prediction type, it is also possible to allocate codewords to the prediction type in consideration of the occurrence frequency (selection ratio).
[0216] Table 26 is an example of a joint coding table when using {(merge) skip mode, merge mode} and allocating codewords in consideration of the prediction type occurrence frequency. In Table 26, for the sake of convenience of explanation, the case where the inter prediction mode has partitions of {2N×2N, 2N×N, N×2N, N×N} will be exemplified and explained.
[0217]
Table 26
[0218] In Table 26, assume that the occurrence frequency of the N×2N inter mode is higher than the occurrence frequency of the 2N×N inter mode. Therefore, a shorter codeword (01) than the codeword (001) for the 2N×N inter mode is allocated to the N×2N inter mode.
[0219] Also, when using {(merge) skip mode, merge mode}, the occurrence frequency of the prediction type can be reflected in both the signaling order and the codeword allocation.
[0220] Table 27 is an example of a joint coding table when using {(merge) skip mode, merge mode}, and the codewords are assigned by adjusting the signaling order in consideration of the prediction type occurrence frequency. In Table 27, for convenience of explanation, the case where the inter prediction mode has a partition of {2N×2N, 2N×N, N×2N, N×N} will be exemplified and explained.
[0221]
Table 27
[0222] In the example of Table 27, for convenience of explanation, it is assumed that the occurrence frequency of the 2N×2N inter mode is the highest among the 2N×2N, 2N×N, N×2N, and N×N inter modes, and the occurrence frequency of the 2N×N inter mode is higher than that of the N×2N inter mode. Therefore, the applicability of the (merge) skip mode, merge mode, and 2N×2N inter mode can be transmitted by separate signaling. The applicability of other prediction types is signaled using the joint coding table in Table 27. At this time, a codeword (1) smaller than the codeword (01) of the 2N×N inter mode is assigned to the N×2N inter mode having a higher occurrence frequency than the 2N×N inter mode.
[0223] In the examples of FIG. 12 and Tables 25 to 27 described above, since the merge mode can be applied in units of prediction units, it is also possible to separately signal (merge_flag) whether the merge mode is applied to the current block. For example, after it is signaled which inter prediction mode / partition is applied to the current block according to Tables 25 to 27, it can also be signaled whether the merge mode is applied to the current block. Also, when the selection ratio of a specific merge mode is high, mode A itself can be set to the merge mode.
[0224] On the other hand, even when the merge mode is applied in units of prediction units, when using {skip mode, direct mode, merge mode}, the direct mode and the merge mode can be integrated, and the integration mode as described above can be used. The direct mode and the merge mode are similar to each other in that after deriving motion information from neighboring blocks, they transmit residual information, which is different from the skip mode. Using the integration mode can reduce the signaling overhead of information regarding the applicability of inter / intra modes other than the skip mode and the integration mode. Even when applying the integration mode, the adjustment of the signaling order, the adjustment of the codeword assignment, etc. can be executed in the same manner as described above.
[0225] FIG. 13 is a diagram schematically explaining another example of a method for a coder to signal in a system to which the present invention is applied. In FIG. 13, the case where the integration mode is used and the merge mode is applied in units of prediction units will be exemplified and explained.
[0226] In the example of FIG. 13, after signaling the applicability of the skip mode, if the skip mode is not applied, the applicability of the prediction type with the highest occurrence frequency among the remaining prediction types is preferentially signaled. That is, in FIG. 13, it is assumed that mode A has the highest occurrence frequency among the remaining prediction types excluding the skip mode. At this time, mode A may be the integration mode.
[0227] Therefore, when the skip mode is not applied, the coder signals the applicability of mode A, and when mode A is not applied, it signals (pred_mode_partition_signaling) which prediction type among the remaining prediction types is applied using joint coding.
[0228] Table 28 is a joint coding table according to the example of FIG. 13.
[0229]
Table 28
[0230] In the example of FIG. 7 and Table 11, the case where the prediction type having the highest occurrence frequency except for the skip mode is the integration mode is illustrated. However, this is merely an illustration for convenience of explanation and the present invention is not limited thereto. For example, when the occurrence frequency of the 2N×2N inter mode is higher than that of the integration mode, the 2N×2N inter mode may be determined as mode A, and after separately signaling whether the 2N×2N inter mode can be applied in advance, it is also possible to signal whether the integration mode can be applied using joint coding together with the application types of other prediction types.
[0231] On the other hand, even when using the integration mode, codewords can be assigned in consideration of the occurrence frequency (selection ratio) for each prediction type separately from adjusting the signaling order.
[0232] Table 29 is an example of a joint coding table when using the integration mode and codewords are assigned in consideration of the occurrence frequency of the prediction type. In Table 29, for convenience of explanation, the case where there is a partition of {2N×2N, 2N×N, N×2N, N×N} in the inter prediction mode will be illustrated and explained.
[0233]
Table 29
[0234] In Table 29, the case where the occurrence frequency of the N×2N inter mode is higher than that of the 2N×N inter mode will be illustrated and explained. Therefore, in the example of Table 29, a shorter codeword (01) is assigned to the N×2N inter mode than the codeword (001) assigned to the 2N×N inter mode.
[0235] Even when applying the integration mode, codewords can be assigned to each of the prediction types including the integration mode, and the codewords corresponding to the applied prediction type can be signaled.
[0236] Table 30 shows an example of a joint coding table used when the integration mode is used, where codewords are assigned to each of the prediction types other than the skip mode, and information on the prediction type (prediction mode, partition size, etc.) applied to the current block is transmitted.
[0237]
Table 30
[0238] In Table 30, for the sake of convenience of explanation, the case of having partitions of {2N×2N, 2N×N, N×2N, N×N} in the inter prediction mode is exemplified and explained. Referring to Table 30, the encoder can assign codewords to each prediction mode, i.e., the integration mode (merge / direct mode), 2N×2N, N×N intra modes, 2N×2N, 2N×N, N×2N, N×N inter modes, and transmit the codewords of the prediction type applied to the current block.
[0239] At this time, the encoder can assign codewords considering the occurrence frequency (selection ratio) for each prediction type. Table 31 shows an example of assigning codewords considering the occurrence frequency for each prediction type in the example of Table 30.
[0240]
Table 31
[0241] In the example of Table 31, for the sake of convenience of explanation, it is assumed that the occurrence frequency of the N×2N inter mode is higher than that of the 2N×N inter mode. Therefore, in the example of Table 31, when compared with the example of Table 30, a codeword (001) shorter than the codeword (0001) for the 2N×N inter mode is assigned to the N×2N inter mode.
[0242] On the other hand, in the cases of Tables 28 to 31, the merge mode is applied in units of prediction units. Therefore, when adjusting the signaling order (Tables 28, 31) or considering the integrated mode including the merge mode to be equivalent to other prediction types (Table 30), when an inter prediction mode / partition size other than the skip mode and the integrated mode is applied to the current block, it may not be necessary to separately signal whether the merge mode can be applied. On the other hand, when information regarding the prediction type is signaled according to Table 29, which is a case where codeword assignment is performed considering the occurrence frequency without adjusting the signaling order, after it is signaled that any one of the inter prediction mode / partition size is applied to the current block, information (merge_flag) regarding whether the merge mode is applied to the current block can be signaled.
[0243] As described above, for the sake of convenience of explanation, the case where only partitions of {2N×2N, 2N×N, N×2N, N×N} are applied to the inter mode has been exemplified and described. However, considering all partitions for the inter mode, it is also possible to signal the prediction type for the current block.
[0244] Table 32 shows an example of a joint coding table that can be used for signaling the prediction block for the current block when all partitions of 2N×2N, 2N×N, N×2N, N×N, 2N×nU, 2N×nD, nL×2N, nR×2N are considered.
[0245]
Table 32
[0246] Referring to Table 32, the partition sizes in the intra mode and the partition sizes in the inter mode can be indicated by the prediction type. Therefore, the prediction mode and the partition size can be jointly coded to signal the prediction type for the current block at once. At this time, as described above, codewords can also be assigned in consideration of the occurrence frequency for each prediction type.
[0247] On the other hand, in the example of Table 32, in the case of a prediction mode in which the motion information of the peripheral block is directly used as the motion information of the current block, for example, in the case of {skip mode, direct mode, merge mode} or {(merge) skip mode, merge mode}, it is also possible to infer whether the corresponding mode can be applied based on other conditions, or to transmit whether the mode can be applied by separate signaling in advance. Further, Table 32 assumes a case where the merge mode is applied in units of prediction units as in the other examples described above, and it is possible to signal again whether the merge mode can be applied for each partition.
[0248] Therefore, both the case of Table 17 and the case of Table 32 can be applied, and it is also possible to transmit whether merging is possible by separate signaling in units of coding units. When the merge mode is not applied in units of coding units, as in Table 32, while signaling the prediction type for the current block, or after signaling, it is possible to signal whether the merge mode can be applied (merge_flag) in units of partitions (prediction units).
[0249] For each prediction type, additional information described above, such as information regarding slice type or slicability, can also be signaled. In this case, it is also possible to distinguish the prediction type based on this additional information. For example, in the case of an I slice, if the prediction type has a value of 0, it can indicate the 2N×2N intra mode, and in the case of a B or P slice, if the prediction type has a value of 0, it can indicate the 2N×2N inter mode.
[0250] Also, each prediction type can be distinguished by assigning different codewords to prediction types having different prediction modes / partitions.
[0251] As described above, the signaling scheme method for the prediction mode in inter-slice can be modified to improve the transmission efficiency. For example, the prediction mode and partition type for inter-slice can be jointly coded with a unary-type codeword. At this time, as described above, information related to prediction such as the prediction mode, partition (size), etc. can be referred to as the prediction type. The prediction type can further include information regarding slicability, slice type, etc. in addition to the prediction mode and partition (size).
[0252] It is also possible to rearrange the codewords indicating the prediction type according to the portion (ratio), i.e., the occurrence frequency (selection frequency) of each prediction mode.
[0253] The prediction mode and partition type (partition size) can be signaled by a predetermined syntax element. For example, as described above, whether to apply the skip mode can be signaled by a skip flag. Also, whether to apply the merge mode can be signaled by a merge flag, whether to apply the direct mode can be signaled by a direct mode flag, and whether to apply the integrated mode of the direct mode and the merge mode can be signaled by an integrated mode flag (merge_direct_flag).
[0254] On the other hand, when the prediction mode signaled by a specific flag or the like is not applied to the current block, the prediction mode and partition size of the current block can be signaled separately.
[0255] Table 33 schematically shows an example of signaling the prediction mode and partition type (partition size) at the coding unit level (coding unit parameter set).
[0256]
Table 33
[0257] In the example of Table 33, it can be signaled in a way that jointly codes the prediction mode, partition information, etc. and transmits the corresponding codeword. At this time, as in the example of Table 33, the prediction mode and partition type (size) can be signaled using separate syntax elements. In Table 33, the prediction mode can be indicated by pred_mode, and the partition size of the inter mode can be indicated by inter_partitioning_idc.
[0258] On the one hand, as described above, it may also be called pred_mode_partition_signaling in the sense of signaling including a prediction mode and partition information, and the syntax element to be signaled may also be simply called pred_type so that the information including the prediction mode and information such as the partition mode is called the prediction type. In the case of pred_mode_partition_signaling or pred_type, related information (prediction mode, partition size, etc.) can be signaled and specified by one codeword through joint coding.
[0259] Table 34 schematically shows an example of the above-mentioned codeword.
[0260]
Table 34
[0261] When using the signaling order shown in FIG. 3 as the signaling method for each prediction mode, as described above, the applicability of the skip mode, merge mode, and direct mode is signaled in order. When these prediction modes are not applied, which prediction type among the remaining prediction types is applied is signaled using joint coding. This is as already described in FIG. 3.
[0262] On the other hand, considering Table 34, the codewords for each prediction mode have different lengths. According to the source coding theory, the length of each codeword is approximately proportional to the absolute value of the logarithm of the occurrence probability. Therefore, in order to improve the coding efficiency, it is good to use the shortest codeword for the most frequent symbol.
[0263] Therefore, by rearranging the codewords in Table 34 in consideration of the occurrence frequency according to the prediction type, the coding efficiency can be improved without complicating the encoding / decoding.
[0264] An example of measuring the occurrence probability for each prediction type (prediction mode) was described with reference to FIG. 4. For the example of FIG. 4, as described above, for the number of occurrences of all prediction types, the portion of the 2N×2N inter-mode is larger than that of the direct mode, and the portion of the N×2N inter-mode is larger than that of the 2N×N inter-mode. Therefore, depending on the occurrence frequency, i.e., the portion, the codeword for the 2N×2N inter-mode and the codeword for the direct mode can be switched (exchanged) with each other, and the codeword for the N×2N inter-mode and the codeword for the 2N×N inter-mode can be switched with each other.
[0265] Table 35 is a rearrangement of Table 34 as detailed for the codewords for each prediction type.
[0266]
Table 35
[0267] In Tables 34 and 35, a codeword of 0 is assigned to the prediction types to be signaled separately for preferential distinction. Thereafter, codewords are assigned again to the remaining prediction types to indicate which prediction type is applied at a time. The content described in this regard is not very different from the content described with reference to FIGS. 5 to 8.
[0268] The example of FIG. 3 is an example in which the merge mode is applied in units of encoding units, as described above. As an example in which the merge mode is applied in units of prediction units, there is FIG. 9 described above. In the example of FIG. 9, as described above, it is possible to signal whether the merge mode can be applied for each partition of the inter-mode.
[0269] FIG. 10 shows the portion (occurrence frequency) of each prediction type when the merge mode is applied in units of prediction units. Thus, even when the merge mode is applied in units of prediction units, it is possible to adjust the signaling order for each prediction type in consideration of the occurrence frequency or to assign codewords, as already described with reference to FIGS. 11 to 13 and the like.
[0270] On the other hand, FIG. 14 is a diagram schematically showing an example of the decoding process. Referring to FIG. 14, the prediction data passes through the prediction mode decoding process and the motion compensation (MC) predictor generation process. The coefficient data passes through the coefficient data decoding process and the residual data generation process. Finally, the finally decoded image is generated.
[0271] FIG. 15 is a diagram for explaining the prediction mode decoding process shown in FIG. 14. In FIG. 15, a case where the prediction modes {(merge) skip mode, merge mode} are applied using the motion information of the peripheral block as the motion information of the current block will be exemplified and described.
[0272] Information signaled as related to the mode in inter-slice prediction includes information on whether division is possible, information on whether the skip mode can be applied, information on whether the merge mode can be applied, information on which of the inter-mode / intra-mode prediction types is applied, and the like. Information on which of the inter-mode / intra-mode prediction types is applied can be divided into four (2N×2N, N×N, 2N×N, N×2N) according to the partition size in the case of the inter-mode, and can be divided into two (2N×2N, N×N) according to the partition size in the case of the intra-mode. Of course, in the case of the inter-mode, as described above, partition sizes of 2N×nU, 2N×nD, nL×2N, and nR×2N can further be provided.
[0273] During the prediction mode decoding process, the decoder splits the coding unit according to the indication of the split flag (split_flag), and then applies the skip mode according to the skip flag. If the skip mode is not applied, the prediction type to be applied to the current block is determined based on the information indicating the prediction type (e.g., mode_and_partition). At this time, when the inter prediction mode is applied, it is possible to determine whether to apply the merge mode for each prediction unit according to the merge flag. Also, in the case of the N×N partition size, it can be made to exist only when the size of the current coding unit is the minimum regardless of whether it is the inter mode or the intra mode.
[0274] At this time, in order to improve the compression efficiency, for all prediction types including information on the prediction mode and the partition, joint coding can be used for signaling.
[0275] FIG. 16 is a diagram schematically explaining an example of a method for signaling prediction mode and partition information, etc. by joint coding. Referring to FIG. 16, Table 36 is an example of a joint coding table according to the example of FIG. 16, and shows the initial codewords assigned during joint coding.
[0276] [Table 36]
[0277] Set the table in Table 36 to the initial state, and by switching (or adapting) the mode (prediction type) selected to be applied to the corresponding block for each signaling with the mode directly above in the table of Table 36, when the selection ratio for a specific mode (prediction type) increases, it can be reflected by allocating shorter codewords to the mode with the increasing selection ratio. By allocating shorter codewords to the frequently selected mode, the compression efficiency can be increased.
[0278] This adaptation can be performed independently for each depth of each block. That is, the adaptation can be executed independently according to the size of the coding unit.
[0279] At this time, the range of joint coding can be changed to further enhance the compression effect. In the above description, the objects of joint coding include splitability, applicability of skip mode, applicability of 2N×2N merge mode, applicability of 2N×2N inter mode, applicability of 2N×N inter mode, applicability of N×2N inter mode, applicability of N×N inter mode, applicability of 2N×2N intra mode, applicability of N×N intra mode, etc. In addition, applicability of 2N×N merge mode, applicability of N×2N merge mode, applicability of N×N merge mode, etc. can also be the objects of joint coding.
[0280] The signaling method according to FIG. 16 increases the compression efficiency by codeword adaptation (or switching) after joint coding. However, when joint coding is not performed, there may be cases where more information needs to be transmitted because the codeword is switched during the adaptation process for elements signaled with a fixed and small amount of information. For example, the information regarding splitability (split_flag) can be processed with 1 bit of information amount by being signaled in the first step when joint coding is not performed. Even when joint coding is performed, as shown in Table 36, the initial value can use the smallest information amount (the shortest codeword). However, if skip mode or 2N×2N merge mode, etc., are continuously and frequently selected during the coding process, the position of the information indicating splitability (for the sake of convenience of explanation, referred to as the information indicating the split mode) will move later and be placed at a position where a longer codeword is assigned. Therefore, when the split mode is selected later, bit waste may occur.
[0281] FIG. 17 is a diagram schematically explaining an example where the codeword assigned to the split mode becomes longer and bit waste occurs in this way. Referring to FIG. 17, initially, a codeword of 1 is assigned to the split mode, but when the skip mode is selected, the positions of the skip mode and the split mode are switched. Also, when the 2N×2N merge mode is selected, the position of the split mode is switched with the position of the 2N×2N merge mode. At this time, when the split mode is selected for the current block, since the codeword assigned to the position of the split mode is '001', the split flag indicating the applicability of the split mode is signaled with a size of 3 bits.
[0282] Therefore, a method of modifying the range of the mode to which joint coding is applied to increase the compression efficiency can be considered.
[0283] Change the range of joint coding
[0284] As various methods for changing the range of joint coding, the following methods can be considered.
[0285] (1) Whether it can be split can be signaled using a flag, and joint coding can be used for the remaining modes as described above.
[0286] (2) Whether it can be split can be signaled using a flag, and joint coding can be applied to the remaining modes by adding information or a mode.
[0287] (3) Joint coding can be applied to the split mode and the skip mode, and joint coding can be applied separately from the split mode and the skip mode for the remaining modes.
[0288] (4) Joint coding can be applied to the split mode, the skip mode, and the merge mode, and joint coding can be applied separately from the split mode, the skip mode, and the merge mode for the remaining modes. At this time, the merge mode to be jointly coded may be a merge flag, or may be a specific mode such as a 2N×2N merge mode. Also, when the merge flag is the target of joint coding, when an inter-mode is selected later, the merge flag can be used to determine whether the merge mode can be applied, and when an intra-mode is selected, the mpm flag can be estimated from the merge flag and used to determine whether the mpm value can be applied.
[0289] On the other hand, it is also possible to adaptively apply changes to the scope of joint coding. For example, the above-described method of changing the target range and applying joint coding can be adaptively applied to units such as depth / block / slice / frame / GOP (Group of Picture). As an example of a method for adaptively applying changes to the scope of joint coding, the following methods can be considered.
[0290] (1) It is possible to signal additional information for each application unit of joint coding.
[0291] (2) It is possible to determine applicability using surrounding information.
[0292] (3) Determine applicability based on statistical values. For example, information from previous slices / frames can be applied to the current slice / frame. Also, cumulative statistical information for multiple previous slices / frames can be applied to the current slice / frame. It is possible to apply the cumulative statistical information of some or all of the blocks decoded before the current block in the same slice / frame to the current slice / frame.
[0293] (4) It is possible to apply different ranges of joint coding for the case where the coding unit size is minimum (CU size = minimum) and the case where it is not.
[0294] Also, it is possible to change the codeword for each joint coding. For example, the codeword for the target of a specific joint coding can be adaptively changed for units such as depth / block / slice / frame / GOP. Also, in order to apply adaptively, methods such as signaling additional information for each application unit, determining applicability using surrounding information, and determining applicability based on statistical values can also be used.
[0295] At this time, as a method for determining applicability based on statistical values, as described above, information of previous slices / frames can be applied to the current slice / prime, cumulative statistical information for a plurality of previous slices / frames can be applied to the current slice / frame, or cumulative statistical information of some or all of the blocks decoded before the current block in the same slice / frame can be applied to the current slice / frame.
[0296] Also, when changing the codeword for each joint coding, different adaptations can be applied depending on whether the coding unit size is the smallest or not.
[0297] Initialization of adaptation for joint coding target
[0298] As an alternative to the method of changing the range of the joint coding described above, a method of suspending and initializing (resetting) the adaptation for each specific unit can be considered while proceeding with the joint coding and the adaptation for its target.
[0299] At this time, any one of the elements of the joint coding can be the target of initialization, all of the elements of the joint coding can be the target of initialization, or only a plurality of partial elements of the elements of the joint coding can be the target of initialization.
[0300] Also, the unit of initialization may be a coding unit or a largest coding unit (LCU). Also, a slice, a frame, a GOP, etc. can be used as the unit of initialization.
[0301] As an example of adaptation initialization, it is possible to consider the case where the joint coding element to be initialized is set to the split mode and the initialization unit is set to the largest coding unit.
[0302] At this time, the largest coding unit (LCU) is the maximum size among the coding units, and the depth of the largest coding unit can be set to 0. Each time the largest coding unit is divided into four equal parts, the depth increases, and it can be divided to a predetermined depth in a recursive manner within the largest coding unit, that is, in a manner where a sub-coding unit is again divided into a plurality of sub-coding units.
[0303] FIG. 18 is a diagram schematically explaining an example of adaptation initialization in which the split mode is the target of initialization and the largest coding unit is the initialization unit in the system to which the present invention is applied. Referring to FIG. 18, adaptation continues to proceed in the initial state. For example, when the skip mode is selected for the first target block, the split mode can be switched to the skip mode. Next, when the 2N×2N merge mode is selected for the next target block, the split mode can be switched back to the 2N×2N merge mode. Also, when the 2N×2N inter mode is selected for the next target block, the split mode is switched to the 2N×2N inter mode. When crossing the boundary of the largest coding unit while moving to the block where the prediction mode is selected in this way, the split mode is initialized. Therefore, the position of the split mode moves to the position corresponding to the codeword '1' which is the first position, and the positions of the other modes are adjusted one by one downward.
[0304] Change the adaptation method
[0305] Currently, the adaptation of codewords is performed for each signaling for the prediction mode in raster scan order. This can be modified to enhance the compression effect.
[0306] FIG. 19 is a diagram schematically explaining a method of codeword adaptation. FIG. 19(a) schematically shows a method of adapting codewords in raster scan order as in the current method. In the example of FIG. 19(a), the results of adaptation are accumulated and affect the encoding of the next block.
[0307] However, in some cases, the encoding performance of the current block can be further improved by referring to the tendency of neighboring blocks rather than the continuously accumulated tendency. In the system to which the present invention is applied, as shown in FIG. 19(b), for the encoding of block D, the tendency of neighboring blocks such as block A and block C can be referred to rather than the tendency accumulated up to block C. This is because there is a high probability that block D has characteristics similar to those of neighboring blocks such as block A and block C.
[0308] Therefore, the adaptation method can be changed as follows.
[0309] (1) The results of adaptation can be accumulated, and the possibility of adaptation and the method of adaptation can be determined by referring to neighboring blocks.
[0310] (2) The results of adaptation can be not accumulated, and the possibility of adaptation and the method of adaptation can be determined by referring to neighboring blocks.
[0311] (3) Adaptation can be performed with different criteria depending on the mode. For example, for the split mode, adaptation can be performed by accumulating the results, and for other modes, adaptation can be performed by referring to neighboring blocks.
[0312] (4) Adaptation can be performed based on the identity with respect to the sizes of the peripheral blocks and the current block, and the types of modes. At this time, the degree of adaptation can also be changed according to the number of peripheral blocks having the same type of mode.
[0313] FIG. 20 is a diagram schematically explaining an example of a peripheral reference block for adaptation in a system to which the present invention is applied. The peripheral blocks referred to for adaptation can be set as in the example of FIG. 20.
[0314] For example, as shown in FIG. 7(a), peripheral blocks can be selectively referred to in units of the largest coding unit (LCU). Also, as shown in FIG. 7(b), peripheral blocks can be selectively referred to in units of the coding unit (CU). At this time, the peripheral blocks can include not only spatial peripheral blocks (A, B, C, D, etc.) but also temporal peripheral blocks (Col LCU, Col CU).
[0315] Also, the peripheral partitions can be referred to in units of partitions further divided by the coding unit.
[0316] The largest coding unit (LCU) and the coding unit (CU) can include a plurality of different types of partitions. Therefore, when referring to the peripheral blocks, it can be made to refer only when having the same type of coding unit size and partition, or it can be made to refer regardless of whether having the same type of coding unit size and partition.
[0317] Also, when referring to peripheral blocks, priorities and weighting values can be set according to the positions of the reference blocks. For example, in the case of FIG. 20, the current maximum coding unit or the current coding unit may refer to block A first, and refer to block B when block A is not available, so as to refer to peripheral blocks.
[0318] FIG. 21 is a diagram schematically illustrating an example of a method for changing adaptation in a system to which the present invention is applied.
[0319] FIG. 21(a) is a diagram schematically showing an example of applying adaptation in units of maximum coding units. Therefore, in the example of FIG. 21(a), the initial codewords can be adapted for each prediction partition belonging to maximum coding units A and B. At this time, the adapted codeword mapping table (joint coding table) can be used for coding each prediction partition belonging to the current maximum coding unit (LCU).
[0320] FIG. 21(b) is also a diagram schematically showing an example of applying adaptation in units of maximum coding units. In the example of FIG. 21(b), the initial codewords are adapted for each prediction partition belonging to maximum coding units A and B, and the adaptation is performed independently according to the coding unit size. Therefore, a plurality of codeword mapping tables are used according to the coding unit size.
[0321] In the example of FIG. 21(b), the adapted codewords are used for encoding each prediction partition belonging to the current maximum coding unit, and when performing adaptation, a plurality of codeword mapping tables independently generated according to the coding unit size are used. Therefore, when encoding the coding units belonging to the current maximum coding unit using the codeword mapping table, the codeword mapping table determined for each coding unit size can be used. For example, in the example of FIG. 21(b), for the a region, the codeword mapping table adapted in the c region having the same size can be used, and for the b region, the codeword mapping table adapted in the d region having the same size can be used.
[0322] As described above, the method of signaling centered on the inter prediction mode has been described. However, as can be seen from the joint coding table and the like described above, signaling is also performed for the intra mode when prediction is executed.
[0323] FIG. 22 is a diagram schematically explaining an example of an intra prediction method for the current block. Referring to FIG. 22, for intra prediction of the current block 2210, the intra modes of the left block 2220 and the upper block 2230 can be confirmed. At this time, the most probable mode (MPM) of the current block can be determined as the smaller mode between the mode of the left block 2220 and the mode of the right block 2230 (MPM = min(upper intra mode, left intra mode)).
[0324] Next, the encoder can signal a flag indicating whether the intra mode of the current block is the MPM. When the flag is set, the intra mode of the current block becomes the MPM. When the intra mode of the current block is not the MPM, the information of mode B indicating the intra mode of the current block can be signaled.
[0325] In the case of mode B < MPM, mode B is directly used as the intra mode for the current block. In the case of mode B ≥ MPM, mode B + 1 is used as the intra mode for the current block. The reason is that when the intra mode of the current block is MPM, it has already been signaled previously, so it does not need to be considered in this case.
[0326] Also, if there are non-valid candidates among the MPM candidates, the MPM can be inferred as the DC prediction mode. However, in this case, instead of simply inferring the MPM as the DC prediction mode, a method of determining the MPM can be considered so as to improve the compression efficiency.
[0327] Determination of MPM when some of the MPM candidates are valid
[0328] As described above, conventionally, when there are non-valid candidates among the MPM candidates (e.g., the upper block, the left block, etc.), the MPM is determined to be the DC mode. However, in some cases, if some of the MPM candidates are valid, the intra prediction mode of the valid candidates can be used as the MPM of the current block.
[0329] FIG. 23 is a diagram schematically explaining an example of a method for determining the MPM when some of the MPM candidates are valid in the system to which the present invention is applied. In the example of FIG. 23, the case where the current block is located at the boundary of frame 2310 is described.
[0330] In the example of FIG. 23, assuming that the current block is A2320, the upper block 2330 of the current block 2320 is not valid, but the left block 2340 is valid. Therefore, the MPM of the current block 2320 can be set to the mode of the left block 2340.
[0331] In the example of FIG. 23, assuming that the current block is B2350, the left block 2370 of the current block 2350 is not valid, but the upper block 2360 is valid. Therefore, the MPM of the current block 2350 can be set to the mode of the upper block 2360.
[0332] Change the MPM determination method
[0333] As described above, the current MPM is determined as min(intra-mode of the left block, intra-mode of the upper block). However, setting the minimum mode among the candidates as the MPM is effective in terms of signaling overhead, but it is difficult to accurately reflect the intra prediction mode of the current block.
[0334] Therefore, a method of setting the MPM of the current block to the average of the intra-mode of the upper block and the intra-mode of the left block can be considered. Since the MPM must be derived as an integer value and correspond to the intra prediction mode, when the average of the intra-mode of the upper block and the intra-mode of the left block is not an integer, rounding can be applied to round up or down the value after the decimal point.
[0335] For example, assuming that the intra-mode of the upper block is 4 and the intra-mode of the left block is 8, the MPM of the current block becomes mode 6 by (4 + 8) / 2.
[0336] Also, assuming that the intra-mode of the upper block is 3 and the intra-mode of the left block is 6, the MPM of the current block becomes 4.5 by (3 + 6) / 2. By rounding up, the MPM of the current block can be set to mode 5, and by rounding down, the MPM of the current block can be set to mode 4.
[0337] The change of this MPM determination method can be adaptively applied in units of blocks, slices or frames.
[0338] Expansion of MPM candidates
[0339] As described above, currently, the intra prediction mode of the upper block and the intra prediction mode of the left block are used as MPM candidates. On the contrary, by further expanding the MPM candidates, the prediction accuracy can be improved.
[0340] FIG. 24 is a diagram schematically explaining the expansion of MPM candidates in the system to which the present invention is applied. Referring to FIG. 24, the MPM code for the current block 2400 can be expanded to the intra prediction mode of the left-above block, the intra prediction mode of the right-above block, the intra prediction mode of the left-below block, the intra prediction mode of the above block, the intra prediction mode of the left block, and the intra prediction mode of the temporal neighboring block (col).
[0341] Here, the temporal neighboring block refers to a block at the same position as the current block in a frame or slice that was encoded temporally before the current frame or slice.
[0342] This expansion of the MPM candidate block can be adaptively applied in units of blocks, slices or frames.
[0343] Expansion of MPM candidates and change of MPM determination method
[0344] As described above, when the MPM candidates are expanded, it can be considered that the method for determining the MPM is also expanded in various ways. For example, as an MPM determination method, it can be considered to use at least one of the following methods.
[0345] (1) MPM = mim(MPM candidates). According to this method, the minimum mode among the MPM candidates can be selected as the MPM of the current block.
[0346] (2) MPM = average(MPM candidates). According to this method, the average of the MPM candidates can be selected as the MPM of the current block. In this case, if the average of the MPM candidates is not an integer, rounding can be applied as described above.
[0347] (3) MPM = median(MPM candidates). According to the present invention, the median of the MPM candidates can be selected as the MPM of the current block.
[0348] (4) MPM = mode(MPM candidates). According to the present invention, the candidate that is most frequently selected or generated among the MPM candidates can be selected as the MPM of the current block.
[0349] Changing the MPM determination method based on the MPM candidates extended in this way can be adaptively applied in units of blocks, slices, or frames.
[0350] FIG. 25 is a flowchart schematically explaining the operation of an encoder in a system to which the present invention is applied.
[0351] Referring to FIG. 25, the encoder performs a prediction for the current block (S2510). The encoder can apply intra prediction or inter prediction to the current block. The prediction can be performed in consideration of the partition size, slice type, etc. of the current block.
[0352] Next, the encoder entropy-codes the prediction result of the current block (S2520). For entropy coding, methods such as CABAC and CAVLC can be used as described above, and codewords can also be assigned in consideration of the occurrence frequency of each prediction mode or prediction type.
[0353] The symbolizer signals the entropy-encoded information (S2520). As a method of signaling information regarding the prediction mode, a method of signaling the applicability of a specific prediction mode / prediction type using a separate piece of information, for example, a flag, can also be used, and each element included in the prediction type can be jointly coded at once, and it is also possible to signal which prediction mode among various prediction modes is applied.
[0354] The specific details of the method of allocating codewords in consideration of the occurrence frequency of the prediction type / prediction mode and the method of signaling information regarding the prediction are as described above.
[0355] FIG. 26 is a diagram schematically explaining the operation of a decoder in a system to which the present invention is applied.
[0356] Referring to FIG. 26, the decoder receives information from the symbolizer (S2610). The information received from the symbolizer can be included in a bit stream and transmitted, and includes information regarding the prediction of the current block.
[0357] Next, the decoder can perform entropy decoding to extract necessary information (S2620). Based on the extracted codeword, the decoder can determine which prediction type / prediction mode was applied to the current block. As described above, the extracted codeword may be allocated in consideration of the occurrence frequency of the prediction type / prediction mode. The signaling order of the transmitted information may also be determined in consideration of the occurrence frequency of the prediction mode / prediction type. Also, the information regarding the prediction mode / prediction type may be such that codewords are allocated by jointly coding each element constituting the information regarding the prediction mode / prediction type, and the codeword corresponding to the prediction mode / prediction type applied to the current block among them may be the one transmitted. The specific details are as described above.
[0358] The decoder performs a prediction for the current block (S2630). The decoder performs the prediction according to the prediction mode / prediction type determined to be applied to the current block in the previous step.
[0359] The decoder restores the video of the current block based on the predicted result (S2640).
[0360] In the exemplary system described above, the method is described based on a sequence diagram in a series of steps or blocks, but the present invention is not limited to the order of the steps, and a certain step can occur in a different order from or simultaneously with other steps different from the above. Also, the above-described embodiments include examples of various aspects. Therefore, the present invention includes all alternatives, modifications, and changes that fall within the scope of the claims.
[0361] In the description of the present invention above, when it is mentioned that one component is "connected to" or "connected with" another component, it should be understood that the one component may be directly connected to or connected with the other component, but other components may also exist between the two components. On the other hand, when it is mentioned that one component is "directly connected to" or "directly connected with" another component, it should be understood that no other components exist between the two components.
Claims
A picture decoding method by a decoding device, comprising: Receiving picture information including a skip flag, a merge flag, prediction mode information, and partitioning mode information; Decoding the skip flag indicating whether a skip mode is applied to a current block; Based on the value of the skip flag being 0, decoding the prediction mode information and the partitioning mode information for the current block, wherein the prediction mode information indicates whether an inter prediction mode is applied to the current block, and the partitioning mode information indicates a partition type for the current block; Based on the value of the skip flag being 0 and the prediction mode information indicating the inter prediction mode, decoding the merge flag indicating whether a merge mode is applied to a partition of the current block partitioned based on the partition type; Performing inter prediction in the partition of the current block based on the merge flag; The decoding of the prediction mode information and the partitioning mode information is performed between the decoding of the skip flag and the decoding of the merge flag, The decoding of the skip flag is performed before the decoding of the merge flag, The partitioning mode information indicates one of partition types including a 2N×2N partition type, a 2N×N partition type, and an N×2N partition type based on one of binary codes, wherein the binary code includes a binary code for the 2N×2N partition type equal to "1", a binary code for the 2N×N partition type equal to "01", and a binary code for the N×2N partition type equal to "001". **Claim 2** The method according to claim 1, wherein when the merge mode is applied to the partition, a motion vector of a peripheral block to the partition is used as the motion vector of the partition. **Claim 3** When the value of the merge flag is equal to 0, the motion vector of the partition is derived based on (i) a motion vector of a peripheral block to the partition and (ii) an additional motion vector value. The derived motion vector is obtained by adding the motion vector of the peripheral block and the additional motion vector value, and the additional motion vector value is obtained from the picture information. The method according to claim 1.
4. A method according to claim 1, further comprising the step of receiving a split flag for an encoding unit, and the step of deriving a current encoding unit based on the split flag before the step of decoding the skip flag.
5. The method according to claim 4, wherein the current block is the current encoding unit.
6. The method according to claim 4, wherein an N×N partition type is available only when the size of the current encoding unit is the same as the size of the minimum encoding unit.
7. The method according to claim 6, wherein the binary code for the N×N partition type is composed of a plurality of 0s without using 1.
8. A method for picture encoding by an encoding device, comprising the step of generating a skip flag indicating whether a skip mode is applied to a current block, and the step of generating prediction mode information and split mode information based on the value of the skip flag being 0, wherein the prediction mode information indicates whether an inter prediction mode is applied to the current block, and the split mode information indicates a partition type for the current block, and the step of generating a merge flag indicating whether a merge mode is applied to a partition of the current block partitioned based on the partition type based on the value of the skip flag being 0 and the prediction mode information indicating the inter prediction mode, and the step of encoding picture information including the skip flag, the merge flag, the prediction mode information, and the split mode information, wherein, in the encoded picture information, the prediction mode information and the split mode information are configured to be decoded between the decoding of the skip flag and the decoding of the merge flag, and in the encoded picture information, the skip flag is configured to be decoded before the decoding of the merge flag. The partition mode information indicates one of partition types including a 2N×2N partition type, a 2N×N partition type, and an N×2N partition type based on one of binary codes. The binary code includes a binary code for the 2N×2N partition type equal to "1", a binary code for the 2N×N partition type equal to "01", and a binary code for the N×2N partition type equal to "001", a method.
9. A method for transmitting data related to video, A step of obtaining a bitstream related to the video, where the bitstream Generating a skip flag indicating whether a skip mode is applied to a current block; Based on the value of the skip flag being 0, generating prediction mode information and partition mode information, where the prediction mode information indicates whether an inter prediction mode is applied to the current block, and the partition mode information indicates a partition type related to the current block; Based on the value of the skip flag being 0 and the prediction mode information indicating the inter prediction mode, generating a merge flag indicating whether a merge mode is applied to a partition of the current block partitioned based on the partition type; Encoding picture information including the skip flag, the merge flag, the prediction mode information, and the partition mode information; a step generated based on; Transmitting the data including the bitstream, including; Within the encoded picture information, the prediction mode information and the partition mode information are configured to be decoded between the decoding of the skip flag and the decoding of the merge flag; Within the encoded picture information, the skip flag is configured to be decoded before the decoding of the merge flag; The partition mode information indicates one of partition types including a 2N×2N partition type, a 2N×N partition type, and an N×2N partition type based on one of binary codes. The binary code includes a binary code for the 2N×2N partition type equal to "1", a binary code for the 2N×N partition type equal to "01", and a binary code for the N×2N partition type equal to "001", a method.
Citation Information
Patent Citations
Motion compensation method, image decoding method, image encoding method, motion compensation device, program, and integrated circuit
WO2011129067A1
Method and apparatus for encoding video by using block merging, and method and apparatus for decoding video by using block merging
WO2012005520A2
Coding prediction modes in video coding
WO2012044935A1