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

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

Info

Publication number
WO2019131778A1
WO2019131778A1 PCT/JP2018/047887 JP2018047887W WO2019131778A1 WO 2019131778 A1 WO2019131778 A1 WO 2019131778A1 JP 2018047887 W JP2018047887 W JP 2018047887W WO 2019131778 A1 WO2019131778 A1 WO 2019131778A1
Authority
WO
WIPO (PCT)
Prior art keywords
tile
view
image
unit
decoding
Prior art date
Application number
PCT/JP2018/047887
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 WO2019131778A1 publication Critical patent/WO2019131778A1/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • 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 the present invention relates to an image decoding device and an image coding device.
  • a moving picture coding apparatus that generates coded data by coding a moving picture to efficiently transmit or record a moving picture, and a moving picture that generates a decoded picture by decoding the coded data.
  • An image decoding device is used.
  • HEVC High-Efficiency Video Coding
  • an image (picture) constituting a moving picture is a slice obtained by dividing the image, a coding tree unit obtained by dividing the slice (CTU: Coding Tree Unit)
  • a coding unit obtained by dividing a coding tree unit (sometimes called a coding unit (CU))
  • a prediction unit which is a block obtained by dividing a coding unit It is managed by the hierarchical structure which consists of (PU) and a transform unit (TU), and is encoded / decoded per CU.
  • a predicted picture is usually generated based on a locally decoded picture obtained by coding / decoding an input picture, and the predicted picture is generated from the input picture (original picture).
  • the prediction residual obtained by subtraction (sometimes referred to as "difference image” or "residual image") is encoded.
  • inter prediction inter prediction
  • intra-screen prediction intra prediction
  • Non-Patent Document 1 can be cited as a technology for moving picture encoding and decoding in recent years.
  • Non-Patent Document 2 defines a technique called frame packing in which two view images are integrated into one picture. With frame packing, it is possible to encode stereo images without using scalable coding. Further, Non-Patent Document 3 discloses a technique for encoding a stereo image using intra block copying.
  • One aspect of the present invention has been made in view of the above problems, and can reduce the amount of processing and transmission data when decoding and transmitting a specific view image from a picture in which a plurality of view images are frame-packed.
  • An object of the present invention is to realize an image decoding apparatus.
  • Another object of the present invention is to realize an image coding apparatus that creates a coded stream capable of extracting a specific view image with a small amount of processing.
  • One aspect of the present invention is made in view of the above problems, and another object is to be able to efficiently decode a view image when decoding a view image included in a picture subjected to frame packing. It is to provide technology.
  • an image decoding apparatus is an image decoding apparatus that decodes a coded stream of an image, and includes a header information decoding unit and a picture decoding unit, and The header information decoding unit decodes view packing information which is view packing information included in the parameter set of the encoded stream and which indicates whether a target picture includes a plurality of views, and the picture decoding unit Each view is decoded by decoding a picture identified by the view packing information as a plurality of views being frame-packed in the vertical direction.
  • another image decoding apparatus is an image decoding apparatus that decodes a tile forming a view, and a target block of a first tile of the tiles.
  • the inter-tile reference information decoding unit decodes the inter-tile reference information indicating whether or not the second tile of the tiles can be referred to when predicting If it indicates that it is possible to refer to the tile, it predicts the tile decoding order information or the tile position information by generating a predicted image of the target block with reference to the reference picture including the second tile.
  • a header information decoding unit is an image decoding apparatus that decodes a tile forming a view, and a target block of a first tile of the tiles.
  • an image decoding apparatus is an image decoding apparatus that decodes a plurality of tiles forming a view, and is a first tile of the plurality of tiles.
  • An inter-tile reference information decoding unit that decodes inter-tile reference information indicating whether or not the second tile of the plurality of tiles can be referred to when predicting a target block, and the inter-tile reference information
  • a determination unit that determines whether to add the current picture to the reference picture list, and the determination unit determines that the current picture is to be added to the reference picture list, the current picture is determined to be the reference picture And an additional unit to be added to the list.
  • an image coding apparatus is an image coding apparatus that codes tiles that constitute a view, and is an object of a first tile of the tiles.
  • the inter-tile reference information encoding unit encodes the inter-tile reference information indicating whether or not the second tile of the tiles can be referred to when predicting a block, and the inter-tile reference information
  • a predicted image generation unit configured to generate a predicted image of the target block with reference to the second tile when it is indicated that the second tile can be referred to;
  • the prediction image of each target block of the tile is generated with reference to only the reference block included in the tile indicating that the inter-tile reference information can be referred to. .
  • an image coding apparatus is an image coding apparatus that codes tiles that constitute a view, and is an object of a first tile of the tiles.
  • the inter-tile reference information encoding unit encodes the inter-tile reference information indicating whether or not the second tile of the tiles can be referred to when predicting a block, and the inter-tile reference information
  • a predicted image generation unit configured to generate a predicted image of the target block with reference to the second tile when it is indicated that the second tile can be referred to;
  • a predicted image of each target block of the tile is generated in the coding order notified by the forward index.
  • the image decoding apparatus when extracting a specific view image from a picture in which a plurality of view images are frame-packed, the image decoding apparatus is a continuous range of a coded stream Since it is sufficient to decode the range corresponding to the end, the processing amount can be reduced.
  • Another image decoding apparatus can efficiently decode a view image when decoding a view image included in a frame-packed picture.
  • FIG. 1 It is a figure which shows the hierarchical structure of the data of the coding stream which concerns on this embodiment. It is a figure which shows the pattern of PU split mode. (A) to (h) show the partition shapes when the PU division mode is 2Nx2N, 2NxN, 2NxnU, 2NxnD, Nx2N, nLx2N, nRx2N, and NxN, respectively. It is a conceptual diagram which shows an example of a reference picture and a reference picture list. It is a block diagram which shows the structure of the image coding apparatus which concerns on this embodiment. It is the schematic which shows the structure of the image decoding apparatus which concerns on this embodiment.
  • (B) is a figure for demonstrating the image decoding method by the image decoding apparatus 31 which concerns on the specific example of this embodiment.
  • (A) is a figure which shows the structure of the coding data which concern on the specific example of this embodiment.
  • (B) is a figure for demonstrating the image decoding method by the image decoding apparatus 31 which concerns on the specific example of this embodiment.
  • It is a syntax table which shows the example of the production
  • generating a predicted image of a view image it is a figure showing an example of a view image which can be referred to. It is a figure which shows the example which clips the vector which points to the block referred in a prediction image generation process. It is a figure which shows an example of a padding process. It is a figure which shows an example of the block which can be referred to by the predicted image generation unit. It is a figure which shows an example of the block which can be referred to by the predicted image generation unit. It is a figure which shows an example of the block which can be referred to by the predicted image generation unit. It is a figure which shows an example of the block which can be referred to by the predicted image generation unit.
  • FIG. 1 It is a figure which shows an example of the clipping process of a motion vector, and a padding process. It is the figure shown about the composition of the transmitting device carrying the picture coding device concerning this embodiment, and the receiving device carrying a picture decoding device.
  • (A) shows a transmitting apparatus equipped with an image coding apparatus, and (b) shows a receiving apparatus equipped with an image decoding apparatus. It is the figure shown about the recording device carrying the picture coding device concerning this embodiment, and the composition of the reproduction device carrying a picture decoding device.
  • (A) shows a recording apparatus equipped with an image coding apparatus, and (b) shows a reproduction apparatus equipped with an image decoding apparatus. It is a figure which shows the example which restrict
  • FIG. 1 It is a figure which shows the example of the pixel reference process by the estimated image generation part which concerns on the specific example of this embodiment.
  • FIG. 1 (A) to (c) are diagrams showing more specific examples of padding processing by the predicted image generation unit according to the specific example of the present embodiment.
  • (A) to (c) are diagrams showing more specific examples of padding processing by the predicted image generation unit according to the specific example of the present embodiment.
  • (A) And (b) is a figure which shows the more specific example of the padding process by the estimated image generation part which concerns on the specific example of this embodiment, respectively. It is a flowchart figure explaining generation of a reference picture list concerning this embodiment. It is a schematic diagram showing composition of an image transmission system concerning this embodiment.
  • FIG. 53 is a schematic view showing the configuration of the image transmission system 1 according to the present embodiment.
  • the image transmission system 1 is a system that transmits a code obtained by coding an image to be coded, decodes the transmitted code, and displays the image.
  • the image transmission system 1 is configured to include an image encoding device (moving image encoding device) 11, a network 21, an image decoding device (moving image decoding device) 31, and an image display device 41.
  • the image coding apparatus 11 receives an image T of an image of a single layer or multiple layers.
  • a layer is a concept used to distinguish a plurality of pictures when there is one or more pictures that constitute a certain time. For example, if the same picture is encoded by a plurality of layers having different image quality and resolution, it becomes scalable coding, and if a picture of different viewpoints is encoded by a plurality of layers, it becomes view scalable coding.
  • prediction inter-layer prediction, inter-view prediction
  • encoded data can be summarized.
  • the network 21 transmits the encoded stream Te generated by the image encoding device 11 to the image decoding device 31.
  • the network 21 is the Internet, a wide area network (WAN), a small area network (LAN), or a combination of these.
  • the network 21 is not necessarily limited to a two-way communication network, and 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 by a storage medium recording a coded stream Te such as a DVD (Digital Versatile Disc) or a BD (Blue-ray Disc).
  • the image decoding apparatus 31 decodes each of the encoded streams Te transmitted by the network 21 and generates one or more decoded images Td which are respectively decoded.
  • the image display device 41 displays all or a part of one or more decoded images Td generated by the image decoding device 31.
  • the image display device 41 includes, for example, a display device such as a liquid crystal display or an organic EL (Electro-luminescence) display.
  • a display device such as a liquid crystal display or an organic EL (Electro-luminescence) display.
  • a display device such as a liquid crystal display or an organic EL (Electro-luminescence) display.
  • SNR scalable coding when the image decoding device 31 and the image display device 41 have high processing capabilities, they display enhancement layer images with high image quality and have only lower processing capabilities.
  • the base layer image which does not require the processing capability and the display capability as high as the enhancement layer.
  • X? Y: z is a ternary operator that takes y if x is true (other than 0) and z if x is false (0).
  • FIG. 1 is a diagram showing a hierarchical structure of data in a coded stream Te.
  • the coded stream Te illustratively includes a sequence and a plurality of pictures forming the sequence.
  • (A) to (f) in FIG. 1 respectively represent a coded video sequence defining the sequence SEQ, a coded picture defining the picture PICT, a coding slice defining the slice S, and a coding slice defining slice data.
  • It is a figure which shows a coding tree unit contained in data, coding slice data, and a coding unit (Coding Unit; CU) contained in a coding tree unit.
  • CU coding unit
  • the encoded video sequence In the encoded video sequence, a set of data to which the image decoding device 31 refers in order to decode the sequence SEQ to be processed is defined.
  • the sequence SEQ includes a video parameter set (Video Parameter Set), a sequence parameter set SPS (Sequence Parameter Set), a picture parameter set PPS (Picture Parameter Set), a picture PICT, and an addition. It includes supplemental information SEI (Supplemental Enhancement Information).
  • SEI Supplemental Enhancement Information
  • the value shown after # indicates a layer ID.
  • FIG. 1 shows an example in which coded data of # 0 and # 1, that is, layer 0 and layer 1 exist, the type of layer and the number of layers do not depend on this.
  • a video parameter set VPS is a set of coding parameters common to a plurality of moving pictures and a set of coding parameters related to the plurality of layers included in the moving picture and each layer in a moving picture composed of a plurality of layers.
  • a set is defined.
  • sequence parameter set SPS a set of coding parameters to be referred to by the image decoding device 31 for decoding the target sequence is defined.
  • the width and height of the picture are defined.
  • multiple SPS may exist. In that case, one of a plurality of SPSs is selected from PPS.
  • a set of coding parameters to which the image decoding device 31 refers to to decode each picture in the target sequence is defined. For example, a reference value of quantization width (pic_init_qp_minus 26) used for decoding a picture and a flag (weighted_pred_flag) indicating application of weighted prediction are included.
  • multiple PPS may exist. In that case, one of a plurality of PPSs is selected from each picture in the target sequence.
  • the picture PICT includes slices S0 to SNS-1 (NS is the total number of slices included in the picture PICT), as shown in (b) of FIG.
  • the slice S includes a slice header SH and slice data SDATA as shown in (c) of FIG.
  • the slice header SH includes a coding parameter group to which the image decoding device 31 refers in order to determine the decoding method of the target slice.
  • the slice type specification information (slice_type) for specifying a slice type is an example of a coding parameter included in the slice header SH.
  • slice types that can be designated by slice type designation information, (1) I slice using only intra prediction at the time of encoding, (2) P slice using unidirectional prediction at the time of encoding or intra prediction, (3) B-slice using uni-directional prediction, bi-directional prediction, or intra prediction at the time of encoding.
  • the slice header SH may include a reference (pic_parameter_set_id) to the picture parameter set PPS included in the encoded video sequence.
  • the slice data SDATA includes a coding tree unit (CTU: Coding Tree Unit), as shown in (d) of FIG.
  • the CTU is a block of a fixed size (for example, 64 ⁇ 64) that configures a slice, and may also be referred to as a largest coding unit (LCU: Largest Coding Unit).
  • Encoding tree unit As shown in (e) of FIG. 1, a set of data to which the image decoding device 31 refers in order to decode a coding tree unit to be processed is defined.
  • the coding tree unit is divided by recursive quadtree division.
  • a tree-structured node obtained by recursive quadtree division is called a coding node (CN).
  • the intermediate nodes of the quadtree are coding nodes, and the coding tree unit itself is also defined as the top coding node.
  • the CTU includes a split flag (cu_split_flag), and when cu_split_flag is 1, the CTU is split into four coding nodes CN.
  • the coding node CN is not split, and has one coding unit (CU: Coding Unit) as a node.
  • the coding unit CU is an end node of the coding node and is not further divided.
  • the coding unit CU is a basic unit of coding processing.
  • the size of the coding unit can be 64x64 pixels, 32x32 pixels, 16x16 pixels, or 8x8 pixels.
  • a set of data to which the image decoding device 31 refers in order to decode a coding unit to be processed is defined.
  • the coding unit is composed of a prediction tree, a transformation tree, and a CU header CUH.
  • a prediction mode, a division method (PU division mode), and the like are defined.
  • prediction information (reference picture index, motion vector, etc.) of each prediction unit (PU) obtained by dividing the coding unit into one or more is defined.
  • a prediction unit is one or more non-overlapping regions that make up a coding unit.
  • the prediction tree includes one or more prediction units obtained by the above-mentioned division.
  • segmented the prediction unit further is called a "subblock.”
  • the sub block is composed of a plurality of pixels. If the size of the prediction unit and the subblock is equal, there is one subblock in the prediction unit. If the prediction unit is larger than the size of the subblock, the prediction unit is divided into subblocks. For example, when the prediction unit is 8x8 and the subblock is 4x4, the prediction unit is divided into four subblocks, which are horizontally divided into two and vertically divided into two.
  • the prediction process may be performed for each prediction unit (sub block).
  • Intra prediction is prediction in the same picture
  • inter prediction refers to prediction processing performed between mutually different pictures (for example, between display times, between layer images).
  • the division method is encoded according to PU division mode (part_mode) of encoded data, 2Nx2N (the same size as the encoding unit), 2NxN, 2NxnU, 2NxnD, Nx2N, nLx2N, nRx2N, and There are NxN etc.
  • 2NxN and Nx2N indicate 1: 1 symmetric division
  • 2NxnU, 2NxnD and nLx2N and nRx2N indicate 1: 3 and 3: 1 asymmetric division.
  • the PUs included in the CU are expressed as PU0, PU1, PU2, PU3 in order.
  • FIG. 2 specifically illustrate the shapes of partitions (positions of boundaries of PU division) in respective PU division modes.
  • A) of FIG. 2 shows a 2Nx2N partition
  • (b) and (c) and (d) show 2NxN, 2NxnU, and 2NxnD partitions (horizontally long partitions), respectively.
  • (E), (f) and (g) show partitions (vertical partitions) in the case of Nx2N, nLx2N and nRx2N, respectively
  • (h) shows a partition of NxN. Note that the horizontally long partition and the vertically long partition are collectively referred to as a rectangular partition, and 2Nx2N and NxN are collectively referred to as a square partition.
  • the coding unit is divided into one or more transform units, and the position and size of each transform unit are defined.
  • a transform unit is one or more non-overlapping regions that make up a coding unit.
  • the transformation tree includes one or more transformation units obtained by the above-mentioned division.
  • Partitions in the transform tree may be allocated as a transform unit a region of the same size as the encoding unit, or may be based on recursive quadtree partitioning as in the case of CU partitioning described above.
  • a conversion process is performed for each conversion unit.
  • the prediction image of a prediction unit is derived by prediction parameters associated with PU.
  • the prediction parameters include intra prediction prediction parameters or inter prediction prediction parameters.
  • prediction parameters for inter prediction inter prediction (inter prediction parameters) will be described.
  • the inter prediction parameter includes prediction list use flags predFlagL0 and predFlagL1, reference picture indexes refIdxL0 and refIdxL1, and motion vectors mvL0 and mvL1.
  • the prediction list use flags predFlagL0 and predFlagL1 are flags indicating whether a reference picture list called an L0 list or an L1 list is used, respectively, and a reference picture list corresponding to a value of 1 is used.
  • a flag indicating whether or not it is XX if the flag is other than 0 (for example, 1) is XX, it is assumed that 0 is not XX; Treat 1 as true, 0 as false, and so on. However, in an actual apparatus or method, other values may be used as true values or false values.
  • Syntax elements for deriving inter prediction parameters included in encoded data include, for example, PU split mode part_mode, merge flag merge_flag, merge index merge_idx, inter prediction identifier inter_pred_idc, reference picture index refIdxLX, predicted vector index mvp_LX_idx, There is a difference vector mvdLX.
  • the reference picture list is a list of reference pictures stored in the reference picture memory 306.
  • FIG. 3 is a conceptual diagram showing an example of a reference picture and a reference picture list.
  • the rectangle is a picture
  • the arrow is a reference of the picture
  • the horizontal axis is time
  • I, P and B in the rectangle are intra pictures, uni-predicted pictures, bi-predicted pictures, and numbers in the rectangle are decoded. Show the order.
  • the decoding order of pictures is I0, P1, B2, B3, B4, and the display order is I0, B3, B2, B4, B1, P1.
  • FIG. 3B shows an example of the reference picture list.
  • the reference picture list is a list representing reference picture candidates, and one picture (slice) may have one or more reference picture lists.
  • the target picture B3 has two reference picture lists, an L0 list RefPicList0 and an L1 list RefPicList1.
  • Reference pictures when the target picture is B3 are I0, P1, and B2, and the reference pictures have these pictures as elements.
  • the reference picture index refIdxLX which picture in the reference picture list RefPicListX is actually referred to is designated by the reference picture index refIdxLX.
  • the figure shows an example in which reference pictures P1 and B2 are referenced by refIdxL0 and refIdxL1.
  • the prediction parameter decoding (encoding) method includes a merge prediction (merge) mode and an AMVP (Adaptive Motion Vector Prediction) mode.
  • the merge flag merge_flag is a flag for identifying these.
  • the merge prediction mode is a mode used to be derived from the prediction parameter of the already processed neighboring PU without including the prediction list use flag predFlagLX (or inter prediction identifier inter_pred_idc), the reference picture index refIdxLX, and the motion vector mvLX in the encoded data.
  • the AMVP mode is a mode in which the inter prediction identifier inter_pred_idc, the reference picture index refIdxLX, and the motion vector mvLX are included in the encoded data.
  • the motion vector mvLX is encoded as a prediction vector index mvp_LX_idx that identifies the prediction vector mvpLX and a difference vector mvdLX.
  • the inter prediction identifier inter_pred_idc is a value indicating the type and the number of reference pictures, and takes any one of PRED_L0, PRED_L1, and PRED_BI.
  • PRED_L0 and PRED_L1 indicate that reference pictures managed by reference pictures in the L0 list and the L1 list are used, respectively, and indicate that one reference picture is used (uniprediction).
  • PRED_BI indicates using two reference pictures (bi-prediction BiPred), and uses reference pictures managed by the L0 list and the L1 list.
  • the predicted vector index mvp_LX_idx is an index indicating a predicted vector
  • the reference picture index refIdxLX is an index indicating a reference picture managed in the reference picture list.
  • LX is a description method used when L0 prediction and L1 prediction are not distinguished, and parameters for L0 list and parameters for L1 list are distinguished by replacing LX with L0 and L1.
  • Merge index merge_idx is an index which shows whether any prediction parameter is used as a prediction parameter of decoding object PU among the prediction parameter candidates (merge candidate) derived
  • the motion vector mvLX indicates the amount of deviation between blocks on two different pictures.
  • the prediction vector and the difference vector relating to the motion vector mvLX are referred to as a prediction vector mvpLX and a difference vector mvdLX, respectively.
  • FIG. 5 is a schematic view showing the configuration of the image decoding device 31 according to the present embodiment.
  • the image decoding device 31 includes an entropy decoding unit 301, a prediction parameter decoding unit (prediction image decoding device) 302, a loop filter 305, a reference picture memory 306, a prediction parameter memory 307, a prediction image generation unit (prediction image generation device) 308, and an inverse
  • the quantization / inverse transform unit 311 and the addition unit 312 are included.
  • the prediction parameter decoding unit 302 is configured to include an inter prediction parameter decoding unit 303 and an intra prediction parameter decoding unit 304.
  • the predicted image generation unit 308 includes an inter predicted image generation unit 309 and an intra predicted image generation unit 310.
  • the entropy decoding unit 301 performs entropy decoding on the encoded stream Te input from the outside to separate and decode individual codes (syntax elements).
  • the separated codes include prediction information for generating a prediction image and residual information for generating a difference image.
  • the entropy decoding unit 301 outputs a part of the separated code to the prediction parameter decoding unit 302.
  • the part of the separated code is, for example, prediction mode predMode, PU division mode part_mode, merge flag merge_flag, merge index merge_idx, inter prediction identifier inter_pred_idc, reference picture index refIdxLX, prediction vector index mvp_LX_idx, difference vector mvdLX. Control of which code to decode is performed based on an instruction of the prediction parameter decoding unit 302.
  • the entropy decoding unit 301 outputs the quantization coefficient to the inverse quantization / inverse transform unit 311.
  • this quantization coefficient is applied to the residual signal by DCT (Discrete Cosine Transform, discrete cosine transform), DST (Discrete Sine Transform, discrete sine transform), KLT (Karyhnen Loeve Transform, Karhunen Loeve transform) Are coefficients obtained by performing frequency conversion such as.
  • DCT Discrete Cosine Transform, discrete cosine transform
  • DST Discrete Sine Transform, discrete sine transform
  • KLT Karyhnen Loeve Transform, Karhunen Loeve transform
  • the inter prediction parameter decoding unit 303 decodes the inter prediction parameter with reference to the prediction parameter stored in the prediction parameter memory 307 based on the code input from the entropy decoding unit 301.
  • the inter prediction parameter decoding unit 303 outputs the decoded inter prediction parameter to the prediction image generation unit 308, and stores the inter prediction parameter in the prediction parameter memory 307. Details of the inter prediction parameter decoding unit 303 will be described later.
  • the intra prediction parameter decoding unit 304 decodes the intra prediction parameter with reference to the prediction parameter stored in the prediction parameter memory 307 based on the code input from the entropy decoding unit 301.
  • the intra prediction parameter is a parameter used in a process of predicting a CU in one picture, for example, an intra prediction mode IntraPredMode.
  • the intra prediction parameter decoding unit 304 outputs the decoded intra prediction parameter to the prediction image generation unit 308, and stores it in the prediction parameter memory 307.
  • the intra prediction parameter decoding unit 304 may derive different intra prediction modes for luminance and chrominance.
  • the intra prediction parameter decoding unit 304 decodes a luminance prediction mode IntraPredModeY as a luminance prediction parameter and a chrominance prediction mode IntraPredModeC as a chrominance prediction parameter.
  • the luminance prediction mode IntraPredModeY is a 35 mode, which corresponds to planar prediction (0), DC prediction (1), and directional prediction (2 to 34).
  • the color difference prediction mode IntraPredModeC uses one of planar prediction (0), DC prediction (1), direction prediction (2 to 34), and LM mode (35).
  • the intra prediction parameter decoding unit 304 decodes a flag indicating whether IntraPredModeC is the same mode as the luminance mode, and if it indicates that the flag is the same mode as the luminance mode, IntraPredModeY is assigned to IntraPredModeC, and the flag indicates the luminance If intra mode is different from the mode, planar prediction (0), DC prediction (1), direction prediction (2 to 34), or LM mode (35) may be decoded as IntraPredModeC.
  • the loop filter 305 applies a filter such as a deblocking filter, a sample adaptive offset (SAO), or 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), or an adaptive loop filter (ALF)
  • the reference picture memory 306 stores the decoded image of the CU generated by the adding unit 312 in a predetermined position for each picture and CU to be decoded.
  • the prediction parameter memory 307 stores prediction parameters in a predetermined position for each picture to be decoded and each prediction unit (or sub block, fixed size block, pixel). Specifically, the prediction parameter memory 307 stores the inter prediction parameter decoded by the inter prediction parameter decoding unit 303, the intra prediction parameter decoded by the intra prediction parameter decoding unit 304, and the prediction mode predMode separated by the entropy decoding unit 301. .
  • the inter prediction parameters to be stored include, for example, a prediction list use flag predFlagLX (inter prediction identifier inter_pred_idc), a reference picture index refIdxLX, and a motion vector mvLX.
  • the prediction image generation unit 308 receives the prediction mode predMode input from the entropy decoding unit 301, and also receives a prediction parameter from the prediction parameter decoding unit 302. Further, the predicted image generation unit 308 reads the reference picture from the reference picture memory 306. The prediction image generation unit 308 generates a prediction image of a PU or a sub block using the input prediction parameter and the read reference picture (reference picture block) in the prediction mode indicated by the prediction mode predMode.
  • the inter prediction image generation unit 309 performs inter prediction using the inter prediction parameter input from the inter prediction parameter decoding unit 303 and the read reference picture (reference picture block). Generates a predicted image of PU or subblock according to.
  • the inter-predicted image generation unit 309 uses the reference picture index refIdxLX for the reference picture list (L0 list or L1 list) in which the prediction list use flag predFlagLX is 1, and the motion vector based on the PU to be decoded
  • the reference picture block at the position indicated by mvLX is read out from the reference picture memory 306.
  • the inter-prediction image generation unit 309 performs prediction based on the read reference picture block to generate a PU prediction image.
  • the inter prediction image generation unit 309 outputs the generated prediction image of PU to the addition unit 312.
  • the reference picture block is a set of pixels on the reference picture (usually referred to as a block because it is a rectangle), and is an area to be referenced to generate a predicted image of PU or sub block.
  • the intra prediction image generation unit 310 When the prediction mode predMode indicates the intra prediction mode, the intra prediction image generation unit 310 performs intra prediction using the intra prediction parameter input from the intra prediction parameter decoding unit 304 and the read reference picture. Specifically, the intra predicted image generation unit 310 reads, from the reference picture memory 306, neighboring PUs which are pictures to be decoded and which are in a predetermined range from the PU to be decoded among PUs already decoded.
  • the predetermined range is, for example, one of the left, upper left, upper, and upper right adjacent PUs when the decoding target PU sequentially moves in the so-called raster scan order, and varies depending on the intra prediction mode.
  • the order of raster scan is an order of sequentially moving from the left end to the right end for each row from the top to the bottom in each picture.
  • the intra prediction image generation unit 310 performs prediction in the prediction mode indicated by the intra prediction mode IntraPredMode based on the read adjacent PU, and generates a PU prediction image.
  • the intra predicted image generation unit 310 outputs the generated predicted image of PU to the addition unit 312.
  • the inverse quantization / inverse transform unit 311 inversely quantizes the quantization coefficient input from the entropy decoding unit 301 to obtain a transform coefficient.
  • the inverse quantization / inverse transform unit 311 performs inverse frequency transform such as inverse DCT, inverse DST, and inverse KLT on the obtained transform coefficient to calculate a residual signal.
  • the inverse quantization / inverse transform unit 311 outputs the calculated residual signal to the addition unit 312.
  • the addition unit 312 adds, for each pixel, the PU prediction image input from the inter prediction image generation unit 309 or the intra prediction image generation unit 310 and the residual signal input from the inverse quantization / inverse conversion unit 311, Generate a PU decoded image.
  • the addition unit 312 stores the generated PU decoded image in the reference picture memory 306, and externally outputs a decoded image Td in which the generated PU decoded image is integrated for each picture.
  • FIG. 12 is a schematic diagram showing a configuration of the inter prediction parameter decoding unit 303 according to the present embodiment.
  • the inter prediction parameter decoding unit 303 includes an inter prediction parameter decoding control unit 3031, an AMVP prediction parameter derivation unit 3032, an addition unit 3038, a merge prediction parameter derivation unit 3036, and a sub block prediction parameter derivation unit 3037.
  • the inter prediction parameter decoding control unit 3031 instructs the entropy decoding unit 301 to decode a code (syntax element) related to inter prediction, and a code (syntax element) included in the encoded data, for example, PU division mode part_mode , Merge flag merge_flag, merge index merge_idx, inter prediction identifier inter_pred_idc, reference picture index refIdxLX, prediction vector index mvp_LX_idx, difference vector mvdLX is extracted.
  • the inter prediction parameter decoding control unit 3031 first extracts the merge flag merge_flag. When the inter prediction parameter decoding control unit 3031 expresses that a syntax element is to be extracted, it instructs the entropy decoding unit 301 to decode a syntax element, which means that the corresponding syntax element is read out from the encoded data. Do.
  • the inter prediction parameter decoding control unit 3031 extracts an AMVP prediction parameter from the encoded data using the entropy decoding unit 301.
  • the AMVP prediction parameters for example, there are inter prediction identifier inter_pred_idc, reference picture index refIdxLX, prediction vector index mvp_LX_idx, difference vector mvdLX.
  • the AMVP prediction parameter derivation unit 3032 derives a prediction vector mvpLX from the prediction vector index mvp_LX_idx. Details will be described later.
  • the inter prediction parameter decoding control unit 3031 outputs the difference vector mvdLX to the addition unit 3038.
  • the addition unit 3038 adds the prediction vector mvpLX and the difference vector mvdLX to derive a motion vector.
  • the inter prediction parameter decoding control unit 3031 extracts a merge index merge_idx as a prediction parameter related to merge prediction.
  • the inter prediction parameter decoding control unit 3031 outputs the extracted merge index merge_idx to the merge prediction parameter derivation unit 3036 (details will be described later), and outputs the sub block prediction mode flag subPbMotionFlag to the sub block prediction parameter derivation unit 3037.
  • the sub-block prediction parameter derivation unit 3037 divides the PU into a plurality of sub-blocks according to the value of the sub-block prediction mode flag subPbMotionFlag, and derives a motion vector in units of sub-blocks.
  • a prediction block is predicted in small blocks of 4x4 or 8x8.
  • a method of dividing a CU into a plurality of partitions PUs such as 2NxN, Nx2N, NxN, etc.
  • PUs such as 2NxN, Nx2N, NxN, etc.
  • sub block prediction mode a plurality of sub-blocks are grouped into a set, and the syntax of the prediction parameter is encoded for each set, so that motion information of many sub-blocks can be encoded with a small code amount.
  • FIG. 7 is a schematic view showing the configuration of the merge prediction parameter derivation unit 3036 according to the present embodiment.
  • the merge prediction parameter derivation unit 3036 includes a merge candidate derivation unit 30361, a merge candidate selection unit 30362, and a merge candidate storage unit 30363.
  • the merge candidate storage unit 30363 stores the merge candidate input from the merge candidate derivation unit 30361.
  • the merge candidate is configured to include a prediction list use flag predFlagLX, a motion vector mvLX, and a reference picture index refIdxLX.
  • an index is assigned to the stored merge candidate according to a predetermined rule.
  • the merge candidate derivation unit 30361 derives merge candidates using the motion vector of the adjacent PU for which the decoding process has already been performed and the reference picture index refIdxLX as it is.
  • the merge candidate derived by the merge candidate derivation unit 30361 is stored in the merge candidate storage unit 30363.
  • the merge candidate selection unit 30362 selects, as the target PU, the merge candidate to which the index corresponding to the merge index merge_idx input from the inter prediction parameter decoding control unit 3031 is assigned. Select as inter prediction parameter of.
  • the merge candidate selection unit 30362 stores the selected merge candidate in the prediction parameter memory 307 and outputs the merge candidate to the predicted image generation unit 308.
  • FIG. 8 is a schematic diagram showing the configuration of the AMVP prediction parameter derivation unit 3032 according to the present embodiment.
  • the AMVP prediction parameter derivation unit 3032 includes a vector candidate derivation unit 3033, a vector candidate selection unit 3034, and a vector candidate storage unit 3035.
  • the vector candidate derivation unit 3033 derives a prediction vector candidate from the already processed PU motion vector mvLX stored in the prediction parameter memory 307 based on the reference picture index refIdx, and the vector candidate storage unit 3035 prediction vector candidate list mvpListLX [] Store in
  • the vector candidate selection unit 3034 selects a motion vector mvpListLX [mvp_LX_idx] indicated by the prediction vector index mvp_LX_idx among the prediction vector candidates of the prediction vector candidate list mvpListLX [] as a prediction vector mvpLX.
  • the vector candidate selection unit 3034 outputs the selected prediction vector mvpLX to the addition unit 3038.
  • the prediction vector candidate is a PU for which decoding processing has been completed, and is derived by scaling a motion vector of a PU (for example, an adjacent PU) in a predetermined range from the PU to be decoded.
  • the adjacent PU includes a PU spatially adjacent to the PU to be decoded, for example, a left PU, an upper PU, and an area temporally adjacent to the PU to be decoded, for example, the same position as the PU to be decoded It includes regions obtained from prediction parameters of PUs of different times.
  • the addition unit 3038 adds the prediction vector mvpLX input from the AMVP prediction parameter derivation unit 3032 and the difference vector mvdLX input from the inter prediction parameter decoding control unit 3031 to calculate a motion vector mvLX.
  • the addition unit 3038 outputs the calculated motion vector mvLX to the predicted image generation unit 308 and the prediction parameter memory 307.
  • FIG. 4 is a block diagram showing the configuration of the image coding apparatus 11 according to the present embodiment.
  • the image coding apparatus 11 includes a predicted image generation unit 101, a subtraction unit 102, a transform / quantization unit 103, an entropy coding unit 104, an inverse quantization / inverse transform unit 105, an addition unit 106, a loop filter 107, a prediction parameter memory (Prediction parameter storage unit, frame memory) 108, reference picture memory (reference image storage unit, frame memory) 109, coding parameter determination unit 110, and prediction parameter coding unit 111 are configured.
  • the prediction parameter coding unit 111 includes an inter prediction parameter coding unit 112 and an intra prediction parameter coding unit 113.
  • the prediction image generation unit 101 generates, for each picture of the image T, the prediction image P of the prediction unit PU for each coding unit CU, which is an area obtained by dividing the picture.
  • the predicted image generation unit 101 reads a decoded block from the reference picture memory 109 based on the prediction parameter input from the prediction parameter coding unit 111.
  • the prediction parameter input from the prediction parameter coding unit 111 is, for example, a motion vector in the case of inter prediction.
  • the predicted image generation unit 101 reads a block at a position on the reference image indicated by the motion vector starting from the target PU.
  • the prediction parameter is, for example, an intra prediction mode.
  • the pixel value of the adjacent PU used in the intra prediction mode is read from the reference picture memory 109, and a PU predicted image P is generated.
  • the prediction image generation unit 101 generates a PU prediction image P using one of a plurality of prediction methods for the read reference picture block.
  • the prediction image generation unit 101 outputs the generated prediction image P of PU to the subtraction unit 102.
  • the predicted image generation unit 101 performs the same operation as the predicted image generation unit 308 described above.
  • the prediction image generation unit 101 generates a PU prediction image P based on the pixel value of the reference block read from the reference picture memory, using the parameter input from the prediction parameter coding unit.
  • the predicted image generated by the predicted image generation unit 101 is output to the subtraction unit 102 and the addition unit 106.
  • the subtraction unit 102 subtracts the signal value of the predicted image P of the PU input from the predicted image generation unit 101 from the pixel value of the corresponding PU of the image T to generate a residual signal.
  • the subtraction unit 102 outputs the generated residual signal to the transformation / quantization unit 103.
  • the transform / quantization unit 103 performs frequency transform on the residual signal input from the subtraction unit 102 to calculate transform coefficients.
  • the transform / quantization unit 103 quantizes the calculated transform coefficient to obtain a quantization coefficient.
  • Transform / quantization section 103 outputs the obtained quantization coefficient to entropy coding section 104 and inverse quantization / inverse transform section 105.
  • the entropy coding unit 104 receives the quantization coefficient from the transform / quantization unit 103, and receives the coding parameter from the prediction parameter coding unit 111.
  • the coding parameters to be input include, for example, 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 entropy-codes the input quantization coefficient and coding parameters to generate a coded stream Te, and outputs the generated coded stream Te to the outside.
  • the inverse quantization / inverse transform unit 105 inversely quantizes the quantization coefficient input from the transform / quantization unit 103 to obtain a transform coefficient.
  • the inverse quantization / inverse transform unit 105 performs inverse frequency transform on the obtained transform coefficient to calculate a residual signal.
  • the inverse quantization / inverse transform unit 105 outputs the calculated residual signal to the addition unit 106.
  • the addition unit 106 adds the signal value of the prediction image P of PU input from the prediction image generation unit 101 and the signal value of the residual signal input from the inverse quantization / inverse conversion unit 105 for each pixel, and decodes Generate an image.
  • the addition unit 106 stores the generated decoded image in the reference picture memory 109.
  • the loop filter 107 applies a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) to the decoded image generated by the adding unit 106.
  • a deblocking filter a sample adaptive offset (SAO)
  • ALF adaptive loop filter
  • the prediction parameter memory 108 stores the prediction parameter generated by the coding parameter determination unit 110 in a predetermined position for each picture and CU to be coded.
  • the reference picture memory 109 stores the decoded image generated by the loop filter 107 in a predetermined position for each picture and CU to be encoded.
  • the coding parameter determination unit 110 selects one of a plurality of sets of coding parameters.
  • the coding parameter is a prediction parameter described above or a parameter to be coded that is generated in association with the prediction parameter.
  • the prediction image generation unit 101 generates a PU prediction image P using each of these sets of coding parameters.
  • the coding parameter determination unit 110 calculates, for each of the plurality of sets, a cost value indicating the size of the information amount and the coding error.
  • the cost value is, for example, the sum of the code amount and a value obtained by multiplying the square error by the 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 squared error is a sum between pixels with respect to the square value of the residual value of the residual signal calculated by the subtraction unit 102.
  • the factor ⁇ is a real number greater than a preset zero.
  • the coding parameter determination unit 110 selects a set of coding parameters that minimize the calculated cost value.
  • the entropy coding unit 104 externally outputs the set of selected coding parameters as the coded stream Te, and does not output the set of non-selected coding parameters.
  • the coding parameter determination unit 110 stores the determined coding parameters in the prediction parameter memory 108.
  • the prediction parameter coding unit 111 derives a format for coding from the parameters input from the coding parameter determination unit 110, and outputs the format to the entropy coding unit 104. Derivation of a form for encoding is, for example, derivation of a difference vector from a motion vector and a prediction vector. Further, the prediction parameter coding unit 111 derives parameters necessary to generate a prediction image from the parameters input from the coding parameter determination unit 110, and outputs the parameters to the prediction image generation unit 101.
  • the parameters required to generate a predicted image are, for example, motion vectors in units of subblocks.
  • the inter prediction parameter coding unit 112 derives inter prediction parameters such as a difference vector based on the prediction parameters input from the coding parameter determination unit 110.
  • the inter prediction parameter coding unit 112 derives the inter prediction parameter by the inter prediction parameter decoding unit 303 (refer to FIG. 5 and the like) as a configuration for deriving the parameters necessary for generating the prediction image to be output to the prediction image generation unit 101. Partially include the same configuration as the configuration.
  • the intra prediction parameter coding unit 113 derives a format (for example, MPM_idx, rem_intra_luma_pred_mode, etc.) for coding from the intra prediction mode IntraPredMode input from the coding parameter determination unit 110.
  • a format for example, MPM_idx, rem_intra_luma_pred_mode, etc.
  • the subtracting unit 1123 subtracts the prediction vector mvpLX input from the AMVP prediction parameter derivation unit 1122 from the motion vector mvLX input from the coding parameter determination unit 110 to generate a difference vector mvdLX.
  • the difference vector mvdLX is output to the entropy coding unit 104.
  • the image encoding device 11 and a part of the image decoding device 31 in the embodiment described above for example, the entropy decoding unit 301, the prediction parameter decoding unit 302, the loop filter 305, the prediction image generation unit 308, the inverse quantization / inverse transform Unit 311, addition unit 312, predicted image generation unit 101, subtraction unit 102, transform / quantization unit 103, entropy coding unit 104, inverse quantization / inverse transform unit 105, loop filter 107, coding parameter determination unit 110,
  • the prediction parameter coding unit 111 may be realized by a computer. In that case, a program for realizing the control function may be recorded in a computer readable recording medium, and the computer system may read and execute the program recorded in the recording medium.
  • the “computer system” is a computer system built in any of the image encoding device 11 and the image decoding device 31, and includes an OS and hardware such as peripheral devices.
  • the “computer-readable recording medium” means a portable medium such as a flexible disk, a magneto-optical disk, a ROM, a CD-ROM, or a storage device such as a hard disk built in a computer system.
  • the “computer-readable recording medium” is one that holds a program dynamically for a short time, like a communication line in the case of transmitting a program via a network such as the Internet or a communication line such as a telephone line.
  • a volatile memory in a computer system serving as a server or a client may be included, which holds a program for a predetermined time.
  • the program may be for realizing a part of the functions described above, or may be realized in combination with the program already recorded in the computer system.
  • FIG. 13 is a block diagram showing the configuration of the image decoding apparatus according to the present embodiment.
  • illustration of some members included in the block diagram shown in FIG. 13 is omitted.
  • the same reference numerals are added to members having the same functions as the members shown in FIG. 5, and the description thereof is omitted.
  • the image decoding device 31 includes a header information decoding unit 19, a decoding module 9, and a picture decoding unit 32.
  • the image decoding device 31 may further include a picture division unit 33.
  • the picture decoding unit 32 is a component that performs a process of decoding a picture, and includes a CT information decoding unit 10, a predicted image generation unit 308, an inverse quantization / inverse DCT unit 311, a reference picture memory 306, an addition unit 312, and a loop.
  • the filter 305 and the CU decoding unit 20 are provided.
  • the CU decoding unit 20 further includes a PU information decoding unit 12 and a TT information decoding unit 13, and the TT information decoding unit 13 further includes a TU decoding unit 22.
  • the decoding module 9 performs a decoding process to decode syntax values from binary data. More specifically, the decoding module 9 decodes and decodes the syntax value encoded by the entropy coding method such as CABAC based on the encoded data and the syntax type supplied from the supply source. Return syntax value to supplier.
  • the entropy coding method such as CABAC
  • the sources of the encoded data and the syntax type are the CT information decoding unit 10 and the CU decoding unit 20 (PU information decoding unit 12 and TT information decoding unit 13) (prediction unit decoding unit).
  • the header information decoding unit 19 decodes the video parameter set (VPS), the SPS, the PPS, and the slice header of the encoded data input from the image encoding device 11.
  • the CT information decoding unit 10 uses the decoding module 9 to decode the coding tree unit and the coding tree for the coded data input from the image coding device 11. Specifically, the CT information decoding unit 10 decodes the CTU information and the CT information from the encoded data according to the following procedure.
  • the CT information decoding unit 10 uses the decoding module 9 to decode the tree unit header CTUH from the CTU information included in the CTU.
  • the CT information decoding unit 10 decodes, from the CT information included in the CT, a QT division flag indicating whether or not to divide the target CT into QTs, and a BT division mode indicating a division method of BT division of the target CT.
  • the target CT is recursively divided and decoded until the QT division flag and the BT division mode do not notify of further division.
  • the tree unit footer CTUF is decoded from the CTU information.
  • the tree unit header CTUH and the tree unit footer CTUF include coding parameters to which the image decoding device 31 refers in order to determine the decoding method of the target coding tree unit.
  • the CT information may include parameters applied to the target CT and the lower coding node.
  • the CU decoding unit 20 includes a PU information decoding unit 12 and a TT information decoding unit 13, and decodes PUI information and TTI information of the lowest encoded tree CT (that is, CU).
  • PU information decryption unit In the PU information decoding unit 12, PU information (merge flag (merge_flag), merge index (merge_idx), motion vector index (mvp_idx), reference image index (ref_idx), inter prediction identifier (inter_pred_flag), and difference vector (PU) of each PU mvd) etc.) are decoded using the decoding module 9.
  • the TT information decoding unit 13 decodes each TTI (TU split flag SP_TU (split_transform_flag), CU residual flag CBP_TU (cbf_cb, cbf_cr, cbf_luma), etc., and TU) using the decoding module 9.
  • the TT information decoding unit 13 includes a TU decoding unit 22.
  • the TU decoding unit 22 decodes QP update information (quantization correction value) when a residual is included in the TU.
  • the QP update information is a value indicating a difference value from the quantization parameter prediction value qPpred which is a prediction value of the quantization parameter QP.
  • the TU decoding unit 22 decodes the quantized prediction residual (residual_coding).
  • the picture division unit 33 reads, as input, data indicating a picture in which a plurality of view images are frame-packed, divides the plurality of view images, and decodes the decoded image or encoded data corresponding to one or more view images. Process to output
  • each member included in the image decoding device 31 has a function of performing the processing described in the present example below.
  • the above-mentioned view image (view) is an image obtained by recording or generating a still image or a moving image of a subject or object from a certain viewpoint, and a multiview image is a still image of the subject or object from a plurality of viewpoints It is the image which recorded or produced the animation.
  • the frame-packed image does not necessarily have to be a view image.
  • the above-described frame packing is a configuration in which a plurality of view images are integrated into one picture, that is, a structure in which a plurality of view images are included in one picture.
  • One example is a configuration in which the left eye view image and the right eye view image are frame-packed.
  • FIG. 14 is a diagram illustrating an example of a picture in which a plurality of view images are frame-packed.
  • view 0 and view 1 are frame-packed in the vertical direction.
  • frame packing in the vertical direction means that, as shown in FIG. 14, a plurality of view images are vertically adjacent to each other across a horizontally extending boundary.
  • the plurality of view images naturally includes the case where there are three or more view images, and the same applies in the present specification.
  • the encoded stream Te generated by the image encoding device 11 and input to the image decoding device 31 is a parameter set of VSP (Video Parameter Set), SPS (Sequence Parameter Set), or other parameters which are parameter sets of the encoded stream Te.
  • the set includes view packing information indicating what kind of frame packing has been applied to the picture decoded from the encoded stream Te.
  • view packing information parameters such as view_width [id] and view_height [id] indicating the width and height of a view image frame-packed in a picture are used.
  • the id in the parameter is an index of the view image uniquely assigned to each view image frame-packed in the picture.
  • the header information decoding unit 19 decodes view packing information from the parameter set of the input coded stream Te.
  • the view packing information indicates that the picture to be decoded from the coded stream Te is that the view image is frame-packed in the vertical direction
  • the CT information decoding unit 10 of the picture decoding unit 32 applies Then, raster scan is performed in CTU units and decoding processing is performed.
  • view_packing_flag which is view packing information defined as an example
  • a picture decoded from the coded stream Te indicates that the view image is a picture with frame packing in the vertical direction.
  • view_packing_flag 1
  • the view_packing_flag may be called a view_vertical_packing_flag in order to clarify that frame packing in the vertical direction is performed.
  • the information indicating that the view is vertically packed may be indicated not by one syntax but by a combination of plural syntaxes. For example, a flag view_packing_flag indicating whether the view is packed and view_packing_type which is information on the packing method (showing decoding order) of the view may be divided and included in the encoded stream Te.
  • the picture division unit 33 divides the picture decoded by the picture decoding unit 32 into each view, and uses the picture as an output of the image decoding device 31.
  • the image decoding device 31 is the image decoding device 31 that decodes the coded stream Te of the image, and includes the header information decoding unit 19 and the picture decoding unit 32, and the header information decoding unit
  • the reference numeral 19 denotes view packing information included in the parameter set of the encoded stream Te, and decodes the view packing information indicating whether or not a plurality of views are included in the target picture, and the picture decoding unit 32
  • the view packing information decodes each view by decoding a picture specified that the plurality of views are vertically frame-packed pictures.
  • the image decoding apparatus 31 does not have to decode view 1 when extracting view 0 included in the picture 50.
  • the image decoding device 31 when extracting a specific view image from a picture in which a plurality of view images are frame-packed, the image decoding device 31 is a continuous range of the encoded stream Te, Since it is sufficient to decode the range corresponding to the end of the specific view image, the processing amount can be reduced. Similarly, coded data can be extracted without decoding subsequent views of a particular view image.
  • an image coding apparatus to be paired with the image decoding apparatus 31 is an image coding apparatus for coding the coded stream Te of the image, and comprises a header information coding unit and a picture coding unit,
  • the header information coding unit codes view packing information which is view packing information included in the parameter set of the coded stream Te and which indicates whether a target picture includes a plurality of views or not, and the picture code
  • the encoding unit encodes each view by encoding a picture specified by the view packing information as the picture in which the plurality of views are frame-packed in the vertical direction.
  • the encoded stream Te may have a syntax indicating the start position of each view image included in the picture in VPS, SPS, or another parameter set.
  • the parameter indicating the address of the start position in the horizontal direction of the id-th view image included in the picture may be defined as view_position_x [id]
  • the parameter indicating the address of the start position in the vertical direction may be defined as view_position_y [id].
  • the encoded stream Te may have a configuration in which the parameter is included as view packing information, or may be configured as another parameter set.
  • the header information decoding unit 19 decodes information indicating start positions of the plurality of views included in the parameter set of the encoded stream Te, in addition to the view packing information.
  • the picture decoding unit 32 refers to view_position_x [id] and view_position_y [id], which are parameters indicating the start position of the view image, and view_height [id], which is a parameter indicating the height of the view image, Decode the
  • FIG. 19 is pseudo code including at least view_packing_flag, view_position_x [id], view_position_y [id], view_height [id], and the like as view packing information of the encoded stream Te.
  • the picture decoding unit 32 decodes a view image included in a picture, only an arbitrary view image included in the picture can be decoded and extracted, so that an effect of reducing the amount of processing is achieved.
  • each member included in the image decoding device 31 has a function of performing the processing described in the present example below.
  • FIG. 15 is a diagram showing an example of a picture including a padding portion.
  • the view 0 and the view 1 are frame-packed in the vertical direction across the padding portion 52.
  • the image coding apparatus 11 performs padding with a vertical size of 72 below the view 0 and Frame-pack view 1 down.
  • the total size of the view 0 and the padding in the vertical direction is 1152, which is a multiple of 128 which is the size of the CTU. Also, there is no need to add padding below the view 1 located below the picture.
  • the image coding device 11 outputs a coded stream Te obtained by coding the picture 51, and the image decoding device 31 receives the coded stream Te and performs an image decoding process.
  • the CT information decoding unit 10 performs raster scan on the picture 51 in CTU units from the direction corresponding to the upper part in FIG.
  • FIG. 20 is a pseudo including view_packing_width [i], view_cropping_heigth [i], view_same_size_flag, etc. in addition to view_packing_flag, view_position_x [id], view_position_y [id], view_height [id] as view packing information of encoded stream Te. It is a code.
  • view_width [i] and view_height [i] are the width and height of the view with padding area
  • the width and height of the real area are respectively view_width [i]-view_cropping_width [i], view_height [i]-view_cropping_heigth [ i].
  • the present invention according to this example is not limited to the case in which a plurality of view images are frame-packed in the vertical direction, and is also applicable to the case in which frame-packing is performed in the horizontal direction.
  • the configuration may be such that padding is not performed when performing frame packing.
  • the image decoding device 31 is an image decoding device 31 that decodes the coded stream Te of the image, and includes a picture decoding unit 32 that decodes a picture, and the picture decoding unit 32 A packed picture, a portion padded so that the vertical or horizontal size of each view located other than the end of the picture is a multiple of a coding tree unit which is a predetermined coding unit, and a plurality of views Decode the picture it contains.
  • the CTU when referring to or extracting a frame-packed picture in CTU block units, the CTU is prevented from including data derived from a plurality of view images, and a predetermined view is obtained.
  • the effect is to decode and extract only.
  • each member included in the image decoding device 31 has a function of performing the processing described in the present example below.
  • the encoded stream Te generated by the image encoding device 11 and input to the image decoding device 31 is a parameter set of VSP (Video Parameter Set), SPS (Sequence Parameter Set), or other parameters which are parameter sets of the encoded stream Te.
  • VSP Video Parameter Set
  • SPS Sequence Parameter Set
  • the set includes view packing information indicating what kind of frame packing has been applied to the picture decoded from the encoded stream Te.
  • FIG. 16 is a diagram illustrating an example of a picture in which a plurality of view images are frame-packed.
  • the header information decoding unit 19 decodes the parameter set of the input coded stream Te, and refers to view packing information.
  • the view packing information indicates that the target picture to be decoded from the encoded stream Te is divided into a plurality of view images, and the target picture is a frame of the view image in the horizontal direction as shown in the picture 53 of FIG.
  • the picture decoding unit 32 decodes the target picture by scanning it for each view. In the example shown in FIG. 16, the picture decoding unit 32 starts the decoding process of view 1 after completing the decoding process of view 0 among view 0 and view 1.
  • the encoded stream Te may have a parameter set, eg, view_packing_type, for defining the decoding order of view images in the image decoding device 31.
  • view_packing_type 0
  • the header information decoding unit 19 interprets that the picture is subjected to frame packing in the vertical direction (top and bottom), and the CT information decoding unit 10 of the picture decoding unit 32 Scans the CTUs in raster scan order within the picture.
  • view_packing_type 1
  • the header information decoding unit 19 determines that the picture is frame-packed in the horizontal direction (side and side), and the picture decoding unit 32 executes the raster scan order for each view image.
  • the CTU may be scanned.
  • the present invention according to the present embodiment is not limited to the case of including a plurality of view images frame-packed in the horizontal direction, and is applied, for example, to the case of decoding a picture in which view images are arranged in a grid.
  • View_packing_type 2 etc. may be used).
  • the coded stream Te has view packing information indicating how many view images are frame-packed pictures in the horizontal direction and the vertical direction, for example, the view number in the horizontal direction and the view in the vertical direction. It has the number view_num_verical.
  • position view_position_x [i] and view_position_y [i] of each view and sizes view_width_minus1 [i] and view_height_minus1 [i] are used as view packing information. You may use.
  • the image decoding apparatus 31 is an image decoding apparatus 31 that decodes a coded stream Te of an image, and includes a header information decoding unit 19 and a picture decoding unit 32, and the header information decoding unit 19
  • the view packing information which is view packing information included in the parameter set of the encoded stream Te and which indicates whether a target picture includes a plurality of views, is decoded, and the picture decoding unit 32 performs the view packing.
  • the information indicates that the target picture is divided into a plurality of views, the target picture is decoded by scanning for each view.
  • the image decoding apparatus 31 can extract the specific view image only by decoding the continuous range including the specific view image from the beginning of the encoded stream Te, so the processing amount can be reduced. Play.
  • a view tile is composed of one or more tiles or slices.
  • symbol is appended and description is abbreviate
  • each member included in the image decoding device 31 has a function of performing the processing described in the present example below.
  • a tile refers to a picture divided into rectangles in CTU units.
  • the encoding and decoding order of each CTU included in the tile is the raster scan order in the tile.
  • FIG. 17 is a diagram showing an example of a picture divided into a plurality of view tiles.
  • one tile corresponds to one view tile.
  • one view tile may be composed of a plurality of tiles.
  • the coded stream Te generated by the image coding apparatus 11 has view packing information indicating, for example, view_tile_packing_flag indicating whether or not a view tile is used in a picture decoded from the coded stream Te.
  • view_tile_packing_flag indicating whether or not a view tile is used in a picture decoded from the coded stream Te.
  • the header information decoding unit 19 decodes view packing information which is view packing information included in the input coded stream Te and which indicates whether a view tile is used.
  • view packing information indicates that the view tile is used
  • the picture decoding unit 32 decodes the view image by decoding the target view tile to be decoded.
  • the image decoding device 31 is the image decoding device 31 that decodes the coded stream Te of the image, and is predicted in the header information decoding unit 19, the picture decoding unit 32, and the picture decoding unit 32.
  • the header information decoding unit 19 is view packing information included in the parameter set of the coded stream Te, and indicates whether or not a view tile is used. Decoding view packing information, the picture decoding unit 32 decodes a specified view image by decoding a designated view tile when the view packing information indicates that a view tile is used.
  • the encoded stream Te may have information indicating each tile included in the view tile, for example, tile_included_flag [view_tile_idx] [tile_idx].
  • tile_included_flag indicates whether or not the view tile indicated by the view tile index view_tile_idx includes a tile of a certain tile_idx.
  • the encoded stream Te may be configured to have information indicating the view tile index of each tile.
  • the image decoding device 31 may be configured to decode in parallel each tile included in the view tile. Note that, instead of the information tile_view_tile_idx [i] indicating the view tile index of each tile i, the information tile_view_idx [i] indicating an index for identifying a view may be used. Also, it may be information tile_view_order_idx [i] indicating a view order index which is an index for identifying the order of views.
  • a configuration may be adopted in which a view slice (view slice) which is a slice associated with one view image is defined.
  • a slice refers to a continuous CTU region when a picture is scanned in raster scan order. The end of the slice may be located in the middle of each row in raster scan. Such a continuous area may be called a view segment.
  • the coded stream Te has view packing information indicating, for example, a view_slice_packing_flag indicating whether or not a view slice is used in a picture decoded from the coded stream Te.
  • view packing information indicating, for example, a view_slice_packing_flag indicating whether or not a view slice is used in a picture decoded from the coded stream Te.
  • the image coding device 11 sets each of the view images to a view slice with a view_slice_packing_flag set to 1, and performs coding processing.
  • the header information decoding unit 19 decodes view packing information which is view packing information included in the input coded stream Te and which indicates whether or not a view slice is used.
  • view packing information indicates that the view slice is used
  • the picture decoding unit 32 decodes the view image by decoding the target view slice.
  • the predicted image generation unit 308 is restricted from referring to a block included in a tile other than the target tile.
  • the image decoding apparatus in the view tile, may be configured to be able to refer to a block included in a view tile other than the target view tile. That is, the image decoding device 31 may be configured to be able to refer to the pixels of the reference view tile other than the target view tile, the prediction mode, the intra prediction mode, and the motion vector. Specifically, the image decoding apparatus 31 may perform the reference illustrated below.
  • the area to be referred to by the predicted image generation unit 308 is limited to facilitate prefetching, thereby suppressing an increase in memory access.
  • coding efficiency can be improved because blocks of another view tile very similar to the target block can be referenced.
  • each different from the object view tile It may be configured to include inter-view referenceability information indicating whether or not the view tile can be referenced, for example, view_tile_dependency_flag [i] [j].
  • view_tile_dependency_flag [i] [j]
  • the first subscript (index) i of view_tile_dependency_flag [i] [j] represents the view tile of the reference source
  • the second subscript j represents the view tile of the reference destination.
  • i and j are integers of 0 or more, and i> j.
  • inter-view referenceability information is used to indicate a dependency between view tiles
  • inter-tile reference information is used to indicate a dependency between tiles. And both.
  • view_tile_dependency_flag [i] [j] the reference relation between the same views.
  • the image decoding apparatus does not use a picture that is not dependent, that is, a picture that can not be referred to, as a reference picture, and does not add it to the reference picture list.
  • the configuration using view_tile_dependency_flag [i] [j] is different from the configuration using layer_dependency_flag [i] [j] in that the region of the view image not having a dependency is not used as a reference region.
  • the view_tile_dependency_flag [] [] may be simply described as tile_dependency_flag [] [] as described later.
  • FIG. 18 is a diagram illustrating an example of inter-view referenceability information between view tiles in a picture.
  • the value of view_tile_dependency_flag [1] [0], which is inter-view referenceability information is 1.
  • the above values indicate that when the predicted image generation unit 308 generates a predicted image of the target block included in the view tile 1, it can refer to the reference block included in the view tile 0.
  • the above value is 0, it is included in the view tile 0 which is the reference tile of the reference destination when generating a predicted image of the target block included in the view tile 1 which is the view tile of the reference source. It means that reference to the block is not possible.
  • the configuration using inter-view reference information is also applicable to the case where a plurality of view tiles correspond to one view image as in the example shown in (b) of FIG. 18 (in this case) Use inter-tile reference information). That is, in the example shown in (b) of FIG. 18, view 0 consists of view tile 0 (tile 0) and view tile 1 (tile 1), and view 1 is from view tile 2 (tile 2) and view tile 3 ( become a tile 3). In the example shown in (b) of FIG. 18, the dependency between each view tile is defined by the syntax tile_dependency_flag [i] [j].
  • the view tile 0 and the view tile 1 to the view 0 are configured and independent of each other.
  • tile_dependency_flag [1] [0] 0 // View tile 1 does not refer to view tile 0 View 1 is constructed from view tile 2 and view 1 (view tile 2) refers to view 0 (view tile 0).
  • view tile 0 and view tile 1 constituting view 0 can be decoded independently.
  • the view tile 2 constituting the view 1 and the view tile 3 constituting the view 2 respectively have to wait for the decoding of the view tile 0 and the view tile 1 but can be decoded independently.
  • FIG. 21 is a syntax table showing an example of a generation procedure of parameter sets included in the coded stream Te according to the present embodiment.
  • ue (v) described in the item Descriptor in FIG. 21 and the other syntax table figures means that the size of the corresponding syntax is variable (when the code length is 1 bit or as a result, 1 bit).
  • u (1) means that the size of the corresponding syntax is 1, and is a flag that can normally take a value of 0 or 1.
  • some syntax names in FIG. 21 and other diagrams of syntax tables and the meanings of the syntaxes conform to the specification of H. 265 of the International Telecommunication Union-Telecommunication Standardization Sector (ITU-T).
  • FIG. 25 is a flowchart showing an example of a process of setting a parameter set included in the coded stream Te according to the present embodiment.
  • step S101 the image encoding device 11 sets a parameter set that the encoded stream Te has.
  • Lines 2 to 5 in FIG. 21 correspond to the process in step S101.
  • the fifth line view_packing_flag is a syntax indicating whether the picture to be encoded by the image encoding device 11 is a plurality of view images frame-packed.
  • step S102 it is determined whether the picture to be encoded is a picture including a plurality of view images.
  • the sixth line in FIG. 21 corresponds to the process in step S102. If the picture includes a plurality of view images, that is, if the view_packing_flag is 1, the process transitions to step S103. If not included, that is, if the view_packing_flag is 0, the process based on the flowchart in FIG.
  • step S103 the image encoding device 11 sets the number of rows and the number of columns of the view tile included in the picture.
  • the seventh to ninth lines in FIG. 21 correspond to the process in step S103.
  • view_same_size_flag in the ninth row is a syntax that indicates whether the picture and the view tile included in the picture have the same size.
  • view_same_size_flag is a syntax that indicates that the picture includes a view image of 1 when the value is 1.
  • step S104 the image encoding device 11 sets the dependency between view tiles included in the picture, that is, the inter-view referenceability information.
  • the tenth to fifteenth lines in FIG. 21 correspond to the process in step S104.
  • a unique index is set for each view tile in the process shown in the 12th line, and inter-view reference information is set in the process shown in the 15th line.
  • step S105 the position, size, and cropping area of each view tile included in the picture are set.
  • Lines 16 to 27 in FIG. 21 correspond to the process in step S105.
  • the above process is performed, and the process based on the flowchart of FIG. 25 is ended.
  • the image decoding apparatus 31 decodes the encoded stream Te having the inter-view reference information as described above as a parameter set.
  • the header information decoding unit 19 decodes the inter-view reference availability information
  • the predicted image generation unit 308 refers to the inter-view reference availability information
  • the view tile is different from the target view tile. Identify the referenced reference blocks to be included.
  • the predicted image generation unit 308 appropriately refers to the reference block and generates a predicted image of the target block included in the target view tile.
  • the header information decoding unit 19 decodes inter-view referenceability information indicating whether or not reference to each view tile different from the target view tile is possible, and the predicted image generation unit 308 detects the target view In predicted image generation processing for generating a predicted image of a target block included in a tile, a reference block is specified with reference to the inter-view reference information.
  • the predicted image generation unit 308 can easily specify the view tile that can be referred to by referring to the inter-view referenceability information, which is useful for the decoding process.
  • FIGS. 19, 20, and 22 to 24 are syntax tables showing an example of a generation procedure of parameter sets included in the coded stream Te.
  • the coded stream Te generated by the image coding device 11 does not have inter-view reference availability information.
  • the number of rows and the number of columns of view images constituting a picture may be set in the same loop, or may be set independently as shown in FIG.
  • FIG. 22 is an example of using the tile syntax in the case of using a view tile.
  • tile_view_flag on the eighth line is a syntax indicating whether or not the tile is treated as a view image.
  • tile_view_idx [i] indicates the view index of each tile i (it may be a view order index instead of a view index).
  • the image encoding device 11 separates the dependency in the picture (intra) and the dependency in the inter (picture) with respect to the dependency between the view tiles.
  • the configuration may be set in the syntax.
  • view_tile_dependency_type [i] [j] is information indicating the dependency type between views, and the value of dependency type is intra prediction (eg 1), inter prediction (eg 2), intra prediction and inter prediction (eg 3) It may be.
  • the process shown in FIG. 24 has a configuration in which the view tile is replaced with a tile in the process in FIG.
  • the view image to be encoded is composed of a plurality of view tiles (hereinafter referred to as tiles).
  • tiles A specific example in the case where there is a connection will be described with reference to FIG. 26, FIG. 27 and FIG.
  • FIG. 26 will be described for the tile order index tile_order_id [i] (tile decoding order index TileOrderId) used in this specific example.
  • (A) and (b) of FIG. 26 are diagrams for explaining the decoding order of each tile included in a certain picture.
  • the values in the rectangular tiles indicate the value of the tile order index TileOrderId of each tile.
  • the header information decoding unit 19 of the image decoding device 31 decodes the encoded data having the bit stream restriction.
  • the tile position index is an index that indicates the position of a tile in a picture, and is set in raster order in this example.
  • FIG. 26 (B) of FIG. 26 is a diagram for explaining the tile order index TileOrderId.
  • FIG. 26 (b) shows an example in which TileOrderId is assigned to each tile, such as the upper left tile, the lower left tile, the right tile,..., And the tile at the end of the second row and first column. .
  • the tile decoding order is not restricted to the raster order of the pictures.
  • the arrow in a figure shows the reference relation mentioned later.
  • tile order index tile_order_id [i] which is a syntax indicating a decoding order of a certain tile i, may be encoded in encoded data.
  • FIG. 27 is a flowchart for explaining the parameter set setting method according to this example.
  • FIG. 28 is a syntax table showing an example of a generation procedure of parameter sets according to this specific example.
  • the image encoding device 11 encodes tiles in a certain picture in the order indicated by TileOrderId.
  • step S110 the header information encoding unit of the image encoding device 11 determines whether the flag curr_pic_tile_referencing_flag indicates that another tile included in the same picture is to be referred to. When it is determined in step S110 that the header information encoding unit refers to another tile included in the same picture, the process proceeds to step S111. If not, the header information encoding unit ends the processing.
  • curr_pic_tile_referencing_flag The portion of if (curr_pic_tile_referencing_flag) in FIG. 28 corresponds to the process in step S110. As shown in (a) of FIG. 37, curr_pic_tile_referencing_flag may be explicitly encoded. In this case, the following processing is performed.
  • the image encoding device 11 encodes a flag curr_pic_tile_referencing_flag indicating whether to refer to another tile included in the same picture.
  • curr_pic_tile_referencing_flag may use tile_view_flag described above. Note that as shown in (b) of FIG. 37, curr_pic_tile_referencing_flag may not be explicitly coded, but may be derived from tile_dependency_flag [i] [j] (a flag in this case may be called curr_tile_dependency_flag).
  • step S111 the header information encoding unit (tile decoding order encoding unit) of the image encoding device 11 encodes the tile order index tile_order_id [i] described above.
  • i may be coded as the loop variable by the number of tiles NumTileMinus1 + 1. Encode a unique tile order index for each tile.
  • the tile order index tile_order_id [i] may be encoded in raster order with respect to the tiles constituting the inside of the picture.
  • step S112 the header information encoding unit of the image encoding device 11 encodes dependency relationships between view tiles included in a picture, that is, inter-tile reference availability information.
  • inter tile referenceability information tile_dependency_flag [i] [j] is set. If tile_dependency_flag [i] [j] is 1, it indicates that tile i (first tile) can refer to tile j (second tile). If tile_dependency_flag [i] [j] is 0, it indicates that tile i (first tile) can not refer to tile j (second tile).
  • the above image coding apparatus 11 is information indicating the tile decoding order when the flag indicating whether there is a dependency relationship between tiles (whether a tile references another tile or not) is 1.
  • the tile order index may be encoded. Unlike the conventional tiles that can be decoded in parallel with each other, in the present configuration in which reference is made to another tile, there is a restriction on the decoding order of the tiles, so information that indicates the tile decoding order is encoded.
  • the inter-tile reference availability information set in step S112 is the second of the tiles when predicting the target block of the first tile (the tile indicated by i) of the tiles constituting the view image. Indicates whether or not 2 tiles (the tile indicated by j) can be referred to.
  • the value of the first index (i mentioned above) specifying the first tile is higher than the value of the second index (j mentioned above) specifying the second tile. Limit that it is big. This has the merit that the number of tile_dependency_flag [] [] to be notified can be reduced and the code amount can be reduced.
  • the notification of the parameter means that the parameter is included in the encoded data (bit stream), the moving image coding apparatus encodes the parameter, and the moving image decoding apparatus decodes the parameter.
  • FIG. 29 is a flowchart for explaining a specific example of the tile decoding method based on the parameter set according to this specific example.
  • the header information decoding unit 19 of the image decoding device 31 determines whether the flag curr_pic_tile_referencing_flag indicates that another tile included in the same picture is referred to. When it is determined that the header information decoding unit references another tile included in the same picture (curr_pic_tile_referencing_flag is 1) (YES in step S119), the process proceeds to step S120. If not (NO in step S119), the header information decoding unit ends the process.
  • step S120 the header information decoding unit 19 of the image decoding device 31 decodes the tile order index (tile decoding order index) encoded by the image encoding device 11.
  • step S121 the header information decoding unit 19 of the image decoding device 31 decodes the inter-tile referenceability information encoded by the image encoding device 11.
  • the value of the first index (i mentioned above) specifying the first tile is higher than the value of the second index (j mentioned above) specifying the second tile. There is a restriction that is large.
  • step S122 the inter prediction parameter decoding unit 303 of the picture decoding unit 32 of the image decoding device 31 refers to the inter-tile referenceability information decoded by the header information decoding unit 19 and determines whether a referenceable tile exists.
  • the process proceeds to step S123. If the inter-tile reference information indicates that there is no tile that can be referred to, the process ends.
  • the presence of a referenceable tile indicates that the current tile (first tile) including the target block can refer to at least one other tile (second tile). Note that curr_pic_tile_referencing_flag may be explicitly decoded as shown in (a) of FIG.
  • curr_pic_tile_referencing_flag curr_tile_dependency_flag. Further, as shown in FIG. 34 described later, the current picture reference utilization flag pps_curr_pic_ref_enabled_flag may be used.
  • step S123 the inter prediction parameter decoding unit 303 of the picture decoding unit 32 of the image decoding device 31 adds the current picture to the reference picture list. As a result, the second tile is added to the reference picture list.
  • the above image decoding apparatus 31 is a tile that is information indicating a tile decoding order when the flag indicating whether there is a dependency relationship between tiles (whether a tile references another tile or not) is 1.
  • the order index may be decrypted.
  • the tile decoding order is constrained because the tile decoding order is constrained, and thus information indicating the tile decoding order is decoded.
  • the image decoding apparatus 31 can perform decoding with reference to the already decoded tile based on the inter-tile reference availability information in the decoding order specified by the tile order index, as a result of the above processing.
  • FIG. (A) and (b) of FIG. 30 is a figure for demonstrating the image decoding method by the image decoding apparatus 31 based on this specific example, respectively (The arrow has started the object block and has pointed to the reference block. ).
  • the inter-tile reference availability information decoded by the header information decoding unit 19 is expressed by the following equation.
  • i in tile_dependency_flag [i] [j] is the value of the first index indicating the tile decoding order (decoding order in FIG. 30)
  • j is the decoding order (decoding order in FIG. 30). It is the value of the 2nd index which shows.
  • the first index indicates the first tile that is the reference source, and the second index indicates the second tile that is the reference destination.
  • the order of the indexes of tile_dependency_flag [i] [j] may be tile_dependency_flag [j] [i]. That is, it may be described in the order of the second index j and the first index i.
  • the image decoding apparatus 31 decodes tiles in the order indicated by TileOrderId, that is, tile 0, tile 1, and tile 2 in this order.
  • the predicted image generation unit 308 refers to the inter-tile referenceability information tile_dependency_flag when decoding the target block included in the tile 1 (first tile), and the tile 1 (first If the flag tile_dependency_flag [1] [0] indicating whether or not tiles can be referenced to tile 0 (second tile) is 1, tile 1 (first tile) is used using tile 0 (second tile) Generate a predicted image of the target block of That is, a reference picture list including tile 0 (second tile) is used to specify a reference picture, and a predicted image of the target block is generated using the specified reference picture.
  • a predicted image of a target block of tile 2 (first tile) is generated. That is, a reference picture list including tile 0 (second tile) is used to specify a reference picture, and a predicted image of the target block is generated using the specified reference picture.
  • the image decoding device 31 decodes tiles in the order indicated by the tile order index TileOrderId. That is, the tiles are decoded in order from the tile with the smallest tile order index TileOrderId (here, in the order of tile 0, tile 1 and tile 2).
  • the predicted image generation unit 308 refers to the tile order index and the inter-tile referenceability information, and thus each object is in the order of tile 0, tile 1, and tile 2, which is the decoding order specified by the tile order index. Generate a predicted image of the block.
  • tile_dependency_flag [i] [j] indicated by the above three expressions i is the value of the first index indicating the tile order index, and j is the value of the second index indicating the tile order index.
  • the first index indicates a first tile and the second index indicates a second tile.
  • a predicted image of the target block of tile 1) is generated (at this point, tile 1 has been decoded). That is, a reference picture list including tile 1 (second tile) is used to specify a reference picture, and the specified reference picture is used to generate a predicted image of the target block.
  • the above configuration is an image decoding apparatus that decodes a tile that constitutes a view, and when predicting a target block of a first tile of the tiles, whether or not the second tile of the tiles can be referred to Inter-tile reference information decoding unit that decodes the inter-tile reference information and the reference picture including the second tile when the inter-tile reference information indicates that the second tile can be referred to; And a header information decoding unit for decoding a tile decoding order index indicating a decoding order of each tile.
  • the predicted image generation unit 308 refers to the tile order index and the inter-tile referenceability information, and thereby the tile order index is the decoding order specified by the tile order index. A predicted image of each target block of the tile can be generated.
  • the image decoding device 31 is an image decoding device that decodes a tile that configures a view, and when the target block of the first tile among the tiles is predicted, the tile Inter-tile reference information decoding unit (header information decoding unit 19) for decoding inter-tile reference information indicating whether or not the second tile in the second tile can be referred to;
  • a prediction image generation unit (prediction image generation unit 308) that generates a prediction image of the target block with reference to the second tile (reference tile) when it indicates that the tile can be referred to;
  • the image generation unit generates a predicted image of each target block of the tile in the decoding order notified by the tile order index (tile decoding order index).
  • the reference tile to which the target tile refers is only an index smaller than the target tile, it is possible to reduce the number of bits required for inter-tile reference information. Further, by referring to the inter-tile reference information, it is possible to easily identify the tile that can be referred to. Therefore, it is not necessary to refer to tiles other than the identified referenceable tiles, and a predicted image of each target block of the tile can be generated in a predetermined decoding order, and the view image can be efficiently decoded. Can.
  • an image coding device 11 corresponding to the above-described image decoding device 31 is also included in the present invention. More specifically, the image encoding device 11 is an image encoding device that encodes a tile that constitutes a view, and when predicting a target block of a first tile among the tiles, the image encoding device 11
  • the inter-tile reference information encoding unit (the above-mentioned header information encoding unit) that encodes inter-tile reference information indicating whether or not the second tile can be referred to;
  • a predicted image generation unit (predicted image generation unit 101) for generating a predicted image of the target block with reference to the second tile (reference tile) when indicating that the second tile can be referred to.
  • the predicted image generation unit generates a predicted image of each target block of the tile in the coding order notified by the tile order index.
  • the value of the index set to each tile is fixed (for example, in raster order), and the value of the first index specifying the first tile is the first A restriction is imposed that it is greater than the value of the second index specifying tile 2, so if the value of the first index is smaller than the value of the second index, it is possible to refer to the second tile
  • the image decoding apparatus 31 further includes a tile decoding order information decoding unit (header information decoding unit 19) that decodes a tile decoding order index that specifies the decoding order of the plurality of tiles, and the predicted image
  • the generation unit refers to the second tile in which the value of the tile decoding order index is specified as the value of the second index, and the tile decoding order is determined as the value of the first index.
  • the restriction is imposed that the value of the first index specifying the first tile is larger than the value of the second index specifying the second tile
  • the restriction Since it is sufficient to decode only the inter-tile reference information that is imposed, it is possible to generate predicted images of respective target blocks of a plurality of tiles in a predetermined decoding order while suppressing the bit amount of the flag. Images can be decoded efficiently.
  • FIG. 31 is a flowchart for explaining a specific example of the tile decoding method based on the parameter set according to this specific example.
  • the image decoding device 31 decodes a flag tile_view_flag indicating whether to refer to another tile included in the same picture.
  • step S129 The header information decoding unit 19 of the image decoding device 31 determines whether or not the flag tile_view_flag indicates that another tile included in the same picture is to be referred to. If it is determined that the header information decoding unit refers to another tile included in the same picture (YES in step S129), the process proceeds to step S130. If not (NO in step S129), the header information decoding unit ends the process. (S130) In step S130, the header information decoding unit 19 of the image decoding device 31 decodes the inter-tile reference availability information encoded by the image encoding device 11. Note that the inter-tile reference availability information includes the value of the first index specifying the first tile (i described above) and the value of the second index specifying the second tile (j described above). There is a restriction that is different.
  • step S131 the predicted image generation unit 308 of the picture decoding unit 32 of the image decoding device 31 derives a tile order from the inter-tile reference availability information decoded by the header information decoding unit 19.
  • step S132 the inter prediction parameter decoding unit 303 of the picture decoding unit 32 of the image decoding device 31 can refer to the second tile with reference to the inter-tile referenceability information decoded by the header information decoding unit 19. By determining whether or not there is a tile that can be referred to. If the inter-tile reference information indicates that the second tile can be referenced, the process proceeds to step S134. If the inter-tile reference information indicates that the second tile can not be referred to, the process ends.
  • the inter prediction parameter decoding unit 303 of the picture decoding unit 32 of the image decoding device 31 adds the current picture to the reference picture list. As a result, the second tile is added to the reference picture list.
  • FIG. 32 is a syntax table showing an example of a generation procedure of a parameter set according to this example.
  • (B) of FIG. 32 is a diagram for describing an image decoding method by the image decoding device 31 according to the present specific example (arrows start from the target block and point to reference blocks).
  • tile_order_idx [i] is deleted as compared with the syntax table shown in FIG. That is, the header information encoding unit of the image encoding device 11 does not encode the tile order index.
  • the predicted image generation unit 308 of the picture decoding unit 32 of the image decoding device 31 refers to the reference picture list generated in the process of step S133 to obtain the second tile.
  • the predicted image of the target block of the first tile designated by the value of the first index in the inter-tile reference information determined to be referable is preferentially generated.
  • the inter-tile referenceability information decoded by the header information decoding unit 19 is represented by the following equation.
  • the inter-tile reference availability information of combinations of (i, j) other than the above is 0.
  • the predicted image generation unit 308 of the picture decoding unit 32 of the image decoding device 31 designates the first index value 0 or 2 in the process following step S133 described above.
  • the predicted image using tile 1, which is the second tile, and the target block of the first tile specified by the value 3 or 5 of the first index, in the second tile A predicted image using a certain tile 4 is preferentially generated.
  • the prediction image generation unit 308 may generate prediction images of respective target blocks of the plurality of tiles in raster order (for example, tile 1, In the order of tiles 4).
  • the image decoding apparatus 31 specifies the first tile in the inter-tile reference information decoded by the inter-tile reference information decoding unit (header information decoding unit 19).
  • a restriction is imposed that the value of the first index is different from the value of the second index specifying the second tile, and the prediction image generation unit (prediction image generation unit 308) performs inter-tile reference
  • Each target block of the plurality of tiles in a decoding order in which the first tile designated by the first index value is preferentially referenced with reference to the second tile designated by the second index value in the permission information Generate a predicted image of
  • the code amount of the index can be reduced.
  • FIG. 33A is a view for explaining the configuration of encoded data and the tile position index TilePosID.
  • tile encoded data is arranged in tile order index order.
  • the tile position index TilePosID is information indicating where each tile should be displayed in the screen, and the picture information is determined by decoding the tile position index TilePosID.
  • FIG. 33 (b) shows the arrangement on the picture of the tile position index TilePosID, which is arranged in raster order in this example. Also, the lines in each figure show the reference relationship of each tile.
  • FIG. 34 is an example of a syntax table showing a configuration of encoded data of tile position index TilePosID.
  • a flag curr_tile_dependency_flag indicating whether there is a dependency between tiles is notified, and when curr_tile_dependency_flag is 1, tile position index TilePosID [i] of each tile in order of tile decoding order To notify.
  • tile_dependency_flag [] [] indicating individual dependencies of each tile may be notified next.
  • (B) of FIG. 34 notifies tile_dependency_flag [] [] indicating individual dependencies of each tile, and as described above, indicates whether or not there is a dependency relation between tiles from tile_dependency_flag [] [].
  • the flag curr_tile_dependency_flag is derived. When the derived curr_tile_dependency_flag is 1, the tile position index TilePosID [i] of each tile is notified in the order of tile decoding order.
  • the header information encoding unit (tile position information encoding unit) of the image encoding device 11 encodes tile position information when there is dependency between tiles.
  • the header information decoding unit 19 (tile position information decoding unit) of the image decoding device 31 decodes tile position information encoded by the image encoding device 11 when there is dependency between tiles.
  • FIG. 35 is a syntax table showing an example of notifying upper left coordinates tile_position_x, tile_position_y of tiles when there is a dependency between tiles.
  • a flag indicating that there is a dependency between tiles may be decoded ((a) in FIG. 35) or may be derived ((b) in FIG. 35).
  • the position may be in units of 2 pixels or 4 pixels instead of each pixel.
  • FIG. 36 shows a syntax configuration for notifying inter-tile reference availability information when pps_curr_pic_ref_enabled_flag is 1.
  • the header information encoding unit (tile position information encoding unit) of the image encoding device 11 encodes the inter-tile reference availability information.
  • the header information decoding unit 19 (tile position information decoding unit) of the image decoding device 31 decodes the inter-tile referenceability information encoded by the image encoding device 11.
  • FIG. 36 further shows a syntax configuration for notifying a tile order index when pps_curr_pic_ref_enabled_flag is 1.
  • (B) of FIG. 36 shows a syntax configuration for notifying of a tile position index when pps_curr_pic_ref_enabled_flag is further “1”.
  • the header information encoding unit (tile position information encoding unit) of the image encoding device 11 encodes tile position information when pps_curr_pic_ref_enabled_flag is 1.
  • the header information decoding unit 19 (tile position information decoding unit) of the image decoding device 31 decodes tile position information encoded by the image encoding device 11.
  • the tile position information may be a tile position index or tile upper left coordinates.
  • Example of reference block restriction (view image reference restriction)
  • the predicted image generation unit 308 restricts the view image to be referred to in the predicted image generation process of generating a predicted image of the target block.
  • symbol is appended and description is abbreviate
  • each member included in the image decoding device 31 has a function of performing the processing described in the present example below.
  • FIG. 38 is a diagram showing an example of a view image that can be referred to when generating a predicted image of a view image.
  • the block included in the view image here, the view 1 of the picture 57
  • the view i refers to the view image previously decoded in decoding order
  • h, i and j are integers of 0 or more.
  • a vector (motion vector) for specifying a reference block as shown by the arrow in FIG. 38 is used.
  • FIG. 39 is a diagram illustrating an example of clipping a vector pointing to a block to be referred to in a predicted image generation process.
  • mvLX [1] that is the y-direction (vertical direction) component of the clipped motion vector is shown below.
  • yPb + mvLX [1] + nPbH-1 view_position_y [view_id] + view_height [view_id]
  • view_position_y [view_id] and view_height [view_id] mean the start (upper left) y coordinate and height of the view image having view_id
  • yPb and nPbH mean the upper left coordinate and height of the target block, respectively.
  • Clip 3 (x, y, z) is a function that returns x when z ⁇ x, y when z> y, and z otherwise.
  • mvLX [0] Clip3 (0, view_position_x [view_id] + view_width [view_id]-xPb-nPbW + 1, mvLX [0])
  • mvLX [0] means the x direction component of the motion vector
  • view_position_x [view_id] and view_width [view_id] mean the start (upper left) x coordinate and width of the view image having view_id, respectively.
  • the said padding process means the process which clips the reference position of interpolation image generation in the utilization range.
  • the range (usable range) to which reference can be made when the predicted image generation unit 308 performs the predicted image generation process of the view i is as follows.
  • xMax min (pic_width_in_luma_samples-1, view_position_x [i] + view_width [i] -1)
  • yMax min (pic_height_in_luma_samples-1, view_position_y [i] + view_height [i] -1)
  • xMin and xMax are variables representing the reference restriction range (use range) in the x direction (horizontal direction)
  • yMin and yMax are
  • Y direction (vertical direction) is a variable representing the reference limit range (use range).
  • pic_width_in_luma_samples is a syntax which shows the width
  • pic_height_in_luma_samples is a syntax which shows the height of a brightness
  • the integer part of the motion vector mvLX is derived as xInt, yInt, and the following reference location xRef , yRef pixels are used.
  • xPb, yPb are upper left coordinates of PU (Prediction Unit)
  • mvshift is a constant indicating that the motion vector precision is 1 / (2 ⁇ mvshift) pel
  • xL, yL are within PU
  • the processing of replacing the reference position within the use range using the Clip 3 function is the substance of the padding processing.
  • FIG. 40 is a diagram showing an example of padding processing according to the present example.
  • motion image generation interpolated image generation
  • the predicted image generation unit 308 prohibits the reference-prohibited region as shown in a picture 61.
  • the blocks in the area are padded with the blocks in the area (white area) where reference is possible.
  • the image decoding apparatus 31 is the image decoding apparatus 31 that decodes encoded data of an image, and includes a predicted image generation unit 308 that generates a predicted image, and the predicted image generation unit 308
  • the motion vector is clipped (changed) within the usage range.
  • the reference block Restrict references to information on reference pictures included in a given view.
  • the predicted image generation unit 308 when performing inter prediction in the predicted image generation process, has an effect of preventing the reference region from being referred to.
  • each member included in the image decoding device 31 has a function of performing the processing described in the present example below.
  • the predicted image generation unit 308 included in the image decoding device 31 can generate a predicted image of a target block using intra block copying.
  • Intra block copying is a technique for generating a target block by referring to a reference block included in an already decoded area in a picture to which the target block to be generated belongs. Generating a predicted image using intra block copy is called intra block copy prediction.
  • Intra block copy prediction uses a vector to specify a reference block, as in inter prediction that refers to a picture different from the target block. Since intra block copying (IBC) can be realized by designating a target picture itself as a reference picture, it is also referred to as current picture reference (CPR).
  • IBC intra block copying
  • CPR current picture reference
  • FIG. 41 is a diagram illustrating an example of blocks to which the predicted image generation unit 308 can refer.
  • the view 0 is a decoded view image
  • the view 1 is a view image during decoding.
  • blocks to which the prediction image can be referenced are limited to reference blocks included in view 0.
  • the reference block 63b can be referred to but the reference to the block 63c is prohibited.
  • the predicted image generation unit 308 restricts the reference block to the reference block included in the decoded view.
  • the area to which the predicted image generation unit 308 refers is limited, and pre-reading becomes easy.
  • each member included in the image decoding device 31 has a function of performing the processing described in the present example below.
  • FIG. 42 is a diagram illustrating an example of blocks to which the predicted image generation unit 308 can refer.
  • a block that can be referred to by the predicted image generation unit 308 is a reference block included in view 0 and the target block It limits to the reference block which exists in a corresponding position, and the reference block located in the predetermined range centering on the said reference block.
  • the reference block corresponding to the target block 64a on the view 0 and the reference block are centered
  • the area 64b of the predetermined range can be referred to, but the block 64c on the view 0 and the block 64d on the view 1 are forbidden to refer to.
  • the area 64 b is a reference block in a view having a view_id smaller than the view in which the target pixel is present, and means within a predetermined range centered on the reference block present at a position corresponding to the target block. .
  • MVRange2 is a variable that indicates the size of the range that allows reference.
  • the above clipping is a reference block in view 0 that is view_id smaller than the view in which the target pixel is present, and the upper left position of the reference block present at the position corresponding to the target block is (0, -view_height [1])
  • the lower right position is limited within a range centered on (nPbW, -view_height [1] + nPbH).
  • MVrange2 Clip3 (xCtr-MVRange2, xCtr + MVRange2-1, mvLX [0])
  • mvLX [1] Clip3 (yCtr-MVRange2, yCtr + MVRange2-1, mvLX [1])
  • MVrange2U, MVrange2D, MVrange2L, and MVRange2R the same range MVrange2 is used in the upper, lower, left, and right directions, but different ranges may be used in upper, lower, left, and right (for example, MVrange2U, MVrange2D, MVrange2L, and MVRange2R).
  • the predicted image generation unit 308 sets the motion vector to a reference block in a view having a view_id smaller than the view in which the target pixel is present, and centers the reference block existing at a position corresponding to the target block.
  • the motion vector is restricted so that the reference pixel of the motion vector is located within the predetermined range.
  • the motion vector points to the area where the reference is prohibited
  • the above area is replaced with the area where the reference is not prohibited (in the use range), that is, padding It may be configured to perform processing.
  • pixels of the following reference positions xRef and yRef are used.
  • xMin max (0, xPb-MVRange2)
  • yMin max (0, yPb-view_height [1] -MVRange2)
  • xMax min (pic_width_in_luma_samples-1, xPb + nPbW + MVRange2-1)
  • yMax min (pic_height_in_luma_samples-1, yPb-view_height [1] + nPbH + MVRange2-1)
  • xRef Clip3 (xMin, xMax, xInt + i)
  • yRef Clip 3 (yMin, yMax, yInt + j)
  • the processing of replacing the reference position within the use range using the Clip 3 function is the substance of
  • the predicted image generation unit 308 sets the reference pixel as a reference block in a view having a view_id smaller than the view in which the target pixel exists, and centers the reference block existing at a position corresponding to the target block. And limit the reference pixels located within the predetermined range.
  • the area to be referred to by the predicted image generation unit 308 is limited to facilitate prefetching, thereby suppressing an increase in memory access.
  • each member included in the image decoding device 31 has a function of performing the processing described in the present example below.
  • FIG. 43 is a diagram illustrating an example of blocks to which the predicted image generation unit 308 can refer.
  • a block to which the prediction image can be referred is intra
  • the area is limited to the area described in the reference example 2 according to block copy and the reference block belonging to the same coding tree block (CTU) line of the same view as the target block.
  • CTU coding tree block
  • FIG. 44 is a diagram illustrating an example of motion vector clipping processing and padding processing according to this example.
  • xCtb is the upper left x coordinate of the CTU to which the target block belongs
  • yCtb is the upper left y coordinate of the CTU
  • ctb_height is the CTU width and height of view i
  • view_width [ i] mean the width and height of the view i, respectively.
  • (A) is a syntax table which shows an example of the clipping process of a motion vector based on this example.
  • the block may be replaced with the area where the reference is not prohibited, that is, the padding process may be performed.
  • (B) is a syntax table which shows an example of the padding process based on this example.
  • a reference pixel which is a reference destination pixel at a position shifted by i, j from a target pixel which is a reference source pixel
  • pixels of reference positions xRef and yRef shown in (b) are used.
  • the predicted image generation unit 308 is the same as the target block, which is the reference block belonging to the area described in the reference example 2 related to intra block copying and the view in which the target block exists. Restrict to the reference block belonging to the coding tree block line.
  • the predicted image generation unit 308 since the predicted image generation unit 308 refers to the reference block that can be stored in the line memory, the predicted image generation unit 308 has an effect of suppressing the delay of the decoding process.
  • the image decoding device 31 is an image decoding device 31 that decodes encoded data of an image, and the intra block copy that refers to a block in the same view
  • the prediction image generation unit 308 is used to generate a prediction image by using the prediction image generation unit 308.
  • the prediction image generation unit 308 generates a prediction image of a target block by referring to a reference block to be referred to in the prediction image generation processing.
  • the area to be referred to by the predicted image generation unit 308 is limited to facilitate prefetching, thereby suppressing an increase in memory access.
  • Example of restriction of reference block (reference restriction of tile image)
  • the predicted image generation unit 308 restricts tile images to be referred to in the predicted image generation process of generating a predicted image of a target block.
  • the configuration shown in the functional block diagram of FIG. 13 is used.
  • symbol is appended about the member which has the same function as the member mentioned above, and description is abbreviate
  • the predicted image generation unit 308 of the picture decoding unit 32 of the image decoding apparatus 31 performs step S122. It is determined whether or not the inter-tile reference information indicates that the second tile can be referred to. If the inter-tile reference information indicates that the second tile can be referred to, the current picture is added to the reference picture list to generate a reference picture list including the second tile that can be referred to.
  • the predicted image generation unit 308 (also serving as a clipping unit) is used to limit reference to tiles that can not be referred to when referring to the current picture.
  • the predicted image generation unit 308 generates a predicted image of the target block of the first tile with reference to the range of the second tile by replacing the reference position (the above-described intra block copy and the like).
  • FIG. 47 is a diagram showing an example of replacing a reference position when generating a predicted image of a tile image.
  • the inter-tile reference availability information in the example shown in FIG. 47 is shown below.
  • the inter-tile reference information indicates that tile 0 (second tile) can be referenced when predicting the target block of tile 2 (first tile). Therefore, the predicted image generation unit 308 replaces the reference position with the position in the referenceable range (bold frame in FIG. 47) before performing step S123 described above.
  • the predicted image generation unit 308 generates a predicted image of the target block of tile 2 with reference to the pixels of tile 0 that can be referred to.
  • the following is an expression (the above-described Clip 3 function) of reference position setting by the predicted image generation unit 308 in this specific example.
  • x Clip 3 (xTs, xTs + wT-1-blkW, x)
  • y Clip 3 (yTs, yTs + hT-1-blkH, y)
  • the meaning of each symbol is as follows.
  • NumTile (num_tile_columns_minus1 + 1) * (num_tile_rows_minus1 + 1)
  • the predicted image generation unit 308 sets the range of the reference position in the range of the second tile each time it determines that the inter-tile reference information indicates that the second tile can be referred to. . Then, in the image coding device 11, motion vector search may be performed in the referenceable range.
  • the range of loop variable j of the tile may be 0..NumTile-1 instead of 0..currTileOrderId-1.
  • the variation distTmp of the reference position in the case of limiting the reference range to each tile j is derived, and the reference position (bestX, bestY) in the case where the variation is the minimum is used as the final reference position (x, y And).
  • the amount of change of the reference position may use the following square distance or the like regardless of the absolute value distance.
  • distTmp
  • ⁇ 2 indicates the square.
  • the clipping unit clips the reference position to the range of the second tile (prediction (prediction)
  • the predicted image generation unit further refers to the range of the second tile clipped by the clipping unit, and the predicted image generation unit (predicted image generation unit 308) corresponds to the predicted image of the first tile.
  • the current picture As in the method of adding the current picture to the reference picture list described later, if there is a dependency between the current picture tiles, the current picture (currPic) is added to the reference picture list.
  • the current picture (currPic) is added to the reference picture list.
  • Tiles that are not dependent may not be decodable because they may not be held in reference memory.
  • decoding is performed also on the memory band, a load more than necessary is generated. Therefore, according to the configuration according to the above specific example, since the pixels of the tile that can be referred to can be referred to in advance, the tile having no dependency relationship is not erroneously referred to, and the image can be reliably obtained under a limited load. Can be decoded.
  • the predicted image generation unit 308 may or may not refer to between tiles
  • the pixels in the region where reference can be made are referred to instead.
  • reference is made to pixels of referenceable tiles.
  • FIG. 48 is a diagram illustrating an example of pixel reference processing by the predicted image generation unit 308 according to the present specific example.
  • the tile 0 corresponds to a second tile indicating that inter-tile reference information can be referred to.
  • the tile 1 and the tile 2 correspond to a second tile indicating that the inter-tile reference information can not be referred to.
  • the predicted image generation unit 308 performs pixel reference processing such as referring to the pixels of the referenceable area when referring to the area where the reference is prohibited by the inter-tile reference information. For example, reference is made to tile 0 which is a tile of a referenceable area. Then, the predicted image generation unit 308 stores the current picture currPic in the reference picture list stored in the reference picture memory 306 (the details of the reference picture list in the present embodiment will be described later).
  • the prediction image generation unit 308 when predicting a target block of tile 5 (first tile), the prediction image generation unit 308 (also serving as a replacement unit) If it indicates that the block of 2 or 3 (horizontal stripe tile) (second tile) can not be referred to, the pixel value of tile 1, 2 or 3 is replaced with a predetermined value (for example 128). Then, the predicted image generation unit 308 further generates a predicted image of the target block of the block 5 with reference to the reference block of the tile 1, 2 or 3 (horizontal stripe tile) in which the pixel values are replaced (more specifically, Before the step, store the current picture in the reference picture list).
  • blocks of tiles that are not dependent can be treated as reference blocks, and reference restrictions can be avoided. Therefore, the view image can be efficiently decoded.
  • the prediction image generation unit 308 determines whether the inter-tile reference availability information is tile 1, 2 or 3 ( A tile indicating that another inter-tile reference information can refer to the second tile instead of the pixel value of tile 1, 2 or 3 if it indicates that the block of the second tile can not be referred to The predicted image of the target block is further generated with reference to pixel values of 0 or 4 (another second tile) (more specifically, the current picture is stored in the reference picture list before the process).
  • FIG. (b) of FIG. 49 will be described in more detail with reference to FIG. (A) to (c) of FIG. 50 are diagrams showing more specific examples of pixel reference processing by the predicted image generation unit 308 according to the present specific example.
  • the predicted image generation unit 308 can refer to the pixel position currently being processed.
  • the pixel position of any tile (tile 0 (another second tile)) is referenced to search for the vicinity of that pixel.
  • the predicted image generation unit 308 may pad around the tile (tile 0 in the figure).
  • the predicted image generation unit 308 when predicting the target block of the tile 5 (first tile), the predicted image generation unit 308 performs a reference corresponding to the pixel position currently being processed.
  • the pixel position of any possible tile (tile 4 (another second tile)) is referenced to search for the vicinity of that pixel.
  • the predicted image generation unit 308 may pad around the tile (the tile 4 in the figure).
  • the predicted image generation unit 308 transmits the current picture currPic stored in the reference picture list. Prepare a memory separately from the memory of the current picture currPic currently being processed, and replace it with a copy of a tile (tile 0 or 4) to which reference can not be made (tile 1, 2, 3 or 5) May search near the current pixel.
  • the predicted image generation unit 308 when predicting the target block of the tile 5 (first tile), the predicted image generation unit 308 (also serving as the replacement unit) If the inter-tile reference information indicates that the block of tile 1, 2 or 3 (the second tile) can not be referred to, another inter-tile reference information indicates the pixel value of tile 1, 2 or 3 Replace with the average value of pixel values of tile 0 or 4 (another second tile) indicating that the reference block can be referenced. Then, the predicted image generation unit 308 further generates a predicted image of the target block with reference to the reference block of the tile 1, 2 or 3 in which the pixel value is replaced (more specifically, before the step, the reference picture Store the current picture in the list)
  • FIG. (c) of FIG. 49 An example shown in (c) of FIG. 49 will be described in more detail with reference to FIG. (A) and (b) of FIG. 51 is a figure which shows the more concrete example of the pixel reference process by the estimated image production
  • the predicted image generation unit 308 can refer to the pixel position currently being processed. Any tile (tile 0) may be replaced with the average of tiles 0 and 4 and then referenced to search around that pixel. At this time, the predicted image generation unit 308 pads the periphery of the tile (tile 0). Further, in the example illustrated in (b) of FIG. 51, for example, when predicting the target block of the tile 5 (first tile), the predicted image generation unit 308 transmits the current picture currPic stored in the reference picture list. Prepare a memory separately from the currPic memory currently being processed, and use the average of tiles (tiles 0 and 4) that can refer to non-referenceable tiles (tiles 1, 2, 3 and 5). May be used for the reference picture.
  • the image encoding device 11 and the image decoding device 31 described above can be mounted and used in 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 an artificial moving image (including CG and GUI) generated by a computer or the like.
  • FIG. 45 is a block diagram showing a configuration of a transmission device PROD_A on which the image coding device 11 is mounted.
  • the transmission device PROD_A modulates the carrier wave with the coding unit PROD_A1 for obtaining the coding data by coding the moving image, and the coding data obtained by the coding unit PROD_A1.
  • the image coding apparatus 11 described above is used as the coding unit PROD_A1.
  • the transmission device PROD_A is a camera PROD_A4 for capturing a moving image, a recording medium PROD_A5 for recording the moving image, an input terminal PROD_A6 for externally inputting the moving image, and a transmission source of the moving image input to the encoding unit PROD_A1. , And may further include an image processing unit A7 that generates or processes an image. In (a) of FIG. 45, although the configuration in which the transmission device PROD_A includes all of these is illustrated, a part of the configuration may be omitted.
  • the recording medium PROD_A5 may be a recording of a non-coded moving image, or a moving image encoded by a recording encoding method different from the transmission encoding method. It may be one. In the latter case, it is preferable to interpose, between the recording medium PROD_A5 and the encoding unit PROD_A1, a decoding unit (not shown) that decodes the encoded data read from the recording medium PROD_A5 according to the encoding scheme for recording.
  • FIG. 45 is a block diagram showing a configuration of a reception device PROD_B on which the image decoding device 31 is mounted.
  • the receiver PROD_B demodulates the modulated signal received by the receiver PROD_B1, which receives the modulated signal, and the demodulator PROD_B2, which obtains encoded data by demodulating the modulated signal received by the receiver PROD_B1, and And a decoding unit PROD_B3 for obtaining a moving image by decoding encoded data obtained by the unit PROD_B2.
  • the image decoding device 31 described above is used as the decoding unit PROD_B3.
  • the receiving device PROD_B is 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. It may further comprise PROD_B6. Although (b) of FIG. 45 exemplifies a configuration in which the reception device PROD_B includes all of them, a part may be omitted.
  • the recording medium PROD_B5 may be for recording a moving image which has not been encoded, or is encoded by a recording encoding method different from the transmission encoding method. May be In the latter case, an encoding unit (not shown) may be interposed between the decoding unit PROD_B3 and the recording medium PROD_B5 to encode the moving image acquired from the decoding unit PROD_B3 according to the encoding method for recording.
  • the transmission medium for transmitting the modulation signal may be wireless or wired.
  • the transmission mode for transmitting the modulation signal may be broadcast (here, a transmission mode in which the transmission destination is not specified in advance), or communication (in this case, transmission in which the transmission destination is specified in advance) (Refer to an aspect). That is, transmission of the modulation signal may be realized by any of wireless broadcast, wired broadcast, wireless communication, and wired communication.
  • a broadcasting station (broadcasting facility etc.) / Receiving station (television receiver etc.) of terrestrial digital broadcasting is an example of a transmitting device PROD_A / receiving device PROD_B which transmits and receives a modulated signal by wireless broadcasting.
  • a cable television broadcast station (broadcasting facility or the like) / receiving station (television receiver or the like) is an example of a transmitting device PROD_A / receiving device PROD_B which transmits and receives a modulated signal by cable broadcasting.
  • a server such as a workstation
  • client such as a VOD (Video On Demand) service or a video sharing service using the Internet
  • PROD_A / receiving device PROD_B
  • the personal computer includes a desktop PC, a laptop PC, and a tablet PC.
  • the smartphone also includes a multifunctional mobile phone terminal.
  • the client of the moving image sharing service has a function of encoding a moving image captured by a camera and uploading it 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. 46 (a) is a block diagram showing a configuration of a recording device PROD_C on which the image coding device 11 described above is mounted.
  • the recording device PROD_C uses the encoding unit PROD_C1, which obtains encoded data by encoding a moving image, and the encoded data obtained by the encoding unit PROD_C1, to the recording medium PROD_M.
  • a writing unit PROD_C2 for writing.
  • the image coding device 11 described above is used as the coding unit PROD_C1.
  • the recording medium PROD_M may be (1) a type incorporated in the recording device PROD_C, such as a hard disk drive (HDD) or a solid state drive (SSD), or (2) an SD memory. It may be of a type connected to the recording device PROD_C, such as a card or a Universal Serial Bus (USB) flash memory, or (3) a DVD (Digital Versatile Disc) or a BD (Blu-ray Disc: Registration It may be loaded into a drive device (not shown) built in the recording device PROD_C, such as a trademark).
  • a type incorporated in the recording device PROD_C such as a hard disk drive (HDD) or a solid state drive (SSD), or (2) an SD memory. It may be of a type connected to the recording device PROD_C, such as a card or a Universal Serial Bus (USB) flash memory, or (3) a DVD (Digital Versatile Disc) or a BD (Blu-ray Disc: Registration It may be loaded into
  • the recording device PROD_C is a camera PROD_C3 for capturing a moving image as a supply source of the moving image input to the encoding unit PROD_C1, an input terminal PROD_C4 for inputting the moving image from the outside, and a reception for receiving the moving image
  • the image processing unit PROD_C5 may further include an image processing unit PROD_C6 that generates or processes an image.
  • FIG. 46 exemplifies the configuration in which the recording apparatus PROD_C includes all of them, a part of the configuration may be omitted.
  • the receiving unit PROD_C5 may receive an uncoded moving image, and receives encoded data encoded by a transmission encoding scheme different from the recording encoding scheme. It may be In the latter case, it is preferable to interpose a transmission decoding unit (not shown) that decodes encoded data encoded by the transmission encoding scheme between the reception unit PROD_C5 and the encoding unit PROD_C1.
  • Examples of such a recording device PROD_C include a DVD recorder, a BD recorder, an HDD (Hard Disk Drive) recorder, etc.
  • the input terminal PROD_C4 or the receiving unit PROD_C5 is a main supply source of moving images).
  • a camcorder in this case, the camera PROD_C3 is the main supply source of moving images
  • a personal computer in this case, the receiving unit PROD_C5 or the image processing unit C6 is the main supply source of moving images
  • a smartphone this In this case, the camera PROD_C3 or the receiving unit PROD_C5 is a main supply source of moving images
  • the like are also examples of such a recording device PROD_C.
  • FIG. 46 is a block showing the configuration of the playback device PROD_D on which the image decoding device 31 described above is mounted.
  • the playback device PROD_D decodes the moving image by decoding the encoded data read by the reading unit PROD_D1 that reads the encoded data written to the recording medium PROD_M and the reading unit PROD_D1. And a decryption unit PROD_D2 to be obtained.
  • the image decoding device 31 described above is used as the decoding unit PROD_D2.
  • the recording medium PROD_M may be (1) a type incorporated in the playback device PROD_D such as an HDD or an SSD, or (2) such as an SD memory card or a USB flash memory. It may be of a type connected to the playback device PROD_D, or (3) it may be loaded into a drive device (not shown) built in the playback device PROD_D, such as DVD or BD. Good.
  • the playback device PROD_D is a display PROD_D3 that displays a moving image as a supply destination of the moving image output by the decoding unit PROD_D2, an output terminal PROD_D4 that outputs the moving image to the outside, and a transmission unit that transmits the moving image. It may further comprise PROD_D5. Although (b) of FIG. 46 exemplifies a configuration in which the playback device PROD_D includes all of these, a part may be omitted.
  • the transmission unit PROD_D5 may transmit a non-encoded moving image, or transmit encoded data encoded by a transmission encoding method different from the recording encoding method. It may be In the latter case, an encoding unit (not shown) may be interposed between the decoding unit PROD_D2 and the transmission unit PROD_D5 for encoding moving pictures according to a transmission encoding scheme.
  • a playback device PROD_D for example, a DVD player, a BD player, an HDD player, etc. may be mentioned (in this case, the output terminal PROD_D4 to which a television receiver etc. is connected is the main supply destination of moving images) .
  • the display PROD_D3 is the main supply destination of moving images
  • digital signage also referred to as an electronic signboard or electronic bulletin board, etc.
  • the display PROD_D3 or the transmission unit PROD_D5 is the main supply of moving images.
  • desktop type PC in this case, output terminal PROD_D4 or transmission unit PROD_D5 is the main supply destination of moving images
  • laptop type or tablet type PC in this case, display PROD_D3 or transmission unit PROD_D5 is moving image
  • the main supply destination of the image the smartphone (in this case, the display PROD_D3 or the transmission unit PROD_D5 is the main supply destination of the moving image), and the like are also examples of such a reproduction device PROD_D.
  • the method of restricting the tile to be referred to when the image decoding device 31 according to the present embodiment generates a prediction image as described above based on the inter-tile referenceability information does not use the image decoding device 31. Even if it is, it is realizable by the bit stream restriction
  • the image encoding device 11 is an image encoding device that encodes a tile that constitutes a view, and when predicting a target block of a first tile among the tiles, the image encoding device 11
  • the inter-tile reference information encoding unit (header information encoding unit) which encodes inter-tile reference information indicating whether or not the second tile can be referred to, and the inter-tile reference information is the second
  • a predicted image generation unit (predicted image generation unit 101) that generates a predicted image of the target block with reference to the second tile, and indicates that the tile can be referred to.
  • the current picture is a reference picture, it refers only to the information on the first tile and the information on the tile indicating that the inter-tile reference information can be referred to. Generating a predicted image for each target block of the tile.
  • the predicted image is not referred to the data (pixels and coding parameters) of tiles other than the first tile to be processed. Can be generated. Therefore, the finally encoded encoded stream Te includes encoded data based on the predicted image, and the tile that can be referred to and the tile to be processed by decoding the encoded data by the image decoding device.
  • the decoded image generated can be generated with reference to only.
  • the image decoding apparatus 31 generates a predicted image of the target block (the block of the first tile) by referring to the block of the reference tile (the second tile) designated by the index in the inter-tile reference information Do. At this time, the image decoding device 31 reads a reference tile from the reference picture list stored in the reference picture memory 306.
  • generation of the reference picture list will be described with reference to FIG.
  • FIG. 52 is a flowchart illustrating generation of a reference picture list according to the present embodiment.
  • step S140 the header information decoding unit 19 of the image decoding device 31 decodes the above-described tile order index (tile decoding order index) that specifies the decoding order of a plurality of tiles.
  • step S141 the above-described inter-tile reference information indicating whether or not the header information decoding unit 19 of the image decoding device 31 can refer to the second tile when predicting the target block of the first tile.
  • step S142 the predicted image generation unit 308 (also serving as the determination unit) refers to the inter-tile referenceability information to determine whether the current picture including the first tile can refer to the second tile. Determine If the predicted image generation unit 308 determines that there is a tile that can refer to the current picture, the process proceeds to step S143. If the predicted image generation unit 308 determines that there is no tile to which the current picture can refer, the process ends.
  • step S143 the prediction image generation unit 308 adds the current picture to the reference picture list stored in the reference picture memory 306.
  • the image decoding apparatus 31 is an image decoding apparatus that decodes a plurality of tiles forming a view, and predicts a target block of a first tile among the plurality of tiles.
  • the inter-tile reference information decoding unit decodes the inter-tile reference information indicating whether or not the second tile of the plurality of tiles can be referred to, and the inter-tile reference information
  • a determination unit that determines whether to add the current picture to the reference picture list, and the addition unit adds the current picture to the reference picture list when the determination unit determines that the current picture is to be added to the reference picture list It has a department.
  • the inter-tile reference information by referring to the inter-tile reference information, it is possible to easily identify a referenceable picture, and to add the picture to the reference picture list.
  • the predicted image generation unit 308 (also serving as the determination unit) indicates that the inter-tile referenceability information refers to any tile j when generating the predicted image of the current tile currTileID in step S142 described above. If it is determined that there is, the current picture currPic is added to the reference picture list RefPicListTemp0 in step S143 described above.
  • the formula of the said structure is shown below.
  • the predicted image generation unit 308 adds the values of the inter-tile referenceability information tile_dependency_flag (inter-tile referenceability information) decoded by the header information decoding unit 19 to calculate the value of curr_tile_dependency_flag. If the value of curr_tile_dependency_flag is 1 or more, the first tile refers to any tile in the current picture as a second tile. Then, the predicted image generation unit 308 (also serving as the determination unit) derives a reference picture list represented by the following equation.
  • RefPicListTemp0 [list_entry_l0 [rIdx]]: RefPicListTemp0 [rIdx]
  • num_ref_idx_I0_active_minus1 indicates the number of active reference pictures-1
  • ref_pic_list_modification_flag_I0 indicates a flag indicating whether the reference picture list order is to be exchanged
  • list_entry_l0 [rIdx] indicates the order in the case of changing the reference picture list order. Furthermore, it is an index. Furthermore, the following process of adding the current picture to RefPicList0 may be performed. if (pps_curr_pic_ref_enabled_flag
  • the predicted image generation unit 308 may derive the reference picture list RefPicList1 of L1 in the above-described step S143, similarly to RefPicListTemp0. The following shows the formula for deriving the reference picture list.
  • RefPicListTemp1 [list_entry_l1 [rIdx]]: RefPicListTemp1 [rIdx] ⁇
  • the predicted image generation unit 308 adds the current picture currPic to the reference picture list if pps_curr_pic_ref_enabled_flag indicates 1 or if the final curr_tile_dependency_flag indicates a value of 1 or more.
  • the determination unit is configured such that, among the inter-tile reference information, at least one or more inter-tile reference information is the second information. It is determined that the current picture is to be added to the reference picture list if it indicates that the tile of can be referenced.
  • the original picture can be appropriately added to the reference picture list by referring to the inter-tile reference information. Therefore, when generating a predicted image, it is possible to refer to tiles that can be referred to by referring to the reference picture list. Thus, the view image can be efficiently decoded.
  • the predicted image generation unit 308 stores the current picture currPic at the top of the reference picture list in step S143 described above. You may The following shows an expression for deriving the reference picture list RefPicListTemp0 (RefPicList0) by the predicted image generation unit 308.
  • the prediction image generation unit 308 stores the current picture currPic at the top of the reference picture list.
  • RefPicListTemp1 RefPicList1 (RefPicList1) by the predicted image generation unit 308.
  • rIdx 0 while (rIdx ⁇ NumRpsCurrTempList1) ⁇ if (curr_tile_dependency_flag)
  • the adding unit adds the current picture to the top of the reference picture list.
  • the inter-tile reference information can be referred to, and if there is a tile that can be referred to, the current picture can be added to the top of the reference picture list.
  • the reference picture list Similar scenes exist in the current picture currPic in the multiview, so that coding efficiency can be improved by preferentially using it as a reference picture.
  • each block of the image decoding device 31 and the image encoding device 11 described above may be realized as hardware by a logic circuit formed on an integrated circuit (IC chip), or a CPU (Central Processing Unit) It may be realized as software using
  • each of the devices described above includes a CPU that executes instructions of a program that implements each function, a ROM (Read Only Memory) that stores the program, a RAM (Random Access Memory) that expands the program, the program, and various other methods.
  • a storage device such as a memory for storing data is provided.
  • the object of the embodiment of the present invention is to record computer program readable program codes (execution format program, intermediate code program, source program) of control programs of the above-mentioned respective devices which are software for realizing the functions described above.
  • the present invention can also be achieved by supplying a medium to each of the above-described devices, and a computer (or a CPU or an MPU) reading and executing a program code recorded on a recording medium.
  • Examples of the recording medium include tapes such as magnetic tapes and cassette tapes, magnetic disks such as floppy (registered trademark) disks / hard disks, CDs (Compact Disc Read-Only Memory) / MO disks (Magneto-Optical disc).
  • tapes such as magnetic tapes and cassette tapes
  • magnetic disks such as floppy (registered trademark) disks / hard disks
  • CDs Compact Disc Read-Only Memory
  • MO disks Magnetic-Optical disc
  • Disks including optical disks such as MD (Mini Disc) / DVD (Digital Versatile Disc) / CD-R (CD Recordable) / Blu-ray Disc (registered trademark), IC cards (including memory cards) Cards such as optical cards, mask ROMs / erasable programmable read-only memories (EPROMs) / electrically erasable and programmable read-only memories (EEPROMs) / semiconductor memories such as flash ROMs, or programmable logic devices (PLDs) And logic circuits such as FPGA (Field Programmable Gate Array) can be used.
  • MD Mini Disc
  • DVD Digital Versatile Disc
  • CD-R Compact Disc
  • Blu-ray Disc registered trademark
  • IC cards including memory cards
  • Cards such as optical cards
  • EPROMs erasable programmable read-only memories
  • EEPROMs electrically erasable and programmable read-only memories
  • semiconductor memories such as flash ROMs, or programmable logic devices (PLD
  • each device 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 the program code can be transmitted.
  • the 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), telephone network, mobile communication network, satellite communication network, etc.
  • the transmission medium that constitutes this communication network may be any medium that can transmit the program code, and is not limited to a specific configuration or type.
  • the embodiment of the present invention may also be realized in the form of a computer data signal embedded in a carrier wave, in which the program code is embodied by electronic transmission.
  • Embodiments of the present invention are not limited to the above-described embodiments, and various modifications are possible within the scope of the claims. That is, an embodiment obtained by combining technical means appropriately modified within the scope of the claims is also included in the technical scope of the present invention.
  • ⁇ Reference to related documents> The present application relates to priority claims based on Japanese Patent Applications (Japanese Patent Application No. 2017-250224 (filed on December 26, 2017)) and (Japanese Patent Application No. 2018-065877 (filed on March 29, 2018)). These documents are incorporated herein by reference.
  • An embodiment of the present invention is suitably applied to an image decoding apparatus that decodes encoded data obtained by encoding image data, and an image encoding apparatus that generates encoded data obtained by encoding image data. it can. Further, the present invention can be suitably applied to the data structure of encoded data generated by the image encoding device and referenced by the image decoding device.
  • Image Transmission System 9 Decoding Modules 10, 12, 13 Information Decoding Unit 11 Image Encoding Device 19 Header Information Decoding Unit (Tile Decoding Order Information Decoding Unit) 20, 22 Decoding Unit 21 Network 31 Image Decoding Device 32 Picture Decoding Unit 33 Picture Division Unit 41 Image Display Device 101, 308 Predicted Image Generation Unit 102, 1123 Subtraction Unit 103 Quantization Unit 104 Entropy Encoding Unit 105, 311 Inverse Converter 106, 312, 3038 Addition unit 107, 305 Loop filter 108, 307 Prediction parameter memory 109, 306 Reference picture memory Te Encoded stream

Landscapes

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

Abstract

フレームパッキングが施されたピクチャに含まれるビュー画像を復号する際に、効率的にビュー画像を復号できる技術を提供する。符号化ストリームを復号する画像復号装置は、ヘッダ情報復号部と、ピクチャ復号部とを備え、上記ヘッダ情報復号部は、上記符号化ストリームのパラメータセットに含まれるビューパッキング情報(view_packing_flag 等)であって、対象ピクチャに複数のビューが含まれているか否かを示すビューパッキング情報を復号し、上記ピクチャ復号部は、上記ビューパッキング情報により、複数のビューが垂直方向にフレームパッキングされたピクチャであると特定されたピクチャを復号することによって各々のビューを復号する。

Description

画像復号装置及び画像符号化装置
 本発明の一態様は、画像復号装置及び画像符号化装置に関する。
 動画像を効率的に伝送または記録するために、動画像を符号化することによって符号化データを生成する動画像符号化装置、および、当該符号化データを復号することによって復号画像を生成する動画像復号装置が用いられている。
 具体的な動画像符号化方式としては、例えば、H.264/AVCやHEVC(High-Efficiency Video Coding)にて提案されている方式などが挙げられる。
 このような動画像符号化方式においては、動画像を構成する画像(ピクチャ)は、画像を分割することにより得られるスライス、スライスを分割することにより得られる符号化ツリーユニット(CTU:Coding Tree Unit)、符号化ツリーユニットを分割することで得られる符号化単位(符号化ユニット(Coding Unit:CU)と呼ばれることもある)、及び、符号化単位を分割することより得られるブロックである予測ユニット(PU)、変換ユニット(TU)からなる階層構造により管理され、CUごとに符号化/復号される。
 また、このような動画像符号化方式においては、通常、入力画像を符号化/復号することによって得られる局所復号画像に基づいて予測画像が生成され、当該予測画像を入力画像(原画像)から減算して得られる予測残差(「差分画像」または「残差画像」と呼ぶこともある)が符号化される。予測画像の生成方法としては、画面間予測(インター予測)、および、画面内予測(イントラ予測)が挙げられる。
 また、近年の動画像符号化及び復号の技術として非特許文献1が挙げられる。
 また、非特許文献2では、2つのビュー画像を統合し、一のピクチャとするフレームパッキングという技術が定義されている。フレームパッキングを用いれば、スケーラブル符号化を利用しなくともステレオ画像を符号化することが可能である。また、非特許文献3では、イントラブロックコピーを用いてステレオ画像を符号化する技術が開示されている。
"Algorithm Description of Joint Exploration Test Model 7", JVET-E1001, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 2017-08-19 02:20:15 ITU-T Rec. H.265 Stereoscopic 360 video compression with the next generation video codec, JVET-G0064, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11
 しかしながら、上述のような従来技術は、画像復号装置が、フレームパッキングが施されたピクチャを示す符号化ストリームを復号する場合において、フレームパッキングされたビュー画像から構成される符号化データから特定のビュー画像の符号化データを復号する場合に、当該ピクチャを含むビュー画像全てを復号する必要がある為、処理量がかさむという問題がある。また、フレームパッキングされたビュー画像から構成される符号化データから特定のビュー画像の符号化データを抽出することができないため、特定ビューのみを伝送する場合には、全てのビュー画像を含む符号化データを伝送する必要がある。
 また、上述のフレームパッキングの技術において、フレームパッキングが施されたピクチャに含まれるビュー画像を復号する際に、効率的にビュー画像を復号できる技術が求められている。
 本発明の一態様は、上記の課題を鑑みてなされたものであり、複数のビュー画像がフレームパッキングされたピクチャから特定のビュー画像を復号、伝送する場合に、処理量、伝送データを節減できる画像復号装置を実現することを目的とする。また、少ない処理量で特定のビュー画像を抽出することが可能な符号化ストリームを作成する画像符号化装置を実現することを目的とする。
 本発明の一態様は、上記の課題を鑑みてなされたものであり、その他の目的は、フレームパッキングが施されたピクチャに含まれるビュー画像を復号する際に、効率的にビュー画像を復号できる技術を提供することである。
 上記の課題を解決するために、本発明の一態様に係る画像復号装置は、画像の符号化ストリームを復号する画像復号装置であって、ヘッダ情報復号部と、ピクチャ復号部とを備え、上記ヘッダ情報復号部は、上記符号化ストリームのパラメータセットに含まれるビューパッキング情報であって、対象ピクチャに複数のビューが含まれているか否かを示すビューパッキング情報を復号し、上記ピクチャ復号部は、上記ビューパッキング情報により、複数のビューが垂直方向にフレームパッキングされたピクチャであると特定されたピクチャを復号することによって各々のビューを復号する。
 上記の課題を解決するために、本発明の一態様に係る他の画像復号装置は、ビューを構成するタイルを復号する画像復号装置であって、上記タイルのうちの第1のタイルの対象ブロックを予測する際に、上記タイルのうちの第2のタイルを参照できるか否かを示すタイル間参照可否情報を復号するタイル間参照可否情報復号部と、上記タイル間参照可否情報が上記第2のタイルを参照できることを示している場合、上記第2のタイルを含む参照ピクチャを参照して上記対象ブロックの予測画像を生成する予測画像生成部と、タイル復号順情報又はタイルポジション情報を復号するヘッダ情報復号部と、を備える。
 上記の課題を解決するために、本発明の一態様に係る画像復号装置は、ビューを構成する複数のタイルを復号する画像復号装置であって、上記複数のタイルのうちの第1のタイルの対象ブロックを予測する際に、上記複数のタイルのうちの第2のタイルを参照できるか否かを示すタイル間参照可否情報を復号するタイル間参照可否情報復号部と、上記タイル間参照可否情報を参照して、現ピクチャを参照ピクチャリストに追加するか否かを判定する判定部と、上記判定部が上記現ピクチャを上記参照ピクチャリストに追加すると判定した場合、上記現ピクチャを上記参照ピクチャリストに追加する追加部と、を備えている。
 上記の課題を解決するために、本発明の一態様に係る画像符号化装置は、ビューを構成するタイルを符号化する画像符号化装置であって、上記タイルのうちの第1のタイルの対象ブロックを予測する際に、上記タイルのうちの第2のタイルを参照できるか否かを示すタイル間参照可否情報を符号化するタイル間参照可否情報符号化部と、上記タイル間参照可否情報が上記第2のタイルを参照できることを示している場合、上記第2のタイルを参照して上記対象ブロックの予測画像を生成する予測画像生成部と、を備え、上記予測画像生成部は、現ピクチャが参照ピクチャの場合において、上記タイル間参照可否情報が参照できることを示したタイルに含まれる参照ブロックのみを参照して、上記タイルの各対象ブロックの予測画像を生成する。
 上記の課題を解決するために、本発明の一態様に係る画像符号化装置は、ビューを構成するタイルを符号化する画像符号化装置であって、上記タイルのうちの第1のタイルの対象ブロックを予測する際に、上記タイルのうちの第2のタイルを参照できるか否かを示すタイル間参照可否情報を符号化するタイル間参照可否情報符号化部と、上記タイル間参照可否情報が上記第2のタイルを参照できることを示している場合、上記第2のタイルを参照して上記対象ブロックの予測画像を生成する予測画像生成部と、を備え、上記予測画像生成部は、タイル復号順インデックスで通知される符号化順で、上記タイルの各対象ブロックの予測画像を生成する。
 本発明の一態様に係る画像復号装置は、複数のビュー画像がフレームパッキングされたピクチャから特定のビュー画像を抽出する場合に、符号化ストリームの連続した範囲であって、上記特定のビュー画像の末尾までに対応する範囲を復号すれば足りるので処理量を節減する効果を奏する。
 本発明の一態様に係る他の画像復号装置は、フレームパッキングが施されたピクチャに含まれるビュー画像を復号する際に、効率的にビュー画像を復号できる。
本実施形態に係る符号化ストリームのデータの階層構造を示す図である。 PU分割モードのパターンを示す図である。(a)~(h)は、それぞれ、PU分割モードが、2Nx2N、2NxN、2NxnU、2NxnD、Nx2N、nLx2N、nRx2N、および、NxNの場合のパーティション形状について示している。 参照ピクチャおよび参照ピクチャリストの一例を示す概念図である。 本実施形態に係る画像符号化装置の構成を示すブロック図である。 本実施形態に係る画像復号装置の構成を示す概略図である。 本実施形態に係る画像符号化装置のインター予測画像生成部の構成を示す概略図である。 本実施形態に係るマージ予測パラメータ導出部の構成を示す概略図である。 本実施形態に係るAMVP予測パラメータ導出部の構成を示す概略図である。 本実施形態に係る画像復号装置の動きベクトル復号処理の動作を示すフローチャートである。 本実施形態に係る画像符号化装置のインター予測パラメータ符号化部の構成を示す概略図である。 本実施形態に係るインター予測画像生成部の構成を示す概略図である。 本実施形態に係るインター予測パラメータ復号部の構成を示す概略図である。 画像復号装置の構成を示すブロック図である。 複数のビュー画像がフレームパッキングされたピクチャの例を示す図である。 パディング部分を含むピクチャの例を示す図である。 複数のビュー画像がフレームパッキングされたピクチャの例を示す図である。 複数のタイルに分割したピクチャの例を示す図である。 ピクチャ内の各タイル間におけるビュー間参照可否情報の例を示す図である。 符号化ストリームTeに含まれるパラメータセットの生成手順の例を示すシンタックステーブルである。 符号化ストリームTeに含まれるパラメータセットの生成手順の例を示すシンタックステーブルである。 符号化ストリームに含まれるパラメータセットの生成手順の例を示すシンタックステーブルである。 符号化ストリームTeに含まれるパラメータセットの生成手順の例を示すシンタックステーブルである。 符号化ストリームTeに含まれるパラメータセットの生成手順の例を示すシンタックステーブルである。 符号化ストリームTeに含まれるパラメータセットの生成手順の例を示すシンタックステーブルである。 符号化ストリームTeに含まれるパラメータセットを設定する処理の一例を示すフローチャートである。 (a)及び(b)は、それぞれ、あるピクチャに含まれる各タイルの復号順を説明するための図である。 本実施形態の具体例に係るパラメータセット設定方法を説明するフローチャート図である。 本実施形態の具体例に係るパラメータセットの生成手順の例を示すシンタックステーブルである。 本実施形態の具体例に係るパラメータセットに基づいたタイル復号方法の具体例を説明するフローチャート図である。 (a)及び(b)は、それぞれ、本実施形態の具体例に係る画像復号装置31による画像復号方法を説明するための図である。 本実施形態の具体例に係るパラメータセットに基づいたタイル復号方法の具体例を説明するフローチャート図である。 (a)は、本実施形態の具体例に係るパラメータセットの生成手順の例を示すシンタックステーブルである。(b)は、本実施形態の具体例に係る画像復号装置31による画像復号方法を説明するための図である。 (a)は、本実施形態の具体例に係る符号化データの構成を示す図である。(b)は、本実施形態の具体例に係る画像復号装置31による画像復号方法を説明するための図である。 本実施形態の具体例に係るパラメータセットの生成手順の例を示すシンタックステーブルである。 本実施形態の具体例に係るパラメータセットの生成手順の例を示すシンタックステーブルの別の例である。 本実施形態の具体例に係る現ピクチャ利用可能フラグとタイル間参照可否情報の関係を示すシンタックステーブルの例である。 本実施形態の具体例に係るパラメータセットの生成手順の例を示すシンタックステーブルの別の例である。 ビュー画像の予測画像を生成する場合に、参照可能なビュー画像の例を示す図である。 予測画像生成処理において参照するブロックを指すベクトルをクリップする例を示す図である。 パディング処理の一例を示す図である。 予測画像生成部が参照可能なブロックの一例を示す図である。 予測画像生成部が参照可能なブロックの一例を示す図である。 予測画像生成部が参照可能なブロックの一例を示す図である。 動きベクトルのクリッピング処理と、パディング処理との一例を示す図である。 本実施形態に係る画像符号化装置を搭載した送信装置、および、画像復号装置を搭載した受信装置の構成について示した図である。(a)は、画像符号化装置を搭載した送信装置を示しており、(b)は、画像復号装置を搭載した受信装置を示している。 本実施形態に係る画像符号化装置を搭載した記録装置、および、画像復号装置を搭載した再生装置の構成について示した図である。(a)は、画像符号化装置を搭載した記録装置を示しており、(b)は、画像復号装置を搭載した再生装置を示している。 参照可能なタイル画像に参照範囲を制限する例を示す図である。 本実施形態の具体例に係る予測画像生成部による画素参照処理の例を示す図である。 (a)~(c)は、それぞれ、本実施形態の具体例に係る予測画像生成部によるパディング処理のより具体的な例を示す図である。 (a)~(c)は、それぞれ、本実施形態の具体例に係る予測画像生成部によるパディング処理のさらに具体的な例を示す図である。 (a)及び(b)は、それぞれ、本実施形態の具体例に係る予測画像生成部によるパディング処理のさらに具体的な例を示す図である。 本実施形態に係る参照ピクチャリストの生成を説明するフローチャート図である。 本実施形態に係る画像伝送システムの構成を示す概略図である。
 〔実施形態1〕
 (第1の実施形態)
 以下、図面を参照しながら本発明の実施形態について説明する。
 図53は、本実施形態に係る画像伝送システム1の構成を示す概略図である。
 画像伝送システム1は、符号化対象画像を符号化した符号を伝送し、伝送された符号を復号し画像を表示するシステムである。画像伝送システム1は、画像符号化装置(動画像符号化装置)11、ネットワーク21、画像復号装置(動画像復号装置)31及び画像表示装置41を含んで構成される。
 画像符号化装置11には、単一レイヤもしくは複数レイヤの画像の画像Tが入力される。レイヤとは、ある時間を構成するピクチャが1つ以上ある場合に、複数のピクチャを区別するために用いられる概念である。たとえば、同一ピクチャを、画質や解像度の異なる複数のレイヤで符号化するとスケーラブル符号化になり、異なる視点のピクチャを複数のレイヤで符号化するとビュースケーラブル符号化となる。複数のレイヤのピクチャ間で予測(インターレイヤ予測、インタービュー予測)を行う場合には、符号化効率が大きく向上する。また予測を行わない場合(サイマルキャスト)の場合にも、符号化データをまとめることができる。
 ネットワーク21は、画像符号化装置11が生成した符号化ストリームTeを画像復号装置31に伝送する。ネットワーク21は、インターネット(internet)、広域ネットワーク(WAN:Wide Area Network)、小規模ネットワーク(LAN:Local Area Network)またはこれらの組み合わせである。ネットワーク21は、必ずしも双方向の通信網に限らず、地上デジタル放送、衛星放送等の放送波を伝送する一方向の通信網であっても良い。また、ネットワーク21は、DVD(Digital Versatile Disc)、BD(Blue-ray Disc)等の符号化ストリームTeを記録した記憶媒体で代替されても良い。
 画像復号装置31は、ネットワーク21が伝送した符号化ストリームTeのそれぞれを復号し、それぞれ復号した1または複数の復号画像Tdを生成する。
 画像表示装置41は、画像復号装置31が生成した1または複数の復号画像Tdの全部または一部を表示する。画像表示装置41は、例えば、液晶ディスプレイ、有機EL(Electro-luminescence)ディスプレイ等の表示デバイスを備える。また、空間スケーラブル符号化、SNRスケーラブル符号化では、画像復号装置31、画像表示装置41が高い処理能力を有する場合には、画質の高い拡張レイヤ画像を表示し、より低い処理能力しか有しない場合には、拡張レイヤほど高い処理能力、表示能力を必要としないベースレイヤ画像を表示する。
 <演算子>
 本明細書で用いる演算子を以下に記載する。
 >>は右ビットシフト、<<は左ビットシフト、&はビットワイズAND、|はビットワイズOR、|=はOR代入演算子である。
 x ? y : zは、xが真(0以外)の場合にy、xが偽(0)の場合にzをとる3項演算子である。
 Clip3(a, b, c) は、cをa以上b以下の値にクリップする関数であり、c<aの場合にはaを返し、c>bの場合にはbを返し、その他の場合にはcを返す関数である(ただし、a<=b)。
  <符号化ストリームTeの構造>
 本実施形態に係る画像符号化装置11および画像復号装置31の詳細な説明に先立って、画像符号化装置11によって生成され、画像復号装置31によって復号される符号化ストリームTeのデータ構造について説明する。
 図1は、符号化ストリームTeにおけるデータの階層構造を示す図である。符号化ストリームTeは、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。図1の(a)~(f)は、それぞれ、シーケンスSEQを既定する符号化ビデオシーケンス、ピクチャPICTを規定する符号化ピクチャ、スライスSを規定する符号化スライス、スライスデータを規定する符号化スライスデータ、符号化スライスデータに含まれる符号化ツリーユニット、符号化ツリーユニットに含まれる符号化ユニット(Coding Unit;CU)を示す図である。
  (符号化ビデオシーケンス)
 符号化ビデオシーケンスでは、処理対象のシーケンスSEQを復号するために画像復号装置31が参照するデータの集合が規定されている。シーケンスSEQは、図1の(a)に示すように、ビデオパラメータセット(Video Parameter Set)、シーケンスパラメータセットSPS(Sequence Parameter Set)、ピクチャパラメータセットPPS(Picture Parameter Set)、ピクチャPICT、及び、付加拡張情報SEI(Supplemental Enhancement Information)を含んでいる。ここで#の後に示される値はレイヤIDを示す。図1では、#0と#1すなわちレイヤ0とレイヤ1の符号化データが存在する例を示すが、レイヤの種類およびレイヤの数はこれによらない。
 ビデオパラメータセットVPSは、複数のレイヤから構成されている動画像において、複数の動画像に共通する符号化パラメータの集合および動画像に含まれる複数のレイヤおよび個々のレイヤに関連する符号化パラメータの集合が規定されている。
 シーケンスパラメータセットSPSでは、対象シーケンスを復号するために画像復号装置31が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの幅や高さが規定される。なお、SPSは複数存在してもよい。その場合、PPSから複数のSPSの何れかを選択する。
 ピクチャパラメータセットPPSでは、対象シーケンス内の各ピクチャを復号するために画像復号装置31が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの復号に用いられる量子化幅の基準値(pic_init_qp_minus26)や重み付き予測の適用を示すフラグ(weighted_pred_flag)が含まれる。なお、PPSは複数存在してもよい。その場合、対象シーケンス内の各ピクチャから複数のPPSの何れかを選択する。
  (符号化ピクチャ)
 符号化ピクチャでは、処理対象のピクチャPICTを復号するために画像復号装置31が参照するデータの集合が規定されている。ピクチャPICTは、図1の(b)に示すように、スライスS0~SNS-1を含んでいる(NSはピクチャPICTに含まれるスライスの総数)。
 なお、以下、スライスS0~SNS-1のそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する符号化ストリームTeに含まれるデータであって、添え字を付している他のデータについても同様である。
  (符号化スライス)
 符号化スライスでは、処理対象のスライスSを復号するために画像復号装置31が参照するデータの集合が規定されている。スライスSは、図1の(c)に示すように、スライスヘッダSH、および、スライスデータSDATAを含んでいる。
 スライスヘッダSHには、対象スライスの復号方法を決定するために画像復号装置31が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報(slice_type)は、スライスヘッダSHに含まれる符号化パラメータの一例である。
 スライスタイプ指定情報により指定可能なスライスタイプとしては、(1)符号化の際にイントラ予測のみを用いるIスライス、(2)符号化の際に単方向予測、または、イントラ予測を用いるPスライス、(3)符号化の際に単方向予測、双方向予測、または、イントラ予測を用いるBスライスなどが挙げられる。
 なお、スライスヘッダSHには、上記符号化ビデオシーケンスに含まれる、ピクチャパラメータセットPPSへの参照(pic_parameter_set_id)を含んでいても良い。
  (符号化スライスデータ)
 符号化スライスデータでは、処理対象のスライスデータSDATAを復号するために画像復号装置31が参照するデータの集合が規定されている。スライスデータSDATAは、図1の(d)に示すように、符号化ツリーユニット(CTU:Coding Tree Unit)を含んでいる。CTUは、スライスを構成する固定サイズ(例えば64x64)のブロックであり、最大符号化単位(LCU:Largest Coding Unit)と呼ぶこともある。
  (符号化ツリーユニット)
 図1の(e)に示すように、処理対象の符号化ツリーユニットを復号するために画像復号装置31が参照するデータの集合が規定されている。符号化ツリーユニットは、再帰的な4分木分割により分割される。再帰的な4分木分割により得られる木構造のノードのことを符号化ノード(CN:Coding Node)と称する。4分木の中間ノードは、符号化ノードであり、符号化ツリーユニット自身も最上位の符号化ノードとして規定される。CTUは、分割フラグ(cu_split_flag)を含み、cu_split_flagが1の場合には、4つの符号化ノードCNに分割される。cu_split_flagが0の場合には、符号化ノードCNは分割されず、1つの符号化ユニット(CU:Coding Unit)をノードとして持つ。符号化ユニットCUは符号化ノードの末端ノードであり、これ以上分割されない。符号化ユニットCUは、符号化処理の基本的な単位となる。
 また、符号化ツリーユニットCTUのサイズが64x64画素の場合には、符号化ユニットのサイズは、64x64画素、32x32画素、16x16画素、および、8x8画素の何れかをとり得る。
  (符号化ユニット)
 図1の(f)に示すように、処理対象の符号化ユニットを復号するために画像復号装置31が参照するデータの集合が規定されている。具体的には、符号化ユニットは、予測ツリー、変換ツリー、CUヘッダCUHから構成される。CUヘッダでは予測モード、分割方法(PU分割モード)等が規定される。
 予測ツリーでは、符号化ユニットを1または複数に分割した各予測ユニット(PU)の予測情報(参照ピクチャインデックス、動きベクトル等)が規定される。別の表現でいえば、予測ユニットは、符号化ユニットを構成する1または複数の重複しない領域である。また、予測ツリーは、上述の分割により得られた1または複数の予測ユニットを含む。なお、以下では、予測ユニットをさらに分割した予測単位を「サブブロック」と呼ぶ。サブブロックは、複数の画素によって構成されている。予測ユニットとサブブロックのサイズが等しい場合には、予測ユニット中のサブブロックは1つである。予測ユニットがサブブロックのサイズよりも大きい場合には、予測ユニットは、サブブロックに分割される。たとえば予測ユニットが8x8、サブブロックが4x4の場合には、予測ユニットは水平に2分割、垂直に2分割からなる、4つのサブブロックに分割される。
 予測処理は、この予測ユニット(サブブロック)ごとに行ってもよい。
 予測ツリーにおける分割の種類は、大まかにいえば、イントラ予測の場合と、インター予測の場合との2つがある。イントラ予測とは、同一ピクチャ内の予測であり、インター予測とは、互いに異なるピクチャ間(例えば、表示時刻間、レイヤ画像間)で行われる予測処理を指す。
 イントラ予測の場合、分割方法は、2Nx2N(符号化ユニットと同一サイズ)と、NxNとがある。
 また、インター予測の場合、分割方法は、符号化データのPU分割モード(part_mode)により符号化され、2Nx2N(符号化ユニットと同一サイズ)、2NxN、2NxnU、2NxnD、Nx2N、nLx2N、nRx2N、および、NxNなどがある。なお、2NxN、Nx2Nは1:1の対称分割を示し、2NxnU、2NxnDおよびnLx2N、nRx2Nは、1:3、3:1の非対称分割を示す。CUに含まれるPUを順にPU0、PU1、PU2、PU3と表現する。
 図2の(a)~(h)に、それぞれのPU分割モードにおけるパーティションの形状(PU分割の境界の位置)を具体的に図示している。図2の(a)は、2Nx2Nのパーティションを示し、(b)、(c)、(d)は、それぞれ、2NxN、2NxnU、および、2NxnDのパーティション(横長パーティション)を示す。(e)、(f)、(g)は、それぞれ、Nx2N、nLx2N、nRx2Nである場合のパーティション(縦長パーティション)を示し、(h)は、NxNのパーティションを示す。なお、横長パーティションと縦長パーティションを総称して長方形パーティション、2Nx2N、NxNを総称して正方形パーティションと呼ぶ。
 また、変換ツリーにおいては、符号化ユニットが1または複数の変換ユニットに分割され、各変換ユニットの位置とサイズとが規定される。別の表現でいえば、変換ユニットは、符号化ユニットを構成する1または複数の重複しない領域のことである。また、変換ツリーは、上述の分割より得られた1または複数の変換ユニットを含む。
 変換ツリーにおける分割には、符号化ユニットと同一のサイズの領域を変換ユニットとして割り付けるものと、上述したCUの分割と同様、再帰的な4分木分割によるものがある。
 変換処理は、この変換ユニットごとに行われる。
  (予測パラメータ)
 予測ユニット(PU:Prediction Unit)の予測画像は、PUに付随する予測パラメータによって導出される。予測パラメータには、イントラ予測の予測パラメータもしくはインター予測の予測パラメータがある。以下、インター予測の予測パラメータ(インター予測パラメータ)について説明する。インター予測パラメータは、予測リスト利用フラグpredFlagL0、predFlagL1と、参照ピクチャインデックスrefIdxL0、refIdxL1と、動きベクトルmvL0、mvL1から構成される。予測リスト利用フラグpredFlagL0、predFlagL1は、各々L0リスト、L1リストと呼ばれる参照ピクチャリストが用いられるか否かを示すフラグであり、値が1の場合に対応する参照ピクチャリストが用いられる。なお、本明細書中「XXであるか否かを示すフラグ」と記す場合、フラグが0以外(たとえば1)をXXである場合、0をXXではない場合とし、論理否定、論理積などでは1を真、0を偽と扱う(以下同様)。但し、実際の装置や方法では真値、偽値として他の値を用いることもできる。
 符号化データに含まれるインター予測パラメータを導出するためのシンタックス要素には、例えば、PU分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLXがある。
  (参照ピクチャリスト)
 参照ピクチャリストは、参照ピクチャメモリ306に記憶された参照ピクチャからなるリストである。図3は、参照ピクチャおよび参照ピクチャリストの一例を示す概念図である。図3(a)において、矩形はピクチャ、矢印はピクチャの参照関係、横軸は時間、矩形中のI、P、Bは各々イントラピクチャ、単予測ピクチャ、双予測ピクチャ、矩形中の数字は復号順を示す。図に示すように、ピクチャの復号順は、I0、P1、B2、B3、B4であり、表示順は、I0、B3、B2、B4、P1である。図3(b)に、参照ピクチャリストの例を示す。参照ピクチャリストは、参照ピクチャの候補を表すリストであり、1つのピクチャ(スライス)が1つ以上の参照ピクチャリストを有してもよい。図の例では、対象ピクチャB3は、L0リストRefPicList0およびL1リストRefPicList1の2つの参照ピクチャリストを持つ。対象ピクチャがB3の場合の参照ピクチャは、I0、P1、B2であり、参照ピクチャはこれらのピクチャを要素として持つ。個々の予測ユニットでは、参照ピクチャリストRefPicListX中のどのピクチャを実際に参照するかを参照ピクチャインデックスrefIdxLXで指定する。図では、refIdxL0およびrefIdxL1により参照ピクチャP1とB2が参照される例を示す。
  (マージ予測とAMVP予測)
 予測パラメータの復号(符号化)方法には、マージ予測(merge)モードとAMVP(Adaptive Motion Vector Prediction、適応動きベクトル予測)モードがある、マージフラグmerge_flagは、これらを識別するためのフラグである。マージ予測モードは、予測リスト利用フラグpredFlagLX(またはインター予測識別子inter_pred_idc)、参照ピクチャインデックスrefIdxLX、動きベクトルmvLXを符号化データに含めずに、既に処理した近傍PUの予測パラメータから導出する用いるモードであり、AMVPモードは、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、動きベクトルmvLXを符号化データに含めるモードである。なお、動きベクトルmvLXは、予測ベクトルmvpLXを識別する予測ベクトルインデックスmvp_LX_idxと差分ベクトルmvdLXとして符号化される。
 インター予測識別子inter_pred_idcは、参照ピクチャの種類および数を示す値であり、PRED_L0、PRED_L1、PRED_BIの何れかの値をとる。PRED_L0、PRED_L1は、各々L0リスト、L1リストの参照ピクチャリストで管理された参照ピクチャを用いることを示し、1枚の参照ピクチャを用いること(単予測)を示す。PRED_BIは2枚の参照ピクチャを用いること(双予測BiPred)を示し、L0リストとL1リストで管理された参照ピクチャを用いる。予測ベクトルインデックスmvp_LX_idxは予測ベクトルを示すインデックスであり、参照ピクチャインデックスrefIdxLXは、参照ピクチャリストで管理された参照ピクチャを示すインデックスである。なお、LXは、L0予測とL1予測を区別しない場合に用いられる記述方法であり、LXをL0、L1に置き換えることでL0リストに対するパラメータとL1リストに対するパラメータを区別する。
 マージインデックスmerge_idxは、処理が完了したPUから導出される予測パラメータ候補(マージ候補)のうち、いずれかの予測パラメータを復号対象PUの予測パラメータとして用いるかを示すインデックスである。
  (動きベクトル)
 動きベクトルmvLXは、異なる2つのピクチャ上のブロック間のずれ量を示す。動きベクトルmvLXに関する予測ベクトル、差分ベクトルを、それぞれ予測ベクトルmvpLX、差分ベクトルmvdLXと呼ぶ。
  (画像復号装置の構成)
 次に、本実施形態に係る画像復号装置31の構成について説明する。図5は、本実施形態に係る画像復号装置31の構成を示す概略図である。画像復号装置31は、エントロピー復号部301、予測パラメータ復号部(予測画像復号装置)302、ループフィルタ305、参照ピクチャメモリ306、予測パラメータメモリ307、予測画像生成部(予測画像生成装置)308、逆量子化・逆変換部311、及び加算部312を含んで構成される。
 また、予測パラメータ復号部302は、インター予測パラメータ復号部303及びイントラ予測パラメータ復号部304を含んで構成される。予測画像生成部308は、インター予測画像生成部309及びイントラ予測画像生成部310を含んで構成される。
 エントロピー復号部301は、外部から入力された符号化ストリームTeに対してエントロピー復号を行って、個々の符号(シンタックス要素)を分離し復号する。分離された符号には、予測画像を生成するための予測情報および、差分画像を生成するための残差情報などがある。
 エントロピー復号部301は、分離した符号の一部を予測パラメータ復号部302に出力する。分離した符号の一部とは、例えば、予測モードpredMode、PU分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLXである。どの符号を復号するかの制御は、予測パラメータ復号部302の指示に基づいて行われる。エントロピー復号部301は、量子化係数を逆量子化・逆変換部311に出力する。この量子化係数は、符号化処理において、残差信号に対してDCT(Discrete Cosine Transform、離散コサイン変換)、DST(Discrete Sine Transform、離散サイン変換)、KLT(Karyhnen Loeve Transform、カルーネンレーベ変換)等の周波数変換を行い量子化して得られる係数である。
 インター予測パラメータ復号部303は、エントロピー復号部301から入力された符号に基づいて、予測パラメータメモリ307に記憶された予測パラメータを参照してインター予測パラメータを復号する。
 インター予測パラメータ復号部303は、復号したインター予測パラメータを予測画像生成部308に出力し、また予測パラメータメモリ307に記憶する。インター予測パラメータ復号部303の詳細については後述する。
 イントラ予測パラメータ復号部304は、エントロピー復号部301から入力された符号に基づいて、予測パラメータメモリ307に記憶された予測パラメータを参照してイントラ予測パラメータを復号する。イントラ予測パラメータとは、CUを1つのピクチャ内で予測する処理で用いるパラメータ、例えば、イントラ予測モードIntraPredModeである。イントラ予測パラメータ復号部304は、復号したイントラ予測パラメータを予測画像生成部308に出力し、また予測パラメータメモリ307に記憶する。
 イントラ予測パラメータ復号部304は、輝度と色差で異なるイントラ予測モードを導出しても良い。この場合、イントラ予測パラメータ復号部304は、輝度の予測パラメータとして輝度予測モードIntraPredModeY、色差の予測パラメータとして、色差予測モードIntraPredModeCを復号する。輝度予測モードIntraPredModeYは、35モードであり、プレーナ予測(0)、DC予測(1)、方向予測(2~34)が対応する。色差予測モードIntraPredModeCは、プレーナ予測(0)、DC予測(1)、方向予測(2~34)、LMモード(35)の何れかを用いるものである。イントラ予測パラメータ復号部304は、IntraPredModeCは輝度モードと同じモードであるか否かを示すフラグを復号し、フラグが輝度モードと同じモードであることを示せば、IntraPredModeCにIntraPredModeYを割り当て、フラグが輝度モードと異なるモードであることを示せば、IntraPredModeCとして、プレーナ予測(0)、DC予測(1)、方向予測(2~34)、LMモード(35)を復号しても良い。
 ループフィルタ305は、加算部312が生成したCUの復号画像に対し、デブロッキングフィルタ、サンプル適応オフセット(SAO)、適応ループフィルタ(ALF)等のフィルタを施す。
 参照ピクチャメモリ306は、加算部312が生成したCUの復号画像を、復号対象のピクチャ及びCU毎に予め定めた位置に記憶する。
 予測パラメータメモリ307は、予測パラメータを、復号対象のピクチャ及び予測ユニット(もしくはサブブロック、固定サイズブロック、ピクセル)毎に予め定めた位置に記憶する。具体的には、予測パラメータメモリ307は、インター予測パラメータ復号部303が復号したインター予測パラメータ、イントラ予測パラメータ復号部304が復号したイントラ予測パラメータ及びエントロピー復号部301が分離した予測モードpredModeを記憶する。記憶されるインター予測パラメータには、例えば、予測リスト利用フラグpredFlagLX(インター予測識別子inter_pred_idc)、参照ピクチャインデックスrefIdxLX、動きベクトルmvLXがある。
 予測画像生成部308には、エントロピー復号部301から入力された予測モードpredModeが入力され、また予測パラメータ復号部302から予測パラメータが入力される。また、予測画像生成部308は、参照ピクチャメモリ306から参照ピクチャを読み出す。予測画像生成部308は、予測モードpredModeが示す予測モードで、入力された予測パラメータと読み出した参照ピクチャ(参照ピクチャブロック)を用いてPUもしくはサブブロックの予測画像を生成する。
 ここで、予測モードpredModeがインター予測モードを示す場合、インター予測画像生成部309は、インター予測パラメータ復号部303から入力されたインター予測パラメータと読み出した参照ピクチャ(参照ピクチャブロック)を用いてインター予測によりPUもしくはサブブロックの予測画像を生成する。
 インター予測画像生成部309は、予測リスト利用フラグpredFlagLXが1である参照ピクチャリスト(L0リスト、もしくはL1リスト)に対し、参照ピクチャインデックスrefIdxLXで示される参照ピクチャから、復号対象PUを基準として動きベクトルmvLXが示す位置にある参照ピクチャブロックを参照ピクチャメモリ306から読み出す。インター予測画像生成部309は、読み出した参照ピクチャブロックをもとに予測を行ってPUの予測画像を生成する。インター予測画像生成部309は、生成したPUの予測画像を加算部312に出力する。ここで、参照ピクチャブロックとは、参照ピクチャ上の画素の集合(通常矩形であるのでブロックと呼ぶ)であり、PUもしくはサブブロックの予測画像を生成するために参照する領域である。
 予測モードpredModeがイントラ予測モードを示す場合、イントラ予測画像生成部310は、イントラ予測パラメータ復号部304から入力されたイントラ予測パラメータと読み出した参照ピクチャを用いてイントラ予測を行う。具体的には、イントラ予測画像生成部310は、復号対象のピクチャであって、既に復号されたPUのうち、復号対象PUから予め定めた範囲にある隣接PUを参照ピクチャメモリ306から読み出す。予め定めた範囲とは、復号対象PUがいわゆるラスタースキャンの順序で順次移動する場合、例えば、左、左上、上、右上の隣接PUのうちのいずれかであり、イントラ予測モードによって異なる。ラスタースキャンの順序とは、各ピクチャにおいて、上端から下端まで各行について、順次左端から右端まで移動させる順序である。
 イントラ予測画像生成部310は、読み出した隣接PUに基づいてイントラ予測モードIntraPredModeが示す予測モードで予測を行ってPUの予測画像を生成する。イントラ予測画像生成部310は、生成したPUの予測画像を加算部312に出力する。
 逆量子化・逆変換部311は、エントロピー復号部301から入力された量子化係数を逆量子化して変換係数を求める。逆量子化・逆変換部311は、求めた変換係数について逆DCT、逆DST、逆KLT等の逆周波数変換を行い、残差信号を算出する。逆量子化・逆変換部311は、算出した残差信号を加算部312に出力する。
 加算部312は、インター予測画像生成部309またはイントラ予測画像生成部310から入力されたPUの予測画像と逆量子化・逆変換部311から入力された残差信号を画素毎に加算して、PUの復号画像を生成する。加算部312は、生成したPUの復号画像を参照ピクチャメモリ306に記憶し、生成したPUの復号画像をピクチャ毎に統合した復号画像Tdを外部に出力する。
  (インター予測パラメータ復号部の構成)
 次に、インター予測パラメータ復号部303の構成について説明する。
 図12は、本実施形態に係るインター予測パラメータ復号部303の構成を示す概略図である。インター予測パラメータ復号部303は、インター予測パラメータ復号制御部3031、AMVP予測パラメータ導出部3032、加算部3038、マージ予測パラメータ導出部3036およびサブブロック予測パラメータ導出部3037を含んで構成される。
 インター予測パラメータ復号制御部3031は、インター予測に関連する符号(シンタックス要素)の復号をエントロピー復号部301に指示し、符号化データに含まれる符号(シンタックス要素)、例えば、PU分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLXを抽出する。
 インター予測パラメータ復号制御部3031は、まず、マージフラグmerge_flagを抽出する。インター予測パラメータ復号制御部3031が、あるシンタックス要素を抽出すると表現する場合は、あるシンタックス要素の復号をエントロピー復号部301に指示し、該当のシンタックス要素を符号化データから読み出すことを意味する。
 マージフラグmerge_flagが0、すなわち、AMVP予測モードを示す場合、インター予測パラメータ復号制御部3031は、エントロピー復号部301を用いて符号化データからAMVP予測パラメータを抽出する。AMVP予測パラメータとして、例えば、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLXがある。AMVP予測パラメータ導出部3032は予測ベクトルインデックスmvp_LX_idxから予測ベクトルmvpLXを導出する。詳細は後述する。インター予測パラメータ復号制御部3031は、差分ベクトルmvdLXを加算部3038に出力する。加算部3038では、予測ベクトルmvpLXと差分ベクトルmvdLXを加算し、動きベクトルを導出する。
 マージフラグmerge_flagが1、すなわち、マージ予測モードを示す場合、インター予測パラメータ復号制御部3031は、マージ予測に係る予測パラメータとして、マージインデックスmerge_idxを抽出する。インター予測パラメータ復号制御部3031は、抽出したマージインデックスmerge_idxをマージ予測パラメータ導出部3036(詳細は後述する)に出力し、サブブロック予測モードフラグsubPbMotionFlagをサブブロック予測パラメータ導出部3037に出力する。サブブロック予測パラメータ導出部3037は、サブブロック予測モードフラグsubPbMotionFlagの値に応じて、PUを複数のサブブロックに分割し、サブブロック単位で動きベクトルを導出する。すなわち、サブブロック予測モードでは、予測ブロックは4x4もしくは8x8という小さいブロック単位で予測される。後述の画像符号化装置11においては、CUを複数のパーティション(2NxN、Nx2N、NxNなどのPU)に分割し、パーティション単位で予測パラメータのシンタックスを符号化する方法に対して、サブブロック予測モードでは複数のサブブロックを集合(セット)にまとめ、当該集合毎に予測パラメータのシンタックスを符号化するため、少ない符号量で多くのサブブロックの動き情報を符号化することができる。
 図7は、本実施形態に係るマージ予測パラメータ導出部3036の構成を示す概略図である。マージ予測パラメータ導出部3036は、マージ候補導出部30361とマージ候補選択部30362、マージ候補格納部30363を備える。マージ候補格納部30363は、マージ候補導出部30361から入力されたマージ候補を格納する。なお、マージ候補は、予測リスト利用フラグpredFlagLX、動きベクトルmvLX、参照ピクチャインデックスrefIdxLXを含んで構成されている。マージ候補格納部30363において、格納されたマージ候補には、所定の規則に従ってインデックスが割り当てられる。
 マージ候補導出部30361は、すでに復号処理が行われた隣接PUの動きベクトルと参照ピクチャインデックスrefIdxLXをそのまま用いてマージ候補を導出する。
 マージ候補導出部30361によって導出された上記マージ候補はマージ候補格納部30363に格納される。
 マージ候補選択部30362は、マージ候補格納部30363に格納されているマージ候補のうち、インター予測パラメータ復号制御部3031から入力されたマージインデックスmerge_idxに対応するインデックスが割り当てられたマージ候補を、対象PUのインター予測パラメータとして選択する。マージ候補選択部30362は選択したマージ候補を予測パラメータメモリ307に記憶するとともに、予測画像生成部308に出力する。
 図8は、本実施形態に係るAMVP予測パラメータ導出部3032の構成を示す概略図である。AMVP予測パラメータ導出部3032は、ベクトル候補導出部3033とベクトル候補選択部3034、およびベクトル候補格納部3035を備える。ベクトル候補導出部3033は、参照ピクチャインデックスrefIdxに基づいて予測パラメータメモリ307が記憶する既に処理済みのPUの動きベクトルmvLXから予測ベクトル候補を導出し、ベクトル候補格納部3035予測ベクトル候補リストmvpListLX[]に格納する。
 ベクトル候補選択部3034は、予測ベクトル候補リストmvpListLX[]の予測ベクトル候補のうち予測ベクトルインデックスmvp_LX_idxが示す動きベクトルmvpListLX[mvp_LX_idx]を予測ベクトルmvpLXとして選択する。ベクトル候補選択部3034は、選択した予測ベクトルmvpLXを加算部3038に出力する。
 なお、予測ベクトル候補は、復号処理が完了したPUであって、復号対象PUから予め定めた範囲のPU(例えば、隣接PU)の動きベクトルをスケーリングすることで導出する。なお、隣接PUは、復号対象PUに空間的に隣接するPU、例えば、左PU、上PUの他、復号対象PUに時間的に隣接する領域、例えば、復号対象PUと同じ位置を含み、表示時刻が異なるPUの予測パラメータから得られた領域を含む。
 加算部3038は、AMVP予測パラメータ導出部3032から入力された予測ベクトルmvpLXとインター予測パラメータ復号制御部3031から入力された差分ベクトルmvdLXを加算して動きベクトルmvLXを算出する。加算部3038は、算出した動きベクトルmvLXを予測画像生成部308および予測パラメータメモリ307に出力する。
  (画像符号化装置の構成)
 次に、本実施形態に係る画像符号化装置11の構成について説明する。図4は、本実施形態に係る画像符号化装置11の構成を示すブロック図である。画像符号化装置11は、予測画像生成部101、減算部102、変換・量子化部103、エントロピー符号化部104、逆量子化・逆変換部105、加算部106、ループフィルタ107、予測パラメータメモリ(予測パラメータ記憶部、フレームメモリ)108、参照ピクチャメモリ(参照画像記憶部、フレームメモリ)109、符号化パラメータ決定部110、予測パラメータ符号化部111を含んで構成される。予測パラメータ符号化部111は、インター予測パラメータ符号化部112及びイントラ予測パラメータ符号化部113を含んで構成される。
 予測画像生成部101は画像Tの各ピクチャについて、そのピクチャを分割した領域である符号化ユニットCU毎に予測ユニットPUの予測画像Pを生成する。ここで、予測画像生成部101は、予測パラメータ符号化部111から入力された予測パラメータに基づいて参照ピクチャメモリ109から復号済のブロックを読み出す。予測パラメータ符号化部111から入力された予測パラメータとは、例えばインター予測の場合、動きベクトルである。予測画像生成部101は、対象PUを起点として動きベクトルが示す参照画像上の位置にあるブロックを読み出す。またイントラ予測の場合、予測パラメータとは例えばイントラ予測モードである。イントラ予測モードで使用する隣接PUの画素値を参照ピクチャメモリ109から読み出し、PUの予測画像Pを生成する。予測画像生成部101は、読み出した参照ピクチャブロックについて複数の予測方式のうちの1つの予測方式を用いてPUの予測画像Pを生成する。予測画像生成部101は、生成したPUの予測画像Pを減算部102に出力する。
 なお、予測画像生成部101は、既に説明した予測画像生成部308と同じ動作である。
 予測画像生成部101は、予測パラメータ符号化部から入力されたパラメータを用いて、参照ピクチャメモリから読み出した参照ブロックの画素値をもとにPUの予測画像Pを生成する。予測画像生成部101で生成した予測画像は減算部102、加算部106に出力される。
 減算部102は、予測画像生成部101から入力されたPUの予測画像Pの信号値を、画像Tの対応するPUの画素値から減算して、残差信号を生成する。減算部102は、生成した残差信号を変換・量子化部103に出力する。
 変換・量子化部103は、減算部102から入力された残差信号について周波数変換を行い、変換係数を算出する。変換・量子化部103は、算出した変換係数を量子化して量子化係数を求める。変換・量子化部103は、求めた量子化係数をエントロピー符号化部104及び逆量子化・逆変換部105に出力する。
 エントロピー符号化部104には、変換・量子化部103から量子化係数が入力され、予測パラメータ符号化部111から符号化パラメータが入力される。入力される符号化パラメータには、例えば、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLX、予測モードpredMode、及びマージインデックスmerge_idx等の符号がある。
 エントロピー符号化部104は、入力された量子化係数と符号化パラメータをエントロピー符号化して符号化ストリームTeを生成し、生成した符号化ストリームTeを外部に出力する。
 逆量子化・逆変換部105は、変換・量子化部103から入力された量子化係数を逆量子化して変換係数を求める。逆量子化・逆変換部105は、求めた変換係数について逆周波数変換を行い、残差信号を算出する。逆量子化・逆変換部105は、算出した残差信号を加算部106に出力する。
 加算部106は、予測画像生成部101から入力されたPUの予測画像Pの信号値と逆量子化・逆変換部105から入力された残差信号の信号値を画素毎に加算して、復号画像を生成する。加算部106は、生成した復号画像を参照ピクチャメモリ109に記憶する。
 ループフィルタ107は加算部106が生成した復号画像に対し、デブロッキングフィルタ、サンプル適応オフセット(SAO)、適応ループフィルタ(ALF)を施す。
 予測パラメータメモリ108は、符号化パラメータ決定部110が生成した予測パラメータを、符号化対象のピクチャ及びCU毎に予め定めた位置に記憶する。
 参照ピクチャメモリ109は、ループフィルタ107が生成した復号画像を、符号化対象のピクチャ及びCU毎に予め定めた位置に記憶する。
 符号化パラメータ決定部110は、符号化パラメータの複数のセットのうち、1つのセットを選択する。符号化パラメータとは、上述した予測パラメータやこの予測パラメータに関連して生成される符号化の対象となるパラメータである。予測画像生成部101は、これらの符号化パラメータのセットの各々を用いてPUの予測画像Pを生成する。
 符号化パラメータ決定部110は、複数のセットの各々について情報量の大きさと符号化誤差を示すコスト値を算出する。コスト値は、例えば、符号量と二乗誤差に係数λを乗じた値との和である。符号量は、量子化誤差と符号化パラメータをエントロピー符号化して得られる符号化ストリームTeの情報量である。二乗誤差は、減算部102において算出された残差信号の残差値の二乗値についての画素間の総和である。係数λは、予め設定されたゼロよりも大きい実数である。符号化パラメータ決定部110は、算出したコスト値が最小となる符号化パラメータのセットを選択する。これにより、エントロピー符号化部104は、選択した符号化パラメータのセットを符号化ストリームTeとして外部に出力し、選択されなかった符号化パラメータのセットを出力しない。符号化パラメータ決定部110は決定した符号化パラメータを予測パラメータメモリ108に記憶する。
 予測パラメータ符号化部111は、符号化パラメータ決定部110から入力されたパラメータから、符号化するための形式を導出し、エントロピー符号化部104に出力する。符号化するための形式の導出とは、例えば動きベクトルと予測ベクトルから差分ベクトルを導出することである。また予測パラメータ符号化部111は、符号化パラメータ決定部110から入力されたパラメータから予測画像を生成するために必要なパラメータを導出し、予測画像生成部101に出力する。予測画像を生成するために必要なパラメータとは、例えばサブブロック単位の動きベクトルである。
 インター予測パラメータ符号化部112は、符号化パラメータ決定部110から入力された予測パラメータに基づいて、差分ベクトルのようなインター予測パラメータを導出する。インター予測パラメータ符号化部112は、予測画像生成部101に出力する予測画像の生成に必要なパラメータを導出する構成として、インター予測パラメータ復号部303(図5等、参照)がインター予測パラメータを導出する構成と一部同一の構成を含む。
 イントラ予測パラメータ符号化部113は、符号化パラメータ決定部110から入力されたイントラ予測モードIntraPredModeから、符号化するための形式(例えばMPM_idx、rem_intra_luma_pred_mode等)を導出する。
 減算部1123は、符号化パラメータ決定部110から入力された動きベクトルmvLXから、AMVP予測パラメータ導出部1122から入力された予測ベクトルmvpLXを減算して差分ベクトルmvdLXを生成する。差分ベクトルmvdLXはエントロピー符号化部104に出力される。
 なお、上述した実施形態における画像符号化装置11、画像復号装置31の一部、例えば、エントロピー復号部301、予測パラメータ復号部302、ループフィルタ305、予測画像生成部308、逆量子化・逆変換部311、加算部312、予測画像生成部101、減算部102、変換・量子化部103、エントロピー符号化部104、逆量子化・逆変換部105、ループフィルタ107、符号化パラメータ決定部110、予測パラメータ符号化部111をコンピュータで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、画像符号化装置11、画像復号装置31のいずれかに内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
 図13に、本実施形態に係る画像復号装置の構成を示すブロック図を示す。本図では、図を簡略化するために、図13に示したブロック図に含まれる一部の部材の図示を省略している。また、説明の便宜上、図5に示した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
 図13に示すように、画像復号装置31は、ヘッダ情報復号部19、復号モジュール9、ピクチャ復号部32を備えている。画像復号装置31はさらにピクチャ分割部33を備えてもよい。ピクチャ復号部32は、ピクチャを復号する処理を行う構成部品であって、CT情報復号部10、予測画像生成部308、逆量子化・逆DCT部311、参照ピクチャメモリ306、加算部312、ループフィルタ305、及びCU復号部20を備えている。CU復号部20は、さらにPU情報復号部12及びTT情報復号部13を備えており、TT情報復号部13は、さらにTU復号部22を備えている。
  (復号モジュール)
 以下、各モジュールの概略動作を説明する。復号モジュール9は、バイナリデータからシンタックス値を復号する復号処理を行う。復号モジュール9は、より具体的には、供給元から供給される符号化データ及びシンタックス種別に基づいて、CABAC等のエントロピー符号化方式により符号化されているシンタックス値を復号し、復号したシンタックス値を供給元に返す。
 以下に示す例では、符号化データ及びシンタックス種別の供給元は、CT情報復号部10、CU復号部20(PU情報復号部12及びTT情報復号部13)(予測ユニット復号部)である。
  (ヘッダ情報復号部19)
 ヘッダ情報復号部19は、画像符号化装置11から入力された符号化データのVPS(video parameter set)、SPS、PPS、スライスヘッダを復号する。
  (CT情報復号部)
 CT情報復号部10は、復号モジュール9を用いて、画像符号化装置11から入力された符号化データについて、符号化ツリーユニット及び符号化ツリーの復号処理を行う。CT情報復号部10は、具体的には、以下の手順により符号化データから、CTU情報及びCT情報を復号する。
 まず、CT情報復号部10は、復号モジュール9を用いて、CTUに含まれるCTU情報からツリーユニットヘッダCTUHを復号する。次に、CT情報復号部10は、CTに含まれるCT情報から、対象CTをQT分割するか否かを示すQT分割フラグ、及び対象CTのBT分割の分割方法を示すBT分割モードを復号し、QT分割フラグ及びBT分割モードがさらなる分割を通知しなくなるまで対象CTを再帰的に分割し復号する。最後に、CTU情報からツリーユニットフッタCTUFを復号する。
 ツリーユニットヘッダCTUH及びツリーユニットフッタCTUFには、対象符号化ツリーユニットの復号方法を決定するために画像復号装置31が参照する符号化パラメータが含まれる。また、CT情報には、QT分割フラグ及びBT分割モードの他、対象CT及び下位の符号化ノードで適用されるパラメータを含んでいてもよい。
  (CU復号部)
 CU復号部20は、PU情報復号部12及びTT情報復号部13から構成され、最下位の符号化ツリーCT(すなわちCU)のPUI情報及びTTI情報を復号する。
  (PU情報復号部)
 PU情報復号部12では各PUのPU情報(マージフラグ(merge_flag)、マージインデックス(merge_idx)、予測動きベクトルインデックス(mvp_idx)、参照画像インデックス(ref_idx)、インター予測識別子(inter_pred_flag)、及び差分ベクトル(mvd)等)を、復号モジュール9を用いて復号する。
  (TT情報復号部)
 TT情報復号部13は、各TTI(TU分割フラグSP_TU(split_transform_flag)、CU残差フラグCBP_TU(cbf_cb、cbf_cr、cbf_luma)等、及びTU)を、復号モジュール9を用いて復号する。
 また、TT情報復号部13は、TU復号部22を備えている。TU復号部22は、TUに残差が含まれている場合に、QP更新情報(量子化補正値)を復号する。なお、QP更新情報は、量子化パラメータQPの予測値である量子化パラメータ予測値qPpredからの差分値を示す値である。またTU復号部22は、量子化予測残差(residual_coding)を復号する。
  (ピクチャ分割部)
 ピクチャ分割部33は、複数のビュー画像がフレームパッキングされたピクチャを示すデータを入力として読み込み、当該複数のビュー画像を分割して、1つまたは複数のビュー画像に対応する復号画像もしくは符号化データを出力する処理を行う。
 (フレームパッキングに係る構成例1)
 本例においては、フレームパッキングが施された複数のビュー画像(ビュー)を復号する復号装置の例について説明する。なお便宜上、上述した部材と同じ機能を有する部材については、同じ符号を付記し、説明を省略する。
 本例においても、図13の機能ブロック図に示す構成を用いる。ただし、画像復号装置31が備える各部材は、以下、本例において記載する処理を行う機能を有する。
 上述したビュー画像(ビュー)とは、ある視点から被写体又は対象物の静止画又は動画を記録又は生成した画像であって、マルチビュー画像とは、複数の視点から被写体又は対象物の静止画又は動画を記録又は生成した画像である。ただし、本願発明を実施する場合においては、フレームパッキングされた画像が必ずしもビュー画像であることを要しない。
 上述したフレームパッキングとは、複数のビュー画像を統合し、一のピクチャとする構成、つまり一のピクチャに複数のビュー画像を含ませる構成のことである。一例として左目用のビュー画像と右目用のビュー画像とをフレームパッキングする構成が挙げられる。
 図14は、複数のビュー画像がフレームパッキングされたピクチャの例を示す図である。図14に示す例においては、ピクチャ50にビュー0とビュー1とが垂直方向にフレームパッキングされている。また、垂直方向のフレームパッキングとは、図14のように、複数のビュー画像が水平方向に延伸する境界を挟んで垂直方向に隣接することを意味する。
 なお複数のビュー画像とは、ビュー画像が3つ以上である場合も当然に含み、以下本明細書において同様である。
 画像符号化装置11によって生成され、画像復号装置31に入力される符号化ストリームTeは、当該符号化ストリームTeのパラメータセットであるVPS(Video Parameter Set)、SPS(Sequence Parameter Set)又はその他のパラメータセットに、当該符号化ストリームTeから復号されるピクチャにどのようなフレームパッキングが施されたかを示すビューパッキング情報を有する。ビューパッキング情報の一例として、ピクチャにフレームパッキングされたビュー画像の幅と高さとを示すview_width[id]とview_height[id]とのようなパラメータを使用する。なお、上記パラメータ内のidは、当該ピクチャにフレームパッキングされたビュー画像毎に一意に付与された、当該ビュー画像のインデックスである。
 以下、画像復号装置31に上述した符号化ストリームTeが入力された場合における処理の流れについて説明する。
 ヘッダ情報復号部19は、入力された符号化ストリームTeのパラメータセットから、ビューパッキング情報を復号する。ビューパッキング情報が、符号化ストリームTeから復号されるピクチャは、ビュー画像が垂直方向にフレームパッキングされたものであることを示す場合、ピクチャ復号部32のCT情報復号部10は、上記ピクチャに対してCTU単位でラスタースキャンを行い、復号処理を行う。
 なお、以下、一例として定義するビューパッキング情報であるview_packing_flagが1である場合に、符号化ストリームTeから復号されるピクチャは、垂直方向にビュー画像がフレームパッキングされたピクチャであることを示すものとする。なお、整合性の観点より、view_packing_flag=1である場合には、垂直方向のフレームパッキング(top_and_bottom packing)が行われると言うこともできる。なお、垂直方向のフレームパッキングが行われていることを明確とするために、view_packing_flagをview_vertical_packing_flagと呼んでもよい。また、ビューが垂直方向にパッキングされていることを示す情報を、1つのシンタックスではなく、複数のシンタックスの組み合わせで示してもよい。例えば、ビューがパッキングされているかを示すフラグview_packing_flagとビューのパッキング方法(復号順序を示す)情報であるview_packing_typeに分けて符号化ストリームTeに含めてもよい。
 ピクチャ分割部33は、ピクチャ復号部32が復号した上記ピクチャを各々のビューに分割し、画像復号装置31の出力とする。
 このように本例に係る画像復号装置31は、画像の符号化ストリームTeを復号する画像復号装置31であって、ヘッダ情報復号部19と、ピクチャ復号部32とを備え、上記ヘッダ情報復号部19は、上記符号化ストリームTeのパラメータセットに含まれるビューパッキング情報であって、対象ピクチャに複数のビューが含まれているか否かを示すビューパッキング情報を復号し、上記ピクチャ復号部32は、上記ビューパッキング情報により、複数のビューが垂直方向にフレームパッキングされたピクチャであると特定されたピクチャを復号することによって各々のビューを復号する。
 図14を用いて例示すれば、画像復号装置31は、ピクチャ50に含まれるビュー0を抽出する場合に、ビュー1を復号する必要が無い。このように上記の構成によれば、画像復号装置31は、複数のビュー画像がフレームパッキングされたピクチャから特定のビュー画像を抽出する場合に、符号化ストリームTeの連続した範囲であって、上記特定のビュー画像の末尾までに対応する範囲を復号すれば足りるので処理量を節減する効果を奏する。同様に、特定のビュー画像の後続のビューを復号することなく符号化データを抽出することができる。
 また、画像復号装置31と対となる画像符号化装置は、画像の符号化ストリームTeを符号化する画像符号化装置であって、ヘッダ情報符号化部と、ピクチャ符号化部とを備え、上記ヘッダ情報符号化部は、上記符号化ストリームTeのパラメータセットに含まれるビューパッキング情報であって、対象ピクチャに複数のビューが含まれているか否かを示すビューパッキング情報を符号化し、上記ピクチャ符号化部は、上記ビューパッキング情報により、複数のビューが垂直方向にフレームパッキングされたピクチャであると特定されたピクチャを符号化することによって各々のビューを符号化する。
 上記の構成によれば、画像符号化装置11が上述した効果を奏する為の符号化ストリームTeを出力する画像符号化装置を実現できる。
 また、当該符号化ストリームTeは、VPS、SPS、又は他のパラメータセットに、当該ピクチャに含まれる各ビュー画像の開始位置を示すシンタックスを有していてもよい。例えば、ピクチャに含まれるid番目のビュー画像の水平方向における開始位置のアドレスを示すパラメータをview_position_x[id]、垂直方向における開始位置のアドレスを示すパラメータをview_position_y[id]として規定してもよい。また、符号化ストリームTeは、当該パラメータをビューパッキング情報として有する構成でもよいし、他のパラメータセットとして有する構成でもよい。
 上記ヘッダ情報復号部19は、上記ビューパッキング情報に加え、上記符号化ストリームTeのパラメータセットに含まれる上記複数のビューそれぞれの開始位置を示す情報を復号する。
 ピクチャ復号部32は、当該ビュー画像の開始位置を示すパラメータであるview_position_x[id] 及びview_position_y[id]、並びに当該ビュー画像の高さを示すパラメータであるview_height[id]を参照し、当該ビュー画像の復号を行う。
 例えば、図19は、符号化ストリームTeのビューパッキング情報として、少なくともview_packing_flag、view_position_x[id]、view_position_y[id]、view_height[id]等を含む擬似コードである。
 上記の構成によれば、ピクチャ復号部32がピクチャに含まれるビュー画像を復号する場合において、当該ピクチャに含まれる任意のビュー画像のみを復号し抽出できるので、処理量を節減する効果を奏する。
 (フレームパッキングに係る構成例2)
 本例においては、パディングによりフレームパッキングを行う場合について説明する。なお便宜上、上述した部材と同じ機能を有する部材については、同じ符号を付記し、説明を省略する。
 本例においても、図13の機能ブロック図に示す構成を用いる。ただし、画像復号装置31が備える各部材は、以下、本例において記載する処理を行う機能を有する。
 以下、画像符号化装置11によって生成され、画像復号装置31に入力される符号化ストリームTeの構成について図15に基づき説明する。
 図15は、パディング部分を含むピクチャの例を示す図である。図15に示すピクチャ51においては、ビュー0とビュー1とがパディング部分52を挟んで垂直方向にフレームパッキングされている。一例としてCTUのサイズが128であって、ビュー0の縦方向のサイズが1080である場合、画像符号化装置11は、ビュー0の下方に縦方向のサイズが72のパディングを施し、パディング部分の下方にビュー1をフレームパッキングする。ビュー0とパディング部分の縦方向のサイズの合計が1152となり、CTUのサイズである128の倍数となる。また、ピクチャの下方に位置するビュー1の下方にはパディングを施す必要は無い。
 画像符号化装置11は、当該ピクチャ51を符号化した符号化ストリームTeを出力し、画像復号装置31は、上記符号化ストリームTeを入力として画像復号処理を行う。上記画像復号処理において、CT情報復号部10は、ピクチャ51を、図15における上部に相当する方向からCTU単位でラスタースキャンを行い、復号する。
 例えば、図20は、符号化ストリームTeのビューパッキング情報として、view_packing_flag、view_position_x[id]、view_position_y[id]、view_height[id]に加え、view_cropping_width[i]、view_cropping_heigth[i]、view_same_size_flag等を含む擬似コードである。
 画像符号化装置11、画像復号装置31は、パディングサイズとして、iで示される各ビュー画像単位のview_cropping_width[i]とview_cropping_heigth[i]を符号化、復号してもよい。また、各ビューで等しいパディングサイズを用いるか否かを示すフラグview_same_size_flagを符号化、復号し、view_same_size_flagが1の場合には1つの(N=1)のパディングサイズを符号化してもよい。view_same_size_flagが0の場合には、ビィーの数をNに設定して、各ビューのパディングサイズを符号化してもよい。例えば、N個のビューに関するパディングサイズを示すために以下の構成の符号化データを用いてもよい。
 view_same_size_flag
 if (view_same_size_flag) N = 1;
 for (i = 0; i < N; i++) {
  view_cropping_width[i]
  view_cropping_height[i]
 }
 なお、view_cropping_width[i]とview_cropping_heigth[i]はパディング領域の幅と高さを示す。view_width[i]とview_height[i]はパディング領域ありのビューの横、縦とした場合、実領域の横と高さは各々、view_width[i] - view_cropping_width[i]、view_height[i] - view_cropping_heigth[i]となる。
 なお、本例に係る本願発明は、複数のビュー画像が垂直方向にフレームパッキングされる場合に限定されず、水平方向にフレームパッキングされる場合においても適用可能である。
 なお、画像符号化装置11において、水平方向にフレームパッキングが施されるピクチャの右端、又は垂直方向にフレームパッキングが施されるピクチャの下端に配置されたビュー画像については、フレームパッキングを行う場合にパディングを施す必要は無い。ピクチャにフレームパッキングされるビュー画像が3つ以上の場合においても同様である。
 また、例えば上述したview_packing_flagが1である場合に、ピクチャの下端に配置されたビュー画像については、フレームパッキングを行う場合にパディングを施さない構成でも構わない。
 本例に係る画像復号装置31は、画像の符号化ストリームTeを復号する画像復号装置31であって、ピクチャを復号するピクチャ復号部32を備え、上記ピクチャ復号部32は、複数のビューがフレームパッキングされたピクチャであって、ピクチャ端以外に位置する各ビューの縦又は横のサイズが所定の符号化単位であるコーディングツリーユニットの倍数になるようにパディングされた部分と、複数のビューとを含んでいるピクチャを復号する。
 上記の構成によれば、フレームパッキングが施されたピクチャ内をCTUのブロック単位で参照又は抽出した場合に、当該CTUに複数のビュー画像に由来するデータが含まれることを防止し、所定のビューだけを復号し、抽出する効果を奏する。
 (フレームパッキングに係る構成例3)
 本例においては、フレームパッキングされたピクチャが含むビュー毎に復号処理を行う復号装置の例について説明する。なお便宜上、上述した部材と同じ機能を有する部材については、同じ符号を付記し、説明を省略する。
 本例においても、図13の機能ブロック図に示す構成を用いる。ただし、画像復号装置31が備える各部材は、以下、本例において記載する処理を行う機能を有する。
 画像符号化装置11によって生成され、画像復号装置31に入力される符号化ストリームTeは、当該符号化ストリームTeのパラメータセットであるVPS(Video Parameter Set)、SPS(Sequence Parameter Set)又はその他のパラメータセットに、当該符号化ストリームTeから復号されるピクチャにどのようなフレームパッキングが施されたかを示すビューパッキング情報を有する。
 図16は、複数のビュー画像がフレームパッキングされたピクチャの例を示す図である。
 ヘッダ情報復号部19は、入力された符号化ストリームTeのパラメータセットを復号し、ビューパッキング情報を参照する。上記ビューパッキング情報が、上記符号化ストリームTeから復号される対象ピクチャを複数のビュー画像に分割することを示し、かつ、当該対象ピクチャが図16のピクチャ53のように水平方向にビュー画像がフレームパッキングされたものであることを示す場合、ピクチャ復号部32は、当該対象ピクチャをビュー毎に走査することによって復号する。図16に示す例の場合、ピクチャ復号部32は、ビュー0とビュー1とのうち、ビュー0の復号処理を完了させてからビュー1の復号処理を開始する。
 また、符号化ストリームTeが、画像復号装置31におけるビュー画像の復号順序を規定する為のパラメータセット、例えばview_packing_typeを有していてもよい。具体的には、view_packing_type=0である場合、ヘッダ情報復号部19は、ピクチャに垂直方向(top and bottom)にフレームパッキングが施されていると解し、ピクチャ復号部32のCT情報復号部10は、ピクチャ内におけるラスタースキャン順にCTUを走査する。view_packing_type=1である場合には、ヘッダ情報復号部19は、ピクチャに水平方向(side and side)にフレームパッキングが施されていると解し、ピクチャ復号部32は、ビュー画像毎にラスタースキャン順にCTUを走査する構成でもよい。
 なお、本例に係る本願発明は、水平方向にフレームパッキングされた複数のビュー画像を含む場合に限らず、例えば、ビュー画像が田の字状に配置されたピクチャを復号する場合等でも適用することができる(view_packing_type=2などを用いてもよい)。上記の場合において、符号化ストリームTeは、水平方向と垂直方向とにそれぞれいくつのビュー画像がフレームパッキングされたピクチャであるかを示すビューパッキング情報、例えば水平方向のビュー数view_num_horizontalと垂直方向のビュー数view_num_vericalとを有する。
 また、図19に示すように、ビュー数-1を示すnum_view_minus1に加え、各ビューの位置view_position_x[i]、view_position_y[i]と大きさview_width_minus1[i], view_height_minus1[i]を、ビューパッキング情報として用いてもよい。
 本例に係る画像復号装置31は、画像の符号化ストリームTeを復号する画像復号装置31であって、ヘッダ情報復号部19と、ピクチャ復号部32とを備え、上記ヘッダ情報復号部19は、上記符号化ストリームTeのパラメータセットに含まれるビューパッキング情報であって、対象ピクチャに複数のビューが含まれているか否かを示すビューパッキング情報を復号し、上記ピクチャ復号部32は、上記ビューパッキング情報が、対象ピクチャを複数のビューに分割することを示している場合に、当該対象ピクチャを、ビュー毎に走査することによって復号する。
 上記の構成によれば、画像復号装置31は、符号化ストリームTeの先頭から特定のビュー画像を含む連続した範囲を復号するだけで、特定のビュー画像を抽出できるので処理量を節減する効果を奏する。
 (ビュータイルに係るブロック参照例)
 本例においては、ビューパッキングするビュー画像をビュータイル(viewTile)として説明する。ビュータイルは1つ以上のタイル又はスライスから構成される。なお便宜上、上述した部材と同じ機能を有する部材については、同じ符号を付記し、説明を省略する。
 本例においても、図13の機能ブロック図に示す構成を用いる。ただし、画像復号装置31が備える各部材は、以下、本例において記載する処理を行う機能を有する。
 タイルとは、ピクチャをCTU単位で矩形に分割したものをいう。タイルに含まれる各CTUの符号化及び復号順序は、当該タイル内におけるラスタースキャン順となる。
 図17は、複数のビュータイルに分割したピクチャの例を示す図である。図17に示す例においては、一のビュータイルには一のタイルが対応している。図17の例に限らず、一のビュータイルは複数のタイルから構成されてもよい。
 以下、本例に係る画像復号装置31に画像の符号化ストリームTeが入力された場合の処理について説明する。本例に係る、画像符号化装置11が生成する符号化ストリームTeは、符号化ストリームTeから復号されるピクチャにおいて、ビュータイルを使用しているか否かを示すビューパッキング情報、例えばview_tile_packing_flagを有する。画像符号化装置11は、ビュータイルを使用する場合にview_tile_packing_flagを1として各ビュー画像を各々ビュータイルに配置し、符号化処理を行う。
 ヘッダ情報復号部19は、入力された符号化ストリームTeに含まれるビューパッキング情報であって、ビュータイルを使用しているか否かを示すビューパッキング情報を復号する。当該ビューパッキング情報が、ビュータイルを使用していることを示す場合、ピクチャ復号部32は、復号対象である対象ビュータイルを復号することによりビュー画像を復号する。
 即ち、本例に係る画像復号装置31は、画像の符号化ストリームTeを復号する画像復号装置31であって、ヘッダ情報復号部19と、ピクチャ復号部32と、ピクチャ復号部32の中に予測画像を生成する予測画像生成部308とを備え、上記ヘッダ情報復号部19は、上記符号化ストリームTeのパラメータセットに含まれるビューパッキング情報であって、ビュータイルを使用しているか否かを示すビューパッキング情報を復号し、上記ピクチャ復号部32は、上記ビューパッキング情報が、ビュータイルを使用していることを示す場合、指定されたビュータイルを復号することによって特定のビュー画像を復号する。
 上記の構成によれば、通常のタイルとは異なった分割単位における処理が可能となる。
 なお、特に一のビュータイルが複数のタイルから構成される場合には、符号化ストリームTeは、当該ビュータイルが含む各タイルを示す情報、例えばtile_included_flag[view_tile_idx][tile_idx]を有する構成でもよい。tile_included_flagは、ビュータイルインデックスview_tile_idxが示すビュータイルが、あるtile_idxのタイルを含むか否かを示す。例えば、view_tile_idx=0が示すビュータイルが、tile_idx=0,1のタイルを含み、tile_idx=2のタイルを含まない場合、以下になる。
tile_included_flag[0][0] = 1
tile_included_flag[0][1] = 1
tile_included_flag[0][2] = 0
 さらに、view_tile_idx=1が示すビュータイルが、tile_idx=2のタイルを含めば、以下になる。
tile_included_flag[1][2] = 1
 また、符号化ストリームTeは、各タイルのビュータイルインデックスを示す情報を有する構成でもよい。例えば、tile_view_tile_idx[tile_idx]を用いて、tile_idx=0,1のタイルのビュータイルインデックスが0、tile_idx=2のタイルのビュータイルインデックスが1の場合は、以下となる。
tile_view_tile_idx[0] = 0
tile_view_tile_idx[1] = 0
tile_view_tile_idx[2] = 1
また、画像復号装置31は、当該ビュータイルが含む各タイルを並列に復号する構成でも構わない。なお、各タイルiのビュータイルインデックスを示す情報tile_view_tile_idx[i]の代わりに、ビューを識別するためのインデックスを示す情報tile_view_idx[i]でもよい。また、ビューの順序を識別するためのインデックスであるビューオーダーインデックスを示す情報tile_view_order_idx[i]でもよい。
 また、上述のビュータイルに類似した例として、1のビュー画像に対応づけられたスライスであるビュースライス(viewSlice)を規定する構成でもよい。また、スライスとは、ピクチャをラスタースキャン順で走査した場合における連続したCTUの領域をいう。なお、スライスの終端は、ラスタースキャンにおける各行の途中に位置していても構わない。このような連続領域はビューセグメント(viewSegment)と呼んでもよい。
 符号化ストリームTeは、符号化ストリームTeから復号されるピクチャにおいて、ビュースライスを使用しているか否かを示すビューパッキング情報、例えばview_slice_packing_flagを有する。画像符号化装置11は、ビュースライスを使用する場合にview_slice_packing_flagを1として各ビュー画像を各々ビュースライスに配置し、符号化処理を行う。
 ヘッダ情報復号部19は、入力された符号化ストリームTeに含まれるビューパッキング情報であって、ビュースライスを使用しているか否かを示すビューパッキング情報を復号する。当該ビューパッキング情報が、ビュースライスを使用していることを示す場合、ピクチャ復号部32は、当該対象ビュースライスを復号することによりビュー画像を復号する。
 上記の構成によれば、通常のスライスとは異なった分割単位における処理が可能となる。
 また、通常、予測画像生成部308は、対象タイルに含まれる対象ブロックの予測画像を生成する予測画像生成処理において、上記対象タイルとは別のタイルに含まれるブロックを参照することは制限されている。しかしながらビュータイルでは、本例に係る画像復号装置は、対象ビュータイルとは別のビュータイルに含まれるブロックを参照可能な構成でもよい。つまり画像復号装置31は、対象ビュータイルとは別の参照ビュータイルの画素、予測モード、イントラ予測モード、及び動きベクトルを参照可能な構成でもよい。具体的には、画像復号装置31は、以下に例示する参照を行ってもよい。
・イントラ予測を行う場合における参照ビュータイルが有する画素の参照
・イントラモード予測(MPM候補の生成)を行う場合における参照ビュータイルの予測モードの参照
・マージモードを用いる場合における参照ビュータイルの動きベクトル、参照ピクチャインデックスの参照
・動きベクトル予測を用いる場合における参照ビュータイルの動きベクトル、参照ピクチャインデックスの参照
・コンテキスト導出を用いる場合における参照ビュータイルのパラメータの参照
 このように、上記予測画像生成部308は、対象ビュータイルに含まれる対象ブロックの予測画像を生成する予測画像生成処理において、復号済みの異なるビュータイルに含まれる参照ブロックを参照する。
 上記の構成によれば、予測画像生成部308が参照する領域を制限し、先読みをし易くすることにより、メモリアクセスの増加を抑制する効果を奏する。また、対象ブロックに非常によく似た別のビュータイルのブロックを参照することができるので、符号化効率を向上させることができる。
 また、画像符号化装置11によって生成され、画像復号装置31に入力される符号化ストリームTeに含まれるパラメータセットには、対象ビュータイルの復号処理を行う場合において、上記対象ビュータイルとは異なる各ビュータイルへの参照が可能か否かを示すビュー間参照可否情報、例えばview_tile_dependency_flag[i][j]が含まれる構成でもよい。なお、view_tile_dependency_flag[i][j]の第1の添え字(インデックス)iが参照元のビュータイルを、第2の添え字jが参照先のビュータイルをそれぞれ表す。なお、i及びjは0以上の整数であって、i>jである。また、本明細書において、ビュー間参照可否情報という用語は、ビュータイル間の依存関係を示す場合に用い、タイル間の依存関係を示す場合、タイル間参照可否情報という用語を用いる。との両方に用いる。なお、後述のイントラブロックコピーを許す場合には、同一ビュー間の参照関係をview_tile_dependency_flag[i][j]を規定しても良い。この場合にはi>=jを満たすi, jについてview_tile_dependency_flag[i][j]を符号化ストリームTeに含める。
 なお、従来技術においては、layer_dependency_flag[i][j]というパラメータが存在する。layer_dependency_flag[i][j]を用いる構成においては、画像復号装置は、依存関係にないピクチャ、つまり参照できないピクチャを参照ピクチャとして利用せず、参照ピクチャリストに加えない。一方でview_tile_dependency_flag[i][j]を用いる構成は、依存関係にないビュー画像の領域を参照領域として用いないという点においてlayer_dependency_flag[i][j]を用いる構成とは異なる。なお、view_tile_dependency_flag[][]は後述のように単にtile_dependency_flag[][]と記載してもよい。
 図18は、ピクチャ内の各ビュータイル間におけるビュー間参照可否情報の例を示す図である。図18の(a)に示す例においては、ビュー間参照可否情報であるview_tile_dependency_flag[1][0]の値は1である。上記の値は、予測画像生成部308が、ビュータイル1に含まれる対象ブロックの予測画像を生成する場合に、ビュータイル0に含まれる参照ブロックを参照可能なことを示している。なお、上記の値が0である場合には、参照元のビュータイルであるビュータイル1に含まれる対象ブロックの予測画像を生成する場合に、参照先のビュータイルであるビュータイル0に含まれるブロックへの参照が可能でないことを意味する。
 また、ビュー間参照可否情報を用いた構成は、図18の(b)に示す例のように、複数のビュータイルが一のビュー画像に対応している場合においても適用可能である(この場合、タイル間参照可否情報を用いる)。つまり、図18の(b)に示す例では、ビュー0はビュータイル0(タイル0)とビュータイル1(タイル1)からなり、ビュー1はビュータイル2(タイル2)とビュータイル3から(タイル3)なる。図18の(b)に示す例においては、各ビュータイルタイル間の依存関係がシンタックスtile_dependency_flag [i][j]により規定されている。
 すなわち、図18(b)の例では、ビュータイル0、ビュータイル1からビュー0が構成され、各々独立である。
 tile_dependency_flag[1][0] = 0 // ビュータイル1はビュータイル0を参照しない
 ビュータイル2からビュー1が構成され、ビュー1(ビュータイル2)はビュー0(ビュータイル0)を参照する。
 tile_dependency_flag[2][0] = 1 // ビュータイル2はビュータイル0を参照する
 tile_dependency_flag[2][1] = 0 // ビュータイル2はビュータイル1を参照しない
 ビュータイル3からビュー2が構成され、ビュー2(ビュータイル3)はビュー0(ビュータイル1)を参照する。
 tile_dependency_flag[3][0] = 0 // ビュータイル3はビュータイル0を参照しない
 tile_dependency_flag[3][1] = 1 // ビュータイル3はビュータイル1を参照する
 tile_dependency_flag[3][2] = 0 // ビュータイル3はビュータイル2を参照しない
 上記構成によれば、ビュー0を構成するビュータイル0とビュータイル1は各々独立に復号することができる。ビュー1を構成するビュータイル2と、ビュー2を構成するビュータイル3は、各々、ビュータイル0とビュータイル1の復号を待つ必要があるが、各々独立に復号することができる。
 以下、画像符号化装置11が、本例に係る符号化ストリームTeに含まれるパラメータセットを設定(符号化)する処理の一部について図21及び図25に基づいてステップごとに説明する。
 図21は、本例に係る符号化ストリームTeに含まれるパラメータセットの生成手順の例を示すシンタックステーブルである。なお、図21及びその他のシンタックステーブルの図における項目Descriptorに記載のue(v)とは、対応するシンタックスのサイズが可変長(符号長が1ビットである場合や結果的に1ビットになる場合を含む)であることを意味する。また、u(1)とは、対応するシンタックスのサイズが1であることを意味し、通常0又は1の値を取りうるフラグである。また、図21及びその他のシンタックステーブルの図における一部のシンタックス名及び当該シンタックスが示す意味は、ITU-T(International Telecommunication Union-Telecommunication Standardization Sector)のH.265の仕様書に準拠する。図25は、本例に係る符号化ストリームTeに含まれるパラメータセットを設定する処理の一例を示すフローチャートである。
 (S101)
 ステップS101において、画像符号化装置11は、符号化ストリームTeが有するパラメータセットの設定を行う。図21の2~5行目が、本ステップS101における処理に相当する。ここで、5行目view_packing_flagは、画像符号化装置11が符号化するピクチャが複数のビュー画像がフレームパッキングされたものであるか否かを示すシンタックスである。
 (S102)
 続いて、ステップS102においては、符号化処理を行うピクチャが複数のビュー画像を含むピクチャであるか否かを判定する。図21の6行目が、本ステップS102における処理に相当する。当該ピクチャが複数のビュー画像を含む場合、つまりview_packing_flagが1である場合は、ステップS103へ遷移し、含まない場合、つまりview_packing_flagが0である場合は、図25のフローチャートに基づく処理を終了する。
 (S103)
 ステップS103において、画像符号化装置11は、ピクチャに含まれるビュータイルの行数及び列数等を設定する。図21の7~9行目が、本ステップS103における処理に相当する。なお、9行目のview_same_size_flagは、当該ピクチャと、当該ピクチャに含まれるビュータイルとが同じサイズであるか否かを示すシンタックスである。換言すると、view_same_size_flagは値が1である場合に、当該ピクチャには1のビュー画像が含まれることを示すシンタックスである。
 (S104)
 続いて、ステップS104において、画像符号化装置11は、ピクチャが含むビュータイル間の依存関係、つまりビュー間参照可否情報を設定する。図21の10~15行目が、本ステップS104における処理に相当する。まず12行目に示す処理において各ビュータイルに対して一意なインデックスを設定し、15行目に示す処理においてビュー間参照可否情報を設定する。
 (S105)
 続いて、ステップS105において、ピクチャに含まれる各ビュータイルの位置、サイズ及びクロップ領域を設定する。図21の16~27行目が、本ステップS105における処理に相当する。まず16~21行目に示す処理において水平方向の各ビュータイルの位置、幅、及びクロップ領域サイズを設定し、次いで22~27行目に示す処理において垂直方向の各ビュータイルの位置、高さ、及びクロップ領域サイズを設定する。上述の処理を行い、図25のフローチャートに基づく処理を終了する。
 本例に係る画像復号装置31は、上述したようなビュー間参照可否情報をパラメータセットとして有する符号化ストリームTeを復号する。上記の構成においては、ヘッダ情報復号部19が、当該ビュー間参照可否情報を復号し、予測画像生成部308が、上記ビュー間参照可否情報を参照し、上記対象ビュータイルとは異なるビュータイルに含まれる参照可能な参照ブロックを特定する。次いで予測画像生成部308は、当該参照ブロックを適宜参照し、対象ビュータイルが含む対象ブロックの予測画像を生成する。
 このように、上記ヘッダ情報復号部19は、対象ビュータイルとは異なる各ビュータイルへの参照が可能か否かを示すビュー間参照可否情報を復号し、上記予測画像生成部308は、対象ビュータイルがに含まれる対象ブロックの予測画像を生成する予測画像生成処理において、上記ビュー間参照可否情報を参照して参照ブロックを特定する。
 上記の構成によれば、予測画像生成部308が、ビュー間参照可否情報を参照することにより、参照可能なビュータイルを容易に特定でき、復号処理に有用である。
 また、図21を用いて上述した符号化ストリームTeに含まれるパラメータセットの生成手順の変形例について説明する。
 図19、図20、及び図22~24は、符号化ストリームTeに含まれるパラメータセットの生成手順の例を示すシンタックステーブルである。図19及び図20に示す例においては、画像符号化装置11が生成する符号化ストリームTeは、ビュー間参照可否情報を有しない。また、図19に示すようにピクチャを構成するビュー画像の行数及び列数を同一のループ内で設定してもよいし、図20に示すように独立に設定してもよい。
 図22は、ビュータイルを用いる場合においてタイルのシンタックスを利用する例である。なお、8行目のtile_view_flagは、タイルをビュー画像として扱うか否かを示すシンタックスである。tile_view_idx[i]は、各タイルiのビューインデックスを示す(ビューインデックスではなくビューオーダーインデックスでもよい)。また、図23の(a)に示すように、画像符号化装置11が、ビュータイル間の従属関係に関して、ピクチャ内(イントラ)における従属関係と、ピクチャ間(インター)における従属関係とを別々のシンタックスにおいて設定する構成でもよい。
 あるいは図23の(b)に示すように、ビュー間に依存関係がある場合、12行目のview_tile_dependency_type[i][j]を通知してもよい。view_tile_dependency_type[i][j]は、ビュー間の依存タイプを示す情報であり、依存タイプの値は、イントラ予測(e.g. 1)、インター予測(e.g. 2)、イントラ予測とインター予測(e.g. 3)であってもよい。また図24に示す処理は、図23における処理において、ビュータイルをタイルに置き換えた構成である。
 (符号化・復号順序とパラメータ)
 以下では、上述の符号化ストリームTeに含まれるパラメータセットを設定(符号化)する処理において、符号化処理の対象であるビュー画像が複数のビュータイル(以下では、タイルと称する)から構成されている場合の具体例について、図26、図27及び図28を参照して説明する。
 まず、本具体例で用いられるタイルオーダーインデックスtile_order_id[i](タイル復号順インデックスTileOrderId)について図26を説明する。図26の(a)(b)は、あるピクチャに含まれる各タイルの復号順を説明するための図である。矩形のタイル中の値は、各タイルのタイルオーダーインデックスTileOrderIdの値を示す。画像符号化装置11のヘッダ情報符号化部は、タイルオーダーインデックスTileOrderIdの順序でピクチャ中のタイルを符号化する。すなわち、画像符号化装置11のヘッダ情報符号化部は、TileOrderId = 0のタイルの次に、TileOrderId = 1のタイル、その次にTileOrderId = 2のタイルという順で符号化する。符号化データは、2つのタイルIDであるi, jにおいて、i<jの場合、ある時刻のTileOrderId = iのタイルの符号化データは、同じ時刻のTileOrderId = jのタイルの符号化データよりも、前でなくてはならないビットストリーム制限を有する。画像復号装置31のヘッダ情報復号部19は、は、上記ビットストリーム制限を有する符号化データを復号する。
 図26の(a)は、タイルポジションインデックスを説明する図である。タイルポジションインデックスは、ピクチャ中のタイルの位置を示すインデックスであり、この例ではラスタ順に設定されている。
 図26の(b)は、タイルオーダーインデックスTileOrderIdを説明する図である。図26の(b)では、左上のタイル、左下のタイル、その右のタイル、・・・、最後に2行目1列目のタイルのように、各タイルにTileOrderIdが割り当てられた例を示す。この例のように、タイルの復号順は、ピクチャのラスタ順に制限されない。なお、図中の矢印は後述する参照関係を示す。
 後述するように、あるタイルiの復号順序を示すシンタックスであるタイルオーダーインデックスtile_order_id[i]を符号化データ中に符号化してもよい。
 (パラメータセット設定方法の具体例1)
 次に、本具体例に係る画像符号化装置11によるパラメータセット設定方法について図27及び図28を参照して説明する。図27は、本具体例に係るパラメータセット設定方法を説明するフローチャート図である。図28は、本具体例に係るパラメータセットの生成手順の例を示すシンタックステーブルである。
 画像符号化装置11は、TileOrderIdの示す順番で、あるピクチャ中のタイルを符号化する。
 (S110)
 図27が示すように、ステップS110において、画像符号化装置11のヘッダ情報符号化部は、フラグcurr_pic_tile_referencing_flagが同じピクチャに含まれる別のタイルを参照することを示すか否かを判定する。
ステップS110においてヘッダ情報符号化部が、同じピクチャに含まれる別のタイルを参照すると判定した場合、ステップS111に進む。そうでない場合、ヘッダ情報符号化部は処理を終了する。
 なお、図28のif (curr_pic_tile_referencing_flag)の部分が、本ステップS110における処理に相当する。なお、図37の(a)に示すように、curr_pic_tile_referencing_flagを明示的に符号化してもよい。この場合以下の処理を行う。
 (S109)
 画像符号化装置11は、同じピクチャに含まれる別のタイルを参照するか否かを示すフラグcurr_pic_tile_referencing_flagを符号化する。
 また、curr_pic_tile_referencing_flagは、既に説明したtile_view_flagを用いても良い。なお、図37の(b)に示すようにcurr_pic_tile_referencing_flagを明示的に符号化せず、tile_dependency_flag[i][j]から導出する構成でもよい(この場合のフラグをcurr_tile_dependency_flagと呼んでもよい)。
 (S111)
 次に、ステップS111において、画像符号化装置11のヘッダ情報符号化部(タイル復号順序符号化部)は、上述のタイルオーダーインデックスtile_order_id[i]を符号化する。図28に示すように、iをループ変数としてタイルの数NumTileMinus1+1だけ符号化してもよい。各タイルに対して一意なタイルオーダーインデックスを符号化する。また、タイルオーダーインデックスtile_order_id[i]は、ピクチャ内を構成するタイルに対して、ラスタ順に符号化してもよい。
 (S112)
 次に、ステップS112において、画像符号化装置11のヘッダ情報符号化部は、ピクチャに含まれるビュータイル間の依存関係、つまりタイル間参照可否情報を符号化する。図28に示すようにj < iの制限が課された上で、タイル間参照可否情報tile_dependency_flag[i][j]を設定する。tile_dependency_flag[i][j]が1の場合、タイルi(第1のタイル)はタイルj(第2のタイル)を参照できることを示す。tile_dependency_flag[i][j]が0の場合、タイルi(第1のタイル)はタイルj(第2のタイル)を参照できないことを示す。
 以上の画像符号化装置11は、タイル間に依存関係があるか否か(タイルが別のタイルを参照するか否か)を示すフラグが1の場合に、タイルの復号順序を示す情報であるタイルオーダーインデックスを符号化してもよい。互いに並列に復号が可能である従来のタイルと異なり、別タイルを参照する本構成では、タイルの復号順序に制約が生じるため、タイルの復号順序を示す情報を符号化する。
 このようにステップS112において設定されるタイル間参照可否情報は、ビュー画像を構成するタイルのうちの第1のタイル(iが示すタイル)の対象ブロックを予測する際に、当該タイルのうちの第2のタイル(jが示すタイル)を参照できるか否かを示す。また、当該タイル間参照可否情報は、第1のタイルを指定する第1のインデックスの値(上述のi)が、第2のタイルを指定する第2のインデックスの値(上述のj)よりも大きいという制限する。これにより、通知するtile_dependency_flag[][]の個数を低減し符号量を削減できるメリットをもつ。なお、パラメータを通知するとは、パラメータを符号化データ(ビットストリーム)に含めることを意味し、動画像符号化装置では当該パラメータを符号化し、動画像復号装置では当該パラメータを復号する。
 (パラメータセットに基づいたタイル復号方法の具体例1)
 以下では、上述のパラメータセットに基づいたタイル復号方法の具体例について図29を参照して説明する。図29は、本具体例に係るパラメータセットに基づいたタイル復号方法の具体例を説明するフローチャート図である。
 (S119)
 画像復号装置31のヘッダ情報復号部19は、フラグcurr_pic_tile_referencing_flagが同じピクチャに含まれる別のタイルを参照することを示すか否かを判定する。ヘッダ情報復号部が、同じピクチャに含まれる別のタイルを参照する(curr_pic_tile_referencing_flagが1)と判定した場合(ステップS119のYES)、ステップS120に進む。そうでない場合(ステップS119のNO)、ヘッダ情報復号部は処理を終了する。
 (S120)
 ステップS120において、画像復号装置31のヘッダ情報復号部19は、画像符号化装置11が符号化したタイルオーダーインデックス(タイル復号順インデックス)を復号する。
 (S121)
 次に、ステップS121において、画像復号装置31のヘッダ情報復号部19は、画像符号化装置11が符号化したタイル間参照可否情報を復号する。なお、当該タイル間参照可否情報は、第1のタイルを指定する第1のインデックスの値(上述のi)が、第2のタイルを指定する第2のインデックスの値(上述のj)よりも大きいという制限が課されている。
 (S122)
 次に、ステップS122において、画像復号装置31のピクチャ復号部32のインター予測パラメータ復号部303は、ヘッダ情報復号部19が復号したタイル間参照可否情報を参照して、参照可能タイルが存在するかを判定する。タイル間参照可否情報が、参照可能なタイルが存在することを示す場合、ステップS123に進む。タイル間参照可否情報が、参照可能なタイルが存在しないことを示す場合、処理を終了する。なお、参照可能なタイルが存在するとは、対象ブロックを含む現在のタイル(第1のタイル)が少なくとも1つの別のタイル(第2のタイル)を参照できる場合を示す。なお、curr_pic_tile_referencing_flagは、図37の(a)に示すように、明示的に復号してもよいし、図37の(b)に示すように導出してもよい(curr_pic_tile_referencing_flag = curr_tile_dependency_flag)。また、後述する図34のように現ピクチャ参照利用フラグpps_curr_pic_ref_enabled_flagを用いてもよい。
 (S123)
 次に、ステップS123において、画像復号装置31のピクチャ復号部32のインター予測パラメータ復号部303において、参照ピクチャリストに現在のピクチャを追加する。結果、第2のタイルが参照ピクチャリストに追加される。
 以上の画像復号装置31は、タイル間に依存関係があるか否か(タイルが別のタイルを参照するか否か)を示すフラグが1の場合に、タイルの復号順序を示す情報であるタイルオーダーインデックスを復号してもよい。互いに並列に復号が可能であるな従来のタイルと異なり、別タイルを参照する本構成では、タイルの復号順序に制約が生じるため、タイルの復号順序を示す情報を復号する。
 以上の処理により、結果として、画像復号装置31は、タイルオーダーインデックスが指定した復号順で、タイル間参照可否情報をもとに、既に復号したタイルを参照しながら復号することができる。
 以上の構成について図30を参照して説明する。図30の(a)及び(b)は、それぞれ、本具体例に係る画像復号装置31による画像復号方法を説明するための図である(矢印は、対象ブロックから始まり参照ブロックを指している。)。図30の(a)が示すように、ヘッダ情報復号部19が復号したタイル間参照可否情報は、以下の式で示される。tile_dependency_flag[1][0] = 1
tile_dependency_flag[2][0] = 1
tile_dependency_flag[2][1] = 0
 上記の3つの式において、tile_dependency_flag[i][j]のiがタイル復号順(図30のデコード順)を示す第1のインデックスの値であり、jが復号順(図30のデコード順)を示す第2のインデックスの値である。第1のインデックスは参照元である第1のタイルを示し、第2のインデックスは参照先の第2のタイルを示す。なお、tile_dependency_flag[i][j]のインデックスの順序は、tile_dependency_flag[j][i]でもよい。すなわち第2のインデックスj、第1のインデックスiの順に記載してもよい。
 画像復号装置31は、TileOrderIdが示す順番、つまりタイル0、タイル1、タイル2の順にタイルを復号する。
 まず、上述のステップS123において、予測画像生成部308は、タイル1(第1のタイル)に含まれる対象ブロックを復号する場合において、タイル間参照可否情報tile_dependency_flagを参照し、タイル1(第1のタイル)からタイル0(第2のタイル)の参照可否を示すフラグtile_dependency_flag[1][0]が1である場合に、タイル0(第2のタイル)を用いて、タイル1(第1のタイル)の対象ブロックの予測画像を生成する。すなわち、タイル0(第2のタイル)を含む参照ピクチャリストを用いて参照ピクチャを特定し、特定した参照ピクチャを用いて対象ブロックの予測画像を生成する。
 また、別の対象ブロックに関し、上述のステップS123において、予測画像生成部308は、タイル間参照可否情報tile_dependency_flag[2][0] = 1を参照し、タイル0(第2のタイル)を用いてタイル2(第1のタイル)の対象ブロックの予測画像を生成する。すなわち、タイル0(第2のタイル)を含む参照ピクチャリストを用いて参照ピクチャを特定し、特定した参照ピクチャを用いて対象ブロックの予測画像を生成する。
 また、上述のステップS122において、予測画像生成部308は、タイル間参照可否情報tile_dependency_flag[2][1] = 0から、第2のタイルを参照できないことを判定する。そのため、タイル1(第2のタイル)を参照して、タイル2(第1のタイル)の対象ブロックの予測画像を生成する工程を実行しない。すなわち、予測画像生成部308は、参照ピクチャリストから、タイル1(第2のタイル)以外の、tile_dependency_flag[2][j] = 1のタイルを用いて対象ブロックの予測画像を生成する。
 画像復号装置31は、タイルオーダーインデックスTileOrderIdが示す順番にタイルを復号する。すなわち、タイルオーダーインデックスTileOrderIdが小さいタイルから順番(ここではタイル0、タイル1及びタイル2の順で)、タイルを復号する。結果として、予測画像生成部308は、タイルオーダーインデックス及びタイル間参照可否情報を参照することにより、タイルオーダーインデックスが指定した復号順である、タイル0、タイル1及びタイル2の順で、各対象ブロックの予測画像を生成する。
 また、別の例では、図30の(b)が示すように、ヘッダ情報復号部19が復号したタイル間参照可否情報は、以下の式で示される。
tile_dependency_flag[1][0] = 1
tile_dependency_flag[2][0] = 1
tile_dependency_flag[2][1] = 0
 上記の3つの式が示すtile_dependency_flag[i][j]において、iがタイルオーダーインデックスを示す第1のインデックスの値であり、jがタイルオーダーインデックスを示す第2のインデックスの値である。第1のインデックスは第1のタイルを示し、第2のインデックスは第2のタイルを示す。
 まず、上述のステップS123において、予測画像生成部308は、タイル間参照可否情報tile_dependency_flag[1][0] = 1を参照して、タイル1(第2のタイル)を用いて、タイル0(第1のタイル)の対象ブロックの予測画像を生成する(この時点でタイル1は復号済)。すなわち、タイル1(第2のタイル)を含む参照ピクチャリストを用いて参照ピクチャを特定し、特定した参照ピクチャを用いて対象ブロックの予測画像を生成する。
 また、別の対象ブロックに関し、上述のステップS123において、予測画像生成部308は、タイル間参照可否情報tile_dependency_flag[2][0] = 1を参照して、タイル1(第2のタイル)を用いて、タイル2(第1のタイル)の対象ブロックの予測画像を生成する。すなわち、タイル1(第2のタイル)を含む参照ピクチャリストを用いて参照ピクチャを特定し、特定した参照ピクチャを用いて対象ブロックの予測画像を生成する。
 また、上述のステップS122において、予測画像生成部308は、タイル間参照可否情報tile_dependency_flag[2][1] = 0から、第2のタイルを参照できないことを判定する。そのため、予測画像生成部308は、タイル0(第2のタイル)を参照して、タイル2(第1のタイル)の対象ブロックの予測画像を生成する工程を実行しない。
 上記構成は、ビューを構成するタイルを復号する画像復号装置であって、タイルのうちの第1のタイルの対象ブロックを予測する際に、上記タイルのうちの第2のタイルを参照できるか否かを示すタイル間参照可否情報を復号するタイル間参照可否情報復号部と、上記タイル間参照可否情報が上記第2のタイルを参照できることを示している場合、上記第2のタイルを含む参照ピクチャを参照して上記対象ブロックの予測画像を生成する予測画像生成部と、各タイルの復号順を示すタイル復号順インデックスを復号するヘッダ情報復号部を備える。
 結果として、予測画像生成部308は、タイルオーダーインデックス及びタイル間参照可否情報を参照することにより、タイルオーダーインデックスが指定した復号順である、タイル1、タイル0及びタイル2の順で、複数のタイルの各対象ブロックの予測画像を生成することができる。
 以上のように本具体例に係る画像復号装置31は、ビューを構成するタイルを復号する画像復号装置であって、上記タイルのうちの第1のタイルの対象ブロックを予測する際に、上記タイルのうちの第2のタイルを参照できるか否かを示すタイル間参照可否情報を復号するタイル間参照可否情報復号部(ヘッダ情報復号部19)と、上記タイル間参照可否情報が上記第2のタイルを参照できることを示している場合、上記第2のタイル(参照タイル)を参照して上記対象ブロックの予測画像を生成する予測画像生成部(予測画像生成部308)と、を備え、上記予測画像生成部は、タイルオーダーインデックス(タイル復号順インデックス)で通知される復号順で、上記タイルの各対象ブロックの予測画像を生成する。
 上記の構成によれば、対象タイルが参照する参照タイルは、対象タイルより小さいインデックスのみであるため、タイル間参照可否情報に必要なビット数を抑えることができる。また、タイル間参照可否情報を参照することにより、参照可能なタイルを容易に特定できる。従って、特定された参照可能なタイル以外のタイルを参照する必要がなく、予め決定された復号順でタイルの各対象ブロックの予測画像を生成することができ、ビュー画像を効率的に復号することができる。
 また、上記の画像復号装置31に対応する画像符号化装置11も本願発明に含まれる。より詳細には、画像符号化装置11は、ビューを構成するタイルを符号化する画像符号化装置であって、上記タイルのうちの第1のタイルの対象ブロックを予測する際に、上記タイルのうちの第2のタイルを参照できるか否かを示すタイル間参照可否情報を符号化するタイル間参照可否情報符号化部(上述のヘッダ情報符号化部)と、上記タイル間参照可否情報が上記第2のタイルを参照できることを示している場合、上記第2のタイル(参照タイル)を参照して上記対象ブロックの予測画像を生成する予測画像生成部(予測画像生成部101)と、を備え、上記予測画像生成部は、タイルオーダーインデックスで通知される符号化順で、上記タイルの各対象ブロックの予測画像を生成する。
 上記の構成によれば、上述の画像復号装置31と同様の効果を奏する。
 また、上記の構成のタイル間参照可否情報において、各タイルに設定されたインデックスの値が固定されており(例えば、ラスタ順)、第1のタイルを指定する第1のインデックスの値が、第2のタイルを指定する第2のインデックスの値よりも大きいという制限が課されているので、第1のインデックスの値が第2のインデックスの値よりも小さい場合、当該第2のタイルを参照できるか否かを示すタイル間参照可否情報自体が存在しない。そのため、当該第1のタイルの対象ブロックを予測する際に、当該第2のタイルを参照することができないという問題がある。
 そこで、本具体例に係る画像復号装置31は、上記複数のタイルの復号順を指定するタイル復号順インデックスを復号するタイル復号順情報復号部(ヘッダ情報復号部19)をさらに備え、上記予測画像生成部(予測画像生成部308)は、上記第2のインデックスの値として上記タイル復号順インデックスの値が指定した第2のタイルを参照して、上記第1のインデックスの値として上記タイル復号順インデックスの値が指定した第1のタイルの対象ブロックの予測画像を生成することにより、上記タイル復号順インデックスにさらに基づいた復号順で上記複数のタイルの各対象ブロックの予測画像を生成する。
 上記の構成によれば、第1のタイルを指定する第1のインデックスの値が、第2のタイルを指定する第2のインデックスの値よりも大きいという制限が課されている場合であっても、タイル復号順インデックスを適宜変更することにより、当該第2のタイルの対象ブロックを予測する際に、当該第1のタイルの参照ブロックを参照することができる。また、上記の構成によれば、第1のタイルを指定する第1のインデックスの値が、第2のタイルを指定する第2のインデックスの値よりも大きいという制限が課されており、当該制限が課されたタイル間参照可否情報のみを復号すればよいため、フラグのビット量を抑えながら、予め決定された復号順で複数のタイルの各対象ブロックの予測画像を生成することができ、ビュー画像を効率的に復号することができる。
 (パラメータセット設定方法の具体例2)
 以下では、上述のパラメータセットに基づいたタイル復号方法の具体例について図31を参照して説明する。図31は、本具体例に係るパラメータセットに基づいたタイル復号方法の具体例を説明するフローチャート図である。
 (S128)
 画像復号装置31は、同じピクチャに含まれる別のタイルを参照するか否かを示すフラグtile_view_flagを復号する。
 (S129)
 画像復号装置31のヘッダ情報復号部19は、フラグtile_view_flagが同じピクチャに含まれる別のタイルを参照することを示すか否かを判定する。ヘッダ情報復号部が、同じピクチャに含まれる別のタイルを参照すると判定した場合(ステップS129のYES)、ステップS130に進む。そうでない場合(ステップS129のNO)、ヘッダ情報復号部は処理を終了する。
 (S130)
 ステップS130において、画像復号装置31のヘッダ情報復号部19は、画像符号化装置11が符号化したタイル間参照可否情報を復号する。なお、当該タイル間参照可否情報は、第1のタイルを指定する第1のインデックスの値(上述のi)と、第2のタイルを指定する第2のインデックスの値(上述のj)とが異なるという制限が課されている。
 (S131)
 次に、ステップS131において、画像復号装置31のピクチャ復号部32の予測画像生成部308は、ヘッダ情報復号部19が復号したタイル間参照可否情報からタイルオーダーを導出する。
 (S132)
 次に、ステップS132において、画像復号装置31のピクチャ復号部32のインター予測パラメータ復号部303は、ヘッダ情報復号部19が復号したタイル間参照可否情報を参照して、第2のタイルを参照できることを示しているか否かを判定することにより、参照可能なタイルが存在するか否かを判定する。タイル間参照可否情報が第2のタイルを参照できることを示している場合、ステップS134に進む。タイル間参照可否情報が第2のタイルを参照できないことを示している場合、処理を終了する。
 (S133)
 次に、画像復号装置31のピクチャ復号部32のインター予測パラメータ復号部303において、参照ピクチャリストに現在のピクチャを追加する。結果、第2のタイルが参照ピクチャリストに追加される。
 次に、別の具体例に係る画像符号化装置11によるパラメータセット設定方法について図32を参照して説明する。図32の(a)は、本具体例に係るパラメータセットの生成手順の例を示すシンタックステーブルである。図32の(b)は、本具体例に係る画像復号装置31による画像復号方法を説明するための図である(矢印は、対象ブロックから始まり参照ブロックを指している。)。
 図32の(a)が示すシンタックステーブルは、図28が示すシンタックステーブルと比較して、tile_order_idx[i]が削除されている。つまり、画像符号化装置11のヘッダ情報符号化部は、タイルオーダーインデックスを符号化しない。
 また、上述のステップS133の次の工程として、画像復号装置31のピクチャ復号部32の予測画像生成部308は、ステップS133の工程で生成した参照ピクチャリストを参照することにより、第2のタイルを参照できると判定したタイル間参照可否情報における第1のインデックスの値が指定する第1のタイルの対象ブロックの予測画像を優先的に生成する。
 以上の構成について、図32の(b)を参照して説明する。例えば、ヘッダ情報復号部19が復号したタイル間参照可否情報は、以下の式で示される。
tile_dependency_flag[0][1] = 1
tile_dependency_flag[2][1] = 1
tile_dependency_flag[3][4] = 1
tile_dependency_flag[5][4] = 1
上記以外の(i,j)の組み合わせのタイル間参照可否情報は0である。
 上記のタイル間参照可否情報の例では、上述のステップS133の次の工程において、画像復号装置31のピクチャ復号部32の予測画像生成部308は、第1のインデックスの値0又は2が指定する第1のタイルの対象ブロックにおいて、第2のタイルであるタイル1を用いた予測画像と、第1のインデックスの値3又は5が指定する第1のタイルの対象ブロックにおいて、第2のタイルであるタイル4を用いた予測画像とを優先的に生成する。また、このように、優先度が等しいタイルが複数存在する場合、予測画像生成部308は、ラスタ順で、複数のタイルの各対象ブロックの予測画像を生成してもよい(例えば、タイル1、タイル4の順で)。
 以上のように、本具体例に係る画像復号装置31は、上記タイル間参照可否情報復号部(ヘッダ情報復号部19)が復号した上記タイル間参照可否情報において、上記第1のタイルを指定する第1のインデックスの値は、上記第2のタイルを指定する第2のインデックスの値と異なるという制限が課されており、上記予測画像生成部(予測画像生成部308)は、上記タイル間参照可否情報における第2のインデックスの値が指定する第2のタイルを参照して第1のインデックスの値が指定する第1のタイルを優先的に復号する復号順で上記複数のタイルの各対象ブロックの予測画像を生成する。
 上記の構成によれば、タイル復号順インデックスを復号する必要がないため、当該インデックスの分の符号量を削減できる。
 (タイルポジションインデックスの設定方法)
 上記では各タイルの復号順序を示すタイルオーダーインデックスを用いて復号順序を通知する方法を説明したが、復号順序で並べられたタイルのピクチャ上の位置を用いてタイルの復号順序を通知する方法でもよい。
 図33(a)は、符号化データの構成とタイルポジションインデックスTilePosIDを説明する図である。映像の符号化データ上で、タイルの符号化データは、タイルオーダーインデックス順に配置される。既に説明したようにタイルポジションインデックスTilePosIDは、各タイルが画面内でどの位置に表示すべきかを示す情報であり、タイルポジションインデックスTilePosIDを復号することでピクチャ情報が判別される。図33(b)は、タイルポジションインデックスTilePosIDのピクチャ上の配置を示すものであり、この例ではラスタ順に配置される。また、各図の線は、各タイルの参照関係を示す。
 図34は、タイルポジションインデックスTilePosIDの符号化データの構成を示すシンタックステーブルの例である。図34の(a)は、タイル間に依存関係があるか否かを示すフラグcurr_tile_dependency_flagを通知し、curr_tile_dependency_flagが1の場合に、タイル復号順序の順で、各タイルのタイルポジションインデックスTilePosID[i]を通知する。また、各タイルの個々の依存関係を示すtile_dependency_flag[][]を次いで通知してもよい。図34の(b)は、各タイルの個々の依存関係を示すtile_dependency_flag[] []を通知して、既に説明したようにtile_dependency_flag[][]からタイル間に依存関係があるか否かを示すフラグcurr_tile_dependency_flagを導出する。導出したcurr_tile_dependency_flagが1の場合に、タイル復号順序の順で、各タイルのタイルポジションインデックスTilePosID[i]を通知する。
 画像符号化装置11のヘッダ情報符号化部(タイルポジション情報符号化部)は、タイル間に依存がある場合にタイルポジション情報を符号化する。画像復号装置31のヘッダ情報復号部19(タイルポジション情報復号部)は、タイル間に依存がある場合に画像符号化装置11が符号化したタイルポジション情報を復号する。
 なお、タイルポジション情報として、タイルポジションインデックスの代わりにタイルの左上座標を通知する構成にしてもよい。図35は、タイル間に依存関係がある場合に、タイルの左上座標tile_position_x、tile_position_yを通知する例を示すシンタックステーブルである。すでに説明したようにタイル間に依存関係があることを示すフラグを復号(図35の(a))しても良いし、導出してもよい(図35の(b))。なお、位置は、1ピクセルごとによらず2ピクセル単位や4ピクセル単位としてもよい。
 (現ピクチャ参照とタイル間参照)
 現ピクチャ参照が利用可能であるかを示すフラグpps_curr_pic_ref_enabled_flagに応じて、タイルの依存関係を通知してもよい。図36は、pps_curr_pic_ref_enabled_flagが1である場合に、タイル間参照可否情報を通知するシンタックス構成を示す。
 画像符号化装置11のヘッダ情報符号化部(タイルポジション情報符号化部)は、pps_curr_pic_ref_enabled_flagが1の場合にタイル間参照可否情報を符号化する。画像復号装置31のヘッダ情報復号部19(タイルポジション情報復号部)は、pps_curr_pic_ref_enabled_flagが1の場合に画像符号化装置11が符号化したタイル間参照可否情報を復号する。
 図36の(a)は、さらにpps_curr_pic_ref_enabled_flagが1である場合に、タイルオーダーインデックスを通知するシンタックス構成を示す。図36の(b)は、さらにpps_curr_pic_ref_enabled_flagが1である場合に、タイルポジションインデックスを通知するシンタックス構成を示す。
 画像符号化装置11のヘッダ情報符号化部(タイルポジション情報符号化部)は、pps_curr_pic_ref_enabled_flagが1の場合にタイルポジション情報を符号化する。画像復号装置31のヘッダ情報復号部19(タイルポジション情報復号部)は、pps_curr_pic_ref_enabled_flagが1の場合に画像符号化装置11が符号化したタイルポジション情報を復号する。なお、タイルポジション情報は、タイルポジションインデックスでもよいし、タイル左上座標でもよい。
 上記の構成では、現ピクチャ参照が利用可能である場合に、タイル間参照可否情報を符号化することにより、別のタイルを参照するタイルを超えて可能となる。すなわち、タイル間での現ピクチャ参照が可能となる。
 (参照ブロックの制限例(ビュー画像の参照制限))
 本例においては、予測画像生成部308が、対象ブロックの予測画像を生成する予測画像生成処理において、参照するビュー画像を制限する例について説明する。なお便宜上、上述した部材と同じ機能を有する部材については、同じ符号を付記し、説明を省略する。
 本例においても、図13の機能ブロック図に示す構成を用いる。ただし、画像復号装置31が備える各部材は、以下、本例において記載する処理を行う機能を有する。
 図38は、ビュー画像の予測画像を生成する場合に、参照可能なビュー画像の例を示す図である。図38に示す例においては、ピクチャ58のビュー0に含まれる対象ブロックを生成する予測画像生成処理において、上記ビュー0以前に復号されたビュー画像(ここではピクチャ57のビュー1)に含まれるブロックへの参照が禁止されている。つまり、ビューiに含まれるブロックは、復号順で以前に復号されたビュー画像を参照する場合、ビューj(j<=i)を参照することはできるが、ビューh(h>i)を参照することはできない。なお、h,i及びjは0以上の整数である。また、対象ブロックを生成する予測画像生成処理においては、図38の矢印に示すような、参照ブロックを特定する為のベクトル(動きベクトル)を利用する。
 図39は、予測画像生成処理において参照するブロックを指すベクトルをクリップする例を示す図である。予測画像生成部308が、ビュー0の予測画像生成処理を行う場合において、動きベクトルが、参照が禁止されるビュー1を指している場合に、上記動きベクトルを利用範囲内にクリップし、参照先となるビュー画像を補正する。
 クリップした動きベクトルのy方向(垂直方向)成分であるmvLX[1]を以下に示す。
yPb + mvLX[1] + nPbH-1 < view_position_y[view_id] + view_height[view_id]
である為、クリップ処理は、
mvLX[1] = Clip3 (0, view_position_y[view_id] + view_height[view_id]- yPb -nPbH+1, mvLX[1])
となる。
ただし、view_position_y[view_id]とview_height[view_id]は、view_idをもつビュー画像の開始(左上)y座標と高さを、yPbとnPbHは、対象ブロックの左上座標と高さを、それぞれ意味する。また、Clip3(x,y,z)は、z<xである場合にxを、z>yである場合にyを、その他の場合にはzを返す関数である。
 また、以下のようにx方向(水平方向)のクリップを更に行う構成でもよい。
mvLX[0] = Clip3 (0, view_position_x[view_id] + view_width[view_id] - xPb - nPbW+1, mvLX[0])
ただし、mvLX[0]は動きベクトルのx方向成分を、view_position_x[view_id]とview_width [view_id]は、view_idをもつビュー画像の開始(左上)x座標と幅を、それぞれ意味する。
 ビュー画像の参照を制限する場合に動きベクトルをクリップする構成に変えて、当該動きベクトルが、参照が禁止されたビュー画像の画素を指している場合に、上記画素を参照が禁止されていないビュー画像の画素に置き換える、つまりパディング処理を行う構成でもよい。なお、当該パディング処理は、補間画像生成の参照位置を利用範囲内にクリッピングする処理を意味する。
 予測画像生成部308が、ビューiの予測画像生成処理を行う場合において参照が可能な範囲(利用範囲)は以下の通りである。
xMin = 0, yMin = 0
xMax = min(pic_width_in_luma_samples-1, view_position_x[i] + view_width[i]-1)
yMax = min(pic_height_in_luma_samples-1, view_position_y[i] + view_height[i]-1)ただしxMin及びxMaxは、x方向(水平方向)の参照制限範囲(利用範囲)を表す変数であり、yMin及びyMaxは、y方向(垂直方向)の参照制限範囲(利用範囲)を表す変数である。また、pic_width_in_luma_samplesは、輝度画像の幅を示すシンタックスであり、pic_height_in_luma_samplesは、輝度画像の高さを示すシンタックスである。
 なお、ピクチャに垂直方向にフレームパッキングが施されている場合は、垂直方向に関する処理だけを行えば足りる。上記の場合においては、
yMin = 0
yMax = min(pic_height_in_luma_samples-1, view_position_y[i] + view_height[i]-1)となる。
 参照元の画素である対象画素からi,jだけシフトした位置の、参照先の画素である参照画素を参照する場合、動きベクトルmvLXの整数部分をxInt, yIntとして導出し、以下の参照位置xRef, yRefの画素を用いる。
xInt = xPb + (mxLX[0] >> mvshift) + xL
yInt = yPb + (mxLX[1] >> mvshift) + yL
xRef = Clip3( xMin, xMax, xInt + i)
yRef = Clip3( yMin, yMax, yInt + j)
ただし、xPb,yPbは、PU(Prediction Unit)の左上座標を、mvshiftは、動きベクトルの精度が1/(2^mvshift)ペル(pel)であることを示す定数を、xL, yLはPU内の座標(xL=0..nPbW-1, yL=0..nPbH-1)をそれぞれ意味する。ここでClip3関数を用いて、参照位置を利用範囲内に置き換える処理が、パディング処理の実体である。
 図40は、本例に係るパディング処理の一例を示す図である。予測画像生成部308が、ビュー0(ビュー画像62)の予測画像を生成する過程において動き補償画像生成(補間画像生成)を行う場合には、ピクチャ61に示すように、参照が禁止される領域(縦あるいは横線で示した領域)のブロックを、参照が可能な領域(白領域)のブロックによりパディングする。
 このように本例に係る画像復号装置31は、画像の符号化データを復号する画像復号装置31であって、予測画像を生成する予測画像生成部308を備え、上記予測画像生成部308は、対象ブロックの予測画像を生成する予測画像生成処理において対象ブロックの動きベクトルで指示される参照位置の参照ピクチャ上の情報を参照する場合に、上記動きベクトルを利用範囲内にクリップ(変更)してから上記参照ピクチャの情報を参照するか、又は上記対象ブロックの動きベクトルで指示される参照位置を利用範囲内にクリップ(変更)して生成することにより情報を参照するかによって、上記対象ブロックから、所定のビューに含まれる参照ピクチャ上の情報への参照を制限する。
 上記の構成によれば、予測画像生成処理においてインター予測を行う場合に、予測画像生成部308が、参照不可の領域を参照することを防止する効果を奏する。
 (イントラブロックコピーに係る参照例1)
 本例においては、予測画像生成部308が、対象ブロックの予測画像を生成する予測画像生成処理において参照する参照ブロックを制限する例について説明する。なお便宜上、上述した部材と同じ機能を有する部材については、同じ符号を付記し、説明を省略する。
 本例においても、図13の機能ブロック図に示す構成を用いる。ただし、画像復号装置31が備える各部材は、以下、本例において記載する処理を行う機能を有する。
 本例に係る画像復号装置31が備える予測画像生成部308は、イントラブロックコピーを用いて対象ブロックの予測画像を生成することができる。イントラブロックコピーとは、生成する対象ブロックが属するピクチャ内において、既に復号済みの領域に含まれる参照ブロックを参照することにより対象ブロックを生成する技術である。イントラブロックコピーを用いて予測画像を生成することをイントラブロックコピー予測という。イントラブロックコピー予測は、対象ブロックとは異なるピクチャを参照するインター予測と同様に、参照ブロックを特定する為にベクトルを利用する。なおイントラブロックコピー(IBC)は、参照ピクチャとして対象ピクチャ自身を指定することで実現できることから、現ピクチャ参照current picture referencing(CPR)とも呼ばれる。
 図41は、予測画像生成部308が参照可能なブロックの一例を示す図である。ピクチャ63にフレームパッキングされたビュー画像のうち、ビュー0は、復号済みのビュー画像であって、ビュー1は復号途中のビュー画像である。イントラブロックコピーを用いてビュー1に含まれる対象ブロックを生成する予測画像生成処理においては、予測画像が参照可能なブロックを、ビュー0に含まれる参照ブロックに制限する。図41に示す一例においては、予測画像生成部308が、対象ブロック63aの予測画像生成処理を行う場合、参照ブロック63bは参照可能であるが、ブロック63cは参照が禁止される。
 このように上記予測画像生成部308は、当該参照ブロックを、復号済みのビューに含まれる参照ブロックに制限する。
 上記の構成によれば、予測画像生成部308が参照する領域を制限し、先読みがし易くなる。また、復号したブロックをすぐさま参照することを防ぎ、メモリアクセスの増加を抑制する効果を奏する。
 (イントラブロックコピーに係る参照例2)
 本例においては、予測画像生成部308が、対象ブロックの予測画像を生成する予測画像生成処理において、参照する参照ブロックを制限する例について説明する。なお便宜上、上述した部材と同じ機能を有する部材については、同じ符号を付記し、説明を省略する。
 本例においても、図13の機能ブロック図に示す構成を用いる。ただし、画像復号装置31が備える各部材は、以下、本例において記載する処理を行う機能を有する。
 図42は、予測画像生成部308が参照可能なブロックの一例を示す図である。イントラブロックコピーを用いてビュー1に含まれる対象ブロックを生成する予測画像生成処理においては、予測画像生成部308が参照可能なブロックを、ビュー0に含まれる参照ブロックであって、当該対象ブロックに対応する位置に存在する参照ブロックと、上記参照ブロックを中心とした所定の範囲内に位置する参照ブロックに制限する。図42に示す一例においては、予測画像生成部308が、ビュー1に含まれる対象ブロック64aの予測画像生成処理を行う場合、ビュー0上の対象ブロック64aに対応する参照ブロック及び上記参照ブロックを中心とした所定の範囲の領域64bは参照可能であるが、ビュー0上のブロック64c及びビュー1上のブロック64dは参照が禁止される。ここで、領域64bは、当該対象画素が存在するビューより小さいview_idをもつビューにおける参照ブロックであって、当該対象ブロックに対応する位置に存在する参照ブロックを中心とした所定の範囲内を意味する。
 具体的には、予測画像生成部308が、ビュー1に含まれる対象ブロックの予測画像生成処理を行う場合において、動きベクトルが、参照が禁止される領域を指している場合に、上記動きベクトルを利用範囲内にクリップ(補正)する。すなわち、
mvLX[0] = Clip3(-MVRange2, MVRange2 -1, mvLX[0])
mvLX[1] = Clip3(-view_height[1]-MVRange2, -view_height[1]+MVRange2-1, mvLX[1])
 ただし、MVRange2は、参照を許容する範囲の大きさを示す変数である。なお、上記のクリッピングは、当該対象画素が存在するビューより小さいview_idであるビュー0における参照ブロックであって、当該対象ブロックに対応する位置に存在する参照ブロックの左上位置が、(0, -view_height[1])、右下位置が(nPbW, -view_height[1] + nPbH)を中心とした範囲で制限されている。中心範囲のオフセットを仮に(xCtr, yCtr)と置けば上記制限は
mvLX[0] = Clip3(xCtr -MVRange2, xCtr+MVRange2-1, mvLX[0])
mvLX[1] = Clip3(yCtr -MVRange2, yCtr+MVRange2-1, mvLX[1])
のように表現できる。上記では上下左右で同じ範囲MVrange2を利用しているが、上、下、左、右で異なる範囲としてもよい(例えば、MVrange2U, MVrange2D, MVrange2L, MVRange2R)。
mvLX[0] = Clip3(-MVRange2L, MVRange2R-1, mvLX[0])
mvLX[1] = Clip3 (-view_height[0]-MVRange2U, -view_height[0]+MVRange2D-1, mvLX[1])
 このように上記予測画像生成部308は、当該動きベクトルを、当該対象画素が存在するビューより小さいview_idをもつビューにおける参照ブロックであって、当該対象ブロックに対応する位置に存在する参照ブロックを中心とした所定の範囲内に動きベクトルの参照画素が位置するように動きベクトルを制限する。
 また、参照ブロックの制限例において上述したように、動きベクトルが、参照が禁止された領域を指している場合に、上記領域を参照が禁止されていない領域(利用範囲内)に置き換える、つまりパディング処理を行う構成でもよい。
 参照元の画素である対象画素からi,jだけシフトした位置の、参照先の画素である参照画素を参照する場合、以下の参照位置xRef, yRefの画素を用いる。
xMin = max(0, xPb-MVRange2)
yMin = max(0, yPb-view_height[1]-MVRange2)
xMax = min(pic_width_in_luma_samples-1, xPb+nPbW+MVRange2-1)
yMax = min(pic_height_in_luma_samples-1,yPb-view_height[1]+nPbH+MVRange2-1)
xRef = Clip3( xMin, xMax, xInt + i)
yRef = Clip3( yMin, yMax, yInt + j)
 ここでClip3関数を用いて、参照位置を利用範囲内に置き換える処理が、パディング処理の実体である。
 このように上記予測画像生成部308は、当該参照画素を、当該対象画素が存在するビューより小さいview_idをもつビューにおける参照ブロックであって、当該対象ブロックに対応する位置に存在する参照ブロックを中心とした所定の範囲内に位置する参照画素に制限する。
 上記の構成によれば、予測画像生成部308が参照する領域を制限し、先読みをし易くすることにより、メモリアクセスの増加を抑制する効果を奏する。
 (イントラブロックコピーに係る参照例3)
 本例においては、予測画像生成部308が、対象ブロックの予測画像を生成する予測画像生成処理において、参照する参照ブロックを制限する例について説明する。なお便宜上、上述した部材と同じ機能を有する部材については、同じ符号を付記し、説明を省略する。
 本例においても、図13の機能ブロック図に示す構成を用いる。ただし、画像復号装置31が備える各部材は、以下、本例において記載する処理を行う機能を有する。
 図43は、予測画像生成部308が参照可能なブロックの一例を示す図である。予測画像生成部308による予測画像生成処理であって、イントラブロックコピーを用いてビュー1に含まれる対象ブロックの予測画像を生成する予測画像生成処理においては、予測画像が参照可能なブロックを、イントラブロックコピーに係る参照例2に記載した領域と、当該対象ブロックと同じビューの、同じコーディングツリーブロック(CTU)ラインに属する参照ブロックとに制限する。図43に示す一例においては、予測画像生成部308が、対象ブロック65aの予測画像生成処理を行う場合、ビュー0上の参照ブロック65b及びビュー1上の65eは参照可能であるが、ビュー0上のブロック65c及びビュー1上の65dは参照が禁止される。
 図44は、本例に係る、動きベクトルのクリッピング処理と、パディング処理との一例を示す図である。ただし、図44中、xCtbは対象ブロックが属するCTUの左上のx座標を、yCtbは、上記CTUの左上のy座標、ctb_width[i], ctb_heightはビューiのCTUの幅と高さ、view_width[i], view_height[i]は、ビューiの幅と高さをそれぞれ意味する。
 (a)は、本例に係る、動きベクトルのクリッピング処理の一例を示すシンタックステーブルである。予測画像生成部308が、ビュー1の対象ブロックの予測画像生成処理を行う場合においては、(a)に示す処理により、動きベクトルが、参照が禁止されるブロックを指している場合に、上記動きベクトルをクリップし、参照先となるブロック位置を補正する。
 また、動きベクトルが、参照が禁止された領域を指している場合に、上記ブロックを参照が禁止されていない領域に置き換える、つまりパディング処理を行う構成でもよい。
 (b)は本例に係るパディング処理の一例を示すシンタックステーブルである。参照元の画素である対象画素からi,jだけシフトした位置の、参照先の画素である参照画素を参照する場合、(b)に示す参照位置xRef, yRefの画素を用いる。
 このように上記予測画像生成部308は、当該参照ブロックを、イントラブロックコピーに係る参照例2に記載した領域と、当該対象ブロックが存在するビューに属する参照ブロックであって、当該対象ブロックと同じコーディングツリーブロックラインに属する参照ブロックとに制限する。
 上記の構成によれば、予測画像生成部308は、ラインメモリへの格納が可能である参照ブロックを参照する為、復号処理の遅延を抑制する効果を奏する。
 上述のイントラブロックコピーに係る参照例1~3を総括すると、画像復号装置31は、画像の符号化データを復号する画像復号装置31であって、同一ビュー内におけるブロックを参照するイントラブロックコピーを用いて予測画像を生成する予測画像生成部308を備え、上記予測画像生成部308は、対象ブロックの予測画像を生成する予測画像生成処理において参照する参照ブロックを、当該対象ブロックが存在するビューより小さいview_idをもつビューにおける参照ブロック、当該対象ブロックが存在するビューより小さいview_idをもつビューの所定の領域における参照ブロック、又は当該対象ブロックが存在するビューにおける所定の領域における参照ブロックに制限する。
 上記の構成によれば、予測画像生成部308が参照する領域を制限し、先読みをし易くすることにより、メモリアクセスの増加を抑制する効果を奏する。
 (参照ブロックの制限例(タイル画像の参照制限))
 本例においては、上述のタイル画像の参照制限と同様に、予測画像生成部308が、対象ブロックの予測画像を生成する予測画像生成処理において、参照するタイル画像を制限する具体例について説明する。なお、本例においても、図13の機能ブロック図に示す構成を用いる。そして、便宜上、上述した部材と同じ機能を有する部材については、同じ符号を付記し、説明を省略する。
 まず、例えば、上述のステップS121で画像復号装置31のヘッダ情報復号部19がタイル間参照可否情報を復号した後に、画像復号装置31のピクチャ復号部32の予測画像生成部308は、ステップS122において、当該タイル間参照可否情報が、第2のタイルを参照できることを示しているか否かを判定する。当該タイル間参照可否情報が、第2のタイルを参照できることを示している場合、参照ピクチャリストに現在のピクチャを追加することにより、参照可能な第2のタイルを含む参照ピクチャリストを生成する。
 次に、参照ピクチャリストを用いて参照ピクチャを特定する処理において、現在のピクチャを参照する際に、参照できないタイルへの参照を制限するために、予測画像生成部308(クリッピング部を兼ねる)は、参照位置を第2のタイルの範囲にクリッピングする。具体的には、参照位置が参照可能範囲を超える場合には、その参照位置を参照可能な最近傍の画素の位置に置き換える。
 そして、予測画像生成部308は、参照位置を置き換えることで第2のタイルの範囲を参照して第1のタイルの対象ブロックの予測画像を生成する(上述のイントラブロックコピー等)。
 図47は、タイル画像の予測画像を生成する場合に、参照位置を置き換える例を示す図である。図47に示す例におけるタイル間参照可否情報を以下に示す。
tile_dependency_flag[2][0] = 1
tile_dependency_flag[2][1] = 0 のとき、
 上記の式のように、タイル間参照可否情報は、タイル2(第1のタイル)の対象ブロックを予測する際に、タイル0(第2のタイル)を参照できることを示している。そのため、予測画像生成部308は、上述のステップS123を実行する前に、参照位置を、参照可能な範囲(図47の太枠)の位置に置き換える。そして、上述のステップS123の代わりに、予測画像生成部308は、参照可能なタイル0の画素を参照してタイル2の対象ブロックの予測画像を生成する。
 以下に、本具体例における予測画像生成部308による参照位置設定の式(上述のClip3関数)を示す。
x = Clip3(xTs, xTs + wT - 1 - blkW, x)
y = Clip3(yTs, yTs + hT - 1 - blkH, y)
 上記の式において、各記号の意味は以下の通りである。
タイルの左上座標:(xTs,yTs) = (xTs[TileId], yTs[TileId])
タイルの幅 :wT = wT[TileId]
タイルの高さ:hT = hT[TileId]
ブロック幅 :blkW
ブロック高さ:blkH
 なお、上記、参照位置の置き換えのことを参照位置のクリッピングと呼んでもよい。この場合、参照可能なタイルの範囲に、参照位置をクリッピングする処理と呼べる。
 また、複数のタイルが参照可能である場合も想定される。そこで、以下に、上記の参照位置設定の式を一般化したものを示す。以下の式では、参照位置(x, y)を置き換える処理を、参照可能なタイルの数だけ繰り返す。
for (j = 0; j < currTileOrderId; j++){
  if ( tile_dependency_flag[ currTileOrderId ][ j ] )
  {
   x = Clip3(xTs[j], xTs[j] + wT[j] - 1 - blkW, x)
   y = Clip3(yTs[j], yTs[j] + hT[j] - 1 - blkH, y)
  }
}
 ここでcurrTileOrderIdは、現在のタイルのタイルオーダーインデックスを示す。上記の構成は、参照先のタイルのタイルオーダーインデックスが現タイルのタイルオーダーインデックス未満である制限がある場合に適する。制限がない場合には、タイル数NumTileでループする以下の処理でよい。
for (j = 0; j < NumTile; j++){
  if ( j != currTileOrderId ) // この行はあってもなくても良い
    if ( tile_dependency_flag[ currTileOrderId ][ j ] )
    {
      x = Clip3(xTs[j], xTs[j] + wT[j] - 1 - blkW, x)
      y = Clip3(yTs[j], yTs[j] + hT[j] - 1 - blkH, y)
    }
}
 ここでNumTile = (num_tile_columns_minus1 + 1) * (num_tile_rows_minus1 + 1)
 上記の各式において、予測画像生成部308は、タイル間参照可否情報が第2のタイルを参照できることを示していると判定する度に、第2のタイルの範囲に参照位置の範囲を設定する。そして、画像符号化装置11では、参照可能範囲において、動きベクトル探索を行ってもよい。
 また、複数のタイルが参照可能である場合には参照位置の変更量は最小限であることが望ましい。以下の式では、参照位置(x, y)を置き換える処理の前後で参照位置の変化が最小になるように参照位置を置き換える処理を行う。
distMin = 2^31  // 十分に大きな適当な定数
for (j = 0; j < currTileOrderId; j++){
  if ( tile_dependency_flag[ currTileOrderId ][ j ] )
  {
   xt = Clip3(xTs[j], xTs[j] + wT[j] - 1 - blkW, x)
   yt = Clip3(yTs[j], yTs[j] + hT[j] - 1 - blkH, y)
   distTmp = |xt - x| + |yt - y|
  }
  if (distTmp < distMin) {
   distMin = distTmp
   bestX = xt
   bestY = yt
  }
}
x = bestX
y = bestY
 タイルのループ変数jの範囲は、0..currTileOrderId-1ではなく、0..NumTile-1でもよい。上記では、各タイルjに参照範囲を制限する場合の参照位置の変化量distTmpを導出し、その変化量が最小となる場合の参照位置(bestX, bestY)を最終的な参照位置(x, y)とする。参照位置の変化量は、絶対値距離によらず下記の2乗距離等を用いてもよい。
   distTmp = |xt - x|^2 + |yt - y|^2
 ここで^2は2乗を示す。
 以上のように、本具体例に係る画像復号装置31は、タイル参照可否情報が第2のタイルを参照できることを示している場合、参照位置を第2のタイルの範囲にクリッピングするクリッピング部(予測画像生成部308が兼ねる)をさらに備え、予測画像生成部(予測画像生成部308)は、上記クリッピング部がクリップした上記第2のタイルの範囲を参照して上記第1のタイルの予測画像を生成する。
 後述する、参照ピクチャリストへの現ピクチャの追加方法のように、現ピクチャタイル間に依存関係がある場合には参照ピクチャリストに現在のピクチャ(currPic)を追加する。しかしながら、依存関係にないタイルを参照する恐れがある。依存関係にないタイルは参照メモリに保持されないことがあるため、復号できるとは限らず。また、メモリバンド上にも復号する場合には必要以上の負荷が生じる。そこで、上記の本具体例に係る構成によれば、予め参照可能なタイルの画素を参照することができるので、依存関係のないタイルを誤って参照することがなく限られた負荷において確実に画像の復号ができる。
 (画素参照処理の具体例(タイル画像に対する画素参照処理))
 本例においては、予測画像生成部308が、タイル画像に対して画素参照処理を行う具体例について説明する。なお、本例においても、図13の機能ブロック図に示す構成を用いる。そして、便宜上、上述した部材と同じ機能を有する部材については、同じ符号を付記し、説明を省略する。
 まず、例えば、予測画像生成部308は、上述のステップS120~ステップS123のように第1のタイルの対象ブロックを予測する際に動き補償画像生成(補間画像生成)を行う場合、タイル間参照可否情報により参照が禁止されている領域を参照する場合には、参照が可能な領域の画素を代わりに参照する。例えば、参照不可能なタイルの代わりに、参照可能なタイルの画素を参照する。
 図48は、本具体例に係る予測画像生成部308による画素参照処理の例を示す図である。タイル0は、タイル間参照可否情報が参照できることを示している第2のタイルに相当する。タイル1及びタイル2は、タイル間参照可否情報が参照できないことを示している第2のタイルに相当する。図48が示す例では、予測画像生成部308は、タイル間参照可否情報により参照が禁止されている領域を参照する場合に、参照可能な領域の画素を参照するような画素参照処理を行う。例えば、参照が可能な領域のタイルであるタイル0を参照する。そして、予測画像生成部308は、参照ピクチャメモリ306に記憶された参照ピクチャリストに現ピクチャcurrPicを格納する(本実施形態における参照ピクチャリストの詳細については後述する)。
 以下で、図49を参照して、画素参照処理のより具体的な例を示す。図49の(a)~(c)は、それぞれ、本具体例に係る予測画像生成部308による画素参照処理のより具体的な例を示す図である。図49の(a)~(c)の例におけるタイル間参照可否情報は、以下の式で示される。
tile_dependency_flag[5][0] = 1
tile_dependency_flag[5][4] = 1
tile_dependency_flag[5][ i] = 0 (i = 1,2,3) のとき、
 上記の式が示すように、図49が示す例では、タイル5が第1のタイルであり、タイル0及び4が、参照可能なタイルである。
 図49の(a)が示す例において、タイル5(第1のタイル)の対象ブロックを予測する際に、予測画像生成部308(置換部を兼ねる)は、タイル間参照可否情報がタイル1、2又は3(横縞のタイル)(第2のタイル)のブロックを参照できないことを示している場合、タイル1、2又は3の画素値を所定の値(例えば128)に置換する。そして、予測画像生成部308は、画素値を置換したタイル1、2又は3(横縞のタイル)の参照ブロックを参照してブロック5の対象ブロックの予測画像をさらに生成する(より詳細には、当該工程の前に、参照ピクチャリストに現ピクチャを格納する)。
 上記の構成によれば、依存関係にないタイルのブロックを参照ブロックとして扱うことができ、参照制限を回避することができる。従って、ビュー画像を効率的に復号することができる。
 また、図49の(b)が示す例において、タイル5(第1のタイル)の対象ブロックを予測する際に、予測画像生成部308は、タイル間参照可否情報がタイル1、2又は3(第2のタイル)のブロックを参照できないことを示している場合、タイル1、2又は3の画素値の代わりに、別のタイル間参照可否情報が第2のタイルを参照できることを示しているタイル0又は4(別の第2のタイル)の画素値を参照して対象ブロックの予測画像をさらに生成する(より詳細には、当該工程の前に、参照ピクチャリストに現ピクチャを格納する)。
 上記の構成によれば、依存関係にないタイルのブロックを、依存関係のあるタイルのブロックに置き換えることで参照ブロックとして扱うことができ、参照制限を回避することができる。従って、ビュー画像を効率的に復号することができる。
 図49の(b)が示す例について図50を参照してさらに詳細に説明する。図50の(a)~(c)は、それぞれ、本具体例に係る予測画像生成部308による画素参照処理のさらに具体的な例を示す図である。
 図50の(a)が示す例において、例えば、タイル5(第1のタイル)の対象ブロックを予測する際に、予測画像生成部308は、現在処理している画素位置に相当する参照可能な何れかのタイル(タイル0(別の第2のタイル))の画素位置を参照し、その画素付近を探索する。この際、予測画像生成部308は、当該タイル(図ではタイル0)の周囲をパディングしてもよい。
 また、図50の(b)が示す例において、例えば、タイル5(第1のタイル)の対象ブロックを予測する際に、予測画像生成部308は、現在処理している画素位置に相当する参照可能な何れかのタイル(タイル4(別の第2のタイル))の画素位置を参照し、その画素付近を探索する。この際、予測画像生成部308は、当該タイル(図ではタイル4)の周囲をパディングしてもよい。
 また、図50の(c)が示す例において、例えば、タイル5(第1のタイル)の対象ブロックを予測する際に、予測画像生成部308は、参照ピクチャリストに格納する現ピクチャcurrPicに対して、現在処理している現ピクチャcurrPicのメモリとは別にメモリを用意し、参照不可能なタイル(タイル1、2、3及び5)を参照可能なタイル(タイル0又は4)のコピーで置換し、現在の画素付近を探索してもよい。
 また、上述の図49に戻って、図49の(c)が示す例において、タイル5(第1のタイル)の対象ブロックを予測する際に、予測画像生成部308(置換部を兼ねる)は、タイル間参照可否情報がタイル1、2又は3(第2のタイル)のブロックを参照できないことを示している場合、タイル1、2又は3の画素値を、別のタイル間参照可否情報が参照ブロックを参照できることを示しているタイル0又は4(別の第2のタイル)の画素値の平均値に置換する。そして、予測画像生成部308は、画素値を置換したタイル1、2又は3の参照ブロックを参照して対象ブロックの予測画像をさらに生成する(より詳細には、当該工程の前に、参照ピクチャリストに現ピクチャを格納する)。
 上記の構成によれば、依存関係にないタイルのブロックの画素値を、依存関係のあるタイルにおけるブロックの画素値の平均値に置き換えることで参照ブロックの画素値として扱うことができ、参照制限を回避することができる。従って、ビュー画像を効率的に復号することができる。
 図49の(c)が示す例について図51を参照してさらに詳細に説明する。図51の(a)及び(b)は、それぞれ、本具体例に係る予測画像生成部308による画素参照処理のさらに具体的な例を示す図である。
 図51の(a)が示す例において、例えば、タイル5(第1のタイル)の対象ブロックを予測する際に、予測画像生成部308は、現在処理している画素位置に相当する参照可能な何れかのタイル(タイル0)をタイル0及び4の平均に置き換えた上で参照し、その画素付近を探索してもよい。この際、予測画像生成部308は、当該タイル(タイル0)の周囲をパディングする。
 また、図51の(b)が示す例において、例えば、タイル5(第1のタイル)の対象ブロックを予測する際に、予測画像生成部308は、参照ピクチャリストに格納する現ピクチャcurrPicに対して、現在処理しているcurrPicのメモリとは別にメモリを用意し、参照不可能なタイル(タイル1、2、3及び5)を参照可能なタイル(タイル0及び4)の平均を用いたピクチャを参照ピクチャに用いてもよい。
 (ビットストリーム制限)
 以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
 〔応用例〕
 上述した画像符号化装置11及び画像復号装置31は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用することができる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像(CGおよびGUIを含む)であってもよい。
 まず、上述した画像符号化装置11及び画像復号装置31を、動画像の送信及び受信に利用できることを、図45を参照して説明する。
 図45の(a)は、画像符号化装置11を搭載した送信装置PROD_Aの構成を示したブロック図である。図45の(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を更に備えていてもよい。図45の(a)においては、これら全てを送信装置PROD_Aが備えた構成を例示しているが、一部を省略しても構わない。
 なお、記録媒体PROD_A5は、符号化されていない動画像を記録したものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化された動画像を記録したものであってもよい。後者の場合、記録媒体PROD_A5と符号化部PROD_A1との間に、記録媒体PROD_A5から読み出した符号化データを記録用の符号化方式に従って復号する復号部(不図示)を介在させるとよい。
 図45の(b)は、画像復号装置31を搭載した受信装置PROD_Bの構成を示したブロック図である。図45の(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を更に備えていてもよい。図45の(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を、動画像の記録及び再生に利用できることを、図46を参照して説明する。
 図46の(a)は、上述した画像符号化装置11を搭載した記録装置PROD_Cの構成を示したブロック図である。図46の(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を更に備えていてもよい。図46の(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の一例である。
 図46の(b)は、上述した画像復号装置31を搭載した再生装置PROD_Dの構成を示したブロックである。図34の(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を更に備えていてもよい。図46の(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が予測画像を生成する際に参照するタイルをタイル間参照可否情報に基づいて制限する方法は、当該画像復号装置31を用いない場合であっても、本実施形態に係る画像符号化装置11によるビットストリーム制限によって実現可能である。
 より詳細には、画像符号化装置11は、ビューを構成するタイルを符号化する画像符号化装置であって、上記タイルのうちの第1のタイルの対象ブロックを予測する際に、上記タイルのうちの第2のタイルを参照できるか否かを示すタイル間参照可否情報を符号化するタイル間参照可否情報符号化部(ヘッダ情報符号化部)と、上記タイル間参照可否情報が上記第2のタイルを参照できることを示している場合、上記第2のタイルを参照して上記対象ブロックの予測画像を生成する予測画像生成部(予測画像生成部101)と、を備え、上記予測画像生成部は、現ピクチャが参照ピクチャの場合において、上記第1のタイルに関する情報、及び、上記タイル間参照可否情報が参照できることを示したタイルに関する情報のみを参照して、上記タイルの各対象ブロックの予測画像を生成する。
 上記の構成によれば、タイル間参照可否情報で指定される参照可能なタイルを除いて、処理対象の第1のタイル以外のタイルのデータ(画素及び符号化パラメータ)を参照しないで予測画像を生成することができる。従って、最終的に符号化された符号化ストリームTeは、当該予測画像に基づいた符号化データを含み、当該符号化データを画像復号装置により復号することによって、参照可能なタイル及び処理対象のタイルのみを参照して生成された復号画像を生成することができる。
 (参照ピクチャリスト生成)
 上述のように、画像復号装置31は、タイル間参照可否情報におけるインデックスが指定した参照タイル(第2のタイル)のブロックを参照して対象ブロック(第1のタイルのブロック)の予測画像を生成する。その際に、画像復号装置31は、参照ピクチャメモリ306に格納された参照ピクチャリストから参照タイルを読み出す。以下では、この参照ピクチャリストの生成について図52を参照して説明する。図52は、本実施形態に係る参照ピクチャリストの生成を説明するフローチャート図である。
 (S140)
 まず、ステップS140において、画像復号装置31のヘッダ情報復号部19は、複数のタイルの復号順を指定する上述のタイルオーダーインデックス(タイル復号順インデックス)を復号する。
 (S141)
 次に、ステップS141において、画像復号装置31のヘッダ情報復号部19は、第1のタイルの対象ブロックを予測する際に第2のタイルを参照できるか否かを示す上述のタイル間参照可否情報を復号する。
 (S142)
 次に、ステップS142において、予測画像生成部308(判定部を兼ねる)は、タイル間参照可否情報を参照して、第1のタイルを含む現ピクチャが第2のタイルを、参照可能か否かを判定する。予測画像生成部308が、現ピクチャが参照可能なタイルが存在すると判定した場合、ステップS143に進む。予測画像生成部308が、現ピクチャが参照可能なタイルが存在しないと判定した場合、処理を終了する。
 (S143)
 次に、ステップS143において、予測画像生成部308は、参照ピクチャメモリ306に格納された参照ピクチャリストに現ピクチャを追加する。
 以上のように、本実施形態に係る画像復号装置31は、ビューを構成する複数のタイルを復号する画像復号装置であって、上記複数のタイルのうちの第1のタイルの対象ブロックを予測する際に、上記複数のタイルのうちの第2のタイルを参照できるか否かを示すタイル間参照可否情報を復号するタイル間参照可否情報復号部と、上記タイル間参照可否情報を参照して、現ピクチャを参照ピクチャリストに追加するか否かを判定する判定部と、上記判定部が上記現ピクチャを上記参照ピクチャリストに追加すると判定した場合、上記現ピクチャを上記参照ピクチャリストに追加する追加部と、を備えている。
 上記の構成によれば、タイル間参照可否情報を参照することにより、参照可能なピクチャを容易に特定でき、当該ピクチャを参照ピクチャリストに追加することができる。
 以下で、本実施形態に係る参照ピクチャリスト生成の具体例を説明する。例えば、予測画像生成部308(判定部を兼ねる)は、上述のステップS142において、タイル間参照可否情報が現タイルcurrTileIDの予測画像を生成する際に何れかのタイルjを参照することを示していると判定した場合、上述のステップS143において、参照ピクチャリストRefPicListTemp0に現ピクチャcurrPicを追加する。以下に当該構成の式を示す。
(j < iの制限が課されている場合(currTileOrderIdは上述のタイルオーダーインデックス))
 curr_tile_dependency_flag = 0
 for (j = 0; j < currTileOrderId; j++)
  curr_tile_dependency_flag += tile_dependency_flag[ currTileOrderId ][ j ]
(i != jの制限が課されている場合(currTileOrderIdがラスタ順である場合))
 curr_tile_dependency_flag = 0
 for (j = 0; j < NumTile; j++)
  if ( j != currTileOrderId ) // この行はあってもなくても良い
    curr_tile_dependency_flag += tile_dependency_flag[ currTileOrderId ][ j]
 上記の各例のように、予測画像生成部308は、ヘッダ情報復号部19が復号したタイル間参照可否情報tile_dependency_flag(タイル間参照可否情報)の各値を加算し、curr_tile_dependency_flagの値を算出する。curr_tile_dependency_flagの値が1以上であれば、第1のタイルは現在のピクチャ内のいずれかのタイルを、第2のタイルとして参照する。そして、予測画像生成部308(判定部を兼ねる)は、以下の式で示される参照ピクチャリストの導出を行う。
(参照ピクチャリスト導出(上記の各場合で共通))
 rIdx = 0
 while( rIdx < NumRpsCurrTempList0 )
 { 
   for( i = 0; i < NumPocStCurrBefore && rIdx < NumRpsCurrTempList0; rIdx++, i++ )
     RefPicListTemp0[ rIdx ] = RefPicSetStCurrBefore[ i ] 
   for( i = 0; i < NumPocStCurrAfter && rIdx < NumRpsCurrTempList0; rIdx++, i++ )
     RefPicListTemp0[ rIdx ] = RefPicSetStCurrAfter[ i ]
   for( i = 0; i < NumPocLtCurr && rIdx < NumRpsCurrTempList0; rIdx++, i++ )
     RefPicListTemp0[ rIdx ] = RefPicSetLtCurr[ i ]
   if( pps_curr_pic_ref_enabled_flag || curr_tile_dependency_flag )
     RefPicListTemp0[ rIdx++ ] = currPic
}
 ここでNumRpsCurrTempList0は、参照ピクチャリストの大きさ、NumPocStCurrBeforeとRefPicSetStCurrBeforeは、各々、現ピクチャより時間的に前の参照ピクチャの数と参照ピクチャのリスト、NumPocStCurrAfterとRefPicSetStCurrAfterは各々、現ピクチャより時間的に後の参照ピクチャの数と参照ピクチャのリスト、NumPocLtCurrとRefPicSetLtCurrは各々、長時間参照ピクチャの数と参照ピクチャのリストである。
 上記式で導出したRefPicListTemp0をL0の参照ピクチャリストRefPicList0として用いても良いし、以下の式のようにRefPicListTemp0からRefPicList0を導出しても良い。
for( rIdx = 0; rIdx <= num_ref_idx_l0_active_minus1; rIdx++ )
RefPicList0[ rIdx ] = ref_pic_list_modification_flag_l0 ? RefPicListTemp0[ list_entry_l0[ rIdx ] ] : RefPicListTemp0[ rIdx ]
ここでnum_ref_idx_l0_active_minus1はアクティブ参照ピクチャの数-1、ref_pic_list_modification_flag_l0は参照ピクチャリスト順序を入れ替えるかを示すフラグ、list_entry_l0[ rIdx ]は参照ピクチャリスト順序を入れ替える場合の順序を示す。
さらに、インデックスである。
さらに、RefPicList0に現ピクチャを追加する以下の処理を行ってもよい。
if( pps_curr_pic_ref_enabled_flag || curr_tile_dependency_flag && !ref_pic_list_modification_flag_l0 && NumRpsCurrTempList0 > ( num_ref_idx_l0_active_minus1 + 1
 ) )
RefPicList0[ num_ref_idx_l0_active_minus1 ] = currPic
 また、同様に、予測画像生成部308は、上述のステップS143において、RefPicListTemp0と同様に、L1の参照ピクチャリストRefPicList1を導出してもよい。以下に、当該参照ピクチャリストの導出の式を示す。
 rIdx = 0
 while( rIdx < NumRpsCurrTempList1 )
 { 
   for( i = 0; i < NumPocStCurrAfter && rIdx < NumRpsCurrTempList1; rIdx++, i++ )
     RefPicListTemp1[ rIdx ] = RefPicSetStCurrAfter[ i ]
   for( i = 0; i < NumPocStCurrBefore && rIdx < NumRpsCurrTempList1; rIdx++, i++ )
     RefPicListTemp1[ rIdx ] = RefPicSetStCurrBefore[ i ] 
   for( i = 0; i < NumPocLtCurr && rIdx < NumRpsCurrTempList1; rIdx++, i++ )
     RefPicListTemp1[ rIdx ] = RefPicSetLtCurr[ i ]
   if( pps_curr_pic_ref_enabled_flag || curr_tile_dependency_flag )
     RefPicListTemp1[ rIdx++ ] = currPic
}
 また、上記の式において、予測画像生成部308は、RefPicListTemp1をそのまま参照ピクチャリストRefPicList1としても良いし、 RefPicListTemp1を並べなおして参照ピクチャリストRefPicList1を導出してもよい。
for( rIdx = 0; rIdx <= num_ref_idx_l1_active_minus1; rIdx++) 
  RefPicList1[ rIdx ] = ref_pic_list_modification_flag_l1 ? RefPicListTemp1[ list_entry_l1[ rIdx ] ] : RefPicListTemp1[ rIdx ]
※RefPicListTemp0についても同様
 上記の式において、予測画像生成部308は、pps_curr_pic_ref_enabled_flagが1を示す場合、又は最終的なcurr_tile_dependency_flagが1以上の値を示す場合、現ピクチャcurrPicを参照ピクチャリストに追加する。
 以上のように、本具体例に係る画像復号装置31は、判定部(予測画像生成部308)は、タイル間参照可否情報のうちで、少なくとも1つ以上のタイル間参照可否情報が上記第2のタイルを参照できることを示している場合、上記現ピクチャを上記参照ピクチャリストに追加すると判定する。
 上記の構成によれば、タイル間参照可否情報を参照することにより、適切に元ピクチャを参照ピクチャリストに追加することができる。従って、予測画像を生成する際に、当該参照ピクチャリストを参照することにより、参照可能なタイルを参照することができる。よって、ビュー画像を効率的に復号することができる。
 また、別の例では、予測画像生成部308は、上述のステップS142において、curr_tile_dependency_flagが1以上を示していると判定した場合、上述のステップS143において、参照ピクチャリストの先頭に現ピクチャcurrPicを格納してもよい。以下に、予測画像生成部308による参照ピクチャリストRefPicListTemp0(RefPicList0)の導出の式を示す。
 rIdx = 0
 while( rIdx < NumRpsCurrTempList0 )
 { 
   if( curr_tile_dependency_flag )
     RefPicListTemp0[ rIdx++ ] = currPic
   for( i = 0; i < NumPocStCurrBefore && rIdx < NumRpsCurrTempList0; rIdx++, i++ )
     RefPicListTemp0[ rIdx ] = RefPicSetStCurrBefore[ i ] 
   for( i = 0; i < NumPocStCurrAfter && rIdx < NumRpsCurrTempList0; rIdx++, i++ )
     RefPicListTemp0[ rIdx ] = RefPicSetStCurrAfter[ i ]
   for( i = 0; i < NumPocLtCurr && rIdx < NumRpsCurrTempList0; rIdx++, i++ )
     RefPicListTemp0[ rIdx ] = RefPicSetLtCurr[ i ]
   if( pps_curr_pic_ref_enabled_flag && !curr_tile_dependency_flag )
     RefPicListTemp0[ rIdx++ ] = currPic
}
 上記の式に示すように、予測画像生成部308は、上述のcurr_tile_dependency_flagが1以上の値を示す場合、参照ピクチャリストの先頭に現ピクチャcurrPicを格納する。
 同様に、予測画像生成部308によるL1の参照ピクチャリストRefPicListTemp1(RefPicList1)でも以下の導出式を用いても良い。
rIdx = 0
 while( rIdx < NumRpsCurrTempList1 )
 { 
   if( curr_tile_dependency_flag )
     RefPicListTemp1[ rIdx++ ] = currPic
   for( i = 0; i < NumPocStCurrAfter && rIdx < NumRpsCurrTempList1; rIdx++, i++ )
     RefPicListTemp1[ rIdx ] = RefPicSetStCurrAfter[ i ]
   for( i = 0; i < NumPocStCurrBefore && rIdx < NumRpsCurrTempList1; rIdx++, i++ )
     RefPicListTemp1[ rIdx ] = RefPicSetStCurrBefore[ i ] 
   for( i = 0; i < NumPocLtCurr && rIdx < NumRpsCurrTempList1; rIdx++, i++ )
     RefPicListTemp1[ rIdx ] = RefPicSetLtCurr[ i ]
   if( pps_curr_pic_ref_enabled_flag && !curr_tile_dependency_flag )
     RefPicListTemp1[ rIdx++ ] = currPic
}
 以上のように、本具体例に係る画像復号装置31は、追加部(予測画像生成部308)は、上記現ピクチャを上記参照ピクチャリストの先頭に追加する。
 上記の構成によれば、タイル間参照可否情報を参照し、参照可能なタイルが存在する場合には、現ピクチャを参照ピクチャリストの先頭に追加することができ、予測画像を生成する際に、当該参照ピクチャリストを参照することにより、マルチビューにおいては似たようなシーンが現ピクチャcurrPicに存在するため、優先的に参照ピクチャとして用いることで符号化効率を向上させることができる。
  (ハードウェア的実現およびソフトウェア的実現)
 また、上述した画像復号装置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:登録商標)、携帯電話網、衛星回線、地上デジタル放送網等の無線でも利用可能である。なお、本発明の実施形態は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
 本発明の実施形態は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
<関連文献の参照>
 本願は、日本国特許出願(特願2017-250224(2017年12月26日出願))及び(特願2018-065877(2018年3月29日出願))に基づく優先権主張を伴うものであり、これらの文献は参照により本願明細書に取り込まれる。
 本発明の実施形態は、画像データが符号化された符号化データを復号する画像復号装置、および、画像データが符号化された符号化データを生成する画像符号化装置に好適に適用することができる。また、画像符号化装置によって生成され、画像復号装置によって参照される符号化データのデータ構造に好適に適用することができる。
1 画像伝送システム
9 復号モジュール
10、12、13 情報復号部
11 画像符号化装置
19 ヘッダ情報復号部(タイル復号順情報復号部)
20、22 復号部
21 ネットワーク
31 画像復号装置
32 ピクチャ復号部
33 ピクチャ分割部
41 画像表示装置
101、308 予測画像生成部
102、1123 減算部
103 量子化部
104 エントロピー符号化部
105、311 逆変換部
106、312、3038 加算部
107、305 ループフィルタ
108、307 予測パラメータメモリ
109、306 参照ピクチャメモリ
Te 符号化ストリーム

Claims (15)

  1.  画像の符号化ストリームを復号する画像復号装置であって、
     ヘッダ情報復号部と、
     ピクチャ復号部とを備え、
     上記ヘッダ情報復号部は、上記符号化ストリームのパラメータセットに含まれるビューパッキング情報であって、対象ピクチャに複数のビューが含まれているか否かを示すビューパッキング情報を復号し、
     上記ピクチャ復号部は、
      上記ビューパッキング情報により、複数のビューが垂直方向にフレームパッキングされたピクチャであると特定されたピクチャを復号することによって各々のビューを復号する
    ことを特徴とする画像復号装置。
  2.  上記ヘッダ情報復号部は、
      上記ビューパッキング情報に加え、上記符号化ストリームのパラメータセットに含まれる上記複数のビューそれぞれの開始位置を示す情報を復号する
    ことを特徴とする請求項1に記載の画像復号装置。
  3.  上記ピクチャ復号部は、
      上記ビューパッキング情報が、対象ピクチャを複数のビューに分割することを示している場合に、当該対象ピクチャを、ビュー毎に所定の符号化単位であるコーディングツリーユニットを走査して復号する
    ことを特徴とする請求項1に記載の画像復号装置。
  4.  上記ヘッダ情報復号部は、
      対象ビュータイルとは異なる各ビュータイルへの参照が可能か否かを示すビュー間参照可否情報を復号し、
     予測画像生成部は、
      対象ビュータイルに含まれる対象ブロックの予測画像を生成する予測画像生成処理において、上記ビュー間参照可否情報を参照して参照ブロックを特定する
    ことを特徴とする請求項1に記載の画像復号装置。
  5.  ビューを構成する複数のタイルを復号する画像復号装置であって、
     上記複数のタイルのうちの第1のタイルの対象ブロックを予測する際に、上記複数のタイルのうちの第2のタイルを参照できるか否かを示すタイル間参照可否情報を復号するタイル間参照可否情報復号部と、
     上記タイル間参照可否情報を参照して、現ピクチャを参照ピクチャリストに追加するか否かを判定する判定部と、
     上記判定部が上記現ピクチャを上記参照ピクチャリストに追加すると判定した場合、上記現ピクチャを上記参照ピクチャリストに追加する追加部と、を備えている
    ことを特徴とする請求項1に記載の画像復号装置。
  6.  画像の符号化データを復号する画像復号装置であって、
     同一ピクチャ内におけるブロックを参照するイントラブロックコピーを用いて予測画像を生成する予測画像生成部を備え、
     上記予測画像生成部は、
      参照ブロックを、復号済みのビューに含まれる当該参照ブロックに制限する
    ことを特徴とする画像復号装置。
  7.  上記予測画像生成部は、
      当該参照ブロックを、対象ブロックが存在するビュー以外のビューにおける参照ブロックであって、当該対象ブロックに対応する位置に存在する参照ブロックを中心とした所定の範囲内に位置する参照ブロックに制限する
    ことを特徴とする請求項6に記載の画像復号装置。
  8.  上記予測画像生成部は、
      当該参照ブロックを、対象ブロックが存在するビューに属する参照ブロックであって、
      当該対象ブロックと同じコーディングツリーブロックラインに属する参照ブロックに制限する
    ことを特徴とする請求項6に記載の画像復号装置。
  9.  画像の符号化ストリームを符号化する画像符号化装置であって、
     ヘッダ情報符号化部と、
     ピクチャ符号化部とを備え、
     上記ヘッダ情報符号化部は、上記符号化ストリームのパラメータセットに含まれるビューパッキング情報であって、対象ピクチャに複数のビューが含まれているか否かを示すビューパッキング情報を符号化し、
     上記ピクチャ符号化部は、
      上記ビューパッキング情報により、複数のビューが垂直方向にフレームパッキングされたピクチャであると特定されたピクチャを符号化することによって各々のビューを符号化する
    ことを特徴とする画像符号化装置。
  10.  ビューを構成するタイルを復号する画像復号装置であって、
     上記タイルのうちの第1のタイルの対象ブロックを予測する際に、上記タイルのうちの第2のタイルを参照できるか否かを示すタイル間参照可否情報を復号するタイル間参照可否情報復号部と、
     上記タイル間参照可否情報が上記第2のタイルを参照できることを示している場合、上記第2のタイルを含む参照ピクチャを参照して上記対象ブロックの予測画像を生成する予測画像生成部と、
     タイル復号順情報又はタイルポジション情報を復号するヘッダ情報復号部と、を備える
    ことを特徴とする画像復号装置。
  11.  上記ヘッダ情報復号部は、タイルの復号順を指定するタイル復号順インデックスを復号するタイル復号順情報復号部であり、
     上記タイル間参照可否情報復号部が復号した上記タイル間参照可否情報において、上記第1のタイルを指定する第1のインデックスの値は、上記第2のタイルを指定する第2のインデックスの値よりも大きいという制限が課されており、
     上記予測画像生成部は、上記第2のインデックスの値として上記タイル復号順インデックスの値が指定した第2のタイルを参照して、上記第1のインデックスの値として上記タイル復号順インデックスの値が指定した第1のタイルの対象ブロックの予測画像を生成することにより、上記タイル復号順インデックスが指定した上記復号順で上記タイルの各対象ブロックの予測画像を生成する
    ことを特徴とする請求項10に記載の画像復号装置。
  12.  上記タイル間参照可否情報復号部が復号した上記タイル間参照可否情報において、上記第1のタイルを指定する第1のインデックスの値は、上記第2のタイルを指定する第2のインデックスの値と異なるという制限が課されている
    ことを特徴とする請求項10に記載の画像復号装置。
  13.  上記タイル間参照可否情報が上記第2のタイルを参照できることを示している場合、参照位置を上記第2のタイルの範囲にクリッピングするクリッピング部をさらに備え、
     上記予測画像生成部は、上記クリッピング部がクリップした上記第2のタイルの範囲を参照して上記第1のタイルの上記対象ブロックの予測画像を生成する
    ことを特徴とする請求項10~12の何れか1項に記載の画像復号装置。
  14.  上記タイル間参照可否情報が上記第2のタイルを参照できないことを示している場合、上記第2のタイルの画素値を所定の値に置換する置換部をさらに備える
    ことを特徴とする請求項10~13の何れか1項に記載の画像復号装置。
  15.  ビューを構成するタイルを符号化する画像符号化装置であって、
     上記タイルのうちの第1のタイルの対象ブロックを予測する際に、上記タイルのうちの第2のタイルを参照できるか否かを示すタイル間参照可否情報を符号化するタイル間参照可否情報符号化部と、
     上記タイル間参照可否情報が上記第2のタイルを参照できることを示している場合、上記第2のタイルを参照して上記対象ブロックの予測画像を生成する予測画像生成部と、を備え、
     上記予測画像生成部は、タイル復号順インデックスで通知される符号化順で、上記タイルの各対象ブロックの予測画像を生成する
    ことを特徴とする画像符号化装置。
PCT/JP2018/047887 2017-12-26 2018-12-26 画像復号装置及び画像符号化装置 WO2019131778A1 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2017-250224 2017-12-26
JP2017250224 2017-12-26
JP2018-065877 2018-03-29
JP2018065877 2018-03-29

Publications (1)

Publication Number Publication Date
WO2019131778A1 true WO2019131778A1 (ja) 2019-07-04

Family

ID=67066440

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/047887 WO2019131778A1 (ja) 2017-12-26 2018-12-26 画像復号装置及び画像符号化装置

Country Status (1)

Country Link
WO (1) WO2019131778A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210385437A1 (en) * 2019-02-02 2021-12-09 Beijing Bytedance Network Technology Co., Ltd. Prediction using extra-buffer samples for intra block copy in video coding

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012516114A (ja) * 2009-01-26 2012-07-12 トムソン ライセンシング ビデオ符号化のためのフレーム・パッキング
JP2013534782A (ja) * 2010-06-28 2013-09-05 シズベル テクノロジー エス.アール.エル. 2次元にも対応する立体映像フローのデコード方法
US20150098507A1 (en) * 2013-10-04 2015-04-09 Ati Technologies Ulc Motion estimation apparatus and method for multiview video

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012516114A (ja) * 2009-01-26 2012-07-12 トムソン ライセンシング ビデオ符号化のためのフレーム・パッキング
JP2013534782A (ja) * 2010-06-28 2013-09-05 シズベル テクノロジー エス.アール.エル. 2次元にも対応する立体映像フローのデコード方法
US20150098507A1 (en) * 2013-10-04 2015-04-09 Ati Technologies Ulc Motion estimation apparatus and method for multiview video

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ALIREZA, AMINLOU ET AL.: "AHG8: Requirements and proposed method for viewport-adaptive quality assessment", JOINT VIDEO EXPLORATION TEAM (JVET) OF ITU-T SG 16 WP 3- JVET-E0107, no. JVET-E0107, 12 January 2017 (2017-01-12) - 20 January 2017 (2017-01-20), Geneva, CH, pages 1 - 11, XP030150604 *
JILL, BOYCE ET AL.: "AHG8: Subjective testing of 360° video projection/packing formats", JOINT VIDEO EXPLORATION TEAM (JVET) OF ITU-T SG 16 WP 3- JVET-F0021, no. JVET-F0021, 22 February 2017 (2017-02-22) - 7 April 2017 (2017-04-07), Hobart, AU, pages 1 - 12, XP030150668 *
R. SJOBERG , T. RUSERT: "High-Level Syntax for Bitstream Extraction", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU- T SG 16 WP3 JCTVC-G607, no. JCTVC-G607, 21 November 2011 (2011-11-21) - 30 November 2011 (2011-11-30), Geneva, CH, pages 1 - 14, XP030110591 *
YAN, YE ET AL.: "SEI message: independently decodable regions based on tiles", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU- T SG 16 WP 3- JCTVC-L0049, no. JCTVC-L0049, 14 January 2013 (2013-01-14) - 23 January 2013 (2013-01-23), Geneva, CH, pages 1 - 8, XP055623298 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210385437A1 (en) * 2019-02-02 2021-12-09 Beijing Bytedance Network Technology Co., Ltd. Prediction using extra-buffer samples for intra block copy in video coding
US12003745B2 (en) 2019-02-02 2024-06-04 Beijing Bytedance Network Technology Co., Ltd Buffer updating for intra block copy in video coding

Similar Documents

Publication Publication Date Title
JP7223886B2 (ja) 画像復号方法
US11234011B2 (en) Image decoding apparatus and image coding apparatus
CN110574374B (zh) 图像解码装置
WO2018221368A1 (ja) 動画像復号装置、及び動画像符号化装置
JP2021010046A (ja) 画像符号化装置及び画像復号装置
US11722690B2 (en) Motion vector generation device, a prediction image generation device, a video decoding device and a video coding device
WO2018116802A1 (ja) 画像復号装置、画像符号化装置、及び画像予測装置
WO2018110203A1 (ja) 動画像復号装置、および動画像符号化装置
WO2019221072A1 (ja) 画像符号化装置、符号化ストリーム抽出装置及び画像復号装置
WO2019054300A1 (ja) 画像符号化装置及び画像復号装置
JP7213689B2 (ja) 画像復号装置及び画像符号化装置
JPWO2018061522A1 (ja) 復号装置、符号化装置、復号方法、および、符号化方法
US20150334411A1 (en) Image decoding device, and image encoding device
WO2019131400A1 (ja) 画像フィルタ装置、画像復号装置、および画像符号化装置
CN108605138B (zh) 预测图像生成装置、运动图像解码装置、以及运动图像编码装置
JP7241153B2 (ja) 画像復号装置
CN112956206A (zh) 运动图像解码装置以及运动图像编码装置
WO2019230904A1 (ja) 画像復号装置、および画像符号化装置
WO2019159820A1 (ja) 動画像符号化装置及び動画像復号装置
JP7238173B2 (ja) ビデオ/映像コーディングシステムにおけるシンタックスシグナリング方法及び装置
WO2019131349A1 (ja) 画像復号装置、画像符号化装置
WO2019131778A1 (ja) 画像復号装置及び画像符号化装置
WO2018061550A1 (ja) 画像復号装置及び画像符号化装置
JP2020036101A (ja) 画像復号装置および画像符号化装置
WO2019065537A1 (ja) 動き補償フィルタ装置、画像復号装置および動画像符号化装置

Legal Events

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

Ref document number: 18896410

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP