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

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

Info

Publication number
WO2022255395A1
WO2022255395A1 PCT/JP2022/022248 JP2022022248W WO2022255395A1 WO 2022255395 A1 WO2022255395 A1 WO 2022255395A1 JP 2022022248 W JP2022022248 W JP 2022022248W WO 2022255395 A1 WO2022255395 A1 WO 2022255395A1
Authority
WO
WIPO (PCT)
Prior art keywords
operation range
range extension
flag
control information
image
Prior art date
Application number
PCT/JP2022/022248
Other languages
English (en)
French (fr)
Inventor
健史 筑波
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Priority to CN202280037393.6A priority Critical patent/CN117413522A/zh
Priority to KR1020237039346A priority patent/KR20240018432A/ko
Priority to MX2023014425A priority patent/MX2023014425A/es
Priority to EP22816141.0A priority patent/EP4351143A4/en
Priority to JP2023525881A priority patent/JPWO2022255395A1/ja
Publication of WO2022255395A1 publication Critical patent/WO2022255395A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/98Adaptive-dynamic-range coding [ADRC]

Definitions

  • the present disclosure relates to an image processing apparatus and method, and in particular, an image processing apparatus and method that enable use of an encoding tool for bit depth extension while maintaining compatibility with specifications that do not extend the bit depth of images. Regarding.
  • an encoding method has been proposed in which a prediction residual of a moving image is derived, coefficient-transformed, quantized, and encoded (see, for example, Non-Patent Document 1 and Non-Patent Document 2).
  • image coding it has been proposed to extend the bit depth of the image to be processed by extending the operation range (also referred to as dynamic range) (see, for example, Non-Patent Document 3).
  • operation range expansion tool has been proposed as a function for high bit depth and high bit rate (see Non-Patent Documents 4 to 6, for example).
  • Non-Patent Document 3 By applying the method described in Non-Patent Document 3, the operation range (dynamic range) of the encoder or decoder conforming to the encoding / decoding method as described in Non-Patent Document 1 and Non-Patent Document 2 is extended, Operation range extension tools described in Non-Patent Documents 4 to 6 can be used.
  • Non-Patent Documents 4 to 6 are encoding tools for processing images with extended bit depths, and are not used when the operation range is not extended.
  • the method described in Non-Patent Document 3 may generate a bitstream that is not compatible with the image encoding methods described in Non-Patent Documents 1 and 2 that do not extend the operation range. Therefore, there is a possibility that a decoder conforming to the decoding methods described in Non-Patent Document 1 and Non-Patent Document 2 cannot decode the bitstream.
  • the present disclosure has been made in view of this situation, and enables the use of encoding tools for bit depth extension while maintaining compatibility with specifications that do not extend the bit depth of images. is.
  • An image processing device includes an operation range extension flag encoding unit that encodes an operation range extension flag according to the bit depth of an image, and an operation range extension tool control according to the operation range extension flag.
  • an operation range extension tool control information encoding unit that encodes information, wherein the operation range extension flag is flag information relating to extension of the operation range of the image, and the operation range extension tool control information is the operation range It is an image processing device that is control information of an operation range extension tool used when extending the .
  • An image processing method encodes an operation range extension flag according to the bit depth of an image, encodes operation range extension tool control information according to the operation range extension flag, and encodes the operation range extension
  • the flag is flag information relating to expansion of the operation range of the image
  • the operation range expansion tool control information is an image processing method that is control information for an operation range expansion tool used when the operation range is expanded.
  • An image processing apparatus includes an operation range extension flag encoding unit that encodes an operation range extension flag, and an operation range extension that encodes operation range extension tool control information according to the bit depth of an image.
  • a tool control information encoding unit wherein the operation range extension flag is flag information relating to extension of the operation range of the image; and the operation range extension tool control information is an operation used when the operation range is extended. It is an image processing device that is control information for a range expansion tool.
  • An image processing method encodes an operation range extension flag, encodes operation range extension tool control information according to a bit depth of an image, and the operation range extension flag is an operation range of the image.
  • the operation range expansion tool control information is an image processing method that is control information of an operation range expansion tool used when the operation range is expanded.
  • the operation range extension flag is encoded according to the bit depth of the image
  • the operation range extension tool control information is encoded according to the operation range extension flag. be.
  • the operation range extension flag is encoded, and the operation range extension tool control information is encoded according to the bit depth of the image.
  • FIG. 4 is a diagram showing an example of syntax; FIG. 4 is a diagram showing an example of semantics; FIG. 4 is a diagram showing an example of syntax; FIG. 4 is a diagram showing an example of semantics; It is a figure explaining the control method of operation range extension information.
  • FIG. 11 is a flowchart showing an example of the flow of operation range extension information encoding processing;
  • FIG. FIG. 4 is a block diagram showing a main configuration example of an operation range extension information decoding device; FIG.
  • FIG. 10 is a flowchart showing an example of the flow of operation range extension information decoding processing
  • FIG. FIG. 4 is a block diagram showing a main configuration example of an operation range extension information decoding device
  • FIG. 10 is a flowchart showing an example of the flow of operation range extension information decoding processing
  • FIG. FIG. 4 is a diagram showing an example of semantics
  • FIG. 4 is a diagram showing an example of semantics
  • It is a block diagram which shows the main structural examples of an operation range extension information encoding apparatus.
  • FIG. 11 is a flowchart showing an example of the flow of operation range extension information encoding processing
  • FIG. FIG. 10 is a flowchart showing an example of the flow of operation range extension information decoding processing
  • FIG. 4 is a diagram showing an example of syntax
  • FIG. 11 is a flowchart showing an example of the flow of operation range extension information encoding processing
  • FIG. FIG. 4 is a block diagram showing a main configuration example of an operation range extension information decoding device
  • FIG. 10 is a flowchart showing an example of the flow of operation range extension information decoding processing
  • FIG. It is a block diagram which shows the main structural examples of an image coding apparatus.
  • 3 is a block diagram showing a main configuration example of an encoding unit
  • FIG. 4 is a flowchart showing an example of the flow of image encoding processing
  • It is a block diagram which shows the main structural examples of an image decoding apparatus.
  • 2 is a block diagram showing a main configuration example of a decoding unit
  • FIG. 4 is a flowchart showing an example of the flow of image decoding processing
  • It is a block diagram which shows the main structural examples of a computer.
  • Non-Patent Document 1 (above)
  • Non-Patent Document 2 (above)
  • Non-Patent Document 3 (above)
  • Non-Patent Document 4 (above)
  • Non-Patent Document 5 (above)
  • Non-Patent Document 6 (above)
  • Non-Patent Document 7 Recommendation ITU-T H.264 (04/2017) "Advanced video coding for generic audiovisual services", April 2017
  • Non-Patent Document 8 Recommendation ITU-T H.265 (02/2018) "High efficiency video coding", February 2018
  • the content described in the non-patent literature mentioned above is also the basis for determining the support requirements.
  • Quad-Tree Block Structure and QTBT (Quad Tree Plus Binary Tree) Block Structure described in the above non-patent literature are not directly described in the examples, they are within the scope of disclosure of the present technology, shall meet the support requirements of the claims.
  • technical terms such as Parsing, Syntax, and Semantics are also within the scope of disclosure of the present technology even if they are not directly described in the embodiments, and meet the support requirements for a range of
  • the term "block” (not a block indicating a processing unit) used in the description as a partial area of an image (picture) or a processing unit indicates an arbitrary partial area in a picture unless otherwise specified. Its size, shape, characteristics, etc. are not limited.
  • the "block” includes TB (Transform Block), TU (Transform Unit), PB (Prediction Block), PU (Prediction Unit), SCU (Smallest Coding Unit), CU (Coding Unit), LCU (Largest Coding Unit), CTB (Coding Tree Block), CTU (Coding Tree Unit), sub-blocks, macro-blocks, tiles, or slices.
  • the block size may be specified not only directly but also indirectly.
  • the block size may be specified using identification information that identifies the size.
  • the block size may be designated by a ratio or a difference from the size of a reference block (for example, LCU or SCU).
  • a reference block for example, LCU or SCU.
  • the above-mentioned information indirectly specifying a size may be used as the information. By doing so, the information amount of the information can be reduced, and the coding efficiency can be improved in some cases.
  • This block size specification also includes block size range specification (for example, block size range specification, etc.).
  • Non-Patent Document 1 and Non-Patent Document 2 there is an encoding method that derives a prediction residual of a moving image, performs coefficient conversion, quantizes, and encodes.
  • Non-Patent Document 3 in such image coding, there is a method for expanding the bit depth of the image to be processed by expanding the operation range (also referred to as dynamic range).
  • operation range expansion tool for expanding the bit depth of the image to be processed by expanding the operation range (also referred to as dynamic range).
  • an encoding tool operation range expansion tool
  • Non-Patent Document 3 By applying the method described in Non-Patent Document 3, the operation range (dynamic range) of the encoder or decoder conforming to the encoding / decoding method as described in Non-Patent Document 1 and Non-Patent Document 2 is extended, Operation range extension tools described in Non-Patent Documents 4 to 6 can be used.
  • extending the operation range means extending the bit depth of an image that can be processed (supported) by an encoder or decoder.
  • This bit depth can be any number of bits.
  • an encoder or decoder can process images with a bit depth of 10 bits or less in the basic specifications, and by extending the operation range, it can process images with a bit depth greater than 10 bits (e.g., 12 bits, etc.). It may be possible to do so.
  • the operation range extension tool is a tool that can be used when the encoder or decoder processes (encodes or decodes) images with a bit depth greater than 10 bits (high bit depth, high bit rate images).
  • the extended operation range is also called an extended dynamic range.
  • Non-Patent Documents 4 to 6 are encoding tools for processing images with extended bit depths, and are not used when the operation ranges of encoders and decoders are not extended. .
  • FIG. 1 is a diagram showing an example of syntax related to the operation range expansion tool described in Non-Patent Document 3.
  • FIG. 2 is a diagram showing an example of the semantics of each syntax element shown in FIG.
  • sps_extension_flag If sps_extension_flag is true (for example, "1"), it indicates that there is an operation range extension flag (sps_range_extension_flag) in the sequence parameter set (SPS (Sequence Parameter Set), etc.). Also, if sps_extension_flag is false (for example, "0"), it indicates that there is no operation range extension flag (sps_range_extension_flag) in the sequence parameter set or the like.
  • SPS Sequence Parameter Set
  • the operation range extension flag (sps_range_extension_flag) is flag information regarding extension of the operation range of the image. If sps_range_extension_flag is true (for example, "1"), it indicates that there is operation range extension tool control information (sps_range_extension()) in the sequence parameter set or the like. If sps_range_extension_flag is false (eg, "0"), it indicates that sps_range_extension() does not exist in the sequence parameter set or the like.
  • Operation range extension tool control information (sps_range_extension()) is control information for an operation range extension tool used when the operation range is extended.
  • An example of the syntax of sps_range_extension() is shown in FIG.
  • FIG. 4 is a diagram showing an example of the semantics of each syntax element shown in FIG.
  • the operation range extension tool control information may include, for example, a control flag (extended_precision_processing_flag) regarding the extension of the internal computation precision of the orthogonal transform.
  • This control flag is flag information for controlling whether or not to apply an encoding tool for extending the internal arithmetic precision of the orthogonal transform described in Non-Patent Document 6. For example, if extended_precision_processing_flag is true (eg, "1"), it indicates that extended dynamic range can be used for transform coefficients and transforms. Also, if extended_precision_processing_flag is false (eg, "0"), it indicates that extended dynamic range cannot be used for transform coefficients and transforms.
  • the operation range extension tool control information may include, for example, a control flag (sps_ts_residual_coding_rice_present_in_sh_flag) regarding rice parameter extension of TSRC (Transform Skip Residual Coding).
  • This control flag is flag information for controlling whether or not to apply the coding tool for extending Rice parameters of TSRC described in Non-Patent Document 5.
  • sps_ts_residual_coding_rice_present_in_sh_flag true (eg, "1")
  • sh_ts_residual_coding_rice_idx_minus1 may be present in slice headers that refer to that sequence parameter set.
  • sps_ts_residual_coding_rice_present_in_sh_flag false (for example, "0")
  • sh_ts_residual_coding_rice_idx_minus1 does not exist in the slice header that refers to that sequence parameter set.
  • the operation range extension tool control information may include, for example, control flags (sps_rrc_rice_extension_flag, sps_persistent_rice_adaptation_enabled_flag) regarding extension of RRC (Regular Residual Coding) rice parameters.
  • control flags are flag information that controls the coding tool that extends the RRC Rice parameters described in Non-Patent Document 4. For example, if sps_rrc_rice_extension_flag is true (eg, "1"), it indicates that rice parameter derivation extension for binarization of abs_remaining[] and dec_abs_level[] is enabled.
  • sps_rrc_rice_extension_flag false (for example, "0"), it indicates that the derived extension of the rice parameter is invalid.
  • sps_persistent_rice_adaptation_enabled_flag true (e.g. "1"), the derivation of the rice parameters for binarization of abs_remainder[] and dec_abs_level[] is performed at the start of each TU using statistics accumulated from previous TUs. Indicates that it is initialized at Also, if sps_persistent_rice_adaptation_enabled_flag is false (eg, "0"), it indicates that the previous TU state is not used in deriving that rice parameter.
  • the operation range extension tool control information (sps_range_extension()) is encoded and transmitted.
  • Such a method may generate a bitstream that is incompatible with the image encoding method described in Non-Patent Document 1 and Non-Patent Document 2 when the operation range is not extended. For example, even if the bit depth of the image to be processed is 10 bits or less (that is, if the operation range is not extended), the operation range extension tool can be used (if the operation range extension flag is true). There was a risk that the operation range extension tool control information with a value that would be encoded would be transmitted. Such bitstreams are not compatible with the image encoding methods described in Non-Patent Documents 1 and 2, and may not be correctly decoded by a decoder that does not support the expansion of the operation range. rice field.
  • the operation range extension information regarding the operation range extension is controlled based on the bit depth.
  • the operation range extension information may include, for example, an operation range extension flag and operation range extension tool control information.
  • Control of Operation Range Extension Flag> ⁇ Method 1>
  • the value of the operation range extension flag may be controlled based on the bit depth (method 1).
  • FIG. 6 is a diagram showing an example of semantics in that case. As shown in the rectangular frame 11 in FIG. 6, if the bit depth (BitDepth) of the image is 10 bits or less, the value of sps_range_extension_flag is set to false (for example, "0") as a bitstream constraint. It is
  • the operation range extension tool control information (encoded data) is not stored in the bitstream when the operation range is not extended. Therefore, this bitstream can maintain compatibility with the image coding methods described in Non-Patent Document 1 and Non-Patent Document 2. Therefore, even a decoder that does not support extended operation range can correctly decode this bitstream. In other words, while maintaining compatibility with specifications that do not extend the bit depth of images, it is possible to use encoding tools for extending the bit depth.
  • FIG. 7 is a diagram showing an example of semantics in that case.
  • the internal variable (ExtendedPrecisionFlag) related to the extension of the internal computational precision of the orthogonal transform is set to the value of the control flag (extended_precision_processing_flag) related to the extension of the internal computational precision of the orthogonal transform good. That is, the value of the internal variable (ExtendedPrecisionFlag) may be equal to the value of the control flag (extended_precision_processing_flag). That is, in this case, it is unnecessary to control the setting of the value of the internal variable (ExtendedPrecisionFlag) based on the image bit depth (BitDepth).
  • FIG. 8 is a block diagram showing an example of a configuration of an operation range extension information encoding device, which is one aspect of an image processing device to which the present technology is applied.
  • the operation range extension information encoding device 100 shown in FIG. 8 is a device that performs processing related to encoding of operation range extension information.
  • the operation range extension information encoding device 100 acquires operation range extension information such as an operation range extension flag and operation range extension tool control information.
  • the operation range extension information encoding device 100 acquires a parameter BitDepth indicating the bit depth of the image.
  • the operational range extension information encoding device 100 uses these pieces of information to perform processing related to encoding of the operational range extension information.
  • the operation range extension information encoding device 100 appropriately outputs the encoded data of the operation range extension information and the like as the processing result.
  • This encoded data is supplied, for example, to an encoder that encodes the image.
  • An encoder encodes an image based on this operational range extension information to generate a bitstream containing encoded data for the image.
  • the encoded data of the operation range extension information is supplied to the decoding side, for example, by being stored in the bitstream.
  • FIG. 8 shows main elements such as processing units and data flow, and what is shown in FIG. 8 is not necessarily all. That is, the operation range extension information encoding device 100 may have processing units not shown as blocks in FIG. Further, the operation range extension information encoding device 100 may have processes and data flows not shown as arrows or the like in FIG.
  • the operation range extension information encoding device 100 has an operation range extension flag encoding unit 111 and an operation range extension tool control information encoding unit 112.
  • the operation range extension flag encoding unit 111 performs processing related to encoding of the operation range extension flag (sps_range_extension_flag). For example, the operation range extension flag encoding unit 111 may acquire an operation range extension flag (sps_range_extension_flag). Further, the operation range extension flag encoding unit 111 may acquire a parameter (BitDepth) indicating the bit depth of the image (encoding target).
  • the operation range extension flag encoding unit 111 encodes the operation range extension flag (sps_range_extension_flag) according to the bit depth (BitDepth) of the image. For example, the operation range extension flag encoding unit 111 sets the operation range extension flag to false for encoding when not extending the bit depth of the image, and encodes the operation range extension flag when extending the bit depth of the image. may For example, if the bit depth of the image is 10 bits or less, the operation range extension flag encoding unit 111 sets the operation range extension flag to false for encoding. Extension flags may be encoded.
  • the operation range extension flag encoding unit 111 may output the encoded data of the operation range extension flag to the outside of the operation range extension information encoding device 100 as a processing result. Also, the operation range extension flag encoding unit 111 may supply the operation range extension flag (sps_range_extension_flag) to the operation range extension tool control information encoding unit 112 .
  • the operation range extension tool control information encoding unit 112 performs processing related to encoding of operation range extension tool control information (sps_range_extension()). For example, the operation range extension tool control information encoding unit 112 may acquire operation range extension tool control information (sps_range_extension( )). Also, the operation range extension tool control information encoding unit 112 may acquire an operation range extension flag (sps_range_extension_flag) supplied from the operation range extension flag encoding unit 111 .
  • the operation range extension tool control information encoding unit 112 encodes the operation range extension tool control information according to the operation range extension flag. For example, the operation range extension tool control information encoding unit 112 may skip (omit) encoding of the operation range extension tool control information when the operation range extension flag is false. Further, the operation range extension tool control information encoding unit 112 may set the operation range extension tool control information whose encoding is skipped to a value indicating that the operation range extension tool cannot be used. Further, the operation range extension tool control information encoding unit 112 may encode the operation range extension tool control information when the operation range extension flag is true.
  • this operation range extension tool control information may include a control flag (extended_precision_processing_flag) regarding extension of the internal arithmetic precision of the orthogonal transform.
  • the operation range extension tool control information encoding unit 112 sets the internal variable (ExtendedPrecisionFlag) related to the extension of the internal computational precision of the orthogonal transform in the encoder to the value of the control flag (extended_precision_processing_flag) related to the extension of the internal computational precision of the orthogonal transform. May be set. That is, as described with reference to FIG. 7, the value of this internal variable (ExtendedPrecisionFlag) may be equal to the value of the control flag (extended_precision_processing_flag).
  • this operation range extension tool control information may include a control flag (sps_ts_residual_coding_rice_present_in_sh_flag) regarding the extension of rice parameters of TSRC.
  • this operation range extension tool control information may include control flags (sps_rrc_rice_extension_flag, sps_persistent_rice_adaptation_enabled_flag) regarding extension of RRC (Regular Residual Coding) rice parameters.
  • the operation range extension tool control information encoding unit 112 may output the encoded data of the operation range extension tool control information to the outside of the operation range extension information encoding device 100 as a processing result.
  • the operation range extension information encoding device 100 can encode the operation range extension information while complying with the restrictions shown in FIG. That is, the operation range extension information encoding device 100 can generate a bitstream that does not violate the constraints shown in FIG. 6 by supplying the encoded data of the generated operation range extension information to the encoder.
  • the operation range extension information encoding device 100 can generate a bitstream that maintains compatibility with the image encoding methods described in Non-Patent Document 1 and Non-Patent Document 2. That is, the operation range extension information encoding device 100 encodes the operation range extension information in this way, so that the encoder and decoder can extend the bit depth of an image while maintaining compatibility with specifications that do not extend the bit depth of an image. Occasional encoding tools are available.
  • the operation range extension information encoding device 100 encodes the operation range extension flag according to the bit depth of the image, and controls the operation range extension tool according to the operation range extension flag. Encode information.
  • the operation range extension flag encoding unit 111 sets the operation range extension flag to false for encoding when not extending the bit depth of the image, and encodes the operation range extension flag when extending the bit depth of the image.
  • the bit depth of the image is 10 bits or less
  • the operation range extension flag encoding unit 111 sets the operation range extension flag to false for encoding. Extension flags may be encoded.
  • the operation range extension flag encoding unit 111 determines whether or not the bit depth (BitDepth) of the image is greater than 10 bits in step S101 of FIG.
  • step S102 the operation range extension flag encoding unit 111 encodes the operation range extension flag (sps_range_extension_flag). After the process of step S102 is completed, the process proceeds to step S104.
  • the operation range extension tool control information encoding unit 112 may skip encoding of the operation range extension tool control information when the operation range extension flag is false. In that case, the operation range extension tool control information encoding unit 112 may set the operation range extension tool control information whose encoding is skipped to a value indicating that the operation range extension tool cannot be used. Further, the operation range extension tool control information encoding unit 112 may encode the operation range extension tool control information when the operation range extension flag is true.
  • step S104 the operation range extension tool control information encoding unit 112 determines whether or not the operation range extension flag is true (for example, "1"). If it is determined that the operation range extension flag is true, the process proceeds to step S105. In step S105, the operation range extension tool control information encoding unit 112 encodes the operation range extension tool control information. When the process of step S105 ends, the operation range extension information encoding process ends.
  • step S106 the operation range extension tool control information encoding unit 112 skips encoding of the operation range extension tool control information. Further, the operation range extension tool control information encoding unit 112 sets (each control flag of) the operation range extension tool control information to a value indicating that the operation range extension tool cannot be used.
  • step S106 ends, the operation range extension information encoding process ends.
  • the operation range extension information encoding device 100 can encode the operation range extension information while adhering to the restrictions shown in FIG. That is, the operation range extension information encoding device 100 can generate a bitstream that does not violate the constraints shown in FIG. 6 by supplying the encoded data of the generated operation range extension information to the encoder. Therefore, encoders and decoders can use coding tools for bit-depth extension while maintaining compatibility with specifications that do not extend image bit-depth.
  • FIG. 10 is a block diagram showing an example of a configuration of an operation range extension information decoding device, which is one aspect of an image processing device to which the present technology is applied.
  • An operation range extension information decoding device 200 shown in FIG. 10 is a device that performs processing related to decoding of encoded data of operation range extension information.
  • the operation range extension information decoding device 200 acquires encoded data of the operation range extension information (operation range extension flag, operation range extension tool control information, etc.) generated by the operation range extension information encoding device 100 .
  • This operation range extension information maintains compatibility with the image encoding methods described in Non-Patent Document 1 and Non-Patent Document 2. In other words, a bitstream of an image encoded using this operation range extension information can be correctly decoded even by a decoder that does not support operation range extension.
  • the operation range extension information decoding device 200 performs processing related to decoding of encoded data of the operation range extension information. Operation range extension information decoding device 200 appropriately outputs operation range extension information as the processing result. This operation range extension information is supplied, for example, to a decoder that decodes the encoded data of the image. The decoder decodes the encoded data based on this operation range extension information to generate (restore) an image.
  • FIG. 10 shows the main components such as the processing units and data flow, and the components shown in FIG. 10 are not necessarily all. That is, operation range extension information decoding apparatus 200 may have processing units not shown as blocks in FIG. Further, the operation range extension information decoding device 200 may have processes and data flows not indicated by arrows or the like in FIG.
  • the operation range extension information decoding device 200 has an operation range extension flag decoding section 211 and an operation range extension tool control information decoding section 212 .
  • the operation range extension flag decoding unit 211 performs processing related to decoding of encoded data of the operation range extension flag (sps_range_extension_flag). For example, the operation range extension flag decoding unit 211 may acquire encoded data of the operation range extension flag. Further, the operation range extension flag decoding unit 211 may decode the encoded data and generate (restore) the operation range extension flag. Further, the operation range extension flag decoding unit 211 may output the operation range extension flag to the outside of the operation range extension information decoding device 200 as the processing result. Also, the operation range extension flag decoding unit 211 may supply the operation range extension flag to the operation range extension tool control information decoding unit 212 .
  • the operation range extension tool control information decoding unit 212 performs processing related to decoding of encoded data of operation range extension tool control information (sps_range_extension()). For example, the operation range extension tool control information decoding unit 212 may acquire encoded data of the operation range extension tool control information. Further, the operation range extension tool control information decoding section 212 may acquire the operation range extension flag supplied from the operation range extension flag decoding section 211 . The operation range extension tool control information decoding unit 212 may decode the encoded data of the operation range extension tool control information according to the operation range extension flag. Further, the operation range extension tool control information decoding unit 212 may output the operation range extension tool control information to the outside of the operation range extension information decoding device 200 as the processing result.
  • this operation range extension tool control information may include a control flag (extended_precision_processing_flag) relating to extension of the internal arithmetic precision of orthogonal transformation.
  • an internal variable (ExtendedPrecisionFlag) regarding the extension of the internal arithmetic precision of the orthogonal transform in the decoder may be set to the value of the control flag (extended_precision_processing_flag) regarding the extension of the internal arithmetic precision of the orthogonal transform.
  • this operation range extension tool control information may include a control flag (sps_ts_residual_coding_rice_present_in_sh_flag) regarding the extension of the rice parameter of TSRC.
  • this operation range extension tool control information may include control flags (sps_rrc_rice_extension_flag, sps_persistent_rice_adaptation_enabled_flag) regarding the extension of RRC rice parameters.
  • the operation range extension information decoding device 200 can correctly decode the encoded data of the operation range extension information generated by the operation range extension information encoding device 100 .
  • the decoder can use coding tools for bit-depth extension while maintaining compatibility with specifications that do not extend the bit-depth of images.
  • the operation range extension flag decoding unit 211 decodes the encoded data of the operation range extension flag (sps_range_extension_flag) in step S131 of FIG. 11 to generate the operation range extension flag ( Restore.
  • step S132 the operation range extension tool control information decoding unit 212 determines whether or not the operation range extension flag is true (for example, "1").
  • step S133 the operation range extension tool control information decoding unit 212 decodes the encoded data of the operation range extension tool control information (sps_range_extension()).
  • step S133 the operation range extension information decoding process ends.
  • step S134 the operation range extension tool control information decoding unit 212 skips (omitted) decoding of the operation range extension tool control information. Then, the operation range extension tool control information decoding unit 212 sets (each control flag of) the operation range extension tool control information to a value indicating that the operation range extension tool cannot be used.
  • the operation range extension information decoding device 200 can correctly decode the encoded data of the operation range extension information generated by the operation range extension information encoding device 100.
  • the decoder can use coding tools for bit-depth extension while maintaining compatibility with specifications that do not extend the bit-depth of images.
  • Method 1-1 From the decoder's point of view, it is conceivable that a bitstream that violates the constraints described above may be input. Therefore, as shown in the third row from the top of the table in FIG. 5, it may be checked whether or not the bitstream violates the constraints during decoding (method 1-1). Then, the decoder may decode the bitstream only when the bitstream does not violate the constraints, and may terminate or suspend decoding (further notify, etc.) when the constraints are violated. By doing so, the decoder can suppress decoding of illegal bitstreams and can decode bitstreams more safely (suppress the occurrence of failures and the like).
  • FIG. 12 is a block diagram showing a main configuration example of the operation range extension information decoding device 200 in that case. Also in this case, the operation range extension information decoding device 200 acquires and decodes the encoded data of the operation range extension information generated by the operation range extension information encoding device 100 . Operation range extension information decoding device 200 appropriately outputs operation range extension information as the processing result. This operation range extension information is supplied, for example, to a decoder that decodes the encoded data of the image. The decoder decodes the encoded data based on this operation range extension information to generate (restore) an image.
  • the operation range extension information decoding device 200 in this case has, in addition to the configuration described with reference to FIG. , and a constraint violation processing unit 213 .
  • the operation range extension flag decoding unit 211 and the operation range extension tool control information decoding unit 212 in this case each perform the same processing as in the case of FIG.
  • the operation range extension flag decoding unit 211 decodes the encoded data of the operation range extension flag (sps_range_extension_flag).
  • the operation range extension tool control information decoding unit 212 decodes the encoded data of the operation range extension tool control information (sps_range_extension( )) according to the operation range extension flag. For example, when the operation range extension flag is false, the operation range extension tool control information decoding unit 212 skips decoding of the encoded data of the operation range extension tool control information, and converts the operation range extension tool control information into the operation range extension flag. May be set to a value indicating that the tool is disabled.
  • the operation range extension tool control information decoding unit 212 controls the constraint violation processing unit 213 to determine whether or not the bitstream has a constraint violation. You may let Also, the operation range extension tool control information decoding unit 212 may acquire the determination result. Furthermore, the operation range extension tool control information decoding unit 212 may decode the encoded data of the operation range extension tool control information based on the determination result.
  • the operation range extension tool control information decoding unit 212 may decode the encoded data of the operation range extension tool control information when it is determined that the bitstream does not violate the constraint. Further, the operation range extension tool control information decoding unit 212 may skip (omit) the decoding when it is determined that the bitstream has a constraint violation. Also, in that case, the operation range extension tool control information decoding unit 212 may terminate or interrupt decoding of the bitstream by the decoder.
  • the constraint violation processing unit 213 performs processing related to bitstream constraints. For example, the constraint violation processing unit 213 acquires a parameter (BitDepth) indicating the bit depth of the image. Also, the constraint violation processing unit 213 may check whether the bitstream has a constraint violation under the control of the operation range extension tool control information decoding unit 212 . In other words, the constraint violation processing unit 213 can also be said to be a confirmation unit.
  • the constraint violation processing unit 213 checks whether the bitstream has a constraint violation. To check whether the bitstream has a constraint violation, the constraint violation processing unit 213 may check whether the bit depth of the image is expanded in the bitstream. For example, the constraint violation processing unit 213 may check whether the bit depth of the image in the bitstream is greater than 10 bits.
  • the constraint violation processing unit 213 may supply the confirmation result obtained as described above (determination result as to whether or not the bitstream has a constraint violation) to the operation range extension tool control information decoding unit 212 . Further, when it is determined that the bitstream has a constraint violation, the constraint violation processing unit 213 may notify that the bitstream does not satisfy the constraint. For example, the constraint violation processing unit 213 may notify the user, the application, or the like to that effect.
  • the operation range extension tool control information may include a control flag (extended_precision_processing_flag) regarding the extension of the internal computation precision of the orthogonal transform.
  • the operation range extension tool control information decoding unit 212 sets the internal variable (ExtendedPrecisionFlag) related to the extension of the internal computational precision of the orthogonal transform to the value of the control flag (extended_precision_processing_flag) related to the extension of the internal computational precision of the orthogonal transform. may That is, as described with reference to FIG. 7, the value of this internal variable (ExtendedPrecisionFlag) may be made equal to the value of the control flag (extended_precision_processing_flag).
  • this operation range extension tool control information may include a control flag (sps_ts_residual_coding_rice_present_in_sh_flag) regarding the extension of rice parameters of TSRC.
  • this operation range extension tool control information may include control flags (sps_rrc_rice_extension_flag, sps_persistent_rice_adaptation_enabled_flag) regarding extension of RRC (Regular Residual Coding) rice parameters.
  • the operation range extension information decoding device 200 can suppress decoding of unauthorized bitstreams. This allows the decoder to decode the bitstream more safely (suppress the occurrence of failures and the like).
  • the operation range extension information decoding device 200 decodes the encoded data of the operation range extension flag, and converts the encoded data of the operation range extension tool control information according to the operation range extension flag. Decrypt.
  • the operation range extension flag decoding unit 211 decodes the encoded data of the operation range extension flag (sps_range_extension_flag) in step S161 of FIG.
  • step S162 the operation range extension tool control information decoding unit 212 determines whether or not the operation range extension flag is true (for example, "1"). If it is determined that the operation range extension flag is true, the process proceeds to step S163.
  • the constraint violation processing unit 213 may check whether or not the bitstream has a constraint violation when the operation range extension flag is true. For example, the constraint violation processing unit 213 may check whether the bit depth of the image is expanded in the bitstream. For example, the constraint violation processing unit 213 may check whether the bit depth of the image in the bitstream is greater than 10 bits. For example, in step S163, the constraint violation processing unit 213 determines whether the bit depth of the image is greater than 10 bits. If it is determined that the image bit depth is greater than 10 bits, the process proceeds to step S164.
  • the operation range extension tool control information decoding unit 212 may decode the encoded data of the operation range extension tool control information. For example, in step S164, the operation range extension tool control information decoding unit 212 decodes the encoded data of the operation range extension tool control information to generate (restore) the operation range extension tool control information. When the process of step S164 ends, the operation range extension information decoding process ends.
  • step S165 the process proceeds to step S165.
  • the constraint violation processor 213 may notify that the bitstream does not satisfy the constraint.
  • step S165 the constraint violation processing unit 213 notifies the user (or application or the like) that the bitstream does not satisfy the constraint.
  • step S162 determines whether the operation range extension flag is false. If it is determined in step S162 that the operation range extension flag is false, the process proceeds to step S166.
  • the operation range extension tool control information decoding unit 212 skips decoding the encoded data of the operation range extension tool control information, and replaces the operation range extension tool control information with the operation range extension tool control information indicating that the operation range extension tool cannot be used. You can set it to the value shown.
  • the operation range extension tool control information decoding unit 212 omits decoding of the encoded data of the operation range extension tool control information, and sets each control flag of the operation range extension tool control information to indicate that the tool cannot be used. set to a value.
  • the operation range extension information decoding device 200 can suppress decoding of unauthorized bitstreams. This allows the decoder to decode the bitstream more safely (suppress the occurrence of failures and the like).
  • the value of the operation range extension tool control information may be controlled based on the bit depth (method 2).
  • 14 and 15 are diagrams showing examples of semantics in that case. As shown in the rectangular frame 251 in FIG. 14, if the bit depth (BitDepth) of the image is 10 bits or less, the value of the extended_precision_processing_flag is set to false (eg, "0") as a bitstream constraint. It is Also, as shown in the rectangular frame 253 in FIG.
  • bitstream constraint when the bit depth (BitDepth) of the image is 10 bits or less, the bitstream constraint is that the value of sps_ts_residual_coding_rice_present_in_sh_flag is equal to false (eg, "0"). is established as In addition, as shown in the rectangular frame 254 in FIG. 15, when the bit depth (BitDepth) of the image is 10 bits or less, the bitstream constraint is that the value of sps_rrc_rice_extension_flag is equal to false (for example, "0"). is established as In addition, as shown in the rectangular frame 255 in FIG. 15, when the image bit depth (BitDepth) is 10 bits or less, the value of sps_persistent_rice_adaptation_enabled_flag is equal to false (for example, "0"). is established as
  • the operation range extension tool control information (encoded data) is not stored in the bitstream when the operation range is not extended. Therefore, this bitstream can maintain compatibility with the image coding methods described in Non-Patent Document 1 and Non-Patent Document 2. Therefore, even a decoder that does not support extended operation range can correctly decode this bitstream. In other words, while maintaining compatibility with specifications that do not extend the bit depth of images, it is possible to use encoding tools for extending the bit depth.
  • an internal variable (ExtendedPrecisionFlag) related to the extension of the internal computational precision of the orthogonal transform is set to the value of the control flag (extended_precision_processing_flag) related to the extension of the internal computational precision of the orthogonal transform.
  • the value of the internal variable (ExtendedPrecisionFlag) may be equal to the value of the control flag (extended_precision_processing_flag). That is, in this case, it is unnecessary to control the setting of the value of the internal variable (ExtendedPrecisionFlag) based on the image bit depth (BitDepth).
  • FIG. 16 is a block diagram showing a main configuration example of the operation range extension information encoding device 100 in this case.
  • the operation range extension information encoding device 100 is a device that performs processing related to encoding of the operation range extension information.
  • the operation range extension information encoding device 100 acquires operation range extension information such as an operation range extension flag and operation range extension tool control information.
  • the operation range extension information encoding device 100 acquires a parameter BitDepth indicating the bit depth of the image.
  • the operational range extension information encoding device 100 uses these pieces of information to perform processing related to encoding of the operational range extension information.
  • the operation range extension information encoding device 100 appropriately outputs the encoded data of the operation range extension information and the like as the processing result.
  • This encoded data is supplied, for example, to an encoder that encodes the image.
  • An encoder encodes an image based on this operational range extension information to generate a bitstream containing encoded data for the image.
  • the encoded data of the operation range extension information is supplied to the decoding side, for example, by being stored in the bitstream.
  • FIG. 16 shows the main components such as the processing units and data flow, and the components shown in FIG. 16 are not necessarily all. That is, the operation range extension information encoding device 100 may have processing units not shown as blocks in FIG. Further, the operation range extension information encoding device 100 may have processes and data flows not indicated by arrows or the like in FIG.
  • the operation range extension information encoding device 100 in this case has the same configuration as that shown in FIG. 8 (operation range extension flag encoding section 111 and operation range extension tool control information encoding section 112). has a configuration of However, the parameter (BitDepth) indicating the bit depth of the image is supplied to the operation range extension tool control information encoding unit 112 .
  • the operation range extension flag encoding unit 111 performs processing related to encoding of the operation range extension flag (sps_range_extension_flag). For example, the operation range extension flag encoding unit 111 may acquire the operation range extension flag. However, the operation range extension flag encoding unit 111 encodes the operation range extension flag regardless of the bit depth of the image. Further, the operation range extension flag encoding unit 111 may output the encoded data of the operation range extension flag to the outside of the operation range extension information encoding device 100 as a processing result. Also, the operation range extension flag encoding unit 111 may supply the operation range extension flag to the operation range extension tool control information encoding unit 112 .
  • the operation range extension tool control information encoding unit 112 performs processing related to encoding of the operation range extension tool control information (sps_range_extension()). For example, the operation range extension tool control information encoding unit 112 may acquire operation range extension tool control information. Also, the operation range extension tool control information encoding unit 112 may acquire the operation range extension flag supplied from the operation range extension flag encoding unit 111 . Furthermore, the operation range extension tool control information encoding unit 112 may acquire a parameter (BitDepth) indicating the bit depth of the image.
  • the operation range extension tool control information encoding unit 112 encodes the operation range extension tool control information according to the bit depth of the image (and the operation range extension flag). For example, when the operation range extension flag is true and the bit depth is not to be extended, the operation range extension tool control information encoding unit 112 converts the operation range extension tool control information into a message indicating that the operation range extension tool cannot be used. may be encoded by setting it to a value that indicates Further, when the operation range extension flag is true and the bit depth is extended, the operation range extension tool control information encoding unit 112 may encode the operation range extension tool control information.
  • the operation range extension tool control information encoding unit 112 converts the operation range extension tool control information into It may be coded by setting it to a value indicating that it cannot be used. Further, if the operation range extension flag is true and the bit depth of the image is greater than 10 bits, the operation range extension tool control information encoding unit 112 may encode the operation range extension tool control information.
  • the operation range extension tool control information encoding unit 112 may skip encoding of the operation range extension tool control information when the operation range extension flag is false. Also, in that case, the operation range extension tool control information encoding unit 112 may set the operation range extension tool control information to a value indicating that the operation range extension tool cannot be used.
  • this operation range extension tool control information may include a control flag (extended_precision_processing_flag) regarding extension of the internal arithmetic precision of the orthogonal transform.
  • the operation range extension tool control information encoding unit 112 sets the internal variable (ExtendedPrecisionFlag) related to the extension of the internal computational precision of the orthogonal transform in the encoder to the value of the control flag (extended_precision_processing_flag) related to the extension of the internal computational precision of the orthogonal transform. May be set. That is, as described with reference to FIG. 14, the value of this internal variable (ExtendedPrecisionFlag) may be equal to the value of the control flag (extended_precision_processing_flag).
  • this operation range extension tool control information may include a control flag (sps_ts_residual_coding_rice_present_in_sh_flag) regarding the extension of rice parameters of TSRC.
  • this operation range extension tool control information may include control flags (sps_rrc_rice_extension_flag, sps_persistent_rice_adaptation_enabled_flag) regarding extension of RRC (Regular Residual Coding) rice parameters.
  • the operation range extension tool control information encoding unit 112 may output the encoded data of the operation range extension tool control information to the outside of the operation range extension information encoding device 100 as a processing result.
  • the operation range extension information encoding device 100 can encode the operation range extension information while adhering to the restrictions shown in FIGS. 14 and 15 . That is, the operation range extension information encoding device 100 can generate a bitstream that does not violate the constraints shown in FIGS. 14 and 15 by supplying the encoded data of the generated operation range extension information to the encoder. . In other words, the operation range extension information encoding device 100 can generate a bitstream that maintains compatibility with the image encoding methods described in Non-Patent Document 1 and Non-Patent Document 2.
  • the operation range extension information encoding device 100 encodes the operation range extension information in this way, so that the encoder and decoder can extend the bit depth of an image while maintaining compatibility with specifications that do not extend the bit depth of an image. Occasional encoding tools are available.
  • the operation range extension information encoding device 100 encodes the operation range extension flag, and encodes the operation range extension tool control information according to the bit depth of the image.
  • the operation range extension flag encoding unit 111 encodes the operation range extension flag (sps_range_extension_flag) in step S201 of FIG.
  • step S202 the operation range extension tool control information encoding unit 112 determines whether or not the operation range extension flag is true (for example, "1"). If it is determined that the operation range extension flag is true, the process proceeds to step S203.
  • the operation range extension tool control information encoding unit 112 sets the operation range extension tool control information to a value indicating that the operation range extension tool cannot be used. It may be set and encoded. Also, the operation range extension tool control information encoding unit 112 may encode the operation range extension tool control information if the bit depth of the image is to be extended. For example, when the bit depth of the image is 10 bits or less, the operation range extension tool control information encoding unit 112 sets the operation range extension tool control information to a value indicating that the operation range extension tool cannot be used. may be encoded using Also, when the bit depth of the image is greater than 10 bits, the operation range extension tool control information encoding unit 112 may encode the operation range extension tool control information.
  • step S203 the operation range extension tool control information encoding unit 112 determines whether or not the bit depth (BitDepth) of the image is greater than 10 bits. If it is determined that the image bit depth (BitDepth) is greater than 10 bits, the process proceeds to step S204.
  • step S204 the operation range extension tool control information encoding unit 112 encodes the operation range extension tool control information. When the process of step S204 ends, the operation range extension information encoding process ends.
  • step S203 determines whether the bit depth (BitDepth) of the image is 10 bits or less. If it is determined in step S203 that the bit depth (BitDepth) of the image is 10 bits or less, the process proceeds to step S205.
  • step S205 the operation range extension tool control information encoding unit 112 sets (each control flag of) the operation range extension tool control information to a value indicating that the operation range extension tool cannot be used, and encodes it. .
  • step S205 ends, the operation range extension information encoding process ends.
  • step S202 determines whether the operation range extension flag is false. If it is determined in step S202 that the operation range extension flag is false, the process proceeds to step S206.
  • step S206 the operation range extension tool control information encoding unit 112 skips encoding of the operation range extension tool control information. Further, the operation range extension tool control information encoding unit 112 sets (each control flag of) the operation range extension tool control information to a value indicating that the operation range extension tool cannot be used.
  • step S206 ends, the operation range extension information encoding process ends.
  • the operation range extension information encoding device 100 can encode the operation range extension information while adhering to the restrictions shown in FIGS. That is, the operation range extension information encoding device 100 can generate a bitstream that does not violate the constraints shown in FIGS. 14 and 15 by supplying the encoded data of the generated operation range extension information to the encoder. . Therefore, encoders and decoders can use coding tools for bit-depth extension while maintaining compatibility with specifications that do not extend image bit-depth.
  • An operation range extension information decoding device 200 that acquires and decodes encoded data of operation range extension information (operation range extension flag, operation range extension tool control information, etc.) generated by the operation range extension information encoding device 100 of FIG. is the same as the example described with reference to FIG. Therefore, description thereof is omitted.
  • Method 2-1 From the decoder's point of view, it is conceivable that a bitstream that violates the constraints described above may be input. Therefore, as shown in the fifth row from the top of the table in FIG. 5, it may be checked whether or not the bitstream violates the constraints during decoding (Method 2-1). Then, the decoder may decode the bitstream only when the bitstream does not violate the constraints, and may terminate or suspend decoding (further notify, etc.) when the constraints are violated. By doing so, the decoder can suppress decoding of illegal bitstreams and can decode bitstreams more safely (suppress the occurrence of failures and the like).
  • the operation range extension information decoding device 200 in this case has the same configuration as the example described with reference to FIG. That is, the operation range extension information decoding device 200 has an operation range extension flag decoding section 211 , an operation range extension tool control information decoding section 212 and a constraint violation processing section 213 .
  • the operation range extension flag decoding unit 211 in this case decodes the encoded data of the operation range extension flag (sps_range_extension_flag). Also, the operation range extension tool control information decoding unit 212 decodes the encoded data of the operation range extension tool control information (sps_range_extension( )) according to the operation range extension flag. For example, if the operation range extension flag is false, the operation range extension tool control information decoding unit 212 skips decoding the encoded data of the operation range extension tool control information, and converts the operation range extension tool control information into the operation range extension tool control information. May be set to a value indicating that the tool is disabled.
  • the operation range extension tool control information decoding unit 212 may decode the encoded data of the operation range extension tool control information. Then, the operation range extension tool control information decoding unit 212 may control the constraint violation processing unit 213 to determine whether or not the bitstream has a constraint violation. That is, the constraint violation processing unit 213 may check whether or not the bitstream has a constraint violation.
  • the constraint violation processing unit 213 checks whether the bit depth of the image is not extended in the bitstream and whether the operation range extension tool control information is a value indicating that the operation range extension tool cannot be used. You may For example, the constraint violation processing unit 213 checks whether the bit depth in the bitstream is 10 bits or less, and whether the operation range extension tool control information is a value indicating that the operation range extension tool cannot be used. good too. Then, if the bitstream has a constraint violation, the constraint violation processing unit 213 may notify that the bitstream does not satisfy the constraint. For example, the constraint violation processing unit 213 may notify the user, the application, or the like to that effect.
  • the operation range extension tool control information may include a control flag (extended_precision_processing_flag) regarding the extension of the internal computation precision of the orthogonal transform.
  • the operation range extension tool control information decoding unit 212 sets the internal variable (ExtendedPrecisionFlag) related to the extension of the internal computational precision of the orthogonal transform to the value of the control flag (extended_precision_processing_flag) related to the extension of the internal computational precision of the orthogonal transform. may That is, as described with reference to FIG. 7, the value of this internal variable (ExtendedPrecisionFlag) may be made equal to the value of the control flag (extended_precision_processing_flag).
  • this operation range extension tool control information may include a control flag (sps_ts_residual_coding_rice_present_in_sh_flag) regarding the extension of rice parameters of TSRC.
  • this operation range extension tool control information may include control flags (sps_rrc_rice_extension_flag, sps_persistent_rice_adaptation_enabled_flag) regarding extension of RRC (Regular Residual Coding) rice parameters.
  • the operation range extension information decoding device 200 can suppress decoding of unauthorized bitstreams. This allows the decoder to decode the bitstream more safely (suppress the occurrence of failures and the like).
  • the operation range extension information decoding device 200 decodes the encoded data of the operation range extension flag, and converts the encoded data of the operation range extension tool control information according to the operation range extension flag. Decrypt.
  • the operation range extension flag decoding unit 211 decodes the encoded data of the operation range extension flag (sps_range_extension_flag) in step S261 of FIG.
  • step S262 the operation range extension tool control information decoding unit 212 determines whether or not the operation range extension flag is true (for example, "1"). If it is determined that the operation range extension flag is true, the process proceeds to step S263. In step S263, the operation range extension tool control information decoding unit 212 decodes the encoded data of the operation range extension tool control information to generate (restore) the operation range extension tool control information.
  • the constraint violation processing unit 213 may use the operation range expansion tool control information to check whether the bitstream has a constraint violation. For example, the constraint violation processing unit 213 checks whether the bit depth of the image is not extended in the bitstream and whether the operation range extension tool control information is a value indicating that the operation range extension tool cannot be used. You may Also, the constraint violation processing unit 213 checks whether the bit depth in the bitstream is 10 bits or less, and whether the operation range extension tool control information is a value indicating that the operation range extension tool cannot be used. good too. Then, if the bitstream has a constraint violation, the constraint violation processing unit 213 may notify that the bitstream does not satisfy the constraint. For example, the constraint violation processing unit 213 may notify the user, the application, or the like to that effect.
  • step S264 the constraint violation processing unit 213 determines whether the bit depth in the bitstream is 10 bits or less and the operation range extension tool control information is a value indicating that the operation range extension tool cannot be used. determine whether or not If it is determined that the bit depth is 10 bits or less in the bitstream and the operation range extension tool control information is not a value indicating that the operation range extension tool cannot be used, the process proceeds to step S265. In step S265, the constraint violation processing unit 213 notifies the user (or application or the like) that the bitstream does not satisfy the constraint. When the process of step S265 ends, the operation range extension information decoding process ends.
  • step S264 if it is determined that the bit depth is greater than 10 bits in the bitstream or the operation range extension tool control information is a value indicating that the operation range extension tool cannot be used, step The process of S265 is omitted, and the operation range extension information decoding process ends.
  • step S262 If it is determined in step S262 that the operation range extension flag is false, the process proceeds to step S266.
  • the operation range extension tool control information decoding unit 212 skips decoding the encoded data of the operation range extension tool control information, and sets the operation range extension tool control information to indicate that the operation range extension tool cannot be used. can be set to a value.
  • the operation range extension tool control information decoding unit 212 omits decoding of the encoded data of the operation range extension tool control information, and sets each control flag of the operation range extension tool control information to indicate that the tool cannot be used. set to a value.
  • the operation range extension information decoding device 200 can suppress decoding of unauthorized bitstreams. This allows the decoder to decode the bitstream more safely (suppress the occurrence of failures and the like).
  • FIG. 19 is a diagram showing an example of syntax regarding the operation range extension tool control information in that case. In this case, compared to the example of FIG. 3, additional rows are shown in gray. In other words, an if statement with bit depth as a condition is added. That is, each control flag of the operation range extension tool control information (sps_range_extension()) is encoded and transmitted only when the bit depth of the image is greater than 10 bits.
  • the operation range extension tool control information (encoded data) is not stored in the bitstream when the operation range is not extended. Therefore, this bitstream can maintain compatibility with the image coding methods described in Non-Patent Document 1 and Non-Patent Document 2. Therefore, even a decoder that does not support extended operation range can correctly decode this bitstream. In other words, while maintaining compatibility with specifications that do not extend the bit depth of images, it is possible to use encoding tools for extending the bit depth. In addition, by doing so, when the bit depth of the image is not extended (when the bit depth is 10 bits or less), transmission of the control flag of the encoding tool for high bit depth/high bit rate in the parameter set is omitted. be able to. Therefore, an increase in code amount can be suppressed.
  • the operation range extension information encoding device 100 is a device that performs processing related to encoding of the operation range extension information.
  • the operation range extension information encoding device 100 acquires operation range extension information such as an operation range extension flag and operation range extension tool control information.
  • the operation range extension information encoding device 100 acquires a parameter BitDepth indicating the bit depth of the image. The operational range extension information encoding device 100 uses these pieces of information to perform processing related to encoding of the operational range extension information.
  • the operation range extension information encoding device 100 appropriately outputs the encoded data of the operation range extension information and the like as the processing result.
  • This encoded data is supplied, for example, to an encoder that encodes the image.
  • An encoder encodes an image based on this operational range extension information to generate a bitstream containing encoded data for the image.
  • the encoded data of the operation range extension information is supplied to the decoding side, for example, by being stored in the bitstream.
  • the main configuration of the operation range extension information encoding device 100 in this case is the same as the example described with reference to FIG. That is, the operation range extension information encoding device 100 in this case has an operation range extension flag encoding section 111 and an operation range extension tool control information encoding section 112 .
  • the operation range extension flag encoding unit 111 encodes the operation range extension flag regardless of the bit depth of the image.
  • the operation range extension tool control information encoding unit 112 encodes the operation range extension tool control information according to the operation range extension flag and the bit depth of the image. For example, if the operation range extension flag is false or the bit depth is not extended, the operation range extension tool control information encoding unit 112 may skip (omit) encoding the operation range extension tool control information. good. Further, when the operation range extension flag is true and the bit depth is extended, the operation range extension tool control information encoding unit 112 may encode the operation range extension tool control information.
  • the operation range extension tool control information encoding unit 112 skips encoding of the operation range extension tool control information ( omitted). Further, if the operation range extension flag is true and the bit depth of the image is greater than 10 bits, the operation range extension tool control information encoding unit 112 may encode the operation range extension tool control information.
  • the operation range extension tool control information encoding unit 112 further converts the operation range extension tool control information into It may be set to a value indicating that it cannot be used. Further, when the operation range extension flag is false or the bit depth of the image is 10 bits or less, the operation range extension tool control information encoding unit 112 further converts the operation range extension tool control information into the operation range extension flag. May be set to a value indicating that extended tools are disabled.
  • this operation range extension tool control information may include a control flag (extended_precision_processing_flag) regarding extension of the internal arithmetic precision of the orthogonal transform.
  • the operation range extension tool control information encoding unit 112 sets the internal variable (ExtendedPrecisionFlag) related to the extension of the internal computational precision of the orthogonal transform in the encoder to the value of the control flag (extended_precision_processing_flag) related to the extension of the internal computational precision of the orthogonal transform. May be set. That is, as described with reference to FIG. 14, the value of this internal variable (ExtendedPrecisionFlag) may be equal to the value of the control flag (extended_precision_processing_flag).
  • this operation range extension tool control information may include a control flag (sps_ts_residual_coding_rice_present_in_sh_flag) regarding the extension of rice parameters of TSRC.
  • this operation range extension tool control information may include control flags (sps_rrc_rice_extension_flag, sps_persistent_rice_adaptation_enabled_flag) regarding extension of RRC (Regular Residual Coding) rice parameters.
  • the operation range extension tool control information encoding unit 112 may output the encoded data of the operation range extension tool control information to the outside of the operation range extension information encoding device 100 as a processing result.
  • the operation range extension information encoding device 100 can prevent (encoded data of) the operation range extension tool control information from being stored in the bitstream when the operation range is not extended. can. Therefore, this bitstream can maintain compatibility with the image coding methods described in Non-Patent Document 1 and Non-Patent Document 2. Therefore, even a decoder that does not support extended operation range can correctly decode this bitstream. Therefore, encoders and decoders can use coding tools for bit-depth extension while maintaining compatibility with specifications that do not extend image bit-depth.
  • the operation range extension information encoding device 100 encodes the operation range extension flag, and encodes the operation range extension tool control information according to the operation range extension flag and the bit depth of the image. do.
  • the operation range extension flag encoding unit 111 encodes the operation range extension flag (sps_range_extension_flag) in step S301 of FIG.
  • the operation range extension tool control information encoding unit 112 skips (omitted) encoding of the operation range extension tool control information. good too. Further, the operation range extension tool control information encoding unit 112 may encode the operation range extension tool control information when the operation range extension flag is true and the bit depth of the image is extended. For example, if the operation range extension flag is false or the bit depth of the image is not to be extended, the operation range extension tool control information encoding unit 112 further converts the operation range extension tool control information into It may be set to a value indicating that it cannot be used.
  • the operation range extension tool control information encoding unit 112 further encodes the operation range extension tool control information into the operation range extension tool may be set to a value indicating that is disabled.
  • step S302 the operation range extension tool control information encoding unit 112 determines whether the operation range extension flag is true and the bit depth of the image is greater than 10 bits. If it is determined that the operation range extension flag is true and the image bit depth is greater than 10 bits, the process proceeds to step S303.
  • step S303 the operation range extension tool control information encoding unit 112 encodes the operation range extension tool control information. When the process of step S303 ends, the operation range extension information encoding process ends.
  • step S304 the operation range extension tool control information encoding unit 112 skips (omitted) the encoding of the operation range extension tool control information. Further, the operation range extension tool control information encoding unit 112 sets the operation range extension tool control information to a value indicating that the operation range extension tool cannot be used. For example, when the process of step S303 ends, the operation range extension information encoding process ends.
  • the operation range extension information encoding device 100 prevents (encoded data of) the operation range extension tool control information from being stored in the bitstream when the operation range is not extended. be able to. Therefore, encoders and decoders can use coding tools for bit-depth extension while maintaining compatibility with specifications that do not extend image bit-depth. In addition, by doing so, when the bit depth of the image is not extended (when the bit depth is 10 bits or less), transmission of the control flag of the encoding tool for high bit depth/high bit rate in the parameter set is omitted. be able to. Therefore, an increase in code amount can be suppressed.
  • FIG. 21 is a block diagram showing a main configuration example of the operation range extension information decoding device 200 in that case. Also in this case, the operation range extension information decoding device 200 performs processing related to decoding of encoded data of operation range extension information.
  • the operation range extension information decoding device 200 acquires encoded data of the operation range extension information generated by the operation range extension information encoding device 100 .
  • the operation range extension information decoding device 200 also acquires a parameter (BitDepth) indicating the bit depth of the image.
  • This operation range extension information maintains compatibility with the image encoding methods described in Non-Patent Document 1 and Non-Patent Document 2. In other words, a bitstream of an image encoded using this operation range extension information can be correctly decoded even by a decoder that does not support operation range extension.
  • the operation range extension information decoding device 200 decodes the encoded data of the operation range extension information using a parameter (BitDepth) indicating the bit depth of the image. Operation range extension information decoding device 200 appropriately outputs operation range extension information as the processing result. This operation range extension information is supplied, for example, to a decoder that decodes the encoded data of the image. The decoder decodes the encoded data based on this operation range extension information to generate (restore) an image.
  • the operation range extension information decoding device 200 in this case has the same configuration as the configuration described with reference to FIG. That is, the operation range extension information decoding device 200 has an operation range extension flag decoding section 211 and an operation range extension tool control information decoding section 212 .
  • the operation range extension flag decoding unit 211 performs processing related to decoding of encoded data of the operation range extension flag (sps_range_extension_flag). For example, the operation range extension flag decoding unit 211 may acquire encoded data of the operation range extension flag. Further, the operation range extension flag decoding unit 211 may decode the encoded data and generate (restore) the operation range extension flag. Further, the operation range extension flag decoding unit 211 may output the operation range extension flag to the outside of the operation range extension information decoding device 200 as the processing result. Also, the operation range extension flag decoding unit 211 may supply the operation range extension flag to the operation range extension tool control information decoding unit 212 .
  • the operation range extension tool control information decoding unit 212 performs processing related to decoding of encoded data of operation range extension tool control information (sps_range_extension()). For example, the operation range extension tool control information decoding unit 212 may acquire encoded data of the operation range extension tool control information. Further, the operation range extension tool control information decoding section 212 may acquire the operation range extension flag supplied from the operation range extension flag decoding section 211 . Furthermore, the operation range extension tool control information decoding unit 212 may acquire a parameter (BitDepth) indicating the bit depth of the image.
  • the operation range extension tool control information decoding unit 212 may decode the encoded data of the operation range extension tool control information according to the operation range extension flag and image bit depth (BitDepth). For example, if the operation range extension flag is false or the bit depth of the image is not to be extended, the operation range extension tool control information decoding unit 212 skips decoding of encoded data of the operation range extension tool control information (omitted). ). Further, the operation range extension tool control information decoding unit 212 may set the operation range extension tool control information to a value indicating that the operation range extension tool cannot be used. For example, if the operation range extension flag is true and the bit depth of the image is to be extended, the operation range extension tool control information decoding unit 212 may decode the encoded data of the operation range extension tool control information.
  • BitDepth image bit depth
  • the operation range extension tool control information decoding unit 212 skips decoding the encoded data of the operation range extension tool control information ( omitted). Further, the operation range extension tool control information decoding unit 212 may set the operation range extension tool control information to a value indicating that the operation range extension tool cannot be used. For example, if the operation range extension flag is true and the bit depth of the image is greater than 10 bits, the operation range extension tool control information decoding unit 212 may decode the encoded data of the operation range extension tool control information. good.
  • operation range extension tool control information decoding unit 212 may output the operation range extension tool control information to the outside of the operation range extension information decoding device 200 as the processing result.
  • this operation range extension tool control information may include a control flag (extended_precision_processing_flag) relating to extension of the internal arithmetic precision of orthogonal transformation.
  • an internal variable (ExtendedPrecisionFlag) regarding the extension of the internal arithmetic precision of the orthogonal transform in the decoder may be set to the value of the control flag (extended_precision_processing_flag) regarding the extension of the internal arithmetic precision of the orthogonal transform.
  • this operation range extension tool control information may include a control flag (sps_ts_residual_coding_rice_present_in_sh_flag) regarding the extension of the rice parameter of TSRC.
  • this operation range extension tool control information may include control flags (sps_rrc_rice_extension_flag, sps_persistent_rice_adaptation_enabled_flag) regarding the extension of RRC rice parameters.
  • the operation range extension information decoding device 200 can correctly decode the encoded data of the operation range extension information generated by the operation range extension information encoding device 100 .
  • the decoder can use coding tools for bit-depth extension while maintaining compatibility with specifications that do not extend the bit-depth of images. Also, an increase in code amount can be suppressed.
  • the operation range extension information decoding device 200 decodes the encoded data of the operation range extension flag, and according to the operation range extension flag and the bit depth of the image, the operation range extension tool control information decode the encoded data of
  • the operation range extension flag decoding unit 211 decodes the encoded data of the operation range extension flag (sps_range_extension_flag) and generates the operation range extension flag ( Restore.
  • the operation range extension tool control information decoding unit 212 may decode the encoded data of the operation range extension tool control information according to the operation range extension flag and image bit depth (BitDepth). For example, if the operation range extension flag is false or the bit depth of the image is not to be extended, the operation range extension tool control information decoding unit 212 skips decoding of encoded data of the operation range extension tool control information (omitted). ). Further, the operation range extension tool control information decoding unit 212 may set the operation range extension tool control information to a value indicating that the operation range extension tool cannot be used. For example, if the operation range extension flag is true and the bit depth of the image is to be extended, the operation range extension tool control information decoding unit 212 may decode the encoded data of the operation range extension tool control information.
  • BitDepth image bit depth
  • the operation range extension tool control information decoding unit 212 skips decoding the encoded data of the operation range extension tool control information ( omitted). Further, the operation range extension tool control information decoding unit 212 may set the operation range extension tool control information to a value indicating that the operation range extension tool cannot be used. For example, if the operation range extension flag is true and the bit depth of the image is greater than 10 bits, the operation range extension tool control information decoding unit 212 may decode the encoded data of the operation range extension tool control information. good.
  • step S332 the operation range extension tool control information decoding unit 212 determines whether the operation range extension flag is true (for example, "1") and the bit depth of the image is greater than 10 bits. If it is determined that the operation range extension flag is true and the bit depth of the image is greater than 10 bits, the process proceeds to step S333.
  • step S333 the operation range extension tool control information decoding unit 212 decodes the encoded data of the operation range extension tool control information to generate (restore) the operation range extension tool control information.
  • the operation range extension information decoding process ends.
  • step S332 determines whether the operation range expansion flag is false or the bit depth of the image is 10 bits or less. If it is determined in step S332 that the operation range expansion flag is false or the bit depth of the image is 10 bits or less, the process proceeds to step S334.
  • step S334 the operation range extension tool control information decoding unit 212 omits decoding of the encoded data of the operation range extension tool control information. Then, the operation range extension tool control information decoding unit 212 sets each control flag of the operation range extension tool control information to a value indicating that the tool cannot be used. When the process of step S334 ends, the operation range extension information decoding process ends.
  • the operation range extension information decoding device 200 can correctly decode the encoded data of the operation range extension information generated by the operation range extension information encoding device 100.
  • the decoder can use coding tools for bit-depth extension while maintaining compatibility with specifications that do not extend the bit-depth of images. Also, an increase in code amount can be suppressed.
  • FIG. 23 is a block diagram showing an example of a configuration of an image encoding device which is one aspect of an image processing device to which the present technology is applied.
  • An image encoding device 300 shown in FIG. 23 is a device that encodes image data of a moving image.
  • the image encoding device 300 can encode image data of a moving image using the encoding method described in any of the non-patent documents mentioned above.
  • FIG. 23 shows main elements such as processing units (blocks) and data flow, and what is shown in FIG. 23 is not necessarily all.
  • the image encoding device 300 may have processing units that are not shown as blocks in FIG.
  • the image encoding device 300 may have processes and data flows not indicated by arrows or the like in FIG.
  • the image encoding device 300 includes a control unit 301, a rearrangement buffer 311, a calculation unit 312, an orthogonal transformation unit 313, a quantization unit 314, an encoding unit 315, an accumulation buffer 316, an inverse quantization unit 317 , an inverse orthogonal transform unit 318 , a calculation unit 319 , an in-loop filter unit 320 , a frame memory 321 , a prediction unit 322 and a rate control unit 323 .
  • the control unit 301 divides the moving image data held by the rearrangement buffer 311 into processing unit blocks (CU, PU, transform block, etc.) based on an external or pre-specified processing unit block size. .
  • the control unit 301 determines coding parameters (header information Hinfo, prediction mode information Pinfo, transform information Tinfo, filter information Finfo, etc.) to be supplied to each block, for example, based on RDO (Rate-Distortion Optimization). do.
  • control unit 301 After determining the encoding parameters as described above, the control unit 301 supplies them to each block. Specifically, it is as follows.
  • Header information Hinfo is supplied to each block.
  • the prediction mode information Pinfo is supplied to the encoding section 315 and the prediction section 322 .
  • the transform information Tinfo is supplied to the encoding unit 315 , the orthogonal transform unit 313 , the quantization unit 314 , the inverse quantization unit 317 and the inverse orthogonal transform unit 318 .
  • the filter information Finfo is supplied to the in-loop filter section 320 .
  • Each field (input image) of moving image data is input to the image encoding device 300 in the order of reproduction (display order).
  • the rearrangement buffer 311 acquires and holds (stores) each input image in its reproduction order (display order).
  • the rearrangement buffer 311 rearranges the input image in encoding order (decoding order) or divides the input image into processing unit blocks under the control of the control unit 301 .
  • the rearrangement buffer 311 supplies each processed input image to the calculation unit 312 .
  • the rearrangement buffer 311 also supplies each input image (original image) to the prediction unit 322 and the in-loop filter unit 320 .
  • the calculation unit 312 receives the image I corresponding to the block of the processing unit and the prediction image P supplied from the prediction unit 322, subtracts the prediction image P from the image I as shown in the following formula, and predicts A residual D is derived and supplied to the orthogonal transform section 313 .
  • the orthogonal transform unit 313 receives the prediction residual D supplied from the calculation unit 312 and the transform information Tinfo supplied from the control unit 301, and performs orthogonal transform on the prediction residual D based on the transform information Tinfo. Perform the transform and derive the transform coefficient Coeff. For example, the orthogonal transform unit 313 performs primary transform on the prediction residual D to generate primary transform coefficients, performs secondary transform on the primary transform coefficients based on the ST identifier, and generates secondary transform coefficients. do. The orthogonal transform unit 313 supplies the obtained secondary transform coefficients to the quantization unit 314 as transform coefficients Coeff.
  • the orthogonal transform unit 313 is not limited to orthogonal transform, and can perform arbitrary coefficient transform. That is, the transform coefficient Coeff may be derived by subjecting the prediction residual D to any coefficient transform. Therefore, the orthogonal transform section 313 can also be said to be a coefficient transform section.
  • the quantization unit 314 receives the transform coefficient Coeff supplied from the orthogonal transform unit 313 and the transform information Tinfo supplied from the control unit 301, and scales (quantizes) the transform coefficient Coeff based on the transform information Tinfo. )do. Note that the rate of this quantization is controlled by the rate control section 323 .
  • the quantization section 314 supplies the quantization coefficient level (also referred to as quantization coefficient qcoeff), which is the level value of the transform coefficient quantized in this way, to the encoding section 315 and the inverse quantization section 317 .
  • the encoding unit 315 receives the quantization coefficient level supplied from the quantization unit 314 and various encoding parameters supplied from the control unit 301 (header information Hinfo, prediction mode information Pinfo, transform information Tinfo, filter information Finfo, etc.). , information on filters such as filter coefficients supplied from the in-loop filter unit 320 and information on the optimum prediction mode supplied from the prediction unit 322 are input.
  • the coding unit 315 performs variable length coding (for example, arithmetic coding) on the quantized coefficient level to generate a bit string (coded data).
  • the encoding unit 315 includes information about the filter supplied from the in-loop filter unit 320 in the filter information Finfo, and includes information about the optimum prediction mode supplied from the prediction unit 322 in the prediction mode information Pinfo. Then, the encoding unit 315 encodes the above-described various encoding parameters (header information Hinfo, prediction mode information Pinfo, transform information Tinfo, filter information Finfo, etc.) to generate a bit string.
  • the encoding unit 315 multiplexes the bit strings (encoded data) of various information generated as described above to generate a bit stream of the encoded data.
  • the encoder 315 supplies the bitstream to the accumulation buffer 316 .
  • the accumulation buffer 316 temporarily holds the bitstream of the encoded data obtained by the encoding unit 315 .
  • the accumulation buffer 316 outputs the bitstream of the encoded data it holds to the outside of the image encoding device 300 at a predetermined timing. For example, this bitstream is transmitted to the decoding side via any recording medium, any transmission medium, any information processing device, or the like. That is, the accumulation buffer 316 is also a transmission unit that transmits a bitstream (encoded data).
  • the inverse quantization unit 317 performs processing related to inverse quantization. For example, the inverse quantization unit 317 receives the quantization coefficient level supplied from the quantization unit 314 and the transformation information Tinfo supplied from the control unit 301, and calculates the quantization coefficient level based on the transformation information Tinfo. Scale (inverse quantize) the value of . Note that this inverse quantization is inverse processing of the quantization performed in the quantization section 314 . The inverse quantization unit 317 supplies the transform coefficient Coeff_IQ obtained by such inverse quantization to the inverse orthogonal transform unit 318 .
  • the inverse orthogonal transform unit 318 performs processing related to inverse orthogonal transform. For example, the inverse orthogonal transform unit 318 receives the transform coefficient Coeff_IQ supplied from the inverse quantization unit 317 and the transform information Tinfo supplied from the control unit 301, and transforms the transform coefficient Coeff_IQ based on the transform information Tinfo. Then, an inverse orthogonal transform is performed to derive a prediction residual D'. This inverse orthogonal transform is an inverse process of the orthogonal transform performed in the orthogonal transform section 313 . The inverse orthogonal transformation unit 318 supplies the prediction residual D′ obtained by such inverse orthogonal transformation to the calculation unit 319 .
  • the inverse orthogonal transformation unit 318 performs the inverse processing of the processing performed by the orthogonal transformation unit 313 .
  • the inverse orthogonal transform section 318 can perform arbitrary inverse coefficient transform, not limited to inverse orthogonal transform.
  • This inverse coefficient transform is inverse processing of the coefficient transform executed by the orthogonal transform unit 313 . That is, the prediction residual D' may be derived by performing any inverse coefficient transform on the transform coefficient Coeff_IQ. Therefore, the inverse orthogonal transform section 318 can also be said to be an inverse coefficient transform section.
  • the calculation unit 319 receives the prediction residual D′ supplied from the inverse orthogonal transform unit 318 and the predicted image P supplied from the prediction unit 322 .
  • the calculation unit 319 adds the prediction residual D' and the prediction image P corresponding to the prediction residual D' to derive a local decoded image Rlocal.
  • the calculation unit 319 supplies the derived local decoded image Rlocal to the in-loop filter unit 320 and the frame memory 321 .
  • the in-loop filter unit 320 performs processing related to in-loop filtering.
  • the in-loop filter unit 320 converts the local decoded image Rlocal supplied from the calculation unit 319, the filter information Finfo supplied from the control unit 301, and the input image (original image) supplied from the rearrangement buffer 311 to Input.
  • the information input to the in-loop filter unit 320 is arbitrary, and information other than these information may be input. For example, if necessary, prediction mode, motion information, code amount target value, quantization parameter QP, picture type, block (CU, CTU, etc.) information and the like may be input to the in-loop filter unit 320. good.
  • the in-loop filter unit 320 appropriately performs filtering on the local decoded image Rlocal based on the filter information Finfo.
  • the in-loop filter unit 320 also uses the input image (original image) and other input information for the filtering process as necessary.
  • the in-loop filter unit 320 includes, as described in Non-Patent Document 11, a bilateral filter, a deblocking filter (DBF (DeBlocking Filter)), an adaptive offset filter (SAO (Sample Adaptive Offset)), and an adaptive loop filter Four in-loop filters (ALF (Adaptive Loop Filter)) are applied in this order. Which filter to apply and in what order are optional and can be selected as appropriate.
  • DPF DeBlocking Filter
  • SAO Sample Adaptive Offset
  • ALF adaptive Loop Filter
  • the filtering process performed by the in-loop filtering unit 320 is arbitrary and is not limited to the above example.
  • the in-loop filter unit 320 may apply a Wiener filter or the like.
  • the in-loop filter unit 320 supplies the filtered locally decoded image Rlocal to the frame memory 321 .
  • the in-loop filter unit 320 supplies the filter-related information to the encoding unit 315 .
  • the frame memory 321 performs processing related to storage of image-related data. For example, the frame memory 321 receives the local decoded image Rlocal supplied from the calculation unit 319 and the filtered local decoded image Rlocal supplied from the in-loop filter unit 320, and holds (stores) them. The frame memory 321 also uses the local decoded image Rlocal to reconstruct and store the decoded image R for each picture (stores it in the buffer within the frame memory 321). The frame memory 321 supplies the decoded image R (or part thereof) to the prediction section 322 in response to a request from the prediction section 322 .
  • the prediction unit 322 performs processing related to prediction image generation.
  • the prediction unit 322 uses prediction mode information Pinfo supplied from the control unit 301, an input image (original image) supplied from the rearrangement buffer 311, and a decoded image R (or part thereof) read from the frame memory 321. is input.
  • the prediction unit 322 performs prediction processing such as inter prediction and intra prediction using prediction mode information Pinfo and an input image (original image), performs prediction with reference to the decoded image R as a reference image, and based on the prediction result motion compensation processing to generate a predicted image P.
  • the prediction unit 322 supplies the generated predicted image P to the calculation units 312 and 319 .
  • the prediction unit 322 supplies the prediction mode selected by the above process, that is, information about the optimum prediction mode to the encoding unit 315 as necessary.
  • the rate control unit 323 performs processing related to rate control. For example, the rate control unit 323 controls the quantization operation rate of the quantization unit 314 based on the code amount of the encoded data accumulated in the accumulation buffer 316 so that overflow or underflow does not occur.
  • each processing unit may be configured by a logic circuit that implements the above processing.
  • each processing unit has, for example, a CPU (Central Processing Unit), ROM (Read Only Memory), RAM (Random Access Memory), etc., and by executing programs using these, the above processing is realized. You may do so.
  • each processing unit may have both configurations, implement some of the above-described processes by a logic circuit, and implement others by executing a program.
  • the configuration of each processing unit may be independent of each other. , and another processing unit may implement the above-described processing by executing both the logic circuit and the program.
  • FIG. 24 is a block diagram showing a main configuration example of the encoding section 315.
  • the encoding section 315 has an operation range extension information encoding section 351 .
  • the operation range extension information encoding unit 351 executes processing related to encoding of operation range extension information.
  • the operation range extension information encoding unit 351 may acquire operation range extension information supplied from the control unit 301 as encoding parameters.
  • the operation range extension information encoding unit 351 may acquire a parameter (BitDepth) indicating the bit depth of the image, which is supplied from the control unit 301 as an encoding parameter.
  • the operational range extension information encoding unit 351 may use these pieces of information to perform processing related to encoding of the operational range extension information.
  • the operation range extension information encoding unit 351 may output the encoded data of the operation range extension information or the like as appropriate as the processing result.
  • This encoded data is stored in a bitstream containing encoded image data in the encoding unit 315 .
  • This bitstream is output to the outside of the image encoding device 300 via the accumulation buffer 316 .
  • This bitstream is supplied to the decoding side.
  • the operation range extension information encoded in the operation range extension information encoding unit 351, the operation range extension information set in the operation range extension information encoding unit 351, or the internal variables corresponding to them are encoded parameters. It is supplied to an arbitrary processing unit of the image encoding device 300 and used.
  • this operation range extension information may be supplied to the encoding unit 315 and used for encoding or the like. Also, this operation range extension information (or internal variables) may be supplied to the orthogonal transform section 313 and used for orthogonal transform or the like. Also, this operation range extension information (or internal variables) may be supplied to the inverse orthogonal transform unit 318 and used for inverse orthogonal transform or the like.
  • each method (method 1, method 2, or method 3) of the present technology described above may be applied.
  • the operation range extension information encoding unit 351 has the same configuration as the operation range extension information encoding device 100 shown in FIG. 8, and executes the operation range extension information encoding process shown in FIG. may By doing so, the image encoding device 300 can achieve ⁇ 3. Control of Operation Range Extension Flag>, the above effect (effect when method 1 is applied) can be obtained. In other words, the image encoding device 300 can use an encoding tool for bit depth extension while maintaining compatibility with specifications that do not extend the bit depth of an image.
  • the operation range extension information encoding unit 351 has the same configuration as the operation range extension information encoding device 100 shown in FIG. 16, and executes the operation range extension information encoding process shown in FIG. You may do so.
  • the image encoding device 300 can achieve ⁇ 4. Control of Value of Operation Range Expansion Tool Control Information>, the above effect (effect when method 2 is applied) can be obtained.
  • the image encoding device 300 can use an encoding tool for bit depth extension while maintaining compatibility with specifications that do not extend the bit depth of an image.
  • the operation range extension information encoding unit 351 has the same configuration as the operation range extension information encoding device 100 shown in FIG. 16, and executes the operation range extension information encoding process shown in FIG. You may do so.
  • the image encoding device 300 can achieve ⁇ 5. transmission control of operation range expansion tool control information> (effect when method 3 is applied) can be obtained.
  • the image encoding device 300 can use an encoding tool for bit depth extension while maintaining compatibility with specifications that do not extend the bit depth of an image. Also, an increase in code amount can be suppressed.
  • step S401 the rearrangement buffer 311 is controlled by the control unit 301 to rearrange the frames of the input moving image data from the display order to the encoding order.
  • step S402 the control unit 301 sets a processing unit (divides into blocks) for the input image held by the rearrangement buffer 311.
  • step S ⁇ b>403 the control unit 301 determines (sets) encoding parameters for the input image held by the rearrangement buffer 311 .
  • step S404 the prediction unit 322 performs prediction processing to generate a predicted image or the like in the optimum prediction mode. For example, in this prediction process, the prediction unit 322 performs intra prediction to generate a predicted image or the like in an optimal intra prediction mode, performs inter prediction to generate a predicted image or the like in an optimal inter prediction mode, and From among them, the optimum prediction mode is selected based on the cost function value and the like.
  • step S405 the calculation unit 312 calculates the difference between the input image and the prediction image of the optimum mode selected by the prediction processing in step S304. That is, the calculation unit 312 generates a prediction residual D between the input image and the predicted image.
  • the prediction residual D obtained in this manner has a reduced data amount compared to the original image data. Therefore, the amount of data can be compressed as compared with the case where the image is encoded as it is.
  • step S406 the orthogonal transform unit 313 performs orthogonal transform processing on the prediction residual D generated by the processing in step S405 to derive the transform coefficient Coeff.
  • step S407 the quantization unit 314 quantizes the transform coefficient Coeff obtained by the processing in step S406, such as by using the quantization parameter calculated by the control unit 301, and derives the quantization coefficient level.
  • step S408 the inverse quantization unit 317 inversely quantizes the quantization coefficient level generated by the processing in step S407 with the characteristic corresponding to the quantization characteristic in step S407, and derives the transform coefficient Coeff_IQ.
  • step S409 the inverse orthogonal transform unit 318 inverse orthogonally transforms the transform coefficient Coeff_IQ obtained by the process of step S408 by a method corresponding to the orthogonal transform process of step S406 to derive the prediction residual D'.
  • step S410 the calculation unit 319 adds the predicted image obtained by the prediction process of step S404 to the prediction residual D' derived by the process of step S409, thereby generating a locally decoded decoded image. Generate.
  • step S411 the in-loop filtering unit 320 performs in-loop filtering on the locally decoded decoded image derived by the processing in step S410.
  • step S412 the frame memory 321 stores the locally decoded decoded image derived by the process of step S410 and the locally decoded decoded image filtered in step S411.
  • step S413 the encoding unit 315 encodes the quantization coefficient level and various encoding parameters obtained by the processing in step S407, and generates a bitstream of encoded data.
  • step S414 the accumulation buffer 316 accumulates the bitstream obtained in step S413 and outputs it to the outside of the image encoding device 300.
  • This bitstream is transmitted to the decoding side via, for example, a transmission path or a recording medium.
  • the rate control unit 323 performs rate control as necessary.
  • step S414 ends, the image encoding process ends.
  • step S413 of such image encoding processing each method (method 1, method 2, or method 3) of the present technology described above may be applied.
  • step S413 the encoding unit 315 (the operation range extension information encoding unit 351) performs the operation range extension information encoding process shown in FIG. may be encoded.
  • the image encoding device 300 can achieve ⁇ 3.
  • Control of Operation Range Extension Flag> the above effect (effect when method 1 is applied) can be obtained.
  • the image encoding device 300 can use an encoding tool for bit depth extension while maintaining compatibility with specifications that do not extend the bit depth of an image.
  • step S413 the encoding unit 315 (the operation range extension information encoding unit 351) executes the operation range extension information encoding process shown in FIG. parameters) may be encoded.
  • the image encoding device 300 can achieve ⁇ 4. Control of Value of Operation Range Expansion Tool Control Information>, the above effect (effect when method 2 is applied) can be obtained.
  • the image encoding device 300 can use an encoding tool for bit depth extension while maintaining compatibility with specifications that do not extend the bit depth of an image.
  • step S413 the encoding unit 315 (the operation range extension information encoding unit 351) executes the operation range extension information encoding process shown in FIG. parameters) may be encoded.
  • the image encoding device 300 can achieve ⁇ 5.
  • transmission control of operation range expansion tool control information> effect when method 3 is applied
  • the image encoding device 300 can use an encoding tool for bit depth extension while maintaining compatibility with specifications that do not extend the bit depth of an image. Also, an increase in code amount can be suppressed.
  • FIG. 26 is a block diagram showing an example of a configuration of an image decoding device, which is one aspect of an image processing device to which the present technology is applied.
  • the image decoding device 400 shown in FIG. 26 is a device that encodes encoded data of moving images.
  • the image decoding device 400 can decode the encoded data using the decoding method described in any of the above non-patent documents.
  • the image decoding device 400 decodes the encoded data (bitstream) generated by the image encoding device 300 described above.
  • FIG. 26 shows main components such as processing units (blocks) and data flow, and what is shown in FIG. 26 is not necessarily all.
  • the image decoding device 400 may have processing units not shown as blocks in FIG.
  • the image decoding device 400 may have processes and data flows not indicated by arrows or the like in FIG.
  • the image decoding device 400 includes an accumulation buffer 411, a decoding unit 412, an inverse quantization unit 413, an inverse orthogonal transform unit 414, a calculation unit 415, an in-loop filter unit 416, a rearrangement buffer 417, a frame memory 418, and A prediction unit 419 is provided.
  • the prediction unit 419 includes an intra prediction unit, an inter prediction unit, and the like (not shown).
  • the image decoding device 400 is a device for generating moving image data by decoding a bitstream containing encoded data of moving images. For example, the image decoding device 400 can correctly decode the bitstream generated by the image encoding device 300 .
  • the accumulation buffer 411 acquires and holds (stores) the bitstream input to the image decoding device 400 .
  • the accumulation buffer 411 supplies the accumulated bitstream to the decoding unit 412 at predetermined timing or when predetermined conditions are met.
  • the decoding unit 412 performs processing related to image decoding. For example, the decoding unit 412 receives the bitstream supplied from the accumulation buffer 411, and according to the definition of the syntax table, variable-length decodes the syntax value of each syntax element from the bitstream, and derives the parameters. do.
  • Parameters derived from syntax elements and syntax values of syntax elements include information such as header information Hinfo, prediction mode information Pinfo, transformation information Tinfo, and filter information Finfo. That is, the decoding unit 412 parses (analyzes and acquires) these pieces of information from the bitstream. These pieces of information are described below.
  • the header information Hinfo includes header information such as VPS (Video Parameter Set)/SPS (Sequence Parameter Set)/PPS (Picture Parameter Set)/SH (Slice Header).
  • the header information Hinfo includes, for example, image size (horizontal width PicWidth, vertical width PicHeight), bit depth (luminance bitDepthY, color difference bitDepthC), color difference array type ChromaArrayType, maximum value MaxCUSize/minimum value MinCUSize of CU size, quadtree division ( Quad-tree partition) maximum depth MaxQTDepth/minimum depth MinQTDepth, binary-tree partition maximum depth MaxBTDepth/minimum depth MinBTDepth, transform skip block maximum value MaxTSSize (also called maximum transform skip block size) ), an on/off flag (also called a valid flag) of each coding tool, and other information.
  • image size horizontal width PicWidth, vertical width PicHeight
  • bit depth luminance bitDepthY, color
  • the on/off flags of the encoding tool included in the header information Hinfo include the following on/off flags related to transform and quantization processing.
  • the on/off flag of an encoding tool can also be interpreted as a flag indicating whether or not syntax related to the encoding tool exists in the encoded data. Further, when the value of the on/off flag is 1 (true), it indicates that the coding tool can be used, and when the value of the on/off flag is 0 (false), it indicates that the coding tool cannot be used. show. Note that the interpretation of the flag value may be reversed.
  • Inter-component prediction enabled flag (ccp_enabled_flag): Flag information indicating whether or not inter-component prediction (CCP (Cross-Component Prediction), also referred to as CC prediction) can be used. For example, if this flag information is "1" (true), it indicates that it can be used, and if it is "0" (false), it indicates that it cannot be used. Note that this CCP is also called component-to-component linear prediction (CCLM or CCLMP).
  • CCP Cross-Component Prediction
  • the (SPS of) header information Hinfo may include the operation range extension information described above.
  • the prediction mode information Pinfo includes, for example, information such as size information PSize (prediction block size) of the target PB (prediction block) to be processed, intra prediction mode information IPinfo, motion prediction information MVinfo, and the like.
  • the intra prediction mode information IPinfo includes, for example, prev_intra_luma_pred_flag, mpm_idx, rem_intra_pred_mode in JCTVC-W1005, 7.3.8.5 Coding Unit syntax, and luminance intra prediction mode IntraPredModeY derived from the syntax.
  • the intra prediction mode information IPinfo includes, for example, an inter-component prediction flag (ccp_flag (cclmp_flag)), a multi-class linear prediction mode flag (mclm_flag), a chrominance sample location type identifier (chroma_sample_loc_type_idx), a chrominance MPM identifier (chroma_mpm_idx), and , a luminance intra prediction mode (IntraPredModeC) derived from these syntaxes, and the like.
  • ccp_flag cclmp_flag
  • mclm_flag multi-class linear prediction mode flag
  • chroma_sample_loc_type_idx chrominance MPM identifier
  • chroma_mpm_idx chrominance MPM identifier
  • the multi-class linear prediction mode flag (mclm_flag) is information about the linear prediction mode (linear prediction mode information). More specifically, the multi-class linear prediction mode flag (mclm_flag) is flag information indicating whether to set the multi-class linear prediction mode. For example, "0" indicates a 1-class mode (single-class mode) (eg, CCLMP), and "1" indicates a 2-class mode (multi-class mode) (eg, MCLMP). .
  • a chrominance sample position type identifier (chroma_sample_loc_type_idx) is an identifier that identifies the type of pixel position of the chrominance component (also referred to as the chrominance sample position type). For example, when the chrominance array type (ChromaArrayType), which is information about the color format, indicates the 420 format, the chrominance sample position type identifier is assigned according to the following formula.
  • this chrominance sample position type identifier (chroma_sample_loc_type_idx) is transmitted (stored in) as information (chroma_sample_loc_info( )) on the pixel position of the chrominance component.
  • the chrominance MPM identifier (chroma_mpm_idx) is an identifier that indicates which prediction mode candidate in the chrominance intra prediction mode candidate list (intraPredModeCandListC) is designated as the chrominance intra prediction mode.
  • the information included in the prediction mode information Pinfo is arbitrary, and information other than this information may be included.
  • the conversion information Tinfo includes, for example, the following information.
  • the information included in the conversion information Tinfo is arbitrary, and information other than these information may be included.
  • Transform skip flag (transform_skip_flag (also called ts_flag))
  • ScanIdx quantization parameter (qp) quantization matrix (scaling_matrix (e.g. JCTVC-W1005, 7.3.4 Scaling list data syntax))
  • log2TBWSize and log2TBHSize may be included in the conversion information Tinfo instead of TBWSize and TBHSize.
  • log2TBWSize is the base 2 logarithm of TBWSize.
  • log2TBHSize is the base 2 logarithm of TBHSize.
  • the transform skip flag is a flag indicating whether to skip the inverse coefficient transform (inverse primary transform and inverse secondary transform).
  • the filter information Finfo includes, for example, control information regarding each filtering process described below.
  • Control information for deblocking filter (DBF) Control information for pixel adaptive offset (SAO)
  • Control information for adaptive loop filter (ALF) Control information for other linear/nonlinear filters
  • filter information Finfo is arbitrary, and information other than these information may be included.
  • the decoding unit 412 derives the quantization coefficient level by referring to the syntax regarding the quantization coefficient level obtained by decoding the bitstream.
  • the decoding unit 412 supplies the quantized coefficient level to the inverse quantization unit 413 .
  • the decoding unit 412 supplies coding parameters such as parsed header information Hinfo, prediction mode information Pinfo, transform information Tinfo, and filter information Finfo to each block.
  • the decoding unit 412 supplies the header information Hinfo to the inverse quantization unit 413 , the inverse orthogonal transform unit 414 , the prediction unit 419 and the in-loop filter unit 416 .
  • the decoding unit 412 also supplies the prediction mode information Pinfo to the inverse quantization unit 413 and the prediction unit 419 .
  • the decoding unit 412 also supplies the transform information Tinfo to the inverse quantization unit 413 and the inverse orthogonal transform unit 414 .
  • the decoding unit 412 also supplies the filter information Finfo to the in-loop filter unit 416 .
  • each encoding parameter may be supplied to any processing unit.
  • other information may be supplied to any processing unit.
  • the inverse quantization unit 413 has at least a configuration necessary for performing processing related to inverse quantization. For example, the inverse quantization unit 413 receives the transformation information Tinfo and the quantization coefficient level supplied from the decoding unit 412, and scales (inverse quantizes) the value of the quantization coefficient level based on the transformation information Tinfo. , to derive the transform coefficients Coeff_IQ after inverse quantization. The inverse quantization unit 413 supplies the derived transform coefficient Coeff_IQ to the inverse orthogonal transform unit 414 .
  • this inverse quantization is performed as inverse processing of the quantization by the quantization unit 314 of the image encoding device 300. Also, this inverse quantization is the same processing as the inverse quantization by the inverse quantization unit 317 of the image encoding device 300 . That is, the inverse quantization unit 317 of the image encoding device 300 performs the same processing (inverse quantization) as the inverse quantization unit 413 does.
  • the inverse orthogonal transform unit 414 performs processing related to inverse orthogonal transform. For example, the inverse orthogonal transform unit 414 receives the transform coefficient Coeff_IQ supplied from the inverse quantization unit 413 and the transform information Tinfo supplied from the decoding unit 412, and transforms the transform coefficient Coeff_IQ based on the transform information Tinfo. An inverse orthogonal transform process is performed on this to derive a prediction residual D'. For example, the inverse orthogonal transform unit 414 performs inverse secondary transform on transform coefficient Coeff_IQ based on the ST identifier to generate primary transform coefficients, performs primary transform on the primary transform coefficients, and predicts residual D '. The inverse orthogonal transform unit 414 supplies the derived prediction residual D′ to the calculation unit 415 .
  • this inverse orthogonal transformation is performed as inverse processing of the orthogonal transformation by the orthogonal transformation unit 313 of the image encoding device 300 .
  • this inverse orthogonal transform is the same process as the inverse orthogonal transform by the inverse orthogonal transform unit 318 of the image encoding device 300 . That is, the inverse orthogonal transform unit 318 of the image encoding device 300 performs the same processing (inverse orthogonal transform) as the inverse orthogonal transform unit 414 does.
  • the inverse orthogonal transform unit 414 can perform arbitrary inverse coefficient transform, not limited to inverse orthogonal transform, like the inverse orthogonal transform unit 318 of the image encoding device 300 .
  • This inverse coefficient transform is inverse processing of the coefficient transform executed by the orthogonal transform unit 313 of the image encoding device 300 . That is, the prediction residual D' may be derived by performing any inverse coefficient transform on the transform coefficient Coeff_IQ. Therefore, the inverse orthogonal transform unit 414 can also be said to be an inverse coefficient transform unit.
  • the calculation unit 415 performs processing related to addition of information regarding images. For example, the calculation unit 415 receives the prediction residual D′ supplied from the inverse orthogonal transform unit 414 and the prediction image P supplied from the prediction unit 419 . The calculation unit 415 adds the prediction residual D' and the prediction image P (prediction signal) corresponding to the prediction residual D' to derive the local decoded image Rlocal, as shown in the following equation. The calculation unit 415 supplies the derived local decoded image Rlocal to the in-loop filter unit 416 and the frame memory 418 .
  • the in-loop filter unit 416 performs processing related to in-loop filtering. For example, the in-loop filter unit 416 receives the local decoded image Rlocal supplied from the calculation unit 415 and the filter information Finfo supplied from the decoding unit 412 .
  • the information input to the in-loop filter unit 416 is arbitrary, and information other than these information may be input.
  • the in-loop filter unit 416 appropriately performs filtering on the local decoded image Rlocal based on the filter information Finfo.
  • the in-loop filter unit 416 includes, as described in Non-Patent Document 11, a bilateral filter, a deblocking filter (DBF (DeBlocking Filter)), an adaptive offset filter (SAO (Sample Adaptive Offset)), and an adaptive loop filter Four in-loop filters (ALF (Adaptive Loop Filter)) are applied in this order. Which filter to apply and in what order are optional and can be selected as appropriate.
  • DPF DeBlocking Filter
  • SAO Sample Adaptive Offset
  • ALF adaptive Loop Filter
  • the in-loop filter unit 416 performs filter processing corresponding to the filter processing performed by the encoding side (for example, the in-loop filter unit 320 of the image encoding device 300).
  • the filtering process performed by the in-loop filtering unit 416 is arbitrary and is not limited to the above example.
  • the in-loop filter unit 416 may apply a Wiener filter or the like.
  • the in-loop filter unit 416 supplies the filtered locally decoded image Rlocal to the rearrangement buffer 417 and the frame memory 418 .
  • the rearrangement buffer 417 receives the local decoded image Rlocal supplied from the in-loop filter unit 416 and holds (stores) it.
  • the rearrangement buffer 417 reconstructs the decoded image R for each picture using the local decoded image Rlocal and holds it (stores it in the buffer).
  • the rearrangement buffer 417 rearranges the obtained decoded images R from decoding order to reproduction order.
  • the rearrangement buffer 417 outputs the rearranged R group of decoded images to the outside of the image decoding device 400 as moving image data.
  • the frame memory 418 performs processing related to storage of data regarding images. For example, the frame memory 418 receives the local decoded image Rlocal supplied from the calculation unit 415, reconstructs the decoded image R for each picture, and stores the reconstructed image in the buffer within the frame memory 418.
  • the frame memory 418 receives the in-loop filtered local decoded image Rlocal supplied from the in-loop filter unit 416, reconstructs the decoded image R for each picture unit, and stores the buffer in the frame memory 418. store to The frame memory 418 appropriately supplies the stored decoded image R (or part thereof) to the prediction unit 419 as a reference image.
  • the frame memory 418 may store header information Hinfo, prediction mode information Pinfo, transform information Tinfo, filter information Finfo, etc. related to generation of decoded images.
  • the prediction unit 419 performs processing related to prediction image generation. For example, the prediction unit 419 receives the prediction mode information Pinfo supplied from the decoding unit 412, performs prediction using the prediction method specified by the prediction mode information Pinfo, and derives the prediction image P. In the derivation, the prediction unit 419 uses the pre-filter or post-filter decoded image R (or part thereof) stored in the frame memory 418 specified by the prediction mode information Pinfo as a reference image. The prediction unit 419 supplies the derived prediction image P to the calculation unit 415 .
  • each processing unit may be configured by a logic circuit that implements the above processing.
  • each processing unit may have, for example, a CPU, ROM, RAM, etc., and may implement the above-described processing by executing a program using them.
  • each processing unit may have both configurations, implement some of the above-described processes by a logic circuit, and implement others by executing a program.
  • the configuration of each processing unit may be independent of each other.
  • another processing unit may implement the above-described processing by executing both the logic circuit and the program.
  • FIG. 27 is a block diagram showing a main configuration example of the decoding unit 412.
  • decoding section 412 has operation range extension information decoding section 451 .
  • the operation range extension information decoding unit 451 executes processing related to decoding of encoded data of operation range extension information.
  • the operational range extension information decoding unit 451 may acquire the operational range extension information extracted from the bitstream by the decoding unit 412 .
  • the operation range extension information decoding unit 451 may acquire a parameter (BitDepth) indicating the bit depth of the image extracted from the bitstream by the decoding unit 412 .
  • the operational range extension information decoding unit 451 may use these pieces of information to perform processing related to decoding of encoded data of the operational range extension information.
  • the operation range extension information decoding unit 451 may appropriately output operation range extension information or the like as the processing result.
  • This operation range extension information or an internal variable corresponding to it is supplied to an arbitrary processing unit of the image decoding device 400 as a coding parameter and used.
  • the operation range extension information (or internal variables) may be supplied to the decoding unit 412 and used for decoding and the like.
  • the operation range extension information (or internal variables) may be supplied to the inverse orthogonal transform unit 414 and used for inverse orthogonal transform or the like.
  • each method of the present technology (method 1-1, method 2-1, or method 3) described above may be applied.
  • the operation range extension information decoding unit 451 may have the same configuration as the operation range extension information decoding device 200 shown in FIG. 12 and execute the operation range extension information decoding process shown in FIG. .
  • the image decoding device 400 satisfies ⁇ 3.
  • Control of Operation Range Expansion Flag> the above effect (effect when method 1-1 is applied) can be obtained. That is, the image decoding device 400 can suppress decoding of illegal bitstreams. As a result, the image decoding device 400 can decode the bitstream more safely (suppress the occurrence of failures and the like).
  • the operation range extension information decoding unit 451 has the same configuration as the operation range extension information decoding device 200 shown in FIG. 12, and executes the operation range extension information decoding process shown in FIG. good too.
  • the image decoding device 400 can achieve ⁇ 4. control of value of operation range expansion tool control information> (effect when method 2-1 is applied) can be obtained. That is, the image decoding device 400 can suppress decoding of illegal bitstreams. As a result, the image decoding device 400 can decode the bitstream more safely (suppress the occurrence of failures and the like).
  • the operation range extension information decoding unit 451 has the same configuration as the operation range extension information decoding device 200 shown in FIG. 21, and executes the operation range extension information decoding process shown in FIG. good too.
  • the image decoding device 400 can achieve ⁇ 5. transmission control of operation range expansion tool control information> (effect when method 3 is applied) can be obtained. That is, the image decoding device 400 can correctly decode the bitstream generated by the image encoding device 300 .
  • the image decoding device 400 can use an encoding tool for bit depth extension while maintaining compatibility with specifications that do not extend the bit depth of an image. Also, an increase in code amount can be suppressed.
  • the accumulation buffer 411 acquires and holds (accumulates) encoded data (bitstream) supplied from the outside of the image decoding device 400 in step S501.
  • step S502 the decoding unit 412 performs decoding processing, decodes the encoded data (bitstream), and obtains the quantization coefficient level. Also, the decoding unit 412 parses (analyzes and acquires) various coding parameters from the coded data (bitstream) by this decoding.
  • step S503 the inverse quantization unit 413 performs inverse quantization, which is an inverse process of the quantization performed on the encoding side, on the quantized coefficient level obtained by the process of step S502, and converts the transform coefficient Coeff_IQ into a transform coefficient Coeff_IQ.
  • step S504 the inverse orthogonal transform unit 414 performs inverse orthogonal transform processing, which is the reverse processing of the orthogonal transform processing performed on the encoding side, on the transform coefficient Coeff_IQ obtained in step S503, and predictive residual D ' get.
  • step S505 the prediction unit 419 executes prediction processing using the prediction method specified by the encoding side based on the information parsed in step S502, and refers to the reference image stored in the frame memory 418. to generate a predicted image P.
  • step S506 the calculation unit 415 adds the prediction residual D' obtained in step S504 and the prediction image P obtained in step S505 to derive the local decoded image Rlocal.
  • step S507 the in-loop filtering unit 416 performs in-loop filtering on the locally decoded image Rlocal obtained by the processing in step S506.
  • step S508 the rearrangement buffer 417 derives the decoded image R using the filtered local decoded image Rlocal obtained by the process of step S507, and rearranges the order of the decoded image R group from the decoding order to the reproduction order. change.
  • the group of decoded images R rearranged in order of reproduction is output to the outside of the image decoding device 400 as a moving image.
  • the frame memory 418 stores at least one of the local decoded image Rlocal obtained by the process of step S506 and the filtered local decoded image Rlocal obtained by the process of step S507. .
  • step S509 ends, the image decoding process ends.
  • step S502 of such image decoding processing each method of the present technology described above (method 1-1, method 2-1, or method 3) may be applied.
  • step S502 the decoding unit 412 (the operation range extension information decoding unit 451) performs the operation range extension information decoding process shown in FIG. 13 to encode the operation range extension information (encoding parameter). Data may be decrypted.
  • the image decoding device 400 satisfies ⁇ 3.
  • Control of Operation Range Expansion Flag> the above effect (effect when method 1-1 is applied) can be obtained. That is, the image decoding device 400 can suppress decoding of illegal bitstreams. As a result, the image decoding device 400 can decode the bitstream more safely (suppress the occurrence of failures and the like).
  • the decoding unit 412 may execute the operation range extension information decoding process shown in FIG.
  • the image decoding device 400 can achieve ⁇ 4.
  • control of value of operation range expansion tool control information> effect when method 2-1 is applied
  • the image decoding device 400 can suppress decoding of illegal bitstreams.
  • the image decoding device 400 can decode the bitstream more safely (suppress the occurrence of failures and the like).
  • the decoding unit 412 may execute the operation range extension information decoding process shown in FIG.
  • the image decoding device 400 can achieve ⁇ 5.
  • transmission control of operation range expansion tool control information> effect when method 3 is applied
  • the image decoding device 400 can correctly decode the bitstream generated by the image encoding device 300 .
  • the image decoding device 400 can use an encoding tool for bit depth extension while maintaining compatibility with specifications that do not extend the bit depth of an image. Also, an increase in code amount can be suppressed.
  • BitDepth is used as the information indicating the bit depth of the image, but the information for obtaining the bit depth of the image is arbitrary and is not limited to this example.
  • sps_bitdepth_minus8 which is a parameter indicating "bit depth - 8"
  • This parameter is stored in the sequence parameter set.
  • the operation range extension information (operation range extension flag, operation range extension tool control information, etc.) is stored in the sequence parameter set, but the storage location of the operation range extension information is arbitrary. , but not limited to this example.
  • the operation range extension information may be stored, for example, in a picture parameter set (PPS (Picture Parameter Set)) or a slice header (slice_header).
  • PPS Picture Parameter Set
  • slice_header slice header
  • the series of processes described above can be executed by hardware or by software.
  • a program that constitutes the software is installed in the computer.
  • the computer includes, for example, a computer built into dedicated hardware and a general-purpose personal computer capable of executing various functions by installing various programs.
  • FIG. 29 is a block diagram showing an example of the hardware configuration of a computer that executes the series of processes described above by means of a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input/output interface 910 is also connected to the bus 904 .
  • An input unit 911 , an output unit 912 , a storage unit 913 , a communication unit 914 and a drive 915 are connected to the input/output interface 910 .
  • the input unit 911 consists of, for example, a keyboard, mouse, microphone, touch panel, input terminal, and the like.
  • the output unit 912 includes, for example, a display, a speaker, an output terminal, and the like.
  • the storage unit 913 is composed of, for example, a hard disk, a RAM disk, a nonvolatile memory, or the like.
  • the communication unit 914 is composed of, for example, a network interface.
  • Drive 915 drives removable media 921 such as a magnetic disk, optical disk, magneto-optical disk, or semiconductor memory.
  • the CPU 901 loads, for example, a program stored in the storage unit 913 into the RAM 903 via the input/output interface 910 and the bus 904, and executes the above-described series of programs. is processed.
  • the RAM 903 also appropriately stores data necessary for the CPU 901 to execute various processes.
  • a program executed by a computer can be applied by being recorded on removable media 921 such as package media, for example.
  • the program can be installed in the storage unit 913 via the input/output interface 910 by loading the removable medium 921 into the drive 915 .
  • This program can also be provided via wired or wireless transmission media such as local area networks, the Internet, and digital satellite broadcasting.
  • the program can be received by the communication unit 914 and installed in the storage unit 913 .
  • this program can be installed in the ROM 902 or the storage unit 913 in advance.
  • the present technology can be applied to any image encoding method or decoding method.
  • the specifications of various processes related to image encoding/decoding such as transformation (inverse transformation), quantization (inverse quantization), encoding (decoding), prediction, etc., are arbitrary. is not limited to the examples. Also, some of these processes may be omitted as long as they do not conflict with the present technology described above.
  • This technology can also be applied to a multi-view image coding system that encodes multi-view images including images of multiple viewpoints (views). Also, the present technology can be applied to a multi-view image decoding system that decodes encoded data of multi-view images including images of a plurality of viewpoints (views). In that case, the present technology may be applied to encoding and decoding of each viewpoint (view).
  • this technology can be applied to a hierarchical image coding (scalable coding) system that encodes a hierarchical image that is layered (hierarchized) in multiple layers so as to have a scalability function for a predetermined parameter.
  • the present technology can be applied to a layered image decoding (scalable decoding) system that decodes encoded data of layered images layered (layered) in multiple layers so as to have a scalability function for a predetermined parameter. can.
  • the present technology may be applied to encoding and decoding of each layer.
  • this technology can be applied to any configuration.
  • the present technology can be applied to transmitters and receivers (for example, television receivers and mobile phones) in cable broadcasting such as satellite broadcasting, cable TV, distribution on the Internet, and distribution to terminals by cellular communication, or It can be applied to various electronic devices such as devices (for example, hard disk recorders and cameras) that record images on media such as optical disks, magnetic disks, and flash memories, and reproduce images from these storage media.
  • the present technology includes a processor (e.g., video processor) as a system LSI (Large Scale Integration), etc., a module (e.g., video module) using a plurality of processors, etc., a unit (e.g., video unit) using a plurality of modules, etc.
  • a processor e.g., video processor
  • LSI Large Scale Integration
  • module e.g., video module
  • a unit e.g., video unit
  • it can be implemented as a part of the configuration of the device, such as a set (for example, a video set) in which other functions are added to the unit.
  • the present technology can also be applied to a network system configured by a plurality of devices.
  • the present technology may be implemented as cloud computing in which a plurality of devices share and jointly process via a network.
  • this technology is implemented in cloud services that provide image (moving image) services to arbitrary terminals such as computers, AV (Audio Visual) equipment, portable information processing terminals, and IoT (Internet of Things) devices. You may make it
  • a system means a set of multiple components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, 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 both systems. .
  • Systems, devices, processing units, etc. to which this technology is applied can be used in any field, such as transportation, medical care, crime prevention, agriculture, livestock industry, mining, beauty, factories, home appliances, weather, and nature monitoring. . Moreover, its use is arbitrary.
  • this technology can be applied to systems and devices used to provide viewing content. Further, for example, the present technology can also be applied to systems and devices used for traffic, such as traffic condition supervision and automatic driving control. Further, for example, the technology can be applied to systems and devices that serve security purposes. Also, for example, the present technology can be applied to systems and devices used for automatic control of machines and the like. Furthermore, for example, the technology can be applied to systems and devices used in agriculture and animal husbandry. The present technology can also be applied to systems and devices that monitor natural conditions such as volcanoes, forests, oceans, and wildlife. Further, for example, the technology can be applied to systems and devices used for sports.
  • “flag” is information for identifying a plurality of states, not only information used for identifying two states of true (1) or false (0), Information that can identify the state is also included. Therefore, the value that this "flag” can take may be, for example, two values of 1/0, or three or more values. That is, the number of bits constituting this "flag” is arbitrary, and may be 1 bit or multiple bits.
  • the identification information (including the flag) is assumed not only to include the identification information in the bitstream, but also to include the difference information of the identification information with respect to certain reference information in the bitstream.
  • the "flag” and “identification information” include not only that information but also difference information with respect to reference information.
  • various types of information (metadata, etc.) related to the encoded data may be transmitted or recorded in any form as long as they are associated with the encoded data.
  • the term "associating" means, for example, making it possible to use (link) data of one side while processing the other data. That is, the data associated with each other may be collected as one piece of data, or may be individual pieces of data.
  • information associated with coded data (image) may be transmitted on a transmission path different from that of the coded data (image).
  • the information associated with the encoded data (image) may be recorded on a different recording medium (or another recording area of the same recording medium) than the encoded data (image). good.
  • this "association" may be a part of the data instead of the entire data. For example, an image and information corresponding to the image may be associated with each other in arbitrary units such as multiple frames, one frame, or a portion within a frame.
  • a configuration described as one device may be divided and configured as a plurality of devices (or processing units).
  • the configuration described above as a plurality of devices (or processing units) may be collectively configured as one device (or processing unit).
  • part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit) as long as the configuration and operation of the system as a whole are substantially the same. .
  • the above-described program may be executed on any device.
  • the device should have the necessary functions (functional blocks, etc.) and be able to obtain the necessary information.
  • each step of one flowchart may be executed by one device, or may be executed by a plurality of devices.
  • the plurality of processes may be executed by one device, or may be shared by a plurality of devices.
  • a plurality of processes included in one step can also be executed as processes of a plurality of steps.
  • the processing described as multiple steps can also be collectively executed as one step.
  • the program executed by the computer may have the following characteristics.
  • the processing of the steps described in the program may be executed in chronological order according to the order described in this specification.
  • the processing of the step of writing the program may be executed in parallel.
  • the processing of the step of writing the program may be individually executed at necessary timing such as when called. That is, as long as there is no contradiction, the processing of each step may be executed in an order different from the order described above.
  • the processing of steps describing this program may be executed in parallel with the processing of other programs.
  • the processing of steps describing this program may be executed in combination with the processing of another program.
  • an operation range extension flag encoding unit that encodes an operation range extension flag according to the bit depth of an image
  • an operation range extension tool control information encoding unit that encodes operation range extension tool control information according to the operation range extension flag
  • the operation range extension flag is flag information related to extension of the operation range of the image
  • the image processing apparatus wherein the operation range extension tool control information is control information of an operation range extension tool used when the operation range is extended.
  • the operation range extension flag encoding unit if not extending the bit depth, encode by setting the operation range extension flag to false; The image processing device according to (1), wherein when extending the bit depth, the operation range extension flag is coded.
  • the operation range extension flag encoding unit if the bit depth is 10 bits or less, encode by setting the operation range extension flag to false;
  • the operation range extension tool control information encoding unit skips encoding of the operation range extension tool control information when the operation range extension flag is false.
  • Device. (5) The image processing apparatus according to (4), wherein the operation range extension tool control information encoding unit sets the operation range extension tool control information to a value indicating that the operation range extension tool is unusable. .
  • the image processing device according to any one of (1) to (8), wherein the operation range extension tool control information includes a control flag regarding extension of Rice parameters of TSRC (Transform Skip Residual Coding).
  • the operation range extension tool control information includes a control flag regarding RRC (Regular Residual Coding) rice parameter extension.
  • (11) encoding an operation range extension flag according to the bit depth of the image; Encoding operation range extension tool control information according to the operation range extension flag, The operation range extension flag is flag information related to extension of the operation range of the image, The image processing method, wherein the operation range extension tool control information is control information for an operation range extension tool used when the operation range is extended.
  • an operation range extension flag encoding unit that encodes an operation range extension flag
  • an operation range extension tool control information encoding unit that encodes the operation range extension tool control information according to the bit depth of the image
  • the operation range extension flag is flag information related to extension of the operation range of the image
  • the image processing apparatus wherein the operation range extension tool control information is control information of an operation range extension tool used when the operation range is extended.
  • the operation range extension tool control information encoding unit if the operation range extension flag is true and the bit depth is not to be extended, encoding the operation range extension tool control information by setting it to a value indicating that the operation range extension tool is disabled;
  • the image processing device according to (21), wherein if the operation range extension flag is true and the bit depth is extended, the operation range extension tool control information is encoded.
  • the operation range extension tool control information encoding unit setting the operation range extension tool control information to a value indicating that the operation range extension tool cannot be used when the operation range extension flag is true and the bit depth is 10 bits or less; encode, (22), encoding the operating range extension tool control information when the operation range extension flag is true and the bit depth is greater than 10 bits.
  • an operation range extension flag decoding unit that decodes the encoded data of the operation range extension flag
  • an operation range extension tool control information decoding unit that decodes encoded data of operation range extension tool control information according to the operation range extension flag
  • a checking unit for checking if there is a constraint violation in the bitstream of the image
  • the operation range extension flag is flag information related to extension of the operation range of the image
  • the image processing apparatus wherein the operation range extension tool control information is control information of an operation range extension tool used when the operation range is extended.
  • the checking unit checks whether the bitstream has a constraint violation when the operation range extension flag is true.
  • the operation range extension tool control information decoding unit decodes the encoded data of the operation range extension tool control information when there is no constraint violation in the bitstream. image processing device. (46) The image processing device according to any one of (42) to (45), wherein, when the bitstream has a constraint violation, the confirmation unit notifies that the bitstream does not satisfy the constraint.
  • the operation range extension tool control information decoding unit decodes encoded data of the operation range extension tool control information, The image processing device according to any one of (41) to (46), wherein the confirmation unit uses the operation range extension tool control information to confirm whether the bitstream has a constraint violation.
  • the confirmation unit determines that the bit depth of the image has not been expanded in the bitstream, and the operation range expansion tool control information is not a value indicating that the operation range expansion tool cannot be used.
  • the confirmation unit checks whether the bit depth in the bitstream is 10 bits or less, and whether the operation range extension tool control information is a value indicating that the operation range extension tool cannot be used.
  • the image processing device (52), wherein the operation range expansion tool control information decoding unit sets an internal variable related to expansion of internal arithmetic precision of the orthogonal transform to the value of the control flag.
  • the operation range extension tool control information includes a control flag regarding extension of Rice parameters of TSRC (Transform Skip Residual Coding).
  • the operation range extension tool control information includes a control flag relating to RRC (Regular Residual Coding) rice parameter extension.
  • the operation range extension flag is flag information related to extension of the operation range of the image, The image processing method, wherein the operation range extension tool control information is control information for an operation range extension tool used when the operation range is extended.
  • an operation range extension flag encoding unit that encodes an operation range extension flag
  • an operation range extension tool control information encoding unit that encodes operation range extension tool control information according to the operation range extension flag and the bit depth of the image
  • the operation range extension flag is flag information related to extension of the operation range of the image
  • the image processing apparatus wherein the operation range extension tool control information is control information of an operation range extension tool used when the operation range is extended.
  • the operation range extension tool control information encoding unit if the operation range extension flag is false or if the bit depth is not to be extended, skip encoding the operation range extension tool control information;
  • the image processing device according to (61), wherein if the operation range extension flag is true and the bit depth is extended, the operation range extension tool control information is encoded.
  • the operation range extension tool control information encoding unit if the operation range extension flag is false or the bit depth is 10 bits or less, skip encoding the operation range extension tool control information;
  • the image processing apparatus according to (62), encoding the operating range extension tool control information if the operating range extension flag is true and the bit depth is greater than 10 bits.
  • the operation range extension tool control information encoding unit further encodes the operation range extension tool control information into the operation range
  • the image processing device according to (62) or (63), wherein the setting is made to a value indicating that the extended tool is disabled.
  • the operation range extension tool control information encoding unit further encodes the operation range extension tool control information into The image processing device according to (64), wherein a value indicating that the operation range expansion tool is disabled is set.
  • the operation range expansion tool control information includes a control flag regarding expansion of internal arithmetic precision of orthogonal transformation.
  • the operation range extension tool control information encoding unit sets an internal variable related to extension of internal arithmetic precision of the orthogonal transform to the value of the control flag.
  • the image processing apparatus according to any one of (61) to (67), wherein the operation range extension tool control information includes a control flag regarding extension of Rice parameters of TSRC (Transform Skip Residual Coding).
  • the operation range extension tool control information includes a control flag relating to RRC (Regular Residual Coding) rice parameter extension.
  • an operation range extension flag decoding unit that decodes encoded data of the operation range extension flag
  • an operation range extension tool control information decoding unit that decodes encoded data of the operation range extension tool control information according to the operation range extension flag and the bit depth of the image
  • the operation range extension flag is flag information related to extension of the operation range of the image
  • the image processing apparatus wherein the operation range extension tool control information is control information of an operation range extension tool used when the operation range is extended.
  • the operation range extension tool control information decoding unit If the operation range extension flag is false or if the bit depth is not to be extended, decoding of encoded data of the operation range extension tool control information is skipped, and the operation range extension tool control information is transferred to the operation range set to a value indicating that the extension tools are disabled, and (81), decoding the encoded data of the operation range extension tool control information when the operation range extension flag is true and the bit depth is extended.
  • the operation range extension tool control information decoding unit If the operation range extension flag is false or if the bit depth is 10 bits or less, skip decoding the encoded data of the operation range extension tool control information, and transfer the operation range extension tool control information to: set to a value indicating that the operation range extension tool is disabled; (82), decoding the encoded data of the operation range extension tool control information when the operation range extension flag is true and the bit depth is greater than 10 bits.
  • the image processing device according to any one of (81) to (83), wherein the operation range expansion tool control information includes a control flag regarding expansion of internal arithmetic precision of orthogonal transformation.
  • the image processing device (85) The image processing device according to (84), wherein the operation range extension tool control information decoding unit sets an internal variable related to extension of internal arithmetic precision of the orthogonal transform to the value of the control flag.
  • the operation range extension tool control information includes a control flag regarding extension of Rice parameters of TSRC (Transform Skip Residual Coding).
  • the operation range extension tool control information includes a control flag relating to RRC (Regular Residual Coding) rice parameter extension.
  • (88) decoding the encoded data of the operation range extension flag Decoding the encoded data of the operation range extension tool control information according to the operation range extension flag and the bit depth of the image,
  • the operation range extension flag is flag information related to extension of the operation range of the image,
  • the image processing method wherein the operation range extension tool control information is control information for an operation range extension tool used when the operation range is extended.

Landscapes

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

Abstract

本開示は、画像のビット深度を拡張しない仕様との互換性を維持しながら、ビット深度拡張時用の符号化ツールを利用できるようにする画像処理装置および方法に関する。 画像のビット深度に応じて、オペレーションレンジ拡張フラグを符号化し、そのオペレーションレンジ拡張フラグに応じて、オペレーションレンジ拡張ツール制御情報を符号化する。または、オペレーションレンジ拡張フラグを符号化し、画像のビット深度に応じて、オペレーションレンジ拡張ツール制御情報を符号化する。本開示は、例えば、画像処理装置、画像符号化装置、画像復号装置、送信装置、受信装置、送受信装置、情報処理装置、撮像装置、再生装置、電子機器、画像処理方法、または情報処理方法等に適用することができる。

Description

画像処理装置および方法
 本開示は、画像処理装置および方法に関し、特に、画像のビット深度を拡張しない仕様との互換性を維持しながら、ビット深度拡張時用の符号化ツールを利用できるようにした画像処理装置および方法に関する。
 従来、動画像の予測残差を導出し、係数変換し、量子化して符号化する符号化方法が提案された(例えば、非特許文献1および非特許文献2参照)。また、このような画像符号化において、オペレーションレンジ(ダイナミックレンジとも称する)を拡張することにより、処理対象の画像のビット深度の拡張に対応することが提案された(例えば、非特許文献3参照)。また、高ビット深度、高ビットレート向けの機能としての符号化ツール(オペレーションレンジ拡張ツール)が提案された(例えば、非特許文献4乃至非特許文献6参照)。非特許文献3に記載の方法を適用することにより、非特許文献1および非特許文献2に記載のような符号化・復号方法に準拠したエンコーダやデコーダのオペレーションレンジ(ダイナミックレンジ)を拡張し、非特許文献4乃至非特許文献6に記載のオペレーションレンジ拡張ツールを利用することができる。
Benjamin Bross, Jianle Chen, Shan Liu, "Versatile Video Coding (Draft 10)", JVET-T2001-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, version 1 - date 2020-10-27 Jianle Chen, Yan Ye, Seung Hwan Kim, "Algorithm description for Versatile Video Coding and Test Model 11 (VTM 11)", JVET-T2002-v1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, version 1 - date 2020-10-27 Frank Bossen, Benjamin Bross, Tomohiro Ikai, Dmytro Rusanovskyy, Ye-Kui Wang, "VVC operation range extensions (Draft 3)", JVET-V2005-v1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, version 1- date 2021-05-07 Dmytro Rusanovskyy, Marta Karczewicz, Luong Pham Van, Muhammed Coban, "CE-related: On history-enhanced method of Rice parameter derivation for regular residual coding (RRC) at high bit depths", JVET-V0106, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 2021-04-19 Hong-Jheng Jhu, Xiaoyu Xiu, Yi-Wen Chen, Wei Chen, Che-Wei Kuo,  Xianglin Wang, "CE-2.1: Slice based Rice parameter selection for transform skip residual coding", JVET-V0054-r1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 2021-04-29 Tianyang Zhou, Takeshi Chujoh, Tomohiro Ikai, "CE-3.1 and CE-3.2: Transform coefficients range extension for high bit-depth coding", JVET-V0047, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 2021-04-13
 しかしながら、非特許文献4乃至非特許文献6に記載のオペレーションレンジ拡張ツールは、ビット深度が拡張された画像を処理するための符号化ツールであり、オペレーションレンジを拡張しない場合には利用されない。非特許文献3に記載の方法では、非特許文献1および非特許文献2に記載のオペレーションレンジを拡張しない場合の画像符号化方法との互換性がないビットストリームが生成されるおそれがあった。そのため、非特許文献1および非特許文献2に記載の復号方法に準拠したデコーダでは、そのビットストリームを復号することができないおそれがあった。
 本開示は、このような状況に鑑みてなされたものであり、画像のビット深度を拡張しない仕様との互換性を維持しながら、ビット深度拡張時用の符号化ツールを利用できるようにするものである。
 本技術の一側面の画像処理装置は、画像のビット深度に応じて、オペレーションレンジ拡張フラグを符号化するオペレーションレンジ拡張フラグ符号化部と、前記オペレーションレンジ拡張フラグに応じて、オペレーションレンジ拡張ツール制御情報を符号化するオペレーションレンジ拡張ツール制御情報符号化部とを備え、前記オペレーションレンジ拡張フラグは、前記画像のオペレーションレンジの拡張に関するフラグ情報であり、前記オペレーションレンジ拡張ツール制御情報は、前記オペレーションレンジを拡張した場合に用いられるオペレーションレンジ拡張ツールの制御情報である画像処理装置である。
 本技術の一側面の画像処理方法は、画像のビット深度に応じて、オペレーションレンジ拡張フラグを符号化し、前記オペレーションレンジ拡張フラグに応じて、オペレーションレンジ拡張ツール制御情報を符号化し、前記オペレーションレンジ拡張フラグは、前記画像のオペレーションレンジの拡張に関するフラグ情報であり、前記オペレーションレンジ拡張ツール制御情報は、前記オペレーションレンジを拡張した場合に用いられるオペレーションレンジ拡張ツールの制御情報である画像処理方法である。
 本技術の他の側面の画像処理装置は、オペレーションレンジ拡張フラグを符号化するオペレーションレンジ拡張フラグ符号化部と、画像のビット深度に応じて、オペレーションレンジ拡張ツール制御情報を符号化するオペレーションレンジ拡張ツール制御情報符号化部とを備え、前記オペレーションレンジ拡張フラグは、前記画像のオペレーションレンジの拡張に関するフラグ情報であり、前記オペレーションレンジ拡張ツール制御情報は、前記オペレーションレンジを拡張した場合に用いられるオペレーションレンジ拡張ツールの制御情報である画像処理装置である。
 本技術の他の側面の画像処理方法は、オペレーションレンジ拡張フラグを符号化し、画像のビット深度に応じて、オペレーションレンジ拡張ツール制御情報を符号化し、前記オペレーションレンジ拡張フラグは、前記画像のオペレーションレンジの拡張に関するフラグ情報であり、前記オペレーションレンジ拡張ツール制御情報は、前記オペレーションレンジを拡張した場合に用いられるオペレーションレンジ拡張ツールの制御情報である画像処理方法である。
 本技術の一側面の画像処理装置および方法においては、画像のビット深度に応じて、オペレーションレンジ拡張フラグが符号化され、そのオペレーションレンジ拡張フラグに応じて、オペレーションレンジ拡張ツール制御情報が符号化される。
 本技術の他の側面の画像処理装置および方法においては、オペレーションレンジ拡張フラグが符号化され、画像のビット深度に応じて、オペレーションレンジ拡張ツール制御情報が符号化される。
シンタックスの例を示す図である。 セマンティクスの例を示す図である。 シンタックスの例を示す図である。 セマンティクスの例を示す図である。 オペレーションレンジ拡張情報の制御方法について説明する図である。 セマンティクスの例を示す図である。 セマンティクスの例を示す図である。 オペレーションレンジ拡張情報符号化装置の主な構成例を示すブロック図である。 オペレーションレンジ拡張情報符号化処理の流れの例を示すフローチャートである。 オペレーションレンジ拡張情報復号装置の主な構成例を示すブロック図である。 オペレーションレンジ拡張情報復号処理の流れの例を示すフローチャートである。 オペレーションレンジ拡張情報復号装置の主な構成例を示すブロック図である。 オペレーションレンジ拡張情報復号処理の流れの例を示すフローチャートである。 セマンティクスの例を示す図である。 セマンティクスの例を示す図である。 オペレーションレンジ拡張情報符号化装置の主な構成例を示すブロック図である。 オペレーションレンジ拡張情報符号化処理の流れの例を示すフローチャートである。 オペレーションレンジ拡張情報復号処理の流れの例を示すフローチャートである。 シンタックスの例を示す図である。 オペレーションレンジ拡張情報符号化処理の流れの例を示すフローチャートである。 オペレーションレンジ拡張情報復号装置の主な構成例を示すブロック図である。 オペレーションレンジ拡張情報復号処理の流れの例を示すフローチャートである。 画像符号化装置の主な構成例を示すブロック図である。 符号化部の主な構成例を示すブロック図である。 画像符号化処理の流れの例を示すフローチャートである。 画像復号装置の主な構成例を示すブロック図である。 復号部の主な構成例を示すブロック図である。 画像復号処理の流れの例を示すフローチャートである。 コンピュータの主な構成例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、以下の順序で説明する。
 1.技術内容や技術用語をサポートする文献等
 2.高ビット深度、高ビットレート向けの拡張
 3.オペレーションレンジ拡張フラグの制御
 4.オペレーションレンジ拡張ツール制御情報の値の制御
 5.オペレーションレンジ拡張ツール制御情報の伝送制御
 6.実施の形態(画像符号化装置)
 7.実施の形態(画像復号装置)
 8.付記
 <1.技術内容や技術用語をサポートする文献等>
 本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知である以下の非特許文献等に記載されている内容や以下の非特許文献において参照されている他の文献の内容等も含まれる。
 非特許文献1:(上述)
 非特許文献2:(上述)
 非特許文献3:(上述)
 非特許文献4:(上述)
 非特許文献5:(上述)
 非特許文献6:(上述)
 非特許文献7:Recommendation ITU-T H.264 (04/2017) "Advanced video coding for generic audiovisual services", April 2017
 非特許文献8:Recommendation ITU-T H.265 (02/2018) "High efficiency video coding", february 2018
 つまり、上述の非特許文献に記載されている内容もサポート要件を判断する際の根拠となる。例えば、上述の非特許文献に記載されているQuad-Tree Block Structure、QTBT(Quad Tree Plus Binary Tree) Block Structureが実施例において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。また、例えば、パース(Parsing)、シンタックス(Syntax)、セマンティクス(Semantics)等の技術用語についても同様に、実施例において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たす。
 また、本明細書において、画像(ピクチャ)の部分領域や処理単位として説明に用いる「ブロック」(処理部を示すブロックではない)は、特に言及しない限り、ピクチャ内の任意の部分領域を示し、その大きさ、形状、および特性等は限定されない。例えば、「ブロック」には、上述の非特許文献に記載されているTB(Transform Block)、TU(Transform Unit)、PB(Prediction Block)、PU(Prediction Unit)、SCU(Smallest Coding Unit)、CU(Coding Unit)、LCU(Largest Coding Unit)、CTB(Coding Tree Block)、CTU(Coding Tree Unit)、サブブロック、マクロブロック、タイル、またはスライス等、任意の部分領域(処理単位)が含まれる。
 また、このようなブロックのサイズを指定するに当たって、直接的にブロックサイズを指定するだけでなく、間接的にブロックサイズを指定するようにしてもよい。例えばサイズを識別する識別情報を用いてブロックサイズを指定するようにしてもよい。また、例えば、基準とするブロック(例えばLCUやSCU等)のサイズとの比または差分によってブロックサイズを指定するようにしてもよい。例えば、シンタックス要素等としてブロックサイズを指定する情報を伝送する場合に、その情報として、上述のような間接的にサイズを指定する情報を用いるようにしてもよい。このようにすることにより、その情報の情報量を低減させることができ、符号化効率を向上させることができる場合もある。また、このブロックサイズの指定には、ブロックサイズの範囲の指定(例えば、許容されるブロックサイズの範囲の指定等)も含む。
 <2.高ビット深度、高ビットレート向けの拡張>
 従来、例えば、非特許文献1および非特許文献2に記載のように、動画像の予測残差を導出し、係数変換し、量子化して符号化する符号化方法があった。また、非特許文献3に記載のように、このような画像符号化において、オペレーションレンジ(ダイナミックレンジとも称する)を拡張することにより、処理対象の画像のビット深度の拡張に対応する方法があった。また、例えば、非特許文献4乃至非特許文献6に記載のように、高ビット深度、高ビットレート向けの機能としての符号化ツール(オペレーションレンジ拡張ツール)があった。非特許文献3に記載の方法を適用することにより、非特許文献1および非特許文献2に記載のような符号化・復号方法に準拠したエンコーダやデコーダのオペレーションレンジ(ダイナミックレンジ)を拡張し、非特許文献4乃至非特許文献6に記載のオペレーションレンジ拡張ツールを利用することができる。
 なお、本明細書において、オペレーションレンジ(ダイナミックレンジ)を拡張するとは、エンコーダやデコーダが処理可能な(対応可能な)画像のビット深度を拡張することを示す。このビット深度は、何ビットであってもよい。例えば、エンコーダやデコーダが、基本仕様においては10ビット以下のビット深度の画像を処理可能であるとし、オペレーションレンジを拡張することにより、10ビットより大きいビット深度(例えば12ビット等)の画像を処理することができるようになるとしてもよい。その場合、オペレーションレンジ拡張ツールは、エンコーダやデコーダが、ビット深度が10ビットより大きな画像(高ビット深度、高ビットレートの画像)を処理(符号化または復号)する場合に利用可能なツールである。なお、拡張されたオペレーションレンジのことを拡張ダイナミックレンジとも称する。
 非特許文献4乃至非特許文献6に記載のオペレーションレンジ拡張ツールは、ビット深度が拡張された画像を処理するための符号化ツールであり、エンコーダやデコーダのオペレーションレンジを拡張しない場合には利用されない。
 図1は、非特許文献3に記載の、オペレーションレンジ拡張ツールに関するシンタックスの例を示す図である。図2は、図1に示される各シンタックス要素のセマンティクスの例を示す図である。
 sps_extension_flagが真(例えば"1")の場合、シーケンスパラメータセット(SPS(Sequence Parameter Set))等に、オペレーションレンジ拡張フラグ(sps_range_extension_flag)が存在することを示す。また、sps_extension_flagが偽(例えば"0")の場合、シーケンスパラメータセット等にオペレーションレンジ拡張フラグ(sps_range_extension_flag)が存在しないことを示す。
 オペレーションレンジ拡張フラグ(sps_range_extension_flag)は、画像のオペレーションレンジの拡張に関するフラグ情報である。sps_range_extension_flagが真(例えば"1")の場合、シーケンスパラメータセット等にオペレーションレンジ拡張ツール制御情報(sps_range_extension())が存在することを示す。sps_range_extension_flagが偽(例えば"0")の場合、シーケンスパラメータセット等にsps_range_extension()が存在しないことを示す。
 オペレーションレンジ拡張ツール制御情報(sps_range_extension())は、オペレーションレンジを拡張した場合に用いられるオペレーションレンジ拡張ツールの制御情報である。sps_range_extension()のシンタックスの例を図3に示す。図4は、図3に示される各シンタックス要素のセマンティクスの例を示す図である。
 図3に示されるように、オペレーションレンジ拡張ツール制御情報(sps_range_extension())には、例えば、直交変換の内部演算精度の拡張に関する制御フラグ(extended_precision_processing_flag)が含まれてもよい。この制御フラグは、非特許文献6に記載の直交変換の内部演算精度を拡張する符号化ツールを適用するか否かを制御するフラグ情報である。例えば、extended_precision_processing_flagが真(例えば"1")の場合、拡張ダイナミックレンジを変換係数と変換に使用することができることを示す。また、extended_precision_processing_flagが偽(例えば"0")の場合、拡張ダイナミックレンジを変換係数と変換に使用することができないことを示す。
 また、オペレーションレンジ拡張ツール制御情報(sps_range_extension())には、例えば、TSRC(Transform Skip Residual Coding)のライスパラメータの拡張に関する制御フラグ(sps_ts_residual_coding_rice_present_in_sh_flag)が含まれてもよい。この制御フラグは、非特許文献5に記載のTSRCのライスパラメータを拡張する符号化ツールを適用するか否かを制御するフラグ情報である。例えば、sps_ts_residual_coding_rice_present_in_sh_flagが真(例えば"1")の場合、そのシーケンスパラメータセットを参照するスライスヘッダにsh_ts_residual_coding_rice_idx_minus1が存在し得ることを示す。また、sps_ts_residual_coding_rice_present_in_sh_flagが偽(例えば"0")の場合、そのシーケンスパラメータセットを参照するスライスヘッダにsh_ts_residual_coding_rice_idx_minus1が存在しないことを示す。
 また、オペレーションレンジ拡張ツール制御情報(sps_range_extension())には、例えば、RRC(Regular Residual Coding)のライスパラメータの拡張に関する制御フラグ(sps_rrc_rice_extension_flag, sps_persistent_rice_adaptation_enabled_flag)が含まれてもよい。これらの制御フラグは、非特許文献4に記載のRRCのライスパラメータを拡張する符号化ツールを制御するフラグ情報である。例えば、sps_rrc_rice_extension_flagが真(例えば"1")の場合、abs_remaining[]とdec_abs_level[]の2値化のためのライスパラメータの派生の拡張が有効であることを示す。また、sps_rrc_rice_extension_flagが偽(例えば"0")の場合、そのライスパラメータの派生の拡張が無効であることを示す。また、sps_persistent_rice_adaptation_enabled_flagが真(例えば"1")の場合、abs_remainder[]とdec_abs_level[]の2値化のためのライスパラメータの導出が、以前のTUから蓄積された統計を使用して各TUの開始時に初期化されることを示す。また、sps_persistent_rice_adaptation_enabled_flagが偽(例えば"0")の場合、そのライスパラメータの導出で以前のTU状態が使用されていないことを示す。
 以上のように、オペレーションレンジ拡張フラグ(sps_range_extension_flag)が真(例えば"1")の場合、オペレーションレンジ拡張ツール制御情報(sps_range_extension())が符号化され、伝送される。
 しかしながら、このような方法では、非特許文献1および非特許文献2に記載のオペレーションレンジを拡張しない場合の画像符号化方法との互換性がないビットストリームが生成されるおそれがあった。例えば、処理対象の画像のビット深度が10ビット以下の場合(つまり、オペレーションレンジを拡張しない場合)であっても、(オペレーションレンジ拡張フラグが真であれば、)オペレーションレンジ拡張ツールを使用可とする値のオペレーションレンジ拡張ツール制御情報が符号化されて伝送されるおそれがあった。そのようなビットストリームは、非特許文献1および非特許文献2に記載の画像符号化方法との互換性がなく、オペレーションレンジの拡張に対応していないデコーダでは正しく復号することができないおそれがあった。
 そこで、図5の表の最上段に示されるように、ビット深度に基づいてオペレーションレンジ拡張に関するオペレーションレンジ拡張情報について制御する。本明細書において、オペレーションレンジ拡張情報は、例えば、オペレーションレンジ拡張フラグとオペレーションレンジ拡張ツール制御情報を含み得るものとする。
 <3.オペレーションレンジ拡張フラグの制御>
  <方法1>
 例えば、図5の表の上から2段目に示されるように、ビット深度に基づいてオペレーションレンジ拡張フラグの値を制御してもよい(方法1)。図6は、その場合のセマンティクスの例を示す図である。図6の四角枠11内に示されるように、画像のビット深度(BitDepth)が10ビット以下である場合、sps_range_extension_flagの値が偽(例えば"0")に等しくなることがビットストリームの制約として設けられている。
 このような制約を遵守することにより、オペレーションレンジが拡張されない場合のビットストリームにおいて、オペレーションレンジ拡張ツール制御情報(の符号化データ)が格納されない。したがって、このビットストリームは、非特許文献1および非特許文献2に記載の画像符号化方法との互換性を維持することができる。したがって、オペレーションレンジの拡張に対応していないデコーダであっても、このビットストリームを正しく復号することができる。つまり、画像のビット深度を拡張しない仕様との互換性を維持しながら、ビット深度拡張時用の符号化ツールを利用することができる。
 図7は、その場合のセマンティクスの例を示す図である。図7の四角枠12内に示されるように、直交変換の内部演算精度の拡張に関する内部変数(ExtendedPrecisionFlag)を、直交変換の内部演算精度の拡張に関する制御フラグ(extended_precision_processing_flag)の値に設定してもよい。つまり、内部変数(ExtendedPrecisionFlag)の値を、制御フラグ(extended_precision_processing_flag)の値と等しくしてもよい。つまり、この場合、内部変数(ExtendedPrecisionFlag)の値の設定について、画像のビット深度(BitDepth)に基づく制御は不要である。
  <オペレーションレンジ拡張情報符号化装置>
 図8は、本技術を適用した画像処理装置の一態様であるオペレーションレンジ拡張情報符号化装置の構成の一例を示すブロック図である。図8に示されるオペレーションレンジ拡張情報符号化装置100は、オペレーションレンジ拡張情報の符号化に関する処理を行う装置である。例えば、オペレーションレンジ拡張情報符号化装置100は、オペレーションレンジ拡張フラグやオペレーションレンジ拡張ツール制御情報等のオペレーションレンジ拡張情報を取得する。また、オペレーションレンジ拡張情報符号化装置100は、画像のビット深度を示すパラメータBitDepthを取得する。オペレーションレンジ拡張情報符号化装置100は、それらの情報を用いて、オペレーションレンジ拡張情報の符号化に関する処理を行う。
 オペレーションレンジ拡張情報符号化装置100は、その処理結果として、オペレーションレンジ拡張情報の符号化データ等を、適宜出力する。この符号化データは、例えば、画像を符号化するエンコーダへ供給される。エンコーダは、このオペレーションレンジ拡張情報に基づいて画像を符号化し、その画像の符号化データを含むビットストリームを生成する。オペレーションレンジ拡張情報の符号化データは、例えばそのビットストリームに格納される等して、復号側へ供給される。
 なお、図8においては、処理部やデータの流れ等の主なものを示しており、図8に示されるものが全てとは限らない。つまり、オペレーションレンジ拡張情報符号化装置100が、図8においてブロックとして示されていない処理部を有してもよい。また、オペレーションレンジ拡張情報符号化装置100が、図8において矢印等として示されていない処理やデータの流れを有してもよい。
 図8に示されるように、オペレーションレンジ拡張情報符号化装置100は、オペレーションレンジ拡張フラグ符号化部111およびオペレーションレンジ拡張ツール制御情報符号化部112を有する。
 オペレーションレンジ拡張フラグ符号化部111は、オペレーションレンジ拡張フラグ(sps_range_extension_flag)の符号化に関する処理を行う。例えば、オペレーションレンジ拡張フラグ符号化部111は、オペレーションレンジ拡張フラグ(sps_range_extension_flag)を取得してもよい。また、オペレーションレンジ拡張フラグ符号化部111は、画像(符号化対象)のビット深度を示すパラメータ(BitDepth)を取得してもよい。
 オペレーションレンジ拡張フラグ符号化部111は、画像のビット深度(BitDepth)に応じて、オペレーションレンジ拡張フラグ(sps_range_extension_flag)を符号化する。例えば、オペレーションレンジ拡張フラグ符号化部111は、画像のビット深度を拡張しない場合、オペレーションレンジ拡張フラグを偽に設定して符号化し、画像のビット深度を拡張する場合、オペレーションレンジ拡張フラグを符号化してもよい。例えば、オペレーションレンジ拡張フラグ符号化部111は、画像のビット深度が10ビット以下である場合、オペレーションレンジ拡張フラグを偽に設定して符号化し、画像のビット深度が10ビットより大きい場合、オペレーションレンジ拡張フラグを符号化してもよい。
 オペレーションレンジ拡張フラグ符号化部111は、処理結果として、オペレーションレンジ拡張フラグの符号化データを、オペレーションレンジ拡張情報符号化装置100の外部に出力してもよい。また、オペレーションレンジ拡張フラグ符号化部111は、そのオペレーションレンジ拡張フラグ(sps_range_extension_flag)をオペレーションレンジ拡張ツール制御情報符号化部112に供給してもよい。
 オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張ツール制御情報(sps_range_extension())の符号化に関する処理を行う。例えば、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張ツール制御情報(sps_range_extension())を取得してもよい。また、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張フラグ符号化部111から供給されるオペレーションレンジ拡張フラグ(sps_range_extension_flag)を取得してもよい。
 オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張フラグに応じて、オペレーションレンジ拡張ツール制御情報を符号化する。例えば、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張フラグが偽の場合、オペレーションレンジ拡張ツール制御情報の符号化をスキップ(省略)してもよい。また、オペレーションレンジ拡張ツール制御情報符号化部112は、その符号化をスキップしたオペレーションレンジ拡張ツール制御情報を、オペレーションレンジ拡張ツールが使用不可であることを示す値に設定してもよい。また、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張フラグが真の場合、オペレーションレンジ拡張ツール制御情報を符号化してもよい。
 なお、このオペレーションレンジ拡張ツール制御情報(sps_range_extension())には、直交変換の内部演算精度の拡張に関する制御フラグ(extended_precision_processing_flag)が含まれていてもよい。その場合、オペレーションレンジ拡張ツール制御情報符号化部112が、エンコーダにおける直交変換の内部演算精度の拡張に関する内部変数(ExtendedPrecisionFlag)を、直交変換の内部演算精度の拡張に関する制御フラグ(extended_precision_processing_flag)の値に設定してもよい。つまり、図7を参照して説明したように、この内部変数(ExtendedPrecisionFlag)の値を、制御フラグ(extended_precision_processing_flag)の値と等しくしてもよい。
 また、このオペレーションレンジ拡張ツール制御情報(sps_range_extension())には、TSRCのライスパラメータの拡張に関する制御フラグ(sps_ts_residual_coding_rice_present_in_sh_flag)が含まれていてもよい。また、このオペレーションレンジ拡張ツール制御情報(sps_range_extension())には、RRC(Regular Residual Coding)のライスパラメータの拡張に関する制御フラグ(sps_rrc_rice_extension_flag, sps_persistent_rice_adaptation_enabled_flag)が含まれていてもよい。
 オペレーションレンジ拡張ツール制御情報符号化部112は、処理結果として、オペレーションレンジ拡張ツール制御情報の符号化データを、オペレーションレンジ拡張情報符号化装置100の外部に出力してもよい。
 このような構成を有することにより、オペレーションレンジ拡張情報符号化装置100は、図6に示される制約を遵守して、オペレーションレンジ拡張情報を符号化することができる。つまり、オペレーションレンジ拡張情報符号化装置100は、生成したオペレーションレンジ拡張情報の符号化データをエンコーダに供給することにより、図6に示される制約に違反しないビットストリームを生成させることができる。換言するに、オペレーションレンジ拡張情報符号化装置100は、非特許文献1および非特許文献2に記載の画像符号化方法との互換性を維持するビットストリームを生成させることができる。つまり、オペレーションレンジ拡張情報符号化装置100がこのようにオペレーションレンジ拡張情報を符号化することにより、エンコーダやデコーダは、画像のビット深度を拡張しない仕様との互換性を維持しながら、ビット深度拡張時用の符号化ツールを利用することができる。
  <オペレーションレンジ拡張情報符号化処理の流れ>
 オペレーションレンジ拡張情報符号化装置100により実行されるオペレーションレンジ拡張情報符号化処理の流れの例を、図9のフローチャートを参照して説明する。
 このオペレーションレンジ拡張情報符号化処理において、オペレーションレンジ拡張情報符号化装置100は、画像のビット深度に応じて、オペレーションレンジ拡張フラグを符号化し、そのオペレーションレンジ拡張フラグに応じて、オペレーションレンジ拡張ツール制御情報を符号化する。
 例えば、オペレーションレンジ拡張フラグ符号化部111は、画像のビット深度を拡張しない場合、オペレーションレンジ拡張フラグを偽に設定して符号化し、画像のビット深度を拡張する場合、オペレーションレンジ拡張フラグを符号化してもよい。例えば、オペレーションレンジ拡張フラグ符号化部111は、画像のビット深度が10ビット以下である場合、オペレーションレンジ拡張フラグを偽に設定して符号化し、画像のビット深度が10ビットより大きい場合、オペレーションレンジ拡張フラグを符号化してもよい。
 オペレーションレンジ拡張情報符号化処理が開始されると、オペレーションレンジ拡張フラグ符号化部111は、図9のステップS101において、画像のビット深度(BitDepth)が10ビットより大きいか否かを判定する。
 画像のビット深度(BitDepth)が10ビットより大きいと判定された場合、処理はステップS102へ進む。その場合、ステップS102において、オペレーションレンジ拡張フラグ符号化部111は、オペレーションレンジ拡張フラグ(sps_range_extension_flag)を符号化する。ステップS102の処理が終了すると、処理はステップS104へ進む。
 また、ステップS101において、画像のビット深度(BitDepth)が10ビット以下であると判定された場合、処理はステップS103へ進む。その場合、ステップS103において、オペレーションレンジ拡張フラグ符号化部111は、オペレーションレンジ拡張フラグ(sps_range_extension_flag)を偽(例えば、"0")に設定し、符号化する(sps_range_extension_flag = 0)。ステップS103の処理が終了すると、処理はステップS104へ進む。
 例えば、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張フラグが偽の場合、オペレーションレンジ拡張ツール制御情報の符号化をスキップしてもよい。その場合、オペレーションレンジ拡張ツール制御情報符号化部112は、その符号化がスキップされたオペレーションレンジ拡張ツール制御情報を、オペレーションレンジ拡張ツールが使用不可であることを示す値に設定してもよい。また、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張フラグが真の場合、オペレーションレンジ拡張ツール制御情報を符号化してもよい。
 ステップS104において、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張フラグが真(例えば"1")であるか否かを判定する。オペレーションレンジ拡張フラグが真であると判定された場合、処理はステップS105へ進む。ステップS105において、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張ツール制御情報を符号化する。ステップS105の処理が終了すると、オペレーションレンジ拡張情報符号化処理が終了する。
 また、ステップS104において、オペレーションレンジ拡張フラグが偽であると判定された場合、処理はステップS106へ進む。ステップS106において、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張ツール制御情報の符号化をスキップする。また、オペレーションレンジ拡張ツール制御情報符号化部112は、そのオペレーションレンジ拡張ツール制御情報(の各制御フラグ)を、オペレーションレンジ拡張ツールが使用不可であることを示す値に設定する。ステップS106の処理が終了すると、オペレーションレンジ拡張情報符号化処理が終了する。
 以上のように各処理を実行することにより、オペレーションレンジ拡張情報符号化装置100は、図6に示される制約を遵守して、オペレーションレンジ拡張情報を符号化することができる。つまり、オペレーションレンジ拡張情報符号化装置100は、生成したオペレーションレンジ拡張情報の符号化データをエンコーダに供給することにより、図6に示される制約に違反しないビットストリームを生成させることができる。したがって、エンコーダやデコーダは、画像のビット深度を拡張しない仕様との互換性を維持しながら、ビット深度拡張時用の符号化ツールを利用することができる。
  <オペレーションレンジ拡張情報復号装置>
 図10は、本技術を適用した画像処理装置の一態様であるオペレーションレンジ拡張情報復号装置の構成の一例を示すブロック図である。図10に示されるオペレーションレンジ拡張情報復号装置200は、オペレーションレンジ拡張情報の符号化データの復号に関する処理を行う装置である。例えば、オペレーションレンジ拡張情報復号装置200は、オペレーションレンジ拡張情報符号化装置100により生成されたオペレーションレンジ拡張情報(オペレーションレンジ拡張フラグやオペレーションレンジ拡張ツール制御情報等)の符号化データを取得する。
 このオペレーションレンジ拡張情報は、非特許文献1および非特許文献2に記載の画像符号化方法との互換性を維持している。つまり、このオペレーションレンジ拡張情報を用いて符号化された画像のビットストリームは、オペレーションレンジの拡張に対応していないデコーダでも正しく復号することができる。
 オペレーションレンジ拡張情報復号装置200は、そのオペレーションレンジ拡張情報の符号化データの復号に関する処理を行う。オペレーションレンジ拡張情報復号装置200は、その処理結果として、オペレーションレンジ拡張情報を、適宜出力する。このオペレーションレンジ拡張情報は、例えば、画像の符号化データを復号するデコーダへ供給される。デコーダは、このオペレーションレンジ拡張情報に基づいてその符号化データを復号し、画像を生成(復元)する。
 なお、図10においては、処理部やデータの流れ等の主なものを示しており、図10に示されるものが全てとは限らない。つまり、オペレーションレンジ拡張情報復号装置200が、図10においてブロックとして示されていない処理部を有してもよい。また、オペレーションレンジ拡張情報復号装置200が、図10において矢印等として示されていない処理やデータの流れを有してもよい。
 図10に示されるように、オペレーションレンジ拡張情報復号装置200は、オペレーションレンジ拡張フラグ復号部211およびオペレーションレンジ拡張ツール制御情報復号部212を有する。
 オペレーションレンジ拡張フラグ復号部211は、オペレーションレンジ拡張フラグ(sps_range_extension_flag)の符号化データの復号に関する処理を行う。例えば、オペレーションレンジ拡張フラグ復号部211は、オペレーションレンジ拡張フラグの符号化データを取得してもよい。また、オペレーションレンジ拡張フラグ復号部211は、その符号化データを復号し、オペレーションレンジ拡張フラグを生成(復元)してもよい。また、オペレーションレンジ拡張フラグ復号部211は、その処理結果として、オペレーションレンジ拡張フラグを、オペレーションレンジ拡張情報復号装置200の外部へ出力してもよい。また、オペレーションレンジ拡張フラグ復号部211は、そのオペレーションレンジ拡張フラグをオペレーションレンジ拡張ツール制御情報復号部212へ供給してもよい。
 オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張ツール制御情報(sps_range_extension())の符号化データの復号に関する処理を行う。例えば、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張ツール制御情報の符号化データを取得してもよい。また、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張フラグ復号部211から供給されるオペレーションレンジ拡張フラグを取得してもよい。オペレーションレンジ拡張ツール制御情報復号部212は、そのオペレーションレンジ拡張フラグに応じて、オペレーションレンジ拡張ツール制御情報の符号化データを復号してもよい。また、オペレーションレンジ拡張ツール制御情報復号部212は、その処理結果として、オペレーションレンジ拡張ツール制御情報を、オペレーションレンジ拡張情報復号装置200の外部に出力してもよい。
 なお、このオペレーションレンジ拡張ツール制御情報には、直交変換の内部演算精度の拡張に関する制御フラグ(extended_precision_processing_flag)が含まれていてもよい。その場合、デコーダにおける直交変換の内部演算精度の拡張に関する内部変数(ExtendedPrecisionFlag)が、直交変換の内部演算精度の拡張に関する制御フラグ(extended_precision_processing_flag)の値に設定されてもよい。また、このオペレーションレンジ拡張ツール制御情報には、TSRCのライスパラメータの拡張に関する制御フラグ(sps_ts_residual_coding_rice_present_in_sh_flag)が含まれていてもよい。また、このオペレーションレンジ拡張ツール制御情報には、RRCのライスパラメータの拡張に関する制御フラグ(sps_rrc_rice_extension_flag, sps_persistent_rice_adaptation_enabled_flag)が含まれていてもよい。
 このような構成を有することにより、オペレーションレンジ拡張情報復号装置200は、オペレーションレンジ拡張情報符号化装置100が生成したオペレーションレンジ拡張情報の符号化データを正しく復号することができる。つまり、デコーダは、画像のビット深度を拡張しない仕様との互換性を維持しながら、ビット深度拡張時用の符号化ツールを利用することができる。
  <オペレーションレンジ拡張情報復号処理の流れ>
 オペレーションレンジ拡張情報復号装置200により実行されるオペレーションレンジ拡張情報復号処理の流れの例を、図11のフローチャートを参照して説明する。
 オペレーションレンジ拡張情報復号処理が開始されると、オペレーションレンジ拡張フラグ復号部211は、図11のステップS131において、オペレーションレンジ拡張フラグ(sps_range_extension_flag)の符号化データを復号し、オペレーションレンジ拡張フラグを生成(復元)する。
 ステップS132において、オペレーションレンジ拡張ツール制御情報復号部212は、そのオペレーションレンジ拡張フラグが真(例えば"1")であるか否かを判定する。
 オペレーションレンジ拡張フラグが真であると判定された場合、処理はステップS133に進む。ステップS133において、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張ツール制御情報(sps_range_extension())の符号化データを復号する。ステップS133の処理が終了すると、オペレーションレンジ拡張情報復号処理が終了する。
 また、ステップS132において、オペレーションレンジ拡張フラグが偽(例えば"0")であると判定された場合、処理はステップS134に進む。図9のフローチャートを参照して説明したように、オペレーションレンジ拡張フラグが偽である場合、オペレーションレンジ拡張ツール制御情報は、伝送されない(符号化されない)。そこで、ステップS134において、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張ツール制御情報の復号をスキップ(省略)する。そして、オペレーションレンジ拡張ツール制御情報復号部212は、そのオペレーションレンジ拡張ツール制御情報(の各制御フラグ)を、オペレーションレンジ拡張ツールが使用不可であることを示す値に設定する。ステップS134の処理が終了すると、オペレーションレンジ拡張情報復号処理が終了する。
 以上のように各処理を実行することにより、オペレーションレンジ拡張情報復号装置200は、オペレーションレンジ拡張情報符号化装置100が生成したオペレーションレンジ拡張情報の符号化データを正しく復号することができる。つまり、デコーダは、画像のビット深度を拡張しない仕様との互換性を維持しながら、ビット深度拡張時用の符号化ツールを利用することができる。
  <方法1-1>
 なお、デコーダから見た場合、上述したような制約に違反するビットストリームが入力される場合も考えられる。そこで、図5の表の上から3段目に示されるように、復号の際、ビットストリームに制約違反が無いかを確認してもよい(方法1-1)。そして、デコーダが、ビットストリームに制約違反が無い場合のみそのビットストリームを復号し、制約に違反している場合は、復号を終了または中断する(さらに通知等を行う)ようにしてもよい。このようにすることにより、デコーダは、不正なビットストリームの復号を抑制し、より安全にビットストリームを復号する(故障等の発生を抑制する)ことができる。
  <オペレーションレンジ拡張情報復号装置の他の例>
 図12は、その場合のオペレーションレンジ拡張情報復号装置200の主な構成例を示すブロック図である。この場合も、オペレーションレンジ拡張情報復号装置200は、オペレーションレンジ拡張情報符号化装置100により生成されたオペレーションレンジ拡張情報の符号化データを取得し、復号する。オペレーションレンジ拡張情報復号装置200は、その処理結果として、オペレーションレンジ拡張情報を、適宜出力する。このオペレーションレンジ拡張情報は、例えば、画像の符号化データを復号するデコーダへ供給される。デコーダは、このオペレーションレンジ拡張情報に基づいてその符号化データを復号し、画像を生成(復元)する。
 図12に示されるように、この場合のオペレーションレンジ拡張情報復号装置200は、図10を参照して説明した構成(オペレーションレンジ拡張フラグ復号部211およびオペレーションレンジ拡張ツール制御情報復号部212)に加え、制約違反処理部213を有する。
 この場合のオペレーションレンジ拡張フラグ復号部211およびオペレーションレンジ拡張ツール制御情報復号部212は、それぞれ、図10の場合と同様の処理を実行する。例えば、オペレーションレンジ拡張フラグ復号部211は、オペレーションレンジ拡張フラグ(sps_range_extension_flag)の符号化データを復号する。また、オペレーションレンジ拡張ツール制御情報復号部212は、そのオペレーションレンジ拡張フラグに応じて、オペレーションレンジ拡張ツール制御情報(sps_range_extension())の符号化データを復号する。例えば、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張フラグが偽の場合、オペレーションレンジ拡張ツール制御情報の符号化データの復号をスキップし、そのオペレーションレンジ拡張ツール制御情報を、オペレーションレンジ拡張ツールが使用不可であることを示す値に設定してもよい。
 ただし、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張フラグが真(例えば"1")である場合、制約違反処理部213を制御し、ビットストリームに制約違反があるか否かを判定させてもよい。また、オペレーションレンジ拡張ツール制御情報復号部212は、その判定結果を取得してもよい。さらに、オペレーションレンジ拡張ツール制御情報復号部212は、その判定結果に基づいて、オペレーションレンジ拡張ツール制御情報の符号化データを復号してもよい。
 例えば、オペレーションレンジ拡張ツール制御情報復号部212は、ビットストリームに制約違反がないと判定された場合、オペレーションレンジ拡張ツール制御情報の符号化データを復号してもよい。また、オペレーションレンジ拡張ツール制御情報復号部212は、ビットストリームに制約違反があると判定された場合、その復号をスキップ(省略)してもよい。また、その場合、オペレーションレンジ拡張ツール制御情報復号部212は、デコーダによるビットストリームの復号を終了または中断させてもよい。
 制約違反処理部213は、ビットストリームの制約に関する処理を行う。例えば、制約違反処理部213は、画像のビット深度を示すパラメータ(BitDepth)を取得する。また、制約違反処理部213は、オペレーションレンジ拡張ツール制御情報復号部212による制御に従って、ビットストリームに制約違反があるかを確認してもよい。つまり、制約違反処理部213は、確認部とも言える。
 例えば、制約違反処理部213は、オペレーションレンジ拡張フラグが真の場合、ビットストリームに制約違反があるかを確認する。そのビットストリームに制約違反があるかの確認として、制約違反処理部213は、ビットストリームにおいて画像のビット深度が拡張されているかを確認してもよい。例えば、制約違反処理部213は、ビットストリームにおいて画像のビット深度が10ビットより大きいかを確認してもよい。
 制約違反処理部213は、以上のようにして得られた確認結果(ビットストリームに制約違反があるか否かの判定結果)を、オペレーションレンジ拡張ツール制御情報復号部212へ供給してもよい。また、ビットストリームに制約違反があると判定した場合、制約違反処理部213は、ビットストリームが制約を満たさないことを通知してもよい。例えば、制約違反処理部213は、その旨を、ユーザやアプリケーション等に通知してもよい。
 なお、この場合も、オペレーションレンジ拡張ツール制御情報(sps_range_extension())には、直交変換の内部演算精度の拡張に関する制御フラグ(extended_precision_processing_flag)が含まれていてもよい。その場合、オペレーションレンジ拡張ツール制御情報復号部212が、その直交変換の内部演算精度の拡張に関する内部変数(ExtendedPrecisionFlag)を、直交変換の内部演算精度の拡張に関する制御フラグ(extended_precision_processing_flag)の値に設定してもよい。つまり、図7を参照して説明したように、この内部変数(ExtendedPrecisionFlag)の値が、制御フラグ(extended_precision_processing_flag)の値と等しくなされてもよい。
 また、このオペレーションレンジ拡張ツール制御情報(sps_range_extension())には、TSRCのライスパラメータの拡張に関する制御フラグ(sps_ts_residual_coding_rice_present_in_sh_flag)が含まれていてもよい。また、このオペレーションレンジ拡張ツール制御情報(sps_range_extension())には、RRC(Regular Residual Coding)のライスパラメータの拡張に関する制御フラグ(sps_rrc_rice_extension_flag, sps_persistent_rice_adaptation_enabled_flag)が含まれていてもよい。
 このような構成を有することにより、オペレーションレンジ拡張情報復号装置200は、不正なビットストリームの復号を抑制することができる。これにより、デコーダは、より安全にビットストリームを復号する(故障等の発生を抑制する)ことができる。
  <オペレーションレンジ拡張情報復号処理の流れの他の例>
 図12に示されるオペレーションレンジ拡張情報復号装置200により実行されるオペレーションレンジ拡張情報復号処理の流れの例を、図13のフローチャートを参照して説明する。
 このオペレーションレンジ拡張情報復号処理において、オペレーションレンジ拡張情報復号装置200は、オペレーションレンジ拡張フラグの符号化データを復号し、そのオペレーションレンジ拡張フラグに応じて、オペレーションレンジ拡張ツール制御情報の符号化データを復号する。
 オペレーションレンジ拡張情報復号処理が開始されると、オペレーションレンジ拡張フラグ復号部211は、図13のステップS161において、オペレーションレンジ拡張フラグの符号化データ(sps_range_extension_flag)を復号する。
 ステップS162において、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張フラグが真(例えば"1")であるか否かを判定する。オペレーションレンジ拡張フラグが真であると判定された場合、処理は、ステップS163へ進む。
 制約違反処理部213は、オペレーションレンジ拡張フラグが真の場合、ビットストリームに制約違反があるか否かを確認してもよい。例えば、制約違反処理部213は、ビットストリームにおいて画像のビット深度が拡張されているか否かを確認してもよい。例えば、制約違反処理部213は、ビットストリームにおいて画像のビット深度が10ビットより大きいか否かを確認してもよい。例えば、ステップS163において、制約違反処理部213は、画像のビット深度が10ビットより大きいか否かを判定する。画像のビット深度が10ビットより大きいと判定された場合、処理はステップS164へ進む。
 オペレーションレンジ拡張フラグが真であり、かつ、画像のビット深度が10ビットより大きいことは、図6を参照して説明した制約に違反していない。このようにビットストリームに制約違反が無い場合、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張ツール制御情報の符号化データを復号してもよい。例えば、ステップS164において、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張ツール制御情報の符号化データを復号し、オペレーションレンジ拡張ツール制御情報を生成(復元)する。ステップS164の処理が終了するとオペレーションレンジ拡張情報復号処理が終了する。
 また、ステップS163において、画像のビット深度が10ビット以下であると判定された場合、処理はステップS165へ進む。オペレーションレンジ拡張フラグが真であり、かつ、画像のビット深度が10ビット以下であることは、図6を参照して説明した制約に違反している。このようにビットストリームに制約違反が有る場合、制約違反処理部213は、ビットストリームが制約を満たさないことを通知してもよい。例えば、ステップS165において、制約違反処理部213は、ビットストリームが制約を満たさないことをユーザ(またはアプリケーション等)へ通知する。ステップS165の処理が終了するとオペレーションレンジ拡張情報復号処理が終了する。
 また、ステップS162において、オペレーションレンジ拡張フラグが偽であると判定された場合、処理はステップS166へ進む。この場合、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張ツール制御情報の符号化データの復号をスキップし、そのオペレーションレンジ拡張ツール制御情報を、オペレーションレンジ拡張ツールが使用不可であることを示す値に設定してもよい。例えば、ステップS166において、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張ツール制御情報の符号化データの復号を省略し、オペレーションレンジ拡張ツール制御情報の各制御フラグを、ツール使用不可を示す値に設定する。ステップS166の処理が終了するとオペレーションレンジ拡張情報復号処理が終了する。
 このように各処理を実行することにより、オペレーションレンジ拡張情報復号装置200は、不正なビットストリームの復号を抑制することができる。これにより、デコーダは、より安全にビットストリームを復号する(故障等の発生を抑制する)ことができる。
 <4.オペレーションレンジ拡張ツール制御情報の値の制御>
  <方法2>
 例えば、図5の表の上から4段目に示されるように、ビット深度に基づいてオペレーションレンジ拡張ツール制御情報の値を制御してもよい(方法2)。図14および図15は、その場合のセマンティクスの例を示す図である。図14の四角枠251内に示されるように、画像のビット深度(BitDepth)が10ビット以下である場合、extended_precision_processing_flagの値が偽(例えば"0")に等しくなることがビットストリームの制約として設けられている。また、図14の四角枠253内に示されるように、画像のビット深度(BitDepth)が10ビット以下である場合、sps_ts_residual_coding_rice_present_in_sh_flagの値が偽(例えば"0")に等しくなることがビットストリームの制約として設けられている。また、図15の四角枠254内に示されるように、画像のビット深度(BitDepth)が10ビット以下である場合、sps_rrc_rice_extension_flagの値が偽(例えば"0")に等しくなることがビットストリームの制約として設けられている。また、図15の四角枠255内に示されるように、画像のビット深度(BitDepth)が10ビット以下である場合、sps_persistent_rice_adaptation_enabled_flagの値が偽(例えば"0")に等しくなることがビットストリームの制約として設けられている。
 このような制約を遵守することにより、オペレーションレンジが拡張されない場合のビットストリームにおいて、オペレーションレンジ拡張ツール制御情報(の符号化データ)が格納されない。したがって、このビットストリームは、非特許文献1および非特許文献2に記載の画像符号化方法との互換性を維持することができる。したがって、オペレーションレンジの拡張に対応していないデコーダであっても、このビットストリームを正しく復号することができる。つまり、画像のビット深度を拡張しない仕様との互換性を維持しながら、ビット深度拡張時用の符号化ツールを利用することができる。
 また、図14の四角枠252内に示されるように、直交変換の内部演算精度の拡張に関する内部変数(ExtendedPrecisionFlag)を、直交変換の内部演算精度の拡張に関する制御フラグ(extended_precision_processing_flag)の値に設定してもよい。つまり、内部変数(ExtendedPrecisionFlag)の値を、制御フラグ(extended_precision_processing_flag)の値と等しくしてもよい。つまり、この場合、内部変数(ExtendedPrecisionFlag)の値の設定について、画像のビット深度(BitDepth)に基づく制御は不要である。
  <オペレーションレンジ拡張情報符号化装置>
 図16は、この場合のオペレーションレンジ拡張情報符号化装置100の主な構成例を示すブロック図である。この場合もオペレーションレンジ拡張情報符号化装置100は、オペレーションレンジ拡張情報の符号化に関する処理を行う装置である。例えば、オペレーションレンジ拡張情報符号化装置100は、オペレーションレンジ拡張フラグやオペレーションレンジ拡張ツール制御情報等のオペレーションレンジ拡張情報を取得する。また、オペレーションレンジ拡張情報符号化装置100は、画像のビット深度を示すパラメータBitDepthを取得する。オペレーションレンジ拡張情報符号化装置100は、それらの情報を用いて、オペレーションレンジ拡張情報の符号化に関する処理を行う。
 オペレーションレンジ拡張情報符号化装置100は、その処理結果として、オペレーションレンジ拡張情報の符号化データ等を、適宜出力する。この符号化データは、例えば、画像を符号化するエンコーダへ供給される。エンコーダは、このオペレーションレンジ拡張情報に基づいて画像を符号化し、その画像の符号化データを含むビットストリームを生成する。オペレーションレンジ拡張情報の符号化データは、例えばそのビットストリームに格納される等して、復号側へ供給される。
 なお、図16においては、処理部やデータの流れ等の主なものを示しており、図16に示されるものが全てとは限らない。つまり、オペレーションレンジ拡張情報符号化装置100が、図16においてブロックとして示されていない処理部を有してもよい。また、オペレーションレンジ拡張情報符号化装置100が、図16において矢印等として示されていない処理やデータの流れを有してもよい。
 図16に示されるように、この場合のオペレーションレンジ拡張情報符号化装置100は、図8に示される構成(オペレーションレンジ拡張フラグ符号化部111およびオペレーションレンジ拡張ツール制御情報符号化部112)と同様の構成を有する。ただし、画像のビット深度を示すパラメータ(BitDepth)は、オペレーションレンジ拡張ツール制御情報符号化部112へ供給される。
 この場合もオペレーションレンジ拡張フラグ符号化部111は、オペレーションレンジ拡張フラグ(sps_range_extension_flag)の符号化に関する処理を行う。例えば、オペレーションレンジ拡張フラグ符号化部111は、オペレーションレンジ拡張フラグを取得してもよい。ただし、オペレーションレンジ拡張フラグ符号化部111は、画像のビット深度に依らず、オペレーションレンジ拡張フラグを符号化する。また、オペレーションレンジ拡張フラグ符号化部111は、処理結果として、オペレーションレンジ拡張フラグの符号化データを、オペレーションレンジ拡張情報符号化装置100の外部に出力してもよい。また、オペレーションレンジ拡張フラグ符号化部111は、そのオペレーションレンジ拡張フラグをオペレーションレンジ拡張ツール制御情報符号化部112に供給してもよい。
 この場合もオペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張ツール制御情報(sps_range_extension())の符号化に関する処理を行う。例えば、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張ツール制御情報を取得してもよい。また、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張フラグ符号化部111から供給されるオペレーションレンジ拡張フラグを取得してもよい。さらに、オペレーションレンジ拡張ツール制御情報符号化部112は、画像のビット深度を示すパラメータ(BitDepth)を取得してもよい。
 オペレーションレンジ拡張ツール制御情報符号化部112は、画像のビット深度(およびオペレーションレンジ拡張フラグ)に応じて、オペレーションレンジ拡張ツール制御情報を符号化する。例えば、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張フラグが真であり、かつ、ビット深度を拡張しない場合、オペレーションレンジ拡張ツール制御情報を、オペレーションレンジ拡張ツールが使用不可であることを示す値に設定して符号化してもよい。また、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張フラグが真であり、かつ、ビット深度を拡張する場合、オペレーションレンジ拡張ツール制御情報を符号化してもよい。例えば、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張フラグが真であり、かつ、画像のビット深度が10ビット以下である場合、オペレーションレンジ拡張ツール制御情報を、オペレーションレンジ拡張ツールが使用不可であることを示す値に設定して符号化してもよい。また、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張フラグが真であり、かつ、画像のビット深度が10ビットより大きい場合、オペレーションレンジ拡張ツール制御情報を符号化してもよい。
 また、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張フラグが偽の場合、オペレーションレンジ拡張ツール制御情報の符号化をスキップしてもよい。また、その場合、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張ツール制御情報を、オペレーションレンジ拡張ツールが使用不可であることを示す値に設定してもよい。
 なお、このオペレーションレンジ拡張ツール制御情報(sps_range_extension())には、直交変換の内部演算精度の拡張に関する制御フラグ(extended_precision_processing_flag)が含まれていてもよい。その場合、オペレーションレンジ拡張ツール制御情報符号化部112が、エンコーダにおける直交変換の内部演算精度の拡張に関する内部変数(ExtendedPrecisionFlag)を、直交変換の内部演算精度の拡張に関する制御フラグ(extended_precision_processing_flag)の値に設定してもよい。つまり、図14を参照して説明したように、この内部変数(ExtendedPrecisionFlag)の値を、制御フラグ(extended_precision_processing_flag)の値と等しくしてもよい。
 また、このオペレーションレンジ拡張ツール制御情報(sps_range_extension())には、TSRCのライスパラメータの拡張に関する制御フラグ(sps_ts_residual_coding_rice_present_in_sh_flag)が含まれていてもよい。また、このオペレーションレンジ拡張ツール制御情報(sps_range_extension())には、RRC(Regular Residual Coding)のライスパラメータの拡張に関する制御フラグ(sps_rrc_rice_extension_flag, sps_persistent_rice_adaptation_enabled_flag)が含まれていてもよい。
 オペレーションレンジ拡張ツール制御情報符号化部112は、処理結果として、オペレーションレンジ拡張ツール制御情報の符号化データを、オペレーションレンジ拡張情報符号化装置100の外部に出力してもよい。
 このような構成を有することにより、オペレーションレンジ拡張情報符号化装置100は、図14および図15に示される制約を遵守して、オペレーションレンジ拡張情報を符号化することができる。つまり、オペレーションレンジ拡張情報符号化装置100は、生成したオペレーションレンジ拡張情報の符号化データをエンコーダに供給することにより、図14および図15に示される制約に違反しないビットストリームを生成させることができる。換言するに、オペレーションレンジ拡張情報符号化装置100は、非特許文献1および非特許文献2に記載の画像符号化方法との互換性を維持するビットストリームを生成させることができる。つまり、オペレーションレンジ拡張情報符号化装置100がこのようにオペレーションレンジ拡張情報を符号化することにより、エンコーダやデコーダは、画像のビット深度を拡張しない仕様との互換性を維持しながら、ビット深度拡張時用の符号化ツールを利用することができる。
  <オペレーションレンジ拡張情報符号化処理の流れ>
 図16のオペレーションレンジ拡張情報符号化装置100により実行されるオペレーションレンジ拡張情報符号化処理の流れの例を、図17のフローチャートを参照して説明する。
 このオペレーションレンジ拡張情報符号化処理において、オペレーションレンジ拡張情報符号化装置100は、オペレーションレンジ拡張フラグを符号化し、画像のビット深度に応じて、オペレーションレンジ拡張ツール制御情報を符号化する。
 オペレーションレンジ拡張情報符号化処理が開始されると、オペレーションレンジ拡張フラグ符号化部111は、図17のステップS201において、オペレーションレンジ拡張フラグ(sps_range_extension_flag)を符号化する。
 ステップS202において、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張フラグが真(例えば"1")であるか否かを判定する。オペレーションレンジ拡張フラグが真であると判定された場合、処理はステップS203へ進む。
 その場合、オペレーションレンジ拡張ツール制御情報符号化部112は、もし、画像のビット深度を拡張しないのであれば、オペレーションレンジ拡張ツール制御情報を、オペレーションレンジ拡張ツールが使用不可であることを示す値に設定して符号化してもよい。また、オペレーションレンジ拡張ツール制御情報符号化部112は、もし、画像のビット深度を拡張するのであれば、オペレーションレンジ拡張ツール制御情報を符号化してもよい。例えば、画像のビット深度が10ビット以下である場合、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張ツール制御情報を、オペレーションレンジ拡張ツールが使用不可であることを示す値に設定して符号化してもよい。また、画像のビット深度が10ビットより大きい場合、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張ツール制御情報を符号化してもよい。
 ステップS203において、オペレーションレンジ拡張ツール制御情報符号化部112は、画像のビット深度(BitDepth)が10ビットより大きいか否かを判定する。画像のビット深度(BitDepth)が10ビットより大きいと判定された場合、処理はステップS204へ進む。ステップS204において、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張ツール制御情報を符号化する。ステップS204の処理が終了すると、オペレーションレンジ拡張情報符号化処理が終了する。
 また、ステップS203において、画像のビット深度(BitDepth)が10ビット以下であると判定された場合、処理はステップS205へ進む。ステップS205において、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張ツール制御情報(の各制御フラグ)を、オペレーションレンジ拡張ツールが使用不可であることを示す値に設定して符号化する。ステップS205の処理が終了すると、オペレーションレンジ拡張情報符号化処理が終了する。
 また、ステップS202において、オペレーションレンジ拡張フラグが偽であると判定された場合、処理はステップS206へ進む。ステップS206において、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張ツール制御情報の符号化をスキップする。また、オペレーションレンジ拡張ツール制御情報符号化部112は、そのオペレーションレンジ拡張ツール制御情報(の各制御フラグ)を、オペレーションレンジ拡張ツールが使用不可であることを示す値に設定する。ステップS206の処理が終了すると、オペレーションレンジ拡張情報符号化処理が終了する。
 以上のように各処理を実行することにより、オペレーションレンジ拡張情報符号化装置100は、図14および図15に示される制約を遵守して、オペレーションレンジ拡張情報を符号化することができる。つまり、オペレーションレンジ拡張情報符号化装置100は、生成したオペレーションレンジ拡張情報の符号化データをエンコーダに供給することにより、図14および図15に示される制約に違反しないビットストリームを生成させることができる。したがって、エンコーダやデコーダは、画像のビット深度を拡張しない仕様との互換性を維持しながら、ビット深度拡張時用の符号化ツールを利用することができる。
  <オペレーションレンジ拡張情報復号装置>
 図16のオペレーションレンジ拡張情報符号化装置100により生成されたオペレーションレンジ拡張情報(オペレーションレンジ拡張フラグやオペレーションレンジ拡張ツール制御情報等)の符号化データを取得し、復号するオペレーションレンジ拡張情報復号装置200の主な構成は、図10を参照して説明した例と同様である。したがって、その説明は省略する。
  <オペレーションレンジ拡張情報復号処理の流れ>
 また、そのオペレーションレンジ拡張情報復号装置200により実行されるオペレーションレンジ拡張情報復号処理は、図11のフローチャートを参照して説明した例と同様の流れで実行される。したがって、その説明は省略する。
  <方法2-1>
 なお、デコーダから見た場合、上述したような制約に違反するビットストリームが入力される場合も考えられる。そこで、図5の表の上から5段目に示されるように、復号の際、ビットストリームに制約違反が無いかを確認してもよい(方法2-1)。そして、デコーダが、ビットストリームに制約違反が無い場合のみそのビットストリームを復号し、制約に違反している場合は、復号を終了または中断する(さらに通知等を行う)ようにしてもよい。このようにすることにより、デコーダは、不正なビットストリームの復号を抑制し、より安全にビットストリームを復号する(故障等の発生を抑制する)ことができる。
  <オペレーションレンジ拡張情報復号装置の他の例>
 この場合のオペレーションレンジ拡張情報復号装置200は、図12を参照して説明した例と同様の構成を有する。つまり、オペレーションレンジ拡張情報復号装置200は、オペレーションレンジ拡張フラグ復号部211、オペレーションレンジ拡張ツール制御情報復号部212、および制約違反処理部213を有する。
 この場合のオペレーションレンジ拡張フラグ復号部211は、オペレーションレンジ拡張フラグ(sps_range_extension_flag)の符号化データを復号する。また、オペレーションレンジ拡張ツール制御情報復号部212は、そのオペレーションレンジ拡張フラグに応じて、オペレーションレンジ拡張ツール制御情報(sps_range_extension())の符号化データを復号する。例えば、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張フラグが偽の場合、オペレーションレンジ拡張ツール制御情報の符号化データの復号をスキップし、そのオペレーションレンジ拡張ツール制御情報を、オペレーションレンジ拡張ツールが使用不可であることを示す値に設定してもよい。
 これに対して、オペレーションレンジ拡張フラグが真である場合、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張ツール制御情報の符号化データを復号してもよい。そして、オペレーションレンジ拡張ツール制御情報復号部212は、制約違反処理部213を制御し、ビットストリームに制約違反があるか否かを判定させてもよい。つまり、制約違反処理部213は、ビットストリームに制約違反があるか否かを確認してもよい。
 例えば、制約違反処理部213は、ビットストリームにおいて画像のビット深度が拡張されておらず、かつ、オペレーションレンジ拡張ツール制御情報が、オペレーションレンジ拡張ツールが使用不可であることを示す値でないかを確認してもよい。例えば、制約違反処理部213は、ビットストリームにおいてビット深度が10ビット以下であり、かつ、オペレーションレンジ拡張ツール制御情報が、オペレーションレンジ拡張ツールが使用不可であることを示す値でないかを確認してもよい。そして、ビットストリームに制約違反が有る場合、制約違反処理部213は、ビットストリームが制約を満たさないことを通知してもよい。例えば、制約違反処理部213は、その旨を、ユーザやアプリケーション等に通知してもよい。
 なお、この場合も、オペレーションレンジ拡張ツール制御情報(sps_range_extension())には、直交変換の内部演算精度の拡張に関する制御フラグ(extended_precision_processing_flag)が含まれていてもよい。その場合、オペレーションレンジ拡張ツール制御情報復号部212が、その直交変換の内部演算精度の拡張に関する内部変数(ExtendedPrecisionFlag)を、直交変換の内部演算精度の拡張に関する制御フラグ(extended_precision_processing_flag)の値に設定してもよい。つまり、図7を参照して説明したように、この内部変数(ExtendedPrecisionFlag)の値が、制御フラグ(extended_precision_processing_flag)の値と等しくなされてもよい。
 また、このオペレーションレンジ拡張ツール制御情報(sps_range_extension())には、TSRCのライスパラメータの拡張に関する制御フラグ(sps_ts_residual_coding_rice_present_in_sh_flag)が含まれていてもよい。また、このオペレーションレンジ拡張ツール制御情報(sps_range_extension())には、RRC(Regular Residual Coding)のライスパラメータの拡張に関する制御フラグ(sps_rrc_rice_extension_flag, sps_persistent_rice_adaptation_enabled_flag)が含まれていてもよい。
 このような構成を有することにより、オペレーションレンジ拡張情報復号装置200は、不正なビットストリームの復号を抑制することができる。これにより、デコーダは、より安全にビットストリームを復号する(故障等の発生を抑制する)ことができる。
  <オペレーションレンジ拡張情報復号処理の流れの他の例>
 この場合のオペレーションレンジ拡張情報復号装置200(図12)により実行されるオペレーションレンジ拡張情報復号処理の流れの例を、図18のフローチャートを参照して説明する。
 このオペレーションレンジ拡張情報復号処理において、オペレーションレンジ拡張情報復号装置200は、オペレーションレンジ拡張フラグの符号化データを復号し、そのオペレーションレンジ拡張フラグに応じて、オペレーションレンジ拡張ツール制御情報の符号化データを復号する。
 オペレーションレンジ拡張情報復号処理が開始されると、オペレーションレンジ拡張フラグ復号部211は、図18のステップS261において、オペレーションレンジ拡張フラグの符号化データ(sps_range_extension_flag)を復号する。
 ステップS262において、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張フラグが真(例えば"1")であるか否かを判定する。オペレーションレンジ拡張フラグが真であると判定された場合、処理は、ステップS263へ進む。ステップS263において、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張ツール制御情報の符号化データを復号し、オペレーションレンジ拡張ツール制御情報を生成(復元)する。
 この場合、制約違反処理部213は、オペレーションレンジ拡張ツール制御情報を用いて、ビットストリームに制約違反があるかを確認してもよい。例えば、制約違反処理部213は、ビットストリームにおいて画像のビット深度が拡張されておらず、かつ、オペレーションレンジ拡張ツール制御情報が、オペレーションレンジ拡張ツールが使用不可であることを示す値でないかを確認してもよい。また、制約違反処理部213は、ビットストリームにおいてビット深度が10ビット以下であり、かつ、オペレーションレンジ拡張ツール制御情報が、オペレーションレンジ拡張ツールが使用不可であることを示す値でないかを確認してもよい。そして、ビットストリームに制約違反が有る場合、制約違反処理部213は、ビットストリームが制約を満たさないことを通知してもよい。例えば、制約違反処理部213は、その旨を、ユーザやアプリケーション等に通知してもよい。
 例えば、ステップS264において、制約違反処理部213は、ビットストリームにおいてビット深度が10ビット以下であり、かつ、オペレーションレンジ拡張ツール制御情報が、オペレーションレンジ拡張ツールが使用不可であることを示す値でないか否かを判定する。ビットストリームにおいてビット深度が10ビット以下であり、かつ、オペレーションレンジ拡張ツール制御情報が、オペレーションレンジ拡張ツールが使用不可であることを示す値でないと判定された場合、処理は、ステップS265へ進む。ステップS265において、制約違反処理部213は、ビットストリームが制約を満たさないことをユーザ(またはアプリケーション等)へ通知する。ステップS265の処理が終了するとオペレーションレンジ拡張情報復号処理が終了する。
 また、ステップS264において、ビットストリームにおいてビット深度が10ビットより大きいか、または、オペレーションレンジ拡張ツール制御情報が、オペレーションレンジ拡張ツールが使用不可であることを示す値であると判定された場合、ステップS265の処理が省略され、オペレーションレンジ拡張情報復号処理が終了する。
 なお、ステップS262において、オペレーションレンジ拡張フラグが偽であると判定された場合、処理は、ステップS266へ進む。この場合、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張ツール制御情報の符号化データの復号をスキップし、オペレーションレンジ拡張ツール制御情報を、オペレーションレンジ拡張ツールが使用不可であることを示す値に設定してもよい。例えば、ステップS266において、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張ツール制御情報の符号化データの復号を省略し、オペレーションレンジ拡張ツール制御情報の各制御フラグを、ツール使用不可を示す値に設定する。ステップS266の処理が終了するとオペレーションレンジ拡張情報復号処理が終了する。
 このように各処理を実行することにより、オペレーションレンジ拡張情報復号装置200は、不正なビットストリームの復号を抑制することができる。これにより、デコーダは、より安全にビットストリームを復号する(故障等の発生を抑制する)ことができる。
 <5.オペレーションレンジ拡張ツール制御情報の伝送制御>
  <方法3>
 例えば、図5の表の最下段に示されるように、ビット深度に基づいてオペレーションレンジ拡張ツール制御情報の伝送を制御してもよい(方法3)。図19は、その場合のオペレーションレンジ拡張ツール制御情報に関するシンタックスの例を示す図である。この場合、図3の例と比較して、グレーで示される行が追加されている。すなわち、ビット深度を条件とするif文が追加されている。つまり、オペレーションレンジ拡張ツール制御情報(sps_range_extension())の各制御フラグは、画像のビット深度が10ビットより大きい場合にのみ、符号化されて伝送される。
 このようにオペレーションレンジ拡張ツール制御情報の伝送を制御することにより、オペレーションレンジが拡張されない場合のビットストリームにおいて、オペレーションレンジ拡張ツール制御情報(の符号化データ)が格納されない。したがって、このビットストリームは、非特許文献1および非特許文献2に記載の画像符号化方法との互換性を維持することができる。したがって、オペレーションレンジの拡張に対応していないデコーダであっても、このビットストリームを正しく復号することができる。つまり、画像のビット深度を拡張しない仕様との互換性を維持しながら、ビット深度拡張時用の符号化ツールを利用することができる。また、このようにすることにより、画像のビット深度を拡張しない場合(ビット深度が10ビット以下の場合)、パラメータセットにおける高ビット深度・高ビットレート向け符号化ツールの制御フラグの伝送を省略することができる。そのため、符号量の増大を抑制することができる。
  <オペレーションレンジ拡張情報符号化装置>
 この場合もオペレーションレンジ拡張情報符号化装置100は、オペレーションレンジ拡張情報の符号化に関する処理を行う装置である。例えば、オペレーションレンジ拡張情報符号化装置100は、オペレーションレンジ拡張フラグやオペレーションレンジ拡張ツール制御情報等のオペレーションレンジ拡張情報を取得する。また、オペレーションレンジ拡張情報符号化装置100は、画像のビット深度を示すパラメータBitDepthを取得する。オペレーションレンジ拡張情報符号化装置100は、それらの情報を用いて、オペレーションレンジ拡張情報の符号化に関する処理を行う。
 オペレーションレンジ拡張情報符号化装置100は、その処理結果として、オペレーションレンジ拡張情報の符号化データ等を、適宜出力する。この符号化データは、例えば、画像を符号化するエンコーダへ供給される。エンコーダは、このオペレーションレンジ拡張情報に基づいて画像を符号化し、その画像の符号化データを含むビットストリームを生成する。オペレーションレンジ拡張情報の符号化データは、例えばそのビットストリームに格納される等して、復号側へ供給される。
 この場合のオペレーションレンジ拡張情報符号化装置100の主な構成は、図16を参照して説明した例と同様である。つまり、この場合のオペレーションレンジ拡張情報符号化装置100は、オペレーションレンジ拡張フラグ符号化部111およびオペレーションレンジ拡張ツール制御情報符号化部112を有する。
 この場合もオペレーションレンジ拡張フラグ符号化部111は、画像のビット深度に依らず、オペレーションレンジ拡張フラグを符号化する。ただし、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張フラグおよび画像のビット深度に応じて、オペレーションレンジ拡張ツール制御情報を符号化する。例えば、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張フラグが偽であるか、または、ビット深度を拡張しない場合、オペレーションレンジ拡張ツール制御情報の符号化をスキップ(省略)してもよい。また、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張フラグが真であり、かつ、ビット深度を拡張する場合、オペレーションレンジ拡張ツール制御情報を符号化してもよい。例えば、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張フラグが偽であるか、または、画像のビット深度が10ビット以下である場合、オペレーションレンジ拡張ツール制御情報の符号化をスキップ(省略)してもよい。また、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張フラグが真であり、かつ、画像のビット深度が10ビットより大きい場合、オペレーションレンジ拡張ツール制御情報を符号化してもよい。
 また、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張フラグが偽であるか、または、画像のビット深度を拡張しない場合、さらに、オペレーションレンジ拡張ツール制御情報を、オペレーションレンジ拡張ツールが使用不可であることを示す値に設定してもよい。また、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張フラグが偽であるか、または、画像のビット深度が10ビット以下である場合、さらに、オペレーションレンジ拡張ツール制御情報を、オペレーションレンジ拡張ツールが使用不可であることを示す値に設定してもよい。
 なお、このオペレーションレンジ拡張ツール制御情報(sps_range_extension())には、直交変換の内部演算精度の拡張に関する制御フラグ(extended_precision_processing_flag)が含まれていてもよい。その場合、オペレーションレンジ拡張ツール制御情報符号化部112が、エンコーダにおける直交変換の内部演算精度の拡張に関する内部変数(ExtendedPrecisionFlag)を、直交変換の内部演算精度の拡張に関する制御フラグ(extended_precision_processing_flag)の値に設定してもよい。つまり、図14を参照して説明したように、この内部変数(ExtendedPrecisionFlag)の値を、制御フラグ(extended_precision_processing_flag)の値と等しくしてもよい。
 また、このオペレーションレンジ拡張ツール制御情報(sps_range_extension())には、TSRCのライスパラメータの拡張に関する制御フラグ(sps_ts_residual_coding_rice_present_in_sh_flag)が含まれていてもよい。また、このオペレーションレンジ拡張ツール制御情報(sps_range_extension())には、RRC(Regular Residual Coding)のライスパラメータの拡張に関する制御フラグ(sps_rrc_rice_extension_flag, sps_persistent_rice_adaptation_enabled_flag)が含まれていてもよい。
 オペレーションレンジ拡張ツール制御情報符号化部112は、処理結果として、オペレーションレンジ拡張ツール制御情報の符号化データを、オペレーションレンジ拡張情報符号化装置100の外部に出力してもよい。
 このような構成を有することにより、オペレーションレンジ拡張情報符号化装置100は、オペレーションレンジが拡張されない場合のビットストリームにおいて、オペレーションレンジ拡張ツール制御情報(の符号化データ)が格納されないようにすることができる。したがって、このビットストリームは、非特許文献1および非特許文献2に記載の画像符号化方法との互換性を維持することができる。したがって、オペレーションレンジの拡張に対応していないデコーダであっても、このビットストリームを正しく復号することができる。したがって、エンコーダやデコーダは、画像のビット深度を拡張しない仕様との互換性を維持しながら、ビット深度拡張時用の符号化ツールを利用することができる。また、このようにすることにより、画像のビット深度を拡張しない場合(ビット深度が10ビット以下の場合)、パラメータセットにおける高ビット深度・高ビットレート向け符号化ツールの制御フラグの伝送を省略することができる。そのため、符号量の増大を抑制することができる。
  <オペレーションレンジ拡張情報符号化処理の流れの他の例>
 この場合の、オペレーションレンジ拡張情報符号化装置100により実行されるオペレーションレンジ拡張情報符号化処理の流れの例を、図20のフローチャートを参照して説明する。
 このオペレーションレンジ拡張情報符号化処理において、オペレーションレンジ拡張情報符号化装置100は、オペレーションレンジ拡張フラグを符号化し、オペレーションレンジ拡張フラグおよび画像のビット深度に応じて、オペレーションレンジ拡張ツール制御情報を符号化する。
 オペレーションレンジ拡張情報符号化処理が開始されると、オペレーションレンジ拡張フラグ符号化部111は、図20のステップS301において、オペレーションレンジ拡張フラグ(sps_range_extension_flag)を符号化する。
 オペレーションレンジ拡張ツール制御情報符号化部112は、そのオペレーションレンジ拡張フラグが偽であるか、または、画像のビット深度を拡張しない場合、オペレーションレンジ拡張ツール制御情報の符号化をスキップ(省略)してもよい。また、オペレーションレンジ拡張ツール制御情報符号化部112は、そのオペレーションレンジ拡張フラグが真であり、かつ、画像のビット深度を拡張する場合、オペレーションレンジ拡張ツール制御情報を符号化してもよい。例えば、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張フラグが偽であるか、または、画像のビット深度を拡張しない場合、さらに、オペレーションレンジ拡張ツール制御情報を、オペレーションレンジ拡張ツールが使用不可であることを示す値に設定してもよい。例えば、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張フラグが偽であるか、または、ビット深度が10ビット以下である場合、さらに、オペレーションレンジ拡張ツール制御情報を、オペレーションレンジ拡張ツールが使用不可であることを示す値に設定してもよい。
 ステップS302において、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張フラグが真であり、かつ、画像のビット深度が10ビットより大きいか否かを判定する。オペレーションレンジ拡張フラグが真であり、かつ、画像のビット深度が10ビットより大きいと判定された場合、処理はステップS303へ進む。ステップS303において、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張ツール制御情報を符号化する。ステップS303の処理が終了するとオペレーションレンジ拡張情報符号化処理が終了する。
 また、ステップS302において、オペレーションレンジ拡張フラグが偽である、または、画像のビット深度が10ビット以下であると判定された場合、処理はステップS304へ進む。ステップS304において、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張ツール制御情報の符号化をスキップ(省略)する。また、オペレーションレンジ拡張ツール制御情報符号化部112は、オペレーションレンジ拡張ツール制御情報を、オペレーションレンジ拡張ツールが使用不可であることを示す値に設定する。例えば、ステップS303の処理が終了するとオペレーションレンジ拡張情報符号化処理が終了する。
 このように各処理を実行することにより、オペレーションレンジ拡張情報符号化装置100は、オペレーションレンジが拡張されない場合のビットストリームにおいて、オペレーションレンジ拡張ツール制御情報(の符号化データ)が格納されないようにすることができる。したがって、エンコーダやデコーダは、画像のビット深度を拡張しない仕様との互換性を維持しながら、ビット深度拡張時用の符号化ツールを利用することができる。また、このようにすることにより、画像のビット深度を拡張しない場合(ビット深度が10ビット以下の場合)、パラメータセットにおける高ビット深度・高ビットレート向け符号化ツールの制御フラグの伝送を省略することができる。そのため、符号量の増大を抑制することができる。
  <オペレーションレンジ拡張情報復号装置>
 図21は、その場合のオペレーションレンジ拡張情報復号装置200の主な構成例を示すブロック図である。この場合も、オペレーションレンジ拡張情報復号装置200は、オペレーションレンジ拡張情報の符号化データの復号に関する処理を行う。
 例えば、オペレーションレンジ拡張情報復号装置200は、オペレーションレンジ拡張情報符号化装置100により生成されたオペレーションレンジ拡張情報の符号化データを取得する。また、オペレーションレンジ拡張情報復号装置200は、画像のビット深度を示すパラメータ(BitDepth)を取得する。
 このオペレーションレンジ拡張情報は、非特許文献1および非特許文献2に記載の画像符号化方法との互換性を維持している。つまり、このオペレーションレンジ拡張情報を用いて符号化された画像のビットストリームは、オペレーションレンジの拡張に対応していないデコーダでも正しく復号することができる。
 オペレーションレンジ拡張情報復号装置200は、画像のビット深度を示すパラメータ(BitDepth)を用いて、オペレーションレンジ拡張情報の符号化データを復号する。オペレーションレンジ拡張情報復号装置200は、その処理結果として、オペレーションレンジ拡張情報を、適宜出力する。このオペレーションレンジ拡張情報は、例えば、画像の符号化データを復号するデコーダへ供給される。デコーダは、このオペレーションレンジ拡張情報に基づいてその符号化データを復号し、画像を生成(復元)する。
 図21に示されるように、この場合のオペレーションレンジ拡張情報復号装置200は、図10を参照して説明した構成と同様の構成を有する。つまり、オペレーションレンジ拡張情報復号装置200は、オペレーションレンジ拡張フラグ復号部211およびオペレーションレンジ拡張ツール制御情報復号部212を有する。
 オペレーションレンジ拡張フラグ復号部211は、オペレーションレンジ拡張フラグ(sps_range_extension_flag)の符号化データの復号に関する処理を行う。例えば、オペレーションレンジ拡張フラグ復号部211は、オペレーションレンジ拡張フラグの符号化データを取得してもよい。また、オペレーションレンジ拡張フラグ復号部211は、その符号化データを復号し、オペレーションレンジ拡張フラグを生成(復元)してもよい。また、オペレーションレンジ拡張フラグ復号部211は、その処理結果として、オペレーションレンジ拡張フラグを、オペレーションレンジ拡張情報復号装置200の外部へ出力してもよい。また、オペレーションレンジ拡張フラグ復号部211は、そのオペレーションレンジ拡張フラグをオペレーションレンジ拡張ツール制御情報復号部212へ供給してもよい。
 オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張ツール制御情報(sps_range_extension())の符号化データの復号に関する処理を行う。例えば、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張ツール制御情報の符号化データを取得してもよい。また、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張フラグ復号部211から供給されるオペレーションレンジ拡張フラグを取得してもよい。さらに、オペレーションレンジ拡張ツール制御情報復号部212は、画像のビット深度を示すパラメータ(BitDepth)を取得してもよい。
 オペレーションレンジ拡張ツール制御情報復号部212は、そのオペレーションレンジ拡張フラグおよび画像のビット深度(BitDepth)に応じて、オペレーションレンジ拡張ツール制御情報の符号化データを復号してもよい。例えば、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張フラグが偽であるか、または、画像のビット深度を拡張しない場合、オペレーションレンジ拡張ツール制御情報の符号化データの復号をスキップ(省略)してもよい。また、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張ツール制御情報を、オペレーションレンジ拡張ツールが使用不可であることを示す値に設定してもよい。例えば、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張フラグが真であり、かつ、画像のビット深度を拡張する場合、オペレーションレンジ拡張ツール制御情報の符号化データを復号してもよい。
 例えば、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張フラグが偽であるか、または、ビット深度が10ビット以下である場合、オペレーションレンジ拡張ツール制御情報の符号化データの復号をスキップ(省略)してもよい。また、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張ツール制御情報を、オペレーションレンジ拡張ツールが使用不可であることを示す値に設定してもよい。例えば、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張フラグが真であり、かつ、画像のビット深度が10ビットより大きい場合、オペレーションレンジ拡張ツール制御情報の符号化データを復号してもよい。
 また、オペレーションレンジ拡張ツール制御情報復号部212は、その処理結果として、オペレーションレンジ拡張ツール制御情報を、オペレーションレンジ拡張情報復号装置200の外部に出力してもよい。
 なお、このオペレーションレンジ拡張ツール制御情報には、直交変換の内部演算精度の拡張に関する制御フラグ(extended_precision_processing_flag)が含まれていてもよい。その場合、デコーダにおける直交変換の内部演算精度の拡張に関する内部変数(ExtendedPrecisionFlag)が、直交変換の内部演算精度の拡張に関する制御フラグ(extended_precision_processing_flag)の値に設定されてもよい。また、このオペレーションレンジ拡張ツール制御情報には、TSRCのライスパラメータの拡張に関する制御フラグ(sps_ts_residual_coding_rice_present_in_sh_flag)が含まれていてもよい。また、このオペレーションレンジ拡張ツール制御情報には、RRCのライスパラメータの拡張に関する制御フラグ(sps_rrc_rice_extension_flag, sps_persistent_rice_adaptation_enabled_flag)が含まれていてもよい。
 このような構成を有することにより、オペレーションレンジ拡張情報復号装置200は、オペレーションレンジ拡張情報符号化装置100が生成したオペレーションレンジ拡張情報の符号化データを正しく復号することができる。つまり、デコーダは、画像のビット深度を拡張しない仕様との互換性を維持しながら、ビット深度拡張時用の符号化ツールを利用することができる。また、符号量の増大を抑制することができる。
  <オペレーションレンジ拡張情報復号処理の流れ>
 図21のオペレーションレンジ拡張情報復号装置200により実行されるオペレーションレンジ拡張情報復号処理の流れの例を、図22のフローチャートを参照して説明する。
 このオペレーションレンジ拡張情報復号処理において、オペレーションレンジ拡張情報復号装置200は、オペレーションレンジ拡張フラグの符号化データを復号し、そのオペレーションレンジ拡張フラグおよび画像のビット深度に応じて、オペレーションレンジ拡張ツール制御情報の符号化データを復号する。
 オペレーションレンジ拡張情報復号処理が開始されると、オペレーションレンジ拡張フラグ復号部211は、図22のステップS331において、オペレーションレンジ拡張フラグ(sps_range_extension_flag)の符号化データを復号し、オペレーションレンジ拡張フラグを生成(復元)する。
 オペレーションレンジ拡張ツール制御情報復号部212は、そのオペレーションレンジ拡張フラグおよび画像のビット深度(BitDepth)に応じて、オペレーションレンジ拡張ツール制御情報の符号化データを復号してもよい。例えば、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張フラグが偽であるか、または、画像のビット深度を拡張しない場合、オペレーションレンジ拡張ツール制御情報の符号化データの復号をスキップ(省略)してもよい。また、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張ツール制御情報を、オペレーションレンジ拡張ツールが使用不可であることを示す値に設定してもよい。例えば、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張フラグが真であり、かつ、画像のビット深度を拡張する場合、オペレーションレンジ拡張ツール制御情報の符号化データを復号してもよい。
 例えば、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張フラグが偽であるか、または、ビット深度が10ビット以下である場合、オペレーションレンジ拡張ツール制御情報の符号化データの復号をスキップ(省略)してもよい。また、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張ツール制御情報を、オペレーションレンジ拡張ツールが使用不可であることを示す値に設定してもよい。例えば、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張フラグが真であり、かつ、画像のビット深度が10ビットより大きい場合、オペレーションレンジ拡張ツール制御情報の符号化データを復号してもよい。
 ステップS332において、オペレーションレンジ拡張ツール制御情報復号部212は、そのオペレーションレンジ拡張フラグが真(例えば"1")であり、かつ、画像のビット深度が10ビットより大きいか否かを判定する。オペレーションレンジ拡張フラグが真であり、かつ、画像のビット深度が10ビットより大きいと判定された場合、処理はステップS333へ進む。
 ステップS333において、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張ツール制御情報の符号化データを復号し、オペレーションレンジ拡張ツール制御情報を生成(復元)する。ステップS333の処理が終了するとオペレーションレンジ拡張情報復号処理が終了する。
 また、ステップS332において、オペレーションレンジ拡張フラグが偽であるか、または、画像のビット深度が10ビット以下であると判定された場合、処理はステップS334へ進む。ステップS334において、オペレーションレンジ拡張ツール制御情報復号部212は、オペレーションレンジ拡張ツール制御情報の符号化データの復号を省略する。そして、オペレーションレンジ拡張ツール制御情報復号部212は、そのオペレーションレンジ拡張ツール制御情報の各制御フラグを、ツール使用不可を示す値に設定する。ステップS334の処理が終了するとオペレーションレンジ拡張情報復号処理が終了する。
 このように各処理を実行することにより、オペレーションレンジ拡張情報復号装置200は、オペレーションレンジ拡張情報符号化装置100が生成したオペレーションレンジ拡張情報の符号化データを正しく復号することができる。つまり、デコーダは、画像のビット深度を拡張しない仕様との互換性を維持しながら、ビット深度拡張時用の符号化ツールを利用することができる。また、符号量の増大を抑制することができる。
 <6.実施の形態(画像符号化装置)>
  <画像符号化装置>
 以上に説明した本技術は任意の構成に適用することができる。例えば、この本技術は、画像符号化装置に適用し得る。図23は、本技術を適用した画像処理装置の一態様である画像符号化装置の構成の一例を示すブロック図である。図23に示される画像符号化装置300は、動画像の画像データを符号化する装置である。例えば、画像符号化装置300は、上述の非特許文献のいずれかに記載の符号化方式で動画像の画像データを符号化することができる。
 なお、図23においては、処理部(ブロック)やデータの流れ等の主なものを示しており、図23に示されるものが全てとは限らない。つまり、画像符号化装置300が、図23においてブロックとして示されていない処理部を有していてもよい。また、画像符号化装置300が、図23において矢印等として示されていない処理やデータの流れを有していてもよい。
 図23に示されるように画像符号化装置300は、制御部301、並べ替えバッファ311、演算部312、直交変換部313、量子化部314、符号化部315、蓄積バッファ316、逆量子化部317、逆直交変換部318、演算部319、インループフィルタ部320、フレームメモリ321、予測部322、およびレート制御部323を有する。
   <制御部>
 制御部301は、外部、または予め指定された処理単位のブロックサイズに基づいて、並べ替えバッファ311により保持されている動画像データを処理単位のブロック(CU, PU, 変換ブロックなど)へ分割する。また、制御部301は、各ブロックへ供給する符号化パラメータ(ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfo等)を、例えば、RDO(Rate-Distortion Optimization)に基づいて、決定する。
 これらの符号化パラメータの詳細については後述する。制御部301は、以上のような符号化パラメータを決定すると、それを各ブロックへ供給する。具体的には、以下の通りである。
 ヘッダ情報Hinfoは、各ブロックに供給される。予測モード情報Pinfoは、符号化部315と予測部322とに供給される。変換情報Tinfoは、符号化部315、直交変換部313、量子化部314、逆量子化部317、および逆直交変換部318に供給される。フィルタ情報Finfoは、インループフィルタ部320に供給される。
   <並べ替えバッファ>
 画像符号化装置300には、動画像データの各フィールド(入力画像)がその再生順(表示順)に入力される。並べ替えバッファ311は、各入力画像をその再生順(表示順)に取得し、保持(記憶)する。並べ替えバッファ311は、制御部301の制御に基づいて、その入力画像を符号化順(復号順)に並べ替えたり、処理単位のブロックに分割したりする。並べ替えバッファ311は、処理後の各入力画像を演算部312に供給する。また、並べ替えバッファ311は、その各入力画像(元画像)を、予測部322やインループフィルタ部320にも供給する。
   <演算部>
 演算部312は、処理単位のブロックに対応する画像I、および予測部322より供給される予測画像Pを入力とし、画像Iから予測画像Pを以下の式に示されるように減算して、予測残差Dを導出し、それを直交変換部313に供給する。
 D = I - P
   <直交変換部>
 直交変換部313は、演算部312から供給される予測残差Dと、制御部301から供給される変換情報Tinfoとを入力とし、その変換情報Tinfoに基づいて、予測残差Dに対して直交変換を行い、変換係数Coeffを導出する。例えば、直交変換部313は、予測残差Dに対してプライマリ変換を行ってプライマリ変換係数を生成し、ST識別子に基づいて、そのプライマリ変換係数に対してセカンダリ変換を行い、セカンダリ変換係数を生成する。直交変換部313は、その得られたセカンダリ変換係数を変換係数Coeffとして量子化部314に供給する。なお、直交変換部313は、直交変換に限らず、任意の係数変換を行うことができる。つまり、変換係数Coeffは、予測残差Dに対して任意の係数変換が行われて導出されてもよい。したがって、直交変換部313は、係数変換部とも言える。
   <量子化部>
 量子化部314は、直交変換部313から供給される変換係数Coeffと、制御部301から供給される変換情報Tinfoとを入力とし、その変換情報Tinfoに基づいて、変換係数Coeffをスケーリング(量子化)する。なお、この量子化のレートは、レート制御部323により制御される。量子化部314は、このように量子化された変換係数のレベル値である量子化係数level(量子化係数qcoeffとも称する)を、符号化部315および逆量子化部317に供給する。
   <符号化部>
 符号化部315は、量子化部314から供給された量子化係数levelと、制御部301から供給される各種符号化パラメータ(ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfoなど)と、インループフィルタ部320から供給されるフィルタ係数等のフィルタに関する情報と、予測部322から供給される最適な予測モードに関する情報とを入力とする。符号化部315は、量子化係数levelを可変長符号化(例えば、算術符号化)し、ビット列(符号化データ)を生成する。
 さらに、符号化部315は、インループフィルタ部320から供給されるフィルタに関する情報をフィルタ情報Finfoに含め、予測部322から供給される最適な予測モードに関する情報を予測モード情報Pinfoに含める。そして、符号化部315は、上述した各種符号化パラメータ(ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfoなど)を符号化し、ビット列を生成する。
 また、符号化部315は、以上のように生成された各種情報のビット列(符号化データ)を多重化し、符号化データのビットストリームを生成する。符号化部315は、そのビットストリームを蓄積バッファ316に供給する。
   <蓄積バッファ>
 蓄積バッファ316は、符号化部315において得られた符号化データのビットストリームを、一時的に保持する。蓄積バッファ316は、所定のタイミングにおいて、保持している符号化データのビットストリームを画像符号化装置300の外部に出力する。例えば、このビットストリームは、任意の記録媒体、任意の伝送媒体、任意の情報処理装置等を介して復号側に伝送される。すなわち、蓄積バッファ316は、ビットストリーム(符号化データ)を伝送する伝送部でもある。
   <逆量子化部>
 逆量子化部317は、逆量子化に関する処理を行う。例えば、逆量子化部317は、量子化部314から供給される量子化係数levelと、制御部301から供給される変換情報Tinfoとを入力とし、その変換情報Tinfoに基づいて、量子化係数levelの値をスケーリング(逆量子化)する。なお、この逆量子化は、量子化部314において行われる量子化の逆処理である。逆量子化部317は、このような逆量子化により得られた変換係数Coeff_IQを、逆直交変換部318に供給する。
   <逆直交変換部>
 逆直交変換部318は、逆直交変換に関する処理を行う。例えば、逆直交変換部318は、逆量子化部317から供給される変換係数Coeff_IQと、制御部301から供給される変換情報Tinfoとを入力とし、その変換情報Tinfoに基づいて、変換係数Coeff_IQに対して逆直交変換を行い、予測残差D'を導出する。この逆直交変換は、直交変換部313において行われる直交変換の逆処理である。逆直交変換部318は、このような逆直交変換により得られた予測残差D'を演算部319に供給する。
 換言するに、逆直交変換部318は、直交変換部313が実行する処理の逆処理を実行する。つまり、直交変換部313の場合と同様に、逆直交変換部318は、逆直交変換に限らず任意の逆係数変換を行うことができる。この逆係数変換は、直交変換部313が実行する係数変換の逆処理である。つまり、予測残差D'は、変換係数Coeff_IQに対して任意の逆係数変換が行われて導出されてもよい。したがって、逆直交変換部318は、逆係数変換部とも言える。
   <演算部>
 演算部319は、逆直交変換部318から供給される予測残差D'と、予測部322から供給される予測画像Pとを入力とする。演算部319は、その予測残差D'と、その予測残差D'に対応する予測画像Pとを加算し、局所復号画像Rlocalを導出する。演算部319は、導出した局所復号画像Rlocalをインループフィルタ部320およびフレームメモリ321に供給する。
   <インループフィルタ部>
 インループフィルタ部320は、インループフィルタ処理に関する処理を行う。例えば、インループフィルタ部320は、演算部319から供給される局所復号画像Rlocalと、制御部301から供給されるフィルタ情報Finfoと、並べ替えバッファ311から供給される入力画像(元画像)とを入力とする。なお、インループフィルタ部320に入力される情報は任意であり、これらの情報以外の情報が入力されてもよい。例えば、必要に応じて、予測モード、動き情報、符号量目標値、量子化パラメータQP、ピクチャタイプ、ブロック(CU、CTU等)の情報等がインループフィルタ部320に入力されるようにしてもよい。
 インループフィルタ部320は、そのフィルタ情報Finfoに基づいて、局所復号画像Rlocalに対して適宜フィルタ処理を行う。インループフィルタ部320は、必要に応じて入力画像(元画像)や、その他の入力情報もそのフィルタ処理に用いる。
 例えば、インループフィルタ部320は、非特許文献11に記載のように、バイラテラルフィルタ、デブロッキングフィルタ(DBF(DeBlocking Filter))、適応オフセットフィルタ(SAO(Sample Adaptive Offset))、および適応ループフィルタ(ALF(Adaptive Loop Filter))の4つのインループフィルタをこの順に適用する。なお、どのフィルタを適用するか、どの順で適用するかは任意であり、適宜選択可能である。
 もちろん、インループフィルタ部320が行うフィルタ処理は任意であり、上述の例に限定されない。例えば、インループフィルタ部320がウィーナーフィルタ等を適用するようにしてもよい。
 インループフィルタ部320は、フィルタ処理された局所復号画像Rlocalをフレームメモリ321に供給する。なお、例えばフィルタ係数等のフィルタに関する情報を復号側に伝送する場合、インループフィルタ部320は、そのフィルタに関する情報を符号化部315に供給する。
   <フレームメモリ>
 フレームメモリ321は、画像に関するデータの記憶に関する処理を行う。例えば、フレームメモリ321は、演算部319から供給される局所復号画像Rlocalや、インループフィルタ部320から供給されるフィルタ処理された局所復号画像Rlocalを入力とし、それを保持(記憶)する。また、フレームメモリ321は、その局所復号画像Rlocalを用いてピクチャ単位毎の復号画像Rを再構築し、保持する(フレームメモリ321内のバッファへ格納する)。フレームメモリ321は、予測部322の要求に応じて、その復号画像R(またはその一部)を予測部322に供給する。
   <予測部>
 予測部322は、予測画像の生成に関する処理を行う。例えば、予測部322は、制御部301から供給される予測モード情報Pinfoと、並べ替えバッファ311から供給される入力画像(元画像)と、フレームメモリ321から読み出す復号画像R(またはその一部)を入力とする。予測部322は、予測モード情報Pinfoや入力画像(元画像)を用い、インター予測やイントラ予測等の予測処理を行い、復号画像Rを参照画像として参照して予測を行い、その予測結果に基づいて動き補償処理を行い、予測画像Pを生成する。予測部322は、生成した予測画像Pを演算部312および演算部319に供給する。また、予測部322は、以上の処理により選択した予測モード、すなわち最適な予測モードに関する情報を、必要に応じて符号化部315に供給する。
   <レート制御部>
 レート制御部323は、レート制御に関する処理を行う。例えば、レート制御部323は、蓄積バッファ316に蓄積された符号化データの符号量に基づいて、オーバフローあるいはアンダーフローが発生しないように、量子化部314の量子化動作のレートを制御する。
 なお、これらの処理部(制御部301、並べ替えバッファ311乃至レート制御部323)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <符号化部>
 図24は、符号化部315の主な構成例を示すブロック図である。図24に示されるように、符号化部315は、オペレーションレンジ拡張情報符号化部351を有する。オペレーションレンジ拡張情報符号化部351は、オペレーションレンジ拡張情報の符号化に関する処理を実行する。例えば、オペレーションレンジ拡張情報符号化部351は、制御部301から符号化パラメータとして供給されるオペレーションレンジ拡張情報を取得してもよい。また、オペレーションレンジ拡張情報符号化部351は、制御部301から符号化パラメータとして供給される、画像のビット深度を示すパラメータ(BitDepth)を取得してもよい。オペレーションレンジ拡張情報符号化部351は、それらの情報を用いて、オペレーションレンジ拡張情報の符号化に関する処理を行ってもよい。
 また、オペレーションレンジ拡張情報符号化部351は、その処理結果として、オペレーションレンジ拡張情報の符号化データ等を、適宜出力してもよい。この符号化データは、符号化部315において、画像の符号化データを含むビットストリームに格納される。このビットストリームは、蓄積バッファ316を介して画像符号化装置300の外部に出力される。このビットストリームは、復号側へ供給される。また、オペレーションレンジ拡張情報符号化部351において符号化されるオペレーションレンジ拡張情報、オペレーションレンジ拡張情報符号化部351において設定されるオペレーションレンジ拡張情報、またはそれらに対応する内部変数は、符号化パラメータとして画像符号化装置300の任意の処理部に供給され、利用される。例えば、このオペレーションレンジ拡張情報(または内部変数)は、符号化部315に供給され、符号化等に利用されてもよい。また、このオペレーションレンジ拡張情報(または内部変数)は、直交変換部313に供給され、直交変換等に利用されてもよい。また、このオペレーションレンジ拡張情報(または内部変数)は、逆直交変換部318に供給され、逆直交変換等に利用されてもよい。
 以上のような構成の符号化部315において、上述した本技術の各方法(方法1、方法2、または方法3)を適用してもよい。
 例えば、オペレーションレンジ拡張情報符号化部351が、図8に示されるオペレーションレンジ拡張情報符号化装置100と同様の構成を有し、図9に示されるオペレーションレンジ拡張情報符号化処理を実行するようにしてもよい。このようにすることにより、画像符号化装置300は、<3.オペレーションレンジ拡張フラグの制御>において上述した効果(方法1を適用した場合の効果)を得ることができる。つまり、画像符号化装置300は、画像のビット深度を拡張しない仕様との互換性を維持しながら、ビット深度拡張時用の符号化ツールを利用することができる。
 また、例えば、オペレーションレンジ拡張情報符号化部351が、図16に示されるオペレーションレンジ拡張情報符号化装置100と同様の構成を有し、図17に示されるオペレーションレンジ拡張情報符号化処理を実行するようにしてもよい。このようにすることにより、画像符号化装置300は、<4.オペレーションレンジ拡張ツール制御情報の値の制御>において上述した効果(方法2を適用した場合の効果)を得ることができる。つまり、画像符号化装置300は、画像のビット深度を拡張しない仕様との互換性を維持しながら、ビット深度拡張時用の符号化ツールを利用することができる。
 また、例えば、オペレーションレンジ拡張情報符号化部351が、図16に示されるオペレーションレンジ拡張情報符号化装置100と同様の構成を有し、図20に示されるオペレーションレンジ拡張情報符号化処理を実行するようにしてもよい。このようにすることにより、画像符号化装置300は、<5.オペレーションレンジ拡張ツール制御情報の伝送制御>において上述した効果(方法3を適用した場合の効果)を得ることができる。つまり、画像符号化装置300は、画像のビット深度を拡張しない仕様との互換性を維持しながら、ビット深度拡張時用の符号化ツールを利用することができる。また、符号量の増大を抑制することができる。
  <画像符号化処理の流れ>
 次に、以上のような構成の画像符号化装置300により実行される画像符号化処理の流れの例を、図25のフローチャートを参照して説明する。
 画像符号化処理が開始されると、ステップS401において、並べ替えバッファ311は、制御部301に制御されて、入力された動画像データのフレームの順を表示順から符号化順に並べ替える。
 ステップS402において、制御部301は、並べ替えバッファ311が保持する入力画像に対して、処理単位を設定する(ブロック分割を行う)。
 ステップS403において、制御部301は、並べ替えバッファ311が保持する入力画像についての符号化パラメータを決定(設定)する。
 ステップS404において、予測部322は、予測処理を行い、最適な予測モードの予測画像等を生成する。例えば、この予測処理において、予測部322は、イントラ予測を行って最適なイントラ予測モードの予測画像等を生成し、インター予測を行って最適なインター予測モードの予測画像等を生成し、それらの中から、コスト関数値等に基づいて最適な予測モードを選択する。
 ステップS405において、演算部312は、入力画像と、ステップS304の予測処理により選択された最適なモードの予測画像との差分を演算する。つまり、演算部312は、入力画像と予測画像との予測残差Dを生成する。このようにして求められた予測残差Dは、元の画像データに比べてデータ量が低減される。したがって、画像をそのまま符号化する場合に比べて、データ量を圧縮することができる。
 ステップS406において、直交変換部313は、ステップS405の処理により生成された予測残差Dに対する直交変換処理を行い、変換係数Coeffを導出する。
 ステップS407において、量子化部314は、制御部301により算出された量子化パラメータを用いる等して、ステップS406の処理により得られた変換係数Coeffを量子化し、量子化係数levelを導出する。
 ステップS408において、逆量子化部317は、ステップS407の処理により生成された量子化係数levelを、そのステップS407の量子化の特性に対応する特性で逆量子化し、変換係数Coeff_IQを導出する。
 ステップS409において、逆直交変換部318は、ステップS408の処理により得られた変換係数Coeff_IQを、ステップS406の直交変換処理に対応する方法で逆直交変換し、予測残差D'を導出する。
 ステップS410において、演算部319は、ステップS409の処理により導出された予測残差D'に、ステップS404の予測処理により得られた予測画像を加算することにより、局所的に復号された復号画像を生成する。
 ステップS411において、インループフィルタ部320は、ステップS410の処理により導出された、局所的に復号された復号画像に対して、インループフィルタ処理を行う。
 ステップS412において、フレームメモリ321は、ステップS410の処理により導出された、局所的に復号された復号画像や、ステップS411においてフィルタ処理された、局所的に復号された復号画像を記憶する。
 ステップS413において、符号化部315は、ステップS407の処理により得られた量子化係数levelや各種符号化パラメータ等を符号化し、符号化データのビットストリームを生成する。
 ステップS414において、蓄積バッファ316は、ステップS413において得られたビットストリームを蓄積し、それを画像符号化装置300の外部に出力する。このビットストリームは、例えば、伝送路や記録媒体を介して復号側に伝送される。また、レート制御部323は、必要に応じてレート制御を行う。
 ステップS414の処理が終了すると、画像符号化処理が終了する。
 このような画像符号化処理のステップS413において、上述した本技術の各方法(方法1、方法2、または方法3)を適用してもよい。
 例えば、ステップS413において、符号化部315(のオペレーションレンジ拡張情報符号化部351)が、図9に示されるオペレーションレンジ拡張情報符号化処理を実行することにより、オペレーションレンジ拡張情報(符号化パラメータ)を符号化してもよい。このようにすることにより、画像符号化装置300は、<3.オペレーションレンジ拡張フラグの制御>において上述した効果(方法1を適用した場合の効果)を得ることができる。つまり、画像符号化装置300は、画像のビット深度を拡張しない仕様との互換性を維持しながら、ビット深度拡張時用の符号化ツールを利用することができる。
 また、例えば、ステップS413において、符号化部315(のオペレーションレンジ拡張情報符号化部351)が、図17に示されるオペレーションレンジ拡張情報符号化処理を実行することにより、オペレーションレンジ拡張情報(符号化パラメータ)を符号化してもよい。このようにすることにより、画像符号化装置300は、<4.オペレーションレンジ拡張ツール制御情報の値の制御>において上述した効果(方法2を適用した場合の効果)を得ることができる。つまり、画像符号化装置300は、画像のビット深度を拡張しない仕様との互換性を維持しながら、ビット深度拡張時用の符号化ツールを利用することができる。
 また、例えば、ステップS413において、符号化部315(のオペレーションレンジ拡張情報符号化部351)が、図20に示されるオペレーションレンジ拡張情報符号化処理を実行することにより、オペレーションレンジ拡張情報(符号化パラメータ)を符号化してもよい。このようにすることにより、画像符号化装置300は、<5.オペレーションレンジ拡張ツール制御情報の伝送制御>において上述した効果(方法3を適用した場合の効果)を得ることができる。つまり、画像符号化装置300は、画像のビット深度を拡張しない仕様との互換性を維持しながら、ビット深度拡張時用の符号化ツールを利用することができる。また、符号量の増大を抑制することができる。
 <7.実施の形態(画像復号装置)>
  <画像復号装置>
 図26は、本技術を適用した画像処理装置の一態様である画像復号装置の構成の一例を示すブロック図である。図26に示される画像復号装置400は、動画像の符号化データを符号化する装置である。例えば、画像復号装置400は、上述の非特許文献のいずれかに記載の復号方式で符号化データを復号することができる。例えば、画像復号装置400は、上述の画像符号化装置300により生成された符号化データ(ビットストリーム)を復号する。
 なお、図26においては、処理部(ブロック)やデータの流れ等の主なものを示しており、図26に示されるものが全てとは限らない。つまり、画像復号装置400において、図26においてブロックとして示されていない処理部を有していてもよい。また、画像復号装置400が、図26において矢印等として示されていない処理やデータの流れを有していてもよい。
 図26において、画像復号装置400は、蓄積バッファ411、復号部412、逆量子化部413、逆直交変換部414、演算部415、インループフィルタ部416、並べ替えバッファ417、フレームメモリ418、および予測部419を備えている。なお、予測部419は、不図示のイントラ予測部およびインター予測部等を備えている。画像復号装置400は、動画像の符号化データを含むビットストリームを復号することによって、動画像データを生成するための装置である。例えば、画像復号装置400は、画像符号化装置300により生成されたビットストリームを正しく復号することができる。
   <蓄積バッファ>
 蓄積バッファ411は、画像復号装置400に入力されたビットストリームを取得し、保持(記憶)する。蓄積バッファ411は、所定のタイミングにおいて、または、所定の条件が整う等した場合、蓄積しているビットストリームを復号部412に供給する。
   <復号部>
 復号部412は、画像の復号に関する処理を行う。例えば、復号部412は、蓄積バッファ411から供給されるビットストリームを入力とし、シンタックステーブルの定義に沿って、そのビット列から、各シンタックス要素のシンタックス値を可変長復号し、パラメータを導出する。
 シンタックス要素およびシンタックス要素のシンタックス値から導出されるパラメータには、例えば、ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfoなどの情報が含まれる。つまり、復号部412は、ビットストリームから、これらの情報をパースする(解析して取得する)。これらの情報について以下に説明する。
   <ヘッダ情報Hinfo>
 ヘッダ情報Hinfoは、例えば、VPS(Video Parameter Set)/SPS(Sequence Parameter Set)/PPS(Picture Parameter Set)/SH(スライスヘッダ)などのヘッダ情報を含む。ヘッダ情報Hinfoには、例えば、画像サイズ(横幅PicWidth、縦幅PicHeight)、ビット深度(輝度bitDepthY, 色差bitDepthC)、色差アレイタイプChromaArrayType、CUサイズの最大値MaxCUSize/最小値MinCUSize、4分木分割(Quad-tree分割ともいう)の最大深度MaxQTDepth/最小深度MinQTDepth、2分木分割(Binary-tree分割)の最大深度MaxBTDepth/最小深度MinBTDepth、変換スキップブロックの最大値MaxTSSize(最大変換スキップブロックサイズともいう)、各符号化ツールのオンオフフラグ(有効フラグともいう)などを規定する情報が含まれる。
 例えば、ヘッダ情報Hinfoに含まれる符号化ツールのオンオフフラグとしては、以下に示す変換、量子化処理に関わるオンオフフラグがある。なお、符号化ツールのオンオフフラグは、該符号化ツールに関わるシンタックスが符号化データ中に存在するか否かを示すフラグとも解釈することができる。また、オンオフフラグの値が1(真)の場合、該符号化ツールが使用可能であることを示し、オンオフフラグの値が0(偽)の場合、該符号化ツールが使用不可であることを示す。なお、フラグ値の解釈は逆であってもよい。
 コンポーネント間予測有効フラグ(ccp_enabled_flag):コンポーネント間予測(CCP(Cross-Component Prediction),CC予測とも称する)が使用可能であるか否かを示すフラグ情報である。例えば、このフラグ情報が「1」(真)の場合、使用可能であることが示され、「0」(偽)の場合、使用不可であることが示される。なお、このCCPは、コンポーネント間線形予測(CCLMまたはCCLMP)とも称する。
 また、ヘッダ情報Hinfo(のSPS)には、上述したオペレーションレンジ拡張情報が含まれてもよい。
   <予測モード情報Pinfo>
 予測モード情報Pinfoには、例えば、処理対象PB(予測ブロック)のサイズ情報PBSize(予測ブロックサイズ)、イントラ予測モード情報IPinfo、動き予測情報MVinfo等の情報が含まれる。
 イントラ予測モード情報IPinfoには、例えば、JCTVC-W1005, 7.3.8.5 Coding Unit syntax中のprev_intra_luma_pred_flag, mpm_idx, rem_intra_pred_mode、およびそのシンタックスから導出される輝度イントラ予測モードIntraPredModeY等が含まれる。
 また、イントラ予測モード情報IPinfoには、例えば、コンポーネント間予測フラグ(ccp_flag(cclmp_flag))、多クラス線形予測モードフラグ(mclm_flag)、色差サンプル位置タイプ識別子(chroma_sample_loc_type_idx)、色差MPM識別子(chroma_mpm_idx)、および、これらのシンタックスから導出される輝度イントラ予測モード(IntraPredModeC)等が含まれる。
 コンポーネント間予測フラグ(ccp_flag(cclmp_flag))は、コンポーネント間線形予測を適用するか否かを示すフラグ情報である。例えば、ccp_flag==1のとき、コンポーネント間予測を適用することを示し、ccp_flag==0のとき、コンポーネント間予測を適用しないことを示す。
 多クラス線形予測モードフラグ(mclm_flag)は、線形予測のモードに関する情報(線形予測モード情報)である。より具体的には、多クラス線形予測モードフラグ(mclm_flag)は、多クラス線形予測モードにするか否かを示すフラグ情報である。例えば、「0」の場合、1クラスモード(単一クラスモード)(例えばCCLMP)であることを示し、「1」の場合、2クラスモード(多クラスモード)(例えばMCLMP)であることを示す。
 色差サンプル位置タイプ識別子(chroma_sample_loc_type_idx)は、色差コンポーネントの画素位置のタイプ(色差サンプル位置タイプとも称する)を識別する識別子である。例えば色フォーマットに関する情報である色差アレイタイプ(ChromaArrayType)が420形式を示す場合、色差サンプル位置タイプ識別子は、以下の式のような割り当て方となる。
  chroma_sample_loc_type_idx == 0:Type2
  chroma_sample_loc_type_idx == 1:Type3
  chroma_sample_loc_type_idx == 2:Type0
  chroma_sample_loc_type_idx == 3:Type1
 なお、この色差サンプル位置タイプ識別子(chroma_sample_loc_type_idx)は、色差コンポーネントの画素位置に関する情報(chroma_sample_loc_info())として(に格納されて)伝送される。
 色差MPM識別子(chroma_mpm_idx)は、色差イントラ予測モード候補リスト(intraPredModeCandListC)の中のどの予測モード候補を色差イントラ予測モードとして指定するかを表す識別子である。
 動き予測情報MVinfoには、例えば、merge_idx, merge_flag, inter_pred_idc, ref_idx_LX, mvp_lX_flag, X={0,1}, mvd等の情報が含まれる(例えば、JCTVC-W1005, 7.3.8.6 Prediction Unit Syntaxを参照)。
 もちろん、予測モード情報Pinfoに含まれる情報は任意であり、これらの情報以外の情報が含まれるようにしてもよい。
   <変換情報Tinfo>
 変換情報Tinfoには、例えば、以下の情報が含まれる。もちろん、変換情報Tinfoに含まれる情報は任意であり、これらの情報以外の情報が含まれるようにしてもよい。
  処理対象変換ブロックの横幅サイズ(TBWSize)および縦幅サイズ(TBHSize)
  変換スキップフラグ(transform_skip_flag(ts_flagとも称する))
  スキャン識別子(scanIdx)
  量子化パラメータ(qp)
  量子化マトリックス(scaling_matrix(例えば、JCTVC-W1005, 7.3.4 Scaling list data syntax))
 なお、TBWSizeおよびTBHSizeの代わりに、log2TBWSizeおよびlog2TBHSizeが変換情報Tinfo含まれてもよい。log2TBWSizeは、2を底とするTBWSizeの対数値である。log2TBHSizeは、2を底とするTBHSizeの対数値である。また、画像復号装置400において、変換スキップフラグは、逆係数変換(逆プライマリ変換および逆セカンダリ変換)をスキップか否かを示すフラグである。
   <フィルタ情報Finfo>
 フィルタ情報Finfoには、例えば、以下に示す各フィルタ処理に関する制御情報が含まれる。
  デブロッキングフィルタ(DBF)に関する制御情報
  画素適応オフセット(SAO)に関する制御情報
  適応ループフィルタ(ALF)に関する制御情報
  その他の線形・非線形フィルタに関する制御情報
 より具体的には、例えば、各フィルタを適用するピクチャや、ピクチャ内の領域を指定する情報や、CU単位のフィルタOn/Off制御情報、スライス、タイルの境界に関するフィルタOn/Off制御情報などが含まれる。もちろん、フィルタ情報Finfoに含まれる情報は任意であり、これらの情報以外の情報が含まれるようにしてもよい。
 復号部412の説明に戻る。復号部412は、ビットストリームを復号して得られた量子化係数levelに関するシンタックスを参照して量子化係数levelを導出する。復号部412は、その量子化係数levelを、逆量子化部413に供給する。
 また、復号部412は、パースしたヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfo等の符号化パラメータを各ブロックへ供給する。例えば、復号部412は、ヘッダ情報Hinfoを、逆量子化部413、逆直交変換部414、予測部419、インループフィルタ部416へ供給する。また、復号部412は、予測モード情報Pinfoを、逆量子化部413および予測部419へ供給する。また、復号部412は、変換情報Tinfoを、逆量子化部413および逆直交変換部414へ供給する。また、復号部412は、フィルタ情報Finfoを、インループフィルタ部416へ供給する。
 もちろん、上述の例は一例であり、この例に限定されない。例えば、各符号化パラメータが任意の処理部に供給されるようにしてもよい。また、その他の情報が、任意の処理部に供給されるようにしてもよい。
   <逆量子化部>
 逆量子化部413は、少なくとも、逆量子化に関する処理を行うために必要な構成を有する。例えば、逆量子化部413は、復号部412から供給される変換情報Tinfoおよび量子化係数levelを入力とし、その変換情報Tinfoに基づいて、量子化係数levelの値をスケーリング(逆量子化)し、逆量子化後の変換係数Coeff_IQを導出する。逆量子化部413は、導出した変換係数Coeff_IQを逆直交変換部414に供給する。
 なお、この逆量子化は、画像符号化装置300の量子化部314による量子化の逆処理として行われる。また、この逆量子化は、画像符号化装置300の逆量子化部317による逆量子化と同様の処理である。つまり、画像符号化装置300の逆量子化部317は、この逆量子化部413と同様の処理(逆量子化)を行う。
   <逆直交変換部>
 逆直交変換部414は、逆直交変換に関する処理を行う。例えば、逆直交変換部414は、逆量子化部413から供給される変換係数Coeff_IQ、および、復号部412から供給される変換情報Tinfoを入力とし、その変換情報Tinfoに基づいて、変換係数Coeff_IQに対して逆直交変換処理を行い、予測残差D'を導出する。例えば、逆直交変換部414は、ST識別子に基づいて、変換係数Coeff_IQに対して逆セカンダリ変換を行ってプライマリ変換係数を生成し、そのプライマリ変換係数に対してプライマリ変換を行い、予測残差D'を生成する。逆直交変換部414は、導出した予測残差D'を演算部415に供給する。
 なお、この逆直交変換は、画像符号化装置300の直交変換部313による直交変換の逆処理として行われる。また、この逆直交変換は、画像符号化装置300の逆直交変換部318による逆直交変換と同様の処理である。つまり、画像符号化装置300の逆直交変換部318は、この逆直交変換部414と同様の処理(逆直交変換)を行う。
 したがって、逆直交変換部414は、画像符号化装置300の逆直交変換部318と同様に、逆直交変換に限らず任意の逆係数変換を行うことができる。この逆係数変換は、画像符号化装置300の直交変換部313が実行する係数変換の逆処理である。つまり、予測残差D'は、変換係数Coeff_IQに対して任意の逆係数変換が行われて導出されてもよい。したがって、逆直交変換部414は、逆係数変換部とも言える。
   <演算部>
 演算部415は、画像に関する情報の加算に関する処理を行う。例えば、演算部415は、逆直交変換部414から供給される予測残差D'と、予測部419から供給される予測画像Pとを入力とする。演算部415は、以下の式に示されるように、予測残差D'とその予測残差D'に対応する予測画像P(予測信号)とを加算し、局所復号画像Rlocalを導出する。演算部415は、導出した局所復号画像Rlocalを、インループフィルタ部416およびフレームメモリ418に供給する。
 Rlocal = D' + P
   <インループフィルタ部>
 インループフィルタ部416は、インループフィルタ処理に関する処理を行う。例えば、インループフィルタ部416は、演算部415から供給される局所復号画像Rlocalと、復号部412から供給されるフィルタ情報Finfoとを入力とする。なお、インループフィルタ部416に入力される情報は任意であり、これらの情報以外の情報が入力されてもよい。
 インループフィルタ部416は、そのフィルタ情報Finfoに基づいて、局所復号画像Rlocalに対して適宜フィルタ処理を行う。
 例えば、インループフィルタ部416は、非特許文献11に記載のように、バイラテラルフィルタ、デブロッキングフィルタ(DBF(DeBlocking Filter))、適応オフセットフィルタ(SAO(Sample Adaptive Offset))、および適応ループフィルタ(ALF(Adaptive Loop Filter))の4つのインループフィルタをこの順に適用する。なお、どのフィルタを適用するか、どの順で適用するかは任意であり、適宜選択可能である。
 インループフィルタ部416は、符号化側(例えば画像符号化装置300のインループフィルタ部320)により行われたフィルタ処理に対応するフィルタ処理を行う。もちろん、インループフィルタ部416が行うフィルタ処理は任意であり、上述の例に限定されない。例えば、インループフィルタ部416がウィーナーフィルタ等を適用するようにしてもよい。
 インループフィルタ部416は、フィルタ処理された局所復号画像Rlocalを並べ替えバッファ417およびフレームメモリ418に供給する。
   <並べ替えバッファ>
 並べ替えバッファ417は、インループフィルタ部416から供給された局所復号画像Rlocalを入力とし、それを保持(記憶)する。並べ替えバッファ417は、その局所復号画像Rlocalを用いてピクチャ単位毎の復号画像Rを再構築し、保持する(バッファ内に格納する)。並べ替えバッファ417は、得られた復号画像Rを、復号順から再生順に並べ替える。並べ替えバッファ417は、並べ替えた復号画像R群を動画像データとして画像復号装置400の外部に出力する。
   <フレームメモリ>
 フレームメモリ418は、画像に関するデータの記憶に関する処理を行う。例えば、フレームメモリ418は、演算部415より供給される局所復号画像Rlocalを入力とし、ピクチャ単位毎の復号画像Rを再構築して、フレームメモリ418内のバッファへ格納する。
 また、フレームメモリ418は、インループフィルタ部416から供給される、インループフィルタ処理された局所復号画像Rlocalを入力とし、ピクチャ単位毎の復号画像Rを再構築して、フレームメモリ418内のバッファへ格納する。フレームメモリ418は、適宜、その記憶している復号画像R(またはその一部)を参照画像として予測部419に供給する。
 なお、フレームメモリ418が、復号画像の生成に係るヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfoなどを記憶するようにしても良い。
   <予測部>
 予測部419は、予測画像の生成に関する処理を行う。例えば、予測部419は、復号部412から供給される予測モード情報Pinfoを入力とし、その予測モード情報Pinfoによって指定される予測方法により予測を行い、予測画像Pを導出する。その導出の際、予測部419は、その予測モード情報Pinfoによって指定される、フレームメモリ418に格納されたフィルタ前またはフィルタ後の復号画像R(またはその一部)を、参照画像として利用する。予測部419は、導出した予測画像Pを、演算部415に供給する。
 なお、これらの処理部(蓄積バッファ411乃至予測部419)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <復号部>
 図27は、復号部412の主な構成例を示すブロック図である。図27に示されるように、復号部412は、オペレーションレンジ拡張情報復号部451を有する。オペレーションレンジ拡張情報復号部451は、オペレーションレンジ拡張情報の符号化データの復号に関する処理を実行する。例えば、オペレーションレンジ拡張情報復号部451は、復号部412によりビットストリームから抽出されたオペレーションレンジ拡張情報を取得してもよい。また、オペレーションレンジ拡張情報復号部451は、復号部412によりビットストリームから抽出された、画像のビット深度を示すパラメータ(BitDepth)を取得してもよい。オペレーションレンジ拡張情報復号部451は、それらの情報を用いて、オペレーションレンジ拡張情報の符号化データの復号に関する処理を行ってもよい。
 また、オペレーションレンジ拡張情報復号部451は、その処理結果として、オペレーションレンジ拡張情報等を、適宜出力してもよい。このオペレーションレンジ拡張情報またはそれに対応する内部変数は、符号化パラメータとして画像復号装置400の任意の処理部に供給され、利用される。例えば、オペレーションレンジ拡張情報(または内部変数)は、復号部412に供給され、復号等に利用されてもよい。また、オペレーションレンジ拡張情報(または内部変数)は、逆直交変換部414に供給され、逆直交変換等に利用されてもよい。
 以上のような構成の復号部412において、上述した本技術の各方法(方法1-1、方法2-1、または方法3)を適用してもよい。
 例えば、オペレーションレンジ拡張情報復号部451が、図12に示されるオペレーションレンジ拡張情報復号装置200と同様の構成を有し、図13に示されるオペレーションレンジ拡張情報復号処理を実行するようにしてもよい。このようにすることにより、画像復号装置400は、<3.オペレーションレンジ拡張フラグの制御>において上述した効果(方法1-1を適用した場合の効果)を得ることができる。つまり、画像復号装置400は、不正なビットストリームの復号を抑制することができる。これにより、画像復号装置400は、より安全にビットストリームを復号する(故障等の発生を抑制する)ことができる。
 また、例えば、オペレーションレンジ拡張情報復号部451が、図12に示されるオペレーションレンジ拡張情報復号装置200と同様の構成を有し、図18に示されるオペレーションレンジ拡張情報復号処理を実行するようにしてもよい。このようにすることにより、画像復号装置400は、<4.オペレーションレンジ拡張ツール制御情報の値の制御>において上述した効果(方法2-1を適用した場合の効果)を得ることができる。つまり、画像復号装置400は、不正なビットストリームの復号を抑制することができる。これにより、画像復号装置400は、より安全にビットストリームを復号する(故障等の発生を抑制する)ことができる。
 また、例えば、オペレーションレンジ拡張情報復号部451が、図21に示されるオペレーションレンジ拡張情報復号装置200と同様の構成を有し、図22に示されるオペレーションレンジ拡張情報復号処理を実行するようにしてもよい。このようにすることにより、画像復号装置400は、<5.オペレーションレンジ拡張ツール制御情報の伝送制御>において上述した効果(方法3を適用した場合の効果)を得ることができる。つまり、画像復号装置400は、画像符号化装置300が生成したビットストリームを正しく復号することができる。つまり、画像復号装置400は、画像のビット深度を拡張しない仕様との互換性を維持しながら、ビット深度拡張時用の符号化ツールを利用することができる。また、符号量の増大を抑制することができる。
  <画像復号処理の流れ>
 次に、以上のような構成の画像復号装置400により実行される画像復号処理の流れの例を、図28のフローチャートを参照して説明する。
 画像復号処理が開始されると、蓄積バッファ411は、ステップS501において、画像復号装置400の外部から供給される符号化データ(ビットストリーム)を取得して保持する(蓄積する)。
 ステップS502において、復号部412は、復号処理を実行し、その符号化データ(ビットストリーム)を復号して量子化係数levelを得る。また、復号部412は、この復号により、符号化データ(ビットストリーム)から各種符号化パラメータをパースする(解析して取得する)。
 ステップS503において、逆量子化部413は、ステップS502の処理により得られた量子化係数levelに対して、符号化側で行われた量子化の逆処理である逆量子化を行い、変換係数Coeff_IQを得る。
 ステップS504において、逆直交変換部414は、ステップS503において得られた変換係数Coeff_IQに対して、符号化側で行われた直交変換処理の逆処理である逆直交変換処理を行い、予測残差D'を得る。
 ステップS505において、予測部419は、ステップS502においてパースされた情報に基づいて、符号化側より指定される予測方法で予測処理を実行し、フレームメモリ418に記憶されている参照画像を参照する等して、予測画像Pを生成する。
 ステップS506において、演算部415は、ステップS504において得られた予測残差D'と、ステップS505において得られた予測画像Pとを加算し、局所復号画像Rlocalを導出する。
 ステップS507において、インループフィルタ部416は、ステップS506の処理により得られた局所復号画像Rlocalに対して、インループフィルタ処理を行う。
 ステップS508において、並べ替えバッファ417は、ステップS507の処理により得られたフィルタ処理された局所復号画像Rlocalを用いて復号画像Rを導出し、その復号画像R群の順序を復号順から再生順に並べ替える。再生順に並べ替えられた復号画像R群は、動画像として画像復号装置400の外部に出力される。
 また、ステップS509において、フレームメモリ418は、ステップS506の処理により得られた局所復号画像Rlocal、および、ステップS507の処理により得られたフィルタ処理後の局所復号画像Rlocalの内、少なくとも一方を記憶する。
 ステップS509の処理が終了すると、画像復号処理が終了する。
 このような画像復号処理のステップS502において、上述した本技術の各方法(方法1-1、方法2-1、または方法3)を適用してもよい。
 例えば、ステップS502において、復号部412(のオペレーションレンジ拡張情報復号部451)が、図13に示されるオペレーションレンジ拡張情報復号処理を実行することにより、オペレーションレンジ拡張情報(符号化パラメータ)の符号化データを復号してもよい。このようにすることにより、画像復号装置400は、<3.オペレーションレンジ拡張フラグの制御>において上述した効果(方法1-1を適用した場合の効果)を得ることができる。つまり、画像復号装置400は、不正なビットストリームの復号を抑制することができる。これにより、画像復号装置400は、より安全にビットストリームを復号する(故障等の発生を抑制する)ことができる。
 また、例えば、ステップS502において、復号部412(のオペレーションレンジ拡張情報復号部451)が、図18に示されるオペレーションレンジ拡張情報復号処理を実行するようにしてもよい。このようにすることにより、画像復号装置400は、<4.オペレーションレンジ拡張ツール制御情報の値の制御>において上述した効果(方法2-1を適用した場合の効果)を得ることができる。つまり、画像復号装置400は、不正なビットストリームの復号を抑制することができる。これにより、画像復号装置400は、より安全にビットストリームを復号する(故障等の発生を抑制する)ことができる。
 また、例えば、ステップS502において、復号部412(のオペレーションレンジ拡張情報復号部451)が、図22に示されるオペレーションレンジ拡張情報復号処理を実行するようにしてもよい。このようにすることにより、画像復号装置400は、<5.オペレーションレンジ拡張ツール制御情報の伝送制御>において上述した効果(方法3を適用した場合の効果)を得ることができる。つまり、画像復号装置400は、画像符号化装置300が生成したビットストリームを正しく復号することができる。つまり、画像復号装置400は、画像のビット深度を拡張しない仕様との互換性を維持しながら、ビット深度拡張時用の符号化ツールを利用することができる。また、符号量の増大を抑制することができる。
 <8.付記>
  <ビット深度>
 以上においては、画像のビット深度を示す情報としてBitDepthを用いるように説明したが、画像のビット深度を得るための情報は任意であり、この例に限定されない。例えば、“ビット深度 - 8”を示すパラメータであるsps_bitdepth_minus8を用いてもよい。このパラメータは、シーケンスパラメータセットに格納される。このパラメータ(sps_bitdepth_minus8)を適用することにより、上述した“BitDepth<=10”の判定は、“sps_bitdepth_minus8 <= 2”と表すことができる。また、上述した“BitDepth > 10”の判定は、“sps_bitdepth_minus8 > 2”と表すことができる。
  <格納場所>
 また、以上においては、オペレーションレンジ拡張情報(オペレーションレンジ拡張フラグやオペレーションレンジ拡張ツール制御情報等)が、シーケンスパラメータセットに格納されるように説明したが、オペレーションレンジ拡張情報の格納場所は任意であり、この例に限定されない。オペレーションレンジ拡張情報は、例えば、ピクチャパラメータセット(PPS(Picture Parameter Set))やスライスヘッダ(slice_header)に格納されてもよい。
  <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図29は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 図29に示されるコンピュータ900において、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903は、バス904を介して相互に接続されている。
 バス904にはまた、入出力インタフェース910も接続されている。入出力インタフェース910には、入力部911、出力部912、記憶部913、通信部914、およびドライブ915が接続されている。
 入力部911は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部912は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部913は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部914は、例えば、ネットワークインタフェースよりなる。ドライブ915は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア921を駆動する。
 以上のように構成されるコンピュータでは、CPU901が、例えば、記憶部913に記憶されているプログラムを、入出力インタフェース910およびバス904を介して、RAM903にロードして実行することにより、上述した一連の処理が行われる。RAM903にはまた、CPU901が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータが実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア921に記録して適用することができる。その場合、プログラムは、リムーバブルメディア921をドライブ915に装着することにより、入出力インタフェース910を介して、記憶部913にインストールすることができる。
 また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部914で受信し、記憶部913にインストールすることができる。
 その他、このプログラムは、ROM902や記憶部913に、あらかじめインストールしておくこともできる。
  <本技術の適用対象>
 本技術は、任意の画像符号化方式や復号方式に適用することができる。つまり、上述した本技術と矛盾しない限り、変換(逆変換)、量子化(逆量子化)、符号化(復号)、予測等、画像符号化・復号に関する各種処理の仕様は任意であり、上述した例に限定されない。また、上述した本技術と矛盾しない限り、これらの処理の内の一部を省略してもよい。
 また本技術は、複数の視点(ビュー(view))の画像を含む多視点画像を符号化する多視点画像符号化システムに適用することができる。また本技術は、複数の視点(ビュー(view))の画像を含む多視点画像の符号化データを復号する多視点画像復号システムに適用することができる。その場合、各視点(ビュー(view))の符号化や復号において、本技術を適用するようにすればよい。
 さらに本技術は、所定のパラメータについてスケーラビリティ(scalability)機能を有するように複数レイヤ化(階層化)された階層画像を符号化する階層画像符号化(スケーラブル符号化)システムに適用することができる。また、本技術は、所定のパラメータについてスケーラビリティ(scalability)機能を有するように複数レイヤ化(階層化)された階層画像の符号化データを復号する階層画像復号(スケーラブル復号)システムに適用することができる。その場合、各階層(レイヤ)の符号化や復号において、本技術を適用するようにすればよい。
 また、本技術は、任意の構成に適用することができる。例えば、本技術は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、およびセルラー通信による端末への配信などにおける送信機や受信機(例えばテレビジョン受像機や携帯電話機)、または、光ディスク、磁気ディスクおよびフラッシュメモリなどの媒体に画像を記録したり、これら記憶媒体から画像を再生したりする装置(例えばハードディスクレコーダやカメラ)などの、様々な電子機器に応用され得る。
 また、例えば、本技術は、システムLSI(Large Scale Integration)等としてのプロセッサ(例えばビデオプロセッサ)、複数のプロセッサ等を用いるモジュール(例えばビデオモジュール)、複数のモジュール等を用いるユニット(例えばビデオユニット)、または、ユニットにさらにその他の機能を付加したセット(例えばビデオセット)等、装置の一部の構成として実施することもできる。
 また、例えば、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。例えば、本技術を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングとして実施するようにしてもよい。例えば、コンピュータ、AV(Audio Visual)機器、携帯型情報処理端末、IoT(Internet of Things)デバイス等の任意の端末に対して、画像(動画像)に関するサービスを提供するクラウドサービスにおいて本技術を実施するようにしてもよい。
 なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
  <本技術を適用可能な分野や用途>
 本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。また、その用途も任意である。
 例えば、本技術は、観賞用コンテンツ等の提供の用に供されるシステムやデバイスに適用することができる。また、例えば、本技術は、交通状況の監理や自動運転制御等、交通の用に供されるシステムやデバイスにも適用することができる。さらに、例えば、本技術は、セキュリティの用に供されるシステムやデバイスにも適用することができる。また、例えば、本技術は、機械等の自動制御の用に供されるシステムやデバイスに適用することができる。さらに、例えば、本技術は、農業や畜産業の用に供されるシステムやデバイスにも適用することができる。また、本技術は、例えば火山、森林、海洋等の自然の状態や野生生物等を監視するシステムやデバイスにも適用することができる。さらに、例えば、本技術は、スポーツの用に供されるシステムやデバイスにも適用することができる。
  <その他>
 なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
 また、符号化データ(ビットストリーム)に関する各種情報(メタデータ等)は、符号化データに関連づけられていれば、どのような形態で伝送または記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(または同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、またはフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
 なお、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。
 また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
 また、例えば、上述したプログラムは、任意の装置において実行されるようにしてもよい。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
 また、例えば、1つのフローチャートの各ステップを、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。さらに、1つのステップに複数の処理が含まれる場合、その複数の処理を、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
 また、コンピュータが実行するプログラムは、以下のような特徴を有していてもよい。例えば、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしてもよい。また、プログラムを記述するステップの処理が並列に実行されるようにしてもよい。さらに、プログラムを記述するステップの処理が、呼び出されとき等の必要なタイミングで個別に実行されるようにしてもよい。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。また、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と組み合わせて実行されるようにしてもよい。
 また、例えば、本技術に関する複数の技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
 なお、本技術は以下のような構成も取ることができる。
 (1) 画像のビット深度に応じて、オペレーションレンジ拡張フラグを符号化するオペレーションレンジ拡張フラグ符号化部と、
 前記オペレーションレンジ拡張フラグに応じて、オペレーションレンジ拡張ツール制御情報を符号化するオペレーションレンジ拡張ツール制御情報符号化部と
 を備え、
 前記オペレーションレンジ拡張フラグは、前記画像のオペレーションレンジの拡張に関するフラグ情報であり、
 前記オペレーションレンジ拡張ツール制御情報は、前記オペレーションレンジを拡張した場合に用いられるオペレーションレンジ拡張ツールの制御情報である
 画像処理装置。
 (2) 前記オペレーションレンジ拡張フラグ符号化部は、
  前記ビット深度を拡張しない場合、前記オペレーションレンジ拡張フラグを偽に設定して符号化し、
  前記ビット深度を拡張する場合、前記オペレーションレンジ拡張フラグを符号化する
 (1)に記載の画像処理装置。
 (3) 前記オペレーションレンジ拡張フラグ符号化部は、
  前記ビット深度が10ビット以下である場合、前記オペレーションレンジ拡張フラグを偽に設定して符号化し、
  前記ビット深度が10ビットより大きい場合、前記オペレーションレンジ拡張フラグを符号化する
 (2)に記載の画像処理装置。
 (4) 前記オペレーションレンジ拡張ツール制御情報符号化部は、前記オペレーションレンジ拡張フラグが偽の場合、前記オペレーションレンジ拡張ツール制御情報の符号化をスキップする
 (2)または(3)に記載の画像処理装置。
 (5) 前記オペレーションレンジ拡張ツール制御情報符号化部は、前記オペレーションレンジ拡張ツール制御情報を、前記オペレーションレンジ拡張ツールが使用不可であることを示す値に設定する
 (4)に記載の画像処理装置。
 (6) 前記オペレーションレンジ拡張ツール制御情報符号化部は、前記オペレーションレンジ拡張フラグが真の場合、前記オペレーションレンジ拡張ツール制御情報を符号化する
 (4)または(5)に記載の画像処理装置。
 (7) 前記オペレーションレンジ拡張ツール制御情報は、直交変換の内部演算精度の拡張に関する制御フラグを含む
 (1)乃至(6)のいずれかに記載の画像処理装置。
 (8) 前記オペレーションレンジ拡張ツール制御情報符号化部は、前記直交変換の内部演算精度の拡張に関する内部変数を、前記制御フラグの値に設定する
 (7)に記載の画像処理装置。
 (9) 前記オペレーションレンジ拡張ツール制御情報は、TSRC(Transform Skip Residual Coding)のライスパラメータの拡張に関する制御フラグを含む
 (1)乃至(8)のいずれかに記載の画像処理装置。
 (10) 前記オペレーションレンジ拡張ツール制御情報は、RRC(Regular Residual Coding)のライスパラメータの拡張に関する制御フラグを含む
 (1)乃至(9)のいずれかに記載の画像処理装置。
 (11) 画像のビット深度に応じて、オペレーションレンジ拡張フラグを符号化し、
 前記オペレーションレンジ拡張フラグに応じて、オペレーションレンジ拡張ツール制御情報を符号化し、
 前記オペレーションレンジ拡張フラグは、前記画像のオペレーションレンジの拡張に関するフラグ情報であり、
 前記オペレーションレンジ拡張ツール制御情報は、前記オペレーションレンジを拡張した場合に用いられるオペレーションレンジ拡張ツールの制御情報である
 画像処理方法。
 (21) オペレーションレンジ拡張フラグを符号化するオペレーションレンジ拡張フラグ符号化部と、
 画像のビット深度に応じて、オペレーションレンジ拡張ツール制御情報を符号化するオペレーションレンジ拡張ツール制御情報符号化部と
 を備え、
 前記オペレーションレンジ拡張フラグは、前記画像のオペレーションレンジの拡張に関するフラグ情報であり、
 前記オペレーションレンジ拡張ツール制御情報は、前記オペレーションレンジを拡張した場合に用いられるオペレーションレンジ拡張ツールの制御情報である
 画像処理装置。
 (22) 前記オペレーションレンジ拡張ツール制御情報符号化部は、
  前記オペレーションレンジ拡張フラグが真であり、かつ、前記ビット深度を拡張しない場合、前記オペレーションレンジ拡張ツール制御情報を、前記オペレーションレンジ拡張ツールが使用不可であることを示す値に設定して符号化し、
  前記オペレーションレンジ拡張フラグが真であり、かつ、前記ビット深度を拡張する場合、前記オペレーションレンジ拡張ツール制御情報を符号化する
 (21)に記載の画像処理装置。
 (23) 前記オペレーションレンジ拡張ツール制御情報符号化部は、
  前記オペレーションレンジ拡張フラグが真であり、かつ、前記ビット深度が10ビット以下である場合、前記オペレーションレンジ拡張ツール制御情報を、前記オペレーションレンジ拡張ツールが使用不可であることを示す値に設定して符号化し、
  前記オペレーションレンジ拡張フラグが真であり、かつ、前記ビット深度が10ビットより大きい場合、前記オペレーションレンジ拡張ツール制御情報を符号化する
 (22)に記載の画像処理装置。
 (24) 前記オペレーションレンジ拡張ツール制御情報符号化部は、前記オペレーションレンジ拡張フラグが偽の場合、前記オペレーションレンジ拡張ツール制御情報の符号化をスキップする
 (22)または(23)に記載の画像処理装置。
 (25) 前記オペレーションレンジ拡張ツール制御情報符号化部は、前記オペレーションレンジ拡張ツール制御情報を、前記オペレーションレンジ拡張ツールが使用不可であることを示す値に設定する
 (24)に記載の画像処理装置。
 (26) 前記オペレーションレンジ拡張ツール制御情報は、直交変換の内部演算精度の拡張に関する制御フラグを含む
 (21)乃至(25)のいずれかに記載の画像処理装置。
 (27) 前記オペレーションレンジ拡張ツール制御情報符号化部は、前記直交変換の内部演算精度の拡張に関する内部変数を、前記制御フラグの値に設定する
 (26)に記載の画像処理装置。
 (28) 前記オペレーションレンジ拡張ツール制御情報は、TSRC(Transform Skip Residual Coding)のライスパラメータの拡張に関する制御フラグを含む
 (21)乃至(27)のいずれかに記載の画像処理装置。
 (29) 前記オペレーションレンジ拡張ツール制御情報は、RRC(Regular Residual Coding)のライスパラメータの拡張に関する制御フラグを含む
 (21)乃至(28)のいずれかに記載の画像処理装置。
 (30) オペレーションレンジ拡張フラグを符号化し、
 画像のビット深度に応じて、オペレーションレンジ拡張ツール制御情報を符号化し、
 前記オペレーションレンジ拡張フラグは、前記画像のオペレーションレンジの拡張に関するフラグ情報であり、
 前記オペレーションレンジ拡張ツール制御情報は、前記オペレーションレンジを拡張した場合に用いられるオペレーションレンジ拡張ツールの制御情報である
 画像処理方法。
 (41) オペレーションレンジ拡張フラグの符号化データを復号するオペレーションレンジ拡張フラグ復号部と、
 前記オペレーションレンジ拡張フラグに応じて、オペレーションレンジ拡張ツール制御情報の符号化データを復号するオペレーションレンジ拡張ツール制御情報復号部と、
 画像のビットストリームに制約違反があるかを確認する確認部と
 を備え、
 前記オペレーションレンジ拡張フラグは、前記画像のオペレーションレンジの拡張に関するフラグ情報であり、
 前記オペレーションレンジ拡張ツール制御情報は、前記オペレーションレンジを拡張した場合に用いられるオペレーションレンジ拡張ツールの制御情報である
 画像処理装置。
 (42) 前記確認部は、前記オペレーションレンジ拡張フラグが真の場合、前記ビットストリームに制約違反があるかを確認する
 (41)に記載の画像処理装置。
 (43) 前記確認部は、前記ビットストリームにおいて前記画像のビット深度が拡張されているかを確認する
 (42)に記載の画像処理装置。
 (44) 前記確認部は、前記ビットストリームにおいて前記ビット深度が10ビットより大きいかを確認する
 (43)に記載の画像処理装置。
 (45) 前記オペレーションレンジ拡張ツール制御情報復号部は、前記ビットストリームに制約違反が無い場合、前記オペレーションレンジ拡張ツール制御情報の符号化データを復号する
 (42)乃至(44)のいずれかに記載の画像処理装置。
 (46) 前記確認部は、前記ビットストリームに制約違反が有る場合、前記ビットストリームが制約を満たさないことを通知する
 (42)乃至(45)のいずれかに記載の画像処理装置。
 (47) 前記オペレーションレンジ拡張フラグが真の場合、
  前記オペレーションレンジ拡張ツール制御情報復号部は、前記オペレーションレンジ拡張ツール制御情報の符号化データを復号し、
  前記確認部は、前記オペレーションレンジ拡張ツール制御情報を用いて、前記ビットストリームに制約違反があるかを確認する
 (41)乃至(46)のいずれかに記載の画像処理装置。
 (48) 前記確認部は、前記ビットストリームにおいて前記画像のビット深度が拡張されておらず、かつ、前記オペレーションレンジ拡張ツール制御情報が、前記オペレーションレンジ拡張ツールが使用不可であることを示す値でないかを確認する
 (47)に記載の画像処理装置。
 (49) 前記確認部は、前記ビットストリームにおいて前記ビット深度が10ビット以下であり、かつ、前記オペレーションレンジ拡張ツール制御情報が、前記オペレーションレンジ拡張ツールが使用不可であることを示す値でないかを確認する
 (48)に記載の画像処理装置。
 (50) 前記確認部は、前記ビットストリームに制約違反が有る場合、前記ビットストリームが制約を満たさないことを通知する
 (47)乃至(49)のいずれかに記載の画像処理装置。
 (51) 前記オペレーションレンジ拡張ツール制御情報復号部は、前記オペレーションレンジ拡張フラグが偽の場合、前記オペレーションレンジ拡張ツール制御情報の符号化データの復号をスキップし、前記オペレーションレンジ拡張ツール制御情報を、前記オペレーションレンジ拡張ツールが使用不可であることを示す値に設定する
 (41)乃至(50)のいずれかに記載の画像処理装置。
 (52) 前記オペレーションレンジ拡張ツール制御情報は、直交変換の内部演算精度の拡張に関する制御フラグを含む
 (41)乃至(51)のいずれかに記載の画像処理装置。
 (53) 前記オペレーションレンジ拡張ツール制御情報復号部は、前記直交変換の内部演算精度の拡張に関する内部変数を、前記制御フラグの値に設定する
 (52)に記載の画像処理装置。
 (54) 前記オペレーションレンジ拡張ツール制御情報は、TSRC(Transform Skip Residual Coding)のライスパラメータの拡張に関する制御フラグを含む
 (41)乃至(53)のいずれかに記載の画像処理装置。
 (55) 前記オペレーションレンジ拡張ツール制御情報は、RRC(Regular Residual Coding)のライスパラメータの拡張に関する制御フラグを含む
 (41)乃至(54)のいずれかに記載の画像処理装置。
 (56) オペレーションレンジ拡張フラグの符号化データを復号し、
 前記オペレーションレンジ拡張フラグに応じて、オペレーションレンジ拡張ツール制御情報の符号化データを復号し、
 画像のビットストリームに制約違反があるかを確認し、
 前記オペレーションレンジ拡張フラグは、前記画像のオペレーションレンジの拡張に関するフラグ情報であり、
 前記オペレーションレンジ拡張ツール制御情報は、前記オペレーションレンジを拡張した場合に用いられるオペレーションレンジ拡張ツールの制御情報である
 画像処理方法。
 (61) オペレーションレンジ拡張フラグを符号化するオペレーションレンジ拡張フラグ符号化部と、
 前記オペレーションレンジ拡張フラグおよび画像のビット深度に応じて、オペレーションレンジ拡張ツール制御情報を符号化するオペレーションレンジ拡張ツール制御情報符号化部と
 を備え、
 前記オペレーションレンジ拡張フラグは、前記画像のオペレーションレンジの拡張に関するフラグ情報であり、
 前記オペレーションレンジ拡張ツール制御情報は、前記オペレーションレンジを拡張した場合に用いられるオペレーションレンジ拡張ツールの制御情報である
 画像処理装置。
 (62) 前記オペレーションレンジ拡張ツール制御情報符号化部は、
  前記オペレーションレンジ拡張フラグが偽であるか、または、前記ビット深度を拡張しない場合、前記オペレーションレンジ拡張ツール制御情報の符号化をスキップし、
  前記オペレーションレンジ拡張フラグが真であり、かつ、前記ビット深度を拡張する場合、前記オペレーションレンジ拡張ツール制御情報を符号化する
 (61)に記載の画像処理装置。
 (63) 前記オペレーションレンジ拡張ツール制御情報符号化部は、
  前記オペレーションレンジ拡張フラグが偽であるか、または、前記ビット深度が10ビット以下である場合、前記オペレーションレンジ拡張ツール制御情報の符号化をスキップし、
  前記オペレーションレンジ拡張フラグが真であり、かつ、前記ビット深度が10ビットより大きい場合、前記オペレーションレンジ拡張ツール制御情報を符号化する
 (62)に記載の画像処理装置。
 (64) 前記オペレーションレンジ拡張ツール制御情報符号化部は、前記オペレーションレンジ拡張フラグが偽であるか、または、前記ビット深度を拡張しない場合、さらに、前記オペレーションレンジ拡張ツール制御情報を、前記オペレーションレンジ拡張ツールが使用不可であることを示す値に設定する
 (62)または(63)に記載の画像処理装置。
 (65) 前記オペレーションレンジ拡張ツール制御情報符号化部は、前記オペレーションレンジ拡張フラグが偽であるか、または、前記ビット深度が10ビット以下である場合、さらに、前記オペレーションレンジ拡張ツール制御情報を、前記オペレーションレンジ拡張ツールが使用不可であることを示す値に設定する
 (64)に記載の画像処理装置。
 (66) 前記オペレーションレンジ拡張ツール制御情報は、直交変換の内部演算精度の拡張に関する制御フラグを含む
 (61)乃至(65)のいずれかに記載の画像処理装置。
 (67) 前記オペレーションレンジ拡張ツール制御情報符号化部は、前記直交変換の内部演算精度の拡張に関する内部変数を、前記制御フラグの値に設定する
 (66)に記載の画像処理装置。
 (68) 前記オペレーションレンジ拡張ツール制御情報は、TSRC(Transform Skip Residual Coding)のライスパラメータの拡張に関する制御フラグを含む
 (61)乃至(67)のいずれかに記載の画像処理装置。
 (69) 前記オペレーションレンジ拡張ツール制御情報は、RRC(Regular Residual Coding)のライスパラメータの拡張に関する制御フラグを含む
 (61)乃至(68)のいずれかに記載の画像処理装置。
 (70) オペレーションレンジ拡張フラグを符号化し、
 前記オペレーションレンジ拡張フラグおよび画像のビット深度に応じて、オペレーションレンジ拡張ツール制御情報を符号化し、
 前記オペレーションレンジ拡張フラグは、前記画像のオペレーションレンジの拡張に関するフラグ情報であり、
 前記オペレーションレンジ拡張ツール制御情報は、前記オペレーションレンジを拡張した場合に用いられるオペレーションレンジ拡張ツールの制御情報である
 画像処理方法。
 (81) オペレーションレンジ拡張フラグの符号化データを復号するオペレーションレンジ拡張フラグ復号部と、
 前記オペレーションレンジ拡張フラグおよび画像のビット深度に応じて、オペレーションレンジ拡張ツール制御情報の符号化データを復号するオペレーションレンジ拡張ツール制御情報復号部と
 を備え、
 前記オペレーションレンジ拡張フラグは、前記画像のオペレーションレンジの拡張に関するフラグ情報であり、
 前記オペレーションレンジ拡張ツール制御情報は、前記オペレーションレンジを拡張した場合に用いられるオペレーションレンジ拡張ツールの制御情報である
 画像処理装置。
 (82) 前記オペレーションレンジ拡張ツール制御情報復号部は、
  前記オペレーションレンジ拡張フラグが偽であるか、または、前記ビット深度を拡張しない場合、前記オペレーションレンジ拡張ツール制御情報の符号化データの復号をスキップし、前記オペレーションレンジ拡張ツール制御情報を、前記オペレーションレンジ拡張ツールが使用不可であることを示す値に設定し、
  前記オペレーションレンジ拡張フラグが真であり、かつ、前記ビット深度を拡張する場合、前記オペレーションレンジ拡張ツール制御情報の符号化データを復号する
 (81)に記載の画像処理装置。
 (83) 前記オペレーションレンジ拡張ツール制御情報復号部は、
  前記オペレーションレンジ拡張フラグが偽であるか、または、前記ビット深度が10ビット以下である場合、前記オペレーションレンジ拡張ツール制御情報の符号化データの復号をスキップし、前記オペレーションレンジ拡張ツール制御情報を、前記オペレーションレンジ拡張ツールが使用不可であることを示す値に設定し、
  前記オペレーションレンジ拡張フラグが真であり、かつ、前記ビット深度が10ビットより大きい場合、前記オペレーションレンジ拡張ツール制御情報の符号化データを復号する
 (82)に記載の画像処理装置。
 (84) 前記オペレーションレンジ拡張ツール制御情報は、直交変換の内部演算精度の拡張に関する制御フラグを含む
 (81)乃至(83)のいずれかに記載の画像処理装置。
 (85) 前記オペレーションレンジ拡張ツール制御情報復号部は、前記直交変換の内部演算精度の拡張に関する内部変数を、前記制御フラグの値に設定する
 (84)に記載の画像処理装置。
 (86) 前記オペレーションレンジ拡張ツール制御情報は、TSRC(Transform Skip Residual Coding)のライスパラメータの拡張に関する制御フラグを含む
 (81)乃至(85)のいずれかに記載の画像処理装置。
 (87) 前記オペレーションレンジ拡張ツール制御情報は、RRC(Regular Residual Coding)のライスパラメータの拡張に関する制御フラグを含む
 (81)乃至(86)のいずれかに記載の画像処理装置。
 (88) オペレーションレンジ拡張フラグの符号化データを復号し、
 前記オペレーションレンジ拡張フラグおよび画像のビット深度に応じて、オペレーションレンジ拡張ツール制御情報の符号化データを復号し、
 前記オペレーションレンジ拡張フラグは、前記画像のオペレーションレンジの拡張に関するフラグ情報であり、
 前記オペレーションレンジ拡張ツール制御情報は、前記オペレーションレンジを拡張した場合に用いられるオペレーションレンジ拡張ツールの制御情報である
 画像処理方法。
 100 オペレーションレンジ拡張情報符号化装置, 111 オペレーションレンジ拡張フラグ符号化部, 112 オペレーションレンジ拡張ツール制御情報符号化部, 200 オペレーションレンジ拡張情報復号装置, 211 オペレーションレンジ拡張フラグ復号部, 212 オペレーションレンジ拡張ツール制御情報復号部, 213 制約違反処理部, 300 画像符号化装置, 315 符号化部, 351 オペレーションレンジ拡張情報符号化部, 400 画像復号装置, 412 復号部, 451 オペレーションレンジ拡張情報復号部, 900 コンピュータ

Claims (20)

  1.  画像のビット深度に応じて、オペレーションレンジ拡張フラグを符号化するオペレーションレンジ拡張フラグ符号化部と、
     前記オペレーションレンジ拡張フラグに応じて、オペレーションレンジ拡張ツール制御情報を符号化するオペレーションレンジ拡張ツール制御情報符号化部と
     を備え、
     前記オペレーションレンジ拡張フラグは、前記画像のオペレーションレンジの拡張に関するフラグ情報であり、
     前記オペレーションレンジ拡張ツール制御情報は、前記オペレーションレンジを拡張した場合に用いられるオペレーションレンジ拡張ツールの制御情報である
     画像処理装置。
  2.  前記オペレーションレンジ拡張フラグ符号化部は、
      前記ビット深度を拡張しない場合、前記オペレーションレンジ拡張フラグを偽に設定して符号化し、
      前記ビット深度を拡張する場合、前記オペレーションレンジ拡張フラグを符号化する
     請求項1に記載の画像処理装置。
  3.  前記オペレーションレンジ拡張フラグ符号化部は、
      前記ビット深度が10ビット以下である場合、前記オペレーションレンジ拡張フラグを偽に設定して符号化し、
      前記ビット深度が10ビットより大きい場合、前記オペレーションレンジ拡張フラグを符号化する
     請求項2に記載の画像処理装置。
  4.  前記オペレーションレンジ拡張ツール制御情報符号化部は、前記オペレーションレンジ拡張フラグが偽の場合、前記オペレーションレンジ拡張ツール制御情報の符号化をスキップする
     請求項2に記載の画像処理装置。
  5.  前記オペレーションレンジ拡張ツール制御情報符号化部は、前記オペレーションレンジ拡張ツール制御情報を、前記オペレーションレンジ拡張ツールが使用不可であることを示す値に設定する
     請求項4に記載の画像処理装置。
  6.  前記オペレーションレンジ拡張ツール制御情報は、直交変換の内部演算精度の拡張に関する制御フラグを含む
     請求項1に記載の画像処理装置。
  7.  前記オペレーションレンジ拡張ツール制御情報符号化部は、前記直交変換の内部演算精度の拡張に関する内部変数を、前記制御フラグの値に設定する
     請求項6に記載の画像処理装置。
  8.  前記オペレーションレンジ拡張ツール制御情報は、TSRC(Transform Skip Residual Coding)のライスパラメータの拡張に関する制御フラグを含む
     請求項1に記載の画像処理装置。
  9.  前記オペレーションレンジ拡張ツール制御情報は、RRC(Regular Residual Coding)のライスパラメータの拡張に関する制御フラグを含む
     請求項1に記載の画像処理装置。
  10.  画像のビット深度に応じて、オペレーションレンジ拡張フラグを符号化し、
     前記オペレーションレンジ拡張フラグに応じて、オペレーションレンジ拡張ツール制御情報を符号化し、
     前記オペレーションレンジ拡張フラグは、前記画像のオペレーションレンジの拡張に関するフラグ情報であり、
     前記オペレーションレンジ拡張ツール制御情報は、前記オペレーションレンジを拡張した場合に用いられるオペレーションレンジ拡張ツールの制御情報である
     画像処理方法。
  11.  オペレーションレンジ拡張フラグを符号化するオペレーションレンジ拡張フラグ符号化部と、
     画像のビット深度に応じて、オペレーションレンジ拡張ツール制御情報を符号化するオペレーションレンジ拡張ツール制御情報符号化部と
     を備え、
     前記オペレーションレンジ拡張フラグは、前記画像のオペレーションレンジの拡張に関するフラグ情報であり、
     前記オペレーションレンジ拡張ツール制御情報は、前記オペレーションレンジを拡張した場合に用いられるオペレーションレンジ拡張ツールの制御情報である
     画像処理装置。
  12.  前記オペレーションレンジ拡張ツール制御情報符号化部は、
      前記オペレーションレンジ拡張フラグが真であり、かつ、前記ビット深度を拡張しない場合、前記オペレーションレンジ拡張ツール制御情報を、前記オペレーションレンジ拡張ツールが使用不可であることを示す値に設定して符号化し、
      前記オペレーションレンジ拡張フラグが真であり、かつ、前記ビット深度を拡張する場合、前記オペレーションレンジ拡張ツール制御情報を符号化する
     請求項11に記載の画像処理装置。
  13.  前記オペレーションレンジ拡張ツール制御情報符号化部は、
      前記オペレーションレンジ拡張フラグが真であり、かつ、前記ビット深度が10ビット以下である場合、前記オペレーションレンジ拡張ツール制御情報を、前記オペレーションレンジ拡張ツールが使用不可であることを示す値に設定して符号化し、
      前記オペレーションレンジ拡張フラグが真であり、かつ、前記ビット深度が10ビットより大きい場合、前記オペレーションレンジ拡張ツール制御情報を符号化する
     請求項12に記載の画像処理装置。
  14.  前記オペレーションレンジ拡張ツール制御情報符号化部は、前記オペレーションレンジ拡張フラグが偽の場合、前記オペレーションレンジ拡張ツール制御情報の符号化をスキップする
     請求項12に記載の画像処理装置。
  15.  前記オペレーションレンジ拡張ツール制御情報符号化部は、前記オペレーションレンジ拡張ツール制御情報を、前記オペレーションレンジ拡張ツールが使用不可であることを示す値に設定する
     請求項14に記載の画像処理装置。
  16.  前記オペレーションレンジ拡張ツール制御情報は、直交変換の内部演算精度の拡張に関する制御フラグを含む
     請求項11に記載の画像処理装置。
  17.  前記オペレーションレンジ拡張ツール制御情報符号化部は、前記直交変換の内部演算精度の拡張に関する内部変数を、前記制御フラグの値に設定する
     請求項16に記載の画像処理装置。
  18.  前記オペレーションレンジ拡張ツール制御情報は、TSRC(Transform Skip Residual Coding)のライスパラメータの拡張に関する制御フラグを含む
     請求項11に記載の画像処理装置。
  19.  前記オペレーションレンジ拡張ツール制御情報は、RRC(Regular Residual Coding)のライスパラメータの拡張に関する制御フラグを含む
     請求項11に記載の画像処理装置。
  20.  オペレーションレンジ拡張フラグを符号化し、
     画像のビット深度に応じて、オペレーションレンジ拡張ツール制御情報を符号化し、
     前記オペレーションレンジ拡張フラグは、前記画像のオペレーションレンジの拡張に関するフラグ情報であり、
     前記オペレーションレンジ拡張ツール制御情報は、前記オペレーションレンジを拡張した場合に用いられるオペレーションレンジ拡張ツールの制御情報である
     画像処理方法。
PCT/JP2022/022248 2021-06-03 2022-06-01 画像処理装置および方法 WO2022255395A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202280037393.6A CN117413522A (zh) 2021-06-03 2022-06-01 图像处理装置和方法
KR1020237039346A KR20240018432A (ko) 2021-06-03 2022-06-01 화상 처리 장치 및 방법
MX2023014425A MX2023014425A (es) 2021-06-03 2022-06-01 Dispositivo y metodo de procesamiento de imagenes.
EP22816141.0A EP4351143A4 (en) 2021-06-03 2022-06-01 IMAGE PROCESSING APPARATUS AND METHOD
JP2023525881A JPWO2022255395A1 (ja) 2021-06-03 2022-06-01

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202163196283P 2021-06-03 2021-06-03
US63/196,283 2021-06-03

Publications (1)

Publication Number Publication Date
WO2022255395A1 true WO2022255395A1 (ja) 2022-12-08

Family

ID=84323423

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/022248 WO2022255395A1 (ja) 2021-06-03 2022-06-01 画像処理装置および方法

Country Status (6)

Country Link
EP (1) EP4351143A4 (ja)
JP (1) JPWO2022255395A1 (ja)
KR (1) KR20240018432A (ja)
CN (1) CN117413522A (ja)
MX (1) MX2023014425A (ja)
WO (1) WO2022255395A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022268608A3 (en) * 2021-06-24 2023-04-13 Interdigital Vc Holdings France, Sas Method and apparatus for video encoding and decoding

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
B. BROSS, J. CHEN, S. LIU, Y.-K. WANG: "Versatile Video Coding Editorial Refinements on Draft 10", 20. JVET MEETING; 20201007 - 20201016; TELECONFERENCE; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), no. JVET-T2001, 24 November 2020 (2020-11-24), XP030293334 *
BENJAMIN BROSSJIANLE CHENSHAN LIU: "Versatile Video Coding (Draft 10", JVET-T2001-V2, JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29, 27 October 2020 (2020-10-27)
DMYTRO RUSANOVSKYYMARTA KARCZEWICZLUONG PHAM VANMUHAMMED COBAN: "CE-related: On history-enhanced method of Rice parameter derivation for regular residual coding (RRC) at high bit depths", JVET-V0106, JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29, 19 April 2021 (2021-04-19)
FRANK BOSSENBENJAMIN BROSSTOMOHIRO IKAIDMYTRO RUSANOVSKYYYE-KUI WANG: "VVC operation-range extensions (Draft 3", JVET-V2005-V1, JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29, 7 May 2021 (2021-05-07)
HONG-JHENG JHUXIAOYU XIUYI-WEN CHENWEI CHENCHE-WEI KUOXIANGLIN WANG: "CE-2.1: Slice based Rice parameter selection for transform skip residual coding", JVET-V0054-R1, JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29, 29 April 2021 (2021-04-29)
JIANLE CHENYAN YESEUNG HWAN KIM: "Algorithm description for Versatile Video Coding and Test Model 11 (VTM 11", JVET-T2002-VL, JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29, 27 October 2020 (2020-10-27)
See also references of EP4351143A4
TIANYANG ZHOUTAKESHI CHUJOHTOMOHIRO IKAI: "CE-3.1 and CE-3.2: Transform coefficients range extension for high bit depth coding", JVET-V0047, JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29, 13 April 2021 (2021-04-13)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022268608A3 (en) * 2021-06-24 2023-04-13 Interdigital Vc Holdings France, Sas Method and apparatus for video encoding and decoding

Also Published As

Publication number Publication date
CN117413522A (zh) 2024-01-16
MX2023014425A (es) 2023-12-15
EP4351143A4 (en) 2024-05-22
KR20240018432A (ko) 2024-02-13
JPWO2022255395A1 (ja) 2022-12-08
EP4351143A1 (en) 2024-04-10

Similar Documents

Publication Publication Date Title
WO2021125309A1 (ja) 画像処理装置および方法
US20240040137A1 (en) Image processing apparatus and method
US20210006836A1 (en) Image encoding apparatus, image encoding method, image decoding apparatus, and image decoding method
WO2021100588A1 (ja) 画像処理装置および方法
WO2022255395A1 (ja) 画像処理装置および方法
JP7235031B2 (ja) 画像処理装置および方法
WO2023053957A1 (ja) 画像処理装置および方法
WO2022270451A1 (ja) 画像処理装置および方法
JP7517348B2 (ja) 画像処理装置および方法
EP4050896B1 (en) Image processing device and method
WO2022202157A1 (ja) 画像処理装置および方法
JP7517350B2 (ja) 画像処理装置および方法
WO2023048012A1 (ja) 画像処理装置および方法
WO2021045187A1 (ja) 画像処理装置および方法
WO2023195330A1 (ja) 画像処理装置および方法
US20220021899A1 (en) Image encoding apparatus, image encoding method, image decoding apparatus, and image decoding method
KR20220128338A (ko) 화상 처리 장치 및 방법

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023525881

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 202280037393.6

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: MX/A/2023/014425

Country of ref document: MX

WWE Wipo information: entry into national phase

Ref document number: 2022816141

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2022816141

Country of ref document: EP

Effective date: 20240103