WO2016056398A1 - 画像処理装置および方法 - Google Patents

画像処理装置および方法 Download PDF

Info

Publication number
WO2016056398A1
WO2016056398A1 PCT/JP2015/077012 JP2015077012W WO2016056398A1 WO 2016056398 A1 WO2016056398 A1 WO 2016056398A1 JP 2015077012 W JP2015077012 W JP 2015077012W WO 2016056398 A1 WO2016056398 A1 WO 2016056398A1
Authority
WO
WIPO (PCT)
Prior art keywords
filter
deblocking
chroma
image
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2015/077012
Other languages
English (en)
French (fr)
Inventor
央二 中神
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2016553044A priority Critical patent/JP6579393B2/ja
Priority to EP15848167.1A priority patent/EP3206400A4/en
Priority to CN201580053276.9A priority patent/CN107079149B/zh
Priority to US15/512,552 priority patent/US20170295369A1/en
Publication of WO2016056398A1 publication Critical patent/WO2016056398A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/186Methods 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 a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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 image processing apparatus and method, and more particularly, to an image processing apparatus and method capable of suppressing a reduction in image quality.
  • HEVC High Efficiency Video Coding
  • the deblocking filter was developed for natural images of YUV 4: 2: 0.
  • This deblocking filter control includes filter execution control (whether or not to execute) and filter strength control (how much strength is used).
  • both controls are luminance components. (Also referred to as Luma) and color difference components (also referred to as Chroma) are performed as a common control (the deblocking filter for luma and the deblocking filter for chroma are controlled together (similar to each other). ).
  • the filter strength of this version 1 deblocking filter is automatically determined from the encoding mode and the decoded pixel value, but the algorithm for determining this filter strength has been adjusted to be appropriate for natural images. It did not support screen content such as computer screens and CG images. For this reason, when the version 1 deblocking filter is applied to the screen content image, the filter strength against the color difference component (chroma) is too strong, and there is a possibility that character collapse or the like occurs (that is, the image quality is reduced).
  • chroma color difference component
  • the deblocking filter control for the color difference component (chroma) also affects the deblocking filter for the luminance component (luma)
  • the deblocking filter for the image of the screen content is sufficiently optimized (the image quality It was difficult to sufficiently suppress the reduction).
  • the present disclosure has been made in view of such a situation, and is intended to suppress a reduction in image quality.
  • One aspect of the present technology relates to an encoding unit that encodes image data, and color difference components of decoded image data obtained by decoding the encoded data obtained by encoding the image data by the encoding unit.
  • the image processing apparatus includes a control information generation unit that generates control information for controlling deblocking filter processing as header information of the encoded data.
  • the control information generation unit can generate control information for controlling whether to perform a deblocking filter process on the color difference component of the decoded image data as the control information.
  • the control information generation unit can generate control information for controlling the filter strength of the deblocking filter process for the color difference component of the decoded image data as the control information.
  • the control information generation unit can generate control information for controlling an offset with respect to the parameter ⁇ of the deblocking filter as control information for controlling the filter strength.
  • the control information generation unit can generate control information for controlling an offset with respect to a parameter tC of the deblocking filter as control information for controlling the filter strength.
  • the control information generation unit is a syntax element of a sequence parameter set of the header information, and controls information for controlling deblocking filter processing for color difference components of a sequence corresponding to the sequence parameter set of the decoded image data
  • the header information Is a syntax element of the picture parameter set of control information for controlling deblocking filter processing for a color difference component of a picture corresponding to the picture parameter set of the decoded image data
  • a syntax element of a slice header of the header information At least one of the control information for controlling the deblocking filter processing for the color difference component of the slice corresponding to the slice header of the decoded image data can be generated.
  • a filter processing unit that performs a deblocking filter process on a color difference component of the decoded image data based on the control information generated by the control information generation unit may be further provided.
  • the control information generation unit further includes a control unit that controls the control information generation unit so that deblocking filtering is performed according to image characteristics of the decoded image data. Information can be generated.
  • the control information generation unit further includes a control unit that controls the control information generation unit so that deblocking filter processing according to a color format of the decoded image data is performed, and the control information generation unit is configured to control the control information according to control of the control unit. Can be generated.
  • One aspect of the present technology is also a control for controlling a deblocking filter process for a color difference component of decoded image data obtained by encoding image data and decoding the encoded data obtained by encoding the image data.
  • This is an image processing method for generating information as header information of the encoded data.
  • Another aspect of the present technology provides a decoding unit that decodes encoded data of image data, and a color difference between decoded image data obtained by decoding the encoded data by the decoding unit in header information of the encoded data. And a filter processing unit that performs a deblocking filter process on a color difference component of the decoded image data based on control information for controlling a deblocking filter process on the component.
  • the control information may be control information for controlling whether to perform a deblocking filter process on the color difference component of the decoded image data.
  • the control information may be control information for controlling the filter strength of the deblocking filter process for the color difference component of the decoded image data.
  • the control information for controlling the filter strength may be control information for controlling an offset with respect to the parameter ⁇ of the deblocking filter.
  • the control information for controlling the filter strength can be control information for controlling an offset with respect to the parameter tC of the deblocking filter.
  • the control information is a syntax element of a sequence parameter set of the header information, control information for controlling a deblocking filter process for a color difference component of a sequence corresponding to the sequence parameter set of the decoded image data, a picture of the header information
  • a syntax element of a parameter set control information for controlling a deblocking filter process for a color difference component of a picture corresponding to the picture parameter set of the decoded image data, a syntax element of a slice header of the header information, and the decoded image
  • It includes at least one of control information for controlling deblocking filter processing for a color difference component of a slice corresponding to the slice header of data, and the filter processing unit is included in the control information. Based on whether the information Re, it is possible to perform deblocking filtering with respect to chrominance components of the decoded image data.
  • the filter processing unit can be used with priority in the order of the control information of the slice header, the control information of the picture parameter set, and the control information of the sequence parameter set.
  • the filter processing unit refers to the control information of the picture parameter set and the control information of the slice header based on information indicating whether there is control information for controlling deblocking filter processing on the decoded image data And can be used.
  • the filter processing unit is configured to control the control information of the picture parameter set and the control information of the slice header based on information indicating whether control information for controlling a deblocking filter process for a color difference component of the decoded image data exists. And can be used.
  • Another aspect of the present technology also includes a deblocking filter that decodes encoded data of image data, and performs color-difference components of decoded image data obtained by decoding the encoded data in header information of the encoded data.
  • the image processing method performs a deblocking filter process on a color difference component of the decoded image data based on control information for controlling the process.
  • Information is generated as header information of the encoded data.
  • the deblocking filter process is performed on the color difference component of the decoded image data obtained by decoding the encoded data of the image data and decoding the encoded data of the header information of the encoded data. Based on the control information for controlling the image, deblocking filter processing is performed on the color difference component of the decoded image data.
  • FIG. 29 is a flowchart following FIG. 28 for explaining an example of the flow of header information generation processing.
  • It is a block diagram which shows the main structural examples of a loop filter.
  • It is a figure which shows the example of the extended syntax of a picture parameter set.
  • It is a figure which shows the example of the extended syntax of a slice header.
  • It is a figure which shows the example of the priority order of a parameter.
  • It is a block diagram which shows the main structural examples of a header information generation part.
  • It is a block diagram which shows the main structural examples of a loop filter.
  • FIG. 1 It is a figure which shows the example of the extended syntax of a picture parameter set. It is a figure which shows the example of the extended syntax of a slice header. It is a block diagram which shows the main structural examples of a header information generation part. It is a flowchart explaining the example of the flow of a header information generation process. It is a block diagram which shows the main structural examples of a loop filter. It is a figure which shows the example of the extended syntax of a picture parameter set. It is a figure which shows the example of the extended syntax of a slice header. It is a block diagram which shows the main structural examples of a header information generation part. It is a flowchart explaining the example of the flow of a header information generation process. It is a flowchart following FIG.
  • FIG. 45 explaining the example of the flow of a header information generation process. It is a block diagram which shows the main structural examples of a loop filter. It is a figure which shows the example of the extended syntax of a picture parameter set. It is a figure which shows the example of the extended syntax of a slice header. It is a flowchart explaining the example of the flow of a header information generation process. It is a block diagram which shows the main structural examples of a loop filter. It is a figure which shows the example of the extended syntax of a picture parameter set. It is a figure which shows the example of the extended syntax of a slice header. It is a flowchart explaining the example of the flow of a header information generation process. FIG. 55 is a flowchart continued from FIG.
  • FIG. 54 illustrating an example of the flow of header information generation processing. It is a block diagram which shows the main structural examples of a loop filter. It is a block diagram which shows the main structural examples of the display screen of a computer. It is a flowchart explaining the example of the flow of a deblocking filter control process. It is a flowchart explaining the example of the flow of a parameter setting process. It is a block diagram which shows the example of the color format of the image data encoded. It is a flowchart explaining the example of the flow of a deblocking filter control process. It is a flowchart explaining the example of the flow of a parameter setting process. It is a figure which shows the example of a multiview image encoding system.
  • FIG. 1 It is a figure which shows the main structural examples of the multiview image coding apparatus to which this technique is applied. It is a figure which shows the main structural examples of the multiview image decoding apparatus to which this technique is applied. It is a figure which shows the example of a hierarchy image coding system. It is a figure explaining the example of spatial scalable encoding. It is a figure explaining the example of temporal scalable encoding. It is a figure explaining the example of the scalable encoding of a signal noise ratio. It is a figure which shows the main structural examples of the hierarchy image coding apparatus to which this technique is applied. It is a figure which shows the main structural examples of the hierarchy image decoding apparatus to which this technique is applied. And FIG.
  • 20 is a block diagram illustrating a main configuration example of a computer. It is a block diagram which shows an example of a schematic structure of a television apparatus. It is a block diagram which shows an example of a schematic structure of a mobile telephone. It is a block diagram which shows an example of a schematic structure of a recording / reproducing apparatus. It is a block diagram which shows an example of a schematic structure of an imaging device. It is a block diagram which shows an example of a schematic structure of a video set. It is a block diagram which shows an example of a schematic structure of a video processor. It is a block diagram which shows the other example of the schematic structure of a video processor.
  • First Embodiment (Image Encoding Device / Image Decoding Device) 2.
  • Second Embodiment (Image Encoding Device / Image Decoding Device) 3.
  • Third Embodiment (Image Encoding Device / Image Decoding Device) 4).
  • Fourth Embodiment (Image Encoding Device / Image Decoding Device) 5.
  • Fifth embodiment (image encoding device / image decoding device) 6).
  • Sixth Embodiment (Image Encoding Device / Image Decoding Device) 7).
  • Seventh Embodiment (Image Encoding Device / Image Decoding Device) 8).
  • Eighth Embodiment (Image Encoding Device / Image Decoding Device) 9.
  • First Embodiment> ⁇ Image coding standardization process>
  • image information has been handled as digital data, and at that time, for the purpose of efficient transmission and storage of information, encoding is performed by orthogonal transform such as discrete cosine transform and motion compensation using redundancy unique to image information.
  • orthogonal transform such as discrete cosine transform and motion compensation using redundancy unique to image information.
  • An apparatus that employs a method to compress and code an image is becoming widespread.
  • This encoding method includes, for example, MPEG (Moving Picture Experts Group).
  • MPEG2 (ISO / IEC 13818-2) is defined as a general-purpose image encoding system, and is a standard that covers both interlaced scanning images and progressive scanning images, as well as standard resolution images and high-definition images.
  • MPEG2 is currently widely used in a wide range of applications for professional and consumer applications.
  • a code amount (bit rate) of 4 to 8 Mbps can be assigned to an interlaced scanned image having a standard resolution having 720 ⁇ 480 pixels.
  • a code amount (bit rate) of 18 to 22 Mbps can be allocated. As a result, a high compression rate and good image quality can be realized.
  • MPEG2 was mainly intended for high-quality encoding suitable for broadcasting, but it did not support encoding methods with a lower code amount (bit rate) than MPEG1, that is, a higher compression rate. With the widespread use of mobile terminals, the need for such an encoding system is expected to increase in the future, and the MPEG4 encoding system has been standardized accordingly. Regarding the image coding system, the standard was approved as an international standard in December 1998 as ISO / IEC 14496-2.
  • H.26L International Telecommunication Union Telecommunication Standardization Sector
  • Q6 / 16 VCEG Video Coding Expert Group
  • H.26L is known to achieve higher encoding efficiency than the conventional encoding schemes such as MPEG2 and MPEG4, although a large amount of calculation is required for encoding and decoding.
  • Joint ⁇ ⁇ ⁇ ⁇ Model of Enhanced-Compression Video Coding has been implemented based on this H.26L and incorporating functions not supported by H.26L to achieve higher coding efficiency. It was broken.
  • AVC Advanced Video Coding
  • JCTVC Joint Collaboration Team-Video Coding
  • ISO / IEC International Organization for Standardization // International Electrotechnical Commission
  • HEVC High Efficiency Video Coding
  • a coding unit (Coding Unit)) is defined.
  • CU is also called Coding Tree Block (CTB) and is a partial area of a picture unit image that plays the same role as a macroblock in the AVC method.
  • CTB Coding Tree Block
  • the latter is fixed to a size of 16 ⁇ 16 pixels, whereas the size of the former is not fixed, and is specified in the image compression information in each sequence.
  • the maximum size (LCU (Largest Coding Unit)) and the minimum size (SCU (Smallest Coding Unit)) are specified.
  • the LCU size is 128 and the maximum hierarchical depth is 5.
  • split_flag is “1”
  • the 2Nx2N CU is divided into NxN CUs that are one level below.
  • the CU is divided into prediction units (Prediction Units (PU)) that are regions (partial regions of images in units of pictures) that are processing units of intra or inter prediction, and are regions that are processing units of orthogonal transformation It is divided into transform units (Transform Unit (TU)), which are (partial areas of images in picture units).
  • Prediction Units PU
  • transform Unit Transform Unit
  • a macro block in the AVC method corresponds to an LCU
  • a block (sub block) corresponds to a CU. Then you can think.
  • a motion compensation block in the AVC method can be considered to correspond to a PU.
  • the size of the LCU of the highest hierarchy is generally set larger than the macro block of the AVC method, for example, 128 ⁇ 128 pixels.
  • the LCU also includes a macro block in the AVC method
  • the CU also includes a block (sub-block) in the AVC method.
  • “block” used in the following description indicates an arbitrary partial area in the picture, and its size, shape, characteristics, and the like are not limited. That is, the “block” includes an arbitrary area (processing unit) such as a TU, PU, SCU, CU, LCU, sub-block, macroblock, or slice. Of course, other partial areas (processing units) are also included. When it is necessary to limit the size, processing unit, etc., it will be described as appropriate.
  • CTU Coding Tree Unit
  • CTB Coding Tree Block
  • CU Coding ⁇ Unit
  • CB Coding ⁇ ⁇ ⁇ ⁇ Block
  • a deblocking filter was developed for natural images of YUV 4: 2: 0.
  • This deblocking filter control includes filter execution control (whether or not to execute) and filter strength control (how much strength is used).
  • both controls are luminance components. (Also referred to as Luma) and color difference components (also referred to as Chroma) are performed as a common control (the deblocking filter for luma and the deblocking filter for chroma are controlled together (similar to each other). ).
  • deblocking_filter_control_present_flag As shown in FIG. 2, in the version 1 picture parameter set (PPS (Picture Parameter Set)), deblocking_filter_control_present_flag, deblocking_filter_override_enabled_flag, pps_deblocking_filter_disabeld_flag, pps_beta_offset_div2, pps_beta_offset_div2, etc. .
  • Deblocking_filter_control_present_flag is a flag indicating whether or not a syntax element for controlling the deblocking filter exists in the picture parameter set. For example, when the value of deblocking_filter_control_present_flag is “1”, such a syntax element exists in the picture parameter set. For example, when the value of deblocking_filter_control_present_flag is “0”, such a syntax element does not exist in the picture parameter set.
  • the deblocking_filter_override_enabled_flag is a flag indicating whether or not deblocking_filter_override_flag exists in the slice header of the slice belonging to the picture. For example, when the value of deblocking_filter_override_enabled_flag is “1”, deblocking_filter_override_flag exists in the slice header of the slice belonging to the picture. For example, when the value of deblocking_filter_override_enabled_flag is “0”, deblocking_filter_override_flag does not exist in the slice header of the slice belonging to the picture.
  • Pps_deblocking_filter_disabeld_flag is a flag indicating whether or not a deblocking filter can be applied to a slice in which slice_deblocking_filter_disabled_flag is not defined among slices belonging to the picture (that is, whether or not to perform deblocking filter processing). For example, when the value of pps_deblocking_filter_disabeld_flag is “1”, the deblocking filter is not applied to the slice. For example, when the value of pps_deblocking_filter_disabeld_flag is “0”, the deblocking filter is applied to the slice.
  • Pps_beta_offset_div2 indicates an initial offset of the parameter ⁇ of the deblocking filter performed for a slice in which slice_deblocking_filter_disabled_flag is not defined among slices belonging to the picture, by doubling the value.
  • pps_tc_offset_div2 indicates the initial offset of the parameter tC of the deblocking filter, which is a value obtained by doubling the value, for a slice in which slice_deblocking_filter_disabled_flag is not defined among slices belonging to the picture. That is, these are syntax elements that control the filter strength (how much the strength is increased).
  • syntax elements such as deblocking_filter_override_flag, slice_deblocking_filter_disabeld_flag, slice_beta_offset_div2, and slice_tc_offset_div2 are appropriately set for the control of the deblocking filter.
  • Deblocking_filter_override_flag is a flag indicating whether or not a syntax element that controls the deblocking filter exists in the slice header. For example, when the value of deblocking_filter_override_flag is “1”, such a syntax element exists in the slice header. For example, when the value of deblocking_filter_override_flag is “0”, there is no such syntax element in the slice header.
  • “Slice_deblocking_filter_disabeld_flag” is a flag indicating whether or not the deblocking filter is applicable to the slice (that is, whether or not to execute the deblocking filter process). For example, when the value of slice_deblocking_filter_disabeld_flag is “1”, the deblocking filter is not applied to the slice. For example, when the value of slice_deblocking_filter_disabeld_flag is “0”, the deblocking filter is applied to the slice.
  • slice_beta_offset_div2 a value obtained by doubling the value indicates an initial offset of the parameter ⁇ of the deblocking filter performed on the slice.
  • slice_tc_offset_div2 a value obtained by doubling the value indicates an initial offset of the parameter tC of the deblocking filter performed for the slice. That is, these are syntax elements that control the filter strength (how much the strength is increased).
  • the filter strength of this version 1 deblocking filter is automatically determined from the encoding mode and the decoded pixel value, but the algorithm for determining this filter strength has been adjusted to be appropriate for natural images. It did not support screen content such as computer screens and CG images. For this reason, when the version 1 deblocking filter is applied to the screen content image, the filter strength against the color difference component (chroma) is too strong, resulting in the occurrence of character crushing and the like.
  • the deblocking filter control for the color difference component (chroma) also affects the deblocking filter for the luminance component (luma)
  • the deblocking filter for the image of the screen content is sufficiently optimized (the image quality It was difficult to sufficiently suppress the reduction).
  • control information for controlling the deblocking filter processing for the color difference component (chroma) of the image data is generated and used as header information of the encoded data of the image data.
  • control information for controlling the deblocking filter processing for the color difference component (chroma) of the image data is generated and used as header information of the encoded data of the image data.
  • HEVC encoding encoded data obtained by encoding image data to be encoded is decoded, and deblocking filter processing is performed on the obtained decoded image data.
  • encoded data of image data is decoded, and deblocking filter processing is performed on the obtained decoded image data.
  • control information for controlling only the processing for the chroma of the decoded image data is included in the header information, and the deblocking filter at the time of encoding and decoding is performed based on the control information. .
  • the deblocking filter process for chroma can be controlled independently of the deblocking filter process for luminance component (luma).
  • the deblocking filter process may be executed for luma and the deblocking filter process may not be executed for chroma.
  • the filter strength against chroma can be suppressed without changing the filter strength against luma. Therefore, for example, it is possible to perform more appropriate deblocking filter processing not only on a natural image but also on an image of a screen content, such as suppressing character collapse of the screen content. That is, by applying the present technology, it is possible to suppress a reduction in image quality.
  • a sequence parameter set for example, a sequence parameter set (SPS (Sequence Parameter Set)
  • a picture parameter set for example, a picture parameter set, a slice header, and the like are generated.
  • SPS Sequence Parameter Set
  • FIG. 4 for example, in the sequence parameter set, control information for controlling the deblocking filter processing for chroma may be set as an extended syntax.
  • sps_chroma_deblocking_filter_disabled_flag is set as the control information.
  • “Sps_chroma_deblocking_filter_disabled_flag” is a flag indicating whether or not a deblocking filter can be applied to a chroma of a slice in which pps_chroma_deblocking_filter_disabled_flag, which will be described later, or slice_chroma_deblocking_filter_disabled_flag is not defined among slices belonging to the sequence. That is, the syntax element sps_chroma_deblocking_filter_disabeld_flag is control information for controlling whether or not to execute the deblocking filter process for the chroma.
  • sps_chroma_deblocking_filter_disabeld_flag true (for example, “1”)
  • the deblocking filter is not applied to the chroma of the slice.
  • the deblocking filter is applied to the chroma of the slice.
  • control information for controlling the deblocking filter processing for the chroma may be set as the extended syntax.
  • pps_chroma_deblocking_filter_disabled_flag is set as the control information.
  • Pps_chroma_deblocking_filter_disabled_flag is a flag indicating whether or not a deblocking filter can be applied to a chroma of a slice in which a slice_chroma_deblocking_filter_disabled_flag described later is not defined among slices belonging to the picture. That is, this syntax element pps_chroma_deblocking_filter_disabeld_flag is control information for controlling whether or not to execute a deblocking filter process for chroma. For example, when the value of pps_chroma_deblocking_filter_disabeld_flag is true (for example, “1”), the deblocking filter is not applied to the chroma of the slice. For example, when the value of pps_chroma_deblocking_filter_disabeld_flag is false (for example, “0”), the deblocking filter is applied to the chroma of the slice.
  • control information for controlling the deblocking filter processing for chroma may be set as an extended syntax.
  • slice_chroma_deblocking_filter_disabled_flag is set as the control information.
  • “Slice_chroma_deblocking_filter_disabled_flag” is a flag indicating whether or not the deblocking filter is applicable to the chroma of the slice. That is, the syntax element slice_chroma_deblocking_filter_disabeld_flag is control information for controlling whether or not to execute the deblocking filter process for the chroma. For example, when the value of slice_chroma_deblocking_filter_disabeld_flag is true (for example, “1”), the deblocking filter is not applied to the chroma of the slice. For example, when the value of slice_chroma_deblocking_filter_disabeld_flag is false (for example, “0”), the deblocking filter is applied to the chroma of the slice.
  • deblocking filter processing for luma is the same as in HEVC version 1.
  • the deblocking filter process for chroma can be controlled independently of the deblocking filter process for luma, and the reduction in image quality can be suppressed.
  • an encoder or decoder that does not support this technology can skip the syntax elements of this technology. Although this technique cannot be applied, encoding and decoding can be performed correctly.
  • FIG. 8 is a block diagram illustrating an example of a configuration of an image encoding device that is an aspect of an image processing device to which the present technology is applied.
  • the image encoding device 100 illustrated in FIG. 8 encodes moving image image data using, for example, HEVC prediction processing or prediction processing based on the HEVC prediction processing.
  • the image encoding device 100 includes a screen rearrangement buffer 111, a calculation unit 112, an orthogonal transformation unit 113, a quantization unit 114, a lossless encoding unit 115, a storage buffer 116, an inverse quantization unit 117, And an inverse orthogonal transform unit 118.
  • the image encoding device 100 includes a calculation unit 119, a loop filter 120, a frame memory 121, an intra prediction unit 122, an inter prediction unit 123, a predicted image selection unit 124, and a rate control unit 125.
  • the image encoding device 100 includes a header information generation unit 131.
  • the screen rearrangement buffer 111 stores the images of the frames of the input image data in the display order, and the images of the frames in the stored display order are encoded for encoding according to GOP (Group Of Picture). The images are rearranged in the order of the frames, and the image in which the order of the frames is rearranged is supplied to the calculation unit 112. In addition, the screen rearrangement buffer 111 also supplies the image in which the order of the frames is rearranged to the intra prediction unit 122 and the inter prediction unit 123. Furthermore, the screen rearrangement buffer 111 can also supply the image to the header information generation unit 131.
  • GOP Group Of Picture
  • the calculation unit 112 subtracts the predicted image supplied from the intra prediction unit 122 or the inter prediction unit 123 via the predicted image selection unit 124 from the image read from the screen rearrangement buffer 111, and calculates the difference information (residual). Difference data) is supplied to the orthogonal transform unit 113. For example, in the case of an image on which intra coding is performed, the calculation unit 112 subtracts the prediction image supplied from the intra prediction unit 122 from the image read from the screen rearrangement buffer 111. For example, in the case of an image on which inter coding is performed, the calculation unit 112 subtracts the prediction image supplied from the inter prediction unit 123 from the image read from the screen rearrangement buffer 111.
  • the orthogonal transform unit 113 performs orthogonal transform such as discrete cosine transform and Karhunen-Loeve transform on the residual data supplied from the computing unit 112.
  • the orthogonal transform unit 113 supplies the transform coefficient obtained by the orthogonal transform to the quantization unit 114.
  • the quantization unit 114 quantizes the transform coefficient supplied from the orthogonal transform unit 113.
  • the quantization unit 114 sets a quantization parameter based on the information regarding the target value of the code amount supplied from the rate control unit 125, and performs the quantization.
  • the quantization unit 114 supplies the quantized transform coefficient to the lossless encoding unit 115.
  • the lossless encoding unit 115 encodes the transform coefficient quantized by the quantization unit 114 using an arbitrary encoding method, and generates encoded data (also referred to as an encoded stream). Further, the lossless encoding unit 115 acquires header information such as a sequence parameter set, a picture parameter set, and a slice header from the header information generation unit 131, and uses them as header information of encoded data. This header information can include deblocking filter control information for chroma. Furthermore, the lossless encoding unit 115 acquires information indicating the mode of intra prediction from the intra prediction unit 122, acquires information indicating the mode of inter prediction, difference motion vector information, and the like from the inter prediction unit 123. Various information is included in the header information.
  • the lossless encoding unit 115 supplies the encoded data obtained by encoding to the storage buffer 116 for storage.
  • Examples of the encoding method of the lossless encoding unit 115 include variable length encoding or arithmetic encoding.
  • Examples of variable length coding include H.264.
  • CAVLC Context-Adaptive Variable Length Coding
  • Examples of arithmetic coding include CABAC (Context-Adaptive Binary Arithmetic Coding).
  • the accumulation buffer 116 temporarily stores the encoded data supplied from the lossless encoding unit 115.
  • the accumulation buffer 116 outputs the stored encoded data to the outside of the image encoding device 100 at a predetermined timing. That is, the accumulation buffer 116 is also a transmission unit that transmits encoded data.
  • the transform coefficient quantized by the quantization unit 114 is also supplied to the inverse quantization unit 117.
  • the inverse quantization unit 117 inversely quantizes the quantized transform coefficient by a method corresponding to the quantization by the quantization unit 114.
  • the inverse quantization unit 117 supplies the transform coefficient obtained by the inverse quantization to the inverse orthogonal transform unit 118.
  • the inverse orthogonal transform unit 118 performs inverse orthogonal transform on the transform coefficient supplied from the inverse quantization unit 117 by a method corresponding to the orthogonal transform process by the orthogonal transform unit 113.
  • the inverse orthogonal transform unit 118 supplies the output (restored residual data) subjected to the inverse orthogonal transform to the calculation unit 119.
  • the calculation unit 119 adds the predicted image supplied from the intra prediction unit 122 or the inter prediction unit 123 via the predicted image selection unit 124 to the restored residual data supplied from the inverse orthogonal transform unit 118, A locally reconstructed image (hereinafter also referred to as a decoded image) is obtained.
  • the decoded image is supplied to the loop filter 120 or the intra prediction unit 122.
  • the loop filter 120 appropriately performs a loop filter process on the decoded image supplied from the calculation unit 119.
  • This loop filter process is arbitrary as long as it is a filter process including at least a deblocking filter process.
  • the loop filter 120 performs deblocking filter processing on the decoded image to remove deblocking distortion, and performs image quality improvement by performing adaptive loop filter processing using a Wiener filter. May be.
  • the loop filter 120 acquires header information that can include deblocking filter control information for chroma from the header information generation unit 131, and performs deblocking filter processing based on the control information. Further, the loop filter 120 can supply information such as filter coefficients used for the filter processing to the lossless encoding unit 115 and encode it as necessary.
  • the loop filter 120 supplies the decoded image subjected to the filtering process to the frame memory 121.
  • the frame memory 121 stores the supplied decoded image, and supplies the stored decoded image to the inter prediction unit 123 as a reference image at a predetermined timing.
  • the intra prediction unit 122 performs intra prediction (intra-screen prediction) that generates a predicted image using a pixel value in a processing target picture that is a decoded image supplied as a reference image from the calculation unit 119.
  • the intra prediction unit 122 performs this intra prediction in a plurality of intra prediction modes prepared in advance.
  • the intra prediction unit 122 generates predicted images in all candidate intra prediction modes, evaluates the cost function value of each predicted image using the input image supplied from the screen rearrangement buffer 111, and selects the optimum mode. select. When the intra prediction unit 122 selects the optimal intra prediction mode, the intra prediction unit 122 supplies the predicted image generated in the optimal mode to the predicted image selection unit 124.
  • the intra prediction unit 122 appropriately supplies the intra prediction mode information indicating the adopted intra prediction mode to the lossless encoding unit 115 to be encoded.
  • the inter prediction unit 123 performs inter prediction processing (motion prediction processing and compensation processing) using the input image supplied from the screen rearrangement buffer 111 and the reference image supplied from the frame memory 121. More specifically, the inter prediction unit 123 performs motion compensation processing according to motion vectors detected by performing motion prediction as inter prediction processing, and generates a predicted image (inter predicted image information). The inter prediction unit 123 performs such inter prediction in a plurality of inter prediction modes prepared in advance.
  • the inter prediction unit 123 generates a prediction image in all candidate inter prediction modes.
  • the inter prediction unit 123 evaluates the cost function value of each prediction image using the input image supplied from the screen rearrangement buffer 111, information on the generated difference motion vector, and the like, and selects an optimal mode.
  • the inter prediction unit 123 supplies the predicted image generated in the optimal mode to the predicted image selection unit 124.
  • the inter prediction unit 123 supplies information indicating the adopted inter prediction mode, information necessary for performing processing in the inter prediction mode, and the like to the lossless encoding unit 115 when decoding the encoded data, Encode.
  • the necessary information includes, for example, information on the generated differential motion vector and a flag indicating an index of the predicted motion vector as predicted motion vector information.
  • the predicted image selection unit 124 selects a supply source of the predicted image to be supplied to the calculation unit 112 or the calculation unit 119.
  • the predicted image selection unit 124 selects the intra prediction unit 122 as the supply source of the predicted image, and supplies the predicted image supplied from the intra prediction unit 122 to the calculation unit 112 and the calculation unit 119.
  • the prediction image selection unit 124 selects the inter prediction unit 123 as a supply source of the prediction image, and calculates the prediction image supplied from the inter prediction unit 123 as the calculation unit 112 or the calculation unit 119. To supply.
  • the rate control unit 125 controls the rate of the quantization operation of the quantization unit 114 based on the code amount of the encoded data stored in the storage buffer 116 so that overflow or underflow does not occur.
  • the header information generation unit 131 for example, header information such as a sequence parameter set, a picture parameter set, and a slice header based on instructions and reference information supplied from the outside or image data supplied from the screen rearrangement buffer 111 Is generated.
  • This header information is arbitrary and may be a video parameter set, for example.
  • the header information generation unit 131 can generate control information for controlling deblocking filter processing for chroma and include the control information in the header information.
  • the header information generation unit 131 supplies the generated header information to the lossless encoding unit 115.
  • the header information generation unit 131 also supplies the generated header information to the loop filter 120.
  • FIG. 9 is a block diagram illustrating a main configuration example of the header information generation unit 131.
  • the header information generation unit 131 includes, for example, a header control unit 141, an SPS generation unit 151, a PPS generation unit 152, and an SH generation unit 153.
  • the SPS generation unit 151 includes an SPS extended syntax generation unit 161.
  • the PPS generation unit 152 includes a PPS extended syntax generation unit 162.
  • the SH generation unit 153 includes an SH extended syntax generation unit 163.
  • the SPS extended syntax generation unit 161 includes an sps_chroma_deblocking_filter_disabled_flag generation unit 171.
  • the PPS extended syntax generation unit 162 includes a pps_chroma_deblocking_filter_disabled_flag generation unit 172.
  • the SH extended syntax generation unit 163 includes a slice_chroma_deblocking_filter_disabled_flag generation unit 173.
  • the header control unit 141 controls the SPS generation unit 151, the PPS generation unit 152, the SH generation unit 153, and the like, and controls generation of header information.
  • the SPS generation unit 151 generates a sequence parameter set (SPS).
  • the SPS generation unit 151 can also generate any syntax element of the sequence parameter set other than the syntax element generated by the SPS extended syntax generation unit 161.
  • the SPS extended syntax generation unit 161 generates an extended syntax element of the sequence parameter set, for example, as in the example of FIG. For example, when there is an extension syntax element other than sps_chroma_deblocking_filter_disabled_flag, the SPS extension syntax generation unit 161 can also generate the extension syntax element. This extension syntax element may be anything.
  • the sps_chroma_deblocking_filter_disabled_flag generation unit 171 generates sps_chroma_deblocking_filter_disabled_flag.
  • this sps_chroma_deblocking_filter_disabled_flag is a flag indicating whether or not a deblocking filter can be applied to a chroma of a slice in which pps_chroma_deblocking_filter_disabled_flag, which will be described later, and slice_chroma_deblocking_filter_disabled_flag are not defined.
  • the PPS generation unit 152 generates a picture parameter set (PPS).
  • the PPS generation unit 152 can also generate an arbitrary syntax element other than the syntax elements generated by the PPS extended syntax generation unit 162 of the picture parameter set.
  • the PPS extended syntax generation unit 162 generates an extended syntax element of a picture parameter set, for example, as in the example of FIG. For example, when there is an extension syntax element other than pps_chroma_deblocking_filter_disabled_flag, the PPS extension syntax generation unit 162 can also generate the extension syntax element. This extension syntax element may be anything.
  • the pps_chroma_deblocking_filter_disabled_flag generation unit 172 generates pps_chroma_deblocking_filter_disabled_flag. As described with reference to FIG. 5, this pps_chroma_deblocking_filter_disabled_flag is a flag indicating whether or not a deblocking filter can be applied to a chroma of a slice in which slice_chroma_deblocking_filter_disabled_flag described later is not defined among slices belonging to the picture.
  • the SH generation unit 153 generates a slice header (SH).
  • the SH generation unit 153 can also generate an arbitrary syntax element other than the syntax element generated by the SH extended syntax generation unit 163 in the slice header.
  • the SH extended syntax generation unit 163 generates an extended syntax element of the slice header, for example, as in the example of FIG. For example, when an extended syntax element other than slice_chroma_deblocking_filter_disabled_flag exists, the SH extended syntax generation unit 163 can also generate the extended syntax element. This extension syntax element may be anything.
  • the slice_chroma_deblocking_filter_disabled_flag generation unit 173 generates slice_chroma_deblocking_filter_disabled_flag. As described with reference to FIG. 6, this slice_chroma_deblocking_filter_disabled_flag is a flag indicating whether or not the deblocking filter can be applied to the chroma of the slice.
  • FIG. 10 is a block diagram illustrating a main configuration example of the loop filter 120.
  • the loop filter 120 includes, for example, a deblocking filter control unit 181 and a deblocking filter processing unit 182.
  • the deblocking filter processing unit 182 includes a luma deblocking filter processing unit 191 and a chroma deblocking filter processing unit 192.
  • the deblocking filter control unit 181 Based on the header information supplied from the header information generation unit 131, the deblocking filter control unit 181 performs a deblocking filter process by the deblocking filter processing unit 182 (that is, a deblocking filter process for luma by the luma deblocking filter processing unit 191). And the chroma deblocking filter processing unit 192 to control the deblocking filter processing for chroma).
  • This header information can include deblocking filter control information for chroma.
  • the deblocking filter control unit 181 performs execution control of the deblocking filter process for chroma (control of whether to execute) as the control of the deblocking filter process.
  • the deblocking filter processing unit 182 performs deblocking filter processing on the decoded image supplied from the calculation unit 119 according to the control of the deblocking filter control unit 181.
  • the luma deblocking filter processing unit 191 performs deblocking filter processing on the luma of the decoded image supplied from the calculation unit 119 according to the control of the deblocking filter control unit 181.
  • the chroma deblocking filter processing unit 192 performs deblocking filter processing on the chroma of the decoded image supplied from the calculation unit 119 according to the control of the deblocking filter control unit 181.
  • the deblocking filter processing unit 182 supplies the decoded image subjected to the deblocking filter process or the decoded image not subjected to the deblocking filter process to the frame memory 121.
  • the header information generation unit 131 When the encoding process is started, the header information generation unit 131 generates header information such as a sequence parameter set (SPS), a picture parameter set (PPS), and a slice header (SH) in step S101.
  • SPS sequence parameter set
  • PPS picture parameter set
  • SH slice header
  • the screen rearrangement buffer 111 stores the images of the frames (pictures) of the input moving image in the display order, and rearranges from the display order of the pictures to the encoding order. .
  • step S103 the intra prediction unit 122 performs intra prediction processing in the intra prediction mode.
  • step S104 the inter prediction unit 123 performs inter prediction processing for performing motion prediction and motion compensation in the inter prediction mode.
  • step S105 the predicted image selection unit 124 selects either a predicted image generated by the intra prediction in step S103 or a predicted image generated by the inter prediction in step S104, based on the cost function value or the like. .
  • step S106 the calculation unit 112 calculates a difference between the input image whose frame order is rearranged by the process of step S102 and the predicted image selected by the process of step S105. That is, the calculation unit 112 generates residual data between the input image and the predicted image.
  • the residual data obtained in this way is reduced in data amount compared to the original image data. Therefore, the data amount can be compressed as compared with the case where the image is encoded as it is.
  • step S107 the orthogonal transform unit 113 performs orthogonal transform on the residual data generated by the process in step S106.
  • step S108 the quantization unit 114 quantizes the orthogonal transform coefficient obtained by the processing in step S107, using the quantization parameter calculated by the rate control unit 125.
  • step S109 the inverse quantization unit 117 inversely quantizes the quantized coefficient (also referred to as a quantization coefficient) generated by the process in step S108 with a characteristic corresponding to the quantization characteristic.
  • step S110 the inverse orthogonal transform unit 118 performs inverse orthogonal transform on the orthogonal transform coefficient obtained by the process of step S109.
  • step S111 the calculation unit 119 generates image data of a decoded image by adding the predicted image selected in the process of step S105 to the residual data restored in the process of step S110.
  • step S112 the loop filter 120 appropriately performs loop filter processing on the image data of the decoded image generated by the processing in step S111.
  • step S113 the frame memory 121 stores the locally decoded decoded image that has been subjected to the processing in step S112.
  • step S114 the lossless encoding unit 115 encodes the quantized coefficient obtained by the process in step S108. That is, lossless encoding such as variable length encoding or arithmetic encoding is performed on data corresponding to the residual data.
  • the lossless encoding unit 115 encodes the header information generated by the process of step S101 and adds the quantized coefficient to the encoded data obtained by encoding.
  • the lossless encoding unit 115 encodes information related to the prediction mode of the prediction image selected by the processing in step S105, and adds the information to the header information of the encoded data. That is, the lossless encoding unit 115 also encodes the optimal intra prediction mode information supplied from the intra prediction unit 122 or the information corresponding to the optimal inter prediction mode supplied from the inter prediction unit 123, and the like. Add to header information.
  • step S115 the accumulation buffer 116 accumulates the encoded data obtained by the process in step S114.
  • the encoded data or the like stored in the storage buffer 116 is appropriately read as a bit stream and transmitted to the decoding side via a transmission path or a recording medium.
  • step S116 the rate control unit 125 performs step S108 so that overflow or underflow does not occur based on the code amount (generated code amount) of encoded data or the like accumulated in the accumulation buffer 116 by the process in step S115. Controls the rate of quantization processing.
  • step S116 When the process of step S116 is finished, the encoding process is finished.
  • the SPS generation unit 151 When the header information generation process is started, in step S121, the SPS generation unit 151 generates a sequence parameter set (SPS).
  • the SPS generating unit 151 generates syntax elements other than the extended syntax of the sequence parameter set, and the SPS extended syntax generating unit 161 generates extended syntax elements other than the sps_chroma_deblocking_filter_disabled_flag of the sequence parameter set.
  • the sps_chroma_deblocking_filter_disabled_flag generation unit 171 generates sps_chroma_deblocking_filter_disabled_flag of the sequence parameter set. For example, the sps_chroma_deblocking_filter_disabled_flag generator 171 sets the value of this flag to false when performing deblocking filtering on the chroma of slices for which pps_chroma_deblocking_filter_disabled_flag, which will be described later, and slice_chroma_deblocking_filter_disabled_flag are not defined, among slices belonging to the sequence. (For example, “0”).
  • the sps_chroma_deblocking_filter_disabled_flag generation unit 171 Set the value to true (eg, “1”). The value of this flag is determined based on arbitrary information such as a predetermined setting.
  • step S123 the PPS generation unit 152 generates a picture parameter set (PPS).
  • the PPS generation unit 152 generates syntax elements other than the extended syntax of the picture parameter set, and the PPS extended syntax generation unit 162 generates extended syntax elements other than the pps_chroma_deblocking_filter_disabled_flag of the picture parameter set.
  • the pps_chroma_deblocking_filter_disabled_flag generation unit 172 generates pps_chroma_deblocking_filter_disabled_flag of the picture parameter set. For example, when performing the deblocking filter process on the chroma of a slice in which slice_chroma_deblocking_filter_disabled_flag described later is not defined among slices belonging to the picture, the pps_chroma_deblocking_filter_disabled_flag generation unit 172 sets the value of this flag to false (for example, “ 0 ”).
  • the pps_chroma_deblocking_filter_disabled_flag generation unit 172 sets the value of this flag to true. (For example, “1”).
  • the value of this flag is determined based on arbitrary information such as a predetermined setting.
  • step S125 the SH generation unit 153 generates a slice header (SH).
  • SH generation unit 153 generates syntax elements other than the extension syntax of the slice header
  • SH extension syntax generation unit 163 generates extension syntax elements other than the slice_chroma_deblocking_filter_disabled_flag of the slice header.
  • the slice_chroma_deblocking_filter_disabled_flag generation unit 173 generates slice_chroma_deblocking_filter_disabled_flag of the slice header. For example, when the deblocking filter process is performed on the chroma of the slice, the slice_chroma_deblocking_filter_disabled_flag generation unit 173 sets the value of this flag to false (eg, “0”). For example, when the deblocking filter process is not performed on the chroma of the slice, the slice_chroma_deblocking_filter_disabled_flag generation unit 173 sets the value of this flag to true (eg, “1”). The value of this flag is determined based on arbitrary information such as a predetermined setting.
  • step S126 When the process of step S126 is completed, the header information generation process is terminated, and the process returns to FIG.
  • the image encoding device 100 by generating the control information for controlling the deblocking filter processing for the color difference component (chroma) of the image data as the header information, the image encoding device 100 (header information generation unit 131) can deblock the chroma.
  • the filtering process can be controlled independently from the deblocking filtering process for the luminance component (luma).
  • the deblocking filter process may be executed for luma and the deblocking filter process may not be executed for chroma. Therefore, the image encoding device 100 (header information generation unit 131) applies not only a natural image but also a deblocking filter process performed at the time of encoding and decoding of image data by applying the present technology. Further, it is possible to execute the process more appropriately for the image of the screen content, and it is possible to suppress the reduction of the image quality.
  • step S141 the deblocking filter control unit 181 controls execution of the deblocking filter process for the luma of the decoded image based on the value of pps_deblocking_filter_disabled_flag and the value of slice_deblocking_filter_disabled_flag included in the header information. To do.
  • These syntax elements are as in the example described with reference to FIGS. 2 and 3, and the value of slice_deblocking_filter_disabled_flag is prioritized over the value of pps_deblocking_filter_disabled_flag.
  • the luma deblocking filter processing unit 191 performs deblocking filter processing on the luma of the decoded image based on the control, that is, according to the value of pps_deblocking_filter_disabled_flag and the value of slice_deblocking_filter_disabled_flag.
  • step S142 the deblocking filter control unit 181 controls execution of deblocking filter processing on the chroma of the decoded image based on the value of sps_chroma_deblocking_filter_disabled_flag, the value of pps_chroma_deblocking_filter_disabled_flag, and the value of slice_chroma_deblocking_filter_disabled_flag included in the header information.
  • These syntax elements are as described with reference to FIG. 4 to FIG. .
  • the chroma deblocking filter processing unit 192 performs deblocking filter processing on the chroma of the decoded image based on the control, that is, according to the value of sps_chroma_deblocking_filter_disabled_flag, the value of pps_chroma_deblocking_filter_disabled_flag, and the value of slice_chroma_deblocking_filter_disabled_flag.
  • step S142 When the process of step S142 is completed, the loop filter process is terminated, and the process returns to FIG.
  • the image coding apparatus 100 (the loop filter 120). ) Can execute the deblocking filter process for the chroma independently of the deblocking filter process for the luminance component (luma). For example, it can be realized that the deblocking filter process is executed for luma and the deblocking filter process is not executed for chroma. Therefore, the image encoding apparatus 100 (loop filter 120) can apply the present technology to more appropriate not only for natural images but also for screen content images when encoding image data. In addition, deblocking filter processing can be performed, and reduction in image quality can be suppressed.
  • FIG. 14 is a block diagram illustrating a main configuration example of an image decoding device that is an aspect of an image processing device to which the present technology is applied.
  • An image decoding apparatus 200 illustrated in FIG. 14 decodes encoded data generated by, for example, the image encoding apparatus 100 (FIG. 8) encoding image data using the HEVC encoding method.
  • the image decoding apparatus 200 includes a storage buffer 211, a lossless decoding unit 212, an inverse quantization unit 213, an inverse orthogonal transform unit 214, a calculation unit 215, a loop filter 216, and a screen rearrangement buffer 217.
  • the image decoding device 200 includes a frame memory 218, an intra prediction unit 219, an inter prediction unit 220, and a predicted image selection unit 221.
  • the accumulation buffer 211 is also a receiving unit that receives encoded data transmitted from the encoding side.
  • the accumulation buffer 211 receives and accumulates the transmitted encoded data, and supplies the encoded data to the lossless decoding unit 212 at a predetermined timing.
  • the lossless decoding unit 212 decodes the encoded data supplied from the accumulation buffer 211 using the HEVC method.
  • the lossless decoding unit 212 supplies the quantized coefficient data obtained by decoding to the inverse quantization unit 213.
  • the lossless decoding unit 212 determines whether the intra prediction mode or the inter prediction mode is selected as the optimal prediction mode based on the information about the optimal prediction mode added to the encoded data, and the optimal The information regarding the correct prediction mode is supplied to the mode determined to be selected from the intra prediction unit 219 and the inter prediction unit 220. For example, when the intra prediction mode is selected as the optimal prediction mode on the encoding side, information regarding the optimal prediction mode is supplied to the intra prediction unit 219. For example, when the inter prediction mode is selected as the optimal prediction mode on the encoding side, information regarding the optimal prediction mode is supplied to the inter prediction unit 220.
  • the lossless decoding unit 212 supplies information necessary for inverse quantization, such as a quantization matrix and a quantization parameter, to the inverse quantization unit 213, for example.
  • the lossless decoding unit 212 supplies the loop filter 216 with header information such as a sequence parameter set (SPS), a picture parameter set (PPS), and a slice header.
  • header information can include deblocking filter control information for chroma.
  • the inverse quantization unit 213 inversely quantizes the quantized coefficient data obtained by decoding by the lossless decoding unit 212 using a method corresponding to the quantization method on the encoding side.
  • the inverse quantization unit 213 supplies the obtained coefficient data to the inverse orthogonal transform unit 214.
  • the inverse orthogonal transform unit 214 performs inverse orthogonal transform on the orthogonal transform coefficient supplied from the inverse quantization unit 213 by a method corresponding to the orthogonal transform method on the encoding side.
  • the inverse orthogonal transform unit 214 obtains residual data corresponding to the state before orthogonal transform on the encoding side by the inverse orthogonal transform process.
  • the residual data obtained by the inverse orthogonal transform is supplied to the calculation unit 215.
  • the calculation unit 215 acquires residual data from the inverse orthogonal transform unit 214. In addition, the calculation unit 215 acquires a predicted image from the intra prediction unit 219 or the inter prediction unit 220 via the predicted image selection unit 221. The calculation unit 215 adds the difference image and the prediction image, and obtains a decoded image corresponding to the image before the prediction image is subtracted on the encoding side. The calculation unit 215 supplies the decoded image to the loop filter 216 and the intra prediction unit 219.
  • the loop filter 216 is a processing unit similar to the loop filter 120 of the image encoding device 100 (FIG. 8), and performs the same processing as the loop filter 120. That is, the loop filter 216 appropriately performs loop filter processing on the decoded image supplied from the calculation unit 215.
  • This loop filter process is arbitrary as long as it is a filter process including at least a deblocking filter process.
  • the loop filter 120 performs deblocking filter processing on the decoded image to remove deblocking distortion, and performs image quality improvement by performing adaptive loop filter processing using a Wiener filter. May be.
  • the loop filter 216 acquires header information that can include deblocking filter control information for chroma from the lossless decoding unit 212, and performs deblocking filter processing based on the control information. Note that the loop filter 216 may perform filter processing using the filter coefficient supplied from the encoding side.
  • the loop filter 216 supplies the decoded image appropriately subjected to the filter processing to the screen rearrangement buffer 217 and the frame memory 218.
  • the screen rearrangement buffer 217 rearranges images. That is, the order of frames rearranged for the encoding order on the encoding side is rearranged in the original display order.
  • the screen rearrangement buffer 217 outputs the decoded image data in which the frame order is rearranged to the outside of the image decoding device 200.
  • the frame memory 218 stores the supplied decoded image, and stores the decoded image stored in the inter prediction unit 220 as a reference image at a predetermined timing or based on an external request from the inter prediction unit 220 or the like. Supply.
  • the intra prediction unit 219 is appropriately supplied from the lossless decoding unit 212 with information indicating the intra prediction mode obtained by decoding the header information.
  • the intra prediction unit 219 performs intra prediction using the decoded image supplied from the calculation unit 215 as a reference image in the intra prediction mode used on the encoding side, and generates a prediction image.
  • the intra prediction unit 219 supplies the generated predicted image to the predicted image selection unit 221.
  • the inter prediction unit 220 acquires information (optimum prediction mode information, reference image information, etc.) obtained by decoding the header information from the lossless decoding unit 212.
  • the inter prediction unit 220 performs inter prediction using the reference image acquired from the frame memory 218 in the inter prediction mode indicated by the optimal prediction mode information acquired from the lossless decoding unit 212, and generates a prediction image.
  • the predicted image selection unit 221 supplies the predicted image from the intra prediction unit 219 or the predicted image from the inter prediction unit 220 to the calculation unit 215. Then, the calculation unit 215 adds the predicted image generated using the motion vector and the residual data supplied from the inverse orthogonal transform unit 214 to decode the original image. That is, a decoded image is generated.
  • FIG. 15 is a block diagram illustrating a main configuration example of the loop filter 216.
  • the loop filter 216 includes, for example, a deblocking filter control unit 251 and a deblocking filter processing unit 252.
  • the deblocking filter processing unit 252 includes a luma deblocking filter processing unit 261 and a chroma deblocking filter processing unit 262. That is, the loop filter 216 has the same configuration as the loop filter 120 and performs the same processing.
  • the deblocking filter control unit 251 corresponds to the deblocking filter control unit 181 of the loop filter 120, and based on the header information supplied from the lossless decoding unit 212, the deblocking filter processing unit 252 performs deblocking filter processing ( That is, the deblocking filter process for luma by the luma deblocking filter processing unit 261 and the deblocking filter process for chroma by the chroma deblocking filter processing unit 262 are controlled.
  • This header information can include deblocking filter control information for chroma.
  • the deblocking filter control unit 251 performs execution control of the deblocking filter process for chroma (control of whether to execute) as the control of the deblocking filter process.
  • the deblocking filter processing unit 252 corresponds to the deblocking filter processing unit 182 of the loop filter 120, and performs deblocking filter processing on the decoded image supplied from the calculation unit 215 according to the control of the deblocking filter processing unit 251. .
  • the deblocking filter processing unit 252 supplies the decoded image that has been subjected to the deblocking filter process or the decoded image that has not been subjected to the deblocking filter process to the screen rearrangement buffer 217 and the frame memory 218.
  • the luma deblocking filter processing unit 261 corresponds to the luma deblocking filter processing unit 191 of the loop filter 120, and performs deblocking filter processing on the luma of the decoded image supplied from the calculation unit 215 according to the control of the deblocking filter processing unit 251.
  • the chroma deblocking filter processing unit 262 corresponds to the chroma deblocking filter processing unit 192 of the loop filter 120, and under the control of the deblocking filter processing unit 251, deblocking filter processing for the chroma of the decoded image supplied from the calculation unit 215 I do.
  • the accumulation buffer 211 accumulates the transmitted bit stream in step S201.
  • the lossless decoding unit 212 decodes the bit stream stored in the storage buffer 211, and acquires header information such as a sequence parameter set (SPS), a picture parameter set (PPS), and a slice header.
  • SPS sequence parameter set
  • PPS picture parameter set
  • This header information is generated by the image encoding device 100, for example, and includes the deblocking filter control information as described above.
  • step S203 the lossless decoding unit 212 decodes the bit stream stored in the storage buffer 211, and the I picture, P picture, B picture, and the like encoded by the encoding side are decoded.
  • step S204 the inverse quantization unit 213 inversely quantizes the quantized coefficient obtained by the process in step S203.
  • step S205 the inverse orthogonal transform unit 214 performs inverse orthogonal transform on the orthogonal transform coefficient obtained by the process in step S204. By this process, residual data is restored.
  • the intra prediction unit 219 or the inter prediction unit 220 performs a prediction process to generate a predicted image. That is, the prediction process is performed in the prediction mode that is determined in the lossless decoding unit 212 and applied at the time of encoding. More specifically, for example, when intra prediction is applied at the time of encoding, the intra prediction unit 219 generates a prediction image in the intra prediction mode optimized at the time of encoding. Further, for example, when inter prediction is applied at the time of encoding, the inter prediction unit 220 generates a prediction image in the inter prediction mode that is optimized at the time of encoding.
  • step S207 the calculation unit 215 adds the prediction image generated in step S206 to the residual data restored by the process in step S205. Thereby, a decoded image is obtained.
  • step S208 the loop filter 216 appropriately performs loop filter processing on the image data of the decoded image generated by the processing in step S207.
  • step S209 the screen rearrangement buffer 217 rearranges the frames of the decoded image subjected to the processing in step S208. That is, the order of frames rearranged at the time of encoding is rearranged in the original display order.
  • the decoded image in which the frames are rearranged is output to the outside of the image decoding device 200.
  • step S210 the frame memory 218 stores the decoded image on which the process in step S208 has been performed.
  • step S210 When the process in step S210 is completed, the decryption process ends.
  • step S208 described above the loop filter 216 performs the loop filter processing in the same manner as the loop filter processing by the loop filter 120 of the image encoding device 100 described with reference to the flowchart of FIG. That is, the description of the example of the flow of the loop filter process shown in FIG. 13 can also be applied to the description of the loop filter process by the loop filter 216 (that is, the process of step S208 of the decoding process).
  • the image decoding apparatus 200 executes the deblocking filter process based on the control information for controlling the deblocking filter process for the color difference component (chroma) of the image data included in the header information.
  • the image decoding apparatus 200 can perform the deblocking filter process with respect to a chroma independently of the deblocking filter process with respect to a luminance component (luma).
  • the image decoding apparatus 200 applies the present technology to more appropriately decode not only the natural image but also the screen content image when decoding the image data. Blocking filter processing can be performed, and reduction in image quality can be suppressed.
  • control information for controlling the deblocking filter processing for the chroma is included in the sequence parameter set, the picture parameter set, and the slice header.
  • this control information is optional for the header information of the encoded data. Can be stored in place.
  • the control information may be included in header information of a layer other than the above-described example, such as a video parameter set and a tile header.
  • this control information may not be included in any of the sequence parameter set, the picture parameter set, and the slice header.
  • this control information may be included only in the sequence parameter set and the picture parameter set, only in the picture parameter set and the slice header, or only in the sequence parameter set and the slice header. Further, this control information may be included only in any one of the sequence parameter set, the picture parameter set, and the slice header.
  • Control information for controlling the deblocking filter processing for the above-described chroma may be generated according to the value of the control parameter related to the existing deblocking filter.
  • a slice that is not subjected to deblocking filter processing for luma may not be subjected to deblocking filter processing for chroma. That is, for such a slice, control of the deblocking filter process for the chroma is unnecessary (can be omitted).
  • the deblocking filter process for the chroma may be controlled only when there is a possibility of performing the deblocking filter process for the luma.
  • Whether or not to perform deblocking filter processing on luma can be easily identified based on the control parameters related to the existing deblocking filter. Therefore, it is only necessary to set control information for controlling the deblocking filter process for chroma only when there is a possibility of performing the deblocking filter process for luma according to the value of such a control parameter.
  • control information for controlling the deblocking filter processing for the chroma with respect to the slice that is not likely to perform the deblocking filter processing for the luma (that is, deblocking for the obviously unnecessary chroma). Since the control information for controlling the filter process can be omitted), it is possible to suppress the increase of the code amount and the reduction of the encoding efficiency.
  • pps_chroma_deblocking_filter_disabled_flag may be set as the extended syntax element only when the value of deblocking_filter_control_present_flag is true (“1”).
  • deblocking_filter_control_present_flag is a flag indicating whether or not a syntax element for controlling the deblocking filter exists in the picture parameter set. That is, this deblocking_filter_control_present_flag is a control parameter related to the deblocking filter indicating the possibility of performing the deblocking filter process on the luma.
  • deblocking_filter_control_present_flag when the value of deblocking_filter_control_present_flag is true (“1”), there is a syntax element for controlling the deblocking filter in the picture parameter set. That is, in this case, the deblocking filter process for luma may be performed on the slices belonging to the picture, and the deblocking filter process for chroma may be performed. Therefore, pps_chroma_deblocking_filter_disabled_flag is set.
  • deblocking_filter_control_present_flag when the value of deblocking_filter_control_present_flag is false (“0”), there is no syntax element for controlling the deblocking filter in the picture parameter set. That is, in this case, there is no possibility that the deblocking filter process for luma is performed on the slices belonging to the picture, and the control of the deblocking filter process for chroma is unnecessary. Therefore, the setting of pps_chroma_deblocking_filter_disabled_flag is omitted.
  • slice_chroma_deblocking_filter_disabled_flag may be set as an extended syntax element only when the value of deblocking_filter_override_flag is true (“1”) in the slice header.
  • deblocking_filter_override_flag is a flag indicating whether or not a syntax element for controlling the deblocking filter exists in the slice header. That is, this deblocking_filter_control_present_flag is a control parameter related to the deblocking filter indicating the possibility of performing the deblocking filter process on the luma.
  • deblocking_filter_override_flag when the value of deblocking_filter_override_flag is true (“1”), there is a syntax element for controlling the deblocking filter in the slice header. That is, in this case, the deblocking filter process for luma may be performed on the slice, and the deblocking filter process for chroma may be performed. Therefore, slice_chroma_deblocking_filter_disabled_flag is set.
  • deblocking_filter_override_flag when the value of deblocking_filter_override_flag is false (“0”), there is no syntax element for controlling the deblocking filter in the slice header. In other words, in this case, there is no possibility that the deblocking filter process for the luma is performed on the slice, and it is not necessary to control the deblocking filter process for the chroma. Therefore, the setting of slice_chroma_deblocking_filter_disabled_flag is omitted.
  • control information for controlling the deblocking filter processing for the chroma which is clearly unnecessary, in the header information of each layer such as the picture parameter set and the slice header. Can be suppressed, and the reduction in encoding efficiency can be suppressed.
  • the configuration of the image encoding device which is an aspect of the image processing device to which the present technology is applied is the same as that of the first embodiment (FIG. 8). Further, the configuration of the header information generation unit 131 and the loop filter 120 in this case is the same as that of the first embodiment (FIGS. 9 and 10).
  • step S234 the header control unit 141 determines whether or not the value of deblocking_filter_control_present_flag is true (“1”) in the picture parameter set. If it is determined that the value of deblocking_filter_control_present_flag is true (“1”), the process proceeds to step S235.
  • step S235 is executed in the same manner as the process of step S124 in FIG.
  • step S235 When the process of step S235 is completed, the process proceeds to step S236. If it is determined in step S234 that the value of deblocking_filter_control_present_flag is false (“0”), the process proceeds to step S236.
  • step S236 is executed in the same manner as the process of step S125 of FIG.
  • step S237 the header control unit 141 determines whether or not the value of deblocking_filter_override_flag is true (“1”) in the slice header. If it is determined that the value of deblocking_filter_override_flag is true (“1”), the process proceeds to step S238.
  • step S238 is executed in the same manner as the process of step S126 of FIG.
  • step S238 the header information generation process is terminated, and the process returns to FIG. If it is determined in step S237 that the value of deblocking_filter_override_flag is false (“0”), the header information generation process ends, and the process returns to FIG.
  • the image encoding device 100 (header information generation unit 131) generates the control information for controlling the deblocking filter processing for the chroma according to the value of the control parameter related to the existing deblocking filter.
  • Control information for controlling the deblocking filter processing for the chroma can be omitted for slices that clearly do not require the deblocking filter processing for the chroma. Therefore, the image encoding apparatus 100 (header information generation unit 131) can suppress an increase in code amount and a decrease in encoding efficiency while suppressing a decrease in image quality by applying the present technology. it can.
  • step S251 is executed in the same manner as the process of step S141 of FIG.
  • step S252 the deblocking filter control unit 181 checks the value of pps_chroma_deblocking_filter_disabled_flag based on the value of deblocking_filter_control_present_flag included in the header information. For example, when the value of deblocking_filter_control_present_flag is true (“1”), the deblocking filter control unit 181 checks the value of pps_chroma_deblocking_filter_disabled_flag and uses the value in the process of step S253.
  • the deblocking filter control unit 181 omits checking the value of pps_chroma_deblocking_filter_disabled_flag so that the value of pps_chroma_deblocking_filter_disabled_flag is not used in the process of step S253.
  • the deblocking filter control unit 181 checks the value of slice_chroma_deblocking_filter_disabled_flag based on the value of deblocking_filter_override_flag included in the header information. For example, when the value of deblocking_filter_override_flag is true (“1”), the deblocking filter control unit 181 checks the value of slice_chroma_deblocking_filter_disabled_flag and uses the value in the process of step S253.
  • the deblocking filter control unit 181 omits checking the value of slice_chroma_deblocking_filter_disabled_flag and does not use the value of slice_chroma_deblocking_filter_disabled_flag in the process of step S253.
  • step S253 is executed in the same manner as the process of step S142 of FIG. However, in step S ⁇ b> 252, when the value confirmation is omitted for pps_chroma_deblocking_filter_disabled_flag and slice_chroma_deblocking_filter_disabled_flag, the deblocking filter process is performed on the chroma of the decoded image without being based on the value.
  • step S253 When the process of step S253 is completed, the loop filter process is terminated, and the process returns to FIG.
  • the image encoding device 100 can control control information for controlling the deblocking filter processing for the chroma for a slice that clearly does not require the deblocking filter processing for the chroma. Reference can be omitted. Therefore, the image encoding apparatus 100 (loop filter 120) can suppress an increase in processing load while suppressing a reduction in image quality by applying the present technology.
  • the configuration of the image decoding apparatus which is an aspect of the image processing apparatus to which the present technology is applied is the same as that of the first embodiment (FIG. 14). Further, the configuration of the loop filter 216 in this case is the same as that of the first embodiment (FIG. 15).
  • step S208 of the decoding process the loop filter 216 performs the loop filter process with reference to the flowchart of FIG. The same processing as in the case of the loop filter processing by 120 is performed. That is, the description of the example of the flow of the loop filter process illustrated in FIG. 20 can also be applied to the description of the loop filter process by the loop filter 216 (that is, the process of step S208 of the decoding process in this case).
  • the image decoding apparatus 200 (loop filter 216) generates control information for controlling the deblocking filter processing for the chroma in accordance with the value of the control parameter related to the existing deblocking filter.
  • the image decoding apparatus 200 (loop filter 216) can omit reference to control information for controlling the deblocking filter process for the chroma for a slice that clearly does not require the deblocking filter process for the chroma. Therefore, the image decoding apparatus 200 (loop filter 216) can suppress an increase in processing load while suppressing a reduction in image quality by applying the present technology.
  • control information for controlling the deblocking filter processing for the chroma according to the value of the control parameter related to the existing deblocking filter as described above is an option in which the control parameter related to the existing deblocking filter exists. For example, it may be performed only in either the picture parameter set or the slice header.
  • control information for controlling the deblocking filter processing for the chroma is omitted for slices that do not need to be controlled independently of the deblocking filter processing for the chroma. Therefore, an increase in the amount of codes can be suppressed, and a decrease in coding efficiency can be suppressed accordingly.
  • chroma_deblocking_filter_control_present_flag is set as an extended syntax element
  • pps_chroma_deblocking_filter_disabled_flag is set as an extended syntax element only when the value of this chroma_deblocking_filter_control_present_flag is true (eg, “1”). May be.
  • chroma_deblocking_filter_override_enabled_flag may be set as the extended syntax.
  • Chroma_deblocking_filter_control_present_flag is a flag indicating whether or not a syntax element for controlling a deblocking filter for chroma exists in the picture parameter set. That is, this flag corresponds to deblocking_filter_control_present_flag. For example, when the value of chroma_deblocking_filter_control_present_flag is true (eg, “1”), such a syntax element exists in the picture parameter set. That is, in this case, pps_chroma_deblocking_filter_disabled_flag is set.
  • chroma_deblocking_filter_control_present_flag when the value of chroma_deblocking_filter_control_present_flag is false (for example, “0”), such a syntax element does not exist in the picture parameter set. That is, in this case, the setting of pps_chroma_deblocking_filter_disabled_flag is omitted.
  • Chroma_deblocking_filter_override_enabled_flag is a flag indicating whether or not chroma_deblocking_filter_override_flag described later exists in the slice header of the slice belonging to the picture. That is, this flag corresponds to deblocking_filter_override_enabled_flag. For example, when the value of chroma_deblocking_filter_override_enabled_flag is true (for example, “1”), chroma_deblocking_filter_override_flag exists in the slice header of the slice belonging to the picture.
  • chroma_deblocking_filter_override_enabled_flag when the value of chroma_deblocking_filter_override_enabled_flag is false (for example, “0”), chroma_deblocking_filter_override_flag does not exist in the slice header of the slice belonging to the picture.
  • chroma_deblocking_filter_override_flag is set as an extended syntax element only when the value of chroma_deblocking_filter_override_enabled_flag set in the picture parameter set to which the slice header belongs is true (eg, “1”). You may make it do. Then, slice_chroma_deblocking_filter_disabled_flag may be set as an extended syntax element only when the value of chroma_deblocking_filter_override_flag is true (eg, “1”).
  • Chroma_deblocking_filter_override_flag is a flag indicating whether or not a syntax element for controlling a deblocking filter for chroma exists in the slice header. That is, this flag corresponds to deblocking_filter_override_flag. For example, when the value of chroma_deblocking_filter_override_flag is true (eg, “1”), such a syntax element exists in the slice header. That is, in this case, slice_chroma_deblocking_filter_disabled_flag is set. For example, when the value of chroma_deblocking_filter_override_flag is false (for example, “0”), there is no such syntax element in the slice header. That is, in this case, setting of slice_chroma_deblocking_filter_disabled_flag is omitted.
  • control information for controlling the deblocking filter processing for the chroma in the header information of each layer can be controlled independently of the control information for controlling the existing deblocking filter processing.
  • control information for controlling the deblocking filter processing for the chroma is omitted for slices that do not need to be controlled independently of the deblocking filter processing for the chroma. Therefore, an increase in the amount of codes can be suppressed, and a decrease in coding efficiency can be suppressed accordingly.
  • the configuration of the image encoding device which is an aspect of the image processing device to which the present technology is applied is the same as that of the first embodiment (FIG. 8).
  • the configuration of the loop filter 120 in this case is the same as that of the first embodiment (FIG. 10).
  • header information generation unit 131 A main configuration example of the header information generation unit 131 in this case is shown in FIG. As shown in FIG. 23, the header information generation unit 131 basically has the same configuration as that of the first embodiment (FIG. 9), but the PPS extended syntax generation unit 162 further includes chroma_deblocking_filter_control_present_flag. A generation unit 271 and a chroma_deblocking_filter_override_enabled_flag generation unit 272 are included.
  • the SH extended syntax generation unit 163 further includes a chroma_deblocking_filter_override_flag generation unit 273.
  • the chroma_deblocking_filter_control_present_flag generation unit 271 generates chroma_deblocking_filter_control_present_flag as an extended syntax for the picture parameter set.
  • chroma_deblocking_filter_control_present_flag is a flag indicating whether or not a syntax element for controlling a deblocking filter for chroma exists in the picture parameter set.
  • chroma_deblocking_filter_override_enabled_flag generating unit 272 generates chroma_deblocking_filter_override_enabled_flag as an extended syntax for the picture parameter set.
  • chroma_deblocking_filter_override_enabled_flag is a flag indicating whether or not chroma_deblocking_filter_override_flag (described later) is present in the slice header of a slice belonging to the picture.
  • chroma_deblocking_filter_override_flag generation unit 273 generates chroma_deblocking_filter_override_flag as an extended syntax in the slice header.
  • chroma_deblocking_filter_override_flag is a flag indicating whether or not a syntax element for controlling a deblocking filter for chroma exists in the slice header.
  • step S274 the chroma_deblocking_filter_control_present_flag generating unit 271 generates chroma_deblocking_filter_control_present_flag of the picture parameter set as an extended syntax.
  • step S275 the header control unit 141 determines whether the value of chroma_deblocking_filter_control_present_flag of the picture parameter set set in step S274 is true (eg, “1”). If it is determined that the value of chroma_deblocking_filter_control_present_flag is true (eg, “1”), the process proceeds to step S276.
  • step S276 the chroma_deblocking_filter_override_enabled_flag generating unit 272 generates chroma_deblocking_filter_override_enabled_flag of the picture parameter set as an extended syntax.
  • step S277 is executed in the same manner as the process of step S124 of FIG.
  • step S277 When the process of step S277 ends, the process proceeds to step S278. If it is determined in step S275 that the value of chroma_deblocking_filter_control_present_flag is false (eg, “0”), the process proceeds to step S278.
  • step S278 is executed in the same manner as the process of step S125 of FIG.
  • step S279 the header control unit 141 determines whether or not the value of chroma_deblocking_filter_override_enabled_flag is true (eg, “1”) in the slice header. If it is determined that the value of chroma_deblocking_filter_override_enabled_flag is true (eg, “1”), the process proceeds to step S280.
  • step S280 the chroma_deblocking_filter_override_flag generation unit 273 generates chroma_deblocking_filter_override_flag of the slice header as an extended syntax.
  • step S281 the header control unit 141 determines whether or not the value of chroma_deblocking_filter_override_flag generated in step S280 is true (eg, “1”) in the slice header. If it is determined that the value of deblocking_filter_override_flag is true (eg, “1”), the process proceeds to step S282.
  • step S282 is executed in the same manner as the process of step S126 of FIG.
  • step S282 When the process of step S282 is completed, the header information generation process is completed, and the process returns to FIG. If it is determined in step S279 that the value of chroma_deblocking_filter_override_enabled_flag is false (eg, “0”), the header information generation process ends, and the process returns to FIG. Furthermore, when it is determined in step S281 that the value of chroma_deblocking_filter_override_flag is false (eg, “0”), the header information generation process ends, and the process returns to FIG.
  • step S281 when it is determined in step S281 that the value of chroma_deblocking_filter_override_flag is false (eg, “0”), the header information generation process ends, and the process returns to FIG.
  • control parameter related to the deblocking filter for the chroma generation of control information for controlling the deblocking filter process for the chroma can be controlled independently of the deblocking filter process for the luma.
  • control parameters it is possible to suppress an increase in code amount and suppress a decrease in coding efficiency.
  • step S301 is executed in the same manner as the process of step S141 of FIG.
  • step S302 the deblocking filter control unit 181 checks the value of pps_chroma_deblocking_filter_disabled_flag based on the value of chroma_deblocking_filter_control_present_flag included in the header information. For example, when the value of chroma_deblocking_filter_control_present_flag is true (for example, “1”), the deblocking filter control unit 181 checks the value of pps_chroma_deblocking_filter_disabled_flag and uses the value in the process of step S303.
  • the deblocking filter control unit 181 omits checking the value of pps_chroma_deblocking_filter_disabled_flag and does not use the value of pps_chroma_deblocking_filter_disabled_flag in the process of step S303. .
  • the deblocking filter control unit 181 checks the value of slice_chroma_deblocking_filter_disabled_flag based on the value of chroma_deblocking_filter_override_enabled_flag and chroma_deblocking_filter_override_flag included in the header information. For example, when the values of chroma_deblocking_filter_override_enabled_flag and chroma_deblocking_filter_override_flag are true (eg, “1”), the deblocking filter control unit 181 checks the value of slice_chroma_deblocking_filter_disabled_flag and uses the value in the process of step S303.
  • the deblocking filter control unit 181 omits checking the value of slice_chroma_deblocking_filter_disabled_flag and does not use slice_chroma_deblocking_filter_deflaging_filter_deflaging_filter_ To.
  • step S303 is executed in the same manner as the process in step S142 in FIG. However, in step S302, when the value confirmation is omitted for pps_chroma_deblocking_filter_disabled_flag and slice_chroma_deblocking_filter_disabled_flag, the deblocking filter process is performed on the chroma of the decoded image without being based on the value.
  • step S303 When the process of step S303 is completed, the loop filter process is terminated, and the process returns to FIG.
  • the image coding apparatus 100 By performing the loop filter processing as described above, the image coding apparatus 100 (loop filter 120) performs chroma processing on a slice that does not need to control the deblocking filter processing on the chroma independently of the deblocking filter processing on the luma. It is possible to omit reference to control information for controlling the deblocking filter processing for. Therefore, the image encoding apparatus 100 (loop filter 120) can suppress an increase in processing load while suppressing a reduction in image quality by applying the present technology.
  • the configuration of the image decoding apparatus which is an aspect of the image processing apparatus to which the present technology is applied is the same as that of the first embodiment (FIG. 14). Further, the configuration of the loop filter 216 in this case is the same as that of the first embodiment (FIG. 15).
  • step S208 of the decoding process the loop filter 216 performs the loop filter process with reference to the flowchart of FIG.
  • the same processing as in the case of the loop filter processing by 120 is performed. That is, the description of the example of the flow of the loop filter process shown in FIG. 25 can also be applied to the description of the loop filter process by the loop filter 216 (that is, the process of step S208 of the decoding process in this case).
  • the image decoding apparatus 200 refers to and uses the control information for controlling the deblocking filter processing for the chroma according to the value of the control parameter regarding the deblocking filter for the chroma.
  • the image decoding apparatus 200 controls the deblocking filter process for the chroma for the slice that does not need to be controlled independently of the deblocking filter process for the luma. Reference to can be omitted. Therefore, the image decoding apparatus 200 (loop filter 216) can suppress an increase in processing load while suppressing a reduction in image quality by applying the present technology.
  • control information for controlling the deblocking filter processing for chroma according to the value of the control parameter for the deblocking filter for chroma as described above can be performed in header information of an arbitrary layer, for example, It may be performed only in either the picture parameter set or the slice header, or may be performed in header information other than these.
  • control information for controlling the deblocking filter processing for the clearly unnecessary chroma is omitted, and the slice which does not need to control the deblocking filter processing for the chroma independently from the deblocking filter processing for the luma. Since the control information for controlling the deblocking filter processing for the chroma can be omitted, the increase in the code amount can be suppressed and the reduction in the encoding efficiency can be suppressed accordingly.
  • chroma_deblocking_filter_control_present_flag is set as an extended syntax element, and the value of this chroma_deblocking_filter_control_present_flag is true (eg, “1”).
  • pps_chroma_deblocking_filter_disabled_flag may be set as an extended syntax element.
  • chroma_deblocking_filter_override_enabled_flag may be set as the extended syntax.
  • chroma_deblocking_filter_override_flag may be set as an extended syntax element
  • slice_chroma_deblocking_filter_disabled_flag may be set as an extended syntax element only when the value of chroma_deblocking_filter_override_flag is true (eg,“ 1 ”).
  • control information for controlling the deblocking filter processing for the chroma in the header information of each layer can be controlled independently of the control information for controlling the existing deblocking filter processing.
  • control information for controlling the deblocking filter processing for the chroma is omitted for slices that do not need to be controlled independently of the deblocking filter processing for the chroma. can do.
  • control information for controlling deblocking filter processing for clearly unnecessary chroma can be omitted, an increase in the amount of code can be suppressed correspondingly, and a reduction in coding efficiency can be suppressed.
  • the configuration of the image encoding device which is an aspect of the image processing device to which the present technology is applied is the same as that of the first embodiment (FIG. 8). Further, the configuration of the header information generation unit 131 in this case is the same as that of the third embodiment (FIG. 23). Further, the configuration of the loop filter 120 in this case is the same as that of the first embodiment (FIG. 10).
  • step S324 When the header information generation process is started, the processes of steps S321 to S324 are executed in the same manner as the processes of steps S231 to S234 of FIG. If it is determined in step S324 that the value of deblocking_filter_control_present_flag is true (“1”), the process proceeds to step S325.
  • or step S328 is performed similarly to each process of step S274 thru
  • step S328 When the process of step S328 ends, the process proceeds to step S331 of FIG. Also, in step S326 in FIG. 28, when it is determined that the value of chroma_deblocking_filter_control_present_flag is false (for example, “0”), the process proceeds to step S331 in FIG. Furthermore, when it is determined in step S324 in FIG. 28 that the value of deblocking_filter_control_present_flag is false (“0”), the process proceeds to step S331 in FIG.
  • step S331 and step S332 of FIG. 29 are performed similarly to each process of step S236 and step S237 of FIG. If it is determined in step S332 that the value of deblocking_filter_override_flag is true (“1”), the process proceeds to step S333.
  • step S333 to step S336 is executed in the same manner as each process from step S279 to step S282 in FIG.
  • step S336 When the process of step S336 is completed, the header information generation process is terminated, and the process returns to FIG. If it is determined in step S335 that the value of chroma_deblocking_filter_override_flag is false (eg, “0”), the header information generation process ends, and the process returns to FIG. Furthermore, when it is determined in step S333 that the value of chroma_deblocking_filter_override_enabled_flag is false (eg, “0”), the header information generation process ends, and the process returns to FIG. Furthermore, when it is determined in step S332 that the value of deblocking_filter_override_flag is false (“0”), the header information generation process ends, and the process returns to FIG.
  • the image encoding device 100 (header information generation unit 131) can suppress an increase in the code amount and a decrease in encoding efficiency while suppressing a decrease in image quality. it can.
  • step S351 is executed in the same manner as the process of step S141 of FIG.
  • step S352 the deblocking filter control unit 181 checks the value of pps_chroma_deblocking_filter_disabled_flag based on the values of deblocking_filter_control_present_flag and chroma_deblocking_filter_control_present_flag included in the header information. For example, if the value of deblocking_filter_control_present_flag is true (“1”) and the value of chroma_deblocking_filter_control_present_flag is true (eg, “1”), the deblocking filter control unit 181 checks the value of pps_chroma_deblocking_filter_disabled_flag and It is made to use in the process of S353.
  • deblocking filter control unit 181 omits checking the value of pps_chroma_deblocking_filter_disabled_flag, In the process of step S353, the value of pps_chroma_deblocking_filter_disabled_flag is not used.
  • the deblocking filter control unit 181 checks the value of slice_chroma_deblocking_filter_disabled_flag based on the values of deblocking_filter_override_flag, chroma_deblocking_filter_override_enabled_flag, and chroma_deblocking_filter_override_flag included in the header information.
  • the deblocking filter control unit 181 checks the value of slice_chroma_deblocking_filter_disabled_flag, and uses the value in step S353.
  • the deblocking filter control unit 181 omits checking of the value of slice_chroma_deblocking_filter_disabled_flag in the processing of block_block_block_block_block_block Do not use.
  • step S353 is executed in the same manner as the process of step S142 of FIG. However, in step S352, when the value confirmation is omitted for pps_chroma_deblocking_filter_disabled_flag and slice_chroma_deblocking_filter_disabled_flag, deblocking filter processing is performed on the chroma of the decoded image without being based on the value.
  • step S353 When the process of step S353 is completed, the loop filter process is terminated, and the process returns to FIG.
  • the image encoding device 100 can perform the deblocking filter processing for the luma on the slice that clearly does not require the deblocking filter processing on the chroma or the deblocking filter processing on the chroma.
  • the image encoding apparatus 100 can suppress an increase in processing load while suppressing a reduction in image quality by applying the present technology.
  • the configuration of the image decoding apparatus which is an aspect of the image processing apparatus to which the present technology is applied is the same as that of the first embodiment (FIG. 14). Further, the configuration of the loop filter 216 in this case is the same as that of the first embodiment (FIG. 15).
  • step S208 of the decoding process the loop filter 216 performs the loop filter process with reference to the flowchart of FIG. The same processing as in the case of the loop filter processing by 120 is performed. That is, the description of the example of the flow of the loop filter process shown in FIG. 30 can also be applied to the description of the loop filter process by the loop filter 216 (that is, the process of step S208 of the decoding process in this case).
  • the image decoding apparatus 200 refers to control information for controlling deblocking filter processing for chroma according to control parameters for existing deblocking filters and control parameters for deblocking filters for chroma. And use it.
  • the image decoding apparatus 200 does not need to control a slice that clearly does not require the deblocking filter process for the chroma or the deblocking filter process for the chroma independently of the deblocking filter process for the luma.
  • reference to control information for controlling deblocking filter processing for chroma can be omitted. Therefore, the image decoding apparatus 200 (loop filter 216) can suppress an increase in processing load while suppressing a reduction in image quality by applying the present technology.
  • control information for controlling the deblocking filter processing for the chroma according to the control parameter for the existing deblocking filter and the control parameter for the deblocking filter for the chroma as described above is generated at an arbitrary level. This can be performed in the header information. For example, it may be performed only in one of the picture parameter set and the slice header, or may be performed in other header information.
  • the filter strength of the deblocking filter processing for the chroma can be controlled independently from the filter strength of the deblocking filter processing for the luminance component (luma).
  • the filter strength against chroma can be suppressed without changing the filter strength against luma. Therefore, for example, it is possible to perform more appropriate deblocking filter processing not only on a natural image but also on an image of a screen content, such as suppressing character collapse of the screen content. That is, by applying the present technology, it is possible to suppress a reduction in image quality.
  • Pps_chroma_beta_offset_div2 indicates an initial offset of the parameter ⁇ of the deblocking filter for chroma performed on a slice in which slice_deblocking_filter_disabled_flag is not defined among slices belonging to the picture.
  • pps_chroma_tc_offset_div2 indicates the initial offset of the parameter tC of the deblocking filter for chroma performed on a slice in which slice_deblocking_filter_disabled_flag is not defined among the slices belonging to the picture. That is, these are syntax elements that control the filter strength (how much the strength is increased).
  • slice_chroma_beta_offset_div2 and slice_chroma_tc_offset_div2 are extended. It may be set as a syntax element.
  • slice_chroma_beta_offset_div2 a value obtained by doubling the value indicates an initial offset of the parameter ⁇ of the deblocking filter for chroma performed on the slice.
  • slice_chroma_tc_offset_div2 a value obtained by doubling the value indicates the initial offset of the deblocking filter parameter tC for the chroma performed on the slice. That is, these are syntax elements that control the filter strength (how much the strength is increased).
  • pps_chroma_beta_offset_div2 and pps_chroma_tc_offset_div2 are set in the picture parameter set, these values are set as control values for controlling the filter strength of the deblocking filter for chroma, and slice_chroma_beta_offset_div2 and slice_chroma_tc_offset_div2 are set in the slice header. If set, these values are overwritten on the control values.
  • the filter strength of the deblocking filter processing for the chroma is controlled based on the finally set control value (that is, the control information on the lowest layer).
  • deblocking filter processing for luma is the same as in HEVC version 1.
  • the filter strength of the deblocking filter process for chroma can be controlled independently of the filter strength of the deblocking filter for luma, and the reduction in image quality is suppressed. be able to.
  • the configuration of the image encoding device which is an aspect of the image processing device to which the present technology is applied is the same as that of the first embodiment (FIG. 8).
  • the configuration of the loop filter 120 in this case is the same as that of the first embodiment (FIG. 10).
  • the header information generation unit 131 basically has the same configuration as that in the case of the first embodiment (FIG. 9).
  • the SPS generator 151 is omitted, but the SPS generator 151 may be provided as in the case of FIG.
  • the PPS extended syntax generation unit 162 includes a pps_chroma_beta_offset_div2 generation unit 281 and a pps_chroma_tc_offset_div2 generation unit 282.
  • the SH extended syntax generation unit 163 includes a slice_chroma_beta_offset_div2 generation unit 283 and a slice_chroma_tc_offset_div2 generation unit 284.
  • the pps_chroma_beta_offset_div2 generation unit 281 generates pps_chroma_beta_offset_div2 as an extended syntax for the picture parameter set.
  • pps_chroma_beta_offset_div2 is a syntax element that controls the filter strength (how much the strength is set), and a value obtained by doubling the value is included in slices belonging to the picture. Indicates the initial offset of the parameter ⁇ of the deblocking filter for the chroma performed on the slice for which slice_deblocking_filter_disabled_flag is not defined.
  • the pps_chroma_tc_offset_div2 generation unit 282 generates pps_chroma_tc_offset_div2 as an extended syntax for the picture parameter set.
  • pps_chroma_tc_offset_div2 is a syntax element that controls the filter strength (how much the strength is set), and a value obtained by doubling the value of The initial offset of the parameter tC of the deblocking filter for the chroma performed for the slice for which slice_deblocking_filter_disabled_flag is not defined.
  • slice_chroma_beta_offset_div2 generation unit 283 generates slice_chroma_beta_offset_div2 in the slice header as an extended syntax.
  • slice_chroma_beta_offset_div2 is a syntax element for controlling the filter strength (how much the strength is set), and a value obtained by doubling the value is a chroma performed on the slice. Shows the initial offset of the parameter ⁇ of the deblocking filter for.
  • slice_chroma_tc_offset_div2 generation unit 284 generates slice_chroma_tc_offset_div2 as an extended syntax in the slice header.
  • slice_chroma_tc_offset_div2 is a syntax element for controlling the filter strength (how much the strength is set), and a value obtained by doubling the value is a chroma performed on the slice. Represents the initial offset of the parameter tC of the deblocking filter for.
  • step S371 When the header information generation process is started, the processes in steps S371 and S372 are executed in the same manner as the processes in steps S233 and S234 in FIG. If it is determined in step S372 that the value of deblocking_filter_control_present_flag is true (“1”), the process proceeds to step S373.
  • step S373 the header control unit 141 determines whether or not the value of pps_deblocking_filter_disabled_flag is false (“0”) in the picture parameter set. If it is determined that the value of pps_deblocking_filter_disabled_flag is false (“0”), the process proceeds to step S374.
  • step S374 the pps_chroma_beta_offset_div2 generation unit 281 generates pps_chroma_beta_offset_div2 as an extended syntax.
  • step S375 the pps_chroma_tc_offset_div2 generation unit 282 generates pps_chroma_tc_offset_div2 as an extended syntax.
  • step S375 When the process of step S375 ends, the process proceeds to step S376. Also, in the event that determination is made in step S373 that the value of pps_deblocking_filter_disabled_flag is true (“1”), the processing proceeds to step S376. Furthermore, when it is determined in step S372 that the value of deblocking_filter_control_present_flag is false (“0”), the process proceeds to step S376.
  • step S376 and step S377 are performed similarly to each process of step S236 and step S237 of FIG. If it is determined in step S377 that the value of deblocking_filter_override_flag is true (“1”), the process proceeds to step S378.
  • step S378 the header control unit 141 determines whether or not the value of slice_deblocking_filter_disabled_flag is false (“0”) in the slice header. If it is determined that the value of slice_deblocking_filter_disabled_flag is false (“0”), the process proceeds to step S379.
  • step S379 the slice_chroma_beta_offset_div2 generation unit 283 generates slice_chroma_beta_offset_div2 as an extended syntax.
  • step S380 the slice_chroma_tc_offset_div2 generation unit 284 generates slice_chroma_tc_offset_div2 as an extended syntax.
  • step S380 the header information generation process is completed, and the process returns to FIG. If it is determined in step S378 that the value of slice_deblocking_filter_disabled_flag is true (“1”), the header information generation process ends, and the process returns to FIG. Furthermore, when it is determined in step S377 that the value of deblocking_filter_override_flag is false (“0”), the header information generation process ends, and the process returns to FIG.
  • the image encoding device 100 by generating control information for controlling the filter strength of the deblocking filter processing for the color difference component (chroma) of the image data as the header information, the image encoding device 100 (header information generation unit 131) can perform chroma processing.
  • the filter strength of the deblocking filter process for can be controlled independently from the filter strength of the deblocking filter process for the luminance component (luma). For example, the filter strength against chroma can be suppressed without changing the filter strength against luma. Therefore, the image encoding device 100 (header information generation unit 131) applies not only a natural image but also a deblocking filter process performed at the time of encoding and decoding of image data by applying the present technology. Further, it is possible to execute the process more appropriately for the image of the screen content, and it is possible to suppress the reduction of the image quality.
  • step S401 the deblocking filter control unit 181 checks the value of pps_ deblocking_filter_disabled_flag based on the value of deblocking_filter_control_present_flag included in the header information. For example, when the value of deblocking_filter_control_present_flag is true (“1”), the deblocking filter control unit 181 checks the value of pps_deblocking_filter_disabled_flag and uses the value in the process of step S402.
  • the deblocking filter control unit 181 omits checking the value of pps_ deblocking_filter_disabled_flag so that the value of pps_deblocking_filter_disabled_flag is not used in the process of step S402. .
  • the deblocking filter control unit 181 checks the value of slice_deblocking_filter_disabled_flag based on the value of deblocking_filter_override_flag included in the header information. For example, when the value of deblocking_filter_override_flag is true (“1”), the deblocking filter control unit 181 checks the value of slice_deblocking_filter_disabled_flag and uses the value in the process of step S402.
  • the deblocking filter control unit 181 omits checking the value of slice_deblocking_filter_disabled_flag so that the value of slice_deblocking_filter_disabled_flag is not used in the process of step S402.
  • step S402 the deblocking filter control unit 181 determines whether to perform deblocking filter processing based on the values of pps_deblocking_filter_disabled_flag and slice_deblocking_filter_disabled_flag. However, the deblocking filter control unit 181 makes a determination based only on the value of the syntax element confirmed in step S401. If it is determined that the deblocking filter process is to be performed, the process proceeds to step S403.
  • step S403 the deblocking filter control unit 181 derives the deblocking filter parameter ⁇ for the luma using pps_beta_offset_div2 and slice_beta_offset_div2.
  • step S404 the deblocking filter control unit 181 derives the deblocking filter parameter tC for the luma using pps_tc_offset_div2 and slice_tc_offset_div2.
  • step S405 the luma deblocking filter processing unit 191 performs deblocking filter processing on the luma using the luma parameter ⁇ derived in step S403 and the luma parameter tC derived in step S404.
  • step S406 the deblocking filter control unit 181 uses the pps_chroma_beta_offset_div2 and slice_chroma_beta_offset_div2 to derive the deblocking filter parameter ⁇ for chroma.
  • step S407 the deblocking filter control unit 181 derives a deblocking filter parameter tC for chroma using pps_chroma_tc_offset_div2 and slice_chroma_tc_offset_div2.
  • step S408 the chroma deblocking filter processing unit 192 performs deblocking filter processing on the chroma using the chroma parameter ⁇ derived in step S406 and the chroma parameter tC derived in step S407.
  • step S408 When the process of step S408 is completed, the loop filter process is completed, and the process returns to FIG. If it is determined in step S402 that the deblocking filter process is not performed, the loop filter process ends, and the process returns to FIG.
  • the image encoding device 100 (loop filter 120). Can control the filter strength of the deblocking filter process for the chroma independently of the filter strength of the deblocking filter process for the luminance component (luma). For example, the filter strength against chroma can be suppressed without changing the filter strength against luma. Therefore, the image encoding apparatus 100 (loop filter 120) can apply the present technology to more appropriate not only for natural images but also for screen content images when encoding image data. In addition, deblocking filter processing can be performed, and reduction in image quality can be suppressed.
  • the configuration of the image decoding apparatus which is an aspect of the image processing apparatus to which the present technology is applied is the same as that of the first embodiment (FIG. 14). Further, the configuration of the loop filter 216 in this case is the same as that of the first embodiment (FIG. 15).
  • step S208 of the decoding process the loop filter 216 performs the loop filter process with reference to the flowchart of FIG.
  • the same processing as in the case of the loop filter processing by 120 is performed. That is, the description of the example of the flow of the loop filter process shown in FIG. 36 can also be applied to the description of the loop filter process by the loop filter 216 (that is, the process of step S208 of the decoding process in this case).
  • the image decoding apparatus 200 (loop filter 216) performs the deblocking filter process based on the control information for controlling the deblocking filter process for the color difference component (chroma) of the image data included in the header information, thereby performing the chroma blocking process.
  • the filter strength against chroma can be suppressed without changing the filter strength against luma. Therefore, the image decoding apparatus 200 (the loop filter 216) applies the present technology to more appropriately decode not only the natural image but also the screen content image when decoding the image data. Blocking filter processing can be performed, and reduction in image quality can be suppressed.
  • control information for controlling the filter strength of the deblocking filter processing for chroma as described above can be performed in header information of an arbitrary layer, for example, either a picture parameter set or a slice header It may be performed only on one side, or may be performed on header information other than these.
  • pps_chroma_deblocking_filter_disabled_flag when pps_chroma_deblocking_filter_disabled_flag is set as an extended syntax element and the value of pps_chroma_deblocking_filter_disabled_flag is false (for example, “0”), pps_chroma_beta_offset_div2 and pps_chroma_tc_offset_syntax_div2 You may be made to do.
  • slice_chroma_deblocking_filter_disabled_flag when slice_chroma_deblocking_filter_disabled_flag is set as an extended syntax element and the value of slice_chroma_deblocking_filter_disabled_flag is false (for example, “0”), slice_chroma_beta_offset_div2 and slice_chroma_tc_off2 It may be set.
  • the configuration of the image encoding device which is an aspect of the image processing device to which the present technology is applied is the same as that of the first embodiment (FIG. 8).
  • the configuration of the loop filter 120 in this case is the same as that of the first embodiment (FIG. 10).
  • header information generation unit 131 A main configuration example of the header information generation unit 131 in this case is shown in FIG.
  • the header information generation unit 131 basically has the same configuration as that in the case of the fifth embodiment (FIG. 34).
  • an SPS generation unit 151 is also shown.
  • the PPS extended syntax generation unit 162 further includes a pps_chroma_deblocking_filter_disabled_flag generation unit 172.
  • the SH extended syntax generation unit 163 further includes a slice_chroma_deblocking_filter_disabled_flag generation unit 173.
  • step S425 the header control unit 141 determines whether or not the value of pps_chroma_deblocking_filter_disabled_flag is false (“0”) in the picture parameter set. When it is determined that the value of pps_chroma_deblocking_filter_disabled_flag is false (“0”), the process proceeds to step S426.
  • step S426 and step S427 are performed similarly to each process of step S374 and step S375 of FIG.
  • step S427 ends, the process proceeds to step S428. If it is determined in step S425 that the value of pps_chroma_deblocking_filter_disabled_flag is true (“1”), the process proceeds to step S428.
  • step S428 and step S429 are performed similarly to each process of step S125 and step S126 of FIG.
  • step S430 the header control unit 141 determines whether or not the value of slice_chroma_deblocking_filter_disabled_flag is false (“0”) in the slice header. If it is determined that the value of slice_chroma_deblocking_filter_disabled_flag is false (“0”), the process proceeds to step S431.
  • step S431 and step S432 are performed similarly to each process of step S379 and step S380 of FIG.
  • step S432 the header information generation process is completed, and the process returns to FIG. If it is determined in step S430 that the value of slice_chroma_deblocking_filter_disabled_flag is true (“1”), the header information generation process ends, and the process returns to FIG.
  • the image encoding device 100 by generating the control information for controlling the execution of the deblocking filter processing for the color difference component (chroma) of the image data and the control information for controlling the filter strength as the header information, the image encoding device 100 ( The header information generation unit 131) can control the deblocking filter process for the chroma independently of the deblocking filter process for the luminance component (luma). Therefore, the image encoding device 100 (header information generation unit 131) applies not only a natural image but also a deblocking filter process performed at the time of encoding and decoding of image data by applying the present technology. Further, it is possible to execute the process more appropriately for the image of the screen content, and it is possible to suppress the reduction of the image quality.
  • step S456 the deblocking filter control unit 181 checks the value of pps_chroma_deblocking_filter_disabled_flag and the value of slice_chroma_deblocking_filter_disabled_flag included in the header information.
  • step S457 the deblocking filter control unit 181 determines whether or not to perform the deblocking filter process on the chroma based on the values of pps_chroma_deblocking_filter_disabled_flag and slice_chroma_deblocking_filter_disabled_flag. If it is determined that the deblocking filter process is to be performed on the chroma, the process proceeds to step S458.
  • step S458 to step S460 is executed in the same manner as each process from step S406 to step S408 in FIG.
  • step S460 When the process of step S460 is completed, the loop filter process is terminated, and the process returns to FIG. If it is determined in step S457 that the deblocking filter process is not performed on the chroma, the loop filter process ends, and the process returns to FIG. Furthermore, when it is determined in step S452 that the deblocking filter process is not performed, the loop filter process ends, and the process returns to FIG.
  • the image encoding device 100 (loop filter 120). Can perform the execution control of the deblocking filter process for the chroma and the control of the filter strength independently of the control of the deblocking filter process for the luminance component (luma). Therefore, the image encoding apparatus 100 (loop filter 120) can apply the present technology to more appropriate not only for natural images but also for screen content images when encoding image data. In addition, deblocking filter processing can be performed, and reduction in image quality can be suppressed.
  • the configuration of the image decoding apparatus which is an aspect of the image processing apparatus to which the present technology is applied is the same as that of the first embodiment (FIG. 14). Further, the configuration of the loop filter 216 in this case is the same as that of the first embodiment (FIG. 15).
  • step S208 of the decoding process the loop filter 216 performs the loop filter process with reference to the flowchart of FIG. The same processing as in the case of the loop filter processing by 120 is performed. That is, the description of the example of the flow of the loop filter process shown in FIG. 41 can also be applied to the description of the loop filter process by the loop filter 216 (that is, the process of step S208 of the decoding process in this case).
  • the image decoding apparatus 200 (loop filter 216) performs the deblocking filter process based on the control information for controlling the deblocking filter process for the color difference component (chroma) of the image data included in the header information, thereby performing the chroma blocking process.
  • Both the execution control of the deblocking filter process and the control of the filter strength for can be performed independently of the control of the deblocking filter process for the luminance component (luma). Therefore, the image decoding apparatus 200 (the loop filter 216) applies the present technology to more appropriately decode not only the natural image but also the screen content image when decoding the image data. Blocking filter processing can be performed, and reduction in image quality can be suppressed.
  • deblocking filter processing for chroma and generation of control information for controlling filter strength as described above can be performed in header information of an arbitrary layer, for example, a picture parameter set or a slice header Only one of them may be performed, or the header information other than these may be performed.
  • a control parameter related to a deblocking filter for chroma may be generated in correspondence with a control parameter related to an existing deblocking filter.
  • control information for controlling the deblocking filter processing for the chroma is omitted for slices that do not need to be controlled independently of the deblocking filter processing for the chroma. Therefore, an increase in the amount of codes can be suppressed, and a decrease in coding efficiency can be suppressed accordingly.
  • chroma_deblocking_filter_control_present_flag is set as an extended syntax element, and only when the value of this chroma_deblocking_filter_control_present_flag is true (for example, “1”), chroma_deblocking_filter_override_enabled_flag and pps_chroma_deblocking_filter_disabled_element are set. You may make it do.
  • pps_chroma_deblocking_filter_disabled_flag when the value of the pps_chroma_deblocking_filter_disabled_flag is false (for example, “0”), pps_chroma_beta_offset_div2 and pps_chroma_tc_offset_div2 may be set as extended syntax elements.
  • chroma_deblocking_filter_override_enabled_flag when the value of chroma_deblocking_filter_override_enabled_flag set in the picture parameter set to which the slice header belongs is true (eg, “1”), chroma_deblocking_filter_override_flag is set as an extended syntax element When the value of the chroma_deblocking_filter_override_flag is true (for example, “1”), slice_chroma_deblocking_filter_disabled_flag may be set as an extended syntax element.
  • slice_chroma_beta_offset_div2 and slice_chroma_tc_offset_div2 may be set as extended syntax elements.
  • control information for controlling the deblocking filter processing for the chroma is omitted for slices that do not need to be controlled independently of the deblocking filter processing for the chroma. Therefore, an increase in the amount of codes can be suppressed, and a decrease in coding efficiency can be suppressed accordingly.
  • the configuration of the image encoding device which is an aspect of the image processing device to which the present technology is applied is the same as that of the first embodiment (FIG. 8).
  • the configuration of the loop filter 120 in this case is the same as that of the first embodiment (FIG. 10).
  • the header information generation unit 131 basically has the same configuration as that in the case of the sixth embodiment (FIG. 39).
  • the PPS extended syntax generation unit 162 further includes a chroma_deblocking_filter_control_present_flag generation unit 271 and a chroma_deblocking_filter_override_enabled_flag generation unit 272.
  • the SH extended syntax generation unit 163 further includes a chroma_deblocking_filter_override_flag generation unit 273.
  • step S481 to S487 are executed in the same manner as the processes in steps S271 to S277 in FIG.
  • the process of step S487 ends, the process proceeds to step S488.
  • step S488 to step S490 is executed in the same manner as each process from step S425 to step S427 in FIG.
  • step S490 the process proceeds to step S501 in FIG. If it is determined in step S488 in FIG. 45 that the value of pps_chroma_deblocking_filter_disabled_flag is true (“1”), the process proceeds to step S501 in FIG. Furthermore, if it is determined in step S485 in FIG. 45 that the value of chroma_deblocking_filter_control_present_flag is false (eg, “0”), the process proceeds to step S501 in FIG.
  • step S505 is executed in the same manner as the processes in steps S278 to S282 in FIG.
  • step S505 ends, the process proceeds to step S506.
  • step S506 to step S508 is executed in the same manner as each process from step S430 to step S432 in FIG.
  • step S508 the header information generation process is completed, and the process returns to FIG. If it is determined in step S506 that the value of slice_chroma_deblocking_filter_disabled_flag is true (“1”), the header information generation process ends, and the process returns to FIG. Furthermore, when it is determined in step S504 that the value of chroma_deblocking_filter_override_flag is false (eg, “0”), the header information generation process ends, and the process returns to FIG. Furthermore, when it is determined in step S502 that the value of chroma_deblocking_filter_override_enabled_flag is false (eg, “0”), the header information generation process ends, and the process returns to FIG.
  • the image encoding device 100 by generating the control information for controlling the execution of the deblocking filter processing for the color difference component (chroma) of the image data and the control information for controlling the filter strength as the header information, the image encoding device 100 ( The header information generation unit 131) can control the deblocking filter process for the chroma independently of the deblocking filter process for the luminance component (luma). Also, by using such control parameters, control information for controlling the deblocking filter processing for the chroma is obtained for slices that do not need to be controlled independently from the deblocking filter processing for the luma. Since it can be omitted, an increase in the amount of code can be suppressed, and a reduction in coding efficiency can be suppressed. Therefore, the image coding apparatus 100 (header information generation unit 131) can suppress a decrease in encoding efficiency while suppressing a decrease in image quality by applying the present technology.
  • step S526 the deblocking filter control unit 181 determines the value of pps_chroma_deblocking_filter_disabled_flag and the value of block_chroma_deblocking_filter_control_present_flag, chroma_deblocking_filter_override_enabled_flag, chroma_deblocking_filter_override_flag, and block_chroma_deblocking_filter_disabled_flag.
  • step S527 to step S530 is executed in the same manner as each process from step S457 to step S460 in FIG.
  • step S530 When the process of step S530 is completed, the loop filter process is terminated, and the process returns to FIG. If it is determined in step S527 that the deblocking filter process is not performed on the chroma, the loop filter process ends, and the process returns to FIG. Furthermore, when it is determined in step S522 that the deblocking filter process is not performed, the loop filter process ends, and the process returns to FIG.
  • the image encoding device 100 controls the deblocking filter process for the chroma for a slice that does not need to be controlled independently of the deblocking filter process for the luma. Reference to control information can be omitted. Therefore, the image encoding apparatus 100 (loop filter 120) can suppress an increase in processing load while suppressing a reduction in image quality by applying the present technology.
  • the configuration of the image decoding apparatus which is an aspect of the image processing apparatus to which the present technology is applied is the same as that of the first embodiment (FIG. 14). Further, the configuration of the loop filter 216 in this case is the same as that of the first embodiment (FIG. 15).
  • step S208 of the decoding process the loop filter 216 performs the loop filter process with reference to the flowchart of FIG. The same processing as in the case of the loop filter processing by 120 is performed. That is, the description of the example of the flow of the loop filter process shown in FIG. 47 can also be applied to the description of the loop filter process by the loop filter 216 (that is, the process of step S208 of the decoding process in this case).
  • the image decoding apparatus 200 refers to and uses the control information for controlling the deblocking filter process for the chroma according to the value of the control parameter for the deblocking filter for the chroma. For slices that do not need to be controlled independently of the deblocking filter processing for luma, reference to control information for controlling the deblocking filter processing for chroma can be omitted. Therefore, the image decoding apparatus 200 (loop filter 216) can suppress an increase in processing load while suppressing a reduction in image quality by applying the present technology.
  • control information for controlling the deblocking filter processing for chroma according to the value of the control parameter for the deblocking filter for chroma as described above can be performed in header information of an arbitrary layer, for example, It may be performed only in either the picture parameter set or the slice header, or may be performed in header information other than these.
  • control information for controlling the deblocking filter processing for the chroma is also used using the control parameters for the existing deblocking filter.
  • the generation may be controlled. By doing so, it is possible to omit control information for controlling the deblocking filter processing for clearly unnecessary chroma, so that it is possible to suppress an increase in the code amount and suppress a decrease in encoding efficiency. it can.
  • pps_chroma_deblocking_filter_disabled_flag may be set as an extended syntax element only when the value of deblocking_filter_control_present_flag is true (“1”). Then, pps_chroma_beta_offset_div2 and pps_chroma_tc_offset_div2 may be set as extended syntax elements only when the value of pps_chroma_deblocking_filter_disabled_flag is false (for example, “0”).
  • slice_chroma_deblocking_filter_disabled_flag may be set as the extended syntax element only when the value of deblocking_filter_override_flag is true (“1”) in the slice header. Then, slice_chroma_beta_offset_div2 and slice_chroma_tc_offset_div2 may be set as extended syntax elements only when the value of slice_chroma_deblocking_filter_disabled_flag is false (eg, “0”).
  • control information for controlling the deblocking filter processing for clearly unnecessary chroma can be omitted in the header information of each layer, so that an increase in the amount of code is suppressed correspondingly, and the coding efficiency is increased. Can be suppressed.
  • the configuration of the image encoding device which is an aspect of the image processing device to which the present technology is applied is the same as that of the first embodiment (FIG. 8). Further, the configuration of the header information generation unit 131 in this case is the same as that of the sixth embodiment (FIG. 39). Further, the configuration of the loop filter 120 in this case is the same as that of the first embodiment (FIG. 10).
  • step S551 and S552 are executed in the same manner as the processes in steps S421 and S422 in FIG.
  • the process of step S552 ends, the process proceeds to step S553.
  • step S553 and step S554 are performed similarly to each process of step S371 and step S372 of FIG. If it is determined in step S554 that the value of deblocking_filter_control_present_flag is true (“1”), the process proceeds to step S555.
  • step S555 to step S558 is executed in the same manner as each process from step S424 to step S427 in FIG.
  • step S558 When the process of step S558 ends, the process proceeds to step S559.
  • step S556 if pps_chroma_deblocking_filter_disabled_flag is true (eg, “1”), the process proceeds to step S559. Furthermore, when it is determined in step S554 that the value of deblocking_filter_control_present_flag is false (“0”), the process proceeds to step S559.
  • step S559 and step S560 are performed similarly to each process of step S376 and step S377 of FIG. If it is determined in step S560 that the value of deblocking_filter_override_flag is true (“1”), the process proceeds to step S561.
  • step S561 to step S564 is executed in the same manner as each process of step S429 to step S432 in FIG.
  • step S564 When the process of step S564 is finished, the header information generation process is finished, and the process returns to FIG.
  • slice_chroma_deblocking_filter_disabled_flag eg, “1”
  • the header information generation process ends, and the process returns to FIG.
  • deblocking_filter_override_flag false
  • the image encoding device 100 controls the deblocking filter process for the chroma for a slice that clearly does not require the deblocking filter process for the chroma.
  • the control information to be performed can be omitted. Therefore, the image encoding apparatus 100 (header information generation unit 131) can suppress an increase in code amount and a decrease in encoding efficiency while suppressing a decrease in image quality by applying the present technology. it can.
  • step S586 the deblocking filter control unit 181 checks the value of pps_chroma_deblocking_filter_disabled_flag and the value of slice_chroma_deblocking_filter_disabled_flag based on the values of deblocking_filter_control_present_flag and deblocking_filter_override_flag included in the header information.
  • step S587 to step S590 is executed in the same manner as each process from step S457 to step S460 in FIG.
  • step S590 When the process of step S590 is completed, the loop filter process is terminated, and the process returns to FIG. If it is determined in step S587 that the deblocking filter process is not performed on the chroma, the loop filter process ends, and the process returns to FIG. Furthermore, when it is determined in step S582 that the deblocking filter process is not performed, the loop filter process ends, and the process returns to FIG.
  • the image encoding device 100 controls the deblocking filter processing for the chroma for the slice that clearly does not require the deblocking filter processing for the chroma. Reference to can be omitted. Therefore, the image encoding apparatus 100 (loop filter 120) can suppress an increase in processing load while suppressing a reduction in image quality by applying the present technology.
  • the configuration of the image decoding apparatus which is an aspect of the image processing apparatus to which the present technology is applied is the same as that of the first embodiment (FIG. 14). Further, the configuration of the loop filter 216 in this case is the same as that of the first embodiment (FIG. 15).
  • step S208 of the decoding process the loop filter 216 performs the loop filter process similarly to the case of the loop filter process by the loop filter 120 of the image encoding device 100 described with reference to the flowchart of FIG. That is, the description of the example of the flow of the loop filter process shown in FIG. 51 can also be applied to the description of the loop filter process by the loop filter 216 (that is, the process of step S208 of the decoding process in this case).
  • the image decoding apparatus 200 (loop filter 216) can omit reference to control information for controlling the deblocking filter process for the chroma for a slice that clearly does not require the deblocking filter process for the chroma. Therefore, the image decoding apparatus 200 (loop filter 216) can suppress an increase in processing load while suppressing a reduction in image quality by applying the present technology.
  • control information for controlling the deblocking filter processing for chroma is arbitrary. For example, it may be performed only in one of the picture parameter set and the slice header, or may be performed in header information other than these.
  • control information for controlling the deblocking filter processing for the chroma is also used using the control parameters for the existing deblocking filter.
  • the generation may be controlled. By doing so, it is possible to omit control information for controlling the deblocking filter processing for clearly unnecessary chroma, so that it is possible to suppress an increase in the code amount and suppress a decrease in encoding efficiency. it can.
  • chroma_deblocking_filter_control_present_flag is set as an extended syntax element, and the value of this chroma_deblocking_filter_control_present_flag is true (eg, “1”) Only), chroma_deblocking_filter_override_enabled_flag and pps_chroma_deblocking_filter_disabled_flag may be set as extended syntax elements.
  • Pps_chroma_beta_offset_div2 and pps_chroma_tc_offset_div2 may be set as extended syntax elements only when the value of pps_chroma_deblocking_filter_disabled_flag is false (eg, “0”).
  • the value of deblocking_filter_override_flag is true (“1”)
  • the value of chroma_deblocking_filter_override_enabled_flag set in the picture parameter set to which the slice header belongs is true (for example, “ 1 ”) only when chroma_deblocking_filter_override_flag is set as an extended syntax element
  • slice_chroma_deblocking_filter_disabled_flag may be set as an extended syntax element only when the value of chroma_deblocking_filter_override_flag is true (eg,“ 1 ”).
  • slice_chroma_beta_offset_div2 and slice_chroma_tc_offset_div2 may be set as extended syntax elements only when the value of slice_chroma_deblocking_filter_disabled_flag is false (eg, “0”).
  • control information for controlling the deblocking filter processing for the clearly unnecessary chroma it is possible to omit the control information for controlling the deblocking filter processing for the clearly unnecessary chroma, and the deblocking filter processing for the luma is changed to the deblocking filter processing for the chroma.
  • control information for controlling the deblocking filter processing for the chroma can be omitted, so that an increase in the amount of code is suppressed correspondingly, and a decrease in encoding efficiency is suppressed. be able to.
  • the configuration of the image encoding device which is an aspect of the image processing device to which the present technology is applied is the same as that of the first embodiment (FIG. 8). Further, the configuration of the header information generation unit 131 in this case is the same as that of the seventh embodiment (FIG. 44). Further, the configuration of the loop filter 120 in this case is the same as that of the first embodiment (FIG. 10).
  • step S601 and S602 are executed in the same manner as the processes in steps S481 and S482 in FIG.
  • the process of step S602 ends, the process proceeds to step S603.
  • step S603 and step S604 are performed similarly to each process of step S371 and step S372 of FIG. If it is determined in step S604 that the value of deblocking_filter_control_present_flag is true (“1”), the process proceeds to step S605.
  • step S605 to step S611 is executed in the same manner as each processing from step S484 to step S490 in FIG.
  • step S611 ends, the process proceeds to step S621 of FIG.
  • step S609 in FIG. 54 if pps_chroma_deblocking_filter_disabled_flag is true (eg, “1”), the process proceeds to step S621 in FIG. Furthermore, when it is determined in step S606 in FIG. 54 that the value of chroma_deblocking_filter_control_present_flag is false (“0”), the process proceeds to step S621 in FIG. Furthermore, when it is determined in step S604 in FIG. 54 that the value of deblocking_filter_control_present_flag is false (“0”), the process proceeds to step S621 in FIG.
  • Steps S621 and S622 in FIG. 55 are executed in the same manner as steps S376 and S377 in FIG. If it is determined in step S622 in FIG. 55 that the value of deblocking_filter_override_flag is true (“1”), the process proceeds to step S623.
  • step S623 to step S629 is executed in the same manner as each process from step S502 to step S508 in FIG.
  • step S629 when the process of step S629 ends, the header information generation process ends, and the process returns to FIG.
  • step S627 when slice_chroma_deblocking_filter_disabled_flag is true (for example, “1”), the header information generation process ends, and the process returns to FIG.
  • step S625 when it is determined in step S625 that the value of chroma_deblocking_filter_override_flag is false (“0”), the header information generation process ends, and the process returns to FIG.
  • step S623 if it is determined in step S623 that the value of chroma_deblocking_filter_override_enabled_flag is false (“0”), the header information generation process ends, and the process returns to FIG.
  • step S622 when it is determined in step S622 that the value of deblocking_filter_override_flag is false (“0”), the header information generation process ends, and the process returns to FIG.
  • the image encoding device 100 controls the deblocking filter process for the chroma for a slice that clearly does not require the deblocking filter process for the chroma.
  • Control information for controlling chroma is also omitted for slices that do not need to control deblocking filter processing for chroma independently of deblocking filter processing for luma. can do. Therefore, the image encoding apparatus 100 (header information generation unit 131) can suppress an increase in code amount and a decrease in encoding efficiency while suppressing a decrease in image quality by applying the present technology. it can.
  • step S646 the deblocking filter control unit 181 confirms deblocking_filter_control_present_flag, deblocking_filter_override_flag, chroma_deblocking_filter_control_present_flag, chroma_deblocking_filter_block_decoding_value, block_decoding_value, block_decoding_block_block_block_block_block_block_block_block
  • step S647 to step S650 is executed in the same manner as each process from step S527 to step S530 in FIG.
  • step S650 When the process of step S650 is completed, the loop filter process is terminated, and the process returns to FIG. If it is determined in step S647 that the deblocking filter process is not performed on the chroma, the loop filter process ends, and the process returns to FIG. Furthermore, when it is determined in step S642 that the deblocking filter process is not performed, the loop filter process ends, and the process returns to FIG.
  • the image encoding device 100 controls the deblocking filter processing for the chroma for the slice that clearly does not require the deblocking filter processing for the chroma.
  • the reference of the control information for controlling the deblocking filter processing for the chroma is also referred to for a slice that does not need to control the deblocking filter processing for the chroma independently of the deblocking filter processing for the luma. Can be omitted. Therefore, the image encoding apparatus 100 (loop filter 120) can suppress an increase in processing load while suppressing a reduction in image quality by applying the present technology.
  • the configuration of the image decoding apparatus which is an aspect of the image processing apparatus to which the present technology is applied is the same as that of the first embodiment (FIG. 14). Further, the configuration of the loop filter 216 in this case is the same as that of the first embodiment (FIG. 15).
  • step S208 of the decoding process the loop filter 216 performs the loop filter process in the same manner as the loop filter process by the loop filter 120 of the image encoding device 100 described with reference to the flowchart of FIG. That is, the description of the example of the flow of the loop filter process shown in FIG. 56 can also be applied to the description of the loop filter process by the loop filter 216 (that is, the process of step S208 of the decoding process in this case).
  • the image decoding apparatus 200 (loop filter 216) can omit reference to control information for controlling the deblocking filter processing for the chroma for a slice that clearly does not require the deblocking filter processing for the chroma, Reference to control information for controlling deblocking filter processing for chroma can be omitted even for slices that do not need to be controlled independently of deblocking filter processing for luma. Therefore, the image decoding apparatus 200 (loop filter 216) can suppress an increase in processing load while suppressing a reduction in image quality by applying the present technology.
  • control information for controlling the deblocking filter processing for chroma is arbitrary. For example, it may be performed only in one of the picture parameter set and the slice header, or may be performed in header information other than these.
  • syntax elements relating to parameter ⁇ and parameter tC such as pps_beta_offset_div2, pps_tc_offset_div2, slice_beta_offset_div2, slice_tc_offset_div2, etc. are set.
  • the syntax element related to the parameter tC is not limited to the above-described example as long as the parameter ⁇ and the parameter tC can be derived.
  • a value corresponding to the difference value between the parameter ⁇ (or parameter tC) of the deblocking filter for luma and the parameter ⁇ (or parameter tC) of the deblocking filter for chroma (including other values calculated from the difference value) ) May be a syntax element related to the parameter ⁇ and the parameter tC for the chroma.
  • FIG. 57 shows an example of a computer screen.
  • a computer capable of multitasking a plurality of processes can be executed in parallel. Therefore, on the computer screen that is the display screen, a natural image and screen content are included in one screen as shown in FIG. May be mixed.
  • a moving image (so-called video image) composed of a natural image is displayed in the window displayed in the partial area 301 of the computer screen.
  • a background image of the computer screen is displayed, and in the window displayed in the partial area 303, for example, screen content generated by a computer is displayed.
  • a deblocking filter processing control method may be set for each region. For example, whether or not to execute deblocking filter processing, how much the filter strength is to be set, and whether or not to control deblocking filter processing for chroma independently of deblocking filter processing control for luma Or, if the control of the deblocking filter process for the chroma is performed independently of the control of the deblocking filter process for the luma, whether or not to execute the deblocking filter process for the chroma, and if so, what is the strength of the filter These may be set for each area.
  • the header control unit 141 of the header information generation unit 131 sets such settings based on, for example, an image supplied from the screen rearrangement buffer 111 or an instruction input from the outside such as a user. It may be performed before the generation process.
  • the header control unit 141 divides the processing target picture into a plurality of partial areas in step S671.
  • This division method is arbitrary. For example, area division may be performed according to the content of the image to be processed. Further, for example, such area division may be performed in units of tiles that are predetermined areas. That is, you may make it select which area
  • the header control unit 141 analyzes the characteristics of the image of each divided partial area.
  • the analysis method of this characteristic is arbitrary.
  • the header control unit 141 may specify whether the image of each partial area is a natural image, whether it is a screen content, or the like by this analysis. Further, the analysis may be made more finely, and for example, what kind of natural image or what kind of screen content is specified may be specified. Of course, analysis may be performed without using concepts such as natural images and screen content. Further, the header control unit 141 may actually analyze the processing target image by a predetermined method, or may obtain information on the characteristics of the image from the outside or the like.
  • step S673 the header control unit 141 sets deblocking filter parameters in accordance with the characteristics of the image in each partial region based on the analysis result in step S672.
  • step S674 the header control unit 141 controls the header information generation process, and generates flag information to reflect the setting determined in step S673. That is, when the header information generation process is executed as in each of the above-described embodiments, each parameter is set based on this setting.
  • step S674 When the process of step S674 is finished, the deblocking filter control process is finished.
  • the processing method (parameter setting method) in step S673 in FIG. 58 is arbitrary. For example, whether to control the deblocking filter process for chroma independently of the control of the deblocking filter process for luma depending on whether or not the partial area image to be processed is a natural image May be set.
  • the header control unit 141 determines in step S691 whether the image of the partial area to be processed is a natural image. If it is determined that the image is a natural image, the process proceeds to step S692.
  • step S692 the header control unit 141 controls the deblocking filter processing for luma and chroma together. That is, the control of the deblocking filter process for luma and chroma is performed using the existing control information for controlling the deblocking filter process as used in version 1 of HEVC.
  • the process of step S692 ends, the parameter setting process ends, and the process returns to FIG.
  • step S691 If it is determined in step S691 that the image of the partial area to be processed is not a natural image, the process proceeds to step S693.
  • step S693 the header control unit 141 controls luma and chroma deblocking filter processing independently of each other.
  • the chroma deblocking filter process is controlled using the control information for controlling the deblocking filter process for the chroma as described in the above embodiments.
  • the header control unit 141 can control the deblocking filter process for each region. Therefore, for example, even when natural images and screen content are mixed as in the example of FIG. 57, deblocking filter processing can be performed on each partial region with more appropriate parameters.
  • the encoding device 100 (loop filter 120) and the image decoding device 200 (loop filter 216) can suppress a reduction in image quality.
  • control method of the deblocking filter process may be set based on the color format of the image.
  • G having a signal characteristic similar to Y in YUV format is selected as the first component, but the remaining R and B components are U and V in YUV format. And have different characteristics. Therefore, if the deblocking filter designed for YUV is applied as it is, the image quality may be reduced. This may also reduce the encoding efficiency.
  • deblocking filter processing for chroma is controlled.
  • Control information may be generated and used as header information of the bit stream (encoded data).
  • the color format is encoded as YUV and a bit stream (YUV bit stream) is generated
  • control information for controlling deblocking filter processing is generated so that chroma and luma are controlled together, and the bit stream ( (Encoded data) header information may be used.
  • the header control unit 141 specifies the color format of the image to be processed in step S701.
  • This specifying method is arbitrary.
  • the processing target image may be analyzed and specified, or information regarding the color format of the processing target image may be acquired from the outside.
  • step S702 the header control unit 141 sets a deblocking filter parameter corresponding to the color format specified in step S701.
  • step S703 the header control unit 141 controls the header information generation process, and generates flag information to reflect the setting determined in step S702. That is, when the header information generation process is executed as in each of the above-described embodiments, each parameter is set based on this setting.
  • step S703 ends, the deblocking filter control process ends.
  • the processing method (parameter setting method) in step S702 in FIG. 61 is arbitrary. For example, depending on whether or not the color format of the image to be processed is YUV, whether or not to control the deblocking filter processing for the chroma independently of the control of the deblocking filter processing for the luma. You may make it set.
  • the header control unit 141 determines in step S711 whether the color format of the processing target image is the YUV format. If it is determined that it is YUV, the process proceeds to step S712.
  • step S712 the header control unit 141 controls the deblocking filter processing of luma and chroma together. That is, the control of the deblocking filter process for luma and chroma is performed using the existing control information for controlling the deblocking filter process as used in version 1 of HEVC.
  • the process of step S692 ends, the parameter setting process ends, and the process returns to FIG.
  • step S711 If it is determined in step S711 that the color format of the image to be processed is not the YUV format, the process proceeds to step S713.
  • step S713 the header control unit 141 controls the luma and chroma deblocking filter processes independently of each other.
  • the chroma deblocking filter process is controlled using the control information for controlling the deblocking filter process for the chroma as described in the above embodiments.
  • the header control unit 141 can control the deblocking filter process according to the color format. Therefore, the image encoding device 100 (loop filter 120) and the image decoding device 200 (loop filter 216) can more easily suppress the reduction in image quality.
  • the scope of application of the present technology can be applied to any image decoding apparatus that can decode encoded data obtained by encoding image data and performs a filtering process at the time of decoding.
  • this technology is, for example, MPEG, H.264.
  • image information bitstream
  • orthogonal transformation such as discrete cosine transformation and motion compensation, such as 26x
  • network media such as satellite broadcasting, cable television, the Internet, or mobile phones.
  • the present invention can be applied to an image decoding device used for the above. Further, the present technology can be applied to an image decoding device used when processing on a storage medium such as an optical, magnetic disk, and flash memory.
  • FIG. 63 shows an example of a multi-view image encoding method.
  • the multi-viewpoint image includes images of a plurality of viewpoints (views).
  • the multiple views of this multi-viewpoint image are encoded using the base view that encodes and decodes using only the image of its own view without using the information of other views, and the information of other views.
  • -It consists of a non-base view that performs decoding.
  • Non-base view encoding / decoding may use base view information or other non-base view information.
  • the multi-view image is encoded for each viewpoint.
  • the encoded data of each viewpoint is decoded (that is, for each viewpoint).
  • the method described in each of the above embodiments may be applied to such viewpoint encoding / decoding. By doing so, it is possible to suppress a reduction in the image quality of the image at each viewpoint. That is, similarly, in the case of a multi-viewpoint image, it is possible to suppress a reduction in image quality.
  • FIG. 64 is a diagram illustrating a multi-view image encoding apparatus that performs the multi-view image encoding described above. As illustrated in FIG. 64, the multi-view image encoding device 600 includes an encoding unit 601, an encoding unit 602, and a multiplexing unit 603.
  • the encoding unit 601 encodes the base view image and generates a base view image encoded stream.
  • the encoding unit 602 encodes the non-base view image and generates a non-base view image encoded stream.
  • the multiplexing unit 603 multiplexes the base view image encoded stream generated by the encoding unit 601 and the non-base view image encoded stream generated by the encoding unit 602 to generate a multi-view image encoded stream. To do.
  • the image encoding device 100 described in each of the above embodiments may be applied as the encoding unit 601 and the encoding unit 602 of such a multi-view image encoding device 600.
  • the method described in each of the above embodiments can be applied to the encoding of multi-viewpoint images. That is, multi-view image encoding apparatus 600 can suppress a reduction in image quality of multi-view images.
  • FIG. 65 is a diagram illustrating a multi-view image decoding apparatus that performs the above-described multi-view image decoding.
  • the multi-view image decoding device 610 includes a demultiplexing unit 611, a decoding unit 612, and a decoding unit 613.
  • the demultiplexing unit 611 demultiplexes the multi-view image encoded stream in which the base view image encoded stream and the non-base view image encoded stream are multiplexed, and the base view image encoded stream and the non-base view image The encoded stream is extracted.
  • the decoding unit 612 decodes the base view image encoded stream extracted by the demultiplexing unit 611 to obtain a base view image.
  • the decoding unit 613 decodes the non-base view image encoded stream extracted by the demultiplexing unit 611 to obtain a non-base view image.
  • the image decoding device 200 described in each of the above embodiments may be applied as the decoding unit 612 and the decoding unit 613 of the multi-view image decoding device 610.
  • the method described in each of the above embodiments can be applied to decoding of encoded data of a multi-viewpoint image. That is, the multi-view image decoding device 610 can suppress a reduction in the image quality of the multi-view image.
  • FIG. 66 shows an example of a hierarchical image encoding method.
  • Hierarchical image coding is a method in which image data is divided into a plurality of layers (hierarchization) so as to have a scalability function with respect to a predetermined parameter, and is encoded for each layer.
  • the hierarchical image encoding (scalable decoding) is decoding corresponding to the hierarchical image encoding.
  • the hierarchized image includes images of a plurality of hierarchies (layers) having different predetermined parameter values.
  • a plurality of layers of this hierarchical image are encoded / decoded using only the image of the own layer without using the image of the other layer, and encoded / decoded using the image of the other layer.
  • It consists of a non-base layer (also called enhancement layer) that performs decoding.
  • the non-base layer an image of the base layer may be used, or an image of another non-base layer may be used.
  • the non-base layer is composed of difference image data (difference data) between its own image and an image of another layer so that redundancy is reduced.
  • difference image data difference data
  • an image with lower quality than the original image can be obtained using only the base layer data.
  • an original image that is, a high-quality image
  • image compression information of only the base layer (base layer) is transmitted, and a moving image with low spatiotemporal resolution or poor image quality is reproduced.
  • image enhancement information of the enhancement layer is transmitted.
  • Image compression information corresponding to the capabilities of the terminal and the network can be transmitted from the server without performing transcoding processing, such as playing a moving image with high image quality.
  • parameters having a scalability function are arbitrary.
  • the spatial resolution as shown in FIG. 67 may be used as the parameter (spatial scalability).
  • the resolution of the image is different for each layer. That is, as shown in FIG. 67, each picture is combined with a base layer having a spatially lower resolution than the original image and the base layer image to obtain an original image (original spatial resolution). Layered into two layers.
  • this number of hierarchies is an example, and the number of hierarchies can be hierarchized.
  • a temporal resolution as shown in FIG. 68 may be applied (temporal scalability).
  • the frame rate is different for each layer.
  • layers are layered into different frame rate layers, and a higher frame rate moving image can be obtained by adding a higher frame rate layer to a lower frame rate layer.
  • the original moving image original frame rate
  • This number of hierarchies is an example, and can be hierarchized to an arbitrary number of hierarchies.
  • a signal-to-noise ratio (SNR (Signal-to-Noise-ratio)) may be applied (SNR-scalability) as a parameter for providing such scalability.
  • SNR Signal-to-noise ratio
  • the SN ratio is different for each layer. That is, as shown in FIG. 69, each picture has a base layer having a lower SNR than the original image and two layers of enhancement layers from which the original image (original SNR) can be obtained by combining with the base layer image Is layered.
  • the base layer image compression information information related to the low PSNR image is transmitted, and the enhancement layer (enhancement layer) image compression information is added to this to reconstruct a high PSNR image. It is possible.
  • this number of hierarchies is an example, and the number of hierarchies can be hierarchized.
  • the parameters for providing scalability may be other than the examples described above.
  • the base layer (base layer) consists of 8-bit (bit) images, and by adding an enhancement layer (enhancement layer) to this, the bit depth scalability (bit-depth ⁇ ⁇ ⁇ scalability) that can obtain a 10-bit (bit) image is is there.
  • base layer (base ⁇ ⁇ layer) consists of component images in 4: 2: 0 format, and by adding the enhancement layer (enhancement layer) to this, chroma scalability (chroma) scalability).
  • FIG. 70 is a diagram illustrating a hierarchical image encoding apparatus that performs the hierarchical image encoding described above.
  • the hierarchical image encoding device 620 includes an encoding unit 621, an encoding unit 622, and a multiplexing unit 623.
  • the encoding unit 621 encodes the base layer image and generates a base layer image encoded stream.
  • the encoding unit 622 encodes the non-base layer image and generates a non-base layer image encoded stream.
  • the multiplexing unit 623 multiplexes the base layer image encoded stream generated by the encoding unit 621 and the non-base layer image encoded stream generated by the encoding unit 622 to generate a hierarchical image encoded stream. .
  • the image encoding device 100 described in each of the above embodiments may be applied as the encoding unit 621 and the encoding unit 622 of the hierarchical image encoding device 620.
  • the method described in each of the above embodiments can be applied to the encoding of the hierarchical image. That is, the hierarchical image encoding device 620 can suppress a reduction in the image quality of the hierarchical image.
  • FIG. 71 is a diagram illustrating a hierarchical image decoding apparatus that performs the hierarchical image decoding described above.
  • the hierarchical image decoding device 630 includes a demultiplexing unit 631, a decoding unit 632, and a decoding unit 633.
  • the demultiplexing unit 631 demultiplexes the hierarchical image encoded stream in which the base layer image encoded stream and the non-base layer image encoded stream are multiplexed, and the base layer image encoded stream and the non-base layer image code Stream.
  • the decoding unit 632 decodes the base layer image encoded stream extracted by the demultiplexing unit 631 to obtain a base layer image.
  • the decoding unit 633 decodes the non-base layer image encoded stream extracted by the demultiplexing unit 631 to obtain a non-base layer image.
  • the image decoding device 200 described in each of the above embodiments may be applied as the decoding unit 632 and the decoding unit 633 of the hierarchical image decoding device 630.
  • the method described in each of the above embodiments can be applied to decoding of the encoded data of the hierarchical image. That is, the hierarchical image decoding device 630 can suppress a reduction in the image quality of the hierarchical image.
  • the series of processes described above can be executed by hardware or can be executed by software.
  • a program constituting the software is installed in the computer.
  • the computer includes, for example, a general-purpose personal computer that can execute various functions by installing a computer incorporated in dedicated hardware and various programs.
  • FIG. 72 is a block diagram showing an example of the hardware configuration of a computer that executes the above-described series of processing by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input / output interface 810 is also connected to the bus 804.
  • An input unit 811, an output unit 812, a storage unit 813, a communication unit 814, and a drive 815 are connected to the input / output interface 810.
  • the input unit 811 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
  • the output unit 812 includes, for example, a display, a speaker, an output terminal, and the like.
  • the storage unit 813 includes, for example, a hard disk, a RAM disk, a nonvolatile memory, and the like.
  • the communication unit 814 includes a network interface, for example.
  • the drive 815 drives a removable medium 821 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 801 loads the program stored in the storage unit 813 into the RAM 803 via the input / output interface 810 and the bus 804 and executes the program, for example. Is performed.
  • the RAM 803 also appropriately stores data necessary for the CPU 801 to execute various processes.
  • the program executed by the computer (CPU 801) can be recorded and applied to, for example, a removable medium 821 as a package medium or the like.
  • the program can be installed in the storage unit 813 via the input / output interface 810 by attaching the removable medium 821 to the drive 815.
  • This program can also be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting. In that case, the program can be received by the communication unit 814 and installed in the storage unit 813.
  • a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be received by the communication unit 814 and installed in the storage unit 813.
  • this program can be installed in advance in the ROM 802 or the storage unit 813.
  • the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
  • the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but may be performed in parallel or It also includes processes that are executed individually.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Accordingly, a plurality of devices housed in separate housings and connected via a network and a single device housing a plurality of modules in one housing are all systems. .
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configurations described above as a plurality of devices (or processing units) may be combined into a single device (or processing unit).
  • a configuration other than that described above may be added to the configuration of each device (or each processing unit).
  • a part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit). .
  • the present technology can take a configuration of cloud computing in which one function is shared by a plurality of devices via a network and is jointly processed.
  • each step described in the above flowchart can be executed by one device or can be shared by a plurality of devices.
  • the plurality of processes included in the one step can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.
  • the image decoding apparatus includes, for example, a transmitter or receiver, satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication, an optical disk, a magnetic disk, and the like.
  • the present invention can be applied to various electronic devices such as a recording device that records an image on a medium such as a flash memory or a reproducing device that reproduces an image from the storage medium.
  • a recording device that records an image on a medium such as a flash memory
  • reproducing device that reproduces an image from the storage medium.
  • FIG. 73 shows an example of a schematic configuration of a television apparatus to which the above-described embodiment is applied.
  • the television apparatus 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a speaker 908, an external interface (I / F) unit 909, and a control unit. 910, a user interface (I / F) unit 911, and a bus 912.
  • Tuner 902 extracts a signal of a desired channel from a broadcast signal received via antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the encoded bit stream obtained by the demodulation to the demultiplexer 903. That is, the tuner 902 has a role as a transmission unit in the television device 900 that receives an encoded stream in which an image is encoded.
  • the demultiplexer 903 separates the video stream and audio stream of the viewing target program from the encoded bit stream, and outputs each separated stream to the decoder 904. Further, the demultiplexer 903 extracts auxiliary data such as EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. Note that the demultiplexer 903 may perform descrambling when the encoded bit stream is scrambled.
  • EPG Electronic Program Guide
  • the decoder 904 decodes the video stream and audio stream input from the demultiplexer 903. Then, the decoder 904 outputs the video data generated by the decoding process to the video signal processing unit 905. In addition, the decoder 904 outputs audio data generated by the decoding process to the audio signal processing unit 907.
  • the video signal processing unit 905 reproduces the video data input from the decoder 904 and causes the display unit 906 to display the video.
  • the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via a network.
  • the video signal processing unit 905 may perform additional processing such as noise removal on the video data according to the setting.
  • the video signal processing unit 905 may generate a GUI (Graphical User Interface) image such as a menu, a button, or a cursor, and superimpose the generated image on the output image.
  • GUI Graphic User Interface
  • the display unit 906 is driven by a drive signal supplied from the video signal processing unit 905, and displays an image on a video screen of a display device (for example, a liquid crystal display, a plasma display, or an OELD (Organic ElectroLuminescence Display) (organic EL display)). Or an image is displayed.
  • a display device for example, a liquid crystal display, a plasma display, or an OELD (Organic ElectroLuminescence Display) (organic EL display)). Or an image is displayed.
  • the audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on the audio data input from the decoder 904, and outputs audio from the speaker 908.
  • the audio signal processing unit 907 may perform additional processing such as noise removal on the audio data.
  • the external interface unit 909 is an interface for connecting the television device 900 to an external device or a network.
  • a video stream or an audio stream received via the external interface unit 909 may be decoded by the decoder 904. That is, the external interface unit 909 also has a role as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
  • the control unit 910 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, EPG data, data acquired via a network, and the like.
  • the program stored in the memory is read and executed by the CPU when the television apparatus 900 is activated.
  • the CPU controls the operation of the television device 900 according to an operation signal input from the user interface unit 911 by executing the program.
  • the user interface unit 911 is connected to the control unit 910.
  • the user interface unit 911 includes, for example, buttons and switches for the user to operate the television device 900, a remote control signal receiving unit, and the like.
  • the user interface unit 911 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 910.
  • the bus 912 connects the tuner 902, the demultiplexer 903, the decoder 904, the video signal processing unit 905, the audio signal processing unit 907, the external interface unit 909, and the control unit 910 to each other.
  • the decoder 904 may have the function of the image decoding apparatus 200 described above. That is, the decoder 904 may decode the encoded data by the method described in the above embodiments. By doing in this way, the television apparatus 900 can suppress a reduction in image quality of an image obtained by decoding the received encoded bitstream.
  • the video signal processing unit 905 encodes image data supplied from the decoder 904, for example, and the obtained encoded data is transmitted via the external interface unit 909. You may enable it to output to the exterior of the television apparatus 900.
  • FIG. The video signal processing unit 905 may have the function of the image encoding device 100 described above. That is, the video signal processing unit 905 may encode the image data supplied from the decoder 904 by the method described in the above embodiments. By doing in this way, the television apparatus 900 can suppress a reduction in image quality of an image obtained by decoding the encoded data to be output.
  • FIG. 74 shows an example of a schematic configuration of a mobile phone to which the above-described embodiment is applied.
  • a cellular phone 920 includes an antenna 921, a communication unit 922, an audio codec 923, a speaker 924, a microphone 925, a camera unit 926, an image processing unit 927, a demultiplexing unit 928, a recording / reproducing unit 929, a display unit 930, a control unit 931, an operation A portion 932 and a bus 933.
  • the antenna 921 is connected to the communication unit 922.
  • the speaker 924 and the microphone 925 are connected to the audio codec 923.
  • the operation unit 932 is connected to the control unit 931.
  • the bus 933 connects the communication unit 922, the audio codec 923, the camera unit 926, the image processing unit 927, the demultiplexing unit 928, the recording / reproducing unit 929, the display unit 930, and the control unit 931 to each other.
  • the mobile phone 920 has various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode, and is used for sending and receiving voice signals, sending and receiving e-mail or image data, taking images, and recording data. Perform the action.
  • the analog voice signal generated by the microphone 925 is supplied to the voice codec 923.
  • the audio codec 923 converts an analog audio signal into audio data, A / D converts the compressed audio data, and compresses it. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922.
  • the communication unit 922 encodes and modulates the audio data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. In addition, the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to generate audio data, and outputs the generated audio data to the audio codec 923.
  • the audio codec 923 decompresses the audio data and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the control unit 931 generates character data constituting the e-mail in response to an operation by the user via the operation unit 932.
  • the control unit 931 causes the display unit 930 to display characters.
  • the control unit 931 generates e-mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated e-mail data to the communication unit 922.
  • the communication unit 922 encodes and modulates email data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to restore the email data, and outputs the restored email data to the control unit 931.
  • the control unit 931 displays the content of the electronic mail on the display unit 930, supplies the electronic mail data to the recording / reproducing unit 929, and writes the data in the storage medium.
  • the recording / reproducing unit 929 has an arbitrary readable / writable storage medium.
  • the storage medium may be a built-in storage medium such as a RAM or a flash memory, or an externally mounted type such as a hard disk, magnetic disk, magneto-optical disk, optical disk, USB (Universal Serial Bus) memory, or memory card. It may be a storage medium.
  • the camera unit 926 images a subject to generate image data, and outputs the generated image data to the image processing unit 927.
  • the image processing unit 927 encodes the image data input from the camera unit 926, supplies the encoded stream to the recording / reproducing unit 929, and writes the encoded stream in the storage medium.
  • the recording / reproducing unit 929 reads out the encoded stream recorded in the storage medium and outputs the encoded stream to the image processing unit 927.
  • the image processing unit 927 decodes the encoded stream input from the recording / reproducing unit 929, supplies the image data to the display unit 930, and displays the image.
  • the demultiplexing unit 928 multiplexes the video stream encoded by the image processing unit 927 and the audio stream input from the audio codec 923, and the multiplexed stream is the communication unit 922. Output to.
  • the communication unit 922 encodes and modulates the stream and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • These transmission signal and reception signal may include an encoded bit stream.
  • the communication unit 922 demodulates and decodes the received signal to restore the stream, and outputs the restored stream to the demultiplexing unit 928.
  • the demultiplexing unit 928 separates the video stream and the audio stream from the input stream, and outputs the video stream to the image processing unit 927 and the audio stream to the audio codec 923.
  • the image processing unit 927 decodes the video stream and generates video data.
  • the video data is supplied to the display unit 930, and a series of images is displayed on the display unit 930.
  • the audio codec 923 decompresses the audio stream and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the image processing unit 927 may have the functions of the image encoding device 100 and the image decoding device 200. That is, the image processing unit 927 may encode the image data or decode the encoded data by the method described in each of the above embodiments. In this way, the mobile phone 920 can suppress a reduction in the image quality of the processing target image.
  • FIG. 75 shows an example of a schematic configuration of a recording / reproducing apparatus to which the above-described embodiment is applied.
  • the recording / reproducing device 940 encodes audio data and video data of a received broadcast program and records the encoded data on a recording medium.
  • the recording / reproducing device 940 may encode audio data and video data acquired from another device and record them on a recording medium, for example.
  • the recording / reproducing device 940 reproduces data recorded on the recording medium on a monitor and a speaker, for example, in accordance with a user instruction. At this time, the recording / reproducing device 940 decodes the audio data and the video data.
  • the recording / reproducing apparatus 940 includes a tuner 941, an external interface (I / F) unit 942, an encoder 943, an HDD (Hard Disk Drive) 944, a disk drive 945, a selector 946, a decoder 947, an OSD (On-Screen Display) 948, and a control. Part 949 and a user interface (I / F) part 950.
  • I / F external interface
  • Tuner 941 extracts a signal of a desired channel from a broadcast signal received via an antenna (not shown), and demodulates the extracted signal. Then, the tuner 941 outputs the encoded bit stream obtained by the demodulation to the selector 946. That is, the tuner 941 serves as a transmission unit in the recording / reproducing apparatus 940.
  • the external interface unit 942 is an interface for connecting the recording / reproducing device 940 to an external device or a network.
  • the external interface unit 942 may be, for example, an IEEE (Institute of Electrical and Electronic Engineers) 1394 interface, a network interface, a USB interface, or a flash memory interface.
  • IEEE Institute of Electrical and Electronic Engineers 1394 interface
  • a network interface e.g., a USB interface
  • a flash memory interface e.g., a flash memory interface.
  • video data and audio data received via the external interface unit 942 are input to the encoder 943. That is, the external interface unit 942 has a role as a transmission unit in the recording / reproducing apparatus 940.
  • the encoder 943 encodes video data and audio data when the video data and audio data input from the external interface unit 942 are not encoded. Then, the encoder 943 outputs the encoded bit stream to the selector 946.
  • the HDD 944 records an encoded bit stream in which content data such as video and audio are compressed, various programs, and other data on an internal hard disk. Further, the HDD 944 reads out these data from the hard disk when reproducing video and audio.
  • the disk drive 945 performs recording and reading of data to and from the mounted recording medium.
  • Recording media mounted on the disk drive 945 are, for example, DVD (Digital Versatile Disc) discs (DVD-Video, DVD-RAM (DVD -Random Access Memory), DVD-R (DVD-Recordable), DVD-RW (DVD-). Rewritable), DVD + R (DVD + Recordable), DVD + RW (DVD + Rewritable), etc.) or Blu-ray (registered trademark) disc.
  • the selector 946 selects an encoded bit stream input from the tuner 941 or the encoder 943 when recording video and audio, and outputs the selected encoded bit stream to the HDD 944 or the disk drive 945. In addition, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 during video and audio reproduction.
  • the decoder 947 decodes the encoded bit stream and generates video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD 948. The decoder 947 outputs the generated audio data to an external speaker.
  • OSD 948 reproduces the video data input from the decoder 947 and displays the video. Further, the OSD 948 may superimpose a GUI image such as a menu, a button, or a cursor on the video to be displayed.
  • the control unit 949 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the recording / reproducing apparatus 940 is activated, for example.
  • the CPU executes the program to control the operation of the recording / reproducing device 940 in accordance with, for example, an operation signal input from the user interface unit 950.
  • the user interface unit 950 is connected to the control unit 949.
  • the user interface unit 950 includes, for example, buttons and switches for the user to operate the recording / reproducing device 940, a remote control signal receiving unit, and the like.
  • the user interface unit 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
  • the encoder 943 may have the function of the image encoding apparatus 100. That is, the encoder 943 may encode the image data by the method described in each of the above embodiments. By doing in this way, the recording / reproducing apparatus 940 can suppress the reduction in the image quality of the image to be processed.
  • the decoder 947 may have the function of the image decoding apparatus 200. That is, the decoder 947 may decode the encoded data by the method described in each of the above embodiments. By doing in this way, the recording / reproducing apparatus 940 can suppress the reduction in the image quality of the image to be processed.
  • FIG. 76 shows an example of a schematic configuration of an imaging apparatus to which the above-described embodiment is applied.
  • the imaging device 960 images a subject to generate an image, encodes the image data, and records it on a recording medium.
  • the imaging device 960 includes an optical block 961, an imaging unit 962, a signal processing unit 963, an image processing unit 964, a display unit 965, an external interface (I / F) unit 966, a memory unit 967, a media drive 968, an OSD 969, and a control unit 970.
  • the optical block 961 is connected to the imaging unit 962.
  • the imaging unit 962 is connected to the signal processing unit 963.
  • the display unit 965 is connected to the image processing unit 964.
  • the user interface unit 971 is connected to the control unit 970.
  • the bus 972 connects the image processing unit 964, the external interface unit 966, the memory unit 967, the media drive 968, the OSD 969, and the control unit 970 to each other.
  • the optical block 961 includes a focus lens and a diaphragm mechanism.
  • the optical block 961 forms an optical image of the subject on the imaging surface of the imaging unit 962.
  • the imaging unit 962 includes an image sensor such as a CCD (Charge-Coupled Device) or a CMOS (Complementary Metal-Oxide Semiconductor), and converts an optical image formed on the imaging surface into an image signal as an electrical signal by photoelectric conversion. Then, the imaging unit 962 outputs the image signal to the signal processing unit 963.
  • CCD Charge-Coupled Device
  • CMOS Complementary Metal-Oxide Semiconductor
  • the signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the image signal input from the imaging unit 962.
  • the signal processing unit 963 outputs the image data after the camera signal processing to the image processing unit 964.
  • the image processing unit 964 encodes the image data input from the signal processing unit 963 and generates encoded data. Then, the image processing unit 964 outputs the generated encoded data to the external interface unit 966 or the media drive 968. In addition, the image processing unit 964 decodes encoded data input from the external interface unit 966 or the media drive 968 to generate image data. Then, the image processing unit 964 outputs the generated image data to the display unit 965. In addition, the image processing unit 964 may display the image by outputting the image data input from the signal processing unit 963 to the display unit 965. Further, the image processing unit 964 may superimpose display data acquired from the OSD 969 on an image output to the display unit 965.
  • the OSD 969 generates a GUI image such as a menu, a button, or a cursor, and outputs the generated image to the image processing unit 964.
  • the external interface unit 966 is configured as a USB input / output terminal, for example.
  • the external interface unit 966 connects the imaging device 960 and a printer, for example, when printing an image.
  • a drive is connected to the external interface unit 966 as necessary.
  • a removable medium such as a magnetic disk or an optical disk is attached to the drive, and a program read from the removable medium can be installed in the imaging device 960.
  • the external interface unit 966 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface unit 966 has a role as a transmission unit in the imaging device 960.
  • the recording medium mounted on the media drive 968 may be any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
  • a recording medium may be fixedly mounted on the media drive 968, and a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
  • the control unit 970 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the imaging device 960 is activated, for example.
  • the CPU controls the operation of the imaging device 960 according to an operation signal input from the user interface unit 971 by executing the program.
  • the user interface unit 971 is connected to the control unit 970.
  • the user interface unit 971 includes, for example, buttons and switches for the user to operate the imaging device 960.
  • the user interface unit 971 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 970.
  • the image processing unit 964 may have the functions of the image encoding device 100 and the image decoding device 200. That is, the image processing unit 964 may encode the image data or decode the encoded data by the method described in each of the above embodiments. In this way, the imaging device 960 can suppress a reduction in image quality of the processing target image.
  • the present technology can also be applied to HTTP streaming such as MPEGASHDASH, for example, by selecting an appropriate piece of data from a plurality of encoded data with different resolutions prepared in advance. Can do. That is, information regarding encoding and decoding can be shared among a plurality of such encoded data.
  • FIG. 77 illustrates an example of a schematic configuration of a video set to which the present technology is applied.
  • the video set 1300 shown in FIG. 77 has such a multi-functional configuration, and the function is added to a device having a function related to image encoding and decoding (either one or both). It is a combination of devices having other related functions.
  • the video set 1300 includes a module group such as a video module 1311, an external memory 1312, a power management module 1313, and a front-end module 1314, and an associated module 1321, a camera 1322, a sensor 1323, and the like. And a device having a function.
  • a module is a component that has several functions that are related to each other and that has a coherent function.
  • the specific physical configuration is arbitrary. For example, a plurality of processors each having a function, electronic circuit elements such as resistors and capacitors, and other devices arranged on a wiring board or the like can be considered. . It is also possible to combine the module with another module, a processor, or the like to form a new module.
  • the video module 1311 is a combination of configurations having functions related to image processing, and includes an application processor, a video processor, a broadband modem 1333, and an RF module 1334.
  • a processor is a configuration in which a configuration having a predetermined function is integrated on a semiconductor chip by a SoC (System On a Chip), and for example, there is a system LSI (Large Scale Integration).
  • the configuration having the predetermined function may be a logic circuit (hardware configuration), a CPU, a ROM, a RAM, and the like, and a program (software configuration) executed using them. , Or a combination of both.
  • a processor has a logic circuit and a CPU, ROM, RAM, etc., a part of the function is realized by a logic circuit (hardware configuration), and other functions are executed by the CPU (software configuration) It may be realized by.
  • the 77 is a processor that executes an application related to image processing.
  • the application executed in the application processor 1331 not only performs arithmetic processing to realize a predetermined function, but also can control the internal and external configurations of the video module 1311 such as the video processor 1332 as necessary. .
  • the video processor 1332 is a processor having a function related to image encoding / decoding (one or both of them).
  • the broadband modem 1333 converts the data (digital signal) transmitted by wired or wireless (or both) broadband communication via a broadband line such as the Internet or a public telephone line network into an analog signal by digitally modulating the data.
  • the analog signal received by the broadband communication is demodulated and converted into data (digital signal).
  • the broadband modem 1333 processes arbitrary information such as image data processed by the video processor 1332, a stream obtained by encoding the image data, an application program, setting data, and the like.
  • the RF module 1334 is a module that performs frequency conversion, modulation / demodulation, amplification, filter processing, and the like on an RF (Radio Frequency) signal transmitted / received via an antenna. For example, the RF module 1334 generates an RF signal by performing frequency conversion or the like on the baseband signal generated by the broadband modem 1333. Further, for example, the RF module 1334 generates a baseband signal by performing frequency conversion or the like on the RF signal received via the front end module 1314.
  • RF Radio Frequency
  • the application processor 1331 and the video processor 1332 may be integrated and configured as one processor.
  • the external memory 1312 is a module that is provided outside the video module 1311 and has a storage device used by the video module 1311.
  • the storage device of the external memory 1312 may be realized by any physical configuration, but is generally used for storing a large amount of data such as image data in units of frames. For example, it is desirable to realize it with a relatively inexpensive and large-capacity semiconductor memory such as DRAM (Dynamic Random Access Memory).
  • the power management module 1313 manages and controls power supply to the video module 1311 (each component in the video module 1311).
  • the front-end module 1314 is a module that provides the RF module 1334 with a front-end function (circuit on the transmitting / receiving end on the antenna side). As illustrated in FIG. 77, the front end module 1314 includes, for example, an antenna unit 1351, a filter 1352, and an amplification unit 1353.
  • the antenna unit 1351 has an antenna for transmitting and receiving a radio signal and its peripheral configuration.
  • the antenna unit 1351 transmits the signal supplied from the amplification unit 1353 as a radio signal, and supplies the received radio signal to the filter 1352 as an electric signal (RF signal).
  • the filter 1352 performs a filtering process on the RF signal received via the antenna unit 1351 and supplies the processed RF signal to the RF module 1334.
  • the amplifying unit 1353 amplifies the RF signal supplied from the RF module 1334 and supplies the amplified RF signal to the antenna unit 1351.
  • Connectivity 1321 is a module having a function related to connection with the outside.
  • the physical configuration of the connectivity 1321 is arbitrary.
  • the connectivity 1321 has a configuration having a communication function other than the communication standard supported by the broadband modem 1333, an external input / output terminal, and the like.
  • the communication 1321 is compliant with wireless communication standards such as Bluetooth (registered trademark), IEEE 802.11 (for example, Wi-Fi (Wireless Fidelity, registered trademark)), NFC (Near Field Communication), IrDA (InfraRed Data Association), etc. You may make it have a module which has a function, an antenna etc. which transmit / receive the signal based on the standard.
  • the connectivity 1321 has a module having a communication function compliant with a wired communication standard such as USB (Universal Serial Bus), HDMI (registered trademark) (High-Definition Multimedia Interface), or a terminal compliant with the standard. You may do it.
  • the connectivity 1321 may have other data (signal) transmission functions such as analog input / output terminals.
  • the connectivity 1321 may include a data (signal) transmission destination device.
  • the drive 1321 reads and writes data to and from a recording medium such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory (not only a removable medium drive, but also a hard disk, SSD (Solid State Drive) NAS (including Network Attached Storage) and the like.
  • the connectivity 1321 may include an image or audio output device (a monitor, a speaker, or the like).
  • the camera 1322 is a module having a function of capturing a subject and obtaining image data of the subject.
  • Image data obtained by imaging by the camera 1322 is supplied to, for example, a video processor 1332 and encoded.
  • the sensor 1323 includes, for example, a voice sensor, an ultrasonic sensor, an optical sensor, an illuminance sensor, an infrared sensor, an image sensor, a rotation sensor, an angle sensor, an angular velocity sensor, a velocity sensor, an acceleration sensor, an inclination sensor, a magnetic identification sensor, an impact sensor, It is a module having an arbitrary sensor function such as a temperature sensor.
  • the data detected by the sensor 1323 is supplied to the application processor 1331 and used by an application or the like.
  • the configuration described as a module in the above may be realized as a processor, or conversely, the configuration described as a processor may be realized as a module.
  • the present technology can be applied to the video processor 1332 as described later. Therefore, the video set 1300 can be implemented as a set to which the present technology is applied.
  • FIG. 78 shows an example of a schematic configuration of a video processor 1332 (FIG. 77) to which the present technology is applied.
  • the video processor 1332 receives the video signal and the audio signal and encodes them according to a predetermined method, decodes the encoded video data and audio data, A function of reproducing and outputting an audio signal.
  • the video processor 1332 includes a video input processing unit 1401, a first image enlargement / reduction unit 1402, a second image enlargement / reduction unit 1403, a video output processing unit 1404, a frame memory 1405, and a memory control unit 1406.
  • the video processor 1332 includes an encoding / decoding engine 1407, video ES (ElementaryElementStream) buffers 1408A and 1408B, and audio ES buffers 1409A and 1409B.
  • the video processor 1332 includes an audio encoder 1410, an audio decoder 1411, a multiplexing unit (MUX (Multiplexer)) 1412, a demultiplexing unit (DMUX (Demultiplexer)) 1413, and a stream buffer 1414.
  • MUX Multiplexing unit
  • DMUX Demultiplexer
  • the video input processing unit 1401 acquires, for example, a video signal input from the connectivity 1321 (FIG. 77) and converts it into digital image data.
  • the first image enlargement / reduction unit 1402 performs format conversion, image enlargement / reduction processing, and the like on the image data.
  • the second image enlargement / reduction unit 1403 performs image enlargement / reduction processing on the image data in accordance with the format of the output destination via the video output processing unit 1404, or is the same as the first image enlargement / reduction unit 1402. Format conversion and image enlargement / reduction processing.
  • the video output processing unit 1404 performs format conversion, conversion to an analog signal, and the like on the image data and outputs the reproduced video signal to, for example, the connectivity 1321 or the like.
  • the frame memory 1405 is a memory for image data shared by the video input processing unit 1401, the first image scaling unit 1402, the second image scaling unit 1403, the video output processing unit 1404, and the encoding / decoding engine 1407. .
  • the frame memory 1405 is realized as a semiconductor memory such as a DRAM, for example.
  • the memory control unit 1406 receives the synchronization signal from the encoding / decoding engine 1407, and controls the write / read access to the frame memory 1405 according to the access schedule to the frame memory 1405 written in the access management table 1406A.
  • the access management table 1406A is updated by the memory control unit 1406 in accordance with processing executed by the encoding / decoding engine 1407, the first image enlargement / reduction unit 1402, the second image enlargement / reduction unit 1403, and the like.
  • the encoding / decoding engine 1407 performs encoding processing of image data and decoding processing of a video stream that is data obtained by encoding the image data. For example, the encoding / decoding engine 1407 encodes the image data read from the frame memory 1405 and sequentially writes the data as a video stream in the video ES buffer 1408A. Further, for example, the video stream is sequentially read from the video ES buffer 1408B, decoded, and sequentially written in the frame memory 1405 as image data.
  • the encoding / decoding engine 1407 uses the frame memory 1405 as a work area in the encoding and decoding. Also, the encoding / decoding engine 1407 outputs a synchronization signal to the memory control unit 1406, for example, at a timing at which processing for each macroblock is started.
  • the video ES buffer 1408A buffers the video stream generated by the encoding / decoding engine 1407 and supplies the buffered video stream to the multiplexing unit (MUX) 1412.
  • the video ES buffer 1408B buffers the video stream supplied from the demultiplexer (DMUX) 1413 and supplies the buffered video stream to the encoding / decoding engine 1407.
  • the audio ES buffer 1409A buffers the audio stream generated by the audio encoder 1410 and supplies the buffered audio stream to the multiplexing unit (MUX) 1412.
  • the audio ES buffer 1409B buffers the audio stream supplied from the demultiplexer (DMUX) 1413 and supplies the buffered audio stream to the audio decoder 1411.
  • the audio encoder 1410 converts, for example, an audio signal input from the connectivity 1321 or the like, for example, into a digital format, and encodes it using a predetermined method such as an MPEG audio method or an AC3 (Audio Code number 3) method.
  • the audio encoder 1410 sequentially writes an audio stream, which is data obtained by encoding an audio signal, in the audio ES buffer 1409A.
  • the audio decoder 1411 decodes the audio stream supplied from the audio ES buffer 1409B, performs conversion to an analog signal, for example, and supplies the reproduced audio signal to, for example, the connectivity 1321 or the like.
  • the multiplexing unit (MUX) 1412 multiplexes the video stream and the audio stream.
  • the multiplexing method (that is, the format of the bit stream generated by multiplexing) is arbitrary.
  • the multiplexing unit (MUX) 1412 can also add predetermined header information or the like to the bit stream. That is, the multiplexing unit (MUX) 1412 can convert the stream format by multiplexing. For example, the multiplexing unit (MUX) 1412 multiplexes the video stream and the audio stream to convert it into a transport stream that is a bit stream in a transfer format. Further, for example, the multiplexing unit (MUX) 1412 multiplexes the video stream and the audio stream, thereby converting the data into file format data (file data) for recording.
  • the demultiplexing unit (DMUX) 1413 demultiplexes the bit stream in which the video stream and the audio stream are multiplexed by a method corresponding to the multiplexing by the multiplexing unit (MUX) 1412. That is, the demultiplexer (DMUX) 1413 extracts the video stream and the audio stream from the bit stream read from the stream buffer 1414 (separates the video stream and the audio stream). That is, the demultiplexer (DMUX) 1413 can convert the stream format by demultiplexing (inverse conversion of the conversion by the multiplexer (MUX) 1412).
  • the demultiplexing unit (DMUX) 1413 obtains a transport stream supplied from, for example, the connectivity 1321 or the broadband modem 1333 via the stream buffer 1414 and demultiplexes the video stream and the audio stream. And can be converted to Further, for example, the demultiplexer (DMUX) 1413 obtains the file data read from various recording media by the connectivity 1321, for example, via the stream buffer 1414, and demultiplexes the video stream and the audio. Can be converted to a stream.
  • Stream buffer 1414 buffers the bit stream.
  • the stream buffer 1414 buffers the transport stream supplied from the multiplexing unit (MUX) 1412 and, for example, in the connectivity 1321 or the broadband modem 1333 at a predetermined timing or based on an external request or the like. Supply.
  • MUX multiplexing unit
  • the stream buffer 1414 buffers the file data supplied from the multiplexing unit (MUX) 1412 and supplies it to the connectivity 1321 at a predetermined timing or based on an external request, for example. It is recorded on various recording media.
  • MUX multiplexing unit
  • the stream buffer 1414 buffers a transport stream acquired through, for example, the connectivity 1321 or the broadband modem 1333, and performs a demultiplexing unit (DMUX) at a predetermined timing or based on a request from the outside. 1413.
  • DMUX demultiplexing unit
  • the stream buffer 1414 buffers file data read from various recording media in, for example, the connectivity 1321, and the demultiplexer (DMUX) 1413 at a predetermined timing or based on an external request or the like. To supply.
  • DMUX demultiplexer
  • a video signal input to the video processor 1332 from the connectivity 1321 or the like is converted into digital image data of a predetermined format such as 4: 2: 2Y / Cb / Cr format by the video input processing unit 1401 and stored in the frame memory 1405.
  • This digital image data is read by the first image enlargement / reduction unit 1402 or the second image enlargement / reduction unit 1403, and format conversion to a predetermined method such as 4: 2: 0Y / Cb / Cr method and enlargement / reduction processing are performed. Is written again in the frame memory 1405.
  • This image data is encoded by the encoding / decoding engine 1407 and written as a video stream in the video ES buffer 1408A.
  • an audio signal input from the connectivity 1321 or the like to the video processor 1332 is encoded by the audio encoder 1410 and written as an audio stream in the audio ES buffer 1409A.
  • the video stream of the video ES buffer 1408A and the audio stream of the audio ES buffer 1409A are read and multiplexed by the multiplexing unit (MUX) 1412 and converted into a transport stream, file data, or the like.
  • the transport stream generated by the multiplexing unit (MUX) 1412 is buffered in the stream buffer 1414 and then output to the external network via, for example, the connectivity 1321 or the broadband modem 1333.
  • the file data generated by the multiplexing unit (MUX) 1412 is buffered in the stream buffer 1414, and then output to, for example, the connectivity 1321 and recorded on various recording media.
  • a transport stream input from an external network to the video processor 1332 via the connectivity 1321 or the broadband modem 1333 is buffered in the stream buffer 1414 and then demultiplexed by the demultiplexer (DMUX) 1413.
  • DMUX demultiplexer
  • file data read from various recording media by the connectivity 1321 and input to the video processor 1332 is buffered by the stream buffer 1414 and then demultiplexed by the demultiplexer (DMUX) 1413. That is, the transport stream or file data input to the video processor 1332 is separated into a video stream and an audio stream by the demultiplexer (DMUX) 1413.
  • the audio stream is supplied to the audio decoder 1411 via the audio ES buffer 1409B and decoded to reproduce the audio signal.
  • the video stream is written to the video ES buffer 1408B, and then sequentially read and decoded by the encoding / decoding engine 1407, and written to the frame memory 1405.
  • the decoded image data is enlarged / reduced by the second image enlargement / reduction unit 1403 and written to the frame memory 1405.
  • the decoded image data is read out to the video output processing unit 1404, format-converted to a predetermined system such as 4: 2: 2Y / Cb / Cr system, and further converted into an analog signal to be converted into a video signal. Is played out.
  • the present technology when the present technology is applied to the video processor 1332 configured as described above, the present technology according to each embodiment described above may be applied to the encoding / decoding engine 1407. That is, for example, the encoding / decoding engine 1407 may have the functions of the image encoding device 100 and the image decoding device 200 described above. By doing so, the video processor 1332 can obtain the same effects as those of the embodiments described above with reference to FIGS.
  • the present technology (that is, the functions of the image encoding device 100 and the image decoding device 200) may be realized by hardware such as a logic circuit, or software such as an embedded program. It may be realized by wear or may be realized by both of them.
  • FIG. 79 illustrates another example of a schematic configuration of the video processor 1332 to which the present technology is applied.
  • the video processor 1332 has a function of encoding and decoding video data by a predetermined method.
  • the video processor 1332 includes a control unit 1511, a display interface 1512, a display engine 1513, an image processing engine 1514, and an internal memory 1515.
  • the video processor 1332 includes a codec engine 1516, a memory interface 1517, a multiplexing / demultiplexing unit (MUX DMUX) 1518, a network interface 1519, and a video interface 1520.
  • MUX DMUX multiplexing / demultiplexing unit
  • the control unit 1511 controls the operation of each processing unit in the video processor 1332 such as the display interface 1512, the display engine 1513, the image processing engine 1514, and the codec engine 1516.
  • the control unit 1511 includes, for example, a main CPU 1531, a sub CPU 1532, and a system controller 1533.
  • the main CPU 1531 executes a program and the like for controlling the operation of each processing unit in the video processor 1332.
  • the main CPU 1531 generates a control signal according to the program and supplies it to each processing unit (that is, controls the operation of each processing unit).
  • the sub CPU 1532 plays an auxiliary role of the main CPU 1531.
  • the sub CPU 1532 executes a child process such as a program executed by the main CPU 1531, a subroutine, or the like.
  • the system controller 1533 controls operations of the main CPU 1531 and the sub CPU 1532 such as designating a program to be executed by the main CPU 1531 and the sub CPU 1532.
  • the display interface 1512 outputs the image data to, for example, the connectivity 1321 under the control of the control unit 1511.
  • the display interface 1512 converts image data of digital data into an analog signal, and outputs it to a monitor device or the like of the connectivity 1321 as a reproduced video signal or as image data of the digital data.
  • the display engine 1513 Under the control of the control unit 1511, the display engine 1513 performs various conversion processes such as format conversion, size conversion, color gamut conversion, and the like so as to match the image data with hardware specifications such as a monitor device that displays the image. I do.
  • the image processing engine 1514 performs predetermined image processing such as filter processing for improving image quality on the image data under the control of the control unit 1511.
  • the internal memory 1515 is a memory provided in the video processor 1332 that is shared by the display engine 1513, the image processing engine 1514, and the codec engine 1516.
  • the internal memory 1515 is used, for example, for data exchange performed between the display engine 1513, the image processing engine 1514, and the codec engine 1516.
  • the internal memory 1515 stores data supplied from the display engine 1513, the image processing engine 1514, or the codec engine 1516, and stores the data as needed (eg, upon request). This is supplied to the image processing engine 1514 or the codec engine 1516.
  • the internal memory 1515 may be realized by any storage device, but is generally used for storing a small amount of data such as image data or parameters in units of blocks. It is desirable to realize a semiconductor memory having a relatively small capacity but a high response speed (for example, as compared with the external memory 1312) such as “Static Random Access Memory”.
  • the codec engine 1516 performs processing related to encoding and decoding of image data.
  • the encoding / decoding scheme supported by the codec engine 1516 is arbitrary, and the number thereof may be one or plural.
  • the codec engine 1516 may be provided with codec functions of a plurality of encoding / decoding schemes, and may be configured to perform encoding of image data or decoding of encoded data using one selected from them.
  • the codec engine 1516 includes, for example, MPEG-2 video 1541, AVC / H.2641542, HEVC / H.2651543, HEVC / H.265 (Scalable) 1544, as function blocks for processing related to the codec.
  • HEVC / H.265 (Multi-view) 1545 and MPEG-DASH 1551 are included.
  • MPEG-2 Video1541 is a functional block that encodes and decodes image data in the MPEG-2 format.
  • AVC / H.2641542 is a functional block that encodes and decodes image data using the AVC method.
  • HEVC / H.2651543 is a functional block that encodes and decodes image data using the HEVC method.
  • HEVC / H.265 (Scalable) 1544 is a functional block that performs scalable encoding and scalable decoding of image data using the HEVC method.
  • HEVC / H.265 (Multi-view) 1545 is a functional block that multi-view encodes or multi-view decodes image data using the HEVC method.
  • MPEG-DASH 1551 is a functional block that transmits and receives image data using the MPEG-DASH (MPEG-Dynamic Adaptive Streaming over HTTP) method.
  • MPEG-DASH is a technology for streaming video using HTTP (HyperText Transfer Protocol), and selects and transmits appropriate data from multiple encoded data with different resolutions prepared in advance in segments. This is one of the features.
  • MPEG-DASH 1551 generates a stream compliant with the standard, controls transmission of the stream, and the like.
  • MPEG-2 Video 1541 to HEVC / H.265 (Multi-view) 1545 described above are used. Is used.
  • the memory interface 1517 is an interface for the external memory 1312. Data supplied from the image processing engine 1514 or the codec engine 1516 is supplied to the external memory 1312 via the memory interface 1517. The data read from the external memory 1312 is supplied to the video processor 1332 (the image processing engine 1514 or the codec engine 1516) via the memory interface 1517.
  • a multiplexing / demultiplexing unit (MUX DMUX) 1518 performs multiplexing and demultiplexing of various data related to images such as a bit stream of encoded data, image data, and video signals.
  • This multiplexing / demultiplexing method is arbitrary. For example, at the time of multiplexing, the multiplexing / demultiplexing unit (MUX DMUX) 1518 can not only combine a plurality of data into one but also add predetermined header information or the like to the data. Further, in the demultiplexing, the multiplexing / demultiplexing unit (MUX DMUX) 1518 not only divides one data into a plurality of data but also adds predetermined header information or the like to each divided data. it can.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 can convert the data format by multiplexing / demultiplexing.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 multiplexes the bitstream, thereby transporting the transport stream, which is a bit stream in a transfer format, or data in a file format for recording (file data).
  • the transport stream which is a bit stream in a transfer format, or data in a file format for recording (file data).
  • file data file format for recording
  • the network interface 1519 is an interface for a broadband modem 1333, connectivity 1321, etc., for example.
  • the video interface 1520 is an interface for the connectivity 1321, the camera 1322, and the like, for example.
  • the transport stream is supplied to the multiplexing / demultiplexing unit (MUX DMUX) 1518 via the network interface 1519.
  • MUX DMUX multiplexing / demultiplexing unit
  • codec engine 1516 the image data obtained by decoding by the codec engine 1516 is subjected to predetermined image processing by the image processing engine 1514, subjected to predetermined conversion by the display engine 1513, and is connected to, for example, the connectivity 1321 through the display interface 1512. And the image is displayed on the monitor.
  • image data obtained by decoding by the codec engine 1516 is re-encoded by the codec engine 1516, multiplexed by a multiplexing / demultiplexing unit (MUX DMUX) 1518, converted into file data, and video
  • MUX DMUX multiplexing / demultiplexing unit
  • encoded data file data obtained by encoding image data read from a recording medium (not shown) by the connectivity 1321 or the like is transmitted through a video interface 1520 via a multiplexing / demultiplexing unit (MUX DMUX). ) 1518 to be demultiplexed and decoded by the codec engine 1516.
  • Image data obtained by decoding by the codec engine 1516 is subjected to predetermined image processing by the image processing engine 1514, subjected to predetermined conversion by the display engine 1513, and supplied to, for example, the connectivity 1321 through the display interface 1512. The image is displayed on the monitor.
  • image data obtained by decoding by the codec engine 1516 is re-encoded by the codec engine 1516, multiplexed by the multiplexing / demultiplexing unit (MUX DMUX) 1518, and converted into a transport stream,
  • the data is supplied to, for example, the connectivity 1321 and the broadband modem 1333 via the network interface 1519 and transmitted to another device (not shown).
  • image data and other data are exchanged between the processing units in the video processor 1332 using, for example, the internal memory 1515 or the external memory 1312.
  • the power management module 1313 controls power supply to the control unit 1511, for example.
  • the present technology when the present technology is applied to the video processor 1332 configured as described above, the present technology according to each embodiment described above may be applied to the codec engine 1516. That is, for example, the codec engine 1516 may have a functional block that realizes the image encoding device 100 and the image decoding device 200 described above. By doing so, the video processor 1332 can obtain the same effects as those of the embodiments described above with reference to FIGS.
  • the present technology (that is, the functions of the image encoding device 100 and the image decoding device 200) may be realized by hardware such as a logic circuit, or by software such as an embedded program. You may make it implement
  • the configuration of the video processor 1332 is arbitrary and may be other than the two examples described above.
  • the video processor 1332 may be configured as one semiconductor chip, but may be configured as a plurality of semiconductor chips. For example, a three-dimensional stacked LSI in which a plurality of semiconductors are stacked may be used. Further, it may be realized by a plurality of LSIs.
  • Video set 1300 can be incorporated into various devices that process image data.
  • the video set 1300 can be incorporated in the television device 900 (FIG. 73), the mobile phone 920 (FIG. 74), the recording / reproducing device 940 (FIG. 75), the imaging device 960 (FIG. 76), or the like.
  • the apparatus can obtain the same effects as those of the embodiments described above with reference to FIGS.
  • the video processor 1332 can implement as a structure to which this technique is applied.
  • the video processor 1332 can be implemented as a video processor to which the present technology is applied.
  • the processor or the video module 1311 indicated by the dotted line 1341 can be implemented as a processor or a module to which the present technology is applied.
  • the video module 1311, the external memory 1312, the power management module 1313, and the front end module 1314 can be combined and implemented as a video unit 1361 to which the present technology is applied. Regardless of the configuration, the same effects as those of the embodiments described above with reference to FIGS. 1 to 62 can be obtained.
  • any configuration including the video processor 1332 can be incorporated into various devices that process image data, as in the case of the video set 1300.
  • a video processor 1332 a processor indicated by a dotted line 1341, a video module 1311, or a video unit 1361, a television device 900 (FIG. 73), a mobile phone 920 (FIG. 74), a recording / playback device 940 (FIG. 75), It can be incorporated in an imaging device 960 (FIG. 76) or the like.
  • the apparatus obtains the same effects as those of the embodiments described above with reference to FIGS. 1 to 62 as in the case of the video set 1300. be able to.
  • the method for transmitting such information is not limited to such an example.
  • these pieces of information may be transmitted or recorded as separate data associated with the encoded bitstream without being multiplexed into the encoded bitstream.
  • the term “associate” means that an image (which may be a part of an image such as a slice or a block) included in the bitstream and information corresponding to the image can be linked at the time of decoding. Means. That is, information may be transmitted on a transmission path different from that of the image (or bit stream).
  • Information may be recorded on a recording medium (or another recording area of the same recording medium) different from the image (or bit stream). Furthermore, the information and the image (or bit stream) may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part of the frame.
  • this technique can also take the following structures.
  • an encoding unit for encoding image data Control information for controlling deblocking filter processing for color difference components of decoded image data obtained by decoding the encoded data obtained by encoding the image data by the encoding unit, header information of the encoded data
  • An image processing apparatus comprising: a control information generation unit that generates the control information as a control information generation unit.
  • the control information generation unit generates control information for controlling whether to execute a deblocking filter process on a color difference component of the decoded image data, as the control information.
  • the control information generation unit generates, as the control information, control information for controlling a filter strength of a deblocking filter process for a color difference component of the decoded image data.
  • (1) or (2) apparatus (2) apparatus.
  • the control information generation unit generates control information for controlling an offset with respect to a parameter ⁇ of the deblocking filter as control information for controlling the filter strength.
  • the control information generation unit generates control information for controlling an offset with respect to a parameter tC of the deblocking filter as control information for controlling the filter strength.
  • Control information that is a syntax element of a sequence parameter set of the header information, and controls deblocking filter processing for color difference components of a sequence corresponding to the sequence parameter set of the decoded image data.
  • Control information that is a syntax element of a picture parameter set of the header information, and controls deblocking filter processing for a color difference component of a picture corresponding to the picture parameter set of the decoded image data; It is a syntax element of a slice header of the header information, and generates at least one of control information for controlling deblocking filter processing for a color difference component of a slice corresponding to the slice header of the decoded image data.
  • the image processing apparatus further includes a filter processing unit that performs a deblocking filter process on a color difference component of the decoded image data based on the control information generated by the control information generation unit.
  • It further includes a control unit that controls the control information generation unit so that deblocking filter processing according to image characteristics of the decoded image data is performed,
  • the image processing device according to any one of (1) to (7), wherein the control information generation unit generates the control information according to control of the control unit.
  • the apparatus further includes a control unit that controls the control information generation unit so that a deblocking filter process according to a color format of the decoded image data is performed.
  • the image processing device according to any one of (1) to (8), wherein the control information generation unit generates the control information according to control of the control unit.
  • (10) Encode the image data, Image processing for generating control information for controlling deblocking filter processing for color difference components of decoded image data obtained by decoding encoded data obtained by encoding the image data as header information of the encoded data Method.
  • (11) a decoding unit that decodes encoded data of image data; Based on the control information for controlling the deblocking filter processing for the color difference component of the decoded image data obtained by decoding the encoded data by the decoding unit in the header information of the encoded data, the color difference of the decoded image data
  • An image processing apparatus comprising: a filter processing unit that performs deblocking filter processing on components.
  • control information is control information for controlling whether to execute a deblocking filter process on a color difference component of the decoded image data.
  • control information is control information for controlling a filter strength of a deblocking filter process for a color difference component of the decoded image data.
  • control information for controlling the filter strength is control information for controlling an offset with respect to a parameter ⁇ of the deblocking filter.
  • control information for controlling the filter strength is control information for controlling an offset with respect to a parameter tC of the deblocking filter.
  • the control information is: Control information that is a syntax element of a sequence parameter set of the header information, and controls deblocking filter processing for color difference components of a sequence corresponding to the sequence parameter set of the decoded image data.
  • Control information that is a syntax element of a picture parameter set of the header information, and controls deblocking filter processing for a color difference component of a picture corresponding to the picture parameter set of the decoded image data;
  • a syntax element of a slice header of the header information including at least one of control information for controlling a deblocking filter process for a color difference component of a slice corresponding to the slice header of the decoded image data,
  • the image processing device according to any one of (11) to (15), wherein the filter processing unit performs a deblocking filter process on a color difference component of the decoded image data based on any information included in the control information.
  • the image processing device according to (16), wherein the filter processing unit preferentially uses the control information of the slice header, the control information of the picture parameter set, and the control information of the sequence parameter set. .
  • the filter processing unit is configured to control the control information of the picture parameter set and the control information of the slice header based on information indicating whether control information for controlling deblocking filter processing on the decoded image data exists.
  • the image processing apparatus according to (16) or (17).
  • the image processing apparatus according to any one of (16) to (18), which is used by referring to the control information.

Landscapes

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

Abstract

 本開示は、画質の低減を抑制することができるようにする画像処理装置および方法に関する。 画像データを符号化し、その画像データが符号化されて得られた符号化データを復号して得られる復号画像データの色差成分に対するデブロッキングフィルタ処理を制御する制御情報を、その符号化データのヘッダ情報として生成するようにする。本開示は、例えば、画像処理装置等に適用することができる。

Description

画像処理装置および方法
 本開示は、画像処理装置および方法に関し、特に、画質の低減を抑制することができるようにした画像処理装置および方法に関する。
 動画像符号化効率の向上を目的として、HEVC(High Efficiency Video Coding)と呼ばれる符号化方式の標準化が進められておりバージョン1(version 1)の策定は既に完了している(例えば、非特許文献1参照)。
 そのバージョン1において、デブロッキングフィルタは、YUV4:2:0の自然画像用に開発された。このデブロッキングフィルタの制御には、フィルタの実行制御(実行するか否か)とフィルタ強度の制御(強度をどの程度にするか)とがあるが、バージョン1では、いずれの制御も、輝度成分(ルマ(Luma)とも称する)と色差成分(クロマ(Chroma)とも称する)とで共通の制御として行われる(ルマに対するデブロッキングフィルタとクロマに対するデブロッキングフィルタがまとめて(互いに同様に)制御される)。
Benjamin Bross, Gary J. Sullivan, Ye-Kui Wang, "Editors' proposed corrections to HEVC version 1", JCTVC-M0432_v3, 2013/4/25
 このバージョン1のデブロッキングフィルタのフィルタ強度は、符号化モードやデコード画素値から自動で決定されるが、このフィルタ強度を決定するアルゴリズムは、自然画像に対して適切となるように調整されており、コンピュータ画面やCG画像のようなスクリーンコンテント(Screen Content)には対応していなかった。そのため、スクリーンコンテントの画像に対してバージョン1のデブロッキングフィルタを行うと、色差成分(クロマ)に対するフィルタ強度が強すぎて文字潰れ等が生じる(すなわち、画質が低減する)おそれがあった。
 上述したようにバージョン1のデブロッキングフィルタの制御は、輝度成分(ルマ)と色差成分(クロマ)とで共通の制御が行われるため、色差成分(クロマ)に対するフィルタ強度のみを抑制することが困難であり(色差成分(クロマ)に対するデブロッキングフィルタ制御が、輝度成分(ルマ)に対するデブロッキングフィルタにも影響してしまうため)、スクリーンコンテントの画像に対するデブロッキングフィルタを十分に適切化する(画質の低減が十分に抑制されるようにする)ことが困難であった。
 本開示は、このような状況に鑑みてなされたものであり、画質の低減を抑制することができるようにするものである。
 本技術の一側面は、画像データを符号化する符号化部と、前記符号化部により前記画像データが符号化されて得られた符号化データを復号して得られる復号画像データの色差成分に対するデブロッキングフィルタ処理を制御する制御情報を、前記符号化データのヘッダ情報として生成する制御情報生成部とを備える画像処理装置である。
 前記制御情報生成部は、前記制御情報として、前記復号画像データの色差成分に対するデブロッキングフィルタ処理を実行するかを制御する制御情報を生成することができる。
 前記制御情報生成部は、前記制御情報として、前記復号画像データの色差成分に対するデブロッキングフィルタ処理のフィルタ強度を制御する制御情報を生成することができる。
 前記制御情報生成部は、前記フィルタ強度を制御する制御情報として、デブロッキングフィルタのパラメータβに対するオフセットを制御する制御情報を生成することができる。
 前記制御情報生成部は、前記フィルタ強度を制御する制御情報として、デブロッキングフィルタのパラメータtCに対するオフセットを制御する制御情報を生成することができる。
 前記制御情報生成部は、前記ヘッダ情報のシーケンスパラメータセットのシンタクス要素であり、前記復号画像データの前記シーケンスパラメータセットに対応するシーケンスの色差成分に対するデブロッキングフィルタ処理を制御する制御情報、前記ヘッダ情報のピクチャパラメータセットのシンタクス要素であり、前記復号画像データの前記ピクチャパラメータセットに対応するピクチャの色差成分に対するデブロッキングフィルタ処理を制御する制御情報、前記ヘッダ情報のスライスヘッダのシンタクス要素であり、前記復号画像データの前記スライスヘッダに対応するスライスの色差成分に対するデブロッキングフィルタ処理を制御する制御情報の内、少なくともいずれか1つを生成することができる。
 前記制御情報生成部により生成された前記制御情報に基づいて、前記復号画像データの色差成分に対するデブロッキングフィルタ処理を行うフィルタ処理部をさらに備えることができる。
 前記復号画像データの画像の特性に応じたデブロッキングフィルタ処理が行われるように、前記制御情報生成部を制御する制御部をさらに備え、前記制御情報生成部は、前記制御部の制御に従って前記制御情報を生成することができる。
 前記復号画像データの色フォーマットに応じたデブロッキングフィルタ処理が行われるように、前記制御情報生成部を制御する制御部をさらに備え、前記制御情報生成部は、前記制御部の制御に従って前記制御情報を生成することができる。
 本技術の一側面は、また、画像データを符号化し、前記画像データが符号化されて得られた符号化データを復号して得られる復号画像データの色差成分に対するデブロッキングフィルタ処理を制御する制御情報を、前記符号化データのヘッダ情報として生成する画像処理方法である。
 本技術の他の側面は、画像データの符号化データを復号する復号部と、前記符号化データのヘッダ情報の、前記復号部により前記符号化データが復号されて得られた復号画像データの色差成分に対するデブロッキングフィルタ処理を制御する制御情報に基づいて、前記復号画像データの色差成分に対するデブロッキングフィルタ処理を行うフィルタ処理部とを備える画像処理装置である。
 前記制御情報は、前記復号画像データの色差成分に対するデブロッキングフィルタ処理を実行するかを制御する制御情報であるようにすることができる。
 前記制御情報は、前記復号画像データの色差成分に対するデブロッキングフィルタ処理のフィルタ強度を制御する制御情報であるようにすることができる。
 前記フィルタ強度を制御する制御情報は、デブロッキングフィルタのパラメータβに対するオフセットを制御する制御情報であるようにすることができる。
 前記フィルタ強度を制御する制御情報は、デブロッキングフィルタのパラメータtCに対するオフセットを制御する制御情報であるようにすることができる。
 前記制御情報は、前記ヘッダ情報のシーケンスパラメータセットのシンタクス要素であり、前記復号画像データの前記シーケンスパラメータセットに対応するシーケンスの色差成分に対するデブロッキングフィルタ処理を制御する制御情報、前記ヘッダ情報のピクチャパラメータセットのシンタクス要素であり、前記復号画像データの前記ピクチャパラメータセットに対応するピクチャの色差成分に対するデブロッキングフィルタ処理を制御する制御情報、前記ヘッダ情報のスライスヘッダのシンタクス要素であり、前記復号画像データの前記スライスヘッダに対応するスライスの色差成分に対するデブロッキングフィルタ処理を制御する制御情報の内、少なくともいずれか1つを含み、前記フィルタ処理部は、前記制御情報に含まれるいずれかの情報に基づいて、前記復号画像データの色差成分に対するデブロッキングフィルタ処理を行うことができる。
 前記フィルタ処理部は、前記スライスヘッダの前記制御情報、前記ピクチャパラメータセットの前記制御情報、前記シーケンスパラメータセットの前記制御情報の順に優先して利用することができる。
 前記フィルタ処理部は、前記復号画像データに対するデブロッキングフィルタ処理を制御する制御情報が存在するかを示す情報に基づいて、前記ピクチャパラメータセットの前記制御情報と前記スライスヘッダの前記制御情報とを参照し、利用することができる。
 前記フィルタ処理部は、前記復号画像データの色差成分に対するデブロッキングフィルタ処理を制御する制御情報が存在するかを示す情報に基づいて、前記ピクチャパラメータセットの前記制御情報と前記スライスヘッダの前記制御情報とを参照し、利用することができる。
 本技術の他の側面は、また、画像データの符号化データを復号し、前記符号化データのヘッダ情報の、前記符号化データが復号されて得られた復号画像データの色差成分に対するデブロッキングフィルタ処理を制御する制御情報に基づいて、前記復号画像データの色差成分に対するデブロッキングフィルタ処理を行う画像処理方法である。
 本技術の一側面においては、画像データが符号化され、その画像データが符号化されて得られた符号化データを復号して得られる復号画像データの色差成分に対するデブロッキングフィルタ処理を制御する制御情報が、その符号化データのヘッダ情報として生成される。
 本技術の他の側面においては、画像データの符号化データが復号され、その符号化データのヘッダ情報の、その符号化データが復号されて得られた復号画像データの色差成分に対するデブロッキングフィルタ処理を制御する制御情報に基づいて、復号画像データの色差成分に対するデブロッキングフィルタ処理が行われる。
 本開示によれば、画像データを符号化したり、画像データの符号化データを復号したりすることができる。特に、画質の低減を抑制することができる。
コーディングユニットの構成例を説明する図である。 ピクチャパラメータセットのデブロッキングフィルタの制御に関するシンタクスの例を示す図である。 スライスヘッダのデブロッキングフィルタの制御に関するシンタクスの例を示す図である。 シーケンスパラメータセットの拡張シンタクスの例を示す図である。 ピクチャパラメータセットの拡張シンタクスの例を示す図である。 スライスヘッダの拡張シンタクスの例を示す図である。 パラメータの優先順の例を示す図である。 画像復号装置の主な構成例を示すブロック図である。 ヘッダ情報生成部の主な構成例を示すブロック図である。 ループフィルタの主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 ヘッダ情報生成処理の流れの例を説明するフローチャートである。 ループフィルタ処理の流れの例を説明するフローチャートである。 画像復号装置の主な構成例を示すブロック図である。 ループフィルタの主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 ピクチャパラメータセットの拡張シンタクスの例を示す図である。 スライスヘッダの拡張シンタクスの例を示す図である。 ヘッダ情報生成処理の流れの例を説明するフローチャートである。 ループフィルタの主な構成例を示すブロック図である。 ピクチャパラメータセットの拡張シンタクスの例を示す図である。 スライスヘッダの拡張シンタクスの例を示す図である。 ヘッダ情報生成部の主な構成例を示すブロック図である。 ヘッダ情報生成処理の流れの例を説明するフローチャートである。 ループフィルタの主な構成例を示すブロック図である。 ピクチャパラメータセットの拡張シンタクスの例を示す図である。 スライスヘッダの拡張シンタクスの例を示す図である。 ヘッダ情報生成処理の流れの例を説明するフローチャートである。 ヘッダ情報生成処理の流れの例を説明する、図28に続くフローチャートである。 ループフィルタの主な構成例を示すブロック図である。 ピクチャパラメータセットの拡張シンタクスの例を示す図である。 スライスヘッダの拡張シンタクスの例を示す図である。 パラメータの優先順の例を示す図である。 ヘッダ情報生成部の主な構成例を示すブロック図である。 ヘッダ情報生成処理の流れの例を説明するフローチャートである。 ループフィルタの主な構成例を示すブロック図である。 ピクチャパラメータセットの拡張シンタクスの例を示す図である。 スライスヘッダの拡張シンタクスの例を示す図である。 ヘッダ情報生成部の主な構成例を示すブロック図である。 ヘッダ情報生成処理の流れの例を説明するフローチャートである。 ループフィルタの主な構成例を示すブロック図である。 ピクチャパラメータセットの拡張シンタクスの例を示す図である。 スライスヘッダの拡張シンタクスの例を示す図である。 ヘッダ情報生成部の主な構成例を示すブロック図である。 ヘッダ情報生成処理の流れの例を説明するフローチャートである。 ヘッダ情報生成処理の流れの例を説明する、図45に続くフローチャートである。 ループフィルタの主な構成例を示すブロック図である。 ピクチャパラメータセットの拡張シンタクスの例を示す図である。 スライスヘッダの拡張シンタクスの例を示す図である。 ヘッダ情報生成処理の流れの例を説明するフローチャートである。 ループフィルタの主な構成例を示すブロック図である。 ピクチャパラメータセットの拡張シンタクスの例を示す図である。 スライスヘッダの拡張シンタクスの例を示す図である。 ヘッダ情報生成処理の流れの例を説明するフローチャートである。 ヘッダ情報生成処理の流れの例を説明する、図54に続くフローチャートである。 ループフィルタの主な構成例を示すブロック図である。 コンピュータの表示画面の主な構成例を示すブロック図である。 デブロッキングフィルタ制御処理の流れの例を説明するフローチャートである。 パラメータ設定処理の流れの例を説明するフローチャートである。 符号化される画像データの色フォーマットの例を示すブロック図である。 デブロッキングフィルタ制御処理の流れの例を説明するフローチャートである。 パラメータ設定処理の流れの例を説明するフローチャートである。 多視点画像符号化方式の例を示す図である。 本技術を適用した多視点画像符号化装置の主な構成例を示す図である。 本技術を適用した多視点画像復号装置の主な構成例を示す図である。 階層画像符号化方式の例を示す図である。 スペーシャルなスケーラブル符号化の例を説明する図である。 テンポラルなスケーラブル符号化の例を説明する図である。 信号雑音比のスケーラブル符号化の例を説明する図である。 本技術を適用した階層画像符号化装置の主な構成例を示す図である。 本技術を適用した階層画像復号装置の主な構成例を示す図である。 コンピュータの主な構成例を示すブロック図である。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。 ビデオセットの概略的な構成の一例を示すブロック図である。 ビデオプロセッサの概略的な構成の一例を示すブロック図である。 ビデオプロセッサの概略的な構成の他の例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.第1の実施の形態(画像符号化装置・画像復号装置)
 2.第2の実施の形態(画像符号化装置・画像復号装置)
 3.第3の実施の形態(画像符号化装置・画像復号装置)
 4.第4の実施の形態(画像符号化装置・画像復号装置)
 5.第5の実施の形態(画像符号化装置・画像復号装置)
 6.第6の実施の形態(画像符号化装置・画像復号装置)
 7.第7の実施の形態(画像符号化装置・画像復号装置)
 8.第8の実施の形態(画像符号化装置・画像復号装置)
 9.第9の実施の形態(画像符号化装置・画像復号装置)
 10.第10の実施の形態(画像符号化装置)
 11.第11の実施の形態(画像符号化装置)
 12.第12の実施の形態(多視点画像符号化装置・多視点画像復号装置)
 13.第13の実施の形態(階層画像符号化装置・階層画像復号装置)
 14.第14の実施の形態(コンピュータ)
 15.第15の実施の形態(応用例)
 16.第16の実施の形態(セット・ユニット・モジュール・プロセッサ)
 <1.第1の実施の形態>
  <画像符号化の標準化の流れ>
 近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮する符号化方式を採用して画像を圧縮符号する装置が普及しつつある。この符号化方式には、例えば、MPEG(Moving Picture Experts Group)などがある。
 特に、MPEG2(ISO/IEC 13818-2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準である。例えば、MPEG2は、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば720x480画素を持つ標準解像度の飛び越し走査画像であれば4乃至8Mbpsの符号量(ビットレート)を割り当てることができる。また、MPEG2圧縮方式を用いることにより、例えば1920x1088画素を持つ高解像度の飛び越し走査画像であれば18乃至22 Mbpsの符号量(ビットレート)を割り当てることができる。これにより、高い圧縮率と良好な画質の実現が可能である。
 MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量(ビットレート)、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC 14496-2としてその規格が国際標準に承認された。
 更に、近年、当初テレビ会議用の画像符号化を目的として、H.26L (ITU-T(International Telecommunication Union Telecommunication Standardization Sector) Q6/16 VCEG(Video Coding Expert Group))という標準の規格化が進められた。H.26LはMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、MPEG4の活動の一環として、このH.26Lをベースに、H.26Lではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われた。
 標準化のスケジュールとしては、2003年3月にはH.264及びMPEG-4 Part10 (Advanced Video Coding、以下AVCと記す)という名の元に国際標準となった。
 さらに、このH.264/AVCの拡張として、RGBや4:2:2、4:4:4といった、業務用に必要な符号化ツールや、MPEG-2で規定されていた8x8DCTや量子化マトリクスをも含んだFRExt (Fidelity Range Extension) の標準化が2005年2月に完了した。これにより、H.264/AVCを用いて、映画に含まれるフィルムノイズをも良好に表現することが可能な符号化方式となって、Blu-Ray Disc(商標)等の幅広いアプリケーションに用いられる運びとなった。
 しかしながら、昨今、ハイビジョン画像の4倍の、4000x2000画素程度の画像を圧縮したい、あるいは、インターネットのような、限られた伝送容量の環境において、ハイビジョン画像を配信したいといった、更なる高圧縮率符号化に対するニーズが高まっている。このため、先述の、ITU-T傘下のVCEGにおいて、符号化効率の改善に関する検討が継続され行なわれている。
 そこで、現在、AVCより更なる符号化効率の向上を目的として、ITU-Tと、ISO/IEC(International Organization for Standardization / International Electrotechnical Commission)の共同の標準化団体であるJCTVC(Joint Collaboration Team - Video Coding)により、HEVC(High Efficiency Video Coding)と呼ばれる符号化方式の標準化が進められており、バージョン1(version 1)の策定は既に完了している(例えば、非特許文献1参照)。
  <符号化方式>
 以下においては、HEVC(High Efficiency Video Coding)方式の画像符号化・復号に適用する場合を例に、本技術を説明する。
  <コーディングユニット>
 AVC(Advanced Video Coding)方式においては、マクロブロックとサブマクロブロックによる階層構造が規定されている。しかしながら、16x16画素のマクロブロックでは、次世代符号化方式の対象となるような、UHD(Ultra High Definition;4000画素x2000画素)といった大きな画枠に対して最適ではない。
 これに対して、HEVC方式においては、図1に示されるように、コーディングユニット(CU(Coding Unit))が規定されている。
 CUは、Coding Tree Block(CTB)とも呼ばれ、AVC方式におけるマクロブロックと同様の役割を果たす、ピクチャ単位の画像の部分領域である。後者は、16x16画素の大きさに固定されているのに対し、前者の大きさは固定されておらず、それぞれのシーケンスにおいて、画像圧縮情報中において指定されることになる。
 例えば、出力となる符号化データに含まれるシーケンスパラメータセット(SPS(Sequence Parameter Set))において、CUの最大サイズ(LCU(Largest Coding Unit))と最小サイズ(SCU(Smallest Coding Unit))が規定される。
 それぞれのLCU内においては、SCUのサイズを下回らない範囲で、split-flag=1とすることにより、より小さなサイズのCUに分割することができる。図1の例では、LCUの大きさが128であり、最大階層深度が5となる。2Nx2Nの大きさのCUは、split_flagの値が「1」である時、1つ下の階層となる、NxNの大きさのCUに分割される。
 更に、CUは、イントラ若しくはインター予測の処理単位となる領域(ピクチャ単位の画像の部分領域)であるプレディクションユニット(Prediction Unit(PU))に分割され、また、直交変換の処理単位となる領域(ピクチャ単位の画像の部分領域)である、トランスフォームユニット(Transform Unit(TU))に分割される。現在、HEVC方式においては、4x4及び8x8に加え、16x16及び32x32直交変換を用いることが可能である。
 以上のHEVC方式のように、CUを定義し、そのCUを単位として各種処理を行うような符号化方式の場合、AVC方式におけるマクロブロックはLCUに相当し、ブロック(サブブロック)はCUに相当すると考えることができる。また、AVC方式における動き補償ブロックは、PUに相当すると考えることができる。ただし、CUは、階層構造を有するので、その最上位階層のLCUのサイズは、例えば128x128画素のように、AVC方式のマクロブロックより大きく設定されることが一般的である。
 よって、以下、LCUは、AVC方式におけるマクロブロックをも含むものとし、CUは、AVC方式におけるブロック(サブブロック)をも含むものとする。つまり、以下の説明に用いる「ブロック」は、ピクチャ内の任意の部分領域を示し、その大きさ、形状、および特性等は限定されない。つまり、「ブロック」には、例えば、TU、PU、SCU、CU、LCU、サブブロック、マクロブロック、またはスライス等任意の領域(処理単位)が含まれる。もちろん、これら以外の部分領域(処理単位)も含まれる。サイズや処理単位等を限定する必要がある場合は、適宜説明する。
 また、本明細書において、CTU(Coding Tree Unit)は、LCU(最大数のCU)のCTB(Coding Tree Block)と、そのLCUベース(レベル)で処理するときのパラメータを含む単位であるとする。また、CTUを構成するCU(Coding Unit)は、CB(Coding Block)と、そのCUベース(レベル)で処理するときのパラメータを含む単位であるとする。
  <デブロッキングフィルタによる画質劣化>
 ところでHEVCのバージョン1においては、デブロッキングフィルタは、YUV4:2:0の自然画像用に開発された。このデブロッキングフィルタの制御には、フィルタの実行制御(実行するか否か)とフィルタ強度の制御(強度をどの程度にするか)とがあるが、バージョン1では、いずれの制御も、輝度成分(ルマ(Luma)とも称する)と色差成分(クロマ(Chroma)とも称する)とで共通の制御として行われる(ルマに対するデブロッキングフィルタとクロマに対するデブロッキングフィルタがまとめて(互いに同様に)制御される)。
 図2に示されるように、バージョン1のピクチャパラメータセット(PPS(Picture Parameter Set))においては、デブロッキングフィルタの制御に関して、deblocking_filter_control_present_flag、deblocking_filter_override_enabled_flag、pps_deblocking_filter_disabeld_flag、pps_beta_offset_div2、pps_tc_offset_div2等のシンタクス要素が適宜設定される。
 deblocking_filter_control_present_flagは、デブロッキングフィルタを制御するシンタクス要素が、当該ピクチャパラメータセットに存在するか否かを示すフラグである。例えば、deblocking_filter_control_present_flagの値が「1」の場合、当該ピクチャパラメータセットにそのようなシンタクス要素が存在する。また、例えば、deblocking_filter_control_present_flagの値が「0」の場合、当該ピクチャパラメータセットにそのようなシンタクス要素が存在しない。
 deblocking_filter_override_enabled_flagは、当該ピクチャに属するスライスのスライスヘッダの中にdeblocking_filter_override_flagが存在するか否かを示すフラグである。例えば、deblocking_filter_override_enabled_flagの値が「1」の場合、当該ピクチャに属するスライスのスライスヘッダにdeblocking_filter_override_flagが存在する。また、例えば、deblocking_filter_override_enabled_flagの値が「0」の場合、当該ピクチャに属するスライスのスライスヘッダにdeblocking_filter_override_flagが存在しない。
 pps_deblocking_filter_disabeld_flagは、当該ピクチャに属するスライスの内、slice_deblocking_filter_disabled_flagが定義されていないスライスに対するデブロッキングフィルタの適用可否(すなわちデブロッキングフィルタ処理を実行するか否か)を示すフラグである。例えば、pps_deblocking_filter_disabeld_flagの値が「1」の場合、そのスライスに対してデブロッキングフィルタが適用されない。また、例えば、pps_deblocking_filter_disabeld_flagの値が「0」の場合、そのスライスに対してデブロッキングフィルタが適用される。
 pps_beta_offset_div2は、その値を2倍した値が、当該ピクチャに属するスライスの内、slice_deblocking_filter_disabled_flagが定義されていないスライスに対して行われるデブロッキングフィルタのパラメータβの初期オフセットを示す。pps_tc_offset_div2は、その値を2倍した値が、当該ピクチャに属するスライスの内、slice_deblocking_filter_disabled_flagが定義されていないスライスに対して行われるデブロッキングフィルタのパラメータtCの初期オフセットを示す。つまり、これらは、フィルタ強度(強度をどの程度にするか)を制御するシンタクス要素である。
 また、図3に示されるように、バージョン1のスライスヘッダ(SH(Slice Header))においては、デブロッキングフィルタの制御に関して、deblocking_filter_override_flag、slice_deblocking_filter_disabeld_flag、slice_beta_offset_div2、slice_tc_offset_div2等のシンタクス要素が適宜設定される。
 deblocking_filter_override_flagは、デブロッキングフィルタを制御するシンタクス要素が、当該スライスヘッダに存在するか否かを示すフラグである。例えば、deblocking_filter_override_flagの値が「1」の場合、当該スライスヘッダにそのようなシンタクス要素が存在する。また、例えば、deblocking_filter_override_flagの値が「0」の場合、当該スライスヘッダにそのようなシンタクス要素が存在しない。
 slice_deblocking_filter_disabeld_flagは、当該スライスに対するデブロッキングフィルタの適用可否(すなわちデブロッキングフィルタ処理を実行するか否か)を示すフラグである。例えば、slice_deblocking_filter_disabeld_flagの値が「1」の場合、当該スライスに対してデブロッキングフィルタが適用されない。また、例えば、slice_deblocking_filter_disabeld_flagの値が「0」の場合、当該スライスに対してデブロッキングフィルタが適用される。
 slice_beta_offset_div2は、その値を2倍した値が、当該スライスに対して行われるデブロッキングフィルタのパラメータβの初期オフセットを示す。slice_tc_offset_div2は、その値を2倍した値が、当該スライスに対して行われるデブロッキングフィルタのパラメータtCの初期オフセットを示す。つまり、これらは、フィルタ強度(強度をどの程度にするか)を制御するシンタクス要素である。
 このバージョン1のデブロッキングフィルタのフィルタ強度は、符号化モードやデコード画素値から自動で決定されるが、このフィルタ強度を決定するアルゴリズムは、自然画像に対して適切となるように調整されており、コンピュータ画面やCG画像のようなスクリーンコンテント(Screen Content)には対応していなかった。そのため、スクリーンコンテントの画像に対してバージョン1のデブロッキングフィルタを行うと、色差成分(クロマ)に対するフィルタ強度が強すぎて文字潰れ等が生じる等、画質が低減するおそれがあった。
 上述したようにバージョン1のデブロッキングフィルタの制御は、輝度成分(ルマ)と色差成分(クロマ)とで共通の制御が行われるため、色差成分(クロマ)に対するフィルタ強度のみを抑制することが困難であり(色差成分(クロマ)に対するデブロッキングフィルタ制御が、輝度成分(ルマ)に対するデブロッキングフィルタにも影響してしまうため)、スクリーンコンテントの画像に対するデブロッキングフィルタを十分に適切化する(画質の低減が十分に抑制されるようにする)ことが困難であった。
  <色差成分に対するデブロッキングフィルタの実行制御>
 そこで、画像データの色差成分(クロマ)に対するデブロッキングフィルタ処理を制御する制御情報を生成し、画像データの符号化データのヘッダ情報とするようにする。例えば、HEVCの符号化においては、符号化対象の画像データが符号化された符号化データが復号され、得られた復号画像データに対してデブロッキングフィルタ処理が行われる。また、HEVCの復号においても、画像データの符号化データが復号され、得られた復号画像データに対してデブロッキングフィルタ処理が行われる。これらのデブロッキングフィルタについて、復号画像データのクロマに対する処理のみを制御する制御情報をヘッダ情報に含めるようにし、符号化や復号の際のデブロッキングフィルタがその制御情報に基づいて行われるようにする。
 このようにすることにより、クロマに対するデブロッキングフィルタ処理を、輝度成分(ルマ)に対するデブロッキングフィルタ処理から独立して制御することができる。例えば、ルマに対してはデブロッキングフィルタ処理を実行させてクロマに対してはデブロッキングフィルタ処理を実行させなかったりすることができる。また、例えば、ルマに対するフィルタ強度を変えずにクロマに対するフィルタ強度を抑制することもできる。したがって、例えばスクリーンコンテントの文字潰れを抑制する等、自然画像に対してだけでなく、スクリーンコンテントの画像に対してもより適切なデブロッキングフィルタ処理を行うことができるようになる。つまり、本技術を適用することにより、画質の低減を抑制することができる。
 より具体的な例を説明する。HEVCにおいては符号化データのヘッダ情報として、例えば、シーケンスパラメータセット(SPS(Sequence Parameter Set))、ピクチャパラメータセット、スライスヘッダ等が生成される。図4に示されるように、例えばシーケンスパラメータセットにおいて、クロマに対するデブロッキングフィルタ処理を制御する制御情報を、拡張シンタクスとして設定するようにしてもよい。図4の例の場合、その制御情報としてsps_chroma_deblocking_filter_disabled_flagが設定されている。
 sps_chroma_deblocking_filter_disabled_flagは、当該シーケンスに属するスライスの内、後述するpps_chroma_deblocking_filter_disabled_flagや、slice_chroma_deblocking_filter_disabled_flagが定義されていないスライスのクロマに対するデブロッキングフィルタの適用可否を示すフラグである。つまり、このシンタクス要素sps_chroma_deblocking_filter_disabeld_flagは、クロマに対するデブロッキングフィルタ処理を実行するか否かを制御する制御情報である。例えば、sps_chroma_deblocking_filter_disabeld_flagの値が真(例えば「1」)の場合、そのスライスのクロマに対してデブロッキングフィルタが適用されない。また、例えば、sps_chroma_deblocking_filter_disabeld_flagの値が偽(例えば「0」)の場合、そのスライスのクロマに対してデブロッキングフィルタが適用される。
 また、図5に示されるように、例えばピクチャパラメータセットにおいて、クロマに対するデブロッキングフィルタ処理を制御する制御情報を拡張シンタクスとして設定するようにしてもよい。図5の例の場合、その制御情報としてpps_chroma_deblocking_filter_disabled_flagが設定されている。
 pps_chroma_deblocking_filter_disabled_flagは、当該ピクチャに属するスライスの内、後述するslice_chroma_deblocking_filter_disabled_flagが定義されていないスライスのクロマに対するデブロッキングフィルタの適用可否を示すフラグである。つまり、このシンタクス要素pps_chroma_deblocking_filter_disabeld_flagは、クロマに対するデブロッキングフィルタ処理を実行するか否かを制御する制御情報である。例えば、pps_chroma_deblocking_filter_disabeld_flagの値が真(例えば「1」)の場合、そのスライスのクロマに対してデブロッキングフィルタが適用されない。また、例えば、pps_chroma_deblocking_filter_disabeld_flagの値が偽(例えば「0」)の場合、そのスライスのクロマに対してデブロッキングフィルタが適用される。
 また、図6に示されるように、例えばスライスヘッダにおいて、クロマに対するデブロッキングフィルタ処理を制御する制御情報を、拡張シンタクスとして設定するようにしてもよい。図6の例の場合、その制御情報としてslice_chroma_deblocking_filter_disabled_flagが設定されている。
 slice_chroma_deblocking_filter_disabled_flagは、当該スライスのクロマに対するデブロッキングフィルタの適用可否を示すフラグである。つまり、このシンタクス要素slice_chroma_deblocking_filter_disabeld_flagは、クロマに対するデブロッキングフィルタ処理を実行するか否かを制御する制御情報である。例えば、slice_chroma_deblocking_filter_disabeld_flagの値が真(例えば「1」)の場合、そのスライスのクロマに対してデブロッキングフィルタが適用されない。また、例えば、slice_chroma_deblocking_filter_disabeld_flagの値が偽(例えば「0」)の場合、そのスライスのクロマに対してデブロッキングフィルタが適用される。
 つまり、図7に示されるように、シーケンスパラメータセットにおいてsps_chroma_deblocking_filter_disabeld_flagが設定される場合、その値が、クロマに対するデブロッキングフィルタの実行を制御する制御値として設定され、さらにピクチャパラメータセットにおいてpps_chroma_deblocking_filter_disabeld_flagが設定される場合、その値が制御値に上書きされ、さらにスライスヘッダにおいてslice_chroma_deblocking_filter_disabeld_flagが設定される場合、その値が制御値に上書きされる。クロマに対するデブロッキングフィルタ処理の実行は、最終的に設定された制御値(つまり最下層の制御情報)に基づいて制御される。
 なお、ルマに対するデブロッキングフィルタ処理は、HEVCのバージョン1の場合と同様、deblocking_filter_control_present_flag、deblocking_filter_override_enabled_flag、pps_deblocking_filter_disabeld_flag、pps_beta_offset_div2、pps_tc_offset_div2、deblocking_filter_override_flag、slice_deblocking_filter_disabeld_flag、slice_beta_offset_div2、slice_tc_offset_div2等のシンタクス要素により制御される。
 このようにすることにより、クロマに対するデブロッキングフィルタ処理を、ルマに対するデブロッキングフィルタ処理から独立して制御することができ、画質の低減を抑制することができる。なお、上述したようにクロマに対するデブロッキングフィルタ処理を制御する制御情報を拡張シンタクスとして設定するようにすることにより、本技術に非対応のエンコーダやデコーダが本技術のシンタクス要素を読み飛ばすことができ、本技術を適用することはできないが符号化や復号を正しく行うことができる。
  <画像符号化装置>
 図8は、本技術を適用した画像処理装置の一態様である画像符号化装置の構成の一例を示すブロック図である。図8に示される画像符号化装置100は、例えば、HEVCの予測処理、またはそれに準ずる方式の予測処理を用いて動画像の画像データを符号化する。
 図8に示されるように画像符号化装置100は、画面並べ替えバッファ111、演算部112、直交変換部113、量子化部114、可逆符号化部115、蓄積バッファ116、逆量子化部117、および逆直交変換部118を有する。また、画像符号化装置100は、演算部119、ループフィルタ120、フレームメモリ121、イントラ予測部122、インター予測部123、予測画像選択部124、およびレート制御部125を有する。さらに、画像符号化装置100は、ヘッダ情報生成部131を有する。
 画面並べ替えバッファ111は、入力された画像データの各フレームの画像をその表示順に記憶し、記憶した表示の順番のフレームの画像を、GOP(Group Of Picture)に応じて、符号化のためのフレームの順番に並べ替え、フレームの順番を並び替えた画像を、演算部112に供給する。また、画面並べ替えバッファ111は、フレームの順番を並び替えた画像を、イントラ予測部122およびインター予測部123にも供給する。さらに、画面並べ替えバッファ111は、その画像をヘッダ情報生成部131にも供給することができる。
 演算部112は、画面並べ替えバッファ111から読み出された画像から、予測画像選択部124を介してイントラ予測部122若しくはインター予測部123から供給される予測画像を減算し、その差分情報(残差データ)を直交変換部113に供給する。例えば、イントラ符号化が行われる画像の場合、演算部112は、画面並べ替えバッファ111から読み出された画像から、イントラ予測部122から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部112は、画面並べ替えバッファ111から読み出された画像から、インター予測部123から供給される予測画像を減算する。
 直交変換部113は、演算部112から供給される残差データに対して、離散コサイン変換やカルーネン・レーベ変換等の直交変換を施す。直交変換部113は、その直交変換により得られた変換係数を量子化部114に供給する。
 量子化部114は、直交変換部113から供給される変換係数を量子化する。量子化部114は、レート制御部125から供給される符号量の目標値に関する情報に基づいて量子化パラメータを設定し、その量子化を行う。量子化部114は、量子化された変換係数を可逆符号化部115に供給する。
 可逆符号化部115は、量子化部114において量子化された変換係数を任意の符号化方式で符号化し、符号化データ(符号化ストリームとも称する)を生成する。また、可逆符号化部115は、ヘッダ情報生成部131から、例えばシーケンスパラメータセット、ピクチャパラメータセット、スライスヘッダ等のヘッダ情報を取得し、それらを符号化データのヘッダ情報とする。このヘッダ情報には、クロマに対するデブロッキングフィルタの制御情報を含むことができる。さらに、可逆符号化部115は、イントラ予測のモードを示す情報などをイントラ予測部122から取得し、インター予測のモードを示す情報や差分動きベクトル情報などをインター予測部123から取得し、それらの各種情報をヘッダ情報に含める。
 可逆符号化部115は、符号化して得られた符号化データを蓄積バッファ116に供給して蓄積させる。
 可逆符号化部115の符号化方式としては、例えば、可変長符号化または算術符号化等が挙げられる。可変長符号化としては、例えば、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などが挙げられる。算術符号化としては、例えば、CABAC(Context-Adaptive Binary Arithmetic Coding)などが挙げられる。
 蓄積バッファ116は、可逆符号化部115から供給された符号化データを、一時的に保持する。蓄積バッファ116は、所定のタイミングにおいて、保持している符号化データを、画像符号化装置100の外部に出力する。すなわち、蓄積バッファ116は、符号化データを伝送する伝送部でもある。
 また、量子化部114において量子化された変換係数は、逆量子化部117にも供給される。逆量子化部117は、その量子化された変換係数を、量子化部114による量子化に対応する方法で逆量子化する。逆量子化部117は、その逆量子化により得られた変換係数を、逆直交変換部118に供給する。
 逆直交変換部118は、逆量子化部117から供給された変換係数を、直交変換部113による直交変換処理に対応する方法で逆直交変換する。逆直交変換部118は、逆直交変換された出力(復元された残差データ)を演算部119に供給する。
 演算部119は、逆直交変換部118から供給された、復元された残差データに、予測画像選択部124を介してイントラ予測部122若しくはインター予測部123から供給される予測画像を加算し、局所的に再構成された画像(以下、復号画像とも称する)を得る。その復号画像は、ループフィルタ120若しくはイントラ予測部122に供給される。
 ループフィルタ120は、演算部119から供給される復号画像に対して適宜ループフィルタ処理を行う。このループフィルタ処理は、少なくともデブロッキングフィルタ処理を含むフィルタ処理であれば任意である。例えば、ループフィルタ120が、復号画像に対してデブロッキングフィルタ処理を行ってデブロック歪を除去するとともに、ウィナーフィルタ(Wiener Filter)を用いて適応ループフィルタ処理を行うことにより画質改善を行うようにしてもよい。
 ループフィルタ120は、ヘッダ情報生成部131から、クロマに対するデブロッキングフィルタの制御情報を含むことができるヘッダ情報を取得し、その制御情報に基づいてデブロッキングフィルタ処理を行う。また、ループフィルタ120は、必要に応じて、フィルタ処理に用いたフィルタ係数等の情報を可逆符号化部115に供給し、それを符号化させるようにすることもできる。
 ループフィルタ120は、フィルタ処理を適宜施した復号画像をフレームメモリ121に供給する。
 フレームメモリ121は、供給される復号画像を記憶し、所定のタイミングにおいて、記憶している復号画像を参照画像としてインター予測部123に供給する。
 イントラ予測部122は、演算部119から参照画像として供給される復号画像である処理対象ピクチャ内の画素値を用いて予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部122は、予め用意された複数のイントラ予測モードでこのイントラ予測を行う。
 イントラ予測部122は、候補となる全てのイントラ予測モードで予測画像を生成し、画面並べ替えバッファ111から供給される入力画像を用いて各予測画像のコスト関数値を評価し、最適なモードを選択する。イントラ予測部122は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部124に供給する。
 また、上述したように、イントラ予測部122は、採用されたイントラ予測モードを示すイントラ予測モード情報等を、適宜可逆符号化部115に供給し、符号化させる。
 インター予測部123は、画面並べ替えバッファ111から供給される入力画像と、フレームメモリ121から供給される参照画像とを用いてインター予測処理(動き予測処理および補償処理)を行う。より具体的には、インター予測部123は、インター予測処理として、動き予測を行って検出された動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。インター予測部123は、予め用意された複数のインター予測モードでこのようなインター予測を行う。
 インター予測部123は、候補となる全てのインター予測モードで予測画像を生成する。インター予測部123は、画面並べ替えバッファ111から供給される入力画像と、生成した差分動きベクトルの情報などを用いて、各予測画像のコスト関数値を評価し、最適なモードを選択する。インター予測部123は、最適なインター予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部124に供給する。
 インター予測部123は、採用されたインター予測モードを示す情報や、符号化データを復号する際に、そのインター予測モードで処理を行うために必要な情報等を可逆符号化部115に供給し、符号化させる。必要な情報としては、例えば、生成された差分動きベクトルの情報や、予測動きベクトル情報として、予測動きベクトルのインデックスを示すフラグなどがある。
 予測画像選択部124は、演算部112や演算部119に供給する予測画像の供給元を選択する。例えば、イントラ符号化の場合、予測画像選択部124は、予測画像の供給元としてイントラ予測部122を選択し、そのイントラ予測部122から供給される予測画像を演算部112や演算部119に供給する。また、例えば、インター符号化の場合、予測画像選択部124は、予測画像の供給元としてインター予測部123を選択し、そのインター予測部123から供給される予測画像を演算部112や演算部119に供給する。
 レート制御部125は、蓄積バッファ116に蓄積された符号化データの符号量に基づいて、オーバフローあるいはアンダーフローが発生しないように、量子化部114の量子化動作のレートを制御する。
 ヘッダ情報生成部131は、外部から供給される指示や参考情報、または、画面並べ替えバッファ111から供給される画像データ等に基づいて、例えばシーケンスパラメータセット、ピクチャパラメータセット、スライスヘッダ等のヘッダ情報を生成する。このヘッダ情報は任意であり、例えばビデオパラメータセット等であってもよい。ヘッダ情報生成部131は、クロマに対するデブロッキングフィルタ処理を制御する制御情報を生成し、ヘッダ情報に含めることができる。ヘッダ情報生成部131は、生成したヘッダ情報を、可逆符号化部115に供給する。また、ヘッダ情報生成部131は、生成したヘッダ情報を、ループフィルタ120にも供給する。
  <ヘッダ情報生成部>
 図9は、ヘッダ情報生成部131の主な構成例を示すブロック図である。図9に示されるように、ヘッダ情報生成部131は、例えば、ヘッダ制御部141、SPS生成部151、PPS生成部152、およびSH生成部153を有する。SPS生成部151は、SPS拡張シンタクス生成部161を有する。PPS生成部152は、PPS拡張シンタクス生成部162を有する。SH生成部153は、SH拡張シンタクス生成部163を有する。SPS拡張シンタクス生成部161は、sps_chroma_deblocking_filter_disabled_flag生成部171を有する。PPS拡張シンタクス生成部162は、pps_chroma_deblocking_filter_disabled_flag生成部172を有する。SH拡張シンタクス生成部163は、slice_chroma_deblocking_filter_disabled_flag生成部173を有する。
 ヘッダ制御部141は、SPS生成部151、PPS生成部152、およびSH生成部153等を制御し、ヘッダ情報の生成を制御する。
 SPS生成部151は、シーケンスパラメータセット(SPS)を生成する。SPS生成部151は、シーケンスパラメータセットの、SPS拡張シンタクス生成部161が生成するシンタクス要素以外の任意のシンタクス要素も生成することができる。SPS拡張シンタクス生成部161は、例えば図4の例のように、シーケンスパラメータセットの拡張シンタクス要素を生成する。SPS拡張シンタクス生成部161は、例えば、sps_chroma_deblocking_filter_disabled_flag以外の拡張シンタクス要素が存在する場合、その拡張シンタクス要素も生成することができる。この拡張シンタクス要素はどのようなものであってもよい。sps_chroma_deblocking_filter_disabled_flag生成部171は、sps_chroma_deblocking_filter_disabled_flagを生成する。図4を参照して説明したように、このsps_chroma_deblocking_filter_disabled_flagは、当該シーケンスに属するスライスの内、後述するpps_chroma_deblocking_filter_disabled_flagや、slice_chroma_deblocking_filter_disabled_flagが定義されていないスライスのクロマに対するデブロッキングフィルタの適用可否を示すフラグである。
 PPS生成部152は、ピクチャパラメータセット(PPS)を生成する。PPS生成部152は、ピクチャパラメータセットの、PPS拡張シンタクス生成部162が生成するシンタクス要素以外の任意のシンタクス要素も生成することができる。PPS拡張シンタクス生成部162は、例えば図5の例のように、ピクチャパラメータセットの拡張シンタクス要素を生成する。PPS拡張シンタクス生成部162は、例えば、pps_chroma_deblocking_filter_disabled_flag以外の拡張シンタクス要素が存在する場合、その拡張シンタクス要素も生成することができる。この拡張シンタクス要素はどのようなものであってもよい。pps_chroma_deblocking_filter_disabled_flag生成部172は、pps_chroma_deblocking_filter_disabled_flagを生成する。図5を参照して説明したように、このpps_chroma_deblocking_filter_disabled_flagは、当該ピクチャに属するスライスの内、後述するslice_chroma_deblocking_filter_disabled_flagが定義されていないスライスのクロマに対するデブロッキングフィルタの適用可否を示すフラグである。
 SH生成部153は、スライスヘッダ(SH)を生成する。SH生成部153は、スライスヘッダの、SH拡張シンタクス生成部163が生成するシンタクス要素以外の任意のシンタクス要素も生成することができる。SH拡張シンタクス生成部163は、例えば図6の例のように、スライスヘッダの拡張シンタクス要素を生成する。SH拡張シンタクス生成部163は、例えば、slice_chroma_deblocking_filter_disabled_flag以外の拡張シンタクス要素が存在する場合、その拡張シンタクス要素も生成することができる。この拡張シンタクス要素はどのようなものであってもよい。slice_chroma_deblocking_filter_disabled_flag生成部173は、slice_chroma_deblocking_filter_disabled_flagを生成する。図6を参照して説明したように、このslice_chroma_deblocking_filter_disabled_flagは、当該スライスのクロマに対するデブロッキングフィルタの適用可否を示すフラグである。
  <ループフィルタ>
 図10は、ループフィルタ120の主な構成例を示すブロック図である。図10に示されるように、ループフィルタ120は、例えば、デブロッキングフィルタ制御部181とデブロッキングフィルタ処理部182とを有する。デブロッキングフィルタ処理部182は、ルマデブロッキングフィルタ処理部191とクロマデブロッキングフィルタ処理部192とを有する。
 デブロッキングフィルタ制御部181は、ヘッダ情報生成部131から供給されるヘッダ情報に基づいて、デブロッキングフィルタ処理部182によるデブロッキングフィルタ処理(すなわち、ルマデブロッキングフィルタ処理部191によるルマに対するデブロッキングフィルタ処理やクロマデブロッキングフィルタ処理部192によるクロマに対するデブロッキングフィルタ処理)を制御する。このヘッダ情報は、クロマに対するデブロッキングフィルタの制御情報を含むことができる。デブロッキングフィルタ制御部181は、デブロッキングフィルタ処理の制御として、例えば、クロマに対するデブロッキングフィルタ処理の実行制御(実行するか否かの制御)を行う。
 デブロッキングフィルタ処理部182は、デブロッキングフィルタ制御部181の制御に従って、演算部119から供給される復号画像に対するデブロッキングフィルタ処理を行う。ルマデブロッキングフィルタ処理部191は、デブロッキングフィルタ制御部181の制御に従って、演算部119から供給される復号画像のルマに対するデブロッキングフィルタ処理を行う。クロマデブロッキングフィルタ処理部192は、デブロッキングフィルタ制御部181の制御に従って、演算部119から供給される復号画像のクロマに対するデブロッキングフィルタ処理を行う。デブロッキングフィルタ処理部182は、デブロッキングフィルタ処理を行った復号画像、若しくは、デブロッキングフィルタ処理を行わなかった復号画像をフレームメモリ121に供給する。
  <符号化処理の流れ>
 次に、画像符号化装置100により実行される各処理の流れの例を説明する。最初に、符号化処理の流れの例を、図11のフローチャートを参照して説明する。
 符号化処理が開始されると、ヘッダ情報生成部131は、ステップS101において、例えばシーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダ(SH)等のヘッダ情報を生成する。
 ステップS102において、画面並べ替えバッファ111は、入力された動画像の各フレーム(ピクチャ)の画像をその表示する順番に記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
 ステップS103において、イントラ予測部122は、イントラ予測モードのイントラ予測処理を行う。
 ステップS104において、インター予測部123は、インター予測モードでの動き予測や動き補償等を行うインター予測処理を行う。
 ステップS105において、予測画像選択部124は、コスト関数値等に基づいて、ステップS103のイントラ予測により生成された予測画像と、ステップS104のインター予測により生成された予測画像のいずれか一方を選択する。
 ステップS106において、演算部112は、ステップS102の処理によりフレーム順を並び替えられた入力画像と、ステップS105の処理により選択された予測画像との差分を演算する。つまり、演算部112は、入力画像と予測画像との残差データを生成する。このようにして求められた残差データは、元の画像データに比べてデータ量が低減される。したがって、画像をそのまま符号化する場合に比べて、データ量を圧縮することができる。
 ステップS107において、直交変換部113は、ステップS106の処理により生成された残差データを直交変換する。
 ステップS108において、量子化部114は、レート制御部125により算出された量子化パラメータを用いて、ステップS107の処理により得られた直交変換係数を量子化する。
 ステップS109において、逆量子化部117は、ステップS108の処理により生成された量子化された係数(量子化係数とも称する)を、その量子化の特性に対応する特性で逆量子化する。
 ステップS110において、逆直交変換部118は、ステップS109の処理により得られた直交変換係数を逆直交変換する。
 ステップS111において、演算部119は、ステップS110の処理により復元された残差データに、ステップS105の処理により選択された予測画像を加算することにより、復号画像の画像データを生成する。
 ステップS112において、ループフィルタ120は、ステップS111の処理により生成された復号画像の画像データに対して適宜ループフィルタ処理を行う。
 ステップS113において、フレームメモリ121は、ステップS112の処理が行われた、局所的に復号された復号画像を記憶する。
 ステップS114において、可逆符号化部115は、ステップS108の処理により得られた、量子化された係数を符号化する。すなわち、残差データに対応するデータに対して、可変長符号化や算術符号化等の可逆符号化が行われる。
 また、このとき、可逆符号化部115は、ステップS101の処理により生成されたヘッダ情報を符号化し、その量子化された係数を符号化して得られる符号化データに付加する。
 また、可逆符号化部115は、ステップS105の処理により選択された予測画像の予測モードに関する情報を符号化し、符号化データのヘッダ情報に付加する。つまり、可逆符号化部115は、イントラ予測部122から供給される最適イントラ予測モード情報、または、インター予測部123から供給される最適インター予測モードに応じた情報なども符号化し、符号化データのヘッダ情報に付加する。
 ステップS115において蓄積バッファ116は、ステップS114の処理により得られた符号化データ等を蓄積する。蓄積バッファ116に蓄積された符号化データ等は、ビットストリームとして適宜読み出され、伝送路や記録媒体を介して復号側に伝送される。
 ステップS116においてレート制御部125は、ステップS115の処理により蓄積バッファ116に蓄積された符号化データ等の符号量(発生符号量)に基づいて、オーバフローあるいはアンダーフローが発生しないように、ステップS108の量子化処理のレートを制御する。
 ステップS116の処理が終了すると、符号化処理が終了する。
  <ヘッダ情報生成処理の流れ>
 次に、このような符号化処理のステップS101において実行されるヘッダ情報生成処理の流れの例を、図12のフローチャートを参照して説明する。
 ヘッダ情報生成処理が開始されると、ステップS121において、SPS生成部151は、シーケンスパラメータセット(SPS)を生成する。SPS生成部151は、シーケンスパラメータセットの拡張シンタクス以外のシンタクス要素を生成し、SPS拡張シンタクス生成部161は、シーケンスパラメータセットのsps_chroma_deblocking_filter_disabled_flag以外の拡張シンタクス要素を生成する。
 ステップS122において、sps_chroma_deblocking_filter_disabled_flag生成部171は、シーケンスパラメータセットのsps_chroma_deblocking_filter_disabled_flagを生成する。例えば、当該シーケンスに属するスライスの内、後述するpps_chroma_deblocking_filter_disabled_flagや、slice_chroma_deblocking_filter_disabled_flagが定義されていないスライスのクロマに対してデブロッキングフィルタ処理を行うようにする場合、sps_chroma_deblocking_filter_disabled_flag生成部171は、このフラグの値を偽(例えば「0」)に設定する。また、例えば、当該シーケンスに属するスライスの内、後述するpps_chroma_deblocking_filter_disabled_flagや、slice_chroma_deblocking_filter_disabled_flagが定義されていないスライスのクロマに対してデブロッキングフィルタ処理を行わないようにする場合、sps_chroma_deblocking_filter_disabled_flag生成部171は、このフラグの値を真(例えば「1」)に設定する。このフラグの値は、例えば予め定められた設定等、任意の情報に基づいて決定される。
 ステップS123において、PPS生成部152は、ピクチャパラメータセット(PPS)を生成する。PPS生成部152は、ピクチャパラメータセットの拡張シンタクス以外のシンタクス要素を生成し、PPS拡張シンタクス生成部162は、ピクチャパラメータセットのpps_chroma_deblocking_filter_disabled_flag以外の拡張シンタクス要素を生成する。
 ステップS124において、pps_chroma_deblocking_filter_disabled_flag生成部172は、ピクチャパラメータセットのpps_chroma_deblocking_filter_disabled_flagを生成する。例えば、当該ピクチャに属するスライスの内、後述するslice_chroma_deblocking_filter_disabled_flagが定義されていないスライスのクロマに対してデブロッキングフィルタ処理を行うようにする場合、pps_chroma_deblocking_filter_disabled_flag生成部172は、このフラグの値を偽(例えば「0」)に設定する。また、例えば、当該ピクチャに属するスライスの内、後述するslice_chroma_deblocking_filter_disabled_flagが定義されていないスライスのクロマに対してデブロッキングフィルタ処理を行わないようにする場合、pps_chroma_deblocking_filter_disabled_flag生成部172は、このフラグの値を真(例えば「1」)に設定する。このフラグの値は、例えば予め定められた設定等、任意の情報に基づいて決定される。
 ステップS125において、SH生成部153は、スライスヘッダ(SH)を生成する。SH生成部153は、スライスヘッダの拡張シンタクス以外のシンタクス要素を生成し、SH拡張シンタクス生成部163は、スライスヘッダのslice_chroma_deblocking_filter_disabled_flag以外の拡張シンタクス要素を生成する。
 ステップS126において、slice_chroma_deblocking_filter_disabled_flag生成部173は、スライスヘッダのslice_chroma_deblocking_filter_disabled_flagを生成する。例えば、当該スライスのクロマに対してデブロッキングフィルタ処理を行うようにする場合、slice_chroma_deblocking_filter_disabled_flag生成部173は、このフラグの値を偽(例えば「0」)に設定する。また、例えば、当該スライスのクロマに対してデブロッキングフィルタ処理を行わないようにする場合、slice_chroma_deblocking_filter_disabled_flag生成部173は、このフラグの値を真(例えば「1」)に設定する。このフラグの値は、例えば予め定められた設定等、任意の情報に基づいて決定される。
 ステップS126の処理が終了すると、ヘッダ情報生成処理が終了し、処理は図11に戻る。
 以上のようにヘッダ情報として、画像データの色差成分(クロマ)に対するデブロッキングフィルタ処理を制御する制御情報を生成することにより、画像符号化装置100(ヘッダ情報生成部131)は、クロマに対するデブロッキングフィルタ処理を、輝度成分(ルマ)に対するデブロッキングフィルタ処理から独立して制御することができる。例えば、ルマに対してはデブロッキングフィルタ処理を実行させてクロマに対してはデブロッキングフィルタ処理を実行させなかったりすることができる。したがって、画像符号化装置100(ヘッダ情報生成部131)は、本技術を適用することにより、画像データの符号化や復号の際に行われるデブロッキングフィルタ処理において、自然画像に対してだけでなく、スクリーンコンテントの画像に対してもより適切に処理を実行させることができ、画質の低減を抑制することができる。
  <ループフィルタ処理の流れ>
 次に、図11の符号化処理のステップS112において実行されるループフィルタ処理の流れの例を、図13のフローチャートを参照して説明する。
 ループフィルタ処理が開始されると、ステップS141において、デブロッキングフィルタ制御部181は、ヘッダ情報に含まれるpps_deblocking_filter_disabled_flagの値とslice_deblocking_filter_disabled_flagの値とに基づいて復号画像のルマに対するデブロッキングフィルタ処理の実行を制御する。これらのシンタクス要素は図2および図3を参照して説明した例の通りであり、slice_deblocking_filter_disabled_flagの値が、pps_deblocking_filter_disabled_flagの値に優先される。そして、ルマデブロッキングフィルタ処理部191は、その制御に基づいて、すなわち、pps_deblocking_filter_disabled_flagの値とslice_deblocking_filter_disabled_flagの値とに応じて、復号画像のルマに対するデブロッキングフィルタ処理を行う。
 ステップS142において、デブロッキングフィルタ制御部181は、ヘッダ情報に含まれるsps_chroma_deblocking_filter_disabled_flagの値と、pps_chroma_deblocking_filter_disabled_flagの値と、slice_chroma_deblocking_filter_disabled_flagの値とに基づいて復号画像のクロマに対するデブロッキングフィルタ処理の実行を制御する。これらのシンタクス要素は図4乃至図6を参照して説明した例の通りであり、pps_chroma_deblocking_filter_disabled_flagの値が、sps_chroma_deblocking_filter_disabled_flagの値に優先され、slice_chroma_deblocking_filter_disabled_flagの値が、pps_chroma_deblocking_filter_disabled_flagの値やsps_chroma_deblocking_filter_disabled_flagの値に優先される。そして、クロマデブロッキングフィルタ処理部192は、その制御に基づいて、すなわち、sps_chroma_deblocking_filter_disabled_flagの値と、pps_chroma_deblocking_filter_disabled_flagの値と、slice_chroma_deblocking_filter_disabled_flagの値とに応じて、復号画像のクロマに対するデブロッキングフィルタ処理を行う。
 ステップS142の処理が終了すると、ループフィルタ処理が終了し、処理は図11に戻る。
 以上のように、ヘッダ情報に含まれる画像データの色差成分(クロマ)に対するデブロッキングフィルタ処理を制御する制御情報に基づいてデブロッキングフィルタ処理を実行することにより、画像符号化装置100(ループフィルタ120)は、クロマに対するデブロッキングフィルタ処理を、輝度成分(ルマ)に対するデブロッキングフィルタ処理とは独立して実行することができる。例えば、ルマに対してはデブロッキングフィルタ処理を実行し、クロマに対してはデブロッキングフィルタ処理を実行しないといったことを実現することができる。したがって、画像符号化装置100(ループフィルタ120)は、本技術を適用することにより、画像データの符号化の際に、自然画像に対してだけでなく、スクリーンコンテントの画像に対してもより適切にデブロッキングフィルタ処理を行うことができ、画質の低減を抑制することができる。
  <画像復号装置>
 図14は、本技術を適用した画像処理装置の一態様である画像復号装置の主な構成例を示すブロック図である。図14に示される画像復号装置200は、例えば画像符号化装置100(図8)が画像データをHEVC符号化方式により符号化して生成した符号化データを復号する。
 図14に示されるように画像復号装置200は、蓄積バッファ211、可逆復号部212、逆量子化部213、逆直交変換部214、演算部215、ループフィルタ216、および画面並べ替えバッファ217を有する。また、画像復号装置200は、フレームメモリ218、イントラ予測部219、インター予測部220、および予測画像選択部221を有する。
 蓄積バッファ211は、符号化側から伝送されてきた符号化データを受け取る受け取り部でもある。蓄積バッファ211は、その伝送されてきた符号化データを受け取って、蓄積し、所定のタイミングにおいてその符号化データを可逆復号部212に供給する。可逆復号部212は、蓄積バッファ211より供給された符号化データをHEVC方式で復号する。可逆復号部212は、復号して得られた量子化された係数データを、逆量子化部213に供給する。
 また、可逆復号部212は、符号化データに付加された最適な予測モードに関する情報に基づいて、最適な予測モードとしてイントラ予測モードが選択されたかインター予測モードが選択されたかを判定し、その最適な予測モードに関する情報を、イントラ予測部219およびインター予測部220の内、選択されたと判定したモードの方に供給する。例えば符号化側において最適な予測モードとしてイントラ予測モードが選択された場合、その最適な予測モードに関する情報がイントラ予測部219に供給される。また、例えば符号化側において最適な予測モードとしてインター予測モードが選択された場合、その最適な予測モードに関する情報がインター予測部220に供給される。
 さらに、可逆復号部212は、例えば、量子化行列や量子化パラメータ等の、逆量子化に必要な情報を逆量子化部213に供給する。
 また、可逆復号部212は、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダ等のヘッダ情報を、ループフィルタ216に供給する。このヘッダ情報は、画像符号化装置100の説明において上述したように、クロマに対するデブロッキングフィルタの制御情報を含むことができる。
 逆量子化部213は、可逆復号部212により復号されて得られた量子化された係数データを、符号化側の量子化方式に対応する方式で逆量子化する。逆量子化部213は、得られた係数データを逆直交変換部214に供給する。
 逆直交変換部214は、逆量子化部213から供給される直交変換係数を、符号化側の直交変換方式に対応する方式で逆直交変換する。逆直交変換部214は、この逆直交変換処理により、符号化側において直交変換される前の状態に対応する残差データを得る。逆直交変換されて得られた残差データは、演算部215に供給される。
 演算部215は、逆直交変換部214から残差データを取得する。また、演算部215は、予測画像選択部221を介して、イントラ予測部219若しくはインター予測部220から予測画像を取得する。演算部215は、差分画像と予測画像とを加算し、符号化側において予測画像が減算される前の画像に対応する復号画像を得る。演算部215は、その復号画像をループフィルタ216およびイントラ予測部219に供給する。
 ループフィルタ216は、画像符号化装置100(図8)のループフィルタ120と同様の処理部であり、ループフィルタ120と同様の処理を行う。すなわち、ループフィルタ216は、演算部215から供給される復号画像に対して適宜ループフィルタ処理を行う。このループフィルタ処理は、少なくともデブロッキングフィルタ処理を含むフィルタ処理であれば任意である。例えば、ループフィルタ120が、復号画像に対してデブロッキングフィルタ処理を行ってデブロック歪を除去するとともに、ウィナーフィルタ(Wiener Filter)を用いて適応ループフィルタ処理を行うことにより画質改善を行うようにしてもよい。
 ループフィルタ216は、可逆復号部212から、クロマに対するデブロッキングフィルタの制御情報を含むことができるヘッダ情報を取得し、その制御情報に基づいてデブロッキングフィルタ処理を行う。なお、ループフィルタ216が、符号化側から供給されたフィルタ係数を用いてフィルタ処理を行うようにしてもよい。
 ループフィルタ216は、フィルタ処理を適宜施した復号画像を画面並べ替えバッファ217およびフレームメモリ218に供給する。
 画面並べ替えバッファ217は、画像の並べ替えを行う。すなわち、符号化側において符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。画面並べ替えバッファ217は、フレームの順番を並べ替えた復号画像データを画像復号装置200の外部に出力する。
 フレームメモリ218は、供給される復号画像を記憶し、所定のタイミングにおいて、若しくは、インター予測部220等の外部の要求に基づいて、記憶している復号画像を参照画像として、インター予測部220に供給する。
 イントラ予測部219には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部212から適宜供給される。イントラ予測部219は、符号化側において用いられたイントラ予測モードで、演算部215から供給される復号画像を参照画像として用いてイントラ予測を行い、予測画像を生成する。イントラ予測部219は、生成した予測画像を予測画像選択部221に供給する。
 インター予測部220は、ヘッダ情報を復号して得られた情報(最適予測モード情報、参照画像情報等)を可逆復号部212から取得する。
 インター予測部220は、可逆復号部212から取得された最適予測モード情報が示すインター予測モードで、フレームメモリ218から取得した参照画像を用いてインター予測を行い、予測画像を生成する。
 予測画像選択部221は、イントラ予測部219からの予測画像またはインター予測部220からの予測画像を、演算部215に供給する。そして、演算部215においては、動きベクトルが用いられて生成された予測画像と逆直交変換部214から供給される残差データとが加算されて元の画像が復号される。すなわち、復号画像が生成される。
  <ループフィルタ>
 図15は、ループフィルタ216の主な構成例を示すブロック図である。図15に示されるように、ループフィルタ216は、例えば、デブロッキングフィルタ制御部251とデブロッキングフィルタ処理部252とを有する。デブロッキングフィルタ処理部252は、ルマデブロッキングフィルタ処理部261とクロマデブロッキングフィルタ処理部262とを有する。つまり、ループフィルタ216は、ループフィルタ120と同様の構成を有し、同様の処理を行う。
 すなわち、デブロッキングフィルタ制御部251は、ループフィルタ120のデブロッキングフィルタ制御部181に対応し、可逆復号部212から供給されるヘッダ情報に基づいて、デブロッキングフィルタ処理部252によるデブロッキングフィルタ処理(すなわち、ルマデブロッキングフィルタ処理部261によるルマに対するデブロッキングフィルタ処理やクロマデブロッキングフィルタ処理部262によるクロマに対するデブロッキングフィルタ処理)を制御する。このヘッダ情報は、クロマに対するデブロッキングフィルタの制御情報を含むことができる。デブロッキングフィルタ制御部251は、デブロッキングフィルタ処理の制御として、例えば、クロマに対するデブロッキングフィルタ処理の実行制御(実行するか否かの制御)を行う。
 また、デブロッキングフィルタ処理部252は、ループフィルタ120のデブロッキングフィルタ処理部182に対応し、デブロッキングフィルタ処理部251の制御に従って、演算部215から供給される復号画像に対するデブロッキングフィルタ処理を行う。デブロッキングフィルタ処理部252は、デブロッキングフィルタ処理を行った復号画像、若しくは、デブロッキングフィルタ処理を行わなかった復号画像を画面並べ替えバッファ217およびフレームメモリ218に供給する。
 ルマデブロッキングフィルタ処理部261は、ループフィルタ120のルマデブロッキングフィルタ処理部191に対応し、デブロッキングフィルタ処理部251の制御に従って、演算部215から供給される復号画像のルマに対するデブロッキングフィルタ処理を行う。クロマデブロッキングフィルタ処理部262は、ループフィルタ120のクロマデブロッキングフィルタ処理部192に対応し、デブロッキングフィルタ処理部251の制御に従って、演算部215から供給される復号画像のクロマに対するデブロッキングフィルタ処理を行う。
  <復号処理の流れ>
 次に、画像復号装置200により実行される各処理の流れの例を説明する。最初に、復号処理の流れの例を、図16のフローチャートを参照して説明する。
 復号処理が開始されると、ステップS201において、蓄積バッファ211は、伝送されてきたビットストリームを蓄積する。ステップS202において、可逆復号部212は、蓄積バッファ211に蓄積されたビットストリームを復号し、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダ等のヘッダ情報を取得する。このヘッダ情報は、例えば画像符号化装置100により生成されたものであり、上述したようにデブロッキングフィルタの制御情報を含む。
 ステップS203において、可逆復号部212は、蓄積バッファ211に蓄積されたビットストリームを復号し、符号化側により符号化されたIピクチャ、Pピクチャ、並びにBピクチャ等が復号される。
 ステップS204において、逆量子化部213は、ステップS203の処理により得られた、量子化された係数を逆量子化する。
 ステップS205において、逆直交変換部214は、ステップS204の処理により得られた直交変換係数を逆直交変換する。この処理により、残差データが復元される。
 ステップS206において、イントラ予測部219若しくはインター予測部220は、予測処理を行い、予測画像を生成する。つまり、可逆復号部212において判定された、符号化の際に適用された予測モードで予測処理が行われる。より具体的には、例えば、符号化の際にイントラ予測が適用された場合、イントラ予測部219が、符号化の際に最適とされたイントラ予測モードで予測画像を生成する。また、例えば、符号化の際にインター予測が適用された場合、インター予測部220が、符号化の際に最適とされたインター予測モードで予測画像を生成する。
 ステップS207において、演算部215は、ステップS205の処理により復元された残差データに、ステップS206において生成された予測画像を加算する。これにより復号画像が得られる。
 ステップS208において、ループフィルタ216は、ステップS207の処理により生成された復号画像の画像データに対して適宜ループフィルタ処理を行う。
 ステップS209において、画面並べ替えバッファ217は、ステップS208の処理が行われた復号画像のフレームの並べ替えを行う。すなわち、符号化の際に並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。フレームが並べ替えられた復号画像は、画像復号装置200の外部に出力される。
 ステップS210において、フレームメモリ218は、ステップS208の処理が行われた復号画像を記憶する。
 ステップS210の処理が終了すると、復号処理が終了する。
 上述したステップS208において、ループフィルタ216は、ループフィルタ処理を、図13のフローチャートを参照して説明した、画像符号化装置100のループフィルタ120によるループフィルタ処理の場合と同様に行う。つまり、図13に示されるループフィルタ処理の流れの例の説明は、ループフィルタ216によるループフィルタ処理(すなわち、この復号処理のステップS208の処理)の説明にも適用することができる。
 つまり、画像復号装置200(ループフィルタ216)は、ヘッダ情報に含まれる画像データの色差成分(クロマ)に対するデブロッキングフィルタ処理を制御する制御情報に基づいてデブロッキングフィルタ処理を実行する。これにより、画像復号装置200(ループフィルタ216)は、クロマに対するデブロッキングフィルタ処理を、輝度成分(ルマ)に対するデブロッキングフィルタ処理とは独立して実行することができる。例えば、ルマに対してはデブロッキングフィルタ処理を実行し、クロマに対してはデブロッキングフィルタ処理を実行しないといったことを実現することができる。したがって、画像復号装置200(ループフィルタ216)は、本技術を適用することにより、画像データの復号の際に、自然画像に対してだけでなく、スクリーンコンテントの画像に対してもより適切にデブロッキングフィルタ処理を行うことができ、画質の低減を抑制することができる。
 以上においては、クロマに対するデブロッキングフィルタ処理を制御する制御情報を、シーケンスパラメータセット、ピクチャパラメータセット、およびスライスヘッダに含める場合について説明したが、この制御情報は、符号化データのヘッダ情報の任意の場所に格納することができる。例えば、ビデオパラメータセットやタイルヘッダ等、上述した例以外の階層のヘッダ情報にこの制御情報を含めるようにしてもよい。また、シーケンスパラメータセット、ピクチャパラメータセット、およびスライスヘッダの内のいずれかにおいて、この制御情報が含まれないようにしてもよい。例えば、シーケンスパラメータセットとピクチャパラメータセットとにのみ、ピクチャパラメータセットとスライスヘッダとにのみ、または、シーケンスパラメータセットとスライスヘッダとにのみ、この制御情報が含まれるようにしてもよい。また、シーケンスパラメータセット、ピクチャパラメータセット、若しくはスライスヘッダのいずれか1つにのみ、この制御情報が含まれるようにしてもよい。
 <2.第2の実施の形態>
  <デブロッキングフィルタの制御パラメータの利用>
 上述したクロマに対するデブロッキングフィルタ処理を制御する制御情報を、既存のデブロッキングフィルタに関する制御パラメータの値に応じて生成するようにしてもよい。一般的に、ルマに対してデブロッキングフィルタ処理を行わずにクロマに対してデブロッキングフィルタ処理を行うことが望ましい事例は少ない。したがって、ルマに対するデブロッキングフィルタ処理を行わないスライスについては、クロマに対するデブロッキングフィルタ処理も行わないようにしてもよい。つまり、そのようなスライスについては、クロマに対するデブロッキングフィルタ処理の制御は不要である(省略することができる)。換言するに、ルマに対するデブロッキングフィルタ処理を行う可能性がある場合のみ、クロマに対するデブロッキングフィルタ処理の制御を行うようにしてもよい。
 ルマに対するデブロッキングフィルタ処理を行うか否かは、既存のデブロッキングフィルタに関する制御パラメータに基づいて容易に識別することができる。したがって、そのような制御パラメータの値に応じて、ルマに対するデブロッキングフィルタ処理を行う可能性がある場合のみ、クロマに対するデブロッキングフィルタ処理を制御する制御情報を設定するようにすればよい。
 このようにすることにより、ルマに対するデブロッキングフィルタ処理を行う可能性が無いスライスについて、クロマに対するデブロッキングフィルタ処理を制御する制御情報を省略することができる(つまり、明らかに不要なクロマに対するデブロッキングフィルタ処理を制御する制御情報を省略することができる)ので、その分符号量の増大を抑制し、符号化効率の低減を抑制することができる。
 より具体的な例について説明する。図17に示されるように、例えばピクチャパラメータセットにおいて、deblocking_filter_control_present_flagの値が真(「1」)の場合のみ、pps_chroma_deblocking_filter_disabled_flagが拡張シンタクス要素として設定されるようにしてもよい。
 図2を参照して説明したように、deblocking_filter_control_present_flagは、デブロッキングフィルタを制御するシンタクス要素が、当該ピクチャパラメータセットに存在するか否かを示すフラグである。つまり、このdeblocking_filter_control_present_flagは、ルマに対するデブロッキングフィルタ処理を行う可能性を示す、デブロッキングフィルタに関する制御パラメータである。
 例えば、deblocking_filter_control_present_flagの値が真(「1」)の場合、当該ピクチャパラメータセットにデブロッキングフィルタを制御するシンタクス要素が存在する。つまり、この場合、当該ピクチャに属するスライスに対しては、ルマに対するデブロッキングフィルタ処理が行われる可能性があり、クロマに対するデブロッキングフィルタ処理が行われる可能性もある。そこでpps_chroma_deblocking_filter_disabled_flagが設定されるようにする。
 また、例えば、deblocking_filter_control_present_flagの値が偽(「0」)の場合、当該ピクチャパラメータセットにデブロッキングフィルタを制御するシンタクス要素が存在しない。つまり、この場合、当該ピクチャに属するスライスに対しては、ルマに対するデブロッキングフィルタ処理が行われる可能性が無く、クロマに対するデブロッキングフィルタ処理の制御も不要である。そこでpps_chroma_deblocking_filter_disabled_flagの設定が省略されるようにする。
 また、図18に示されるように、例えばスライスヘッダにおいて、deblocking_filter_override_flagの値が真(「1」)の場合のみ、slice_chroma_deblocking_filter_disabled_flagが拡張シンタクス要素として設定されるようにしてもよい。
 図3を参照して説明したように、deblocking_filter_override_flagは、デブロッキングフィルタを制御するシンタクス要素が、当該スライスヘッダに存在するか否かを示すフラグである。つまり、このdeblocking_filter_control_present_flagは、ルマに対するデブロッキングフィルタ処理を行う可能性を示す、デブロッキングフィルタに関する制御パラメータである。
 例えば、deblocking_filter_override_flagの値が真(「1」)の場合、当該スライスヘッダにデブロッキングフィルタを制御するシンタクス要素が存在する。つまり、この場合、当該スライスに対しては、ルマに対するデブロッキングフィルタ処理が行われる可能性があり、クロマに対するデブロッキングフィルタ処理が行われる可能性もある。そこでslice_chroma_deblocking_filter_disabled_flagが設定されるようにする。
 また、例えば、deblocking_filter_override_flagの値が偽(「0」)の場合、当該スライスヘッダにデブロッキングフィルタを制御するシンタクス要素が存在しない。つまり、この場合、当該スライスに対しては、ルマに対するデブロッキングフィルタ処理が行われる可能性が無く、クロマに対するデブロッキングフィルタ処理の制御も不要である。そこでslice_chroma_deblocking_filter_disabled_flagの設定が省略されるようにする。
 このようにすることにより、ピクチャパラメータセットやスライスヘッダ等の各階層のヘッダ情報において、明らかに不要な、クロマに対するデブロッキングフィルタ処理を制御する制御情報を省略することができるので、その分符号量の増大を抑制し、符号化効率の低減を抑制することができる。
  <画像符号化装置、ヘッダ情報生成部、ループフィルタ>
 この場合、本技術を適用した画像処理装置の一態様である画像符号化装置の構成は、第1の実施の形態と同様である(図8)。また、この場合のヘッダ情報生成部131およびループフィルタ120の構成も第1の実施の形態と同様である(図9および図10)。
  <符号化処理の流れ>
 また、この場合、画像符号化装置100により実行される符号化処理の流れは、第1の実施の形態と同様である(図11)。
  <ヘッダ情報生成処理の流れ>
 次に、この場合の、符号化処理のステップS101において実行されるヘッダ情報生成処理の流れの例を、図19のフローチャートを参照して説明する。
 ヘッダ情報生成処理が開始されると、ステップS231乃至ステップS233の各処理が、図12のステップS121乃至ステップS123の各処理と同様に実行される。
 ステップS234において、ヘッダ制御部141は、ピクチャパラメータセットにおいて、deblocking_filter_control_present_flagの値が真(「1」)であるか否かを判定する。deblocking_filter_control_present_flagの値が真(「1」)であると判定された場合、処理はステップS235に進む。
 ステップS235の処理は、図12のステップS124の処理と同様に実行される。
 ステップS235の処理が終了すると処理はステップS236に進む。また、ステップS234において、deblocking_filter_control_present_flagの値が偽(「0」)であると判定された場合、処理はステップS236に進む。
 ステップS236の処理は、図12のステップS125の処理と同様に実行される。
 ステップS237において、ヘッダ制御部141は、スライスヘッダにおいて、deblocking_filter_override_flagの値が真(「1」)であるか否かを判定する。deblocking_filter_override_flagの値が真(「1」)であると判定された場合、処理はステップS238に進む。
 ステップS238の処理は、図12のステップS126の処理と同様に実行される。
 ステップS238の処理が終了すると、ヘッダ情報生成処理が終了し、処理は図11に戻る。また、ステップS237において、deblocking_filter_override_flagの値が偽(「0」)であると判定された場合、ヘッダ情報生成処理が終了し、処理は図11に戻る。
 以上のように、既存のデブロッキングフィルタに関する制御パラメータの値に応じて、クロマに対するデブロッキングフィルタ処理を制御する制御情報を生成することにより、画像符号化装置100(ヘッダ情報生成部131)は、クロマに対するデブロッキングフィルタ処理が明らかに不要なスライスについて、クロマに対するデブロッキングフィルタ処理を制御する制御情報を省略することができる。したがって、画像符号化装置100(ヘッダ情報生成部131)は、本技術を適用することにより、画質の低減を抑制しながら、符号量の増大を抑制し、符号化効率の低減を抑制することができる。
  <ループフィルタ処理の流れ>
 次に、この場合の、符号化処理のステップS112において実行されるループフィルタ処理の流れの例を、図20のフローチャートを参照して説明する。
 ループフィルタ処理が開始されると、ステップS251の処理が、図13のステップS141の処理と同様に実行される。
 ステップS252において、デブロッキングフィルタ制御部181は、ヘッダ情報に含まれるdeblocking_filter_control_present_flagの値に基づいて、pps_chroma_deblocking_filter_disabled_flagの値を確認する。例えば、デブロッキングフィルタ制御部181は、deblocking_filter_control_present_flagの値が真(「1」)の場合、pps_chroma_deblocking_filter_disabled_flagの値を確認し、その値をステップS253の処理において利用させるようにする。また、例えば、デブロッキングフィルタ制御部181は、deblocking_filter_control_present_flagの値が偽(「0」)の場合、pps_chroma_deblocking_filter_disabled_flagの値の確認を省略し、ステップS253の処理において、pps_chroma_deblocking_filter_disabled_flagの値を利用させないようにする。
 また、デブロッキングフィルタ制御部181は、ヘッダ情報に含まれるdeblocking_filter_override_flagの値に基づいて、slice_chroma_deblocking_filter_disabled_flagの値を確認する。例えば、デブロッキングフィルタ制御部181は、deblocking_filter_override_flagの値が真(「1」)の場合、slice_chroma_deblocking_filter_disabled_flagの値を確認し、その値をステップS253の処理において利用させるようにする。また、例えば、デブロッキングフィルタ制御部181は、deblocking_filter_override_flagの値が偽(「0」)の場合、slice_chroma_deblocking_filter_disabled_flagの値の確認を省略し、ステップS253の処理において、slice_chroma_deblocking_filter_disabled_flagの値を利用させないようにする。
 ステップS253の処理は、図13のステップS142の処理と同様に実行される。ただし、ステップS252において、pps_chroma_deblocking_filter_disabled_flagや、slice_chroma_deblocking_filter_disabled_flagについて、値の確認が省略された場合、その値に基づかずに、復号画像のクロマに対するデブロッキングフィルタ処理を行う。
 ステップS253の処理が終了すると、ループフィルタ処理が終了し、処理は図11に戻る。
 以上のようにループフィルタ処理を行うことにより、画像符号化装置100(ループフィルタ120)は、クロマに対するデブロッキングフィルタ処理が明らかに不要なスライスについて、クロマに対するデブロッキングフィルタ処理を制御する制御情報の参照を省略することができる。したがって、画像符号化装置100(ループフィルタ120)は、本技術を適用することにより、画質の低減を抑制しながら、処理の負荷の増大を抑制することができる。
  <画像復号装置、ループフィルタ>
 この場合、本技術を適用した画像処理装置の一態様である画像復号装置の構成は、第1の実施の形態と同様である(図14)。また、この場合のループフィルタ216の構成も第1の実施の形態と同様である(図15)。
  <復号処理の流れ>
 また、この場合、画像復号装置200により実行される復号処理の流れは、第1の実施の形態と同様である(図16)。
 つまり、第1の実施の形態の場合と同様に、復号処理のステップS208において、ループフィルタ216は、ループフィルタ処理を、図20のフローチャートを参照して説明した、画像符号化装置100のループフィルタ120によるループフィルタ処理の場合と同様に行う。つまり、図20に示されるループフィルタ処理の流れの例の説明は、ループフィルタ216によるループフィルタ処理(すなわち、この場合の復号処理のステップS208の処理)の説明にも適用することができる。
 つまり、画像復号装置200(ループフィルタ216)は、既存のデブロッキングフィルタに関する制御パラメータの値に応じて、クロマに対するデブロッキングフィルタ処理を制御する制御情報を生成する。これにより、画像復号装置200(ループフィルタ216)は、クロマに対するデブロッキングフィルタ処理が明らかに不要なスライスについて、クロマに対するデブロッキングフィルタ処理を制御する制御情報の参照を省略することができる。したがって、画像復号装置200(ループフィルタ216)は、本技術を適用することにより、画質の低減を抑制しながら、処理の負荷の増大を抑制することができる。
 なお、以上に説明したような、既存のデブロッキングフィルタに関する制御パラメータの値に応じた、クロマに対するデブロッキングフィルタ処理を制御する制御情報の生成は、既存のデブロッキングフィルタに関する制御パラメータが存在する任意の階層のヘッダ情報において行うことができ、例えば、ピクチャパラメータセット若しくはスライスヘッダのいずれか一方でのみ行うようにしてもよい。
 <3.第3の実施の形態>
  <デブロッキングフィルタの制御パラメータの利用>
 なお、既存のデブロッキングフィルタに関する制御パラメータに対応して、クロマに対するデブロッキングフィルタに関する制御パラメータを生成するようにしてもよい。このようにすることにより、各階層のヘッダ情報におけるクロマに対するデブロッキングフィルタ処理を制御する制御情報の存在を、既存のデブロッキングフィルタ処理を制御する制御情報とは独立に示すことができる。換言するに、クロマに対するデブロッキングフィルタ処理を制御する制御情報の生成を、ルマに対するデブロッキングフィルタ処理とは独立に制御することができる。そしてこのような制御パラメータを利用することにより、クロマに対するデブロッキングフィルタ処理をルマに対するデブロッキングフィルタ処理とは独立に制御する必要がないスライスについて、クロマに対するデブロッキングフィルタ処理を制御する制御情報を省略することができるので、その分符号量の増大を抑制し、符号化効率の低減を抑制することができる。
 より具体的な例について説明する。図21に示されるように、例えばピクチャパラメータセットにおいて、chroma_deblocking_filter_control_present_flagを拡張シンタクス要素として設定し、このchroma_deblocking_filter_control_present_flagの値が真(例えば「1」)の場合のみ、pps_chroma_deblocking_filter_disabled_flagが拡張シンタクス要素として設定されるようにしてもよい。また、その際、拡張シンタクスとして、chroma_deblocking_filter_override_enabled_flagが設定されるようにしてもよい。
 chroma_deblocking_filter_control_present_flagは、クロマに対するデブロッキングフィルタを制御するシンタクス要素が、当該ピクチャパラメータセットに存在するか否かを示すフラグである。つまり、このフラグは、deblocking_filter_control_present_flagに対応する。例えば、chroma_deblocking_filter_control_present_flagの値が真(例えば「1」)の場合、当該ピクチャパラメータセットにそのようなシンタクス要素が存在する。つまり、この場合、pps_chroma_deblocking_filter_disabled_flagが設定される。また、例えば、chroma_deblocking_filter_control_present_flagの値が偽(例えば「0」)の場合、当該ピクチャパラメータセットにそのようなシンタクス要素が存在しない。つまり、この場合、pps_chroma_deblocking_filter_disabled_flagの設定が省略される。
 chroma_deblocking_filter_override_enabled_flagは、当該ピクチャに属するスライスのスライスヘッダの中に後述するchroma_deblocking_filter_override_flagが存在するか否かを示すフラグである。つまり、このフラグは、deblocking_filter_override_enabled_flagに対応する。例えば、chroma_deblocking_filter_override_enabled_flagの値が真(例えば「1」)の場合、当該ピクチャに属するスライスのスライスヘッダにchroma_deblocking_filter_override_flagが存在する。また、例えば、chroma_deblocking_filter_override_enabled_flagの値が偽(例えば、「0」)の場合、当該ピクチャに属するスライスのスライスヘッダにchroma_deblocking_filter_override_flagが存在しない。
 また、図22に示されるように、例えばスライスヘッダにおいて、当該スライスヘッダが属するピクチャパラメータセットにおいて設定されたchroma_deblocking_filter_override_enabled_flagの値が真(例えば「1」)の場合のみ、chroma_deblocking_filter_override_flagが拡張シンタクス要素として設定されるようにしてもよい。そして、そのchroma_deblocking_filter_override_flagの値が真(例えば「1」)の場合のみ、slice_chroma_deblocking_filter_disabled_flagが拡張シンタクス要素として設定されるようにしてもよい。
 chroma_deblocking_filter_override_flagは、クロマに対するデブロッキングフィルタを制御するシンタクス要素が、当該スライスヘッダに存在するか否かを示すフラグである。つまり、このフラグは、deblocking_filter_override_flagに対応する。例えば、chroma_deblocking_filter_override_flagの値が真(例えば「1」)の場合、当該スライスヘッダにそのようなシンタクス要素が存在する。つまり、この場合、slice_chroma_deblocking_filter_disabled_flagが設定される。また、例えば、chroma_deblocking_filter_override_flagの値が偽(例えば「0」)の場合、当該スライスヘッダにそのようなシンタクス要素が存在しない。つまり、この場合、slice_chroma_deblocking_filter_disabled_flagの設定が省略される。
 このようにすることにより、各階層のヘッダ情報におけるクロマに対するデブロッキングフィルタ処理を制御する制御情報の存在を、既存のデブロッキングフィルタ処理を制御する制御情報とは独立して制御することができる。そしてこのような制御パラメータを利用することにより、クロマに対するデブロッキングフィルタ処理をルマに対するデブロッキングフィルタ処理とは独立に制御する必要がないスライスについて、クロマに対するデブロッキングフィルタ処理を制御する制御情報を省略することができるので、その分符号量の増大を抑制し、符号化効率の低減を抑制することができる。
  <画像符号化装置、ループフィルタ>
 この場合、本技術を適用した画像処理装置の一態様である画像符号化装置の構成は、第1の実施の形態と同様である(図8)。また、この場合のループフィルタ120の構成も第1の実施の形態と同様である(図10)。
  <ヘッダ情報生成部>
 この場合の、ヘッダ情報生成部131の主な構成例を図23に示す。図23に示されるように、ヘッダ情報生成部131は、基本的に、第1の実施の形態の場合(図9)と同様の構成を有するが、PPS拡張シンタクス生成部162は、さらに、chroma_deblocking_filter_control_present_flag生成部271と、chroma_deblocking_filter_override_enabled_flag生成部272を有する。また、SH拡張シンタクス生成部163は、さらに、chroma_deblocking_filter_override_flag生成部273を有する。
 chroma_deblocking_filter_control_present_flag生成部271は、当該ピクチャパラメータセットにchroma_deblocking_filter_control_present_flagを拡張シンタクスとして生成する。図21を参照して説明したように、chroma_deblocking_filter_control_present_flagは、クロマに対するデブロッキングフィルタを制御するシンタクス要素が、当該ピクチャパラメータセットに存在するか否かを示すフラグである。
 chroma_deblocking_filter_override_enabled_flag生成部272は、当該ピクチャパラメータセットにchroma_deblocking_filter_override_enabled_flagを拡張シンタクスとして生成する。図21を参照して説明したように、chroma_deblocking_filter_override_enabled_flagは、当該ピクチャに属するスライスのスライスヘッダの中に後述するchroma_deblocking_filter_override_flagが存在するか否かを示すフラグである。
 chroma_deblocking_filter_override_flag生成部273は、当該スライスヘッダにchroma_deblocking_filter_override_flagを拡張シンタクスとして生成する。図22を参照して説明したように、chroma_deblocking_filter_override_flagは、クロマに対するデブロッキングフィルタを制御するシンタクス要素が、当該スライスヘッダに存在するか否かを示すフラグである。
  <符号化処理の流れ>
 また、この場合、画像符号化装置100により実行される符号化処理の流れは、第1の実施の形態と同様である(図11)。
  <ヘッダ情報生成処理の流れ>
 次に、この場合の、符号化処理のステップS101において実行されるヘッダ情報生成処理の流れの例を、図24のフローチャートを参照して説明する。
 ヘッダ情報生成処理が開始されると、ステップS271乃至ステップS273の各処理が、図12のステップS121乃至ステップS123の各処理と同様に実行される。
 ステップS274において、chroma_deblocking_filter_control_present_flag生成部271は、ピクチャパラメータセットのchroma_deblocking_filter_control_present_flagを拡張シンタクスとして生成する。
 ステップS275において、ヘッダ制御部141は、ステップS274において設定されたピクチャパラメータセットのchroma_deblocking_filter_control_present_flagの値が真(例えば「1」)であるか否かを判定する。chroma_deblocking_filter_control_present_flagの値が真(例えば「1」)であると判定された場合、処理はステップS276に進む。
 ステップS276において、chroma_deblocking_filter_override_enabled_flag生成部272は、ピクチャパラメータセットのchroma_deblocking_filter_override_enabled_flagを拡張シンタクスとして生成する。
 ステップS277の処理は、図12のステップS124の処理と同様に実行される。
 ステップS277の処理が終了すると処理はステップS278に進む。また、ステップS275において、chroma_deblocking_filter_control_present_flagの値が偽(例えば「0」)であると判定された場合、処理はステップS278に進む。
 ステップS278の処理は、図12のステップS125の処理と同様に実行される。
 ステップS279において、ヘッダ制御部141は、スライスヘッダにおいて、chroma_deblocking_filter_override_enabled_flagの値が真(例えば「1」)であるか否かを判定する。chroma_deblocking_filter_override_enabled_flagの値が真(例えば「1」)であると判定された場合、処理はステップS280に進む。
 ステップS280において、chroma_deblocking_filter_override_flag生成部273は、スライスヘッダのchroma_deblocking_filter_override_flagを拡張シンタクスとして生成する。
 ステップS281において、ヘッダ制御部141は、スライスヘッダにおいて、ステップS280において生成されたchroma_deblocking_filter_override_flagの値が真(例えば「1」)であるか否かを判定する。deblocking_filter_override_flagの値が真(例えば「1」)であると判定された場合、処理はステップS282に進む。
 ステップS282の処理は、図12のステップS126の処理と同様に実行される。
 ステップS282の処理が終了すると、ヘッダ情報生成処理が終了し、処理は図11に戻る。また、ステップS279において、chroma_deblocking_filter_override_enabled_flagの値が偽(例えば「0」)であると判定された場合、ヘッダ情報生成処理が終了し、処理は図11に戻る。さらに、ステップS281において、chroma_deblocking_filter_override_flagの値が偽(例えば「0」)であると判定された場合、ヘッダ情報生成処理が終了し、処理は図11に戻る。
 以上のように、クロマに対するデブロッキングフィルタに関する制御パラメータを生成することにより、クロマに対するデブロッキングフィルタ処理を制御する制御情報の生成を、ルマに対するデブロッキングフィルタ処理とは独立に制御することができる。そしてこのような制御パラメータを利用することにより、符号量の増大を抑制し、符号化効率の低減を抑制することができる。
  <ループフィルタ処理の流れ>
 次に、この場合の、符号化処理のステップS112において実行されるループフィルタ処理の流れの例を、図25のフローチャートを参照して説明する。
 ループフィルタ処理が開始されると、ステップS301の処理が、図13のステップS141の処理と同様に実行される。
 ステップS302において、デブロッキングフィルタ制御部181は、ヘッダ情報に含まれるchroma_deblocking_filter_control_present_flagの値に基づいて、pps_chroma_deblocking_filter_disabled_flagの値を確認する。例えば、デブロッキングフィルタ制御部181は、chroma_deblocking_filter_control_present_flagの値が真(例えば「1」)の場合、pps_chroma_deblocking_filter_disabled_flagの値を確認し、その値をステップS303の処理において利用させるようにする。また、例えば、デブロッキングフィルタ制御部181は、chroma_deblocking_filter_control_present_flagの値が偽(例えば「0」)の場合、pps_chroma_deblocking_filter_disabled_flagの値の確認を省略し、ステップS303の処理において、pps_chroma_deblocking_filter_disabled_flagの値を利用させないようにする。
 また、デブロッキングフィルタ制御部181は、ヘッダ情報に含まれるchroma_deblocking_filter_override_enabled_flagや、chroma_deblocking_filter_override_flagの値に基づいて、slice_chroma_deblocking_filter_disabled_flagの値を確認する。例えば、デブロッキングフィルタ制御部181は、chroma_deblocking_filter_override_enabled_flagおよびchroma_deblocking_filter_override_flagの値が真(例えば「1」)の場合、slice_chroma_deblocking_filter_disabled_flagの値を確認し、その値をステップS303の処理において利用させるようにする。また、例えば、デブロッキングフィルタ制御部181は、chroma_deblocking_filter_override_enabled_flag若しくはchroma_deblocking_filter_override_flagの値が偽(例えば「0」)の場合、slice_chroma_deblocking_filter_disabled_flagの値の確認を省略し、ステップS303の処理において、slice_chroma_deblocking_filter_disabled_flagの値を利用させないようにする。
 ステップS303の処理は、図13のステップS142の処理と同様に実行される。ただし、ステップS302において、pps_chroma_deblocking_filter_disabled_flagや、slice_chroma_deblocking_filter_disabled_flagについて、値の確認が省略された場合、その値に基づかずに、復号画像のクロマに対するデブロッキングフィルタ処理を行う。
 ステップS303の処理が終了すると、ループフィルタ処理が終了し、処理は図11に戻る。
 以上のようにループフィルタ処理を行うことにより、画像符号化装置100(ループフィルタ120)は、クロマに対するデブロッキングフィルタ処理をルマに対するデブロッキングフィルタ処理とは独立に制御する必要がないスライスについて、クロマに対するデブロッキングフィルタ処理を制御する制御情報の参照を省略することができる。したがって、画像符号化装置100(ループフィルタ120)は、本技術を適用することにより、画質の低減を抑制しながら、処理の負荷の増大を抑制することができる。
  <画像復号装置、ループフィルタ>
 この場合、本技術を適用した画像処理装置の一態様である画像復号装置の構成は、第1の実施の形態と同様である(図14)。また、この場合のループフィルタ216の構成も第1の実施の形態と同様である(図15)。
  <復号処理の流れ>
 また、この場合、画像復号装置200により実行される復号処理の流れは、第1の実施の形態と同様である(図16)。
 つまり、第1の実施の形態の場合と同様に、復号処理のステップS208において、ループフィルタ216は、ループフィルタ処理を、図25のフローチャートを参照して説明した、画像符号化装置100のループフィルタ120によるループフィルタ処理の場合と同様に行う。つまり、図25に示されるループフィルタ処理の流れの例の説明は、ループフィルタ216によるループフィルタ処理(すなわち、この場合の復号処理のステップS208の処理)の説明にも適用することができる。
 つまり、画像復号装置200(ループフィルタ216)は、クロマに対するデブロッキングフィルタに関する制御パラメータの値に応じて、クロマに対するデブロッキングフィルタ処理を制御する制御情報を参照して利用する。これにより、画像復号装置200(ループフィルタ216)は、クロマに対するデブロッキングフィルタ処理をルマに対するデブロッキングフィルタ処理とは独立に制御する必要がないスライスについて、クロマに対するデブロッキングフィルタ処理を制御する制御情報の参照を省略することができる。したがって、画像復号装置200(ループフィルタ216)は、本技術を適用することにより、画質の低減を抑制しながら、処理の負荷の増大を抑制することができる。
 なお、以上に説明したような、クロマに対するデブロッキングフィルタに関する制御パラメータの値に応じた、クロマに対するデブロッキングフィルタ処理を制御する制御情報の生成は任意の階層のヘッダ情報において行うことができ、例えば、ピクチャパラメータセット若しくはスライスヘッダのいずれか一方でのみ行うようにしてもよいし、これら以外のヘッダ情報において行うようにしてもよい。
 <4.第4の実施の形態>
  <デブロッキングフィルタの制御パラメータの利用>
 なお、既存のデブロッキングフィルタに関する制御パラメータと、クロマに対するデブロッキングフィルタに関する制御パラメータとの両方に応じて、クロマに対するデブロッキングフィルタ処理を制御する制御情報の生成を制御するようにしてもよい。
 このようにすることにより、明らかに不要なクロマに対するデブロッキングフィルタ処理を制御する制御情報を省略するとともに、クロマに対するデブロッキングフィルタ処理をルマに対するデブロッキングフィルタ処理とは独立に制御する必要がないスライスについて、クロマに対するデブロッキングフィルタ処理を制御する制御情報を省略することができるので、その分符号量の増大を抑制し、符号化効率の低減を抑制することができる。
 より具体的な例について説明する。図26に示されるように、例えばピクチャパラメータセットにおいて、deblocking_filter_control_present_flagの値が真(「1」)の場合のみ、chroma_deblocking_filter_control_present_flagを拡張シンタクス要素として設定し、このchroma_deblocking_filter_control_present_flagの値が真(例えば「1」)の場合のみ、pps_chroma_deblocking_filter_disabled_flagが拡張シンタクス要素として設定されるようにしてもよい。また、その際、拡張シンタクスとして、chroma_deblocking_filter_override_enabled_flagが設定されるようにしてもよい。
 また、図27に示されるように、例えばスライスヘッダにおいて、deblocking_filter_override_flagの値が真(「1」)であり、かつ、当該スライスヘッダが属するピクチャパラメータセットにおいて設定されたchroma_deblocking_filter_override_enabled_flagの値が真(例えば「1」)の場合のみ、chroma_deblocking_filter_override_flagを拡張シンタクス要素として設定し、このchroma_deblocking_filter_override_flagの値が真(例えば「1」)の場合のみ、slice_chroma_deblocking_filter_disabled_flagが拡張シンタクス要素として設定されるようにしてもよい。
 このようにすることにより、各階層のヘッダ情報におけるクロマに対するデブロッキングフィルタ処理を制御する制御情報の存在を、既存のデブロッキングフィルタ処理を制御する制御情報とは独立して制御することができる。そしてこのような制御パラメータを利用することにより、クロマに対するデブロッキングフィルタ処理をルマに対するデブロッキングフィルタ処理とは独立に制御する必要がないスライスについて、クロマに対するデブロッキングフィルタ処理を制御する制御情報を省略することができる。さらに、明らかに不要なクロマに対するデブロッキングフィルタ処理を制御する制御情報を省略することができるので、その分符号量の増大を抑制し、符号化効率の低減を抑制することができる。
  <画像符号化装置、ヘッダ情報生成部、ループフィルタ>
 この場合、本技術を適用した画像処理装置の一態様である画像符号化装置の構成は、第1の実施の形態と同様である(図8)。また、この場合のヘッダ情報生成部131の構成は、第3の実施の形態と同様である(図23)。また、この場合のループフィルタ120の構成は第1の実施の形態と同様である(図10)。
  <符号化処理の流れ>
 また、この場合、画像符号化装置100により実行される符号化処理の流れは、第1の実施の形態と同様である(図11)。
  <ヘッダ情報生成処理の流れ>
 次に、この場合の、符号化処理のステップS101において実行されるヘッダ情報生成処理の流れの例を、図28および図29のフローチャートを参照して説明する。
 ヘッダ情報生成処理が開始されると、ステップS321乃至ステップS324の各処理が、図19のステップS231乃至ステップS234の各処理と同様に実行される。ステップS324において、deblocking_filter_control_present_flagの値が真(「1」)であると判定された場合、処理はステップS325に進む。
 ステップS325乃至ステップS328の各処理は、図24のステップS274乃至ステップS277の各処理と同様に実行される。
 ステップS328の処理が終了すると、処理は、図29のステップS331に進む。また、図28のステップS326において、chroma_deblocking_filter_control_present_flagの値が偽(例えば「0」)であると判定された場合、処理は図29のステップS331に進む。さらに、図28のステップS324において、deblocking_filter_control_present_flagの値が偽(「0」)であると判定された場合、処理は図29のステップS331に進む。
 図29のステップS331およびステップS332の各処理は、図19のステップS236およびステップS237の各処理と同様に実行される。ステップS332において、deblocking_filter_override_flagの値が真(「1」)であると判定された場合、処理はステップS333に進む。
 ステップS333乃至ステップS336の各処理は、図24のステップS279乃至ステップS282の各処理と同様に実行される。
 ステップS336の処理が終了すると、ヘッダ情報生成処理が終了し、処理は図11に戻る。また、ステップS335において、chroma_deblocking_filter_override_flagの値が偽(例えば「0」)であると判定された場合、ヘッダ情報生成処理が終了し、処理は図11に戻る。さらに、ステップS333において、chroma_deblocking_filter_override_enabled_flagの値が偽(例えば「0」)であると判定された場合、ヘッダ情報生成処理が終了し、処理は図11に戻る。さらに、ステップS332において、deblocking_filter_override_flagの値が偽(「0」)であると判定された場合、ヘッダ情報生成処理が終了し、処理は図11に戻る。
 以上のように処理を行うことにより、画像符号化装置100(ヘッダ情報生成部131)は、画質の低減を抑制しながら、符号量の増大を抑制し、符号化効率の低減を抑制することができる。
  <ループフィルタ処理の流れ>
 次に、この場合の、符号化処理のステップS112において実行されるループフィルタ処理の流れの例を、図30のフローチャートを参照して説明する。
 ループフィルタ処理が開始されると、ステップS351の処理が、図13のステップS141の処理と同様に実行される。
 ステップS352において、デブロッキングフィルタ制御部181は、ヘッダ情報に含まれるdeblocking_filter_control_present_flagおよびchroma_deblocking_filter_control_present_flagの値に基づいて、pps_chroma_deblocking_filter_disabled_flagの値を確認する。例えば、デブロッキングフィルタ制御部181は、deblocking_filter_control_present_flagの値が真(「1」)であり、かつ、chroma_deblocking_filter_control_present_flagの値が真(例えば「1」)の場合、pps_chroma_deblocking_filter_disabled_flagの値を確認し、その値をステップS353の処理において利用させるようにする。また、例えば、デブロッキングフィルタ制御部181は、deblocking_filter_control_present_flagの値が偽(「0」)の場合、または、chroma_deblocking_filter_control_present_flagの値が偽(例えば「0」)の場合、pps_chroma_deblocking_filter_disabled_flagの値の確認を省略し、ステップS353の処理において、pps_chroma_deblocking_filter_disabled_flagの値を利用させないようにする。
 また、デブロッキングフィルタ制御部181は、ヘッダ情報に含まれるdeblocking_filter_override_flag、chroma_deblocking_filter_override_enabled_flag、およびchroma_deblocking_filter_override_flagの値に基づいて、slice_chroma_deblocking_filter_disabled_flagの値を確認する。例えば、デブロッキングフィルタ制御部181は、deblocking_filter_override_flag、chroma_deblocking_filter_override_enabled_flag、およびchroma_deblocking_filter_override_flagの値が真(例えば「1」)の場合、slice_chroma_deblocking_filter_disabled_flagの値を確認し、その値をステップS353の処理において利用させるようにする。また、例えば、デブロッキングフィルタ制御部181は、deblocking_filter_override_flag、chroma_deblocking_filter_override_enabled_flag、若しくはchroma_deblocking_filter_override_flagの値が偽(例えば「0」)の場合、slice_chroma_deblocking_filter_disabled_flagの値の確認を省略し、ステップS353の処理において、slice_chroma_deblocking_filter_disabled_flagの値を利用させないようにする。
 ステップS353の処理は、図13のステップS142の処理と同様に実行される。ただし、ステップS352において、pps_chroma_deblocking_filter_disabled_flagや、slice_chroma_deblocking_filter_disabled_flagについて、値の確認が省略された場合、その値に基づかずに、復号画像のクロマに対するデブロッキングフィルタ処理を行う。
 ステップS353の処理が終了すると、ループフィルタ処理が終了し、処理は図11に戻る。
 以上のようにループフィルタ処理を行うことにより、画像符号化装置100(ループフィルタ120)は、クロマに対するデブロッキングフィルタ処理が明らかに不要なスライスや、クロマに対するデブロッキングフィルタ処理をルマに対するデブロッキングフィルタ処理とは独立に制御する必要がないスライスについて、クロマに対するデブロッキングフィルタ処理を制御する制御情報の参照を省略することができる。したがって、画像符号化装置100(ループフィルタ120)は、本技術を適用することにより、画質の低減を抑制しながら、処理の負荷の増大を抑制することができる。
  <画像復号装置、ループフィルタ>
 この場合、本技術を適用した画像処理装置の一態様である画像復号装置の構成は、第1の実施の形態と同様である(図14)。また、この場合のループフィルタ216の構成も第1の実施の形態と同様である(図15)。
  <復号処理の流れ>
 また、この場合、画像復号装置200により実行される復号処理の流れは、第1の実施の形態と同様である(図16)。
 つまり、第1の実施の形態の場合と同様に、復号処理のステップS208において、ループフィルタ216は、ループフィルタ処理を、図30のフローチャートを参照して説明した、画像符号化装置100のループフィルタ120によるループフィルタ処理の場合と同様に行う。つまり、図30に示されるループフィルタ処理の流れの例の説明は、ループフィルタ216によるループフィルタ処理(すなわち、この場合の復号処理のステップS208の処理)の説明にも適用することができる。
 つまり、画像復号装置200(ループフィルタ216)は、既存のデブロッキングフィルタに関する制御パラメータや、クロマに対するデブロッキングフィルタに関する制御パラメータの値に応じて、クロマに対するデブロッキングフィルタ処理を制御する制御情報を参照して利用する。これにより、画像復号装置200(ループフィルタ216)は、クロマに対するデブロッキングフィルタ処理が明らかに不要なスライスや、クロマに対するデブロッキングフィルタ処理をルマに対するデブロッキングフィルタ処理とは独立に制御する必要がないスライスについて、クロマに対するデブロッキングフィルタ処理を制御する制御情報の参照を省略することができる。したがって、画像復号装置200(ループフィルタ216)は、本技術を適用することにより、画質の低減を抑制しながら、処理の負荷の増大を抑制することができる。
 なお、以上に説明したような、既存のデブロッキングフィルタに関する制御パラメータやクロマに対するデブロッキングフィルタに関する制御パラメータの値に応じた、クロマに対するデブロッキングフィルタ処理を制御する制御情報の生成は任意の階層のヘッダ情報において行うことができ、例えば、ピクチャパラメータセット若しくはスライスヘッダのいずれか一方でのみ行うようにしてもよいし、これら以外のヘッダ情報において行うようにしてもよい。
 <5.第5の実施の形態>
  <フィルタ強度の制御>
 以上においては、クロマに対するデブロッキングフィルタ処理を制御する制御情報によって、フィルタ処理の実行制御について説明したが、これに限らず、クロマに対するデブロッキングフィルタ処理を制御する制御情報によって、フィルタ強度の制御を行うようにしてもよい。
 このようにすることにより、クロマに対するデブロッキングフィルタ処理のフィルタ強度を、輝度成分(ルマ)に対するデブロッキングフィルタ処理のフィルタ強度から独立して制御することができる。例えば、ルマに対するフィルタ強度を変えずにクロマに対するフィルタ強度を抑制することもできる。したがって、例えばスクリーンコンテントの文字潰れを抑制する等、自然画像に対してだけでなく、スクリーンコンテントの画像に対してもより適切なデブロッキングフィルタ処理を行うことができるようになる。つまり、本技術を適用することにより、画質の低減を抑制することができる。
 より具体的な例を説明する。図31に示されるように、例えばピクチャパラメータセットにおいて、deblocking_filter_control_present_flagの値が真(「1」)であり、かつ、pps_deblocking_filter_disabled_flagの値が偽(「0」)である場合、pps_chroma_beta_offset_div2とpps_chroma_tc_offset_div2とが拡張シンタクス要素として設定されるようにしてもよい。
 pps_chroma_beta_offset_div2は、その値を2倍した値が、当該ピクチャに属するスライスの内、slice_deblocking_filter_disabled_flagが定義されていないスライスに対して行われるクロマに対するデブロッキングフィルタのパラメータβの初期オフセットを示す。pps_chroma_tc_offset_div2は、その値を2倍した値が、当該ピクチャに属するスライスの内、slice_deblocking_filter_disabled_flagが定義されていないスライスに対して行われるクロマに対するデブロッキングフィルタのパラメータtCの初期オフセットを示す。つまり、これらは、フィルタ強度(強度をどの程度にするか)を制御するシンタクス要素である。
 また、図32に示されるように、例えばスライスヘッダにおいて、deblocking_filter_override_flagの値が真(「1」)であり、かつ、slice_deblocking_filter_disabled_flagの値が偽(「0」)である場合、slice_chroma_beta_offset_div2とslice_chroma_tc_offset_div2とが拡張シンタクス要素として設定されるようにしてもよい。
 slice_chroma_beta_offset_div2は、その値を2倍した値が、当該スライスに対して行われるクロマに対するデブロッキングフィルタのパラメータβの初期オフセットを示す。slice_chroma_tc_offset_div2は、その値を2倍した値が、当該スライスに対して行われるクロマに対するデブロッキングフィルタのパラメータtCの初期オフセットを示す。つまり、これらは、フィルタ強度(強度をどの程度にするか)を制御するシンタクス要素である。
 図33に示されるように、ピクチャパラメータセットにおいてpps_chroma_beta_offset_div2やpps_chroma_tc_offset_div2が設定される場合、それらの値がクロマに対するデブロッキングフィルタのフィルタ強度を制御する制御値として設定され、さらにスライスヘッダにおいてslice_chroma_beta_offset_div2やslice_chroma_tc_offset_div2が設定される場合、それらの値が制御値に上書きされる。クロマに対するデブロッキングフィルタ処理のフィルタ強度は、最終的に設定された制御値(つまり最下層の制御情報)に基づいて制御される。
 なお、ルマに対するデブロッキングフィルタ処理は、HEVCのバージョン1の場合と同様、deblocking_filter_control_present_flag、deblocking_filter_override_enabled_flag、pps_deblocking_filter_disabeld_flag、pps_beta_offset_div2、pps_tc_offset_div2、deblocking_filter_override_flag、slice_deblocking_filter_disabeld_flag、slice_beta_offset_div2、slice_tc_offset_div2等のシンタクス要素により制御される。
 このようにすることにより、各階層のヘッダ情報において、クロマに対するデブロッキングフィルタ処理のフィルタ強度を、ルマに対するデブロッキングフィルタのフィルタ強度とは独立して制御することができ、画質の低減を抑制することができる。
  <画像符号化装置、ループフィルタ>
 この場合、本技術を適用した画像処理装置の一態様である画像符号化装置の構成は、第1の実施の形態と同様である(図8)。また、この場合のループフィルタ120の構成も第1の実施の形態と同様である(図10)。
  <ヘッダ情報生成部>
 この場合の、ヘッダ情報生成部131の主な構成例を図34に示す。図34に示されるように、ヘッダ情報生成部131は、基本的に、第1の実施の形態の場合(図9)と同様の構成を有する。なお、図34においては、SPS生成部151を省略しているが、図9の場合と同様にSPS生成部151を設けるようにしてもよい。図34の場合、PPS拡張シンタクス生成部162は、pps_chroma_beta_offset_div2生成部281とpps_chroma_tc_offset_div2生成部282とを有する。また、SH拡張シンタクス生成部163は、slice_chroma_beta_offset_div2生成部283とslice_chroma_tc_offset_div2生成部284とを有する。
 pps_chroma_beta_offset_div2生成部281は、当該ピクチャパラメータセットにpps_chroma_beta_offset_div2を拡張シンタクスとして生成する。図31を参照して説明したように、pps_chroma_beta_offset_div2は、フィルタ強度(強度をどの程度にするか)を制御するシンタクス要素であり、その値を2倍した値が、当該ピクチャに属するスライスの内、slice_deblocking_filter_disabled_flagが定義されていないスライスに対して行われるクロマに対するデブロッキングフィルタのパラメータβの初期オフセットを示す。
 pps_chroma_tc_offset_div2生成部282は、当該ピクチャパラメータセットにpps_chroma_tc_offset_div2を拡張シンタクスとして生成する。図31を参照して説明したように、pps_chroma_tc_offset_div2は、フィルタ強度(強度をどの程度にするか)を制御するシンタクス要素であり、その値を2倍した値が、当該ピクチャに属するスライスの内、slice_deblocking_filter_disabled_flagが定義されていないスライスに対して行われるクロマに対するデブロッキングフィルタのパラメータtCの初期オフセットを示す。
 slice_chroma_beta_offset_div2生成部283は、当該スライスヘッダにslice_chroma_beta_offset_div2を拡張シンタクスとして生成する。図32を参照して説明したように、slice_chroma_beta_offset_div2は、フィルタ強度(強度をどの程度にするか)を制御するシンタクス要素であり、その値を2倍した値が、当該スライスに対して行われるクロマに対するデブロッキングフィルタのパラメータβの初期オフセットを示す。
 slice_chroma_tc_offset_div2生成部284は、当該スライスヘッダにslice_chroma_tc_offset_div2を拡張シンタクスとして生成する。図32を参照して説明したように、slice_chroma_tc_offset_div2は、フィルタ強度(強度をどの程度にするか)を制御するシンタクス要素であり、その値を2倍した値が、当該スライスに対して行われるクロマに対するデブロッキングフィルタのパラメータtCの初期オフセットを示す。
  <符号化処理の流れ>
 また、この場合、画像符号化装置100により実行される符号化処理の流れは、第1の実施の形態と同様である(図11)。
  <ヘッダ情報生成処理の流れ>
 次に、この場合の、符号化処理のステップS101において実行されるヘッダ情報生成処理の流れの例を、図35のフローチャートを参照して説明する。
 ヘッダ情報生成処理が開始されると、ステップS371およびステップS372の各処理が、図19のステップS233およびステップS234の各処理と同様に実行される。ステップS372において、deblocking_filter_control_present_flagの値が真(「1」)であると判定された場合、処理はステップS373に進む。
 ステップS373において、ヘッダ制御部141は、ピクチャパラメータセットにおいて、pps_deblocking_filter_disabled_flagの値が偽(「0」)であるか否かを判定する。pps_deblocking_filter_disabled_flagの値が偽(「0」)であると判定された場合、処理はステップS374に進む。
 ステップS374において、pps_chroma_beta_offset_div2生成部281は、pps_chroma_beta_offset_div2を拡張シンタクスとして生成する。ステップS375において、pps_chroma_tc_offset_div2生成部282は、pps_chroma_tc_offset_div2を拡張シンタクスとして生成する。
 ステップS375の処理が終了すると、処理はステップS376に進む。また、ステップS373において、pps_deblocking_filter_disabled_flagの値が真(「1」)であると判定された場合、処理はステップS376に進む。さらに、ステップS372において、deblocking_filter_control_present_flagの値が偽(「0」)であると判定された場合、処理はステップS376に進む。
 ステップS376およびステップS377の各処理は、図19のステップS236およびステップS237の各処理と同様に実行される。ステップS377において、deblocking_filter_override_flagの値が真(「1」)であると判定された場合、処理はステップS378に進む。
 ステップS378において、ヘッダ制御部141は、スライスヘッダにおいて、slice_deblocking_filter_disabled_flagの値が偽(「0」)であるか否かを判定する。slice_deblocking_filter_disabled_flagの値が偽(「0」)であると判定された場合、処理はステップS379に進む。
 ステップS379において、slice_chroma_beta_offset_div2生成部283は、slice_chroma_beta_offset_div2を拡張シンタクスとして生成する。ステップS380において、slice_chroma_tc_offset_div2生成部284は、slice_chroma_tc_offset_div2を拡張シンタクスとして生成する。
 ステップS380の処理が終了すると、ヘッダ情報生成処理が終了し、処理は図11に戻る。また、ステップS378において、slice_deblocking_filter_disabled_flagの値が真(「1」)であると判定された場合、ヘッダ情報生成処理が終了し、処理は図11に戻る。さらに、ステップS377において、deblocking_filter_override_flagの値が偽(「0」)であると判定された場合、ヘッダ情報生成処理が終了し、処理は図11に戻る。
 以上のようにヘッダ情報として、画像データの色差成分(クロマ)に対するデブロッキングフィルタ処理のフィルタ強度を制御する制御情報を生成することにより、画像符号化装置100(ヘッダ情報生成部131)は、クロマに対するデブロッキングフィルタ処理のフィルタ強度を、輝度成分(ルマ)に対するデブロッキングフィルタ処理のフィルタ強度から独立して制御することができる。例えば、ルマに対するフィルタ強度を変えずにクロマに対するフィルタ強度を抑制することができる。したがって、画像符号化装置100(ヘッダ情報生成部131)は、本技術を適用することにより、画像データの符号化や復号の際に行われるデブロッキングフィルタ処理において、自然画像に対してだけでなく、スクリーンコンテントの画像に対してもより適切に処理を実行させることができ、画質の低減を抑制することができる。
  <ループフィルタ処理の流れ>
 次に、この場合の、符号化処理のステップS112において実行されるループフィルタ処理の流れの例を、図36のフローチャートを参照して説明する。
 ループフィルタ処理が開始されると、ステップS401において、デブロッキングフィルタ制御部181は、ヘッダ情報に含まれるdeblocking_filter_control_present_flagの値に基づいて、pps_ deblocking_filter_disabled_flagの値を確認する。例えば、デブロッキングフィルタ制御部181は、deblocking_filter_control_present_flagの値が真(「1」)の場合、pps_deblocking_filter_disabled_flagの値を確認し、その値をステップS402の処理において利用させるようにする。また、例えば、デブロッキングフィルタ制御部181は、deblocking_filter_control_present_flagの値が偽(「0」)の場合、pps_ deblocking_filter_disabled_flagの値の確認を省略し、ステップS402の処理において、pps_deblocking_filter_disabled_flagの値を利用させないようにする。
 また、デブロッキングフィルタ制御部181は、ヘッダ情報に含まれるdeblocking_filter_override_flagの値に基づいて、slice_deblocking_filter_disabled_flagの値を確認する。例えば、デブロッキングフィルタ制御部181は、deblocking_filter_override_flagの値が真(「1」)の場合、slice_deblocking_filter_disabled_flagの値を確認し、その値をステップS402の処理において利用させるようにする。また、例えば、デブロッキングフィルタ制御部181は、deblocking_filter_override_flagの値が偽(「0」)の場合、slice_deblocking_filter_disabled_flagの値の確認を省略し、ステップS402の処理において、slice_deblocking_filter_disabled_flagの値を利用させないようにする。
 ステップS402において、デブロッキングフィルタ制御部181は、pps_deblocking_filter_disabled_flagや、slice_deblocking_filter_disabled_flagの値に基づいて、デブロッキングフィルタ処理を行うか否かを判定する。ただし、デブロッキングフィルタ制御部181は、ステップS401において確認されたシンタクス要素の値のみに基づいて判定する。デブロッキングフィルタ処理を行うと判定された場合、処理はステップS403に進む。
 ステップS403において、デブロッキングフィルタ制御部181は、pps_beta_offset_div2およびslice_beta_offset_div2を用いて、ルマに対するデブロッキングフィルタのパラメータβを導出する。
 ステップS404において、デブロッキングフィルタ制御部181は、pps_tc_offset_div2およびslice_tc_offset_div2を用いて、ルマに対するデブロッキングフィルタのパラメータtCを導出する。
 ステップS405において、ルマデブロッキングフィルタ処理部191は、ステップS403において導出されたルマ用のパラメータβと、ステップS404において導出されたルマ用のパラメータtCを用いて、ルマに対するデブロッキングフィルタ処理を行う。
 ステップS406において、デブロッキングフィルタ制御部181は、pps_chroma_beta_offset_div2およびslice_chroma_beta_offset_div2を用いて、クロマに対するデブロッキングフィルタのパラメータβを導出する。
 ステップS407において、デブロッキングフィルタ制御部181は、pps_chroma_tc_offset_div2およびslice_chroma_tc_offset_div2を用いて、クロマに対するデブロッキングフィルタのパラメータtCを導出する。
 ステップS408において、クロマデブロッキングフィルタ処理部192は、ステップS406において導出されたクロマ用のパラメータβと、ステップS407において導出されたクロマ用のパラメータtCを用いて、クロマに対するデブロッキングフィルタ処理を行う。
 ステップS408の処理が終了すると、ループフィルタ処理が終了し、処理は図11に戻る。また、ステップS402において、デブロッキングフィルタ処理を行わないと判定された場合、ループフィルタ処理が終了し、処理は図11に戻る。
 以上のようにヘッダ情報に含まれる画像データの色差成分(クロマ)に対するデブロッキングフィルタ処理を制御する制御情報に基づいてデブロッキングフィルタ処理を実行することにより、画像符号化装置100(ループフィルタ120)は、クロマに対するデブロッキングフィルタ処理のフィルタ強度を、輝度成分(ルマ)に対するデブロッキングフィルタ処理のフィルタ強度とは独立して制御することができる。例えば、ルマに対するフィルタ強度を変えずにクロマに対するフィルタ強度を抑制することができる。したがって、画像符号化装置100(ループフィルタ120)は、本技術を適用することにより、画像データの符号化の際に、自然画像に対してだけでなく、スクリーンコンテントの画像に対してもより適切にデブロッキングフィルタ処理を行うことができ、画質の低減を抑制することができる。
  <画像復号装置、ループフィルタ>
 この場合、本技術を適用した画像処理装置の一態様である画像復号装置の構成は、第1の実施の形態と同様である(図14)。また、この場合のループフィルタ216の構成も第1の実施の形態と同様である(図15)。
  <復号処理の流れ>
 また、この場合、画像復号装置200により実行される復号処理の流れは、第1の実施の形態と同様である(図16)。
 つまり、第1の実施の形態の場合と同様に、復号処理のステップS208において、ループフィルタ216は、ループフィルタ処理を、図36のフローチャートを参照して説明した、画像符号化装置100のループフィルタ120によるループフィルタ処理の場合と同様に行う。つまり、図36に示されるループフィルタ処理の流れの例の説明は、ループフィルタ216によるループフィルタ処理(すなわち、この場合の復号処理のステップS208の処理)の説明にも適用することができる。
 つまり、画像復号装置200(ループフィルタ216)は、ヘッダ情報に含まれる画像データの色差成分(クロマ)に対するデブロッキングフィルタ処理を制御する制御情報に基づいてデブロッキングフィルタ処理を実行することにより、クロマに対するデブロッキングフィルタ処理のフィルタ強度を、輝度成分(ルマ)に対するデブロッキングフィルタ処理のフィルタ強度とは独立して制御することができる。例えば、ルマに対するフィルタ強度を変えずにクロマに対するフィルタ強度を抑制することができる。したがって、画像復号装置200(ループフィルタ216)は、本技術を適用することにより、画像データの復号の際に、自然画像に対してだけでなく、スクリーンコンテントの画像に対してもより適切にデブロッキングフィルタ処理を行うことができ、画質の低減を抑制することができる。
 なお、以上に説明したような、クロマに対するデブロッキングフィルタ処理のフィルタ強度を制御する制御情報の生成は、任意の階層のヘッダ情報において行うことができ、例えば、ピクチャパラメータセット若しくはスライスヘッダのいずれか一方でのみ行うようにしてもよいし、これら以外のヘッダ情報において行うようにしてもよい。
 <6.第6の実施の形態>
  <フィルタ処理の実行制御とフィルタ強度の制御>
 なお、クロマに対するデブロッキングフィルタ処理の実行を制御する制御情報と、クロマに対するデブロッキングフィルタ処理のフィルタ強度を制御する制御情報の両方を生成するようにしてもよい。このようにすることにより、クロマに対するデブロッキングフィルタ処理の実行制御とフィルタ強度の制御の両方を、輝度成分(ルマ)に対するデブロッキングフィルタ処理の制御から独立して行うことができる。したがって、例えばスクリーンコンテントの文字潰れを抑制する等、自然画像に対してだけでなく、スクリーンコンテントの画像に対してもより適切なデブロッキングフィルタ処理を行うことができるようになる。つまり、本技術を適用することにより、画質の低減を抑制することができる。
 より具体的な例を説明する。図37に示されるように、例えばピクチャパラメータセットにおいて、pps_chroma_deblocking_filter_disabled_flagが拡張シンタクス要素として設定され、そのpps_chroma_deblocking_filter_disabled_flagの値が偽(例えば、「0」)である場合、pps_chroma_beta_offset_div2とpps_chroma_tc_offset_div2とが拡張シンタクス要素として設定されるようにしてもよい。
 また、図38に示されるように、例えばスライスヘッダにおいて、slice_chroma_deblocking_filter_disabled_flagが拡張シンタクス要素として設定され、そのslice_chroma_deblocking_filter_disabled_flagの値が偽(例えば、「0」)である場合、slice_chroma_beta_offset_div2とslice_chroma_tc_offset_div2とが拡張シンタクス要素として設定されるようにしてもよい。
 このようにすることにより、各階層のヘッダ情報において、クロマに対するデブロッキングフィルタ処理の実行とフィルタ強度を、ルマに対するデブロッキングフィルタ処理とは独立して制御することができ、画質の低減を抑制することができる。
  <画像符号化装置、ループフィルタ>
 この場合、本技術を適用した画像処理装置の一態様である画像符号化装置の構成は、第1の実施の形態と同様である(図8)。また、この場合のループフィルタ120の構成も第1の実施の形態と同様である(図10)。
  <ヘッダ情報生成部>
 この場合の、ヘッダ情報生成部131の主な構成例を図39に示す。図39に示されるように、ヘッダ情報生成部131は、基本的に、第5の実施の形態の場合(図34)と同様の構成を有する。なお、図39においては、SPS生成部151も示している。図39の場合、PPS拡張シンタクス生成部162は、さらに、pps_chroma_deblocking_filter_disabled_flag生成部172を有する。また、SH拡張シンタクス生成部163は、さらに、slice_chroma_deblocking_filter_disabled_flag生成部173を有する。
  <符号化処理の流れ>
 また、この場合、画像符号化装置100により実行される符号化処理の流れは、第1の実施の形態と同様である(図11)。
  <ヘッダ情報生成処理の流れ>
 次に、この場合の、符号化処理のステップS101において実行されるヘッダ情報生成処理の流れの例を、図40のフローチャートを参照して説明する。
 ヘッダ情報生成処理が開始されると、ステップS421乃至ステップS424の各処理が、図12のステップS121乃至ステップS124の各処理と同様に実行される。
 ステップS425において、ヘッダ制御部141は、ピクチャパラメータセットにおいて、pps_chroma_deblocking_filter_disabled_flagの値が偽(「0」)であるか否かを判定する。pps_chroma_deblocking_filter_disabled_flagの値が偽(「0」)であると判定された場合、処理はステップS426に進む。
 ステップS426およびステップS427の各処理は、図35のステップS374およびステップS375の各処理と同様に実行される。
 ステップS427の処理が終了すると、処理はステップS428に進む。また、ステップS425において、pps_chroma_deblocking_filter_disabled_flagの値が真(「1」)であると判定された場合、処理はステップS428に進む。
 ステップS428およびステップS429の各処理は、図12のステップS125およびステップS126の各処理と同様に実行される。
 ステップS430において、ヘッダ制御部141は、スライスヘッダにおいて、slice_chroma_deblocking_filter_disabled_flagの値が偽(「0」)であるか否かを判定する。slice_chroma_deblocking_filter_disabled_flagの値が偽(「0」)であると判定された場合、処理はステップS431に進む。
 ステップS431およびステップS432の各処理は、図35のステップS379およびステップS380の各処理と同様に実行される。
 ステップS432の処理が終了すると、ヘッダ情報生成処理が終了し、処理は図11に戻る。また、ステップS430において、slice_chroma_deblocking_filter_disabled_flagの値が真(「1」)であると判定された場合、ヘッダ情報生成処理が終了し、処理は図11に戻る。
 以上のようにヘッダ情報として、画像データの色差成分(クロマ)に対するデブロッキングフィルタ処理の実行を制御する制御情報と、フィルタ強度を制御する制御情報とを生成することにより、画像符号化装置100(ヘッダ情報生成部131)は、クロマに対するデブロッキングフィルタ処理を、輝度成分(ルマ)に対するデブロッキングフィルタ処理から独立して制御することができる。したがって、画像符号化装置100(ヘッダ情報生成部131)は、本技術を適用することにより、画像データの符号化や復号の際に行われるデブロッキングフィルタ処理において、自然画像に対してだけでなく、スクリーンコンテントの画像に対してもより適切に処理を実行させることができ、画質の低減を抑制することができる。
  <ループフィルタ処理の流れ>
 次に、この場合の、符号化処理のステップS112において実行されるループフィルタ処理の流れの例を、図41のフローチャートを参照して説明する。
 ループフィルタ処理が開始されると、ステップS451乃至ステップS455の各処理は、図36のステップS401乃至ステップS405の各処理と同様に実行される。
 ステップS456において、デブロッキングフィルタ制御部181は、ヘッダ情報に含まれるpps_chroma_deblocking_filter_disabled_flagの値と、slice_chroma_deblocking_filter_disabled_flagの値とを確認する。
 ステップS457において、デブロッキングフィルタ制御部181は、pps_chroma_deblocking_filter_disabled_flagや、slice_chroma_deblocking_filter_disabled_flagの値に基づいて、クロマに対してデブロッキングフィルタ処理を行うか否かを判定する。クロマに対してデブロッキングフィルタ処理を行うと判定された場合、処理はステップS458に進む。
 ステップS458乃至ステップS460の各処理は、図36のステップS406乃至ステップS408の各処理と同様に実行される。
 ステップS460の処理が終了すると、ループフィルタ処理が終了し、処理は図11に戻る。また、ステップS457において、クロマに対するデブロッキングフィルタ処理を行わないと判定された場合、ループフィルタ処理が終了し、処理は図11に戻る。さらに、ステップS452において、デブロッキングフィルタ処理を行わないと判定された場合、ループフィルタ処理が終了し、処理は図11に戻る。
 以上のようにヘッダ情報に含まれる画像データの色差成分(クロマ)に対するデブロッキングフィルタ処理を制御する制御情報に基づいてデブロッキングフィルタ処理を実行することにより、画像符号化装置100(ループフィルタ120)は、クロマに対するデブロッキングフィルタ処理の実行制御とフィルタ強度の制御とを、輝度成分(ルマ)に対するデブロッキングフィルタ処理の制御とは独立して行うことができる。したがって、画像符号化装置100(ループフィルタ120)は、本技術を適用することにより、画像データの符号化の際に、自然画像に対してだけでなく、スクリーンコンテントの画像に対してもより適切にデブロッキングフィルタ処理を行うことができ、画質の低減を抑制することができる。
  <画像復号装置、ループフィルタ>
 この場合、本技術を適用した画像処理装置の一態様である画像復号装置の構成は、第1の実施の形態と同様である(図14)。また、この場合のループフィルタ216の構成も第1の実施の形態と同様である(図15)。
  <復号処理の流れ>
 また、この場合、画像復号装置200により実行される復号処理の流れは、第1の実施の形態と同様である(図16)。
 つまり、第1の実施の形態の場合と同様に、復号処理のステップS208において、ループフィルタ216は、ループフィルタ処理を、図41のフローチャートを参照して説明した、画像符号化装置100のループフィルタ120によるループフィルタ処理の場合と同様に行う。つまり、図41に示されるループフィルタ処理の流れの例の説明は、ループフィルタ216によるループフィルタ処理(すなわち、この場合の復号処理のステップS208の処理)の説明にも適用することができる。
 つまり、画像復号装置200(ループフィルタ216)は、ヘッダ情報に含まれる画像データの色差成分(クロマ)に対するデブロッキングフィルタ処理を制御する制御情報に基づいてデブロッキングフィルタ処理を実行することにより、クロマに対するデブロッキングフィルタ処理の実行制御とフィルタ強度の制御の両方を、輝度成分(ルマ)に対するデブロッキングフィルタ処理の制御とは独立して行うことができる。したがって、画像復号装置200(ループフィルタ216)は、本技術を適用することにより、画像データの復号の際に、自然画像に対してだけでなく、スクリーンコンテントの画像に対してもより適切にデブロッキングフィルタ処理を行うことができ、画質の低減を抑制することができる。
 なお、以上に説明したような、クロマに対するデブロッキングフィルタ処理の実行やフィルタ強度を制御する制御情報の生成は、任意の階層のヘッダ情報において行うことができ、例えば、ピクチャパラメータセット若しくはスライスヘッダのいずれか一方でのみ行うようにしてもよいし、これら以外のヘッダ情報において行うようにしてもよい。
 <7.第7の実施の形態>
  <デブロッキングフィルタの制御パラメータの利用>
 なお、さらに、既存のデブロッキングフィルタに関する制御パラメータに対応して、クロマに対するデブロッキングフィルタに関する制御パラメータを生成するようにしてもよい。このようにすることにより、各階層のヘッダ情報におけるクロマに対するデブロッキングフィルタ処理を制御する制御情報の存在を、既存のデブロッキングフィルタ処理を制御する制御情報とは独立に示すことができる。換言するに、クロマに対するデブロッキングフィルタ処理を制御する制御情報の生成を、ルマに対するデブロッキングフィルタ処理とは独立に制御することができる。そしてこのような制御パラメータを利用することにより、クロマに対するデブロッキングフィルタ処理をルマに対するデブロッキングフィルタ処理とは独立に制御する必要がないスライスについて、クロマに対するデブロッキングフィルタ処理を制御する制御情報を省略することができるので、その分符号量の増大を抑制し、符号化効率の低減を抑制することができる。
 より具体的な例について説明する。図42に示されるように、例えばピクチャパラメータセットにおいて、chroma_deblocking_filter_control_present_flagを拡張シンタクス要素として設定し、このchroma_deblocking_filter_control_present_flagの値が真(例えば「1」)の場合のみ、chroma_deblocking_filter_override_enabled_flagとpps_chroma_deblocking_filter_disabled_flagとが拡張シンタクス要素として設定されるようにしてもよい。
 そして、そのpps_chroma_deblocking_filter_disabled_flagの値が偽(例えば、「0」)である場合、pps_chroma_beta_offset_div2とpps_chroma_tc_offset_div2とが拡張シンタクス要素として設定されるようにしてもよい。
 また、図43に示されるように、例えばスライスヘッダにおいて、当該スライスヘッダが属するピクチャパラメータセットにおいて設定されたchroma_deblocking_filter_override_enabled_flagの値が真(例えば「1」)である場合、chroma_deblocking_filter_override_flagが拡張シンタクス要素として設定され、そのchroma_deblocking_filter_override_flagの値が真(例えば「1」)である場合、slice_chroma_deblocking_filter_disabled_flagが拡張シンタクス要素として設定されるようにしてもよい。
 そして、そのslice_chroma_deblocking_filter_disabled_flagの値が偽(例えば、「0」)である場合、slice_chroma_beta_offset_div2とslice_chroma_tc_offset_div2とが拡張シンタクス要素として設定されるようにしてもよい。
 このようにすることにより、各階層のヘッダ情報において、クロマに対するデブロッキングフィルタ処理の実行とフィルタ強度を、ルマに対するデブロッキングフィルタ処理とは独立して制御することができ、画質の低減を抑制することができる。そしてこのような制御パラメータを利用することにより、クロマに対するデブロッキングフィルタ処理をルマに対するデブロッキングフィルタ処理とは独立に制御する必要がないスライスについて、クロマに対するデブロッキングフィルタ処理を制御する制御情報を省略することができるので、その分符号量の増大を抑制し、符号化効率の低減を抑制することができる。
  <画像符号化装置、ループフィルタ>
 この場合、本技術を適用した画像処理装置の一態様である画像符号化装置の構成は、第1の実施の形態と同様である(図8)。また、この場合のループフィルタ120の構成も第1の実施の形態と同様である(図10)。
  <ヘッダ情報生成部>
 この場合の、ヘッダ情報生成部131の主な構成例を図44に示す。図44に示されるように、ヘッダ情報生成部131は、基本的に、第6の実施の形態の場合(図39)と同様の構成を有する。ただし、図44の場合、PPS拡張シンタクス生成部162は、さらに、chroma_deblocking_filter_control_present_flag生成部271と、chroma_deblocking_filter_override_enabled_flag生成部272を有する。また、SH拡張シンタクス生成部163は、さらに、chroma_deblocking_filter_override_flag生成部273を有する。
  <符号化処理の流れ>
 また、この場合、画像符号化装置100により実行される符号化処理の流れは、第1の実施の形態と同様である(図11)。
  <ヘッダ情報生成処理の流れ>
 次に、この場合の、符号化処理のステップS101において実行されるヘッダ情報生成処理の流れの例を、図45および図46のフローチャートを参照して説明する。
 ヘッダ情報生成処理が開始されると、ステップS481乃至ステップS487の各処理が、図24のステップS271乃至ステップS277の各処理と同様に実行される。ステップS487の処理が終了すると、処理はステップS488に進む。
 ステップS488乃至ステップS490の各処理は、図40のステップS425乃至ステップS427の各処理と同様に実行される。
 ステップS490の処理が終了すると、処理は図46のステップS501に進む。また、図45のステップS488において、pps_chroma_deblocking_filter_disabled_flagの値が真(「1」)であると判定された場合、処理は図46のステップS501に進む。さらに、図45のステップS485において、chroma_deblocking_filter_control_present_flagの値が偽(例えば「0」)であると判定された場合、処理は図46のステップS501に進む。
 図46のステップS501乃至ステップS505の各処理は、図24のステップS278乃至ステップS282の各処理と同様に実行される。ステップS505の処理が終了すると、処理は、ステップS506に進む。
 ステップS506乃至ステップS508の各処理は、図40のステップS430乃至ステップS432の各処理と同様に実行される。
 ステップS508の処理が終了すると、ヘッダ情報生成処理が終了し、処理は図11に戻る。また、ステップS506において、slice_chroma_deblocking_filter_disabled_flagの値が真(「1」)であると判定された場合、ヘッダ情報生成処理が終了し、処理は図11に戻る。さらに、ステップS504において、chroma_deblocking_filter_override_flagの値が偽(例えば「0」)であると判定された場合、ヘッダ情報生成処理が終了し、処理は図11に戻る。さらに、ステップS502において、chroma_deblocking_filter_override_enabled_flagの値が偽(例えば「0」)であると判定された場合、ヘッダ情報生成処理が終了し、処理は図11に戻る。
 以上のようにヘッダ情報として、画像データの色差成分(クロマ)に対するデブロッキングフィルタ処理の実行を制御する制御情報と、フィルタ強度を制御する制御情報とを生成することにより、画像符号化装置100(ヘッダ情報生成部131)は、クロマに対するデブロッキングフィルタ処理を、輝度成分(ルマ)に対するデブロッキングフィルタ処理から独立して制御することができる。また、このような制御パラメータを利用することにより、クロマに対するデブロッキングフィルタ処理をルマに対するデブロッキングフィルタ処理とは独立に制御する必要がないスライスについて、クロマに対するデブロッキングフィルタ処理を制御する制御情報を省略することができるので、その分符号量の増大を抑制し、符号化効率の低減を抑制することができる。したがって、画像符号化装置100(ヘッダ情報生成部131)は、本技術を適用することにより、画質の低減を抑制しながら、符号化効率の低減を抑制することができる。
  <ループフィルタ処理の流れ>
 次に、この場合の、符号化処理のステップS112において実行されるループフィルタ処理の流れの例を、図47のフローチャートを参照して説明する。
 ループフィルタ処理が開始されると、ステップS521乃至ステップS525の各処理は、図41のステップS451乃至ステップS455の各処理と同様に実行される。
 ステップS526において、デブロッキングフィルタ制御部181は、ヘッダ情報に含まれるchroma_deblocking_filter_control_present_flag、chroma_deblocking_filter_override_enabled_flag、chroma_deblocking_filter_override_flagの値に基づいて、pps_chroma_deblocking_filter_disabled_flagの値と、slice_chroma_deblocking_filter_disabled_flagの値とを確認する。
 ステップS527乃至ステップS530の各処理は、図41のステップS457乃至ステップS460の各処理と同様に実行される。
 ステップS530の処理が終了すると、ループフィルタ処理が終了し、処理は図11に戻る。また、ステップS527において、クロマに対するデブロッキングフィルタ処理を行わないと判定された場合、ループフィルタ処理が終了し、処理は図11に戻る。さらに、ステップS522において、デブロッキングフィルタ処理を行わないと判定された場合、ループフィルタ処理が終了し、処理は図11に戻る。
 以上のように画像符号化装置100(ループフィルタ120)は、クロマに対するデブロッキングフィルタ処理をルマに対するデブロッキングフィルタ処理とは独立に制御する必要がないスライスについて、クロマに対するデブロッキングフィルタ処理を制御する制御情報の参照を省略することができる。したがって、画像符号化装置100(ループフィルタ120)は、本技術を適用することにより、画質の低減を抑制しながら、処理の負荷の増大を抑制することができる。
  <画像復号装置、ループフィルタ>
 この場合、本技術を適用した画像処理装置の一態様である画像復号装置の構成は、第1の実施の形態と同様である(図14)。また、この場合のループフィルタ216の構成も第1の実施の形態と同様である(図15)。
  <復号処理の流れ>
 また、この場合、画像復号装置200により実行される復号処理の流れは、第1の実施の形態と同様である(図16)。
 つまり、第1の実施の形態の場合と同様に、復号処理のステップS208において、ループフィルタ216は、ループフィルタ処理を、図47のフローチャートを参照して説明した、画像符号化装置100のループフィルタ120によるループフィルタ処理の場合と同様に行う。つまり、図47に示されるループフィルタ処理の流れの例の説明は、ループフィルタ216によるループフィルタ処理(すなわち、この場合の復号処理のステップS208の処理)の説明にも適用することができる。
 つまり、画像復号装置200(ループフィルタ216)は、クロマに対するデブロッキングフィルタに関する制御パラメータの値に応じて、クロマに対するデブロッキングフィルタ処理を制御する制御情報を参照して利用するので、クロマに対するデブロッキングフィルタ処理をルマに対するデブロッキングフィルタ処理とは独立に制御する必要がないスライスについて、クロマに対するデブロッキングフィルタ処理を制御する制御情報の参照を省略することができる。したがって、画像復号装置200(ループフィルタ216)は、本技術を適用することにより、画質の低減を抑制しながら、処理の負荷の増大を抑制することができる。
 なお、以上に説明したような、クロマに対するデブロッキングフィルタに関する制御パラメータの値に応じた、クロマに対するデブロッキングフィルタ処理を制御する制御情報の生成は任意の階層のヘッダ情報において行うことができ、例えば、ピクチャパラメータセット若しくはスライスヘッダのいずれか一方でのみ行うようにしてもよいし、これら以外のヘッダ情報において行うようにしてもよい。
 <8.第8の実施の形態>
  <デブロッキングフィルタの制御パラメータの利用>
 なお、第6の実施の形態の場合において、さらに、第5の実施の形態の場合と同様に、既存のデブロッキングフィルタに関する制御パラメータも用いて、クロマに対するデブロッキングフィルタ処理を制御する制御情報の生成を制御するようにしてもよい。このようにすることにより、明らかに不要なクロマに対するデブロッキングフィルタ処理を制御する制御情報を省略することができるので、その分符号量の増大を抑制し、符号化効率の低減を抑制することができる。
 より具体的な例について説明する。図48に示されるように、例えばピクチャパラメータセットにおいて、deblocking_filter_control_present_flagの値が真(「1」)である場合にのみ、pps_chroma_deblocking_filter_disabled_flagとが拡張シンタクス要素として設定されるようにしてもよい。そして、そのpps_chroma_deblocking_filter_disabled_flagの値が偽(例えば、「0」)である場合にのみ、pps_chroma_beta_offset_div2とpps_chroma_tc_offset_div2とが拡張シンタクス要素として設定されるようにしてもよい。
 また、図49に示されるように、例えばスライスヘッダにおいて、deblocking_filter_override_flagの値が真(「1」)である場合にのみ、slice_chroma_deblocking_filter_disabled_flagが拡張シンタクス要素として設定されるようにしてもよい。そして、そのslice_chroma_deblocking_filter_disabled_flagの値が偽(例えば、「0」)である場合にのみ、slice_chroma_beta_offset_div2とslice_chroma_tc_offset_div2とが拡張シンタクス要素として設定されるようにしてもよい。
 このようにすることにより、各階層のヘッダ情報において、明らかに不要なクロマに対するデブロッキングフィルタ処理を制御する制御情報を省略することができるので、その分符号量の増大を抑制し、符号化効率の低減を抑制することができる。
  <画像符号化装置、ヘッダ情報生成部、ループフィルタ>
 この場合、本技術を適用した画像処理装置の一態様である画像符号化装置の構成は、第1の実施の形態と同様である(図8)。また、この場合のヘッダ情報生成部131の構成は、第6の実施の形態と同様である(図39)。また、この場合のループフィルタ120の構成は、第1の実施の形態と同様である(図10)。
  <符号化処理の流れ>
 また、この場合、画像符号化装置100により実行される符号化処理の流れは、第1の実施の形態と同様である(図11)。
  <ヘッダ情報生成処理の流れ>
 次に、この場合の、符号化処理のステップS101において実行されるヘッダ情報生成処理の流れの例を、図50のフローチャートを参照して説明する。
 ヘッダ情報生成処理が開始されると、ステップS551およびステップS552の各処理が、図40のステップS421およびステップS422の各処理と同様に実行される。ステップS552の処理が終了すると、処理はステップS553に進む。
 ステップS553およびステップS554の各処理は、図35のステップS371およびステップS372の各処理と同様に実行される。ステップS554において、deblocking_filter_control_present_flagの値が真(「1」)であると判定された場合、処理はステップS555に進む。
 ステップS555乃至ステップS558の各処理は、図40のステップS424乃至ステップS427の各処理と同様に実行される。
 ステップS558の処理が終了すると、処理はステップS559に進む。また、ステップS556において、pps_chroma_deblocking_filter_disabled_flagが真(例えば「1」)である場合、処理はステップS559に進む。さらに、ステップS554において、deblocking_filter_control_present_flagの値が偽(「0」)であると判定された場合、処理はステップS559に進む。
 ステップS559およびステップS560の各処理は、図35のステップS376およびステップS377の各処理と同様に実行される。ステップS560において、deblocking_filter_override_flagの値が真(「1」)であると判定された場合、処理はステップS561に進む。
 ステップS561乃至ステップS564の各処理は、図40のステップS429乃至ステップS432の各処理と同様に実行される。
 ステップS564の処理が終了すると、ヘッダ情報生成処理が終了し、処理は図11に戻る。また、ステップS562において、slice_chroma_deblocking_filter_disabled_flagが真(例えば「1」)である場合、ヘッダ情報生成処理が終了し、処理は図11に戻る。さらに、ステップS560において、deblocking_filter_override_flagの値が偽(「0」)であると判定された場合、ヘッダ情報生成処理が終了し、処理は図11に戻る。
 以上のようにヘッダ情報生成処理を実行することにより、画像符号化装置100(ヘッダ情報生成部131)は、クロマに対するデブロッキングフィルタ処理が明らかに不要なスライスについて、クロマに対するデブロッキングフィルタ処理を制御する制御情報を省略することができる。したがって、画像符号化装置100(ヘッダ情報生成部131)は、本技術を適用することにより、画質の低減を抑制しながら、符号量の増大を抑制し、符号化効率の低減を抑制することができる。
  <ループフィルタ処理の流れ>
 次に、この場合の、符号化処理のステップS112において実行されるループフィルタ処理の流れの例を、図51のフローチャートを参照して説明する。
 ループフィルタ処理が開始されると、ステップS581乃至ステップS585の各処理は、図41のステップS451乃至ステップS455の各処理と同様に実行される。
 ステップS586において、デブロッキングフィルタ制御部181は、ヘッダ情報に含まれるdeblocking_filter_control_present_flagと、deblocking_filter_override_flagとの値に基づいて、pps_chroma_deblocking_filter_disabled_flagの値と、slice_chroma_deblocking_filter_disabled_flagの値とを確認する。
 ステップS587乃至ステップS590の各処理は、図41のステップS457乃至ステップS460の各処理と同様に実行される。
 ステップS590の処理が終了すると、ループフィルタ処理が終了し、処理は図11に戻る。また、ステップS587において、クロマに対するデブロッキングフィルタ処理を行わないと判定された場合、ループフィルタ処理が終了し、処理は図11に戻る。さらに、ステップS582において、デブロッキングフィルタ処理を行わないと判定された場合、ループフィルタ処理が終了し、処理は図11に戻る。
 以上のようにループフィルタ処理を実行することにより、画像符号化装置100(ループフィルタ120)は、クロマに対するデブロッキングフィルタ処理が明らかに不要なスライスについて、クロマに対するデブロッキングフィルタ処理を制御する制御情報の参照を省略することができる。したがって、画像符号化装置100(ループフィルタ120)は、本技術を適用することにより、画質の低減を抑制しながら、処理の負荷の増大を抑制することができる。
  <画像復号装置、ループフィルタ>
 この場合、本技術を適用した画像処理装置の一態様である画像復号装置の構成は、第1の実施の形態と同様である(図14)。また、この場合のループフィルタ216の構成も第1の実施の形態と同様である(図15)。
  <復号処理の流れ>
 また、この場合、画像復号装置200により実行される復号処理の流れは、第1の実施の形態と同様である(図16)。
 つまり、復号処理のステップS208において、ループフィルタ216は、ループフィルタ処理を、図51のフローチャートを参照して説明した、画像符号化装置100のループフィルタ120によるループフィルタ処理の場合と同様に行う。つまり、図51に示されるループフィルタ処理の流れの例の説明は、ループフィルタ216によるループフィルタ処理(すなわち、この場合の復号処理のステップS208の処理)の説明にも適用することができる。
 つまり、画像復号装置200(ループフィルタ216)は、クロマに対するデブロッキングフィルタ処理が明らかに不要なスライスについて、クロマに対するデブロッキングフィルタ処理を制御する制御情報の参照を省略することができる。したがって、画像復号装置200(ループフィルタ216)は、本技術を適用することにより、画質の低減を抑制しながら、処理の負荷の増大を抑制することができる。
 なお、以上に説明したような、既存のデブロッキングフィルタに関する制御パラメータの値とクロマに対するデブロッキングフィルタに関する制御パラメータの値とに応じた、クロマに対するデブロッキングフィルタ処理を制御する制御情報の生成は任意の階層のヘッダ情報において行うことができ、例えば、ピクチャパラメータセット若しくはスライスヘッダのいずれか一方でのみ行うようにしてもよいし、これら以外のヘッダ情報において行うようにしてもよい。
 <9.第9の実施の形態>
  <デブロッキングフィルタの制御パラメータの利用>
 なお、第7の実施の形態の場合において、さらに、第5の実施の形態の場合と同様に、既存のデブロッキングフィルタに関する制御パラメータも用いて、クロマに対するデブロッキングフィルタ処理を制御する制御情報の生成を制御するようにしてもよい。このようにすることにより、明らかに不要なクロマに対するデブロッキングフィルタ処理を制御する制御情報を省略することができるので、その分符号量の増大を抑制し、符号化効率の低減を抑制することができる。
 より具体的な例について説明する。図52に示されるように、例えばピクチャパラメータセットにおいて、deblocking_filter_control_present_flagの値が真(「1」)である場合にのみ、chroma_deblocking_filter_control_present_flagを拡張シンタクス要素として設定し、このchroma_deblocking_filter_control_present_flagの値が真(例えば「1」)の場合のみ、chroma_deblocking_filter_override_enabled_flagとpps_chroma_deblocking_filter_disabled_flagとが拡張シンタクス要素として設定されるようにしてもよい。
 そして、そのpps_chroma_deblocking_filter_disabled_flagの値が偽(例えば、「0」)である場合にのみ、pps_chroma_beta_offset_div2とpps_chroma_tc_offset_div2とが拡張シンタクス要素として設定されるようにしてもよい。
 また、図53に示されるように、例えばスライスヘッダにおいて、deblocking_filter_override_flagの値が真(「1」)であり、かつ、当該スライスヘッダが属するピクチャパラメータセットにおいて設定されたchroma_deblocking_filter_override_enabled_flagの値が真(例えば「1」)である場合にのみ、chroma_deblocking_filter_override_flagが拡張シンタクス要素として設定され、そのchroma_deblocking_filter_override_flagの値が真(例えば「1」)である場合にのみ、slice_chroma_deblocking_filter_disabled_flagが拡張シンタクス要素として設定されるようにしてもよい。
 そして、そのslice_chroma_deblocking_filter_disabled_flagの値が偽(例えば、「0」)である場合にのみ、slice_chroma_beta_offset_div2とslice_chroma_tc_offset_div2とが拡張シンタクス要素として設定されるようにしてもよい。
 このようにすることにより、各階層のヘッダ情報において、明らかに不要なクロマに対するデブロッキングフィルタ処理を制御する制御情報を省略することができるとともに、クロマに対するデブロッキングフィルタ処理をルマに対するデブロッキングフィルタ処理とは独立に制御する必要がないスライスについても、クロマに対するデブロッキングフィルタ処理を制御する制御情報を省略することができるので、その分符号量の増大を抑制し、符号化効率の低減を抑制することができる。
  <画像符号化装置、ヘッダ情報生成部、ループフィルタ>
 この場合、本技術を適用した画像処理装置の一態様である画像符号化装置の構成は、第1の実施の形態と同様である(図8)。また、この場合のヘッダ情報生成部131の構成は、第7の実施の形態と同様である(図44)。また、この場合のループフィルタ120の構成は、第1の実施の形態と同様である(図10)。
  <符号化処理の流れ>
 また、この場合、画像符号化装置100により実行される符号化処理の流れは、第1の実施の形態と同様である(図11)。
  <ヘッダ情報生成処理の流れ>
 次に、この場合の、符号化処理のステップS101において実行されるヘッダ情報生成処理の流れの例を、図54および図55のフローチャートを参照して説明する。
 ヘッダ情報生成処理が開始されると、ステップS601およびステップS602の各処理が、図45のステップS481およびステップS482の各処理と同様に実行される。ステップS602の処理が終了すると、処理はステップS603に進む。
 ステップS603およびステップS604の各処理は、図35のステップS371およびステップS372の各処理と同様に実行される。ステップS604において、deblocking_filter_control_present_flagの値が真(「1」)であると判定された場合、処理はステップS605に進む。
 ステップS605乃至ステップS611の各処理は、図45のステップS484乃至ステップS490の各処理と同様に実行される。
 ステップS611の処理が終了すると、処理は図55のステップS621に進む。また、図54のステップS609において、pps_chroma_deblocking_filter_disabled_flagが真(例えば「1」)である場合、処理は図55のステップS621に進む。さらに、図54のステップS606において、chroma_deblocking_filter_control_present_flagの値が偽(「0」)であると判定された場合、処理は図55のステップS621に進む。さらに、図54のステップS604において、deblocking_filter_control_present_flagの値が偽(「0」)であると判定された場合、処理は図55のステップS621に進む。
 図55のステップS621およびステップS622の各処理は、図35のステップS376およびステップS377の各処理と同様に実行される。図55のステップS622において、deblocking_filter_override_flagの値が真(「1」)であると判定された場合、処理はステップS623に進む。
 ステップS623乃至ステップS629の各処理は、図46のステップS502乃至ステップS508の各処理と同様に実行される。
 ステップS629の処理が終了すると、ヘッダ情報生成処理が終了し、処理は図11に戻る。また、ステップS627において、slice_chroma_deblocking_filter_disabled_flagが真(例えば「1」)である場合、ヘッダ情報生成処理が終了し、処理は図11に戻る。さらに、ステップS625において、chroma_deblocking_filter_override_flagの値が偽(「0」)であると判定された場合、ヘッダ情報生成処理が終了し、処理は図11に戻る。さらに、ステップS623において、chroma_deblocking_filter_override_enabled_flagの値が偽(「0」)であると判定された場合、ヘッダ情報生成処理が終了し、処理は図11に戻る。さらに、ステップS622において、deblocking_filter_override_flagの値が偽(「0」)であると判定された場合、ヘッダ情報生成処理が終了し、処理は図11に戻る。
 以上のようにヘッダ情報生成処理を実行することにより、画像符号化装置100(ヘッダ情報生成部131)は、クロマに対するデブロッキングフィルタ処理が明らかに不要なスライスについて、クロマに対するデブロッキングフィルタ処理を制御する制御情報を省略することができるとともに、クロマに対するデブロッキングフィルタ処理をルマに対するデブロッキングフィルタ処理とは独立に制御する必要がないスライスについても、クロマに対するデブロッキングフィルタ処理を制御する制御情報を省略することができる。したがって、画像符号化装置100(ヘッダ情報生成部131)は、本技術を適用することにより、画質の低減を抑制しながら、符号量の増大を抑制し、符号化効率の低減を抑制することができる。
  <ループフィルタ処理の流れ>
 次に、この場合の、符号化処理のステップS112において実行されるループフィルタ処理の流れの例を、図56のフローチャートを参照して説明する。
 ループフィルタ処理が開始されると、ステップS641乃至ステップS645の各処理は、図47のステップS521乃至ステップS525の各処理と同様に実行される。
 ステップS646において、デブロッキングフィルタ制御部181は、ヘッダ情報に含まれるdeblocking_filter_control_present_flag、deblocking_filter_override_flag、chroma_deblocking_filter_control_present_flag、chroma_deblocking_filter_override_enabled_flag、並びにchroma_deblocking_filter_override_flagの値に基づいて、pps_chroma_deblocking_filter_disabled_flagの値と、slice_chroma_deblocking_filter_disabled_flagの値とを確認する。
 ステップS647乃至ステップS650の各処理は、図47のステップS527乃至ステップS530の各処理と同様に実行される。
 ステップS650の処理が終了すると、ループフィルタ処理が終了し、処理は図11に戻る。また、ステップS647において、クロマに対するデブロッキングフィルタ処理を行わないと判定された場合、ループフィルタ処理が終了し、処理は図11に戻る。さらに、ステップS642において、デブロッキングフィルタ処理を行わないと判定された場合、ループフィルタ処理が終了し、処理は図11に戻る。
 以上のようにループフィルタ処理を実行することにより、画像符号化装置100(ループフィルタ120)は、クロマに対するデブロッキングフィルタ処理が明らかに不要なスライスについて、クロマに対するデブロッキングフィルタ処理を制御する制御情報の参照を省略することができるとともに、クロマに対するデブロッキングフィルタ処理をルマに対するデブロッキングフィルタ処理とは独立に制御する必要がないスライスについても、クロマに対するデブロッキングフィルタ処理を制御する制御情報の参照を省略することができる。したがって、画像符号化装置100(ループフィルタ120)は、本技術を適用することにより、画質の低減を抑制しながら、処理の負荷の増大を抑制することができる。
  <画像復号装置、ループフィルタ>
 この場合、本技術を適用した画像処理装置の一態様である画像復号装置の構成は、第1の実施の形態と同様である(図14)。また、この場合のループフィルタ216の構成も第1の実施の形態と同様である(図15)。
  <復号処理の流れ>
 また、この場合、画像復号装置200により実行される復号処理の流れは、第1の実施の形態と同様である(図16)。
 つまり、復号処理のステップS208において、ループフィルタ216は、ループフィルタ処理を、図56のフローチャートを参照して説明した、画像符号化装置100のループフィルタ120によるループフィルタ処理の場合と同様に行う。つまり、図56に示されるループフィルタ処理の流れの例の説明は、ループフィルタ216によるループフィルタ処理(すなわち、この場合の復号処理のステップS208の処理)の説明にも適用することができる。
 つまり、画像復号装置200(ループフィルタ216)は、クロマに対するデブロッキングフィルタ処理が明らかに不要なスライスについて、クロマに対するデブロッキングフィルタ処理を制御する制御情報の参照を省略することができるとともに、クロマに対するデブロッキングフィルタ処理をルマに対するデブロッキングフィルタ処理とは独立に制御する必要がないスライスについても、クロマに対するデブロッキングフィルタ処理を制御する制御情報の参照を省略することができる。したがって、画像復号装置200(ループフィルタ216)は、本技術を適用することにより、画質の低減を抑制しながら、処理の負荷の増大を抑制することができる。
 なお、以上に説明したような、既存のデブロッキングフィルタに関する制御パラメータの値とクロマに対するデブロッキングフィルタに関する制御パラメータの値とに応じた、クロマに対するデブロッキングフィルタ処理を制御する制御情報の生成は任意の階層のヘッダ情報において行うことができ、例えば、ピクチャパラメータセット若しくはスライスヘッダのいずれか一方でのみ行うようにしてもよいし、これら以外のヘッダ情報において行うようにしてもよい。
 なお、第5の実施の形態乃至第9の実施の形態において、例えば、pps_beta_offset_div2、pps_tc_offset_div2、slice_beta_offset_div2、slice_tc_offset_div2等のパラメータβやパラメータtCに関するシンタクス要素が設定されるように説明したが、このパラメータβやパラメータtCに関するシンタクス要素は、パラメータβやパラメータtCを導出することができるものであれば、上述した例に限らず、どのような値であってもよい。
 例えば、ルマに対するデブロッキングフィルタのパラメータβ(若しくはパラメータtC)とクロマに対するデブロッキングフィルタのパラメータβ(若しくはパラメータtC)との差分値に相当する値(その差分値から算出される他の値も含む)を、クロマに対するパラメータβやパラメータtCに関するシンタクス要素としてもよい。
 <10.第10の実施の形態>
  <領域毎の制御情報の生成の制御>
 図57に、コンピュータ画面の例を示す。マルチタスクが可能なコンピュータにおいては、並列に複数の処理を実行することができるので、その表示画面であるコンピュータ画面においては、図57の例のように、1つの画面内に自然画像とスクリーンコンテントとが混在する場合がある。図57の例の場合、コンピュータ画面の部分領域301に表示されているウィンドウには、自然画像からなる動画像(所謂ビデオ画像)が表示されている。また、部分領域302には、コンピュータ画面の背景画像(所謂デスクトップの背景)が表示され、部分領域303に表示されるウィンドウには、例えばコンピュータにより生成されたスクリーンコンテントが表示されている。
 このような場合、コンピュータ画面の画像としての特徴は、その部分領域毎に異なる。そこで、デブロッキングフィルタ処理の制御の方法を、この領域毎に設定するようにしてもよい。例えば、デブロッキングフィルタ処理を実行するか否か、実行する場合そのフィルタ強度をどの程度にするか、クロマに対するデブロッキングフィルタ処理の制御をルマに対するデブロッキングフィルタ処理の制御対して独立に行うか否か、クロマに対するデブロッキングフィルタ処理の制御をルマに対するデブロッキングフィルタ処理の制御対して独立に行う場合、クロマに対するデブロッキングフィルタ処理を実行するか否か、実行する場合そのフィルタ強度をどの程度にするか等を、この領域毎に設定するようにしてもよい。
 その場合、ヘッダ情報生成部131のヘッダ制御部141が、例えば、画面並べ替えバッファ111から供給される画像や、ユーザ等の外部から入力される指示に基づいて、そのような設定を、ヘッダ情報生成処理の前に行うようにすればよい。
  <デブロッキングフィルタ制御処理の流れ>
 図58のフローチャートを参照して、ヘッダ制御部141がそのような設定を行うために実行するデブロッキングフィルタ制御処理の流れの例を説明する。
 デブロッキングフィルタ制御処理が開始されると、ヘッダ制御部141は、ステップS671において、処理対象のピクチャを複数の部分領域に領域分割する。この分割の方法は任意である。例えば、処理対象の画像の内容に応じて領域分割を行うようにしてもよい。また、例えば、このような領域分割を、予め定められた領域であるタイルを単位として行うようにしてもよい。つまり、各タイルがどの領域に属するかを選択するようにしてもよい。
 ステップS672において、ヘッダ制御部141は、分割した各部分領域の画像の特性を解析する。この特性の解析方法は任意である。例えば、ヘッダ制御部141は、この解析により、各部分領域の画像が自然画像であるか否か、スクリーンコンテンツであるか否か等を特定するようにしてもよい。また、より細かく解析するようにし、例えば、どのような自然画像であるか、どのようなスクリーンコンテントであるか等を特定するようにしてもよい。もちろん、自然画像やスクリーンコンテントといった概念を用いずに解析を行うようにしてもよい。また、ヘッダ制御部141は、処理対象の画像を実際に所定の方法で解析するようにしてもよいし、外部等から画像の特性に関する情報を得るようにしてもよい。
 ステップS673において、ヘッダ制御部141は、ステップS672の解析結果に基づいて、各部分領域にその画像の特性に応じたデブロッキングフィルタのパラメータを設定する。
 ステップS674において、ヘッダ制御部141は、ヘッダ情報生成処理を制御し、ステップS673において決定した設定を反映するようにフラグ情報を生成させる。つまり、上述した各実施の形態のようにヘッダ情報生成処理が実行されると、この設定に基づいて各パラメータが設定される。
 ステップS674の処理が終了すると、デブロッキングフィルタ制御処理が終了する。
  <パラメータ設定処理の流れ>
 図58のステップS673の処理の方法(パラメータの設定の方法)は任意である。例えば、処理対象の部分領域の画像が自然画像であるか否かに応じて、クロマに対するデブロッキングフィルタ処理の制御を、ルマに対するデブロッキングフィルタ処理の制御から独立して行うようにするか否かを設定するようにしてもよい。
 図58のステップS673において実行されるパラメータ設定処理の一例として、このような場合の処理の流れの例を、図59のフローチャートを参照して説明する。
 パラメータ設定処理が開始されると、ヘッダ制御部141は、ステップS691において、処理対象の部分領域の画像が自然画像であるか否かを判定する。自然画像であると判定された場合、処理はステップS692に進む。
 ステップS692において、ヘッダ制御部141は、ルマとクロマのデブロッキングフィルタ処理をまとめて制御するようにする。つまり、HEVCのバージョン1においても用いられているような、既存の、デブロッキングフィルタ処理を制御する制御情報を用いてルマとクロマのデブロッキングフィルタ処理の制御を行うようにする。ステップS692の処理が終了すると、パラメータ設定処理が終了し、処理は図58に戻る。
 また、ステップS691において、処理対象の部分領域の画像が自然画像でないと判定された場合、処理はステップS693に進む。
 ステップS693において、ヘッダ制御部141は、ルマとクロマのデブロッキングフィルタ処理を互いに独立に制御するようにする。つまり、以上の各実施の形態において説明したような、クロマに対するデブロッキングフィルタ処理を制御する制御情報を用いてクロマのデブロッキングフィルタ処理の制御を行うようにする。ステップS693の処理が終了すると、パラメータ設定処理が終了し、処理は図58に戻る。
 このように各処理を行うことにより、ヘッダ制御部141は、デブロッキングフィルタ処理の制御を領域毎に行うことができる。したがって、例えば、図57の例のように、自然画像とスクリーンコンテントが混在する場合であっても、各部分領域に対して、より適切なパラメータでデブロッキングフィルタ処理を行うことができるので、画像符号化装置100(ループフィルタ120)や画像復号装置200(ループフィルタ216)は、画質の低減を抑制することができる。
 <11.第11の実施の形態>
  <領域毎の制御情報の生成の制御>
 なお、デブロッキングフィルタ処理の制御の方法を、画像の色フォーマットに基づいて設定するようにしてもよい。一般に、RGBフォーマットの画像データを符号化する場合、第1コンポーネントとして、YUV形式におけるYに似た信号特性を持つGが選択されるが、残りのRとB成分は、YUV形式におけるUとVと異なる特性を持つ。そのため、YUV用に設計されたデブロッキングフィルタをそのまま適用すると、画質が低減するおそれがある。また、それにより符号化効率が低減するおそれもある。
 また、SCC Codecを使って、RGB形式で符号化するのは、コンピュータ画面をそのままエンコーダの入力としている可能性も高い。つまり、処理対象の画像がスクリーンコンテントである可能性が高い。
 そこで、図60に示される例のように、色フォーマットがRGBの画像データを、その色フォーマットのまま符号化し、ビットストリーム(RGBビットストリーム)を生成する場合、クロマに対するデブロッキングフィルタ処理を制御する制御情報を生成し、そのビットストリーム(符号化データ)のヘッダ情報とするようにしてもよい。そして、色フォーマットをYUVとして符号化し、ビットストリーム(YUVビットストリーム)を生成する場合、クロマとルマをまとめて制御するように、デブロッキングフィルタ処理を制御する制御情報を生成し、そのビットストリーム(符号化データ)のヘッダ情報とするようにしてもよい。
  <デブロッキングフィルタ制御処理の流れ>
 図61のフローチャートを参照して、この場合の、ヘッダ制御部141によるデブロッキングフィルタ制御処理の流れの例を説明する。
 デブロッキングフィルタ制御処理が開始されると、ヘッダ制御部141は、ステップS701において、処理対象の画像の色フォーマットを特定する。この特定方法は任意である。例えば、処理対象の画像を解析して特定するようにしてもよいし、外部から処理対象の画像の色フォーマットに関する情報を取得するようにしてもよい。
 ステップS702において、ヘッダ制御部141は、ステップS701において特定した色フォーマットに応じたデブロッキングフィルタのパラメータを設定する。
 ステップS703において、ヘッダ制御部141は、ヘッダ情報生成処理を制御し、ステップS702において決定した設定を反映するようにフラグ情報を生成させる。つまり、上述した各実施の形態のようにヘッダ情報生成処理が実行されると、この設定に基づいて各パラメータが設定される。
 ステップS703の処理が終了すると、デブロッキングフィルタ制御処理が終了する。
  <パラメータ設定処理の流れ>
 図61のステップS702の処理の方法(パラメータの設定の方法)は任意である。例えば、処理対象の画像の色フォーマットがYUVであるか否かに応じて、クロマに対するデブロッキングフィルタ処理の制御を、ルマに対するデブロッキングフィルタ処理の制御から独立して行うようにするか否かを設定するようにしてもよい。
 図61のステップS702において実行されるパラメータ設定処理の一例として、このような場合の処理の流れの例を、図62のフローチャートを参照して説明する。
 パラメータ設定処理が開始されると、ヘッダ制御部141は、ステップS711において、処理対象の画像の色フォーマットがYUVフォーマットであるか否かを判定する。YUVであると判定された場合、処理はステップS712に進む。
 ステップS712において、ヘッダ制御部141は、ルマとクロマのデブロッキングフィルタ処理をまとめて制御するようにする。つまり、HEVCのバージョン1においても用いられているような、既存の、デブロッキングフィルタ処理を制御する制御情報を用いてルマとクロマのデブロッキングフィルタ処理の制御を行うようにする。ステップS692の処理が終了すると、パラメータ設定処理が終了し、処理は図61に戻る。
 また、ステップS711において、処理対象の画像の色フォーマットがYUVフォーマットでないと判定された場合、処理はステップS713に進む。
 ステップS713において、ヘッダ制御部141は、ルマとクロマのデブロッキングフィルタ処理を互いに独立に制御するようにする。つまり、以上の各実施の形態において説明したような、クロマに対するデブロッキングフィルタ処理を制御する制御情報を用いてクロマのデブロッキングフィルタ処理の制御を行うようにする。ステップS713の処理が終了すると、パラメータ設定処理が終了し、処理は図61に戻る。
 このように各処理を行うことにより、ヘッダ制御部141は、デブロッキングフィルタ処理の制御を色フォーマットに応じて行うことができる。したがって、画像符号化装置100(ループフィルタ120)や画像復号装置200(ループフィルタ216)は、より容易に画質の低減を抑制することができる。
 本技術の適用範囲は、画像データが符号化された符号化データを復号可能な、復号の際にフィルタ処理を行うあらゆる画像復号装置に適用することができる。
 また、本技術は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像復号装置に適用することができる。また、本技術は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像復号装置に適用することができる。
 <12.第12の実施の形態>
  <多視点画像符号化・多視点画像復号への適用>
 上述した一連の処理は、多視点画像復号に適用することができる。図63は、多視点画像符号化方式の一例を示す。
 図63に示されるように、多視点画像は、複数の視点(ビュー(view))の画像を含む。この多視点画像の複数のビューは、他のビューの情報を利用せずに自身のビューの画像のみを用いて符号化・復号を行うベースビューと、他のビューの情報を利用して符号化・復号を行うノンベースビューとによりなる。ノンベースビューの符号化・復号は、ベースビューの情報を利用するようにしても良いし、他のノンベースビューの情報を利用するようにしてもよい。
 図63の例のような多視点画像を符号化・復号する場合、多視点画像は、視点毎に符号化される。そして、そのようにして得られた符号化データを復号する場合、各視点の符号化データは、それぞれ(すなわち視点毎に)復号される。このような各視点の符号化・復号に対して、以上の各実施の形態において説明した方法を適用してもよい。このようにすることにより、各視点の画像の画質の低減を抑制することができる。つまり、多視点画像の場合も同様に、画質の低減を抑制することができる。
  <多視点画像符号化装置>
 図64は、上述した多視点画像符号化を行う多視点画像符号化装置を示す図である。図64に示されるように、多視点画像符号化装置600は、符号化部601、符号化部602、および多重化部603を有する。
 符号化部601は、ベースビュー画像を符号化し、ベースビュー画像符号化ストリームを生成する。符号化部602は、ノンベースビュー画像を符号化し、ノンベースビュー画像符号化ストリームを生成する。多重化部603は、符号化部601において生成されたベースビュー画像符号化ストリームと、符号化部602において生成されたノンベースビュー画像符号化ストリームとを多重化し、多視点画像符号化ストリームを生成する。
 例えば、このような多視点画像符号化装置600の符号化部601および符号化部602として、以上の各実施の形態において説明した画像符号化装置100を適用してもよい。このようにすることにより、多視点画像の符号化においても、以上の各実施の形態において説明した方法を適用することができる。すなわち、多視点画像符号化装置600は、多視点画像の画質の低減を抑制することができる。
  <多視点画像復号装置>
 図65は、上述した多視点画像復号を行う多視点画像復号装置を示す図である。図65に示されるように、多視点画像復号装置610は、逆多重化部611、復号部612、および復号部613を有する。
 逆多重化部611は、ベースビュー画像符号化ストリームとノンベースビュー画像符号化ストリームとが多重化された多視点画像符号化ストリームを逆多重化し、ベースビュー画像符号化ストリームと、ノンベースビュー画像符号化ストリームとを抽出する。復号部612は、逆多重化部611により抽出されたベースビュー画像符号化ストリームを復号し、ベースビュー画像を得る。復号部613は、逆多重化部611により抽出されたノンベースビュー画像符号化ストリームを復号し、ノンベースビュー画像を得る。
 例えば、このような多視点画像復号装置610の復号部612および復号部613として、以上の各実施の形態において説明した画像復号装置200を適用してもよい。このようにすることにより、多視点画像の符号化データの復号においても、以上の各実施の形態において説明した方法を適用することができる。すなわち、多視点画像復号装置610は、多視点画像の画質の低減を抑制することができる。
 <13.第13の実施の形態>
  <階層画像符号化・階層画像復号への適用>
 また、上述した一連の処理は、階層画像復号(スケーラブル復号)に適用することができる。図66は、階層画像符号化方式の一例を示す。
 階層画像符号化(スケーラブル符号化)は、画像データを、所定のパラメータについてスケーラビリティ(scalability)機能を有するように、画像を複数レイヤ化(階層化)し、レイヤ毎に符号化するものである。階層画像復号は、その階層画像符号化(スケーラブル復号)は、その階層画像符号化に対応する復号である。
 図66に示されるように、画像の階層化においては、スケーラビリティ機能を有する所定のパラメータを基準として1の画像が複数の画像(レイヤ)に分割される。つまり、階層化された画像(階層画像)は、その所定のパラメータの値が互いに異なる複数の階層(レイヤ)の画像を含む。この階層画像の複数のレイヤは、他のレイヤの画像を利用せずに自身のレイヤの画像のみを用いて符号化・復号を行うベースレイヤと、他のレイヤの画像を利用して符号化・復号を行うノンベースレイヤ(エンハンスメントレイヤとも称する)とによりなる。ノンベースレイヤは、ベースレイヤの画像を利用するようにしても良いし、他のノンベースレイヤの画像を利用するようにしてもよい。
 一般的に、ノンベースレイヤは、冗長性が低減されるように、自身の画像と、他のレイヤの画像との差分画像のデータ(差分データ)により構成される。例えば、1の画像をベースレイヤとノンベースレイヤ(エンハンスメントレイヤとも称する)に2階層化した場合、ベースレイヤのデータのみで元の画像よりも低品質な画像が得られ、ベースレイヤのデータとノンベースレイヤのデータを合成することで、元の画像(すなわち高品質な画像)が得られる。
 このように画像を階層化することにより、状況に応じて多様な品質の画像を容易に得ることができる。例えば携帯電話のような、処理能力の低い端末に対しては、ベースレイヤ(base layer)のみの画像圧縮情報を伝送し、空間時間解像度の低い、或いは、画質の良くない動画像を再生し、テレビやパーソナルコンピュータのような、処理能力の高い端末に対しては、ベースレイヤ(base layer)に加えて、エンハンスメントレイヤ(enhancement layer)の画像圧縮情報を伝送し、空間時間解像度の高い、或いは、画質の高い動画像を再生するといったように、トランスコード処理を行うことなく、端末やネットワークの能力に応じた画像圧縮情報を、サーバから送信することが可能となる。
 図66の例のような階層画像を符号化・復号する場合、階層画像は、レイヤ毎に符号化される。そして、そのようにして得られた符号化データを復号する場合、各レイヤの符号化データは、それぞれ(すなわちレイヤ毎に)復号される。このような各レイヤの符号化・復号に対して、以上の各実施の形態において説明した方法を適用してもよい。このようにすることにより、各レイヤの画像の画質の低減を抑制することができる。つまり、階層画像の場合も同様に、画質の低減を抑制することができる。
  <スケーラブルなパラメータ>
 このような階層画像符号化・階層画像復号(スケーラブル符号化・スケーラブル復号)において、スケーラビリティ(scalability)機能を有するパラメータは、任意である。例えば、図67に示されるような空間解像度をそのパラメータとしてもよい(spatial scalability)。このスペーシャルスケーラビリティ(spatial scalability)の場合、レイヤ毎に画像の解像度が異なる。つまり、図67に示されるように、各ピクチャが、元の画像より空間的に低解像度のベースレイヤと、ベースレイヤの画像と合成することにより元の画像(元の空間解像度)が得られるエンハンスメントレイヤの2階層に階層化される。もちろん、この階層数は一例であり、任意の階層数に階層化することができる。
 また、このようなスケーラビリティ性を持たせるパラメータとして、他には、例えば、図68に示されるような、時間解像度を適用しても良い(temporal scalability)。このテンポラルスケーラビリティ(temporal scalability)の場合、レイヤ毎にフレームレートが異なる。つまり、この場合、図68に示されるように、互いに異なるフレームレートのレイヤに階層化されており、低フレームレートのレイヤに、高フレームレートのレイヤを加えることで、より高フレームレートの動画像を得ることができ、全てのレイヤを加えることで、元の動画像(元のフレームレート)を得ることができる。この階層数は一例であり、任意の階層数に階層化することができる。
 さらに、このようなスケーラビリティ性を持たせるパラメータとして、例えば、信号雑音比(SNR(Signal to Noise ratio))を適用しても良い(SNR scalability)。このSNRスケーラビリティ(SNR scalability)の場合、レイヤ毎にSN比が異なる。つまり、図69に示されるように、各ピクチャが、元の画像よりSNRの低いベースレイヤと、ベースレイヤの画像と合成することにより元の画像(元のSNR)が得られるエンハンスメントレイヤの2階層に階層化される。すなわち、ベースレイヤ(base layer)画像圧縮情報においては、低PSNRの画像に関する情報が伝送されており、これに、エンハンスメントレイヤ(enhancement layer)画像圧縮情報を加えることで、高PSNR画像を再構築することが可能である。もちろん、この階層数は一例であり、任意の階層数に階層化することができる。
 スケーラビリティ性を持たせるパラメータは、上述した例以外であっても、もちろんよい。例えば、ベースレイヤ(base layer)が8ビット(bit)画像よりなり、これにエンハンスメントレイヤ(enhancement layer)を加えることにより、10ビット(bit)画像が得られるビット深度スケーラビリティ(bit-depth scalability)がある。
 また、ベースレイヤ(base layer)が4:2:0フォーマットのコンポーネント画像よりなり、これにエンハンスメントレイヤ(enhancement layer)を加えることにより、4:2:2フォーマットのコンポーネント画像が得られるクロマスケーラビリティ(chroma scalability)がある。
  <階層画像符号化装置>
 図70は、上述した階層画像符号化を行う階層画像符号化装置を示す図である。図70に示されるように、階層画像符号化装置620は、符号化部621、符号化部622、および多重化部623を有する。
 符号化部621は、ベースレイヤ画像を符号化し、ベースレイヤ画像符号化ストリームを生成する。符号化部622は、ノンベースレイヤ画像を符号化し、ノンベースレイヤ画像符号化ストリームを生成する。多重化部623は、符号化部621において生成されたベースレイヤ画像符号化ストリームと、符号化部622において生成されたノンベースレイヤ画像符号化ストリームとを多重化し、階層画像符号化ストリームを生成する。
 例えば、このような階層画像符号化装置620の符号化部621および符号化部622として、以上の各実施の形態において説明した画像符号化装置100を適用してもよい。このようにすることにより、階層画像の符号化においても、以上の各実施の形態において説明した方法を適用することができる。すなわち、階層画像符号化装置620は、階層画像の画質の低減を抑制することができる。
  <階層画像復号装置>
 図71は、上述した階層画像復号を行う階層画像復号装置を示す図である。図71に示されるように、階層画像復号装置630は、逆多重化部631、復号部632、および復号部633を有する。
 逆多重化部631は、ベースレイヤ画像符号化ストリームとノンベースレイヤ画像符号化ストリームとが多重化された階層画像符号化ストリームを逆多重化し、ベースレイヤ画像符号化ストリームと、ノンベースレイヤ画像符号化ストリームとを抽出する。復号部632は、逆多重化部631により抽出されたベースレイヤ画像符号化ストリームを復号し、ベースレイヤ画像を得る。復号部633は、逆多重化部631により抽出されたノンベースレイヤ画像符号化ストリームを復号し、ノンベースレイヤ画像を得る。
 例えば、このような階層画像復号装置630の復号部632および復号部633として、以上の各実施の形態において説明した画像復号装置200を適用してもよい。このようにすることにより、階層画像の符号化データの復号においても、以上の各実施の形態において説明した方法を適用することができる。すなわち、階層画像復号装置630は、階層画像の画質の低減を抑制することができる。
 <14.第14の実施の形態>
  <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図72は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 図72に示されるコンピュータ800において、CPU(Central Processing Unit)801、ROM(Read Only Memory)802、RAM(Random Access Memory)803は、バス804を介して相互に接続されている。
 バス804にはまた、入出力インタフェース810も接続されている。入出力インタフェース810には、入力部811、出力部812、記憶部813、通信部814、およびドライブ815が接続されている。
 入力部811は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部812は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部813は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部814は、例えば、ネットワークインタフェースよりなる。ドライブ815は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア821を駆動する。
 以上のように構成されるコンピュータでは、CPU801が、例えば、記憶部813に記憶されているプログラムを、入出力インタフェース810およびバス804を介して、RAM803にロードして実行することにより、上述した一連の処理が行われる。RAM803にはまた、CPU801が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータ(CPU801)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア821に記録して適用することができる。その場合、プログラムは、リムーバブルメディア821をドライブ815に装着することにより、入出力インタフェース810を介して、記憶部813にインストールすることができる。
 また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部814で受信し、記憶部813にインストールすることができる。
 その他、このプログラムは、ROM802や記憶部813に、あらかじめインストールしておくこともできる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 上述した実施形態に係る画像復号装置は、例えば、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
 <15.第15の実施の形態>
  <第1の応用例:テレビジョン受像機>
 図73は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース(I/F)部909、制御部910、ユーザインタフェース(I/F)部911、及びバス912を備える。
 チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
 デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
 デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
 映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
 表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD(Organic ElectroLuminescence Display)(有機ELディスプレイ)など)の映像面上に映像又は画像を表示する。
 音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
 外部インタフェース部909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース部909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース部909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
 制御部910は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
 ユーザインタフェース部911は、制御部910と接続される。ユーザインタフェース部911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
 バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース部909及び制御部910を相互に接続する。
 このように構成されたテレビジョン装置900において、デコーダ904が、上述した画像復号装置200の機能を有するようにしてもよい。つまり、デコーダ904が、符号化データを以上の各実施の形態において説明した方法で復号するようにしてもよい。このようにすることにより、テレビジョン装置900は、受信した符号化ビットストリームを復号して得られる画像の画質の低減を抑制することができる。
 また、このように構成されたテレビジョン装置900において、映像信号処理部905が、例えば、デコーダ904から供給される画像データを符号化し、得られた符号化データを、外部インタフェース部909を介してテレビジョン装置900の外部に出力させることができるようにしてもよい。そして、その映像信号処理部905が、上述した画像符号化装置100の機能を有するようにしてもよい。つまり、映像信号処理部905が、デコーダ904から供給される画像データを以上の各実施の形態において説明した方法で符号化するようにしてもよい。このようにすることにより、テレビジョン装置900は、出力する符号化データを復号して得られる画像の画質の低減を抑制することができる。
  <第2の応用例:携帯電話機>
 図74は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
 アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
 携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
 音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929に供給し、その記憶媒体に書き込ませる。
 記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB(Universal Serial Bus)メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
 また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記録再生部929に供給し、その記憶媒体に書き込ませる。
 さらに、画像表示モードにおいて、記録再生部929は、記憶媒体に記録されている符号化ストリームを読み出して画像処理部927へ出力する。画像処理部927は、記録再生部929から入力される符号化ストリームを復号し、画像データを表示部930に供給し、その画像を表示させる。
 また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 このように構成された携帯電話機920において、例えば画像処理部927が、画像符号化装置100や画像復号装置200の機能を有するようにしてもよい。つまり、画像処理部927が、以上の各実施の形態において説明した方法により、画像データを符号化したり、符号化データを復号したりするようにしてもよい。このようにすることにより、携帯電話機920は、処理対象の画像の画質の低減を抑制することができる。
  <第3の応用例:記録再生装置>
 図75は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データおよび映像データを復号する。
 記録再生装置940は、チューナ941、外部インタフェース(I/F)部942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、およびユーザインタフェース(I/F)部950を備える。
 チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送部としての役割を有する。
 外部インタフェース部942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース部942は、例えば、IEEE(Institute of Electrical and Electronic Engineers)1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース部942を介して受信される映像データおよび音声データは、エンコーダ943へ入力される。即ち、外部インタフェース部942は、記録再生装置940における伝送部としての役割を有する。
 エンコーダ943は、外部インタフェース部942から入力される映像データおよび音声データが符号化されていない場合に、映像データおよび音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
 HDD944は、映像および音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラムおよびその他のデータを内部のハードディスクに記録する。また、HDD944は、映像および音声の再生時に、これらデータをハードディスクから読み出す。
 ディスクドライブ945は、装着されている記録媒体へのデータの記録および読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVD(Digital Versatile Disc)ディスク(DVD-Video、DVD-RAM(DVD - Random Access Memory)、DVD-R(DVD - Recordable)、DVD-RW(DVD - Rewritable)、DVD+R(DVD + Recordable)、DVD+RW(DVD + Rewritable)等)又はBlu-ray(登録商標)ディスクなどであってよい。
 セレクタ946は、映像および音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
 デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ947は、生成した音声データを外部のスピーカへ出力する。
 OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
 制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
 ユーザインタフェース部950は、制御部949と接続される。ユーザインタフェース部950は、例えば、ユーザが記録再生装置940を操作するためのボタンおよびスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
 このように構成された記録再生装置940において、例えばエンコーダ943が、画像符号化装置100の機能を有するようにしてもよい。つまり、エンコーダ943が、以上の各実施の形態において説明方法により、画像データを符号化するようにしてもよい。このようにすることにより、記録再生装置940は、処理対象の画像の画質の低減を抑制することができる。
 このように構成された記録再生装置940において、例えばデコーダ947が、画像復号装置200の機能を有するようにしてもよい。つまり、デコーダ947が、以上の各実施の形態において説明方法により、符号化データを復号するようにしてもよい。このようにすることにより、記録再生装置940は、処理対象の画像の画質の低減を抑制することができる。
  <第4の応用例:撮像装置>
 図76は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
 撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース(I/F)部966、メモリ部967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース(I/F)部971、およびバス972を備える。
 光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース部971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース部966、メモリ部967、メディアドライブ968、OSD969、および制御部970を相互に接続する。
 光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
 信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
 画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース部966またはメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース部966またはメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
 OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
 外部インタフェース部966は、例えばUSB入出力端子として構成される。外部インタフェース部966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース部966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース部966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース部966は、撮像装置960における伝送部としての役割を有する。
 メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
 制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部971から入力される操作信号に応じて、撮像装置960の動作を制御する。
 ユーザインタフェース部971は、制御部970と接続される。ユーザインタフェース部971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース部971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
 このように構成された撮像装置960において、例えば画像処理部964が、画像符号化装置100や画像復号装置200の機能を有するようにしてもよい。つまり、画像処理部964が、以上の各実施の形態において説明した方法により、画像データを符号化したり、符号化データを復号したりするようにしてもよい。このようにすることにより、撮像装置960は、処理対象の画像の画質の低減を抑制することができる。
 なお、本技術は、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択して使用する、例えばMPEG DASH等のようなHTTPストリーミングにも適用することができる。つまり、このような複数の符号化データ間で、符号化や復号に関する情報を共有することもできる。
 <16.第16の実施の形態>
  <実施のその他の例>
 以上において本技術を適用する装置やシステム等の例を説明したが、本技術は、これに限らず、このような装置またはシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。
  <ビデオセット>
 本技術をセットとして実施する場合の例について、図77を参照して説明する。図77は、本技術を適用したビデオセットの概略的な構成の一例を示している。
 近年、電子機器の多機能化が進んでおり、その開発や製造において、その一部の構成を販売や提供等として実施する場合、1機能を有する構成として実施を行う場合だけでなく、関連する機能を有する複数の構成を組み合わせ、複数の機能を有する1セットとして実施を行う場合も多く見られるようになってきた。
 図77に示されるビデオセット1300は、このような多機能化された構成であり、画像の符号化や復号(いずれか一方でもよいし、両方でも良い)に関する機能を有するデバイスに、その機能に関連するその他の機能を有するデバイスを組み合わせたものである。
 図77に示されるように、ビデオセット1300は、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、およびフロントエンドモジュール1314等のモジュール群と、コネクティビティ1321、カメラ1322、およびセンサ1323等の関連する機能を有するデバイスとを有する。
 モジュールは、互いに関連するいくつかの部品的機能をまとめ、まとまりのある機能を持った部品としたものである。具体的な物理的構成は任意であるが、例えば、それぞれ機能を有する複数のプロセッサ、抵抗やコンデンサ等の電子回路素子、その他のデバイス等を配線基板等に配置して一体化したものが考えられる。また、モジュールに他のモジュールやプロセッサ等を組み合わせて新たなモジュールとすることも考えられる。
 図77の例の場合、ビデオモジュール1311は、画像処理に関する機能を有する構成を組み合わせたものであり、アプリケーションプロセッサ、ビデオプロセッサ、ブロードバンドモデム1333、およびRFモジュール1334を有する。
 プロセッサは、所定の機能を有する構成をSoC(System On a Chip)により半導体チップに集積したものであり、例えばシステムLSI(Large Scale Integration)等と称されるものもある。この所定の機能を有する構成は、論理回路(ハードウエア構成)であってもよいし、CPU、ROM、RAM等と、それらを用いて実行されるプログラム(ソフトウエア構成)であってもよいし、その両方を組み合わせたものであってもよい。例えば、プロセッサが、論理回路とCPU、ROM、RAM等とを有し、機能の一部を論理回路(ハードウエア構成)により実現し、その他の機能をCPUにおいて実行されるプログラム(ソフトウエア構成)により実現するようにしてもよい。
 図77のアプリケーションプロセッサ1331は、画像処理に関するアプリケーションを実行するプロセッサである。このアプリケーションプロセッサ1331において実行されるアプリケーションは、所定の機能を実現するために、演算処理を行うだけでなく、例えばビデオプロセッサ1332等、ビデオモジュール1311内外の構成を必要に応じて制御することもできる。
 ビデオプロセッサ1332は、画像の符号化・復号(その一方若しくは両方)に関する機能を有するプロセッサである。
 ブロードバンドモデム1333は、インターネットや公衆電話回線網等の広帯域の回線を介して行われる有線若しくは無線(またはその両方)の広帯域通信により送信するデータ(デジタル信号)をデジタル変調する等してアナログ信号に変換したり、その広帯域通信により受信したアナログ信号を復調してデータ(デジタル信号)に変換したりする。ブロードバンドモデム1333は、例えば、ビデオプロセッサ1332が処理する画像データ、画像データが符号化されたストリーム、アプリケーションプログラム、設定データ等、任意の情報を処理する。
 RFモジュール1334は、アンテナを介して送受信されるRF(Radio Frequency)信号に対して、周波数変換、変復調、増幅、フィルタ処理等を行うモジュールである。例えば、RFモジュール1334は、ブロードバンドモデム1333により生成されたベースバンド信号に対して周波数変換等を行ってRF信号を生成する。また、例えば、RFモジュール1334は、フロントエンドモジュール1314を介して受信されたRF信号に対して周波数変換等を行ってベースバンド信号を生成する。
 なお、図77において点線1341に示されるように、アプリケーションプロセッサ1331とビデオプロセッサ1332を、一体化し、1つのプロセッサとして構成されるようにしてもよい。
 外部メモリ1312は、ビデオモジュール1311の外部に設けられた、ビデオモジュール1311により利用される記憶デバイスを有するモジュールである。この外部メモリ1312の記憶デバイスは、どのような物理構成により実現するようにしてもよいが、一般的にフレーム単位の画像データのような大容量のデータの格納に利用されることが多いので、例えばDRAM(Dynamic Random Access Memory)のような比較的安価で大容量の半導体メモリにより実現するのが望ましい。
 パワーマネージメントモジュール1313は、ビデオモジュール1311(ビデオモジュール1311内の各構成)への電力供給を管理し、制御する。
 フロントエンドモジュール1314は、RFモジュール1334に対してフロントエンド機能(アンテナ側の送受信端の回路)を提供するモジュールである。図77に示されるように、フロントエンドモジュール1314は、例えば、アンテナ部1351、フィルタ1352、および増幅部1353を有する。
 アンテナ部1351は、無線信号を送受信するアンテナおよびその周辺の構成を有する。アンテナ部1351は、増幅部1353から供給される信号を無線信号として送信し、受信した無線信号を電気信号(RF信号)としてフィルタ1352に供給する。フィルタ1352は、アンテナ部1351を介して受信されたRF信号に対してフィルタ処理等を行い、処理後のRF信号をRFモジュール1334に供給する。増幅部1353は、RFモジュール1334から供給されるRF信号を増幅し、アンテナ部1351に供給する。
 コネクティビティ1321は、外部との接続に関する機能を有するモジュールである。コネクティビティ1321の物理構成は、任意である。例えば、コネクティビティ1321は、ブロードバンドモデム1333が対応する通信規格以外の通信機能を有する構成や、外部入出力端子等を有する。
 例えば、コネクティビティ1321が、Bluetooth(登録商標)、IEEE 802.11(例えばWi-Fi(Wireless Fidelity、登録商標))、NFC(Near Field Communication)、IrDA(InfraRed Data Association)等の無線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した信号を送受信するアンテナ等を有するようにしてもよい。また、例えば、コネクティビティ1321が、USB(Universal Serial Bus)、HDMI(登録商標)(High-Definition Multimedia Interface)等の有線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した端子を有するようにしてもよい。さらに、例えば、コネクティビティ1321が、アナログ入出力端子等のその他のデータ(信号)伝送機能等を有するようにしてもよい。
 なお、コネクティビティ1321が、データ(信号)の伝送先のデバイスを含むようにしてもよい。例えば、コネクティビティ1321が、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等の記録媒体に対してデータの読み出しや書き込みを行うドライブ(リムーバブルメディアのドライブだけでなく、ハードディスク、SSD(Solid State Drive)、NAS(Network Attached Storage)等も含む)を有するようにしてもよい。また、コネクティビティ1321が、画像や音声の出力デバイス(モニタやスピーカ等)を有するようにしてもよい。
 カメラ1322は、被写体を撮像し、被写体の画像データを得る機能を有するモジュールである。カメラ1322の撮像により得られた画像データは、例えば、ビデオプロセッサ1332に供給されて符号化される。
 センサ1323は、例えば、音声センサ、超音波センサ、光センサ、照度センサ、赤外線センサ、イメージセンサ、回転センサ、角度センサ、角速度センサ、速度センサ、加速度センサ、傾斜センサ、磁気識別センサ、衝撃センサ、温度センサ等、任意のセンサ機能を有するモジュールである。センサ1323により検出されたデータは、例えば、アプリケーションプロセッサ1331に供給されてアプリケーション等により利用される。
 以上においてモジュールとして説明した構成をプロセッサとして実現するようにしてもよいし、逆にプロセッサとして説明した構成をモジュールとして実現するようにしてもよい。
 以上のような構成のビデオセット1300において、後述するようにビデオプロセッサ1332に本技術を適用することができる。したがって、ビデオセット1300は、本技術を適用したセットとして実施することができる。
  <ビデオプロセッサの構成例>
 図78は、本技術を適用したビデオプロセッサ1332(図77)の概略的な構成の一例を示している。
 図78の例の場合、ビデオプロセッサ1332は、ビデオ信号およびオーディオ信号の入力を受けてこれらを所定の方式で符号化する機能と、符号化されたビデオデータおよびオーディオデータを復号し、ビデオ信号およびオーディオ信号を再生出力する機能とを有する。
 図78に示されるように、ビデオプロセッサ1332は、ビデオ入力処理部1401、第1画像拡大縮小部1402、第2画像拡大縮小部1403、ビデオ出力処理部1404、フレームメモリ1405、およびメモリ制御部1406を有する。また、ビデオプロセッサ1332は、エンコード・デコードエンジン1407、ビデオES(Elementary Stream)バッファ1408Aおよび1408B、並びに、オーディオESバッファ1409Aおよび1409Bを有する。さらに、ビデオプロセッサ1332は、オーディオエンコーダ1410、オーディオデコーダ1411、多重化部(MUX(Multiplexer))1412、逆多重化部(DMUX(Demultiplexer))1413、およびストリームバッファ1414を有する。
 ビデオ入力処理部1401は、例えばコネクティビティ1321(図77)等から入力されたビデオ信号を取得し、デジタル画像データに変換する。第1画像拡大縮小部1402は、画像データに対してフォーマット変換や画像の拡大縮小処理等を行う。第2画像拡大縮小部1403は、画像データに対して、ビデオ出力処理部1404を介して出力する先でのフォーマットに応じて画像の拡大縮小処理を行ったり、第1画像拡大縮小部1402と同様のフォーマット変換や画像の拡大縮小処理等を行ったりする。ビデオ出力処理部1404は、画像データに対して、フォーマット変換やアナログ信号への変換等を行って、再生されたビデオ信号として例えばコネクティビティ1321等に出力する。
 フレームメモリ1405は、ビデオ入力処理部1401、第1画像拡大縮小部1402、第2画像拡大縮小部1403、ビデオ出力処理部1404、およびエンコード・デコードエンジン1407によって共用される画像データ用のメモリである。フレームメモリ1405は、例えばDRAM等の半導体メモリとして実現される。
 メモリ制御部1406は、エンコード・デコードエンジン1407からの同期信号を受けて、アクセス管理テーブル1406Aに書き込まれたフレームメモリ1405へのアクセススケジュールに従ってフレームメモリ1405に対する書き込み・読み出しのアクセスを制御する。アクセス管理テーブル1406Aは、エンコード・デコードエンジン1407、第1画像拡大縮小部1402、第2画像拡大縮小部1403等で実行される処理に応じて、メモリ制御部1406により更新される。
 エンコード・デコードエンジン1407は、画像データのエンコード処理、並びに、画像データが符号化されたデータであるビデオストリームのデコード処理を行う。例えば、エンコード・デコードエンジン1407は、フレームメモリ1405から読み出した画像データを符号化し、ビデオストリームとしてビデオESバッファ1408Aに順次書き込む。また、例えば、ビデオESバッファ1408Bからビデオストリームを順次読み出して復号し、画像データとしてフレームメモリ1405に順次書き込む。エンコード・デコードエンジン1407は、これらの符号化や復号において、フレームメモリ1405を作業領域として使用する。また、エンコード・デコードエンジン1407は、例えばマクロブロック毎の処理を開始するタイミングで、メモリ制御部1406に対して同期信号を出力する。
 ビデオESバッファ1408Aは、エンコード・デコードエンジン1407によって生成されたビデオストリームをバッファリングして、多重化部(MUX)1412に供給する。ビデオESバッファ1408Bは、逆多重化部(DMUX)1413から供給されたビデオストリームをバッファリングして、エンコード・デコードエンジン1407に供給する。
 オーディオESバッファ1409Aは、オーディオエンコーダ1410によって生成されたオーディオストリームをバッファリングして、多重化部(MUX)1412に供給する。オーディオESバッファ1409Bは、逆多重化部(DMUX)1413から供給されたオーディオストリームをバッファリングして、オーディオデコーダ1411に供給する。
 オーディオエンコーダ1410は、例えばコネクティビティ1321等から入力されたオーディオ信号を例えばデジタル変換し、例えばMPEGオーディオ方式やAC3(AudioCode number 3)方式等の所定の方式で符号化する。オーディオエンコーダ1410は、オーディオ信号が符号化されたデータであるオーディオストリームをオーディオESバッファ1409Aに順次書き込む。オーディオデコーダ1411は、オーディオESバッファ1409Bから供給されたオーディオストリームを復号し、例えばアナログ信号への変換等を行って、再生されたオーディオ信号として例えばコネクティビティ1321等に供給する。
 多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化する。この多重化の方法(すなわち、多重化により生成されるビットストリームのフォーマット)は任意である。また、この多重化の際に、多重化部(MUX)1412は、所定のヘッダ情報等をビットストリームに付加することもできる。つまり、多重化部(MUX)1412は、多重化によりストリームのフォーマットを変換することができる。例えば、多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームに変換する。また、例えば、多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化することにより、記録用のファイルフォーマットのデータ(ファイルデータ)に変換する。
 逆多重化部(DMUX)1413は、多重化部(MUX)1412による多重化に対応する方法で、ビデオストリームとオーディオストリームとが多重化されたビットストリームを逆多重化する。つまり、逆多重化部(DMUX)1413は、ストリームバッファ1414から読み出されたビットストリームからビデオストリームとオーディオストリームとを抽出する(ビデオストリームとオーディオストリームとを分離する)。つまり、逆多重化部(DMUX)1413は、逆多重化によりストリームのフォーマットを変換(多重化部(MUX)1412による変換の逆変換)することができる。例えば、逆多重化部(DMUX)1413は、例えばコネクティビティ1321やブロードバンドモデム1333等から供給されたトランスポートストリームを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。また、例えば、逆多重化部(DMUX)1413は、例えばコネクティビティ1321により各種記録媒体から読み出されたファイルデータを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。
 ストリームバッファ1414は、ビットストリームをバッファリングする。例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ1321やブロードバンドモデム1333等に供給する。
 また、例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ1321等に供給し、各種記録媒体に記録させる。
 さらに、ストリームバッファ1414は、例えばコネクティビティ1321やブロードバンドモデム1333等を介して取得したトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
 また、ストリームバッファ1414は、例えばコネクティビティ1321等において各種記録媒体から読み出されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
 次に、このような構成のビデオプロセッサ1332の動作の例について説明する。例えば、コネクティビティ1321等からビデオプロセッサ1332に入力されたビデオ信号は、ビデオ入力処理部1401において4:2:2Y/Cb/Cr方式等の所定の方式のデジタル画像データに変換され、フレームメモリ1405に順次書き込まれる。このデジタル画像データは、第1画像拡大縮小部1402または第2画像拡大縮小部1403に読み出されて、4:2:0Y/Cb/Cr方式等の所定の方式へのフォーマット変換および拡大縮小処理が行われ、再びフレームメモリ1405に書き込まれる。この画像データは、エンコード・デコードエンジン1407によって符号化され、ビデオストリームとしてビデオESバッファ1408Aに書き込まれる。
 また、コネクティビティ1321等からビデオプロセッサ1332に入力されたオーディオ信号は、オーディオエンコーダ1410によって符号化され、オーディオストリームとして、オーディオESバッファ1409Aに書き込まれる。
 ビデオESバッファ1408Aのビデオストリームと、オーディオESバッファ1409Aのオーディオストリームは、多重化部(MUX)1412に読み出されて多重化され、トランスポートストリーム若しくはファイルデータ等に変換される。多重化部(MUX)1412により生成されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321やブロードバンドモデム1333等を介して外部ネットワークに出力される。また、多重化部(MUX)1412により生成されたファイルデータは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321等に出力され、各種記録媒体に記録される。
 また、例えばコネクティビティ1321やブロードバンドモデム1333等を介して外部ネットワークからビデオプロセッサ1332に入力されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、逆多重化部(DMUX)1413により逆多重化される。また、例えばコネクティビティ1321等において各種記録媒体から読み出され、ビデオプロセッサ1332に入力されたファイルデータは、ストリームバッファ1414にバッファされた後、逆多重化部(DMUX)1413により逆多重化される。つまり、ビデオプロセッサ1332に入力されたトランスポートストリームまたはファイルデータは、逆多重化部(DMUX)1413によりビデオストリームとオーディオストリームとに分離される。
 オーディオストリームは、オーディオESバッファ1409Bを介してオーディオデコーダ1411に供給され、復号されてオーディオ信号が再生される。また、ビデオストリームは、ビデオESバッファ1408Bに書き込まれた後、エンコード・デコードエンジン1407により順次読み出されて復号されてフレームメモリ1405に書き込まれる。復号された画像データは、第2画像拡大縮小部1403によって拡大縮小処理されて、フレームメモリ1405に書き込まれる。そして、復号された画像データは、ビデオ出力処理部1404に読み出されて、4:2:2Y/Cb/Cr方式等の所定の方式にフォーマット変換され、さらにアナログ信号に変換されて、ビデオ信号が再生出力される。
 このように構成されるビデオプロセッサ1332に本技術を適用する場合、エンコード・デコードエンジン1407に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、エンコード・デコードエンジン1407が、上述した画像符号化装置100や画像復号装置200の機能を有するようにしてもよい。このようにすることにより、ビデオプロセッサ1332は、図1乃至図62を参照して上述した各実施の形態と同様の効果を得ることができる。
 なお、エンコード・デコードエンジン1407において、本技術(すなわち、画像符号化装置100や画像復号装置200の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
  <ビデオプロセッサの他の構成例>
 図79は、本技術を適用したビデオプロセッサ1332の概略的な構成の他の例を示している。図79の例の場合、ビデオプロセッサ1332は、ビデオデータを所定の方式で符号化・復号する機能を有する。
 より具体的には、図79に示されるように、ビデオプロセッサ1332は、制御部1511、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、および内部メモリ1515を有する。また、ビデオプロセッサ1332は、コーデックエンジン1516、メモリインタフェース1517、多重化・逆多重化部(MUX DMUX)1518、ネットワークインタフェース1519、およびビデオインタフェース1520を有する。
 制御部1511は、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516等、ビデオプロセッサ1332内の各処理部の動作を制御する。
 図79に示されるように、制御部1511は、例えば、メインCPU1531、サブCPU1532、およびシステムコントローラ1533を有する。メインCPU1531は、ビデオプロセッサ1332内の各処理部の動作を制御するためのプログラム等を実行する。メインCPU1531は、そのプログラム等に従って制御信号を生成し、各処理部に供給する(つまり、各処理部の動作を制御する)。サブCPU1532は、メインCPU1531の補助的な役割を果たす。例えば、サブCPU1532は、メインCPU1531が実行するプログラム等の子プロセスやサブルーチン等を実行する。システムコントローラ1533は、メインCPU1531およびサブCPU1532が実行するプログラムを指定する等、メインCPU1531およびサブCPU1532の動作を制御する。
 ディスプレイインタフェース1512は、制御部1511の制御の下、画像データを例えばコネクティビティ1321等に出力する。例えば、ディスプレイインタフェース1512は、デジタルデータの画像データをアナログ信号に変換し、再生されたビデオ信号として、またはデジタルデータの画像データのまま、コネクティビティ1321のモニタ装置等に出力する。
 ディスプレイエンジン1513は、制御部1511の制御の下、画像データに対して、その画像を表示させるモニタ装置等のハードウエアスペックに合わせるように、フォーマット変換、サイズ変換、色域変換等の各種変換処理を行う。
 画像処理エンジン1514は、制御部1511の制御の下、画像データに対して、例えば画質改善のためのフィルタ処理等、所定の画像処理を施す。
 内部メモリ1515は、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516により共用される、ビデオプロセッサ1332の内部に設けられたメモリである。内部メモリ1515は、例えば、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516の間で行われるデータの授受に利用される。例えば、内部メモリ1515は、ディスプレイエンジン1513、画像処理エンジン1514、またはコーデックエンジン1516から供給されるデータを格納し、必要に応じて(例えば、要求に応じて)、そのデータを、ディスプレイエンジン1513、画像処理エンジン1514、またはコーデックエンジン1516に供給する。この内部メモリ1515は、どのような記憶デバイスにより実現するようにしてもよいが、一般的にブロック単位の画像データやパラメータ等といった小容量のデータの格納に利用することが多いので、例えばSRAM(Static Random Access Memory)のような比較的(例えば外部メモリ1312と比較して)小容量だが応答速度が高速な半導体メモリにより実現するのが望ましい。
 コーデックエンジン1516は、画像データの符号化や復号に関する処理を行う。このコーデックエンジン1516が対応する符号化・復号の方式は任意であり、その数は1つであってもよいし、複数であってもよい。例えば、コーデックエンジン1516は、複数の符号化・復号方式のコーデック機能を備え、その中から選択されたもので画像データの符号化若しくは符号化データの復号を行うようにしてもよい。
 図79に示される例において、コーデックエンジン1516は、コーデックに関する処理の機能ブロックとして、例えば、MPEG-2 Video1541、AVC/H.2641542、HEVC/H.2651543、HEVC/H.265(Scalable)1544、HEVC/H.265(Multi-view)1545、およびMPEG-DASH1551を有する。
 MPEG-2 Video1541は、画像データをMPEG-2方式で符号化したり復号したりする機能ブロックである。AVC/H.2641542は、画像データをAVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.2651543は、画像データをHEVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.265(Scalable)1544は、画像データをHEVC方式でスケーラブル符号化したりスケーラブル復号したりする機能ブロックである。HEVC/H.265(Multi-view)1545は、画像データをHEVC方式で多視点符号化したり多視点復号したりする機能ブロックである。
 MPEG-DASH1551は、画像データをMPEG-DASH(MPEG-Dynamic Adaptive Streaming over HTTP)方式で送受信する機能ブロックである。MPEG-DASHは、HTTP(HyperText Transfer Protocol)を使ってビデオのストリーミングを行う技術であり、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択し伝送することを特徴の1つとする。MPEG-DASH1551は、規格に準拠するストリームの生成やそのストリームの伝送制御等を行い、画像データの符号化・復号については、上述したMPEG-2 Video1541乃至HEVC/H.265(Multi-view)1545を利用する。
 メモリインタフェース1517は、外部メモリ1312用のインタフェースである。画像処理エンジン1514やコーデックエンジン1516から供給されるデータは、メモリインタフェース1517を介して外部メモリ1312に供給される。また、外部メモリ1312から読み出されたデータは、メモリインタフェース1517を介してビデオプロセッサ1332(画像処理エンジン1514若しくはコーデックエンジン1516)に供給される。
 多重化・逆多重化部(MUX DMUX)1518は、符号化データのビットストリーム、画像データ、ビデオ信号等、画像に関する各種データの多重化や逆多重化を行う。この多重化・逆多重化の方法は任意である。例えば、多重化の際に、多重化・逆多重化部(MUX DMUX)1518は、複数のデータを1つにまとめるだけでなく、所定のヘッダ情報等をそのデータに付加することもできる。また、逆多重化の際に、多重化・逆多重化部(MUX DMUX)1518は、1つのデータを複数に分割するだけでなく、分割した各データに所定のヘッダ情報等を付加することもできる。つまり、多重化・逆多重化部(MUX DMUX)1518は、多重化・逆多重化によりデータのフォーマットを変換することができる。例えば、多重化・逆多重化部(MUX DMUX)1518は、ビットストリームを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームや、記録用のファイルフォーマットのデータ(ファイルデータ)に変換することができる。もちろん、逆多重化によりその逆変換も可能である。
 ネットワークインタフェース1519は、例えばブロードバンドモデム1333やコネクティビティ1321等向けのインタフェースである。ビデオインタフェース1520は、例えばコネクティビティ1321やカメラ1322等向けのインタフェースである。
 次に、このようなビデオプロセッサ1332の動作の例について説明する。例えば、コネクティビティ1321やブロードバンドモデム1333等を介して外部ネットワークからトランスポートストリームを受信すると、そのトランスポートストリームは、ネットワークインタフェース1519を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、例えば、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてファイルデータに変換され、ビデオインタフェース1520を介して例えばコネクティビティ1321等に出力され、各種記録媒体に記録される。
 さらに、例えば、コネクティビティ1321等により図示せぬ記録媒体から読み出された、画像データが符号化された符号化データのファイルデータは、ビデオインタフェース1520を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてトランスポートストリームに変換され、ネットワークインタフェース1519を介して例えばコネクティビティ1321やブロードバンドモデム1333等に供給され図示せぬ他の装置に伝送される。
 なお、ビデオプロセッサ1332内の各処理部の間での画像データやその他のデータの授受は、例えば、内部メモリ1515や外部メモリ1312を利用して行われる。また、パワーマネージメントモジュール1313は、例えば制御部1511への電力供給を制御する。
 このように構成されるビデオプロセッサ1332に本技術を適用する場合、コーデックエンジン1516に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、コーデックエンジン1516が、上述した画像符号化装置100や画像復号装置200を実現する機能ブロックを有するようにすればよい。このようにすることにより、ビデオプロセッサ1332は、図1乃至図62を参照して上述した各実施の形態と同様の効果を得ることができる。
 なお、コーデックエンジン1516において、本技術(すなわち、画像符号化装置100や画像復号装置200の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
 以上にビデオプロセッサ1332の構成を2例示したが、ビデオプロセッサ1332の構成は任意であり、上述した2例以外のものであってもよい。また、このビデオプロセッサ1332は、1つの半導体チップとして構成されるようにしてもよいが、複数の半導体チップとして構成されるようにしてもよい。例えば、複数の半導体を積層する3次元積層LSIとしてもよい。また、複数のLSIにより実現されるようにしてもよい。
  <装置への適用例>
 ビデオセット1300は、画像データを処理する各種装置に組み込むことができる。例えば、ビデオセット1300は、テレビジョン装置900(図73)、携帯電話機920(図74)、記録再生装置940(図75)、撮像装置960(図76)等に組み込むことができる。ビデオセット1300を組み込むことにより、その装置は、図1乃至図62を参照して上述した各実施の形態と同様の効果を得ることができる。
 なお、上述したビデオセット1300の各構成の一部であっても、ビデオプロセッサ1332を含むものであれば、本技術を適用した構成として実施することができる。例えば、ビデオプロセッサ1332のみを本技術を適用したビデオプロセッサとして実施することができる。また、例えば、上述したように点線1341により示されるプロセッサやビデオモジュール1311等を、本技術を適用したプロセッサやモジュール等として実施することができる。さらに、例えば、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、およびフロントエンドモジュール1314を組み合わせ、本技術を適用したビデオユニット1361として実施することもできる。いずれの構成の場合であっても、図1乃至図62を参照して上述した各実施の形態と同様の効果を得ることができる。
 つまり、ビデオプロセッサ1332を含むものであればどのような構成であっても、ビデオセット1300の場合と同様に、画像データを処理する各種装置に組み込むことができる。例えば、ビデオプロセッサ1332、点線1341により示されるプロセッサ、ビデオモジュール1311、または、ビデオユニット1361を、テレビジョン装置900(図73)、携帯電話機920(図74)、記録再生装置940(図75)、撮像装置960(図76)等に組み込むことができる。そして、本技術を適用したいずれかの構成を組み込むことにより、その装置は、ビデオセット1300の場合と同様に、図1乃至図62を参照して上述した各実施の形態と同様の効果を得ることができる。
 また、本明細書では、各種情報が、符号化ストリームに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
 なお、本技術は以下のような構成も取ることができる。
 (1) 画像データを符号化する符号化部と、
 前記符号化部により前記画像データが符号化されて得られた符号化データを復号して得られる復号画像データの色差成分に対するデブロッキングフィルタ処理を制御する制御情報を、前記符号化データのヘッダ情報として生成する制御情報生成部と
 を備える画像処理装置。
 (2) 前記制御情報生成部は、前記制御情報として、前記復号画像データの色差成分に対するデブロッキングフィルタ処理を実行するかを制御する制御情報を生成する
 (1)に記載の画像処理装置。
 (3) 前記制御情報生成部は、前記制御情報として、前記復号画像データの色差成分に対するデブロッキングフィルタ処理のフィルタ強度を制御する制御情報を生成する
 (1)または(2)に記載の画像処理装置。
 (4) 前記制御情報生成部は、前記フィルタ強度を制御する制御情報として、デブロッキングフィルタのパラメータβに対するオフセットを制御する制御情報を生成する
 (3)に記載の画像処理装置。
 (5) 前記制御情報生成部は、前記フィルタ強度を制御する制御情報として、デブロッキングフィルタのパラメータtCに対するオフセットを制御する制御情報を生成する
 (3)または(4)に記載の画像処理装置。
 (6) 前記制御情報生成部は、
  前記ヘッダ情報のシーケンスパラメータセットのシンタクス要素であり、前記復号画像データの前記シーケンスパラメータセットに対応するシーケンスの色差成分に対するデブロッキングフィルタ処理を制御する制御情報、
  前記ヘッダ情報のピクチャパラメータセットのシンタクス要素であり、前記復号画像データの前記ピクチャパラメータセットに対応するピクチャの色差成分に対するデブロッキングフィルタ処理を制御する制御情報、
  前記ヘッダ情報のスライスヘッダのシンタクス要素であり、前記復号画像データの前記スライスヘッダに対応するスライスの色差成分に対するデブロッキングフィルタ処理を制御する制御情報
 の内、少なくともいずれか1つを生成する
 (1)乃至(5)のいずれかに記載の画像処理装置。
 (7) 前記制御情報生成部により生成された前記制御情報に基づいて、前記復号画像データの色差成分に対するデブロッキングフィルタ処理を行うフィルタ処理部をさらに備える
 (1)乃至(6)のいずれかに記載の画像処理装置。
 (8) 前記復号画像データの画像の特性に応じたデブロッキングフィルタ処理が行われるように、前記制御情報生成部を制御する制御部をさらに備え、
 前記制御情報生成部は、前記制御部の制御に従って前記制御情報を生成する
 (1)乃至(7)のいずれかに記載の画像処理装置。
 (9) 前記復号画像データの色フォーマットに応じたデブロッキングフィルタ処理が行われるように、前記制御情報生成部を制御する制御部をさらに備え、
 前記制御情報生成部は、前記制御部の制御に従って前記制御情報を生成する
 (1)乃至(8)のいずれかに記載の画像処理装置。
 (10) 画像データを符号化し、
 前記画像データが符号化されて得られた符号化データを復号して得られる復号画像データの色差成分に対するデブロッキングフィルタ処理を制御する制御情報を、前記符号化データのヘッダ情報として生成する
 画像処理方法。
 (11) 画像データの符号化データを復号する復号部と、
 前記符号化データのヘッダ情報の、前記復号部により前記符号化データが復号されて得られた復号画像データの色差成分に対するデブロッキングフィルタ処理を制御する制御情報に基づいて、前記復号画像データの色差成分に対するデブロッキングフィルタ処理を行うフィルタ処理部と
 を備える画像処理装置。
 (12) 前記制御情報は、前記復号画像データの色差成分に対するデブロッキングフィルタ処理を実行するかを制御する制御情報である
 (11)に記載の画像処理装置。
 (13) 前記制御情報は、前記復号画像データの色差成分に対するデブロッキングフィルタ処理のフィルタ強度を制御する制御情報である
 (11)または(12)に記載の画像処理装置。
 (14) 前記フィルタ強度を制御する制御情報は、デブロッキングフィルタのパラメータβに対するオフセットを制御する制御情報である
 (13)に記載の画像処理装置。
 (15) 前記フィルタ強度を制御する制御情報は、デブロッキングフィルタのパラメータtCに対するオフセットを制御する制御情報である
 (13)または(14)に記載の画像処理装置。
 (16) 前記制御情報は、
  前記ヘッダ情報のシーケンスパラメータセットのシンタクス要素であり、前記復号画像データの前記シーケンスパラメータセットに対応するシーケンスの色差成分に対するデブロッキングフィルタ処理を制御する制御情報、
  前記ヘッダ情報のピクチャパラメータセットのシンタクス要素であり、前記復号画像データの前記ピクチャパラメータセットに対応するピクチャの色差成分に対するデブロッキングフィルタ処理を制御する制御情報、
  前記ヘッダ情報のスライスヘッダのシンタクス要素であり、前記復号画像データの前記スライスヘッダに対応するスライスの色差成分に対するデブロッキングフィルタ処理を制御する制御情報
 の内、少なくともいずれか1つを含み、
 前記フィルタ処理部は、前記制御情報に含まれるいずれかの情報に基づいて、前記復号画像データの色差成分に対するデブロッキングフィルタ処理を行う
 (11)乃至(15)のいずれかに記載の画像処理装置。
 (17) 前記フィルタ処理部は、前記スライスヘッダの前記制御情報、前記ピクチャパラメータセットの前記制御情報、前記シーケンスパラメータセットの前記制御情報の順に優先して利用する
 (16)に記載の画像処理装置。
 (18) 前記フィルタ処理部は、前記復号画像データに対するデブロッキングフィルタ処理を制御する制御情報が存在するかを示す情報に基づいて、前記ピクチャパラメータセットの前記制御情報と前記スライスヘッダの前記制御情報とを参照し、利用する
 (16)または(17)に記載の画像処理装置。
 (19) 前記フィルタ処理部は、前記復号画像データの色差成分に対するデブロッキングフィルタ処理を制御する制御情報が存在するかを示す情報に基づいて、前記ピクチャパラメータセットの前記制御情報と前記スライスヘッダの前記制御情報とを参照し、利用する
 (16)乃至(18)のいずれかに記載の画像処理装置。
 (20) 画像データの符号化データを復号し、
 前記符号化データのヘッダ情報の、前記符号化データが復号されて得られた復号画像データの色差成分に対するデブロッキングフィルタ処理を制御する制御情報に基づいて、前記復号画像データの色差成分に対するデブロッキングフィルタ処理を行う
 画像処理方法。
 100 画像符号化装置, 115 可逆符号化部, 120 ループフィルタ, 131 ヘッダ情報生成部, 141 ヘッダ制御部, 151 SPS生成部, 152 PPS生成部, 153 SH生成部, 161 SPS拡張シンタクス生成部, 162 PPS拡張シンタクス生成部, 163 SH拡張シンタクス生成部, 171 sps_chroma_deblocking_filter_disabled_flag生成部, 172 pps_chroma_deblocking_filter_disabled_flag生成部, 173 slice_chroma_deblocking_filter_disabled_flag生成部, 181 デブロッキングフィルタ制御部, 182 デブロッキングフィルタ処理部, 191 ルマデブロッキングフィルタ処理部, 192 クロマデブロッキングフィルタ処理部, 200 画像復号装置, 212 可逆復号部, 216 ループフィルタ, 251 デブロッキングフィルタ制御部, 252 デブロッキングフィルタ処理部, 261 ルマデブロッキングフィルタ処理部, 262 クロマデブロッキングフィルタ処理部, 271 chroma_deblocking_filter_control_present_flag生成部, 272 chroma_deblocking_filter_override_enabled_flag生成部, 273 chroma_deblocking_filter_override_flag生成部, 281 pps_chroma_beta_offset_div2生成部, 282 pps_chroma_tc_offset_div2生成部, 283 slice_chroma_beta_offset_div2生成部, 284 slice_chroma_tc_offset_div2生成部

Claims (20)

  1.  画像データを符号化する符号化部と、
     前記符号化部により前記画像データが符号化されて得られた符号化データを復号して得られる復号画像データの色差成分に対するデブロッキングフィルタ処理を制御する制御情報を、前記符号化データのヘッダ情報として生成する制御情報生成部と
     を備える画像処理装置。
  2.  前記制御情報生成部は、前記制御情報として、前記復号画像データの色差成分に対するデブロッキングフィルタ処理を実行するかを制御する制御情報を生成する
     請求項1に記載の画像処理装置。
  3.  前記制御情報生成部は、前記制御情報として、前記復号画像データの色差成分に対するデブロッキングフィルタ処理のフィルタ強度を制御する制御情報を生成する
     請求項1に記載の画像処理装置。
  4.  前記制御情報生成部は、前記フィルタ強度を制御する制御情報として、デブロッキングフィルタのパラメータβに対するオフセットを制御する制御情報を生成する
     請求項3に記載の画像処理装置。
  5.  前記制御情報生成部は、前記フィルタ強度を制御する制御情報として、デブロッキングフィルタのパラメータtCに対するオフセットを制御する制御情報を生成する
     請求項3に記載の画像処理装置。
  6.  前記制御情報生成部は、
      前記ヘッダ情報のシーケンスパラメータセットのシンタクス要素であり、前記復号画像データの前記シーケンスパラメータセットに対応するシーケンスの色差成分に対するデブロッキングフィルタ処理を制御する制御情報、
      前記ヘッダ情報のピクチャパラメータセットのシンタクス要素であり、前記復号画像データの前記ピクチャパラメータセットに対応するピクチャの色差成分に対するデブロッキングフィルタ処理を制御する制御情報、
      前記ヘッダ情報のスライスヘッダのシンタクス要素であり、前記復号画像データの前記スライスヘッダに対応するスライスの色差成分に対するデブロッキングフィルタ処理を制御する制御情報
     の内、少なくともいずれか1つを生成する
     請求項1に記載の画像処理装置。
  7.  前記制御情報生成部により生成された前記制御情報に基づいて、前記復号画像データの色差成分に対するデブロッキングフィルタ処理を行うフィルタ処理部をさらに備える
     請求項1に記載の画像処理装置。
  8.  前記復号画像データの画像の特性に応じたデブロッキングフィルタ処理が行われるように、前記制御情報生成部を制御する制御部をさらに備え、
     前記制御情報生成部は、前記制御部の制御に従って前記制御情報を生成する
     請求項1に記載の画像処理装置。
  9.  前記復号画像データの色フォーマットに応じたデブロッキングフィルタ処理が行われるように、前記制御情報生成部を制御する制御部をさらに備え、
     前記制御情報生成部は、前記制御部の制御に従って前記制御情報を生成する
     請求項1に記載の画像処理装置。
  10.  画像データを符号化し、
     前記画像データが符号化されて得られた符号化データを復号して得られる復号画像データの色差成分に対するデブロッキングフィルタ処理を制御する制御情報を、前記符号化データのヘッダ情報として生成する
     画像処理方法。
  11.  画像データの符号化データを復号する復号部と、
     前記符号化データのヘッダ情報の、前記復号部により前記符号化データが復号されて得られた復号画像データの色差成分に対するデブロッキングフィルタ処理を制御する制御情報に基づいて、前記復号画像データの色差成分に対するデブロッキングフィルタ処理を行うフィルタ処理部と
     を備える画像処理装置。
  12.  前記制御情報は、前記復号画像データの色差成分に対するデブロッキングフィルタ処理を実行するかを制御する制御情報である
     請求項11に記載の画像処理装置。
  13.  前記制御情報は、前記復号画像データの色差成分に対するデブロッキングフィルタ処理のフィルタ強度を制御する制御情報である
     請求項11に記載の画像処理装置。
  14.  前記フィルタ強度を制御する制御情報は、デブロッキングフィルタのパラメータβに対するオフセットを制御する制御情報である
     請求項13に記載の画像処理装置。
  15.  前記フィルタ強度を制御する制御情報は、デブロッキングフィルタのパラメータtCに対するオフセットを制御する制御情報である
     請求項13に記載の画像処理装置。
  16.  前記制御情報は、
      前記ヘッダ情報のシーケンスパラメータセットのシンタクス要素であり、前記復号画像データの前記シーケンスパラメータセットに対応するシーケンスの色差成分に対するデブロッキングフィルタ処理を制御する制御情報、
      前記ヘッダ情報のピクチャパラメータセットのシンタクス要素であり、前記復号画像データの前記ピクチャパラメータセットに対応するピクチャの色差成分に対するデブロッキングフィルタ処理を制御する制御情報、
      前記ヘッダ情報のスライスヘッダのシンタクス要素であり、前記復号画像データの前記スライスヘッダに対応するスライスの色差成分に対するデブロッキングフィルタ処理を制御する制御情報
     の内、少なくともいずれか1つを含み、
     前記フィルタ処理部は、前記制御情報に含まれるいずれかの情報に基づいて、前記復号画像データの色差成分に対するデブロッキングフィルタ処理を行う
     請求項11に記載の画像処理装置。
  17.  前記フィルタ処理部は、前記スライスヘッダの前記制御情報、前記ピクチャパラメータセットの前記制御情報、前記シーケンスパラメータセットの前記制御情報の順に優先して利用する
     請求項16に記載の画像処理装置。
  18.  前記フィルタ処理部は、前記復号画像データに対するデブロッキングフィルタ処理を制御する制御情報が存在するかを示す情報に基づいて、前記ピクチャパラメータセットの前記制御情報と前記スライスヘッダの前記制御情報とを参照し、利用する
     請求項16に記載の画像処理装置。
  19.  前記フィルタ処理部は、前記復号画像データの色差成分に対するデブロッキングフィルタ処理を制御する制御情報が存在するかを示す情報に基づいて、前記ピクチャパラメータセットの前記制御情報と前記スライスヘッダの前記制御情報とを参照し、利用する
     請求項16に記載の画像処理装置。
  20.  画像データの符号化データを復号し、
     前記符号化データのヘッダ情報の、前記符号化データが復号されて得られた復号画像データの色差成分に対するデブロッキングフィルタ処理を制御する制御情報に基づいて、前記復号画像データの色差成分に対するデブロッキングフィルタ処理を行う
     画像処理方法。
PCT/JP2015/077012 2014-10-06 2015-09-25 画像処理装置および方法 Ceased WO2016056398A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2016553044A JP6579393B2 (ja) 2014-10-06 2015-09-25 画像処理装置および方法
EP15848167.1A EP3206400A4 (en) 2014-10-06 2015-09-25 Image processing device and method
CN201580053276.9A CN107079149B (zh) 2014-10-06 2015-09-25 图像处理装置和方法
US15/512,552 US20170295369A1 (en) 2014-10-06 2015-09-25 Image processing device and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-205971 2014-10-06
JP2014205971 2014-10-06

Publications (1)

Publication Number Publication Date
WO2016056398A1 true WO2016056398A1 (ja) 2016-04-14

Family

ID=55653016

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/077012 Ceased WO2016056398A1 (ja) 2014-10-06 2015-09-25 画像処理装置および方法

Country Status (5)

Country Link
US (1) US20170295369A1 (ja)
EP (1) EP3206400A4 (ja)
JP (2) JP6579393B2 (ja)
CN (1) CN107079149B (ja)
WO (1) WO2016056398A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200100619A (ko) * 2017-10-20 2020-08-26 비온테크 알엔에이 파마슈티컬스 게엠베하 치료법에 적합한 리포조말 rna 제형의 제조 및 저장
WO2021045162A1 (ja) * 2019-09-06 2021-03-11 ソニー株式会社 画像処理装置及び画像処理方法
JP2023512694A (ja) * 2020-02-04 2023-03-28 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 高レベルシンタックスのシグナリングについてのエンコーダ、デコーダ、および対応する方法
JP2023525449A (ja) * 2020-03-31 2023-06-16 テレフオンアクチーボラゲット エルエム エリクソン(パブル) シンタックスエレメントを使用するビデオ処理
JP7844765B2 (ja) 2020-04-02 2026-04-14 ノキア テクノロジーズ オサケユイチア ビデオまたは映像コーディングシステムにおける白黒映像に関するクロマデブロッキングパラメータ情報に基づく映像コーディング方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115134609B (zh) 2015-06-11 2025-02-21 杜比实验室特许公司 使用自适应去块滤波编码和解码图像的方法及其装置
JP7418152B2 (ja) * 2018-12-17 2024-01-19 キヤノン株式会社 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法
WO2020233659A1 (en) 2019-05-21 2020-11-26 Beijing Bytedance Network Technology Co., Ltd. Adaptive motion vector difference resolution for affine mode
CN117336468A (zh) 2019-08-10 2024-01-02 北京字节跳动网络技术有限公司 视频比特流中的子图片相关信令通知
US11909991B2 (en) * 2019-08-30 2024-02-20 Tencent America LLC Restrictions on picture width and height
EP4032290A4 (en) 2019-10-18 2022-11-30 Beijing Bytedance Network Technology Co., Ltd. SYNTAX RESTRICTIONS IN PARAMETER SET SIGNALING OF SUBPICTURES
CN115280774B (zh) 2019-12-02 2025-08-19 抖音视界有限公司 视觉媒体处理的方法、装置及非暂时性计算机可读存储介质
US12010348B2 (en) 2019-12-12 2024-06-11 Lg Electronics Inc. Image decoding method and device using deblocking filtering
CN120186349A (zh) * 2020-02-21 2025-06-20 阿里巴巴(中国)有限公司 计算机实现的编码及解码方法、计算机可读存储介质
WO2021190464A1 (en) * 2020-03-23 2021-09-30 Beijing Bytedance Network Technology Co., Ltd. Controlling deblocking filtering at different levels in coded video
JP2021158633A (ja) * 2020-03-30 2021-10-07 Kddi株式会社 画像復号装置、画像復号方法及びプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010504036A (ja) * 2006-09-15 2010-02-04 フリースケール セミコンダクター インコーポレイテッド 選択的色差デブロック・フィルタリングを用いた映像情報処理システム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010145773A (ja) * 2008-12-19 2010-07-01 Sony Corp 表示装置および表示装置の制御方法
JP5344238B2 (ja) * 2009-07-31 2013-11-20 ソニー株式会社 画像符号化装置および方法、記録媒体、並びにプログラム
CN103535035B (zh) * 2011-05-16 2017-03-15 寰发股份有限公司 用于亮度和色度分量的样本自适应偏移的方法和装置
JP2012253722A (ja) * 2011-06-07 2012-12-20 Sony Corp 画像符号化装置と画像復号装置およびその方法とプログラム
US9363516B2 (en) * 2012-01-19 2016-06-07 Qualcomm Incorporated Deblocking chroma data for video coding
US9538200B2 (en) * 2012-01-19 2017-01-03 Qualcomm Incorporated Signaling of deblocking filter parameters in video coding
US9451258B2 (en) * 2012-04-03 2016-09-20 Qualcomm Incorporated Chroma slice-level QP offset and deblocking
US9591302B2 (en) * 2012-07-02 2017-03-07 Microsoft Technology Licensing, Llc Use of chroma quantization parameter offsets in deblocking
US10412419B2 (en) * 2013-07-12 2019-09-10 Qualcomm Incorporated Adaptive filtering in video coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010504036A (ja) * 2006-09-15 2010-02-04 フリースケール セミコンダクター インコーポレイテッド 選択的色差デブロック・フィルタリングを用いた映像情報処理システム

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
ANDREY NORKIN ET AL.: "CE12:Ericsson's and MediaTek's deblocking filter", JOINT COLLABORATIVE TEAM ON VIDEO CODING(JCT-VC) OF ITU-T SG 16 WP3 AND ISO/IEC JTC1/SC29/WG11 6TH MEETING, JCTVC-F118, 14 July 2011 (2011-07-14), Torino, IT, pages 1 - 6, XP030049099 *
KAZUO SUGIMOTO ET AL.: "Signaling of boundary filtering strength of deblocking filter for intra", JOINT COLLABORATIVE TEAM ON VIDEO CODING(JCT-VC) OF ITU-T SG 16 WP3 AND ISO/IEC JTC1/SC29/WG11 6TH MEETING, JCTVC-F175, 11 July 2011 (2011-07-11), Torino, IT, pages 1 - 5, XP030049157 *
MATTHIAS NARROSCHKE: "Deblocking filter using adaptive weighting factors", JOINT COLLABORATIVE TEAM ON VIDEO CODING(JCT-VC) OF ITU-T SG 16 WP3 AND ISO/IEC JTC1/SC29/WG11 6TH MEETING, JCTVC-F405, 14 July 2011 (2011-07-14), Torino, IT, pages 1 - 9, XP030049394 *
See also references of EP3206400A4 *
TOMOO YAMAKAGE ET AL.: "CE12:Deblocking filter parameter adjustment in slice level", JOINT COLLABORATIVE TEAM ON VIDEO CODING(JCT-VC) OF ITU-T SG 16 WP3 AND ISO/IEC JTC1/SC29/WG11 6TH MEETING, JCTVC-F143_R1, 14 July 2011 (2011-07-14), Torino, IT, pages 1 - 4, XP030049125 *
TOMOO YAMAKAGE ET AL.: "CE8.1:Deblocking parameter adjustment for 1-input ALF", JOINT COLLABORATIVE TEAM ON VIDEO CODING(JCT-VC) OF ITU-T SG 16 WP3 AND ISO/IEC JTC1/SC29/WG11 5TH MEETING, JCTVC-E193, 10 March 2011 (2011-03-10), Geneva, CH, pages 1 - 5, XP030008699 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200100619A (ko) * 2017-10-20 2020-08-26 비온테크 알엔에이 파마슈티컬스 게엠베하 치료법에 적합한 리포조말 rna 제형의 제조 및 저장
KR102762217B1 (ko) 2017-10-20 2025-02-07 비온테크 에스이 치료법에 적합한 리포조말 rna 제형의 제조 및 저장
WO2021045162A1 (ja) * 2019-09-06 2021-03-11 ソニー株式会社 画像処理装置及び画像処理方法
JPWO2021045162A1 (ja) * 2019-09-06 2021-03-11
CN114342382A (zh) * 2019-09-06 2022-04-12 索尼集团公司 图像处理装置和图像处理方法
US12075036B2 (en) 2019-09-06 2024-08-27 Sony Group Corporation Image processing device and image processing method
JP2023512694A (ja) * 2020-02-04 2023-03-28 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 高レベルシンタックスのシグナリングについてのエンコーダ、デコーダ、および対応する方法
US12483696B2 (en) 2020-02-04 2025-11-25 Huawei Technologies Co., Ltd. Encoder, decoder and corresponding methods about signaling high level syntax
JP2023525449A (ja) * 2020-03-31 2023-06-16 テレフオンアクチーボラゲット エルエム エリクソン(パブル) シンタックスエレメントを使用するビデオ処理
JP7490803B2 (ja) 2020-03-31 2024-05-27 テレフオンアクチーボラゲット エルエム エリクソン(パブル) シンタックスエレメントを使用するビデオ処理
US12167041B2 (en) 2020-03-31 2024-12-10 Telefonaktiebolaget Lm Ericsson (Publ) Video processing
JP7844765B2 (ja) 2020-04-02 2026-04-14 ノキア テクノロジーズ オサケユイチア ビデオまたは映像コーディングシステムにおける白黒映像に関するクロマデブロッキングパラメータ情報に基づく映像コーディング方法

Also Published As

Publication number Publication date
CN107079149B (zh) 2020-03-03
JP2019198129A (ja) 2019-11-14
JP6579393B2 (ja) 2019-09-25
US20170295369A1 (en) 2017-10-12
EP3206400A4 (en) 2018-05-16
JPWO2016056398A1 (ja) 2017-07-20
EP3206400A1 (en) 2017-08-16
CN107079149A (zh) 2017-08-18

Similar Documents

Publication Publication Date Title
JP6579393B2 (ja) 画像処理装置および方法
US10142634B2 (en) Image processing apparatus and method
US11546594B2 (en) Decoding device, decoding method, encoding device, and encoding method
JP2019195209A (ja) 画像復号装置および方法
JP6451999B2 (ja) 画像処理装置および方法
JP6497562B2 (ja) 画像符号化装置および方法
JP2015173312A (ja) 画像符号化装置および方法、並びに画像復号装置および方法
JPWO2015098561A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
WO2015053116A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
JPWO2015064402A1 (ja) 画像処理装置および方法
JPWO2015064403A1 (ja) 画像処理装置および方法
US20160286218A1 (en) Image encoding device and method, and image decoding device and method
JP2015186028A (ja) 画像符号化装置および方法、並びに画像復号装置および方法
JP6477930B2 (ja) 符号化装置および符号化方法
WO2015064401A1 (ja) 画像処理装置および方法
JP2015050738A (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: 15848167

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016553044

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15512552

Country of ref document: US

REEP Request for entry into the european phase

Ref document number: 2015848167

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015848167

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE