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

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

Info

Publication number
WO2018143289A1
WO2018143289A1 PCT/JP2018/003254 JP2018003254W WO2018143289A1 WO 2018143289 A1 WO2018143289 A1 WO 2018143289A1 JP 2018003254 W JP2018003254 W JP 2018003254W WO 2018143289 A1 WO2018143289 A1 WO 2018143289A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
image
quantization parameter
encoding
prediction
Prior art date
Application number
PCT/JP2018/003254
Other languages
English (en)
French (fr)
Inventor
友子 青野
知宏 猪飼
貴也 山本
知典 橋本
Original Assignee
シャープ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2017017372A external-priority patent/JP2020057826A/ja
Application filed by シャープ株式会社 filed Critical シャープ株式会社
Publication of WO2018143289A1 publication Critical patent/WO2018143289A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission

Definitions

  • the present invention relates to an image decoding device and an image encoding device.
  • an image encoding device that generates encoded data by encoding the moving image, and image decoding that generates a decoded image by decoding the encoded data The device is used.
  • the moving image encoding method include a method proposed in H.264 / AVC and HEVC (High-Efficiency Video Coding).
  • an image (picture) constituting a moving image is a slice obtained by dividing the image, a coding unit obtained by dividing the slice (coding unit (Coding Unit : CU)), and a hierarchical structure consisting of a prediction unit (PU) and a transform unit (TU) that are obtained by dividing a coding unit. Decrypted.
  • a predicted image is usually generated based on a local decoded image obtained by encoding / decoding an input image, and the predicted image is generated from the input image (original image).
  • a prediction residual obtained by subtraction (sometimes referred to as “difference image” or “residual image”) is encoded. Examples of methods for generating a predicted image include inter-screen prediction (inter prediction) and intra-screen prediction (intra prediction).
  • Non-Patent Document 1 can be cited as a technique for encoding and decoding moving images in recent years.
  • Non-Patent Document 1 as a division method from a coding tree unit (CTU: Coding Unit) constituting a slice to a coding unit (CU: Coding Unit), QT division that divides a quad tree (quad tree) is performed.
  • QTBT partitioning that performs BT partitioning that splits a binary tree is disclosed. This BT division includes horizontal division and vertical division.
  • Non-Patent Document 2 local control of the quantization parameter QP (for example, updating of QP in units of CU, PU, and TU) is mainly for the purpose of image quality control. , Complexity).
  • QTBT division described in Non-Patent Document 1 the size and shape of selectable CUs increase, and adaptive division according to the texture of the image can be performed as shown in FIG. Compared to fixed block size methods such as MPEG-2 and H.264 and HEVC with only quadtree (square) partitioning, QTBT partitioning selects a region with uniform characteristics as one coding unit (CU) It's easy to do.
  • Non-Patent Document 1 and Non-Patent Document 2 the QP value itself or the difference value derived by the image encoding device is explicitly encoded, and QP using information related to activity such as QTBT division is used. Derivation (control) is not implemented. In addition, derivation (control) of QP using coding parameters related to activities other than QTBT partitioning has not been performed.
  • division information, prediction parameters, quantization parameters, quantization transform coefficients, and other information used for encoding / decoding processing are collectively referred to as division information in the first encoding parameter and the first encoding parameter.
  • Information relating to activities such as the number of quantized transform coefficients and information relating to prediction image generation such as prediction parameters are referred to as second encoding parameters.
  • Non-Patent Document 1 and Non-Patent Document 2 the QP value itself or the difference value derived by the image encoding device is explicitly encoded, and an overhead of the QP code amount is required. In particular, frequently changing the QP in a small area causes a decrease in coding efficiency, so the number of QP changes is often limited.
  • the present invention has been made in view of the above problems, and an object thereof is to provide an image decoding apparatus and an image encoding apparatus capable of improving the image quality of moving images and improving the encoding efficiency. It is in.
  • a quantization parameter (base quantization parameter) is calculated by decoding the syntax of the quantization parameter from the encoded data, and the second encoding parameter related to the activity of the image is referred to.
  • Deriving the quantization parameter and the difference information of each coding unit, adding the base quantization parameter and the difference information to calculate the quantization parameter of each coding unit Dequantizing quantized transform coefficients using the calculated quantization parameter.
  • the image encoding device encodes an image for each encoding unit obtained by dividing an image using a division tree. Specifically, the image division tree (division information), prediction parameters, etc. are determined, the prediction error of the input image and the prediction image is calculated, the prediction error is orthogonally transformed and quantized to calculate the quantized transform coefficient, The first encoding parameter is variable-length encoded, the quantization transform coefficient is inversely quantized and inverse orthogonal transformed to calculate a prediction error, and the prediction error and the prediction image are added to produce a decoded image.
  • a quantization parameter (base quantization parameter) in units of slices is calculated, and the second quantization parameter related to the activity of the image is referred to,
  • the difference information of the encoding parameter and each coding unit is derived, and the base quantization parameter and the difference information are added to calculate the quantization parameter of each coding unit.
  • Quantizing the transform coefficients using quantization parameters calculated in, or inversely quantizes the quantized transform coefficients, information related to the base quantization parameter encoding, the quantization parameter of the coding unit is not encoded.
  • FIG. 1 is a schematic diagram illustrating a configuration of an image transmission system according to an embodiment of the present invention. It is a figure which shows the hierarchical structure of the data of the encoding stream which concerns on one Embodiment of this invention. It is a figure which shows the pattern of PU division
  • FIG. 1 is a schematic diagram showing a configuration of an image transmission system 1 according to the present embodiment.
  • the image transmission system 1 is a system that transmits a code obtained by encoding an encoding target image, decodes the transmitted code, and displays an image.
  • the image transmission system 1 includes an image encoding device 11, a network 21, an image decoding device 31, and an image display device 41.
  • the image encoding device 11 receives an image T indicating a single layer image or a plurality of layers.
  • a layer is a concept used to distinguish a plurality of pictures when there are one or more pictures constituting a certain time. For example, when the same picture is encoded with a plurality of layers having different image quality and resolution, scalable encoding is performed, and when a picture of a different viewpoint is encoded with a plurality of layers, view scalable encoding is performed.
  • inter-layer prediction, inter-view prediction When prediction is performed between pictures of a plurality of layers (inter-layer prediction, inter-view prediction), encoding efficiency is greatly improved. Further, even when prediction is not performed (simultaneous casting), encoded data can be collected.
  • the image decoding device 31 decodes each of the encoded streams Te transmitted by the network 21, and generates one or a plurality of decoded images Td decoded.
  • the image display device 41 displays all or part of one or more decoded images Td generated by the image decoding device 31.
  • the image display device 41 includes, for example, a display device such as a liquid crystal display or an organic EL (Electro-luminescence) display.
  • a display device such as a liquid crystal display or an organic EL (Electro-luminescence) display.
  • an enhancement layer image with high image quality is displayed, and when the image decoding device 31 has a lower processing capability, the enhancement layer A base layer image that does not require high processing ability and display ability is displayed.
  • X? Y: z is a ternary operator that takes y when x is true (non-zero) and takes z when x is false (0).
  • FIG. 2 is a diagram showing a hierarchical structure of data in the encoded stream Te.
  • the encoded stream Te illustratively includes a sequence and a plurality of pictures constituting the sequence.
  • (A) to (f) of FIG. 2 respectively show an encoded video sequence defining a sequence SEQ, an encoded picture defining a picture PICT, an encoded slice defining a slice S, and an encoded slice defining a slice data
  • the encoded video sequence In the encoded video sequence, a set of data referred to by the image decoding device 31 for decoding the sequence SEQ to be processed is defined. As shown in FIG. 2A, the sequence SEQ includes a video parameter set (Video Parameter Set), a sequence parameter set SPS (Sequence Parameter Set), a picture parameter set PPS (Picture Parameter Set), a picture PICT, and an addition. Includes SEI (Supplemental Enhancement Information). Here, the value indicated after # indicates the layer ID.
  • FIG. 2 shows an example in which encoded data of # 0 and # 1, that is, layer 0 and layer 1, exists, but the type of layer and the number of layers are not dependent on this.
  • the video parameter set VPS is a set of coding parameters common to a plurality of moving images, a plurality of layers included in the moving image, and coding parameters related to individual layers in a moving image composed of a plurality of layers.
  • a set is defined.
  • the sequence parameter set SPS defines a set of encoding parameters that the image decoding device 31 refers to in order to decode the target sequence. For example, the width and height of the picture are defined. A plurality of SPSs may exist. In that case, one of a plurality of SPSs is selected from the PPS.
  • a set of encoding parameters referred to by the image decoding device 31 in order to decode each picture in the target sequence is defined.
  • a quantization width reference value (pic_init_qp_minus26) used for picture decoding and a flag (weighted_pred_flag) indicating application of weighted prediction are included.
  • the picture PICT includes slices S0 to S NS-1 (NS is the total number of slices included in the picture PICT).
  • the coded slice In the coded slice, a set of data referred to by the image decoding device 31 for decoding the slice S to be processed is defined. As shown in FIG. 2C, the slice S includes a slice header SH and slice data SDATA.
  • the slice header SH includes an encoding parameter group that is referred to by the image decoding device 31 in order to determine a decoding method of the target slice.
  • Slice type designation information (slice_type) for designating a slice type is an example of an encoding parameter included in the slice header SH.
  • the slice data SDATA includes a coding tree unit (CTU).
  • a CTU is a block of a fixed size (for example, 64x64) that constitutes a slice, and is sometimes called a maximum coding unit (LCU: Large Coding Unit).
  • the coding tree unit is a coding unit (CU: Coding Unit) that is a basic unit of coding processing by recursive quadtree partitioning (QT partitioning) or binary tree partitioning (BT partitioning). , Decoding unit).
  • CU Coding Unit
  • QT partitioning recursive quadtree partitioning
  • BT partitioning binary tree partitioning
  • Decoding unit A tree structure obtained by recursive quadtree partitioning or binary tree partitioning is called a coding tree (CT), and a node of the tree structure is called a coding node (CN).
  • CT coding tree
  • CN coding node
  • the intermediate nodes of the quadtree and the binary tree are coding nodes, and the coding tree unit itself is defined as the highest coding node.
  • CT includes, as CT information, a QT split flag (cu_split_flag) indicating whether or not to perform QT split, and a BT split mode (split_bt_mode) indicating a split method of BT split.
  • cu_split_flag and / or split_bt_mode are transmitted for each coding node CN.
  • cu_split_flag is 1, the encoding node CN is divided into four encoding nodes CN.
  • split_bt_mode is 1, the encoding node CN is horizontally divided into two encoding nodes CN.
  • split_bt_mode When split_bt_mode is 2, the encoding node CN is vertically divided into two encoding nodes CN. When split_bt_mode is 0, the encoding node CN is not divided and has one encoding unit CU as a node.
  • the encoding unit CU is a terminal node (leaf node) of the encoding node and is not further divided.
  • the size of the coding unit is 64x64 pixels, 64x32 pixels, 32x64 pixels, 32x32 pixels, 64x16 pixels, 16x64 pixels, 32x16 pixels, 16x32 pixels, 16x16 pixels.
  • the encoding unit As shown in (f) of FIG. 2, a set of data referred to by the image decoding device 31 in order to decode the encoding unit to be processed is defined.
  • the encoding unit includes a prediction tree, a conversion tree, and a CU header CUH.
  • the CU header defines a prediction mode, a division method (PU division mode), and the like.
  • the prediction parameters (reference picture index, motion vector, etc.) of each prediction unit (PU) obtained by dividing the coding unit into one or a plurality are defined.
  • the prediction unit is one or a plurality of non-overlapping areas constituting the encoding unit.
  • the prediction tree includes one or a plurality of prediction units obtained by the above-described division.
  • a prediction unit obtained by further dividing the prediction unit is referred to as a “sub-block”.
  • the sub block is composed of a plurality of pixels.
  • the number of sub-blocks in the prediction unit is one.
  • the prediction unit is larger than the size of the sub-block, the prediction unit is divided into sub-blocks. For example, when the prediction unit is 8 ⁇ 8 and the sub-block is 4 ⁇ 4, the prediction unit is divided into four sub-blocks that are divided into two horizontally and two vertically.
  • the prediction process may be performed for each prediction unit (sub block).
  • Intra prediction is prediction within the same picture
  • inter prediction refers to prediction processing performed between different pictures (for example, between display times and between layer images).
  • FIG. 3 specifically show the partition shape (the position of the boundary of the PU partition) in each PU partition mode.
  • 3A shows a 2Nx2N partition
  • FIGS. 3B, 3C, and 2D show 2NxN, 2NxnU, and 2NxnD partitions (horizontal partitions), respectively.
  • E), (f), and (g) show partitions (vertical partitions) in the case of Nx2N, nLx2N, and nRx2N, respectively, and (h) shows an NxN partition.
  • the horizontal partition and the vertical partition are collectively referred to as a rectangular partition
  • 2Nx2N and NxN are collectively referred to as a square partition.
  • the encoding unit is divided into one or a plurality of conversion units, and the position and size of each conversion unit are defined.
  • a transform unit is one or more non-overlapping areas that make up a coding unit.
  • the conversion tree includes one or a plurality of conversion units obtained by the above division.
  • the division in the conversion tree includes a case where an area having the same size as that of the encoding unit is assigned as a conversion unit, and a case where recursive quadtree division is used, as in the case of the CU division described above.
  • Conversion processing is performed for each conversion unit.
  • the prediction parameter includes prediction list use flags predFlagL0 and predFlagL1, reference picture indexes refIdxL0 and refIdxL1, and motion vectors mvL0 and mvL1.
  • the prediction list use flags predFlagL0 and predFlagL1 are flags indicating whether or not reference picture lists called L0 list and L1 list are used, respectively, and a reference picture list corresponding to a value of 1 is used.
  • flag indicating whether or not it is XX when “flag indicating whether or not it is XX” is described, when the flag is not 0 (for example, 1) is XX, 0 is not XX, and logical negation, logical product, etc. 1 is treated as true and 0 is treated as false (the same applies hereinafter).
  • flag when the flag is not 0 (for example, 1) is XX, 0 is not XX, and logical negation, logical product, etc. 1 is treated as true and 0 is treated as false (the same applies hereinafter).
  • other values can be used as true values and false values in an actual apparatus or method.
  • Syntax elements for deriving inter prediction parameters included in the encoded data include, for example, PU partition mode part_mode, merge flag merge_flag, merge index merge_idx, inter prediction identifier inter_pred_idc, reference picture index refIdxLX, prediction vector index mvp_LX_idx, There is a difference vector mvdLX.
  • the reference picture list is a list including reference pictures stored in the reference picture memory 306.
  • FIG. 4 is a conceptual diagram illustrating an example of a reference picture and a reference picture list.
  • a rectangle is a picture
  • an arrow is a reference relationship of the picture
  • a horizontal axis is time
  • I, P, and B in the rectangle are an intra picture
  • a single prediction picture a bi-prediction picture
  • numbers in the rectangle are Indicates the decoding order.
  • the decoding order of pictures is I0, P1, B2, B3, and B4
  • the display order is I0, B3, B2, B4, and P1.
  • FIG. 4B shows an example of the reference picture list.
  • the reference picture list is a list representing candidate reference pictures, and one picture (slice) may have one or more reference picture lists.
  • the target picture B3 has two reference picture lists, an L0 list RefPicList0 and an L1 list RefPicList1.
  • the reference pictures are I0, P1, and B2, and the reference picture has these pictures as elements.
  • refIdxLX the reference picture index
  • the figure shows an example in which reference pictures P1 and B2 are referred to by refIdxL0 and refIdxL1.
  • the prediction parameter decoding (encoding) method includes a merge prediction (merge) mode and an AMVP (Adaptive Motion Vector Prediction) mode.
  • the merge flag merge_flag is a flag for identifying these.
  • the merge mode is a mode in which the prediction list use flag predFlagLX (or inter prediction identifier inter_pred_idc), the reference picture index refIdxLX, and the motion vector mvLX are not included in the encoded data and are derived from the prediction parameters of already processed neighboring PUs.
  • the AMVP mode is a mode in which the inter prediction identifier inter_pred_idc, the reference picture index refIdxLX, and the motion vector mvLX are included in the encoded data.
  • the motion vector mvLX is encoded as a prediction vector index mvp_LX_idx for identifying the prediction vector mvpLX and a difference vector mvdLX.
  • the inter prediction identifier inter_pred_idc is a value indicating the type and number of reference pictures, and takes one of PRED_L0, PRED_L1, and PRED_BI.
  • PRED_L0 and PRED_L1 indicate that reference pictures managed by the reference picture lists of the L0 list and the L1 list are used, respectively, and that one reference picture is used (single prediction).
  • PRED_BI indicates that two reference pictures are used (bi-prediction BiPred), and reference pictures managed by the L0 list and the L1 list are used.
  • the prediction vector index mvp_LX_idx is an index indicating a prediction vector
  • the reference picture index refIdxLX is an index indicating a reference picture managed in the reference picture list.
  • LX is a description method used when L0 prediction and L1 prediction are not distinguished from each other. By replacing LX with L0 and L1, parameters for the L0 list and parameters for the L1 list are distinguished.
  • the merge index merge_idx is an index that indicates whether one of the prediction parameter candidates (merge candidates) derived from the processed PU is used as the prediction parameter of the decoding target PU.
  • the motion vector mvLX indicates a shift amount between blocks on two different pictures.
  • a prediction vector and a difference vector related to the motion vector mvLX are referred to as a prediction vector mvpLX and a difference vector mvdLX, respectively.
  • FIG. 5 is a schematic diagram illustrating a configuration of the image decoding device 31 according to the present embodiment.
  • the image decoding device 31 includes an entropy decoding unit 301, a prediction parameter decoding unit (prediction image decoding device) 302, a loop filter 305, a reference picture memory 306, a prediction parameter memory 307, a prediction image generation unit (prediction image generation device) 308, and inversely.
  • a quantization / inverse transform unit 311 and an adder 312 are included.
  • the prediction parameter decoding unit 302 includes an inter prediction parameter decoding unit 303 and an intra prediction parameter decoding unit 304.
  • the predicted image generation unit 308 includes an inter predicted image generation unit 309 and an intra predicted image generation unit 310.
  • the entropy decoding unit 301 performs entropy decoding on the coded stream Te input from the outside, and separates and decodes individual codes (syntax elements).
  • the separated code includes a prediction parameter for generating a prediction image and residual information for generating a difference image.
  • the entropy decoding unit 301 outputs a part of the separated code to the prediction parameter decoding unit 302. Some of the separated codes are, for example, the prediction mode predMode, the PU partition mode part_mode, the merge flag merge_flag, the merge index merge_idx, the inter prediction identifier inter_pred_idc, the reference picture index ref_Idx_lX, the prediction vector index mvp_LX_idx, and the difference vector mvdLX. Control of which code is decoded is performed based on an instruction from the prediction parameter decoding unit 302.
  • the entropy decoding unit 301 outputs the quantized coefficient to the inverse quantization / inverse transform unit 311. This quantization coefficient is a coefficient obtained by performing an orthogonal transform such as DCT (Discrete Cosine Transform) on the residual signal in the encoding process and quantizing.
  • DCT Discrete Cosine Transform
  • the decoding module 1004 performs a decoding process for decoding the syntax value from the encoded data. Based on the encoded data and syntax type supplied from the header decoding unit 1001, CT information decoding unit 1002, and CU decoding unit 1003, the decoding module 1004 uses a fixed-length encoding method or an entropy encoding method such as CABAC. Decodes the encoded syntax value and returns the decoded syntax value to the supplier.
  • the header decoding unit 1001 uses the decoding module 1004 to decode the VPS, SPS, PPS, and slice header of the encoded data input from the image encoding device 11.
  • the CT information decoding unit 1002 uses the decoding module 1004 to perform decoding processing of the encoding tree unit and the encoding tree from the encoded data input from the image encoding device 11.
  • the CT information decoding unit 1002 uses the decoding module 1004 to decode the tree unit header CTUH as CTU information included in the CTU.
  • the CT information decoding unit 1002 indicates, as CT information, a QT division flag indicating whether or not the target CT is QT-divided, and whether or not the target CT is BT-divided, and in the case of BT division, indicates a BT division method
  • the BT division mode is decoded, and the target CT is recursively divided and decoded until the QT division flag and the BT division mode no longer notify further division.
  • the tree unit footer CTUF is further decoded as CTU information.
  • the tree unit header CTUH and the tree unit footer CTUF include coding parameters referred to by the image decoding device 31 in order to determine a decoding method of the target coding tree unit.
  • the CT information may include parameters applied in the target CT and lower coding nodes.
  • the inter prediction parameter decoding unit 303 outputs the decoded inter prediction parameter to the prediction image generation unit 308 and stores it in the prediction parameter memory 307.
  • the intra prediction parameter decoding unit 304 refers to the prediction parameter stored in the prediction parameter memory 307 on the basis of the code input from the entropy decoding unit 301 and decodes the intra prediction parameter.
  • the intra prediction parameter is a parameter used in a process of predicting a CU within one picture, for example, an intra prediction mode IntraPredMode.
  • the intra prediction parameter decoding unit 304 outputs the decoded intra prediction parameter to the prediction image generation unit 308 and stores it in the prediction parameter memory 307.
  • the loop filter 305 applies filters such as a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) to the decoded image of the CU generated by the adding unit 312.
  • filters such as a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) to the decoded image of the CU generated by the adding unit 312.
  • the reference picture memory 306 stores the decoded image of the CU generated by the adding unit 312 at a predetermined position for each decoding target picture and CU.
  • the prediction parameter memory 307 stores the prediction parameter in a predetermined position for each decoding target picture and prediction unit (or sub-block, fixed-size block, pixel). Specifically, the prediction parameter memory 307 stores the inter prediction parameter decoded by the inter prediction parameter decoding unit 303, the intra prediction parameter decoded by the intra prediction parameter decoding unit 304, and the prediction mode predMode separated by the entropy decoding unit 301. .
  • the stored inter prediction parameters include, for example, a prediction list utilization flag predFlagLX (inter prediction identifier inter_pred_idc), a reference picture index refIdxLX, and a motion vector mvLX.
  • the prediction image generation unit 308 receives the prediction mode predMode input from the entropy decoding unit 301 and the prediction parameter from the prediction parameter decoding unit 302. Further, the predicted image generation unit 308 reads a reference picture from the reference picture memory 306. The prediction image generation unit 308 generates a prediction image of the PU using the input prediction parameter and the read reference picture in the prediction mode indicated by the prediction mode predMode.
  • the inter prediction image generation unit 309 uses the inter prediction parameter input from the inter prediction parameter decoding unit 303 and the read reference picture to perform prediction of the PU by inter prediction. Is generated.
  • the inter prediction image generation unit 309 performs a motion vector on the basis of the decoding target PU from the reference picture indicated by the reference picture index refIdxLX for a reference picture list (L0 list or L1 list) having a prediction list use flag predFlagLX of 1.
  • the reference picture block at the position indicated by mvLX is read from the reference picture memory 306.
  • the inter prediction image generation unit 309 performs prediction based on the read reference picture block to generate a prediction image of the PU.
  • the inter prediction image generation unit 309 outputs the generated prediction image of the PU to the addition unit 312.
  • the intra predicted image generation unit 310 When the prediction mode predMode indicates the intra prediction mode, the intra predicted image generation unit 310 performs intra prediction using the intra prediction parameter input from the intra prediction parameter decoding unit 304 and the read reference picture. Specifically, the intra predicted image generation unit 310 reads, from the reference picture memory 306, neighboring PUs that are pictures to be decoded and are in a predetermined range from the decoding target PUs among the PUs that have already been decoded.
  • the predetermined range is, for example, one of the left, upper left, upper, and upper right adjacent PUs when the decoding target PU sequentially moves in the so-called raster scan order, and differs depending on the intra prediction mode.
  • the raster scan order is an order in which each row is sequentially moved from the left end to the right end in each picture from the upper end to the lower end.
  • the intra predicted image generation unit 310 performs prediction in the prediction mode indicated by the intra prediction mode IntraPredMode for the read adjacent PU, and generates a predicted image of the PU.
  • the intra predicted image generation unit 310 outputs the generated predicted image of the PU to the adding unit 312.
  • the inverse quantization / inverse transform unit 311 performs inverse quantization on the quantization coefficient input from the entropy decoding unit 301 to obtain a DCT coefficient.
  • the inverse quantization / inverse transform unit 311 performs inverse orthogonal transform such as inverse DCT (Inverse Discrete Cosine Transform) on the obtained orthogonal transform coefficient such as DCT coefficient, and calculates a residual signal.
  • the inverse quantization / inverse transform unit 311 outputs the calculated residual signal to the adder 312.
  • the addition unit 312 adds the prediction image of the PU input from the inter prediction image generation unit 309 or the intra prediction image generation unit 310 and the residual signal input from the inverse quantization / inverse conversion unit 311 for each pixel, Generate a decoded PU image.
  • the adding unit 312 stores the generated decoded image of the PU in the reference picture memory 306, and outputs a decoded image Td in which the generated decoded image of the PU is integrated for each picture to the outside.
  • FIG. 6 is a block diagram illustrating a configuration of the image encoding device 11 according to the present embodiment.
  • the image encoding device 11 includes a predicted image generation unit 101, a subtraction unit 102, a transform / quantization unit 103, an entropy encoding unit 104, an inverse quantization / inverse transform unit 105, an addition unit 106, a loop filter 107, and a prediction parameter memory.
  • the prediction parameter encoding unit 111 includes an inter prediction parameter encoding unit 112 and an intra prediction parameter encoding unit 113.
  • the subtraction unit 102 subtracts the signal value of the predicted image P of the PU input from the predicted image generation unit 101 from the pixel value of the corresponding PU of the image T, and generates a residual signal.
  • the subtraction unit 102 outputs the generated residual signal to the transform / quantization unit 103.
  • the transform / quantization unit 103 performs orthogonal transform on the residual signal input from the subtraction unit 102 and calculates a transform coefficient.
  • the transform / quantization unit 103 quantizes the calculated transform coefficient to obtain a quantized coefficient.
  • the transform / quantization unit 103 outputs the obtained quantization coefficient to the entropy coding unit 104 and the inverse quantization / inverse transform unit 105.
  • the entropy encoding unit 104 receives a quantization coefficient from the transform / quantization unit 103 and receives a prediction parameter from the prediction parameter encoding unit 111.
  • the input prediction parameters include, for example, codes such as a reference picture index ref_Idx_lX, a prediction vector index mvp_LX_idx, a difference vector mvdLX, a prediction mode pred_mode_flag, and a merge index merge_idx.
  • the entropy encoding unit 104 entropy-encodes the input division information, prediction parameters, quantization transform coefficients, and the like to generate an encoded stream Te, and outputs the generated encoded stream Te to the outside.
  • the entropy encoding unit 104 includes a header encoding unit 1101, a CT information encoding unit 1102, a CU encoding unit 1103, and an encoding module 1104.
  • the entropy encoding unit 104 encodes the header information supplied from the prediction parameter encoding unit 111, the prediction parameter, and the quantized transform coefficient supplied from the transform / quantization unit 103, and outputs encoded data.
  • the header encoding unit 1101 encodes the VPS, SPS, PPS, and slice header using the encoding module 1104.
  • the CT information encoding unit 1102 uses the encoding module 1104 to perform CTU and CT encoding processing.
  • the CT information encoding unit 1102 uses the encoding module 1104 to encode the tree unit header CTUH as CTU information included in the CTU.
  • the CT information encoding unit 1102 uses, as CT information, a QT division flag indicating whether or not to subject the target CT to QT division, whether or not to subject the target CT to BT division, and a division method in the case of BT division.
  • the BT division mode shown is encoded, and the target CT is recursively divided and encoded until the QT division flag and the BT division mode no longer notify further division.
  • the tree unit footer CTUF is further encoded as CTU information.
  • the tree unit header CTUH and the tree unit footer CTUF include coding parameters referred to by the image decoding device 31 in order to determine a decoding method of the target coding tree unit.
  • the CT information may include parameters applied in the target CT and lower coding nodes.
  • the CU encoding unit 1103 includes PUI information (merge flag (merge_flag), merge index (merge_idx), prediction motion vector index (mvp_idx), reference image index (ref_idx_lX), interlaced encoding node CN (ie, CU) Prediction identifier (inter_pred_flag), difference vector (mvdLX, etc.), quantization prediction residual (residual_coding), and TTI information (TU partition flag SP_TU (split_transform_flag), CU residual flag CBP_TU (cbf_cb, cbf_cr, cbf_luma), etc.) Are encoded using the encoding module 1104.
  • PUI information merge flag (merge_flag), merge index (merge_idx), prediction motion vector index (mvp_idx), reference image index (ref_idx_lX), interlaced encoding node CN (ie, CU)
  • the encoding module 1104 performs an encoding process for encoding various prediction parameters, quantization transform coefficients, and the like in a fixed-length encoding method or entropy encoding. More specifically, the encoding module 1104 encodes the header encoding unit 1101, the CTU information encoding unit 1102, and the CU encoding unit 1103 using a fixed-length encoding or an entropy encoding scheme such as CABAC, and performs encoding. Output data.
  • the inverse quantization / inverse transform unit 105 inversely quantizes the quantization coefficient input from the transform / quantization unit 103 to obtain a transform coefficient.
  • the inverse quantization / inverse transform unit 105 performs inverse transform on the obtained transform coefficient to calculate a residual signal.
  • the inverse quantization / inverse transform unit 105 outputs the calculated residual signal to the addition unit 106.
  • the addition unit 106 adds the signal value of the prediction image P of the PU input from the prediction image generation unit 101 and the signal value of the residual signal input from the inverse quantization / inverse conversion unit 105 for each pixel, and performs decoding. Generate an image.
  • the adding unit 106 stores the generated decoded image in the reference picture memory 109.
  • the loop filter 107 performs a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) on the decoded image generated by the adding unit 106.
  • SAO sample adaptive offset
  • ALF adaptive loop filter
  • the prediction parameter memory 108 stores the prediction parameter generated by the encoding parameter determination unit 110 at a predetermined position for each encoding target picture and CU.
  • the reference picture memory 109 stores the decoded image generated by the loop filter 107 at a predetermined position for each picture to be encoded and each CU.
  • the encoding parameter determination unit 110 selects one set from among a plurality of sets of encoding parameters.
  • the encoding parameter is a parameter to be encoded that is generated in association with the above-described QTBT division parameter and prediction parameter.
  • the predicted image generation unit 101 generates a predicted image P of the PU using each of these encoding parameter sets.
  • the encoding parameter determination unit 110 calculates an RD cost value indicating the amount of information and the encoding error for each of a plurality of sets.
  • the RD cost value is, for example, the sum of a code amount and a square error multiplied by a coefficient ⁇ .
  • the code amount is the information amount of the encoded stream Te obtained by entropy encoding the quantization error and the encoding parameter.
  • the square error is the sum between pixels regarding the square value of the residual value of the residual signal calculated by the subtracting unit 102.
  • the coefficient ⁇ is a real number larger than a preset zero.
  • the encoding parameter determination unit 110 selects a set of encoding parameters that minimizes the calculated RD cost value.
  • the entropy encoding unit 104 outputs the selected set of encoding parameters to the outside as the encoded stream Te, and does not output the set of unselected encoding parameters.
  • the encoding parameter determination unit 110 stores the determined encoding parameter in the prediction parameter memory 108.
  • the prediction parameter encoding unit 111 derives a format for encoding from the parameters input from the encoding parameter determination unit 110 and outputs the format to the entropy encoding unit 104. Deriving the format for encoding is, for example, deriving a difference vector from a motion vector and a prediction vector. Also, the prediction parameter encoding unit 111 derives parameters necessary for generating a prediction image from the parameters input from the encoding parameter determination unit 110 and outputs the parameters to the prediction image generation unit 101.
  • the parameter necessary for generating the predicted image is, for example, a motion vector in units of sub-blocks.
  • the inter prediction parameter encoding unit 112 derives an inter prediction parameter such as a difference vector based on the prediction parameter input from the encoding parameter determination unit 110.
  • the inter prediction parameter encoding unit 112 derives parameters necessary for generating a prediction image to be output to the prediction image generating unit 101, and an inter prediction parameter decoding unit 303 (see FIG. 5 and the like) derives inter prediction parameters.
  • Some of the configurations are the same as the configuration to be performed.
  • QP is encoded with the PPS and the slice header, respectively, and the information encoded on the image decoding apparatus side is decoded and used for inverse quantization.
  • the CU-unit quantization parameter cuQP is expressed using a base QP (slice QP) and a cuQP difference value dcuQP uniquely determined according to, for example, the size of the CU illustrated in FIG. As shown in FIG.
  • the quantization parameter difference value dcuQP determined for each CU size uses the same value predetermined by the image encoding device and the image decoding device. Therefore, the image decoding apparatus can calculate cuQP from the base QP and the CU size without encoding the difference value dcuQP from the base QP (slice QP).
  • x is an index corresponding to the size of the target CU (the area of the CU in FIG. 12 (1)) and can be derived from the following equation.
  • x clip3 (0, 5, (log2CtbWidth + log2CtbHeight)-(log2CbWidth + log2CbHeight)-3)
  • log2CbWidth and log2CbHeight are logarithmic values of 2 of CU width CbWidth and height CbHeight
  • log2CtbWidth and log2CtbHeight are logarithmic values of 2 of CTU width and height. Note that x may be determined regardless of the CTU size. For example, it is derived from the following equation.
  • DQPTBL is, for example, the following table.
  • DQPTBL [] ⁇ -6, -3, 0, 1, 2, 4 ⁇
  • Fig. 12 (1) when CU size is large, QP is reduced (dcuQP is a negative value), and when CU size is small, QP is increased (dcuQP is a positive value), resulting in visually good image quality. Is realized.
  • cuQP is derived when a QTBT division pattern is derived.
  • the QTBT division pattern control unit 131 sets all patterns of QTBT division that can be taken by the CU in accordance with the size of the CTU and cuQP corresponding to the CU size as shown in FIG.
  • the types of division patterns are 64x64, 32x32, 16x16, 8x8, 4x4 for QT division, and 32x32, 16x16, 8x8, 4x4 and 64x32, 32x64, 64x16, 16x64, 64x8, 32x16, BT division 16x32, 8x64, 64x4, 32x8, 8x32, 4x64, 32x4, 16x8, 8x16, 4x32, 16x4, 4x16, 8x4, 4x8.
  • FIG. 14 shows the entire division pattern of the CU when the CTU is 64 ⁇ 64
  • FIG. 15 shows the CTU when the CTU is 128 ⁇ 128.
  • the cost storage unit 132 stores the RD cost derived from the code amount R calculated for each division pattern and the error D such as SAD, SSD, and SSTD obtained from the difference between the input image and the reproduced image after the loop filter.
  • RD cost D + ⁇ ⁇ R, ⁇ is a parameter determined according to QP.
  • the QTBT partition pattern determination unit 133 determines a partition pattern (QT partition flag and BT partition mode in each partition layer) that optimizes the RD cost from among the combinations. Using the QTBT division pattern and cuQP determined here, the image encoding apparatus in FIG. 6 performs an actual encoding process.
  • x is an index corresponding to the CU size (area).
  • FIG. 17 is a diagram in which dcuQP of FIG. 12 (1) is added to the QTBT split tree diagram of FIG.
  • a difference value dcuQP between the quantization parameter sliceQP in units of slices and the quantization parameter cuQP of the CU is automatically determined according to the size of the CU.
  • FIG. 18 is a flowchart for explaining the QTBT division pattern derivation process of the encoding parameter determination unit 110.
  • the transform / quantization unit 103 performs transform and quantization on the error image between the input image and the prediction image generated by the prediction image generation unit 101 for each QTBT division pattern specified by the QTBT division pattern control unit 131.
  • the quantized transform coefficients are output to the entropy coding unit 104 and the inverse quantization / inverse transform unit 105.
  • cuQP derived by the QTBT division pattern control unit 131 is used.
  • the loop filter 107 applies a loop filter to the decoded image output from the inverse quantization / inverse transform unit 105 to create a reproduced image.
  • the entropy encoding unit 104 entropy-encodes and encodes the header information, the quantized transform coefficient generated by the transform / quantization unit 103, and various prediction parameters derived by the prediction parameter encoding unit 111 (not shown).
  • the code amount of the data is output to the cost storage unit 132.
  • the entropy encoding unit 104 does not output encoded data.
  • the cost storage unit 132 stores the division pattern of each CU output from the entropy encoding unit 104, the code amount R, the input image, and the error D of the output image of the loop filter 107 in association with each other.
  • the QTBT division pattern control unit 131 checks whether all CTU division patterns have been processed. If all divided patterns have not been processed, the process proceeds to S1808. If all divided patterns have been processed, the process proceeds to S1809.
  • the QTBT division pattern control unit 131 sets the next division pattern in the CTU and the corresponding cuQP, and repeats the processing from S1802.
  • the QTBT division pattern determination unit 133 reads the code amount corresponding to all the QTBT division patterns of the CTU and the comparison result from the cost storage unit 132, respectively. Then, a QTBT division pattern corresponding to the optimum cost (code amount versus comparison result) is determined and output.
  • FIG. 19 is a flowchart for explaining the operation of the CT information encoding unit 1102 according to an embodiment of the present invention.
  • the CT information encoding unit 1102 encodes CT information (QT division flag) and recursively encodes a coding tree CT (coding_quadtree). Specifically, the CT information encoding unit 1102 encodes QT information that is an encoding tree having an upper left coordinate (x0, y0), a size CbSize, and a QT depth cqtDepth indicating a hierarchy of the encoding tree.
  • the CT information encoding unit 1102 determines whether or not the QT division flag needs to be encoded. Specifically, the CT information encoding unit 1102 determines whether or not the logarithmic CB size log2CbSize is larger than a logarithmic value MinCbLog2SizeY of a predetermined minimum CB size. If the log CB size log2CbSize is larger than MinCbLog2SizeY, it is determined that the QT division flag needs to be encoded, and the process proceeds to S1902. Otherwise, the process proceeds to S1903.
  • the logarithmic CB size log2CbSize is a logarithm of 2 of the CU size.
  • the CT information encoding unit 1102 encodes a QT split flag (split_cu_flag) that is a syntax element.
  • the CT information encoding unit 1102 performs QT division. Specifically, the CT information encoding unit 1102 calculates the logarithmic CB size log2CbSize ⁇ at the positions (x0, y0), (x1, y0), (x0, y1), (x1, y1) of the CT layer cqtDepth + 1.
  • Four encoding nodes CN (CU) of 1 are encoded.
  • the CT information encoding unit 1102 adds 1 to the CT hierarchy cqtDepth indicating the hierarchy of the encoding tree, and subtracts the log CB size log2CbSize, which is the logarithmic value of the encoding unit size, by 1 (the CB size is halved). ) And update.
  • the CT information encoding unit 1102 continues the QT information encoding started from S1901 using the updated upper left coordinate, logarithmic CB size, and CT layer even in the lower encoding tree CT.
  • the CT information encoding unit 1102 encodes CT information (BT division mode), and recursively encodes a tree CT (coding_binarytree), specifically, upper left coordinates (x0, y0), width CbWidth, high
  • coding_binarytree specifically, upper left coordinates (x0, y0), width CbWidth, high
  • the coding tree of CbHeight, QT depth cqtDepth, and BT depth cbtDepth indicating the BT tree hierarchy is coded.
  • the CT information encoding unit 1102 determines whether or not encoding of the BT division mode (division information) is necessary. Specifically, the CT information encoding unit 1102 has a coding tree height (1 ⁇ log2CbHeight) larger than minBTSize, or a coding tree width (1 ⁇ log2CbWidth) larger than minBTSize, and It is determined whether the coding tree width (1 ⁇ log2CbWidth) is maxBTSize or less, the coding tree height (1 ⁇ log2CbHeight) is maxBTSize or less, and cbtDepth is smaller than maxBTDepth (below) Then, it is called a predetermined condition).
  • minBTSize is the minimum BT size (minimum size of the binary tree leaf node)
  • maxBTSize is the maximum BT size (maximum size of the binary tree leaf node)
  • maxBTDepth is Maximum BT depth (maximum binary tree depth).
  • the CT information encoding unit 1102 encodes the BT division mode split_bt_mode [x0] [y0], which is a syntax element, when the above predetermined condition is satisfied.
  • the CT information encoding unit 1102 performs BT division. Specifically, when the BT division mode split_bt_mode [x0] [y0] is 1, the CT information encoding unit 1102 has a width at the positions (x0, y0) and (x0, y1) of the CT layer cbtDepth + 1. And two encoding nodes CN whose logarithmic values of height are log2CbWidth and log2CbHeight-1, respectively.
  • the CT information encoding unit 1102 has the width and height at the positions (x0, y0) and (x1, y0) of the CT layer cbtDepth + 1.
  • the two encoding nodes CN whose logarithmic values are log2CbWidth-1 and log2CbHeight are encoded.
  • x0 and y0 are the upper left coordinates of the target coding tree
  • x1 and y1 are (x0, y0) and (1 ⁇ log2CbWidth) 1/2 and (1 ⁇ log2CbHeight) is derived by adding 1/2 of each.
  • the CT information encoding unit 1102 adds 1 to the CT hierarchy cbtDepth indicating the hierarchy of the encoding tree, and subtracts and updates log2CbWidth or log2CbHeight by 1.
  • CT information encoding unit 1102 continues the BT information encoding starting from S1906 using the updated upper left coordinates, the logarithmic values of the width and height of the CT, and the BT hierarchy also in the lower encoding tree CT. To do.
  • the CT information encoding unit 1102 derives the difference value dcuQP between the cuQP and sliceQP of the target CU, referring to the DQPTBL [] in FIG. 12 (1), from the CU size derived by the above QTBT division .
  • CT information encoding is an encoding method assuming that the QT tree and the BT tree are in different layers.
  • QT division cannot be performed after BT division, but it is not necessary to determine whether or not there is a QT division flag after BT division.
  • the present embodiment is not limited to this, and an encoding method assuming that the QT tree and the BT tree are in the same layer may be employed. In this case, both QT division and BT division can be selected, that is, QT division can be performed even after BT division, but it is necessary to determine the presence or absence of the QT division flag every time.
  • FIG. 20 shows a flowchart of operations related to quantization parameter calculation and encoding.
  • the header encoding unit 1101 in FIG. 11 encodes the quantization parameter picQP-26 for each picture as pic_init_qp_minus26.
  • the header encoding unit 1101 calculates the difference value dsliceQP between the quantization parameter sliceQP and picQP in slice units using the following equation.
  • the header encoding unit 1101 is output from the encoding parameter determination unit 110 in FIG. 6, and is obtained by referring to DQPTBL [] in FIG. 12 (1) and the index x corresponding to the CU size. From the value dcuQP and the base QP (sliceQP), the CU-unit quantization parameter cuQP is calculated by the following equation and output.
  • dcuQP DQPTBL [x]
  • cuQP Base QP (sliceQP) + dcuQP
  • dcuQP is a difference value from sliceQP, and each CU obtains cuQP by adding dcuQP to sliceQP.
  • the difference value in CU units is derived from DQPTBL [] based on the CU size.
  • a second encoding parameter described later may be used in addition to the CU size.
  • the base QP is not limited to a value calculated in units of slices, and may be a QP calculated by decoding the syntax of quantization parameters from encoded data in units of blocks.
  • the size of the block (first unit, for example, slice) for decoding the base QP is preferably larger than the unit (second unit, for example, CU) for calculating the difference QP.
  • CT information decoding S2100 by the CT information decoding unit 1002 QT information decoding and BT information decoding are performed.
  • QT information decoding and BT information decoding by the CT information decoding unit 1002 will be described in order.
  • the CT information decoding unit 1002 decodes CT information (QT division flag) from the encoded data, and recursively decodes the coding tree CT (coding_quadtree). Specifically, CT information decoding unit 1002 Decodes QT information, which is an encoding tree having an upper left coordinate (x0, y0), a size CbSize, and a QT depth cqtDepth indicating the hierarchy of the encoding tree.
  • the CT information decoding unit 1002 determines whether or not there is a QT division flag in the decoded CB information. Specifically, the CT information decoding unit 1002 determines whether or not the logarithmic CB size log2CbSize is larger than a logarithmic value MinCbLog2SizeY of a predetermined minimum CB size. If the log CB size log2CbSize is larger than MinCbLog2SizeY, it is determined that there is a QT division flag, and the process proceeds to S2102. Otherwise, the process proceeds to S2103.
  • the CT information decoding unit 1002 decodes the QT split flag (split_cu_flag) that is a syntax element.
  • CT information decoding section 1002 determines that QT division flag split_cu_flag does not appear in the encoded data, QT division flag split_cu_flag from the encoded data And the QT split flag split_cu_flag is derived as 0.
  • the CT information decoding unit 1002 performs QT division. Specifically, the CT information decoding unit 1002 calculates the logarithmic CB size log2CbSize-1 at the position (x0, y0), (x1, y0), (x0, y1), (x1, y1) of the CT layer cqtDepth + 1.
  • the four coding nodes CN (CU) are decoded.
  • the CT information decoding unit 1002 adds 1 to the CT hierarchy cqtDepth indicating the hierarchy of the coding tree, and subtracts the log CB size log2CbSize, which is the logarithmic value of the coding unit size, by 1 (CB size is halved). And update.
  • the CT information decoding unit 1002 continues the QT information decoding started from S2101 using the updated upper left coordinate, logarithmic CB size, and CT layer even in the lower-order coding tree CT.
  • the CT information decoding unit 1002 decodes CT information (BT partition mode) from the encoded data, and recursively encodes a tree CT (coding_binarytree), that is, upper left coordinates (x0, y0), width CbWidth, high
  • coding_binarytree a tree CT (coding_binarytree)
  • the target coding tree of CbHeight, QT depth cqtDepth, and BT depth cbtDepth indicating the hierarchy of the BT tree is decoded.
  • minBTSize is the minimum BT size (minimum size of the binary tree leaf node)
  • maxBTSize is the maximum BT size (maximum size of the binary tree leaf node)
  • maxBTDepth is Maximum BT depth (maximum binary tree depth).
  • the CT information decoding unit 1002 encodes in other cases (when the above predetermined condition is not satisfied), that is, when the BT division mode split_bt_mode [x0] [y0] does not appear in the encoded data. Decoding the BT split mode split_bt_mode [x0] [y0] from the data is omitted, and the BT split mode split_bt_mode [x0] [y0] is derived as 0.
  • the CT information decoding unit 1002 performs BT division. Specifically, when the BT partition mode split_bt_mode [x0] [y0] is 1, the CT information decoding unit 1002 uses the CT layer cbtDepth + 1 position (x0, y0), (x0, y1), the width and Two encoding nodes CN whose logarithmic values of height are log2CbWidth and log2CbHeight-1 are decoded.
  • the CT information decoding unit 1002 has the width and height at the positions (x0, y0) and (x1, y0) of the CT layer cbtDepth + 1.
  • Two encoding nodes CN whose logarithmic values are log2CbWidth-1 and log2CbHeight are decoded.
  • the CT information decoding unit 1002 adds 1 to the CT hierarchy cbtDepth indicating the hierarchy of the coding tree, and subtracts and updates log2CbWidth or log2CbHeight by 1.
  • the CT information decoding unit 1002 derives the difference value dcuQP between the cuQP and sliceQP of the target CU with reference to the DQPTBL [] in FIG. 12 (1) from the size of the CU derived by the above QTBT division.
  • the CT information decoding described above is a decoding method assuming that the QT tree and the BT tree are in different layers.
  • QT division cannot be performed after BT division, but it is not necessary to determine whether or not there is a QT division flag after BT division.
  • the present embodiment is not limited to this, and a decoding method assuming that the QT tree and the BT tree are in the same layer may be employed. In this case, both QT division and BT division can be selected, that is, QT division can be performed even after BT division, but it is necessary to determine the presence or absence of the QT division flag every time.
  • FIG. 22 shows a flowchart of operations related to quantization parameter decoding and calculation.
  • the header decoding unit 1001 in FIG. 10 decodes pic_init_qp_minus26 and calculates a quantization parameter picQP for each picture.
  • the header decoding unit 1001 decodes picQP and the difference value dsliceQP of the quantization parameter in slice units.
  • the header decoding unit 1001 calculates sliceQP using the following equation.
  • the header decoding unit 1001 calculates the CU-unit quantization parameter cuQP from the CU-unit difference value dcuQP obtained by referring to DQPTBL [] in FIG. 12 (1) and the index x corresponding to the CU size, and sliceQP. Is calculated by the following formula and output.
  • dcuQP DQPTBL [x]
  • cuQP Base QP (sliceQP) + dcuQP
  • dcuQP is a difference value between sliceQP and the quantization parameter cuQP of the current CU, and each CU obtains cuQP by adding dcuQP to sliceQP.
  • the difference value in CU units is derived from DQPTBL [] based on the CU size.
  • a second encoding parameter described later may be used in addition to the CU size.
  • the differential quantization parameter is set for each CU using the second encoding parameter, in particular, the variable-size / variable-shaped QTBT division pattern according to the shape of the object.
  • the QP can be set small by having a negative difference value with respect to the slice QP, and when the CU size is small, the QP can be set large by having a positive difference value with respect to the slice QP.
  • This makes it possible to realize subjectively good image quality by reducing the quantization pattern in a flat texture and smooth gradation area with a large CU size and preventing pseudo contours.
  • noise is not noticeable in a complex texture area with a small CU size, subjective deterioration is hardly noticeable even if the quantization pattern is increased.
  • Figure 23 shows the number of quantized transform coefficients per CU when cuQP is fixed to 22, 27, 32, and 37 for the entire picture in five types of moving images with HD resolution (1920x1080) for each CU size.
  • CU width xCU height is 128x128, 128x64, 128x32, 64x128, 64x64, 32x128 for CU size 4096 or more
  • CU width xCU height is 128x16, 128x8, 64x32, 64x16, 32x64 32x32, 16x128, 16x64, 8x128,
  • CU size 512 to 1023 is CU width xCU height is 128x4, 64x8, 32x16, 16x32, 8x64, 4x128,
  • CU size 256 to 511 is CU width xCU height, 64x4, 32x8, 16x16, 8x32, 4x64, CU size 128-255 is CU width xCU height is 32x4, 16x8, 8x16, 4x32, CU
  • FIG. 24 (1) shows the number of quantized transform coefficients per unit area in the CU in the case of the I picture and (2) is the B picture.
  • the difference value dcuQP in Fig. 12 (1) is an example.
  • I) When dCUQP is a negative value when the current CU size is larger than the CU size corresponding to the index x where DQPTBL [x] 0
  • a correspondence table other than that shown in FIG. 12 (1) may be set within a range that satisfies the constraint that the quantization parameter difference value is set to be equal to or greater than dcuQPB.
  • the code amount of the quantized transform coefficient is about 2 to 2.5 times.
  • the first modification of the first embodiment is a method of automatically controlling cuQP described in the first embodiment using the second encoding parameter and a method of switching a conventional method of encoding dcuQP as encoded data with a flag. is there.
  • the flag is inserted into one of SPS, PPS, and slice header.
  • the switching unit is a picture unit. The operation related to the switching process is the same regardless of the flag insertion position.
  • FIG. 25 is a flowchart showing the switching operation.
  • the header encoding unit 1101 executes the processing shown in FIG. 25 when the header encoding unit 1101 is an image decoding device.
  • a flag indicating whether the quantization parameter is encoded and notified, or the quantization parameter is not encoded and is derived with reference to the second encoding parameter is encoded or decoded.
  • it is checked whether the flag is 1 or not. If the flag is 1, the process proceeds to S1803, and if the flag is 0, the process proceeds to S1804.
  • the quantization parameter is encoded for each CU, and encoding or decoding processing is performed for each CU using the encoded quantization parameter.
  • a second encoding parameter determined in advance (CU size in the first embodiment) is used to derive a difference value dcuQP from sliceQP for each CU, calculate cuQP, Perform decryption.
  • the quantization parameter of the first CU of the CTU is encoded / decoded as the encoded data with respect to the quantization parameter cuQP of the block as before, and the second and subsequent CUs of the CTU are quantized.
  • cuQP is calculated by adding the difference value derived from the quantization parameter of the head CU and the second encoding parameter such as the division information and the prediction parameter.
  • Embodiment 2 is not the difference from slice QP, but the difference from the quantization parameter of the first CU of the same CTU.
  • the quantization parameter of the first CU is referred to as cuQPf
  • the quantization parameter of other CUs is referred to as cuQPc.
  • the base QP is cuQPf.
  • FIG. 27 is a flowchart of operations relating to quantization parameter calculation and encoding according to the second embodiment.
  • S2001 to S2003 are the same processing as S2001 to S2003 in FIG.
  • the header encoding unit 1101 calculates a difference value between the QP predicted value predQP of the leading CU and the quantization parameter cuQPf of the leading CU of the CTU by the following equation.
  • sliceQP determined in slice units may be used as the predicted value predQP.
  • the prediction value predQP may be derived from the quantization parameter of the block adjacent to the head CU.
  • dcuQPc is a difference value from the quantization parameter cuQPf of the first CU of the same CTU as the current CU, and each CU other than the first CU obtains the quantization parameter cuQPc of the current CU by adding dcuQPc to cuQPf.
  • the CU unit difference value is derived from DQPTBL [] based on the CU size which is one of the second encoding parameters.
  • the second code other than the CU size is used. Parameter may be used.
  • the header decoding unit 1001 decodes dcuQPf from the syntax of the quantization parameter included in the encoded data at the head CU of the CTU.
  • the header decoding unit 1001 calculates the cuQPf of the first CU using the following formula.
  • sliced QP predQP + dcuQPf
  • sliced QP may be used for predQP, or it may be derived from QP of a block adjacent to the head CU.
  • the header decoding unit 1001 uses the CU unit difference value dcuQPc obtained by referring to the DQPTBL [] in FIG. 12 (1) and the index x corresponding to the CU size, and cuQPf to determine the quantum of the CU other than the first CU.
  • the calculation parameter cuQPc is calculated by the following formula and output.
  • dcuQPc is a difference value from cuQPf
  • the cuQPc of the current CU is obtained by adding dcuQPc to the QP of the first CU of the same CTU as the current CU.
  • the difference value in CU units is derived from DQPTBL [] based on the CU size.
  • a second encoding parameter described later may be used in addition to the CU size.
  • Embodiment 2 since the quantization parameter of the first CU of the CTU encodes and decodes information related to cuQP as in the conventional case, the amount of code can be easily controlled, and the second and subsequent CUs of the CTU are quantized. Since the parameter is calculated by adding the difference value derived from the quantization parameter of the leading CU and the second encoding parameter, there is an effect of reducing the amount of code of the quantization parameter. Further, the second and subsequent CU quantization parameters of the CTU have an effect that image quality control according to the texture characteristics of each CU can be performed without the generated code amount as in the first embodiment.
  • the coding process was tried using these, the RD cost of each QTBT division pattern was calculated, and the optimum QTBT division pattern was determined.
  • the range of the quantization parameter corresponding to the QTBT division pattern is expanded to try the encoding process.
  • the following restrictions are set for the base cuQPf. i) As shown in Fig. 29 (1), if the size of the CU to be tried is larger than CTU width * CTU height / 64, only the quantization parameter value that is negative with respect to the base cuQPf is processed. The target of.
  • the QTBT division pattern determination unit 133 determines an optimum combination from the combinations of the quantization parameters selected above and the corresponding QTBT division patterns.
  • the header encoding unit 1101 of the image encoding device calculates a difference value dcuQPc between the quantization parameter cuQPc of each CU and the cuQPf of the first CU, and syntax to be encoded (absolute value cu_qp_delta_abs of the difference value) Is calculated by the following equation.
  • the quantization parameter that can be taken by the current CU is restricted by the CU size, and the sign (positive or negative) dcuQPc_sign of the difference value is not encoded.
  • the header decoding unit 1001 of the image decoding apparatus obtains dcuQPc as follows using the received cu_qp_delta_abs and FIG. 29 (1).
  • FIG. 30 image encoding device
  • FIG. 31 image decoding device
  • S2001 to S2704 in FIG. 30 are the same as S2001 to S2704 in FIG. 27, and a description thereof will be omitted.
  • the header encoding unit 1101 calculates a difference value dcuQPc between the quantization parameter cuQPc of the CU other than the head of the CTU and the quantization parameter cuQPf of the head CU.
  • dcuQPc cuQPc-cuQPf
  • the header encoding unit 1101 encodes the absolute values of dcuQPf and dcuQPc. Also, the code dcuQPc_sign of dcuQPc is derived using FIG. 29 (1).
  • dcuQPc_sign SIGNTBL [x]
  • x is an index corresponding to the CU size.
  • SIGNTBL [] is the following table shown in FIG. 29 (1).
  • SIGNTBL ⁇ 1, 0 ⁇
  • the header decoding unit 1001 decodes dcuQPf of the first CU and abs (dcuQPc) of other CUs.
  • the header decoding unit 1001 calculates the cuQPf of the first CU.
  • the header decoding unit 1001 derives the code dcuQPc_sign of dcuQPc using FIG. 29 (1).
  • dcuQPc_sign SIGNTBL [x]
  • x is an index corresponding to the CU size.
  • the header decoding unit 1001 calculates the quantization parameter cuQPc of the CU other than the head CU.
  • the second modification is applied to the difference value between the quantization parameter cuQPc of the CU other than the first CU of the CTU described in the second embodiment and the quantization parameter cuQPf of the first CU.
  • Modification 2 may be applied to the difference value between sliceQP in slice units and the quantization parameter cuQP of the CU.
  • the difference value between the quantization parameter cuQPc of the CU other than the first CU of the CTU and the quantization parameter cuQPf of the first CU is encoded.
  • the absolute value of the difference value is encoded, the sign (positive or negative) of the difference value is derived with reference to the second encoding parameter such as the CU size and is not encoded. For this reason, encoding / decoding processing can be performed using the difference absolute value of the optimal quantization parameter while reducing the amount of code representing positive or negative, and thus more subjectively good image quality can be realized.
  • Embodiment 3 In Embodiment 3 of the present application, derivation of a quantization parameter using a second encoding parameter other than the CU size (area) used as the second encoding parameter in Embodiments 1 and 2 will be described.
  • the CU size (area: CU width * CU height) is used as the second encoding parameter, and the CTU width and the ratio to the CTU height are respectively expressed.
  • the CU size includes a method using the sum of the CU width and CU height (Fig. 12 (2)), a method using a quadtree or binary tree hierarchy (QTDepth, BTDepth) (Fig. 12 (3)) ), There is a method (FIGS. 29 (2) and (3)) that uses the CU size itself instead of the ratio with the CTU.
  • the CU width and the CU height are collectively referred to as a CU side.
  • the correspondence table of the second modification of the second embodiment can also be represented by numerical values instead of the ratio to the CTU width and CTU height.
  • the correspondence table of Modification 2 can also be represented by the correspondence between the CU width and CU height, the quadtree or binary tree hierarchy, and dcuQP_sign, in addition to the correspondence between CU size (area) and dcuQP_sign.
  • the number of quantization transform coefficients other than 0 (non-zero quantization transform coefficients) of adjacent CUs can be used as the second encoding parameter other than the division information (CU size).
  • a complex texture has a large number of quantized transform coefficients, and a flat texture or gradation has a small number of quantized transform coefficients. Therefore, the number of quantized transform coefficients is one of the second encoding parameters related to the activity. It is.
  • the image decoding apparatus and the image encoding apparatus of this configuration are configured such that the number of non-zero quantized transform coefficients NA, NL of the upper adjacent CU (CUA) and the left adjacent CU (CUL) of the current CU.
  • the difference value dcuQP for the base quantization parameter (sliceQP in the first embodiment and cuQPf in the second embodiment) is controlled by the sum of the above (denoted as the sum of the number of quantized transform coefficients). For example, using the table shown in FIG. 33 (1), the difference amount dcuQP of each CU may be derived to derive cuQP.
  • FIG. 33 (1) shows the correspondence between the sum of non-zero quantized transform coefficients and the quantization parameter difference value dcuQP in the case of an I picture (slice).
  • FIG. 33 (1) shows an example in which differential quantization parameters are associated in accordance with the sum of the number of non-zero quantized transform coefficients.
  • FIG. 33 (2) in the I picture (slice), whether the differential quantization parameter is positive or negative is constrained according to the sum of the number of non-zero quantized transform coefficients, as in the second modification of the second embodiment.
  • the magnitude of the differential quantization parameter itself is a correspondence table for explicitly encoding.
  • the motion vectors of the upper adjacent CU (CUA) and the left adjacent CU (CUL) of the current CU shown in FIG. 32 are MVA and MVL.
  • the image decoding apparatus and the image encoding apparatus of this configuration determine a difference value dcuQP for a base quantization parameter (sliceQP in the first embodiment, cuQPf in the second embodiment) according to the size of the motion vector of the adjacent block. And derive cuQP.
  • cuQP predQP + dcuQP
  • cuQP cuQPf + dcuQP
  • FIG. 34 (1) shows the correspondence between the magnitude of the motion vector and the difference value dcuQP of the quantization parameter.
  • FIG. 34 (1) is an example in which a difference value is associated with the magnitude of a motion vector (sum of absolute values of horizontal and vertical components).
  • FIG. 34 (3) shows the correspondence between the intra prediction mode and the quantization parameter difference value dcuQP.
  • FIG. 34 (3) is an example in which a difference value is associated with an intra prediction mode.
  • the intra prediction modes of the upper adjacent CU (CUA) and the left adjacent CU (CUL) of the current CU shown in FIG. 32 are IPredA and IPredL, and the intra prediction mode of the current CU is IPredC.
  • the intra prediction mode in the vertical direction is Ver, and the intra prediction mode in the vertical direction is Hor.
  • FIG. 34 (4) shows the correspondence between the intra prediction mode and the difference value dcuQP of the quantization parameter.
  • FIG. 34 (4) is an example in which a difference value is associated with an intra prediction mode.
  • the QP difference value dcuQP of the current CU is a negative value.
  • the quantization parameter may be set small.
  • the image decoding apparatus and the image encoding apparatus of this configuration determine and control the difference value dcuQP for the base quantization parameter (base QP, slice QP in the first embodiment, cuQPf in the second embodiment) according to the intra prediction mode.
  • base QP base QP, slice QP in the first embodiment, cuQPf in the second embodiment
  • cuQP predQP + dcuQP
  • cuQP cuQPf + dcuQP
  • Modification 3 a technique for notifying the correspondence between the second encoding parameter and the differential quantization parameter described in Embodiments 1 to 3 using a header will be described.
  • the second encoding parameters (CU size, number of transform coefficients, motion vector size, etc.) associated with the differential quantization parameter described in each embodiment are determined in advance between the image encoding device and the image decoding device.
  • notification can be made using various headers such as SPS, PPS, and slice header.
  • FIG. 35 is a flowchart showing the notification method of the correspondence table.
  • 12, FIG. 29, FIG. 33, and FIG. 34 are examples of correspondence tables.
  • the header encoding unit 1101 executes each process of the flowchart in the case of an image decoding device.
  • S3501 a flag indicating whether to notify the correspondence table between the second encoding parameter and the differential quantization parameter is encoded or decoded.
  • S3502 it is checked whether or not the flag is 1. If the flag is 1, the process proceeds to S3503. If the flag is 0, the process is terminated.
  • the correspondence table is encoded or decoded following the flag. In the subsequent encoding or decoding process, the notified new code table is used. When the flag is 0, the correspondence table used so far is continuously used.
  • the maximum value and the minimum value of the quantization parameter can be notified by SPS, and a specific correspondence table can be notified by PPS or a slice header.
  • the third embodiment has described the correspondence table between the second encoding parameter and the differential quantization parameter associated with the image quality.
  • the characteristics of each correspondence table or by switching the correspondence table according to the properties of the image subjectively better image quality can be realized.
  • a block unit for example, CU unit
  • quantization parameter cuQP base quantization parameter baseQP, code unit quantization parameter
  • the quantization parameter (hereinafter referred to as quantization parameter) tuQP to be used is derived with reference to division information and prediction parameters.
  • quantization parameters are derived in picture units, slice units, and block units (CU units), but quantization parameters picQP and sliceQP in picture units and slice units are quantized from encoded data in PPS and slice header, respectively.
  • the parameter syntax is encoded, and the encoded information is decoded on the image decoding apparatus side and used for inverse quantization.
  • the block-based base quantization parameter cuQP is derived from sliceQP and deltaQP
  • the quantization parameter tuQP for quantization is derived from the block-based base quantization parameter cuQP and the offset value (qp_offset). Details of the process of deriving the quantization parameter tuQP for quantization using the offset value (qp_offset) will be described later.
  • the offset value (qp_offset) is derived using the same method in the image encoding device and the image decoding device. Therefore, the image decoding apparatus can calculate tuQP from cuQP without encoding the offset value (qp_offset).
  • tuQP cuQP + qp_offset
  • tuQP is derived after determining whether or not to add the offset value (qp_offset) in the transform / quantization unit (base quantization parameter calculation unit) 103.
  • FIG. 36 is a flowchart for explaining the operation of the CT information encoding unit 1102 according to this embodiment.
  • the process of S1910 shown in FIG. 19 the CT information encoding unit 1102 determines the target CU from the size of the CU derived by the above QTBT partitioning with reference to DQPTBL [] in FIG. 12 (1).
  • the difference value dcuQP between cuQP and sliceQP is not derived.
  • FIG. 38 is a flowchart of operations related to quantization parameter calculation and encoding in the present embodiment.
  • S2001 to S2003 are the same as S2001 to S2003 shown in FIG. 20, and only S2004 is different.
  • the header encoding unit 1101 sets sliceQP as the prediction value predQP of the base quantization parameter cuQP of the block unit of the head block.
  • the header encoding unit 1101 derives and encodes a difference value deltaQP between the block-based base quantization parameter cuQP and the predicted value predQP.
  • deltaQP cuQP-predQP Note that the syntax of deltaQP may be encoded by being divided into an absolute value cu_qp_delta_abs and a code cu_qp_delta_sign.
  • FIG. 37 is a flowchart for explaining the operation of the CT information decoding unit 1002 according to this embodiment.
  • the process of S2112 shown in FIG. 21 the CT information decoding unit 1002 determines the cuQP of the target CU from the size of the CU derived by the above-described QTBT partitioning with reference to DQPTBL [] in FIG. And the difference value dcuQP of sliceQP) is not performed.
  • FIG. 39 is a flowchart of operations related to quantization parameter decoding and calculation in the present embodiment.
  • S2201 to S2203 are the same as S2201 to S2203 shown in FIG. 22, and only S2204 is different.
  • the header decoding unit 1001 sets sliceQP as the predicted value predQP of the base unit quantization parameter cuQP in units of blocks.
  • predQP sliceQP
  • the header decoding unit 1001 decodes the difference value deltaQP and derives the block unit base quantization parameter cuQP from the sum of the block unit base quantization parameter cuQP and the predicted value predQP.
  • deltaQP deltaQP + predQP
  • the succeeding block is a block subsequent to the target picture in decoding order or a block of a picture subsequent to the target picture in decoding order.
  • the above-described effects are achieved by adaptively deriving the quantization parameter tuQP for quantization.
  • FIG. 40 is a flowchart showing the flow of processing in Configuration Example 1.
  • the quantization parameter tuQP for quantization is derived by adding or subtracting the offset value (qp_offset) to the base quantization parameter baseQP (cuQP).
  • cuQP is not limited to QP as a coding unit, and may be a predetermined quantization area unit. For example, it may be an area composed of a set of 16 ⁇ 16 or more TUs.
  • the process of determining whether or not the condition X is satisfied and deriving tuQP is executed by the transform / quantization unit 103 in the image encoding device, and is executed by the inverse quantization / inverse transform unit 311 in the image decoding device.
  • the transform / quantization unit 103 or the inverse quantization / inverse transform unit 311 first determines whether or not the condition X is satisfied ( S1401). If it is determined that the condition X is satisfied (YES in S1401), an offset value (qp_offset) is set (S1402). The value of the offset value (qp_offset) is set in advance.
  • condition X a configuration relating to block size (partition information, decoding unit size such as CU size, TU size), prediction mode, and picture type may be used.
  • the block size is used in the condition X.
  • TH_BLKSZ first threshold
  • qp_offset > 0
  • a negative offset value (qp_offset) ( ⁇ 0) may be set. That is, when the size of the CU is equal to or greater than the threshold value TH_BLKSZ2, tuQP is derived by subtracting the offset value from cuQP.
  • TH_BLKSZ2 ( ⁇ TH_BLKSZ) is, for example, 40, 48, and the negative offset value is -1, -2, etc.
  • the block size may be log2 (width) + log2 (height), width * height, etc. regardless of width + height.
  • the quantization parameter can be reduced in a large block where coding distortion is conspicuous without coding amount overhead.
  • a prediction parameter is used in the condition X.
  • the picture type is used in the condition X.
  • the transform / quantization unit 103 or the inverse quantization / inverse transform unit 311 sets a positive offset value (qp_offset) (> 0) when the picture is not a key frame.
  • the key frame refers to a frame that can be easily referred to from the subsequent picture, and is related to the importance of the picture.
  • the key frame By encoding the key frame with a relatively small quantization parameter, it is possible to improve the prediction accuracy of subsequent frames that refer to the key frame. Also, if the other than the key frame is encoded with a relatively large quantization parameter, the code amount can be reduced without degrading the image quality.
  • a frame whose POC Picture Order Count: information indicating the display order of pictures
  • POC Picture Order Count: information indicating the display order of pictures
  • 8 is a picture that can be easily referenced, so if it does not fall under this picture, add a value to cuQP and tuQP Set. That is, it can be determined whether the frame is a key frame according to whether the POC is a constant multiple of a certain period KeyPicPeriod.
  • KeyKeyPicPeriod is either 4, 8, or 16, for example.
  • the key frame is a frame that is easily referred to.
  • the number of pictures that can be referred to in the key frame decoded first is small. That is, the reference picture list has a small number of pictures. Therefore, using this feature, it is determined whether or not the frame is a key frame based on whether or not the number of pictures in the reference picture list (or the number of actual reference pictures) is equal to or less than a threshold TH_NREF (third threshold). Specifically, the determination is made based on whether or not the following is satisfied.
  • TH_NREF third threshold
  • the number of reference picture lists is derived from the syntax num_ref_idx_l0_active_minus1 and num_ref_idx_l1_active_minus1, the following may be used.
  • TH_NREF may be set to 1, for example.
  • num_ref_idx_lX_active_minus1 is a value obtained by subtracting 1 from the maximum value of the reference index of the reference picture list X.
  • the data stream has a display order of I picture (I0), B picture (B3), B picture (B2), B picture (B4), P picture (P1), I0 , P1, B2, B3, and B4 are in decoding order, the P1 picture refers to only the I0 picture, and the intermediate B2 picture refers to the two preceding and following pictures I0 and P1.
  • the I0 picture and the P1 picture are determined as key frames, and an offset value (qp_offset) is set in the case of other B pictures B2, B3, and B4.
  • the reference picture increases as the layer becomes deeper (the picture located on the upper side of (a) in FIG. 4).
  • TH_TID for example, threshold TH_TID is 0, 1
  • the inverse quantization / inverse transform unit 311 determines whether or not to use the offset value (qp_offset) for deriving the quantization parameter used for decoding the quantized transform coefficient. And a determination unit that determines whether X) is satisfied.
  • a quantization parameter calculation unit that calculates a quantization parameter (tuQP) for quantization using the base quantization parameter cuQP and the offset value, and for quantization
  • An inverse quantization unit that performs inverse quantization using the quantization parameter is provided.
  • the condition X2 may be any condition other than the CU size condition among the conditions X described above.
  • the transform / quantization unit 103 or the inverse quantization / inverse transform unit 311 sets an offset value (qp_offset) (S1503).
  • FIG. 42 is a flowchart showing the flow of processing in the configuration example 3 in the image decoding apparatus.
  • the condition X is specified by the parameter cond_idx, and when the specified condition X is satisfied, an offset value (qp_offset) is set to derive tuQP.
  • the parameter cond_idx for specifying the condition X for each picture is decoded (S1601). . Thereafter, the processing of S2202, S2203, and S2204 described in FIG. 39 is performed, and the process proceeds to S1602.
  • the threshold value TH_BLKSZ of the CU size is set (changed) according to the condition X ′ (second condition), and whether or not the CU size condition is satisfied is determined based on the changed threshold value TH_BLKSZ.
  • tuQP is derived by setting an offset value (qp_offset).
  • FIG. 43 is a flowchart showing the flow of processing of Configuration Example 4.
  • the transform / quantization unit 103 or the inverse quantization / inverse transform unit 311 first determines whether the condition X ′ is satisfied. Is determined (S1701). When it is determined that the condition X ′ is satisfied (YES in S1701), the threshold of the CU size condition is set to TH2 (first threshold) (S1702). On the other hand, if it is determined that the condition X ′ is not satisfied (NO in S1701), the threshold of the CU size condition is set to TH1 (second threshold) (S1703).
  • condition X ′ for determining the threshold value of the block size as shown below, a configuration relating to a prediction mode, a type relating to a picture type, and a configuration relating to a color component may be used.
  • the condition X ′ may be determined depending on whether or not the prediction mode is intra prediction, and the block size threshold TH_BLKSZ may be determined.
  • the transform / quantization unit 103 or the inverse quantization / inverse transform unit 311 further reduces the size of the CU for setting the offset value (qp_offset) (> 0). . This is because in the case of intra prediction, it is easy to refer to subsequent pictures. This can be expressed in pseudo code as follows.
  • the condition X ′ may be determined based on whether the prediction mode is the merge mode, and the block size threshold TH_BLKSZ may be determined.
  • the transform / quantization unit 103 or the inverse quantization / inverse transform unit 311 further reduces the size of the CU for setting the offset value (qp_offset) (> 0). This is because in the merge mode, most of the information to be encoded is residual information and it is difficult to reduce the amount of information. This can be expressed in pseudo code as follows.
  • the condition X ′ may be determined depending on whether or not the prediction mode is the intra prediction planar mode, and the block size threshold TH_BLKSZ may be determined.
  • the transform / quantization unit 103 or the inverse quantization / inverse transform unit 311 sets an offset value (qp_offset) (> 0) Increase the size of the CU. This is because in the planar mode, it is unlikely to be used later. This can be expressed in pseudo code as follows.
  • the condition X ′ may be determined depending on whether or not the picture is a key frame, and the block size threshold TH_BLKSZ may be determined.
  • the transform / quantization unit 103 or the inverse quantization / inverse transform unit 311 has an offset value (qp_offset) (> 0) Set the CU size to be smaller. This is because the key frame is likely to be used later. This can be expressed in pseudo code as follows.
  • the determination of whether or not the frame is a key frame is not limited to POC, and the above-described determination methods (a method using a reference picture list and a method using a temporal layer) can be used.
  • cldx indicates the color component of the target CU. When it is 0, it indicates luminance, and when it is not, it indicates color difference.
  • the configuration may be such that the thresholds TH1 and TH2 set in steps S1702 and S1703 described above are changed according to still another condition X ′′.
  • the condition X ′ is the prediction mode, whether the condition of the prediction mode is satisfied
  • the threshold TH_BLKSZ may be further changed depending on whether or not the condition X ′′ (for example, the condition of the color component) is satisfied.
  • FIG. 44 is a flowchart showing another processing flow of Configuration Example 4.
  • the transform / quantization unit 103 or the inverse quantization / inverse transform unit 311 first determines whether the condition X ′ is satisfied. Is determined (S1801). When it is determined that the condition X ′ is satisfied (YES in S1801), the temporary threshold TH_BLKSZ2 of the CU size condition is set to TH1 (S1802). On the other hand, when it is determined that the condition X ′ is not satisfied (NO in S1801), the temporary threshold TH_BLKSZ2 of the CU size condition is set to TH2 (S1803).
  • the transform / quantization unit 103 or the inverse quantization / inverse transform unit 311 determines whether or not the condition X ′′ is satisfied (S1804).
  • the threshold TH_BLKSZ of the CU size condition is set to TH3 (S1805).
  • the threshold TH_BLKSZ of the CU size condition is set to the temporary threshold TH_BLKSZ2 (S1806).
  • TH1 and TH2 may or may not be related.
  • TH3 may or may not depend on TH_BLKSZ2.
  • TH2 TH1 / 2
  • TH3 TH_BLKSZ2 / 2
  • TH1 16
  • the threshold value TH is as follows.
  • the quantization parameter tuQP for quantization is derived by increasing / decreasing the cuQP according to the CU size, prediction mode, picture type, and color component. can do.
  • tuQP can be derived adaptively without adding a flag or the like for changing cuQP, and the effects of code amount reduction and image quality improvement can be achieved.
  • the setting process of the offset value (qp_offset) is performed a plurality of times in the process of deriving the quantization parameter tuQP for quantization.
  • FIG. 45 is a flowchart showing the flow of processing in Configuration Example 1.
  • the offset value 1 (qp_offset1) is set, and when the condition X2 is satisfied, the offset value 2 (qp_offset2) is set to derive tuQP.
  • the pseudo code is as follows.
  • the transform / quantization unit 103 or the inverse quantization / inverse transform unit 311 first satisfies the condition X1. It is determined whether or not (S3001). If it is determined that the condition X1 is satisfied (YES in S3001), an offset value 1 (qp_offset1) is set (S3002). The value of the offset value 1 (qp_offset1) is set in advance.
  • condition X1 and the condition X2 may be both CU size conditions, the offset value 1 is positive, that is, the quantization parameter is increased, and the offset value 2 is negative, that is, the quantization parameter is decreased.
  • a negative offset value 2 (qp_offset2) ( ⁇ 0) is set.
  • tuQP is set by subtracting from QP1.
  • the condition X1 and the condition X2 may relate to the size of the CU, may relate to a prediction mode (intra prediction, planar mode, merge mode), or may be a picture type (key frame). It may be related.
  • a threshold TH_BLKSZ for example, 16, 20
  • condition X1 and the condition X2 are related to the prediction mode (intra prediction, planar mode, merge mode) and the picture type (key frame), a positive offset value 1 (qp_offset1) (> 0), a positive offset value 2 (qp_offset2) (> 0) is set.
  • the transform / quantization unit 103 or the inverse quantization / inverse transform unit 311 first satisfies the condition X1. It is determined whether or not (S3101). If it is determined that the condition X1 is satisfied (YES in S3101), an offset value 1 (qp_offset1) is set (S3102).
  • the inverse quantization / inverse transform unit 311 uses the first offset value (offset value 1 (qp_offset1)) to derive the quantization parameter used for decoding the quantized transform coefficient.
  • a first determination unit that determines whether the first condition (condition X1) is satisfied. Furthermore, when it determines with using the said 1st offset value, the 1st quantization parameter calculation part which calculates a 1st quantization parameter (QP1) using the base quantization parameter cuQP and the said 1st offset value is provided. .
  • FIG. 46 is a flowchart showing the flow of processing in Configuration Example 2.
  • the offset value 1 (qp_offset1) is set.
  • the offset value 2 (qp_offset2) is set when the condition X2 is satisfied. Is derived.
  • the pseudo code is as follows.
  • condition X1 and the condition X2 may be related to the size of the CU, may be related to a prediction mode (intra prediction, planar mode, merge mode), or may be a picture type (key frame). ).
  • the transform / quantization unit 103 or the inverse quantization / inverse transform unit 311 first determines whether the condition X1 is satisfied. Is determined (S3201). If it is determined that the condition X1 is satisfied (YES in S3201), an offset value 1 (qp_offset1) is set (S3202). The value of the offset value 1 (qp_offset1) is set in advance.
  • the transform / quantization unit 103 or the inverse quantization / inverse transform unit 311 has a CU size equal to or smaller than a threshold TH_BLKSZ (for example, 16, 20).
  • a threshold TH_BLKSZ for example, 16, 20.
  • a positive offset value 1 (qp_offset1) (> 0) is set.
  • QP1 is set by adding a value to cuQP.
  • a positive offset value 2 (qp_offset2) (> 0) is set.
  • a value is further added to QP1 to set tuQP.
  • the quantization parameter QP is not only used for quantization and inverse quantization of the target block, but also holds the value to derive the QP of the subsequent block (QPabove, QPleft) and loop filter processing of the target block was also used.
  • the tuQP value derived using the offset value (qp_offset) is used only for the quantization and inverse quantization processing, and the QP derivation of the subsequent block and the loop filter processing of the target block are offset.
  • the QP value before adding the value is held and the QP value is used.
  • the prediction parameter decoding unit 302 reads out dsliceQP notified by the slice header, the quantization parameter QPabove of the upper adjacent block of the target block, and the quantum of the left adjacent block of the target block read from the prediction parameter memory 307.
  • the prediction value QPpred of the quantization parameter of the target block is derived from the quantization parameter QPleft.
  • the derived QPpred and dsliceQP are added to derive the quantization parameter cuQP (first quantization parameter) of the target block.
  • the derived cuQP is stored in the prediction parameter memory 307.
  • the inverse quantization / inverse transform unit 311 adds the offset value of the target block derived by the method described in the fourth and fifth embodiments to quantize the quantization parameter tuQP (second) for quantization of the target block. Quantization parameters) are derived.
  • the transform coefficient of the target block decoded by the entropy decoding unit 301 is inversely quantized using the second quantization parameter tuQP, the inversely quantized transform coefficient is inversely transformed, and the prediction error of the target block is derived. .
  • the addition unit 312 adds the prediction error of the target block and the prediction image generated by the prediction image generation unit 308 to generate a decoded image of the target block.
  • the deblocking filter determines whether the deblocking filter is applied or not using the first quantization parameter cuQP read from the prediction parameter memory 307. When applying a deblocking filter, filtering is performed using the first quantization parameter cuQP.
  • the image encoding device 11 performs almost the same processing as the image decoding device 31.
  • the prediction parameter encoding unit 111 from the dsliceQP notified in the slice header, the quantization parameter QPabove of the upper adjacent block of the target block and the quantization parameter QPleft of the left adjacent block of the target block read from the prediction parameter memory 108, The cuQP is derived by the above-described method and stored in the prediction parameter memory 108.
  • the inverse quantization / inverse transform unit 105 adds the offset value of the target block derived by the method described in the fourth and fifth embodiments and adds a quantization parameter tuQP (second) for quantization of the target block. Quantization parameters) are derived.
  • the transform coefficient of the target block derived by the transform / quantization unit 103 is inverse-quantized using the second quantization parameter tuQP, the inverse-quantized transform coefficient is inversely transformed, and the prediction error of the target block is calculated. To derive.
  • the deblocking filter determines whether the deblocking filter is applied or not using the first quantization parameter cuQP read from the prediction parameter memory 108. When applying a deblocking filter, filtering is performed using the first quantization parameter cuQP.
  • quantization and inverse quantization of the target block are performed using the second quantization parameter, and loop filter processing of the target block uses the first quantization parameter read from the prediction parameter memory.
  • the first quantization parameter read from the prediction parameter memory is used to calculate the quantization parameter of the subsequent block.
  • the second quantization parameter tuQP for quantization is used only for the quantization and inverse quantization processes, the prediction of the quantization parameter of the subsequent block, and the strength of the deblocking filter
  • the calculation is performed using the first quantization parameter cuQP before the offset value (qp_offset) is added.
  • An image decoding apparatus is an image decoding apparatus that decodes an image for each encoding unit (block) obtained by dividing an image using a division tree (division information). Decoding the first encoding parameters such as the image division information, the prediction parameter, and the quantized transform coefficient, calculating the prediction error by inverse quantization and inverse orthogonal transform of the quantized transform coefficient, Create a prediction image using the prediction parameters, When creating a decoded image by adding the prediction error and the predicted image, the quantization parameter (base quantization) in units of slices from the information decoded in the slice header is used for decoding the quantization parameter used for inverse quantization of the quantized transform coefficient.
  • the quantization parameter base quantization
  • An image encoding apparatus is an image encoding apparatus that encodes an image for each encoding unit (block) obtained by dividing an image using a division tree. Determine the prediction parameters, etc., create a prediction image of the input image based on the division information, calculate the prediction error of the input image and the prediction image, calculate the quantization transform coefficient by orthogonal transform and quantization of the prediction error
  • the first encoding parameter such as the division information, the prediction parameter, and the quantized transform coefficient is variable-length coded, the quantized transform coefficient is inversely quantized and inverse orthogonal transformed to calculate the prediction error, and the prediction error and the prediction are calculated.
  • the quantization parameter (base quantization parameter) for each slice, Referring to the second coding parameter related to the activity of the image, the base quantization parameter and the difference information of each coding unit are derived, and the base quantization parameter and the difference information are added to determine the quantum of each coding unit.
  • the quantization parameter is calculated, quantized using the quantization parameter, information related to the base quantization parameter is encoded, and the quantization parameter of the encoding unit is not encoded.
  • An image decoding apparatus is an image decoding apparatus that decodes an image for each encoding unit (block) obtained by dividing the image using a division tree. Decode the first encoding parameter such as the division information, the prediction parameter, and the quantized transform coefficient, calculate the prediction error by inverse quantization and inverse orthogonal transform of the quantized transform coefficient, and use the partition information and the prediction parameter.
  • the first encoding parameter such as the division information, the prediction parameter, and the quantized transform coefficient
  • calculate the prediction error by inverse quantization and inverse orthogonal transform of the quantized transform coefficient and use the partition information and the prediction parameter
  • an encoding tree that is a root of an encoding unit is used.
  • the quantization parameter (base quantization parameter) of the first encoding unit of the encoding tree unit is calculated from the information decoded by the first encoding unit of the unit, and the image With reference to the second coding parameter related to the activity, the base quantization parameter and the difference information of each coding unit (subsequent unit) after the coding tree unit are derived, and the base quantization parameter and The difference information is added to calculate a quantization parameter of each subsequent unit, and inverse quantization is performed using the quantization parameter.
  • An image encoding apparatus is an image encoding apparatus that encodes an image for each encoding unit (block) obtained by dividing an image using a division tree. Determine the prediction parameters, etc., create a prediction image of the input image based on the division information, calculate the prediction error of the input image and the prediction image, calculate the quantization transform coefficient by orthogonal transform and quantization of the prediction error
  • the first encoding parameter such as the division information, the prediction parameter, and the quantized transform coefficient is variable-length coded, the quantized transform coefficient is inversely quantized and inverse orthogonal transformed to calculate the prediction error, and the prediction error and the prediction are calculated.
  • the first encoding unit of the encoding tree unit that is the root of the encoding unit is used.
  • Deriving difference information of unit (subsequent unit) adding base quantization parameter and difference information to calculate quantization parameter of each subsequent unit, quantizing using this quantization parameter, and relating to base quantization parameter
  • the information to be encoded is encoded, and the quantization parameter of the subsequent unit is not encoded.
  • An image decoding apparatus is an image decoding apparatus that decodes an image for each encoding unit (block) obtained by dividing the image using a division tree. Decode the first encoding parameter such as the division information, the prediction parameter, and the quantized transform coefficient, calculate the prediction error by inverse quantization and inverse orthogonal transform of the quantized transform coefficient, and use the partition information and the prediction parameter.
  • the first encoding parameter such as the division information, the prediction parameter, and the quantized transform coefficient
  • calculate the prediction error by inverse quantization and inverse orthogonal transform of the quantized transform coefficient and use the partition information and the prediction parameter
  • an encoding tree that is a root of an encoding unit is used.
  • the quantization parameter (base quantization parameter) of the first coding unit of the coding tree unit is calculated from the information decoded by the first coding unit of the unit, and the subsequent
  • the absolute value of the difference information between the base quantization parameter and the quantization parameter of the subsequent unit is decoded from the information decoded in the unit, and the absolute value of the difference information is referred to by referring to the second encoding parameter related to the activity of the image.
  • the sign of the value (information indicating positive or negative) is derived, the difference information is calculated, the base quantization parameter and the difference information are added to calculate the quantization parameter of each subsequent unit, and the quantization parameter is used. It is characterized by inverse quantization.
  • An image encoding apparatus is an image encoding apparatus that encodes an image for each encoding unit (block) obtained by dividing an image using a division tree. Determine the prediction parameters, etc., create a prediction image of the input image based on the division information, calculate the prediction error of the input image and the prediction image, calculate the quantization transform coefficient by orthogonal transform and quantization of the prediction error
  • the first encoding parameter such as the division information, the prediction parameter, and the quantized transform coefficient is variable-length coded, the quantized transform coefficient is inversely quantized and inverse orthogonal transformed to calculate the prediction error, and the prediction error and the prediction are calculated.
  • the first encoding unit of the encoding tree unit that is the root of the encoding unit is used.
  • Information relating to the absolute value of the difference information between the base quantization parameter and the subsequent unit is derived by referring to the second coding parameter and deriving the sign of the absolute value of the difference information (information indicating sign positive or negative). Is encoded, and the code is not encoded.
  • the image encoding / decoding device encodes a correspondence relationship between the second encoding parameter and the difference information as header information in derivation of the base quantization parameter and the difference information of each encoding unit. Decrypt.
  • the second encoding parameter is image division information.
  • the second encoding parameter is the number of quantization transform coefficients of an encoding unit adjacent to the encoding unit to be encoded / decoded.
  • the second encoding parameter is a motion vector of an encoding unit to be encoded / decoded and an adjacent encoding unit.
  • a part of the image encoding device 11 and the image decoding device 31 in the above-described embodiment for example, the entropy decoding unit 301, the prediction parameter decoding unit 302, the loop filter 305, the predicted image generation unit 308, the inverse quantization / inverse transformation.
  • the prediction parameter encoding unit 111 may be realized by a computer.
  • part or all of the image encoding device 11 and the image decoding device 31 in the above-described embodiment may be realized as an integrated circuit such as an LSI (Large Scale Integration).
  • LSI Large Scale Integration
  • Each functional block of the image encoding device 11 and the image decoding device 31 may be individually made into a processor, or a part or all of them may be integrated into a processor.
  • the method of circuit integration is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor. Further, in the case where an integrated circuit technology that replaces LSI appears due to progress in semiconductor technology, an integrated circuit based on the technology may be used.
  • FIG. 8 is a block diagram showing a configuration of a transmission device PROD_A in which the image encoding device 11 is mounted.
  • the transmission apparatus PROD_A modulates a carrier wave with an encoding unit PROD_A1 that obtains encoded data by encoding a moving image, and with the encoded data obtained by the encoding unit PROD_A1.
  • a modulation unit PROD_A2 that obtains a modulation signal and a transmission unit PROD_A3 that transmits the modulation signal obtained by the modulation unit PROD_A2 are provided.
  • the above-described image encoding device 11 is used as the encoding unit PROD_A1.
  • Transmission device PROD_A as a source of moving images to be input to the encoding unit PROD_A1, a camera PROD_A4 that captures moving images, a recording medium PROD_A5 that records moving images, an input terminal PROD_A6 for inputting moving images from the outside, and An image processing unit A7 that generates or processes an image may be further provided.
  • FIG. 8A illustrates a configuration in which the transmission apparatus PROD_A includes all of these, but some of them may be omitted.
  • the recording medium PROD_A5 may be a recording of a non-encoded moving image, or a recording of a moving image encoded by a recording encoding scheme different from the transmission encoding scheme. It may be a thing. In the latter case, a decoding unit (not shown) for decoding the encoded data read from the recording medium PROD_A5 in accordance with the recording encoding method may be interposed between the recording medium PROD_A5 and the encoding unit PROD_A1.
  • FIG. 8 is a block diagram showing a configuration of a receiving device PROD_B in which the image decoding device 31 is mounted.
  • the receiving device PROD_B includes a receiving unit PROD_B1 that receives the modulated signal, a demodulating unit PROD_B2 that obtains encoded data by demodulating the modulated signal received by the receiving unit PROD_B1, and a demodulator.
  • a decoding unit PROD_B3 that obtains a moving image by decoding the encoded data obtained by the unit PROD_B2.
  • the above-described image decoding device 31 is used as the decoding unit PROD_B3.
  • the receiving device PROD_B is a display destination PROD_B4 for displaying a moving image, a recording medium PROD_B5 for recording a moving image, and an output terminal for outputting the moving image to the outside as a supply destination of the moving image output by the decoding unit PROD_B3 PROD_B6 may be further provided.
  • FIG. 8B illustrates a configuration in which all of these are provided in the receiving device PROD_B, but some of them may be omitted.
  • a terrestrial digital broadcast broadcasting station (broadcasting equipment, etc.) / Receiving station (such as a television receiver) is an example of a transmitting device PROD_A / receiving device PROD_B that transmits and receives a modulated signal by wireless broadcasting.
  • a broadcasting station (such as broadcasting equipment) / receiving station (such as a television receiver) of cable television broadcasting is an example of a transmitting device PROD_A / receiving device PROD_B that transmits and receives a modulated signal by cable broadcasting.
  • a server workstation, etc.
  • Client television receiver, personal computer, smartphone, etc.
  • VOD Video On Demand
  • video sharing service using the Internet is a transmission device that transmits and receives modulated signals via communication.
  • PROD_A / receiving device PROD_B normally, either a wireless or wired transmission medium is used in a LAN, and a wired transmission medium is used in a WAN.
  • the personal computer includes a desktop PC, a laptop PC, and a tablet PC.
  • the smartphone also includes a multi-function mobile phone terminal.
  • the video sharing service client has a function of encoding a moving image captured by the camera and uploading it to the server. That is, the client of the video sharing service functions as both the transmission device PROD_A and the reception device PROD_B.
  • FIG. 9A is a block diagram showing a configuration of a recording apparatus PROD_C equipped with the image encoding device 11 described above.
  • the recording apparatus PROD_C includes an encoding unit PROD_C1 that obtains encoded data by encoding a moving image, and the encoded data obtained by the encoding unit PROD_C1 on a recording medium PROD_M.
  • the above-described image encoding device 11 is used as the encoding unit PROD_C1.
  • the recording medium PROD_M may be of a type built into the recording device PROD_C, such as (1) HDD (Hard Disk Drive) or SSD (Solid State Drive), or (2) SD memory. It may be of the type connected to the recording device PROD_C, such as a card or USB (Universal Serial Bus) flash memory, or (3) DVD (Digital Versatile Disc) or BD (Blu-ray Disc: registration) Or a drive device (not shown) built in the recording device PROD_C.
  • HDD Hard Disk Drive
  • SSD Solid State Drive
  • SD memory such as a card or USB (Universal Serial Bus) flash memory, or (3) DVD (Digital Versatile Disc) or BD (Blu-ray Disc: registration) Or a drive device (not shown) built in the recording device PROD_C.
  • the recording device PROD_C is a camera PROD_C3 that captures moving images as a source of moving images to be input to the encoding unit PROD_C1, an input terminal PROD_C4 for inputting moving images from the outside, and a reception for receiving moving images
  • a unit PROD_C5 and an image processing unit PROD_C6 for generating or processing an image may be further provided.
  • FIG. 9A illustrates a configuration in which the recording apparatus PROD_C includes all of these, but some of them may be omitted.
  • the receiving unit PROD_C5 may receive a non-encoded moving image, or may receive encoded data encoded by a transmission encoding scheme different from the recording encoding scheme. You may do. In the latter case, a transmission decoding unit (not shown) that decodes encoded data encoded by the transmission encoding method may be interposed between the reception unit PROD_C5 and the encoding unit PROD_C1.
  • Examples of such a recording device PROD_C include a DVD recorder, a BD recorder, an HDD (Hard Disk Drive) recorder, and the like (in this case, the input terminal PROD_C4 or the receiver PROD_C5 is a main source of moving images). .
  • a camcorder in this case, the camera PROD_C3 is a main source of moving images
  • a personal computer in this case, the receiving unit PROD_C5 or the image processing unit C6 is a main source of moving images
  • a smartphone this In this case, the camera PROD_C3 or the reception unit PROD_C5 is a main source of moving images
  • the like is also an example of such a recording apparatus PROD_C.
  • FIG. 9 is a block showing a configuration of a playback device PROD_D in which the above-described image decoding device 31 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 read unit PROD_D1 that reads the encoded data. And a decoding unit PROD_D2 to obtain.
  • the above-described image decoding device 31 is used as the decoding unit PROD_D2.
  • the recording medium PROD_M may be of the type built into the playback device PROD_D, such as (1) HDD or SSD, or (2) such as an SD memory card or USB flash memory. It may be of the type connected to the playback device PROD_D, or (3) may be loaded into a drive device (not shown) built in the playback device PROD_D, such as a DVD or BD. Good.
  • the playback device PROD_D has a display unit PROD_D3 that displays a moving image as a supply destination of the moving image output by the decoding unit PROD_D2, an output terminal PROD_D4 that outputs the moving image to the outside, and a transmission unit that transmits the moving image.
  • PROD_D5 may be further provided.
  • FIG. 9B illustrates a configuration in which the playback apparatus PROD_D includes all of these, but some of them may be omitted.
  • the transmission unit PROD_D5 may transmit a non-encoded moving image, or transmits encoded data encoded by a transmission encoding scheme different from the recording encoding scheme. You may do. In the latter case, it is preferable to interpose an encoding unit (not shown) that encodes a moving image using a transmission encoding method between the decoding unit PROD_D2 and the transmission unit PROD_D5.
  • Examples of such a playback device PROD_D include a DVD player, a BD player, and an HDD player (in this case, an output terminal PROD_D4 to which a television receiver or the like is connected is a main moving image supply destination). .
  • a television receiver in this case, the display PROD_D3 is a main supply destination of moving images
  • a digital signage also referred to as an electronic signboard or an electronic bulletin board
  • the display PROD_D3 or the transmission unit PROD_D5 is the main supply of moving images
  • Desktop PC in this case, output terminal PROD_D4 or transmission unit PROD_D5 is the main video source
  • laptop or tablet PC in this case, display PROD_D3 or transmission unit PROD_D5 is video
  • a smartphone which is a main image supply destination
  • a smartphone in this case, the display PROD_D3 or the transmission unit PROD_D5 is a main moving image supply destination
  • the like are also examples of such a playback device PROD_D.
  • Each block of the image decoding device 31 and the image encoding device 11 described above may be realized in hardware by a logic circuit formed on an integrated circuit (IC chip), or may be a CPU (Central Processing Unit). You may implement
  • IC chip integrated circuit
  • CPU Central Processing Unit
  • each of the above devices includes a CPU that executes instructions of a program that realizes each function, a ROM (Read Memory) that stores the program, a RAM (RandomAccess Memory) that expands the program, the program, and various data
  • a storage device such as a memory for storing the.
  • the object of the embodiment of the present invention is a record in which the program code (execution format program, intermediate code program, source program) of the control program for each of the above devices, which is software that realizes the above-described functions, is recorded in a computer-readable manner This can also be achieved by supplying a medium to each of the above devices, and reading and executing the program code recorded on the recording medium by the computer (or CPU or MPU).
  • Examples of the recording medium include tapes such as magnetic tapes and cassette tapes, magnetic disks such as floppy (registered trademark) disks / hard disks, CD-ROMs (Compact Disc Read-Only Memory) / MO discs (Magneto-Optical discs).
  • tapes such as magnetic tapes and cassette tapes
  • magnetic disks such as floppy (registered trademark) disks / hard disks
  • CD-ROMs Compact Disc Read-Only Memory
  • MO discs Magnetic-Optical discs
  • IC cards including memory cards
  • Cards such as optical cards
  • Semiconductor memories such as flash ROM, or PLD (Programmable logic device ) Or FPGA (Field Programmable Gate Gate Array) or the like.
  • each of the above devices may be configured to be connectable to a communication network, and the program code may be supplied via the communication network.
  • the communication network is not particularly limited as long as it can transmit the program code.
  • Internet intranet, extranet, LAN (Local Area Network), ISDN (Integrated Services Digital Network), VAN (Value-Added Network), CATV (Community Area Antenna / television / Cable Television), Virtual Private Network (Virtual Private Network) Network), telephone line network, mobile communication network, satellite communication network, and the like.
  • the transmission medium constituting the communication network may be any medium that can transmit the program code, and is not limited to a specific configuration or type.
  • IEEE Institute of Electrical and Electronic Engineers 1394, USB, power line carrier, cable TV line, telephone line, ADSL (Asymmetric Digital Subscriber Line) line, etc. wired such as IrDA (Infrared Data Association) or remote control , BlueTooth (registered trademark), IEEE802.11 wireless, HDR (High Data Rate), NFC (Near Field Communication), DLNA (Digital Living Network Alliance: registered trademark), mobile phone network, satellite line, terrestrial digital broadcasting network, etc. It can also be used wirelessly.
  • the embodiment of the present invention can also be realized in the form of a computer data signal embedded in a carrier wave in which the program code is embodied by electronic transmission.
  • Embodiments of the present invention are preferably applied to an image decoding apparatus that decodes encoded data in which image data is encoded, and an image encoding apparatus that generates encoded data in which image data is encoded. it can. Further, the present invention can be suitably applied to the data structure of encoded data generated by an image encoding device and referenced by the image decoding device.

Landscapes

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

Abstract

本発明は、動画像の画質を向上させ、かつ、量子化パラメータの符号量を削減して、符号化効率を向上させることを目的とする。画像復号装置は、シンタクスから量子化パラメータ(ベース量子化パラメータ)を復号するか、あるいは、アクティビティに関連する第2の符号化パラメータを参照して、前記ベース量子化パラメータと各符号化ユニットの差分情報を導出し、前記ベース量子化パラメータと前記差分情報を加算して各符号化ユニットの量子化パラメータを算出する。また、画像符号化装置は、量子化パラメータ(ベース量子化パラメータ)を算出するか、あるいは、アクティビティに関連する第2の符号化パラメータを参照して、前記ベース量子化パラメータと各符号化ユニットの差分情報を導出し、前記ベース量子化パラメータと前記差分情報を加算して各符号化ユニットの量子化パラメータを算出する。

Description

画像符号化装置及び画像復号装置
 本発明は、画像復号装置、及び画像符号化装置に関する。
 動画像を効率的に伝送または記録するために、動画像を符号化することによって符号化データを生成する画像符号化装置、及び、当該符号化データを復号することによって復号画像を生成する画像復号装置が用いられている。
 具体的な動画像符号化方式としては、例えば、H.264/AVCやHEVC(High-Efficiency Video Coding)にて提案されている方式などが挙げられる。
 このような動画像符号化方式においては、動画像を構成する画像(ピクチャ)は、画像を分割することにより得られるスライス、スライスを分割することにより得られる符号化単位(符号化ユニット(Coding Unit:CU)と呼ばれることもある)、及び、符号化単位を分割することより得られるブロックである予測ユニット(PU)、変換ユニット(TU)からなる階層構造により管理され、CUごとに符号化/復号される。
 また、このような動画像符号化方式においては、通常、入力画像を符号化/復号することによって得られる局所復号画像に基づいて予測画像が生成され、当該予測画像を入力画像(原画像)から減算して得られる予測残差(「差分画像」または「残差画像」と呼ぶこともある)が符号化される。予測画像の生成方法としては、画面間予測(インター予測)、及び、画面内予測(イントラ予測)が挙げられる。
 また、動画像符号化方式においては、符号量と画質を制御するために、1)ピクチャ毎に、あるいは2)ピクチャを分割した領域(CU、PU,TU等)毎に量子化パラメータを変更する量子化パラメータ制御が行われる。2)のピクチャ内量子化パラメータ制御の目的は、主に発生符号量の制御と主観画質の向上である。また、動画像符号化方式においては、主に主観画質の向上のために、ピクチャを分割した領域毎に量子化パラメータを変更する量子化パラメータ制御が行われる。一般的に、画像の変化量(アクティビティ)、発生符号量、主観画質には密接な関わりがあり、例えば、画像の変化の大きな領域(エッジ、複雑なテクスチャ等)は発生符号量が大きく、主観的に符号化歪が目立ちにくい。逆に、画像の変化の小さな領域(平坦部、グラデーション等)は発生符号量が小さく、符号化歪が目立ちやすい。このような画像の性質を利用して、画像符号化装置では適切な量子化パラメータを設定して符号化データを生成し、画像復号装置に伝送する。
 また、近年の動画像符号化及び復号の技術として非特許文献1が挙げられる。
 さらに、非特許文献1では、スライスを構成する符号化ツリーユニット(CTU:Coding Tree Unit)から符号化ユニット(CU:Coding Unit)への分割方式として、4分木(quad tree)分割するQT分割に加えて、2分木(binary tree)分割するBT分割を行うQTBT分割が開示されている。このBT分割には、水平分割と垂直分割とが含まれる。
"Algorithm Description of Joint Exploration Test Model 6", JVET-F1001, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 2017 ITU-T H.265(04/2015) SERIES H:AUDIOVISUAL AND MULTIMEDIA SYSTEMS Infrastructure of audiovisual services - Coding of moving video High efficiency video coding
 非特許文献2において、量子化パラメータQPの局所的な制御(例えばCU、PU、TU単位でのQPの更新)は主に画質の制御を目的としており、前述のように、画像のテクスチャ(アクティビティ、複雑度)と密接な関わりがある。非特許文献1に記載されたQTBT分割では、選択可能なCUのサイズや形状が増加し、図7に示すように、画像のテクスチャに合わせた適応的な分割ができるようになっている。QTBT分割により、MPEG-2やH.264のような固定ブロックサイズ方式や、四分木(正方形)分割のみのHEVCに比べ、均質な性質を持つ領域を1つの符号化単位(CU)として選択しやすい。
 しかしながら、非特許文献1、非特許文献2では、画像符号化装置で導出したQP値そのもの、あるいは差分値を明示的に符号化しており、QTBT分割のようなアクティビティに関わる情報を用いたQPの導出(制御)は実施されていない。また、QTBT分割以外のアクティビティに関わる符号化パラメータを用いたQPの導出(制御)も実施されていない。ここでは、分割情報、予測パラメータ、量子化パラメータ、量子化変換係数等、符号化・復号処理に使用する情報を総称して第1の符号化パラメータ、第1の符号化パラメータの中で分割情報、量子化変換係数の個数のようなアクティビティに関わる情報、および予測パラメータのような予測画像生成に関わる情報を第2の符号化パラメータと呼ぶ。つまり前記を言い換えると、第2の符号化パラメータを用いたQPの導出は実施されていない、ということである。さらにQPを符号化すると符号量が発生するため、頻繁にQPを変更すると符号化効率の低下を招くので、QPの変更回数は制限されることが多い。また、非特許文献1や非特許文献2では、画像符号化装置で導出したQP値そのもの、あるいは差分値を明示的に符号化しており、QPの符号量のオーバーヘッドが必要である。特に、小領域で頻繁にQPを変更すると符号化効率の低下を招くので、QPの変更回数は制限されることが多い。
 本発明は、上記の課題に鑑みてなされたものであり、その目的は、動画像の画質を向上させ、かつ符号化効率を向上させることができる画像復号装置及び画像符号化装置を提供することにある。
 本発明の一態様に係る画像復号装置は、画像を、分割ツリー(分割情報)を用いて分割した符号化ユニット毎に復号する。具体的には、符号化データを可変長復号して画像の分割情報、予測パラメータ、量子化変換係数等の第1の符号化パラメータを復号し、量子化変換係数を逆量子化および逆直交変換して予測誤差を算出し、分割情報と予測パラメータを用いて予測画像を作成し、予測誤差と予測画像を加算して復号画像を作成する時に、量子化変換係数の逆量子化に用いる量子化パラメータの復号において、符号化データから量子化パラメータのシンタックスを復号して量子化パラメータ(ベース量子化パラメータ)を算出し、画像のアクティビティに関連する第2の符号化パラメータを参照して、ベース量子化パラメータと各符号化ユニットの差分情報を導出し、ベース量子化パラメータと差分情報を加算して各符号化ユニットの量子化パラメータを算出し、この算出した量子化パラメータを用いて量子化変換係数を逆量子化する。
 本発明の一態様に係る画像符号化装置は、画像を、分割ツリーを用いて分割した符号化ユニット毎に符号化する。具体的には、画像の分割ツリー(分割情報)、予測パラメータ等を決定し、入力画像と予測画像の予測誤差を算出し、予測誤差を直交変換および量子化して量子化変換係数を算出し、第1の符号化パラメータを可変長符号化し、量子化変換係数を逆量子化および逆直交変換して予測誤差を算出し、予測誤差と予測画像を加算して復号画像を作成する時に、量子化手段および逆量子化手段で用いる量子化パラメータの導出において、スライス単位の量子化パラメータ(ベース量子化パラメータ)を算出し、画像のアクティビティに関連する第2の符号化パラメータを参照して、ベース量子化パラメータと各符号化ユニットの差分情報を導出し、ベース量子化パラメータと差分情報を加算して各符号化ユニットの量子化パラメータを算出し、これらの算出した量子化パラメータを用いて変換係数を量子化、あるいは量子化変換係数を逆量子化し、ベース量子化パラメータに関連する情報は符号化し、符号化ユニットの量子化パラメータは符号化しない。
 本発明の一態様によれば、動画像の画質を向上させ、かつ符号化効率を向上させることができる。
本発明の一実施形態に係る画像伝送システムの構成を示す概略図である。 本発明の一実施形態に係る符号化ストリームのデータの階層構造を示す図である。 PU分割モードのパターンを示す図である。(a)~(h)は、それぞれ、PU分割モードが、2Nx2N、2NxN、2NxnU、2NxnD、Nx2N、nLx2N、nRx2N、及び、NxNの場合のパーティション形状について示している。 参照ピクチャ及び参照ピクチャリストの一例を示す概念図である。 本発明の一実施形態に係る画像復号装置の構成を示すブロック図である。 本発明の一実施形態に係る画像符号化装置の構成を示すブロック図である。 画像のQTBT分割パターンの一例である。 本発明の一実施形態に係る画像符号化装置を搭載した送信装置、及び、画像復号装置を搭載した受信装置の構成について示した図である。(a)は、画像符号化装置を搭載した送信装置を示しており、(b)は、画像復号装置を搭載した受信装置を示している。 本発明の一実施形態に係る画像符号化装置を搭載した記録装置、及び、画像復号装置を搭載した再生装置の構成について示した図である。(a)は、画像符号化装置を搭載した記録装置を示しており、(b)は、画像復号装置を搭載した再生装置を示している。 本発明のエントロピー復号部を説明するブロック図である。 本発明のエントロピー符号化部を説明するブロック図である。 本発明のCUサイズと差分量子化パラメータの対応関係を説明する図である。 本発明の符号化パラメータ決定部のブロック図である。 CTUが64x64の時のQTBT分割パターンを示す図である。 CTUが128x128の時のQTBT分割パターンを示す図である。 本発明のCTUの分割パターンと量子化パラメータを示す図である。 本発明のQTBT分割ツリーと差分量子化パラメータの関係を示す図である。 本発明の符号化パラメータ決定部のQTBT分割パターン導出を説明するフローチャートである。 本発明のCT情報符号化の動作を示すフローチャートである。 本発明の量子化パラメータの算出および符号化の動作を示すフローチャートである。 本発明のCT情報復号の動作を示すフローチャートである。 本発明の量子化パラメータの算出および復号の動作を示すフローチャートである。 CUに含まれる量子化変換係数の個数をCUサイズ毎に示した図である。 CUの単位面積あたりに含まれる量子化変換係数の個数をCUサイズ毎に示した図である。 本発明の一実施形態に係る量子化パラメータの導出方法の動作を説明するフローチャートである。 本発明のCTUのQTBT分割パターンと先頭CUを示す図である。 本発明の量子化パラメータの算出および符号化の動作を示す別のフローチャートである。 本発明の量子化パラメータの算出および復号の動作を示す別のフローチャートである。 本発明の第2の符号化パラメータと量子化パラメータの対応関係を説明する図である。 本発明の量子化パラメータの算出および符号化の動作を示す別のフローチャートである。 本発明の量子化パラメータの算出および復号の動作を示す別のフローチャートである。 本発明の対象CUと隣接CUを示す図である。 本発明の量子化変換係数の個数と量子化パラメータの対応関係を示す図である。 本発明の第2の符号化パラメータと量子化パラメータの対応関係を示す図である。 本発明の第2の符号化パラメータと量子化パラメータの対応表の符号化・復号の動作を示すフローチャートである。 本発明のCT情報符号化の動作を示すフローチャートである。 本発明のCT情報復号の動作を示すフローチャートである。 本発明の量子化パラメータの算出および符号化の動作を示すフローチャートである。 本発明の量子化パラメータの算出および復号の動作を示すフローチャートである。 本発明の一実施形態に係る一構成例における処理の流れを示すフローチャートである。 本発明の一実施形態に係る一構成例における処理の流れを示すフローチャートである。 本発明の一実施形態に係る一構成例における処理の流れを示すフローチャートである。 本発明の一実施形態に係る一構成例における処理の流れを示すフローチャートである。 本発明の一実施形態に係る一構成例における処理の流れを示すフローチャートである。 本発明の別の一実施形態に係る一構成例における処理の流れを示すフローチャートである。 本発明の別の一実施形態に係る一構成例における処理の流れを示すフローチャートである。
  (実施形態1)
 以下、図面を参照しながら本発明の実施形態について説明する。
 図1は、本実施形態に係る画像伝送システム1の構成を示す概略図である。
 画像伝送システム1は、符号化対象画像を符号化した符号を伝送し、伝送された符号を復号し画像を表示するシステムである。画像伝送システム1は、画像符号化装置11、ネットワーク21、画像復号装置31及び画像表示装置41を含んで構成される。
 画像符号化装置11には、単一レイヤもしくは複数レイヤの画像を示す画像Tが入力される。レイヤとは、ある時間を構成するピクチャが1つ以上ある場合に、複数のピクチャを区別するために用いられる概念である。たとえば、同一ピクチャを、画質や解像度の異なる複数のレイヤで符号化するとスケーラブル符号化になり、異なる視点のピクチャを複数のレイヤで符号化するとビュースケーラブル符号化となる。複数のレイヤのピクチャ間で予測(インターレイヤ予測、インタービュー予測)を行う場合には、符号化効率が大きく向上する。また予測を行わない場合(サイマルキャスト)の場合にも、符号化データをまとめることができる。
 ネットワーク21は、画像符号化装置11が生成した符号化ストリームTeを画像復号装置31に伝送する。ネットワーク21は、インターネット(internet)、広域ネットワーク(WAN:Wide Area Network)、小規模ネットワーク(LAN:Local Area Network)またはこれらの組み合わせである。ネットワーク21は、必ずしも双方向の通信網に限らず、地上デジタル放送、衛星放送等の放送波を伝送する一方向の通信網であっても良い。また、ネットワーク21は、DVD(Digital Versatile Disc)、BD(Blue-ray Disc)等の符号化ストリームTeを記録した記憶媒体で代替されても良い。
 画像復号装置31は、ネットワーク21が伝送した符号化ストリームTeのそれぞれを復号し、それぞれ復号した1または複数の復号画像Tdを生成する。
 画像表示装置41は、画像復号装置31が生成した1または複数の復号画像Tdの全部または一部を表示する。画像表示装置41は、例えば、液晶ディスプレイ、有機EL(Electro-luminescence)ディスプレイ等の表示デバイスを備える。また、空間スケーラブル符号化、SNRスケーラブル符号化では、画像復号装置31が高い処理能力を有する場合には、画質の高い拡張レイヤ画像を表示し、より低い処理能力しか有しない場合には、拡張レイヤほど高い処理能力、表示能力を必要としないベースレイヤ画像を表示する。
  <演算子>
 本明細書で用いる演算子を以下に記載する。
 >>は右ビットシフト、<<は左ビットシフト、&はビットワイズAND、|はビットワイズOR、|=は別の条件との和演算(OR)である。
 x ? y : zは、xが真(0以外)の場合にy、xが偽(0)の場合にzをとる3項演算子である。
 Clip3(a, b, c) は、cをa以上b以下の値にクリップする関数であり、c<aの場合にはaを返し、c>bの場合にはbを返し、その他の場合にはcを返す関数である(ただし、a<=b)。
  <符号化ストリームTeの構造>
 本実施形態に係る画像符号化装置11及び画像復号装置31の詳細な説明に先立って、画像符号化装置11によって生成され、画像復号装置31によって復号される符号化ストリームTeのデータ構造について説明する。
 図2は、符号化ストリームTeにおけるデータの階層構造を示す図である。符号化ストリームTeは、例示的に、シーケンス、及びシーケンスを構成する複数のピクチャを含む。図2の(a)~(f)は、それぞれ、シーケンスSEQを既定する符号化ビデオシーケンス、ピクチャPICTを規定する符号化ピクチャ、スライスSを規定する符号化スライス、スライスデータを規定する符号化スライスデータ、符号化スライスデータに含まれる符号化ツリーユニット、符号化ツリーユニットに含まれる符号化ユニット(Coding Unit;CU)を示す図である。
  (符号化ビデオシーケンス)
 符号化ビデオシーケンスでは、処理対象のシーケンスSEQを復号するために画像復号装置31が参照するデータの集合が規定されている。シーケンスSEQは、図2の(a)に示すように、ビデオパラメータセット(Video Parameter Set)、シーケンスパラメータセットSPS(Sequence Parameter Set)、ピクチャパラメータセットPPS(Picture Parameter Set)、ピクチャPICT、及び、付加拡張情報SEI(Supplemental Enhancement Information)を含んでいる。ここで#の後に示される値はレイヤIDを示す。図2では、#0と#1すなわちレイヤ0とレイヤ1の符号化データが存在する例を示すが、レイヤの種類及びレイヤの数はこれによらない。
 ビデオパラメータセットVPSは、複数のレイヤから構成されている動画像において、複数の動画像に共通する符号化パラメータの集合及び動画像に含まれる複数のレイヤ及び個々のレイヤに関連する符号化パラメータの集合が規定されている。
 シーケンスパラメータセットSPSでは、対象シーケンスを復号するために画像復号装置31が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの幅や高さが規定される。なお、SPSは複数存在してもよい。その場合、PPSから複数のSPSの何れかを選択する。
 ピクチャパラメータセットPPSでは、対象シーケンス内の各ピクチャを復号するために画像復号装置31が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの復号に用いられる量子化幅の基準値(pic_init_qp_minus26)や重み付き予測の適用を示すフラグ(weighted_pred_flag)が含まれる。なお、PPSは複数存在してもよい。その場合、対象シーケンス内の各ピクチャから複数のPPSの何れかを選択する。
  (符号化ピクチャ)
 符号化ピクチャでは、処理対象のピクチャPICTを復号するために画像復号装置31が参照するデータの集合が規定されている。ピクチャPICTは、図2の(b)に示すように、スライスS0~SNS-1を含んでいる(NSはピクチャPICTに含まれるスライスの総数)。
 なお、以下、スライスS0~SNS-1のそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する符号化ストリームTeに含まれるデータであって、添え字を付している他のデータについても同様である。
  (符号化スライス)
 符号化スライスでは、処理対象のスライスSを復号するために画像復号装置31が参照するデータの集合が規定されている。スライスSは、図2の(c)に示すように、スライスヘッダSH、及び、スライスデータSDATAを含んでいる。
 スライスヘッダSHには、対象スライスの復号方法を決定するために画像復号装置31が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報(slice_type)は、スライスヘッダSHに含まれる符号化パラメータの一例である。
 スライスタイプ指定情報により指定可能なスライスタイプとしては、(1)符号化の際にイントラ予測のみを用いるIスライス、(2)符号化の際に単方向予測、または、イントラ予測を用いるPスライス、(3)符号化の際に単方向予測、双方向予測、または、イントラ予測を用いるBスライスなどが挙げられる。なお、インター予測は、単予測、双予測に限定されず、より多くの参照ピクチャを用いて予測画像を生成してもよい。以下、P, Bスライスと呼ぶ場合には、インター予測を用いることができるブロックを含むスライスを指す。
 なお、スライスヘッダSHには、上記符号化ビデオシーケンスに含まれる、ピクチャパラメータセットPPSへの参照(pic_parameter_set_id)を含んでいても良い。
  (符号化スライスデータ)
 符号化スライスデータでは、処理対象のスライスデータSDATAを復号するために画像復号装置31が参照するデータの集合が規定されている。スライスデータSDATAは、図2の(d)に示すように、符号化ツリーユニット(CTU:Coding Tree Unit)を含んでいる。CTUは、スライスを構成する固定サイズ(例えば64x64)のブロックであり、最大符号化単位(LCU:Largest Coding Unit)と呼ぶこともある。
  (符号化ツリーユニット)
 図2の(e)に示すように、処理対象の符号化ツリーユニットを復号するために画像復号装置31が参照するデータの集合が規定されている。符号化ツリーユニットは、再帰的な4分木分割(QT分割)または2分木分割(BT分割)により符号化処理の基本的な単位である符号化ユニット(CU:Coding Unit)(符号化単位、復号単位)に分割される。再帰的な4分木分割または2分木分割により得られる木構造を符号化ツリー(CT:Coding Tree)、木構造のノードのことを符号化ノード(CN:Coding Node)と称する。4分木及び2分木の中間ノードは、符号化ノードであり、符号化ツリーユニット自身も最上位の符号化ノードとして規定される。
 CTは、CT情報として、QT分割を行うか否かを示すQT分割フラグ(cu_split_flag)、及びBT分割の分割方法を示すBT分割モード(split_bt_mode)を含む。cu_split_flag及び/又はsplit_bt_modeは符号化ノードCNごとに伝送される。cu_split_flagが1の場合には、符号化ノードCNは4つの符号化ノードCNに分割される。cu_split_flagが0の場合、split_bt_modeが1の場合には、符号化ノードCNは2つの符号化ノードCNに水平分割される。split_bt_modeが2の場合には、符号化ノードCNは2つの符号化ノードCNに垂直分割される。split_bt_modeが0の場合には、符号化ノードCNは分割されず、1つの符号化ユニットCUをノードとして持つ。符号化ユニットCUは符号化ノードの末端ノード(リーフノード)であり、これ以上分割されない。
 また、符号化ツリーユニットCTUのサイズが64x64画素の場合には、符号化ユニットのサイズは、64x64画素、64x32画素、32x64画素、32x32画素、64x16画素、16x64画素、32x16画素、16x32画素、16x16画素、64x8画素、8x64画素、32x8画素、8x32画素、16x8画素、8x16画素、8x8画素、64x4画素、4x64画素、32x4画素、4x32画素、16x4画素、4x16画素、8x4画素、4x8画素、及び、4x4画素の何れかをとり得る。
  (符号化ユニット)
 図2の(f)に示すように、処理対象の符号化ユニットを復号するために画像復号装置31が参照するデータの集合が規定されている。具体的には、符号化ユニットは、予測ツリー、変換ツリー、CUヘッダCUHから構成される。CUヘッダでは予測モード、分割方法(PU分割モード)等が規定される。
 予測ツリーでは、符号化ユニットを1または複数に分割した各予測ユニット(PU)の予測パラメータ(参照ピクチャインデックス、動きベクトル等)が規定される。別の表現でいえば、予測ユニットは、符号化ユニットを構成する1または複数の重複しない領域である。また、予測ツリーは、上述の分割により得られた1または複数の予測ユニットを含む。なお、以下では、予測ユニットをさらに分割した予測単位を「サブブロック」と呼ぶ。サブブロックは、複数の画素によって構成されている。予測ユニットとサブブロックのサイズが等しい場合には、予測ユニット中のサブブロックは1つである。予測ユニットがサブブロックのサイズよりも大きい場合には、予測ユニットは、サブブロックに分割される。たとえば予測ユニットが8x8、サブブロックが4x4の場合には、予測ユニットは水平に2分割、垂直に2分割からなる、4つのサブブロックに分割される。
 予測処理は、この予測ユニット(サブブロック)ごとに行ってもよい。
 予測ツリーにおける分割の種類は、大まかにいえば、イントラ予測の場合と、インター予測の場合との2つがある。イントラ予測とは、同一ピクチャ内の予測であり、インター予測とは、互いに異なるピクチャ間(例えば、表示時刻間、レイヤ画像間)で行われる予測処理を指す。
 イントラ予測の場合、分割方法は、2Nx2N(符号化ユニットと同一サイズ)と、NxNとがある。
 また、インター予測の場合、分割方法は、符号化データのPU分割モード(part_mode)により符号化され、2Nx2N(符号化ユニットと同一サイズ)、2NxN、2NxnU、2NxnD、Nx2N、nLx2N、nRx2N、及び、NxNなどがある。なお、2NxN、Nx2Nは1:1の対称分割を示し、
2NxnU、2NxnD及びnLx2N、nRx2Nは、1:3、3:1の非対称分割を示す。CUに含まれるPUを順にPU0、PU1、PU2、PU3と表現する。
 図3の(a)~(h)に、それぞれのPU分割モードにおけるパーティションの形状(PU分割の境界の位置)を具体的に図示している。図3の(a)は、2Nx2Nのパーティションを示し、(b)、(c)、(d)は、それぞれ、2NxN、2NxnU、及び、2NxnDのパーティション(横長パーティション)を示す。(e)、(f)、(g)は、それぞれ、Nx2N、nLx2N、nRx2Nである場合のパーティション(縦長パーティション)を示し、(h)は、NxNのパーティションを示す。なお、横長パーティションと縦長パーティションを総称して長方形パーティション、2Nx2N、NxNを総称して正方形パーティションと呼ぶ。
 また、変換ツリーにおいては、符号化ユニットが1または複数の変換ユニットに分割され、各変換ユニットの位置とサイズとが規定される。別の表現でいえば、変換ユニットは、符号化ユニットを構成する1または複数の重複しない領域のことである。また、変換ツリーは、上述の分割より得られた1または複数の変換ユニットを含む。
 変換ツリーにおける分割には、符号化ユニットと同一のサイズの領域を変換ユニットとして割り付けるものと、上述したCUの分割と同様、再帰的な4分木分割によるものがある。
 変換処理は、この変換ユニットごとに行われる。
  (予測パラメータ)
 予測ユニット(PU:Prediction Unit)の予測画像は、PUに付随する予測パラメータによって導出される。予測パラメータには、イントラ予測の予測パラメータもしくはインター予測の予測パラメータがある。以下、インター予測の予測パラメータ(インター予測パラメータ)について説明する。インター予測パラメータは、予測リスト利用フラグpredFlagL0、predFlagL1と、参照ピクチャインデックスrefIdxL0、refIdxL1と、動きベクトルmvL0、mvL1から構成される。予測リスト利用フラグpredFlagL0、predFlagL1は、各々L0リスト、L1リストと呼ばれる参照ピクチャリストが用いられるか否かを示すフラグであり、値が1の場合に対応する参照ピクチャリストが用いられる。なお、本明細書中「XXであるか否かを示すフラグ」と記す場合、フラグが0以外(たとえば1)をXXである場合、0をXXではない場合とし、論理否定、論理積などでは1を真、0を偽と扱う(以下同様)。但し、実際の装置や方法では真値、偽値として他の値を用いることもできる。
 符号化データに含まれるインター予測パラメータを導出するためのシンタックス要素には、例えば、PU分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLXがある。
  (参照ピクチャリスト)
 参照ピクチャリストは、参照ピクチャメモリ306に記憶された参照ピクチャからなるリストである。図4は、参照ピクチャ及び参照ピクチャリストの一例を示す概念図である。図4の(a)において、矩形はピクチャ、矢印はピクチャの参照関係、横軸は時間、矩形中のI、P、Bは各々イントラピクチャ、単予測ピクチャ、双予測ピクチャ、矩形中の数字は復号順を示す。図に示すように、ピクチャの復号順は、I0、P1、B2、B3、B4であり、表示順は、I0、B3、B2、B4、P1である。図4の(b)に、参照ピクチャリストの例を示す。参照ピクチャリストは、参照ピクチャの候補を表すリストであり、1つのピクチャ(スライス)が1つ以上の参照ピクチャリストを有してもよい。図の例では、対象ピクチャB3は、L0リストRefPicList0及びL1リストRefPicList1の2つの参照ピクチャリストを持つ。対象ピクチャがB3の場合の参照ピクチャは、I0、P1、B2であり、参照ピクチャはこれらのピクチャを要素として持つ。個々の予測ユニットでは、参照ピクチャリストRefPicListX中のどのピクチャを実際に参照するかを参照ピクチャインデックスrefIdxLXで指定する。図では、refIdxL0及びrefIdxL1により参照ピクチャP1とB2が参照される例を示す。
  (マージ予測とAMVP予測)
 予測パラメータの復号(符号化)方法には、マージ予測(merge)モードとAMVP(Adaptive Motion Vector Prediction、適応動きベクトル予測)モードがある、マージフラグmerge_flagは、これらを識別するためのフラグである。マージモードは、予測リスト利用フラグpredFlagLX(またはインター予測識別子inter_pred_idc)、参照ピクチャインデックスrefIdxLX、動きベクトルmvLXを符号化データに含めずに、既に処理した近傍PUの予測パラメータから導出する用いるモードである。AMVPモードは、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、動きベクトルmvLXを符号化データに含めるモードである。なお、動きベクトルmvLXは、予測ベクトルmvpLXを識別する予測ベクトルインデックスmvp_LX_idxと差分ベクトルmvdLXとして符号化される。
 インター予測識別子inter_pred_idcは、参照ピクチャの種類及び数を示す値であり、PRED_L0、PRED_L1、PRED_BIの何れかの値をとる。PRED_L0、PRED_L1は、各々L0リスト、L1リストの参照ピクチャリストで管理された参照ピクチャを用いることを示し、1枚の参照ピクチャを用いること(単予測)を示す。PRED_BIは2枚の参照ピクチャを用いること(双予測BiPred)を示し、L0リストとL1リストで管理された参照ピクチャを用いる。予測ベクトルインデックスmvp_LX_idxは予測ベクトルを示すインデックスであり、参照ピクチャインデックスrefIdxLXは、参照ピクチャリストで管理された参照ピクチャを示すインデックスである。なお、LXは、L0予測とL1予測を区別しない場合に用いられる記述方法であり、LXをL0、L1に置き換えることでL0リストに対するパラメータとL1リストに対するパラメータを区別する。
 マージインデックスmerge_idxは、処理が完了したPUから導出される予測パラメータ候補(マージ候補)のうち、いずれかの予測パラメータを復号対象PUの予測パラメータとして用いるかを示すインデックスである。
  (動きベクトル)
 動きベクトルmvLXは、異なる2つのピクチャ上のブロック間のずれ量を示す。動きベクトルmvLXに関する予測ベクトル、差分ベクトルを、それぞれ予測ベクトルmvpLX、差分ベクトルmvdLXと呼ぶ。
  (イントラ予測モード)
 輝度イントラ予測モードIntraPredModeYは67モードであり、プレーナ予測(0)、DC予測(1)、方向予測(2~66)が対応する。色差イントラ予測モードIntraPredModeCは上記の67モードにCCLM(Colour Component Linear Mode)を加えた68モードである。CCLMは、対象色成分における対象画素の画素値を、対象色成分よりも前に符号化された別の色成分の画素値を参照した線形予測によって導出するモードである。なお、色成分には輝度Y、色差Cb、色差Crが含まれる。輝度と色差で異なるイントラ予測モードを割り当ててもよく、CUあるいはPU単位で予測モードを符号化、復号する。
  (画像復号装置の構成)
 次に、本実施形態に係る画像復号装置31の構成について説明する。図5は、本実施形態に係る画像復号装置31の構成を示す概略図である。画像復号装置31は、エントロピー復号部301、予測パラメータ復号部(予測画像復号装置)302、ループフィルタ305、参照ピクチャメモリ306、予測パラメータメモリ307、予測画像生成部(予測画像生成装置)308、逆量子化・逆変換部311、及び加算部312を含んで構成される。
 また、予測パラメータ復号部302は、インター予測パラメータ復号部303及びイントラ予測パラメータ復号部304を含んで構成される。予測画像生成部308は、インター予測画像生成部309及びイントラ予測画像生成部310を含んで構成される。
 エントロピー復号部301は、外部から入力された符号化ストリームTeに対してエントロピー復号を行って、個々の符号(シンタックス要素)を分離し復号する。分離された符号には、予測画像を生成するための予測パラメータ及び、差分画像を生成するための残差情報などがある。
 エントロピー復号部301は、分離した符号の一部を予測パラメータ復号部302に出力する。分離した符号の一部とは、例えば、予測モードpredMode、PU分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスref_Idx_lX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLXである。どの符号を復号するかの制御は、予測パラメータ復号部302の指示に基づいて行われる。エントロピー復号部301は、量子化係数を逆量子化・逆変換部311に出力する。この量子化係数は、符号化処理において、残差信号に対してDCT(Discrete Cosine Transform、離散コサイン変換)等の直交変換を行い量子化して得られる係数である。
 エントロピー復号部301の詳細なブロック図を図10に示す。エントロピー復号部301は、ヘッダ復号部1001、CT情報復号部1002、CU復号部1003、復号モジュール1004からなる。
  (復号モジュール)
 以下、各モジュールの概略動作を説明する。復号モジュール1004は、符号化データからシンタックス値を復号する復号処理を行う。復号モジュール1004は、ヘッダ復号部1001、CT情報復号部1002、CU復号部1003から供給される符号化データ及びシンタックス種別に基づいて、固定長符号化方式、あるいはCABAC等のエントロピー符号化方式により符号化されているシンタックス値を復号し、復号したシンタックス値を供給元に返す。
  (ヘッダ復号部)
 ヘッダ復号部1001は、復号モジュール1004を用いて、画像符号化装置11から入力された符号化データのVPS、SPS、PPS、スライスヘッダを復号する。
  (CT情報復号部) 
 CT情報復号部1002は、復号モジュール1004を用いて、画像符号化装置11から入力された符号化データから、符号化ツリーユニット及び符号化ツリーの復号処理を行う。CT情報復号部1002は、復号モジュール1004を用いて、CTUに含まれるCTU情報として、ツリーユニットヘッダCTUHを復号する。次に、CT情報復号部1002は、CT情報として、対象CTをQT分割するか否かを示すQT分割フラグ、及び対象CTをBT分割するか否か、BT分割する場合はBT分割方法を示すBT分割モードを復号し、QT分割フラグ及びBT分割モードがさらなる分割を通知しなくなるまで対象CTを再帰的に分割し復号する。最後に、CTU情報として、さらに、ツリーユニットフッタCTUFを復号する。
 ツリーユニットヘッダCTUH及びツリーユニットフッタCTUFには、対象符号化ツリーユニットの復号方法を決定するために画像復号装置31が参照する符号化パラメータが含まれる。また、CT情報には、QT分割フラグ及びBT分割モードの他、対象CT及び下位の符号化ノードで適用されるパラメータを含んでいてもよい。
  (CU復号部) 
 CU復号部1003は、最下位の符号化ノードCN(すなわちCU)のPUI情報(マージフラグ(merge_flag)、マージインデックス(merge_idx)、予測動きベクトルインデックス(mvp_idx)、参照画像インデックス(ref_idx_lX)、インター予測識別子(inter_pred_flag)、及び差分ベクトル(mvdLX)等)、量子化予測残差(residual_coding)、及びTTI情報(TU分割フラグSP_TU(split_transform_flag)、CU残差フラグCBP_TU(cbf_cb、cbf_cr、cbf_luma)等)を、復号モジュール1004を用いて復号する。  
 インター予測パラメータ復号部303は、エントロピー復号部301から入力された符号に基づいて、予測パラメータメモリ307に記憶された予測パラメータを参照してインター予測パラメータを復号する。
 インター予測パラメータ復号部303は、復号したインター予測パラメータを予測画像生成部308に出力し、また予測パラメータメモリ307に記憶する。
 イントラ予測パラメータ復号部304は、エントロピー復号部301から入力された符号に基づいて、予測パラメータメモリ307に記憶された予測パラメータを参照してイントラ予測パラメータを復号する。イントラ予測パラメータとは、CUを1つのピクチャ内で予測する処理で用いるパラメータ、例えば、イントラ予測モードIntraPredModeである。イントラ予測パラメータ復号部304は、復号したイントラ予測パラメータを予測画像生成部308に出力し、また予測パラメータメモリ307に記憶する。
 ループフィルタ305は、加算部312が生成したCUの復号画像に対し、デブロッキングフィルタ、サンプル適応オフセット(SAO)、適応ループフィルタ(ALF)等のフィルタを施す。
 参照ピクチャメモリ306は、加算部312が生成したCUの復号画像を、復号対象のピクチャ及びCU毎に予め定めた位置に記憶する。
 予測パラメータメモリ307は、予測パラメータを、復号対象のピクチャ及び予測ユニット(もしくはサブブロック、固定サイズブロック、ピクセル)毎に予め定めた位置に記憶する。具体的には、予測パラメータメモリ307は、インター予測パラメータ復号部303が復号したインター予測パラメータ、イントラ予測パラメータ復号部304が復号したイントラ予測パラメータ及びエントロピー復号部301が分離した予測モードpredModeを記憶する。記憶されるインター予測パラメータには、例えば、予測リスト利用フラグpredFlagLX(インター予測識別子inter_pred_idc)、参照ピクチャインデックスrefIdxLX、動きベクトルmvLXがある。
 予測画像生成部308には、エントロピー復号部301から入力された予測モードpredModeが入力され、また予測パラメータ復号部302から予測パラメータが入力される。また、予測画像生成部308は、参照ピクチャメモリ306から参照ピクチャを読み出す。予測画像生成部308は、予測モードpredModeが示す予測モードで、入力された予測パラメータと読み出した参照ピクチャを用いてPUの予測画像を生成する。
 ここで、予測モードpredModeがインター予測モードを示す場合、インター予測画像生成部309は、インター予測パラメータ復号部303から入力されたインター予測パラメータと読み出した参照ピクチャを用いてインター予測によりPUの予測画像を生成する。
 インター予測画像生成部309は、予測リスト利用フラグpredFlagLXが1である参照ピクチャリスト(L0リスト、もしくはL1リスト)に対し、参照ピクチャインデックスrefIdxLXで示される参照ピクチャから、復号対象PUを基準として動きベクトルmvLXが示す位置にある参照ピクチャブロックを参照ピクチャメモリ306から読み出す。インター予測画像生成部309は、読み出した参照ピクチャブロックをもとに予測を行ってPUの予測画像を生成する。インター予測画像生成部309は、生成したPUの予測画像を加算部312に出力する。
 予測モードpredModeがイントラ予測モードを示す場合、イントラ予測画像生成部310は、イントラ予測パラメータ復号部304から入力されたイントラ予測パラメータと読み出した参照ピクチャを用いてイントラ予測を行う。具体的には、イントラ予測画像生成部310は、復号対象のピクチャであって、既に復号されたPUのうち、復号対象PUから予め定めた範囲にある隣接PUを参照ピクチャメモリ306から読み出す。予め定めた範囲とは、復号対象PUがいわゆるラスタースキャンの順序で順次移動する場合、例えば、左、左上、上、右上の隣接PUのうちのいずれかであり、イントラ予測モードによって異なる。ラスタースキャンの順序とは、各ピクチャにおいて、上端から下端まで各行について、順次左端から右端まで移動させる順序である。
 イントラ予測画像生成部310は、読み出した隣接PUについてイントラ予測モードIntraPredModeが示す予測モードで予測を行ってPUの予測画像を生成する。イントラ予測画像生成部310は、生成したPUの予測画像を加算部312に出力する。
 逆量子化・逆変換部311は、エントロピー復号部301から入力された量子化係数を逆量子化してDCT係数を求める。逆量子化・逆変換部311は、求めたDCT係数等の直交変換係数について逆DCT(Inverse Discrete Cosine Transform、逆離散コサイン変換)等の逆直交変換を行い、残差信号を算出する。逆量子化・逆変換部311は、算出した残差信号を加算部312に出力する。
 加算部312は、インター予測画像生成部309またはイントラ予測画像生成部310から入力されたPUの予測画像と逆量子化・逆変換部311から入力された残差信号を画素毎に加算して、PUの復号画像を生成する。加算部312は、生成したPUの復号画像を参照ピクチャメモリ306に記憶し、生成したPUの復号画像をピクチャ毎に統合した復号画像Tdを外部に出力する。
  (画像符号化装置の構成)
 次に、本実施形態に係る画像符号化装置11の構成について説明する。図6は、本実施形態に係る画像符号化装置11の構成を示すブロック図である。画像符号化装置11は、予測画像生成部101、減算部102、変換・量子化部103、エントロピー符号化部104、逆量子化・逆変換部105、加算部106、ループフィルタ107、予測パラメータメモリ(予測パラメータ記憶部、フレームメモリ)108、参照ピクチャメモリ(参照画像記憶部、フレームメモリ)109、符号化パラメータ決定部110、予測パラメータ符号化部111を含んで構成される。予測パラメータ符号化部111は、インター予測パラメータ符号化部112及びイントラ予測パラメータ符号化部113を含んで構成される。
 予測画像生成部101は画像Tの各ピクチャについて、そのピクチャを分割した領域である符号化ユニットCU毎に予測ユニットPUの予測画像Pを生成する。ここで、予測画像生成部101は、予測パラメータ符号化部111から入力された予測パラメータに基づいて参照ピクチャメモリ109から復号済のブロックを読み出す。予測パラメータ符号化部111から入力された予測パラメータとは、例えばインター予測の場合、動きベクトルである。予測画像生成部101は、対象PUを起点として動きベクトルが示す参照画像上の位置にあるブロックを読み出す。またイントラ予測の場合、予測パラメータとは例えばイントラ予測モードである。イントラ予測モードで使用する隣接PUの画素値を参照ピクチャメモリ109から読み出し、PUの予測画像Pを生成する。予測画像生成部101は、読み出した参照ピクチャブロックについて複数の予測方式のうちの1つの予測方式を用いてPUの予測画像Pを生成する。予測画像生成部101は、生成したPUの予測画像Pを減算部102と加算部106とに出力する。
 なお、予測画像生成部101は、既に説明した予測画像生成部308と同じ動作であるためここでの説明を省略する。
 減算部102は、予測画像生成部101から入力されたPUの予測画像Pの信号値を、画像Tの対応するPUの画素値から減算して、残差信号を生成する。減算部102は、生成した残差信号を変換・量子化部103に出力する。
 変換・量子化部103は、減算部102から入力された残差信号について直交変換を行い、変換係数を算出する。変換・量子化部103は、算出した変換係数を量子化して量子化係数を求める。変換・量子化部103は、求めた量子化係数をエントロピー符号化部104及び逆量子化・逆変換部105に出力する。
 エントロピー符号化部104には、変換・量子化部103から量子化係数が入力され、予測パラメータ符号化部111から予測パラメータが入力される。入力される予測パラメータには、例えば、参照ピクチャインデックスref_Idx_lX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLX、予測モードpred_mode_flag、及びマージインデックスmerge_idx等の符号がある。
 エントロピー符号化部104は、入力された分割情報、予測パラメータ、量子化変換係数等をエントロピー符号化して符号化ストリームTeを生成し、生成した符号化ストリームTeを外部に出力する。
 エントロピー符号化部104の詳細なブロック図を図11に示す。エントロピー符号化部104は、ヘッダ符号化部1101、CT情報符号化部1102、CU符号化部1103、符号化モジュール1104からなる。エントロピー符号化部104は、予測パラメータ符号化部111から供給されるヘッダ情報、予測パラメータ及び変換・量子化部103から供給される量子化変換係数を符号化し、符号化データを出力する。
  (ヘッダ符号化部)
 ヘッダ符号化部1101は、符号化モジュール1104を用いてVPS、SPS、PPS、スライスヘッダを符号化する。
  (CT情報符号化部)
 CT情報符号化部1102は、符号化モジュール1104を用いてCTUおよびCTの符号化処理を行う。CT情報符号化部1102は、符号化モジュール1104を用いて、CTUに含まれるCTU情報として、ツリーユニットヘッダCTUHを符号化する。次に、CT情報符号化部1102は、CT情報として、対象CTをQT分割するか否かを示すQT分割フラグ、及び対象CTをBT分割するか否か、およびBT分割する場合は分割方法を示すBT分割モードを符号化し、QT分割フラグ及びBT分割モードがさらなる分割を通知しなくなるまで対象CTを再帰的に分割し符号化する。最後に、CTU情報として、さらに、ツリーユニットフッタCTUFを符号化する。
 ツリーユニットヘッダCTUH及びツリーユニットフッタCTUFには、対象符号化ツリーユニットの復号方法を決定するために画像復号装置31が参照する符号化パラメータが含まれる。また、CT情報には、QT分割フラグ及びBT分割モードの他、対象CT及び下位の符号化ノードで適用されるパラメータを含んでいてもよい。
  (CU符号化部)
 CU符号化部1103は、最下位の符号化ノードCN(すなわちCU)のPUI情報(マージフラグ(merge_flag)、マージインデックス(merge_idx)、予測動きベクトルインデックス(mvp_idx)、参照画像インデックス(ref_idx_lX)、インター予測識別子(inter_pred_flag)、及び差分ベクトル(mvdLX)等)、量子化予測残差(residual_coding)、及びTTI情報(TU分割フラグSP_TU(split_transform_flag)、CU残差フラグCBP_TU(cbf_cb、cbf_cr、cbf_luma)等)を、符号化モジュール1104を用いて符号化する。
  (符号化モジュール)
 符号化モジュール1104は、各種予測パラメータ、量子化変換係数等を固定長符号化方式、あるいはエントロピー符号化する符号化処理を行う。符号化モジュール1104は、より具体的には、ヘッダ符号化部1101、CTU情報符号化部1102、CU符号化部1103を固定長符号化、あるいはCABAC等のエントロピー符号化方式により符号化し、符号化データを出力する。
 逆量子化・逆変換部105は、変換・量子化部103から入力された量子化係数を逆量子化して変換係数を求める。逆量子化・逆変換部105は、求めた変換係数について逆変換を行い、残差信号を算出する。逆量子化・逆変換部105は、算出した残差信号を加算部106に出力する。
 加算部106は、予測画像生成部101から入力されたPUの予測画像Pの信号値と逆量子化・逆変換部105から入力された残差信号の信号値を画素毎に加算して、復号画像を生成する。加算部106は、生成した復号画像を参照ピクチャメモリ109に記憶する。
 ループフィルタ107は加算部106が生成した復号画像に対し、デブロッキングフィルタ、サンプル適応オフセット(SAO)、適応ループフィルタ(ALF)を施す。
 予測パラメータメモリ108は、符号化パラメータ決定部110が生成した予測パラメータを、符号化対象のピクチャ及びCU毎に予め定めた位置に記憶する。
 参照ピクチャメモリ109は、ループフィルタ107が生成した復号画像を、符号化対象のピクチャ及びCU毎に予め定めた位置に記憶する。
 符号化パラメータ決定部110は、符号化パラメータの複数のセットのうち、1つのセットを選択する。符号化パラメータとは、上述したQTBT分割パラメータや予測パラメータやこれらに関連して生成される符号化の対象となるパラメータである。予測画像生成部101は、これらの符号化パラメータのセットの各々を用いてPUの予測画像Pを生成する。
 符号化パラメータ決定部110は、複数のセットの各々について情報量の大きさと符号化誤差を示すRDコスト値を算出する。RDコスト値は、例えば、符号量と二乗誤差に係数λを乗じた値との和である。符号量は、量子化誤差と符号化パラメータをエントロピー符号化して得られる符号化ストリームTeの情報量である。二乗誤差は、減算部102において算出された残差信号の残差値の二乗値についての画素間の総和である。係数λは、予め設定されたゼロよりも大きい実数である。符号化パラメータ決定部110は、算出したRDコスト値が最小となる符号化パラメータのセットを選択する。これにより、エントロピー符号化部104は、選択した符号化パラメータのセットを符号化ストリームTeとして外部に出力し、選択されなかった符号化パラメータのセットを出力しない。符号化パラメータ決定部110は決定した符号化パラメータを予測パラメータメモリ108に記憶する。
 予測パラメータ符号化部111は、符号化パラメータ決定部110から入力されたパラメータから、符号化するための形式を導出し、エントロピー符号化部104に出力する。符号化するための形式の導出とは、例えば動きベクトルと予測ベクトルから差分ベクトルを導出することである。また予測パラメータ符号化部111は、符号化パラメータ決定部110から入力されたパラメータから予測画像を生成するために必要なパラメータを導出し、予測画像生成部101に出力する。予測画像を生成するために必要なパラメータとは、例えばサブブロック単位の動きベクトルである。
 インター予測パラメータ符号化部112は、符号化パラメータ決定部110から入力された予測パラメータに基づいて、差分ベクトルのようなインター予測パラメータを導出する。インター予測パラメータ符号化部112は、予測画像生成部101に出力する予測画像の生成に必要なパラメータを導出する構成として、インター予測パラメータ復号部303(図5等、参照)がインター予測パラメータを導出する構成と一部同一の構成を含む。
 また、イントラ予測パラメータ符号化部113は、予測画像生成部101に出力する予測画像の生成に必要な予測パラメータを導出する構成として、イントラ予測パラメータ復号部304(図5等参照)がイントラ予測パラメータを導出する構成と、一部同一の構成を含む。イントラ予測パラメータ符号化部113は、符号化パラメータ決定部110から入力されたイントラ予測モードIntraPredModeから、符号化するための形式(例えばMPM_idx、rem_intra_luma_pred_mode等)を導出する。
  (量子化パラメータ)
 実施形態1の画像符号化装置、画像復号装置では、ブロック単位(例えばCU単位)の量子化パラメータcuQPを符号化データとしては符号化せず、分割情報や予測パラメータなどを参照してcuQPを導出する。ここで、分割情報、予測パラメータ、量子化変換係数等、符号化・復号処理に使用する情報を総称して第1の符号化パラメータと呼ぶ。この第1の符号化パラメータの中から、分割情報、量子化変換係数の個数のようなアクティビティに関わる情報、および予測パラメータを第2の符号化パラメータと呼ぶ。ここでは第2の符号化パラメータとしてCUサイズを用いる例を説明する。
 本願ではピクチャ単位、スライス単位(第1の単位)、ブロック単位(CU単位、第2の単位)で各々量子化パラメータを算出するが、ピクチャ単位およびスライス単位の量子化パラメータpicQPおよびsliceQP(=ベースQP)は、各々PPSおよびスライスヘッダで符号化され、画像復号装置側で符号化された情報を復号し、逆量子化に用いる。一方、CU単位の量子化パラメータcuQPは、ベースQP(sliceQP)と、例えば図12(1)に示すCUのサイズに応じて一意に決定されたcuQPの差分値dcuQPを用いて表現する。図12(1)に示すように、CUサイズ毎に定まる量子化パラメータ差分値dcuQPは画像符号化装置、画像復号装置であらかじめ定められた同じ値を用いる。従って、画像復号装置では、ベースQP(sliceQP)との差分値dcuQPを符号化しなくても、ベースQPとCUサイズからcuQPを算出することができる。
  dcuQP = DQPTBL[x]
  cuQP = ベースQP(sliceQP) + dcuQP
ここでxは対象CUのサイズ(図12(1)ではCUの面積)に対応するインデックスであり、以下の式で導出できる。
 x = clip3(0, 5, (log2CtbWidth + log2CtbHeight) - (log2CbWidth + log2CbHeight) - 3)
 ここで、log2CbWidth, log2CbHeightはCUの幅CbWidthと高さCbHeightの2の対数値、log2CtbWidth、log2CtbHeightはCTUの幅と高さの2の対数値。なお、xは、CTUサイズによらずに決定してもよい。例えば以下の式から導出する。
 x = clip3(0, 5, (log2CtbWidth + log2CtbHeight - 4)
 DQPTBLは、例えば以下のテーブルである。
 DQPTBL[] = {-6, -3, 0, 1, 2, 4}
 図12(1)ではCUサイズがCTU幅*CTU高さの1/16~CTU幅*CTU高さの1/4-1の範囲であればx=1で、DQPTBL[x]=-3である。
 図12(1)ではCUサイズが大きい場合はQPを小さく(dcuQPを負の値に)、CUサイズが小さい場合はQPを大きく(dcuQPを正の値に)することで視覚的に良好な画質を実現する。
 ピクチャ単位およびスライス単位の量子化パラメータの算出について、図13のブロック図を用いて説明する。図13は図6の符号化パラメータ決定部110の詳細なブロック図である。図13の符号量算出部134は、図6のエントロピー符号化部104から入力された各CUで発生した符号量を用いて、1ピクチャあるいは1スライス分の符号量を算出する。量子化パラメータ算出部135は、符号量算出部134で算出された符号量を用いて、ピクチャ単位あるいはスライス単位の量子化パラメータpicQPあるいはsliceQPを算出する。
 CU単位の量子化パラメータの算出について、同じく図13のブロック図を用いて説明する。実施形態1では、QTBT分割パターンの導出時にcuQPを導出する。QTBT分割パターン制御部131では、CTUのサイズに合わせてCUの取りうるQTBT分割の全パターンと、図12(1)に示すようなCUサイズに対応するcuQPをセットする。例えばCTUが64x64の場合、分割パターンの種類はQT分割が64x64、32x32、16x16、8x8、4x4であり、BT分割が32x32、16x16、8x8、4x4と64x32,32x64,64x16,16x64,64x8,32x16,16x32,8x64,64x4,32x8,8x32、4x64、32x4、16x8、8x16、4x32、16x4、4x16、8x4、4x8である。図14にCTUが64x64の場合、図15にCTUが128x128の場合のCUの全分割パターンを示す。QTBT分割パターン制御部131では、CTUのサイズに合わせて、CTUが64x64の場合は図14、CTUが128x128の場合は図15に記載の全分割パターンと、その時のCUサイズから、図12(1)のDQPTBL[]を参照して求めたdcuQPを用いてcuQPを算出し、セットする。そして図13の予測画像生成部101、減算部102、変換・量子化部103、エントロピー符号化部104、逆量子化・逆変換部105、加算部106、ループフィルタ107、参照ピクチャメモリ109に対し、符号化処理を指示し、各分割パターン毎のRDコストをコスト格納部132に格納する。ここで101~109の各ブロックは図6の101~109と同じであるが、実際に符号化データの出力処理は行わず、符号量だけを算出する。101~109の処理は図6と同じであり、説明を省略する。コスト格納部132は、分割パターン毎に算出した符号量Rと、入力画像とループフィルタ後の再生画像の差から求めたSAD、SSD、SSTDなどの誤差Dから導出したRDコストを格納する。ここでRDコスト=D+λ・R、λはQPに応じて定まるパラメータである。QTBT分割パターン決定部133は、組み合わせの中からRDコストが最適となる分割パターン(各分割階層におけるQT分割フラグ、BT分割モード)を決定する。ここで決定されたQTBT分割パターンとcuQPを用いて、図6の画像符号化装置は実際の符号化処理を実施する。
 図16(1)は符号化パラメータ決定部110で求めたCTUの分割パターンの一例である。分割したCU毎にサイズに応じたcuQP(QP000~QP3)を設定する。図12(1)のDQPTBL[]を参照した場合、各CUのdcuQPは図16(2)に示す値となり、各cuQPは下式で算出される。
  dcuQP = DQPTBL[x]
  cuQP = ベースQP(sliceQP) + dcuQP
ここでxはCUサイズ(面積)に対応するインデックスである。例えばQP000はCUサイズがCTU/8*CTU/2なので、図12(1)の例ではx=1となり、dcuQPは-3である。QP231はCUサイズがCTU/4*CTU/8なので、図12(1)の例ではx=2となり、dcuQPは0である。
 図17は、図16のQTBT分割ツリー図に図12(1)のdcuQPを追記した図である。CUのサイズに応じて、スライス単位の量子化パラメータsliceQPとCUの量子化パラメータcuQPの差分値dcuQPが自動的に決定される。
 図18は符号化パラメータ決定部110のQTBT分割パターン導出処理を説明するフローチャートである。
 S1801では、QTBT分割パターン制御部131は、CTUサイズをもとにCUとして分割可能な全QTBT分割パターンを抽出する。抽出した全QTBT分割パターンに対し、1つづつ後述のS1802~S1806の処理の実施を指示する。この時、各QTBT分割パターンのCUサイズに応じて、図12(1)に示すDQPTBL[]を参照してdcuQPを導出し、sliceQPに加算することでcuQPを算出する。このcuQPをS1802、S1803で使用する量子化パラメータとする。なお、本実施形態では各QTBT分割パターンのCUサイズに応じて、図12(1)に示すDQPTBL[]を参照してdcuQPを導出する例を説明するが、後述するようにdcuQPを導出するための指標はCUサイズに限らず、後述の第2の符号化パラメータであってもよい。
 S1802では、変換・量子化部103はQTBT分割パターン制御部131から指定されたQTBT分割パターン毎に、入力画像と予測画像生成部101で生成された予測画像との誤差画像に対し、変換および量子化を施し、量子化変換係数をエントロピー符号化部104と逆量子化・逆変換部105に出力する。この時の量子化パラメータは、QTBT分割パターン制御部131で導出したcuQPを用いる。
 S1803では、逆量子化・逆変換部105は変換・量子化部103から出力された量子化変換係数に対し、逆量子化および逆変換を施し誤差画像を生成する。この誤差画像に予測画像生成部101で生成された予測画像と加算し、復号画像を作成する。この復号画像をループフィルタ107に出力する。この時の量子化パラメータは、QTBT分割パターン制御部131で導出したcuQPを用いる。
 S1804では、ループフィルタ107は、逆量子化・逆変換部105から出力された復号画像にループフィルタを施し、再生画像を作成する。
 S1805では、エントロピー符号化部104は、ヘッダ情報、変換・量子化部103で生成された量子化変換係数、および図示しない予測パラメータ符号化部111で導出した各種予測パラメータをエントロピー符号化し、符号化データの符号量をコスト格納部132に出力する。ただし、通常の画像符号化装置の動作と異なり、エントロピー符号化部104は符号化データを出力しない。
 S1806では、コスト格納部132は、エントロピー符号化部104から出力された各CUの分割パターン、符号量R、入力画像とループフィルタ107の出力画像の誤差Dとを紐づけて格納する。
 S1807では、QTBT分割パターン制御部131はCTUの全分割パターンを処理したかどうかをチェックする。全分割パターンを処理していない場合、S1808に進み、全分割パターンを処理した場合、S1809に進む。
 S1808では、QTBT分割パターン制御部131はCTU内の次の分割パターンと、それに対応するcuQPをセットし、S1802以降の処理を繰り返す。
 S1809では、QTBT分割パターン決定部133はCTUの全QTBT分割パターンに対応する符号量と比較結果を各々コスト格納部132から読み出す。そして最適なコスト(符号量対比較結果)に対応するQTBT分割パターンを決定し、出力する。
  (CT情報符号化の処理)
 CT情報符号化部1102によるCT情報符号化の動作について、図19を参照して詳細に説明する。図19は、本発明の一実施形態に係るCT情報符号化部1102の動作を説明するフローチャートである。
 CT情報符号化部1102によるCT情報符号化S1900では、QT情報符号化と、BT情報符号化とを行う。以下では、CT情報符号化部1102によるQT情報符号化とBT情報符号化とを順に説明する。
 (S1900)まず、CT情報符号化部1102は、CT情報(QT分割フラグ)を符号化し、再帰的に符号化ツリーCT(coding_quadtree)を符号化する。具体的には、CT情報符号化部1102は、左上座標(x0, y0)、サイズCbSize、符号化ツリーの階層を示すQT深度cqtDepthの符号化ツリーであるQT情報を符号化する。
 (S1901)CT情報符号化部1102は、QT分割フラグの符号化が必要か否かを判定する。具体的には、CT情報符号化部1102は、対数CBサイズlog2CbSizeが所定の最小CBサイズの対数値MinCbLog2SizeYより大きいか否かを判定する。対数CBサイズlog2CbSizeがMinCbLog2SizeYより大きい場合には、QT分割フラグの符号化が必要と判定し、S1902に遷移する。それ以外の場合には、S1903に遷移する。ここで対数CBサイズlog2CbSizeは、CUサイズの2の対数である。
 (S1902)CT情報符号化部1102は、対数CBサイズlog2CbSizeがMinCbLog2SizeYより大きいと判定された場合には、シンタックス要素であるQT分割フラグ(split_cu_flag)を符号化する。
 (S1903)CT情報符号化部1102は、QT分割フラグsplit_cu_flagが0以外(=1)である場合には、後述のS1904を実施し、一階層下に移行してS1901以降の処理を繰り返す。それ以外の場合(QT分割フラグsplit_cu_flagが0の場合)には、S1905に遷移する。
 (S1904)CT情報符号化部1102は、QT分割を行う。具体的には、CT情報符号化部1102は、CT階層cqtDepth+1の位置(x0, y0)、(x1, y0)、(x0, y1)、(x1, y1)で、対数CBサイズlog2CbSize-1の4つの符号化ノードCN(CU)を符号化する。
 ここで、x0, y0は、対象符号化ツリーの左上座標、x1, y1は、以下の式のように、(x0,y0)に、対数CBサイズ(1 <<log2CbSize)の1/2を加えて導出される。
 x1 = x0 + ( 1<<( log2CbSize - 1 ) )
 y1 = y0 + ( 1<<( log2CbSize - 1 ) )
 なお、<<は左シフトを示す。1<<Nは2のN乗と同値である(以下同様)。同様に>>は右シフトを示す。
 そして、CT情報符号化部1102は、符号化ツリーの階層を示すCT階層cqtDepthに1を加算し、符号化ユニットサイズの対数値である対数CBサイズlog2CbSizeを1だけ減算(CBサイズを1/2)して更新する。
 cqtDepth = cqtDepth + 1
 log2CbSize = log2CbSize - 1
 CT情報符号化部1102は、下位の符号化ツリーCTにおいても、更新された左上座標、対数CBサイズ、CT階層を用いて、S1901から開始されるQT情報符号化を継続する。
 (S1905)CT情報符号化部1102は、CT情報(BT分割モード)を符号化し、再帰的に符号化ツリーCT(coding_binarytree)、具体的には、左上座標(x0, y0)、幅CbWidth、高さCbHeight、QT深度cqtDepth、BTツリーの階層を示すBT深度cbtDepthの符号化ツリーを符号化する。
 (S1906)CT情報符号化部1102は、BT分割モード(分割情報)の符号化が必要か否かを判定する。具体的には、CT情報符号化部1102は、符号化ツリーの高さ(1<<log2CbHeight)がminBTSizeよりも大きい、または符号化ツリーの幅(1<<log2CbWidth)がminBTSizeよりも大きい、且つ、符号化ツリーの幅(1<<log2CbWidth)がmaxBTSize以下、且つ、符号化ツリーの高さ(1<<log2CbHeight)がmaxBTSize以下、且つ、cbtDepthがmaxBTDepthよりも小さいか否かを判定する(以下では、所定条件と称す)。ここでlog2CbHeight、log2CbWidthは各々CbHeight、CbWidthの対数値であり、minBTSizeは最小BTサイズ(二分木のリーフノードの最小サイズ)、maxBTSizeは最大BTサイズ(二分木のリーフノードの最大サイズ)、maxBTDepthは最大BT深度(二分木の深度の最大値)である。
 上記の所定条件を満たす場合には、BT分割モードの符号化が必要と判定し、S1907に遷移する。それ以外の場合には、S1910に遷移する。
 (S1907)CT情報符号化部1102は、上記の所定条件を満たす場合には、シンタックス要素であるBT分割モードsplit_bt_mode[x0][y0]を符号化する。
 (S1908)CT情報符号化部1102は、BT分割モードsplit_bt_mode[x0][y0]が0以外(=1または2)である場合には、後述のS1909を実施し、一階層下に移行してS1906以降の処理を繰り返す。それ以外の場合(BT分割モードsplit_bt_mode[x0][y0]が0の場合)には、CT情報符号化部1102は、対象符号化ツリーを分割せず、S1910に遷移する。
 (S1909)CT情報符号化部1102は、BT分割を行う。具体的には、CT情報符号化部1102は、BT分割モードsplit_bt_mode[x0][y0]が1の場合は、CT階層cbtDepth+1の位置(x0, y0)、(x0, y1)で、幅及び高さの対数値がそれぞれlog2CbWidth及びlog2CbHeight-1の2つの符号化ノードCNを符号化する。
 一方、BT分割モードsplit_bt_mode[x0][y0]が2の場合は、CT情報符号化部1102は、CT階層cbtDepth+1の位置(x0, y0)、(x1, y0)で、幅及び高さの対数値がそれぞれlog2CbWidth-1及びlog2CbHeightの2つの符号化ノードCNを符号化する。
 ここで、x0, y0は、対象符号化ツリーの左上座標、x1, y1は、以下の式のように、(x0,y0)に、(1 <<log2CbWidth)の1/2及び(1 <<log2CbHeight)の1/2をそれぞれ加えて導出される。
 x1 = x0 + ( 1<<( log2CbWidth - 1 ) )
 y1 = y0 + ( 1<<( log2CbHeight -1 ) )
 なお、<<は左シフトを示す。1<<Nは2のN乗と同値である(以下同様)。同様に>>は右シフトを示す。
 そして、CT情報符号化部1102は、符号化ツリーの階層を示すCT階層cbtDepthに1を加算し、log2CbWidthまたはlog2CbHeightを1だけ減算して更新する。
 cbtDepth = cbtDepth + 1
 log2CbWidth = log2CbWidth - 1 あるいは
 log2CbHeight = log2CbHeight - 1
 CT情報符号化部1102は、下位の符号化ツリーCTにおいても、更新された左上座標、CTの幅及び高さの対数値、BT階層を用いて、S1906から開始されるBT情報符号化を継続する。
 (S1910)CT情報符号化部1102は、上記のQTBT分割で導出されたCUのサイズから、図12(1)のDQPTBL[]を参照して対象CUのcuQPとsliceQPの差分値dcuQPを導出する。
 なお、以上で説明したCT情報符号化は、QTツリーとBTツリーとが別レイヤである場合を想定した符号化方法である。この方法では、BT分割後にはQT分割を行うことができないが、BT分割後にはQT分割フラグの有無の判定が不要となる。しかし、本実施形態はこれに限定されず、QTツリーとBTツリーとが同一レイヤである場合を想定した符号化方法を採用してもよい。この場合は、QT分割及びBT分割のいずれも選択できる、すなわちBT分割後にもQT分割を行うことができるが、毎度QT分割フラグの有無の判定が必要となる。
 図20に量子化パラメータ算出および符号化に関する動作のフローチャートを示す。
 S2001では、図11のヘッダ符号化部1101はピクチャ単位の量子化パラメータpicQP-26をpic_init_qp_minus26として符号化する。
 S2002では、ヘッダ符号化部1101はスライス単位の量子化パラメータsliceQPとpicQPの差分値dsliceQPを下式で算出する。
  dsliceQP = sliceQP - picQP
 S2003では、ヘッダ符号化部1101はdsliceQPを符号化する。
 S2004では、ヘッダ符号化部1101は図6の符号化パラメータ決定部110から出力される、図12(1)のDQPTBL[]、CUサイズに対応するインデックスxを参照して求めたCU単位の差分値dcuQPと、ベースQP(sliceQP)から、CU単位の量子化パラメータcuQPを下式で算出し、出力する。
  dcuQP = DQPTBL[x]
  cuQP = ベースQP(sliceQP) + dcuQP
ここでdcuQPはsliceQPとの差分値であり、各CUではsliceQPにdcuQPを加算することでcuQPを求める。なお、実施形態1ではCUサイズをもとにDQPTBL[]からCU単位の差分値を導出したが、CUサイズ以外に後述する第2の符号化パラメータであってもよい。
 なお、ベースQPは、スライス単位で算出される値に限定されず、ブロック単位で、符号化データから量子化パラメータのシンタックスを復号して算出されるQPでも構わない。但し、ベースQPを復号するブロック(第1の単位、例えばスライス)のサイズは、差分QPを算出する単位(第2の単位、例えばCU)のよりも大きいことが好ましい。
  (CT情報復号の処理)
 CT情報復号部1002によるCT情報復号の動作について、図21を参照して詳細に説明する。図21は、本発明の一実施形態に係るCT情報復号部1002の動作を説明するフローチャートである。
 CT情報復号部1002によるCT情報復号S2100では、QT情報復号とBT情報復号とを行う。以下では、CT情報復号部1002によるQT情報復号とBT情報復号とについて順に説明する。
 (S2100)まず、CT情報復号部1002は、符号化データからCT情報(QT分割フラグ)を復号し、再帰的に符号化ツリーCT(coding_quadtree)を復号する。具体的には、CT情報復号部1002
は、左上座標(x0, y0)、サイズCbSize、符号化ツリーの階層を示すQT深度cqtDepthの符号化ツリーであるQT情報を復号する。
 (S2101)CT情報復号部1002は、復号したCB情報にQT分割フラグがあるか否かを判定する。具体的には、CT情報復号部1002は、対数CBサイズlog2CbSizeが所定の最小CBサイズの対数値MinCbLog2SizeYより大きいか否かを判定する。対数CBサイズlog2CbSizeがMinCbLog2SizeYより大きい場合には、QT分割フラグがあると判定し、S2102に遷移する。それ以外の場合には、S2103に遷移する。
 (S2102)CT情報復号部1002は、対数CBサイズlog2CbSizeがMinCbLog2SizeYより大きいと判定された場合には、シンタックス要素であるQT分割フラグ(split_cu_flag)を復号する。
 (S2103)CT情報復号部1002は、それ以外の場合(対数CBサイズlog2CbSizeがMinCbLog2SizeY以下)、つまり、符号化データにQT分割フラグsplit_cu_flagが現れない場合には、符号化データからのQT分割フラグsplit_cu_flagの復号を省略し、QT分割フラグsplit_cu_flagを0として導出する。
 (S2104)CT情報復号部1002は、QT分割フラグsplit_cu_flagが0以外(=1)である場合には、後述のS2105を実施し、一階層下に移行してS2101以降の処理を繰り返す。それ以外の場合(QT分割フラグsplit_cu_flagが0の場合)には、S2106に遷移する。
 (S2105)CT情報復号部1002は、QT分割を行う。具体的には、CT情報復号部1002は、CT階層cqtDepth+1の位置(x0, y0)、(x1, y0)、(x0, y1)、(x1, y1)で、対数CBサイズlog2CbSize-1の4つの符号化ノードCN(CU)を復号する。
 ここで、x0, y0は、対象符号化ツリーの左上座標、x1, y1は、以下の式のように、(x0,y0)に、対数CBサイズ(1 <<log2CbSize)の1/2を加えて導出される。
 x1 = x0 + ( 1<<( log2CbSize - 1 ) )
 y1 = y0 + ( 1<<( log2CbSize - 1 ) )
 なお、<<は左シフトを示す。1<<Nは2のN乗と同値である(以下同様)。同様に>>は右シフトを示す。
 そして、CT情報復号部1002は、符号化ツリーの階層を示すCT階層cqtDepthに1を加算し、符号化ユニットサイズの対数値である対数CBサイズlog2CbSizeを1だけ減算(CBサイズを1/2)して更新する。
 cqtDepth = cqtDepth + 1
 log2CbSize = log2CbSize - 1
 CT情報復号部1002は、下位の符号化ツリーCTにおいても、更新された左上座標、対数CBサイズ、CT階層を用いて、S2101から開始されるQT情報復号を継続する。
 (S2106)CT情報復号部1002は、符号化データからCT情報(BT分割モード)を復号し、再帰的に符号化ツリーCT(coding_binarytree)、つまり、左上座標(x0, y0)、幅CbWidth、高さCbHeight、QT深度cqtDepth、BTツリーの階層を示すBT深度cbtDepthの対象符号化ツリーを復号する。
 (S2107)CT情報復号部1002は、復号したCT情報にBT分割モード(分割情報)があるか否かを判定する。具体的には、CT情報復号部1002は、符号化ツリーの高さ(1<<log2CbHeight)がminBTSizeよりも大きい、または符号化ツリーの幅(1<<log2CbWidth)がminBTSizeよりも大きい、且つ、符号化ツリーの幅(1<<log2CbWidth)がmaxBTSize以下、且つ、符号化ツリーの高さ(1<<log2CbHeight)がmaxBTSize以下、且つ、cbtDepthがmaxBTDepthよりも小さいか否かを判定する(以下では、所定条件と称す)。ここでlog2CbHeight、log2CbWidthは各々CbHeight、CbWidthの対数値であり、minBTSizeは最小BTサイズ(二分木のリーフノードの最小サイズ)、maxBTSizeは最大BTサイズ(二分木のリーフノードの最大サイズ)、maxBTDepthは最大BT深度(二分木の深度の最大値)である。
 上記の所定条件を満たす場合には、BT分割モードがあると判定し、S2108に遷移する。それ以外の場合には、S2109に遷移する。
 (S2108)CT情報復号部1002は、上記の所定条件を満たす場合には、シンタックス要素であるBT分割モードsplit_bt_mode[x0][y0]を復号する。
 (S2109)CT情報復号部1002は、それ以外の場合(上記の所定条件を満たさない場合)、つまり、符号化データにBT分割モードsplit_bt_mode[x0][y0]が現れない場合には、符号化データからのBT分割モードsplit_bt_mode[x0][y0]の復号を省略し、BT分割モードsplit_bt_mode[x0][y0]を0として導出する。
 (S2110)CT情報復号部1002は、BT分割モードsplit_bt_mode[x0][y0]が0以外(=1または2)である場合には、後述のS2111を実施し、一階層下に移行してS2107以降の処理を繰り返す。それ以外の場合(BT分割モードsplit_bt_mode[x0][y0]が0の場合)には、CT情報復号部1002は、対象符号化ツリーを分割せず、S2112に遷移する。
 (S2111)CT情報復号部1002は、BT分割を行う。具体的には、CT情報復号部1002は、BT分割モードsplit_bt_mode[x0][y0]が1の場合は、CT階層cbtDepth+1の位置(x0, y0)、(x0, y1)で、幅及び高さの対数値がそれぞれlog2CbWidth及びlog2CbHeight-1の2つの符号化ノードCNを復号する。
 一方、BT分割モードsplit_bt_mode[x0][y0]が2の場合は、CT情報復号部1002は、CT階層cbtDepth+1の位置(x0, y0)、(x1, y0)で、幅及び高さの対数値がそれぞれlog2CbWidth - 1及びlog2CbHeightの2つの符号化ノードCNを復号する。
 ここで、x0, y0は、対象符号化ツリーの左上座標、x1, y1は、以下の式のように、(x0,y0)に、(1 <<log2CbWidth)の1/2及び(1 <<log2CbHeight)の1/2をそれぞれ加えて導出される。
 x1 = x0 + ( 1<<( log2CbWidth - 1 ) )
 y1 = y0 + ( 1<<( log2CbHeight - 1 ) )
 なお、<<は左シフトを示す。1<<Nは2のN乗と同値である(以下同様)。同様に>>は右シフトを示す。
 そして、CT情報復号部1002は、符号化ツリーの階層を示すCT階層cbtDepthに1を加算し、log2CbWidthまたはlog2CbHeightを1だけ減算して更新する。
 cbtDepth = cbtDepth + 1
 log2CbWidth = log2CbWidth - 1 あるいは
 log2CbHeight = log2CbHeight - 1
 CT情報復号部1002は、下位の符号化ツリーCTにおいても、更新された左上座標、CTの幅及び高さの対数値、BT階層を用いて、S2107から開始されるBT情報復号を継続する。
 (S2112)CT情報復号部1002は、上記のQTBT分割で導出されたCUのサイズから、図12(1)のDQPTBL[]を参照して対象CUのcuQPとsliceQPの差分値dcuQPを導出する。
 なお、以上で説明したCT情報復号は、QTツリーとBTツリーとが別レイヤである場合を想定した復号方法である。この方法では、BT分割後にはQT分割を行うことができないが、BT分割後にはQT分割フラグの有無の判定が不要となる。しかし、本実施形態はこれに限定されず、QTツリーとBTツリーとが同一レイヤである場合を想定した復号方法を採用してもよい。この場合は、QT分割及びBT分割のいずれも選択できる、すなわちBT分割後にもQT分割を行うことができるが、毎度QT分割フラグの有無の判定が必要となる。
 図22に量子化パラメータ復号および算出に関する動作のフローチャートを示す。
 S2201では、図10のヘッダ復号部1001はpic_init_qp_minus26を復号して、ピクチャ単位の量子化パラメータpicQPを算出する。
 S2202では、ヘッダ復号部1001はpicQPとスライス単位の量子化パラメータの差分値dsliceQPを復号する。
 S2203では、ヘッダ復号部1001はsliceQPを下式で算出する。
  sliceQP = picQP + dsliceQP
 S2204では、ヘッダ復号部1001は、図12(1)のDQPTBL[]とCUサイズに対応するインデックスxを参照して求めたCU単位の差分値dcuQPと、sliceQPから、CU単位の量子化パラメータcuQPを下式で算出し、出力する。
  dcuQP = DQPTBL[x]
  cuQP = ベースQP(sliceQP) + dcuQP
ここでdcuQPはsliceQPと現CUの量子化パラメータcuQPとの差分値であり、各CUではsliceQPにdcuQPを加算することでcuQPを求める。なお、実施形態1ではCUサイズをもとにDQPTBL[]からCU単位の差分値を導出したが、CUサイズ以外に後述する第2の符号化パラメータであってもよい。
 以上で説明したように、本願の実施形態1では第2の符号化パラメータ、特に物体の形状に合わせた可変サイズ・可変形状のQTBT分割パターンを利用して、CU単位で差分量子化パラメータを設定し、CUサイズが大きい場合はsliceQPに対し負の差分値をもつことでQPを小さく、CUサイズが小さい場合はsliceQPに対し正の差分値をもつことでQPを大きく設定することができる。これにより、CUサイズが大きい平坦なテクスチャ、滑らかなグラデーションの領域では量子化パターンを小さくし、擬似輪郭を防ぐことで主観的に良好な画質を実現できる。また、CUサイズが小さい複雑なテクスチャの領域ではノイズが目立ちにくいため、量子化パターンを大きくしても主観的に劣化が目立ちにくい。
 また、CU単位の量子化パラメータに関する情報を符号化しないので、頻繁に量子化パラメータを変更しても符号量の増加が無いため、CUに合わせて適切に量子化制御ができる。
  (追記事項)
 図12(1)に示すCUサイズ(面積)とDQPTBL[]の関係を説明する。
 図23は、解像度がHD(1920x1080)の5種類の動画像において、cuQPをピクチャ全体で22、27、32、37に固定した時の、CU1つあたりの量子化変換係数の個数をCUサイズ別に示した図である。ここで、CUサイズ4096以上はCU幅xCU高さが128x128、128x64、128x32、64x128、64x64、32x128であり、CUサイズ1024~4095はCU幅xCU高さが、128x16、128x8、64x32、64x16、32x64、32x32、16x128、16x64、8x128であり、CUサイズ512~1023はCU幅xCU高さが128x4、64x8、32x16、16x32、8x64、4x128であり、CUサイズ256~511はCU幅xCU高さが、64x4、32x8、16x16、8x32、4x64であり、CUサイズ128~255はCU幅xCU高さが32x4、16x8、8x16、4x32であり、CUサイズ0~127はCU幅xCU高さが16x4、8x8、8x4、4x8、4x4である。図23(1)はIピクチャ、(2)はBピクチャの場合のCU1つあたりの量子化変換係数の個数である。
 また図24は図23のcuQP=22において、各CUサイズの単位面積当たりの量子化変換係数の個数を示した図である。図24(1)はIピクチャ、(2)はBピクチャの場合のCUにおいて、単位面積あたりの量子化変換係数の個数である。
 図23、図24から、CUサイズが大きい場合、単位面積当たりの変数の個数は少なく、CUサイズが小さくなるにつれて単位面積当たりの変数の個数は多くなる。つまりsliceQPを基準にして、サイズの大きなCUに対しcuQPを小さく設定(負の差分値を設定)し、サイズの小さなCUに対しcuQPを大きく設定(正の差分値を設定)すると、適切な差分値を使用すれば、1スライスの符号量はCU毎に量子化パラメータを設定しない(1スライスを通して同じ量子化パラメータを使用)場合の量子化変換係数の符号量とほぼ同程度の符号量になる。
 図12(1)の差分値dcuQPは一例であり、i) DQPTBL[x]=0となるインデックスxに対応するCUサイズより、現CUのサイズが大きい場合にdcuQPを負の値とし、小さい場合にdcuQPを正の値とする、ii)2種類のサイズ(sizeAとsizeB)をもつCU(CUAとCUB)があり、sizeAがsizeBより小さい場合、CUAの量子化パラメータの差分値dcuQPAはCUBの量子化パラメータの差分値dcuQPB以上に設定する、という制約を満たす範囲内で、図12(1)以外の対応表を設定してもよい。なお符号量の目安として、dcuQPが6増加すると、量子化変換係数の符号量は約2~2.5倍になる。
  (変形例1)
 実施形態1の変形例1は、実施形態1で説明したcuQPを第2の符号化パラメータを用いて自動制御する方法と、従来のdcuQPを符号化データとして符号化する方法をフラグで切り替える方法である。フラグはSPS、PPS、スライスヘッダのいずれかに挿入する。例えばPPSでフラグを通知した場合、切替単位はピクチャ単位である。また、フラグの挿入位置に関わらず、切替処理に関係する動作は同じである。
 図25は切替動作を示すフローチャートである。画像符号化装置の場合、ヘッダ符号化部1101が、画像復号装置の場合、ヘッダ復号部1001が、図25に示す処理を実行する。S1801では、量子化パラメータを符号化して通知するか、量子化パラメータを符号化せず第2の符号化パラメータを参照して導出するかを示すフラグを符号化、または復号する。S1802ではフラグが1か否かをチェックする。フラグが1の場合S1803に進み、フラグが0の場合S1804に進む。S1803では、CU単位に量子化パラメータを符号化し、符号化された量子化パラメータを用いてCU毎の符号化あるいは復号処理を実施する。S1804ではあらかじめ定められた第2の符号化パラメータ(実施形態1ではCUサイズ)を用いて、CU毎にsliceQPとの差分値dcuQPを導出し、cuQPを算出して、CU毎の符号化処理、復号処理を行う。
  (実施形態2)
 実施形態2では、CTUの先頭CUの量子化パラメータは従来と同様、符号化データとしてブロックの量子化パラメータcuQPに関連する情報を符号化・復号し、CTUの2つ目以降のCUの量子化パラメータは、先頭CUの量子化パラメータと分割情報や予測パラメータなどの第2の符号化パラメータから導出した差分値を加算してcuQPを算出する。
 図26はピクチャを固定サイズのCTUに分割し、さらにCTUを可変サイズのCUに分割する一例である。図中、破線で囲んだ固定サイズのブロックがCTUであり、図26には8個のCTUが記載されている。CTUを分割した1つ1つのブロックがCUであり、その中で、太線で囲んだブロックがCTU内の最初のCU(先頭CU)である。この先頭CUでは量子化パラメータを明示的に符号化し、それ以外のCUでは、実施形態1に記載したようにCUサイズ等の第2の符号化パラメータを参照して、各CUの差分量子化パラメータを導出する。ただし実施形態1と異なり、実施形態2の差分はsliceQPとの差分ではなく、同じCTUの先頭CUの量子化パラメータとの差分である。以降では先頭CUの量子化パラメータをcuQPf、それ以外のCUの量子化パラメータをcuQPcと記載する。実施形態2では、ベースQPはcuQPfとなる。
 図27は、実施形態2の量子化パラメータ算出および符号化に関する動作のフローチャートである。
 S2001~S2003は図20のS2001~S2003と同じ処理であり、説明を省略する。
 S2704では、ヘッダ符号化部1101は先頭CUのQP予測値predQPとCTUの先頭CUの量子化パラメータcuQPfの差分値を下式で算出する。
  dcuQPf = cuQPf - predQP
 なお、予測値predQPとして例えばスライス単位(第1の単位)で定まるsliceQPを用いてもよい。他の方法として、予測値predQPを先頭CUに隣接するブロックの量子化パラメータから導出してもよい。
 predQP = (QPabove + QPleft + 1) >> 1
 ここで、QPabove、QPleftは各々先頭CUの上に隣接するブロックのQP、左に隣接するブロックのQPである。
 S2705では、ヘッダ符号化部1101はベースQPを定めるためのdcuQPfを符号化する。
 S2706では、図6の符号化パラメータ決定部110から出力される、図12(1)のDQPTBL[]、CUサイズに対応するインデックスxを参照して求めたCU単位の差分値dcuQPcと、cuQPfから、先頭以外のCUの量子化パラメータcuQPcを下式で算出し、出力する。
  dcuQPc = DQPTBL[x]
  cuQPc = ベースQP(cuQPf) + dcuQPc
ここでdcuQPcは現CUと同じCTUの先頭CUの量子化パラメータcuQPfとの差分値であり、先頭CU以外の各CUではcuQPfにdcuQPcを加算することで現CUの量子化パラメータcuQPcを求める。なお、実施形態2では第2の符号化パラメータの一つであるCUサイズをもとにDQPTBL[]からCU単位の差分値を導出したが、後述するように、CUサイズ以外の第2の符号化パラメータであってもよい。
 図28は実施形態2の量子化パラメータ復号および算出に関する動作のフローチャートである。
 S2201~S2203は図22のS2201~S2203と同じ処理であり、説明を省略する。
 S2804では、ヘッダ復号部1001はCTUの先頭CUで符号化データに含まれる量子化パラメータのシンタックスからdcuQPfを復号する。
 S2805では、ヘッダ復号部1001は先頭CUのcuQPfを下式で算出する。
  cuQPf = predQP + dcuQPf
 predQPはすでに説明したように、sliceQPを用いてもよいし、先頭CUに隣接するブロックのQPから導出してもよい。
 S2806では、ヘッダ復号部1001は、図12(1)のDQPTBL[]、CUサイズに対応するインデックスxを参照して求めたCU単位の差分値dcuQPcと、cuQPfから、先頭CU以外のCUの量子化パラメータcuQPcを下式で算出し、出力する。
  dcuQPc = DQPTBL[x]
  cuQPc = ベースQP(cuQPf) + dcuQPc
ここでdcuQPcはcuQPfとの差分値であり、現CUと同じCTUの先頭CUのQPにdcuQPcを加算することで現CUのcuQPcを求める。なお、実施形態1ではCUサイズをもとにDQPTBL[]からCU単位の差分値を導出したが、CUサイズ以外に後述する第2の符号化パラメータであってもよい。
 なお、実施形態2では量子化パラメータを通知する単位をCTUと定義したが、通知単位は必ずしもCTUに限定されず、所定のサイズ、例えば16x16単位や32x32単位(CTUの倍数)としてもよい。この場合、CTUサイズが所定のサイズ未満の場合、複数のCTUで1回、量子化パラメータが符号化・復号される。
 実施形態2では、CTUの先頭CUの量子化パラメータは従来と同様、cuQPに関連する情報を符号化・復号するため、符号量の制御がしやすく、CTUの2つ目以降のCUの量子化パラメータは、先頭CUの量子化パラメータと第2の符号化パラメータから導出した差分値を加算して量子化パラメータを算出するため、量子化パラメータの符号量が低減される効果がある。また、CTUの2つ目以降のCUの量子化パラメータは、実施形態1と同じく発生符号量なしで各CUのテクスチャの特徴に応じた画質制御ができるという効果がある。
  (変形例2)
 実施形態2の変形例2では、CTUの先頭CU以外のCUの量子化パラメータcuQPcと、先頭CUの量子化パラメータcuQPfの差分値を符号化データに符号化する。ただし、差分値の絶対値は符号化するが、差分値の符号(正または負)はCUサイズ等の第2の符号化パラメータを参照して導出し、符号化しない。実施形態2では、図18に示す符号化パラメータ決定部110のフローチャートのS1801とS1808において、QTBT分割パターンと、図12(1)を参照したそれに対応する量子化パラメータを抽出する。これらを用いて符号化処理を試行し、各QTBT分割パターンのRDコストを計算し、最適なQTBT分割パターンを決定した。変形例2では、同図のS1801とS1808において、QTBT分割パターンに対応する量子化パラメータの範囲を拡大して符号化処理を試行する。ただしベースとなるcuQPfに対し、以下の制約を設ける。
i)図29(1)に示すように、試行するCUのサイズがCTU幅*CTU高さ/64より大きければ、ベースとなるcuQPfに対して差分値が負になる量子化パラメータ値のみを処理の対象とする。ii) そうではなく、試行するCUのサイズがCTU幅*CTU高さ/64であれば、ベースとなるcuQPfと同じ量子化パラメータ値のみを処理の対象とする。
iii)そうでなければ(試行するCUのサイズがCTU幅*CTU高さ/64未満であれば)、ベースとなるcuQPfに対して差分値が正になる量子化パラメータ値のみを処理の対象とする。
QTBT分割パターン決定部133は、上記で選択された量子化パラメータと対応するQTBT分割パターンの組み合わせの中から最適な組み合わせを決定する。
 具体的には、画像符号化装置のヘッダ符号化部1101は各CUの量子化パラメータcuQPcと先頭CUのcuQPfとの差分値dcuQPcを算出し、符号化すべきシンタックス(差分値の絶対値cu_qp_delta_abs)を下式で算出する。
  dcuQPc = cuQPc - cuQPf
  cu_qp_delta_abs = abs(dcuQPc)
変形例2では、図29(1)に示すように、CUサイズによって現CUのとりうる量子化パラメータは制限されており、差分値の符号(正か負か)dcuQPc_signは符号化しない。
 画像復号装置のヘッダ復号部1001は、受信したcu_qp_delta_absと図29(1)を用いて、以下のようにdcuQPcを求める。
  dcuQPc_sign=1  CUサイズ > CTU幅*CTU高さ/64
  dcuQPc_sign=0  上記以外
  dcuQPc = cu_qp_delta_abs * (1-2*dcuQP_sign)
 なお、dcuQPc_signが1、0は各々、符号が負、正に対応する。上記では、CUサイズが所定のサイズより大きい場合に、dcuQPc_sign=1、すなわち、QP差分値dcuQPcの符号を負に設定することにより、QPを小さくする処理が行われる。
 以上の動作を図30(画像符号化装置)、図31(画像復号装置)のフローチャートを用いて説明する。
 まず画像符号化装置であるが、図30のS2001~S2704は図27のS2001~S2704と同じであり、説明を省略する。
 S3005では、ヘッダ符号化部1101は、CTUの先頭以外のCUの量子化パラメータcuQPcと先頭CUの量子化パラメータcuQPfとの差分値dcuQPcを算出する。
  dcuQPc = cuQPc - cuQPf
 S3006では、ヘッダ符号化部1101はdcuQPfとdcuQPcの絶対値を符号化する。また図29(1)を用いてdcuQPcの符号dcuQPc_signを導出する。
  dcuQPc_sign = SIGNTBL[x]
ここでxはCUサイズに対応するインデックスである。SIGNTBL[]は、図29(1)に示す以下のテーブルである。
 SIGNTBL = {1, 0}
 次に画像復号装置であるが、図31のS2201~S2203は図28のS2201~S2203と同じであり、説明を省略する。
 S3104では、ヘッダ復号部1001は、先頭CUのdcuQPfとそれ以外のCUのabs(dcuQPc)を復号する。
 S3105では、ヘッダ復号部1001は、先頭CUのcuQPfを算出する。
  cuQPf = sliceQP + dcuQPf
 S3106では、ヘッダ復号部1001は図29(1)を用いてdcuQPcの符号dcuQPc_signを導出する。
  dcuQPc_sign = SIGNTBL[x]
ここでxはCUサイズに対応するインデックスである。
 S3107では、ヘッダ復号部1001は、先頭CU以外のCUの量子化パラメータcuQPcを算出する。
  cuQPc = cuQPf + dcuQPc * (1 - 2 * dcuQPc_sign)
 なお、上記では実施形態2に記載したCTUの先頭CU以外のCUの量子化パラメータcuQPcと、先頭CUの量子化パラメータcuQPfの差分値に対して変形例2を施したが、実施形態1に記載したスライス単位のsliceQPと、CUの量子化パラメータcuQPの差分値に対して変形例2を施してもよい。
 以上説明したように、変形例2では、CTUの先頭CU以外のCUの量子化パラメータcuQPcと、先頭CUの量子化パラメータcuQPfの差分値を符号化する。ただし、差分値の絶対値は符号化するが、差分値の符号(正または負)はCUサイズ等の第2の符号化パラメータを参照して導出し、符号化しない。そのため、正または負を表す符号量を削減しつつ、最適な量子化パラメータの差分絶対値を使用して符号化・復号処理ができるため、より主観的に良好な画質を実現することができる。
  (実施形態3)
 本願の実施形態3では、実施形態1および実施形態2で第2の符号化パラメータとして使用したCUサイズ(面積)以外の第2の符号化パラメータを用いた量子化パラメータの導出について説明する。
 実施形態1および実施形態2では第2の符号化パラメータとしてCUサイズ(面積:CU幅*CU高さ)を用い、各々CTU幅およびCTU高さに対する比で表現した。CUサイズとしては、これ以外に、CU幅とCU高さの和を用いる方法(図12(2))、四分木や二分木の階層(QTDepth、BTDepth)を用いる方法(図12(3))、CUサイズをCTUとの比ではなく、CUサイズそのものを用いる方法(図29(2)、(3))がある。図12(2)ではCU幅とCU高さをCU辺と総称する。CU辺1がCU幅でCU辺2がCU高さである場合と、その逆の場合がある。CUサイズを面積ではなく、和で表現することで、演算を簡単にできるメリットがある。またCUサイズをCTUに依存しない数値で表現することにより、符号量の多い小サイズのCUにおいて、量子化パラメータがCTUサイズの影響を過度に受けるデメリットを回避することができる。
 また、実施形態2の変形例2の対応表も図29(4)に示すように、CTU幅およびCTU高さに対する比ではなく、数値で表すこともできる。さらに変形例2の対応表も、CUサイズ(面積)とdcuQP_signの対応関係以外に、CU幅とCU高さの和や四分木や二分木の階層とdcuQP_signの対応関係で表すこともできる。
 (量子化変換係数の構成)
 また、分割情報(CUサイズ)以外の第2の符号化パラメータとして、隣接CUの0以外の量子化変換係数(非0量子化変換係数)の個数を利用することもできる。複雑なテクスチャは量子化変換係数の個数が多く、平坦なテクスチャやグラデーションは量子化変換係数の個数が少ないことから、量子化変換係数の個数はアクティビティに関連する第2の符号化パラメータの1つである。
 図32に示すように、本構成の画像復号装置および画像符号化装置は、現CUの上側の隣接CU(CUA)と左側の隣接CU(CUL)の非0量子化変換係数の個数NA,NLの和(量子化変換係数の個数の和と記す)によって、ベースとなる量子化パラメータ(実施形態1ではsliceQP、実施形態2ではcuQPf)に対する差分値dcuQPを制御する。例えば、図33(1)に示す表を用いて、各CUの差分量dcuQPを導出し、cuQPを導出してもよい。
ここで
 cuQP = predQP + dcuQP
もしくは
 cuQP = cuQPf + dcuQP
 図33(1)に、Iピクチャ(スライス)の場合の非0量子化変換係数の和と量子化パラメータの差分値dcuQPの対応関係を示す。図33(1)は非0量子化変換係数の個数の和に応じて、差分量子化パラメータを対応づける例である。
 さらに、実施形態2の変形例2のように、差分量子化パラメータの絶対値のみを符号化データに符号化し、符号を非0量子化変換係数から導出してもよい。
 図33(2)は、Iピクチャ(スライス)において、非0量子化変換係数の個数の和に応じて差分量子化パラメータが正か負かを制約し、実施形態2の変形例2のように、差分量子化パラメータの大きさ自体は明示的に符号化するための対応表である。なお、図33(3)、(4)はPあるいはBピクチャ(スライス)の場合の対応表である。なお、各CUのサイズは同じではないため、図33で用いる変換係数の和は正規化する必要がある。例えば正規化後のCUのサイズを32x32とした時に、CUAが16x8でNA=2、CULが64x32でNL=4の場合、各CUを32x32に正規化すると各々の非0変換係数の個数はCUAが16、CULが2となる。図33(1)のNA、NLは正規化後の変換係数の個数を用い、前記の場合は変換係数の和は18である。これに対応するインデックスは0であり、DQPTBL[0]=-6であるので、dcuQP=-6となる。このようにアクティビティに関連する隣接CUの量子化変換係数の個数を利用することにより、主観的に良好な画質を実現できる。
 (動きベクトルの構成)
 さらに、上記以外にも利用できる第2の符号化パラメータとして、隣接CUの動きベクトルがある。動きベクトルが大きい場合、動きは速く、ディテールのはっきりしないボケた画像が多く、動きベクトルが小さい場合、動きは遅く、ディテールのはっきりした画像が多い。従ってCUの動きベクトルが小さい場合は、後続のピクチャから参照画像として参照される確率が高い。従って隣接CUの動きベクトルが小さいCUは量子化パラメータを小さく、隣接CUの動きベクトルが大きいCUは量子化パラメータを大きくする。
 図32に示す、現CUの上側の隣接CU(CUA)と左側の隣接CU(CUL)の動きベクトルをMVA、MVLとする。
 本構成の画像復号装置および画像符号化装置は、隣接ブロックの動きベクトルの大きさに応じて、ベースとなる量子化パラメータ(実施形態1ではsliceQP、実施形態2ではcuQPf)に対する差分値dcuQPを決定し、cuQPを導出する。ここで
 cuQP = predQP + dcuQP
もしくは
 cuQP = cuQPf + dcuQP
動きベクトルの大きさと量子化パラメータの差分値dcuQPの対応関係を図34(1)に示す。図34(1)は動きベクトルの大きさ(水平・垂直成分の絶対値和)に、差分値を対応づける例である。図34(2)は動きベクトルの大きさ(水平・垂直成分の絶対値和)に対し、差分値が正か負かを制約し、実施形態2の変形例2のように、符号(正または負)は符号化せず、差分値の大きさ自体は明示的に符号化するための対応表である。このように後続のピクチャからの参照可能性に関連する隣接CUの動きベクトルの大きさを利用することにより、主観的に良好な画質を実現できる。
 (イントラ予測モードの構成)
 さらに、上記以外にも利用できる第2の符号化パラメータとして、イントラ予測モードがある。一般に、垂直方向および水平方向のオブジェクトは途切れずに続くことが多い。従ってあるCUのイントラ予測モードが垂直方向または水平方向であれば、後続のCUのイントラ予測モードが垂直方向または水平方向である可能性が高い。従ってあるCUのCU境界の復号画素は、後続のCUの参照画素として使用される可能性が高い。そこで、現CUのイントラ予測モードが垂直方向または水平方向であれば、量子化パラメータを小さく、それ以外の方向であれば量子化パラメータを大きくする。イントラ予測モードと量子化パラメータの差分値dcuQPの対応関係を図34(3)に示す。図34(3)はイントラ予測モードに、差分値を対応づける例である。
 本構成の画像復号装置および画像符号化装置は、イントラ予測モードに応じて、ベースとなる量子化パラメータ(ベースQP、実施形態1ではsliceQP、実施形態2ではcuQPf)に対する差分値dcuQPを決定し制御、cuQPを導出する。ここで
 cuQP = predQP + dcuQP
もしくは
 cuQP = cuQPf + dcuQP
 また、変形例として現CUのイントラ予測モードが垂直方向または水平方向であり、その隣接CUのイントラ予測モードは現CUのイントラ予測モードと異なる場合に、量子化パラメータを小さく、それ以外の方向であれば量子化パラメータを大きくしてもよい。この場合、現CUはオブジェクトの開始位置に当たると推定され、後続のCUで参照される可能性が高いと考えられるからである。
 図32に示す、現CUの上側の隣接CU(CUA)と左側の隣接CU(CUL)のイントラ予測モードをIPredA、IPredL、現CUのイントラ予測モードをIPredCとする。垂直方向のイントラ予測モードをVer、垂直方向のイントラ予測モードをHorとする。また、イントラ予測モードと量子化パラメータの差分値dcuQPの対応関係を図34(4)に示す。図34(4)はイントラ予測モードに、差分値を対応づける例である。
 さらに、現CUの上に隣接するイントラ予測モードIPredAが垂直方向Verではなく、現CUのイントラ予測モードIPredCが垂直モードVerである場合に、現CUのQP差分値dcuQPを負の値に設定し、量子化パラメータを小さく設定してもよい。上記の場合には、現CUは、比較的長く続く垂直線を構成する最初のブロックである可能性が高く、このような垂直線は現CUの下の後続のブロックで参照される可能性が高いことから量子化パラメータを小さくして高い画質とすることが適当である。
 同様の形態として、現CUの左に隣接するイントラ予測モードIPredLが水平方向Horではなく、現CUのイントラ予測モードIPredCが水平モードHorである場合に、現CUのQP差分値dcuQPを負の値に設定し、量子化パラメータを小さく設定してもよい。
 本構成の画像復号装置および画像符号化装置は、イントラ予測モードに応じて、ベースとなる量子化パラメータ(ベースQP、実施形態1ではsliceQP、実施形態2ではcuQPf)に対する差分値dcuQPを決定し制御、cuQPを導出するする。ここで
 cuQP = predQP + dcuQP
もしくは
 cuQP = cuQPf + dcuQP
 このように後続のピクチャからの参照可能性に関連する隣接CUのイントラ予測モードを利用することにより、主観的に良好な画質を実現できる。
  (変形例3)
 変形例3では、実施形態1~3で記載した第2の符号化パラメータと差分量子化パラメータの対応関係をヘッダで通知する技術を説明する。
 各実施形態で説明した差分量子化パラメータと対応づける第2の符号化パラメータ(CUサイズ、変換係数の個数、動きベクトルの大きさ等)は、画像符号化装置と画像復号装置の間であらかじめ定められた共通の対応表を用いる以外にも、SPS、PPS、スライスヘッダ等の各種ヘッダで通知することができる。
 図35は対応表の通知方法を示すフローチャートである。図12、図29、図33、図34は対応表の一例である。画像符号化装置の場合、ヘッダ符号化部1101が、画像復号装置の場合、ヘッダ復号部1001が、フローチャートの各処理を実行する。S3501では、第2の符号化パラメータと差分量子化パラメータの対応表を通知するか否かを示すフラグを符号化、または復号する。S3502ではフラグが1か否かをチェックする。フラグが1の場合S3503に進み、フラグが0の場合処理を終了する。S3503では、フラグに続いて対応表を符号化あるいは復号する。以降の符号化あるいは復号処理では通知された新しい符号表を用いる。フラグが0の場合はこれまで使用してきた対応表を継続して使用する。
 また、別の通知方法として、例えばSPSで量子化パラメータの最大値と最小値を通知し、具体的な対応表をPPSやスライスヘッダで通知することもできる。
 以上のように、実施形態3では画質と関連付けられる第2の符号化パラメータと差分量子化パラメータの対応表を説明した。各対応表の特性を利用して、あるいは画像の性質に応じて対応表を切り替えることで、主観的により良好な画質を実現できる。
  (実施形態4)
 本願の実施形態4は、量子化パラメータの導出処理において実施形態1と異なる。
 実施形態4の画像符号化装置、画像復号装置では、ブロック単位(例えばCU単位)の量子化パラメータcuQP(ベース量子化パラメータbaseQP、符号単位量子化パラメータ)を符号化データとして符号化し、量子化に用いる量子化パラメータ(以下、量子化用の量子化パラメータ)tuQPは分割情報や予測パラメータなどを参照して導出する。
 本願ではピクチャ単位、スライス単位、ブロック単位(CU単位)で各々量子化パラメータを導出するが、ピクチャ単位およびスライス単位の量子化パラメータpicQPおよびsliceQPは、各々PPSおよびスライスヘッダで符号化データから量子化パラメータのシンタックスを符号化し、符号化された情報を画像復号装置側で復号し、逆量子化に用いる。
 また、ブロック単位のベース量子化パラメータcuQPは、sliceQPとdeltaQPとから導出され、量子化用の量子化パラメータtuQPは、ブロック単位のベース量子化パラメータcuQPとオフセット値(qp_offset)とから導出される。オフセット値(qp_offset)を用いた量子化用の量子化パラメータtuQPの導出処理の詳細については後述する。なお、オフセット値(qp_offset)は、画像符号化装置、画像復号装置で同じ方法を用いて導出する。従って、画像復号装置では、オフセット値(qp_offset)を符号化しなくても、cuQPからtuQPを算出することができる。
  tuQP = cuQP + qp_offset
 また、量子化用の量子化パラメータの算出については、変換・量子化部(ベース量子化パラメータ算出部)103においてオフセット値(qp_offset)を加えるか否かの判定を行った後にtuQPを導出する。
 本実施形態に係るCT情報符号化部1102によるCT情報符号化の動作について、図36を参照して詳細に説明する。図36は、本実施形態に係るCT情報符号化部1102の動作を説明するフローチャートである。本実施形態では、図19に示すS1910の処理(CT情報符号化部1102は、上記のQTBT分割で導出されたCUのサイズから、図12(1)のDQPTBL[]を参照して対象CUのcuQPとsliceQPの差分値dcuQPを導出する)を行わない。
 図38は、本実施形態における量子化パラメータ算出および符号化に関する動作のフローチャートである。本実施形態において、S2001~S2003は、図20に示すS2001~S2003と同様であり、S2004のみが異なる。
 S2004では、ヘッダ符号化部1101は先頭ブロックのブロック単位のベース量子化パラメータcuQPの予測値predQPにsliceQPを設定する。ヘッダ符号化部1101は、ブロック単位のベース量子化パラメータcuQPと、その予測値predQPとの差分値deltaQPを導出して符号化する。
  deltaQP = cuQP - predQP
 なおdeltaQPのシンタックスは、絶対値cu_qp_delta_absと符号cu_qp_delta_signに分けて符号化しても良い。
 本実施形態に係るCT情報復号部1002によるCT情報復号の動作について、図37を参照して詳細に説明する。図37は、本実施形態に係るCT情報復号部1002の動作を説明するフローチャートである。本実施形態では、図21に示すS2112の処理(CT情報復号部1002は、上記のQTBT分割で導出されたCUのサイズから、図12(1)のDQPTBL[]を参照して対象CUのcuQPとsliceQPの差分値dcuQPを導出する)を行わない。
 図39は、本実施形態における量子化パラメータ復号および算出に関する動作のフローチャートである。本実施形態において、S2201~S2203は、図22に示すS2201~S2203と同様であり、S2204のみが異なる。
 S2204では、ヘッダ復号部1001は、sliceQPをブロック単位のベース量子化パラメータcuQPの予測値predQPに設定する。
  predQP = sliceQP
 ヘッダ復号部1001は、差分値deltaQPを復号し、ブロック単位のベース量子化パラメータcuQPの予測値predQPとの和から、ブロック単位のベース量子化パラメータcuQPを導出する。
  cuQP = deltaQP + predQP
 なおdeltaQPのシンタックスは、絶対値cu_qp_delta_absと符号cu_qp_delta_signに分けて符号化しても良い。この場合、
 deltaQP = cu_qp_delta_abs * ( 1 - 2 * cu_qp_delta_sign_flag )
となる。
 (量子化用の量子化パラメータcuQPの導出処理の詳細)
 次に、図40~44を参照して、量子化用の量子化パラメータtuQPの導出処理の詳細について説明する。予測画像を生成する処理において、各ブロック(CU)は、後続のブロックによって参照のされやすさ(参照される頻度)が異なる。参照されにくい(参照される頻度の低い、あるいは参照されない)ブロックについては、画質が劣化しても、後続のピクチャの画質の劣化に影響が及びにくい。よって、このようなブロックについては量子化パラメータを大きくしても、後続ピクチャの画質への影響が小さく、また、量子化パラメータを大きくすることにより、符号量を減らすことができる。一方、参照されやすい(参照される頻度の高い)ブロックについては、量子化パラメータを小さくすることにより、後続のピクチャの画質を向上させることができる。なお、後続のブロックとは、対象ブロックと同じピクチャ内の復号順で後のブロック、あるいは、対象ピクチャより復号順で後のピクチャのブロックである。
 本実施形態では、適応的に量子化用の量子化パラメータtuQPを導出することにより、上述した効果を奏するものである。
  (構成例1)
 まず、図40を参照して、構成例1について説明する。図40は、構成例1における処理の流れを示すフローチャートである。本構成例では、条件X(第1条件)を満たす場合に、ベース量子化パラメータbaseQP(cuQP)にオフセット値(qp_offset)を加算もしくは減算して量子化用の量子化パラメータtuQPを導出する。なお、cuQPは符号化単位のQPに限定されず、所定の量子化領域単位であっても構わない。例えば、16x16以上のTUの組からなる領域でもよい。
 条件Xを満たすか否かを判定し、tuQPを導出する処理は、画像符号化装置では、変換・量子化部103により実行され、画像復号装置では、逆量子化・逆変換部311により実行される。
 図40に示すように、本構成例における量子化パラメータtuQPの導出処理では、変換・量子化部103又は逆量子化・逆変換部311は、まず条件Xが満たされるか否かを判定する(S1401)。条件Xが満たされると判定した場合(S1401でYES)、オフセット値(qp_offset)を設定する(S1402)。オフセット値(qp_offset)の値は、予め設定されている。次に、変換・量子化部103又は逆量子化・逆変換部311は、設定したオフセット値(qp_offset)を用いて、量子化用の量子化パラメータであるtuQPを、tuQP=cuQP + qp_offsetに基づいて導出する(S1403)。一方、条件Xが満たされないと判定した場合(S1401でNO)、変換・量子化部103又は逆量子化・逆変換部311は、量子化用の量子化パラメータであるtuQPを、tuQP=cuQPに基づいて導出する(S1404)。
 条件Xにおいて、以下に示すようにブロックサイズ(分割情報、復号単位のサイズ、例えばCUサイズ、TUサイズ)に関するもの、予測モードに関するもの、ピクチャ種別に関する構成としてもよい。
 (ブロックサイズ条件の構成)
 本構成では、条件Xにおいてブロックのサイズを用いる。具体的には、変換・量子化部103又は逆量子化・逆変換部311は、CUのサイズが閾値TH_BLKSZ(第1閾値)以下(width + height <= TH_BLKSZ)を満たす場合に、正のオフセット値(qp_offset)(>0)を設定する。すなわち、CUサイズが閾値TH_BLKSZ以下の場合、cuQPにオフセット値を加算してtuQPを導出する。TH_BLKSZは、例えば、16、20等であり、正のオフセット値は1、2等である。
 また、CUのサイズが閾値TH_BLKSZ2(第2閾値)以上(width + height >= TH_BLKSZ2)を満たす場合に、負のオフセット値(qp_offset)(<0)を設定してもよい。すなわち、CUのサイズが閾値TH_BLKSZ2以上の場合、cuQPからオフセットの値を減算してtuQPを導出する。TH_BLKSZ2(≠TH_BLKSZ)は、例えば、40、48等であり、負のオフセット値は-1、-2等である。
 なお、第1閾値、第2閾値との比較は<=、=>の代わりに>、<でもよい。また、ブロックサイズはwidth + heightによらず、log2(width)+log2(height)やwidth*heightなどでもよい。
 上記により、符号化量のオーバーヘッドなしで、符号化歪みの目立ちにくい小ブロックで量子化パラメータを大きくすることができる。また、符号化量のオーバーヘッドなしで、符号化歪みの目立ちやすい大ブロックで量子化パラメータを小さくすることができる。
 (予測パラメータ条件の構成1)
 本構成では、条件Xにおいて予測パラメータを用いる。具体的には、変換・量子化部103又は逆量子化・逆変換部311は、予測モードがイントラ予測の場合(CuPredMode == INTRA)、負のオフセット値(qp_offset)(<0)を設定する。
 上記により、符号化量のオーバーヘッドなしで、符号化歪みの目立ちやすいイントラブロックで量子化パラメータを小さくすることができる。
 (予測パラメータ条件の構成2)
 変換・量子化部103又は逆量子化・逆変換部311は、予測モードがイントラ予測のプレーナモードの場合に(CuPredMode == INTRA && IntraPredMode == PLANAR_IDX)、正のオフセット値(qp_offset)(>0)を設定してもよい。
 上記により、符号化量のオーバーヘッドなしで、符号化歪みの目立ちにくいプレーナ予測ブロックで量子化パラメータを大きくすることができる。
 (予測パラメータ条件の構成3)
 変換・量子化部103又は逆量子化・逆変換部311は、予測モードがマージモードでない場合に(merge_flge != 0)、正のオフセット値(qp_offset)(>0)を設定してもよい。
 上記により、符号化量のオーバーヘッドなしで、符号化歪みの目立ちにくいマージモード以外のブロックで量子化パラメータを大きくすることができる。
 (ピクチャ種別条件の構成)
 本構成では、条件Xにおいてピクチャ種別を用いる。具体的には、変換・量子化部103又は逆量子化・逆変換部311は、ピクチャがキーフレームでない場合、正のオフセット値(qp_offset)(>0)を設定する。
 ここで、キーフレームとは、後続のピクチャから参照されやすいフレームのことを言い、ピクチャの重要度に関連する。キーフレームを比較的小さい量子化パラメータで符号化することにより、キーフレームを参照する後続のフレームの予測精度を向上させることができる。また、キーフレーム以外を比較的大きい量子化パラメータで符号化すれば画質を低下することなしに符号量を削減できる。
 一般に、図4(a)に示すような階層B構造(ピラミッド構造)の参照構造を持つ場合、先に復号したピクチャが参照されやすい特徴がある。また、低遅延構造(ピクチャの復号順が表示順と同じに設定された構造)でも周期的に長期的に参照されるピクチャを設けることがある。
 例えば、POC(Picture Order Count:ピクチャの表示順序を示す情報)が4、8、16の倍数のフレームは参照されやすいピクチャのため、このピクチャに該当しない場合に、cuQPに値を加算してtuQPを設定する。つまり、POCがある周期KeyPicPeriodの定数倍であるかに応じて、キーフレームであるかを判定できる。
 「キーフレーム以外」は「(POC % KeyPicPeriod) != 0」を満たすピクチャである。
逆に
 「キーフレーム」は「(POC % KeyPicPeriod) == 0」を満たすピクチャである。
 KeyPicPeriodは例えば4, 8, 16のいずれか。
 上記により、符号化量のオーバーヘッドなしで、後続ピクチャへの影響が小さいキーフレーム以外のピクチャのブロックで量子化パラメータを大きくすることができる。
 なお、キーフレームか否かの判定は、上述したPOCに基づくものだけではなく、以下のように行ってもよい。
  (キーフレームの他の判定例 その1)
 上述したように、キーフレームとは、参照されやすいフレームである。先に復号されるキーフレームは、参照できるピクチャ数が少ない。すなわち、参照ピクチャリストのピクチャ数が少ない特徴がある。そこで、この特徴を利用して、参照ピクチャリスト(もしくは実参照ピクチャ数)のピクチャ数が閾値TH_NREF(第3閾値)以下であるか否かよりキーフレームか否かを判定する。具体的には、以下を満たすか否かにより判定する。
 「キーフレーム」は「NumRefListL0<= TH_NREF && NumRefListL1<= TH_NREF)」を満たすピクチャである。
なお、参照ピクチャリスト数をシンタックスnum_ref_idx_l0_active_minus1、num_ref_idx_l1_active_minus1から導出する場合には、以下でもよい。
 「キーフレーム」は「(num_ref_idx_l0_active_minus1+1)<= TH_NREF) && (num_ref_idx_l1_active_minus1+1)<= TH_NREF)」を満たすピクチャである。
ここで、TH_NREFは、例えば1としてもよい。また、NumRefListLXは参照ピクチャリストX(X=0 or 1)における参照ピクチャ数であり、num_ref_idx_lX_active_minus1は参照ピクチャリストXの参照インデックスの最大値から1を引いた値である。
 例えば、データストリームが図4の(a)に示すように、Iピクチャ(I0)、Bピクチャ(B3)、Bピクチャ(B2)、Bピクチャ(B4)、Pピクチャ(P1)の表示順、I0、P1、B2、B3、B4の復号順となっている場合、P1ピクチャはI0ピクチャのみを参照し、中間にあるB2ピクチャは前後の2つのピクチャI0、P1を参照する。この場合、上述した判定式によれば、I0ピクチャおよびP1ピクチャはキーフレームと判定され、これ以外のBピクチャB2、B3、B4の場合にオフセット値(qp_offset)が設定される。
 このように、ピラミッド構造では、深い層(図4の(a)の上側に位置するピクチャ)になるほど参照ピクチャが増加するので、キーフレームではないと判定される。
  (キーフレームの他の判定例 その2)
 キーフレームは、テンポラルレイヤIDが小さいピクチャ(テンポラルレイヤの階層が低いピクチャ)であると定義することもできる。すなわち、temporal_id <= TH_TID(例えば、閾値TH_TIDは0、1)(第4閾値)を満たす場合、キーフレームと判定する。テンポラルレイヤ階層が低ければ低い(図4の(a)の下側)ほど参照されやすいピクチャとなるため、本例により、これらのピクチャをキーフレームと判定することができる。
 以上のように、構成例1では、逆量子化・逆変換部311は、量子化変換係数の復号に用いる量子化パラメータの導出にオフセット値(qp_offset)を用いるか否かを第1条件(条件X)が満たされるか否かにより判定する判定部を備える。そして、オフセット値(qp_offset)を用いると判定した場合、ベース量子化パラメータcuQPと上記オフセット値とを用いて、量子化用の量子化パラメータ(tuQP)を算出する量子化パラメータ算出部、量子化用の量子化パラメータを用いて逆量子化を行う逆量子化部を備える。
  (構成例2)
 次に、図41を参照して、構成例2について説明する。図41は、構成例2における処理の流れを示すフローチャートである。本構成例では、条件X1及び条件X2の2つを満たす場合に、オフセット値(qp_offset)を設定してtuQPを導出する。疑似コードで示せば以下の通りである。
if(条件X1 && 条件X2){
  tuQP=cuQP + qp_offset
}
 ここで、条件X1は、CUのサイズが閾値TH(例えば、16、20)以下(例えば、width+height<=TH_BLKSZ)であるか否かであり、条件X2は、上述した条件Xのうちの、CUのサイズ条件以外の条件である。例えば、条件X2が予測モードがイントラ予測であるか否かの場合、条件1&&条件2は、width + height <= TH_BLKSZ && CuPredMode == INTRAとなる。
 図41に示すように、本構成例における量子化用の量子化パラメータtuQPの導出処理では、変換・量子化部103又は逆量子化・逆変換部311は、まず条件X1、すなわち、width + height <= TH_BLKSZが満たされるか否かを判定する(S1501)。条件X1が満たされると判定した場合(S1501でYES)、変換・量子化部103又は逆量子化・逆変換部311は、条件X2が満たされるか否かを判定する(S1502)。
 上述した通り、条件X2は、上述した条件Xのうちの、CUのサイズ条件以外の条件であればよく、例えば、予測パラメータを条件X2とする場合、変換・量子化部103又は逆量子化・逆変換部311は、予測モードがイントラ予測(CuPredMode == INTRA)であるか否かを判定する。又は、変換・量子化部103又は逆量子化・逆変換部311は、予測モードがイントラ予測のプレーナモード((CuPredMode == INTRA) && (IntraPredMode == PLANAR_IDX))であるか否かを判定する。又は、変換・量子化部103又は逆量子化・逆変換部311は、予測モードがマージモードでない(merge_flge != 0)か否かを判定する。また、ピクチャ種別を条件X2とする場合、変換・量子化部103又は逆量子化・逆変換部311は、ピクチャがキーフレームでない(例えば、POC % KeyPicPeriod != 0 (KeyPicPeriod = 4,8,16))か否かを判定する。
 そして、条件X2が満たされると判定した場合(S1502でYES)、変換・量子化部103又は逆量子化・逆変換部311は、オフセット値(qp_offset)を設定する(S1503)。
 次に、変換・量子化部103又は逆量子化・逆変換部311は、設定したオフセット値(qp_offset)を用いて、量子化用の量子化パラメータであるtuQPを、tuQP=cuQP + qp_offsetに基づいて導出する(S1504)。一方、条件X1が満たされないと判定した場合(S1501でNO)、又は条件X2が満たされないと判定した場合(S1502でNO)、変換・量子化部103又は逆量子化・逆変換部311は、量子化の量子化パラメータであるtuQPを、tuQP=cuQPに基づいて導出する(S1505)。
  (構成例3)
 図42を参照して、構成例3について説明する。図42は、画像復号装置における構成例3での処理の流れを示すフローチャートである。本構成例では、条件Xをパラメータcond_idxで指定し、指定された条件Xを満たす場合に、オフセット値(qp_offset)を設定してtuQPを導出する。
 パラメータが指定する条件Xを満たすか否かを判定し、tuQPを導出する処理は、画像復号装置では、逆量子化・逆変換部311により実行される。なお、例えば、cond_idx=0は、CUのサイズに関するものであり、cond_idx=1は、予測モードに関するものであり、cond_idx=2は、ピクチャ種別に関するものである場合、cond_idx=0が復号されれば条件XにCUのサイズに関する条件を設定する。
 図42に示すように、本構成例では、S2201において、ピクチャ単位の量子化パラメータpicQPを算出後、ピクチャ単位の条件Xを指定するパラメータcond_idxを復号する(S1601)
。その後、図39で説明したS2202、S2203及びS2204の処理を行い、S1602に進む。
 S1602では、逆量子化・逆変換部311は、まず条件Xが満たされるか否かを判定する。条件Xが満たされると判定した場合(S1602でYES)、オフセット値(qp_offset)を設定する(S1603)。オフセット値(qp_offset)の値は、予め設定されている。次に、逆量子化・逆変換部311は、設定したオフセット値(qp_offset)を用いて、量子化用の量子化パラメータであるtuQPを、tuQP=cuQP + qp_offsetに基づいて導出する(S1604)。一方、条件Xが満たされないと判定した場合(S1602でNO)、逆量子化・逆変換部311は、量子化用の量子化パラメータであるtuQPを、tuQP=cuQPに基づいて導出する(S1605)。
  (構成例4)
 図43、44を参照して、構成例4について説明する。本構成例では、条件X’(第2条件)に従ってCUサイズの閾値TH_BLKSZを設定(変更)し、変更後の閾値TH_BLKSZに基づいて、CUサイズ条件を満たすか否かを判定し、CUサイズ条件を満たす場合にオフセット値(qp_offset)を設定してtuQPを導出する。これにより、CUサイズ条件の閾値を適応的に設定することができ、符号化効率を向上させることができる。
 図43を参照して、本構成例における処理の流れを説明する。図43は構成例4の処理の流れを示すフローチャートである。
 図43に示すように、本構成例における量子化用の量子化パラメータtuQPの導出処理では、変換・量子化部103又は逆量子化・逆変換部311は、まず条件X’が満たされるか否かを判定する(S1701)。条件X’が満たされると判定した場合(S1701でYES)、CUサイズ条件の閾値をTH2(第1閾値)に設定する(S1702)。一方、条件X’が満たされないと判定した場合(S1701でNO)、CUサイズ条件の閾値をTH1(第2閾値)に設定する(S1703)。
 次に、変換・量子化部103又は逆量子化・逆変換部311は、CUのサイズが閾値TH_BLKSZ(TH1又はTH2)以下であるか否かの条件(width + height <= TH_BLKSZを満たすか否か)を判定する(S1704)。そして、条件を満たすと判定した場合(S1704でYES)、オフセット値(qp_offset)を設定する(S1705)。次に、変換・量子化部103又は逆量子化・逆変換部311は、設定したオフセット値(qp_offset)を用いて、量子化用の量子化パラメータであるtuQPを、tuQP=cuQP + qp_offsetに基づいて導出する(S1706)。一方、条件が満たされないと判定した場合(S1704でNO)、変換・量子化部103又は逆量子化・逆変換部311は、量子化用の量子化パラメータであるtuQPを、tuQP=cuQPに基づいて導出する(S1707)。
 ブロックサイズの閾値を決めるための条件X’としては、以下に示すように、予測モードに関するもの、ピクチャ種別に関するもの、色コンポーネントに関する構成としてもよい。
 (予測モードを条件X’とする構成1)
 予測モードがイントラ予測か否かによって条件X’を判定し、ブロックサイズの閾値TH_BLKSZを決定してもよい。変換・量子化部103又は逆量子化・逆変換部311は、予測モードがイントラ予測の場合(CuPredMode == INTRA)、オフセット値(qp_offset)(>0)を設定するCUのサイズをより小さくする。イントラ予測の場合、後続のピクチャから参照されやすいためである。疑似コードで表現すれば以下の通りとなる。
if (CuPredMode == INTRA)
 TH_BLKSZ = TH1
else
 TH_BLKSZ = TH2
 (但し、TH1<TH2)
又は
if (CuPredMode != INTRA)
 TH_BLKSZ = TH2
else
 TH_BLKSZ = TH1
 (但し、TH1 < TH2)
 なお、TH1およびTH2は、TH1=TH2/2として、TH1=8、TH2=16としてもよいし、TH1=8、TH2=20のように各々に決めてもよい。
 (予測モードを条件X’とする構成2)
 また、予測モードがマージモードか否かによって条件X’を判定し、ブロックサイズの閾値TH_BLKSZを決定してもよい。変換・量子化部103又は逆量子化・逆変換部311は、予測モードがマージモードの場合、オフセット値(qp_offset)(>0)を設定するCUのサイズをより小さくする。マージモードの場合、符号化する情報のほとんどが残差情報であり、情報量の削減を行いにくいためである。疑似コードで表現すれば以下の通りとなる。
if (merge_flag)
 TH_BLKSZ = TH1
else
 TH_BLKSZ = TH2
 (但し、TH1<TH2)
又は
if (!merge_flag)
 TH_BLKSZ = TH2
else
 TH_BLKSZ = TH1
 (但し、TH1 < TH2)
 なお、上述したイントラ予測の場合と同様に、TH1およびTH2は、TH1=TH2/2として、TH1=8、TH2=16としてもよいし、TH1=8、TH2=20のように各々に決めてもよい。
 (予測モードを条件X’とする構成3)
 また、予測モードがイントラ予測のプレーナモードか否かによって条件X’を判定し、ブロックサイズの閾値TH_BLKSZを決定してもよい。変換・量子化部103又は逆量子化・逆変換部311は、予測モードがイントラ予測のプレーナモードの場合(CuPredMode == INTRA && IntraPredMode == PLANAR_IDX)、オフセット値(qp_offset)(>0)を設定するCUのサイズをより大きくする。プレーナモードの場合、後続で利用される可能性が低いためである。疑似コードで表現すれば以下の通りとなる。
if (CuPredMode == INTRA && IntraPredMode == PLANAR_IDX)
 TH_BLKSZ = TH2
else
 TH_BLKSZ = TH1
 (但し、TH1 < TH2)
 なお、TH1およびTH2は、TH1=TH2/2として、TH1=8、TH2=16、又はTH1=12、TH2=24としてもよいし、TH1=8、TH2=20のように各々に決めてもよい。
 (ピクチャ種別を条件X’とする構成)
 ピクチャがキーフレームか否かによって条件X’を判定し、ブロックサイズの閾値TH_BLKSZを決定してもよい。変換・量子化部103又は逆量子化・逆変換部311は、ピクチャがキーフレームの場合(例えば、POC % KeyPicPeriod == 0 (KeyPicPeriod = 4,8,16))、オフセット値(qp_offset)(>0)を設定するCUのサイズをより小さくする。キーフレームは後続で利用される可能性が高いためである。疑似コードで表現すれば以下の通りとなる。if (キーフレーム) // 例えば、POC % KeyPicPeriod == 0)
 TH_BLKSZ = TH1
else
TH_BLKSZ = TH2
 (但し、TH1 < TH2)
又は
if (キーフレーム以外) // 例えば、POC % KeyPicPeriod != 0)
TH_BLKSZ = TH2
else
TH_BLKSZ = TH1
 (但し、TH1 < TH2)
 なお、TH1およびTH2は、関係があってもよいし無くてもよい。例えば、POCにおいてKeyPicPeriod =16のときに、TH1=TH2/2として、TH1=8、TH2=16としてもよい。
 また、キーフレームであるか否かの判定は、POCに限られるものではなく、上述した各判定方法(参照ピクチャリストを用いる方法、テンポラルレイヤを用いる方法)を用いることができる。
 また、色コンポーネントを条件X’とする場合、色コンポーネントが輝度であるか色差であるかによって条件X’が満たされるか否かを判定してもよい。変換・量子化部103又は逆量子化・逆変換部311は、色コンポーネントが輝度の場合、閾値TH1を設定し、色コンポーネントが色差の場合、閾値TH2を設定する。疑似コードで表現すれば以下の通りとなる。
if (cldx == 0)
TH_BLKSZ = TH1
else
TH_BLKSZ = TH2
 (但し、TH1 > TH2)
又は
if (cldx != 0)
TH_BLKSZ = TH2
else
TH_BLKSZ = TH1
 (但し、TH1 > TH2)
 ここで、cldxは、対象CUの色コンポーネントを示し、0の場合に輝度を示し、それ以外の場合に色差を示す。
 また、TH1およびTH2は、関係があってもよいし無くてもよい。例えば、TH1=2*TH2として、TH1=16、TH2=8としてもよいし、TH1=4*TH2として、TH1=16、TH2=4としてもよいし、単に、TH1=16、TH2=0としてもよい。
 また、上述したステップS1702、S1703で設定した閾値TH1、TH2をさらに別の条件X”によって変更する構成であってもよい。例えば、条件X’が予測モードの場合、予測モードの条件を満たすか否かによって閾値TH_BLKSZを変更後、さらに、条件X”(例えば、色コンポーネントの条件)を満たすか否かにより閾値TH_BLKSZを変更してもよい。
 図44を参照して、本例における処理の流れを説明する。図44は構成例4の別の処理の流れを示すフローチャートである。
 図44に示すように、本例における量子化用の量子化パラメータtuQPの導出処理では、変換・量子化部103又は逆量子化・逆変換部311は、まず条件X’が満たされるか否かを判定する(S1801)。条件X’が満たされると判定した場合(S1801でYES)、CUサイズ条件の仮閾値TH_BLKSZ2をTH1に設定する(S1802)。一方、条件X’が満たされないと判定した場合(S1801でNO)、CUサイズ条件の仮閾値TH_BLKSZ2をTH2に設定する(S1803)。
 次に、変換・量子化部103又は逆量子化・逆変換部311は、条件X”が満たされるか否かを判定する(S1804)。条件X”が満たされると判定した場合(S1804でYES)、CUサイズ条件の閾値TH_BLKSZをTH3に設定する(S1805)。一方、条件X”が満たされないと判定した場合(S1804でNO)、CUサイズ条件の閾値TH_BLKSZを仮閾値TH_BLKSZ2に設定する(S1806)。
 次に、変換・量子化部103又は逆量子化・逆変換部311は、CUのサイズが閾値TH_BLKSZ以下であるか否かの条件(width + height <= TH_BLKSZ)を満たすか否かを判定する(S1807)。そして、条件を満たすと判定した場合(S1807でYES)、オフセット値(qp_offset)を設定する(S1808)。次に、変換・量子化部103又は逆量子化・逆変換部311は、設定したオフセット値(qp_offset)を用いて、量子化用の量子化パラメータであるtuQPを、tuQP=cuQP+ qp_offsetに基づいて導出する(S1809)。一方、条件が満たされないと判定した場合(S1807でNO)、変換・量子化部103又は逆量子化・逆変換部311は、量子化用の量子化パラメータであるtuQPを、tuQP=cuQPに基づいて導出する(S1810)。
 なお、TH1およびTH2は、関係があってもよいし無くてもよい。また、TH3はTH_BLKSZ2に依存してもよいし、していなくてもよい。例えば、TH2=TH1/2、TH3=TH_BLKSZ2/2との関係があり、TH1=16とした場合、閾値THは以下の通りとなる。
 (X’,X”)=(真、真)であれば、閾値TH_BLKSZ =4
 (X’,X”)=(真、偽)であれば、閾値TH_BLKSZ =8
 (X’,X”)=(偽、真)であれば、閾値TH_BLKSZ =8
 (X’,X”)=(偽、偽)であれば、閾値TH_BLKSZ =16
なお、真とは条件X’(X”)が満たされることを指し、偽とは条件X’(X”)が満たされないことを指す。
 以上の構成により、本実施形態に係る画像符号化装置、画像復号装置では、CUのサイズ、予測モード、ピクチャ種別、色コンポーネントにより、cuQPに対し量子化用の量子化パラメータtuQPを増減して導出することができる。これにより、cuQPを変更するためのフラグ等を追加することなく、tuQPを適応的に導出することができ、符号量削減及び画質向上という効果を奏することができる。
  (実施形態5)
 本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
 本実施形態では、上述した実施形態4とは異なり、量子化用の量子化パラメータtuQPの導出処理において、オフセット値(qp_offset)の設定処理を複数回行うものである。
  (構成例1)
 まず、図45を参照して、構成例1について説明する。図45は、構成例1における処理の流れを示すフローチャートである。本構成例では、条件X1を満たす場合に、オフセット値1(qp_offset1)を設定し、さらに、条件X2を満たす場合に、オフセット値2(qp_offset2)を設定してtuQPを導出する。疑似コードで示せば以下の通りである。
if (条件X1) {
 QP1 = cuQP + qp_offset1
}
else {
 QP1 = cuQP
}
if (条件X2) {
 tuQP = QP1 + qp_offset2
}
else {
 tuQP = QP1
}
 ここで、条件X1、および条件X2は、CUのサイズに関するものであってもよいし、予測モード(イントラ予測、プレーナモード、マージモード)に関するものであってもよいし、ピクチャ種別(キーフレーム)に関するものであってもよい。
 図45の(a)に示すように、本構成例における量子化用の量子化パラメータtuQPの導出処理では、変換・量子化部103又は逆量子化・逆変換部311は、まず条件X1が満たされるか否かを判定する(S3001)。条件X1が満たされると判定した場合(S3001でYES)、オフセット値1(qp_offset1)を設定する(S3002)。オフセット値1(qp_offset1)の値は、予め設定されている。次に、変換・量子化部103又は逆量子化・逆変換部311は、設定したオフセット値1(qp_offset1)を用いて、QP1を、QP1=cuQP+ qp_offset1に基づいて導出する(S3003)。一方、条件X1が満たされないと判定した場合(S3001でNO)、変換・量子化部103又は逆量子化・逆変換部311は、QP1を、QP1=cuQPに基づいて導出する(S3004)。
 次に、変換・量子化部103又は逆量子化・逆変換部311は、条件X2が満たされるか否かを判定する(S3005)。条件X2が満たされると判定した場合(S3005でYES)、オフセット値2(qp_offset2)を設定する(S3006)。オフセット値2(qp_offset2)の値は、予め設定されている。次に、変換・量子化部103又は逆量子化・逆変換部311は、設定したオフセット値2(qp_offset2)を用いて、量子化用の量子化パラメータであるtuQPを、tuQP=QP1+ qp_offset2に基づいて導出する(S3007)。一方、条件X2が満たされないと判定した場合(S3005でNO)、変換・量子化部103又は逆量子化・逆変換部311は、量子化用の量子化パラメータであるtuQPを、tuQP=QP1に基づいて導出する(S3008)。
 例えば、条件X1および条件X2がともにCUサイズ条件でオフセット値1が正、すなわち、量子化パラメータを上げ、オフセット値2が負、すなわち量子化パラメータを下げる構成としてもよい。
 この場合、変換・量子化部103又は逆量子化・逆変換部311は、CUのサイズが閾値TH_BLKSZ(例えば、16、20)以下(width + height <= TH_BLKSZ)を満たす場合に、正のオフセット値1(qp_offset1)(>0)を設定する。換言すれば、CUサイズが閾値TH_BLKSZ以下の場合、cuQPに値を加算してQP1を設定する。逆に、CUのサイズが閾値TH_BLKSZ以下を満たさない場合には、QP1にcuQPを設定する。さらに、CUのサイズが閾値TH_BLKSZ2(例えば、40、48)(≠TH)以上(width + height >= TH_BLKSZ2)を満たす場合に、負のオフセット値2(qp_offset2)(<0)を設定する。換言すれば、CUのサイズが閾値TH_BLKSZ2以上の場合、QP1から減算してtuQPを設定する。逆に、CUのサイズが閾値TH_BLKSZ2以上を満たさない場合には、tuQPにQP1を設定する。例えばqp_offset1 = 1, 2などであり、qp_offset2 =-1, -2などである。
 なお、条件X2は、条件X1に該当しない場合に、処理を実行するものであってもよい。すなわち、疑似コードで示せば以下の通りである。
if (条件X1) {
  QP1 = cuQP + qp_offset1
}
else {
  QP1 = cuQP
  if (条件X2) {
   tuQP = QP1 + qp_offset2
  else {
   tuQP = QP1
 }
}
 ここで、条件X1、および条件X2は、CUのサイズに関するものであってもよいし、予測モード(イントラ予測、プレーナモード、マージモード)に関するものであってもよいし、ピクチャ種別(キーフレーム)に関するものであってもよい。条件X1、および条件X2がCUのサイズに関するものである場合、CUのサイズが閾値TH_BLKSZ(例えば、16、20)以下(width + height <= TH_BLKSZ)を満たす場合に、正のオフセット値1(qp_offset1)(>0)を設定し、CUのサイズが閾値TH'(例えば、40、48)(≠TH)以上(width + height >= TH')を満たす場合に、負のオフセット値2(qp_offset2)(<0)を設定する。また、条件X1、および条件X2が予測モード(イントラ予測、プレーナモード、マージモード)に関するもの、および、ピクチャ種別(キーフレーム)に関するものである場合には、正のオフセット値1(qp_offset1)(>0)、正のオフセット値2(qp_offset2)(>0)を設定する。
 この場合の処理の流れを図45の(b)に示す。図45の(b)に示すように、本構成例における量子化用の量子化パラメータtuQPの導出処理では、変換・量子化部103又は逆量子化・逆変換部311は、まず条件X1が満たされるか否かを判定する(S3101)。条件X1が満たされると判定した場合(S3101でYES)、オフセット値1(qp_offset1)を設定する(S3102)。次に、変換・量子化部103又は逆量子化・逆変換部311は、設定したオフセット値1(qp_offset1)を用いて、量子化用の量子化パラメータであるtuQPを、tuQP=cuQP + qp_offset1に基づいて導出する(S3103)。一方、条件X1が満たされないと判定した場合(S3101でNO)、変換・量子化部103又は逆量子化・逆変換部311は、QP1を、QP1=cuQPに基づいて導出する(S3104)。
 次に、変換・量子化部103又は逆量子化・逆変換部311は、S3104の結果に対し、条件X2が満たされるか否かを判定する(S3105)。条件X2が満たされると判定した場合(S3105でYES)、オフセット値2(qp_offset2)を設定する(S3106)。次に、変換・量子化部103又は逆量子化・逆変換部311は、設定したオフセット値2(qp_offset2)を用いて、量子化用の量子化パラメータであるtuQPを、tuQP=QP1+ qp_offset2に基づいて導出する(S3107)。一方、条件X2が満たされないと判定した場合(S3105でNO)、変換・量子化部103又は逆量子化・逆変換部311は、量子化用の量子化パラメータであるtuQPを、tuQP=QP1に基づいて導出する(S3108)。
 以上のように、本実施形態では、逆量子化・逆変換部311は、量子化変換係数の復号に用いる量子化パラメータの導出に第1オフセット値(オフセット値1(qp_offset1))を用いるか否かを第1条件(条件X1)が満たされるか否かにより判定する第1判定部を備える。さらに、上記第1オフセット値を用いると判定した場合、ベース量子化パラメータcuQPと、上記第1オフセット値とを用いて第1量子化パラメータ(QP1)を算出する第1量子化パラメータ算出部を備える。
 また、逆量子化・逆変換部311は、量子化変換係数の復号に用いる量子化パラメータの導出に第2オフセット値(オフセット値2(qp_offset2))を用いるか否かを第2条件(条件X2)が満たされるか否かにより判定する第2判定部を備える。さらに、上記第2オフセット値を用いると判定した場合、上記第1量子化パラメータと上記第2オフセット値とを用いて量子化用の量子化パラメータ(tuQP)を算出する量子化パラメータ算出部、量子化用の量子化パラメータを用いて逆量子化を行う逆量子化部を備える。
  (構成例2)
 次に、図46を参照して、構成例2について説明する。図46は、構成例2における処理の流れを示すフローチャートである。本構成例では、条件X1を満たす場合に、オフセット値1(qp_offset1)を設定し、条件Xを満たした上で、さらに、条件X2を満たす場合に、オフセット値2(qp_offset2)を設定してtuQPを導出する。疑似コードで示せば以下の通りである。
if (条件X1) {
 QP1 = cuQP + qp_offset1
 if (条件X2) {
  tuQP = QP1 + qp_offset2
 }
 else {
  tuQP = QP1
 }
}
else {
 tuQP = cuQP
}
 ここで、条件X1、および条件X2は、、CUのサイズに関するものであってもよいし、予測モード(イントラ予測、プレーナモード、マージモード)に関するものであってもよいし、ピクチャ種別(キーフレーム)に関するものであってもよい。
 図46に示すように、本構成例における量子化用の量子化パラメータtuQPの導出処理では、変換・量子化部103又は逆量子化・逆変換部311は、まず条件X1が満たされるか否かを判定する(S3201)。条件X1が満たされると判定した場合(S3201でYES)、オフセット値1(qp_offset1)を設定する(S3202)。オフセット値1(qp_offset1)の値は、予め設定されている。次に、変換・量子化部103又は逆量子化・逆変換部311は、設定したオフセット値1(qp_offset1)を用いて、QP1を、QP1=cuQP + qp_offset1に基づいて導出する(S3203)。一方、条件X1が満たされないと判定した場合(S3201でNO)、変換・量子化部103は逆量子化・逆変換部311は、量子化用の量子化パラメータであるtuQPを、tuQP=cuQPに基づいて導出する(S3204)。
 次に、変換・量子化部103又は逆量子化・逆変換部311は、S3203に対し、条件X2が満たされるか否かを判定する(S3205)。条件X2が満たされると判定した場合(S3205でYES)、オフセット値2(qp_offset2)を設定する(S3206)。オフセット値2(qp_offset2)の値は、予め設定されている。次に、変換・量子化部103又は逆量子化・逆変換部311は、設定したオフセット値2(qp_offset2)を用いて、量子化用の量子化パラメータであるtuQPを、tuQP=QP1+ qp_offset2に基づいて導出する(S3207)。一方、条件X2が満たされないと判定した場合(S3205でNO)、変換・量子化部103又は逆量子化・逆変換部311は、量子化用の量子化パラメータであるtuQPを、tuQP=QP1に基づいて導出する(S3208)。
 例えば、条件X1がCUサイズ条件で、条件X2が予測モード条件の場合、変換・量子化部103又は逆量子化・逆変換部311は、CUのサイズが閾値TH_BLKSZ(例えば、16、20)以下(width + height <= TH_BLKSZ)を満たす場合に、正のオフセット値1(qp_offset1)(>0)を設定する。換言すれば、CUサイズが閾値TH_BLKSZ以下の場合、cuQPに値を加算してQP1を設定する。さらに、予測モードがイントラ予測の場合に正のオフセット値2(qp_offset2)(>0)を設定する。換言すれば、イントラ予測の場合、QP1にさらに値を加算してtuQPを設定する。
  (実施形態6)
 本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
 従来、量子化パラメータQPは、対象ブロックの量子化、逆量子化に用いられるだけではなく、値を保持して、後続のブロックのQPの導出(QPabove、QPleft)、対象ブロックのループフィルタ処理にも用いられていた。本実施形態では、オフセット値(qp_offset)を用いて導出したtuQP値は、量子化、逆量子化の処理にのみ用い、後続のブロックのQPの導出や、対象ブロックのループフィルタ処理については、オフセット値を加算する前のQP値を保持し、当該QP値を用いて行う。
 画像復号装置31において、予測パラメータ復号部302では、スライスヘッダで通知されたdsliceQPと、予測パラメータメモリ307から読み出した、対象ブロックの上側隣接ブロックの量子化パラメータQPaboveおよび対象ブロックの左側隣接ブロックの量子化パラメータQPleftから、対象ブロックの量子化パラメータの予測値QPpredを導出する。次に導出したQPpredとdsliceQPを加算して、対象ブロックの量子化パラメータcuQP(第1の量子化パラメータ)を導出する。
QPpred = (QPabove + QPleft + 1) >> 1
cuQP = QPpred + deltaQP
導出したcuQPは予測パラメータメモリ307に格納する。
 次に、逆量子化・逆変換部311では、実施形態4および実施形態5に記載した方法で導出した対象ブロックのオフセット値を加算して対象ブロックの量子化用の量子化パラメータtuQP(第2の量子化パラメータ)を導出する。
  tuQP = cuQP + qp_offset
そして、エントロピー復号部301で復号した、対象ブロックの変換係数を第2の量子化パラメータtuQPを用いて逆量子化し、逆量子化された変換係数を逆変換し、対象ブロックの予測誤差を導出する。
 加算部312は、対象ブロックの予測誤差と、予測画像生成部308で生成した予測画像を加算し、対象ブロックの復号画像を生成する。
 ループフィルタ305の1つである、例えばデブロッキングフィルタは、予測パラメータメモリ307から読み出した第1の量子化パラメータcuQPを用いて、デブロッキングフィルタの適用、非適用を判定する。また、デブロッキングフィルタを適用する場合は、第1の量子化パラメータcuQPを用いて、フィルタリングを実施する。
 また、画像符号化装置11においても、上記画像復号装置31とほぼ同様の処理を実施する。予測パラメータ符号化部111では、スライスヘッダで通知されたdsliceQPと、予測パラメータメモリ108から読み出した、対象ブロックの上側隣接ブロックの量子化パラメータQPaboveおよび対象ブロックの左側隣接ブロックの量子化パラメータQPleftから、上述の方法でcuQPを導出し、予測パラメータメモリ108に格納する。
 次に、逆量子化・逆変換部105では、実施形態4および実施形態5に記載した方法で導出した対象ブロックのオフセット値を加算して対象ブロックの量子化用の量子化パラメータtuQP(第2の量子化パラメータ)を導出する。
  tuQP = cuQP + qp_offset
そして、変換・量子化部103で導出した、対象ブロックの変換係数を第2の量子化パラメータtuQPを用いて逆量子化し、逆量子化された変換係数を逆変換し、対象ブロックの予測誤差を導出する。
 加算部106は、対象ブロックの予測誤差と、予測画像生成部101で生成した予測画像を加算し、対象ブロックの復号画像を生成する。
 ループフィルタ107の1つである、例えばデブロッキングフィルタは、予測パラメータメモリ108から読み出した第1の量子化パラメータcuQPを用いて、デブロッキングフィルタの適用、非適用を判定する。また、デブロッキングフィルタを適用する場合は、第1の量子化パラメータcuQPを用いて、フィルタリングを実施する。
 このような処理により、対象ブロックの量子化、逆量子化は第2の量子化パラメータを用いて実施し、対象ブロックのループフィルタ処理は、予測パラメータメモリから読み出した第1の量子化パラメータを用いて実施する。また、後続のブロックの量子化パラメータの算出には、予測パラメータメモリから読み出した第1の量子化パラメータを
用いる。
 以上のように、本実施形態では、量子化用の第2の量子化パラメータtuQPを、量子化、逆量子化の処理についてのみ用い、後続のブロックの量子化パラメータの予測、デブロッキングフィルタの強度計算には、オフセット値(qp_offset)が加算される前の第1の量子化パラメータcuQPを用いて行う。
 本発明の一態様に係る画像復号装置は、画像を、分割ツリー(分割情報)を用いて分割した符号化ユニット(ブロック)毎に復号する画像復号装置であるが、符号化データを可変長復号して画像の分割情報、予測パラメータ、および量子化変換係数等の第1の符号化パラメータを復号し、量子化変換係数を逆量子化および逆直交変換して予測誤差を算出し、分割情報と予測パラメータを用いて予測画像を作成し、
 予測誤差と予測画像を加算して復号画像を作成する時に、量子化変換係数の逆量子化に用いる量子化パラメータの復号において、スライスヘッダで復号した情報からスライス単位の量子化パラメータ(ベース量子化パラメータ)を算出し、画像のアクティビティに関連する第2の符号化パラメータを参照して、ベース量子化パラメータと各符号化ユニットの差分情報を導出し、ベース量子化パラメータと差分情報を加算して各符号化ユニットの量子化パラメータを算出し、この量子化パラメータを用いて逆量子化することを特徴とする。
 本発明の一態様に係る画像符号化装置は、画像を、分割ツリーを用いて分割した符号化ユニット(ブロック)毎に符号化する画像符号化装置であるが、画像の分割ツリー(分割情報)、予測パラメータ等を決定し、分割情報に基づいて入力画像の予測画像を作成し、入力画像と予測画像の予測誤差を算出し、予測誤差を直交変換および量子化して量子化変換係数を算出し、分割情報、予測パラメータ、および量子化変換係数等の第1の符号化パラメータを可変長符号化し、量子化変換係数を逆量子化および逆直交変換して予測誤差を算出し、予測誤差と予測画像を加算して復号画像を作成する時に、量子化および逆量子化で用いる量子化パラメータの導出において、スライス単位の量子化パラメータ(ベース量子化パラメータ)を算出し、画像のアクティビティに関連する第2の符号化パラメータを参照して、ベース量子化パラメータと各符号化ユニットの差分情報を導出し、ベース量子化パラメータと差分情報を加算して各符号化ユニットの量子化パラメータを算出し、この量子化パラメータを用いて量子化し、ベース量子化パラメータに関連する情報を符号化し、符号化ユニットの量子化パラメータは符号化しないことを特徴とする。
 本発明の一態様に係る画像復号装置は、画像を、分割ツリーを用いて分割した符号化ユニット(ブロック)毎に復号する画像復号装置であるが、符号化データを可変長復号して画像の分割情報、予測パラメータ、および量子化変換係数等の第1の符号化パラメータを復号し、量子化変換係数を逆量子化および逆直交変換して予測誤差を算出し、分割情報と予測パラメータを用いて予測画像を作成し、予測誤差と予測画像を加算して復号画像を作成する時に、量子化変換係数の逆量子化に用いる量子化パラメータの復号において、符号化ユニットのルートである符号化ツリーユニットの最初の符号化ユニットで復号した情報から、符号化ツリーユニットの先頭の符号化ユニットの量子化パラメータ(ベース量子化パラメータ)を算出し、画像のアクティビティに関連する第2の符号化パラメータを参照して、ベース量子化パラメータと符号化ツリーユニットの2つ目以降の各符号化ユニット(後続ユニット)の差分情報を導出し、ベース量子化パラメータと差分情報を加算して各後続ユニットの量子化パラメータを算出し、この量子化パラメータを用いて逆量子化することを特徴とする。
 本発明の一態様に係る画像符号化装置は、画像を、分割ツリーを用いて分割した符号化ユニット(ブロック)毎に符号化する画像符号化装置であるが、画像の分割ツリー(分割情報)、予測パラメータ等を決定し、分割情報に基づいて入力画像の予測画像を作成し、入力画像と予測画像の予測誤差を算出し、予測誤差を直交変換および量子化して量子化変換係数を算出し、分割情報、予測パラメータ、および量子化変換係数等の第1の符号化パラメータを可変長符号化し、量子化変換係数を逆量子化および逆直交変換して予測誤差を算出し、予測誤差と予測画像を加算して復号画像を作成する時に、量子化および逆量子化で用いる量子化パラメータの導出において、符号化ユニットのルートである符号化ツリーユニットの最初の符号化ユニットの量子化パラメータ(ベース量子化パラメータ)を算出し、画像のアクティビティに関連する第2の符号化パラメータを参照して、ベース量子化パラメータと符号化ツリーユニットの2つ目以降の各符号化ユニット(後続ユニット)の差分情報を導出し、ベース量子化パラメータと差分情報を加算して各後続ユニットの量子化パラメータを算出し、この量子化パラメータを用いて量子化し、ベース量子化パラメータに関連する情報を符号化し、後続ユニットの量子化パラメータは符号化しないことを特徴とする。
 本発明の一態様に係る画像復号装置は、画像を、分割ツリーを用いて分割した符号化ユニット(ブロック)毎に復号する画像復号装置であるが、符号化データを可変長復号して画像の分割情報、予測パラメータ、および量子化変換係数等の第1の符号化パラメータを復号し、量子化変換係数を逆量子化および逆直交変換して予測誤差を算出し、分割情報と予測パラメータを用いて予測画像を作成し、予測誤差と予測画像を加算して復号画像を作成する時に、量子化変換係数の逆量子化に用いる量子化パラメータの復号において、符号化ユニットのルートである符号化ツリーユニットの最初の符号化ユニットで復号した情報から、符号化ツリーユニットの先頭の符号化ユニットの量子化パラメータ(ベース量子化パラメータ)を算出し、後続ユニットで復号した情報から、ベース量子化パラメータと後続ユニットの量子化パラメータとの差分情報の絶対値を復号し、画像のアクティビティに関連する第2の符号化パラメータを参照して、差分情報の絶対値の符号(正または負を示す情報)を導出し、差分情報を算出し、ベース量子化パラメータと差分情報を加算して各後続ユニットの量子化パラメータを算出し、この量子化パラメータを用いて逆量子化することを特徴とする。
 本発明の一態様に係る画像符号化装置は、画像を、分割ツリーを用いて分割した符号化ユニット(ブロック)毎に符号化する画像符号化装置であるが、画像の分割ツリー(分割情報)、予測パラメータ等を決定し、分割情報に基づいて入力画像の予測画像を作成し、入力画像と予測画像の予測誤差を算出し、予測誤差を直交変換および量子化して量子化変換係数を算出し、分割情報、予測パラメータ、および量子化変換係数等の第1の符号化パラメータを可変長符号化し、量子化変換係数を逆量子化および逆直交変換して予測誤差を算出し、予測誤差と予測画像を加算して復号画像を作成する時に、量子化および逆量子化で用いる量子化パラメータの導出において、符号化ユニットのルートである符号化ツリーユニットの最初の符号化ユニットの量子化パラメータ(ベース量子化パラメータ)を算出し、画像のアクティビティに関連する第2の符号化パラメータを参照して、ベース量子化パラメータと符号化ツリーユニットの2つ目以降の各符号化ユニット(後続ユニット)の差分情報を導出し、ベース量子化パラメータと差分情報を加算して各後続ユニットの量子化パラメータを算出し、この量子化パラメータを用いて量子化し、画像のアクティビティに関連する第2の符号化パラメータを参照して、差分情報の絶対値の符号(符号正または負を示す情報)を導出し、ベース量子化パラメータと、後続ユニットとの差分情報の絶対値に関連する情報を符号化し、符号は符号化しないことを特徴とする。
 本発明の一態様に係る画像符号化・復号装置は、ベース量子化パラメータと各符号化ユニットの差分情報の導出において、第2の符号化パラメータと差分情報の対応関係をヘッダ情報として符号化・復号する。
 本発明の一態様に係る画像符号化・復号装置において、上記第2の符号化パラメータは、画像の分割情報であることを特徴とする。
 本発明の一態様に係る画像符号化・復号装置において、上記第2の符号化パラメータは、符号化・復号対象の符号化ユニットに隣接する符号化ユニットの量子化変換係数の個数である。
 本発明の一態様に係る画像符号化・復号装置において、上記第2の符号化パラメータは、符号化・復号対象の符号化ユニットと、その隣接符号化ユニットの動きベクトルである。
  (ソフトウェアによる実現例)
 なお、上述した実施形態における画像符号化装置11、画像復号装置31の一部、例えば、エントロピー復号部301、予測パラメータ復号部302、ループフィルタ305、予測画像生成部308、逆量子化・逆変換部311、加算部312、予測画像生成部101、減算部102、変換・量子化部103、エントロピー符号化部104、逆量子化・逆変換部105、ループフィルタ107、符号化パラメータ決定部110、予測パラメータ符号化部111をコンピュータで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、画像符号化装置11、画像復号装置31のいずれかに内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
 また、上述した実施形態における画像符号化装置11、画像復号装置31の一部、または全部を、LSI(Large Scale Integration)等の集積回路として実現しても良い。画像符号化装置11、画像復号装置31の各機能ブロックは個別にプロセッサ化しても良いし、一部、または全部を集積してプロセッサ化しても良い。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現しても良い。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いても良い。
  (応用例)
 上述した画像符号化装置11及び画像復号装置31は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用することができる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像(CG及びGUIを含む)であってもよい。
 まず、上述した画像符号化装置11及び画像復号装置31を、動画像の送信及び受信に利用できることを、図8を参照して説明する。
 図8の(a)は、画像符号化装置11を搭載した送信装置PROD_Aの構成を示したブロック図である。図8の(a)に示すように、送信装置PROD_Aは、動画像を符号化することによって符号化データを得る符号化部PROD_A1と、符号化部PROD_A1が得た符号化データで搬送波を変調することによって変調信号を得る変調部PROD_A2と、変調部PROD_A2が得た変調信号を送信する送信部PROD_A3と、を備えている。上述した画像符号化装置11は、この符号化部PROD_A1として利用される。
 送信装置PROD_Aは、符号化部PROD_A1に入力する動画像の供給源として、動画像を撮像するカメラPROD_A4、動画像を記録した記録媒体PROD_A5、動画像を外部から入力するための入力端子PROD_A6、及び、画像を生成または加工する画像処理部A7を更に備えていてもよい。図8の(a)においては、これら全てを送信装置PROD_Aが備えた構成を例示しているが、一部を省略しても構わない。
 なお、記録媒体PROD_A5は、符号化されていない動画像を記録したものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化された動画像を記録したものであってもよい。後者の場合、記録媒体PROD_A5と符号化部PROD_A1との間に、記録媒体PROD_A5から読み出した符号化データを記録用の符号化方式に従って復号する復号部(不図示)を介在させるとよい。
 図8の(b)は、画像復号装置31を搭載した受信装置PROD_Bの構成を示したブロック図である。図8の(b)に示すように、受信装置PROD_Bは、変調信号を受信する受信部PROD_B1と、受信部PROD_B1が受信した変調信号を復調することによって符号化データを得る復調部PROD_B2と、復調部PROD_B2が得た符号化データを復号することによって動画像を得る復号部PROD_B3と、を備えている。上述した画像復号装置31は、この復号部PROD_B3として利用される。
 受信装置PROD_Bは、復号部PROD_B3が出力する動画像の供給先として、動画像を表示するディスプレイPROD_B4、動画像を記録するための記録媒体PROD_B5、及び、動画像を外部に出力するための出力端子PROD_B6を更に備えていてもよい。図8の(b)においては、これら全てを受信装置PROD_Bが備えた構成を例示しているが、一部を省略しても構わない。
 なお、記録媒体PROD_B5は、符号化されていない動画像を記録するためのものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化されたものであってもよい。後者の場合、復号部PROD_B3と記録媒体PROD_B5との間に、復号部PROD_B3から取得した動画像を記録用の符号化方式に従って符号化する符号化部(不図示)を介在させるとよい。
 なお、変調信号を伝送する伝送媒体は、無線であってもよいし、有線であってもよい。また、変調信号を伝送する伝送態様は、放送(ここでは、送信先が予め特定されていない送信態様を指す)であってもよいし、通信(ここでは、送信先が予め特定されている送信態様を指す)であってもよい。すなわち、変調信号の伝送は、無線放送、有線放送、無線通信、及び有線通信の何れによって実現してもよい。
 例えば、地上デジタル放送の放送局(放送設備など)/受信局(テレビジョン受像機など)は、変調信号を無線放送で送受信する送信装置PROD_A/受信装置PROD_Bの一例である。また、ケーブルテレビ放送の放送局(放送設備など)/受信局(テレビジョン受像機など)は、変調信号を有線放送で送受信する送信装置PROD_A/受信装置PROD_Bの一例である。
 また、インターネットを用いたVOD(Video On Demand)サービスや動画共有サービスなどのサーバ(ワークステーションなど)/クライアント(テレビジョン受像機、パーソナルコンピュータ、スマートフォンなど)は、変調信号を通信で送受信する送信装置PROD_A/受信装置PROD_Bの一例である(通常、LANにおいては伝送媒体として無線または有線の何れかが用いられ、WANにおいては伝送媒体として有線が用いられる)。ここで、パーソナルコンピュータには、デスクトップ型PC、ラップトップ型PC、及びタブレット型PCが含まれる。また、スマートフォンには、多機能携帯電話端末も含まれる。
 なお、動画共有サービスのクライアントは、サーバからダウンロードした符号化データを復号してディスプレイに表示する機能に加え、カメラで撮像した動画像を符号化してサーバにアップロードする機能を有している。すなわち、動画共有サービスのクライアントは、送信装置PROD_A及び受信装置PROD_Bの双方として機能する。
 次に、上述した画像符号化装置11及び画像復号装置31を、動画像の記録及び再生に利用できることを、図9を参照して説明する。
 図9の(a)は、上述した画像符号化装置11を搭載した記録装置PROD_Cの構成を示したブロック図である。図9の(a)に示すように、記録装置PROD_Cは、動画像を符号化することによって符号化データを得る符号化部PROD_C1と、符号化部PROD_C1が得た符号化データを記録媒体PROD_Mに書き込む書込部PROD_C2と、を備えている。上述した画像符号化装置11は、この符号化部PROD_C1として利用される。
 なお、記録媒体PROD_Mは、(1)HDD(Hard Disk Drive)やSSD(Solid State Drive)などのように、記録装置PROD_Cに内蔵されるタイプのものであってもよいし、(2)SDメモリカードやUSB(Universal Serial Bus)フラッシュメモリなどのように、記録装置PROD_Cに接続されるタイプのものであってもよいし、(3)DVD(Digital Versatile Disc)やBD(Blu-ray Disc:登録商標)などのように、記録装置PROD_Cに内蔵されたドライブ装置(不図示)に装填されるものであってもよい。
 また、記録装置PROD_Cは、符号化部PROD_C1に入力する動画像の供給源として、動画像を撮像するカメラPROD_C3、動画像を外部から入力するための入力端子PROD_C4、動画像を受信するための受信部PROD_C5、及び、画像を生成または加工する画像処理部PROD_C6を更に備えていてもよい。図9の(a)においては、これら全てを記録装置PROD_Cが備えた構成を例示しているが、一部を省略しても構わない。
 なお、受信部PROD_C5は、符号化されていない動画像を受信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを受信するものであってもよい。後者の場合、受信部PROD_C5と符号化部PROD_C1との間に、伝送用の符号化方式で符号化された符号化データを復号する伝送用復号部(不図示)を介在させるとよい。
 このような記録装置PROD_Cとしては、例えば、DVDレコーダ、BDレコーダ、HDD(Hard Disk Drive)レコーダなどが挙げられる(この場合、入力端子PROD_C4または受信部PROD_C5が動画像の主な供給源となる)。また、カムコーダ(この場合、カメラPROD_C3が動画像の主な供給源となる)、パーソナルコンピュータ(この場合、受信部PROD_C5または画像処理部C6が動画像の主な供給源となる)、スマートフォン(この場合、カメラPROD_C3または受信部PROD_C5が動画像の主な供給源となる)なども、このような記録装置PROD_Cの一例である。
 図9の(b)は、上述した画像復号装置31を搭載した再生装置PROD_Dの構成を示したブロックである。図9の(b)に示すように、再生装置PROD_Dは、記録媒体PROD_Mに書き込まれた符号化データを読み出す読出部PROD_D1と、読出部PROD_D1が読み出した符号化データを復号することによって動画像を得る復号部PROD_D2と、を備えている。上述した画像復号装置31は、この復号部PROD_D2として利用される。
 なお、記録媒体PROD_Mは、(1)HDDやSSDなどのように、再生装置PROD_Dに内蔵されるタイプのものであってもよいし、(2)SDメモリカードやUSBフラッシュメモリなどのように、再生装置PROD_Dに接続されるタイプのものであってもよいし、(3)DVDやBDなどのように、再生装置PROD_Dに内蔵されたドライブ装置(不図示)に装填されるものであってもよい。
 また、再生装置PROD_Dは、復号部PROD_D2が出力する動画像の供給先として、動画像を表示するディスプレイPROD_D3、動画像を外部に出力するための出力端子PROD_D4、及び、動画像を送信する送信部PROD_D5を更に備えていてもよい。図9の(b)においては、これら全てを再生装置PROD_Dが備えた構成を例示しているが、一部を省略しても構わない。
 なお、送信部PROD_D5は、符号化されていない動画像を送信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを送信するものであってもよい。後者の場合、復号部PROD_D2と送信部PROD_D5との間に、動画像を伝送用の符号化方式で符号化する符号化部(不図示)を介在させるとよい。
 このような再生装置PROD_Dとしては、例えば、DVDプレイヤ、BDプレイヤ、HDDプレイヤなどが挙げられる(この場合、テレビジョン受像機等が接続される出力端子PROD_D4が動画像の主な供給先となる)。また、テレビジョン受像機(この場合、ディスプレイPROD_D3が動画像の主な供給先となる)、デジタルサイネージ(電子看板や電子掲示板等とも称され、ディスプレイPROD_D3または送信部PROD_D5が動画像の主な供給先となる)、デスクトップ型PC(この場合、出力端子PROD_D4または送信部PROD_D5が動画像の主な供給先となる)、ラップトップ型またはタブレット型PC(この場合、ディスプレイPROD_D3または送信部PROD_D5が動画像の主な供給先となる)、スマートフォン(この場合、ディスプレイPROD_D3または送信部PROD_D5が動画像の主な供給先となる)なども、このような再生装置PROD_Dの一例である。
  (ハードウェア的実現及びソフトウェア的実現)
 また、上述した画像復号装置31及び画像符号化装置11の各ブロックは、集積回路(ICチップ)上に形成された論理回路によってハードウェア的に実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェア的に実現してもよい。
 後者の場合、上記各装置は、各機能を実現するプログラムの命令を実行するCPU、上記プログラムを格納したROM(Read Only Memory)、上記プログラムを展開するRAM(RandomAccess Memory)、上記プログラム及び各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の実施形態の目的は、上述した機能を実現するソフトウェアである上記各装置の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記各装置に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
 上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ類、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD-ROM(Compact Disc Read-Only Memory)/MOディスク(Magneto-Optical disc)/MD(Mini Disc)/DVD(Digital Versatile Disc)/CD-R(CD Recordable)/ブルーレイディスク(Blu-ray Disc:登録商標)等の光ディスクを含むディスク類、ICカード(メモリカードを含む)/光カード等のカード類、マスクROM/EPROM(Erasable Programmable Read-Only Memory)/EEPROM(Electrically Erasable and Programmable Read-Only Memory:登録商標)/フラッシュROM等の半導体メモリ類、あるいはPLD(Programmable logic device)やFPGA(Field Programmable Gate Array)等の論理回路類などを用いることができる。
 また、上記各装置を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、LAN(Local Area Network)、ISDN(Integrated Services Digital Network)、VAN(Value-Added Network)、CATV(Community Antenna television/Cable Television)通信網、仮想専用網(Virtual Private Network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成または種類のものに限定されない。例えば、IEEE(Institute of Electrical and Electronic Engineers)1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL(Asymmetric Digital Subscriber Line)回線等の有線でも、IrDA(Infrared Data Association)やリモコンのような赤外線、BlueTooth(登録商標)、IEEE802.11無線、HDR(High Data Rate)、NFC(Near Field Communication)、DLNA(Digital Living Network Alliance:登録商標)、携帯電話網、衛星回線、地上デジタル放送網等の無線でも利用可能である。なお、本発明の実施形態は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
 本発明の実施形態は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
 (関連出願の相互参照)
 本出願は、2017年2月2日に出願された日本国特許出願:特願2017-017372、および2017年7月31日に出願された日本国特許出願:特願2017-148299に対して優先権の利益を主張するものであり、それを参照することにより、その内容の全てが本書に含まれる。
 本発明の実施形態は、画像データが符号化された符号化データを復号する画像復号装置、及び、画像データが符号化された符号化データを生成する画像符号化装置に好適に適用することができる。また、画像符号化装置によって生成され、画像復号装置によって参照される符号化データのデータ構造に好適に適用することができる。
 1 画像伝送システム
10 CT情報復号部
11 画像符号化装置
20 CU復号部
21 ネットワーク
31 画像復号装置
41 画像表示装置
101、308 予測画像生成部
102 減算部
103 量子化部
104 エントロピー符号化部
105、311 逆量子化・逆変換部
106、312 加算部
107、305 ループフィルタ
108、307 予測パラメータメモリ
109、306 参照ピクチャメモリ
110 符号化パラメータ決定部
111 予測パラメータ符号化部
112 インター予測パラメータ符号化部
113 イントラ予測パラメータ符号化部
301 エントロピー復号部
302 予測パラメータ復号部
303 インター予測パラメータ復号部
304 イントラ予測パラメータ復号部
309 インター予測画像生成部
310 イントラ予測画像生成部

Claims (24)

  1.  画像を、分割ツリーを用いて分割した符号化ユニット(ブロック)毎に復号する画像復号装置であって、
     符号化データを可変長復号して画像の分割情報、予測パラメータ、および量子化変換係数等の第1の符号化パラメータを復号する手段と、
     前記量子化変換係数を逆量子化および逆直交変換して予測誤差を算出する手段と、
     前記分割情報と前記予測パラメータを用いて予測画像を作成する手段と
     前記予測誤差と前記予測画像を加算して復号画像を作成する手段とを備え、
     前記復号する手段は、量子化変換係数の逆量子化に用いる量子化パラメータの復号において、
     符号化データから量子化パラメータのシンタックスを復号して量子化パラメータ(ベース量子化パラメータ)を算出し、
     画像のアクティビティに関連する第2の符号化パラメータを参照して、前記ベース量子化パラメータと各符号化ユニットの差分情報を導出し、
     前記ベース量子化パラメータと前記差分情報を加算して各符号化ユニットの量子化パラメータを算出し、
     前記予測誤差を算出する手段は前記符号化ユニットの量子化パラメータを用いて逆量子化することを特徴とする画像復号装置。
  2.  画像を、分割ツリーを用いて分割した符号化ユニット(ブロック)毎に符号化する画像符号化装置であって、
     画像の分割ツリー(分割情報)、予測パラメータ等を決定する手段と、
     前記分割情報に基づいて入力画像の予測画像を作成する手段と、
     前記入力画像と前記予測画像の予測誤差を算出する手段と、
     前記予測誤差を直交変換および量子化して量子化変換係数を算出する手段と、
     前記分割情報、予測パラメータ、および量子化変換係数等の第1の符号化パラメータを可変長符号化する手段と、
     前記量子化変換係数を逆量子化および逆直交変換して予測誤差を算出する手段と、
     前記予測誤差と前記予測画像を加算して復号画像を作成する手段とを備え、
     符号化パラメータ決定手段は、前記量子化手段および逆量子化手段で用いる量子化パラメータの導出において、
     量子化パラメータ(ベース量子化パラメータ)を算出し、
     画像のアクティビティに関連する第2の符号化パラメータを参照して、前記ベース量子化パラメータと各符号化ユニットの差分情報を導出し、
     前記ベース量子化パラメータと前記差分情報を加算して各符号化ユニットの量子化パラメータを算出し、
     前記量子化手段は前記ベース量子化パラメータおよび符号化ユニットの量子化パラメータを用いて量子化し、
     前記可変長符号化手段は、前記ベース量子化パラメータに関連する情報を符号化し、符号化ユニットの量子化パラメータは符号化しないことを特徴とする画像符号化装置。
  3.  前記ベース量子化パラメータと各符号化ユニットの差分情報の導出において、前記第2の符号化パラメータと前記差分情報の対応関係をヘッダ情報として符号化・復号する請求項1および2に記載の画像符号化装置および画像復号装置。
  4.  前記第2の符号化パラメータは、画像の分割情報であることを特徴とする請求項1~3に記載の画像符号化装置および画像復号装置。
  5.  前記第2の符号化パラメータは、符号化・復号対象の符号化ユニットに隣接する符号化ユニットの量子化変換係数の個数であることを特徴とする請求項1~3に記載の画像符号化装置および画像復号装置。
  6.  前記第2の符号化パラメータは、符号化・復号対象の符号化ユニットと、その隣接符号化ユニットの動きベクトルであることを特徴とする請求項1~3に記載の画像符号化装置および画像復号装置。
  7.  画像を、分割ツリーを用いて分割した符号化ユニット(ブロック)毎に復号する画像復号装置であって、
     符号化データを可変長復号して画像の分割情報、予測パラメータ、および量子化変換係数等の第1の符号化パラメータを復号する手段と、
     前記量子化変換係数を逆量子化および逆直交変換して予測誤差を算出する手段と、
     前記分割情報と前記予測パラメータを用いて予測画像を作成する手段と
     前記予測誤差と前記予測画像を加算して復号画像を作成する手段とを備え、
     前記復号する手段は、量子化変換係数の逆量子化に用いる量子化パラメータの復号において、
     前記符号化ユニットのルートである符号化ツリーユニットの最初の符号化ユニットで復号した情報から、符号化ツリーユニットの先頭の符号化ユニットの量子化パラメータ(ベース量子化パラメータ)を算出し、
     画像のアクティビティに関連する第2の符号化パラメータを参照して、前記ベース量子化パラメータと符号化ツリーユニットの2つ目以降の各符号化ユニット(後続ユニット)の差分情報を導出し、
     前記ベース量子化パラメータと前記差分情報を加算して各後続ユニットの量子化パラメータを算出し、
     前記予測誤差を算出する手段は前記ベース量子化パラメータおよび後続ユニットの量子化パラメータを用いて逆量子化することを特徴とする画像復号装置。
  8.  画像を、分割ツリーを用いて分割した符号化ユニット(ブロック)毎に符号化する画像符号化装置であって、
     画像の分割ツリー(分割情報)、予測パラメータ等を決定する手段と、
     前記分割情報に基づいて入力画像の予測画像を作成する手段と、
     前記入力画像と前記予測画像の予測誤差を算出する手段と、
     前記予測誤差を直交変換および量子化して量子化変換係数を算出する手段と、
     前記分割情報、予測パラメータ、および量子化変換係数等の第1の符号化パラメータを可変長符号化する手段と、
     前記量子化変換係数を逆量子化および逆直交変換して予測誤差を算出する手段と、
     前記予測誤差と前記予測画像を加算して復号画像を作成する手段とを備え、
     符号化パラメータ決定手段は、前記量子化手段および逆量子化手段で用いる量子化パラメータの導出において、
     前記符号化ユニットのルートである符号化ツリーユニットの最初の符号化ユニットの量子化パラメータ(ベース量子化パラメータ)を算出し、
     画像のアクティビティに関連する第2の符号化パラメータを参照して、前記ベース量子化パラメータと符号化ツリーユニットの2つ目以降の各符号化ユニット(後続ユニット)の差分情報を導出し、
     前記ベース量子化パラメータと前記差分情報を加算して各後続ユニットの量子化パラメータを算出し、
     前記量子化手段は前記ベース量子化パラメータおよび後続ユニットの量子化パラメータを用いて量子化し、
     前記可変長符号化手段は、前記ベース量子化パラメータに関連する情報を符号化し、後続ユニットの量子化パラメータは符号化しないことを特徴とする画像符号化装置。
  9.  量子化変換係数を含む符号化データを復号単位毎に復号し、予測残差を導出することにより画像を復号する画像復号装置であって、
     上記量子化変換係数の復号に用いる量子化パラメータの導出にオフセット値を用いるか否かを第1条件が満たされるか否かにより判定する判定部と、
     上記符号化データから量子化パラメータのシンタックスを復号してベース量子化パラメータを算出するベース量子化パラメータ算出部と、
     上記判定部が、上記オフセット値を用いると判定した場合、上記オフセット値を設定する設定部と、
     上記判定部が、上記オフセット値を用いると判定した場合、上記ベース量子化パラメータと上記オフセット値とを用いて量子化パラメータを算出する量子化パラメータ算出部と、
     上記判定部が、上記オフセット値を用いると判定した場合、上記量子化パラメータを用いて逆量子化を行う逆量子化部と、を備えていることを特徴とする画像復号装置。
  10.  上記判定部は、上記第1条件として上記復号単位のサイズが第1閾値以下の場合、オフセット値を用いると判定し、
     上記量子化パラメータ算出部は、上記ベース量子化パラメータに上記オフセット値を加算した値を上記量子化パラメータとして算出することを特徴とする請求項9に記載の画像復号装置。
  11.  上記判定部は、上記第1条件として上記復号単位のサイズが第2閾値以上の場合、オフセット値を用いると判定し、
     上記量子化パラメータ算出部は、上記ベース量子化パラメータから上記オフセット値を減算した値を上記量子化パラメータとして算出することを特徴とする請求項9に記載の画像復号装置。
  12.  上記判定部は、上記第1条件として、上記復号単位の復号に用いる予測画像を生成するための予測モードがイントラ予測の場合、オフセット値を用いると判定し、
     上記量子化パラメータ算出部は、上記ベース量子化パラメータに上記オフセット値を加算した値を上記量子化パラメータとして算出することを特徴とする請求項9に記載の画像復号装置。
  13.  上記判定部は、上記第1条件として上記復号単位の復号に用いる予測画像を生成するための予測モードがイントラ予測におけるプレーナ予測の場合、オフセット値を用いると判定し、
     上記量子化パラメータ算出部は、上記ベース量子化パラメータに上記オフセット値を加算した値を上記量子化パラメータとして算出することを特徴とする請求項9に記載の画像復号装置。
  14.  上記判定部は、上記第1条件として上記復号単位の復号に用いる予測画像を生成するための予測モードがマージモードではない場合、オフセット値を用いると判定し、
     上記量子化パラメータ算出部は、上記ベース量子化パラメータに上記オフセット値を加算した値を上記量子化パラメータとして算出することを特徴とする請求項9に記載の画像復号装置。
  15.  上記判定部は、上記第1条件として、予測画像の生成において、上記復号単位を含むピクチャが、前後のピクチャから参照されにくい場合、オフセット値を用いると判定し、
     上記量子化パラメータ算出部は、上記ベース量子化パラメータに上記オフセット値を加算した値を上記量子化パラメータとして算出することを特徴とする請求項9に記載の画像復号装置。
  16.  上記判定部は、POC(picture order count)が所定値の場合、または参照ピクチャリストに含まれるピクチャ数が第3閾値以下の場合、または、テンポラルレイヤの階層を示すテンポラルレイヤIDが第4閾値以下の場合、上記復号単位を含むピクチャが、前後のピクチャから参照され易いと判定し、これら以外の場合、オフセット値を用いると判定することを特徴とする請求項15に記載の画像復号装置。
  17.  上記判定部は、上記第1条件として複数の条件が満たされた場合、上記量子化パラメータの導出にオフセット値を用いると判定することを特徴とする請求項9~16のいずれか1項に記載の画像復号装置。
  18.  上記第1条件を指定するフラグを復号する復号部を備え、
     上記判定部は、上記フラグにより指定された条件が満たされるか否かにより、量子化パラメータの導出にオフセット値を用いるか否かを判定することを特徴とする請求項9~16のいずれか1項に記載の画像復号装置。
  19.  上記判定部は、上記第1条件が満たされた場合、さらに第2条件を満たすかどうかを判定し、
     上記第2条件が満たされる場合、上記量子化パラメータ算出部は、上記ベース量子化パラメータに上記オフセット値を加算した値を上記量子化パラメータとして算出することを特徴とする請求項9に記載の画像復号装置。
  20.  上記第2条件は、
      上記復号単位の復号に用いる予測画像を生成するための予測モードがイントラ予測であるか否か、
      上記復号単位の復号に用いる予測画像を生成するための予測モードがイントラ予測におけるプレーナ予測でないか否か、
      上記復号単位の復号に用いる予測画像を生成するための予測モードがマージモードであるか否か、
      予測画像の生成において、上記復号単位を含むピクチャが、前後のピクチャから参照されにくいか否か、または
     上記復号単位における画素値が輝度を示すものであるか否か、
    であることを特徴とする請求項18に記載の画像復号装置。
  21.  量子化変換係数を含む符号化データを復号単位毎に復号し、予測残差を導出することにより画像を復号する画像復号装置であって、
     上記量子化変換係数の復号に用いる量子化パラメータの導出に第1オフセット値を用いるか否かを第1条件が満たされるか否かにより判定する第1判定部と、
     上記符号化データから量子化パラメータのシンタックスを復号してベース量子化パラメータを算出するベース量子化パラメータ算出部と、
     上記第1判定部が、上記第1オフセット値を用いると判定した場合、上記第1オフセット値を設定する設定部と、
     上記第1判定部が、上記第1オフセット値を用いると判定した場合、上記ベース量子化パラメータと上記第1オフセット値とを用いて第1量子化パラメータを算出する第1量子化パラメータ算出部と、
     上記量子化変換係数の復号に用いる量子化パラメータの導出に第2オフセット値を用いるか否かを第2条件が満たされるか否かにより判定する第2判定部と、
     上記第2判定部が、上記第2オフセット値を用いると判定した場合、上記第2オフセット値を設定する設定部と、
     上記第2判定部が、上記第2オフセット値を用いると判定した場合、上記第1量子化パラメータと上記第2オフセット値とを用いて量子化パラメータを算出する量子化パラメータ算出部と、
     上記第2判定部が、上記第2オフセット値を用いると判定した場合、上記量子化パラメータを用いて逆量子化を行う逆量子化部と、を備えていることを特徴とする画像復号装置。
  22.  上記第2判定部は、上記第1判定部が量子化パラメータの導出に第1オフセット値を用いると判定した場合、量子化パラメータの導出に第2オフセット値を用いるか否の判定を行うことを特徴とする請求項21に記載の画像復号装置。
  23.  上記量子化パラメータ算出部が上記オフセット値を用いて算出した上記量子化パラメータは、上記逆量子化部が実行する逆量子化のみに用いられることを特徴とする請求項9に記載の画像復号装置。
  24.  原画像から予測画像を減算した予測残差を変換単位毎に変換し量子化した量子化変換係数を含む符号化データを符号化単位毎に生成することにより画像を符号化する画像符号化装置であって、
     上記量子化変換係数の符号化に用いる量子化パラメータの導出にオフセット値を用いるか否かを第1条件が満たされるか否かにより判定する判定部と、
     ベース量子化パラメータを算出するベース量子化パラメータ算出部と、
     上記判定部が、上記オフセット値を用いると判定した場合、上記オフセット値を設定する設定部と、
     上記判定部が、上記オフセット値を用いると判定した場合、上記ベース量子化パラメータと上記オフセット値とを用いて量子化パラメータを算出する量子化パラメータ算出部と、
     上記判定部が、上記オフセット値を用いると判定した場合、上記量子化パラメータを用いて上記量子化変換係数の逆量子化を行う逆量子化部と、
     上記逆量子化部が逆量子化した結果から上記予測画像を生成する予測画像生成部と、
     上記量子化変換係数と上記ベース量子化パラメータを符号化して上記符号化データを生成する符号化部と、を備えていることを特徴とする画像符号化装置。
PCT/JP2018/003254 2017-02-02 2018-01-31 画像符号化装置及び画像復号装置 WO2018143289A1 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2017017372A JP2020057826A (ja) 2017-02-02 2017-02-02 動画像符号化装置及び動画像復号装置
JP2017-017372 2017-02-02
JP2017-148299 2017-07-31
JP2017148299 2017-07-31

Publications (1)

Publication Number Publication Date
WO2018143289A1 true WO2018143289A1 (ja) 2018-08-09

Family

ID=63040716

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/003254 WO2018143289A1 (ja) 2017-02-02 2018-01-31 画像符号化装置及び画像復号装置

Country Status (1)

Country Link
WO (1) WO2018143289A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113196776A (zh) * 2018-12-20 2021-07-30 夏普株式会社 预测图像生成装置、运动图像解码装置、运动图像编码装置以及预测图像生成方法
CN113273212A (zh) * 2019-01-02 2021-08-17 夏普株式会社 预测图像生成装置、运动图像解码装置、运动图像编码装置以及预测图像生成方法
US11166023B2 (en) 2017-03-21 2021-11-02 Dolby Laboratories Licensing Corporation Quantization parameter prediction using luminance information
CN114026856A (zh) * 2019-06-27 2022-02-08 三星电子株式会社 图像编码方法和设备以及图像解码方法和设备
CN114270859A (zh) * 2019-09-20 2022-04-01 Kddi 株式会社 图像解码装置、图像解码方法及程序

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02264585A (ja) * 1989-04-05 1990-10-29 Nec Corp 画像信号の符号化方式
JPH0310464A (ja) * 1989-06-07 1991-01-18 Victor Co Of Japan Ltd 画像信号の符号化復号化装置及び符号化装置
JPH08116450A (ja) * 1994-10-17 1996-05-07 Fuji Xerox Co Ltd 画像圧縮装置および画像伸長装置
JP2005176337A (ja) * 2003-11-21 2005-06-30 Matsushita Electric Ind Co Ltd 画像信号処理方法、画像信号処理装置、画像信号処理プログラムおよび集積回路装置
JP2009071520A (ja) * 2007-09-12 2009-04-02 Sony Corp 画像符号化装置、画像符号化方法
WO2011142279A1 (ja) * 2010-05-13 2011-11-17 シャープ株式会社 符号化装置、復号装置、およびデータ構造
WO2011152518A1 (ja) * 2010-06-04 2011-12-08 ソニー株式会社 画像処理装置および方法
JP2012191294A (ja) * 2011-03-09 2012-10-04 Canon Inc 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP2013529021A (ja) * 2010-05-04 2013-07-11 日本テキサス・インスツルメンツ株式会社 ビデオ符号化における符号化ユニット量子化パラメータ

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02264585A (ja) * 1989-04-05 1990-10-29 Nec Corp 画像信号の符号化方式
JPH0310464A (ja) * 1989-06-07 1991-01-18 Victor Co Of Japan Ltd 画像信号の符号化復号化装置及び符号化装置
JPH08116450A (ja) * 1994-10-17 1996-05-07 Fuji Xerox Co Ltd 画像圧縮装置および画像伸長装置
JP2005176337A (ja) * 2003-11-21 2005-06-30 Matsushita Electric Ind Co Ltd 画像信号処理方法、画像信号処理装置、画像信号処理プログラムおよび集積回路装置
JP2009071520A (ja) * 2007-09-12 2009-04-02 Sony Corp 画像符号化装置、画像符号化方法
JP2013529021A (ja) * 2010-05-04 2013-07-11 日本テキサス・インスツルメンツ株式会社 ビデオ符号化における符号化ユニット量子化パラメータ
WO2011142279A1 (ja) * 2010-05-13 2011-11-17 シャープ株式会社 符号化装置、復号装置、およびデータ構造
WO2011152518A1 (ja) * 2010-06-04 2011-12-08 ソニー株式会社 画像処理装置および方法
JP2012191294A (ja) * 2011-03-09 2012-10-04 Canon Inc 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MADHUKAR BUDAGAVI ET AL.: "Delta QP signaling at sub-LCU level", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP3 AND ISO/IEC JTC1/SC29/WG11, JCTVC-D038_R1, 4TH MEETING, 20 January 2011 (2011-01-20), Daegu, KR, pages 1 - 5, XP030008079 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11166023B2 (en) 2017-03-21 2021-11-02 Dolby Laboratories Licensing Corporation Quantization parameter prediction using luminance information
CN113196776A (zh) * 2018-12-20 2021-07-30 夏普株式会社 预测图像生成装置、运动图像解码装置、运动图像编码装置以及预测图像生成方法
CN113196776B (zh) * 2018-12-20 2023-12-19 夏普株式会社 预测图像生成装置、运动图像解码装置、运动图像编码装置以及预测图像生成方法
CN113273212A (zh) * 2019-01-02 2021-08-17 夏普株式会社 预测图像生成装置、运动图像解码装置、运动图像编码装置以及预测图像生成方法
CN114026856A (zh) * 2019-06-27 2022-02-08 三星电子株式会社 图像编码方法和设备以及图像解码方法和设备
CN114270859A (zh) * 2019-09-20 2022-04-01 Kddi 株式会社 图像解码装置、图像解码方法及程序

Similar Documents

Publication Publication Date Title
JP7223886B2 (ja) 画像復号方法
WO2018037853A1 (ja) 画像復号装置及び画像符号化装置
WO2018199001A1 (ja) 画像復号装置及び画像符号化装置
WO2018116802A1 (ja) 画像復号装置、画像符号化装置、及び画像予測装置
WO2018221368A1 (ja) 動画像復号装置、及び動画像符号化装置
JP2021010046A (ja) 画像符号化装置及び画像復号装置
WO2018143289A1 (ja) 画像符号化装置及び画像復号装置
WO2019221072A1 (ja) 画像符号化装置、符号化ストリーム抽出装置及び画像復号装置
WO2018110462A1 (ja) 画像復号装置及び画像符号化装置
WO2018159526A1 (ja) 動画像符号化装置及び動画像復号装置
US11575919B2 (en) Image encoding/decoding method and device using lossless color transform, and method for transmitting bitstream
KR20220049486A (ko) 필터링 기반 영상 코딩 장치 및 방법
KR20220050088A (ko) 크로스-컴포넌트 적응적 루프 필터링 기반 영상 코딩 장치 및 방법
KR20220019242A (ko) 적응적 루프 필터를 적용하는 비디오 또는 영상 코딩
EP4054189A1 (en) Method and device for encoding/decoding image using color space conversion, and method for transmitting bitstream
JP7241153B2 (ja) 画像復号装置
WO2018199002A1 (ja) 動画像符号化装置及び動画像復号装置
WO2019065488A1 (ja) 画像復号装置および画像符号化装置
US12010303B2 (en) Image encoding/decoding method and device for signaling filter information on basis of chroma format, and method for transmitting bitstream
WO2019230904A1 (ja) 画像復号装置、および画像符号化装置
KR20220019243A (ko) 인루프 필터링 기반 비디오 또는 영상 코딩
KR20220017439A (ko) 스케일링 리스트 파라미터 기반 비디오 또는 영상 코딩
KR20220041898A (ko) 적응적 루프 필터링 기반 영상 코딩 장치 및 방법
WO2019159820A1 (ja) 動画像符号化装置及び動画像復号装置
EP3941048B1 (en) Image encoding/decoding method and device, and method for transmitting bitstream

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: JP

122 Ep: pct application non-entry in european phase

Ref document number: 18748638

Country of ref document: EP

Kind code of ref document: A1