Sign In to Follow Application
View All Documents & Correspondence

Image Encoding Method Image Decoding Method Image Encoding Device Image Decoding Device And Program

Abstract: When a skip flag of a block in a terminal node of a quad tree partition indicates that a binary tree partition flag follows an entropy encoding control unit 13 causes an entropy encoding unit 11 to entropy encode a binary tree partition flag and a binary tree partition direction flag; when the skip flag of the block in a terminal node of a quad tree partition indicates that a binary tree partition flag does not follow the entropy encoding control unit 13 does not cause the entropy encoding unit 11 to entropy encode a binary tree partition flag and a binary tree partition direction flag; and when a node of a size equal to the minimum size is further partitioned on the basis of a binary tree structure the entropy encoding control unit 13 does not cause the entropy encoding unit 11 to entropy encode a binary tree partition direction flag in the node.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
30 August 2018
Publication Number
20/2019
Publication Type
INA
Invention Field
ELECTRONICS
Status
Email
Parent Application

Applicants

NEC CORPORATION
7-1, Shiba 5-chome, Minato-ku, Tokyo 1088001

Inventors

1. CHONO Keiichi
c/o NEC Corporation, 7-1, Shiba 5-chome, Minato-ku, Tokyo 1088001

Specification

[0001]The present invention relates to a video coding technique using a block division structure based on the quadtree and binary tree. BACKGROUND [0002]  The video coding method described in Non-Patent Document 1, each frame of digitized video coding tree unit: is divided into (CTU Coding Tree Unit), each CTU is encoded in raster scan order. [0003]  Each CTU is quadtree: In (QT Quad-Tree) structure encoding unit: is divided into (CU Coding Unit) to be encoded. Each CU has prediction unit: is predictive encoded is divided into (PU Prediction Unit). Note that the predictive coding is an intra prediction and inter-frame prediction. [0004]  Prediction error of each CU is a quadtree structure, conversion unit: is divided into (TU Transform Unit) and is transform coding based on the frequency conversion. [0005]  The most up to a large size of the CU CU (LCU: Largest Coding Unit), the minimum CU the CU smallest size: referred to as (SCU Smallest Coding Unit). It should be noted, it is the same as the LCU size and the CTU size. [0006]  Next, intra prediction and inter-frame prediction, and, CTU, CU, signaling PU and TU will be described. [0007]  Intra prediction is a prediction coded frame and the display time to generate the predicted image from the same reconstructed image. Non-Patent Document 1, the 33 kinds of angle intra prediction shown in FIG. 9 are defined. Angle intra prediction, extrapolating the reconstruction pixels around the target block to one of 33 different directions, and generates an intra prediction signal. In addition, Non-Patent Document 1, in addition to 33 kinds of angle intra prediction, DC intra prediction to average reconstruction pixels around the encoding target block, and a linear interpolation reconstruction pixels around the encoding target block Planar intra prediction is defined. Hereinafter, the encoded CU based on the intra prediction is called an intra CU. [0008]  Inter-frame prediction is a prediction coded frame and the display time to generate the predicted image different from the reconstructed image (reference picture). Hereinafter also referred to as inter prediction interframe prediction. Figure 10 is an explanatory diagram showing an example of inter-frame prediction. Motion vector = MV (mv x , mv y ) indicates the amount of parallel movement of the reconstructed image blocks of the reference picture for the encoding target block. Inter prediction based on the reconstructed image block of the reference picture (using the pixel interpolation if necessary), and generates an inter prediction signal. Hereinafter, the encoded CU based on inter-frame prediction is called an inter CU. [0009]  Intra CU only coded frames I-frame (or, I-picture) is called. The frame inter CU also encoded to include not only the intra CU P-frame (or, P-picture) is called. Not only one reference picture in the inter prediction block, is further encoded frames including inter CU using two reference pictures simultaneously called B frame (or, B-picture). [0010]  Skip mode, target CU is predicted coded in frame prediction based on the shape of 2N × 2N of PU division shape to be described later, and indicates that there is no transformed and quantized values ​​which will be described later. Whether the CU is a skip mode is signaled by skip_flag syntax that is described in Non-patent Document 1. [0011]  Each CU is not a skip mode is whether it is intra CU / inter CU, signaled by pred_mode_flag syntax that is described in Non-patent Document 1. [0012]  11, the spatial resolution of the frame CIF (CIF: Common Intermediate Format), CU example of division of CTU example of divided frame t when CTU size is 64, and the eighth of CTU included in the frame t (CTU8) it is an explanatory view showing a. [0013]  Figure 12 is an explanatory diagram showing a quadtree structure corresponding to the CU example of dividing CTU8. Quadtree structure of each CTU, i.e., CU division shape is signaled by cu_split_flag syntax that is described in Non-patent Document 1. [0014]  Figure 13 is an explanatory diagram showing a PU division shape of CU. For intra CU, it can be selected PU split square. For inter CU, rectangular PU split in addition to a square can also be selected. PU division shape of each CU is signaled by part_mode syntax that is described in Non-patent Document 1. [0015]  Figure 14 is an explanatory diagram showing a TU division example of CU. In the upper part, TU division example of an intra CU of 2N × 2N PU division shape is shown. For intra CU, quarter tree root (Root) is disposed in PU, the prediction error of each PU is represented by quadtree structure. In the lower part, TU division example of inter CU of 2N × N PU division shape is shown. For inter CU, quarter tree root (Root) is disposed in CU, the prediction error of the CU is represented by quadtree structure. Quadtree structure of the prediction error as described above, i.e., TU division shape of each CU is signaled by split_tu_flag syntax described in Non-Patent Document 1. [0016]  Thus, the intra-prediction and inter-frame prediction, and ends CTU, CU, the description of the PU and TU signaling. [0017]  Next, with reference to the block diagram of FIG. 15, and outputs the bit stream as the CU input image of each frame of the digitized video, the structure and operation of a typical video encoder. [0018]  Video encoding apparatus shown in FIG. 15 includes a transformer / quantizer 101, entropy encoder 102, inverse quantizer / inverse transformer 103, buffer 104, predictor 105, and multiplexer 106. [0019]  Predictor 105, for each CTU, determines the cu_split_flag syntax value that determines CU division shape that minimizes the coding cost. [0020]  Subsequently, predictor 105, for each CU, to minimize the coding cost, Pred_mode_flag syntax value that determines intra prediction / inter prediction, Part_mode syntax value that determines PU division shape, Split_tu_flag syntax to determine the TU division shape value, an intra prediction direction, and determines a motion vector. [0021]  Moreover, predictor 105 determines the skip_flag syntax value that determines the skip mode. [0022]  Specifically, the target CU, determined pred_mode_flag indicates inter prediction, determined part_mode indicates 2Nx2N, and, when there is no transformed and quantized values ​​which will be described later, to 1 skip_flag (i.e., skip mode to.). At other times, a to 0 skip_flag (in other words, not a skip mode.). [0023]  The predictor 105, determined cu_split_flag syntax value, Pred_mode_flag syntax value, Part_mode syntax value, Split_tu_flag syntax value, the intra prediction direction, and, based on such motion vectors, and generates a prediction signal for the input image signal of each CU . Prediction signal is generated on the basis of the intra prediction or inter-frame prediction mentioned above. [0024]  Transformer / quantizer 101 is based on the TU division shape of predictor 105 is determined, frequency conversion of the prediction error image obtained by subtracting the prediction signal from the input image signal. [0025]  Furthermore, transformer / quantizer 101 quantizes the prediction error image (frequency transformation coefficients) obtained by frequency conversion. Hereinafter referred to as transformed and quantized values ​​quantized frequency transform coefficients. [0026]  The entropy coder 102, Cu_split_flag syntax value predictor 105 decides, skip_flag syntax value, Pred_mode_flag syntax value, Part_mode syntax value, Split_tu_flag syntax value, the difference information of the intra prediction direction, and the differential motion vector information (hereinafter, they say prediction parameter information related to prediction also.), as well as entropy-encodes the transformed and quantized values. [0027]  Inverse quantization / inverse transformer 103 inverse-quantizes the transform quantization value. Furthermore, the inverse quantization / inverse transformer 103 inverse frequency converts the inverse quantized frequency transform coefficients. Inverse frequency transformed reconstructed prediction error image, the prediction signal is added, is supplied to the buffer 104. Buffer 104 stores the reconstructed image. [0028]  Multiplexer 106 outputs the multiplexed entropy encoded data supplied from the entropy encoder 102 as bit stream. [0029]  By the above-described operation, general video encoding apparatus generates a bitstream. [0030]  Next, with reference to FIG. 16, outputs the video frame decoded bit stream as input, the structure and operation of a typical video decoding apparatus. [0031]  Video decoding apparatus shown in FIG. 16 includes demultiplexer 201, an entropy decoder 202, inverse quantizer / inverse transformer 203, a predictor 204, a buffer 205. [0032]  Demultiplexer 201 is to demultiplex the bit stream input, extracts the video bitstream entropy coding. [0033]  The entropy decoder 202 entropy-decodes the video bit stream. The entropy decoder 202, the predictive parameters and transformed and quantized values ​​entropy decoding to the inverse quantization / inverse transformer 203 and the predictor 204. [0034]  Inverse quantization / inverse transformer 203 inverse-quantizes the transform quantization value. Furthermore, the inverse quantization / inverse transformer 203 inverse frequency converts the inverse quantized frequency transform coefficients. [0035]  After inverse frequency converter, predictor 204, based on the prediction parameters entropy decoding, it generates a prediction signal by using the reconstructed image stored in the buffer 205. [0036]  After the prediction signal generator, the inverse frequency transformed reconstructed prediction error image in the inverse quantizer / inverse transformer 203, it is added prediction signal supplied from the predictor 204 is supplied to the buffer 205 as a reconstructed image . [0037]  Then, reconstructed image stored in the buffer 205 is output as the decoded image (decoded image). [0038]  Based on the above operation, a general video decoding apparatus generates a decoded image. [0039]  Non-patent document 2 is called QuadTree plus Binary Tree (QTBT) is an extension method in the method described in Non-Patent Document 1 described above, quadtree and binary tree: block segmentation based on (BT Binary-Tree) It discloses a video image coding technique using a structure. [0040]  In QTBT structure, based on the quadtree structure, the coding tree units (CTU) is recursively divided into squares of coding units (CU). Furthermore, based on the binary tree structure, for prediction processing and transform processing, each CU divided recursively is recursively divided into blocks of a rectangular or square. In QTBT structure, part_mode syntax is not utilized. [0041]  Figure 17 is an explanatory diagram showing a QTBT structure described in Non-Patent Document 2. FIG. 17 (a) shows a block division example of CTU, FIG. 17 (b) shows the tree structure. 17, the solid line indicates a division based on quadtree structure, broken lines indicate divided based on the binary tree structure. The division based on the binary tree structure, the rectangular blocks are acceptable, it is necessary information indicating the division direction (direction dividing line extends). In FIG. 17 (b), 0 indicates that it is divided in the lateral direction (horizontal direction). 1 shows that it is divided in the vertical direction (vertical direction). QTBT structure, it is possible to more flexibly express the rectangular division shape, it is possible to increase the compression efficiency of the video scheme based on block division structure described in Non-Patent Document 1. CITATION Non-patent literature [0042] 非特許文献1 : High Efficiency Video Coding (HEVC) text specification draft 10 (for FDIS & Last Call) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 12th Meeting: Geneva, CH, 14-23 January 2013 非特許文献2 : Jicheng An, et al., "Quadtree plus binary tree structure integration with JEM tools", JVET-B0023, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 2nd Meeting: San Diego, USA, 20-26 February 2016 Summary of the Invention Problems that the Invention is to Solve [0043]  Figure 18 is an explanatory diagram showing an example of block division and the tree structure of CTU based on QTBT structure. [0044]  First, Cu_split_flag used in FIG. 18, bt_split_flag, bt_split_vertical_flag, and the definition of skip_flag be described. [0045]  cu_split_flag shows either not either be split based on quadtree structure. When cu_split_flag is 0, not divided on the basis of the quadtree structure (i.e., the block is the block of quadtree end node.). When cu_split_flag is 1, it is divided on the basis of the quadtree structure. [0046]  bt_split_flag shows either not or is divided on the basis of the binary tree structure. When bt_split_flag is 0, not divided on the basis of the binary tree structure (i.e., the block is the block of binary tree terminal node.) To. When bt_split_flag is 1, and is divided on the basis of the binary tree structure. [0047]  bt_split_vertical_flag is, bt_split_flag is present at the time of the 1. bt_split_vertical_flag shows the division direction. When bt_split_vertical_flag is 0, and is divided horizontally. When bt_split_vertical_flag is 1, and is divided in the vertical direction. [0048]  skip_flag = 0 indicates that the subsequent coded data exists, skip_flag = 1 indicates that the subsequent coded data is not present. [0049]  FIG. 18 (a), an example of block division is shown. FIG. 18 (b), syntax elements and QTBT structure corresponding to the division shown in FIG. 18 (a) is shown. [0050]  In the example shown in FIG. 18 (a), since the block of 64 × 64 (64 pixels × 64 pixels) is divided into 4 blocks of 32 × 32 based on quadtree structure, QT 0-level (depth 0) in the value of cu_split_flag a value indicating that the divided (in this example, 1). [0051]  In QT 1-level (depth 1), a block of 32 × 32 at the lower right is bisected in the vertical direction. For that block of 32 × 32, (in this example, 0) value indicating that the value of cu_split_flag will not divide a but, the value of bt_split_flag of BT 1-level (depth 1) is a value indicating that the divided ( in this example, 1). The value of bt_split_vertical_flag is (in this example, 1) a value indicating the vertical direction is. Note that the blocks of the other three 32 × 32, the value of bt_split_flag associated with the binary tree structure, a value indicating that no split (in this example, 0) is. Furthermore, the value of skip_flag is 1. [0052]  In BT 2-level (depth 2), for block A in the left 16 × 32 included in the block of 32 × 32 at the lower right, because they are not split further, the value of bt_split_flag indicates that no division value ( in this example, 0). The value of skip_flag is 1. [0053]  The block B of the right 16 × 32, since it is further divided, the value of bt_split_flag a value indicating that the divided (in this example, 1). The value of bt_split_vertical_flag is (in this example, 1) a value indicating the vertical direction is. [0054]  In BT 3-level (depth 3), since the block of the left 8 × 32 included in the block B of 16 × 32 at the lower right is not divided, the values ​​of bt_split_flag a value indicating that no split (in this example, 0). The value of skip_flag is 1. [0055]  Since the block of the right 8 × 32 is divided, the value of bt_split_flag a value indicating that the divided (in this example, 1). The value of bt_split_vertical_flag is (in this example, 0) value indicating the horizontal direction is. [0056]  In BT 4-level (depth 4), so also the block of the upper 8 × 16 block also lower 8 × 16 included in the block of 8 × 32 at the lower right undivided, for each block, the value of bt_split_flag a value indicating that no split (in this example, 0) is. The value of skip_flag is 1. [0057]  When using the above-described QTBT structure, quarter divided / undivided data blocks based on the tree structure (hereinafter, referred to as a quadtree division flag.) In addition, the division / non-division information of the block based on the binary tree structure (hereinafter, referred to as a binary tree split flag.) and horizontal / vertical division direction information (hereinafter, referred to as a binary tree dividing direction flag.) requires the transmission of. [0058]  Since the above binary tree division flag and a binary tree split direction flag is transmitted for each block, in particular under the bit rate is low, resulting in an increase in the level number of bits that can not be ignored. [0059]  Therefore, the compression efficiency is reduced by the occurrence of the overhead code quantity by their flag information. Furthermore, entropy coding / decoding of these flag information increases. [0060]  Also, when using the QTBT structure, it is possible to set the minimum size of the block. The minimum size is the concept including both the minimum value and the minimum value of the height of the lateral width. When the minimum size is set to "N", (the number of pixels in the horizontal direction) width of the block is reached to N, it is impossible to divide the block further longitudinally. Splitting is because the lateral width becomes N / 2. The height of the block (the number of vertical direction pixels) reaches the N, it is impossible to divide the block further laterally. Splitting is because the height becomes N / 2. [0061]  That is, when one of the width and the height is the minimum size block is divided on the basis of the binary tree split, the direction of division uniquely determined. However, in the illustrated manner in FIG. 18 (b), even in such a case, (in other words, redundant) originally is not required bt_split_vertical_flag is transmitted. [0062]  The present invention provides a video image encoding processing and image decoding processing using the block division structure based on the quadtree and binary tree, the compression performance was improved, to reduce the entropy encoding processing amount and entropy decoding processing amount for the purpose. Means for Solving the Problems [0063]  Video coding method according to the invention, the quadtree division flag, skip flag, a binary tree split flag, and the video encoding method comprising the entropy coding step of entropy encoding the binary tree splitting direction flag, a binary tree a step of multiplexing information indicating the minimum size of the division based on the structure in the bit stream, block skip flag of the quadtree dividing the end node, when indicating that a binary tree split flag is followed, entropy coding step in the binary tree division flag and a binary tree split direction flag is entropy coded, the block skip flag of the quadtree dividing the end node, when indicating that a binary tree split flag is not followed, the entropy coding step, binary tree division flag and a binary tree split direction flag does not entropy encoding the entropy And a coding controlling step, when a minimum size equal to the size of the node is further divided on the basis of the binary tree structure, the entropy encoding control step, to the entropy coding step, entropy binary tree dividing direction flag in the node wherein the not coded. [0064]  How video decoding according to the present invention is a quadtree division flag, skip flag, a binary tree split flag, and a video decoding method comprising the entropy decoding step of entropy decoding the binary tree splitting direction flag, divided based on the binary tree structure extracting information indicating the minimum size of the bitstream, block skip flag of the quadtree dividing the end node, when indicating that a binary tree split flag is followed, the entropy decoding step, a binary tree split flag and binary tree dividing direction flag is entropy decoding a block skip flag of the quadtree dividing the end node, when indicating that a binary tree split flag is not followed, the entropy decoding step, binary tree division flag and a binary tree split entropy decoding the control does not entropy decoding the direction flag step Wherein the door, when the minimum size equal size node is further divided on the basis of the binary tree structure, the entropy decoding control step, and characterized in that the entropy decoding step, not entropy decoding the binary tree dividing direction flag in the node to. [0065]  Image encoding apparatus according to the invention comprises at least quadtree division flag, skip flag, a binary tree split flag, and the entropy encoding means for entropy encoding the binary tree splitting direction flag, minimum segmentation based on binary tree structure size multiplexing means for multiplexing information indicating the size of the bitstream, and a entropy encoding control means for controlling the entropy coding means, entropy coding control means, the block quadtree dividing terminal nodes skip flag, when indicating that a binary tree split flag is followed, to the entropy coding means, a binary tree split flag and a binary tree split direction flag is entropy coded, the block skip flag of the quadtree dividing terminal nodes but when indicating that the binary tree split flag is not followed, the entropy coding means Binary tree division flag and without entropy coding a binary tree splitting direction flag, when the minimum size equal size node is further divided on the basis of the binary tree structure, to the entropy coding means, binary tree dividing direction flag in the node the characterized in that not entropy coding. [0066]  Video decoding apparatus according to the invention exhibit at least a quadtree division flag, skip flag, a binary tree split flag, and the entropy decoding means for entropy decoding the binary tree splitting direction flag, the minimum size of the division based on the binary tree structure size extracting means for extracting information from the bitstream, and a entropy decoding control means for controlling the entropy decoding unit, entropy decoding control means, the block skip flag of the quadtree dividing the end node, the binary tree split flag when indicating that but subsequent to entropy decoding unit, a binary tree split flag and a binary tree split direction flag is entropy decoding, block skip flag of the quadtree dividing the end node, the binary tree split flag is not followed when shown, the entropy decoding unit, a binary tree split flag 及 Half without entropy decoding tree dividing direction flag, when the minimum size equal size node is further divided on the basis of the binary tree structure, characterized in that the entropy decoding unit, not entropy decoding the binary tree dividing direction flag in the node to. [0067]  Video encoding program according to the present invention, the quadtree division flag, skip flag, a binary tree split flag, and a video encoding program for executing the processing including an entropy coding process for entropy coding the binary tree dividing direction flag to the computer a is a computer, a process of multiplexing information indicating the minimum size of the division based on the binary tree structure in the bit stream, the block skip flag of the quadtree dividing terminal nodes, followed by a binary tree split flag when indicating that the binary tree division flag and a binary tree split direction flag is entropy coded, the block skip flag of the quadtree dividing the end node, when indicating that a binary tree split flag is not followed, the binary tree split flag and entropy coding system that does not entropy encoded binary tree dividing direction flag To execute a process, when a minimum size equal to the size of the node is further divided on the basis of the binary tree structure, the entropy encoding control process, thereby executing the processing of not entropy encoded binary tree dividing direction flag in the node the features. [0068]  Video decoding program according to the present invention, the quadtree division flag, a video decoding program for executing the skip flag, a binary tree split flag, and the processing including the entropy decoding process for entropy decoding the binary tree dividing direction flag to the computer, a computer, a process of extracting information indicating the minimum size of the division based on the binary tree structure from the bit stream, block skip flag of the quadtree dividing the end node, when indicating that a binary tree split flag is followed, the binary tree division flag and a binary tree split direction flag is entropy decoding, block skip flag of the quadtree dividing the end node, when indicating that a binary tree split flag is not followed, the binary tree division flag and a binary tree split direction It executes the entropy decoding control processing which does not entropy decoding flag Was, when the minimum size equal size node is further divided on the basis of the binary tree structure, the entropy decoding control processing, characterized in that to execute a process not to entropy decode the binary tree dividing direction flag in the node. Effect of the invention [0069]  According to the present invention, compression performance is improved, the entropy encoding processing amount and entropy decoding processing amount is reduced. BRIEF DESCRIPTION OF THE DRAWINGS [0070] FIG. 1 is a block diagram illustrating a video encoding apparatus of the first embodiment. It is a flowchart showing the operation of FIG. 2 entropy encoder controller and the entropy encoder. 3 is an explanatory diagram showing a QTBT structure in the first embodiment. 4 is a block diagram illustrating an image decoding apparatus of the second embodiment. 5 is a flowchart showing the operation of the entropy decoder controller and entropy decoder. 6 is a block diagram showing a configuration example of a video encoding apparatus capable of realizing the functions information processing system. 7 is a block diagram showing a main part of a video encoding apparatus. 8 is a block diagram showing a main part of a video decoding apparatus. Is an explanatory view showing an example of FIG. 9 33 different angles intra prediction. Is an explanatory view showing an example of FIG. 10 inter-frame prediction. CTU division example of FIG. 11 frame t, and an explanatory view showing a CU example of division CTU8 frame t. It is an explanatory diagram showing a quad-tree structure corresponding to the CU division example of FIG. 12] CTU8. FIG. 13 is an explanatory diagram showing a PU split example of CU. FIG. 14 is an explanatory diagram showing a TU division example of CU. 15 is a block diagram showing a configuration example of a general video encoder. 16 is a block diagram showing a configuration example of a general video decoder. FIG. 17 is an explanatory diagram block division example of CTU described in Non-Patent Document 2 and shows the tree structure. FIG. 18 is an explanatory diagram showing an example of block division of CTU and the tree structure based on QTBT structure. DESCRIPTION OF THE INVENTION [0071] The first embodiment.  Figure 1 is a block diagram showing an embodiment of a video encoding apparatus (first embodiment). Video encoding apparatus shown in Figure 1, transformer / quantizer 101, entropy encoder 102, inverse quantizer / inverse transformer 103, buffer 104, predictor 105, a multiplexer 106, and the entropy coding controller equipped with a 107. [0072]  cu_split_flag in this embodiment, bt_skip_flag, bt_split_flag, bt_split_vertical_flag, and the definition of skip_flag be described. cu_split_flag, bt_split_flag, bt_split_vertical_flag, and are as previously described for skip_flag. [0073]  In the present embodiment, Bt_skip_flag is used. bt_skip_flag is present in a block of quadtree end node. bt_skip_flag indicates whether a subsequent encoded data exists. In the present embodiment, when the Bt_skip_flag exists, bt_skip_flag = 0 indicates that the subsequent coded data (bt_split_flag) is present, and bt_skip_flag = 1 indicates that the subsequent coded data (bt_split_flag) is not present . Incidentally, the video decoding side, if the bt_skip_flag absence, be interpreted as implicit 0. Further, in the present embodiment, even bt_split_flag is 1, may bt_split_vertical_flag absence. [0074]  Further, skip_flag = 0 indicates that the subsequent coded data exists, skip_flag = 1 is indicates that subsequent coded data does not exist, the video decoding side, when there is no skip_flag in the bitstream, implicit manner, skip_flag is interpreted as equal to Bt_skip_flag. [0075]  Hereafter, a divided block based on quadtree structure or the binary tree structure of sub-blocks. [0076]  Predictor 105, for each CTU, minimizing the coding cost is determined cu_split_flag, bt_split_flag, and bt_split_vertical_flag determining the QTBT division shape. [0077]  Next, predictor 105, determined cu_split_flag, bt_split_flag, and for each sub-block which is QTBT split based on Bt_split_vertical_flag, to minimize the coding cost, Pred_mode_flag to determine the intra prediction / inter prediction, the TU division shape determining Split_tu_flag, determines intra prediction direction, and the motion vector. [0078]  Then, predictor 105 determines the skip_flag which determines the skip mode. Specifically, the sub block to be processed, determined pred_mode_flag indicates inter prediction, when the transformed and quantized values ​​do not exist, the skip_flag to 1 (ie. To skip mode). At other times, a to 0 skip_flag (in other words, not a skip mode.). [0079]  Moreover, predictor 105 determines the bt_skip_flag for determining a binary tree skip mode. Specifically, for each sub-block, sub-block quadtree terminal node block (i.e., Cu_split_flag is 0), the sub-block is binary tree terminal node block (i.e., Bt_split_flag is 0), and the sub-block is a skip mode (in other words, skip_flag 1) when, to 1 bt_skip_flag (in other words, the binary tree skip mode.). At other times, a to 0 bt_skip_flag (in other words, not a binary tree skip mode.). [0080]  The predictor 105, determined cu_split_flag syntax value, Bt_skip_flag syntax value, Bt_split_flag syntax value, Bt_split_vertical_flag syntax value, skip_flag syntax value, Pred_mode_flag syntax value, Split_tu_flag syntax value, the intra prediction direction, and based on the motion vector, each sub generating a prediction signal for the input image signal of the block. Prediction signal is generated on the basis of the intra prediction or inter-frame prediction mentioned above. [0081]  Transformer / quantizer 101 is based on the TU division shape of predictor 105 is determined, frequency conversion of the prediction error image obtained by subtracting the prediction signal from the input image signal. Furthermore, transformer / quantizer 101, the prediction error image obtained by frequency conversion (frequency conversion coefficient) to generate a transformed and quantized value by quantizing. [0082]  Entropy coding controller 107 is supplied from the predictor 105 to the entropy encoder 102, Cu_split_flag of each sub block to be processed, bt_skip_flag, bt_split_flag, bt_split_vertical_flag, and monitors skip_flag, these entropy encoding control respect ( "coding ON" or "coding OFF"), to specify the following. [0083]  Entropy coding controller 107, when cu_split_flag of processed sub-blocks is 0, the entropy encoding control Bt_skip_flag, sets the "coding ON". At other times, to set the "encoding OFF". [0084]  Entropy coding controller 107, the entropy encoding control bt_skip_flag of processed sub-block "coding ON" is set, and when bt_skip_flag is 0, the entropy encoding control Bt_split_flag, "coding ON set ". At other times, to set the "encoding OFF". [0085]  Entropy coding controller 107, the entropy encoding control bt_split_flag of processed sub-block "coding ON" is set, and when bt_split_flag is 1, the entropy encoding control Bt_split_vertical_flag, "coding ON set ". At other times, to set the "encoding OFF". [0086]  However, entropy coding controller 107, even if the bt_split_flag of processed sub-blocks 1, if the width or height of the processed sub-blocks is equal to the minimum size, the entropy encoding control Bt_split_vertical_flag, "code setting the reduction OFF ". [0087]  In other words, entropy coding controller 107 is supplied from the predictor 105 to the entropy encoder 102 monitors the size of each sub-block based on the binary tree structure, entropy encoding control bt_split_vertical_flag ( "coding ON do "or" encoding OFF "). [0088]  Specifically, if the width or height of the sub-block to be processed is equal to the minimum size, when the block is further divided, entropy coding controller 107, to the entropy encoder 102, entropy coding of bt_split_vertical_flag It is skipped process (as described above, is set to "coding OFF".). Below, the minimum size, expressed as minBTsize. The minimum size is be set arbitrarily, in the present embodiment, as an example, the minimum size "8". Also, the width of the sub-block to be processed CurPartW, expressed as curPartH height. [0089]  For entropy encoding control bt_skip_flag sub block to be processed "coding OFF" is set and, when bt_split_flag is 0, the entropy encoding control skip_flag, sets the "coding ON". At other times, to set the "encoding OFF". [0090]  The entropy coder 102, Cu_split_flag syntax value predictor 105 decides, Bt_skip_flag syntax value, Bt_split_flag syntax value, Bt_split_vertical_flag syntax value, skip_flag syntax value, Pred_mode_flag syntax value, Split_tu_flag syntax value, the difference information of the intra prediction direction, a motion vector difference information, and entropy coding the transformed and quantized values. [0091]  However, entropy encoder 102, bt_skip_flag, bt_split_flag, bt_split_vertical_flag, and for skip_flag, when "encoded OFF" as respective entropy encoding control is set to skip entropy coding. [0092]  The above-described control is signaled bt_skip_flag is only in quadtree terminal node block, when bt_skip_flag is 1, redundant Bt_split_flag, signaling bt_split_vertical_flag and skip_flag is prevented. [0093]  Further, the above control, signaling redundant bt_split_vertical_flag is prevented. [0094]  Inverse quantization / inverse transformer 103 inverse-quantizes the transform quantization value. Furthermore, the inverse quantization / inverse transformer 103 inverse frequency converts the inverse quantized frequency transform coefficients. Inverse frequency transformed reconstructed prediction error image, the prediction signal is added, is supplied to the buffer 104. Buffer 104 stores the reconstructed image. [0095]  Multiplexer 106 outputs the multiplexed entropy encoded data supplied from the entropy encoder 102 as bit stream. [0096]  By the above-described operation, the image encoding apparatus of the present embodiment generates a bitstream. [0097]  Next, with reference to the flowchart of FIG. 2, bt_skip_flag, bt_split_flag, bt_split_vertical_flag, and for skip_flag, illustrating the operation of the entropy encoding controller 107 and the entropy encoder 102 which is a characteristic part of the present embodiment in more detail. [0098]  In step S101, the entropy coding controller 107 determines whether cu_split_flag is 0. If cu_split_flag is 0, the process proceeds to step S102. If cu_split_flag is 1, the process proceeds to the next quad-tree sub-blocks (blocks after the division based on the quadtree structure). [0099]  In step S102, the entropy encoder 102 entropy-encodes the Bt_skip_flag. In step S103, the entropy coding controller 107 determines whether bt_skip_flag is 0. If bt_skip_flag is 0, the process proceeds to step S104. If bt_skip_flag is 1, the process is terminated. [0100]  In step S104, the entropy encoder 102 entropy-encodes the Bt_split_flag. In step S105, the entropy coding controller 107 determines whether bt_split_flag is 0. In the case of bt_split_flag 0, the process proceeds to step S108. If bt_split_flag is 1, the process proceeds to step S106. [0101]  In step S106, the entropy coding controller 107 determines whether curPartW or curPartH equals MinBTsize. When one of the curPartW and curPartH equals MinBTsize, the process proceeds to the next binary tree sub-blocks (blocks after the division based on the binary tree structure). That entropy coding controller 107, to skip the entropy coding process Bt_split_vertical_flag (set to "coding OFF".). The processing of the next binary tree sub-blocks is a step S102 and subsequent steps. When none of the curPartW and curPartH is not equal to MinBTsize, the process proceeds to step S107. [0102]  In step S107, the entropy encoder 102 entropy-encodes the Bt_split_vertical_flag. Then, the process proceeds to the next binary tree sub-blocks. [0103]  By the processing of steps S105 ~ S107, the entropy coding controller 107, Bt_split_flag of processed sub-block is 1 (i.e., the processing target block is further divided on the basis of the binary tree composition.), And the curPartW when one of the curPartH equals MinBTsize, entropy encoding process bt_split_vertical_flag is skipped. [0104]  In step S108, the entropy encoder 102 determines whether or not the entropy encoding Bt_skip_flag. If not entropy coding, the flow proceeds to step S109. If entropy coding, the processing is terminated. [0105]  In step S109, the entropy encoder 102 is entropy encoded skip_flag, the process ends. [0106]  Next, a specific example of the present embodiment. Figure 3 is an explanatory diagram showing a QTBT structure in the first embodiment. [0107]  Figure 3 (a) is an example of block division is shown. In FIG. 3 (b), syntax elements and QTBT structure corresponding to the division shown in FIG. 3 (a) is shown. [0108]  In the example shown in FIG. 3 (a), since the block of 64 × 64 (64 pixels × 64 pixels) is divided into 32 × 32 4 blocks on the basis of the quadtree structure (sub-block), QT 0-level in (depth 0), the value of cu_split_flag a value indicating that the divided (in this embodiment, 1). [0109]  In QT 1-level (depth 1), a block of 32 × 32 at the lower right is bisected in the vertical direction. For that block of 32 × 32, (in this embodiment, 0) value indicating that the value of cu_split_flag will not divide a but, the value of bt_split_flag of BT 1-level (depth 1) is a value indicating that the divided (in this embodiment, 1). The value of bt_split_vertical_flag is (in this embodiment, 1) a value indicating the vertical direction is. The blocks of the other 32 × 32, the value of bt_skip_flag indicating whether subsequent encoded data is present, a value indicating that the subsequent coded data does not exist (in the present embodiment, 1). Although four 32 for bt_skip_flag related blocks × 32 "coding ON" is set (because cu_split_flag is 0), the block of 32 × 32 at the lower right only, the entropy encoding control Bt_split_flag, " encoding ON "is set. The block of the other three 32 × 32 "coding OFF" is set. [0110]  In BT 2-level (depth 2), for block A in the left 16 × 32 included in the block of 32 × 32 at the lower right, because they are not split further, the value of bt_split_flag indicates that no division value ( in this embodiment, a 0). The value of skip_flag is 1. [0111]  The block B of the right 16 × 32, since it is further divided, the value of bt_split_flag a value indicating that the divided (in this embodiment, 1). The value of bt_split_vertical_flag is (in this embodiment, 1) a value indicating the vertical direction is. Incidentally, a width (curPartW) 16 is also height (curPartH) 32 also does not reach the MinBTsize. [0112]  In BT 3-level (depth 3), since the block of the left 8 × 32 included in the block B of 16 × 32 at the lower right is not divided, the values ​​of bt_split_flag a value indicating that no split (in this embodiment , 0), the value of skip_flag is 1. [0113]  Block of the right 8 × 32 (in FIG. 3 (a), a block surrounded by a bold line) because is further divided, the value of bt_split_flag a value indicating that the divided (in this embodiment, 1) is . However, since curPartW equals minBTsize (= 8), bt_split_vertical_flag is not entropy encoded, not transmitted. In other words, entropy encoding controller 107, the entropy encoding control Bt_split_vertical_flag, sets the "coding OFF". [0114]  In BT 4-level (depth 4), so also the block of the upper 8 × 16 block also lower 8 × 16 included in the block of 8 × 32 at the lower right undivided, for each block, the value of bt_split_flag a value indicating that no split (in this example, 0) is. The value of skip_flag is 1. [0115]  Example shown in FIG. 3 (a) is the same as the example shown in FIG. 18 (a). Example shown in FIG. 18 (b), faithfully, quadtree division flag is an example of a binary tree split flag and a binary tree split direction flag is used. In the example shown in FIG. 18 (b), the number of bits required to represent the QTBT structure (bin number) whereas was 25, in the example shown in FIG. 3 (b), to represent QTBT structure required number of bits (bin number) is reduced to 21. [0116]  According to the video encoding apparatus of the present embodiment using the entropy coding controller 107 and the entropy encoder 102 described above, transmission of redundant binary tree division flag and a binary tree split direction flag is prevented, compression performance There is improved. Further, it reduces the entropy encoding processing of redundant binary tree division flag and a binary tree split direction flag, processing complexity is reduced. [0117] Second embodiment.  Figure 4 is a block diagram illustrating an embodiment of a video decoding apparatus (second embodiment). Video decoding apparatus shown in FIG. 4 includes demultiplexer 201, an entropy decoder 202, inverse quantizer / inverse transformer 203, a predictor 204, a buffer 205, and an entropy decoder controller 206. [0118]  Demultiplexer 201 is to demultiplex the bit stream input, extracts the entropy coded data. [0119]  The entropy decoder 202 entropy decodes entropy coded data. The entropy decoder 202 supplies the converted quantized value entropy decoding to the inverse quantization / inverse transformer 203, further, cu_split_flag, bt_skip_flag, bt_split_flag, bt_split_vertical_flag, skip_flag, pred_mode_flag, split_tu_flag, intra prediction direction, and the motion vector and supplies. [0120]  However, the entropy decoder 202 of the present embodiment, bt_skip_flag, bt_split_flag, bt_split_vertical_flag, and for skip_flag, when "decrypting OFF" is set with respect to the entropy decoding control supplied from the entropy decoder controller 206, each entropy decoding skip. Each decryption value when the skip is set as follows. [0121]  When skipping entropy decoding control Bt_skip_flag, entropy decoder 202 sets the Bt_skip_flag to 0. In other words, the entropy decoder 202, if there is no Bt_skip_flag in the bitstream, be interpreted as implicit bt_skip_flag = 0. [0122]  The entropy decoder 202, when skipping entropy decoding control bt_split_flag and Bt_split_vertical_flag, sets the bt_split_flag to 0. In other words, the entropy decoder 202, if there is no Bt_split_flag in the bitstream, be interpreted as implicit bt_split_flag = 0. The entropy decoder 202, when skipping entropy decoding control Bt_split_vertical_flag, the Bt_split_vertical_flag, 0 and is set to either 1, or may be set to either. [0123]  Entropy decoder controller 206, when skipping entropy decoding control skip_flag, decryption value bt_skip_flag if one sets skip_flag to 1. In other cases, setting the skip_flag to 0. [0124]  Entropy decoder controller 206, Cu_split_flag supplied from the entropy decoder 202, monitors bt_skip_flag, bt_split_flag, the bt_split_vertical_flag and skip_flag, each set of entropy decoding control ( "decoding ON" or "decoding OFF") as follows to. [0125]  Entropy decoder controller 206, when the entropy decoded cu_split_flag of processed sub-blocks is 0, the entropy decoding control Bt_skip_flag, sets the "decoding ON". At other times, to set the "decryption OFF". [0126]  Entropy decoder controller 206, when the entropy decoded bt_skip_flag of processed sub-blocks is 0, the entropy decoding control Bt_split_flag, sets the "decoding ON". At other times, to set the "decryption OFF". [0127]  Entropy decoder controller 206, when the entropy decoded bt_split_flag of processed sub-blocks of 1, the entropy decoding control Bt_split_vertical_flag, sets the "decoding ON". At other times, to set the "decryption OFF". [0128]  However, entropy decoding controller 206, even if bt_split_flag of processed sub-blocks of 1, if the width or height of the sub-block to be processed is equal to the minimum size, the entropy decoding control Bt_split_vertical_flag, "decoding OFF" to set. [0129]  Entropy decoder controller 206, entropy decoding control "decoding OFF" of bt_skip_flag sub block to be processed, and, when the entropy decoded bt_split_flag is 0, the entropy decoding control skip_flag, sets the "decoding ON" . At other times, to set the "decryption OFF". [0130]  By the above-described configuration, bt_skip_flag only in quadtree terminal node block is entropy decoded, when its value is 1, redundant Bt_split_flag, entropy decoding of bt_split_vertical_flag and skip_flag is prevented. [0131]  Inverse quantization / inverse transformer 203, the quantization step width, inversely quantizes the transformed and quantized values. Furthermore, the inverse quantization / inverse transformer 203 inverse frequency converts the inverse quantized frequency transform coefficients. [0132]  Predictor 204, cu_split_flag, bt_skip_flag, bt_split_flag, bt_split_vertical_flag, skip_flag, pred_mode_flag, split_tu_flag, intra prediction direction, and, based on the motion vector, and generates a prediction signal of each sub-block. Prediction signal is generated on the basis of the intra prediction or inter-frame prediction mentioned above. [0133]  Inverse quantization / inverse transformer 203 inverse frequency transformed reconstructed prediction error image is added prediction signal supplied from the predictor 204 is supplied to the buffer 205 as a reconstructed picture. The reconstructed pictures stored in the buffer 205 is output as a decoded image. [0134]  Based on the above operation, the video decoding apparatus of this embodiment generates a decoded image. [0135]  Next, with reference to the flowchart of FIG. 5, bt_skip_flag, bt_split_flag, bt_split_vertical_flag, and for skip_flag, illustrating the operation of the entropy decoder controller 206 and the entropy decoder 202 is a feature of the present embodiment in more detail. [0136]  In step S201, the entropy decoding controller 206, the entropy decoded cu_split_flag determines whether zero or not. If cu_split_flag is 0, the process proceeds to step S202. If cu_split_flag is 1, the process proceeds to the next quad-tree sub-blocks. [0137]  In step S202, the entropy decoder 202 entropy decodes the Bt_skip_flag. As described above, the entropy decoder 202, when skipping entropy decoding control Bt_skip_flag, sets the Bt_skip_flag to 0. [0138]  In step S203, the entropy decoder controller 206, the entropy decoded bt_skip_flag determines whether zero or not. If bt_skip_flag is 0, the process proceeds to step S204. If bt_skip_flag is 1, the process proceeds to step S214. [0139]  In step S204, the entropy decoder 202 entropy decodes the Bt_split_flag. Subsequently, the entropy decoder controller 206, at step S205, the entropy decoded bt_split_flag determines whether zero or not. If bt_split_flag is 0, the process proceeds to step S211. If bt_split_flag is 1, the process proceeds to step S206. [0140]  In step S206, the entropy decoding controller 206 determines whether curPartW or curPartH equals MinBTsize. When one of the curPartW and curPartH equals MinBTsize, the process proceeds to step S208. In other words, the entropy decoder controller 206, the entropy decoder 202 to skip the entropy decoding process Bt_split_vertical_flag (set to "decode OFF".). When none of the curPartW and curPartH is not equal to MinBTsize, the process proceeds to step S207. [0141]  In step S207, the entropy decoder 202 entropy decodes bt_split_vertical_flag sub block to be processed. Then, the process proceeds to the next binary tree sub-blocks (blocks after the division based on the binary tree structure). The processing of the next binary tree sub-blocks is a step S202 and subsequent steps. [0142]  In step S208 ~ S210, the entropy decoding controller 206 derives the value of bt_split_vertical_flag entropy decoding process is skipped. [0143]  Specifically, in step S208, the entropy decoding controller 206, min (curPartW) / (1 + bt_split_flag)

Documents

Application Documents

# Name Date
1 201817032581-TRANSLATIOIN OF PRIOIRTY DOCUMENTS ETC. [30-08-2018(online)].pdf 2018-08-30
2 201817032581-STATEMENT OF UNDERTAKING (FORM 3) [30-08-2018(online)].pdf 2018-08-30
3 201817032581-REQUEST FOR EXAMINATION (FORM-18) [30-08-2018(online)].pdf 2018-08-30
4 201817032581-PRIORITY DOCUMENTS [30-08-2018(online)].pdf 2018-08-30
5 201817032581-POWER OF AUTHORITY [30-08-2018(online)].pdf 2018-08-30
6 201817032581-FORM 18 [30-08-2018(online)].pdf 2018-08-30
7 201817032581-FORM 1 [30-08-2018(online)].pdf 2018-08-30
8 201817032581-DRAWINGS [30-08-2018(online)].pdf 2018-08-30
9 201817032581-DECLARATION OF INVENTORSHIP (FORM 5) [30-08-2018(online)].pdf 2018-08-30
10 201817032581-COMPLETE SPECIFICATION [30-08-2018(online)].pdf 2018-08-30
11 201817032581-RELEVANT DOCUMENTS [13-09-2018(online)].pdf 2018-09-13
12 201817032581-MARKED COPIES OF AMENDEMENTS [13-09-2018(online)].pdf 2018-09-13
13 201817032581-AMMENDED DOCUMENTS [13-09-2018(online)].pdf 2018-09-13
14 201817032581-Amendment Of Application Before Grant - Form 13 [13-09-2018(online)].pdf 2018-09-13
15 201817032581.pdf 2018-09-25
16 201817032581-Power of Attorney-200918.pdf 2018-09-27
17 201817032581-Correspondence-200918.pdf 2018-09-27
18 abstract.jpg 2018-10-01
19 201817032581-Verified English translation (MANDATORY) [08-10-2018(online)].pdf 2018-10-08
20 201817032581-Proof of Right (MANDATORY) [08-10-2018(online)].pdf 2018-10-08
21 201817032581-OTHERS-101018.pdf 2018-10-12
22 201817032581-OTHERS-101018-1.pdf 2018-10-12
23 201817032581-OTHERS-101018-.pdf 2018-10-12
24 201817032581-Correspondence-101018.pdf 2018-10-12
25 201817032581-FORM 3 [19-11-2018(online)].pdf 2018-11-19
26 201817032581-FER.pdf 2021-10-18

Search Strategy

1 _SearchStrategy-201817032581E_22-06-2020.pdf