Image decoding apparatus

By using a hierarchical segmentation method based on binary and ternary trees, the problem of high complexity in motion image encoding/decoding is solved, enabling more complex segmentation patterns and higher encoding efficiency.

CN116866575BActive Publication Date: 2026-05-15SHARP KK
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHARP KK
Filing Date
2017-12-13
Publication Date
2026-05-15

AI Technical Summary

Technical Problem

Existing motion image coding methods have high encoding/decoding complexity, making it difficult to achieve more complex segmentation patterns. Furthermore, the implementation of segmentation patterns is challenging, and the coding efficiency needs to be improved.

Method used

A hierarchical segmentation method using binary and ternary trees is adopted to restrict the segmentation method of object nodes. The ternary tree segmentation is restricted by referring to the segmentation method of the direct parent node and the aspect ratio. The segmentation depth is controlled by combining the common depth variable of binary and ternary tree segmentation.

Benefits of technology

It reduces the encoding/decoding complexity of moving images, enabling more complex segmentation patterns with less segmentation depth and improving encoding efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116866575B_ABST
    Figure CN116866575B_ABST
Patent Text Reader

Abstract

Provided is an image decoding device. The complexity of encoding / decoding of a moving image is reduced. An image decoding device (31) includes a CN information decoding section (10) that hierarchically partitions a coding node by at least either of binary tree partitioning and ternary tree partitioning, and the CN information decoding section restricts the partitioning mode of an object node with reference to the partitioning mode of a node that is one level higher than the object node, i.e., a directly superior node.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This invention is a divisional application of the invention patent application filed on December 13, 2017, with application number 201780077762.3 and title "Image Decoding Apparatus and Image Encoding Apparatus". Technical Field

[0002] Embodiments of the present invention relate to a predictive image generation apparatus, a motion picture decoding apparatus, and a motion picture encoding apparatus. Background Technology

[0003] To efficiently transmit or record moving images, a motion picture encoding device is used to generate encoded data by encoding moving images, and a motion picture decoding device is used to generate decoded images by decoding the encoded data.

[0004] Specific motion picture coding methods include, for example, those proposed in H.264 / AVC and HEVC (High-Efficiency Video Coding).

[0005] In this motion picture coding scheme, the images (pictures) that constitute the motion picture are managed according to a hierarchical structure consisting of slices obtained by segmenting the image, coding units (also sometimes called Coding Units: CUs) obtained by segmenting the slices, and prediction units (PUs) and transformation units (TUs) that are blocks obtained by segmenting the coding units. Each CU is encoded / decoded.

[0006] Furthermore, in such moving image coding methods, a prediction image is typically generated based on a locally decoded image obtained by encoding / decoding the input image, and the prediction residual (sometimes called a "difference image" or "residual image") obtained by subtracting the prediction image from the input image (original image) is encoded. Methods for generating the prediction image include inter-frame prediction and intra-frame prediction.

[0007] In addition, non-patent documents 1 and 2 can be cited as examples of motion image encoding and decoding technologies in recent years.

[0008] Prior art literature

[0009] Non-patent literature

[0010] Non-patent document 1: "Algorithm Description of Joint Exploration Test Model 4", JVET-D1001, Joint Video Exploration Team (JVET) of ITU-T SG 16WP 3 and ISO / IEC JTC 1 / SC 29 / WG 11, 15-21 October 2016

[0011] Non-Patent Document 2: "Multi-Type-Tree", JVET-D0117, Joint Video Exploration Team (JVET) of ITU-T SG 16WP 3 and ISO / IEC JTC 1 / SC 29 / WG 11, 15-21 October 2016 Summary of the Invention

[0012] The problem that the invention aims to solve

[0013] As a segmentation method for coding nodes (CN), non-patent document 2 introduces not only QT (QuadTree) segmentation but also BT (Binary Tree) and TT (Triple Tree) segmentation, thus increasing the segmentation pattern of the CU and complicating encoding / decoding. Furthermore, achieving complex segmentation patterns remains challenging, requiring further improvements to enhance coding efficiency.

[0014] Therefore, the present invention has been made in view of the above-mentioned problems, and its object is to provide an image decoding apparatus and an image encoding apparatus that can reduce the complexity of encoding / decoding moving images. Furthermore, it provides an image decoding apparatus and an image encoding apparatus that can achieve more complex segmentation patterns with less segmentation depth.

[0015] Methods for solving problems

[0016] In order to solve the above-mentioned problems, one aspect of the present invention relates to an image decoding apparatus that decodes an image by each coding tree unit, and includes a segmentation section that hierarchically segments the coding nodes of the coding tree unit by at least one of binary tree segmentation and ternary tree segmentation, wherein the segmentation section restricts the segmentation method of the object node by referring to the segmentation method of the node one level higher than the object node, i.e., the direct parent node.

[0017] Furthermore, in one aspect of the present invention, an image decoding apparatus that decodes an image by each coding tree unit includes a segmentation section that hierarchically segments the coding nodes of the coding tree unit. When the object node is a rectangle with an aspect ratio of more than a given value, the segmentation section restricts the segmentation of the object node to be performed by a ternary tree segmentation that generates a boundary along the long side of the object node.

[0018] Furthermore, in one aspect of the present invention, an image decoding apparatus that decodes an image per coding tree unit includes a segmentation section that hierarchically segments the coding nodes of the coding tree unit using at least one of binary tree segmentation and ternary tree segmentation. The segmentation section restricts the segmentation of object nodes by referring to a common depth variable in both binary tree segmentation and ternary tree segmentation.

[0019] Furthermore, in one aspect of the present invention, an image encoding apparatus that segments an image into encoding tree units for encoding includes a segmentation section that hierarchically segments the encoding nodes of the encoding tree units using at least one of binary tree segmentation and ternary tree segmentation. The segmentation section restricts the segmentation method of the object node by referring to the segmentation method of the node one level above the object node, i.e., the direct parent node.

[0020] Furthermore, in one aspect of the present invention, an image encoding apparatus that segments an image into encoding tree units for encoding includes a segmentation section that hierarchically segments the encoding nodes of the encoding tree units. When an object node is a rectangle with an aspect ratio of a given value or higher, the segmentation section restricts the segmentation of the object node to be performed by a ternary tree segmentation that generates a boundary along the long side of the object node.

[0021] Furthermore, in one aspect of the present invention, an image encoding apparatus that segments an image into encoding tree units for encoding includes a segmentation section that hierarchically segments the encoding nodes of the encoding tree units using at least one of binary tree segmentation and ternary tree segmentation. The segmentation section restricts the segmentation of object nodes by referring to a common depth variable in both binary tree segmentation and ternary tree segmentation.

[0022] Furthermore, in one aspect of the present invention, an image encoding apparatus that decodes an image per encoding tree unit includes a segmentation unit that segments the encoding nodes of the encoding tree unit. The segmentation unit refers to a first label, a second label, and a third label. When the first label indicates a segmentation type that includes dividing the object node into four nodes by dividing the nodes into 1:1:1:1 in a first direction and a first segmentation type that includes quadtree segmentation, and the second label indicates a segmentation type that divides the object node into the four nodes, the segmentation unit uses the direction indicated by the third label as the first direction and divides the object node into the four nodes.

[0023] Invention Effects

[0024] According to one aspect of the present invention, the complexity of encoding / decoding moving images can be reduced. Furthermore, it is possible to provide an image decoding apparatus and an image encoding apparatus capable of achieving more complex segmentation patterns with less segmentation depth. Attached Figure Description

[0025] Figure 1 This is a diagram illustrating the hierarchical structure of the encoded stream data involved in this embodiment.

[0026] Figure 2 This is a diagram showing the pattern of PU segmentation. (a) to (h) represent the partition shapes for PU segmentation patterns of 2Nx2N, 2NxN, 2NxnU, 2NxnD, Nx2N, nLx2N, nRx2N, and NxN, respectively.

[0027] Figure 3 This is a concept diagram representing an example of a reference image and a list of reference images.

[0028] Figure 4 This is a block diagram illustrating the structure of the image encoding apparatus according to this embodiment.

[0029] Figure 5 This is a schematic diagram showing the structure of the image decoding apparatus according to this embodiment.

[0030] Figure 6 This is a schematic diagram showing the structure of the inter-frame prediction image generation unit of the image coding apparatus according to this embodiment.

[0031] Figure 7 (a) to (f) are diagrams showing the segmentation of the encoding nodes in the image decoding apparatus according to this embodiment.

[0032] Figure 8 This is a diagram illustrating the branch-tree type signaling performed by the image decoding apparatus according to this embodiment.

[0033] Figure 9 This is a diagram illustrating an example of obtaining the same segmentation pattern through a block segmentation process.

[0034] Figure 10 This is a block diagram illustrating the structure of the image decoding apparatus according to this embodiment.

[0035] Figure 11 This is a flowchart illustrating the decoding process involved in this embodiment.

[0036] Figure 12 This is a diagram illustrating an example of the structure of the syntax table for QT information involved in this embodiment.

[0037] Figure 13 Figures (a) to (f) are examples of the segmentation pattern of the image decoding apparatus according to this embodiment.

[0038] Figure 14 Figures (a) to (h) are examples of the segmentation pattern of the image decoding apparatus according to this embodiment.

[0039] Figure 15 Figures (a) to (d) are examples of the segmentation pattern of the image decoding apparatus according to this embodiment.

[0040] Figure 16 This is a flowchart illustrating the decoding process involved in this embodiment.

[0041] Figure 17 (a) and (b) are structure diagrams of the pseudocode involved in this embodiment.

[0042] Figure 18 (a) and (b) are structure diagrams of the pseudocode involved in this embodiment.

[0043] Figure 19 (a) and (b) are structure diagrams of the pseudocode involved in this embodiment.

[0044] Figure 20 This is a structural diagram of the pseudocode involved in this implementation method.

[0045] Figure 21 This is a structural diagram of the pseudocode involved in this implementation method.

[0046] Figure 22 This is a structural diagram of the pseudocode involved in this implementation method.

[0047] Figure 23 This is a structural diagram of the pseudocode involved in this implementation method.

[0048] Figure 24 This is a structural diagram of the pseudocode involved in this implementation method.

[0049] Figure 25 This is a structural diagram of the pseudocode involved in this implementation method.

[0050] Figure 26 This is a structural diagram of the pseudocode involved in this implementation method.

[0051] Figure 27 (a) to (c) are structure diagrams of the pseudocode involved in this embodiment.

[0052] Figure 28 This is a structural diagram of the pseudocode involved in this implementation method.

[0053] Figure 29 This is a structural diagram of the pseudocode involved in this implementation method.

[0054] Figure 30 This is a structural diagram of the pseudocode involved in this implementation method.

[0055] Figure 31 This is a structural diagram of the pseudocode involved in this implementation method.

[0056] Figure 32 This is a structural diagram of the pseudocode involved in this implementation method.

[0057] Figure 33 (a) and (b) are structure diagrams of the pseudocode involved in this embodiment.

[0058] Figure 34 (a) to (d) are structure diagrams of the pseudocode involved in this embodiment.

[0059] Figure 35 (a) and (b) are structure diagrams of the pseudocode involved in this embodiment.

[0060] Figure 36 (a) to (d) are structure diagrams of the pseudocode involved in this embodiment.

[0061] Figure 37 (a) and (b) are structure diagrams of the pseudocode involved in this embodiment.

[0062] Figure 38 (a) and (b) are structure diagrams of the pseudocode involved in this embodiment.

[0063] Figure 39 (a) and (b) are structure diagrams of the pseudocode involved in this embodiment.

[0064] Figure 40 It is a diagram representing the segmentation pattern of blocks.

[0065] Figure 41Figures (a) to (c) are examples of the segmentation pattern of the image decoding apparatus according to this embodiment.

[0066] Figure 42 This is a structural diagram of the pseudocode involved in this implementation method.

[0067] Figure 43 This is a structural diagram of the pseudocode involved in this implementation method.

[0068] Figure 44 This is a structural diagram of the pseudocode involved in this implementation method.

[0069] Figure 45 (a) and (b) are structural diagrams of the pseudocode involved in this embodiment. (c) is a diagram showing the block segmentation involved in this embodiment.

[0070] Figure 46 (a) is a structure diagram of the pseudocode involved in this embodiment. (b) is a diagram showing the block segmentation involved in this embodiment.

[0071] Figure 47 Figures (a) to (1) are examples of the segmentation pattern of the image decoding apparatus according to this embodiment.

[0072] Figure 48 This is a structural diagram of the pseudocode involved in this implementation method.

[0073] Figure 49 This diagram illustrates an example of a segmentation pattern of an image decoding apparatus according to this embodiment.

[0074] Figure 50 This is a flowchart illustrating the decoding process involved in this embodiment.

[0075] Figure 51 This is a structural diagram of the pseudocode involved in this implementation method.

[0076] Figure 52 This is a structural diagram of the pseudocode involved in this implementation method.

[0077] Figure 53 Figures (a) to (g) are diagrams illustrating another example of the segmentation of the encoding node in the image decoding apparatus according to this embodiment.

[0078] Figure 54 Figures (a) to (d) are diagrams illustrating yet another example of the segmentation of the encoding node in the image decoding apparatus according to this embodiment.

[0079] Figure 55 This is a flowchart illustrating the decoding process involved in this embodiment.

[0080] Figure 56(a) and (b) are structure diagrams of the pseudocode involved in this embodiment.

[0081] Figure 57 This is a flowchart illustrating the decoding process involved in this embodiment.

[0082] Figure 58 (a) to (c) are structure diagrams of the pseudocode involved in this embodiment.

[0083] Figure 59 This is a diagram illustrating an example of the shape of the marker and encoding nodes involved in this embodiment.

[0084] Figure 60 (a) to (c) are structure diagrams of the pseudocode involved in this embodiment.

[0085] Figure 61 This is a diagram illustrating an example of the shape of the marker and encoding nodes involved in this embodiment.

[0086] Figure 62 (a) to (c) are structure diagrams of the pseudocode involved in this embodiment.

[0087] Figure 63 This is a diagram illustrating an example of the shape of the marker and encoding nodes involved in this embodiment.

[0088] Figure 64 This is a flowchart illustrating the decoding process involved in this embodiment.

[0089] Figure 65 (a) to (c) are structure diagrams of the pseudocode involved in this embodiment.

[0090] Figure 66 This is a diagram illustrating an example of the shape of the marker and encoding nodes involved in this embodiment.

[0091] Figure 67 This is a flowchart illustrating the decoding process involved in this embodiment.

[0092] Figure 68 (a) to (c) are structure diagrams of the pseudocode involved in this embodiment.

[0093] Figure 69 This is a diagram illustrating an example of the shape of the marker and encoding nodes involved in this embodiment.

[0094] Figure 70 (a) to (c) are structure diagrams of the pseudocode involved in this embodiment.

[0095] Figure 71 This is a diagram illustrating an example of the shape of the marker and encoding nodes involved in this embodiment.

[0096] Figure 72 This is a flowchart illustrating the decoding process involved in this embodiment.

[0097] Figure 73 (a) to (c) are structure diagrams of the pseudocode involved in this embodiment.

[0098] Figure 74 This is a diagram illustrating an example of the shape of the marker and encoding nodes involved in this embodiment.

[0099] Figure 75 This diagram illustrates the structure of a transmitting device equipped with an image encoding apparatus according to this embodiment and a receiving device equipped with an image decoding apparatus. (a) shows the transmitting device equipped with the image encoding apparatus, and (b) shows the receiving device equipped with the image decoding apparatus.

[0100] Figure 76 This diagram illustrates the structure of a recording apparatus equipped with an image encoding device according to this embodiment, and a playback apparatus equipped with an image decoding device. (a) shows the recording apparatus equipped with an image encoding device, and (b) shows the playback apparatus equipped with an image decoding device.

[0101] Figure 77 This is a schematic diagram showing the structure of the image transmission system involved in this embodiment.

[0102] Symbol Explanation

[0103] 10CN Information Decoding Department;

[0104] 11 Image encoding device;

[0105] 20CU decoding unit;

[0106] 31 Image decoding device;

[0107] 41 Image display device. Detailed Implementation

[0108] (First Embodiment)

[0109] Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings.

[0110] Figure 77 This is a schematic diagram showing the structure of the image transmission system 1 according to this embodiment.

[0111] Image transmission system 1 is a system that transmits the code obtained by encoding an image of an object to be encoded, decodes the transmitted code, and displays the image. Image transmission system 1 is configured to include an image encoding device (moving picture encoding device) 11, a network 21, an image decoding device (moving picture decoding device) 31, and an image display device 41.

[0112] In the image coding apparatus 11, an image T representing a single layer or multiple layers is input. A layer is a concept used to distinguish multiple images when there are more than one image constituting a certain time. For example, if the same image is encoded using multiple layers with different image quality and resolution, it is called scalable coding; if images from different viewpoints are encoded using multiple layers, it is called view-scalable coding. When prediction is performed between images of multiple layers (inter-frame layer prediction, inter-frame view prediction), coding efficiency is greatly improved. Furthermore, encoded data can be aggregated even without prediction (joint broadcasting).

[0113] Network 21 transmits the encoded stream Te generated by image encoding device 11 to image decoding device 31. Network 21 is the Internet, Wide Area Network (WAN), Local Area Network (LAN), or a combination thereof. Network 21 is not necessarily limited to a two-way communication network; it can also be a one-way communication network transmitting broadcast waves, such as terrestrial digital broadcasting or satellite broadcasting. Furthermore, network 21 can also be replaced by storage media that record the encoded stream Te, such as DVD (Digital Versatile Disc) or BD (Blu-ray Disc).

[0114] The image decoding device 31 decodes the encoded stream Te transmitted by the network 21 and generates one or more decoded images Td respectively.

[0115] The image display device 41 displays all or part of one or more decoded images Td generated by the image decoding device 31. The image display device 41 may be, for example, a liquid crystal display (LCD), an organic EL (electroluminescence) display, or a similar display. Furthermore, in spatially scalable encoding and SNR-scalable encoding, when the image decoding device 31 has high processing power, a high-quality extended layer image is displayed. When the image decoding device 31 has only lower processing power, a base layer image that does not require the high processing or display power of an extended layer is displayed.

[0116] <operator>

[0117] The operators used in this manual are described below.

[0118] >> is for right shift, << is for left shift, & is for bitwise AND, | is for bitwise OR, and |= is for OR operation with other conditions.

[0119] Regarding x? y: z, when x is true (other than 0), it is a ternary operator that takes the terms of y; when x is false (0), it is a ternary operator that takes the terms of z.

[0120] Clip3(a, b, c) is a function that clips c to a value greater than a and less than b. It returns a if c < a, b if c > b, and c otherwise (where a ≤ b).

[0121] Construction of the encoded stream Te

[0122] Before providing a detailed description of the image encoding device 11 and the image decoding device 31 involved in this embodiment, the data structure of the encoded stream Te generated by the image encoding device 11 and decoded by the image decoding device 31 will be described first.

[0123] Figure 1 It is a graph representing the hierarchical structure of the data in the encoded stream Te. The encoded stream Te typically contains a sequence, as well as multiple pictures that make up the sequence. Figure 1 (a) to (f) are respectively diagrams representing the encoded video sequence of the specified sequence SEQ, the encoded picture of the specified picture PICT, the encoded slice of the specified slice S, the encoded slice data of the specified slice data, the coding tree unit contained in the encoded slice data, and the coding unit (CU) contained in the coding tree unit.

[0124] (Encoded video sequence)

[0125] In the encoded video sequence, a set of data is defined that the image decoding device 31 refers to in order to decode the sequence SEQ of the object being processed. For example... Figure 1 As shown in (a), the sequence SEQ contains a video parameter set, a sequence parameter set (SPS), a picture parameter set (PPS), a picture (PICT), and supplementary enhancement information (SEI). Here, the value following the # indicates the layer ID. Figure 1 The example shown is an example of encoded data containing #0 and #1, i.e., layer 0 and layer 1, but the types and number of layers are not limited to this.

[0126] The Video Parameter Set (VPS) defines a set of common coding parameters for multiple motion frames, as well as a set of coding parameters associated with the multiple layers contained in the motion frame.

[0127] The Sequence Parameter Set (SPS) specifies the set of encoding parameters that the image decoding device 31 refers to in order to decode the object sequence. For example, it specifies the width and height of the image. Alternatively, multiple SPSs may exist. In this case, any one of the multiple SPSs is selected based on the PPS.

[0128] The Picture Parameter Set (PPS) specifies the set of encoding parameters that the image decoding device 31 refers to in order to decode each picture in the object sequence. For example, it includes a reference value (pic_init_qp_minus26) for the quantization width used to decode the picture, and a flag (weighted_pred_flag) indicating the application of weighted prediction. Alternatively, multiple PPSs may exist. In this case, any one of the multiple PPSs is selected based on the pictures in the object sequence.

[0129] (Encoded image)

[0130] In the encoded image, the set of data referenced by the image decoding device 31 in order to decode the image PICT of the object being processed is specified. For example... Figure 1 As shown in (b), the image PICT contains slices S0 to S10. NS-1 (NS is the total number of slices contained in the image PICT).

[0131] In addition, below, there is no need to distinguish between slices S0 to S1. NS-1 In such cases, the suffix of the descriptive symbol is omitted. Furthermore, the same applies to other data containing suffixes in the encoded stream Te as described below.

[0132] (Encoded slice)

[0133] In the encoded slice, the set of data referenced by the image decoding device 31 in order to decode the slice S of the object being processed is defined. For example... Figure 1 As shown in (c), slice S contains slice header SH and slice data SDATA.

[0134] The slice header SH contains a set of encoding parameters that the image decoding device 31 refers to in order to determine the decoding method for the object slice. The slice type specification information (slice_type) is an example of the encoding parameters contained in the slice header SH.

[0135] As slice types that can be specified by slice type specification information, examples include (1) I slices that use only intra-frame prediction during encoding, (2) P slices that use unidirectional prediction or intra-frame prediction during encoding, and (3) B slices that use unidirectional prediction, bidirectional prediction or intra-frame prediction during encoding.

[0136] Additionally, the slice header SH may also contain a reference (pic_parameter_set_id) to the picture parameter set PPS contained in the aforementioned encoded video sequence.

[0137] (Encoded slice data)

[0138] The encoded slice data specifies the set of data that the image decoding device 31 refers to in order to decode the slice data SDATA of the object being processed. For example... Figure 1 As shown in (d), the slice data SDATA contains Coding Tree Units (CTUs). A CTU is a fixed-size (e.g., 64x64) block that makes up a slice, and is sometimes called the Largest Coding Unit (LCU).

[0139] (Coding Tree Unit)

[0140] like Figure 1 As shown in (e), the image decoding device 31 specifies the set of data referenced by the image decoding device 31 in order to decode the coding tree unit of the processing object. The coding tree unit is segmented by recursive quadtree partitioning. The node constructed by the tree obtained by recursive quadtree partitioning is called a coding node (CN). The intermediate node of the quadtree is a coding node, and the coding tree unit itself is also defined as the top-level coding node. The CTU contains a splitting flag (cu_split_flag). When cu_split_flag is 1, it is split into four coding nodes CN. When cu_split_flag is 0, the coding node CN is not split, and it is a coding unit (CU) as a node. The coding unit CU is the terminal node of the coding node and is not further partitioned. The coding unit CU becomes the basic unit of coding processing.

[0141] Furthermore, when the size of the coding tree unit (CTU) is 64x64 pixels, the size of the coding unit can be any of 64x64 pixels, 32x32 pixels, 16x16 pixels, or 8x8 pixels.

[0142] (Encoding unit)

[0143] like Figure 1 As shown in (f), the image decoding device 31 specifies the set of data referenced by the image decoding device 31 in order to decode the encoding unit of the processing object. Specifically, the encoding unit consists of a prediction tree, a transform tree, and a CU header CUH. The CU header specifies the prediction mode, segmentation method (PU segmentation mode), etc.

[0144] In the prediction tree, the prediction information (referencing image index, motion vector, etc.) of each prediction unit (PU) is specified to divide the coding unit into one or more. In other words, a prediction unit is one or more non-repeating regions that constitute the coding unit. Furthermore, the prediction tree contains one or more prediction units obtained through the above division. Additionally, the prediction unit resulting from further division of the prediction unit will be referred to as a "sub-block". A sub-block consists of multiple pixels. When the size of the prediction unit and the sub-block are equal, there is one sub-block in the prediction unit. When the size of the prediction unit is larger than the sub-block, the prediction unit is divided into sub-blocks. For example, if the prediction unit is 8x8 and the sub-block is 4x4, the prediction unit is divided into four sub-blocks, each consisting of two horizontally divided and two vertically divided.

[0145] Prediction processing can also be performed on a per-prediction-unit (sub-block) basis.

[0146] Segmentation in prediction trees can be broadly categorized into two types: intra-frame prediction and inter-frame prediction. Intra-frame prediction refers to prediction within the same image, while inter-frame prediction refers to prediction processing performed between different images (e.g., between display times or between layer images).

[0147] In the case of intra-frame prediction, the segmentation methods are 2Nx2N (with the same size as the coding unit) and NxN.

[0148] Furthermore, in the case of inter-frame prediction, the PU segmentation mode (part_mode) of the encoded data is encoded. Segmentation methods include 2Nx2N (same size as the coding unit), 2NxN, 2NxnU, 2NxnD, Nx2N, nLx2N, nRx2N, and NxN. Additionally, 2NxN and Nx2N represent 1:1 symmetrical segmentations, while 2NxnU, 2NxnD, nLx2N, and nRx2N represent 1:3 and 3:1 asymmetrical segmentations, respectively. The PUs contained in the CU are sequentially represented as PU0, PU1, PU2, and PU3.

[0149] exist Figure 2 In (a) to (h), the shape of the partition in each PU partitioning mode (the position of the boundary of the PU partition) is specifically illustrated. Figure 2 (a) represents a 2Nx2N partition; (b), (c), and (d) represent 2NxN, 2NxnU, and 2NxnD partitions (horizontal partitions), respectively. (e), (f), and (g) represent partitions in the cases of Nx2N, nLx2N, and nRx2N (vertical partitions), respectively; and (h) represents an NxN partition. Furthermore, horizontal and vertical partitions are collectively referred to as rectangular partitions, and 2Nx2N and NxN partitions are collectively referred to as square partitions.

[0150] Furthermore, in the transform tree, a coding unit is divided into one or more transform units, specifying the position and size of each transform unit. In other words, a transform unit is one or more non-repeating regions that constitute a coding unit. Additionally, the transform tree contains one or more transform units obtained through the above division.

[0151] The segmentation in the transform tree includes segmentation that allocates regions of the same size as the coding unit as transform units, and segmentation that, like the segmentation of the CU mentioned above, is segmented by a recursive quadtree.

[0152] The transformation process is performed on a per-transformation-unit basis.

[0153] (Structure of an image decoding device)

[0154] Next, the structure of the image decoding apparatus 31 according to this embodiment will be described. Figure 5 This is a schematic diagram showing the structure of the image decoding apparatus 31 according to this embodiment. The image decoding apparatus 31 is configured to include: an entropy decoding unit 301, a prediction parameter decoding unit (predictive image decoding apparatus) 302, a loop filter 305, a reference image memory 306, a prediction parameter memory 307, a prediction image generation unit (predictive image generation apparatus) 308, an inverse quantization / inverse DCT unit 311, and an addition operation unit 312.

[0155] Furthermore, the prediction parameter decoding unit 302 is configured to include an inter-frame prediction parameter decoding unit 303 and an intra-frame prediction parameter decoding unit 304. The prediction image generation unit 308 is configured to include an inter-frame prediction image generation unit 309 and an intra-frame prediction image generation unit 310.

[0156] The entropy decoding unit 301 performs entropy decoding on the externally input encoded stream Te, separating and decoding each code (syntactic element). The separated codes include prediction information for generating the prediction image and residual information for generating the difference image.

[0157] The entropy decoding unit 301 outputs a portion of the separated code to the prediction parameter decoding unit 302. This portion of the separated code may include, for example, the prediction mode `predMode`, the PU segmentation mode `part_mode`, the merge flag `merge_flag`, the merge index `merge_idx`, the inter-frame prediction identifier `inter_pred_idc`, the reference image index `refIdxLX`, the prediction vector index `mvp_LX_idx`, and the difference vector `mvdLX`. The control over which code to decode is based on the instruction from the prediction parameter decoding unit 302. The entropy decoding unit 301 outputs quantization coefficients to the inverse quantization / inverse DCT unit 311. These quantization coefficients are obtained by performing a Discrete Cosine Transform (DCT) on the residual signal and then quantizing it during the encoding process.

[0158] The inter-frame prediction parameter decoding unit 303 decodes the inter-frame prediction parameters based on the code input from the entropy decoding unit 301 and with reference to the prediction parameters stored in the prediction parameter memory 307.

[0159] The inter-frame prediction parameter decoding unit 303 outputs the decoded inter-frame prediction parameters to the prediction image generation unit 308, and also stores them in the prediction parameter memory 307. Details about the inter-frame prediction parameter decoding unit 303 will be described later.

[0160] The intra-prediction parameter decoding unit 304 decodes the intra-prediction parameters based on the code input from the entropy decoding unit 301 and with reference to the prediction parameters stored in the prediction parameter memory 307. The intra-prediction parameters are parameters used in the processing of an intra-image prediction CU, such as the intra-prediction mode (IntraPredMode). The intra-prediction parameter decoding unit 304 outputs the decoded intra-prediction parameters to the prediction image generation unit 308 and stores them in the prediction parameter memory 307.

[0161] The intra-prediction parameter decoding unit 304 can also derive intra-prediction modes with different luminance and chrominance. In this case, the intra-prediction parameter decoding unit 304 decodes the luminance prediction mode IntraPredModeY as a luminance prediction parameter and the chrominance prediction mode IntraPredModeC as a chrominance prediction parameter. The luminance prediction mode IntraPredModeY is mode 35, corresponding to planar prediction (0), DC prediction (1), and directional prediction (2-34). The chrominance prediction mode IntraPredModeC utilizes any one of planar prediction (0), DC prediction (1), directional prediction (2-34), and LM mode (35). The intra-prediction parameter decoding unit 304 decodes a flag indicating whether IntraPredModeC is the same mode as the luminance mode. If the flag indicates that it is the same mode as the luminance mode, IntraPredModeY is assigned to IntraPredModeC. If the flag indicates that it is a different mode from the luminance mode, Planar prediction (0), DC prediction (1), directional prediction (2-34), and LM mode (35) can also be decoded as IntraPredModeC.

[0162] The loop filter 305 applies filters such as a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) to the decoded image of the CU generated by the addition unit 312.

[0163] Referring to the image memory 306, the decoded image of the CU generated by the addition unit 312 is stored in a predetermined location according to each image of the decoded object and the CU.

[0164] The prediction parameter memory 307 stores prediction parameters in predefined locations for each image of the decoded object and prediction unit (or sub-block, fixed-size block, pixel). Specifically, the prediction parameter memory 307 stores inter-frame prediction parameters decoded by the inter-frame prediction parameter decoding unit 303, intra-frame prediction parameters decoded by the intra-frame prediction parameter decoding unit 304, and prediction modes separated by the entropy decoding unit 301. The stored inter-frame prediction parameters include, for example, the prediction list using the flag predFlagLX (inter-frame prediction identifier inter_pred_idc), the reference image index refIdxLX, and the motion vector mvLX.

[0165] In the prediction image generation unit 308, a prediction mode `predMode` input from the entropy decoding unit 301 is input, and prediction parameters are input from the prediction parameter decoding unit 302. Furthermore, the prediction image generation unit 308 reads a reference image from the reference image memory 306. The prediction image generation unit 308 generates a prediction image of the PU using the input prediction parameters and the read reference image, according to the prediction mode represented by `predMode`.

[0166] Here, when the prediction mode predMode represents the inter-frame prediction mode, the inter-frame prediction image generation unit 309 uses the inter-frame prediction parameters input from the inter-frame prediction parameter decoding unit 303 and the read reference image to generate the prediction image of PU through inter-frame prediction.

[0167] The inter-frame prediction image generation unit 309 uses a list of reference images (L0 list or L1 list) with the flag predFlagLX set to 1 for the prediction list. Based on the reference image represented by the reference image index refIdxLX, it reads the reference image block at the position represented by the motion vector mvLX from the reference image memory 306, with the decoded object PU as the reference. The inter-frame prediction image generation unit 309 performs prediction based on the read reference image block and generates a prediction image of the PU. The inter-frame prediction image generation unit 309 outputs the generated prediction image of the PU to the addition unit 312.

[0168] When the prediction mode `predMode` indicates an intra-prediction mode, the intra-prediction image generation unit 310 performs intra-prediction using the intra-prediction parameters input from the intra-prediction parameter decoding unit 304 and the read reference image. Specifically, the intra-prediction image generation unit 310 reads from the reference image memory 306 the adjacent PUs within a predetermined range from the decoded target PU in the image of the decoded target PU. The predetermined range, when the decoded target PUs are moved sequentially in a so-called raster scan order, refers to, for example, any one of the adjacent PUs on the left, upper left, top, or upper right, depending on the intra-prediction mode. The raster scan order refers to the order in which the PUs are moved sequentially from top to bottom for each row in each image, from left to right.

[0169] The intra-prediction image generation unit 310 predicts the adjacent PUs read out using the prediction mode represented by IntraPredMode and generates prediction images of the PUs. The intra-prediction image generation unit 310 outputs the generated prediction images of the PUs to the addition unit 312.

[0170] When the intra-prediction parameter decoding unit 304 derives intra-prediction modes with different luminance and chrominance, the intra-prediction image generation unit 310 generates a luminance prediction image of the PU using any one of planar prediction (0), DC prediction (1), or directional prediction (2-34) according to the luminance prediction mode IntraPredModeY, and generates a chrominance prediction image of the PU using any one of planar prediction (0), DC prediction (1), directional prediction (2-34), or LM mode (35) according to the chrominance prediction mode IntraPredModeC.

[0171] The inverse quantization / inverse DCT unit 311 performs inverse quantization on the quantization coefficients input from the entropy decoding unit 301 to obtain the DCT coefficients. The inverse quantization / inverse DCT unit 311 performs inverse DCT (Inverse Discrete Cosine Transform) on the obtained DCT coefficients to calculate the residual signal. The inverse quantization / inverse DCT unit 311 outputs the calculated residual signal to the addition unit 312.

[0172] The addition unit 312 performs an addition operation on each pixel of the predicted image of the PU input from the inter-frame prediction image generation unit 309 or the intra-frame prediction image generation unit 310 and the residual signal input from the inverse quantization / inverse DCT unit 311 to generate a decoded image of the PU. The addition unit 312 stores the generated decoded image of the PU in the reference image memory 306 and outputs the generated decoded image of the PU to the outside as a decoded image Td synthesized from each image.

[0173] (Structure of an image encoding device)

[0174] Next, the structure of the image encoding device 11 according to this embodiment will be described. Figure 4 This is a block diagram illustrating the structure of the image coding apparatus 11 according to this embodiment. The image coding apparatus 11 is configured to include: a prediction image generation unit 101, a subtraction operation unit 102, a DCT / quantization unit 103, an entropy coding unit 104, an inverse quantization / inverse DCT unit 105, an addition operation unit 106, a loop filter 107, a prediction parameter memory (prediction parameter storage unit, frame memory) 108, a reference image memory (reference image storage unit, frame memory) 109, a coding parameter determination unit 110, and a prediction parameter coding unit 111. The prediction parameter coding unit 111 is configured to include an inter-frame prediction parameter coding unit 112 and an intra-frame prediction parameter coding unit 113.

[0175] The prediction image generation unit 101 generates a prediction image P for each image of image T, based on each coding unit CU, which is a region obtained by segmenting the image. Here, the prediction image generation unit 101 reads the decoded block from the reference image memory 109 based on the prediction parameters input from the prediction parameter coding unit 111. The prediction parameters input from the prediction parameter coding unit 111, for example, in the case of inter-frame prediction, refer to motion vectors. The prediction image generation unit 101 reads the block located at the position on the reference image represented by the motion vector, with the object PU as the starting point. Furthermore, in the case of intra-frame prediction, the prediction parameters refer to, for example, the intra-frame prediction mode. The pixel values ​​of adjacent PUs used in the intra-frame prediction mode are read from the reference image memory 109, and a prediction image P for the PU is generated. The prediction image generation unit 101 generates the prediction image P for the PU using one of a plurality of prediction modes for the read reference image block. The prediction image generation unit 101 outputs the generated prediction image P for the PU to the subtraction operation unit 102.

[0176] Furthermore, the predicted image generation unit 101 operates in the same manner as the predicted image generation unit 308, which has already been described. For example, Figure 6 This is a schematic diagram showing the structure of the inter-frame prediction image generation unit 1011 included in the prediction image generation unit 101. The inter-frame prediction image generation unit 1011 is configured to include a motion compensation unit 10111 and a weight prediction unit 10112. Since the motion compensation unit 10111 and the weight prediction unit 10112 have the same structure as the motion compensation unit 3091 and the weight prediction unit 3094 described above, their descriptions are omitted here.

[0177] The prediction image generation unit 101 generates a prediction image P of PU based on the pixel values ​​of a reference block read from the reference image memory, using parameters input from the prediction parameter encoding unit. The prediction image generated by the prediction image generation unit 101 is output to the subtraction unit 102 and the addition unit 106.

[0178] The subtraction unit 102 subtracts the signal value of the predicted image P of the PU, which is input from the self-predictive image generation unit 101, from the pixel value of the PU corresponding to the image T to generate a residual signal. The subtraction unit 102 outputs the generated residual signal to the DCT / quantization unit 103.

[0179] The DCT / quantization unit 103 performs DCT on the residual signal input from the subtraction unit 102 and calculates the DCT coefficients. The DCT / quantization unit 103 quantizes the calculated DCT coefficients to obtain the quantization coefficients. The DCT / quantization unit 103 outputs the obtained quantization coefficients to the entropy encoding unit 104 and the inverse quantization / inverse DCT unit 105.

[0180] In the entropy coding unit 104, quantization coefficients are input from the DCT / quantization unit 103, and coding parameters are input from the prediction parameter coding unit 111. The input coding parameters include, for example, codes for the reference image index refIdxLX, the prediction vector index mvp_LX_idx, the difference vector mvdLX, the prediction mode predMode, and the merge index merge_idx.

[0181] The entropy coding unit 104 performs entropy coding on the input quantization coefficients and coding parameters to generate a coding stream Te, and outputs the generated coding stream Te to the outside.

[0182] The inverse quantization / inverse DCT unit 105 performs inverse quantization on the quantization coefficients input from the DCT / quantization unit 103 to obtain the DCT coefficients. The inverse quantization / inverse DCT unit 105 performs inverse DCT on the obtained DCT coefficients to calculate the residual signal. The inverse quantization / inverse DCT unit 105 outputs the calculated residual signal to the addition unit 106.

[0183] The addition unit 106 adds the signal value of the predicted image P of the PU input from the predicted image generation unit 101 and the signal value of the residual signal input from the inverse quantization / inverse DCT unit 105 to each pixel to generate a decoded image. The addition unit 106 stores the generated decoded image in the reference image memory 109.

[0184] The loop filter 107 applies a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) to the decoded image generated by the addition unit 106.

[0185] The prediction parameter memory 108 stores the prediction parameters generated by the encoding parameter determination unit 110 to a predefined location for each image of the encoded object and the CU.

[0186] Referring to the image storage 109, the decoded image generated by the loop filter 107 is stored in a predefined location according to each image of the encoded object and the CU.

[0187] The encoding parameter determination unit 110 selects one set from a plurality of sets of encoding parameters. The encoding parameters refer to the aforementioned prediction parameters and the parameters generated in association with those prediction parameters that become the object of encoding. The prediction image generation unit 101 uses each set of these encoding parameters to generate a prediction image P of PU.

[0188] The encoding parameter determination unit 110 calculates the cost values ​​representing the amount of information and the encoding error for each of the multiple sets. The cost value is, for example, the sum of the code amount and the squared error multiplied by a coefficient λ. The code amount is the amount of information in the encoded stream Te obtained by entropy encoding the quantization error and the encoding parameters. The squared error is the sum of the squares of the residual values ​​of the residual signal calculated in the subtraction unit 102 among the pixels. The coefficient λ can be a real number larger than a predetermined zero. The encoding parameter determination unit 110 selects the set of encoding parameters whose calculated cost values ​​are the smallest. Therefore, the entropy encoding unit 104 outputs the selected set of encoding parameters as the encoded stream Te to the outside, and does not output the set of unselected encoding parameters. The encoding parameter determination unit 110 stores the determined encoding parameters in the prediction parameter memory 108.

[0189] The prediction parameter encoding unit 111 derives the encoding form based on the parameters input from the encoding parameter determination unit 110 and outputs it to the entropy encoding unit 104. Deriving the encoding form, for example, means deriving the difference vector from the motion vector and the prediction vector. Furthermore, the prediction parameter encoding unit 111 derives the parameters needed to generate the prediction image based on the parameters input from the encoding parameter determination unit 110 and outputs them to the prediction image generation unit 101. The parameters needed to generate the prediction image, for example, refer to the motion vector of the sub-block unit.

[0190] The inter-frame prediction parameter encoding unit 112 derives inter-frame prediction parameters, such as difference vectors, based on the prediction parameters input from the encoding parameter determination unit 110. The inter-frame prediction parameter encoding unit 112, as a structure that derives the parameters required for generating the prediction image output to the prediction image generation unit 101, includes a portion similar to the inter-frame prediction parameter decoding unit 303 (see reference 1103). Figure 5 The structure of the inter-frame prediction parameter coding unit 112 is the same as that used to derive the inter-frame prediction parameters. The structure of the inter-frame prediction parameter coding unit 112 will be described later.

[0191] The intra-prediction parameter coding unit 113 derives the form for encoding (e.g., MPM_idx, rem_intra_luma_pred_mode, etc.) based on the intra-prediction mode IntraPredMode input from the coding parameter determination unit 110.

[0192] (Second Implementation)

[0193] (Types of block partitioning)

[0194] First, the segmentation of the coding node (CN) involved in this embodiment will be explained. Figure 7This is a diagram showing the segmentation of encoding nodes (CNs, blocks) in the image decoding device 31. In this embodiment, the image decoding device 31 segments the encoding tree units or CNs by quadtree segmentation (QT segmentation), binary tree segmentation (BT segmentation), or ternary tree segmentation (TT segmentation), dividing them into encoding units (CUs) that serve as the basic units of encoding processing. Figure 7 (a) represents the QT segmentation of the block. Furthermore, Figure 7 (b) represents an example of BT segmentation of the block in the horizontal direction (HOR). Furthermore, Figure 7 (c) represents an example of dividing the block into BT segments in the vertical direction (VER). For example... Figure 7 As shown in (b) and (c), BT partitioning divides the partitioned edges of a block into a 1:1 ratio. Furthermore, Figure 7 (d) represents an example of not splitting blocks. Figure 7 (e) represents an example of dividing a block into TT segments in the horizontal direction (HOR). Figure 7 (f) represents an example of dividing a block into TT segments in the vertical direction (VER). The TT segment divides the block's edges into a 1:2:1 ratio.

[0195] Furthermore, in this specification, the terms "horizontal" and "vertical" refer to the direction of the dividing line when describing a division. Therefore, "horizontal division," "horizontal (HOR) division," and "horizontally divided" mean a division based on a horizontal boundary line, that is, dividing into two blocks, one above and one below. Similarly, "vertical division," "vertical (VER) division," and "vertically divided" mean a division based on a vertical boundary line, that is, dividing into two blocks, one to the left and one to the right.

[0196] In addition, other terms may be used, though not explicitly illustrated in this specification. Specifically, since a block is divided into two or more blocks arranged vertically, the horizontal division in this specification is sometimes referred to as splitvertically. Furthermore, since a block is divided into two or more blocks arranged horizontally, the vertical division in this specification is sometimes referred to as split horizontally. It is important to note that the use of "vertical division" in these other terms sometimes implies a horizontal division (or vice versa). In such cases, the appropriate terminology should be used where indicated.

[0197] Figure 8 This is a diagram representing the tree-type signaling performed by the image decoding device 31. For example... Figure 8As shown, the image decoding device 31 performs RT (region-tree) segmentation by repeatedly performing quadtree (CQuad-tree) segmentation on the CTU or CN. Then, when there is a PT (Partition Tree) segmentation (BT segmentation or TT segmentation) marker, the image decoding device 31 determines whether to segment the block horizontally or vertically. Then, the image decoding device 31 determines whether the segmentation is a BT segmentation or a TT segmentation and segments the block accordingly.

[0198] Figure 53 as well as Figure 54 This diagram illustrates another example of the segmentation of coding nodes (CNs, blocks) in the image decoding apparatus 31. In this embodiment, the image decoding apparatus 31, as an example, segments the coding tree units or CNs using Multi Nine Tree (MNT) segmentation, Multi Five Tree (MFT) segmentation, Directional Quad Tree (DQT) segmentation, Directional Five Tree (DFT) segmentation, or Directional Asymmetric Quad Tree (DAQT) segmentation, thereby dividing them into coding units (CUs) which serve as the basic units of coding processing.

[0199] Figure 53 (a) indicates the MNT segmentation of the block. Furthermore, Figure 53 (b) represents an example of MFT segmentation of a block. Figure 53 (c) represents another example of MFT segmentation of a block. Furthermore, Figure 53 (d) represents an example of DQT partitioning of a block. Figure 53 (e) represents another example of DQT partitioning of a block. Furthermore, Figure 53 (f) represents an example of DFT segmentation of a block. Figure 53 (g) represents another example of DFT segmentation of a block.

[0200] Figure 54 (a) represents the first example of DAQT partitioning of a block. Figure 54 (b) represents the second example of DAQT partitioning of a block. Figure 54 (c) represents the third example of DAQT partitioning of the block. Figure 54 (d) represents the fourth example of DAQT partitioning of the block.

[0201] (MT segmentation mode group and PT segmentation mode group)

[0202] In this embodiment, the various segmentation modes described above are classified into the MT segmentation mode group (MT segmentation) and the PT segmentation mode group (PT segmentation).

[0203] Here, MT segmentation includes at least QT segmentation, and PT segmentation includes at least BT segmentation.

[0204] In this embodiment, partitions with 4 or more partitions are classified as MT partitions, and partitions with 3 or fewer partitions are classified as PT partitions.

[0205] More specifically, in this embodiment, MT segmentation includes at least one of MNT segmentation, MFT segmentation, DQT segmentation, DFT segmentation, and DAQT segmentation, in addition to QT segmentation, and PT segmentation includes BT segmentation. Furthermore, PT segmentation may also include TT segmentation.

[0206] That is, in this embodiment, the structure is as follows: there are two or more partitions with four or more partitions, and one of the partitions with four or more partitions is a QT partition.

[0207] In other words, one aspect of the image decoding apparatus according to the present invention, in an image decoding apparatus that decodes an image per coding tree unit, includes a segmentation unit that segments the coding nodes of the coding tree unit. This segmentation unit, as a segmentation method for dividing an object node into four or more nodes, includes (when the object node is a square) a segmentation mode of dividing into square nodes and a segmentation mode of dividing into nodes including rectangular nodes. Furthermore, the segmentation unit divides the object node into four or more nodes including rectangular nodes.

[0208] Furthermore, the term "nodes divided into squares" refers to nodes whose direct parent node is a square, meaning nodes that are divided into only squares. For example, QT partitioning falls into this category. Additionally, since squares are non-directional, QT partitioning is sometimes referred to as a non-directional partition. The term "nodes divided into rectangles" refers to nodes whose direct parent node is a square, meaning nodes that are divided into rectangles. The partitioned nodes can contain either rectangular or square nodes. Examples include MNT partitioning, MFT partitioning, DQT partitioning, DFT partitioning, and DAQT partitioning. Furthermore, since the long sides of rectangles are all equal in direction, DQT partitioning, DFT partitioning, and DAQT partitioning are called directional partitions.

[0209] The image decoding device 31 determines which segmentation mode should be applied to the CN of the segmentation object by decoding the MT information representing MT segmentation and the PT information representing PT segmentation.

[0210] (Example of redundant partitioning)

[0211] As in this embodiment, in a structure capable of TT segmentation, the segmentation pattern of the block obtained by combining segments increases. Consequently, the time required in the image encoding apparatus 11 to determine the segmentation pattern of the block increases. For example, multiple segmentation processes may be performed to obtain the same segmentation pattern. Figure 9 This represents an example where the same segmentation pattern is obtained through different segmentation processes (an example of redundant segmentation). For example... Figure 9 As shown, the segmentation pattern obtained by dividing a block (e.g., CTU) into TT segments in the horizontal direction and then dividing the central block obtained by the TT segments into BT segments in the horizontal direction, and the segmentation pattern obtained by dividing a block into BT segments in the horizontal direction and then dividing the two blocks obtained by the BT segments into BT segments in the horizontal direction, are the same segmentation pattern.

[0212] The image encoding apparatus 11 and image decoding apparatus 31 of this embodiment restrict redundant segmentation of blocks. According to the above structure, the image encoding apparatus 11 does not need to evaluate the same segmentation pattern multiple times. Furthermore, since redundant segmentation is prohibited, there is no need for encoded data such as tags involved in the segmentation. Therefore, the encoding efficiency of the image encoding apparatus 11 is improved.

[0213] (Structure of an image decoding device)

[0214] exist Figure 10 The diagram shows a block diagram illustrating the structure of the image decoding apparatus 31 according to this embodiment. For simplicity, details are omitted in this diagram. Figure 10 The block diagram shown includes an illustration of a portion of the components. Furthermore, for clarity, regarding those having... Figure 5 Components that have the same function as those shown are marked with the same symbol and their descriptions are omitted.

[0215] like Figure 10 As shown, the image decoding device 31 includes a decoding module 9, a CN information decoding unit 10 (segmentation information decoding unit, segmentation unit), a prediction image generation unit 308, an inverse quantization / inverse DCT unit 311, a reference image memory 306, an addition unit 312, a loop filter 305, a header decoding unit 19, and a CU decoding unit 20. The CU decoding unit 20 also includes a PU information decoding unit 12 and a TT (Transform Tree) information decoding unit 13, and the TT information decoding unit 13 also includes a TU decoding unit 22.

[0216] (Decoding module)

[0217] The following is a brief description of the general operation of each module. Decoding module 9 performs decoding processing on the binary data to decode the syntax values. More specifically, decoding module 9 decodes the syntax values ​​encoded by entropy encoding methods such as CABAC based on the encoded data supplied from the supply source and the syntax category, and returns the decoded syntax values ​​to the supply source.

[0218] In the example shown below, the source of the encoded data and the syntax category is the CN information decoding unit 10, the CU decoding unit 20 (PU information decoding unit 12 and TT information decoding unit 13).

[0219] (Header Decoding Department)

[0220] The header decoding unit 19 decodes the VPS (video parameterset), SPS, PPS, and slice header of the encoded data input from the image encoding device 11.

[0221] (CN Information Decoding Department)

[0222] The CN information decoding unit 10 uses the decoding module 9 to perform decoding processing on the encoded data input from the image encoding device 11, including the encoding tree units (each encoding tree unit) and encoding nodes. Specifically, the CN information decoding unit 10 decodes the CTU information and CN information based on the encoded data through the following process.

[0223] First, the CN information decoding unit 10 decodes the tree unit header CTUH using the decoding module 9 based on the CTU information contained in the CTU. Second, the CN information decoding unit 10 decodes the following flags based on the CN information contained in the CN: a QT segmentation flag indicating whether the object CN will be QT segmented; a PT segmentation flag indicating whether the object CN will be BT or TT segmented; a segmentation direction flag indicating the segmentation direction of BT or TT segmentation; and a segmentation mode selection flag indicating the segmentation method (BT or TT segmentation) of PT segmentation. The unit recursively segments and decodes the object CN until the QT and PT segmentation flags no longer indicate further segmentation. Alternatively, instead of the QT segmentation flags, the unit decodes the MT segmentation flag indicating whether the object CN will be MT segmented; the PT segmentation flag indicating whether the object CN will be PT segmented; and the segmentation direction flag indicating the segmentation direction of MT or PT segmentation. The unit recursively segments and decodes the object CN until the MT and PT segmentation flags no longer indicate further segmentation. Finally, the tree unit tail CTUF is decoded based on the CTU information.

[0224] The tree unit header (CTUH) and tree unit tail (CTUF) contain encoding parameters referenced by the image decoding device 31 to determine the decoding method for the object encoding tree unit. Furthermore, the CN information may include, in addition to the QT segmentation marker, PT segmentation marker, segmentation direction marker, and segmentation mode selection marker indicating the segmentation method (BT segmentation or TT segmentation) for PT segmentation and the MT segmentation mode selection marker indicating the segmentation method for MT segmentation, parameters applied at the object CN and its subordinate or superior encoding nodes.

[0225] (CU Decoding Department)

[0226] The CU decoding unit 20 consists of a PU information decoding unit 12 and a TT information decoding unit 13, and decodes the PUI information and TTI information of the lowest level encoding node CN (i.e., CU).

[0227] (PU Information Decoding Department)

[0228] In the PU information decoding unit 12, the decoding module 9 decodes the PU information of each PU (merge flag, merge index, predicted motion vector index, reference image index, inter-frame prediction identifier, and differential vector, etc.).

[0229] (TT Information Decoding Department)

[0230] The TT information decoding unit 13 uses the decoding module 9 to decode each TTI (TU segmentation flag SP_TU (split_transform_flag), CU residual flag CBP_TU (cbf_cb, cbf_cr, cbf_luma), etc., as well as TU).

[0231] Furthermore, the TT information decoding unit 13 includes a TU decoding unit 22. The TU decoding unit 22 decodes the QP update information (quantization correction value) when the TU contains a residual. The QP update information is a value representing the difference between the predicted value of the quantization parameter QP and the predicted value of the quantization parameter qPpred. Additionally, the TU decoding unit 22 decodes the quantization prediction residual (residual_coding).

[0232] (QT message decoding processing)

[0233] Regarding the operation of CN information decoding based on CN information decoding unit 10, please refer to... Figure 11 as well as Figure 12 To illustrate. Figure 11This is a flowchart illustrating the QT information decoding process of the CN information decoding unit 10 according to one embodiment of the present invention. Furthermore, Figure 12 This is a diagram illustrating an example of the structure of a syntax table for QT information according to an embodiment of the present invention.

[0234] In the CN information decoding S1400 based on the CN information decoding unit 10, QT information decoding and BT information or TT information (BT / TT information) decoding are performed. The QT information decoding based on the CN information decoding unit 10 will be described below.

[0235] First, the CN information decoding unit 10 decodes the CN information based on the encoded data, recursively decoding the coding nodes (CN). Specifically, the CN information decoding unit 10 decodes the QT information, decoding the object coding tree coding_quadtree(x0, y0, log2CbSize, cqtDepth). Here, x0 and y0 are the top-left coordinates of the object coding node, and log2CbSize is the logarithm of the size of the coding node (i.e., the logarithmic CN size, base 2 of the CN size) (e.g., 6, 7, 8 if the CN size is 64, 128, 256). The logarithm of size X, base 2, is called the "logarithmic X size". cqtDepth represents the CN level (QT depth) of the coding node.

[0236] (S1411) The CN information decoding unit 10 determines whether there is a QT segmentation mark in the decoded CN information. Specifically, the CN information decoding unit 10 determines whether the logarithmic CN size log2CbSize is greater than the logarithm of the given minimum CN size MinCbLog2SizeY. If the logarithmic CN size log2CbSize is greater than MinCbLog2SizeY, it is determined that there is a QT segmentation mark, and the process proceeds to S1421. Otherwise, the process proceeds to S1422.

[0237] (S1421) When the CN information decoding unit 10 determines that the logarithmic CN size log2CbSize is greater than MinCbLog2SizeY, it decodes the QT split flag (split_cu_flag) as a syntax element.

[0238] (S1422) In other cases (log CN size log2CbSize is less than or equal to MinCbLog2SizeY), that is, when the QT split flag split_cu_flag does not appear in the encoded data, the CN information decoding unit 10 omits the decoding of the QT split flag split_cu_flag from the encoded data and derives the QT split flag split_cu_flag as 0.

[0239] (S1431) When the QT split flag split_cu_flag is not 0 (= 1), the CN information decoding unit 10 performs (S1441) as described later, moves to the next level (S1411), and repeats the subsequent processing. In other cases (when the QT split flag split_cu_flag is 0), it moves to BT / TT information decoding processing.

[0240] (S1441) The CN information decoding unit 10 performs QT segmentation. Specifically, the CN information decoding unit 10 decodes four encoded nodes CN of logarithmic CN size log2CbSize-1 at positions (x0, y0), (x1, y0), (x0, y1), and (x1, y1) at position cqtDepth+1 of the CN level.

[0241] coding_quadtree(x0, y0, log2CbSize-1, cqtDepth+1)

[0242] coding_quadtree(x1, y0, log2CbSize-1, cqtDepth+1)

[0243] coding_quadtree(x0, y1, log2CbSize-1, cqtDepth+1)

[0244] coding_quadtree(x1, y1, log2CbSize-1, cqtDepth+1)

[0245] Here, x0 and y0 are the top-left coordinates of the object encoding node, and x1 and y1 are derived by adding 1 / 2 of the CN size (1 << log2CbSize) to (x0, y0) as shown in the following formula.

[0246] x1=x0+(1<<(1og2CbSize-1))

[0247] y1=y0+(1<<(log2CbSize-1))

[0248] Additionally, << indicates a left shift. 1 << N is the same as 2 raised to the power of N (and so on). Similarly, >> indicates a right shift.

[0249] Furthermore, the CN information decoding unit 10 increments the CN layer cqtDepth, which represents the layer of the coding node, by 1, and decrements the logarithm of the coding unit size, i.e., the logarithmic CN size log2CbSize, by 1 (making the CN size 1 / 2) to update the information.

[0250] cqtDepth = cqtDepth + 1

[0251] log2CbSize = log2CbSize - 1

[0252] In the lower-level encoding nodes, the CN information decoding unit 10 also continues to decode QT information starting from S1411 using the updated upper left coordinates, logarithmic CN size, and CN hierarchy.

[0253] (Example of a restricted segmented pattern)

[0254] Here, regarding an example of the CN segmentation pattern limited by the CN information decoding unit 10 according to this embodiment, using... Figures 13-15 Let me explain.

[0255] The CN information decoding unit 10 restricts the segmentation method of the object node by referring to the segmentation method of the node one level above the object node, i.e., the direct superior node.

[0256] Furthermore, in the following description, the block (CN) that will be segmented will be referred to as the segmentation target block or the target block, and the direct parent block of the segmentation target block will be referred to as the parent block. In addition, in the following description, an example is shown in which the segmentation pattern of the block that will be segmented is restricted by the parent block, but the CN information decoding unit 10 may also restrict the segmentation pattern of the direct subordinate block by referring to the segmentation target block. Figures 13-15 This represents an example of a segmentation pattern limited by the CN information decoding unit 10. Additionally, Figures 13-15 The solid lines in the diagram represent the boundaries of coding nodes (blocks) created by splitting higher-level coding nodes or coding tree units (higher-level blocks). Furthermore, the ○ symbol indicates that a dotted line representing a segmentation is permissible within the segmentation target block. Additionally, the × symbol indicates that a dotted line representing a segmentation is restricted (prohibited) within the segmentation target block.

[0257] (Restricted segmentation pattern: A-a1)

[0258] exist Figure 13 In the examples shown in (a) and (b), the CN information decoding unit 10 restricts (prohibits) the central segmentation target block generated by dividing the upper-level block into BT segments in the same direction as the segmentation direction of the upper-level block.

[0259] In other words, when the object block is the middle block among the three blocks obtained by splitting the ternary tree of the parent block, the CN information decoding unit 10 restricts the object block binary tree to be split in the same direction as the splitting of the ternary tree of the parent block.

[0260] (Restricted segmentation pattern: A-a2)

[0261] In addition, Figure 13 In the examples shown in (c) and (d), the CN information decoding unit 10 restricts (prohibits) BT segmentation of both blocks generated by BT segmentation of the upper-level block in the same direction as the segmentation direction of the upper-level block. In other words, it limits BT segmentation to one of the blocks generated by segmentation of the upper-level block, which can be performed in the same direction as the segmentation direction of the upper-level block.

[0262] The above restrictions do not apply at the processing time of the earlier processed blocks. Therefore, at the processing time of the later processed blocks, the CN information decoding unit 10 determines whether the segmentation of the later processed blocks is restricted by referring to the segmentation direction of the earlier processed blocks.

[0263] Regarding the aforementioned limitations, they can also be expressed as follows: When the object block is one of two blocks obtained by splitting the binary tree of the parent object block, and the other of the two blocks is split by the binary tree in the same direction as the split of the binary tree of the parent block, the CN information decoding unit 10 is restricted to splitting the object block binary tree in the same direction as the split of the binary tree of the parent block.

[0264] (Restricted segmentation pattern: A-a2')

[0265] In addition, Figure 13 In the examples shown in (e) and (f), the CN information decoding unit 10 restricts (prohibits) BT-splitting any one of the blocks generated by BT-splitting the parent block in the same direction as the splitting direction of the parent block. The block subject to the splitting restriction may, for example, be the block that is split later among the two blocks generated by the splitting of the parent block, but there is no particular limitation.

[0266] In other words, when the object block is one of two blocks obtained by splitting the binary tree of the parent block, the CN information decoding unit 10 restricts the object block binary tree to be split in the same direction as the binary tree split of the parent block.

[0267] (Restricted segmentation pattern: A-b1)

[0268] In addition, Figure 14 In the examples shown in (a) and (b), the CN information decoding unit 10 restricts (prohibits) BT segmentation of all blocks generated by TT segmentation of the parent block in a direction different from that of the parent block. In other words, regarding two of the three blocks generated by segmentation of the parent block, BT segmentation can be performed in a direction different from the segmentation direction of the parent block. In this example, at the time point of segmentation processing of the block generated by segmentation of the last segmented parent block, the segmentation direction of the block generated by segmentation of other parent blocks is referenced to determine whether the segmentation of the last segmented block is restricted.

[0269] This limitation can also be expressed as follows: When the object block is one of three blocks obtained by splitting the ternary tree of the parent block, and the other two blocks of the three blocks are split into binary trees in a direction different from the splitting of the ternary tree of the parent block, the CN information decoding unit 10 is restricted to splitting the object block binary tree in a direction different from the splitting of the ternary tree of the parent block.

[0270] (Restricted segmentation pattern: A-b1')

[0271] In addition, Figure 14 In the examples shown in (c) and (d), the CN information decoding unit 10 restricts (prohibits) any block of the block generated by splitting the upper-level block by TT in a direction different from the splitting direction of the upper-level block. The block subject to the splitting restriction may be, for example, the last block to be split among the blocks generated by splitting the upper-level block, but there is no particular limitation.

[0272] In other words, when the object block is one of three blocks obtained by splitting the ternary tree of the parent block, the CN information decoding unit 10 restricts the object block binary tree to be split in a direction different from the splitting of the ternary tree of the parent block.

[0273] In addition, Figure 14 In the examples shown in (e) and (f), the CN information decoding unit 10 restricts (prohibits) TT segmentation of both blocks generated by BT segmentation of the upper-level block in a direction different from the segmentation direction of the upper-level block. In other words, it is limited to a block generated by segmentation of the upper-level block, which can be TT segmented in a direction different from the segmentation direction of the upper-level block.

[0274] This limitation can also be manifested as follows. When the object block is one of two blocks obtained by splitting the binary tree of the parent block, and the other of the two blocks is split into a ternary tree in a direction different from the binary tree split of the parent block, the CN information decoding unit 10 is restricted to splitting the object block into a ternary tree in a direction different from the binary tree split of the parent block.

[0275] (Restricted segmentation pattern: A-b2')

[0276] In addition, Figure 14 In the examples shown in (g) and (h), the CN information decoding unit 10 restricts (prohibits) splitting either of the blocks generated by splitting the upper-level block by BT in a direction different from the splitting direction of the upper-level block by TT. The block subject to the splitting restriction can be, for example, the later-splitting block among the two blocks generated by splitting the upper-level block, but there is no particular limitation.

[0277] In other words, when the object block is one of two blocks obtained by splitting the binary tree of the parent block, the CN information decoding unit 10 restricts the object block ternary tree to be split in a direction different from the splitting of the binary tree of the parent block.

[0278] (Restricted segmentation pattern: Ac)

[0279] In addition, Figure 15 In the examples shown in (a) and (b), the CN information decoding unit 10 restricts (prohibits) TT segmentation of all blocks generated by TT segmentation of the parent block in a direction different from the segmentation direction of the parent block. In other words, regarding two of the three blocks generated by segmentation of the parent block, TT segmentation can be performed in a direction different from the segmentation direction of the parent block.

[0280] Furthermore, in this example, if the horizontal and vertical TT divisions of the block generated by the division of the superior block are restricted (prohibited), a 9-segmented division pattern will not be created. Therefore, the CN information decoding unit 10 can also restrict (prohibit) the division only in either the horizontal or vertical direction.

[0281] This limitation can also be manifested as follows. When the object block is one of three blocks obtained by splitting the ternary tree of the parent block, and the other two blocks of the three blocks are split by the ternary tree in a direction different from the splitting of the ternary tree of the parent block, the CN information decoding unit 10 is restricted to splitting the object block ternary tree in a direction different from the splitting of the ternary tree of the parent block.

[0282] (Restricted segmentation pattern: A-c')

[0283] In addition, Figure 15 In the examples shown in (c) and (d), the CN information decoding unit 10 restricts (prohibits) splitting any block generated by splitting the parent block by TT in a direction different from the splitting direction of the parent block. The block subject to the splitting restriction may be, for example, the last block to be split among the blocks generated by splitting the parent block, but there is no particular limitation.

[0284] In other words, when the object block is one of the three blocks obtained by splitting the ternary tree of the parent block, the CN information decoding unit 10 restricts the object block ternary tree to be split in a direction different from the ternary tree splitting of the parent block.

[0285] (An overview of the BT / TT message decoding process)

[0286] Next, for an overview of the BT / TT information decoding process based on the CN information decoding unit 10, please refer to... Figure 16 Let me explain. Figure 16 This is a flowchart outlining an example of the BT / TT information decoding process of the CN information decoding unit 10.

[0287] In S1431 above, when the QT splitting flag split_cu_flag is 0, the CN information decoding unit 10 determines whether the object block can be PT-split based on the object block size, etc., and determines whether decoding the PT splitting flag is necessary (S1501: PT splitting flag determination). If decoding the PT splitting flag is "necessary" (yes in S1501), the CN information decoding unit 10 decodes the PT splitting flag (S1502). Next, the CN information decoding unit 10 determines whether the decoded PT splitting flag is 0 (S1503). If the PT splitting flag is 0 (no in S1503), the process ends. If the PT splitting flag is not 0 (yes in S1503), the CN information decoding unit 10 determines whether the splitting direction is uniquely determined by restrictions on block splitting that set the splitting direction of the object block, and determines whether decoding the splitting direction flag is necessary (S1504: splitting direction flag determination). If the decoding of the segmentation direction marker indicates "needed" (e.g., the segmentation direction is not uniquely determined) (as in S1504), the CN information decoding unit 10 decodes the segmentation direction marker (S1505), determines the segmentation direction, and proceeds to S1506. If the decoding of the segmentation direction marker indicates "not needed" (e.g., the segmentation direction is uniquely determined) (as in S1504), the CN information decoding unit 10 does not decode the segmentation direction marker and proceeds to S1506. In S1506, the CN information decoding unit 10 determines whether the segmentation mode is uniquely determined due to restrictions on the segmentation of blocks with set segmentation modes (TT segmentation, BT segmentation), and performs a determination on whether the decoding of the segmentation mode selection marker is needed (S1506: Segmentation mode selection marker determination). If the decoding of the segmentation mode selection marker indicates "needed" (e.g., the segmentation mode is not uniquely determined) (as in S1506), the CN information decoding unit 10 decodes the segmentation mode selection marker (S1507), determines the segmentation mode, and proceeds to S1508. If the segmentation mode selection flag is decoded as "not needed" (e.g., when the segmentation mode is uniquely determined) (No in S1506), the CN information decoding unit 10 does not decode the segmentation mode selection flag, and processing continues to S1508. Next, in S1508, the CN information decoding unit 10 segments the segmentation target block according to the determined direction and the determined segmentation mode (S1508). Next, the block generated by this segmentation is subjected to a loop process that repeatedly performs BT / TT information decoding processing (S1509, S1510, S1511). If this loop process ends, the processing ends.

[0288] (Detailed processing of BT / TT message decoding)

[0289] Next, we will discuss the details of each process involved in BT / TT message decoding. Figures 17-39 Let me explain.

[0290] (PT segmentation tag determination, PT segmentation tag decoding, and determination of whether segmentation based on PT segmentation tags is necessary)

[0291] First, using Figure 17 This will explain the details of the PT segmentation marker determination process. Figure 17 (a) is a diagram showing an example of pseudocode representing the PT segmentation tag determination process, and (b) is a diagram showing an example of pseudocode representing the PT segmentation tag decoding process. Figure 17 As shown in (a), if the data can be split using either BT or TT splitting, the CN information decoding unit 10 determines that PT splitting is possible and sets the decoding of the PT splitting flag split_pt_flag to "TRUE". Next, as... Figure 17 As shown in (b), the CN information decoding unit 10 decodes the PT splitting flag split_pt_flag and determines whether PT splitting is necessary based on the split_pt_flag. Furthermore, if splitting is not possible in either BT or TT splitting, the CN information decoding unit 10 determines the decoding of the PT splitting flag split_pt_flag as "not necessary" (FALSE). Details regarding the possible determinations for BT splitting and TT splitting will be described later. Additionally, the BTAvailable and TTAvailable values ​​set in this process can also be called by other subroutines in the BT / TT splitting information decoding process, which can be referred to.

[0292] (BT segmentation may be determined)

[0293] Secondly, regarding Figure 17 (a) BT segmentation may determine the detail of the processing, utilizing Figure 18 Let me explain. Figure 18 Figure (a) is an example of pseudocode representing the possible decision-making process for BT segmentation in the case where the segmentation pattern described above is not present. Figure 18 As shown in (a), the CN information decoding unit 10 derives minPTSize (unit size), which represents the minimum value of the CU's size. The CN information decoding unit 10 uses the following conditions 1 to 3 to determine the possibility of BT segmentation.

[0294] Condition 1: The height of the block to be segmented is greater than or equal to minPTSize×2, or the width of the block to be segmented is greater than or equal to minPTSize×2 (height>=minPTSize*2||width>=minPTSize*2).

[0295] Condition 2: The width and height of the segmented object block are below the maximum value of the size representing the CU, which is maxPTSize (width <= maxPTSize && height <= maxPTSize).

[0296] Condition 3: The `cptDepth` of the hierarchical division of the object blocks is less than `maxPTDepth` (`cptDepth < maxPTDepth`). Alternatively, the `Depth` value in each block can be set based on the block's area ratio as `d = log2((maxPTSize^2) / (width*height))`. Or, as another method, the `Depth` value of the parent block can be incremented by 1.

[0297] If all of the conditions 1 to 3 above are met, the CN information decoding unit 10 determines that BT segmentation is possible (TRUE). Conversely, if none of the conditions 1 to 3 above are met, the CN information decoding unit 10 determines that BT segmentation is not possible (FALSE).

[0298] Secondly, the possible determination and processing of BT segmentation in the case of the aforementioned restricted segmentation pattern will be explained. Figure 18 (b) is a diagram illustrating an example of pseudocode representing the possible decision-making process for BT segmentation in the case of the aforementioned restricted segmentation pattern. Figure 18 As shown in (b), when a restricted segmentation pattern is present, and the additional BT segmentation possibility determination condition is met in addition to the conditions 1 to 3 described above, the CN information decoding unit 10 determines that BT segmentation is possible (TRUE). The additional BT segmentation possibility determination condition varies depending on the restricted segmentation pattern. Details regarding the additional BT segmentation possibility determination condition will be described later.

[0299] (TT splitting may be determined)

[0300] Below is a detailed explanation of the possible decision-making process for TT segmentation, utilizing... Figure 19 Let me explain. Figure 19 Figure (a) is an example of pseudocode representing the TT segmentation probable determination process in the case where the restricted segmentation pattern described above is not present. The CN information decoding unit 10 derives minPTSize (unit size), which represents the minimum value of the CU's size. The CN information decoding unit 10 performs the TT segmentation probable determination using the following conditions 1 to 3.

[0301] Condition 1: TT splitting divides the edges of the segmented object block into a 1:2:1 ratio. Therefore, the height of the segmented object block must be at least minPTSize×4, or the width of the segmented object block must be at least minPTSize×4 (height>=minPTSize*4||width>=minPTSize*4).

[0302] Condition 2: The width and height of the block that becomes the object of the segmentation are below the maximum value of the size representing the CU, which is maxPTSize (width <= maxPTSize && height <= maxPTSize).

[0303] Condition 3: The cptDepth of the hierarchy of the block that becomes the object of the segmentation is less than maxPTDepth (cptDepth < maxPTDepth).

[0304] If all of the conditions 1 to 3 above are met, the CN information decoding unit 10 determines that TT segmentation is possible (TRUE). Conversely, if none of the conditions 1 to 3 above are met, the CN information decoding unit 10 determines that TT segmentation is not possible (FALSE).

[0305] Secondly, the possible determination process for TT segmentation in the case of the aforementioned restricted segmentation pattern will be explained. Figure 19 (b) is a diagram illustrating an example of pseudocode representing the possible decision-making process for TT segmentation in the case of the aforementioned restricted segmentation pattern. Figure 19 As shown in (b), when a restricted segmentation pattern is present, and the additional conditions for TT segmentation possibility determination are met in addition to the conditions 1 to 3 described above, the CN information decoding unit 10 determines that TT segmentation is possible (TRUE). The additional conditions for TT segmentation possibility determination vary depending on the restricted segmentation pattern. Details regarding the additional conditions for TT segmentation possibility determination will be described later.

[0306] Alternatively, the CN information decoding unit 10 can also use twice the value of the minimum size (=minPTSize*2) used to determine whether BT segmentation is possible as minPTSize*4 to determine whether TT segmentation is possible.

[0307] In other words, the CN information decoding unit 10 determines whether the object block can be divided into a ternary tree by referring to a size twice the minimum size used to determine whether the object block can be divided into a binary tree.

[0308] Based on the above structure, when the block generated by TT segmentation becomes an unpredictable or unchangeable size, i.e., when TT segmentation cannot be used, the amount of code for PT segmentation markers and segmentation mode selection markers can be reduced. Therefore, coding efficiency is improved. Furthermore, in the TT segmentation decision, by using twice the size of the value used in the BT segmentation decision, the minimum size of the segmented block can be made the same in both BT and TT segmentations. Therefore, processing can be shared between BT and TT segmentations.

[0309] (Example 1 of the export methods of cptDepth)

[0310] Furthermore, as described above, the CN information decoding unit 10 uses a common depth variable `cptDepth` (a temporary variable) to restrict the hierarchical structure of blocks that can be segmented by determining whether BT (BT) segmentation is possible and whether TT (TT) segmentation is possible. That is, in determining whether PT (BT or TT) segmentation is possible, the CN information decoding unit 10 uses whether the common depth is less than the threshold `maxPTDepth`.

[0311] In other words, the CN information decoding unit 10 restricts the segmentation of object blocks by referring to the common depth variable in binary tree segmentation and ternary tree segmentation. Based on the above structure, by restricting the hierarchy of blocks that can be segmented, the combination of BT segmentation and TT segmentation can be reduced. Therefore, the complexity of encoding and decoding can be reduced. That is, the problem of encoding and decoding becoming complex due to numerous combinations of BT segmentation and TT segmentation can be solved. cptDepth can also be derived from the sum of the segmentation depth btDepth of BT segmentation and the segmentation depth ttDepth of TT segmentation. That is, it becomes...

[0312] cptDepth = btDepth + ttDepth.

[0313] As a derivative of cptDepth, for example, the initial value of cptDepth can be set to 0. When splitting a block into BT or TT blocks, the cptDepth value of the block generated by the splitting of the parent block is set to {the cptDepth value of the parent block} + 1. Moreover, the CU information decoding processing of the next level block can be continued recursively.

[0314] When deriving the BT partitioning depth `btDepth` and the TT partitioning depth `ttDepth`, the initial value of `btDepth` can also be set to 0. When performing BT partitioning on a block, the `btDepth` value of the block generated from the partitioning of the parent block is set to `{parent block's `btDepth` value} + 1`. Alternatively, the initial value of `ttDepth` can also be set to 0, and when performing TT partitioning on a block, the `ttDepth` value of the block generated from the partitioning of the parent block is set to `{parent block's `btDepth` value} + 1`.

[0315] (Example 2 of the export method of cptDepth)

[0316] Other methods for deriving `cptDepth` are explained. For example, the initial value of `cptDepth` is set to 0. When a block is partitioned using the BT method, the `cptDepth` value of the resulting block is set to `cptDepth + 1`. Furthermore, when a block is partitioned using the TT method, if the resulting block is the central portion of the TT partition, then (partIdx == 1), the `cptDepth` value is set to `{cptDepth value of the parent block} + 1`. Alternatively, when a block is partitioned using the TT method, if the resulting block is outside the central portion of the TT partition, then (partIdx == 0 or partIdx == 2), the `cptDepth` value is set to `{cptDepth value of the parent block} + 2`. Moreover, the CU information decoding process for the next level of blocks can be recursively continued.

[0317] When deriving the BT partitioning depth `btDepth` and the TT partitioning depth `ttDepth`, the initial value of `btDepth` can also be set to 0. When performing BT partitioning on a block, the `btDepth` value of the block generated by the partitioning of the parent block is set to `{parent block's `btDepth` value} + 1`. Furthermore, if the initial value of `ttDepth` is set to 0, and the block generated by TT partitioning is the central part of the TT partition, then (partIdx == 1), and the value of `ttDepth` is set to `{parent block's `ttdDepth` value} + 1`. Alternatively, if the block generated by TT partitioning is outside the central part of the TT partition, then (partIdx == 0 or partIdx == 2), and the value of `ttDepth` is set to `{parent block's `ttDepth` value} + 2`.

[0318] (BT / TT splitting may be determined by (additional conditions A-a1))

[0319] Secondly, regarding the Figure 13The additional conditions for determining the possible BT segmentation of the restricted segmentation pattern shown in (a) and (b) (A-a1: CN information decoding unit 10 restricts (prohibits) BT segmentation in the same direction as the segmentation direction of the upper-level block by performing TT segmentation on the central block generated by the upper-level block) are utilized. Figure 20 Let me explain.

[0320] Figures 20-25 This is a diagram illustrating examples of additional conditions that might be required to determine BT / TT splitting. For example... Figure 20 As shown, if the splitting mode of the parent block is not TT splitting, or the splitting target block is not a TT splitting middle block (parentSplitMode != MODE_TT || partIdx != 1), the CN information decoding unit 10 determines that BT splitting is possible (TRUE). For example, it can also be set to MODE_TT = 1 and MODE_BT = 0.

[0321] Furthermore, if the splitting direction of the parent block is horizontal and the width of the splitting object block is less than minPTSize×2 (parentSplitDir==0&&width<minPTSize*2), or if the splitting direction of the parent block is vertical and the height of the splitting object block is less than minPTSize×2 (parentSplitDir==1&&height<minPTSize*2), the CN information decoding unit 10 determines that BT splitting is not possible (FALSE).

[0322] Furthermore, in the restricted segmentation pattern (A-a1), the subroutine for adding conditions to the TT segmentation possibility determination is not required. Therefore, the CN information decoding unit 10 can also be configured such that it does not call the TT segmentation possibility determination additional conditions, or always returns TRUE for the TT segmentation possibility determination additional conditions.

[0323] (BT / TT splitting may be determined by (additional conditions A-a2))

[0324] Secondly, regarding the Figure 13 The additional conditions for determining the BT segmentation of the restricted segmentation pattern shown in (c) and (f) (A-a2: CN information decoding unit 10 restricts (prohibits) BT segmentation in the same direction as the segmentation direction of the upper-level block, which is the block generated by BT segmentation of the upper-level block (prohibits BT segmentation in the same direction as the segmentation direction of the upper-level block in the last processed block of BT segmentation) are used. Figure 21 Let me explain.

[0325] like Figure 21As shown, if the splitting mode of the parent block is not BT splitting, or the partIdx of the object block is not 1 (parentSplitMode != MODE_BT || partIdx != 1), the CN information decoding unit 10 determines that BT splitting is possible (TRUE).

[0326] Furthermore, when the segmentation mode of the segmented object block is BT segmentation and the partIdx of the segmented object block is 1 (MODE_BT&&partIdx==1), it is as follows.

[0327] When the splitting direction of the parent block is horizontal (parentSplitDir == 0), the CN information decoding unit 10 derives siblingHorBTCount, which represents the number of times horizontal BT splitting is used in blocks generated from the same parent block. If other blocks generated from the parent block are split horizontally using BT splitting, and the width of the target block is less than minPTSize × 2 (siblingHorBTCount == 1 && width < minPTSize * 2), the CN information decoding unit 10 determines that the target block cannot be BT split (FALSE).

[0328] Furthermore, when the splitting direction of the parent block is vertical (parentSplitDir == 1), the CN information decoding unit 10 derives siblingVerBTCount, which indicates the number of times vertical BT splitting was used in blocks split from the same parent block. If other blocks split from the parent block are vertically split using BT, and the height of the target block is less than minPTSize × 2 (siblingVerBTCount == 1 && height < minPTSize * 2), the CN information decoding unit 10 determines that the target block cannot be BT split (FALSE).

[0329] If the CN information decoding unit 10 determines that the segmented object block can be BT segmented (TRUE) if it does not meet the aforementioned conditions for not being able to be BT segmented. Furthermore, in the restricted segmentation pattern (A-a2), there is no need for a subroutine to add conditions () to determine if TT segmentation is possible.

[0330] Furthermore, the additional conditions for determining BT segmentation in the restricted segmentation pattern (A-a2': CN information decoding unit 10 restricts (prohibits) BT segmentation in the same direction as the segmentation direction of the parent block, which is any block generated by BT segmentation of the parent block) are implemented by changing a part of the additional conditions for determining BT segmentation in the restricted segmentation pattern (A-a2). Specifically, CN information decoding unit 10 does not derive siblingHorBTCount / siblingVerBTCount. Furthermore, CN information decoding unit 10 does not perform a determination regarding the conditions using siblingHorBTCount / siblingVerBTCount (set to TRUE). In addition, when the block with restricted segmentation is set to be the last block to be segmented, this can be achieved by changing the value of partIdx in the additional conditions to represent the value of the block that is the object of restriction.

[0331] (BT / TT splitting may be determined by (additional condition A-b1))

[0332] Secondly, regarding the Figure 14 The additional conditions for determining the possible BT segmentation of the restricted segmentation pattern shown in (a) to (d) (A-b1: CN information decoding unit 10 restricts (prohibits) BT segmentation in a direction different from the parent block by performing TT segmentation on all blocks generated by the parent block), using Figure 22 To explain further. In this limitation, the CN information decoding unit 10 limits the last segmented block among the blocks generated by TT segmentation.

[0333] like Figure 22 As shown, if the splitting mode of the parent block is not TT splitting, or the partIdx of the object block is not 2 (parentSplitMode != MODE_TT || partIdx != 2), the CN information decoding unit 10 determines that BT splitting is possible (TRUE).

[0334] Furthermore, when the parent block's segmentation mode is TT segmentation and the partIdx of the segmented object block is 2 (MODE_TT&&partIdx==2), the following applies.

[0335] When the splitting direction of the parent block is horizontal (parentSplitDir == 0), the CN information decoding unit 10 derives siblingVerBTCount. If the other two blocks generated from the splitting of the parent block are split in the vertical direction (i.e., vertical BT splitting is restricted and cannot be performed), and horizontal BT splitting is also not possible because the height of the target block is less than minPTSize × 2 (siblingVerBTCount == 2 && height < minPTSize * 2), the CN information decoding unit 10 determines that the target block cannot be BT split (FALSE).

[0336] Furthermore, when the splitting direction of the parent block is vertical (parentSplitDir == 1), the CN information decoding unit 10 derives siblingHorBTCount. If the other two blocks generated from the splitting of the parent block in the horizontal direction are split (i.e., horizontal BT splitting is restricted and cannot be performed), and vertical BT splitting is also not possible because the width of the target block is less than minPTSize × 2 (siblingHorBTCount == 2 && width < minPTSize * 2), the CN information decoding unit 10 determines that the target block cannot be BT split (FALSE).

[0337] If the segmentation target block does not meet the aforementioned conditions for not being able to be BT segmented, the CN information decoding unit 10 determines that BT segmentation is possible (TRUE). Furthermore, in the restricted segmentation pattern (A-b1), the subroutine for determining TT segmentation possibility - appending conditions () is not required.

[0338] Furthermore, the BT segmentation possibility determination - appended conditions in the restricted segmentation pattern (A-b1': CN information decoding unit 10 restricts (prohibits) any block generated by TT segmentation of the upper-level block in a direction different from the segmentation direction of the upper-level block) are implemented by changing a part of the BT segmentation possibility determination - appended conditions of the restricted segmentation pattern (A-b1). Specifically, CN information decoding unit 10 does not derive siblingHorBTCount / siblingVerBTCount. In addition, CN information decoding unit 10 does not make a determination regarding the conditions using siblingHorBTCount / siblingVerBTCount (set to TRUE). Furthermore, when the segmentation restricted block is set to be the last block to be segmented, this can be achieved by changing the value of partIdx in the appended conditions.

[0339] (BT / TT splitting may be determined by (additional condition A-b2))

[0340] Secondly, regarding the Figure 14 The additional conditions for determining the possible TT segmentation of the restricted segmentation pattern (A-b2: CN information decoding unit 10 restricts (prohibits) TT segmentation in a direction different from the segmentation direction of the upper-level block by performing BT segmentation on both blocks generated by the upper-level block) shown in (e) to (h) utilize... Figure 24 To explain further. In this limitation, the CN information decoding unit 10 limits the last block to be processed among the blocks generated by BT segmentation.

[0341] like Figure 24 As shown, when the parent block's splitting mode cannot be BT split, or the object block's partIdx is not 1, (parentSplitMode != MODE_BT || partIdx != 1), the CN information decoding unit 10 determines that TT splitting is possible (TRUE).

[0342] Furthermore, when the parent block's partitioning mode is BT partitioning and the partitioned object block's partIdx is 1 (MODE_BT&&partIdx==1), the following applies.

[0343] When the splitting direction of the parent block is horizontal (parentSplitDir == 0), the CN information decoding unit 10 derives siblingVerTTCount, which represents the number of times vertical TT splitting was used in blocks generated from the same parent block. If vertical TT splitting is used in other blocks generated by the splitting of the parent block (i.e., vertical TT splitting in the target block is restricted and cannot be performed), and horizontal TT splitting cannot be performed because the height of the target block is less than minPTSize × 4 (siblingVerTTCount == 1 && height < minPTSize * 4), the CN information decoding unit 10 determines that the target block cannot be TT split (FALSE).

[0344] Furthermore, when the splitting direction of the parent block is vertical (parentSplitDir == 1), the CN information decoding unit 10 derives siblingHorTTCount, which indicates the number of times horizontal TT splitting was used in blocks generated from the same parent block. If horizontal TT splitting is used in other blocks generated by the splitting of the parent block (i.e., horizontal TT splitting in the target block is restricted and cannot be performed), and vertical TT splitting cannot be performed because the width of the target block is less than minPTSize × 4 (siblingHorTTCount == 1 && width < minPTSize * 4), the CN information decoding unit 10 determines that the target block cannot be TT split (FALSE).

[0345] If the segmentation target block does not meet the aforementioned conditions for non-TT segmentation, the CN information decoding unit 10 determines that TT segmentation is possible (TRUE). Furthermore, in the restricted segmentation pattern (A-b2), there is no need for a subroutine to add conditions () to determine the possibility of BT segmentation.

[0346] Furthermore, the TT segmentation possible determination additional conditions in the restricted segmentation pattern (A-b2': CN information decoding unit 10 restricts (prohibits) any block generated by BT segmentation of the upper-level block in a direction different from the segmentation direction of the upper-level block) are implemented by changing a part of the TT segmentation possible determination additional conditions of the restricted segmentation pattern (A-b2). Specifically, CN information decoding unit 10 does not derive siblingHorBTCount / siblingVerBTCount. In addition, CN information decoding unit 10 does not determine the conditions using siblingHorBTCount / siblingVerBTCount (set to TRUE). Furthermore, when the segmentation restricted block is set to be the last block to be segmented, this can be achieved by changing the value of partIdx in the additional conditions to represent the value of the block that is the object of restriction.

[0347] (BT / TT splitting may be determined by additional conditions for Ac))

[0348] Secondly, regarding the Figure 15 The additional conditions for determining the TT segmentation of the restricted segmentation pattern (Ac: CN information decoding unit 10 restricts (prohibits) TT segmentation in a direction different from the segmentation direction of the parent block by performing TT segmentation on all blocks generated by TT segmentation of the parent block) shown in (a) to (d) are utilized. Figure 25 To explain further. In this limitation, the CN information decoding unit 10 limits the last block to be processed among the blocks generated by splitting the upper-level block into TT blocks.

[0349] like Figure 25 As shown, if the splitting mode of the parent block is not TT splitting, the splitting direction of the parent block is not horizontal, or partIdx is not 2 (parentSplitMode != MODE_TT || parentSplitDir != 0 || partIdx != 2), the CN information decoding unit 10 determines that TT splitting is possible (TRUE).

[0350] Furthermore, when the parent block's segmentation mode is TT segmentation, the segmentation direction is horizontal, and the partIdx of the segmented object block is 2, the following applies.

[0351] The CN information decoding unit 10 derives siblingVerTTCount. If, in the vertical direction, TT segmentation is performed on the other two blocks generated by the segmentation of the upper-level block (i.e., vertical TT segmentation in the segmentation target block cannot be performed due to constraints), and horizontal TT segmentation cannot be performed because the height of the segmentation target block is less than minPTSize×4 (siblingVerTTCount==2&&height<minPTSize*4), the CN information decoding unit 10 determines that the segmentation target block TT cannot be segmented (FALSE).

[0352] Furthermore, as mentioned above, in this case, if there are no restrictions on the division mode of the upper-level block being TT division and the direction of the division being vertical, then a 9-division pattern can be obtained by using TT division at level 2.

[0353] If the segmentation target block does not meet the aforementioned conditions for non-TT segmentation, the CN information decoding unit 10 determines that TT segmentation is possible (TRUE). Furthermore, in the restricted segmentation pattern (Ac), there is no subroutine that requires additional conditions () for determining BT segmentation.

[0354] Furthermore, the TT segmentation possible determination additional conditions in the restricted segmentation pattern (A-c': CN information decoding unit 10 restricts (prohibits) TT segmentation in a direction different from the segmentation direction of the parent block, for any block generated by TT segmentation of the parent block), are implemented by changing a part of the TT segmentation possible determination additional conditions of the restricted segmentation pattern (Ac). Specifically, CN information decoding unit 10 does not derive siblingVerBTCount. In addition, CN information decoding unit 10 does not perform a determination regarding the condition using siblingVerBTCount (set to TRUE). Furthermore, when the segmentation restricted block is set to be the last block to be segmented, this can be achieved by changing the value of partIdx in the additional conditions to represent the value of the block that is the object of restriction.

[0355] Figure 23 This is another pseudocode indicating the possible determination process of TT segmentation based on CN information decoding unit 10.

[0356] like Figure 23 As shown, if the parentSplitMode of the parent block is not TT splitting, or the splitting index partIdx of the object block is not 2 (if(parentSplitModeT=MODE_TT||partIdx!=2)), the CN information decoding unit 10 determines that TT splitting is possible (TRUE).

[0357] Furthermore, when the segmentation mode of the segmented object block is TT segmentation and the partIdx of the segmented object block is 2 (MODE_TT&&partIdx==2), it is as follows.

[0358] If the splitting direction of the parent block, `parentSplitDir`, is horizontal (if `parentSplitDir == HOR`), the CN information decoding unit 10 derives `siblingVerTTCount`, which indicates the number of times vertical TT splitting was used in the blocks generated from the same parent block. If two other blocks generated by vertical TT splitting through the parent block are generated, and the height of the target block is less than `minPTSize × 4` (`siblingVerTTCount == 2 && height < minPTSize * 4`), the CN information decoding unit 10 determines that the target block cannot be split by TT (FALSE).

[0359] In other words, if the parent block is divided by TT in the horizontal direction, and the first two blocks of the segmented object (the blocks with partIdx = 0 and 1) are both divided by TT in the vertical direction, then the last block (the block with partIdx = 2) is restricted to being divided by TT in the vertical direction. Furthermore, if it also lacks the height to be divided by TT in the horizontal direction, it is determined that it cannot be divided by TT itself.

[0360] Furthermore, when the splitting direction of the parent block is vertical (if (parentSplitDir == VER)), the CN information decoding unit 10 derives `siblingHorTTCount`, which indicates the number of times horizontal TT splitting was used in the blocks generated from the same parent block. If two other blocks are generated from the splitting of the parent block in the horizontal direction via TT splitting, and the height of the target block is less than `minPTSize × 4` (`siblingHorTTCount == 2 && width < minPTSize * 4`), the CN information decoding unit 10 determines that the target block TT cannot be split (FALSE).

[0361] In other words, if the parent block is divided by TT in the vertical direction, and the other two blocks of the segmented object are both divided by TT in the horizontal direction, then the block with partIdx = 2 is restricted to being divided by TT in the horizontal direction. Furthermore, if it does not have a width that can be divided by TT in the vertical direction, it is determined that it cannot be divided by TT.

[0362] Additionally, if the condition of FALSE is not met, return TRUE.

[0363] Next, refer to Figure 26 This is another example illustrating the limitations of the CN information decoding unit 10 on block segmentation. Figure 26 In the example, when the segmentation mode of the upper-level block is TT segmentation, the CN information decoding unit 10 restricts segmentation by TT segmentation in a direction different from that of the upper-level block when the object block is the central block (partIdx == 1). In other words, TT segmentation is used to prevent the same segmentation as MFT segmentation. That is, in the MT information decoding processing example 2, when the object node is one of three nodes obtained by comparing the TT segmentation of the node one level above the object node, i.e., the direct upper-level node, the CN information decoding unit 10 restricts the central node (partIdx == 1) of these three nodes to TT segmentation of the object node in a direction different from that of TT segmentation of the direct upper-level node. For example, TT segmentation after TT segmentation is prohibited, especially TT segmentation in the central block where TT segmentation is prohibited.

[0364] like Figure 26As shown, if the splitting mode of the parent block is not TT splitting or the partIdx of the object block is not 1 (if(parentSplitMode!=MODE_TT||partIdx!=1)), the CN information decoding unit 10 determines that TT splitting is possible (TRUE).

[0365] Otherwise, that is, when the segmentation mode of the segmented object block is TT segmentation and the partIdx of the segmented object block is 1 (MODE_TT&&partIdx==1), it is as follows.

[0366] If the splitting direction of the parent block is horizontal (HOR) and the height of the block to be split is less than minPTSize×4, or the splitting direction of the parent block is vertical (VER) and the width of the block to be split is less than minPTSize×4 (parentSplitDir==HOR&&height<minPTSize*4)||(parentSplitDir==VER&&width<minPTSize*4), the CN information decoding unit 10 determines that the block to be split TT cannot be split (FALSE).

[0367] In other words, if the edge of the TT segment that is not prohibited is smaller than the length of the edge that can be TT segmented, the CN information decoding unit 10 determines that TT segmentation is not possible.

[0368] Additionally, if the condition of FALSE is not met, return TRUE.

[0369] (Segmentation direction marking determination)

[0370] Secondly, regarding the details of the segmentation direction marker determination process, using... Figure 27 Let me explain. Figure 27 Figure (a) is an example of pseudocode representing the segmentation direction mark determination process in the case where the segmentation pattern is not subject to the aforementioned restrictions. Figure 27 As shown in (a), the CN information decoding unit 10 derives minPTSize (unit size), which represents the minimum value of the CU's size. When the width of the segmented object block is the minimum size (width == minPTSize), the block cannot be vertically segmented. Therefore, split_dir_flag[x0][y0] (split_dir_flag[x0][y0] = 0), representing the segmentation direction of the segmented object block, is set to the horizontal direction. Furthermore, decoding is deemed to be FALSE (no segmentation direction flag is needed). Here, (x0, y0) is set as the upper-left coordinate of the segmented object block.

[0371] Furthermore, if the height of the segmented object block is at its minimum size (height == minPTSize), the block cannot be horizontally segmented. Therefore, the CN information decoding unit 10 sets split_dir_flag[x0][y0] to indicate that the segmentation direction is vertical (split_dir_flag[x0][y0] = 1). Moreover, the CN information decoding unit 10 determines that decoding without the segmentation direction flag is not required (FALSE).

[0372] Furthermore, if neither the width nor the height of the segmented object block is the minimum size, segmentation is possible in either the horizontal or vertical direction. Therefore, the CN information decoding unit 10 determines that decoding of the segmentation direction mark is required (TRUE).

[0373] Secondly, the process for determining the segmentation direction mark in the case of the aforementioned restricted segmentation pattern will be explained. Figure 27 (b) is a diagram illustrating an example of pseudocode representing the segmentation direction mark determination process in the case of the aforementioned restricted segmentation pattern. Figure 27 As shown in (b), by applying different additional conditions based on the aforementioned restricted segmentation pattern, the CN information decoding unit 10 determines whether the segmentation direction is determined or whether segmentation direction marking is required for decoding. Regarding the different additional conditions based on the segmentation pattern, using... Figures 28-31 Then it will be discussed.

[0374] When the CN information decoding unit 10 determines that the decoding requires the segmentation direction mark, it decodes the segmentation direction mark. Figure 27 (c) is a diagram showing an example of pseudocode representing the decoding process of the segmentation direction marker.

[0375] Secondly, a detailed explanation of the segmentation direction marking determination process is provided. Figures 28-31 This is a diagram illustrating an example of pseudocode representing additional conditions for determining the segmentation direction markers of a restricted segmentation pattern.

[0376] (Segmentation direction marking determination (additional conditions for A-a1))

[0377] First, regarding the Figure 13 The additional conditions for determining the segmentation direction mark of the restricted segmentation pattern (A-a1: CN information decoding unit 10 restricts (prohibits) BT segmentation of the central block generated by TT segmentation of the upper-level block in the same direction as the segmentation direction of the upper-level block) shown in (a) and (b) are utilized. Figure 28 Let me explain.

[0378] like Figure 28As shown, the CN information decoding unit 10 sets the initial values ​​of horSplitAvailable and verSplitAvailable to TRUE.

[0379] If the parent block is not split by TT splitting, or the block to be split is not a central block generated by TT splitting (parentSplitMode != MODE_TT || partIdx != 1), the CN information decoding unit 10 determines that the decoding of the splitting direction mark is required.

[0380] When the parent block is split using TT splitting, and the target block is a central block generated by TT splitting (parentSplitMode == MODE_TT && partIdx == 1), horizontal BT splitting of the target block is prohibited by the constraint (A-a1). Furthermore, horizontal TT splitting is also not allowed if the height of the target block is less than minPTSize*4 (height < minPTSize*4). Therefore, neither BT nor TT splitting can be used horizontally. Thus, it is determined that horizontal splitting of the target block is not allowed (horSplitAvailable = FAL SE).

[0381] Similarly, if the parent block is split vertically by TT, then vertical splitting of the target block by BT is prohibited. Furthermore, vertical TT splitting is also not possible if the width of the split block is less than minPTSize*4 (width < minPTSize*4). Therefore, neither BT nor TT splitting is usable in the vertical direction. Consequently, vertical splitting of the target block becomes impossible (verSplitAvailable = FALSE).

[0382] (Post-processing)

[0383] If both horSplitAvailable and verSplitAvailable are available, the CN information decoding unit 10 determines that decoding of the split direction flag split_dir_flag is required. If either horSplitAvailable or verSplitAvailable is TRUE, the CN information decoding unit 10 sets split_dir_flag and determines that decoding of split_dir_flag is not required (FALSE).

[0384] (Segmentation direction marking determination (additional conditions for A-a2))

[0385] Secondly, regarding the Figure 13The additional conditions for determining the segmentation direction mark of the restricted segmentation pattern (A-a2: CN information decoding unit 10 restricts (prohibits) BT segmentation in the same direction as the segmentation direction of the upper-level block, which is generated by BT segmentation of the upper-level block) shown in (c) and (d) are used. Figure 29 Let me explain.

[0386] like Figure 29 As shown, the CN information decoding unit 10 sets the initial values ​​of horSplitAvailable and verSplitAvailable to TRUE.

[0387] If the splitting of the parent block is not a BT splitting, or if the block to be split is not the last block to be split and processed in the block generated by the splitting of the parent block (parentSplitMode != MODE_BT || partIdx != 1), the CN information decoding unit 10 determines that the decoding of the splitting direction mark is required.

[0388] When the parent block is split by a horizontal BT split and the partIdx of the target block is equal to 1 (parentSplitMode == MODE_BT && partIdx == 1 && parentSplitDir == 0), the CN information decoding unit 10 derives siblingHorBTCount. If the block corresponding to partIdx = 0 is split by a horizontal BT split, horizontal BT splitting of the target block is prohibited. Furthermore, if the height of the target block is less than minPTSize * 4 (siblingVerBTCount == 1 && height < minPTSize * 4), horizontal TT splitting also becomes impossible. Therefore, neither BT nor TT splitting can be performed horizontally. Thus, it is determined that horizontal splitting of the target block cannot be performed (horSplitAvailable = FALSE).

[0389] When the parent block is split by a vertical BT split and the partIDx of the target block is 1 (parentSplitMode == MODE_BT && partIdx == 1 && parentSplitDir == 1), the CN information decoding unit 10 derives siblingVerBTCount. When the block corresponding to partIdx = 0 is split by a vertical BT split, vertical BT splitting of the target block is prohibited. Furthermore, when the width of the split block is less than minPTSize * 4 (siblingVerBTCount == 1 && width < minPTSize * 4), vertical TT splitting also becomes impossible; therefore, neither BT nor TT splitting is possible in the vertical direction. Thus, vertical splitting of the target block becomes impossible (verSplitAvailable = FALSE). The subsequent processing by the CN information decoding unit 10 is the same as described above (post-processing), and therefore its explanation here is omitted.

[0390] Since the processing of the decoding unit 10 is the same as that described above (post-processing), the explanation here is omitted.

[0391] (Segmentation direction marking determination (additional condition for A-b1))

[0392] Secondly, regarding the Figure 14 The additional conditions for determining the segmentation direction mark of the restricted segmentation pattern (A-b1: CN information decoding unit 10 restricts (prohibits) BT segmentation in a direction different from the parent block by performing TT segmentation on all blocks generated by the parent block) shown in (a) to (d) utilize the following: Figure 30 Let me explain.

[0393] like Figure 30 As shown, the CN information decoding unit 10 sets the initial values ​​of horSplitAvailable and verSplitAvailable to TRUE.

[0394] If the splitting of the parent block is not a TT splitting, or if the target block to be split is not the last block to be split and processed among the blocks generated by the splitting of the parent block (parentSplitMode != MODE_TT || partIdx != 2), the CN information decoding unit 10 determines that the decoding of the splitting direction mark is required.

[0395] When the parent block is split into horizontal TT segments and the partIdx of the segmented object block is equal to 2 (parentSplitMode == MODE_TT && partIdx == 2 && parentSplitDir == 0), the CN information decoding unit 10 derives siblingVerBTCount. If the other two blocks generated by the splitting of the parent block are split into vertical BT segments, vertical BT splitting of the segmented object block is prohibited. Furthermore, if the width of the segmented object block is less than minPTSize * 4 (siblingVerBTCount == 2 && width < minPTSize * 4), it is determined that vertical splitting of the segmented object block cannot be performed (verSplitAvailable = FALSE).

[0396] When the parent block is split into vertical TT splits and the partIdx of the target block is equal to 2 (parentSplitMode == MODE_TT && partIdx == 2 && parentSplitDir == 1), the CN information decoding unit 10 derives siblingHorBTCount. When the other two blocks generated by the splitting of the parent block are split into horizontal BT splits, horizontal BT splitting of the target block is prohibited. Furthermore, if the height of the split block is less than minPTSize * 4 (siblingHorBTCount == 2 && height < minPTSize * 4), the CN information decoding unit 10 determines that horizontal splitting of the target block cannot be performed (horSplitAvailable = FALSE). Since the subsequent processing by the CN information decoding unit 10 is the same as the (post-processing) described above, it is omitted here.

[0397] (Determination of segmentation direction marking (additional conditions for A-b2 and Ac))

[0398] In the Figure 14 The restricted segmentation patterns shown in (e) to (h) (A-b2: CN information decoding unit 10 restricts (prohibits) TT segmentation in a direction different from the segmentation direction of the upper-level block, which is the block generated by BT segmentation of the upper-level block), and, Figure 15 In the additional conditions for determining the possible TT segmentation of the restricted segmentation pattern (Ac: CN information decoding unit 10 restricts (prohibits) TT segmentation in a direction different from the segmentation direction of the parent block by TT segmenting all blocks generated by TT segmenting the parent block), as shown in (a) to (d), CN information decoding unit 10... Figure 31The code returns TRUE without taking any action. This subroutine is called when neither the width nor the height of the segmented object block is minPTSize. Therefore, even if the TT segmentation of the segmented object block is restricted, BT segmentation can still be performed, and the selection of segmentation direction will not be narrowed. The same applies to the additional conditions for determining the segmentation direction markers in A-b2' and A-c'.

[0399] exist Figure 32 The image shows an example of another pseudocode representing the segmentation direction marker determination process.

[0400] In the case that the block is not the center of a TT split, it is not subject to the restriction of the split direction. If the split mode of the parent block is not TT split, or if partIdx is not 1 (if(parentSplitMode!=MODE_TT||partIdx!=1)), the CN information decoding unit 10 determines that TT split is possible (TRUE).

[0401] In the case of the central block of a TT split, it is restricted to splitting only in the same direction as the parent block. Specifically, the splitting direction of the central block of a TT split is the same as that of the parent block. When the splitting mode of the parent block is TT split and partIdx is 1 (if(parentSplitMode==MODE_TT&&partIdx==1)), the CN information decoding unit 10 sets the splitting direction of the target block to the same direction as the splitting direction of the parent block (split_dir_flag[x0][y0]=parentSplitDir).

[0402] (Segmentation mode selection marker determination)

[0403] Secondly, regarding the details of the segmentation mode selection marker determination process, using... Figure 33 Let me explain. Figure 33 Figure (a) is a diagram illustrating an example of pseudocode representing the segmentation pattern selection tag processing. For example... Figure 33 As shown, the CN information decoding unit 10 derives BTAvailable and TTAvailable. BTAvailable and TTAvailable are derived in the PT segmentation mark determination process, and therefore can be reused in this process. Furthermore, changing the values ​​of BTAvailable and TTAvailable after this subroutine will affect the result of the PT segmentation mark determination, and is therefore not permitted.

[0404] When both BT and TT segmentation are available, the CN information decoding unit 10 determines whether decoding of the segmentation mode selection flag is necessary by adding conditions to the segmentation mode selection flag determination. When only BT segmentation or TT segmentation is possible, the CN information decoding unit 10 sets the value of the segmentation mode selection flag and determines that decoding is not required.

[0405] Furthermore, the segmentation mode selection flag determination process and the segmentation mode selection flag decoding process depend solely on the PT segmentation flag determination process. Therefore, the segmentation mode selection flag determination process and the segmentation mode selection flag decoding process can also be performed after the PT segmentation flag value is true and the branch is "yes" side, and before the segmentation direction flag determination process.

[0406] Furthermore, if either the TT segmentation possibility derived by determining the minimum value of the given threshold Th_TT (=minPTSize*4) in the determination of the TT segmentation possibility, or the BT segmentation possibility derived by determining the minimum value of the given threshold Th_BT (=minPTSize*2) in the determination of the BT segmentation possibility, is true (PT segmentation flag determination), the CN information decoding unit 10 decodes the PT segmentation flag (common flag) representing BT segmentation and TT segmentation.

[0407] Furthermore, when both BT segmentation possibility and TT segmentation possibility are true (segmentation mode selection flag determination), the CN information decoding unit 10 decodes the segmentation mode selection flag indicating either BT segmentation or TT segmentation. When the segmentation mode selection flag is not present, the CN information decoding unit 10 sets TT segmentation possibility to the value of the segmentation mode selection flag.

[0408] In other words, when the CN information decoding unit 10 determines that either binary tree segmentation or ternary tree segmentation of the object block is possible, it decodes the common marker indicating both binary tree segmentation and ternary tree segmentation.

[0409] Furthermore, when the CN information decoding unit 10 determines that both binary tree segmentation and ternary tree segmentation of the object block are possible, it decodes a segmentation mode selection flag indicating either binary tree segmentation or ternary tree segmentation.

[0410] Based on the above structure, when the block generated by TT segmentation becomes a size that cannot be predicted or transformed, that is, when TT segmentation cannot be used, the PT segmentation marker and the segmentation mode selection marker are not decoded, thus reducing the amount of code for these markers.

[0411] (Fourth implementation)

[0412] In the above Figure 18 as well as Figure 19 In the process, the CN information decoding unit 10 restricts the segmentation of object blocks by referring to the common depth variable in binary tree segmentation and ternary tree segmentation, but it can also separately derive the segmentation depth variable btDepth for binary tree segmentation and the segmentation depth variable ttDepth for ternary tree segmentation to restrict the segmentation of object blocks.

[0413] (Detailed processing of BT / TT message decoding)

[0414] For details on the various processes involved in BT / TT message decoding, please refer to... Figures 34-38 Let me explain.

[0415] First, regarding the detailed processing for individually restricting the segmentation depth variable btDepth for binary tree segmentation and the segmentation depth variable ttDepth for ternary tree segmentation, using... Figures 34-35 Let me explain.

[0416] (Judgment example 1)

[0417] (PT segmentation marker determination)

[0418] First, using Figure 34 (a) will be used to explain the details of the PT segmentation marker determination process. Figure 34 Figure (a) is a diagram illustrating an example of pseudocode representing the PT segmentation marker determination process. Figure 34 As shown in (a), if the segmentation can be performed by either BT segmentation or TT segmentation, the CN information decoding unit 10 determines that PT segmentation is possible and determines that the decoding of the PT segmentation flag split_pt_flag is required (TRUE).

[0419] (BT segmentation may be determined)

[0420] Secondly, regarding the details of BT segmentation and potential decision-making processes, utilizing... Figure 34 Let’s explain using (b). Figure 34 (b) shows that it does not have the above-mentioned use. Figures 13-15 The diagram illustrates an example of pseudocode for BT segmentation probabilities determination in the case of a restricted segmentation pattern as explained above. The CN information decoding unit 10 performs BT segmentation probabilities determination using the following conditions 1 to 3.

[0421] Condition 1: The height of the block that becomes the object of the segmentation is more than or equal to minPTSize (unit size) × 2, which represents the minimum size of the CU, or the width of the block that becomes the object of the segmentation is more than or equal to minPTSize × 2 (height >= minPTSize * 2 || width >= minPTSize * 2).

[0422] Condition 2: The width and height of the segmented object block are below the maximum value of the size representing the CU, which is maxPTSize (width <= maxPTSize && height <= maxPTSize).

[0423] Condition 3: btDepth represents the hierarchy of the segmented object block, which is less than maxBTDepth (btDepth < maxBTDepth).

[0424] If all of the conditions 1 to 3 above are met, the CN information decoding unit 10 determines that BT segmentation is possible (TRUE). Conversely, if none of the conditions 1 to 3 above are met, the CN information decoding unit 10 determines that BT segmentation is not possible (FALSE).

[0425] (TT splitting may be determined)

[0426] Secondly, regarding the details of the possible determination and processing of TT segmentation, using... Figure 34 Let’s explain using (c). Figure 34 (c) shows that it does not have the above-mentioned use. Figures 13-15 The diagram illustrates an example of pseudocode for determining the possible TT segmentation process under the previously explained restricted segmentation pattern. The CN information decoding unit 10 performs the TT segmentation possibility determination using the following conditions 1 to 3.

[0427] Condition 1: The height of the block that becomes the object of the segmentation is more than or equal to minPTSize (unit size) × 4, which represents the minimum size of the CU, or the width of the block that becomes the object of the segmentation is more than or equal to minPTSize × 4 (height>=minPTSize*4||width>=minPTSize*4).

[0428] Condition 2: The width and height of the segmented object block are below the maximum value of the size representing the CU, which is maxPTSize (width <= maxPTSize && height <= maxPTSize).

[0429] Condition 3: The ttDepth of the hierarchy of the segmented object block is less than the maxTTDepth (ttDepth < maxTTDepth).

[0430] If all of the conditions 1 to 3 above are met, the CN information decoding unit 10 determines that TT segmentation is possible (TRUE). Conversely, if none of the conditions 1 to 3 above are met, the CN information decoding unit 10 determines that TT segmentation is not possible (FALSE).

[0431] Figure 34The determination shown in (d) is the same as Figure 34 The judgments shown in (a) to (c) are the same. If we take Figure 34 Summarizing the three criteria shown in (a) to (c), we get: Figure 34 The determination shown in (d) is as follows.

[0432] (Segmentation mode selection marker determination)

[0433] Secondly, regarding the details of the segmentation mode selection marker determination process, using... Figure 35 Let me explain. Figure 35 Figure (a) is a diagram illustrating an example of pseudocode representing the segmentation mode selection marker determination process. BTAvailable and TTAvailable are derived in the PT segmentation marker determination process and can therefore be reused in this process. Furthermore, changing the values ​​of BTAvailable and TTAvailable after this subroutine will affect the result of the PT segmentation marker determination and is therefore not permitted.

[0434] If both BTAvailable and TTAvailable, the CN information decoding unit 10 determines it to be TRUE.

[0435] also, Figure 35 (b) is a diagram showing an example of pseudocode representing the PT segmentation mode selection flag determination process. The CN information decoding unit 10 uses the following conditions 1 to 3 to determine the PT segmentation mode selection flag.

[0436] Condition 1: The height of the block that becomes the object of the segmentation is more than or equal to minPTSize (unit size) × 4, which represents the minimum size of the CU, or the width of the block that becomes the object of the segmentation is more than or equal to minPTSize × 4 (height>=minPTSize*4||width>=minPTSize*4).

[0437] Condition 2: The width and height of the segmented object block are below the maximum value of the size representing the CU, which is maxPTSize (width <= maxPTSize && height <= maxPTSize).

[0438] Condition 3: btDepth, representing the hierarchy of the segmented object block, is less than maxBTDepth, and ttDepth, representing the hierarchy of the segmented object block, is less than maxTTDepth (btDepth < maxBTDepth && ttDepth < maxTTDepth).

[0439] If all of the conditions 1 to 3 above are met, the CN information decoding unit 10 determines it to be TRUE. Conversely, if none of the conditions 1 to 3 above are met, the CN information decoding unit 10 determines it to be FALSE.

[0440] Furthermore, by individually restricting the segmentation depth variable btDepth for binary tree segmentation and the segmentation depth variable ttDepth for ternary tree segmentation, the maximum segmentation depths maxBTDepth and maxTTDepth can also be set as follows. Three examples of limiting the maximum segmentation depth are listed below.

[0441] (Example a: Limitation on maximum segmentation depth)

[0442] By setting given values ​​(maximum number of splits) for the maximum binary tree split depth `maxBTDepth` and the maximum ternary tree split depth `maxTTDepth`, the number of binary and ternary tree splits can be independently limited. For example, to limit the number of binary tree splits to two, simply set `maxBTDepth` to 2. Similarly, to limit the number of ternary tree splits to one, simply set `maxTTDepth` to 1. In other words, setting it to...

[0443] maxBTDepth=2, maxTTDepth=1.

[0444] Alternatively, other maximum number of attempts can be set as follows.

[0445] maxBTDepth=4, maxTTDepth=2

[0446] Comparing binary tree partitioning and ternary tree partitioning reveals differences in efficiency when the same processing time is applied. By individually setting the maximum partition depth as described above, it is possible to take advantage of situations where deeper binary tree partitioning results in greater efficiency while shallower ternary tree partitioning.

[0447] (Example b: Limitation on maximum segmentation depth)

[0448] By setting the relationship between the maximum binary tree split depth (maxBTDepth) and the maximum ternary tree split depth (maxTTDepth), the relationship between the number of binary tree splits and the number of ternary tree splits can be ensured. For example, if the number of ternary tree splits is to be less than the number of binary tree splits, simply set maxBTDepth > maxTTDepth.

[0449] Alternatively, it can be set to maxBTDepth>=maxTTDepth, or it can be set to maxBTDepth>=maxTTDepth*2.

[0450] Comparing binary tree partitioning and ternary tree partitioning, the coding efficiency is higher when the binary tree partitioning is deeper and the ternary tree partitioning is shallower. Based on the above, we can avoid situations where the efficiency is low, such as when the maximum binary tree partitioning depth (maxBTDepth) related to binary tree partitioning becomes smaller and the maximum ternary tree partitioning depth (maxTTDepth) related to ternary tree partitioning becomes larger.

[0451] (Example c: Limitation on maximum segmentation depth)

[0452] By setting an upper limit on the sum of the maximum binary tree split depth maxBTDepth and the maximum ternary tree split depth maxTTDepth, the upper limit of the number of binary tree splits can be limited based on whether the ternary tree split is valid (and to what extent the maximum ternary tree depth is valid if it is valid).

[0453] maxBTDepth+maxTTDepth<sumMaxPTDepth

[0454] For example, if the sum of the maximum binary tree partition depth and the maximum ternary tree partition depth is limited to less than 3 (sumMaxPTDepth = 3) (maxBTDepth + maxTTDepth <= 3), then when the ternary tree partition is not valid (maxTTDepth = 0), the upper limit of the binary tree partition count, maxTTDepth, can be set to 3. When the ternary tree partition is valid (maxTTDepth > 0), the upper limit of the binary tree partition count, maxTTDepth, can be set to a value less than 3. In other words,

[0455] It is possible to set maxBTDepth=3 and maxTTDepth=0 (in cases where ternary tree partitioning is not effective).

[0456] maxBTDepth = 2, maxTTDepth = 2 (the case where ternary tree partitioning is effective).

[0457] In this case, because the maximum binary tree segmentation depth is limited to 2 or less, three consecutive binary tree segmentations can be prohibited when ternary tree segmentation is present. If ternary tree segmentation is enabled, the upper limit of binary tree segmentation can be further reduced, thus avoiding the highly complex combination of binary and ternary tree segmentation, which is frequently used. Therefore, prohibiting binary tree segmentation further reduces the complexity of encoding / decoding motion images. On the other hand, without ternary tree segmentation, setting maxBTDepth = 3 and maxTTDepth = 0 allows for three consecutive binary tree segmentations.

[0458] TT segmentation markers occur frequently. In Decision Example 1, by individually restricting the segmentation depth variable btDepth for binary tree segmentation and the segmentation depth variable ttDepth for ternary tree segmentation, the occurrence of TT segmentation markers can be suppressed, thus suppressing the encoding of TT segmentation markers.

[0459] (Judgment example 2)

[0460] Secondly, the details of each treatment are explained when the variables that combine the split depth variable btDepth for binary tree splitting and the split depth variable ttDepth for ternary tree splitting are restricted.

[0461] The determination of the PT segmentation marker in Judgment Example 2 is performed in the same manner as in Judgment Example 1 above.

[0462] Condition 3 for determining the BT segmentation possibility in Decision Example 2 differs from that in Decision Example 1. In Decision Example 2, the following condition 3 is used to determine the BT segmentation possibility.

[0463] BT segmentation may be determined under condition 3: (btDepth+ttDepth) of the hierarchy of the segmentation object block is less than maxPTDepth ((btDepth+ttDepth)<maxPTDepth).

[0464] Condition 3 for determining the TT segmentation possibility in Decision Example 2 differs from that in Decision Example 1. In Decision Example 2, the following condition 3 is used to determine the TT segmentation possibility.

[0465] TT segmentation may be determined by condition 3: (btDepth+ttDepth) of the hierarchical level of the segmentation object block is less than maxPTDepth ((btDepth+ttDepth)<maxPTDepth).

[0466] The condition 3 for determining the segmentation mode selection mark in Decision Example 2 is different from that in Decision Example 1. In Decision Example 2, the segmentation mode selection mark is determined using the following condition 3.

[0467] Condition 3 for determining the segmentation mode selection marker: (btDepth+ttDepth) of the hierarchy of the segmented object block is less than maxPTDepth(btDepth+ttDepth)<maxPTDepth.

[0468] In addition, as explained in Example 1 and Example 2 of the methods for deriving cptDepth, a temporary variable cptDepth can be used to represent btDepth+ttDepth.

[0469] (Judgment example 3)

[0470] Secondly, regarding the detailed processing of individually restricting the segmentation depth variable btDepth for binary tree segmentation and the segmentation depth variable ttDepth for ternary tree segmentation, and also restricting the variable that combines the segmentation depth variables btDepth for binary tree segmentation and ttDepth for ternary tree segmentation, the following details are provided using... Figures 36-37 Let me explain.

[0471] In addition, as explained in Example 1 and Example 2 of the derivation method of cptDepth, in the judgment example 3, a temporary variable cptDepth can be used to represent btDepth+ttDepth.

[0472] The determination of the PT segmentation marker in Example 3 is as follows: Figure 36 As shown in (a), similar to the determination example 1 above, it can be derived from the sum (OR) of the BT segmentation probability determination and the TT segmentation probability determination. The BT segmentation probability determination and the TT segmentation probability determination are as follows... Figure 36 As in (b) and (c), the PT segmentation marker determination as a sum can be as follows: Figure 36 As recorded in (d). That is, if (btDepth, representing the hierarchy of the segmented object block, is less than maxBTDepth, or ttDepth is maxTTDepth) and (btDepth + ttDepth) < maxPTDepth, it is determined that a PT segmentation flag (TRUE) exists, and the flag indicating whether to perform BT segmentation or TT segmentation is the PT segmentation flag. Additionally, as... Figure 36 As shown in (d), in addition to the restrictions related to hierarchy, further restrictions related to the width and height of the object block can be imposed.

[0473] The determination of BT segmentation in Example 3 may be as follows: Figure 36 As shown in (b), condition 3 differs from the above-described decision example 1. In decision example 3, the following condition 3 is used to determine the possible BT segmentation.

[0474] BT segmentation may be determined under the following condition 3: btDepth, representing the hierarchy of the segmentation object block, is less than maxBTDepth, and (btDepth+ttDepth) representing the hierarchy of the segmentation object block is less than maxPTDepth (btDepth < maxBTDepth && (btDepth+ttDepth) < maxPTDepth).

[0475] The TT segmentation in Example 3 may be determined as follows: Figure 36As shown in (c), condition 3 differs from the above-described decision example 1. In decision example 3, the following condition 3 is used to determine the possible TT segmentation.

[0476] TT segmentation may be determined under the following condition 3: ttDepth, which represents the hierarchy of the segmented object block, is less than maxTTDepth, and (btDepth+ttDepth) represents the hierarchy of the segmented object block, which is less than maxPTDepth (ttDepth < maxTTDepth && (btDepth+ttDepth) < maxPTDepth).

[0477] Furthermore, such as Figure 37 As shown in (a), the segmentation mode selection flag determination in determination example 3 is the same as in determination example 1 above, and can be derived from the logical AND of the BT segmentation possibility determination and the TT segmentation possibility determination. The BT segmentation possibility determination and the TT segmentation possibility determination are as follows: Figure 36 As in (b) and (c), the decision of the partitioning pattern selection marker as a logical AND can be as follows: Figure 37 As described in (b). That is, if btDepth, representing the hierarchy of the segmented object block, is less than maxBTDepth, and ttDepth is maxTTDepth, and (btDepth + ttDepth) < maxPTDepth, it is determined that a segmentation mode selection flag (TRUE) exists, and the flag indicating either BT segmentation or TT segmentation is decoded as the segmentation mode selection flag. Additionally, as... Figure 37 As shown in (b), in addition to the restrictions related to hierarchy, further restrictions related to the width and height of the object block can be imposed.

[0478] To elaborate further, the segmentation mode selection mark determination in Judgment Example 3 differs from the conditions in Judgment Example 1 in that condition 4 is different. In Judgment Example 3, the segmentation mode selection mark determination is performed using the following condition 4.

[0479] Condition 4 for determining the segmentation mode selection marker: (btDepth+ttDepth) of the hierarchy of the segmented object block is less than maxPTDepth ((btDepth+ttDepth)<maxPTDepth).

[0480] If all conditions 1 to 3 of Judgment Example 1 and all of condition 4 are satisfied, the CN information decoding unit 10 determines it to be TRUE. Conversely, if all conditions 1 to 4 are not satisfied, the CN information decoding unit 10 determines it to be FALSE.

[0481] For example, both binary tree partitioning and ternary tree partitioning can be limited to three partitions or less (as long as btDepth < 3 and ttDepth < 3 respectively), and the sum of the two partitions can also be limited to three partitions or less (as long as (btDepth + ttDepth) < 3). Furthermore, the sum of the two partitions can be limited to three partitions or less (as long as btDepth + ttDepth < 3), and ternary tree partitioning can be limited to two partitions or less (as long as BT partitioning and TT partitioning are btDepth < 3 and ttDepth < 2 respectively).

[0482] In Decision Example 3, by separately restricting the split depth variable btDepth of binary tree splitting and the split depth variable ttDepth of ternary tree splitting, and by restricting the variable that combines the split depth variables btDepth of binary tree splitting and ttDepth of ternary tree splitting, redundancy control can be achieved, especially by suppressing the necessary increase in binary tree splitting during ternary tree splitting.

[0483] (Judgment Example 4)

[0484] Secondly, the details of the segmentation mode selection and labeling determination process for restricting binary tree segmentation after ternary tree segmentation are explained. Figure 38 Figure (a) is an example of pseudocode illustrating the segmentation pattern selection flag determination process that restricts the binary tree segmentation following a ternary tree segmentation. Figure 38 As shown in (a), if TT segmentation has already been performed, the CN information decoding unit 10 determines that BT segmentation is not possible. That is, if the segmentation depth ttDepth of TT segmentation is greater than 0 (other than 0), it is determined that BT segmentation is not possible. Furthermore, in the segmentation mode selection flag determination, if both BT segmentation and TT segmentation are possible, the CN information decoding unit 10 determines that the decoding segmentation mode selection flag is TRUE.

[0485] (Judgment Example 5)

[0486] Secondly, the details of the segmentation mode selection and labeling determination process for restricting the ternary tree segmentation after the binary tree segmentation are explained. Figure 38 Figure (b) is an example of pseudocode illustrating the segmentation pattern selection flag determination process that restricts the segmentation of a ternary tree after a binary tree segmentation. Figure 38As shown in (b), if it is a BT segmentation, the CN information decoding unit 10 determines that TT segmentation is not possible. That is, if the segmentation depth btDepth of the BT segmentation is greater than 0 (other than 0), it is determined that TT segmentation is not possible. Furthermore, in the segmentation mode selection flag determination, if both BT segmentation and TT segmentation are possible, the CN information decoding unit 10 determines that the decoding segmentation mode selection flag is TRUE.

[0487] Although the above-mentioned judgment examples 4 and 5 are simple to control, they significantly reduce the complexity of encoding / decoding motion images.

[0488] (BB / TT splitting process)

[0489] Secondly, regarding the BB / TT segmentation processing of the CN information decoding unit 10, using Figure 39 Let me explain. Figure 39 Figures (a) and (b) are examples of pseudocode representing BB / TT splitting processing. Figure 39 As shown in (a) and (b), the CN information decoding unit 10 segments the segmentation object block based on the segmentation direction marker and the segmentation mode selection marker. Furthermore, the CN information decoding unit 10 also sets information about which segmentation of the segmentation object block was generated from its parent block (parent...). `partIdx` is the block index, which is set each time a loop occurs. Instead of `parent...`, information about whether each block has pre-exported and set restrictions on the calling side, or whether restrictions can be applied, etc.

[0490] (Third Implementation)

[0491] (Utilizing less frequently encountered segmented patterns)

[0492] Unless otherwise specified, the image decoding apparatus 31 according to this embodiment has the same structure as that in the second embodiment. Therefore, the image decoding apparatus 31, like the image decoding apparatus 31 of the second embodiment, is capable of TT segmentation. Consequently, the number of block segmentation patterns obtained by combining segments increases. Consequently, the time required to determine the block segmentation pattern in the image encoding apparatus 11 increases. The image decoding apparatus 31 according to this embodiment restricts (prohibits) the use of segmentation patterns with low probability. For example, in segmentation patterns that are different from but similar to a specific segmentation pattern, if it is considered that the encoding efficiency of the similar segmentation pattern is not significantly different from that of the specific segmentation pattern, the similar segmentation pattern is prohibited.

[0493] Regarding examples of utilizing segmented patterns where opportunities are limited, utilizing... Figure 40 Let me explain. Figure 40 This diagram illustrates an example of a segmented pattern that has limited usage opportunities. Figure 40The image shows a segmentation pattern 1 obtained by further dividing the block obtained by the horizontal TT segmentation (CN) into a horizontal TT segmentation block, and a segmentation pattern 2 obtained by further dividing the block obtained by the horizontal TT segmentation block into a horizontal BT segmentation block. The block in segmentation pattern 1, obtained by the two TT segments, is too elongated and has limited utilization opportunities. Therefore, the image decoding device 31 restricts (prohibits) segmentation pattern 1.

[0494] According to the above structure, the image encoding device 11 does not need to evaluate segmentation patterns that have low utilization opportunities. Furthermore, since segmentation patterns with low utilization opportunities are prohibited, encoding data for markers and the like related to that segmentation is not required. Therefore, the encoding efficiency of the image encoding device 11 is improved.

[0495] (Restricted segmentation pattern)

[0496] Here, regarding an example of the CN segmentation pattern limited by the CN information decoding unit 10 according to this embodiment, using... Figure 41 Let me explain. Figure 41 (a) to (c) represent an example of the segmentation pattern restricted by the CN information decoding unit 10. Figure 41 In (a) to (c), the solid lines represent the boundaries of coding nodes (blocks) generated by splitting higher-level coding nodes or coding tree units (higher-level blocks). Furthermore, the ○ symbol indicates that the split represented by the dotted line in the target block is permissible. Additionally, the × symbol indicates that the split represented by the dotted line in the target block is restricted (prohibited).

[0497] (Restricted segmentation pattern: Bd)

[0498] For example, the CN information decoding unit 10 restricts (prohibits) the segmentation of the segmentation object block generated by TT segmentation of the parent block in the same direction as the segmentation direction of the parent block.

[0499] In other words, when the object block is one of the three blocks obtained by splitting the parent block into a ternary tree, the CN information decoding unit 10 restricts the splitting of the object block to the same direction as the splitting of the parent block into a ternary tree.

[0500] (Restricted segmentation pattern: B-d1)

[0501] In addition, Figure 41 In the example shown in (a), the CN information decoding unit 10 restricts (prohibits) the division of the central block in the block generated by dividing the upper block by TT in the same direction as the division direction of the upper block.

[0502] In other words, when the object block is the central block among the three nodes obtained by splitting the ternary tree of the parent block, the CN information decoding unit 10 restricts the object block to be split in the same direction as the ternary tree split of the parent block.

[0503] (Restricted segmentation pattern: B-d1')

[0504] In addition, Figure 41 In the example shown in (b), the CN information decoding unit 10 restricts (prohibits) the division of the central block in the block generated by dividing the upper block by TT, except for TT division in a direction different from the division direction of the upper block.

[0505] In other words, when the object block is the central block among the three blocks obtained by splitting the ternary tree of the parent block, the CN information decoding unit 10 restricts the object block from being split using a ternary tree splitting method that is different from the ternary tree splitting of the parent block.

[0506] (Restricted segmentation pattern: B-d2)

[0507] In addition, Figure 41 In the example shown in (c), the CN information decoding unit 10 restricts (prohibits) the segmentation of blocks other than the central block in the blocks generated by TT segmentation of the parent block in the same direction as the parent block.

[0508] In other words, when the object block is a block other than the central block among the three blocks obtained by splitting the upper-level block into a ternary tree, the CN information decoding unit 10 restricts the splitting of the object block to the same direction as the splitting of the upper-level block into a ternary tree.

[0509] (Restricted segmentation pattern: B-d3)

[0510] Furthermore, as another example not shown, the CN information decoding unit 10 restricts (prohibits) the TT segmentation of the block generated by TT segmentation of the upper-level block in the same direction as the segmentation direction of the upper-level block.

[0511] Furthermore, when the object node is one of three nodes obtained by splitting the ternary tree of the direct parent node, the splitting part is restricted to splitting the object node in the same direction as the ternary tree splitting of the direct parent node.

[0512] (Detailed processing of BT / TT message decoding)

[0513] Secondly, regarding the additional conditions for determining the segmentation direction mark of the restricted segmentation pattern involved in this embodiment, using... Figures 42-46 Let me explain. Figures 42-46This is a diagram illustrating an example of pseudocode representing additional conditions for determining the segmentation direction markers in a restricted segmentation pattern.

[0514] (Segmentation direction marking determination)

[0515] (Segmentation direction marking determination (additional conditions for Bd))

[0516] Regarding the additional conditions for determining the segmentation direction mark of the restricted segmentation pattern (Bd: CN information decoding unit 10 restricts (prohibits) segmentation of the segmentation object block generated by TT segmentation of the upper-level block in the same direction as the segmentation direction of the upper-level block), the following conditions are applied: Figure 42 Let me explain.

[0517] like Figure 42 As shown, when the parent block is split by TT (parentSplitMode == MODE TT), the CN information decoding unit 10 prohibits splitting the target block in the same direction as the splitting direction of the parent block. Therefore, the splitting direction of the target block is set to a direction different from the splitting direction of the parent block, and decoding is determined to be FALSE (no splitting direction mark is required).

[0518] The splitting direction of the parent block (parentSplitDir) is either 0 or 1. Therefore, as... Figure 42 As shown, by subtracting parentSplitDir from 1, it is possible to derive a direction different from that of the parent block.

[0519] Furthermore, in the restricted segmentation pattern described in the second embodiment, the additional conditions in the "BT / TT segmentation possibility determination" are not specifically set. In the restricted segmentation patterns described below, those for which additional conditions are not specifically described are considered to have no specifically set additional conditions.

[0520] (Segmentation direction marking determination (additional condition for B-d1))

[0521] Secondly, regarding the additional conditions for determining the segmentation direction mark of the restricted segmentation pattern (B-d1: CN information decoding unit 10 restricts (prohibits) the segmentation of the central block among the blocks generated by TT segmentation of the upper-level block in the same direction as the segmentation direction of the upper-level block), the following applies: Figure 43 Let's explain. When the parent block is split by TT, and the split object block is the central block of the block generated by splitting by TT (parentSplitMode == MODE_TT && partIdx == 1), the splitting direction of the split object block is set to a direction different from the splitting direction of the parent block, and it is determined that no splitting direction mark is needed for decoding (FALSE).

[0522] (Segmentation direction marking determination (additional condition for B-d2))

[0523] Secondly, regarding the additional conditions for determining the segmentation direction mark of the restricted segmentation pattern (B-d2: CN information decoding unit 10 restricts (prohibits) the segmentation of blocks other than the central block among blocks generated by TT segmentation of the upper-level block in the same direction as the upper-level block), the following applies: Figure 44 To illustrate, if the parent block is split by TT, and the target block is a block other than the central block generated by splitting by TT (parentSplitMode == MODE_TT && partIdx != 1), the splitting direction of the target block is set to a direction different from the splitting direction of the parent block, and it is determined that no splitting direction mark is needed for decoding (FALSE).

[0524] (Segmentation direction marking determination (additional condition for B-d1'))

[0525] Secondly, regarding the additional conditions for determining the segmentation direction mark of the restricted segmentation pattern (B-d1': CN information decoding unit 10 restricts (prohibits) the segmentation of the central block of the block generated by TT segmentation of the upper-level block in a direction other than the segmentation direction of the upper-level block), the following conditions are applied: Figure 45 To illustrate. For example Figure 45 As shown in (a), when a block is split by TT and the split object block is the central block (parentSplitMode == MODE_TT && partIdx == 1) of the block generated by splitting by TT, the splitting direction of the split object block is set to a direction different from the splitting direction of the parent block, and it is determined that no splitting direction mark is needed for decoding (FALSE).

[0526] Furthermore, the segmentation pattern under this limitation includes an additional condition described in the "BT / TT segmentation possibility determination" in the second embodiment. Regarding this additional condition, [the following is a description of the additional condition]. Figure 45 Let’s explain using (b). Figure 45 (b) is a diagram showing an example of pseudocode representing the possible decision-making process for BT segmentation in the case of the restricted segmentation pattern described above.

[0527] like Figure 45 As shown in (b), when the parent block's splitting mode is TT splitting and the object block is the central block of the block generated by TT splitting (parentSplitMode == MODE_TT && partIdx == 1), the CN information decoding unit 10 determines that BT splitting is not possible (FALSE). Figure 45 (c) represents the graph that can be partitioned within this constraint. For example... Figure 45As shown in (c), the CN information decoding unit 10 restricts the BT segmentation of the central block generated by TT segmentation. Furthermore, the segmentation direction of this block is restricted to the same direction as the segmentation direction of the parent block.

[0528] (Segmentation direction marking determination (additional condition for B-d3))

[0529] Next, the process of the CN information decoding unit 10 for processing the restricted segmentation pattern (B-d3: CN information decoding unit 10 restricts (prohibits) the TT segmentation in the same direction as the segmentation direction of the upper-level block, which is generated by TT segmentation of the upper-level block) will be explained.

[0530] Figure 50 This is a schematic diagram illustrating an example of the processing flow of the CN information decoding unit 10 that performs this restriction. (See diagram below.) Figure 50 As shown, an example of the processing flow of the CN information decoding unit 10 described in the second embodiment (see [reference]). Figure 16 The difference between this process and the previous process is that in this process, the decision on the segmentation mode (segmentation mode selection mark determination S1506, segmentation mode selection mark determination S1507) is executed before the decision on the segmentation direction (segmentation direction mark determination S1504, segmentation direction mark decoding S1505).

[0531] Secondly, regarding the additional conditions for determining the segmentation direction marker, using... Figure 46 To illustrate. For example Figure 46 As shown in (a), when the parent block is split by TT and the split object block is split by TT (parentSplitMode == MODE_TT && split_sel_flag[x0][y0] == MODE_TT), the splitting direction of the split object block is set to a direction different from the splitting direction of the parent block, and it is determined that the decoding does not require the splitting direction mark (FALSE).

[0532] Figure 46 (b) is a graph representing the possible partitions within this constraint. For example... Figure 46 As shown in (b), the CN information decoding unit 10 is limited to a direction that is different from the segmentation direction of the parent block only when the segmentation of the object block is selected as TT segmentation.

[0533] (Other restricted segmentation patterns)

[0534] Secondly, regarding other examples of the CN segmentation pattern limited by the CN information decoding unit 10 according to this embodiment, using... Figure 47 Let me explain. Figure 47 (a) to (1) represent an example of the segmentation pattern restricted by the CN information decoding unit 10.

[0535] (Restricted segmentation pattern: Be)

[0536] exist Figure 47 In the examples shown in (a) to (d) and (g) to (1), the CN information decoding unit 10 restricts (prohibits) the division of rectangular segmentation object blocks, as shown in (a) to (d), in the same direction as the division direction of the upper-level block, as shown by the dotted lines in the figure.

[0537] In other words, when the shape of the object block to be divided is a square as shown in (g) to (1), the CN information decoding unit 10 does not restrict the way the object block is divided.

[0538] In addition, such as Figure 47 As shown in (e) and (f), even if the block of the segmented object is a square, the CN information decoding unit 10 can restrict (prohibit) the segmentation of redundant segmentation patterns as described in the second embodiment.

[0539] (Segmentation direction marking determination (additional conditions for Be))

[0540] Secondly, regarding the additional conditions for determining the segmentation direction mark of the restricted segmentation pattern (Be), using... Figure 48 Let me explain. Figure 48 This is a diagram illustrating an example of pseudocode representing additional conditions for determining the segmentation direction mark of a restricted segmentation pattern (Be).

[0541] like Figure 48 As shown, when the parent block is split by TT and the width and height of the split object block are different (parentSplitMode == MODE_TT && width != height), the CN information decoding unit 10 sets the splitting direction of the split object block to a direction different from the splitting direction of the parent block (split_dir_flag[x0][y0] = 1 - parentSplitDir), and determines that decoding without splitting direction marking is not required (FALSE).

[0542] (Other restricted segmentation patterns: Aspect Ratio TT Segmentation Restriction)

[0543] Secondly, regarding another example of the CN segmentation pattern limited by the CN information decoding unit 10 according to this embodiment, using... Figure 49 Let me explain. Figure 49 (a) and (b) represent an example of the segmentation pattern restricted by the CN information decoding unit 10.

[0544] exist Figure 49In the examples shown in (a) and (b), when the object block is a rectangle with an aspect ratio of more than a given value, the CN information decoding unit 10 restricts the object block to be segmented by a ternary tree segmentation that generates a boundary along the long side of the object block.

[0545] The aspect ratio of a block in this specification, given its width and height, refers to the maximum value of the ratio of width to height. That is, it is max(width / height, height / width). The aspect ratio TT segmentation limit prohibits segmentation through TT that results in a width-to-height ratio exceeding a given value, such as 1:8 (4×32, 8×64) or 8:1 (32×4, 64×8). In other words, horizontal segmentation is prohibited when the object block has a certain width, and vertical segmentation is prohibited when the object block has a certain height.

[0546] For example, in Figure 49 Example (a) shows an instance where the CN information decoding unit 10 prohibits horizontal segmentation because the object block is horizontally elongated. Furthermore, in Figure 49 Example (b) shows an example where the CN information decoding unit 10 prohibits vertical segmentation because the object block is vertical.

[0547] (Segmentation mode selection marker determination (additional condition for aspect ratio TT segmentation restriction))

[0548] Secondly, regarding the additional conditions for determining the segmentation mode selection marker (aspect ratio TT segmentation limit), utilizing... Figure 51 Let me explain. Figure 51 This is a diagram illustrating an example of pseudocode representing additional conditions for determining the segmentation direction markers in a restricted segmentation pattern. (See diagram for example.) Figure 51 As shown, when the width of the segmented object block is greater than M times the height of the segmented object block, and the segmentation direction of the segmented object block is horizontal (width > M * height && split_dir_flag[x0][y0] == 0), the segmentation of the segmented object block is set to BT segmentation (split_sel_flag[x0][y0] = MODEBT), and it is determined that no decoding of the segmentation mode selection flag is required (FALSE).

[0549] Furthermore, if the height of the segmented object block is greater than M times the width of the segmented object block, and the segmentation direction of the segmented object block is vertical (height > M * width && split_dir_flag[x0][y0] == 1), the segmentation of the segmented object block is set to BT segmentation (split_sel_flag[x0][y0] = MODE_BT), and it is determined that no decoding of the segmentation mode selection flag is required (FALSE).

[0550] Furthermore, although there are situations where TT segmentation is restricted, the value of TTAVailable is not set here because it does not affect the result of PT segmentation marking. Additionally, the value of TTAvailable will not change. This subroutine, along with BTAVailable / TTAVailable, is only called when TRUE. Even if the above conditions are met and the short-side direction is restricted to BT segmentation only, TT segmentation can still be performed in the long-side direction. Therefore, it does not affect the value of TTAvailable.

[0551] (Segmentation direction marking determination (additional condition for aspect ratio TT segmentation restriction))

[0552] Furthermore, the processing flow of the CN information decoding unit 10 for the segmentation pattern (aspect ratio TT segmentation restriction) under this restriction can also be the same as... Figure 50 The restricted segmentation pattern (B-d3) shown is the same. Regarding... Figure 50 The processing flow shown has already been described above, so it is omitted here. Regarding... Figure 50 The processing flow shown includes additional conditions for determining the segmentation direction marker (aspect ratio TT segmentation limit), utilizing... Figure 52 Let me explain. Figure 52 This is a diagram illustrating an example of pseudocode representing additional conditions for determining the segmentation direction markers in a restricted segmentation pattern. (See diagram for example.) Figure 52 As shown, if the width of the segmented object block is greater than M times the height of the segmented object block, and the segmentation of the segmented object block is TT segmentation (width > M * height && split_sel_flag[x0][y0] == MODETT), the segmentation direction of the segmented object block is set to the vertical direction (split_dir_flag[x0][y0] = 1), and it is determined that no segmentation direction mark is needed for decoding (FALSE).

[0553] Furthermore, if the height of the segmented object block is greater than M times the width of the segmented object block, and the segmentation of the segmented object block is TT segmentation (height>M*width&&split_sel_flag[x0][y0]==MODE_TT), the segmentation direction of the segmented object block is set to the horizontal direction (split_dir_flag[x0][y0]=0), and it is determined that no segmentation direction mark is needed for decoding (FALSE).

[0554] (MT information decoding processing)

[0555] For examples of each operation of CN information decoding based on CN information decoding unit 10, please refer to... Figures 55-66 Let me explain.

[0556] (MT Information Decoding Processing Example 1)

[0557] Figure 55 This is a flowchart illustrating a first example of MT information decoding processing of the CN information decoding unit 10 according to an embodiment of the present invention. Figure 55 This is a flowchart illustrating the MT decoding process when MT segmentation includes MNT segmentation and QT segmentation.

[0558] (S1101)

[0559] The CN information decoding unit 10 first determines in S1101 whether to decode the MT segmentation mark (MT segmentation mark determination). If the CN information decoding unit 10 determines that it is to decode the MT segmentation mark (MT segmentation mark determination is yes / TRUE), it proceeds to step S1102. If the CN information decoding unit 10 determines that it is not to decode the MT segmentation mark (MT segmentation mark determination is no / FALSE), it ends the MT information decoding process.

[0560] (S1102)

[0561] In S1102, the CN information decoding unit 10 decodes the MT splitting flag mt_split_flag. Here, mt_split_flag = 0 indicates that the object block is not split, and mt_split_flag = 1 indicates that the object block is split.

[0562] (S1103)

[0563] Next, the CN information decoding unit 10 determines the discriminant related to the MT splitting flag mt_split_flag.

[0564] MT segmentation marker! = 0 (Equation 1101)

[0565] The authenticity of (Equation 1101) is determined. If (Equation 1101) is true, proceed to step S1104; if (Equation 1101) is false, end the MT information decoding process.

[0566] (S1104)

[0567] In step S1104, the CN information decoding unit 10 determines whether to decode the MT segmentation mode selection flag (MT segmentation mode selection flag determination). If the CN information decoding unit 10 determines that it should decode the MT segmentation mode selection flag (MT segmentation mode selection flag determination is ES / TRUE), it proceeds to step S1105. If the CN information decoding unit 10 determines that it should not decode the MT segmentation mode selection flag (MT segmentation mode selection flag determination is O / FALSE), it sets mt_sel_flag = 0 and proceeds to step S1106.

[0568] (S1105)

[0569] In S1105, the CN information decoding unit 10 decodes the MT segmentation mode selection flag mt_sel_flag. Here, mt_sel_flag = 0 indicates that the object block is segmented by QT, and mt_sel_flag = 1 indicates that the object block is segmented by MNT.

[0570] (S1106)

[0571] In S1106, the CN information decoding unit 10 divides the target block into segments by using the segmentation mode indicated by the MT segmentation mode selection flag mt_sel_flag.

[0572] More specifically, when the MT segmentation mode selection flag mt_sel_flag indicates MNT segmentation, such as Figure 53 As shown in (a), the CN information decoding unit 10 divides the object block (object node) into 9 nodes (blocks) by dividing it into 1:2:1 in the horizontal direction and 1:2:1 in the vertical direction. That is, by dividing the object node into 1:2:1 in the first direction and 1:2:1 in the second direction perpendicular (or orthogonal) to the first direction, it is divided into 9 nodes.

[0573] On the other hand, when the MT segmentation mode selection flag mt_sel_flag indicates QT segmentation, such as Figure 7 As shown in (a), the CN information decoding unit 10 performs quadtree segmentation on the object block.

[0574] Furthermore, the segmentation method represented by MNT segmentation can also be achieved by continuously applying two TT segmentations with orthogonal segmentation directions to the object node. However, in the example above, when mt_sel_flag represents MNT segmentation, the CN information decoding unit 10 segments the object node into more than four (in this case, nine) nodes through a single segmentation process. Therefore, complex segmentation can be achieved while suppressing the increase in segmentation depth (number of segmentations).

[0575] (S1107~S1109)

[0576] Next, the blocks generated by this segmentation are subjected to a loop process (S1107, S1108, S1109) that repeatedly performs MT information decoding. The process ends when this loop process is completed.

[0577] use Figure 56 This section explains in detail the determination of MT segmentation markers and the determination of MT segmentation mode selection markers. Figure 56 (a) is a diagram showing an example of pseudocode representing the MT segmentation mark determination process. Figure 56 (b) is a diagram showing an example of pseudocode representing the MT segmentation mode selection flag determination process.

[0578] (MT segmentation marker determination)

[0579] The CN information decoding unit 10 uses the following conditions 1 to 3 to determine the MT segmentation mark.

[0580] Condition 1: The height of the block to be split is greater than or equal to minPTSize × 2, or the width of the block to be split is greater than or equal to minPTSize × 2 (height >= minPTSize * 2 || width >= minPTSize * 2). Here, minPTSize is the minimum block size when splitting by PT.

[0581] Condition 2: The width and height of the segmented object block are below maxMTSize, which represents the maximum block size (width <= maxMTSize && height <= maxMTSize). Here, maxMTSize is the maximum block size when segmented by MT.

[0582] Condition 3: The qtDepth of the hierarchy of the segmented object block is less than maxQTDepth, or the mntDepth of the hierarchy of the segmented object block is less than maxMNTDepth (qtDepth < maxQTDepth || mntDepth < maxMNTDepth). Here, maxQTSize is the maximum value of the depth (hierarchy) when segmenting with QT, and maxMNTSize is the maximum value of the depth (hierarchy) when segmenting with MNT.

[0583] If all of the above conditions 1 to 3 are met, the CN information decoding unit 10 determines that MT segmentation is possible (TRUE). If any of the above conditions 1 to 3 are not met, the CN information decoding unit 10 determines that MT segmentation is not possible (FALSE).

[0584] (MT segmentation mode selection marker determination)

[0585] The CN information decoding unit 10 uses the following conditions 1 to 3 to determine the MT segmentation mode selection flag.

[0586] Condition 1: The height and width of the block to be segmented are greater than or equal to minPTSize×4 (height>=minPTSize*4&&width>=minPTSize*4).

[0587] Condition 2: The width and height of the segmented object block are below maxMTSize, which represents the maximum block size (width <= maxPTSize && height <= maxPTSize).

[0588] Condition 3: The qtDepth of the hierarchy of the block that becomes the object of the split is less than the maxQTDepth, and the mntDepth of the hierarchy of the block that becomes the object of the split is less than the maxMNTDepth (qtDepth < maxQTDepth && mntDepth < maxMNTDepth).

[0589] If all of the above conditions 1 to 3 are met, the CN information decoding unit 10 determines that decoding of the MT segmentation mode selection flag is required (TRUE). Furthermore, if any of the above conditions 1 to 3 are not met, the CN information decoding unit 10 determines that decoding of the MT segmentation mode selection flag is not required (FALSE).

[0590] (MT Information Decoding Processing Example 2)

[0591] Figure 57This is a flowchart illustrating a second example of MT information decoding processing of the CN information decoding unit 10 according to an embodiment of the present invention. In this example, when performing MT segmentation, the difference from the MT information decoding processing example 1 described above lies in the decoding processing of the marker (MT segmentation direction marker mt_dir_flag) that identifies whether the segmentation direction is horizontal or vertical.

[0592] S1401 to S1405 correspond to S1101 to S1105 in the above-mentioned MT information decoding processing example 1, and S1409 to S1411 correspond to S1107 to S1109 in the above-mentioned MT information decoding processing example 1.

[0593] In S1404, if the CN information decoding unit 10 determines that it will not decode the MT segmentation mode selection flag, or if it proceeds to S1406 after S1405.

[0594] (S1406)

[0595] In S1406, the CN information decoding unit 10 determines whether to decode the MT segmentation direction mark. If the CN information decoding unit 10 determines that it should decode the MT segmentation direction mark, it proceeds to S1407; if it determines that it should not decode the MT segmentation direction mark, it proceeds to S1408.

[0596] (S1407)

[0597] In S1407, the CN information decoding unit 10 decodes the MT segmentation direction flag mt_dir_flag. Here, mt_dir_flag = 0 indicates that the segmentation direction of the object block (object node) is horizontal, and mt_dir_flag = 1 indicates that the segmentation direction of the object block (object node) is vertical.

[0598] In addition, the order of decoding the MT segmentation mode selection flag mt_sel_flag (S1404 and S1405) and the MT segmentation direction flag mt_dir_flag (S1406 and S1407) can be reversed.

[0599] (S1408)

[0600] In S1408, the CN information decoding unit 10 divides the segmentation object block based on the MT segmentation direction flag mt_dir_flag and the MT segmentation mode selection flag mt_sel_flag.

[0601] More specifically, when the CN information decoding unit 10 has the MT segmentation direction flag set to 0 (mt_dir_flag = 0) and the MT segmentation mode selection flag set to 1 (mt_sel_flag = 1), such as Figure 53As shown in (b), the object block (object node) is divided into three nodes in a horizontal direction of 1:2:1, and the central node of the three nodes is divided into three nodes in a vertical direction of 1:2:1, thus dividing it into 5 nodes (blocks).

[0602] Furthermore, when the CN information decoding unit 10 has the MT segmentation direction flag set to 1 (mt_dir_flag = 1) and the MT segmentation mode selection flag set to 1 (mt_sel_flag = 1), such as Figure 53 As shown in (c), the object block (object node) is divided into three nodes in the vertical direction in a 1:2:1 ratio, and the central node of the three nodes is divided into three nodes in the horizontal direction in a 1:2:1 ratio, thus dividing it into 5 nodes (blocks).

[0603] Next, using Figure 58 This section details the determination of MT segmentation markers, MT segmentation mode selection markers, and MT segmentation direction markers in Example 2 of MT information decoding processing. Figure 58 (a) is a diagram showing an example of pseudocode representing the MT segmentation mark determination process. Figure 58 (b) is a diagram showing an example of pseudocode representing the MT segmentation mode selection flag determination process. Figure 58 (c) is a diagram showing an example of pseudocode representing the MT segmentation direction mark determination process.

[0604] (MT segmentation marker determination)

[0605] The condition 3 for determining the MT segmentation mark in MT information decoding processing example 2 is different from that in MT information decoding processing example 1. The condition 3 for determining the MT segmentation mark in MT information decoding processing example 2 is as follows.

[0606] Condition 3: The qtDepth of the hierarchy of the segmented object block is less than maxQTDepth, or the mftDepth of the hierarchy of the segmented object block is less than maxMFTDepth (qtDepth < maxQTDepth || mftDepth < maxMFTDepth). Here, maxMFTDepth is the maximum value of the depth (hierarchy) during MFT segmentation.

[0607] (MT segmentation mode selection marker determination)

[0608] Condition 3 for determining the MT segmentation mode selection marker in MT information decoding processing example 2 differs from that in MT information decoding processing example 1. Condition 3 for determining the MT segmentation mode selection marker in MT information decoding processing example 2 is as follows.

[0609] Condition 3: The qtDepth of the hierarchy of the block that becomes the object of the split is less than the maxQTDepth, and the mftDepth of the hierarchy of the block that becomes the object of the split is less than the maxMFTDepth (qtDepth < maxQTDepth && mftDepth < maxMFTDepth).

[0610] (MT segmentation direction marking determination)

[0611] The CN information decoding unit 10 uses the following conditions 1 to 4 to determine the MT segmentation direction mark.

[0612] Condition 1: The MT segmentation mode selection flag indicates MFT segmentation (mt_sel_flag == MODE_MFT).

[0613] Condition 2: The height and width of the block to be segmented are greater than or equal to minPTSize×4 (height>=minPTSize*4&&width>=minPTSize*4).

[0614] Condition 3: The width and height of the segmented object block are below maxMTSize, which represents the maximum block size (width <= maxPTSize && height <= maxPTSize).

[0615] Condition 4: The qtDepth of the hierarchy of the block that becomes the object of the split is less than the maxQTDepth, and the mftDepth of the hierarchy of the block that becomes the object of the split is less than the maxMFTDepth (qtDepth < maxQTDepth && mftDepth < maxMFTDepth).

[0616] If all of the above conditions 1 to 4 are met, the CN information decoding unit 10 determines that decoding of the MT segmentation direction mark is required (TRUE). If any of the above conditions 1 to 4 are not met, the CN information decoding unit 10 determines that decoding of the MT segmentation direction mark is not required (FALSE).

[0617] Furthermore, in Example 2 of MT information decoding processing, if the CN information decoding unit 10 has performed node segmentation using at least one of BT segmentation and TT segmentation on the node above the target node, then for the target node, segmentation is not performed in the first segmentation type group, which includes segmentation type (MFT) that divides the node into 5 nodes and QT segmentation. For example, after performing one PT segmentation (BT segmentation, TT segmentation), MT segmentation (QT segmentation, MFT segmentation) is not performed.

[0618] Figure 59It is a table that represents the relationship between the values ​​and shapes of the MT splitting flag mt_split_flag, the MT splitting mode selection flag mt_sel_flag, and the MT splitting direction flag mt_dir_flag.

[0619] When the MT splitting flag is 1 (mt_split_flag == 1) and the MT splitting mode selection flag is 0 (mt_sel_flag == 0), the CN information decoding unit 10 becomes Figure 7 It is segmented in the same way as shown in (a) of QT.

[0620] When the MT splitting flag is 1 (mt_split_flag == 1), the MT splitting mode selection flag is 1 indicating MT splitting (mt_sel_flag == 1), and the MT splitting direction flag is 0 (mt_dir_flag == 0), the CN information decoding unit 10 becomes Figure 53 (b) shows the MFT HOR (in Figure 59 It is divided in the same way as the abbreviation "MFTH".

[0621] When the MT splitting flag is 1 (mt_split_flag == 1), the MT splitting mode selection flag is 1 indicating MT splitting (mt_sel_flag == 1), and the MT splitting direction flag is 1 (mt_dir_flag == 1), the CN information decoding unit 10 becomes Figure 53 The MFT VER shown in (c) (in) Figure 59 It is divided in the same way as the Chinese abbreviation "MFTV".

[0622] In other words, when the MT splitting flag indicates that a splitting of the first splitting type group, which includes splitting into 5 nodes (MFT) and QT splitting, is being performed (mt_split_flag == 1), and the MT splitting mode selection flag indicates that a splitting of the splitting type, which includes splitting into 5 nodes, is being performed (MFT) (mt_sel_flag == 1), the CN information decoding unit 10 uses the direction indicated by the MT splitting direction flag mt_dir_flag as the first direction and splits the object node into 5 nodes.

[0623] (MT Information Decoding Processing Example 3)

[0624] The process of MT information decoding in CN information decoding unit 10 of MT information decoding processing example 3 is the same as that in MT information decoding processing example 2.

[0625] use Figure 60This section details the determination of MT segmentation markers, MT segmentation mode selection markers, and MT segmentation direction markers in Example 3 of MT information decoding processing. Figure 60 (a) is a diagram showing an example of pseudocode representing the MT segmentation mark determination process. Figure 60 (b) is a diagram showing an example of pseudocode representing the MT segmentation mode selection flag determination process. Figure 60 (c) is a diagram showing an example of pseudocode representing the MT segmentation direction mark determination process.

[0626] (MT segmentation marker determination)

[0627] The condition 3 for determining the MT segmentation marker in MT information decoding processing example 3 is different from that in MT information decoding processing example 1. The condition 3 for determining the MT segmentation marker in MT information decoding processing example 3 is as follows.

[0628] Condition 3: The qtDepth of the hierarchy of the segmented object block is less than the maxQTDepth, or the dqtDepth of the hierarchy of the segmented object block is less than the maxDQTDepth (qtDepth < maxQTDepth || dqtDepth < maxDQTDepth).

[0629] (MT segmentation mode selection marker determination)

[0630] Condition 3 for determining the MT segmentation mode selection marker in MT information decoding processing example 3 differs from that in MT information decoding processing example 1. Condition 3 for determining the MT segmentation mode selection marker in MT information decoding processing example 3 is as follows.

[0631] Condition 3: The qtDepth of the hierarchy of the block that becomes the object of segmentation is less than maxQTDepth, and the dqtDepth of the hierarchy of the block that becomes the object of segmentation is less than maxDQTDepth (qtDepth < maxQTDepth && dqtDepth < maxDQTDepth). Here, maxDQTDepth is the maximum value of the depth (hierarchy) during DQT segmentation.

[0632] (MT segmentation direction marking determination)

[0633] Conditions 1, 2, and 4 for determining the MT segmentation direction marker in MT information decoding processing example 3 are different from those in MT information decoding processing example 2. Conditions 1, 2, and 4 for determining the MT segmentation direction marker in MT information decoding processing example 3 are as follows.

[0634] Condition 1: The MT segmentation mode selection flag indicates DQT segmentation (mt_sel_flag == MODE_DQT).

[0635] Condition 2: The height of the block to be segmented is greater than or equal to minPTSize×4, or the width of the block to be segmented is greater than or equal to minPTSize×4 (height>=minPTSize*4||width>=minPTSize*4).

[0636] Condition 4: The qtDepth of the hierarchy of the block that becomes the object of the split is less than the maxQTDepth, and the dqtDepth of the hierarchy of the block that becomes the object of the split is less than the maxDQTDepth (qtDepth < maxQTDepth && dqtDepth < maxDQTDepth).

[0637] Furthermore, in Example 3 of MT information decoding processing, when the CN information decoding unit 10 performs node segmentation using a segmentation type of four nodes (DQT) for nodes above the target node, it does not perform segmentation for the target node using a segmentation type of four or more nodes containing rectangular nodes. For example, even if a DQT segmentation is performed once, MT segmentation (QT segmentation) is not performed.

[0638] Figure 61 It is a table that represents the relationship between the values ​​and shapes of the MT splitting flag mt_split_flag, the MT splitting mode selection flag mt_sel_flag, and the MT splitting direction flag mt_dir_flag.

[0639] When the MT splitting flag is 1 (mt_split_flag == 1) and the MT splitting mode selection flag is 0 (mt_sel_flag == 0), the CN information decoding unit 10 becomes Figure 7 It is segmented in the same way as shown in (a) of QT.

[0640] When the MT splitting flag is 1 (mt_splitflag == 1), the MT splitting mode selection flag is 1 indicating DQT splitting (mt_sel_flag == 1), and the MT splitting direction flag is 0 (mt_dir_flag == 0), the CN information decoding unit 10 becomes Figure 53 The DQTHOR shown in (e) is in Figure 61 It is divided in the same way as the Chinese abbreviation "DQTH".

[0641] When the MT segmentation flag is 1 (mtsplitflag == 1), the MT segmentation mode selection flag is 1 indicating DQT segmentation (mt_sel_flag == 1), and the MT segmentation direction flag is 1 (mt_dir_flag == 1), the CN information decoding unit 10 becomes Figure 53The DQTVER shown in (d) is in Figure 61 It is segmented in the same way as the Chinese abbreviation "DQTV".

[0642] In other words, when the MT splitting flag indicates that a splitting is to be performed in the first splitting type group (mt_split_flag == 1) including splitting into four nodes (DQT) and QT splitting, and the MT splitting mode selection flag indicates that a splitting is to be performed under the splitting into four nodes (DQT), the CN information decoding unit 10 takes the direction indicated by the MT splitting direction flag as the first direction and splits the object node into four nodes.

[0643] (MT Information Decoding Processing Example 4)

[0644] The process of MT information decoding in CN information decoding unit 10 of MT information decoding processing example 4 is the same as that in MT information decoding processing example 2.

[0645] use Figure 62 This section details the determination of MT segmentation markers, MT segmentation mode selection markers, and MT segmentation direction markers in Example 4 of MT information decoding processing. Figure 62 (a) is a diagram showing an example of pseudocode representing the MT segmentation mark determination process. Figure 62 (b) is a diagram showing an example of pseudocode representing the MT segmentation mode selection flag determination process. Figure 62 (c) is a diagram showing an example of pseudocode representing the MT segmentation direction mark determination process.

[0646] (MT segmentation marker determination)

[0647] The condition 3 for determining the MT segmentation mark in MT information decoding processing example 4 is different from that in MT information decoding processing example 1. The condition 3 for determining the MT segmentation mark in MT information decoding processing example 4 is as follows.

[0648] Condition 3: The qtDepth of the hierarchy of the segmented object block is less than maxQTDepth, or the dftDepth of the hierarchy of the segmented object block is less than maxDFTDepth (qtDepth < maxQTDepth || dftDepth < maxDFTDepth). Here, maxDFTDepth is the maximum value of the depth (hierarchy) during DFT segmentation.

[0649] (MT segmentation mode selection marker determination)

[0650] Conditions 1 and 3 for determining the MT segmentation mode selection marker in Example 4 of MT information decoding processing are different from those in Example 1 of MT information decoding processing. Conditions 1 and 3 for determining the MT segmentation mode selection marker in Example 4 of MT information decoding processing are as follows.

[0651] Condition 1: The height of the block to be segmented is greater than or equal to minPTSize×8, or the width of the block to be segmented is greater than or equal to minPTSize×8 (height>=minPTSize*8&&width>=minPTSize*8).

[0652] Condition 3: The qtDepth of the hierarchy of the block that becomes the object of the split is less than the maxQTDepth, and the dftDepth of the hierarchy of the block that becomes the object of the split is less than the maxDFTDepth (qtDepth < maxQTDepth && dftDepth < maxDFTDepth).

[0653] (MT segmentation direction marking determination)

[0654] Conditions 2 and 4 for determining the MT segmentation direction marker in Example 4 of MT information decoding processing differ from those in Example 3 of MT information decoding processing. Conditions 2 and 4 for determining the MT segmentation direction marker in Example 4 of MT information decoding processing are as follows.

[0655] Condition 2: The height of the block to be segmented is greater than or equal to minPTSize×8, or the width of the block to be segmented is greater than or equal to minPTSize×8 (height>=minPTSize*8||width>=minPTSize*8).

[0656] Condition 4: The qtDepth of the hierarchy of the block that becomes the object of the split is less than the maxQTDepth, and the dftDepth of the hierarchy of the block that becomes the object of the split is less than the maxDFTDepth (qtDepth < maxQTDepth && dftDepth < maxDFTDepth).

[0657] Furthermore, in Example 4 of MT information decoding processing, when the CN information decoding unit 10 performs node segmentation using a segmentation type (DFT) that divides nodes above the target node into 5 nodes, it does not perform segmentation on the target node using a segmentation type that divides nodes into 4 or more nodes containing rectangular nodes. For example, after performing one PT segmentation (DFT segmentation), MT segmentation (QT segmentation) is not performed.

[0658] Figure 63 It is a table that represents the relationship between the values ​​and shapes of the MT splitting flag mt_split_flag, the MT splitting mode selection flag mt_sel_flag, and the MT splitting direction flag mt_dir_flag.

[0659] When the MT splitting flag is 1 (mt_split_flag == 1) and the MT splitting mode selection flag is 0 (mt_sel_flag == 0), the CN information decoding unit 10 becomes Figure 7 It is segmented in the same way as shown in (a) of QT.

[0660] When the MT splitting flag is 1 (mt_split_flag == 1), the MT splitting mode selection flag is 1 indicating DQT splitting (mt_sel_flag == 1), and the MT splitting direction flag is 0 (mt_dir_flag == 0), the CN information decoding unit 10 becomes Figure 53 The DFT HOR shown in (g) (in) Figure 63 It is divided in the same way as the abbreviation "DFTH".

[0661] When the MT splitting flag is 1 (mt_split_flag == 1), the MT splitting mode selection flag is 1 indicating DQT splitting (mt_sel_flag == 1), and the MT splitting direction flag is 1 (mt_dir_flag == 1), the CN information decoding unit 10 becomes Figure 53 The DFT VER shown in (f) is in Figure 63 It is divided in the same way as the abbreviation "DFTV".

[0662] In other words, when the MT splitting flag indicates that a splitting of the first splitting type group, which includes splitting into 5 nodes (DFT) and QT splitting, is being performed (mt_split_flag == 1), and the MT splitting mode selection flag indicates that a splitting of the splitting type (DFT) into 5 nodes is being performed (mt_sel_flag == 1), the CN information decoding unit 10 uses the direction indicated by the MT splitting direction flag as the first direction and splits the object node into 5 nodes.

[0663] (MT Information Decoding Processing Example 5)

[0664] Figure 64 This is a flowchart illustrating the MT information decoding process of the CN information decoding unit 10 according to an embodiment of the present invention. In this embodiment, when performing MT segmentation, the difference from the MT information decoding process example 2 described above is that decoding processing is performed on the marker (MT asymmetric marker mt_amt_flag) that identifies asymmetric patterns.

[0665] S2201 to S1407 correspond to S1401 to S1407 in the above-mentioned MT information decoding processing example 2, and S2211 to S2013 correspond to S1409 to S1411 in the above-mentioned MT information decoding processing example 2.

[0666] In S2206, if the CN information decoding unit 10 determines that it is decoding the MT segmentation direction mark, or after S2207, it enters S2208.

[0667] (S2208)

[0668] In step S2208, the CN information decoding unit 10 determines whether to decode the MT asymmetric tag. If the CN information decoding unit 10 determines that it should decode the MT asymmetric tag, it proceeds to step S2209; if it determines that it should not decode the MT segmentation MMT tag, it proceeds to step S2210.

[0669] (S2209)

[0670] In S2209, the CN information decoding unit 10 decodes the MT asymmetric flag mt_amt_flag. Here, mt_amt_flag = 0 indicates that the object block (object node) is divided in a 1:4:2:1 ratio from top to bottom when the division direction is horizontal, and in a 1:4:2:1 ratio from left to right when the division direction is vertical. mt_amt_flag = 1 indicates that the object block (object node) is divided in a 1:2:4:1 ratio from top to bottom when the division direction is horizontal, and in a 1:2:4:1 ratio from left to right when the division direction is vertical.

[0671] (S2210)

[0672] In S2210, the CN information decoding unit 10 divides the target block based on the MT segmentation mode selection flag mt_sel_flag, the MT segmentation direction flag mt_dir_flag, and the MT asymmetric flag mt_amt_flag.

[0673] Next, using Figure 65 This section details the determination of MT segmentation markers, MT segmentation mode selection markers, and MT segmentation direction markers in Example 5 of the MT information decoding process. Figure 65 (a) is a diagram showing an example of pseudocode representing the MT segmentation mark determination process. Figure 65 (b) is a diagram showing an example of pseudocode representing the MT segmentation mode selection flag determination process. Figure 65 (c) is a diagram showing an example of pseudocode representing the MT segmentation direction mark determination process.

[0674] (MT segmentation marker determination)

[0675] The condition 3 for determining the MT segmentation mark in MT information decoding processing example 5 is different from that in MT information decoding processing example 1. The condition 3 for determining the MT segmentation mark in MT information decoding processing example 5 is as follows.

[0676] Condition 3: The qtDepth of the hierarchy of the segmented object block is less than maxQTDepth, or the daqtDepth of the hierarchy of the segmented object block is less than maxDAQTDepth (qtDepth < maxQTDepth || daqtDepth < maxDAQTDepth). Here, maxDAQTDepth is the maximum value of the depth (hierarchy) during DAQT segmentation.

[0677] (MT segmentation mode selection marker determination)

[0678] Condition 3 for determining the MT segmentation mode selection marker in MT information decoding processing example 5 differs from that in MT information decoding processing example 4. Condition 3 for determining the MT segmentation mode selection marker in MT information decoding processing example 5 is described below.

[0679] Condition 3: The qtDepth of the hierarchy of the block that becomes the object of the split is less than the maxQTDepth, and the daqtDepth of the hierarchy of the block that becomes the object of the split is less than the maxDAQTDepth (qtDepth < maxQTDepth && daqtDepth < maxDAQTDepth).

[0680] (MT segmentation direction marking determination)

[0681] Conditions 1 and 4 for determining the MT segmentation direction marker in MT information decoding processing example 5 are different from those in MT information decoding processing example 4. Condition 4 for determining the MT segmentation direction marker in MT information decoding processing example 5 is as follows.

[0682] Condition 4: The qtDepth of the hierarchy of the block that becomes the object of the split is less than the maxQTDepth, and the daqtDepth of the hierarchy of the block that becomes the object of the split is less than the maxDAQTDepth (qtDepth < maxQTDepth && daqtDepth < maxDAQTDepth).

[0683] Furthermore, in Example 5 of MT information decoding processing, when the CN information decoding unit 10 performs node segmentation using a four-node segmentation type (DAQT) for nodes above the target node, it does not perform segmentation for the target node using a segmentation type that divides it into four or more nodes containing rectangular nodes. For example, even if DAQT segmentation is performed once, MT segmentation (QT segmentation) is not performed.

[0684] Figure 66 It is a table representing the relationship between the values ​​and shapes of the MT splitting flag mt_split_flag, the MT splitting mode selection flag mt_sel_flag, the MT splitting direction flag mt_dir_flag, and the MT asymmetry flag mt_amt_flag.

[0685] When the MT splitting flag is 1 (mt_split_flag == 1) and the MT splitting mode selection flag is 0 (mt_sel_flag == 0), the CN information decoding unit 10 becomes Figure 7 It is segmented in the same way as shown in (a) of QT.

[0686] When the MT splitting flag is 1 (mt_split_flag == 1), the MT splitting mode selection flag is 1 indicating MT splitting (mt_sel_flag == 1), the MT splitting direction flag is 0 (mt_dir_flag == 0), and the MT asymmetry flag is 0 (mt_amt_flag == 0), the CN information decoding unit 10 becomes Figure 54 (c) shows DAQT HOR 0 (in Figure 66 It is divided in the same way as the Chinese abbreviation "DAQTH0".

[0687] When the MT splitting flag is 1 (mt_split_flag == 1), the MT splitting mode selection flag is 1 indicating MT splitting (mt_sel_flag == 1), the MT splitting direction flag is 0 (mt_dir_flag == 0), and the MT asymmetry flag is 1 (mt_amt_flag == 1), the CN information decoding unit 10 becomes Figure 54 The DAQT HOR 1 shown in (d) is in Figure 66 It is divided in the same way as "DAQTH1" (abbreviated as "DAQTH1" in Chinese).

[0688] When the MT splitting flag is 1 (mt_split_flag == 1), the MT splitting mode selection flag is 1 indicating MT splitting (mt_sel_flag == 1), the MT splitting direction flag is 1 (mt_dir_flag == 1), and the MT asymmetry flag is 0 (mt_amt_flag == 0), the CN information decoding unit 10 becomes Figure 54 (a) shows DAQT VER 0 (in Figure 66 It is divided in the same way as "DAQTV0" (abbreviated as "DAQTV0" in Chinese).

[0689] When the MT splitting flag is 1 (mt_split_flag == 1), the MT splitting mode selection flag is 1 indicating MT splitting (mt_sel_flag == 1), the MT splitting direction flag is 1 (mt_dir_flag == 1), and the MT asymmetry flag is 1 (mt_amt_flag == 1), the CN information decoding unit 10 becomes Figure 54 (b) shows DAQT VER 1 (in Figure 66 It is divided in the same way as "DAQTV1" (abbreviated as "DAQTV1" in Chinese).

[0690] In other words, when the MT segmentation flag indicates a segmentation in the first segmentation type group (mt_sel_flag == 1) that includes a segmentation of four nodes that are asymmetric and directional (DAQT) and a segmentation of four nodes that are not directional (QT), and indicates a segmentation of four nodes that is asymmetric and directional (mt_sel_flag == 1), the CN information decoding unit 10 takes the direction indicated by the MT segmentation direction flag as the first direction, and segments the object node into four nodes according to the ratio of 1:4:2:1 or 1:2:4:1 indicated by the MT asymmetric flag mt_amt_flag (the fourth flag mentioned above).

[0691] (Third Implementation)

[0692] (MT segmentation mode group and PT segmentation mode group)

[0693] In this embodiment, the various segmentation modes described above are also classified into MT segmentation mode group (MT segmentation) and PT segmentation mode group (PT segmentation). Here, MT segmentation includes at least QT segmentation, and PT segmentation includes at least BT segmentation.

[0694] In this embodiment, non-directional segments are classified as MT segments, and directional segments are classified as PT segments.

[0695] More specifically, in this embodiment, MT segmentation includes QT segmentation, and PT segmentation includes DQT segmentation, DFT segmentation, and DAQT segmentation in addition to BT segmentation. Furthermore, PT segmentation may also include TT segmentation.

[0696] In the third embodiment, there are a first mode group (MT segmentation) and a second mode group (PT segmentation) as segmentation mode groups. The second mode group (when the direct parent node is a square) includes at least a BT segmentation of two nodes divided into rectangles and a segmentation of four or more nodes containing rectangles.

[0697] (PT information decoding processing)

[0698] (Example 1 of PT information decoding processing)

[0699] Figure 67 This is a flowchart illustrating the PT information decoding process of the CN information decoding unit 10 according to one embodiment of the present invention. It is also a flowchart illustrating the PT information decoding process when PT segmentation includes BT segmentation, TT segmentation, and DQT segmentation. The PT decoding process is performed after the MT information decoding process.

[0700] (S2701)

[0701] The CN information decoding unit 10 first determines in S2701 whether to decode the PT segmentation mark. If the CN information decoding unit 10 determines that it should decode the PT segmentation mark, it proceeds to step S2702; if it determines that it should not decode the PT segmentation mark, it ends the PT information decoding process.

[0702] (S2702)

[0703] In S2702, the CN information decoding unit 10 decodes the PT splitting flag pt_split_flag. Here, pt_split_flag = 0 indicates that object block splitting is not performed, and pt_split_flag = 1 indicates that object block splitting is performed.

[0704] (S2703)

[0705] Next, the CN information decoding unit 10 determines the discriminant related to the PT splitting flag pt_split_flag.

[0706] PT segmentation marker! = 0 (Equation 2701)

[0707] The authenticity of (Equation 2701) is determined. If (Equation 2701) is true, proceed to step S2704; if (Equation 2701) is false, end the PT information decoding process.

[0708] (S2704)

[0709] In S2704, the CN information decoding unit 10 determines whether to decode the PT segmentation direction mark (PT segmentation mark determination). If the CN information decoding unit 10 determines that it is to decode the PT segmentation direction mark (PT segmentation mark determination is yes / TRUE), it proceeds to step S2705; if it determines that it is not to decode the PT segmentation direction mark (PT segmentation mark determination is no / FALSE), it proceeds to step S2706.

[0710] (S2705)

[0711] In S2705, the CN information decoding unit 10 decodes the PT segmentation direction flag pt_dir_flag. Here, pt_dir_flag = 0 indicates that the object block is segmented in the horizontal direction, and pt_dir_flag = 1 indicates that the object block is segmented in the vertical direction.

[0712] (S2706)

[0713] In S2706, the CN information decoding unit 10 determines whether to decode the PT segmentation mode selection flag (PT segmentation mode selection flag determination). If the CN information decoding unit 10 determines that it is to decode the PT segmentation mode selection flag (PT segmentation mode selection flag determination is yes / TRUE), it proceeds to step S2707; if it determines that it is not to decode the PT segmentation mode selection flag (PT segmentation mode selection flag determination is no / FALSE), it proceeds to step S2708.

[0714] (S2707)

[0715] In S2707, the CN information decoding unit 10 decodes the PT segmentation mode selection flag pt_sel_flag. Here, pt_sel_flag = 0 indicates that the object block is segmented by BT, and pt_sel_flag = 1 indicates that the object block is segmented by TT.

[0716] (S2708)

[0717] In S2708, the CN information decoding unit 10 divides the target block into segments by the segmentation direction indicated by the PT segmentation direction flag pt_dir_flag and the segmentation mode indicated by the PT segmentation mode selection flag pt_sel_flag.

[0718] (S2709~S2711)

[0719] Next, the blocks generated by this segmentation are subjected to a loop process (S2709, S2710, S2711) that repeatedly performs PT information decoding. The process ends when this loop process is completed.

[0720] use Figure 68 This section details the determination of PT segmentation markers, PT segmentation mode selection markers, and PT segmentation direction markers in Example 1 of PT information decoding processing. Figure 68 (a) is a diagram showing an example of pseudocode representing the PT segmentation marker determination process. Figure 68 (b) is a diagram showing an example of pseudocode representing the PT segmentation mode selection flag determination process. Figure 68 (c) is a diagram showing an example of pseudocode representing the PT segmentation direction marker determination process.

[0721] (PT segmentation marker determination)

[0722] The CN information decoding unit 10 uses the following conditions 1 to 3 to determine the PT segmentation mark.

[0723] Condition 1: The height of the block to be segmented is greater than or equal to minPTSize×2, or the width of the block to be segmented is greater than or equal to minPTSize×2 (height>=minPTSize*2||width>=minPTSize*2).

[0724] Condition 2: The width and height of the segmented object block are below the maximum value of the PT size, maxMTSize (width <= maxPTSize && height <= maxPTSize).

[0725] Condition 3: The ptDepth of the hierarchy of the segmented object block is less than the maxPTDepth, or the dqtDepth of the hierarchy of the segmented object block is less than the maxDQTDepth (ptDepth < maxPTDepth || dqtDepth < maxDQTDepth).

[0726] If all of the above conditions 1 to 3 are met, the CN information decoding unit 10 determines that a PT segmentation flag exists (TRUE). Furthermore, if any of the above conditions 1 to 3 are not met, the CN information decoding unit 10 determines that PT segmentation is not possible (FALSE).

[0727] (PT segmentation mode selection marker determination)

[0728] The CN information decoding unit 10 uses the following conditions 1 to 3 to determine the PT segmentation mode selection marker.

[0729] Condition 1: The height of the block to be segmented is more than or equal to minPTSize×4, or the width of the block to be segmented is more than or equal to minPTSize×4 (height>=minPTSize*4||width>=minPTSize*4).

[0730] Condition 2: The width and height of the segmented object block are below the maximum value of the MT size, maxMTSize (width <= maxMTSize && height <= maxMTSize).

[0731] Condition 3: The ptDepth of the hierarchy of the block that becomes the object of the split is less than the maxPTDepth, and the dqtDepth of the hierarchy of the block that becomes the object of the split is less than the maxDQTDepth (ptDepth < maxPTDepth && dqtDepth < maxDQTDepth).

[0732] If all of the above conditions 1 to 3 are met, the CN information decoding unit 10 determines that decoding of the PT segmentation mode selection flag is required (TRUE). Conversely, if all of the above conditions 1 to 3 are not met, the CN information decoding unit 10 determines that decoding of the PT segmentation mode selection flag is not required (FALSE).

[0733] (PT segmentation direction marking determination)

[0734] The CN information decoding unit 10 uses the following conditions 1 to 4 to determine the PT segmentation direction mark.

[0735] Condition 1: The PT segmentation mode selection flag indicates DQT segmentation (pt_sel_flag == MODE_DQT).

[0736] Condition 2: The height of the block to be segmented is greater than or equal to minPTSize×4, or the width of the block to be segmented is greater than or equal to minPTSize×4 (height>=minPTSize*4||width>=minPTSize*4).

[0737] Condition 3: The width and height of the segmented object block are below the maximum value of the MT size, maxMTSize (width <= maxMTSize && height <= maxMTSize).

[0738] Condition 4: The ptDepth of the hierarchy of the block that becomes the object of the split is less than the maxPTDepth, and the dqtDepth of the hierarchy of the block that becomes the object of the split is less than the maxDQTDepth (ptDepth < maxPTDepth && dqtDepth < maxDQTDepth).

[0739] If all of the above conditions 1 to 4 are met, the CN information decoding unit 10 determines that decoding of the PT segmentation direction mark is required (TRUE). If any of the above conditions 1 to 4 are not met, the CN information decoding unit 10 determines that decoding of the PT segmentation direction mark is not required (FALSE).

[0740] In Example 1 of PT information decoding processing, even after a PT segmentation (DQT segmentation) has been performed once, MT segmentation (QT segmentation) is restricted (prohibited). Furthermore, BT segmentation of the center block of a TT segmentation is restricted (prohibited). Additionally, BT segmentation in the same direction within a BT-segmented block is restricted (prohibited).

[0741] Figure 69 It is a table showing the relationship between the values ​​and shapes of the PT splitting flag pt_split_flag, the PT splitting direction flag pt_dir_flag, and the PT splitting mode selection flag pt_sel_flag.

[0742] When the PT splitting flag is 1 (pt_split_flag == 1), the PT splitting direction flag is 0 (pt_dir_flag == 0), and the PT splitting mode selection flag is 0 (pt_sel_flag == 0), the CN information decoding unit 10 becomes Figure 7 (b) shows BT HOR (in Figure 69 It is divided in the same way as the abbreviation "BTH".

[0743] When the PT segmentation flag is 1 (pt_split_flag == 1), the PT segmentation direction flag is 0 (pt_dir_flag == 0), and the PT segmentation mode selection flag is 1 (pt_sel_flag == 1), the CN information decoding unit 10 becomes Figure 7 (e) shows TT HOR (in Figure 69 It is divided in the same way as the abbreviation "TTH".

[0744] When the PT segmentation flag is 1 (pt_split_flag == 1), the PT segmentation direction flag is 0 (pt_dir_flag == 0), and the PT segmentation mode selection flag is 2 (pt_sel_flag == 2), the CN information decoding unit 10 becomes Figure 53 The DQT HOR shown in (e) is in Figure 69 It is divided in the same way as the Chinese abbreviation "DQTH".

[0745] When the PT segmentation flag is 1 (pt_split_flag == 1), the PT segmentation direction flag is 1 (pt_dir_flag == 1), and the PT segmentation mode selection flag is 0 (pt_sel_flag == 0), the CN information decoding unit 10 becomes Figure 7 The BT VER shown in (c) (in) Figure 69 It is divided in the same way as the Chinese abbreviation "BTV".

[0746] When the PT segmentation flag is 1 (pt_split_flag == 1), the PT segmentation direction flag is 1 (pt_dir_flag == 0), and the PT segmentation mode selection flag is 1 (pt_sel_flag == 1), the CN information decoding unit 10 becomes Figure 7 The TT VER shown in (f) (in) Figure 69 It is divided in the same way as the abbreviation "TTV".

[0747] When the PT segmentation flag is 1 (pt_split_flag == 1), the PT segmentation direction flag is 1 (pt_dir_flag == 0), and the PT segmentation mode selection flag is 2 (pt_sel_flag == 2), the CN information decoding unit 10 becomes Figure 53 The DQT VER shown in (d) is in Figure 69 It is segmented in the same way as the Chinese abbreviation "DQTV".

[0748] (Example 2 of PT information decoding processing)

[0749] use Figure 70 This section explains in detail the determination of PT segmentation markers, PT segmentation mode selection markers, and PT segmentation direction markers. Figure 70 (a) is a diagram showing an example of pseudocode representing the PT segmentation marker determination process. Figure 70 (b) is a diagram showing an example of pseudocode representing the PT segmentation mode selection flag determination process. Figure 70 (c) is a diagram showing an example of pseudocode representing the PT segmentation direction marker determination process.

[0750] (PT segmentation marker determination)

[0751] Condition 3 for determining the PT segmentation marker in PT information decoding processing example 2 differs from that in PT information decoding processing example 1. Condition 3 for determining the PT segmentation marker in PT information decoding processing example 2 is as follows.

[0752] Condition 3: The ptDepth of the hierarchy of the segmented object block is less than the maxPTDepth, or the dftDepth of the hierarchy of the segmented object block is less than the maxDFTDepth (ptDepth < maxPTDepth || dftDepth < maxDFTDepth).

[0753] (PT segmentation mode selection marker determination)

[0754] Conditions 1 and 3 for determining the PT segmentation mode selection marker in Example 2 of PT information decoding processing are different from those in Example 1 of PT information decoding processing. Conditions 1 and 3 for determining the PT segmentation mode selection marker in Example 2 of PT information decoding processing are as follows.

[0755] Condition 1: The height of the block to be segmented is greater than or equal to minPTSize×8, or the width of the block to be segmented is greater than or equal to minPTSize×8 (height>=minPTSize*8||width>=minPTSize*8).

[0756] Condition 3: The ptDepth of the hierarchy of the block that becomes the object of the split is less than the maxPTDepth, and the dftDepth of the hierarchy of the block that becomes the object of the split is less than the maxDFTDepth (ptDepth < maxPTDepth && dftDepth < maxDFTDepth).

[0757] (PT segmentation direction marking determination)

[0758] Conditions 1, 2, and 4 for determining the PT segmentation direction marker in Example 2 of PT information decoding processing differ from those in Example 1 of PT information decoding processing. Conditions 1, 2, and 4 for determining the PT segmentation direction marker in Example 2 of PT information decoding processing are as follows.

[0759] Condition 1: The PT segmentation mode selection flag indicates DFT segmentation (pt_sel_flag == MODE_DFT).

[0760] Condition 2: The height of the block to be segmented is greater than or equal to minPTSize×8, or the width of the block to be segmented is greater than or equal to minPTSize×8 (height>=minPTSize*8||width>=minPTSize*8).

[0761] Condition 4: The ptDepth of the hierarchy of the block that becomes the object of the split is less than the maxPTDepth, and the dftDepth of the hierarchy of the block that becomes the object of the split is less than the maxDFTDepth (ptDepth < maxPTDepth && dftDepth < maxDFTDepth).

[0762] In Example 2 of PT information decoding processing, even after a PT segmentation (DFT segmentation) has been performed once, MT segmentation (QT segmentation) is restricted (prohibited).

[0763] Figure 71 It is a table that represents the relationship between the values ​​and shapes of the PT splitting flag pt_split_flag, the PT splitting direction flag pt_dir_flag, and the PT splitting mode selection flag pt_sel_flag.

[0764] When the PT splitting flag is 1 (pt_split_flag == 1), the PT splitting direction flag is 0 (pt_dir_flag == 0), and the PT splitting mode selection flag is 0 (pt_sel_flag == 0), the CN information decoding unit 10 becomes Figure 7 (b) shows BT HOR (in Figure 71 It is divided in the same way as the abbreviation "BTH".

[0765] When the PT segmentation flag is 1 (pt_split_flag == 1), the PT segmentation direction flag is 0 (pt_dir_flag == 0), and the PT segmentation mode selection flag is 1 (pt_sel_flag == 1), the CN information decoding unit 10 becomes Figure 7 The (e) shown in TT HOR (in Figure 71 It is divided in the same way as the abbreviation "TTH".

[0766] When the PT segmentation flag is 1 (pt_split_flag == 1), the PT segmentation direction flag is 0 (pt_dir_flag == 0), and the PT segmentation mode selection flag is 2 (pt_sel_flag == 2), the CN information decoding unit 10 becomes Figure 53 The DFT HOR shown in (g) (in) Figure 71 It is divided in the same way as the abbreviation "DFTH".

[0767] When the PT segmentation flag is 1 (pt_split_flag == 1), the PT segmentation direction flag is 1 (pt_dir_flag == 1), and the PT segmentation mode selection flag is 0 (pt_sel_flag == 0), the CN information decoding unit 10 becomes Figure 7 The BT VER shown in (c) (in) Figure 71 It is divided in the same way as the Chinese abbreviation "BTV".

[0768] When the PT segmentation flag is 1 (pt_split_flag == 1), the PT segmentation direction flag is 1 (pt_dir_flag == 0), and the PT segmentation mode selection flag is 1 (pt_sel_flag == 1), the CN information decoding unit 10 becomes Figure 7 The TT VER shown in (f) (in) Figure 71 It is divided in the same way as the abbreviation "TTV".

[0769] When the PT segmentation flag is 1 (pt_split_flag == 1), the PT segmentation direction flag is 1 (pt_dir_flag == 0), and the PT segmentation mode selection flag is 2 (pt_sel_flag == 2), the CN information decoding unit 10 becomes Figure 53 The DFT VER shown in (f) is in Figure 71 It is divided in the same way as the abbreviation "DFTV".

[0770] (Example 3 of PT information decoding processing)

[0771] Figure 72 This is a flowchart illustrating the PT information decoding process of the CN information decoding unit 10 according to an embodiment of the present invention. In this embodiment, when PT segmentation is performed, the difference from the PT information decoding process example 1 described above is that decoding processing of the marker (PT asymmetric marker pt_amt_flag) for identifying asymmetric patterns is performed.

[0772] S3201 to S3207 correspond to S2701 to S2707 in the above-mentioned PT information decoding processing example 1, and S3210 to S3213 correspond to S2708 to S2711 in the above-mentioned PT information decoding processing example 1.

[0773] In S3206, if the CN information decoding unit 10 determines that the decoding PT segmentation mode selection flag is set, or if it proceeds to S3208 after S3207.

[0774] (S3208)

[0775] In step S3208, the CN information decoding unit 10 determines whether to decode the PT asymmetric tag. If the CN information decoding unit 10 determines that it should decode the PT asymmetric tag, it proceeds to step S3209; if it determines that it should not decode the PT asymmetric tag, it proceeds to step S3210.

[0776] (S3209)

[0777] In S3209, the CN information decoding unit 10 decodes the PT asymmetric flag pt_amt_flag. Here, pt_amt_flag = 0 indicates that when the object block (object node) is divided in a horizontal direction, it is divided in a 1:4:2:1 ratio from top to bottom, and when the object block (object node) is divided in a vertical direction, it is divided in a 1:4:2:1 ratio from left to right. mt_amt_flag = 1 indicates that when the object block (object node) is divided in a horizontal direction, it is divided in a 1:2:4:1 ratio from top to bottom, and when the object block (object node) is divided in a vertical direction, it is divided in a 1:2:4:1 ratio from left to right.

[0778] use Figure 73 This section explains in detail the determination of PT segmentation markers, PT segmentation mode selection markers, and PT segmentation direction markers. Figure 73 (a) is a diagram showing an example of pseudocode representing the PT segmentation marker determination process. Figure 73 (b) is a diagram showing an example of pseudocode representing the PT segmentation mode selection flag determination process. Figure 73 (c) is a diagram showing an example of pseudocode representing the PT segmentation direction marker determination process.

[0779] (PT segmentation marker determination)

[0780] The condition 3 for determining the PT segmentation marker in PT information decoding processing example 3 is different from that in PT information decoding processing example 1. The condition 3 for determining the PT segmentation marker in PT information decoding processing example 3 is as follows.

[0781] Condition 3: The ptDepth of the hierarchy of the segmented object block is less than the maxPTDepth, or the daptDepth of the hierarchy of the segmented object block is less than the maxDAQTDepth (ptDepth < maxPTDepth || daqtDepth < maxDAQTDepth).

[0782] (PT segmentation mode selection marker determination)

[0783] Condition 3 for determining the PT segmentation mode selection marker in PT information decoding processing example 3 differs from that in PT information decoding processing example 2. Condition 3 for determining the PT segmentation mode selection marker in PT information decoding processing example 3 is described below.

[0784] Condition 3: The ptDepth of the hierarchy of the block that becomes the object of the split is less than the maxPTDepth, and the daqtDepth of the hierarchy of the block that becomes the object of the split is less than the maxDAQTDepth (ptDepth < maxPTDepth && daqtDepth < maxDAQTDepth).

[0785] (PT segmentation direction marking determination)

[0786] Conditions 1 and 4 for determining the PT segmentation direction marker in Example 3 of PT information decoding processing are different from those in Example 2 of PT information decoding processing. Conditions 1 and 4 for determining the PT segmentation direction marker in Example 3 of PT information decoding processing are as follows.

[0787] Condition 1: The PT segmentation mode selection flag indicates DAQT segmentation (pt_sel_flag == MODE_DAQT).

[0788] Condition 4: The ptDepth of the hierarchy of the block that becomes the object of the split is less than the maxPTDepth, and the dftDepth of the hierarchy of the block that becomes the object of the split is less than the maxDFTDepth (ptDepth < maxPTDepth && daqtDepth < maxDAQTDepth).

[0789] In Example 3 of PT information decoding processing, even after PT segmentation (DAQT segmentation) has been performed once, MT segmentation (QT segmentation) is restricted (prohibited).

[0790] Figure 74 It is a table representing the relationship between the values ​​and shapes of the PT splitting flag pt_split_flag, the PT splitting direction flag pt_dir_flag, the PT splitting mode selection flag pt_sel_flag, and the PT asymmetry flag pt_amt_flag.

[0791] When the PT splitting flag is 1 (pt_split_flag == 1), the PT splitting direction flag is 0 (pt_dir_flag == 0), and the PT splitting mode selection flag is 0 (pt_sel_flag == 0), the CN information decoding unit 10 becomes Figure 7 (b) shows BT HOR (in Figure 74 It is divided in the same way as the abbreviation "BTH".

[0792] When the PT segmentation flag is 1 (pt_split_flag == 1), the PT segmentation direction flag is 0 (pt_dir_flag == 0), and the PT segmentation mode selection flag is 1 (pt_sel_flag == 1), the CN information decoding unit 10 becomes Figure 7 The (e) shown in TT HOR (in Figure 74 It is divided in the same way as the abbreviation "TTH".

[0793] When the PT segmentation flag is 1 (pt_split_flag == 1), the PT segmentation direction flag is 0 (pt_dir_flag == 0), the PT segmentation mode selection flag is 2 (pt_sel_flag == 2), and the PT asymmetry flag is 0 (pt_amt_flag == 0), the CN information decoding unit 10 becomes Figure 54 (c) shows DAQT HOR 0 (in Figure 74 It is divided in the same way as the Chinese abbreviation "DAQTH0".

[0794] When the PT segmentation flag is 1 (pt_split_flag == 1), the PT segmentation direction flag is 0 (pt_dir_flag == 0), the PT segmentation mode selection flag is 2 (pt_sel_flag == 2), and the PT asymmetry flag is 1 (pt_amt_flag == 1), the CN information decoding unit 10 becomes... Figure 54 The DAQT HOR 1 shown in (d) is in Figure 74 It is divided in the same way as "DAQTH1" (abbreviated as "DAQTH1" in Chinese).

[0795] When the PT segmentation flag is I (pt_split_flag == 1), the PT segmentation direction flag is 1 (pt_dir_flag == 1), and the PT segmentation mode selection flag is 0 (pt_sel_flag == 0), the CN information decoding unit 10 becomes Figure 7 The BT VER shown in (c) (in) Figure 74 It is divided in the same way as the Chinese abbreviation "BTV".

[0796] When the PT segmentation flag is 1 (pt_split_flag == 1), the PT segmentation direction flag is 1 (pt_dir_flag == 1), and the PT segmentation mode selection flag is 1 (pt_sel_flag == 1), the CN information decoding unit 10 becomes Figure 7 The TT VER shown in (f) (in) Figure 74 It is divided in the same way as the abbreviation "TTV".

[0797] When the PT segmentation flag is 1 (pt_split_flag == 1), the PT segmentation direction flag is 1 (pt_dir_flag == 1), the PT segmentation mode selection flag is 2 (pt_sel_flag == 2), and the PT asymmetry flag is 0 (pt_amt_flag == 0), the CN information decoding unit 10 becomes Figure 54 (a) shows DAQT VER 0 (in Figure 74 It is divided in the same way as "DAQTV0" (abbreviated as "DAQTV0" in Chinese).

[0798] When the PT splitting flag is 1 (pt_split_flag == 1), the PT splitting direction flag is 1 (pt_dir_flag == 1), the PT splitting mode selection flag is 2 (pt_sel_flag == 2), and the PT asymmetry flag is 1 (pt_amt_flag == 1), the CN information decoding unit 10 becomes... Figure 54 (b) shows DAQT VER 1 (in Figure 74 It is divided in the same way as "DAQTV1" (abbreviated as "DAQTV1" in Chinese).

[0799] (Software-based implementation example)

[0800] Alternatively, a portion of the image encoding device 11 and image decoding device 31 described above can be implemented using a computer. For example, this could include an entropy decoding unit 301, a prediction parameter decoding unit 302, a loop filter 305, a prediction image generation unit 308, an inverse quantization / inverse DCT unit 311, an addition unit 312, a prediction image generation unit 101, a subtraction unit 102, a DCT / quantization unit 103, an entropy encoding unit 104, an inverse quantization / inverse DCT unit 105, a loop filter 107, an encoding parameter determination unit 110, and a prediction parameter encoding unit 111. In this case, the control function can be implemented by recording a program for implementing this function onto a computer-readable recording medium, and then having the computer system read and execute the program recorded on that recording medium. Furthermore, the "computer system" mentioned here refers to a computer system built into either the image encoding device 11 or the image decoding device 31, including hardware such as an operating system and peripheral devices. Furthermore, "computer-readable recording medium" refers to removable media such as floppy disks, magneto-optical disks, ROMs, and CD-ROMs, and storage devices such as hard disks built into a computer system. Moreover, "computer-readable recording medium" can also include: media that dynamically retain programs for short periods, such as communication lines used to transmit programs via networks like the Internet or telephone lines; and media that retain programs for a certain period, such as volatile memory within a computer system serving as a server or client in such cases. Furthermore, the aforementioned program can be a program used to implement the aforementioned functions, or a program that can further combine with programs already recorded in the computer system to achieve the aforementioned functions.

[0801] Furthermore, part or all of the image encoding device 11 and image decoding device 31 in the above embodiments can be implemented as integrated circuits such as LSI (Large Scale Integration). Each functional block of the image encoding device 11 and image decoding device 31 can be individually processorized, or part or all can be integrated into a processor. Moreover, the method of integrated circuit implementation is not limited to LSI; it can also be implemented using dedicated circuits or general-purpose processors. Furthermore, when advancements in semiconductor technology lead to integrated circuit technologies that replace LSI, integrated circuits based on such technologies can also be utilized.

[0802] The above description of one embodiment of the present invention has been carried out in detail with reference to the accompanying drawings. However, the specific structure is not limited to the structure described above, and various design changes can be made without departing from the spirit of the present invention.

[0803] [Application Example]

[0804] The image encoding device 11 and image decoding device 31 described above can be mounted on various devices for transmitting, receiving, recording, and reproducing moving images. Furthermore, the moving images can be natural moving images captured by a camera or similar device, or artificial moving images (including CG and GUI) generated by a computer or similar device.

[0805] First, refer to Figure 75 This will illustrate the situation where the image encoding device 11 and the image decoding device 31 described above can be used for the transmission and reception of moving images.

[0806] Figure 75 (a) is a block diagram showing the structure of the transmitting device PROD A, which is equipped with the image encoding device 11. Figure 75 As shown in (a), the transmitting device PROD A includes: an encoding unit PROD A1 that obtains encoded data by encoding a moving image; a modulation unit PROD A2 that modulates a carrier wave with the encoded data obtained by the encoding unit PROD A1 to obtain a modulated signal; and a transmitting unit PROD A3 that transmits the modulated signal obtained by the modulation unit PROD A2. The image encoding device 11 described above is used as the encoding unit PROD A1.

[0807] The transmitting device PROD A serves as a source of motion images input to the encoding unit PROD A1, and may further include a camera PROD A4 for capturing motion images, a recording medium PROD A5 for recording motion images, an input terminal PROD A6 for inputting motion images from an external source, and an image processing unit A7 for generating or processing images. Figure 75 In (a), although the transmission device PROD A is shown to have all these components, some of them may be omitted.

[0808] Furthermore, the recording medium PROD A5 can be either a medium that records unencoded motion images or a medium that records motion images encoded using a recording encoding method different from the encoding method used for transmission. In the latter case, it is preferable that a decoding unit (not shown) that decodes the encoded data read from the recording medium PROD A5 according to the recording encoding method is located between the recording medium PROD A5 and the encoding unit PROD A1.

[0809] Figure 75 (b) is a block diagram showing the structure of the receiving device PROD B equipped with the image decoding device 31. Figure 75As shown in (b), the receiving device PROD B includes a receiving unit PROD B1 for receiving a modulated signal, a demodulation unit PROD B2 for demodulating the modulated signal received by the receiving unit PROD B1 to obtain coded data, and a decoding unit PROD_B3 for decoding the coded data obtained by the demodulation unit PROD B2 to obtain a moving image. The image decoding device 31 described above is used as the decoding unit PROD_B3.

[0810] The receiving device PROD_B, serving as the destination for the motion images output from the decoding unit PROD_B3, may further include a display PROD_B4 for displaying the motion images, a recording medium PROD_B5 for recording the motion images, and an output terminal PROD_B6 for outputting the motion images to an external device. Figure 75 In (b), although the receiver device PROD_B is shown to have all these components, some of them may be omitted.

[0811] Furthermore, the recording medium PROD_B5 can be either a medium for recording unencoded motion images or data encoded using a recording encoding method different from the encoding method used for transmission. In the latter case, it is preferable that the encoding unit (not shown) that encodes the motion images acquired from the decoding unit PROD_B3 according to the recording encoding method is located between the decoding unit PROD_B3 and the recording medium PROD_B5.

[0812] Furthermore, the transmission medium for transmitting modulated signals can be either wireless or wired. Additionally, the transmission method for modulated signals can be either broadcasting (where the destination is not predetermined) or communication (where the destination is predetermined). That is, the transmission of modulated signals can be achieved through any of the following: wireless broadcasting, wired broadcasting, wireless communication, and wired communication.

[0813] For example, a terrestrial digital broadcasting station (broadcasting equipment, etc.) / receiving station (television receiver, etc.) is an example of a wireless broadcasting transceiver modulated signal transmitting device PROD_A / receiving device PROD_B. Similarly, a cable television broadcasting station (broadcasting equipment, etc.) / receiving station (television receiver, etc.) is an example of a cable broadcasting transceiver modulated signal transmitting device PROD_A / receiving device PROD_B.

[0814] Furthermore, servers (workstations, etc.) and clients (television receivers, personal computers, smartphones, etc.) utilizing Internet-based VOD (Video On Demand) services, moving image sharing services, etc., are examples of transmitting devices PROD_A and receiving devices PROD_B that transmit and receive modulated signals via communication (typically, either wireless or wired transmission media can be used in a LAN, and wired transmission media can be used in a WAN). Here, personal computers include desktop PCs, laptop PCs, and tablet PCs. Additionally, smartphones also include multi-functional portable telephone terminals.

[0815] In addition to decoding and displaying the encoded data downloaded from the server, the client of the motion picture sharing service also has the function of encoding and uploading motion pictures captured by the camera to the server. That is, the client of the motion picture sharing service functions as both the sending device PROD_A and the receiving device PROD_B.

[0816] Next, refer to Figure 76 This demonstrates that the image encoding device 11 and the image decoding device 31 described above can be used for recording and reproducing moving images.

[0817] Figure 76 (a) is a block diagram showing the structure of the recording device PROD_C equipped with the image encoding device 11 described above. Figure 76 As shown in (a), the recording apparatus PROD_C includes an encoding unit PROD_C1 that obtains encoded data by encoding motion images, and a writing unit PROD_C2 that writes the encoded data obtained by the encoding unit PROD_C1 to the recording medium PROD_M. The image encoding apparatus 11 described above is used as the encoding unit PROD_C1.

[0818] In addition, the recording medium PROD_M can be (1) a type of medium built into the recording device PROD_C, such as HDD (Hard Disk Drive) or SSD (Solid State Drive), or (2) a type of medium connected to the recording device PROD_C, such as SD memory card or USB (Universal Serial Bus) flash memory, or (3) a medium loaded into a drive (not shown) built into the recording device PROD_C, such as DVD (Digital Versatile Disc) or BD (Blu-ray Disc: registered trademark).

[0819] Furthermore, the recording device PROD_C, as a source of motion images input to the encoding unit PROD_C1, may further include a camera PROD_C3 for capturing motion images, an input terminal PROD_C4 for inputting motion images from an external source, a receiving unit PROD_C5 for receiving motion images, and an image processing unit PROD_C6 for generating or processing images. Figure 76 In (a), although the recording device PROD_C is shown to have all these components, some parts may be omitted.

[0820] Furthermore, the receiving unit PROD_C5 can receive both unencoded motion images and encoded data encoded using a transmission encoding method different from the encoding method used for recording. In the latter case, it is preferable to place a transmission decoding unit (not shown) that decodes the encoded data encoded using the transmission encoding method between the receiving unit PROD_C5 and the encoding unit PROD_C1.

[0821] Examples of such recording devices PROD_C include DVD recorders, BD recorders, and HDD (Hard Disk Drive) recorders (in which case the input terminal PROD_C4 or the receiving unit PROD_C5 becomes the main source of moving images). Furthermore, cameras (in which case the camcorder PROD_C3 becomes the main source of moving images), personal computers (in which case the receiving unit PROD_C5 or the image processing unit C6 becomes the main source of moving images), and smartphones (in which case the camcorder PROD_C3 or the receiving unit PROD_C5 becomes the main source of moving images) are also examples of such recording devices PROD_C.

[0822] Figure 76 (b) is a block diagram showing the structure of the playback device PROD_D equipped with the aforementioned image decoding device 31. Figure 76 As shown in (b), the playback device PROD_D includes a readout unit PROD_D1 that reads out encoded data written to the recording medium PROD_M, and a decoding unit PROD_D2 that obtains a moving image by decoding the encoded data read out by the readout unit PROD_D1. The image decoding device 31 described above is used as the decoding unit PROD_D2.

[0823] In addition, the recording medium PROD_M can be (1) a medium built into the playback device PROD_D, such as HDD or SSD, (2) a medium connected to the playback device PROD_D, such as SD memory card or USB flash drive, or (3) a medium loaded into a drive device (not shown) built into the playback device PROD_D, such as DVD or BD.

[0824] Furthermore, the playback device PROD_D, as the destination for the motion images output by the decoding unit PROD_D2, may further include a display PROD_D3 for displaying motion images, an output terminal PROD_D4 for outputting motion images to an external device, and a transmission unit PROD_D5 for transmitting motion images. Figure 76 In (b), although the regeneration device PROD_D is shown to have all these components, some parts can be omitted.

[0825] Furthermore, the transmitting unit PROD_D5 can transmit either unencoded motion images or encoded data encoded using a transmission encoding method different from the encoding method used for recording. In the latter case, it is preferable to place the encoding unit (not shown) that encodes the motion images using the transmission encoding method between the decoding unit PROD_D2 and the transmitting unit PROD_D5.

[0826] Examples of such playback devices PROD_D include DVD players, BD players, HDD players, etc. (in which case, the output terminal PROD_D4 connected to a television receiver, etc., becomes the main destination for the moving images). Furthermore, television receivers (in which case the display PROD_D3 becomes the main destination for the moving images), digital signage (also known as electronic signs, electronic bulletin boards, etc., where the display PROD_D3 or the transmitter PROD_D5 becomes the main destination for the moving images), desktop PCs (in which case, the output terminal PROD_D4 or the transmitter PROD_D5 becomes the main destination for the moving images), laptop or tablet PCs (in which case, the display PROD_D3 or the transmitter PROD_D5 becomes the main destination for the moving images), and smartphones (in which case, the display PROD_D3 or the transmitter PROD_D5 becomes the main destination for the moving images) are also examples of such playback devices PROD_D.

[0827] (Hardware implementation and software implementation)

[0828] Furthermore, each block of the aforementioned image decoding device 31 and image encoding device 11 can be implemented in hardware using logic circuits formed on an integrated circuit (IC chip), or in software using a CPU (Central Processing Unit).

[0829] In the latter case, each of the aforementioned devices includes a CPU that executes commands for programs that perform various functions, a ROM (Read Only Memory) that stores the aforementioned programs, a RAM (Random Access Memory) that expands the aforementioned programs, and a storage device (recording medium) that stores the aforementioned programs and various data. Furthermore, the objective of embodiments of the present invention can also be achieved by supplying a recording medium containing program code (executable program, intermediate code program, source program) of the control program of each of the aforementioned devices, which is software for performing the aforementioned functions, recorded in a computer-readable manner to each of the aforementioned devices, and having the computer (or CPU, MPU) read and execute the program code recorded on the recording medium.

[0830] As recording media, examples include tapes such as magnetic tapes and cassette tapes, disks such as floppy disks (registered trademark) and hard disks, discs including CD-ROMs (Compact Disc Read-Only Memory), MO discs (Magneto-Optical Disc), MD discs (Mini Disc), DVD discs (Digital Versatile Disc), CD-R discs (CD Recordable), and Blu-ray discs (Blu-ray Disc: registered trademark), cards such as IC cards (including memory cards) and optical cards, semiconductor memory such as mask ROMs (EPROMs (Erasable Programmable Read-Only Memory)), EEPROMs (Electrically Erasable and Programmable Read-Only Memory: registered trademark), and flash ROMs, or PLDs (Programmable Logic Devices), FPGAs (Field Programmable Gate Arrays), etc. Logic circuits such as Array (Field Programmable Gate Array).

[0831] Furthermore, the aforementioned devices can be configured to connect to a communication network and supply the program code via the communication network. This communication network is not particularly limited as long as it can transmit program code. For example, it can utilize the Internet, intranet, extranet, LAN (Local Area Network), ISDN (Integrated Services Digital Network), VAN (Value-Added Network), CATV (Community Antenna Television / Cable Television) communication network, Virtual Private Network, telephone line network, mobile communication network, satellite communication network, etc. Moreover, the transmission medium constituting this communication network is also only a medium capable of transmitting program code, and is not limited to a specific structure or type. For example, it can be used via wired connections such as IEEE (Institute of Electrical and Electronic Engineers) 1394, USB, power line transmission, cable TV lines, telephone lines, and ADSL (Asymmetric Digital Subscriber Line) lines. It can also be used wirelessly via IrDA (Infrared Data Association), infrared (such as in a remote control), Bluetooth (registered trademark), IEEE 802.11 wireless, HDR (High Data Rate), NFC (Near Field Communication), DLNA (Digital Living Network Alliance: registered trademark), mobile phone networks, satellite lines, and terrestrial digital broadcasting networks. Furthermore, embodiments of the present invention can also be implemented using computer data signals embedded in a carrier wave, embodied in the above-described program code via electronic transmission.

[0832] The embodiments of the present invention are not limited to the embodiments described above, and various modifications can be made within the scope of the claims. That is, embodiments obtained by combining technical means with appropriate modifications within the scope of the claims are also included in the technical scope of the present invention.

[0833] (Mutual references between related applications)

[0834] This application claims priority to Japanese Patent Application No. 2016-244902, filed on December 16, 2016, and Japanese Patent Application No. 2016-249778, filed on December 22, 2016, the entire contents of which are incorporated herein by reference.

[0835] Industrial availability

[0836] The embodiments of the present invention can be suitably applied to an image decoding apparatus that decodes encoded data into image data, and an image encoding apparatus that generates encoded data into image data. Furthermore, they can be suitably applied to data structures of encoded data generated by the image encoding apparatus and referenced by the image decoding apparatus.

Claims

1. An image decoding apparatus, which decodes an image according to each coding tree unit, characterized in that, The image decoding device includes an encoding node (CN) information decoding unit, which is configured as follows: If decoding of the PT segmentation flag is required, the aforementioned PT segmentation flag is decoded. This PT segmentation flag indicates whether the object node is segmented using a binary tree or a ternary tree. If decoding of the segmentation direction marker is required, then the segmentation direction marker, which indicates the segmentation direction, is decoded. When decoding the segmentation mode selection flag is required, the segmentation mode selection flag is decoded. This flag indicates whether the segmentation method is binary tree segmentation or ternary tree segmentation, and... Based on the aforementioned segmentation direction marker and segmentation mode selection marker, the aforementioned object nodes of the aforementioned coding tree unit are segmented using binary tree segmentation or ternary tree segmentation, wherein, The conditions under which the above PT segmentation markers need to be decoded include the possibility that BT segmentation or TT segmentation is true. The conditions for decoding the above segmentation mode selection markers include the possibility that BT segmentation and TT segmentation are both true. Based on the following conditions: 1) the height or width of the object node is greater than or equal to the minimum CU size multiplied by 2; 2) the width and height of the object node are either less than or equal to the maximum CU size; and 3) the depth of the object node is less than the maximum depth, and based on the additional conditions 4-1) the object node is the central node among the three nodes obtained by ternary tree partitioning of the object node's direct parent node; and 4-2) the BT partitioning direction of the object node is the same as the TT partitioning direction of the direct parent node, the determination of the possible BT partitioning is performed. Based on 1) the height or width of the object node is greater than or equal to the minimum CU size multiplied by 4, 2) the width and height of the object node are less than or equal to the maximum CU size, and 3) the depth of the object node is less than the maximum depth, the above TT segmentation possibility determination is performed, and If only one of the BT segmentation possibility determination and the TT segmentation possibility determination is true, the CN information decoding unit configures the value of the segmentation mode selection flag without performing decoding.