WO2020184145A1 - Image encoding device, image encoding method, image decoding device, and image decoding method - Google Patents

Image encoding device, image encoding method, image decoding device, and image decoding method Download PDF

Info

Publication number
WO2020184145A1
WO2020184145A1 PCT/JP2020/006993 JP2020006993W WO2020184145A1 WO 2020184145 A1 WO2020184145 A1 WO 2020184145A1 JP 2020006993 W JP2020006993 W JP 2020006993W WO 2020184145 A1 WO2020184145 A1 WO 2020184145A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
conversion
coding
orthogonal conversion
block size
Prior art date
Application number
PCT/JP2020/006993
Other languages
French (fr)
Japanese (ja)
Inventor
健治 近藤
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Publication of WO2020184145A1 publication Critical patent/WO2020184145A1/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Definitions

  • the present disclosure relates to an image encoding device, an image coding method, an image decoding device, and an image decoding method, and in particular, an image in which image quality and coding efficiency can be improved while avoiding a decrease in processing speed.
  • the present invention relates to a coding device, an image coding method, an image decoding device, and an image decoding method.
  • Non-Patent Document 1 In ITU-T (International Telecommunication Union Telecommunication Standardization Sector), JVET (Joint Video Exploration Team), which is developing next-generation video coding, provides various video coding as disclosed in Non-Patent Document 1. is suggesting.
  • This disclosure has been made in view of such a situation, and is intended to enable improvement of image quality and coding efficiency while avoiding a decrease in processing speed.
  • the coding apparatus of one aspect of the present disclosure converts the predicted residual obtained in the processing unit to be encoded by orthogonal conversion in a conversion unit smaller than the processing unit when encoding the image, and has a conversion coefficient.
  • the predicted residuals obtained in the processing unit to be encoded are orthogonal to each other in a conversion unit smaller than the processing unit.
  • the conversion coefficient is obtained by conversion, the conversion coefficient is quantized in the processing unit to obtain the quantization conversion coefficient, and the quantization conversion coefficient is encoded in the processing unit to output a bit stream. Including that.
  • the predicted residual obtained in the processing unit to be encoded is orthogonally converted in a conversion unit smaller than the processing unit to obtain a conversion coefficient.
  • the conversion coefficient is quantized in the processing unit to obtain the quantization conversion coefficient, and the quantization conversion coefficient is encoded in the processing unit to output a bit stream.
  • the decoding device of one aspect of the present disclosure includes a decoding unit that decodes a bit stream encoded in a processing unit to be encoded in the processing unit to obtain a quantization conversion coefficient, and the quantization conversion coefficient. Is provided with an inverse quantization unit for obtaining a conversion coefficient by decoding in the processing unit, and an inverse orthogonal conversion unit for obtaining a predicted residual by inversely converting the conversion coefficient in a conversion unit smaller than the processing unit. ..
  • the decoding method of one aspect of the present disclosure is that the decoding apparatus decodes a bit stream encoded in a processing unit to be encoded in the processing unit to obtain a quantization conversion coefficient, and the quantum The conversion coefficient is decoded in the processing unit to obtain the conversion coefficient, and the conversion coefficient is inversely orthogonalized in a conversion unit smaller than the processing unit to obtain the predicted residual.
  • a bit stream encoded in a processing unit to be encoded is decoded in the processing unit to obtain a quantization conversion coefficient, and the quantization conversion coefficient is reversed in the processing unit.
  • the conversion coefficient is obtained by quantization, and the conversion coefficient is inversely orthogonalized in a conversion unit smaller than the processing unit to obtain the predicted residual.
  • the pixels of the decoded image that has already been reconstructed are referred to.
  • the pixel of the processing unit that is the target of coding at the present time may also be referred to in the intra prediction when the coding is performed for the subsequent processing unit.
  • the pixels of the already reconstructed decoded image on the left and upper sides of the processing unit are used as reference pixels. .. Then, the pixels of the decoded image reconstructed with the block size of 4 ⁇ 4 may also be referred to in the intra prediction performed thereafter.
  • orthogonal conversion is performed with the same block size as the coding processing unit when performing intra prediction. Therefore, for example, when the coding is performed in the processing unit of the block size 4 ⁇ 4, the orthogonal conversion is performed in the conversion unit of the block size 4 ⁇ 4.
  • the value of one pixel becomes high in the form of an impulse because it is difficult to predict the impulse signal in the intra prediction. It ends up.
  • orthogonal conversion is performed for such a predicted residual in a conversion unit of a block size of 4 ⁇ 4.
  • DCT discrete cosine transform
  • DST discrete sine transform
  • the influence of the impulse signal spreads over a wide range in the conversion coefficient obtained by the orthogonal transform. It is known. In the example shown in FIG. 2, as a case where the influence of the impulse signal spreads most widely, a state in which the influence of the impulse signal spreads over the entire processing unit having a block size of 4 ⁇ 4 is shown. Normally, the orthogonal conversion is performed for the purpose of concentrating the signal at a specific position such as the upper left after the orthogonal conversion, and the impulse signal affects a wide range over the entire processing unit of the block size 4 ⁇ 4. Is not preferable.
  • a quantization error occurs by quantizing each pixel, so that the quantization error occurs in the entire processing unit having a block size of 4 ⁇ 4. Will spread.
  • the signals are concentrated at a specific position such as the upper left after orthogonal conversion, it can be expected that other signals can be reduced, so that the quantization error can be reduced after quantization, whereas the block size is 4 ⁇ 4.
  • the quantization error spreads over the entire processing unit, the advantage of reducing the quantization error cannot be obtained.
  • the quantization conversion coefficient is generally scanned in a scan order called a zigzag scan indicated by an arrow as shown in the figure.
  • a scan order called a zigzag scan indicated by an arrow as shown in the figure.
  • the inverse quantization of the quantized predicted residual is performed, and the inverse quantized conversion coefficient is obtained.
  • the predicted residual that has been inversely orthogonally transformed can be obtained.
  • the quantization error is widened so that the surrounding values gradually increase around the pixel containing the impulse signal.
  • the input image is decoded by adding the inverse orthogonally converted predicted residual and the intra-predicted image, and the reconstructed decoded image is acquired. Therefore, in the reconstructed decoded image, the impulse signal included in the input image is gradually spread around the pixel as the center, and the reproducibility of the image is deteriorated.
  • PSNR Peak signal-to-noise ratio
  • the conversion unit for performing orthogonal conversion smaller than the processing unit for encoding, for example, the spread of the influence of the impulse signal is suppressed, and the image quality and image quality are improved. It is expected that the decrease in coding efficiency can be suppressed.
  • the block size 4 ⁇ 4 is used as a coding processing unit, and the value of one pixel is converted into an impulse from an input image containing an impulse signal having an extremely large value in only one pixel. A higher predicted residual is obtained.
  • the processing unit for encoding the block size 4 ⁇ 4 is divided, and the orthogonal conversion is performed in the conversion unit having the block size 2 ⁇ 2.
  • the influence of the impulse signal only spreads within the conversion unit of the lower right block size 2 ⁇ 2 including the impulse signal.
  • the diffusion of the influence of the impulse signal on the predicted residual is suppressed to a narrow range as compared with the example of FIG.
  • the conversion coefficient is quantized in processing units of block size 4 ⁇ 4, and even in the quantization conversion coefficient obtained by this quantization, the quantization error is the block size 2 ⁇ 2 at the lower right. It will occur within the range.
  • the quantization conversion coefficient is scanned in the same scan order as the example shown in FIG.
  • the quantization conversion coefficient is scanned in the same scan order as the example shown in FIG.
  • the code amount can be small, high efficiency can be achieved for the purpose of compressing the moving image.
  • the inverse quantization of the quantized predicted residual is performed, and the inverse quantized conversion coefficient is obtained.
  • the predicted residual that has been inversely orthogonally transformed can be obtained.
  • the orthogonal conversion is performed in the conversion unit of the block size 2 ⁇ 2
  • the quantization error is suppressed to the range of the block size 2 ⁇ 2 at the lower right in the predicted residual obtained by the inverse orthogonal conversion. ..
  • the input image is decoded and the reconstructed decoded image is acquired. Therefore, in the reconstructed decoded image, the influence of the impulse signal included in the input image is limited to the block size 2 ⁇ 2 in the lower right, and the decoded image is compared with the example of FIG.
  • the image quality can be improved. For example, a signal quality index called Peak signal-to-noise ratio (PSNR) has also been shown to improve signal quality.
  • PSNR Peak signal-to-noise ratio
  • the block size is the same as the case where the orthogonal conversion is performed in the conversion unit of the block size 2 ⁇ 2 (see FIG. 3).
  • orthogonal conversion see FIG. 2
  • the input image including the impulse signal is subjected to orthogonal conversion by performing orthogonal conversion in a conversion unit having a block size smaller than the processing unit to be processed for coding and decoding.
  • deterioration of image quality and coding efficiency is avoided.
  • a decrease in processing speed is avoided as compared with a method in which the processing unit itself to be processed for coding and decoding is made into a small block size. can do.
  • FIG. 5 is a block diagram showing a configuration example of a first embodiment of a coding apparatus to which the present technology is applied.
  • the coding apparatus 11 includes a calculation unit 21, an orthogonal conversion unit 22, a quantization unit 23, an inverse quantization unit 24, an inverse orthogonal conversion unit 25, a calculation unit 26, a frame memory 27, and a prediction unit 28. , And a coding unit 29.
  • the calculation unit 21 sequentially targets the pictures that are the moving images of the input frame unit as the coding target, and acquires the pixels according to the coding processing unit from the coding target picture as the input image of the coding target. For example, in the first embodiment, the calculation unit 21 acquires pixels of a processing unit having a block size of 4 ⁇ 4 as an input image to be encoded. Then, the calculation unit 21 supplies the orthogonal conversion unit 22 with the prediction residual obtained by subtracting the intra prediction image supplied from the prediction unit 28 from the input image.
  • the orthogonal conversion unit 22 performs orthogonal conversion processing on the predicted residual supplied from the calculation unit 21, derives the conversion coefficient, and supplies it to the quantization unit 23. At this time, as described above with reference to FIG. 3, the orthogonal conversion unit 22 divides the processing unit of the block size 4 ⁇ 4 into four, and performs the orthogonal conversion four times in the conversion unit of the block size 2 ⁇ 2. .. Alternatively, as described above with reference to FIG. 4, the orthogonal conversion unit 22 divides the processing unit of the block size 4 ⁇ 4 into two, and performs the orthogonal conversion twice in the conversion unit of the block size 4 ⁇ 2.
  • the quantization unit 23 performs quantization with respect to the conversion coefficient supplied from the orthogonal conversion unit 22, derives the quantization conversion coefficient in a processing unit of block size 4 ⁇ 4, and causes the inverse quantization unit 24 and the coding unit 29 to derive the quantization conversion coefficient. Supply.
  • the inverse quantization unit 24 performs inverse quantization with respect to the quantization conversion coefficient supplied from the quantization unit 23, that is, reverses the quantization by the quantization unit 23, and in a processing unit of block size 4 ⁇ 4.
  • the inverse quantized conversion coefficient is derived and supplied to the inverse orthogonal conversion unit 25.
  • the inverse orthogonal conversion unit 25 performs inverse orthogonal conversion on the inverse quantized conversion coefficient supplied from the inverse quantization unit 24, that is, reverses the orthogonal conversion process by the orthogonal conversion unit 22, and performs inverse orthogonal conversion.
  • the prediction error is derived and supplied to the calculation unit 26.
  • the inverse orthogonal conversion unit 25 divides the processing unit of the block size 4 ⁇ 4 into four, and performs the inverse orthogonal conversion four times in the conversion unit of the block size 2 ⁇ 2, similarly to the orthogonal conversion unit 22.
  • the inverse orthogonal conversion unit 25 divides the processing unit of the block size 4 ⁇ 4 into two, and performs the inverse orthogonal conversion twice in the conversion unit of the block size 4 ⁇ 2, similarly to the orthogonal conversion unit 22.
  • the calculation unit 26 decodes a processing unit having a block size of 4 ⁇ 4 by adding the inverse orthogonally converted prediction error supplied from the inverse orthogonal conversion unit 25 and the intra prediction image supplied from the prediction unit 28. The image is reconstructed and supplied to the frame memory 27.
  • the frame memory 27 stores the decoded image of the processing unit of the block size 4 ⁇ 4 supplied from the calculation unit 26 in the buffer. Then, the frame memory 27 reads the pixel designated by the prediction unit 28 from the buffer and supplies it to the prediction unit 28 as a reference pixel.
  • the prediction unit 28 acquires reference pixels (see FIG. 1) referred to in the intra prediction when encoding the input image to be encoded from the frame memory 27, and uses those reference pixels to block size 4 Intra-prediction is performed in x4 processing units. As a result, the prediction unit 28 generates an intra prediction image and supplies it to the calculation unit 21 and the calculation unit 26.
  • the coding unit 29 encodes the quantization conversion coefficient of the processing unit of the block size 4 ⁇ 4 supplied from the quantization unit 23 according to a predetermined coding method, and outputs a bit stream obtained by the coding.
  • the coding device 11 is configured in this way, and the orthogonal conversion unit 22 and the inverse orthogonal conversion unit 25 perform orthogonal conversion and inverse orthogonal conversion in a conversion unit having a block size smaller than the coding processing unit.
  • the coding apparatus 11 can suppress the spread of the influence of the impulse signal even if it is included in the input image, and the image quality and coding can be suppressed. The decrease in efficiency can be suppressed.
  • the coding device 11 when performing coding using intra-prediction, as shown by the arrow of the broken line in FIG. 5, it is necessary to perform processing such that data loops for each coding processing unit. .. That is, the coding device 11 starts from the previous block in the order of the calculation unit 21, the orthogonal conversion unit 22, the quantization unit 23, the inverse quantization unit 24, the inverse orthogonal conversion unit 25, the calculation unit 26, and the prediction unit 28. It is configured to use the output data to make the next intra-prediction.
  • the processing speed for performing the coding processing will decrease. That is, when the coding processing unit is a block size of 2 ⁇ 2, the processing speed is simply reduced to 1/4 as compared with the case where the coding processing unit is a block size of 4 ⁇ 4. Is assumed. Therefore, it is considered to set the block size to 4 ⁇ 4 as the minimum size of the coding processing unit.
  • the coding processing unit is a block size of 4 ⁇ 4
  • the conversion unit of the orthogonal conversion and the inverse orthogonal conversion is a block size of 2 ⁇ 2, thereby avoiding such a decrease in processing speed. can do.
  • the coding apparatus 11 aims to improve the image quality and coding efficiency while avoiding a decrease in processing speed as compared with the case where orthogonal conversion and inverse orthogonal conversion are performed with a block size of 4 ⁇ 4, which is a coding processing unit. be able to.
  • FIG. 7 is a block diagram showing a configuration example of the first embodiment of the decoding device to which the present technology is applied.
  • the decoding device 12 includes a decoding unit 41, an inverse quantization unit 42, an inverse orthogonal conversion unit 43, a calculation unit 44, a frame memory 45, and a prediction unit 46.
  • the decoding unit 41 acquires the bit stream output from the coding device 11 and performs decoding according to the decoding method corresponding to the coding method used by the coding unit 29, thereby following the decoding processing unit.
  • the quantization conversion coefficient is acquired and supplied to the inverse quantization unit 42.
  • the decoding unit 41 acquires the quantization conversion coefficient of the processing unit having a block size of 4 ⁇ 4 and supplies it to the inverse quantization unit 42.
  • the inverse quantization unit 42 performs inverse quantization on the quantization conversion coefficient supplied from the decoding unit 41, derives the inverse quantization conversion coefficient in the processing unit of the block size 4 ⁇ 4, and the inverse orthogonal conversion unit 43. Supply to. That is, the dequantization unit 42 performs the same processing as the dequantization unit 24 of FIG.
  • the inverse orthogonal conversion unit 43 performs inverse orthogonal conversion on the inverse quantized conversion coefficient supplied from the inverse quantization unit 42, derives the inverse orthogonal conversion prediction error, and supplies it to the calculation unit 44. That is, the inverse orthogonal conversion unit 43 performs the same processing as the inverse orthogonal conversion unit 25 of FIG. Therefore, the inverse orthogonal conversion unit 43 divides the processing unit of the block size 4 ⁇ 4 into four, and performs the inverse orthogonal conversion four times in the conversion unit of the block size 2 ⁇ 2. Alternatively, the inverse orthogonal conversion unit 43 divides the processing unit of the block size 4 ⁇ 4 into two, and performs the inverse orthogonal conversion twice in the conversion unit of the block size 4 ⁇ 2.
  • the calculation unit 44 adds the inverse orthogonally converted prediction error supplied from the inverse orthogonality conversion unit 43 and the intra-orthogonal prediction image supplied from the prediction unit 46 to obtain a decoded image of a processing unit having a block size of 4 ⁇ 4. Is calculated. Then, the calculation unit 44 outputs the calculated decoded image as an output image output from the decoding device 12 and supplies it to the frame memory 27.
  • the frame memory 45 stores the decoded image of the processing unit of the block size 4 ⁇ 4 supplied from the arithmetic unit 44 in the buffer. Then, the frame memory 45 reads the pixel designated by the prediction unit 46 from the buffer and supplies it to the prediction unit 46 as a reference pixel.
  • the prediction unit 46 acquires reference pixels (see FIG. 1) referred to in the intra prediction when decoding a processing unit having a block size of 4 ⁇ 4 to be decoded from the frame memory 45, and uses those reference pixels. Intra-prediction is performed in processing units with a block size of 4 ⁇ 4. That is, the prediction unit 46 performs the same processing as the prediction unit 28 in FIG. 5, generates an intra prediction image, and supplies it to the calculation unit 44.
  • the decoding device 12 is configured in this way, and the inverse orthogonal conversion unit 43 performs inverse orthogonal conversion in a conversion unit having a block size smaller than the decoding processing unit.
  • the decoding device 12 similarly to the coding device 11, when decoding using the intra prediction, the data loops for each decoding processing unit as shown by the broken line arrow in FIG. 7. Processing is required. At that time, the decoding device 12 can avoid a decrease in processing speed as compared with the case where the inverse orthogonal conversion is performed with a block size of 4 ⁇ 4, which is a decoding processing unit.
  • step S11 the prediction unit 28 acquires reference pixels referenced in a processing unit having a block size of 4 ⁇ 4 to be encoded from the frame memory 27, and performs intra prediction using those reference pixels. As a result, the prediction unit 28 generates an intra prediction image of a processing unit having a block size of 4 ⁇ 4 and supplies it to the calculation unit 21 and the calculation unit 26.
  • step S12 the calculation unit 21 acquires pixels of a processing unit having a block size of 4 ⁇ 4 as an input image to be encoded. Then, the calculation unit 21 subtracts the intra prediction image supplied from the prediction unit 28 in step S11 from the input image, and obtains the prediction residual of the processing unit of the block size 4 ⁇ 4 obtained by the calculation unit 21 in the orthogonal conversion unit 22. Supply to.
  • step S13 the orthogonal conversion unit 22 divides the predicted residual of the processing unit of the block size 4 ⁇ 4 supplied from the calculation unit 21 in step S12 into the conversion unit of the block size 2 ⁇ 2. Then, the orthogonal conversion unit 22 performs orthogonal conversion for each conversion unit having a block size of 2 ⁇ 2 to derive a conversion coefficient. At this time, the orthogonal conversion unit 22 acquires the conversion coefficient of the processing unit of the block size 4 ⁇ 4 by performing the orthogonal conversion for each conversion unit of the block size 2 ⁇ 2 four times, and supplies the conversion coefficient to the quantization unit 23. ..
  • step S14 the quantization unit 23 performs quantization with respect to the conversion coefficient of the processing unit of the block size 4 ⁇ 4 supplied from the orthogonal conversion unit 22 in step S13, derives the quantization conversion coefficient, and dequantizes the inverse quantization unit. It is supplied to 24 and the coding unit 29.
  • step S15 the inverse quantization unit 24 performs inverse quantization with respect to the quantization conversion coefficient of the processing unit of the block size 4 ⁇ 4 supplied from the quantization unit 23 in step S14, and the inverse quantization conversion coefficient is obtained. It is derived and supplied to the inverse orthogonal conversion unit 25.
  • step S16 the inverse orthogonal conversion unit 25 divides the conversion coefficient of the processing unit of the block size 4 ⁇ 4 supplied from the inverse quantization unit 24 in step S15 into the conversion unit of the block size 2 ⁇ 2. Then, the inverse orthogonal conversion unit 25 performs inverse orthogonal conversion for each conversion unit having a block size of 2 ⁇ 2 to derive a prediction error. At this time, the inverse orthogonal conversion unit 25 acquires the inverse orthogonal conversion prediction error of the processing unit of the block size 4 ⁇ 4 by performing the inverse orthogonal conversion for each conversion unit of the block size 2 ⁇ 2 four times. It is supplied to the calculation unit 26.
  • step S17 the calculation unit 26 includes the inverse orthogonal conversion prediction error of the processing unit of the block size 4 ⁇ 4 supplied from the inverse orthogonal conversion unit 25 in step S16 and the block supplied from the prediction unit 28 in step S11. Add the intra-predicted image of the processing unit of size 4 ⁇ 4. As a result, the calculation unit 26 reconstructs the decoded image of the processing unit having a block size of 4 ⁇ 4 and supplies it to the frame memory 27.
  • step S18 the frame memory 27 stores and stores the decoded image of the processing unit of the block size 4 ⁇ 4 supplied from the calculation unit 26 in step S17 in the buffer.
  • step S19 the coding unit 29 encodes the quantization conversion coefficient of the processing unit of the block size 4 ⁇ 4 supplied from the quantization unit 23 in step S14 according to a predetermined coding method. Then, the processing is terminated after the coding unit 29 outputs the bit stream obtained by the coding, and the same processing is subsequently performed with the next input image as the coding target.
  • a first processing example of the decoding process performed in the decoding device 12 will be described with reference to the flowchart shown in FIG.
  • step S21 the decoding unit 41 acquires the bit stream output from the encoding device 11. Then, the decoding unit 41 performs decoding according to the decoding method corresponding to the coding method used by the coding unit 29 in step S19 of FIG. 8, thereby performing the quantization conversion coefficient of the processing unit of the block size 4 ⁇ 4. Is obtained and supplied to the inverse quantization unit 42.
  • step S22 the inverse quantization unit 42 performs inverse quantization with respect to the quantization conversion coefficient of the processing unit of the block size 4 ⁇ 4 supplied from the decoding unit 41 in step S21, and derives the inverse quantization conversion coefficient. Then, it is supplied to the inverse orthogonal conversion unit 43.
  • step S23 the inverse orthogonal conversion unit 43 divides the conversion coefficient of the processing unit of the block size 4 ⁇ 4 supplied from the inverse quantization unit 42 in step S22 into the conversion unit of the block size 2 ⁇ 2. Then, the inverse orthogonal conversion unit 43 performs inverse orthogonal conversion for each conversion unit having a block size of 2 ⁇ 2 to derive a prediction error. At this time, the inverse orthogonal conversion unit 43 acquires the inverse orthogonal conversion prediction error of the processing unit of the block size 4 ⁇ 4 by performing the inverse orthogonal conversion for each conversion unit of the block size 2 ⁇ 2 four times. It is supplied to the calculation unit 44.
  • step S24 the prediction unit 46 acquires reference pixels (see FIG. 1) referred to in the intra prediction when decoding a processing unit having a block size of 4 ⁇ 4 to be decoded from the frame memory 45, and obtains them. Intra-prediction is performed in processing units of block size 4 ⁇ 4 using reference pixels. Then, the prediction unit 46 generates an intra prediction image of a processing unit having a block size of 4 ⁇ 4 and supplies it to the calculation unit 44.
  • the calculation unit 44 includes the inverse orthogonal conversion prediction error of the processing unit of the block size 4 ⁇ 4 supplied from the inverse orthogonal conversion unit 43 in step S23 and the intra-orthogonal conversion supplied from the prediction unit 46 in step S24. Add with the predicted image. As a result, the calculation unit 44 reconstructs the decoded image of the processing unit having a block size of 4 ⁇ 4, outputs the decoded image as an output image output from the decoding device 12, and supplies the decoded image to the frame memory 27.
  • step S26 the frame memory 45 stores and stores the decoded image of the processing unit of the block size 4 ⁇ 4 supplied from the calculation unit 44 in step S25 in the buffer. After that, the processing is terminated, then the bit stream to be coded is acquired, and the same processing is performed thereafter.
  • the coding device 11 and the decoding device 12 perform coding and decoding in a processing unit having a block size of 4 ⁇ 4, they are opposite to the orthogonal conversion in a conversion unit having a block size of 2 ⁇ 2 which is smaller than that.
  • the orthogonal conversion it is possible to improve the image quality and the coding efficiency while avoiding the decrease in the processing speed.
  • FIG. 10 is a block diagram showing a configuration example of a second embodiment of a coding apparatus to which the present technology is applied. The detailed description of the configuration common to the coding device 11 of FIG. 5 in the coding device 11A shown in FIG. 10 will be omitted.
  • the coding device 11A includes a calculation unit 21, an orthogonal conversion unit 22, a quantization unit 23, an inverse quantization unit 24, an inverse orthogonal conversion unit 25, a calculation unit 26, a frame memory 27, and a prediction. It has the same configuration as the coding device 11 of FIG. 5 in that it includes a unit 28 and a coding unit 29.
  • the coding device 11A has a configuration different from that of the coding device 11 of FIG. 5 in that it includes a control unit 30. In FIG. 10, the arrow indicating the control from the control unit 30 to the blocks other than the orthogonal conversion unit 22 is not shown.
  • the control unit 30 determines whether or not the condition for performing the 2 ⁇ 2 orthogonal conversion mode is satisfied, and if it is determined that the condition for performing the 2 ⁇ 2 orthogonal conversion mode is satisfied, the orthogonal conversion unit 22 and the inverse orthogonal conversion are performed.
  • a conversion unit having a block size of 2 ⁇ 2 is set for the unit 25.
  • the control unit 30 controls all the blocks of the coding device 11A so as to execute the coding in the 2 ⁇ 2 orthogonal conversion mode. That is, in this case, the same processing as the flowchart of FIG. 8 described above is performed, and the mode in which such processing is performed is hereinafter referred to as a 2 ⁇ 2 orthogonal conversion mode.
  • the conditions for performing the 2x2 orthogonal conversion mode are that the coding processing unit is a block size of 4x4, intra-prediction is used, and a specific intra-prediction mode (for example, DC prediction or planar prediction). Etc.) is set. Therefore, the control unit 30 performs a 2 ⁇ 2 orthogonal conversion mode when the coding processing unit is a block size of 4 ⁇ 4, an intra prediction is used, or a specific intra prediction mode is used. It can be determined that the conditions are satisfied.
  • these conditions may be used in combination. For example, assuming that the coding processing unit is a block size of 4 ⁇ 4, intra-prediction is used, and a specific intra-prediction mode is satisfied, the condition for performing the 2 ⁇ 2 orthogonal conversion mode is satisfied. May be good.
  • the control unit 30 determines that the condition for performing the 2 ⁇ 2 orthogonal conversion mode is not satisfied, the control unit 30 sets the same conversion unit as the coding processing unit for the orthogonal conversion unit 22 and the inverse orthogonal conversion unit 25. To do. That is, in this case, a mode in which coding by orthogonal conversion similar to the conventional one is performed and such processing is performed is usually referred to as an orthogonal conversion mode.
  • FIG. 11 is a block diagram showing a configuration example of a second embodiment of the decoding device to which the present technology is applied. The details of the configuration of the decoding device 12A shown in FIG. 11 that is common to the decoding device 12 of FIG. 7 will be omitted.
  • the decoding device 12A includes a decoding unit 41, an inverse quantization unit 42, an inverse orthogonal conversion unit 43, a calculation unit 44, a frame memory 45, and a prediction unit 46. It has the same configuration as the decoding device 12.
  • the decoding device 12A has a configuration different from that of the decoding device 12 of FIG. 7 in that it includes a control unit 47.
  • the control unit 47 determines whether or not the condition for performing the 2 ⁇ 2 orthogonal conversion mode is satisfied, as in the control unit 30 of FIG. Then, when the control unit 47 determines that the condition for performing the 2 ⁇ 2 orthogonal conversion mode is satisfied, the control unit 47 sets a conversion unit having a block size of 2 ⁇ 2 for the inverse orthogonal conversion unit 43, and 2 ⁇ 2 Control is performed on all blocks of the decoding device 12A so that decoding is performed in the orthogonal conversion mode. On the other hand, when the control unit 47 determines that the condition for performing the 2 ⁇ 2 orthogonal conversion mode is not satisfied, the control unit 47 sets the same conversion unit as the decoding processing unit for the inverse orthogonal conversion unit 43, and is normally orthogonal. Control is performed on all blocks of the decoding device 12A so that decoding is executed in the conversion mode.
  • the coding device 11A and the decoding device 12A are configured, and the 2 ⁇ 2 orthogonal conversion mode and the normal orthogonal conversion mode can be switched and used according to the conditions for performing the 2 ⁇ 2 orthogonal conversion mode.
  • the 2 ⁇ 2 orthogonal conversion mode and the normal orthogonal conversion mode can be switched and used according to the conditions for performing the 2 ⁇ 2 orthogonal conversion mode.
  • step S31 the control unit 30 determines whether or not the condition for performing the 2 ⁇ 2 orthogonal conversion mode as described above is satisfied.
  • step S31 determines in step S31 that the condition for performing the 2 ⁇ 2 orthogonal conversion mode is satisfied, the process proceeds to step S32.
  • step S32 the control unit 30 sets a conversion unit having a block size of 2 ⁇ 2 for the orthogonal conversion unit 22 and the inverse orthogonal conversion unit 25, and encodes the unit so as to execute coding in the 2 ⁇ 2 orthogonal conversion mode. Controls all blocks of device 11A. As a result, the same processing as the flowchart of FIG. 8 is performed, and then the processing is terminated.
  • step S33 the control unit 30 sets the same conversion unit as the coding processing unit for the orthogonal conversion unit 22 and the inverse orthogonal conversion unit 25, and encodes so as to execute the coding in the normal orthogonal conversion mode. Control is performed for all blocks of the device 11A. As a result, in steps S13 and S16 of the flowchart of FIG. 8, coding is performed in which the orthogonal conversion and the inverse orthogonal conversion are performed once in the same conversion unit as the processing unit, and then the processing is terminated.
  • step S41 the control unit 47 determines whether or not the condition for performing the 2 ⁇ 2 orthogonal conversion mode as described above is satisfied.
  • step S42 the control unit 47 sets a conversion unit having a block size of 2 ⁇ 2 for the inverse orthogonal conversion unit 43, and performs decoding for all the blocks of the decoding device 12A so as to execute decoding in the 2 ⁇ 2 orthogonal conversion mode. Take control. As a result, the same processing as the flowchart of FIG. 9 is performed, and then the processing is terminated.
  • step S43 the control unit 47 sets the same conversion unit as the decoding processing unit for the inverse orthogonal conversion unit 43, and controls all the blocks of the decoding device 12A so as to execute the decoding in the normal orthogonal conversion mode. I do.
  • step S23 of the flowchart of FIG. 9 decoding is executed in which the inverse orthogonal conversion is performed once in the same conversion unit as the processing unit, and then the processing is terminated.
  • the coding device 11A and the decoding device 12A can be used by switching between the 2 ⁇ 2 orthogonal conversion mode and the normal orthogonal conversion mode according to the conditions for performing the 2 ⁇ 2 orthogonal conversion mode.
  • the coding device 11A may put a 2 ⁇ 2 orthogonal conversion flag indicating the result of determination according to the condition of performing the 2 ⁇ 2 orthogonal conversion mode into the bit stream and transmit the result.
  • the decoding device 12A can switch between the 2 ⁇ 2 orthogonal conversion mode and the normal orthogonal conversion mode based on the 2 ⁇ 2 orthogonal conversion flag.
  • FIG. 14 is a block diagram showing a configuration example of a third embodiment of a coding device to which the present technology is applied. The detailed description of the configuration common to the coding device 11 of FIG. 5 in the coding device 11B shown in FIG. 14 will be omitted. In FIG. 14, the arrow indicating the control from the control unit 30 to the blocks other than the orthogonal conversion unit 22 is not shown.
  • the coding device 11B includes a calculation unit 21, an orthogonal conversion unit 22, a quantization unit 23, an inverse quantization unit 24, an inverse orthogonal conversion unit 25, a calculation unit 26, a frame memory 27, and a prediction. It has the same configuration as the coding device 11 of FIG. 5 in that it includes a unit 28 and a coding unit 29.
  • the coding device 11B has a configuration different from that of the coding device 11 of FIG. 5 in that it includes a control unit 30 and a work amount calculation unit 31.
  • the control unit 30 determines the magnitude relationship between the two types of costs (RD cost J1 and RD cost J2, which will be described later) supplied from the work amount calculation unit 31, and is out of the 2 ⁇ 2 orthogonal conversion mode and the normal orthogonal conversion mode. Control is performed so that the one with the lower cost is selected.
  • this 2 ⁇ 2 orthogonal conversion flag (tu_2x2_flag) is described in the fourth line from the bottom of “7.3.4.6 Coding unit syntax” of Non-Patent Document 1 described above, “transform_tree (x0, y0, cbWidth, cbHeight) , TreeType) ”, it is preferable to place it immediately before.
  • the coding unit 29 is controlled so as to be performed. Further, the control unit 30 sets the same conversion unit as the coding processing unit for the orthogonal conversion unit 22 and the inverse orthogonal conversion unit 25, and the coding device 11B so as to execute the coding in the normal orthogonal conversion mode. Controls all blocks of.
  • the work amount calculation unit 31 calculates the RD cost J1 normally required when the orthogonal conversion mode is performed and the RD cost J2 required when the 2 ⁇ 2 orthogonal conversion mode is performed, and the control unit 30 Supply to.
  • the process of calculating the RD cost J1 by the work amount calculation unit 31 will be described later with reference to the flowchart of FIG. 16, and the process of calculating the RD cost J2 will be described later with reference to the flowchart of FIG. ..
  • the coding side has the same configuration as the decoding device 12A shown in FIG. That is, in the decoding device 12A, the decoding unit 41 acquires the 2 ⁇ 2 orthogonal conversion flag from the bit stream and supplies it to the control unit 47. Then, the control unit 47 performs control such as selecting either the 2 ⁇ 2 orthogonal conversion mode or the normal orthogonal conversion mode according to the 2 ⁇ 2 orthogonal conversion flag.
  • the control unit 30 determines that the RD cost J2 is smaller than the RD cost J1 (J2 ⁇ J1), the 2 ⁇ 2 orthogonal conversion mode is selected, and the RD cost J2 is set.
  • the orthogonal conversion mode is usually selected.
  • the coding device 11B can perform coding by orthogonal conversion so as to reduce the cost. Then, the coding device 11B can transmit the selection to the decoding device 12A by the 2 ⁇ 2 orthogonal conversion flag, and the decoding device 12A can also perform the decoding by the orthogonal conversion so as to reduce the cost. it can.
  • step S51 the work amount calculation unit 31 performs cost calculation processing in the normal orthogonal conversion mode (see the flowchart of FIG. 16) to calculate and control the RD cost J1 required when the normal orthogonal conversion mode is performed. Notify department 30.
  • step S52 the work amount calculation unit 31 performs the cost calculation process in the 2 ⁇ 2 orthogonal conversion mode (see the flowchart of FIG. 17), and determines the RD cost J2 required when the 2 ⁇ 2 orthogonal conversion mode is performed. Calculate and notify the control unit 30.
  • step S53 the control unit 30 compares the RD cost J1 in the normal orthogonal conversion mode with the RD cost J2 in the 2 ⁇ 2 orthogonal conversion mode, and determines whether the RD cost J2 is smaller than the RD cost J1.
  • step S53 If the control unit 30 determines in step S53 that the RD cost J2 is smaller than the RD cost J1 (J2 ⁇ J1), the process proceeds to step S54.
  • step S55 the control unit 30 sets a conversion unit having a block size of 2 ⁇ 2 for the orthogonal conversion unit 22 and the inverse orthogonal conversion unit 25, and encodes the unit so as to execute coding in the 2 ⁇ 2 orthogonal conversion mode. Controls all blocks of device 11B. As a result, the same processing as the flowchart of FIG. 8 is performed, and then the processing is terminated.
  • step S53 when the control unit 30 determines that the RD cost J2 is not smaller than the RD cost J1, that is, when the RD cost J2 is determined to be RD cost J1 or more (J2 ⁇ J1), the processing is performed. The process proceeds to step S56.
  • the encoding unit 29 puts a 2 ⁇ 2 orthogonal conversion flag indicating that the 2 ⁇ 2 orthogonal conversion is not performed into the bit stream and transmits the bit stream.
  • step S57 the control unit 30 sets the same conversion unit as the coding processing unit for the orthogonal conversion unit 22 and the inverse orthogonal conversion unit 25, and encodes so as to execute the coding in the normal orthogonal conversion mode. Controls all blocks of device 11B. As a result, in steps S13 and S16 of the flowchart of FIG. 8, coding is performed in which the orthogonal conversion and the inverse orthogonal conversion are performed once in the same conversion unit as the processing unit, and then the processing is terminated.
  • FIG. 16 is a flowchart illustrating the cost calculation process in the normal orthogonal conversion mode performed in step S51 of FIG.
  • steps S61 to S64 the same processing as in steps S11 to S14 of FIG. 8 is performed.
  • step S63 orthogonal conversion is performed in processing units having a block size of 4 ⁇ 4.
  • step S65 the coding unit 29 encodes the quantization conversion coefficient of the processing unit of the block size 4 ⁇ 4 supplied from the quantization unit 23 in step S64 according to a predetermined coding method to calculate the workload. It is supplied to the unit 31, and the work amount calculation unit 31 calculates the code amount R1.
  • steps S66 to S68 the same processing as in steps S15 to S17 of FIG. 8 is performed, and the decoded image of the processing unit of the block size 4 ⁇ 4 calculated by the calculation unit 26 in step S68 is supplied to the work amount calculation unit 31.
  • step S67 inverse orthogonal conversion is performed in processing units having a block size of 4 ⁇ 4.
  • step S69 the work amount calculation unit 31 calculates the square error D1 from the decoded image of the processing unit of the block size 4 ⁇ 4 supplied in step S68.
  • step S70 the work amount calculation unit 31 calculates and obtains the RD cost J1 in the normal orthogonal conversion mode based on the code amount R1 calculated in step S65 and the square error D1 calculated in step S69, and then obtains the result. The process is terminated.
  • FIG. 17 is a flowchart illustrating the cost calculation process in the 2 ⁇ 2 orthogonal conversion mode performed in step S52 of FIG.
  • steps S81 to S84 the same processing as in steps S11 to S14 of FIG. 8 is performed.
  • the coding unit 29 encodes the quantization conversion coefficient of the processing unit of the block size 4 ⁇ 4 supplied from the quantization unit 23 in step S84 according to a predetermined coding method to calculate the workload. It is supplied to the unit 31, and the work amount calculation unit 31 calculates the code amount R2.
  • steps S86 to S88 the same processing as in steps S15 to S17 of FIG. 8 is performed, and the decoded image of the processing unit of the block size 4 ⁇ 4 calculated by the calculation unit 26 in step S88 is supplied to the work amount calculation unit 31.
  • the work amount calculation unit 31 calculates the square error D2 from the decoded image of the processing unit of the block size 4 ⁇ 4 supplied in step S88.
  • step S90 the work amount calculation unit 31 calculates and obtains the RD cost J2 in the 2 ⁇ 2 orthogonal conversion mode based on the code amount R2 calculated in step S85 and the squared error D2 calculated in step S89. After that, the process is finished.
  • a third processing example of the decoding process performed in the decoding device 12A will be described with reference to the flowchart shown in FIG.
  • step S101 the decoding unit 41 acquires a 2 ⁇ 2 orthogonal conversion flag from the bit stream output from the coding device 11B in step S55 or S57 of FIG. 15 and supplies it to the control unit 47.
  • step S102 the control unit 47 determines whether or not the 2 ⁇ 2 orthogonal conversion flag supplied from the decoding unit 41 in step S101 indicates that the 2 ⁇ 2 orthogonal conversion is performed.
  • step S103 the control unit 47 sets a conversion unit having a block size of 2 ⁇ 2 for the inverse orthogonal conversion unit 43, and all blocks of the decoding device 12A so as to execute coding in the 2 ⁇ 2 orthogonal conversion mode. Control against. As a result, the same processing as the flowchart of FIG. 9 is performed, and then the processing is terminated.
  • step S104 the control unit 47 sets the same conversion unit as the decoding processing unit for the inverse orthogonal conversion unit 43, and for all the blocks of the coding device 11A so as to execute the decoding in the normal orthogonal conversion mode. Take control. As a result, in step S23 of the flowchart of FIG. 9, decoding is executed in which the inverse orthogonal conversion is performed once in the same conversion unit as the processing unit, and then the processing is terminated.
  • the coding device 11B and the decoding device 12A can be used by switching between the 2 ⁇ 2 orthogonal conversion mode and the normal orthogonal conversion mode so as to reduce the cost.
  • steps S111 and S112 the same processing as in steps S51 and S52 of FIG. 15 is performed, and the RD cost J1 in the normal orthogonal conversion mode and the RD cost J2 in the 2 ⁇ 2 orthogonal conversion mode are notified to the control unit 30.
  • step S113 the work amount calculation unit 31 performs the cost calculation process in the 4 ⁇ 2 orthogonal conversion mode, calculates the RD cost J3 required when the 4 ⁇ 2 orthogonal conversion mode is performed, and causes the control unit 30 to calculate the RD cost J3.
  • the processes of steps S83 and S87 in the cost calculation process in the 2 ⁇ 2 orthogonal conversion mode described with reference to the flowchart of FIG. 17 are in the processing unit of the block size 4 ⁇ 2. Will be done.
  • the control unit 30 is notified of the RD cost J3 in the 4 ⁇ 2 orthogonal conversion mode obtained based on the code amount R3 and the square error D3.
  • step S114 the control unit 30 compares the RD cost J1 in the normal orthogonal conversion mode, the RD cost J2 in the 2 ⁇ 2 orthogonal conversion mode, and the RD cost J3 in the 4 ⁇ 2 orthogonal conversion mode, and selects the mode with the lowest cost. judge.
  • step S114 If the control unit 30 determines in step S114 that the mode with the lowest cost is the RD cost J2 in the 2 ⁇ 2 orthogonal conversion mode, the process proceeds to step S115.
  • step S115 the control unit 30 sets an orthogonal conversion mode flag (tu_index_2) indicating that 2 ⁇ 2 orthogonal conversion is performed, and controls the coding unit 29 so as to put it in a bit stream and transmit it.
  • the encoding unit 29 puts an orthogonal conversion mode flag indicating that the 2 ⁇ 2 orthogonal conversion is performed into the bit stream and transmits it.
  • step S116 the control unit 30 sets a conversion unit having a block size of 2 ⁇ 2 for the orthogonal conversion unit 22 and the inverse orthogonal conversion unit 25, and encodes so as to execute coding in the 2 ⁇ 2 orthogonal conversion mode. Controls all blocks of device 11B. As a result, the same processing as the flowchart of FIG. 8 is performed, and then the processing is terminated.
  • step S114 determines in step S114 that the mode with the lowest cost is the RD cost J3 in the 4 ⁇ 2 orthogonal conversion mode. the process proceeds to step S117.
  • step S117 the control unit 30 sets an orthogonal conversion mode flag (tu_index_1) indicating that 4 ⁇ 2 orthogonal conversion is performed, and controls the coding unit 29 so as to put it in a bit stream and transmit it.
  • the encoding unit 29 puts an orthogonal conversion mode flag indicating that the 4 ⁇ 2 orthogonal conversion is performed into the bit stream and transmits it.
  • step S118 the control unit 30 sets a conversion unit having a block size of 4 ⁇ 2 for the orthogonal conversion unit 22 and the inverse orthogonal conversion unit 25, and encodes so as to execute coding in the 4 ⁇ 2 orthogonal conversion mode. Controls all blocks of device 11B. As a result, in steps S13 and S16 of the flowchart of FIG. 8, coding is performed in which orthogonal conversion and inverse orthogonal conversion are performed twice in each processing unit having a block size of 4 ⁇ 2, and then the processing is terminated.
  • step S114 determines in step S114 that the mode with the lowest cost is the RD cost J1 in the normal orthogonal conversion mode.
  • step S119 the control unit 30 sets an orthogonal conversion mode flag (tu_index_0) indicating that normal orthogonal conversion is performed, and controls the coding unit 29 so as to put it in a bit stream and transmit it.
  • the encoding unit 29 puts the orthogonal conversion mode flag indicating that the normal orthogonal conversion is performed into the bit stream and transmits it.
  • step S120 the control unit 30 sets the same conversion unit as the coding processing unit for the orthogonal conversion unit 22 and the inverse orthogonal conversion unit 25, and encodes so as to execute the coding in the normal orthogonal conversion mode. Controls all blocks of device 11B. As a result, in steps S13 and S16 of the flowchart of FIG. 8, coding is performed in which the orthogonal conversion and the inverse orthogonal conversion are performed once in the same conversion unit as the processing unit, and then the processing is terminated.
  • step S131 the decoding unit 41 acquires the orthogonal conversion mode flag from the bit stream output from the coding device 11B in steps S116, S118, or S120 of FIG. 19 and supplies it to the control unit 47.
  • step S132 the control unit 47 performs any of 2 ⁇ 2 orthogonal conversion, 4 ⁇ 2 orthogonal conversion, and normal orthogonal conversion with the orthogonal conversion mode flag supplied from the decoding unit 41 in step S131. Is determined.
  • step S132 determines in step S132 that the orthogonal conversion mode flag indicates that 2 ⁇ 2 orthogonal conversion is performed (tu_index_2)
  • step S133 the control unit 47 sets a conversion unit having a block size of 2 ⁇ 2 for the inverse orthogonal conversion unit 43, and performs decoding for all the blocks of the decoding device 12B so as to execute decoding in the 2 ⁇ 2 orthogonal conversion mode. Take control. As a result, the same processing as the flowchart of FIG. 9 is performed, and then the processing is terminated.
  • step S134 the control unit 47 sets a conversion unit having a block size of 4 ⁇ 2 for the inverse orthogonal conversion unit 43, and performs decoding for all blocks of the decoding device 12B so as to execute decoding in the 4 ⁇ 2 orthogonal conversion mode. Take control. As a result, in step S23 of the flowchart of FIG. 9, decoding is executed in which the inverse orthogonal conversion is performed twice in the conversion unit of the block size 4 ⁇ 2, and then the processing is terminated.
  • step S132 determines in step S132 that the orthogonal conversion mode flag indicates that normal orthogonal conversion is performed (tu_index_0)
  • step S135 the control unit 47 sets the same conversion unit as the decoding processing unit for the inverse orthogonal conversion unit 43, and for all the blocks of the coding device 11B so as to execute the decoding in the normal orthogonal conversion mode. Take control.
  • step S23 of the flowchart of FIG. 9 decoding is executed in which the inverse orthogonal conversion is performed once in the same conversion unit as the processing unit, and then the processing is terminated.
  • the coding device 11B and the decoding device 12A can be used by switching between the 2 ⁇ 2 orthogonal conversion mode, the 4 ⁇ 2 orthogonal conversion mode, and the normal orthogonal conversion mode so as to reduce the cost.
  • the orthogonal conversion is performed in the conversion unit of the block size 2 ⁇ 2.
  • the following equation (1) shows the orthogonal transformation performed in the processing unit of the block size 2 ⁇ 2.
  • This equation (1) is called a two-point Hadamard transform, the upper equation of the equation (1) shows a forward orthogonal transform, and the lower equation of the equation (1) is. It shows the orthogonal transform in the opposite direction. Then, according to the equation (1), the predicted residual (x 0 , x 1 ), which is the value to be orthogonally converted, is converted into the conversion coefficient (X 0 , X 1 ), which is the value after the orthogonal conversion. ..
  • a processing unit having a block size of 4 ⁇ 4 is divided into four and an orthogonal conversion is performed in a conversion unit having a block size of 2 ⁇ 2, first, two rows of two points are orthogonally converted in the horizontal direction. , The converted value is subjected to orthogonal conversion of two points in two columns in the vertical direction.
  • the middle part of FIG. 21 shows a state in which orthogonal conversion is performed in conversion units of block size 2 ⁇ 2, and the upper left pixel of block size 2 ⁇ 2, that is, pixel 00, pixel 02, and pixel 20 respectively. , And low frequency components are concentrated in the pixel 22. Therefore, it is preferable to change the scanning order of the quantization conversion coefficient as shown in the lower part of FIG. 21 by utilizing the characteristic that signals are gathered in the upper left of each of the block sizes 2 ⁇ 2.
  • a zigzag Z-shaped straight line bends left and right many times from the lower right to the upper left.
  • the quantization conversion coefficient was scanned in the scan order of (shape).
  • scanning the quantization conversion coefficients in a zigzag order from the lower right to the upper left of each conversion unit is performed by quantizing the corresponding positions.
  • the quantization conversion coefficient is changed so that it is scanned in a scanning order that repeats in a zigzag order from the lower right to the upper left of the conversion unit.
  • the quantization conversion coefficient at the lower right of each conversion unit is scanned in a zigzag manner from the lower right to the upper left for each conversion unit, and then the quantization conversion coefficient at the upper right of each conversion unit is displayed. Scan in a zigzag manner from the lower right to the upper left for each conversion unit. Then, the lower left quantization conversion coefficient of each conversion unit is scanned in a zigzag manner from the lower right to the upper left for each conversion unit, and finally, the upper left quantization conversion coefficient of each conversion unit is converted. Scan from the lower right to the upper left in a zigzag manner.
  • the scan order is such that the pixels with a high possibility of having a small quantization conversion coefficient come first, and the pixels with a high possibility of having a large quantization conversion coefficient come after with the conventional scan order.
  • pixel 33 pixel 13, pixel 31, pixel 11, pixel 23, pixel 03, pixel 21, pixel 01, pixel 32, pixel 12, pixel 30, pixel 10, pixel 22, pixel 02, pixel 20, And the scanning order of pixel 00.
  • the block size 2 ⁇ 2 in the upper left is performed as shown in the middle part of FIG.
  • scanning is performed in the scanning order described with reference to FIG. That is, the conversion unit on the lower right side and the conversion unit on the upper left side are made symmetrical with respect to the diagonal line connecting the upper right and the lower left, and the arrangement of the quantization conversion coefficient in the conversion unit can be changed for each conversion unit.
  • the conversion coefficient after orthogonal conversion is expected to be smaller in the upper left block size 2 ⁇ 2 and larger in the lower right block size 2 ⁇ 2. Therefore, the upper left block size 2x2 and the lower right block size 2x2 are exchanged, and the lower right block size 2x2, which is expected to have a relatively large residual signal, is placed later in the scanning order. By setting, more efficient coding is achieved.
  • the coding unit 29 scans the quantization conversion coefficient in such a scanning order, so that the coding device 11 can further improve the coding efficiency.
  • FIG. 23 is a block diagram showing a configuration example of an embodiment of a computer in which a program for executing the above-mentioned series of processes is installed.
  • the program can be recorded in advance on the hard disk 105 or ROM 103 as a recording medium built in the computer.
  • the program can be stored (recorded) in the removable recording medium 111 driven by the drive 109.
  • a removable recording medium 111 can be provided as so-called package software.
  • examples of the removable recording medium 111 include a flexible disk, a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto Optical) disk, a DVD (Digital Versatile Disc), a magnetic disk, and a semiconductor memory.
  • the program can be downloaded to the computer via a communication network or a broadcasting network and installed on the built-in hard disk 105. That is, for example, the program transfers wirelessly from a download site to a computer via an artificial satellite for digital satellite broadcasting, or transfers to a computer by wire via a network such as LAN (Local Area Network) or the Internet. be able to.
  • LAN Local Area Network
  • the computer includes a CPU (Central Processing Unit) 102, and an input/output interface 110 is connected to the CPU 102 via a bus 101.
  • CPU Central Processing Unit
  • the CPU 102 executes a program stored in the ROM (Read Only Memory) 103 accordingly. .. Alternatively, the CPU 102 loads the program stored in the hard disk 105 into the RAM (Random Access Memory) 104 and executes it.
  • ROM Read Only Memory
  • the CPU 102 performs processing according to the above-mentioned flowchart or processing performed according to the above-mentioned block diagram configuration. Then, the CPU 102 outputs the processing result from the output unit 106, transmits it from the communication unit 108, or records it on the hard disk 105, if necessary, via the input / output interface 110, for example.
  • the input unit 107 is composed of a keyboard, a mouse, a microphone, and the like. Further, the output unit 106 is composed of an LCD (Liquid Crystal Display), a speaker, or the like.
  • LCD Liquid Crystal Display
  • the processing performed by the computer according to the program does not necessarily have to be performed in chronological order in the order described as the flowchart. That is, the processing performed by the computer according to the program also includes processing executed in parallel or individually (for example, parallel processing or processing by an object).
  • the program may be processed by one computer (processor) or may be distributed by a plurality of computers. Further, the program may be transferred to a distant computer and executed.
  • 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 a device in which a plurality of modules are housed in one housing are both systems. ..
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configurations described above as a plurality of devices (or processing units) may be collectively configured as one device (or processing unit).
  • a configuration other than the above may be added to the configuration of each device (or each processing unit).
  • a part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit). ..
  • this technology can have a cloud computing configuration in which one function is shared by a plurality of devices via a network and jointly processed.
  • the above-mentioned program can be executed in any device.
  • the device may have necessary functions (functional blocks, etc.) so that necessary information can be obtained.
  • each step described in the above flowchart can be executed by one device or can be shared and executed 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 processes of a plurality of steps.
  • the processes described as a plurality of steps can be collectively executed as one step.
  • the processing of the steps for describing the program may be executed in chronological order according to the order described in this specification, or may be called in parallel or called. It may be executed individually at a necessary timing such as time. That is, as long as there is no contradiction, the processing of each step may be executed in an order different from the above-mentioned order. Further, the processing of the step for writing this program may be executed in parallel with the processing of another program, or may be executed in combination with the processing of another program.
  • the present technology can also have the following configurations.
  • an orthogonal conversion unit that obtains the conversion coefficient by orthogonally converting the predicted residual obtained in the processing unit to be encoded in a conversion unit smaller than the processing unit.
  • a quantization unit that quantizes the conversion coefficient in the processing unit to obtain the quantization conversion coefficient
  • a coding device including a coding unit that encodes the quantization conversion coefficient in the processing unit and outputs a bit stream.
  • the quantization unit and the coding unit perform processing in a processing unit having a block size of 4 ⁇ 4.
  • the coding device wherein the orthogonal conversion unit performs orthogonal conversion in conversion units having a block size of 2 ⁇ 2 or a block size of 4 ⁇ 2.
  • Encoding device As the predetermined condition, one of the block size 4 ⁇ 4, the intra prediction, and the specific intra prediction mode is used as the processing unit of the coding according to the above (3).
  • the control unit compares the first cost with the second cost, determines that the orthogonal conversion is performed in the conversion unit when the second cost is small, and sets a flag indicating the determination result.
  • the work amount calculation unit has a first cost required when performing orthogonal conversion with a block size of 4 ⁇ 4, a second cost required when performing orthogonal conversion with a block size of 2 ⁇ 2, and Calculate the third cost required when orthogonal conversion is performed with a block size of 4 ⁇ 2.
  • the control unit determines that the orthogonal conversion is performed in the conversion unit of the block size, which is the smallest of the first cost, the second cost, and the third cost, and determines the determination result.
  • the encoding device according to (5) above, wherein the indicated flag is put into the bit stream and transmitted.
  • the coding unit scans the quantization conversion coefficient in a zigzag order from the lower right to the upper left of each conversion unit, and the conversion is performed for each of the quantization conversion coefficients at the corresponding positions.
  • the coding apparatus according to any one of (1) to (6) above, wherein coding is performed in a scanning order that repeats in a zigzag order from the lower right to the upper left of the unit.
  • the coding unit replaces the conversion unit on the lower right side and the conversion unit on the upper left side with the diagonal line connecting the upper right and the lower left symmetrical, and then replaces each conversion unit, and then the scan order.
  • the coding apparatus according to (7) above.
  • the encoding device When encoding an image, the predicted residuals obtained in the processing unit to be encoded are orthogonally converted in conversion units smaller than the processing unit to obtain the conversion coefficient. Quantizing the conversion coefficient in the processing unit to obtain the quantization conversion coefficient, A coding method including encoding the quantization conversion coefficient in the processing unit and outputting a bit stream. (10) A decoding unit that decodes a bit stream encoded in a processing unit to be encoded in the processing unit to obtain a quantization conversion coefficient.
  • An inverse quantization unit that obtains the conversion coefficient by dequantizing the quantization conversion coefficient in the processing unit
  • a decoding device including an inverse orthogonal conversion unit for obtaining a predicted residual by inversely orthogonally converting the conversion coefficient in a conversion unit smaller than the processing unit.
  • the decoding unit and the inverse quantization unit perform processing in processing units having a block size of 4 ⁇ 4.
  • the control unit is a flag included in the bit stream, and according to a flag indicating a determination result indicating whether or not orthogonal conversion is performed in a conversion unit smaller than the processing unit of the coding on the coding side.
  • the decoding device which determines whether or not the inverse orthogonal conversion unit performs inverse orthogonal conversion in a conversion unit smaller than the coding processing unit.
  • the control unit is a flag included in the bit stream, and either performs orthogonal conversion with a block size of 4 ⁇ 4 on the coding side, performs orthogonal conversion with a block size of 2 ⁇ 2, or performs orthogonal conversion with a block size of 4 ⁇ 2.
  • Decryptor Obtaining the quantization conversion coefficient by decoding the bitstream encoded in the processing unit to be encoded in the processing unit.
  • the conversion coefficient is obtained by inversely quantizing the quantization conversion coefficient in the processing unit.
  • a decoding method including obtaining a predicted residual by inversely orthogonally converting the conversion coefficient in a conversion unit smaller than the processing unit.
  • 11 Encoding device 12 Decoding device, 21 Arithmetic unit, 22 Orthogonal conversion unit, 23 Quantization unit, 24 Inverse quantization unit, 25 Inverse orthogonal conversion unit, 26 Arithmetic unit, 27 Frame memory, 28 Prediction unit, 29 Coding Unit, 30 control unit, 31 workload calculation unit, 41 decoding unit, 42 inverse quantization unit, 43 inverse orthogonal conversion unit, 44 calculation unit, 45 frame memory, 46 prediction unit, 47 control unit

Landscapes

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

Abstract

The present disclosure relates to an image encoding device, an image encoding method, an image decoding device, and an image decoding method which enhance image quality and encoding efficiency while avoiding a reduction in processing speed. According to the present invention, an orthogonal transform unit obtains, in transform units of a block size 2×2, transform coefficients by performing orthogonal transform on a prediction residual, which is obtained in a block size 4×4 that is a processing unit to be encoded when an image is encoded. In addition, a quantization unit quantizes the transform coefficients in processing units of the block size 4×4, and obtains quantized transform coefficients. The encoding unit encodes the quantized transform coefficients in processing units of the block size 4×4, and outputs a bitstream. The present technology can be applied to, for example, an encoding device which performs encoding by using intra prediction.

Description

画像符号化装置、画像符号化方法、画像復号装置、および画像復号方法Image coding device, image coding method, image decoding device, and image decoding method
 本開示は、画像符号化装置、画像符号化方法、画像復号装置、および画像復号方法に関し、特に、処理速度の低下を回避しつつ画質および符号化効率の向上を図ることができるようにした画像符号化装置、画像符号化方法、画像復号装置、および画像復号方法に関する。 The present disclosure relates to an image encoding device, an image coding method, an image decoding device, and an image decoding method, and in particular, an image in which image quality and coding efficiency can be improved while avoiding a decrease in processing speed. The present invention relates to a coding device, an image coding method, an image decoding device, and an image decoding method.
 ITU-T(International Telecommunication Union Telecommunication Standardization Sector)では、次世代ビデオ符号化の開発を進めているJVET(Joint Video Exploration Team)において、非特許文献1に開示されているように、多彩なビデオコーディングを提案している。 In ITU-T (International Telecommunication Union Telecommunication Standardization Sector), JVET (Joint Video Exploration Team), which is developing next-generation video coding, provides various video coding as disclosed in Non-Patent Document 1. is suggesting.
 ところで、従来、入力画像にインパルス信号が含まれていると、符号化を行う処理の対象となる処理単位の全体にインパルス信号の影響が広がってしまい、画像の再現性が低下するだけでなく、符号化効率が低下することが懸念される。これに対し、符号化を行う処理の対象となる処理単位を小さくした場合には、インパルス信号の影響の広がりを抑えて画質の劣化を抑制して符号化効率を改善することができると考えられる。しかしながら、この場合、符号化および復号を行う際の処理速度が低下してしまう。 By the way, conventionally, when an input image contains an impulse signal, the influence of the impulse signal spreads over the entire processing unit to be processed for coding, which not only reduces the reproducibility of the image but also deteriorates the reproducibility of the image. There is a concern that the coding efficiency will decrease. On the other hand, when the processing unit to be processed for coding is reduced, it is considered that the spread of the influence of the impulse signal can be suppressed, the deterioration of the image quality can be suppressed, and the coding efficiency can be improved. .. However, in this case, the processing speed at the time of encoding and decoding is reduced.
 本開示は、このような状況に鑑みてなされたものであり、処理速度の低下を回避しつつ画質および符号化効率の向上を図ることができるようにするものである。 This disclosure has been made in view of such a situation, and is intended to enable improvement of image quality and coding efficiency while avoiding a decrease in processing speed.
 本開示の一側面の符号化装置は、画像を符号化する際に、符号化の対象となる処理単位で求められる予測残差を、その処理単位よりも小さな変換単位で直交変換して変換係数を求める直交変換部と、前記変換係数を、前記処理単位で量子化して量子化変換係数を求める量子化部と、前記量子化変換係数を、前記処理単位で符号化してビットストリームを出力する符号化部とを備える。 The coding apparatus of one aspect of the present disclosure converts the predicted residual obtained in the processing unit to be encoded by orthogonal conversion in a conversion unit smaller than the processing unit when encoding the image, and has a conversion coefficient. The orthogonal conversion unit for obtaining the above, the quantization unit for obtaining the quantization conversion coefficient by quantizing the conversion coefficient in the processing unit, and the code for encoding the quantization conversion coefficient in the processing unit and outputting a bit stream. It is equipped with a conversion unit.
 本開示の一側面の符号化方法は、符号化装置が、画像を符号化する際に、符号化の対象となる処理単位で求められる予測残差を、その処理単位よりも小さな変換単位で直交変換して変換係数を求めることと、前記変換係数を、前記処理単位で量子化して量子化変換係数を求めることと、前記量子化変換係数を、前記処理単位で符号化してビットストリームを出力することとを含む。 In the coding method of one aspect of the present disclosure, when the coding apparatus encodes an image, the predicted residuals obtained in the processing unit to be encoded are orthogonal to each other in a conversion unit smaller than the processing unit. The conversion coefficient is obtained by conversion, the conversion coefficient is quantized in the processing unit to obtain the quantization conversion coefficient, and the quantization conversion coefficient is encoded in the processing unit to output a bit stream. Including that.
 本開示の一側面においては、画像を符号化する際に、符号化の対象となる処理単位で求められる予測残差が、その処理単位よりも小さな変換単位で直交変換されて変換係数が求められ、その変換係数が、処理単位で量子化されて量子化変換係数が求められ、その量子化変換係数が、前記処理単位で符号化されてビットストリームが出力される。 In one aspect of the present disclosure, when encoding an image, the predicted residual obtained in the processing unit to be encoded is orthogonally converted in a conversion unit smaller than the processing unit to obtain a conversion coefficient. , The conversion coefficient is quantized in the processing unit to obtain the quantization conversion coefficient, and the quantization conversion coefficient is encoded in the processing unit to output a bit stream.
 本開示の一側面の復号装置は、符号化の対象となる処理単位で符号化されたビットストリームを、前記処理単位で復号して量子化変換係数を取得する復号部と、前記量子化変換係数を、前記処理単位で復号して変換係数を求める逆量子化部と、前記変換係数を、前記処理単位よりも小さな変換単位で逆直交変換して予測残差を求める逆直交変換部とを備える。 The decoding device of one aspect of the present disclosure includes a decoding unit that decodes a bit stream encoded in a processing unit to be encoded in the processing unit to obtain a quantization conversion coefficient, and the quantization conversion coefficient. Is provided with an inverse quantization unit for obtaining a conversion coefficient by decoding in the processing unit, and an inverse orthogonal conversion unit for obtaining a predicted residual by inversely converting the conversion coefficient in a conversion unit smaller than the processing unit. ..
 本開示の一側面の復号方法は、復号装置が、符号化の対象となる処理単位で符号化されたビットストリームを、前記処理単位で復号して量子化変換係数を取得することと、前記量子化変換係数を、前記処理単位で復号して変換係数を求めることと、前記変換係数を、前記処理単位よりも小さな変換単位で逆直交変換して予測残差を求めることとを含む。 The decoding method of one aspect of the present disclosure is that the decoding apparatus decodes a bit stream encoded in a processing unit to be encoded in the processing unit to obtain a quantization conversion coefficient, and the quantum The conversion coefficient is decoded in the processing unit to obtain the conversion coefficient, and the conversion coefficient is inversely orthogonalized in a conversion unit smaller than the processing unit to obtain the predicted residual.
 本開示の一側面においては、符号化の対象となる処理単位で符号化されたビットストリームが、処理単位で復号されて量子化変換係数が取得され、その量子化変換係数が、処理単位で逆量子化されて変換係数が求められ、その変換係数が、処理単位よりも小さな変換単位で逆直交変換されて予測残差が求められる。 In one aspect of the present disclosure, a bit stream encoded in a processing unit to be encoded is decoded in the processing unit to obtain a quantization conversion coefficient, and the quantization conversion coefficient is reversed in the processing unit. The conversion coefficient is obtained by quantization, and the conversion coefficient is inversely orthogonalized in a conversion unit smaller than the processing unit to obtain the predicted residual.
ブロックサイズ4×4の処理単位と、参照画素との関係を示す図である。It is a figure which shows the relationship between the processing unit of a block size 4 × 4 and a reference pixel. ブロックサイズ4×4の変換単位で直交変換を行う符号化について説明する図である。It is a figure explaining the coding which performs orthogonal conversion in the conversion unit of block size 4 × 4. ブロックサイズ2×2の変換単位で直交変換を行う符号化について説明する図である。It is a figure explaining the coding which performs orthogonal conversion in the conversion unit of block size 2 × 2. ブロックサイズ4×2の変換単位で直交変換を行う符号化について説明する図である。It is a figure explaining the coding which performs orthogonal conversion in the conversion unit of block size 4 × 2. 符号化装置の第1の構成例を示すブロック図である。It is a block diagram which shows the 1st configuration example of a coding apparatus. データの流れについて説明する図である。It is a figure explaining the flow of data. 復号装置の第1の構成例を示すブロック図である。It is a block diagram which shows the 1st configuration example of a decoding apparatus. 符号化処理の第1の処理例を説明するフローチャートである。It is a flowchart explaining the 1st processing example of a coding process. 復号処理の第1の処理例を説明するフローチャートである。It is a flowchart explaining the 1st process example of a decoding process. 符号化装置の第2の構成例を示すブロック図である。It is a block diagram which shows the 2nd structural example of a coding apparatus. 復号装置の第2の構成例を示すブロック図である。It is a block diagram which shows the 2nd configuration example of a decoding apparatus. 符号化処理の第2の処理例を説明するフローチャートである。It is a flowchart explaining the 2nd processing example of the coding processing. 復号処理の第2の処理例を説明するフローチャートである。It is a flowchart explaining the 2nd processing example of the decoding processing. 符号化装置の第3の構成例を示すブロック図である。It is a block diagram which shows the 3rd structural example of a coding apparatus. 符号化処理の第3の処理例を説明するフローチャートである。It is a flowchart explaining the 3rd processing example of the coding processing. 通常直交変換モードにおけるコスト算出処理を説明するフローチャートである。It is a flowchart explaining the cost calculation process in a normal orthogonal conversion mode. 2×2直交変換モードにおけるコスト算出処理を説明するフローチャートである。It is a flowchart explaining the cost calculation process in a 2 × 2 orthogonal conversion mode. 復号処理の第3の処理例を説明するフローチャートである。It is a flowchart explaining the 3rd processing example of the decoding processing. 符号化処理の第4の処理例を説明するフローチャートである。It is a flowchart explaining the 4th processing example of a coding process. 復号処理の第4の処理例を説明するフローチャートである。It is a flowchart explaining the 4th processing example of the decoding processing. 量子化変換係数のスキャンの改善方法の一例について説明する図である。It is a figure explaining an example of the improvement method of the scan of the quantization conversion coefficient. 量子化変換係数のスキャンの改善方法の他の例について説明する図である。It is a figure explaining another example of the improvement method of the scan of the quantization conversion coefficient. 本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。It is a block diagram which shows the structural example of one Embodiment of the computer to which this technique is applied.
 以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。 Hereinafter, specific embodiments to which the present technology is applied will be described in detail with reference to the drawings.
 <ブロックサイズと画質および符号化効率との関係>
 図1乃至図5を参照して、ブロックサイズと画質および符号化効率との関係について説明する。
<Relationship between block size and image quality and coding efficiency>
The relationship between the block size, the image quality, and the coding efficiency will be described with reference to FIGS. 1 to 5.
 例えば、イントラ予測では、既に再構成された復号画像の画素が参照される。そして、現時点で符号化の対象となっている処理単位の画素も、その後の処理単位を対象として符号化が行われるときにイントラ予測で参照される可能性がある。 For example, in the intra prediction, the pixels of the decoded image that has already been reconstructed are referred to. Then, the pixel of the processing unit that is the target of coding at the present time may also be referred to in the intra prediction when the coding is performed for the subsequent processing unit.
 即ち、図1に示すように、ブロックサイズ4×4の処理単位でイントラ予測が行われる場合、その処理単位の左側および上側にある既に再構成された復号画像の画素が、参照画素として用いられる。そして、このブロックサイズ4×4で再構成された復号画像の画素も、その後において行われるイントラ予測で参照される可能性がある。 That is, as shown in FIG. 1, when intra-prediction is performed in a processing unit having a block size of 4 × 4, the pixels of the already reconstructed decoded image on the left and upper sides of the processing unit are used as reference pixels. .. Then, the pixels of the decoded image reconstructed with the block size of 4 × 4 may also be referred to in the intra prediction performed thereafter.
 また、従来、イントラ予測を行う際の符号化の処理単位と同じブロックサイズで直交変換が行われている。従って、例えば、ブロックサイズ4×4の処理単位で符号化が行われる場合には、ブロックサイズ4×4の変換単位で直交変換が行われることになる。 Also, conventionally, orthogonal conversion is performed with the same block size as the coding processing unit when performing intra prediction. Therefore, for example, when the coding is performed in the processing unit of the block size 4 × 4, the orthogonal conversion is performed in the conversion unit of the block size 4 × 4.
 図2を参照して、ブロックサイズ4×4の変換単位で直交変換を行う符号化について説明する。 With reference to FIG. 2, coding for performing orthogonal conversion in a conversion unit having a block size of 4 × 4 will be described.
 例えば、符号化の対象となる入力画像のブロックサイズ4×4の処理単位の画素のうち、1画素(図2に示す入力画像においてハッチングが施されている画素)だけが極端に値の大きなインパルス信号と称される入力があったとする。 For example, of the pixels of the processing unit having a block size of 4 × 4 of the input image to be encoded, only one pixel (the pixel hatched in the input image shown in FIG. 2) has an extremely large value. Suppose there is an input called a signal.
 従って、この入力画像とイントラ予測画像との差分である予測残差では、イントラ予測においてインパルス信号を予測することが困難であることに起因して、その1画素の値がインパルス状に高くなってしまう。 Therefore, in the prediction residual, which is the difference between the input image and the intra prediction image, the value of one pixel becomes high in the form of an impulse because it is difficult to predict the impulse signal in the intra prediction. It ends up.
 そして、従来、このような予測残差に対してブロックサイズ4×4の変換単位で直交変換が行われる。例えば、直交変換として主に、離散コサイン変換(DCT:Discrete Cosine Transform)や離散サイン変換(DST:Discrete Sine Transform)などが用いられる。 And, conventionally, orthogonal conversion is performed for such a predicted residual in a conversion unit of a block size of 4 × 4. For example, discrete cosine transform (DCT: Discrete Cosine Transform) and discrete sine transform (DST: Discrete Sine Transform) are mainly used as orthogonal transforms.
 ここで、離散コサイン変換や離散サイン変換などを用いて、インパルス状に高い値が含まれる予測残差を直交変換すると、直交変換によって得られる変換係数において、インパルス信号の影響が、広い範囲に広がることが知られている。図2に示す例では、インパルス信号の影響が最も広範囲に広がるケースとして、ブロックサイズ4×4の処理単位全体にインパルス信号の影響が広がった状態が示されている。なお、通常、直交変換は、直交変換後の左上など特定の位置に信号を集中させることを目的として行われており、ブロックサイズ4×4の処理単位全体にインパルス信号が広範囲に影響を及ぼすことは好ましいものではない。 Here, when the predicted residual containing a high value in the impulse shape is orthogonally transformed by using the discrete cosine transform or the discrete sine transform, the influence of the impulse signal spreads over a wide range in the conversion coefficient obtained by the orthogonal transform. It is known. In the example shown in FIG. 2, as a case where the influence of the impulse signal spreads most widely, a state in which the influence of the impulse signal spreads over the entire processing unit having a block size of 4 × 4 is shown. Normally, the orthogonal conversion is performed for the purpose of concentrating the signal at a specific position such as the upper left after the orthogonal conversion, and the impulse signal affects a wide range over the entire processing unit of the block size 4 × 4. Is not preferable.
 その後、変換係数に対して量子化が行われることによって得られる量子化変換係数では、各画素を量子化することで量子化誤差が生じるため、ブロックサイズ4×4の処理単位全体に量子化誤差が広がることになる。このとき、直交変換後の左上など特定の位置に信号が集中していれば、その他の信号は小さくできることが期待できるので量子化後に量子化誤差が小さくできるのに対し、ブロックサイズ4×4の処理単位全体に量子化誤差が広がった状態では量子化誤差を小さくするという利点を得ることができなくなる。 After that, in the quantization conversion coefficient obtained by performing quantization on the conversion coefficient, a quantization error occurs by quantizing each pixel, so that the quantization error occurs in the entire processing unit having a block size of 4 × 4. Will spread. At this time, if the signals are concentrated at a specific position such as the upper left after orthogonal conversion, it can be expected that other signals can be reduced, so that the quantization error can be reduced after quantization, whereas the block size is 4 × 4. When the quantization error spreads over the entire processing unit, the advantage of reducing the quantization error cannot be obtained.
 そして、量子化変換係数に対する符号化では、一般的に、図示するような矢印で示されるジグザグ・スキャンと称されるスキャン順序で量子化変換係数がスキャンされる。このとき、ブロックサイズ4×4の処理単位全体に量子化誤差が広がっているため、ハッチングが施されている多くの量子化変換係数を符号化することになる。このため、動画像を圧縮するという目的において、ここでは符号量が多いため非効率な信号伝送となってしまう。これに対し、例えば、上述したように直交変換後の左上など特定の位置に信号が集中している状態では、多くの係数が0になり、0の符号量が小さいことから効率的に符号化ができる。 Then, in the coding for the quantization conversion coefficient, the quantization conversion coefficient is generally scanned in a scan order called a zigzag scan indicated by an arrow as shown in the figure. At this time, since the quantization error spreads over the entire processing unit having a block size of 4 × 4, many hatched quantization conversion coefficients are encoded. Therefore, for the purpose of compressing the moving image, the amount of code is large here, resulting in inefficient signal transmission. On the other hand, for example, in a state where the signal is concentrated at a specific position such as the upper left after orthogonal conversion as described above, many coefficients become 0 and the code amount of 0 is small, so that the coding is efficient. Can be done.
 また、量子化された予測残差に対する逆量子化が行われて、逆量子化された変換係数が求められる。 In addition, the inverse quantization of the quantized predicted residual is performed, and the inverse quantized conversion coefficient is obtained.
 さらに、逆量子化された変換係数に対する逆直交変換が行われることにより、逆直交変換された予測残差が求められる。このとき、逆直交変換された予測残差では、インパルス信号の含まれていた画素を中心として緩やかに周囲の値が高くなるように量子化誤差が広がった状態となる。 Furthermore, by performing inverse orthogonal transformation on the inverse quantized conversion coefficient, the predicted residual that has been inversely orthogonally transformed can be obtained. At this time, in the predicted residual that has been inversely orthogonally converted, the quantization error is widened so that the surrounding values gradually increase around the pixel containing the impulse signal.
 そして、逆直交変換された予測残差とイントラ予測画像とを加算することによって入力画像が復号されて、再構成された復号画像が取得される。従って、再構成された復号画像において、入力画像に含まれていたインパルス信号が、その画素を中心として緩やかに周囲に広がった状態となってしまい、画像の再現性が低下することになる。 Then, the input image is decoded by adding the inverse orthogonally converted predicted residual and the intra-predicted image, and the reconstructed decoded image is acquired. Therefore, in the reconstructed decoded image, the impulse signal included in the input image is gradually spread around the pixel as the center, and the reproducibility of the image is deteriorated.
 即ち、ブロックサイズ4×4の変換単位で直交変換を行う場合には、入力画像に含まれていたインパルス信号の影響がブロックサイズ4×4の処理単位全体に広がってしまい、復号画像の画質が悪化することになる。例えば、Peak signal-to-noise ratio (PSNR) と呼ばれる信号の品質を示す指標においても、信号の品質が悪化することが示されている。 That is, when the orthogonal conversion is performed in the conversion unit of the block size 4 × 4, the influence of the impulse signal included in the input image spreads over the entire processing unit of the block size 4 × 4, and the image quality of the decoded image is improved. It will get worse. For example, a signal quality index called Peak signal-to-noise ratio (PSNR) has also been shown to deteriorate the signal quality.
 このように、例えば、入力画像にインパルス信号が含まれている場合、直交変換に期待されるエネルギーの集中という効果が得られなくなってしまい、逆に、エネルギーが拡散することになる。このため、上述したように画質が劣化するだけでなく、ビットストリームに入れなければならないレベル信号の情報量が増大するため、符号化効率が低下することが懸念される。 In this way, for example, when the input image contains an impulse signal, the effect of energy concentration expected for orthogonal conversion cannot be obtained, and conversely, the energy is diffused. Therefore, not only the image quality is deteriorated as described above, but also the amount of information of the level signal that must be input to the bit stream is increased, so that there is a concern that the coding efficiency is lowered.
 そこで、図3および図4を参照して説明するように、直交変換を行う変換単位を、符号化を行う処理単位より小さくすることで、例えば、インパルス信号の影響の広がりを抑えて、画質および符号化効率の低下の抑制を図ることができると期待される。 Therefore, as described with reference to FIGS. 3 and 4, by making the conversion unit for performing orthogonal conversion smaller than the processing unit for encoding, for example, the spread of the influence of the impulse signal is suppressed, and the image quality and image quality are improved. It is expected that the decrease in coding efficiency can be suppressed.
 図3を参照して、ブロックサイズ2×2の変換単位で直交変換を行う符号化について説明する。 With reference to FIG. 3, coding for performing orthogonal conversion in a conversion unit having a block size of 2 × 2 will be described.
 図2に示した例と同様に、ブロックサイズ4×4を符号化の処理単位として、1画素だけが極端に値の大きなインパルス信号が含まれる入力画像から、その1画素の値がインパルス状に高くなるような予測残差が取得される。 Similar to the example shown in FIG. 2, the block size 4 × 4 is used as a coding processing unit, and the value of one pixel is converted into an impulse from an input image containing an impulse signal having an extremely large value in only one pixel. A higher predicted residual is obtained.
 そして、このような予測残差に対して、ブロックサイズ4×4を符号化の処理単位を分割して、ブロックサイズ2×2の変換単位で直交変換が行われる。この場合、インパルス信号の影響は、インパルス信号が含まれている右下のブロックサイズ2×2の変換単位内に広がるだけとなる。このように、予測残差におけるインパルス信号の影響の拡散は、図2の例と比較して、狭い範囲に抑えられることになる。 Then, for such a predicted residual, the processing unit for encoding the block size 4 × 4 is divided, and the orthogonal conversion is performed in the conversion unit having the block size 2 × 2. In this case, the influence of the impulse signal only spreads within the conversion unit of the lower right block size 2 × 2 including the impulse signal. As described above, the diffusion of the influence of the impulse signal on the predicted residual is suppressed to a narrow range as compared with the example of FIG.
 その後、変換係数に対して、ブロックサイズ4×4の処理単位で量子化が行われ、この量子化によって得られる量子化変換係数においても、量子化誤差は、右下のブロックサイズ2×2の範囲内で生じることになる。 After that, the conversion coefficient is quantized in processing units of block size 4 × 4, and even in the quantization conversion coefficient obtained by this quantization, the quantization error is the block size 2 × 2 at the lower right. It will occur within the range.
 そして、量子化変換係数に対する符号化では、図2に示した例と同様のスキャン順序で量子化変換係数がスキャンされる。このとき、右下のブロックサイズ2×2の4つだけに量子化変換係数があることより、図2に示した例のようにブロックサイズ4×4の全てに量子化変換係数がある場合と比較して、送信しなければならない符号量を削減することができる。即ち、少ない符号量とすることができることより、動画像を圧縮するという目的において高効率化を図ることができる。 Then, in the coding for the quantization conversion coefficient, the quantization conversion coefficient is scanned in the same scan order as the example shown in FIG. At this time, since there are quantization conversion coefficients only in the four block sizes 2 × 2 at the lower right, there are cases where all of the block sizes 4 × 4 have quantization conversion coefficients as shown in the example shown in FIG. By comparison, the amount of code that must be transmitted can be reduced. That is, since the code amount can be small, high efficiency can be achieved for the purpose of compressing the moving image.
 また、量子化された予測残差に対する逆量子化が行われて、逆量子化された変換係数が求められる。 In addition, the inverse quantization of the quantized predicted residual is performed, and the inverse quantized conversion coefficient is obtained.
 さらに、逆量子化された変換係数に対する逆直交変換が行われることにより、逆直交変換された予測残差が求められる。このとき、ブロックサイズ2×2の変換単位で直交変換が行われることで、逆直交変換された予測残差では、量子化誤差が右下のブロックサイズ2×2の範囲に抑えられることになる。 Furthermore, by performing inverse orthogonal transformation on the inverse quantized conversion coefficient, the predicted residual that has been inversely orthogonally transformed can be obtained. At this time, since the orthogonal conversion is performed in the conversion unit of the block size 2 × 2, the quantization error is suppressed to the range of the block size 2 × 2 at the lower right in the predicted residual obtained by the inverse orthogonal conversion. ..
 そして、逆直交変換された予測残差とイントラ予測画像とを加算することによって、入力画像が復号され、再構成された復号画像が取得される。従って、再構成された復号画像において、入力画像に含まれていたインパルス信号の影響は、右下のブロックサイズ2×2の範囲に留まっており、図2の例と比較して、復号画像の画質の向上を図ることができる。例えば、Peak signal-to-noise ratio (PSNR) と呼ばれる信号の品質を示す指標においても、信号の品質が改善することが示されている。 Then, by adding the predicted residuals that have been inversely orthogonally converted and the intra-predicted image, the input image is decoded and the reconstructed decoded image is acquired. Therefore, in the reconstructed decoded image, the influence of the impulse signal included in the input image is limited to the block size 2 × 2 in the lower right, and the decoded image is compared with the example of FIG. The image quality can be improved. For example, a signal quality index called Peak signal-to-noise ratio (PSNR) has also been shown to improve signal quality.
 図4を参照して、ブロックサイズ4×2の変換単位で直交変換を行う符号化について説明する。 With reference to FIG. 4, coding for performing orthogonal conversion in a conversion unit having a block size of 4 × 2 will be described.
 図4に示すように、ブロックサイズ4×2の変換単位で直交変換を行った場合でも、ブロックサイズ2×2の変換単位で直交変換(図3参照)を行った場合と同様に、ブロックサイズ4×4の変換単位で直交変換(図2参照)を行った場合と比較して、入力画像に含まれていたインパルス信号の影響の広がりを抑えることができる。即ち、ブロックサイズ4×2の変換単位で直交変換を行うことによって、画質および符号化効率の低下の抑制を図ることができる。 As shown in FIG. 4, even when the orthogonal conversion is performed in the conversion unit of the block size 4 × 2, the block size is the same as the case where the orthogonal conversion is performed in the conversion unit of the block size 2 × 2 (see FIG. 3). Compared with the case where orthogonal conversion (see FIG. 2) is performed in 4 × 4 conversion units, it is possible to suppress the spread of the influence of the impulse signal included in the input image. That is, by performing orthogonal conversion in conversion units having a block size of 4 × 2, it is possible to suppress deterioration in image quality and coding efficiency.
 図3および図4を参照して説明したように、ブロックサイズ4×4の処理単位で符号化を行う際に、それよりも小さなブロックサイズ2×2またはブロックサイズ4×2の変換単位で直交変換を行うことで、入力画像に含まれていたインパルス信号の影響の広がりを抑えることができる。 As described with reference to FIGS. 3 and 4, when encoding is performed in a processing unit having a block size of 4 × 4, it is orthogonal to a conversion unit having a smaller block size of 2 × 2 or a block size of 4 × 2. By performing the conversion, it is possible to suppress the spread of the influence of the impulse signal included in the input image.
 従って、本実施の形態の符号化および復号では、符号化および復号の処理の対象となる処理単位よりも小さなブロックサイズの変換単位で直交変換を行うことにより、インパルス信号が含まれる入力画像に対しても画質および符号化効率の低下が回避される。このとき、本実施の形態の符号化および復号では、符号化および復号の処理の対象となる処理単位そのものを小さなブロックサイズにする方法と比較して、後述するように、処理速度の低下を回避することができる。 Therefore, in the coding and decoding of the present embodiment, the input image including the impulse signal is subjected to orthogonal conversion by performing orthogonal conversion in a conversion unit having a block size smaller than the processing unit to be processed for coding and decoding. However, deterioration of image quality and coding efficiency is avoided. At this time, in the coding and decoding of the present embodiment, as described later, a decrease in processing speed is avoided as compared with a method in which the processing unit itself to be processed for coding and decoding is made into a small block size. can do.
 <符号化装置および復号装置の第1の構成例>
 図5は、本技術を適用した符号化装置の第1の実施の形態の構成例を示すブロック図である。
<First Configuration Example of Encoding Device and Decoding Device>
FIG. 5 is a block diagram showing a configuration example of a first embodiment of a coding apparatus to which the present technology is applied.
 図5に示すように、符号化装置11は、演算部21、直交変換部22、量子化部23、逆量子化部24、逆直交変換部25、演算部26、フレームメモリ27、予測部28、および符号化部29を備えて構成される。 As shown in FIG. 5, the coding apparatus 11 includes a calculation unit 21, an orthogonal conversion unit 22, a quantization unit 23, an inverse quantization unit 24, an inverse orthogonal conversion unit 25, a calculation unit 26, a frame memory 27, and a prediction unit 28. , And a coding unit 29.
 演算部21は、入力されるフレーム単位の動画像であるピクチャを順に符号化対象とし、符号化対象のピクチャから符号化の処理単位に従った画素を、符号化対象の入力画像として取得する。例えば、第1の実施の形態では、演算部21は、ブロックサイズ4×4の処理単位の画素を符号化対象の入力画像として取得する。そして、演算部21は、その入力画像から、予測部28から供給されるイントラ予測画像を減算することにより求められる予測残差を、直交変換部22に供給する。 The calculation unit 21 sequentially targets the pictures that are the moving images of the input frame unit as the coding target, and acquires the pixels according to the coding processing unit from the coding target picture as the input image of the coding target. For example, in the first embodiment, the calculation unit 21 acquires pixels of a processing unit having a block size of 4 × 4 as an input image to be encoded. Then, the calculation unit 21 supplies the orthogonal conversion unit 22 with the prediction residual obtained by subtracting the intra prediction image supplied from the prediction unit 28 from the input image.
 直交変換部22は、演算部21から供給される予測残差に対する直交変換処理を行い、変換係数を導出して量子化部23に供給する。このとき、直交変換部22は、図3を参照して上述したように、ブロックサイズ4×4の処理単位を4つに分割し、ブロックサイズ2×2の変換単位で直交変換を4回行う。または、直交変換部22は、図4を参照して上述したように、ブロックサイズ4×4の処理単位を2つに分割し、ブロックサイズ4×2の変換単位で直交変換を2回行う。 The orthogonal conversion unit 22 performs orthogonal conversion processing on the predicted residual supplied from the calculation unit 21, derives the conversion coefficient, and supplies it to the quantization unit 23. At this time, as described above with reference to FIG. 3, the orthogonal conversion unit 22 divides the processing unit of the block size 4 × 4 into four, and performs the orthogonal conversion four times in the conversion unit of the block size 2 × 2. .. Alternatively, as described above with reference to FIG. 4, the orthogonal conversion unit 22 divides the processing unit of the block size 4 × 4 into two, and performs the orthogonal conversion twice in the conversion unit of the block size 4 × 2.
 量子化部23は、直交変換部22から供給される変換係数に対する量子化を行い、ブロックサイズ4×4の処理単位で量子化変換係数を導出して逆量子化部24および符号化部29に供給する。 The quantization unit 23 performs quantization with respect to the conversion coefficient supplied from the orthogonal conversion unit 22, derives the quantization conversion coefficient in a processing unit of block size 4 × 4, and causes the inverse quantization unit 24 and the coding unit 29 to derive the quantization conversion coefficient. Supply.
 逆量子化部24は、量子化部23から供給される量子化変換係数に対する逆量子化を行い、即ち、量子化部23による量子化の逆処理を行い、ブロックサイズ4×4の処理単位で逆量子化された変換係数を導出して逆直交変換部25に供給する。 The inverse quantization unit 24 performs inverse quantization with respect to the quantization conversion coefficient supplied from the quantization unit 23, that is, reverses the quantization by the quantization unit 23, and in a processing unit of block size 4 × 4. The inverse quantized conversion coefficient is derived and supplied to the inverse orthogonal conversion unit 25.
 逆直交変換部25は、逆量子化部24から供給される逆量子化された変換係数に対する逆直交変換を行い、即ち、直交変換部22による直交変換処理の逆処理を行い、逆直交変換された予測誤差を導出して演算部26に供給する。このとき、逆直交変換部25は、直交変換部22と同様に、ブロックサイズ4×4の処理単位を4つに分割し、ブロックサイズ2×2の変換単位で逆直交変換を4回行う。または、逆直交変換部25は、直交変換部22と同様に、ブロックサイズ4×4の処理単位を2つに分割し、ブロックサイズ4×2の変換単位で逆直交変換を2回行う。 The inverse orthogonal conversion unit 25 performs inverse orthogonal conversion on the inverse quantized conversion coefficient supplied from the inverse quantization unit 24, that is, reverses the orthogonal conversion process by the orthogonal conversion unit 22, and performs inverse orthogonal conversion. The prediction error is derived and supplied to the calculation unit 26. At this time, the inverse orthogonal conversion unit 25 divides the processing unit of the block size 4 × 4 into four, and performs the inverse orthogonal conversion four times in the conversion unit of the block size 2 × 2, similarly to the orthogonal conversion unit 22. Alternatively, the inverse orthogonal conversion unit 25 divides the processing unit of the block size 4 × 4 into two, and performs the inverse orthogonal conversion twice in the conversion unit of the block size 4 × 2, similarly to the orthogonal conversion unit 22.
 演算部26は、逆直交変換部25から供給される逆直交変換された予測誤差と、予測部28から供給されるイントラ予測画像とを加算することで、ブロックサイズ4×4の処理単位の復号画像を再構成してフレームメモリ27に供給する。 The calculation unit 26 decodes a processing unit having a block size of 4 × 4 by adding the inverse orthogonally converted prediction error supplied from the inverse orthogonal conversion unit 25 and the intra prediction image supplied from the prediction unit 28. The image is reconstructed and supplied to the frame memory 27.
 フレームメモリ27は、演算部26から供給されるブロックサイズ4×4の処理単位の復号画像を、バッファへ格納する。そして、フレームメモリ27は、予測部28により指定される画素をバッファから読み出し、参照画素として予測部28に供給する。 The frame memory 27 stores the decoded image of the processing unit of the block size 4 × 4 supplied from the calculation unit 26 in the buffer. Then, the frame memory 27 reads the pixel designated by the prediction unit 28 from the buffer and supplies it to the prediction unit 28 as a reference pixel.
 予測部28は、符号化対象となる入力画像を符号化する際のイントラ予測で参照される参照画素(図1参照)を、フレームメモリ27から取得し、それらの参照画素を用いてブロックサイズ4×4の処理単位でイントラ予測を行う。これにより、予測部28は、イントラ予測画像を生成して、演算部21および演算部26に供給する。 The prediction unit 28 acquires reference pixels (see FIG. 1) referred to in the intra prediction when encoding the input image to be encoded from the frame memory 27, and uses those reference pixels to block size 4 Intra-prediction is performed in x4 processing units. As a result, the prediction unit 28 generates an intra prediction image and supplies it to the calculation unit 21 and the calculation unit 26.
 符号化部29は、量子化部23から供給されるブロックサイズ4×4の処理単位の量子化変換係数を、所定の符号化方式に従って符号化し、その符号化により得られるビットストリームを出力する。 The coding unit 29 encodes the quantization conversion coefficient of the processing unit of the block size 4 × 4 supplied from the quantization unit 23 according to a predetermined coding method, and outputs a bit stream obtained by the coding.
 このように符号化装置11は構成されており、直交変換部22および逆直交変換部25において、符号化の処理単位よりも小さなブロックサイズの変換単位で直交変換および逆直交変換が行われる。これにより、符号化装置11は、図3および図4を参照して上述したように、入力画像にインパルス信号が含まれていても、その影響が広がることを抑えることができ、画質および符号化効率の低下を抑制することができる。 The coding device 11 is configured in this way, and the orthogonal conversion unit 22 and the inverse orthogonal conversion unit 25 perform orthogonal conversion and inverse orthogonal conversion in a conversion unit having a block size smaller than the coding processing unit. As a result, as described above with reference to FIGS. 3 and 4, the coding apparatus 11 can suppress the spread of the influence of the impulse signal even if it is included in the input image, and the image quality and coding can be suppressed. The decrease in efficiency can be suppressed.
 ここで、符号化装置11では、イントラ予測を用いた符号化を行う際に、図5の破線の矢印で示すように、符号化の処理単位ごとにデータがループするような処理が必要となる。即ち、符号化装置11は、演算部21、直交変換部22、量子化部23、逆量子化部24、逆直交変換部25、演算部26、および予測部28の順に、それぞれ前のブロックから出力されるデータを使用し、次のイントラ予測を行うような構成となっている。 Here, in the coding apparatus 11, when performing coding using intra-prediction, as shown by the arrow of the broken line in FIG. 5, it is necessary to perform processing such that data loops for each coding processing unit. .. That is, the coding device 11 starts from the previous block in the order of the calculation unit 21, the orthogonal conversion unit 22, the quantization unit 23, the inverse quantization unit 24, the inverse orthogonal conversion unit 25, the calculation unit 26, and the prediction unit 28. It is configured to use the output data to make the next intra-prediction.
 従って、符号化装置11では、符号化の処理単位そのものを小さくすると、符号化の処理を行う処理速度が低下することになる。即ち、符号化の処理単位をブロックサイズ2×2にした場合には、符号化の処理単位がブロックサイズ4×4である場合と比較して、単純に、処理速度が1/4に低下することが想定される。このため、符号化の処理単位の最小サイズとして、ブロックサイズ4×4とすることが検討されている。 Therefore, in the coding apparatus 11, if the coding processing unit itself is reduced, the processing speed for performing the coding processing will decrease. That is, when the coding processing unit is a block size of 2 × 2, the processing speed is simply reduced to 1/4 as compared with the case where the coding processing unit is a block size of 4 × 4. Is assumed. Therefore, it is considered to set the block size to 4 × 4 as the minimum size of the coding processing unit.
 そこで、符号化装置11は、符号化の処理単位はブロックサイズ4×4とし、直交変換および逆直交変換の変換単位はブロックサイズ2×2とすることで、このような処理速度の低下を回避することができる。 Therefore, in the coding apparatus 11, the coding processing unit is a block size of 4 × 4, and the conversion unit of the orthogonal conversion and the inverse orthogonal conversion is a block size of 2 × 2, thereby avoiding such a decrease in processing speed. can do.
 即ち、図6のAに示すように、従来、符号化の処理単位であるブロックサイズ4×4で直交変換および逆直交変換が行われていた。これに対し、符号化装置11は、図6のBに示すように、符号化の処理単位はブロックサイズ4×4のままで、それよりも小さなブロックサイズ2×2で直交変換および逆直交変換を行う。または、符号化装置11は、図6のCに示すように、符号化の処理単位はブロックサイズ4×4のままで、それよりも小さなブロックサイズ4×2で直交変換および逆直交変換を行う。 That is, as shown in A of FIG. 6, conventionally, orthogonal conversion and inverse orthogonal conversion have been performed with a block size of 4 × 4, which is a coding processing unit. On the other hand, in the coding apparatus 11, as shown in B of FIG. 6, the coding processing unit remains the block size 4 × 4, and the orthogonal conversion and the inverse orthogonal conversion are performed with a smaller block size of 2 × 2. I do. Alternatively, as shown in C of FIG. 6, the coding apparatus 11 performs orthogonal conversion and inverse orthogonal conversion with a block size of 4 × 2, which is smaller than the block size of 4 × 4, while the coding processing unit remains the same. ..
 従って、符号化装置11は、符号化の処理単位であるブロックサイズ4×4で直交変換および逆直交変換を行う場合よりも、処理速度の低下を回避しつつ画質および符号化効率の向上を図ることができる。 Therefore, the coding apparatus 11 aims to improve the image quality and coding efficiency while avoiding a decrease in processing speed as compared with the case where orthogonal conversion and inverse orthogonal conversion are performed with a block size of 4 × 4, which is a coding processing unit. be able to.
 図7は、本技術を適用した復号装置の第1の実施の形態の構成例を示すブロック図である。 FIG. 7 is a block diagram showing a configuration example of the first embodiment of the decoding device to which the present technology is applied.
 図7に示すように、復号装置12は、復号部41、逆量子化部42、逆直交変換部43、演算部44、フレームメモリ45、および予測部46を備えて構成される。 As shown in FIG. 7, the decoding device 12 includes a decoding unit 41, an inverse quantization unit 42, an inverse orthogonal conversion unit 43, a calculation unit 44, a frame memory 45, and a prediction unit 46.
 復号部41は、符号化装置11から出力されるビットストリームを取得して、符号化部29が用いた符号化方式に対応する復号方式に従った復号を行うことにより、復号の処理単位に従った量子化変換係数を取得して逆量子化部42に供給する。例えば、第1の実施の形態では、復号部41は、ブロックサイズ4×4の処理単位の量子化変換係数を取得して逆量子化部42に供給する。 The decoding unit 41 acquires the bit stream output from the coding device 11 and performs decoding according to the decoding method corresponding to the coding method used by the coding unit 29, thereby following the decoding processing unit. The quantization conversion coefficient is acquired and supplied to the inverse quantization unit 42. For example, in the first embodiment, the decoding unit 41 acquires the quantization conversion coefficient of the processing unit having a block size of 4 × 4 and supplies it to the inverse quantization unit 42.
 逆量子化部42は、復号部41から供給される量子化変換係数に対する逆量子化を行い、ブロックサイズ4×4の処理単位で逆量子化された変換係数を導出して逆直交変換部43に供給する。即ち、逆量子化部42は、図5の逆量子化部24と同様の処理を行う。 The inverse quantization unit 42 performs inverse quantization on the quantization conversion coefficient supplied from the decoding unit 41, derives the inverse quantization conversion coefficient in the processing unit of the block size 4 × 4, and the inverse orthogonal conversion unit 43. Supply to. That is, the dequantization unit 42 performs the same processing as the dequantization unit 24 of FIG.
 逆直交変換部43は、逆量子化部42から供給される逆量子化された変換係数に対する逆直交変換を行い、逆直交変換された予測誤差を導出して演算部44に供給する。即ち、逆直交変換部43は、図5の逆直交変換部25と同様の処理を行う。従って、逆直交変換部43は、ブロックサイズ4×4の処理単位を4つに分割し、ブロックサイズ2×2の変換単位で逆直交変換を4回行う。または、逆直交変換部43は、ブロックサイズ4×4の処理単位を2つに分割し、ブロックサイズ4×2の変換単位で逆直交変換を2回行う。 The inverse orthogonal conversion unit 43 performs inverse orthogonal conversion on the inverse quantized conversion coefficient supplied from the inverse quantization unit 42, derives the inverse orthogonal conversion prediction error, and supplies it to the calculation unit 44. That is, the inverse orthogonal conversion unit 43 performs the same processing as the inverse orthogonal conversion unit 25 of FIG. Therefore, the inverse orthogonal conversion unit 43 divides the processing unit of the block size 4 × 4 into four, and performs the inverse orthogonal conversion four times in the conversion unit of the block size 2 × 2. Alternatively, the inverse orthogonal conversion unit 43 divides the processing unit of the block size 4 × 4 into two, and performs the inverse orthogonal conversion twice in the conversion unit of the block size 4 × 2.
 演算部44は、逆直交変換部43から供給される逆直交変換された予測誤差と、予測部46から供給されるイントラ予測画像とを加算して、ブロックサイズ4×4の処理単位の復号画像を算出する。そして、演算部44は、算出した復号画像を、復号装置12から出力される出力画像として出力するとともに、フレームメモリ27に供給する。 The calculation unit 44 adds the inverse orthogonally converted prediction error supplied from the inverse orthogonality conversion unit 43 and the intra-orthogonal prediction image supplied from the prediction unit 46 to obtain a decoded image of a processing unit having a block size of 4 × 4. Is calculated. Then, the calculation unit 44 outputs the calculated decoded image as an output image output from the decoding device 12 and supplies it to the frame memory 27.
 フレームメモリ45は、演算部44から供給されるブロックサイズ4×4の処理単位の復号画像を、バッファへ格納する。そして、フレームメモリ45は、予測部46により指定される画素をバッファから読み出し、参照画素として予測部46に供給する。 The frame memory 45 stores the decoded image of the processing unit of the block size 4 × 4 supplied from the arithmetic unit 44 in the buffer. Then, the frame memory 45 reads the pixel designated by the prediction unit 46 from the buffer and supplies it to the prediction unit 46 as a reference pixel.
 予測部46は、復号対象となるブロックサイズ4×4の処理単位を復号する際のイントラ予測で参照される参照画素(図1参照)を、フレームメモリ45から取得し、それらの参照画素を用いてブロックサイズ4×4の処理単位でイントラ予測を行う。即ち、予測部46は、図5の予測部28と同様の処理を行い、イントラ予測画像を生成して演算部44に供給する。 The prediction unit 46 acquires reference pixels (see FIG. 1) referred to in the intra prediction when decoding a processing unit having a block size of 4 × 4 to be decoded from the frame memory 45, and uses those reference pixels. Intra-prediction is performed in processing units with a block size of 4 × 4. That is, the prediction unit 46 performs the same processing as the prediction unit 28 in FIG. 5, generates an intra prediction image, and supplies it to the calculation unit 44.
 このように復号装置12は構成されており、逆直交変換部43において、復号の処理単位よりも小さなブロックサイズの変換単位で逆直交変換が行われる。 The decoding device 12 is configured in this way, and the inverse orthogonal conversion unit 43 performs inverse orthogonal conversion in a conversion unit having a block size smaller than the decoding processing unit.
 そして、復号装置12においても、符号化装置11と同様に、イントラ予測を用いた復号を行う際に、図7の破線の矢印で示すように、復号の処理単位ごとにデータがループするような処理が必要となる。その際、復号装置12は、復号の処理単位であるブロックサイズ4×4で逆直交変換を行う場合よりも、処理速度の低下を回避することができる。 Then, in the decoding device 12, similarly to the coding device 11, when decoding using the intra prediction, the data loops for each decoding processing unit as shown by the broken line arrow in FIG. 7. Processing is required. At that time, the decoding device 12 can avoid a decrease in processing speed as compared with the case where the inverse orthogonal conversion is performed with a block size of 4 × 4, which is a decoding processing unit.
 <符号化処理および復号処理の第1の処理例>
 図8に示すフローチャートを参照して、符号化装置11において行われる符号化処理の第1の処理例について説明する。
<First processing example of coding processing and decoding processing>
A first processing example of the coding processing performed in the coding apparatus 11 will be described with reference to the flowchart shown in FIG.
 ステップS11において、予測部28は、符号化対象となるブロックサイズ4×4の処理単位において参照される参照画素をフレームメモリ27から取得し、それらの参照画素を用いてイントラ予測を行う。これにより、予測部28は、ブロックサイズ4×4の処理単位のイントラ予測画像を生成して、演算部21および演算部26に供給する。 In step S11, the prediction unit 28 acquires reference pixels referenced in a processing unit having a block size of 4 × 4 to be encoded from the frame memory 27, and performs intra prediction using those reference pixels. As a result, the prediction unit 28 generates an intra prediction image of a processing unit having a block size of 4 × 4 and supplies it to the calculation unit 21 and the calculation unit 26.
 ステップS12において、演算部21は、符号化対象の入力画像として、ブロックサイズ4×4の処理単位の画素を取得する。そして、演算部21は、その入力画像から、ステップS11で予測部28から供給されたイントラ予測画像を減算し、それにより求められるブロックサイズ4×4の処理単位の予測残差を直交変換部22に供給する。 In step S12, the calculation unit 21 acquires pixels of a processing unit having a block size of 4 × 4 as an input image to be encoded. Then, the calculation unit 21 subtracts the intra prediction image supplied from the prediction unit 28 in step S11 from the input image, and obtains the prediction residual of the processing unit of the block size 4 × 4 obtained by the calculation unit 21 in the orthogonal conversion unit 22. Supply to.
 ステップS13において、直交変換部22は、ステップS12で演算部21から供給されたブロックサイズ4×4の処理単位の予測残差を、ブロックサイズ2×2の変換単位に分割する。そして、直交変換部22は、ブロックサイズ2×2の変換単位ごとに直交変換を行って、変換係数を導出する。このとき、直交変換部22は、ブロックサイズ2×2の変換単位ごとの直交変換を4回行うことにより、ブロックサイズ4×4の処理単位の変換係数を取得し、量子化部23に供給する。 In step S13, the orthogonal conversion unit 22 divides the predicted residual of the processing unit of the block size 4 × 4 supplied from the calculation unit 21 in step S12 into the conversion unit of the block size 2 × 2. Then, the orthogonal conversion unit 22 performs orthogonal conversion for each conversion unit having a block size of 2 × 2 to derive a conversion coefficient. At this time, the orthogonal conversion unit 22 acquires the conversion coefficient of the processing unit of the block size 4 × 4 by performing the orthogonal conversion for each conversion unit of the block size 2 × 2 four times, and supplies the conversion coefficient to the quantization unit 23. ..
 ステップS14において、量子化部23は、ステップS13で直交変換部22から供給されたブロックサイズ4×4の処理単位の変換係数に対する量子化を行い、量子化変換係数を導出して逆量子化部24および符号化部29に供給する。 In step S14, the quantization unit 23 performs quantization with respect to the conversion coefficient of the processing unit of the block size 4 × 4 supplied from the orthogonal conversion unit 22 in step S13, derives the quantization conversion coefficient, and dequantizes the inverse quantization unit. It is supplied to 24 and the coding unit 29.
 ステップS15において、逆量子化部24は、ステップS14で量子化部23から供給されたブロックサイズ4×4の処理単位の量子化変換係数に対する逆量子化を行い、逆量子化された変換係数を導出して逆直交変換部25に供給する。 In step S15, the inverse quantization unit 24 performs inverse quantization with respect to the quantization conversion coefficient of the processing unit of the block size 4 × 4 supplied from the quantization unit 23 in step S14, and the inverse quantization conversion coefficient is obtained. It is derived and supplied to the inverse orthogonal conversion unit 25.
 ステップS16において、逆直交変換部25は、ステップS15で逆量子化部24から供給されたブロックサイズ4×4の処理単位の変換係数を、ブロックサイズ2×2の変換単位に分割する。そして、逆直交変換部25は、ブロックサイズ2×2の変換単位ごとに逆直交変換を行って、予測誤差を導出する。このとき、逆直交変換部25は、ブロックサイズ2×2の変換単位ごとの逆直交変換を4回行うことにより、ブロックサイズ4×4の処理単位の逆直交変換された予測誤差を取得し、演算部26に供給する。 In step S16, the inverse orthogonal conversion unit 25 divides the conversion coefficient of the processing unit of the block size 4 × 4 supplied from the inverse quantization unit 24 in step S15 into the conversion unit of the block size 2 × 2. Then, the inverse orthogonal conversion unit 25 performs inverse orthogonal conversion for each conversion unit having a block size of 2 × 2 to derive a prediction error. At this time, the inverse orthogonal conversion unit 25 acquires the inverse orthogonal conversion prediction error of the processing unit of the block size 4 × 4 by performing the inverse orthogonal conversion for each conversion unit of the block size 2 × 2 four times. It is supplied to the calculation unit 26.
 ステップS17において、演算部26は、ステップS16で逆直交変換部25から供給されたブロックサイズ4×4の処理単位の逆直交変換された予測誤差と、ステップS11で予測部28から供給されたブロックサイズ4×4の処理単位のイントラ予測画像とを加算する。これにより、演算部26は、ブロックサイズ4×4の処理単位の復号画像を再構成し、フレームメモリ27に供給する。 In step S17, the calculation unit 26 includes the inverse orthogonal conversion prediction error of the processing unit of the block size 4 × 4 supplied from the inverse orthogonal conversion unit 25 in step S16 and the block supplied from the prediction unit 28 in step S11. Add the intra-predicted image of the processing unit of size 4 × 4. As a result, the calculation unit 26 reconstructs the decoded image of the processing unit having a block size of 4 × 4 and supplies it to the frame memory 27.
 ステップS18において、フレームメモリ27は、ステップS17で演算部26から供給されたブロックサイズ4×4の処理単位の復号画像を、バッファへ格納して記憶する。 In step S18, the frame memory 27 stores and stores the decoded image of the processing unit of the block size 4 × 4 supplied from the calculation unit 26 in step S17 in the buffer.
 ステップS19において、符号化部29は、ステップS14で量子化部23から供給されたブロックサイズ4×4の処理単位の量子化変換係数を、所定の符号化方式に従って符号化する。そして、符号化部29が、その符号化により得られるビットストリームを出力した後に処理は終了され、次の入力画像を符号化対象として、以下、同様の処理が行われる。 In step S19, the coding unit 29 encodes the quantization conversion coefficient of the processing unit of the block size 4 × 4 supplied from the quantization unit 23 in step S14 according to a predetermined coding method. Then, the processing is terminated after the coding unit 29 outputs the bit stream obtained by the coding, and the same processing is subsequently performed with the next input image as the coding target.
 図9に示すフローチャートを参照して、復号装置12において行われ復号処理の第1の処理例について説明する。 A first processing example of the decoding process performed in the decoding device 12 will be described with reference to the flowchart shown in FIG.
 ステップS21において、復号部41は、符号化装置11から出力されるビットストリームを取得する。そして、復号部41は、図8のステップS19で符号化部29が用いた符号化方式に対応する復号方式に従った復号を行うことにより、ブロックサイズ4×4の処理単位の量子化変換係数を取得して逆量子化部42に供給する。 In step S21, the decoding unit 41 acquires the bit stream output from the encoding device 11. Then, the decoding unit 41 performs decoding according to the decoding method corresponding to the coding method used by the coding unit 29 in step S19 of FIG. 8, thereby performing the quantization conversion coefficient of the processing unit of the block size 4 × 4. Is obtained and supplied to the inverse quantization unit 42.
 ステップS22において、逆量子化部42は、ステップS21で復号部41から供給されたブロックサイズ4×4の処理単位の量子化変換係数に対する逆量子化を行い、逆量子化された変換係数を導出して逆直交変換部43に供給する。 In step S22, the inverse quantization unit 42 performs inverse quantization with respect to the quantization conversion coefficient of the processing unit of the block size 4 × 4 supplied from the decoding unit 41 in step S21, and derives the inverse quantization conversion coefficient. Then, it is supplied to the inverse orthogonal conversion unit 43.
 ステップS23において、逆直交変換部43は、ステップS22で逆量子化部42から供給されたブロックサイズ4×4の処理単位の変換係数を、ブロックサイズ2×2の変換単位に分割する。そして、逆直交変換部43は、ブロックサイズ2×2の変換単位ごとに逆直交変換を行って、予測誤差を導出する。このとき、逆直交変換部43は、ブロックサイズ2×2の変換単位ごとの逆直交変換を4回行うことにより、ブロックサイズ4×4の処理単位の逆直交変換された予測誤差を取得し、演算部44に供給する。 In step S23, the inverse orthogonal conversion unit 43 divides the conversion coefficient of the processing unit of the block size 4 × 4 supplied from the inverse quantization unit 42 in step S22 into the conversion unit of the block size 2 × 2. Then, the inverse orthogonal conversion unit 43 performs inverse orthogonal conversion for each conversion unit having a block size of 2 × 2 to derive a prediction error. At this time, the inverse orthogonal conversion unit 43 acquires the inverse orthogonal conversion prediction error of the processing unit of the block size 4 × 4 by performing the inverse orthogonal conversion for each conversion unit of the block size 2 × 2 four times. It is supplied to the calculation unit 44.
 ステップS24において、予測部46は、復号対象となるブロックサイズ4×4の処理単位を復号する際のイントラ予測で参照される参照画素(図1参照)を、フレームメモリ45から取得し、それらの参照画素を用いてブロックサイズ4×4の処理単位でイントラ予測を行う。そして、予測部46は、ブロックサイズ4×4の処理単位のイントラ予測画像を生成して演算部44に供給する。 In step S24, the prediction unit 46 acquires reference pixels (see FIG. 1) referred to in the intra prediction when decoding a processing unit having a block size of 4 × 4 to be decoded from the frame memory 45, and obtains them. Intra-prediction is performed in processing units of block size 4 × 4 using reference pixels. Then, the prediction unit 46 generates an intra prediction image of a processing unit having a block size of 4 × 4 and supplies it to the calculation unit 44.
 ステップS25において、演算部44は、ステップS23で逆直交変換部43から供給されるブロックサイズ4×4の処理単位の逆直交変換された予測誤差と、ステップS24で予測部46から供給されるイントラ予測画像とを加算する。これにより、演算部44は、ブロックサイズ4×4の処理単位の復号画像を再構築し、その復号画像を、復号装置12から出力される出力画像として出力するとともに、フレームメモリ27に供給する。 In step S25, the calculation unit 44 includes the inverse orthogonal conversion prediction error of the processing unit of the block size 4 × 4 supplied from the inverse orthogonal conversion unit 43 in step S23 and the intra-orthogonal conversion supplied from the prediction unit 46 in step S24. Add with the predicted image. As a result, the calculation unit 44 reconstructs the decoded image of the processing unit having a block size of 4 × 4, outputs the decoded image as an output image output from the decoding device 12, and supplies the decoded image to the frame memory 27.
 ステップS26において、フレームメモリ45は、ステップS25で演算部44から供給されたブロックサイズ4×4の処理単位の復号画像を、バッファへ格納して記憶する。その後、処理は終了され、次に符号対象となるビットストリームを取得して、以下、同様の処理が行われる。 In step S26, the frame memory 45 stores and stores the decoded image of the processing unit of the block size 4 × 4 supplied from the calculation unit 44 in step S25 in the buffer. After that, the processing is terminated, then the bit stream to be coded is acquired, and the same processing is performed thereafter.
 以上のように、符号化装置11および復号装置12は、ブロックサイズ4×4の処理単位で符号化および復号を行う際に、それよりも小さなブロックサイズ2×2の変換単位で直交変換と逆直交変換とを行うことで、処理速度の低下を回避しつつ画質および符号化効率の向上を図ることができる。 As described above, when the coding device 11 and the decoding device 12 perform coding and decoding in a processing unit having a block size of 4 × 4, they are opposite to the orthogonal conversion in a conversion unit having a block size of 2 × 2 which is smaller than that. By performing the orthogonal conversion, it is possible to improve the image quality and the coding efficiency while avoiding the decrease in the processing speed.
 <符号化装置および復号装置の第2の構成例>
 図10は、本技術を適用した符号化装置の第2の実施の形態の構成例を示すブロック図である。なお、図10に示す符号化装置11Aにおいて、図5の符号化装置11と共通する構成については、その詳細な説明は省略する。
<Second configuration example of encoding device and decoding device>
FIG. 10 is a block diagram showing a configuration example of a second embodiment of a coding apparatus to which the present technology is applied. The detailed description of the configuration common to the coding device 11 of FIG. 5 in the coding device 11A shown in FIG. 10 will be omitted.
 即ち、図10に示すように、符号化装置11Aは、演算部21、直交変換部22、量子化部23、逆量子化部24、逆直交変換部25、演算部26、フレームメモリ27、予測部28、および符号化部29を備える点で、図5の符号化装置11と共通の構成となっている。そして、符号化装置11Aは、制御部30を備える点で、図5の符号化装置11と異なる構成となっている。なお、図10では、制御部30から直交変換部22以外のブロックに対する制御を示す矢印の図示は省略されている。 That is, as shown in FIG. 10, the coding device 11A includes a calculation unit 21, an orthogonal conversion unit 22, a quantization unit 23, an inverse quantization unit 24, an inverse orthogonal conversion unit 25, a calculation unit 26, a frame memory 27, and a prediction. It has the same configuration as the coding device 11 of FIG. 5 in that it includes a unit 28 and a coding unit 29. The coding device 11A has a configuration different from that of the coding device 11 of FIG. 5 in that it includes a control unit 30. In FIG. 10, the arrow indicating the control from the control unit 30 to the blocks other than the orthogonal conversion unit 22 is not shown.
 制御部30は、2×2直交変換モードを行う条件を満たしているか否かを判定し、2×2直交変換モードを行う条件を満たしていると判定した場合、直交変換部22および逆直交変換部25に対してブロックサイズ2×2の変換単位を設定する。さらに、制御部30は、この場合、2×2直交変換モードで符号化を実行するように符号化装置11Aの全てのブロックに対する制御を行う。即ち、この場合、上述した図8のフローチャートと同様の処理が行われ、以下、このような処理が行われるモードを2×2直交変換モードと称する。 The control unit 30 determines whether or not the condition for performing the 2 × 2 orthogonal conversion mode is satisfied, and if it is determined that the condition for performing the 2 × 2 orthogonal conversion mode is satisfied, the orthogonal conversion unit 22 and the inverse orthogonal conversion are performed. A conversion unit having a block size of 2 × 2 is set for the unit 25. Further, in this case, the control unit 30 controls all the blocks of the coding device 11A so as to execute the coding in the 2 × 2 orthogonal conversion mode. That is, in this case, the same processing as the flowchart of FIG. 8 described above is performed, and the mode in which such processing is performed is hereinafter referred to as a 2 × 2 orthogonal conversion mode.
 例えば、2×2直交変換モードを行う条件として、符号化の処理単位がブロックサイズ4×4であること、イントラ予測が用いられること、および、特定のイントラ予測モード(例えば、DC予測やプレーナ予測など)であることなどが設定される。従って、制御部30は、符号化の処理単位がブロックサイズ4×4である場合、イントラ予測が用いられる場合、または、特定のイントラ予測モードである場合には、2×2直交変換モードを行う条件を満たしていると判定することができる。 For example, the conditions for performing the 2x2 orthogonal conversion mode are that the coding processing unit is a block size of 4x4, intra-prediction is used, and a specific intra-prediction mode (for example, DC prediction or planar prediction). Etc.) is set. Therefore, the control unit 30 performs a 2 × 2 orthogonal conversion mode when the coding processing unit is a block size of 4 × 4, an intra prediction is used, or a specific intra prediction mode is used. It can be determined that the conditions are satisfied.
 または、これらの条件を組み合わせて用いてもよい。例えば、符号化の処理単位がブロックサイズ4×4であり、イントラ予測が用いられており、かつ、特定のイントラ予測モードである場合に、2×2直交変換モードを行う条件を満たしているとしてもよい。 Alternatively, these conditions may be used in combination. For example, assuming that the coding processing unit is a block size of 4 × 4, intra-prediction is used, and a specific intra-prediction mode is satisfied, the condition for performing the 2 × 2 orthogonal conversion mode is satisfied. May be good.
 なお、制御部30は、2×2直交変換モードを行う条件を満たしていないと判定した場合、直交変換部22および逆直交変換部25に対して符号化の処理単位と同一の変換単位を設定する。即ち、この場合、従来と同様の直交変換による符号化が行われ、以下、このような処理が行われるモードを、通常直交変換モードと称する。 When the control unit 30 determines that the condition for performing the 2 × 2 orthogonal conversion mode is not satisfied, the control unit 30 sets the same conversion unit as the coding processing unit for the orthogonal conversion unit 22 and the inverse orthogonal conversion unit 25. To do. That is, in this case, a mode in which coding by orthogonal conversion similar to the conventional one is performed and such processing is performed is usually referred to as an orthogonal conversion mode.
 図11は、本技術を適用した復号装置の第2の実施の形態の構成例を示すブロック図である。なお、図11に示す復号装置12Aにおいて、図7の復号装置12と共通する構成については、その詳細な説明は省略する。 FIG. 11 is a block diagram showing a configuration example of a second embodiment of the decoding device to which the present technology is applied. The details of the configuration of the decoding device 12A shown in FIG. 11 that is common to the decoding device 12 of FIG. 7 will be omitted.
 即ち、図11に示すように、復号装置12Aは、復号部41、逆量子化部42、逆直交変換部43、演算部44、フレームメモリ45、および予測部46を備える点で、図7の復号装置12と共通する構成となっている。そして、復号装置12Aは、制御部47を備える点で、図7の復号装置12と異なる構成となっている。 That is, as shown in FIG. 11, the decoding device 12A includes a decoding unit 41, an inverse quantization unit 42, an inverse orthogonal conversion unit 43, a calculation unit 44, a frame memory 45, and a prediction unit 46. It has the same configuration as the decoding device 12. The decoding device 12A has a configuration different from that of the decoding device 12 of FIG. 7 in that it includes a control unit 47.
 制御部47は、図10の制御部30と同様に、2×2直交変換モードを行う条件を満たしているか否かを判定する。そして、制御部47は、2×2直交変換モードを行う条件を満たしていると判定した場合には、逆直交変換部43に対してブロックサイズ2×2の変換単位を設定し、2×2直交変換モードで復号を実行するように復号装置12Aの全てのブロックに対する制御を行う。一方、制御部47は、2×2直交変換モードを行う条件を満たしていないと判定した場合には、逆直交変換部43に対して復号の処理単位と同一の変換単位を設定し、通常直交変換モードで復号を実行するように復号装置12Aの全てのブロックに対する制御を行う。 The control unit 47 determines whether or not the condition for performing the 2 × 2 orthogonal conversion mode is satisfied, as in the control unit 30 of FIG. Then, when the control unit 47 determines that the condition for performing the 2 × 2 orthogonal conversion mode is satisfied, the control unit 47 sets a conversion unit having a block size of 2 × 2 for the inverse orthogonal conversion unit 43, and 2 × 2 Control is performed on all blocks of the decoding device 12A so that decoding is performed in the orthogonal conversion mode. On the other hand, when the control unit 47 determines that the condition for performing the 2 × 2 orthogonal conversion mode is not satisfied, the control unit 47 sets the same conversion unit as the decoding processing unit for the inverse orthogonal conversion unit 43, and is normally orthogonal. Control is performed on all blocks of the decoding device 12A so that decoding is executed in the conversion mode.
 以上のように、符号化装置11Aおよび復号装置12Aは構成されており、2×2直交変換モードを行う条件に従って、2×2直交変換モードおよび通常直交変換モードを切り替えて用いることができる。これにより、例えば、ブロックサイズ4×4の処理単位で直交変換を行った方が望ましい処理にも適合することが可能となる。 As described above, the coding device 11A and the decoding device 12A are configured, and the 2 × 2 orthogonal conversion mode and the normal orthogonal conversion mode can be switched and used according to the conditions for performing the 2 × 2 orthogonal conversion mode. As a result, for example, it becomes possible to meet the processing in which it is desirable to perform the orthogonal conversion in the processing unit of the block size 4 × 4.
 <符号化処理および復号処理の第2の処理例>
 図12に示すフローチャートを参照して、符号化装置11Aにおいて行われる符号化処理の第2の処理例について説明する。
<Second processing example of coding processing and decoding processing>
A second processing example of the coding processing performed in the coding apparatus 11A will be described with reference to the flowchart shown in FIG.
 ステップS31において、制御部30は、上述したような2×2直交変換モードを行う条件を満たしているか否かを判定する。 In step S31, the control unit 30 determines whether or not the condition for performing the 2 × 2 orthogonal conversion mode as described above is satisfied.
 ステップS31において、制御部30が、2×2直交変換モードを行う条件を満たしていると判定した場合には、処理はステップS32に進む。ステップS32において、制御部30は、直交変換部22および逆直交変換部25に対してブロックサイズ2×2の変換単位を設定し、2×2直交変換モードで符号化を実行するように符号化装置11Aの全てのブロックに対する制御を行う。これにより、図8のフローチャートと同様の処理が行われ、その後、処理は終了される。 If the control unit 30 determines in step S31 that the condition for performing the 2 × 2 orthogonal conversion mode is satisfied, the process proceeds to step S32. In step S32, the control unit 30 sets a conversion unit having a block size of 2 × 2 for the orthogonal conversion unit 22 and the inverse orthogonal conversion unit 25, and encodes the unit so as to execute coding in the 2 × 2 orthogonal conversion mode. Controls all blocks of device 11A. As a result, the same processing as the flowchart of FIG. 8 is performed, and then the processing is terminated.
 一方、ステップS31において、制御部30が、2×2直交変換モードを行う条件を満たしていないと判定した場合には、処理はステップS33に進む。ステップS33において、制御部30は、直交変換部22および逆直交変換部25に対して符号化の処理単位と同一の変換単位を設定し、通常直交変換モードで符号化を実行するように符号化装置11Aの全てのブロックに対する制御を行う。これにより、図8のフローチャートのステップS13およびS16で、処理単位と同一の変換単位で直交変換および逆直交変換がそれぞれ1回行われる符号化が実行され、その後、処理は終了される。 On the other hand, if the control unit 30 determines in step S31 that the condition for performing the 2 × 2 orthogonal conversion mode is not satisfied, the process proceeds to step S33. In step S33, the control unit 30 sets the same conversion unit as the coding processing unit for the orthogonal conversion unit 22 and the inverse orthogonal conversion unit 25, and encodes so as to execute the coding in the normal orthogonal conversion mode. Control is performed for all blocks of the device 11A. As a result, in steps S13 and S16 of the flowchart of FIG. 8, coding is performed in which the orthogonal conversion and the inverse orthogonal conversion are performed once in the same conversion unit as the processing unit, and then the processing is terminated.
 図13に示すフローチャートを参照して、復号装置12Aにおいて行われ復号処理の第2の処理例について説明する。 A second processing example of the decoding process performed in the decoding device 12A will be described with reference to the flowchart shown in FIG.
 ステップS41において、制御部47は、上述したような2×2直交変換モードを行う条件を満たしているか否かを判定する。 In step S41, the control unit 47 determines whether or not the condition for performing the 2 × 2 orthogonal conversion mode as described above is satisfied.
 ステップS41において、制御部47が、2×2直交変換モードを行う条件を満たしていると判定した場合には、処理はステップS42に進む。ステップS42において、制御部47は、逆直交変換部43に対してブロックサイズ2×2の変換単位を設定し、2×2直交変換モードで復号を実行するように復号装置12Aの全てのブロックに対する制御を行う。これにより、図9のフローチャートと同様の処理が行われ、その後、処理は終了される。 If the control unit 47 determines in step S41 that the condition for performing the 2 × 2 orthogonal conversion mode is satisfied, the process proceeds to step S42. In step S42, the control unit 47 sets a conversion unit having a block size of 2 × 2 for the inverse orthogonal conversion unit 43, and performs decoding for all the blocks of the decoding device 12A so as to execute decoding in the 2 × 2 orthogonal conversion mode. Take control. As a result, the same processing as the flowchart of FIG. 9 is performed, and then the processing is terminated.
 一方、ステップS41において、制御部47が、2×2直交変換モードを行う条件を満たしていないと判定した場合には、処理はステップS43に進む。ステップS43において、制御部47は、逆直交変換部43に対して復号の処理単位と同一の変換単位を設定し、通常直交変換モードで復号を実行するように復号装置12Aの全てのブロックに対する制御を行う。これにより、図9のフローチャートのステップS23で、処理単位と同一の変換単位で逆直交変換が1回行われる復号が実行され、その後、処理は終了される。 On the other hand, if the control unit 47 determines in step S41 that the condition for performing the 2 × 2 orthogonal conversion mode is not satisfied, the process proceeds to step S43. In step S43, the control unit 47 sets the same conversion unit as the decoding processing unit for the inverse orthogonal conversion unit 43, and controls all the blocks of the decoding device 12A so as to execute the decoding in the normal orthogonal conversion mode. I do. As a result, in step S23 of the flowchart of FIG. 9, decoding is executed in which the inverse orthogonal conversion is performed once in the same conversion unit as the processing unit, and then the processing is terminated.
 以上のように、符号化装置11Aおよび復号装置12Aは、2×2直交変換モードを行う条件に従って、2×2直交変換モードおよび通常直交変換モードを切り替えて用いることができる。なお、例えば、符号化装置11Aが、2×2直交変換モードを行う条件に従って判定を行った結果を示す2×2直交変換フラグをビットストリームに入れて送信してもよい。この場合、復号装置12Aは、その2×2直交変換フラグに基づいて2×2直交変換モードおよび通常直交変換モードを切り替えることができる。 As described above, the coding device 11A and the decoding device 12A can be used by switching between the 2 × 2 orthogonal conversion mode and the normal orthogonal conversion mode according to the conditions for performing the 2 × 2 orthogonal conversion mode. Note that, for example, the coding device 11A may put a 2 × 2 orthogonal conversion flag indicating the result of determination according to the condition of performing the 2 × 2 orthogonal conversion mode into the bit stream and transmit the result. In this case, the decoding device 12A can switch between the 2 × 2 orthogonal conversion mode and the normal orthogonal conversion mode based on the 2 × 2 orthogonal conversion flag.
 <符号化装置および復号装置の第3の構成例>
 図14は、本技術を適用した符号化装置の第3の実施の形態の構成例を示すブロック図である。なお、図14に示す符号化装置11Bにおいて、図5の符号化装置11と共通する構成については、その詳細な説明は省略する。なお、図14では、制御部30から直交変換部22以外のブロックに対する制御を示す矢印の図示は省略されている。
<Third configuration example of encoding device and decoding device>
FIG. 14 is a block diagram showing a configuration example of a third embodiment of a coding device to which the present technology is applied. The detailed description of the configuration common to the coding device 11 of FIG. 5 in the coding device 11B shown in FIG. 14 will be omitted. In FIG. 14, the arrow indicating the control from the control unit 30 to the blocks other than the orthogonal conversion unit 22 is not shown.
 即ち、図14に示すように、符号化装置11Bは、演算部21、直交変換部22、量子化部23、逆量子化部24、逆直交変換部25、演算部26、フレームメモリ27、予測部28、および符号化部29を備える点で、図5の符号化装置11と共通の構成となっている。そして、符号化装置11Bは、制御部30および仕事量算出部31を備える点で、図5の符号化装置11と異なる構成となっている。 That is, as shown in FIG. 14, the coding device 11B includes a calculation unit 21, an orthogonal conversion unit 22, a quantization unit 23, an inverse quantization unit 24, an inverse orthogonal conversion unit 25, a calculation unit 26, a frame memory 27, and a prediction. It has the same configuration as the coding device 11 of FIG. 5 in that it includes a unit 28 and a coding unit 29. The coding device 11B has a configuration different from that of the coding device 11 of FIG. 5 in that it includes a control unit 30 and a work amount calculation unit 31.
 制御部30は、仕事量算出部31から供給される2種類のコスト(後述するRDコストJ1およびRDコストJ2)の大小関係を判定し、2×2直交変換モードおよび通常直交変換モードのうち、よりコストが小さい方を選択するような制御を行う。 The control unit 30 determines the magnitude relationship between the two types of costs (RD cost J1 and RD cost J2, which will be described later) supplied from the work amount calculation unit 31, and is out of the 2 × 2 orthogonal conversion mode and the normal orthogonal conversion mode. Control is performed so that the one with the lower cost is selected.
 そして、制御部30は、2×2直交変換モードを選択した場合には、2×2直交変換を行うことを示す2×2直交変換フラグ(tu_2x2_flag=1)を設定し、ビットストリームに入れて送信するように符号化部29に対する制御を行う。さらに、制御部30は、直交変換部22および逆直交変換部25に対してブロックサイズ2×2の変換単位を設定し、2×2直交変換モードで符号化を実行するように符号化装置11Bの全てのブロックに対する制御を行う。例えば、この2×2直交変換フラグ(tu_2x2_flag)は、上述した非特許文献1の「7.3.4.6 Coding unit syntax」の下から4行目に記載されている「transform_tree( x0, y0, cbWidth, cbHeight, treeType )」の直前に配置することが好ましい。 Then, when the 2x2 orthogonal conversion mode is selected, the control unit 30 sets a 2x2 orthogonal conversion flag (tu_2x2_flag = 1) indicating that the 2x2 orthogonal conversion is performed, and puts the control unit 30 into the bit stream. Control is performed on the coding unit 29 so as to transmit. Further, the control unit 30 sets a conversion unit having a block size of 2 × 2 for the orthogonal conversion unit 22 and the inverse orthogonal conversion unit 25, and the coding device 11B so as to execute coding in the 2 × 2 orthogonal conversion mode. Controls all blocks of. For example, this 2 × 2 orthogonal conversion flag (tu_2x2_flag) is described in the fourth line from the bottom of “7.3.4.6 Coding unit syntax” of Non-Patent Document 1 described above, “transform_tree (x0, y0, cbWidth, cbHeight) , TreeType) ”, it is preferable to place it immediately before.
 一方、制御部30は、通常直交変換モードを選択した場合には、2×2直交変換を行わないことを示す2×2直交変換フラグ(tu_2x2_flag=0)を設定し、ビットストリームに入れて送信するように符号化部29に対する制御を行う。さらに、制御部30は、直交変換部22および逆直交変換部25に対して符号化の処理単位と同一の変換単位を設定し、通常直交変換モードで符号化を実行するように符号化装置11Bの全てのブロックに対する制御を行う。 On the other hand, when the normal orthogonal conversion mode is selected, the control unit 30 sets a 2x2 orthogonal conversion flag (tu_2x2_flag = 0) indicating that the 2x2 orthogonal conversion is not performed, puts it in a bit stream, and transmits it. The coding unit 29 is controlled so as to be performed. Further, the control unit 30 sets the same conversion unit as the coding processing unit for the orthogonal conversion unit 22 and the inverse orthogonal conversion unit 25, and the coding device 11B so as to execute the coding in the normal orthogonal conversion mode. Controls all blocks of.
 仕事量算出部31は、通常直交変換モードを行った場合に必要となるRDコストJ1、および、2×2直交変換モードを行った場合に必要となるRDコストJ2を算出して、制御部30に供給する。なお、仕事量算出部31が、RDコストJ1を算出する処理については、図16のフローチャートを参照して後述し、RDコストJ2を算出する処理については、図17のフローチャートを参照して後述する。 The work amount calculation unit 31 calculates the RD cost J1 normally required when the orthogonal conversion mode is performed and the RD cost J2 required when the 2 × 2 orthogonal conversion mode is performed, and the control unit 30 Supply to. The process of calculating the RD cost J1 by the work amount calculation unit 31 will be described later with reference to the flowchart of FIG. 16, and the process of calculating the RD cost J2 will be described later with reference to the flowchart of FIG. ..
 一方、符号化側では、図11に示した復号装置12Aと同様の構成となっている。即ち、復号装置12Aでは、復号部41が、ビットストリームから2×2直交変換フラグを取得して制御部47に供給する。そして、制御部47は、2×2直交変換フラグに従って、2×2直交変換モードおよび通常直交変換モードのどちらか一方を選択するような制御を行う。 On the other hand, the coding side has the same configuration as the decoding device 12A shown in FIG. That is, in the decoding device 12A, the decoding unit 41 acquires the 2 × 2 orthogonal conversion flag from the bit stream and supplies it to the control unit 47. Then, the control unit 47 performs control such as selecting either the 2 × 2 orthogonal conversion mode or the normal orthogonal conversion mode according to the 2 × 2 orthogonal conversion flag.
 以上のように、符号化装置11Bでは、制御部30が、RDコストJ2はRDコストJ1より小さい(J2<J1)と判定した場合には2×2直交変換モードが選択され、RDコストJ2はRDコストJ1以上である(J2≧J1)と判定した場合には通常直交変換モードが選択される。 As described above, in the coding device 11B, when the control unit 30 determines that the RD cost J2 is smaller than the RD cost J1 (J2 <J1), the 2 × 2 orthogonal conversion mode is selected, and the RD cost J2 is set. When it is determined that the RD cost is J1 or more (J2 ≧ J1), the orthogonal conversion mode is usually selected.
 従って、符号化装置11Bは、よりコストが少なくなるような直交変換で符号化を実行することができる。そして、符号化装置11Bは、その選択を2×2直交変換フラグによって復号装置12Aに伝達することができ、復号装置12Aにおいても、よりコストが少なくなるような直交変換で復号を実行することができる。 Therefore, the coding device 11B can perform coding by orthogonal conversion so as to reduce the cost. Then, the coding device 11B can transmit the selection to the decoding device 12A by the 2 × 2 orthogonal conversion flag, and the decoding device 12A can also perform the decoding by the orthogonal conversion so as to reduce the cost. it can.
 <符号化処理および復号処理の第3の処理例>
 図15に示すフローチャートを参照して、符号化装置11Bにおいて行われる符号化処理の第3の処理例について説明する。
<Third processing example of coding processing and decoding processing>
A third processing example of the coding processing performed in the coding apparatus 11B will be described with reference to the flowchart shown in FIG.
 ステップS51において、仕事量算出部31は、通常直交変換モードにおけるコスト算出処理(図16のフローチャート参照)を行って、通常直交変換モードを行った場合に必要となるRDコストJ1を算出し、制御部30に通知する。 In step S51, the work amount calculation unit 31 performs cost calculation processing in the normal orthogonal conversion mode (see the flowchart of FIG. 16) to calculate and control the RD cost J1 required when the normal orthogonal conversion mode is performed. Notify department 30.
 ステップS52において、仕事量算出部31は、2×2直交変換モードにおけるコスト算出処理(図17のフローチャート参照)を行って、2×2直交変換モードを行った場合に必要となるRDコストJ2を算出し、制御部30に通知する。 In step S52, the work amount calculation unit 31 performs the cost calculation process in the 2 × 2 orthogonal conversion mode (see the flowchart of FIG. 17), and determines the RD cost J2 required when the 2 × 2 orthogonal conversion mode is performed. Calculate and notify the control unit 30.
 ステップS53において、制御部30は、通常直交変換モードにおけるRDコストJ1と、2×2直交変換モードにおけるRDコストJ2とを比較し、RDコストJ2はRDコストJ1より小さいか否かを判定する。 In step S53, the control unit 30 compares the RD cost J1 in the normal orthogonal conversion mode with the RD cost J2 in the 2 × 2 orthogonal conversion mode, and determines whether the RD cost J2 is smaller than the RD cost J1.
 ステップS53において、制御部30が、RDコストJ2はRDコストJ1より小さい(J2<J1)と判定した場合、処理はステップS54に進む。 If the control unit 30 determines in step S53 that the RD cost J2 is smaller than the RD cost J1 (J2 <J1), the process proceeds to step S54.
 ステップS54において、制御部30は、2×2直交変換を行うことを示す2×2直交変換フラグ(tu_2x2_flag=1)を設定し、ビットストリームに入れて送信するように符号化部29に対する制御を行う。これに応じて、符号化部29は、2×2直交変換を行うことを示す2×2直交変換フラグをビットストリームに入れて送信する。 In step S54, the control unit 30 sets a 2 × 2 orthogonal conversion flag (tu_2x2_flag = 1) indicating that the 2 × 2 orthogonal conversion is performed, and controls the coding unit 29 so as to put it in the bit stream and transmit it. Do. In response to this, the encoding unit 29 puts a 2 × 2 orthogonal conversion flag indicating that the 2 × 2 orthogonal conversion is performed into the bit stream and transmits the bit stream.
 ステップS55において、制御部30は、直交変換部22および逆直交変換部25に対してブロックサイズ2×2の変換単位を設定し、2×2直交変換モードで符号化を実行するように符号化装置11Bの全てのブロックに対する制御を行う。これにより、図8のフローチャートと同様の処理が行われ、その後、処理は終了される。 In step S55, the control unit 30 sets a conversion unit having a block size of 2 × 2 for the orthogonal conversion unit 22 and the inverse orthogonal conversion unit 25, and encodes the unit so as to execute coding in the 2 × 2 orthogonal conversion mode. Controls all blocks of device 11B. As a result, the same processing as the flowchart of FIG. 8 is performed, and then the processing is terminated.
 一方、ステップS53において、制御部30が、RDコストJ2はRDコストJ1より小さくないと判定した場合、即ち、RDコストJ2はRDコストJ1以上である(J2≧J1)と判定した場合、処理はステップS56に進む。 On the other hand, in step S53, when the control unit 30 determines that the RD cost J2 is not smaller than the RD cost J1, that is, when the RD cost J2 is determined to be RD cost J1 or more (J2 ≧ J1), the processing is performed. The process proceeds to step S56.
 ステップS56において、制御部30は、2×2直交変換を行わないことを示す2×2直交変換フラグ(tu_2x2_flag=0)を設定し、ビットストリームに入れて送信するように符号化部29に対する制御を行う。これに応じて、符号化部29は、2×2直交変換を行わないことを示す2×2直交変換フラグをビットストリームに入れて送信する。 In step S56, the control unit 30 sets a 2 × 2 quadrature conversion flag (tu_2x2_flag = 0) indicating that the 2 × 2 quadrature conversion is not performed, and controls the coding unit 29 so as to put it in the bit stream and transmit it. I do. In response to this, the encoding unit 29 puts a 2 × 2 orthogonal conversion flag indicating that the 2 × 2 orthogonal conversion is not performed into the bit stream and transmits the bit stream.
 ステップS57において、制御部30は、直交変換部22および逆直交変換部25に対して符号化の処理単位と同一の変換単位を設定し、通常直交変換モードで符号化を実行するように符号化装置11Bの全てのブロックに対する制御を行う。これにより、図8のフローチャートのステップS13およびS16で、処理単位と同一の変換単位で直交変換および逆直交変換がそれぞれ1回行われる符号化が実行され、その後、処理は終了される。 In step S57, the control unit 30 sets the same conversion unit as the coding processing unit for the orthogonal conversion unit 22 and the inverse orthogonal conversion unit 25, and encodes so as to execute the coding in the normal orthogonal conversion mode. Controls all blocks of device 11B. As a result, in steps S13 and S16 of the flowchart of FIG. 8, coding is performed in which the orthogonal conversion and the inverse orthogonal conversion are performed once in the same conversion unit as the processing unit, and then the processing is terminated.
 図16は、図15のステップS51で行われる通常直交変換モードにおけるコスト算出処理を説明するフローチャートである。 FIG. 16 is a flowchart illustrating the cost calculation process in the normal orthogonal conversion mode performed in step S51 of FIG.
 ステップS61乃至S64において、図8のステップS11乃至S14と同様の処理が行われる。なお、ステップS63では、ブロックサイズ4×4の処理単位で直交変換が行われる。そして、ステップS65において、符号化部29は、ステップS64で量子化部23から供給されたブロックサイズ4×4の処理単位の量子化変換係数を、所定の符号化方式に従って符号化して仕事量算出部31に供給し、仕事量算出部31は、符号量R1を算出する。 In steps S61 to S64, the same processing as in steps S11 to S14 of FIG. 8 is performed. In step S63, orthogonal conversion is performed in processing units having a block size of 4 × 4. Then, in step S65, the coding unit 29 encodes the quantization conversion coefficient of the processing unit of the block size 4 × 4 supplied from the quantization unit 23 in step S64 according to a predetermined coding method to calculate the workload. It is supplied to the unit 31, and the work amount calculation unit 31 calculates the code amount R1.
 ステップS66乃至S68において、図8のステップS15乃至S17と同様の処理が行われ、ステップS68で演算部26が算出したブロックサイズ4×4の処理単位の復号画像が仕事量算出部31に供給される。なお、ステップS67では、ブロックサイズ4×4の処理単位で逆直交変換が行われる。そして、ステップS69において、仕事量算出部31は、ステップS68で供給されたブロックサイズ4×4の処理単位の復号画像から2乗誤差D1を算出する。 In steps S66 to S68, the same processing as in steps S15 to S17 of FIG. 8 is performed, and the decoded image of the processing unit of the block size 4 × 4 calculated by the calculation unit 26 in step S68 is supplied to the work amount calculation unit 31. To. In step S67, inverse orthogonal conversion is performed in processing units having a block size of 4 × 4. Then, in step S69, the work amount calculation unit 31 calculates the square error D1 from the decoded image of the processing unit of the block size 4 × 4 supplied in step S68.
 ステップS70において、仕事量算出部31は、ステップS65で算出した符号量R1と、ステップS69で算出した2乗誤差D1とに基づいて通常直交変換モードにおけるRDコストJ1を計算して求めた後、処理は終了される。 In step S70, the work amount calculation unit 31 calculates and obtains the RD cost J1 in the normal orthogonal conversion mode based on the code amount R1 calculated in step S65 and the square error D1 calculated in step S69, and then obtains the result. The process is terminated.
 図17は、図15のステップS52で行われる2×2直交変換モードにおけるコスト算出処理を説明するフローチャートである。 FIG. 17 is a flowchart illustrating the cost calculation process in the 2 × 2 orthogonal conversion mode performed in step S52 of FIG.
 ステップS81乃至S84において、図8のステップS11乃至S14と同様の処理が行われる。そして、ステップS85において、符号化部29は、ステップS84で量子化部23から供給されたブロックサイズ4×4の処理単位の量子化変換係数を、所定の符号化方式に従って符号化して仕事量算出部31に供給し、仕事量算出部31は、符号量R2を算出する。 In steps S81 to S84, the same processing as in steps S11 to S14 of FIG. 8 is performed. Then, in step S85, the coding unit 29 encodes the quantization conversion coefficient of the processing unit of the block size 4 × 4 supplied from the quantization unit 23 in step S84 according to a predetermined coding method to calculate the workload. It is supplied to the unit 31, and the work amount calculation unit 31 calculates the code amount R2.
 ステップS86乃至S88において、図8のステップS15乃至S17と同様の処理が行われ、ステップS88で演算部26が算出したブロックサイズ4×4の処理単位の復号画像が仕事量算出部31に供給される。そして、ステップS89において、仕事量算出部31は、ステップS88で供給されたブロックサイズ4×4の処理単位の復号画像から2乗誤差D2を算出する。 In steps S86 to S88, the same processing as in steps S15 to S17 of FIG. 8 is performed, and the decoded image of the processing unit of the block size 4 × 4 calculated by the calculation unit 26 in step S88 is supplied to the work amount calculation unit 31. To. Then, in step S89, the work amount calculation unit 31 calculates the square error D2 from the decoded image of the processing unit of the block size 4 × 4 supplied in step S88.
 ステップS90において、仕事量算出部31は、ステップS85で算出した符号量R2と、ステップS89で算出した2乗誤差D2とに基づいて2×2直交変換モードにおけるRDコストJ2を計算して求めた後、処理は終了される。 In step S90, the work amount calculation unit 31 calculates and obtains the RD cost J2 in the 2 × 2 orthogonal conversion mode based on the code amount R2 calculated in step S85 and the squared error D2 calculated in step S89. After that, the process is finished.
 図18に示すフローチャートを参照して、復号装置12Aにおいて行われる復号処理の第3の処理例について説明する。 A third processing example of the decoding process performed in the decoding device 12A will be described with reference to the flowchart shown in FIG.
 ステップS101において、復号部41は、図15のステップS55またはS57で符号化装置11Bから出力されたビットストリームから、2×2直交変換フラグを取得して制御部47に供給する。 In step S101, the decoding unit 41 acquires a 2 × 2 orthogonal conversion flag from the bit stream output from the coding device 11B in step S55 or S57 of FIG. 15 and supplies it to the control unit 47.
 ステップS102において、制御部47は、ステップS101で復号部41から供給された2×2直交変換フラグが、2×2直交変換を行うことを示しているか否かを判定する。 In step S102, the control unit 47 determines whether or not the 2 × 2 orthogonal conversion flag supplied from the decoding unit 41 in step S101 indicates that the 2 × 2 orthogonal conversion is performed.
 ステップS102において、制御部47が、2×2直交変換フラグが2×2直交変換を行うことを示している(tu_2x2_flag=1)と判定した場合、処理はステップS103に進む。ステップS103において、制御部47は、逆直交変換部43に対してブロックサイズ2×2の変換単位を設定し、2×2直交変換モードで符号化を実行するように復号装置12Aの全てのブロックに対する制御を行う。これにより、図9のフローチャートと同様の処理が行われ、その後、処理は終了される。 If the control unit 47 determines in step S102 that the 2 × 2 orthogonal conversion flag performs 2 × 2 orthogonal conversion (tu_2x2_flag = 1), the process proceeds to step S103. In step S103, the control unit 47 sets a conversion unit having a block size of 2 × 2 for the inverse orthogonal conversion unit 43, and all blocks of the decoding device 12A so as to execute coding in the 2 × 2 orthogonal conversion mode. Control against. As a result, the same processing as the flowchart of FIG. 9 is performed, and then the processing is terminated.
 一方、ステップS102において、制御部47が、2×2直交変換フラグが2×2直交変換を行うことを示していない(tu_2x2_flag=0)と判定した場合、処理はステップS104に進む。ステップS104において、制御部47は、逆直交変換部43に対して復号の処理単位と同一の変換単位を設定し、通常直交変換モードで復号を実行するように符号化装置11Aの全てのブロックに対する制御を行う。これにより、図9のフローチャートのステップS23で、処理単位と同一の変換単位で逆直交変換が1回行われる復号が実行され、その後、処理は終了される。 On the other hand, if the control unit 47 determines in step S102 that the 2 × 2 orthogonal conversion flag does not indicate that 2 × 2 orthogonal conversion is performed (tu_2x2_flag = 0), the process proceeds to step S104. In step S104, the control unit 47 sets the same conversion unit as the decoding processing unit for the inverse orthogonal conversion unit 43, and for all the blocks of the coding device 11A so as to execute the decoding in the normal orthogonal conversion mode. Take control. As a result, in step S23 of the flowchart of FIG. 9, decoding is executed in which the inverse orthogonal conversion is performed once in the same conversion unit as the processing unit, and then the processing is terminated.
 以上のように、符号化装置11Bおよび復号装置12Aは、よりコストが少なくなるように、2×2直交変換モードおよび通常直交変換モードを切り替えて用いることができる。 As described above, the coding device 11B and the decoding device 12A can be used by switching between the 2 × 2 orthogonal conversion mode and the normal orthogonal conversion mode so as to reduce the cost.
 <符号化処理および復号処理の第4の処理例>
 図19に示すフローチャートを参照して、符号化装置11Bにおいて行われる符号化処理の第4の処理例について説明する。
<Fourth processing example of coding processing and decoding processing>
A fourth processing example of the coding processing performed in the coding apparatus 11B will be described with reference to the flowchart shown in FIG.
 ステップS111およびS112において、図15のステップS51およびS52と同様の処理が行われ、通常直交変換モードにおけるRDコストJ1、および2×2直交変換モードにおけるRDコストJ2が制御部30に通知される。 In steps S111 and S112, the same processing as in steps S51 and S52 of FIG. 15 is performed, and the RD cost J1 in the normal orthogonal conversion mode and the RD cost J2 in the 2 × 2 orthogonal conversion mode are notified to the control unit 30.
 ステップS113において、仕事量算出部31は、4×2直交変換モードにおけるコスト算出処理を行って、4×2直交変換モードを行った場合に必要となるRDコストJ3を算出し、制御部30に通知する。なお、4×2直交変換モードにおけるコスト算出処理は、図17フローチャートを参照して説明した2×2直交変換モードにおけるコスト算出処理におけるステップS83およびS87の処理がブロックサイズ4×2の処理単位で行われる。そして、符号量R3と2乗誤差D3とに基づいて求められる4×2直交変換モードにおけるRDコストJ3が制御部30に通知される。 In step S113, the work amount calculation unit 31 performs the cost calculation process in the 4 × 2 orthogonal conversion mode, calculates the RD cost J3 required when the 4 × 2 orthogonal conversion mode is performed, and causes the control unit 30 to calculate the RD cost J3. Notice. In the cost calculation process in the 4 × 2 orthogonal conversion mode, the processes of steps S83 and S87 in the cost calculation process in the 2 × 2 orthogonal conversion mode described with reference to the flowchart of FIG. 17 are in the processing unit of the block size 4 × 2. Will be done. Then, the control unit 30 is notified of the RD cost J3 in the 4 × 2 orthogonal conversion mode obtained based on the code amount R3 and the square error D3.
 ステップS114において、制御部30は、通常直交変換モードにおけるRDコストJ1、2×2直交変換モードにおけるRDコストJ2、および4×2直交変換モードにおけるRDコストJ3を比較し、コストが最も小さなモードを判定する。 In step S114, the control unit 30 compares the RD cost J1 in the normal orthogonal conversion mode, the RD cost J2 in the 2 × 2 orthogonal conversion mode, and the RD cost J3 in the 4 × 2 orthogonal conversion mode, and selects the mode with the lowest cost. judge.
 ステップS114において、制御部30が、コストが最も小さなモードが2×2直交変換モードにおけるRDコストJ2であると判定した場合、処理はステップS115に進む。 If the control unit 30 determines in step S114 that the mode with the lowest cost is the RD cost J2 in the 2 × 2 orthogonal conversion mode, the process proceeds to step S115.
 ステップS115において、制御部30は、2×2直交変換を行うことを示す直交変換モードフラグ(tu_index_2)を設定し、ビットストリームに入れて送信するように符号化部29に対する制御を行う。これに応じて、符号化部29は、2×2直交変換を行うことを示す直交変換モードフラグをビットストリームに入れて送信する。 In step S115, the control unit 30 sets an orthogonal conversion mode flag (tu_index_2) indicating that 2 × 2 orthogonal conversion is performed, and controls the coding unit 29 so as to put it in a bit stream and transmit it. In response to this, the encoding unit 29 puts an orthogonal conversion mode flag indicating that the 2 × 2 orthogonal conversion is performed into the bit stream and transmits it.
 ステップS116において、制御部30は、直交変換部22および逆直交変換部25に対してブロックサイズ2×2の変換単位を設定し、2×2直交変換モードで符号化を実行するように符号化装置11Bの全てのブロックに対する制御を行う。これにより、図8のフローチャートと同様の処理が行われ、その後、処理は終了される。 In step S116, the control unit 30 sets a conversion unit having a block size of 2 × 2 for the orthogonal conversion unit 22 and the inverse orthogonal conversion unit 25, and encodes so as to execute coding in the 2 × 2 orthogonal conversion mode. Controls all blocks of device 11B. As a result, the same processing as the flowchart of FIG. 8 is performed, and then the processing is terminated.
 一方、ステップS114において、制御部30が、コストが最も小さなモードが4×2直交変換モードにおけるRDコストJ3であると判定した場合、処理はステップS117に進む。 On the other hand, if the control unit 30 determines in step S114 that the mode with the lowest cost is the RD cost J3 in the 4 × 2 orthogonal conversion mode, the process proceeds to step S117.
 ステップS117において、制御部30は、4×2直交変換を行うことを示す直交変換モードフラグ(tu_index_1)を設定し、ビットストリームに入れて送信するように符号化部29に対する制御を行う。これに応じて、符号化部29は、4×2直交変換を行うことを示す直交変換モードフラグをビットストリームに入れて送信する。 In step S117, the control unit 30 sets an orthogonal conversion mode flag (tu_index_1) indicating that 4 × 2 orthogonal conversion is performed, and controls the coding unit 29 so as to put it in a bit stream and transmit it. In response to this, the encoding unit 29 puts an orthogonal conversion mode flag indicating that the 4 × 2 orthogonal conversion is performed into the bit stream and transmits it.
 ステップS118において、制御部30は、直交変換部22および逆直交変換部25に対してブロックサイズ4×2の変換単位を設定し、4×2直交変換モードで符号化を実行するように符号化装置11Bの全てのブロックに対する制御を行う。これにより、図8のフローチャートのステップS13およびS16で、ブロックサイズ4×2の処理単位で直交変換および逆直交変換がそれぞれ2回行われる符号化が実行され、その後、処理は終了される。 In step S118, the control unit 30 sets a conversion unit having a block size of 4 × 2 for the orthogonal conversion unit 22 and the inverse orthogonal conversion unit 25, and encodes so as to execute coding in the 4 × 2 orthogonal conversion mode. Controls all blocks of device 11B. As a result, in steps S13 and S16 of the flowchart of FIG. 8, coding is performed in which orthogonal conversion and inverse orthogonal conversion are performed twice in each processing unit having a block size of 4 × 2, and then the processing is terminated.
 一方、ステップS114において、制御部30が、コストが最も小さなモードが通常直交変換モードにおけるRDコストJ1であると判定した場合、処理はステップS119に進む。 On the other hand, if the control unit 30 determines in step S114 that the mode with the lowest cost is the RD cost J1 in the normal orthogonal conversion mode, the process proceeds to step S119.
 ステップS119において、制御部30は、通常の直交変換を行うことを示す直交変換モードフラグ(tu_index_0)を設定し、ビットストリームに入れて送信するように符号化部29に対する制御を行う。これに応じて、符号化部29は、通常の直交変換を行うことを示す直交変換モードフラグをビットストリームに入れて送信する。 In step S119, the control unit 30 sets an orthogonal conversion mode flag (tu_index_0) indicating that normal orthogonal conversion is performed, and controls the coding unit 29 so as to put it in a bit stream and transmit it. In response to this, the encoding unit 29 puts the orthogonal conversion mode flag indicating that the normal orthogonal conversion is performed into the bit stream and transmits it.
 ステップS120において、制御部30は、直交変換部22および逆直交変換部25に対して符号化の処理単位と同一の変換単位を設定し、通常直交変換モードで符号化を実行するように符号化装置11Bの全てのブロックに対する制御を行う。これにより、図8のフローチャートのステップS13およびS16で、処理単位と同一の変換単位で直交変換および逆直交変換がそれぞれ1回行われる符号化が実行され、その後、処理は終了される。 In step S120, the control unit 30 sets the same conversion unit as the coding processing unit for the orthogonal conversion unit 22 and the inverse orthogonal conversion unit 25, and encodes so as to execute the coding in the normal orthogonal conversion mode. Controls all blocks of device 11B. As a result, in steps S13 and S16 of the flowchart of FIG. 8, coding is performed in which the orthogonal conversion and the inverse orthogonal conversion are performed once in the same conversion unit as the processing unit, and then the processing is terminated.
 図20に示すフローチャートを参照して、復号装置12Aにおいて行われる符号化処理の第4の処理例について説明する。 A fourth processing example of the coding processing performed in the decoding device 12A will be described with reference to the flowchart shown in FIG.
 ステップS131において、復号部41は、図19のステップS116,S118、またはS120で符号化装置11Bから出力されたビットストリームから、直交変換モードフラグを取得して制御部47に供給する。 In step S131, the decoding unit 41 acquires the orthogonal conversion mode flag from the bit stream output from the coding device 11B in steps S116, S118, or S120 of FIG. 19 and supplies it to the control unit 47.
 ステップS132において、制御部47は、ステップS131で復号部41から供給された直交変換モードフラグが、2×2直交変換、4×2直交変換、および、通常の直交変換のうち、いずれを行うことを示しているかを判定する。 In step S132, the control unit 47 performs any of 2 × 2 orthogonal conversion, 4 × 2 orthogonal conversion, and normal orthogonal conversion with the orthogonal conversion mode flag supplied from the decoding unit 41 in step S131. Is determined.
 ステップS132において、制御部47が、直交変換モードフラグが2×2直交変換を行うことを示している(tu_index_2)と判定した場合、処理はステップS133に進む。ステップS133において、制御部47は、逆直交変換部43に対してブロックサイズ2×2の変換単位を設定し、2×2直交変換モードで復号を実行するように復号装置12Bの全てのブロックに対する制御を行う。これにより、図9のフローチャートと同様の処理が行われ、その後、処理は終了される。 If the control unit 47 determines in step S132 that the orthogonal conversion mode flag indicates that 2 × 2 orthogonal conversion is performed (tu_index_2), the process proceeds to step S133. In step S133, the control unit 47 sets a conversion unit having a block size of 2 × 2 for the inverse orthogonal conversion unit 43, and performs decoding for all the blocks of the decoding device 12B so as to execute decoding in the 2 × 2 orthogonal conversion mode. Take control. As a result, the same processing as the flowchart of FIG. 9 is performed, and then the processing is terminated.
 一方、ステップS132において、制御部47が、直交変換モードフラグが4×2直交変換を行うことを示している(tu_index_1)と判定した場合、処理はステップS134に進む。ステップS134において、制御部47は、逆直交変換部43に対してブロックサイズ4×2の変換単位を設定し、4×2直交変換モードで復号を実行するように復号装置12Bの全てのブロックに対する制御を行う。これにより、図9のフローチャートのステップS23で、ブロックサイズ4×2の変換単位で逆直交変換が2回行われる復号が実行され、その後、処理は終了される。 On the other hand, if the control unit 47 determines in step S132 that the orthogonal conversion mode flag indicates that 4 × 2 orthogonal conversion is performed (tu_index_1), the process proceeds to step S134. In step S134, the control unit 47 sets a conversion unit having a block size of 4 × 2 for the inverse orthogonal conversion unit 43, and performs decoding for all blocks of the decoding device 12B so as to execute decoding in the 4 × 2 orthogonal conversion mode. Take control. As a result, in step S23 of the flowchart of FIG. 9, decoding is executed in which the inverse orthogonal conversion is performed twice in the conversion unit of the block size 4 × 2, and then the processing is terminated.
 一方、ステップS132において、制御部47が、直交変換モードフラグが通常の直交変換を行うことを示している(tu_index_0)と判定した場合、処理はステップS135に進む。ステップS135において、制御部47は、逆直交変換部43に対して復号の処理単位と同一の変換単位を設定し、通常直交変換モードで復号を実行するように符号化装置11Bの全てのブロックに対する制御を行う。これにより、図9のフローチャートのステップS23で、処理単位と同一の変換単位で逆直交変換が1回行われる復号が実行され、その後、処理は終了される。 On the other hand, if the control unit 47 determines in step S132 that the orthogonal conversion mode flag indicates that normal orthogonal conversion is performed (tu_index_0), the process proceeds to step S135. In step S135, the control unit 47 sets the same conversion unit as the decoding processing unit for the inverse orthogonal conversion unit 43, and for all the blocks of the coding device 11B so as to execute the decoding in the normal orthogonal conversion mode. Take control. As a result, in step S23 of the flowchart of FIG. 9, decoding is executed in which the inverse orthogonal conversion is performed once in the same conversion unit as the processing unit, and then the processing is terminated.
 以上のように、符号化装置11Bおよび復号装置12Aは、よりコストが少なくなるように、2×2直交変換モード、4×2直交変換モード、および通常直交変換モードを切り替えて用いることができる。 As described above, the coding device 11B and the decoding device 12A can be used by switching between the 2 × 2 orthogonal conversion mode, the 4 × 2 orthogonal conversion mode, and the normal orthogonal conversion mode so as to reduce the cost.
 <量子化変換係数のスキャンの改善方法>
 図21および図22を参照して、量子化変換係数のスキャンの改善方法について説明する。
<How to improve the scan of quantization conversion coefficient>
A method for improving the scan of the quantization conversion coefficient will be described with reference to FIGS. 21 and 22.
 例えば、図21の上段に示すように、従来、ブロックサイズ4×4の処理単位で直交変換を行う場合、ブロックサイズ4×4の左上に低い周波数成分が集まり、ブロックサイズ4×4の右下に高い周波数成分が集まることになる。従って、直交変換が適切に行われる場合には、左上に信号が集中することになる。 For example, as shown in the upper part of FIG. 21, when orthogonal conversion is conventionally performed in a processing unit of block size 4 × 4, low frequency components are gathered in the upper left of block size 4 × 4, and lower right of block size 4 × 4. High frequency components will be collected in. Therefore, if the orthogonal transformation is performed properly, the signal will be concentrated in the upper left.
 そして、上述したように、本実施の形態では、ブロックサイズ2×2の変換単位で直交変換が行われる。ここで、次の式(1)は、ブロックサイズ2×2の処理単位で行われる直交変換を示している。 Then, as described above, in the present embodiment, the orthogonal conversion is performed in the conversion unit of the block size 2 × 2. Here, the following equation (1) shows the orthogonal transformation performed in the processing unit of the block size 2 × 2.
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000001
 この式(1)は、2点のアダマール変換と呼ばれているものであり、式(1)の上側の数式は順方向の直交変換を示しており、式(1)の下側の数式は逆方向の直交変換を示している。そして、式(1)に従って、直交変換される対象となる値である予測残差(x0,x1)が、直交変換後の値である変換係数(X0,X1)に変換される。 This equation (1) is called a two-point Hadamard transform, the upper equation of the equation (1) shows a forward orthogonal transform, and the lower equation of the equation (1) is. It shows the orthogonal transform in the opposite direction. Then, according to the equation (1), the predicted residual (x 0 , x 1 ), which is the value to be orthogonally converted, is converted into the conversion coefficient (X 0 , X 1 ), which is the value after the orthogonal conversion. ..
 例えば、ブロックサイズ4×4の処理単位を4つに分割して、ブロックサイズ2×2の変換単位で直交変換が行われる際、最初に、水平方向に2行の2点の直交変換を行い、その変換後の値を垂直方向に2列の2点の直交変換を行う。 For example, when a processing unit having a block size of 4 × 4 is divided into four and an orthogonal conversion is performed in a conversion unit having a block size of 2 × 2, first, two rows of two points are orthogonally converted in the horizontal direction. , The converted value is subjected to orthogonal conversion of two points in two columns in the vertical direction.
 図21の中段には、ブロックサイズ2×2の変換単位で直交変換が行われた状態が示されており、それぞれブロックサイズ2×2の左上の画素、即ち、画素00、画素02、画素20、および画素22に低い周波数成分が集まっている。そこで、このようにブロックサイズ2×2それぞれの左上に信号が集まる特性を利用して、量子化変換係数のスキャン順序を、図21の下段に示すように変更することが好ましい。 The middle part of FIG. 21 shows a state in which orthogonal conversion is performed in conversion units of block size 2 × 2, and the upper left pixel of block size 2 × 2, that is, pixel 00, pixel 02, and pixel 20 respectively. , And low frequency components are concentrated in the pixel 22. Therefore, it is preferable to change the scanning order of the quantization conversion coefficient as shown in the lower part of FIG. 21 by utilizing the characteristic that signals are gathered in the upper left of each of the block sizes 2 × 2.
 例えば、上述の図2における符号化で説明したように、従来、ブロックサイズ4×4の処理単位全体で、右下から左上に向かってジグザグ(Z字状に直線が何度も左右に折れ曲がるような形状)となるスキャン順序で量子化変換係数がスキャンされていた。これに対し、4つのブロックサイズ2×2の変換単位について、個々の変換単位の右下から左上に向かってジグザグとなる順序で量子化変換係数をスキャンすることを、それぞれ対応する位置の量子化変換係数ごとに、変換単位の右下から左上に向かってジグザグの順序となるように繰り返すスキャン順序で、量子化変換係数がスキャンされるように変更される。 For example, as described in the coding in FIG. 2 above, conventionally, in the entire processing unit having a block size of 4 × 4, a zigzag (Z-shaped straight line bends left and right many times from the lower right to the upper left). The quantization conversion coefficient was scanned in the scan order of (shape). On the other hand, for four block size 2 × 2 conversion units, scanning the quantization conversion coefficients in a zigzag order from the lower right to the upper left of each conversion unit is performed by quantizing the corresponding positions. For each conversion coefficient, the quantization conversion coefficient is changed so that it is scanned in a scanning order that repeats in a zigzag order from the lower right to the upper left of the conversion unit.
 即ち、まず、個々の変換単位の右下の量子化変換係数を、変換単位ごとに右下から左上に向かってジグザグにスキャンし、次に、個々の変換単位の右上の量子化変換係数を、変換単位ごとに右下から左上に向かってジグザグにスキャンする。続いて、個々の変換単位の左下の量子化変換係数を、変換単位ごとに右下から左上に向かってジグザグにスキャンし、最後に、個々の変換単位の左上の量子化変換係数を、変換単位ごとに右下から左上に向かってジグザグにスキャンする。 That is, first, the quantization conversion coefficient at the lower right of each conversion unit is scanned in a zigzag manner from the lower right to the upper left for each conversion unit, and then the quantization conversion coefficient at the upper right of each conversion unit is displayed. Scan in a zigzag manner from the lower right to the upper left for each conversion unit. Then, the lower left quantization conversion coefficient of each conversion unit is scanned in a zigzag manner from the lower right to the upper left for each conversion unit, and finally, the upper left quantization conversion coefficient of each conversion unit is converted. Scan from the lower right to the upper left in a zigzag manner.
 これにより、従来のスキャン順序よりも、量子化変換係数が小さい可能性が高い画素から先に、量子化変換係数が大きい可能性が高い画素が後になるようなスキャン順序となる。具体的には、画素33、画素13、画素31、画素11、画素23、画素03、画素21、画素01、画素32、画素12、画素30、画素10、画素22、画素02、画素20、および画素00のスキャン順序となる。 As a result, the scan order is such that the pixels with a high possibility of having a small quantization conversion coefficient come first, and the pixels with a high possibility of having a large quantization conversion coefficient come after with the conventional scan order. Specifically, pixel 33, pixel 13, pixel 31, pixel 11, pixel 23, pixel 03, pixel 21, pixel 01, pixel 32, pixel 12, pixel 30, pixel 10, pixel 22, pixel 02, pixel 20, And the scanning order of pixel 00.
 これにより、例えば、量子化変換係数が0になるものを最初に集めることになり、効率的な符号化が達成される。 As a result, for example, those having a quantization conversion coefficient of 0 are collected first, and efficient coding is achieved.
 次に、図22を参照して、量子化変換係数のスキャンの改善方法の他の例について説明する。 Next, with reference to FIG. 22, another example of an improvement method for scanning the quantization conversion coefficient will be described.
 例えば、イントラ予測の性質上、参照画素に近い左側および上側の残差信号が小さくなる特性がある。従って、この特性を利用し、図22の上段に示すように、ブロックサイズ2×2の変換単位で直交変換が行われた後、図22の中段に示すように、左上のブロックサイズ2×2の変換単位と右下のブロックサイズ2×2の変換単位とを入れ替えた後に、図21で説明したスキャン順序でスキャンを行う。即ち、右下側にある変換単位と左上側にある変換単位とを、右上および左下を結ぶ対角線を対称にして、それぞれの変換単位ごとで(変換単位内の量子化変換係数の配置は変更せずに)入れ替えを行った後に、量子化変換係数のスキャンを行う。これにより、具体的には、画素11、画素13、画素31、画素33、画素01、画素03、画素21、画素23、画素10、画素12、画素30、画素32、画素00、画素02、画素20、および画素22のスキャン順序となる。 For example, due to the nature of intra-prediction, there is a characteristic that the residual signals on the left and upper sides near the reference pixel become smaller. Therefore, using this characteristic, after orthogonal conversion is performed in the conversion unit of the block size 2 × 2 as shown in the upper part of FIG. 22, the block size 2 × 2 in the upper left is performed as shown in the middle part of FIG. After exchanging the conversion unit of the above and the conversion unit of the lower right block size 2 × 2, scanning is performed in the scanning order described with reference to FIG. That is, the conversion unit on the lower right side and the conversion unit on the upper left side are made symmetrical with respect to the diagonal line connecting the upper right and the lower left, and the arrangement of the quantization conversion coefficient in the conversion unit can be changed for each conversion unit. After the replacement (without), scan the quantization conversion coefficient. As a result, specifically, pixel 11, pixel 13, pixel 31, pixel 33, pixel 01, pixel 03, pixel 21, pixel 23, pixel 10, pixel 12, pixel 30, pixel 32, pixel 00, pixel 02, The scanning order of the pixel 20 and the pixel 22 is set.
 即ち、上述した特性により、直交変換後の変換係数は、左上のブロックサイズ2×2が小さくなることが期待され、右下のブロックサイズ2×2が大きくなることが期待される。従って、左上のブロックサイズ2×2と右下のブロックサイズ2×2とを入れ替えて、残差信号が比較的大きいと期待される右下のブロックサイズ2×2をスキャンの順序の後の方にすることで、より効率的な符号化が達成される。 That is, due to the above-mentioned characteristics, the conversion coefficient after orthogonal conversion is expected to be smaller in the upper left block size 2 × 2 and larger in the lower right block size 2 × 2. Therefore, the upper left block size 2x2 and the lower right block size 2x2 are exchanged, and the lower right block size 2x2, which is expected to have a relatively large residual signal, is placed later in the scanning order. By setting, more efficient coding is achieved.
 従って、例えば、符号化部29が、このようなスキャン順で量子化変換係数をスキャンすることで、符号化装置11は、符号化効率のさらなる向上を図ることができる。 Therefore, for example, the coding unit 29 scans the quantization conversion coefficient in such a scanning order, so that the coding device 11 can further improve the coding efficiency.
 <コンピュータの構成例>
 次に、上述した一連の処理(情報処理方法)は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
<Computer configuration example>
Next, the series of processes (information processing method) described above can be performed by hardware or software. When a series of processes is performed by software, the programs constituting the software are installed on a general-purpose computer or the like.
 図23は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示すブロック図である。 FIG. 23 is a block diagram showing a configuration example of an embodiment of a computer in which a program for executing the above-mentioned series of processes is installed.
 プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。 The program can be recorded in advance on the hard disk 105 or ROM 103 as a recording medium built in the computer.
 あるいはまた、プログラムは、ドライブ109によって駆動されるリムーバブル記録媒体111に格納(記録)しておくことができる。このようなリムーバブル記録媒体111は、いわゆるパッケージソフトウェアとして提供することができる。ここで、リムーバブル記録媒体111としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。 Alternatively, the program can be stored (recorded) in the removable recording medium 111 driven by the drive 109. Such a removable recording medium 111 can be provided as so-called package software. Here, examples of the removable recording medium 111 include a flexible disk, a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto Optical) disk, a DVD (Digital Versatile Disc), a magnetic disk, and a semiconductor memory.
 なお、プログラムは、上述したようなリムーバブル記録媒体111からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク105にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。 In addition to installing the program on the computer from the removable recording medium 111 as described above, the program can be downloaded to the computer via a communication network or a broadcasting network and installed on the built-in hard disk 105. That is, for example, the program transfers wirelessly from a download site to a computer via an artificial satellite for digital satellite broadcasting, or transfers to a computer by wire via a network such as LAN (Local Area Network) or the Internet. be able to.
 コンピュータは、CPU(Central Processing Unit)102を内蔵しており、CPU102には、バス101を介して、入出力インタフェース110が接続されている。 The computer includes a CPU (Central Processing Unit) 102, and an input/output interface 110 is connected to the CPU 102 via a bus 101.
 CPU102は、入出力インタフェース110を介して、ユーザによって、入力部107が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)103に格納されているプログラムを実行する。あるいは、CPU102は、ハードディスク105に格納されたプログラムを、RAM(Random Access Memory)104にロードして実行する。 When a command is input by the user by operating the input unit 107 or the like via the input / output interface 110, the CPU 102 executes a program stored in the ROM (Read Only Memory) 103 accordingly. .. Alternatively, the CPU 102 loads the program stored in the hard disk 105 into the RAM (Random Access Memory) 104 and executes it.
 これにより、CPU102は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば、入出力インタフェース110を介して、出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。 As a result, the CPU 102 performs processing according to the above-mentioned flowchart or processing performed according to the above-mentioned block diagram configuration. Then, the CPU 102 outputs the processing result from the output unit 106, transmits it from the communication unit 108, or records it on the hard disk 105, if necessary, via the input / output interface 110, for example.
 なお、入力部107は、キーボードや、マウス、マイク等で構成される。また、出力部106は、LCD(Liquid Crystal Display)やスピーカ等で構成される。 The input unit 107 is composed of a keyboard, a mouse, a microphone, and the like. Further, the output unit 106 is composed of an LCD (Liquid Crystal Display), a speaker, or the like.
 ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。 Here, in the present specification, the processing performed by the computer according to the program does not necessarily have to be performed in chronological order in the order described as the flowchart. That is, the processing performed by the computer according to the program also includes processing executed in parallel or individually (for example, parallel processing or processing by an object).
 また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。 Further, the program may be processed by one computer (processor) or may be distributed by a plurality of computers. Further, the program may be transferred to a distant computer and executed.
 さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。 Furthermore, in the present specification, 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 a device in which a plurality of modules are housed in one housing are both systems. ..
 また、例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。 Further, for example, the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units). On the contrary, the configurations described above as a plurality of devices (or processing units) may be collectively configured as one device (or processing unit). Further, of course, a configuration other than the above may be added to the configuration of each device (or each processing unit). Further, if the configuration and operation of the entire system are substantially the same, a part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit). ..
 また、例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。 Further, for example, this technology can have a cloud computing configuration in which one function is shared by a plurality of devices via a network and jointly processed.
 また、例えば、上述したプログラムは、任意の装置において実行することができる。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。 Further, for example, the above-mentioned program can be executed in any device. In that case, the device may have necessary functions (functional blocks, etc.) so that necessary information can be obtained.
 また、例えば、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。 Further, for example, each step described in the above flowchart can be executed by one device or can be shared and executed by a plurality of devices. Further, when a plurality of processes are included in one step, the plurality of processes included in the one step can be executed by one device or shared by a plurality of devices. In other words, a plurality of processes included in one step can be executed as processes of a plurality of steps. On the contrary, the processes described as a plurality of steps can be collectively executed as one step.
 なお、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。 In the program executed by the computer, the processing of the steps for describing the program may be executed in chronological order according to the order described in this specification, or may be called in parallel or called. It may be executed individually at a necessary timing such as time. That is, as long as there is no contradiction, the processing of each step may be executed in an order different from the above-mentioned order. Further, the processing of the step for writing this program may be executed in parallel with the processing of another program, or may be executed in combination with the processing of another program.
 なお、本明細書において複数説明した本技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。 It should be noted that the present techniques described in the present specification can be independently implemented independently as long as there is no contradiction. Of course, any plurality of the present technologies can be used in combination. For example, some or all of the techniques described in any of the embodiments may be combined with some or all of the techniques described in other embodiments. It is also possible to carry out a part or all of any of the above-mentioned techniques in combination with other techniques not described above.
 <構成の組み合わせ例>
 なお、本技術は以下のような構成も取ることができる。
(1)
 画像を符号化する際に、符号化の対象となる処理単位で求められる予測残差を、その処理単位よりも小さな変換単位で直交変換して変換係数を求める直交変換部と、
 前記変換係数を、前記処理単位で量子化して量子化変換係数を求める量子化部と、
 前記量子化変換係数を、前記処理単位で符号化してビットストリームを出力する符号化部と
 を備える符号化装置。
(2)
 前記量子化部および前記符号化部は、ブロックサイズ4×4の処理単位で処理を行い、
 前記直交変換部は、ブロックサイズ2×2またはブロックサイズ4×2の変換単位で直交変換を行う
 上記(1)に記載の符号化装置。
(3)
 所定の条件に従って、前記直交変換部が前記符号化の処理単位よりも小さな変換単位で直交変換を行うか否かを判定する制御部
 をさらに備える上記(1)または(2)に記載の符号化装置。
(4)
 前記所定の条件として、前記符号化の処理単位がブロックサイズ4×4であること、イントラ予測であること、または、特定のイントラ予測モードであることのいずれかが用いられる
 上記(3)に記載の符号化装置。
(5)
 前記直交変換部が前記符号化の処理単位で直交変換を行った場合に必要となる第1のコストと、前記直交変換部が前記符号化の処理単位よりも小さな変換単位で直交変換を行った場合に必要となる第2のコストとを算出する仕事量算出部
 をさらに備え、
 前記制御部は、前記第1のコストと前記第2のコストとを比較し、前記第2のコストが小さい場合に、前記変換単位で直交変換を行うと判定し、その判定結果を示すフラグを前記ビットストリームに入れて送信させる
 上記(3)に記載の符号化装置。
(6)
 前記仕事量算出部は、ブロックサイズ4×4で直交変換を行った場合に必要となる第1のコスト、ブロックサイズ2×2で直交変換を行った場合に必要となる第2のコスト、およびブロックサイズ4×2で直交変換を行った場合に必要となる第3のコストを算出し、
 前記制御部は、前記第1のコスト、前記第2のコスト、および前記第3のコストのうち、最もコストが小さくなるブロックサイズの前記変換単位で直交変換を行うと判定し、その判定結果を示すフラグを前記ビットストリームに入れて送信させる
 上記(5)に記載の符号化装置。
(7)
 前記符号化部は、個々の前記変換単位の右下から左上に向かってジグザグとなる順序で前記量子化変換係数をスキャンすることを、それぞれ対応する位置の前記量子化変換係数ごとに、前記変換単位の右下から左上に向かってジグザグの順序となるように繰り返すスキャン順序で符号化を行う
 上記(1)から(6)までのいずれかに記載の符号化装置。
(8)
 前記符号化部は、右下側にある前記変換単位と左上側にある前記変換単位とを、右上および左下を結ぶ対角線を対称にして、前記変換単位ごとで入れ替えを行った後に、前記スキャン順序で符号化を行う
 上記(7)に記載の符号化装置。
(9)
 符号化装置が、
 画像を符号化する際に、符号化の対象となる処理単位で求められる予測残差を、その処理単位よりも小さな変換単位で直交変換して変換係数を求めることと、
 前記変換係数を、前記処理単位で量子化して量子化変換係数を求めることと、
 前記量子化変換係数を、前記処理単位で符号化してビットストリームを出力することと
 を含む符号化方法。
(10)
 符号化の対象となる処理単位で符号化されたビットストリームを、前記処理単位で復号して量子化変換係数を取得する復号部と、
 前記量子化変換係数を、前記処理単位で逆量子化して変換係数を求める逆量子化部と、
 前記変換係数を、前記処理単位よりも小さな変換単位で逆直交変換して予測残差を求める逆直交変換部と
 を備える復号装置。
(11)
 前記復号部および前記逆量子化部は、ブロックサイズ4×4の処理単位で処理を行い、
 前記逆直交変換部は、ブロックサイズ2×2またはブロックサイズ4×2の変換単位で逆直交変換を行う
 上記(10)に記載の復号装置。
(12)
 所定の条件に従って、前記逆直交変換部が前記符号化の処理単位よりも小さな変換単位で逆直交変換を行うか否かを判定する制御部
 をさらに備える上記(10)または(11)に記載の復号装置。
(13)
 前記所定の条件として、前記符号化の処理単位がブロックサイズ4×4であること、イントラ予測であること、または、特定のイントラ予測モードであることのいずれかが用いられる
 上記(12)に記載の復号装置。
(14)
 前記制御部は、前記ビットストリームに含まれるフラグであって、符号化側で前記符号化の処理単位よりも小さな変換単位で直交変換を行うか否かを判定した判定結果を示すフラグに従って、前記逆直交変換部が前記符号化の処理単位よりも小さな変換単位で逆直交変換を行うか否かを判定する
 上記(12)に記載の復号装置。
(15)
 前記制御部は、前記ビットストリームに含まれるフラグであって、符号化側でブロックサイズ4×4で直交変換を行うか、ブロックサイズ2×2で直交変換を行うか、ブロックサイズ4×2で直交変換を行うかを判定した判定結果を示すフラグに従って、前記逆直交変換部が逆直交変換を行う変換単位を選択する
 上記(12)に記載の復号装置。
(16)
 復号装置が、
 符号化の対象となる処理単位で符号化されたビットストリームを、前記処理単位で復号して量子化変換係数を取得することと、
 前記量子化変換係数を、前記処理単位で逆量子化して変換係数を求めることと、
 前記変換係数を、前記処理単位よりも小さな変換単位で逆直交変換して予測残差を求めることと
 を含む復号方法。
<Example of configuration combination>
The present technology can also have the following configurations.
(1)
When encoding an image, an orthogonal conversion unit that obtains the conversion coefficient by orthogonally converting the predicted residual obtained in the processing unit to be encoded in a conversion unit smaller than the processing unit.
A quantization unit that quantizes the conversion coefficient in the processing unit to obtain the quantization conversion coefficient,
A coding device including a coding unit that encodes the quantization conversion coefficient in the processing unit and outputs a bit stream.
(2)
The quantization unit and the coding unit perform processing in a processing unit having a block size of 4 × 4.
The coding device according to (1) above, wherein the orthogonal conversion unit performs orthogonal conversion in conversion units having a block size of 2 × 2 or a block size of 4 × 2.
(3)
The coding according to (1) or (2) above, further comprising a control unit for determining whether or not the orthogonal conversion unit performs orthogonal conversion in a conversion unit smaller than the processing unit of the coding according to a predetermined condition. apparatus.
(4)
As the predetermined condition, one of the block size 4 × 4, the intra prediction, and the specific intra prediction mode is used as the processing unit of the coding according to the above (3). Encoding device.
(5)
The first cost required when the orthogonal conversion unit performs orthogonal conversion in the coding processing unit, and the orthogonal conversion unit performs orthogonal conversion in a conversion unit smaller than the coding processing unit. It also has a work amount calculation unit that calculates the second cost required in some cases.
The control unit compares the first cost with the second cost, determines that the orthogonal conversion is performed in the conversion unit when the second cost is small, and sets a flag indicating the determination result. The encoding device according to (3) above, which is put into the bit stream and transmitted.
(6)
The work amount calculation unit has a first cost required when performing orthogonal conversion with a block size of 4 × 4, a second cost required when performing orthogonal conversion with a block size of 2 × 2, and Calculate the third cost required when orthogonal conversion is performed with a block size of 4 × 2.
The control unit determines that the orthogonal conversion is performed in the conversion unit of the block size, which is the smallest of the first cost, the second cost, and the third cost, and determines the determination result. The encoding device according to (5) above, wherein the indicated flag is put into the bit stream and transmitted.
(7)
The coding unit scans the quantization conversion coefficient in a zigzag order from the lower right to the upper left of each conversion unit, and the conversion is performed for each of the quantization conversion coefficients at the corresponding positions. The coding apparatus according to any one of (1) to (6) above, wherein coding is performed in a scanning order that repeats in a zigzag order from the lower right to the upper left of the unit.
(8)
The coding unit replaces the conversion unit on the lower right side and the conversion unit on the upper left side with the diagonal line connecting the upper right and the lower left symmetrical, and then replaces each conversion unit, and then the scan order. The coding apparatus according to (7) above.
(9)
The encoding device
When encoding an image, the predicted residuals obtained in the processing unit to be encoded are orthogonally converted in conversion units smaller than the processing unit to obtain the conversion coefficient.
Quantizing the conversion coefficient in the processing unit to obtain the quantization conversion coefficient,
A coding method including encoding the quantization conversion coefficient in the processing unit and outputting a bit stream.
(10)
A decoding unit that decodes a bit stream encoded in a processing unit to be encoded in the processing unit to obtain a quantization conversion coefficient.
An inverse quantization unit that obtains the conversion coefficient by dequantizing the quantization conversion coefficient in the processing unit,
A decoding device including an inverse orthogonal conversion unit for obtaining a predicted residual by inversely orthogonally converting the conversion coefficient in a conversion unit smaller than the processing unit.
(11)
The decoding unit and the inverse quantization unit perform processing in processing units having a block size of 4 × 4.
The decoding device according to (10) above, wherein the inverse orthogonal conversion unit performs inverse orthogonal conversion in conversion units having a block size of 2 × 2 or a block size of 4 × 2.
(12)
(10) or (11) above, further comprising a control unit for determining whether or not the inverse orthogonal conversion unit performs inverse orthogonal conversion in a conversion unit smaller than the coding processing unit according to a predetermined condition. Decryptor.
(13)
As the predetermined condition, one of the block size 4 × 4, the intra-prediction, and the specific intra-prediction mode is used as the processing unit of the coding according to the above (12). Decryptor.
(14)
The control unit is a flag included in the bit stream, and according to a flag indicating a determination result indicating whether or not orthogonal conversion is performed in a conversion unit smaller than the processing unit of the coding on the coding side. The decoding device according to (12) above, which determines whether or not the inverse orthogonal conversion unit performs inverse orthogonal conversion in a conversion unit smaller than the coding processing unit.
(15)
The control unit is a flag included in the bit stream, and either performs orthogonal conversion with a block size of 4 × 4 on the coding side, performs orthogonal conversion with a block size of 2 × 2, or performs orthogonal conversion with a block size of 4 × 2. The decoding device according to (12) above, wherein the inverse orthogonal conversion unit selects a conversion unit for performing inverse orthogonal conversion according to a flag indicating a determination result of determining whether to perform orthogonal conversion.
(16)
Decryptor
Obtaining the quantization conversion coefficient by decoding the bitstream encoded in the processing unit to be encoded in the processing unit.
The conversion coefficient is obtained by inversely quantizing the quantization conversion coefficient in the processing unit.
A decoding method including obtaining a predicted residual by inversely orthogonally converting the conversion coefficient in a conversion unit smaller than the processing unit.
 なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。 Note that the present embodiment is not limited to the above-described embodiment, and various changes can be made without departing from the gist of the present disclosure. Further, the effects described in the present specification are merely examples and are not limited, and other effects may be obtained.
 11 符号化装置, 12 復号装置, 21 演算部, 22 直交変換部, 23 量子化部, 24 逆量子化部, 25 逆直交変換部, 26 演算部, 27 フレームメモリ, 28 予測部, 29 符号化部, 30 制御部, 31 仕事量算出部, 41 復号部, 42 逆量子化部, 43 逆直交変換部, 44 演算部, 45 フレームメモリ, 46 予測部, 47 制御部 11 Encoding device, 12 Decoding device, 21 Arithmetic unit, 22 Orthogonal conversion unit, 23 Quantization unit, 24 Inverse quantization unit, 25 Inverse orthogonal conversion unit, 26 Arithmetic unit, 27 Frame memory, 28 Prediction unit, 29 Coding Unit, 30 control unit, 31 workload calculation unit, 41 decoding unit, 42 inverse quantization unit, 43 inverse orthogonal conversion unit, 44 calculation unit, 45 frame memory, 46 prediction unit, 47 control unit

Claims (16)

  1.  画像を符号化する際に、符号化の対象となる処理単位で求められる予測残差を、その処理単位よりも小さな変換単位で直交変換して変換係数を求める直交変換部と、
     前記変換係数を、前記処理単位で量子化して量子化変換係数を求める量子化部と、
     前記量子化変換係数を、前記処理単位で符号化してビットストリームを出力する符号化部と
     を備える符号化装置。
    When encoding an image, an orthogonal conversion unit that obtains the conversion coefficient by orthogonally converting the predicted residual obtained in the processing unit to be encoded in a conversion unit smaller than the processing unit.
    A quantization unit that quantizes the conversion coefficient in the processing unit to obtain the quantization conversion coefficient,
    A coding device including a coding unit that encodes the quantization conversion coefficient in the processing unit and outputs a bit stream.
  2.  前記量子化部および前記符号化部は、ブロックサイズ4×4の処理単位で処理を行い、
     前記直交変換部は、ブロックサイズ2×2またはブロックサイズ4×2の変換単位で直交変換を行う
     請求項1に記載の符号化装置。
    The quantization unit and the coding unit perform processing in a processing unit having a block size of 4 × 4.
    The coding device according to claim 1, wherein the orthogonal conversion unit performs orthogonal conversion in conversion units having a block size of 2 × 2 or a block size of 4 × 2.
  3.  所定の条件に従って、前記直交変換部が前記符号化の処理単位よりも小さな変換単位で直交変換を行うか否かを判定する制御部
     をさらに備える請求項1に記載の符号化装置。
    The coding apparatus according to claim 1, further comprising a control unit for determining whether or not the orthogonal conversion unit performs orthogonal conversion in a conversion unit smaller than the coding processing unit according to a predetermined condition.
  4.  前記所定の条件として、前記符号化の処理単位がブロックサイズ4×4であること、イントラ予測であること、または、特定のイントラ予測モードであることのいずれかが用いられる
     請求項3に記載の符号化装置。
    The third aspect of claim 3, wherein the coding processing unit is block size 4 × 4, intra-prediction, or a specific intra-prediction mode is used as the predetermined condition. Encoding device.
  5.  前記直交変換部が前記符号化の処理単位で直交変換を行った場合に必要となる第1のコストと、前記直交変換部が前記符号化の処理単位よりも小さな変換単位で直交変換を行った場合に必要となる第2のコストとを算出する仕事量算出部
     をさらに備え、
     前記制御部は、前記第1のコストと前記第2のコストとを比較し、前記第2のコストが小さい場合に、前記変換単位で直交変換を行うと判定し、その判定結果を示すフラグを前記ビットストリームに入れて送信させる
     請求項3に記載の符号化装置。
    The first cost required when the orthogonal conversion unit performs orthogonal conversion in the coding processing unit, and the orthogonal conversion unit performs orthogonal conversion in a conversion unit smaller than the coding processing unit. It also has a work amount calculation unit that calculates the second cost required in some cases.
    The control unit compares the first cost with the second cost, determines that the orthogonal conversion is performed in the conversion unit when the second cost is small, and sets a flag indicating the determination result. The encoding device according to claim 3, wherein the bit stream is put into the bit stream and transmitted.
  6.  前記仕事量算出部は、ブロックサイズ4×4で直交変換を行った場合に必要となる第1のコスト、ブロックサイズ2×2で直交変換を行った場合に必要となる第2のコスト、およびブロックサイズ4×2で直交変換を行った場合に必要となる第3のコストを算出し、
     前記制御部は、前記第1のコスト、前記第2のコスト、および前記第3のコストのうち、最もコストが小さくなるブロックサイズの前記変換単位で直交変換を行うと判定し、その判定結果を示すフラグを前記ビットストリームに入れて送信させる
     請求項5に記載の符号化装置。
    The work amount calculation unit has a first cost required when performing orthogonal conversion with a block size of 4 × 4, a second cost required when performing orthogonal conversion with a block size of 2 × 2, and Calculate the third cost required when orthogonal conversion is performed with a block size of 4 × 2.
    The control unit determines that the orthogonal conversion is performed in the conversion unit of the block size, which is the smallest of the first cost, the second cost, and the third cost, and determines the determination result. The encoding device according to claim 5, wherein the indicated flag is put into the bit stream and transmitted.
  7.  前記符号化部は、個々の前記変換単位の右下から左上に向かってジグザグとなる順序で前記量子化変換係数をスキャンすることを、それぞれ対応する位置の前記量子化変換係数ごとに、前記変換単位の右下から左上に向かってジグザグの順序となるように繰り返すスキャン順序で符号化を行う
     請求項1に記載の符号化装置。
    The coding unit scans the quantization conversion coefficient in a zigzag order from the lower right to the upper left of each conversion unit, and the conversion is performed for each of the quantization conversion coefficients at the corresponding positions. The coding apparatus according to claim 1, wherein coding is performed in a scanning order that repeats in a zigzag order from the lower right to the upper left of the unit.
  8.  前記符号化部は、右下側にある前記変換単位と左上側にある前記変換単位とを、右上および左下を結ぶ対角線を対称にして、前記変換単位ごとで入れ替えを行った後に、前記スキャン順序で符号化を行う
     請求項7に記載の符号化装置。
    The coding unit replaces the conversion unit on the lower right side and the conversion unit on the upper left side with the diagonal line connecting the upper right and the lower left symmetrical, and then replaces each conversion unit, and then the scan order. The coding apparatus according to claim 7, wherein the coding device is performed according to claim 7.
  9.  符号化装置が、
     画像を符号化する際に、符号化の対象となる処理単位で求められる予測残差を、その処理単位よりも小さな変換単位で直交変換して変換係数を求めることと、
     前記変換係数を、前記処理単位で量子化して量子化変換係数を求めることと、
     前記量子化変換係数を、前記処理単位で符号化してビットストリームを出力することと
     を含む符号化方法。
    The encoding device
    When encoding an image, the predicted residuals obtained in the processing unit to be encoded are orthogonally converted in conversion units smaller than the processing unit to obtain the conversion coefficient.
    Quantizing the conversion coefficient in the processing unit to obtain the quantization conversion coefficient,
    A coding method including encoding the quantization conversion coefficient in the processing unit and outputting a bit stream.
  10.  符号化の対象となる処理単位で符号化されたビットストリームを、前記処理単位で復号して量子化変換係数を取得する復号部と、
     前記量子化変換係数を、前記処理単位で逆量子化して変換係数を求める逆量子化部と、
     前記変換係数を、前記処理単位よりも小さな変換単位で逆直交変換して予測残差を求める逆直交変換部と
     を備える復号装置。
    A decoding unit that decodes a bit stream encoded in a processing unit to be encoded in the processing unit to obtain a quantization conversion coefficient.
    An inverse quantization unit that obtains the conversion coefficient by dequantizing the quantization conversion coefficient in the processing unit,
    A decoding device including an inverse orthogonal conversion unit for obtaining a predicted residual by inversely orthogonally converting the conversion coefficient in a conversion unit smaller than the processing unit.
  11.  前記復号部および前記逆量子化部は、ブロックサイズ4×4の処理単位で処理を行い、
     前記逆直交変換部は、ブロックサイズ2×2またはブロックサイズ4×2の変換単位で逆直交変換を行う
     請求項10に記載の復号装置。
    The decoding unit and the inverse quantization unit perform processing in processing units having a block size of 4 × 4.
    The decoding device according to claim 10, wherein the inverse orthogonal conversion unit performs inverse orthogonal conversion in conversion units having a block size of 2 × 2 or a block size of 4 × 2.
  12.  所定の条件に従って、前記逆直交変換部が前記符号化の処理単位よりも小さな変換単位で逆直交変換を行うか否かを判定する制御部
     をさらに備える請求項10に記載の復号装置。
    The decoding device according to claim 10, further comprising a control unit for determining whether or not the inverse orthogonal conversion unit performs inverse orthogonal conversion in a conversion unit smaller than the coding processing unit according to a predetermined condition.
  13.  前記所定の条件として、前記符号化の処理単位がブロックサイズ4×4であること、イントラ予測であること、または、特定のイントラ予測モードであることのいずれかが用いられる
     請求項12に記載の復号装置。
    The twelfth claim, wherein the coding processing unit is a block size of 4 × 4, an intra-prediction, or a specific intra-prediction mode is used as the predetermined condition. Decryptor.
  14.  前記制御部は、前記ビットストリームに含まれるフラグであって、符号化側で前記符号化の処理単位よりも小さな変換単位で直交変換を行うか否かを判定した判定結果を示すフラグに従って、前記逆直交変換部が前記符号化の処理単位よりも小さな変換単位で逆直交変換を行うか否かを判定する
     請求項12に記載の復号装置。
    The control unit is a flag included in the bit stream, and according to a flag indicating a determination result indicating whether or not orthogonal conversion is performed in a conversion unit smaller than the processing unit of the coding on the coding side. The decoding device according to claim 12, wherein the inverse orthogonal conversion unit determines whether or not the inverse orthogonal conversion is performed in a conversion unit smaller than the coding processing unit.
  15.  前記制御部は、前記ビットストリームに含まれるフラグであって、符号化側でブロックサイズ4×4で直交変換を行うか、ブロックサイズ2×2で直交変換を行うか、ブロックサイズ4×2で直交変換を行うかを判定した判定結果を示すフラグに従って、前記逆直交変換部が逆直交変換を行う変換単位を選択する
     請求項12に記載の復号装置。
    The control unit is a flag included in the bit stream, and either performs orthogonal conversion with a block size of 4 × 4 on the coding side, performs orthogonal conversion with a block size of 2 × 2, or performs orthogonal conversion with a block size of 4 × 2. The decoding device according to claim 12, wherein the inverse orthogonal conversion unit selects a conversion unit for performing inverse orthogonal conversion according to a flag indicating a determination result of determining whether to perform orthogonal conversion.
  16.  復号装置が、
     符号化の対象となる処理単位で符号化されたビットストリームを、前記処理単位で復号して量子化変換係数を取得することと、
     前記量子化変換係数を、前記処理単位で逆量子化して変換係数を求めることと、
     前記変換係数を、前記処理単位よりも小さな変換単位で逆直交変換して予測残差を求めることと
     を含む復号方法。
    Decryptor
    Obtaining the quantization conversion coefficient by decoding the bitstream encoded in the processing unit to be encoded in the processing unit.
    The conversion coefficient is obtained by inversely quantizing the quantization conversion coefficient in the processing unit.
    A decoding method including obtaining a predicted residual by inversely orthogonally converting the conversion coefficient in a conversion unit smaller than the processing unit.
PCT/JP2020/006993 2019-03-08 2020-02-21 Image encoding device, image encoding method, image decoding device, and image decoding method WO2020184145A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-042518 2019-03-08
JP2019042518A JP2022068378A (en) 2019-03-08 2019-03-08 Image encoder, image encoding method, image decoder and image decoding method

Publications (1)

Publication Number Publication Date
WO2020184145A1 true WO2020184145A1 (en) 2020-09-17

Family

ID=72427831

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/006993 WO2020184145A1 (en) 2019-03-08 2020-02-21 Image encoding device, image encoding method, image decoding device, and image decoding method

Country Status (2)

Country Link
JP (1) JP2022068378A (en)
WO (1) WO2020184145A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009532977A (en) * 2006-04-06 2009-09-10 サムスン エレクトロニクス カンパニー リミテッド Video coding method and apparatus supporting independent parsing
WO2011125313A1 (en) * 2010-04-09 2011-10-13 三菱電機株式会社 Video encoding device and video decoding device
JP2014529279A (en) * 2011-10-11 2014-10-30 クゥアルコム・インコーポレイテッドQualcomm Incorporated Most likely transformation for intra-predictive coding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009532977A (en) * 2006-04-06 2009-09-10 サムスン エレクトロニクス カンパニー リミテッド Video coding method and apparatus supporting independent parsing
WO2011125313A1 (en) * 2010-04-09 2011-10-13 三菱電機株式会社 Video encoding device and video decoding device
JP2014529279A (en) * 2011-10-11 2014-10-30 クゥアルコム・インコーポレイテッドQualcomm Incorporated Most likely transformation for intra-predictive coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SERIES H: "AUDIOVISUAL AND MULTIMEDIA SYSTEMS Infrastructure of audiovisual services-Coding of moving video", RECOMMENDATION ITU-T H.264, April 2017 (2017-04-01), pages 174 - 177, XP055738641, Retrieved from the Internet <URL:https://www.itu.int/rec/T-REC-H.264-201704-S> *

Also Published As

Publication number Publication date
JP2022068378A (en) 2022-05-10

Similar Documents

Publication Publication Date Title
US10841614B2 (en) Low-complexity intra prediction for video coding
US11153573B2 (en) Weighted angular prediction coding for intra coding
RU2696318C1 (en) Improved intra-frame prediction encoding with planar prediction
US10051273B2 (en) Video decoder and video decoding method
US20210227242A1 (en) Unequal weight planar prediction
KR20110135787A (en) Image/video coding and decoding system and method using edge-adaptive transform
JP5377395B2 (en) Encoding device, decoding device, and program
US7702017B2 (en) Moving picture encoding apparatus, moving picture encoding method, moving picture encoding program, moving picture decoding apparatus, moving picture decoding method, and moving picture decoding program
JP2024069447A (en) Image processing device and image processing method
US20130108185A1 (en) Image processing device, image processing method, and program
KR100571814B1 (en) Image coding method and apparatus using spatial predictive coding of chrominance
WO2020184145A1 (en) Image encoding device, image encoding method, image decoding device, and image decoding method
JP7036123B2 (en) Coding method, decoding method, coding device, decoding device, coding program and decoding program
JP2011205602A (en) Encoding apparatus, decoding apparatus, and program
Shleifer et al. Novel intra prediction modes for VP10 codec
WO2022047129A1 (en) Methods and systems for combined lossless and lossy coding
WO2013098937A1 (en) Moving picture encoding method, moving picture decoding method, moving picture encoding device and moving picture decoding device

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

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP