WO2018123316A1 - 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置及びプログラム - Google Patents

映像符号化方法、映像復号方法、映像符号化装置、映像復号装置及びプログラム Download PDF

Info

Publication number
WO2018123316A1
WO2018123316A1 PCT/JP2017/041087 JP2017041087W WO2018123316A1 WO 2018123316 A1 WO2018123316 A1 WO 2018123316A1 JP 2017041087 W JP2017041087 W JP 2017041087W WO 2018123316 A1 WO2018123316 A1 WO 2018123316A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
binary tree
entropy
division
flag
Prior art date
Application number
PCT/JP2017/041087
Other languages
English (en)
French (fr)
Inventor
慶一 蝶野
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2018558889A priority Critical patent/JPWO2018123316A1/ja
Priority to US16/342,254 priority patent/US20190253737A1/en
Publication of WO2018123316A1 publication Critical patent/WO2018123316A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Definitions

  • the present invention relates to a video image encoding technique using a block division structure based on a quadtree and a binary tree.
  • each frame of a digitized video is divided into coding tree units (CTU: “Coding” Tree “Unit”), and each CTU is coded in the raster scan order.
  • CTU Coding tree Unit
  • Each CTU has a quad-tree (QT: Quad-Tree) structure and is encoded by being divided into coding units (CU: Coding Unit ⁇ ).
  • CU Coding Unit ⁇
  • PU Prediction Unit
  • predictive coding includes intra prediction and inter-frame prediction.
  • the prediction error of each CU has a quadtree structure, is divided into transform units (TU: Transform Unit), and is transform-coded based on frequency transform.
  • TU Transform Unit
  • LCU Largest Coding Unit
  • SCU Smallest Coding Unit
  • Intra prediction is prediction in which a prediction image is generated from a reconstructed image having the same display time as the encoding target frame.
  • 33 types of angle intra prediction shown in FIG. 9 are defined.
  • the reconstructed pixels around the encoding target block are extrapolated in any of 33 types of directions to generate an intra prediction signal.
  • DC intra prediction that averages the reconstructed pixels around the encoding target block and linear interpolation of the reconstructed pixels around the encoding target block Planar intra prediction is defined.
  • an intra CU encoded based on intra prediction is referred to as an intra CU.
  • Inter-frame prediction is prediction in which a predicted image is generated from a reconstructed image (reference picture) having a display time different from that of an encoding target frame.
  • inter-frame prediction is also referred to as inter prediction.
  • FIG. 10 is an explanatory diagram illustrating an example of inter-frame prediction.
  • the motion vector MV (mv x , mv y ) indicates the parallel movement amount of the reconstructed image block of the reference picture with respect to the encoding target block.
  • Inter prediction generates an inter prediction signal based on a reconstructed image block of a reference picture (using pixel interpolation if necessary).
  • a CU encoded based on inter-frame prediction is referred to as an inter CU.
  • a frame encoded only by an intra CU is called an I frame (or I picture).
  • a frame encoded including not only an intra CU but also an inter CU is called a P frame (or P picture).
  • a frame encoded including an inter CU that uses two reference pictures at the same time as well as one reference picture for inter prediction of a block is called a B frame (or B picture).
  • the skip mode indicates that the target CU is predictively encoded by frame prediction based on a 2N ⁇ 2N shape of a PU partition shape described later, and a transform quantization value described later does not exist. Whether or not each CU is in the skip mode is signaled by the skip_flag syntax described in Non-Patent Document 1.
  • Non-Patent Document 1 Whether each CU that is not in skip mode is an intra CU or an inter CU is signaled by the pred_mode_flag syntax described in Non-Patent Document 1.
  • FIG. 11 shows an example of CTU division of frame t when the spatial resolution of the frame is CIF (CIF: Intermediate Format ⁇ ) and CTU size 64, and an example of CU division of the eighth CTU (CTU8) included in frame t It is explanatory drawing which shows.
  • CIF Intermediate Format ⁇
  • CTU8 CU division of the eighth CTU
  • FIG. 12 is an explanatory diagram showing a quadtree structure corresponding to an example of CTU8 CU partitioning.
  • the quadtree structure of each CTU ⁇ that is, the CU split shape, is signaled by the cu_split_flag syntax described in Non-Patent Document 1.
  • FIG. 13 is an explanatory view showing the PU division shape of the CU.
  • a square PU partition can be selected.
  • a rectangular PU partition can be selected in addition to a square.
  • the PU partition shape of each CU is signaled by the part_mode syntax described in Non-Patent Document 1.
  • FIG. 14 is an explanatory diagram showing an example of TU partitioning of a CU.
  • an example of TU division of an intra CU having a 2N ⁇ 2N PU division shape is shown.
  • the root (Root) of the quadtree is arranged in the PU, and the prediction error of each PU is represented by a quadtree structure.
  • the lower row shows an example of TU division of an inter CU having a 2N ⁇ N PU division shape.
  • the root (Root) of the quadtree is arranged in the CU, and the prediction error of the CU is expressed by a quadtree structure.
  • the quadtree structure of the prediction error described above, that is, the TU partition shape of each CU is signaled by the split_tu_flag syntax described in Non-Patent Document 1.
  • the video encoder shown in FIG. 15 includes a transformer / quantizer 101, an entropy encoder 102, an inverse quantizer / inverse transformer 103, a buffer 104, a predictor 105, and a multiplexer 106.
  • the video encoder shown in FIG. 15 includes a transformer / quantizer 101, an entropy encoder 102, an inverse quantizer / inverse transformer 103, a buffer 104, a predictor 105, and a multiplexer 106.
  • the predictor 105 determines, for each CTU, a cu_split_flag syntax value that determines a CU partition shape that minimizes the coding cost.
  • the predictor 105 precode_mode_flag syntax value for determining intra prediction / inter prediction, part_mode syntax value for determining PU partition shape, and split_tu_flag syntax for determining TU partition shape for each CU.
  • a value, an intra prediction direction, and a motion vector are determined.
  • the predictor 105 determines a skip_flag syntax value that determines the skip mode.
  • skip_flag is set to 1 (that is, skip) Mode.
  • skip_flag is set to 0 (that is, skip mode is not set).
  • the predictor 105 generates a prediction signal for the input image signal of each CU based on the determined cu_split_flag syntax value, pred_mode_flag syntax value, part_mode syntax value, split_tu_flag syntax value, intra prediction direction, motion vector, and the like. .
  • the prediction signal is generated based on the above-described intra prediction or interframe prediction.
  • the transform / quantizer 101 performs frequency conversion on the prediction error image obtained by subtracting the prediction signal from the input image signal based on the TU division shape determined by the predictor 105.
  • the transform / quantizer 101 quantizes the prediction error image (frequency transform coefficient) subjected to frequency transform.
  • the quantized frequency transform coefficient is referred to as a transform quantization value.
  • the entropy encoder 102 determines the cu_split_flag syntax value, skip_flag ⁇ syntax value, pred_mode_flag syntax value, part_mode syntax value, split_tu_flag syntax value, intra prediction direction difference information, and motion vector difference information (hereinafter referred to as these) determined by the predictor 105.
  • the information related to the prediction is also referred to as a prediction parameter.
  • the transform quantization value is entropy-coded.
  • the inverse quantization / inverse transformer 103 inversely quantizes the transformed quantized value. Further, the inverse quantization / inverse transformer 103 performs inverse frequency transformation on the inversely quantized frequency transform coefficient.
  • the reconstructed prediction error image subjected to the inverse frequency conversion is supplied with the prediction signal and supplied to the buffer 104.
  • the buffer 104 stores the reconstructed image.
  • the multiplexer 106 multiplexes and outputs the entropy encoded data supplied from the entropy encoder 102 as a bit stream.
  • the general video encoding device generates a bit stream by the above-described operation.
  • the video decoding apparatus shown in FIG. 16 includes a demultiplexer 201, an entropy decoder 202, an inverse quantization / inverse transformer 203, a predictor 204, and a buffer 205.
  • the demultiplexer 201 demultiplexes the input bit stream and extracts an entropy-encoded video bit stream.
  • the entropy decoder 202 entropy decodes the video bitstream.
  • the entropy decoder 202 entropy-decodes the prediction parameter and the transform quantization value, and supplies them to the inverse quantization / inverse transform unit 203 and the predictor 204.
  • the inverse quantization / inverse transformer 203 performs inverse quantization on the transformed quantized value. Further, the inverse quantization / inverse transformer 203 performs inverse frequency transformation on the inversely quantized frequency transform coefficient.
  • the predictor 204 After the inverse frequency conversion, the predictor 204 generates a prediction signal using the reconstructed image stored in the buffer 205 based on the entropy-decoded prediction parameter.
  • the reconstructed prediction error image subjected to inverse frequency conversion by the inverse quantization / inverse transformer 203 is added with the prediction signal supplied from the predictor 204 and supplied to the buffer 205 as a reconstructed image.
  • the reconstructed image stored in the buffer 205 is output as a decoded image (decoded video).
  • a general video decoding device Based on the above-described operation, a general video decoding device generates a decoded image.
  • Non-Patent Document 2 is a block division based on quadtrees and binary trees (BT: Binary-TreeQu) called QuadTree plus Binary Tree (QTBT), which is an extension of the method described in Non-Patent Literature 1 described above.
  • BT Binary-TreeQu
  • QTBT QuadTree plus Binary Tree
  • the coding tree unit (CTU ⁇ ) is recursively divided into square coding units (CU) based on the quadtree structure. Further, based on the binary tree structure, each CU that is recursively divided is recursively divided into rectangular or square blocks for prediction processing and conversion processing. In the QTBT structure, the part_mode ⁇ ⁇ syntax is not used.
  • FIG. 17 is an explanatory diagram showing the QTBT structure described in Non-Patent Document 2.
  • FIG. 17A shows an example of CTU block division
  • FIG. 17B shows its tree structure.
  • a solid line indicates division based on a quadtree structure
  • a broken line indicates division based on a binary tree structure.
  • rectangular blocks are also allowed, so information indicating the division direction (direction in which the division line extends) is necessary.
  • 0 indicates division in the horizontal direction (horizontal direction).
  • 1 indicates division in the vertical direction (vertical direction). Since the QTBT structure can express a rectangular division shape more flexibly, the compression efficiency of the video system based on the block division structure described in Non-Patent Document 1 can be increased.
  • 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 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 bruFebruary 2016
  • FIG. 18 is an explanatory diagram showing an example of CTU block division based on the QTBT structure and its tree structure.
  • Cu_split_flag indicates whether or not to be split based on the quadtree structure.
  • cu_split_flag is 0, no division is performed based on the quadtree structure (that is, the block is a block of a quadtree terminal node).
  • cu_split_flag is 1, it is divided based on a quadtree structure.
  • Bt_split_flag indicates whether or not to be split based on the binary tree structure.
  • bt_split_flag When bt_split_flag is 0, it is not divided based on the binary tree structure (that is, the block is a block of a binary tree terminal node).
  • bt_split_flag When bt_split_flag is 1, it is assumed that the splitting is based on the binary tree structure.
  • Bt_split_vertical_flag exists when bt_split_flag is 1.
  • bt_split_vertical_flag indicates the division direction. It is assumed that when bt_split_vertical_flag is 0, it is divided in the horizontal direction. When bt_split_vertical_flag is 1, it is assumed that the vertical division is performed.
  • FIG. 18 (a) shows an example of block division.
  • FIG. 18B shows syntax elements and QTBT structures corresponding to the division shown in FIG.
  • a 64 ⁇ 64 (64 ⁇ 64 pixel) block is divided into 4 ⁇ 32 ⁇ 32 blocks based on the quadtree structure, so that QT 0-level (depth 0) ,
  • the value of cu_split_flag_ is a value (1 in this example) indicating division.
  • the lower right 32 ⁇ 32 block is divided into two vertically.
  • the value of cu_split_flag is a value indicating that no division is performed (in this example, 0)
  • the value of bt_split_flag of BT 1-level (depth 1) is a value indicating that the division is performed ( In this example, it is 1).
  • the value of bt_split_vertical_flag is a value indicating the vertical direction (1 in this example).
  • the value of bt_split_flag related to the binary tree structure is a value indicating that no division is performed (in this example, 0).
  • BT 2-level (depth 2) the left 16x32 block included in the lower right 32x32 block is not further divided, so the value of bt_split_flag In the example, 0).
  • the value of bt_split_flag ⁇ is a value indicating division (1 in this example).
  • the value of bt_split_vertical_flag is a value indicating the vertical direction (1 in this example).
  • the value of bt_split_flag is a value indicating that no division is performed (in this example, 0) ). Since the right 8 ⁇ 32 block included in the lower right 16 ⁇ 32 block is divided, the value of bt_split_flag is a value indicating division (1 in this example). The value of bt_split_vertical_flag is a value indicating the horizontal direction (in this example, 0).
  • the value of bt_split_flag is a value indicating that no division is performed (this value) In the example, 0).
  • quadtree partition flag block partition / non-partition information based on the quadtree structure
  • block partition / non-partition information based on the binary tree (Hereinafter referred to as a binary tree division flag) and horizontal / vertical division direction information (hereinafter referred to as a binary tree division direction flag) need to be transmitted.
  • the compression efficiency decreases due to the overhead code amount generated by the flag information.
  • the entropy encoding / decoding processing amount of the flag information increases.
  • the minimum block size can be set.
  • the minimum size is a concept including both the minimum value of the horizontal width and the minimum value of the height.
  • the minimum size is set to “N” and the horizontal width (number of pixels in the horizontal direction) of the block reaches N, the block cannot be further divided in the vertical direction. This is because if divided, the horizontal width becomes N / 2.
  • the height of the block (the number of pixels in the vertical direction) reaches N, the block cannot be further divided in the horizontal direction. This is because, when divided, the height becomes N / 2.
  • the present invention is to improve compression performance and reduce entropy encoding processing amount and entropy decoding processing amount in video image encoding processing and video decoding processing using a block division structure based on a quadtree and a binary tree. Objective.
  • a video encoding method is a video encoding method using a block division structure based on a quadtree and a binary tree, and at least data indicating a division direction of a block divided based on the binary tree structure.
  • An entropy encoding step for entropy encoding, and a step of multiplexing information indicating a minimum size of a division based on a binary tree structure into a bitstream, and a block having a size equal to the minimum size is further divided based on a binary tree structure In this case, the entropy encoding of data indicating the division direction in the block is prohibited.
  • a video decoding method is a video decoding method using a block division structure based on a quadtree and a binary tree, and at least entropy decodes data indicating a division direction of a block divided based on the binary tree structure
  • An entropy decoding step and extracting from the bitstream information indicating a minimum size of the division based on the binary tree structure, and when a block having a size equal to the minimum size is further divided based on the binary tree structure, It is characterized by prohibiting entropy decoding of data indicating a division direction in a block.
  • a video encoding device is a video encoding device using a block division structure based on a quadtree and a binary tree, and at least data indicating a division direction of a block divided based on the binary tree structure.
  • Entropy coding means for entropy coding, size multiplexing means for multiplexing information indicating the minimum size of the division based on the binary tree structure into the bitstream, and a block having a size equal to the minimum size is further based on the binary tree structure
  • a coding prohibiting means for prohibiting entropy coding of data indicating the division direction in the block.
  • a video decoding device is a video decoding device using a block division structure based on a quadtree and a binary tree, and at least entropy decodes data indicating a division direction of a block divided based on the binary tree structure
  • Entropy decoding means size extraction means for extracting information indicating the minimum size of the division based on the binary tree structure from the bitstream, and when a block having a size equal to the minimum size is further divided based on the binary tree structure
  • Decoding prohibiting means for prohibiting entropy decoding of data indicating the division direction in the block.
  • a video encoding program is a video encoding program for implementing a video encoding method using a block division structure based on a quadtree and a binary tree, and is based on at least a binary tree structure on a computer.
  • the entropy encoding process for entropy encoding data indicating the division direction of the block to be divided and the process for multiplexing the information indicating the minimum size of the division based on the binary tree structure into the bitstream are executed.
  • blocks of equal size are further divided based on a binary tree structure, entropy encoding of data indicating the division direction in the block is prohibited.
  • a video decoding program is a video decoding program for implementing a video decoding method using a block division structure based on a quadtree and a binary tree, and is divided into at least a computer based on a binary tree structure.
  • the compression performance is improved, and the entropy encoding processing amount and the entropy decoding processing amount are reduced.
  • FIG. 6 is an explanatory diagram showing an example of CTU partitioning of frame t and a CU partitioning example of CTU8 of frame t It is explanatory drawing which shows the quadtree structure corresponding to the CU division
  • FIG. 1 is a block diagram showing an embodiment (first embodiment) of a video encoding apparatus. 1 includes a transform / quantizer 101, an entropy encoder 102, an inverse quantizer / inverse transformer 103, a buffer 104, a predictor 105, a multiplexer 106, and an entropy coding controller. 107.
  • cu_split_flag, bt_split_flag, and bt_split_vertical_flag used in the present embodiment are as described above.
  • bt_split_flag does not exist, bt_split_flag is implicitly interpreted as 0. In this embodiment, even if bt_split_flag is 1, bt_split_vertical_flag may not exist.
  • the predictor 105 determines cu_split_flag, bt_split_flag, and bt_split_vertical_flag that determine the QTBT division shape that minimizes the coding cost for each CTU.
  • a block divided based on a quadtree structure or a binary tree structure may be referred to as a sub-block.
  • the predictor 105 sets pred_mode_flag and TU partition shape for determining intra prediction / inter prediction that minimizes the coding cost for each sub-block subjected to QTBT partitioning based on the determined cu_split_flag_, bt_split_flag, and bt_split_vertical_flag.
  • the split_tu_flag to be determined, the intra prediction direction, and the motion vector are determined.
  • the predictor 105 determines skip_flag that determines the skip mode. Specifically, for the sub-block to be processed, when the determined pred_mode_flag indicates inter prediction and there is no transform quantization value, skip_flag is set to 1 (that is, the skip mode is set). In other cases, skip_flag is set to 0 (that is, skip mode is not set).
  • the predictor 105 based on the determined cu_split_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, intra prediction direction, and motion vector input Generate a prediction signal for the signal.
  • the prediction signal is generated based on the above-described intra prediction or interframe prediction.
  • the transform / quantizer 101 performs frequency conversion on the prediction error image obtained by subtracting the prediction signal from the input image signal based on the TU division shape determined by the predictor 105. Further, the transform / quantizer 101 quantizes the frequency-converted prediction error image (frequency transform coefficient) to generate a transform quantized value.
  • the entropy encoding controller 107 monitors the size of each sub-block based on the binary tree structure supplied from the predictor 105 to the entropy encoder 102, and determines whether to entropy encode bt_split_vertical_flag.
  • the entropy encoding controller 107 sends the entropy code of bt_split_vertical_flag to the entropy encoder 102. Skip the digitization process.
  • the minimum size is expressed as minBTsizeBT.
  • the minimum size can be set arbitrarily, in this embodiment, the minimum size is “8” as an example.
  • the horizontal width of the sub-block to be processed is expressed as curPartW and the height as curPartH.
  • the entropy encoder 102 determines the cu_split_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, difference information of intra prediction direction, motion vector difference information determined by the predictor 105. And the transform quantization value is entropy-encoded.
  • the entropy encoder 102 skips entropy encoding when the entropy encoding controller 107 determines to skip entropy encoding for bt_split_vertical_flag.
  • the inverse quantization / inverse transformer 103 inversely quantizes the transformed quantized value. Further, the inverse quantization / inverse transformer 103 performs inverse frequency transformation on the inversely quantized frequency transform coefficient.
  • the reconstructed prediction error image subjected to the inverse frequency conversion is supplied with the prediction signal and supplied to the buffer 104.
  • the buffer 104 stores the reconstructed image.
  • the multiplexer 106 multiplexes and outputs the entropy encoded data supplied from the entropy encoder 102 as a bit stream. Note that the multiplexer 106 also multiplexes minBTsize indicating the minimum size of division based on the binary tree structure into the bitstream.
  • the video encoding apparatus generates a bit stream by the above-described operation.
  • step S101 the entropy coding controller 107 determines whether or not cu_split_flag is 0. If cu_split_flag is 0, the process proceeds to step S102. When cu_split_flag is 1, the process proceeds to the next quadtree sub-block (block after division based on the quadtree structure).
  • step S102 the entropy encoder 102 performs entropy encoding on bt_split_flag.
  • step S103 the entropy coding controller 107 determines whether or not bt_split_flag is 0. If bt_split_flag 0, the process ends. Note that the entropy encoder 102 entropy-encodes skip_flag before ending the processing. If bt_split_flag is 1, the process proceeds to step S104.
  • step S104 the entropy encoding controller 107 determines whether curPartW or curPartH is equal to minBTsize. When one of curPartW and curPartH is equal to minBTsize, the process proceeds to the next binary tree sub-block (block after division based on the binary tree structure). Note that the processing of the next binary tree sub-block is processing after step S102. When neither curPartW nor curPartH is equal to minBTsize, the process proceeds to step S105.
  • step S105 the entropy encoder 102 performs entropy encoding on bt_split_vertical_flag. Then, the process proceeds to the next binary tree sub-block.
  • the entropy coding controller 107 sets bt_split_flag of the processing target sub-block to 1 (that is, the processing target block is further divided based on the binary tree composition) and curPartW.
  • curPartH is equal to minBTsize
  • the entropy encoding process of bt_split_vertical_flag is skipped.
  • FIG. 3 is an explanatory diagram showing the QTBT structure in the first embodiment.
  • FIG. 3 (a) shows an example of block division.
  • FIG. 3B shows a syntax element and a QTBT structure corresponding to the division shown in FIG.
  • a 64 ⁇ 64 (64 pixels ⁇ 64 pixels) block is divided into 4 ⁇ 32 ⁇ 32 blocks (sub-blocks) based on the quadtree structure, so that QT 0-level In (depth 0), the value of cu_split_flag ⁇ is a value (1 in the present embodiment) indicating division.
  • the lower right 32 ⁇ 32 block is divided into two vertically.
  • the value of cu_split_flag is a value indicating that no division is performed (in this embodiment, 0), but the value of bt_split_flag of BT 1-level (depth 1) is a value indicating division (1 in this embodiment).
  • the value of bt_split_vertical_flag is a value indicating the vertical direction (1 in this embodiment).
  • BT 2-level (depth 2) the left 16x32 block included in the lower right 32x32 block is not further divided, so the value of bt_split_flag In the embodiment, it is 0).
  • the value of bt_split_flag is a value indicating division (1 in the present embodiment).
  • the value of bt_split_vertical_flag is a value indicating the vertical direction (1 in this embodiment). Neither 16 which is the width (curPartW) nor 32 which is the height (curPartH) has reached minBTsize.
  • the left 8x32 block included in the lower right 16x32 block is not further divided, so the value of bt_split_flag In the embodiment, it is 0).
  • the value of bt_split_flag is a value (1 in the present embodiment) indicating that it is divided.
  • bt_split_vertical_flag is not entropy-coded and is not transmitted.
  • BT 4-level (depth 4) the upper 8 ⁇ 16 block and the lower 8 ⁇ 16 block included in the lower right 8 ⁇ 32 block are not divided, so the value of bt_split_flag for each block Is a value (0 in this example) indicating that no division is performed.
  • the 8 ⁇ 32 block surrounded by the thick line is further divided in the horizontal direction based on the binary tree structure, so in the method shown in FIG. A bt_split_vertical_flag of 0 was entropy encoded and included in the bitstream.
  • curPartW is equal to minBTsize, so the division direction of the block is uniquely determined in the horizontal direction.
  • the video decoding apparatus only receives information about 8 ⁇ 32 blocks (specifically, bt_split_flag) with curPartW equal to minBTsize, and blocks division of 8 ⁇ 32 You can recognize the direction. Therefore, in the present embodiment, when a predetermined condition (specifically, bt_split_flag ⁇ of the block to be processed is 1 and one of curPartW and curPartH is equal to minBTsize) is satisfied, the video encoding device. Does not entropy encode the syntax value of bt_split_vertical_flag.
  • FIG. 4 is a block diagram showing an embodiment (second embodiment) of the video decoding apparatus.
  • the video decoding apparatus illustrated in FIG. 4 includes a demultiplexer 201, an entropy decoder 202, an inverse quantization / inverse transformer 203, a predictor 204, a buffer 205, and an entropy decoding controller 206.
  • the demultiplexer 201 demultiplexes the input bit stream and extracts entropy encoded data. Note that the demultiplexer 201 also extracts minBTsize from the bitstream.
  • the entropy decoder 202 entropy decodes the entropy encoded data.
  • the entropy decoder 202 supplies the transform quantization value subjected to entropy decoding to the inverse quantization / inverse transformer 203, and further supplies cu_split_flag, bt_split_flag, bt_split_vertical_flag, skip_flag, pred_mode_flag, split_tu_flag, intra prediction direction, and motion vector. To do.
  • the entropy decoder 202 of the present embodiment skips the entropy decoding process when the same condition as the predetermined condition in the video encoding device is satisfied for bt_split_vertical_flag.
  • the inverse quantization / inverse transformer 203 inversely quantizes the transform quantization value with the quantization step width. Further, the inverse quantization / inverse transformer 203 performs inverse frequency transformation on the inversely quantized frequency transform coefficient.
  • the predictor 204 generates a prediction signal for each sub-block based on cu_split_flag, bt_split_flag, bt_split_vertical_flag ⁇ , skip_flag, pred_mode_flag, split_tu_flag, intra prediction direction, and motion vector.
  • the prediction signal is generated based on the above-described intra prediction or interframe prediction.
  • the prediction signal supplied from the predictor 204 is added to the reconstructed prediction error image that has been subjected to inverse frequency conversion by the inverse quantization / inverse transformer 203, and is supplied to the buffer 205 as a reconstructed picture. Then, the reconstructed picture stored in the buffer 205 is output as a decoded image.
  • the video decoding apparatus Based on the above-described operation, the video decoding apparatus according to the present embodiment generates a decoded image.
  • step S201 the entropy decoding controller 206 determines whether or not the entropy decoded cu_split_flag_ is 0. If cu_split_flag is 0, the process proceeds to step S202. If cu_split_flag is 1, proceed to processing of the next quadtree sub-block.
  • step S202 the entropy decoder 202 entropy decodes bt_split_flag_.
  • step S203 the entropy decoding controller 206 determines whether or not the entropy decoded bt_split_flag is 0. If bt_split_flag is 0, the process ends. Note that the entropy decoder 202 entropy-decodes skip_flag before ending the processing. If bt_split_flag is 1, the process proceeds to step S204.
  • step S204 the entropy decoding controller 206 determines whether curPartW or curPartH is equal to minBTsize. When either curPartW or curPartH is equal to minBTsize, the process proceeds to step S206. That is, the entropy decoding controller 206 causes the entropy decoder 202 to skip the entropy decoding process of bt_split_vertical_flag. When neither curPartW nor curPartH is equal to minBTsize, the process proceeds to step S205.
  • step S205 the entropy decoder 202 entropy-decodes bt_split_vertical_flag of the sub-block to be processed. Then, the process proceeds to the processing of the next binary tree sub-block (the divided block based on the binary tree structure). Note that the process of the next binary tree sub-block is the process after step S202.
  • the entropy decoding controller 206 derives the value of bt_split_vertical_flag in which the entropy decoding process is skipped.
  • step S206 the entropy decoding controller 206 determines whether min (curPartW) / (1 + bt_split_flag) ⁇ minBTsize.
  • min (curPartW) / (1 + bt_split_flag) ⁇ minBTsize in step S207, the entropy decoding controller 206 sets the value of bt_split_vertical_flag to 0 (indicating that it is divided in the horizontal direction).
  • step S208 the entropy decoding controller 206 sets the value of bt_split_vertical_flag to 1 (indicating that it is divided in the vertical direction). Then, the process proceeds to the processing of the next binary tree sub-block (the divided block based on the binary tree structure).
  • Min (curPartW) / (1 + bt_split_flag) ⁇ minBTsize is a condition that indicates whether the width of the sub-block after the division is less than minBTSize ⁇ when the sub-block to be processed is further divided based on the binary tree structure It is.
  • the entropy decoding controller 206 uses the condition min (curPartH) / (1 + bt_split_flag) ⁇ minBTsize in step S206, and if min (curPartH) / (1 + bt_split_flag) ⁇ minBTsize, the value of bt_split_vertical_flag Is 1 (indicating that it is divided in the vertical direction), and when min (curPartH) / (1 + bt_split_flag) flag ⁇ minBTsize, the value of bt_split_vertical_flag is set to 0 (indicating that it is divided in the horizontal direction). It may be set.
  • minBTsize ⁇ means both the minimum horizontal width and the minimum height.
  • the minimum horizontal width and the minimum height are separately used. It may be set. In that case, in the process of step S104 shown in FIG. 2 and the process of step S204 shown in FIG. 5, curPartW is compared with the minimum lateral width, and curPartH is compared with the minimum height.
  • the information processing system shown in FIG. 6 includes a processor 1001, a program memory 1002, a storage medium 1003 for storing video data, and a storage medium 1004 for storing a bitstream.
  • the storage medium 1003 and the storage medium 1004 may be separate storage media, or may be storage areas composed of the same storage medium.
  • a magnetic storage medium such as a hard disk can be used as the storage medium.
  • the program memory 1002 stores a program for realizing the function of each block (excluding the buffer block) shown in FIGS. Then, the processor 1001 implements the functions of the video encoding device and the video decoding device according to the above-described embodiment by executing processing according to the program stored in the program memory 1002.
  • FIG. 7 is a block diagram showing the main part of the video encoding device.
  • the video encoding device 10 entropy-encodes at least data (for example, bt_split_vertical_flag syntax value) indicating the division direction of a block divided based on the binary tree structure (for example, the entropy encoding unit 11 ( In the embodiment, it is realized by the entropy encoder 102.) and a size multiplexing unit 12 (in the embodiment, for multiplexing information indicating the minimum size of the division based on the binary tree structure (for example, minBTsize) into the bit stream.
  • data for example, bt_split_vertical_flag syntax value
  • the entropy encoding unit 11 In the embodiment, it is realized by the entropy encoder 102.
  • a size multiplexing unit 12 in the embodiment, for multiplexing information indicating the minimum size of the division based on the binary tree structure (for example, minBTsize) into the bit
  • FIG. 8 is a block diagram showing the main part of the video decoding apparatus.
  • the video decoding device 20 entropy-decodes the entropy decoding unit 21 (in the embodiment, at least data indicating the division direction of blocks divided based on the binary tree structure (for example, bt_split_vertical_flag syntax value)).
  • a size extraction unit 22 in the embodiment, a demultiplexer 201) that extracts information (for example, minBTsize) indicating the minimum size of the division based on the binary tree structure from the bitstream.
  • Decoding prohibition unit 23 (implemented by entropy decoding controller 206 in the embodiment) It is.) And a.
  • the video decoding device 20 may include a setting unit (implemented by the entropy decoding controller 206 in the embodiment) that sets a value that satisfies the minimum size as data indicating a division direction that is not entropy decoded.
  • the value satisfying the minimum size is a value that can specify that it is not divided into sub-blocks smaller than the minimum size (specifically, the width and height are not smaller than the minimum value).
  • a step of entropy encoding a flag and a step of multiplexing information indicating a minimum size of a division based on the binary tree structure into a bitstream, and a node having a size equal to the minimum size is further based on the binary tree structure
  • the horizontal / vertical division direction flag in the node is not entropy-encoded.
  • a video decoding method using a block division structure based on a quadtree and a binary tree the step of entropy decoding a skip flag of a quadtree terminal node, and a block of the quadtree terminal node
  • a horizontal / vertical division direction flag in the node is not entropy-decoded when a node having a size equal to the minimum size is further divided based on the binary tree structure.
  • Additional remark 3 The video decoding method of Additional remark 2 which sets the value which satisfy
  • a flag which shows whether a block is divided based on a quadtree structure is entropy Quad-tree division flag encoding means for encoding (implemented by the entropy encoder 102 in the embodiment) and skip flag encoding means for entropy-encoding the skip flag of the quadtree end node (embodiment) Is implemented by the entropy encoder 102.
  • a flag for example, bt_split_flag
  • a horizontal / Binary tree information encoding means for entropy encoding a vertical split direction flag for example, bt_split_vertical_flag
  • the binary tree information encoding means sets a horizontal / vertical division direction flag at the node when a node having a size equal to the minimum size is further divided based on the binary tree structure.
  • a video encoding apparatus characterized by not performing entropy encoding.
  • Supplementary Note 5 includes size setting means (implemented by the entropy decoding controller 206 in the embodiment) that sets a value that satisfies the minimum size as the value of the horizontal / vertical division direction flag that is not entropy decoded. The video decoding device described.
  • a video encoding program for implementing a video encoding method using a block division structure based on a quadtree and a binary tree, wherein the computer divides a block based on the quadtree structure Whether to entropy-encode a flag indicating whether to perform, entropy-encode a skip flag of a quadtree end node, and whether to divide the block of the quadtree end node based on a binary tree structure
  • the horizontal / vertical split direction at the node Video encoding program for the lag does not entropy coding.
  • a video decoding program for implementing a video decoding method using a block division structure based on a quadtree and a binary tree, wherein the computer entropy decodes a skip flag of a quadtree end node; Entropy decoding of a flag indicating whether or not to divide the block of the quadtree end node based on a binary tree structure and a horizontal / vertical division direction flag indicating a division direction; and a process of dividing based on the binary tree structure And a process of extracting information indicating the minimum size from the bitstream.
  • the horizontal / vertical division direction flag in the node is entropy.

Abstract

映像符号化装置10は、少なくとも、二分木構造に基づいて分割されるブロックの分割方向を示すデータをエントロピー符号化するエントロピー符号化部11と、二分木構造に基づく分割の最小サイズを示す情報をビットストリームに多重化するサイズ多重化部12と、最小サイズと等しいサイズのブロックがさらに二分木構造に基づいて分割されるときには、当該ブロックにおける分割方向を示すデータのエントロピー符号化を禁止する符号化禁止部13とを備える。

Description

映像符号化方法、映像復号方法、映像符号化装置、映像復号装置及びプログラム
 本発明は、四分木と二分木とに基づくブロック分割構造を用いる映像像符号化技術に関する。
 非特許文献1に記載された映像符号化方式では、ディジタル化された映像の各フレームは符号化ツリーユニット(CTU: Coding Tree Unit )に分割され、ラスタスキャン順に各CTU が符号化される。
 各CTU は、四分木(QT: Quad-Tree )構造で、符号化ユニット(CU: Coding Unit )に分割されて符号化される。各CUは、予測ユニット(PU: Prediction Unit )に分割されて予測符号化される。なお、予測符号化には、イントラ予測とフレーム間予測とがある。
 各CUの予測誤差は、四分木構造で、変換ユニット(TU: Transform Unit)に分割されて周波数変換に基づいて変換符号化される。
 最も大きなサイズのCUを最大CU(LCU: Largest Coding Unit)、最も小さなサイズのCUを最小CU(SCU: Smallest Coding Unit )と呼ぶ。なお、LCU サイズとCTU サイズとは同一である。
 次に、イントラ予測及びフレーム間予測、並びに、CTU 、CU、PU及びTUのシグナリングを説明する。
 イントラ予測は、符号化対象フレームと表示時刻が同一の再構築画像から予測画像を生成する予測である。非特許文献1では、図9に示す33種類の角度イントラ予測が定義されている。角度イントラ予測は、符号化対象ブロック周辺の再構築画素を33種類の方向のいずれかに外挿して、イントラ予測信号を生成する。加えて、非特許文献1では、33種類の角度イントラ予測に加えて、符号化対象ブロック周辺の再構築画素を平均するDCイントラ予測、及び、符号化対象ブロック周辺の再構築画素を線形補間するPlanarイントラ予測が定義されている。以下、イントラ予測に基づいて符号化されたCUをイントラCUと呼ぶ。
 フレーム間予測は、符号化対象フレームと表示時刻が異なる再構築画像(参照ピクチャ)から予測画像を生成する予測である。以下、フレーム間予測をインター予測とも呼ぶ。図10は、フレーム間予測の例を示す説明図である。動きベクトルMV=(mvx, mvy)は、符号化対象ブロックに対する参照ピクチャの再構築画像ブロックの平行移動量を示す。インター予測は、参照ピクチャの再構築画像ブロックに基づいて(必要であれば画素補間を用いて)、インター予測信号を生成する。以下、フレーム間予測に基づいて符号化されたCUをインターCUと呼ぶ。
 イントラCUのみで符号化されたフレームはIフレーム(又は、Iピクチャ)と呼ばれる。イントラCUだけでなくインターCUも含めて符号化されたフレームはPフレーム(又は、Pピクチャ)と呼ばれる。ブロックのインター予測に1枚の参照ピクチャだけでなく、さらに同時に2枚の参照ピクチャを用いるインターCUを含めて符号化されたフレームはBフレーム(又は、Bピクチャ)と呼ばれる。
 スキップモードは、対象のCUが、後述するPU分割形状の2N×2Nの形状に基づくフレーム予測で予測符号化され、かつ、後述する変換量子化値が存在しないことを示す。各CUがスキップモードであるか否かは、非特許文献1に記載されているskip_flag シンタクスによってシグナリングされる。
 スキップモードではない各CUがイントラCU/インターCUのいずれであるかは、非特許文献1に記載されているpred_mode_flagシンタクスによってシグナリングされる。
 図11は、フレームの空間解像度がCIF (CIF: Common Intermediate Format )、CTU サイズが64の場合のフレームt のCTU 分割例、及び、フレームt に含まれる第8のCTU (CTU8)のCU分割例を示す説明図である。
 図12は、CTU8のCU分割例に対応する四分木構造を示す説明図である。各CTU の四分木構造、すなわち、CU分割形状は、非特許文献1に記載されているcu_split_flag シンタクスによってシグナリングされる。
 図13は、CUのPU分割形状を示す説明図である。イントラCUの場合、正方形のPU分割を選択できる。インターCUの場合、正方形に加えて長方形のPU分割も選択できる。各CUのPU分割形状は、非特許文献1に記載されているpart_mode シンタクスによってシグナリングされる。
 図14は、CUのTU分割例を示す説明図である。上段には、2N×2N PU 分割形状のイントラCUのTU分割例が示されている。イントラCUの場合、四分木の根(Root)はPUに配置され、各PUの予測誤差が四分木構造で表現される。下段には、2N×N PU分割形状のインターCUのTU分割例が示されている。インターCUの場合、四分木の根(Root) はCUに配置され、該CUの予測誤差が四分木構造で表現される。上述した予測誤差の四分木構造、すなわち、各CUのTU分割形状は、非特許文献1に記載されるsplit_tu_flag シンタクスによってシグナリングされる。
 以上で、イントラ予測及びフレーム間予測、並びに、CTU 、CU、PU及びTUのシグナリングの説明を終了する。
 次に、図15のブロック図を参照して、ディジタル化された映像の各フレームの各CUを入力画像としてビットストリームを出力する、一般的な映像符号化装置の構成と動作を説明する。
 図15に示す映像符号化装置は、変換/量子化器101、エントロピー符号化器102、逆量子化/逆変換器103、バッファ104、予測器105、及び多重化器106を備える。
 予測器105は、CTU 毎に、符号化コストを最小とするCU分割形状を決定するcu_split_flag シンタクス値を決定する。
 続いて、予測器105は、CU毎に、符号化コストを最小とする、イントラ予測/インター予測を決定するpred_mode_flagシンタクス値、PU分割形状を決定するpart_mode シンタクス値、TU分割形状を決定するsplit_tu_flag シンタクス値、イントラ予測方向、及び、動きベクトルを決定する。
 さらに、予測器105は、スキップモードを決定するskip_flag シンタクス値を決定する。
 具体的には、対象CUについて、決定されたpred_mode_flagがインター予測を示し、決定されたpart_modeが2Nx2Nを示し、かつ、後述する変換量子化値が存在しないとき、skip_flag を1にする(つまり、スキップモードとする。)。その他のとき、skip_flag を0にする(つまり、スキップモードとしない。)。
 そして、予測器105は、決定したcu_split_flag シンタクス値、pred_mode_flagシンタクス値、part_mode シンタクス値、split_tu_flag シンタクス値、イントラ予測方向、及び、動きベクトルなどに基づいて、各CUの入力画像信号に対する予測信号を生成する。予測信号は、上述したイントラ予測又はフレーム間予測に基づいて生成される。
 変換/量子化器101は、予測器105が決定したTU分割形状に基づいて、入力画像信号から予測信号を減じた予測誤差画像を周波数変換する。
 さらに、変換/量子化器101は、周波数変換した予測誤差画像(周波数変換係数)を量子化する。以下、量子化された周波数変換係数を変換量子化値と呼ぶ。
 エントロピー符号化器102は、予測器105が決定したcu_split_flag シンタクス値、skip_flag シンタクス値、pred_mode_flagシンタクス値、part_mode シンタクス値、split_tu_flag シンタクス値、イントラ予測方向の差分情報、及び動きベクトルの差分情報(以下、それらの予測に関連した情報を予測パラメータともいう。)、並びに、変換量子化値をエントロピー符号化する。
 逆量子化/逆変換器103は、変換量子化値を逆量子化する。さらに、逆量子化/逆変換器103は、逆量子化した周波数変換係数を逆周波数変換する。逆周波数変換された再構築予測誤差画像は、予測信号が加えられて、バッファ104に供給される。バッファ104は、再構築画像を格納する。
 多重化器106は、エントロピー符号化器102から供給されるエントロピー符号化データをビットストリームとして多重化出力する。
 上述した動作によって、一般的な映像符号化装置はビットストリームを生成する。
 次に、図16を参照して、ビットストリームを入力として復号された映像フレームを出力する、一般的な映像復号装置の構成と動作を説明する。
 図16に示された映像復号装置は、多重化解除器201、エントロピー復号器202、逆量子化/逆変換器203、予測器204、バッファ205を備える。
 多重化解除器201は、入力されるビットストリームを多重化解除して、エントロピー符号化された映像ビットストリームを抽出する。
 エントロピー復号器202は、映像ビットストリームをエントロピー復号する。エントロピー復号器202は、予測パラメータ及び変換量子化値をエントロピー復号し、逆量子化/逆変換器203及び予測器204に供給する。
 逆量子化/逆変換器203は、変換量子化値を逆量子化する。さらに、逆量子化/逆変換器203は、逆量子化した周波数変換係数を逆周波数変換する。
 逆周波数変換後、予測器204は、エントロピー復号した予測パラメータに基づいて、バッファ205に格納された再構築画像を用いて予測信号を生成する。
 予測信号生成後、逆量子化/逆変換器203で逆周波数変換された再構築予測誤差画像は、予測器204から供給される予測信号が加えられて、再構築画像としてバッファ205に供給される。
 そして、バッファ205に格納された再構築画像がデコード画像(デコード映像)として出力される。
 上述した動作に基づいて、一般的な映像復号装置はデコード画像を生成する。
 非特許文献2は、上述した非特許文献1に記載された方式の拡張方式であるQuadTree plus Binary Tree (QTBT)と呼ばれる、四分木と二分木(BT: Binary-Tree )に基づいたブロック分割構造を用いる映像像符号化技術を開示している。
 QTBT構造では、四分木構造に基づいて、符号化ツリーユニット(CTU )が正方形の符号化ユニット(CU)に再帰的に分割される。さらに、二分木構造に基づいて、予測処理や変換処理のために、再帰的に分割された各CUが長方形又は正方形のブロックに再帰的に分割される。QTBT構造では、part_mode シンタクスは利用されない。
 図17は、非特許文献2に記載されたQTBT構造を示す説明図である。図17(a)は、CTU のブロック分割例を示し、図17(b)は、その木構造を示す。図17において、実線は四分木構造に基づく分割を示し、破線は二分木構造に基づく分割を示す。二分木構造に基づく分割では、長方形のブロックも許容されるので、分割方向(分割線が延びる方向)を示す情報が必要である。図17(b)において、0は、横方向(水平方向)に分割されることを示す。1は、縦方向(垂直方向)に分割されることを示す。QTBT構造は、長方形の分割形状をより柔軟に表現できるため、非特許文献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 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
 図18は、QTBT構造に基づくCTU のブロック分割とその木構造の一例を示す説明図である。
 まず、図18において使用されるcu_split_flag 、bt_split_flag 、及びbt_split_vertical_flagの定義を説明する。
 cu_split_flag は、四分木構造に基づいて分割されるかされないかを示す。cu_split_flag が0のとき、四分木構造に基づいて分割されない(つまり、ブロックは四分木終端ノードのブロックとなる。)。cu_split_flag が1のとき、四分木構造に基づいて分割される。
 bt_split_flag は、二分木構造に基づいて分割されるかされないかを示す。bt_split_flag が0のとき、二分木構造に基づいて分割されない(つまり、ブロックは二分木終端ノードのブロックとなる。)とする。bt_split_flag が1のとき、二分木構造に基づいて分割されるとする。
 bt_split_vertical_flagは、bt_split_flag が1のときに存在する。bt_split_vertical_flagは、分割方向を示す。bt_split_vertical_flagが0のとき、水平方向に分割されるとする。bt_split_vertical_flagが1のとき、垂直方向に分割されるとする。
 図18(a)には、ブロック分割の一例が示されている。図18(b)には、図18(a)に示す分割に対応するシンタクス要素及びQTBT構造が示されている。
 図18(a)に示す例では、64×64(64画素×64画素)のブロックは四分木構造に基づいて32×32の4ブロックに分割されるので、QT 0-level(depth 0 )において、cu_split_flag の値は、分割することを示す値(この例では、1)である。
 QT 1-level(depth 1 )では、右下の32×32のブロックが垂直方向に2分割される。その32×32のブロックについて、cu_split_flag の値は分割しないことを示す値(この例では、0)であるが、BT 1-level(depth 1 )のbt_split_flag の値は、分割することを示す値(この例では、1)である。また、bt_split_vertical_flagの値は垂直方向を示す値(この例では、1)である。なお、他の3つの32×32のブロックについて、二分木構造に関連するbt_split_flag の値は、分割しないことを示す値(この例では、0)である。
 BT 2-level(depth 2 )では、右下の32×32のブロックに含まれる左側の16×32のブロックについては、それ以上分割されないので、bt_split_flag の値は、分割しないことを示す値(この例では、0)である。
 右側の16×32のブロックについては、さらに分割されるので、bt_split_flag の値は、分割することを示す値(この例では、1)である。また、bt_split_vertical_flagの値は垂直方向を示す値(この例では、1)である。
 BT 3-level(depth 3 )では、右下の16×32のブロックに含まれる左側の8 ×32のブロックは分割されないので、bt_split_flag の値は、分割しないことを示す値(この例では、0)である。右下の16×32のブロックに含まれる右側の8 ×32のブロックは分割されるので、bt_split_flag の値は、分割することを示す値(この例では、1)である。また、bt_split_vertical_flagの値は水平方向を示す値(この例では、0)である。
 右下の8 ×32のブロックに含まれる上側の8 ×16のブロックも下側の8 ×16のブロックも分割されないので、それぞれのブロックについて、bt_split_flag の値は、分割しないことを示す値(この例では、0)である。
 上述したQTBT構造を使用するとき、四分木構造に基づくブロックの分割/非分割情報(以下、四分木分割フラグと呼ぶ。)に加えて、二分木に基づいたブロックの分割/非分割情報(以下、二分木分割フラグと呼ぶ。)及び水平/垂直分割方向情報(以下、二分木分割方向フラグと呼ぶ。)の伝送が必要である。
 上記の二分木分割フラグ及び二分木分割方向フラグはブロック毎に伝送されるので、特にビットレートが低い条件下において、無視できないレベルのビット数の増加をもたらす。
 従って、それらのフラグ情報によるオーバヘッド符号量の発生によって圧縮効率が低下する。また、それらのフラグ情報のエントロピー符号化/復号処理量が増加する。
 QTBT構造を使用する場合、ブロックの最小サイズを設定することができる。なお、最小サイズは、横幅の最小値と高さの最小値との双方を含む概念である。最小サイズが「N」に設定されたとき、ブロックの横幅(横方向の画素数)がNに達したら、そのブロックをさらに縦方向に分割することはできない。分割すると、横幅がN/2になってしまうからである。また、ブロックの高さ(縦方向の画素数)がNに達したら、そのブロックをさらに横方向に分割することはできない。分割すると、高さがN/2になってしまうからである。
 つまり、横幅と高さとのうちの一方が最小サイズであるブロックが二分木分割に基づいて分割される場合には、分割の方向は一義的に定まる。しかし、図18(b)に例示された方式では、そのような場合であっても、本来不要である(換言すれば、冗長な)bt_split_vertical_flagが伝送される。
 本発明は、四分木と二分木とに基づくブロック分割構造を用いる映像像符号化処理及び映像復号処理において、圧縮性能を改善し、エントロピー符号化処理量及びエントロピー復号処理量を削減することを目的とする。
 本発明による映像符号化方法は、四分木と二分木とに基づくブロック分割構造を用いる映像符号化方法であって、少なくとも、二分木構造に基づいて分割されるブロックの分割方向を示すデータをエントロピー符号化するエントロピー符号化ステップと、二分木構造に基づく分割の最小サイズを示す情報をビットストリームに多重化するステップとを含み、最小サイズと等しいサイズのブロックがさらに二分木構造に基づいて分割されるときには、当該ブロックにおける分割方向を示すデータのエントロピー符号化を禁止することを特徴とする。
 本発明による映像復号方法は、四分木と二分木とに基づくブロック分割構造を用いる映像復号方法であって、少なくとも、二分木構造に基づいて分割されるブロックの分割方向を示すデータをエントロピー復号するエントロピー復号ステップと、二分木構造に基づく分割の最小サイズを示す情報をビットストリームから抽出するステップとを含み、最小サイズと等しいサイズのブロックがさらに二分木構造に基づいて分割されるときには、当該ブロックにおける分割方向を示すデータのエントロピー復号を禁止することを特徴とする。
 本発明による映像符号化装置は、四分木と二分木とに基づくブロック分割構造を用いる映像符号化装置であって、少なくとも、二分木構造に基づいて分割されるブロックの分割方向を示すデータをエントロピー符号化するエントロピー符号化手段と、二分木構造に基づく分割の最小サイズを示す情報をビットストリームに多重化するサイズ多重化手段と、最小サイズと等しいサイズのブロックがさらに二分木構造に基づいて分割されるときには、当該ブロックにおける分割方向を示すデータのエントロピー符号化を禁止する符号化禁止手段とを備えることを特徴とする。
 本発明による映像復号装置は、四分木と二分木とに基づくブロック分割構造を用いる映像復号装置であって、少なくとも、二分木構造に基づいて分割されるブロックの分割方向を示すデータをエントロピー復号するエントロピー復号手段と、二分木構造に基づく分割の最小サイズを示す情報をビットストリームから抽出するサイズ抽出手段と、最小サイズと等しいサイズのブロックがさらに二分木構造に基づいて分割されるときには、当該ブロックにおける分割方向を示すデータのエントロピー復号を禁止する復号禁止手段とを備えることを特徴とする。
 本発明による映像符号化プログラムは、四分木と二分木とに基づくブロック分割構造を用いる映像符号化方法を実施するための映像符号化プログラムであって、コンピュータに、少なくとも、二分木構造に基づいて分割されるブロックの分割方向を示すデータをエントロピー符号化するエントロピー符号化処理と、二分木構造に基づく分割の最小サイズを示す情報をビットストリームに多重化する処理とを実行させ、最小サイズと等しいサイズのブロックがさらに二分木構造に基づいて分割されるときには、当該ブロックにおける分割方向を示すデータのエントロピー符号化を禁止させることを特徴とする。
 本発明による映像復号プログラムは、四分木と二分木とに基づくブロック分割構造を用いる映像復号方法を実施するための映像復号プログラムであって、コンピュータに、少なくとも、二分木構造に基づいて分割されるブロックの分割方向を示すデータをエントロピー復号するエントロピー復号処理と、二分木構造に基づく分割の最小サイズを示す情報をビットストリームから抽出する処理とを実行させ、最小サイズと等しいサイズのブロックがさらに二分木構造に基づいて分割されるときには、当該ブロックにおける分割方向を示すデータのエントロピー復号を禁止させることを特徴とする。
 本発明によれば、圧縮性能が改善され、エントロピー符号化処理量及びエントロピー復号処理量が削減される。
第1の実施形態の映像符号化装置を示すブロック図である。 エントロピー符号化制御器及びエントロピー符号化器の動作を示すフローチャートである。 第1の実施形態におけるQTBT構造を示す説明図である。 第2の実施形態の映像復号装置を示すブロック図である。 エントロピー復号制御器及びエントロピー復号器の動作を示すフローチャートである。 映像符号化装置の機能を実現可能な情報処理システムの構成例を示すブロック図である。 映像符号化装置の主要部を示すブロック図である。 映像復号装置の主要部を示すブロック図である。 33種類の角度イントラ予測の例を示す説明図である。 フレーム間予測の例を示す説明図である。 フレームt のCTU 分割例、及び、フレームt のCTU8のCU分割例を示す説明図である。 CTU8のCU分割例に対応するクアッドツリー構造を示す説明図である。 CUのPU分割例を示す説明図である。 CUのTU分割例を示す説明図である。 一般的な映像符号化装置の構成例を示すブロック図である。 一般的な映像復号装置の構成例を示すブロック図である。 非特許文献2に記載されたCTU のブロック分割例とその木構造を示す説明図である。 QTBT構造に基づくCTU のブロック分割とその木構造の一例を示す説明図である。
実施形態1.
 図1は、映像符号化装置の実施形態(第1の実施形態)を示すブロック図である。図1に示す映像符号化装置は、変換/量子化器101、エントロピー符号化器102、逆量子化/逆変換器103、バッファ104、予測器105、多重化器106、及びエントロピー符号化制御器107を備える。
 本実施形態で使用されるcu_split_flag 、bt_split_flag 、及びbt_split_vertical_flagの定義は既に説明されたとおりであるが、映像復号側では、bt_split_flag が存在しない場合、bt_split_flag は暗黙的に0と解釈される。また、本実施形態では、bt_split_flag が1であっても、bt_split_vertical_flagが存在しないことがある。
 予測器105は、CTU 毎に、符号化コストを最小とする、QTBT分割形状を決定するcu_split_flag 、bt_split_flag 、及びbt_split_vertical_flagを決定する。
 以下、四分木構造又は二分木構造に基づいて分割されたブロックをサブブロックということがある。
 次に、予測器105は、決定したcu_split_flag 、bt_split_flag 、及びbt_split_vertical_flagに基づいてQTBT分割されたサブブロック毎に、符号化コストを最小とする、イントラ予測/インター予測を決定するpred_mode_flag、TU分割形状を決定するsplit_tu_flag 、イントラ予測方向、及び動きベクトルを決定する。
 次いで、予測器105は、スキップモードを決定するskip_flag を決定する。具体的には、処理対象のサブブロックについて、決定されたpred_mode_flagがインター予測を示し、変換量子化値が存在しないとき、skip_flag を1にする(つまり、スキップモードとする。)。その他のとき、skip_flag を0にする(つまり、スキップモードとしない。)。
 そして、予測器105は、決定したcu_split_flag シンタクス値、bt_split_flag シンタクス値、bt_split_vertical_flagシンタクス値、skip_flag シンタクス値、pred_mode_flagシンタクス値、split_tu_flag シンタクス値、イントラ予測方向、及び動きベクトルに基づいて、各サブブロックの入力画像信号に対する予測信号を生成する。予測信号は、上述したイントラ予測又はフレーム間予測に基づいて生成される。
 変換/量子化器101は、予測器105が決定したTU分割形状に基づいて、入力画像信号から予測信号を減じた予測誤差画像を周波数変換する。さらに、変換/量子化器101は、周波数変換した予測誤差画像(周波数変換係数)を量子化して変換量子化値を生成する。
 エントロピー符号化制御器107は、予測器105からエントロピー符号化器102に供給される、二分木構造に基づくサブブロック毎のサイズを監視して、bt_split_vertical_flagをエントロピー符号化するか否かを判断する。
 具体的には、処理対象のサブブロックの横幅又は高さが最小サイズに等しい場合、当該ブロックがさらに分割されるとき、エントロピー符号化制御器107は、エントロピー符号化器102に、bt_split_vertical_flagのエントロピー符号化処理をスキップさせる。以下、最小サイズを、minBTsize と表現する。最小サイズは、任意に設定されうるが、本実施形態では、一例として、最小サイズを「8」とする。また、処理対象のサブブロックの横幅をcurPartW、高さをcurPartHと表現する。
 エントロピー符号化器102は、予測器105が決定したcu_split_flag シンタクス値、bt_split_flag シンタクス値、bt_split_vertical_flagシンタクス値、skip_flag シンタクス値、pred_mode_flagシンタクス値、split_tu_flag シンタクス値、イントラ予測方向の差分情報、動きベクトルの差分情報、及び、変換量子化値をエントロピー符号化する。
 ただし、エントロピー符号化器102は、bt_split_vertical_flagについて、エントロピー符号化制御器107がエントロピー符号化をスキップすることに決定したとき、エントロピー符号化をスキップする。
 上記のような制御によって、冗長なbt_split_vertical_flagのシグナリングが防止される。
 逆量子化/逆変換器103は、変換量子化値を逆量子化する。さらに、逆量子化/逆変換器103は、逆量子化した周波数変換係数を逆周波数変換する。逆周波数変換された再構築予測誤差画像は、予測信号が加えられて、バッファ104に供給される。バッファ104は、再構築画像を格納する。
 多重化器106は、エントロピー符号化器102から供給されるエントロピー符号化データをビットストリームとして多重化出力する。なお、多重化器106は、二分木構造に基づく分割の最小サイズを示すminBTsize もビットストリームに多重化する。
 上述した動作によって、本実施形態の映像符号化装置はビットストリームを生成する。
 次に、図2のフローチャートを参照して、bt_split_flag 、bt_split_vertical_flag、及びskip_flag に対する、本実施形態の特徴部であるエントロピー符号化制御器107及びエントロピー符号化器102の動作をより詳しく説明する。
 ステップS101では、エントロピー符号化制御器107は、cu_split_flag が0か否かを判断する。cu_split_flag が0である場合、ステップS102に進む。cu_split_flag が1の場合、次の四分木サブブロック(四分木構造に基づく分割後のブロック)の処理に進む。
 ステップS102では、エントロピー符号化器102は、bt_split_flag をエントロピー符号化する。ステップS103では、エントロピー符号化制御器107は、bt_split_flag が0か否かを判断する。bt_split_flag 0の場合、処理を終了する。なお、エントロピー符号化器102は、処理を終了する前に、skip_flag をエントロピー符号化する。bt_split_flag が1の場合、ステップS104に進む。
 ステップS104では、エントロピー符号化制御器107は、curPartW又はcurPartHがminBTsize と等しいか否か判定する。curPartWとcurPartHとのうちのいずれかがminBTsize と等しいとき、次の二分木サブブロック(二分木構造に基づく分割後のブロック)の処理に進む。なお、次の二分木サブブロックの処理は、ステップS102以降の処理である。curPartWとcurPartHとのいずれもがminBTsize と等しくないとき、ステップS105に進む。
 ステップS105では、エントロピー符号化器102は、bt_split_vertical_flagをエントロピー符号化する。そして、次の二分木サブブロックの処理に進む。
 ステップS103~S105の処理によって、エントロピー符号化制御器107は、処理対象のサブブロックのbt_split_flag が1(つまり、処理対象のブロックがさらに二分木構図に基づいて分割される。)、かつ、curPartWとcurPartHとのうちのいずれかがminBTsize と等しいとき、bt_split_vertical_flagのエントロピー符号化処理がスキップされる。
 次に、本実施形態の具体例を説明する。図3は、第1の実施形態におけるQTBT構造を示す説明図である。
 図3(a)には、ブロック分割の一例が示されている。図3(b)には、図3(a)に示す分割に対応するシンタクス要素及びQTBT構造が示されている。
 図3(a)に示す例では、64×64(64画素×64画素)のブロックは四分木構造に基づいて32×32の4ブロック(サブブロック)に分割されるので、QT 0-level(depth 0 )において、cu_split_flag の値は、分割することを示す値(本実施形態では、1)である。
 QT 1-level(depth 1 )では、右下の32×32のブロックが垂直方向に2分割される。その32×32のブロックについて、cu_split_flag の値は分割しないことを示す値(本実施形態では、0)であるが、BT 1-level(depth 1 )のbt_split_flag の値は、分割することを示す値(本実施形態では、1)である。また、bt_split_vertical_flagの値は垂直方向を示す値(本実施形態では、1)である。
 BT 2-level(depth 2 )では、右下の32×32のブロックに含まれる左側の16×32のブロックについては、それ以上分割されないので、bt_split_flag の値は、分割しないことを示す値(本実施形態では、0)である。
 右側の16×32のブロックについては、さらに分割されるので、bt_split_flag の値は、分割することを示す値(本実施形態では、1)である。また、bt_split_vertical_flagの値は垂直方向を示す値(本実施形態では、1)である。なお、横幅(curPartW)である16も高さ(curPartH)である32も、minBTsize に達していない。
 BT 3-level(depth 3 )では、右下の16×32のブロックに含まれる左側の8×32のブロックについては、それ以上分割されないので、bt_split_flag の値は、分割しないことを示す値(本実施形態では、0)である。
 右側の8 ×32のブロック(図3(a)において、太線で囲まれたブロック)はさらに分割されるので、bt_split_flag の値は、分割することを示す値(本実施形態では、1)である。しかし、curPartWはminBTsize (=8)に等しいので、bt_split_vertical_flagはエントロピー符号化されず、伝送されない。
 BT 4-level(depth 4 )では、右下の8 ×32のブロックに含まれる上側の8 ×16のブロックも下側の8 ×16のブロックも分割されないので、それぞれのブロックについて、bt_split_flag の値は、分割しないことを示す値(この例では、0)である。
 図3(a)に示す例では、太線で囲まれた8 ×32のブロックはさらに二分木構造に基づいて水平方向に分割されるので、図18(b)に示された方式では、値が0のbt_split_vertical_flagがエントロピー符号化され、ビットストリームに含められた。しかし、太線で囲まれた8 ×32のブロックについては、curPartWはminBTsize に等しいので、そのブロックの分割方向は、一義的に水平方向に定まる。
 よって、bt_split_vertical_flagのシンタクス値が伝送されなくても、映像復号装置は、curPartWがminBTsize に等しい8 ×32のブロックに関する情報(具体的には、bt_split_flag )を受信するだけで、8 ×32のブロック分割方向を認識できる。従って、本実施形態では、所定の条件(具体的には、処理対象のブロックのbt_split_flag が1、かつ、curPartWとcurPartHとのうちのいずれかがminBTsize と等しい。)が成立すると、映像符号化装置は、bt_split_vertical_flagのシンタクス値をエントロピー符号化しない。
 すなわち、上述したエントロピー符号化制御器107及びエントロピー符号化器102を利用した本実施形態の映像符号化装置によれば、冗長な二分木分割方向フラグの伝送が防止されて、圧縮性能が改善される。また、冗長な二分木分割方向フラグのエントロピー符号化処理量が削減されて、処理の複雑さが低減する。
 なお、ステップS103,S104の処理による条件は、処理対象のブロックがさらに二分木構造に基づいて分割されるとき、分割後のブロックのサイズがminBTsize 未満になるという条件である。よって、定式的に、
 min(curPartW, curPartH)/(1+bt_split_flag) < minBTsize 
と表現することもできる。ここで、min(a,b)は、a とb とのうち小さい方の値を返す関数である。
第2の実施形態.
 図4は、映像復号装置の実施形態(第2の実施形態)を示すブロック図である。図4に示す映像復号装置は、多重化解除器201、エントロピー復号器202、逆量子化/逆変換器203、予測器204、バッファ205、及び、エントロピー復号制御器206を備える。
 多重化解除器201は、入力されるビットストリームを多重化解除して、エントロピー符号化データを抽出する。なお、多重化解除器201は、ビットストリームから、minBTsize も抽出する。
 エントロピー復号器202は、エントロピー符号化データをエントロピー復号する。エントロピー復号器202は、エントロピー復号した変換量子化値を逆量子化/逆変換器203に供給し、さらに、cu_split_flag 、bt_split_flag 、bt_split_vertical_flag、skip_flag 、pred_mode_flag、split_tu_flag 、イントラ予測方向、及び、動きベクトルを供給する。
 ただし、本実施形態のエントロピー復号器202は、bt_split_vertical_flagについて、上記の映像符号化装置における所定の条件と同じ条件が成立すると、エントロピー復号処理をスキップする。
 逆量子化/逆変換器203は、量子化ステップ幅で、変換量子化値を逆量子化する。さらに、逆量子化/逆変換器203は、逆量子化した周波数変換係数を逆周波数変換する。
 予測器204は、cu_split_flag 、bt_split_flag 、bt_split_vertical_flag、skip_flag 、pred_mode_flag、split_tu_flag 、イントラ予測方向、及び、動きベクトルに基づいて、各サブブロックの予測信号を生成する。予測信号は、上述したイントラ予測又はフレーム間予測に基づいて生成される。
 逆量子化/逆変換器203で逆周波数変換された再構築予測誤差画像は、予測器204から供給される予測信号が加えられて、再構築ピクチャとしてバッファ205に供給される。そして、バッファ205に格納された再構築ピクチャがデコード画像として出力される。
 上述した動作に基づいて、本実施形態の映像復号装置はデコード画像を生成する。
 次に、図5のフローチャートを参照して、bt_split_flag 、及びbt_split_vertical_flagに対する、本実施形態の特徴部であるエントロピー復号制御器206及びエントロピー復号器202の動作をより詳しく説明する。
 ステップS201では、エントロピー復号制御器206は、エントロピー復号されたcu_split_flag が0か否かを判断する。cu_split_flag が0の場合、ステップS202に進む。cu_split_flag が1の場合、次の四分木サブブロックの処理に進む。
 ステップS202では、エントロピー復号器202は、bt_split_flag をエントロピー復号する。続いて、エントロピー復号制御器206は、ステップS203で、エントロピー復号されたbt_split_flag が0か否かを判断する。bt_split_flag が0の場合、処理を終了する。なお、エントロピー復号器202は、処理を終了する前に、skip_flag をエントロピー復号する。bt_split_flag が1の場合、ステップS204に進む。
 ステップS204では、エントロピー復号制御器206は、curPartW又はcurPartHがminBTsize と等しいか否か判定する。curPartWとcurPartHとのうちのいずれかがminBTsize と等しいとき、ステップS206に進む。すなわち、エントロピー復号制御器206は、エントロピー復号器202に、bt_split_vertical_flagのエントロピー復号処理をスキップさせる。curPartWとcurPartHとのいずれもがminBTsize と等しくないとき、ステップS205に進む。
 ステップS205では、エントロピー復号器202は、処理対象のサブブロックのbt_split_vertical_flagをエントロピー復号する。そして、次の二分木サブブロック(二分木構造に基づく分割後のブロック)の処理に進む。なお、次の二分木サブブロックの処理は、ステップS202以降の処理である。
 ステップS206~S208において、エントロピー復号制御器206は、エントロピー復号処理がスキップされたbt_split_vertical_flagの値を導出する。
 具体的には、ステップS206で、エントロピー復号制御器206は、min(curPartW)/(1+bt_split_flag) < minBTsizeであるか否かを判定する。min(curPartW)/(1+bt_split_flag) < minBTsizeであるときには、ステップS207で、エントロピー復号制御器206は、bt_split_vertical_flagの値を0(水平方向に分割されることを示す。)にする。min(curPartW)/(1+bt_split_flag) ≧ minBTsize であるときには、ステップS208で、エントロピー復号制御器206は、bt_split_vertical_flagの値を1(垂直方向に分割されることを示す。)にする。そして、次の二分木サブブロック(二分木構造に基づく分割後のブロック)の処理に進む。
 なお、min(curPartW)/(1+bt_split_flag) < minBTsizeは、処理対象のサブブロックがさらに二分木構造に基づいて分割されるとき、分割後のサブブロックの横幅がminBTSize 未満となるかを示す条件である。よって、エントロピー復号制御器206は、ステップS206で、min(curPartH)/(1+bt_split_flag) < minBTsizeという条件を用いて、min(curPartH)/(1+bt_split_flag) < minBTsizeであるときには、bt_split_vertical_flagの値を1(垂直方向に分割されることを示す。)にし、min(curPartH)/(1+bt_split_flag) ≧ minBTsize であるときには、bt_split_vertical_flagの値を0(水平方向に分割されることを示す。)に設定してもよい。
 次に、本実施形態の発明の効果を説明する。上述したエントロピー復号制御器206とエントロピー復号器202を利用した本実施形態の映像復号装置によれば、冗長な二分木分割方向フラグのエントロピー復号が防止され、処理の複雑さが低減する。
 冗長性を排除する利点は以下の通りである。
 すなわち、映像符号化と映像復号における冗長なbt_split_vertical_flagのエントロピー符号化処理及びエントロピー復号処理の削減効果と、パラメータ値の組合せエラー防止による映像符号化と映像復号間の相互運用性向上である。
 なお、上記の第1の実施形態及び第2の実施形態では、minBTsize は、最小の横幅と最小の高さとの双方を意味しているとしたが、最小の横幅と最小の高さとは別個に設定されてもよい。その場合には、図2に示されたステップS104の処理及び図5に示されたステップS204の処理において、curPartWが最小の横幅と比較されるとともに、curPartHが最小の高さと比較される。
 上記の各実施形態を、ハードウェアで構成することも可能であるが、コンピュータプログラムにより実現することも可能である。
 図6に示す情報処理システムは、プロセッサ1001、プログラムメモリ1002、映像データを格納するための記憶媒体1003及びビットストリームを格納するための記憶媒体1004を備えている。記憶媒体1003と記憶媒体1004とは、別個の記憶媒体であってもよいし、同一の記憶媒体からなる記憶領域であってもよい。記憶媒体として、ハードディスク等の磁気記憶媒体を用いることができる。
 図6に示された情報処理システムにおいて、プログラムメモリ1002には、図1及び図4に示された各ブロック(バッファのブロックを除く)の機能を実現するためのプログラムが格納される。そして、プロセッサ1001は、プログラムメモリ1002に格納されているプログラムに従って処理を実行することによって、上記の実施形態の映像符号化装置及び映像復号装置の機能を実現する。
 図7は、映像符号化装置の主要部を示すブロック図である。図7に示すように、映像符号化装置10は、少なくとも、二分木構造に基づいて分割されるブロックの分割方向を示すデータ(例えば、bt_split_vertical_flagシンタクス値)をエントロピー符号化するエントロピー符号化部11(実施形態では、エントロピー符号化器102で実現される。)と、二分木構造に基づく分割の最小サイズを示す情報(例えば、minBTsize )をビットストリームに多重化するサイズ多重化部12(実施形態では、多重化器106で実現される。)と、最小サイズと等しいサイズのブロックがさらに二分木構造に基づいて分割されるときには、当該ブロックにおける分割方向を示すデータのエントロピー符号化を禁止する(例えば、“符号化OFF ”を設定する。)符号化禁止部13(実施形態では、エントロピー符号化制御器107で実現される。)とを備える。
 図8は、映像復号装置の主要部を示すブロック図である。図8に示すように、映像復号装置20は、少なくとも、二分木構造に基づいて分割されるブロックの分割方向を示すデータ(例えば、bt_split_vertical_flagシンタクス値)をエントロピー復号するエントロピー復号部21(実施形態では、エントロピー復号器202で実現される。)と、二分木構造に基づく分割の最小サイズを示す情報(例えば、minBTsize )をビットストリームから抽出するサイズ抽出部22(実施形態では、多重化解除器201で実現される。)と、最小サイズと等しいサイズのブロックがさらに二分木構造に基づいて分割されるときには、当該ブロックにおける分割方向を示すデータのエントロピー復号を禁止する(例えば、“復号OFF ”を設定する。)復号禁止部23(実施形態では、エントロピー復号制御器206で実現される。)とを備える。
 映像復号装置20は、エントロピー復号されない分割方向を示すデータとして、最小サイズを満たす値を設定する設定部(実施形態では、エントロピー復号制御器206で実現される。)を備えていてもよい。なお、最小サイズを満たす値は、最小サイズよりも小さいサブブロックに分割されない(具体的には、横幅及び高さともに最小値よりも小さくならない。)ことを特定可能な値である。
 なお、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下に限られない。
(付記1)四分木と二分木とに基づくブロック分割構造を用いる映像符号化方法であって、四分木構造に基づいてブロックを分割するかしないかを示すフラグをエントロピー符号化するステップと、四分木終端ノードのスキップフラグをエントロピー符号化するステップと、前記四分木終端ノードのブロックを二分木構造に基づいて分割するかしないかを示すフラグ及び分割方向を示す水平/垂直分割方向フラグをエントロピー符号化するステップと、前記二分木構造に基づく分割の最小サイズを示す情報をビットストリームに多重化するステップとを含み、前記最小サイズと等しいサイズのノードがさらに前記二分木構造に基づいて分割されるときには、前記ノードにおける水平/垂直分割方向フラグをエントロピー符号化しないことを特徴とする映像符号化方法。
(付記2)四分木と二分木とに基づくブロック分割構造を用いる映像復号方法であって、四分木終端ノードのスキップフラグをエントロピー復号するステップと、前記四分木終端ノードのブロックを二分木構造に基づいて分割するかしないかを示すフラグ及び分割方向を示す水平/垂直分割方向フラグをエントロピー復号するステップと、前記二分木構造に基づく分割の最小サイズを示す情報をビットストリームから抽出するステップとを含み、前記最小サイズと等しいサイズのノードがさらに前記二分木構造に基づいて分割されるときには、前記ノードにおける水平/垂直分割方向フラグをエントロピー復号しないことを特徴とする映像復号方法。
(付記3)エントロピー復号されない水平/垂直分割方向フラグの値として、前記最小サイズを満たす値を設定する付記2に記載の映像復号方法。
(付記4)四分木と二分木とに基づくブロック分割構造を用いる映像符号化装置であって、四分木構造に基づいてブロックを分割するかしないかを示すフラグ(例えば、cu_split_flag )をエントロピー符号化する四分木分割フラグ符号化手段(実施形態では、エントロピー符号化器102で実現される。)と、四分木終端ノードのスキップフラグをエントロピー符号化するスキップフラグ符号化手段(実施形態では、エントロピー符号化器102で実現される。)と、前記四分木終端ノードのブロックを二分木構造に基づいて分割するかしないかを示すフラグ(例えば、bt_split_flag )及び分割方向を示す水平/垂直分割方向フラグ(例えば、bt_split_vertical_flag)をエントロピー符号化する二分木情報符号化手段(実施形態では、エントロピー符号化器102で実現される。)と、前記二分木構造に基づく分割の最小サイズを示す情報(例えば、minBTsize )をビットストリームに多重化するサイズ多重化手段(実施形態では、多重化器106で実現される。)とを備え、前記二分木情報符号化手段は、前記最小サイズと等しいサイズのノードがさらに前記二分木構造に基づいて分割されるときには、前記ノードにおける水平/垂直分割方向フラグをエントロピー符号化しないことを特徴とする映像符号化装置。
(付記5)四分木と二分木とに基づくブロック分割構造を用いる映像復号装置であって、四分木終端ノードのスキップフラグをエントロピー復号するスキップフラグ復号手段(実施形態では、エントロピー復号器202で実現される。)と、前記四分木終端ノードのブロックを二分木構造に基づいて分割するかしないかを示すフラグ(例えば、bt_split_flag )及び分割方向を示す水平/垂直分割方向フラグ(例えば、bt_split_vertical_flag)をエントロピー復号する二分木情報復号手段(実施形態では、エントロピー復号器202で実現される。)と、前記二分木構造に基づく分割の最小サイズを示す情報(例えば、minBTsize )をビットストリームから抽出するサイズ抽出手段(実施形態では、多重化解除器201で実現される。)とを備え、前記二分木情報復号手段は、前記最小サイズと等しいサイズのノードがさらに前記二分木構造に基づいて分割されるときには、前記ノードにおける水平/垂直分割方向フラグをエントロピー復号しないことを特徴とする映像復号装置。
(付記6)エントロピー復号されない水平/垂直分割方向フラグの値として、前記最小サイズを満たす値を設定するサイズ設定手段(実施形態では、エントロピー復号制御器206で実現される。)を備える付記5に記載の映像復号装置。
(付記7)四分木と二分木とに基づくブロック分割構造を用いる映像符号化方法を実施するための映像符号化プログラムであって、コンピュータに、四分木構造に基づいてブロックを分割するかしないかを示すフラグをエントロピー符号化する処理と、四分木終端ノードのスキップフラグをエントロピー符号化する処理と、前記四分木終端ノードのブロックを二分木構造に基づいて分割するかしないかを示すフラグ及び分割方向を示す水平/垂直分割方向フラグをエントロピー符号化する処理と、前記二分木構造に基づく分割の最小サイズを示す情報をビットストリームに多重化する処理とを実行させ、前記最小サイズと等しいサイズのノードがさらに前記二分木構造に基づいて分割されるときには、前記ノードにおける水平/垂直分割方向フラグをエントロピー符号化させないための映像符号化プログラム。
(付記8)四分木と二分木とに基づくブロック分割構造を用いる映像復号方法を実施するための映像復号プログラムであって、コンピュータに、四分木終端ノードのスキップフラグをエントロピー復号する処理と、前記四分木終端ノードのブロックを二分木構造に基づいて分割するかしないかを示すフラグ及び分割方向を示す水平/垂直分割方向フラグをエントロピー復号する処理と、前記二分木構造に基づく分割の最小サイズを示す情報をビットストリームから抽出する処理とを実行させ、前記最小サイズと等しいサイズのノードがさらに前記二分木構造に基づいて分割されるときには、前記ノードにおける水平/垂直分割方向フラグをエントロピー復号させないための映像復号プログラム。
(付記9)コンピュータに、エントロピー復号されない水平/垂直分割方向フラグの値として、前記最小サイズを満たす値を設定させるための付記8に記載の映像復号プログラム。
 以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2016年12月26日に出願された日本特許出願2016-251293を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 10  映像符号化装置
 11  エントロピー符号化部
 12  サイズ多重化部
 13  符号化禁止部
 20  映像復号装置
 21  エントロピー復号部
 22  サイズ抽出部
 23  復号禁止部
 101 変換/量子化器
 102 エントロピー符号化器
 103 逆量子化/逆変換器
 104 バッファ
 105 予測器
 106 多重化器
 107 エントロピー符号化制御器
 201 多重化解除器
 202 エントロピー復号器
 203 逆量子化/逆変換器
 204 予測器
 205 バッファ
 206 エントロピー復号制御器
 1001 プロセッサ
 1002 プログラムメモリ
 1003 記憶媒体
 1004 記憶媒体

Claims (9)

  1.  四分木と二分木とに基づくブロック分割構造を用いる映像符号化方法であって、
     少なくとも、二分木構造に基づいて分割されるブロックの分割方向を示すデータをエントロピー符号化するエントロピー符号化ステップと、
     前記二分木構造に基づく分割の最小サイズを示す情報をビットストリームに多重化するステップとを含み、
     前記最小サイズと等しいサイズのブロックがさらに前記二分木構造に基づいて分割されるときには、当該ブロックにおける分割方向を示すデータのエントロピー符号化を禁止する
     ことを特徴とする映像符号化方法。
  2.  四分木と二分木とに基づくブロック分割構造を用いる映像復号方法であって、
     少なくとも、二分木構造に基づいて分割されるブロックの分割方向を示すデータをエントロピー復号するエントロピー復号ステップと、
     前記二分木構造に基づく分割の最小サイズを示す情報をビットストリームから抽出するステップとを含み、
     前記最小サイズと等しいサイズのブロックがさらに前記二分木構造に基づいて分割されるときには、当該ブロックにおける分割方向を示すデータのエントロピー復号を禁止する
     ことを特徴とする映像復号方法。
  3.  エントロピー復号されない分割方向を示すデータとして、前記最小サイズを満たす値を設定する
     請求項2記載の映像復号方法。
  4.  四分木と二分木とに基づくブロック分割構造を用いる映像符号化装置であって、
     少なくとも、二分木構造に基づいて分割されるブロックの分割方向を示すデータをエントロピー符号化するエントロピー符号化手段と、
     二分木構造に基づく分割の最小サイズを示す情報をビットストリームに多重化するサイズ多重化手段と、
     前記最小サイズと等しいサイズのブロックがさらに前記二分木構造に基づいて分割されるときには、当該ブロックにおける分割方向を示すデータのエントロピー符号化を禁止する符号化禁止手段とを備える
     ことを特徴とする映像符号化装置。
  5.  四分木と二分木とに基づくブロック分割構造を用いる映像復号装置であって、
     少なくとも、二分木構造に基づいて分割されるブロックの分割方向を示すデータをエントロピー復号するエントロピー復号手段と、
     二分木構造に基づく分割の最小サイズを示す情報をビットストリームから抽出するサイズ抽出手段と、
     前記最小サイズと等しいサイズのブロックがさらに前記二分木構造に基づいて分割されるときには、当該ブロックにおける分割方向を示すデータのエントロピー復号を禁止する復号禁止手段とを備える
     ことを特徴とする映像復号装置。
  6.  エントロピー復号されない分割方向を示すデータとして、前記最小サイズを満たす値を設定する設定手段を備える
     請求項5記載の映像復号装置。
  7.  四分木と二分木とに基づくブロック分割構造を用いる映像符号化方法を実施するための映像符号化プログラムであって、
     コンピュータに、
     少なくとも、二分木構造に基づいて分割されるブロックの分割方向を示すデータをエントロピー符号化するエントロピー符号化処理と、
     二分木構造に基づく分割の最小サイズを示す情報をビットストリームに多重化する処理とを実行させ、
     前記最小サイズと等しいサイズのブロックがさらに前記二分木構造に基づいて分割されるときには、当該ブロックにおける分割方向を示すデータのエントロピー符号化を禁止させる
     ための映像符号化プログラム。
  8.  四分木と二分木とに基づくブロック分割構造を用いる映像復号方法を実施するための映像復号プログラムであって、
     コンピュータに、
     少なくとも、二分木構造に基づいて分割されるブロックの分割方向を示すデータをエントロピー復号するエントロピー復号処理と、
     二分木構造に基づく分割の最小サイズを示す情報をビットストリームから抽出する処理とを実行させ、
     前記最小サイズと等しいサイズのブロックがさらに前記二分木構造に基づいて分割されるときには、当該ブロックにおける分割方向を示すデータのエントロピー復号を禁止させる
     ための映像復号プログラム。
  9.  コンピュータに、エントロピー復号されない分割方向を示すデータとして、前記最小サイズを満たす値を設定させるための請求項8記載の映像復号プログラム。
PCT/JP2017/041087 2016-12-26 2017-11-15 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置及びプログラム WO2018123316A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018558889A JPWO2018123316A1 (ja) 2016-12-26 2017-11-15 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置及びプログラム
US16/342,254 US20190253737A1 (en) 2016-12-26 2017-11-15 Video encoding method, video decoding method, video encoding device, video decoding device, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016251293 2016-12-26
JP2016-251293 2016-12-26

Publications (1)

Publication Number Publication Date
WO2018123316A1 true WO2018123316A1 (ja) 2018-07-05

Family

ID=62708171

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/041087 WO2018123316A1 (ja) 2016-12-26 2017-11-15 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置及びプログラム

Country Status (4)

Country Link
US (1) US20190253737A1 (ja)
JP (1) JPWO2018123316A1 (ja)
AR (1) AR110579A1 (ja)
WO (1) WO2018123316A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113728631A (zh) * 2019-04-27 2021-11-30 北京字节跳动网络技术有限公司 帧内子块分割和多变换选择

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102354628B1 (ko) * 2017-03-31 2022-01-25 한국전자통신연구원 부호화 트리 유닛 및 부호화 유닛의 처리를 수행하는 영상 처리 방법, 그를 이용한 영상 복호화, 부호화 방법 및 그 장치
CN117499684A (zh) * 2017-09-20 2024-02-02 韩国电子通信研究院 用于对图像进行编码/解码的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012135017A (ja) * 2004-12-22 2012-07-12 Ntt Docomo Inc 係数の位置をコード化する方法及び装置
JP2015177294A (ja) * 2014-03-14 2015-10-05 三菱電機株式会社 端末装置及びデータ管理装置
WO2016203881A1 (ja) * 2015-06-18 2016-12-22 シャープ株式会社 算術復号装置及び算術符号化装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012135017A (ja) * 2004-12-22 2012-07-12 Ntt Docomo Inc 係数の位置をコード化する方法及び装置
JP2015177294A (ja) * 2014-03-14 2015-10-05 三菱電機株式会社 端末装置及びデータ管理装置
WO2016203881A1 (ja) * 2015-06-18 2016-12-22 シャープ株式会社 算術復号装置及び算術符号化装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
"Recognition of date according to JVET-D1001_v3 that is a manual of JEM4.0", JOINT VIDEO EXPLORATION TEAM, 28 October 2016 (2016-10-28), [retrieved on 20180117] *
CHEN, JIANLE ET AL.: "Algorithm Description of Joint Exploration Test Model 4", (JVET) ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, DOCUMENT: JVET-D1001_V3, 28 October 2016 (2016-10-28), pages 1 - 3, XP055517214 *
HAN, HUANG ET AL.: "EE2.1: Quadtree plus binary tree structure integration with JEM tools", JOINT VIDEO EXPLORATION TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 3RD MEETING: G, JVET-C0024, 26 May 2016 (2016-05-26), pages 1 - 5, XP030150107, Retrieved from the Internet <URL:-> *
RICKARD, SJBERG: "TMuC text on max CU size seems broken", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP3 AND ISO/IEC JTC1/SC29/WG11 3RD M, JCTVC-C318, 15 October 2010 (2010-10-15), pages 1 - 3, XP055517626 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113728631A (zh) * 2019-04-27 2021-11-30 北京字节跳动网络技术有限公司 帧内子块分割和多变换选择
CN113728631B (zh) * 2019-04-27 2024-04-02 北京字节跳动网络技术有限公司 帧内子块分割和多变换选择

Also Published As

Publication number Publication date
JPWO2018123316A1 (ja) 2019-10-31
AR110579A1 (es) 2019-04-10
US20190253737A1 (en) 2019-08-15

Similar Documents

Publication Publication Date Title
WO2018123313A1 (ja) 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置及びプログラム
EP3758377B1 (en) Method and apparatus of block partitioning
KR101645787B1 (ko) 인트라 예측 방법과 이를 이용한 부호화기 및 복호화기
US11665352B2 (en) Video encoding device, video decoding device, video encoding method, video decoding method, and program using inter prediction
JP2021520117A (ja) 角度モードで拡張された位置依存型イントラ予測組合せ
US11792388B2 (en) Methods and apparatuses for transform skip mode information signaling
JP6172162B2 (ja) 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法およびプログラム
KR20220019694A (ko) Block dpcm 예측 방법을 사용하는 비디오 신호 처리 방법 및 장치
WO2018123316A1 (ja) 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置及びプログラム
CN113273217A (zh) 非对称四叉树分割
WO2018123314A1 (ja) 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置及びプログラム
WO2018123315A1 (ja) 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置及びプログラム
WO2018123312A1 (ja) 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置及びプログラム
US10110892B2 (en) Video encoding device, video decoding device, video encoding method, video decoding method, and program
WO2018123317A1 (ja) 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置及びプログラム
JPWO2015151513A1 (ja) 映像符号化装置、方法及びプログラム、並びに映像復号装置、方法及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17885566

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018558889

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17885566

Country of ref document: EP

Kind code of ref document: A1