WO2018110462A1 - 画像復号装置及び画像符号化装置 - Google Patents
画像復号装置及び画像符号化装置 Download PDFInfo
- Publication number
- WO2018110462A1 WO2018110462A1 PCT/JP2017/044240 JP2017044240W WO2018110462A1 WO 2018110462 A1 WO2018110462 A1 WO 2018110462A1 JP 2017044240 W JP2017044240 W JP 2017044240W WO 2018110462 A1 WO2018110462 A1 WO 2018110462A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- division
- block
- context
- target block
- determination unit
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Definitions
- the present invention relates to an image decoding device and an image encoding device.
- a moving image encoding device that generates encoded data by encoding the moving image, and a moving image that generates a decoded image by decoding the encoded data
- An image decoding device is used.
- the moving image encoding method include a method proposed in H.264 / AVC and HEVC (High-Efficiency Video Coding).
- an image (picture) constituting a moving image is a slice obtained by dividing the image, a coding tree unit (CTU: Coding Tree Unit obtained by dividing the slice). ), A coding unit obtained by dividing the coding tree unit (sometimes called a coding unit (CU)), and a prediction unit that is a block obtained by dividing the coding unit (PU) and a hierarchical structure composed of conversion units (TU), and encoded / decoded for each CU.
- CTU Coding Tree Unit obtained by dividing the slice.
- a coding unit obtained by dividing the coding tree unit sometimes called a coding unit (CU)
- a prediction unit that is a block obtained by dividing the coding unit (PU) and a hierarchical structure composed of conversion units (TU), and encoded / decoded for each CU.
- a predicted image is usually generated based on a local decoded image obtained by encoding / decoding an input image, and the predicted image is generated from the input image (original image).
- a prediction residual obtained by subtraction (sometimes referred to as “difference image” or “residual image”) is encoded. Examples of methods for generating a predicted image include inter-screen prediction (inter prediction) and intra-screen prediction (intra prediction).
- Non-Patent Document 1 can be cited as a technique for encoding and decoding moving images in recent years.
- BT partitioning that divides a binary tree is introduced in addition to QT partitioning that divides a CTU into quadtrees as a method of partitioning CTUs that constitute slices.
- This BT division includes horizontal division and vertical division.
- One aspect of the present invention has been made in view of the above-described problems, and a main object thereof is to provide a technique capable of reducing the code amount of division information in an image encoding device or an image decoding device. .
- an image decoding apparatus provides an image decoding apparatus that decodes a picture block by block, and includes information related to division of one or more adjacent blocks adjacent to the target block. Referring to the comparison result, a context determination unit that determines the context of the partition information of the target block, and a partition information decoding unit that decodes the partition information of the target block using the context determined by the context determination unit; It has.
- an image encoding device provides an image encoding device that encodes a picture block by block, and divides one or more adjacent blocks adjacent to the target block. Referring to the result of comparing the related information, a context determination unit that determines the context of the partition information of the target block, and a partition that encodes the partition information of the target block using the context determined by the context determination unit And an information encoding unit.
- an image decoding apparatus provides an image decoding apparatus that decodes a picture for each block, and sets a context of division information of a target block as 1 or adjacent to the target block.
- a context determination unit that determines the division status of a plurality of adjacent blocks; and a partition information decoding unit that decodes the partition information of the target block using the context determined by the context determination unit.
- an image encoding device is an image encoding device that encodes a picture block by block, and sets a context of division information of a target block adjacent to the target block.
- a context determination unit that determines with reference to the division status of one or a plurality of adjacent blocks to be performed, and a division information encoding unit that encodes the division information of the target block using the context determined by the context determination unit; It has.
- an image decoding apparatus in an image decoding apparatus that decodes a picture for each block, has already decoded the context of the division information of the target block related to the first color component
- the division information of the target block related to the first color component is determined using the context determination unit that is determined with reference to the division status of the corresponding block related to the second color component and the context determined by the context determination unit.
- a division information decoding unit for decoding in an image decoding apparatus that decodes a picture for each block, has already decoded the context of the division information of the target block related to the first color component.
- an image encoding device provides an image encoding device that encodes a picture block by block, and uses a target block division information context regarding the first color component. , Using a context determination unit that refers to the division status of the corresponding block related to the already decoded second color component and the context determined by the context determination unit, the target block related to the first color component A division information encoding unit that encodes the division information.
- the code amount of the division information can be reduced in the image decoding device.
- FIG. 1 It is the block diagram which showed the principal part structure of the image decoding apparatus which concerns on this embodiment.
- A is a figure for demonstrating QT division
- B is a figure for demonstrating BT division
- C is a figure for demonstrating TT division
- It is a flowchart explaining the context determination method by the image decoding apparatus which concerns on one Embodiment of this invention. It is a figure for demonstrating the context determination method by the image decoding apparatus which concerns on one Embodiment of this invention. It is a figure for demonstrating the specific example 1 of the context determination method by the image decoding apparatus which concerns on one Embodiment of this invention.
- FIG. 1 is a schematic diagram showing a configuration of an image transmission system 1 according to the present embodiment.
- the image transmission system 1 is a system that transmits a code obtained by encoding an encoding target image, decodes the transmitted code, and displays an image.
- the image transmission system 1 includes an image encoding device 11, a network 21, an image decoding device 31, and an image display device 41.
- the image T indicating a single layer image or a plurality of layers of images is input to the image encoding device 11.
- a layer is a concept used to distinguish a plurality of pictures when there are one or more pictures constituting a certain time. For example, when the same picture is encoded with a plurality of layers having different image quality and resolution, scalable encoding is performed, and when a picture of a different viewpoint is encoded with a plurality of layers, view scalable encoding is performed.
- inter-layer prediction, inter-view prediction When prediction is performed between pictures of a plurality of layers (inter-layer prediction, inter-view prediction), encoding efficiency is greatly improved. Further, even when prediction is not performed (simultaneous casting), encoded data can be collected.
- the network 21 transmits the encoded stream Te generated by the image encoding device 11 to the image decoding device 31.
- the network 21 is the Internet, a wide area network (WAN: Wide Area Network), a small network (LAN: Local Area Network), or a combination thereof.
- the network 21 is not necessarily limited to a bidirectional communication network, and may be a unidirectional communication network that transmits broadcast waves such as terrestrial digital broadcasting and satellite broadcasting.
- the network 21 may be replaced with a storage medium that records an encoded stream Te such as a DVD (Digital Versatile Disc) or a BD (Blu-ray Disc: registered trademark).
- the image decoding device 31 decodes each of the encoded streams Te transmitted by the network 21, and generates one or a plurality of decoded images Td decoded.
- the image display device 41 displays all or part of one or a plurality of decoded images Td generated by the image decoding device 31.
- the image display device 41 includes, for example, a display device such as a liquid crystal display or an organic EL (Electro-luminescence) display.
- a display device such as a liquid crystal display or an organic EL (Electro-luminescence) display.
- a high-quality enhancement layer image is displayed and only a lower processing capability is provided. Displays a base layer image that does not require higher processing capability and display capability as an extension layer.
- X? Y: z is a ternary operator that takes y when x is true (non-zero) and takes z when x is false (0).
- FIG. 2 is a diagram showing a hierarchical structure of data in the encoded stream Te.
- the encoded stream Te illustratively includes a sequence and a plurality of pictures constituting the sequence.
- (A) to (f) of FIG. 2 respectively show an encoded video sequence defining a sequence SEQ, an encoded picture defining a picture PICT, an encoded slice defining a slice S, and an encoded slice defining a slice data
- the encoded video sequence In the encoded video sequence, a set of data referred to by the image decoding device 31 for decoding the sequence SEQ to be processed is defined. As shown in FIG. 2A, the sequence SEQ includes a video parameter set (Video Parameter Set), a sequence parameter set SPS (Sequence Parameter Set), a picture parameter set PPS (Picture Parameter Set), a picture PICT, and an addition. Includes SEI (Supplemental Enhancement Information). Here, the value indicated after # indicates the layer ID.
- FIG. 2 shows an example in which encoded data of # 0 and # 1, that is, layer 0 and layer 1, exists, but the type of layer and the number of layers are not dependent on this.
- the video parameter set VPS is a set of coding parameters common to a plurality of moving images, a plurality of layers included in the moving image, and coding parameters related to individual layers in a moving image composed of a plurality of layers.
- a set is defined.
- the sequence parameter set SPS defines a set of encoding parameters that the image decoding device 31 refers to in order to decode the target sequence. For example, the width and height of the picture are defined. A plurality of SPSs may exist. In that case, one of a plurality of SPSs is selected from the PPS.
- a set of encoding parameters referred to by the image decoding device 31 in order to decode each picture in the target sequence is defined.
- a quantization width reference value (pic_init_qp_minus26) used for picture decoding and a flag (weighted_pred_flag) indicating application of weighted prediction are included.
- the picture PICT includes slices S0 to SNS-1 as shown in FIG. 2B (NS is the total number of slices included in the picture PICT).
- the coded slice In the coded slice, a set of data referred to by the image decoding device 31 for decoding the slice S to be processed is defined. As shown in FIG. 2C, the slice S includes a slice header SH and slice data SDATA.
- the slice header SH includes an encoding parameter group that is referred to by the image decoding device 31 in order to determine a decoding method of the target slice.
- Slice type designation information (slice_type) for designating a slice type is an example of an encoding parameter included in the slice header SH.
- I slice that uses only intra prediction at the time of encoding (2) P slice that uses unidirectional prediction or intra prediction at the time of encoding, (3) B-slice using unidirectional prediction, bidirectional prediction, or intra prediction at the time of encoding may be used.
- the slice header SH may include a reference (pic_parameter_set_id) to the picture parameter set PPS included in the encoded video sequence.
- the slice data SDATA includes a coding tree unit (CTU).
- a CTU is a block of a fixed size (for example, 64x64) that constitutes a slice, and is sometimes called a maximum coding unit (LCU: Large Coding Unit).
- Encoding tree unit As shown in (e) of FIG. 2, a set of data referred to by the image decoding device 31 in order to decode the processing target coding tree unit is defined.
- the coding tree unit is divided by recursive quadtree division (QT division) or binary tree division (BT division).
- a tree-structured node obtained by recursive quadtree partitioning or binary tree partitioning is called a coding node (CN).
- An intermediate node of the quadtree and the binary tree is a coding tree (CT), and the coding tree unit itself is also defined as the highest-level coding tree.
- the CTU includes a QT split flag (cu_split_flag) indicating whether or not to perform QT split, and a BT split mode (split_bt_mode) indicating a split method of BT split.
- cu_split_flag 1
- cu_split_flag 1
- cu_split_flag 0
- the coding node CN is not divided and has one coding unit (CU: Coding Unit) as a node.
- split_bt_mode it is horizontally divided (horitonzal ⁇ split, divided by a horizontal dividing line, divided into two or more blocks above and below) into two coding nodes CN.
- split_bt_mode When split_bt_mode is 1, it is vertically divided into two coding nodes CN (vertical split, divided by a vertical dividing line, here divided into two or more blocks on the left and right).
- split_bt_mode When split_bt_mode is 0, the encoding node CN is not divided and has one encoding unit CU as a node.
- the horizontal division is also called a vertical division (split vertically) because a certain block is divided into two or more blocks arranged in the vertical direction.
- vertical division is also called horizontal division (split horizontally) because a block is divided into two or more blocks arranged in the horizontal direction.
- the coding unit CU is the end node of a coding node (leaf node) ) And no further division.
- the encoding unit CU is a basic unit of the encoding process.
- the size of the coding tree unit CTU is 64x64 pixels
- the size of the coding unit is 64x64 pixels, 64x32 pixels, 32x64 pixels, 32x32 pixels, 64x16 pixels, 16x64 pixels, 32x16 pixels, 16x32 pixels, 16x16 pixels.
- the encoding unit As shown in (f) of FIG. 2, a set of data referred to by the image decoding device 31 in order to decode the encoding unit to be processed is defined. Specifically, the encoding unit includes a prediction tree, a conversion tree, and a CU header CUH. In the CU header, a prediction mode, a division method (PU division mode), and the like are defined.
- prediction information (a reference picture index, a motion vector, etc.) of each prediction unit (PU) obtained by dividing the coding unit into one or a plurality is defined.
- the prediction unit is one or a plurality of non-overlapping areas constituting the encoding unit.
- the prediction tree includes one or a plurality of prediction units obtained by the above-described division.
- a prediction unit obtained by further dividing the prediction unit is referred to as a “sub-block”.
- the sub block is composed of a plurality of pixels.
- the number of sub-blocks in the prediction unit is one.
- the prediction unit is larger than the size of the sub-block, the prediction unit is divided into sub-blocks. For example, when the prediction unit is 8 ⁇ 8 and the sub-block is 4 ⁇ 4, the prediction unit is divided into four sub-blocks that are divided into two horizontally and two vertically.
- the prediction process may be performed for each prediction unit (sub block).
- Intra prediction is prediction within the same picture
- inter prediction refers to prediction processing performed between different pictures (for example, between display times and between layer images).
- the division method is encoded by the PU division mode (part_mode) of encoded data, and 2Nx2N (the same size as the encoding unit), 2NxN, 2NxnU, 2NxnD, Nx2N, nLx2N, nRx2N, and NxN etc.
- 2NxN and Nx2N indicate 1: 1 symmetrical division
- nRx2N indicate 1: 3, 3: 1 asymmetric partitioning.
- the PUs included in the CU are expressed as PU0, PU1, PU2, and PU3 in this order.
- FIG. 3 specifically show the partition shape (the position of the boundary of the PU partition) in each PU partition mode.
- 3A shows a 2Nx2N partition
- FIGS. 3B, 3C, and 2D show 2NxN, 2NxnU, and 2NxnD partitions (horizontal partitions), respectively.
- E), (f), and (g) show partitions (vertical partitions) in the case of Nx2N, nLx2N, and nRx2N, respectively, and (h) shows an NxN partition.
- the horizontal partition and the vertical partition are collectively referred to as a rectangular partition
- 2Nx2N and NxN are collectively referred to as a square partition.
- the encoding unit is divided into one or a plurality of transform units (TU: Transform Unit), and the position and size of each transform unit are defined.
- the transform unit is one or a plurality of non-overlapping areas constituting the encoding unit.
- the conversion tree includes one or a plurality of conversion units obtained by the above division.
- the conversion unit For the division in the conversion tree, an area having the same size as that of the encoding unit is allocated as the conversion unit, and the conversion unit is obtained by dividing the CU into a quadtree (TU division) as in the above-described CU division. There is. The conversion process is performed for each conversion unit.
- TU division quadtree
- the prediction parameter includes prediction list use flags predFlagL0 and predFlagL1, reference picture indexes refIdxL0 and refIdxL1, and motion vectors mvL0 and mvL1.
- the prediction list use flags predFlagL0 and predFlagL1 are flags indicating whether or not reference picture lists called L0 list and L1 list are used, respectively, and a reference picture list corresponding to a value of 1 is used.
- flag indicating whether or not it is XX when “flag indicating whether or not it is XX” is described, when the flag is not 0 (for example, 1) is XX, 0 is not XX, and logical negation, logical product, etc. 1 is treated as true and 0 is treated as false (the same applies hereinafter).
- flag when the flag is not 0 (for example, 1) is XX, 0 is not XX, and logical negation, logical product, etc. 1 is treated as true and 0 is treated as false (the same applies hereinafter).
- other values can be used as true values and false values in an actual apparatus or method.
- Syntax elements for deriving inter prediction parameters included in the encoded data include, for example, PU partition mode part_mode, merge flag merge_flag, merge index merge_idx, inter prediction identifier inter_pred_idc, reference picture index refIdxLX, prediction vector index mvp_LX_idx, There is a difference vector mvdLX.
- the reference picture list is a list including reference pictures stored in the reference picture memory 306.
- FIG. 4 is a conceptual diagram illustrating an example of a reference picture and a reference picture list.
- a rectangle is a picture
- an arrow is a reference relationship of the picture
- a horizontal axis is time
- I, P, and B in the rectangle are an intra picture
- a single prediction picture a bi-prediction picture
- numbers in the rectangle are Indicates the decoding order.
- the decoding order of pictures is I0, P1, B2, B3, and B4
- the display order is I0, B3, B2, B4, and P1.
- FIG. 4B shows an example of the reference picture list.
- the reference picture list is a list representing candidate reference pictures, and one picture (slice) may have one or more reference picture lists.
- the target picture B3 has two reference picture lists, an L0 list RefPicList0 and an L1 list RefPicList1.
- the reference pictures are I0, P1, and B2, and the reference picture has these pictures as elements.
- refIdxLX the reference picture index
- the figure shows an example in which reference pictures P1 and B2 are referred to by refIdxL0 and refIdxL1.
- the prediction parameter decoding (encoding) method includes a merge prediction (merge) mode and an AMVP (Adaptive Motion Vector Prediction) mode.
- the merge flag merge_flag is a flag for identifying these.
- the merge prediction mode is a mode in which the prediction list use flag predFlagLX (or inter prediction identifier inter_pred_idc), the reference picture index refIdxLX, and the motion vector mvLX are not included in the encoded data and are derived from the prediction parameters of already processed neighboring PUs.
- the AMVP mode is a mode in which the inter prediction identifier inter_pred_idc, the reference picture index refIdxLX, and the motion vector mvLX are included in the encoded data.
- the motion vector mvLX is encoded as a prediction vector index mvp_LX_idx for identifying the prediction vector mvpLX and a difference vector mvdLX.
- the inter prediction identifier inter_pred_idc is a value indicating the type and number of reference pictures, and takes one of PRED_L0, PRED_L1, and PRED_BI.
- PRED_L0 and PRED_L1 indicate that reference pictures managed by the reference picture lists of the L0 list and the L1 list are used, respectively, and that one reference picture is used (single prediction).
- PRED_BI indicates that two reference pictures are used (bi-prediction BiPred), and reference pictures managed by the L0 list and the L1 list are used.
- the prediction vector index mvp_LX_idx is an index indicating a prediction vector
- the reference picture index refIdxLX is an index indicating a reference picture managed in the reference picture list.
- LX is a description method used when L0 prediction and L1 prediction are not distinguished from each other. By replacing LX with L0 and L1, parameters for the L0 list and parameters for the L1 list are distinguished.
- the merge index merge_idx is an index that indicates whether one of the prediction parameter candidates (merge candidates) derived from the processed PU is used as the prediction parameter of the decoding target PU.
- the motion vector mvLX indicates a shift amount between blocks on two different pictures.
- a prediction vector and a difference vector related to the motion vector mvLX are referred to as a prediction vector mvpLX and a difference vector mvdLX, respectively.
- Inter prediction identifier inter_pred_idc and prediction list use flag predFlagLX The relationship between the inter prediction identifier inter_pred_idc and the prediction list use flags predFlagL0 and predFlagL1 is as follows and can be converted into each other.
- the flag biPred as to whether it is a bi-prediction BiPred can be derived depending on whether the two prediction list use flags are both 1. For example, it can be derived by the following formula.
- the flag biPred can also be derived depending on whether or not the inter prediction identifier is a value indicating that two prediction lists (reference pictures) are used. For example, it can be derived by the following formula.
- FIG. 5 is a schematic diagram illustrating a configuration of the image decoding device 31 according to the present embodiment.
- the image decoding device 31 includes an entropy decoding unit 301, a prediction parameter decoding unit (prediction image decoding device) 302, a loop filter 305, a reference picture memory 306, a prediction parameter memory 307, a prediction image generation unit (prediction image generation device) 308, and inversely.
- a quantization / inverse DCT unit 311 and an addition unit 312 are included.
- the prediction parameter decoding unit 302 includes an inter prediction parameter decoding unit 303 and an intra prediction parameter decoding unit 304.
- the predicted image generation unit 308 includes an inter predicted image generation unit 309 and an intra predicted image generation unit 310.
- the entropy decoding unit 301 performs entropy decoding on the coded stream Te input from the outside, and separates and decodes individual codes (syntax elements).
- the separated codes include prediction information for generating a prediction image and residual information for generating a difference image.
- the entropy decoding unit 301 outputs a part of the separated code to the prediction parameter decoding unit 302.
- Some of the separated codes are, for example, a prediction mode predMode, a PU partition mode part_mode, a merge flag merge_flag, a merge index merge_idx, an inter prediction identifier inter_pred_idc, a reference picture index refIdxLX, a prediction vector index mvp_LX_idx, and a difference vector mvdLX.
- Control of which code is decoded is performed based on an instruction from the prediction parameter decoding unit 302.
- the entropy decoding unit 301 outputs the quantization coefficient to the inverse quantization / inverse DCT unit 311.
- the quantization coefficient is a coefficient obtained by performing quantization by performing DCT (Discrete Cosine Transform) on the residual signal in the encoding process.
- the inter prediction parameter decoding unit 303 decodes the inter prediction parameter with reference to the prediction parameter stored in the prediction parameter memory 307 based on the code input from the entropy decoding unit 301.
- the inter prediction parameter decoding unit 303 outputs the decoded inter prediction parameter to the prediction image generation unit 308 and stores it in the prediction parameter memory 307. Details of the inter prediction parameter decoding unit 303 will be described later.
- the intra prediction parameter decoding unit 304 refers to the prediction parameter stored in the prediction parameter memory 307 on the basis of the code input from the entropy decoding unit 301 and decodes the intra prediction parameter.
- the intra prediction parameter is a parameter used in a process of predicting a CU within one picture, for example, an intra prediction mode IntraPredMode.
- the intra prediction parameter decoding unit 304 outputs the decoded intra prediction parameter to the prediction image generation unit 308 and stores it in the prediction parameter memory 307.
- the intra prediction parameter decoding unit 304 may derive different intra prediction modes depending on luminance and color difference.
- the intra prediction parameter decoding unit 304 decodes the luminance prediction mode IntraPredModeY as the luminance prediction parameter and the color difference prediction mode IntraPredModeC as the color difference prediction parameter.
- the luminance prediction mode IntraPredModeY is a 35 mode, and corresponds to planar prediction (0), DC prediction (1), and direction prediction (2 to 34).
- the color difference prediction mode IntraPredModeC uses one of the planar prediction (0), the DC prediction (1), the direction prediction (2 to 34), and the LM mode (35).
- the intra prediction parameter decoding unit 304 decodes a flag indicating whether IntraPredModeC is the same mode as the luminance mode. If the flag indicates that the mode is the same as the luminance mode, IntraPredModeC is assigned to IntraPredModeC, and the flag is luminance. If the mode is different from the mode, planar prediction (0), DC prediction (1), direction prediction (2 to 34), and LM mode (35) may be decoded as IntraPredModeC.
- the loop filter 305 applies filters such as a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) to the decoded image of the CU generated by the adding unit 312.
- filters such as a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) to the decoded image of the CU generated by the adding unit 312.
- the reference picture memory 306 stores the decoded image of the CU generated by the adding unit 312 at a predetermined position for each decoding target picture and CU.
- the prediction parameter memory 307 stores the prediction parameter in a predetermined position for each decoding target picture and prediction unit (or sub-block, fixed-size block, pixel). Specifically, the prediction parameter memory 307 stores the inter prediction parameter decoded by the inter prediction parameter decoding unit 303, the intra prediction parameter decoded by the intra prediction parameter decoding unit 304, and the prediction mode predMode separated by the entropy decoding unit 301. .
- the stored inter prediction parameters include, for example, a prediction list utilization flag predFlagLX (inter prediction identifier inter_pred_idc), a reference picture index refIdxLX, and a motion vector mvLX.
- the prediction image generation unit 308 receives the prediction mode predMode input from the entropy decoding unit 301 and the prediction parameter from the prediction parameter decoding unit 302. Further, the predicted image generation unit 308 reads a reference picture from the reference picture memory 306. The prediction image generation unit 308 generates a prediction image of the PU using the input prediction parameter and the read reference picture in the prediction mode indicated by the prediction mode predMode.
- the inter prediction image generation unit 309 uses the inter prediction parameter input from the inter prediction parameter decoding unit 303 and the read reference picture to perform prediction of the PU by inter prediction. Is generated.
- the inter prediction image generation unit 309 performs a motion vector on the basis of the decoding target PU from the reference picture indicated by the reference picture index refIdxLX for a reference picture list (L0 list or L1 list) having a prediction list use flag predFlagLX of 1.
- the reference picture block at the position indicated by mvLX is read from the reference picture memory 306.
- the inter prediction image generation unit 309 performs prediction based on the read reference picture block to generate a prediction image of the PU.
- the inter prediction image generation unit 309 outputs the generated prediction image of the PU to the addition unit 312.
- the intra predicted image generation unit 310 When the prediction mode predMode indicates the intra prediction mode, the intra predicted image generation unit 310 performs intra prediction using the intra prediction parameter input from the intra prediction parameter decoding unit 304 and the read reference picture. Specifically, the intra predicted image generation unit 310 reads, from the reference picture memory 306, neighboring PUs that are pictures to be decoded and are in a predetermined range from the decoding target PUs among the PUs that have already been decoded.
- the predetermined range is, for example, one of the left, upper left, upper, and upper right adjacent PUs when the decoding target PU sequentially moves in the so-called raster scan order, and differs depending on the intra prediction mode.
- the raster scan order is an order in which each row is sequentially moved from the left end to the right end in each picture from the upper end to the lower end.
- the intra predicted image generation unit 310 performs prediction in the prediction mode indicated by the intra prediction mode IntraPredMode for the read adjacent PU, and generates a predicted image of the PU.
- the intra predicted image generation unit 310 outputs the generated predicted image of the PU to the adding unit 312.
- the intra prediction image generation unit 310 performs planar prediction (0), DC prediction (1), direction according to the luminance prediction mode IntraPredModeY.
- Prediction image of luminance PU is generated by any of prediction (2 to 34), and planar prediction (0), DC prediction (1), direction prediction (2 to 34), LM mode according to color difference prediction mode IntraPredModeC
- a predicted image of the color difference PU is generated by any of (35).
- the addition unit 312 adds the prediction image of the PU input from the inter prediction image generation unit 309 or the intra prediction image generation unit 310 and the residual signal input from the inverse quantization / inverse DCT unit 311 for each pixel, Generate a decoded PU image.
- the adding unit 312 stores the generated decoded image of the PU in the reference picture memory 306, and outputs a decoded image Td in which the generated decoded image of the PU is integrated for each picture to the outside.
- FIG. 6 is a block diagram illustrating a configuration of the image encoding device 11 according to the present embodiment.
- the image encoding device 11 includes a prediction image generation unit 101, a subtraction unit 102, a DCT / quantization unit 103, an entropy encoding unit 104, an inverse quantization / inverse DCT unit 105, an addition unit 106, a loop filter 107, and a prediction parameter memory.
- the prediction parameter encoding unit 111 includes an inter prediction parameter encoding unit 112 and an intra prediction parameter encoding unit 113.
- the predicted image generation unit 101 generates, for each picture of the image T, a predicted image P of the prediction unit PU for each encoding unit CU that is an area obtained by dividing the picture.
- the predicted image generation unit 101 reads a decoded block from the reference picture memory 109 based on the prediction parameter input from the prediction parameter encoding unit 111.
- the prediction parameter input from the prediction parameter encoding unit 111 is, for example, a motion vector in the case of inter prediction.
- the predicted image generation unit 101 reads a block at a position on the reference image indicated by the motion vector with the target PU as a starting point.
- the prediction parameter is, for example, an intra prediction mode.
- a pixel value of an adjacent PU used in the intra prediction mode is read from the reference picture memory 109, and a predicted image P of the PU is generated.
- the predicted image generation unit 101 generates a predicted image P of the PU using one prediction method among a plurality of prediction methods for the read reference picture block.
- the predicted image generation unit 101 outputs the generated predicted image P of the PU to the subtraction unit 102.
- predicted image generation unit 101 performs the same operation as the predicted image generation unit 308 already described.
- the prediction image generation unit 101 generates a prediction image P of the PU based on the pixel value of the reference block read from the reference picture memory, using the parameter input from the prediction parameter encoding unit.
- the predicted image generated by the predicted image generation unit 101 is output to the subtraction unit 102 and the addition unit 106.
- the subtraction unit 102 subtracts the signal value of the predicted image P of the PU input from the predicted image generation unit 101 from the pixel value of the corresponding PU of the image T, and generates a residual signal.
- the subtraction unit 102 outputs the generated residual signal to the DCT / quantization unit 103.
- the DCT / quantization unit 103 performs DCT on the residual signal input from the subtraction unit 102 and calculates a DCT coefficient.
- the DCT / quantization unit 103 quantizes the calculated DCT coefficient to obtain a quantization coefficient.
- the DCT / quantization unit 103 outputs the obtained quantization coefficient to the entropy coding unit 104 and the inverse quantization / inverse DCT unit 105.
- the entropy encoding unit 104 receives the quantization coefficient from the DCT / quantization unit 103 and receives the encoding parameter from the prediction parameter encoding unit 111.
- Examples of input encoding parameters include codes such as a reference picture index refIdxLX, a prediction vector index mvp_LX_idx, a difference vector mvdLX, a prediction mode predMode, and a merge index merge_idx.
- the entropy encoding unit 104 generates an encoded stream Te by entropy encoding the input quantization coefficient and encoding parameter, and outputs the generated encoded stream Te to the outside.
- the inverse quantization / inverse DCT unit 105 inversely quantizes the quantization coefficient input from the DCT / quantization unit 103 to obtain a DCT coefficient.
- the inverse quantization / inverse DCT unit 105 performs inverse DCT on the obtained DCT coefficient to calculate a residual signal.
- the inverse quantization / inverse DCT unit 105 outputs the calculated residual signal to the addition unit 106.
- the addition unit 106 adds the signal value of the prediction image P of the PU input from the prediction image generation unit 101 and the signal value of the residual signal input from the inverse quantization / inverse DCT unit 105 for each pixel, and performs decoding. Generate an image.
- the adding unit 106 stores the generated decoded image in the reference picture memory 109.
- the loop filter 107 performs a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) on the decoded image generated by the adding unit 106.
- SAO sample adaptive offset
- ALF adaptive loop filter
- the prediction parameter memory 108 stores the prediction parameter generated by the encoding parameter determination unit 110 at a predetermined position for each encoding target picture and CU.
- the reference picture memory 109 stores the decoded image generated by the loop filter 107 at a predetermined position for each picture to be encoded and each CU.
- the encoding parameter determination unit 110 selects one set from among a plurality of sets of encoding parameters.
- the encoding parameter is a parameter to be encoded that is generated in association with the above-described prediction parameter or the prediction parameter.
- the predicted image generation unit 101 generates a predicted image P of the PU using each of these encoding parameter sets.
- the encoding parameter determination unit 110 calculates a cost value indicating the amount of information and the encoding error for each of a plurality of sets.
- the cost value is, for example, the sum of a code amount and a square error multiplied by a coefficient ⁇ .
- the code amount is the information amount of the encoded stream Te obtained by entropy encoding the quantization error and the encoding parameter.
- the square error is the sum between pixels regarding the square value of the residual value of the residual signal calculated by the subtracting unit 102.
- the coefficient ⁇ is a real number larger than a preset zero.
- the encoding parameter determination unit 110 selects a set of encoding parameters that minimizes the calculated cost value.
- the entropy encoding unit 104 outputs the selected set of encoding parameters to the outside as the encoded stream Te, and does not output the set of unselected encoding parameters.
- the encoding parameter determination unit 110 stores the determined encoding parameter in the prediction parameter memory 108.
- the prediction parameter encoding unit 111 derives a format for encoding from the parameters input from the encoding parameter determination unit 110 and outputs the format to the entropy encoding unit 104. Deriving the format for encoding is, for example, deriving a difference vector from a motion vector and a prediction vector. Also, the prediction parameter encoding unit 111 derives parameters necessary for generating a prediction image from the parameters input from the encoding parameter determination unit 110 and outputs the parameters to the prediction image generation unit 101.
- the parameter necessary for generating the predicted image is, for example, a motion vector in units of sub-blocks.
- the inter prediction parameter encoding unit 112 derives an inter prediction parameter such as a difference vector based on the prediction parameter input from the encoding parameter determination unit 110.
- the inter prediction parameter encoding unit 112 derives parameters necessary for generating a prediction image to be output to the prediction image generating unit 101, and an inter prediction parameter decoding unit 303 (see FIG. 5 and the like) derives inter prediction parameters. Some of the configurations are the same as those to be performed. The configuration of the inter prediction parameter encoding unit 112 will be described later.
- the intra prediction parameter encoding unit 113 derives a format (for example, MPM_idx, rem_intra_luma_pred_mode) for encoding from the intra prediction mode IntraPredMode input from the encoding parameter determination unit 110.
- a format for example, MPM_idx, rem_intra_luma_pred_mode
- FIG. 10 is a block diagram showing the main configuration of the image decoding apparatus according to this embodiment.
- illustration of some members included in the block diagram shown in FIG. 5 is omitted.
- members having the same functions as those shown in FIG. 5 are denoted by the same reference numerals, and description thereof is omitted.
- the image decoding device 31 includes an entropy decoding unit 301, a predicted image generation unit 308, an inverse quantization / inverse DCT conversion unit 311, a reference picture memory 306, an addition unit 312, and a loop filter 305.
- the entropy decoding unit 301 includes a decoding module 9, a CN information decoding unit 10 (divided information decoding unit), a header decoding unit 19, a CU decoding unit 20, and a context determination unit 32.
- the CU decoding unit 20 further includes a PU information decoding unit 12 and a TT information decoding unit 13 (division information decoding unit, division unit), and the TT information decoding unit 13 further includes a TU decoding unit 22.
- the decoding module 9 performs a decoding process for decoding a syntax value from binary. More specifically, the decoding module 9 is based on encoded data supplied from a supplier and a syntax type, and is encoded by a variable length encoding method such as CABAC or a fixed length encoding method. Decrypts the syntax value and returns the decrypted syntax value to the supplier.
- a variable length encoding method such as CABAC or a fixed length encoding method.
- the source of the encoded data and syntax type is the CN information decoding unit 10 and the CU decoding unit 20 (PU information decoding unit 12 and TT information decoding unit 13).
- the header decoding unit 19 decodes the VPS (video parameter set), SPS, PPS, and slice header of the encoded data input from the image encoding device 11.
- the CN information decoding unit 10 uses the decoding module 9 to perform decoding processing of the encoding tree unit (CTU) and the encoding node (CN) on the encoded data input from the image encoding device 11. Specifically, the CN information decoding unit 10 decodes the CTU information and the CN information from the encoded data according to the following procedure.
- CTU encoding tree unit
- CN encoding node
- the CN information decoding unit 10 uses the decoding module 9 to decode the tree unit header CTUH from the CTU information included in the CTU.
- the CN information decoding unit 10 sets the QT division flag from the CN information included in the CN according to the context (described later) of the QT division flag (division information) indicating whether or not the target CN is to be QT divided. Decrypt.
- the CN information decoding unit 10 then recursively divides and decodes the target CN until the QT division flag no longer notifies further division.
- the tree unit footer CTUF is decoded from the CTU information.
- the CN information to be decoded is a QT split flag (qt_split_flag).
- the CN information to be decoded indicates whether or not the target CN is to be subjected to BT (binary) tree) split. It may be a BT split flag (bt_split_flag), or a TT split flag (tt_split_flag) indicating whether or not the target CN is to be split TT (triple tree).
- (A) to (c) of FIG. 11 are diagrams showing QT division, BT division, and TT division, respectively. In this figure, the block indicated by the arrow is the block after division. As shown in FIG.
- the QT division is a division that divides a block into four.
- the BT division is a division that divides a block into two.
- the TT division is a division that divides a block into three.
- the image decoding device 31 divides the CN
- a block such as a CU, PU, or TU
- the target CN described above may be a target CU, a target PU, a target TU, or the like.
- the tree unit header CTUH and the tree unit footer CTUF include coding parameters referred to by the image decoding device 31 in order to determine a decoding method of the target coding tree unit.
- the CN information may include a BT direction flag (BT division mode), which will be described later, parameters to be applied in the target CN and lower coding nodes.
- the context determination unit 32 acquires the division related information of the target CN and the division related information of the adjacent CN.
- the CN division-related information is information related to the CN division status, and is information including, for example, the CN partition number, depth, vertical depth and horizontal depth, or size.
- the context determination unit 32 compares the obtained division-related information of the target CN and the adjacent CN.
- the context determination unit 32 determines a context according to the comparison result.
- the context determined by the context determination unit 32 is output to the CN information decoding unit 10 described above.
- CABAC CABAC
- binarization processing is performed on various syntaxes representing transform coefficients, and binary data obtained by the binarization processing is arithmetically encoded.
- a flag qt_split_flag indicating whether or not to perform QT division
- a flag indicating whether or not the conversion coefficient is 0 that is, a flag significant_coeff_flag indicating whether or not a non-zero conversion coefficient exists (conversion coefficient presence or absence)
- syntax last_significant_coeff_x and last_significant_coeff_y indicating the position of the last non-zero transform coefficient in the processing order.
- CABAC CABAC
- the context index corresponding to the symbol to be processed is referred to, and the occurrence probability specified by the context index is determined. Arithmetic encoding is performed. The occurrence probability is updated every time one symbol is encoded.
- the context corresponding to qt_split_flag which is a QT split flag is indicated by ctxIdxQT (or ctxIdxSplit).
- the context corresponding to the BT split flag bt_split_flag is indicated by ctxIdxBT (or ctxIdxSplit).
- the context corresponding to tt_split_flag which is a TT split flag is indicated by ctxIdxTT (or ctxIdxSplit).
- ctxIdxDir is a context indicating whether to divide horizontally or vertically as the division direction.
- the context corresponding to the PT partition flag pt_split_flag is indicated by ctxIdxPT (or ctxIdxSplit) .
- the context corresponding to the PT division direction flag pt_dir_flag is indicated by ctxIdxDir.
- the context corresponding to the PT division pattern flag pt_pat_flag is indicated by ctxIdxPat.
- the CU decoding unit 20 includes a PU information decoding unit 12 and a TT information decoding unit 13, and decodes PUI information and TTI information of the lowest coding node CN (ie, CU).
- PU information decoding unit In the PU information decoding unit 12, PU information (merge flag (merge_flag), merge index (merge_idx), prediction vector index (mvp_idx), reference image index (ref_idx), inter prediction identifier (inter_pred_flag), and difference vector (mvd) of each PU And the like) are decrypted using the decryption module 9.
- PU information (merge flag (merge_flag), merge index (merge_idx), prediction vector index (mvp_idx), reference image index (ref_idx), inter prediction identifier (inter_pred_flag), and difference vector (mvd) of each PU And the like) are decrypted using the decryption module 9.
- the TT information decoding unit 13 decodes the TT information (TU partition flag SP_TU (split_transform_flag), TU residual flag CBP_TU (cbf_cb, cbf_cr, cbf_luma), and TU) of the transformation tree TT using the decoding module 9.
- the TT information decoding unit 13 includes a TU decoding unit 22.
- the TU decoding unit 22 decodes the QP update information (quantization correction value) when a residual is included in the TU.
- the QP update information is a value indicating a difference value from the quantization parameter predicted value qPpred, which is a predicted value of the quantization parameter QP.
- the TU decoding unit 22 decodes the quantized prediction residual (residual_coding).
- FIG. 12 is a flowchart for explaining an example of a context determination method by the image decoding device 31 according to this embodiment.
- the context determining unit 32 is adjacent to the division information related to the target CN (target block) that has not yet been divided by the CN information decoding unit 10 and the target CN, and the CN information decoding unit 10 has already divided and decoded
- the CN (neighboring block) division related information and the CN information decoding unit 10 are acquired. (Step S0).
- the target CN is used as the target block and the adjacent CN is used as the adjacent block is shown, but the target block and the adjacent block may be CU, PU, or TU.
- the context determination method can be performed in the same manner, and indicates whether the target CU, target PU, or target TU is to be divided A context indicating the probability of decoding the QT partition flag can be determined.
- the context determination unit 32 refers to the acquired target CN and adjacent CN, and specifies the division status, so that there is a dividing line of the adjacent CN in contact with each side (for example, the upper side or the left side) of the target CN. Is determined (step S1). The specific method of step S1 will be described later.
- the context determination unit 32 determines a context according to the determined division status (step S2). The specific method of step S2 will be described later.
- the CN information decoding unit 10 decodes a QT division flag indicating whether or not the target CN is to be QT divided from the CN information included in the CN according to the context determined by the context determination unit 32 (step S3).
- FIG. 13 is a diagram for explaining step S1 of the context determination method of the present embodiment, and shows a target block O, an adjacent block WL, an adjacent block WA, and an adjacent block WB.
- the target block O is adjacent to the adjacent block WL on the left side.
- the target block O is adjacent to the adjacent block WA and the adjacent block WB on the upper side. Note that the numbers in each block in FIG. 13 indicate partition numbers.
- the context determination unit 32 derives the vertical split flag splitVertically and the horizontal split flag splitHorizontally, which may be called the horizontal split flag horSplit and the vertical split flag verSplit, respectively. .
- the relationship of equivalent flags is summarized as follows.
- splitLeft splitLeft
- splitHorizonally splitAbove
- step S2 the context determination unit 32 refers to the set splitVertically and splitHorizontally, and derives a context ctxIdxSplit for determining whether or not to divide the target block, for example, by the following expression.
- the occurrence probability indicated by the probability state index included in the context variable designated by the context is set and updated so as to increase as the dividing line is present. That is, the CN information decoding unit 10 switches the context depending on whether there is a dividing line of an adjacent block, and when there is a dividing line in the adjacent block, the division flag indicating “with division” in the target block O Can be reduced.
- the reason for such setting is that when the adjacent block WA or the adjacent block WB is divided, there is a high possibility that the target block O is also divided.
- FIG. 14 is a diagram for explaining step S1 of the context determination method according to the present specific example, and shows a target block O, an adjacent block WL, an adjacent block WA, and an adjacent block WB. As shown in FIG. 14, the target block O is adjacent to the adjacent block WL on the left side. The target block O is adjacent to the adjacent block WA and the adjacent block WB on the upper side.
- the upper left coordinate of the target block O is (xP, yP)
- the point coordinate immediately adjacent to the upper left coordinate of the target block O is the point L (xP-1, yP)
- the target A point coordinate immediately adjacent to the lower left coordinate of the block O is defined as a point LB (xP-1, yP + H-1).
- the point coordinate immediately above the upper left coordinate of the target block O is defined as a point A (xP, yP-1)
- the point coordinate immediately adjacent to the upper right coordinate of the target block O is defined as a point AR (xP + W-1, yP-1).
- W is the width of the target block O in the X-axis direction
- H is the height of the target block O in the Y-axis direction.
- the numbers in each block in FIG. 14 indicate partition numbers.
- step S1 the context determination unit 32 refers to the partition related information of the adjacent block WL acquired in step S0, and the partition number partIDL of the block including the point L and the partition number partIDLB of the block including the point LB. Are different from each other.
- the determination formula is shown below.
- the point L and the point LB are included in different blocks.
- No. 32 determines that there is a dividing line in contact with the left side of the target block O.
- the partition number of the block including the point L is the same as the partition number of the block including the point LB
- the point L and the point LB are included in the same block.
- the determination unit 32 determines that there is no dividing line in contact with the left side of the target block O.
- the context determination unit 32 refers to the partition related information of the adjacent block WA and the adjacent block WB acquired in step S0, and the partition number partIDA of the block including the point A and the block including the point AR. Judge whether the partition number partIDAR is different. The determination formula is shown below.
- FIG. 15 is a diagram for explaining step S1 of the context determination method of this example, and shows the target block O, the adjacent block WL, and the adjacent block WA.
- the target block O is adjacent to the adjacent block WL on the left side.
- the target block O is adjacent to the adjacent block WA on the upper side.
- the adjacent block WL includes a point L (xPb ⁇ 1, yP) in contact with the left side of the target block O, and the adjacent block WA has a point A (xPb, yPb-1).
- n indicates a horizontal depth and m indicates a vertical depth (n and m are integers).
- the horizontal depth indicates the number of times (a division hierarchy) that a certain block is divided into two blocks arranged in the horizontal direction.
- the vertical depth indicates the number of times (a division hierarchy) that a certain block is divided into two blocks arranged in the vertical direction.
- BT division one of horizontal depth and vertical depth is added for each division.
- bt_split_flag 1 (BT division flag)
- bt_dir_flag 0 (BT division direction flag)
- bt_split_flag 1 (BT division flag)
- bt_dir_flag 1 (BT division direction flag)
- the context determination unit 32 refers to the division-related information of the adjacent block WL and the target block O, the vertical depth depthVerLeft of the point L (the vertical depth depthVerLeft of the adjacent block WL including the point L), and the target The vertical depth depthVertCurr of the block O is compared, and it is determined whether or not the vertical depth depthVerLeft of the adjacent block WL is larger than the vertical depth DeptVertCurr of the target block O.
- the determination formula is shown below.
- the adjacent block WL is a block formed through horizontal division more times than the target block O.
- the context determination unit 32 determines that there is a dividing line in contact with the left side of the target block O.
- the context determination unit 32 It is determined that there is no parting line in contact with the left side of the target block O.
- the context determination unit 32 determines that there is no dividing line that touches the left side of the target block O.
- the context determination unit 32 refers to the division-related information of the adjacent block WA and the target block O, the horizontal depth depthHorUpper of the point A (the horizontal depth depthHorUpper of the adjacent block WA including the point A), and the horizontal of the target block O
- the depth depthHorCurr is compared, and it is determined whether or not the horizontal depth depthHorUpper of the adjacent block WA is larger than the horizontal depth depthHorCurr of the target block O.
- the determination formula is shown below.
- splitAbove verSplit
- the context determination unit 32 determines that there is a dividing line in contact with the upper side of the target block O.
- the context determination unit 32 determines that the target block O is a block that has been formed through more vertical divisions than the adjacent block WA. It is determined that there is no parting line in contact with the upper side of the target block O.
- the context determination unit 32 determines that there is no dividing line that touches the upper side of the target block O.
- FIG. 16 is a diagram for explaining step S1 of the context determination method according to the present specific example, and shows a target block O, an adjacent block WL, and an adjacent block WA.
- the target block O is adjacent to the adjacent block WL on the left side.
- the target block O is adjacent to the adjacent block WA on the upper side.
- the adjacent block WL includes a point L (xPb ⁇ 1, yP) in contact with the left side of the target block O
- the adjacent block WA is a point A (xPb, yPb in contact with the upper side of the target block O. -1) is included.
- n indicates the horizontal width of each block
- m indicates the vertical height (n and m are integers).
- step S1 the context determination unit 32 refers to the division related information of the target block O and the adjacent block WL, and obtains the height heightCurr of the target block O and the height heightLeft of the adjacent block WL including the point L. In comparison, it is determined whether the height heightCurr of the target block O is greater than the height heightLeft of the adjacent block WL.
- the determination formula is shown below.
- the adjacent block WL is a block formed through horizontal division more times than the target block O. It is determined that there is a dividing line in contact with the left side of O.
- the target block O is smaller than the height of the adjacent block WL, the target block O is a block formed through horizontal division more times than the adjacent block WL. It is determined that there is no dividing line in contact with the left side of the target block O. If the height of the target block O is equal to the height of the adjacent block WL, the context determination unit 32 determines that there is no horizontal dividing line that touches the left side of the target block O.
- the context determination unit 32 refers to the division-related information of the target block O and the adjacent block WA, compares the width widthCurr of the target block O with the width widthAbove of the adjacent block WA including the adjacent block A, and It is determined whether or not the width widthCurr of O is larger than the width widthAbove of the adjacent block WA.
- the determination formula is shown below.
- the adjacent block WA is a block formed through vertical division more times than the target block O. It is determined that there is a parting line in contact with the upper side of.
- the target block O is smaller than the width of the adjacent block WA, the target block O is a block formed through vertical division more times than the adjacent block WA. It is determined that there is no dividing line in contact with the upper side of the block O.
- the context determination unit 32 determines that there is no dividing line in contact with the upper side of the target block O.
- FIG. 17 is a diagram for explaining S1202 of the context determination method of the present embodiment, and shows a target block O, an adjacent block WL, and an adjacent block WA.
- the target block O is adjacent to the adjacent block WL on the left side.
- the target block O is adjacent to the adjacent block WA on the upper side.
- the adjacent block WL includes a point L (xPb ⁇ 1, yP) in contact with the left side of the target block O, and the adjacent block WA has a point A (xPb, yPb-1).
- the numbers in each block in FIG. 17 indicate division-related information (depth).
- the context determination unit 32 derives vertical division (up and down) splitVertically and horizontal division (left and right) splitHorizontally, which are respectively divided into horizontal division flags horSplit, You may call it the vertical split flag verSplit.
- the relationship of equivalent flags is summarized as follows.
- splitLeft splitLeft
- splitHorizonally horizontal split
- the context determination unit 32 compares the depth depthLeft of the adjacent block WL with the depth depthCurr of the target block O with reference to the division-related information of the adjacent block WL and the target block O acquired in S1201. It is determined whether or not the depth depthLeft of the block WL is larger than the depth depthCurr of the target block O.
- the determination formula is shown below.
- splitLeft depthLeft> depthCurr? 1: 0
- the context determination unit 32 refers to the division related information of the adjacent block WA and the target block O acquired in S1201, compares the depth depthAbove of the adjacent block WA with the depth depthCurr of the target block O, and It is determined whether the depth depthAbove is larger than the depth depthCurr of the target block O.
- the determination formula is shown below.
- splitAbove depthAbove> depthCurr? 1: 0
- the context determination unit 32 refers to the comparison result splitLeft and splitAbove, and derives a context ctxIdxSplit indicating whether or not to divide the target block, for example, by the following expression.
- ctxIdxSplit splitLeft + splitAbove
- the CN information decoding unit 10 can reduce the code amount by comparing the depths of the adjacent block and the target block and switching the context.
- the reason for such setting is that when the adjacent block WA or the adjacent block WL is finely divided, the target block O is highly likely to be divided.
- a method for deriving the context ctxIdxSplit indicating the probability necessary for encoding or decoding the split flag (qt_split_flag, bt_split_flag, pt_split_flag) of the target block with reference to the split related information (depth) of the adjacent block Then, the method 1 is described).
- the depth of the target block and the adjacent block is compared, and 1 or 0 is expressed as to whether or not the depth of the adjacent block is larger than the depth of the target block, so the processing is simple.
- the depth difference, depth difference and block size difference are not used, there is a problem that context accuracy is not good. More specifically, when the depth of the adjacent block is much larger than the depth of the target block (for example, the depth difference is larger than 1), the depth of the adjacent block is slightly larger than the depth of the target block. The target block is more easily divided than (for example, the depth difference is 1). Similarly, when the depth of the adjacent block is smaller than the depth of the target block (for example, the depth difference is ⁇ 1), the depth of the target block and the adjacent block is equal (for example, the depth difference is 0). However, the target block is difficult to be divided.
- FIG. 18 is a flowchart showing an example of a context determination method by the image decoding device 31 or the image encoding device 11. The difference from FIG. 12 is S1402 and S1403.
- the context determination unit 32 determines the division related information of the target block (target CN) and the division related information of the adjacent block (adjacent CN) adjacent to the target CN as the CN information decoding unit 10. Get from.
- the target block and the adjacent block may be CU, PU, or TU.
- the context determination unit 32 derives a difference value of the division related information from the obtained division related information of the target block and two adjacent blocks.
- the context determination unit 32 determines the context from the result of adding the derived two difference values.
- the CN information decoding unit 10 decodes a division flag indicating whether or not to divide the target block from the CN information in accordance with the context determined by the context determination unit 32.
- the context determination unit 32 acquires the division related information of the target block (target CN) and the division related information of the adjacent block (adjacent CN) adjacent to the target CN. .
- the context determination unit 32 derives a difference value of the division related information from the obtained division related information of the target block and two adjacent blocks.
- the context determination unit 32 determines the context from the result of adding the derived two difference values.
- CN information encoding section 1042 encodes a division flag indicating whether or not to divide the target block according to the context determined by context determination section 32.
- the difference value diffDepth0 between the depth depthCurr of the target block and the depth depthAbove of the adjacent block WA, and the difference value diffDepth1 of the depth depthCurr of the target block and the depth depthLeft of the adjacent block WL are derived using the following equations.
- diffDepth0 depthAbove-depthCurr
- diffDepth1 depthLeft-depthCurr
- ctxIdxSplit diffDepth0 + diffDepth1
- (2) in FIG. 19 are examples showing the context ctxIdxSplit derived using the method 1 and the specific example 5 with respect to the depth of the target block O and the upper adjacent block WA.
- the number in each block in FIG. 19 represents the depth.
- the target block O and the upper adjacent block WA will be described, but the same applies to the target block O and the left adjacent block WL, and description thereof will be omitted.
- the depth of the adjacent block WA is larger than the depth of the target block O (a)
- Example 5 since the difference between the depth of the adjacent block WA and the depth of the target block O is taken, diffDepth0 of (a), (b), (c), and (d) is 4, 2, 0, -2, respectively. It is. Therefore, the context of Example 5 can be derived with higher accuracy.
- diffDepth0 of (a), (b), (c), and (d) is 3, 2, 1, 0, respectively. is there. Therefore, the context of Example 5 can be derived with higher accuracy.
- the block size indicates the width of the block, the height of the block, or both the width and height of the block.
- the product or sum of the block width and height may be used as the block size.
- the difference value diffSize0 between the logarithmic value log2widthCurr of the target block and the logarithmic value log2widthAbove of the adjacent block WA, and the logarithmic value log2heightCurr of the target block height and the logarithm value log2heightLeft of the adjacent block WL height.
- the difference value diffSize1 is derived using the following equation.
- diffSize0 log2widthCurr-log2widthAbove
- diffSize1 log2heightCurr-log2heightLeft
- the difference values diffDepth0, diffDepth1, diffSize0, and diffSize1 are derived by the same method as in the specific example 5 and the specific example 6, and the difference between the depth and the block size is obtained by the following equations.
- diffDepth diffDepth0 + diffDepth1
- diffSize diffSize0 + diffSize1
- S1402 the context is derived from the two difference values diffDepth and diffSize derived in S1402 as follows.
- diffTmp 3 * log2widthCurr + 3 * log2heightCurr-2 * log2widthAbove-log2heightAbove-log2widthLeft-2 * log2heightLeft
- diffTmp 3 * log2widthCurr + 3 * log2heightCurr-2 * log2widthAbove-log2heightAbove-log2widthLeft-2 * log2heightLeft
- diffTmp (3 * log2widthCurr + 3 * log2heightCurr-2 * log2widthAbove-log2heightAbove-log2widthLeft-2 * log2heightLeft)
- 1 ctxIdxSplit diffTmp It is good.
- the most important 1) log2heightLeft and log2widthAbove weights can be set as W1
- the less important 2) log2widthLeft and log2heightAbove weights can be set as W2
- the addition of division related information is expressed by the following equation.
- (1) in FIG. 20 is a diagram illustrating a positional relationship between the target block O and three adjacent blocks WA, WL, and WAR.
- the depth valueCurrCurr of the target block, the depth depthAbove of the adjacent block WA, the depth depthLeft of the adjacent block WL, and the difference values diffDepth0, diffDepth1, and diffDepth2 of the depth depthAboveRight of the adjacent block WAR are derived using the following equations.
- a context is derived from the three difference values diffDepth0, diffDepth1, and diffDepth2 derived in S1402.
- FIG. 20 is a figure which shows the positional relationship of the object block O and four adjacent blocks WA, WL, WAR, and WBL.
- the difference values diffDepth0, diffDepth2, diffDepth3 of depth depthCurr of the target block, the depth depthAbove of the adjacent block WA, the depth depthLeft of the adjacent block WL, the depth depthAboveRight of the adjacent block WAR, and the depth depthBottomLeft of the adjacent block WBL are obtained. Derived using the following equation.
- diffDepth0, diffDepth1, diffDepth2, and diffDepth3 depthBottomLeft-depthCurr
- the difference value may be derived using another calculation method.
- the difference value is calculated by the following equation in S1402 of FIG.
- ctxIdxSplit diffDepth0 + diffDepth1
- the difference value is calculated by the following equation in S1402 of FIG.
- FIG. 21 is a flowchart showing another example of the context determination method by the image decoding device 31 or the image encoding device 11. The difference between the flowcharts of FIGS. 18 and 21 is S1403 and S1703. Since the other steps are the same, description thereof is omitted.
- the context determination unit 32 determines the context by adding the two difference values calculated in S1402. In S1703, the context determination unit 32 determines the context using the maximum difference value among the difference values calculated in S1402. . This process is expressed by the following equation.
- S1402 is as follows.
- diffDepth0 availableAbove? (depthAbove-depthCurr): 0
- availableAbove and availableLeft indicate the availability of the upper adjacent block and the left adjacent block of the target block, and are 1 if there is an adjacent block and 0 if there is no adjacent block.
- the availability check is not limited to the specific example 5 for deriving the depth difference value, but when the size difference value such as the specific examples 6 to 9 is derived, or both the depth difference value and the size difference value are obtained. It can also be applied when used.
- the procedure is as follows.
- Specific examples 5 to 8 are techniques for improving the accuracy of the context by finely setting the context of the division flag using the difference between the division related information of the target block and the adjacent block. However, if the difference values of the division related information are simply added, the values taken by the context become very wide when the block size is large.
- the possible depth values are 0 (corresponding to 128x128) to 11 (4x4), and the difference value range is -22 to 22.
- An increase in the value of the context invites complication of entropy encoding and decoding processing, and is also not preferable because it requires a large amount of table memory.
- a normal context is allocated to an integer greater than or equal to 0, it is not preferable that a negative number occurs. Therefore, a technique for limiting the range of context values by performing clipping, mapping, offset addition, multiplication, shift operation, etc. in the process of deriving the context will be described.
- the context determination unit 32 calculates the difference value of the division related information in S1402 and derives the context from the result of adding the plurality of difference values in S1403.
- the depth is used as the division related information and the specific example 5 is extended.
- the method of extending the specific examples 6 or 7 using the division related information as the block size or both the depth and the block size. Since the same method can be applied to the above, description thereof is omitted. Also, clipping and mapping can be similarly applied to the method using the maximum value described with reference to FIG.
- Clipping is performed on the result of adding the depth difference value diffDepth0 between the target block O and the adjacent block WA and the depth difference value diffDepth1 between the target block O and the adjacent block WL as shown in the following equation.
- offsetD is an offset for making the zero point position (center) of the depth difference value correspond to the vicinity of the center element of the table ctxTbl. Clipping from 0 to THDmax is performed to reduce the number of necessary table entries, and THDmax + 1 is the maximum number of table entries.
- (1) in FIG. 22 is a flowchart illustrating an operation of clipping after adding the difference value.
- (1) in FIG. 22 is the same as FIG. 18 except that the processing in S1403 in FIG. 18 is changed to S18031, S18041, and S1805, and a description thereof will be omitted.
- the context determination unit 32 adds the difference values derived in S1402.
- the context determination unit 32 clips the added value by the method (c1).
- the context determination unit 32 derives a context using the clipping result.
- Clipping is performed on the depth difference value diffDepth0 of the target block O and the adjacent block WA and the depth difference value diffDepth1 of the target block O and the adjacent block WL as shown in the following equation.
- diffDepth0 clip3 (-offsetD, offsetD, depthAbove-depthCurr)
- diffDepth1 clip3 (-offsetD, offsetD, depthLeft-depthCurr) (c2)
- diffTmp diffDepth0 + diffDepth1 + (offsetD ⁇ 1)
- ctxIdxSplit ctxTbl [diffTmp]
- diffDepth0 clip3 (-offsetD1, offsetD1, depthAbove-depthCurr)
- diffDepth1 clip3 (-offsetD1, offsetD1, depthLeft-depthCurr)
- diffTmp clip3 (0, THDmax, diffDepth0 + diffDepth1 + (offsetD1 ⁇ 1))
- ctxIdxSplit ctxTbl [diffTmp]
- (3) in FIG. 22 is the same as (2) in FIG. 22 except that S1806 is added between S18042 and S1805 in (2) in FIG. In S1806, the context determination unit 32 performs clipping by the method (c3).
- ctxTbl [] ⁇ 0, 0, 0, 1, 2, 2 ⁇ that maps to the three values 0,1,2
- ctxTbl [] ⁇ 0, 0, 0, 1, 2, 3 ⁇ mapping to the four values 0,1,2,3 Is particularly suitable.
- a table is used for mapping the difference value addition result to the context value, but in addition to the mapping using the table, a method of deriving the context by comparing the addition result and a predetermined threshold as in the following equation But you can.
- Example 1 diffTmp (diffDepth0 + diffDepth1) / 2
- Example 2 diffTmp (diffDepth0 + diffDepth1) >> 1
- Example 3 diffTmp (diffDepth0 + diffDepth1) * 3 >> 2
- the context may be derived from the added value of the difference values using a combination of availability check, clipping, mapping, and four arithmetic operations.
- the difference values diffDepth0, diffDepth1, diffSize0, and diffSize1 between the depth and size adjacent to the top and left are derived and then clipped. Further, from the difference value addition, a depth difference value diffTmpD and a size difference value diffTmpS are derived, and the average value diffTmp is used as an index to derive a context by mapping using a table.
- the image encoding device 11 includes a CN information encoding unit (not shown) in place of the CN information decoding unit 10 and a context determination unit 32, and a division flag (indicating whether or not to divide the target block)
- a CN information encoding unit (not shown) in place of the CN information decoding unit 10 and a context determination unit 32, and a division flag (indicating whether or not to divide the target block)
- the context of a QT division flag, a BT division flag, or a TT division flag is derived.
- the context determination unit 32 includes division-related information on a target block that has not yet been divided, and division-related information on adjacent blocks that are adjacent to the target block and have already been divided. And get.
- the context determination unit 32 refers to the division-related information of the target block and the adjacent block, and specifies the division status of the adjacent block, so that there is a division line of the adjacent block that touches each side of the target block. It is determined whether or not to do.
- the context determination unit 32 determines a context according to the determination.
- the CN information encoding unit encodes a division flag indicating whether or not to divide the target block in accordance with the context determined by the context determination unit 32.
- the image decoding device 31 determines the context of the division information (division flag) of the target block with reference to the division status of one or more adjacent blocks adjacent to the target block. Then, the division information of the target block is decoded using the context. Further, the image decoding device 31 according to the present embodiment refers to the partition number, horizontal depth, vertical depth, or size of the adjacent block, and specifies the presence / absence of the dividing line of the adjacent block by specifying the division status of the adjacent block. The context is determined by referring to the determination.
- the image encoding device 11 and the image decoding device 31 refer to the division related information of one or a plurality of adjacent blocks adjacent to the target block for the context of the target block division information (division flag).
- the division information of the target block is encoded or decoded using the context.
- the division status of adjacent blocks is determined with reference to the depth or block size as the division-related information, and the context is determined with reference to the determination.
- the division related information of the adjacent blocks is reflected more accurately, and the context can be determined with high accuracy. Thereby, a more appropriate context can be determined.
- the division related information of the target block and the division related information of the adjacent block are different, that is, if there is a block whose depth is equal to or less than the target block in the adjacent block, the division is always Without being determined to be easy to be performed, it is possible to determine whether or not it is likely to be divided according to the difference value. Therefore, the code amount of the division information can be reduced in the image encoding device and the image decoding device.
- An image decoding apparatus is an image decoding apparatus that decodes a picture for each block, refers to a result of comparing division-related information of one or more adjacent blocks adjacent to the target block, A context determination unit that determines a context of block division information, and a division information decoding unit that decodes the division information of the target block using the context determined by the context determination unit.
- the division information is a division flag indicating whether or not to divide the target block, and the division-related information is a block depth.
- the division information is a division flag indicating whether to divide the target block, and the division-related information is a block size.
- the division information is a division flag indicating whether or not to divide the target block
- the division-related information is a block depth and a block size.
- the result of comparison of the division related information is an addition value of the difference value between the division related information of the target block and the division related information of the adjacent block.
- the result of comparing the division related information is the maximum value of the difference values between the division related information of the target block and the division related information of the adjacent block.
- An image encoding apparatus refers to a result of comparing division-related information of one or more adjacent blocks adjacent to a target block in an image encoding apparatus that encodes a picture for each block.
- a context determination unit that determines the context of the division information of the target block, and a division information encoding unit that encodes the division information of the target block using the context determined by the context determination unit.
- the division information is a division flag indicating whether or not to divide the target block, and the division-related information is a block depth.
- the division information is a division flag indicating whether or not to divide the target block, and the division-related information is a block size.
- the division information is a division flag indicating whether or not to divide the target block
- the division-related information is a block depth and a block size.
- the result of comparing the division related information is an addition value of the difference value between the division related information of the target block and the division related information of the adjacent block.
- the result of comparing the division related information is a maximum difference value between the division related information of the target block and the division related information of the adjacent block.
- Embodiment 2 The following describes Embodiment 2 of the present invention with reference to the drawings.
- the image decoding device 31 and the image encoding device 11 according to the first embodiment can be similarly used. Therefore, for convenience of description, description of members having the same functions as those described in the above embodiment is omitted.
- the context determination unit 32 derives a context of a division flag indicating whether to divide a color difference block that has not yet been divided. For this purpose, the context determination unit 32 derives a context by referring to a luminance block corresponding to the color difference block and already divided and decoded.
- the context determination unit 32 corresponds to a color difference block (color difference CB (target block related to the first color component)), and has already been divided and decoded by the CN information decoding unit 10 (luminance CB ( The division related information of the corresponding block)) regarding the second color component is acquired from the CN information decoding unit 10.
- the color difference CB is a target block (target CB) before decoding the division flag indicating whether or not the color difference CB is to be divided
- the luminance CB is a corresponding block (corresponding CB) corresponding to the target block.
- the target block related to the first color component may be the luminance CB
- the corresponding block related to the second color component may be the color difference CB.
- the context determination unit 32 refers to the obtained luminance CB division-related information and identifies the division status of the luminance CB corresponding block (corresponding CB), thereby determining the corresponding CB. It is determined whether or not a dividing line exists.
- the context determination unit 32 determines the context of the target CB according to the determined presence or absence of the corresponding CB.
- the context in the present embodiment is a context indicating whether or not to decode a QT division flag indicating whether or not to subject the target CB to QT division.
- FIG. 24 is a flowchart for explaining an example of a context determination method by the image decoding device 31 according to the present embodiment. Note that detailed description of the same steps as those in the context determination method according to the first embodiment is omitted.
- the context determination unit 32 acquires from the CN information decoding unit 10 the division related information of the luminance CB (luminance block) corresponding to the color difference CB (color difference block) and already divided and decoded by the CN information decoding unit 10 (step S10).
- the context determination unit 32 determines whether or not there is a dividing line in the corresponding CB by specifying the division status of the luminance CB (corresponding CB) with reference to the obtained division-related information of the luminance CB. (Step S11). The specific method of step S11 will be described later.
- the context determination unit 32 determines the context of the color difference CB (target CB) according to whether or not the determined luminance CB (corresponding CB) is divided (step S12). The specific method of step S12 will be described later.
- the CN information decoding unit 10 decodes a QT division flag indicating whether or not the target CB is to be QT-divided from the CN information included in the CN according to the context of the color difference CB (target CB) determined by the context determination unit 32 (Step S13).
- FIG. 25 is a diagram for explaining step S11 of the context determination method of this example.
- 25A shows the color difference CB
- FIG. 25B shows the luminance CB.
- the luminance CB includes a block KA and a block KB. Further, the upper left point coordinate of the block KA is set as a point KAR, and the lower right point coordinate of the block KB is set as a point KBR.
- the context determination unit 32 refers to the division-related information of the luminance CB, the partition number (partId_AboveLeft) of the block KA including the upper left point KAR of the luminance CB shown in FIG. It is determined whether or not the partition number (partId_LowerRight) of the block KB including the lower right point KBR of the luminance CB is different.
- the context determination unit 32 determines the result of the determination itself as the context of the color difference CB division flag. The formula of the context is shown below.
- ctxIdxSplit is ctxIdxQT.
- ctxIdxSplit is ctxIdxBT.
- ctxIdxSplit is ctxIdxPT.
- the context determination unit 32 determines that a dividing line exists between the point KAR and the point KBR.
- the partition number of the block including the upper left point KAR of the luminance CB and the partition number of the block including the lower right point KBR of the luminance CB are the same, the point KAR and the point KBR are respectively the same block. Since it is included, the context determination unit 32 determines that there is no dividing line between the point KAR and the point KBR.
- FIG. 26 is a diagram for explaining step S11 of the context determination method of this example.
- 26A shows the color difference CB (target CB)
- FIG. 26B shows the luminance CB (corresponding CB).
- the luminance CB includes a block KA and a block KC.
- the upper left point coordinate of the block KA is set as a point KAR
- the lower left point coordinate of the block KA is set as a point KAL.
- the point coordinates on the upper right of the block KC are set as a point KCR.
- the context determination unit 32 includes the partition number (partId_AboveLeft) of the corresponding block including the upper left point KAR of the luminance CB shown in FIG. 26B and the upper right point KCR of the luminance CB. It is determined whether or not the partition number (partId_AboveRight) of the block is different.
- the determination formula is shown below.
- the context determination unit 32 determines whether or not the partition number (partId_AboveLeft) of the block including the upper left point KAR of the luminance CB is different from the partition number (partId_LowerLeft) of the block including the lower left point KAL of the luminance CB. Determine. The determination formula is shown below.
- the context determination unit 32 determines that a dividing line exists between the point KAR and the point KCR.
- the partition number of the block including the upper left point KAR of the luminance CB and the partition number of the block including the upper right point KCR of the luminance CB are the same, the point KAR and the point KCR are included in the same block, respectively. Therefore, the context determination unit 32 determines that there is no dividing line between the point KAR and the point KCR.
- the context determination unit 32 determines that a dividing line exists between the point KAR and the point KAL.
- the partition number of the block including the upper left point KAR of the luminance CB and the partition number of the block including the lower left point KAL of the luminance CB are the same, the point KAR and the point KAL are included in the same block, respectively. Therefore, the context determination unit 32 determines that there is no dividing line between the point KAR and the point KAL.
- FIG. 27 is a diagram for explaining step S11 of the context determination method of this example.
- 27A shows the color difference CB (target CB)
- FIG. 27B shows the luminance CB (corresponding CB).
- the luminance CB includes a block KA, a block KB, and a block KC.
- the upper left point coordinate of the block KA is set as a point KAR
- the lower left point coordinate of the block KA is set as a point KAL.
- the lower right point coordinates of the block KB are set as a point KBR.
- the point coordinates on the upper right of the block KC are set as a point KCR.
- the context determination unit 32 determines the partition number (partId_AboveLeft) of the block including the upper left point KAR of the luminance CB shown in FIG. 27B and the block including the upper right point KCR of the luminance CB. It is determined whether or not the partition number (partId_AboveRight) is different.
- the context determination unit 32 also includes the partition number (partId_LowerLeft) of the block including the lower left point KAL of the luminance CB shown in FIG. 27B and the partition number of the block including the lower right point KBR of the luminance CB ( It is determined whether or not (partId_LowerRight) is different.
- the context determination unit 32 refers to these determinations and calculates splitHorizontally represented by the following equation.
- the context determination unit 32 determines whether the partition number (partId_AboveLeft) of the block including the upper left point KAR of the luminance CB is different from the partition number (partId_LowerLeft) of the block including the lower left point KAL of the luminance CB. Determine.
- the context determination unit 32 determines whether the partition number (partId_AboveRight) of the block including the upper right point KCR of the luminance CB is different from the partition number (partId_lowerRight) of the block including the lower right point KBR of the luminance CB. Determine whether.
- the context determining unit 32 refers to these determinations and calculates splitVertically expressed by the following equation.
- the context determination unit 32 determines that a dividing line exists between the point KAR and the point KCR.
- the context determination unit 32 determines that there is no dividing line between the point KAR and the point KCR.
- the context determination unit 32 determines that a dividing line exists between the point KAL and the point KBR.
- the partition number of the block including the lower left point KAL of the luminance CB and the partition number of the block including the lower right point KBR of the luminance CB are respectively the same block. Since it is included, the context determination unit 32 determines that there is no dividing line between the point KAL and the point KBR.
- the context determination unit 32 determines that a dividing line exists between the point KAR and the point KAL.
- the partition number of the block including the upper right point KCR of the luminance CB and the partition number of the block including the lower right point KBR of the luminance CB are the same, the point KCR and the point KBR are respectively the same block. Since it is included, the context determination unit 32 determines that there is no dividing line between two different blocks between the point KCR and the point KBR.
- the point KAR and the point KCR are included in different blocks KA and KC, respectively, and the partition number is different between the block KA and the block KC.
- splitVertically or splitHorizontally is 1 or 2 (that is, when there is at least one dividing line)
- splitVertically or splitHorizontally is set to 1.
- the formula when ctxIdxSplit takes three values from 0 to 2 is shown below.
- ctxIdxSplit splitVertically? 1: 0 + splitHorizontally? 1: 0 Or, when splitVertically + splitHorizontally is 3 or more as in the following equation, ctxIdxSplit may be set to 2.
- the configuration of the image decoding device 31 according to the present embodiment can also be applied to the image encoding device 11.
- the image encoding device 11 includes a CN information encoding unit (not shown) in place of the CN information decoding unit 10 and a context determination unit 32, and a division flag (indicating whether or not to divide the target block)
- a QT division flag, a BT division flag, or a TT division flag is derived.
- the context determination unit 32 acquires the division related information of the luminance block (corresponding block) corresponding to the color difference block (target block) and already divided. Next, the context determination unit 32 determines whether or not a division line exists in the corresponding block by specifying the division state of the corresponding block. Next, the context determination unit 32 determines the context of the division flag of the target block according to the determination. Next, the CN information encoding unit encodes a division flag indicating whether or not to divide the target block according to the context determined by the context determination unit 32.
- the image decoding device 31 uses the context of the division information (division flag) of the target block relating to the first color component as the division status of the corresponding block relating to the already decoded second color component. And the division information of the target block relating to the first color component is decoded using the context. Thus, the division information of the target block is decoded according to the division status of the corresponding block.
- the image decoding device 31 refers to the partition number of the corresponding block, identifies the corresponding block division state for the second color component, and thereby divides the corresponding block for the second color component.
- the presence / absence of a line is determined, and with reference to the determination, the context of the division flag of the target block related to the first color component is determined. Accordingly, it is possible to determine a more appropriate context because the partition number of the first component is determined with reference to the partition number of the corresponding block related to the second color component. Therefore, the code amount of the division information can be reduced in the image decoding apparatus.
- Embodiment 3 of the present invention will be described below with reference to the drawings.
- the image decoding device 31 and the image encoding device 11 according to the first embodiment can be similarly used. Therefore, for convenience of description, description of members having the same functions as those described in the above embodiment is omitted.
- a context is derived by the same method as the context determination method according to the first embodiment.
- the context in the present embodiment is a context of a direction flag (division mode) indicating the division direction of the target block.
- the context determination unit 32 determines the presence / absence or division direction of adjacent blocks by a method similar to that of the first embodiment, and derives the context of the BT direction flag for the target block based on the determination.
- the CN information decoding unit 10 determines from the CN information included in the CN according to a context (to be described later) whether or not to decode a BT direction flag (partition information in the claims) indicating a BT division method of the target CN. The BT direction flag is decoded. Then, the CN information decoding unit 10 recursively divides and decodes the target CN by the division method indicated by the BT direction flag until the BT direction flag stops reporting further division. Finally, the tree unit footer CTUF is decoded from the CTU information.
- a BT direction flag partition information in the claims
- the context determination unit 32 includes the division-related information of the target CN that has not yet been divided by the CN information decoding unit 10 and the adjacent that is adjacent to the target CN and has already been divided and decoded by the CN information decoding unit 10 CN division-related information and CN information decoding unit 10 are acquired.
- the context determination unit 32 refers to the obtained partition number, horizontal depth, vertical depth, or size of the adjacent CN, and specifies the division status of the adjacent block, thereby determining whether or not the adjacent block is divided or divided. Determine the direction.
- the context determination unit 32 determines the context of the direction flag (division mode) indicating the division direction of the target block according to the determined presence / absence of division or the direction of division.
- the context determined by the context determination unit 32 is output to the CN information decoding unit 10 described above.
- FIG. 28 is a flowchart for explaining an example of a context determination method by the image decoding device 31 according to this aspect. Note that detailed description of steps similar to those in the context determination method according to the first and second embodiments is omitted.
- the context determination unit 32 adjoins the target CN (target block) that has not yet been divided by the CN information decoding unit 10 and the adjacent CN (which is adjacent to the target CN and has already been divided and decoded by the CN information decoding unit 10. Adjacent block) is acquired from the CN information decoding unit 10 (step S20).
- the context determination unit 32 refers to the partition number, horizontal depth, vertical depth, or size of the target CN and adjacent CN, and specifies the division status of the adjacent block, thereby determining whether or not the adjacent block is divided or divided.
- the direction is determined (step S21). The specific method of step S21 will be described later.
- step S22 determines the context according to the determined presence / absence of the division or the division direction. The specific method of step S22 will be described later.
- the CN information decoding unit 10 decodes the BT direction flag indicating the BT division method of the target CN from the information included in the CN according to the context determined by the context determination unit 32 (step S23).
- the context determination unit 32 sets splitHorizontally and splitVertically, which are the results of determining the presence or absence of a dividing line, in step S21, as in the specific example of the first embodiment.
- SplitHorizontally and splitVertically in Specific Example 1 of this aspect are obtained by the same method as splitHorizontally and splitVertically in each specific example of Embodiment 1. Therefore, the detailed description of the process about splitHorizontally and splitVertically in step S21 is omitted.
- the context determination unit 32 refers to the width that is the width of the target block and the height that is the height of the target block as the division related information.
- FIG. 29A is a table for explaining a method of determining a context with reference to splitHorizontally and splitVertically.
- horizontal division vertical division
- vertical division horizontal division
- horizontal division vertical division
- horizontal division horizontal division
- vertical division vertical division
- step S22 the context determination unit 32 determines the context (ctxIdxDir) by determining whether splitHorizontally is greater than splitVertically.
- the determination formula is shown below.
- the adjacent block (or corresponding block) is split horizontally (vertically split / verSplit), and the target block is also likely to be split horizontally (vertically split) This indicates that there is a high possibility that the CN information decoding unit 10 decodes the direction flag indicating whether or not to divide the target block horizontally (vertical division).
- the adjacent block (or corresponding block) is executed the same number of times in both horizontal division and vertical division, so the CN information decoding unit 10 has an equal probability of the direction flag of vertical division or horizontal division of the target block Indicates that there is a high possibility of decoding.
- ctxIdxDir 2
- the adjacent block (or corresponding block) is divided vertically (horizontal division, divided vertically), and the target block is also likely to be divided vertically (horizontal division).
- 10 indicates that there is a high possibility of decoding a direction flag indicating whether or not the target block is divided vertically (horizontal division).
- FIG. 29B is a table for explaining a method of preferentially referring to splitHorizontally and splitVertically and determining a context by referring to width and height.
- step S22 the context determination unit 32 determines the context (ctxIdxDir) by determining whether splitHorizontally is greater than splitVertically. Then, when the context determination unit 32 cannot determine whether splitHorizontally is greater than splitVertically (for example, when splitHorizontally is equal to splitVertically), the context determination unit 32 determines whether width is greater than height. To determine the context (ctxIdxDir). The equations for these determinations are shown below.
- ctxA, ctxB, and ctxC are values for specifying a contest.
- the context determination unit 32 determines whether splitHorizontally is greater than splitVertically. If splitHorizontally is greater than splitVertically, as shown in FIG.
- FIG. 29C is a table for explaining a method of preferentially referring to width and height and determining a context with reference to splitHorizontally and splitVertically.
- step S22 the context determination unit 32 determines the context (ctxIdxDir) by determining whether or not width is greater than height. Then, the context determination unit 32 determines whether or not splitHorizontally is greater than splitVertically when it is not possible to determine whether or not width is greater than height (for example, when width and height are equal). To determine the context (ctxIdxDir). The equations for these determinations are shown below.
- FIG. 29D is a table for explaining an example in which the context value takes five levels of 0 to 4.
- the context determination unit 32 determines whether splitHorizontally is larger than splitVertically. If splitHorizontally is not greater than splitVertically, the context determination unit 32 further determines whether splitHorizontally and splitVertically are equal. Further, the context determination unit 32 determines whether or not width is greater than height. If width is not greater than height, it is further determined whether width and height are equal. Then, the context determination unit 32 determines the context (ctxIdxDir) by referring to the determination using splitHorizontally and splitVertically and the determination using width and height. The equations for these determinations are shown below.
- the context determination unit 32 first determines whether splitHorizontally is greater than splitVertically. If splitHorizontally is greater than splitVertically, the context component based on the determination using splitHorizontally and splitVertically is set to 2. To do. If splitHorizontally is not greater than splitVertically, the context determination unit 32 further determines whether splitHorizontally and splitVertically are equal.
- the context determination unit 32 sets the component of the context by determination using splitHorizontally and splitVertically to 1. When splitHorizontally and splitVertically are not equal, the context determination unit 32 sets the component of the context by the determination using splitHorizontally and splitVertically to 0.
- the context determination unit 32 determines whether or not the width is greater than the height. If the width is greater than the height, the context component based on the determination using the width and the height is set to 2. When width is not larger than height, the context determination unit 32 further determines whether or not width and height are equal. When width and height are equal, the context determination unit 32 sets the component of the context based on the determination using width and height to 1. When width and height are not equal, the context determination unit 32 sets the component of the context by determination using width and height to 0.
- the context determination unit 32 determines ctxIdxDir by adding the context component based on the determination using splitHorizontally and splitVertically and the context component based on the determination using width and height.
- the ctxIdxDir determined by this can take a value of 0-4. The closer ctxIdxDir is to 4, the higher the possibility that the adjacent block (or corresponding block) is divided horizontally (vertically divided), and the possibility that the target block is also divided horizontally is high.
- the CN information decoding unit 10 Indicates that there is a high possibility of decoding a direction flag indicating whether or not to divide the target block horizontally.
- the determination formula in that case is shown below.
- it is as follows when expressed using verSplit and horSplit.
- the context determination unit 32 determines the context (ctxIdxDir) of the BT division direction flag (bt_dir_flag) has been described.
- the context obtained by this method is assumed to be used when the image decoding device 31 according to the present embodiment decodes the BT division flag (bt_split_flag) and then decodes the BT division direction flag (bt_dir_flag). .
- the image decoding apparatus 31 instead of decoding the BT split flag (bt_split_flag) and the BT split direction flag (bt_dir_flag), a split flag (bt_split_vertically_flag / bt_hor_split_flag) indicating whether to split vertically or not A split flag (bt_split_horizontally_flag / bt_ver_split_flag) indicating whether or not to split horizontally may be decoded.
- the first bit specifies whether or not horizontal division is performed (whether or not the image is divided vertically), and the second bit specifies whether or not vertical division is performed (whether or not the image is divided horizontally). May be. In that case, when there is no vertical division and horizontal division, there can be no division.
- the vertical division flag is a flag indicating whether or not the target block is divided horizontally.
- the horizontal division flag is a flag indicating whether or not the target block is divided vertically.
- ctxIdxBTVertically 1 indicates that the possibility that the target block is divided vertically is low, and that the CN information decoding unit 10 is unlikely to decode the direction flag of the target block vertically. The determination formula is shown below.
- ctxIdxBTVHorizontally 0 indicates that the target block is unlikely to be divided horizontally, and the CN information decoding unit 10 is unlikely to decode the direction flag indicating whether the target block is divided horizontally. Yes.
- the determination formula is shown below.
- the image decoding device 31 determines the context of the direction flag indicating the division direction of the target block with reference to the division status of one or more adjacent blocks adjacent to the target block, The direction flag is decoded using the context.
- the direction flag is decoded according to the division status of the adjacent block, there is a possibility that an unnecessary direction flag is decoded when the adjacent block is not divided and there is a high possibility that the target block is not divided. Can be reduced. Therefore, the code amount of the division information can be reduced in the image decoding apparatus.
- the image decoding device 31 refers to the partition number, horizontal depth, vertical depth, or size of the adjacent block, and specifies the division status of the adjacent block, thereby determining the presence or absence of the dividing line of the adjacent block.
- the direction is determined, and the context is determined with reference to the determination.
- the determination reflecting the division related information of the adjacent block can be executed, and a more appropriate context can be determined.
- the context is derived by the same method as the context determination method according to the second embodiment.
- the context in the present embodiment is a context of a direction flag indicating the division method of the target block.
- the context determination unit 32 determines the presence / absence or division direction of the corresponding block by specifying the division status of the corresponding block by a method similar to that of the second embodiment, and based on the determination, The context of the direction flag of the target block is derived.
- the CN information decoding unit 10 according to aspect 2 of the third embodiment has the same function as the function of aspect 1 of the third embodiment described above.
- the context determination unit 32 corresponds to a color difference block (color difference CB (target block relating to the first color component in the claims)) that has not yet been divided by the CN information decoding unit 10, and a CN information decoding unit
- the CN information decoding unit 10 acquires the division related information of the luminance block (luminance CB (corresponding block relating to the second color component in the claims)) already divided and decoded by 10.
- the context determination unit 32 refers to the acquired luminance CB division-related information and identifies the division status of the luminance CB (corresponding CB) corresponding to the color difference CB (target CB), thereby supporting Determine whether CB is divided or divided.
- the context determination unit 32 determines the context of the direction flag indicating the division direction of the target CB according to the determined division status.
- the context determined by the context determination unit 32 is output to the CN information decoding unit 10 described above.
- FIG. 30 is a flowchart for explaining an example of a context determination method by the image decoding device 31 according to this aspect.
- detailed description is abbreviate
- FIG. 30 is a flowchart for explaining an example of a context determination method by the image decoding device 31 according to this aspect.
- detailed description is abbreviate
- the context determination unit 32 corresponds to the color difference CB (target CB) that has not yet been divided by the CN information decoding unit 10, and the division related information of the luminance CB (corresponding CB) that has already been divided and decoded by the CN information decoding unit 10. Are acquired from the CN information decoding unit 10 (step S30).
- the context determination unit 32 refers to the obtained information related to the division of the luminance CB and specifies the division status of the luminance CB corresponding to the color difference CB, thereby determining the presence or the division direction of the corresponding CB (step S31). ).
- the context determination unit 32 determines the context of the target CB according to the determined presence / absence of the corresponding CB or the division direction (step S32).
- the CN information decoding unit 10 decodes the BT direction flag indicating the BT division method of the target CB from the CN information included in the CN according to the context determined by the context determination unit 32 (step S33).
- the context determination unit 32 can execute the same method as in specific example 1 and specific example 2 of aspect 1 of the third embodiment. Therefore, the detailed description about the specific example of this aspect is abbreviate
- step S31 the context determination unit 32 determines whether or not the corresponding block is split horizontally (vertically divided) and whether or not the corresponding block is vertically split (horizontal split). Set splitVertically to indicate. Then, the context determination unit 32 uses splitHorizontally and splitVertically in the same manner as in specific example 1 and specific example 2 of aspect 1 of the third embodiment, and, if necessary, width that is the width of the target block, By using height which is the height of the target block, the context (ctxIdxDir) of the direction flag indicating the division direction of the target block is determined.
- the image decoding apparatus 31 displays the context of the direction flag indicating the division direction of the target block related to the first color component and the division status of the corresponding block related to the already decoded second color component.
- the direction flag is decoded using the context.
- the image decoding device 31 refers to the partition number of the corresponding block, identifies the corresponding block division status, determines the presence or absence of the dividing line of the corresponding block, or the division direction, and performs the determination.
- the context of the target block is determined with reference. Thereby, since the partition number of the corresponding block is referred to, a more appropriate context that reflects the division related information of the corresponding block can be determined.
- the configuration of the image decoding device 31 according to the present embodiment can also be applied to the image encoding device 11.
- the image encoding device 11 includes a CN information encoding unit (not shown) in place of the CN information decoding unit 10 and a context determination unit 32, and a division direction flag indicating whether or not to divide the target block.
- the context of BT division direction flag or TT division direction flag is derived.
- the context determination unit 32 is associated with the division of the luminance block (corresponding block) that corresponds to the adjacent block of the chrominance block (target block) or the chrominance block and has already been divided. Get information.
- the context determination unit 32 refers to the division-related information, specifies the division status of the adjacent block or the corresponding block, and determines whether there is a division line of the adjacent block or the corresponding block. Alternatively, the determination of the division direction of the adjacent block or the corresponding block is executed.
- the context determination unit 32 determines the context of the division direction flag indicating the division direction of the target block according to the determination.
- the CN information encoding unit encodes a division direction flag indicating the division direction of the target block in accordance with the context determined by the context determination unit 32.
- a part of the image encoding device 11 and the image decoding device 31 in the above-described embodiment for example, the entropy decoding unit 301, the prediction parameter decoding unit 302, the loop filter 305, the predicted image generation unit 308, the inverse quantization / inverse DCT.
- the prediction parameter encoding unit 111 may be realized by a computer.
- the program for realizing the control function may be recorded on a computer-readable recording medium, and the program recorded on the recording medium may be read into a computer system and executed.
- the “computer system” is a computer system built in either the image encoding device 11 or the image decoding device 31 and includes hardware such as an OS and peripheral devices.
- the “computer-readable recording medium” refers to a storage device such as a portable medium such as a flexible disk, a magneto-optical disk, a ROM, a CD-ROM, or a hard disk built in a computer system.
- the “computer-readable recording medium” is a medium that dynamically holds a program for a short time, such as a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line,
- a volatile memory inside a computer system serving as a server or a client may be included and a program that holds a program for a certain period of time.
- the program may be a program for realizing a part of the functions described above, and may be a program capable of realizing the functions described above in combination with a program already recorded in a computer system.
- part or all of the image encoding device 11 and the image decoding device 31 in the above-described embodiment may be realized as an integrated circuit such as an LSI (Large Scale Integration).
- LSI Large Scale Integration
- Each functional block of the image encoding device 11 and the image decoding device 31 may be individually made into a processor, or a part or all of them may be integrated into a processor.
- the method of circuit integration is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor. Further, in the case where an integrated circuit technology that replaces LSI appears due to progress in semiconductor technology, an integrated circuit based on the technology may be used.
- the image encoding device 11 and the image decoding device 31 described above can be used by being mounted on various devices that perform transmission, reception, recording, and reproduction of moving images.
- the moving image may be a natural moving image captured by a camera or the like, or may be an artificial moving image (including CG and GUI) generated by a computer or the like.
- FIG. 8 is a block diagram showing a configuration of a transmission device PROD_A in which the image encoding device 11 is mounted.
- the transmission apparatus PROD_A modulates a carrier wave with an encoding unit PROD_A1 that obtains encoded data by encoding a moving image, and with the encoded data obtained by the encoding unit PROD_A1.
- a modulation unit PROD_A2 that obtains a modulation signal and a transmission unit PROD_A3 that transmits the modulation signal obtained by the modulation unit PROD_A2 are provided.
- the above-described image encoding device 11 is used as the encoding unit PROD_A1.
- Transmission device PROD_A as a source of moving images to be input to the encoding unit PROD_A1, a camera PROD_A4 that captures moving images, a recording medium PROD_A5 that records moving images, an input terminal PROD_A6 for inputting moving images from the outside, and An image processing unit A7 that generates or processes an image may be further provided.
- FIG. 8A illustrates a configuration in which the transmission apparatus PROD_A includes all of these, but some of them may be omitted.
- the recording medium PROD_A5 may be a recording of a non-encoded moving image, or a recording of a moving image encoded by a recording encoding scheme different from the transmission encoding scheme. It may be a thing. In the latter case, a decoding unit (not shown) for decoding the encoded data read from the recording medium PROD_A5 in accordance with the recording encoding method may be interposed between the recording medium PROD_A5 and the encoding unit PROD_A1.
- FIG. 8 is a block diagram showing a configuration of a receiving device PROD_B in which the image decoding device 31 is mounted.
- the receiving device PROD_B includes a receiving unit PROD_B1 that receives the modulated signal, a demodulating unit PROD_B2 that obtains encoded data by demodulating the modulated signal received by the receiving unit PROD_B1, and a demodulator.
- a decoding unit PROD_B3 that obtains a moving image by decoding the encoded data obtained by the unit PROD_B2.
- the above-described image decoding device 31 is used as the decoding unit PROD_B3.
- the receiving device PROD_B is a display destination PROD_B4 for displaying a moving image, a recording medium PROD_B5 for recording a moving image, and an output terminal for outputting the moving image to the outside as a supply destination of the moving image output by the decoding unit PROD_B3 PROD_B6 may be further provided.
- FIG. 8B illustrates a configuration in which all of these are provided in the receiving device PROD_B, but some of them may be omitted.
- the recording medium PROD_B5 may be used for recording a non-encoded moving image, or is encoded using a recording encoding method different from the transmission encoding method. May be. In the latter case, an encoding unit (not shown) for encoding the moving image acquired from the decoding unit PROD_B3 according to the recording encoding method may be interposed between the decoding unit PROD_B3 and the recording medium PROD_B5.
- the transmission medium for transmitting the modulation signal may be wireless or wired.
- the transmission mode for transmitting the modulated signal may be broadcasting (here, a transmission mode in which the transmission destination is not specified in advance) or communication (here, transmission in which the transmission destination is specified in advance). Refers to the embodiment). That is, the transmission of the modulation signal may be realized by any of wireless broadcasting, wired broadcasting, wireless communication, and wired communication.
- a terrestrial digital broadcast broadcasting station (broadcasting equipment, etc.) / Receiving station (such as a television receiver) is an example of a transmitting device PROD_A / receiving device PROD_B that transmits and receives a modulated signal by wireless broadcasting.
- a broadcasting station (such as broadcasting equipment) / receiving station (such as a television receiver) of cable television broadcasting is an example of a transmitting device PROD_A / receiving device PROD_B that transmits and receives a modulated signal by cable broadcasting.
- a server workstation, etc.
- Client television receiver, personal computer, smartphone, etc.
- VOD Video On Demand
- video sharing service using the Internet is a transmission device that transmits and receives modulated signals via communication.
- PROD_A / receiving device PROD_B usually, either a wireless or wired transmission medium is used in a LAN, and a wired transmission medium is used in a WAN.
- the personal computer includes a desktop PC, a laptop PC, and a tablet PC.
- the smartphone also includes a multi-function mobile phone terminal.
- the video sharing service client has a function of encoding a moving image captured by the camera and uploading it to the server. That is, the client of the video sharing service functions as both the transmission device PROD_A and the reception device PROD_B.
- FIG. 9A is a block diagram showing a configuration of a recording apparatus PROD_C equipped with the image encoding device 11 described above.
- the recording apparatus PROD_C includes an encoding unit PROD_C1 that obtains encoded data by encoding a moving image, and the encoded data obtained by the encoding unit PROD_C1 on a recording medium PROD_M.
- the above-described image encoding device 11 is used as the encoding unit PROD_C1.
- the recording medium PROD_M may be of a type built into the recording device PROD_C, such as (1) HDD (Hard Disk Drive) or SSD (Solid State Drive), or (2) SD memory. It may be of the type connected to the recording device PROD_C, such as a card or USB (Universal Serial Bus) flash memory, or (3) DVD (Digital Versatile Disc) or BD (Blu-ray Disc: registration) Or a drive device (not shown) built in the recording device PROD_C.
- HDD Hard Disk Drive
- SSD Solid State Drive
- SD memory such as a card or USB (Universal Serial Bus) flash memory, or (3) DVD (Digital Versatile Disc) or BD (Blu-ray Disc: registration) Or a drive device (not shown) built in the recording device PROD_C.
- the recording device PROD_C is a camera PROD_C3 that captures moving images as a source of moving images to be input to the encoding unit PROD_C1, an input terminal PROD_C4 for inputting moving images from the outside, and a reception for receiving moving images
- a unit PROD_C5 and an image processing unit PROD_C6 for generating or processing an image may be further provided.
- FIG. 9A illustrates a configuration in which the recording apparatus PROD_C includes all of these, but some of them may be omitted.
- the receiving unit PROD_C5 may receive a non-encoded moving image, or may receive encoded data encoded by a transmission encoding scheme different from the recording encoding scheme. You may do. In the latter case, a transmission decoding unit (not shown) that decodes encoded data encoded by the transmission encoding method may be interposed between the reception unit PROD_C5 and the encoding unit PROD_C1.
- Examples of such a recording device PROD_C include a DVD recorder, a BD recorder, and an HDD (Hard Disk Drive) recorder (in this case, the input terminal PROD_C4 or the receiving unit PROD_C5 is a main source of moving images).
- a camcorder in this case, the camera PROD_C3 is a main source of moving images
- a personal computer in this case, the receiving unit PROD_C5 or the image processing unit C6 is a main source of moving images
- a smartphone this In this case, the camera PROD_C3 or the receiving unit PROD_C5 is a main source of moving images
- the like is also an example of such a recording apparatus PROD_C.
- FIG. 9 is a block diagram showing a configuration of a playback device PROD_D equipped with the image decoding device 31 described above.
- the playback device PROD_D reads a moving image by decoding a read unit PROD_D1 that reads encoded data written to the recording medium PROD_M and a read unit PROD_D1 that reads the encoded data. And a decoding unit PROD_D2 to obtain.
- the above-described image decoding device 31 is used as the decoding unit PROD_D2.
- the recording medium PROD_M may be of the type built into the playback device PROD_D, such as (1) HDD or SSD, or (2) such as an SD memory card or USB flash memory. It may be of the type connected to the playback device PROD_D, or (3) may be loaded into a drive device (not shown) built in the playback device PROD_D, such as a DVD or BD. Good.
- the playback device PROD_D has a display unit PROD_D3 that displays a moving image as a supply destination of the moving image output by the decoding unit PROD_D2, an output terminal PROD_D4 that outputs the moving image to the outside, and a transmission unit that transmits the moving image.
- PROD_D5 may be further provided.
- FIG. 9B illustrates a configuration in which the playback apparatus PROD_D includes all of these, but some of them may be omitted.
- the transmission unit PROD_D5 may transmit a non-encoded moving image, or transmits encoded data encoded by a transmission encoding scheme different from the recording encoding scheme. You may do. In the latter case, it is preferable to interpose an encoding unit (not shown) that encodes a moving image using a transmission encoding method between the decoding unit PROD_D2 and the transmission unit PROD_D5.
- Examples of such a playback device PROD_D include a DVD player, a BD player, and an HDD player (in this case, an output terminal PROD_D4 to which a television receiver or the like is connected is a main moving image supply destination).
- a television receiver in this case, the display PROD_D3 is a main supply destination of moving images
- a digital signage also called an electronic signboard or an electronic bulletin board
- the display PROD_D3 or the transmission unit PROD_D5 is the main supply of moving images.
- Desktop PC (in this case, the output terminal PROD_D4 or the transmission unit PROD_D5 is the main video image supply destination), laptop or tablet PC (in this case, the display PROD_D3 or the transmission unit PROD_D5 is a video)
- a smartphone which is a main image supply destination
- a smartphone in this case, the display PROD_D3 or the transmission unit PROD_D5 is a main moving image supply destination
- the like are also examples of such a playback device PROD_D.
- Each block of the image decoding device 31 and the image encoding device 11 described above may be realized in hardware by a logic circuit formed on an integrated circuit (IC chip), or may be a CPU (Central Processing Unit). You may implement
- IC chip integrated circuit
- CPU Central Processing Unit
- each device includes a CPU that executes instructions of a program that realizes each function, a ROM (Read Only Memory) that stores the program, a RAM (Random Access Memory) that expands the program, the program, and various data
- a storage device such as a memory for storing the.
- the object of the embodiment of the present invention is a record in which the program code (execution format program, intermediate code program, source program) of the control program for each of the above devices, which is software that realizes the above-described functions, is recorded in a computer-readable manner This can also be achieved by supplying a medium to each of the above devices, and reading and executing the program code recorded on the recording medium by the computer (or CPU or MPU).
- Examples of the recording medium include tapes such as magnetic tapes and cassette tapes, magnetic disks such as floppy (registered trademark) disks / hard disks, CD-ROMs (Compact Disc Read-Only Memory) / MO discs (Magneto-Optical discs).
- tapes such as magnetic tapes and cassette tapes
- magnetic disks such as floppy (registered trademark) disks / hard disks
- CD-ROMs Compact Disc Read-Only Memory
- MO discs Magnetic-Optical discs
- IC cards including memory cards
- Cards such as optical cards
- Semiconductor memories such as flash ROM, or PLD (Programmable logic device ) Or FPGA (Field Programmable Gate Gate Array) or the like.
- each of the above devices may be configured to be connectable to a communication network, and the program code may be supplied via the communication network.
- the communication network is not particularly limited as long as it can transmit the program code.
- Internet intranet, extranet, LAN (Local Area Network), ISDN (Integrated Services Digital Network), VAN (Value-Added Network), CATV (Community Area Antenna / television / Cable Television), Virtual Private Network (Virtual Private Network) Network), telephone line network, mobile communication network, satellite communication network, and the like.
- the transmission medium constituting the communication network may be any medium that can transmit the program code, and is not limited to a specific configuration or type.
- IEEE Institute of Electrical and Electronic Engineers 1394, USB, power line carrier, cable TV line, telephone line, ADSL (Asymmetric Digital Subscriber Line) line, etc. wired such as IrDA (Infrared Data Association) and remote control , BlueTooth (registered trademark), IEEE802.11 wireless, HDR (High Data Rate), NFC (Near Field Communication), DLNA (Digital Living Network Alliance: registered trademark), mobile phone network, satellite line, terrestrial digital broadcasting network, etc. It can also be used wirelessly.
- the embodiment of the present invention can also be realized in the form of a computer data signal embedded in a carrier wave in which the program code is embodied by electronic transmission.
- Embodiments of the present invention are preferably applied to an image decoding apparatus that decodes encoded data in which image data is encoded, and an image encoding apparatus that generates encoded data in which image data is encoded. it can. Further, the present invention can be suitably applied to the data structure of encoded data generated by an image encoding device and referenced by the image decoding device.
Abstract
Description
以下、図面を参照しながら本発明の実施形態について説明する。
本明細書で用いる演算子を以下に記載する。
本実施形態に係る画像符号化装置11及び画像復号装置31の詳細な説明に先立って、画像符号化装置11によって生成され、画像復号装置31によって復号される符号化ストリームTeのデータ構造について説明する。
符号化ビデオシーケンスでは、処理対象のシーケンスSEQを復号するために画像復号装置31が参照するデータの集合が規定されている。シーケンスSEQは、図2の(a)に示すように、ビデオパラメータセット(Video Parameter Set)、シーケンスパラメータセットSPS(Sequence Parameter Set)、ピクチャパラメータセットPPS(Picture Parameter Set)、ピクチャPICT、及び、付加拡張情報SEI(Supplemental Enhancement Information)を含んでいる。ここで#の後に示される値はレイヤIDを示す。図2では、#0と#1すなわちレイヤ0とレイヤ1の符号化データが存在する例を示すが、レイヤの種類及びレイヤの数はこれによらない。
符号化ピクチャでは、処理対象のピクチャPICTを復号するために画像復号装置31が参照するデータの集合が規定されている。ピクチャPICTは、図2の(b)に示すように、スライスS0~SNS-1を含んでいる(NSはピクチャPICTに含まれるスライスの総数)。
符号化スライスでは、処理対象のスライスSを復号するために画像復号装置31が参照するデータの集合が規定されている。スライスSは、図2の(c)に示すように、スライスヘッダSH、及び、スライスデータSDATAを含んでいる。
符号化スライスデータでは、処理対象のスライスデータSDATAを復号するために画像復号装置31が参照するデータの集合が規定されている。スライスデータSDATAは、図2の(d)に示すように、符号化ツリーユニット(CTU:Coding Tree Unit)を含んでいる。CTUは、スライスを構成する固定サイズ(例えば64x64)のブロックであり、最大符号化単位(LCU:Largest Coding Unit)と呼ぶこともある。
図2の(e)に示すように、処理対象の符号化ツリーユニットを復号するために画像復号装置31が参照するデータの集合が規定されている。符号化ツリーユニットは、再帰的な四分木分割(QT分割)又は二分木分割(BT分割)により分割される。再帰的な四分木分割又は二分木分割により得られる木構造のノードのことを符号化ノード(CN:Coding Node)と称する。四分木及び二分木の中間ノードは、符号化ツリー(CT:Coding Tree)であり、符号化ツリーユニット自身も最上位の符号化ツリーとして規定される。
垂直分割(vertical split)= 水平に分割(split horizontally)= 左右に分割
符号化ユニットCUは符号化ノードの末端ノード(リーフノード)であり、これ以上分割されない。符号化ユニットCUは、符号化処理の基本的な単位となる。
図2の(f)に示すように、処理対象の符号化ユニットを復号するために画像復号装置31が参照するデータの集合が規定されている。具体的には、符号化ユニットは、予測ツリー、変換ツリー、CUヘッダCUHから構成される。CUヘッダでは予測モード、分割方法(PU分割モード)等が規定される。
2NxnU、2NxnD及びnLx2N、nRx2Nは、1:3、3:1の非対称分割を示す。CUに含まれるPUを順にPU0、PU1、PU2、PU3と表現する。
予測ユニット(PU:Prediction Unit)の予測画像は、PUに付随する予測パラメータによって導出される。予測パラメータには、イントラ予測の予測パラメータ若しくはインター予測の予測パラメータがある。以下、インター予測の予測パラメータ(インター予測パラメータ)について説明する。インター予測パラメータは、予測リスト利用フラグpredFlagL0、predFlagL1と、参照ピクチャインデックスrefIdxL0、refIdxL1と、動きベクトルmvL0、mvL1から構成される。予測リスト利用フラグpredFlagL0、predFlagL1は、各々L0リスト、L1リストと呼ばれる参照ピクチャリストが用いられるか否かを示すフラグであり、値が1の場合に対応する参照ピクチャリストが用いられる。なお、本明細書中「XXであるか否かを示すフラグ」と記す場合、フラグが0以外(たとえば1)をXXである場合、0をXXではない場合とし、論理否定、論理積などでは1を真、0を偽と扱う(以下同様)。但し、実際の装置や方法では真値、偽値として他の値を用いることもできる。
参照ピクチャリストは、参照ピクチャメモリ306に記憶された参照ピクチャからなるリストである。図4は、参照ピクチャ及び参照ピクチャリストの一例を示す概念図である。図4の(a)において、矩形はピクチャ、矢印はピクチャの参照関係、横軸は時間、矩形中のI、P、Bは各々イントラピクチャ、単予測ピクチャ、双予測ピクチャ、矩形中の数字は復号順を示す。図に示すように、ピクチャの復号順は、I0、P1、B2、B3、B4であり、表示順は、I0、B3、B2、B4、P1である。図4の(b)に、参照ピクチャリストの例を示す。参照ピクチャリストは、参照ピクチャの候補を表すリストであり、1つのピクチャ(スライス)が1つ以上の参照ピクチャリストを有してもよい。図の例では、対象ピクチャB3は、L0リストRefPicList0及びL1リストRefPicList1の2つの参照ピクチャリストを持つ。対象ピクチャがB3の場合の参照ピクチャは、I0、P1、B2であり、参照ピクチャはこれらのピクチャを要素として持つ。個々の予測ユニットでは、参照ピクチャリストRefPicListX中のどのピクチャを実際に参照するかを参照ピクチャインデックスrefIdxLXで指定する。図では、refIdxL0及びrefIdxL1により参照ピクチャP1とB2が参照される例を示す。
予測パラメータの復号(符号化)方法には、マージ予測(merge)モードとAMVP(Adaptive Motion Vector Prediction、適応動きベクトル予測)モードがある、マージフラグmerge_flagは、これらを識別するためのフラグである。マージ予測モードは、予測リスト利用フラグpredFlagLX(又はインター予測識別子inter_pred_idc)、参照ピクチャインデックスrefIdxLX、動きベクトルmvLXを符号化データに含めずに、既に処理した近傍PUの予測パラメータから導出する用いるモードであり、AMVPモードは、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、動きベクトルmvLXを符号化データに含めるモードである。なお、動きベクトルmvLXは、予測ベクトルmvpLXを識別する予測ベクトルインデックスmvp_LX_idxと差分ベクトルmvdLXとして符号化される。
動きベクトルmvLXは、異なる2つのピクチャ上のブロック間のずれ量を示す。動きベクトルmvLXに関する予測ベクトル、差分ベクトルを、それぞれ予測ベクトルmvpLX、差分ベクトルmvdLXと呼ぶ。
インター予測識別子inter_pred_idcと、予測リスト利用フラグpredFlagL0、predFlagL1の関係は以下のとおりであり、相互に変換可能である。
predFlagL0 = inter_pred_idc & 1
predFlagL1 = inter_pred_idc >> 1
なお、インター予測パラメータは、予測リスト利用フラグを用いても良いし、インター予測識別子を用いてもよい。また、予測リスト利用フラグを用いた判定は、インター予測識別子を用いた判定に置き替えてもよい。逆に、インター予測識別子を用いた判定は、予測リスト利用フラグを用いた判定に置き替えてもよい。
双予測BiPredであるかのフラグbiPredは、2つの予測リスト利用フラグがともに1であるかによって導出できる。たとえば以下の式で導出できる。
フラグbiPredは、インター予測識別子が2つの予測リスト(参照ピクチャ)を使うことを示す値であるか否かによっても導出できる。たとえば以下の式で導出できる。
上記式は、以下の式でも表現できる。
なお、PRED_BIはたとえば3の値を用いることができる。
次に、本実施形態に係る画像復号装置31の構成について説明する。図5は、本実施形態に係る画像復号装置31の構成を示す概略図である。画像復号装置31は、エントロピー復号部301、予測パラメータ復号部(予測画像復号装置)302、ループフィルタ305、参照ピクチャメモリ306、予測パラメータメモリ307、予測画像生成部(予測画像生成装置)308、逆量子化・逆DCT部311、及び加算部312を含んで構成される。
次に、本実施形態に係る画像符号化装置11の構成について説明する。図6は、本実施形態に係る画像符号化装置11の構成を示すブロック図である。画像符号化装置11は、予測画像生成部101、減算部102、DCT・量子化部103、エントロピー符号化部104、逆量子化・逆DCT部105、加算部106、ループフィルタ107、予測パラメータメモリ(予測パラメータ記憶部、フレームメモリ)108、参照ピクチャメモリ(参照画像記憶部、フレームメモリ)109、符号化パラメータ決定部110、予測パラメータ符号化部111を含んで構成される。予測パラメータ符号化部111は、インター予測パラメータ符号化部112及びイントラ予測パラメータ符号化部113を含んで構成される。
図10に、本実施形態に係る画像復号装置の要部構成を示したブロック図を示す。本図では、図を簡略化するために、図5に示したブロック図に含まれる一部の部材の図示を省略している。また、説明の便宜上、図5に示した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
以下、各モジュールの概略動作を説明する。復号モジュール9は、バイナリからシンタックス値を復号する復号処理を行う。復号モジュール9は、より具体的には、供給元から供給される符号化データ及びシンタックス種別に基づいて、CABAC等の可変長符号化方式、あるいは固定長符号化方式により符号化されているシンタックス値を復号し、復号したシンタックス値を供給元に返す。
ヘッダ復号部19は、画像符号化装置11から入力された符号化データのVPS(video parameter set)、SPS、PPS、スライスヘッダを復号する。
CN情報復号部10は、復号モジュール9を用いて、画像符号化装置11から入力された符号化データについて、符号化ツリーユニット(CTU)及び符号化ノード(CN)の復号処理を行う。CN情報復号部10は、具体的には、以下の手順により符号化データから、CTU情報及びCN情報を復号する。
コンテキスト決定部32は、対象CNの分割関連情報と隣接CNの分割関連情報を取得する。なお、CNの分割関連情報とは、CNの分割状況に関連する情報であり、例えば、CNのパーティション番号、デプス、あるいは垂直デプス及び水平デプス、又はサイズ等を含む情報である。
CU復号部20は、PU情報復号部12及びTT情報復号部13から構成され、最下位の符号化ノードCN(すなわちCU)のPUI情報及びTTI情報を復号する。
PU情報復号部12では各PUのPU情報(マージフラグ(merge_flag)、マージインデックス(merge_idx)、予測ベクトルインデックス(mvp_idx)、参照画像インデックス(ref_idx)、インター予測識別子(inter_pred_flag)、及び差分ベクトル(mvd)等)を、復号モジュール9を用いて復号する。
TT情報復号部13は、変換ツリーTTのTT情報(TU分割フラグSP_TU(split_transform_flag)、TU残差フラグCBP_TU(cbf_cb、cbf_cr、cbf_luma)等、及びTU)を、復号モジュール9を用いて復号する。
本実施形態に係る画像復号装置31によるコンテキスト決定方法について、図12を参照して、詳細に説明する。図12は、本実施形態に係る画像復号装置31によるコンテキスト決定方法の一例を説明するフローチャート図である。
splitHorizontally = verSplit
また、垂直方向の分割フラグsplitVerticallyを左の隣接ブロックから導出する場合、splitVerticallyをsplitLeftとも呼び、水平方向の分割フラグsplitHorizonallyを上の隣接ブロックから導出する場合、splitHorizonallyをsplitAboveとも呼ぶ。
図13が示す隣接ブロックの例の場合、splitVertically = 0であり、splitHorizontally = 1であるため、コンテキスト決定部32は、ctxIdxSplit = 1を出力する。なお、コンテキストによって指定されるコンテキスト変数に含まれる確率状態インデックスの指し示す発生確率は、分割線があるほど高くなるように設定、更新される。つまり、CN情報復号部10は、隣接ブロックの分割線が存在するか否かで、コンテキストを切り替えることにより、隣接ブロックに分割線がある場合に、対象ブロックOで“分割あり”を示す分割フラグを復号すれば符号量を小さくすることができる。このような設定をする理由は、隣接ブロックWA又は隣接ブロックWBが分割されている場合、対象ブロックOも分割される可能性が高いためである。
図14は、本具体例のコンテキスト決定方法のステップS1を説明するための図であり、対象ブロックO、隣接ブロックWL、隣接ブロックWA及び隣接ブロックWBを示している。図14が示すように、対象ブロックOは、左辺において、隣接ブロックWLと隣接している。また、対象ブロックOは、上辺において、隣接ブロックWA及び隣接ブロックWBと隣接している。
点Lが含まれるブロックのパーティション番号と、点LBが含まれるブロックのパーティション番号とが異なる場合、点Lと点LBとは、それぞれ、異なるブロックに含まれていることになるため、コンテキスト決定部32は、対象ブロックOの左辺に接する分割線が存在していると判定する。一方、点Lが含まれるブロックのパーティション番号と、点LBが含まれるブロックのパーティション番号とが同じ場合、点Lと点LBとは、それぞれ、同じブロックに含まれていることになるため、コンテキスト決定部32は、対象ブロックOの左辺に接する分割線が存在しないと判定する。
そして、コンテキスト決定部32は、当該判定の結果を、splitHorizontally(=splitAbove=verSplit)として出力する。図14が示すように、点Aと点ARとは、それぞれ、異なる隣接ブロックWAと隣接ブロックWBに含まれるので、コンテキスト決定部32は、分割線が存在することを示すsplitHorizontally = 1を設定する。
図15は、本具体例のコンテキスト決定方法のステップS1を説明するための図であり、対象ブロックO、隣接ブロックWL、及び隣接ブロックWAを示している。図15が示すように、対象ブロックOは、左辺において、隣接ブロックWLと隣接している。また、対象ブロックOは、上辺において、隣接ブロックWAと隣接している。また、図15が示すように、隣接ブロックWLは、対象ブロックOの左辺に接する点L(xPb-1,yP)を含み、隣接ブロックWAは、対象ブロックOの上辺に接する点A(xPb,yPb-1)を含む。なお、図15における各ブロック内の(n,m)は、nが水平デプスを示し、mが垂直デプスを示す(n及びmは、整数である)。なお、水平デプスとは、あるブロックを、水平方向に並ぶ2つのブロックに分割した回数(分割階層)を示す。また、垂直デプスとは、あるブロックを、垂直方向に並ぶ2つのブロックに分割した回数(分割階層)を示す。例えば、符号化ツリーブロックCTBは、分割前において、水平デプス及び垂直デプスは、それぞれ、0である(depthHor = 0)(depthVer = 0)。QT分割においては、分割毎に、水平デプス及び垂直デプスは、それぞれ、1加算される(depthHor = depthHor + 1)(depthVer = depthVer + 1)。
対象ブロックOの左に隣接する隣接ブロックWLの垂直デプスが対象ブロックOの垂直デプスより大きい場合、隣接ブロックWLは、対象ブロックOよりも多くの回数の水平分割を経て形成されたブロックであるため、コンテキスト決定部32は、対象ブロックOの左辺に接する分割線が存在すると判定する。一方、隣接ブロックWLの垂直デプスが対象ブロックOの垂直デプスより小さい場合、対象ブロックOは、隣接ブロックWLよりも多くの回数の水平分割を経て形成されたブロックであるため、コンテキスト決定部32は、対象ブロックOの左辺に接する分割線は存在しないと判定する。なお、隣接ブロックWLの垂直デプスと対象ブロックOの垂直デプスとが等しい場合、コンテキスト決定部32は、対象ブロックOの左辺に接する分割線は存在しないと判定する。
対象ブロックOの上に隣接する隣接ブロックWAの水平デプスが対象ブロックOの水平デプスより大きい場合、隣接ブロックWAは、対象ブロックOよりも多くの回数の垂直分割を経て形成されたブロックであるため、コンテキスト決定部32は、対象ブロックOの上辺に接する分割線が存在すると判定する。一方、隣接ブロックWAの水平デプスが対象ブロックOの水平デプスより小さい場合、対象ブロックOは、隣接ブロックWAよりも多くの回数の垂直分割を経て形成されたブロックであるため、コンテキスト決定部32は、対象ブロックOの上辺に接する分割線が存在しないと判定する。なお、隣接ブロックWAの水平デプスと対象ブロックOの水平デプスとが等しい場合、コンテキスト決定部32は、対象ブロックOの上辺に接する分割線は存在しないと判定する。
図16は、本具体例のコンテキスト決定方法のステップS1を説明するための図であり、対象ブロックO、隣接ブロックWL、及び隣接ブロックWAを示している。図16が示すように、対象ブロックOは、左辺において、隣接ブロックWLと隣接している。また、対象ブロックOは、上辺において、隣接ブロックWAと隣接している。また、図16が示すように隣接ブロックWLは、対象ブロックOの左辺に接する点L(xPb-1,yP)を含み、隣接ブロックWAは、対象ブロックOの上辺に接する点A(xPb,yPb-1)を含む。なお、図16における各ブロック内の(n,m)は、nが各ブロックの水平方向の幅を示し、mが垂直方向の高さを示す(n及びmは、整数である)。
対象ブロックOの高さが隣接ブロックWLの高さより大きい場合、隣接ブロックWLは、対象ブロックOよりも多くの回数の水平分割を経て形成されたブロックであるため、コンテキスト決定部32は、対象ブロックOの左辺に接する分割線が存在すると判定する。一方、対象ブロックOの高さが隣接ブロックWLの高さより小さい場合、対象ブロックOは、隣接ブロックWLよりも多くの回数の水平分割を経て形成されたブロックであるため、コンテキスト決定部32は、対象ブロックOの左辺に接する分割線は存在しないと判定する。なお、対象ブロックOの高さと隣接ブロックWLの高さとが等しい場合、コンテキスト決定部32は、対象ブロックOの左辺に接する水平方向の分割線は存在しないと判定する。
対象ブロックOの幅が隣接ブロックWAの幅より大きい場合、隣接ブロックWAは、対象ブロックOよりも多くの回数の垂直分割を経て形成されたブロックであるため、コンテキスト決定部32は、対象ブロックOの上辺に接する分割線が存在すると判定する。一方、対象ブロックOの幅が隣接ブロックWAの幅より小さい場合、対象ブロックOは、隣接ブロックWAよりも多くの回数の垂直分割を経て形成されたブロックであるため、コンテキスト決定部32は、対象ブロックOの上辺に接する分割線は存在しないと判定する。なお、対象ブロックOの幅と隣接ブロックWAの幅とが等しい場合、コンテキスト決定部32は、対象ブロックOの上辺に接する分割線は存在しないと判定する。
以下で、本実施形態のコンテキスト決定方法の具体的な方法を説明する。図17は、本実施形態のコンテキスト決定方法のS1202を説明するための図であり、対象ブロックO、隣接ブロックWL、および隣接ブロックWAを示している。図17が示すように、対象ブロックOは、左辺において、隣接ブロックWLと隣接している。また、対象ブロックOは、上辺において、隣接ブロックWAと隣接している。また、図17が示すように、隣接ブロックWLは、対象ブロックOの左辺に接する点L(xPb-1,yP)を含み、隣接ブロックWAは、対象ブロックOの上辺に接する点A(xPb,yPb-1)を含む。なお、図17における各ブロック内の番号は、分割関連情報(デプス)を示している。デプスは、あるブロックを水平あるいは垂直方向に並ぶ2つのブロックに分割した回数(分割階層)を示す。例えば、分割前の符号化ツリーユニットCTUのデプスは0である(depth = 0)。1回のQT分割では、水平および垂直方向に1回ずつ分割されるので、デプスは2加算される(depth = depth+2)。
splitHorizontally = verSplit
また、垂直方向の分割splitVerticallyを左の隣接ブロックから導出する場合、splitVerticallyをsplitLeftとも呼び、水平方向の分割splitHorizonallyを上の隣接ブロックから導出する場合、splitHorizonallyをsplitAboveとも呼ぶ。
隣接ブロックWLのデプスが対象ブロックOのデプスより大きい場合、コンテキスト決定部32はsplitLeft=1とする。一方、隣接ブロックWLのデプスが対象ブロックOのデプスより小さい場合、コンテキスト決定部32はsplitLeft=0とする。なお、隣接ブロックWLのデプスと対象ブロックOのデプスとが等しい場合、コンテキスト決定部32はsplitLeft=0とする。図17では、隣接ブロックWLのデプスは、対象ブロックOのデプスより大きいので、コンテキスト決定部32はsplitLeft=1を設定する。
隣接ブロックWAのデプスが対象ブロックOのデプスより大きい場合、コンテキスト決定部32はsplitAbove=1とする。一方、隣接ブロックWAのデプスが対象ブロックOのデプスより小さい場合、コンテキスト決定部32はsplitAbove=0とする。なお、隣接ブロックWAのデプスと対象ブロックOのデプスとが等しい場合、コンテキスト決定部32はsplitAbove=0とする。図17では、隣接ブロックWAのデプスは、対象ブロックOのデプスと同じなので、コンテキスト決定部32はsplitAbove=0を設定する。
図17ではsplitLeft=1、splitAbove=0であるため、コンテキスト決定部32は、ctxIdxSplit=1を出力する。なお、分割フラグは、隣接ブロックが対象ブロックよりも分割されている(隣接ブロックのデプスが対象ブロックのデプスよりも大きい)場合に、ctxIdxSplit=1となる確率が高くなるように設定、更新される。また、隣接ブロックが対象ブロックと同じか、分割されていない(隣接ブロックのデプスが対象ブロックのデプス以下の)場合に、ctxIdxSplit=1となる確率が低くなるように設定、更新される。つまり、CN情報復
号部10は、隣接ブロックと対象ブロックのデプスを比較し、コンテキストを切り替えることにより、符号量を小さくすることができる。このような設定をする理由は、隣接ブロックWA又は隣接ブロックWLが細かく分割されている場合、対象ブロックOも分割される可能性が高いためである。
(具体例5)分割階層(デプス)の差分を参照
具体例5では、デプスを分割関連情報とした例を説明する。
diffDepth1 = depthLeft-depthCurr
図18のS1403では、S1402で導出した2つの差分値diffDepth0、diffDepth1から、下式でコンテキストを導出する。
図19の(1)及び(2)は、対象ブロックOと上側の隣接ブロックWAのデプスに対し、方法1および具体例5を用いて導出したコンテキストctxIdxSplitを示した例である。図19の各ブロック内の番号はデプスを表す。図19では対象ブロックOと上側の隣接ブロックWAについて説明するが、対象ブロックOと左側の隣接ブロックWLについても同様であり、説明は省略する。図19の(1)において、方法1では、隣接ブロックWAのデプスが対象ブロックOのデプスより大きい(a)、(b)はsplitAbove=1、そうではない(c)、(d)はsplitAbove=0である。具体例5では、隣接ブロックWAのデプスと対象ブロックOのデプスの差分を取るので、(a)、(b)、(c)、(d)のdiffDepth0は各々、4、2、0、-2である。従って具体例5の方が精度よくコンテキストを導出することができる。図19の(2)において、方法1では、隣接ブロックWAのデプスが対象ブロックOのデプスより大きい(a)、(b)、(c)はsplitAbove=1、そうではない(d)はsplitAbove=0である。具体例5では、隣接ブロックWAのデプスと対象ブロックOのデプスの差分を取るので、(a)、(b)、(c)、(d)のdiffDepth0は各々、3、2、1、0である。従って具体例5の方が精度よくコンテキストを導出することができる。
(具体例6)ブロックのサイズ(幅と高さ)の差分を参照
具体例6では、ブロックのサイズ(幅と高さ)を分割関連情報とした例を説明する。
ここで、ブロックサイズとは、ブロックの幅、又は、ブロックの高さ、もしくは、ブロックの幅と高さの両者のことを示す。またブロックの幅と高さの積もしくは和をブロックサイズとして用いても良い。
diffSize1 = log2heightCurr-log2heightLeft
図18のS1403では、S1402で導出した2つの差分値diffSize0、diffSize1から、下式でコンテキストを導出する。
(具体例7)デプスおよびブロックのサイズ(幅と高さ)の差分を参照
具体例7では、具体例5のデプスと具体例6のブロックのサイズ(幅と高さ)を分割関連情報として使用する例を説明する。
diffSize = diffSize0+diffSize1
図18のS1403では、S1402で導出した2つの差分値diffDepth、diffSizeから、以下のようにコンテキストを導出する。
また、コンテキストの導出は下記でもよい。
また、具体例5のデプスと具体例6のブロックのサイズ(幅と高さ)を分割関連情報として使用する別の例を説明する。
diffDepth0 = (log2widthCurr+log2heightCurr)-(log2widthAbove+log2heightAbove)
diffDepth1 = (log2widthCurr+log2heightCurr)-(log2widthLeft+log2heightLeft)
である。従ってコンテキストは
diffTmp = 3*log2widthCurr+3*log2heightCurr-2*log2widthAbove-log2heightAbove-log2widthLeft-2*log2heightLeft
ctxIdxSplit = diffTmp
となる。あるいは
diffTmp = (3*log2widthCurr+3*log2heightCurr-2*log2widthAbove-log2heightAbove-log2widthLeft-2*log2heightLeft)>>1
ctxIdxSplit = diffTmp
としてもよい。
(具体例5~7の一般化)
結局のところ、隣接ブロックの幅と高さを考慮すると、「1)対象ブロックの左側に分割線があるかに関わる左側隣接ブロックの高さの対数値log2heightLeftと、対象ブロックの上側に分割線があるかに関わる上側隣接ブロックの幅の対数値log2widthAbove」がコンテキストの導出に重要であるが、「2)左側隣接ブロックの幅の対数値log2widthLeftと上側隣接ブロックの高さの対数値log2heightAbove」もコンテキストの導出に寄与する。したがって、分割関連情報の差分値を加算してコンテキストを導出する場合に、重要性を参照して重みを付けるとよい。この時、重要性の高い1)のlog2heightLeftとlog2widthAboveのウェイトをW1、重要性の低い2)のlog2widthLeftとlog2heightAboveのウェイトをW2として、重要性の高いウェイトW1をW1>=W2と設定することが適当である。この場合、分割関連情報の加算は下式で表される。
上記の例では、W1 = 1, W2 = 1が具体例5、W1 = 1, W2 = 0が具体例6、W1 = 2, W2 =1が具体例7に対応する。そのほか、W1 = 3, W2 = 1などの構成も可能である。
(具体例8)3つ以上の隣接ブロックの参照
具体例5~7では、対象ブロックと2つの隣接ブロックの分割関連情報を参照して、分割フラグのコンテキストを導出した。具体例8では3つ以上の隣接ブロックの分割関連情報を参照して、分割フラグのコンテキストを導出する例を説明する。なお、以下では分割関連情報はデプスとし、具体例5を拡張して説明するが、これに限らず、分割関連情報をブロックサイズや、デプスとブロックサイズ双方とし、具体例6または3を拡張した場合も同様に適用可能であるので説明を省略する。
diffDepth1 = depthLeft-depthCurr
diffDepth2 = depthAboveRight-depthCurr
図18のS1403では、S1402で導出した3つの差分値diffDepth0、diffDepth1、diffDepth2から、下式でコンテキストを導出する。
また、図20の(2)は、対象ブロックOと4つの隣接ブロックWA、WL、WAR、WBLの位置関係を示す図である。
diffDepth1 = depthLeft-depthCurr
diffDepth2 = depthAboveRight-depthCurr
diffDepth3 = depthBottomLeft-depthCurr
図18のS1403では、S1402で導出した4つの差分値diffDepth0、diffDepth1、diffDepth2、diffDepth3から、下式でコンテキストを導出する。
また、対象ブロックOと4つの隣接ブロックWA、WL、WAR、WBLのデプスを用いる場合に、別の計算方法を用いて差分値を導出してもよい。例えば一例として、図18のS1402では下式で差分値を算出する。
diffDepth1 = depthLeft+depthBottomLeft-2*depthCurr
図18のS1403では下式でコンテキストを導出する。
また別の一例として、図18のS1402では下式で差分値を算出する。
diffDepth1 = ((depthLeft+depthBottomLeft)>>1)-depthCurr
図18のS1403では下式でコンテキストを導出する。
(具体例9)
図21は、画像復号装置31あるいは画像符号化装置11によるコンテキスト決定方法の別の一例を示すフローチャートである。図18と図21のフローチャートの違いはS1403とS1703である。それ以外のステップは同じであるので、説明を省略する。
具体例9では最大の差分値を用いてコンテキストを決定するので、分割数の多い(デプスの大きい)状況が選択されやすくなる。
(利用可能性のチェック)
上記の説明では、対象ブロックOの隣接ブロックは利用可能である(available)と仮定したが、実際には画像の端等で隣接ブロックが存在しない場合がある。隣接ブロックが利用可能でない場合は、差分値は0とする。例えば具体例5では、S1402は下記の手順になる。
diffDepth1 = availableLeft ? (depthLeft-depthCurr) : 0
ctxIdxSplit = diffDepth0+diffDepth1
ここで、availableAboveとavailableLeftは、対象ブロックの上側の隣接ブロックと左側の隣接ブロックの利用可能性を示し、隣接ブロックがあれば1、なければ0である。なお、利用可能性のチェックはデプスの差分値を導出する具体例5に限らず、具体例6~9などサイズの差分値を導出する場合や、デプスの差分値とサイズの差分値の両者を用いる場合にも適用可能である。例えば、具体例6では下記の手順になる。
diffSize1 = availableLeft ? log2heightCurr-log2heightLeft : 0
ctxIdxSplit = diffSize0+diffSize1
(クリッピングとマッピング)
具体例5~8は、対象ブロックと隣接ブロックの分割関連情報の差分を利用して、分割フラグのコンテキストを細かく設定することで、コンテキストの精度を向上させる技術である。しかしながら、分割関連情報の差分値を単純に加算すると、ブロックサイズが大きい場合にコンテキストのとる値が非常に広範囲になってしまう。例えば、CTUサイズが128x128の場合、とりうるデプスの値は0(128x128に対応)~11(4x4)となり、差分値の範囲は-22~22となる。コンテキストの値の増加はエントロピー符号化および復号処理の複雑化を招き、必要なテーブルのメモリ量も大きくなるので好ましくない。また、通常コンテキストは0以上の整数に割り振られるため、負の数が生じるのは好ましくない。そこでコンテキストを導出する過程でクリッピングやマッピング、オフセットの加算、乗算、シフト演算などを行い、コンテキストの値の範囲を制限する技術について説明する。
ctxIdxSplit = ctxTbl[diffTmp]
ここで、ctxTblはデプスの差分値の加算結果からコンテキストを導出するためのテーブルであり、詳細は後述する。offsetDはデプスの差分値のゼロ点の位置(中央)を、テーブルctxTblの中央要素付近に対応させるためのオフセットである。0からTHDmaxへのクリップは、必要なテーブルのエントリ数を低減するために行っており、THDmax+1はテーブルのエントリ数の最大値である。
diffDepth1 = clip3(-offsetD,offsetD,depthLeft-depthCurr) (c2)
diffTmp = diffDepth0+diffDepth1+(offsetD<<1)
ctxIdxSplit = ctxTbl[diffTmp]
図22の(2)は、差分値をクリッピングした後にオフセットを加算する動作を説明するフローチャートである。図22の(2)は図18のS1403の処理がS18032、S18042、S1805に変更された以外は図18と同じであり、説明を省略する。S18032では、コンテキスト決定部32はS1402で導出した差分値を(c2)の方法でクリッピングする。S18042では、コンテキスト決定部32はクリッピング値を加算する。S1805では、コンテキスト決定部32は加算結果を用いてコンテキストを導出する。
diffDepth1 = clip3(-offsetD1,offsetD1,depthLeft-depthCurr)
diffTmp = clip3(0,THDmax,diffDepth0+diffDepth1+(offsetD1<<1)) (c3)
ctxIdxSplit = ctxTbl[diffTmp]
図22の(3)は、差分値をクリッピングした後に加算し、加算値をさらにクリッピングする動作を説明するフローチャートである。図22の(3)は、図22の(2)のS18042とS1805の間にS1806が追加された以外は図22の(2)と同じであり、説明を省略する。S1806では、コンテキスト決定部32は(c3)の方法でクリッピングする。
ctxTbl[] = {0, 0, 0, 1, 2, 2}
や、0,1,2,3の4値にマッピングする
ctxTbl[] = {0, 0, 0, 1, 2, 3}
は特に適当である。
else if (diffTmp<THD2) ctxIdx = 1
else if (diffTmp<THD3) ctxIdx = 2
else ctxIdx = 3
また、下記の3つの例ように除算や、シフト演算、乗算など四則演算とシフトを用いて、加算値の値の範囲を変化させることによって適当な範囲のコンテキストを導出する方法でもよい。
diffDepth1 = depthLeft-depthCurr
例1
diffTmp = (diffDepth0 + diffDepth1)/2
例2
diffTmp = (diffDepth0 + diffDepth1)>>1
例3
diffTmp = (diffDepth0 + diffDepth1)*3 >> 2
また、利用可能性のチェックやクリッピング、マッピング、四則演算の組み合わせを用いて、差分値の加算値からコンテキストを導出してもよい。
diffDepth1 = availableLeft ? (depthLeft-depthCurr) : 0
diffDepth0 = clip3(-offsetD1,offsetD1,diffDepth0)
diffDepth1 = clip3(-offsetD1,offsetD1,diffDepth1)
diffSize0 = availableAbove ? log2widthCurr-log2widthAbove : 0
diffSize1 = availableLeft ? log2heightCurr-log2heightLeft : 0
diffSize0 = clip3(-offsetD1,offsetD1,diffSize0)
diffSize1 = clip3(-offsetD1,offsetD1,diffSize1)
diffTmpD = clip3(0, THDmax,diffDepth0 + diffDepth1 + offsetD2)
diffTmpS = clip3(0, THSmax,diffSize0 + diffSize1 + offsetD2)
diffTmp = (diffTmpD + diffTmpS)>>1
ctxIdxSplit = ctxTbl[diffTmp]
ここで例えば、ctxTbl[] = {0, 0, 1, 2, 3, 3}、offsetD1 = 1、offsetD2 = 2、THDmax = 5, THSmax = 5などが適当であるが、他の値でもよい。
diffDepth1 = availableLeft ? (depthLeft-depthCurr) : 0
diffSize0 = availableAbove ? log2widthCurr-log2widthAbove : 0
diffSize1 = availableLeft ? log2heightCurr-log2heightLeft : 0
diffTmpD = diffDepth0 + diffDepth1 + offsetD2
diffTmpS = diffSize0 + diffSize1 + offsetD2
diffTmp = (diffTmpD + diffTmpS)>>1
ctxIdxSplit = ctxTbl[diffTmp]
(画像符号化装置)
本実施形態に係る画像復号装置31の構成は、画像符号化装置11にも適用できる。その場合、画像符号化装置11は、CN情報復号部10に代わるCN情報符号化部(図示せず)と、コンテキスト決定部32とを備え、対象ブロックを分割するか否かを示す分割フラグ(QT分割フラグ、BT分割フラグ又はTT分割フラグ等)のコンテキストを導出する。
以上のように、本実施形態に係る画像復号装置31は、対象ブロックの分割情報(分割フラグ)のコンテキストを、当該対象ブロックに隣接する1又は複数の隣接ブロックの分割状況を参照して決定し、当該コンテキストを用いて、対象ブロックの分割情報を復号する。また、本実施形態に係る画像復号装置31は、隣接ブロックのパーティション番号、水平デプス及び垂直デプス又はサイズを参照して、隣接ブロックの分割状況を特定することにより、隣接ブロックの分割線の有無を判定し、当該判定を参照してコンテキストを決定する。これにより、隣接ブロックのパーティション番号、水平デプス及び垂直デプス又はサイズを参照するため、隣接ブロックの分割関連情報が反映され、より適切なコンテキストを決定することができる。従って、画像復号装置において、分割情報の符号量を削減できる。
本発明の実施形態2について、図面に基づいて説明すれば、以下のとおりである。なお、本実施形態においても、実施形態1に係る画像復号装置31及び画像符号化装置11を同様に用いることができる。従って、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、その説明を省略する。
本実施形態に係るコンテキスト決定部32は、色差ブロック(色差CB(第1の色コンポーネントに関する対象ブロック))に対応し、かつ、CN情報復号部10がすでに分割し復号した輝度ブロック(輝度CB(第2の色コンポーネントに関する対応ブロック))の分割関連情報をCN情報復号部10から取得する。なお、色差CBは、当該色差CBを分割するか否かを示す分割フラグを復号する前の対象ブロック(対象CB)であり、輝度CBは、対象ブロックに対応する対応ブロック(対応CB)である。また、上記の第1の色コンポーネントに関する対象ブロックは、輝度CBであってもよく、上記の第2の色コンポーネントに関する対応ブロックは、色差CBであってもよい。
本実施形態に係る画像復号装置31によるコンテキスト決定方法について、図24を参照して、詳細に説明する。図24は、本実施形態に係る画像復号装置31によるコンテキスト決定方法の一例を説明するフローチャート図である。なお、実施形態1に係るコンテキスト決定方法と同様の工程については、詳細な説明は省略する。
図25は、本具体例のコンテキスト決定方法のステップS11を説明するための図である。図25の(a)は、色差CBを示し、図25の(b)は、輝度CBを示している。なお、図25における各ブロック内の番号は、パーティション番号を示している。輝度CB(対応CB)は、ブロックKA及びブロックKBを含む。また、ブロックKAの左上の点座標を点KARとし、ブロックKBの右下の点座標を点KBRとする。
なお、上記の式において、QT分割フラグのコンテキストの場合、ctxIdxSplitは、ctxIdxQTである。BT分割フラグのコンテキストの場合、ctxIdxSplitは、ctxIdxBTである。BT分割及びTT分割を区別せずに、両者を含めた分割であるPT分割のフラグのコンテキストの場合、ctxIdxSplitは、ctxIdxPTである。
図26は、本具体例のコンテキスト決定方法のステップS11を説明するための図である。図26の(a)は、色差CB(対象CB)を示し、図26の(b)は、輝度CB(対応CB)を示している。なお、図26における各ブロック内の番号は、パーティション番号を示している。輝度CBは、ブロックKA及びブロックKCを含む。また、ブロックKAの左上の点座標を点KARとし、ブロックKAの左下の点座標を点KALとする。また、ブロックKCの右上の点座標を点KCRとする。
また、コンテキスト決定部32は、当該輝度CBの左上の点KARを含むブロックのパーティション番号(partId_AboveLeft)と、当該輝度CBの左下の点KALを含むブロックのパーティション番号(partId_LowerLeft)とが異なるか否かを判定する。当該判定の式を下記に示す。
輝度CBの左上の点KARを含むブロックのパーティション番号と、当該輝度CBの右上の点KCRを含むブロックのパーティション番号とが異なる場合、点KARと点KCRとは、それぞれ、異なるブロックに含まれていることになるため、コンテキスト決定部32は、点KARと点KCRとの間には、分割線が存在していると判定する。一方、輝度CBの左上の点KARを含むブロックのパーティション番号と、当該輝度CBの右上の点KCRを含むブロックのパーティション番号とが同じ場合、点KARと点KCRとは、それぞれ、同じブロックに含まれていることになるため、コンテキスト決定部32は、点KARと点KCRとの間には、分割線が存在しないと判定する。
図27は、本具体例のコンテキスト決定方法のステップS11を説明するための図である。図27の(a)は、色差CB(対象CB)を示し、図27の(b)は、輝度CB(対応CB)を示している。なお、図27における各ブロック内の番号は、パーティション番号を示している。輝度CBは、ブロックKA、ブロックKB、及びブロックKCを含む。また、ブロックKAの左上の点座標を点KARとし、ブロックKAの左下の点座標を点KALとする。また、ブロックKBの右下の点座標を点KBRとする。また、ブロックKCの右上の点座標を点KCRとする。
また、コンテキスト決定部32は、当該輝度CBの左上の点KARを含むブロックのパーティション番号(partId_AboveLeft)と、当該輝度CBの左下の点KALを含むブロックのパーティション番号(partId_LowerLeft)とが異なるか否かを判定する。また、コンテキスト決定部32は、当該輝度CBの右上の点KCRを含むブロックのパーティション番号(partId_AboveRight)と、当該輝度CBの右下の点KBRを含むブロックのパーティション番号(partId_lowerRight)とが異なるか否かを判定する。コンテキスト決定部32は、これらの判定を参照して、下記の式で示されるsplitVerticallyを算出する。
輝度CBの左上の点KARを含むブロックのパーティション番号と、当該輝度CBの右上の点KCRを含むブロックのパーティション番号とが異なる場合、点KARと点KCRとは、それぞれ、異なるブロックに含まれていることになるため、コンテキスト決定部32は、点KARと点KCRとの間には、分割線が存在していると判定する。一方、輝度CBの左上の点KARを含むブロックのパーティション番号と、当該輝度CBの右上の点KCRを含むブロックのパーティション番号とが同じ場合、点KARと点KCRとは、それぞれ、同じブロックに含まれていることになるため、コンテキスト決定部32は、点KARと点KCRとの間には、分割線が存在しないと判定する。
又は、下記の式のようにsplitVertically + splitHorizontallyが3以上である場合、ctxIdxSplitを2としてもよい。
(画像符号化装置)
本実施形態に係る画像復号装置31の構成は、画像符号化装置11にも適用できる。その場合、画像符号化装置11は、CN情報復号部10に代わるCN情報符号化部(図示せず)と、コンテキスト決定部32とを備え、対象ブロックを分割するか否かを示す分割フラグ(QT分割フラグ、BT分割フラグ又はTT分割フラグ等)のコンテキストを導出する。
以上のように、本実施形態に係る画像復号装置31は、第1の色コンポーネントに関する対象ブロックの分割情報(分割フラグ)のコンテキストを、既に復号された第2の色コンポーネントに関する対応ブロックの分割状況を参照して決定し、当該コンテキストを用いて、第1の色コンポーネントに関する対象ブロックの分割情報を復号する。これにより、対応ブロックの分割状況に応じて、対象ブロックの分割情報を復号する。
本発明の実施形態3について、図面に基づいて説明すれば、以下のとおりである。なお、本実施形態においても、実施形態1に係る画像復号装置31及び画像符号化装置11を同様に用いることができる。従って、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、その説明を省略する。
本態様では、実施形態1に係るコンテキスト決定方法と同様の方法によりコンテキストを導出する。ただし、本実施形態におけるコンテキストは、対象ブロックの分割方向を示す方向フラグ(分割モード)のコンテキストである。本態様において、コンテキスト決定部32は、実施形態1と類似の方法により、隣接ブロックの分割の有無又は分割方向を判定し、当該判定に基づいて、対象ブロックに対するBT方向フラグのコンテキストを導出する。
CN情報復号部10は、対象CNのBT分割の分割方法を示すBT方向フラグ(請求項における分割情報)を復号するか否かのコンテキスト(後述する)に応じて、CNに含まれるCN情報から、BT方向フラグを復号する。そして、CN情報復号部10は、BT方向フラグがさらなる分割を通知しなくなるまで、BT方向フラグが示す分割方法により、対象CNを再帰的に分割し復号する。最後に、CTU情報からツリーユニットフッタCTUFを復号する。
本態様に係るコンテキスト決定部32は、CN情報復号部10がまだ分割していない対象CNの分割関連情報と、当該対象CNに隣接し、かつ、CN情報復号部10がすでに分割し復号した隣接CNの分割関連情報と、をCN情報復号部10から取得する。
本態様に係る画像復号装置31によるコンテキスト決定方法について、図28を参照して、詳細に説明する。図28は、本態様に係る画像復号装置31によるコンテキスト決定方法の一例を説明するフローチャート図である。なお、実施形態1及び2に係るコンテキスト決定方法と同様の工程については、詳細な説明は省略する。
本態様の具体例1において、コンテキスト決定部32は、ステップS21において、実施形態1の具体例と同様に、分割線の有無を判定した結果であるsplitHorizontally及びsplitVerticallyを設定する。本態様の具体例1におけるsplitHorizontally及びsplitVerticallyは、実施形態1の各具体例におけるsplitHorizontally及びsplitVerticallyと同様の方法により求められる。そのため、ステップS21におけるsplitHorizontally及びsplitVerticallyについての工程の詳細な説明は省略する。また、コンテキスト決定部32は、分割関連情報として、対象ブロックの幅であるwidthと、対象ブロックの高さであるheightを参照する。
else if (splitHorizontally < splitVertically) ctxIdxDir = 2
else ctxIdxDir = 0
なお、verSplitとhorSplitを用いて表現すると、以下になる。
else if (verSplit < horSplit) ctxIdxDir = 2
else ctxIdxDir = 0
詳細に説明すると、図29の(a)が示すように、splitHorizontallyがsplitVerticallyよりも大きい場合、コンテキスト決定部32は、コンテキストを、ctxIdxDir = 1に決定する。ctxIdxDir = 1は、隣接ブロック(もしくは対応ブロック)が、水平に分割/split horizontally(垂直分割/verSplit、左右に分割)されており、対象ブロックも水平に分割(垂直分割)される可能性が高く、CN情報復号部10が対象ブロックの水平に分割(垂直分割)するか否かを示す方向フラグを復号する可能性が高いことを示している。
else if (splitHorizontally < splitVertically) ctxIdxDir = ctxB
else if (width > height) ctxIdxDir = ctxA
else if (width < height) ctxIdxDir = ctxB
else ctxIdxDir = ctxC
ここでctxA、ctxB、ctxCは、コンテストを指定するための値である。例えば、ctxA=1, ctxB=2, ctxC=0としてもよいが、これらの値に限定されない。ctxA=0, ctxB=1, ctxC=2などでもよい。つまり、コンテキスト(コンテキストインデックス)によって指定されるコンテキスト変数は、コンテキストを区別するために用いられるので、分岐結果によって互いに値が異なれば十分であり、大小関係は異なってもよい(以下、同様)。ここでは、ctxA、ctxB、ctxCを用いることによって、splitHorizontally > splitVerticallyが真の場合と後続のwidth > heightが真の場合とのコンテキストが同じ値のctxAであること、splitHorizontally < splitVerticallyが真の場合と後続のwidth < heighが真の場合とのコンテキストが同じ値のctxBであること、および、上記2つのコンテキストctxAの値とctxBの値とが異なること、を示す。
else if (verSplit < horSplit) ctxIdxDir = ctxB
else if (width > height) ctxIdxDir = ctxA
else if (width < height) ctxIdxDir = ctxB
else ctxIdxDir = ctxC
詳細に説明すると、まず、コンテキスト決定部32は、splitHorizontallyがsplitVerticallyよりも大きいか否かを判定し、図29の(b)が示すように、splitHorizontallyがsplitVerticallyよりも大きい場合、コンテキストを、ctxIdxDir = 1に決定する。splitHorizontallyがsplitVerticallyよりも大きくない場合、コンテキスト決定部32は、コンテキストを、ctxIdxDir = 2に決定する。splitHorizontallyとsplitVerticallyとが等しい場合、コンテキスト決定部32は、対象ブロックの幅であるwidthが、対象ブロックの高さであるheightよりも大きいか否かを判定する。widthがheightよりも大きい場合、コンテキスト決定部32は、コンテキストを、ctxIdxDir = 1に決定する。ここでコンテキスト決定部32がコンテキストをctxIdxDir = 1に決定する理由としては、widthがheightよりも大きい場合、つまり、対象ブロックが垂直方向よりも水平方向に長い長方形である場合、対象ブロックが水平に分割(垂直分割)される可能性が高いためである。
else if (width < height) ctxIdxDir = ctxB
else if (splitHorizontally > splitVertically) ctxIdxDir = ctxA
else if (splitHorizontally < splitVertically) ctxIdxDir = ctxB
else ctxIdxDir = ctxC
なお、verSplitとhorSplitを用いて表現すると、以下になる。
else if (width < height) ctxIdxDir = ctxB
else if (verSplit > horSplit) ctxIdxDir = ctxA
else if (verSplit < horSplit) ctxIdxDir = ctxB
else ctxIdxDir = ctxC
詳細に説明すると、コンテキスト決定部32は、widthがheightよりも大きいか否かを判定し、図29の(c)が示すように、widthがheightよりも大きい場合、コンテキスト決定部32は、コンテキストを、ctxIdxDir = 1に決定する。widthがheightよりも小さい場合、コンテキスト決定部32は、コンテキストを、ctxIdxDir = 2に決定する。
詳細に説明すると、まず、コンテキスト決定部32は、splitHorizontallyがsplitVerticallyよりも大きいか否かを判定し、splitHorizontallyがsplitVerticallyよりも大きい場合、splitHorizontally及びsplitVerticallyを用いた判定によるコンテキストの成分を、2に設定する。splitHorizontallyがsplitVerticallyよりも大きくない場合、コンテキスト決定部32は、splitHorizontallyとsplitVerticallyとが等しいか否かをさらに判定する。splitHorizontallyとsplitVerticallyとが等しい場合、コンテキスト決定部32は、splitHorizontally及びsplitVerticallyを用いた判定によるコンテキストの成分を、1に設定する。splitHorizontallyとsplitVerticallyとが等しくない場合、コンテキスト決定部32は、splitHorizontally及びsplitVerticallyを用いた判定によるコンテキストの成分を、0に設定する。
なお、verSplitとhorSplitを用いて表現すると、以下になる。
(具体例2)
上述の具体例1では、コンテキスト決定部32がBT分割方向フラグ(bt_dir_flag)のコンテキスト(ctxIdxDir)を決定する方法を説明した。当該方法により求められたコンテキストは、本実施形態に係る画像復号装置31がBT分割フラグ(bt_split_flag)を復号した後に、BT分割方向フラグ(bt_dir_flag)を復号する際に用いることを想定したものである。つまり、BT分割バイナリゼーションでは、1ビット目で分割の有無を指定し、2ビット目で分割の方向を指定する。しかし、本実施形態に係る画像復号装置31は、BT分割フラグ(bt_split_flag)及びBT分割方向フラグ(bt_dir_flag)を復号する代わりに、垂直に分割するか否かを示す分割フラグ(bt_split_vertically_flag/bt_hor_split_flag)及び水平に分割するか否かを示す分割フラグ(bt_split_horizontally_flag/bt_ver_split_flag)を復号してもよい。つまり、BT分割バイナリゼーションにおいて、1ビット目で水平分割の有無(垂直に分割されているか否か)を指定し、2ビット目で垂直分割の有無(水平に分割されているか否か)を指定してもよい。その場合、垂直分割及び水平分割が無い場合に、分割がないものとすることができる。なお、垂直分割フラグは、対象ブロックを水平に分割するか否かを示すフラグである。また、水平分割フラグは、対象ブロックを垂直に分割するか否かを示すフラグである。下記で、水平分割フラグ(bt_split_vertically_flag)のコンテキスト(ctxIdxBTVertically)と、垂直分割フラグ(bt_split_horizontally_flag)のコンテキスト(ctxIdxBTHorizontally)とを決定する方法を説明する。
また、コンテキスト決定部32は、splitHorizontallyが0より大きいか否かを判定する。splitHorizontallyが0より大きい場合、コンテキスト決定部32は、コンテキストを、ctxIdxBTHorizontally = 1に決定する。ctxIdxBTHorizontally = 1は、対象ブロックが水平に分割(垂直分割、左右に分割)される可能性が高く、CN情報復号部10が、対象ブロックを水平に分割するか否かを示す方向フラグを復号する可能性が高いことを示している。splitHorizontallyが0より大きくない場合、コンテキスト決定部32は、コンテキストを、ctxIdxBTHorizontally = 0に決定する。ctxIdxBTVHorizontally = 0は、対象ブロックが水平に分割される可能性が低く、CN情報復号部10が、対象ブロックを水平に分割するか否かを示す方向フラグを復号する可能性が低いことを示している。当該判定の式を下記に示す。
次に、splitHorizontally及びsplitVerticallyを優先的に参照し、width及びheightを参照してコンテキストを決定する方法を説明する。ステップS22において、コンテキスト決定部32は、splitVerticallyが0より大きいか否かを判定する。splitVerticallyが0より大きい場合、コンテキスト決定部32は、コンテキストを、ctxIdxBTVertically =1に決定する。splitVerticallytが0より大きくない場合、コンテキスト決定部32は、対象ブロックの幅であるwidthが対象ブロックの高さであるheightより小さいか否かを判
定する。widthがheightより小さい場合、コンテキスト決定部32は、コンテキストを、ctxIdxBTVertically = 1に決定する。widthがheightより小さくない場合、コンテキスト決定部32は、コンテキストを、ctxIdxBTVertically = 0に決定する。これらの判定の式を下記に示す。
また、コンテキスト決定部32は、splitHorizontallyが0より大きいか否かを判定する。splitHorizontallyが0より大きい場合、コンテキスト決定部32は、コンテキストを、ctxIdxBTHorizontally = 1に決定する。splitHorizontallyが0より大きくない場合、コンテキスト決定部32は、対象ブロックの幅であるwidthが対象ブロックの高さであるheightより大きいか否かを判定する。widthがheightより大きい場合、コンテキスト決定部32は、コンテキストを、ctxIdxBTHorizontally = 1に決定する。widthがheightより大きくない場合、コンテキスト決定部32は、コンテキストを、ctxIdxBTHorizontally= 0に決定する。これらの判定の式を下記に示す。
次に、width及びheightを優先的に参照し、splitHorizontally及びsplitVerticallyを参照してコンテキストを決定する方法を説明する。ステップS22において、コンテキスト決定部32は、対象ブロックの幅であるwidthが対象ブロックの高さであるheightより小さいか否かを判定する。widthがheightより小さい場合、コンテキスト決定部32は、コンテキストを、ctxIdxBTVertically = 1に決定する。widthがheightより小さくない場合、コンテキスト決定部32は、splitVerticallyが0より大きいか否かを判定する。splitVerticallyが0より大きい場合、コンテキスト決定部32は、コンテキストを、ctxIdxBTVertically = 1に決定する。splitVerticallyが0より大きくない場合、コンテキスト決定部32は、コンテキストを、ctxIdxBTVertically = 0に決定する。これらの判定の式を下記に示す。
また、コンテキスト決定部32は、対象ブロックの幅であるwidthが対象ブロックの高さであるheightより大きいか否かを判定する。widthがheightより大きい場合、コンテキスト決定部32は、コンテキストを、ctxIdxBTHorizontally = 1に決定する。widthがheightより大きくない場合、コンテキスト決定部32は、splitHorizontallyが0より大きいか否かを判定する。splitHorizontallyが0より大きい場合、コンテキスト決定部32は、コンテキストを、ctxIdxBTHorizontally = 1に決定する。splitHorizontallyが0より大きくない場合、コンテキスト決定部32は、コンテキストを、ctxIdxBTHorizontally =0に決定する。
以上のように、本態様に係る画像復号装置31は、対象ブロックの分割方向を示す方向フラグのコンテキストを、当該対象ブロックに隣接する1又は複数の隣接ブロックの分割状況を参照して決定し、当該コンテキストを用いて、方向フラグを復号する。これにより、隣接ブロックの分割状況に応じて、方向フラグを復号するため、隣接ブロックが分割されておらず、対象ブロックも分割されない可能性が高い場合に、不要な方向フラグを復号する可能性を減少させることができる。従って、画像復号装置において、分割情報の符号量を削減できる。
本態様では、実施形態2に係るコンテキスト決定方法と同様の方法によりコンテキストを導出する。ただし、本実施形態におけるコンテキストは、対象ブロックの分割方法を示す方向フラグのコンテキストである。本態様において、コンテキスト決定部32は、実施形態2と類似の方法により、対応ブロックの分割状況を特定することにより、対応ブロックの、分割の有無又は分割方向を判定し、当該判定に基づいて、対象ブロックの方向フラグのコンテキストを導出する。なお、実施形態3の態様2に係るCN情報復号部10は、上述の実施形態3の態様1の機能と同様の機能を有している。
本態様に係るコンテキスト決定部32は、CN情報復号部10がまだ分割していない色差ブロック(色差CB(請求項における第1の色コンポーネントに関する対象ブロック))に対応し、かつ、CN情報復号部10がすでに分割し復号した輝度ブロック(輝度CB(請求項における第2の色コンポーネントに関する対応ブロック))の分割関連情報と、をCN情報復号部10から取得する。
本態様に係る画像復号装置31によるコンテキスト決定方法について、図30を参照して、詳細に説明する。図30は、本態様に係る画像復号装置31によるコンテキスト決定方法の一例を説明するフローチャート図である。なお、実施形態1及び2、並びに実施形態3の態様1に係るコンテキスト決定方法と同様の工程については、詳細な説明は省略する。
本態様の具体例においても、コンテキスト決定部32は、実施形態3の態様1の具体例1及び具体例2と同様の方法を実行することができる。そのため、本態様の具体例についての詳細な説明は省略する。
以上のように、本態様に係る画像復号装置31は、第1の色コンポーネントに関する対象ブロックの分割方向を示す方向フラグのコンテキストを、既に復号された第2の色コンポーネントに関する対応ブロックの分割状況を参照して決定し、当該コンテキストを用いて、方向フラグを復号する。これにより、対応ブロックの分割状況に応じて、方向フラグを復号するため、対応ブロックが分割されておらず、対象ブロックも分割されない可能性が高い場合に、不要な方向フラグを復号する可能性を減少させることができる。従って、画像復号装置において、分割情報の符号量を削減できる。
本実施形態に係る画像復号装置31の構成は、同様に、画像符号化装置11にも適用できる。その場合、画像符号化装置11は、CN情報復号部10に代わるCN情報符号化部(図示せず)と、コンテキスト決定部32とを備え、対象ブロックを分割するか否かを示す分割方向フラグ(BT分割方向フラグ又はTT分割方向フラグ等)のコンテキストを導出する。
なお、上述した実施形態における画像符号化装置11、画像復号装置31の一部、例えば、エントロピー復号部301、予測パラメータ復号部302、ループフィルタ305、予測画像生成部308、逆量子化・逆DCT部311、加算部312、予測画像生成部101、減算部102、DCT・量子化部103、エントロピー符号化部104、逆量子化・逆DCT部105、ループフィルタ107、符号化パラメータ決定部110、予測パラメータ符号化部111をコンピュータで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、画像符号化装置11、画像復号装置31のいずれかに内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
上述した画像符号化装置11及び画像復号装置31は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用することができる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像(CG及びGUIを含む)であってもよい。
また、上述した画像復号装置31及び画像符号化装置11の各ブロックは、集積回路(ICチップ)上に形成された論理回路によってハードウェア的に実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェア的に実現してもよい。
媒体)などを備えている。そして、本発明の実施形態の目的は、上述した機能を実現するソフトウェアである上記各装置の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記各装置に供給し、そのコンピュータ(又はCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
本出願は、2017年3月16日に出願された日本国特許出願:特願2017-051342、及び2016年12月16日に出願された日本国特許出願:特願2016-244900に対して優先権の利益を主張するものであり、それらを参照することにより、その内容の全てが本書に含まれる。
11 画像符号化装置
13 TT情報復号部
22 TU復号部
31 画像復号装置
32 コンテキスト決定部
41 画像表示装置
Claims (24)
- ピクチャをブロック毎に復号する画像復号装置において、
当該対象ブロックに隣接する1又は複数の隣接ブロックの分割関連情報を比較した結果を参照して、対象ブロックの分割情報のコンテキストを決定するコンテキスト決定部と、
上記コンテキスト決定部によって決定されたコンテキストを用いて、上記対象ブロックの分割情報を復号する分割情報復号部と
を備えていることを特徴とする画像復号装置。 - 上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、
上記分割関連情報はブロックのデプスであることを特徴とする請求項1に記載の画像復号装置。 - 上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、
上記分割関連情報はブロックサイズであることを特徴とする請求項1に記載の画像復号装置。 - 上記分割関連情報を比較した結果は、対象ブロックの分割関連情報と隣接ブロックの分割関連情報の差分値の加算値であることを特徴とする請求項1~3の何れか1項に記載の画像復号装置。
- ピクチャをブロック毎に符号化する画像符号化装置において、
当該対象ブロックに隣接する1又は複数の隣接ブロックの分割関連情報を比較した結果を参照して、対象ブロックの分割情報のコンテキストを決定するコンテキスト決定部と、
上記コンテキスト決定部によって決定されたコンテキストを用いて、上記対象ブロックの分割情報を符号化する分割情報符号化部と
を備えていることを特徴とする画像符号化装置。 - 上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、
上記分割関連情報はブロックのデプスであることを特徴とする請求項5に記載の画像符号化装置。 - 上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、
上記分割関連情報はブロックサイズであることを特徴とする請求項5に記載の画像符号化装置。 - 上記分割関連情報を比較した結果は、対象ブロックの分割関連情報と隣接ブロックの分割関連情報の差分値の加算値であることを特徴とする請求項5~7の何れか1項に記載の画像符号化装置。
- ピクチャをブロック毎に復号する画像復号装置において、
対象ブロックの分割情報のコンテキストを、当該対象ブロックに隣接する1又は複数の隣接ブロックの分割状況を参照して決定するコンテキスト決定部と、
上記コンテキスト決定部によって決定されたコンテキストを用いて、上記対象ブロックの分割情報を復号する分割情報復号部と
を備えていることを特徴とする画像復号装置。 - 上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、
上記コンテキスト決定部は、上記隣接ブロックのパーティション番号を参照して、上記隣接ブロックの分割状況を特定することを特徴とする請求項9に記載の画像復号装置。 - 上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、
上記コンテキスト決定部は、上記隣接ブロックの水平デプス又は垂直デプスを参照して、上記隣接ブロックの分割状況を特定することを特徴とする請求項9に記載の画像復号装置。 - 上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、
上記コンテキスト決定部は、上記隣接ブロックのサイズを参照して、上記隣接ブロックの分割状況を特定することを特徴とする請求項9に記載の画像復号装置。 - 上記分割情報は、上記対象ブロックの分割方向を示す方向フラグであり、
上記コンテキスト決定部は、上記隣接ブロックのパーティション番号を参照して、上記隣接ブロックの分割状況を特定することを特徴とする請求項9に記載の画像復号装置。 - 上記分割情報は、上記対象ブロックの分割方向を示す方向フラグであり、
上記コンテキスト決定部は、上記隣接ブロックの水平デプス又は垂直デプスを参照して、上記隣接ブロックの分割状況を特定することを特徴とする請求項9に記載の画像復号装置。 - 上記分割情報は、上記対象ブロックの分割方向を示す方向フラグであり、
上記コンテキスト決定部は、上記隣接ブロックのサイズを参照して、上記隣接ブロックの分割状況を特定することを特徴とする請求項9に記載の画像復号装置。 - 上記分割情報は、上記対象ブロックを水平分割するか否かを示す水平分割フラグ、及び上記対象ブロックを垂直分割するか否かを示す垂直分割フラグであり、
上記コンテキスト決定部は、上記隣接ブロックのパーティション番号を参照して、上記隣接ブロックの分割状況を特定することを特徴とする請求項9に記載の画像復号装置。 - 上記分割情報は、上記対象ブロックを水平分割するか否かを示す水平分割フラグ、及び上記対象ブロックを垂直分割するか否かを示す垂直分割フラグであり、
上記コンテキスト決定部は、上記隣接ブロックの水平デプス又は垂直デプスを参照して、上記隣接ブロックの分割状況を特定することを特徴とする請求項9に記載の画像復号装置。 - 上記分割情報は、上記対象ブロックを水平分割するか否かを示す水平分割フラグ、及び上記対象ブロックを垂直分割するか否かを示す垂直分割フラグであり、
上記コンテキスト決定部は、上記隣接ブロックのサイズを参照して、上記隣接ブロックの分割状況を特定することを特徴とする請求項9に記載の画像復号装置。 - ピクチャをブロック毎に符号化する画像符号化装置において、
対象ブロックの分割情報のコンテキストを、当該対象ブロックに隣接する1又は複数の隣接ブロックの分割状況を参照して決定するコンテキスト決定部と、
上記コンテキスト決定部によって決定されたコンテキストを用いて、上記対象ブロックの分割情報を符号化する分割情報符号化部と
を備えていることを特徴とする画像符号化装置。 - ピクチャをブロック毎に復号する画像復号装置において、
第1の色コンポーネントに関する対象ブロックの分割情報のコンテキストを、既に復号された第2の色コンポーネントに関する対応ブロックの分割状況を参照して決定するコンテキスト決定部と、
上記コンテキスト決定部によって決定されたコンテキストを用いて、上記第1の色コンポーネントに関する対象ブロックの分割情報を復号する分割情報復号部と
を備えていることを特徴とする画像復号装置。 - 上記分割情報は、上記第1の色コンポーネントに関する対象ブロックを分割するか否かを示す分割フラグであり、
上記コンテキスト決定部は、上記第2の色コンポーネントに関する対応ブロックのパーティション番号を参照して、上記第2の色コンポーネントに関する対応ブロックの分割状況を特定することを特徴とする請求項20に記載の画像復号装置。 - 上記分割情報は、上記第1の色コンポーネントに関する対象ブロックの分割方向を示す方向フラグであり、
上記コンテキスト決定部は、上記第2の色コンポーネントに関する対応ブロックのパーティション番号を参照して、上記第2の色コンポーネントに関する対応ブロックの分割状況を特定することを特徴とする請求項20に記載の画像復号装置。 - 上記分割情報は、上記第1の色コンポーネントに関する対象ブロックを水平分割するか否かを示す水平分割フラグ、及び上記第1の色コンポーネントに関する対象ブロックを垂直分割するか否かを示す垂直分割フラグであり、
上記コンテキスト決定部は、上記第2の色コンポーネントに関する対応ブロックのパーティション番号を参照して、上記第2の色コンポーネントに関する対応ブロックの分割状況を特定することを特徴とする請求項20に記載の画像復号装置。 - ピクチャをブロック毎に符号化する画像符号化装置において、
第1の色コンポーネントに関する対象ブロックの分割情報のコンテキストを、既に復号された第2の色コンポーネントに関する対応ブロックの分割状況を参照して決定するコンテキスト決定部と、
上記コンテキスト決定部によって決定されたコンテキストを用いて、上記第1の色コンポーネントに関する対象ブロックの分割情報を符号化する分割情報符号化部と
を備えていることを特徴とする画像符号化装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA3046942A CA3046942A1 (en) | 2016-12-16 | 2017-12-08 | Image decoding device and image encoding device |
JP2018556643A JP7213689B2 (ja) | 2016-12-16 | 2017-12-08 | 画像復号装置及び画像符号化装置 |
US16/468,309 US20200077099A1 (en) | 2016-12-16 | 2017-12-08 | Image decoding device and image coding device |
EP17880544.6A EP3557873B1 (en) | 2016-12-16 | 2017-12-08 | Image decoding device and image encoding device |
CN201780077864.5A CN110169067B (zh) | 2016-12-16 | 2017-12-08 | 图像解码装置以及图像编码装置 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016244900 | 2016-12-16 | ||
JP2016-244900 | 2016-12-16 | ||
JP2017051342 | 2017-03-16 | ||
JP2017-051342 | 2017-03-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018110462A1 true WO2018110462A1 (ja) | 2018-06-21 |
Family
ID=62558663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2017/044240 WO2018110462A1 (ja) | 2016-12-16 | 2017-12-08 | 画像復号装置及び画像符号化装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20200077099A1 (ja) |
EP (1) | EP3557873B1 (ja) |
JP (1) | JP7213689B2 (ja) |
CN (1) | CN110169067B (ja) |
CA (1) | CA3046942A1 (ja) |
WO (1) | WO2018110462A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113508588A (zh) * | 2019-01-02 | 2021-10-15 | 弗劳恩霍夫应用研究促进协会 | 编码和解码图像 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019174567A1 (zh) * | 2018-03-16 | 2019-09-19 | 华为技术有限公司 | 划分标志位的上下文建模方法及装置 |
CN110278443B (zh) * | 2018-03-16 | 2022-02-11 | 华为技术有限公司 | 划分标志位的上下文建模方法及装置 |
HUE061846T2 (hu) | 2018-06-15 | 2023-08-28 | Lg Electronics Inc | Eljárás és berendezés CABAC-alapú entrópiás kódoláshoz |
KR20210142779A (ko) * | 2018-08-24 | 2021-11-25 | 삼성전자주식회사 | 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치 |
KR20210089153A (ko) | 2018-11-13 | 2021-07-15 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 화면 내 블록 복사를 위한 히스토리 기반 움직임 후보 리스트 구성 |
US11240499B2 (en) * | 2019-05-24 | 2022-02-01 | Tencent America LLC | Method and apparatus for video coding |
US11272199B2 (en) * | 2019-06-24 | 2022-03-08 | FG Innovation Company Limited | Device and method for coding video data |
WO2022268207A1 (en) * | 2021-06-25 | 2022-12-29 | FG Innovation Company Limited | Device and method for partitioning blocks in video coding |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013047811A1 (ja) * | 2011-09-29 | 2013-04-04 | シャープ株式会社 | 画像復号装置、画像復号方法および画像符号化装置 |
JP2017051342A (ja) | 2015-09-08 | 2017-03-16 | オムロンヘルスケア株式会社 | 拍動情報測定装置及び拍動情報測定方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878722B (zh) * | 2011-06-24 | 2019-11-12 | 太阳专利托管公司 | 解码方法、解码装置、编码方法、编码装置 |
JP5719401B2 (ja) * | 2013-04-02 | 2015-05-20 | 日本電信電話株式会社 | ブロックサイズ決定方法、映像符号化装置、及びプログラム |
US10863207B2 (en) * | 2015-11-27 | 2020-12-08 | Mediatek Inc. | Method and apparatus of entropy coding and context modelling for video and image coding |
-
2017
- 2017-12-08 JP JP2018556643A patent/JP7213689B2/ja active Active
- 2017-12-08 CA CA3046942A patent/CA3046942A1/en active Pending
- 2017-12-08 US US16/468,309 patent/US20200077099A1/en not_active Abandoned
- 2017-12-08 WO PCT/JP2017/044240 patent/WO2018110462A1/ja unknown
- 2017-12-08 EP EP17880544.6A patent/EP3557873B1/en active Active
- 2017-12-08 CN CN201780077864.5A patent/CN110169067B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013047811A1 (ja) * | 2011-09-29 | 2013-04-04 | シャープ株式会社 | 画像復号装置、画像復号方法および画像符号化装置 |
JP2017051342A (ja) | 2015-09-08 | 2017-03-16 | オムロンヘルスケア株式会社 | 拍動情報測定装置及び拍動情報測定方法 |
Non-Patent Citations (4)
Title |
---|
CHEN, JIANLE ET AL.: "Algorithm Description of Joint Exploration Test Model 2", JOINT VIDEO EXPLORATION TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/ WO 11 , JVET-B1001_V3, 20 February 2016 (2016-02-20), pages 1 - 3, XP055436454 * |
ITU-T, RECOMMENDATION ITU- TH . 265(04/2013) HIGH EFFICIENCY VIDEO CODING, ITU-T, vol. 164, 30 April 2013 (2013-04-30), pages 181 - 184, XP055510454 * |
See also references of EP3557873A4 |
WANG, ZHAO ET AL.: "Local-Constrained Quadtree Plus Binary Tree Block Partition Structure for Enhanced Video Coding", VISUAL COMMUNICATIONS AND IMAGE PROCESSING (VCI 2016, 27 November 2016 (2016-11-27), pages 1 - 4, XP055472947 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113508588A (zh) * | 2019-01-02 | 2021-10-15 | 弗劳恩霍夫应用研究促进协会 | 编码和解码图像 |
JP2022516734A (ja) * | 2019-01-02 | 2022-03-02 | フラウンホーファー-ゲゼルシャフト ツル フェルデルング デル アンゲヴァンテン フォルシュング エー ファウ | 画像の符号化及び復号化 |
US11770527B2 (en) | 2019-01-02 | 2023-09-26 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Encoding and decoding a picture |
JP7360466B2 (ja) | 2019-01-02 | 2023-10-12 | フラウンホーファー-ゲゼルシャフト ツル フェルデルング デル アンゲヴァンテン フォルシュング エー ファウ | 画像の符号化及び復号化 |
Also Published As
Publication number | Publication date |
---|---|
EP3557873B1 (en) | 2022-02-16 |
JPWO2018110462A1 (ja) | 2019-10-24 |
US20200077099A1 (en) | 2020-03-05 |
CN110169067B (zh) | 2021-12-31 |
EP3557873A4 (en) | 2020-06-03 |
EP3557873A1 (en) | 2019-10-23 |
CN110169067A (zh) | 2019-08-23 |
CA3046942A1 (en) | 2018-06-21 |
JP7213689B2 (ja) | 2023-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7421586B2 (ja) | 復号装置および符号化装置 | |
WO2018199001A1 (ja) | 画像復号装置及び画像符号化装置 | |
US11234011B2 (en) | Image decoding apparatus and image coding apparatus | |
WO2018110462A1 (ja) | 画像復号装置及び画像符号化装置 | |
WO2018116925A1 (ja) | イントラ予測画像生成装置、画像復号装置、および画像符号化装置 | |
WO2018116802A1 (ja) | 画像復号装置、画像符号化装置、及び画像予測装置 | |
WO2018221368A1 (ja) | 動画像復号装置、及び動画像符号化装置 | |
WO2018037896A1 (ja) | 画像復号装置、画像符号化装置、画像復号方法、および画像符号化方法 | |
WO2018110203A1 (ja) | 動画像復号装置、および動画像符号化装置 | |
WO2019221072A1 (ja) | 画像符号化装置、符号化ストリーム抽出装置及び画像復号装置 | |
JP2021010046A (ja) | 画像符号化装置及び画像復号装置 | |
JP7241153B2 (ja) | 画像復号装置 | |
WO2018159526A1 (ja) | 動画像符号化装置及び動画像復号装置 | |
WO2019230904A1 (ja) | 画像復号装置、および画像符号化装置 | |
WO2019159820A1 (ja) | 動画像符号化装置及び動画像復号装置 | |
WO2018061550A1 (ja) | 画像復号装置及び画像符号化装置 | |
WO2018173862A1 (ja) | 画像復号装置及び画像符号化装置 | |
JP2022068379A (ja) | 画像復号装置 | |
JP2020036101A (ja) | 画像復号装置および画像符号化装置 | |
JP2019201332A (ja) | 画像符号化装置、画像復号装置、及び画像符号化システム | |
JP2019201256A (ja) | 画像フィルタ装置 | |
WO2019131349A1 (ja) | 画像復号装置、画像符号化装置 | |
WO2020004277A1 (ja) | 画像復号装置、および画像符号化装置 | |
WO2018037919A1 (ja) | 画像復号装置、画像符号化装置、画像復号方法、および画像符号化方法 | |
WO2019065537A1 (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: 17880544 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2018556643 Country of ref document: JP Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 3046942 Country of ref document: CA |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2017880544 Country of ref document: EP Effective date: 20190716 |