Sign In to Follow Application
View All Documents & Correspondence

Moving Image Encoding Device, Moving Image Encoding Method, Moving Image Encoding Computer Program, Moving Image Decoding Device, Moving Image Decoding Method, And Moving Image Decoding Computer Program

Abstract: This moving image encoding device comprises: a division pattern determination unit that divides a picture end block that, among a plurality of blocks obtained by dividing a to-be-encoded picture, includes one of a horizontal end and a vertical end of the to-be-encoded picture, into a plurality of subblocks by dividing the picture end block into four portions according to a quarter-tree structure or into two portions in a direction orthogonal to the end of the to-be-encoded picture included in the picture end block; a predicted block generation unit that, for each subblock, generates a predicted block by referring to an encoded area of another picture that has been encoded or the to-be-encoded picture; an encoding unit that, for each subblock, calculates a predicted error between corresponding pixels of the subblock and the corresponding predicted block, and then encodes the predicted error; and an addition unit that adds division information, indicating whether the picture end block has been divided into four portions or into two portions, to encoded moving image data.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
30 March 2020
Publication Number
23/2020
Publication Type
INA
Invention Field
ELECTRONICS
Status
Email
docketing@lsdavar.in
Parent Application
Patent Number
Legal Status
Grant Date
2023-12-29
Renewal Date

Applicants

FUJITSU LIMITED
1-1, Kamikodanaka 4-chome, Nakahara-ku, Kawasaki-shi, Kanagawa 2118588

Inventors

1. TAKEUCHI, Kenshiro
c/o FUJITSU LIMITED, 1-1, Kamikodanaka 4-chome, Nakahara-ku, Kawasaki-shi, Kanagawa 2118588
2. BARROUX, Guillaume Denis Christian
c/o FUJITSU LIMITED, 1-1, Kamikodanaka 4-chome, Nakahara-ku, Kawasaki-shi, Kanagawa 2118588
3. KAZUI, Kimihiko
c/o FUJITSU LIMITED, 1-1, Kamikodanaka 4-chome, Nakahara-ku, Kawasaki-shi, Kanagawa 2118588

Specification

Moving picture coding apparatus, moving picture coding method, moving picture coding computer program, moving picture decoding apparatus, moving picture decoding method, and moving picture decoding computer program
Technical field
[0001]
 The present invention relates to, for example, a moving picture coding apparatus for coding moving picture data, a moving picture coding method, a moving picture coding computer program, and a moving picture decoding apparatus for decoding coded moving picture data, The present invention relates to a moving picture decoding method and a moving picture decoding computer program.
Background technology
[0002]
 The moving image data generally has a very large data amount. Therefore, a device that handles moving image data compresses the moving image data by encoding it when transmitting the moving image data to another device or when storing the moving image data in a storage device. .. As representative video coding standards, Advanced Video Coding (MPEG-4 AVC | ITU-T H.264) and High Efficiency Video Coding (HEVC | ITU-T H.265) have been established (for example, See Non-Patent Document 1).
[0003]
 In such a coding standard, a picture to be coded is divided into blocks. Then, for each block to be encoded, a prediction block is generated from the already-encoded other picture or the already-encoded area of ​​the picture to be encoded, and the difference between the block to be encoded and the prediction block is encoded. Redundancy is reduced by adopting.
[0004]
 For example, in HEVC, each picture included in moving image data is divided in multiple stages. Therefore, first, picture division in HEVC will be described.
[0005]
 FIG. 1 is a diagram showing an example of picture division by HEVC. As illustrated in FIG. 1, the picture 100 is divided in units of Coding Tree Unit (CTU) (also referred to as Largest Coding Unit (LCU)) that is a unit of encoding processing. Each CTU 101 is encoded in raster scan order. The size of the CTU 101 can be selected from 64x64 to 16x16 pixels.
[0006]
 The CTU 101 is further divided into a plurality of Coding Units (CU) 102 in a quadtree structure. Each CU 102 in one CTU 101 is encoded in the Z scan order. The size of the CU 102 is variable, and the size is selected from the CU division mode 8x8 to 64x64 pixels. The CU 102 is a unit for selecting the intra prediction coding method and the inter prediction coding method, which are the coding modes. The intra prediction coding method is a coding method for generating a prediction block by referring to the coded area of ​​the current picture. The inter-prediction coding method is a coding method for generating a prediction block by referring to a reference picture (also called a locally decoded picture) obtained by decoding another picture that has already been coded.
[0007]
 The CU 102 is individually processed in Prediction Unit (PU) 103 units or Transform Unit (TU) 104 units. The PU 103 serves as a prediction block generation unit in which prediction according to the coding mode is performed. For example, in the intra prediction coding method, the PU 103 is a unit to which a prediction mode that defines a pixel referred to when generating a prediction block and a prediction block generation method is applied. On the other hand, in the inter prediction coding method, the PU 103 is a unit for performing motion compensation. The size of the PU 103 can be selected from 2Nx2N, NxN, 2NxN, Nx2N, 2NxU, 2NxnD, nRx2N, nLx2N (N is CU size / 2), for example, when the inter prediction coding method is applied. On the other hand, the TU 104 is a unit of orthogonal transform, and is orthogonally transformed for each TU. The size of the TU 104 is selected from 4x4 pixels to 32x32 pixels. The TU 104 is divided into a quadtree structure and processed in Z scan order.
[0008]
 The CTU is an example of a block obtained by dividing a picture. CU is another example of a block. Further, the CU is also an example of a sub block obtained by dividing the block.
[0009]
 In HEVC, the CTU is divided so that the CU becomes a square. However, if the horizontal size or the vertical size of the picture is not an integral multiple of the horizontal or vertical size of the CTU, the CTU at the right end or the bottom end includes the picture end within the CTU. In this case, in order to encode the CTU so that information outside the picture is not included, the boundary between the CUs and the picture end match, that is, the picture end is included in any CU. The CTU is preferably split so that it does not exist. However, in order to divide the CTU so that the picture edge is not included in any CU, it may be required to reduce the size of the CU and increase the number of CUs included in the CTU. In such a case, the syntax information included in the coded data of the CTU may increase and the coding efficiency may decrease.
[0010]
 On the other hand, in order to further improve the coding efficiency, the CTU is divided into a plurality of subblocks in a quadtree structure, and then each subblock is further divided in a binary tree structure to determine individual CUs. Has been proposed (for example, see Non-Patent Document 2). In this case, the CU may be rectangular.
[0011]
 However, even when the binary tree structure is applied as described above, since the sub-blocks that have already been divided into squares are not connected to each other, for the CTU including the picture end, the CU size should be large. In some cases, the CTU cannot be divided.
[0012]
 Also, a technique for discriminating an edge block having a size smaller than the macroblock size has been proposed. In this technique, the coding efficiency of the size of the non-square area determined as an edge block or the size of a plurality of non-square areas obtained by dividing the edge block in either the horizontal direction or the vertical direction is used. Is detected (see, for example, Patent Document 1).
Advanced technical literature
Patent literature
[0013]
Patent Document 1: Japanese Patent Laid-Open No. 2011-223303
Non-patent literature
[0014]
Non-Patent Document 1: ITU-T Recommendation H.265 | ISO / IEC 23008-2 "High Efficiency Video Coding", 2013 Nian 4 Yue
Non-Patent Document 2: J.An him, "Block partitioning structure for next generation video coding" , ITU-T SG16 Doc. COM16-C966, September 2015
Summary of the invention
Problems to be Solved by the Invention
[0015]
 However, the moving image encoding apparatus includes the syntax representing the division pattern of the edge block in the encoded moving image data even when the edge block is encoded as the non-square area. Therefore, the more the types of division patterns of the edge block, which is the non-square area, the more the code amount increases, and as a result, the coding efficiency decreases.
[0016]
 In one aspect, it is an object of the present invention to provide a moving picture coding apparatus that can improve coding efficiency even when a picture end is included in a block that is a unit of coding processing.
Means for solving the problem
[0017]
 According to one embodiment, there is provided a moving picture coding apparatus for coding a coding target picture included in moving picture data. This moving picture coding apparatus creates a picture end block including one of a horizontal end and a vertical end of a current picture, out of a plurality of blocks obtained by dividing the current picture. Either the sub-block includes the end of the current picture to be encoded by dividing the sub-block into four according to the quad-tree structure or by dividing into two in the direction orthogonal to the end of the current picture included in the picture end block. So that the end block of the picture is divided into a plurality of sub-blocks, and for each of the plurality of sub-blocks, refer to another coded picture or the coded area of ​​the current picture to be coded. A prediction block generation unit that generates a prediction block, and a coding unit that, for each of the plurality of sub-blocks, calculates a prediction error between corresponding pixels of the prediction block corresponding to the sub-block, and encodes the prediction error , And an addition unit that adds division information indicating whether the picture end block is divided into four or two, to the encoded moving image data.
[0018]
 According to another embodiment, a moving picture decoding apparatus is provided which decodes a decoding target picture included in encoded moving picture data. In this moving picture decoding device, among a plurality of blocks obtained by dividing a decoding target picture, a picture end block including one of a horizontal end and a vertical end of the decoding target picture is a quadtree. The picture end block is divided into four according to the quadtree structure, or the picture end block is referred to by referring to the division information included in the encoded moving image data that indicates whether the picture end block is divided into four or two according to the structure. The picture end block is divided into a plurality of sub-blocks so that none of the sub-blocks includes the end of the current picture to be decoded by dividing the picture end block into two in the direction orthogonal to the end of the current picture to be decoded. A division pattern determination unit, a prediction block generation unit that generates a prediction block by referring to a decoded area of ​​another decoded picture or a decoding target picture for each of the plurality of sub blocks, and each of the plurality of sub blocks A decoding unit for decoding the picture end block by adding the value of the corresponding pixel of the prediction block to the prediction error between the corresponding pixels of the prediction block corresponding to the sub-block included in the encoded moving image data. Have and.
The invention's effect
[0019]
 In one aspect, the moving picture coding apparatus disclosed in the present specification can improve coding efficiency even when a picture end is included in a block that is a unit of coding processing.
Brief description of the drawings
[0020]
FIG. 1 is a diagram showing an example of picture division by HEVC.
FIG. 2 is a diagram showing an example of division of a CTU including a picture end.
FIG. 3 is a schematic configuration diagram of a moving image encoding device according to one embodiment.
FIG. 4 is a diagram showing an example of division of a CTU including a lower end of a picture.
FIG. 5 is a diagram showing an example of division of a CTU including the right end of a picture.
FIG. 6 is a diagram showing an example of CTU division including both the lower end and the right end of a picture.
FIG. 7 is an operation flowchart of division pattern and coding mode determination processing by the coding mode determination unit.
FIG. 8 is an operation flowchart of moving image coding processing.
FIG. 9 is a schematic configuration diagram of a moving image decoding device.
FIG. 10 is an operation flowchart of division pattern determination processing by the division pattern determination unit.
FIG. 11 is an operation flowchart of moving image decoding processing.
FIG. 12 is a diagram illustrating a moving picture coding apparatus or a moving picture decoding apparatus, which is operated by a computer program that realizes the function of each unit of the moving picture coding apparatus or the moving picture decoding apparatus according to the embodiment or the modified example It is a block diagram of the computer which operates as.
MODE FOR CARRYING OUT THE INVENTION
[0021]
 Hereinafter, the moving picture coding apparatus will be described with reference to the drawings.
 First, the division of the CTU including the picture edge will be described.
[0022]
 FIG. 2 is a diagram illustrating an example of CTU division including a picture end. In this example, since neither the horizontal size nor the vertical size of the picture 200 is an integer multiple of the CTU size, the right end and the lower end of the picture 200 are included in the CTU at the right end or the lower end, respectively. Focusing on the CTU 201 including the lower end of the picture 200, the CTU 201 is divided so that the picture end 220 is not included in any CU 202, as indicated by the division pattern 210. At that time, in order to divide the CTU 201 so that the boundary between the picture end 220 and the CU 202 coincides with each other by using the quadtree structure, the CU 202 having a size of 1/4 of the CTU 201 is used. As a result, in this example, the CTU 201 is divided by 6 CUs 202. Further, even if each CU 202 is further divided by using the binary tree structure after dividing the CTU 201 by using the quadtree structure, the CTU 201 is divided by using more CUs.
[0023]
 On the other hand, when the CTU 201 including the picture end is divided from the beginning by applying the binary tree structure, it is possible to divide the CTU 201 by using the non-square CU 203 as shown in the division pattern 211. However, in the conventional technique of applying the quadtree structure to divide the CTU into a plurality of subblocks and then applying the binary tree structure to each subblock, the CTU 201 is first divided into square subblocks. .. Therefore, the CTU 201 is not allowed to be divided like the division pattern 211.
[0024]
 Therefore, in the present embodiment, the moving picture coding apparatus determines that a block including either the right end or the lower end of a picture is divided into a quadtree structure subblock (square) and a binary tree structure subblock (rectangle). Of these, the subblock with the lower coding cost is used for division. Then, this moving picture coding apparatus adds to the coded moving picture data, syntax indicating whether the quadtree structure or the binary tree structure is applied to the block including the picture end.
[0025]
 In addition, as shown in FIG. 2, when a binary tree structure is applied to a block including the lower end of a picture and the block is divided into a plurality of sub-blocks, in order to reduce the number of sub-blocks, the block is reduced. Is preferably divided along the direction orthogonal to the picture edge. That is, the block including the lower end of the picture is preferably divided so that the boundary line between the sub-blocks is parallel to the end of the picture. Therefore, the block including the lower end of the picture is preferably divided in the vertical direction so that the boundary line between the sub-blocks is horizontal. Similarly, when the binary tree structure is applied to the block including the right end of the picture, the block is preferably divided along the horizontal direction so that the boundary line between the sub-blocks is vertical. Therefore, the moving picture coding device does not need to include the division direction of the block to which the binary tree structure is applied in the coded moving picture data. Also, the moving picture coding device divides a block including both the lower end and the right end of a picture by applying a quadtree structure.
[0026]
 The picture may be either a frame or a field. The frame is one still image in the moving image data, while the field is a still image obtained by extracting only the data of the odd-numbered rows or the data of the even-numbered rows from the frame.
[0027]
 In addition, in the present embodiment, the moving picture coding apparatus is assumed to divide a picture into CTU units and code in CTU units like HEVC. However, the moving picture coding device may code the moving picture data according to another coding standard in which the picture is divided into a plurality of blocks and coding is performed for each block.
[0028]
 FIG. 3 is a schematic configuration diagram of a moving picture coding apparatus according to one embodiment. The moving image coding apparatus 1 includes a motion search unit 11, a coding mode determination unit 12, a prediction block generation unit 13, a prediction coding unit 14, a decoding unit 15, a storage unit 16, and an entropy coding unit. 17 and.
[0029]
 The moving picture coding apparatus 1 codes each CTU of a picture to be coded in raster scan order. Therefore, in the following, processing of one CTU will be described as an example of each unit of the video encoding device 1.
[0030]
 When the coding target picture including the coding target CTU is a P picture or a B picture to which the inter prediction coding scheme is applicable, the motion search unit 11 calculates a motion vector for each PU applicable to the coding target CTU. To do. The brightness component is an example of the first component. Also, the type of the encoding target picture is, for example, the structure of Group Of Pictures (GOP) applied to the moving image data to be encoded by the control unit (not shown) and the position in the GOP of the encoding target picture. It is decided based on.
[0031]
 The motion search unit 11 performs block matching for the PU of interest of the encoding target CTU with respect to each of the at least one locally decoded picture that can be referred to, and identifies the reference block that best matches the PU of interest. To do. Then, the motion search unit 11 calculates a vector representing the amount of movement between the PU of interest and the reference block as a motion vector. Note that the motion search unit 11 calculates motion vectors for both L0 prediction and L1 prediction when the current picture is a B picture to which the bidirectional predictive coding mode can be applied. The motion search unit 11 stores the motion vector of each PU and the information indicating the locally decoded picture referred to by the motion vector in the storage unit 16 and notifies the coding mode determination unit 12 of the information.
[0032]
 The coding mode determination unit 12 is an example of a division pattern determination unit, and determines the division pattern of CU, PU, ​​and TU that divides the CTU to be encoded, and the encoding mode applied to each CU. The coding mode determination unit 12 determines the coding mode applicable to the CTU based on the information indicating the type of the picture to be coded including the CTU to be coded, which is acquired from the control unit (not illustrated), for example. To do. Then, the coding mode determination unit 12 selects the coding mode to be actually applied from the applicable coding modes. If the type of the picture to be coded is an I picture to which only the intra prediction coding scheme is applicable, the coding mode determination unit 12 selects the intra prediction coding scheme as the coding mode to be applied. Further, if the type of the picture to be encoded is a P picture or a B picture, the encoding mode determination unit 12 selects, for example, the inter prediction encoding method or the intra prediction encoding method as the applied encoding mode. Select one.
[0033]
 The coding mode determination unit 12 calculates the coding cost, which is the evaluation value of the coded data amount of the coding target CTU for the applicable coding mode, in CU units. For example, the coding mode determination unit 12 determines, for the inter-prediction coding method, a coding cost for each combination of a CU partition pattern for partitioning a CTU, a PU partition pattern, and a vector mode defining a method for generating a motion vector prediction vector. To calculate. Note that the coding mode determination unit 12 can use, for example, one of the Adaptive Motion Vector Prediction (AMVP) mode and the Merge mode as the vector mode.
[0034]
 For the intra prediction coding method, the coding mode determination unit 12 calculates the coding cost for each combination of the CU partition pattern for partitioning the CTU, the PU partition pattern, and the prediction mode defining the reference direction in the picture. To do.
[0035]
 In order to calculate the coding cost, the coding mode determination unit 12 calculates the prediction error, that is, the pixel difference absolute value sum SAD, for the PU of interest, for example, according to the following equation.
 SAD = Σ | OrgPixel-PredPixel |
Here, OrgPixel is the value of the pixel included in the PU of interest, and PredPixel is the prediction generated according to the encoding mode for which the encoding cost is calculated, corresponding to the block of interest. This is the value of the pixel included in the block.
[0036]
 Then, the coding mode determination unit 12 calculates the coding cost Cost for the CU of interest, for example, according to the following equation.
  Cost = ΣSAD + λ * B
 where ΣSAD is the sum of SADs calculated for each PU included in the CU of interest. B is an estimated value of the code amount for items other than the prediction error, such as a motion vector and a flag indicating the prediction mode. And λ is Lagrange's undetermined multiplier.
[0037]
 Note that the coding mode determination unit 12 may calculate, instead of SAD, the absolute value sum SATD of the Hadamard coefficients of each pixel after Hadamard transform of the difference image between the PU of interest and the prediction block.
[0038]
 The coding mode determination unit 12 sets, for the CTU to be coded, for example, CUs to be focused in order from the largest possible CU size. Then, the coding mode determination unit 12 selects, for the CU of interest, the prediction mode that minimizes the cost for each PU division pattern in the CU regarding the intra prediction coding method. Further, the coding mode determination unit 12 selects, for the CU of interest, a vector mode with the smallest cost for each PU division pattern in the CU regarding the inter prediction coding method. Further, the coding mode determination unit 12 selects, for each CU having the same size, the coding mode to be applied to the CU, whichever has the smaller coding cost, from the intra prediction coding method and the inter prediction coding method. To do.
[0039]
 Further, when the focused CU does not include a picture edge, the coding mode determination unit 12 sets each of the CUs obtained by dividing the focused CU into four according to the quadtree structure as the focused CU next, and performs the same process. By executing, the minimum coding cost is calculated. Then, if the sum of the minimum coding costs calculated for each of the divided CUs is smaller than the minimum coding cost for the focused CU, the coding mode determination unit 12 determines the focused CU according to the quadtree structure. Divide into four. The coding mode determination unit 12 determines the CU division pattern and the PU division pattern applied to the CTU to be encoded by repeating the above processing until each CU is not divided.
[0040]
 When the CTU or CU of interest (hereinafter referred to as the block of interest) includes both the right end and the lower end of the picture, the coding mode determination unit 12 divides the target block into four according to the quadtree structure. This means that if both the right edge and the bottom edge of the picture are included in the block of interest, in order to prevent both the right edge and the bottom edge of the picture from being included in any CU, the block of interest is set to the horizontal direction. This is because division is required in both the vertical directions.
[0041]
 Furthermore, when the block of interest includes the right edge of the picture and does not include the bottom edge of the picture, the coding mode determination unit 12 divides the block of interest into four sub-blocks according to the quadtree structure. Further, the coding mode determination unit 12 divides the block of interest into two sub blocks in the horizontal direction according to the binary tree structure. Similarly, when the block of interest includes the lower end of the picture and does not include the right end of the picture, the coding mode determination unit 12 divides the block of interest into four sub-blocks according to the quadtree structure, and , The block of interest is vertically divided into two sub-blocks.
[0042]
 When any of the sub-blocks obtained by dividing the block of interest includes the picture end, the coding mode determination unit 12 further divides the sub-block including the picture end into four, as described above. Divide into two. The coding mode determination unit 12 repeats the above processing until no picture end is included in any of the sub blocks.
[0043]
 However, the coding mode determination unit 12 includes the picture end among the sub-blocks obtained by dividing the block for which the binary tree structure is once applied and which is divided along the horizontal direction. Objects are also divided according to the binary tree structure and along the horizontal direction. Similarly, the coding mode determination unit 12 obtains each block obtained by dividing the block to which the binary tree structure is once applied and which includes the picture end among the blocks divided along the vertical direction. The sub-block is also divided according to the binary tree structure and along the vertical direction.
[0044]
 The coding mode determination unit 12 calculates the coding cost by performing the same processing as above for each combination of the obtained sub-blocks. Then, the coding mode determination unit 12 may select a combination of subblocks that minimizes the coding cost, and set each subblock included in the selected combination as one CU.
[0045]
 FIG. 4 is a diagram showing an example of CTU division including the lower end of a picture. In the example shown in FIG. 4, the CTU 400 includes the lower end 401 of the picture. Therefore, the coding mode determination unit 12 applies a quadtree structure to the CTU 400 and divides it into four square CUs 410-1 to 410-4, or applies a binary tree structure to the vertical direction to 2 It is divided into CUs 420-1 and 420-2. The coding mode determination unit 12 may further divide the CU 410-1 and the CU 410-2 into four according to the quadtree structure, since the lower end 401 of the picture is not included. The coding mode determination unit 12 may determine whether to divide the CU 410-1 and the CU 410-2 into four based on the coding cost. In addition, since the lower end 401 of the picture is included for the CU 410-3 and the CU 410-4, the encoding mode determination unit 12 divides the CU 410-3 into four according to the quadtree structure or vertically according to the binary tree structure into two. To do.
[0046]
 The coding mode determination unit 12 may further divide the CU 420-1, which does not include the lower end 401 of the picture, into two vertically according to the binary tree structure. The coding mode determination unit 12 may determine whether to divide the CU 420-1 into two based on the coding cost. Further, the coding mode determination unit 12 further divides the CU 420-2 including the lower end 401 of the picture into two vertically divided CUs 421-1 and CU 421-2 according to the binary tree structure.
[0047]
 Finally, for each CU combination when the lower end 401 of the picture is not included in all CUs, the total of the coding costs calculated for each CU is calculated, and the combination of the CUs for which the total is the minimum is calculated. The CTU 400 is divided accordingly. For example, when the total coding cost for the combination of CU 420-1 and CU 421-1 is the minimum, the CTU 401 is divided into CU 420-1 and CU 421-1. Then, the encoding mode determination unit 12 generates a syntax that represents whether a quadtree structure or a binary tree structure is applied to the CTU or CU each time the CTU or CU is divided, and the syntax is generated. To the entropy coding unit 17. The syntax indicating whether the quadtree structure or the binary tree structure is applied is an example of the division information. However, for the CU obtained by applying the binary tree structure, even if the CU is further divided, the quadtree structure is not applied, so whether the quadtree structure or the binary tree structure is applied is determined. The syntax to represent does not have to be generated.
[0048]
 FIG. 5 is a diagram showing an example of CTU division including the right end of a picture. In the example shown in FIG. 5, the CTU 500 includes the right end 501 of the picture. Therefore, the coding mode determination unit 12 applies the quadtree structure to the CTU 500 and divides it into four square CUs 510-1 to 510-4, or applies the binary tree structure to make the horizontal 2 It is divided into CUs 520-1 and 520-2. Then, the coding mode determination unit 12 may further divide the CU 510-1 and the CU 510-3 into four according to the quadtree structure because the right end 501 of the picture is not included. The coding mode determination unit 12 may determine whether to divide the CU 510-1 and the CU 510-3 into four based on the coding cost. Further, since the right end 501 of the picture is included for the CU 510-2 and the CU 510-4, the coding mode determination unit 12 divides the CU 510-2 into four according to the quad tree structure or divides into two according to the binary tree structure in the horizontal direction. To do. Further, the coding mode determination unit 12 further divides the CU 520-2 including the right end 501 of the picture into two horizontally divided CU 521-1 and CU 521-2 according to the binary tree structure.
[0049]
 Finally, for each of the CU combinations when the right end 501 of the picture is not included in all CUs, the total of the coding costs calculated for each CU is calculated, and the CU combination with the smallest total is calculated. The CTU 500 is divided accordingly.
[0050]
 FIG. 6 is a diagram illustrating an example of division of a CTU including both the lower end and the right end of a picture. In the example shown in FIG. 6, the CTU 600 includes the right edge 601 of the picture and the lower edge 602 of the picture. Therefore, the coding mode determination unit 12 applies the quadtree structure to the CTU 600 and divides it into four square CUs 610-1 to 610-4. Then, the coding mode determination unit 12 may further divide the CU 610-1 into four according to the quadtree structure, since neither the right end 601 of the picture nor the lower end 602 of the picture is included. The coding mode determination unit 12 may determine whether to divide the CU 610-1 into four, based on the coding cost. Further, since the lower end 602 of the picture is included in the CU 610-3 for the CU 610-3, the coding mode determination unit 12 does not include the lower end 602 of the picture in the CU, like the CTU 400 shown in FIG. The division may be repeated according to a tree structure or a binary tree structure. Since the CU 610-2 and CU 610-4 do not include a picture, the CU 610-2 and CU 610-4 are ignored.
[0051]
 Further, the coding mode determination unit 12 determines the TU division pattern for each CU according to the CU division pattern determined as described above. At that time, the coding mode determination unit 12 calculates the RD cost Cost according to the following equation for each applicable TU division pattern.
[

Equation 1] Here, org (i) is the value of the pixel included in the CU of interest, and ldec (i) is obtained by encoding the CU using the TU division pattern of interest and further decoding. Represents the value of the decoded pixel to be decoded. Also, bit represents the code amount when the CU is encoded using the TU division pattern of interest. The first term on the right side of the equation (1) represents coding distortion, and the second term on the right side represents the code amount. Therefore, in the TU division pattern that minimizes the RD cost, the coding distortion and the code amount are in an optimal balance.
 Therefore, the coding mode determination unit 12 selects the TU division pattern that minimizes the RD cost Cost.
[0052]
 The coding mode determination unit 12 notifies the prediction block generation unit 13 of the combination of the CU and PU partition patterns selected for the coding target CTU and the coding mode, and notifies the predictive coding unit 14 of the TU partition pattern. Further, the coding mode determination unit 12 saves the combination of the CU, PU, ​​and TU division patterns selected for the coding target CTU and the coding mode in the storage unit 16. The information indicating the division pattern for dividing the CTU into individual CUs includes, for example, information indicating whether each subblock obtained by recursively dividing the CTU has been divided. Further, the coding mode determination unit 12 applies the quadtree structure to the CTU including the picture end and the subblock including the picture end among the individual subblocks obtained by recursively dividing the CTU. Generates a syntax representing whether the binary tree structure is applied. Then, the coding mode determination unit 12 passes the syntax to the entropy coding unit 17.
[0053]
 FIG. 7 is an operation flowchart of the division pattern and coding mode determination processing by the coding mode determination unit 12.
 The coding mode determination unit 12 determines whether or not the end block of the picture is included in the block of interest (step S101). The first block of interest is the CTU to be encoded.
[0054]
 If the block of interest does not include the end of the picture (step S101-No), the coding mode determination unit 12 divides the block of interest so that the coding cost is minimized (step S102). When the coding cost is smaller if the block of interest is not divided, the block of interest may not be further divided. On the other hand, if the block of interest includes the end of the picture (step S101-Yes), the coding mode determination unit 12 determines whether the block of interest includes both the right end and the lower end of the picture (step S101). S103).
[0055]
 When the block of interest includes both the right end and the lower end of the picture (step S103-Yes), the coding mode determination unit 12 divides the block of interest into four blocks according to the quadtree structure (step S104). On the other hand, if the picture edge included in the block of interest is either the right edge or the bottom edge of the picture (No at step S103), the coding mode determination unit 12 determines whether the block including the block of interest is divided into two. It is determined whether or not (step S105).
[0056]
 When the block including the block of interest is divided into two (step S105-Yes), the coding mode determination unit 12 also divides the block of interest into two sub blocks (step S106). At that time, the coding mode determination unit 12 may divide the block of interest along the same direction as the division direction of the block including the block of interest.
[0057]
 On the other hand, when the block including the block of interest is not divided into two (step S105-No), the coding mode determination unit 12 divides the block of interest into four and generates four square sub-blocks. Further, the coding mode determination unit 12 divides the block of interest into two along the direction orthogonal to the picture edge to generate two rectangular sub-blocks (step S107).
[0058]
 After step S102, S104, S106 or S107, the coding mode determination unit 12 determines whether or not there is a sub-block including the picture end (step S108). When the picture end is included in any of the sub blocks (step S108-Yes), the coding mode determination unit 12 sets each sub block as a block of interest (step S109). Then, the coding mode determination unit 12 executes the processing from step S101 onward for each block of interest.
[0059]
 On the other hand, when none of the sub-blocks includes the picture end (step S108-No), the coding mode determination unit 12 selects a combination that minimizes the coding cost from the obtained block combinations. select. Then, the coding mode determination unit 12 determines each division pattern of CU, PU, ​​and TU and the coding mode to be applied according to the selected combination (step S110). Then, the coding mode determination unit 12 ends the division pattern and coding mode determination processing.
[0060]
 The prediction block generation unit 13 generates a prediction block for each PU according to the combination of the CU and PU division patterns selected for the coding target CTU and the coding mode.
[0061]
 For example, when the PU of interest is intra prediction coded, the prediction block generation unit 13 is based on the values ​​of pixels in the local decoding block around the PU, which is referred to according to the prediction mode selected for the PU. Generate a prediction block. On the other hand, when the PU of interest is inter prediction coded, the prediction block generation unit 13 determines the locally decoded picture read from the storage unit 16 and referred to for the PU based on the motion vector calculated for the PU. A prediction block is generated by motion compensation.
[0062]
 The prediction block generation unit 13 passes the generated prediction block to the prediction encoding unit 14 and the decoding unit 15.
[0063]
 The predictive coding unit 14 predictively codes the CTU to be coded.
[0064]
 The predictive encoding unit 14 performs a difference operation on each pixel in the encoding target CTU and the corresponding pixel of the prediction block. Then, the predictive encoding unit 14 sets, for each TU in the encoding target CTU, a difference value corresponding to each pixel in the TU obtained by the difference calculation as a prediction error signal of each pixel in the TU.
[0065]
 Furthermore, the predictive coding unit 14 creates a list of prediction vector candidates for each PU to be inter prediction coded according to the vector mode determined to be applied by the coding mode determination unit 12. Then, the predictive coding unit 14 calculates a prediction error signal between the motion vector of the PU and each prediction vector candidate. The predictive coding unit 14 determines a predictive vector from among the predictive vector candidates, based on the predictive error signal calculated for each predictive vector candidate, for each PU to be inter predictive coded. Then, the predictive coding unit 14 sends, to the entropy coding unit 17, information for specifying the predictive vector in the list of predictive vector candidates for the motion vector of each PU, and a prediction error signal between the motion vector and the predictive vector. I will give you.
[0066]
 Further, the predictive encoding unit 14 orthogonally transforms, for each TU in the CTU to be encoded, the prediction error signal of the TU to represent the horizontal frequency component and the vertical frequency component of the prediction error signal. Find the coefficient. For example, the predictive coding unit 14 performs a discrete cosine transform (DCT) as an orthogonal transform process on the prediction error signal to obtain a set of DCT coefficients as orthogonal transform coefficients.
[0067]
 Then, the predictive encoding unit 14 quantizes the orthogonal transform coefficient for each TU in the CTU to be encoded according to a quantization parameter including a qp value that specifies the quantization width, and thus the quantized orthogonal transform coefficient. To calculate. In the following, the quantized orthogonal transform coefficient may be simply referred to as a quantized coefficient.
 The predictive coding unit 14 outputs the quantized orthogonal transform coefficient to the decoding unit 15 and the entropy coding unit 17.
[0068]
 The decoding unit 15 generates a local decoding block referred to for coding a CU or the like after the TU from the quantized coefficient of each TU in the CTU to be coded, and stores the local decoding block in the storage unit. Store in 16.
[0069]
 The decoding unit 15 dequantizes the quantized quantized coefficient of each TU to restore the orthogonal transform coefficient before quantization. For example, the decoding unit 15 performs inverse orthogonal transform on the restored orthogonal transform coefficient for each TU. For example, when the predictive coding unit 14 uses DCT as the orthogonal transform, the decoding unit 15 executes the inverse DCT process as the inverse orthogonal transform. As a result, the decoding unit 15 restores the prediction error signal having the same degree of information as the prediction error signal before encoding for each TU.
[0070]
 For each TU, the decoding unit 15 adds the restored prediction error signal to each pixel value of the prediction block of that TU to generate a local decoding block.
 Each time the decoding unit 15 generates a local decoding block, the decoding unit 15 stores the local decoding block in the storage unit 16.
[0071]
 Further, the decoding unit 15 writes in the storage unit 16 a locally decoded picture obtained by combining the locally decoded blocks of one picture according to the coding order of each CTU.
[0072]
 The storage unit 16 temporarily stores the local decoding block received from the decoding unit 15. The storage unit 16 supplies a locally decoded picture or a locally decoded block to the motion search unit 11, the coding mode determination unit 12, and the prediction block generation unit 13. The storage unit 16 stores a predetermined number of locally-decoded pictures that may be referred to by the current picture, and when the number of locally-decoded pictures exceeds the predetermined number, the encoding order is stored. Are discarded in order from the oldest locally decoded picture.
 Further, the storage unit 16 stores the motion vector for each of the inter-decoded and locally decoded blocks. Furthermore, the storage unit 16 stores the combination of the CU, PU, ​​and TU division patterns selected for each CTU and the coding mode.
[0073]
 The entropy encoding unit 17 is an example of an addition unit, and entropy-encodes the quantized coefficient of each TU of the CTU to be encoded and various syntaxes. Further, the entropy coding unit 17 also entropy-codes, for each PU to be inter-prediction coded, information specifying the prediction vector in the list of prediction vector candidates. Note that the syntax is, for a CTU including a picture end, obtained by recursively dividing the CTU and the CTU, and for each subblock including the picture end, a quadtree structure and a binary tree structure are included. Includes syntax that describes which is applied.
[0074]
 In the present embodiment, the entropy coding unit 17 uses an arithmetic coding process such as Context-based Adaptive Binary Arithmetic Coding (CABAC) as the entropy coding method. Then, the entropy coding unit 17 outputs the bitstream obtained by the entropy coding.
[0075]
 The bitstreams of the respective CTUs output by the entropy encoding unit 17 are combined in a predetermined order, and by adding header information and the like specified by HEVC, an encoded bitstream including encoded moving image data is obtained. can get. The moving picture coding apparatus 1 stores the coded bit stream in a storage device (not shown) having a magnetic recording medium, an optical recording medium, a semiconductor memory, or the like, or sends the coded bit stream to another device. Output.
[0076]
 FIG. 8 is an operation flowchart of the moving picture coding process executed by the moving picture coding apparatus 1. The moving picture coding apparatus 1 executes the moving picture coding process according to the operation flowchart shown below for each CTU.
[0077]
 The motion search unit 11 calculates a motion vector for each PU to which the inter prediction coding method in the coding target CTU can be applied (step S201). Then, the motion search unit 11 notifies the motion vector of each PU to the coding mode determination unit 12. If the coding target picture including the coding target CTU is a B picture, motion vectors are calculated for each of the L0 direction and the L1 direction. If the picture to be encoded is an I picture, the process of step S201 may be omitted.
[0078]
 The coding mode determination unit 12 determines each division pattern of CU, PU, ​​and TU, and the coding mode to be applied, for the coding target CTU so that the coding cost is minimized (step S202). Then, the coding mode determination unit 12 notifies the prediction block generation unit 13 of the CU and PU division patterns and the applied coding mode, and also notifies the prediction encoding unit 14 of the TU division pattern. Further, the coding mode determination unit 12 stores the respective division patterns of CU, PU, ​​and TU and the coding mode to be applied in the storage unit 16.
[0079]
 The prediction block generation unit 13 generates a prediction block according to the determined CU and PU division pattern and the applied coding mode (step S203). Then, the prediction block generation unit 13 passes the generated prediction block to the prediction encoding unit 14 and the decoding unit 15.
[0080]
 The predictive coding unit 14 calculates a prediction error signal between the CTU to be coded and the corresponding pixel of the prediction block (step S204). Then, the predictive coding unit 14 calculates the orthogonal transform coefficient for each TU by orthogonally transforming the prediction error signal of each pixel for each TU (step S205). Further, the predictive coding unit 14 quantizes the orthogonal transform coefficient of each TU of the coding target CTU to calculate the quantized coefficient (step S206). Then, the predictive coding unit 14 outputs the quantized coefficient of each TU to the decoding unit 15 and the entropy coding unit 17.
[0081]
 The decoding unit 15 restores the prediction error signal from the quantized coefficient of each TU of the coding target CTU, and generates a local decoding block corresponding to the CTU based on the restored prediction error signal and the corresponding prediction block. (Step S207). Then, the decoding unit 15 stores the local decoding block in the storage unit 16.
[0082]
 The entropy encoding unit 17 entropy-encodes the quantized coefficient and various syntaxes (step S208). The various syntaxes also include syntax that indicates whether the quadtree structure or the binary tree structure is applied to the CTU or CU including the picture end. The entropy encoding unit 17 outputs the obtained encoded bitstream. Then, the moving picture coding device 1 ends the moving picture coding process for one CTU.
[0083]
 As described above, this moving picture encoding apparatus encodes a block including one of the right end and the lower end of a picture in the quadtree structure and the binary tree structure in the direction orthogonal to the picture end. Divide according to the cost. Therefore, the moving picture coding apparatus can apply the binary tree structure to the block including the picture end from the beginning, so that the block including the picture end can be prevented from being divided into excessively fine parts. Further, the moving picture coding apparatus adds, to the coded moving picture data, the syntax representing the applied one of the quadtree structure and the binary tree structure for the block including the picture end. On the other hand, regarding the block to which the binary tree structure is applied, the syntax indicating the division direction does not have to be added to the encoded moving image data. Therefore, this moving image coding apparatus can reduce the code amount of information representing a division pattern of a block including a picture end, which is included in the coded moving image data. Therefore, the moving picture coding apparatus can improve the coding efficiency even when the picture end is included in the block.
[0084]
 FIG. 9 is a schematic configuration diagram of a moving picture decoding apparatus that decodes moving picture data coded by the moving picture coding apparatus according to the above embodiment. The moving image decoding device 2 includes an entropy decoding unit 21, a division pattern determination unit 22, a prediction block generation unit 23, a decoding unit 24, and a storage unit 25.
 Each of these units included in the video decoding device 2 is formed as a separate circuit. Alternatively, each of these units included in the video decoding device 2 may be implemented in the video decoding device 2 as one integrated circuit in which circuits corresponding to the respective units are integrated. Further, each of these units included in the moving image decoding device 2 may be a functional module realized by a computer program executed on a processor included in the moving image decoding device 2.
[0085]
 The moving image decoding apparatus 2 acquires an encoded bitstream including encoded moving image data via, for example, a communication network and an interface circuit for connecting the moving image decoding apparatus 2 to the communication network. Then, the video decoding device 2 stores the coded bitstream in a buffer memory (not shown). The video decoding device 2 reads the encoded data from the buffer memory in CTU units, and inputs the data in CTU units to the entropy decoding unit 21.
[0086]
 The entropy decoding unit 21 entropy-decodes the data encoded in CTU units. Then, the entropy decoding unit 21 decodes the quantized coefficient of each TU in the CTU. The entropy decoding unit 21 also specifies, for each CU that has been inter-prediction coded, information that specifies a motion vector for each PU included in the CU (for example, information indicating the applied vector mode and motion vector prediction vector). ) Is entropy decoded. Further, the entropy decoding unit 21 entropy-decodes the prediction mode for each PU included in the intra-prediction coded CU. Further, the entropy decoding unit 21 entropy-decodes various syntaxes including the applied division pattern and coding mode. Then, the entropy decoding unit 21 passes the syntax representing the division pattern of CU, PU, ​​and TU to the division pattern determination unit 22 and the prediction block generation unit 23. Further, the entropy decoding unit 21 determines whether the CTU including the picture end and the subblock obtained by recursively dividing the CTU and including the picture end have a quadtree structure or a binary tree structure. The syntax indicating whether it has been applied is passed to the division pattern determination unit 22. The entropy decoding unit 21 also passes other various syntaxes to the prediction block generation unit 23. Further, the entropy decoding unit 21 passes the quantized coefficient to the decoding unit 24.
[0087]
 The division pattern determination unit 22 divides the decoding target CTU for each CU. At this time, when the decoding target CTU does not include the picture end, the division pattern determination unit 22 refers to the syntax representing the division pattern of the decoding target CTU decoded by the entropy decoding unit 21, and refers to the decoding target CTU. Should be divided for each CU.
[0088]
 On the other hand, when the CTU to be decoded includes one of the right end and the lower end of the picture, the division pattern determination unit 22 refers to the syntax indicating whether the quadtree structure or the binary tree structure is applied. , The CTU to be decoded is divided into four or two. That is, when the quadtree structure is applied to the decoding target CTU, the division pattern determination unit 22 divides the decoding target CTU into four. On the other hand, when the binary tree structure is applied to the decoding target CTU, the division pattern determination unit 22 divides the decoding target CTU into two. At that time, the division pattern determination unit 22 may divide the CTU to be decoded into two along a direction orthogonal to the picture end included in the CTU to be decoded. That is, if the decoding target CTU includes the right end of the picture, the division pattern determination unit 22 divides the decoding target CTU into two along the horizontal direction. On the other hand, if the CTU to be decoded includes the lower end of the picture, the division pattern determination unit 22 divides the CTU to be decoded into two along the vertical direction.
[0089]
 Further, when the decoding target CTU includes both the right end and the lower end of the picture, the division pattern determination unit 22 divides the decoding target CTU into four.
[0090]
 The division pattern determination unit 22 may perform the same processing as the processing on the decoding target CTU for each subblock obtained by dividing the decoding target CTU. Then, the division pattern determination unit 22 does not include a picture end for each sub-block, and when the decoded syntax indicates that the sub-block is not further divided, One CU.
[0091]
 FIG. 10 is an operation flowchart of the division pattern determination processing by the division pattern determination unit 22.
 The division pattern determination unit 22 determines whether or not the end block of the picture is included in the block of interest (step S301). The first block of interest is the CTU to be decoded.
[0092]
 When the block of interest includes the end of the picture (step S301-Yes), the division pattern determination unit 22 determines whether the block of interest includes both the right end and the bottom of the picture (step S302).
[0093]
 If the block of interest includes both the right end and the bottom of the picture (step S302-Yes), the division pattern determination unit 22 divides the block of interest into four according to the quadtree structure (step S303). On the other hand, if the picture edge included in the block of interest is either the right edge or the bottom edge of the picture (No in step S302), the division pattern determination unit 22 determines whether the block including the attention block is divided into two. The determination is made (step S304).
[0094]
 If the block including the block of interest is divided into two (step S304-Yes), the division pattern determination unit 22 also divides the block of interest into two sub blocks (step S305). At that time, the division pattern determination unit 22 may divide the block of interest along the same direction as the division direction of the block including the block of interest.
[0095]
 On the other hand, when the block including the block of interest is not divided into two (step S304-No), the division pattern determination unit 22 follows the structure of the quadtree structure or the binary tree structure, whichever is indicated by the syntax. The block of interest is divided (step S306).
[0096]
 After step S303, S305, or S306, the division pattern determination unit 22 sets each sub-block obtained by dividing the block of interest as a block of interest (step S307). Then, the coding mode determination unit 12 executes the processing from step S301 onward for each block of interest.
[0097]
 On the other hand, when the block of interest does not include the end of the picture in step S301 (step S301-No), the division pattern determination unit 22 divides the block of interest into CUs according to the division pattern indicated by the syntax. (Step S308). Then, the division pattern determination unit 22 ends the division pattern determination processing when there is no block including the picture end.
[0098]
 The division pattern determination unit 22 notifies the prediction block generation unit 23 of information indicating each CU included in the CTU to be decoded.
[0099]
 The prediction block generation unit 23 refers to the decoded picture or the decoded area of ​​the decoding target picture for each CU included in the decoding target CTU according to the applied coding mode and PU division pattern, and assigns it to that CU. Generate a prediction block for each PU included. At that time, the prediction block generation unit 23 also decodes the motion vector from the information indicating the applied vector mode, the prediction error signal of the motion vector, and the like.
[0100]
 The prediction block generation unit 23, similarly to the prediction block generation unit 13 of the moving picture coding device 1, generates a prediction block for each PU of the CTU to be decoded according to the coding mode applied to the PU. That is, the prediction block generation unit 23 specifies a region referred to in the decoded reference picture or the decoding target picture according to the entropy-decoded coding mode, and generates a prediction block in PU units based on the specified region. To do. At this time, when the PU to be decoded is inter-prediction coded, the prediction block generation unit 23 uses the motion vector decoded for that PU to identify the region referred to in the decoded reference picture. do it. Further, when the PU to be decoded is intra prediction coded, the prediction block generation unit 23 may specify the region referred to in the decoding target picture according to the decoded prediction mode.
[0101]
 The prediction block generation unit 23 outputs the generated prediction block to the decoding unit 24.
[0102]
 The decoding unit 24 multiplies the quantized coefficient of each TU received from the entropy decoding unit 21 by a predetermined number corresponding to the quantized width determined by the quantized parameter acquired from the decoded header information. Turn into. This inverse quantization restores the orthogonal transform coefficient of each TU. After that, the decoding unit 24 performs an inverse orthogonal transform process on the orthogonal transform coefficient for each TU. By executing the inverse quantization process and the inverse orthogonal transform process on the quantized coefficient of each TU, the prediction error signal of each pixel of the entire CTU is reproduced.
[0103]
 The decoding unit 24 can decode each PU by adding the reproduced prediction error signal corresponding to the pixel to each pixel value of the prediction block of each PU. Then, the decoding unit 24 decodes the CTU by combining the decoded PUs in the coding order. The decryption unit 24 stores the decrypted CTU in the storage unit 25. The decoding unit 24 also decodes the entire picture by combining the decoded CTUs in the encoding order. The decoding unit 24 stores the decoded picture in the storage unit 25 and also stores the decoded picture in the buffer memory. The decoded pictures stored in the buffer memory are output to the display device (not shown) by the control unit (not shown) in the display order.
[0104]
 The storage unit 25 temporarily stores the decoded CTU and the decoded picture received from the decoding unit 24. Then, the storage unit 25 supplies the CTU as a reference area or the picture as a reference picture to the prediction block generation unit 23. Note that the storage unit 25 stores a predetermined number of pictures, and when the stored data amount exceeds the amount corresponding to the predetermined number of pictures, the storage unit 25 discards the pictures in the oldest encoding order.
[0105]
 FIG. 11 is an operation flowchart of the moving image decoding process executed by the moving image decoding device 2. The moving picture decoding device 2 executes the moving picture decoding process shown in FIG. 11 for each CTU to be decoded.
 The entropy decoding unit 21 entropy-decodes the data encoded in CTU units. Accordingly, the entropy decoding unit 21 decodes the quantized coefficient of each TU of the decoding target CTU, various syntaxes, and the like (step S401).
[0106]
 The division pattern determination unit 22 identifies each CU included in the CTU to be decoded (step S402). At that time, the division pattern determination unit 22 may specify each CU according to the flowchart shown in FIG. 10.
[0107]
 For each CU of the decoding target CTU, the prediction block generation unit 23 refers to the applied coding mode for each PU included in the CU and generates a prediction block (step S403).
[0108]
 The decoding unit 24 inverts by multiplying the quantized coefficient received from the entropy decoding unit 21 by a predetermined number corresponding to the quantization width determined by the quantization parameter acquired from the header information included in the encoded bitstream. Quantize. Then, the decoding unit 24 reproduces the prediction error signal of each pixel of the CTU to be decoded by performing an inverse orthogonal transform process on the orthogonal transform signal in TU units. After that, the decoding unit 24 reproduces the CTU to be decoded by adding the reproduced prediction error signal corresponding to the pixel to each pixel value of the prediction block (step S404). The decoding unit 24 stores the reproduced CTU in the storage unit 25. Then, the moving picture decoding device 2 ends the moving picture decoding process for the decoding target CTU.
[0109]
 As described above, the moving image decoding apparatus according to the above-described embodiment uses the encoded moving image data even if the binary tree structure is applied to the block including the picture end. Can be decrypted.
[0110]
 According to the modified example, the coding mode determination unit 12 of the moving picture coding device 1 may also generate the syntax indicating the division direction for each block divided into two according to the binary tree structure. Then, the entropy encoding unit 17 may add the syntax indicating the division direction to the encoded moving image data for each block divided into two according to the binary tree structure. By this, the division direction is explicitly transmitted to the moving image decoding apparatus 2 for the block divided into two according to the binary tree structure. Therefore, the division pattern determination unit 22 of the video decoding device 2 uses the syntax indicating the division direction decoded by the entropy decoding unit 21 for the block to which the syntax indicating that the binary tree structure is applied is added. It may be divided into two along the dividing direction with reference.
[0111]
 According to another modification, the prediction block may be generated in CU units. Alternatively, orthogonal transform may be performed in CU units. In this case, the coding mode determination unit 12 of the moving picture coding device 1 does not have to determine the PU division pattern or the TU division pattern.
[0112]
 Alternatively, it is not necessary to determine whether or not the picture end is included in the CU. In this case, the coding mode determination unit 12 of the moving picture coding device 1 may determine the division pattern for the PU including the picture end, similarly to the CU in the above embodiment. Similarly, the coding mode determination unit 12 may determine the division pattern for the TU including the picture end, similarly to the CU in the above embodiment. In this case, the division pattern determination unit 22 of the video decoding device 2 may also specify the division pattern when dividing the decoding target CTU for each PU or for each TU, as in the above embodiment.
[0113]
 Further, according to another modification, a CTU that does not include a picture end may be recursively divided into two according to a binary tree structure. In this case, the coding mode determination unit 12 of the moving picture coding device 1 divides the CTU of interest or each subblock obtained by dividing the CTU of interest into four according to a quadtree structure. The coding cost may be calculated depending on whether the binary tree structure is used to divide the file into two. Then, the coding mode determination unit 12 may determine whether the quadtree structure or the binary tree structure is applied so that the coding cost is minimized. Further, in this case, the coding mode determination unit 12 determines, for the CTU of interest or each subblock obtained by recursively dividing the CTU of interest, the applied structure of the quadtree structure and the binary tree structure. Generates a syntax that represents. Furthermore, the coding mode determination unit 12 generates a syntax representing the division direction for the CTU or sub block to which the binary tree structure is applied. Then, the entropy coding unit 17 of the moving picture coding apparatus 1 includes the syntax representing the applied structure and the syntax representing the division direction in the coded moving picture data. Further, the division pattern determination unit 22 of the video decoding device 2 may determine the CU division pattern of the CTU to be decoded by referring to the syntax indicating the applied structure and the syntax indicating the division direction.
[0114]
 FIG. 12 is operated as a moving picture coding apparatus or a moving picture decoding apparatus by the operation of a computer program that realizes the functions of each unit of the moving picture coding apparatus or the moving picture decoding apparatus according to the above-described embodiment or its modification It is a block diagram of the computer which does.
[0115]
 The computer 100 includes a user interface 101, a communication interface 102, a memory 103, a storage medium access device 104, and a processor 105. The processor 105 is connected to the user interface 101, the communication interface 102, the memory 103, and the storage medium access device 104 via, for example, a bus.
[0116]
 The user interface 101 has, for example, an input device such as a keyboard and a mouse, and a display device such as a liquid crystal display. Alternatively, the user interface 101 may include a device in which an input device and a display device are integrated, such as a touch panel display. Then, the user interface 101 outputs an operation signal for selecting the moving image data to be encoded or the moving image data to be decoded to the processor 105, for example, according to the operation of the user. The moving image data to be encoded or the moving image data to be decoded may be determined by the application program operating on the processor 105.
[0117]
 The communication interface 102 has, for example, a communication interface for connecting to a communication network conforming to a communication standard such as Ethernet (registered trademark) and a control circuit thereof. Then, the communication interface 102 acquires moving image data to be encoded from another device connected to the communication network, and passes the data to the processor 105. The communication interface 102 may output the encoded moving image data received from the processor 105 to another device via the communication network. Further, the communication interface 102 may acquire a bitstream including encoded moving image data to be decoded from another device connected to the communication network, and pass the bitstream to the processor 105.
[0118]
 The memory 103 is an example of a storage unit, and includes, for example, a readable / writable semiconductor memory and a read-only semiconductor memory. Then, the memory 103 stores a computer program for executing the moving image encoding process or a computer program for executing the moving image decoding process, which is executed on the processor 105. Further, the memory 103 stores data generated during or as a result of the moving image encoding process or the moving image decoding process.
[0119]
 The storage medium access device 104 is another example of the storage unit, and is a device that accesses the storage medium 106 such as a magnetic disk, a semiconductor memory card, and an optical storage medium. The storage medium access device 104 reads, for example, a computer program for moving image encoding processing or a computer program for moving image decoding processing, which is executed on the processor 105 stored in the storage medium 106, and passes it to the processor 105.
[0120]
 The processor 105 includes, for example, at least one of a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), and a numerical operation processor. Then, the processor 105 encodes the moving image data by executing the moving image encoding computer program according to the above-described embodiment or modification. Then, the processor 105 stores the encoded moving image data in the memory 103 or outputs it to another device via the communication interface 102. Alternatively, the processor 105 decodes the encoded moving image data by executing the moving image decoding processing computer program according to the above-described embodiment or modification. Then, the processor 105 displays the decoded picture on the display device of the user interface 101.
[0121]
 It should be noted that a computer program capable of executing the functions of each unit of the moving image encoding apparatus 1 on a processor may be provided in a form recorded in a computer-readable medium. Similarly, a computer program capable of executing the functions of each unit of the moving image decoding apparatus 2 on a processor may be provided in a form recorded in a computer-readable medium. However, such a recording medium does not include a carrier wave.
[0122]
 All examples and specific terms given herein are intended for instructional purposes only to assist the reader in understanding the invention and the concepts contributed by the inventor to the promotion of the art. It is to be construed as not limiting to the constitution of any example herein, such specific examples and conditions relating to showing superiority and inferiority of the present invention. While the embodiments of the invention have been described in detail, it should be understood that various changes, substitutions and modifications can be made thereto without departing from the spirit and scope of the invention.
Explanation of symbols
[0123]
 DESCRIPTION  OF
 SYMBOLS  1 Moving picture coding device 11 Motion search part
12 Coding mode determination part
13 Prediction block generation part
 14 Prediction coding part
 15 Decoding part
 16 Storage part
 17 Entropy coding part
 2 Moving picture decoding device
 21 Entropy decoding part
 22 Division pattern judgment Unit
 23 Prediction block generation unit
 24 Decoding unit
 25 Storage unit
 100 Computer
 101 User interface
 102 Communication interface
 103 Memory
 104 Storage medium access device
 105 Processor
 106 Storage medium
The scope of the claims
[Request 1]
 A moving picture coding apparatus for coding a coding target picture included in moving picture data
 , wherein a horizontal end of the coding target picture among a plurality of blocks obtained by dividing the coding target picture. A picture end block including any one of the end and the end in the vertical direction is divided into four according to a quadtree structure, or divided into two in a direction orthogonal to the end included in the picture end block. So as not to include the end part of the picture to be coded in each sub-block, a division pattern determination unit that divides the picture end block into a plurality of sub-blocks, and each of the plurality of sub-blocks has been
 encoded Other picture or a prediction block generation unit that generates a prediction block by referring to an encoded area of ​​the current picture, and
 for each of the plurality of sub-blocks, the prediction block corresponding to the sub-block An encoding unit that calculates a prediction error between corresponding pixels and encodes the prediction error, and
 division information indicating whether the picture end block is divided into four or two are added to the encoded moving image data.
A moving image encoding apparatus having an adding unit for adding .
[Request 2]
 The division pattern determination unit determines whether a horizontal end or a vertical end of the current picture is present in a first subblock of the plurality of subblocks obtained by dividing the picture end block. If included, the first sub-block is further divided into four according to a quadtree structure, or divided into two in a direction orthogonal to the end included in the first sub-block, and the
 addition unit is The moving picture coding apparatus according to claim 1, wherein information indicating whether the first sub-block is divided into four or two is added to the coded moving picture data.
[Request 3]
 When the second sub-block obtained by dividing the first sub-block into two includes a horizontal end or a vertical end of the picture to be coded, the division pattern determination unit applies The video encoding device according to claim 2, wherein the second sub-block is further divided into two along the same direction as the direction in which the first sub-block is divided.
[Request 4]
 4. The adding unit adds, when the picture end block is divided into two, information indicating the direction in which the picture end block is divided, to the encoded moving image data. The moving picture encoding device according to the item.
[Request 5]
 A moving picture decoding apparatus for decoding a decoding target picture included in encoded moving picture data
 , wherein a horizontal end of the decoding target picture among a plurality of blocks obtained by dividing the decoding target picture. And the vertical end portion of the picture end block, which is divided into four or two according to the quadtree structure, by referring to the division information included in the encoded moving image data. Then, the picture end block is divided into four according to a quadtree structure, or is divided into two in a direction orthogonal to the end included in the picture end block, so that any of the sub-blocks includes the decoding target picture. A division pattern determination unit that divides the picture end block into a plurality of sub-blocks so that the end portion is not included, and
 another picture that has already been decoded or the decoding target picture has been decoded for each of the plurality of sub-blocks. A prediction block generation unit that generates a prediction block by referring to the region of FIG. 3 and
 corresponding pixels of the prediction block corresponding to the sub-block included in the encoded moving image data for each of the plurality of sub-blocks. And a decoding unit that decodes the picture end block by adding the value of the corresponding pixel of the prediction block to the prediction error between the
moving picture decoding devices.
[Request 6]
 The division pattern determination unit divides the picture end block into two, and sets a first subblock of the plurality of subblocks obtained by dividing the picture end block in a horizontal direction of the decoding target picture. 6. If the edge part or the edge part in the vertical direction is included, the first sub-block is further divided into two along a direction orthogonal to the edge part included in the first sub-block. Video decoding device.
[Request 7]
 A moving image encoding method for encoding an encoding target picture included in moving image data,
 comprising: a plurality of blocks obtained by dividing the encoding target picture in a horizontal direction of the encoding target picture. By dividing a picture end block including either one of the end portion and the vertical end portion into four according to a quadtree structure, or by dividing the picture end block into two in a direction orthogonal to the end included in the picture end block, The picture end block is divided into a
 plurality of sub-blocks so that none of the sub-blocks includes the end of the picture to be coded, and each of the plurality of sub-blocks has another coded picture. Alternatively, a prediction block is generated by referring to the coded area of ​​the picture to be coded,
 and a prediction error between corresponding pixels of the prediction block corresponding to the subblock is calculated for each of the plurality of subblocks. A method for encoding a moving image ,
 comprising: encoding the prediction error, and adding information indicating whether the picture end block is divided into four or two to the encoded moving image data
.
[Request 8]
 A moving picture decoding method for decoding a decoding target picture included in encoded moving picture data
 , wherein a horizontal end portion of the decoding target picture among a plurality of blocks obtained by dividing the decoding target picture. And the vertical end portion of the picture end block, which is divided into four or two according to the quadtree structure, by referring to the division information included in the encoded moving image data. Then, the picture end block is divided into four according to a quadtree structure, or is divided into two in a direction orthogonal to the end included in the picture end block, so that any sub-block of the decoding target picture The picture end block is divided into a
 plurality of sub-blocks so that the end portion is not included, and for each of the plurality of sub-blocks, another decoded picture or a decoded area of ​​the decoding target picture is referred to. To generate a prediction block, and
 for each of the plurality of sub-blocks, in the prediction error between the corresponding pixels of the prediction block corresponding to the sub-block, which is included in the encoded moving image data,
A moving picture decoding method, comprising: decoding the picture end block by adding values ​​of corresponding pixels .
[Request 9]
 A moving picture coding computer program, which is included in moving picture data, for
 coding a coding target picture, wherein a horizontal direction of the coding target picture among a plurality of blocks obtained by dividing the coding target picture A picture end block including one of a vertical end and a vertical end is divided into four according to a quadtree structure, or divided into two in a direction orthogonal to the end included in the picture end block. Then, the picture end block is divided into a
 plurality of sub-blocks so that none of the sub-blocks includes the end part of the picture to be coded, and each of the plurality of sub-blocks has a coded Of the picture or the coded area of ​​the picture to be coded to generate a prediction block, and
 for each of the plurality of sub-blocks, a prediction error between corresponding pixels of the prediction block corresponding to the sub-block is calculated. A moving image for causing a computer to calculate
 , add the prediction error, and add information indicating whether the picture end block is divided into four or two to the encoded moving image data.
A computer program for encoding.
[Request Item 10]
 A moving picture decoding computer program for decoding a decoding target picture included in encoded moving picture data
 , wherein a horizontal direction of the decoding target picture among a plurality of blocks obtained by dividing the decoding target picture The division information included in the encoded moving image data, which indicates whether the picture end block including one of the end and the end in the vertical direction is divided into four or two according to the quadtree structure, With reference to the picture end block, the picture end block is divided into four according to a quadtree structure, or is divided into two in a direction orthogonal to the end included in the picture end block, so that the decoding target is set to any sub block. The picture end block is divided into a
 plurality of sub-blocks so that the end of the picture is not included, and for each of the plurality of sub-blocks, another decoded picture or a decoded area of ​​the decoding target picture is set. A prediction block is generated with reference, and for
 each of the plurality of sub-blocks, the prediction error is included in the prediction error between corresponding pixels of the prediction block corresponding to the sub-block included in the encoded moving image data.
A moving image decoding computer program for causing a computer to decode the picture end block by adding the values ​​of corresponding pixels of the block .

Documents

Application Documents

# Name Date
1 202037013779.pdf 2020-03-30
2 202037013779-STATEMENT OF UNDERTAKING (FORM 3) [30-03-2020(online)].pdf 2020-03-30
3 202037013779-POWER OF AUTHORITY [30-03-2020(online)].pdf 2020-03-30
4 202037013779-FORM 1 [30-03-2020(online)].pdf 2020-03-30
5 202037013779-FIGURE OF ABSTRACT [30-03-2020(online)].pdf 2020-03-30
6 202037013779-DRAWINGS [30-03-2020(online)].pdf 2020-03-30
7 202037013779-DECLARATION OF INVENTORSHIP (FORM 5) [30-03-2020(online)].pdf 2020-03-30
8 202037013779-COMPLETE SPECIFICATION [30-03-2020(online)].pdf 2020-03-30
9 202037013779-FORM 18 [01-04-2020(online)].pdf 2020-04-01
10 202037013779-MARKED COPIES OF AMENDEMENTS [11-04-2020(online)].pdf 2020-04-11
11 202037013779-FORM 13 [11-04-2020(online)].pdf 2020-04-11
12 202037013779-AMMENDED DOCUMENTS [11-04-2020(online)].pdf 2020-04-11
13 202037013779-Information under section 8(2) [17-06-2020(online)].pdf 2020-06-17
14 202037013779-Proof of Right [31-07-2020(online)].pdf 2020-07-31
15 202037013779-PROOF OF RIGHT-(07-08-2020).pdf 2020-08-07
16 202037013779-FORM 3 [03-08-2021(online)].pdf 2021-08-03
17 202037013779-OTHERS [04-08-2021(online)].pdf 2021-08-04
18 202037013779-FER_SER_REPLY [04-08-2021(online)].pdf 2021-08-04
19 202037013779-DRAWING [04-08-2021(online)].pdf 2021-08-04
20 202037013779-COMPLETE SPECIFICATION [04-08-2021(online)].pdf 2021-08-04
21 202037013779-CLAIMS [04-08-2021(online)].pdf 2021-08-04
22 202037013779-ABSTRACT [04-08-2021(online)].pdf 2021-08-04
23 202037013779-FER.pdf 2021-10-18
24 202037013779-FORM 3 [07-02-2022(online)].pdf 2022-02-07
25 202037013779-FORM 3 [22-02-2022(online)].pdf 2022-02-22
26 202037013779-FORM 3 [08-09-2022(online)].pdf 2022-09-08
27 202037013779-FORM 3 [18-09-2023(online)].pdf 2023-09-18
28 202037013779-Response to office action [19-12-2023(online)].pdf 2023-12-19
29 202037013779-PatentCertificate29-12-2023.pdf 2023-12-29
30 202037013779-IntimationOfGrant29-12-2023.pdf 2023-12-29

Search Strategy

1 searchE_26-03-2021.pdf

ERegister / Renewals

3rd: 05 Feb 2024

From 20/10/2019 - To 20/10/2020

4th: 05 Feb 2024

From 20/10/2020 - To 20/10/2021

5th: 05 Feb 2024

From 20/10/2021 - To 20/10/2022

6th: 05 Feb 2024

From 20/10/2022 - To 20/10/2023

7th: 05 Feb 2024

From 20/10/2023 - To 20/10/2024

8th: 18 Oct 2024

From 20/10/2024 - To 20/10/2025

9th: 13 Oct 2025

From 20/10/2025 - To 20/10/2026