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

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

Info

Publication number
WO2020100672A1
WO2020100672A1 PCT/JP2019/043380 JP2019043380W WO2020100672A1 WO 2020100672 A1 WO2020100672 A1 WO 2020100672A1 JP 2019043380 W JP2019043380 W JP 2019043380W WO 2020100672 A1 WO2020100672 A1 WO 2020100672A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
sub
coefficient
transform coefficient
unit
Prior art date
Application number
PCT/JP2019/043380
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 CN201980073751.7A priority Critical patent/CN113039794B/zh
Priority to US17/290,777 priority patent/US20210385456A1/en
Publication of WO2020100672A1 publication Critical patent/WO2020100672A1/ja
Priority to US18/167,903 priority patent/US20230199187A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present disclosure relates to an image processing device and method, and more particularly to an image processing device and method capable of suppressing a reduction in encoding efficiency.
  • processing that sets the high-frequency region coefficient of blocks of sizes larger than 32x32 to 0 has been proposed.
  • the image data of this block becomes the effective coefficient data of the 32x32 area on the upper left of the block and the coefficient data of the value "0" of other areas by the above-mentioned processing. It is converted and encoded (see Non-Patent Document 1, for example).
  • the present disclosure has been made in view of such a situation, and makes it possible to suppress a reduction in encoding efficiency.
  • the image processing device is an image processing device that includes a coding unit that skips coding of an invalid transform coefficient region of coefficient data regarding an image and codes a valid transform coefficient region.
  • the image processing method is an image processing method that skips the coding of the invalid conversion coefficient area of the coefficient data related to the image and codes the valid conversion coefficient area.
  • An image processing device is an image processing device including a decoding unit that skips decoding of an invalid transform coefficient region of coded data in which coefficient data regarding an image is coded, and decodes an effective transform coefficient region of the coded data. Is.
  • the image processing method is an image processing method that skips decoding of the invalid conversion coefficient region of coded data in which coefficient data regarding an image is coded and decodes the effective conversion coefficient region.
  • the coding of the invalid conversion coefficient region of the coefficient data regarding the image is skipped, and the effective conversion coefficient region is coded.
  • decoding of the invalid conversion coefficient region of the encoded data in which the coefficient data regarding the image is encoded is skipped, and the effective conversion coefficient region is decoded.
  • Non-Patent Document 1 (described above)
  • Non-Patent Document 2 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (International Telecommunication Union), "Advanced video coding for generic audiovisual services", H.264, 04/2017.
  • Non-Patent Document 3 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (International Telecommunication Union), "High efficiency video coding", H.265, 12/2016
  • Non-Patent Document 4 Jianle Chen, Maria Alshina, Gary J.
  • the contents described in the above non-patent documents are also the basis for determining support requirements.
  • the Quad-Tree Block Structure described in Non-Patent Document 3 and the QTBT (Quad Tree Plus Binary Tree) Block Structure described in Non-Patent Document 4 are not directly described in the embodiment, It is within the technical disclosure range and satisfies the support requirements of the claims. Further, for example, technical terms such as Parsing, Syntax, and Semantics are also within the disclosure range of the present technology even when there is no direct description in the examples, Shall meet the support requirements in the range of.
  • a “block” (not a block indicating a processing unit) used for description as a partial region of an image (picture) or a processing unit indicates an arbitrary partial region in a picture, unless otherwise specified.
  • the size, shape, characteristics, etc. are not limited.
  • “block” includes TB (Transform Block), TU (Transform Unit), PB (Prediction Block), PU (Prediction Unit), and SCU (Smallest Coding) described in Non-Patent Documents 2 to 4 above.
  • Unit CU (Coding Unit), LCU (Largest Coding Unit), CTB (Coding Tree Block), CTU (Coding Tree Unit), conversion block, sub-block, macro block, tile, slice, etc. Processing unit).
  • the block size may be indirectly specified.
  • the block size may be specified using identification information for identifying the size.
  • the block size may be designated by a ratio or a difference with respect to the size of a reference block (for example, LCU or SCU).
  • a reference block for example, LCU or SCU.
  • the block size designation also includes designation of a block size range (for example, designation of an allowable block size range).
  • encoding includes not only the entire process of converting an image into a bitstream but also a part of the process. For example, it includes not only processing that includes prediction processing, orthogonal transformation, quantization, and arithmetic coding, but also processing that collectively refers to quantization and arithmetic coding, that includes prediction processing, quantization, and arithmetic coding. Including processing, etc.
  • decoding includes not only the whole process of converting a bitstream into an image, but also a part of the process.
  • it includes not only processing that includes inverse arithmetic decoding, inverse quantization, inverse orthogonal transformation, prediction processing, etc., but also processing that includes inverse arithmetic decoding and inverse quantization, inverse arithmetic decoding, inverse quantization, and prediction processing. Including comprehensive processing, etc.
  • the CTU is further divided into CUs (coding units) using a quad-tree structure.
  • PU prediction unit
  • TU Transform Unit
  • PU size and TU size can be selected independently according to the characteristics of the input image.
  • TU can be divided in a quaternary-tree structure.
  • Non-Patent Document 4 a multi-type tree (binary-tree, ternary-tree) + quad-tree structure is adopted instead of the HEVC concept of CU / PU / TU.
  • the block 11 can be divided into four by a quad-tree like the block 11-1, or can be divided into two by a binary-tree like the blocks 11-2 and 11-3. It can be divided or can be divided into three by ternary-tree like block 11-4 and block 11-5. Therefore, as shown in FIG. 1B, the CTU 12 can be divided into various blocks.
  • Figure 2 shows an example of a multi-type tree.
  • the CTU is first divided into quad-trees.
  • the quad-tree leaf is further divided into a multi-type tree structure.
  • the binary-tree structure and the ternary-tree structure can be used for more flexible block division. Therefore, the CTU 12 can also be divided into rectangular CUs as in the example of B of FIG.
  • Non-Patent Document 1 proposes a process (Zero Out) of setting a high frequency region coefficient of a block having a size larger than 32 ⁇ 32 to 0.
  • the image data is subjected to the above-mentioned processing, and the effective coefficient data in the upper left 32x32 area of the block 20 (also referred to as effective conversion coefficient).
  • the effective coefficient data in the upper left 32x32 area of the block 20 also referred to as effective conversion coefficient
  • coefficient data having a value of “0” in other areas, and encoded is also referred to as an effective conversion coefficient area. That is, the effective conversion coefficient area 21 of the block 20 in FIG. 3 is an area formed by the effective conversion coefficients.
  • the invalid conversion coefficient region (in the example of FIG. 3, the invalid conversion coefficient region 22) is a region formed by ineffective coefficient data (also referred to as invalid conversion coefficient).
  • the invalid conversion coefficient is, for example, coefficient data having a value “0”.
  • Each coefficient data (transform coefficient) of the block 20 is encoded in the scan order (scan order) as in the example shown in FIG.
  • Each coefficient data is processed for each 4 ⁇ 4 sub-block, and each sub-block is processed in order from the sub-block of the higher frequency component to the sub-block of the lower frequency component.
  • a sub-block 23 is formed in the block, and each sub-block 23 is arranged in the order indicated by an arrow from the sub-block at the lower right corner to the sub-block at the upper left corner in the figure (lower left corner). From the lower right to the upper left). Note that it is also possible to perform scanning in the reverse order of the arrow in this example (the diagonal order from the upper right to the lower left is repeated from the lower right to the upper left).
  • effective transform coefficient flag information (coded_sub_block_flag), which is included in the coefficient data and indicates for each sub-block, whether or not there is an effective transform coefficient, is encoded by context-based binary arithmetic code (context adaptive binary binary arithmetic coding). To be done. Then, validity flag information (sig_coeff_flag) indicating the presence or absence of a valid conversion coefficient having a value other than 0, which is included in the coefficient data, is encoded.
  • context-based binary arithmetic code context adaptive binary binary arithmetic coding
  • each valid transform coefficient For each sub-block whose validity flag information (sig_coeff_flag) is true (a value indicating that there is a valid transform coefficient having a value other than 0 in this sub-block, for example, a value “1”), each valid transform coefficient
  • the code (coeff_sign_flag) and the absolute value (abs) of are encoded.
  • last_pos which indicates the position of the sub-block having the highest effective coefficient data in the block
  • scanning starts from the sub-block at the position indicated by that last_pos.
  • the sub-block 41 is scanned based on that information. Is started. That is, of all the scans in the block shown in FIG. 4, the scan indicated by the solid arrow in the block 20 shown in FIG. 5 (that is, the scan from the sub block 41 to the upper left sub block of the block 20). ) Is done. In other words, the scan indicated by the dotted arrow in FIG. 5 (that is, the scan from the sub block at the lower right corner of the block 20 to the sub block 41) is omitted.
  • the scan range may include an invalid conversion coefficient area (gray sub-block in the figure).
  • the sub-block of the invalid transform coefficient region is also scanned. Since the invalid transform coefficient area does not include the valid transform coefficient, the valid transform coefficient flag information (codec_sub_block_flag) of the sub-block of the invalid transform coefficient area is false (the valid transform coefficient is not included in this sub block. Is a value indicating, for example, the value “0”).
  • FIG. 6 shows an example of the syntax.
  • the processing is repeated from the sub-block (lastSubBlock) having the highest effective coefficient data to the first sub-block (upper left sub-block).
  • the positions in the x-axis direction and the y-axis direction are updated in the third and fourth rows from the top, and the effective conversion coefficient flag information (coded_sub_block_flag) is set for the sub-blocks at the respective positions in the third row from the bottom. .
  • coefficient data for example, effective conversion coefficient flag information (coded_sub_block_flag) (coded_sub_block_flag) (coded_sub_block_flag) ) Is encoded.
  • the block 20 is horizontally long.
  • the left 32x32 is the effective conversion coefficient area (white part in the figure)
  • the right 32x32 is the invalid conversion coefficient area.
  • a dark gray sub area in the invalid transform coefficient area is started. The block is scanned.
  • the block 20 is vertically long.
  • the upper 32x32 is the effective conversion coefficient region (white part in the drawing) and the lower 32x32 is the invalid conversion coefficient region.
  • the scan is started from the sub block 41 at the lower right corner of the effective transform coefficient area (white portion in the figure), a dark gray sub area in the invalid transform coefficient area (gray sub block) is started. The block is scanned.
  • the block 20 is vertically long.
  • the upper 16x32 is the effective conversion coefficient region (white part in the drawing) and the lower 16x32 is the invalid conversion coefficient region.
  • the scan is started from the sub block 41 at the lower right corner of the effective transform coefficient area (white portion in the figure), a dark gray sub area in the invalid transform coefficient area (gray sub block) is started. The block is scanned.
  • the image processing apparatus is provided with a coding unit that skips coding of the invalid transform coefficient region of the coefficient data regarding the image and codes the valid transform coefficient region.
  • a coding unit that skips coding of the invalid transform coefficient region of the coefficient data regarding the image and codes the valid transform coefficient region.
  • the decoding of the invalid conversion coefficient area of the coded data in which the coefficient data of the image is coded is skipped, and the valid conversion coefficient area is decoded.
  • the image processing apparatus is provided with a decoding unit that skips decoding of the invalid transform coefficient region of the coded data in which the coefficient data regarding the image is coded, and decodes the valid transform coefficient region.
  • a device can be developed at a lower cost. Can be manufactured, the device can be more easily miniaturized, and can be decoded faster).
  • each sub-block is scanned in an oblique direction within a block, but the scanning direction in units of sub-blocks is arbitrary and may be other than the above-mentioned oblique direction.
  • the scan order of the effective transform coefficient region of the processing target block may be controlled.
  • the coefficient data in the effective conversion coefficient region may be encoded in the scanning order according to the tendency of the distribution of the coefficient data values in the block to be processed (feature of distribution).
  • the coded data of the effective transform coefficient region may be decoded in the scanning order according to the tendency of the distribution of the coefficient data values in the block to be processed.
  • the distribution of the coefficient data values changes depending on the block shape, the prediction method, and the like. Therefore, by controlling the scan order in this way, the coefficient data can be encoded / decoded using a scan order more suitable for the tendency of the distribution of coefficient data values. Therefore, it is possible to suppress the reduction of the coding efficiency (typically, the coding efficiency can be improved).
  • the scan direction of the effective conversion coefficient region may be vertical or horizontal. That is, for example, coefficient data in the effective transform coefficient area may be scanned and encoded in the vertical direction or the horizontal direction for each sub-block. Further, for example, the coded data of the effective transform coefficient region may be scanned in the vertical direction or the horizontal direction for each sub-block to be decoded.
  • the scan direction of the effective transform coefficient region may be set to the direction corresponding to the block shape. That is, for example, the coefficient data of the effective transform coefficient region may be encoded in the scanning order according to the shape of the processing target block for each sub-block. Further, for example, the coded data of the effective transform coefficient region may be decoded for each sub-block in the scanning order according to the shape of the block to be processed. It should be noted that the scanning direction in sub-block units is not limited to the linear direction (single direction). For example, it may be a curved direction, or may be composed of a plurality of scan directions.
  • sub-blocks in the effective transform coefficient area may be grouped to control scanning. That is, for example, the coefficient data in the effective transform coefficient region may be scanned and encoded for each group of sub-blocks. Further, for example, the coded data in the effective transform coefficient region may be scanned and decoded for each group of sub-blocks.
  • the color difference component of the processing target block may be controlled to scan similarly to the luminance component. ..
  • the coefficient data of the invalid conversion coefficient region may be skipped and the coefficient data of the effective conversion coefficient region may be encoded.
  • the decoding of the encoded data of the invalid conversion coefficient region may be skipped and the encoded data of the effective conversion coefficient region may be decoded.
  • the shape of the block 20 is arbitrary and may not be a square as in the example of FIG.
  • the block 20 may be a horizontally long rectangle as in the example of FIG.
  • the size of the block 20 is 64 ⁇ 32 as in the case of FIG.
  • 32x32 on the left is an effective conversion coefficient area (white part in the figure)
  • 32x32 on the right is an invalid conversion coefficient area
  • the scan will start.
  • the control since the control is performed as described above, only the sub-block in the effective transform coefficient region is encoded / decoded as shown by the arrow in the block 20 of FIG. That is, each sub-block in the effective transform coefficient region is scanned in the order of arrows 121 to 135, and the sub-block in the invalid transform coefficient region is not scanned.
  • the block 20 may be a vertically long rectangle as in the example of FIG.
  • the size of the block 20 is 32 ⁇ 64 as in the case of FIG.
  • the upper 32x32 is the effective conversion coefficient area (white part in the figure)
  • the lower 32x32 is the invalid conversion coefficient area
  • the sub-block 41 at the lower right corner of the effective conversion coefficient area (white part in the figure) The scan will start.
  • the control since the control is performed as described above, only the sub-block in the effective transform coefficient region is encoded / decoded as shown by the arrow in the block 20 of FIG. That is, each sub block in the effective transform coefficient region is scanned in the order of arrows 151 to 165, and the sub block in the invalid transform coefficient region is not scanned.
  • the scan order (scan direction) in which the diagonal order from the lower left to the upper right is repeated from the lower right to the upper left as in the example of FIG. 4 has been described as an example. It is optional and is not limited to this example.
  • the diagonal order from the upper right to the lower left, which is opposite to the arrow in FIG. 4 may be repeated from the lower right to the upper left.
  • FIG. 17 is a block diagram showing an example of the main configuration of an encoding device that is an aspect of an image processing device to which the present technology is applied.
  • An encoding device 170 shown in FIG. 17 is a device that encodes coefficient data of an input image and outputs the encoded data. As shown in FIG. 17, the encoding device 170 includes a scan control unit 171 and an encoding unit 172.
  • the scan control unit 171 performs processing relating to scan control.
  • the scan control unit 171 acquires encoding information input from the outside of the encoding device 170.
  • This coding information is also referred to as a coding parameter, and includes arbitrary information regarding coding of an image (coefficient data).
  • the encoding information includes information about the block size (TbW, TbH) of the processing target block, information about the size of the effective transform coefficient area in the processing target block (also referred to as effective transform coefficient area information), and the like.
  • the scan control unit 171 extracts such information regarding the block size of the block to be processed and the effective transform coefficient region information from the acquired coding information.
  • the scan control unit 171 specifies the range of the effective conversion coefficient area (the position of the effective conversion coefficient area) in the processing target block based on these pieces of information.
  • the scan control unit 171 controls the scan order of coefficient data performed by the encoding unit 172 based on the information. That is, for example, as described in ⁇ 4-1: Scan example of method 1>, the scan control unit 171 causes the encoding unit 172 to skip the encoding of the coefficient data of the sub-block of the invalid transform coefficient region and perform the valid transform.
  • the scan order is controlled so that the coefficient data of the sub-block of the coefficient area is encoded.
  • the scan control unit 171 controls the scan order of the encoding unit 172 by supplying control instructions and the like to the encoding unit 172.
  • the encoding unit 172 performs processing related to encoding. For example, the encoding unit 172 acquires the encoding information and the image (coefficient data) input to the encoding device 170. In addition, the encoding unit 172 acquires a control command or the like regarding the scan supplied from the scan control unit 171. The encoding unit 172 encodes the coefficient data in the scan order controlled by the scan control unit 171, and generates the encoded data. For example, the encoding unit 172 skips the encoding of each sub-block of the invalid transform coefficient region of the coefficient data relating to the image, as described above in ⁇ 4-1: Scan example of method 1,> and outputs the effective transform coefficient region. Each sub-block of is encoded.
  • the encoding unit 172 skips the encoding of the coefficient data of the invalid conversion coefficient region based on the information indicating the block size of the processing target block and the information indicating the range of the effective conversion coefficient region, and the effective conversion coefficient region is skipped.
  • the coefficient data of may be encoded.
  • the content of this coefficient data is arbitrary.
  • the coefficient data may include effective conversion coefficient flag information (codec_sub_block_flag) indicating the presence or absence of an effective conversion coefficient for each sub-block. Then, the encoding unit 172 skips the encoding of the effective conversion coefficient flag information (codec_sub_block_flag) of each sub-block of the invalid conversion coefficient area, and outputs the effective conversion coefficient flag information (codec_sub_block_flag) of each sub-block of the effective conversion coefficient area. It may be encoded.
  • validity flag information indicating the presence / absence of an effective conversion coefficient having a value other than 0 in the coefficient data, the sign (coeff_sign_flag) and the absolute value (coeff_sign_flag) of each effective conversion coefficient abs) may be included.
  • the encoding unit 172 encodes the validity flag information (sig_coeff_flag) of the sub-block obtained by encoding the effective conversion coefficient flag information (codec_sub_block_flag), and the validity flag information (sig_coeff_flag) of the sub-block of which is true,
  • the sign (coeff_sign_flag) and the absolute value (abs) of each effective transform coefficient may be coded.
  • the encoding unit 172 also encodes the encoded information and generates the encoded data.
  • the encoding unit 172 outputs these generated encoded data as a bit stream to the outside of the encoding device 170.
  • the encoding apparatus 170 can reduce unnecessary information (encoded data of coefficient data of subblocks in the invalid transform coefficient region) included in the bitstream, and thus reduce encoding efficiency. Can be suppressed. Moreover, since encoding of unnecessary information can be omitted, an increase in the load of encoding processing can be suppressed, and an increase in cost, circuit scale, processing time, etc. can be suppressed (typically , The device can be developed and manufactured at lower cost, the device can be more easily miniaturized, and the encoding can be performed at higher speed.
  • the scan control unit 171 of the encoding device 170 acquires the encoding information in step S101, and from the encoding information, the transform block size (TbW, TbH) and the effective transform coefficient region. Extract information (ZoW, ZoH) and.
  • step S102 the scan control unit 171 uses, for example, ⁇ 4-1: Method 1 based on the information (transform block size (TbW, TbH) and effective transform coefficient area information (ZoW, ZoH)) extracted in step S101.
  • TbW, TbH transform block size
  • ZoW, ZoH effective transform coefficient area information
  • step S103 the encoding unit 172 scans each subblock according to the control and encodes the effective conversion coefficient flag information (coded_sub_block_flag) of each subblock. That is, the encoding unit 172 skips the scan of the sub-block of the invalid transform coefficient region and scans only the sub-block of the valid transform coefficient region, as described above in ⁇ 4-1: Scan example of method 1>, for example. .. Therefore, only the effective transform coefficient flag information (coded_sub_block_flag) of each sub-block in the effective transform coefficient area is encoded.
  • step S104 the encoding unit 172 encodes the validity flag information (sig_coeff_flag) of each sub-block based on the value of the effective conversion coefficient flag information (coded_sub_block_flag) encoded in step S103. That is, the encoding unit 172 encodes the effectiveness flag information (sig_coeff_flag) of each sub-block for which the effective conversion coefficient flag information (coded_sub_block_flag) is true (eg, “1”).
  • the encoding unit 172 also encodes the code (coeff_sign_flag) and the absolute value (abs) of the transform coefficient according to the value of the encoded validity flag information (sig_coeff_flag). That is, the encoding unit 172 encodes the code (coeff_sign_flag) and the absolute value (abs) of each transform coefficient of each sub-block for which the validity flag information (sig_coeff_flag) is true (for example, “1”).
  • the encoding unit 172 performs the processing of steps S103 and S104, for example, as described above in ⁇ 4-1: Scan example of method 1>, for each sub-block of the invalid conversion coefficient region of the coefficient data regarding the image. The coding is skipped and each sub-block in the effective transform coefficient area is coded. Further, the encoding unit 172 also encodes the encoded information. The encoding unit 172 outputs these encoded data as a bitstream. When the process of step S104 ends, the encoding process ends.
  • the encoding apparatus 170 can reduce unnecessary information (encoded data of coefficient data of subblocks in the invalid transform coefficient region) included in the bitstream, and thus reduce encoding efficiency. Can be suppressed. Moreover, since encoding of unnecessary information can be omitted, an increase in the load of encoding processing can be suppressed, and an increase in cost, circuit scale, processing time, etc. can be suppressed (typically , The device can be developed and manufactured at lower cost, the device can be miniaturized more easily, and the encoding can be performed at higher speed).
  • FIG. 19 is a block diagram showing an example of the main configuration of a decoding device that is one aspect of an image processing device to which the present technology is applied.
  • the decoding device 180 shown in FIG. 19 is a device that decodes the encoded data of the input image and outputs the coefficient data of the image. As shown in FIG. 19, the decoding device 180 has a scan control unit 181 and a decoding unit 182.
  • the scan control unit 181 performs processing related to scan control. For example, the scan control unit 181 acquires a bitstream (encoded data) input from the outside of the decoding device 180. This bit stream is generated in the encoding device 170, for example, and the coefficient data encoded in a scan order that skips the encoding of the coefficient data of the sub-block of the invalid transform coefficient area, which is unnecessary information. And encoded data of encoded information. The scan control unit 181 extracts the block size (TbW, TbH) of the block to be processed and the effective transform coefficient region information from the acquired bitstream.
  • TbW, TbH block size
  • the scan control unit 181 identifies the range of the effective conversion coefficient area (position of the effective conversion coefficient area) in the processing target block based on these pieces of information.
  • the scan control unit 181 reproduces the scan order at the time of encoding (that is, scan control by the scan control unit 171) based on the information.
  • the scan control unit 181 controls the decoding unit 182 by supplying a control command or the like to the decoding unit 182, and the scanning order (that is, invalid as described above in, for example, ⁇ 4-1: Scan example of method 1>).
  • the coding of the coefficient data of the sub-block of the transform coefficient area is skipped, and the scan order for coding the coefficient data of the sub-block of the effective transform coefficient area is reproduced.
  • the decryption unit 182 performs processing regarding decryption. For example, the decoding unit 182 acquires the bitstream input to the decoding device 180. This bit stream includes coded data of coefficient data and coded information. In addition, the decoding unit 182 acquires a control command regarding the scan supplied from the scan control unit 181. The decoding unit 182 decodes the bit stream based on the scan order at the time of encoding reproduced under the control of the scan control unit 181, and obtains coefficient data. For example, the decoding unit 182 decodes each sub-block of the invalid transform coefficient region of the coded data in which the coefficient data related to the image is coded, as described above in ⁇ 4-1: Scan example of method 1>. It skips and decodes each sub-block of the effective transform coefficient area.
  • the decoding unit 182 skips decoding of the encoded data of the coefficient data in the invalid conversion coefficient region based on the information indicating the block size of the processing target block and the information indicating the range of the effective conversion coefficient region, and performs the effective conversion. You may make it decode the encoded data of the coefficient data of a coefficient area
  • the content of this coefficient data is arbitrary.
  • the coefficient data may include effective conversion coefficient flag information (codec_sub_block_flag) indicating the presence or absence of an effective conversion coefficient for each sub-block. Then, the decoding unit 182 may decode the encoded data of the effective conversion coefficient flag information (codec_sub_block_flag) of each sub-block in the effective conversion coefficient region.
  • the validity flag information (sig_coeff_flag) indicating the presence / absence of a valid conversion coefficient having a value other than 0 in the coefficient data, the sign (coeff_sign_flag) and the absolute value (coeff_sign_flag) of each valid conversion coefficient are also included. abs) may be included.
  • the decoding unit 182 decodes the coded data of the validity flag information (sig_coeff_flag) of the sub block obtained by decoding the coded data of the effective conversion coefficient flag information (codec_sub_block_flag), and the validity flag information (sig_coeff_flag) is true.
  • the coded data of each effective transform coefficient code (coeff_sign_flag) and absolute value (abs) of the sub-block may be decoded.
  • the decoding unit 182 decodes the coded data of the coefficient data included in the bitstream to obtain the transmitted coefficient data.
  • the decoding unit 182 determines the code order of the coefficient data of the sub-block of the invalid transform coefficient region as described above in the scan order controlled by the scan control unit 181 (that is, for example, in ⁇ 4-1: Scan example of method 1>).
  • the coding order is skipped and the sub-block to which the transmitted coefficient data corresponds is specified based on the scan order in which the coefficient data of the sub-block of the effective transform coefficient region is encoded. That is, the transmitted coefficient data is associated with the sub-block of the effective transform coefficient area.
  • the decoding unit 182 restores the coefficient data of the other sub-blocks, that is, the coefficient data that has not been transmitted (for example, the invalid transform coefficient).
  • the decoding unit 182 thus generates coefficient data for each block and outputs the coefficient data to the outside of the decoding device 180.
  • the decoding apparatus 180 causes the encoded data generated in the scan order to reduce unnecessary information (encoded data of coefficient data of subblocks of the invalid transform coefficient region) included in the bitstream. Can be correctly decoded. That is, the decoding device 180 can suppress a reduction in encoding efficiency. Further, since decoding of unnecessary information can be omitted, it is possible to suppress an increase in the load of the decoding process, and suppress an increase in cost, circuit scale, processing time, etc. (typically , The device can be developed and manufactured at a lower cost, the device can be more easily miniaturized, and the decoding can be performed at a higher speed).
  • the scan control unit 181 of the decoding device 180 acquires a bitstream in step S121, and from the bitstream, the transform block size (TbW, TbH) and the effective transform coefficient area information (ZoW, ZoH) and extract.
  • step S122 the scan control unit 181 controls the decoding unit 182 based on the information (transform block size (TbW, TbH) and effective transform coefficient area information (ZoW, ZoH)) extracted in step S121, and at the time of encoding.
  • the scan order (for example, the scan order of skipping the sub-block of the invalid conversion coefficient area and scanning the sub-block of the effective conversion count area as described in ⁇ 4-1: Scan example of method 1>)
  • step S123 the decoding unit 182 decodes the coded data of the effective transform coefficient flag information (coded_sub_block_flag) of each sub-block based on the control in the scanning order at the time of coding.
  • the decoding unit 182 decodes the encoded data of the effective conversion coefficient flag information (coded_sub_block_flag) included in the bitstream, and obtains the transmitted effective conversion coefficient flag information (coded_sub_block_flag).
  • the decoding unit 182 corresponds to which sub-block the transmitted effective transform coefficient flag information (coded_sub_block_flag) corresponds based on the scan order (that is, the scan order at the time of encoding) controlled by the scan control unit 181. Specify. Then, the decoding unit 182 restores the effective conversion coefficient flag information (coded_sub_block_flag) of the other sub-blocks, that is, the effective conversion coefficient flag information (coded_sub_block_flag) that has not been transmitted.
  • the decoding unit 182 determines that the effective transform coefficient of the sub-block of the invalid transform coefficient area that is another area. The flag information (coded_sub_block_flag) is restored. In this way, the decoding unit 182 restores the effective conversion coefficient flag information (coded_sub_block_flag) of all sub blocks of the processing target block.
  • step S124 the decoding unit 182 decodes the validity flag information (sig_coeff_flag) of each sub-block based on the value of the effective conversion coefficient flag information (coded_sub_block_flag) decoded in step S123.
  • the decoding unit 182 decodes the encoded data of the validity flag information (sig_coeff_flag) included in the bitstream and obtains the transmitted validity flag information (sig_coeff_flag). In addition, the decoding unit 182 identifies the sub-block corresponding to the transmitted validity flag information (sig_coeff_flag) based on the decoding result of the valid conversion coefficient flag information (coded_sub_block_flag). Then, the decoding unit 182 restores the validity flag information (sig_coeff_flag) of the other sub-blocks, that is, the validity flag information (sig_coeff_flag) that has not been transmitted.
  • the decoding unit 182 restores the validity flag information (sig_coeff_flag) of the other sub-blocks, that is, the validity flag information (sig_coeff_flag) that has not been transmitted.
  • the decoding unit 182 determines the code (coeff_sign_flag) and the absolute value (abs) of the transform coefficient included in each subblock based on the value of the validity flag information (sig_coeff_flag) of each subblock restored as described above. Decrypt.
  • the decoding unit 182 decodes the coded data of the transform coefficient code (coeff_sign_flag) and absolute value (abs) included in the bitstream, and decodes the transmitted transform coefficient code (coeff_sign_flag) and absolute value (abs). obtain.
  • the decoding unit 182 associates the transmitted code (coeff_sign_flag) and absolute value (abs) of the transform coefficient with a sub-block whose validity flag information (sig_coeff_flag) is true (for example, “1”).
  • the decoding unit 182 restores the code (coeff_sign_flag) and the absolute value (abs) of the transform coefficient included in the other sub-blocks, that is, the code (coeff_sign_flag) and the absolute value (abs) of the transform coefficient that has not been transmitted. .
  • the decoding unit 182 skips the decoding of each sub-block of the invalid transform coefficient region of the coded data in which the coefficient data regarding the image is coded by the processes of step S123 and step S124, and each of the valid transform coefficient regions is decoded. Decode the sub-block. The decoding unit 182 outputs the coefficient data thus generated. When the process of step S124 ends, the decoding process ends.
  • the decoding apparatus 180 causes the encoded data generated in the scan order to reduce unnecessary information (encoded data of coefficient data of subblocks of the invalid transform coefficient region) included in the bitstream. Can be correctly decoded. That is, the decoding device 180 can suppress a reduction in encoding efficiency. Further, since decoding of unnecessary information can be omitted, it is possible to suppress an increase in the load of the decoding process, and suppress an increase in cost, circuit scale, processing time, etc. (typically , The device can be developed and manufactured at a lower cost, the device can be more easily miniaturized, and the decoding can be performed at a higher speed).
  • ⁇ 4-4 Syntax>
  • the skip of the sub-block of the invalid transform coefficient region as described above may be realized by changing the scan order as described above, or may be realized by using the syntax.
  • Fig. 21 shows an example of the syntax in this case.
  • the scan control unit 171 controls the scan order of the effective transform coefficient region in step S102, and the encoding unit 172 determines the effective transform coefficient region in step S103 and step S104 according to the control.
  • Sub-blocks may be scanned and encoded. By doing so, the encoding apparatus 170 can further suppress the reduction in encoding efficiency.
  • the scan control unit 181 controls the scan order of the effective conversion coefficient region in step S122, and the decoding unit 182 controls the effective conversion coefficient according to the control in steps S123 and S124.
  • the encoded data may be decoded by using the scan of the sub-block of the area. By doing so, decoding apparatus 180 can further suppress a reduction in encoding efficiency.
  • Method 1-1-1> For example, in encoding / decoding, the scan direction of the effective transform coefficient area in sub-block units may be set to vertical or horizontal (method 1-1-1).
  • the size of the block 20 is 64x32.
  • 32x32 on the left is an effective conversion coefficient area (white part in the figure)
  • 32x32 on the right is an invalid conversion coefficient area (gray part in the figure)
  • from the sub block 41 at the lower right corner of the effective conversion coefficient area will start. Then, as in the case of the example of FIG. 15, only the sub-blocks within the effective transform coefficient area are scanned.
  • each sub-block in the same row is scanned from bottom to top.
  • the sub-blocks in each column are vertically scanned in the same order.
  • each column is scanned one by one from the right column. That is, each sub-block is scanned in order from arrow 201 to arrow 208.
  • the value of coefficient data tends to change significantly in the vertical direction due to orthogonal transformation. That is, in this case, the distribution of the coefficient data values tends to change more in the vertical direction than in the horizontal direction (that is, the deviation of the values increases). Therefore, by setting the scan direction in sub-block units in encoding / decoding to the vertical direction as in the example of FIG. 22, it is possible to make more effective use of the magnitude of the deviation of the values and improve the encoding efficiency. You can
  • the shape of the block 20, the effective conversion coefficient region, and the like are the same as those in the example of FIG. 22, but scanning in sub-block units is performed in the horizontal direction in the figure. That is, the scan starts from the sub-block 41, and each sub-block in the same row is scanned from right to left. The sub-blocks in each row are scanned horizontally in the same order. Then, each row is scanned one by one from the bottom row. That is, each sub-block is scanned so as to sequentially proceed from the arrow 211 to the arrow 218.
  • the value of coefficient data is likely to change greatly in the horizontal direction due to orthogonal transformation. That is, in this case, the distribution of the coefficient data values tends to change more in the horizontal direction than in the vertical direction (that is, the deviation of the values increases). Therefore, as in the example of FIG. 23, by setting the scanning direction of the sub-block unit in the encoding / decoding to the horizontal direction, it is possible to make more effective use of the magnitude of the deviation of the values and improve the encoding efficiency. You can
  • the scan direction (for example, the vertical direction, the horizontal direction, or the diagonal direction) of the sub-block unit of the effective transform coefficient area may be selected according to the prediction direction of the intra prediction. Good. By doing so, the coding efficiency can be improved regardless of the prediction direction of intra prediction.
  • the size of the block 20 is 32x64.
  • the upper 32x32 is the effective conversion coefficient area (white part in the figure) and the lower 32x32 is the invalid conversion coefficient area (gray part in the figure) from the sub block 41 at the lower right corner of the effective conversion coefficient area.
  • the scan will start. Then, as in the case of the example of FIG. 16, only sub-blocks within the effective transform coefficient region are scanned.
  • the scan in sub-block units is performed in the horizontal direction in the figure. That is, the scan starts from the sub-block 41, and each sub-block in the same row is scanned from right to left. The sub-blocks in each row are scanned horizontally in the same order. Then, each row is scanned one by one from the bottom row. That is, each sub-block is scanned so as to sequentially proceed from the arrow 231 to the arrow 238.
  • the shape of the block 20, the effective transform coefficient region, and the like are the same as those in the example of FIG. 24, but the scanning in sub-block units is performed in the vertical direction in the figure. That is, the scan starts from the sub-block 41, and each sub-block in the same row is scanned from bottom to top. The sub-blocks in each column are vertically scanned in the same order. Then, each column is scanned one by one from the right column. That is, each sub-block is scanned so as to sequentially proceed from the arrow 241 to the arrow 248.
  • the size of the block 20 is 64x16.
  • 32x16 on the left is an effective conversion coefficient area (white part in the figure)
  • 32x16 on the right is an invalid conversion coefficient area (gray part in the figure)
  • from the sub block 41 at the lower right corner of the effective conversion coefficient area will start. Then, as in the above-described examples, only the sub-blocks in the effective transform coefficient area are scanned.
  • the scan in sub-block units is performed in the vertical direction in the figure. That is, the scan is started from the sub-block 41, and each sub-block in the same row is scanned from bottom to top.
  • the sub-blocks in each column are vertically scanned in the same order. Then, each column is scanned one by one from the right column. That is, each sub-block is scanned so as to sequentially proceed from arrow 261 to arrow 268.
  • the shape of the block 20, the effective conversion coefficient area, and the like are the same as those in the example of FIG. That is, the scan starts from the sub-block 41, and each sub-block in the same row is scanned from right to left. The sub-blocks in each row are scanned horizontally in the same order. Then, each row is scanned one by one from the bottom row. That is, each sub-block is scanned so as to sequentially proceed from the arrow 271 to the arrow 274.
  • the size of the block 20 is 16x64.
  • the upper 16x32 is the effective conversion coefficient area (white part in the figure) and the lower 16x32 is the invalid conversion coefficient area (gray part in the figure). From the sub block 41 at the lower right corner of the effective conversion coefficient area The scan will start. Then, as in the above-described examples, only the sub-blocks in the effective transform coefficient area are scanned.
  • the scan in sub-block units is performed in the horizontal direction in the figure. That is, the scan starts from the sub-block 41, and each sub-block in the same row is scanned from right to left. The sub-blocks in each row are scanned horizontally in the same order. Then, each row is scanned one by one from the bottom row. That is, each sub-block is scanned so as to sequentially proceed from the arrow 281 to the arrow 288.
  • the shape of the block 20, the effective transform coefficient region, and the like are the same as those in the example of FIG. 28, but scanning in sub-block units is performed in the vertical direction in the figure. That is, the scan starts from the sub-block 41, and each sub-block in the same row is scanned from bottom to top. The sub-blocks in each column are vertically scanned in the same order. Then, each column is scanned one by one from the right column. That is, each sub-block is scanned so as to sequentially proceed from the arrow 291 to the arrow 294.
  • the shape and size of the block and effective transform coefficient area are arbitrary.
  • the shapes and sizes of the blocks and the effective transform coefficient regions may be other than the examples described above.
  • Method 1-1-2 For example, in encoding / decoding, the scan direction of the effective transform coefficient area in sub-block units may be set to a direction corresponding to the block shape (method 1-1-2).
  • the coefficient data values Due to the orthogonal transformation, the coefficient data values generally tend to gather in the lower frequency components. That is, the value of the coefficient data increases as it approaches the upper left corner and decreases as it approaches the lower right corner. Therefore, if the scanning is started from the high frequency component and the high frequency component is preferentially scanned, as a result, the coefficient of the same level advances in an annual ring shape.
  • the low frequency component of the transform coefficient tends to be distributed according to the shape of the block.
  • the block shape is a square
  • the low frequency components at the same level are distributed concentrically with the upper left corner as the center.
  • the block shape is rectangular, low-frequency components at the same level are distributed in an elliptical shape centered on the upper left.
  • the scan direction in sub-block units in encoding / decoding is simply an oblique direction regardless of the block shape, in the square block, the scan direction and the tendency of the distribution of coefficient data values match, For example, in blocks of other shapes such as a rectangle, the scan direction and the tendency of the distribution of coefficient data values do not match, and there is a risk that the coding efficiency will decrease.
  • ⁇ Scan example 1> For example, when the shape of the effective conversion coefficient area is a vertically long rectangle, the high frequency area is scanned with a slope of "-1", and when the left edge or the upper edge of the effective conversion coefficient area is reached, "-height / width (-Height of effective conversion coefficient area / width of effective conversion coefficient area) "is used for scanning with an inclination of the ratio. In practice, when it is difficult to scan accurately with the inclination of “height / width”, the vertical scanning and the scanning with the inclination of ⁇ 1 may be combined and realized.
  • the size of the block 20 is 16x64.
  • the upper 16x32 is the effective conversion coefficient area (white part in the figure) and the lower 16x32 is the invalid conversion coefficient area (gray part in the figure). From the sub block 41 at the lower right corner of the effective conversion coefficient area The scan will start. Then, only the sub-blocks within the effective transform coefficient area are scanned.
  • the scan is started from the sub-block 41, and each sub-block is scanned so as to sequentially proceed from the arrow 301 to the arrow 313. That is, in this case, scanning is performed by combining a plurality of scanning directions (for example, three or more directions) (the scanning directions are curved).
  • the ratio of the width (blkWidth) to the height (blkHeight) of the effective conversion coefficient region is 1 to 2.
  • the horizontal direction of the effective conversion coefficient area is the x direction
  • the vertical direction of the drawing is the y direction
  • the size of the block 20 is 8x64.
  • the upper 8x32 is the effective conversion coefficient area (white part in the figure)
  • the lower 8x32 is the invalid conversion coefficient area (gray part in the figure)
  • the sub block 41 at the lower right corner of the effective conversion coefficient area The scan will start. Then, only the sub-blocks within the effective transform coefficient area are scanned.
  • the scan is started from the sub-block 41, and each sub-block is scanned so as to sequentially proceed from the arrow 321 to the arrow 325. That is, in this case, scanning is performed by combining a plurality of scanning directions (for example, three or more directions) (the scanning directions are curved).
  • the ratio of the width (blkWidth) to the height (blkHeight) of the effective conversion coefficient region is 1: 4.
  • the horizontal direction of the effective conversion coefficient area is the x direction
  • the vertical direction of the drawing is the y direction
  • it reaches the position of (height / 4, height-width) it scans with a tilt of "-1".
  • the size of the block 20 is 4x64.
  • the upper 4x32 is the effective conversion coefficient area (white part in the figure)
  • the lower 4x32 is the invalid conversion coefficient area (gray part in the figure)
  • the sub-block at the lower right corner of the effective conversion coefficient area The scan starts from 41. Then, only the sub-blocks within the effective transform coefficient area are scanned.
  • the scan starts from the sub-block 41, and each sub-block scans from the bottom to the top as indicated by an arrow 331. To be done.
  • the shape of the effective conversion coefficient region is a rectangle whose longitudinal direction is the vertical direction (that is, a vertically long rectangle)
  • the shape of the effective conversion coefficient region is a rectangle whose longitudinal direction is the horizontal direction (that is, a rectangle). The same applies to the case of a horizontally long rectangle).
  • the scanning starts from the sub-block 41, and each sub-block is scanned from right to left.
  • ⁇ Scan example 2> the method of setting the scan direction according to the block shape is arbitrary and is not limited to the above example.
  • the scan order may be derived by the method shown in A of FIG.
  • the ellipse can be expressed by the following equation (1).
  • n of each sub-block is as shown in B of FIG.
  • the scan should be performed with an inclination of -2.
  • the scan may be performed as indicated by the arrow shown in FIG.
  • the scan order may be derived by the method shown in A of FIG.
  • the width (blkwidth) of the effective conversion coefficient region is n
  • the height (blkheight) of the effective conversion coefficient region is represented as 4n.
  • the ellipse can be expressed by the following equation (3).
  • n of each sub-block is as shown in B of FIG.
  • scanning may be performed in the same order as in the example of FIG. ..
  • the effective conversion coefficient area is a horizontally long rectangle, it may be performed basically in the same manner as the above example.
  • Method 1-1-3> For example, in encoding / decoding, subblocks in the effective transform coefficient region may be grouped to control scanning (method 1-1-3).
  • each sub-block of the effective conversion area is grouped by 1x2.
  • the sub-block group 401 indicated by a mesh pattern is an area having an aspect ratio of 2: 1 composed of one horizontal ⁇ two vertical sub-blocks.
  • the sub block group is formed in the entire effective transform coefficient region.
  • scanning in sub-block units is performed from the bottom to the top. Further, the scan in units of sub-block groups is performed in the direction from the high frequency component side to the low frequency component side. That is, each sub-block in the effective transform coefficient area is scanned in the order of arrows 411 to 426.
  • each sub-block of the effective conversion area is grouped by 1x4.
  • the sub-block group 401 indicated by a mesh pattern is an area having an aspect ratio of 4: 1 composed of 1 horizontal ⁇ 4 vertical sub-blocks.
  • the sub block group is formed in the entire effective transform coefficient region.
  • scanning in sub-block units is performed from the bottom to the top. Further, the scan in units of sub-block groups is performed in the direction from the high frequency component side to the low frequency component side. That is, each sub-block in the effective transform coefficient area is scanned in the order of arrows 431 to 434.
  • scanning may be controlled by grouping sub-blocks in the effective transform coefficient area.
  • the group of each sub-block may be formed so as to have the same aspect ratio as that of the effective transform coefficient region.
  • scanning can be performed in a direction that is more suitable for the tendency of the distribution of coefficient data values, and a reduction in encoding efficiency can be suppressed.
  • the effective conversion coefficient regions of various shapes have been described, but the shape of the effective conversion coefficient regions is not limited to these examples and is arbitrary.
  • the shape of the effective conversion coefficient region may be different from the shape of the block.
  • the effective conversion coefficient area may be set to a rectangle.
  • a 32x16 effective transform coefficient area is set in the 64x64 block 20.
  • the scan in sub-block units starts from the sub-block 41 and is performed in the order of arrows 441 to 451.
  • the above-described present technology may be applied to the color difference component to which the processing is applied.
  • the method 1 may be applied to the color difference component as in the case of the luminance component described above. By doing so, it is possible to suppress a reduction in encoding efficiency. Further, it is possible to suppress an increase in encoding / decoding load, and it is possible to suppress an increase in cost, circuit scale, processing time, and the like.
  • the method 1-1 may be applied to the color difference component as in the case of the luminance component described above. For example, any one of the methods 1-1-1 to 1-1-3 may be applied to the color difference component. By doing so, it is possible to suppress a reduction in encoding efficiency.
  • the block size of the color difference component may not be the same as the luminance component.
  • the luminance component block 20 may be 64x64 as in the example of FIG. 14, while the chrominance component block 460 may be 32x32 as shown in FIG.
  • the color difference component block 460 if the scan is started from the sub block 461 at the lower right corner of the effective transform coefficient region, the scan in units of sub blocks is performed by the arrows 471 to 477 as shown in FIG. It is performed in order. That is, also in this case, the color difference component scan is performed in the same manner as the luminance component scan. By doing so, since the scanning method can be unified for the luminance component and the color difference component, the scanning can be controlled more easily.
  • the scan control unit 171 controls the scan order for the color difference component in step S102 as in the case of the luminance component, and the encoding unit 172 controls the scan order in steps S103 and S104.
  • Each sub-block may be scanned and coded according to. By doing so, the encoding apparatus 170 can suppress a reduction in encoding efficiency for color difference components as well.
  • the scan control unit 181 controls the scan order for the color difference component in step S122 as in the case of the luminance component, and the decoding unit 182 determines the color difference component in steps S123 and S124.
  • the encoded data may be decoded by using the scan of each sub-block according to the control.
  • the present technology described above can be applied to any device, device, system, or the like.
  • the present technology described above can be applied to an image encoding device that encodes image data.
  • FIG. 43 is a block diagram showing an example of the configuration of an image encoding device that is an aspect of an image processing device to which the present technology is applied.
  • the image coding device 500 shown in FIG. 43 is a device for coding the image data of a moving image.
  • the image coding device 500 implements the techniques described in Non-Patent Documents 1 to 4 and converts the image data of a moving image by a method in conformity with the standard described in any of those documents. Encode.
  • FIG. 43 shows main components such as a processing unit and a data flow, and the components shown in FIG. 43 are not necessarily all. That is, in the image encoding device 500, a processing unit not shown as a block in FIG. 43 may exist, or a process or data flow not shown as an arrow or the like in FIG. 43 may exist. This also applies to other drawings that describe the processing unit and the like in the image encoding device 500.
  • the image encoding device 500 includes a control unit 501, a rearrangement buffer 511, a calculation unit 512, an orthogonal transformation unit 513, a quantization unit 514, an encoding unit 515, a storage buffer 516, and an inverse quantization unit. 517, an inverse orthogonal transformation unit 518, a calculation unit 519, an in-loop filter unit 520, a frame memory 521, a prediction unit 522, and a rate control unit 523.
  • the control unit 501 divides the moving image data held by the rearrangement buffer 511 into processing unit blocks (CU, PU, conversion blocks, etc.) based on the block size of the processing unit designated externally or in advance. .. Further, the control unit 501 determines the coding parameters (header information Hinfo, prediction mode information Pinfo, conversion information Tinfo, filter information Finfo, etc.) to be supplied to each block, for example, based on RDO (Rate-Distortion Optimization). To do.
  • RDO Rate-Distortion Optimization
  • control unit 501 determines the above coding parameters, it 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 unit 515 and the prediction unit 522.
  • the transform information Tinfo is supplied to the encoding unit 515, the orthogonal transform unit 513, the quantization unit 514, the inverse quantization unit 517, and the inverse orthogonal transform unit 518.
  • the filter information Finfo is supplied to the in-loop filter unit 520.
  • ⁇ Sort buffer> Each field (input image) of moving image data is input to the image encoding device 500 in the reproduction order (display order).
  • the rearrangement buffer 511 acquires each input image in the reproduction order (display order) and holds (stores) it.
  • the rearrangement buffer 511 rearranges the input image in the encoding order (decoding order) or divides it into blocks of processing units under the control of the control unit 501.
  • the rearrangement buffer 511 supplies each processed input image to the calculation unit 512.
  • the rearrangement buffer 511 also supplies each input image (original image) to the prediction unit 522 and the in-loop filter unit 520.
  • the calculation unit 512 receives the image I corresponding to the block of the processing unit and the predicted image P supplied from the prediction unit 522, and subtracts the predicted image P from the image I as shown in the following equation (5). Then, the prediction residual resi is derived and supplied to the orthogonal transformation unit 513.
  • the orthogonal transformation unit 513 receives the prediction residual resi supplied from the calculation unit 512 and the conversion information Tinfo supplied from the control unit 501 as inputs, and based on the conversion information Tinfo, orthogonally transforms the prediction residual resi. The conversion is performed and the conversion coefficient coef is derived. The orthogonal transform unit 513 supplies the obtained transform coefficient coef to the quantization unit 514.
  • the quantizing unit 514 receives the transform coefficient coef supplied from the orthogonal transform unit 513 and the transform information Tinfo supplied from the control unit 501, and scales (quantizes) the transform coefficient coef based on the transform information Tinfo. ) Do.
  • the quantization rate is controlled by the rate controller 523.
  • the quantization unit 514 supplies the quantized transform coefficient obtained by such quantization, that is, the quantized transform coefficient level qcoef, to the encoding unit 515 and the inverse quantization unit 517.
  • the coding unit 515 includes the quantized transform coefficient level qcoef supplied from the quantization unit 514 and various coding parameters (header information Hinfo, prediction mode information Pinfo, conversion information Tinfo, filter information Finfo supplied from the control unit 501. Etc.), information about filters such as filter coefficients supplied from the in-loop filter unit 520, and information about the optimum prediction mode supplied from the prediction unit 522.
  • the coding unit 515 performs variable length coding (for example, arithmetic coding) on the quantized transform coefficient level qcoeff to generate a bit string (coded data).
  • the encoding unit 515 also derives residual information Rinfo from the quantized transform coefficient level qoeff, encodes the residual information Rinfo, and generates a bit string.
  • the encoding unit 515 includes the information about the filter supplied from the in-loop filter unit 520 in the filter information Finfo, and the information about the optimum prediction mode supplied from the prediction unit 522 in the prediction mode information Pinfo. Then, the encoding unit 515 encodes the above-described various encoding parameters (header information Hinfo, prediction mode information Pinfo, conversion information Tinfo, filter information Finfo, etc.) to generate a bit string.
  • the encoding unit 515 multiplexes the bit strings of various information generated as described above to generate encoded data.
  • the encoding unit 515 supplies the encoded data to the accumulation buffer 516.
  • the accumulation buffer 516 temporarily holds the encoded data obtained by the encoding unit 515.
  • the accumulation buffer 516 outputs the coded data retained therein at a predetermined timing, for example, as a bit stream to the outside of the image coding apparatus 500.
  • this encoded data is transmitted to the decoding side via an arbitrary recording medium, an arbitrary transmission medium, an arbitrary information processing device and the like. That is, the accumulation buffer 516 is also a transmission unit that transmits encoded data (bit stream).
  • the inverse quantization unit 517 performs processing relating to inverse quantization. For example, the inverse quantizing unit 517 receives the quantized transform coefficient level qcoeff supplied from the quantizing unit 514 and the transform information Tinfo supplied from the control unit 501, and quantizes based on the transform information Tinfo. The value of the transform coefficient level level is scaled (dequantized). The inverse quantization is an inverse process of the quantization performed by the quantization unit 514. The inverse quantization unit 517 supplies the transform coefficient coefI obtained by such inverse quantization to the inverse orthogonal transform unit 518.
  • the inverse orthogonal transformation unit 518 performs processing relating to inverse orthogonal transformation.
  • the inverse orthogonal transform unit 518 receives the transform coefficient coefI supplied from the dequantization unit 517 and the transform information Tinfo supplied from the control unit 501, and based on the transform information Tinfo, converts the transform coefficient coefI into the transform coefficient coefI.
  • Inverse orthogonal transformation is performed for the prediction residual error resiI.
  • the inverse orthogonal transform is an inverse process of the orthogonal transform performed by the orthogonal transform unit 513.
  • the inverse orthogonal transformation unit 518 supplies the prediction residual resiI obtained by such inverse orthogonal transformation to the calculation unit 519. Since the inverse orthogonal transform unit 518 is the same as the inverse orthogonal transform unit (described later) on the decoding side, the description (described later) performed on the decoding side can be applied to the inverse orthogonal transform unit 518.
  • the calculation unit 519 receives the prediction residual resiI supplied from the inverse orthogonal transform unit 518 and the prediction image P supplied from the prediction unit 522 as inputs. The calculation unit 519 adds the prediction residual resiI and the prediction image P corresponding to the prediction residual resiI to derive a locally decoded image Rlocal. The calculation unit 519 supplies the derived locally decoded image Rlocal to the in-loop filter unit 520 and the frame memory 521.
  • the in-loop filter unit 520 performs processing relating to in-loop filter processing.
  • the in-loop filter unit 520 sets the local decoded image Rlocal supplied from the calculation unit 519, the filter information Finfo supplied from the control unit 501, and the input image (original image) supplied from the rearrangement buffer 511. Input it.
  • the information input to the in-loop filter unit 520 is arbitrary, and information other than this information may be input. For example, the prediction mode, motion information, code amount target value, quantization parameter QP, picture type, block (CU, CTU, etc.) information, etc. may be input to the in-loop filter unit 520 as necessary. Good.
  • the in-loop filter unit 520 appropriately performs filter processing on the local decoded image Rlocal based on the filter information Finfo.
  • the in-loop filter unit 520 also uses the input image (original image) and other input information for the filter processing as necessary.
  • the in-loop filter unit 520 includes a bilateral filter, a deblocking filter (DBF (DeBlocking Filter)), an adaptive offset filter (SAO (Sample Adaptive Offset)), and an adaptive loop filter (ALF (Adaptive Loop Filter)). Apply one in-loop filter in this order. Note that which filter is applied and in what order is arbitrary, and can be appropriately selected.
  • DPF DeBlocking Filter
  • SAO Sample Adaptive Offset
  • ALF adaptive Loop Filter
  • the filter processing performed by the in-loop filter unit 520 is arbitrary and is not limited to the above example.
  • the in-loop filter unit 520 may apply a Wiener filter or the like.
  • the in-loop filter unit 520 supplies the filtered local decoded image Rlocal to the frame memory 521.
  • the in-loop filter unit 520 supplies information regarding the filter to the encoding unit 515.
  • the frame memory 521 performs a process related to storage of image data. For example, the frame memory 521 receives the locally decoded image Rlocal supplied from the calculation unit 519 and the filtered locally decoded image Rlocal supplied from the in-loop filter unit 520, and holds (stores) it. Further, the frame memory 521 reconstructs and holds the decoded image R for each picture using the locally decoded image Rlocal (stores it in the buffer in the frame memory 521). The frame memory 521 supplies the decoded image R (or a part thereof) to the prediction unit 522 in response to a request from the prediction unit 522.
  • the prediction unit 522 performs processing related to generation of a predicted image.
  • the prediction unit 522 includes the prediction mode information Pinfo supplied from the control unit 501, the input image (original image) supplied from the rearrangement buffer 511, and the decoded image R (or part thereof) read from the frame memory 521. Is input.
  • the prediction unit 522 performs prediction processing such as inter prediction and intra prediction using the prediction mode information Pinfo and the input image (original image), performs prediction by referring to the decoded image R as a reference image, and based on the prediction result. Motion compensation processing is performed to generate a predicted image P.
  • the prediction unit 522 supplies the generated predicted image P to the calculation unit 512 and the calculation unit 519.
  • the prediction unit 522 supplies the prediction mode selected by the above processing, that is, information regarding the optimum prediction mode, to the encoding unit 515 as necessary.
  • the rate control unit 523 performs processing relating to rate control. For example, the rate control unit 523 controls the rate of the quantization operation of the quantization unit 514 based on the code amount of the coded data stored in the storage buffer 516 so that overflow or underflow does not occur.
  • the encoding device 170 (FIG. 17) may be applied as the encoding unit 515. That is, the encoding unit 515 has the scan control unit 171 and the encoding unit 172, and in the encoding by the encoding unit 172, ⁇ 3.
  • the encoding unit 515 has the scan control unit 171 and the encoding unit 172, and in the encoding by the encoding unit 172, ⁇ 3.
  • Third Embodiment> The various scan controls described in the third embodiment may be applied.
  • the encoding unit 515 stores unnecessary information (encoded data of coefficient data of subblocks in the invalid transform coefficient region) included in the bitstream. Therefore, it is possible to suppress the reduction of the coding efficiency. Moreover, since encoding of unnecessary information can be omitted, it is possible to suppress an increase in the load of the encoding process, and to suppress an increase in cost, circuit scale, processing time, and the like.
  • the image encoding device 500 can suppress a reduction in encoding efficiency. Further, the image encoding device 500 can suppress an increase in the load of the encoding process, and can suppress an increase in cost, circuit scale, processing time, and the like.
  • the rearrangement buffer 511 is controlled by the control unit 501 to rearrange the order of the frames of the input moving image data from the display order to the encoding order in step S301.
  • step S302 the control unit 501 sets the processing unit (block division) for the input image held by the rearrangement buffer 511.
  • step S303 the control unit 501 determines (sets) the coding parameter for the input image held by the rearrangement buffer 511.
  • step S304 the prediction unit 522 performs a prediction process to generate a predicted image and the like in the optimum prediction mode. For example, in this prediction process, the prediction unit 522 performs intra prediction to generate a predicted image or the like in the optimal intra prediction mode, and inter prediction to generate a predicted image or the like in the optimal inter prediction mode.
  • the optimum prediction mode is selected from among them based on the cost function value and the like.
  • step S305 the calculation unit 512 calculates the difference between the input image and the predicted image of the optimum mode selected by the prediction process of step S504. That is, the calculation unit 512 generates a prediction residual resi between the input image and the predicted image.
  • the data amount of the prediction residual resi thus obtained is smaller than that of the original image data. Therefore, the data amount can be compressed as compared with the case where the image is encoded as it is.
  • step S306 the orthogonal transform unit 513 performs an orthogonal transform process on the prediction residual resi generated by the process of step S305 to derive a transform coefficient coef.
  • step S307 the quantization unit 514 quantizes the transform coefficient coef obtained in the process of step S306 by using the quantization parameter calculated by the control unit 501, and derives the quantized transform coefficient level qcoef. ..
  • step S308 the dequantization unit 517 dequantizes the quantized transform coefficient level qcoef generated by the process of step S307 with a characteristic corresponding to the quantization characteristic of step S307, and derives a transform coefficient coefI.
  • step S309 the inverse orthogonal transform unit 518 performs inverse orthogonal transform on the transform coefficient coefI obtained by the process of step S308 by a method corresponding to the orthogonal transform process of step S306, and derives a prediction residual resiI. Since this inverse orthogonal transform process is the same as the inverse orthogonal transform process (described later) performed on the decoding side, the description (described below) applied to the decoding side is applied to the inverse orthogonal transform process of step S309. can do.
  • step S310 the calculation unit 519 adds a prediction image obtained by the prediction process of step S304 to the prediction residual resiI derived by the process of step S309 to generate a locally decoded decoded image. To do.
  • step S311 the in-loop filter unit 520 performs in-loop filter processing on the locally decoded decoded image derived by the processing in step S310.
  • step S312 the frame memory 521 stores the locally decoded decoded image derived by the process of step S310 and the locally decoded decoded image filtered in step S312.
  • the encoding unit 515 encodes the quantized transform coefficient level qcoef obtained by the process of step S307. For example, the encoding unit 515 encodes the quantized transform coefficient level qcoef, which is information about an image, by arithmetic encoding or the like to generate encoded data. Further, at this time, the encoding unit 515 encodes various encoding parameters (header information Hinfo, prediction mode information Pinfo, conversion information Tinfo). Further, the encoding unit 515 derives residual information RInfo from the quantized transform coefficient level level and encodes the residual information RInfo.
  • header information Hinfo prediction mode information
  • Pinfo prediction mode information
  • Tinfo conversion information
  • step S314 the accumulation buffer 516 accumulates the encoded data thus obtained and outputs it as a bit stream to the outside of the image encoding device 500, for example.
  • This bit stream is transmitted to the decoding side, for example, via a transmission line or a recording medium.
  • the rate control unit 523 also performs rate control as needed.
  • step S314 ends, the image coding process ends.
  • the scan order of the effective transform coefficient region may be controlled as described above. That is, in this encoding process, the encoding process described with reference to the flowchart in FIG. 18 may be performed. By doing so, the image encoding device 500 can further suppress a reduction in encoding efficiency.
  • FIG. 45 is a block diagram showing an example of the configuration of an image decoding device that is one aspect of an image processing device to which the present technology is applied.
  • the image decoding device 600 shown in FIG. 45 is a device for decoding encoded data in which the prediction residual between an image and its predicted image is encoded, such as AVC and HEVC.
  • the image decoding device 600 implements the techniques described in Non-Patent Documents 1 to 4, and the image data of a moving image is encoded by a method that conforms to the standard described in any of those documents. Decode the encoded data.
  • the image decoding device 600 decodes the encoded data (bit stream) generated by the image encoding device 500 described above.
  • FIG. 45 shows main components such as a processing unit and a data flow, and the components shown in FIG. 45 are not necessarily all. That is, in the image decoding device 600, a processing unit not shown as a block in FIG. 45 may exist, or a process or data flow not shown as an arrow or the like in FIG. 45 may exist. This also applies to other drawings that describe the processing unit and the like in the image decoding device 600.
  • the image decoding device 600 includes an accumulation buffer 611, a decoding unit 612, an inverse quantization unit 613, an inverse orthogonal transformation unit 614, a calculation unit 615, an in-loop filter unit 616, a rearrangement buffer 617, a frame memory 618, and The prediction unit 619 is provided.
  • the prediction unit 619 includes an intra prediction unit and an inter prediction unit (not shown).
  • the image decoding device 600 is a device for generating moving image data by decoding encoded data (bit stream).
  • the accumulation buffer 611 acquires the bit stream input to the image decoding device 600 and holds (stores) it.
  • the accumulation buffer 611 supplies the accumulated bitstream to the decoding unit 612 at a predetermined timing or when a predetermined condition is satisfied.
  • the decoding unit 612 performs processing related to image decoding. For example, the decoding unit 612 receives the bitstream supplied from the accumulation buffer 611 as an input, performs variable length decoding of the syntax value of each syntax element from the bit string according to the definition of the syntax table, and derives the parameter. To do.
  • the parameter derived from the syntax element and the syntax value of the syntax element includes information such as header information Hinfo, prediction mode information Pinfo, conversion information Tinfo, residual information Rinfo, and filter information Finfo. That is, the decoding unit 612 parses (analyzes and acquires) these pieces of information from the bitstream. These pieces of information will be 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 (width PicWidth, height PicHeight), bit depth (luminance bitDepthY, color difference bitDepthC), color difference array type ChromaArrayType, CU size maximum value MaxCUSize / minimum value MinCUSize, and quadtree partitioning ( Quad-tree split) maximum depth MaxQTDepth / minimum depth MinQTDepth, binary tree split (Binary-tree split) maximum depth MaxBTDepth / minimum depth MinBTDepth, maximum value of transform skip block MaxTSSize (also called maximum transform skip block size) ), Information that defines an on / off flag (also referred to as a valid flag) of each encoding tool, and the like.
  • the on / off flag of the encoding tool included in the header information Hinfo there are on / off flags related to conversion and quantization processing shown below.
  • the on / off flag of the coding tool can also be interpreted as a flag indicating whether or not the syntax related to the coding tool is present in the coded 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), the coding tool is unusable. Show. The interpretation of the flag value may be reversed.
  • Inter-component prediction enable flag (ccp_enabled_flag): This is flag information indicating whether inter-component prediction (also called CCP (Cross-Component Prediction) or CC prediction) can be used. For example, if the flag information is "1" (true), it indicates that the flag can be used, and if the flag information is "0" (false), it indicates that the flag cannot be used.
  • CCP is also called linear prediction between components (CCLM or CCLMP).
  • the prediction mode information Pinfo includes, for example, information such as size information PBSize (prediction block size) of the processing target PB (prediction block), intra prediction mode information IPinfo, and motion prediction information MVinfo.
  • 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, inter-component prediction flag (ccp_flag (cclmp_flag)), multi-class linear prediction mode flag (mclm_flag), color difference sample position type identifier (chroma_sample_loc_type_idx), color difference MPM identifier (chroma_mpm_idx), and ,
  • the luminance intra prediction mode (IntraPredModeC) derived from these syntaxes, and the like are included.
  • Multi-class linear prediction mode flag is information about the mode of linear prediction (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 that it is a one-class mode (single-class mode) (for example, CCLMP), and "1" indicates that it is a two-class mode (for multi-class mode) (for example MCLMP). ..
  • the color difference sample position type identifier (chroma_sample_loc_type_idx) is an identifier that identifies the type of pixel position of the color difference component (also called the color difference sample position type). For example, when the color difference array type (ChromaArrayType), which is information about the color format, indicates the 420 format, the color difference sample position type identifier is assigned as shown in the following expression (6).
  • this color difference sample position type identifier (chroma_sample_loc_type_idx) is transmitted (stored in) as information (chroma_sample_loc_info ()) related to the pixel position of the color difference component.
  • the color difference MPM identifier (chroma_mpm_idx) is an identifier indicating which prediction mode candidate in the color difference intra prediction mode candidate list (intraPredModeCandListC) is designated as the color difference intra prediction mode.
  • the information included in the prediction mode information Pinfo is arbitrary, and information other than these 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.
  • Conversion skip flag (ts_flag): This flag indicates whether to skip (reverse) primary conversion and (reverse) secondary conversion.
  • Scan identifier (scanIdx) Quantization parameter (qp) Quantization matrix (scaling_matrix (eg JCTVC-W1005, 7.3.4 Scaling list data syntax))
  • the residual information Rinfo (for example, see 7.3.8.11 Residual Coding syntax of JCTVC-W1005) includes, for example, the following syntax.
  • cbf (coded_block_flag): Residual data existence flag last_sig_coeff_x_pos: Last non-zero coefficient X coordinate last_sig_coeff_y_pos: Last non-zero coefficient Y coordinate coded_sub_block_flag: Sub-block non-zero coefficient existence flag sig_coeff_flag: Non-zero coefficient existence flag gr1_flag: Non-zero coefficient level Flag indicating whether it is greater than 1 (also called GR1 flag)
  • gr2_flag Flag indicating whether the level of non-zero coefficient is greater than 2 (also called GR2 flag) sign_flag: A code that indicates whether the non-zero coefficient is positive or negative (also called a sign code) coeff_abs_level_remaining: Non-zero coefficient residual level (also called non-zero coefficient residual level) Such.
  • the information included in the residual information Rinfo is arbitrary, and information other than these information may be included.
  • the filter information Finfo includes, for example, control information regarding each filter process described below.
  • Control information for deblocking filter DPF
  • Control information for adaptive offset filter SAO
  • Control information for adaptive loop filter ALF
  • filter information Finfo is arbitrary, and information other than these information may be included.
  • the decoding unit 612 derives the quantized transform coefficient level qcoef at each coefficient position in each transform block by referring to the residual information Rinfo.
  • the decoding unit 612 supplies the quantized transform coefficient level qcoef to the inverse quantization unit 613.
  • the decoding unit 612 also supplies the parsed header information Hinfo, prediction mode information Pinfo, quantized transform coefficient level qcoef, transform information Tinfo, and filter information Finfo to each block. Specifically, it is as follows.
  • the header information Hinfo is supplied to the inverse quantization unit 613, the inverse orthogonal transform unit 614, the prediction unit 619, and the in-loop filter unit 616.
  • the prediction mode information Pinfo is supplied to the inverse quantization unit 613 and the prediction unit 619.
  • the transform information Tinfo is supplied to the inverse quantization unit 613 and the inverse orthogonal transform unit 614.
  • the filter information Finfo is supplied to the in-loop filter unit 616.
  • each coding parameter may be supplied to an arbitrary processing unit.
  • other information may be supplied to any processing unit.
  • the inverse quantization unit 613 performs processing relating to inverse quantization. For example, the inverse quantization unit 613 receives the transform information Tinfo and the quantized transform coefficient level qcoef supplied from the decoding unit 612 as input, and scales the value of the quantized transform coefficient level qcoef based on the transform information Tinfo (inverse Quantized), and the dequantized transform coefficient coefI is derived.
  • this inverse quantization is performed as an inverse process of the quantization by the quantization unit 514.
  • the inverse quantization is the same process as the inverse quantization performed by the inverse quantization unit 517. That is, the inverse quantization unit 517 performs the same processing (inverse quantization) as the inverse quantization unit 613.
  • the inverse quantization unit 613 supplies the derived transform coefficient coefI to the inverse orthogonal transform unit 614.
  • the inverse orthogonal transform unit 614 performs processing related to inverse orthogonal transform. For example, the inverse orthogonal transform unit 614 receives the transform coefficient coefI supplied from the inverse quantization unit 613 and the transform information Tinfo supplied from the decoding unit 612 as input, and based on the transform information Tinfo, converts the transform coefficient coefI into the transform coefficient coefI. On the other hand, inverse orthogonal transform processing is performed to derive the prediction residual resiI.
  • the inverse orthogonal transform is performed as an inverse process of the orthogonal transform by the orthogonal transform unit 513.
  • the inverse orthogonal transform is the same process as the inverse orthogonal transform performed by the inverse orthogonal transform unit 518. That is, the inverse orthogonal transform unit 518 performs the same processing (inverse orthogonal transform) as the inverse orthogonal transform unit 614.
  • the inverse orthogonal transformation unit 614 supplies the derived prediction residual resiI to the calculation unit 615.
  • the calculation unit 615 performs processing related to addition of information regarding images. For example, the calculation unit 615 inputs the prediction residual resiI supplied from the inverse orthogonal transform unit 614 and the prediction image P supplied from the prediction unit 619. The calculation unit 615 adds the prediction residual resiI and the prediction image P (prediction signal) corresponding to the prediction residual resiI to derive the locally decoded image Rlocal, as shown in the following Expression (7).
  • the calculation unit 615 supplies the derived locally decoded image Rlocal to the in-loop filter unit 616 and the frame memory 618.
  • the in-loop filter unit 616 performs processing relating to in-loop filter processing.
  • the in-loop filter unit 616 receives the locally decoded image Rlocal supplied from the calculation unit 615 and the filter information Finfo supplied from the decoding unit 612 as inputs.
  • the information input to the in-loop filter unit 616 is arbitrary, and information other than this information may be input.
  • the in-loop filter unit 616 appropriately filters the locally decoded image Rlocal based on the filter information Finfo.
  • the in-loop filter unit 616 includes a bilateral filter, a deblocking filter (DBF (DeBlocking Filter)), an adaptive offset filter (SAO (Sample Adaptive Offset)), and an adaptive loop filter (ALF (Adaptive Loop Filter)). Apply one in-loop filter in this order. Note that which filter is applied and in what order is arbitrary, and can be appropriately selected.
  • DPF DeBlocking Filter
  • SAO Sample Adaptive Offset
  • ALF adaptive Loop Filter
  • the in-loop filter unit 616 performs a filter process corresponding to the filter process performed by the encoding side (for example, the in-loop filter unit 520 of the image encoding device 500).
  • the filtering process performed by the in-loop filter unit 616 is arbitrary and is not limited to the above example.
  • the in-loop filter unit 616 may apply a Wiener filter or the like.
  • the in-loop filter unit 616 supplies the filtered local decoded image Rlocal to the rearrangement buffer 617 and the frame memory 618.
  • the rearrangement buffer 617 receives the locally decoded image Rlocal supplied from the in-loop filter unit 616 as an input, and holds (stores) it.
  • the rearrangement buffer 617 reconstructs and holds (stores in the buffer) the decoded image R for each picture using the local decoded image Rlocal.
  • the sorting buffer 617 sorts the obtained decoded images R from the decoding order to the reproduction order.
  • the rearrangement buffer 617 outputs the rearranged decoded image R group as moving image data to the outside of the image decoding device 600.
  • the frame memory 618 performs processing relating to storage of data relating to images. For example, the frame memory 618 receives the local decoded image Rlocal supplied from the calculation unit 615 as an input, reconstructs the decoded image R for each picture unit, and stores the decoded image R in the buffer in the frame memory 618.
  • the frame memory 618 receives the in-loop filtered local decoded image Rlocal supplied from the in-loop filter unit 616 as an input, reconstructs the decoded image R for each picture unit, and stores the buffer in the frame memory 618. Store to.
  • the frame memory 618 appropriately supplies the stored decoded image R (or a part thereof) to the prediction unit 619 as a reference image.
  • the frame memory 618 may store the header information Hinfo, the prediction mode information Pinfo, the conversion information Tinfo, the filter information Finfo, and the like related to the generation of the decoded image.
  • the prediction unit 619 performs processing related to generation of a predicted image. For example, the prediction unit 619 receives the prediction mode information Pinfo supplied from the decoding unit 612 as input, performs prediction by the prediction method specified by the prediction mode information Pinfo, and derives a predicted image P. In the derivation, the prediction unit 619 uses the pre-filtered or post-filtered decoded image R (or a part thereof) stored in the frame memory 618, which is designated by the prediction mode information Pinfo, as a reference image. The prediction unit 619 supplies the derived predicted image P to the calculation unit 615.
  • the decoding device 180 (FIG. 19) may be applied as the decoding unit 612. That is, the decoding unit 612 includes the scan control unit 181 and the decoding unit 182, and in the decoding by the decoding unit 182, ⁇ 3.
  • the decoding unit 612 includes the scan control unit 181 and the decoding unit 182, and in the decoding by the decoding unit 182, ⁇ 3.
  • the decoding unit 612 reduces unnecessary information (encoded data of coefficient data of subblocks in the invalid transform coefficient region) included in the bitstream, as in the case of the decoding device 180.
  • the encoded data generated in such a scan order can be correctly decoded. That is, the decoding unit 612 can suppress a reduction in encoding efficiency. Further, since decoding of unnecessary information can be omitted, it is possible to suppress an increase in the load of the decoding process, and it is possible to suppress an increase in cost, circuit scale, processing time, and the like.
  • the image decoding device 600 can suppress a reduction in encoding efficiency. Further, the image decoding device 600 can suppress an increase in the load of decoding processing, and can suppress an increase in cost, circuit scale, processing time, and the like.
  • the accumulation buffer 611 acquires and retains (stores) the encoded data (bit stream) supplied from the outside of the image decoding device 600 in step S401.
  • step S602 the decoding unit 612 decodes the encoded data (bit stream) and obtains the quantized transform coefficient level qcoef. In addition, the decoding unit 612 parses (obtains by analyzing) various coding parameters from the coded data (bit stream) by this decoding.
  • step S403 the dequantization unit 613 performs dequantization, which is the inverse process of the quantization performed on the encoding side, on the quantized transform coefficient level qcoef obtained by the process of step S402, and transforms it. Get the coefficient coefI.
  • step S404 the inverse orthogonal transform unit 614 performs an inverse orthogonal transform process, which is the inverse process of the orthogonal transform process performed on the encoding side, on the transform coefficient coefI obtained by the process of step S403, and the prediction residual Get the difference resiI.
  • step S405 the prediction unit 619 performs a prediction process based on the information parsed in step S402 according to the prediction method specified by the encoding side, and refers to the reference image stored in the frame memory 618. Then, the predicted image P is generated.
  • step S406 the calculation unit 615 adds the prediction residual resiI obtained by the processing of step S404 and the prediction image P obtained by the processing of step S405 to derive a locally decoded image Rlocal.
  • step S407 the in-loop filter unit 616 performs in-loop filter processing on the locally decoded image Rlocal obtained by the processing in step S406.
  • step S408 the frame memory 618 stores at least one of the locally decoded image Rlocal obtained by the process of step S406 and the filtered locally decoded image Rlocal obtained by the process of step S407. ..
  • step S409 the rearrangement buffer 617 derives the decoded image R using the filtered local decoded image Rlocal obtained in the process of step S407, and arranges the order of the decoded image R group in the decoding order from the reproduction order. Change.
  • step S410 the rearrangement buffer 617 outputs the decoded image R group rearranged in the reproduction order to the outside of the image decoding device 600 as a moving image.
  • the image decoding process ends.
  • the scan order of the effective transform coefficient region may be controlled as described above. That is, in this decoding process, the decoding process described with reference to the flowchart of FIG. 20 may be performed. By doing so, the image decoding device 600 can further suppress the reduction in encoding efficiency.
  • FIG. 47 shows an example of the syntax of the transform unit (transform_unit). As shown in the 10th to 16th rows from the top of FIG. 47, residual data is encoded (residual_coding) for each of the luminance component (luma) and the color difference component (cb, cr).
  • FIG. 21 An example of the coding syntax of the residual data (coefficient data) is shown in FIG.
  • coding of coefficient data is basically controlled as in the example of FIG.
  • the series of processes described above can be executed by hardware or software.
  • a program forming the software is installed in the computer.
  • the computer includes a computer incorporated in dedicated hardware and, for example, a general-purpose personal computer capable of executing various functions by installing various programs.
  • FIG. 49 is a block diagram showing an example of the hardware configuration of a computer that executes the series of processes described above by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input / output interface 810 is also connected to the bus 804.
  • An input unit 811, an output unit 812, a storage unit 813, a communication unit 814, and a drive 815 are connected to the input / output interface 810.
  • the input unit 811 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
  • the output unit 812 includes, for example, a display, a speaker, an output terminal and the like.
  • the storage unit 813 includes, for example, a hard disk, a RAM disk, a non-volatile memory, or the like.
  • the communication unit 814 includes, for example, a network interface.
  • the drive 815 drives a removable medium 821 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 801 loads the program stored in the storage unit 813 into the RAM 803 via the input / output interface 810 and the bus 804 and executes the program, thereby performing the above-described series of operations. Is processed.
  • the RAM 803 also appropriately stores data necessary for the CPU 801 to execute various processes.
  • the program executed by the computer (CPU 801) can be recorded in the removable medium 821 as a package medium or the like and applied.
  • the program can be installed in the storage unit 813 via the input / output interface 810 by mounting the removable medium 821 in the drive 815.
  • this program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be received by the communication unit 814 and installed in the storage unit 813.
  • this program can be installed in advance in the ROM 802 or the storage unit 813.
  • the data units in which the various types of information described above are set and the data units targeted by various processes are arbitrary and are not limited to the examples described above.
  • these pieces of information and processing are respectively TU (Transform Unit), TB (Transform Block), PU (Prediction Unit), PB (Prediction Block), CU (Coding Unit), LCU (Largest Coding Unit), and sub-block.
  • Blocks, tiles, slices, pictures, sequences, or components may be set, or data in these data units may be targeted.
  • this data unit can be set for each information or processing, and it is not necessary that all data units for information and processing be unified.
  • the storage location of these pieces of information is arbitrary, and may be stored in the above-described header or parameter set in data units. Also, it may be stored in a plurality of locations.
  • control information related to the present technology described in each of the above embodiments may be transmitted from the encoding side to the decoding side.
  • control information for example, enabled_flag
  • control information indicating an object to which the present technology described above is applied (or an object to which the present technology is not applied) may be transmitted.
  • control information specifying a block size (upper limit, lower limit, or both), frame, component, layer, or the like to which the present technology is applied (or permission or prohibition of application) may be transmitted.
  • the present technology can be applied to any image encoding / decoding method. That is, as long as it does not contradict the present technology described above, the specifications of various processes related to image encoding / decoding, such as transformation (inverse transformation), quantization (inverse quantization), encoding (decoding), and prediction, are arbitrary. It is not limited to the example. Further, as long as it does not conflict with the present technology described above, some of these processes may be omitted.
  • the present technology can be applied to a multi-view image encoding / decoding system that encodes / decodes a multi-view image including images from a plurality of viewpoints (views).
  • the present technology may be applied to the coding / decoding of each view (view).
  • the present technology is applied to a hierarchical image coding (scalable coding) / decoding system that performs coding / decoding of hierarchical images that are layered (hierarchized) so as to have a scalability function for a predetermined parameter. can do.
  • the present technology may be applied to the encoding / decoding of each layer.
  • the image processing device, the image encoding device, and the image decoding device are used in, for example, satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication.
  • a device that records an image on or reproduces an image from a transmitter or a receiver for example, a television receiver or a mobile phone
  • a medium such as an optical disk, a magnetic disk, and a flash memory (for example, a hard disk recorder). And cameras) and can be applied to various electronic devices.
  • the present technology can be applied to any configuration mounted on an arbitrary device or a device that configures a system, for example, a processor (for example, a video processor) as a system LSI (Large Scale Integration) or the like, or a module that uses a plurality of processors (for example, a video It is also possible to implement as a module), a unit using a plurality of modules or the like (for example, a video unit), a set in which other functions are further added to the unit (for example, a video set), etc. (that is, a partial configuration of the device).
  • a processor for example, a video processor
  • LSI Large Scale Integration
  • the present technology can also be applied to a network system composed of multiple devices.
  • it can also be applied to cloud services that provide services related to images (moving images) to arbitrary terminals such as computers, AV (Audio Visual) devices, portable information processing terminals, and IoT (Internet of Things) devices. it can.
  • system, device, processing unit, etc. to which the present technology is applied can be used in any field such as transportation, medical care, crime prevention, agriculture, livestock industry, mining, beauty, factory, home appliance, weather, nature monitoring, etc. You can Further, its use is also arbitrary.
  • the present technology can be applied to a system or device used for providing ornamental contents and the like. Further, for example, the present technology can be applied to a system or device used for traffic such as traffic condition supervision and automatic driving control. Furthermore, for example, the present technology can be applied to a system or device used for security. Further, for example, the present technology can be applied to a system or device used for automatic control of a machine or the like. Furthermore, for example, the present technology can also be applied to systems and devices used for agriculture and animal husbandry. Further, the present technology can also be applied to a system or device for monitoring natural conditions such as volcanoes, forests, oceans, and wildlife. Further, for example, the present technology can be applied to a system or device used for sports.
  • the “flag” is information for identifying a plurality of states, and is not only information used to identify two states of true (1) or false (0), but also three or more. It also includes information that can identify the state. Therefore, the value that the "flag” can take may be, for example, a binary value of 1/0, or a ternary value or more. That is, the number of bits forming this "flag” is arbitrary and may be 1 bit or multiple bits. Further, since the identification information (including the flag) is not limited to the form in which the identification information is included in the bitstream, the form in which the difference information of the identification information with respect to certain reference information is included in the bitstream is also assumed. In the above, “flag” and “identification information” include not only that information but also difference information with respect to reference information.
  • various types of information (metadata, etc.) regarding the encoded data may be transmitted or recorded in any form as long as it is associated with the encoded data.
  • the term "associate" means that, for example, when processing one data, the other data can be used (linked). That is, the data associated with each other may be collected as one data or may be individual data.
  • the information associated with the encoded data (image) may be transmitted on a transmission path different from that of the encoded data (image). Further, for example, the information associated with the encoded data (image) may be recorded in a recording medium (or another recording area of the same recording medium) different from that of the encoded data (image). Good.
  • association may be a part of the data instead of the entire data.
  • the image and the information corresponding to the image may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part of the frame.
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configurations described above as a plurality of devices (or processing units) may be collectively configured as one device (or processing unit).
  • part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or another processing unit). ..
  • the system means a set of a plurality of constituent elements (devices, modules (parts), etc.), and it does not matter whether or not all constituent elements are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and one device housing a plurality of modules in one housing are all systems. ..
  • the present technology can have a configuration of cloud computing in which one device shares and jointly processes one function via a network.
  • the program described above can be executed in any device.
  • the device may have a necessary function (function block or the like) so that necessary information can be obtained.
  • each step described in the above-described flowchart can be executed by one device or shared by a plurality of devices.
  • the plurality of processes included in the one step can be executed by one device or shared by a plurality of devices.
  • a plurality of processes included in one step can be executed as a plurality of steps.
  • the processes described as a plurality of steps can be collectively executed as one step.
  • the program executed by the computer may be configured such that the processes of the steps for writing the program are executed in time series in the order described in this specification, or in parallel or when the calls are made. It may be executed individually at a necessary timing such as time. That is, as long as no contradiction occurs, the processing of each step may be executed in an order different from the order described above. Furthermore, the process of the step of writing this program may be executed in parallel with the process of another program, or may be executed in combination with the process of another program.
  • 170 encoding device 171 scan control unit, 172 encoding unit, 180 decoding device, 181 scan control unit, 182 decoding unit, 500 image encoding device, 501 control unit, 515 encoding unit, 600 image decoding device, 612 decoding device Department

Landscapes

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

Abstract

本開示は、符号化効率の低減を抑制することができるようにする画像処理装置および方法に関する。 画像に関する係数データの、無効変換係数領域の符号化をスキップし、有効変換係数領域を符号化する。さらに、例えば、処理対象ブロックのブロック形状に応じた走査順で、その有効変換係数領域の係数データを符号化する。また、画像に関する係数データが符号化された符号化データの、無効変換係数領域の復号をスキップし、有効変換係数領域を復号する。さらに、例えば、処理対象ブロックのブロック形状に応じた走査順で、その有効変換係数領域の符号化データを復号する。本開示は、例えば、画像処理装置、画像符号化装置、または画像復号装置等に適用することができる。

Description

画像処理装置および方法
 本開示は、画像処理装置および方法に関し、特に、符号化効率の低減を抑制することができるようにした画像処理装置および方法に関する。
 従来、画像データの符号化・復号において、32x32より大きいサイズのブロックの高周波領域係数を0にする処理(Zero Out)が提案された。例えば、ブロックサイズが64以上の場合、このブロックの画像データは、上述の処理により、そのブロックの左上の32x32の領域の有効な係数データと、その他の領域の値「0」の係数データとに変換され、符号化される(例えば、非特許文献1参照)。
Benjamin Bross, Jianle Chen, Shan Liu, "Versatile Video Coding (Draft 2)", JVET-K1001-v7, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 11th Meeting: Ljubljana, SI, 10-18 July 2018
 しかしながら、上述の処理を行い、従来のスキャン順で符号化を行うと、有効な係数データが存在しない無効変換係数領域の係数データも符号化されてしまうおそれがあった。そのため、不要な情報により符号化効率が低減してしまうおそれがあった。
 本開示は、このような状況に鑑みてなされたものであり、符号化効率の低減を抑制することができるようにするものである。
 本技術の一側面の画像処理装置は、画像に関する係数データの、無効変換係数領域の符号化をスキップし、有効変換係数領域を符号化する符号化部を備える画像処理装置である。
 本技術の一側面の画像処理方法は、画像に関する係数データの、無効変換係数領域の符号化をスキップし、有効変換係数領域を符号化する画像処理方法である。
 本技術の他の側面の画像処理装置は、画像に関する係数データが符号化された符号化データの、無効変換係数領域の復号をスキップし、有効変換係数領域を復号する復号部を備える画像処理装置である。
 本技術の他の側面の画像処理方法は、画像に関する係数データが符号化された符号化データの、無効変換係数領域の復号をスキップし、有効変換係数領域を復号する画像処理方法である。
 本技術の一側面の画像処理装置および方法においては、画像に関する係数データの、無効変換係数領域の符号化がスキップされ、有効変換係数領域が符号化される。
 本技術の他の側面の画像処理装置および方法においては、画像に関する係数データが符号化された符号化データの、無効変換係数領域の復号がスキップされ、有効変換係数領域が復号される。
ブロック構造の例について説明する図である。 ブロック構造の例について説明する図である。 Zero Outの例について説明する図である。 スキャン順の例について説明する図である。 スキャン順の例について説明する図である。 シンタックスの例について説明する図である。 符号化の例について説明する図である。 符号化の例について説明する図である。 符号化の例について説明する図である。 符号化の例について説明する図である。 符号化の例について説明する図である。 符号化の例について説明する図である。 スキャン制御の例について説明する図である。 無効変換係数領域をスキップする例について説明する図である。 無効変換係数領域をスキップする例について説明する図である。 無効変換係数領域をスキップする例について説明する図である。 符号化装置の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 復号装置の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 シンタックスの例について説明する図である。 有効変換係数領域のスキャン順制御の例について説明する図である。 有効変換係数領域のスキャン順制御の例について説明する図である。 有効変換係数領域のスキャン順制御の例について説明する図である。 有効変換係数領域のスキャン順制御の例について説明する図である。 有効変換係数領域のスキャン順制御の例について説明する図である。 有効変換係数領域のスキャン順制御の例について説明する図である。 有効変換係数領域のスキャン順制御の例について説明する図である。 有効変換係数領域のスキャン順制御の例について説明する図である。 有効変換係数領域のスキャン順制御の例について説明する図である。 有効変換係数領域のスキャン順制御の例について説明する図である。 有効変換係数領域のスキャン順制御の例について説明する図である。 スキャン順算出方法の例について説明する図である。 スキャン順算出方法の例について説明する図である。 有効変換係数領域のスキャン順制御の例について説明する図である。 スキャン順算出方法の例について説明する図である。 スキャン順算出方法の例について説明する図である。 有効変換係数領域のスキャン順制御の例について説明する図である。 有効変換係数領域のスキャン順制御の例について説明する図である。 有効変換係数領域のスキャン順制御の例について説明する図である。 有効変換係数領域のスキャン順制御の例について説明する図である。 色差成分の無効変換係数領域をスキップする例について説明する図である。 画像符号化装置の主な構成例を示すブロック図である。 画像符号化処理の流れの例を示すフローチャートである。 画像復号装置の主な構成例を示すブロック図である。 画像復号処理の流れの例を説明するフローチャートである。 シンタックスの例について説明する図である。 シンタックスの例について説明する図である。 コンピュータの主な構成例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.技術内容・技術用語をサポートする文献等
2.Zero Out
3.コンセプト
4.第1の実施の形態(方法1について)
5.第2の実施の形態(方法1-1について)
6.第3の実施の形態(方法1-2について)
7.第4の実施の形態(画像符号化装置・画像復号装置)
8.付記
 <1.技術内容・技術用語をサポートする文献等>
 本技術で開示される範囲は、実施例に記載されている内容だけではなく、出願当時において公知となっている以下の非特許文献に記載されている内容も含まれる。
 非特許文献1:(上述)
 非特許文献2:TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "Advanced video coding for generic audiovisual services", H.264, 04/2017
 非特許文献3:TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "High efficiency video coding", H.265, 12/2016
 非特許文献4:Jianle Chen, Elena Alshina, Gary J. Sullivan, Jens-Rainer, Jill Boyce, "Algorithm Description of Joint Exploration Test Model 4", JVET-G1001_v1, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 7th Meeting: Torino, IT, 13-21 July 2017
 つまり、上述の非特許文献に記載されている内容もサポート要件を判断する際の根拠となる。例えば、非特許文献3に記載されているQuad-Tree Block Structure、非特許文献4に記載されているQTBT(Quad Tree Plus Binary Tree) Block Structureが実施例において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。また、例えば、パース(Parsing)、シンタックス(Syntax)、セマンティクス(Semantics)等の技術用語についても同様に、実施例において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。
 また、本明細書において、画像(ピクチャ)の部分領域や処理単位として説明に用いる「ブロック」(処理部を示すブロックではない)は、特に言及しない限り、ピクチャ内の任意の部分領域を示し、その大きさ、形状、および特性等は限定されない。例えば、「ブロック」には、上述の非特許文献2乃至非特許文献4に記載の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.Zero Out>
  <符号化・復号のブロック構造>
 非特許文献4に記載のテストモデル(JEM4(Joint Exploration Test Model 4))においては、非特許文献3に記載のHEVC(High Efficiency Video Coding)と同様にCTUs(coding tree units)の概念が採用されている。つまり、この方法の場合、ピクチャ(Picture)がCTUに分割され、そのCTUを最上位のブロック単位として符号化が行われる。非特許文献4においては、CTUの最大サイズは128x128と規定されている。ただし、Luma transform block(TB)の最大サイズは64x64である。
 HEVCでは、CTUはquad-tree(4分木)構造を用いてさらにCUs(coding units)に分割される。CU内にPU(prediction unit)とTU(Transform Unit)が設けられ、入力画像の特徴に合わせてPUサイズとTUサイズとを独立に選択することができる。TUはCUと同様にquaternary-tree構造で分割することができる。
 これに対して、非特許文献4に記載のテストモデルでは、HEVCのCU/PU/TUの概念に代わって、multi-type tree(binary-tree、ternary-tree)+quad-tree構造が採用された。つまり、図1のAに示されるように、ブロック11は、ブロック11-1のようにquad-treeにより4分割することも、ブロック11-2およびブロック11-3のようにbinary-treeにより2分割することも、ブロック11-4およびブロック11-5のようにternary-treeにより3分割することもできる。したがって、図1のBに示されるようにCTU12は、多様なブロックに分割することができる。
 multi-type treeの例を図2に示す。この構造の場合、CTUはまずquad-treeで分割される。quad-tree leafはさらに、multi-type tree構造に分割される。さらに、binary-tree構造やternary-tree構造により、より柔軟にブロック分割することもできる。したがって、CTU12は、図1のBの例のように、長方形のCUに分割することもできる。
 multi-type tree leafがCUサイズとなる。Transformサイズの上限サイズを超えない限り、CUのサイズはPUのサイズ、TUサイズと同一である。CUサイズがTransformサイズを超えている場合は、TUは上限値までに自動的に分割される。その場合のブロックサイズはCU = PU != TUとなる。
  <Large Block Size Transform>
 HEVCの直交変換のブロックサイズは最大32x32であるのに対して、非特許文献4に記載のテストモデルの場合、直交変換のブロックサイズが最大64x64まで拡張されている。非特許文献1においては、32x32より大きいサイズのブロックの高周波領域係数を0にする処理(Zero Out)が提案された。例えば、図3に示されるブロック20のようにブロックサイズが64以上の場合、画像データは、上述の処理により、そのブロック20の左上の32x32の領域の有効な係数データ(有効変換係数とも称する)と、その他の領域の値「0」の係数データとに変換され、符号化される。この有効変換係数を含む領域を有効変換係数領域とも称する。つまり、図3のブロック20の有効変換係数領域21は、有効変換係数により構成される領域である。
 また、ブロックの有効変換係数領域以外の領域を無効変換係数領域とも称する。この無効変換係数領域(図3の例の場合、無効変換係数領域22)は、有効でない係数データ(無効変換係数とも称する)により構成される領域である。無効変換係数は、例えば、値「0」の係数データである。
 ブロック20の各係数データ(変換係数)は、図4に示される例のようなスキャン順(走査順)で符号化される。各係数データは、4x4のサブブロック毎に処理され、各サブブロックは、より高域な成分のサブブロックからより低域な成分のサブブロックに向かう順に処理される。図4の例の場合、ブロックには、サブブロック23が形成され、各サブブロック23は、図中右下端のサブブロックから図中左上端のサブブロックまで、矢印で示されるような順(左下から右上に向かう斜め順を、右下から左上に繰り返す順)でスキャンされる。なお、この例の矢印とは逆順(右上から左下に向かう斜め順を、右下から左上に繰り返す順)のスキャンも可能である。
 各サブブロック23においては、係数データに含まれる、有効変換係数の有無をサブブロック毎に示す有効変換係数フラグ情報(coded_sub_block_flag)が、コンテクスト基盤二進算術符号(context adaptive binary arithmetic coding)により符号化される。そして、係数データに含まれる、0ではない値を有する有効変換係数の有無をサブブロック毎に示す有効性フラグ情報(sig_coeff_flag)が符号化される。さらに、その有効性フラグ情報(sig_coeff_flag)が真(このサブブロックに0ではない値を有する有効変換係数が存在することを示す値、例えば値「1」)であるサブブロックについて、各有効変換係数の符号(coeff_sign_flag)および絶対値(abs)が符号化される。
 ただし、ブロック内の最も高域の有効な係数データを有するサブブロックの位置を示すlast_posが設定されている場合、そのlast_posが示す位置のサブブロックからスキャンが開始される。例えば、図5の例のように、last_posによりブロック20内の最も高域の有効な係数データを有するサブブロック41の位置が示されている場合、その情報に基づいて、そのサブブロック41からスキャンが開始される。つまり、図4に示されるブロック内の全てのスキャンの内、図5に示されるブロック20内において実線の矢印で示されるスキャン(すなわち、サブブロック41からブロック20の左上端のサブブロックまでのスキャン)が行われる。換言するに、図5において点線の矢印で示されるスキャン(すなわち、ブロック20の右下端のサブブロックからサブブロック41までのスキャン)が省略される。
 その際、図5の例のように、スキャンの範囲に無効変換係数領域(図中、グレーのサブブロック)が含まれる場合がある。その場合、その無効変換係数領域のサブブロックもスキャンされる。なお、無効変換係数領域には、有効変換係数は含まれないので、その無効変換係数領域のサブブロックの有効変換係数フラグ情報(codec_sub_block_flag)は偽(このサブブロックに有効変換係数が含まれないことを示す値、例えば値「0」)である。
  <シンタックス>
 図6にシンタックスの例を示す。この例では、上から1段目のfor文において、最も高域の有効な係数データを有するサブブロック(lastSubBlock)からブロックの先頭のサブブロック(左上端のサブブロック)まで処理が繰り返される。また、上から3段目および4段目においてx軸方向およびy軸方向の位置が更新され、下から3行目において、各位置のサブブロックについて有効変換係数フラグ情報(coded_sub_block_flag)が設定される。つまり、最も高域の有効な係数データを有するサブブロック(lastSubBlock)からブロックの先頭のサブブロック(左上端のサブブロック)までの各サブブロックについて、係数データ(例えば、有効変換係数フラグ情報(coded_sub_block_flag))が符号化される。
  <無効変換係数領域の符号化>
 しかしながら、上述のようなスキャン方法の場合、図5に示されるように、無効変換係数領域の係数データもスキャンされ、符号化されてしまう。しかしながら、無効変換係数領域の係数データは、値「0」であることが明らかであるので伝送は不要である。つまり、復号側においては、無効変換係数領域の係数データは、符号化側から伝送されなくても導出することができる。
 つまり、上述のスキャン方法では、不要な情報により符号化効率が低減してしまうおそれがあった。付言するに、その不要な情報を符号化・復号することにより、符号化処理や復号処理の負荷が増大するおそれもあった。
 例えば、図7の例のように、64x64のブロック20において、左上の32x32の有効変換係数領域(図中白色の部分)の右下隅のサブブロック41からスキャンが開始される場合、無効変換係数領域(グレーのサブブロック)の内の濃いグレーのサブブロックがスキャンされる。
 また、例えば、図8の例のように、64x64のブロック20の左上隅から5x5の位置の(有効変換係数領域の)サブブロック41からスキャンが開始される場合も同様であり、無効変換係数領域(グレーのサブブロック)の内の濃いグレーのサブブロックがスキャンされる。
 ブロック20が横長である場合も同様である。例えば、図9のように、64x32のブロック20において、左の32x32が有効変換係数領域(図中白色の部分)であり、右の32x32が無効変換係数領域であるとする。このようなブロック20において、有効変換係数領域(図中白色の部分)の右下隅のサブブロック41からスキャンが開始される場合、無効変換係数領域(グレーのサブブロック)の内の濃いグレーのサブブロックがスキャンされる。
 ブロック20が縦長である場合も同様である。例えば、図10のように、32x64のブロック20において、上の32x32が有効変換係数領域(図中白色の部分)であり、下の32x32が無効変換係数領域であるとする。このようなブロック20において、有効変換係数領域(図中白色の部分)の右下隅のサブブロック41からスキャンが開始される場合、無効変換係数領域(グレーのサブブロック)の内の濃いグレーのサブブロックがスキャンされる。
 ブロック20が横長である場合も同様である。例えば、図11のように、64x16のブロック20において、左の32x16が有効変換係数領域(図中白色の部分)であり、右の32x16が無効変換係数領域であるとする。このようなブロック20において、有効変換係数領域(図中白色の部分)の右下隅のサブブロック41からスキャンが開始される場合、無効変換係数領域(グレーのサブブロック)の内の濃いグレーのサブブロックがスキャンされる。
 ブロック20が縦長である場合も同様である。例えば、図12のように、16x64のブロック20において、上の16x32が有効変換係数領域(図中白色の部分)であり、下の16x32が無効変換係数領域であるとする。このようなブロック20において、有効変換係数領域(図中白色の部分)の右下隅のサブブロック41からスキャンが開始される場合、無効変換係数領域(グレーのサブブロック)の内の濃いグレーのサブブロックがスキャンされる。
 以上のように、上述のスキャン方法では、ブロックの形状に関わらず、不要な情報を符号化・復号することによる符号化効率の低減や、符号化処理や復号処理の負荷の増大等のおそれがあった。
 <3.コンセプト>
  <方法1>
 そこで、図13の表の上から1段目に示されるように、無効変換係数領域をスキップするように、上述のスキャンを制御する。
 例えば、画像に関する係数データの、無効変換係数領域の符号化をスキップし、有効変換係数領域を符号化するようにする。また、例えば、画像処理装置において、画像に関する係数データの、無効変換係数領域の符号化をスキップし、有効変換係数領域を符号化する符号化部を備えるようにする。このようにすることにより、無効変換係数領域の係数データの符号化・復号を抑制することができ、すなわち、不要な情報の符号化・復号を抑制することができるので、符号化効率の低減を抑制することができる。また、同様の理由から、符号化処理の負荷の増大を抑制することができ、コスト、回路規模、および処理時間等の増大を抑制することができる(典型的には、デバイスをより安価に開発・製造することができ、デバイスをより容易に小型化することができ、かつ、より高速に符号化することができる)。
 また、例えば、画像に関する係数データが符号化された符号化データの、無効変換係数領域の復号をスキップし、有効変換係数領域を復号するようにする。また、例えば、画像処理装置において、画像に関する係数データが符号化された符号化データの、無効変換係数領域の復号をスキップし、有効変換係数領域を復号する復号部を備えるようにする。このようにすることにより、無効変換係数領域の係数データの符号化・復号を抑制することができ、すなわち、不要な情報の符号化・復号を抑制することができるので、符号化効率の低減を抑制することができる(典型的には、符号化効率を向上させることができる)。また、同様の理由から、復号処理の負荷の増大を抑制することができ、コスト、回路規模、および処理時間等の増大を抑制することができる(典型的には、デバイスをより安価に開発・製造することができ、デバイスをより容易に小型化することができ、かつ、より高速に復号することができる)。
  <方法1-1>
 また、以上においては、ブロック内において、各サブブロックが斜め方向にスキャンされるように説明したが、このサブブロック単位のスキャン方向は任意であり、上述の斜め方向以外であってもよい。例えば、上述の方法1に加え、例えば、図13の表の上から2段目に示されるように、処理対象ブロックの有効変換係数領域のスキャン順を制御するようにしてもよい。
 例えば、処理対象ブロック内の係数データの値の分布の傾向(分布の特徴)に応じた走査順で、有効変換係数領域の係数データを符号化するようにしてもよい。また、例えば、処理対象ブロック内の係数データの値の分布の傾向に応じた走査順で、有効変換係数領域の符号化データを復号するようにしてもよい。詳細については後述するが、係数データの値の分布はブロック形状や予測方法等に応じて変化する。したがって、このようにスキャン順を制御することにより、係数データの値の分布の傾向により適したスキャン順を用いて係数データを符号化・復号することができる。したがって、符号化効率の低減を抑制することができる(典型的には、符号化効率を向上させることができる)。
   <方法1-1-1>
 例えば、図13の表の上から3段目に示されるように、有効変換係数領域のスキャン方向を垂直または水平にするようにしてもよい。つまり、例えば、有効変換係数領域の係数データを、サブブロック毎に垂直方向または水平方向に走査して符号化するようにしてもよい。また、例えば、有効変換係数領域の符号化データを、サブブロック毎に垂直方向または水平方向に走査して復号するようにしてもよい。
   <方法1-1-2>
 また、例えば、図13の表の上から4段目に示されるように、有効変換係数領域のスキャン方向をブロック形状に応じた方向にするようにしてもよい。つまり、例えば、有効変換係数領域の係数データを、サブブロック毎に処理対象ブロックの形状に応じた走査順で符号化するようにしてもよい。また、例えば、有効変換係数領域の符号化データを、サブブロック毎に処理対象ブロックの形状に応じた走査順で復号するようにしてもよい。なお、このサブブロック単位のスキャン方向は、直線方向(単一方向)に限定されない。例えば曲線方向であってもよいし、複数のスキャン方向により構成されるようにしてもよい。
   <方法1-1-3>
 また、例えば、図13の表の上から5段目に示されるように、有効変換係数領域のサブブロックをグループ化してスキャンを制御するようにしてもよい。つまり、例えば、有効変換係数領域の係数データを、サブブロックのグループ毎に走査して符号化するようにしてもよい。また、例えば、有効変換係数領域の符号化データを、サブブロックのグループ毎に走査して復号するようにしてもよい。
  <方法1-2>
 また、上述の方法1に加え、例えば、図13の表の上から6段目に示されるように、処理対象ブロックの色差成分も、輝度成分と同様に、スキャンを制御するようにしてもよい。例えば、画像の輝度成分および色差成分について、無効変換係数領域の係数データの符号化をスキップし、有効変換係数領域の係数データを符号化するようにしてもよい。また、例えば、画像の輝度成分および色差成分について、無効変換係数領域の符号化データの復号をスキップし、有効変換係数領域の符号化データを復号するようにしてもよい。
 このようにすることにより、輝度成分だけでなく色差成分についても、不要な情報の符号化・復号を抑制することができるので、符号化効率の低減を抑制することができる(典型的には、符号化効率を向上させることができる)。また、同様の理由から、復号処理の負荷の増大を抑制することができ、コスト、回路規模、および処理時間等の増大を抑制することができる(典型的には、デバイスをより安価に開発・製造することができ、デバイスをより容易に小型化することができ、かつ、より高速に復号することができる)。
 <4.第1の実施の形態>
  <4-1:方法1のスキャン例>
 次に、図13の各方法についてより具体的に説明する。本実施の形態においては、「方法1」について説明する。上述したように、方法1においては、無効変換係数領域の符号化・復号をスキップし、有効変換係数領域の符号化・復号を行うようにする。つまり、図14の例のように、有効変換係数領域の係数データのみが符号化・復号されるようにする。
 図14の例の場合、図7の例と同様に、64x64のブロック20において、左上の32x32の有効変換係数領域(図中白色の部分)の右下隅のサブブロック41からスキャンが開始される。ただし、この場合、上述のように制御される為、図14のブロック20内に示される矢印のように、有効変換係数領域内のサブブロックのみが符号化・復号される。つまり、有効変換係数領域内の各サブブロックが、矢印101乃至矢印115の順にスキャンされ、無効変換係数領域内のサブブロックはスキャンされない。
 したがって、不要な情報である無効変換係数領域のサブブロックの符号化・復号を抑制することができるので、符号化効率の低減を抑制することができる。また、同様の理由から、符号化処理や復号処理の負荷の増大を抑制することができ、コスト、回路規模、および処理時間等の増大を抑制することができる(典型的には、デバイスをより安価に開発・製造することができ、デバイスをより容易に小型化することができ、かつ、符号化・復号をより高速に行うことができる)。
 ブロック20の形状は任意であり、図14の例のように正方形でなくてもよい。例えば、図15の例のようにブロック20が横長の長方形であってもよい。図15の例の場合、ブロック20のサイズは、図9の場合と同様に、64x32である。また、左の32x32が有効変換係数領域(図中白色の部分)であり、右の32x32が無効変換係数領域であり、有効変換係数領域(図中白色の部分)の右下隅のサブブロック41からスキャンが開始される。ただし、この場合、上述のように制御される為、図15のブロック20内に示される矢印のように、有効変換係数領域内のサブブロックのみが符号化・復号される。つまり、有効変換係数領域内の各サブブロックが、矢印121乃至矢印135の順にスキャンされ、無効変換係数領域内のサブブロックはスキャンされない。
 したがって、不要な情報である無効変換係数領域のサブブロックの符号化・復号を抑制することができるので、符号化効率の低減を抑制することができる。また、同様の理由から、符号化処理や復号処理の負荷の増大を抑制することができ、コスト、回路規模、および処理時間等の増大を抑制することができる(典型的には、デバイスをより安価に開発・製造することができ、デバイスをより容易に小型化することができ、かつ、符号化・復号をより高速に行うことができる)。
 また、例えば、図16の例のようにブロック20が縦長の長方形であってもよい。図16の例の場合、ブロック20のサイズは、図10の場合と同様に、32x64である。また、上の32x32が有効変換係数領域(図中白色の部分)であり、下の32x32が無効変換係数領域であり、有効変換係数領域(図中白色の部分)の右下隅のサブブロック41からスキャンが開始される。ただし、この場合、上述のように制御される為、図16のブロック20内に示される矢印のように、有効変換係数領域内のサブブロックのみが符号化・復号される。つまり、有効変換係数領域内の各サブブロックが、矢印151乃至矢印165の順にスキャンされ、無効変換係数領域内のサブブロックはスキャンされない。
 したがって、不要な情報である無効変換係数領域のサブブロックの符号化・復号を抑制することができるので、符号化効率の低減を抑制することができる。また、同様の理由から、符号化処理や復号処理の負荷の増大を抑制することができ、コスト、回路規模、および処理時間等の増大を抑制することができる(典型的には、デバイスをより安価に開発・製造することができ、デバイスをより容易に小型化することができ、かつ、符号化・復号をより高速に行うことができる)。
 なお、以上においては、図4の例のような、左下から右上に向かう斜め順を、右下から左上に繰り返すスキャン順(スキャン方向)を例に説明したが、本技術を適用するスキャン順は任意であり、この例に限定されない。例えば、図4の矢印とは逆向きに、右上から左下に向かう斜め順を、右下から左上に繰り返す順であってもよい。
  <4-2:符号化>
   <符号化装置>
 次に、このようなスキャン制御を実現するデバイスの例について説明する。図17は、本技術を適用した画像処理装置の一態様である符号化装置の主な構成の一例を示すブロック図である。図17に示される符号化装置170は、入力された画像の係数データを符号化し、その符号化データを出力する装置である。図17に示されるように、符号化装置170は、スキャン制御部171および符号化部172を有する。
 スキャン制御部171は、スキャンの制御に関する処理を行う。例えば、スキャン制御部171は、符号化装置170の外部から入力される符号化情報を取得する。この符号化情報は、符号化パラメータとも称し、画像(係数データ)の符号化に関する任意の情報が含まれる。例えば、符号化情報には、処理対象ブロックのブロックサイズ(TbW, TbH)に関する情報や、その処理対象ブロックにおける有効変換係数領域のサイズに関する情報(有効変換係数領域情報とも称する)等が含まれる。スキャン制御部171は、取得した符号化情報から、このような、処理対象ブロックのブロックサイズに関する情報と、有効変換係数領域情報とを抽出する。
 スキャン制御部171は、これらの情報に基づいて、処理対象ブロック内の有効変換係数領域の範囲(有効変換係数領域の位置)を特定する。スキャン制御部171は、その情報に基づいて、符号化部172により行われる係数データのスキャン順を制御する。つまり、スキャン制御部171は、例えば<4-1:方法1のスキャン例>において上述したように、符号化部172が無効変換係数領域のサブブロックの係数データの符号化をスキップし、有効変換係数領域のサブブロックの係数データを符号化するように、そのスキャン順を制御する。スキャン制御部171は、制御命令等を符号化部172に供給することにより、符号化部172のスキャン順を制御する。
 符号化部172は、符号化に関する処理を行う。例えば、符号化部172は、符号化装置170に入力される符号化情報や画像(係数データ)を取得する。また、符号化部172は、スキャン制御部171から供給されるスキャンに関する制御命令等を取得する。符号化部172は、スキャン制御部171により制御されたスキャン順で係数データを符号化し、その符号化データを生成する。例えば、符号化部172は、<4-1:方法1のスキャン例>において上述したように、画像に関する係数データの、無効変換係数領域の各サブブロックの符号化をスキップし、有効変換係数領域の各サブブロックの符号化を行う。
 つまり、符号化部172が、処理対象ブロックのブロックサイズを示す情報と有効変換係数領域の範囲を示す情報とに基づいて、無効変換係数領域の係数データの符号化をスキップし、有効変換係数領域の係数データを符号化するようにしてもよい。
 また、この係数データの内容は任意である。例えば、係数データに、有効変換係数の有無をサブブロック毎に示す有効変換係数フラグ情報(codec_sub_block_flag)が含まれるようにしてもよい。そして、符号化部172が、無効変換係数領域の各サブブロックの有効変換係数フラグ情報(codec_sub_block_flag)の符号化をスキップし、有効変換係数領域の各サブブロックの有効変換係数フラグ情報(codec_sub_block_flag)を符号化するようにしてもよい。
 また、例えば、その係数データに、さらに、0ではない値を有する有効変換係数の有無をサブブロック毎に示す有効性フラグ情報(sig_coeff_flag)と、各有効変換係数の符号(coeff_sign_flag)および絶対値(abs)が含まれるようにしてもよい。そして、符号化部172が、有効変換係数フラグ情報(codec_sub_block_flag)を符号化したサブブロックの有効性フラグ情報(sig_coeff_flag)を符号化し、その有効性フラグ情報(sig_coeff_flag)が真であるサブブロックの、各有効変換係数の符号(coeff_sign_flag)および絶対値(abs)を符号化するようにしてもよい。
 また、符号化部172は、符号化情報も符号化し、その符号化データを生成する。符号化部172は、生成したこれらの符号化データをビットストリームとして符号化装置170の外部に出力する。
 このようにすることにより、符号化装置170は、ビットストリームに含まれる不要な情報(無効変換係数領域のサブブロックの係数データの符号化データ)を低減させることができるので、符号化効率の低減を抑制することができる。また、不要な情報の符号化を省略することができるので、符号化処理の負荷の増大を抑制することができ、コスト、回路規模、および処理時間等の増大を抑制することができる(典型的には、デバイスをより安価に開発・製造することができ、デバイスをより容易に小型化することができ、かつ、符号化をより高速に行うことができる)。
   <符号化処理の流れ>
 このような符号化装置170により実行される符号化処理の流れの例を、図18のフローチャートを参照して説明する。ここでは、1ブロック分の処理について説明する。
 符号化処理が開始されると、符号化装置170のスキャン制御部171は、ステップS101において、符号化情報を取得し、その符号化情報から変換ブロックサイズ(TbW, TbH)と、有効変換係数領域情報(ZoW, ZoH)とを抽出する。
 ステップS102において、スキャン制御部171は、ステップS101において抽出した情報(変換ブロックサイズ(TbW, TbH)および有効変換係数領域情報(ZoW, ZoH))に基づいて、例えば<4-1:方法1のスキャン例>において上述したように、無効変換係数領域のサブブロックのスキャンをスキップし、有効変換計数領域のサブブロックをスキャンするように、符号化部172によるスキャンを制御する。
 ステップS103において、符号化部172は、その制御に従って各サブブロックをスキャンし、各サブブロックの有効変換係数フラグ情報(coded_sub_block_flag)を符号化する。つまり、符号化部172は、例えば<4-1:方法1のスキャン例>において上述したように、無効変換係数領域のサブブロックのスキャンをスキップし、有効変換係数領域のサブブロックのみをスキャンする。したがって、有効変換係数領域の各サブブロックの有効変換係数フラグ情報(coded_sub_block_flag)のみが符号化される。
 ステップS104において、符号化部172は、ステップS103において符号化した有効変換係数フラグ情報(coded_sub_block_flag)の値に基づいて、各サブブロックの有効性フラグ情報(sig_coeff_flag)を符号化する。つまり、符号化部172は、有効変換係数フラグ情報(coded_sub_block_flag)が真(例えば「1」)の各サブブロックの有効性フラグ情報(sig_coeff_flag)を符号化する。
 また、符号化部172は、符号化した有効性フラグ情報(sig_coeff_flag)の値に応じて、変換係数の符号(coeff_sign_flag)および絶対値(abs)を符号化する。つまり、符号化部172は、有効性フラグ情報(sig_coeff_flag)が真(例えば「1」)の各サブブロックの各変換係数の符号(coeff_sign_flag)および絶対値(abs)を符号化する。
 つまり、符号化部172は、ステップS103およびステップS104の処理により、例えば<4-1:方法1のスキャン例>において上述したように、画像に関する係数データの、無効変換係数領域の各サブブロックの符号化をスキップし、有効変換係数領域の各サブブロックの符号化を行う。さらに、符号化部172は、符号化情報も符号化する。符号化部172は、これらの符号化データをビットストリームとして出力する。ステップS104の処理が終了すると符号化処理が終了する。
 このようにすることにより、符号化装置170は、ビットストリームに含まれる不要な情報(無効変換係数領域のサブブロックの係数データの符号化データ)を低減させることができるので、符号化効率の低減を抑制することができる。また、不要な情報の符号化を省略することができるので、符号化処理の負荷の増大を抑制することができ、コスト、回路規模、および処理時間等の増大を抑制することができる(典型的には、デバイスをより安価に開発・製造することができ、デバイスをより容易に小型化することができ、かつ、符号化をより高速に行うことができる)。
  <4-3:復号>
   <復号装置>
 図19は、本技術を適用した画像処理装置の一態様である復号装置の主な構成の一例を示すブロック図である。図19に示される復号装置180は、入力された画像の符号化データを復号し、その画像の係数データを出力する装置である。図19に示されるように、復号装置180は、スキャン制御部181および復号部182を有する。
 スキャン制御部181は、スキャンの制御に関する処理を行う。例えば、スキャン制御部181は、復号装置180の外部から入力されるビットストリーム(符号化データ)を取得する。このビットストリームは、例えば符号化装置170において生成されたものであり、不要な情報である無効変換係数領域のサブブロックの係数データの符号化をスキップするようなスキャン順で符号化された係数データや符号化情報の符号化データを含む。スキャン制御部181は、取得したビットストリームから処理対象ブロックのブロックサイズ(TbW, TbH)と有効変換係数領域情報とを抽出する。
 スキャン制御部181は、これらの情報に基づいて、処理対象ブロック内の有効変換係数領域の範囲(有効変換係数領域の位置)を特定する。スキャン制御部181は、その情報に基づいて、符号化の際のスキャン順(つまり、スキャン制御部171によるスキャン制御)を再現する。スキャン制御部181は、制御命令等を復号部182に供給することにより復号部182を制御し、そのスキャン順(つまり、例えば<4-1:方法1のスキャン例>において上述したような、無効変換係数領域のサブブロックの係数データの符号化をスキップし、有効変換係数領域のサブブロックの係数データを符号化するスキャン順)を再現させる。
 復号部182は、復号に関する処理を行う。例えば、復号部182は、復号装置180に入力されるビットストリームを取得する。このビットストリームには、係数データや符号化情報の符号化データが含まれる。また、復号部182は、スキャン制御部181から供給されるスキャンに関する制御命令等を取得する。復号部182は、スキャン制御部181の制御に従って再現される符号化の際のスキャン順に基づいて、ビットストリームを復号し、係数データを得る。例えば、復号部182は、例えば<4-1:方法1のスキャン例>において上述したように、画像に関する係数データが符号化された符号化データの、無効変換係数領域の各サブブロックの復号をスキップし、有効変換係数領域の各サブブロックの復号を行う。
 つまり、復号部182が、処理対象ブロックのブロックサイズを示す情報と有効変換係数領域の範囲を示す情報とに基づいて、無効変換係数領域の係数データの符号化データの復号をスキップし、有効変換係数領域の係数データの符号化データを復号するようにしてもよい。
 また、この係数データの内容は任意である。例えば、係数データに、有効変換係数の有無をサブブロック毎に示す有効変換係数フラグ情報(codec_sub_block_flag)が含まれるようにしてもよい。そして、復号部182が、有効変換係数領域の各サブブロックの有効変換係数フラグ情報(codec_sub_block_flag)の符号化データを復号するようにしてもよい。
 また、例えば、その係数データに、さらに、0ではない値を有する有効変換係数の有無をサブブロック毎に示す有効性フラグ情報(sig_coeff_flag)と、各有効変換係数の符号(coeff_sign_flag)および絶対値(abs)が含まれるようにしてもよい。そして、復号部182が、有効変換係数フラグ情報(codec_sub_block_flag)の符号化データを復号したサブブロックの有効性フラグ情報(sig_coeff_flag)の符号化データを復号し、その有効性フラグ情報(sig_coeff_flag)が真であるサブブロックの、各有効変換係数の符号(coeff_sign_flag)および絶対値(abs)の符号化データを復号するようにしてもよい。
 例えば、復号部182は、ビットストリームに含まれる係数データの符号化データを復号し、伝送された係数データを得る。また、復号部182は、スキャン制御部181により制御されるスキャン順(つまり、例えば<4-1:方法1のスキャン例>において上述したような、無効変換係数領域のサブブロックの係数データの符号化をスキップし、有効変換係数領域のサブブロックの係数データを符号化するスキャン順)に基づいて、その伝送された係数データがどのサブブロックに対応するかを特定する。つまり、伝送された係数データが、有効変換係数領域のサブブロックに対応付けられる。そして、復号部182は、その他のサブブロックの係数データ、すなわち、伝送されなかった係数データ(例えば無効変換係数等)を復元する。復号部182は、このようにしてブロック毎に係数データを生成し、復号装置180の外部に出力する。
 このようにすることにより、復号装置180は、ビットストリームに含まれる不要な情報(無効変換係数領域のサブブロックの係数データの符号化データ)を低減させるようなスキャン順で生成された符号化データを正しく復号することができる。つまり、復号装置180は、符号化効率の低減を抑制することができる。また、不要な情報の復号を省略することができるので、復号処理の負荷の増大を抑制することができ、コスト、回路規模、および処理時間等の増大を抑制することができる(典型的には、デバイスをより安価に開発・製造することができ、デバイスをより容易に小型化することができ、かつ、復号をより高速に行うことができる)。
   <復号処理の流れ>
 このような復号装置180により実行される符号化処理の流れの例を、図20のフローチャートを参照して説明する。ここでは、1ブロック分の処理について説明する。
 復号処理が開始されると、復号装置180のスキャン制御部181は、ステップS121において、ビットストリームを取得し、そのビットストリームから変換ブロックサイズ(TbW, TbH)と、有効変換係数領域情報(ZoW, ZoH)とを抽出する。
 ステップS122において、スキャン制御部181は、ステップS121において抽出した情報(変換ブロックサイズ(TbW, TbH)および有効変換係数領域情報(ZoW, ZoH))に基づいて復号部182を制御し、符号化時のスキャン順(例えば<4-1:方法1のスキャン例>において上述したような、無効変換係数領域のサブブロックのスキャンをスキップし、有効変換計数領域のサブブロックをスキャンするスキャン順)を再現させる。
 ステップS123において、復号部182は、その制御に基づいて、符号化時のスキャン順により、各サブブロックの有効変換係数フラグ情報(coded_sub_block_flag)の符号化データを復号する。
 例えば、復号部182は、ビットストリーム含まれる有効変換係数フラグ情報(coded_sub_block_flag)の符号化データを復号し、伝送された有効変換係数フラグ情報(coded_sub_block_flag)を得る。また、復号部182は、スキャン制御部181により制御されたスキャン順(つまり符号化時のスキャン順)に基づいて、その伝送された有効変換係数フラグ情報(coded_sub_block_flag)がどのサブブロックに対応するかを特定する。そして、復号部182は、その他のサブブロックの有効変換係数フラグ情報(coded_sub_block_flag)、すなわち、伝送されなかった有効変換係数フラグ情報(coded_sub_block_flag)を復元する。
 例えば、ビットストリームを復号して有効変換係数領域のサブブロックの有効変換係数フラグ情報(coded_sub_block_flag)が得られる場合、復号部182は、その他の領域である無効変換係数領域のサブブロックの有効変換係数フラグ情報(coded_sub_block_flag)を復元する。このようにして、復号部182は、処理対象ブロックの全サブブロックの有効変換係数フラグ情報(coded_sub_block_flag)を復元する。
 ステップS124において、復号部182は、ステップS123において復号した有効変換係数フラグ情報(coded_sub_block_flag)の値に基づいて、各サブブロックの有効性フラグ情報(sig_coeff_flag)を復号する。
 例えば、復号部182は、ビットストリームに含まれる有効性フラグ情報(sig_coeff_flag)の符号化データを復号し、伝送された有効性フラグ情報(sig_coeff_flag)を得る。また、復号部182は、有効変換係数フラグ情報(coded_sub_block_flag)の復号結果に基づいて、その伝送された有効性フラグ情報(sig_coeff_flag)に対応するサブブロックを特定する。そして、復号部182は、その他のサブブロックの有効性フラグ情報(sig_coeff_flag)、すなわち、伝送されなかった有効性フラグ情報(sig_coeff_flag)を復元する。
 さらに、復号部182は、以上のように復元した各サブブロックの有効性フラグ情報(sig_coeff_flag)の値に基づいて、各サブブロックに含まれる変換係数の符号(coeff_sign_flag)および絶対値(abs)を復号する。
 例えば、復号部182は、ビットストリームに含まれる変換係数の符号(coeff_sign_flag)および絶対値(abs)の符号化データを復号し、伝送された変換係数の符号(coeff_sign_flag)および絶対値(abs)を得る。また、復号部182は、その伝送された変換係数の符号(coeff_sign_flag)および絶対値(abs)を、有効性フラグ情報(sig_coeff_flag)が真(例えば「1」)のサブブロックと対応付ける。そして、復号部182は、その他のサブブロックに含まれる変換係数の符号(coeff_sign_flag)および絶対値(abs)、すなわち、伝送されなかった変換係数の符号(coeff_sign_flag)および絶対値(abs)を復元する。
 つまり、復号部182は、ステップS123およびステップS124の処理により、画像に関する係数データが符号化された符号化データの、無効変換係数領域の各サブブロックの復号をスキップし、有効変換係数領域の各サブブロックの復号を行う。復号部182は、このようにして生成した係数データを出力する。ステップS124の処理が終了すると復号処理が終了する。
 このようにすることにより、復号装置180は、ビットストリームに含まれる不要な情報(無効変換係数領域のサブブロックの係数データの符号化データ)を低減させるようなスキャン順で生成された符号化データを正しく復号することができる。つまり、復号装置180は、符号化効率の低減を抑制することができる。また、不要な情報の復号を省略することができるので、復号処理の負荷の増大を抑制することができ、コスト、回路規模、および処理時間等の増大を抑制することができる(典型的には、デバイスをより安価に開発・製造することができ、デバイスをより容易に小型化することができ、かつ、復号をより高速に行うことができる)。
  <4-4:シンタックス>
 以上に説明したような無効変換係数領域のサブブロックのスキップは、上述のようにスキャン順を変更することにより実現するようにしてもよいが、シンタックスを用いて実現するようにしてもよい。
 図21にこの場合のシンタックスの例を示す。このシンタックスの例は、基本的に図6の例と同様であるが、上から6段目のif文において、スキャンの範囲が有効変換係数領域に制限されている((xS <= 32) && (yS <= 32))。このようにすることにより、上述のスキャン制御を容易に実現することができる。
 <5.第2の実施の形態>
  <5-1:方法1-1のスキャン例>
 本実施の形態においては、「方法1-1」について説明する。上述したように、方法1-1においては、上述の方法1に加え、処理対象ブロックの有効変換係数領域のスキャン順を制御する。このようにすることにより、サブブロック単位のスキャン方向を任意の方向とすることができ、斜め方向以外のスキャン方向を実現することができる。これにより、例えば、処理対象ブロック内の係数データの値の分布の傾向に対してより適切な走査順で、符号化・復号を行うことができる。したがって、符号化効率の低減を抑制することができる。
 例えば、符号化装置170において、スキャン制御部171が、ステップS102において、有効変換係数領域のスキャン順を制御し、符号化部172が、ステップS103およびステップS104において、その制御に従って有効変換係数領域のサブブロックをスキャンし、符号化するようにしてもよい。このようにすることにより、符号化装置170は、符号化効率の低減をより抑制することができる。
 また、例えば、復号装置180において、スキャン制御部181が、ステップS122において、有効変換係数領域のスキャン順を制御し、復号部182が、ステップS123およびステップS124において、その制御に従った有効変換係数領域のサブブロックのスキャンを利用して符号化データを復号するようにしてもよい。このようにすることにより、復号装置180は、符号化効率の低減をより抑制することができる。
 このスキャン順の制御の具体例を以下に説明する。
   <5-1-1:方法1-1-1>
 例えば、符号化・復号において、有効変換係数領域のサブブロック単位のスキャン方向を垂直または水平にするようにしてもよい(方法1-1-1)。
 例えば、図22の場合、ブロック20のサイズは、64x32である。また、左の32x32が有効変換係数領域(図中白色の部分)であり、右の32x32が無効変換係数領域(図中グレーの部分)であり、有効変換係数領域の右下隅のサブブロック41からスキャンが開始される。そして、図15の例の場合と同様に、有効変換係数領域内のサブブロックのみがスキャンされる。
 ただし、図22の例の場合、サブブロック単位のスキャンは、図中垂直方向に行われる。つまり、サブブロック41からスキャンが開始され、同列の各サブブロックが下から上に向かってスキャンされる。各列のサブブロックは同様の順で垂直方向にスキャンされる。そして、各列は、右の列から順に1列ずつスキャンされる。つまり、各サブブロックは、矢印201から矢印208まで順に進むように、スキャンされる。
 例えば、イントラ予測の予測方向が水平方向の場合、直交変換により係数データの値は、垂直方向に大きく変化しやすくなる。つまり、この場合、係数データの値の分布には、水平方向よりも垂直方向に大きく変化する(つまり、値の偏りが大きくなる)傾向がある。したがって、図22の例のように、符号化・復号におけるサブブロック単位のスキャン方向を垂直方向とすることにより、その値の偏りの大きさをより生かすことができ、符号化効率を向上させることができる。
 また例えば、図23の場合、ブロック20の形状や有効変換係数領域等は、図22の例の場合と同様であるが、サブブロック単位のスキャンは、図中水平方向に行われる。つまり、サブブロック41からスキャンが開始され、同行の各サブブロックが右から左に向かってスキャンされる。各行のサブブロックは同様の順で水平方向にスキャンされる。そして、各行は、下の行から順に1行ずつスキャンされる。つまり、各サブブロックは、矢印211から矢印218まで順に進むように、スキャンされる。
 例えば、イントラ予測の予測方向が垂直方向の場合、直交変換により係数データの値は、水平方向に大きく変化しやすくなる。つまり、この場合、係数データの値の分布には、垂直方向よりも水平方向に大きく変化する(つまり、値の偏りが大きくなる)傾向がある。したがって、図23の例のように、符号化・復号におけるサブブロック単位のスキャン方向を水平方向とすることにより、その値の偏りの大きさをより生かすことができ、符号化効率を向上させることができる。
 つまり、有効変換係数領域のサブブロック単位のスキャン方向(例えば、垂直方向にするか、水平方向にするか、斜め方向にするか)は、イントラ予測の予測方向に応じて選択するようにしてもよい。このようにすることにより、イントラ予測の予測方向によらず、符号化効率を向上させることができる。
 例えば、図24の場合、ブロック20のサイズは、32x64である。また、上の32x32が有効変換係数領域(図中白色の部分)であり、下の32x32が無効変換係数領域(図中グレーの部分)であり、有効変換係数領域の右下隅のサブブロック41からスキャンが開始される。そして、図16の例の場合と同様に、有効変換係数領域内のサブブロックのみがスキャンされる。
 ただし、図24の例の場合、サブブロック単位のスキャンは、図中水平方向に行われる。つまり、サブブロック41からスキャンが開始され、同行の各サブブロックが右から左に向かってスキャンされる。各行のサブブロックは同様の順で水平方向にスキャンされる。そして、各行は、下の行から順に1行ずつスキャンされる。つまり、各サブブロックは、矢印231から矢印238まで順に進むように、スキャンされる。
 処理対象ブロックのイントラ予測が垂直方向である場合に、このように符号化・復号におけるサブブロック単位のスキャン方向を水平方向とすることにより、図23の例と同様に、符号化効率を向上させることができる。
 また例えば、図25の場合、ブロック20の形状や有効変換係数領域等は、図24の例の場合と同様であるが、サブブロック単位のスキャンは、図中垂直方向に行われる。つまり、サブブロック41からスキャンが開始され、同列の各サブブロックが下から上に向かってスキャンされる。各列のサブブロックは同様の順で垂直方向にスキャンされる。そして、各列は、右の列から順に1列ずつスキャンされる。つまり、各サブブロックは、矢印241から矢印248まで順に進むように、スキャンされる。
 処理対象ブロックのイントラ予測が水平方向である場合に、このように符号化・復号におけるサブブロック単位のスキャン方向を垂直方向とすることにより、図22の例と同様に、符号化効率を向上させることができる。
 例えば、図26の場合、ブロック20のサイズは、64x16である。また、左の32x16が有効変換係数領域(図中白色の部分)であり、右の32x16が無効変換係数領域(図中グレーの部分)であり、有効変換係数領域の右下隅のサブブロック41からスキャンが開始される。そして、上述の各例と同様に、有効変換係数領域内のサブブロックのみがスキャンされる。
 図26の例の場合、サブブロック単位のスキャンは、図中垂直方向に行われる。つまり、サブブロック41からスキャンが開始され、同列の各サブブロックが下から上に向かってスキャンされる。各列のサブブロックは同様の順で垂直方向にスキャンされる。そして、各列は、右の列から順に1列ずつスキャンされる。つまり、各サブブロックは、矢印261から矢印268まで順に進むように、スキャンされる。
 処理対象ブロックのイントラ予測が水平方向である場合に、このように符号化・復号におけるサブブロック単位のスキャン方向を垂直方向とすることにより、図22の例と同様に、符号化効率を向上させることができる。
 また例えば、図27の場合、ブロック20の形状や有効変換係数領域等は、図26の例の場合と同様であるが、サブブロック単位のスキャンは、図中水平方向に行われる。つまり、サブブロック41からスキャンが開始され、同行の各サブブロックが右から左に向かってスキャンされる。各行のサブブロックは同様の順で水平方向にスキャンされる。そして、各行は、下の行から順に1行ずつスキャンされる。つまり、各サブブロックは、矢印271から矢印274まで順に進むように、スキャンされる。
 処理対象ブロックのイントラ予測が垂直方向である場合に、このように符号化・復号におけるサブブロック単位のスキャン方向を水平方向とすることにより、図23の例と同様に、符号化効率を向上させることができる。
 例えば、図28の場合、ブロック20のサイズは、16x64である。また、上の16x32が有効変換係数領域(図中白色の部分)であり、下の16x32が無効変換係数領域(図中グレーの部分)であり、有効変換係数領域の右下隅のサブブロック41からスキャンが開始される。そして、上述の各例と同様に、有効変換係数領域内のサブブロックのみがスキャンされる。
 ただし、図28の例の場合、サブブロック単位のスキャンは、図中水平方向に行われる。つまり、サブブロック41からスキャンが開始され、同行の各サブブロックが右から左に向かってスキャンされる。各行のサブブロックは同様の順で水平方向にスキャンされる。そして、各行は、下の行から順に1行ずつスキャンされる。つまり、各サブブロックは、矢印281から矢印288まで順に進むように、スキャンされる。
 処理対象ブロックのイントラ予測が垂直方向である場合に、このように符号化・復号におけるサブブロック単位のスキャン方向を水平方向とすることにより、図24の例と同様に、符号化効率を向上させることができる。
 また例えば、図29の場合、ブロック20の形状や有効変換係数領域等は、図28の例の場合と同様であるが、サブブロック単位のスキャンは、図中垂直方向に行われる。つまり、サブブロック41からスキャンが開始され、同列の各サブブロックが下から上に向かってスキャンされる。各列のサブブロックは同様の順で垂直方向にスキャンされる。そして、各列は、右の列から順に1列ずつスキャンされる。つまり、各サブブロックは、矢印291から矢印294まで順に進むように、スキャンされる。
 処理対象ブロックのイントラ予測が水平方向である場合に、このように符号化・復号におけるサブブロック単位のスキャン方向を垂直方向とすることにより、図25の例と同様に、符号化効率を向上させることができる。
 以上のようにブロックや有効変換係数領域の形状やサイズは任意である。もちろん、ブロックや有効変換係数領域の形状やサイズは、上述した例以外であってもよい。
   <5-1-2:方法1-1-2>
 例えば、符号化・復号において、有効変換係数領域のサブブロック単位のスキャン方向をブロック形状に応じた方向にするようにしてもよい(方法1-1-2)。
 直交変換により係数データの値は、一般的に、より低周波成分に集まる傾向がある。つまり、係数データの値は、左上隅に近づく程大きくなり、右下隅に近づく程小さくなる。そのため、高周波数成分からスキャンを開始し、できるだけ高周波数成分を優先してスキャンすると、結果として、同じレベルの係数を年輪状に進むことになる。
 ただし、直交変換は、変換ブロックの形状に応じて行われる為、変換係数の低周波成分もブロックの形状に応じて分布する傾向がある。例えば、ブロック形状が正方形の場合、同レベルの低周波数成分は、左上を中心に同心円状に分布する。また、ブロック形状が長方形の場合、同レベルの低周波数成分は、左上を中心に楕円状に分布する。
 したがって、符号化・復号におけるサブブロック単位のスキャン方向を、ブロック形状に関わらず単純に斜め方向とした場合、正方形のブロックにおいては、スキャン方向と係数データの値の分布の傾向がマッチするが、例えば長方形等その他の形状のブロックにおいては、スキャン方向と係数データの値の分布の傾向がマッチせず、符号化効率が低減してしまうおそれがあった。
 そこで、上述のように、有効変換係数領域のサブブロック単位のスキャン方向をブロック形状に応じた方向にすることにより、係数データの値の分布の傾向により適した方向にスキャンすることができ、符号化効率の低減を抑制することができる。
    <スキャン例1>
 例えば、有効変換係数領域の形状が縦長の長方形の場合、高周波数領域は、「-1」の傾きでスキャンするようにし、有効変換係数領域の左端か上端に到達した場合、「-height/width(-有効変換係数領域の高さ/有効変換係数領域の幅)」の比率の傾きでスキャンするようにする。実際には、正確に「height/width」の傾きでスキャンすることは困難である場合、垂直方向のスキャンと-1の傾きのスキャンとを組み合わせて実現するようにしてもよい。
 例えば、図30の場合、ブロック20のサイズは、16x64である。また、上の16x32が有効変換係数領域(図中白色の部分)であり、下の16x32が無効変換係数領域(図中グレーの部分)であり、有効変換係数領域の右下隅のサブブロック41からスキャンが開始される。そして、有効変換係数領域内のサブブロックのみがスキャンされる。
 この図30の例の場合、サブブロック41からスキャンが開始され、各サブブロックは、矢印301から矢印313まで順に進むように、スキャンされる。つまり、この場合、複数のスキャン方向(例えば、3方向以上)を組わせてスキャンが行われる(スキャン方向が曲線状である)。
 より具体的には、図30の場合、有効変換係数領域の幅(blkWidth)と高さ(blkHeight)の比が1対2である。有効変換係数領域の図中水平方向をx方向とし、図中垂直方向をy方向とし、有効変換係数領域の左上端を原点(x=0, y=0)とする。この場合、まず、y= -x の傾きでスキャンする(矢印301乃至矢印304)。x=0に到達したら、(height/2, 0)の位置に移動し、y方向にスキャンする(矢印305)。そして、(height/2, height - width)の位置に到達したら、「-1」の傾きにスキャンする。なお、x=0の時にy=4の倍数以外である場合、y= -xの傾きで未スキャンの最大xへ移動する。
 このようにすることにより、有効変換係数領域の幅(blkWidth)と高さ(blkHeight)の比が1対2の有効変換係数領域の係数データの値の分布の傾向により適した方向にスキャンを行うことができ、符号化効率の低減を抑制することができる。
 また、例えば、図31の場合、ブロック20のサイズは、8x64である。また、上の8x32が有効変換係数領域(図中白色の部分)であり、下の8x32が無効変換係数領域(図中グレーの部分)であり、有効変換係数領域の右下隅のサブブロック41からスキャンが開始される。そして、有効変換係数領域内のサブブロックのみがスキャンされる。
 この図31の例の場合、サブブロック41からスキャンが開始され、各サブブロックは、矢印321から矢印325まで順に進むように、スキャンされる。つまり、この場合、複数のスキャン方向(例えば、3方向以上)を組わせてスキャンが行われる(スキャン方向が曲線状である)。
 より具体的には、図31の場合、有効変換係数領域の幅(blkWidth)と高さ(blkHeight)の比が1対4である。有効変換係数領域の図中水平方向をx方向とし、図中垂直方向をy方向とし、有効変換係数領域の左上端を原点(x=0, y=0)とする。この場合、まず、y= -x の傾きでスキャンする(矢印321および矢印322)。x=0に到達したら、(height/4, 0)の位置に移動し、y方向にスキャンする(矢印323)。そして、(height/4, height - width)の位置に到達したら、「-1」の傾きにスキャンする。
 このようにすることにより、有効変換係数領域の幅(blkWidth)と高さ(blkHeight)の比が1対4の有効変換係数領域の係数データの値の分布の傾向により適した方向にスキャンを行うことができ、符号化効率の低減を抑制することができる。
 また、例えば、図32の場合、ブロック20のサイズは、4x64である。また、上の4x32が有効変換係数領域(図中白色の部分)であり、下の4x32が無効変換係数領域(図中グレーの部分)であり、有効変換係数領域の(右)下隅のサブブロック41からスキャンが開始される。そして、有効変換係数領域内のサブブロックのみがスキャンされる。
 この図32の例の場合、有効変換係数領域内のサブブロックは1列であるので、サブブロック41からスキャンが開始され、各サブブロックは、矢印331のように、下から上に向かってスキャンされる。
 このようにすることにより、1列のサブブロックにより構成される有効変換係数領域の係数データの値の分布の傾向により適した方向にスキャンを行うことができ、符号化効率の低減を抑制することができる。
 以上においては、有効変換係数領域の形状が、長手方向が垂直方向の長方形(つまり縦長の長方形)である場合について説明したが、有効変換係数領域の形状が、長手方向が水平方向の長方形(つまり横長の長方形)である場合においても同様である。
 つまり、例えば、有効変換係数領域の形状が横長の長方形の場合、高周波数領域は、「-1」の傾きでスキャンするようにし、有効変換係数領域の左端か上端に到達した場合、「-height/width(-有効変換係数領域の高さ/有効変換係数領域の幅)」の比率の傾きでスキャンするようにする。実際には、正確に「height/width」の傾きでスキャンすることは困難である場合、垂直方向のスキャンと-1の傾きのスキャンとを組み合わせて実現するようにしてもよい。
 例えば、有効変換係数領域の幅(blkWidth)と高さ(blkHeight)の比が2対1の場合、まず、y= -xの傾きでスキャンする。y=0に到達したら、(0, width/2)の位置に移動し、x方向にスキャンする。そして、(width - height, width/2)の位置に到達したら、「-1」の傾きにスキャンする。なお、y=0の時にx=4の倍数以外である場合、y= -xの傾きで未スキャンの最大yへ移動する。
 このようにすることにより、有効変換係数領域の幅(blkWidth)と高さ(blkHeight)の比が2対1の有効変換係数領域の係数データの値の分布の傾向により適した方向にスキャンを行うことができ、符号化効率の低減を抑制することができる。
 また、例えば、有効変換係数領域の幅(blkWidth)と高さ(blkHeight)の比が4対1の場合、まず、y= -xの傾きでスキャンする。y=0に到達したら、(0, width/4)の位置に移動し、x方向にスキャンする。そして、(width - height, width/4)の位置に到達したら、「-1」の傾きにスキャンする。
 このようにすることにより、有効変換係数領域の幅(blkWidth)と高さ(blkHeight)の比が4対1の有効変換係数領域の係数データの値の分布の傾向により適した方向にスキャンを行うことができ、符号化効率の低減を抑制することができる。
 また、例えば、有効変換係数領域内のサブブロックが1行の場合、サブブロック41からスキャンが開始され、各サブブロックは、右から左に向かってスキャンされる。
 このようにすることにより、1行のサブブロックにより構成される有効変換係数領域の係数データの値の分布の傾向により適した方向にスキャンを行うことができ、符号化効率の低減を抑制することができる。
    <スキャン例2>
 もちろん、ブロック形状に応じたスキャン方向の設定方法は任意であり、上述の例に限定されない。例えば、有効変換係数領域が幅16×高さ32の場合、図33のAに示されるような方法でスキャン順を導出するようにしてもよい。
 つまり、有効変換係数領域の幅(blkwidth)をnとすると、有効変換係数領域の高さ(blkheight)は2nと表される。この場合、楕円は以下の式(1)のように表すことができる。
Figure JPOXMLDOC01-appb-M000001
 サブブロック単位で左上の頂点を楕円が通過する際のnを求める。このnは、以下の式(2)のように導出される。
Figure JPOXMLDOC01-appb-M000002
 図34に示されるようなブロック20について、各サブブロックのnは、図33のBのようになる。例えば、n=12は、図34の実曲線のように楕円状となり、n=18.4は、図34の点線曲線のように楕円状となる。そこで、nの大きい順にサブブロックのスキャンを行うようにする。その際、nが同じ値の場合は、どちらを選択しても構わない。
 この場合、例えば、位置(16, 0)および位置(0, 32)を通る楕円を直線に近似すると、y=-2x+32となる。したがって、基本的には-2の傾きでスキャンを実施するようにする。例えば、図35に示される矢印のようにスキャンを実施するようにしてもよい。このようにすることにより、有効変換係数領域の幅と高さの比が1対2のブロックにおいても、係数データの値の分布の傾向により適した方向にスキャンを行うことができ、符号化効率の低減を抑制することができる。
 また、例えば、有効変換係数領域が幅8×高さ32の場合、図36のAに示されるような方法でスキャン順を導出するようにしてもよい。この場合、有効変換係数領域の幅(blkwidth)をnとすると、有効変換係数領域の高さ(blkheight)は4nと表される。この場合、楕円は以下の式(3)のように表すことができる。
Figure JPOXMLDOC01-appb-M000003
 サブブロック単位で左上の頂点を楕円が通過する際のnを求める。このnは、以下の式(4)のように導出される。
Figure JPOXMLDOC01-appb-M000004
 図37に示されるようなブロック20について、各サブブロックのnは、図36のBのようになる。例えば、n=4は、図37の実曲線のように楕円状となり、n=8.1は、図37の点線曲線のように楕円状となる。そこで、nの大きい順にサブブロックのスキャンを行うようにする。その際、nが同じ値の場合は、どちらを選択しても構わない。
 この場合、例えば、位置(8, 0)および位置(0, 32)を通る楕円を直線に近似すると、y=-4x+32となる。したがって、基本的には-4の傾きでスキャンを実施するようにする。例えば、図38に示される矢印のようにスキャンを実施するようにしてもよい。このようにすることにより、有効変換係数領域の幅と高さの比が1対4のブロックにおいても、係数データの値の分布の傾向により適した方向にスキャンを行うことができ、符号化効率の低減を抑制することができる。
 なお、有効変換係数領域の幅が1サブブロック分である場合、つまり有効変換係数領域が1列のサブブロックにより構成される場合、図32の例と同様の順にスキャンされるようにすればよい。
 また、有効変換係数領域が横長の長方形の場合も、上述の例と基本的に同様にして行うようにすればよい。
   <5-1-3:方法1-1-3>
 例えば、符号化・復号において、有効変換係数領域のサブブロックをグループ化してスキャンを制御するようにしてもよい(方法1-1-3)。
 例えば、図39に示されるように、16x32の有効変換係数領域を有するブロック20において、有効変換領域の各サブブロックを、1x2ずつグループ化する。網目模様で示されるサブブロックグループ401は、横1個×縦2個のサブブロックにより構成される縦横比が2対1の領域である。図39においては、左上端についてのみ示されているが、実際には、有効変換係数領域の全てのサブブロックをグループ化する。つまり、サブブロックグループは有効変換係数領域の全体に形成される。各サブブロックグループ内において、サブブロック単位のスキャンは、下から上に向かう方向で行われる。また、サブブロックグループ単位のスキャンは、高周波成分側から低周波成分側に向かう方向で行われる。つまり、有効変換係数領域内の各サブブロックは、矢印411乃至矢印426の順にスキャンされる。
 また、例えば、図40に示されるように、8x32の有効変換係数領域を有するブロック20において、有効変換領域の各サブブロックを、1x4ずつグループ化する。網目模様で示されるサブブロックグループ401は、横1個×縦4個のサブブロックにより構成される縦横比が4対1の領域である。図40においては、左上端についてのみ示されているが、実際には、有効変換係数領域の全てのサブブロックをグループ化する。つまり、サブブロックグループは有効変換係数領域の全体に形成される。各サブブロックグループ内において、サブブロック単位のスキャンは、下から上に向かう方向で行われる。また、サブブロックグループ単位のスキャンは、高周波成分側から低周波成分側に向かう方向で行われる。つまり、有効変換係数領域内の各サブブロックは、矢印431乃至矢印434の順にスキャンされる。
 以上のように、有効変換係数領域のサブブロックをグループ化してスキャンを制御するようにしてもよい。そしてその場合、各サブブロックのグループを、有効変換係数領域と同一の縦横比となるように形成するようにしてもよい。
 このようにすることにより、係数データの値の分布の傾向により適した方向にスキャンを行うことができ、符号化効率の低減を抑制することができる。
 なお、第1の実施の形態および第2の実施の形態においては、様々な形状の有効変換係数領域を説明したが、有効変換係数領域の形状はこれらの例に限定されず、任意である。例えば、有効変換係数領域の形状が、ブロックの形状と異なるようにしてもよい。例えば、図41に示されるように、ブロック20が正方形であっても、有効変換係数領域が長方形に設定されるようにしてもよい。図41の例の場合、64x64のブロック20に、32x16の有効変換係数領域が設定されている。この場合、サブブロック単位のスキャンは、サブブロック41から開始され、矢印441乃至矢印451の順に行われる。
 <6.第3の実施の形態>
  <方法1-2のスキャン例>
 本実施の形態においては、「方法1-2」について説明する。以上において説明した32x32より大きいサイズのブロックの高周波領域係数を0にする処理(Zero Out)は、輝度成分だけに限らず、色差成分にも適用するようにしてもよい。このようにすることにより、より符号化効率の低減を抑制することができる。
 また、その場合、その処理を適用した色差成分に対しても、上述した本技術を適用してもよい。例えば、色差成分についても、上述した輝度成分の場合と同様に、方法1を適用してもよい。このようにすることにより、符号化効率の低減を抑制することができる。また、符号化・復号の負荷の増大を抑制することができ、コスト、回路規模、および処理時間等の増大を抑制することができる。また、例えば、色差成分についても、上述した輝度成分の場合と同様に、方法1-1を適用してもよい。例えば、方法1-1-1乃至方法1-1-3のいずれかを色差成分に適用してもよい。このようにすることにより、符号化効率の低減を抑制することができる。
 なお、その場合、色差成分のブロックサイズは、輝度成分と同一でなくてもよい。例えば、輝度成分のブロック20が図14の例のように64x64であるのに対して、色差成分のブロック460が図42に示されるように32x32であってもよい。このような色差成分のブロック460において、有効変換係数領域の右下隅のサブブロック461からスキャンが開始されるとすると、サブブロック単位のスキャンは、図42に示されるように、矢印471乃至矢印477の順に行われる。つまり、この場合も、色差成分のスキャンは、輝度成分のスキャンと同様に行われる。このようにすることにより、スキャン方法を輝度成分と色差成分とで統一することができるので、より容易にスキャンを制御することができる。
 例えば、符号化装置170において、スキャン制御部171が、ステップS102において、色差成分についても輝度成分の場合と同様にスキャン順を制御し、符号化部172が、ステップS103およびステップS104において、その制御に従って各サブブロックをスキャンし、符号化するようにしてもよい。このようにすることにより、符号化装置170は、色差成分についても符号化効率の低減を抑制することができる。
 また、例えば、復号装置180において、スキャン制御部181が、ステップS122において、色差成分についても輝度成分の場合と同様にスキャン順を制御し、復号部182が、ステップS123およびステップS124において、色差成分について輝度成分の場合と同様にその制御に従って各サブブロックのスキャンを利用して符号化データを復号するようにしてもよい。このようにすることにより、復号装置180は、色差成分についても符号化効率の低減をより抑制することができる。
 <7.第4の実施の形態>
  <7-1:画像符号化装置>
 以上に説明した本技術は、任意の装置、デバイス、システム等に適用することができる。例えば、画像データを符号化する画像符号化装置に、上述した本技術を適用することができる。
 図43は、本技術を適用した画像処理装置の一態様である画像符号化装置の構成の一例を示すブロック図である。図43に示される画像符号化装置500は、動画像の画像データを符号化する装置である。例えば、画像符号化装置500は、非特許文献1乃至非特許文献4に記載されている技術を実装し、それらの文献のいずれかに記載された規格に準拠した方法で動画像の画像データを符号化する。
 なお、図43においては、処理部やデータの流れ等の主なものを示しており、図43に示されるものが全てとは限らない。つまり、画像符号化装置500において、図43においてブロックとして示されていない処理部が存在したり、図43において矢印等として示されていない処理やデータの流れが存在したりしてもよい。これは、画像符号化装置500内の処理部等を説明する他の図においても同様である。
 図43に示されるように画像符号化装置500は、制御部501、並べ替えバッファ511、演算部512、直交変換部513、量子化部514、符号化部515、蓄積バッファ516、逆量子化部517、逆直交変換部518、演算部519、インループフィルタ部520、フレームメモリ521、予測部522、およびレート制御部523を有する。
   <制御部>
 制御部501は、外部、または予め指定された処理単位のブロックサイズに基づいて、並べ替えバッファ511により保持されている動画像データを処理単位のブロック(CU,PU, 変換ブロックなど)へ分割する。また、制御部501は、各ブロックへ供給する符号化パラメータ(ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfoなど)を、例えば、RDO(Rate-Distortion Optimization)に基づいて、決定する。
 これらの符号化パラメータの詳細については後述する。制御部501は、以上のような符号化パラメータを決定すると、それを各ブロックへ供給する。具体的には、以下の通りである。
 ヘッダ情報Hinfoは、各ブロックに供給される。予測モード情報Pinfoは、符号化部515と予測部522とに供給される。変換情報Tinfoは、符号化部515、直交変換部513、量子化部514、逆量子化部517、および逆直交変換部518に供給される。フィルタ情報Finfoは、インループフィルタ部520に供給される。
   <並べ替えバッファ>
 画像符号化装置500には、動画像データの各フィールド(入力画像)がその再生順(表示順)に入力される。並べ替えバッファ511は、各入力画像をその再生順(表示順)に取得し、保持(記憶)する。並べ替えバッファ511は、制御部501の制御に基づいて、その入力画像を符号化順(復号順)に並べ替えたり、処理単位のブロックに分割したりする。並べ替えバッファ511は、処理後の各入力画像を演算部512に供給する。また、並べ替えバッファ511は、その各入力画像(元画像)を、予測部522やインループフィルタ部520にも供給する。
   <演算部>
 演算部512は、処理単位のブロックに対応する画像I、および予測部522より供給される予測画像Pを入力とし、画像Iから予測画像Pを以下の式(5)に示されるように減算して、予測残差resiを導出し、それを直交変換部513に供給する。
Figure JPOXMLDOC01-appb-M000005
   <直交変換部>
 直交変換部513は、演算部512から供給される予測残差resiと、制御部501から供給される変換情報Tinfoとを入力とし、その変換情報Tinfoに基づいて、予測残差resiに対して直交変換を行い、変換係数coefを導出する。直交変換部513は、その得られた変換係数coefを量子化部514に供給する。
   <量子化部>
 量子化部514は、直交変換部513から供給される変換係数coefと、制御部501から供給される変換情報Tinfoとを入力とし、その変換情報Tinfoに基づいて、変換係数coefをスケーリング(量子化)する。なお、この量子化のレートは、レート制御部523により制御される。量子化部514は、このような量子化により得られた量子化後の変換係数、すなわち量子化変換係数レベルqcoefを、符号化部515および逆量子化部517に供給する。
   <符号化部>
 符号化部515は、量子化部514から供給された量子化変換係数レベルqcoefと、制御部501から供給される各種符号化パラメータ(ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfoなど)と、インループフィルタ部520から供給されるフィルタ係数等のフィルタに関する情報と、予測部522から供給される最適な予測モードに関する情報とを入力とする。符号化部515は、量子化変換係数レベルqcoeffを可変長符号化(例えば、算術符号化)し、ビット列(符号化データ)を生成する。
 また、符号化部515は、その量子化変換係数レベルqoeffから残差情報Rinfoを導出し、残差情報Rinfoを符号化し、ビット列を生成する。
 さらに、符号化部515は、インループフィルタ部520から供給されるフィルタに関する情報をフィルタ情報Finfoに含め、予測部522から供給される最適な予測モードに関する情報を予測モード情報Pinfoに含める。そして、符号化部515は、上述した各種符号化パラメータ(ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfoなど)を符号化し、ビット列を生成する。
 また、符号化部515は、以上のように生成された各種情報のビット列を多重化し、符号化データを生成する。符号化部515は、その符号化データを蓄積バッファ516に供給する。
    <蓄積バッファ>
 蓄積バッファ516は、符号化部515において得られた符号化データを、一時的に保持する。蓄積バッファ516は、所定のタイミングにおいて、保持している符号化データを、例えばビットストリーム等として画像符号化装置500の外部に出力する。例えば、この符号化データは、任意の記録媒体、任意の伝送媒体、任意の情報処理装置等を介して復号側に伝送される。すなわち、蓄積バッファ516は、符号化データ(ビットストリーム)を伝送する伝送部でもある。
   <逆量子化部>
 逆量子化部517は、逆量子化に関する処理を行う。例えば、逆量子化部517は、量子化部514から供給される量子化変換係数レベルqcoeffと、制御部501から供給される変換情報Tinfoとを入力とし、その変換情報Tinfoに基づいて、量子化変換係数レベルlevelの値をスケーリング(逆量子化)する。なお、この逆量子化は、量子化部514において行われる量子化の逆処理である。逆量子化部517は、このような逆量子化により得られた変換係数coefIを、逆直交変換部518に供給する。
   <逆直交変換部>
 逆直交変換部518は、逆直交変換に関する処理を行う。例えば、逆直交変換部518は、逆量子化部517から供給される変換係数coefIと、制御部501から供給される変換情報Tinfoとを入力とし、その変換情報Tinfoに基づいて、変換係数coefIに対して逆直交変換を行い、予測残差resiIを導出する。なお、この逆直交変換は、直交変換部513において行われる直交変換の逆処理である。逆直交変換部518は、このような逆直交変換により得られた予測残差resiIを演算部519に供給する。なお、逆直交変換部518は、復号側の逆直交変換部(後述する)と同様であるので、逆直交変換部518については、復号側について行う説明(後述する)を適用することができる。
   <演算部>
 演算部519は、逆直交変換部518から供給される予測残差resiIと、予測部522から供給される予測画像Pとを入力とする。演算部519は、その予測残差resiIと、その予測残差resiIに対応する予測画像Pとを加算し、局所復号画像Rlocalを導出する。演算部519は、導出した局所復号画像Rlocalをインループフィルタ部520およびフレームメモリ521に供給する。
   <インループフィルタ部>
 インループフィルタ部520は、インループフィルタ処理に関する処理を行う。例えば、インループフィルタ部520は、演算部519から供給される局所復号画像Rlocalと、制御部501から供給されるフィルタ情報Finfoと、並べ替えバッファ511から供給される入力画像(元画像)とを入力とする。なお、インループフィルタ部520に入力される情報は任意であり、これらの情報以外の情報が入力されてもよい。例えば、必要に応じて、予測モード、動き情報、符号量目標値、量子化パラメータQP、ピクチャタイプ、ブロック(CU、CTU等)の情報等がインループフィルタ部520に入力されるようにしてもよい。
 インループフィルタ部520は、そのフィルタ情報Finfoに基づいて、局所復号画像Rlocalに対して適宜フィルタ処理を行う。インループフィルタ部520は、必要に応じて入力画像(元画像)や、その他の入力情報もそのフィルタ処理に用いる。
 例えば、インループフィルタ部520は、バイラテラルフィルタ、デブロッキングフィルタ(DBF(DeBlocking Filter))、適応オフセットフィルタ(SAO(Sample Adaptive Offset))、および適応ループフィルタ(ALF(Adaptive Loop Filter))の4つのインループフィルタをこの順に適用する。なお、どのフィルタを適用するか、どの順で適用するかは任意であり、適宜選択可能である。
 もちろん、インループフィルタ部520が行うフィルタ処理は任意であり、上述の例に限定されない。例えば、インループフィルタ部520がウィーナーフィルタ等を適用するようにしてもよい。
 インループフィルタ部520は、フィルタ処理された局所復号画像Rlocalをフレームメモリ521に供給する。なお、例えばフィルタ係数等のフィルタに関する情報を復号側に伝送する場合、インループフィルタ部520は、そのフィルタに関する情報を符号化部515に供給する。
   <フレームメモリ>
 フレームメモリ521は、画像に関するデータの記憶に関する処理を行う。例えば、フレームメモリ521は、演算部519から供給される局所復号画像Rlocalや、インループフィルタ部520から供給されるフィルタ処理された局所復号画像Rlocalを入力とし、それを保持(記憶)する。また、フレームメモリ521は、その局所復号画像Rlocalを用いてピクチャ単位毎の復号画像Rを再構築し、保持する(フレームメモリ521内のバッファへ格納する)。フレームメモリ521は、予測部522の要求に応じて、その復号画像R(またはその一部)を予測部522に供給する。
   <予測部>
 予測部522は、予測画像の生成に関する処理を行う。例えば、予測部522は、制御部501から供給される予測モード情報Pinfoと、並べ替えバッファ511から供給される入力画像(元画像)と、フレームメモリ521から読み出す復号画像R(またはその一部)を入力とする。予測部522は、予測モード情報Pinfoや入力画像(元画像)を用い、インター予測やイントラ予測等の予測処理を行い、復号画像Rを参照画像として参照して予測を行い、その予測結果に基づいて動き補償処理を行い、予測画像Pを生成する。予測部522は、生成した予測画像Pを演算部512および演算部519に供給する。また、予測部522は、以上の処理により選択した予測モード、すなわち最適な予測モードに関する情報を、必要に応じて符号化部515に供給する。
   <レート制御部>
 レート制御部523は、レート制御に関する処理を行う。例えば、レート制御部523は、蓄積バッファ516に蓄積された符号化データの符号量に基づいて、オーバフローあるいはアンダーフローが発生しないように、量子化部514の量子化動作のレートを制御する。
   <本技術の適用>
 以上のような構成の画像符号化装置500において、例えば、符号化部515として、符号化装置170(図17)を適用するようにしてもよい。つまり、符号化部515がスキャン制御部171および符号化部172を有し、その符号化部172による符号化において、<3.コンセプト>乃至<6.第3の実施の形態>において説明した各種スキャン制御を適用するようにしてもよい。
 このような構成とすることにより、符号化部515は、符号化装置170の場合と同様に、ビットストリームに含まれる不要な情報(無効変換係数領域のサブブロックの係数データの符号化データ)を低減させることができ、符号化効率の低減を抑制することができる。また、不要な情報の符号化を省略することができるので、符号化処理の負荷の増大を抑制することができ、コスト、回路規模、および処理時間等の増大を抑制することができる。
 したがって、画像符号化装置500は、符号化効率の低減を抑制することができる。また、画像符号化装置500は、符号化処理の負荷の増大を抑制することができ、コスト、回路規模、および処理時間等の増大を抑制することができる。
   <画像符号化処理の流れ>
 次に、以上のような画像符号化装置500により実行される各処理の流れについて説明する。最初に、図44のフローチャートを参照して、画像符号化処理の流れの例を説明する。
 画像符号化処理が開始されると、ステップS301において、並べ替えバッファ511は、制御部501に制御されて、入力された動画像データのフレームの順を表示順から符号化順に並べ替える。
 ステップS302において、制御部501は、並べ替えバッファ511が保持する入力画像に対して、処理単位を設定する(ブロック分割を行う)。
 ステップS303において、制御部501は、並べ替えバッファ511が保持する入力画像についての符号化パラメータを決定(設定)する。
 ステップS304において、予測部522は、予測処理を行い、最適な予測モードの予測画像等を生成する。例えば、この予測処理において、予測部522は、イントラ予測を行って最適なイントラ予測モードの予測画像等を生成し、インター予測を行って最適なインター予測モードの予測画像等を生成し、それらの中から、コスト関数値等に基づいて最適な予測モードを選択する。
 ステップS305において、演算部512は、入力画像と、ステップS504の予測処理により選択された最適なモードの予測画像との差分を演算する。つまり、演算部512は、入力画像と予測画像との予測残差resiを生成する。このようにして求められた予測残差resiは、元の画像データに比べてデータ量が低減される。したがって、画像をそのまま符号化する場合に比べて、データ量を圧縮することができる。
 ステップS306において、直交変換部513は、ステップS305の処理により生成された予測残差resiに対して直交変換処理を行い、変換係数coefを導出する。
 ステップS307において、量子化部514は、制御部501により算出された量子化パラメータを用いる等して、ステップS306の処理により得られた変換係数coefを量子化し、量子化変換係数レベルqcoefを導出する。
 ステップS308において、逆量子化部517は、ステップS307の処理により生成された量子化変換係数レベルqcoefを、そのステップS307の量子化の特性に対応する特性で逆量子化し、変換係数coefI導出する。
 ステップS309において、逆直交変換部518は、ステップS308の処理により得られた変換係数coefIを、ステップS306の直交変換処理に対応する方法で逆直交変換し、予測残差resiIを導出する。なお、この逆直交変換処理は、復号側において行われる逆直交変換処理(後述する)と同様であるので、このステップS309の逆直交変換処理については、復号側について行う説明(後述する)を適用することができる。
 ステップS310において、演算部519は、ステップS309の処理により導出された予測残差resiIに、ステップS304の予測処理により得られた予測画像を加算することにより、局所的に復号された復号画像を生成する。
 ステップS311において、インループフィルタ部520は、ステップS310の処理により導出された、局所的に復号された復号画像に対して、インループフィルタ処理を行う。
 ステップS312において、フレームメモリ521は、ステップS310の処理により導出された、局所的に復号された復号画像や、ステップS312においてフィルタ処理された、局所的に復号された復号画像を記憶する。
 ステップS313において、符号化部515は、ステップS307の処理により得られた量子化変換係数レベルqcoefを符号化する。例えば、符号化部515は、画像に関する情報である量子化変換係数レベルqcoefを、算術符号化等により符号化し、符号化データを生成する。また、このとき、符号化部515は、各種符号化パラメータ(ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo)を符号化する。さらに、符号化部515は、量子化変換係数レベルlevelから残差情報RInfoを導出し、その残差情報RInfoを符号化する。
 ステップS314において、蓄積バッファ516は、このようにして得られた符号化データを蓄積し、例えばビットストリームとして、それを画像符号化装置500の外部に出力する。このビットストリームは、例えば、伝送路や記録媒体を介して復号側に伝送される。また、レート制御部523は、必要に応じてレート制御を行う。
 ステップS314の処理が終了すると、画像符号化処理が終了する。
 このような画像符号化処理のステップS313において実行される符号化処理において、有効変換係数領域のスキャン順が上述したように制御されるようにしてもよい。つまり、この符号化処理において、図18のフローチャートを参照して説明したような符号化処理を行うようにしてもよい。このようにすることにより、画像符号化装置500は、符号化効率の低減をより抑制することができる。
  <7-2:画像復号装置>
 また、以上に説明した本技術は、例えば、画像データが符号化された符号化データを復号する画像復号装置に、上述した本技術を適用することができる。
 図45は、本技術を適用した画像処理装置の一態様である画像復号装置の構成の一例を示すブロック図である。図45に示される画像復号装置600は、AVCやHEVCのように、画像とその予測画像との予測残差が符号化された符号化データを復号する装置である。例えば、画像復号装置600は、非特許文献1乃至非特許文献4に記載されている技術を実装し、それらの文献のいずれかに記載された規格に準拠した方法で動画像の画像データが符号化された符号化データを復号する。例えば、画像復号装置600は、上述の画像符号化装置500により生成された符号化データ(ビットストリーム)を復号する。
 なお、図45においては、処理部やデータの流れ等の主なものを示しており、図45に示されるものが全てとは限らない。つまり、画像復号装置600において、図45においてブロックとして示されていない処理部が存在したり、図45において矢印等として示されていない処理やデータの流れが存在したりしてもよい。これは、画像復号装置600内の処理部等を説明する他の図においても同様である。
 図45において、画像復号装置600は、蓄積バッファ611、復号部612、逆量子化部613、逆直交変換部614、演算部615、インループフィルタ部616、並べ替えバッファ617、フレームメモリ618、および予測部619を備えている。なお、予測部619は、不図示のイントラ予測部、およびインター予測部を備えている。画像復号装置600は、符号化データ(ビットストリーム)を復号することによって、動画像データを生成するための装置である。
   <蓄積バッファ>
 蓄積バッファ611は、画像復号装置600に入力されたビットストリームを取得し、保持(記憶)する。蓄積バッファ611は、所定のタイミングにおいて、または、所定の条件が整う等した場合、蓄積しているビットストリームを復号部612に供給する。
   <復号部>
 復号部612は、画像の復号に関する処理を行う。例えば、復号部612は、蓄積バッファ611から供給されるビットストリームを入力とし、シンタックステーブルの定義に沿って、そのビット列から、各シンタックス要素のシンタックス値を可変長復号し、パラメータを導出する。
 シンタックス要素およびシンタックス要素のシンタックス値から導出されるパラメータには、例えば、ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、残差情報Rinfo、フィルタ情報Finfoなどの情報が含まれる。つまり、復号部612は、ビットストリームから、これらの情報をパースする(解析して取得する)。これらの情報について以下に説明する。
    <ヘッダ情報Hinfo>
 ヘッダ情報Hinfoは、例えば、VPS(Video Parameter Set)/SPS(Sequence ParameterSet)/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)とも称する。
    <予測モード情報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形式を示す場合、色差サンプル位置タイプ識別子は、以下の式(6)のような割り当て方となる。
Figure JPOXMLDOC01-appb-M000006
 なお、この色差サンプル位置タイプ識別子(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(または、2を底とする各TBWSize、TBHSizeの対数値log2TBWSize、log2TBHSizeであってもよい)。変換スキップフラグ(ts_flag):(逆)プライマリ変換および(逆)セカンダリ変換をスキップか否かを示すフラグである。
  スキャン識別子(scanIdx)
  量子化パラメータ(qp)
  量子化マトリックス(scaling_matrix(例えば、JCTVC-W1005, 7.3.4 Scaling list data syntax))
    <残差情報Rinfo>
 残差情報Rinfo(例えば、JCTVC-W1005の7.3.8.11 Residual Coding syntaxを参照)には、例えば以下のシンタックスが含まれる。
  cbf(coded_block_flag):残差データ有無フラグ
  last_sig_coeff_x_pos:ラスト非ゼロ係数X座標
  last_sig_coeff_y_pos:ラスト非ゼロ係数Y座標
  coded_sub_block_flag:サブブロック非ゼロ係数有無フラグ
  sig_coeff_flag:非ゼロ係数有無フラグ
  gr1_flag:非ゼロ係数のレベルが1より大きいかを示すフラグ(GR1フラグとも呼ぶ)
  gr2_flag:非ゼロ係数のレベルが2より大きいかを示すフラグ(GR2フラグとも呼ぶ)
  sign_flag:非ゼロ係数の正負を示す符号(サイン符号とも呼ぶ)
  coeff_abs_level_remaining:非ゼロ係数の残余レベル(非ゼロ係数残余レベルとも呼ぶ)
など。
 もちろん、残差情報Rinfoに含まれる情報は任意であり、これらの情報以外の情報が含まれるようにしてもよい。
    <フィルタ情報Finfo>
 フィルタ情報Finfoには、例えば、以下に示す各フィルタ処理に関する制御情報が含まれる。
  デブロッキングフィルタ(DBF)に関する制御情報
  適応オフセットフィルタ(SAO)に関する制御情報
  適応ループフィルタ(ALF)に関する制御情報
  その他の線形・非線形フィルタに関する制御情報
 より具体的には、例えば、各フィルタを適用するピクチャや、ピクチャ内の領域を指定する情報や、CU単位のフィルタOn/Off制御情報、スライス、タイルの境界に関するフィルタOn/Off制御情報などが含まれる。もちろん、フィルタ情報Finfoに含まれる情報は任意であり、これらの情報以外の情報が含まれるようにしてもよい。
 復号部612の説明に戻り、復号部612は、残差情報Rinfoを参照して、各変換ブロック内の各係数位置の量子化変換係数レベルqcoefを導出する。復号部612は、その量子化変換係数レベルqcoefを、逆量子化部613に供給する。
 また、復号部612は、パースしたヘッダ情報Hinfo、予測モード情報Pinfo、量子化変換係数レベルqcoef、変換情報Tinfo、フィルタ情報Finfoを各ブロックへ供給する。具体的には以下の通りである。
 ヘッダ情報Hinfoは、逆量子化部613、逆直交変換部614、予測部619、インループフィルタ部616に供給される。予測モード情報Pinfoは、逆量子化部613および予測部619に供給される。変換情報Tinfoは、逆量子化部613および逆直交変換部614に供給される。フィルタ情報Finfoは、インループフィルタ部616に供給される。
 もちろん、上述の例は一例であり、この例に限定されない。例えば、各符号化パラメータが任意の処理部に供給されるようにしてもよい。また、その他の情報が、任意の処理部に供給されるようにしてもよい。
   <逆量子化部>
 逆量子化部613は、逆量子化に関する処理を行う。例えば、逆量子化部613は、復号部612から供給される変換情報Tinfoおよび量子化変換係数レベルqcoefを入力とし、その変換情報Tinfoに基づいて、量子化変換係数レベルqcoefの値をスケーリング(逆量子化)し、逆量子化後の変換係数coefIを導出する。
 なお、この逆量子化は、量子化部514による量子化の逆処理として行われる。また、この逆量子化は、逆量子化部517による逆量子化と同様の処理である。つまり、逆量子化部517は、逆量子化部613と同様の処理(逆量子化)を行う。
 逆量子化部613は、導出した変換係数coefIを逆直交変換部614に供給する。
   <逆直交変換部>
 逆直交変換部614は、逆直交変換に関する処理を行う。例えば、逆直交変換部614は、逆量子化部613から供給される変換係数coefI、および、復号部612から供給される変換情報Tinfoを入力とし、その変換情報Tinfoに基づいて、変換係数coefIに対して逆直交変換処理を行い、予測残差resiIを導出する。
 なお、この逆直交変換は、直交変換部513による直交変換の逆処理として行われる。また、この逆直交変換は、逆直交変換部518による逆直交変換と同様の処理である。つまり、逆直交変換部518は、逆直交変換部614と同様の処理(逆直交変換)を行う。
 逆直交変換部614は、導出した予測残差resiIを演算部615に供給する。
   <演算部>
 演算部615は、画像に関する情報の加算に関する処理を行う。例えば、演算部615は、逆直交変換部614から供給される予測残差resiIと、予測部619から供給される予測画像Pとを入力とする。演算部615は、以下の式(7)に示されるように、予測残差resiIとその予測残差resiIに対応する予測画像P(予測信号)とを加算し、局所復号画像Rlocalを導出する。
Figure JPOXMLDOC01-appb-M000007
 演算部615は、導出した局所復号画像Rlocalを、インループフィルタ部616およびフレームメモリ618に供給する。
   <インループフィルタ部>
 インループフィルタ部616は、インループフィルタ処理に関する処理を行う。例えば、インループフィルタ部616は、演算部615から供給される局所復号画像Rlocalと、復号部612から供給されるフィルタ情報Finfoとを入力とする。なお、インループフィルタ部616に入力される情報は任意であり、これらの情報以外の情報が入力されてもよい。
 インループフィルタ部616は、そのフィルタ情報Finfoに基づいて、局所復号画像Rlocalに対して適宜フィルタ処理を行う。
 例えば、インループフィルタ部616は、バイラテラルフィルタ、デブロッキングフィルタ(DBF(DeBlocking Filter))、適応オフセットフィルタ(SAO(Sample Adaptive Offset))、および適応ループフィルタ(ALF(Adaptive Loop Filter))の4つのインループフィルタをこの順に適用する。なお、どのフィルタを適用するか、どの順で適用するかは任意であり、適宜選択可能である。
 インループフィルタ部616は、符号化側(例えば画像符号化装置500のインループフィルタ部520)により行われたフィルタ処理に対応するフィルタ処理を行う。もちろん、インループフィルタ部616が行うフィルタ処理は任意であり、上述の例に限定されない。例えば、インループフィルタ部616がウィーナーフィルタ等を適用するようにしてもよい。
 インループフィルタ部616は、フィルタ処理された局所復号画像Rlocalを並べ替えバッファ617およびフレームメモリ618に供給する。
   <並べ替えバッファ>
 並べ替えバッファ617は、インループフィルタ部616から供給された局所復号画像Rlocalを入力とし、それを保持(記憶)する。並べ替えバッファ617は、その局所復号画像Rlocalを用いてピクチャ単位毎の復号画像Rを再構築し、保持する(バッファ内に格納する)。並べ替えバッファ617は、得られた復号画像Rを、復号順から再生順に並べ替える。並べ替えバッファ617は、並べ替えた復号画像R群を動画像データとして画像復号装置600の外部に出力する。
   <フレームメモリ>
 フレームメモリ618は、画像に関するデータの記憶に関する処理を行う。例えば、フレームメモリ618は、演算部615より供給される局所復号画像Rlocalを入力とし、ピクチャ単位毎の復号画像Rを再構築して、フレームメモリ618内のバッファへ格納する。
 また、フレームメモリ618は、インループフィルタ部616から供給される、インループフィルタ処理された局所復号画像Rlocalを入力とし、ピクチャ単位毎の復号画像Rを再構築して、フレームメモリ618内のバッファへ格納する。フレームメモリ618は、適宜、その記憶している復号画像R(またはその一部)を参照画像として予測部619に供給する。
 なお、フレームメモリ618が、復号画像の生成に係るヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfoなどを記憶するようにしても良い。
   <予測部>
 予測部619は、予測画像の生成に関する処理を行う。例えば、予測部619は、復号部612から供給される予測モード情報Pinfoを入力とし、その予測モード情報Pinfoによって指定される予測方法により予測を行い、予測画像Pを導出する。その導出の際、予測部619は、その予測モード情報Pinfoによって指定される、フレームメモリ618に格納されたフィルタ前またはフィルタ後の復号画像R(またはその一部)を、参照画像として利用する。予測部619は、導出した予測画像Pを、演算部615に供給する。
   <本技術の適用>
 以上のような構成の画像復号装置600において、例えば、復号部612として、復号装置180(図19)を適用するようにしてもよい。つまり、復号部612がスキャン制御部181および復号部182を有し、その復号部182による復号において、<3.コンセプト>乃至<6.第3の実施の形態>において説明した各種スキャン制御を適用するようにしてもよい。
 このような構成とすることにより、復号部612は、復号装置180の場合と同様に、ビットストリームに含まれる不要な情報(無効変換係数領域のサブブロックの係数データの符号化データ)を低減させるようなスキャン順で生成された符号化データを正しく復号することができる。つまり、復号部612は、符号化効率の低減を抑制することができる。また、不要な情報の復号を省略することができるので、復号処理の負荷の増大を抑制することができ、コスト、回路規模、および処理時間等の増大を抑制することができる。
 したがって、画像復号装置600は、符号化効率の低減を抑制することができる。また、画像復号装置600は、復号処理の負荷の増大を抑制することができ、コスト、回路規模、および処理時間等の増大を抑制することができる。
   <画像復号処理の流れ>
 次に、図46のフローチャートを参照して、以上のような画像復号装置600により実行される画像復号処理の流れの例を説明する。
 画像復号処理が開始されると、蓄積バッファ611は、ステップS401において、画像復号装置600の外部から供給される符号化データ(ビットストリーム)を取得して保持する(蓄積する)。
 ステップS602において、復号部612は、その符号化データ(ビットストリーム)を復号し、量子化変換係数レベルqcoefを得る。また、復号部612は、この復号により、符号化データ(ビットストリーム)から各種符号化パラメータをパースする(解析して取得する)。
 ステップS403において、逆量子化部613は、ステップS402の処理により得られた量子化変換係数レベルqcoefに対して、符号化側で行われた量子化の逆処理である逆量子化を行い、変換係数coefIを得る。
 ステップS404において、逆直交変換部614は、ステップS403の処理により得られた変換係数coefIに対して、符号化側で行われた直交変換処理の逆処理である逆直交変換処理を行い、予測残差resiIを得る。
 ステップS405において、予測部619は、ステップS402においてパースされた情報に基づいて、符号化側より指定される予測方法で予測処理を実行し、フレームメモリ618に記憶されている参照画像を参照する等して、予測画像Pを生成する。
 ステップS406において、演算部615は、ステップS404の処理により得られた予測残差resiIと、ステップS405の処理により得られた予測画像Pとを加算し、局所復号画像Rlocalを導出する。
 ステップS407において、インループフィルタ部616は、ステップS406の処理により得られた局所復号画像Rlocalに対して、インループフィルタ処理を行う。
 また、ステップS408において、フレームメモリ618は、ステップS406の処理により得られた局所復号画像Rlocal、および、ステップS407の処理により得られたフィルタ処理後の局所復号画像Rlocalの内、少なくとも一方を記憶する。
 ステップS409において、並べ替えバッファ617は、ステップS407の処理により得られたフィルタ処理された局所復号画像Rlocalを用いて復号画像Rを導出し、その復号画像R群の順序を復号順から再生順に並べ替える。
 ステップS410において、並べ替えバッファ617は、再生順に並べ替えた復号画像R群を、動画像として画像復号装置600の外部に出力する。ステップS410の処理が終了すると、画像復号処理が終了する。
 このような画像復号処理のステップS402において実行される復号処理において、有効変換係数領域のスキャン順が上述したように制御されるようにしてもよい。つまり、この復号処理において、図20のフローチャートを参照して説明したような復号処理を行うようにしてもよい。このようにすることにより、画像復号装置600は、符号化効率の低減をより抑制することができる。
  <7-3:シンタックス>
 画像符号化装置500や画像復号装置600に本技術を適用する場合も、本技術のスキャンの制御は、上述のようにスキャン順を変更することにより実現するようにしてもよいが、シンタックスを用いて実現するようにしてもよい。
 図47は、変換ユニット(transform_unit)のシンタックスの例を示す。図47の上から10段目乃至16段目に示されるように、輝度成分(luma)と、色差成分(cb, cr)とのそれぞれについて、残差データの符号化(residual_coding)が行われる。
 その残差データ(係数データ)の符号化のシンタックスの例を図48に示す。このシンタックスにおいては、基本的に図6の例と同様に係数データの符号化が制御されている。そして、図21の例と同様に、上から32段目のif文において、スキャンの範囲が有効変換係数領域に制限されている((xS <= 32) && (yS <= 32))。このようにすることにより、上述のスキャン制御を容易に実現することができる。
 <8.付記>
  <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図49は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 図49に示されるコンピュータ800において、CPU(Central Processing Unit)801、ROM(Read Only Memory)802、RAM(Random Access Memory)803は、バス804を介して相互に接続されている。
 バス804にはまた、入出力インタフェース810も接続されている。入出力インタフェース810には、入力部811、出力部812、記憶部813、通信部814、およびドライブ815が接続されている。
 入力部811は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部812は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部813は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部814は、例えば、ネットワークインタフェースよりなる。ドライブ815は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア821を駆動する。
 以上のように構成されるコンピュータでは、CPU801が、例えば、記憶部813に記憶されているプログラムを、入出力インタフェース810およびバス804を介して、RAM803にロードして実行することにより、上述した一連の処理が行われる。RAM803にはまた、CPU801が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータ(CPU801)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア821に記録して適用することができる。その場合、プログラムは、リムーバブルメディア821をドライブ815に装着することにより、入出力インタフェース810を介して、記憶部813にインストールすることができる。
 また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部814で受信し、記憶部813にインストールすることができる。
 その他、このプログラムは、ROM802や記憶部813に、あらかじめインストールしておくこともできる。
  <情報・処理の単位>
 以上において説明した各種情報が設定されるデータ単位や、各種処理が対象とするデータ単位は、それぞれ任意であり上述した例に限定されない。例えば、これらの情報や処理が、それぞれ、TU(Transform Unit)、TB(Transform Block)、PU(Prediction Unit)、PB(Prediction Block)、CU(Coding Unit)、LCU(Largest Coding Unit)、サブブロック、ブロック、タイル、スライス、ピクチャ、シーケンス、またはコンポーネント毎に設定されるようにしてもよいし、それらのデータ単位のデータを対象とするようにしてもよい。もちろん、このデータ単位は、情報や処理毎に設定され得るものであり、全ての情報や処理のデータ単位が統一されている必要はない。なお、これらの情報の格納場所は任意であり、上述したデータ単位のヘッダやパラメータセット等に格納されるようにしてもよい。また、複数個所に格納されるようにしてもよい。
  <制御情報>
 以上の各実施の形態において説明した本技術に関する制御情報を符号化側から復号側に伝送するようにしてもよい。例えば、上述した本技術を適用することを許可(または禁止)するか否かを制御する制御情報(例えばenabled_flag)を伝送するようにしてもよい。また、例えば、上述した本技術を適用する対象(または適用しない対象)を示す制御情報を伝送するようにしてもよい。例えば、本技術を適用する(または、適用を許可若しくは禁止する)ブロックサイズ(上限若しくは下限、またはその両方)、フレーム、コンポーネント、またはレイヤ等を指定する制御情報を伝送するようにしてもよい。
  <本技術の適用対象>
 本技術は、任意の画像符号化・復号方式に適用することができる。つまり、上述した本技術と矛盾しない限り、変換(逆変換)、量子化(逆量子化)、符号化(復号)、予測等、画像符号化・復号に関する各種処理の仕様は任意であり、上述した例に限定されない。また、上述した本技術と矛盾しない限り、これらの処理の内の一部を省略してもよい。
 また本技術は、複数の視点(ビュー(view))の画像を含む多視点画像の符号化・復号を行う多視点画像符号化・復号システムに適用することができる。その場合、各視点(ビュー(view))の符号化・復号において、本技術を適用するようにすればよい。
 さらに本技術は、所定のパラメータについてスケーラビリティ(scalability)機能を有するように複数レイヤ化(階層化)された階層画像の符号化・復号を行う階層画像符号化(スケーラブル符号化)・復号システムに適用することができる。その場合、各階層(レイヤ)の符号化・復号において、本技術を適用するようにすればよい。
 上述した実施の形態に係る画像処理装置、画像符号化装置、および画像復号装置は、例えば、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、およびセルラー通信による端末への配信などにおける送信機や受信機(例えばテレビジョン受像機や携帯電話機)、または、光ディスク、磁気ディスクおよびフラッシュメモリなどの媒体に画像を記録したり、これら記憶媒体から画像を再生したりする装置(例えばハードディスクレコーダやカメラ)などの、様々な電子機器に応用され得る。
 また、本技術は、任意の装置またはシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ(例えばビデオプロセッサ)、複数のプロセッサ等を用いるモジュール(例えばビデオモジュール)、複数のモジュール等を用いるユニット(例えばビデオユニット)、ユニットにさらにその他の機能を付加したセット(例えばビデオセット)等(すなわち、装置の一部の構成)として実施することもできる。
 さらに、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。例えば、コンピュータ、AV(Audio Visual)機器、携帯型情報処理端末、IoT(Internet of Things)デバイス等の任意の端末に対して、画像(動画像)に関するサービスを提供するクラウドサービスに適用することもできる。
 なお、本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。また、その用途も任意である。
 例えば、本技術は、観賞用コンテンツ等の提供の用に供されるシステムやデバイスに適用することができる。また、例えば、本技術は、交通状況の監理や自動運転制御等、交通の用に供されるシステムやデバイスにも適用することができる。さらに、例えば、本技術は、セキュリティの用に供されるシステムやデバイスにも適用することができる。また、例えば、本技術は、機械等の自動制御の用に供されるシステムやデバイスに適用することができる。さらに、例えば、本技術は、農業や畜産業の用に供されるシステムやデバイスにも適用することができる。また、本技術は、例えば火山、森林、海洋等の自然の状態や野生生物等を監視するシステムやデバイスにも適用することができる。さらに、例えば、本技術は、スポーツの用に供されるシステムやデバイスにも適用することができる。
  <その他>
 なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(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つの装置で実行する他、複数の装置で分担して実行することができる。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
 なお、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
 なお、本明細書において複数説明した本技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
 170 符号化装置, 171 スキャン制御部, 172 符号化部, 180 復号装置, 181 スキャン制御部, 182 復号部, 500 画像符号化装置, 501 制御部, 515 符号化部, 600 画像復号装置, 612 復号部

Claims (20)

  1.  画像に関する係数データの、無効変換係数領域の符号化をスキップし、有効変換係数領域を符号化する符号化部
     を備える画像処理装置。
  2.  前記係数データは、有効変換係数の有無をサブブロック毎に示す有効変換係数フラグ情報を含み、
     前記符号化部は、前記無効変換係数領域内の前記有効変換係数フラグ情報の符号化をスキップし、前記有効変換係数領域内の前記有効変換係数フラグ情報を符号化する
     請求項1に記載の画像処理装置。
  3.  前記係数データは、0ではない値を有する有効変換係数の有無をサブブロック毎に示す有効性フラグ情報、並びに、各有効変換係数の符号および絶対値をさらに含み、
     前記符号化部は、前記有効変換係数フラグ情報を符号化したサブブロックの前記有効性フラグ情報を符号化し、前記有効性フラグ情報が真であるサブブロックの、各有効変換係数の符号および絶対値を符号化する
     請求項2に記載の画像処理装置。
  4.  前記符号化部は、処理対象ブロックのブロックサイズを示す情報と前記有効変換係数領域の範囲を示す情報とに基づいて、前記無効変換係数領域の前記係数データの符号化をスキップし、前記有効変換係数領域の前記係数データを符号化する
     請求項1に記載の画像処理装置。
  5.  前記符号化部は、前記係数データに応じた走査順で、前記有効変換係数領域の前記係数データを符号化する
     請求項1に記載の画像処理装置。
  6.  前記符号化部は、前記有効変換係数領域の前記係数データを、サブブロック毎に垂直方向または水平方向に走査して符号化する
     請求項5に記載の画像処理装置。
  7.  前記符号化部は、前記有効変換係数領域の前記係数データを、サブブロック毎に処理対象ブロックの形状に応じた走査順で符号化する
     請求項5に記載の画像処理装置。
  8.  前記符号化部は、前記有効変換係数領域の前記係数データを、サブブロックのグループ毎に走査して符号化する
     請求項5に記載の画像処理装置。
  9.  前記符号化部は、前記画像の輝度成分および色差成分について、前記無効変換係数領域の前記係数データの符号化をスキップし、前記有効変換係数領域の前記係数データを符号化する
     請求項1に記載の画像処理装置。
  10.  画像に関する係数データの、無効変換係数領域の符号化をスキップし、有効変換係数領域を符号化する
     画像処理方法。
  11.  画像に関する係数データが符号化された符号化データの、無効変換係数領域の復号をスキップし、有効変換係数領域を復号する復号部
     を備える画像処理装置。
  12.  前記係数データは、有効変換係数の有無をサブブロック毎に示す有効変換係数フラグ情報を含み、
     前記復号部は、前記有効変換係数領域内の前記有効変換係数フラグ情報の符号化データを復号する
     請求項11に記載の画像処理装置。
  13.  前記係数データは、0ではない値を有する有効変換係数の有無をサブブロック毎に示す有効性フラグ情報、並びに、各有効変換係数の符号および絶対値をさらに含み、
     前記復号部は、前記有効変換係数フラグ情報の符号化データを復号したサブブロックの前記有効性フラグ情報の符号化データを復号し、前記有効性フラグ情報が真であるサブブロックの、各有効変換係数の符号および絶対値の符号化データを復号する
     請求項12に記載の画像処理装置。
  14.  前記復号部は、処理対象ブロックのブロックサイズを示す情報と前記有効変換係数領域の範囲を示す情報とに基づいて、前記無効変換係数領域の前記符号化データの復号をスキップし、前記有効変換係数領域の前記符号化データを復号する
     請求項11に記載の画像処理装置。
  15.  前記復号部は、前記係数データに応じた走査順で、前記有効変換係数領域の前記符号化データを復号する
     請求項11に記載の画像処理装置。
  16.  前記復号部は、前記有効変換係数領域の前記符号化データを、サブブロック毎に垂直方向または水平方向に走査して復号する
     請求項15に記載の画像処理装置。
  17.  前記復号部は、前記有効変換係数領域の前記符号化データを、サブブロック毎に処理対象ブロックの形状に応じた走査順で復号する
     請求項15に記載の画像処理装置。
  18.  前記復号部は、前記有効変換係数領域の前記符号化データを、サブブロックのグループ毎に走査して復号する
     請求項15に記載の画像処理装置。
  19.  前記復号部は、前記画像の輝度成分および色差成分について、前記無効変換係数領域の前記符号化データの復号をスキップし、前記有効変換係数領域の前記符号化データを復号する
     請求項11に記載の画像処理装置。
  20.  画像に関する係数データが符号化された符号化データの、無効変換係数領域の復号をスキップし、有効変換係数領域を復号する
     画像処理方法。
PCT/JP2019/043380 2018-11-16 2019-11-06 画像処理装置および方法 WO2020100672A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201980073751.7A CN113039794B (zh) 2018-11-16 2019-11-06 图像处理装置和方法
US17/290,777 US20210385456A1 (en) 2018-11-16 2019-11-06 Image processing apparatus and method
US18/167,903 US20230199187A1 (en) 2018-11-16 2023-02-13 Image processing apparatus and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-215827 2018-11-16
JP2018215827A JP2022016726A (ja) 2018-11-16 2018-11-16 画像処理装置および方法

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US17/290,777 A-371-Of-International US20210385456A1 (en) 2018-11-16 2019-11-06 Image processing apparatus and method
US18/167,903 Continuation US20230199187A1 (en) 2018-11-16 2023-02-13 Image processing apparatus and method

Publications (1)

Publication Number Publication Date
WO2020100672A1 true WO2020100672A1 (ja) 2020-05-22

Family

ID=70731584

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/043380 WO2020100672A1 (ja) 2018-11-16 2019-11-06 画像処理装置および方法

Country Status (4)

Country Link
US (2) US20210385456A1 (ja)
JP (1) JP2022016726A (ja)
CN (1) CN113039794B (ja)
WO (1) WO2020100672A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2746706C1 (ru) * 2017-04-13 2021-04-19 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ и устройство кодирования/декодирования изображений
TW202046730A (zh) * 2019-04-24 2020-12-16 美商松下電器(美國)知識產權公司 編碼裝置、解碼裝置、編碼方法、及解碼方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0750837A (ja) * 1993-07-26 1995-02-21 Kyocera Corp 動画像符号化装置
JPH1188884A (ja) * 1997-09-16 1999-03-30 Sharp Corp 画像変換符号化装置
JP2002016922A (ja) * 2000-06-28 2002-01-18 Mitsubishi Electric Corp 画像符号化装置
JP2004228964A (ja) * 2003-01-23 2004-08-12 Ricoh Co Ltd 画像処理装置、画像形成装置、プログラムおよび記憶媒体
WO2017137312A1 (en) * 2016-02-12 2017-08-17 Thomson, Licensing A method and device for intra-predictive encoding/decoding a coding unit comprising picture data, said intra-predictive encoding depending on a prediction tree and a transform tree
JP2017188768A (ja) * 2016-04-05 2017-10-12 日本放送協会 符号化装置、復号装置、符号化プログラム、及び復号プログラム
WO2018173862A1 (ja) * 2017-03-21 2018-09-27 シャープ株式会社 画像復号装置及び画像符号化装置
WO2018173798A1 (ja) * 2017-03-23 2018-09-27 ソニー株式会社 画像処理装置および方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100237359B1 (ko) * 1995-10-26 2000-01-15 김영환 모양 적응형 영상신호 부호화 장치 및 방법
KR20060042295A (ko) * 2004-11-09 2006-05-12 삼성전자주식회사 화상 데이터 부호화 및 복호화 방법 및 장치
US7245242B2 (en) * 2005-11-28 2007-07-17 Conexant Systems, Inc. Decoding systems and methods
CN1874517A (zh) * 2006-06-19 2006-12-06 西安交通大学 基于多流水控制与缓存优化的mpeg-2视频解码控制方法
US8422803B2 (en) * 2007-06-28 2013-04-16 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method and image decoding method
JP2009170992A (ja) * 2008-01-11 2009-07-30 Sony Corp 画像処理装置およびその方法、並びにプログラム
US9338466B2 (en) * 2008-10-15 2016-05-10 France Telecom Method and device for coding an image sequence implementing blocks of different size, signal, data medium, decoding method and device, and computer programs corresponding thereto
EP2182732A1 (en) * 2008-10-28 2010-05-05 Panasonic Corporation Switching between scans in image coding
AU2014268181B2 (en) * 2009-10-28 2016-02-18 Samsung Electronics Co., Ltd. Method and apparatus for encoding residual block, and method and apparatus for decoding residual block
JP5529571B2 (ja) * 2010-02-08 2014-06-25 キヤノン株式会社 画像符号化装置及びその制御方法
JP5914962B2 (ja) * 2010-04-09 2016-05-11 ソニー株式会社 画像処理装置および方法、プログラム、並びに、記録媒体
KR20120100836A (ko) * 2011-03-03 2012-09-12 한국전자통신연구원 변환 계수 스캔 방법 및 그 장치
US10148974B2 (en) * 2011-03-10 2018-12-04 Sharp Kabushiki Kaisha Image decoding device, image encoding device, and data structure of encoded data
KR101620620B1 (ko) * 2011-10-26 2016-05-13 주식회사 케이티 인트라 예측 모드를 기초로 양자화 계수를 예측하는 방법 및 이를 이용하는 장치
US10390046B2 (en) * 2011-11-07 2019-08-20 Qualcomm Incorporated Coding significant coefficient information in transform skip mode
JP2013187869A (ja) * 2012-03-09 2013-09-19 Sharp Corp 算術復号装置、算術符号化装置、画像復号装置、および画像符号化装置
JP6168365B2 (ja) * 2012-06-12 2017-07-26 サン パテント トラスト 動画像符号化方法、動画像復号化方法、動画像符号化装置および動画像復号化装置
US9307264B2 (en) * 2012-06-22 2016-04-05 Sharp Kabushiki Kaisha Arithmetic decoding device, arithmetic coding device, image decoding apparatus, and image coding apparatus
TWI592011B (zh) * 2012-06-29 2017-07-11 Sony Corp Image processing device and method
CN104272736B (zh) * 2013-01-16 2018-04-17 黑莓有限公司 用于对视频进行编码/解码的方法和设备及其处理器可读介质
KR101502144B1 (ko) * 2013-08-22 2015-03-12 주식회사 에스원 계수 정보를 변환하는 방법 및 장치
US9264724B2 (en) * 2013-10-11 2016-02-16 Blackberry Limited Sign coding for blocks with transform skipped
EP3293975A4 (en) * 2015-09-08 2018-10-10 Samsung Electronics Co., Ltd. Device and method for entropy encoding and decoding
US10531102B2 (en) * 2015-09-10 2020-01-07 Samsung Electronics Co., Ltd. Encoding device, decoding device, and encoding and decoding method thereof
CN117412035A (zh) * 2016-08-31 2024-01-16 株式会社Kt 用于处理视频信号的方法和设备
CN106803959B (zh) * 2017-02-28 2019-12-27 腾讯科技(深圳)有限公司 视频图像编码、解码方法、编码、解码装置及可读存储介质
JP2020072277A (ja) * 2017-03-03 2020-05-07 シャープ株式会社 動画像符号化装置及び動画像復号装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0750837A (ja) * 1993-07-26 1995-02-21 Kyocera Corp 動画像符号化装置
JPH1188884A (ja) * 1997-09-16 1999-03-30 Sharp Corp 画像変換符号化装置
JP2002016922A (ja) * 2000-06-28 2002-01-18 Mitsubishi Electric Corp 画像符号化装置
JP2004228964A (ja) * 2003-01-23 2004-08-12 Ricoh Co Ltd 画像処理装置、画像形成装置、プログラムおよび記憶媒体
WO2017137312A1 (en) * 2016-02-12 2017-08-17 Thomson, Licensing A method and device for intra-predictive encoding/decoding a coding unit comprising picture data, said intra-predictive encoding depending on a prediction tree and a transform tree
JP2017188768A (ja) * 2016-04-05 2017-10-12 日本放送協会 符号化装置、復号装置、符号化プログラム、及び復号プログラム
WO2018173862A1 (ja) * 2017-03-21 2018-09-27 シャープ株式会社 画像復号装置及び画像符号化装置
WO2018173798A1 (ja) * 2017-03-23 2018-09-27 ソニー株式会社 画像処理装置および方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZHAO, XIN ET AL., CE6: BLOCK SIZE DEPENDENT ZERO- OUT TRANSFORM (TEST 1.14), JVET-K0083.DOCX, 3 July 2018 (2018-07-03), pages 1 - 4, Retrieved from the Internet <URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/11_Ljubljana/wg11/JVET-K0083-vl.zip> *

Also Published As

Publication number Publication date
US20210385456A1 (en) 2021-12-09
CN113039794A (zh) 2021-06-25
CN113039794B (zh) 2024-05-24
US20230199187A1 (en) 2023-06-22
JP2022016726A (ja) 2022-01-25

Similar Documents

Publication Publication Date Title
JP7235030B2 (ja) 画像処理装置および方法
US20230199187A1 (en) Image processing apparatus and method
WO2021039650A1 (ja) 画像処理装置および方法
US20240171746A1 (en) Image processing device and method
WO2019188465A1 (ja) 画像符号化装置、画像符号化方法、画像復号装置、および画像復号方法
US20240040137A1 (en) Image processing apparatus and method
US20230179779A1 (en) Image processing device and method
JP7235031B2 (ja) 画像処理装置および方法
WO2021100588A1 (ja) 画像処理装置および方法
WO2021117500A1 (ja) 画像処理装置、ビットストリーム生成方法、係数データ生成方法、および量子化係数生成方法
WO2020066641A1 (ja) 画像処理装置および方法
KR20210124218A (ko) 화상 처리 장치 및 방법
JP7494858B2 (ja) 画像処理装置および方法
WO2021117866A1 (ja) 画像処理装置および方法
WO2023195330A1 (ja) 画像処理装置および方法
US20230045106A1 (en) Image processing apparatus and method
US20220086489A1 (en) Image processing apparatus and method
WO2020129636A1 (ja) 画像符号化装置、画像符号化方法、画像復号装置、および画像復号方法
KR20220053560A (ko) 화상 처리 장치 및 방법
CN116195256A (zh) 图片和视频编解码中以信号通知片和切片分区信息的方法和装置

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19884901

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP