Image encoder, image encoring method, image encoding program, image decoder, image decoding method, image decoding program, storage method, and transmission method

By recursively dividing image blocks and restricting further splits in the same direction, the method enhances encoding efficiency and reduces processing loads in image encoding and decoding.

JP2024178322AActive Publication Date: 2024-12-24JVC KENWOOD CORP
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
JP2024163851
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-20
Publication Date
2024-12-24
Estimated Expiration
2036-12-06

AI Technical Summary

Technical Problem

Existing image encoding and decoding technologies suffer from decreased efficiency when blocks are not divided into appropriate sizes and shapes, leading to increased processing requirements.

Method used

An image encoding and decoding method that divides images into blocks recursively, prohibiting further division in the same direction as the previous split, and using intra and inter prediction to generate predicted image signals, thereby optimizing block division for efficient encoding and decoding.

Benefits of technology

This approach improves encoding efficiency and reduces processing requirements by ensuring optimal block division and prediction methods, resulting in enhanced performance and reduced processing loads.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2024178322000001_ABST
    Figure 2024178322000001_ABST
Patent Text Reader

Abstract

To provide an image encoder, an encoding method, an image decoder and an image decoding method that have coding efficiency improved by applying block division suitable for image encoding and decoding to an image.SOLUTION: An image encoder includes a block division part 101 that recursively divides an image into rectangles each having a predetermined size to generate encoding-target blocks, and an encoded bit-stream generation part 105 that encodes block division information of the encoding-target blocks. The block division part 101 further includes a quartering part that divides the target block in the recursive division into quarters in a horizontal direction and a vertical direction to generate four blocks, and a two-dividing part that divides the target block in the recursive division into two in the horizontal direction or the vertical direction to generate two blocks. When the previous recursive division has been two division, the two-dividing part prohibits splitting the target block in the current recursive segmentation in the same direction in which the block has been divided in the previous recursive division.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] In the present invention, an image is divided into blocks, and encoding and decoding are performed on a block-by-block basis. This relates to technology. [Background technology]

[0002] In image coding and decoding, an image is divided into blocks, which are groups of a certain number of pixels, and the blocks are Encoding and decoding are performed on a block-by-block basis. Efficiency of intra-prediction, inter-prediction, orthogonal transformation, entropy coding, etc. , which results in improved coding efficiency. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Special Publication No. 2015-526008 Summary of the Invention [Problem to be solved by the invention]

[0004] If the blocks are not divided into appropriate sizes and shapes, the coding efficiency will decrease. If the blocks are not divided into appropriate sizes and shapes, the amount of processing required for subsequent encoding and decoding will increase. increases.

[0005] The present invention has been made in view of the above circumstances, and its object is to provide an image encoding and decoding method. To provide a technique for improving coding efficiency by dividing a signal into blocks suitable for coding. is located. [Means for solving the problem]

[0006] In order to solve the above problems, an image coding device according to one aspect of the present invention divides an image into blocks. An image coding apparatus for dividing an image into blocks and coding the divided blocks, comprising: A block division unit recursively divides the image into rectangles of a fixed size to generate a block to be coded; A prediction image signal is generated using image signals of previously coded blocks adjacent to the block to be coded. and a coding unit that codes block division information of a block to be coded. The block division unit divides a target block in the recursive division in a horizontal direction and a vertical direction. The quadrant divides the data into four blocks in the direction of the 4th division, and the target block in the recursive division is a bisection unit for bisecting the image in a horizontal or vertical direction to generate two blocks, If the previous recursive division is a bisection, the bisection is It is prohibited to split the target block of this recursive split in the same direction as the do.

[0007] Yet another aspect of the present invention is a method for encoding an image, comprising the steps of: dividing an image into blocks; A method for encoding an image by dividing the image into blocks and encoding the divided blocks, comprising the steps of: a block division step of recursively dividing the image into rectangles of a desired size to generate blocks to be encoded; A predicted image signal is generated by using image signals of coded blocks adjacent to the block to be coded. The intra prediction step to be generated and block division information of the block to be encoded are encoded. and an encoding step, wherein the block division step is A quadruple division step divides the block horizontally and vertically into four blocks to generate four blocks, and a re-division step In recursive partitioning, the target block is divided into two in the horizontal or vertical direction to generate two blocks. and a bisection step of dividing the previous recursive division into two parts, the bisection step being carried out if the previous recursive division was a bisection. If the block is split in the previous recursive division, the block is split in the same direction in the current recursive division. It is prohibited to divide the target block of the objective division.

[0008] Yet another embodiment of the present invention is an image encoding program, comprising: dividing an image into blocks; An image coding program for coding an image in units of divided blocks, the image being coded by a predetermined a block division step of recursively dividing the image into rectangles of a desired size to generate blocks to be encoded; A predicted image signal is generated by using image signals of coded blocks adjacent to the block to be coded. The intra prediction step to be generated and block division information of the block to be encoded are encoded. and an encoding step, the block division step being a recursive division Divide the target block in horizontally and vertically into four blocks to generate four blocks. The division step and the recursive division step divide the target block into two parts horizontally or vertically. a bisection step for generating two blocks, the bisection step being a step of dividing the previous recursion If the recursive division is a two-way division, the direction in which the block was divided is the same as the direction in which the block was divided in the previous recursive division. It is prohibited to divide the target block of the current recursive division in the direction of .

[0009] Yet another aspect of the present invention is an image decoding device. An image decoding device that performs decoding in units of blocks, A decoding unit that decodes division information and a recursive block division information based on the decoded division information. A block division unit that generates a block to be decoded and a decoding unit that decodes adjacent blocks to the block to be decoded an intra prediction unit that generates a predicted image signal by using an image signal of a pre-encoded block, The block division unit divides the target block in the recursive division into four parts horizontally and vertically. The 4-part division generates 4 blocks by dividing the target block horizontally in the recursive division. or a bisection unit for dividing the image data in half vertically to generate two blocks, If the previous recursive partition is a two-part partition, the block was partitioned in the previous recursive partition. It is prohibited to divide the target block of the current recursive division in the same direction as the direction in which the previous recursive division was performed.

[0010] Yet another aspect of the present invention is a method for decoding an image. An image decoding method for performing decoding on a block-by-block basis, A decoding step of decoding division information, and Based on the above, a block division step is performed to generate a block to be decoded, and a block division step is performed to generate a block to be decoded. Intra prediction scheme for generating a predicted image signal using image signals of adjacent decoded blocks The block division step includes a horizontal division step for dividing a target block in the recursive division. A four-way split step that splits the image in both the axial and vertical directions to generate four blocks, and a recursive split step Divide the target block in the horizontal or vertical direction to generate two blocks. a splitting step, the bisection step including: The direction in which the block was divided in the previous recursive division is the same as the direction in which the block was divided in the current recursive division. It is prohibited to divide the target block.

[0011] Yet another aspect of the present invention is an image decoding program. An image decoding program for decoding an image in units of divided blocks, A decoding step of decoding block division information of the block; A block division step of generating a block to be decrypted based on the block division information; A prediction image signal is generated using image signals of decoded blocks adjacent to the block to be decoded. and an intra prediction step of dividing the image into blocks by the block division step. In the recursive division, the target block is divided into four blocks horizontally and vertically. The four division steps to be generated and the target block in the recursive division are and a bisection step of bisecting the image data to generate two blocks, the bisection step comprising: If the previous recursive split was a two-part split, the block was split in the previous recursive split. It is prohibited to divide the target block of the current recursive division in the same direction as the direction.

[0012] Any combination of the above components and the expression of the present invention may be used as a method, an apparatus, a system, a recording medium, Conversions between the body, computer program, etc. are also valid aspects of the present invention. be. Effect of the Invention

[0013] According to the present invention, block division suitable for image coding and decoding becomes possible, and coding efficiency is improved. It is possible to improve the coding rate and provide image coding and decoding with a small amount of processing. [Brief description of the drawings]

[0014] [Figure 1] FIG. 1 is a configuration diagram of an image encoding device according to a first embodiment. [Diagram 2] FIG. 1 is a configuration diagram of an image decoding device according to a first embodiment. [Diagram 3] 11 is a flowchart illustrating division into tree blocks and division within tree blocks. [Figure 4] FIG. 13 is a diagram showing how an input image is divided into tree blocks. [Diagram 5] FIG. 1 is a diagram illustrating a z-scan. [Figure 6] This is a diagram showing a treeblock divided into four horizontally and vertically. [Figure 7] This is a diagram showing a tree block divided horizontally into two. [Figure 8] This is a diagram showing a tree block divided vertically into two. [Figure 9] 13 is a flowchart illustrating a process for each divided block when a tree block is divided into four in the horizontal and vertical directions. [Figure 10] 13 is a flowchart illustrating processing of each divided block when a tree block is divided into two in the horizontal direction. [Figure 11] FIG. 13 is a diagram showing how a divided block is re-divided when a tree block is divided into two horizontally. [Figure 12] 13 is a flowchart illustrating processing of each divided block when a tree block is divided into two vertically. [Figure 13] FIG. 13 is a diagram showing how a divided block is re-divided when a tree block is divided into two vertically. [Figure 14] FIG. 4 illustrates an example of syntax related to block division according to the first embodiment. [Figure 15] FIG. 1 is a diagram illustrating intra prediction. [Figure 16] FIG. 1 is a diagram illustrating inter prediction. [Figure 17] FIG. 11 illustrates an example of syntax related to block division according to the second embodiment. [Figure 18] FIG. 13 is a diagram illustrating another example of the syntax related to block division according to the second embodiment. [Figure 19]FIG. 13 illustrates an example of syntax related to block division according to the third embodiment. [Figure 20] FIG. 13 is a diagram showing how the inside of a block that has been divided into two in the horizontal or vertical direction is further divided in the same direction. [Figure 21] FIG. 13 illustrates an example of syntax related to block division according to the fourth embodiment. [Figure 22] FIG. 13 is a diagram showing the division of a tree block into four parts when the tree block is divided into two parts. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0015] In the embodiment of the present invention, an image is divided into rectangular blocks, and the divided blocks are encoded. The present invention provides an image coding technique for decoding.

[0016] (First embodiment) Regarding the image coding device 100 and the image decoding device 200 according to the first embodiment of the present invention In the first embodiment, when the block division is performed recursively, the block is divided continuously in the same direction. Limit what you do.

[0017] FIG. 1 is a diagram showing the configuration of an image coding device 100 according to the first embodiment. represents only the flow of data related to the image signal, and does not include image information such as motion vectors and prediction modes. Regarding additional information other than the signal, each component element supplies it to the coded bitstream generator 105. However, the data flow for the additional information is not shown.

[0018] The block division unit 101 divides an image into blocks to be coded, which are units of coding processing. , the image signal in the block to be coded is supplied to the residual signal generator 103. The division unit 101 divides the image signal of the block to be coded into a prediction signal in order to evaluate the degree of coincidence of the prediction image. The image is supplied to the image generation unit 102.

[0019] The block division unit 101 recursively divides an image into rectangles of a predetermined size to generate blocks to be coded. The block division unit 101 divides the target block in the recursive division into blocks in the horizontal direction. A quadrant that divides the image vertically into four blocks and generates four blocks. A bisection section divides the image block horizontally or vertically to generate two blocks. The detailed operation of the block division unit 101 will be described later.

[0020] The predicted image generating unit 102 generates a predicted image from the decoded image signal supplied from the decoded image memory 108. Intra- or inter-picture prediction based on the prediction mode The block division unit 101 divides the blocks to be coded into blocks, and generates a predicted image signal. The image signal in the block is used for evaluation of intra prediction and inter prediction. The block division unit 101 divides the image signal of the block to be coded and the decoded image data. The block to be coded that exists in the same picture as the block to be coded that is supplied from the memory 108 A prediction image signal is generated using image signals of surrounding coded blocks adjacent to the block. In the inter prediction, the image of the block to be coded supplied from the block division unit 101 is The signal is sent to the previous or next picture (encoded picture) containing the block to be encoded. The coded picture stored in the decoded picture memory 108 in is used as a reference picture, Block matching is performed between the coded picture and the reference picture. A motion vector indicating the amount of motion is calculated, and motion compensation is performed from the reference picture based on this amount of motion. The predicted image generating unit 102 generates a predicted image signal. The signal is supplied to a residual signal generator 103 .

[0021] The residual signal generator 103 receives the image signal to be coded and the predicted image generated by the predictive image generator 102. A residual signal is generated by subtracting the predicted signal, and is supplied to the orthogonal transform and quantization unit 104 .

[0022] The orthogonal transform and quantization unit 104 performs orthogonal transformation on the residual signal supplied from the residual signal generation unit 103. The orthogonally transformed and quantized residual signal is then transmitted to the coded bitstream generator 105 and the inverse quantizer 106. The digitalization and inverse orthogonal transformation unit 106 receives the digitalized signal.

[0023] The encoded bit stream generation unit 105 performs orthogonal transformation and quantization on the input data supplied from the orthogonal transformation and quantization unit 104. The coded bit string generator 1 generates a coded bit string for the quantized residual signal. 05 corresponds to additional information such as motion vectors, prediction modes, and block division information. An encoded bit string is generated.

[0024] The inverse quantization and inverse orthogonal transformation unit 106 converts the orthogonal transformation signal supplied from the orthogonal transformation and quantization unit 104 into an inverse quantization signal. The quantized residual signal is inverse quantized and inverse orthogonally transformed, and the inverse quantized and inverse orthogonally transformed residual signal is The signal is supplied to a decoded image signal superimposing unit 107.

[0025] The decoded image signal superimposing unit 107 superimposes the predicted image signal generated by the predicted image generating unit 102. The residual signal that has been inverse quantized and inverse orthogonal transformed by the inverse quantization and inverse orthogonal transformation unit 106 is superimposed and decoded. The image is generated and stored in the decoded image memory 108. The image is subjected to a filtering process to reduce distortion, etc., and stored in the decoded image memory 108. This sometimes happens.

[0026] FIG. 2 is a configuration diagram of an image decoding device 200 according to the first embodiment. It only shows the flow of data related to the image signal, and does not include information such as motion vectors and prediction modes. The bit stream decoding unit 201 supplies the additional information other than the above to each component for processing. However, the data flow regarding the additional information is not shown.

[0027] The bit stream decoding unit 201 decodes the supplied encoded bit stream and performs orthogonal transformation and quantization. The resulting residual signal is supplied to a block division unit 202 .

[0028] The block division unit 202 divides the block to be decoded based on the decoded block division information. The shape of the determined block to be decoded is determined, and the orthogonally transformed and quantized residual signal is inversely transformed. The resulting signal is supplied to the quantization and inverse orthogonal transformation unit 203 .

[0029] The block division unit 202 divides the image into blocks of a predetermined size based on the block division information obtained by decoding the image. The block division unit 202 recursively divides the image into rectangles to generate a block to be decoded. In the recursive partitioning, the target block is divided into four horizontally and vertically to generate four blocks. The four-part division is made up of a four-part division, and the target block in the recursive division is divided into two parts horizontally or vertically. The block division unit 202 includes a bisection unit that generates two blocks by dividing the input data into two blocks. More details will be given later.

[0030] The inverse quantization and inverse orthogonal transformation unit 203 performs the following on the supplied orthogonally transformed and quantized residual signal: Then, the inverse orthogonal transform and inverse quantization are performed to obtain an inverse orthogonal transformed and inverse quantized residual signal.

[0031] The predicted image generating unit 204 generates a predicted image from the decoded image signal supplied from the decoded image memory 206. An image signal is generated and supplied to a decoded image signal superimposing unit 205 .

[0032] The decoded image signal superimposing unit 205 superimposes the predicted image signal generated by the predicted image generating unit 204 and the inverse The quantization and inverse orthogonal transformation unit 203 superimposes the residual signal that has been inverse orthogonally transformed and inverse quantized. In this way, a decoded image signal is generated and output, and is also stored in the decoded image memory 206 . In addition, a filtering process is applied to the decoded image to reduce block distortion caused by coding. The decoded image may then be stored in the decoded image memory 206.

[0033] The operation of the block division unit 101 of the image coding device 100 will now be described in detail. 1 is a flowchart illustrating division into tree blocks and division within a tree block. .

[0034] First, an input image is divided into tree blocks of a predetermined size (S1000). For example, the tree block is 128 pixels x 128 pixels. It is not limited to 128 pixels by 128 pixels, and any size and shape may be used as long as it is a rectangle. In addition, the size and shape of the tree block are fixed between the encoding device and the decoding device. Alternatively, the encoding device may determine the bitstream and record it in the encoded bitstream before decoding. The device may be configured to use the recorded block size. The tree blocks are divided into blocks in raster scan order, i.e., The image is encoded and decoded from right to left and from top to bottom.

[0035] The inside of the tree block is further divided into rectangular blocks. The inside of the tree block is The encoding and decoding are done in the z-scan order. Figure 5 shows the z-scan order. In this scanning, encoding and decoding are performed in the order of top left, top right, bottom left, and bottom right. The division of the part can be into 4 parts or 2 parts, and the 4 parts are divided both horizontally and vertically. The division is done either horizontally or vertically. Figure 6 shows a tree block divided into four horizontally and vertically. Fig. 7 shows a tree block divided into two horizontally. Fig. 8 shows a tree block divided into two horizontally. This is a diagram of a block divided into two vertically.

[0036] Refer to Figure 3 again. We decide whether to divide the inside of the tree block into four parts horizontally and vertically. Make a judgment (S1001).

[0037] If it is determined that the inside of the tree block is to be divided into four (S1001: Yes), The block is divided into four parts (S1002), and each part is processed in the four parts horizontally and vertically. The process of re-dividing the blocks divided into four will be described later (FIG. 9).

[0038] If it is determined that the inside of the tree block is not to be divided into four (S1001: No), It is then determined whether or not to divide the inside of the block into two (S1004).

[0039] If it is determined that the inside of the tree block is to be divided into two (S1004: Yes), the tree block is divided into two. It is determined whether the direction is the horizontal direction (S1005).

[0040] If the direction of division into two is determined to be horizontal (S1005: Yes), The part is divided into two parts horizontally (S1006), and each part is processed. The process of re-dividing the blocks divided into two in the horizontal direction will be described later (see FIG. 10).

[0041] If the direction of division is determined to be vertical rather than horizontal (S1005: No), The inside of the lee block is divided vertically into two (S1008), and the block divided vertically into two The above processes are performed (S1009). will be discussed later (Figure 11).

[0042] If it is determined that the inside of the tree block is not to be divided into two (S1004: No), The block division process ends without dividing the inside of the block into blocks (S1010).

[0043] Next, the tree block is divided into four horizontally and vertically. The check process will be described with reference to the flowchart in FIG.

[0044] It is determined whether to divide the inside of the block into four again horizontally and vertically (S1101). .

[0045] If it is determined that the inside of the block is to be divided into four again (S1101: Yes), is divided into four again (S1102), and each block divided into four in the horizontal and vertical directions is processed. (S1103).

[0046] If it is determined that the block interior is not to be divided into four again (S1101: No), It is determined whether to divide the image into two (S1104).

[0047] If it is determined that the block interior is to be divided into two (S1104: Yes), the direction of division is It is determined whether the direction is horizontal (S1105).

[0048] If the direction of division into two is judged to be horizontal (S1105: Yes), the inside of the block is divided into two by water. The image is divided into two in the horizontal direction (S1106), and each block divided into two in the horizontal direction is processed (S1 107).

[0049] If the direction of division is determined to be vertical rather than horizontal (S1105: No), The inside of the block is divided vertically into two (S1108), and each process of the blocks divided vertically into two is The process is then carried out (S1109).

[0050] If it is determined that the inside of the block is not to be divided into two (S1104: No), The block division process ends without dividing the block (S1110).

[0051] The process shown in the flowchart of FIG. 9 is executed for each of the four divided blocks. The inside of each divided block is also coded and decoded in z-scan order.

[0052] Next, we divide the tree block horizontally into two blocks and process each of them. This will be explained with reference to the flowchart in FIG.

[0053] When a tree block is divided horizontally into two blocks, each block is first divided into two blocks. It is determined whether the inside of the block should be divided into four horizontally and vertically (S1201).

[0054] If it is determined that the inside of the block is to be divided into four (S1201: Yes), The image is divided into four blocks (S1202), and each block is processed (S12 03).

[0055] If it is determined that the block interior is not to be divided into four parts (S1201: No), the block interior is re-divided. Then, it is determined whether to divide the image into two (S1204).

[0056] If it is determined that the block should be divided into two again (S1204: Yes), the block is divided vertically. The image is divided into two blocks (S1205), and each block is processed (S1206).

[0057] If it is determined that the block should not be divided again (S1204: No), the block is not divided again. The block division process ends (S1207).

[0058] Figure 11 shows the result of dividing a tree block into two blocks horizontally. Here, the parent block, the tree block, is divided horizontally into two. If you specify , the re-bifurcating of the divided block will only allow bifurcating in the vertical direction, and will be automatically Divide it vertically into two. Also, if the parent tree block is divided into two, the child It is also possible to completely prohibit division into four parts in a block. This allows the same block as the parent block to be divided into four parts. This prevents blocks from being split in the horizontal direction, resulting in blocks that are more elongated and rectangular in the horizontal direction. This prevents block splitting and makes encoding and decoding easier.

[0059] The process shown in the flowchart in Figure 10 is executed for each block divided horizontally into two. The inside of each divided block is also coded and decoded in the order of top to bottom.

[0060] Next, we divide the tree block vertically into two blocks and process each of them. This will be described with reference to the flowchart in FIG.

[0061] When a tree block is divided vertically into two blocks, each block is first divided into two blocks. It is determined whether the inside of the block should be divided into four horizontally and vertically (S1301).

[0062] If it is determined that the inside of the block is to be divided into four (S1301: Yes), The image is divided into four blocks (S1302), and each block is processed (S13 03).

[0063] If it is determined that the block interior is not to be divided into four parts (S1301: No), the block interior is re-divided. Then, it is determined whether to divide the image into two (S1304).

[0064] If it is determined that the block should be divided into two again (S1304: Yes), the block is divided horizontally. The image is divided into two blocks horizontally (S1305), and each block is processed (S1306).

[0065] If it is determined that the block should not be divided again (S1304: No), the block is not divided again. The block division process ends (S1307).

[0066] Figure 13 shows the result of dividing a tree block vertically into two blocks. Here, the parent block, the tree block, is split vertically into two. If you specify , the re-bifurcating of the divided block will only allow bifurcating in the horizontal direction, and will be automatically Divide it into two horizontally. Also, if the parent tree block is divided into two, the child It is also possible to completely prohibit division into four parts in a block. This allows the same block as the parent block to be divided into four parts. This prevents blocks from being split in the vertical direction, resulting in blocks that are more elongated and rectangular in the vertical direction. This prevents block splitting and makes encoding and decoding easier.

[0067] The process shown in the flowchart in Figure 12 is executed for each block divided vertically into two. The inside of each divided block is also coded and decoded in the order of left and right.

[0068] In addition, we have explained how to re-divide the divided blocks when the tree block is divided. However, the parent block does not have to be a treeblock. For example, a treeblock (128x1 28) is divided into 4, and each 4-block (64x64) is further divided into 4 or 2. In this case, the above process is also applied to the division of the re-divided blocks.

[0069] Next, the operation of the block division unit 202 of the image decoding device 200 will be described. The block division unit 101 of the image encoding device 100 divides the blocks in the same manner as the block division unit 101 of the image encoding device 100. The block division unit 101 of the encryption device 100 selects a block division pattern. The block division unit 202 of the image decoding device outputs the block division information obtained by the block division unit 201. Dividing the blocks using block division information decoded from the encoded bit stream In addition, when decoding block division information from the coded bit stream, In situations where subdivision into multiples is prohibited, non-optional information should not be transmitted in the bitstream. The difference is in the syntax structure.

[0070] Syntax for block division in the first embodiment (structure of encoded bit stream) An example of the rule is shown in Figure 14. The internal division of the tree block is first decided whether to divide it into four parts or not. A flag (4_division_flag) is sent and received. When dividing into 4 (4_division_flag is 1), The tree block is divided into four parts and the process is terminated. The inside is then re-divided using the syntax shown in Figure 14. If lag is 0, the flag (2_division_flag) indicating whether to divide the data into two is sent and received. If the division direction is 2 (2_division_flag is 1), the flag indicating the direction of division (2_division_d 2_division_direction is 1, which indicates vertical division, and If _division_direction is 0, it indicates a horizontal division. Then, the block is divided into two. The block is divided again using the syntax shown in Figure 14. (2_division_flag is 0) ends the processing without dividing the tree block.

[0071] Here, a process for further dividing the inside of a block divided into two or four will be described. The process of re-dividing the inside of a block also uses the syntax shown in Figure 14, but the tree block The difference is that there are restrictions on the direction of division when dividing into two, compared to when dividing into two. If a tree block is divided into two, the inside of the divided block may be divided again. In this case, it is prohibited to divide the tree block in the same direction as the direction in which the tree block was divided into two. This prevents the split blocks from becoming longer and thinner rectangles, and improves intra prediction. This can prevent the increase in memory bandwidth required for frame rate prediction and inter prediction. The prevention of this will be described in detail later.

[0072] In addition, the number of times the device splits into two in the same direction is counted, and when the number of times exceeds a certain number, the device splits into two in the same direction. Of course, it is also possible to restrict the number of times the image can be split into two in the same direction. For example, From the third time onwards, splitting into two in the same direction is prohibited.

[0073] In Figure 14, the 4-division is selected as the priority, and the information on whether to divide into 4 or not is changed to whether to divide into 2 or not. On the other hand, when splitting into two is selected as a priority, In this case, the information on whether to divide the data into two parts is sent and received before the information on whether to divide the data into four parts. It is possible to use a stochastic method to send and receive events that are more likely to occur first. This is because the amount of code to be transmitted as a bit stream is reduced. Predict which type of division is more likely to occur, and send and receive the division information that is more likely to occur first. For example, the header information of the image can be used to decide whether to prioritize splitting into four or two. By transmitting and receiving information on which division number to prioritize, the encoding device adaptively determines the number of divisions with the highest encoding efficiency. The decoder then selects the tree block according to the selected priority division number. The interior can also be divided.

[0074] In the image encoding device 100 and the image decoding device 200, the divided blocks are used. Intra prediction and inter prediction are performed using the memory. It involves copying the pixels from the image.

[0075] An example of intra prediction is shown in FIG. 15(a) to FIG. 15(d). b) shows the prediction direction and mode number of intra prediction. As shown in Fig. 15(d), the coding / decoding of adjacent coded / decoded blocks is A predicted image of the block to be coded or decoded is generated by copying pixels from one pixel to another. Intra-prediction repeats the process of generating predicted images and encoding / decoding pixels on a block-by-block basis. Therefore, the processing order is sequential in block units, and the more the block is divided into smaller parts, the The overall processing load increases as the block shape becomes longer and thinner. In addition, the coding and decoding process requires the orthogonal transformation of the residual signal. Therefore, the more different the rectangle sizes, the more different types of orthogonal transformations are required. This results in an increase in the circuit size. Therefore, when dividing the inside of a block into two, By restricting the division of a block into two in the same direction as the division method of the parent block, the necessary This makes it possible to prevent an increase in the required memory bandwidth.

[0076] An example of inter prediction is shown in FIG. 16. Inter prediction is a method of predicting the time course of a coded or decoded image. The prediction of the block to be coded / decoded is performed by copying pixels from the pixels to be coded in blocks. In inter prediction, pixels are copied from a reference image block by block. In many cases, the device configuration requires acquisition in units of memory management that contains the required pixels. Therefore, the smaller the block is divided, and the more the block shape becomes a long and narrow rectangle, The larger the number of pixels, the heavier the overall processing load becomes. When performing decimal precision motion compensation, the number of pixels in the block plus a few more pixels is The smaller the block size, the more pixels need to be copied. This increases the overall processing load. Therefore, if you divide the inside of a block into two, In addition, by restricting the division of a block into two in the same direction as the division direction of the parent block, This can prevent an increase in memory bandwidth required for measurement.

[0077] (Second embodiment) An image encoding device and an image decoding device according to a second embodiment of the present invention will be described. In the second embodiment, if a block is smaller than a certain size, the block is further divided. The difference from the first embodiment is that the restriction on the number of times ... This is similar to the shape of the block. The smaller the block is divided, the lower the overall processing load. Prevent it from getting bigger.

[0078] 17 and 18 show the syntax for block division according to the second embodiment. The difference from the syntax of FIG. 14 of the embodiment is that the size of the block is set to a predetermined size at the beginning. The problem is that block division is possible only when the block size is larger than the block size shown in FIG. If the number of pixels in a block is greater than 64, the block can be divided into four or two.

[0079] In addition, when considering the difference in the number of pixels in a block divided into four and two, the Thus, 4-division is allowed when the number of pixels in a block is greater than 64, and 2-division is allowed when the number of pixels in a block is greater than 64. This allows the number of pixels in the divided block to be greater than 32. The limits can be precisely controlled.

[0080] (Third embodiment) An image encoding device and an image decoding device according to a third embodiment of the present invention will be described. In the third embodiment, the inside of the vertically divided block is further divided vertically. The second embodiment differs from the first embodiment in that it restricts the number of times ... The same as the state.

[0081] Typically, image pixel information is stored in a one-dimensional memory in raster scan order. In the original memory, the horizontal pixels are stored relatively close to each other, and the vertical pixels are stored relatively close to each other. Therefore, it is easy to access pixels horizontally, but it is difficult to access pixels vertically. It is not easy to access pixels in the horizontal direction. For example, if you have a block of 16 pixels horizontally and 8 pixels vertically, In the case of a block of 8 pixels x 16 pixels, the number of pixels is the same, but the A block has a larger area of ​​memory in which pixels are stored than a 16 by 8 block. Therefore, a large memory bandwidth is required for pixel transfer when using motion compensation. It is necessary.

[0082] FIG. 19 shows the syntax for block division in the third embodiment. The difference from the syntax in Figure 14 is that the parent block is divided vertically into two. In other words, as shown in Figure 20, If the parent block is divided vertically into two, and the interior is further divided into two, There is no choice of direction or vertical, the horizontal division is automatically selected.

[0083] (Fourth embodiment) An image encoding device and an image decoding device according to a fourth embodiment of the present invention will be described. In the fourth embodiment, after dividing a block into two, the divided inner block is divided into four. In the first embodiment, further division of the inner block divided into four is prohibited when The configuration is otherwise the same as that of the first embodiment, except for the configuration in the first embodiment.

[0084] FIG. 21 shows the syntax for block division in the fourth embodiment. If the parent block is divided into two and then the divided inner block is divided into four, vision_after_4_division_flag becomes 1, disallowing all subsequent divisions.

[0085] This means that if you split the image into 2 and then 4, you will not be able to split it into 4 when you first selected 2. Since it is confirmed that the block has been divided into two and then into four, further block division is required. This is because the possibility is low. In such a case, you can choose to split the data into four parts from the beginning. If you divide it into two and then into four, the block shape is already rectangular, so it will be divided into four. If you try to prohibit further division into two after dividing, the process becomes complicated. If a block is uniquely prohibited from subsequent block division, block division The process of determining whether it is possible or not does not need to be complicated. By uniquely prohibiting subsequent block division for each block, the choice not to divide the block is This eliminates the need to transmit and receive data in a single bit stream, reducing the amount of data to be transmitted.

[0086] In addition, the block division restriction methods according to the first to fourth embodiments are combined. Of course, it is possible to combine them.

[0087] The image coding bit stream output by the image coding device according to the embodiment described above is Specific data so that it can be decoded according to the encoding method used in the embodiment. The image coding device has a specific data format, and the image decoding device corresponding to the image coding device can read this specific data. The present invention is capable of decoding encoded bitstreams in the data format.

[0088] To exchange coded bitstreams between an image coding device and an image decoding device When a wired or wireless network is used, the coded bit stream is transmitted to the The image data may be converted into a data format suitable for the transmission mode before transmission. The input coded bit stream is converted into coded data in a data format suitable for the transmission mode of the communication channel. A transmitting device that converts the encoded data and transmits it to a network, and a transmitting device that receives the encoded data from the network and A receiving device is provided for restoring the encoded bit stream to a coded bit stream and supplying the bit stream to an image decoding device.

[0089] The transmitting device includes a memory for buffering the coded bit stream output by the image coding device. a packet processing unit for packetizing the coded bit stream; and a transmitting unit for transmitting the packetized data via a network. A receiver receives the encoded data via a network, and a buffer for buffering the received encoded data. and a memory for packet processing of the encoded data to generate an encoded bit stream. and a packet processing unit for providing the packet to the image decoding device.

[0090] In addition, by adding a display unit for displaying the image decoded by the image decoding device, It is also possible to use it as a display device. In that case, the display unit is The decoded image signal is generated by the image processing unit 202 and stored in the decoded image memory 206, and is read out and displayed on the screen. do.

[0091] In addition, an imaging unit is added to the configuration, and the captured image is input to the image encoding device. In this case, the imaging unit divides the captured image signal into blocks. Enter 101.

[0092] The above encoding and decoding processes are carried out by hardware-based transmission, storage, and reception devices. It can be realized as a ROM (read only memory) or flash memory. The firmware stored in the flash memory, etc., and the software of the computer, etc. The firmware program, software program, The information may be provided by recording it on a computer-readable recording medium, or by wired or wireless communication. It can also be provided from a server via a line network, or via terrestrial or satellite digital broadcasting. It is also possible to provide it as data broadcasting.

[0093] The present invention has been described above based on the embodiments. The embodiments are merely examples, and each of the structures The fact that various modifications are possible in the combination of components and each treatment process, and that such modifications It will be understood by those skilled in the art that such modifications are also within the scope of the present invention. [Explanation of symbols]

[0094] 100 image encoding device, 101 block division unit, 102 predicted image generation unit, 103 Residual signal generation unit, 104 Orthogonal transformation and quantization unit, 105 Encoded bit string generation unit 106 inverse quantization and inverse orthogonal transformation unit; 107 decoded image signal superimposition unit; 108 Decoded image memory, 200 image decoding device, 201 bit string decoding unit, 202 block block division unit, 203 inverse quantization and inverse orthogonal transformation unit, 204 predicted image generation unit, 5 decoded image signal superimposition unit, 206 decoded image memory.

Claims

1. An image coding device that divides an image into blocks and codes the image in units of the divided blocks. So, A block division method for recursively dividing the image into rectangles of a predetermined size to generate blocks to be encoded. A dividing section; A prediction image signal is generated using image signals of previously coded blocks adjacent to the block to be coded. an intra prediction unit for generating an intra prediction signal; An encoding unit that encodes block division information of a block to be encoded, The block division unit In the recursive division, the target block is divided into four blocks horizontally and vertically. a quadrant generating In recursive division, the target block is divided into two blocks horizontally or vertically. and a bisection unit for generating The bisection unit divides the previous recursive division into two blocks into the block to be coded. If is less than a certain size, the block is divided in the same direction as in the previous recursive division. Prohibit splitting the target block of this recursive split in the direction.

1. An image encoding device comprising:

2. This is an image coding method that divides an image into blocks and codes each divided block. So, A block division method for recursively dividing the image into rectangles of a predetermined size to generate blocks to be encoded. a block division step; A prediction image signal is generated using image signals of previously coded blocks adjacent to the block to be coded. and generating an intra prediction step. An encoding step of encoding block division information of a block to be encoded, The block division step includes: In the recursive division, the target block is divided into four blocks horizontally and vertically. a quadrant step generating In recursive division, the target block is divided into two blocks horizontally or vertically. and a bisection step to generate The bisection step is carried out when the previous recursive division is bisection and the block to be coded is a block If the lock is less than a certain size, the direction in which the block was split in the previous recursive split is Prohibit splitting the target block of this recursive split in the same direction.

13. An image coding method comprising:

3. An image coding program that divides an image into blocks and codes each divided block. It is A block division method for recursively dividing the image into rectangles of a predetermined size to generate blocks to be encoded. a block division step; A prediction image signal is generated using image signals of previously coded blocks adjacent to the block to be coded. and generating an intra prediction step. An encoding step of encoding block division information of the encoding target block. Let it run, The block division step includes: In the recursive division, the target block is divided into four blocks horizontally and vertically. a quadrant step generating In recursive division, the target block is divided into two blocks horizontally or vertically. and a bisection step to generate The bisection step is carried out when the previous recursive division is bisection and the block to be coded is a block If the lock is less than a certain size, the direction in which the block was split in the previous recursive split is Prohibit splitting the target block of this recursive split in the same direction.

2. An image encoding program comprising:

4. An image decoding device that decodes an image in units of blocks obtained by dividing the image, a decoding unit that decodes block division information of blocks into which an image is divided; A block to be decoded is generated based on the recursive block division information. a block division unit for dividing the A prediction image signal is generated using image signals of decoded blocks adjacent to the block to be decoded. and an intra prediction unit for generating an intra prediction signal; The block division unit In the recursive division, the target block is divided into four blocks horizontally and vertically. a quadrant generating In recursive division, the target block is divided into two blocks horizontally or vertically. and a bisection unit for generating The bisection unit divides the current block into two blocks by the previous recursive division. If is less than a certain size, the block is divided in the same direction as in the previous recursive division. Prohibit splitting the target block of this recursive split in the direction.

13. An image decoding device comprising:

5. 1. An image decoding method for decoding an image in units of blocks obtained by dividing the image, comprising the steps of: a decoding step of decoding block division information of blocks into which the image is divided; A block to be decoded is generated based on the recursive block division information. a block division step; A prediction image signal is generated using image signals of decoded blocks adjacent to the block to be decoded. and generating an intra prediction step of The block division step includes: In the recursive division, the target block is divided into four blocks horizontally and vertically. a quadrant step generating In recursive division, the target block is divided into two blocks horizontally or vertically. and a bisection step to generate The bisection step is performed when the previous recursive division is bisection and the block to be decoded is a bisection. If the lock is less than a certain size, the direction in which the block was split in the previous recursive split is Prohibit splitting the target block of this recursive split in the same direction.

2. An image decoding method comprising:

6. An image decoding program for decoding an image in units of blocks obtained by dividing the image, a decoding step of decoding block division information of blocks into which the image is divided; A block to be decoded is generated based on the recursive block division information. a block division step; A prediction image signal is generated using image signals of decoded blocks adjacent to the block to be decoded. and generating an intra prediction step; The block division step includes: In the recursive division, the target block is divided into four blocks horizontally and vertically. a quadrant step generating In recursive division, the target block is divided into two blocks horizontally or vertically. and a bisection step to generate The bisection step is performed when the previous recursive division is bisection and the block to be decoded is a bisection. If the lock is less than a certain size, the direction in which the block was split in the previous recursive split is Prohibit splitting the target block of this recursive split in the same direction.

2. An image decoding program comprising:

7. A method for storing a bit stream generated by a video coding method on a recording medium. The video encoding method includes: A block that recursively divides an image into rectangles of a given size to generate blocks to be coded. a block division step; A prediction image signal is generated using image signals of previously coded blocks adjacent to the block to be coded. and generating an intra prediction step. An encoding step of encoding block division information of a block to be encoded, The block division step includes: In the recursive division, the target block is divided into four blocks horizontally and vertically. a quadrant step generating In recursive division, the target block is divided into two blocks horizontally or vertically. and a bisection step to generate The bisection step is carried out when the previous recursive division is bisection and the block to be coded is a block If the lock is less than a certain size, the direction in which the block was split in the previous recursive split is Prohibit splitting the target block of this recursive split in the same direction. A storage method comprising:

8. A transmission method for transmitting a bitstream generated by a video encoding method, comprising: The image coding method includes: Recursively divide the image into rectangles of a given size to generate blocks to be coded. With split steps, A prediction image signal is generated using image signals of previously coded blocks adjacent to the block to be coded. and generating an intra prediction step. An encoding step of encoding block division information of a block to be encoded, The block division step includes: In the recursive division, the target block is divided into four blocks horizontally and vertically. a quadrant step generating In recursive division, the target block is divided into two blocks horizontally or vertically. and a bisection step to generate The bisection step is carried out when the previous recursive division is bisection and the block to be coded is a block If the lock is less than a certain size, the direction in which the block was split in the previous recursive split is Prohibit splitting the target block of this recursive split in the same direction. A transmission method comprising:

Citation Information

Patent Citations

  • Video encoding device, video decoding device, video encoding method, and video decoding method

    JP2013098711A

  • Simplified non-square quadtree transformation for video coding

    JP2015516769A

  • Image encoding device, image encoding method, image encoding program, image decoding device, image decoding method, and image decoding program

    JP7276549B2

  • Image encoding device, image encoding method, image encoding program, image decoding device, image decoding method, and image decoding program

    JP7552819B2

  • Method of video coding using binary tree block partitioning

    WO2016091161A1