WO2019189340A1 - 符号化装置、復号装置、符号化方法、および復号方法 - Google Patents

符号化装置、復号装置、符号化方法、および復号方法 Download PDF

Info

Publication number
WO2019189340A1
WO2019189340A1 PCT/JP2019/013150 JP2019013150W WO2019189340A1 WO 2019189340 A1 WO2019189340 A1 WO 2019189340A1 JP 2019013150 W JP2019013150 W JP 2019013150W WO 2019189340 A1 WO2019189340 A1 WO 2019189340A1
Authority
WO
WIPO (PCT)
Prior art keywords
slice
slice segment
control information
unit
segment
Prior art date
Application number
PCT/JP2019/013150
Other languages
English (en)
French (fr)
Inventor
敏彦 日下部
北村 臣二
橋本 隆
安倍 清史
秀之 大古瀬
Original Assignee
パナソニックIpマネジメント株式会社
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 パナソニックIpマネジメント株式会社 filed Critical パナソニックIpマネジメント株式会社
Priority to JP2020509182A priority Critical patent/JP7403128B2/ja
Publication of WO2019189340A1 publication Critical patent/WO2019189340A1/ja
Priority to US17/018,320 priority patent/US11356663B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Definitions

  • the present disclosure relates to an encoding device that performs image encoding on image data, a decoding device that performs image decoding on the encoded image data, and the like.
  • ADAS Advanced Driver Assistance Systems
  • ADAS Advanced Driver Assistance Systems
  • a vast amount of moving image data taken with an in-vehicle camera or a camera installed on a road is limited in the transmission band.
  • Patent Documents 1 and 2 and Non-Patent Document 1 disclose techniques relating to such image coding.
  • the present disclosure provides an encoding device and a decoding device that can appropriately suppress error propagation.
  • An encoding apparatus is an encoding apparatus that encodes a picture, and includes a processing circuit and a memory, and the processing circuit uses the memory to divide the picture into a plurality of slices. Dividing the plurality of blocks, encoding a plurality of blocks included in each of the plurality of slice segments, reconfiguring the plurality of encoded blocks, and, for each of the plurality of slice segments, a filter for the slice segment Control information for controlling application is added to the header area of the slice segment, and for each of the plurality of slice segments, a reconstructed block included in the slice segment according to the control information of the slice segment Apply a filter to
  • a decoding device is a decoding device that decodes an encoded picture, and includes a processing circuit and a memory, and the processing circuit configures the encoded picture using the memory.
  • a plurality of blocks included in each of the plurality of slice segments are reconfigured, and control information for controlling application of a filter to the slice segment is acquired from the header area of the slice segment for each of the plurality of slice segments. Then, for each of the plurality of slice segments, a filter is applied to the reconstructed block included in the slice segment according to the control information of the slice segment.
  • the recording medium may be a non-temporary recording medium.
  • the encoding device of the present disclosure it is possible to appropriately suppress error propagation.
  • FIG. 1 is a diagram illustrating a refresh method using an intra slice in Patent Document 1.
  • FIG. 2 is a diagram illustrating a refresh method using an intra slice in which error propagation is suppressed in Patent Document 2.
  • FIG. 3 is a block diagram of the encoding apparatus according to the first embodiment.
  • FIG. 4 is a block diagram of the determination unit in the first embodiment.
  • FIG. 5 is a block diagram of the entropy encoding unit in the first embodiment.
  • FIG. 6 is a diagram showing a plurality of slice segments in the first embodiment.
  • FIG. 7 is a diagram illustrating an example of the syntax of the picture parameter set in the first embodiment.
  • FIG. 8 is a diagram illustrating an example of the syntax of the slice segment header in the first embodiment.
  • FIG. 9 is a diagram illustrating a block boundary to which the deblocking filter according to the first embodiment is applied.
  • FIG. 10 is a flowchart illustrating an overall determination process of the deblocking filter according to the first embodiment.
  • FIG. 11 is a flowchart illustrating a determination process for the left block boundary of the deblocking filter according to the first embodiment.
  • FIG. 12 is a flowchart showing determination processing for the upper block boundary of the deblocking filter in the first embodiment.
  • FIG. 13A is a block diagram showing a functional configuration of the coding apparatus according to Embodiment 1.
  • FIG. 13B is a flowchart illustrating the encoding method according to Embodiment 1.
  • FIG. 14 is a block diagram of the decoding apparatus according to the second embodiment.
  • FIG. 15 is a block diagram of an entropy decoding unit in the second embodiment.
  • FIG. 16A is a block diagram illustrating a functional configuration of the decoding apparatus according to Embodiment 2.
  • FIG. 16B is a flowchart illustrating a decoding method according to Embodiment 2.
  • FIG. 17 is an overall configuration diagram of a content supply system that implements a content distribution service.
  • FIG. 18 is a diagram illustrating an example of a coding structure at the time of scalable coding.
  • FIG. 19 is a diagram illustrating an example of a coding structure at the time of scalable coding.
  • FIG. 20 shows an example of a web page display screen.
  • FIG. 21 is a diagram illustrating an example of a web page display screen.
  • FIG. 22 is a diagram illustrating an example of a smartphone.
  • FIG. 23 is a block diagram illustrating a configuration example of a smartphone.
  • the type of the picture is selected, and the picture is coded according to the type.
  • I pictures for which intraframe coding is performed and P pictures for which interframe coding is performed.
  • the I picture has a larger code amount than the P picture, there is a problem that transmission of the I picture takes time and delay becomes large.
  • FIG. 1 shows a refresh method using an intra slice in Patent Document 1.
  • One picture is composed of an intra slice that performs intra-frame prediction and an inter slice that performs inter-frame prediction. As the picture to be encoded switches, the intra slice in the picture moves from top to bottom. Thereby, in the refresh method using an intra slice, the code amount for each picture can be made uniform, so that encoded moving image data can be transmitted with a small delay time.
  • Such a refresh method using an intra slice is also referred to as CIR (CycliccIntra Refresh).
  • FIG. 2 shows a refresh method by intra slice in Patent Document 2.
  • Patent Document 2 when the method of Patent Document 2 is applied to a dependent slice, for example, it is impossible to prevent the deblocking filter from being applied only to the boundary of one dependent slice. Therefore, in order to prevent error propagation, it is necessary not to apply the deblocking filter to all the pixels, and there is a problem that the image quality is deteriorated.
  • the present disclosure solves the above-described conventional problem, and provides an encoding apparatus capable of suppressing error propagation without reducing encoding efficiency and image quality even when dependent slices are used.
  • an encoding apparatus is an encoding apparatus that encodes a picture, and includes a processing circuit and a memory, and the processing circuit uses the memory to generate a plurality of the pictures.
  • Each of the plurality of slice segments, the plurality of blocks included in each of the plurality of slice segments are encoded, the plurality of encoded blocks are reconstructed, and each of the plurality of slice segments is Control information for controlling the application of the filter is added to the header area of the slice segment, and each of the plurality of slice segments is reconfigured in the slice segment according to the control information of the slice segment. Apply a filter to the selected block.
  • each of the plurality of slice segments is any one slice segment of an independent slice segment that constitutes a slice included in the picture and at least one dependent slice segment subordinate to the independent slice segment. May be.
  • the application of the filter can be controlled in a finer unit than in the case where the application of the filter to the slice is controlled for each slice including a plurality of slice segments. For example, it is possible to disable the application of a filter only to the boundary of an intra slice segment included in a slice, and to enable the application of a filter to the boundary of another slice segment. As a result, even when a refresh method using an intra slice segment is used, it is possible to appropriately suppress error propagation while suppressing deterioration in image quality.
  • the independent slice segment header can be copied and used for the dependent slice segment among the plurality of slice segments, the coding efficiency is reduced even if the number of slice segments included in the picture is large. Can be suppressed. Therefore, it is possible to suppress error propagation without reducing the encoding efficiency and image quality.
  • control information may indicate whether or not to apply a deblocking filter to the boundary of the slice segment corresponding to the control information.
  • control information may indicate whether to apply a sample adaptive offset to a boundary of the slice segment corresponding to the control information.
  • the control information may indicate whether or not to apply a deblocking filter to a boundary between the slice segments corresponding to the control information and a boundary between a plurality of blocks included in the slice segment. .
  • the picture is one of a plurality of pictures included in a moving image, each of the plurality of pictures has an I slice segment, and the I slice in each of the plurality of pictures
  • the segment position is configured to periodically differ according to the encoding order of the plurality of pictures, and in the addition of the control information, with respect to the boundary between the slice segment and the I slice segment corresponding to the control information
  • the control information indicating that the filter is not applied may be added to the header area of the slice segment.
  • An encoding device is an encoding device that encodes a picture, and is included in each of the division unit that divides the picture into a plurality of slice segments and the plurality of slice segments.
  • An encoding unit that encodes a plurality of blocks, a reconfiguration unit that reconstructs the plurality of encoded blocks, and a control for applying a filter to the slice segment for each of the plurality of slice segments For each of the plurality of slice segments, in accordance with the control information of the slice segment, a reconfigured block included in the slice segment.
  • a filter unit that applies a filter to the filter.
  • a decoding device is a decoding device that decodes an encoded picture, and includes a processing circuit and a memory, and the processing circuit uses the memory to store the encoded picture. Reconfiguring a plurality of blocks included in each of a plurality of constituting slice segments, and, for each of the plurality of slice segments, control information for controlling application of a filter to the slice segment, a header area of the slice segment For each of the plurality of slice segments, the filter is applied to the reconstructed block included in the slice segment according to the control information of the slice segment.
  • each of the plurality of slice segments is any one of an independent slice segment and at least one dependent slice segment subordinate to the independent slice segment that constitute a slice included in the encoded picture. It is.
  • the application of the filter can be controlled in a finer unit than in the case where the application of the filter to the slice is controlled for each slice including a plurality of slice segments. For example, it is possible to disable the application of a filter only to the boundary of an intra slice segment included in a slice, and to enable the application of a filter to the boundary of another slice segment. As a result, even when a refresh method using an intra slice segment is used, it is possible to appropriately suppress error propagation while suppressing deterioration in image quality.
  • the independent slice segment header can be copied and used for the dependent slice segment among the plurality of slice segments, the coding efficiency is reduced even if the number of slice segments included in the picture is large. Can be suppressed. Therefore, it is possible to suppress error propagation without reducing the encoding efficiency and image quality.
  • control information may indicate whether or not to apply a deblocking filter to the boundary of the slice segment corresponding to the control information.
  • control information may indicate whether to apply a sample adaptive offset to a boundary of the slice segment corresponding to the control information.
  • the control information may indicate whether or not to apply a deblocking filter to a boundary between the slice segments corresponding to the control information and a boundary between a plurality of blocks included in the slice segment. .
  • the coded picture is one of a plurality of coded pictures included in a bitstream, and each of the plurality of coded pictures has an I slice segment, and the plurality of codes
  • the position of the I slice segment in each of the coded pictures is configured to periodically differ according to the decoding order of the plurality of coded pictures, and in the acquisition of the control information, the slice segment corresponding to the control information and the The control information indicating that the filter is not applied to the boundary with the I slice segment may be acquired from the header area of the slice segment.
  • a decoding device is a decoding device that decodes an encoded picture, and is configured to reconfigure a plurality of blocks included in each of a plurality of slice segments that configure the encoded picture
  • Each of the plurality of slice segments a header processing unit that obtains control information for controlling application of a filter to the slice segment from a header area of the slice segment, and each of the plurality of slice segments
  • a filter unit that applies a filter to the reconstructed blocks included in the slice segment according to the control information of the slice segment.
  • FIG. 3 is a block diagram showing a configuration of the encoding apparatus according to the present embodiment.
  • the encoding apparatus 100 is an apparatus that can appropriately suppress error propagation.
  • Such an encoding apparatus 100 includes a slice division unit 101, a subtractor 102, an orthogonal transformation unit 103, a quantization unit 104, an entropy coding unit 105, an inverse quantization unit 106, and an inverse orthogonal transformation unit. 107, an adder 108, a deblocking filter unit 109, a memory 110, an intra prediction unit 111, an inter prediction unit 112, a motion detection unit 113, and a determination unit 114.
  • the slice division unit 101 acquires a moving image signal including a plurality of pictures, and divides the picture into a plurality of slices or slice segments.
  • each of the plurality of slice segments is any one slice segment of an independent slice segment and at least one dependent slice segment subordinate to the independent slice segment that constitute a slice included in the picture.
  • the subtractor 102 acquires a plurality of slices or slice segments and acquires a predicted image from the determination unit 114. Then, the subtractor 102 generates a difference image by subtracting the predicted image from a block to be encoded (hereinafter referred to as a target block) of the slice or slice segment.
  • the block corresponds to, for example, CTU (Coding / Unit / Unit), CU (Coding / Unit), PU (Prediction / Unit), or TU (Transform / Unit).
  • the orthogonal transform unit 103 transforms the difference image into a coefficient sequence including a plurality of frequency coefficients by performing orthogonal transform (frequency transform) such as discrete cosine transform on the difference image generated by the subtractor 102. To do.
  • the quantization unit 104 generates a quantized coefficient sequence by quantizing each frequency coefficient included in the coefficient sequence.
  • the inverse quantization unit 106 inversely quantizes the coefficient sequence quantized by the quantization unit 104.
  • the inverse orthogonal transform unit 107 generates a decoded difference image by performing inverse orthogonal transform (inverse frequency transform) such as inverse discrete cosine transform on each frequency coefficient included in the inversely quantized coefficient sequence.
  • inverse orthogonal transform inverse frequency transform
  • the adder 108 obtains a predicted image from the determination unit 114, and generates a local decoded image (reconstructed image) by adding the predicted image and the decoded difference image generated by the inverse orthogonal transform unit 107. This reconstructs the encoded block.
  • the deblocking filter unit 109 removes block distortion of the local decoded image generated by the adder 108 and stores the local decoded image in the memory 110.
  • the deblocking filter unit 109 according to the present embodiment applies a filter to each of a plurality of slice segments according to the control information of the slice segment, on the reconfigured block included in the slice segment.
  • the filter is a deblocking filter.
  • the control information indicates whether or not to apply the deblocking filter to the boundary of the slice segment corresponding to the control information.
  • the memory 110 is a memory for storing a locally decoded image as a reference image for inter prediction.
  • the memory 110 is used as a decoded picture buffer (DPB).
  • DPB decoded picture buffer
  • the intra prediction unit 111 generates a prediction image (intra prediction image) by performing intra prediction on the target block using the local decoded image generated by the adder 108.
  • the motion detection unit 113 detects a motion vector for the target block included in the video signal, and outputs the detected motion vector to the inter prediction unit 112 and the entropy coding unit 105.
  • the inter prediction unit 112 refers to the image stored in the memory 110 as a reference image, and uses the motion vector detected by the motion detection unit 113 to perform motion compensation on the target block.
  • the inter prediction unit 112 generates a prediction image (inter prediction image) of the target block by performing such motion compensation, that is, by performing inter prediction on the target block.
  • the determination unit 114 determines whether to perform intra prediction encoding or inter prediction encoding on the target block.
  • the determination unit 114 outputs the prediction image (intra prediction image) generated by the intra prediction unit 111 to the subtractor 102 and the adder 108.
  • the determination unit 114 outputs the prediction image (inter prediction image) generated by the inter prediction unit 112 to the subtracter 102 and the adder 108.
  • the entropy encoding unit 105 generates a bitstream by entropy encoding (variable length encoding) the coefficient sequence quantized by the quantization unit 104 and the motion vector detected by the motion detection unit 113. .
  • FIG. 4 is a block diagram illustrating a configuration of the determination unit 114.
  • the determination unit 114 includes a position determination unit 115 and a switch 116.
  • the position determination unit 115 determines whether the target block is included in the intra slice or the intra slice segment from the block position information and the picture number.
  • the block position information indicates the position of the target block in the picture.
  • the picture number is an identification number of a picture including the target block. Then, when the target block is included in the intra slice or the intra slice segment, the position determination unit 115 controls the switch 116 so that the target block is intra prediction encoded.
  • the switch 116 When the target block is intra-coded, the switch 116 outputs the intra-predicted image generated by the intra-prediction unit 111 as a predicted image. On the other hand, when the target block is inter-coded, the switch 116 outputs the inter predicted image generated by the inter prediction unit 112 as a predicted image.
  • FIG. 5 is a block diagram showing a configuration of the entropy encoding unit 105.
  • the entropy encoding unit 105 includes a picture header generation unit 117, a slice header generation unit 118, and an encoding processing unit 119.
  • the picture header generation unit 117 acquires block position information, and determines whether or not the target block is located at the head of the picture based on the block position information.
  • the picture header generation unit 117 adds the first slice control flag to the picture parameter set when the target block is located at the head of the picture.
  • the first slice control flag indicates whether or not the second slice control flag for controlling the deblocking filter for the slice boundary is included in the slice header or the slice segment header.
  • the picture header generation unit 117 adds the first segment control flag to the picture parameter set when the target block is located at the head of the picture.
  • the first segment control flag indicates whether or not the slice segment header includes a second segment control flag for controlling the deblocking filter for the slice segment boundary.
  • bit stream having a picture parameter set to which the first slice control flag and the first segment control flag are added is output from the entropy encoding unit 105.
  • the slice header generation unit 118 acquires block position information and slice division position information.
  • the slice division position information indicates the position in each picture of a plurality of slices or slice segments included in the picture. Based on these pieces of information, the slice header generation unit 118 determines whether the target block is located at the head of the slice or slice segment.
  • the slice header generation unit 118 adds a second slice control flag for controlling the deblocking filter for the slice boundary to the slice header when the target block is located at the head of the slice. That is, the slice header generating unit 118 adds control information for controlling application of a filter to a slice, specifically, the above-described second slice control flag to the header area of the slice.
  • the slice header generation unit 118 adds the second slice to the slice segment header that is the header area of each of the plurality of slice segments included in the slice. A control flag may be added.
  • the slice header generation unit 118 adds a second segment control flag for controlling a deblocking filter for the slice segment boundary to the slice segment header. That is, the slice header generation unit 118 adds control information for controlling application of a filter to a slice segment, specifically, the above-described second segment control flag to the header area of the slice segment.
  • bit stream having the slice segment header to which the second slice control flag and the second segment control flag are added is output from the entropy encoding unit 105.
  • the encoding processing unit 119 performs entropy encoding on the coefficient sequence output from the quantization unit 104, and outputs a bitstream having the entropy encoded coefficient sequence.
  • FIG. 6 is a diagram illustrating an example of a plurality of slice segments included in a picture encoded by the encoding apparatus 100 according to the present embodiment.
  • the encoded picture is divided into a plurality of slices.
  • one picture is divided into three slices.
  • a slice boundary is a boundary between adjacent slices.
  • the slice is divided into a plurality of slice segments.
  • a slice is composed of one independent slice segment and a plurality of dependent slice segments.
  • slice 1 is divided into one independent slice segment 1A and three dependent slice segments 1a, 1b, and 1c.
  • the slice segment boundary is a boundary between slice segments adjacent to each other in the slice. That is, the slice segment boundary does not include the slice boundary.
  • in slice 1A and dependent slice segment 1a between dependent slice segment 1a and dependent slice segment 1b, and between dependent slice segment 1b and dependent slice segment 1c.
  • Each has a slice segment boundary.
  • the independent slice segment and the dependent slice segment correspond to the independent slice data and the dependent slice data of Non-Patent Document 1 described above. Specifically, the independent slice segment and the dependent slice segment each have the following characteristics.
  • the independent slice segment and the dependent slice segment each have a slice header (specifically, a slice segment header). Therefore, these slice segments constitute a NAL unit.
  • the syntax information included in the slice header of the dependent slice segment is less than the syntax information included in the slice header of the independent slice segment. Therefore, most of the syntax information included in the slice header of the independent slice segment is copied and used for decoding the dependent slice segment. Accordingly, the decoding apparatus cannot decode the dependent slice segment only by the dependent slice segment, and requires the slice header of the independent slice segment as described above.
  • FIG. 7 is a diagram illustrating an example of the syntax of the picture parameter set included in the bitstream generated by encoding by the encoding apparatus 100 according to the present embodiment.
  • the picture header generation unit 117 adds the above-described first segment control flag to the picture parameter set.
  • the first segment control flag is, for example, pps_loop_filter_cross_slice_segment_disabled_flag.
  • FIG. 8 is a diagram illustrating an example of the syntax of the slice segment header included in the bitstream generated by encoding by the encoding apparatus 100 according to the present embodiment.
  • the slice header generation unit 118 adds a second segment control flag for controlling application of the deblocking filter to the slice segment boundary to the slice segment header.
  • the second segment control flag is, for example, slice_segment_loop_filter_cross_slice_segments_disabled_flag.
  • the deblocking filter unit 109 does not apply the deblocking filter to the boundary of the slice segment having the second segment control flag.
  • syntax of the slice segment header shown in FIG. 8 is an example of the syntax of the header area of the dependent slice segment, and the slice segment header of the independent slice segment includes more information than the syntax shown in FIG. .
  • FIG. 9 is a diagram illustrating a boundary between target blocks to which the deblocking filter is applied by the deblocking filter unit 109 of the encoding device 100 according to the present embodiment.
  • the target block is composed of four sub-blocks each having a size of 8 ⁇ 8 pixels.
  • the deblocking filter unit 109 determines whether application of the deblocking filter to the horizontal boundary and the vertical boundary between the sub blocks in the target block is valid or invalid.
  • This horizontal boundary is also called an intra-block horizontal boundary
  • a vertical boundary is also called an intra-block vertical boundary.
  • the horizontal boundary and the vertical boundary are collectively referred to as an intra-block boundary.
  • the deblocking filter unit 109 determines whether application of the deblocking filter to the left block boundary located at the boundary between the target block and the left adjacent block is valid or invalid.
  • the left adjacent block is a block adjacent to the left side of the target block, and may be composed of a plurality of sub blocks.
  • the deblocking filter unit 109 determines whether application of the deblocking filter to the upper block boundary located at the boundary between the target block and the upper adjacent block is valid or invalid.
  • the upper adjacent block is a block adjacent to the upper side of the target block, and may be composed of a plurality of sub blocks.
  • FIG. 10 is a flowchart showing an overall determination flow of the deblocking filter by the deblocking filter unit 109 of the encoding apparatus 100 according to the present embodiment. Specifically, the flowchart illustrated in FIG. 10 illustrates a determination flow for determining whether to apply a deblocking filter to each boundary of the target block.
  • the deblocking filter unit 109 determines whether or not to apply the deblocking filter to any boundary of the target block (step S11). For example, the deblocking filter unit 109 determines whether to apply the deblocking filter by referring to the first DBF control flag in the picture parameter set and the second DBF control flag in the slice segment header. To do.
  • the first DBF control flag is pps_deblocking_filter_disabled_flag shown in FIG.
  • the second DBF control flag is slice_deblocking_filter_disabled_flag shown in FIG.
  • the deblocking filter unit 109 applies the deblocking filter to all the boundaries of the target block. Is determined not to apply.
  • the deblocking filter unit 109 sets 1 in the in-block control flag (step S12).
  • the intra-block control flag is a flag indicating whether the application of the deblocking filter to the intra-block boundary is valid or invalid, and is dbf_c_flag, for example.
  • An intra-block control flag set to 1 indicates that the application of the deblocking filter is effective. That is, in step S12, the deblocking filter unit 109 determines that the application of the deblocking filter is effective for the intra-block boundary. Next, the deblocking filter unit 109 determines the left block boundary (step S13), determines the upper block boundary (step S14), and ends the determination process.
  • step S11 when it is determined in step S11 that the deblocking filter is not applied (No in step S11), the deblocking filter unit 109 sets 0 in the above-described intra-block control flag (that is, dbf_c_flag) (step S15). .
  • the intra-block control flag set to 0 indicates that the application of the deblocking filter to the intra-block boundary is invalid. That is, in step S15, the deblocking filter unit 109 determines that the application of the deblocking filter is invalid with respect to the intra-block boundary.
  • the deblocking filter unit 109 sets 0 to the left control flag (step S16).
  • the left control flag is a flag indicating whether application of the deblocking filter to the left block boundary is valid or invalid, and is dbf_a_flag, for example.
  • a left control flag set to 0 indicates that the application of the deblocking filter is invalid. That is, in step S16, the deblocking filter unit 109 determines that the application of the deblocking filter is invalid for the left block boundary.
  • the deblocking filter unit 109 sets 0 to the upper control flag (step S17).
  • the upper control flag is a flag indicating whether application of the deblocking filter to the upper block boundary is valid or invalid, and is dbf_b_flag, for example.
  • the upper control flag set to 0 indicates that the application of the deblocking filter is invalid. That is, in step S17, the deblocking filter unit 109 determines that the application of the deblocking filter is invalid for the upper block boundary. Then, the deblocking filter unit 109 ends all determination processes for the target block.
  • FIG. 11 is a flowchart illustrating a determination flow in which the deblocking filter unit 109 determines whether to apply the deblocking filter to the left block boundary of the target block. That is, FIG. 11 is a flowchart showing a detailed determination flow in step S13 of FIG.
  • the deblocking filter unit 109 determines whether or not the target block is located at the left end of the picture (step S21).
  • the deblocking filter unit 109 sets 0 to the left control flag (that is, dbf_a_flag) (Step S27).
  • a left control flag set to 0 indicates that application of the deblocking filter to the left block boundary is invalid. That is, in step S27, the deblocking filter unit 109 determines that the application of the deblocking filter is invalid for the left block boundary. As a result, the determination process of the left block boundary ends.
  • step S21 when it is determined in step S21 that the target block is not located at the left end of the picture (No in step S21), the deblocking filter unit 109 further determines whether or not the target block is located at the head of the slice. (Step S22).
  • the deblocking filter unit 109 further determines whether or not to apply the deblocking filter to the slice boundary (Ste S23).
  • the deblocking filter is also referred to as DBF.
  • the deblocking filter unit 109 performs the above determination by referring to the first slice control flag and the second slice control flag.
  • the first slice control flag is pps_loop_filter_cross_slices_enabled_flag included in the syntax of the picture parameter set shown in FIG.
  • the second slice control flag is slice_loop_filter_cross_slices_enabled_flag included in the syntax of the slice segment header shown in FIG.
  • the deblocking filter unit 109 determines to apply the deblocking filter to the slice boundary when each of the first slice control flag and the second slice control flag indicates 1. Conversely, the deblocking filter unit 109 determines that the deblocking filter is not applied to the slice boundary when any of the first slice control flag and the second slice control flag indicates 0.
  • Step S23 when it is determined that the deblocking filter is applied to the slice boundary (Yes in Step S23), 1 is set to the above left control flag (that is, dbf_a_flag) (Step S26).
  • a left control flag set to 1 indicates that application of the deblocking filter to the left block boundary is effective. That is, in step S26, the deblocking filter unit 109 determines that application of the deblocking filter is effective for the left block boundary. As a result, the determination process of the left block boundary ends.
  • step S23 when it is determined in step S23 that the deblocking filter is not applied to the slice boundary (No in step S23), 0 is set to the left control flag (that is, dbf_a_flag) (step S27). As a result, the determination process of the left block boundary ends.
  • step S22 If it is determined in step S22 that the target block is not located at the head of the slice (No in step S22), the deblocking filter unit 109 further determines whether or not the target block is located at the head of the dependent slice segment. Determination is made (step S24).
  • the deblocking filter unit 109 further determines whether or not the application of the deblocking filter to the slice segment boundary is invalid. (Step S25). Specifically, the deblocking filter unit 109 performs the above determination by referring to the first segment control flag and the second segment control flag.
  • the first segment control flag is pps_loop_filter_cross_slice_segments_disabled_flag included in the syntax of the picture parameter set shown in FIG.
  • the second segment control flag is slice_segment_loop_filter_slice_segments_disabled_flag included in the syntax of the slice segment header shown in FIG.
  • Step S25 when it is determined that application of the deblocking filter to the slice segment boundary is invalid (Yes in Step S25), 0 is set to the above left control flag (that is, dbf_a_flag) (Step S27). That is, in step S27, the deblocking filter unit 109 determines that application of the deblocking filter to the left block boundary is invalid. As a result, the determination process of the left block boundary ends.
  • step S25 when it is determined in step S25 that application of the deblocking filter to the slice segment boundary is valid (No in step S25), 1 is set to the left control flag (that is, dbf_a_flag) (step S26). That is, in step S26, the deblocking filter unit 109 determines that application of the deblocking filter to the left block boundary is effective. As a result, the determination process of the left block boundary ends.
  • FIG. 12 is a flowchart illustrating a determination flow in which the deblocking filter unit 109 determines whether to apply the deblocking filter to the upper block boundary of the target block. That is, FIG. 12 is a flowchart showing a detailed determination flow in step S14 of FIG.
  • the deblocking filter unit 109 determines whether or not the target block is located at the upper end of the picture (step S31).
  • the deblocking filter unit 109 sets 0 to the above-described upper control flag (that is, dbf_b_flag) (step S37).
  • the upper control flag set to 0 indicates that application of the deblocking filter to the upper block boundary is invalid. That is, in step S37, the deblocking filter unit 109 determines that the application of the deblocking filter is invalid for the upper block boundary. As a result, the upper block boundary determination process ends.
  • step S31 when it is determined in step S31 that the target block is not located at the upper end of the picture (No in step S31), the deblocking filter unit 109 further determines whether or not the upper boundary of the target block is located at the slice boundary. Determination is made (step S32).
  • the upper boundary is the above-described upper block boundary.
  • the deblocking filter unit 109 further determines whether or not to apply the deblocking filter to the slice boundary. (Step S33). Specifically, the deblocking filter unit 109 performs the above determination by referring to the first slice control flag and the second slice control flag.
  • the first slice control flag is pps_loop_filter_cross_slices_enabled_flag included in the syntax of the picture parameter set shown in FIG.
  • the second slice control flag is slice_loop_filter_cross_slices_enabled_flag included in the syntax of the slice segment header shown in FIG.
  • the deblocking filter unit 109 determines to apply the deblocking filter to the slice boundary when each of the first slice control flag and the second slice control flag indicates 1. Conversely, the deblocking filter unit 109 determines that the deblocking filter is not applied to the slice boundary when any of the first slice control flag and the second slice control flag indicates 0.
  • Step S33 when it is determined that the deblocking filter is applied to the slice boundary (Yes in Step S33), 1 is set to the above upper control flag (that is, dbf_b_flag) (Step S36).
  • the upper control flag set to 1 indicates that application of the deblocking filter to the upper block boundary is effective. That is, in step S36, the deblocking filter unit 109 determines that application of the deblocking filter is effective for the upper block boundary. As a result, the upper block boundary determination process ends.
  • step S33 when it is determined in step S33 that the deblocking filter is not applied to the slice boundary (No in step S33), the above-described upper control flag (that is, dbf_b_flag) is set to 0 (step S37). As a result, the upper block boundary determination process ends.
  • step S32 If it is determined in step S32 that the upper boundary of the target block is not located at the slice boundary (No in step S32), the deblocking filter unit 109 further positions the upper boundary of the target block at the dependent slice segment boundary. Is determined (step S34).
  • the deblocking filter unit 109 further determines whether or not application of the deblocking filter to the slice segment boundary is invalid. Is determined (step S35). Specifically, the deblocking filter unit 109 performs the above determination by referring to the first segment control flag and the second segment control flag.
  • the first segment control flag is pps_loop_filter_cross_slice_segments_disabled_flag included in the syntax of the picture parameter set shown in FIG.
  • the second segment control flag is slice_segment_loop_filter_slice_segments_disabled_flag included in the syntax of the slice segment header shown in FIG.
  • Step S35 when it is determined that the application of the deblocking filter to the slice segment boundary is invalid (Yes in Step S35), the above-described upper control flag (that is, dbf_b_flag) is set to 0 (Step S37). That is, in step S37, the deblocking filter unit 109 determines that the application of the deblocking filter is invalid for the upper block boundary. As a result, the upper block boundary determination process ends.
  • the above-described upper control flag that is, dbf_b_flag
  • step S35 when it is determined in step S35 that application of the deblocking filter to the slice segment boundary is valid (No in step S35), 1 is set to the above-described upper control flag (that is, dbf_b_flag) (step S36). That is, in step S36, the deblocking filter unit 109 determines that application of the deblocking filter to the upper block boundary is effective. As a result, the upper block boundary determination process ends.
  • the deblocking filter control flags that is, dbf_a_flag, dbf_b_flag, and dbf_c_flag for the inner block boundary and each block boundary of the target block can be obtained.
  • the deblocking filter unit 109 refers to these control flags, and applies a deblocking filter to the intra-block boundary and each block boundary according to these control flags. That is, the deblocking filter unit 109 applies a filter to each of a plurality of slice segments according to the control information of the slice segment, on the reconstructed block included in the slice segment. As a result, application of the deblocking filter to each slice segment boundary can be controlled.
  • the encoding apparatus 100 is configured as shown in FIG. 3, and operates according to the determination flows shown in FIGS. 10, 11, and 12.
  • the configuration and operation of encoding apparatus 100 in the present embodiment may be expressed as a configuration illustrated in FIG. 13A and an operation illustrated in FIG. 13B as a more functional or conceptual configuration and operation.
  • FIG. 13A is a block diagram showing a functional configuration of encoding apparatus 100 in the present embodiment.
  • the encoding apparatus 100 includes a dividing unit 11, an encoding unit 12, a reconstruction unit 13, a header processing unit 14, and a filter unit 15.
  • the dividing unit 11 divides the picture into a plurality of slice segments.
  • the dividing unit 11 corresponds to the slice dividing unit 101 shown in FIG.
  • the encoding unit 12 encodes a plurality of blocks included in each of a plurality of slice segments.
  • the encoding unit 12 includes a subtracter 102, an orthogonal transform unit 103, a quantization unit 104, an encoding processing unit 119 of the entropy encoding unit 105, an intra prediction unit 111, and an inter prediction unit 112, which are illustrated in FIGS. This corresponds to all or part of the motion detection unit 113 and the determination unit 114.
  • the reconstruction unit 13 reconstructs a plurality of encoded blocks.
  • the reconstruction unit 13 corresponds to all or part of the inverse quantization unit 106, the inverse orthogonal transform unit 107, and the adder 108 illustrated in FIG.
  • the header processing unit 14 adds, for each of the plurality of slice segments, control information for controlling the application of the filter to the slice segment to the header area of the slice segment.
  • the header processing unit 14 corresponds to the slice header generation unit 118 of the entropy encoding unit 105 shown in FIG.
  • the control information is, for example, the above-described second segment control flag, specifically, slice_segment_loop_filter_cross_slice_segment_disabled_flag.
  • the filter unit 15 applies a filter to the reconstructed block included in the slice segment in accordance with the control information of the slice segment for each of the plurality of slice segments.
  • the filter unit 15 corresponds to the deblocking filter unit 109 shown in FIG.
  • FIGS. 3, 4, 5 and 13A may be realized by a processing circuit such as a CPU (Central Processing Unit) or a processor and a memory.
  • the memory may store a program for causing the processing circuit to execute the processing of each component shown in the above drawings.
  • the memory may store an image like the memory 110 shown in FIG.
  • FIG. 13B is a flowchart showing the encoding method according to the present embodiment.
  • the encoding apparatus 100 first divides a picture into a plurality of slice segments (step S51). Next, the encoding apparatus 100 encodes a plurality of blocks included in each of the plurality of slice segments (step S52). Next, the encoding apparatus 100 reconstructs a plurality of encoded blocks (step S53). Next, for each of the plurality of slice segments, encoding apparatus 100 adds control information for controlling application of a filter to the slice segment to the header area of the slice segment (step S54). Then, the encoding apparatus 100 applies a filter to the reconstructed block included in the slice segment in accordance with the control information of the slice segment for each of the plurality of slice segments (step S55).
  • each process of step S51, S52, S53, S54, and S55 is performed by the division part 11, the encoding part 12, the reconstruction part 13, the header process part 14, and the filter part 15 which are shown to FIG. 13A. May be.
  • the processing circuit may execute the process illustrated by the flowchart of FIG. 13B using the memory.
  • the application of the filter can be controlled in a finer unit than in the case where the application of the filter to the slice is controlled for each slice including a plurality of slice segments. For example, it is possible to disable the application of a filter only to the boundary of an intra slice segment included in a slice, and to enable the application of a filter to the boundary of another slice segment. As a result, even when a refresh method using an intra slice segment is used, it is possible to appropriately suppress error propagation while suppressing deterioration in image quality.
  • the independent slice segment header can be copied and used for the dependent slice segment among the plurality of slice segments, the coding efficiency is reduced even if the number of slice segments included in the picture is large. Can be suppressed. Therefore, it is possible to suppress error propagation without reducing the encoding efficiency and image quality.
  • control information in the present embodiment indicates whether or not to apply a deblocking filter to the boundary between slice segments corresponding to the control information.
  • the control information is, for example, the above-described second segment control flag, specifically, slice_segment_loop_filter_cross_slice_segments_disabled_flag.
  • the picture divided into the plurality of slice segments in the present embodiment is one of the plurality of pictures included in the moving image.
  • Each of the plurality of pictures has an I slice segment, and the position of the I slice segment in each of the plurality of pictures is configured to periodically differ according to the encoding order of the plurality of pictures. May be. That is, the plurality of pictures may be configured by a refresh method using an intra slice segment, that is, CIR (Cyclic Intra Refresh).
  • CIR Cyclic Intra Refresh
  • control information indicating that a filter is not applied to the boundary between the slice segment corresponding to the control information and the I slice segment may be added to the header area of the slice segment. Good. Thereby, even if it is a case where the refresh method by an intra slice segment, ie, the case where CIR is used, error propagation can be suppressed appropriately.
  • FIG. 14 is a block diagram showing a configuration of the decoding apparatus according to the present embodiment.
  • the decoding device 200 in the present embodiment is a device that can appropriately suppress error propagation.
  • a decoding apparatus 200 includes an entropy decoding unit 205, an inverse quantization unit 206, an inverse orthogonal transform unit 207, an adder 208, a deblocking filter unit 209, a memory 210, an intra prediction unit 211, An inter prediction unit 212 and a determination unit 214 are provided.
  • the entropy decoding unit 205 generates a quantized coefficient sequence and a motion vector by entropy decoding (variable length decoding) of the bit stream.
  • the inverse quantization unit 206 performs inverse quantization on the quantized coefficient sequence.
  • the inverse orthogonal transform unit 207 generates a decoded difference image by performing inverse orthogonal transform (inverse frequency transform) such as inverse discrete cosine transform on each frequency coefficient included in the inversely quantized coefficient sequence.
  • inverse orthogonal transform inverse frequency transform
  • the adder 208 acquires a predicted image from the determination unit 214, and generates a decoded image (reconstructed image) by adding the predicted image and the decoded difference image generated by the inverse orthogonal transform unit 207.
  • the deblocking filter unit 209 removes the block distortion of the decoded image generated by the adder 208 and outputs the decoded image.
  • the deblocking filter unit 209 stores the decoded image in which the block distortion is removed in the memory 210.
  • the memory 210 is a memory for storing a decoded image as a reference image in inter prediction.
  • the memory 210 is used as a decoded picture buffer (DPB).
  • DPB decoded picture buffer
  • the intra prediction unit 211 generates a prediction image (intra prediction image) by performing intra prediction on the target block using the decoded image generated by the adder 208.
  • the target block in the present embodiment is a block to be decoded among pictures included in the bitstream.
  • the inter prediction unit 212 refers to the image stored in the memory 210 as a reference image, and performs motion compensation on the target block by using the motion vector generated by the entropy decoding unit 205.
  • the inter prediction unit 212 generates a prediction image (inter prediction image) of the target block by performing such motion compensation, that is, by performing inter prediction on the target block.
  • the determination unit 214 determines whether to perform intra prediction encoding or inter prediction encoding on the target block.
  • the determination unit 214 outputs the prediction image (intra prediction image) generated by the intra prediction unit 211 to the adder 208 when the target block is subjected to intra prediction encoding.
  • the determination unit 214 outputs the prediction image (inter prediction image) generated by the inter prediction unit 212 to the adder 208.
  • the determination unit 214 has the same configuration as the determination unit 114 in the first embodiment.
  • FIG. 15 is a block diagram illustrating a configuration of the entropy decoding unit 205.
  • the entropy decoding unit 205 includes a picture header analysis unit 217, a slice header analysis unit 218, and a decoding processing unit 219.
  • the picture header analysis unit 217 extracts each flag from the picture parameter set by analyzing the picture parameter set.
  • Each flag includes a first slice control flag, a first segment control flag, a first DBF control flag, and the like.
  • the slice header analysis unit 218 extracts each flag from the header by analyzing the slice header or the slice segment header.
  • Each flag includes a second slice control flag, a second segment control flag, a second DBF control flag, and the like.
  • the slice header analysis unit 218 acquires the first segment control flag from the picture header analysis unit 217, and determines whether or not the first segment control flag is set to 1.
  • the first segment control flag set to 1 indicates that the second segment control flag is included in the slice segment header. Therefore, when the slice header analysis unit 218 determines that the first segment control flag is set to 1, the slice header analysis unit 218 extracts the second segment control flag from the slice segment header by analyzing the slice segment header. .
  • Each flag extracted by each of the picture header analysis unit 217 and the slice header analysis unit 218 is used by the deblocking filter unit 209.
  • the decoding processing unit 219 outputs a quantized coefficient sequence by entropy decoding the bitstream.
  • the deblocking filter unit 209 in the present embodiment performs the same processing as the deblocking filter unit 109 in the first embodiment. That is, the deblocking filter unit 209 operates based on the syntax shown in FIGS. Furthermore, the deblocking filter unit 209 determines whether to apply the deblocking filter to the target block according to the flowcharts of FIGS. 10, 11, and 12.
  • the determination block shown in FIGS. 10, 11, and 12 obtains the block inner boundary of the target block and the deblocking filter control flag for each block boundary. Can do.
  • the control flags are dbf_a_flag, dbf_b_flag, and dbf_c_flag.
  • the deblocking filter unit 209 refers to these control flags, and applies a deblocking filter to the intra-block boundary and each block boundary according to these control flags. That is, the deblocking filter unit 209 applies a filter to each of a plurality of slice segments, according to the control information of the slice segment, on the reconstructed block included in the slice segment. As a result, application of the deblocking filter to each slice segment boundary can be controlled.
  • decoding device 200 is configured as shown in FIG. 14, and operates according to the determination flows shown in FIGS.
  • the configuration and operation of decoding apparatus 200 in the present embodiment may be expressed as a configuration shown in FIG. 16A and an operation shown in FIG. 16B as a more functional or conceptual configuration and operation.
  • FIG. 16A is a block diagram showing a functional configuration of decoding apparatus 200 in the present embodiment.
  • the decoding device 200 includes a reconstruction unit 21, a header processing unit 22, and a filter unit 23.
  • the reconstruction unit 21 reconstructs a plurality of blocks included in each of a plurality of slice segments that constitute an encoded picture.
  • the reconstruction unit 21 includes a decoding processing unit 219 of the entropy decoding unit 205, an inverse quantization unit 206, an inverse orthogonal transform unit 207, an adder 208, an intra prediction unit 211, and an inter prediction unit 212 shown in FIGS. , And the determination unit 214.
  • the header processing unit 22 acquires, for each of the plurality of slice segments, control information for controlling application of a filter to the slice segment from the header area of the slice segment.
  • the header processing unit 22 corresponds to the slice header analysis unit 218 of the entropy decoding unit 205 shown in FIG.
  • the control information is, for example, the above-described second segment control flag, specifically, slice_segment_loop_filter_cross_slice_segments_disabled_flag.
  • the filter unit 23 applies a filter to the reconstructed block included in the slice segment according to the control information of the slice segment for each of the plurality of slice segments.
  • This filter unit 23 corresponds to the deblocking filter unit 209 shown in FIG.
  • the 14, 15 and 16A may be realized by a processing circuit such as a CPU (Central Processing Unit) or a processor, and a memory.
  • the memory may store a program for causing the processing circuit to execute the processing of each component shown in the above drawings.
  • the memory may store an image like the memory 210 shown in FIG.
  • FIG. 16B is a flowchart showing a decoding method according to the present embodiment.
  • the decoding apparatus 200 first reconstructs a plurality of blocks included in each of a plurality of slice segments constituting the encoded picture (step S61). Next, the decoding apparatus 200 acquires, for each of the plurality of slice segments, control information for controlling application of a filter to the slice segment from the header area of the slice segment (step S62). Then, the decoding apparatus 200 applies a filter to each of the plurality of slice segments according to the control information of the slice segment, on the reconstructed block included in the slice segment (step S63).
  • each process of step S61, S62, and S63 may be performed by the reconstruction part 21, the header process part 22, and the filter part 23 shown to FIG. 16A.
  • the processing circuit may execute the processing illustrated by the flowchart of FIG. 16B using the memory.
  • the application of the filter can be controlled in a finer unit than in the case where the application of the filter to the slice is controlled for each slice including a plurality of slice segments. For example, it is possible to disable the application of a filter only to the boundary of an intra slice segment included in a slice, and to enable the application of a filter to the boundary of another slice segment. As a result, even when a refresh method using an intra slice segment is used, it is possible to appropriately suppress error propagation while suppressing deterioration in image quality.
  • the independent slice segment header can be copied and used for the dependent slice segment among the plurality of slice segments, the coding efficiency is reduced even if the number of slice segments included in the picture is large. Can be suppressed. Therefore, it is possible to suppress error propagation without reducing the encoding efficiency and image quality.
  • control information in the present embodiment indicates whether or not to apply a deblocking filter to the boundary between slice segments corresponding to the control information.
  • the control information is, for example, the above-described second segment control flag, specifically, slice_segment_loop_filter_cross_slice_segments_disabled_flag.
  • the picture divided into the plurality of slice segments in the present embodiment is one of the plurality of pictures included in the moving image.
  • Each of the plurality of pictures has an I slice segment, and the position of the I slice segment in each of the plurality of pictures is configured to periodically differ according to the encoding order of the plurality of pictures. May be. That is, the plurality of pictures may be configured by a refresh method using an intra slice segment, that is, CIR (Cyclic Intra Refresh).
  • CIR Cyclic Intra Refresh
  • control information indicating that a filter is not applied to the boundary between the slice segment corresponding to the control information and the I slice segment may be added to the header area of the slice segment. Good. Thereby, even if it is a case where the refresh method by an intra slice segment, ie, the case where CIR is used, error propagation can be suppressed appropriately.
  • one independent slice segment is included in the picture, but two or more independent slice segments may be included.
  • at least one dependent slice segment subordinate to the independent slice segment is also included in the picture.
  • the error propagation due to the influence of the deblocking filter is suppressed by controlling the application of the deblocking filter to the boundary of the slice segment.
  • the object to be controlled is not limited to the deblocking filter.
  • the application of a sample adaptive offset (SAO) to a slice segment boundary may be controlled. That is, the control information may indicate whether or not the sample adaptive offset is applied to the boundary of the slice segment corresponding to the control information.
  • SAO sample adaptive offset
  • slice_segment_loop_filter_slice_segments_disabled_flag is used as the second segment control flag, as shown in FIG.
  • the second segment control flag is set to 1 when application of the deblocking filter is invalidated.
  • the second segment control flag may be set to 1 when application of the deblocking filter is enabled, and may be set to 0 when application of the deblocking filter is disabled.
  • the values set in the flags in the above embodiments, that is, 1 or 0 may be interchanged.
  • the error propagation due to the influence of the deblocking filter is suppressed by controlling the application of the deblocking filter to the boundary of the slice segment.
  • the object to be controlled is limited to the deblocking filter of the slice segment boundary. is not.
  • application of the deblocking filter to all blocks included in the target slice segment may be controlled. That is, the application of the deblocking filter may be controlled not only on the boundary of the slice segment but also on the boundary of all blocks included in the slice segment. That is, the control information indicates whether or not to apply a deblocking filter to a boundary between slice segments corresponding to the control information and a boundary between a plurality of blocks included in the slice segment.
  • the effect of error propagation by the deblocking filter can be prevented by not applying the deblocking filter to all the blocks included in the slice segment.
  • each component may be configured by dedicated hardware or may be realized by executing a software program suitable for each component.
  • Each component may be realized by a program execution unit such as a CPU or a processor reading and executing a software program recorded on a recording medium such as a hard disk or a semiconductor memory.
  • the software that realizes the encoding device or the decoding device in each of the above embodiments is a program that causes a computer to execute each step included in the flowcharts shown in FIGS. 10, 11, 12, 13B, and 16B. It is.
  • the encoding device, decoding device, encoding method, and decoding method in each of the above embodiments are also referred to as an image encoding device, an image decoding device, an image encoding method, and an image decoding method, respectively.
  • the encoding device and the decoding device in each of the above embodiments may be applied to HEVC or may be applied to other image coding standards.
  • each of the functional blocks can usually be realized by an MPU, a memory, and the like. Further, the processing by each functional block is usually realized by a program execution unit such as a processor reading and executing software (program) recorded on a recording medium such as a ROM. The software may be distributed by downloading or the like, or may be distributed by being recorded on a recording medium such as a semiconductor memory. Naturally, each functional block can be realized by hardware (dedicated circuit).
  • each embodiment may be realized by centralized processing using a single device (system), or may be realized by distributed processing using a plurality of devices. Good.
  • the number of processors that execute the program may be one or more. That is, centralized processing may be performed, or distributed processing may be performed.
  • the system includes an image encoding device using an image encoding method, an image decoding device using an image decoding method, and an image encoding / decoding device including both.
  • Other configurations in the system can be appropriately changed according to circumstances.
  • FIG. 17 is a diagram showing an overall configuration of a content supply system ex100 that implements a content distribution service.
  • the communication service providing area is divided into desired sizes, and base stations ex106, ex107, ex108, ex109, and ex110, which are fixed wireless stations, are installed in each cell.
  • devices such as a computer ex111, a game machine ex112, a camera ex113, a home appliance ex114, and a smartphone ex115 via the Internet ex101, the Internet service provider ex102 or the communication network ex104, and the base stations ex106 to ex110.
  • the content supply system ex100 may be connected by combining any of the above elements.
  • Each device may be directly or indirectly connected to each other via a telephone network or a short-range wireless communication without using the base stations ex106 to ex110 which are fixed wireless stations.
  • the streaming server ex103 is connected to each device such as a computer ex111, a game machine ex112, a camera ex113, a home appliance ex114, and a smartphone ex115 via the Internet ex101.
  • the streaming server ex103 is connected to a terminal in a hot spot in the airplane ex117 via the satellite ex116.
  • the streaming server ex103 may be directly connected to the communication network ex104 without going through the Internet ex101 or the Internet service provider ex102, or may be directly connected to the airplane ex117 without going through the satellite ex116.
  • the camera ex113 is a device that can shoot still images and moving images such as a digital camera.
  • the smartphone ex115 is a smartphone, a cellular phone, or a PHS (Personal Handyphone System) that is compatible with a mobile communication system generally called 2G, 3G, 3.9G, 4G, and 5G in the future.
  • a mobile communication system generally called 2G, 3G, 3.9G, 4G, and 5G in the future.
  • Home appliance ex114 is a refrigerator or a device included in a household fuel cell cogeneration system.
  • a terminal having a photographing function is connected to the streaming server ex103 through the base station ex106 or the like, thereby enabling live distribution or the like.
  • the terminal (computer ex111, game machine ex112, camera ex113, home appliance ex114, smartphone ex115, terminal in airplane ex117, etc.) is used for the still image or video content captured by the user using the terminal.
  • the encoding process described in each embodiment is performed, and the video data obtained by the encoding and the sound data obtained by encoding the sound corresponding to the video are multiplexed, and the obtained data is transmitted to the streaming server ex103. That is, each terminal functions as an image encoding device according to an aspect of the present invention.
  • the streaming server ex103 streams the content data transmitted to the requested client.
  • the client is a computer or the like in the computer ex111, the game machine ex112, the camera ex113, the home appliance ex114, the smart phone ex115, or the airplane ex117 that can decode the encoded data.
  • Each device that has received the distributed data decrypts and reproduces the received data. That is, each device functions as an image decoding device according to an aspect of the present invention.
  • the streaming server ex103 may be a plurality of servers or a plurality of computers, and may process, record, and distribute data in a distributed manner.
  • the streaming server ex103 may be realized by a CDN (Contents Delivery Network), and content distribution may be realized by a network connecting a large number of edge servers and edge servers distributed all over the world.
  • CDN Contents Delivery Network
  • edge servers that are physically close to each other are dynamically allocated according to clients. Then, the content can be cached and distributed to the edge server, thereby reducing the delay.
  • the processing is distributed among multiple edge servers, the distribution subject is switched to another edge server, or the part of the network where the failure has occurred Since detouring can be continued, high-speed and stable distribution can be realized.
  • the captured data may be encoded at each terminal, may be performed on the server side, or may be shared with each other.
  • a processing loop is performed twice.
  • the first loop the complexity of the image or the code amount in units of frames or scenes is detected.
  • the second loop processing for maintaining the image quality and improving the coding efficiency is performed.
  • the terminal performs the first encoding process
  • the server receiving the content performs the second encoding process, thereby improving the quality and efficiency of the content while reducing the processing load on each terminal. it can.
  • the encoded data of the first time performed by the terminal can be received and reproduced by another terminal, enabling more flexible real-time distribution.
  • the camera ex113 or the like extracts a feature amount from an image, compresses data relating to the feature amount as metadata, and transmits the metadata to the server.
  • the server performs compression according to the meaning of the image, for example, by determining the importance of the object from the feature amount and switching the quantization accuracy.
  • the feature data is particularly effective for improving the accuracy and efficiency of motion vector prediction at the time of re-compression on the server.
  • simple coding such as VLC (variable length coding) may be performed at the terminal, and coding with a large processing load such as CABAC (context adaptive binary arithmetic coding) may be performed at the server.
  • a plurality of video data in which almost the same scene is captured by a plurality of terminals.
  • a GOP Group of Picture
  • a picture unit or a tile obtained by dividing a picture using a plurality of terminals that have performed shooting and other terminals and servers that have not performed shooting as necessary.
  • Distributed processing is performed by assigning encoding processing in units or the like. Thereby, delay can be reduced and real-time property can be realized.
  • the server may manage and / or instruct the video data captured by each terminal to refer to each other.
  • the encoded data from each terminal may be received by the server and the reference relationship may be changed among a plurality of data, or the picture itself may be corrected or replaced to be encoded again. This makes it possible to generate a stream with improved quality and efficiency of each piece of data.
  • the server may distribute the video data after performing transcoding to change the encoding method of the video data.
  • the server may convert the MPEG encoding system to the VP encoding. 264. It may be converted into H.265.
  • the encoding process can be performed by a terminal or one or more servers. Therefore, in the following, description such as “server” or “terminal” is used as the subject performing the processing, but part or all of the processing performed by the server may be performed by the terminal, or the processing performed by the terminal Some or all may be performed at the server. The same applies to the decoding process.
  • the server not only encodes a two-dimensional moving image, but also encodes a still image automatically based on a scene analysis of the moving image or at a time specified by the user and transmits it to the receiving terminal. Also good.
  • the server can acquire the relative positional relationship between the photographing terminals, the server obtains the three-dimensional shape of the scene based on not only the two-dimensional moving image but also the video obtained by photographing the same scene from different angles. Can be generated.
  • the server may separately encode the three-dimensional data generated by the point cloud or the like, and the video to be transmitted to the receiving terminal based on the result of recognizing or tracking the person or the object using the three-dimensional data.
  • the images may be selected or reconstructed from videos captured by a plurality of terminals.
  • the user can arbitrarily select each video corresponding to each photographing terminal and enjoy a scene, or can display a video of an arbitrary viewpoint from three-dimensional data reconstructed using a plurality of images or videos. You can also enjoy the clipped content.
  • sound is collected from a plurality of different angles, and the server may multiplex and transmit sound from a specific angle or space according to the video.
  • the server may create viewpoint images for the right eye and the left eye, respectively, and perform encoding that allows reference between each viewpoint video by Multi-View Coding (MVC) or the like. You may encode as another stream, without referring. At the time of decoding another stream, it is preferable to reproduce in synchronization with each other so that a virtual three-dimensional space is reproduced according to the viewpoint of the user.
  • MVC Multi-View Coding
  • the server superimposes virtual object information in the virtual space on the camera information in the real space based on the three-dimensional position or the movement of the user's viewpoint.
  • the decoding device may acquire or hold virtual object information and three-dimensional data, generate a two-dimensional image according to the movement of the user's viewpoint, and create superimposition data by connecting them smoothly.
  • the decoding device transmits the movement of the user's viewpoint to the server in addition to the request for the virtual object information, and the server creates superimposition data according to the movement of the viewpoint received from the three-dimensional data held in the server,
  • the superimposed data may be encoded and distributed to the decoding device.
  • the superimposed data has an ⁇ value indicating transparency in addition to RGB
  • the server sets the ⁇ value of a portion other than the object created from the three-dimensional data to 0 or the like, and the portion is transparent. May be encoded.
  • the server may generate data in which a RGB value of a predetermined value is set as the background, such as a chroma key, and the portion other than the object is set to the background color.
  • the decryption processing of the distributed data may be performed at each terminal as a client, may be performed on the server side, or may be performed in a shared manner.
  • a terminal may once send a reception request to the server, receive content corresponding to the request at another terminal, perform a decoding process, and transmit a decoded signal to a device having a display.
  • a part of a region such as a tile in which a picture is divided may be decoded and displayed on a viewer's personal terminal while receiving large-size image data on a TV or the like. Accordingly, it is possible to confirm at hand the area in which the person is responsible or the area to be confirmed in more detail while sharing the whole image.
  • access to encoded data on the network such as when the encoded data is cached in a server that can be accessed from the receiving terminal in a short time, or copied to the edge server in the content delivery service. It is also possible to switch the bit rate of received data based on ease.
  • the content switching will be described using a scalable stream that is compression-encoded by applying the moving image encoding method shown in each of the above embodiments shown in FIG.
  • the server may have a plurality of streams of the same content and different quality as individual streams, but the temporal / spatial scalable implementation realized by dividing into layers as shown in the figure.
  • the configuration may be such that the content is switched by utilizing the characteristics of the stream.
  • the decoding side decides which layer to decode according to internal factors such as performance and external factors such as the state of communication bandwidth, so that the decoding side can combine low-resolution content and high-resolution content. You can switch freely and decrypt. For example, when the user wants to continue watching the video that was viewed on the smartphone ex115 while moving on a device such as an Internet TV after returning home, the device only has to decode the same stream to a different layer, so the load on the server side Can be reduced.
  • the enhancement layer includes meta information based on image statistical information, etc., in addition to the configuration in which the picture is encoded for each layer and the enhancement layer exists above the base layer.
  • the decoding side may generate content with high image quality by super-resolution of the base layer picture based on the meta information.
  • Super-resolution may be either improvement of the SN ratio at the same resolution or enlargement of the resolution.
  • the meta information includes information for specifying a linear or non-linear filter coefficient used for super-resolution processing, or information for specifying a parameter value in filter processing, machine learning, or least square calculation used for super-resolution processing. .
  • the picture may be divided into tiles or the like according to the meaning of the object in the image, and the decoding side may select only a part of the region by selecting the tile to be decoded.
  • the decoding side can determine the position of the desired object Can be identified and the tile containing the object can be determined.
  • the meta information is stored using a data storage structure different from the pixel data such as the SEI message in HEVC. This meta information indicates, for example, the position, size, or color of the main object.
  • meta information may be stored in units composed of a plurality of pictures, such as streams, sequences, or random access units.
  • the decoding side can acquire the time when the specific person appears in the video, etc., and can match the picture in which the object exists and the position of the object in the picture by combining with the information in units of pictures.
  • FIG. 20 is a diagram illustrating a display screen example of a web page on the computer ex111 or the like.
  • FIG. 21 is a diagram illustrating a display screen example of a web page on the smartphone ex115 or the like.
  • the web page may include a plurality of link images that are links to image content, and the appearance differs depending on the browsing device. When a plurality of link images are visible on the screen, the display device until the user explicitly selects the link image, or until the link image approaches the center of the screen or the entire link image enters the screen.
  • the (decoding device) displays a still image or an I picture included in each content as a link image, displays a video like a gif animation with a plurality of still images or I pictures, or receives only a base layer to receive a video. Are decoded and displayed.
  • the display device When the link image is selected by the user, the display device decodes the base layer with the highest priority. If there is information indicating that the HTML constituting the web page is scalable content, the display device may decode up to the enhancement layer. Also, in order to ensure real-time properties, the display device only decodes forward reference pictures (I picture, P picture, forward reference only B picture) before being selected or when the communication band is very strict. In addition, the delay between the decoding time of the first picture and the display time (delay from the start of content decoding to the start of display) can be reduced by displaying. Further, the display device may intentionally ignore the reference relationship of pictures and roughly decode all B pictures and P pictures with forward reference, and perform normal decoding as the number of received pictures increases over time.
  • forward reference pictures I picture, P picture, forward reference only B picture
  • the receiving terminal when transmitting and receiving still image or video data such as two-dimensional or three-dimensional map information for automatic driving or driving support of a car, the receiving terminal adds meta data to image data belonging to one or more layers. Weather or construction information may also be received and decoded in association with each other. The meta information may belong to a layer or may be simply multiplexed with image data.
  • the receiving terminal since the car, drone, airplane, or the like including the receiving terminal moves, the receiving terminal transmits the position information of the receiving terminal at the time of the reception request, thereby seamless reception and decoding while switching the base stations ex106 to ex110. Can be realized.
  • the receiving terminal can dynamically switch how much meta-information is received or how much map information is updated according to the user's selection, the user's situation, or the communication band state. become.
  • the encoded information transmitted by the user can be received, decoded and reproduced in real time by the client.
  • the content supply system ex100 can perform not only high-quality and long-time content by a video distributor but also unicast or multicast distribution of low-quality and short-time content by an individual. Moreover, such personal contents are expected to increase in the future.
  • the server may perform the encoding process after performing the editing process. This can be realized, for example, with the following configuration.
  • the server After shooting, the server performs recognition processing such as shooting error, scene search, semantic analysis, and object detection from the original image or encoded data. Then, the server manually or automatically corrects out-of-focus or camera shake based on the recognition result, or selects a less important scene such as a scene whose brightness is lower than that of other pictures or is out of focus. Edit such as deleting, emphasizing the edge of an object, and changing the hue.
  • the server encodes the edited data based on the editing result. It is also known that if the shooting time is too long, the audience rating will decrease, and the server will move not only in the less important scenes as described above, but also in motion according to the shooting time. A scene with few images may be automatically clipped based on the image processing result. Alternatively, the server may generate and encode a digest based on the result of the semantic analysis of the scene.
  • the server may change and encode the face of the person in the periphery of the screen or the inside of the house into an unfocused image.
  • the server recognizes whether or not a face of a person different from the person registered in advance is shown in the encoding target image, and if so, performs processing such as applying a mosaic to the face part. May be.
  • the user designates a person or background area that the user wants to process an image from the viewpoint of copyright, etc., and the server replaces the designated area with another video or blurs the focus. It is also possible to perform such processing. If it is a person, the face image can be replaced while tracking the person in the moving image.
  • the decoding device first receives the base layer with the highest priority and performs decoding and reproduction, depending on the bandwidth.
  • the decoding device may receive the enhancement layer during this time, and may play back high-quality video including the enhancement layer when played back twice or more, such as when playback is looped.
  • a stream that is scalable in this way can provide an experience in which the stream becomes smarter and the image is improved gradually, although it is a rough moving picture when it is not selected or at the beginning of viewing.
  • the same experience can be provided even if the coarse stream played back the first time and the second stream coded with reference to the first video are configured as one stream. .
  • these encoding or decoding processes are generally processed in the LSI ex500 included in each terminal.
  • the LSI ex500 may be configured as a single chip or a plurality of chips.
  • moving image encoding or decoding software is incorporated into some recording medium (CD-ROM, flexible disk, hard disk, or the like) that can be read by the computer ex111 and the like, and encoding or decoding processing is performed using the software. Also good.
  • moving image data acquired by the camera may be transmitted. The moving image data at this time is data encoded by the LSI ex500 included in the smartphone ex115.
  • the LSI ex500 may be configured to download and activate application software.
  • the terminal first determines whether the terminal is compatible with the content encoding method or has a specific service execution capability. If the terminal does not support the content encoding method or does not have the capability to execute a specific service, the terminal downloads a codec or application software, and then acquires and reproduces the content.
  • the content supply system ex100 via the Internet ex101, but also a digital broadcasting system, at least the moving image encoding device (image encoding device) or the moving image decoding device (image decoding device) of the above embodiments. Any of these can be incorporated.
  • the unicasting of the content supply system ex100 is suitable for multicasting because it uses a satellite or the like to transmit and receive multiplexed data in which video and sound are multiplexed on broadcasting radio waves.
  • the same application is possible for the encoding process and the decoding process.
  • FIG. 22 is a diagram illustrating the smartphone ex115.
  • FIG. 23 is a diagram illustrating a configuration example of the smartphone ex115.
  • the smartphone ex115 receives the antenna ex450 for transmitting / receiving radio waves to / from the base station ex110, the camera unit ex465 capable of taking video and still images, the video captured by the camera unit ex465, and the antenna ex450.
  • a display unit ex458 for displaying data obtained by decoding the video or the like.
  • the smartphone ex115 further includes an operation unit ex466 that is a touch panel or the like, a voice output unit ex457 that is a speaker or the like for outputting voice or sound, a voice input unit ex456 that is a microphone or the like for inputting voice, and photographing.
  • Memory unit ex467 that can store encoded video or still image, recorded audio, received video or still image, encoded data such as mail, or decoded data, and a user, and network
  • An external memory may be used instead of the memory unit ex467.
  • a main control unit ex460 that comprehensively controls the display unit ex458, the operation unit ex466, and the like, a power supply circuit unit ex461, an operation input control unit ex462, a video signal processing unit ex455, a camera interface unit ex463, a display control unit ex459, a modulation / Demodulation unit ex452, multiplexing / demultiplexing unit ex453, audio signal processing unit ex454, slot unit ex464, and memory unit ex467 are connected via bus ex470.
  • the power supply circuit unit ex461 starts up the smartphone ex115 in an operable state by supplying power from the battery pack to each unit.
  • the smartphone ex115 performs processing such as calling and data communication based on the control of the main control unit ex460 having a CPU, a ROM, a RAM, and the like.
  • the voice signal picked up by the voice input unit ex456 is converted into a digital voice signal by the voice signal processing unit ex454, spread spectrum processing is performed by the modulation / demodulation unit ex452, and digital / analog conversion is performed by the transmission / reception unit ex451.
  • the data is transmitted via the antenna ex450.
  • the received data is amplified and subjected to frequency conversion processing and analog-digital conversion processing, spectrum despreading processing is performed by the modulation / demodulation unit ex452, and converted to analog audio signal by the audio signal processing unit ex454, and then this is output to the audio output unit ex457 Output from.
  • text, still image, or video data is sent to the main control unit ex460 via the operation input control unit ex462 by the operation of the operation unit ex466 of the main body unit, and transmission / reception processing is performed similarly.
  • the video signal processing unit ex455 uses the video signal stored in the memory unit ex467 or the video signal input from the camera unit ex465 as described above.
  • the video data is compressed and encoded by the moving image encoding method shown in the form, and the encoded video data is sent to the multiplexing / demultiplexing unit ex453.
  • the audio signal processing unit ex454 encodes the audio signal picked up by the audio input unit ex456 while the camera unit ex465 captures a video or a still image, and sends the encoded audio data to the multiplexing / separating unit ex453. To do.
  • the multiplexing / demultiplexing unit ex453 multiplexes the encoded video data and the encoded audio data by a predetermined method, and the modulation / demodulation unit (modulation / demodulation circuit unit) ex452 and the modulation / demodulation unit ex451 perform modulation processing and conversion.
  • the data is processed and transmitted via the antenna ex450.
  • the multiplexing / demultiplexing unit ex453 performs multiplexing By separating the data, the multiplexed data is divided into a bit stream of video data and a bit stream of audio data, and the encoded video data is supplied to the video signal processing unit ex455 via the synchronization bus ex470. The converted audio data is supplied to the audio signal processing unit ex454.
  • the video signal processing unit ex455 decodes the video signal by the video decoding method corresponding to the video encoding method shown in each of the above embodiments, and is linked from the display unit ex458 via the display control unit ex459.
  • a video or still image included in the moving image file is displayed.
  • the audio signal processing unit ex454 decodes the audio signal, and the audio is output from the audio output unit ex457. Since real-time streaming is widespread, depending on the user's situation, there may be occasions where audio playback is not socially appropriate. Therefore, it is desirable that the initial value is a configuration in which only the video data is reproduced without reproducing the audio signal. Audio may be synchronized and played back only when the user performs an operation such as clicking on video data.
  • the smartphone ex115 has been described here as an example, in addition to a transmission / reception terminal having both an encoder and a decoder as a terminal, a transmission terminal having only an encoder and a reception having only a decoder There are three possible mounting formats: terminals.
  • terminals In the digital broadcasting system, it has been described as receiving or transmitting multiplexed data in which audio data or the like is multiplexed with video data.
  • multiplexed data includes character data related to video in addition to audio data. Multiplexing may be performed, and video data itself may be received or transmitted instead of multiplexed data.
  • the terminal often includes a GPU. Therefore, a configuration may be adopted in which a wide area is processed in a lump by utilizing the performance of the GPU by using a memory shared by the CPU and the GPU or a memory whose addresses are managed so as to be used in common. As a result, the encoding time can be shortened, real-time performance can be secured, and low delay can be realized. In particular, it is efficient to perform motion search, deblocking filter, SAO (Sample Adaptive Offset), and transformation / quantization processing in batches in units of pictures or the like instead of the CPU.
  • SAO Sample Adaptive Offset
  • the processing performed in units of slice segments in the embodiment of the present disclosure may be performed in units different from slice segments.
  • the processing may be performed for each region including one or more blocks (CU, PU, or TU), and may be performed, for example, in units of tiles.
  • independent slice segments may correspond to independent tiles
  • dependent slice segments may correspond to dependent tiles.
  • An intra slice in the CIR may be an intra prediction region including one or more blocks that are intra-predicted, and may be a tile or a processing unit different from a tile.
  • the intra prediction area in the CIR may move in a direction different from the direction from the top to the bottom instead of moving from the top to the bottom as the picture is switched. For example, the intra prediction area may move from left to right.
  • the encoding device and the decoding device of the present disclosure have an effect of being able to appropriately suppress error propagation.
  • a television, a digital video recorder, a car navigation, a mobile phone, a digital camera, a digital video camera, an in-vehicle camera It can be used for information display devices such as network cameras or imaging devices, and has high utility value.

Landscapes

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

Abstract

エラー伝搬を適切に抑制することができる符号化装置(100)は、処理回路と、メモリとを備え、その処理回路は、メモリを用いて、ピクチャを複数のスライスセグメントに分割し、複数のスライスセグメントのそれぞれに含まれる複数のブロックを符号化し、符号化された前記複数のブロックを再構成し、複数のスライスセグメントのそれぞれについて、当該スライスセグメントに対するフィルタの適用を制御するための制御情報を、当該スライスセグメントのヘッダ領域に付加し、その複数のスライスセグメントのそれぞれについて、当該スライスセグメントの前記制御情報にしたがって、当該スライスセグメントに含まれる再構成されたブロックに対してフィルタを適用する。

Description

符号化装置、復号装置、符号化方法、および復号方法
 本開示は、画像データに対して画像符号化を施す符号化装置、およびその符号化された画像データに対して画像復号を施す復号装置などに関する。
 近年、自動ブレーキなどの先進運転システム(ADAS:Advanced Driver Assistance Systems)や自動運転を実現するため、車載カメラ、または道路に設置したカメラで撮影した、膨大な動画像データを限られた伝送帯域で高品位かつ少ない遅延時間で伝送することが求められている。
 膨大な動画像データを限られた伝送帯域で伝送するためには、画像符号化を行い、伝送する動画像データの符号量を削減する必要がある。特許文献1および2と非特許文献1には、このような画像符号化に関する技術が開示されている。
特開平11-205803号公報 特許第5353532号公報
大久保栄ら著,「H.265/HEVC教科書」,インプレスジャパン,2013年,P.206,207
 しかしながら、上記各文献の技術では、エラー伝搬を適切に抑制することができないという課題がある。
 そこで、本開示は、エラー伝搬を適切に抑制することができる符号化装置および復号装置などを提供する。
 本開示の一態様に係る符号化装置は、ピクチャを符号化する符号化装置であって、処理回路と、メモリとを備え、前記処理回路は、前記メモリを用いて、前記ピクチャを複数のスライスセグメントに分割し、前記複数のスライスセグメントのそれぞれに含まれる複数のブロックを符号化し、符号化された前記複数のブロックを再構成し、前記複数のスライスセグメントのそれぞれについて、当該スライスセグメントに対するフィルタの適用を制御するための制御情報を、当該スライスセグメントのヘッダ領域に付加し、前記複数のスライスセグメントのそれぞれについて、当該スライスセグメントの前記制御情報にしたがって、当該スライスセグメントに含まれる再構成されたブロックに対してフィルタを適用する。
 本開示の一態様に係る復号装置は、符号化ピクチャを復号する復号装置であって、処理回路と、メモリとを備え、前記処理回路は、前記メモリを用いて、前記符号化ピクチャを構成する複数のスライスセグメントのそれぞれに含まれる複数のブロックを再構成し、前記複数のスライスセグメントのそれぞれについて、当該スライスセグメントに対するフィルタの適用を制御するための制御情報を、当該スライスセグメントのヘッダ領域から取得し、前記複数のスライスセグメントのそれぞれについて、当該スライスセグメントの前記制御情報にしたがって、当該スライスセグメントに含まれる再構成されたブロックに対してフィルタを適用する。
 なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。また、記録媒体は、非一時的な記録媒体であってもよい。
 本開示の符号化装置によれば、エラー伝搬を適切に抑えることができる。
図1は、特許文献1におけるイントラスライスによるリフレッシュ方式を示す図である。 図2は、特許文献2におけるエラー伝搬を抑制したイントラスライスによるリフレッシュ方式を示す図である。 図3は、実施の形態1における符号化装置のブロック図である。 図4は、実施の形態1における判定部のブロック図である。 図5は、実施の形態1におけるエントロピー符号化部のブロック図である。 図6は、実施の形態1における複数のスライスセグメントを示す図である。 図7は、実施の形態1におけるピクチャパラメータセットのシンタックスの一例を示す図である。 図8は、実施の形態1におけるスライスセグメントヘッダのシンタックスの一例を示す図である。 図9は、実施の形態1におけるデブロッキングフィルタが適用されるブロックの境界を示す図である。 図10は、実施の形態1におけるデブロッキングフィルタの全体的な判定処理を示すフローチャートである。 図11は、実施の形態1におけるデブロッキングフィルタの左ブロック境界に対する判定処理を示すフローチャートである。 図12は、実施の形態1におけるデブロッキングフィルタの上ブロック境界に対する判定処理を示すフローチャートである。 図13Aは、実施の形態1における符号化装置の機能的な構成を示すブロック図である。 図13Bは、実施の形態1における符号化方法を示すフローチャートである。 図14は、実施の形態2における復号装置のブロック図である。 図15は、実施の形態2におけるエントロピー復号部のブロック図である。 図16Aは、実施の形態2における復号装置の機能的な構成を示すブロック図である。 図16Bは、実施の形態2における復号方法を示すフローチャートである。 図17は、コンテンツ配信サービスを実現するコンテンツ供給システムの全体構成図である。 図18は、スケーラブル符号化時の符号化構造の一例を示す図である。 図19は、スケーラブル符号化時の符号化構造の一例を示す図である。 図20は、webページの表示画面例を示す図である。 図21は、webページの表示画面例を示す図である。 図22は、スマートフォンの一例を示す図である。 図23は、スマートフォンの構成例を示すブロック図である。
 (本開示の基礎となった知見)
 本発明者は、「背景技術」の欄において記載した従来の符号化方法に関し、以下の問題が生じることを見出した。
 通常の画像符号化では、ピクチャごとに、そのピクチャのタイプを選択し、そのタイプにしたがってピクチャを符号化する。ピクチャのタイプには、フレーム内符号化が行われるIピクチャと、フレーム間符号化が行われるPピクチャとがある。ここで、Pピクチャに比べてIピクチャは符号量が大きいため、Iピクチャの伝送に時間がかかり遅延が大きくなるという問題がある。
 それを解決するためにイントラスライスによるリフレッシュ方式が使用される(例えば、特許文献1参照)。
 図1は、特許文献1におけるイントラスライスによるリフレッシュ方式を示している。1つのピクチャは、フレーム内予測を行うイントラスライスと、フレーム間予測を行うインタースライスとから構成されている。符号化されるピクチャが切り替わるにつれて、ピクチャ内におけるイントラスライスが上から下へ移動する。これにより、イントラスライスによるリフレッシュ方式では、ピクチャごとの符号量を均一にすることができるため、符号化した動画像データを少ない遅延時間で伝送することができる。なお、このようなイントラスライスによるリフレッシュ方式を、CIR(Cyclic Intra Refresh)ともいう。
 しかし、イントラスライスによるリフレッシュ方式の場合、伝送エラーが発生すると、Iピクチャを使用しないため、エラーが伝搬してしまうという問題がある。それに対して、動きベクトルの探索範囲を制限し、動き予測処理とデブロックフィルタ処理に起因するエラー伝搬を防止する方式がある(例えば、特許文献2参照)。
 図2は、特許文献2におけるイントラスライスによるリフレッシュ方式を示している。スライスヘッダ内のフラグとしてdisable_deblocking_filter_idc=2を設定し、スライス境界のデブロッキングフィルタをかけない設定にすることで、デブロッキングフィルタの影響によるエラー伝搬を防ぐ方法が示されている。
 また、イントラスライスによるリフレッシュ方式の場合、スライス分割数が多くなると各スライスの先頭に含まれるスライスヘッダの符号量が増加するため、符号化効率が低下するという問題がある。この問題に対して、新しい画像符号化規格であるHEVC(High Efficiency Video Coding)で新しく導入された従属スライスを使うと、符号化効率の低下を抑制することができる。つまり、従属スライスでは、直前の独立スライスのスライスヘッダをコピーすることができ、従属スライスのスライスヘッダに必要な符号量を削減できる。したがって、スライス分割数を多くしても符号化効率化の低下を抑制することができる。なお、独立スライスは、独立スライスセグメントともいい、従属スライスは、従属スライスセグメントともいう。また、スライス分割数は、ピクチャを分割することによって得られるスライスまたはスライスセグメントの数である。
 しかしながら、特許文献2の方法を従属スライスに適用した場合、例えば1つの従属スライスの境界にのみデブロックフィルタをかけないようにすることができない。したがって、エラー伝搬を防ぐためには、デブロックフィルタを全ての画素に対して適用しないようにする必要があり、画質が低下するという課題がある。
 本開示は、前記従来の課題を解決するもので、従属スライスを使用した場合においても、符号化効率および画質を低下させることなく、エラー伝搬を抑制することができる符号化装置を提供する。
 つまり、本開示の一態様に係る符号化装置は、ピクチャを符号化する符号化装置であって、処理回路と、メモリとを備え、前記処理回路は、前記メモリを用いて、前記ピクチャを複数のスライスセグメントに分割し、前記複数のスライスセグメントのそれぞれに含まれる複数のブロックを符号化し、符号化された前記複数のブロックを再構成し、前記複数のスライスセグメントのそれぞれについて、当該スライスセグメントに対するフィルタの適用を制御するための制御情報を、当該スライスセグメントのヘッダ領域に付加し、前記複数のスライスセグメントのそれぞれについて、当該スライスセグメントの前記制御情報にしたがって、当該スライスセグメントに含まれる再構成されたブロックに対してフィルタを適用する。例えば、前記複数のスライスセグメントのそれぞれは、前記ピクチャに含まれるスライスを構成する、独立スライスセグメント、および前記独立スライスセグメントに従属する少なくとも1つの従属スライスセグメントのうちの何れか1つのスライスセグメントであってもよい。
 これにより、独立スライスセグメントおよび従属スライスセグメントなどのスライスセグメントごとに、そのスライスセグメントに対するフィルタの適用を制御することができる。したがって、複数のスライスセグメントからなるスライスごとに、そのスライスに対するフィルタの適用を制御する場合よりも、より細かい単位でフィルタの適用を制御することができる。例えば、スライスに含まれるイントラスライスセグメントの境界のみに対してフィルタの適用を無効にし、かつ、その他のスライスセグメントの境界に対してフィルタの適用を有効にすることができる。その結果、イントラスライスセグメントによるリフレッシュ方式を用いる場合であっても、画質の低下を抑えながら、エラー伝搬を適切に抑制することができる。また、複数のスライスセグメントのうちの従属スライスセグメントに対しては、独立スライスセグメントのヘッダをコピーして利用することができるため、ピクチャに含まれるスライスセグメントの数が多くても符号化効率の低下を抑制することができる。したがって、符号化効率および画質を低下させることなく、エラー伝搬を抑制することができる。
 また、前記制御情報は、前記制御情報に対応する前記スライスセグメントの境界に対してデブロッキングフィルタを適用するか否かを示してもよい。
 これにより、デブロッキングフィルタが適用される場合には、スライスセグメントの境界における画像の歪みを低減することができる。
 また、前記制御情報は、前記制御情報に対応する前記スライスセグメントの境界に対してサンプル・アダプティブ・オフセットを適用するか否かを示してもよい。
 これにより、サンプル・アダプティブ・オフセットが適用される場合には、符号化された各ブロックの復号によって得られる復号画像を、原画像により近づけることができる。
 また、前記制御情報は、前記制御情報に対応する前記スライスセグメントの境界と、前記スライスセグメントに含まれる複数のブロック間の境界とに対してデブロッキングフィルタを適用するか否かを示してもよい。
 これにより、スライスセグメントの境界だけでなく、そのスライスセグメントの内部に対するデブロッキングフィルタの適用も制御されるため、符号化効率を低下させることなく、エラー伝搬をより抑制することができる。
 また、前記ピクチャは、動画像に含まれる複数のピクチャのうちの1つであって、前記複数のピクチャのそれぞれは、Iスライスセグメントを有し、かつ、前記複数のピクチャのそれぞれにおける前記Iスライスセグメントの位置が、前記複数のピクチャの符号化順にしたがって周期的に異なるように構成され、前記制御情報の付加では、前記制御情報に対応する前記スライスセグメントと前記Iスライスセグメントとの境界に対してフィルタを適用しないことを示す前記制御情報を、前記スライスセグメントのヘッダ領域に付加してもよい。
 これにより、イントラスライスセグメントによるリフレッシュ方式、すなわちCIR(Cyclic Intra Refresh)を用いる場合であっても、エラー伝搬を適切に抑制することができる。
 また、本開示の他の態様に係る符号化装置は、ピクチャを符号化する符号化装置であって、前記ピクチャを複数のスライスセグメントに分割する分割部と、前記複数のスライスセグメントのそれぞれに含まれる複数のブロックを符号化する符号化部と、符号化された前記複数のブロックを再構成する再構成部と、前記複数のスライスセグメントのそれぞれについて、当該スライスセグメントに対するフィルタの適用を制御するための制御情報を、当該スライスセグメントのヘッダ領域に付加するヘッダ処理部と、前記複数のスライスセグメントのそれぞれについて、当該スライスセグメントの前記制御情報にしたがって、当該スライスセグメントに含まれる再構成されたブロックに対してフィルタを適用するフィルタ部とを備える。
 これにより、上述と同様に、符号化効率および画質を低下させることなく、エラー伝搬を抑制することができる。
 また、本開示の一態様に係る復号装置は、符号化ピクチャを復号する復号装置であって、処理回路と、メモリとを備え、前記処理回路は、前記メモリを用いて、前記符号化ピクチャを構成する複数のスライスセグメントのそれぞれに含まれる複数のブロックを再構成し、前記複数のスライスセグメントのそれぞれについて、当該スライスセグメントに対するフィルタの適用を制御するための制御情報を、当該スライスセグメントのヘッダ領域から取得し、前記複数のスライスセグメントのそれぞれについて、当該スライスセグメントの前記制御情報にしたがって、当該スライスセグメントに含まれる再構成されたブロックに対してフィルタを適用する。例えば、前記複数のスライスセグメントのそれぞれは、前記符号化ピクチャに含まれるスライスを構成する、独立スライスセグメント、および前記独立スライスセグメントに従属する少なくとも1つの従属スライスセグメントのうちの何れか1つのスライスセグメントである。
 これにより、独立スライスセグメントおよび従属スライスセグメントなどのスライスセグメントごとに、そのスライスセグメントに対するフィルタの適用を制御することができる。したがって、複数のスライスセグメントからなるスライスごとに、そのスライスに対するフィルタの適用を制御する場合よりも、より細かい単位でフィルタの適用を制御することができる。例えば、スライスに含まれるイントラスライスセグメントの境界のみに対してフィルタの適用を無効にし、かつ、その他のスライスセグメントの境界に対してフィルタの適用を有効にすることができる。その結果、イントラスライスセグメントによるリフレッシュ方式を用いる場合であっても、画質の低下を抑えながら、エラー伝搬を適切に抑制することができる。また、複数のスライスセグメントのうちの従属スライスセグメントに対しては、独立スライスセグメントのヘッダをコピーして利用することができるため、ピクチャに含まれるスライスセグメントの数が多くても符号化効率の低下を抑制することができる。したがって、符号化効率および画質を低下させることなく、エラー伝搬を抑制することができる。
 また、前記制御情報は、前記制御情報に対応する前記スライスセグメントの境界に対してデブロッキングフィルタを適用するか否かを示してもよい。
 これにより、デブロッキングフィルタが適用される場合には、スライスセグメントの境界における画像の歪みを低減することができる。
 また、前記制御情報は、前記制御情報に対応する前記スライスセグメントの境界に対してサンプル・アダプティブ・オフセットを適用するか否かを示してもよい。
 これにより、サンプル・アダプティブ・オフセットが適用される場合には、符号化された各ブロックの復号によって得られる復号画像を、原画像により近づけることができる。
 また、前記制御情報は、前記制御情報に対応する前記スライスセグメントの境界と、前記スライスセグメントに含まれる複数のブロック間の境界とに対してデブロッキングフィルタを適用するか否かを示してもよい。
 これにより、スライスセグメントの境界だけでなく、そのスライスセグメントの内部に対するデブロッキングフィルタの適用も制御されるため、符号化効率を低下させることなく、エラー伝搬をより抑制することができる。
 また、前記符号化ピクチャは、ビットストリームに含まれる複数の符号化ピクチャのうちの1つであって、前記複数の符号化ピクチャのそれぞれは、Iスライスセグメントを有し、かつ、前記複数の符号化ピクチャのそれぞれにおける前記Iスライスセグメントの位置が、前記複数の符号化ピクチャの復号順にしたがって周期的に異なるように構成され、前記制御情報の取得では、前記制御情報に対応する前記スライスセグメントと前記Iスライスセグメントとの境界に対してフィルタを適用しないことを示す前記制御情報を、前記スライスセグメントのヘッダ領域から取得してもよい。
 これにより、イントラスライスセグメントによるリフレッシュ方式、すなわちCIR(Cyclic Intra Refresh)を用いる場合であっても、エラー伝搬を適切に抑制することができる。
 また、本開示の一態様に係る復号装置は、符号化ピクチャを復号する復号装置であって、前記符号化ピクチャを構成する複数のスライスセグメントのそれぞれに含まれる複数のブロックを再構成する再構成部と、前記複数のスライスセグメントのそれぞれについて、当該スライスセグメントに対するフィルタの適用を制御するための制御情報を、当該スライスセグメントのヘッダ領域から取得するヘッダ処理部と、前記複数のスライスセグメントのそれぞれについて、当該スライスセグメントの前記制御情報にしたがって、当該スライスセグメントに含まれる再構成されたブロックに対してフィルタを適用するフィルタ部とを備える。
 これにより、上述と同様に、符号化効率および画質を低下させることなく、エラー伝搬を抑制することができる。
 以下、実施の形態について、図面を参照しながら具体的に説明する。
 なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
 また、各図は、模式図であり、必ずしも厳密に図示されたものではない。また、各図において、同じ構成部材については同じ符号を付している。
 (実施の形態1)
 図3は、本実施の形態における符号化装置の構成を示すブロック図である。
 本実施の形態における符号化装置100は、エラー伝搬を適切に抑制することができる装置である。このような符号化装置100は、スライス分割部101と、減算器102と、直交変換部103と、量子化部104と、エントロピー符号化部105と、逆量子化部106と、逆直交変換部107と、加算器108と、デブロッキングフィルタ部109と、メモリ110と、イントラ予測部111と、インター予測部112と、動き検出部113と、判定部114とを備える。
 スライス分割部101は、複数のピクチャを含む動画像信号を取得し、ピクチャを複数のスライスまたはスライスセグメントに分割する。ここで、複数のスライスセグメントのそれぞれは、ピクチャに含まれるスライスを構成する、独立スライスセグメント、およびその独立スライスセグメントに従属する少なくとも1つの従属スライスセグメントのうちの何れか1つのスライスセグメントである。
 減算器102は、複数のスライスまたはスライスセグメントを取得するとともに、判定部114から予測画像を取得する。そして、減算器102は、そのスライスまたはスライスセグメントのうちの符号化の対象とされるブロック(以下、対象ブロックという)から予測画像を減算することによって差分画像を生成する。ブロックは、例えばCTU(Coding Tree Unit)、CU(Coding Unit)、PU(Prediction Unit)またはTU(Transform Unit)に相当する。
 直交変換部103は、減算器102によって生成された差分画像に対して、例えば離散コサイン変換などの直交変換(周波数変換)を行うことによって、その差分画像を複数の周波数係数からなる係数列に変換する。量子化部104は、その係数列に含まれる各周波数係数を量子化することによって、量子化された係数列を生成する。
 逆量子化部106は、量子化部104によって量子化された係数列を逆量子化する。逆直交変換部107は、その逆量子化された係数列に含まれる各周波数係数に対して逆離散コサイン変換などの逆直交変換(逆周波数変換)を行うことによって、復号差分画像を生成する。
 加算器108は、判定部114から予測画像を取得し、その予測画像と、逆直交変換部107によって生成された復号差分画像とを加算することによって局所復号画像(再構成画像)を生成する。これによって、符号化されたブロックが再構成される。
 デブロッキングフィルタ部109は、加算器108によって生成された局所復号画像のブロック歪みを除去し、その局所復号画像をメモリ110に格納する。また、本実施の形態におけるデブロッキングフィルタ部109は、複数のスライスセグメントのそれぞれについて、当該スライスセグメントの制御情報にしたがって、当該スライスセグメントに含まれる再構成されたブロックに対してフィルタを適用する。そのフィルタは、本実施の形態では、デブロッキングフィルタである。また、制御情報は、その制御情報に対応するスライスセグメントの境界に対してデブロッキングフィルタを適用するか否かを示す。
 メモリ110は、インター予測の際の参照画像として局所復号画像を格納するためのメモリである。なお、このメモリ110は復号ピクチャバッファ(DPB)として用いられる。
 イントラ予測部111は、加算器108によって生成された局所復号画像を用いて、対象ブロックに対してイントラ予測を行うことによって予測画像(イントラ予測画像)を生成する。
 動き検出部113は、動画像信号に含まれる対象ブロックに対して動きベクトルを検出し、その検出された動きベクトルをインター予測部112とエントロピー符号化部105とに出力する。
 インター予測部112は、メモリ110に格納されている画像を参照画像として参照するとともに、動き検出部113によって検出された動きベクトルを用いることによって、対象ブロックに対して動き補償を行う。インター予測部112は、このような動き補償を行うことによって、つまり対象ブロックに対してインター予測を行うことによって、対象ブロックの予測画像(インター予測画像)を生成する。
 判定部114は、対象ブロックをイントラ予測符号化するか、インター予測符号化するかを判定する。ここで、判定部114は、対象ブロックがイントラ予測符号化される場合には、イントラ予測部111によって生成された予測画像(イントラ予測画像)を減算器102及び加算器108に出力する。一方、判定部114は、対象ブロックがインター予測符号化される場合には、インター予測部112によって生成された予測画像(インター予測画像)を減算器102及び加算器108に出力する。
 エントロピー符号化部105は、量子化部104によって量子化された係数列と、動き検出部113によって検出された動きベクトルとを、エントロピー符号化(可変長符号化)することによってビットストリームを生成する。
 図4は、判定部114の構成を示すブロック図である。
 判定部114は、位置判定部115とスイッチ116とを構える。
 位置判定部115は、ブロック位置情報とピクチャ番号とから、対象ブロックがイントラスライスまたはイントラスライスセグメントに含まれるか否かを判定する。ブロック位置情報は、ピクチャにおける対象ブロックの位置を示す。ピクチャ番号は、対象ブロックを含むピクチャの識別番号である。そして、位置判定部115は、対象ブロックがイントラスライスまたはイントラスライスセグメントに含まれる場合は、対象ブロックがイントラ予測符号化されるように、スイッチ116を制御する。
 スイッチ116は、対象ブロックがイントラ符号化される場合は、イントラ予測部111によって生成されたイントラ予測画像を予測画像として出力する。一方、対象ブロックがインター符号化される場合は、スイッチ116は、インター予測部112によって生成されたインター予測画像を予測画像として出力する。
 図5は、エントロピー符号化部105の構成を示すブロック図である。
 エントロピー符号化部105は、ピクチャヘッダ生成部117と、スライスヘッダ生成部118と、符号化処理部119とを構える。
 ピクチャヘッダ生成部117は、ブロック位置情報を取得し、そのブロック位置情報に基づいて、対象ブロックがピクチャの先頭に位置するか否かを判定する。
 ピクチャヘッダ生成部117は、対象ブロックがピクチャの先頭に位置する場合、第1のスライス制御フラグをピクチャパラメータセットに付加する。第1のスライス制御フラグは、スライス境界に対するデブロッキングフィルタを制御するための第2のスライス制御フラグがスライスヘッダまたはスライスセグメントヘッダに含まれているか否かを示す。
 同様に、ピクチャヘッダ生成部117は、対象ブロックがピクチャの先頭に位置する場合、第1のセグメント制御フラグをピクチャパラメータセットに付加する。第1のセグメント制御フラグは、スライスセグメント境界に対するデブロッキングフィルタを制御するための第2のセグメント制御フラグがスライスセグメントヘッダに含まれているか否かを示す。
 これにより、第1のスライス制御フラグおよび第1のセグメント制御フラグが付加されたピクチャパラメータセットを有するビットストリームが、エントロピー符号化部105から出力される。
 スライスヘッダ生成部118は、ブロック位置情報とスライス分割位置情報とを取得する。スライス分割位置情報は、ピクチャに含まれる複数のスライスまたはスライスセグメントのそれぞれのピクチャ内における位置を示す。スライスヘッダ生成部118は、これらの情報に基づいて、対象ブロックがスライスまたはスライスセグメントの先頭に位置するか否かを判定する。
 スライスヘッダ生成部118は、対象ブロックがスライスの先頭に位置する場合、スライス境界に対するデブロッキングフィルタを制御するための第2のスライス制御フラグをスライスヘッダに付加する。すなわち、スライスヘッダ生成部118は、スライスに対するフィルタの適用を制御するための制御情報、具体的には、上述の第2のスライス制御フラグを、そのスライスのヘッダ領域に付加する。なお、スライスが複数のスライスセグメントに分割されている場合には、スライスヘッダ生成部118は、そのスライスに含まれる複数のスライスセグメントのそれぞれのヘッダ領域であるスライスセグメントヘッダに、その第2のスライス制御フラグを付加してもよい。
 同様に、スライスヘッダ生成部118は、対象ブロックがスライスセグメントの先頭に位置する場合、スライスセグメント境界に対するデブロッキングフィルタを制御するための第2のセグメント制御フラグをスライスセグメントヘッダに付加する。すなわち、スライスヘッダ生成部118は、スライスセグメントに対するフィルタの適用を制御するための制御情報、具体的には、上述の第2のセグメント制御フラグを、そのスライスセグメントのヘッダ領域に付加する。
 これにより、第2のスライス制御フラグおよび第2のセグメント制御フラグが付加されたスライスセグメントヘッダを有するビットストリームが、エントロピー符号化部105から出力される。
 符号化処理部119は、量子化部104から出力された係数列をエントロピー符号化し、エントロピー符号化された係数列を有するビットストリームを出力する。
 図6は、本実施の形態における符号化装置100によって符号化されたピクチャに含まれる複数のスライスセグメントの一例を示す図である。
 符号化されたピクチャは、複数のスライスに分割される。図6に示す例では、1つのピクチャは3つのスライスに分割されている。スライス境界とは、互いに隣接するスライス同士の境界である。図6の例では、スライス1とスライス2の間と、スライス2とスライス3の間に、それぞれスライス境界が存在する。
 さらに、スライスは、複数のスライスセグメントに分割される。スライスセグメントの種類は2つあり、独立スライスセグメントと従属スライスセグメントがある。スライスは1つの独立スライスセグメントと複数の従属スライスセグメントで構成される。図6に示す例では、スライス1は、1つの独立スライスセグメント1Aと3つの従属スライスセグメント1a、1bおよび1cとに分割されている。スライスセグメント境界は、スライス内で互いに隣接するスライスセグメント同士の境界である。つまり、スライスセグメント境界には、スライス境界は含まれない。図6の例では、スライス1の中に、独立スライスセグメント1Aと従属スライスセグメント1aとの間と、従属スライスセグメント1aと従属スライスセグメント1bの間と、従属スライスセグメント1bと従属スライスセグメント1cの間に、それぞれスライスセグメント境界が存在する。
 独立スライスセグメントおよび従属スライスセグメントは、上記非特許文献1の独立スライス・データおよび従属スライス・データに相当する。具体的には、独立スライスセグメントおよび従属スライスセグメントは、それぞれ以下の特徴を有する。
 独立スライスセグメントおよび従属スライスセグメントは、それぞれスライスヘッダ(具体的には、スライスセグメントヘッダ)を有する。したがって、これらのスライスセグメントはNALユニットを構成する。しかし、従属スライスセグメントのスライスヘッダに含まれるシンタックス情報は、独立スライスセグメントのスライスヘッダに含まれるシンタックス情報よりも少ない。したがって、従属スライスセグメントの復号には、独立スライスセグメントのスライスヘッダに含まれる大部分のシンタックス情報がコピーされて用いられる。これにより、復号装置は、従属スライスセグメントだけでは、その従属スライスセグメントを復号することができず、上述のように、独立スライスセグメントのスライスヘッダを必要とする。
 図7は、本実施の形態における符号化装置100による符号化によって生成されたビットストリームに含まれるピクチャパラメータセットのシンタックスの一例を示す図である。
 図7のシンタックス700に示すように、ピクチャヘッダ生成部117は、上述の第1のセグメント制御フラグをピクチャパラメータセットへ付加する。第1のセグメント制御フラグは、例えば、pps_loop_filter_across_slice_segment_disabled_flagである。
 図8は、本実施の形態における符号化装置100による符号化によって生成されたビットストリームに含まれるスライスセグメントヘッダのシンタックスの一例を示す図である。
 図8のシンタックス800に示すように、スライスヘッダ生成部118は、スライスセグメント境界へのデブロッキングフィルタの適用を制御するための第2のセグメント制御フラグをスライスセグメントヘッダに付加する。第2のセグメント制御フラグは、例えば、slice_segment_loop_filter_across_slice_segments_disabled_flagである。この第2のセグメント制御フラグが1に設定されている場合、デブロッキングフィルタ部109は、その第2のセグメント制御フラグを有するスライスセグメントの境界に対しデブロッキングフィルタを適用しない。
 なお、図8に示すスライスセグメントヘッダのシンタックスは、従属スライスセグメントのヘッダ領域のシンタックスの例であり、独立スライスセグメントのスライスセグメントヘッダは、図8に示すシンタックスよりも多くの情報を含む。
 図9は、本実施の形態における符号化装置100のデブロッキングフィルタ部109によってデブロッキングフィルタが適用される対象ブロックの境界を示す図である。
 図9に示すように、例えば、対象ブロックは、それぞれ8×8画素のサイズを有する4つのサブブロックからなる。デブロッキングフィルタ部109は、対象ブロック内のサブブロック間の水平境界および垂直境界に対するデブロックフィルタの適用が有効か無効かを判定する。この水平境界を、ブロック内水平境界ともいい、垂直境界を、ブロック内垂直境界ともいう。また、水平境界および垂直境界を、ブロック内境界と総称する。
 さらに、デブロッキングフィルタ部109は、対象ブロックと左隣接ブロックとの境界に位置する左ブロック境界に対するデブロックフィルタの適用が有効か無効かを判定する。左隣接ブロックは、対象ブロックの左側に隣接するブロックであって、複数のサブブロックから構成されていてもよい。また、デブロッキングフィルタ部109は、対象ブロックと上隣接ブロックとの境界に位置する上ブロック境界に対するデブロッキングフィルタの適用が有効か無効かを判定する。上隣接ブロックは、対象ブロックの上側に隣接するブロックであって、複数のサブブロックから構成されていてもよい。
 図10は、本実施の形態における符号化装置100のデブロッキングフィルタ部109によるデブロッキングフィルタの全体的な判定フローを示すフローチャートである。具体的には、図10に示すフローチャートは、対象ブロックの各境界に対してデブロッキングフィルタを適用するか否かを判定する判定フローを示す。
 まず、デブロッキングフィルタ部109は、対象ブロックの何れかの境界に対してデブロッキングフィルタを適用するか否かを判定する(ステップS11)。例えば、デブロッキングフィルタ部109は、ピクチャパラメータセット内の第1のDBF制御フラグと、スライスセグメントヘッダ内の第2のDBF制御フラグを参照することによって、デブロッキングフィルタを適用するか否かを判定する。第1のDBF制御フラグは、図7に示す、pps_deblocking_filter_disabled_flagである。
 また、第2のDBF制御フラグは、図8に示す、slice_deblocking_filter_disabled_flagである。例えば、第1のDBF制御フラグに1が設定され、かつ、第2のDBF制御フラグに1が設定されている場合、デブロッキングフィルタ部109は、対象ブロックの全ての境界に対してデブロッキングフィルタを適用しないと判定する。
 ステップS11でデブロッキングフィルタを適用すると判定された場合(ステップS11のYes)、デブロッキングフィルタ部109は、ブロック内制御フラグに1を設定する(ステップS12)。ブロック内制御フラグは、ブロック内境界に対するデブロッキングフィルタの適用が有効か無効かを示すフラグであって、例えば、dbf_c_flagである。1に設定されたブロック内制御フラグは、そのデブロッキングフィルタの適用が有効であることを示す。つまり、ステップS12では、デブロッキングフィルタ部109は、ブロック内境界に対してデブロッキングフィルタの適用が有効と判定する。次に、デブロッキングフィルタ部109は、左ブロック境界の判定(ステップS13)を行い、上ブロック境界の判定(ステップS14)を行い、判定処理を終了する。
 一方、ステップS11でデブロッキングフィルタを適用しないと判定された場合(ステップS11のNo)、デブロッキングフィルタ部109は、上述のブロック内制御フラグ(すなわち、dbf_c_flag)に0を設定する(ステップS15)。0に設定されたブロック内制御フラグは、ブロック内境界に対するデブロッキングフィルタの適用が無効であることを示す。つまり、ステップS15では、デブロッキングフィルタ部109は、ブロック内境界に対してデブロッキングフィルタの適用が無効と判定する。
 次に、デブロッキングフィルタ部109は、左制御フラグに0を設定する(ステップS16)。左制御フラグは、左ブロック境界に対するデブロッキングフィルタの適用が有効か無効かを示すフラグであって、例えば、dbf_a_flagである。0に設定された左制御フラグは、そのデブロッキングフィルタの適用が無効であることを示す。つまり、ステップS16では、デブロッキングフィルタ部109は、左ブロック境界に対してデブロッキングフィルタの適用が無効と判定する。
 最後に、デブロッキングフィルタ部109は、上制御フラグに0を設定する(ステップS17)。上制御フラグは、上ブロック境界に対するデブロッキングフィルタの適用が有効か無効かを示すフラグであって、例えば、dbf_b_flagである。0に設定された上制御フラグは、そのデブロッキングフィルタの適用が無効であることを示す。つまり、ステップS17では、デブロッキングフィルタ部109は、上ブロック境界に対してデブロッキングフィルタの適用が無効と判定する。そして、デブロッキングフィルタ部109は、対象ブロックに対する全ての判定処理を終了する。
 図11は、デブロッキングフィルタ部109が、対象ブロックの左ブロック境界に対してデブロッキングフィルタを適用するか否かを判定する判定フローを示すフローチャートである。つまり、図11は、図10のステップS13の詳細な判定フローを示すフローチャートである。
 まず、デブロッキングフィルタ部109は、対象ブロックがピクチャの左端に位置するか否かを判定する(ステップS21)。
 対象ブロックがピクチャの左端に位置すると判定する場合(ステップS21のYes)、デブロッキングフィルタ部109は、上述の左制御フラグ(すなわち、dbf_a_flag)に0を設定する(ステップS27)。0に設定された左制御フラグは、左ブロック境界に対するデブロッキングフィルタの適用が無効であることを示す。つまり、ステップS27では、デブロッキングフィルタ部109は、左ブロック境界に対してデブロッキングフィルタの適用が無効と判定する。その結果、左ブロック境界の判定処理が終了する。
 一方、ステップS21において、対象ブロックがピクチャの左端に位置しないと判定する場合(ステップS21のNo)、デブロッキングフィルタ部109は、さらに、対象ブロックがスライスの先頭に位置するか否かを判定する(ステップS22)。
 ステップS22において、対象ブロックがスライスの先頭に位置すると判定する場合(ステップS22のYes)、デブロッキングフィルタ部109は、さらに、スライス境界に対してデブロッキングフィルタを適用するか否かを判定する(ステップS23)。なお、デブロッキングフィルタは、DBFともいう。具体的には、デブロッキングフィルタ部109は、第1のスライス制御フラグと、第2のスライス制御フラグとを参照することによって、上述の判定を行う。第1のスライス制御フラグは、図7に示すピクチャパラメータセットのシンタックスに含まれる、pps_loop_filter_across_slices_enabled_flagである。第2のスライス制御フラグは、図8に示すスライスセグメントヘッダのシンタックスに含まれる、slice_loop_filter_across_slices_enabled_flagである。デブロッキングフィルタ部109は、第1のスライス制御フラグおよび第2のスライス制御フラグのそれぞれが1を示す場合に、スライス境界に対してデブロッキングフィルタを適用すると判定する。逆に、デブロッキングフィルタ部109は、第1のスライス制御フラグおよび第2のスライス制御フラグの何れかが0を示す場合に、スライス境界に対してデブロッキングフィルタを適用しないと判定する。
 ステップS23において、スライス境界に対してデブロッキングフィルタを適用すると判定する場合(ステップS23のYes)、上述の左制御フラグ(すなわち、dbf_a_flag)に1を設定する(ステップS26)。1に設定された左制御フラグは、左ブロック境界に対するデブロッキングフィルタの適用が有効であることを示す。つまり、ステップS26では、デブロッキングフィルタ部109は、左ブロック境界に対してデブロッキングフィルタの適用が有効と判定する。その結果、左ブロック境界の判定処理が終了する。
 一方、ステップS23において、スライス境界に対してデブロッキングフィルタを適用しないと判定する場合(ステップS23のNo)、上述の左制御フラグ(すなわち、dbf_a_flag)に0を設定する(ステップS27)。その結果、左ブロック境界の判定処理が終了する。
 また、ステップS22において、対象ブロックがスライスの先頭に位置しないと判定する場合(ステップS22のNo)、デブロッキングフィルタ部109は、さらに、対象ブロックが従属スライスセグメントの先頭に位置するか否かを判定する(ステップS24)。
 ステップS24において、対象ブロックが従属スライスセグメントの先頭に位置すると判定する場合(ステップS24のYes)、デブロッキングフィルタ部109は、さらに、スライスセグメント境界に対するデブロッキングフィルタの適用が無効か否かを判定する(ステップS25)。具体的には、デブロッキングフィルタ部109は、第1のセグメント制御フラグと、第2のセグメント制御フラグとを参照することによって、上述の判定を行う。第1のセグメント制御フラグは、図7に示すピクチャパラメータセットのシンタックスに含まれる、pps_loop_filter_across_slice_segments_disabled_flagである。第2のセグメント制御フラグは、図8に示すスライスセグメントヘッダのシンタックスに含まれる、slice_segment_loop_filter_across_slice_segments_disabled_flagである。
 ステップS25において、スライスセグメント境界に対するデブロッキングフィルタの適用が無効と判定する場合(ステップS25のYes)、上述の左制御フラグ(すなわち、dbf_a_flag)に0を設定する(ステップS27)。つまり、ステップS27では、デブロッキングフィルタ部109は、左ブロック境界に対するデブロッキングフィルタの適用が無効と判定する。その結果、左ブロック境界の判定処理が終了する。
 一方、ステップS25において、スライスセグメント境界に対するデブロッキングフィルタの適用が有効と判定する場合(ステップS25のNo)、上述の左制御フラグ(すなわち、dbf_a_flag)に1を設定する(ステップS26)。つまり、ステップS26では、デブロッキングフィルタ部109は、左ブロック境界に対するデブロッキングフィルタの適用が有効と判定する。その結果、左ブロック境界の判定処理が終了する。
 図12は、デブロッキングフィルタ部109が、対象ブロックの上ブロック境界に対してデブロッキングフィルタを適用するか否かを判定する判定フローを示すフローチャートである。つまり、図12は、図10のステップS14の詳細な判定フローを示すフローチャートである。
 まず、デブロッキングフィルタ部109は、対象ブロックがピクチャの上端に位置するか否かを判定する(ステップS31)。
 対象ブロックがピクチャの上端に位置すると判定する場合(ステップS31のYes)、デブロッキングフィルタ部109は、上述の上制御フラグ(すなわち、dbf_b_flag)に0を設定する(ステップS37)。0に設定された上制御フラグは、上ブロック境界に対するデブロッキングフィルタの適用が無効であることを示す。つまり、ステップS37では、デブロッキングフィルタ部109は、上ブロック境界に対してデブロッキングフィルタの適用が無効と判定する。その結果、上ブロック境界の判定処理が終了する。
 一方、ステップS31において、対象ブロックがピクチャの上端に位置しないと判定する場合(ステップS31のNo)、デブロッキングフィルタ部109は、さらに、対象ブロックの上境界がスライス境界に位置するか否かを判定する(ステップS32)。なお、上境界は、上述の上ブロック境界である。
 ステップS32において、対象ブロックの上境界がスライス境界に位置すると判定する場合(ステップS32のYes)、デブロッキングフィルタ部109は、さらに、スライス境界に対してデブロッキングフィルタを適用するか否かを判定する(ステップS33)。具体的には、デブロッキングフィルタ部109は、第1のスライス制御フラグと、第2のスライス制御フラグとを参照することによって、上述の判定を行う。第1のスライス制御フラグは、図7に示すピクチャパラメータセットのシンタックスに含まれる、pps_loop_filter_across_slices_enabled_flagである。第2のスライス制御フラグは、図8に示すスライスセグメントヘッダのシンタックスに含まれる、slice_loop_filter_across_slices_enabled_flagである。デブロッキングフィルタ部109は、第1のスライス制御フラグおよび第2のスライス制御フラグのそれぞれが1を示す場合に、スライス境界に対してデブロッキングフィルタを適用すると判定する。逆に、デブロッキングフィルタ部109は、第1のスライス制御フラグおよび第2のスライス制御フラグの何れかが0を示す場合に、スライス境界に対してデブロッキングフィルタを適用しないと判定する。
 ステップS33において、スライス境界に対してデブロッキングフィルタを適用すると判定する場合(ステップS33のYes)、上述の上制御フラグ(すなわち、dbf_b_flag)に1を設定する(ステップS36)。1に設定された上制御フラグは、上ブロック境界に対するデブロッキングフィルタの適用が有効であることを示す。つまり、ステップS36では、デブロッキングフィルタ部109は、上ブロック境界に対してデブロッキングフィルタの適用が有効と判定する。その結果、上ブロック境界の判定処理が終了する。
 一方、ステップS33において、スライス境界に対してデブロッキングフィルタを適用しないと判定する場合(ステップS33のNo)、上述の上制御フラグ(すなわち、dbf_b_flag)に0を設定する(ステップS37)。その結果、上ブロック境界の判定処理が終了する。
 また、ステップS32において、対象ブロックの上境界がスライス境界に位置しないと判定する場合(ステップS32のNo)、デブロッキングフィルタ部109は、さらに、対象ブロックの上境界が従属スライスセグメント境界に位置するか否かを判定する(ステップS34)。
 ステップS34において、対象ブロックの上境界が従属スライスセグメント境界に位置すると判定する場合(ステップS34のYes)、デブロッキングフィルタ部109は、さらに、スライスセグメント境界に対するデブロッキングフィルタの適用が無効か否かを判定する(ステップS35)。具体的には、デブロッキングフィルタ部109は、第1のセグメント制御フラグと、第2のセグメント制御フラグとを参照することによって、上述の判定を行う。第1のセグメント制御フラグは、図7に示すピクチャパラメータセットのシンタックスに含まれる、pps_loop_filter_across_slice_segments_disabled_flagである。第2のセグメント制御フラグは、図8に示すスライスセグメントヘッダのシンタックスに含まれる、slice_segment_loop_filter_across_slice_segments_disabled_flagである。
 ステップS35において、スライスセグメント境界に対するデブロッキングフィルタの適用が無効と判定する場合(ステップS35のYes)、上述の上制御フラグ(すなわち、dbf_b_flag)に0を設定する(ステップS37)。つまり、ステップS37では、デブロッキングフィルタ部109は、上ブロック境界に対してデブロッキングフィルタの適用が無効と判定する。その結果、上ブロック境界の判定処理が終了する。
 一方、ステップS35において、スライスセグメント境界に対するデブロッキングフィルタの適用が有効と判定する場合(ステップS35のNo)、上述の上制御フラグ(すなわち、dbf_b_flag)に1を設定する(ステップS36)。つまり、ステップS36では、デブロッキングフィルタ部109は、上ブロック境界に対するデブロッキングフィルタの適用が有効と判定する。その結果、上ブロック境界の判定処理が終了する。
 図10、図11、および図12に示す判定フローにより、対象ブロックのブロック内境界および各ブロック境界に対するデブロッキングフィルタの制御フラグ、すなわち、dbf_a_flag、dbf_b_flag、およびdbf_c_flagを求めることができる。デブロッキングフィルタ部109は、これらの制御フラグを参照し、これらの制御フラグにしたがって、ブロック内境界および各ブロック境界に対してデブロッキングフィルタを適用する。つまり、デブロッキングフィルタ部109は、複数のスライスセグメントのそれぞれについて、当該スライスセグメントの制御情報にしたがって、当該スライスセグメントに含まれる再構成されたブロックに対してフィルタを適用する。その結果、それぞれのスライスセグメント境界に対するデブロッキングフィルタの適用を制御することができる。
 これにより、スライスセグメントの境界にも、デブロッキングフィルタの適用を無効にすることができ、従属スライスセグメントを使用したリフレッシュ方式のデブロッキングフィルタによるエラーの影響を抑制することができる。
 なお、本実施の形態における符号化装置100は、図3に示す構成し、図10、図11および図12に示す判定フローにしたがって動作する。しかし、本実施の形態における符号化装置100の構成および動作は、より機能的または概念的な構成および動作として、図13Aに示す構成、および図13Bに示す動作として表現されてもよい。
 図13Aは、本実施の形態における符号化装置100の機能的な構成を示すブロック図である。
 符号化装置100は、分割部11と、符号化部12と、再構成部13と、ヘッダ処理部14と、フィルタ部15とを備える。
 分割部11は、ピクチャを複数のスライスセグメントに分割する。この分割部11は、図3に示すスライス分割部101に相当する。
 符号化部12は、複数のスライスセグメントのそれぞれに含まれる複数のブロックを符号化する。この符号化部12は、図3および図5に示す、減算器102、直交変換部103、量子化部104、エントロピー符号化部105の符号化処理部119、イントラ予測部111、インター予測部112、動き検出部113、および判定部114の全てまたは一部に相当する。
 再構成部13は、符号化された複数のブロックを再構成する。この再構成部13は、図3に示す、逆量子化部106、逆直交変換部107、および加算器108の全てまたは一部に相当する。
 ヘッダ処理部14は、複数のスライスセグメントのそれぞれについて、当該スライスセグメントに対するフィルタの適用を制御するための制御情報を、当該スライスセグメントのヘッダ領域に付加する。このヘッダ処理部14は、図5に示す、エントロピー符号化部105のスライスヘッダ生成部118に相当する。制御情報は、例えば、上述の第2のセグメント制御フラグ、具体的には、slice_segment_loop_filter_across_slice_segment_disabled_flagである。
 フィルタ部15は、複数のスライスセグメントのそれぞれについて、当該スライスセグメントの制御情報にしたがって、当該スライスセグメントに含まれる再構成されたブロックに対してフィルタを適用する。このフィルタ部15は、図3に示すデブロッキングフィルタ部109に相当する。
 また、図3、図4、図5および図13Aに示す構成は、CPU(Central Processing Unit)またはプロセッサなどの処理回路と、メモリとによって実現されてもよい。メモリは、上記各図によって示される各構成要素の処理を処理回路に実行させるためのプログラムを格納していてもよい。また、メモリは、図3に示すメモリ110のように画像を格納していてもよい。
 図13Bは、本実施の形態における符号化方法を示すフローチャートである。
 符号化装置100は、まず、ピクチャを複数のスライスセグメントに分割する(ステップS51)。次に、符号化装置100は、複数のスライスセグメントのそれぞれに含まれる複数のブロックを符号化する(ステップS52)。次に、符号化装置100は、符号化された複数のブロックを再構成する(ステップS53)。次に、符号化装置100は、その複数のスライスセグメントのそれぞれについて、当該スライスセグメントに対するフィルタの適用を制御するための制御情報を、当該スライスセグメントのヘッダ領域に付加する(ステップS54)。そして、符号化装置100は、複数のスライスセグメントのそれぞれについて、当該スライスセグメントの制御情報にしたがって、当該スライスセグメントに含まれる再構成されたブロックに対してフィルタを適用する(ステップS55)。
 なお、ステップS51、S52、S53、S54、およびS55のそれぞれの処理は、図13Aに示す、分割部11、符号化部12、再構成部13、ヘッダ処理部14、およびフィルタ部15によって行われてもよい。あるいは、符号化装置100が処理回路とメモリとを備えている場合には、その処理回路がメモリを用いて、図13Bのフローチャートによって示される処理を実行してもよい。
 これにより、独立スライスセグメントおよび従属スライスセグメントなどのスライスセグメントごとに、そのスライスセグメントに対するフィルタの適用を制御することができる。したがって、複数のスライスセグメントからなるスライスごとに、そのスライスに対するフィルタの適用を制御する場合よりも、より細かい単位でフィルタの適用を制御することができる。例えば、スライスに含まれるイントラスライスセグメントの境界のみに対してフィルタの適用を無効にし、かつ、その他のスライスセグメントの境界に対してフィルタの適用を有効にすることができる。その結果、イントラスライスセグメントによるリフレッシュ方式を用いる場合であっても、画質の低下を抑えながら、エラー伝搬を適切に抑制することができる。また、複数のスライスセグメントのうちの従属スライスセグメントに対しては、独立スライスセグメントのヘッダをコピーして利用することができるため、ピクチャに含まれるスライスセグメントの数が多くても符号化効率の低下を抑制することができる。したがって、符号化効率および画質を低下させることなく、エラー伝搬を抑制することができる。
 また、本実施の形態における制御情報は、その制御情報に対応するスライスセグメントの境界に対してデブロッキングフィルタを適用するか否かを示す。なお、その制御情報は、例えば、上述の第2のセグメント制御フラグ、具体的には、slice_segment_loop_filter_across_slice_segments_disabled_flagである。これにより、デブロッキングフィルタが適用される場合には、スライスセグメントの境界における画像の歪みを低減することができる。
 また、本実施の形態における、複数のスライスセグメントに分割されるピクチャは、動画像に含まれる複数のピクチャのうちの1つである。そして、その複数のピクチャのそれぞれは、Iスライスセグメントを有し、かつ、その複数のピクチャのそれぞれにおけるIスライスセグメントの位置が、複数のピクチャの符号化順にしたがって周期的に異なるように構成されていてもよい。つまり、複数のピクチャは、イントラスライスセグメントによるリフレッシュ方式、すなわちCIR(Cyclic Intra Refresh)によって構成されていてもよい。このような場合、本実施の形態では、制御情報に対応するスライスセグメントとIスライスセグメントとの境界に対してフィルタを適用しないことを示す制御情報を、そのスライスセグメントのヘッダ領域に付加してもよい。これにより、イントラスライスセグメントによるリフレッシュ方式、すなわちCIRを用いる場合であっても、エラー伝搬を適切に抑制することができる。
 (実施の形態2)
 図14は、本実施の形態における復号装置の構成を示すブロック図である。
 本実施の形態における復号装置200は、エラー伝搬を適切に抑制することができる装置である。このような復号装置200は、エントロピー復号部205と、逆量子化部206と、逆直交変換部207と、加算器208と、デブロッキングフィルタ部209と、メモリ210と、イントラ予測部211と、インター予測部212と、判定部214とを備える。
 エントロピー復号部205は、ビットストリームをエントロピー復号(可変長復号)することによって、量子化された係数列と動きベクトルとを生成する。
 逆量子化部206は、その量子化された係数列を逆量子化する。逆直交変換部207は、その逆量子化された係数列に含まれる各周波数係数に対して逆離散コサイン変換などの逆直交変換(逆周波数変換)を行うことによって、復号差分画像を生成する。
 加算器208は、判定部214から予測画像を取得し、その予測画像と、逆直交変換部207によって生成された復号差分画像とを加算することによって復号画像(再構成画像)を生成する。
 デブロッキングフィルタ部209は、加算器208によって生成された復号画像のブロック歪みを除去し、その復号画像を出力する。また、デブロッキングフィルタ部209は、そのブロック歪みが除去された復号画像をメモリ210に格納する。
 メモリ210は、インター予測の際の参照画像として復号画像を格納するためのメモリである。なお、このメモリ210は復号ピクチャバッファ(DPB)として用いられる。
 イントラ予測部211は、加算器208によって生成された復号画像を用いて、対象ブロックに対してイントラ予測を行うことによって予測画像(イントラ予測画像)を生成する。なお、本実施の形態における対象ブロックは、ビットストリームに含まれるピクチャのうちの復号の対象とされるブロックである。
 インター予測部212は、メモリ210に格納されている画像を参照画像として参照するとともに、エントロピー復号部205によって生成された動きベクトルを用いることによって、対象ブロックに対して動き補償を行う。インター予測部212は、このような動き補償を行うことによって、つまり対象ブロックに対してインター予測を行うことによって、対象ブロックの予測画像(インター予測画像)を生成する。
 判定部214は、対象ブロックをイントラ予測符号化するか、インター予測符号化するかを判定する。ここで、判定部214は、対象ブロックがイントラ予測符号化される場合には、イントラ予測部211によって生成された予測画像(イントラ予測画像)を加算器208に出力する。一方、判定部214は、対象ブロックがインター予測符号化される場合には、インター予測部212によって生成された予測画像(インター予測画像)を加算器208に出力する。ここで、判定部214は、実施の形態1における判定部114と同一の構成を有する。
 図15は、エントロピー復号部205の構成を示すブロック図である。
 エントロピー復号部205は、ピクチャヘッダ解析部217と、スライスヘッダ解析部218と、復号処理部219とを構える。
 ピクチャヘッダ解析部217は、ピクチャパラメータセットを解析することによって、そのピクチャパラメータセットから各フラグを抽出する。各フラグには、第1のスライス制御フラグ、第1のセグメント制御フラグ、および第1のDBF制御フラグなどである。
 スライスヘッダ解析部218は、スライスヘッダまたはスライスセグメントヘッダを解析することによって、そのヘッダから各フラグを抽出する。各フラグには、第2のスライス制御フラグ、第2のセグメント制御フラグ、および第2のDBF制御フラグなどである。
 例えば、スライスヘッダ解析部218は、ピクチャヘッダ解析部217から第1のセグメント制御フラグを取得し、その第1のセグメント制御フラグが1に設定されているか否かを判定する。なお、1に設定されている第1のセグメント制御フラグは、第2のセグメント制御フラグがスライスセグメントヘッダに含まれていることを示す。そこで、スライスヘッダ解析部218は、その第1のセグメント制御フラグが1に設定されていると判定すると、スライスセグメントヘッダを解析することによって、そのスライスセグメントヘッダから第2のセグメント制御フラグを抽出する。
 ピクチャヘッダ解析部217およびスライスヘッダ解析部218のそれぞれによって抽出された各フラグは、デブロッキングフィルタ部209によって用いられる。
 復号処理部219は、ビットストリームをエントロピー復号することによって、量子化された係数列を出力する。
 本実施の形態におけるデブロッキングフィルタ部209は、実施の形態1におけるデブロッキングフィルタ部109と同様の処理を実行する。つまり、デブロッキングフィルタ部209は、図7および8に示すシンタックスに基づいて動作する。さらに、デブロッキングフィルタ部209は、図10、図11および図12のフローチャートにしたがって、デブロッキングフィルタを対象ブロックに対して適用するか否かを判定する。
 したがって、本実施の形態でも、実施の形態1と同様、図10、図11、および図12に示す判定フローにより、対象ブロックのブロック内境界および各ブロック境界に対するデブロッキングフィルタの制御フラグを求めることができる。なお、制御フラグは、dbf_a_flag、dbf_b_flag、およびdbf_c_flagである。デブロッキングフィルタ部209は、これらの制御フラグを参照し、これらの制御フラグにしたがって、ブロック内境界および各ブロック境界に対してデブロッキングフィルタを適用する。つまり、デブロッキングフィルタ部209は、複数のスライスセグメントのそれぞれについて、当該スライスセグメントの制御情報にしたがって、当該スライスセグメントに含まれる再構成されたブロックに対してフィルタを適用する。その結果、それぞれのスライスセグメント境界に対するデブロッキングフィルタの適用を制御することができる。
 これにより、スライスセグメントの境界にも、デブロッキングフィルタの適用を無効にすることができ、従属スライスセグメントを使用したリフレッシュ方式のデブロッキングフィルタによるエラーの影響を抑制することができる。
 なお、本実施の形態における復号装置200は、図14に示す構成し、図10、図11および図12に示す判定フローにしたがって動作する。しかし、本実施の形態における復号装置200の構成および動作は、より機能的または概念的な構成および動作として、図16Aに示す構成、および図16Bに示す動作として表現されてもよい。
 図16Aは、本実施の形態における復号装置200の機能的な構成を示すブロック図である。
 復号装置200は、再構成部21と、ヘッダ処理部22と、フィルタ部23とを備える。
 再構成部21は、符号化ピクチャを構成する複数のスライスセグメントのそれぞれに含まれる複数のブロックを再構成する。この再構成部21は、図14および図15に示す、エントロピー復号部205の復号処理部219、逆量子化部206、逆直交変換部207、加算器208、イントラ予測部211、インター予測部212、および判定部214の全てまたは一部に相当する。
 ヘッダ処理部22は、複数のスライスセグメントのそれぞれについて、当該スライスセグメントに対するフィルタの適用を制御するための制御情報を、当該スライスセグメントのヘッダ領域から取得する。このヘッダ処理部22は、図15に示す、エントロピー復号部205のスライスヘッダ解析部218に相当する。制御情報は、例えば、上述の第2のセグメント制御フラグ、具体的には、slice_segment_loop_filter_across_slice_segments_disabled_flagである。
 フィルタ部23は、複数のスライスセグメントのそれぞれについて、当該スライスセグメントの制御情報にしたがって、当該スライスセグメントに含まれる再構成されたブロックに対してフィルタを適用する。このフィルタ部23は、図14に示すデブロッキングフィルタ部209に相当する。
 また、図14、図15および図16Aに示す構成は、CPU(Central Processing Unit)またはプロセッサなどの処理回路と、メモリとによって実現されてもよい。メモリは、上記各図によって示される各構成要素の処理を処理回路に実行させるためのプログラムを格納していてもよい。また、メモリは、図14に示すメモリ210のように画像を格納していてもよい。
 図16Bは、本実施の形態における復号方法を示すフローチャートである。
 復号装置200は、まず、符号化ピクチャを構成する複数のスライスセグメントのそれぞれに含まれる複数のブロックを再構成する(ステップS61)。次に、復号装置200は、その複数のスライスセグメントのそれぞれについて、当該スライスセグメントに対するフィルタの適用を制御するための制御情報を、当該スライスセグメントのヘッダ領域から取得する(ステップS62)。そして、復号装置200は、複数のスライスセグメントのそれぞれについて、当該スライスセグメントの制御情報にしたがって、当該スライスセグメントに含まれる再構成されたブロックに対してフィルタを適用する(ステップS63)。
 なお、ステップS61、S62、およびS63のそれぞれの処理は、図16Aに示す、再構成部21、ヘッダ処理部22、およびフィルタ部23によって行われてもよい。あるいは、復号装置200が処理回路とメモリとを備えている場合には、その処理回路がメモリを用いて、図16Bのフローチャートによって示される処理を実行してもよい。
 これにより、独立スライスセグメントおよび従属スライスセグメントなどのスライスセグメントごとに、そのスライスセグメントに対するフィルタの適用を制御することができる。したがって、複数のスライスセグメントからなるスライスごとに、そのスライスに対するフィルタの適用を制御する場合よりも、より細かい単位でフィルタの適用を制御することができる。例えば、スライスに含まれるイントラスライスセグメントの境界のみに対してフィルタの適用を無効にし、かつ、その他のスライスセグメントの境界に対してフィルタの適用を有効にすることができる。その結果、イントラスライスセグメントによるリフレッシュ方式を用いる場合であっても、画質の低下を抑えながら、エラー伝搬を適切に抑制することができる。また、複数のスライスセグメントのうちの従属スライスセグメントに対しては、独立スライスセグメントのヘッダをコピーして利用することができるため、ピクチャに含まれるスライスセグメントの数が多くても符号化効率の低下を抑制することができる。したがって、符号化効率および画質を低下させることなく、エラー伝搬を抑制することができる。
 また、本実施の形態における制御情報は、その制御情報に対応するスライスセグメントの境界に対してデブロッキングフィルタを適用するか否かを示す。なお、その制御情報は、例えば、上述の第2のセグメント制御フラグ、具体的には、slice_segment_loop_filter_across_slice_segments_disabled_flagである。これにより、デブロッキングフィルタが適用される場合には、スライスセグメントの境界における画像の歪みを低減することができる。
 また、本実施の形態における、複数のスライスセグメントに分割されるピクチャは、動画像に含まれる複数のピクチャのうちの1つである。そして、その複数のピクチャのそれぞれは、Iスライスセグメントを有し、かつ、その複数のピクチャのそれぞれにおけるIスライスセグメントの位置が、複数のピクチャの符号化順にしたがって周期的に異なるように構成されていてもよい。つまり、複数のピクチャは、イントラスライスセグメントによるリフレッシュ方式、すなわちCIR(Cyclic Intra Refresh)によって構成されていてもよい。このような場合、本実施の形態では、制御情報に対応するスライスセグメントとIスライスセグメントとの境界に対してフィルタを適用しないことを示す制御情報を、そのスライスセグメントのヘッダ領域に付加してもよい。これにより、イントラスライスセグメントによるリフレッシュ方式、すなわちCIRを用いる場合であっても、エラー伝搬を適切に抑制することができる。
 以上、本開示の一態様に係る符号化装置および復号装置について、上記各実施の形態例を用いて説明したが、本開示は上記各実施の形態に限定されるものではない。
 例えば、上記実施の形態では、ピクチャを複数のスライスセグメントに分割したときには、そのピクチャには1つの独立スライスセグメントが含まれていたが、2つ以上の独立スライスセグメントが含まれていてもよい。この場合には、2つ以上の独立スライスセグメントのそれぞれについて、その独立スライスセグメントに従属する少なくとも1つの従属スライスセグメントもピクチャに含まれる。
 また、上記実施の形態では、スライスセグメントの境界に対するデブロッキングフィルタの適用を制御することでデブロッキングフィルタの影響によるエラー伝搬を抑制したが、制御する対象はデブロッキングフィルタに限るものではない。例えば、サンプル・アダプティブ・オフセット(SAO:Sample Adaptive Offset)のスライスセグメントの境界に対する適用を制御してもよい。つまり、制御情報は、その制御情報に対応するスライスセグメントの境界に対してサンプル・アダプティブ・オフセットを適用するか否かを示してもよい。これにより、サンプル・アダプティブ・オフセットが適用される場合には、符号化された各ブロックの復号によって得られる復号画像を、原画像により近づけることができる。
 また、上記各実施の形態では、図8に示すように、第2のセグメント制御フラグとして、slice_segment_loop_filter_across_slice_segments_disabled_flagが用いられている。この第2のセグメント制御フラグは、デブロッキングフィルタの適用を無効とする場合に、1に設定される。しかし、第2のセグメント制御フラグは、デブロッキングフィルタの適用を有効とする場合に、1に設定され、デブロッキングフィルタの適用を無効とする場合に、0に設定されてもよい。このように、上記各実施の形態における各フラグに設定される値、すなわち1または0は、入れ替えられてもよい。
 また、上記実施の形態では、スライスセグメントの境界に対するデブロッキングフィルタの適用を制御することでデブロッキングフィルタの影響によるエラー伝搬を抑制したが、制御する対象はスライスセグメント境界のデブロッキングフィルタに限るものではない。例えば、対象スライスセグメントに含まれる全てのブロックへのデブロッキングフィルタの適用を制御してもよい。つまり、スライスセグメントの境界だけでなく、そのスライスセグメントに含まれる全てのブロックの境界に対するデブロッキングフィルタの適用を制御してもよい。すなわち、制御情報は、その制御情報に対応するスライスセグメントの境界と、そのスライスセグメントに含まれる複数のブロック間の境界とに対してデブロッキングフィルタを適用するか否かを示す。例えば、スライスセグメントに含まれる全てのブロックに対してデブロッキングフィルタを適用しないことにより、デブロッキングフィルタによるエラー伝搬の影響を防ぐことができる。
 なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態における符号化装置または復号装置などを実現するソフトウェアは、図10、図11、図12、図13Bおよび図16Bに示すフローチャートに含まれる各ステップをコンピュータに実行させるプログラムである。また、上記各実施の形態における符号化装置、復号装置、符号化方法、および復号方法は、それぞれ画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法ともいう。
 また、上記各実施の形態における符号化方装置および復号装置などは、HEVCに適用されてもよく、他の画像符号化規格に適用されてもよい。
 (実施の形態3)
 以上の各実施の形態において、機能ブロックの各々は、通常、MPU及びメモリ等によって実現可能である。また、機能ブロックの各々による処理は、通常、プロセッサなどのプログラム実行部が、ROM等の記録媒体に記録されたソフトウェア(プログラム)を読み出して実行することで実現される。当該ソフトウェアはダウンロード等により配布されてもよいし、半導体メモリなどの記録媒体に記録して配布されてもよい。なお、各機能ブロックをハードウェア(専用回路)によって実現することも、当然、可能である。
 また、各実施の形態において説明した処理は、単一の装置(システム)を用いて集中処理することによって実現してもよく、又は、複数の装置を用いて分散処理することによって実現してもよい。また、上記プログラムを実行するプロセッサは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、又は分散処理を行ってもよい。
 本発明は、以上の実施例に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含される。
 さらにここで、上記各実施の形態で示した動画像符号化方法(画像符号化方法)又は動画像復号化方法(画像復号方法)の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、画像復号方法を用いた画像復号装置、及び両方を備える画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
 [使用例]
 図17は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106、ex107、ex108、ex109、ex110が設置されている。
 このコンテンツ供給システムex100では、インターネットex101に、インターネットサービスプロバイダex102又は通信網ex104、及び基地局ex106~ex110を介して、コンピュータex111、ゲーム機ex112、カメラex113、家電ex114、及びスマートフォンex115などの各機器が接続される。当該コンテンツ供給システムex100は、上記のいずれかの要素を組合せて接続するようにしてもよい。固定無線局である基地局ex106~ex110を介さずに、各機器が電話網又は近距離無線等を介して直接的又は間接的に相互に接続されていてもよい。また、ストリーミングサーバex103は、インターネットex101等を介して、コンピュータex111、ゲーム機ex112、カメラex113、家電ex114、及びスマートフォンex115などの各機器と接続される。また、ストリーミングサーバex103は、衛星ex116を介して、飛行機ex117内のホットスポット内の端末等と接続される。
 なお、基地局ex106~ex110の代わりに、無線アクセスポイント又はホットスポット等が用いられてもよい。また、ストリーミングサーバex103は、インターネットex101又はインターネットサービスプロバイダex102を介さずに直接通信網ex104と接続されてもよいし、衛星ex116を介さず直接飛行機ex117と接続されてもよい。
 カメラex113はデジタルカメラ等の静止画撮影、及び動画撮影が可能な機器である。また、スマートフォンex115は、一般に2G、3G、3.9G、4G、そして今後は5Gと呼ばれる移動通信システムの方式に対応したスマートフォン機、携帯電話機、又はPHS(Personal Handyphone System)等である。
 家電ex114は、冷蔵庫、又は家庭用燃料電池コージェネレーションシステムに含まれる機器等である。
 コンテンツ供給システムex100では、撮影機能を有する端末が基地局ex106等を通じてストリーミングサーバex103に接続されることで、ライブ配信等が可能になる。ライブ配信では、端末(コンピュータex111、ゲーム機ex112、カメラex113、家電ex114、スマートフォンex115、及び飛行機ex117内の端末等)は、ユーザが当該端末を用いて撮影した静止画又は動画コンテンツに対して上記各実施の形態で説明した符号化処理を行い、符号化により得られた映像データと、映像に対応する音を符号化した音データと多重化し、得られたデータをストリーミングサーバex103に送信する。即ち、各端末は、本発明の一態様に係る画像符号化装置として機能する。
 一方、ストリーミングサーバex103は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントは、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、ゲーム機ex112、カメラex113、家電ex114、スマートフォンex115、又は飛行機ex117内の端末等である。配信されたデータを受信した各機器は、受信したデータを復号化処理して再生する。即ち、各機器は、本発明の一態様に係る画像復号装置として機能する。
 [分散処理]
 また、ストリーミングサーバex103は複数のサーバ又は複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。例えば、ストリーミングサーバex103は、CDN(Contents Delivery Network)により実現され、世界中に分散された多数のエッジサーバとエッジサーバ間をつなぐネットワークによりコンテンツ配信が実現されていてもよい。CDNでは、クライアントに応じて物理的に近いエッジサーバが動的に割り当てられる。そして、当該エッジサーバにコンテンツがキャッシュ及び配信されることで遅延を減らすことができる。また、何らかのエラーが発生した場合又はトラフィックの増加などにより通信状態が変わる場合に複数のエッジサーバで処理を分散したり、他のエッジサーバに配信主体を切り替えたり、障害が生じたネットワークの部分を迂回して配信を続けることができるので、高速かつ安定した配信が実現できる。
 また、配信自体の分散処理にとどまらず、撮影したデータの符号化処理を各端末で行ってもよいし、サーバ側で行ってもよいし、互いに分担して行ってもよい。一例として、一般に符号化処理では、処理ループが2度行われる。1度目のループでフレーム又はシーン単位での画像の複雑さ、又は、符号量が検出される。また、2度目のループでは画質を維持して符号化効率を向上させる処理が行われる。例えば、端末が1度目の符号化処理を行い、コンテンツを受け取ったサーバ側が2度目の符号化処理を行うことで、各端末での処理負荷を減らしつつもコンテンツの質と効率を向上させることができる。この場合、ほぼリアルタイムで受信して復号する要求があれば、端末が行った一度目の符号化済みデータを他の端末で受信して再生することもできるので、より柔軟なリアルタイム配信も可能になる。
 他の例として、カメラex113等は、画像から特徴量抽出を行い、特徴量に関するデータをメタデータとして圧縮してサーバに送信する。サーバは、例えば特徴量からオブジェクトの重要性を判断して量子化精度を切り替えるなど、画像の意味に応じた圧縮を行う。特徴量データはサーバでの再度の圧縮時の動きベクトル予測の精度及び効率向上に特に有効である。また、端末でVLC(可変長符号化)などの簡易的な符号化を行い、サーバでCABAC(コンテキスト適応型二値算術符号化方式)など処理負荷の大きな符号化を行ってもよい。
 さらに他の例として、スタジアム、ショッピングモール、又は工場などにおいては、複数の端末によりほぼ同一のシーンが撮影された複数の映像データが存在する場合がある。この場合には、撮影を行った複数の端末と、必要に応じて撮影をしていない他の端末及びサーバを用いて、例えばGOP(Group of Picture)単位、ピクチャ単位、又はピクチャを分割したタイル単位などで符号化処理をそれぞれ割り当てて分散処理を行う。これにより、遅延を減らし、よりリアルタイム性を実現できる。
 また、複数の映像データはほぼ同一シーンであるため、各端末で撮影された映像データを互いに参照し合えるように、サーバで管理及び/又は指示をしてもよい。または、各端末からの符号化済みデータを、サーバが受信し複数のデータ間で参照関係を変更、又はピクチャ自体を補正或いは差し替えて符号化しなおしてもよい。これにより、一つ一つのデータの質と効率を高めたストリームを生成できる。
 また、サーバは、映像データの符号化方式を変更するトランスコードを行ったうえで映像データを配信してもよい。例えば、サーバは、MPEG系の符号化方式をVP系に変換してもよいし、H.264をH.265に変換してもよい。
 このように、符号化処理は、端末、又は1以上のサーバにより行うことが可能である。よって、以下では、処理を行う主体として「サーバ」又は「端末」等の記載を用いるが、サーバで行われる処理の一部又は全てが端末で行われてもよいし、端末で行われる処理の一部又は全てがサーバで行われてもよい。また、これらに関しては、復号処理についても同様である。
 [3D、マルチアングル]
 近年では、互いにほぼ同期した複数のカメラex113及び/又はスマートフォンex115などの端末により撮影された異なるシーン、又は、同一シーンを異なるアングルから撮影した画像或いは映像を統合して利用することも増えてきている。各端末で撮影した映像は、別途取得した端末間の相対的な位置関係、又は、映像に含まれる特徴点が一致する領域などに基づいて統合される。
 サーバは、2次元の動画像を符号化するだけでなく、動画像のシーン解析などに基づいて自動的に、又は、ユーザが指定した時刻において、静止画を符号化し、受信端末に送信してもよい。サーバは、さらに、撮影端末間の相対的な位置関係を取得できる場合には、2次元の動画像だけでなく、同一シーンが異なるアングルから撮影された映像に基づき、当該シーンの3次元形状を生成できる。なお、サーバは、ポイントクラウドなどにより生成した3次元のデータを別途符号化してもよいし、3次元データを用いて人物又はオブジェクトを認識或いは追跡した結果に基づいて、受信端末に送信する映像を、複数の端末で撮影した映像から選択、又は、再構成して生成してもよい。
 このようにして、ユーザは、各撮影端末に対応する各映像を任意に選択してシーンを楽しむこともできるし、複数画像又は映像を用いて再構成された3次元データから任意視点の映像を切り出したコンテンツを楽しむこともできる。さらに、映像と同様に音も複数の相異なるアングルから収音され、サーバは、映像に合わせて特定のアングル又は空間からの音を映像と多重化して送信してもよい。
 また、近年ではVirtual Reality(VR)及びAugmented Reality(AR)など、現実世界と仮想世界とを対応付けたコンテンツも普及してきている。VRの画像の場合、サーバは、右目用及び左目用の視点画像をそれぞれ作成し、Multi-View Coding(MVC)などにより各視点映像間で参照を許容する符号化を行ってもよいし、互いに参照せずに別ストリームとして符号化してもよい。別ストリームの復号時には、ユーザの視点に応じて仮想的な3次元空間が再現されるように互いに同期させて再生するとよい。
 ARの画像の場合には、サーバは、現実空間のカメラ情報に、仮想空間上の仮想物体情報を、3次元的位置又はユーザの視点の動きに基づいて重畳する。復号装置は、仮想物体情報及び3次元データを取得又は保持し、ユーザの視点の動きに応じて2次元画像を生成し、スムーズにつなげることで重畳データを作成してもよい。または、復号装置は仮想物体情報の依頼に加えてユーザの視点の動きをサーバに送信し、サーバは、サーバに保持される3次元データから受信した視点の動きに合わせて重畳データを作成し、重畳データを符号化して復号装置に配信してもよい。なお、重畳データは、RGB以外に透過度を示すα値を有し、サーバは、3次元データから作成されたオブジェクト以外の部分のα値が0などに設定し、当該部分が透過する状態で、符号化してもよい。もしくは、サーバは、クロマキーのように所定の値のRGB値を背景に設定し、オブジェクト以外の部分は背景色にしたデータを生成してもよい。
 同様に配信されたデータの復号処理はクライアントである各端末で行っても、サーバ側で行ってもよいし、互いに分担して行ってもよい。一例として、ある端末が、一旦サーバに受信リクエストを送り、そのリクエストに応じたコンテンツを他の端末で受信し復号処理を行い、ディスプレイを有する装置に復号済みの信号が送信されてもよい。通信可能な端末自体の性能によらず処理を分散して適切なコンテンツを選択することで画質のよいデータを再生することができる。また、他の例として大きなサイズの画像データをTV等で受信しつつ、鑑賞者の個人端末にピクチャが分割されたタイルなど一部の領域が復号されて表示されてもよい。これにより、全体像を共有化しつつ、自身の担当分野又はより詳細に確認したい領域を手元で確認することができる。
 また今後は、屋内外にかかわらず近距離、中距離、又は長距離の無線通信が複数使用可能な状況下で、MPEG-DASHなどの配信システム規格を利用して、接続中の通信に対して適切なデータを切り替えながらシームレスにコンテンツを受信することが予想される。これにより、ユーザは、自身の端末のみならず屋内外に設置されたディスプレイなどの復号装置又は表示装置を自由に選択しながらリアルタイムで切り替えられる。また、自身の位置情報などに基づいて、復号する端末及び表示する端末を切り替えながら復号を行うことができる。これにより、目的地への移動中に、表示可能なデバイスが埋め込まれた隣の建物の壁面又は地面の一部に地図情報を表示させながら移動することも可能になる。また、符号化データが受信端末から短時間でアクセスできるサーバにキャッシュされている、又は、コンテンツ・デリバリー・サービスにおけるエッジサーバにコピーされている、などの、ネットワーク上での符号化データへのアクセス容易性に基づいて、受信データのビットレートを切り替えることも可能である。
 [スケーラブル符号化]
 コンテンツの切り替えに関して、図18に示す、上記各実施の形態で示した動画像符号化方法を応用して圧縮符号化されたスケーラブルなストリームを用いて説明する。サーバは、個別のストリームとして内容は同じで質の異なるストリームを複数有していても構わないが、図示するようにレイヤに分けて符号化を行うことで実現される時間的/空間的スケーラブルなストリームの特徴を活かして、コンテンツを切り替える構成であってもよい。つまり、復号側が性能という内的要因と通信帯域の状態などの外的要因とに応じてどのレイヤまで復号するかを決定することで、復号側は、低解像度のコンテンツと高解像度のコンテンツとを自由に切り替えて復号できる。例えば移動中にスマートフォンex115で視聴していた映像の続きを、帰宅後にインターネットTV等の機器で視聴したい場合には、当該機器は、同じストリームを異なるレイヤまで復号すればよいので、サーバ側の負担を軽減できる。
 さらに、上記のように、レイヤ毎にピクチャが符号化されており、ベースレイヤの上位にエンハンスメントレイヤが存在するスケーラビリティを実現する構成以外に、エンハンスメントレイヤが画像の統計情報などに基づくメタ情報を含み、復号側が、メタ情報に基づきベースレイヤのピクチャを超解像することで高画質化したコンテンツを生成してもよい。超解像とは、同一解像度におけるSN比の向上、及び、解像度の拡大のいずれであってもよい。メタ情報は、超解像処理に用いる線形或いは非線形のフィルタ係数を特定するため情報、又は、超解像処理に用いるフィルタ処理、機械学習或いは最小2乗演算におけるパラメータ値を特定する情報などを含む。
 または、画像内のオブジェクトなどの意味合いに応じてピクチャがタイル等に分割されており、復号側が、復号するタイルを選択することで一部の領域だけを復号する構成であってもよい。また、オブジェクトの属性(人物、車、ボールなど)と映像内の位置(同一画像における座標位置など)とをメタ情報として格納することで、復号側は、メタ情報に基づいて所望のオブジェクトの位置を特定し、そのオブジェクトを含むタイルを決定できる。例えば、図19に示すように、メタ情報は、HEVCにおけるSEIメッセージなど画素データとは異なるデータ格納構造を用いて格納される。このメタ情報は、例えば、メインオブジェクトの位置、サイズ、又は色彩などを示す。
 また、ストリーム、シーケンス又はランダムアクセス単位など、複数のピクチャから構成される単位でメタ情報が格納されてもよい。これにより、復号側は、特定人物が映像内に出現する時刻などが取得でき、ピクチャ単位の情報と合わせることで、オブジェクトが存在するピクチャ、及び、ピクチャ内でのオブジェクトの位置を特定できる。
 [Webページの最適化]
 図20は、コンピュータex111等におけるwebページの表示画面例を示す図である。図21は、スマートフォンex115等におけるwebページの表示画面例を示す図である。図20及び図21に示すようにwebページが、画像コンテンツへのリンクであるリンク画像を複数含む場合があり、閲覧するデバイスによってその見え方は異なる。画面上に複数のリンク画像が見える場合には、ユーザが明示的にリンク画像を選択するまで、又は画面の中央付近にリンク画像が近付く或いはリンク画像の全体が画面内に入るまでは、表示装置(復号装置)は、リンク画像として各コンテンツが有する静止画又はIピクチャを表示したり、複数の静止画又はIピクチャ等でgifアニメのような映像を表示したり、ベースレイヤのみ受信して映像を復号及び表示したりする。
 ユーザによりリンク画像が選択された場合、表示装置は、ベースレイヤを最優先にして復号する。なお、webページを構成するHTMLにスケーラブルなコンテンツであることを示す情報があれば、表示装置は、エンハンスメントレイヤまで復号してもよい。また、リアルタイム性を担保するために、選択される前又は通信帯域が非常に厳しい場合には、表示装置は、前方参照のピクチャ(Iピクチャ、Pピクチャ、前方参照のみのBピクチャ)のみを復号及び表示することで、先頭ピクチャの復号時刻と表示時刻との間の遅延(コンテンツの復号開始から表示開始までの遅延)を低減できる。また、表示装置は、ピクチャの参照関係を敢えて無視して全てのBピクチャ及びPピクチャを前方参照にして粗く復号し、時間が経ち受信したピクチャが増えるにつれて正常の復号を行ってもよい。
 [自動走行]
 また、車の自動走行又は走行支援のため2次元又は3次元の地図情報などの静止画又は映像データを送受信する場合、受信端末は、1以上のレイヤに属する画像データに加えて、メタ情報として天候又は工事の情報なども受信し、これらを対応付けて復号してもよい。なお、メタ情報は、レイヤに属してもよいし、単に画像データと多重化されてもよい。
 この場合、受信端末を含む車、ドローン又は飛行機などが移動するため、受信端末は、当該受信端末の位置情報を受信要求時に送信することで、基地局ex106~ex110を切り替えながらシームレスな受信及び復号を実現できる。また、受信端末は、ユーザの選択、ユーザの状況又は通信帯域の状態に応じて、メタ情報をどの程度受信するか、又は地図情報をどの程度更新していくかを動的に切り替えることが可能になる。
 以上のようにして、コンテンツ供給システムex100では、ユーザが送信した符号化された情報をリアルタイムでクライアントが受信して復号し、再生することができる。
 [個人コンテンツの配信]
 また、コンテンツ供給システムex100では、映像配信業者による高画質で長時間のコンテンツのみならず、個人による低画質で短時間のコンテンツのユニキャスト、又はマルチキャスト配信が可能である。また、このような個人のコンテンツは今後も増加していくと考えられる。個人コンテンツをより優れたコンテンツにするために、サーバは、編集処理を行ってから符号化処理を行ってもよい。これは例えば、以下のような構成で実現できる。
 撮影時にリアルタイム又は蓄積して撮影後に、サーバは、原画又は符号化済みデータから撮影エラー、シーン探索、意味の解析、及びオブジェクト検出などの認識処理を行う。そして、サーバは、認識結果に基いて手動又は自動で、ピントずれ又は手ブレなどを補正したり、明度が他のピクチャに比べて低い又は焦点が合っていないシーンなどの重要性の低いシーンを削除したり、オブジェクトのエッジを強調したり、色合いを変化させるなどの編集を行う。サーバは、編集結果に基いて編集後のデータを符号化する。また撮影時刻が長すぎると視聴率が下がることも知られており、サーバは、撮影時間に応じて特定の時間範囲内のコンテンツになるように上記のように重要性が低いシーンのみならず動きが少ないシーンなどを、画像処理結果に基き自動でクリップしてもよい。または、サーバは、シーンの意味解析の結果に基づいてダイジェストを生成して符号化してもよい。
 なお、個人コンテンツには、そのままでは著作権、著作者人格権、又は肖像権等の侵害となるものが写り込んでいるケースもあり、共有する範囲が意図した範囲を超えてしまうなど個人にとって不都合な場合もある。よって、例えば、サーバは、画面の周辺部の人の顔、又は家の中などを敢えて焦点が合わない画像に変更して符号化してもよい。また、サーバは、符号化対象画像内に、予め登録した人物とは異なる人物の顔が映っているかどうかを認識し、映っている場合には、顔の部分にモザイクをかけるなどの処理を行ってもよい。または、符号化の前処理又は後処理として、著作権などの観点からユーザが画像を加工したい人物又は背景領域を指定し、サーバは、指定された領域を別の映像に置き換える、又は焦点をぼかすなどの処理を行うことも可能である。人物であれば、動画像において人物をトラッキングしながら、顔の部分の映像を置き換えることができる。
 また、データ量の小さい個人コンテンツの視聴はリアルタイム性の要求が強いため、帯域幅にもよるが、復号装置は、まずベースレイヤを最優先で受信して復号及び再生を行う。復号装置は、この間にエンハンスメントレイヤを受信し、再生がループされる場合など2回以上再生される場合に、エンハンスメントレイヤも含めて高画質の映像を再生してもよい。このようにスケーラブルな符号化が行われているストリームであれば、未選択時又は見始めた段階では粗い動画だが、徐々にストリームがスマートになり画像がよくなるような体験を提供することができる。スケーラブル符号化以外にも、1回目に再生される粗いストリームと、1回目の動画を参照して符号化される2回目のストリームとが1つのストリームとして構成されていても同様の体験を提供できる。
 [その他の使用例]
 また、これらの符号化又は復号処理は、一般的に各端末が有するLSIex500において処理される。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、動画像符号化又は復号用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD-ROM、フレキシブルディスク、又はハードディスクなど)に組み込み、そのソフトウェアを用いて符号化又は復号処理を行ってもよい。さらに、スマートフォンex115がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データはスマートフォンex115が有するLSIex500で符号化処理されたデータである。
 なお、LSIex500は、アプリケーションソフトをダウンロードしてアクティベートする構成であってもよい。この場合、端末は、まず、当該端末がコンテンツの符号化方式に対応しているか、又は、特定サービスの実行能力を有するかを判定する。端末がコンテンツの符号化方式に対応していない場合、又は、特定サービスの実行能力を有さない場合、端末は、コーデック又はアプリケーションソフトをダウンロードし、その後、コンテンツ取得及び再生する。
 また、インターネットex101を介したコンテンツ供給システムex100に限らず、デジタル放送用システムにも上記各実施の形態の少なくとも動画像符号化装置(画像符号化装置)又は動画像復号化装置(画像復号装置)のいずれかを組み込むことができる。衛星などを利用して放送用の電波に映像と音が多重化された多重化データを載せて送受信するため、コンテンツ供給システムex100のユニキャストがし易い構成に対してマルチキャスト向きであるという違いがあるが符号化処理及び復号処理に関しては同様の応用が可能である。
 [ハードウェア構成]
 図22は、スマートフォンex115を示す図である。また、図23は、スマートフォンex115の構成例を示す図である。スマートフォンex115は、基地局ex110との間で電波を送受信するためのアンテナex450と、映像及び静止画を撮ることが可能なカメラ部ex465と、カメラ部ex465で撮像した映像、及びアンテナex450で受信した映像等が復号されたデータを表示する表示部ex458とを備える。スマートフォンex115は、さらに、タッチパネル等である操作部ex466と、音声又は音響を出力するためのスピーカ等である音声出力部ex457と、音声を入力するためのマイク等である音声入力部ex456と、撮影した映像或いは静止画、録音した音声、受信した映像或いは静止画、メール等の符号化されたデータ、又は、復号化されたデータを保存可能なメモリ部ex467と、ユーザを特定し、ネットワークをはじめ各種データへのアクセスの認証をするためのSIMex468とのインタフェース部であるスロット部ex464とを備える。なお、メモリ部ex467の代わりに外付けメモリが用いられてもよい。
 また、表示部ex458及び操作部ex466等を統括的に制御する主制御部ex460と、電源回路部ex461、操作入力制御部ex462、映像信号処理部ex455、カメラインタフェース部ex463、ディスプレイ制御部ex459、変調/復調部ex452、多重/分離部ex453、音声信号処理部ex454、スロット部ex464、及びメモリ部ex467とがバスex470を介して接続されている。
 電源回路部ex461は、ユーザの操作により電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりスマートフォンex115を動作可能な状態に起動する。
 スマートフォンex115は、CPU、ROM及びRAM等を有する主制御部ex460の制御に基づいて、通話及データ通信等の処理を行う。通話時は、音声入力部ex456で収音した音声信号を音声信号処理部ex454でデジタル音声信号に変換し、これを変調/復調部ex452でスペクトラム拡散処理し、送信/受信部ex451でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex450を介して送信する。また受信データを増幅して周波数変換処理及びアナログデジタル変換処理を施し、変調/復調部ex452でスペクトラム逆拡散処理し、音声信号処理部ex454でアナログ音声信号に変換した後、これを音声出力部ex457から出力する。データ通信モード時は、本体部の操作部ex466等の操作によってテキスト、静止画、又は映像データが操作入力制御部ex462を介して主制御部ex460に送出され、同様に送受信処理が行われる。データ通信モード時に映像、静止画、又は映像と音声を送信する場合、映像信号処理部ex455は、メモリ部ex467に保存されている映像信号又はカメラ部ex465から入力された映像信号を上記各実施の形態で示した動画像符号化方法によって圧縮符号化し、符号化された映像データを多重/分離部ex453に送出する。また、音声信号処理部ex454は、映像又は静止画等をカメラ部ex465で撮像中に音声入力部ex456で収音した音声信号を符号化し、符号化された音声データを多重/分離部ex453に送出する。多重/分離部ex453は、符号化済み映像データと符号化済み音声データを所定の方式で多重化し、変調/復調部(変調/復調回路部)ex452、及び送信/受信部ex451で変調処理及び変換処理を施してアンテナex450を介して送信する。
 電子メール又はチャットに添付された映像、又はウェブページ等にリンクされた映像を受信した場合、アンテナex450を介して受信された多重化データを復号するために、多重/分離部ex453は、多重化データを分離することにより、多重化データを映像データのビットストリームと音声データのビットストリームとに分け、同期バスex470を介して符号化された映像データを映像信号処理部ex455に供給するとともに、符号化された音声データを音声信号処理部ex454に供給する。映像信号処理部ex455は、上記各実施の形態で示した動画像符号化方法に対応した動画像復号化方法によって映像信号を復号し、ディスプレイ制御部ex459を介して表示部ex458から、リンクされた動画像ファイルに含まれる映像又は静止画が表示される。また音声信号処理部ex454は、音声信号を復号し、音声出力部ex457から音声が出力される。なおリアルタイムストリーミングが普及しているため、ユーザの状況によっては音声の再生が社会的にふさわしくない場も起こりえる。そのため、初期値としては、音声信号は再生せず映像データのみを再生する構成の方が望ましい。ユーザが映像データをクリックするなど操作を行った場合にのみ音声を同期して再生してもよい。
 またここではスマートフォンex115を例に説明したが、端末としては符号化器及び復号化器を両方持つ送受信型端末の他に、符号化器のみを有する送信端末、及び、復号化器のみを有する受信端末という3通りの実装形式が考えられる。さらに、デジタル放送用システムにおいて、映像データに音声データなどが多重化された多重化データを受信又は送信するとして説明したが、多重化データには、音声データ以外に映像に関連する文字データなどが多重化されてもよいし、多重化データではなく映像データ自体が受信又は送信されてもよい。
 なお、CPUを含む主制御部ex460が符号化又は復号処理を制御するとして説明したが、端末はGPUを備えることも多い。よって、CPUとGPUで共通化されたメモリ、又は共通に使用できるようにアドレスが管理されているメモリにより、GPUの性能を活かして広い領域を一括して処理する構成でもよい。これにより符号化時間を短縮でき、リアルタイム性を確保し、低遅延を実現できる。特に動き探索、デブロックフィルタ、SAO(Sample Adaptive Offset)、及び変換・量子化の処理を、CPUではなく、GPUでピクチャなどの単位で一括して行うと効率的である。
 なお、本開示における実施の形態においてスライスセグメント単位で実施される処理を、スライスセグメントとは異なる単位で実施してもよい。1以上のブロック(CU、PUまたはTU)を含む領域ごとに、その処理を実施してもよく、例えば、タイル単位で実施してもよい。タイル単位で本開示における処理を実施する場合、独立スライスセグメントは独立タイルに対応し、従属スライスセグメントは従属タイルに対応してもよい。CIRにおけるイントラスライスは、イントラ予測される1以上のブロックを含むイントラ予測領域であればよく、タイルであってもよいし、タイルと異なる処理単位であってもよい。このとき、CIRにおけるイントラ予測領域は、ピクチャが切り替わるにつれて上から下へ移動するのではなく、上から下への方向とは異なる方向に移動してもよい。例えば、イントラ予測領域は、左から右へ移動してもよい。
 以上、本開示に係る符号化装置および復号装置などについて、各実施の形態に基づいて説明したが、本開示は、これらの実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を上記各実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の範囲内に含まれてもよい。
 本開示の符号化装置および復号装置は、エラー伝搬を適切に抑制することができるという効果を奏し、例えば、テレビ、デジタルビデオレコーダー、カーナビゲーション、携帯電話、デジタルカメラ、デジタルビデオカメラ、車載カメラ、およびネットワークカメラ等の情報表示機器または撮像機器に利用可能であり、利用価値が高い。
11  分割部
12  符号化部
13、21  再構成部
14、22  ヘッダ処理部
15、23  フィルタ部
100  符号化装置
101  スライス分割部
102  減算器
103  直交変換部
104  量子化部
105  エントロピー符号化部
106、206  逆量子化部
107、207  逆直交変換部
108、208  加算器
109、209  デブロッキングフィルタ
110、210  メモリ
111、211  イントラ予測部
112、212  インター予測部
113  動き検出部
114、214  判定部
115  位置判定部
116  スイッチ
117  ピクチャヘッダ生成部
118  スライスヘッダ生成部
119  符号化処理部
200  復号装置
205  エントロピー復号部
217  ピクチャヘッダ解析部
218  スライスヘッダ解析部
219  復号処理部

Claims (16)

  1.  ピクチャを符号化する符号化装置であって、
     処理回路と、
     メモリとを備え、
     前記処理回路は、前記メモリを用いて、
     前記ピクチャを複数のスライスセグメントに分割し、
     前記複数のスライスセグメントのそれぞれに含まれる複数のブロックを符号化し、
     符号化された前記複数のブロックを再構成し、
     前記複数のスライスセグメントのそれぞれについて、当該スライスセグメントに対するフィルタの適用を制御するための制御情報を、当該スライスセグメントのヘッダ領域に付加し、
     前記複数のスライスセグメントのそれぞれについて、当該スライスセグメントの前記制御情報にしたがって、当該スライスセグメントに含まれる再構成されたブロックに対してフィルタを適用する、
     符号化装置。
  2.  前記複数のスライスセグメントのそれぞれは、
     前記ピクチャに含まれるスライスを構成する、独立スライスセグメント、および前記独立スライスセグメントに従属する少なくとも1つの従属スライスセグメントのうちの何れか1つのスライスセグメントである、
     請求項1に記載の符号化装置。
  3.  前記制御情報は、前記制御情報に対応する前記スライスセグメントの境界に対してデブロッキングフィルタを適用するか否かを示す、
     請求項1または2に記載の符号化装置。
  4.  前記制御情報は、前記制御情報に対応する前記スライスセグメントの境界に対してサンプル・アダプティブ・オフセットを適用するか否かを示す、
     請求項1または2に記載の符号化装置。
  5.  前記制御情報は、前記制御情報に対応する前記スライスセグメントの境界と、前記スライスセグメントに含まれる複数のブロック間の境界とに対してデブロッキングフィルタを適用するか否かを示す、
     請求項1または2に記載の符号化装置。
  6.  前記ピクチャは、動画像に含まれる複数のピクチャのうちの1つであって、
     前記複数のピクチャのそれぞれは、Iスライスセグメントを有し、かつ、前記複数のピクチャのそれぞれにおける前記Iスライスセグメントの位置が、前記複数のピクチャの符号化順にしたがって周期的に異なるように構成され、
     前記制御情報の付加では、
     前記制御情報に対応する前記スライスセグメントと前記Iスライスセグメントとの境界に対してフィルタを適用しないことを示す前記制御情報を、前記スライスセグメントのヘッダ領域に付加する、
     請求項1~5の何れか1項に記載の符号化装置。
  7.  ピクチャを符号化する符号化装置であって、
     前記ピクチャを複数のスライスセグメントに分割する分割部と、
     前記複数のスライスセグメントのそれぞれに含まれる複数のブロックを符号化する符号化部と、
     符号化された前記複数のブロックを再構成する再構成部と、
     前記複数のスライスセグメントのそれぞれについて、当該スライスセグメントに対するフィルタの適用を制御するための制御情報を、当該スライスセグメントのヘッダ領域に付加するヘッダ処理部と、
     前記複数のスライスセグメントのそれぞれについて、当該スライスセグメントの前記制御情報にしたがって、当該スライスセグメントに含まれる再構成されたブロックに対してフィルタを適用するフィルタ部と
     を備える符号化装置。
  8.  符号化ピクチャを復号する復号装置であって、
     処理回路と、
     メモリとを備え、
     前記処理回路は、前記メモリを用いて、
     前記符号化ピクチャを構成する複数のスライスセグメントのそれぞれに含まれる複数のブロックを再構成し、
     前記複数のスライスセグメントのそれぞれについて、当該スライスセグメントに対するフィルタの適用を制御するための制御情報を、当該スライスセグメントのヘッダ領域から取得し、
     前記複数のスライスセグメントのそれぞれについて、当該スライスセグメントの前記制御情報にしたがって、当該スライスセグメントに含まれる再構成されたブロックに対してフィルタを適用する、
     復号装置。
  9.  前記複数のスライスセグメントのそれぞれは、
     前記符号化ピクチャに含まれるスライスを構成する、独立スライスセグメント、および前記独立スライスセグメントに従属する少なくとも1つの従属スライスセグメントのうちの何れか1つのスライスセグメントである、
     請求項8に記載の復号装置。
  10.  前記制御情報は、前記制御情報に対応する前記スライスセグメントの境界に対してデブロッキングフィルタを適用するか否かを示す、
     請求項8または9に記載の復号装置。
  11.  前記制御情報は、前記制御情報に対応する前記スライスセグメントの境界に対してサンプル・アダプティブ・オフセットを適用するか否かを示す、
     請求項8または9に記載の復号装置。
  12.  前記制御情報は、前記制御情報に対応する前記スライスセグメントの境界と、前記スライスセグメントに含まれる複数のブロック間の境界とに対してデブロッキングフィルタを適用するか否かを示す、
     請求項8または9に記載の復号装置。
  13.  前記符号化ピクチャは、ビットストリームに含まれる複数の符号化ピクチャのうちの1つであって、
     前記複数の符号化ピクチャのそれぞれは、Iスライスセグメントを有し、かつ、前記複数の符号化ピクチャのそれぞれにおける前記Iスライスセグメントの位置が、前記複数の符号化ピクチャの復号順にしたがって周期的に異なるように構成され、
     前記制御情報の取得では、
     前記制御情報に対応する前記スライスセグメントと前記Iスライスセグメントとの境界に対してフィルタを適用しないことを示す前記制御情報を、前記スライスセグメントのヘッダ領域から取得する、
     請求項8~12の何れか1項に記載の復号装置。
  14.  符号化ピクチャを復号する復号装置であって、
     前記符号化ピクチャを構成する複数のスライスセグメントのそれぞれに含まれる複数のブロックを再構成する再構成部と、
     前記複数のスライスセグメントのそれぞれについて、当該スライスセグメントに対するフィルタの適用を制御するための制御情報を、当該スライスセグメントのヘッダ領域から取得するヘッダ処理部と、
     前記複数のスライスセグメントのそれぞれについて、当該スライスセグメントの前記制御情報にしたがって、当該スライスセグメントに含まれる再構成されたブロックに対してフィルタを適用するフィルタ部と
     を備える復号装置。
  15.  ピクチャを符号化する符号化方法であって、
     前記ピクチャを複数のスライスセグメントに分割し、
     前記複数のスライスセグメントのそれぞれに含まれる複数のブロックを符号化し、
     符号化された前記複数のブロックを再構成し、
     前記複数のスライスセグメントのそれぞれについて、当該スライスセグメントに対するフィルタの適用を制御するための制御情報を、当該スライスセグメントのヘッダ領域に付加し、
     前記複数のスライスセグメントのそれぞれについて、当該スライスセグメントの前記制御情報にしたがって、当該スライスセグメントに含まれる再構成されたブロックに対してフィルタを適用する、
     符号化方法。
  16.  符号化ピクチャを復号する復号方法であって、
     前記符号化ピクチャを構成する複数のスライスセグメントのそれぞれに含まれる複数のブロックを再構成し、
     前記複数のスライスセグメントのそれぞれについて、当該スライスセグメントに対するフィルタの適用を制御するための制御情報を、当該スライスセグメントのヘッダ領域から取得し、
     前記複数のスライスセグメントのそれぞれについて、当該スライスセグメントの前記制御情報にしたがって、当該スライスセグメントに含まれる再構成されたブロックに対してフィルタを適用する、
     復号方法。
PCT/JP2019/013150 2018-03-28 2019-03-27 符号化装置、復号装置、符号化方法、および復号方法 WO2019189340A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020509182A JP7403128B2 (ja) 2018-03-28 2019-03-27 符号化装置、復号装置、符号化方法、および復号方法
US17/018,320 US11356663B2 (en) 2018-03-28 2020-09-11 Encoder, decoder, encoding method, and decoding method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-062642 2018-03-28
JP2018062642 2018-03-28

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/018,320 Continuation US11356663B2 (en) 2018-03-28 2020-09-11 Encoder, decoder, encoding method, and decoding method

Publications (1)

Publication Number Publication Date
WO2019189340A1 true WO2019189340A1 (ja) 2019-10-03

Family

ID=68060258

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/013150 WO2019189340A1 (ja) 2018-03-28 2019-03-27 符号化装置、復号装置、符号化方法、および復号方法

Country Status (3)

Country Link
US (1) US11356663B2 (ja)
JP (1) JP7403128B2 (ja)
WO (1) WO2019189340A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023002844A1 (ja) * 2021-07-21 2023-01-26 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022191526A1 (ko) * 2021-03-09 2022-09-15 현대자동차주식회사 세그멘테이션 정보 기반 디블록킹 필터링을 이용하는 비디오 코딩방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009044475A1 (ja) * 2007-10-04 2009-04-09 Fujitsu Limited 符号化装置、符号化方法、符号化プログラムおよび符号化回路
JP2017535167A (ja) * 2014-10-06 2017-11-24 マイクロソフト テクノロジー ライセンシング,エルエルシー 符号化領域の完了を示すシンタックス構造

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5353532Y2 (ja) 1975-07-15 1978-12-21
JPH11205803A (ja) 1998-01-19 1999-07-30 Sony Corp 符号化装置及び符号化方法
JP5353532B2 (ja) 2009-07-29 2013-11-27 ソニー株式会社 画像処理装置及び画像処理方法
JP6679314B2 (ja) * 2015-03-31 2020-04-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 受信方法、受信装置及び送受信システム
GB2550604A (en) * 2016-05-24 2017-11-29 Canon Kk Method, device, and computer program for encapsulating and parsing timed media data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009044475A1 (ja) * 2007-10-04 2009-04-09 Fujitsu Limited 符号化装置、符号化方法、符号化プログラムおよび符号化回路
JP2017535167A (ja) * 2014-10-06 2017-11-24 マイクロソフト テクノロジー ライセンシング,エルエルシー 符号化領域の完了を示すシンタックス構造

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
055601205: "High efficiency video coding- ITU-T H.265 (12/2016)", SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS: INFRASTRUCTURE OF AUDIOVISUAL SERVICES-CODING OF MOVING VIDEO, 16 March 2017 (2017-03-16), pages 44 - 46, XP055635777, Retrieved from the Internet <URL:https://www.itu.int/rec/T-REC-H.265-201612-S/en> *
SCHIERL, T. ET AL.: "9th Meeting Joint Collaborative Team on Video Coding (JCT-VC) of ITU-TSG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11", DEPENDENT SLICES, no. JCTVC-I0229, 16 April 2012 (2012-04-16), Geneva, pages 1 - 6, XP030111992 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023002844A1 (ja) * 2021-07-21 2023-01-26 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置

Also Published As

Publication number Publication date
US20200413055A1 (en) 2020-12-31
US11356663B2 (en) 2022-06-07
JP7403128B2 (ja) 2023-12-22
JPWO2019189340A1 (ja) 2021-03-18

Similar Documents

Publication Publication Date Title
WO2017204185A1 (ja) 符号化装置、復号装置、符号化方法、および復号方法
WO2017199800A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2018181448A1 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
WO2018212110A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2019208677A1 (ja) 符号化装置、復号装置、符号化方法および復号方法
WO2018021374A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
JP2019033456A (ja) 符号化装置、復号装置、符号化方法、および復号方法
WO2018101288A1 (ja) 符号化装置、符号化方法、復号装置および復号方法
WO2019155971A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2019189346A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2018212111A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2018193968A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2019208372A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2018097115A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2021193671A1 (ja) 符号化装置、復号装置、符号化方法、および復号方法
JP2017103744A (ja) 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、及び画像符号化復号装置
WO2019221103A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
JP2023174983A (ja) 画像符号化装置及び非一時的記憶媒体
WO2018225594A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2018225593A1 (ja) 符号化装置、復号装置、符号化方法および復号方法
WO2018221554A1 (ja) 符号化装置、符号化方法、復号装置及び復号方法
WO2019189344A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
JP6767691B2 (ja) 画像符号化方法、伝送方法および画像符号化装置
US11356663B2 (en) Encoder, decoder, encoding method, and decoding method
WO2018221553A1 (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: 19774388

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020509182

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19774388

Country of ref document: EP

Kind code of ref document: A1