WO2020045275A1 - 画像復号装置および画像符号化装置 - Google Patents

画像復号装置および画像符号化装置 Download PDF

Info

Publication number
WO2020045275A1
WO2020045275A1 PCT/JP2019/033016 JP2019033016W WO2020045275A1 WO 2020045275 A1 WO2020045275 A1 WO 2020045275A1 JP 2019033016 W JP2019033016 W JP 2019033016W WO 2020045275 A1 WO2020045275 A1 WO 2020045275A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
picture
region
image
partial
Prior art date
Application number
PCT/JP2019/033016
Other languages
English (en)
French (fr)
Inventor
将伸 八杉
知宏 猪飼
中條 健
瑛一 佐々木
Original Assignee
シャープ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by シャープ株式会社 filed Critical シャープ株式会社
Publication of WO2020045275A1 publication Critical patent/WO2020045275A1/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • One aspect of an embodiment of the present invention relates to an image decoding device and an image encoding device.
  • a moving image encoding device that generates encoded data by encoding a moving image, and a moving image that generates a decoded image by decoding the encoded data
  • An image decoding device is used.
  • Specific moving image coding methods include, for example, methods proposed in H.264 / AVC and HEVC (High-Efficiency Video Coding).
  • an image (picture) constituting a moving picture includes a slice obtained by dividing the picture and a coding tree unit (CTU: Coding Tree Unit) obtained by dividing the slice. ), A coding unit obtained by dividing the coding tree unit (sometimes called a coding unit (Coding Unit: CU)), and a transform unit obtained by dividing the coding unit (TU: Transform @ Unit) is managed and encoded / decoded for each CU.
  • CTU Coding Tree Unit
  • tiles obtained by dividing an image into rectangles are also used.
  • the tile is divided in units of CTU, and is independently encoded / decoded for each tile.
  • a predicted image is generally generated based on a locally decoded image obtained by encoding / decoding an input image, and the predicted image is subtracted from the input image (original image).
  • the prediction error also referred to as “difference image” or “residual image” obtained by the encoding is encoded.
  • inter prediction inter-screen prediction
  • intra prediction intra-screen prediction
  • Non-Patent Literature 1 can be cited as a technique for encoding and decoding moving images in recent years.
  • Non-Patent Document 2 can be cited as a technique for increasing the degree of freedom of a tile dividing method.
  • Non-Patent Document 2 the number of tiles adjacent to one side of a tile differs depending on the side. Therefore, when a dependency is provided between tiles, tile processing scheduling or specifying a tile to be referred to is performed. It becomes difficult. In addition, since the degree of freedom in the method of designating the division of the tile is high, the designation of dividing the picture into an unusable shape such as a tile having a shape other than a rectangle or a tile protruding from the picture is allowed.
  • an image decoding device includes a dividing unit that divides a picture, and a decoded image generating unit that generates a decoded image for each region divided by the dividing unit.
  • the dividing unit divides the picture into a plurality of first partial regions, and divides at least one of the first partial regions into a plurality of second partial regions.
  • an image encoding device includes a dividing unit that divides a picture, and an image encoding unit that encodes an image for each region divided by the dividing unit. And the dividing unit divides the picture into a plurality of first partial areas, and divides at least one of the first partial areas into a plurality of second partial areas.
  • FIG. 3 is a schematic diagram illustrating a configuration of a moving image decoding device. It is a flowchart explaining a schematic operation of the video decoding device.
  • FIG. 2 is a block diagram illustrating a configuration of a video encoding device.
  • FIG. 3 is a schematic diagram illustrating a configuration of an inter prediction parameter encoding unit.
  • FIG. 3 is a schematic diagram illustrating a configuration of an intra prediction parameter encoding unit.
  • FIG. 11 is a diagram illustrating an example of a picture divided into tiles by a conventional method.
  • FIG. 1 is a diagram illustrating a configuration of a transmission device equipped with a video encoding device according to the present embodiment and a reception device equipped with a video decoding device.
  • FIG. 1 is a diagram illustrating a configuration of a recording device equipped with a moving image encoding device according to the present embodiment and a playback device equipped with a moving image decoding device.
  • (a) shows a recording device equipped with a video encoding device, and (b) shows a playback device equipped with a video decoding device.
  • 1 is a schematic diagram illustrating a configuration of an image transmission system according to an embodiment. It is an example of the syntax which provided restrictions on the division of the tile. 15 is another example of a syntax in which restrictions are placed on tile division.
  • 9 is a table illustrating an example of a variable-length encoding method. 9 is a table illustrating another example of the variable length encoding method.
  • FIG. 20 is a schematic diagram showing the configuration of the image transmission system 1 according to the present embodiment.
  • the image transmission system 1 is a system that transmits an encoded stream obtained by encoding an encoding target image, decodes the transmitted encoded stream, and displays an image.
  • the image transmission system 1 includes a moving image coding device (image coding device) 11, a network 21, a moving image decoding device (image decoding device) 31, and a moving image display device (image display device) 41. .
  • the image T is input to the video encoding device 11.
  • the network 21 transmits the coded stream Te generated by the video encoding device 11 to the video decoding device 31.
  • the network 21 is the Internet, a wide area network (WAN: Wide Area Network), a small network (LAN: Local Area Network), or a combination thereof.
  • the network 21 is not limited to a two-way communication network, but may be a one-way communication network for transmitting broadcast waves such as terrestrial digital broadcasting and satellite broadcasting.
  • the network 21 may be replaced with a storage medium that records an encoded stream Te such as a DVD (Digital Versatile Disc) and a BD (Blue-ray Disc).
  • the video 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.
  • the video display device 41 displays all or a part of one or a plurality of decoded images Td generated by the video decoding device 31.
  • the moving image display device 41 includes a display device such as a liquid crystal display and an organic EL (Electro-luminescence) display. Examples of the form of the display include stationary, mobile, and HMD.
  • a display device such as a liquid crystal display and an organic EL (Electro-luminescence) display. Examples of the form of the display include stationary, mobile, and HMD.
  • X? Y: z is a ternary operator that takes y when x is true (other than 0) and z when x is false (0).
  • Abs (a) is a function that returns the absolute value of a.
  • Int (a) is a function that returns the integer value of a.
  • Floor (a) is a function that returns the largest integer less than or equal to a.
  • Ceil (a) is a function that returns the largest integer greater than or equal to a.
  • a / d represents the division of a by d (rounded down to the decimal point).
  • FIG. 1 is a diagram showing a hierarchical structure of data in the encoded stream Te.
  • the coded stream Te illustratively includes a sequence and a plurality of pictures constituting the sequence.
  • FIGS. 1A to 1F 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 slice data, respectively.
  • FIG. 3 is a diagram illustrating data, an encoding tree unit included in encoded slice data, and an encoding unit included in the encoding tree unit.
  • the encoded video sequence In the encoded video sequence, a set of data referred to by the video decoding device 31 to decode the sequence SEQ to be processed is defined. As shown in FIG. 1A, 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 additional extension.
  • Information Contains SEI (Supplemental Enhancement Information).
  • the video parameter set VPS includes, in a moving image composed of a plurality of layers, a set of encoding parameters common to a plurality of moving images and a plurality of layers included in the moving image and encoding parameters related to individual layers. Sets are defined.
  • sequence parameter set SPS a set of encoding parameters referred to by the video decoding device 31 to decode the target sequence is defined. For example, the width and height of a picture are defined. Note that a plurality of SPSs may exist. In that case, one of the plurality of SPSs is selected from the PPS.
  • the picture parameter set PPS defines a set of encoding parameters referred to by the video decoding device 31 to decode each picture in the target sequence. For example, a reference value (pic_init_qp_minus26) of a quantization width used for decoding a picture and a flag (weighted_pred_flag) indicating application of weighted prediction are included. Note that a plurality of PPSs may exist. In that case, any one of the plurality of PPSs is selected from each picture in the target sequence.
  • the picture PICT includes slice 0 to slice NS-1 (NS is the total number of slices included in the picture PICT).
  • Coding slice In the coded slice, a set of data referred to by the video decoding device 31 to decode the processing target slice S is defined.
  • the slice includes a slice header and slice data as shown in FIG. 1 (c).
  • the slice header includes a group of encoding parameters referred to by the video decoding device 31 in order to determine a decoding method for the target slice.
  • the slice type designation information (slice_type) that designates a slice type is an example of an encoding parameter included in a slice header.
  • the slice types that can be specified by the slice type specification information include (1) an I slice using only intra prediction at the time of encoding, (2) a P slice using unidirectional prediction or intra prediction at the time of encoding, (3) B-slice using unidirectional prediction, bidirectional prediction, or intra prediction at the time of encoding.
  • the inter prediction is not limited to uni-prediction and bi-prediction, and a prediction image may be generated using more reference pictures.
  • P and B slices they indicate slices including blocks that can use inter prediction.
  • the slice header may include a reference (pic_parameter_set_id) to the picture parameter set PPS.
  • the slice data includes a CTU as shown in FIG. 1 (d).
  • the CTU is a block of a fixed size (for example, 64 ⁇ 64) constituting a slice, and may be called a maximum coding unit (LCU: Largest Coding Unit).
  • FIG. 1 (e) defines a set of data referred to by the video decoding device 31 in order to decode the processing target CTU.
  • the CTU is based on a recursive quadtree (QT (Quad Tree)), binary (BT (Binary Tree)) or ternary (TT (Ternary Tree)) coding process. Is divided into coding units CU, which are typical units. The BT division and the TT division are collectively called a multi-tree division (MT (Multi Tree) division). A tree-structured node obtained by recursive quad-tree division is called a coding node. Intermediate nodes of the quadtree, the binary tree, and the ternary tree are coding nodes, and the CTU itself is defined as the highest coding node.
  • QT Quad Tree
  • BT Binary Tree
  • TT Ternary Tree
  • CT includes, as CT information, a QT split flag (cu_split_flag) indicating whether or not to perform QT split, an MT split mode (split_mt_mode) indicating a split method of MT split, and an MT split direction (split_mt_dir) indicating a split direction of MT split.
  • MT split type indicating the split type of the MT split. cu_split_flag, split_mt_flag, split_mt_dir, split_mt_type ⁇ are transmitted for each coding node.
  • the coding node is divided into four coding nodes (FIG. 2 (b)).
  • cu_split_flag is 0, if split_mt_flag is 0, the coding node is not divided and has one CU as a node (FIG. 2 (a)).
  • CU is a terminal node of the coding node, and is not further divided.
  • the CU is a basic unit of the encoding process.
  • split_mt_flag the encoded node is divided into MTs as follows.
  • split_mt_type is 0, when split_mt_dir is 1, the coding node is horizontally divided into two coding nodes (FIG. 2 (d)), and when split_mt_dir is 0, the coding node is vertical to the two coding nodes. It is divided (Fig. 2 (c)).
  • split_mt_type is 1, if split_mt_dir is 1, the coding node is horizontally divided into three coding nodes (FIG. 2 (f)), and if split_mt_dir is 0, the coding node becomes three coding nodes. (FIG. 2 (e)).
  • the CU size is 64x64 pixels, 64x32 pixels, 32x64 pixels, 32x32 pixels, 64x16 pixels, 16x64 pixels, 32x16 pixels, 16x32 pixels, 16x16 pixels, 64x8 pixels, 8x64 pixels 32x8 pixels, 8x32 pixels, 16x8 pixels, 8x16 pixels, 8x8 pixels, 64x4 pixels, 4x64 pixels, 32x4 pixels, 4x32 pixels, 16x4 pixels, 4x16 pixels, 8x4 pixels, 4x8 pixels, and any of 4x4 pixels .
  • the CU includes a CU header CUH, a prediction parameter, a conversion parameter, a quantized transform coefficient, and the like.
  • the prediction mode and the like are defined in the CU header.
  • the prediction process is performed in units of CUs, or in units of sub-CUs obtained by further dividing the CU.
  • the sizes of the CU and the sub-CU are equal, there is one sub-CU in the CU.
  • the CU is split into sub-CUs. For example, if the CU is 8x8 and the sub-CU is 4x4, the CU is divided into four sub-CUs, which are divided into two horizontal parts and two vertical parts.
  • Intra prediction is prediction within the same picture
  • inter prediction refers to prediction processing performed between different pictures (for example, between display times and between layer images).
  • the quantized transform coefficients may be entropy-coded in subblock units such as 4 ⁇ 4.
  • tile Similarly to the slice described above, a method of dividing a picture into tiles of a rectangular area is also used as a method of dividing a picture.
  • the method of dividing into tiles is specified by the tile information included in the picture parameter set PPS.
  • a tile ID for identifying each tile is assigned to the tile in a raster scan order.
  • CTUs are processed in raster scan order.
  • Tiles may be encoded / decoded independently. That is, a CTU in a certain tile does not refer to data of a CTU in another tile in the same picture. On the other hand, since a tile has no header unlike a slice, the code amount can be reduced as compared with the slice.
  • a CTU is used as a unit of the size of a tile, but the present invention is not limited to this.
  • a configuration may be employed in which the size of a tile is specified in units of luminance pixels.
  • a rectangular size that is a unit of a tile is referred to as a subtile.
  • region In this specification, a picture is divided into one or more rectangular region regions (Region, first partial region), and the region is further divided into one or more rectangular region tiles (Tile, second partial region). ) Is used.
  • the method of dividing into regions is specified by region information included in the picture parameter set PPS.
  • a region ID for identifying each region is assigned to the region in the raster scan order.
  • tiles are processed in raster scan order.
  • the method of dividing each region into tiles may be the same as the method of dividing a picture into tiles.
  • the ⁇ ⁇ ⁇ ⁇ region may be independently encoded / decoded, like the slice. That is, a tile in a certain region does not refer to data of a tile in another region in the same picture. In addition, tiles in a region may have a dependency.
  • a region is different from a slice, and in a configuration in which a header is eliminated, a code amount can be reduced as compared with a slice.
  • the prediction image is derived from prediction parameters associated with the block.
  • the prediction parameters include intra prediction and inter prediction prediction parameters.
  • the inter prediction parameter includes a prediction list use flag predFlagL0, predFlagL1, a reference picture index refIdxL0, refIdxL1, and a motion vector mvL0, mvL1.
  • the prediction list use flags predFlagL0 and predFlagL1 are flags indicating whether reference picture lists called L0 list and L1 list are used, respectively. When the value is 1, the corresponding reference picture list is used.
  • a flag other than 0 for example, 1) is XX, 0 is not XX, and logical negation, logical product, etc. Treat 1 as true and 0 as false (the same applies hereinafter).
  • other values can be used as a true value and a false value in an actual device or method.
  • inter prediction parameters include, for example, merge flag merge_flag, merge index merge_idx, inter prediction identifier inter_pred_idc, reference picture index refIdxLX, prediction vector index mvp_LX_idx, and difference vector mvdLX.
  • the intra prediction parameters include a luminance prediction mode IntraPredModeY and a color difference prediction mode IntraPredModeC.
  • FIG. 3 is a schematic diagram showing types (mode numbers) of intra prediction modes. As shown in FIG. 3, for example, there are 67 types (0 to 66) of intra prediction modes. For example, planar prediction (0), DC prediction (1), and Angular prediction (2-66). Further, for the color difference, an LM mode (67 to 72) may be added.
  • ⁇ ⁇ Syntax elements for deriving intra prediction parameters include, for example, prev_intra_luma_pred_flag, mpm_idx, rem_selected_mode_flag, rem_selected_mode, rem_non_selected_mode, and the like.
  • the video decoding device 31 includes a parameter decoding unit (prediction image decoding device, decoded image generation unit) 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 an inverse. It is configured to include a quantization / inverse transforming unit 311 and an adding unit 312. In addition, there is also a configuration in which the moving image decoding device 31 does not include the loop filter 305 in accordance with the moving image encoding device 11 described later.
  • the parameter decoding unit 302 further includes an entropy decoding unit 301, a header decoding unit 3020 (division unit), a CT information decoding unit 3021, and a CU decoding unit 3022 (prediction mode decoding unit).
  • a TU decoding unit 3024 is provided.
  • the parameter decoding unit 302 decodes parameters such as header information, division information, prediction information, and quantized transform coefficients.
  • the entropy decoding unit 301 decodes a syntax element from binary data. More specifically, the entropy decoding unit 301 decodes the syntax element from the encoded data according to the entropy coding scheme such as CABAC based on the syntax element supplied from the source, and returns the syntax element to the source.
  • the supply sources of the syntax elements are the CT information decoding unit 3021 and the CU decoding unit 3022.
  • FIG. 5 is a flowchart illustrating a schematic operation of the video decoding device 31.
  • the header decoding unit 3020 decodes parameter set information such as VPS, SPS, and PPS from the encoded data. When decoding the parameter information of the PPS, the header decoding unit 3020 decodes division information described later.
  • the header decoding unit 3020 decodes a slice header (slice information) from the encoded data.
  • the video decoding device 31 derives a decoded image of each CTU by repeating the processing from S1300 to S5000 for each CTU included in the current picture.
  • the CT information decoding unit 3021 decodes the CTU from the encoded data.
  • the CT information decoding unit 3021 decodes a CT from the encoded data.
  • the CU decoding unit 3022 performs S1510 and S1520 to decode the CU from the encoded data.
  • the CU decoding unit 3022 decodes CU information, prediction information, a TU division flag split_transform_flag, a CU residual flag cbf_cb, cbf_cr, cbf_luma, and the like from the encoded data.
  • the TU decoding unit 3024 decodes the QP update information (quantization correction value) and the quantization prediction error (residual_coding) from the encoded data.
  • the QP update information is a difference value from a quantization parameter prediction value qPpred which is a prediction value of the quantization parameter QP.
  • the predicted image generation unit 308 generates a predicted image for each block included in the target CU based on the prediction information.
  • the inverse quantization / inverse transformation unit 311 performs an inverse quantization / inverse transformation process for each TU included in the target CU.
  • the adder 312 decodes the target CU by adding the predicted image supplied from the predicted image generation unit 308 and the prediction error supplied from the inverse quantization / inverse transformation unit 311. Generate an image.
  • the loop filter 305 applies a loop filter such as a deblocking filter, SAO, or ALF to the decoded image to generate a decoded image.
  • a loop filter such as a deblocking filter, SAO, or ALF
  • the parameter decoding unit 302 includes an inter prediction parameter decoding unit 303 and an intra prediction parameter decoding unit 304 (not shown).
  • the prediction image generation unit 308 includes an inter prediction image generation unit 309 and an intra prediction image generation unit 3021 (not shown).
  • the entropy decoding unit 301 outputs inter prediction parameters (prediction mode predMode, merge flag merge_flag, merge index merge_idx, inter prediction identifier inter_pred_idc, reference picture index refIdxLX, prediction vector index mvp_LX_idx, difference vector mvdLX) to the inter prediction parameter decoding unit 303. I do. Further, it outputs intra prediction parameters (luminance prediction mode IntraPredModeY, color difference prediction mode IntraPredModeC) to intra prediction parameter decoding section 304. Entropy decoding section 301 outputs the quantized transform coefficient to inverse quantization / inverse transform section 311.
  • the inter prediction parameter decoding unit 303 decodes the inter prediction parameters based on the code input from the entropy decoding unit 301, with reference to the prediction parameters stored in the prediction parameter memory 307. Further, 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 decodes an intra prediction parameter, for example, an intra prediction mode IntraPredMode, with reference to the prediction parameter stored in the prediction parameter memory 307 based on the code input from the entropy decoding unit 301.
  • the intra prediction parameter decoding unit 304 outputs the decoded intra prediction parameters to the prediction image generation unit 308, and stores the decoded intra prediction parameters in the prediction parameter memory 307.
  • the intra prediction parameter decoding unit 304 may derive different intra prediction modes for luminance and chrominance.
  • the loop filter 305 is a filter provided in the encoding loop, which removes block distortion and ringing distortion and improves image quality.
  • the loop filter 305 applies a filter 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.
  • a filter 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 of the target picture and the target CU.
  • the prediction parameter memory 307 stores the prediction parameter at a predetermined position for each CTU or CU to be decoded. Specifically, the prediction parameter memory 307 stores the parameters decoded by the parameter decoding unit 302, the prediction mode predMode separated by the entropy decoding unit 301, and the like.
  • the prediction mode predMode, prediction parameters, and the like are input to the prediction image generation unit 308. 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 a block or a sub-block in the prediction mode indicated by the prediction mode predMode, using the prediction parameters and the read reference picture (reference picture block).
  • the reference picture block is a group of pixels on the reference picture (usually called a block because it is rectangular), and is an area to be referred to for generating a predicted image.
  • 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 a prediction image of a block or sub block by inter prediction. Generate
  • the inter prediction image generation unit 309 outputs the generated prediction image of the block to the addition unit 312.
  • the intra prediction image generation unit 310 performs intra prediction using the intra prediction parameters input from the intra prediction parameter decoding unit 304 and the reference pixels read from the reference picture memory 306.
  • the intra-prediction image generation unit 310 generates a prediction image of the target block with reference to the read decoded pixel value and the prediction mode indicated by the intra prediction mode IntraPredMode.
  • the intra prediction image generation unit 310 outputs the generated prediction image of the block to the addition unit 312.
  • the inverse quantization / inverse transform unit 311 inversely quantizes the quantized transform coefficient input from the entropy decoding unit 301 to obtain a transform coefficient.
  • the quantized transform coefficients are used for DCT (Discrete Cosine Transform, Discrete Cosine Transform), DST (Discrete Sine Transform, Discrete Sine Transform), KLT (Karyhnen Loeve Transform, Karhunen-Loeve Transform) Is a coefficient obtained by performing frequency conversion and quantization.
  • the inverse quantization / inverse transform unit 311 performs an inverse frequency transform such as an inverse DCT, an inverse DST, an inverse KLT on the obtained transform coefficient, and calculates a prediction error.
  • the inverse quantization / inverse transforming unit 311 outputs the prediction error to the adding unit 312.
  • the addition unit 312 adds the prediction image of the block input from the prediction image generation unit 308 and the prediction error input from the inverse quantization / inverse transformation unit 311 for each pixel to generate a decoded image of the block.
  • the adding unit 312 stores the decoded image of the block in the reference picture memory 306, and outputs the decoded image to the loop filter 305.
  • FIG. 9A is a diagram illustrating an example of a picture divided into tiles by a conventional method.
  • FIG. 10 shows an example of tile information (syntax) for dividing a picture as in (a) of FIG.
  • FIG. 10 is an example of syntax for dividing into tiles by a conventional method.
  • Tiles_enabled_flag is a flag indicating whether to divide a picture into tiles.
  • the header decoding unit 3020 decodes column_width_minus1 [i] indicating the width of each column minus 1, and row_height_minus1 [i] indicating the height of each row minus 1.
  • FIG. 9B is a diagram showing another example of a picture divided into tiles by a conventional method.
  • FIG. 9 shows an example of tile information (syntax) for dividing a picture as in (b) of FIG.
  • FIG. 11 shows another example of the syntax for dividing into tiles by the conventional method.
  • the subtile_height_minus1 indicating the value minus 1 is decoded.
  • the header decoding unit 3020 decodes use_previous_tile_size_flag indicating whether or not the tile size used immediately before is used as the tile size to be currently decoded, using number_of_tiles_in_picture_minus2.
  • the header decoding unit 3020 decodes the tile size without using the tile size used immediately before. That is, the width of each tile minus one is indicated. Decode tile_width_minus1 [i] and tile_height_minus1 [i] indicating the height minus 1 of each tile.
  • FIG. 12 is a diagram illustrating an example of a region and a tile in the present embodiment.
  • the header decoding unit 3020 decodes the height h and the width w of the picture 221 shown in FIG.
  • the region having the width w0 and the height h0 shown in FIG. 12B is decoded, and the width w1 and the height h1 of the region R1 are derived using the height h and the width w of the picture 221.
  • region IDs of R0 and R1 are assigned to the respective regions.
  • the header decoding unit 3020 decodes the width w00 and the height h00 of the tile obtained by dividing the region R0, and uses the width w0 and the height h0 of the region R0, The width w01 and the height h01 are derived.
  • tile IDs T00 to T03 are assigned to a plurality of tiles obtained by dividing the region R0.
  • the header decoding unit 3020 decodes the width w10, the heights h10, h11, and h12 of the tile obtained by dividing the region R1 to derive the width w11 and the height h13, as illustrated in (d) of FIG. .
  • tile IDs T10 to T17 are respectively assigned to a plurality of tiles obtained by dividing the region R1.
  • FIG. 13 is an example of syntax for dividing into regions and tiles in the present embodiment.
  • the syntax shown in FIG. 13 is a syntax in a case where a picture is vertically divided 0 times or 1 time and a picture is horizontally divided 1 time or 1 time.
  • num_region_rows_minus1 indicating (the number of rows after picture division minus one) is decoded.
  • the header decoding unit 3020 decodes, when num_region_columns_minus1 is greater than 0, in other words, when vertically dividing a picture, region_width_minus1 [0] indicating the width of the left region after division minus one.
  • region_width_minus1 indicating the width of the left region after division minus one.
  • region_height_minus1 indicating the height of the upper row after division minus one. In other words, the header decoding unit 3020 decodes information on the height and width of the upper left region.
  • the header decoding unit 3020 decodes region_width_minus1 [1] and region_height_minus1 [1] in the right column and lower row after division into regions, decodes the decoded region_width_minus1 [0] and region_height_minus1 [0], the width and height of the picture, Refer to and derive.
  • the header decoding unit 3020 refers to numRegions indicating the number of regions, and num_tile_columns_minus1 [r indicating the number of vertical divisions of the region (here, the number of tiles in the horizontal direction after the region division minus 1) for each region. ], Num_tile_rows_minus1 [r] indicating the number of horizontal divisions of the region (here, the number of tiles in the vertical direction after region division minus 1), and uniform_spacing_flag [r] indicating whether to divide the picture equally. Is decrypted.
  • the header decoding unit 3020 refers to num_tile_columns_minus1 [r], and indicates a column other than the column of the rightmost tile, and column_width_minus1 [ r] [i] is decoded. That is, the header decoding unit 3020 decodes column_width_minus1 [r] [i] indicating the width minus 1 of each column excluding the column of the rightmost tile among the tiles after the region division. The header decoding unit 3020 derives the column width of the rightmost tile with reference to the decoded column_width_minus1 [r] [i] and the previously decoded region_width_minus1 [0].
  • the header decoding unit 3020 further refers to num_tile_rows_minus1 [r], and indicates the height minus 1 of the i-th row from the top other than the row of the lowest tile.
  • the header decoding unit 3020 derives the row height of the lowest tile with reference to the decoded row_height_minus1 [r] [i] and the previously decoded region_hight_minus1 [0].
  • FIG. 14 is another example of the syntax for dividing into regions and tiles in the present embodiment.
  • the syntax shown in FIG. 14 is a generalization of the syntax shown in FIG.
  • the header decoding unit 3020 refers to the decoded region_width_minus1 [i] and the width of the picture, and refers to the width of the column of the rightmost region regionWidth [num_region_columns_minus1] (region_width_minus1 [num_region_columns_minus1] is minus the width of the column of the rightmost region minus 1) is derived.
  • FIG. 15 shows still another example of the syntax for dividing into regions and tiles.
  • the syntax shown in FIG. 15 is a syntax in a case where the syntax shown in FIG. 14 has a dependency between tiles in a region.
  • the processing up to the decoding of the row_height_minus1 [r] [i] shown is the same as the processing described with reference to FIGS. 13 and 14, and a description thereof will be omitted.
  • the header decoding unit 3020 calculates the number obtained by adding 1 to num_tile_columns_minus1 [r] (that is, the number of columns after region division) and the number obtained by adding 1 to num_tile_rows_minus1 [r] (that is, the number of rows after region division). Calculate the product and derive NumTile [r] indicating the number of tiles.
  • the header decoding unit 3020 decodes a flag tile_dependency_flag [r] [i] [j] indicating whether or not each tile depends on another tile with reference to NumTile [r].
  • the header decoding unit 3020 refers to NumTile [r], and determines whether or not the tile indicated by the index i of the region r depends on the tile indicated by the index j of the region r tile_dependency_flag [r ] [i] [j] is decoded.
  • FIG. 16 shows still another example of the syntax for dividing into regions and tiles.
  • the syntax shown in FIG. 16 is a syntax in a case where the syntax shown in FIG. 14 has a dependency between regions.
  • the process up to the decoding of row_height_minus1 [r] [i] is the same as that described with reference to FIGS.
  • the header decoding unit 3020 decodes the flag region_dependency_flag [r] [j] indicating whether the region r depends on the region j. If the region r depends on the region j, the tile l with the region r can refer to the tile m with the region j. For example, the current picture including the region r is included in the reference picture list when decoding a certain tile m in the region j. That is, when region_dependency_flag [r] [j] is 1, header decoding section 3020 adds the current picture to the reference picture list. In a configuration in which the reference picture list is derived from the reference picture set, a configuration may be adopted in which the current picture is added as a reference picture set of a tile m having a region j.
  • FIG. 17 is a diagram illustrating the content of each syntax. Each syntax will be described with reference to FIG.
  • numRegionColumns indicating the number of regions in the horizontal direction
  • numRegionRows indicating the number of regions in the vertical direction
  • the header decoding unit 3020 outputs the region_width_minus1 [0] indicating the width of the first region R0 minus 1 (here, The syntax that indicates the vertical division position is decoded, and region_width_minus1 [1] indicating the width of the second region R1 minus 1 is derived with reference to the decoded region_width_minus1 [0] and the width of the picture.
  • region_width_minus1 [0] indicating the width of the first region R0 minus 1
  • region_width_minus1 [1] indicating the width of the second region R1 minus 1 is derived with reference to the decoded region_width_minus1 [0] and the width of the picture.
  • region_width_minus1 [0] is expressed in CTU units
  • regionWidth [0] indicating the width of region R0
  • regionWidth [0] region_width_minus1 [0] +1
  • regionWidth [1] indicating the width of the region R1
  • regionWidth [1] picWidth-regionWidth [0].
  • picWidth is a parameter indicating the width of a picture in CTU units. Note that region_width_minus1 [0] and picWidth are not limited to CTU units.
  • FIG. 17B shows that the picture is horizontally divided once so that the picture is divided into the first region (upper region, height region_height_minus1 [0]) and the second region (lower region, height) It is a figure which shows the example divided
  • numRegionColumns indicating the number of regions in the horizontal direction
  • numRegionRows indicating the number of regions in the vertical direction
  • the header decoding unit 3020 outputs the region_height_minus1 [0] indicating the height minus 1 of the first region R0 (here, , The syntax indicating the position to be horizontally divided), and referring to the decoded region_height_minus1 [0] and the height of the picture, the height of the second region R2 (here, region_height_minus1 indicating the height minus 1) [1]) is derived.
  • the number of regions numRegionColumns in the vertical division of a picture is 1, the syntax indicating the width of the region R0 and the region R2 is omitted and decoding is not performed.
  • region_hight_minus1 [0] is represented in CTU units
  • regionHeight [0] region_hight_minus1 [0] +1
  • regionHeight [1] indicating the height of the region R2
  • regionHeight [1] picHeight-regionHeight [0].
  • picHeight is a parameter indicating the height of the picture in CTU units. Note that region_height_minus1 [0] and picHeight are not limited to CTU units.
  • numRegionColumns indicating the number of regions in the horizontal direction
  • numRegionRows indicating the number of regions in the vertical direction
  • the header decoding unit 3020 determines the width of the upper left region R0. Region_width_minus1 [0] indicating minus 1 and the height of region R0 (here, region_height_minus1 [0] indicating height minus 1) are decoded. Then, the header decoding unit 3020 refers to the decoded region_width_minus1 [0] and the width of the picture to derive the width of the right region R1 and the region R3 (here, region_width_minus1 [1] indicating the width minus 1). .
  • header decoding unit 3020 refers to the decoded region_height_minus1 [0] and the height of the picture, and refers to the height of the lower region R2 and the region R3 (here, region_height_minus1 [1] indicating the height minus 1). Is derived.
  • the header decoding unit 3020 decodes region_width_minus1 [0] to region_width_minus1 [numRegionColumns-2] when numRegionColumns is 2 or more, and, when numRegionRows is 2 or more, region_height_minus1 [0] to region_height_minus1 [ Decode numRegionRows-2]. Furthermore, the header decoding unit 3020 derives region_width_minus1 [M-1] and region_height_minus1 [numRegionRows-1] from the decoded size of each region and the width and height of the picture.
  • [r] indicating that the tile is a tile in the region r is attached to the parameter (num_tile_columns_minus1, num_tile_rows_minus1, etc.) in each syntax, and the size is changed to the picture size. Except for using the width and height of the region r, this is the same as the conventional tile division method.
  • tile_dependency_flag [r] [i] [j] is a flag indicating a dependency between tiles.
  • tile_dependency_flag [r] [i] [j] may be a flag indicating whether tile i may refer to tile j (j ⁇ i) (FIG. 16). Since there is no dependency between the regions, tile_dependency_flag [r] [i] [j] is a flag indicating the dependency of the tiles i and j in the tiles in the region r.
  • the tile i with the region r can refer to the tile j with the same region r.
  • the current picture including the region r is included in the reference picture list when decoding a certain tile i in the region r. That is, when region_dependency_flag [r] [i] [j] is 1, the header decoding unit 3020 adds the current picture to the reference picture list.
  • the current picture may be added as the reference picture set of the tile i having the region r.
  • region_dependency_flag [r] [j] is a flag indicating dependency between regions ⁇ (FIG. 16).
  • region_dependency_flag [r] [j] may be a flag indicating whether or not region r may refer to region j (j ⁇ r).
  • the header decoding unit 3020 can process all the tiles in the region in parallel. If the region r depends on the region j, the tile l with the region r can refer to the tile m with the region j.
  • the current picture which is a picture of the region r, is included in the reference picture list when a certain tile l of the region r is decoded.
  • header decoding section 3020 adds the current picture to the reference picture list.
  • the reference picture list is derived from the reference picture set
  • a configuration may be employed in which the current picture is added as a reference picture set of a tile 1 having a region r.
  • the video decoding device 31 divides a picture into a plurality of regions (first partial regions), and divides at least one of the regions into a plurality of tiles (second partial regions). Therefore, the moving picture decoding apparatus 31 divides a picture into tiles by dividing the picture twice, thereby increasing the degree of freedom in dividing the picture into tiles. Further, since the number of tiles adjacent to one side of the tile is equal in the region, it is easy to specify the tile to be referred even when the tiles have a dependency. In addition, since the region is divided into tiles by dividing vertically and horizontally, the tile has a rectangular shape, and the tile is divided within the picture, so that the picture can be appropriately divided into tiles.
  • the picture width is 6, the height is 3, the width of T0 is 1, the height is 1, the width of T1 is 3, the height is 2, and the width of T2 is a CTU in units of CTU. Is 2 and the height is 2, T3 has a maximum width of 1 and a maximum height of 2. Therefore, T3 can be appropriately arranged by providing the maximum values for the width and the height.
  • the CTU is used as the unit of the size of the tile, the present invention is not limited to this.
  • a configuration may be employed in which the size of a tile is specified in units of luminance pixels.
  • a rectangle serving as a tile unit is referred to as a subtile.
  • the maximum width of each tile is determined from the position of the start point of each tile (in other words, when a sub-tile is raster-scanned, the first position where no tile is arranged; hereinafter, referred to as a “start-point sub-tile”) (for example, from the scan direction).
  • start-point sub-tile the first position where no tile is arranged
  • the position is the first arranged subtile (another area) in the order of the rightward direction, or the end of the picture up to the first found position.
  • the maximum width of T1 is 5
  • the maximum width of T2 is 2.
  • the maximum height of each tile is the length from the starting sub-tile of each tile to the picture end in the scanning direction (for example, downward when scanning rightward from the upper left position of the picture).
  • the maximum height of T1 is 3 and the maximum height of T4 is 1.
  • variable length decoding with a maximum value in which the maximum value of the variable length code is set.
  • code amount of the tile size can be reduced.
  • FIG. 21 is an example of a syntax in which the division of a tile is restricted.
  • the process from decoding the tiles_enabled_flag to decoding the use_previous_tile_size_flag by the header decoding unit 3020 is the same as the above-described process, and a description thereof will be omitted.
  • the header decoding unit 3020 sets previous_width indicating the width of the immediately preceding tile and previous_height indicating the height of the immediately preceding tile as tile_width and tile_height.
  • previous_width * previous_height> maxTileArea [i] maxTileArea [i] is the maximum that can be set for tile i. If it satisfies at least one of the following (which indicates the area, details will be described later), the width and height of the immediately preceding tile cannot be used. Therefore, when at least one of the above (1) to (3) is satisfied, the header decoding unit 3020 may omit use_previous_tile_size_flag decoding.
  • T1 can use a maximum of 8 subtiles because the starting subtile is the upper right of T0. Therefore, for example, if the width of T1 is 3, the maximum value of the height of T1 is 2. That is, the maximum value of the height can be restricted according to the number of subtiles that can be used by the tile (in other words, the area of the tile) and the width of the tile. In this case, when the last tile T4 has a rectangular shape, decoding of the encoded data having the width and height of T4 can be omitted.
  • FIG. 21 is used for the specific syntax.
  • FIG. 22 shows another example of the syntax in which the division of the tile is restricted.
  • the process from decoding the tiles_enabled_flag to decoding the use_previous_tile_size_flag by the header decoding unit 3020 is the same as the above-described process, and a description thereof will be omitted.
  • the header decoding unit 3020 determines whether (1) number_of_tiles_in_picture_minus2 + 1 is not i (that is, if i is not the last tile), or (2) the product of maxTileWidth [i] and maxTileHeight [i] is maxTileArea [i MaxTileWidth if any of the following conditions is satisfied: (i.e., the product of the maximum value of the configurable tile i and the maximum value of the height is not equal to the maximum area of the configurable tile i). It is determined whether or not [i] is greater than 1.
  • the header decoding unit 3020 When determining that maxTileWidth [i] is greater than 1, the header decoding unit 3020 performs variable-length decoding with maximum value in which the maximum value of the variable-length code is set for tile_width_minus2 [i] indicating the width of tile i minus 2.
  • the header decoding unit 3020 determines whether or not maxTileHeight [i] is larger than 1. When determining that maxTileHeight [i] is greater than 1, the header decoding unit 3020 performs variable-length decoding with a maximum value, in which the maximum value of the variable-length code is set, for tile_height_minus1 [i] indicating the height of the tile i minus 2.
  • maxTileArea [i] indicates the maximum area (in units of subtiles) that can be set for tile i.
  • the header decoding unit 3020 uses the value of tile_width_minus1 [i] and the maximum area that can be set for tile i to obtain maxTileHeight [i]. May be updated.
  • Variable length decoding with maximum value with maximum value of variable length code set Variable length decoding with a maximum value in which the maximum value of the variable length code is set will be described with reference to FIGS.
  • variable length coding using ordinary unary binarization if the value is an integer X, 1 is encoded as many as X and finally 0 is encoded.
  • (B) of FIG. 23 is a table showing normal unary binarization.
  • the input value (symVal) is binarized into a prefix part and a suffix part.
  • suffixVal symVal- (prefixVal ⁇ cRiceParam). That is, the suffix value suffixVal is a remainder obtained by dividing the input value symVal by 2 ⁇ cRiceParam.
  • FIG. 24B is a table showing the case of the truncated rice binarization.
  • CMax 8
  • cRiceParam 1.
  • the suffix is not coded when the prefix is 0, so that the entire representation is performed.
  • the number of possible values can be 9 (cMax + 1). In this way, data exceeding the maximum value cMax is prevented from being encoded.
  • the prefix value and the suffix value are obtained as follows.
  • the video decoding device 31 divides a picture into tiles (regions), decodes a header included in encoded data obtained by encoding the picture, and generates a decoded image for each divided tile.
  • the syntax (information) indicating the width and height of the tile is decoded by variable length decoding with the maximum value in which the maximum value of the variable length code is set. Therefore, the moving image decoding device 31 can restrict the width, height, area, and the like in the tile division, and cannot perform the tile division in the prohibited method. Can be.
  • Variable length decoding with maximum value with maximum value of variable length code set Variable length decoding with a maximum value in which the maximum value of the variable length code is set will be described with reference to FIGS.
  • variable length coding using ordinary unary binarization if the value is an integer X, 1 is encoded as many as X and finally 0 is encoded.
  • (B) of FIG. 23 is a table showing normal unary binarization.
  • the input value (symVal) is binarized into a prefix part and a suffix part.
  • suffixVal symVal- (prefixVal ⁇ cRiceParam). That is, the suffix value suffixVal is a remainder obtained by dividing the input value symVal by 2 ⁇ cRiceParam.
  • FIG. 24B is a table showing the case of the truncated rice binarization.
  • CMax 8
  • cRiceParam 1.
  • the suffix is not coded when the prefix is 0, so that the entire representation is performed.
  • the number of possible values can be 9 (cMax + 1). In this way, data exceeding the maximum value cMax is prevented from being encoded.
  • the prefix value and the suffix value are obtained as follows.
  • the video decoding device 31 divides a picture into tiles (regions), decodes a header included in encoded data obtained by encoding the picture, and generates a decoded image for each divided tile.
  • the syntax (information) indicating the width and height of the tile is decoded by variable length decoding with the maximum value in which the maximum value of the variable length code is set. Therefore, the moving image decoding device 31 can restrict the width, height, area, and the like in the tile division, and cannot perform the tile division in the prohibited method. Can be.
  • FIG. 6 is a block diagram showing a configuration of the video encoding device 11 according to the present embodiment.
  • the moving picture coding apparatus 11 includes a prediction image generation unit 101, a subtraction unit 102, a transformation / quantization unit 103, an inverse quantization / inverse transformation unit 105, an addition unit 106, a loop filter 107, a prediction parameter memory (a prediction parameter storage unit) , A frame memory) 108, a reference picture memory (reference image storage unit, frame memory) 109, an encoding parameter determination unit 110, a parameter encoding unit 111 (image encoding unit, division unit), and an entropy encoding unit 104. Be composed.
  • the predicted image generation unit 101 generates a predicted image for each CU which is an area obtained by dividing each picture of the image T.
  • the operation of the predicted image generation unit 101 is the same as that of the predicted image generation unit 308 described above, and a description thereof will be omitted.
  • the subtraction unit 102 generates a prediction error by subtracting the pixel value of the predicted image of the block input from the predicted image generation unit 101 from the pixel value of the image T. Subtraction section 102 outputs the prediction error to transform / quantization section 103.
  • Transform / quantization section 103 calculates a transform coefficient by frequency transformation with respect to the prediction error input from subtraction section 102, and derives a quantized transform coefficient by quantization. Transform / quantization section 103 outputs the quantized transform coefficient to entropy encoding section 104 and inverse quantization / inverse transform section 105.
  • the inverse quantization / inverse transformation unit 105 is the same as the inverse quantization / inverse transformation unit 311 (FIG. 4) in the video decoding device 31, and the description is omitted.
  • the calculated prediction error is output to addition section 106.
  • the quantized transform coefficient is input from the transform / quantization unit 103 to the entropy coding unit 104, and the coding parameters are input from the parameter coding unit 111.
  • the coding parameters include codes such as a reference picture index refIdxLX, a prediction vector index mvp_LX_idx, a difference vector mvdLX, a prediction mode predMode, and a merge index merge_idx.
  • the entropy coding unit 104 generates and outputs a coded stream Te by performing entropy coding on the division information, the prediction parameters, the quantized transform coefficients, and the like.
  • the parameter coding unit 111 includes an inter prediction parameter coding unit 112 and an intra prediction parameter coding unit 113.
  • the parameter encoding unit 111 includes a header encoding unit 1110, a CT information encoding unit 1111, a CU encoding unit 1112 (prediction mode encoding unit), an entropy encoding unit 104, and an inter prediction parameter encoding unit 112 (not shown).
  • An intra prediction parameter coding unit 113 is provided.
  • the CU encoding unit 1112 further includes a TU encoding unit 1114.
  • the parameter encoding unit 111 performs an encoding process on parameters such as header information, division information, prediction information, and quantized transform coefficients. That is, the parameter encoding unit 111 encodes the division information (tile information).
  • the CT information encoding unit 1111 encodes QT, MT (BT, TT) division information and the like from the encoded data.
  • CU encoding section 1112 encodes CU information, prediction information, TU division flag split_transform_flag, CU residual flag cbf_cb, cbf_cr, cbf_luma, and the like.
  • TU encoding section 1114 encodes QP update information (quantization correction value) and quantization prediction error (residual_coding) when the TU includes a prediction error.
  • the entropy encoding unit 104 converts the syntax element supplied from the source into binary data, generates encoded data by an entropy encoding method such as CABAC, and outputs the encoded data.
  • the source of the syntax element is a CT information encoding unit 1111 and a CU encoding unit 1112.
  • Syntax elements are inter prediction parameters (predMode predMode, merge flag merge_flag, merge index merge_idx, inter prediction identifier inter_pred_idc, reference picture index refIdxLX, prediction vector index mvp_LX_idx, difference vector mvdLX), intra prediction parameters (prev_intra_luma_pred_flag, mp_selected , Rem_selected_mode, rem_non_selected_mode,), quantized transform coefficients, and the like.
  • inter prediction parameters predMode predMode, merge flag merge_flag, merge index merge_idx, inter prediction identifier inter_pred_idc, reference picture index refIdxLX, prediction vector index mvp_LX_idx, difference vector mvdLX
  • intra prediction parameters prev_intra_luma_pred_flag, mp_selected , Rem_selected_mode, rem_non_s
  • the inter prediction parameter coding unit 112 derives the inter prediction parameters based on the prediction parameters input from the coding parameter determination unit 110.
  • Inter prediction parameter coding section 112 includes a configuration that is partially the same as the configuration in which inter prediction parameter decoding section 303 derives the inter prediction parameters.
  • the configuration of the inter prediction parameter coding unit 112 will be described. As shown in FIG. 7, the configuration includes a parameter encoding control unit 1121, an AMVP prediction parameter derivation unit 1122, a subtraction unit 1123, a sub-block prediction parameter derivation unit 1125, and the like.
  • the parameter coding control unit 1121 includes a merge index deriving unit 11211 and a vector candidate index deriving unit 11212.
  • the merge index deriving unit 11211, the vector candidate index deriving unit 11212, the AMVP prediction parameter deriving unit 1122, and the sub-block prediction parameter deriving unit 1125 may be collectively referred to as a motion vector deriving unit (motion vector deriving device).
  • the inter prediction parameter coding unit 112 outputs the motion vector (mvLX, subMvLX), the reference picture index refIdxLX, the inter prediction identifier inter_pred_idc, or information indicating these to the predicted image generation unit 101. Further, the inter prediction parameter encoding unit 112, merge flag merge_flag, merge index merge_idx, inter prediction identifier inter_pred_idc, reference picture index refIdxLX, prediction vector index mvp_lX_idx, difference vector mvdLX, sub block prediction mode flag subPbMotionFlag to the entropy encoding unit 104 Output.
  • the merge index deriving unit 11211 compares the motion vector and the reference picture index input from the coding parameter determination unit 110 with the motion vector and the reference picture index of the merge candidate block read from the prediction parameter memory 108, and performs merging.
  • the index merge_idx is derived and output to the entropy coding unit 104.
  • a merge candidate is a reference block (for example, a block adjacent to the left end, the lower left end, the upper left end, the upper end, the upper right end of the target block) within a predetermined range from the target CU, and is a block for which the encoding process is completed. is there.
  • the vector candidate index deriving unit 11212 derives a predicted vector index mvp_lX_idx.
  • the AMVP prediction parameter deriving unit 1122 derives a prediction vector mvpLX based on the motion vector mvLX.
  • AMVP prediction parameter derivation section 1122 outputs prediction vector mvpLX to subtraction section 1123. Note that the reference picture index refIdxLX and the prediction vector index mvp_lX_idx are output to the entropy coding unit 104.
  • the subtraction unit 1123 generates a difference vector mvdLX by subtracting the prediction vector mvpLX output from the AMVP prediction parameter derivation unit 1122 from the motion vector mvLX input from the coding parameter determination unit 110.
  • the difference vector mvdLX is output to entropy coding section 104.
  • the intra prediction parameter coding unit 113 derives a coding format (for example, mpm_idx, rem_intra_luma_pred_mode, etc.) from the intra prediction mode IntraPredMode input from the coding parameter determination unit 110.
  • the intra prediction parameter coding unit 113 includes a part of the same configuration as the configuration in which the intra prediction parameter decoding unit 304 derives the intra prediction parameters.
  • FIG. 8 is a schematic diagram showing a configuration of the intra prediction parameter encoding unit 113 of the parameter encoding unit 111.
  • the intra prediction parameter coding unit 113 includes a parameter coding control unit 1131, a luminance intra prediction parameter derivation unit 1132, and a chrominance intra prediction parameter derivation unit 1133.
  • the parameter prediction control unit 1131 receives the luminance prediction mode IntraPredModeY and the color difference prediction mode IntraPredModeC from the coding parameter determination unit 110.
  • the parameter coding control unit 1131 determines the prev_intra_luma_pred_flag with reference to the MPM candidate list mpmCandList [] of the reference candidate list deriving unit 30421. Then, it outputs prev_intra_luma_pred_flag and luminance prediction mode IntraPredModeY to luminance intra prediction parameter deriving section 1132. Further, it outputs the color difference prediction mode IntraPredModeC to the color difference intra prediction parameter deriving unit 1133.
  • the luminance intra prediction parameter deriving unit 1132 includes an MPM candidate list deriving unit 30421 (candidate list deriving unit), an MPM parameter deriving unit 11322, and a non-MPM parameter deriving unit 11323 (encoding unit, deriving unit). You.
  • the MPM candidate list deriving unit 30421 derives the MPM candidate list mpmCandList [] with reference to the intra prediction mode of the adjacent block stored in the prediction parameter memory.
  • prev_intra_luma_pred_flag is 1
  • the MPM parameter deriving unit 11322 derives mpm_idx from the luminance prediction mode IntraPredModeY and the MPM candidate list mpmCandList [], and outputs it to the entropy encoding unit 104.
  • non-MPM parameter deriving section 11323 derives RemIntraPredMode from luminance prediction mode IntraPredModeY and MPM candidate list mpmCandList [], and outputs rem_selected_mode or rem_non_selected_mode to entropy encoding section 104.
  • the chrominance intra prediction parameter deriving unit 1133 derives not_dm_chroma_flag, not_lm_chroma_flag, and chroma_intra_mode_idx from the luminance prediction mode IntraPredModeY and the chrominance prediction mode IntraPredModeC, and outputs them.
  • the addition unit 106 generates a decoded image by adding the pixel value of the prediction image of the block input from the prediction image generation unit 101 and the prediction error input from the inverse quantization / inverse conversion unit 105 for each pixel.
  • the adding unit 106 stores the generated decoded image in the reference picture memory 109.
  • the loop filter 107 applies a deblocking filter, SAO, and ALF to the decoded image generated by the adding unit 106.
  • the loop filter 107 does not necessarily need to include the above three types of filters, and may have, for example, a configuration including only a deblocking filter.
  • the prediction parameter memory 108 stores the prediction parameters generated by the coding parameter determination unit 110 at a position predetermined for each of the target picture and the CU.
  • the reference picture memory 109 stores the decoded image generated by the loop filter 107 at a predetermined position for each target picture and CU.
  • the coding parameter determination unit 110 selects one set from a plurality of sets of coding parameters.
  • the coding parameter is the above-described QT, BT, or TT division information, a prediction parameter, or a parameter to be coded that is generated in association with them.
  • the predicted image generation unit 101 generates a predicted image using these encoding parameters.
  • the coding parameter determination unit 110 calculates the RD cost value indicating the magnitude of the information amount and the coding error for each of the plurality of sets.
  • the RD cost value is, for example, a sum of a code amount and a value obtained by multiplying a square error by a coefficient ⁇ .
  • the code amount is the information amount of the coded stream Te obtained by entropy coding the quantization error and the coding parameter.
  • the square error is the sum of squares of the prediction error calculated by the subtraction unit 102.
  • the coefficient ⁇ is a real number larger than a preset zero.
  • the coding parameter determination unit 110 selects a set of coding parameters that minimizes the calculated cost value. As a result, the entropy coding unit 104 outputs the selected set of coding parameters as a coded stream Te.
  • the coding parameter determination unit 110 stores the determined coding parameter in the prediction parameter memory 108.
  • the entropy decoding unit 301 the parameter decoding unit 302, the loop filter 305, the predicted image generation unit 308, the inverse quantization / inverse Transformer 311, adder 312, predicted image generator 101, subtractor 102, transform / quantizer 103, entropy encoder 104, inverse quantizer / inverse transformer 105, loop filter 107, encoding parameter determiner 110
  • the parameter encoding unit 111 may be realized by a computer.
  • a program for realizing this control function may be recorded on a computer-readable recording medium, and the program recorded on this recording medium may be read and executed by a computer system.
  • the “computer system” is a computer system built in either the moving picture encoding device 11 or the moving picture decoding device 31, and includes an OS and hardware such as peripheral devices.
  • the “computer-readable recording medium” refers to a portable medium such as a flexible disk, a magneto-optical disk, a ROM, and a CD-ROM, and a storage device such as a hard disk built in a computer system.
  • the "computer-readable recording medium” is a medium that dynamically holds the program for a short time, such as a communication line for transmitting the program through a network such as the Internet or a communication line such as a telephone line,
  • a program holding a program for a certain period of time such as a volatile memory in a computer system serving as a server or a client, may be included.
  • the program may be for realizing a part of the functions described above, or may be for realizing the functions described above in combination with a program already recorded in the computer system.
  • a part or all of the moving image encoding device 11 and the moving 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 video encoding device 11 and the video decoding device 31 may be individually implemented as a processor, or a part or all thereof may be integrated and implemented as a processor.
  • the method of circuit integration is not limited to an LSI, and may be realized by a dedicated circuit or a general-purpose processor. Further, in the case where a technology for forming an integrated circuit that replaces the LSI appears due to the progress of semiconductor technology, an integrated circuit based on the technology may be used.
  • the above-described moving image encoding device 11 and moving image decoding device 31 can be used by being mounted on various devices that transmit, receive, record, and reproduce moving images.
  • the moving image may be a natural moving image captured by a camera or the like, or may be an artificial moving image (including CG and GUI) generated by a computer or the like.
  • FIG. 18 (a) is a block diagram showing a configuration of a transmission device PROD_A equipped with the video encoding device 11.
  • the transmission device PROD_A is a coding unit PROD_A1 that obtains coded data by coding a moving image, and modulates a carrier with coded data obtained by the coding unit PROD_A1.
  • a transmitting section PROD_A3 for transmitting the modulated signal obtained by the modulating section PROD_A2.
  • the above-described video encoding device 11 is used as the encoding unit PROD_A1.
  • the transmitting device PROD_A is a camera PROD_A4 that captures a moving image, a recording medium PROD_A5 that records the moving image, an input terminal PROD_A6 for externally inputting the moving image, as a supply source of the moving image to be input to the encoding unit PROD_A1, and , An image processing unit A7 for generating or processing an image.
  • FIG. 18 (a) illustrates a configuration in which the transmitting device PROD_A includes all of them, but a part thereof may be omitted.
  • the recording medium PROD_A5 may be a recording of a moving image that is not encoded, or may record a moving image encoded by a recording encoding method different from the transmission encoding method. It may be something. In the latter case, a decoding unit (not shown) that decodes the encoded data read from the recording medium PROD_A5 in accordance with the encoding method for recording may be interposed between the recording medium PROD_A5 and the encoding unit PROD_A1.
  • FIG. 18B is a block diagram showing a configuration of a receiving device PROD_B equipped with the video decoding device 31.
  • the receiving device PROD_B includes a receiving unit PROD_B1 for receiving a modulated signal, a demodulating unit PROD_B2 for obtaining encoded data by demodulating the modulated signal received by the receiving unit PROD_B1, and a demodulating unit.
  • a decoding unit PROD_B3 for obtaining a moving image by decoding the encoded data obtained by the PROD_B2.
  • the above-described video decoding device 31 is used as the decoding unit PROD_B3.
  • the receiving device PROD_B has a display PROD_B4 for displaying a moving image, a recording medium PROD_B5 for recording the moving image, and an output terminal for outputting the moving image to the outside, as a supply destination of the moving image output by the decoding unit PROD_B3.
  • PROD_B6 may be further provided.
  • FIG. 18 (b) the configuration in which the receiving device PROD_B includes all of them is illustrated, but a part thereof may be omitted.
  • the recording medium PROD_B5 may be for recording a moving image that is not encoded, or may be encoded using a recording encoding method different from the transmission encoding method. You may. In the latter case, an encoding unit (not shown) that encodes the moving image obtained from the decoding unit PROD_B3 according to the encoding method for recording may be interposed between the decoding unit PROD_B3 and the recording medium PROD_B5.
  • the transmission medium for transmitting the modulated signal may be wireless or wired.
  • the transmission mode for transmitting the modulated signal may be broadcast (here, a transmission mode in which the transmission destination is not specified in advance) or communication (here, transmission in which the transmission destination is specified in advance). (Which refers to an embodiment). That is, transmission of the modulated signal may be realized by any of wireless broadcasting, wired broadcasting, wireless communication, and wired communication.
  • a terrestrial digital broadcast station such as a broadcasting facility
  • a receiving station such as a television receiver
  • a transmitting device PROD_A / receiving device PROD_B that transmits and receives a modulated signal by wireless broadcasting.
  • a broadcasting station (broadcasting facility or the like) / receiving station (television receiver or the like) 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.
  • Servers workstations, etc.
  • Clients television receivers, personal computers, smartphones, etc.
  • VOD Video On Demand
  • video sharing services using the Internet are transmitters that transmit and receive modulated signals by 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 includes a multifunctional mobile phone terminal.
  • the client of the moving image sharing service has a function of decoding encoded data downloaded from the server and displaying the encoded data on a display, and a function of encoding a moving image captured by a camera and uploading the encoded moving image to the server. That is, the client of the moving image sharing service functions as both the transmitting device PROD_A and the receiving device PROD_B.
  • FIG. 19 (a) is a block diagram showing a configuration of a recording device PROD_C in which the above-described video encoding device 11 is mounted.
  • the recording device PROD_C writes the encoded data obtained by the encoding unit PROD_C1 and the encoding unit PROD_C1 onto the recording medium PROD_M, by encoding the moving image to obtain encoded data.
  • the video encoding device 11 described above is used as the encoding unit PROD_C1.
  • the recording medium PROD_M may be (1) a type built in the recording device PROD_C such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive), or (2) an SD memory. It may be of a 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) Such as a trademark, for example, may be loaded in a drive device (not shown) built in the recording device PROD_C.
  • a type built in the recording device PROD_C such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive)
  • an 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)
  • DVD Digital Versatile Disc
  • BD Blu-ray Disc: Registration
  • the recording device PROD_C includes a camera PROD_C3 for capturing a moving image, an input terminal PROD_C4 for externally inputting a moving image, and a reception terminal for receiving the moving image, as a supply source of the moving image to be input to the encoding unit PROD_C1.
  • a unit PROD_C5 and an image processing unit PROD_C6 for generating or processing an image may be further provided.
  • FIG. 19 (a) illustrates a configuration in which all of these are included in the recording device PROD_C, but some may be omitted.
  • the receiving unit PROD_C5 may receive an uncoded moving image, or may receive coded data coded by a transmission coding method different from the recording coding method. May be used. In the latter case, a transmission decoding unit (not shown) for decoding encoded data encoded by the transmission encoding method may be interposed between the receiving 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 receiving unit PROD_C5 is a main source of moving images). .
  • a camcorder in this case, the camera PROD_C3 is a main source of moving images
  • a personal computer in this case, the receiving unit PROD_C5 or the image processing unit C6 is a main source of moving images
  • a smartphone this In this case, the camera PROD_C3 or the receiving unit PROD_C5 is a main source of the moving image
  • the like are also examples of such a recording device PROD_C.
  • FIG. 19B is a block diagram illustrating a configuration of a playback device PROD_D including the above-described video decoding device 31.
  • the playback device PROD_D obtains a moving image by reading a coded data read by the reading unit PROD_D1 and a coded data read by the reading unit PROD_D1.
  • the above-described video decoding device 31 is used as the decoding unit PROD_D2.
  • the recording medium PROD_M may be (1) a type built in the playback device PROD_D, such as an HDD or SSD, or (2) a type such as an SD memory card or a USB flash memory. It may be a type connected to the playback device PROD_D, or (3) a device such as a DVD or a BD that is loaded into a drive device (not shown) built in the playback device PROD_D. Good.
  • the playback device PROD_D has a display PROD_D3 for displaying a moving image, an output terminal PROD_D4 for outputting the moving image to the outside, and a supply destination of the moving image output from the decoding unit PROD_D2, and A transmission unit PROD_D5 for transmitting a moving image may be further provided.
  • FIG. 19 (b) illustrates a configuration in which the playback device PROD_D has all of these components, but a portion of the configuration may be omitted.
  • the transmitting unit PROD_D5 may transmit an uncoded moving image, or may transmit coded data coded by a transmission coding method different from the recording coding method. May be used. In the latter case, an encoding unit (not shown) for encoding a moving image using a transmission encoding method may be interposed between the decoding unit PROD_D2 and the transmission unit PROD_D5.
  • Such a playback device PROD_D includes, for example, a DVD player, a BD player, an HDD player, and the like (in this case, an output terminal PROD_D4 to which a television receiver or the like is connected is a main destination of a moving image).
  • an output terminal PROD_D4 to which a television receiver or the like is connected is a main destination of a moving image.
  • a television receiver in this case, the display PROD_D3 is a main supply destination of a moving image
  • a digital signage also referred to as an electronic signboard or an electronic bulletin board
  • the display PROD_D3 or the transmission unit PROD_D5 is a main supply of the moving image.
  • Desktop PC in this case, the output terminal PROD_D4 or the transmission unit PROD_D5 is the main supply destination of moving images
  • laptop or tablet PC in this case, the display PROD_D3 or the transmission unit PROD_D5 is a moving image A main supply destination of an image
  • a smartphone in this case, the display PROD_D3 or the transmission unit PROD_D5 is a main supply destination of a moving image
  • a playback device PROD_D are also examples of such a playback device PROD_D.
  • Each block of the video decoding device 31 and the video 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) may be implemented as software.
  • IC chip integrated circuit
  • CPU Central Processing
  • Unit Central Processing Unit
  • each of the above devices includes a CPU that executes the instructions of a program that realizes each function, a ROM (Read Only Memory) that stores the program, a RAM (Random Access Memory) that expands the program,
  • a storage device (recording medium) such as a memory for storing data is provided.
  • An object of an embodiment of the present invention is to record a program code (executable program, intermediate code program, source program) of a control program of each device, which is software for realizing the above-described functions, in a computer-readable manner.
  • the present invention can also be achieved by supplying a medium to each of the above-described devices and causing a computer (or a CPU or an MPU) to read out and execute a program code recorded on a recording medium.
  • Examples of the recording medium include tapes such as a magnetic tape and a cassette tape, magnetic disks such as a floppy (registered trademark) disk / hard disk, and CD-ROMs (Compact Disc-Read-Only Memory) / MO disks (Magneto-Optical discs).
  • tapes such as a magnetic tape and a cassette tape
  • magnetic disks such as a floppy (registered trademark) disk / hard disk
  • CD-ROMs Compact Disc-Read-Only Memory
  • MO disks Magnetic-Optical discs
  • IC cards including memory cards
  • Cards such as optical cards
  • logic circuits such as an FPGA (Field Programmable Gate Array).
  • each of the devices may be configured to be connectable to a communication network, and the program code may be supplied via the communication network.
  • This communication network is not particularly limited as long as it can transmit a program code.
  • Internet intranet, extranet, LAN (Local Area Network), ISDN (Integrated Services Digital Network), VAN (Value-Added Network), CATV (Community Antenna television / Cable Television) communication network, virtual private network (Virtual Private Network) Network), a telephone line network, a mobile communication network, a satellite communication network, and the like.
  • the transmission medium constituting this communication network may be any medium capable of transmitting the program code, and is not limited to a specific configuration or type.
  • 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.
  • An image decoding device (moving image decoding device 31) according to aspect 1 of the present invention includes a dividing unit (header decoding unit 3020) for dividing a picture, and a decoded image for generating a decoded image for each region divided by the dividing unit.
  • a generating unit (parameter decoding unit 302), wherein the dividing unit divides the picture into a plurality of first partial regions (regions), and converts at least one of the first partial regions into a plurality of first partial regions. It is divided into a second partial area (tile).
  • the image decoding device can increase the degree of freedom of division into tiles and appropriately divide a picture into tiles.
  • the division unit in aspect 1 refers to information (num_region_columns_minus1, num_region_rows_minus1) indicating the number of divisions of the picture into at least one of the vertical direction and the horizontal direction, and The picture may be divided into the first partial area.
  • the image decoding device can appropriately divide a picture into regions.
  • the division unit in aspect 2 includes information (region_width_minus1 [) indicating the width and height of at least one of the plurality of first partial areas. i] and region_height_minus1 [i]), the picture may be divided into the plurality of first partial areas.
  • the image decoding device can appropriately divide a picture into regions.
  • the division unit according to any one of the aspects 1 to 3 divides at least one of the plurality of first partial regions into at least one of a vertical direction and a horizontal direction. With reference to information indicating the number (num_tile_columns_minus1 [r], num_tile_rows_minus1 [r]), at least one of the plurality of first partial areas may be divided into the second partial areas.
  • the image decoding device can appropriately divide a region into tiles.
  • the division unit according to the fourth aspect includes information (column_width_minus1 [) indicating a width and a height of at least one second partial area among the plurality of second partial areas. r] [i], row_height_minus1 [r] [i]), at least one of the plurality of first partial regions may be divided into the plurality of second partial regions.
  • the image decoding device can appropriately divide a region into tiles.
  • the division unit according to any one of the first to fourth aspects further comprises a step of setting the second partial area to another first partial area to which the second partial area belongs.
  • a flag (tile_dependency_flag [r] [i] [j]) indicating whether to refer to the second partial area may be decoded.
  • the image decoding apparatus can use the dependency between tiles in the region including the tiles.
  • An image coding apparatus (moving picture coding apparatus 11) according to aspect 7 of the present invention includes a dividing unit (parameter coding unit 111) for dividing a picture, and encodes an image for each region divided by the dividing unit.
  • An image encoding unit (parameter encoding unit 111) that divides the picture into a plurality of first partial regions, and converts at least one of the first partial regions into a plurality of first partial regions. Is divided into the second partial regions.
  • the image encoding device can realize an image encoding device corresponding to the image decoding device according to aspect 1.
  • the image decoding device (moving image decoding device 31) according to aspect 8 of the present invention generates a divided image (header decoding unit 3020) for dividing a picture, and generates a decoded image for each region (tile) divided by the dividing unit. And a header decoding unit (3020) for decoding a header included in the coded data obtained by coding the picture.
  • the header decoding unit includes: The information (maxTileWidth, maxTileHeight) indicating the width and height of is decoded by the variable length decoding with the maximum value in which the maximum value of the variable length code is set.
  • the image decoding device can appropriately divide a picture into tiles.
  • the header decoding unit according to aspect 8 derives a maximum area (maxTileArea) in which the area can be set, and according to the derived maximum area, a width and a height of the area. The information indicating this may be decoded.
  • the image decoding device can appropriately divide a picture into tiles.
  • the maximum value of the width of the area in aspect 8 or 9 is a length from an upper left position of the area to another first arranged area in the scanning order, or The length from the upper left position of the area to the end of the picture in the scan order may be used.
  • the image decoding device can appropriately divide a picture into tiles.
  • the maximum value of the height of the region in any of the above aspects 8 to 10 may be the length from the upper left position of the region to the end of the picture in the scanning order. Good.
  • the image decoding device can appropriately divide a picture into tiles.
  • An image coding apparatus (moving picture coding apparatus 11) according to aspect 12 of the present invention includes a dividing unit (parameter coding unit 111) for dividing a picture, and codes a decoded image for each region divided by the dividing unit.
  • An image encoding unit (parameter encoding unit 111) for converting the information indicating the width and the height of the area into a maximum value in which a maximum value of a variable length code is set. It is encoded by variable-length coding.
  • the image encoding device can realize an image encoding device corresponding to the image decoding device according to aspect 8.
  • Non-Patent Document 2 ("Flexible tiles", JVET-K0260-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO / IEC JTC 1 / SC 29 / wg 11, 2018-7-)
  • JVET Joint Video Experts Team
  • the number of tiles in the picture is smaller than the set number of tiles.
  • the above-mentioned Non-Patent Document 2 has a problem that, though prohibited, the above-described tile setting can be performed.
  • a picture can be appropriately divided into tiles.
  • the embodiment of the present invention is suitably applied to a moving image decoding device that decodes encoded data obtained by encoding image data, and a moving image encoding device that generates encoded data obtained by encoding image data. be able to. Further, the present invention can be suitably applied to the data structure of encoded data generated by the moving image encoding device and referred to by the moving image decoding device.
  • Moving picture coding device (picture coding device) 111 Parameter encoding unit (image encoding unit, division unit) 31 Video decoding device (image decoding device) 302 Parameter decoding unit (decoded image generation unit) 3020 header decoding unit (division unit)

Abstract

ピクチャを複数のリージョンに分割し、リージョンの少なくとも何れかを、複数のタイルに分割する画像復号装置(31)。

Description

画像復号装置および画像符号化装置
 本発明の実施形態の一態様は、画像復号装置および画像符号化装置に関する。
 動画像を効率的に伝送または記録するために、動画像を符号化することによって符号化データを生成する動画像符号化装置、および、当該符号化データを復号することによって復号画像を生成する動画像復号装置が用いられている。
 具体的な動画像符号化方式としては、例えば、H.264/AVCやHEVC(High-Efficiency Video Coding)にて提案されている方式などが挙げられる。
 このような動画像符号化方式においては、動画像を構成する画像(ピクチャ)は、画像を分割することにより得られるスライス、スライスを分割することにより得られる符号化ツリーユニット(CTU:Coding Tree Unit)、符号化ツリーユニットを分割することで得られる符号化単位(符号化ユニット(Coding Unit:CU)と呼ばれることもある)、及び、符号化単位を分割することより得られる変換ユニット(TU:Transform Unit)からなる階層構造により管理され、CU毎に符号化/復号される。
 また、動画像符号化方式では、画像を矩形に分割することにより得られるタイルも用いられる。タイルはCTU単位で分割され、タイルごとに独立して符号化/復号される。
 このような動画像符号化方式においては、通常、入力画像を符号化/復号することによって得られる局所復号画像に基づいて予測画像が生成され、当該予測画像を入力画像(原画像)から減算して得られる予測誤差(「差分画像」または「残差画像」と呼ぶこともある)が符号化される。予測画像の生成方法としては、画面間予測(インター予測)、および、画面内予測(イントラ予測)が挙げられる。
 また、近年の動画像符号化及び復号の技術として非特許文献1が挙げられる。
 また、タイルの分割方法の自由度を高くした技術として非特許文献2が挙げられる。
"Algorithm Description of Joint Exploration Test Model 7", JVET-G1001, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 2017-08-19 "Flexible tiles", JVET-K0260-v2, Joint Video Experts Team(JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/wg 11, 2018-7-10-18
 上述の非特許文献2の技術では、タイルの一辺に隣接するタイルの数が辺によって異なってしまうため、タイル間に依存関係を持たせた場合、タイル処理のスケジューリングや、参照するタイルを特定することが困難になってしまう。また、タイルの分割を指定する方法の自由度が高いため、矩形以外の形をしたタイルやピクチャをはみ出すタイルなどといった使用不可能な形状にピクチャを分割する指定が許されてしまう。
 上記の課題を解決するために、本発明の一態様に係る画像復号装置は、ピクチャを分割する分割部と、上記分割部によって分割された領域毎に復号画像を生成する復号画像生成部とを備えており、上記分割部は、上記ピクチャを複数の第1の部分領域に分割し、上記第1の部分領域の少なくとも何れかを、複数の第2の部分領域に分割する。
 上記の課題を解決するために、本発明の一態様に係る画像符号化装置は、ピクチャを分割する分割部と、上記分割部によって分割された領域毎に画像を符号化する画像符号化部とを備えており、上記分割部は、上記ピクチャを複数の第1の部分領域に分割し、上記第1の部分領域の少なくとも何れかを、複数の第2の部分領域に分割する。
 本発明の一態様によれば、タイルへの分割の自由度を高くするとともに、ピクチャをタイルに適切に分割することができる。
符号化ストリームのデータの階層構造を示す図である。 CTUの分割例を示す図である。 イントラ予測モードの種類(モード番号)を示す概略図である。 動画像復号装置の構成を示す概略図である。 動画像復号装置の概略的動作を説明するフローチャートである。 動画像符号化装置の構成を示すブロック図である。 インター予測パラメータ符号化部の構成を示す概略図である。 イントラ予測パラメータ符号化部の構成を示す概略図である。 従来の方法にてタイルに分割したピクチャの一例を示す図である。 従来の方法にてタイルに分割するためのシンタックスの一例である。 従来の方法にてタイルに分割するためのシンタックスの他の例である。 リージョン及びタイルの一例を示す図である。 リージョン及びタイルに分割するためのシンタックスの一例である。 リージョン及びタイルに分割するためのシンタックスの他の例である。 リージョン及びタイルに分割するためのシンタックスのさらに他の例である。 リージョン及びタイルに分割するためのシンタックスのさらに他の例である。 各シンタックスの内容を示す図である。 本実施形態に係る動画像符号化装置を搭載した送信装置、および、動画像復号装置を搭載した受信装置の構成について示した図である。(a)は動画像符号化装置を搭載した送信装置を示しており、(b)は動画像復号装置を搭載した受信装置を示している。 本実施形態に係る動画像符号化装置を搭載した記録装置、および、動画像復号装置を搭載した再生装置の構成について示した図である。(a)は動画像符号化装置を搭載した記録装置を示しており、(b)は動画像復号装置を搭載した再生装置を示している。 本実施形態に係る画像伝送システムの構成を示す概略図である。 タイルの分割に制約を設けたシンタックスの一例である。 タイルの分割に制約を設けたシンタックスの他の例である。 可変長符号化の方法の一例を示す表である。 可変長符号化の方法の他の例を示す表である。
  (第1の実施形態)
 以下、図面を参照しながら本発明の実施形態について説明する。
 図20は、本実施形態に係る画像伝送システム1の構成を示す概略図である。
 画像伝送システム1は、符号化対象画像を符号化した符号化ストリームを伝送し、伝送された符号化ストリームを復号し画像を表示するシステムである。画像伝送システム1は、動画像符号化装置(画像符号化装置)11、ネットワーク21、動画像復号装置(画像復号装置)31、及び動画像表示装置(画像表示装置)41を含んで構成される。
 動画像符号化装置11には画像Tが入力される。
 ネットワーク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)ディスプレイ等の表示デバイスを備える。ディスプレイの形態としては、据え置き、モバイル、HMD等が挙げられる。また、動画像復号装置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)。
 abs(a)はaの絶対値を返す関数である。
 Int(a)はaの整数値を返す関数である。
 floor(a)はa以下の最大の整数を返す関数である。
 ceil(a)はa以上の最大の整数を返す関数である。
 a/dはdによるaの除算(小数点以下切り捨て)を表す。
  <符号化ストリームTeの構造>
 本実施形態に係る動画像符号化装置11および動画像復号装置31の詳細な説明に先立って、動画像符号化装置11によって生成され、動画像復号装置31によって復号される符号化ストリームTeのデータ構造について説明する。
 図1は、符号化ストリームTeにおけるデータの階層構造を示す図である。符号化ストリームTeは、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。図1の(a)~(f)は、それぞれ、シーケンスSEQを既定する符号化ビデオシーケンス、ピクチャPICTを規定する符号化ピクチャ、スライスSを規定する符号化スライス、スライスデータを規定する符号化スライスデータ、符号化スライスデータに含まれる符号化ツリーユニット、符号化ツリーユニットに含まれる符号化ユニットを示す図である。
  (符号化ビデオシーケンス)
 符号化ビデオシーケンスでは、処理対象のシーケンスSEQを復号するために動画像復号装置31が参照するデータの集合が規定されている。シーケンスSEQは、図1(a)に示すように、ビデオパラメータセット(Video Parameter Set)、シーケンスパラメータセットSPS(Sequence Parameter Set)、ピクチャパラメータセットPPS(Picture Parameter Set)、ピクチャPICT、及び、付加拡張情報SEI(Supplemental Enhancement Information)を含んでいる。
 ビデオパラメータセットVPSは、複数のレイヤから構成されている動画像において、複数の動画像に共通する符号化パラメータの集合および動画像に含まれる複数のレイヤおよ
び個々のレイヤに関連する符号化パラメータの集合が規定されている。
 シーケンスパラメータセットSPSでは、対象シーケンスを復号するために動画像復号装置31が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの幅や高さ
が規定される。なお、SPSは複数存在してもよい。その場合、PPSから複数のSPSの何れかを選択する。
 ピクチャパラメータセットPPSでは、対象シーケンス内の各ピクチャを復号するために動画像復号装置31が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの復号に用いられる量子化幅の基準値(pic_init_qp_minus26)や重み付き予測の適用を示すフラグ(weighted_pred_flag)が含まれる。なお、PPSは複数存在してもよい。その場合、対象シーケンス内の各ピクチャから複数のPPSの何れかを選択する。
  (符号化ピクチャ)
 符号化ピクチャでは、処理対象のピクチャPICTを復号するために動画像復号装置31が参照するデータの集合が規定されている。ピクチャPICTは、図1(b)に示すように、スライス0~スライスNS-1を含む(NSはピクチャPICTに含まれるスライスの総数)。
 なお、以下、スライス0~スライスNS-1のそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する符号化ストリームTeに含まれるデータであって、添え字を付している他のデータについても同様である。
  (符号化スライス)
 符号化スライスでは、処理対象のスライスSを復号するために動画像復号装置31が参照するデータの集合が規定されている。スライスは、図1(c)に示すように、スライスヘッダ、および、スライスデータを含んでいる。
 スライスヘッダには、対象スライスの復号方法を決定するために動画像復号装置31が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報(slice_type)は、スライスヘッダに含まれる符号化パラメータの一例である。
 スライスタイプ指定情報により指定可能なスライスタイプとしては、(1)符号化の際にイントラ予測のみを用いるIスライス、(2)符号化の際に単方向予測、または、イントラ予測を用いるPスライス、(3)符号化の際に単方向予測、双方向予測、または、イントラ予測を用いるBスライスなどが挙げられる。なお、インター予測は、単予測、双予測に限定されず、より多くの参照ピクチャを用いて予測画像を生成してもよい。以下、P、Bスライスと呼ぶ場合には、インター予測を用いることができるブロックを含むスライスを指す。
 なお、スライスヘッダは、ピクチャパラメータセットPPSへの参照(pic_parameter_set_id)を含んでいても良い。
  (符号化スライスデータ)
 符号化スライスデータでは、処理対象のスライスデータを復号するために動画像復号装置31が参照するデータの集合が規定されている。スライスデータは、図1(d)に示すように、CTUを含んでいる。CTUは、スライスを構成する固定サイズ(例えば64x64)のブロックであり、最大符号化単位(LCU:Largest Coding Unit)と呼ぶこともある。
  (符号化ツリーユニット)
 図1(e)には、処理対象のCTUを復号するために動画像復号装置31が参照するデータの集合が規定されている。CTUは、再帰的な4分木分割(QT(Quad Tree)分割)、2分木分割(BT(Binary Tree)分割)あるいは3分木分割(TT(Ternary Tree)分割)により符号化処理の基本的な単位である符号化ユニットCUに分割される。BT分割とTT分割を合わせてマルチツリー分割(MT(Multi Tree)分割)と呼ぶ。再帰的な4分木分割により得られる木構造のノードのことを符号化ノード(Coding Node)と称する。4分木、2分木、及び3分木の中間ノードは、符号化ノードであり、CTU自身も最上位の符号化ノードとして規定される。
 CTは、CT情報として、QT分割を行うか否かを示すQT分割フラグ(cu_split_flag)、MT分割の分割方法を示すMT分割モード(split_mt_mode)、MT分割の分割方向を示すMT分割方向(split_mt_dir)、MT分割の分割タイプを示すMT分割タイプ(split_mt_type)を含む。cu_split_flag、split_mt_flag、split_mt_dir、split_mt_type は符号化ノード毎に伝送される。
 cu_split_flagが1の場合、符号化ノードは4つの符号化ノードに分割される(図2(b))。cu_split_flagが0の時、split_mt_flagが0の場合に符号化ノードは分割されず1つのCUをノードとして持つ(図2(a))。 CUは符号化ノードの末端ノードであり、これ以上分割されない。CUは、符号化処理の基本的な単位となる。
 split_mt_flagが1の場合に符号化ノードは以下のようにMT分割される。split_mt_typeが0の時、split_mt_dirが1の場合に符号化ノードは2つの符号化ノードに水平分割され(図2(d))、split_mt_dirが0の場合に符号化ノードは2つの符号化ノードに垂直分割される(図2(c))。また、split_mt_typeが1の時、split_mt_dirが1の場合に符号化ノードは3つの符号化ノードに水平分割され(図2(f))、split_mt_dirが0の場合に符号化ノードは3つの符号化ノードに垂直分割される(図2(e))。
 また、CTUのサイズが64x64画素の場合には、CUのサイズは、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画素の何れかをとり得る。
  (符号化ユニット)
 図1(f)に示すように、処理対象の符号化ユニットを復号するために動画像復号装置31が参照するデータの集合が規定されている。具体的には、CUは、CUヘッダCUH、予測パラメータ、変換パラメータ、量子化変換係数等から構成される。CUヘッダでは予測モード等が規定される。
 予測処理は、CU単位で行われる場合と、CUをさらに分割したサブCU単位で行われる場合がある。CUとサブCUのサイズが等しい場合には、CU中のサブCUは1つである。CUがサブCUのサイズよりも大きい場合、CUは、サブCUに分割される。たとえばCUが8x8、サブCUが4x4の場合、CUは水平2分割、垂直2分割からなる、4つのサブCUに分割される。
 予測の種類(予測モード)は、イントラ予測と、インター予測の2つがある。イントラ予測は、同一ピクチャ内の予測であり、インター予測は、互いに異なるピクチャ間(例えば、表示時刻間、レイヤ画像間)で行われる予測処理を指す。
 変換・量子化処理はCU単位で行われるが、量子化変換係数は4x4等のサブブロック単位でエントロピー符号化してもよい。
  (タイル)
 上述したスライスと同様、ピクチャを分割する方法として、ピクチャを矩形領域のタイルに分割する方法も用いられる。タイルに分割する方法はピクチャパラメータセットPPSに含まれるタイル情報によって指定される。タイルには、各タイルを識別するためのタイ
ルIDがラスタスキャン順に割り当てられる。また、タイル内では、CTUはラスタスキャン順に処理される。
 タイルは、独立して符号化/復号してもよい。すなわち、あるタイル内のCTUは、同じピクチャ内の他のタイル内のCTUのデータを参照しない。一方、タイルはスライスとは異なりヘッダがないため、スライスと比べて符号量を少なくできる。
 なお、以下では、タイルの大きさの単位として、CTUを用いているが、これに限定されない。例えば、タイルの大きさを輝度画素単位で指定する構成であってもよい。以下では、タイルの単位となる矩形サイズを、サブタイルと称する。
  (リージョン)
 本明細書では、ピクチャを、それぞれ1つ以上の矩形領域のリージョン(Region、第1の部分領域)に分割し、さらに、リージョンを1つ以上の矩形領域のタイル(Tile, 第2の部分領域)に分割する構成を用いる。リージョンに分割する方法はピクチャパラメータセットPPSに含まれるリージョン情報によって指定される。リージョンには、各リージョンを識別するためのリージョンIDがラスタスキャン順に割り当てられる。また、リージョン内では、タイルはラスタスキャン順に処理される。各リージョンをタイルに分割する方法はピクチャをタイルに分割する方法と同じであってもよい。
 リージョンは、スライスと同様、独立して符号化/復号してもよい。すなわち、あるリージョン内のタイルは、同じピクチャ内の他のリージョン内のタイルのデータを参照しない。また、リージョン内のタイルは、依存関係をもたせてもよい。
 一方、リージョンはスライスとは異なり、ヘッダを無くす構成においては、スライスと比べて符号量を少なくできる。
 ピクチャをリージョンに分割するための具体的なシンタックスについては、後述する。
  (予測パラメータ)
 予測画像は、ブロックに付随する予測パラメータによって導出される。予測パラメータには、イントラ予測とインター予測の予測パラメータがある。
 以下、インター予測の予測パラメータについて説明する。インター予測パラメータは、予測リスト利用フラグpredFlagL0、predFlagL1と、参照ピクチャインデックスrefIdxL0、refIdxL1と、動きベクトルmvL0、mvL1から構成される。予測リスト利用フラグpredFlagL0、predFlagL1は、各々L0リスト、L1リストと呼ばれる参照ピクチャリストが用いられるか否かを示すフラグであり、値が1の場合に対応する参照ピクチャリストが用いられる。なお、本明細書中「XXであるか否かを示すフラグ」と記す場合、フラグが0以外(たとえば1)をXXである場合、0をXXではない場合とし、論理否定、論理積などでは1を真、0を偽と扱う(以下同様)。但し、実際の装置や方法では真値、偽値として他の値を用いることもできる。
 インター予測パラメータを導出するためのシンタックス要素には、例えば、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLXがある。
 以下、イントラ予測の予測パラメータについて説明する。イントラ予測パラメータは、輝度予測モードIntraPredModeY、色差予測モードIntraPredModeCから構成される。図3は、イントラ予測モードの種類(モード番号)を示す概略図である。図3に示すように、イントラ予測モードは、例えば67種類(0~66)存在する。例えば、プレーナ予測(0)、DC予測(1)、Angular予測(2~66)である。さらに、色差ではLMモード(67~72)を追加してもよい。
 イントラ予測パラメータを導出するためのシンタックス要素には、例えば、prev_intra_luma_pred_flag、mpm_idx、rem_selected_mode_flag、rem_selected_mode、rem_non_selected_mode等がある。
  (動画像復号装置の構成)
 本実施形態に係る動画像復号装置31(図4)の構成について説明する。
  (動画像復号装置の構成)
 動画像復号装置31は、パラメータ復号部(予測画像復号装置、復号画像生成部)302、ループフィルタ305、参照ピクチャメモリ306、予測パラメータメモリ307、予測画像生成部(予測画像生成装置)308、逆量子化・逆変換部311、及び加算部312を含んで構成される。なお、後述の動画像符号化装置11に合わせ、動画像復号装置31にループフィルタ305が含まれない構成もある。パラメータ復号部302は、さらに、エントロピー復号部301、ヘッダ復号部3020(分割部)、CT情報復号部3021、及びCU復号部3022(予測モード復号部)を備えており、CU復号部3022はさらにTU復号部3024を備えている。
  (復号モジュール)
 以下、各モジュールの概略動作を説明する。パラメータ復号部302はヘッダ情報、分割情報、予測情報、量子化変換係数等のパラメータの復号処理を行う。
 エントロピー復号部301は、バイナリデータからシンタックス要素を復号する。エントロピー復号部301は、より具体的には、供給元から供給されるシンタックス要素に基づいて、CABAC等のエントロピー符号化方式による符号化データから、シンタックス要素を復号して供給元に返す。以下に示す例では、シンタックス要素の供給元は、CT情報復号部3021、CU復号部3022である。
  (基本フロー)
 図5は、動画像復号装置31の概略的動作を説明するフローチャートである。
 (S1100:パラメータセット情報復号)ヘッダ復号部3020は、符号化データからVPS、SPS、PPSなどのパラメータセット情報を復号する。ヘッダ復号部3020は、PPSのパラメータ情報を復号する際に、後述の分割情報を復号する。
 (S1200:スライス情報復号)ヘッダ復号部3020は、符号化データからスライスヘッダ(スライス情報)を復号する。
 以下、動画像復号装置31は、対象ピクチャに含まれる各CTUについて、S1300からS5000の処理を繰り返すことにより各CTUの復号画像を導出する。
 (S1300:CTU情報復号)CT情報復号部3021は、符号化データからCTUを復号する。
 (S1400:CT情報復号)CT情報復号部3021は、符号化データからCTを復号する。
 (S1500:CU復号)CU復号部3022はS1510、S1520を実施して、符号化データからCUを復号する。
 (S1510:CU情報復号)CU復号部3022は、符号化データからCU情報、予測情報、TU分割フラグsplit_transform_flag、CU残差フラグcbf_cb、cbf_cr、cbf_luma等を復号する。
 (S1520:TU情報復号)TU復号部3024は、TUに予測誤差が含まれている場合に、符号化データからQP更新情報(量子化補正値)と量子化予測誤差(residual_coding)を復号する。なお、QP更新情報は、量子化パラメータQPの予測値である量子化パラメータ予測値qPpredからの差分値である。
 (S2000:予測画像生成)予測画像生成部308は、対象CUに含まれる各ブロックについて、予測情報に基づいて予測画像を生成する。
 (S3000:逆量子化・逆変換)逆量子化・逆変換部311は、対象CUに含まれる各TUについて、逆量子化・逆変換処理を実行する。
 (S4000:復号画像生成)加算器312は、予測画像生成部308より供給される予測画像と、逆量子化・逆変換部311より供給される予測誤差とを加算することによって、対象CUの復号画像を生成する。
 (S5000:ループフィルタ)ループフィルタ305は、復号画像にデブロッキングフィルタ、SAO、ALFなどのループフィルタをかけ、復号画像を生成する。
 また、パラメータ復号部302は、図示しないインター予測パラメータ復号部303及びイントラ予測パラメータ復号部304を含んで構成される。予測画像生成部308は、図示しないインター予測画像生成部309及びイントラ予測画像生成部3021を含んで構成される。
 エントロピー復号部301は、インター予測パラメータ(予測モードpredMode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLX)をインター予測パラメータ復号部303に出力する。また、イントラ予測パラメータ(輝度予測モードIntraPredModeY、色差予測モードIntraPredModeC)をイントラ予測パラメータ復号部304に出力する。エントロピー復号部301は、量子化変換係数を逆量子化・逆変換部311に出力する。
  (インター予測パラメータ復号部の構成)
 インター予測パラメータ復号部303は、エントロピー復号部301から入力された符号に基づいて、予測パラメータメモリ307に記憶された予測パラメータを参照してインター予測パラメータを復号する。また、インター予測パラメータ復号部303は、復号したインター予測パラメータを予測画像生成部308に出力し、予測パラメータメモリ307に記憶する。
 (イントラ予測パラメータ復号部304の構成)
 イントラ予測パラメータ復号部304は、エントロピー復号部301から入力された符号に基づいて、予測パラメータメモリ307に記憶された予測パラメータを参照してイントラ予測パラメータ、例えば、イントラ予測モードIntraPredModeを復号する。イントラ予測パラメータ復号部304は、復号したイントラ予測パラメータを予測画像生成部308に出力し、また予測パラメータメモリ307に記憶する。イントラ予測パラメータ復号部304は、輝度と色差で異なるイントラ予測モードを導出しても良い。
 ループフィルタ305は、符号化ループ内に設けたフィルタで、ブロック歪やリンギング歪を除去し、画質を改善するフィルタである。ループフィルタ305は、加算部312が生成したCUの復号画像に対し、デブロッキングフィルタ、サンプル適応オフセット(SAO)、適応ループフィルタ(ALF)等のフィルタを施す。
 参照ピクチャメモリ306は、加算部312が生成したCUの復号画像を、対象ピクチャ及び対象CU毎に予め定めた位置に記憶する。
 予測パラメータメモリ307は、復号対象のCTUあるいはCU毎に予め定めた位置に予測パラメータを記憶する。具体的には、予測パラメータメモリ307は、パラメータ復号部302が復号したパラメータ及びエントロピー復号部301が分離した予測モードpredMode等を記憶する。
 予測画像生成部308には、予測モードpredMode、予測パラメータ等が入力される。また、予測画像生成部308は、参照ピクチャメモリ306から参照ピクチャを読み出す。予測画像生成部308は、予測モードpredModeが示す予測モードで、予測パラメータと読み出した参照ピクチャ(参照ピクチャブロック)を用いてブロックもしくはサブブロックの予測画像を生成する。ここで、参照ピクチャブロックとは、参照ピクチャ上の画素の集合(通常矩形であるのでブロックと呼ぶ)であり、予測画像を生成するために参照する領域である。
  (インター予測画像生成部309)
 予測モードpredModeがインター予測モードを示す場合、インター予測画像生成部309は、インター予測パラメータ復号部303から入力されたインター予測パラメータと読み出した参照ピクチャを用いてインター予測によりブロックもしくはサブブロックの予測画像を
生成する。
 インター予測画像生成部309は生成したブロックの予測画像を加算部312に出力する。
  (イントラ予測画像生成部310)
 予測モードpredModeがイントラ予測モードを示す場合、イントラ予測画像生成部310は、イントラ予測パラメータ復号部304から入力されたイントラ予測パラメータと参照ピクチャメモリ306から読み出した参照画素を用いてイントラ予測を行う。
 イントラ予測画像生成部310は、読み出した復号画素値とイントラ予測モードIntraPredModeが示す予測モードを参照して、対象ブロックの予測画像を生成する。イントラ予測画像生成部310は生成したブロックの予測画像を加算部312に出力する。
 逆量子化・逆変換部311は、エントロピー復号部301から入力された量子化変換係数を逆量子化して変換係数を求める。この量子化変換係数は、符号化処理において、予測誤差に対してDCT(Discrete Cosine Transform、離散コサイン変換)、DST(Discrete Sine Transform、離散サイン変換)、KLT(Karyhnen Loeve Transform、カルーネンレーベ変換)等の周波数変換を行い量子化して得られる係数である。逆量子化・逆変換部311は、求めた変換係数について逆DCT、逆DST、逆KLT等の逆周波数変換を行い、予測誤差を算出する。逆量子化・逆変換部311は予測誤差を加算部312に出力する。
 加算部312は、予測画像生成部308から入力されたブロックの予測画像と逆量子化・逆変換部311から入力された予測誤差を画素毎に加算して、ブロックの復号画像を生成する。加算部312はブロックの復号画像を参照ピクチャメモリ306に記憶し、また、ループフィルタ305に出力する。
 (従来のタイルの例1)
 従来のタイルの例について、図9の(a)および図10を用いて説明する。図9の(a)は、従来の方法にてタイルに分割したピクチャの一例を示す図である。
 図9の(a)は、ピクチャ191を2行×2列の格子状のタイルに分割したものである。図9の(a)のようにピクチャを分割するためのタイル情報(シンタックス)の例を、図10に示す。
 図10は、従来の方法にてタイルに分割するためのシンタックスの一例である。
 tiles_enabled_flagは、ピクチャをタイルに分割するか否かを示すフラグである。ヘッダ復号部3020は、tiles_enabled_flagを復号し、tiles_enabled_flag=1の場合、ピクチャを垂直分割する数(ここでは、分割後の列の数マイナス1)を示すnum_tile_columns_minus1と、ピクチャを水平分割する数(ここでは、分割後の行の数マイナス1)を示すnum_tile_rows_minus1と、ピクチャを均等に分割するか否かを示すuniform_spacing_flagとを復号する。
 uniform_spacing_flag=1ではない場合、ヘッダ復号部3020は、各列の幅マイナス1を示すcolumn_width_minus1[i]、および各行の高さマイナス1を示すrow_height_minus1[i]を復号する。
 (従来のタイルの例2)
 従来のタイルの他の例について、図9の(b)および図11を用いて説明する。図9の(b)は、従来の方法にてタイルに分割したピクチャの他の例を示す図である。
 図9の(b)は、それぞれ矩形のタイルであって、タイルIDがT0~T4の5つのタイルにピクチャ192を分割したものである。図9の(b)に示すタイルは、図9の(a)に示すタイルと違って、タイルの境界は必ずしもピクチャの端から端まで横断または縦断していない。そのため、図9の(a)に示すタイルに比べて、図9の(b)に示すタイルは、高い自由度で分割されている。図9の(b)のようにピクチャを分割するためのタイル情報(シンタックス)の例を、図11に示す。
 図11は、従来の方法にてタイルに分割するためのシンタックスの他の例である。
 上述の例と同様、ヘッダ復号部3020は、tiles_enabled_flagを復号し、tiles_enabled_flag=1の場合、ピクチャに含まれるタイルの数マイナス2を示すnumber_of_tiles_in_picture_minus2と、サブタイルの幅マイナス1を示すsubtile_width_minus1と、サブタイルの高さマイナス1を示すsubtile_height_minus1とを復号する。
 次にヘッダ復号部3020は、number_of_tiles_in_picture_minus2を用いて、直前に使用したタイルサイズを、現在復号するタイルサイズとして使用するか否かを示すuse_previous_tile_size_flagを復号する。
 use_previous_tile_size_flag=0の場合、ヘッダ復号部3020は、直前に使用したタイルサイズを使用せず、タイルサイズを復号する。すなわち、各タイルの幅マイナス1を示す
tile_width_minus1[i]、および各タイルの高さマイナス1を示すtile_height_minus1[i]を復号する。
 (ピクチャを分割したリージョンとリージョンを分割したタイル)
 ピクチャを分割したリージョンおよびリージョンを分割したタイルについて、図12~図17を用いて説明する。図12は、本実施形態における、リージョン及びタイルの一例を示す図である。
 まず、ヘッダ復号部3020は、図12の(a)に示すピクチャ221の高さh、幅wを復号する。次に図12の(b)に示す、幅w0、高さh0のリージョンを復号し、ピクチャ221の高さh、幅wを用いて、リージョンR1の幅w1、高さh1を導出する。ここで各リージョンには、それぞれR0、R1のリージョンIDが割り当てられる。
 次に、ヘッダ復号部3020は、図12の(c)に示すように、リージョンR0を分割したタイルの幅w00、高さh00を復号し、リージョンR0の幅w0、高さh0を用いて、幅w01、高さh01を導出する。図12の(c)において、リージョンR0を分割した複数のタイルに、それぞれT00~T03のタイルIDが割り当てられる。
 同様に、ヘッダ復号部3020は、図12の(d)に示すように、リージョンR1を分割したタイルの幅w10、高さh10、h11、h12を復号し、幅w11、高さh13を導出する。図12の(d)において、リージョンR1を分割した複数のタイルに、それぞれT10~T17のタイルIDが割り当てられる。
 (シンタックスの例1)
 図13は、本実施形態においてリージョン及びタイルに分割するためのシンタックスの一例である。図13に示すシンタックスは、ピクチャを0回または1回垂直分割し、ピクチャを0回または1回水平分割する場合のシンタックスである。
 まず、ヘッダ復号部3020は、tiles_enabled_flagを復号し、tiles_enabled_flag=1の場合、ピクチャを垂直分割する数(ここでは、ピクチャ分割後の列の数マイナス1)を示すnum_region_columns_minus1と、ピクチャを水平分割する数(ここでは、ピクチャ分割後の行の数マイナス1)を示すnum_region_rows_minus1とを復号する。
 ヘッダ復号部3020は、num_region_columns_minus1が0より大きい場合、換言すると、ピクチャを垂直分割する場合、分割後の左側のリージョンの幅マイナス1を示すregion_width_minus1[0]を復号する。また、ヘッダ復号部3020は、num_region_rows_minus1が0より大きい場合、換言すると、ピクチャを水平分割する場合、分割後の上側の行の高さマイナス1を示すregion_height_minus1[0]を復号する。換言すると、ヘッダ復号部3020は、左上のリージョンの高さおよび幅に関する情報を復号する。
 ヘッダ復号部3020は、リージョンに分割後の右側の列および下側の行におけるregion_width_minus1[1]およびregion_height_minus1[1]を、復号したregion_width_minus1[0]およびregion_height_minus1[0]と、ピクチャの幅および高さとを参照し、導出する。
 次にヘッダ復号部3020は、リージョンの数を示すnumRegionsを参照し、リージョン毎に、リージョンを垂直分割する数(ここでは、リージョン分割後の水平方向のタイルの数マイナス1)を示すnum_tile_columns_minus1[r]と、リージョンを水平分割する数(ここでは、リージョン分割後の垂直方向のタイルの数マイナス1)を示すnum_tile_rows_minus1 [r]と、ピクチャを均等に分割するか否かを示すuniform_spacing_flag[r]とを復号する。
 uniform_spacing_flag[r]=0の場合、ヘッダ復号部3020は、num_tile_columns_minus1[r]を参照し、最も右側のタイルの列以外の列であって、左からi番目の列の幅マイナス1を示すcolumn_width_minus1[r][i]を復号する。すなわち、ヘッダ復号部3020は、リージョン分割後のタイルのうち、最も右側のタイルの列を除いた各列の幅マイナス1をそれぞれ示すcolumn_width_minus1[r][i]を復号する。ヘッダ復号部3020は、復号したcolumn_width_minus1[r][i]と、先に復号したregion_width_minus1[0]とを参照して、最も右側のタイルの列の幅を導出する。
 また、uniform_spacing_flag=0の場合、ヘッダ復号部3020はさらに、num_tile_rows_minus1[r]を参照し、最も下側のタイルの行以外の行であって、上からi番目の行の高さマイナス1を示すrow_height_minus1[r][i]を復号する。すなわち、ヘッダ復号部3020は、リージョン分割後のタイルのうち、最も下側のタイルの行を除いた各行の幅マイナス1をそれぞれ示すrow_height_minus1[r][i]を復号する。ヘッダ復号部3020は、復号したrow_height_minus1[r][i]と、先に復号したregion_hight_minus1[0]とを参照して、最も下側のタイルの行の高さを導出する。
 (シンタックスの例2)
 図14は、本実施形態においてリージョン及びタイルに分割するためのシンタックスの他の例である。図14に示すシンタックスは、図13に示したシンタックスを一般化したものである。
 まず、上述したシンタックスの例と同様に、ヘッダ復号部3020は、tiles_enabled_flagを復号し、tiles_enabled_flag=1の場合、num_region_columns_minus1と、num_region_rows_minus1とを復号する。
 次にヘッダ復号部3020は、num_region_columns_minus1を参照し、ピクチャ分割後の最も右側のリージョン以外のリージョンであって、左側からi番目のリージョンの幅(ここでは幅マイナス1を示すregion_width_minus1[i]、i = 0 .. num_region_columns_minus1 - 1)を復号する。すなわち、ヘッダ復号部3020は、ピクチャ分割後のリージョンのうち、最も右側のリージョンの列を除いた各列の幅マイナス1をそれぞれ示すregion_width_minus1[i]を復号する。ヘッダ復号部3020は、復号したregion_width_minus1[i]と、ピクチャの幅とを参照して、最も右側のリージョンの列の幅regionWidth[num_region_columns_minus1](region_width_minus1[num_region_columns_minus1]は最も右側のリージョンの列の幅マイナス1を示す)を導出する。
 region_width_minus1[num_region_columns_minus1] = picWidth-Σ(region_width_minus1[i]+1) - 1
 regionWidth[num_region_columns_minus1]=picWidth-Σ(regionWidth[i])
 ここでΣはi = 0,...,num_region_columns_minus1-1の和である。
 また、ヘッダ復号部3020は、num_region_rows_minus1を参照し、ピクチャ分割後の最も下側のリージョン以外のリージョンであって、上側からi番目のリージョンの高さ(ここでは高さマイナス1を示すregion_height_minus1[i]、i = 0 .. num_region_rows_minus1 - 1)を復号する。すなわち、ヘッダ復号部3020は、ピクチャ分割後のリージョンのうち、最も下側のリージョンの行を除いた各行の高さマイナス1をそれぞれ示すregion_height_minus1[i]を復号する。ヘッダ復号部3020は、復号したregion_height_minus1[i]と、ピクチャの高さとを参照して、最も下側のリージョンの行の高さを導出する。
 region_height_minus1[num_region_rows_minus1] = picHeight-Σ(region_height_minus1[i]+1) - 1
 regionHeight[num_region_rows_minus1]=picHeight-Σ(regionHeight[i])
 ここでΣはi = 0,...,num_region_rows_minus1-1の和である。
 ヘッダ復号部3020が、リージョンの数を示すnumRegionsを参照し、num_tile_columns_minus1[r]を復号する処理以降の処理は、図13を用いた説明と同様の処理であるため、説明を省略する。
 (シンタックスの例3)
 図15は、リージョン及びタイルに分割するためのシンタックスのさらに他の例である。図15に示すシンタックスは、図14に示すシンタックスに対して、リージョン内のタイル間に依存関係を持たせた場合のシンタックスである。
 まず、ヘッダ復号部3020が、tiles_enabled_flagを復号し、tiles_enabled_flag=1の場合、num_region_columns_minus1と、num_region_rows_minus1とを復号する処理から、リージョン分割後の行のうち、1つの行を除いた各行の幅マイナス1をそれぞれ示すrow_height_minus1[r][i]を復号する処理までは、図13および図14を用いた説明と同様の処理であるため、説明を省略する。
 ヘッダ復号部3020は、num_tile_columns_minus1[r]に1プラスした数(すなわち、リージョン分割後の列の数)と、num_tile_rows_minus1[r]に1プラスした数(すなわち、リージョン分割後の行の数)との積を算出し、タイルの数を示すNumTile[r]を導出する。
 次にヘッダ復号部3020は、NumTile[r]を参照し、各タイルが他のタイルに依存しているか否かを示すフラグtile_dependency_flag[r][i][j]を復号する。ここでは、ヘッダ復号部3020は、NumTile[r]を参照し、リージョンrのインデックスiで示されるタイルが、リー
ジョンrのインデックスjで示されるタイルに依存しているか否かを示すフラグtile_dependency_flag[r][i][j]を復号する。
 (シンタックスの例4)
 図16は、リージョン及びタイルに分割するためのシンタックスのさらに他の例である。図16に示すシンタックスは、図14に示すシンタックスに対して、リージョン間に依存関係を持たせた場合のシンタックスである。
 ヘッダ復号部3020が、tiles_enabled_flagを復号し、tiles_enabled_flag=1の場合、num_region_columns_minus1と、num_region_rows_minus1とを復号する処理から、リージョン分割後の行のうち、1つの行を除いた各行の幅マイナス1をそれぞれ示すrow_height_minus1[r][i]を復号する処理までは、図13および図14を用いた説明と同様の処理であるため、説明を省略する。
 次にヘッダ復号部3020は、リージョンrがリージョンjに依存しているか否かを示すフラグregion_dependency_flag[r][j]を復号する。リージョンrがリージョンjに依存している場合、リージョンrのあるタイルlは、リージョンjのあるタイルmを参照することができる。例えば、リージョンrを含む現ピクチャを、リージョンjのあるタイルmの復号時に、参照ピクチャリストに含める構成とする。つまり、ヘッダ復号部3020は、region_dependency_flag[r][j]が1である場合に、現ピクチャを参照ピクチャリストに追加する。また、参照ピクチャリストを参照ピクチャセットから導出する構成では、リージョンjのあるタイルmの参照ピクチャセットとして、現ピクチャを加える構成でもよい。
 (ヘッダ復号部3020の動作の説明)
 図17は、各シンタックスの内容を示す図である。各シンタックスについて、図17を用いて説明する。
 図17の(a)は、ピクチャを1回垂直分割することによってピクチャが1つ目のリージョン(左側のリージョン、幅はregion_width_minus1[0]で示される)と2つ目のリージョン(右側のリージョン、幅はregion_width_minus1[1]で示される)の2つのリージョンに分割される例を示す図である。すなわち、図17の(a)では、num_region_columns_minus1=1、num_region_rows_minus1=0である。また、水平方向のリージョンの数を示すnumRegionColumnsは、numRegionColumns= num_region_columns_minus1+1=2であり、垂直方向のリージョンの数を示すnumRegionRowsは、numRegionRows= num_region_rows_minus1+1=1である。
 図17の(a)に示すように、ピクチャの垂直分割のリージョン数numRegionColumnsが2の場合、ヘッダ復号部3020は、1つ目のリージョンR0の幅マイナス1を示すregion_width_minus1[0](ここでは、垂直分割する位置を示すシンタックス)を復号し、2つ目のリージョンR1の幅マイナス1を示すregion_width_minus1[1]は、復号したregion_width_minus1[0]と、ピクチャの幅とを参照して導出する。またピクチャの水平分割のリージョン数numRegionRowsが1の場合、リージョンR0およびリージョンR1の高さを示すシンタックスは省略され復号しない。
 より具体的には、region_width_minus1[0]はCTU単位で表され、リージョンR0の幅を示すregionWidth[0]は、regionWidth[0]=region_width_minus1[0]+1で表される。また、リージョンR1の幅を示すregionWidth[1]は、regionWidth[1]=picWidth-regionWidth[0]によって導出される。ここで、picWidthは、ピクチャの幅をCTU単位で示すパラメータである。なお、region_width_minus1[0]、picWidthはCTU単位に限定されない。
 また、numRegionColumns=1の場合、すなわち、水平方向のリージョンの数が1の場合、ヘッダ復号部3020は、region_width_minus1[0]を復号せず、regionWidth[0]=picWidthと導出する。
 図17の(b)は、ピクチャを1回水平分割することによってピクチャが1つ目のリージョン(上側のリージョン、高さregion_height_minus1[0])と2つ目のリージョン(下側のリージョン、高さregion_height_minus1[1])の2つのリージョンに分割される例を示す図である。すなわち、図17の(b)では、num_region_columns_minus1=0、num_region_rows_minus1=1である。また、水平方向のリージョンの数を示すnumRegionColumnsは、numRegionColumns= num_region_columns_minus1+1=1であり、垂直方向のリージョンの数を示すnumRegionRowsは、numRegionRows= num_region_rows_minus1+1=2である。
 図17の(b)に示すように、ピクチャの水平分割のリージョン数numRegionRowsが2の場合、ヘッダ復号部3020は、1つ目のリージョンR0の高さマイナス1を示すregion_height_minus1[0](ここでは、水平分割する位置を示すシンタックス)を復号し、復号したregion_height_minus1[0]と、ピクチャの高さとを参照して、2つ目のリージョンR2の高さ(ここでは高さマイナス1を示すregion_height_minus1[1])を導出する。またピクチャの垂直分割のリージョン数numRegionColumnsが1の場合、リージョンR0およびリージョンR2の幅を示すシンタックスは省略され復号しない。
 より具体的には、region_hight_minus1[0]はCTU単位で表され、リージョンR0の高さを示すregionHeight[0]は、regionHeight[0]=region_hight_minus1[0]+1で表される。また、リージョンR2の高さを示すregionHeight[1]は、regionHeight[1]=picHeight-regionHeight[0]によって導出される。ここで、picHeightは、ピクチャの高さをCTU単位で示すパラメータである。なお、region_height_minus1[0]、picHeightはCTU単位に限定されない。
 また、numRegionRows=1の場合、すなわち、垂直方向のリージョンの数が1の場合、ヘッダ復号部3020は、region_height_minus1[0]は復号せず、regionHight[0]=picHightと導出する。
 図17の(c)は、ピクチャを1回ずつ垂直分割および水平分割することによって4分割した場合のregion_width_minus1[0]、region_width_minus1[1]、region_height_minus1[0]、およびregion_height_minus1[1]を示す図である。すなわち、図17の(b)では、num_region_columns_minus1=1、num_region_rows_minus1=1である。また、水平方向のリージョンの数を示すnumRegionColumnsは、numRegionColumns= num_region_columns_minus1+1=2であり、垂直方向のリージョンの数を示すnumRegionRowsは、numRegionRows= num_region_rows_minus1+1=2である。なお、図17の(a)、(b)と同様の内容については、記載を省略する
 図17の(c)に示すようにピクチャを4分割する場合(垂直分割のリージョン数numRegionColumnsが2、水平分割のリージョン数numRegionRowsが2の場合)、ヘッダ復号部3020は、左上のリージョンR0の幅マイナス1を示すregion_width_minus1[0]と、リージョンR0の高さ(ここでは高さマイナス1を示すregion_height_minus1[0])とを、復号する。そして、ヘッダ復号部3020は、復号したregion_width_minus1[0]と、ピクチャの幅とを参照して、右側のリージョンR1およびリージョンR3の幅(ここでは幅マイナス1を示すregion_width_minus1[1])を導出する。また、ヘッダ復号部3020は、復号したregion_height_minus1 [0]と、ピクチャの高さとを参照して、下側のリージョンR2およびリージョンR3の高さ(ここでは高さマイナス1を示すregion_height_minus1[1])を導出する。
 なお、図17では図示していないが、MxN(水平方向のリージョンの数numRegionColumns=M、垂直方向のリージョンの数numRegionRows=N、M>1、N>1)に分割することもできる。上述した方法と同様に、ヘッダ復号部3020は、numRegionColumnsが2以上の場合にregion_width_minus1[0]~region_width_minus1[numRegionColumns-2]を復号し、numRegionRowsが2以上の場合に、region_height_minus1[0]~region_height_minus1[numRegionRows-2]を復号する。さらに、ヘッダ復号部3020は、復号した各リージョンのサイズとピクチャの幅、高さから、region_width_minus1[M-1]およびregion_height_minus1[numRegionRows-1]を導出する。
 また、リージョンをタイルに分割する方法については、各シンタックスにおけるパラメータ(num_tile_columns_minus1、num_tile_rows_minus1など)に、当該タイルがリージョンr内のタイルであることを示す[r]が付いており、ピクチャサイズに替えて、リージョンrの幅および高さを用いること以外は、従来のタイル分割の方法と同様である。
 (依存関係の説明)
 tile_dependency_flag[r][i][j]は、タイル間の依存関係を示すフラグである。例えば、tile_dependency_flag[r][i][j]は、タイルiが、タイルj(j<i)を参照してもよいか否かを示すフラグであってもよい(図16)。なお、リージョン間には依存関係はないため、tile_dependency_flag[r][i][j]は、リージョンr内のタイルにおけるタイルiおよびタイルjの依存関係を示すフラグである。リージョンrのタイルiがタイルjに依存している場合、リージョンrのあるタイルiは、同じリージョンrのあるタイルjを参照することができる。例えば、リージョンrを含む現ピクチャを、リージョンrのあるタイルiの復号時に、参照ピクチャリストに含める構成とする。つまり、ヘッダ復号部3020は、region_dependency_flag[r][i][j]が1である場合に、現ピクチャを参照ピクチャリストに追加する。また、参照ピクチャリストを参照ピクチャセットから導出する構成では、リージョンrのあるタイルiの参照ピクチャセットとして、現ピクチャを加える構成でもよい。
 一方、region_dependency_flag[r][j]は、リージョン間の依存関係を示すフラグである (図16)。例えば、region_dependency_flag[r][j]は、リージョンrがリージョンj(j<r)を参照してもよいか否かを示すフラグであってもよい。この場合、リージョン内のタイル間には依存関係はないため、ヘッダ復号部3020はリージョン内のタイルを全て並列で処理することができる。リージョンrがリージョンjに依存している場合、リージョンrのあるタイルlは、リージョンjのあるタイルmを参照することができる。例えば、リージョンrのピクチャである現ピクチャを、リージョンrのあるタイルlの復号時に、参照ピクチャリストに含める構成とする。つまり、ヘッダ復号部3020は、region_dependency_flag[r][j]が1である場合に、現ピクチャを参照ピクチャリストに追加する。また、参照ピクチャリストを参照ピクチャセットから導出する構成では、リージョンrのあるタイルlの参照ピクチャセットとして、現ピクチャを加える構成でもよい。
 このように、動画像復号装置31は、ピクチャを複数のリージョン(第1の部分領域)に分割し、リージョンの少なくとも何れかを、複数のタイル(第2の部分領域)に分割する。そのため、動画像復号装置31は、ピクチャを2回分割することによってタイルに分割されるため、タイルへの分割の自由度を高くすることができる。また、リージョン内において、タイルの一辺に隣接するタイルの数が等しいため、タイル間に依存関係を持たせた場合であっても、参照するタイルを特定することが容易である。また、リージョンを垂直分割および水平分割することによってタイルに分割されるため、タイルは矩形の形となり、また、ピクチャ内においてタイルが分割されるので、ピクチャをタイルに適切に分割することができる。
 本構成において、図15のように、リージョン内のタイル間にのみ依存関係(参照関係)を持たせる場合、リージョン間において依存関係がないため、異なるリージョンの間では、シンタックスの値によらずに並列に動作が可能である。この構成では、異なるリージョンの処理を、別の処理手段(例えば異なるプロセッサや回路)で動作させる場合に、各処理手段間のデータの伝送量を最小限とすることができるため、メモリバンドが低減される。また、データの伝送に伴う同期が不要となる。一方で、同一のリージョン内では依存関係を持たせることができるため、例えば、リージョン内のあるタイルがあるビューに対応し、別のタイルが別のビューに対応する場合になどでは、タイル内の依存関係により、インタービュー予測を利用可能であるため、符号化効率が向上する。すなわち、リージョン内(例えばリージョンr)の一方のビュー(タイルj)をもう一方のビュー(タイルi)で参照することが可能になる。
 本構成において、図16のように、リージョン内のタイル間には依存関係(参照関係)を持たせず、リージョン間にのみ依存関係を持たせる構成では、リージョン内のタイル間において依存関係がないため、異なるタイルは、シンタックスの値によらずに並列に動作が可能である。この構成では、異なるタイルの処理を、別の処理手段(例えば異なるプロセッサや回路)で動作させる場合に、各処理手段間のデータの伝送量を最小限とすることができるため、メモリバンドが低減される。また、データの伝送に伴う同期が不要となる。一方で、異なるリージョン内では依存関係を持たせることができるため、例えば、あるリージョンのあるタイルがあるビューに対応し、別のリージョンのタイルが別のビューに対応する場合になどでは、リージョン間のタイル間の依存関係により、インタービュー予測を利用可能とすることができるため、符号化効率が向上する。すなわち、一方のビュー(リージョンjのタイルm)を、もう一方のビュー(リージョンrのタイルl)で参照することが可能になる。
 (タイルの分割における制約1)
 タイルの幅および高さを制約する構成について、以下に説明する。
 例えば、図9の(b)において、CTUを単位としてピクチャの幅が6、高さが3、T0の幅が1、高さが1、T1の幅が3、高さが2、T2の幅が2、高さが2の場合、T3は、幅の最大値が1、高さの最大値が2となる。そのため、T3は、幅および高さに最大値を設けることにより、適切に配置されることが可能となる。なお、タイルの大きさの単位として、CTUを用いているが、これに限定されない。例えば、タイルの大きさを輝度画素単位で指定する構成であってもよい。以下では、タイルの単位となる矩形を、サブタイルと称する。
 各タイルの最大幅は、各タイルの始点の位置(換言すると、サブタイルをラスタスキャンした場合に、タイルが配置されていない最初の位置。以下、「始点サブタイル」と称する。)からスキャン方向(例えば、ピクチャの左上位置から右方向にスキャンする場合、右方向)順に最初にある配置済みのサブタイル(他の領域)、またはピクチャ端のうち、最初に見つかった位置までである。例えば、図9の(b)では、T1の最大幅は5、T2の最大幅は2となる。
 各タイルの最大高さは、各タイルの始点サブタイルからスキャン方向(例えば、ピクチャの左上位置から右方向にスキャンする場合、下方向)順にピクチャ端までの長さである。例えば、図9の(b)では、T1の最大高さは3、T4の最大高さは1となる。
 このように設定された最大幅および最大高さを最大値として、各タイルの幅および高さの少なくとも何れかを示す情報を、可変長符号の最大値を設定した最大値付き可変長復号することにより、タイルのサイズの符号量を小さくをすることができる。なお、可変長符号の最大値を設定した最大値付き可変長復号の詳細については、後述する。具体的なシンタックスについては、図21を用いて説明する。
 図21は、タイルの分割に制約を設けたシンタックスの一例である。
 ヘッダ復号部3020は、tiles_enabled_flagを復号し、use_previous_tile_size_flagを復号するまでの処理は、上述した処理と同じ処理であるため、説明は省略する。なお、i=0の場合、すなわち、最初のタイルの場合、use_previous_tile_size_flagは復号せず、use_previous_tile_size_flag=0に設定する。
 use_previous_tile_size_flag=0の場合、ヘッダ復号部3020は、タイルiの幅の設定可能な最大値であるmaxTileWidth[i]が1より大きいか否かを判定する。ヘッダ復号部3020は、maxTileWidth[i]が1より大きいと判定した場合、タイルiの幅マイナス2を示すtile_width_minus2[i]を、可変長符号の最大値を設定した最大値付き可変長復号する。一方、ヘッダ復号部3020は、maxTileWidth[i]が1以下であると判定した場合、tile_width_minus1 [i]=0であるため、tile_width_minus2[i]は復号しない。
 use_previous_tile_size_flag=0の場合、ヘッダ復号部3020はさらに、タイルiの高さの設定可能な最大値であるmaxTileHeight[i]が1より大きいか否かを判定する。ヘッダ復号部3020は、maxTileHeight[i]が1より大きいと判定した場合、タイルiの高さマイナス2を示すtile_height_minus2[i]を可変長符号の最大値を設定した最大値付き可変長復号する。一方、ヘッダ復号部3020は、maxTileHeight[i]が1以下であると判定した場合、tile_height_minus1[i]=0であるため、tile_height_minus1[i]は復号しない。
 use_previous_tile_size_flag=1の場合、ヘッダ復号部3020は、直前のタイルの幅を示すprevious_widthおよび直前のタイルの高さを示すprevious_heightをtile_width、tile_heightとしてセットする。ここで、例えば、(1)previous_width>maxTileWidth[i]、(2)previous_height>maxTileHeight[i]、および(3)previous_width*previous_height>maxTileArea[i](maxTileArea[i]はタイルiに設定可能な最大面積を示す、詳細は後述する)の少なくとも1つを満たす場合、直前のタイルの幅および高さを使用することはできない。そのため、ヘッダ復号部3020は、上記(1)~(3)の少なくとも何れかを満たす場合、use_previous_tile_size_flagの復号を省略してもよい。
 このように、タイルの幅および高さを制約することにより、ピクチャ内に複数のタイルが重なって配置されることを防止することができるので、ピクチャをタイルに適切に分割することができる。
 (タイルの分割における制約2)
 タイルの面積を制約する構成について、以下に説明する。
 例えば、図9の(b)において、CTUを単位としてピクチャの幅が4、高さが3、T0の幅が1、高さが1の場合、T1~T4の4つのタイルで、11サブタイル使用することができる。そのうちT1は、始点サブタイルがT0の右上なので、最大8サブタイル使用することができる。そのため、例えば、T1の幅が3であった場合、T1の高さの最大値は2となる。すなわち、タイルが使用できるサブタイルの数(換言すると、タイルの面積)と、タイルの幅に応じて、高さの最大値を制約することができる。この場合、最後のタイルT4が矩形形状になる場合、T4の幅と高さの符号化データの復号を省略することができる。
 このように、タイルを設定可能な最大面積を導出し、導出した最大面積に応じて、タイルの幅および高さを示す情報を復号することにより、タイルのサイズの符号量を小さくをすることができる。具体的なシンタックスについては、図21を用いる。
 図22は、タイルの分割に制約を設けたシンタックスの他の例である。
 ヘッダ復号部3020は、tiles_enabled_flagを復号し、use_previous_tile_size_flagを復号するまでの処理は、上述した処理と同じ処理であるため、説明は省略する。
 ヘッダ復号部3020は、(1)number_of_tiles_in_picture_minus2+1がiではない(すなわち、iが最後のタイルではない場合)、または(2)maxTileWidth[i]とmaxTileHeight[i]との積が、maxTileArea[i]ではない場合(すなわち、設定可能なタイルiの幅の最大値と高さの最大値との積が、設定可能なタイルiの最大面積と等しくない場合)、の何れかを満たす場合、maxTileWidth[i]が1より大きいか否かを判定する。ヘッダ復号部3020は、maxTileWidth[i]が1より大きいと判定した場合、タイルiの幅マイナス2を示すtile_width_minus2[i]を可変長符号の最大値を設定した最大値付き可変長復号する。
 さらにヘッダ復号部3020は、上記(1)または(2)を満たす場合、maxTileHeight[i]が1より大きいか否かを判定する。ヘッダ復号部3020は、maxTileHeight[i]が1より大きいと判定した場合、タイルiの高さマイナス2を示すtile_height_minus1[i]を可変長符号の最大値を設定した最大値付き可変長復号する。
 ここで、maxTileArea[i]は、タイルiに設定可能な最大面積(サブタイル単位)を示す。maxTileArea[i]は、タイルi配置前の時点における残りサブタイル数から、タイルi以外の残りのタイル数を引いて導出される。すなわち、maxTileArea[i]は、maxTileArea[i]=numRestSubtiles-(number_of_tiles_in_picture_minus2+2- (i+1))によって導出される。
 numRestSubtilesは、配置されていないサブタイルの数を示し、i=0のとき、numRestSubtiles=(picWidth /(subtile_width_minus1+1))*(picHeight/(subtile_height_minus1+1))によって初期化される。numRestSubtilesは、タイルが配置される毎に、使用したサブタイル数を引いて、値を更新する。すなわち、numRestSubtilesは、numRestSubtiles-=(tile_width_minus1[i]+1)*(tile_height_minus1[i]+1)によって導出される。
 なお、図22には図示されていないが、ヘッダ復号部3020は、tile_width_minus1[i]を復号した後、tile_width_minus1[i]の値とタイルiに設定可能な最大面積を用いて、maxTileHeight[i] を更新するようにしてもよい。この場合、maxTileHeight[i]は、maxTileHeight[i]=floor(maxTileArea[i]/(tile_width_minus1[i]+1))によって導出される。導出したmaxTileHeight[i]が、導出前のmaxTileHeight[i]より小さい場合、ヘッダ復号部3020は、maxTileHeight[i]を導出したmaxTileHeight[i]に更新する。この構成により、タイルiの高さの設定可能な最大値が狭まるため、データ量を削減することができる。
 このように、タイルの面積を制約することにより、ピクチャ内に複数のタイルが重なって配置されることを防止することができる。また、ピクチャ内のタイル数が、設定されたタイルの数より少なくなることも防止することができる。すなわち、ピクチャをタイルに適切に分割することができる。
 (可変長符号の最大値を設定した最大値付き可変長復号)
 可変長符号の最大値を設定した最大値付き可変長復号について、図23、図24を用いて説明する。
 通常のユーナリ2値化(unary binarization)を用いた可変長符号化では、値が整数Xの場合、Xの数だけ1を符号化し、最後に0を符号化する。図23の(b)は、通常のユーナリ2値化を示す表である。
 一方、トランケーテッド・ユーナリ2値化(truncated unary binarization)を用いて可変長符号化する場合、値が最大(cMax)のときは、最後の0を符号化しない。また、トランケーテッド・ユーナリ2値化を用いて可変長符号化する場合、最大値cMaxより大きな値は符号化できない。そのため、トランケーテッド・ユーナリ2値化を用いた場合、通常のユーナリ2値化を用いた場合に比べて、最大値のときのビット長を1ビット短くすることができる。図23の(a)は、cMax=3のときの、トランケーテッド・ユーナリ2値化を示す表である。
 また、トランケーテッド・ライス2値化(trauncated rice binarization)を用いて可変長符号化する場合、入力値(symVal)を、プレフィックス部と、サフィックス部に分けて2値化する。
 プレフィックス値prefixValは、prefixVal=symVal/(1<<cRiceParam)によって算出される(cRiceParamは、ライス符号のパラメータ)。すなわち、プレフィックス値prefixValは、入力値symValを2^cRiceParamで割った商である。プレフィックス部は、トランケーテッド・ユーナリ2値化が用いられ、prefixValが最大値の場合は、最後の0は省略される。
 サフィックス値suffixValは、suffixVal=symVal-(prefixVal<<cRiceParam)によって算出される。すなわち、サフィックス値suffixValは、入力値symValを2^cRiceParamで割った剰余である。
 cRiceParamは、ライス符号のパラメータであり、サフィックス部のビット長は、cRiceParamのビット長となる。cRiceParam=0の場合は、トランケーテッド・ユーナリ2値化と同じになる。
 以上はcMax+1が2^cRiceParamの倍数である場合についてであるが、cMax+1が2^cRiceParamの倍数ではない場合には、ビット列で表現できる値の個数がcMax+1個を超えてしまう。このような場合には、例えば、いずれかのプレフィックスに対応するサフィックスのビット長を短縮または省略することで、cMaxを超える値を表すビット列が生じないようにできる。図24の(a)は、トランケーテッド・ライス2値化において、cMax=9、cRiceParam=1の場合を示す表であり、図24の(b)は、トランケーテッド・ライス2値化において、cMax=8、cRiceParam=1の場合を示す表である。
 図24の(b)に示すように、cMax=8(cMax+1が2^cRiceParamの倍数ではない)場合であっても、プレフィックスが0のときにサフィックスを符号化しないことにより、全体で表現できる値の数を9個(cMax+1)にできる。このようにして、最大値cMaxを超えるデータが符号化されることを防ぐ。なお、この場合のプレフィックス値とサフィックス値は、次のよ
うにして求められる。
 prefixVal = 0 if symVal < 1
 prefixVal = (symVal-1)/(1<<cRiveParam)+1 if symVal >= 1
 また、大きな値を符号化する場合、トランケーテッド・ライス2値化を用いると、通常のユーナリ2値化を用いた場合に比べて、ビット列を短くすることができる。
 このように、動画像復号装置31は、ピクチャをタイル(領域)に分割し、ピクチャを符号化した符号化データに含まれるヘッダを復号し、分割されたタイル毎に復号画像を生成する。その中において、タイルの幅及び高さを示すシンタックス(情報)を、可変長符号の最大値を設定した最大値付き可変長復号によって復号する。そのため、動画像復号装置31は、タイルの分割において、幅、高さ、および面積などに制約ができ、禁止されている方法でのタイル分割ができなくなるので、ピクチャをタイルに適切に分割することができる。
 (可変長符号の最大値を設定した最大値付き可変長復号)
 可変長符号の最大値を設定した最大値付き可変長復号について、図23、図24を用いて説明する。
 通常のユーナリ2値化(unary binarization)を用いた可変長符号化では、値が整数Xの場合、Xの数だけ1を符号化し、最後に0を符号化する。図23の(b)は、通常のユーナリ2値化を示す表である。
 一方、トランケーテッド・ユーナリ2値化(truncated unary binarization)を用いて可変長符号化する場合、値が最大(cMax)のときは、最後の0を符号化しない。また、トランケーテッド・ユーナリ2値化を用いて可変長符号化する場合、最大値cMaxより大きな値は符号化できない。そのため、トランケーテッド・ユーナリ2値化を用いた場合、通常のユーナリ2値化を用いた場合に比べて、最大値のときのビット長を1ビット短くすることができる。図23の(a)は、cMax=3のときの、トランケーテッド・ユーナリ2値化を示す表である。
 また、トランケーテッド・ライス2値化(trauncated rice binarization)を用いて可変長符号化する場合、入力値(symVal)を、プレフィックス部と、サフィックス部に分けて2値化する。
 プレフィックス値prefixValは、prefixVal=symVal/(1<<cRiceParam)によって算出される(cRiceParamは、ライス符号のパラメータ)。すなわち、プレフィックス値prefixValは、入力値symValを2^cRiceParamで割った商である。プレフィックス部は、トランケーテ
ッド・ユーナリ2値化が用いられ、prefixValが最大値の場合は、最後の0は省略される。
 サフィックス値suffixValは、suffixVal=symVal-(prefixVal<<cRiceParam)によって算出される。すなわち、サフィックス値suffixValは、入力値symValを2^cRiceParamで割った剰余である。
 cRiceParamは、ライス符号のパラメータであり、サフィックス部のビット長は、cRiceParamのビット長となる。cRiceParam=0の場合は、トランケーテッド・ユーナリ2値化と同
じになる。
 以上はcMax+1が2^cRiceParamの倍数である場合についてであるが、cMax+1が2^cRiceParamの倍数ではない場合には、ビット列で表現できる値の個数がcMax+1個を超えてしまう。
このような場合には、例えば、いずれかのプレフィックスに対応するサフィックスのビット長を短縮または省略することで、cMaxを超える値を表すビット列が生じないようにできる。図24の(a)は、トランケーテッド・ライス2値化において、cMax=9、cRiceParam=1の場合を示す表であり、図24の(b)は、トランケーテッド・ライス2値化において、cMax=8、cRiceParam=1の場合を示す表である。
 図24の(b)に示すように、cMax=8(cMax+1が2^cRiceParamの倍数ではない)場合であっても、プレフィックスが0のときにサフィックスを符号化しないことにより、全体で表現できる値の数を9個(cMax+1)にできる。このようにして、最大値cMaxを超えるデータが符号化されることを防ぐ。なお、この場合のプレフィックス値とサフィックス値は、次のよ
うにして求められる。
 prefixVal = 0 if symVal < 1
 prefixVal = (symVal-1)/(1<<cRiveParam)+1 if symVal >= 1
 また、大きな値を符号化する場合、トランケーテッド・ライス2値化を用いると、通常のユーナリ2値化を用いた場合に比べて、ビット列を短くすることができる。
 このように、動画像復号装置31は、ピクチャをタイル(領域)に分割し、ピクチャを符号化した符号化データに含まれるヘッダを復号し、分割されたタイル毎に復号画像を生成する。その中において、タイルの幅及び高さを示すシンタックス(情報)を、可変長符号の最大値を設定した最大値付き可変長復号によって復号する。そのため、動画像復号装置31は、タイルの分割において、幅、高さ、および面積などに制約ができ、禁止されている方法でのタイル分割ができなくなるので、ピクチャをタイルに適切に分割することができる。
  (動画像符号化装置の構成)
 次に、本実施形態に係る動画像符号化装置11の構成について説明する。図6は、本実施形態に係る動画像符号化装置11の構成を示すブロック図である。動画像符号化装置11は、予測画像生成部101、減算部102、変換・量子化部103、逆量子化・逆変換部105、加算部106、ループフィルタ107、予測パラメータメモリ(予測パラメータ記憶部、フレームメモリ)108、参照ピクチャメモリ(参照画像記憶部、フレームメモリ)109、符号化パラメータ決定部110、パラメータ符号化部111(画像符号化部、分割部)、エントロピー符号化部104を含んで構成される。
 予測画像生成部101は画像Tの各ピクチャを分割した領域であるCU毎に予測画像を生成する。予測画像生成部101は既に説明した予測画像生成部308と同じ動作であり、説明を省略する。
 減算部102は、予測画像生成部101から入力されたブロックの予測画像の画素値を、画像Tの画素値から減算して予測誤差を生成する。減算部102は予測誤差を変換・量子化部103に出力する。
 変換・量子化部103は、減算部102から入力された予測誤差に対し、周波数変換によって変換係数を算出し、量子化によって量子化変換係数を導出する。変換・量子化部103は、量子化変換係数をエントロピー符号化部104及び逆量子化・逆変換部105に出力する。
 逆量子化・逆変換部105は、動画像復号装置31における逆量子化・逆変換部311(図4)と同じであり、説明を省略する。算出した予測誤差は加算部106に出力される。
 エントロピー符号化部104には、変換・量子化部103から量子化変換係数が入力され、パラメータ符号化部111から符号化パラメータが入力される。符号化パラメータには、例えば、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLX、予測モードpredMode、及びマージインデックスmerge_idx等の符号がある。
 エントロピー符号化部104は、分割情報、予測パラメータ、量子化変換係数等をエントロピー符号化して符号化ストリームTeを生成し、出力する。
 パラメータ符号化部111は、インター予測パラメータ符号化部112とイントラ予測パラメータ符号化部113からなる。
 パラメータ符号化部111は、ヘッダ符号化部1110、CT情報符号化部1111、CU符号化部1112(予測モード符号化部)、エントロピー符号化部104、および図示しないインター予測パラメータ符号化部112とイントラ予測パラメータ符号化部113を備えている。CU符号化部1112はさらにTU符号化部1114を備えている。
 以下、各モジュールの概略動作を説明する。パラメータ符号化部111はヘッダ情報、分割情報、予測情報、量子化変換係数等のパラメータの符号化処理を行う。すなわち、パラ
メータ符号化部111において、分割情報(タイル情報)が符号化される。
 CT情報符号化部1111は、符号化データからQT、MT(BT、TT)分割情報等を符号化する。
 CU符号化部1112はCU情報、予測情報、TU分割フラグsplit_transform_flag、CU残差フラグcbf_cb、cbf_cr、cbf_luma等を符号化する。
 TU符号化部1114は、TUに予測誤差が含まれている場合に、QP更新情報(量子化補正値)と量子化予測誤差(residual_coding)を符号化する。
 エントロピー符号化部104は、供給元から供給されるシンタックス要素をバイナリデータに変換し、CABAC等のエントロピー符号化方式により符号化データを生成し、出力する。図6に示す例では、シンタックス要素の供給元は、CT情報符号化部1111、CU符号化部1112である。シンタックス要素は、インター予測パラメータ(予測モードpredMode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLX)、イントラ予測パラメータ(prev_intra_luma_pred_flag、mpm_idx、rem_selected_mode_flag、rem_selected_mode、rem_non_selected_mode、)、量子化変換係数等である。
  (インター予測パラメータ符号化部の構成)
 インター予測パラメータ符号化部112は、符号化パラメータ決定部110から入力された予測パラメータに基づいて、インター予測パラメータを導出する。インター予測パラメータ符号化部112は、インター予測パラメータ復号部303がインター予測パラメータを導出する構成と一部同一の構成を含む。
 インター予測パラメータ符号化部112の構成について説明する。図7に示すように、パラメータ符号化制御部1121、AMVP予測パラメータ導出部1122、減算部1123、サブブロック予測パラメータ導出部1125等を含んで構成される。パラメータ符号化制御部1121は、マージインデックス導出部11211とベクトル候補インデックス導出部11212を含む。マージインデクス導出部11211、ベクトル候補インデクス導出部11212、AMVP予測パラメータ導出部1122、サブブロック予測パラメータ導出部1125を総称して動きベクトル導出部(動きベクトル導出装置)と称してもよい。インター予測パラメータ符号化部112は、動きベクトル(mvLX、subMvLX)、参照ピクチャインデックスrefIdxLX、インター予測識別子inter_pred_idc、あるいはこれらを示す情報を予測画像生成部101に出力する。またインター予測パラメータ符号化部112は、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_lX_idx、差分ベクトルmvdLX、サブブロック予測モードフラグsubPbMotionFlagをエントロピー符号化部104に出力する。
 マージインデックス導出部11211は、符号化パラメータ決定部110から入力された動きベクトルと参照ピクチャインデックスを、予測パラメータメモリ108から読み出したマージ候補のブロックが持つ動きベクトルと参照ピクチャインデックスと比較して、マージインデックスmerge_idxを導出し、エントロピー符号化部104に出力する。マージ候補とは、対象CUから予め定めた範囲にある参照ブロック(例えば、対象ブロックの左端、左下端、左上端、上端、右上端に接するブロック)であって、符号化処理が完了したブロックである。ベクトル候補インデックス導出部11212は予測ベクトルインデックスmvp_lX_idxを導出する。
 AMVP予測パラメータ導出部1122は動きベクトルmvLXに基づいて予測ベクトルmvpLXを導出する。AMVP予測パラメータ導出部1122は予測ベクトルmvpLXを減算部1123に出力する。なお、参照ピクチャインデックスrefIdxLX及び予測ベクトルインデックスmvp_lX_idxは、エントロピー符号化部104に出力される。
 減算部1123は、符号化パラメータ決定部110から入力された動きベクトルmvLXから、AMVP予測パラメータ導出部1122の出力である予測ベクトルmvpLXを減算して差分ベクトルmvdLXを生成する。差分ベクトルmvdLXはエントロピー符号化部104に出力される。
  (イントラ予測パラメータ符号化部113の構成)
 イントラ予測パラメータ符号化部113は、符号化パラメータ決定部110から入力されたイントラ予測モードIntraPredModeから、符号化するための形式(例えばmpm_idx、rem_intra_luma_pred_mode等)を導出する。イントラ予測パラメータ符号化部113は、イントラ予測パラメータ復号部304がイントラ予測パラメータを導出する構成と、一部同一の構成を含む。
 図8は、パラメータ符号化部111のイントラ予測パラメータ符号化部113の構成を示す概略図である。イントラ予測パラメータ符号化部113は、パラメータ符号化制御部1131、輝度イントラ予測パラメータ導出部1132、色差イントラ予測パラメータ導出部1133とを含んで構成される。
 パラメータ符号化制御部1131には、符号化パラメータ決定部110から輝度予測モードIntraPredModeYおよび色差予測モードIntraPredModeCが入力される。パラメータ符号化制御部1131は参照候補リスト導出部30421のMPM候補リストmpmCandList[]を参照して、prev_intra_luma_pred_flagを決定する。そして、prev_intra_luma_pred_flagと輝度予測モードIntraPredModeYを、輝度イントラ予測パラメータ導出部1132に出力する。また、色差予測モードIntraPredModeCを色差イントラ予測パラメータ導出部1133に出力する。
 輝度イントラ予測パラメータ導出部1132は、MPM候補リスト導出部30421(候補リスト導出部)と、MPMパラメータ導出部11322と、非MPMパラメータ導出部11323(符号化部、導出部)とを含んで構成される。
 MPM候補リスト導出部30421は、予測パラメータメモリ108に格納された隣接ブロックのイントラ予測モードを参照して、MPM候補リストmpmCandList[]を導出する。MPMパラメータ導出部11322は、prev_intra_luma_pred_flagが1の場合に、輝度予測モードIntraPredModeYとMPM候補リストmpmCandList[]からmpm_idxを導出し、エントロピー符号化部104に出力する。非MPMパラメータ導出部11323は、prev_intra_luma_pred_flagが0の場合に、輝度予測モードIntraPredModeYとMPM候補リストmpmCandList[]からRemIntraPredModeを導出し、rem_selected_mode、あるいは、rem_non_selected_modeをエントロピー符号化部104に出力する。
 色差イントラ予測パラメータ導出部1133は、輝度予測モードIntraPredModeYと色差予測モードIntraPredModeCからnot_dm_chroma_flag、not_lm_chroma_flag、chroma_intra_mode_idxを導出し、出力する。
 加算部106は、予測画像生成部101から入力されたブロックの予測画像の画素値と逆量子化・逆変換部105から入力された予測誤差を画素毎に加算して復号画像を生成する。加算部106は生成した復号画像を参照ピクチャメモリ109に記憶する。
 ループフィルタ107は加算部106が生成した復号画像に対し、デブロッキングフィルタ、SAO、ALFを施す。なお、ループフィルタ107は、必ずしも上記3種類のフィルタを含まなくてもよく、例えばデブロッキングフィルタのみの構成であってもよい。
 予測パラメータメモリ108は、符号化パラメータ決定部110が生成した予測パラメータを、対象ピクチャ及びCU毎に予め定めた位置に記憶する。
 参照ピクチャメモリ109は、ループフィルタ107が生成した復号画像を対象ピクチャ及びCU毎に予め定めた位置に記憶する。
 符号化パラメータ決定部110は、符号化パラメータの複数のセットのうち、1つのセットを選択する。符号化パラメータとは、上述したQT、BTあるいはTT分割情報、予測パラメータ、あるいはこれらに関連して生成される符号化の対象となるパラメータである。予測画像生成部101は、これらの符号化パラメータを用いて予測画像を生成する。
 符号化パラメータ決定部110は、複数のセットの各々について情報量の大きさと符号化誤差を示すRDコスト値を算出する。RDコスト値は、例えば、符号量と二乗誤差に係数λを乗じた値との和である。符号量は、量子化誤差と符号化パラメータをエントロピー符号化して得られる符号化ストリームTeの情報量である。二乗誤差は、減算部102において算出された予測誤差の二乗和である。係数λは、予め設定されたゼロよりも大きい実数である。符号化パラメータ決定部110は、算出したコスト値が最小となる符号化パラメータのセットを選択する。これにより、エントロピー符号化部104は、選択した符号化パラメータのセットを符号化ストリームTeとして出力する。符号化パラメータ決定部110は決定した符号化パラメータを予測パラメータメモリ108に記憶する。
 なお、上述した実施形態における動画像符号化装置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を、動画像の送信及び受信に利用できることを、図18を参照して説明する。
 図18(a)は、動画像符号化装置11を搭載した送信装置PROD_Aの構成を示したブロック図である。図18(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を更に備えていてもよい。図18(a)においては、これら全てを送信装置PROD_Aが備えた構成を例示しているが、一部を省略しても構わない。
 なお、記録媒体PROD_A5は、符号化されていない動画像を記録したものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化された動画像を記録した
ものであってもよい。後者の場合、記録媒体PROD_A5と符号化部PROD_A1との間に、記録媒体PROD_A5から読み出した符号化データを記録用の符号化方式に従って復号する復号部(不図示)を介在させるとよい。
 図18(b)は、動画像復号装置31を搭載した受信装置PROD_Bの構成を示したブロック図である。図18(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を更に備えていてもよい。図18(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を、動画像の記録及び再生に利用できることを、図19を参照して説明する。
 図19(a)は、上述した動画像符号化装置11を搭載した記録装置PROD_Cの構成を示したブロック図である。図19(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を更に備えていてもよい。図19(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の一例である。
 図19(B)は、上述した動画像復号装置31を搭載した再生装置PROD_Dの構成を示したブロックである。図19(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を更に備えていてもよい。図19(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(Random Access Memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の実施形態の目的は、上述した機能を実現するソフトウェアである上記各装置の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記各装置に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
 上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ類、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD-ROM(Compact Disc Read-Only Memory)/MOディスク(Magneto-Optical disc)/MD(Mini Disc)/DVD(Digital Versatile Disc)/CD-R(CD Recordable)/ブルーレイディスク(Blu-ray Disc:登録商標)等の光ディスクを含むディスク類、ICカード(メモリカードを含む)/光カード等のカード類、マスクROM/EPROM(Erasable Programmable Read-Only Memory)/EEPROM(Electrically Erasable and Programmable Read-Only Memory:登録商標)/フラッシュROM等の半導体メモリ類、あるいはPLD(Programmable logic device)やFPGA(Field Programmable Gate Array)等の論理回路類などを用いることができる。
 また、上記各装置を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、LAN(Local Area Network)、ISDN(Integrated Services Digital Network)、VAN(Value-Added Network)、CATV(Community Antenna television/Cable Television)通信網、仮想専用網(Virtual Private Network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成または種類のものに限定されない。例えば、IEEE(Institute of Electrical and 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:登録商標)、携帯電話網、衛星回線、地上デジタル放送網等の無線でも利用可能である。なお、本発明の実施形態は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
 本発明の実施形態は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
 〔まとめ〕
 本発明の態様1に係る画像復号装置(動画像復号装置31)は、ピクチャを分割する分割部(ヘッダ復号部3020)と、上記分割部によって分割された領域毎に復号画像を生成する復号画像生成部(パラメータ復号部302)とを備えており、上記分割部は、上記ピクチャを複数の第1の部分領域(リージョン)に分割し、上記第1の部分領域の少なくとも何れかを、複数の第2の部分領域(タイル)に分割する。
 上記の構成によれば、画像復号装置は、タイルへの分割の自由度を高くするとともに、ピクチャをタイルに適切に分割することができる。
 本発明の態様2に係る画像復号装置において、上記態様1における分割部は、上記ピクチャを垂直方向および水平方向の少なくとも何れかに分割する数を示す情報(num_region_columns_minus1、num_region_rows_minus1)を参照して、上記ピクチャを上記第1の部分領域に分割してもよい。
 上記の構成によれば、画像復号装置は、ピクチャを適切にリージョンに分割することができる。
 本発明の態様3に係る画像復号装置において、上記態様2における分割部は、上記複数の第1の部分領域のうち、少なくとも1つの第1の部分領域の幅および高さを示す情報(region_width_minus1[i]、region_height_minus1[i])を参照して、上記ピクチャを上記複数の第1の部分領域に分割してもよい。
 上記の構成によれば、画像復号装置は、ピクチャを適切にリージョンに分割することができる。
 本発明の態様4に係る画像復号装置において、上記態様1~3の何れかにおける分割部は、上記複数の第1の部分領域の少なくとも何れかを垂直方向および水平方向の少なくとも何れかに分割する数を示す情報(num_tile_columns_minus1[r]、num_tile_rows_minus1 [r])を参照して、上記複数の第1の部分領域の少なくとも何れかを上記第2の部分領域に分割してもよい。
 上記の構成によれば、画像復号装置は、リージョンを適切にタイルに分割することができる。
 本発明の態様5に係る画像復号装置において、上記態様4における分割部は、上記複数の第2の部分領域のうち、少なくとも1つの第2の部分領域の幅および高さを示す情報(column_width_minus1[r][i]、row_height_minus1[r][i])を参照して、上記複数の第1の部分領域の少なくとも何れかを上記複数の第2の部分領域に分割してもよい。
 上記の構成によれば、画像復号装置は、リージョンを適切にタイルに分割することができる。
 本発明の態様6に係る画像復号装置において、上記態様1~4の何れかにおける分割部は、上記第2の部分領域が属する第1の部分領域内において、当該第2の部分領域が他の第2の部分領域を参照するか否かを示すフラグ(tile_dependency_flag[r][i][j])を復号してもよい。
 上記の構成によれば、画像復号装置は、タイルが含まれているリージョン内において、タイル間の依存関係を用いることができる。
 本発明の態様7に係る画像符号化装置(動画像符号化装置11)は、ピクチャを分割する分割部(パラメータ符号化部111)と、上記分割部によって分割された領域毎に画像を符号化する画像符号化部(パラメータ符号化部111)とを備えており、上記分割部は、上記ピクチャを複数の第1の部分領域に分割し、上記第1の部分領域の少なくとも何れかを、複数の第2の部分領域に分割する。
 上記の構成によれば、画像符号化装置は、態様1に係る画像復号装置に対応する画像符号化装置を実現できる。
 本発明の態様8に係る画像復号装置(動画像復号装置31)は、ピクチャを分割する分割部(ヘッダ復号部3020)と、上記分割部によって分割された領域(タイル)毎に復号画像を生成する復号画像生成部(パラメータ復号部302)と、上記ピクチャを符号化した符号化データに含まれるヘッダを復号するヘッダ復号部(3020)と、を備えており、上記ヘッダ復号部は、上記領域の幅及び高さを示す情報(maxTileWidth、maxTileHeight)を、可変長符号の最大値を設定した最大値付き可変長復号によって復号する。
 上記の構成によれば、画像復号装置は、ピクチャをタイルに適切に分割することができる。
 本発明の態様9に係る画像復号装置において、上記態様8におけるヘッダ復号部は、上記領域を設定可能な最大面積(maxTileArea)を導出し、導出した最大面積に応じて、上記領域の幅及び高さを示す情報を復号してもよい。
 上記の構成によれば、画像復号装置は、ピクチャをタイルに適切に分割することができる。
 本発明の態様10に係る画像復号装置において、上記態様8または9における領域の幅の最大値は、当該領域の左上位置から、スキャン順に最初にある配置済みの他の領域までの長さ、または当該領域の左上位置から、スキャン順にピクチャの端までの長さであってもよい。
 上記の構成によれば、画像復号装置は、ピクチャをタイルに適切に分割することができる。
 本発明の態様11に係る画像復号装置において、上記態様8~10の何れかにおける領域の高さの最大値は、当該領域の左上位置から、スキャン順にピクチャの端までの長さであってもよい。
 上記の構成によれば、画像復号装置は、ピクチャをタイルに適切に分割することができる。
 本発明の態様12に係る画像符号化装置(動画像符号化装置11)は、ピクチャを分割する分割部(パラメータ符号化部111)と、上記分割部によって分割された領域毎に復号画像を符号化する画像符号化部(パラメータ符号化部111)と、を備えており、上記画像符号化部は、上記領域の幅及び高さを示す情報を、可変長符号の最大値を設定した最大値付き可変長符号化によって符号化する。
 上記の構成によれば、画像符号化装置は、態様8に係る画像復号装置に対応する画像符号化装置を実現できる。
 〔付記事項〕
 上述の非特許文献2("Flexible tiles", JVET-K0260-v2, Joint Video Experts Team(JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/wg 11, 2018-7-10-18)の技術では、タイルの分割方法の自由度が高いため、以下のようにピクチャを分割したタイルは禁止されている。
・ピクチャ内に、複数のタイルが重なって配置される領域がある
・ピクチャ内にタイルが配置されていない領域がある
・ピクチャ内のタイルの数が、設定されたタイルの数より少ない
・タイルがピクチャ内に収まらない
 しかしながら、上述の非特許文献2では、禁止されているものの、上記のようなタイルの設定ができてしまうという問題がある。
 本発明の一態様によれば、ピクチャをタイルに適切に分割することができる。
 本発明の実施形態は、画像データが符号化された符号化データを復号する動画像復号装置、および、画像データが符号化された符号化データを生成する動画像符号化装置に好適に適用することができる。また、動画像符号化装置によって生成され、動画像復号装置によって参照される符号化データのデータ構造に好適に適用することができる。
 (関連出願の相互参照)
 本出願は、2018年8月28日に出願された日本国特許出願:特願2018-159633、及び
2018年8月28日に出願された日本国特許出願:特願2018-159634に対して優先権の利益を主張するものであり、それを参照することにより、その内容の全てが本書に含まれる。
 11   動画像符号化装置(画像符号化装置)
 111  パラメータ符号化部(画像符号化部、分割部)
 31   動画像復号装置(画像復号装置)
 302  パラメータ復号部(復号画像生成部)
 3020 ヘッダ復号部(分割部)

Claims (17)

  1.  ピクチャを分割する分割部と、
     上記分割部によって分割された領域毎に復号画像を生成する復号画像生成部とを備えており、
     上記分割部は、
      上記ピクチャを複数の第1の部分領域に分割し、
      上記第1の部分領域の少なくとも何れかを、複数の第2の部分領域に分割する画像復号装置において、
     第1の部分領域内の第2の領域は同じピクチャ内の他の第1の部分領域内の第2の領域を参照せずに復号可能な矩形領域であり、
     第2の部分領域はCTUから構成され、同じピクチャ内の他の第1のタイル内のCTUを参照せずに復号可能な矩形領域である
    ことを特徴とする画像復号装置。
  2.  上記分割部は、PPSで通知される第1の部分領域の個数及び高さ、および、第2の部分領域の個数及び高さに関する情報を参照して、上記ピクチャを上記第1の部分領域、および、第2の部分領域に分割する
    ことを特徴とする請求項1に記載の画像復号装置。
  3.  上記分割部は、PPSで通知される第1の部分領域の幅に関する情報を参照して、上記ピクチャを上記第1の部分領域、および、第2の部分領域に分割する
    ことを特徴とする請求項1または2に記載の画像復号装置。
  4.  上記第2の部分領域は、複数のCTUから構成されることを特徴とする請求項1~3の何れか1項に記載の画像復号装置。
  5.  ピクチャを分割する分割部と、
     上記分割部によって分割された領域毎に画像を符号化する画像符号化部とを備えており、
     上記分割部は、
      上記ピクチャを複数の第1の部分領域に分割し、
      上記第1の部分領域の少なくとも何れかを、複数の第2の部分領域に分割する画像符号化装置において、
     第1の部分領域は同じピクチャ内の他の第1の部分領域を参照せずに符号化可能な矩形領域であり、
     第2の部分領域はCTUから構成される
    ことを特徴とする画像符号化装置。
  6.  ピクチャを分割する分割部と、
     上記分割部によって分割された領域毎に復号画像を生成する復号画像生成部と
    を備えており、
     上記分割部は、
      上記ピクチャを複数の第1の部分領域に分割し、
      上記第1の部分領域の少なくとも何れかを、複数の第2の部分領域に分割する
    ことを特徴とする画像復号装置。
  7.  上記分割部は、上記ピクチャを垂直方向および水平方向の少なくとも何れかに分割する数を示す情報を参照して、上記ピクチャを上記第1の部分領域に分割する
    ことを特徴とする請求項6に記載の画像復号装置。
  8.  上記分割部は、上記複数の第1の部分領域のうち、少なくとも1つの第1の部分領域の幅および高さを示す情報を参照して、上記ピクチャを上記複数の第1の部分領域に分割する
    ことを特徴とする請求項7に記載の画像復号装置。
  9.  上記分割部は、上記複数の第1の部分領域の少なくとも何れかを垂直方向および水平方向の少なくとも何れかに分割する数を示す情報を参照して、上記複数の第1の部分領域の少なくとも何れかを上記第2の部分領域に分割する
    ことを特徴とする請求項6~8の何れか1項に記載の画像復号装置。
  10.  上記分割部は、上記複数の第2の部分領域のうち、少なくとも1つの第2の部分領域の幅および高さを示す情報を参照して、上記複数の第1の部分領域の少なくとも何れかを上記複数の第2の部分領域に分割する
    ことを特徴とする請求項9に記載の画像復号装置。
  11.  上記分割部は、上記第2の部分領域が属する第1の部分領域内において、当該第2の部分領域が他の第2の部分領域を参照するか否かを示すフラグを復号する
    ことを特徴とする請求項6~10の何れか1項に記載の画像復号装置。
  12.  ピクチャを分割する分割部と、
     上記分割部によって分割された領域毎に画像を符号化する画像符号化部と
    を備えており、
     上記分割部は、
      上記ピクチャを複数の第1の部分領域に分割し、
      上記第1の部分領域の少なくとも何れかを、複数の第2の部分領域に分割する
    ことを特徴とする画像符号化装置。
  13.  ピクチャを分割する分割部と、
     上記分割部によって分割された領域毎に復号画像を生成する復号画像生成部と、
     上記ピクチャを符号化した符号化データに含まれるヘッダを復号するヘッダ復号部と、を備えており、
     上記ヘッダ復号部は、上記領域の幅及び高さを示す情報を、可変長符号の最大値を設定した最大値付き可変長復号によって復号する
    ことを特徴とする画像復号装置。
  14.  上記ヘッダ復号部は、
     上記領域を設定可能な最大面積を導出し、導出した最大面積に応じて、上記領域の幅及び高さを示す情報を復号する
    ことを特徴とする請求項6に記載の画像復号装置。
  15.  上記領域の幅の最大値は、
      当該領域の左上位置から、スキャン順に最初にある配置済みの他の領域までの長さ、または
      当該領域の左上位置から、スキャン順にピクチャの端までの長さである
    ことを特徴とする請求項6または7に記載の画像復号装置。
  16.  上記領域の高さの最大値は、当該領域の左上位置から、スキャン順にピクチャの端までの長さである
    ことを特徴とする請求項6~8の何れか1項に記載の画像復号装置。
  17.  ピクチャを分割する分割部と、
     上記分割部によって分割された領域毎に復号画像を符号化する画像符号化部と、
    を備えており、
     上記画像符号化部は、上記領域の幅及び高さを示す情報を、可変長符号の最大値を設定した最大値付き可変長符号化によって符号化する
    ことを特徴とする画像符号化装置。
     
PCT/JP2019/033016 2018-08-28 2019-08-23 画像復号装置および画像符号化装置 WO2020045275A1 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2018-159633 2018-08-28
JP2018159634 2018-08-28
JP2018-159634 2018-08-28
JP2018159633 2018-08-28

Publications (1)

Publication Number Publication Date
WO2020045275A1 true WO2020045275A1 (ja) 2020-03-05

Family

ID=69644209

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/033016 WO2020045275A1 (ja) 2018-08-28 2019-08-23 画像復号装置および画像符号化装置

Country Status (1)

Country Link
WO (1) WO2020045275A1 (ja)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
COBAN, MUHAMMED ET AL.: "Support of independent sub-pictures", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP3 AND ISO/IEC JTC 1/SC 29/WG 11 9TH MEETING, 27 April 2012 (2012-04-27), Geneva, CH *
WANG, YE-KUI ET AL.: "On flexible tiling", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 13TH MEETING, 9 January 2019 (2019-01-09), Marrakech, MA, pages 1 - 8, XP030197803 *

Similar Documents

Publication Publication Date Title
WO2018037853A1 (ja) 画像復号装置及び画像符号化装置
JP7402016B2 (ja) 画像復号装置及び画像符号化装置
WO2020116376A1 (ja) 動画像復号装置および動画像符号化装置
WO2020045248A1 (ja) 動画像復号装置および動画像符号化装置
JP7461347B2 (ja) 画像復号装置、画像符号化装置、画像復号方法及び画像符号化方法
JPWO2020241858A5 (ja)
JP2020061701A (ja) 動画像符号化装置および動画像復号装置
CN112532976A (zh) 运动图像解码装置以及运动图像编码装置
WO2020184366A1 (ja) 画像復号装置
WO2020004349A1 (ja) 動画像符号化装置および動画像復号装置
JP2020141285A (ja) 画像復号装置
WO2020067440A1 (ja) 動画像符号化装置および動画像復号装置
WO2020004277A1 (ja) 画像復号装置、および画像符号化装置
WO2020045275A1 (ja) 画像復号装置および画像符号化装置
JP2021034887A (ja) 画像復号装置及び画像符号化装置
JP2021106309A (ja) 動画像復号装置および動画像符号化装置
JP2021153213A (ja) 動画像符号化装置および動画像復号装置
JP2021034966A (ja) 動画像符号化装置、動画像復号装置
JP2020107961A (ja) 動画像符号化装置および動画像復号装置
JP7425568B2 (ja) 動画像復号装置、動画像符号化装置、動画像復号方法および動画像符号化方法
JP7444570B2 (ja) 動画像復号装置、動画像符号化装置、動画像復号方法および動画像符号化方法
JP7397586B2 (ja) 画像復号装置及び画像符号化装置
JP2020005199A (ja) 画素サンプリングインターリーブ画像符号化/復号装置
JP2020195013A (ja) 画像復号装置および画像符号化装置
JP2021153214A (ja) 動画像符号化装置および動画像復号装置

Legal Events

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

Ref document number: 19855109

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19855109

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP