WO2018110462A1 - 画像復号装置及び画像符号化装置 - Google Patents

画像復号装置及び画像符号化装置 Download PDF

Info

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
Application number
PCT/JP2017/044240
Other languages
English (en)
French (fr)
Inventor
知宏 猪飼
将伸 八杉
友子 青野
Original Assignee
シャープ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by シャープ株式会社 filed Critical シャープ株式会社
Priority to CA3046942A priority Critical patent/CA3046942A1/en
Priority to JP2018556643A priority patent/JP7213689B2/ja
Priority to US16/468,309 priority patent/US20200077099A1/en
Priority to EP17880544.6A priority patent/EP3557873B1/en
Priority to CN201780077864.5A priority patent/CN110169067B/zh
Publication of WO2018110462A1 publication Critical patent/WO2018110462A1/ja

Links

Images

Classifications

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

Definitions

  • the present invention relates to 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

画像復号装置(31)は、対象ブロックの分割情報のコンテキストを、当該対象ブロックに隣接する1又は複数の隣接ブロックの分割関連情報を参照して決定するコンテキスト決定部(32)と、上記コンテキスト決定部によって決定されたコンテキストを用いて、上記対象ブロックの分割情報を復号する分割情報復号部(10)とを備えている。

Description

画像復号装置及び画像符号化装置
 本発明は、画像復号装置、及び画像符号化装置に関する。
 動画像を効率的に伝送又は記録するために、動画像を符号化することによって符号化データを生成する動画像符号化装置、及び、当該符号化データを復号することによって復号画像を生成する動画像復号装置が用いられている。
 具体的な動画像符号化方式としては、例えば、H.264/AVCやHEVC(High-Efficiency Video Coding)にて提案されている方式などが挙げられる。
 このような動画像符号化方式においては、動画像を構成する画像(ピクチャ)は、画像を分割することにより得られるスライス、スライスを分割することにより得られる符号化ツリーユニット(CTU:Coding Tree Unit)、符号化ツリーユニットを分割することにより得られる符号化単位(符号化ユニット(Coding Unit:CU)と呼ばれることもある)、及び、符号化単位を分割することより得られるブロックである予測ユニット(PU)、変換ユニット(TU)からなる階層構造により管理され、CUごとに符号化/復号される。
 また、このような動画像符号化方式においては、通常、入力画像を符号化/復号することによって得られる局所復号画像に基づいて予測画像が生成され、当該予測画像を入力画像(原画像)から減算して得られる予測残差(「差分画像」又は「残差画像」と呼ぶこともある)が符号化される。予測画像の生成方法としては、画面間予測(インター予測)、及び、画面内予測(イントラ予測)が挙げられる。
 また、近年の動画像符号化及び復号の技術として非特許文献1が挙げられる。
 さらに、近年では、スライスを構成するCTUの分割方式として、CTUを四分木(quad tree)分割するQT分割に加えて、二分木(binary tree)分割するBT分割が導入されている。このBT分割には、水平分割と垂直分割とが含まれる。
"Algorithm Description of Joint Exploration Test Model 5", JVET-E1001-v1, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 12-20 January 2017
 しかし、CTUの分割方式として、QT分割に加えてBT分割が導入されたことにより、CUへの分割パターンが増大し、動画像の符号化処理量又は復号処理量が増え、符号化/復号が複雑となる。QT分割及びBT分割では、QT分割フラグを符号化又は復号するとともに、BT分割フラグを符号化又は復号する必要がある。そして、これらの分割フラグの符号量が大きいという問題がある。
 本発明の一態様は、上記の問題点に鑑みてなされたものであり、その主たる目的は、画像符号化装置又は画像復号装置において、分割情報の符号量を削減できる技術を提供することである。
 上記の課題を解決するために、本発明の一態様に係る画像復号装置は、ピクチャをブロック毎に復号する画像復号装置において、当該対象ブロックに隣接する1又は複数の隣接ブロックの分割関連情報を比較した結果を参照して、対象ブロックの分割情報のコンテキストを決定するコンテキスト決定部と、上記コンテキスト決定部によって決定されたコンテキストを用いて、上記対象ブロックの分割情報を復号する分割情報復号部とを備えている。
 上記の課題を解決するために、本発明の一態様に係る画像符号化装置は、ピクチャをブロック毎に符号化する画像符号化装置において、当該対象ブロックに隣接する1又は複数の隣接ブロックの分割関連情報を比較した結果を参照して、対象ブロックの分割情報のコンテキストを決定するコンテキスト決定部と、上記コンテキスト決定部によって決定されたコンテキストを用いて、上記対象ブロックの分割情報を符号化する分割情報符号化部とを備えている。
 上記の課題を解決するために、本発明の一態様に係る画像復号装置は、ピクチャをブロック毎に復号する画像復号装置において、対象ブロックの分割情報のコンテキストを、当該対象ブロックに隣接する1又は複数の隣接ブロックの分割状況を参照して決定するコンテキスト決定部と、上記コンテキスト決定部によって決定されたコンテキストを用いて、上記対象ブロックの分割情報を復号する分割情報復号部とを備えている。
 上記の課題を解決するために、本発明の一態様に係る画像符号化装置は、ピクチャをブロック毎に符号化する画像符号化装置において、対象ブロックの分割情報のコンテキストを、当該対象ブロックに隣接する1又は複数の隣接ブロックの分割状況を参照して決定するコンテキスト決定部と、上記コンテキスト決定部によって決定されたコンテキストを用いて、上記対象ブロックの分割情報を符号化する分割情報符号化部とを備えている。
 上記の課題を解決するために、本発明の一態様に係る画像復号装置は、ピクチャをブロック毎に復号する画像復号装置において、第1の色コンポーネントに関する対象ブロックの分割情報のコンテキストを、既に復号された第2の色コンポーネントに関する対応ブロックの分割状況を参照して決定するコンテキスト決定部と、上記コンテキスト決定部によって決定されたコンテキストを用いて、上記第1の色コンポーネントに関する対象ブロックの分割情報を復号する分割情報復号部とを備えている。
 上記の課題を解決するために、本発明の一態様に係る画像符号化装置は、ピクチャをブロック毎に符号化する画像符号化装置において、第1の色コンポーネントに関する対象ブロックの分割情報のコンテキストを、既に復号された第2の色コンポーネントに関する対応ブロックの分割状況を参照して決定するコンテキスト決定部と、上記コンテキスト決定部によって決定されたコンテキストを用いて、上記第1の色コンポーネントに関する対象ブロックの分割情報を符号化する分割情報符号化部とを備えている。
 本発明の一態様によれば、画像復号装置において、分割情報の符号量を削減できる。
本実施形態に係る画像伝送システムの構成を示す概略図である。 本実施形態に係る符号化ストリームのデータの階層構造を示す図である。 PU分割モードのパターンを示す図である。(a)~(h)は、それぞれ、PU分割モードが、2Nx2N、2NxN、2NxnU、2NxnD、Nx2N、nLx2N、nRx2N、及び、NxNの場合のパーティション形状について示している。 参照ピクチャ及び参照ピクチャリストの一例を示す概念図である。 本実施形態に係る画像符号化装置の構成を示すブロック図である。 本実施形態に係る画像復号装置の構成を示す概略図である。 本実施形態に係る画像符号化装置の要部構成を示すブロック図である。 本実施形態に係る画像符号化装置を搭載した送信装置、及び、画像復号装置を搭載した受信装置の構成について示した図である。(a)は、画像符号化装置を搭載した送信装置を示しており、(b)は、画像復号装置を搭載した受信装置を示している。 本実施形態に係る画像符号化装置を搭載した記録装置、及び、画像復号装置を搭載した再生装置の構成について示した図である。(a)は、画像符号化装置を搭載した記録装置を示しており、(b)は、画像復号装置を搭載した再生装置を示している。 本実施形態に係る画像復号装置の要部構成を示したブロック図である。 (a)は、QT分割を説明するための図である。(b)は、BT分割を説明するための図である。(c)は、TT分割を説明するための図である。 本発明の一実施形態に係る画像復号装置によるコンテキスト決定方法を説明するフローチャートである。 本発明の一実施形態に係る画像復号装置によるコンテキスト決定方法を説明するための図である。 本発明の一実施形態に係る画像復号装置によるコンテキスト決定方法の具体例1を説明するための図である。 本発明の一実施形態に係る画像復号装置によるコンテキスト決定方法の具体例2を説明するための図である。 本発明の一実施形態に係る画像復号装置によるコンテキスト決定方法の具体例3を説明するための図である。 対象ブロックと隣接ブロックのデプスを示す図である。 本発明の一実施形態に係るコンテキスト決定方法の具体例を説明するための図である。 対象ブロックと隣接ブロックの分割およびデプスの関係を示す一例である。 対象ブロックと隣接ブロックの位置を示す図である。 本発明の一実施形態に係るコンテキスト決定方法の具体例を説明するフローチャートである。 本発明の一実施形態に係るクリッピング処理を説明するフローチャートである。 本発明の一実施形態に係るコンテキスト決定方法において、分割関連情報の差分値の加算結果あるいは最大値とコンテキストのマッピング表の一例である。 本発明の一実施形態に係る画像復号装置によるコンテキスト決定方法を説明するフローチャートである。 本発明の一実施形態に係る画像復号装置によるコンテキスト決定方法の具体例1を説明するための図である。(a)は、色差ブロックを示している。(b)は、輝度ブロックを示している。 本発明の一実施形態に係る画像復号装置によるコンテキスト決定方法の具体例2を説明するための図である。(a)は、色差ブロックを示している。(b)は、輝度ブロックを示している。 本発明の一実施形態に係る画像復号装置によるコンテキスト決定方法の具体例3を説明するための図である。(a)は、色差ブロックを示している。(b)は、輝度ブロックを示している。 本発明の一態様に係る画像復号装置によるコンテキスト決定方法を説明するフローチャートである。 (a)~(d)は、それぞれ、本発明の一実施形態に係る画像復号装置によるコンテキスト決定方法の具体例を説明するための表である。 本発明の一態様に係る画像復号装置によるコンテキスト決定方法を説明するフローチャートである。
 〔第1の実施形態〕
 以下、図面を参照しながら本発明の実施形態について説明する。
 図1は、本実施形態に係る画像伝送システム1の構成を示す概略図である。
 画像伝送システム1は、符号化対象画像を符号化した符号を伝送し、伝送された符号を復号し画像を表示するシステムである。画像伝送システム1は、画像符号化装置11、ネットワーク21、画像復号装置31及び画像表示装置41を含んで構成される。
 画像符号化装置11には、単一レイヤ若しくは複数レイヤの画像を示す画像Tが入力される。レイヤとは、ある時間を構成するピクチャが1つ以上ある場合に、複数のピクチャを区別するために用いられる概念である。たとえば、同一ピクチャを、画質や解像度の異なる複数のレイヤで符号化するとスケーラブル符号化になり、異なる視点のピクチャを複数のレイヤで符号化するとビュースケーラブル符号化となる。複数のレイヤのピクチャ間で予測(インターレイヤ予測、インタービュー予測)を行う場合には、符号化効率が大きく向上する。また予測を行わない場合(サイマルキャスト)の場合にも、符号化データをまとめることができる。
 ネットワーク21は、画像符号化装置11が生成した符号化ストリームTeを画像復号装置31に伝送する。ネットワーク21は、インターネット(internet)、広域ネットワーク(WAN:Wide Area Network)、小規模ネットワーク(LAN:Local Area Network)又はこれらの組み合わせである。ネットワーク21は、必ずしも双方向の通信網に限らず、地上デジタル放送、衛星放送等の放送波を伝送する一方向の通信網であっても良い。また、ネットワーク21は、DVD(Digital Versatile Disc)、BD(Blu-ray Disc:登録商標)等の符号化ストリームTeを記録した記憶媒体で代替されても良い。
 画像復号装置31は、ネットワーク21が伝送した符号化ストリームTeのそれぞれを復号し、それぞれ復号した1又は複数の復号画像Tdを生成する。
 画像表示装置41は、画像復号装置31が生成した1又は複数の復号画像Tdの全部又は一部を表示する。画像表示装置41は、例えば、液晶ディスプレイ、有機EL(Electro-luminescence)ディスプレイ等の表示デバイスを備える。また、空間スケーラブル符号化、SNRスケーラブル符号化では、画像復号装置31、画像表示装置41が高い処理能力を有する場合には、画質の高い拡張レイヤ画像を表示し、より低い処理能力しか有しない場合には、拡張レイヤほど高い処理能力、表示能力を必要としないベースレイヤ画像を表示する。
 <演算子>
 本明細書で用いる演算子を以下に記載する。
 >>は右ビットシフト、<<は左ビットシフト、&はビットワイズAND、|はビットワイズOR、|=は別の条件との和演算(OR)である。
 x ? y : zは、xが真(0以外)の場合にy、xが偽(0)の場合にzをとる3項演算子である。
 Clip3(a, b, c) は、cをa以上b以下の値にクリップする関数であり、c<aの場合にはaを返し、c>bの場合にはbを返し、その他の場合にはcを返す関数である(ただし、a<=b)。
 <符号化ストリームTeの構造>
 本実施形態に係る画像符号化装置11及び画像復号装置31の詳細な説明に先立って、画像符号化装置11によって生成され、画像復号装置31によって復号される符号化ストリームTeのデータ構造について説明する。
 図2は、符号化ストリームTeにおけるデータの階層構造を示す図である。符号化ストリームTeは、例示的に、シーケンス、及びシーケンスを構成する複数のピクチャを含む。図2の(a)~(f)は、それぞれ、シーケンスSEQを既定する符号化ビデオシーケンス、ピクチャPICTを規定する符号化ピクチャ、スライスSを規定する符号化スライス、スライスデータを規定する符号化スライスデータ、符号化スライスデータに含まれる符号化ツリーユニット、符号化ツリーユニットに含まれる符号化ユニット(Coding Unit;CU)を示す図である。
 (符号化ビデオシーケンス)
 符号化ビデオシーケンスでは、処理対象のシーケンス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の符号化データが存在する例を示すが、レイヤの種類及びレイヤの数はこれによらない。
 ビデオパラメータセットVPSは、複数のレイヤから構成されている動画像において、複数の動画像に共通する符号化パラメータの集合及び動画像に含まれる複数のレイヤ及び個々のレイヤに関連する符号化パラメータの集合が規定されている。
 シーケンスパラメータセットSPSでは、対象シーケンスを復号するために画像復号装置31が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの幅や高さが規定される。なお、SPSは複数存在してもよい。その場合、PPSから複数のSPSの何れかを選択する。
 ピクチャパラメータセットPPSでは、対象シーケンス内の各ピクチャを復号するために画像復号装置31が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの復号に用いられる量子化幅の基準値(pic_init_qp_minus26)や重み付き予測の適用を示すフラグ(weighted_pred_flag)が含まれる。なお、PPSは複数存在してもよい。その場合、対象シーケンス内の各ピクチャから複数のPPSの何れかを選択する。
 (符号化ピクチャ)
 符号化ピクチャでは、処理対象のピクチャPICTを復号するために画像復号装置31が参照するデータの集合が規定されている。ピクチャPICTは、図2の(b)に示すように、スライスS0~SNS-1を含んでいる(NSはピクチャPICTに含まれるスライスの総数)。
 なお、以下、スライスS0~SNS-1のそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する符号化ストリームTeに含まれるデータであって、添え字を付している他のデータについても同様である。
 (符号化スライス)
 符号化スライスでは、処理対象のスライスSを復号するために画像復号装置31が参照するデータの集合が規定されている。スライスSは、図2の(c)に示すように、スライスヘッダSH、及び、スライスデータSDATAを含んでいる。
 スライスヘッダSHには、対象スライスの復号方法を決定するために画像復号装置31が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報(slice_type)は、スライスヘッダSHに含まれる符号化パラメータの一例である。
 スライスタイプ指定情報により指定可能なスライスタイプとしては、(1)符号化の際にイントラ予測のみを用いるIスライス、(2)符号化の際に単方向予測、又は、イントラ予測を用いるPスライス、(3)符号化の際に単方向予測、双方向予測、又は、イントラ予測を用いるBスライスなどが挙げられる。
 なお、スライスヘッダSHには、上記符号化ビデオシーケンスに含まれる、ピクチャパラメータセットPPSへの参照(pic_parameter_set_id)を含んでいても良い。
 (符号化スライスデータ)
 符号化スライスデータでは、処理対象のスライスデータ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)であり、符号化ツリーユニット自身も最上位の符号化ツリーとして規定される。
 CTUは、QT分割を行うか否かを示すQT分割フラグ(cu_split_flag)、及びBT分割の分割方法を示すBT分割モード(split_bt_mode)を含む。cu_split_flagが1の場合には、4つの符号化ノードCNに分割される。cu_split_flagが0の場合には、符号化ノードCNは分割されず、1つの符号化ユニット(CU:Coding Unit)をノードとして持つ。一方、split_bt_modeが2の場合には、2つの符号化ノードCNに水平分割(horitonzal split、水平な分割線による分割、上と下の2つ以上のブロックに分割)される。split_bt_modeが1の場合には、2つの符号化ノードCNに垂直分割(vertical split、垂直な分割線による分割、ここでは左と右の2つ以上のブロックに分割)される。split_bt_modeが0の場合には、符号化ノードCNは分割されず、1つの符号化ユニットCUをノードとして持つ。なお、水平分割は、あるブロックが垂直方向に並ぶ2つ以上のブロックに分割されるため、垂直な分割(split vertically)とも呼ぶ。同様に、垂直分割は、あるブロックが水平方向に並ぶ2つ以上のブロックに分割されるため水平な分割(split horizontally)とも呼ぶ。まとめると用語の定義は以下のとおりである。
 水平分割(horizontal split)= 垂直に分割(split vertically)= 上下に分割
 垂直分割(vertical split)= 水平に分割(split horizontally)= 左右に分割
符号化ユニットCUは符号化ノードの末端ノード(リーフノード)であり、これ以上分割されない。符号化ユニットCUは、符号化処理の基本的な単位となる。
 また、符号化ツリーユニットCTUのサイズが64x64画素の場合には、符号化ユニットのサイズは、64x64画素、64x32画素、32x64画素、32x32画素、64x16画素、16x64画素、32x16画素、16x32画素、16x16画素、64x8画素、8x64画素、32x8画素、8x32画素、16x8画素、8x16画素、及び、8x8画素の何れかをとり得る。
 (符号化ユニット)
 図2の(f)に示すように、処理対象の符号化ユニットを復号するために画像復号装置31が参照するデータの集合が規定されている。具体的には、符号化ユニットは、予測ツリー、変換ツリー、CUヘッダCUHから構成される。CUヘッダでは予測モード、分割方法(PU分割モード)等が規定される。
 予測ツリーでは、符号化ユニットを1又は複数に分割した各予測ユニット(PU)の予測情報(参照ピクチャインデックス、動きベクトル等)が規定される。別の表現でいえば、予測ユニットは、符号化ユニットを構成する1又は複数の重複しない領域である。また、予測ツリーは、上述の分割により得られた1又は複数の予測ユニットを含む。なお、以下では、予測ユニットをさらに分割した予測単位を「サブブロック」と呼ぶ。サブブロックは、複数の画素によって構成されている。予測ユニットとサブブロックのサイズが等しい場合には、予測ユニット中のサブブロックは1つである。予測ユニットがサブブロックのサイズよりも大きい場合には、予測ユニットは、サブブロックに分割される。たとえば予測ユニットが8x8、サブブロックが4x4の場合には、予測ユニットは水平に2分割、垂直に2分割からなる、4つのサブブロックに分割される。
 予測処理は、この予測ユニット(サブブロック)ごとに行ってもよい。
 予測ツリーにおける分割の種類は、大まかにいえば、イントラ予測の場合と、インター予測の場合との2つがある。イントラ予測とは、同一ピクチャ内の予測であり、インター予測とは、互いに異なるピクチャ間(例えば、表示時刻間、レイヤ画像間)で行われる予測処理を指す。
 イントラ予測の場合、分割方法は、2Nx2N(符号化ユニットと同一サイズ)と、NxNとがある。
 また、インター予測の場合、分割方法は、符号化データのPU分割モード(part_mode)により符号化され、2Nx2N(符号化ユニットと同一サイズ)、2NxN、2NxnU、2NxnD、Nx2N、nLx2N、nRx2N、及び、NxNなどがある。なお、2NxN、Nx2Nは1:1の対称分割を示し、
2NxnU、2NxnD及びnLx2N、nRx2Nは、1:3、3:1の非対称分割を示す。CUに含まれるPUを順にPU0、PU1、PU2、PU3と表現する。
 図3の(a)~(h)に、それぞれのPU分割モードにおけるパーティションの形状(PU分割の境界の位置)を具体的に図示している。図3の(a)は、2Nx2Nのパーティションを示し、(b)、(c)、(d)は、それぞれ、2NxN、2NxnU、及び、2NxnDのパーティション(横長パーティション)を示す。(e)、(f)、(g)は、それぞれ、Nx2N、nLx2N、nRx2Nである場合のパーティション(縦長パーティション)を示し、(h)は、NxNのパーティションを示す。なお、横長パーティションと縦長パーティションを総称して長方形パーティション、2Nx2N、NxNを総称して正方形パーティションと呼ぶ。
 また、変換ツリー(TT:Transform Tree)においては、符号化ユニットが1又は複数の変換ユニット(TU:Transform Unit)に分割され、各変換ユニットの位置とサイズとが規定される。別の表現でいえば、変換ユニットは、符号化ユニットを構成する1又は複数の重複しない領域のことである。また、変換ツリーは、上述の分割より得られた1又は複数の変換ユニットを含む。
 変換ツリーにおける分割には、符号化ユニットと同一のサイズの領域を変換ユニットとして割り付けるものと、上述したCUの分割と同様、CUを四分木分割(TU分割)することにより変換ユニットを得るものがある。変換処理は、この変換ユニットごとに行われる。
 (予測パラメータ)
 予測ユニット(PU:Prediction Unit)の予測画像は、PUに付随する予測パラメータによって導出される。予測パラメータには、イントラ予測の予測パラメータ若しくはインター予測の予測パラメータがある。以下、インター予測の予測パラメータ(インター予測パラメータ)について説明する。インター予測パラメータは、予測リスト利用フラグpredFlagL0、predFlagL1と、参照ピクチャインデックスrefIdxL0、refIdxL1と、動きベクトルmvL0、mvL1から構成される。予測リスト利用フラグpredFlagL0、predFlagL1は、各々L0リスト、L1リストと呼ばれる参照ピクチャリストが用いられるか否かを示すフラグであり、値が1の場合に対応する参照ピクチャリストが用いられる。なお、本明細書中「XXであるか否かを示すフラグ」と記す場合、フラグが0以外(たとえば1)をXXである場合、0をXXではない場合とし、論理否定、論理積などでは1を真、0を偽と扱う(以下同様)。但し、実際の装置や方法では真値、偽値として他の値を用いることもできる。
 符号化データに含まれるインター予測パラメータを導出するためのシンタックス要素には、例えば、PU分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLXがある。
 (参照ピクチャリスト)
 参照ピクチャリストは、参照ピクチャメモリ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が参照される例を示す。
 (マージ予測とAMVP予測)
 予測パラメータの復号(符号化)方法には、マージ予測(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として符号化される。
 インター予測識別子inter_pred_idcは、参照ピクチャの種類及び数を示す値であり、PRED_L0、PRED_L1、PRED_BIの何れかの値をとる。PRED_L0、PRED_L1は、各々L0リスト、L1リストの参照ピクチャリストで管理された参照ピクチャを用いることを示し、1枚の参照ピクチャを用いること(単予測)を示す。PRED_BIは2枚の参照ピクチャを用いること(双予測BiPred)を示し、L0リストとL1リストで管理された参照ピクチャを用いる。予測ベクトルインデックスmvp_LX_idxは予測ベクトルを示すインデックスであり、参照ピクチャインデックスrefIdxLXは、参照ピクチャリストで管理された参照ピクチャを示すインデックスである。なお、LXは、L0予測とL1予測を区別しない場合に用いられる記述方法であり、LXをL0、L1に置き換えることでL0リストに対するパラメータとL1リストに対するパラメータを区別する。
 マージインデックスmerge_idxは、処理が完了したPUから導出される予測パラメータ候補(マージ候補)のうち、いずれかの予測パラメータを復号対象PUの予測パラメータとして用いるかを示すインデックスである。
 (動きベクトル)
 動きベクトルmvLXは、異なる2つのピクチャ上のブロック間のずれ量を示す。動きベクトルmvLXに関する予測ベクトル、差分ベクトルを、それぞれ予測ベクトルmvpLX、差分ベクトルmvdLXと呼ぶ。
 (インター予測識別子inter_pred_idcと予測リスト利用フラグpredFlagLX)
 インター予測識別子inter_pred_idcと、予測リスト利用フラグpredFlagL0、predFlagL1の関係は以下のとおりであり、相互に変換可能である。
 inter_pred_idc = (predFlagL1<<1) + predFlagL0
 predFlagL0 = inter_pred_idc & 1
 predFlagL1 = inter_pred_idc >> 1
 なお、インター予測パラメータは、予測リスト利用フラグを用いても良いし、インター予測識別子を用いてもよい。また、予測リスト利用フラグを用いた判定は、インター予測識別子を用いた判定に置き替えてもよい。逆に、インター予測識別子を用いた判定は、予測リスト利用フラグを用いた判定に置き替えてもよい。
 (双予測biPredの判定)
 双予測BiPredであるかのフラグbiPredは、2つの予測リスト利用フラグがともに1であるかによって導出できる。たとえば以下の式で導出できる。
 biPred = (predFlagL0 == 1 && predFlagL1 == 1)
 フラグbiPredは、インター予測識別子が2つの予測リスト(参照ピクチャ)を使うことを示す値であるか否かによっても導出できる。たとえば以下の式で導出できる。
 biPred = (inter_pred_idc == PRED_BI) ? 1 : 0
上記式は、以下の式でも表現できる。
 biPred = (inter_pred_idc == PRED_BI)
 なお、PRED_BIはたとえば3の値を用いることができる。
 (画像復号装置の構成)
 次に、本実施形態に係る画像復号装置31の構成について説明する。図5は、本実施形態に係る画像復号装置31の構成を示す概略図である。画像復号装置31は、エントロピー復号部301、予測パラメータ復号部(予測画像復号装置)302、ループフィルタ305、参照ピクチャメモリ306、予測パラメータメモリ307、予測画像生成部(予測画像生成装置)308、逆量子化・逆DCT部311、及び加算部312を含んで構成される。
 また、予測パラメータ復号部302は、インター予測パラメータ復号部303及びイントラ予測パラメータ復号部304を含んで構成される。予測画像生成部308は、インター予測画像生成部309及びイントラ予測画像生成部310を含んで構成される。
 エントロピー復号部301は、外部から入力された符号化ストリームTeに対してエントロピー復号を行って、個々の符号(シンタックス要素)を分離し復号する。分離された符号には、予測画像を生成するための予測情報及び、差分画像を生成するための残差情報などがある。
 エントロピー復号部301は、分離した符号の一部を予測パラメータ復号部302に出力する。分離した符号の一部とは、例えば、予測モードpredMode、PU分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLXである。どの符号を復号するかの制御は、予測パラメータ復号部302の指示に基づいて行われる。エントロピー復号部301は、量子化係数を逆量子化・逆DCT部311に出力する。この量子化係数は、符号化処理において、残差信号に対してDCT(Discrete Cosine Transform、離散コサイン変換)を行い量子化して得られる係数である。
 インター予測パラメータ復号部303は、エントロピー復号部301から入力された符号に基づいて、予測パラメータメモリ307に記憶された予測パラメータを参照してインター予測パラメータを復号する。
 インター予測パラメータ復号部303は、復号したインター予測パラメータを予測画像生成部308に出力し、また予測パラメータメモリ307に記憶する。インター予測パラメータ復号部303の詳細については後述する。
 イントラ予測パラメータ復号部304は、エントロピー復号部301から入力された符号に基づいて、予測パラメータメモリ307に記憶された予測パラメータを参照してイントラ予測パラメータを復号する。イントラ予測パラメータとは、CUを1つのピクチャ内で予測する処理で用いるパラメータ、例えば、イントラ予測モードIntraPredModeである。イントラ予測パラメータ復号部304は、復号したイントラ予測パラメータを予測画像生成部308に出力し、また予測パラメータメモリ307に記憶する。
 イントラ予測パラメータ復号部304は、輝度と色差で異なるイントラ予測モードを導出しても良い。この場合、イントラ予測パラメータ復号部304は、輝度の予測パラメータとして輝度予測モードIntraPredModeY、色差の予測パラメータとして、色差予測モードIntraPredModeCを復号する。輝度予測モードIntraPredModeYは、35モードであり、プレーナ予測(0)、DC予測(1)、方向予測(2~34)が対応する。色差予測モードIntraPredModeCは、プレーナ予測(0)、DC予測(1)、方向予測(2~34)、LMモード(35)の何れかを用いるものである。イントラ予測パラメータ復号部304は、IntraPredModeCは輝度モードと同じモードであるか否かを示すフラグを復号し、フラグが輝度モードと同じモードであることを示せば、IntraPredModeCにIntraPredModeYを割り当て、フラグが輝度モードと異なるモードであることを示せば、IntraPredModeCとして、プレーナ予測(0)、DC予測(1)、方向予測(2~34)、LMモード(35)を復号しても良い。
 ループフィルタ305は、加算部312が生成したCUの復号画像に対し、デブロッキングフィルタ、サンプル適応オフセット(SAO)、適応ループフィルタ(ALF)等のフィルタを施す。
 参照ピクチャメモリ306は、加算部312が生成したCUの復号画像を、復号対象のピクチャ及びCU毎に予め定めた位置に記憶する。
 予測パラメータメモリ307は、予測パラメータを、復号対象のピクチャ及び予測ユニット(若しくはサブブロック、固定サイズブロック、ピクセル)毎に予め定めた位置に記憶する。具体的には、予測パラメータメモリ307は、インター予測パラメータ復号部303が復号したインター予測パラメータ、イントラ予測パラメータ復号部304が復号したイントラ予測パラメータ及びエントロピー復号部301が分離した予測モードpredModeを記憶する。記憶されるインター予測パラメータには、例えば、予測リスト利用フラグpredFlagLX(インター予測識別子inter_pred_idc)、参照ピクチャインデックスrefIdxLX、動きベクトルmvLXがある。
 予測画像生成部308には、エントロピー復号部301から入力された予測モードpredModeが入力され、また予測パラメータ復号部302から予測パラメータが入力される。また、予測画像生成部308は、参照ピクチャメモリ306から参照ピクチャを読み出す。予測画像生成部308は、予測モードpredModeが示す予測モードで、入力された予測パラメータと読み出した参照ピクチャを用いてPUの予測画像を生成する。
 ここで、予測モードpredModeがインター予測モードを示す場合、インター予測画像生成部309は、インター予測パラメータ復号部303から入力されたインター予測パラメータと読み出した参照ピクチャを用いてインター予測によりPUの予測画像を生成する。
 インター予測画像生成部309は、予測リスト利用フラグpredFlagLXが1である参照ピクチャリスト(L0リスト、若しくはL1リスト)に対し、参照ピクチャインデックスrefIdxLXで示される参照ピクチャから、復号対象PUを基準として動きベクトルmvLXが示す位置にある参照ピクチャブロックを参照ピクチャメモリ306から読み出す。インター予測画像生成部309は、読み出した参照ピクチャブロックをもとに予測を行ってPUの予測画像を生成する。インター予測画像生成部309は、生成したPUの予測画像を加算部312に出力する。
 予測モードpredModeがイントラ予測モードを示す場合、イントラ予測画像生成部310は、イントラ予測パラメータ復号部304から入力されたイントラ予測パラメータと読み出した参照ピクチャを用いてイントラ予測を行う。具体的には、イントラ予測画像生成部310は、復号対象のピクチャであって、既に復号されたPUのうち、復号対象PUから予め定めた範囲にある隣接PUを参照ピクチャメモリ306から読み出す。予め定めた範囲とは、復号対象PUがいわゆるラスタースキャンの順序で順次移動する場合、例えば、左、左上、上、右上の隣接PUのうちのいずれかであり、イントラ予測モードによって異なる。ラスタースキャンの順序とは、各ピクチャにおいて、上端から下端まで各行について、順次左端から右端まで移動させる順序である。
 イントラ予測画像生成部310は、読み出した隣接PUについてイントラ予測モードIntraPredModeが示す予測モードで予測を行ってPUの予測画像を生成する。イントラ予測画像生成部310は、生成したPUの予測画像を加算部312に出力する。
 イントラ予測パラメータ復号部304において、輝度と色差で異なるイントラ予測モードを導出する場合、イントラ予測画像生成部310は、輝度予測モードIntraPredModeYに応じて、プレーナ予測(0)、DC予測(1)、方向予測(2~34)の何れかによって輝度のPUの予測画像を生成し、色差予測モードIntraPredModeCに応じて、プレーナ予測(0)、DC予測(1)、方向予測(2~34)、LMモード(35)の何れかによって色差のPUの予測画像を生成する。
 逆量子化・逆DCT部311は、エントロピー復号部301から入力された量子化係数を逆量子化してDCT係数を求める。逆量子化・逆DCT部311は、求めたDCT係数について逆DCT(Inverse Discrete Cosine Transform、逆離散コサイン変換)を行い、残差信号を算出する。逆量子化・逆DCT部311は、算出した残差信号を加算部312に出力する。
 加算部312は、インター予測画像生成部309又はイントラ予測画像生成部310から入力されたPUの予測画像と逆量子化・逆DCT部311から入力された残差信号を画素毎に加算して、PUの復号画像を生成する。加算部312は、生成したPUの復号画像を参照ピクチャメモリ306に記憶し、生成したPUの復号画像をピクチャ毎に統合した復号画像Tdを外部に出力する。
 (画像符号化装置の構成)
 次に、本実施形態に係る画像符号化装置11の構成について説明する。図6は、本実施形態に係る画像符号化装置11の構成を示すブロック図である。画像符号化装置11は、予測画像生成部101、減算部102、DCT・量子化部103、エントロピー符号化部104、逆量子化・逆DCT部105、加算部106、ループフィルタ107、予測パラメータメモリ(予測パラメータ記憶部、フレームメモリ)108、参照ピクチャメモリ(参照画像記憶部、フレームメモリ)109、符号化パラメータ決定部110、予測パラメータ符号化部111を含んで構成される。予測パラメータ符号化部111は、インター予測パラメータ符号化部112及びイントラ予測パラメータ符号化部113を含んで構成される。
 予測画像生成部101は画像Tの各ピクチャについて、そのピクチャを分割した領域である符号化ユニットCU毎に予測ユニットPUの予測画像Pを生成する。ここで、予測画像生成部101は、予測パラメータ符号化部111から入力された予測パラメータに基づいて参照ピクチャメモリ109から復号済のブロックを読み出す。予測パラメータ符号化部111から入力された予測パラメータとは、例えばインター予測の場合、動きベクトルである。予測画像生成部101は、対象PUを起点として動きベクトルが示す参照画像上の位置にあるブロックを読み出す。またイントラ予測の場合、予測パラメータとは例えばイントラ予測モードである。イントラ予測モードで使用する隣接PUの画素値を参照ピクチャメモリ109から読み出し、PUの予測画像Pを生成する。予測画像生成部101は、読み出した参照ピクチャブロックについて複数の予測方式のうちの1つの予測方式を用いてPUの予測画像Pを生成する。予測画像生成部101は、生成したPUの予測画像Pを減算部102に出力する。
 なお、予測画像生成部101は、既に説明した予測画像生成部308と同じ動作である。
 予測画像生成部101は、予測パラメータ符号化部から入力されたパラメータを用いて、参照ピクチャメモリから読み出した参照ブロックの画素値をもとにPUの予測画像Pを生成する。予測画像生成部101で生成した予測画像は減算部102、加算部106に出力される。
 減算部102は、予測画像生成部101から入力されたPUの予測画像Pの信号値を、画像Tの対応するPUの画素値から減算して、残差信号を生成する。減算部102は、生成した残差信号をDCT・量子化部103に出力する。
 DCT・量子化部103は、減算部102から入力された残差信号についてDCTを行い、DCT係数を算出する。DCT・量子化部103は、算出したDCT係数を量子化して量子化係数を求める。DCT・量子化部103は、求めた量子化係数をエントロピー符号化部104及び逆量子化・逆DCT部105に出力する。
 エントロピー符号化部104には、DCT・量子化部103から量子化係数が入力され、予測パラメータ符号化部111から符号化パラメータが入力される。入力される符号化パラメータには、例えば、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLX、予測モードpredMode、及びマージインデックスmerge_idx等の符号がある。
 エントロピー符号化部104は、入力された量子化係数と符号化パラメータをエントロピー符号化して符号化ストリームTeを生成し、生成した符号化ストリームTeを外部に出力する。
 逆量子化・逆DCT部105は、DCT・量子化部103から入力された量子化係数を逆量子化してDCT係数を求める。逆量子化・逆DCT部105は、求めたDCT係数について逆DCTを行い、残差信号を算出する。逆量子化・逆DCT部105は、算出した残差信号を加算部106に出力する。
 加算部106は、予測画像生成部101から入力されたPUの予測画像Pの信号値と逆量子化・逆DCT部105から入力された残差信号の信号値を画素毎に加算して、復号画像を生成する。加算部106は、生成した復号画像を参照ピクチャメモリ109に記憶する。
 ループフィルタ107は加算部106が生成した復号画像に対し、デブロッキングフィルタ、サンプル適応オフセット(SAO)、適応ループフィルタ(ALF)を施す。
 予測パラメータメモリ108は、符号化パラメータ決定部110が生成した予測パラメータを、符号化対象のピクチャ及びCU毎に予め定めた位置に記憶する。
 参照ピクチャメモリ109は、ループフィルタ107が生成した復号画像を、符号化対象のピクチャ及びCU毎に予め定めた位置に記憶する。
 符号化パラメータ決定部110は、符号化パラメータの複数のセットのうち、1つのセットを選択する。符号化パラメータとは、上述した予測パラメータやこの予測パラメータに関連して生成される符号化の対象となるパラメータである。予測画像生成部101は、これらの符号化パラメータのセットの各々を用いてPUの予測画像Pを生成する。
 符号化パラメータ決定部110は、複数のセットの各々について情報量の大きさと符号化誤差を示すコスト値を算出する。コスト値は、例えば、符号量と二乗誤差に係数λを乗じた値との和である。符号量は、量子化誤差と符号化パラメータをエントロピー符号化して得られる符号化ストリームTeの情報量である。二乗誤差は、減算部102において算出された残差信号の残差値の二乗値についての画素間の総和である。係数λは、予め設定されたゼロよりも大きい実数である。符号化パラメータ決定部110は、算出したコスト値が最小となる符号化パラメータのセットを選択する。これにより、エントロピー符号化部104は、選択した符号化パラメータのセットを符号化ストリームTeとして外部に出力し、選択されなかった符号化パラメータのセットを出力しない。符号化パラメータ決定部110は決定した符号化パラメータを予測パラメータメモリ108に記憶する。
 予測パラメータ符号化部111は、符号化パラメータ決定部110から入力されたパラメータから、符号化するための形式を導出し、エントロピー符号化部104に出力する。符号化するための形式の導出とは、例えば動きベクトルと予測ベクトルから差分ベクトルを導出することである。また予測パラメータ符号化部111は、符号化パラメータ決定部110から入力されたパラメータから予測画像を生成するために必要なパラメータを導出し、予測画像生成部101に出力する。予測画像を生成するために必要なパラメータとは、例えばサブブロック単位の動きベクトルである。
 インター予測パラメータ符号化部112は、符号化パラメータ決定部110から入力された予測パラメータに基づいて、差分ベクトルのようなインター予測パラメータを導出する。インター予測パラメータ符号化部112は、予測画像生成部101に出力する予測画像の生成に必要なパラメータを導出する構成として、インター予測パラメータ復号部303(図5等、参照)がインター予測パラメータを導出する構成と一部同一の構成を含む。インター予測パラメータ符号化部112の構成については、後述する。
 イントラ予測パラメータ符号化部113は、符号化パラメータ決定部110から入力されたイントラ予測モードIntraPredModeから、符号化するための形式(例えばMPM_idx、rem_intra_luma_pred_mode等)を導出する。
 (画像復号装置の要部構成)
 図10に、本実施形態に係る画像復号装置の要部構成を示したブロック図を示す。本図では、図を簡略化するために、図5に示したブロック図に含まれる一部の部材の図示を省略している。また、説明の便宜上、図5に示した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
 図10に示すように、画像復号装置31は、エントロピー復号部301、予測画像生成部308、逆量子化・逆DCT変換部311、参照ピクチャメモリ306、加算部312、ループフィルタ305、を備えている。エントロピー復号部301は、復号モジュール9、CN情報復号部10(分割情報復号部)、ヘッダ復号部19、CU復号部20、及びコンテキスト決定部32を備えている。CU復号部20は、さらにPU情報復号部12及びTT情報復号部13(分割情報復号部、分割部)を備えており、TT情報復号部13は、さらにTU復号部22を備えている。
 (復号モジュール)
 以下、各モジュールの概略動作を説明する。復号モジュール9は、バイナリからシンタックス値を復号する復号処理を行う。復号モジュール9は、より具体的には、供給元から供給される符号化データ及びシンタックス種別に基づいて、CABAC等の可変長符号化方式、あるいは固定長符号化方式により符号化されているシンタックス値を復号し、復号したシンタックス値を供給元に返す。
 以下に示す例では、符号化データ及びシンタックス種別の供給元は、CN情報復号部10、CU復号部20(PU情報復号部12及びTT情報復号部13)である。
 (ヘッダ復号部)
 ヘッダ復号部19は、画像符号化装置11から入力された符号化データのVPS(video parameter set)、SPS、PPS、スライスヘッダを復号する。
 (CN情報復号部)
 CN情報復号部10は、復号モジュール9を用いて、画像符号化装置11から入力された符号化データについて、符号化ツリーユニット(CTU)及び符号化ノード(CN)の復号処理を行う。CN情報復号部10は、具体的には、以下の手順により符号化データから、CTU情報及びCN情報を復号する。
 まず、CN情報復号部10(分割情報復号部)は、復号モジュール9を用いて、CTUに含まれるCTU情報からツリーユニットヘッダCTUHを復号する。次に、CN情報復号部10は、対象CNをQT分割するか否かを示すQT分割フラグ(分割情報)のコンテキスト(後述する)に応じて、CNに含まれるCN情報から、QT分割フラグを復号する。そして、CN情報復号部10は、QT分割フラグがさらなる分割を通知しなくなるまで対象CNを再帰的に分割し復号する。最後に、CTU情報からツリーユニットフッタCTUFを復号する。
 なお、本実施形態では、復号されるCN情報がQT分割フラグ(qt_split_flag)である例を説明しているが、復号されるCN情報は、対象CNをBT(binary tree)分割するか否かを示すBT分割フラグ(bt_split_flag)、対象CNをTT(triple tree)分割するか否かを示すTT分割フラグ(tt_split_flag)であってもよい。図11の(a)~(c)は、それぞれ、QT分割、BT分割、及びTT分割を示す図である。本図では、矢印が指し示すブロックが分割後のブロックである。図11の(a)が示すように、QT分割は、ブロックを4分割する分割である。また、図11の(b)が示すように、BT分割は、ブロックを2分割する分割である。また、図11の(c)が示すように、TT分割は、ブロックを3分割する分割である。
 また、本実施形態に係る画像復号装置31は、CNを分割しているが、同様の方法により、CU、PU、又はTU等のブロックを分割してもよい。その場合、上述の対象CNは、対象CU、対象PU、又は対象TU等であり得る。
 ツリーユニットヘッダCTUH及びツリーユニットフッタCTUFには、対象符号化ツリーユニットの復号方法を決定するために画像復号装置31が参照する符号化パラメータが含まれる。また、CN情報には、QT分割フラグの他、後述するBT方向フラグ(BT分割モード)、対象CN及び下位の符号化ノードで適用されるパラメータを含んでいてもよい。
 (コンテキスト決定部)
 コンテキスト決定部32は、対象CNの分割関連情報と隣接CNの分割関連情報を取得する。なお、CNの分割関連情報とは、CNの分割状況に関連する情報であり、例えば、CNのパーティション番号、デプス、あるいは垂直デプス及び水平デプス、又はサイズ等を含む情報である。
 次に、コンテキスト決定部32は、取得した対象CN及び隣接CNの分割関連情報を比較する。
 さらに、コンテキスト決定部32は、比較結果に応じてコンテキストを決定する。コンテキスト決定部32が決定したコンテキストは、上述のCN情報復号部10に出力される。
 なお、本明細書におけるコンテキストとは、CABACにおけるコンテキストインデックスを示している。CABACでは、変換係数を表す各種のシンタックスに対して2値化処理が施され、この2値化処理によって得られた2値データが算術符号化される。ここで、上記各種のシンタックスとしては、QT分割するか否かを示すフラグqt_split_flag、変換係数が0であるか否かを示すフラグ、すなわち非0変換係数の有無を示すフラグsignificant_coeff_flag(変換係数有無フラグとも呼ぶ)、並びに、処理順で最後の非0変換係数の位置を示すシンタックスlast_significant_coeff_x及びlast_significant_coeff_yなどが挙げられる。
 また、CABACでは、シンボル(2値データの1ビット、Binとも呼ぶ)を1つ符号化する際、処理対象シンボルに対応するコンテキストインデックスが参照され、当該コンテキストインデックスによって指定される発生確率に応じた算術符号化が行われる。また、発生確率は、シンボルを1つ符号化する毎に更新される。
 本明細書において、QT分割フラグであるqt_split_flagに対応するコンテキストは、ctxIdxQT(又は、ctxIdxSplit)で示される。BT分割フラグであるbt_split_flagに対応するコンテキストは、ctxIdxBT(又は、ctxIdxSplit)で示される。TT分割フラグであるtt_split_flagに対応するコンテキストは、ctxIdxTT(又は、ctxIdxSplit)で示される。BT分割方向フラグまたはTT分割方向フラグであるbt_dir_flag、又はtt_dir_flagに対応するコンテキストは、ctxIdxDirで示される。つまりctxIdxDirは、分割方向として、水平に分割するか、または垂直に分割するかを示すコンテキストである。
 また、本明細書において、BT分割及びTT分割を区別せずに、両者を含めた分割をPT分割とすると、PT分割フラグであるpt_split_flagに対応するコンテキストは、ctxIdxPT(又は、ctxIdxSplit)で示される。PT分割方向フラグであるpt_dir_flagに対応するコンテキストは、ctxIdxDirで示される。PT分割パターンフラグであるpt_pat_flagに対応するコンテキストは、ctxIdxPatで示される。
 (CU復号部)
 CU復号部20は、PU情報復号部12及びTT情報復号部13から構成され、最下位の符号化ノードCN(すなわちCU)のPUI情報及びTTI情報を復号する。
 (PU情報復号部)
 PU情報復号部12では各PUのPU情報(マージフラグ(merge_flag)、マージインデックス(merge_idx)、予測ベクトルインデックス(mvp_idx)、参照画像インデックス(ref_idx)、インター予測識別子(inter_pred_flag)、及び差分ベクトル(mvd)等)を、復号モジュール9を用いて復号する。
 (TT情報復号部)
 TT情報復号部13は、変換ツリーTTのTT情報(TU分割フラグSP_TU(split_transform_flag)、TU残差フラグCBP_TU(cbf_cb、cbf_cr、cbf_luma)等、及びTU)を、復号モジュール9を用いて復号する。
 また、TT情報復号部13は、TU復号部22を備えている。TU復号部22は、TUに残差が含まれている場合に、QP更新情報(量子化補正値)を復号する。なお、QP更新情報は、量子化パラメータQPの予測値である量子化パラメータ予測値qPpredからの差分値を示す値である。またTU復号部22は、量子化予測残差(residual_coding)を復号する。
 (コンテキスト決定方法)
 本実施形態に係る画像復号装置31によるコンテキスト決定方法について、図12を参照して、詳細に説明する。図12は、本実施形態に係る画像復号装置31によるコンテキスト決定方法の一例を説明するフローチャート図である。
 コンテキスト決定部32は、CN情報復号部10がまだ分割していない対象CN(対象ブロック)の分割関連情報と、当該対象CNに隣接し、かつ、CN情報復号部10がすでに分割し復号した隣接CN(隣接ブロック)の分割関連情報と、をCN情報復号部10から取得する。(ステップS0)。なお、本明細書では、対象ブロックとして対象CN、隣接ブロックとして隣接CNを用いた例を示すが、対象ブロック及び隣接ブロックは、CU、PU、又はTUであってもよい。対象ブロック及び隣接ブロックがCU、PU、又はTUである場合、本実施形態に係るコンテキスト決定方法を同様に実施することができ、対象CU、対象PU、又は対象TUを分割するか否かを示すQT分割フラグを復号する確率を示すコンテキストを決定することができる。
 コンテキスト決定部32は、取得した対象CN及び隣接CNを参照して、分割状況を特定することにより、対象CNの各辺(例えば、上辺又は左辺)に接している隣接CNの分割線が存在するか否かを判定する(ステップS1)。なお、ステップS1の具体的な方法については後述する。
 コンテキスト決定部32は、判定した分割状況に応じて、コンテキストを決定する(ステップS2)。なお、ステップS2の具体的な方法については後述する。
 CN情報復号部10は、コンテキスト決定部32が決定したコンテキストに応じて、CNに含まれるCN情報から、対象CNをQT分割するか否かを示すQT分割フラグを復号する(ステップS3)。
 以下で、本実施形態のコンテキスト決定方法の具体的な方法を説明する。図13は、本実施形態のコンテキスト決定方法のステップS1を説明するための図であり、対象ブロックO、隣接ブロックWL、隣接ブロックWA及び隣接ブロックWBを示している。図13が示すように、対象ブロックOは、左辺において、隣接ブロックWLと隣接している。また、対象ブロックOは、上辺において、隣接ブロックWA及び隣接ブロックWBと隣接している。なお、図13における各ブロック内の番号は、パーティション番号を示している。
 なお、以下の説明で、コンテキスト決定部32は、垂直方向の分割フラグsplitVerticallyと水平方向の分割フラグsplitHorizontallyとを導出するが、これらは、各々、水平分割フラグhorSplit、垂直分割フラグverSplitと呼んでもよい。等価なフラグの関係をまとめると、以下のとおりである。
 splitVertically = horSplit
 splitHorizontally = verSplit
 また、垂直方向の分割フラグsplitVerticallyを左の隣接ブロックから導出する場合、splitVerticallyをsplitLeftとも呼び、水平方向の分割フラグsplitHorizonallyを上の隣接ブロックから導出する場合、splitHorizonallyをsplitAboveとも呼ぶ。
 まず、ステップS1において、コンテキスト決定部32は、ステップS0で取得した隣接ブロックWLの分割関連情報を参照して、隣接ブロックWLと対象ブロックOとが接する線分(つまり、対象ブロックOの左辺)に接する分割線があるか否かを判定する。そして、コンテキスト決定部32は、分割線の有無を判定した結果を、垂直に分割フラグsplitVertically(以下において、splitLeft、または、水平分割フラグhorSplitとしてもよい)として出力する。図13が示すように、対象ブロックOの左辺には分割線が接していないので、コンテキスト決定部32は、分割線が存在しないことを示すsplitVertically (=splitLeft = horSplit) = 0を設定する。
 また、コンテキスト決定部32は、ステップS0で取得した隣接ブロックWA及び隣接ブロックWBの分割関連報を参照して、隣接ブロックWA及び隣接ブロックWBを合わせたブロックと対象ブロックOとが接する線分(つまり、対象ブロックOの上辺)に接する分割線があるか否かを判定する。そして、コンテキスト決定部32は、分割線の有無を判定した結果を、水平な分割フラグsplitHorizontally(以下において、splitAbove、または、垂直分割フラグverSplitとしてもよい)として出力する。図13が示すように、対象ブロックOの上辺に接する分割線が存在するので、コンテキスト決定部32は、分割線が存在することを示すsplitHorizontally (= splitAbove = verSplit) = 1を設定する。
 次に、ステップS2において、コンテキスト決定部32は、設定したsplitVertically及びsplitHorizontallyを参照して、対象ブロックを分割するか否かのコンテキストctxIdxSplitを、例えば、以下の式により導出する。
 ctxIdxSplit = splitVertically + splitHorizontally (= splitLeft + splitAbove = horSplit + verSplit)
 図13が示す隣接ブロックの例の場合、splitVertically = 0であり、splitHorizontally = 1であるため、コンテキスト決定部32は、ctxIdxSplit = 1を出力する。なお、コンテキストによって指定されるコンテキスト変数に含まれる確率状態インデックスの指し示す発生確率は、分割線があるほど高くなるように設定、更新される。つまり、CN情報復号部10は、隣接ブロックの分割線が存在するか否かで、コンテキストを切り替えることにより、隣接ブロックに分割線がある場合に、対象ブロックOで“分割あり”を示す分割フラグを復号すれば符号量を小さくすることができる。このような設定をする理由は、隣接ブロックWA又は隣接ブロックWBが分割されている場合、対象ブロックOも分割される可能性が高いためである。
 以下の各具体例で、上述のコンテキスト決定方法のステップS1及びS2の具体例を、図面を参照して詳細に説明する。
 (具体例1)
 図14は、本具体例のコンテキスト決定方法のステップS1を説明するための図であり、対象ブロックO、隣接ブロックWL、隣接ブロックWA及び隣接ブロックWBを示している。図14が示すように、対象ブロックOは、左辺において、隣接ブロックWLと隣接している。また、対象ブロックOは、上辺において、隣接ブロックWA及び隣接ブロックWBと隣接している。
 なお、図14が示すように、対象ブロックOの左上座標を(xP,yP)、対象ブロックOの左上座標の真左に隣接する点座標を、点L(xP-1,yP)とし、対象ブロックOの左下座標の真左に隣接する点座標を、点LB(xP-1,yP+H-1)とする。また、対象ブロックOの左上座標の真上に隣接する点座標を、点A(xP,yP-1)とし、対象ブロックOの右上座標の真上に隣接する点座標を、点AR(xP+W-1,yP-1)とする。なお、Wは、対象ブロックOのX軸方向の幅であり、Hは、対象ブロックOのY軸方向の高さである。図14における各ブロック内の番号は、パーティション番号を示している。
 まず、ステップS1において、コンテキスト決定部32がステップS0で取得した隣接ブロックWLの分割関連情報を参照して、点Lが含まれるブロックのパーティション番号partIDLと、点LBが含まれるブロックのパーティション番号partIDLBとが異なるか否かを判定する。当該判定の式を下記に示す。
 splitVertically (= splitLeft = horSplit) = partIDL != partIDLB ? 1:0
 点Lが含まれるブロックのパーティション番号と、点LBが含まれるブロックのパーティション番号とが異なる場合、点Lと点LBとは、それぞれ、異なるブロックに含まれていることになるため、コンテキスト決定部32は、対象ブロックOの左辺に接する分割線が存在していると判定する。一方、点Lが含まれるブロックのパーティション番号と、点LBが含まれるブロックのパーティション番号とが同じ場合、点Lと点LBとは、それぞれ、同じブロックに含まれていることになるため、コンテキスト決定部32は、対象ブロックOの左辺に接する分割線が存在しないと判定する。
 コンテキスト決定部32は、点Lが含まれるブロックのパーティション番号partIDと、点LBが含まれるブロックのパーティション番号partIDLBとが異なるか否かの判定の結果を、上述のsplitVertically(=splitLeft=horSplit)として出力する。
 一つの例では、図14が示すように、点Lと点LBとは、同じ隣接ブロックWLに含まれるので、コンテキスト決定部32は、分割線が存在しないことを示すsplitVertically = 0を設定する。
 同様にして、コンテキスト決定部32は、ステップS0で取得した隣接ブロックWA及び隣接ブロックWBの分割関連情報を参照して、点Aが含まれるブロックのパーティション番号partIDAと、点ARが含まれるブロックのパーティション番号partIDARとが異なるか否かを判定する。当該判定の式を下記に示す。
 splitHorizontally (=splitAbove=verSplit) = partIDA ! =partIDAR ? 1:0
 そして、コンテキスト決定部32は、当該判定の結果を、splitHorizontally(=splitAbove=verSplit)として出力する。図14が示すように、点Aと点ARとは、それぞれ、異なる隣接ブロックWAと隣接ブロックWBに含まれるので、コンテキスト決定部32は、分割線が存在することを示すsplitHorizontally = 1を設定する。
 次に、ステップS2において、コンテキスト決定部32は、設定したsplitVertically及びsplitHorizontallyを参照して、コンテキストであるctxIdxSplit = splitVertically+ splitHorizontallyを決定する。本具体例の場合、splitVertically = 0であり、splitHorizontally = 1であるため、コンテキスト決定部32は、ctxIdxSplit = 1を出力する。
 (具体例2)
 図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)。
 BT分割においては、分割毎に、水平デプス及び垂直デプスの何れか1つが、1加算される。あるブロックを上下に水平分割した場合(bt_split_flag = 1(BT分割フラグ)、bt_dir_flag = 0(BT分割方向フラグ))、垂直デプスが、1加算される(depthVer = depthVer + 1)。あるブロックを左右に垂直分割した場合(bt_split_flag = 1(BT分割フラグ)、bt_dir_flag = 1(BT分割方向フラグ))、水平デプスが、1加算される(depthHor = depthHor + 1)。
 TT分割においては、TT分割されたブロックの中央ブロック(パーティション番号を1とする(partIdx = 1))が、上下に水平分割された場合(pt_split_flag = 1、pt_dir_flag = 0、pt_pat_flag=1)、垂直デプスが、1加算される(depthVer = depthVer + 1)。TT分割されたブロックの中央ブロック(partIdx = 1)が、左右に垂直分割された場合(pt_split_flag = 1、pt_dir_flag = 1、pt_pat_flag=1)、水平デプスが、1加算される(depthHor = depthHor + 1)。
 また、TT分割されたブロックの中央ブロック以外のブロック(パーティション番号を0又は2とする(partIdx = 0 or 2))が、上下に水平分割された場合(pt_split_flag = 1、pt_dir_flag = 0、pt_pat_flag= 0 or 2)、垂直デプスが、2加算される(depthVer = depthVer + 2)。TT分割されたブロックの中央ブロック以外のブロック(partIdx = 0 or 2)が、左右に垂直分割された場合(pt_split_flag = 1、pt_dir_flag = 1、pt_pat_flag=1)、水平デプスが、2加算される(depthHor = depthHor + 2)。
 まず、ステップS1において、コンテキスト決定部32は、隣接ブロックWL及び対象ブロックOの分割関連情報を参照して、点Lの垂直デプスdepthVerLeft(点Lを含む隣接ブロックWLの垂直デプスdepthVerLeft)と、対象ブロックOの垂直デプスdepthVertCurrとを比較し、隣接ブロックWLの垂直デプスdepthVerLeftが対象ブロックOの垂直デプスdepthVertCurrより大きいか否かを判定する。当該判定の式を下記に示す。
 splitVertically (= splitLeft = horSplit) = depthVerLeft > depthVertCurr ? 1 : 0
 対象ブロックOの左に隣接する隣接ブロックWLの垂直デプスが対象ブロックOの垂直デプスより大きい場合、隣接ブロックWLは、対象ブロックOよりも多くの回数の水平分割を経て形成されたブロックであるため、コンテキスト決定部32は、対象ブロックOの左辺に接する分割線が存在すると判定する。一方、隣接ブロックWLの垂直デプスが対象ブロックOの垂直デプスより小さい場合、対象ブロックOは、隣接ブロックWLよりも多くの回数の水平分割を経て形成されたブロックであるため、コンテキスト決定部32は、対象ブロックOの左辺に接する分割線は存在しないと判定する。なお、隣接ブロックWLの垂直デプスと対象ブロックOの垂直デプスとが等しい場合、コンテキスト決定部32は、対象ブロックOの左辺に接する分割線は存在しないと判定する。
 そして、コンテキスト決定部32は、隣接ブロックWLの垂直デプスが対象ブロックOの垂直デプスより大きいか否かの判定の結果を、splitVerticallyとして出力する。図15が示すように、隣接ブロックWLの垂直デプスは、対象ブロックOの垂直デプスより小さいので、コンテキスト決定部32は、分割線が存在しないことを示すsplitVertically = 0を設定する。
 また、コンテキスト決定部32は、隣接ブロックWA及び対象ブロックOの分割関連情報を参照して、点Aの水平デプスdepthHorUpper(点Aを含む隣接ブロックWAの水平デプスdepthHorUpper)と、対象ブロックOの水平デプスdepthHorCurrとを比較し、隣接ブロックWAの水平デプスdepthHorUpperが対象ブロックOの水平デプスdepthHorCurrより大きいか否かを判定する。当該判定の式を下記に示す。
 splitHorizontally (= splitAbove = verSplit) = depthHorUpper > depthHorCurr ? 1: 0
 対象ブロックOの上に隣接する隣接ブロックWAの水平デプスが対象ブロックOの水平デプスより大きい場合、隣接ブロックWAは、対象ブロックOよりも多くの回数の垂直分割を経て形成されたブロックであるため、コンテキスト決定部32は、対象ブロックOの上辺に接する分割線が存在すると判定する。一方、隣接ブロックWAの水平デプスが対象ブロックOの水平デプスより小さい場合、対象ブロックOは、隣接ブロックWAよりも多くの回数の垂直分割を経て形成されたブロックであるため、コンテキスト決定部32は、対象ブロックOの上辺に接する分割線が存在しないと判定する。なお、隣接ブロックWAの水平デプスと対象ブロックOの水平デプスとが等しい場合、コンテキスト決定部32は、対象ブロックOの上辺に接する分割線は存在しないと判定する。
 コンテキスト決定部32は、隣接ブロックWAの水平デプスが対象ブロックOの水平デプスより大きいか否かの判定の結果を、splitHorizontallyとして出力する。図15が示すように、隣接ブロックWAの水平デプスは、対象ブロックOの水平デプスより大きいので、コンテキスト決定部32は、分割線が存在することを示すsplitHorizontally = 1を出力する。
 次に、ステップS2において、コンテキスト決定部32は、設定したsplitVertically及びsplitHorizontallyを参照して、コンテキストであるctxIdxSplit = splitVertically+ splitHorizontallyを決定する。本具体例の場合、splitVertically = 0であり、splitHorizontally = 1であるため、コンテキスト決定部32は、ctxIdxSplit = 1を出力する。
 (具体例3)
 図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は、整数である)。
 まず、ステップS1において、コンテキスト決定部32は、対象ブロックO及び隣接ブロックWLの分割関連情報を参照して、対象ブロックOの高さheightCurrと、点Lを含む隣接ブロックWLの高さheightLeftとを比較し、対象ブロックOの高さheightCurrが隣接ブロックWLの高さheigthLeftより大きいか否かを判定する。当該判定の式を下記に示す。
 splitVertically (= splitLeft = horSplit) = heightLeft < heightCurr ? 1 : 0
 対象ブロックOの高さが隣接ブロックWLの高さより大きい場合、隣接ブロックWLは、対象ブロックOよりも多くの回数の水平分割を経て形成されたブロックであるため、コンテキスト決定部32は、対象ブロックOの左辺に接する分割線が存在すると判定する。一方、対象ブロックOの高さが隣接ブロックWLの高さより小さい場合、対象ブロックOは、隣接ブロックWLよりも多くの回数の水平分割を経て形成されたブロックであるため、コンテキスト決定部32は、対象ブロックOの左辺に接する分割線は存在しないと判定する。なお、対象ブロックOの高さと隣接ブロックWLの高さとが等しい場合、コンテキスト決定部32は、対象ブロックOの左辺に接する水平方向の分割線は存在しないと判定する。
 コンテキスト決定部32は、対象ブロックOの高さが隣接ブロックWLの高さより大きいか否かの判定の結果を、splitVerticallyとして出力する。図16が示すように、対象ブロックOの高さは、隣接ブロックWLの高さより小さいので、コンテキスト決定部32は、分割線が存在しないことを示すsplitVertically = 0を設定する。
 また、コンテキスト決定部32は、対象ブロックO及び隣接ブロックWAの分割関連情報を参照して、対象ブロックOの幅widthCurrと、隣接ブロックAを含む隣接ブロックWAの幅widthAboveとを比較し、対象ブロックOの幅widthCurrが隣接ブロックWAの幅widthAboveより大きいか否かを判定する。当該判定の式を下記に示す。
 splitHorizontally (= splitAbove = verSplit)= widthAbove < widthCurr ? 1 : 0
 対象ブロックOの幅が隣接ブロックWAの幅より大きい場合、隣接ブロックWAは、対象ブロックOよりも多くの回数の垂直分割を経て形成されたブロックであるため、コンテキスト決定部32は、対象ブロックOの上辺に接する分割線が存在すると判定する。一方、対象ブロックOの幅が隣接ブロックWAの幅より小さい場合、対象ブロックOは、隣接ブロックWAよりも多くの回数の垂直分割を経て形成されたブロックであるため、コンテキスト決定部32は、対象ブロックOの上辺に接する分割線は存在しないと判定する。なお、対象ブロックOの幅と隣接ブロックWAの幅とが等しい場合、コンテキスト決定部32は、対象ブロックOの上辺に接する分割線は存在しないと判定する。
 コンテキスト決定部32は、対象ブロックOの幅が隣接ブロックWAの幅より大きいか否かの結果を、splitHorizontallyとして出力する。図16が示すように、対象ブロックOの幅は、隣接ブロックWAの幅より大きいので、コンテキスト決定部32は、分割線が存在することを示すsplitHorizontally = 1を設定する。
 次に、ステップS2において、コンテキスト決定部32は、設定したsplitVertically及びsplitHorizontallyを参照して、コンテキストであるctxIdxSplit = splitVertically+ splitHorizontally(= splitLeft + splitUpper)を決定する。本具体例の場合、splitVertically = 0であり、splitHorizontally = 1であるため、コンテキスト決定部32は、ctxIdxSplit = 1を出力する。
 (具体例4)
 以下で、本実施形態のコンテキスト決定方法の具体的な方法を説明する。図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)。
 1回のBT分割では、水平または垂直方向に1回分割されるので、デプスは1加算される(depth = depth+1)。
 1回のTT分割では、TT分割されたブロックの中央ブロックが1回分割された場合、デプスは1加算される(depth = depth+1)。また、中央ブロック以外のブロックが1回分割された場合、デプスは2加算される(depth = depth+2)。
 なお、以下の説明で、コンテキスト決定部32は、垂直方向の分割(上下に分割)splitVerticallyと水平方向の分割(左右に分割)splitHorizontallyとを導出するが、これらは、各々、水平分割フラグhorSplit、垂直分割フラグverSplitと呼んでもよい。等価なフラグの関係をまとめると、以下のとおりである。
 splitVertically = horSplit
 splitHorizontally = verSplit
 また、垂直方向の分割splitVerticallyを左の隣接ブロックから導出する場合、splitVerticallyをsplitLeftとも呼び、水平方向の分割splitHorizonallyを上の隣接ブロックから導出する場合、splitHorizonallyをsplitAboveとも呼ぶ。
 まず、S1202において、コンテキスト決定部32は、S1201で取得した隣接ブロックWL及び対象ブロックOの分割関連情報を参照して、隣接ブロックWLのデプスdepthLeftと対象ブロックOのデプスdepthCurrとを比較し、隣接ブロックWLのデプスdepthLeftが対象ブロックOのデプスdepthCurrより大きいか否かを判定する。当該判定の式を下記に示す。
  splitLeft = depthLeft > depthCurr ? 1 : 0
隣接ブロックWLのデプスが対象ブロックOのデプスより大きい場合、コンテキスト決定部32はsplitLeft=1とする。一方、隣接ブロックWLのデプスが対象ブロックOのデプスより小さい場合、コンテキスト決定部32はsplitLeft=0とする。なお、隣接ブロックWLのデプスと対象ブロックOのデプスとが等しい場合、コンテキスト決定部32はsplitLeft=0とする。図17では、隣接ブロックWLのデプスは、対象ブロックOのデプスより大きいので、コンテキスト決定部32はsplitLeft=1を設定する。
 また、コンテキスト決定部32は、S1201で取得した隣接ブロックWAと対象ブロックOの分割関連情報を参照して、隣接ブロックWAのデプスdepthAboveと対象ブロックOのデプスdepthCurrとを比較し、隣接ブロックWAのデプスdepthAboveが対象ブロックOのデプスdepthCurrより大きいか否かを判定する。当該判定の式を下記に示す。
  splitAbove = depthAbove > depthCurr ? 1 : 0
隣接ブロックWAのデプスが対象ブロックOのデプスより大きい場合、コンテキスト決定部32はsplitAbove=1とする。一方、隣接ブロックWAのデプスが対象ブロックOのデプスより小さい場合、コンテキスト決定部32はsplitAbove=0とする。なお、隣接ブロックWAのデプスと対象ブロックOのデプスとが等しい場合、コンテキスト決定部32はsplitAbove=0とする。図17では、隣接ブロックWAのデプスは、対象ブロックOのデプスと同じなので、コンテキスト決定部32はsplitAbove=0を設定する。
 次に、S1203において、コンテキスト決定部32は、比較結果のsplitLeft及びsplitAboveを参照して、対象ブロックを分割するか否かのコンテキストctxIdxSplitを、例えば、以下の式により導出する。
  ctxIdxSplit = splitLeft + splitAbove
 図17ではsplitLeft=1、splitAbove=0であるため、コンテキスト決定部32は、ctxIdxSplit=1を出力する。なお、分割フラグは、隣接ブロックが対象ブロックよりも分割されている(隣接ブロックのデプスが対象ブロックのデプスよりも大きい)場合に、ctxIdxSplit=1となる確率が高くなるように設定、更新される。また、隣接ブロックが対象ブロックと同じか、分割されていない(隣接ブロックのデプスが対象ブロックのデプス以下の)場合に、ctxIdxSplit=1となる確率が低くなるように設定、更新される。つまり、CN情報復
号部10は、隣接ブロックと対象ブロックのデプスを比較し、コンテキストを切り替えることにより、符号量を小さくすることができる。このような設定をする理由は、隣接ブロックWA又は隣接ブロックWLが細かく分割されている場合、対象ブロックOも分割される可能性が高いためである。
 上記では、隣接ブロックの分割関連情報(デプス)を参照して、対象ブロックの分割フラグ(qt_split_flag、bt_split_flag、pt_split_flag)を符号化あるいは復号するために必要な確率を示すコンテキストctxIdxSplitを導出する方法(以降では方法1と記す)を説明した。上記の方法は、対象ブロックと隣接ブロックのデプスを比較し、隣接ブロックのデプスが対象ブロックのデプスより大きいか否かを1と0とで表現するので、処理は簡単である。しかしながら、対象ブロックと隣接ブロックの分割回数の違い(デプスの差、デプスの異なる程度)や、ブロックサイズの差(サイズの異なる程度)を利用しないため、コンテキストの精度がよくないという課題がある。より具体的には、対象ブロックのデプスよりも隣接ブロックのデプスの方が非常に大きい場合(例えば、デプスの差が1より大きい)は、対象ブロックよりも隣接ブロックのデプスの方がやや大きい場合(例えば、デプスの差が1)よりも、対象ブロックは分割されやすい。同様に、対象ブロックのデプスよりも隣接ブロックのデプスの方が小さい場合(例えば、デプスの差が-1)は、対象ブロックと隣接ブロックのデプスが等しい場合(例えば、デプスの差が0)よりも、対象ブロックは分割されにくい。対象ブロックと隣接ブロックのデプスではなくブロックサイズを考慮した場合にも、同様の性質がある。さらに、対応するブロックサイズの差が大きい場合ほど、デプスの差も大きくなりがちであり、逆にこのような特性を活かさないとコンテキストの精度がよくない課題が生じる。
 以下では、分割関連情報の差を参照して、分割フラグのコンテキストctxIdxSplitを導出することで、上記課題を解決する方法を説明する。
 図18は、画像復号装置31あるいは画像符号化装置11によるコンテキスト決定方法の一例を示すフローチャートである。図12との違いはS1402とS1403である。
 画像復号装置31において、S1201では、コンテキスト決定部32は、対象ブロック(対象CN)の分割関連情報と、当該対象CNに隣接した隣接ブロック(隣接CN)の分割関連情報とをCN情報復号部10から取得する。なお、本明細書では、対象ブロックとして対象CN、隣接ブロックとして隣接CNを用いた例を示すが、対象ブロック及び隣接ブロックは、CU、PU、又はTUであってもよい。S1402では、コンテキスト決定部32は、取得した対象ブロックと2つの隣接ブロックの分割関連情報から、分割関連情報の差分値を導出する。S1403では、コンテキスト決定部32は、導出した2つの差分値を加算した結果から、コンテキストを決定する。S1204では、CN情報復号部10は、コンテキスト決定部32が決定したコンテキストに応じて、CN情報から、対象ブロックを分割するか否かを示す分割フラグを復号する。
 また、画像符号化装置11において、S1201では、コンテキスト決定部32は、対象ブロック(対象CN)の分割関連情報と、当該対象CNに隣接した隣接ブロック(隣接CN)の分割関連情報とを取得する。S1402では、コンテキスト決定部32は、取得した対象ブロックと2つの隣接ブロックの分割関連情報から、分割関連情報の差分値を導出する。S1403では、コンテキスト決定部32は、導出した2つの差分値を加算した結果から、コンテキストを決定する。S1204では、CN情報符号化部1042は、コンテキスト決定部32が決定したコンテキストに応じて、対象ブロックを分割するか否かを示す分割フラグを符号化する。
 以下の各具体例で、上述のコンテキスト決定方法のS1402及びS1403の具体例を、図面を参照して詳細に説明する。
  
  (具体例5)分割階層(デプス)の差分を参照
 具体例5では、デプスを分割関連情報とした例を説明する。
 図18のS1402では、対象ブロックのデプスdepthCurrと隣接ブロックWAのデプスdepthAboveの差分値diffDepth0、および対象ブロックのデプスdepthCurrと隣接ブロックWLのデプスdepthLeftの差分値diffDepth1を、下式を用いて導出する。
  diffDepth0 = depthAbove-depthCurr
  diffDepth1 = depthLeft-depthCurr
 図18のS1403では、S1402で導出した2つの差分値diffDepth0、diffDepth1から、下式でコンテキストを導出する。
  ctxIdxSplit = 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では、ブロックのサイズ(幅と高さ)を分割関連情報とした例を説明する。
ここで、ブロックサイズとは、ブロックの幅、又は、ブロックの高さ、もしくは、ブロックの幅と高さの両者のことを示す。またブロックの幅と高さの積もしくは和をブロックサイズとして用いても良い。
 図18のS1402では、対象ブロックの幅の対数値log2widthCurrと隣接ブロックWAの幅の対数値log2widthAboveの差分値diffSize0、および対象ブロックの高さの対数値log2heightCurrと隣接ブロックWLの高さの対数値log2heightLeftの差分値diffSize1を、下式を用いて導出する。
  diffSize0 = log2widthCurr-log2widthAbove
  diffSize1 = log2heightCurr-log2heightLeft
 図18のS1403では、S1402で導出した2つの差分値diffSize0、diffSize1から、下式でコンテキストを導出する。
  ctxIdxSplit = diffSize0+diffSize1
  
  (具体例7)デプスおよびブロックのサイズ(幅と高さ)の差分を参照
具体例7では、具体例5のデプスと具体例6のブロックのサイズ(幅と高さ)を分割関連情報として使用する例を説明する。
 図18のS1402では、具体例5、具体例6と同様の方法で差分値diffDepth0、diffDepth1、diffSize0、diffSize1を導出し、下式で各々デプスとブロックのサイズの差分を求める。
  diffDepth = diffDepth0+diffDepth1
  diffSize = diffSize0+diffSize1
 図18のS1403では、S1402で導出した2つの差分値diffDepth、diffSizeから、以下のようにコンテキストを導出する。
  ctxIdxSplit = diffDepth+diffSize
また、コンテキストの導出は下記でもよい。
  ctxIdxSplit = (diffDepth+diffSize)>>1
 また、具体例5のデプスと具体例6のブロックのサイズ(幅と高さ)を分割関連情報として使用する別の例を説明する。
 図17の(2)に示すように、デプスはブロックサイズ(幅widthと高さheight)で表現できるので、上記のデプスをサイズとして表現すると、
  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と設定することが適当である。この場合、分割関連情報の加算は下式で表される。
  diffTmp = ((W1+W2)*log2widthCurr+(W1+W2)*log2heightCurr-W1*log2widthAbove- W2*log2heightAbove-W2*log2widthLeft-W1*log2heightLeft)
 上記の例では、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を拡張した場合も同様に適用可能であるので説明を省略する。
 図20の(1)は、対象ブロックOと3つの隣接ブロックWA、WL、WARの位置関係を示す図である。
 図18のS1402では、対象ブロックのデプスdepthCurr、隣接ブロックWAのデプスdepthAbove、隣接ブロックWLのデプスdepthLeft、隣接ブロックWARのデプスdepthAboveRightの差分値diffDepth0、diffDepth1、diffDepth2を、下式を用いて導出する。
  diffDepth0 = depthAbove-depthCurr
  diffDepth1 = depthLeft-depthCurr
  diffDepth2 = depthAboveRight-depthCurr
 図18のS1403では、S1402で導出した3つの差分値diffDepth0、diffDepth1、diffDepth2から、下式でコンテキストを導出する。
  ctxIdxSplit = diffDepth0+diffDepth1+diffDepth2
 また、図20の(2)は、対象ブロックOと4つの隣接ブロックWA、WL、WAR、WBLの位置関係を示す図である。
 図18のS1402では、対象ブロックのデプスdepthCurr、隣接ブロックWAのデプスdepthAbove、隣接ブロックWLのデプスdepthLeft、隣接ブロックWARのデプスdepthAboveRight、隣接ブロックWBLのデプスdepthBottomLeftの差分値diffDepth0、diffDepth1、diffDepth2、diffDepth3を、下式を用いて導出する。
  diffDepth0 = depthAbove-depthCurr
  diffDepth1 = depthLeft-depthCurr
  diffDepth2 = depthAboveRight-depthCurr
  diffDepth3 = depthBottomLeft-depthCurr
 図18のS1403では、S1402で導出した4つの差分値diffDepth0、diffDepth1、diffDepth2、diffDepth3から、下式でコンテキストを導出する。
  ctxIdxSplit = diffDepth0+diffDepth1+diffDepth2*diffDepth3
 また、対象ブロックOと4つの隣接ブロックWA、WL、WAR、WBLのデプスを用いる場合に、別の計算方法を用いて差分値を導出してもよい。例えば一例として、図18のS1402では下式で差分値を算出する。
  diffDepth0 = depthAbove+DepthAboveRight-2*depthCurr
  diffDepth1 = depthLeft+depthBottomLeft-2*depthCurr
 図18のS1403では下式でコンテキストを導出する。
  ctxIdxSplit = diffDepth0+diffDepth1
 また別の一例として、図18のS1402では下式で差分値を算出する。
  diffDepth0 = ((depthAbove+DepthAboveRight)>>1)-depthCurr
  diffDepth1 = ((depthLeft+depthBottomLeft)>>1)-depthCurr
 図18のS1403では下式でコンテキストを導出する。
  ctxIdxSplit = diffDepth0+diffDepth1
  
  (具体例9)
 図21は、画像復号装置31あるいは画像符号化装置11によるコンテキスト決定方法の別の一例を示すフローチャートである。図18と図21のフローチャートの違いはS1403とS1703である。それ以外のステップは同じであるので、説明を省略する。
 コンテキスト決定部32は、S1403では、S1402で算出した2つの差分値を加算してコンテキストを決定するが、S1703では、S1402で算出した差分値のうち、最大の差分値を用いてコンテキストを決定する。この処理を下式で表現する。
  ctxIdxSplit = max(diffDepth0,diffDepth1)
 具体例9では最大の差分値を用いてコンテキストを決定するので、分割数の多い(デプスの大きい)状況が選択されやすくなる。
  
  (利用可能性のチェック)
 上記の説明では、対象ブロックOの隣接ブロックは利用可能である(available)と仮定したが、実際には画像の端等で隣接ブロックが存在しない場合がある。隣接ブロックが利用可能でない場合は、差分値は0とする。例えば具体例5では、S1402は下記の手順になる。
  diffDepth0 = availableAbove ? (depthAbove-depthCurr) : 0
  diffDepth1 = availableLeft ? (depthLeft-depthCurr) : 0
  ctxIdxSplit = diffDepth0+diffDepth1
ここで、availableAboveとavailableLeftは、対象ブロックの上側の隣接ブロックと左側の隣接ブロックの利用可能性を示し、隣接ブロックがあれば1、なければ0である。なお、利用可能性のチェックはデプスの差分値を導出する具体例5に限らず、具体例6~9などサイズの差分値を導出する場合や、デプスの差分値とサイズの差分値の両者を用いる場合にも適用可能である。例えば、具体例6では下記の手順になる。
  diffSize0 = availableAbove ? log2widthCurr-log2widthAbove : 0
  diffSize1 = availableLeft ? log2heightCurr-log2heightLeft : 0
  ctxIdxSplit = diffSize0+diffSize1
  
  (クリッピングとマッピング)
 具体例5~8は、対象ブロックと隣接ブロックの分割関連情報の差分を利用して、分割フラグのコンテキストを細かく設定することで、コンテキストの精度を向上させる技術である。しかしながら、分割関連情報の差分値を単純に加算すると、ブロックサイズが大きい場合にコンテキストのとる値が非常に広範囲になってしまう。例えば、CTUサイズが128x128の場合、とりうるデプスの値は0(128x128に対応)~11(4x4)となり、差分値の範囲は-22~22となる。コンテキストの値の増加はエントロピー符号化および復号処理の複雑化を招き、必要なテーブルのメモリ量も大きくなるので好ましくない。また、通常コンテキストは0以上の整数に割り振られるため、負の数が生じるのは好ましくない。そこでコンテキストを導出する過程でクリッピングやマッピング、オフセットの加算、乗算、シフト演算などを行い、コンテキストの値の範囲を制限する技術について説明する。
 図18のフローチャートで説明したように、コンテキスト決定部32は、S1402で分割関連情報の差分値を計算し、S1403で複数の差分値を加算した結果からコンテキストを導出するという処理の流れである。なお、以降の説明では、分割関連情報としてデプスを用い、具体例5を拡張して説明するが、分割関連情報をブロックサイズ、あるいはデプスとブロックサイズ双方として、具体例6あるいは7を拡張する方法も同じ方法を適用できるので、説明を省略する。また、図21で説明した最大値を用いる方法に対しても、クリッピングとマッピングは同様に適用可能であり、説明を省略する。
 まず、S1402で算出した差分値をS1403で加算した後にクリッピングを実施する例を説明する。対象ブロックOと隣接ブロックWAのデプスの差分値diffDepth0と、対象ブロックOと隣接ブロックWLのデプスの差分値diffDepth1を加算した結果に対し、下式で示すようにクリッピングを施す。
  diffTmp = clip3(0,THDmax,diffDepth0+diffDepth1+offsetD) (c1)
  ctxIdxSplit = ctxTbl[diffTmp]
ここで、ctxTblはデプスの差分値の加算結果からコンテキストを導出するためのテーブルであり、詳細は後述する。offsetDはデプスの差分値のゼロ点の位置(中央)を、テーブルctxTblの中央要素付近に対応させるためのオフセットである。0からTHDmaxへのクリップは、必要なテーブルのエントリ数を低減するために行っており、THDmax+1はテーブルのエントリ数の最大値である。
 図22の(1)は、差分値を加算した後にクリッピングする動作を説明するフローチャートである。図22の(1)は図18のS1403の処理がS18031、S18041、S1805に変更された以外は図18と同じであり、説明を省略する。S18031では、コンテキスト決定部32はS1402で導出した差分値を加算する。S18041では、コンテキスト決定部32は加算値を(c1)の方法でクリッピングする。S1805では、コンテキスト決定部32はクリッピング結果を用いてコンテキストを導出する。
 例えばctxTbl[]={0,1,1,2,3}、offsetD=2、THDmax=4とすると、前述のとりうる差分値-22~22をオフセットにより-20~24に変更し、クリッピングにより0~4に制限した値をテーブルに入力することで、0~2の4つの値に制限することができる。また、ctxTbl[]={0,1,2}、offsetD=1、THDmax=2とすると、前述のとりうる差分値-22~22をオフセットにより-21~23に変更し、クリッピングにより-1~1に制限した値をテーブルに入力ることで、0~2の3つの値に制限することができる。また、ctxTbl[]={0,1,1,2,3,3}、offsetD=2、THDmax=5とすると、前述のとりうる差分値をオフセットにより-20~24に変更し、クリッピングにより0~5に制限した値をテーブルに入力することで、0~3の4つの値に制限することができる。
 また、別の例として、S1402で算出した差分値をクリッピングした結果をS1403で加算する例を説明する。対象ブロックOと隣接ブロックWAのデプスの差分値diffDepth0と、対象ブロックOと隣接ブロックWLのデプスの差分値diffDepth1に対し、下式で示すようにクリッピングを施す。
  diffDepth0 = clip3(-offsetD,offsetD,depthAbove-depthCurr)
  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は加算結果を用いてコンテキストを導出する。
 この例では、複数のデプスの差分値ごとにクリップを行うため、あるデプスの差分値が大きく(もしくは小さく)なりすぎた場合に、その大きく(もしくは小さく)なりすぎた差分値に最終結果が影響を受けすぎないようにする効果がある。
 また、別の例として、S1402で算出した差分値をクリッピングした結果をS1403で加算し、さらにクリッピングする例を説明する。対象ブロックOと隣接ブロックWAのデプスの差分値diffDepth0と、対象ブロックOと隣接ブロックWLのデプスの差分値diffDepth1に対し、下式で示すようにクリッピングを施す。
  diffDepth0 = clip3(-offsetD1,offsetD1,depthAbove-depthCurr)
  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)の方法でクリッピングする。
 この例では加算後にもクリップを行うため、加算結果が大きく(もしくは小さく)なりすぎても、最終結果が影響を受けすぎないようにする効果がある。
 なお、offsetD=2、THDmax=5の場合に、加算結果、あるいは最大値をコンテキストにマッピングするためのテーブルを図23に示す。これらはシミュレーションで効果のあった加算結果とコンテキストの組み合わせの例である。例えば、0,1,2の3値にマッピングする
 ctxTbl[] = {0, 0, 0, 1, 2, 2}
 や、0,1,2,3の4値にマッピングする
 ctxTbl[] = {0, 0, 0, 1, 2, 3}
は特に適当である。
 上記では、差分値の加算結果からコンテキスト値へのマッピングにテーブルを用いていたが、テーブルを用いたマッピング以外に、下式のように加算結果と所定の閾値との比較によってコンテキストを導出する方法でもよい。
  if (diffTmp<THD1) ctxIdx = 0
  else if (diffTmp<THD2) ctxIdx = 1
  else if (diffTmp<THD3) ctxIdx = 2
  else ctxIdx = 3
 また、下記の3つの例ように除算や、シフト演算、乗算など四則演算とシフトを用いて、加算値の値の範囲を変化させることによって適当な範囲のコンテキストを導出する方法でもよい。
  diffDepth0 = depthAbove-depthCurr
  diffDepth1 = depthLeft-depthCurr
例1
  diffTmp = (diffDepth0 + diffDepth1)/2
例2
  diffTmp = (diffDepth0 + diffDepth1)>>1
例3
  diffTmp = (diffDepth0 + diffDepth1)*3 >> 2
 また、利用可能性のチェックやクリッピング、マッピング、四則演算の組み合わせを用いて、差分値の加算値からコンテキストを導出してもよい。
 下記の例では、利用可能性のチェックを用いて、上と左に隣接するデプスとサイズの差分値diffDepth0、diffDepth1、diffSize0、diffSize1を導出後、それらをクリップしている。さらに、差分値の加算から、デプスの差分値diffTmpD、サイズの差分値diffTmpSを導出、それらの平均値diffTmpをインデクスとして、テーブルを用いたマッピングによりコンテキストを導出する。
  diffDepth0 = availableAbove ? (depthAbove-depthCurr) : 0
  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などが適当であるが、他の値でもよい。
 なお、上記の処理は、クリッピングにより複雑にみえるが、結局のところ、クリッピングを除去してみれば下記のようになる。すなわち、すでに説明したように、隣接ブロックの分割関連情報が利用可能な場合に、分割可能情報(ここではデプス、と、サイズ)の差分の和をテーブル引きにより適当な範囲の値のコンテキストにマッピングする処理である。
  diffDepth0 = availableAbove ? (depthAbove-depthCurr) : 0
  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分割フラグ等)のコンテキストを導出する。
 上記の構成を有する画像符号化装置11において、コンテキスト決定部32は、まだ分割されていない対象ブロックの分割関連情報と、当該対象ブロックに隣接し、かつ、すでに分割された隣接ブロックの分割関連情報とを取得する。次に、コンテキスト決定部32は、対象ブロック及び隣接ブロックの分割関連情報を参照して、隣接ブロックの分割状況を特定することにより、対象ブロックの各辺に接している隣接ブロックの分割線が存在するか否かを判定する。次に、コンテキスト決定部32は、当該判定に応じて、コンテキストを決定する。次に、CN情報符号化部は、コンテキスト決定部32が決定したコンテキストに応じて、対象ブロックを分割するか否かを示す分割フラグを符号化する。
 (実施形態1のまとめ)
 以上のように、本実施形態に係る画像復号装置31は、対象ブロックの分割情報(分割フラグ)のコンテキストを、当該対象ブロックに隣接する1又は複数の隣接ブロックの分割状況を参照して決定し、当該コンテキストを用いて、対象ブロックの分割情報を復号する。また、本実施形態に係る画像復号装置31は、隣接ブロックのパーティション番号、水平デプス及び垂直デプス又はサイズを参照して、隣接ブロックの分割状況を特定することにより、隣接ブロックの分割線の有無を判定し、当該判定を参照してコンテキストを決定する。これにより、隣接ブロックのパーティション番号、水平デプス及び垂直デプス又はサイズを参照するため、隣接ブロックの分割関連情報が反映され、より適切なコンテキストを決定することができる。従って、画像復号装置において、分割情報の符号量を削減できる。
 また、本実施形態に係る画像符号化装置11および画像復号装置31では、対象ブロックの分割情報(分割フラグ)のコンテキストを、当該対象ブロックに隣接する1又は複数の隣接ブロックの分割関連情報を参照して決定し、当該コンテキストを用いて、対象ブロックの分割情報を符号化あるいは復号する。また、本実施形態では、分割関連情報としてデプス又はブロックサイズを参照して、隣接ブロックの分割状況を判定し、当該判定を参照してコンテキストを決定する。この時に、複数の隣接ブロックの分割関連情報の差分値を用いることで、隣接ブロックの分割関連情報がより精度よく反映され、コンテキストを精度良く決定することができる。これにより、より適切なコンテキストを決定することができる。また、対象ブロックの分割関連情報と隣接ブロックの分割関連情報の差分値の符号(±)が異なる場合、つまり隣接ブロックの中に、デプスが対象ブロック以下のブロックと大きいブロックがある場合、常に分割されやすいと判定されることなく、差分値に従って分割されやすい場合とそうでない場合を判定することもできる。従って、画像符号化装置および画像復号装置において、分割情報の符号量を削減できる。
 本発明の一態様に係る画像復号装置は、ピクチャをブロック毎に復号する画像復号装置において、当該対象ブロックに隣接する1又は複数の隣接ブロックの分割関連情報を比較した結果を参照して、対象ブロックの分割情報のコンテキストを決定するコンテキスト決定部と、上記コンテキスト決定部によって決定されたコンテキストを用いて、上記対象ブロックの分割情報を復号する分割情報復号部とを備えることを特徴とする。
 本発明の一態様に係る画像復号装置において、上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、上記分割関連情報はブロックのデプスである。
 本発明の一態様に係る画像復号装置において、上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、上記分割関連情報はブロックサイズである。
 本発明の一態様に係る画像復号装置において、上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、上記分割関連情報はブロックのデプスおよびブロックサイズである。
 本発明の一態様に係る画像復号装置において、上記分割関連情報の比較した結果は、対象ブロックの分割関連情報と隣接ブロックの分割関連情報の差分値の加算値である。
 本発明の一態様に係る画像復号装置において、上記分割関連情報の比較した結果は、対象ブロックの分割関連情報と隣接ブロックの分割関連情報の差分値の最大値である。
 本発明の一態様に係る画像符号化装置は、ピクチャをブロック毎に符号化する画像符号化装置において、当該対象ブロックに隣接する1又は複数の隣接ブロックの分割関連情報を比較した結果を参照して、対象ブロックの分割情報のコンテキストを決定するコンテキスト決定部と、上記コンテキスト決定部によって決定されたコンテキストを用いて、上記対象ブロックの分割情報を符号化する分割情報符号化部とを備えることを特徴とする。
 本発明の一態様に係る画像符号化装置において、上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、上記分割関連情報はブロックのデプスである。
 本発明の一態様に係る画像符号化装置において、上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、上記分割関連情報はブロックサイズである。
 本発明の一態様に係る画像符号化装置において、上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、上記分割関連情報はブロックのデプスおよびブロックサイズである。
 本発明の一態様に係る画像符号化装置において、上記分割関連情報の比較した結果は、対象ブロックの分割関連情報と隣接ブロックの分割関連情報の差分値の加算値である。
 本発明の一態様に係る画像符号化装置において、上記分割関連情報の比較した結果は、対象ブロックの分割関連情報と隣接ブロックの分割関連情報の差分値の最大値である。
 〔実施形態2〕
 本発明の実施形態2について、図面に基づいて説明すれば、以下のとおりである。なお、本実施形態においても、実施形態1に係る画像復号装置31及び画像符号化装置11を同様に用いることができる。従って、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、その説明を省略する。
 本実施形態において、コンテキスト決定部32は、まだ分割されていない色差ブロックを分割するか否かを示す分割フラグのコンテキストを導出する。そのために、コンテキスト決定部32は、当該色差ブロックに対応し、かつ、すでに分割され復号された輝度ブロックを参照することによりコンテキストを導出する。
 (コンテキスト決定部)
 本実施形態に係るコンテキスト決定部32は、色差ブロック(色差CB(第1の色コンポーネントに関する対象ブロック))に対応し、かつ、CN情報復号部10がすでに分割し復号した輝度ブロック(輝度CB(第2の色コンポーネントに関する対応ブロック))の分割関連情報をCN情報復号部10から取得する。なお、色差CBは、当該色差CBを分割するか否かを示す分割フラグを復号する前の対象ブロック(対象CB)であり、輝度CBは、対象ブロックに対応する対応ブロック(対応CB)である。また、上記の第1の色コンポーネントに関する対象ブロックは、輝度CBであってもよく、上記の第2の色コンポーネントに関する対応ブロックは、色差CBであってもよい。
 本実施形態に係るコンテキスト決定部32において、コンテキスト決定部32は、取得した輝度CBの分割関連情報を参照して、輝度CB対応ブロック(対応CB)の分割状況を特定することにより、対応CBに分割線が存在するか否かを判定する。
 本実施形態に係るコンテキスト決定部32において、コンテキスト決定部32は、判定した対応CBの分割の有無に応じて、対象CBのコンテキストを決定する。なお、本実施形態におけるコンテキストは、対象CBをQT分割するか否かを示すQT分割フラグを復号するか否かのコンテキストである。
 (コンテキスト決定方法)
 本実施形態に係る画像復号装置31によるコンテキスト決定方法について、図24を参照して、詳細に説明する。図24は、本実施形態に係る画像復号装置31によるコンテキスト決定方法の一例を説明するフローチャート図である。なお、実施形態1に係るコンテキスト決定方法と同様の工程については、詳細な説明は省略する。
 コンテキスト決定部32は、色差CB(色差ブロック)に対応し、かつ、CN情報復号部10がすでに分割し復号した輝度CB(輝度ブロック)の分割関連情報をCN情報復号部10から取得する(ステップS10)。
 また、コンテキスト決定部32は、取得した輝度CBの分割関連情報を参照して、輝度CB(対応CB)の分割状況を特定することにより、対応CBに分割線が存在するか否かを判定する(ステップS11)。なお、ステップS11の具体的な方法については後述する。
 また、コンテキスト決定部32は、判定した輝度CB(対応CB)の分割の有無に応じて、色差CB(対象CB)のコンテキストを決定する(ステップS12)。なお、ステップS12の具体的な方法については後述する。
 CN情報復号部10は、コンテキスト決定部32が決定した色差CB(対象CB)のコンテキストに応じて、CNに含まれるCN情報から、対象CBをQT分割するか否かを示すQT分割フラグを復号する(ステップS13)。
 (具体例1)
 図25は、本具体例のコンテキスト決定方法のステップS11を説明するための図である。図25の(a)は、色差CBを示し、図25の(b)は、輝度CBを示している。なお、図25における各ブロック内の番号は、パーティション番号を示している。輝度CB(対応CB)は、ブロックKA及びブロックKBを含む。また、ブロックKAの左上の点座標を点KARとし、ブロックKBの右下の点座標を点KBRとする。
 まず、ステップS11において、コンテキスト決定部32は、輝度CBの分割関連情報を参照して、図25の(b)が示す輝度CBの左上の点KARを含むブロックKAのパーティション番号(partId_AboveLeft)と、当該輝度CBの右下の点KBRを含むブロックKBのパーティション番号(partId_LowerRight)とが異なるか否かを判定する。そして、ステップS12において、コンテキスト決定部32は、当該判定の結果自体を、色差CBの分割フラグのコンテキストとして決定する。当該コンテキストの式を下記に示す。
 ctxIdxSplit = (partId_AboveLeft != partId_LowerRight)
 なお、上記の式において、QT分割フラグのコンテキストの場合、ctxIdxSplitは、ctxIdxQTである。BT分割フラグのコンテキストの場合、ctxIdxSplitは、ctxIdxBTである。BT分割及びTT分割を区別せずに、両者を含めた分割であるPT分割のフラグのコンテキストの場合、ctxIdxSplitは、ctxIdxPTである。
 輝度CBの左上の点KARを含むブロックのパーティション番号と、当該輝度CBの右下の点KBRを含むブロックのパーティション番号とが異なる場合、点KARと点KBRとは、それぞれ、異なるブロックに含まれていることになるため、コンテキスト決定部32は、点KARと点KBRとの間には、分割線が存在していると判定する。一方、輝度CBの左上の点KARを含むブロックのパーティション番号と、当該輝度CBの右下の点KBRを含むブロックのパーティション番号とが同じ場合、点KARと点KBRとは、それぞれ、同じブロックに含まれていることになるため、コンテキスト決定部32は、点KARと点KBRとの間には、分割線が存在しないと判定する。
 図25が示すように、点KARと点KBRとは、それぞれ、異なるブロックKAとブロックKBとに含まれており、コンテキスト決定部32は、色差CBの分割フラグのコンテキストとして、ctxIdxSplit = 1を出力する。また、点KARと点KBRとが、それぞれ、同じブロックに含まれている場合、コンテキスト決定部32は、ctxIdxSplit = 0を出力する。
 (具体例2)
 図26は、本具体例のコンテキスト決定方法のステップS11を説明するための図である。図26の(a)は、色差CB(対象CB)を示し、図26の(b)は、輝度CB(対応CB)を示している。なお、図26における各ブロック内の番号は、パーティション番号を示している。輝度CBは、ブロックKA及びブロックKCを含む。また、ブロックKAの左上の点座標を点KARとし、ブロックKAの左下の点座標を点KALとする。また、ブロックKCの右上の点座標を点KCRとする。
 まず、ステップS11において、コンテキスト決定部32は、図26の(b)が示す輝度CBの左上の点KARを含む対応ブロックのパーティション番号(partId_AboveLeft)と、当該輝度CBの右上の点KCRを含む対応ブロックのパーティション番号(partId_AboveRight)とが異なるか否かを判定する。当該判定の式を下記に示す。
 splitHorizontally (=verSplit) = (partId_AboveLeft != partId_AboveRight)
 また、コンテキスト決定部32は、当該輝度CBの左上の点KARを含むブロックのパーティション番号(partId_AboveLeft)と、当該輝度CBの左下の点KALを含むブロックのパーティション番号(partId_LowerLeft)とが異なるか否かを判定する。当該判定の式を下記に示す。
 splitVertically (=horSplit) = (partId_AboveLeft != partId_LowerLeft)
 輝度CBの左上の点KARを含むブロックのパーティション番号と、当該輝度CBの右上の点KCRを含むブロックのパーティション番号とが異なる場合、点KARと点KCRとは、それぞれ、異なるブロックに含まれていることになるため、コンテキスト決定部32は、点KARと点KCRとの間には、分割線が存在していると判定する。一方、輝度CBの左上の点KARを含むブロックのパーティション番号と、当該輝度CBの右上の点KCRを含むブロックのパーティション番号とが同じ場合、点KARと点KCRとは、それぞれ、同じブロックに含まれていることになるため、コンテキスト決定部32は、点KARと点KCRとの間には、分割線が存在しないと判定する。
 また、輝度CBの左上の点KARを含むブロックのパーティション番号と、当該輝度CBの左下の点KALを含むブロックのパーティション番号とが異なる場合、点KARと点KALとは、それぞれ、異なるブロックに含まれていることになるため、コンテキスト決定部32は、点KARと点KALとの間には、分割線が存在していると判定する。一方、輝度CBの左上の点KARを含むブロックのパーティション番号と、当該輝度CBの左下の点KALを含むブロックのパーティション番号とが同じ場合、点KARと点KALとは、それぞれ、同じブロックに含まれていることになるため、コンテキスト決定部32は、点KARと点KALとの間には、分割線が存在しないと判定する。
 コンテキスト決定部32は、当該輝度CBの左上の点KARを含むブロックのパーティション番号と、右上の点KCRを含むブロックのパーティション番号とが異なるか否かの結果を、splitHorizontallyとして出力する。図26の(b)が示すように、点KARと点KCRとは、それぞれ、異なるブロックKAとブロックKCとに含まれており、ブロックKAとブロックKCとは、パーティション番号が異なるため、コンテキスト決定部32は、splitHorizontally = 1を設定する。
 また、コンテキスト決定部32は、当該輝度CBの左上の点KARを含むブロックのパーティション番号と、左下の点KALを含むブロックのパーティション番号とが異なるか否かの結果を、splitVerticallyとして出力する。図26の(b)が示すように、点KARと点KALとは、それぞれ、同じ対応ブロックKAに含まれており、パーティション番号が同じであるため、コンテキスト決定部32は、splitVertically = 0を設定する。
 次に、ステップS12において、コンテキスト決定部32は、設定したsplitVertically及びsplitHorizontallyを参照して、色差CBの分割フラグのコンテキストであるctxIdxSplit = splitVertically + splitHorizontallyを決定する。本具体例の場合、splitVertically = 0であり、splitHorizontally = 1であるため、コンテキスト決定部32は、ctxIdxSplit = 1を出力する。
 (具体例3)
 図27は、本具体例のコンテキスト決定方法のステップS11を説明するための図である。図27の(a)は、色差CB(対象CB)を示し、図27の(b)は、輝度CB(対応CB)を示している。なお、図27における各ブロック内の番号は、パーティション番号を示している。輝度CBは、ブロックKA、ブロックKB、及びブロックKCを含む。また、ブロックKAの左上の点座標を点KARとし、ブロックKAの左下の点座標を点KALとする。また、ブロックKBの右下の点座標を点KBRとする。また、ブロックKCの右上の点座標を点KCRとする。
 まず、ステップS11において、コンテキスト決定部32は、図27の(b)が示す輝度CBの左上の点KARを含むブロックのパーティション番号(partId_AboveLeft)と、当該輝度CBの右上の点KCRを含むブロックのパーティション番号(partId_AboveRight)とが異なるか否かを判定する。また、コンテキスト決定部32は、図27の(b)が示す輝度CBの左下の点KALを含むブロックのパーティション番号(partId_LowerLeft)と、当該輝度CBの右下の点KBRを含むブロックのパーティション番号(partId_LowerRight)とが異なるか否かを判定する。コンテキスト決定部32は、これらの判定を参照して、下記の式で示されるsplitHorizontallyを算出する。
 splitHorizontally (=verSplit) = (partId_AboveLeft != partId_AboveRight) + (partId_LowerLeft != partId_LowerRight)
 また、コンテキスト決定部32は、当該輝度CBの左上の点KARを含むブロックのパーティション番号(partId_AboveLeft)と、当該輝度CBの左下の点KALを含むブロックのパーティション番号(partId_LowerLeft)とが異なるか否かを判定する。また、コンテキスト決定部32は、当該輝度CBの右上の点KCRを含むブロックのパーティション番号(partId_AboveRight)と、当該輝度CBの右下の点KBRを含むブロックのパーティション番号(partId_lowerRight)とが異なるか否かを判定する。コンテキスト決定部32は、これらの判定を参照して、下記の式で示されるsplitVerticallyを算出する。
 splitVertically (=horSplit) = (partId_AboveLeft != partId_LowerLeft) + (partId_AboveRight != partId_LowerRight)
 輝度CBの左上の点KARを含むブロックのパーティション番号と、当該輝度CBの右上の点KCRを含むブロックのパーティション番号とが異なる場合、点KARと点KCRとは、それぞれ、異なるブロックに含まれていることになるため、コンテキスト決定部32は、点KARと点KCRとの間には、分割線が存在していると判定する。一方、輝度CBの左上の点KARを含むブロックのパーティション番号と、当該輝度CBの右上の点KCRを含むブロックのパーティション番号とが同じ場合、点KARと点KCRとは、それぞれ、同じブロックに含まれていることになるため、コンテキスト決定部32は、点KARと点KCRとの間には、分割線が存在しないと判定する。
 また、輝度CBの左下の点KALを含むブロックのパーティション番号と、当該輝度CBの右下の点KBRを含むブロックのパーティション番号とが異なる場合、点KALと点KBRとは、それぞれ、異なるブロックに含まれていることになるため、コンテキスト決定部32は、点KALと点KBRとの間には、分割線が存在していると判定する。一方、輝度CBの左下の点KALを含むブロックのパーティション番号と、当該輝度CBの右下の点KBRを含むブロックのパーティション番号とが同じ場合、点KALと点KBRとは、それぞれ、同じブロックに含まれていることになるため、コンテキスト決定部32は、点KALと点KBRとの間には、分割線が存在しないと判定する。
 また、輝度CBの左上の点KARを含むブロックのパーティション番号と、当該輝度CBの左下の点KALを含むブロックのパーティション番号とが異なる場合、点KARと点KALとは、それぞれ、異なるブロックに含まれていることになるため、コンテキスト決定部32は、点KARと点KALとの間には、分割線が存在していると判定する。一方、輝度CBの右上の点KCRを含むブロックのパーティション番号と、当該輝度CBの右下の点KBRを含むブロックのパーティション番号とが同じ場合、点KCRと点KBRとは、それぞれ、同じブロックに含まれていることになるため、コンテキスト決定部32は、点KCRと点KBRとの間には、異なる2つのブロックに挟まれた分割線が存在しないと判定する。
 図27の(b)が示すように、点KARと点KCRとは、それぞれ、異なるブロックKAとブロックKCとに含まれており、ブロックKAとブロックKCとは、パーティション番号が異なるため、コンテキスト決定部32は、(partId_AboveLeft != partId_AboveRight) = 1を設定する。また、点KALと点KBRとは、それぞれ、異なるブロックKAとブロックKBとに含まれており、ブロックKAとブロックKBとは、パーティション番号が異なため、コンテキスト決定部32は、(partId_LowerLeft != partId_LowerRight) = 1を設定する。従って、コンテキスト決定部32は、上述の式より、splitHorizontally =2を設定する。
 また、図27の(b)が示すように、点KARと点KALとは、それぞれ、同じブロックKAに含まれており、パーティション番号が同じであるため、コンテキスト決定部32は、(partId_AboveLeft != partId_LowerLeft) = 0を設定する。また、点KCRと点KBRとは、それぞれ、異なるブロックKCとブロックKBとに含まれており、ブロックKCとブロックKBとは、パーティション番号が異なため、コンテキスト決定部32は、(partId_AboveRight != partId_LowerRight) = 1を設定する。従って、コンテキスト決定部32は、上述の式より、splitVertically = 1を設定する。
 次に、ステップS12において、コンテキスト決定部32は、設定したsplitVertically及びsplitHorizontallyを参照して、色差CBの分割フラグのコンテキストであるctxIdxSplit = splitVertically + splitHorizontallyを決定する。本具体例の場合、splitVertically = 1であり、splitHorizontally = 2であるため、コンテキスト決定部32は、ctxIdxSplit = 3を出力する。なお、本具体例のctxIdxSplitは、0~4の5つの値を取り得るが、0~2の3つの値を取ることも可能である。その場合、上述のsplitVertically又はsplitHorizontallyが1又は2である場合(つまり、少なくとも1つ以上の分割線がある場合)、splitVertically、又はsplitHorizontallyを1とする。ctxIdxSplitが0~2の3つの値を取る場合の式を下記に示す。
 ctxIdxSplit = splitVertically ? 1 : 0 + splitHorizontally ? 1 : 0
 又は、下記の式のようにsplitVertically + splitHorizontallyが3以上である場合、ctxIdxSplitを2としてもよい。
 ctxIdxSplit = min(2, splitVertically + splitHorizontally)
 (画像符号化装置)
 本実施形態に係る画像復号装置31の構成は、画像符号化装置11にも適用できる。その場合、画像符号化装置11は、CN情報復号部10に代わるCN情報符号化部(図示せず)と、コンテキスト決定部32とを備え、対象ブロックを分割するか否かを示す分割フラグ(QT分割フラグ、BT分割フラグ又はTT分割フラグ等)のコンテキストを導出する。
 上記の構成を有する画像符号化装置11において、コンテキスト決定部32は、色差ブロック(対象ブロック)に対応し、かつ、すでに分割された輝度ブロック(対応ブロック)の分割関連情報を取得する。次に、コンテキスト決定部32は、対応ブロックの分割状況を特定することにより、対応ブロックに分割線が存在するか否かを判定する。次に、コンテキスト決定部32は、当該判定に応じて、対象ブロックの分割フラグのコンテキストを決定する。次に、CN情報符号化部は、コンテキスト決定部32が決定したコンテキストに応じて、対象ブロックを分割するか否かを示す分割フラグを符号化する。
 (実施形態2のまとめ)
 以上のように、本実施形態に係る画像復号装置31は、第1の色コンポーネントに関する対象ブロックの分割情報(分割フラグ)のコンテキストを、既に復号された第2の色コンポーネントに関する対応ブロックの分割状況を参照して決定し、当該コンテキストを用いて、第1の色コンポーネントに関する対象ブロックの分割情報を復号する。これにより、対応ブロックの分割状況に応じて、対象ブロックの分割情報を復号する。
 また、本実施形態に係る画像復号装置31は、対応ブロックのパーティション番号を参照して、第2の色コンポーネントに関する対応ブロックの分割状況を特定することにより、第2の色コンポーネントに関する対応ブロックの分割線の有無を判定し、当該判定を参照して、第1の色コンポーネントに関する対象ブロックの分割フラグのコンテキストを決定する。これにより、第2の色コンポーネントに関する対応ブロックのパーティション番号を参照して、第1のコンポーネントの分割の有無を判断するため、より適切なコンテキストを決定することができる。従って、画像復号装置において、分割情報の符号量を削減できる。
 〔実施形態3〕
 本発明の実施形態3について、図面に基づいて説明すれば、以下のとおりである。なお、本実施形態においても、実施形態1に係る画像復号装置31及び画像符号化装置11を同様に用いることができる。従って、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、その説明を省略する。
 <実施形態3の態様1>
 本態様では、実施形態1に係るコンテキスト決定方法と同様の方法によりコンテキストを導出する。ただし、本実施形態におけるコンテキストは、対象ブロックの分割方向を示す方向フラグ(分割モード)のコンテキストである。本態様において、コンテキスト決定部32は、実施形態1と類似の方法により、隣接ブロックの分割の有無又は分割方向を判定し、当該判定に基づいて、対象ブロックに対するBT方向フラグのコンテキストを導出する。
 (CN情報復号部)
 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から取得する。
 本態様に係るコンテキスト決定部32は、取得した隣接CNのパーティション番号、水平デプス及び垂直デプス又はサイズを参照して、隣接ブロックの分割状況を特定することにより、隣接ブロックの、分割の有無又は分割の方向を判定する。
 また、本態様に係るコンテキスト決定部32において、コンテキスト決定部32は、判定した分割の有無又は分割の方向に応じて、対象ブロックの分割方向を示す方向フラグ(分割モード)のコンテキストを決定する。コンテキスト決定部32が決定したコンテキストは、上述のCN情報復号部10に出力される。
 (コンテキスト決定方法)
 本態様に係る画像復号装置31によるコンテキスト決定方法について、図28を参照して、詳細に説明する。図28は、本態様に係る画像復号装置31によるコンテキスト決定方法の一例を説明するフローチャート図である。なお、実施形態1及び2に係るコンテキスト決定方法と同様の工程については、詳細な説明は省略する。
 まず、コンテキスト決定部32は、CN情報復号部10がまだ分割していない対象CN(対象ブロック)と、当該対象CNに隣接し、かつ、CN情報復号部10がすでに分割し復号した隣接CN(隣接ブロック)と、をCN情報復号部10から取得する(ステップS20)。
 次に、コンテキスト決定部32は、対象CN及び隣接CNのパーティション番号、水平デプス及び垂直デプス又はサイズを参照して、隣接ブロックの分割状況を特定することにより、隣接ブロックの、分割の有無又は分割方向を判定する(ステップS21)。なお、ステップS21の具体的な方法は後述する。
 次に、コンテキスト決定部32は、判定した分割の有無又は分割方向に応じて、コンテキストを決定する(ステップS22)。なお、ステップS22の具体的な方法については後述する。
 次に、CN情報復号部10は、コンテキスト決定部32が決定したコンテキストに応じて、CNに含まれる情報から、対象CNのBT分割の分割方法を示すBT方向フラグを復号する(ステップS23)。
 (具体例1)
 本態様の具体例1において、コンテキスト決定部32は、ステップS21において、実施形態1の具体例と同様に、分割線の有無を判定した結果であるsplitHorizontally及びsplitVerticallyを設定する。本態様の具体例1におけるsplitHorizontally及びsplitVerticallyは、実施形態1の各具体例におけるsplitHorizontally及びsplitVerticallyと同様の方法により求められる。そのため、ステップS21におけるsplitHorizontally及びsplitVerticallyについての工程の詳細な説明は省略する。また、コンテキスト決定部32は、分割関連情報として、対象ブロックの幅であるwidthと、対象ブロックの高さであるheightを参照する。
 まず、splitHorizontally及びsplitVerticallyを参照してコンテキストを決定する方法を説明する。図29の(a)は、splitHorizontally及びsplitVerticallyを参照してコンテキストを決定する方法を説明するための表である。なお、以下では、簡略化のために、あるブロックが水平方向に並ぶ2つのブロックに分割されることを水平に分割(垂直分割)とし、あるブロックが垂直方向に並ぶ2つのブロックに分割されることを垂直に分割(水平分割)とする。
 ステップS22において、コンテキスト決定部32は、splitHorizontallyがsplitVerticallyよりも大きいか否かを判定することにより、コンテキスト(ctxIdxDir)を決定する。当該判定の式を下記に示す。
 if (splitHorizontally > splitVertically) ctxIdxDir = 1
 else if (splitHorizontally < splitVertically) ctxIdxDir = 2
 else ctxIdxDir = 0
 なお、verSplitとhorSplitを用いて表現すると、以下になる。
 if (verSplit > horSplit) ctxIdxDir = 1
 else if (verSplit < horSplit) ctxIdxDir = 2
 else ctxIdxDir = 0
 詳細に説明すると、図29の(a)が示すように、splitHorizontallyがsplitVerticallyよりも大きい場合、コンテキスト決定部32は、コンテキストを、ctxIdxDir = 1に決定する。ctxIdxDir = 1は、隣接ブロック(もしくは対応ブロック)が、水平に分割/split horizontally(垂直分割/verSplit、左右に分割)されており、対象ブロックも水平に分割(垂直分割)される可能性が高く、CN情報復号部10が対象ブロックの水平に分割(垂直分割)するか否かを示す方向フラグを復号する可能性が高いことを示している。
 また、splitHorizontallyがsplitVerticallyと同じである場合、コンテキスト決定部32は、コンテキストを、ctxIdxDir = 0に決定する。ctxIdxDir = 0は、隣接ブロック(もしくは対応ブロック)が水平分割及び垂直分割の両方が同じ回数実行されているため、CN情報復号部10は、対象ブロックの垂直分割又は水平分割の方向フラグを等確率で復号する可能性が高いことを示している。
 また、splitHorizontallyがsplitVerticallyよりも小さい場合、コンテキスト決定部32は、コンテキストを、ctxIdxDir = 2に決定する。ctxIdxDir = 2は、隣接ブロック(もしくは対応ブロック)が、垂直に分割(水平分割、上下に分割)されており、対象ブロックも垂直に分割(水平分割)される可能性が高く、CN情報復号部10が対象ブロックの垂直に分割(水平分割)するか否かを示す方向フラグを復号する可能性が高いことを示している。
 次に、splitHorizontally及びsplitVerticallyを優先的に参照し、width及びheightを参照してコンテキストを決定する方法を説明する。図29の(b)は、splitHorizontally及びsplitVerticallyを優先的に参照し、width及びheightを参照してコンテキストを決定する方法を説明するための表である。
 ステップS22において、コンテキスト決定部32は、splitHorizontallyがsplitVerticallyよりも大きいか否かを判定することにより、コンテキスト(ctxIdxDir)を決定する。そして、コンテキスト決定部32は、splitHorizontallyがsplitVerticallyよりも大きいか否かを判定することができなかった場合(例えばsplitHorizontallyとsplitVerticallyとが等しい場合)、widthがheightよりも大きいか否かを判定することにより、コンテキスト(ctxIdxDir)を決定する。これらの判定の式を下記に示す。
 if (splitHorizontally > splitVertically) ctxIdxDir = ctxA
 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の値とが異なること、を示す。
 なお、verSplitとhorSplitを用いて表現すると、以下になる。
 if (verSplit > horSplit) ctxIdxDir = ctxA
 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よりも大きい場合、つまり、対象ブロックが垂直方向よりも水平方向に長い長方形である場合、対象ブロックが水平に分割(垂直分割)される可能性が高いためである。
 また、widthがheightよりも小さい場合、コンテキスト決定部32は、コンテキストをctxIdxDir = 2に決定する。ここでコンテキスト決定部32がコンテキストをctxIdxDir = 2に決定する理由としては、widthがheightよりも小さい場合、つまり、対象ブロックが水平方向よりも垂直方向に長い長方形である場合、対象ブロックが垂直に分割(水平分割)される可能性が高いためである。
 また、widthとheightとが等しい場合、コンテキスト決定部32は、コンテキストをctxIdxDir = 0に決定する。ここでコンテキスト決定部32がコンテキストをctxIdxDir = 0に決定する理由としては、widthとheightとが等しい場合、つまり、対象ブロックが水平方向の辺と垂直方向の辺とが等しい正方形である場合、対象ブロックの分割方向が等確率で発生するためである。
 次に、width及びheightを優先的に参照し、splitHorizontally及びsplitVerticallyを参照してコンテキストを決定する方法を説明する。図29の(c)は、width及びheightを優先的に参照し、splitHorizontally及びsplitVerticallyを参照してコンテキストを決定する方法を説明するための表である。
 ステップS22において、コンテキスト決定部32は、widthがheightよりも大きいか否かを判定することにより、コンテキスト(ctxIdxDir)を決定する。そして、コンテキスト決定部32は、widthがheightよりも大きいか否かを判定することができなかった場合(例えばwidthとheightとが等しい場合)、splitHorizontallyがsplitVerticallyよりも大きいか否かを判定することにより、コンテキスト(ctxIdxDir)を決定する。これらの判定の式を下記に示す。
 if (width > height) ctxIdxDir = ctxA
 else if (width < height) ctxIdxDir = ctxB
 else if (splitHorizontally > splitVertically) ctxIdxDir = ctxA
 else if (splitHorizontally < splitVertically) ctxIdxDir = ctxB
 else ctxIdxDir = ctxC
 なお、verSplitとhorSplitを用いて表現すると、以下になる。
 if (width > height) ctxIdxDir = ctxA
 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に決定する。
 次に、widthとheightとが等しい場合、コンテキスト決定部32は、splitHorizontallyがsplitVerticallyよりも大きいか否かを判定する。splitHorizontallyがsplitVerticallyよりも大きい場合、コンテキスト決定部32は、コンテキストを、ctxIdxDir = 1に決定する。また、splitHorizontallyがsplitVerticallyよりも小さい場合、コンテキスト決定部32は、コンテキストを、ctxIdxDir = 2に決定する。また、splitHorizontallyとsplitVerticallyとが等しい場合、コンテキスト決定部32は、コンテキストを、ctxIdxDir =0に決定する。
 上記の各方法では、コンテキストの値が0~2の3段階の値をとる例を説明したが、コンテキストの値は、0~4の5段階の値をとってもよい。図29の(d)は、コンテキストの値が0~4の5段階の値をとる例を説明するための表である。
 まず、ステップS22において、コンテキスト決定部32は、splitHorizontallyがsplitVerticallyよりも大きいか否かを判定する。そして、splitHorizontallyがsplitVerticallyよりも大きくない場合、コンテキスト決定部32は、splitHorizontallyとsplitVerticallyとが等しいか否かをさらに判定する。また、コンテキスト決定部32は、widthがheightよりも大きいか否かを判定する。そして、widthがheightよりも大きくない場合、widthとheightとが等しいか否かをさらに判定する。そして、コンテキスト決定部32は、splitHorizontally及びsplitVerticallyを用いた判定と、width及びheightを用いた判定とを参照することにより、コンテキスト(ctxIdxDir)を決定する。これらの判定の式を下記に示す。
 ctxIdxDir = (splitHorizontally > splitVertically) ? 2 : (splitHorizontally == splitVertically) ? 1 : 0 + (width > height) ? 2 : (width == height) ? 1 : 0
 詳細に説明すると、まず、コンテキスト決定部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に設定する。
 また、コンテキスト決定部32は、widthがheightよりも大きいか否かを判定し、widthがheightよりも大きい場合、width及びheightを用いた判定によるコンテキストの成分を、2に設定する。widthがheightよりも大きくない場合、コンテキスト決定部32は、widthとheightとが等しいか否かをさらに判定する。widthとheightとが等しい場合、コンテキスト決定部32は、width及びheightを用いた判定によるコンテキストの成分を、1に設定する。widthとheightとが等しくない場合、コンテキスト決定部32は、width及びheightを用いた判定によるコンテキストの成分を、0に設定する。
 次に、コンテキスト決定部32は、splitHorizontally及びsplitVerticallyを用いた判定によるコンテキストの成分と、width及びheightを用いた判定によるコンテキストの成分とを加算することにより、ctxIdxDirを決定する。これにより決定されたctxIdxDirは、0~4の値を取り得る。そして、ctxIdxDirが4に近いほど、隣接ブロック(または対応ブロック)が水平に分割(垂直分割)されている可能性が高く、対象ブロックも水平に分割される可能性が高く、CN情報復号部10が対象ブロックを水平に分割するか否かを示す方向フラグを復号する可能性が高いことを示している。また、ctxIdxDirが0に近いほど、隣接ブロックが垂直に分割(水平分割)されている可能性が高く、対象ブロックも垂直に分割される可能性が高く、CN情報復号部10が対象ブロックの垂直に分割するか否かを示す方向フラグを復号する可能性が高いことを示している。
 また、ctxIdxDirが4に近いほど、隣接ブロックが垂直に分割(水平分割)されている可能性が高く、対象ブロックも垂直に分割(水平分割)される可能性が高く、CN情報復号部10が対象ブロックを垂直に分割するか否かを示す方向フラグを復号する可能性が高いことを示していてもよい。同様に、ctxIdxDirが0に近いほど、隣接ブロックが水平に分割(垂直分割)されている可能性が高く、対象ブロックも水平に分割(垂直分割)される可能性が高く、CN情報復号部10が、対象ブロックを水平に分割するか否かを示す方向フラグを復号する可能性が高いことを示していてもよい。その場合の判定の式を下記に示す。
 ctxIdxDir = (splitHorizontally > splitVertically) ? 0 : (splitHorizontally == splitVertically) ? 1 : 2 + (width > height) ? 0 : (width == height) ? 1 : 2
 なお、verSplitとhorSplitを用いて表現すると、以下になる。
 ctxIdxDir = (verSplit > horSplit) ? 0 : (verSplit == horSplit) ? 1 : 2 + (width > height) ? 0 : (width == height) ? 1 : 2
 (具体例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)とを決定する方法を説明する。
 まず、具体例1のように、splitHorizontally及びsplitVerticallyを参照してコンテキストを決定する方法を説明する。ステップS22において、コンテキスト決定部32は、splitVerticallyが0より大きいか否かを判定する。splitVerticallyが0より大きい場合、コンテキスト決定部32は、コンテキストを、ctxIdxBTVertically = 1に決定する。ctxIdxBTVertically = 1は、対象ブロックが垂直に分割(水平分割、上下に分割)される可能性が高く、CN情報復号部10が、対象ブロックを垂直に分割するか否かを示す方向フラグを復号する可能性が高いことを示している。splitVerticallyが0より大きくない場合、コンテキスト決定部32は、コンテキストを、ctxIdxBTVertically = 0に決定する。ctxIdxBTVertically = 1は、対象ブロックが垂直に分割される可能性が低く、CN情報復号部10が対象ブロックの垂直に分割の方向フラグを復号する可能性が低いことを示している。当該判定の式を下記に示す。
 ctxIdxBTVertically = (splitVertically > 0)? 1 : 0
 また、コンテキスト決定部32は、splitHorizontallyが0より大きいか否かを判定する。splitHorizontallyが0より大きい場合、コンテキスト決定部32は、コンテキストを、ctxIdxBTHorizontally = 1に決定する。ctxIdxBTHorizontally = 1は、対象ブロックが水平に分割(垂直分割、左右に分割)される可能性が高く、CN情報復号部10が、対象ブロックを水平に分割するか否かを示す方向フラグを復号する可能性が高いことを示している。splitHorizontallyが0より大きくない場合、コンテキスト決定部32は、コンテキストを、ctxIdxBTHorizontally = 0に決定する。ctxIdxBTVHorizontally = 0は、対象ブロックが水平に分割される可能性が低く、CN情報復号部10が、対象ブロックを水平に分割するか否かを示す方向フラグを復号する可能性が低いことを示している。当該判定の式を下記に示す。
 ctxIdxBTHorizontally = (splitHorizontally > 0)? 1 : 0
 次に、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に決定する。これらの判定の式を下記に示す。
 ctxIdxBTVertically = (splitVertically > 0) ? 1 : (width < height) ? 1 : 0
 また、コンテキスト決定部32は、splitHorizontallyが0より大きいか否かを判定する。splitHorizontallyが0より大きい場合、コンテキスト決定部32は、コンテキストを、ctxIdxBTHorizontally = 1に決定する。splitHorizontallyが0より大きくない場合、コンテキスト決定部32は、対象ブロックの幅であるwidthが対象ブロックの高さであるheightより大きいか否かを判定する。widthがheightより大きい場合、コンテキスト決定部32は、コンテキストを、ctxIdxBTHorizontally = 1に決定する。widthがheightより大きくない場合、コンテキスト決定部32は、コンテキストを、ctxIdxBTHorizontally= 0に決定する。これらの判定の式を下記に示す。
 ctxIdxBTHorizontally = (splitHorizontally > 0) ? 1 : (width > height) ? 1 : 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に決定する。これらの判定の式を下記に示す。
 ctxIdxBTVertically = (width < height) ? 1 : (splitVertically > 0) ? 1 : 0
 また、コンテキスト決定部32は、対象ブロックの幅であるwidthが対象ブロックの高さであるheightより大きいか否かを判定する。widthがheightより大きい場合、コンテキスト決定部32は、コンテキストを、ctxIdxBTHorizontally = 1に決定する。widthがheightより大きくない場合、コンテキスト決定部32は、splitHorizontallyが0より大きいか否かを判定する。splitHorizontallyが0より大きい場合、コンテキスト決定部32は、コンテキストを、ctxIdxBTHorizontally = 1に決定する。splitHorizontallyが0より大きくない場合、コンテキスト決定部32は、コンテキストを、ctxIdxBTHorizontally =0に決定する。
 (実施形態3の態様1のまとめ)
 以上のように、本態様に係る画像復号装置31は、対象ブロックの分割方向を示す方向フラグのコンテキストを、当該対象ブロックに隣接する1又は複数の隣接ブロックの分割状況を参照して決定し、当該コンテキストを用いて、方向フラグを復号する。これにより、隣接ブロックの分割状況に応じて、方向フラグを復号するため、隣接ブロックが分割されておらず、対象ブロックも分割されない可能性が高い場合に、不要な方向フラグを復号する可能性を減少させることができる。従って、画像復号装置において、分割情報の符号量を削減できる。
 また、本態様に係る画像復号装置31は、隣接ブロックのパーティション番号、水平デプス及び垂直デプス又はサイズを参照して、隣接ブロックの分割状況を特定することにより、隣接ブロックの分割線の有無又は分割方向を判定し、当該判定を参照してコンテキストを決定する。これにより、隣接ブロックのパーティション番号、水平デプス及び垂直デプス又はサイズを参照するため、隣接ブロックの分割関連情報が反映された判定を実行することができ、より適切なコンテキストを決定することができる。
 <実施形態3の態様2>
 本態様では、実施形態2に係るコンテキスト決定方法と同様の方法によりコンテキストを導出する。ただし、本実施形態におけるコンテキストは、対象ブロックの分割方法を示す方向フラグのコンテキストである。本態様において、コンテキスト決定部32は、実施形態2と類似の方法により、対応ブロックの分割状況を特定することにより、対応ブロックの、分割の有無又は分割方向を判定し、当該判定に基づいて、対象ブロックの方向フラグのコンテキストを導出する。なお、実施形態3の態様2に係るCN情報復号部10は、上述の実施形態3の態様1の機能と同様の機能を有している。
 (コンテキスト決定部)
 本態様に係るコンテキスト決定部32は、CN情報復号部10がまだ分割していない色差ブロック(色差CB(請求項における第1の色コンポーネントに関する対象ブロック))に対応し、かつ、CN情報復号部10がすでに分割し復号した輝度ブロック(輝度CB(請求項における第2の色コンポーネントに関する対応ブロック))の分割関連情報と、をCN情報復号部10から取得する。
 また、本態様に係るコンテキスト決定部32は、取得した輝度CBの分割関連情報を参照して、色差CB(対象CB)に対応する輝度CB(対応CB)の分割状況を特定することにより、対応CBの分割の有無又は分割方向を判定する。
 また、本態様に係るコンテキスト決定部32において、コンテキスト決定部32は、判定した分割状況に応じて、対象CBの分割方向を示す方向フラグのコンテキストを決定する。コンテキスト決定部32が決定したコンテキストは、上述のCN情報復号部10に出力される。
 (コンテキスト決定方法)
 本態様に係る画像復号装置31によるコンテキスト決定方法について、図30を参照して、詳細に説明する。図30は、本態様に係る画像復号装置31によるコンテキスト決定方法の一例を説明するフローチャート図である。なお、実施形態1及び2、並びに実施形態3の態様1に係るコンテキスト決定方法と同様の工程については、詳細な説明は省略する。
 コンテキスト決定部32は、CN情報復号部10がまだ分割していない色差CB(対象CB)に対応し、かつ、CN情報復号部10がすでに分割し復号した輝度CB(対応CB)の分割関連情報、をCN情報復号部10から取得する(ステップS30)。
 コンテキスト決定部32は、取得した輝度CBの分割関連情報を参照して、色差CBに対応する輝度CBの分割状況を特定することにより、対応CBの分割の有無又は分割方向を判定する(ステップS31)。
 コンテキスト決定部32は、判定した対応CBの分割の有無又は分割方向に応じて、対象CBのコンテキストを決定する(ステップS32)。
 CN情報復号部10は、コンテキスト決定部32が決定したコンテキストに応じて、CNに含まれるCN情報から、対象CBのBT分割の分割方法を示すBT方向フラグを復号する(ステップS33)。
 (具体例)
 本態様の具体例においても、コンテキスト決定部32は、実施形態3の態様1の具体例1及び具体例2と同様の方法を実行することができる。そのため、本態様の具体例についての詳細な説明は省略する。
 本態様では、ステップS31において、コンテキスト決定部32は、対応ブロックが水平に分割(垂直分割)されているか否かを示すsplitHorizontallyと、対応ブロックが垂直に分割(水平分割)されているか否かを示すsplitVerticallyとを設定する。そして、コンテキスト決定部32は、実施形態3の態様1の具体例1及び具体例2と同様の方法により、splitHorizontally及びsplitVerticallyを用い、また、必要に応じて、対象ブロックの幅であるwidthと、対象ブロックの高さであるheightとを用いることにより、対象ブロックの分割方向を示す方向フラグのコンテキスト(ctxIdxDir)を決定する。
 (実施形態3の態様2のまとめ)
 以上のように、本態様に係る画像復号装置31は、第1の色コンポーネントに関する対象ブロックの分割方向を示す方向フラグのコンテキストを、既に復号された第2の色コンポーネントに関する対応ブロックの分割状況を参照して決定し、当該コンテキストを用いて、方向フラグを復号する。これにより、対応ブロックの分割状況に応じて、方向フラグを復号するため、対応ブロックが分割されておらず、対象ブロックも分割されない可能性が高い場合に、不要な方向フラグを復号する可能性を減少させることができる。従って、画像復号装置において、分割情報の符号量を削減できる。
 また、本態様に係る画像復号装置31は、対応ブロックのパーティション番号を参照して、対応ブロックの分割状況を特定することにより、対応ブロックの分割線の有無又は分割方向を判定し、当該判定を参照して、対象ブロックのコンテキストを決定する。これにより、対応ブロックのパーティション番号を参照するため、対応ブロックの分割関連情報が反映された、より適切なコンテキストを決定することができる。
 <画像符号化装置>
 本実施形態に係る画像復号装置31の構成は、同様に、画像符号化装置11にも適用できる。その場合、画像符号化装置11は、CN情報復号部10に代わるCN情報符号化部(図示せず)と、コンテキスト決定部32とを備え、対象ブロックを分割するか否かを示す分割方向フラグ(BT分割方向フラグ又はTT分割方向フラグ等)のコンテキストを導出する。
 上記の構成を有する画像符号化装置11において、コンテキスト決定部32は、色差ブロック(対象ブロック)の隣接ブロック、または色差ブロックに対応し、かつ、すでに分割された輝度ブロック(対応ブロック)の分割関連情報を取得する。次に、コンテキスト決定部32は、これらの分割関連情報を参照して、隣接ブロック又は対応ブロックの分割状況を特定することにより、隣接ブロック若しくは対応ブロックの分割線が存在するか否かの判定、又は隣接ブロック若しくは対応ブロックの分割方向の判定を実行する。次に、コンテキスト決定部32は、当該判定に応じて、対象ブロックの分割方向を示す分割方向フラグのコンテキストを決定する。次に、CN情報符号化部は、コンテキスト決定部32が決定したコンテキストに応じて、対象ブロックの分割方向を示す分割方向フラグを符号化する。
 〔ソフトウェアによる実現例〕
 なお、上述した実施形態における画像符号化装置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の一部、又は全部を、LSI(Large Scale Integration)等の集積回路として実現しても良い。画像符号化装置11、画像復号装置31の各機能ブロックは個別にプロセッサ化しても良いし、一部、又は全部を集積してプロセッサ化しても良い。また、集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現しても良い。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いても良い。
 以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
 〔応用例〕
 上述した画像符号化装置11及び画像復号装置31は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用することができる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像(CG及びGUIを含む)であってもよい。
 まず、上述した画像符号化装置11及び画像復号装置31を、動画像の送信及び受信に利用できることを、図8を参照して説明する。
 図8の(a)は、画像符号化装置11を搭載した送信装置PROD_Aの構成を示したブロック図である。図8の(a)に示すように、送信装置PROD_Aは、動画像を符号化することによって符号化データを得る符号化部PROD_A1と、符号化部PROD_A1が得た符号化データで搬送波を変調することによって変調信号を得る変調部PROD_A2と、変調部PROD_A2が得た変調信号を送信する送信部PROD_A3と、を備えている。上述した画像符号化装置11は、この符号化部PROD_A1として利用される。
 送信装置PROD_Aは、符号化部PROD_A1に入力する動画像の供給源として、動画像を撮像するカメラPROD_A4、動画像を記録した記録媒体PROD_A5、動画像を外部から入力するための入力端子PROD_A6、及び、画像を生成又は加工する画像処理部A7を更に備えていてもよい。図8の(a)においては、これら全てを送信装置PROD_Aが備えた構成を例示しているが、一部を省略しても構わない。
 なお、記録媒体PROD_A5は、符号化されていない動画像を記録したものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化された動画像を記録したものであってもよい。後者の場合、記録媒体PROD_A5と符号化部PROD_A1との間に、記録媒体PROD_A5から読み出した符号化データを記録用の符号化方式に従って復号する復号部(不図示)を介在させるとよい。
 図8の(b)は、画像復号装置31を搭載した受信装置PROD_Bの構成を示したブロック図である。図8の(b)に示すように、受信装置PROD_Bは、変調信号を受信する受信部PROD_B1と、受信部PROD_B1が受信した変調信号を復調することによって符号化データを得る復調部PROD_B2と、復調部PROD_B2が得た符号化データを復号することによって動画像を得る復号部PROD_B3と、を備えている。上述した画像復号装置31は、この復号部PROD_B3として利用される。
 受信装置PROD_Bは、復号部PROD_B3が出力する動画像の供給先として、動画像を表示するディスプレイPROD_B4、動画像を記録するための記録媒体PROD_B5、及び、動画像を外部に出力するための出力端子PROD_B6を更に備えていてもよい。図8の(b)においては、これら全てを受信装置PROD_Bが備えた構成を例示しているが、一部を省略しても構わない。
 なお、記録媒体PROD_B5は、符号化されていない動画像を記録するためのものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化されたものであってもよい。後者の場合、復号部PROD_B3と記録媒体PROD_B5との間に、復号部PROD_B3から取得した動画像を記録用の符号化方式に従って符号化する符号化部(不図示)を介在させるとよい。
 なお、変調信号を伝送する伝送媒体は、無線であってもよいし、有線であってもよい。また、変調信号を伝送する伝送態様は、放送(ここでは、送信先が予め特定されていない送信態様を指す)であってもよいし、通信(ここでは、送信先が予め特定されている送信態様を指す)であってもよい。すなわち、変調信号の伝送は、無線放送、有線放送、無線通信、及び有線通信の何れによって実現してもよい。
 例えば、地上デジタル放送の放送局(放送設備など)/受信局(テレビジョン受像機など)は、変調信号を無線放送で送受信する送信装置PROD_A/受信装置PROD_Bの一例である。また、ケーブルテレビ放送の放送局(放送設備など)/受信局(テレビジョン受像機など)は、変調信号を有線放送で送受信する送信装置PROD_A/受信装置PROD_Bの一例である。
 また、インターネットを用いたVOD(Video On Demand)サービスや動画共有サービスなどのサーバ(ワークステーションなど)/クライアント(テレビジョン受像機、パーソナルコンピュータ、スマートフォンなど)は、変調信号を通信で送受信する送信装置PROD_A/受信装置PROD_Bの一例である(通常、LANにおいては伝送媒体として無線又は有線の何れかが用いられ、WANにおいては伝送媒体として有線が用いられる)。ここで、パーソナルコンピュータには、デスクトップ型PC、ラップトップ型PC、及びタブレット型PCが含まれる。また、スマートフォンには、多機能携帯電話端末も含まれる。
 なお、動画共有サービスのクライアントは、サーバからダウンロードした符号化データを復号してディスプレイに表示する機能に加え、カメラで撮像した動画像を符号化してサーバにアップロードする機能を有している。すなわち、動画共有サービスのクライアントは、送信装置PROD_A及び受信装置PROD_Bの双方として機能する。
 次に、上述した画像符号化装置11及び画像復号装置31を、動画像の記録及び再生に利用できることを、図9を参照して説明する。
 図9の(a)は、上述した画像符号化装置11を搭載した記録装置PROD_Cの構成を示したブロック図である。図9の(a)に示すように、記録装置PROD_Cは、動画像を符号化することによって符号化データを得る符号化部PROD_C1と、符号化部PROD_C1が得た符号化データを記録媒体PROD_Mに書き込む書込部PROD_C2と、を備えている。上述した画像符号化装置11は、この符号化部PROD_C1として利用される。
 なお、記録媒体PROD_Mは、(1)HDD(Hard Disk Drive)やSSD(Solid State Drive)などのように、記録装置PROD_Cに内蔵されるタイプのものであってもよいし、(2)SDメモリカードやUSB(Universal Serial Bus)フラッシュメモリなどのように、記録装置PROD_Cに接続されるタイプのものであってもよいし、(3)DVD(Digital Versatile Disc)やBD(Blu-ray Disc:登録商標)などのように、記録装置PROD_Cに内蔵されたドライブ装置(不図示)に装填されるものであってもよい。
 また、記録装置PROD_Cは、符号化部PROD_C1に入力する動画像の供給源として、動画像を撮像するカメラPROD_C3、動画像を外部から入力するための入力端子PROD_C4、動画像を受信するための受信部PROD_C5、及び、画像を生成又は加工する画像処理部PROD_C6を更に備えていてもよい。図9の(a)においては、これら全てを記録装置PROD_Cが備えた構成を例示しているが、一部を省略しても構わない。
 なお、受信部PROD_C5は、符号化されていない動画像を受信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを受信するものであってもよい。後者の場合、受信部PROD_C5と符号化部PROD_C1との間に、伝送用の符号化方式で符号化された符号化データを復号する伝送用復号部(不図示)を介在させるとよい。
 このような記録装置PROD_Cとしては、例えば、DVDレコーダ、BDレコーダ、HDD(Hard Disk Drive)レコーダなどが挙げられる(この場合、入力端子PROD_C4又は受信部PROD_C5が動画像の主な供給源となる)。また、カムコーダ(この場合、カメラPROD_C3が動画像の主な供給源となる)、パーソナルコンピュータ(この場合、受信部PROD_C5又は画像処理部C6が動画像の主な供給源となる)、スマートフォン(この場合、カメラPROD_C3又は受信部PROD_C5が動画像の主な供給源となる)なども、このような記録装置PROD_Cの一例である。
 図9の(b)は、上述した画像復号装置31を搭載した再生装置PROD_Dの構成を示したブロック図である。図9の(b)に示すように、再生装置PROD_Dは、記録媒体PROD_Mに書き込まれた符号化データを読み出す読出部PROD_D1と、読出部PROD_D1が読み出した符号化データを復号することによって動画像を得る復号部PROD_D2と、を備えている。上述した画像復号装置31は、この復号部PROD_D2として利用される。
 なお、記録媒体PROD_Mは、(1)HDDやSSDなどのように、再生装置PROD_Dに内蔵されるタイプのものであってもよいし、(2)SDメモリカードやUSBフラッシュメモリなどのように、再生装置PROD_Dに接続されるタイプのものであってもよいし、(3)DVDやBDなどのように、再生装置PROD_Dに内蔵されたドライブ装置(不図示)に装填されるものであってもよい。
 また、再生装置PROD_Dは、復号部PROD_D2が出力する動画像の供給先として、動画像を表示するディスプレイPROD_D3、動画像を外部に出力するための出力端子PROD_D4、及び、動画像を送信する送信部PROD_D5を更に備えていてもよい。図9の(b)においては、これら全てを再生装置PROD_Dが備えた構成を例示しているが、一部を省略しても構わない。
 なお、送信部PROD_D5は、符号化されていない動画像を送信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを送信するものであってもよい。後者の場合、復号部PROD_D2と送信部PROD_D5との間に、動画像を伝送用の符号化方式で符号化する符号化部(不図示)を介在させるとよい。
 このような再生装置PROD_Dとしては、例えば、DVDプレイヤ、BDプレイヤ、HDDプレイヤなどが挙げられる(この場合、テレビジョン受像機等が接続される出力端子PROD_D4が動画像の主な供給先となる)。また、テレビジョン受像機(この場合、ディスプレイPROD_D3が動画像の主な供給先となる)、デジタルサイネージ(電子看板や電子掲示板等とも称され、ディスプレイPROD_D3又は送信部PROD_D5が動画像の主な供給先となる)、デスクトップ型PC(この場合、出力端子PROD_D4又は送信部PROD_D5が動画像の主な供給先となる)、ラップトップ型又はタブレット型PC(この場合、ディスプレイPROD_D3又は送信部PROD_D5が動画像の主な供給先となる)、スマートフォン(この場合、ディスプレイPROD_D3又は送信部PROD_D5が動画像の主な供給先となる)なども、このような再生装置PROD_Dの一例である。
 (ハードウェア的実現及びソフトウェア的実現)
 また、上述した画像復号装置31及び画像符号化装置11の各ブロックは、集積回路(ICチップ)上に形成された論理回路によってハードウェア的に実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェア的に実現してもよい。
 後者の場合、上記各装置は、各機能を実現するプログラムの命令を実行するCPU、上記プログラムを格納したROM(Read Only Memory)、上記プログラムを展開するRAM(RandomAccess Memory)、上記プログラム及び各種データを格納するメモリ等の記憶装置(記録
媒体)などを備えている。そして、本発明の実施形態の目的は、上述した機能を実現するソフトウェアである上記各装置の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記各装置に供給し、そのコンピュータ(又はCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
 上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ類、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD-ROM(Compact Disc Read-Only Memory)/MOディスク(Magneto-Optical disc)/MD(Mini Disc)/DVD(Digital Versatile Disc)/CD-R(CD Recordable)/ブルーレイディスク(Blu-ray Disc:登録商標)等の光ディスクを含むディスク類、ICカード(メモリカードを含む)/光カード等のカード類、マスクROM/EPROM(Erasable Programmable Read-Only Memory)/EEPROM(Electrically Erasable and Programmable Read-Only Memory:登録商標)/フラッシュROM等の半導体メモリ類、あるいはPLD(Programmable logic device)やFPGA(Field Programmable Gate Array)等の論理回路類などを用いることができる。
 また、上記各装置を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、LAN(Local Area Network)、ISDN(Integrated Services Digital Network)、VAN(Value-Added Network)、CATV(Community Antenna television/Cable Television)通信網、仮想専用網(Virtual Private Network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成又は種類のものに限定されない。例えば、IEEE(Institute of Electrical and Electronic Engineers)1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL(Asymmetric Digital Subscriber Line)回線等の有線でも、IrDA(Infrared Data Association)やリモコンのような赤外線、BlueTooth(登録商標)、IEEE802.11無線、HDR(High Data Rate)、NFC(Near Field Communication)、DLNA(Digital Living Network Alliance:登録商標)、携帯電話網、衛星回線、地上デジタル放送網等の無線でも利用可能である。なお、本発明の実施形態は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
 本発明の実施形態は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
 (関連出願の相互参照)
 本出願は、2017年3月16日に出願された日本国特許出願:特願2017-051342、及び2016年12月16日に出願された日本国特許出願:特願2016-244900に対して優先権の利益を主張するものであり、それらを参照することにより、その内容の全てが本書に含まれる。
 本発明の実施形態は、画像データが符号化された符号化データを復号する画像復号装置、及び、画像データが符号化された符号化データを生成する画像符号化装置に好適に適用することができる。また、画像符号化装置によって生成され、画像復号装置によって参照される符号化データのデータ構造に好適に適用することができる。
 10 CN情報復号部(分割情報復号部)
 11 画像符号化装置
 13 TT情報復号部
 22 TU復号部
 31 画像復号装置
 32 コンテキスト決定部
 41 画像表示装置

Claims (24)

  1.  ピクチャをブロック毎に復号する画像復号装置において、
     当該対象ブロックに隣接する1又は複数の隣接ブロックの分割関連情報を比較した結果を参照して、対象ブロックの分割情報のコンテキストを決定するコンテキスト決定部と、
     上記コンテキスト決定部によって決定されたコンテキストを用いて、上記対象ブロックの分割情報を復号する分割情報復号部と
    を備えていることを特徴とする画像復号装置。
  2.  上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、
     上記分割関連情報はブロックのデプスであることを特徴とする請求項1に記載の画像復号装置。
  3.  上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、
     上記分割関連情報はブロックサイズであることを特徴とする請求項1に記載の画像復号装置。
  4.  上記分割関連情報を比較した結果は、対象ブロックの分割関連情報と隣接ブロックの分割関連情報の差分値の加算値であることを特徴とする請求項1~3の何れか1項に記載の画像復号装置。
  5.  ピクチャをブロック毎に符号化する画像符号化装置において、
     当該対象ブロックに隣接する1又は複数の隣接ブロックの分割関連情報を比較した結果を参照して、対象ブロックの分割情報のコンテキストを決定するコンテキスト決定部と、
     上記コンテキスト決定部によって決定されたコンテキストを用いて、上記対象ブロックの分割情報を符号化する分割情報符号化部と
    を備えていることを特徴とする画像符号化装置。
  6.  上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、
     上記分割関連情報はブロックのデプスであることを特徴とする請求項5に記載の画像符号化装置。
  7.  上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、
     上記分割関連情報はブロックサイズであることを特徴とする請求項5に記載の画像符号化装置。
  8.  上記分割関連情報を比較した結果は、対象ブロックの分割関連情報と隣接ブロックの分割関連情報の差分値の加算値であることを特徴とする請求項5~7の何れか1項に記載の画像符号化装置。
  9.  ピクチャをブロック毎に復号する画像復号装置において、
     対象ブロックの分割情報のコンテキストを、当該対象ブロックに隣接する1又は複数の隣接ブロックの分割状況を参照して決定するコンテキスト決定部と、
     上記コンテキスト決定部によって決定されたコンテキストを用いて、上記対象ブロックの分割情報を復号する分割情報復号部と
    を備えていることを特徴とする画像復号装置。
  10.  上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、
     上記コンテキスト決定部は、上記隣接ブロックのパーティション番号を参照して、上記隣接ブロックの分割状況を特定することを特徴とする請求項9に記載の画像復号装置。
  11.  上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、
     上記コンテキスト決定部は、上記隣接ブロックの水平デプス又は垂直デプスを参照して、上記隣接ブロックの分割状況を特定することを特徴とする請求項9に記載の画像復号装置。
  12.  上記分割情報は、上記対象ブロックを分割するか否かを示す分割フラグであり、
     上記コンテキスト決定部は、上記隣接ブロックのサイズを参照して、上記隣接ブロックの分割状況を特定することを特徴とする請求項9に記載の画像復号装置。
  13.  上記分割情報は、上記対象ブロックの分割方向を示す方向フラグであり、
     上記コンテキスト決定部は、上記隣接ブロックのパーティション番号を参照して、上記隣接ブロックの分割状況を特定することを特徴とする請求項9に記載の画像復号装置。
  14.  上記分割情報は、上記対象ブロックの分割方向を示す方向フラグであり、
     上記コンテキスト決定部は、上記隣接ブロックの水平デプス又は垂直デプスを参照して、上記隣接ブロックの分割状況を特定することを特徴とする請求項9に記載の画像復号装置。
  15.  上記分割情報は、上記対象ブロックの分割方向を示す方向フラグであり、
     上記コンテキスト決定部は、上記隣接ブロックのサイズを参照して、上記隣接ブロックの分割状況を特定することを特徴とする請求項9に記載の画像復号装置。
  16.  上記分割情報は、上記対象ブロックを水平分割するか否かを示す水平分割フラグ、及び上記対象ブロックを垂直分割するか否かを示す垂直分割フラグであり、
     上記コンテキスト決定部は、上記隣接ブロックのパーティション番号を参照して、上記隣接ブロックの分割状況を特定することを特徴とする請求項9に記載の画像復号装置。
  17.  上記分割情報は、上記対象ブロックを水平分割するか否かを示す水平分割フラグ、及び上記対象ブロックを垂直分割するか否かを示す垂直分割フラグであり、
     上記コンテキスト決定部は、上記隣接ブロックの水平デプス又は垂直デプスを参照して、上記隣接ブロックの分割状況を特定することを特徴とする請求項9に記載の画像復号装置。
  18.  上記分割情報は、上記対象ブロックを水平分割するか否かを示す水平分割フラグ、及び上記対象ブロックを垂直分割するか否かを示す垂直分割フラグであり、
     上記コンテキスト決定部は、上記隣接ブロックのサイズを参照して、上記隣接ブロックの分割状況を特定することを特徴とする請求項9に記載の画像復号装置。
  19.  ピクチャをブロック毎に符号化する画像符号化装置において、
     対象ブロックの分割情報のコンテキストを、当該対象ブロックに隣接する1又は複数の隣接ブロックの分割状況を参照して決定するコンテキスト決定部と、
     上記コンテキスト決定部によって決定されたコンテキストを用いて、上記対象ブロックの分割情報を符号化する分割情報符号化部と
    を備えていることを特徴とする画像符号化装置。
  20.  ピクチャをブロック毎に復号する画像復号装置において、
     第1の色コンポーネントに関する対象ブロックの分割情報のコンテキストを、既に復号された第2の色コンポーネントに関する対応ブロックの分割状況を参照して決定するコンテキスト決定部と、
     上記コンテキスト決定部によって決定されたコンテキストを用いて、上記第1の色コンポーネントに関する対象ブロックの分割情報を復号する分割情報復号部と
    を備えていることを特徴とする画像復号装置。
  21.  上記分割情報は、上記第1の色コンポーネントに関する対象ブロックを分割するか否かを示す分割フラグであり、
     上記コンテキスト決定部は、上記第2の色コンポーネントに関する対応ブロックのパーティション番号を参照して、上記第2の色コンポーネントに関する対応ブロックの分割状況を特定することを特徴とする請求項20に記載の画像復号装置。
  22.  上記分割情報は、上記第1の色コンポーネントに関する対象ブロックの分割方向を示す方向フラグであり、
     上記コンテキスト決定部は、上記第2の色コンポーネントに関する対応ブロックのパーティション番号を参照して、上記第2の色コンポーネントに関する対応ブロックの分割状況を特定することを特徴とする請求項20に記載の画像復号装置。
  23.  上記分割情報は、上記第1の色コンポーネントに関する対象ブロックを水平分割するか否かを示す水平分割フラグ、及び上記第1の色コンポーネントに関する対象ブロックを垂直分割するか否かを示す垂直分割フラグであり、
     上記コンテキスト決定部は、上記第2の色コンポーネントに関する対応ブロックのパーティション番号を参照して、上記第2の色コンポーネントに関する対応ブロックの分割状況を特定することを特徴とする請求項20に記載の画像復号装置。
  24.  ピクチャをブロック毎に符号化する画像符号化装置において、
     第1の色コンポーネントに関する対象ブロックの分割情報のコンテキストを、既に復号された第2の色コンポーネントに関する対応ブロックの分割状況を参照して決定するコンテキスト決定部と、
     上記コンテキスト決定部によって決定されたコンテキストを用いて、上記第1の色コンポーネントに関する対象ブロックの分割情報を符号化する分割情報符号化部と
    を備えていることを特徴とする画像符号化装置。
PCT/JP2017/044240 2016-12-16 2017-12-08 画像復号装置及び画像符号化装置 WO2018110462A1 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113508588A (zh) * 2019-01-02 2021-10-15 弗劳恩霍夫应用研究促进协会 编码和解码图像

Families Citing this family (8)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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