[go: up one dir, main page]

WO2016203881A1 - 算術復号装置及び算術符号化装置 - Google Patents

算術復号装置及び算術符号化装置 Download PDF

Info

Publication number
WO2016203881A1
WO2016203881A1 PCT/JP2016/064339 JP2016064339W WO2016203881A1 WO 2016203881 A1 WO2016203881 A1 WO 2016203881A1 JP 2016064339 W JP2016064339 W JP 2016064339W WO 2016203881 A1 WO2016203881 A1 WO 2016203881A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
context index
unit
context
partition
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2016/064339
Other languages
English (en)
French (fr)
Inventor
健史 筑波
知宏 猪飼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to US15/735,982 priority Critical patent/US20180160118A1/en
Priority to JP2017524732A priority patent/JPWO2016203881A1/ja
Publication of WO2016203881A1 publication Critical patent/WO2016203881A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/136Incoming video signal characteristics or properties
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Definitions

  • the present invention relates to an arithmetic decoding device that decodes encoded data that has been arithmetically encoded, and an image decoding device that includes the arithmetic encoding device.
  • the present invention also relates to an arithmetic encoding device that generates encoded data that has been arithmetically encoded, and an image encoding device that includes the arithmetic 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.
  • Non-Patent Document 1 Specific examples of the moving image encoding method include H.264. H.264 / MPEG-4. Examples include AVC and a scheme proposed by HEVC (High-Efficiency Video Coding) as a successor codec (Non-Patent Document 1).
  • images (pictures) constituting a moving image are slices obtained by dividing the image, coding units obtained by dividing the slices (coding units (Coding Unit; CU), and a hierarchical structure composed of prediction units (Prediction Unit; PU) and transform units (Transform Unit; TU), which are blocks obtained by dividing a coding unit,
  • the data is encoded / decoded for each block.
  • 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 the method for generating a predicted image include inter-screen prediction (inter prediction) and intra-screen prediction (intra prediction).
  • Non-Patent Document 1 a technique is known in which encoding units and transform units having a high degree of freedom are selected using quadtree partitioning to balance the amount of code and accuracy. Based on the value of a flag (CU partition flag) indicating whether or not the encoding unit having the block size is to be subjected to quadtree partitioning for the maximum coding unit of 64 ⁇ 64 block size, quadtree partitioning is performed. By repeating recursively up to the minimum encoding unit, it is possible to divide into encoding units up to block sizes of 64 ⁇ 64, 32 ⁇ 32, 16 ⁇ 16, and 8 ⁇ 8.
  • CU partition flag indicating whether or not the encoding unit having the block size is to be subjected to quadtree partitioning for the maximum coding unit of 64 ⁇ 64 block size
  • Non-Patent Document 2 discloses quadtree partitioning of an encoding unit when the maximum encoding unit size is expanded from 64 ⁇ 64 to a maximum of 512 ⁇ 512 block size.
  • quadtree partitioning is recursively performed to the minimum coding unit based on the coding unit CU partition flag having the block size. By repeating, it is possible to divide into encoding units up to 512 ⁇ 512, 256 ⁇ 256, 128 ⁇ 128, 64 ⁇ 64, 32 ⁇ 32, 16 ⁇ 16, and 8 ⁇ 8 block sizes.
  • Non-Patent Document 2 the context index derivation process for specifying a context related to a CU partitioning flag indicating whether or not to divide the encoding unit into quadtrees is complicated when the maximum size of the encoding unit is extended, and There is a problem that the number of contexts increases. More specifically, Non-Patent Document 2 refers to the division depth of the target CU and the division depth of the surrounding decoded (encoded) CU adjacent to the target CU to derive the context index related to the CU partition flag.
  • the arithmetic decoding apparatus performs encoding by referring to a context index deriving unit that specifies a context, a context specified by the context index, and a bypass flag.
  • An arithmetic decoding device comprising: an arithmetic code decoding means for decoding a Bin sequence consisting of one or a plurality of Bins from data; and a CU division identifier decoding means for decoding a syntax value of a CU division identifier for the target CU from the Bin sequence.
  • the context index deriving unit derives a context index related to the CU partition identifier based on the partition depth of the target CU and the partition depth of one or more decoded adjacent CUs.
  • the arithmetic coding apparatus specifies a CU partition identifier encoding unit that encodes a syntax value of a CU partition identifier for a target CU into a Bin sequence, and a context A context index deriving unit that performs encoding of a Bin sequence including one or a plurality of bins with reference to a context specified by the context index and a bypass flag.
  • the context index deriving unit derives a context index related to the CU partition identifier based on the partition depth of the target CU and the partition depth of one or more decoded neighboring CUs, thereby encoding the CU partition identifier. While maintaining the efficiency, the increase in the number of contexts related to the CU partition identifier is suppressed, and the context index derivation process related to the CU partition identifier is simplified.
  • the context index deriving unit derives the context index related to the CU partition identifier based on the partition depth of the target CU and the partition depth of one or more encoded adjacent CUs, thereby In order to suppress the increase in the number of contexts related to the CU partition identifier and simplify the context index derivation process related to the CU partition identifier while maintaining the efficiency of the conversion, the effect of reducing the amount of encoding processing is achieved.
  • FIG. 3 is a diagram illustrating a data configuration of encoded data generated by a video encoding device according to an embodiment of the present invention and decoded by the video decoding device, wherein (a) to (d) are pictures, respectively. It is a figure which shows a layer, a slice layer, a tree block layer, and a CU layer. It is a flowchart explaining schematic operation
  • PU partition types are 2N ⁇ 2N, 2N ⁇ N, 2N ⁇ nU, 2N ⁇ nD, N ⁇ 2N, nL ⁇ 2N, nR ⁇ 2N, and N ⁇ N, respectively.
  • the partition shape in case is shown.
  • CTU information decoding S1300, CT information decoding S1400 which concerns on one Embodiment of this invention.
  • A L, LB, T, TR.
  • FIG. 1 It is a functional block diagram shown about the structural example of the arithmetic encoding part with which the encoding data generation part which concerns on one Embodiment of this invention is provided. It is the figure shown about the structure of the transmitter which mounts the said moving image encoder, and the receiver which mounts the said moving image decoder.
  • (A) shows a transmitting apparatus equipped with a moving picture coding apparatus
  • (b) shows a receiving apparatus equipped with a moving picture decoding apparatus. It is the figure shown about the structure of the recording device which mounts the said moving image encoder, and the reproducing
  • (A) shows a recording apparatus equipped with a moving picture coding apparatus
  • (b) shows a reproduction apparatus equipped with a moving picture decoding apparatus.
  • FIG. 2 is a functional block diagram showing a schematic configuration of the moving picture decoding apparatus 1.
  • the video decoding device 1 and the video encoding device 2 shown in FIG. 2 are implemented with the technology adopted in HEVC (High Efficiency Video Coding).
  • the video encoding device 2 generates encoded data # 1 by entropy encoding a syntax value defined to be transmitted from the encoder to the decoder in these video encoding schemes. .
  • Context-adaptive variable-length coding CAVLC
  • CABAC context-adaptive binary arithmetic coding
  • the context is an encoding / decoding situation (context), and is determined by past encoding / decoding results of related syntax.
  • Examples of the related syntax include various syntaxes related to intra prediction and inter prediction, various syntaxes related to luminance (Luma) and color difference (Chroma), and various syntaxes related to CU (Coding Unit encoding unit) size.
  • CABAC the binary position to be encoded / decoded in binary data (binary string) corresponding to the syntax may be used as the context.
  • CABAC CABAC
  • binarization processing is performed on syntax that can take multiple values such as a prediction mode and a conversion coefficient, and binary data obtained by this binarization processing is adaptive according to the occurrence probability.
  • arithmetically encoded Specifically, multiple buffers that hold the occurrence probability of binary values (0 or 1) are prepared, one buffer is selected according to the context, and arithmetic coding is performed based on the occurrence probability recorded in the buffer I do. Further, by updating the occurrence probability of the buffer based on the binary value to be decoded / encoded, an appropriate occurrence probability can be maintained according to the context.
  • the moving picture decoding apparatus 1 receives encoded data # 1 obtained by encoding a moving picture by the moving picture encoding apparatus 2.
  • the video decoding device 1 decodes the input encoded data # 1 and outputs the video # 2 to the outside.
  • the configuration of the encoded data # 1 will be described below.
  • the encoded data # 1 exemplarily includes a sequence and a plurality of pictures constituting the sequence.
  • FIG. 3 shows the hierarchical structure below the picture layer in the encoded data # 1.
  • 3A to 3E respectively show a picture layer that defines a picture PICT, a slice layer that defines a slice S, a tree block layer that defines a coding tree block (Coding Tree) CTB, and a coding tree. It is a figure which shows the encoding tree layer which prescribes
  • Picture layer In the picture layer, a set of data referred to by the video decoding device 1 for decoding a picture PICT to be processed (hereinafter also referred to as a target picture) is defined. As shown in FIG. 3A, the picture PICT includes a picture header PH and slices S 1 to S NS (NS is the total number of slices included in the picture PICT).
  • the picture header PH includes a coding parameter group referred to by the video decoding device 1 in order to determine a decoding method of the target picture.
  • the picture header PH is also called a picture parameter set (PPS).
  • slice layer In the slice layer, a set of data referred to by the video decoding device 1 for decoding the slice S to be processed (also referred to as a target slice) is defined. As shown in FIG. 3B, the slice S includes a slice header SH and tree blocks CTU 1 to CTU NC (where NC is the total number of tree blocks included in the slice S).
  • the slice header SH includes a coding parameter group that the moving image decoding apparatus 1 refers to 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.
  • the slice types that can be specified by the slice type specification information include (1) I slice that uses only intra prediction at the time of encoding, (2) P slice that uses single prediction or intra prediction at the time of encoding, ( 3) B-slice using single prediction, bi-prediction, or intra prediction at the time of encoding may be used.
  • the slice header SH may include a filter parameter referred to by a loop filter (not shown) included in the video decoding device 1.
  • the tree block layer a set of data referred to by the video decoding device 1 for decoding a processing target tree block CTU (hereinafter also referred to as a target tree block) is defined.
  • the tree block CTB is a block that divides a slice (picture) into a fixed size.
  • image data pixels
  • not only the image data of the tree block and region but also information for decoding the image data (for example, division information or the like) ) May also be called a tree unit.
  • it is simply referred to as a tree block CTU without distinction.
  • the coding tree, the coding unit, and the like are handled including not only the image data of the corresponding region but also information (for example, division information) for decoding the image data.
  • the tree block CTU includes a tree block header CTUH and coding unit information CQT.
  • coding unit information CQT coding unit information
  • the tree block CTU is a unit that divides a slice (picture) into a fixed size.
  • the tree block CTU has a coding tree (CT).
  • CT coding tree
  • the coding tree (CT) is divided by recursive quadtree division.
  • the tree structure obtained by this recursive quadtree partitioning and its nodes are hereinafter referred to as a coding tree.
  • a unit corresponding to a leaf that is a node at the end of the coding tree is referred to as a coding node.
  • the encoding node is also referred to as an encoding unit (CU). That is, the highest-level coding tree CT is CTU (CQT), and the terminal coding tree CT is CU.
  • CQT CTU
  • CU terminal coding tree
  • the coding unit information CU 1 to CU NL is information corresponding to each coding node (coding unit) obtained by recursively dividing the tree block CTU into quadtrees.
  • the root of the coding tree is associated with the tree block CTU.
  • the tree block CTU (CQT) is associated with the highest node of the tree structure of the quadtree partition that recursively includes a plurality of coding nodes (CT).
  • each coding node is half the size of the coding node to which the coding node directly belongs (that is, the unit of the node one layer higher than the coding node).
  • the size that each coding node can take is the size designation information of the coding node and the maximum hierarchy depth (maximum hierarchical depth) (or also referred to as the maximum division depth) included in the sequence parameter set SPS of the coded data # 1.
  • the maximum hierarchy depth maximum hierarchical depth
  • MaxCqtDepth 4
  • the encoding nodes in the hierarchy below the tree block CTU have five sizes, that is, the hierarchy depth.
  • the tree block header CTUH includes an encoding parameter referred to by the video decoding device 1 in order to determine a decoding method of the target tree block. Specifically, as shown in (c) of FIG. 3, an SAO that specifies a filtering method for the target tree block is included.
  • Information included in the CTU, such as CTUH, is referred to as coding tree unit information (CTU information).
  • the coding tree CT has tree block division information SP that is information for dividing a tree block.
  • the tree block division information SP is a CU division identifier that is an identifier indicating whether or not the entire target tree block or a partial area of the tree block is divided into four.
  • split_cu_idx may be used.
  • the CU split identifier split_cu_idx is 1, the coding tree CT is further divided into four coding trees CT.
  • split_cu_idx it means that the coding tree CT is a terminal node that is not split.
  • CT information coding tree information
  • the CT information may include parameters applied in the encoding tree and the encoding units below it, in addition to the CU split flag split_cu_idx indicating whether or not to further divide the encoding tree.
  • the coding tree CT may be further divided into binary trees in the vertical direction (2N ⁇ N, which will be described later). Further, the association between the CU partitioning identifier split_cu_idx and each partitioning method can be changed within a feasible range.
  • CU layer In the CU layer, a set of data referred to by the video decoding device 1 for decoding a CU to be processed (hereinafter also referred to as a target CU) is defined.
  • the encoding node is a node at the root of a prediction tree (PT) and a transformation tree (TT).
  • PT prediction tree
  • TT transformation tree
  • the encoding node is divided into one or a plurality of prediction blocks, and the position and size of each prediction block are defined.
  • the prediction block is one or a plurality of non-overlapping areas constituting the encoding node.
  • the prediction tree includes one or a plurality of prediction blocks obtained by the above division.
  • Prediction processing is performed for each prediction block.
  • a prediction block that is a unit of prediction is also referred to as a prediction unit (PU).
  • intra prediction There are roughly two types of division in the prediction tree: intra prediction and inter prediction.
  • inter prediction there are 2N ⁇ 2N (the same size as the encoding node), 2N ⁇ N, N ⁇ 2N, N ⁇ N, and the like.
  • the encoding node is divided into one or a plurality of transform blocks, and the position and size of each transform block are defined.
  • the transform block is one or a plurality of non-overlapping areas constituting the encoding node.
  • the conversion tree includes one or a plurality of conversion blocks obtained by the above division.
  • transform processing is performed for each conversion block.
  • the transform block which is a unit of transform is also referred to as a transform unit (TU).
  • the coding unit information CU specifically includes CU information (skip flag SKIP, CU prediction type information Pred_type), PT information PTI, and TT information TTI.
  • the skip flag SKIP is a flag (skip_flag) indicating whether or not the skip mode is applied to the target CU.
  • the value of the skip flag SKIP is 1, that is, when the skip mode is applied to the target CU.
  • the PT information PTI and the TT information TTI in the coding unit information CU are omitted. Note that the skip flag SKIP is omitted for the I slice.
  • the CU prediction type information Pred_type includes CU prediction method information (PredMode) and PU partition type information (PartMode).
  • the CU prediction method information specifies whether to use a skip mode, intra prediction (intra CU), or inter prediction (inter CU) as a predicted image generation method for each PU included in the target CU. Is.
  • a CU prediction mode the types of skip, intra prediction, and inter prediction in the target CU are referred to as a CU prediction mode.
  • the PU partition type information designates a PU partition type that is a pattern of partitioning the target coding unit (CU) into each PU.
  • PartMode designates a PU partition type that is a pattern of partitioning the target coding unit (CU) into each PU.
  • PU division dividing the target coding unit (CU) into each PU according to the PU division type in this way.
  • the PU partition type information may be, for example, an index indicating the type of PU partition pattern, and the shape and size of each PU included in the target prediction tree, and the target prediction tree The position may be specified. Note that PU partitioning is also called a prediction unit partitioning type.
  • selectable PU partition types differ depending on the CU prediction method and the CU size. Furthermore, the PU partition types that can be selected are different in each case of inter prediction and intra prediction. Details of the PU partition type will be described later.
  • the value of CU prediction method information (PredMode) and the value of PU partition type information (PartMode) are CU partition identifier (split_cu_idx), skip flag (skip_flag), merge flag (merge_flag; described later), CU It may be specified by an index (cu_split_pred_part_mode) that specifies a combination of prediction method information (PredMode) and PU partition type information (PartMode).
  • An index such as cu_split_pred_part_mode is also called a combined syntax (or joint code).
  • the PT information PTI is information related to the PT included in the target CU.
  • the PT information PTI is a set of information on each of one or more PUs included in the PT.
  • the PT information PTI is referred to when the moving image decoding apparatus 1 generates a predicted image.
  • the PT information PTI includes PU information PUI 1 to PUI NP (NP is the total number of PUs included in the target PT) including prediction information and the like in each PU.
  • the prediction information PUI includes intra prediction information or inter prediction information depending on which prediction method the prediction type information Pred_mode specifies.
  • a PU to which intra prediction is applied is also referred to as an intra PU
  • a PU to which inter prediction is applied is also referred to as an inter PU.
  • the inter prediction information includes an encoding parameter that is referred to when the video decoding device 1 generates an inter prediction image by inter prediction.
  • inter prediction parameters examples include a merge flag (merge_flag), a merge index (merge_idx), an estimated motion vector index (mvp_idx), a reference image index (ref_idx), an inter prediction flag (inter_pred_flag), and a motion vector residual (mvd). Is mentioned.
  • the intra prediction information includes an encoding parameter that is referred to when the video decoding device 1 generates an intra predicted image by intra prediction.
  • Examples of intra prediction parameters include an estimated prediction mode flag, an estimated prediction mode index, and a residual prediction mode index.
  • a PCM mode flag indicating whether to use the PCM mode may be encoded.
  • the prediction process (intra), the conversion process, and the entropy encoding process are omitted.
  • the TT information TTI is information regarding the TT included in the CU.
  • the TT information TTI is a set of information regarding each of one or a plurality of TUs included in the TT, and is referred to when the moving image decoding apparatus 1 decodes residual data.
  • a TU may be referred to as a block.
  • the TT information TTI includes an information CU residual flag CBP_TU indicating whether or not the target CU includes residual data, and a TT that specifies a division pattern of the target CU into each transform block. It includes division information SP_TU and TU information TUI 1 to TUI NT (NT is the total number of blocks included in the target CU).
  • the target CU does not include residual data, that is, TT information TTI.
  • the target CU includes residual data, that is, TT information TTI.
  • the CU residual flag CBP_TU is, for example, a residual root flag rqt_root_cbf (Residual
  • the TT division information SP_TU is information for determining the shape and size of each TU included in the target CU and the position within the target CU.
  • the TT partition information SP_TU can be realized by a TU partition flag (split_transform_flag) indicating whether or not the target node is to be partitioned and a TU depth (TU hierarchy, trafoDepth) indicating the depth of the partition.
  • the TU partition flag split_transform_flag is a flag indicating whether or not a transform block to be transformed (inverse transform) is to be divided. In the case of division, transform (inverse transform, inverse quantization, quantization) is performed using a smaller block. Done.
  • each TU obtained by the division can take a size from 32 ⁇ 32 pixels to 4 ⁇ 4 pixels.
  • the TU information TUI 1 to TUI NT are individual information regarding one or more TUs included in the TT.
  • the TU information TUI includes a quantized prediction residual.
  • Each quantized prediction residual is encoded data generated by the video encoding device 2 performing the following processes 1 to 3 on a target block that is a processing target block.
  • Process 1 DCT transform (Discrete Cosine Transform) of the prediction residual obtained by subtracting the prediction image from the encoding target image;
  • Process 2 Quantize the transform coefficient obtained in Process 1;
  • Process 3 Variable length coding is performed on the transform coefficient quantized in Process 2;
  • the PU partition type includes the following eight patterns in total, assuming that the size of the target CU is 2N ⁇ 2N pixels. That is, 4 symmetric splittings of 2N ⁇ 2N pixels, 2N ⁇ N pixels, N ⁇ 2N pixels, and N ⁇ N pixels, and 2N ⁇ nU pixels, 2N ⁇ nD pixels, nL ⁇ 2N pixels, And four asymmetric splittings of nR ⁇ 2N pixels.
  • N 2 m (m is an arbitrary integer of 1 or more).
  • an area obtained by dividing a symmetric CU is also referred to as a partition.
  • FIG. 5 specifically show the positions of the boundaries of PU division in the CU for each division type.
  • (a) in the figure shows a 2N ⁇ 2N PU partition type that does not perform CU partitioning.
  • (b), (c), and (d) in the figure show the shapes of partitions when the PU partition types are 2N ⁇ N, 2N ⁇ nU, and 2N ⁇ nD, respectively. ing.
  • partitions when the PU partition type is 2N ⁇ N, 2N ⁇ nU, and 2N ⁇ nD are collectively referred to as a horizontally long partition.
  • (e), (f), and (g) in FIG. 5 respectively show the partition shapes when the PU partition types are N ⁇ 2N, nL ⁇ 2N, and nR ⁇ 2N.
  • partitions when the PU partition type is N ⁇ 2N, nL ⁇ 2N, and nR ⁇ 2N are collectively referred to as a vertically long partition.
  • the horizontally long partition and the vertically long partition are collectively referred to as a rectangular partition.
  • (h) in the figure shows the shape of the partition when the PU partition type is N ⁇ N.
  • the PU partitioning types (a) and (h) in the figure are also referred to as square partitioning based on the shape of the partition.
  • the PU partition types (b) to (g) in the figure are also referred to as non-square partitions.
  • the numbers given to the respective regions indicate the identification numbers of the regions, and the processing is performed on the regions in the order of the identification numbers. That is, the identification number represents the scan order of the area.
  • the upper left is the reference point (origin) of the CU.
  • Partition type for inter prediction In the inter PU, seven types other than N ⁇ N ((h) in the figure) are defined among the above eight division types. Note that the above four asymmetric partitions may be called AMP (Asymmetric Motion Partition).
  • AMP Asymmetric Motion Partition
  • a CU divided by asymmetric partitions includes partitions having different shapes or sizes. Symmetric partitioning may also be referred to as a symmetric partition.
  • a CU divided by a symmetric partition includes a partition having the same shape and size.
  • a 128 ⁇ 128 pixel inter-CU includes 128 ⁇ 128 pixels, 128 ⁇ 64 pixels, 64 ⁇ 128 pixels, 64 ⁇ 64 pixels, 128 ⁇ 32 pixels, 128 ⁇ 96 pixels, 32 ⁇ 128 pixels, and 96 ⁇ It is possible to divide into 128-pixel inter PUs.
  • Partition type for intra prediction In the intra PU, the following two types of division patterns are defined. That is, there are a division pattern 2N ⁇ 2N in which the target CU is not divided, that is, the target CU itself is handled as one PU, and a pattern N ⁇ N in which the target CU is symmetrically divided into four PUs.
  • the division patterns (a) and (h) can be taken in the example shown in FIG.
  • an 128 ⁇ 128 pixel intra CU can be divided into 128 ⁇ 128 pixel and 64 ⁇ 64 pixel intra PUs.
  • the coding unit information CU may include an intra partition mode (intra_part_mode) for specifying a PU partition type (PartMode).
  • intra_part_mode an intra partition mode for specifying a PU partition type (PartMode).
  • the video decoding device 1 generates a predicted image for each PU, generates a decoded image # 2 by adding the generated predicted image and a prediction residual decoded from the encoded data # 1, and generates The decoded image # 2 is output to the outside.
  • An encoding parameter is a parameter referred in order to generate a prediction image.
  • the encoding parameters include PU size and shape, block size and shape , And residual data between the original image and the predicted image.
  • side information a set of all information excluding the residual data among the information included in the encoding parameter is referred to as side information.
  • a picture (frame), a slice, a tree block, a block, and a PU to be decoded are referred to as a target picture, a target slice, a target tree block, a target block, and a target PU, respectively.
  • the size of the tree block is, for example, 64 ⁇ 64 pixels
  • the size of the PU is, for example, 64 ⁇ 64 pixels, 32 ⁇ 32 pixels, 16 ⁇ 16 pixels, 8 ⁇ 8 pixels, 4 ⁇ 4 pixels, or the like.
  • these sizes are merely examples, and the sizes of the tree block and PU may be other than the sizes shown above.
  • FIG. 2 is a functional block diagram showing a schematic configuration of the moving picture decoding apparatus 1.
  • the moving picture decoding apparatus 1 includes a decoding module 10, a CU information decoding unit 11, a PU information decoding unit 12, a TU information decoding unit 13, a predicted image generation unit 14, an inverse quantization / inverse conversion unit 15, A frame memory 16 and an adder 17 are provided.
  • FIG. 4 is a flowchart illustrating a schematic operation of the video decoding device 1.
  • the decoding module 10 decodes parameter set information such as SPS and PPS from the encoded data # 1.
  • the decoding module 10 decodes the slice header (slice information) from the encoded data # 1.
  • the decoding module 10 derives a decoded image of each CTB by repeating the processing from S1300 to S4000 for each CTB included in the target picture.
  • the CU information decoding unit 11 decodes the encoded tree unit information (CTU information) from the encoded data # 1.
  • the CU information decoding unit 11 decodes the encoded tree information (CT information) from the encoded data # 1.
  • the CU information decoding unit 11 decodes encoded unit information (CU information) from the encoded data # 1.
  • the PU information decoding unit 12 decodes the prediction unit information (PT information PTI) from the encoded data # 1.
  • the TU information decoding unit 13 decodes the conversion unit information (TT information TTI) from the encoded data # 1.
  • the predicted image generation unit 14 generates a predicted image based on the PT information PTI for each PU included in the target CU.
  • the inverse quantization / inverse transform unit 15 performs an inverse quantization / inverse transformation process on each TU included in the target CU based on the TT information TTI.
  • the decoding module 10 uses the adder 17 to add the prediction image Pred supplied from the prediction image generation unit 14 and the prediction residual D supplied from the inverse quantization / inverse transformation unit 15, A decoded image P for the target CU is generated.
  • the decoding module 10 applies a loop filter such as a deblocking filter and a sample adaptive filter (SAO) to the decoded image P.
  • a loop filter such as a deblocking filter and a sample adaptive filter (SAO)
  • the decoding module 10 performs a decoding process for decoding a syntax value from binary. More specifically, the decoding module 10 decodes a syntax value encoded by an entropy encoding method such as CABAC and CAVLC based on encoded data and a syntax type supplied from a supplier, Returns the decrypted syntax value to the supplier.
  • an entropy encoding method such as CABAC and CAVLC
  • the sources of encoded data and syntax type are the CU information decoding unit 11, the PU information decoding unit 12, and the TU information decoding unit 13.
  • the CU information decoding unit 11 uses the decoding module 10 to perform decoding processing at the tree block and CU level on the encoded data # 1 for one frame input from the moving image encoding device 2. Specifically, the CU information decoding unit 11 decodes CTU information, CT information, CU information, PT information PTI, and TT information TTI from the encoded data # 1 according to the following procedure.
  • the CU information decoding unit 11 refers to various headers included in the encoded data # 1, and sequentially separates the encoded data # 1 into slices and tree blocks.
  • the various headers include (1) information about the method of dividing the target picture into slices, and (2) information about the size, shape, and position of the tree block belonging to the target slice. .
  • the CU information decoding unit 11 decodes the tree block division information SP_CTU included in the tree block header CTUH as CT information, and divides the target tree block into CUs.
  • the CU information decoding unit 11 acquires coding unit information (hereinafter referred to as CU information) corresponding to the CU obtained by the division.
  • the CU information decoding unit 11 performs the decoding process of the CU information corresponding to the target CU, with each CU included in the tree block as the target CU in order.
  • the CU information decoding unit 11 demultiplexes the TT information TTI related to the conversion tree obtained for the target CU and the PT information PTI related to the prediction tree obtained for the target CU.
  • the TT information TTI includes the TU information TUI corresponding to the TU included in the conversion tree as described above. Further, as described above, the PT information PTI includes the PU information PUI corresponding to the PU included in the target prediction tree.
  • the CU information decoding unit 11 supplies the PT information PTI obtained for the target CU to the PU information decoding unit 12. Further, the CU information decoding unit 11 supplies the TT information TTI obtained for the target CU to the TU information decoding unit 13.
  • FIG. 1 is a flowchart for explaining the schematic operation of the CU information decoding unit 11 (CTU information decoding S1300, CT information decoding S1400) according to an embodiment of the invention.
  • FIG. 17 is a diagram showing a configuration example of a syntax table of CU information according to an embodiment of the present invention.
  • the CT layer (CT depth) cqtDepth 0 in the highest layer and increases one by one as the lower layer becomes deeper, but this is not restrictive.
  • the size of these blocks is handled in logarithm with 2 as the base. However, it is not limited to this.
  • the block size is 4, 8, 16, 32, 64, 128, 256, 2, 3, 4, 5, 6, 7, 8 are logarithmic values, respectively.
  • the CU information decoding unit 11 recursively decodes the coding tree TU (coding_quadtree) (S1400).
  • the CU information decoding unit 11 decodes the highest-level (root) coding tree coding_quadtree (xCtb, yCtb, CtbLog2SizeY, 0) (SYN 1400).
  • XCtb and yCtb are the upper left coordinates of the CTB
  • CtbLog2SizeY is the CTB block size (for example, 64, 128, 256).
  • the CU information decoding unit 11 determines whether or not the logarithmic CU size log2CbSize is larger than a predetermined minimum CU size MinCbLog2SizeY (minimum conversion block size) (SYN1411). When the logarithmic CU size log2CbSize is larger than MinCbLog2SizeY, the process proceeds to S1421, and otherwise, the process proceeds to S1422.
  • MinCbLog2SizeY minimum conversion block size
  • the CU information decoding unit 11 decodes a CU split flag (split_cu_flag) that is a syntax element shown in SYN1421.
  • the logarithmic CU size log2CbSize is equal to or smaller than MinCbLog2SizeY
  • the CU information decoding unit 11 starts from the encoded data # 1 when the CU partition identifier split_cu_idx does not appear in the encoded data # 1. Decoding of the CU partition identifier split_cu_idx is omitted, and the CU partition identifier split_cu_idx is derived as 0.
  • the CU information decoding unit 11 decodes one or more coding trees included in the target coding tree.
  • the four lower-order coding trees CT of the logarithmic CT size log2CbSize ⁇ 1 and the position (x0, y0), (x1, y0), (x0, y1), (x1, y1) at the CT hierarchy cqtDepth + 1 Is decrypted.
  • the CU information decoding unit 11 continues the CT decoding process S1400 started from S1411 even in the lower coding tree CT.
  • coding_quadtree (x0, y0, log2CbSize-1, cqtDepth + 1)
  • SYN1441A coding_quadtree (x1, y0, log2CbSize-1, cqtDepth + 1)
  • SYN1441B coding_quadtree (x0, y1, log2CbSize-1, cqtDepth + 1)
  • SYN1441C coding_quadtree (x1, y1, log2CbSize-1, cqtDepth + 1)
  • x0 and y0 are derived by adding the upper left coordinates of the target coding tree, and x1 and y1 by adding 1/2 of the target CT size (1 ⁇ log2CbSize) to the CT coordinates as in the following expression. Coordinates.
  • CU information decoding unit 11 decodes the coding unit CUcoding_unit (x0, y0, log2CbSize) (SYN 1450).
  • x0 and y0 are the coordinates of the encoding unit.
  • log2CbSize which is the size of the coding tree, is equal to the size of the coding unit.
  • the PU information decoding unit 12 uses the decoding module 10 to perform decoding processing at the PU level for the PT information PTI supplied from the CU information decoding unit 11. Specifically, the PU information decoding unit 12 decodes the PT information PTI by the following procedure.
  • the PU information decoding unit 12 refers to the PU partition type information Part_type, and determines the PU partition type in the target prediction tree. Subsequently, the PU information decoding unit 12 performs a decoding process of PU information corresponding to the target PU, with each PU included in the target prediction tree as a target PU in order.
  • the PU information decoding unit 12 performs a decoding process on each parameter used for generating a predicted image from PU information corresponding to the target PU.
  • the PU information decoding unit 12 supplies the PU information decoded for the target PU to the predicted image generation unit 14.
  • FIG. 1600 is a flowchart for explaining the schematic operation of PU information decoding shown in S1600.
  • FIG. 18 is a diagram illustrating a configuration example of a syntax table of CU information, PT information PTI, and TT information TTI according to an embodiment of the present invention.
  • FIG. 19 is a diagram showing a configuration example of a syntax table of PT information PTI according to an embodiment of the present invention.
  • the CU information decoding unit 11 decodes the skip flag skip_flag from the encoded data # 1.
  • the PU information decoding unit 12 omits decoding of the CU prediction method information PredMode and the PU partition type information PartMode that are the prediction type Pred_type from the encoded data # 1. In this case, inter prediction and non-division (2N ⁇ 2N) are derived.
  • the TU information decoding unit 13 omits the decoding process of the TT information TTI from the encoded data # 1 shown in S1700, and the target CU is divided into TUs. None, and the quantization prediction residual TransCoeffLevel [] [] of the target CU is derived to be 0.
  • the PU information decoding unit 12 decodes the CU prediction method information PredMode (syntax element pred_mode_flag) from the encoded data # 1.
  • S1621 PU information decoding unit 12 decodes PU partition type information PartMode (syntax element part_mode) from encoded data # 1.
  • the PU information decoding unit 12 decodes each PU information included in the target CU from the encoded data # 1 according to the number of PU divisions indicated by the PU division type information Part_type.
  • the following one PU information PUI with one CU as one PU is decoded.
  • prediction_unit (x0, y0, nCbS, nCbS) (SYN1631B) prediction_unit (x0, y0 + (nCbS / 2), nCbS, nCbS / 2) (SYN1631C)
  • Nx2N the following two PU information PUIs that divide the CU into left and right are decoded.
  • prediction_unit (x0, y0, nCbS, nCbS) (SYN1631D) prediction_unit (x0 + (nCbS / 2), y0, nCbS / 2, nCbS) (SYN1631E)
  • NxN the following four PU information PUIs that divide the CU into four equal parts are decoded.
  • prediction_unit (x0, y0, nCbS, nCbS) (SYN1631F) prediction_unit (x0 + (nCbS / 2), y0, nCbS / 2, nCbS) (SYN1631G) prediction_unit (x0, y0 + (nCbS / 2), nCbS, nCbS / 2) (SYN1631H) prediction_unit (x0 + (nCbS / 2), y0 + (nCbS / 2), nCbS / 2, nCbS / 2) (SYN1631I) S1632 When the skip flag is 1, the PU partition type is set to 2Nx2N, and one PU information PUI is decoded.
  • the TU information decoding unit 13 uses the decoding module 10 to perform decoding processing at the TU level for the TT information TTI supplied from the CU information decoding unit 11. Specifically, the TU information decoding unit 13 decodes the TT information TTI by the following procedure.
  • the TU information decoding unit 13 refers to the TT division information SP_TU and divides the target conversion tree into nodes or TUs. Note that the TU information decoding unit 13 recursively performs TU division processing if it is specified that further division is performed for the target node.
  • the TU information decoding unit 13 executes the decoding process of the TU information corresponding to the target TU, with each TU included in the target prediction tree as the target TU in order.
  • the TU information decoding unit 13 performs a decoding process on each parameter used for restoring the transform coefficient from the TU information corresponding to the target TU.
  • the TU information decoding unit 13 supplies the TU information decoded for the target TU to the inverse quantization / inverse transform unit 15.
  • the TU information decoding unit 13 performs the following operation as shown in FIG.
  • This figure is a flowchart for explaining the schematic operation of the TU information decoding unit 13 (TT information decoding S1700) according to an embodiment of the invention.
  • the TU information decoding unit 13 uses a CU residual flag rqt_root_cbf (syntax element shown in SYN 1711) indicating whether or not the target CU has a residual other than 0 (quantized prediction residual) from the encoded data # 1. ).
  • the TU information decoding unit 13 initializes variables for managing the recursively divided conversion tree. Specifically, as shown in the following equation, 0 is set in the TU hierarchy trafoDepth indicating the hierarchy of the transformation tree, and the encoding unit size (here, logarithmic TU size log2TrafoSize) is set as the TU size (logarithmic TU size log2TrafoSize). Logarithmic CT size log2CbSize) is set.
  • the TU information decoding unit 13 recursively decodes the transformation tree TU (transform_tree) (S1720).
  • the transformation tree TU is divided so that the size of a leaf node (transformation block) obtained by recursive division becomes a predetermined size. That is, the division is performed so that the maximum size of conversion MaxTbLog2SizeY or less and the minimum size MinTbLog2SizeY or more are obtained.
  • TU partition flag decoding unit included in the TU information decoding unit 13 has a target TU size (for example, log TU size log2TrafoSize) within a predetermined conversion size range (here, MaxTbLog2SizeY or less and MinTbLog2SizeY)
  • a target TU size for example, log TU size log2TrafoSize
  • a predetermined conversion size range here, MaxTbLog2SizeY or less and MinTbLog2SizeY
  • the TU partition flag decoding unit included in the TU information decoding unit 13 decodes the TU partition flag split_transform_flag according to the condition of S1721.
  • the TU partition flag decoding unit included in the TU information decoding unit 13 is otherwise the TU partition flag split_transform_flag from the encoded data # 1 when split_transform_flag does not appear in the encoded data # 1.
  • the logarithm TU size log2TrafoSize is larger than the maximum TU size MaxTbLog2SizeY
  • the log TU size log2TrafoSize is the minimum TU size MaxTbLog2SizeY.
  • the TU hierarchy trafoDepth is equal to the maximum TU hierarchy MaxTrafoDepth)
  • the TU partition flag decoder included in the TU information decoder 13 includes a transform tree included in the target coding unit CU. Is decrypted.
  • the TU information decoding unit 13 continues the TT information decoding process S1700 started from S1711 in the lower-order coding tree TT.
  • transform_tree (x0, y0, x0, y0, log2TrafoSize-1, trafoDepth + 1, 0)
  • SYN1741A transform_tree (x1, y0, x0, y0, log2TrafoSize-1, trafoDepth + 1, 1)
  • SYN1741B transform_tree (x0, y1, x0, y0, log2TrafoSize-1, trafoDepth + 1, 2)
  • SYN1741C transform_tree (x1, y1, x0, y0, log2TrafoSize-1, trafoDepth + 1, 3)
  • x0 and y0 are the upper left coordinates of the target conversion tree
  • x1 and y1 are 1/2 of the target TU size (1 ⁇ log2TrafoSize) at the conversion tree coordinates (x0, y0) as shown in the following expression.
  • the TU information decoding unit 13 decodes a TU residual flag indicating whether the target TU includes a residual.
  • the luminance residual flag cbf_luma indicating whether the luminance component of the target TU includes a residual is used as the TU residual flag, but the present invention is not limited to this.
  • the TU information decoding unit 13 decodes the transform unit TUtransform_unit (x0, y0, xBase, yBase, log2TrafoSize, trafoDepth, blkIdx) indicated by SYN1760.
  • FIG. 16 is a flowchart illustrating a schematic operation of the TU information decoding unit 13 (TU information decoding S1600) according to an embodiment of the invention.
  • FIG. 20 is a diagram showing a configuration example of a syntax table of TT information TTI according to an embodiment of the present invention.
  • FIG. 21 is a diagram showing a configuration example of a syntax table of TU information according to an embodiment of the present invention.
  • the TU information decoding unit 13 determines whether a residual is included in the TU (whether the TU residual flag is other than 0). In this case (SYN1761), it is determined by cbfLuma
  • cbfLuma cbf_luma [x0] [y0] [trafoDepth]
  • cbfChroma cbf_cb [xC] [yC] [cbfDepthC]
  • cbf_cr xC] [yC] [cbfDepthC]
  • TU luminance position (x0, y0), color difference position (xC, yC), TU depth trafoDepth, cfbDepthC syntax elements cbf_luma, cbf_cb, cbf_cr to luminance TU residual flag cbfLuma, chrominance TU residual flag cbfChroma is derived, and the sum (logical sum) is derived as the TU residual flag of the target TU.
  • the TU information decoding unit 13 decodes QP update information (quantization correction value) when a residual is included in the TU (when the TU residual flag is other than 0.
  • QP QP
  • the update information is a value indicating a difference value from the quantization parameter prediction value qPpred, which is a prediction value of the quantization parameter QP, where the difference value is an absolute value cu_qp_delta_abs and a code cu_qp_delta_sign_flag as syntax elements of the encoded data. Decoding is not limited to this.
  • the TU information decoding unit 13 determines whether or not the TU residual flag (here, cbfLuma) is other than 0.
  • the TU information decoding unit 13 decodes the quantized prediction residual when the TU residual flag (here, cbfLuma) is other than zero. Note that the TU information decoding unit 13 may sequentially decode a plurality of color components as the quantized prediction residual.
  • the TU information decoding unit 13 when the TU residual flag (here, cbfLuma) is other than 0, the TU information decoding unit 13 performs luminance quantization prediction residual (first color component) residual_coding (x0, y0, log2TrafoSize, 0 ), When the second color component residual flag cbf_cb is other than 0, it decodes residual_coding (x0, y0, log2TrafoSize, 1) and third color component quantization prediction residual_coding (x0, y0, log2TrafoSizeC, 2) .
  • FIG. 22 is an example of a syntax table of the quantized prediction residual residual_coding (x0, y0, log2TrafoSize, cIdx). The TU information decoding unit 13 decodes each syntax according to the syntax table of FIG.
  • the predicted image generation unit 14 generates a predicted image based on the PT information PTI for each PU included in the target CU. Specifically, the prediction image generation unit 14 performs intra prediction or inter prediction for each target PU included in the target prediction tree according to the parameters included in the PU information PUI corresponding to the target PU, thereby generating a decoded image. A predicted image Pred is generated from a certain local decoded image P ′. The predicted image generation unit 14 supplies the generated predicted image Pred to the adder 17.
  • a method in which the predicted image generation unit 14 generates a predicted image of a PU included in the target CU based on motion compensation prediction parameters is as follows.
  • the predicted image generation unit 14 When the inter prediction flag indicates single prediction, the predicted image generation unit 14 generates a predicted image corresponding to the decoded image located at the location indicated by the motion vector of the reference image indicated by the reference image index.
  • the predicted image generation unit 14 when the inter prediction flag indicates bi-prediction, the predicted image generation unit 14 generates a predicted image by motion compensation for each of the two sets of reference image indexes and motion vectors, and calculates an average.
  • the final predicted image is generated by weighting and adding each predicted image based on the display time interval between the target picture and each reference image.
  • the inverse quantization / inverse transform unit 15 performs an inverse quantization / inverse transform process on each TU included in the target CU based on the TT information TTI. Specifically, the inverse quantization / inverse transform unit 15 performs inverse quantization and inverse orthogonal transform on the quantization prediction residual included in the TU information TUI corresponding to the target TU for each target TU included in the target conversion tree. By doing so, the prediction residual D for each pixel is restored.
  • the orthogonal transform refers to an orthogonal transform from the pixel region to the frequency region. Therefore, the inverse orthogonal transform is a transform from the frequency domain to the pixel domain.
  • inverse orthogonal transform examples include inverse DCT transform (Inverse Discrete Cosine Transform), inverse DST transform (Inverse Discrete Sine Transform), and the like.
  • the inverse quantization / inverse transform unit 15 supplies the restored prediction residual D to the adder 17.
  • Decoded decoded images P are sequentially recorded in the frame memory 16 together with parameters used for decoding the decoded images P.
  • the frame memory 16 at the time of decoding the target tree block, decoded images corresponding to all tree blocks decoded before the target tree block (for example, all tree blocks preceding in the raster scan order) are stored. It is recorded. Examples of decoding parameters recorded in the frame memory 16 include CU prediction method information (PredMode).
  • the adder 17 adds the predicted image Pred supplied from the predicted image generation unit 14 and the prediction residual D supplied from the inverse quantization / inverse transform unit 15 to thereby obtain the decoded image P for the target CU. Generate. Note that the adder 17 may further execute a process of enlarging the decoded image P as described later.
  • Decoded image # 2 corresponding to # 1 is output to the outside.
  • a moving picture decoding apparatus 1 is an image decoding apparatus that divides a picture into coding tree block units and decodes the coding tree block, and recursively divides the coding tree block as a root coding tree.
  • an arithmetic decoding unit (CU division identifier decoding means) for decoding the CU division identifier split_cu_idx [x0] [y0] indicating whether or not to divide the coding tree.
  • [x0] [y0] represents the coordinates of the upper left pixel of the coding tree (hereinafter, the target CU).
  • FIG. 1 is a block diagram showing a configuration of an arithmetic decoding unit 191 (CU division identifier decoding means, arithmetic decoding device) that decodes a CU division identifier split_cu_idx [x0] [y0].
  • the arithmetic decoding unit 191 includes an arithmetic code decoding unit 115 and a CU partition identifier decoding unit 113.
  • the arithmetic code decoding unit 115 is configured to decode each bit included in the encoded data with reference to the context, and includes a context recording update unit 116 and a bit decoding unit 117 as shown in FIG. ing.
  • the context record update unit 116 is configured to record and update the context variable CV managed by each context index ctxIdx associated with each syntax.
  • the context variable CV includes (1) a dominant symbol MPS (Most Probable Symbol) having a high occurrence probability and (2) a probability state index pStateIdx for designating the occurrence probability of the dominant symbol MPS.
  • the context record update unit 116 uses the context index ctxIdx and bit decoding unit 117 supplied from the CU partition identifier decoding unit 113.
  • the context variable CV is updated by referring to the decoded value of Bin, and the updated context variable CV is recorded until the next update.
  • the dominant symbol MPS is 0 or 1.
  • the dominant symbol MPS and the probability state index pStateIdx are updated every time the bit decoding unit 117 decodes one Bin.
  • bypassFlag When the supplied bypass flag BypassFlag is 1, that is, when decoding is performed using a context variable CV in which the occurrence probabilities of symbols 0 and 1 are fixed to 0.5 (also referred to as bypass mode).
  • the value of the context variable CV is always fixed to the occurrence probability of the symbols 0 and 1 of 0.5, and the update of the context variable CV is omitted.
  • the context index ctxIdx may directly specify the context for each Bin of each syntax, or may be an increment value from an offset indicating the start value of the context index set for each syntax ( Context increment value) ctxInc.
  • the bit decoding unit 117 refers to the context variable CV recorded in the context recording update unit 116 and decodes each bit included in the encoded data. Further, the Bin value obtained by decoding is supplied to each unit included in the DC offset information decoding unit 111. Further, the Bin value obtained by decoding is also supplied to the context recording update unit 116 and is referred to in order to update the context variable CV.
  • the CU partition identifier decoding unit 113 further derives a context index ctxIdx for determining a context used for decoding the Bin of the CU partition identifier split_cu_idx [x0] [y0] in the arithmetic code decoding unit 115 Deriving means (not shown) and bypass flag deriving means (not shown) are provided. Details of the context index and bypass flag derivation processing will be described later.
  • the CU partition identifier decoding unit 113 supplies the context index ctxIdx and the bypass flag BypassFlag to the arithmetic code decoding unit 115 and instructs the arithmetic code decoding unit 115 to decode each bit included in the encoded data.
  • the CU partition identifier decoding unit 113 interprets a Bin sequence including one or more bins supplied from the bit decoding unit 117, and decodes the syntax value of the CU partition identifier split_cu_idx [x0] [y0] of the target CU. Supply externally.
  • the conversion (inverse binarization) of the CU partition identifier split_cu_idx [x] [y] from the Bin sequence to the syntax value is not limited to the above, and can be changed within a practicable range.
  • it may be a fixed-length code that converts the value of the Bin string as it is into a syntax value. More specifically, if the Bin string of the CU split identifier split_cu_idx is “0”, the syntax value is interpreted as “0”, and if the Bin string of the CU split identifier split_cu_idx is “1”, “1”. May be interpreted.
  • the syntax value may be interpreted as “1”, and if the Bin string is “1”, it may be interpreted as “0”.
  • the syntax value may be obtained from the Bin sequence from the correspondence table of the Bin sequence and the Kth-order exponent Golomb code without dividing the Bin sequence into the prefix part prefix and the suffix part suffix.
  • Context index and bypass flag derivation process Context index and bypass flag derivation process
  • the context index derivation process related to the CU partitioning identifier split_cu_idx [x0] [y0] will be described more specifically with reference to FIG.
  • the process of deriving the context index of the CU partition identifier split_cu_idx [x0] [y0] is common to the decoding apparatus side and the encoding apparatus side.
  • binIdx indicates a bit position from the beginning of a binary string (a string consisting of elements of 0 or 1) of a syntax element (Syntax Element) decoded by the CU partition identifier decoding unit 113.
  • the number in the figure indicates the context increment (context increment value) ctxInc used for the contest index.
  • na indicates that the bit at that position does not occur in decoding of the syntax element, and bypass bypasses without using the context. It shows that it is decoded / encoded using.
  • the Bin of the prefix part is a Bin that is decoded / encoded with reference to the context.
  • a CU adjacent to the left of the target CU CU cur
  • an adjacent left CUL CU L
  • CU adjacent to the lower left of the target CU called adjacent the bottom left CULB (CU LB), referred to CU adjacent to the upper side of the target CU (CU cur) and adjacent the CUT (CU T),
  • CU adjacent to the upper right of the target CU is referred to as an adjacent upper right CUTR (CU TR ).
  • FIG. 7 is a flowchart for explaining a context index derivation process regarding a CU partition identifier according to an embodiment of the present invention.
  • FIG. 8 is an example of pseudo code showing a context index derivation process for a CU partition identifier according to an embodiment of the present invention.
  • FIG. 9 is an example of pseudo code for deriving an availability flag of a block in the Z scan order order referred to in the pseudo code of FIG.
  • the CU partition identifier decoding unit 113 performs the processing of steps SA012 to S014 in the order of adjacent left CUL, adjacent lower left CULB, adjacent upper CUT, and adjacent upper right CUTR, and compares the division depth comparison value condA () between the target CU and each adjacent CU.
  • A ⁇ L, BL, T, TR ⁇ ).
  • the availability flag availableAFlag of the adjacent CUA is a flag indicating whether or not the target CU can refer to a syntax value included in the adjacent CUA and a parameter derived from the syntax value. When the flag value is 1 (true), it indicates that reference is possible, and when the flag value is 0 (false), it indicates that reference is impossible.
  • the availability flag of the adjacent CUA can also be interpreted as indicating the presence or absence of the adjacent CUA. The meaning of each value of the availability flag is not limited to the above. When the flag value is 1 (true), it indicates that reference is impossible, and when the flag value is 0 (false), reference is possible. May be defined as
  • condA CtDepthA [xNbA] [yNbA]> cqtDepth (eq.A-1) That is, when the division depth CtDepthA [xNbA] [yNbA] of the adjacent CUA is larger than the division depth cqtDepth of the target CU, 1 is set to condA, otherwise (the division depth CtDepthA [xNbA] [yNbA] of the adjacent CUA is the target CU In the case of the following division depth cqtDepth), condA is set to 0.
  • Is derived by the following equations (eq.A-2) and (eq.A-3) based on the offset (dxA, dYA) (A ⁇ L, BL, T, TR ⁇ ).
  • xNbA x0 + dXA (eq.A-2)
  • yNbA y0 + dYA (eq.A-3)
  • the coordinates of the adjacent lower left CULB (xNbLB, yNbLB) (x0-1, y0-CUSize),
  • the coordinates of the adjacent upper right CUTR (xNbTR, yNbTR) (x0 + CUSize, y0-1)
  • the variable CUSize represents the horizontal width of the target CU if it is the X coordinate, and the vertical width if it is the Y coordinate.
  • ctxInc condL + condBL + condT + condTR (eq.A-4a)
  • minCtxInc represents the minimum value of the context increment value ctxInc
  • maxCtxInc represents the maximum value of the context increment value ctxInc.
  • the derivation model of the context increment value ctxInc takes a small value if there are many cases where the division depth cqtDepth of the target CU is smaller than the division depth of the adjacent CU.
  • the CU partition identifier decoding unit 113 then adds a value obtained by adding the predetermined offset ctxIdxOffset to the derived context increment value ctxInc, and a context index ctxIdx (formula (eq. Eq. Derived as A-5)).
  • ctxIdx ctxInc + ctxIdxOffset (eq.A-5)
  • the value of the predetermined offset ctxIdxOffset may be changed depending on the slice type (I slice, P slice, B slice), or for each color component (first color component, second color component, third color component). It may be changed to Moreover, it is good also as a common offset value irrespective of a slice type or a color component.
  • the bypass flag BypassFlag is set to 1 for each Bin.
  • the context index ctxIdx for each Bin that does not refer to the context is set to 0.
  • the CU partition identifier decoding unit 113 refers to two or more adjacent CUs adjacent to the target CU at the time of CTU size expansion, so that the CU partition identifier decoding unit 113 includes the Bin string of the CU partition identifier split_cu_idx [x0] [y0]
  • Non-Patent Document 2 FIGS.
  • the number of contexts related to the CU partition identifier split_cu_idx [x0] [y0] is kept the same, and the code Reduction of the decoding processing amount (encoding processing amount) in order to maintain the efficiency of the process and simplify the context index derivation process (mainly the sharing of the processes in FIGS. 28 and 29 and the reduction of the branching process) The effect to do.
  • the CU partition identifier decoding unit 113 uses the following equation (eq.A-6) to reduce the number of contexts related to the CU partition identifier split_cu_idx [x0] [y0], and the context increment value derived in step SA016
  • the range of ctxInc is limited to minCtxInc (second threshold) to maxCtxInc (first threshold).
  • ctxInc Clip3 (minCtxInc, maxCtxInc, ctxInc) (eq. A-6)
  • the context increment value ctxInc may be derived from the equation (eq.A-6a).
  • ctxInc Clip3 (minCtxInc, maxCtxInc, ctxInc)-minCtxInc (eq. A-6a) Further, when only the upper limit value of the context increment value ctxInc is limited, the context increment value ctxInc may be derived from the equation (eq.A-6b).
  • ctxInc ctxInc> maxCtxInc? maxCtxInc: ctxInc (eq. A-6b)
  • the expression (eq. A-6b) is expressed by a ternary operator, but it can also be expressed by the following if statement (expression (eq. A-6c)).
  • the first modification of the CU partition identifier decoding unit 113 has the same effect as the first embodiment. Furthermore, compared with the first embodiment, by limiting the range of the context increment value ctxInc, the number of contexts required for each Bin that refers to the context is reduced while maintaining the encoding efficiency, and is necessary for maintaining the context. The memory size is reduced.
  • the minimum division depth minCtDepth and the maximum division depth maxCtDepth in the adjacent CUA are further derived.
  • the variables MinCtDepthPS and MaxCtDepthPS are values representing the minimum division depth and the maximum division depth of the coding tree notified or derived by the parameter set (SPS, PS, SH).
  • minCtDepth minCtDepth> CtDepthA [xNbA] [yNbA]? CtDepthA [xNbA] [yNbA] (eq.A-7)
  • maxCtDepth maxCtDepth ⁇ CtDepthA [xNbA] [yNbA]? CtDepthA [xNbA] [yNbA] (eq.A-8) (SA014-2 ') Since this is the same as SA014-2, description thereof is omitted.
  • the CU partition identifier decoding unit 113 uses the following equations (eq.A-9) and (eq.A-10) to reduce the number of contexts related to the CU partition identifier split_cu_idx [x0] [y0].
  • the context increment value ctxInc derived in step SA016 ′ is updated to the context increment value corresponding to the minimum division depth minCtDepth (first division depth) and the maximum division depth maxCtDepth (second division depth) in the adjacent CU.
  • ctxInc cqtDepth ⁇ minCqtDepth? minCtxInc: ctxInc (eq. A-9)
  • ctxInc cqtDepth> maxCqtDepth? maxCtxInc: ctxInc (eq. A-10) That is, when the division depth cqtDepth of the target CU is smaller than the minimum division depth in the adjacent CU, the lower limit value (minimum value) minCtxInc (first context index value or first context increment value) of the context increment value ) Update the context increment value ctxInc.
  • the upper limit value (maximum value) maxCtxInc (second context index value or second context increment value) of the context increment value ) Update the context increment value ctxInc.
  • the derived model of the context increment value ctxInc in step SA016 takes a small value if there are many cases where the division depth cqtDepth of the target CU is smaller than the division depth of the adjacent CU. Conversely, if there are many cases where the division depth cqtDepth of the target CU is larger than the division depth of the adjacent CU, a larger value is taken.
  • the appearance frequency of the encoding unit (CU) existing at each layer depth (division depth) tends to decrease.
  • the context increment for Bin that refers to the context in the bin column of the CU division identifier split_cu_idx [x0] [y0] It is appropriate to set the value ctxInc to the lower limit value minCtxInc of the context increment value, and it is possible to reduce the number of contexts while maintaining the encoding efficiency.
  • the context is referred to in the bin column of the CU division identifier split_cu_idx [x0] [y0]. It is appropriate to set the context increment value ctxInc to the upper limit value maxCtxInc of the context increment value for Bin, and it is possible to reduce the number of contexts while maintaining the coding efficiency.
  • the second modification of the CU partition identifier decoding unit 113 has the same effect as the first embodiment. Furthermore, as compared with the first embodiment, the memory size required for holding the context is reduced in order to reduce the number of contexts required for each Bin referring to the context while maintaining the encoding efficiency as in the first modification. There is an effect.
  • the minimum partition depth minCqtDepth and the maximum partition depth maxCqtDepth are derived from the adjacent CUs of the target CU.
  • the present invention is not limited to this.
  • a fixed third division depth value is set to the minimum division depth minCqtDepth
  • the fourth division depth is different from the third division depth value to the maximum division depth maxCqtDepth. May be set.
  • the values of the third division depth and the fourth division depth may be notified in the parameter set (SPS, PPS, SH), or between the image decoding apparatus and the corresponding image encoding apparatus, Arrangements may be made in advance.
  • the context index derivation process for the Bin that references the context in the Bin string of the CU partition identifier split_cu_idx [x0] [y0]
  • the effect of reducing the decoding processing amount (encoding processing amount) can be achieved.
  • the moving image encoding device 2 is a device that generates and outputs encoded data # 1 by encoding the input image # 10.
  • FIG. 24 is a functional block diagram showing the configuration of the moving image encoding device 2.
  • the moving image encoding apparatus 2 includes an encoding setting unit 21, an inverse quantization / inverse conversion unit 22, a predicted image generation unit 23, an adder 24, a frame memory 25, a subtractor 26, a conversion / A quantization unit 27 and an encoded data generation unit (adaptive processing means) 29 are provided.
  • the encoding setting unit 21 generates image data related to encoding and various setting information based on the input image # 10.
  • the encoding setting unit 21 generates the next image data and setting information.
  • the encoding setting unit 21 generates the CU image # 100 for the target CU by sequentially dividing the input image # 10 into slice units and tree block units.
  • the encoding setting unit 21 generates header information H ′ based on the result of the division process.
  • the header information H ′ includes (1) information on the size and shape of the tree block belonging to the target slice and the position in the target slice, and (2) the size, shape and shape of the CU belonging to each tree block.
  • the encoding setting unit 21 refers to the CU image # 100 and the CU information CU 'to generate PT setting information PTI'.
  • the PT setting information PTI ' includes information on all combinations of (1) possible division patterns of the target CU for each PU and (2) prediction modes that can be assigned to each PU.
  • the encoding setting unit 21 supplies the CU image # 100 to the subtractor 26. In addition, the encoding setting unit 21 supplies the header information H ′ to the encoded data generation unit 29. Also, the encoding setting unit 21 supplies the PT setting information PTI ′ to the predicted image generation unit 23.
  • the inverse quantization / inverse transform unit 22 performs inverse quantization and inverse orthogonal transform on the quantized prediction residual for each block supplied from the transform / quantization unit 27, thereby predicting the prediction residual for each block. To restore.
  • the inverse orthogonal transform is as already described with respect to the inverse quantization / inverse transform unit 13 shown in FIG.
  • the inverse quantization / inverse transform unit 22 integrates the prediction residual for each block according to the division pattern specified by the TT division information (described later), and generates the prediction residual D for the target CU.
  • the inverse quantization / inverse transform unit 22 supplies the prediction residual D for the generated target CU to the adder 24.
  • the predicted image generation unit 23 refers to the local decoded image P ′ and the PT setting information PTI ′ recorded in the frame memory 25 to generate a predicted image Pred for the target CU.
  • the predicted image generation unit 23 sets the prediction parameter obtained by the predicted image generation process in the PT setting information PTI ′, and transfers the set PT setting information PTI ′ to the encoded data generation unit 29. Note that the predicted image generation process performed by the predicted image generation unit 23 is the same as that performed by the predicted image generation unit 14 included in the video decoding device 1, and thus description thereof is omitted here.
  • the adder 24 adds the predicted image Pred supplied from the predicted image generation unit 23 and the prediction residual D supplied from the inverse quantization / inverse transform unit 22 to thereby obtain the decoded image P for the target CU. Generate.
  • Decoded decoded image P is sequentially recorded in the frame memory 25.
  • decoded images corresponding to all tree blocks decoded prior to the target tree block for example, all tree blocks preceding in the raster scan order
  • the subtractor 26 generates a prediction residual D for the target CU by subtracting the prediction image Pred from the CU image # 100.
  • the subtractor 26 supplies the generated prediction residual D to the transform / quantization unit 27.
  • the transform / quantization unit 27 generates a quantized prediction residual by performing orthogonal transform and quantization on the prediction residual D.
  • the orthogonal transform refers to an orthogonal transform from the pixel region to the frequency region.
  • Examples of inverse orthogonal transformation include DCT transformation (DiscretecreCosine Transform), DST transformation (Discrete Sine Transform), and the like.
  • the transform / quantization unit 27 refers to the CU image # 100 and the CU information CU 'and determines a division pattern of the target CU into one or a plurality of blocks. Further, according to the determined division pattern, the prediction residual D is divided into prediction residuals for each block.
  • the transform / quantization unit 27 generates a prediction residual in the frequency domain by orthogonally transforming the prediction residual for each block, and then quantizes the prediction residual in the frequency domain to Generate quantized prediction residuals.
  • the transform / quantization unit 27 generates the quantization prediction residual for each block, TT division information that specifies the division pattern of the target CU, information about all possible division patterns for each block of the target CU, and TT setting information TTI ′ including is generated.
  • the transform / quantization unit 27 supplies the generated TT setting information TTI ′ to the inverse quantization / inverse transform unit 22 and the encoded data generation unit 29.
  • the encoded data generation unit 29 encodes header information H ′, TT setting information TTI ′, and PT setting information PTI ′, and multiplexes the encoded header information H, TT setting information TTI, and PT setting information PTI. Coded data # 1 is generated and output.
  • the video encoding device 2 includes a configuration corresponding to each configuration of the video decoding device 1.
  • “correspondence” means that the same processing or the reverse processing is performed.
  • the prediction image generation process of the prediction image generation unit 14 included in the video decoding device 1 and the prediction image generation process of the prediction image generation unit 23 included in the video encoding device 2 are the same. .
  • the process of decoding a syntax value from a bit string in the video decoding device 1 corresponds to a process opposite to the process of encoding a bit string from a syntax value in the video encoding device 2. Yes.
  • each configuration in the video encoding device 2 corresponds to the CU information decoding unit 11, the PU information decoding unit 12, and the TU information decoding unit 13 of the video decoding device 1. . Thereby, the operation and function of each component in the moving image encoding device 2 will be clarified in more detail.
  • the encoded data generation unit 29 corresponds to the decoding module 10. More specifically, the decoding module 10 derives a syntax value based on the encoded data and the syntax type, whereas the encoded data generation unit 29 encodes the code based on the syntax value and the syntax type. Generate data.
  • the encoding setting unit 21 corresponds to the CU information decoding unit 11 of the video decoding device 1 described above.
  • a comparison between the encoding setting unit 21 and the CU information decoding unit 11 described above is as follows.
  • the predicted image generation unit 23 corresponds to the PU information decoding unit 12 and the predicted image generation unit 14 of the video decoding device 1 described above. These are compared as follows.
  • the PU information decoding unit 12 supplies the encoded data related to the motion information and the syntax type to the decoding module 10 and derives a motion compensation parameter based on the motion information decoded by the decoding module 10. Further, the predicted image generation unit 14 generates a predicted image based on the derived motion compensation parameter.
  • the predicted image generation unit 23 determines a motion compensation parameter in the predicted image generation process, and supplies a syntax value and a syntax type related to the motion compensation parameter to the encoded data generation unit 29.
  • the transform / quantization unit 27 corresponds to the TU information decoding unit 13 and the inverse quantization / inverse transform unit 15 of the video decoding device 1 described above. These are compared as follows.
  • the TU division setting unit 131 included in the TU information decoding unit 13 described above supplies encoded data and syntax type related to information indicating whether or not to perform node division to the decoding module 10 and is decoded by the decoding module 10.
  • TU partitioning is performed based on information indicating whether or not to perform node partitioning.
  • the transform coefficient restoration unit 132 included in the TU information decoding unit 13 described above supplies the determination information, the encoded data related to the transform coefficient, and the syntax type to the decoding module 10, and the determination information decoded by the decoding module 10 and A conversion coefficient is derived based on the conversion coefficient.
  • the transform / quantization unit 27 determines the division method of the TU division, and sends the syntax value and the syntax type related to the information indicating whether or not to perform node division to the encoded data generation unit 29. Supply.
  • the transform / quantization unit 27 supplies the encoded data generation unit 29 with syntax values and syntax types related to the quantized transform coefficients obtained by transforming and quantizing the prediction residual.
  • the moving picture coding apparatus 2 is a picture coding apparatus that divides a picture into coding tree block units and codes the picture, and recursively divides the coding tree block as a root coding tree.
  • An arithmetic coding unit (CU division identifier coding means, arithmetic arithmetic coding device for coding CU division identifier split_cu_idx [x0] [y0] indicating whether or not to divide the coding tree ).
  • FIG. 25 is a block diagram illustrating a configuration of an arithmetic encoding unit 291 that encodes the CU partitioning identifier split_cu_idx [x0] [y0].
  • the arithmetic encoding unit 291 includes an arithmetic code encoding unit 295 and a CU partition identifier encoding unit 293.
  • the arithmetic code encoder 295 is configured to encode each Bin supplied from the CU partition identifier encoder with reference to the context, and output the encoded bits, as shown in FIG. A context recording / updating unit 296 and a bit encoding unit 297.
  • the context recording update unit 296 is a function corresponding to the context recording update unit 116 included in the arithmetic code decoding unit 115, and records and updates the context variable CV managed by each context index ctxIdx associated with each syntax. It is the composition.
  • the context variable CV includes (1) a dominant symbol MPS (Most Probable Symbol) having a high occurrence probability and (2) a probability state index pStateIdx for designating the occurrence probability of the dominant symbol MPS.
  • the context recording update unit 296 encodes the context index ctxIdx and bit encoding supplied from the CU partition identifier encoding unit 293
  • the context variable CV is updated by referring to the Bin value encoded by the unit 297, and the updated context variable CV is recorded until the next update.
  • the dominant symbol MPS is 0 or 1.
  • the dominant symbol MPS and the probability state index pStateIdx are updated every time the bit encoding unit 297 encodes one Bin.
  • the context recording update unit 296 encodes using the context variable CV in which the occurrence probability of the symbols 0 and 1 is fixed to 0.5 (also referred to as a bypass mode).
  • the value of the context variable CV is always fixed to the occurrence probability of the symbols 0 and 1 at a value of 0.5, and the update of the context variable CV is omitted.
  • the context index ctxIdx may directly specify the context for each Bin of each syntax, or may be an increment value from an offset indicating the start value of the context index set for each syntax. There may be.
  • the bit encoding unit 297 corresponds to the inverse process of the bit decoding unit 117 included in the arithmetic code decoding unit 115, refers to the context variable CV recorded in the context recording update unit 296, and refers to the CU division identifier encoding unit 293.
  • Each Bin supplied from is encoded.
  • the Bin value to be encoded is also supplied to the context recording update unit 296, and is referenced to update the context variable CV.
  • the CU partition identifier encoding unit 293 corresponds to the reverse process of the CU partition identifier decoding unit 113 included in the arithmetic decoding unit 191.
  • the CU partitioning identifier encoding unit 293 determines the syntax value of the CU partitioning identifier split_cu_idx [x0] [y0] of the target CU supplied from the outside based on, for example, the correspondence table shown in FIG.
  • the conversion (binarization) of the syntax value of the CU partitioning identifier split_cu_idx [x] [y] into a Bin string is not limited to the above, and can be changed within a practicable range.
  • it may be a fixed-length code that converts a syntax value as it is into a syntax value. More specifically, if the syntax value of the CU split identifier split_cu_idx is “0”, it is interpreted as “0” as the Bin column, and if the syntax value of the CU split identifier split_cu_idx is “1”, the Bin column May be interpreted as “1”.
  • the Bin string may be interpreted as “1”, and if the syntax value is “1”, the Bin string may be interpreted as “0”.
  • the Bin sequence may be obtained from the syntax value from the correspondence table between the value and the Kth-order exponent Golomb code without converting the syntax value into a Bin sequence including the prefix part prefixt and the suffix part suffix.
  • the CU partition identifier encoding unit 293 includes a context index ctxIdx for determining a context used for encoding the Bin sequence of the CU partition identifier split_cu_idx [x0] [y0] in the arithmetic code encoder 295, and bypass
  • the bypass flag BypassFlag indicating whether the mode is appropriate has been described in the CU partition identifier decoding unit 113 (context index and bypass flag derivation processing (including the first embodiment, the first modification, the second modification, and their supplementary items). It is assumed that the CU partition decoding unit 113 is replaced with a CU partition identifier encoding unit 293 for interpretation.
  • the CU partition identifier encoding unit 293 supplies the derived context index ctxIdx, bypass flag BypassFlag, and Bin sequence to the arithmetic code encoding unit 295, and performs arithmetic code encoding so as to encode each Bin of each Bin sequence Section 295 is indicated.
  • the CU partitioning identifier encoding unit 293 instructs the arithmetic code encoding unit 295 to respond to Bin that refers to the context in the Bin sequence of the CU partitioning identifier split_cu_idx [x0] [y0].
  • the context is switched for encoding.
  • FIG. 10B if there is a Bin that does not refer to a context, the Bin is encoded in the bypass mode.
  • the CU partition identifier encoding unit 293 refers to two or more adjacent CUs adjacent to the target CU when the CTU size is extended, so that the CU partition identifier split_cu_idx [x0] [y0] of the target CU
  • the number of contexts required for each Bin that refers to the context is reduced while maintaining the encoding efficiency, and is necessary for maintaining the context.
  • the memory size is reduced. Furthermore, when (Modification 2 of derivation process of context index and bypass flag) is applied, the same effects as those of the first embodiment are obtained. Furthermore, as compared with the first embodiment, the memory size required for holding the context is reduced in order to reduce the number of contexts required for each Bin referring to the context while maintaining the encoding efficiency as in the first modification. There is an effect.
  • the above-described moving image encoding device 2 and moving image decoding device 1 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.
  • moving image encoding device 2 and moving image decoding device 1 can be used for transmission and reception of moving images.
  • FIG. 26 is a block diagram illustrating a configuration of a transmission device PROD_A in which the moving image encoding device 2 is mounted.
  • the transmission device 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 moving image encoding apparatus 2 described above is used as the encoding unit PROD_A1.
  • the transmission device PROD_A is a camera PROD_A4 that captures a moving image, a recording medium PROD_A5 that records the moving image, an input terminal PROD_A6 that inputs the moving image from the outside, as a supply source of the moving image input to the encoding unit PROD_A1.
  • An image processing unit A7 that generates or processes an image may be further provided.
  • FIG. 26A 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 according to the recording encoding method may be interposed between the recording medium PROD_A5 and the encoding unit PROD_A1.
  • FIG. 26 is a block diagram illustrating a configuration of the receiving device PROD_B in which the moving image decoding device 1 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 moving picture decoding apparatus 1 described above is used as the decoding unit PROD_B3.
  • the receiving device PROD_B has a display PROD_B4 for displaying a moving image, a recording medium PROD_B5 for recording the 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. 26B 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 may be 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 or the like) / 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, smart phone etc.
  • VOD Video On Demand
  • video sharing service using the Internet is a transmitting device for transmitting and receiving modulated signals by communication.
  • PROD_A / reception 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.
  • moving image encoding device 2 and moving image decoding device 1 can be used for recording and reproduction of moving images.
  • FIG. 27A is a block diagram showing a configuration of a recording apparatus PROD_C in which the above-described moving picture encoding apparatus 2 is mounted.
  • the recording device PROD_C has 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 the recording medium PROD_M.
  • a writing unit PROD_C2 for writing.
  • the moving image encoding apparatus 2 described above is used as the encoding unit PROD_C1.
  • the recording medium PROD_M may be of a type built in 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 (registered) 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 (registered) 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 supply 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 reception for receiving moving images.
  • the unit PROD_C5 and an image processing unit C6 that generates or processes an image may be further provided.
  • FIG. 27A 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 supply 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 in this case In this case, the camera PROD_C3 or the receiving unit PROD_C5 is a main supply source of moving images
  • the camera PROD_C3 or the receiving unit PROD_C5 is a main supply source of moving images
  • FIG. 27 is a block showing a configuration of a playback device PROD_D in which the above-described video decoding device 1 is mounted.
  • 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 coded data read by the read unit PROD_D1. And a decoding unit PROD_D2 to be obtained.
  • the moving picture decoding apparatus 1 described above 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 a 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 DVD or BD. Good.
  • the playback device PROD_D has a display PROD_D3 that displays a moving image, an output terminal PROD_D4 that outputs the moving image to the outside, and a transmission unit that transmits the moving image as a supply destination of the moving image output by the decoding unit PROD_D2.
  • PROD_D5 may be further provided.
  • FIG. 27B illustrates a configuration in which the playback apparatus PROD_D includes all of these, but a part of the configuration may be omitted.
  • the transmission unit PROD_D5 may transmit an unencoded moving image, or transmits encoded data encoded by a transmission encoding method different from the recording encoding method. You may do. In the latter case, it is preferable to interpose an encoding unit (not shown) that encodes a moving image with an encoding method for transmission 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 supply destination of moving images).
  • a television receiver in this case, the display PROD_D3 is a main supply destination of moving images
  • a digital signage also referred to as an electronic signboard or an electronic bulletin board
  • the display PROD_D3 or the transmission unit PROD_D5 is a 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 moving image)
  • 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 moving picture decoding apparatus 1 and the moving picture encoding apparatus 2 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) may be implemented in software.
  • IC chip integrated circuit
  • CPU Central Processing
  • each device includes a CPU that executes instructions of a program that realizes each function, a ROM (Read (Memory) that stores the program, a RAM (Random Memory) that expands the program, the program, and various types
  • a storage device such as a memory for storing data is provided.
  • An object of the present invention is to provide a recording medium in which a program code (execution format program, intermediate code program, source program) of a control program for each of the above devices, which is software that realizes the above-described functions, is recorded so as to be readable by a computer. This can also be achieved by supplying 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, mask ROM / EPROM (Erasable Programmable Read-Only Memory) / EEPROM (registered trademark) (Electrically / Erasable Programmable Read-Only Memory) / semiconductor memory such as flash ROM, or PLD (Programmable Use logic circuits such as logic (device) and FPGA (Field Programmable Gate Array) be able to.
  • 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.
  • the Internet intranet, extranet, LAN (Local Area Network), ISDN (Integrated Services Digital Network), VAN (Value-Added Network), CATV (Community Area Antenna / Cable Television) communication network, 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) and other wired lines such as IrDA (Infrared Data Association) or remote control, Bluetooth (registered trademark), IEEE 802.11 wireless, HDR (High Data Rate), NFC (Near Field Communication), DLNA (registered trademark) (Digital Living Network Alliance), mobile phone network, satellite line, terrestrial digital network, etc. It can also be used wirelessly.
  • 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.
  • the present invention can be suitably applied to an image decoding apparatus that decodes encoded data obtained by encoding image data and an image encoding apparatus that generates encoded data obtained by encoding image data. 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.
  • Video decoding device (image decoding device) DESCRIPTION OF SYMBOLS 10 Decoding module 11 CU information decoding part 12 PU information decoding part 13 TU information decoding part 16 Frame memory 191 Arithmetic decoding part 113 CU division identifier decoding part 115 Arithmetic code decoding part 116 Context recording update part 117 Bit decoding part 2 Video encoding Device (image coding device) 131 TU division setting unit 21 encoding setting unit 25 frame memory 29 encoded data generation unit 191 arithmetic decoding unit 291 arithmetic encoding unit 293 CU division identifier encoding unit 295 arithmetic encoding encoding unit 296 context recording update unit 297 bit encoding Part

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

復号処理量を低減して、符号化効率を維持しつつCU分割識別子に関するコンテキスト数の増大を抑制し、かつ、CU分割識別子に関するコンテキストインデックス導出処理を簡略化する。コンテキストを指定するコンテキストインデックスを導出するコンテキストインデックス導出手段と、 前記コンテキストインデックスで指定されるコンテキスト、及びバイパスフラグを参照して、符号化データから1又は複数のBinからなるBin列を復号する算術符号復号手段と、前記Bin列から対象CUに関するCU分割識別子のシンタックス値を復号するCU分割識別子復号手段とを備える算術復号装置であって、前記コンテキストインデックス導出手段は、前記対象CUの分割深度、及び1以上の復号済隣接CUの分割深度に基づいて、前記CU分割識別子に関するコンテキストインデックスを導出することを特徴とする算術復号装置。

Description

算術復号装置及び算術符号化装置
 本発明は、算術符号化された符号化データを復号する算術復号装置、及び算術符号化装置を備える画像復号装置に関する。また、算術符号化された符号化データを生成する算術符号化装置、及び算術符号化装置を備える画像符号化装置に関する。
 動画像を効率的に伝送または記録するために、動画像を符号化することによって符号化データを生成する動画像符号化装置、および、当該符号化データを復号することによって復号画像を生成する動画像復号装置が用いられている。
 具体的な動画像符号化方式としては、例えば、H.264/MPEG-4.AVCや、その後継コーデックであるHEVC(High-Efficiency Video Coding)にて提案されている方式(非特許文献1)などが挙げられる。
 このような動画像符号化方式においては、動画像を構成する画像(ピクチャ)は、画像を分割することにより得られるスライス、スライスを分割することにより得られる符号化単位(コーディングユニット(Coding Unit; CU)と呼ばれることもある)、及び、符号化単位を分割することより得られるブロックである予測ユニット(Prediction Unit ; PU)、変換ユニット(Transform Unit; TU)からなる階層構造により管理され、通常、ブロックごとに符号化/復号される。
 また、このような動画像符号化方式においては、通常、入力画像を符号化/復号することによって得られる局所復号画像に基づいて予測画像が生成され、当該予測画像を入力画像(原画像)から減算して得られる予測残差(「差分画像」または「残差画像」と呼ぶこともある)が符号化される。また、予測画像の生成方法としては、画面間予測(インター予測)、および、画面内予測(イントラ予測)が挙げられる。
 非特許文献1では、四分木分割(Quadtree Partition)を用いて、自由度の高いブロックサイズの符号化ユニット及び変換ユニットを選択し、符号量と精度のバランスをとる技術が知られている。64×64ブロックサイズの最大符号化ユニットに対して、該ブロックサイズを有する符号化ユニットを四分木分割するか否かを示すフラグ(CU分割フラグ)の値に基づいて、四分木分割を最小符号化ユニットまで再帰的に繰り返すことで、64×64、32×32、16×16、8×8のブロックサイズまでの符号化ユニットへ分割することができる。
 非特許文献2では、最大符号化ユニットのサイズを64×64から、最大512×512ブロックサイズまで拡張した場合における、符号化ユニットの四分木分割が開示されている。非特許文献1と同様に、512×512ブロックサイズの最大符号化ユニットに対して、該ブロックサイズを有する符号化ユニットCU分割フラグに基づいて、四分木分割を最小符号化ユニットまで再帰的に繰り返すことで、512×512、256×256、128×128、64×64、32×32、16×16、8×8のブロックサイズまでの符号化ユニットへ分割することができる。
ITU-T Rec. H.265 (V2), 2014年10月29日公開) J.Chen等, "Coding tools investigation for next generation video coding", ITU-T STUDY GROUP 16 COM16-C806-E, (2015年1月公開)
 しかしながら、非特許文献2では、符号化ユニットの最大サイズ拡張時において、符号化ユニットを四分木分割するか否かを示すCU分割フラグに関するコンテキストを指定するコンテキストインデックス導出処理が複雑であり、かつ、コンテキスト数が増大するという課題がある。より具体的には、非特許文献2では、対象CUの分割深度と対象CUに隣接する周囲の復号済(符号化済)CUの分割深度を参照して、CU分割フラグに関するコンテキストインデックスを導出したのち、さらに、対象CUの分割深度が隣接CUの分割深度の最小値以下、最大値以上の場合に、「対象CUの分割深度と対象CUに隣接する周囲の復号済(符号化済)CUの分割深度に基づいて導出されるコンテキストインデックス」とは異なるコンテキストインデックスを再度導出する。そのためコンテキスインデックス導出処理が複雑であると共に、コンテキスト数の増加に伴うコンテキストを保持するメモリサイズが増大するという課題がある。
 上記の課題を解決するために、本発明の態様1に係る算術復号装置は、コンテキストを指定するコンテキストインデックス導出手段と、前記コンテキストインデックスで指定されるコンテキスト、及びバイパスフラグを参照して、符号化データから1又は複数のBinからなるBin列を復号する算術符号復号手段と、前記Bin列から対象CUに関するCU分割識別子のシンタックス値を復号するCU分割識別子復号手段とを備える算術復号装置であって、前記コンテキストインデックス導出手段は、前記対象CUの分割深度、及び1以上の復号済隣接CUの分割深度に基づいて、前記CU分割識別子に関するコンテキストインデックスを導出することを特徴とする。
 上記の課題を解決するために、本発明の態様2に係る算術符号化装置は、対象CUに関するCU分割識別子のシンタックス値をBin列へ符号化するCU分割識別子符号化手段と、コンテキストを指定するコンテキストインデックス導出手段と、コンテキストインデックスで指定されるコンテキスト、及びバイパスフラグを参照して、1又は複数のBinからなるBin列を符号化して符号化データを生成する算術符号符号化手段とを備える算術符号化装置であって、前記コンテキストインデックス導出手段は、前記対象CUの分割深度、及び1以上の符号化済隣接CUの分割深度に基づいて、前記CU分割識別子に関するコンテキストインデックスを導出することを特徴とする。
 本発明の一態様によれば、コンテキストインデックス導出手段は、対象CUの分割深度、及び1以上の復号済隣接CUの分割深度に基づいて、CU分割識別子に関するコンテキストインデックスを導出することで、符号化効率を維持しつつ、CU分割識別子に関するコンテキスト数の増大を抑制し、かつ、CU分割識別子に関するコンテキストインデックス導出処理を簡略化するため、復号処理量を低減する効果を奏する。
 本発明の一態様によれば、コンテキストインデックス導出手段は、対象CUの分割深度、及び1以上の符号化済隣接CUの分割深度に基づいて、CU分割識別子に関するコンテキストインデックスを導出することで、符号化効率を維持しつつ、CU分割識別子に関するコンテキスト数の増大を抑制し、かつ、CU分割識別子に関するコンテキストインデックス導出処理を簡略化するため、符号化処理量を低減する効果を奏する。
本発明の一実施形態に係る復号モジュールの備える算術復号部の構成例について示す機能ブロック図である。 本発明の一実施形態に係る動画像復号装置の概略的構成について示した機能ブロック図である。 本発明の一実施形態に係る動画像符号化装置によって生成され、上記動画像復号装置によって復号される符号化データのデータ構成を示す図であり、(a)~(d)は、それぞれ、ピクチャレイヤ、スライスレイヤ、ツリーブロックレイヤ、およびCUレイヤを示す図である。 上記動画像復号装置の概略的動作を説明するフローチャートである。 PU分割タイプのパターンを示す図である。(a)~(h)は、それぞれ、PU分割タイプが、2N×2N、2N×N、2N×nU、2N×nD、N×2N、nL×2N、nR×2N、および、N×Nの場合のパーティション形状について示している。 本発明の一実施形態に係るCU情報復号部11(CTU情報復号S1300、CT情報復号S1400)の概略的動作を説明するフローチャートである。 本発明の一実施形態に係るCU分割識別子に関するコンテキストインデックス導出処理を説明するフローチャートである。 本発明の一実施形態に係るCU分割識別子に関するコンテキストインデックス導出処理の示す疑似コードの一例である。 本発明の一実施形態に係るZスキャンオーダー順でのブロックの可用性フラグAvaialableNFlagの導出処理を示す疑似コードの一例である。 本実施例に係るCU分割識別子の各シンタックスのBin位置に対応するコンテキスト値(コンテキスト増分値)の一例を説明する図である。 CU分割識別子のシンタックス値とBin列の対応の一例を、及びオフセット(dxA, dyA)の対応を説明する図である。(a)は、CU分割識別子のシンタックス値とBin列の対応の一例である。(b)は、オフセット(dxA, dyA)の対応を説明する図である。 対象CUと隣接CUの位置へのオフセット(dxA, dyA)の対応、及び対象CUと隣接CUA(A=L,LB,T,TR)を説明する図である。(a)は、オフセット(dxA, dyA)の一例を示し、(b)は対象CUと隣接CUA(A=L,LB,T,TR)の位置関係の一例を説明する図である。 本発明の一実施形態に係るCU分割識別子に関するコンテキストインデックス導出処理の変形1を説明するフローチャートである。 本発明の一実施形態に係るCU情報復号部11(CU情報復号S1500)、PU情報復号部12(PU情報復号S1600)、TU情報復号部13(TU情報復号S1700)の概略的動作を説明するフローチャートである。 本発明の一実施形態に係るTU情報復号部13(TT情報復号S1700)の概略的動作を説明するフローチャートである。 本発明の一実施形態に係るTU情報復号部13(TU情報復号S1760)の概略的動作を説明するフローチャートである。 本発明の一実施形態に係るCU情報のシンタックス表の構成例を示す図である。 本発明の一実施形態に係るCU情報、PT情報PTI、TT情報TTIのシンタックス表の構成例を示す図である。 本発明の一実施形態に係るPT情報PTIのシンタックス表の構成例を示す図である。 本発明の一実施形態に係るTT情報TTIのシンタックス表の構成例を示す図である。 本発明の一実施形態に係るTU情報のシンタックス表の構成例を示す図である。 本発明の一実施形態に係る量子化予測残差のシンタックス表の構成例を示す図である。 本発明の一実施形態に係る量子化予測残差情報のシンタックス表の構成例を示す図である。 本発明の一実施形態に係る動画像符号化装置の概略的構成について示した機能ブロック図である。 本発明の一実施形態に係る符号化データ生成部が備える算術符号化部の構成例について示す機能ブロック図である。 上記動画像符号化装置を搭載した送信装置、および、上記動画像復号装置を搭載した受信装置の構成について示した図である。(a)は、動画像符号化装置を搭載した送信装置を示しており、(b)は、動画像復号装置を搭載した受信装置を示している。 上記動画像符号化装置を搭載した記録装置、および、上記動画像復号装置を搭載した再生装置の構成について示した図である。(a)は、動画像符号化装置を搭載した記録装置を示しており、(b)は、動画像復号装置を搭載した再生装置を示している。 非特許文献1におけるCU分割フラグに関するコンテキストインデックス導出処理を示すフローチャートである。 非特許文献2におけるCU分割フラグに関するコンテキストインデックス導出処理を示すフローチャートである。
 本発明の一実施形態について図1~図29を参照して説明する。まず、図2を参照しながら、動画像復号装置(画像復号装置)1および動画像符号化装置(画像符号化装置)2の概要について説明する。図2は、動画像復号装置1の概略的構成を示す機能ブロック図である。
 図2に示す動画像復号装置1および動画像符号化装置2は、HEVC(High Efficiency Video Coding)にて採用されている技術を実装している。動画像符号化装置2は、これらの動画像符号化方式において、エンコーダからデコーダに伝送されることが規定されているシンタックス(syntax)の値をエントロピー符号化して符号化データ#1を生成する。
 エントロピー符号化方式としては、コンテキスト適応型可変長符号化(CAVLC:Context-based Adaptive Variable Length Coding)、および、コンテキスト適応型2値算術符号化(CABAC:Context-based Adaptive Binary Arithmetic Coding)が知られている。
 CAVLCおよびCABACによる符号化/復号においては、コンテキストに適応した処理が行われる。コンテキストとは、符号化/復号の状況(文脈)のことであり、関連シンタックスの過去の符号化/復号結果により定まるものである。関連シンタックスとしては、例えば、イントラ予測、インター予測に関する各種シンタックス、輝度(Luma)、色差(Chroma)に関する各種シンタックス、およびCU(Coding Unit 符号化単位)サイズに関する各種シンタックスなどがある。また、CABACでは、シンタックスに対応する2値データ(バイナリ列)における、符号化/復号対象となるバイナリの位置をコンテキストとして用いる場合もある。
 CAVLCでは、符号化に用いるVLCテーブルを適応的に変更して、各種シンタックスが符号化される。一方、CABACでは、予測モードおよび変換係数等の多値を取り得るシンタックスに対して2値化処理が施され、この2値化処理によって得られた2値データが発生確率に応じて適応的に算術符号化される。具体的には、バイナリ値(0または1)の発生確率を保持するバッファを複数用意し、コンテキストに応じて一つのバッファを選択し、当該バッファに記録されている発生確率に基づいて算術符号化を行う。また、復号/符号化するバイナリ値に基づいて、当該バッファの発生確率を更新することで、コンテキストに応じて適切な発生確率を維持できる。
 動画像復号装置1には、動画像符号化装置2が動画像を符号化した符号化データ#1が入力される。動画像復号装置1は、入力された符号化データ#1を復号して動画像#2を外部に出力する。動画像復号装置1の詳細な説明に先立ち、符号化データ#1の構成を以下に説明する。
 〔符号化データの構成〕
 図3を用いて、動画像符号化装置2によって生成され、動画像復号装置1によって復号される符号化データ#1の構成例について説明する。符号化データ#1は、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。
 符号化データ#1におけるピクチャレイヤ以下の階層の構造を図3に示す。図3の(a)~(e)は、それぞれ、ピクチャPICTを規定するピクチャレイヤ、スライスSを規定するスライスレイヤ、符号化ツリーブロック(Coding Tree block)CTBを規定するツリーブロックレイヤ、符号化ツリー(Coding Tree、CT)を規定する符号化ツリーレイヤ、符号化ツリーブロックCTUに含まれる符号化単位(Coding Unit;CU)を規定するCUレイヤを示す図である。
  (ピクチャレイヤ)
 ピクチャレイヤでは、処理対象のピクチャPICT(以下、対象ピクチャとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。ピクチャPICTは、図3の(a)に示すように、ピクチャヘッダPH、及び、スライスS1~SNSを含んでいる(NSはピクチャPICTに含まれるスライスの総数)。
 なお、以下、スライスS1~SNSのそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する符号化データ#1に含まれるデータであって、添え字を付している他のデータについても同様である。
 ピクチャヘッダPHには、対象ピクチャの復号方法を決定するために動画像復号装置1が参照する符号化パラメータ群が含まれている。ピクチャヘッダPHは、ピクチャー・パラメーター・セット(PPS:Picture Parameter Set)とも称される。
  (スライスレイヤ)
 スライスレイヤでは、処理対象のスライスS(対象スライスとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。スライスSは、図3の(b)に示すように、スライスヘッダSH、及び、ツリーブロックCTU1~CTUNC(NCはスライスSに含まれるツリーブロックの総数)を含んでいる。
 スライスヘッダSHには、対象スライスの復号方法を決定するために動画像復号装置1が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報(slice_type)は、スライスヘッダSHに含まれる符号化パラメータの一例である。
 スライスタイプ指定情報により指定可能なスライスタイプとしては、(1)符号化の際にイントラ予測のみを用いるIスライス、(2)符号化の際に単予測、又は、イントラ予測を用いるPスライス、(3)符号化の際に単予測、双予測、又は、イントラ予測を用いるBスライスなどが挙げられる。
 また、スライスヘッダSHには、動画像復号装置1の備えるループフィルタ(不図示)によって参照されるフィルタパラメータが含まれていてもよい。
  (ツリーブロックレイヤ)
 ツリーブロックレイヤでは、処理対象のツリーブロックCTU(以下、対象ツリーブロックとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。ツリーブロックCTBは、スライス(ピクチャ)を固定サイズに分割するブロックである。なお、固定サイズのブロックであるツリーブロックにおいて、領域の画像データ(画素)に注目する場合には、ツリーブロック、領域の画像データだけではなく、画像データを復号するための情報(例えば分割情報等)も含める場合には、ツリーユニットと呼ぶことがある。以下、区別せずに単にツリーブロックCTUと呼ぶ。以下、符号化ツリー、符号化ユニットなども、対応する領域の画像データだけではなく、画像データを復号するための情報(例えば分割情報等)も含めて扱う。
 ツリーブロックCTUは、ツリーブロックヘッダCTUHと、符号化単位情報CQTを含む。ここで、まず、ツリーブロックCTUと、符号化ツリーCTとの関係について説明すると次のとおりである。
 ツリーブロックCTUは、スライス(ピクチャ)を固定サイズに分割するユニットである。
 ツリーブロックCTUは、符号化ツリー(CT)を有する。符号化ツリー(CT)は、再帰的な4分木分割により分割されている。この再帰的な4分木分割により得られる木構造及びそのノードのことを以下、符号化ツリー(coding tree)と称する。
 以下、符号化ツリーの末端のノードであるリーフ(leaf)に対応するユニットを、符号化ノード(coding node)として参照する。また、符号化ノードは、符号化処理の基本的な単位となるため、以下、符号化ノードのことを、符号化単位(CU)とも称する。つまり、最上位の符号化ツリーCTが、CTU(CQT)であり、末端の符号化ツリーCTが、CUである。
 つまり、符号化単位情報CU~CUNLは、ツリーブロックCTUを再帰的に4分木分割して得られる各符号化ノード(符号化単位)に対応する情報である。
 また、符号化ツリーのルート(root)は、ツリーブロックCTUに対応付けられる。換言すれば、ツリーブロックCTU(CQT)は、複数の符号化ノード(CT)を再帰的に含む4分木分割の木構造の最上位ノードに対応付けられる。
 なお、各符号化ノードのサイズは、当該符号化ノードが直接に属する符号化ノード(すなわち、当該符号化ノードの1階層上位のノードのユニット)のサイズの縦横とも半分である。
 また、各符号化ノードの取り得るサイズは、符号化データ#1のシーケンスパラメータセットSPSに含まれる、符号化ノードのサイズ指定情報および最大階層深度(maximum hierarchical depth)(または最大分割深度も称する)に依存する。例えば、ツリーブロックCTUのサイズが128×128画素であって、最大階層深度MaxCqtDepthが4である場合には、当該ツリーブロックCTU以下の階層における符号化ノードは、5種類のサイズ、すなわち、階層深度(分割深度も称する)CqtDepth=0の128×128画素、階層深度CqtDepth=1の64×64画素、階層深度CqtDepth=2の32×32画素、階層深度CqtDepth=3の16×16画素、および階層深度CqtDepth=4の8×8画素の何れかを取り得る。
  (ツリーブロックヘッダ)
 ツリーブロックヘッダCTUHには、対象ツリーブロックの復号方法を決定するために動画像復号装置1が参照する符号化パラメータが含まれる。具体的には、図3の(c)に示すように、対象ツリーブロックのフィルタ方法を指定するSAOが含まれる。CTUHなど、CTUに含まれる情報を符号化ツリーユニット情報(CTU情報)と呼ぶ。
  (符号化ツリー)
 符号化ツリーCTは、ツリーブロックを分割するための情報であるツリーブロック分割情報SPを有する。例えば、具体的には、図3の(d)に示すように、ツリーブロック分割情報SPは、対象ツリーブロック全体またはツリーブロックの部分領域を四分割するか否かを示す識別子であるCU分割識別子(split_cu_idx)であってもよい。CU分割識別子split_cu_idxが1の場合には、符号化ツリーCTをさらに4つの符号化ツリーCTに分割する。split_cu_idxが0の場合には、符号化ツリーCTは分割されない末端ノードであることを意味する。符号化ツリーが有するCU分割フラグsplit_cu_idxなどの情報を符号化ツリー情報(CT情報)と呼ぶ。CT情報は、当該符号化ツリーをさらに分割するか否かを示すCU分割フラグsplit_cu_idxの他、当該符号化ツリーとそれ以下の符号化ユニットで適用されるパラメータを含んでいても良い。なお、CU分割識別子split_cu_idxは四分木分割するか否かを示す2値に限定されず、例えば、split_cu_idx=2のとき、符号化ツリーCTはさらに水平方向に二分木分割される(後述のN×2N)、split_cu_idx=3のときに、符号化ツリーCTはさらに垂直方向に二分木分割される(後述の2N×N)、というようにCU分割方法を割り当ててもよい。また、CU分割識別子split_cu_idxと各分割方法の対応付けは実施可能な範囲で変更可能である。
  (CUレイヤ)
 CUレイヤでは、処理対象のCU(以下、対象CUとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。
 ここで、符号化単位情報CUに含まれるデータの具体的な内容の説明をする前に、CUに含まれるデータの木構造について説明する。符号化ノードは、予測ツリー(predictiontree;PT)および変換ツリー(transform tree;TT)のルートのノードとなる。予測ツリーおよび変換ツリーについて説明すると次のとおりである。
 予測ツリーにおいては、符号化ノードが1または複数の予測ブロックに分割され、各予測ブロックの位置とサイズとが規定される。別の表現でいえば、予測ブロックは、符号化ノードを構成する1または複数の重複しない領域である。また、予測ツリーは、上述の分割により得られた1または複数の予測ブロックを含む。
 予測処理は、この予測ブロックごとに行われる。以下、予測の単位である予測ブロックのことを、予測単位(prediction unit;PU)とも称する。
 予測ツリーにおける分割の種類は、大まかにいえば、イントラ予測の場合と、インター予測の場合との2つがある。
 イントラ予測の場合、分割方法は、2N×2N(符号化ノードと同一サイズ)と、N×Nとがある。
 また、インター予測の場合、分割方法は、2N×2N(符号化ノードと同一サイズ)、2N×N、N×2N、および、N×Nなどがある。
 また、変換ツリーにおいては、符号化ノードが1または複数の変換ブロックに分割され、各変換ブロックの位置とサイズとが規定される。別の表現でいえば、変換ブロックは、符号化ノードを構成する1または複数の重複しない領域のことである。また、変換ツリーは、上述の分割より得られた1または複数の変換ブロックを含む。
 変換処理は、この変換ブロックごとに行われる。以下、変換の単位である変換ブロックのことを、変換単位(transform unit;TU)とも称する。
  (符号化単位情報のデータ構造)
 続いて、図3の(e)を参照しながら符号化単位情報CUに含まれるデータの具体的な内容について説明する。図3の(e)に示すように、符号化単位情報CUは、具体的には、CU情報(スキップフラグSKIP、CU予測タイプ情報Pred_type)、PT情報PTI、および、TT情報TTIを含む。
   [スキップフラグ]
 スキップフラグSKIPは、対象CUについて、スキップモードが適用されているか否かを示すフラグ(skip_flag)であり、スキップフラグSKIPの値が1の場合、すなわち、対象CUにスキップモードが適用されている場合、その符号化単位情報CUにおけるPT情報PTI、TT情報TTIは省略される。なお、スキップフラグSKIPは、Iスライスでは省略される。
   [CU予測タイプ情報]
 CU予測タイプ情報Pred_typeは、CU予測方式情報(PredMode)およびPU分割タイプ情報(PartMode)を含む。
 CU予測方式情報(PredMode)は、対象CUに含まれる各PUについての予測画像生成方法として、スキップモード、イントラ予測(イントラCU)、および、インター予測(インターCU)のいずれを用いるのかを指定するものである。なお、以下では、対象CUにおける、スキップ、イントラ予測、および、インター予測の種別を、CU予測モードと称する。
 PU分割タイプ情報(PartMode)は、対象符号化単位(CU)の各PUへの分割のパターンであるPU分割タイプを指定するものである。以下、このように、PU分割タイプに従って、対象符号化単位(CU)を各PUへ分割することをPU分割と称する。
 PU分割タイプ情報(PartMode)は、例示的には、PU分割パターンの種類を示すインデックスであってもよいし、対象予測ツリーに含まれる各PUの形状、サイズ、および、対象予測ツリー内での位置が指定されていてもよい。なお、PU分割は、予測単位分割タイプとも呼称される。
 なお、選択可能なPU分割タイプは、CU予測方式とCUサイズに応じて異なる。また、さらにいえば、選択可能できるPU分割タイプは、インター予測およびイントラ予測それぞれの場合において異なる。また、PU分割タイプの詳細については後述する。
 また、Iスライスでない場合、CU予測方式情報(PredMode)の値およびPU分割タイプ情報(PartMode)の値は、CU分割識別子 (split_cu_idx)、スキップフラグ(skip_flag)、マージフラグ(merge_flag;後述)、CU予測方式情報(PredMode)、およびPU分割タイプ情報(PartMode)の組み合わせを指定するインデックス(cu_split_pred_part_mode)によって特定されるようになっていてもよい。cu_split_pred_part_modeのようなインデックスのことを結合シンタックス(あるいは、ジョイント符号)とも称する。
   [PT情報]
 PT情報PTIは、対象CUに含まれるPTに関する情報である。言い換えれば、PT情報PTIは、PTに含まれる1または複数のPUそれぞれに関する情報の集合である。上述のとおり予測画像の生成は、PUを単位として行われるので、PT情報PTIは、動画像復号装置1によって予測画像が生成される際に参照される。PT情報PTIは、図3の(d)に示すように、各PUにおける予測情報等を含むPU情報PUI~PUINP(NPは、対象PTに含まれるPUの総数)を含む。
 予測情報PUIは、予測タイプ情報Pred_modeが何れの予測方法を指定するのかに応じて、イントラ予測情報、または、インター予測情報を含む。以下では、イントラ予測が適用されるPUをイントラPUとも呼称し、インター予測が適用されるPUをインターPUとも呼称する。
 インター予測情報は、動画像復号装置1が、インター予測によってインター予測画像を生成する際に参照される符号化パラメータを含む。
 インター予測パラメータとしては、例えば、マージフラグ(merge_flag)、マージインデックス(merge_idx)、推定動きベクトルインデックス(mvp_idx)、参照画像インデックス(ref_idx)、インター予測フラグ(inter_pred_flag)、および動きベクトル残差(mvd)が挙げられる。
 イントラ予測情報は、動画像復号装置1が、イントラ予測によってイントラ予測画像を生成する際に参照される符号化パラメータを含む。
 イントラ予測パラメータとしては、例えば、推定予測モードフラグ、推定予測モードインデックス、および、残余予測モードインデックスが挙げられる。
 なお、イントラ予測情報では、PCMモードを用いるか否かを示すPCMモードフラグが符号化されていてもよい。PCMモードフラグが符号化されている場合であって、PCMモードフラグがPCMモードを用いることを示しているときには、予測処理(イントラ)、変換処理、および、エントロピー符号化の各処理が省略される。
   [TT情報]
 TT情報TTIは、CUに含まれるTTに関する情報である。言い換えれば、TT情報TTIは、TTに含まれる1または複数のTUそれぞれに関する情報の集合であり、動画像復号装置1により残差データを復号する際に参照される。なお、以下、TUのことをブロックと称することもある。
 TT情報TTIは、図3の(e)に示すように、対象CUが残差データを含むか否かを示す情報CU残差フラグCBP_TU、対象CUの各変換ブロックへの分割パターンを指定するTT分割情報SP_TU、および、TU情報TUI1~TUINT(NTは、対象CUに含まれるブロックの総数)を含んでいる。
 CU残差フラグCBP_TUが0の場合には、対象CUは残差データ、すなわち、TT情報TTIを含まない。CU残差フラグCBP_TUが1の場合には、対象CUは残差データ、すなわち、TT情報TTIを含む。CU残差フラグCBP_TUは、例えば、対象ブロック以下を分割して得られる残差ブロックの全てにおいて残差が存在しないことを示す、残差ルートフラグrqt_root_cbf(Residual Quad Tree Root Coded Block Flag)であっても良い。TT分割情報SP_TUは、具体的には、対象CUに含まれる各TUの形状、サイズ、および、対象CU内での位置を決定するための情報である。例えば、TT分割情報SP_TUは、対象となるノードの分割を行うのか否かを示すTU分割フラグ(split_transform_flag)と、その分割の深度を示すTU深度(TU階層、trafoDepth)とから実現することができる。TU分割フラグsplit_transform_flagは変換(逆変換)を行う変換ブロックを分割するか否かを示すフラグであり、分割する場合にはさらに小さなブロックを用いて変換(逆変換、逆量子化、量子化)が行われる。
 また、例えば、CUのサイズが、64×64の場合、分割により得られる各TUは、32×32画素から4×4画素までのサイズを取り得る。
 TU情報TUI1~TUINTは、TTに含まれる1または複数のTUそれぞれに関する個別の情報である。例えば、TU情報TUIは、量子化予測残差を含んでいる。
 各量子化予測残差は、動画像符号化装置2が以下の処理1~3を、処理対象のブロックである対象ブロックに施すことによって生成した符号化データである。
 処理1:符号化対象画像から予測画像を減算した予測残差をDCT変換(Discrete Cosine Transform)する;
 処理2:処理1にて得られた変換係数を量子化する;
 処理3:処理2にて量子化された変換係数を可変長符号化する;
 なお、上述した量子化パラメータqpは、動画像符号化装置2が変換係数を量子化する際に用いた量子化ステップQPの大きさを表す(QP=2qp/6)。
  (PU分割タイプ)
 PU分割タイプ(PartMode)には、対象CUのサイズを2N×2N画素とすると、次の合計8種類のパターンがある。すなわち、2N×2N画素、2N×N画素、N×2N画素、およびN×N画素の4つの対称的分割(symmetric splittings)、並びに、2N×nU画素、2N×nD画素、nL×2N画素、およびnR×2N画素の4つの非対称的分割(asymmetric splittings)である。なお、N=2(mは1以上の任意の整数)を意味している。以下、対称CUを分割して得られる領域のことをパーティションとも称する。
 図5の(a)~(h)に、それぞれの分割タイプについて、CUにおけるPU分割の境界の位置を具体的に図示している。
 なお、同図の(a)は、CUの分割を行わない2N×2NのPU分割タイプを示している。
 また、同図の(b)、(c)、および(d)は、それぞれ、PU分割タイプが、それぞれ、2N×N、2N×nU、および、2N×nDである場合のパーティションの形状について示している。以下、PU分割タイプが、2N×N、2N×nU、および、2N×nDである場合のパーティションを、まとめて横長パーティションと称する。
 また、同図の(e)、(f)、および(g)は、それぞれ、PU分割タイプが、N×2N、nL×2N、および、nR×2Nである場合のパーティションの形状について示している。以下、PU分割タイプが、N×2N、nL×2N、および、nR×2Nである場合のパーティションを、まとめて縦長パーティションと称する。
 また、横長パーティションおよび縦長パーティションをまとめて長方形パーティションと称する。
 また、同図の(h)は、PU分割タイプが、N×Nである場合のパーティションの形状を示している。同図の(a)および(h)のPU分割タイプのことを、そのパーティションの形状に基づいて、正方形分割とも称する。また、同図の(b)~(g)のPU分割タイプのことは、非正方形分割とも称する。
 また、同図の(a)~(h)において、各領域に付した番号は、領域の識別番号を示しており、この識別番号順に、領域に対して処理が行われる。すなわち、当該識別番号は、領域のスキャン順を表している。
 また、同図の(a)~(h)において、左上がCUの基準点(原点)であるとする。
   [インター予測の場合の分割タイプ]
 インターPUでは、上記8種類の分割タイプのうち、N×N(同図の(h))以外の7種類が定義されている。なお、上記4つの非対称的分割は、AMP(Asymmetric Motion Partition、非対称パーティション)と呼ばれることもある。一般に、非対称パーティションにより分割されるCUには、形状またはサイズが異なるパーティションが含まれている。また、対称的分割は、対称パーティションと呼ばれることもある。一般に、対称パーティションにより分割されるCUには、形状およびサイズが一致するパーティションが含まれている。
 なお、上述のNの具体的な値は、当該PUが属するCUのサイズによって規定され、nU、nD、nL、および、nRの具体的な値は、Nの値に応じて定められる。例えば、128×128画素のインターCUは、128×128画素、128×64画素、64×128画素、64×64画素、128×32画素、128×96画素、32×128画素、および、96×128画素のインターPUへ分割することが可能である。
   [イントラ予測の場合の分割タイプ]
 イントラPUでは、次の2種類の分割パターンが定義されている。すなわち、対象CUを分割しない、すなわち対象CU自身が1つのPUとして取り扱われる分割パターン2N×2Nと、対象CUを、4つのPUへと対称的に分割するパターンN×Nと、である。
 したがって、イントラPUでは、同図に示した例でいえば、(a)および(h)の分割パターンを取ることができる。
 例えば、128×128画素のイントラCUは、128×128画素、および、64×64画素のイントラPUへ分割することが可能である。
 なお、Iスライスの場合、符号化単位情報CUにおいて、PU分割タイプ(PartMode)を特定するためのイントラ分割モード(intra_part_mode)が含まれていてもよい。
 〔動画像復号装置〕
 以下では、本実施形態に係る動画像復号装置1の構成について、図1~図23を参照して説明する。
  (動画像復号装置の概要)
 動画像復号装置1は、PU毎に予測画像を生成し、生成された予測画像と、符号化データ#1から復号された予測残差とを加算することによって復号画像#2を生成し、生成された復号画像#2を外部に出力する。
 ここで、予測画像の生成は、符号化データ#1を復号することによって得られる符号化パラメータを参照して行われる。符号化パラメータとは、予測画像を生成するために参照されるパラメータのことである。符号化パラメータには、画面間予測(イントラ予測とも称する)において参照される動きベクトルや画面内予測において参照される予測モードなどの予測パラメータに加えて、PUのサイズや形状、ブロックのサイズや形状、および、原画像と予測画像との残差データなどが含まれる。以下では、符号化パラメータに含まれる情報のうち、上記残差データを除く全ての情報の集合を、サイド情報と呼ぶ。
 また、以下では、復号の対象となるピクチャ(フレーム)、スライス、ツリーブロック、ブロック、および、PUをそれぞれ、対象ピクチャ、対象スライス、対象ツリーブロック、対象ブロック、および、対象PUと呼ぶことにする。
 なお、ツリーブロックのサイズは、例えば64×64画素であり、PUのサイズは、例えば、64×64画素、32×32画素、16×16画素、8×8画素や4×4画素などである。しかしながら、これらのサイズは、単なる例示であり、ツリーブロックおよびPUのサイズは以上に示したサイズ以外のサイズであってもよい。
  (動画像復号装置の構成)
 再び、図2を参照して、動画像復号装置1の概略的構成について説明すると次のとおりである。図2は、動画像復号装置1の概略的構成について示した機能ブロック図である。
 図2に示すように動画像復号装置1は、復号モジュール10、CU情報復号部11、PU情報復号部12、TU情報復号部13、予測画像生成部14、逆量子化・逆変換部15、フレームメモリ16および加算器17を備えている。
   [基本復号フロー]
 図4は、動画像復号装置1の概略的動作を説明するフローチャートである。
 (S1100) 復号モジュール10は、符号化データ#1からSPS、PPSなどのパラメータセット情報を復号する。
 (S1200) 復号モジュール10は、符号化データ#1からスライスヘッダ(スライス情報)を復号する。
 以下、復号モジュール10は、対象ピクチャに含まれる各CTBについて、S1300からS4000の処理を繰り返すことにより各CTBの復号画像を導出する。
 (S1300) CU情報復号部11は、符号化データ#1から符号化ツリーユニット情報(CTU情報)を復号する。
 (S1400) CU情報復号部11は、符号化データ#1から符号化ツリー情報(CT情報)を復号する。
 (S1500) CU情報復号部11は、符号化データ#1から符号化ユニット情報(CU情報)を復号する。
 (S1600) PU情報復号部12は、符号化データ#1から予測ユニット情報(PT情報PTI)を復号する。
 (S1700) TU情報復号部13は、符号化データ#1から変換ユニット情報(TT情報TTI)を復号する。
 (S2000) 予測画像生成部14は、対象CUに含まれる各PUについて、PT情報PTIに基づいて予測画像を生成する。
 (S3000) 逆量子化・逆変換部15は、対象CUに含まれる各TUについて、TT情報TTIに基づいて逆量子化・逆変換処理を実行する。
 (S4000) 復号モジュール10は、加算器17により、予測画像生成部14より供給される予測画像Predと、逆量子化・逆変換部15より供給される予測残差Dとを加算することによって、対象CUについての復号画像Pを生成する。
 (S5000) 復号モジュール10は、復号画像Pにデブロッキングフィルタやサンプル適応フィルタ(SAO)などのループフィルタをかける。
 以下、各モジュールの概略動作を説明する。
   [復号モジュール]
 復号モジュール10は、バイナリからシンタックス値を復号する復号処理を行う。復号モジュール10は、より具体的には、供給元から供給される符号化データおよびシンタックス種別に基づいて、CABACおよびCAVLC等のエントロピー符号化方式により符号化されているシンタックス値を復号し、復号したシンタックス値を供給元に返す。
 以下に示す例では、符号化データおよびシンタックス種別の供給元は、CU情報復号部11、PU情報復号部12、およびTU情報復号部13である。
   [CU情報復号部]
 CU情報復号部11は、復号モジュール10を用いて、動画像符号化装置2から入力された1フレーム分の符号化データ#1について、ツリーブロックおよびCUレベルでの復号処理を行う。CU情報復号部11は、具体的には、以下の手順により符号化データ#1から、CTU情報、CT情報、CU情報、PT情報PTI、TT情報TTIを復号する。
 まず、CU情報復号部11は、符号化データ#1に含まれる各種ヘッダを参照して、符号化データ#1を、スライス、ツリーブロックに順次分離する。
 ここで、各種ヘッダには、(1)対象ピクチャのスライスへの分割方法についての情報、および(2)対象スライスに属するツリーブロックのサイズ、形状および対象スライス内での位置についての情報が含まれる。
 そして、CU情報復号部11は、CT情報として、ツリーブロックヘッダCTUHに含まれるツリーブロック分割情報SP_CTUを復号し、対象ツリーブロックを、CUに分割する。次に、CU情報復号部11は、分割により得られたCUに対応する符号化単位情報(以下、CU情報と称する)を取得する。CU情報復号部11は、ツリーブロックに含まれる各CUを順に対象CUとして、対象CUに対応するCU情報の復号処理を実行する。
 CU情報復号部11は、対象CUについて得られる変換ツリーに関するTT情報TTI、および、対象CUについて得られる予測ツリーに関するPT情報PTIを逆多重化する。
 なお、TT情報TTIには、上述のとおり、変換ツリーに含まれるTUに対応するTU情報TUIが含まれる。また、PT情報PTIには、上述のとおり、対象予測ツリーに含まれるPUに対応するPU情報PUIが含まれる。
 CU情報復号部11は、対象CUについて得られたPT情報PTIをPU情報復号部12に供給する。また、CU情報復号部11は、対象CUについて得られたTT情報TTIをTU情報復号部13に供給する。
 より詳細には、CU情報復号部11は、図6に示すように以下の動作を行う。同図は、発明の一実施形態に係るCU情報復号部11(CTU情報復号S1300、CT情報復号S1400)の概略的動作を説明するフローチャートである。
 図17は、本発明の一実施形態に係るCU情報のシンタックス表の構成例を示す図である。
 (S1311) CU情報復号部11は、符号化データ#1からCTU情報を復号し、再帰的に分割される符号化ツリーCTを管理するための変数を初期化する。具体的には、下記式のように、符号化ツリーの階層を示すCT階層(CT深度、CU階層、CU深度、分割深度)cqtDepthに0を設定し、符号化ユニットサイズであるCUサイズ(ここでは対数CUサイズlog2CbSize=変換ツリーブロックのサイズ)として符号化ツリーブロックのサイズであるCTBサイズCtbLog2SizeY(CtbLog2Size)を設定する。
 cqtDepth = 0
 log2CbSize = CtbLog2SizeY
 なお、CT階層(CT深度)cqtDepthは最上位階層で0とし、下位層が深くなるにつれて1つずつ大きくなるものとするが、これに限らない。上記では、CUサイズ及びCTBサイズを2の指数乗(4, 8, 16, 32, 64, 128, 256, …など)に限定することで、これらブロックのサイズを2を底とする対数で扱っているが、これに限らない。なお、ブロックサイズが4, 8, 16, 32, 64, 128, 256の場合、各々2, 3, 4, 5, 6, 7, 8が対数値となる。
 以下、CU情報復号部11は再帰的に、符号化ツリーTU(coding_quadtree)を復号する(S1400)。CU情報復号部11は、最上位(ルート)の符号化ツリーcoding_quadtree( xCtb, yCtb, CtbLog2SizeY, 0 )を復号する(SYN1400)。なお、xCtb, yCtbはCTBの左上座標、CtbLog2SizeYはCTBのブロックサイズ(例えば64, 128, 256)である。
 (S1411) CU情報復号部11は、対数CUサイズlog2CbSizeが所定の最小CUサイズMinCbLog2SizeY(最小変換ブロックサイズ)より大きいか否かを判定する(SYN1411)。対数CUサイズlog2CbSizeがMinCbLog2SizeYより大きい場合には、S1421に遷移し、それ以外の場合S1422に遷移する。
 (S1421) CU情報復号部11は、対数CUサイズlog2CbSizeがMinCbLog2SizeYより大きいと判定された場合には、SYN1421に示すシンタックス要素であるCU分割フラグ(split_cu_flag)を復号する。
 (S1422) CU情報復号部11は、それ以外の場合(対数CUサイズlog2CbSizeがMinCbLog2SizeY以下)、つまり、符号化データ#1にCU分割識別子split_cu_idxが現れない場合には、符号化データ#1からのCU分割識別子split_cu_idxの復号を省略し、CU分割識別子split_cu_idxを0として導出する。
 (S1431) CU情報復号部11は、CU分割識別子split_cu_idxが0以外(=1)である場合(SYN1431)には、対象符号化ツリーに含まれる1つ以上の符号化ツリーを復号する。ここでは、対数CTサイズlog2CbSize - 1、CT階層 cqtDepth + 1である位置(x0, y0)、(x1, y0)、(x0, y1)、(x1, y1)の4つの下位の符号化ツリーCTを復号する。CU情報復号部11は、下位の符号化ツリーCTにおいても、S1411から開始されるCT復号処理S1400を継続する。
 coding_quadtree( x0, y0, log2CbSize - 1, cqtDepth + 1 ) (SYN1441A)
 coding_quadtree( x1, y0, log2CbSize - 1, cqtDepth + 1 ) (SYN1441B)
 coding_quadtree( x0, y1, log2CbSize - 1, cqtDepth + 1 ) (SYN1441C)
 coding_quadtree( x1, y1, log2CbSize - 1, cqtDepth + 1 ) (SYN1441D)
 ここで、x0, y0は、対象符号化ツリーの左上座標、x1、y1は、以下の式のように、CT座標に、対象CTサイズ(1<< log2CbSize)の1/2を加えて導出される座標である。
 x1 = x0 + ( 1<<( log2CbSize - 1 ) )
 y1 = y0 + ( 1<<( log2CbSize - 1 ) )
 なお、<<は左シフトを示す。1<<Nは2Nと同値である(以下同様)。同様に以下>>は右シフトを示す。
 それ以外の場合(CU分割フラグsplit_cu_flagが0の場合)には、符号化ユニットを復号するためS1500に遷移する。
 (S1441) 上述のように、再帰的に符号化ツリーcoding_quadtreeを復号する前に、以下の式により、符号化ツリーの階層を示すCT階層cqtDepthに1を加算し、符号化ユニットサイズである対数CUサイズlog2CbSizeを1だけ減算(符号化ユニットサイズを1/2)して更新する。
 cqtDepth=cqtDepth+1
 log2CbSize=log2CbSize-1
 (S1500)CU情報復号部11は、符号化ユニットCUcoding_unit( x0, y0, log2CbSize )を復号する(SYN1450)。ここで、x0, y0は、符号化ユニットの座標である。符号化ツリーのサイズであるlog2CbSizeは、ここでは符号化ユニットのサイズに等しい。
   [PU情報復号部]
 PU情報復号部12は、復号モジュール10を用いて、CU情報復号部11から供給されるPT情報PTIについて、PUレベルでの復号処理を行う。PU情報復号部12は、具体的には、以下の手順によりPT情報PTIを復号する。
 PU情報復号部12は、PU分割タイプ情報Part_typeを参照して、対象予測ツリーにおけるPU分割タイプを決定する。続いて、PU情報復号部12は、対象予測ツリーに含まれる各PUを順に対象PUとして、対象PUに対応するPU情報の復号処理を実行する。
 すなわち、PU情報復号部12は、対象PUに対応するPU情報から、予測画像の生成に用いられる各パラメータの復号処理を行う。
 PU情報復号部12は、対象PUについて復号したPU情報を、予測画像生成部14に供給する。
 より詳細には、CU情報復号部11及びPU情報復号部12は、図14に示すように以下の動作を行う。同図は、S1600に示されるPU情報復号の概略的動作を説明するフローチャートである。
 図18は、本発明の一実施形態に係るCU情報、PT情報PTI、TT情報TTIのシンタックス表の構成例を示す図である。図19は、本発明の一実施形態に係るPT情報PTIのシンタックス表の構成例を示す図である。
 S1511 CU情報復号部11は、符号化データ#1からスキップフラグskip_flagを復号する。
 S1512 CU情報復号部11は、スキップフラグskip_flagが0以外(=1)か否かを判定する。スキップフラグskip_flagが0以外(=1)の場合には、PU情報復号部12は、符号化データ#1からの予測タイプPred_typeであるCU予測方式情報PredModeとPU分割タイプ情報PartModeの復号を省略し、各々、インター予測、分割しない(2N×2N)を導出する。また、スキップフラグskip_flagが0以外(=1)の場合には、TU情報復号部13は、S1700で示される符号化データ#1からのTT情報TTIの復号処理を省略し、対象CUはTU分割なし、かつ、対象CUの量子化予測残差TransCoeffLevel[][]が0であると導出する。
 S1611 PU情報復号部12は、符号化データ#1からCU予測方式情報PredMode(シンタックス要素pred_mode_flag)を復号する。
 S1621 PU情報復号部12は、符号化データ#1からPU分割タイプ情報PartMode(シンタックス要素part_mode)を復号する。
 S1631 PU情報復号部12は、PU分割タイプ情報Part_typeの示すPU分割数に応じて対象CUが含む各PU情報を符号化データ#1から復号する。
 例えば、PU分割タイプが2Nx2Nの場合には、CUを1つのPUとする下記の1つのPU情報PUIを復号する。
 prediction_unit( x0, y0, nCbS, nCbS ) (SYN1631A)
 PU分割タイプが2NxNの場合には、CUを上下に分割する下記の2つのPU情報PUIを復号する。
 prediction_unit( x0, y0, nCbS, nCbS ) (SYN1631B)
 prediction_unit( x0, y0 + ( nCbS / 2 ), nCbS, nCbS / 2 ) (SYN1631C)
 PU分割タイプがNx2Nの場合には、CUを左右に分割する下記の2つのPU情報PUIを復号する。
 prediction_unit( x0, y0, nCbS, nCbS ) (SYN1631D)
 prediction_unit( x0 + ( nCbS / 2 ), y0, nCbS / 2, nCbS ) (SYN1631E)
 PU分割タイプがNxNの場合には、CUを四等分する下記の4つのPU情報PUIを復号する。
 prediction_unit( x0, y0, nCbS, nCbS ) (SYN1631F)
 prediction_unit( x0 + ( nCbS / 2 ), y0, nCbS / 2, nCbS ) (SYN1631G)
 prediction_unit( x0, y0 + ( nCbS / 2 ), nCbS, nCbS / 2 ) (SYN1631H)
 prediction_unit( x0 + ( nCbS / 2 ), y0 + ( nCbS / 2 ), nCbS / 2, nCbS / 2 ) (SYN1631I)
 S1632 スキップフラグが1の場合は、PU分割タイプを2Nx2Nとし、1つのPU情報PUIを復号する。
 prediction_unit( x0, y0, nCbS, nCbS ) (SYN1631S)
 S1700 発明の一実施形態に係るCU情報復号部11(CU情報復号S1500)、PU情報復号部12(PU情報復号S1600)、TU情報復号部13(TT情報復号S1700)の概略的動作を説明するフローチャートである。
   [TU情報復号部]
 TU情報復号部13は、復号モジュール10を用いて、CU情報復号部11から供給されるTT情報TTIについて、TUレベルでの復号処理を行う。TU情報復号部13は、具体的には、以下の手順によりTT情報TTIを復号する。
 TU情報復号部13は、TT分割情報SP_TUを参照して、対象変換ツリーをノードまたはTUに分割する。なお、TU情報復号部13は、対象ノードについて、さらに分割を行うことが指定されていれば、再帰的にTUの分割処理を行う。
 分割処理が終了すると、TU情報復号部13は、対象予測ツリーに含まれる各TUを順に対象TUとして、対象TUに対応するTU情報の復号処理を実行する。
 すなわち、TU情報復号部13は、対象TUに対応するTU情報から、変換係数の復元に用いられる各パラメータの復号処理を行う。
 TU情報復号部13は、対象TUについて復号したTU情報を、逆量子化・逆変換部15に供給する。
 より詳細には、TU情報復号部13は、図15に示すように以下の動作を行う。同図は、発明の一実施形態に係るTU情報復号部13(TT情報復号S1700)の概略的動作を説明するフローチャートである。
 (S1711) TU情報復号部13は、符号化データ#1から対象CUが0以外の残差(量子化予測残差)を有するか否かを示すCU残差フラグrqt_root_cbf(SYN1711に示すシンタックス要素)を復号する。
 (S1712) TU情報復号部13は、CU残差フラグrqt_root_cbfが0以外(=1)の場合(SYN1712)、TUを復号するためにS1721に遷移する。逆に、CU残差フラグrqt_root_cbfが0の場合には、対象CUのTT情報TTIを符号化データ#1から復号する処理を省略し、TT情報TTIとして、対象CUはTU分割なし、かつ、対象CUの量子化予測残差が0であるとして導出する。
 (S1713) TU情報復号部13は、再帰的に分割される変換ツリーを管理するための変数を初期化する。具体的には、下記式のように、変換ツリーの階層を示すTU階層trafoDepthに0を設定し、変換ユニットサイズであるTUサイズ(ここでは対数TUサイズlog2TrafoSize)として符号化ユニットのサイズ(ここでは対数CTサイズlog2CbSize)を設定する。
 trafoDepth = 0
 log2TrafoSize = log2CbSize
 続いて、最上位(ルート)の変換ツリーtransform_tree( x0, y0, x0, y0, log2CbSize, 0, 0 )を復号する(SYN1720)。ここで、x0, y0は、対象CUの座標である。
 以下、TU情報復号部13は再帰的に、変換ツリーTU(transform_tree)を復号する(S1720)。変換ツリーTUは、再帰的な分割により得られるリーフノード(変換ブロック)のサイズが所定のサイズになるように分割される。つまり、変換の最大サイズMaxTbLog2SizeY以下、最小サイズMinTbLog2SizeY以上になるように分割する。
 (S1721) TU情報復号部13に含まれるTU分割フラグ復号部は、対象TUサイズ(例えば対数TUサイズlog2TrafoSize)が、所定の変換サイズの範囲(ここではMaxTbLog2SizeY以下、MinTbLog2SizeYより大きい)にある、か、対象TUの階層trafoDepthが所定の階層MaxTrafoDepth未満の場合には、TU分割フラグ(split_transform_flag)を復号する。より具体的には、対数TUサイズlog2TrafoSize <=最大TUサイズMaxTbLog2SizeY かつ 対数TUサイズlog2TrafoSize > 最小TUサイズMinTbLog2SizeY かつ TU階層trafoDepth<最大TU階層MaxTrafoDepth の場合には、TU分割フラグ(split_transform_flag)を復号する。
 (S1731) TU情報復号部13に含まれるTU分割フラグ復号部は、S1721の条件に従って、TU分割フラグsplit_transform_flagを復号する。
 (S1732) TU情報復号部13に含まれるTU分割フラグ復号部は、それ以外の場合、つまり、符号化データ#1にsplit_transform_flagが現れない場合には、符号化データ#1からのTU分割フラグsplit_transform_flagの復号を省略し、対数TUサイズlog2TrafoSizeが最大TUサイズMaxTbLog2SizeYより大きい場合には、TU分割フラグsplit_transform_flagを分割する(=1)として導出し、それ以外の場合(対数TUサイズlog2TrafoSizeが最小TUサイズMaxTbLog2SizeYと等しい、または、TU階層trafoDepthが最大TU階層MaxTrafoDepthと等しい)には、TU分割フラグsplit_transform_flagを分割しない(=0)として導出する。
 (S1741) TU情報復号部13に含まれるTU分割フラグ復号部は、TU分割フラグsplit_transform_flagが分割することを示す0以外(=1)である場合には、対象符号化ユニットCUに含まれる変換ツリーを復号する。ここでは、対数CTサイズlog2CbSize - 1、TU階層 trafoDepth + 1 である位置(x0, y0)、(x1, y0)、(x0, y1)、(x1, y1)の4つの下位の変換ツリーTTを復号する。TU情報復号部13は、さらに下位の符号化ツリーTTにおいてもS1711から開始されるTT情報復号処理S1700を継続する。
 transform_tree( x0, y0, x0, y0, log2TrafoSize-1, trafoDepth+1, 0 ) (SYN1741A)
 transform_tree( x1, y0, x0, y0, log2TrafoSize-1, trafoDepth+1, 1 ) (SYN1741B)
 transform_tree( x0, y1, x0, y0, log2TrafoSize-1, trafoDepth+1, 2 ) (SYN1741C)
 transform_tree( x1, y1, x0, y0, log2TrafoSize-1, trafoDepth+1, 3 ) (SYN1741D)
 ここで、x0, y0は、対象変換ツリーの左上座標、x1、y1は、以下の式のように、変換ツリー座標(x0, y0)に、対象TUサイズ(1<<log2TrafoSize)の1/2を加えて導出される座標である。
 x1 = x0 + ( 1<<( log2TrafoSize - 1 ) )
 y1 = y0 + ( 1<<( log2TrafoSize - 1 ) )
 それ以外の場合(TU分割フラグsplit_transform_flagが0の場合)には、変換ユニットを復号するためS1751に遷移する。
 上述のように、再帰的に変換ツリーtransform_treeを復号する前に、以下の式により、変換ツリーの階層を示すTU階層trafoDepthに1を加算し、対象TUサイズである対数CTサイズlog2TrafoSizeを1だけ減算して更新する。
 trafoDepth=trafoDepth+1
 log2TrafoSize=log2TrafoSize-1
 (S1751)TU情報復号部13は、TU分割フラグsplit_transform_flagが0の場合に、対象TUに残差が含まれているかを示すTU残差フラグを復号する。ここでは、TU残差フラグとして、対象TUの輝度成分において残差が含まれているかを示す輝度残差フラグcbf_lumaを用いるがこれに限らない。
 (S1760)TU情報復号部13は、TU分割フラグsplit_transform_flagが0の場合に、SYN1760に示す変換ユニットTUtransform_unit( x0, y0, xBase, yBase, log2TrafoSize, trafoDepth, blkIdx )を復号する。
 図16は、発明の一実施形態に係るTU情報復号部13(TU情報復号S1600)の概略的動作を説明するフローチャートである。
 図20は、本発明の一実施形態に係るTT情報TTIのシンタックス表の構成例を示す図である。図21は、本発明の一実施形態に係るTU情報のシンタックス表の構成例を示す図である。
 (S1761)TU情報復号部13は、TUに残差が含まれているか(TU残差フラグが0以外か否か)を判定する。なお、ここ(SYN1761)では、TUに残差が含まれているかを、以下の式で導出されるcbfLuma || cbfChromaにより判定しているが、これに限らない。つまり、TU残差フラグとしては、対象TUの輝度成分に残差が含まれているかを示す輝度残差フラグcbf_lumaを用いても良い。
 cbfLuma = cbf_luma[ x0 ][ y0 ][ trafoDepth ] 
 cbfChroma = cbf_cb[ xC ][ yC ][ cbfDepthC ] | | cbf_cr[ xC ][ yC ][ cbfDepthC ])
 なお、cbf_cb、cbf_crは、符号化データ#1から復号されるフラグであり、対象TUの色差成分Cb、Crに残差が含まれているか、||は、論理和を示す。ここでは、TUの輝度位置(x0、y0)、色差位置(xC、yC)、TU深度trafoDepth、cfbDepthCのシンタックス要素cbf_luma、cbf_cb、cbf_crから輝度のTU残差フラグcbfLuma、色差のTU残差フラグcbfChromaを導出し、その和(論理和)を対象TUのTU残差フラグとして導出している。
 (S1771)TU情報復号部13は、TUに残差が含まれている場合(TU残差フラグが0以外の場合には、QP更新情報(量子化補正値)を復号する。ここで、QP更新情報は、量子化パラメータQPの予測値である量子化パラメータ予測値qPpredからの差分値を示す値である。ここでは、差分値は符号化データのシンタックス要素として絶対値cu_qp_delta_absと符号cu_qp_delta_sign_flagから復号するが、これに限らない。
 (S1781)TU情報復号部13は、TU残差フラグ(ここではcbfLuma)が0以外か否かを判定する。
 (S1800)TU情報復号部13は、TU残差フラグ(ここではcbfLuma)が0以外の場合には、量子化予測残差を復号する。なお、TU情報復号部13は、量子化予測残差として複数の色成分を順に復号しても良い。図の例では、TU情報復号部13は、TU残差フラグ(ここではcbfLuma)が0以外の場合には、輝度量子化予測残差(第1色成分)residual_coding( x0, y0, log2TrafoSize, 0 )、第2色成分残差フラグcbf_cbが0以外の場合にはresidual_coding( x0, y0, log2TrafoSize, 1 )、第3色成分量子化予測残差residual_coding( x0, y0, log2TrafoSizeC, 2 )を復号する。図22は、量子化予測残差residual_coding( x0, y0, log2TrafoSize, cIdx )のシンタックス表の一例である。TU情報復号部13は、図22のシンタックス表に従って、各シンタックスを復号する。
   [予測画像生成部]
 予測画像生成部14は、対象CUに含まれる各PUについて、PT情報PTIに基づいて予測画像を生成する。具体的には、予測画像生成部14は、対象予測ツリーに含まれる各対象PUについて、対象PUに対応するPU情報PUIに含まれるパラメータに従ってイントラ予測またはインター予測を行うことにより、復号済み画像である局所復号画像P’から予測画像Predを生成する。予測画像生成部14は、生成した予測画像Predを加算器17に供給する。
 なお、予測画像生成部14が、動き補償予測パラメータ(動きベクトル、参照画像インデックス、インター予測フラグ)に基づいて対象CUに含まれるPUの予測画像を生成する手法について説明すると以下のとおりである。
 インター予測フラグが単予測を示す場合、予測画像生成部14は、参照画像インデックスの示す参照画像の動きベクトルが示す場所に位置する復号画像に相当する予測画像を生成する。
 一方、インター予測フラグが双予測を示す場合には、予測画像生成部14は、2組の参照画像インデックスと動きベクトルとの組み合わせのそれぞれについて動き補償により予測画像を生成し、平均を算出することで、または、各予測画像を対象ピクチャと各参照画像との表示時間間隔に基づいて重み付け加算することで、最終的な予測画像を生成する。
   [逆量子化・逆変換部]
 逆量子化・逆変換部15は、対象CUに含まれる各TUについて、TT情報TTIに基づいて逆量子化・逆変換処理を実行する。具体的には、逆量子化・逆変換部15は、対象変換ツリーに含まれる各対象TUについて、対象TUに対応するTU情報TUIに含まれる量子化予測残差を逆量子化および逆直交変換することによって、画素毎の予測残差Dを復元する。なお、ここで直交変換とは、画素領域から周波数領域への直交変換のことを指す。したがって、逆直交変換は、周波数領域から画素領域への変換である。また、逆直交変換の例としては、逆DCT変換(Inverse Discrete Cosine Transform)、および逆DST変換(Inverse Discrete Sine Transform)等が挙げられる。逆量子化・逆変換部15は、復元した予測残差Dを加算器17に供給する。
   [フレームメモリ]
 フレームメモリ16には、復号された復号画像Pが、当該復号画像Pの復号に用いられたパラメータと共に、順次記録される。フレームメモリ16には、対象ツリーブロックを復号する時点において、当該対象ツリーブロックよりも先に復号された全てのツリーブロック(例えば、ラスタスキャン順で先行する全てのツリーブロック)に対応する復号画像が記録されている。フレームメモリ16に記録される復号パラメータの例としては、CU予測方式情報(PredMode)などが挙げられる。
   [加算器]
 加算器17は、予測画像生成部14より供給される予測画像Predと、逆量子化・逆変換部15より供給される予測残差Dとを加算することによって、対象CUについての復号画像Pを生成する。なお、加算器17は、さらに、後述のように、復号画像Pを拡大する処理を実行しても良い。
 なお、動画像復号装置1において、画像内の全てのツリーブロックに対して、ツリーブロック単位の復号画像生成処理が終わった時点で、動画像復号装置1に入力された1フレーム分の符号化データ#1に対応する復号画像#2が外部に出力される。
 <実施例1>
 本発明の動画像復号装置1は、ピクチャを符号化ツリーブロック単位に分割して復号する画像復号装置で、符号化ツリーブロックを、ルートの符号化ツリーとして再帰的に分割する符号化ツリー分割部を備え、符号化ツリーを分割するか否かを示す、CU分割識別子split_cu_idx[x0][y0]を復号する算術復号部(CU分割識別子復号手段)を備える。ここで、[x0][y0]は、符号化ツリー(以下、対象CU)の最左上画素の座標を表わす。
 図1は、CU分割識別子split_cu_idx[x0][y0]を復号する算術復号部191(CU分割識別子復号手段、算術復号装置)の構成を示すブロック図である。図1に示すように、算術復号部191は、算術符号復号部115、及びCU分割識別子復号部113を備える。
  (算術符号復号部115)
 算術符号復号部115は、符号化データに含まれる各ビットを、コンテキストを参照して復号するための構成であり、図1に示すように、コンテキスト記録更新部116、及びビット復号部117を備えている。
   (コンテキスト記録更新部116)
 コンテキスト記録更新部116は、各シンタックスに関連付けられた各コンテキストインデックスctxIdxによって管理されるコンテキスト変数CVを記録及び更新するための構成である。ここで、コンテキスト変数CVには、(1)生起確率が高い優勢シンボルMPS(Most Probable Symbol)と、(2)その優勢シンボルMPSの生起確率を指定する確率状態インデックスpStateIdxとが含まれている。
 コンテキスト記録更新部116は、供給されるバイパスフラグBypassFlagが0の場合、すなわち、コンテキストを参照して復号する場合には、CU分割識別子復号部113より供給されるコンテキストインデックスctxIdx及びビット復号部117によって復号されたBinの値を参照することによってコンテキスト変数CVを更新すると共に、更新されたコンテキスト変数CVを次回更新するまで記録する。なお、優勢シンボルMPSは0か1である。また、優勢シンボルMPSと確率状態インデックスpStateIdxは、ビット復号部117がBinを1つ復号する毎に更新される。
 コンテキスト記録更新部116は、供給されるバイパスフラグBypassFlagが1の場合、すなわち、シンボル0と1の生起確率を0.5に固定したコンテキスト変数CVを用いて復号する場合(バイパスモードともいう)には、コンテキスト変数CVの値は、常に、シンボル0と1の生起確率を0.5の値に固定され、コンテキスト変数CVの更新は省略される。
 なお、コンテキストインデックスctxIdxは、各シンタックスの各Binについてコンテキストを直接指定するものであってもよいし、あるいは、各シンタックス毎に設定されるコンテキストインデックスの開始値を示すオフセットからの増分値(コンテキスト増分値)ctxIncであってもよい。
   (ビット復号部117)
 ビット復号部117は、コンテキスト記録更新部116に記録されているコンテキスト変数CVを参照し、符号化データに含まれる各ビットを復号する。また、復号して得られたBinの値をDCオフセット情報復号部111の備える各部に供給する。また、復号して得られたBinの値は、コンテキスト記録更新部116にも供給され、コンテキスト変数CVを更新するために参照される。
   (CU分割識別子復号部113)
 CU分割識別子復号部113は、さらに、算術符号復号部115にてCU分割識別子split_cu_idx[x0][y0]のBinを復号するために用いられるコンテキストを決定するためのコンテキストインデックスctxIdxを導出するコンテキストインデックス導出手段(不図示)、及びバイパスフラグ導出手段(不図示)を備える。コンテキストインデックス、及びバイパスフラグの導出処理の詳細については、後述する。
 CU分割識別子復号部113は、コンテキストインデックスctxIdx、及びバイパスフラグBypassFlagを算術符号復号部115へ供給すると共に、符号化データに含まれる各ビットを復号するよう算術符号復号部115を指示する。
 CU分割識別子復号部113は、ビット復号部117より供給される1以上のBinからなるBin列を解釈して、対象CUのCU分割識別子split_cu_idx[x0][y0]のシンタックス値を復号し、外部へ供給する。
 より具体的には、CU分割識別子復号部113は、例えば、図11に示す値とBin列の対応表に基づいて、Bin列からシンタックス値を復号(導出、変換)する(Bin列シンタックス値変換手段)。例えば、Bin列が”0”(prefix=”0”, suffix=”-”)であれば、図11から、シンタックス値として0を復号する。また、Bin列が”1110” (prefix=”111”, suffix=”0”)であれば、シンタックス値として4を復号する。なお、CU分割識別子split_cu_idx[x0][y0]のシンタックス値に対するBin列のうち、プリフィックス部分(図11のprefix)は、該シンタックス値と3の最小値をプリフィックス値prefixValとして、変数cRiceParam = 0, 変数cMax = 3とするトランケーティドライス二値化(Truncated Rice binarization, TR二値化, Truncated unary binarization)によって、二値化することで得られる。また、サフィックス部分(図11のsuffix)は、該シンタックス値が2より大きい場合に、”シンタックス値 - 3 “の値をサフィックス値suffixValとして、0次指数ゴロム符号(0-th order Exp-Golomb Coding)によって、二値化することで得られる。なお、CU分割識別子split_cu_idx[x][y]のBin列からシンタックス値への変換(逆二値化)は、上記に限定されず、実施可能な範囲で変更されうる。例えば、Bin列の値をそのまま、シンタックス値へ変換する固定長符号であってもよい。より具体的には、CU分割識別子split_cu_idxのBin列が”0”であれば、シンタックス値として、”0”と解釈し、CU分割識別子split_cu_idxのBin列が”1”であれば、”1”と解釈しても良い。逆に、Bin列が”0”であれば、シンタックス値として、”1”と解釈し、Bin列が”1”であれば、”0”と解釈してもよい。あるいは、Bin列をプリフィックス部prefix, サフィックス部suffixに分けずに、Bin列とK次指数ゴロム符号の対応表からBin列からシンタックス値を求めてもよい。
    (コンテキストインデックス、及びバイパスフラグの導出処理)
 以下では、図7を参照しながら、CU分割識別子split_cu_idx[x0][y0]に係るコンテキストインデックスの導出処理をより具体的に説明する。なお、CU分割識別子split_cu_idx[x0][y0]のコンテキストインデックスの導出処理は、復号装置側と符号化装置側において共通である。図10(a)においてbinIdxは、CU分割識別子復号部113で復号されるシンタックス要素(Syntax Element)のバイナリ列(0か1の要素からなる列)の先頭からのビット位置を示す。binIdx=0は先頭ビット(1ビット目)、binIdx=1は先頭ビットの次のビット(2ビット目)、・・・、binIdx=MはMビット目でである。図中の数は、コンテストインデックスに用いられるコンテキストインクリメント(コンテキスト増分値)ctxIncを示し、表中naは、シンタックス要素の復号でその位置のビットが発生しないこと、bypassは、コンテキストを用いずバイパスを用いて復号/符号化されることを示す。
 図10(a)に示すように、CU分割識別子復号部113は、CU分割識別子split_cu_idx[x0][y0]のBin列のうち、binIdx = 0..N(例えば、N=0)のBin(プリフィックス部分のBinともいう)は、コンテキストを参照して復号/符号化されるBinとし、各Binについて、例えば、対象CUの分割深度cqtDepth(又はctDepth)と、復号済隣接CUA(A={L, BL, T, TR})の分割深度CtDepth[xNbA][yNbA](A={L,BL, T, TR})に基づいて、コンテキスト増分値ctxIncを導出する。ここで、対象CUと隣接CUA(A={L, BL, T, TR})の位置関係について、図12(b)を参照しながら説明する。同図において、対象CU(CUcur)の左に隣接するCUを隣接左CUL(CU)と称する。同様にして、対象CU(CUcur)の左下に隣接するCUを隣接左下CULB(CULB)と称し、対象CU(CUcur)の上に隣接するCUを隣接上CUT(CUT)と称し、対象CU(CUcur)の右上に隣接するCUを隣接右上CUTR(CUTR)と称する。
 以下では、図7から図12を参照しながら、CU分割識別子split_cu_idx[x0][y0]のBin列のうち、コンテキストを参照するBin(binIdx=0..N)に関するコンテキストインデックス導出処理の詳細について説明する。
 図7は、本発明の一実施形態に係るCU分割識別子に関するコンテキストインデックス導出処理を説明するフローチャートである。また、図8は、本発明の一実施形態に係るCU分割識別子に関するコンテキストインデックス導出処理を示す疑似コードの一例である。また、図9は、図8の疑似コード中で参照されるZスキャンオーダー順でのブロックの可用性フラグを導出する疑似コードの一例である。
 (SA011) 隣接CUA(A={L,BL,T,TR})の分割深度と対象CUの分割深度との比較に係るループ処理の開始点である。CU分割識別子復号部113は、隣接左CUL、隣接左下CULB、隣接上CUT、隣接右上CUTRの順に、ステップSA012~S014の処理を実行し、対象CUと各隣接CUとの分割深度比較値condA(A = {L, BL, T, TR})を導出する。
 (SA012) CU分割識別子復号部113は、隣接CUA(A={L,BL,T,TR})の可用性フラグavailableAFlag(A={L,BL,T,TR})を導出する。隣接CUAの可用性フラグavailableAFlagは、隣接CUAに含まれるシンタックス値やシンタックス値から導出されるパラメータを対象CUが参照することができるか否かを示すフラグである。該フラグ値が1(真)の場合、参照可能であることを示し、該フラグ値が0(偽)の場合、参照不可であることを意味する。なお、隣接CUAの可用性フラグは、隣接CUAの存在の有無を示すとも解釈できる。なお、可用性フラグの各値が示す意味は、上記に限定されず、該フラグ値が1(真)の場合、参照不可であることを示し、該フラグ値が0(偽)の場合、参照可であると定義してもよい。
 (SA013) CU分割識別子復号部113は、隣接CUA(A={L,BL,T,TR})の可用性フラグavailableAFlag(A={L,BL,T,TR}が1(真)であるか否かを判定する。すなわち、参照可能であるか否かを判定する。隣接CUAの可用性フラグavailableAFlagが参照可であることを示す場合(ステップSA013においてYes)、ステップSA014-1に遷移する。隣接CUAの可用性フラグavailableAFlagが参照不可であることを示す場合(ステップSA013においてNo)、ステップSA014-2に遷移する。
 (SA014-1) CU分割識別子復号部113は、隣接CUAの分割深度CtDepthA[xNbA][yNbA](A = {L,BL,T,TR})を外部(CU情報復号部、またはフレームメモリ)より読み出し、対象CUの分割深度cqtDepthと大小比較値condA(A = {L,BL,T,TR})を下記式(eq.A-1)により導出する。
 condA = CtDepthA[xNbA][yNbA] > cqtDepth (eq.A-1)
すなわち、隣接CUAの分割深度CtDepthA[xNbA][yNbA]が対象CUの分割深度cqtDepthより大きい場合、condAに1を設定し、それ以外(隣接CUAの分割深度CtDepthA[xNbA][yNbA]が対象CUの分割深度cqtDepthより以下)の場合、condAに0を設定する。ここで、隣接CUAの座標(xNbA, yNbA)(A={L,BL,T,TR})は、対象CUの左上座標(x0, y0)と対象CUの左上座標(x0, y0)を起点とするオフセット(dxA, dYA) (A={L,BL,T,TR})に基づいて、下記式(eq.A-2)、及び(eq.A-3)により導出される。
 xNbA = x0 + dXA (eq.A-2)
 yNbA = y0 + dYA (eq.A-3)
ここで、各隣接CUA(A={L,BL,T,TR})に対応するオフセット(dXA,dYA)は、図12(a)に示すテーブルTableBに示す通りである。すなわち、各隣接CUAの座標(xNbA, yNbA)は次のように導出される。
 隣接左CULの座標(xNbL, yNbL)=(x0 - 1, y0),
 隣接左下CULBの座標(xNbLB, yNbLB)=(x0 - 1, y0 - CUSize),
 隣接上CUTの座標(xNbT, yNbT)=(x0, y0 - 1),
 隣接右上CUTRの座標(xNbTR, yNbTR)=(x0 + CUSize, y0 - 1)
ここで、変数CUSizeは、X座標であれば、対象CUの横幅、Y座標であれば縦幅を表わす。
 (SA014-2) CU分割識別子復号部113は、隣接CUAの分割深度CtDepthA[xNbA][yNbA](A = {L,BL,T,TR})と対象CUの分割深度cqtDepthとの大小比較値condA(A = {L,BL,T,TR})に0を設定する。すなわち、condA = 0。
 (SA015) 隣接CUA(A={L,BL,T,TR})の分割深度と対象CUの分割深度との比較に係るループ処理の終端である。
 (SA016) CU分割識別子復号部113は、下記式(eq.A-4)(あるいは式(eq.A-4a))に示すように、導出した比較値condA(A={L,BL,T,TR})の総和をコンテキスト増分値ctxIncへ設定する。
 ctxInc = Σ condA, A={L,BL,T,TR} (eq.A-4)
 ctxInc = condL + condBL + condT + condTR (eq.A-4a)
 なお、コンテキスト増分値の値域は、例えば、minCtxInc <= ctxInc <= maxCtxIncとなる。ここで、変数minCtxIncは、コンテキスト増分値ctxIncの最小値を表わし、変数maxCtxIncは、コンテキスト増分値ctxIncの最大値を表わす。本実施例では、minCtxInc、maxCtxIncの値は、それぞれ、minCtxInc = 0, maxCtxInc = 4である。従って、本実施例におけるCU分割識別子split_ctx_idx[x0][y0]のBin列のうち、コンテキストを参照するBin(binIdx = 0..N)の各コンテキスト数NumCtxSplitCUIdxは、maxCtxInc - minCtxInc + 1 = 4となる。上記コンテキスト増分値ctxIncの導出モデルは、対象CUの分割深度cqtDepthが隣接CUの分割深度よりも小さいケースが多ければ、小さい値をとる。逆に、対象CUの分割深度cqtDepthが隣接CUの分割深度よりも大きいケースが多ければ、大きい値をとる。これは、対象CUの分割深度cqtDepth毎に、CU分割識別子split_cut_idx[x0][y0]のシンタックス値の各Binのシンボルの発生頻度に適したコンテキストモデルであり、より効率的にCU分割識別子split_cu_idx[x0][y0]のBin列を算術復号/算術符号化することが可能となる。
 (SA099)(不図示) CU分割識別子復号部113は、その後、導出したコンテキス増分値ctxIncへ所定オフセットctxIdxOffsetを加算した値を、各Binを復号する際に参照するコンテキストインデックスctxIdx(式(eq.A-5))として導出する。
 ctxIdx = ctxInc + ctxIdxOffset (eq.A-5)
ここで、所定オフセットctxIdxOffsetは、スライスタイプ(Iスライス、Pスライス、Bスライス)によって、値を変更してもよいし、色成分毎(第1色成分、第2色成分、第3色成分)に変えてもよい。また、スライスタイプや、色成分によらず、共通のオフセット値としてもよい。
 なお、コンテキストを参照するbinIdx=0..NのBinについて、バイパスフラグBypassFlagは0に設定される。例えば、図10(a)の例であれば、binIdx=0のBinについて、バイパスフラグBypassFlag = 0とし、binIdx > 1以上は発生しないため、やはりバイパスフラグBypassFlag = 0としてもよいし、設定の省略をすることができる。また、図10(b)の例であれば、binIdx = 0のBinについて、バイパスフラグBypassFlag = 0とし、binIdx = 1であるBin(サフィックス部分のBinともいう)は、コンテキストを参照しないで復号/符号化する(バイパスモードで復号/符号化される)Binであるため(図10(b)では、エントリー値が”bypass”)、各Binについて、バイパスフラグBypassFlagを1と設定する。なお、コンテキストを参照しない各Binに対するコンテキストインデックスctxIdxは0と設定される。
 以上、CU分割識別子復号部113は、CTUサイズ拡張時において、対象CUに隣接する2以上の隣接CUを参照することで、対象CUのCU分割識別子split_cu_idx[x0][y0]のBin列のうち、コンテキストを参照するBin(binIdx=0..N)のシンボルの発生確率に適したコンテキストモデルに基づいて、コンテキストインデックスctxIdxを導出することができる。また、非特許文献2と比較して(図28~図29)、CU分割識別子split_cu_idx[x0][y0](非特許文献2では、split_cu_flag)に係るコンテキスト数を同一に保持し、かつ、符号化効率を維持し、かつ、コンテキストインデックスの導出処理(主に図28と図29の処理の共通化、及び分岐処理の削減)を簡略化するため、復号処理量(符号化処理量)を低減する効果を奏する。
 (付記事項1)
 なお、本実施例では、CU分割識別子split_cu_idx[x0][y0]のBin列のうち、コンテキストを参照するBin(binIdx=0..N)に関するコンテキストインデックスctxIdxに係るコンテキスト増分値ctxIncの導出の際に、対象CUに隣接する図12(b)に示す隣接左CU、隣接左下CU、隣接上CU、隣接右上CUの4つの隣接CUを参照しているが、これに限定されない。例えば、隣接左CU、隣接左下CU、隣接上CU、隣接右上CUからN個(N=1..3)の隣接CUAを選択し、それらの隣接CUAの分割深度CqtDepthAを参照してもよい。また、いずれの隣接CUを参照するかを、各パラメータセット(SPS、PPS、SH)において通知してもよい。
 (コンテキストインデックス、及びバイパスフラグの導出処理の変形例1)
 以下では、図13を参照しながら、CU分割識別子split_cu_idx[x0][y0]に係るコンテキストインデックスの導出処理の変形例について説明する。なお、前述の図7に示すフローチャートと共通部分の処理(SA011~SA016, SA099)についての説明は省略し、追加処理となるステップSA020aについて説明する。
 (SA020a) CU分割識別子復号部113は、CU分割識別子split_cu_idx[x0][y0]に係るコンテキスト数を削減するために、下記式(eq.A-6)により、ステップSA016で導出したコンテキスト増分値ctxIncの値域をminCtxInc(第2の閾値)~maxCtxInc(第1の閾値)へ制限する。
 ctxInc = Clip3 ( minCtxInc, maxCtxInc, ctxInc) (eq. A-6)
ここで、Clip3(X, Y, Z)は、ZがXより小さい場合、Xを返し、ZがYより大きければ、Yを返し、それ以外(X<=Z<=Y)の場合、Zを返すクリップ演算子である。
 例えば、minCtxInc = 0, maxCtxInc = 2と設定した場合、ステップSA020aの処理により、コンテキスト増分値ctxIncの値域は、0~2へ制限され、コンテキスト数NumCtxSplitCUIdxは3へ削減される。
 なお、コンテキスト増分値ctxIncの始点を0へ揃えるために、式(eq.A-6a)によって、コンテキスト増分値ctxIncを導出してもよい。
 ctxInc = Clip3 ( minCtxInc, maxCtxInc, ctxInc) - minCtxInc (eq. A-6a)
 また、コンテキスト増分値ctxIncの上限値のみ制限する場合は、式(eq.A-6b)によってコンテキスト増分値ctxIncを導出してもよい。
 ctxInc = ctxInc > maxCtxInc ? maxCtxInc : ctxInc (eq. A-6b)
 なお、式(eq. A-6b)は三項演算子による表現だが、以下のif文(式(eq.A-6c))によって表現することもできる。
 if ( ctxInc > maxCtxInc ) ctxInc = maxCtxInc (eq. A-6c) 
 以上、CU分割識別子復号部113の変形例1は、実施例1と同様の効果を奏する。さらに、実施例1と比較して、コンテキスト増分値ctxIncの値域を制限することで、符号化効率を維持しつつ、コンテキストを参照する各Binに必要なコンテキスト数を削減するため、コンテキスト保持に必要とするメモリサイズを削減する効果を奏する。
 (コンテキストインデックス、及びバイパスフラグの導出処理の変形例2)
 以下では、CU分割識別子split_cu_idx[x0][y0]に係るコンテキストインデックスの導出処理の変形例について説明する。なお、前述の図7に示すフローチャートと共通部分の処理(SA011~SA016, SA099)において同一の処理については説明を省略し、追加の処理があるステップについてはダッシュ記号(例えば、SA0XX’)を付して、追加処理のみ説明する。また、新たな追加処理となるステップSA020bについても説明する。
 (SA011’) SA011の処理に加えて、隣接CUA(A={L,BL,T,TR})内での最小分割深度minCtDepth、及び最大分割深度maxCtDepthをさらに導出する。なお、ループ処理の開始前に、最小分割深度minCtDepth = MaxCtDepthPS、最大分割深度maxCtDepth = MinCtDepthPSと初期化する。ここで、変数MinCtDepthPS、及びMaxCtDepthPSは、パラメータセット(SPS、PS、SH)で通知、又は導出される符号化ツリーの最小分割深度と、最大分割深度を表わす値である。
 (SA012’) SA012と同一のため、説明を省略する。
 (SA013’) SA013と同一のため、説明を省略する。
 (SA014-1’) SA014-1の処理に加えて、隣接CUAの分割深度CtDepthA[xNbA][yNbA]を参照して、隣接CUA内の最小分割深度minCtDepth、及び最大分割深度maxCtDepthを下記式(eq.A-7)、及び(eq.A-8)により更新する。
 minCtDepth = minCtDepth > CtDepthA[xNbA][yNbA] ? CtDepthA[xNbA][yNbA] (eq.A-7)
 maxCtDepth = maxCtDepth < CtDepthA[xNbA][yNbA] ? CtDepthA[xNbA][yNbA] (eq.A-8)
 (SA014-2’) SA014-2と同一のため、説明を省略する。
 (SA015’) 隣接CUA(A={L,BL,T,TR})の分割深度と対象CUの分割深度との比較、及び隣接CU内の最小分割深度minCtDepth、及び最大分割深度maxCtDepthの導出に係るループ処理の終端である。
 (SA016’) SA016と同様にして、CU分割識別子復号部113は、前述の式(eq.A-4)(あるいは式(eq.A-4a))に示すように、導出した比較値condA(A={L,BL,T,TR})の総和をコンテキスト増分値ctxIncへ設定する。
 (SA020b)  CU分割識別子復号部113は、CU分割識別子split_cu_idx[x0][y0]に係るコンテキスト数を削減するために、下記式(eq.A-9)、(eq.A-10)により、ステップSA016’で導出したコンテキスト増分値ctxIncの隣接CU内の最小分割深度minCtDepth(第1の分割深度)、及び最大分割深度maxCtDepth(第2の分割深度)それぞれに対応するコンテキス増分値へ更新する。
 ctxInc = cqtDepth < minCqtDepth ? minCtxInc : ctxInc (eq. A-9)
 ctxInc = cqtDepth > maxCqtDepth ? maxCtxInc : ctxInc (eq. A-10)
 すなわち、対象CUの分割深度cqtDepthが、隣接CU内の最小分割深度よりも小さい場合には、コンテキスト増分値の下限値(最小値)minCtxInc(第1のコンテキストインデックス値、又は第1のコンテキスト増分値)へコンテキスト増分値ctxIncを更新する。また、対象CUの分割深度cqtDepthが、隣接CU内の最大分割深度よりも大きい場合には、コンテキスト増分値の上限値(最大値)maxCtxInc(第2のコンテキストインデックス値、又は第2のコンテキスト増分値)へコンテキスト増分値ctxIncを更新する。
 既に述べたが、ステップSA016(及びステップSA016’)におけるコンテキスト増分値ctxIncの導出モデルは、対象CUの分割深度cqtDepthが隣接CUの分割深度よりも小さいケースが多ければ、小さい値をとる。逆に、対象CUの分割深度cqtDepthが隣接CUの分割深度よりも大きいケースが多ければ、大きい値をとる。一般的に、符号化ユニットの最大値を拡張した場合、各階層深度(分割深度)に存在する符号化ユニット(CU)の出現頻度が減少する傾向にある。従って、対象CUの隣接CU内の分割深度の最小値(最小分割深度minCqtDepth)よりも小さい場合には、CU分割識別子split_cu_idx[x0][y0]のbin列のうちコンテキストを参照するBinに対するコンテキスト増分値ctxIncとして、コンテキスト増分値の下限値minCtxIncへ設定することは妥当であり、符号化効率を維持しつつ、コンテキスト数を削減することが可能である。
 また、同様にして、対象CUの隣接CU内の分割深度の最大値(最大分割深度maxCqtDepth)よりも大きい場合には、CU分割識別子split_cu_idx[x0][y0]のbin列のうちコンテキストを参照するBinに対するコンテキスト増分値ctxIncとして、コンテキスト増分値の上限値maxCtxIncへ設定することは妥当であり、符号化効率を維持しつつ、コンテキスト数を削減することが可能である。
 例えば、minCtxInc = 0, maxCtxInc = 2とすれば、実施例1と比較して、符号化効率を維持しつつ、CU分割識別子split_cu_idx[x0][y0]のbin列のうちコンテキストを参照するBinに対するコンテキスト数を削減することができ、コンテキスト保持に必要とするメモリサイズを削減する効果を奏する。
 (SA099’) SA099と同一のため説明を省略する。
 以上、CU分割識別子復号部113の変形例2は、実施例1と同様の効果を奏する。さらに、実施例1と比較して、変形1と同様に符号化効率を維持しつつ、コンテキストを参照する各Binに必要なコンテキスト数を削減するため、コンテキスト保持に必要とするメモリサイズを削減する効果を奏する。
 (付記事項2)
 なお、CU分割識別子復号部113の変形例2において、対象CUの隣接CU内から最小分割深度minCqtDepth、及び最大分割深度maxCqtDepthを導出したが、これに限定されない。例えば、隣接CU内を探索せずに、最小分割深度minCqtDepthへ固定の第3の分割深度の値を設定し、最大分割深度maxCqtDepthへ第3の分割深度の値とは異なる、第4の分割深度の値を設定してもよい。これら、第3の分割深度、及び第4の分割深度の値は、パラメータセット(SPS, PPS, SH)において通知されてもよいし、画像復号装置と対応する画像符号化装置との間で、予め取り決めておいてもよい。これにより、より簡易な構成で、変形例2と同様の符号化効率を維持しつつ、さらに、CU分割識別子split_cu_idx[x0][y0]のBin列のうちコンテキストを参照するBinに対するコンテキストインデックス導出処理を簡略ができ、復号処理量(符号化処理量)を低減する効果を奏する。
 〔動画像符号化装置〕
 以下において、本実施形態に係る動画像符号化装置2について、図24を参照して説明する。
  (動画像符号化装置の概要)
 動画像符号化装置2は、概略的に言えば、入力画像#10を符号化することによって符号化データ#1を生成し、出力する装置である。
  (動画像符号化装置の構成)
 まず、図24を用いて、動画像符号化装置2の構成例について説明する。図24は、動画像符号化装置2の構成について示す機能ブロック図である。図24に示すように、動画像符号化装置2は、符号化設定部21、逆量子化・逆変換部22、予測画像生成部23、加算器24、フレームメモリ25、減算器26、変換・量子化部27、および符号化データ生成部(適応処理手段)29を備えている。
 符号化設定部21は、入力画像#10に基づいて、符号化に関する画像データおよび各種の設定情報を生成する。
 具体的には、符号化設定部21は、次の画像データおよび設定情報を生成する。
 まず、符号化設定部21は、入力画像#10を、スライス単位、ツリーブロック単位に順次分割することにより、対象CUについてのCU画像#100を生成する。
 また、符号化設定部21は、分割処理の結果に基づいて、ヘッダ情報H’を生成する。ヘッダ情報H’は、(1)対象スライスに属するツリーブロックのサイズ、形状および対象スライス内での位置についての情報、並びに、(2)各ツリーブロックに属するCUのサイズ、形状および対象ツリーブロック内での位置についてのCU情報CU’を含んでいる。
 さらに、符号化設定部21は、CU画像#100、および、CU情報CU’を参照して、PT設定情報PTI’を生成する。PT設定情報PTI’には、(1)対象CUの各PUへの可能な分割パターン、および、(2)各PUに割り付ける可能な予測モード、の全ての組み合わせに関する情報が含まれる。
 符号化設定部21は、CU画像#100を減算器26に供給する。また、符号化設定部21は、ヘッダ情報H’を符号化データ生成部29に供給する。また、符号化設定部21は、PT設定情報PTI’を予測画像生成部23に供給する。
 逆量子化・逆変換部22は、変換・量子化部27より供給される、ブロック毎の量子化予測残差を、逆量子化、および、逆直交変換することによって、ブロック毎の予測残差を復元する。逆直交変換については、図2に示す逆量子化・逆変換部13について、既に説明したとおりであるので、ここではその説明を省略する。
 また、逆量子化・逆変換部22は、ブロック毎の予測残差を、TT分割情報(後述)により指定される分割パターンに従って統合し、対象CUについての予測残差Dを生成する。逆量子化・逆変換部22は、生成した対象CUについての予測残差Dを、加算器24に供給する。
 予測画像生成部23は、フレームメモリ25に記録されている局所復号画像P’、および、PT設定情報PTI’を参照して、対象CUについての予測画像Predを生成する。予測画像生成部23は、予測画像生成処理により得られた予測パラメータを、PT設定情報PTI’に設定し、設定後のPT設定情報PTI’を符号化データ生成部29に転送する。なお、予測画像生成部23による予測画像生成処理は、動画像復号装置1の備える予測画像生成部14と同様であるので、ここでは説明を省略する。
 加算器24は、予測画像生成部23より供給される予測画像Predと、逆量子化・逆変換部22より供給される予測残差Dとを加算することによって、対象CUについての復号画像Pを生成する。
 フレームメモリ25には、復号された復号画像Pが順次記録される。フレームメモリ25には、対象ツリーブロックを復号する時点において、当該対象ツリーブロックよりも先に復号された全てのツリーブロック(例えば、ラスタスキャン順で先行する全てのツリーブロック)に対応する復号画像が、当該復号画像Pの復号に用いられたパラメータと共に、記録されている。
 減算器26は、CU画像#100から予測画像Predを減算することによって、対象CUについての予測残差Dを生成する。減算器26は、生成した予測残差Dを、変換・量子化部27に供給する。
 変換・量子化部27は、予測残差Dに対して、直交変換および量子化を行うことで量子化予測残差を生成する。なお、ここで直交変換とは、画素領域から周波数領域への直交変換のことをさす。また、逆直交変換の例としては、DCT変換(Discrete Cosine Transform)、およびDST変換(Discrete Sine Transform)等が挙げられる。
 具体的には、変換・量子化部27は、CU画像#100、および、CU情報CU’を参照し、対象CUの1または複数のブロックへの分割パターンを決定する。また、決定された分割パターンに従って、予測残差Dを、各ブロックについての予測残差に分割する。
 また、変換・量子化部27は、各ブロックについての予測残差を直交変換することによって周波数領域における予測残差を生成した後、当該周波数領域における予測残差を量子化することによってブロック毎の量子化予測残差を生成する。
 また、変換・量子化部27は、生成したブロック毎の量子化予測残差と、対象CUの分割パターンを指定するTT分割情報と、対象CUの各ブロックへの可能な全分割パターンに関する情報とを含むTT設定情報TTI’を生成する。変換・量子化部27は、生成したTT設定情報TTI’を逆量子化・逆変換部22および符号化データ生成部29に供給する。
 符号化データ生成部29は、ヘッダ情報H’、TT設定情報TTI’、およびPT設定情報PTI’を符号化し、符号化したヘッダ情報H、TT設定情報TTI、およびPT設定情報PTIを多重化して符号化データ#1を生成し、出力する。
  (動画像復号装置との対応関係)
 動画像符号化装置2は、動画像復号装置1の各構成と対応する構成を含む。ここで、対応とは、同様の処理、または、逆の処理を行う関係にあるということである。
 例えば、上述したように、動画像復号装置1が備える予測画像生成部14の予測画像生成処理と、動画像符号化装置2が備える予測画像生成部23の予測画像生成処理とは、同様である。
 例えば、動画像復号装置1において、ビット列から、シンタックス値を復号する処理は、動画像符号化装置2において、シンタックス値から、ビット列を符号化する処理と逆の処理としての対応となっている。
 以下では、動画像符号化装置2における各構成が、動画像復号装置1のCU情報復号部11、PU情報復号部12、およびTU情報復号部13とどのような対応となっているかについて説明する。これにより、動画像符号化装置2における各構成の動作・機能はより詳細に明らかになるだろう。
 符号化データ生成部29は、復号モジュール10に対応している。より詳しくいえば、復号モジュール10が、符号化データおよびシンタックス種別に基づいてシンタックス値を導出するのに対して、符号化データ生成部29は、シンタックス値およびシンタックス種別に基づいて符号化データを生成する。
 符号化設定部21は、上述した動画像復号装置1のCU情報復号部11に対応している。符号化設定部21と、上述したCU情報復号部11とを比較すると次のとおりである。
 予測画像生成部23は、上述した動画像復号装置1のPU情報復号部12および予測画像生成部14に対応している。これらを比較すると次のとおりである。
 上述のとおり、PU情報復号部12は、動き情報に係る符号化データとシンタックス種別とを復号モジュール10に供給し、復号モジュール10により復号された動き情報に基づいて動き補償パラメータを導出する。また、予測画像生成部14は、導出された動き補償パラメータに基づいて予測画像を生成する。
 これに対して、予測画像生成部23は、予測画像生成処理において、動き補償パラメータを決定し、動き補償パラメータに係るシンタックス値とシンタックス種別とを符号化データ生成部29に供給する。
 変換・量子化部27は、上述した動画像復号装置1のTU情報復号部13および逆量子化・逆変換部15に対応している。これらを比較すると次のとおりである。
 上述したTU情報復号部13が備えるTU分割設定部131は、ノードの分割を行うのか否かを示す情報に係る符号化データおよびシンタックス種別を復号モジュール10に供給し、復号モジュール10により復号されたノードの分割を行うのか否かを示す情報に基づいてTU分割を行う。
 さらに、上述したTU情報復号部13が備える変換係数復元部132は、判定情報および変換係数に係る符号化データおよびシンタックス種別を復号モジュール10に供給し、復号モジュール10により復号された判定情報および変換係数に基づいて変換係数を導出する。
 これに対して、変換・量子化部27は、TU分割の分割方式を決定し、ノードの分割を行うのか否かを示す情報に係るシンタックス値およびシンタックス種別を符号化データ生成部29に供給する。
 また、変換・量子化部27は、予測残差を変換・量子化して得られる量子化変換係数に係るシンタックス値およびシンタックス種別を符号化データ生成部29に供給する。
 本発明の動画像符号化装置2は、ピクチャを符号化ツリーブロック単位に分割して符号化する画像符号化装置において、上記符号化ツリーブロックを、ルートの符号化ツリーとして再帰的に分割する符号化ツリー分割部を備え、上記符号化ツリーを分割するか否かを示す、CU分割識別子split_cu_idx[x0][y0]を符号化する算術符号化部(CU分割識別子符号化手段, 算術符号化装置)を備える。
 <実施例1の逆処理>
 図25は、CU分割識別子split_cu_idx[x0][y0]を符号化する算術符号化部291の構成を示すブロック図である。図25に示すように、算術符号化部291は、算術符号符号化部295、及びCU分割識別子符号化部293を備える。
  (算術符号符号化部295)
 算術符号符号化部295は、CU分割識別子符号化部より供給される各Binを、コンテキストを参照して符号化し、符号化した各ビットを出力するための構成であり、図25に示すように、コンテキスト記録更新部296、及びビット符号化部297を備えている。
   (コンテキスト記録更新部296)
 コンテキスト記録更新部296は、算術符号復号部115の備えるコンテキスト記録更新部116と対応する機能であり、各シンタックスに関連付けられた各コンテキストインデックスctxIdxによって管理されるコンテキスト変数CVを記録及び更新するための構成である。ここで、コンテキスト変数CVには、(1)生起確率が高い優勢シンボルMPS(Most Probable Symbol)と、(2)その優勢シンボルMPSの生起確率を指定する確率状態インデックスpStateIdxとが含まれている。
 コンテキスト記録更新部296は、供給されるバイパスフラグBypassFlagが0の場合、すなわち、コンテキストを参照して符号化する場合には、CU分割識別子符号化部293より供給されるコンテキストインデックスctxIdx及びビット符号化部297によって符号化されたBinの値を参照することによってコンテキスト変数CVを更新すると共に、更新されたコンテキスト変数CVを次回更新するまで記録する。なお、優勢シンボルMPSは0か1である。また、優勢シンボルMPSと確率状態インデックスpStateIdxは、ビット符号化部297がBinを1つ符号化する毎に更新される。
 コンテキスト記録更新部296は、供給されるバイパスフラグBypassFlagが1の場合、すなわち、シンボル0と1の生起確率を0.5に固定したコンテキスト変数CVを用いて符号化する場合(バイパスモードともいう)には、コンテキスト変数CVの値は、常に、シンボル0と1の生起確率を0.5の値に固定され、コンテキスト変数CVの更新は省略される。
 なお、コンテキストインデックスctxIdxは、各シンタックスの各Binについてコンテキストを直接指定するものであってもよいし、あるいは、各シンタックス毎に設定されるコンテキストインデックスの開始値を示すオフセットからの増分値であってもよい。
   (ビット符号化部297)
 ビット符号化号部297は、算術符号復号部115の備えるビット復号部117の逆処理に対応し、コンテキスト記録更新部296に記録されているコンテキスト変数CVを参照し、CU分割識別子符号化部293から供給される各Binを符号化する。また、符号化されるBinの値は、コンテキスト記録更新部296にも供給され、コンテキスト変数CVを更新するために参照される。
   (CU分割識別子符号化293)
 CU分割識別子符号化部293は、算術復号部191の備えるCU分割識別子復号部113の逆処理に対応する。
 CU分割識別子符号化部293は、外部より供給される対象CUのCU分割識別子split_cu_idx[x0][y0]のシンタックス値を、例えば、図11に示す値とBin列の対応表に基づいて、シンタックス値に対応するBin列を符号化(導出、変換)する。例えば、シンタックス値が0であれば、Bin列として、”0”(prefix=”0”, suffix=”-”)を導出する。また、シンタックス値が4であれば、Bin列として、”1110” (prefix=”111”, suffix=”0”)を導出する。なお、CU分割識別子split_cu_idx[x][y]のシンタックス値をBin列へ変換(二値化)は、上記に限定されず、実施可能な範囲で変更されうる。例えば、シンタックス値をそのまま、シンタックス値へ変換する固定長符号であってもよい。より具体的には、CU分割識別子split_cu_idxのシンタックス値が”0”であれば、Bin列として、”0”と解釈し、CU分割識別子split_cu_idxのシンタックス値”1”であれば、Bin列を”1”と解釈しても良い。逆に、シンタックス値が”0”であれば、Bin列を”1”と解釈し、シンタックス値が”1”であれば、Bin列を”0”と解釈してもよい。あるいは、シンタックス値を、プリフィックス部prefixtとサフィックス部suffixからなるBin列に変換せずに、値とK次指数ゴロム符号の対応表からシンタックス値からBin列を求めてもよい。
 CU分割識別子符号化部293は、算術符号符号化部295にてCU分割識別子split_cu_idx[x0][y0]のBin列を符号化するために用いられるコンテキストを決定するためのコンテキストインデックスctxIdx、及びバイパスモードの適否を示すバイパスフラグBypassFlagを、CU分割識別子復号部113において説明した(コンテキストインデックス、及びバイパスフラグの導出処理(実施例1、変形例1、変形例2、及びそれらの付記事項を含む)と同一の処理よって導出する。なお、CU分割復号部113を、CU分割識別子符号化部293へ置き換えて解釈するものとする。
 CU分割識別子符号化部293は、導出したコンテキストインデックスctxIdx、及びバイパスフラグBypassFlag、及びBin列を算術符号符号化部295へ供給するとともに、各Bin列の各Binを符号化するよう算術符号符号化部295を指示する。
 以上、本実施例に係るCU分割識別子符号化部293は、算術符号符号化部295を指示して、CU分割識別子split_cu_idx[x0][y0]のBin列のうち、コンテキストを参照するBinに対して、対象CUの分割深度cqtDepthと、符号化済隣接CUA(A={L,BL,T,TR})の分割深度CtDepthA[xNbA][yNbA](A={L,BL,T,TR})に基づいて、コンテキストを切り替えて符号化する構成である。また、図10(b)に示すように、さらに、コンテキストを参照しないBinが存在すれば、該Binをバイパスモードによって符号化する構成である。
 以上、CU分割識別子符号化部293は、CTUサイズ拡張時において、対象CUに隣接する2以上の隣接CUを参照することで、対象CUのCU分割識別子split_cu_idx[x0][y0]のBin列のうち、コンテキストを参照するBin(binIdx=0..N)のシンボルの発生確率に適したコンテキストモデルに基づいて、コンテキストインデックスctxIdxを導出することができる。また、非特許文献2と比較して(図28~図29)、CU分割識別子split_cu_idx[x0][y0](非特許文献2では、split_cu_flag)に係るコンテキスト数を同一に保持し、かつ、符号化効率を維持し、かつ、コンテキストインデックスの導出処理(主に図28と図29の処理の共通化、及び分岐処理の削減)を簡略化するため、符号化処理量を低減する効果を奏する。さらに、(コンテキストインデックス、及びバイパスフラグの導出処理の変形例1)を適用する場合には、CU分割識別子符号化部293の実施例1と同様の効果を奏する。さらに、実施例1と比較して、コンテキスト増分値ctxIncの値域を制限することで、符号化効率を維持しつつ、コンテキストを参照する各Binに必要なコンテキスト数を削減するため、コンテキスト保持に必要とするメモリサイズを削減する効果を奏する。さらに、(コンテキストインデックス、及びバイパスフラグの導出処理の変形例2)を適用する場合には、実施例1と同様の効果を奏する。さらに、実施例1と比較して、変形1と同様に符号化効率を維持しつつ、コンテキストを参照する各Binに必要なコンテキスト数を削減するため、コンテキスト保持に必要とするメモリサイズを削減する効果を奏する。
 〔応用例〕
 上述した動画像符号化装置2及び動画像復号装置1は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用することができる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像(CGおよびGUIを含む)であってもよい。
 まず、上述した動画像符号化装置2及び動画像復号装置1を、動画像の送信及び受信に利用できることを、図26を参照して説明する。
 図26の(a)は、動画像符号化装置2を搭載した送信装置PROD_Aの構成を示したブロック図である。図26の(a)に示すように、送信装置PROD_Aは、動画像を符号化することによって符号化データを得る符号化部PROD_A1と、符号化部PROD_A1が得た符号化データで搬送波を変調することによって変調信号を得る変調部PROD_A2と、変調部PROD_A2が得た変調信号を送信する送信部PROD_A3と、を備えている。上述した動画像符号化装置2は、この符号化部PROD_A1として利用される。
 送信装置PROD_Aは、符号化部PROD_A1に入力する動画像の供給源として、動画像を撮像するカメラPROD_A4、動画像を記録した記録媒体PROD_A5、動画像を外部から入力するための入力端子PROD_A6、及び、画像を生成または加工する画像処理部A7を更に備えていてもよい。図26の(a)においては、これら全てを送信装置PROD_Aが備えた構成を例示しているが、一部を省略しても構わない。
 なお、記録媒体PROD_A5は、符号化されていない動画像を記録したものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化された動画像を記録したものであってもよい。後者の場合、記録媒体PROD_A5と符号化部PROD_A1との間に、記録媒体PROD_A5から読み出した符号化データを記録用の符号化方式に従って復号する復号部(不図示)を介在させるとよい。
 図26の(b)は、動画像復号装置1を搭載した受信装置PROD_Bの構成を示したブロック図である。図26の(b)に示すように、受信装置PROD_Bは、変調信号を受信する受信部PROD_B1と、受信部PROD_B1が受信した変調信号を復調することによって符号化データを得る復調部PROD_B2と、復調部PROD_B2が得た符号化データを復号することによって動画像を得る復号部PROD_B3と、を備えている。上述した動画像復号装置1は、この復号部PROD_B3として利用される。
 受信装置PROD_Bは、復号部PROD_B3が出力する動画像の供給先として、動画像を表示するディスプレイPROD_B4、動画像を記録するための記録媒体PROD_B5、及び、動画像を外部に出力するための出力端子PROD_B6を更に備えていてもよい。図26の(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の双方として機能する。
 次に、上述した動画像符号化装置2及び動画像復号装置1を、動画像の記録及び再生に利用できることを、図27を参照して説明する。
 図27の(a)は、上述した動画像符号化装置2を搭載した記録装置PROD_Cの構成を示したブロック図である。図27の(a)に示すように、記録装置PROD_Cは、動画像を符号化することによって符号化データを得る符号化部PROD_C1と、符号化部PROD_C1が得た符号化データを記録媒体PROD_Mに書き込む書込部PROD_C2と、を備えている。上述した動画像符号化装置2は、この符号化部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、及び、画像を生成または加工する画像処理部C6を更に備えていてもよい。図27の(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の一例である。
 図27の(b)は、上述した動画像復号装置1を搭載した再生装置PROD_Dの構成を示したブロックである。図27の(b)に示すように、再生装置PROD_Dは、記録媒体PROD_Mに書き込まれた符号化データを読み出す読出部PROD_D1と、読出部PROD_D1が読み出した符号化データを復号することによって動画像を得る復号部PROD_D2と、を備えている。上述した動画像復号装置1は、この復号部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を更に備えていてもよい。図27の(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の一例である。
  (ハードウェア的実現およびソフトウェア的実現)
 また、上述した動画像復号装置1および動画像符号化装置2の各ブロックは、集積回路(ICチップ)上に形成された論理回路によってハードウェア的に実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェア的に実現してもよい。
 後者の場合、上記各装置は、各機能を実現するプログラムの命令を実行するCPU、上記プログラムを格納したROM(Read Only Memory)、上記プログラムを展開するRAM(Random Access 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 ElectronicEngineers)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)、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
 本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
 本発明は、画像データが符号化された符号化データを復号する画像復号装置、および、画像データが符号化された符号化データを生成する画像符号化装置に好適に適用することができる。また、画像符号化装置によって生成され、画像復号装置によって参照される符号化データのデータ構造に好適に適用することができる。
 1    動画像復号装置(画像復号装置)
 10   復号モジュール
 11   CU情報復号部
 12   PU情報復号部
 13   TU情報復号部
 16   フレームメモリ
 191  算術復号部
 113  CU分割識別子復号部
 115  算術符号復号部
 116  コンテキスト記録更新部
 117  ビット復号部
 2    動画像符号化装置(画像符号化装置)
 131  TU分割設定部
 21   符号化設定部
 25   フレームメモリ
 29   符号化データ生成部
 191  算術復号部
 291  算術符号化部
 293  CU分割識別子符号化部
 295  算術符号符号化部
 296  コンテキスト記録更新部
 297  ビット符号化部
 

Claims (14)

  1.  コンテキストを指定するコンテキストインデックスを導出するコンテキストインデックス導出手段と、
     前記コンテキストインデックスで指定されるコンテキスト、及びバイパスフラグを参照して、符号化データから1又は複数のBinからなるBin列を復号する算術符号復号手段と、
     前記Bin列から対象CUに関するCU分割識別子のシンタックス値を復号するCU分割識別子復号手段とを備える算術復号装置であって、
     前記コンテキストインデックス導出手段は、前記対象CUの分割深度、及び1以上の復号済隣接CUの分割深度に基づいて、前記CU分割識別子に関するコンテキストインデックスを導出することを特徴とする算術復号装置。
  2.  前記コンテキストインデックス導出手段は、前記導出された前記CU分割識別子に関するコンテキストインデックスが第1の閾値より大きい場合には、前記CU分割識別子に関するコンテキストインデックスとして、第1の閾値の値を導出することを特徴とする請求項1に記載の算術復号装置。
  3.  前記コンテキストインデックス導出手段は、前記導出された前記CU分割識別子に関するコンテキストインデックスが、前記対象CUの分割深度が第1の分割深度より小さい場合、前記CU分割識別子に関するコンテキストインデックスとして、第1のコンテキストインデックス値を導出し、
     前記対象CUの分割深度が第2の分割深度より大きい場合、前記CU分割識別子に関するコンテキストインデックスとして、第1とは異なる第2のコンテキストインデックス値を導出することを特徴とする請求項1に記載の算術復号装置。
  4.  前記第1の分割深度は、1以上の復号済隣接CU内で最小の分割深度であることを特徴とする請求項3に記載の算術復号装置。
  5.  前記第2の分割深度は、1以上の復号済隣接CU内で最大の分割深度であることを特徴とする請求項3に記載の算術復号装置。
  6.  前記第1のコンテキストインデックス値は、0であることを特徴とする請求項3に記載の算術復号装置。
  7.  前記第2のコンテキストインデックス値は、前記CU分割識別子のコンテキスト数―1の値であることを特徴とする請求項3に記載の算術復号装置。
  8.  対象CUに関するCU分割識別子のシンタックス値をBin列へ符号化するCU分割識別子符号化手段と、
     コンテキストを指定するコンテキストインデックスを導出するコンテキストインデックス導出手段と、
     コンテキストインデックスで指定されるコンテキスト、及びバイパスフラグを参照して、1又は複数のBinからなるBin列を符号化して符号化データを生成する算術符号符号化手段とを備える算術符号化装置であって、
     前記コンテキストインデックス導出手段は、前記対象CUの分割深度、及び1以上の符号化済隣接CUの分割深度に基づいて、前記CU分割識別子に関するコンテキストインデックスを導出することを特徴とする算術符号化装置。
  9.  前記コンテキストインデックス導出手段は、前記導出された前記CU分割識別子に関するコンテキストインデックスが第1の閾値より大きい場合には、前記CU分割識別子に関するコンテキストインデックスとして、第1の閾値の値を導出することを特徴とする請求項8に記載の算術符号化装置。
  10.  前記コンテキストインデックス導出手段は、前記対象CUの分割深度が第1の分割深度より小さい場合、前記CU分割識別子に関するコンテキストインデックスとして、第1のコンテキストインデックス値を導出し、
     前記対象CUの分割深度が第2の分割深度より大きい場合、前記CU分割識別子に関するコンテキストインデックスとして、第1とは異なる第2のコンテキストインデックス値を導出することを特徴とする請求項8に記載の算術符号化装置。
  11.  前記第1の分割深度は、1以上の符号化済隣接CU内で最小の分割深度であることを特徴とする請求項10に記載の算術符号化装置。
  12.  前記第2の分割深度は、1以上の符号化済隣接CU内で最大の分割深度であることを特徴とする請求項10に記載の算術符号化装置。
  13.  前記第1のコンテキストインデックス値は、0であることを特徴とする請求項10に記載の算術符号化装置。
  14.  前記第2のコンテキストインデックスは、前記CU分割識別子のコンテキスト数―1の値であることを特徴とする請求項10に記載の算術符号化装置。
PCT/JP2016/064339 2015-06-18 2016-05-13 算術復号装置及び算術符号化装置 Ceased WO2016203881A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/735,982 US20180160118A1 (en) 2015-06-18 2016-05-13 Arithmetic decoding device and arithmetic coding device
JP2017524732A JPWO2016203881A1 (ja) 2015-06-18 2016-05-13 算術復号装置及び算術符号化装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015122742 2015-06-18
JP2015-122742 2015-06-18

Publications (1)

Publication Number Publication Date
WO2016203881A1 true WO2016203881A1 (ja) 2016-12-22

Family

ID=57545932

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/064339 Ceased WO2016203881A1 (ja) 2015-06-18 2016-05-13 算術復号装置及び算術符号化装置

Country Status (3)

Country Link
US (1) US20180160118A1 (ja)
JP (1) JPWO2016203881A1 (ja)
WO (1) WO2016203881A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018123314A1 (ja) * 2016-12-26 2018-07-05 日本電気株式会社 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置及びプログラム
WO2018123316A1 (ja) * 2016-12-26 2018-07-05 日本電気株式会社 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置及びプログラム
WO2018123312A1 (ja) * 2016-12-26 2018-07-05 日本電気株式会社 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置及びプログラム
WO2018123315A1 (ja) * 2016-12-26 2018-07-05 日本電気株式会社 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置及びプログラム
WO2018123313A1 (ja) * 2016-12-26 2018-07-05 日本電気株式会社 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置及びプログラム
WO2018123317A1 (ja) * 2016-12-26 2018-07-05 日本電気株式会社 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置及びプログラム
WO2019138981A1 (ja) * 2018-01-12 2019-07-18 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法および復号方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PL3389277T3 (pl) * 2010-12-06 2021-04-06 Sun Patent Trust Sposób dekodowania obrazu, urządzenie do dekodowania obrazu
WO2018061550A1 (ja) * 2016-09-28 2018-04-05 シャープ株式会社 画像復号装置及び画像符号化装置
US11284076B2 (en) * 2017-03-22 2022-03-22 Electronics And Telecommunications Research Institute Block form-based prediction method and device
US20210136398A1 (en) * 2018-05-28 2021-05-06 Interdigital Vc Holdings. Inc. Data dependency in coding/decoding
US12301818B2 (en) * 2018-07-02 2025-05-13 Interdigital Vc Holdings, Inc. Context-based binary arithmetic encoding and decoding
KR102472944B1 (ko) * 2018-10-05 2022-12-01 엘지전자 주식회사 변환 계수 코딩 방법 및 그 장치
PH12019000380A1 (en) * 2018-12-17 2020-09-28 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
CN113940072B (zh) 2019-06-19 2025-05-13 索尼集团公司 图像处理装置和方法
PH12022550499A1 (en) * 2019-09-06 2023-02-20 Sony Group Corp Image processing device and method
US11284077B2 (en) * 2019-09-10 2022-03-22 Mediatek Inc. Signaling of subpicture structures
TWI750802B (zh) * 2019-09-10 2021-12-21 聯發科技股份有限公司 視訊編解碼方法及裝置
US11178418B2 (en) * 2019-09-27 2021-11-16 Tencent America LLC Method and apparatus for efficient signaling of picture size and partitioning information in video bitstream
CN111669593B (zh) * 2020-07-27 2022-01-28 北京奇艺世纪科技有限公司 视频编码方法、装置、电子设备和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009534886A (ja) * 2006-04-18 2009-09-24 トムソン ライセンシング 算術符号化方法及びデバイス

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009534886A (ja) * 2006-04-18 2009-09-24 トムソン ライセンシング 算術符号化方法及びデバイス

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ITU-T: "Recommendation ITU-T H.265(04/2013) High efficiency video coding", ITU-T, 30 April 2013 (2013-04-30), pages 164, 181 - 184, XP055337723 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018123314A1 (ja) * 2016-12-26 2018-07-05 日本電気株式会社 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置及びプログラム
WO2018123316A1 (ja) * 2016-12-26 2018-07-05 日本電気株式会社 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置及びプログラム
WO2018123312A1 (ja) * 2016-12-26 2018-07-05 日本電気株式会社 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置及びプログラム
WO2018123315A1 (ja) * 2016-12-26 2018-07-05 日本電気株式会社 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置及びプログラム
WO2018123313A1 (ja) * 2016-12-26 2018-07-05 日本電気株式会社 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置及びプログラム
WO2018123317A1 (ja) * 2016-12-26 2018-07-05 日本電気株式会社 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置及びプログラム
US10536724B2 (en) 2016-12-26 2020-01-14 Nec Corporation Video encoding method, video decoding method, video encoding device, video decoding device, and program
US10542293B2 (en) 2016-12-26 2020-01-21 Nec Corporation Video encoding method, video decoding method, video encoding device, video decoding device, and program
WO2019138981A1 (ja) * 2018-01-12 2019-07-18 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法および復号方法

Also Published As

Publication number Publication date
US20180160118A1 (en) 2018-06-07
JPWO2016203881A1 (ja) 2018-04-26

Similar Documents

Publication Publication Date Title
JP7241159B2 (ja) 算術復号装置
US11405655B2 (en) Image decoding device and image encoding device
WO2016203881A1 (ja) 算術復号装置及び算術符号化装置
JP6441418B2 (ja) 画像復号装置、画像復号方法、画像符号化装置、および画像符号化方法
WO2016203981A1 (ja) 画像復号装置及び画像符号化装置
US10136161B2 (en) DMM prediction section, image decoding device, and image coding device
JP5995448B2 (ja) 画像復号装置、および画像符号化装置
WO2014115283A1 (ja) 画像復号装置、および画像符号化装置
JP2013192118A (ja) 算術復号装置、画像復号装置、算術符号化装置、および画像符号化装置
JP2013118424A (ja) 画像復号装置、画像符号化装置、および符号化データのデータ構造
JP2014176039A (ja) 画像復号装置、および画像符号化装置
JP2023006203A (ja) 画像復号装置及び画像符号化装置
JP2013223051A (ja) 算術復号装置、画像復号装置、算術符号化装置、および画像符号化装置
JP2022188825A (ja) 画像復号装置及び画像符号化装置
JP2024016304A (ja) 画像復号装置及び画像符号化装置
JP6162289B2 (ja) 画像復号装置および画像復号方法
JP2016076904A (ja) Dcオフセット情報復号装置、画像復号装置、およびdcオフセット情報符号化装置。
JP2013251827A (ja) 画像フィルタ装置、画像復号装置、画像符号化装置、およびデータ構造
WO2019139012A1 (ja) 画像フィルタ装置、画像復号装置、画像符号化装置、およびデータ構造
HK1207230B (zh) 算术解码装置

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: 16811356

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017524732

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15735982

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16811356

Country of ref document: EP

Kind code of ref document: A1