WO2019111316A1 - 符号化方法、復号方法、符号化装置、復号装置、符号化プログラム及び復号プログラム - Google Patents

符号化方法、復号方法、符号化装置、復号装置、符号化プログラム及び復号プログラム Download PDF

Info

Publication number
WO2019111316A1
WO2019111316A1 PCT/JP2017/043603 JP2017043603W WO2019111316A1 WO 2019111316 A1 WO2019111316 A1 WO 2019111316A1 JP 2017043603 W JP2017043603 W JP 2017043603W WO 2019111316 A1 WO2019111316 A1 WO 2019111316A1
Authority
WO
WIPO (PCT)
Prior art keywords
transform
block
prediction block
blocks
horizontal
Prior art date
Application number
PCT/JP2017/043603
Other languages
English (en)
French (fr)
Inventor
陽一 小豆沢
Original Assignee
株式会社ソシオネクスト
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社ソシオネクスト filed Critical 株式会社ソシオネクスト
Priority to JP2019557894A priority Critical patent/JP7036123B2/ja
Priority to PCT/JP2017/043603 priority patent/WO2019111316A1/ja
Publication of WO2019111316A1 publication Critical patent/WO2019111316A1/ja
Priority to US16/890,292 priority patent/US11025911B2/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/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/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
    • 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/167Position within a video image, e.g. region of interest [ROI]
    • 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/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]

Definitions

  • the present invention relates to a coding method, a decoding method, a coding device, a decoding device, a coding program and a decoding program.
  • a standardized video codec for example, H.265 / HEVC etc.
  • the predicted image predicted image by intra-frame prediction or predicted image by inter-frame prediction
  • Orthogonal transformation processing is performed on the predicted residual signal.
  • the coding efficiency changes depending on which type of orthogonal transformation is used, so the type of the prediction residual signal depends on the characteristics of the prediction residual signal. It is desirable to determine the orthogonal transform.
  • Patent Document 1 when encoding an input image by inter-frame prediction, the type of orthogonal transformation is made from the positional relationship between the prediction block used for inter-frame prediction and the conversion block used for orthogonal transformation. A method to narrow down is proposed. According to the method, it is possible to select orthogonal transformation according to the characteristics of the prediction residual signal determined from the respective positional relationships.
  • the coding cost for example, rate distortion (RD: Rate Distortion) value
  • RD Rate Distortion
  • the coding cost is calculated for each of the narrowed types of orthogonal transformation, and one type of orthogonality is calculated by comparing the RD values. It is configured to determine the transformation. Therefore, in the case of Patent Document 1 described above, there is also a problem that the calculation load on the encoder side is high when encoding an input image by inter-frame prediction.
  • the encoding method comprises the following configuration. That is, An encoding method for encoding an image using inter-frame prediction, comprising: Identifying a prediction block to be a target of the inter-screen prediction; Dividing the prediction block into a plurality of rectangular-shaped transformation blocks by a division method that is symmetrical about a horizontal line passing through the center of the prediction block and symmetrical about a vertical line passing through the center of the prediction block; Determining, for each of the plurality of transform blocks, the type of orthogonal transform used in each of the vertical direction and the horizontal direction from the positional relationship with the center of the prediction block.
  • FIG. 1 is a diagram showing an application example of an encoder and a decoder.
  • FIG. 2 is a diagram showing another application example of the encoder and the decoder.
  • FIG. 3 is a diagram illustrating an example of the hardware configuration of the encoder.
  • FIG. 4 is a diagram showing an example of a functional configuration of the encoder.
  • FIG. 5 is a diagram showing an example of the characteristic of the prediction residual signal in the inter prediction mode.
  • FIG. 6A is a diagram showing types and characteristics of orthogonal transformation.
  • FIG. 6B is a diagram showing types and characteristics of orthogonal transformation.
  • FIG. 7 is a first diagram showing characteristics of prediction residual signals in each transform block and types of orthogonal transform assigned to each transform block.
  • FIG. 8 is a second diagram showing the characteristic of the prediction residual signal in each transform block and the type of orthogonal transform assigned to each transform block.
  • FIG. 9 is a third diagram illustrating characteristics of prediction residual signals in each transform block and types of orthogonal transform assigned to each transform block.
  • FIG. 10 is a diagram illustrating an example of a functional configuration of the orthogonal transform unit.
  • FIG. 11 is a flowchart showing the flow of orthogonal transform processing by the orthogonal transform unit.
  • FIG. 12 is a diagram showing an example of a functional configuration of the decoder.
  • FIG. 13 is a diagram showing the characteristic of the prediction residual signal calculated in each transform block and the type of inverse orthogonal transform assigned to each transform block.
  • FIG. 14 is a diagram illustrating an example of a functional configuration of the inverse orthogonal transform unit.
  • FIG. 15 is a flowchart showing a flow of inverse orthogonal transformation processing by the inverse orthogonal transformation unit.
  • FIG. 1 is a diagram showing an application example of an encoder and a decoder.
  • an image processing system 100 to which the encoder 110 and the decoder 120 are applied is formed by arranging the encoder 110 in a transmitter and the decoder 120 in a receiver and connecting them via a network 160. Can.
  • the encoder 110 disposed in the transmission apparatus generates a data stream (coded sequence) by encoding the input image data. Also, the transmitting device transmits the generated data stream to the receiving device via the network 160.
  • the receiver receives the data stream. Also, the decoder 120 disposed in the receiving apparatus generates image data by decoding the data stream and displays the image data.
  • the encoder 110 and the decoder 120 can be applied to various fields such as the Internet field, the broadcast field, and the communication field, for example.
  • the application example 100a shows an example in which the image processing system 100 is applied to the Internet field.
  • the personal computer 121a, the smart terminal 121b, etc. which is an example of the reception device 110, receives and displays the data stream transmitted from the server device 111, which is an example of the transmission device 110.
  • the user of the personal computer 121a or the smart terminal 121b can view moving image data held by the server device 111 via the Internet.
  • the application example 100b shows an example in which the image processing system 100 is applied to the broadcast field.
  • the television 122 as an example of the receiving device 110 receives and displays the data stream transmitted from the broadcast transmitter 112 as an example of the transmitting device 110.
  • the user of the television 122 can view the broadcast content transmitted by the broadcast transmitter 112.
  • the application example 100c shows an example in which the image processing system 100 is applied to the communication field.
  • the video telephone 123 which is an example of the receiving device 110 receives and displays the data stream transmitted from the video telephone 113 which is an example of the transmitting device 110.
  • the user of the video telephone 123 can make a call while looking at the face of the other party.
  • FIG. 2 is a diagram showing another application example of the encoder and the decoder. As shown in FIG. 2, by integrally configuring the encoder 110 and the decoder 120, it is possible to form the storage device 200 to which the encoder 110 and the decoder 120 are applied.
  • the encoder 110 encodes the input image data, and stores the generated data stream in the recording medium. Also, the storage device 200 generates image data by decoding the data stream stored in the recording medium, and displays the image data.
  • the encoder 110 and the decoder 120 can be applied to storage fields, for example.
  • the application example 200a shows an example in which the storage device 200 is applied to the storage field.
  • the video recorder 211 which is an example of the storage device 200, stores the data stream generated by encoding the image data in the recording medium 212, the built-in encoder 110. Also, the video recorder 211 displays on the monitor 213 the image data generated by the decoder 120 incorporated therein decoding the data stream read from the recording medium 212.
  • the user of the video recorder 211 can efficiently accumulate the acquired moving image data.
  • FIG. 3 is a diagram illustrating an example of the hardware configuration of the encoder.
  • the encoder 110 includes a central processing unit (CPU) 301, a read only memory (ROM) 302, and a random access memory (RAM) 303.
  • the CPU 301, the ROM 302, and the RAM 303 form a so-called computer.
  • the encoder 110 also includes an auxiliary storage device 304, an input device 305, a display device 306, a connection device 307, and a drive device 308.
  • the hardware of the encoder 110 is connected to one another via a bus 309.
  • the CPU 301 executes various programs (for example, an encoding program and the like) installed in the auxiliary storage device 304.
  • the ROM 302 is a non-volatile memory.
  • the ROM 302 functions as a main storage device that stores various programs, data, and the like necessary for the CPU 301 to execute various programs installed in the auxiliary storage device 304.
  • the ROM 302 stores a boot program such as a BIOS (Basic Input / Output System) or an EFI (Extensible Firmware Interface).
  • BIOS Basic Input / Output System
  • EFI Extensible Firmware Interface
  • the RAM 303 is a volatile memory such as a dynamic random access memory (DRAM) or a static random access memory (SRAM).
  • the RAM 303 functions as a main storage device which provides a work area to be expanded when the various programs installed in the auxiliary storage device 304 are executed by the CPU 301.
  • the auxiliary storage device 304 is an auxiliary storage device that stores installed various programs and information used when executing the various programs.
  • the input device 305 is an input device used when inputting various instructions to the encoder 110.
  • the display device 306 is a display device that displays internal information of the encoder 110.
  • the connection device 307 is a communication device for the encoder 110 to connect with the decoder 120 to perform communication.
  • the drive device 308 is a device for setting a computer readable recording medium 310.
  • the recording medium 310 includes a medium for optically, electrically or magnetically recording information, such as a CD-ROM, a flexible disk, a magneto-optical disk or the like.
  • the recording medium 310 may include a semiconductor memory or the like that electrically records information, such as a ROM, a flash memory, or the like.
  • the various programs installed in the auxiliary storage device 304 are installed by, for example, the distributed recording medium 310 being set in the drive device 308 and the various programs recorded in the recording medium 310 being read by the drive device 308 It may be done. Alternatively, various programs installed in the auxiliary storage device 304 may be installed by being downloaded from the network 160 via the connection device 307.
  • FIG. 3 is merely an example, and depending on the application form, some of the hardware shown in FIG. 3 may be excluded or replaced with other hardware. Nor.
  • FIG. 4 is a diagram showing an example of a functional configuration of the encoder.
  • the encoder 110 includes a block division unit 401, an orthogonal transform unit 402, a quantization unit 403, and an entropy coding unit 404. Further, the encoder 110 includes an inverse quantization unit 405, an inverse orthogonal transform unit 406, a loop filter unit 407, a decoded image storage unit 408, and an intra / inter prediction unit 409.
  • the block division unit 401 recursively divides the input image data into blocks of a coding unit (CU (Coding Unit)) for each block of the coding tree unit (CTU (Coding Tree Unit)).
  • CU Coding Unit
  • CTU Coding Tree Unit
  • each CU is further divided into blocks of prediction units (PUs (Prediction Units)) and transform units (TUs (Transform Units)).
  • PUs Prediction Units
  • TUs Transform Units
  • the size of the CTU is at most 128 pixels ⁇ 128 pixels or more, so in the following, the size of the CTU will be described as 128 pixels ⁇ 128 pixels .
  • the orthogonal transformation unit 402 performs orthogonal transformation processing on the input prediction residual signal.
  • orthogonal transformation In a general (H. 265 / HEVC) orthogonal transformation unit, orthogonal transformation of the type shown below is used.
  • the DCT Discrete Cosine Transform
  • -II is used in both the inter prediction mode and the intra prediction mode.
  • the block size to be subjected to orthogonal transformation processing is 4 pixels ⁇ 4 pixels: In the intra prediction mode, DST (Discrete Sine Transform) -VII is used.
  • H. According to contents being considered as a next-generation codec subsequent to H.265 / HEVC, it is expected to use orthogonal transform of the type shown below.
  • the orthogonal transformation unit 402 will be described as performing orthogonal transformation processing based on the type of orthogonal transformation that is expected to be used according to the content being considered as the next-generation codec. Note that information (orthogonal transformation selection information) used to identify the type of orthogonal transformation used by the orthogonal transformation unit 402 in orthogonal transformation processing is incorporated into the data stream by the entropy encoding unit 404 as supplementary information after execution of the orthogonal transformation processing. .
  • the quantization unit 403 generates a quantization signal by quantizing the prediction residual signal subjected to the orthogonal transformation process, and outputs the quantization signal to the entropy coding unit 404 and the dequantization unit 405.
  • the entropy coding unit 404 entropy-codes the quantized signal to generate and output a data stream.
  • the inverse quantization unit 405 inversely quantizes the quantized signal and outputs the result to the inverse orthogonal transform unit 406.
  • the inverse orthogonal transform unit 406 performs an inverse orthogonal transform process on the dequantized quantized signal.
  • a signal obtained by the inverse orthogonal transformation unit 406 is added to, for example, a predicted image motion-compensated by the intra / inter prediction unit 409 to generate a decoded image, which is input to the loop filter unit 407.
  • the loop filter unit 407 performs filter processing to reduce coding noise of the decoded image.
  • the decoded image storage unit 408 stores the decoded image filtered by the loop filter unit 407.
  • the intra / inter prediction unit 409 performs intra prediction (in-screen prediction) of generating a block of each CU of the predicted image using the decoded image. In addition, the intra / inter prediction unit 409 performs motion compensation based on the decoded image, and performs inter prediction (inter-screen prediction) that generates a block of each CU of the predicted image.
  • the intra / inter prediction unit 409 outputs a predicted image including one of the block of each CU generated by intra prediction and the block of each CU generated by inter prediction.
  • the prediction image output from the intra / inter prediction unit 409 is used for residual calculation with the input image data, and is input to the orthogonal transformation unit 402 as a prediction residual signal.
  • the signal obtained by the inverse orthogonal transformation unit 406 is added to the predicted image output from the intra / inter prediction unit 409 for each block of each CU, and is input to the loop filter unit 407 as a decoded image. .
  • FIG. 5 is a diagram showing an example of the characteristic of the prediction residual signal in the inter prediction mode.
  • a CTU of 128 pixels ⁇ 128 pixels is divided into blocks of CU, and inter prediction is performed for each block of the CU, and input image data
  • the prediction residual signal is input to the orthogonal transformation unit 402 by the residual calculation of
  • the orthogonal transformation unit 402 identifies a block of a CU that is a prediction block, and performs orthogonal transformation processing on each of the identified blocks of CU.
  • blocks of CTU are divided into CUs of various block sizes at the time of inter prediction.
  • the example shown in FIG. 5 includes the case of being divided into square CU blocks (8 ⁇ 8, 16 ⁇ 16, 32 ⁇ 32, 64 ⁇ 64, all units are [pixel]).
  • the rectangular CU block (4 ⁇ 8, 8 ⁇ 4, 8 ⁇ 16, 16 ⁇ 8, 16 ⁇ 32, 32 ⁇ 16, 32 ⁇ 64, 64 ⁇ 32, 64 ⁇ 128 , 128 ⁇ 64, including the case where all units are divided into [pixel].
  • FIG. 5 includes the case of being divided into square CU blocks (8 ⁇ 8, 16 ⁇ 16, 32 ⁇ 32, 64 ⁇ 64, all units are [pixel]).
  • the rectangular CU block (4 ⁇ 8, 8 ⁇ 4, 8 ⁇ 16, 16 ⁇ 8, 16 ⁇ 32, 32 ⁇ 16, 32 ⁇ 64, 64 ⁇ 32, 64 ⁇ 128 , 128 ⁇ 64, including the case where all units are divided into [pixel].
  • FIG. 5 includes the case of being divided into square
  • a CU block having an aspect ratio of 1: 2 or 2: 1 is illustrated as a rectangular CU block, but the aspect ratio of the rectangular CU block is not limited thereto.
  • a rectangular CU block having an aspect ratio of 1: 4 (or 4: 1), 1: 8 (or 8: 1), 1:16 (or 16: 1) may be included.
  • the CU block 520 is an enlarged view of a square block divided into 16 pixels ⁇ 16 pixels.
  • the prediction residual signal is characterized in that the prediction residual increases as the distance from the center position 521 increases.
  • the portion with high lightness indicates that the prediction residual is small, and the portion with low lightness indicates that the prediction residual is large.
  • Orthogonal transformation type Next, types of orthogonal transform used when the orthogonal transform unit 402 performs orthogonal transform processing on a block of a CU on which inter prediction has been performed will be described. 6A and 6B are diagrams showing types and characteristics of orthogonal transformation.
  • the type of orthogonal transformation “DCT-II” has the characteristic that it is suitable when the prediction residual signal is flat and the correlation between the signals is high. Also, as shown in the second row of the “characteristic” of FIG. 6A, the type of orthogonal transformation “DCT-VIII” causes the prediction residual signal to be large near the block boundary of CU and to be away from the block boundary of CU Therefore, it has the characteristic of being suitable for the bias of the feature which becomes small. Furthermore, as shown in the third row of the “characteristic” of FIG.
  • the type of orthogonal transformation “DST-VII” is larger as the prediction residual signal is larger near the block boundary and away from the block boundary of CU It has the characteristic of being suitable for the bias of the feature which becomes small.
  • FIG. 6B is a visualization of these characteristics, and shows one-dimensional waveforms of bases of orthogonal transformations of each type.
  • a “conversion block” is generated. Determine the assignment of DCT-II, DST-VII, DCT-VIII to each transform block based on the positional relationship of each transform block with respect to the center position of the block of CU.
  • the orthogonal transformation unit 402 in the present embodiment performs orthogonal transformation processing using different types of orthogonal transformation for each transformation block (that is, “transformation block” is a unit for assigning the type of orthogonal transformation). Say).
  • orthogonal transformation processing by the orthogonal transformation unit 402 in the present embodiment H.264 is performed.
  • the coding efficiency can be improved as compared to the orthogonal transformation processing by the orthogonal transformation unit of H.265 / HEVC.
  • orthogonal transformation processing is performed once using each of DCT-II, DST-VII, and DCT-VIII, and then based on each RD value. Not determine the type of orthogonal transformation. Therefore, the calculation load on the encoder 120 side can be suppressed.
  • FIG. 7 shows the characteristics of the prediction residual signal in each transform block and the type of orthogonal transform assigned to each transform block. It is a 1st figure, and the shape of block 700 of CU is a square, and shows the case where block size is 8 pixels x 8 pixels.
  • the orthogonal transformation unit 402 divides it into four transformed blocks.
  • the prediction residual is obtained as it moves away from the boundary of the block 700 of the CU.
  • the prediction residual becomes smaller as it goes away from the boundary of the block 700 of the CU. Therefore, in the orthogonal transformation unit 402, the orthogonal transformation type “DCT-VIII” is assigned to the transformation block 701 in the vertical direction, and the orthogonal transformation type “DCT-VIII” is assigned in the horizontal direction. (Refer to the first line of the assignment list 710).
  • the prediction residual is smaller as it goes away from the boundary of the block 700 of the CU. It will have the characteristics. Also, when viewed in the horizontal direction, the prediction residual becomes larger as it approaches the boundary of the block 700 of the CU. Therefore, in the orthogonal transformation unit 402, the orthogonal transformation type “DCT-VIII” is assigned to the transformation block 702 in the vertical direction, and the orthogonal transformation type “DST-VII” is assigned in the horizontal direction. (Refer to the 2nd line of the assignment list 710).
  • the transform block 703 (a transform block that coincides with the center point of the block 700 of the CU and the upper right vertex) has a larger prediction residual as it approaches the boundary of the block 700 of the CU. It will have the characteristics. Also, when viewed in the horizontal direction, the prediction residual becomes smaller as it goes away from the boundary of the block 700 of the CU. Therefore, in the orthogonal transformation unit 402, the orthogonal transformation type “DST-VII” is assigned to the transformation block 703 in the vertical direction, and the orthogonal transformation type “DCT-VIII” is assigned in the horizontal direction. (Refer to the 3rd line of the assignment list 710).
  • FIG. 8 shows the characteristics of the prediction residual signal in each transform block and the type of orthogonal transform assigned to each transform block
  • FIG. 8 shows the case where the shape of the block 800 of the CU is square and the block size is 16 pixels ⁇ 16 pixels (or 32 pixels ⁇ 32 pixels, 64 pixels ⁇ 64 pixels).
  • the orthogonal transformation unit 402 divides the block into nine transformation blocks. Also in the case of FIG. 8, as in FIG. 7, it is symmetrical with respect to a horizontal line (not shown) passing through the center of the block 800 of the CU and is symmetrical with respect to a vertical line (not shown) passing through the center. Split the block 800 of the CU.
  • the orthogonal transformation unit 402 divides the block 800 of the CU into three at a ratio of 1: 2: 1 in the horizontal direction and three at a ratio of 1: 2: 1 in the vertical direction. Assuming that the number of pixels on one side of the block 800 of the CU is n, according to the orthogonal transformation unit 402, Four ((n ⁇ 1/4) pixels) ⁇ ((n ⁇ 1/4) pixels) conversion blocks are generated, Two ((n ⁇ 1 ⁇ 4) pixels) ⁇ ((n ⁇ 1 ⁇ 2) pixels) conversion blocks are generated, Two ((n ⁇ 1 ⁇ 2) pixels) ⁇ ((n ⁇ 1 ⁇ 4) pixels) conversion blocks are generated, One ((n ⁇ 1 ⁇ 2) pixel) ⁇ ((n ⁇ 1 ⁇ 2) pixel) conversion block is generated, It will be.
  • Each conversion block shown in FIG. 8 can be defined as follows (in the following definitions, “upper left”, “upper right”, “lower left”, and “lower right” are blocks 800 of CU). Refers to the positional relationship when viewed from the center position).
  • the orthogonal transformation type "DCT-VIII” is assigned to the transformation block 801 in the vertical direction, and the orthogonal transformation type "DCT-VIII” is assigned in the horizontal direction. (Refer to the 1st line of the assignment list 810).
  • the transform block 802 will have the property that, when viewed in the vertical direction, the prediction residual decreases as it gets further from the boundary of the block 800 of the CU. Also, the transform block 802 has the property that, when viewed in the horizontal direction, the prediction residual becomes constant regardless of the distance from the boundary of the block 800 of the CU. Therefore, in the orthogonal transformation unit 402, the orthogonal transformation type “DCT-VIII” is assigned to the transformation block 802 in the vertical direction, and the orthogonal transformation type “DST-VII” is assigned in the horizontal direction. (Refer to the 5th line of the assignment list 810).
  • the transform block 803 has the property that, when viewed in the vertical direction, the prediction residual becomes constant regardless of the distance from the boundary of the block 800 of the CU. Also, when viewed in the horizontal direction, the prediction residual becomes larger as it approaches the boundary of the block 800 of the CU. Therefore, in the orthogonal transformation unit 402, the orthogonal transformation type “DCT-II” is assigned to the transformation block 803 in the vertical direction, and the orthogonal transformation type “DST-VII” is assigned in the horizontal direction. (Refer to the 6th line of the assignment list 810).
  • the transform block 804 has the property that, when viewed in the vertical direction, the prediction residual is constant regardless of the distance from the boundary of the block 800 of the CU. Also, when viewed in the horizontal direction, the prediction residual becomes constant regardless of the distance from the boundary of the block 800 of the CU. Therefore, in the orthogonal transformation unit 402, the orthogonal transformation type "DCT-II" is assigned to the transformation block 804 in the vertical direction, and the orthogonal transformation type "DCT-II" is assigned in the horizontal direction. (Refer to the 9th line of the assignment list 810).
  • FIG. 9 shows characteristics of prediction residual signals in each transform block and types of orthogonal transform assigned to each transform block
  • FIG. 3 is a diagram of FIG. 3 and the shape of the blocks 910 to 940 of the CU is a horizontally long rectangle or a vertically long rectangle.
  • a vertical line (not shown) which is symmetrical with respect to a horizontal line (not shown) passing through the centers of the respective blocks 910 to 940 and passes through the centers.
  • Each of the blocks 910 to 940 of the CU is divided so as to be symmetrical with respect to.
  • the shape of the block 910 of CU is a horizontally long (horizontally long) rectangle of 8 pixels ⁇ 16 pixels
  • the shape of the block 920 of CU is 16 pixels ⁇ It is a vertical rectangle of 8 pixels.
  • the orthogonal transform unit 402 divides the block into six transform blocks.
  • the orthogonal transformation unit 402 divides the block 910 of the CU into three at a ratio of 1: 2: 1 in the horizontal direction and two at a ratio of 1: 1 in the vertical direction.
  • Each conversion block can be defined as follows. ⁇ Transformation block with circled number "1": A conversion block that matches the block 910 of the CU and the upper left vertex, and a conversion block in which “2” of a circled number is described: A conversion block that matches the block 910 of the CU and the upper right vertex, and a conversion block in which a circled number "3" is written: A conversion block matching the block 910 of the CU and the lower left vertex, and a conversion block in which “4” of a circled number is described: A conversion block that matches the block 910 of the CU and the lower right vertex, and a conversion block in which “5” of circled numbers is described: A transform block between the block 910 in CU and the transform block matching in the upper left corner, and the transform block sandwiched between
  • the orthogonal transformation unit 402 divides the block 920 of the CU into two at a ratio of 1: 1 in the horizontal direction and three at a ratio of 1: 2: 1 in the vertical direction.
  • Each conversion block can be defined as follows. ⁇ Transformation block with circled number "1": A conversion block that matches the block 920 of the CU and the upper left vertex, and a conversion block in which “2” of a circled number is described: A conversion block that matches the block 920 of the CU and the upper right vertex, and a conversion block in which a circled number "3" is written: A conversion block that matches the block 920 of the CU and the lower left vertex, and a conversion block in which a circled number "4" is written: A conversion block that matches the block 920 of the CU and the lower right vertex, and a conversion block in which a circled number “6” is written: A transform block between the block 920 of the CU and the transform block matching at the upper right vertex and the transform block sandwiched
  • a CU block 930 is a horizontally long (long in the horizontal direction) rectangular, and the block size is 16 pixels ⁇ 32 pixels (or 32 pixels ⁇ 64 pixels, 64 pixels ⁇ 128 pixels).
  • the block 940 of the CU is a vertically long (long in the vertical direction) rectangular, and the block size is 32 pixels ⁇ 16 pixels (or 64 pixels ⁇ 32 pixels, 128 pixels ⁇ 64 pixels).
  • the orthogonal transformation unit 402 divides it into nine transformed blocks.
  • the orthogonal transformation unit 402 divides the block 930 (or 940) of the CU into three at a ratio of 1: 2: 1 in the horizontal direction and three at a ratio of 1: 2: 1 in the vertical direction. .
  • the number of pixels in the vertical side of the block 930 (or 940) of the CU is n and the number of pixels in the horizontal side is m
  • the orthogonal transformation unit 402 Four ((n ⁇ 1/4) pixels) ⁇ ((m ⁇ 1/4) pixels) conversion blocks are generated, Two ((n ⁇ 1 ⁇ 4) pixels) ⁇ ((m ⁇ 1 ⁇ 2) pixels) conversion blocks are generated, Two ((n ⁇ 1 ⁇ 2) pixels) ⁇ ((m ⁇ 1 ⁇ 4) pixels) conversion blocks are generated, One ((n ⁇ 1 ⁇ 2) pixel) ⁇ ((m ⁇ 1 ⁇ 2) pixel) conversion block is generated, It will be.
  • the definition of each conversion block specified by a circled number is the same as that of FIG. Further,
  • one side of the conversion block is made smaller than four pixels. It is important that the transform block be as homogeneous as possible in the state of prediction errors therein and as large as possible, and if it is subdivided too much, the overhead for that will be larger.
  • H The orthogonal transform processing already proposed in the next generation codec examination process following H.265 / HEVC will be described in more detail.
  • H. In the process of examining the next-generation codec subsequent to H.265 / HEVC, it is proposed that, in the case of the inter prediction mode, orthogonal transform processing as described below is performed. • Compare and select the processing result of orthogonal transform processing by DCT-II and orthogonal transform processing by other bases. Select one from DST-VII and DCT-VIII in horizontal and vertical directions respectively, and use as a quadratic basis.
  • FIG. 10 is a diagram illustrating an example of a functional configuration of the orthogonal transform unit.
  • the orthogonal transform unit 402 includes an intra / inter branch unit 1001, a block division determination unit 1002, a selection unit 1010, and a DCT-VIII transform unit 1011 to a DCT-II transform unit 1013.
  • the orthogonal transform unit 402 includes a selection unit 1020 and a DCT-VIII transform unit 1021 to a DST-I transform unit 1022.
  • the orthogonal transform unit 402 includes a DST-VII transform unit 1030, a cost selection unit 1031, a cost selection unit 1032, and a DCT-II transform unit 1033.
  • the functional blocks not hatched in FIG. 10 realize the above-described orthogonal transformation processing (orthogonal transformation processing using different types of orthogonal transformation performed for each transformation block), that is, functional blocks of the present invention portion It is.
  • the respective functional blocks will be sequentially described below.
  • the intra / inter branching unit 1001 branches the processing based on whether the block of the processing target CU for which the prediction residual signal is calculated is a block in the intra prediction mode or a block in the inter prediction mode.
  • the intra / inter branching unit 1001 When the block of the CU to be processed is a block in the intra prediction mode, the intra / inter branching unit 1001 notifies the block of the CU to be processed to the selection unit 1020 and the DST-VII conversion unit 1030. On the other hand, when the block of the CU to be processed is a block in the inter prediction mode, the intra / inter branching unit 1001 notifies the block division determination unit 1002 of the block of the CU to be processed.
  • the block division determination unit 1002 is an example of a specifying unit.
  • the block division determination unit 1002 identifies the shape (square or rectangular) of the block of the CU in the inter prediction mode, the block size, and whether the block is vertically long or horizontally long, and determines the division method of the block of the CU. Also, the block division determination unit 1002 notifies the selection unit 1010 of the determined division method together with the block of the CU to be processed.
  • the selection unit 1010 is an example of a division unit.
  • the selection unit 1010 generates a plurality of (four, six or nine) conversion blocks by dividing the block of the CU to be processed under the division method determined by the block division determination unit 1002. Do.
  • the selection unit 1010 is also an example of a determination unit. Selection unit 1010 separately determines the type of orthogonal transform to be assigned to each transform block in the horizontal direction and the vertical direction, transmits the transform block to the transform unit corresponding to the determined type of orthogonal transform, and Send a conversion processing execution instruction.
  • the DCT-VIII conversion unit 1011 When the DCT-VIII conversion unit 1011 receives the conversion block and the execution instruction from the selection unit 1010, the DCT-VIII conversion unit 1011 performs orthogonal transformation processing on the received conversion block using the DCT-VIII.
  • the DST-VII conversion unit 1012 When the DST-VII conversion unit 1012 receives the conversion block and the execution instruction from the selection unit 1010, the DST-VII conversion unit 1012 performs orthogonal transformation processing on the received conversion block using DST-VII.
  • the DCT-II conversion unit 1013 When the DCT-II conversion unit 1013 receives the conversion block and the execution instruction from the selection unit 1010, the DCT-II conversion unit 1013 performs orthogonal transformation processing on the received conversion block using the DCT-II.
  • the selecting unit 1020 When the selecting unit 1020 receives the block of the CU to be processed from the intra / inter branching unit 1001, the selecting unit 1020 processes the converter corresponding to the transform setting (Transform Set) predetermined according to the type of intra prediction mode. Send the target CU block. In addition, the selection unit 1020 transmits an instruction to execute orthogonal transform processing to the transform unit corresponding to the transform setting.
  • the transform setting Transform Set
  • the DCT-VIII conversion unit 1021 When the DCT-VIII conversion unit 1021 receives the block of the CU to be processed and the execution instruction from the selection unit 1020, the DCT-VIII conversion unit 1021 performs orthogonal transformation processing on the received CU block using DCT-VIII, The processing result is sent to the cost selection unit 1031.
  • the DST-I conversion unit 1022 When the DST-I conversion unit 1022 receives the block of the CU to be processed and the execution instruction from the selection unit 1020, the DST-I conversion unit 1022 performs orthogonal transformation processing on the received CU block using DST-I, The processing result is sent to the cost selection unit 1031.
  • the DST-VII conversion unit 1030 When the DST-VII conversion unit 1030 receives the block of the CU to be processed from the intra / inter branching unit 1001, it performs orthogonal transformation processing on the received CU block using DST-VII, and the processing result is costed. Transmit to the selection unit 1031.
  • the cost selection unit 1031 operates when the block of the CU to be processed is a block in the intra prediction mode. Specifically, the cost selection unit 1031 is a DST-VII conversion unit and the processing result transmitted from any one of the DCT-VIII conversion unit 1021, the DST-I conversion unit 1022, and the DCT-V conversion unit 1023. The processing result received from 1030 is received.
  • the cost selection unit 1031 calculates an RD value for the processing result transmitted from any one of the DCT-VIII converter 1021, the DST-I converter 1022, and the DCT-V converter 1023. Further, the cost selecting unit 1031 calculates an RD value for the processing result received from the DST-VII converting unit 1030. Also, the cost selection unit 1031 compares the calculated RD values, and identifies the processing result used for calculating the smaller RD value and the type of orthogonal transformation used for calculating the processing result. Further, the cost selection unit 1031 notifies the cost selection unit 1032 of the identified processing result.
  • the DCT-II transform unit 1033 Upon receiving the block of the CU to be processed for which the prediction residual signal has been calculated, the DCT-II transform unit 1033 performs orthogonal transform processing on the received CU block using DCT-II, and outputs the processing result Transmit to cost selector 1032.
  • the cost selection unit 1032 transmits the processing result transmitted from the DCT-VIII conversion unit 1011, the DST-VII conversion unit 1012, and the DCT-II conversion unit 1013 (that is, processing of each conversion block). Receive the result). Also, the cost selection unit 1032 calculates the RD value of the block of the CU to be processed based on the received processing result of each conversion block. Further, the cost selection unit 1032 calculates the RD value of the block of the CU to be processed based on the processing result received from the DCT-II conversion unit 1033.
  • the cost selection unit 1032 calculates the processing target calculated based on the processing result received from the DCT-II conversion unit 1033 and the RD value for the block of the processing target calculated based on the processing result of each transform block. Compare with the RD value for the block of CU. Furthermore, the cost selection unit 1032 identifies the processing result used to calculate the smaller RD value. In addition, the cost selection unit 1032 outputs the identified processing result as a “frequency signal” for the prediction residual signal when inter prediction is performed. Furthermore, the cost selection unit 1032 outputs orthogonal transformation selection information according to the identified processing result.
  • the cost selection unit 1032 A process result of performing an orthogonal transformation process using any one of DCT-VIII, DST-VII, and DCT-II on each transform block obtained by dividing the block of the CU to be processed; Processing results of performing orthogonal transform processing using DCT-II on a block of a CU to be processed, , And selects and outputs the processing result of the smaller RD value, and outputs orthogonal transformation selection information according to the selected processing result.
  • the orthogonal transformation selection information corresponding to the selected processing result is “0”, for example, when the processing result of the orthogonal transformation processing by DCT-II is selected.
  • the processing result of performing the orthogonal transformation using any one of DCT-VIII, DST-VII, and DCT-II for each transformation block is selected, it becomes "1".
  • the present embodiment can be applied to orthogonal transform processing that has already been proposed in the process of examining next-generation codecs subsequent to H.265 / HEVC. Also, by applying the present embodiment, in the orthogonal transformation processing already proposed in the process of considering the next-generation codec, the types of orthogonal transformation that can be used when inter prediction is performed increase. , Orthogonal transform selection information can be simplified. The reason is as follows.
  • the transform block is generated according to the characteristics of the prediction residual signal, and orthogonal transform of a type according to each characteristic is assigned.
  • Determine the division method uniquely according to the size and shape of the block of CU, When the division method is determined, the type of orthogonal transform to be assigned to each transform block is uniquely determined. It is from.
  • the cost selection unit 1032 receives the processing result notified from the cost selection unit 1031 and the processing result notified from the DCT-II conversion unit 1033. Further, the RD value of the block of the CU to be processed is calculated based on each received processing result and compared. Further, as a result of comparison, the cost selection unit 1032 specifies the processing result used to calculate the smaller RD value, and the “processing frequency with respect to the prediction residual signal when intra prediction is performed on the specified processing result is performed. Output as a signal. Furthermore, the cost selection unit 1032 outputs orthogonal transformation selection information (here, the type of orthogonal transformation) according to the identified processing result.
  • orthogonal transformation selection information here, the type of orthogonal transformation
  • the cost selection unit 1032 Processing result of performing orthogonal transformation using any one of DCT-VIII and DST-I for the block of CU to be processed, Processing result of performing orthogonal transformation using DST-VII ⁇ Processing result of performing orthogonal transformation using DCT-II, From among the above, the processing result with the smallest RD value is selected and output, and the type of orthogonal transformation used to calculate the selected processing result is output as orthogonal transformation selection information.
  • FIG. 11 is a flowchart showing the flow of orthogonal transform processing by the orthogonal transform unit.
  • orthogonal transformation processing for a predetermined one block (block of CU to be processed) among blocks of CUs for which prediction residual signals are calculated will be described.
  • step S1101 the DCT-II conversion unit 1033 executes horizontal orthogonal transform processing by DCT-II and vertical orthogonal transform processing by DCT-II on the block of the CU to be processed.
  • step S1102 the intra / inter branching unit 1001 determines whether the block of the CU to be processed is a block in the intra prediction mode or a block in the inter prediction mode.
  • step S1102 determines whether the short side size of the block of the CU to be processed is 4 pixels. Also, the block division determination unit 1002 determines whether the size of the block of the CU to be processed is 128 pixels ⁇ 128 pixels.
  • step S1103 If it is determined in step S1103 that the short side size is 4 pixels (in the case of Yes in step S1103), the orthogonal transformation process on the block of the CU to be processed is ended. In addition, when it is determined that the size of the block of the processing target CU is 128 pixels ⁇ 128 pixels (in the case of Yes in step S1103), the orthogonal transformation process on the block of the processing target CU ends Do.
  • the case where the size of the block of the processing target CU satisfies the condition of step S1103 is the case where the orthogonal transformation process for each transform block is not performed.
  • step S1103 determines that the short side size of the block of the CU to be processed is not 4 pixels and the overall size is not 128 pixels ⁇ 128 pixels (in the case of No in step S1103).
  • the process advances to step S1104.
  • step S1104 the block division determination unit 1002 determines whether the size of the block of the CU to be processed is equal to or less than a predetermined threshold. If it is determined in step S1104 that the size of the block of the CU to be processed is equal to or less than the predetermined threshold (in the case of Yes in step S1104), the process proceeds to step S1105.
  • step S1105 the block division determination unit 1002 determines whether the shape of the block of the CU to be processed is a square or a rectangle. If it is determined in step S1105 that it is a square, the process advances to step S1106.
  • the selection unit 1010 In step S1106, the selection unit 1010 generates four transform blocks by dividing the block of the CU to be processed. Also, the selection unit 1010 specifies the type of orthogonal transform (see the assignment list 710 in FIG. 7) according to the position of each of the four transform blocks. Furthermore, the selection unit 1010 transmits the conversion block to the transform unit (one of the DCT-VIII transform unit 1011 and the DST-VII transform unit 1012) corresponding to the specified type of orthogonal transform, and notifies an execution instruction. . Thus, horizontal and vertical orthogonal transformation processing is performed on each of the four transform blocks.
  • step S1104 determines whether the size of the block of the CU to be processed is not less than or equal to the predetermined threshold (in the case of No in step S1104). If it is determined in step S1104 that the size of the block of the CU to be processed is not less than or equal to the predetermined threshold (in the case of No in step S1104), the process proceeds to step S1107.
  • the selection unit 1010 In step S1107, the selection unit 1010 generates nine transform blocks by dividing the block of the CU to be processed. In addition, the selection unit 1010 identifies the type of orthogonal transformation (refer to the assignment list 810 in FIG. 8 and the blocks 930 and 940 in CU in FIG. 9) according to the position of each of the nine transform blocks. Furthermore, the selection unit 1010 transmits the transform block to the transform unit (one of the DCT-VIII transform unit 1011, the DST-VII transform unit 1012, and the DCT-II transform unit 1013) corresponding to the specified type of orthogonal transform. Together with the execution instruction. Thus, the horizontal and vertical orthogonal transform processes are performed on each of the nine transform blocks.
  • step S1105 if it is determined in step S1105 that the block of the CU to be processed is a rectangle, the process proceeds to step S1108.
  • step S1108 the selection unit 1010 determines whether the block of the CU to be processed is a vertically-long rectangle or a horizontally-long rectangle.
  • step S1109 the selection unit 1010 generates six transform blocks by dividing the block of the CU to be processed.
  • the selection unit 1010 specifies the type of orthogonal transform (see the block 920 of CU in FIG. 9) according to the position of each of the six transform blocks.
  • the selection unit 1010 transmits the transform block to the transform unit (one of the DCT-VIII transform unit 1011, the DST-VII transform unit 1012, and the DCT-II transform unit 1013) corresponding to the specified type of orthogonal transform. Together with the execution instruction.
  • horizontal and vertical orthogonal transformation processing is performed on each of the six transform blocks.
  • step S1110 the selection unit 1010 generates six transform blocks by dividing the block of the CU to be processed. Also, the selection unit 1010 identifies the type of orthogonal transform (see the block 910 of the CU in FIG. 9) according to the position of each of the six transform blocks. Furthermore, the selection unit 1010 transmits the conversion block to the transform unit (one of the DCT-VIII transform unit 1011 and the DST-VII transform unit 1012) corresponding to the specified type of orthogonal transform, and notifies an execution instruction. . Thus, horizontal and vertical orthogonal transformation processing is performed on each of the six transform blocks.
  • step S1102 when it is determined in step S1102 that the block is the intra prediction mode, the process proceeds to step S1111.
  • step S1111 each unit of the selection unit 1020 to the DST-VII conversion unit 1030 executes the orthogonal transformation process already proposed in JVET (Joint Video Exploration Team).
  • step S1112 the cost selection unit 1031 and the cost selection unit 1032 calculate and compare RD values for the blocks of the CU to be processed. For example, when the block of the CU to be processed is a block in the intra prediction mode, the cost selection unit 1031 and the cost selection unit 1032 compare the RD values calculated for the respective processing results in step S1101 and step S1111. On the other hand, it is assumed that the block of the CU to be processed is a block in the inter prediction mode. In this case, the cost selection unit 1032 compares the RD value calculated for the processing result in step S1101 with the RD value calculated for any of the processing results in steps S1106, S1107, S1109, and S1110.
  • the cost selection unit 1032 specifies the processing result for which the minimum RD value is calculated based on the comparison result. Also, the cost selection unit 1032 outputs orthogonal transformation selection information according to the identified processing result.
  • FIG. 12 is a diagram showing an example of a functional configuration of the decoder.
  • the decoder 120 includes an entropy decoding unit 1201, an inverse quantization unit 1202, an inverse orthogonal transformation unit 1203, a loop filter unit 1204, a decoded image storage unit 1205, and an intra / inter prediction unit 1206.
  • the entropy decoding unit 1201 decodes the received data stream and outputs a quantized signal. Further, the entropy decoding unit 1201 extracts additional information (including orthogonal transformation selection information and the like) from the data stream, and notifies the inverse orthogonal transformation unit 1203 of the additional information.
  • additional information including orthogonal transformation selection information and the like
  • the inverse quantization unit 1202 inversely quantizes the quantization signal and outputs the result to the inverse orthogonal transformation unit 1203.
  • the inverse orthogonal transformation unit 1203 obtains the prediction residual signal by performing inverse orthogonal transformation processing on the dequantized quantized signal while referring to the incidental information.
  • the prediction residual signal obtained by the inverse orthogonal transformation unit 1203 is added to the block of each CU of the prediction image motion-compensated by the intra / inter prediction unit 1206, for example, to generate a decoded image, and a loop filter unit It is input to 1204.
  • the loop filter unit 1204 performs filter processing to reduce coding noise of the input decoded image.
  • the loop filter unit 1204 performs the filtering process, it is possible to prevent the image quality deterioration from being propagated between the frames of the decoded image.
  • the loop filter unit 1204 outputs the filtered decoded image as a decoding result and stores the decoded image in the decoded image storage unit 1205.
  • the intra / inter prediction unit 1206 performs intra prediction that generates a block of each CU of the prediction image using a block of each CU of the decoded image. In addition, the intra / inter prediction unit 1206 performs motion compensation based on the blocks of each CU between each frame of the decoded image, and performs inter prediction to generate the blocks of each CU of the predicted image.
  • the intra / inter prediction unit 1206 outputs a predicted image including one of the block of each CU generated by intra prediction or the block of each CU generated by inter prediction.
  • the prediction residual signal obtained by the inverse orthogonal transformation unit 1203 is added to the output prediction image, and is input to the loop filter unit 1204 as a decoded image.
  • FIG. 13 is a diagram showing the characteristic of the prediction residual signal calculated in each transform block and the type of inverse orthogonal transform assigned to each transform block.
  • variations in the size and shape of the block of the processing target CU in which the inverse orthogonal transformation unit 1203 performs the inverse orthogonal transformation processing are the sizes of the block in the processing target CU in which the orthogonal transformation unit 402 performs the orthogonal transformation processing. , Is the same as the variation of the shape.
  • the blocks 1310 to 1360 of the CU of FIG. 13 correspond to the block 700 of the CU of FIG. 7, the block 800 of the CU of FIG. 8, and the blocks 910 to 940 of the CU of FIG. 9, respectively.
  • the division method (number of divisions, division position) for generating the conversion block is also the same.
  • the types of inverse orthogonal transforms assigned to each transform block are also the same.
  • the assignment list 1370 of FIG. 13 corresponds to the assignment list 810 of FIG.
  • FIG. 14 is a diagram illustrating an example of a functional configuration of the inverse orthogonal transform unit. Similar to the functional configuration of orthogonal transform section 402 (FIG. 10), the shaded functional blocks in FIG. It is an example of the functional block which implement
  • the functional configuration of the inverse orthogonal transform unit 1203 is basically the same as the functional configuration of the orthogonal transform unit 402, and the difference with the functional configuration of the orthogonal transform unit 402 is
  • An IDCT-VIII conversion unit 1411 to an IDCT-II conversion unit 1413 are provided instead of the DCT-VIII conversion unit 1011 to the DCT-II conversion unit 1013
  • FIG. 15 is a flowchart showing a flow of inverse orthogonal transformation processing by the inverse orthogonal transformation unit.
  • the inverse orthogonal transform processing on a predetermined one block (block of the CU to be processed) among blocks of each CU for which a prediction residual signal is calculated will be described.
  • step S1501 the IDCT-II conversion unit 1440 obtains orthogonal transformation selection information included in the incidental information transmitted from the entropy decoding unit 1201, and determines whether the type of orthogonal transformation is DCT-II (the orthogonal transformation selection information is It is judged whether or not it is "0".
  • the intra / inter branching unit 1401 obtains orthogonal transformation selection information included in the supplementary information transmitted from the entropy decoding unit 1201, and determines whether the type of orthogonal transformation is other than DCT-II (the orthogonal transformation selection information is “ Determine whether it is 1 ").
  • step S1501 if the IDCT-II conversion unit 1440 determines that the type of orthogonal transformation used in the encoder 110 is DCT-II (the orthogonal transformation selection information is "0"), step S1502 Go to In step S1502, the IDCT-II conversion unit 1440 performs inverse orthogonal transform processing in the horizontal direction and the vertical direction by the IDCT-II on the block of the CU to be processed.
  • step S1501 if the intra / inter branching unit 1401 determines that the type of orthogonal transformation used in the encoder 110 is other than DCT-II (orthogonal transformation selection information is "1"). Proceed to step S1503. In step S1503, the intra / inter branching unit 1401 determines whether the block of the CU to be processed is a block in the intra prediction mode or a block in the inter prediction mode.
  • step S1503 If it is determined in step S1503 that the block is in the inter prediction mode, the process proceeds to step S1504.
  • step S1504 the block division determination unit 1402 determines whether the size of the block of the CU to be processed is equal to or less than a predetermined threshold. If it is determined in step S1504 that the size of the block of the CU to be processed is equal to or less than the predetermined threshold (in the case of Yes in step S1504), the process proceeds to step S1505.
  • step S1505 the block division determination unit 1402 determines whether the shape of the block of the CU to be processed is square or rectangular. If it is determined in step S1505 that it is a square, the process advances to step S1506.
  • the selection unit 1410 In step S1506, the selection unit 1410 generates four transform blocks by dividing the block of the CU to be processed. Also, the selection unit 1410 identifies the type of inverse orthogonal transform (see the block 1310 of the CU in FIG. 13) according to the position of each of the four transform blocks. Furthermore, the selection unit 1410 transmits the conversion block to the conversion unit (one of the IDCT-VIII conversion unit 1411 and the IDST-VII conversion unit 1412) corresponding to the specified type of inverse orthogonal transformation, and notifies the execution instruction. Do. Thus, horizontal and vertical inverse orthogonal transform processing is performed on each of the four transform blocks.
  • step S1503 if it is determined in step S1503 that the block is the intra prediction mode, the process proceeds to step S1507.
  • step S1507 each unit of the selection unit 1420 to the IDST-VII conversion unit 1430 executes the inverse orthogonal transformation processing already proposed in JVET.
  • step S1504 determines whether the size of the block to be processed is not less than or equal to the predetermined threshold (in the case of No in step S1504). If it is determined in step S1504 that the size of the block to be processed is not less than or equal to the predetermined threshold (in the case of No in step S1504), the process proceeds to step S1508.
  • step S1508 the selection unit 1410 generates nine transform blocks by dividing the block of the CU to be processed.
  • the selection unit 1010 specifies the type of inverse orthogonal transform (see the blocks 1320, 1350, and 1360 of the CU in FIG. 13) according to the position of each of the nine transform blocks.
  • the selection unit 1410 transmits the conversion block to the conversion unit (one of the IDCT-VIII conversion unit 1411, the IDST-VII conversion unit 1412, and the IDCT-II conversion unit 1413) corresponding to the specified type of inverse orthogonal transformation.
  • notify the execution instruction notify the execution instruction.
  • horizontal and vertical inverse orthogonal transform processing is performed on each of nine transform blocks.
  • step S1505 if it is determined in step S1505 that the block of the CU to be processed is a rectangle, the process advances to step S1509.
  • step S1509 the selection unit 1410 determines whether the block of the CU to be processed is a vertically-long rectangle or a horizontally-long rectangle.
  • step S1510 the selection unit 1410 generates six transform blocks by dividing the block of the CU to be processed. Also, the selection unit 1410 specifies the type of inverse orthogonal transform (see the block 1340 of the CU in FIG. 13) according to the position of each of the six transform blocks. Furthermore, the selection unit 1410 transmits the conversion block to the conversion unit (one of the IDCT-VIII conversion unit 1411, the IDST-VII conversion unit 1412, and the IDCT-II conversion unit 1413) corresponding to the specified type of inverse orthogonal transformation. At the same time, notify the execution instruction. Thus, horizontal and vertical inverse orthogonal transform processing is performed on each of the six transform blocks.
  • step S1509 the process proceeds to step S1511.
  • step S1511 the selection unit 1410 generates six conversion blocks by dividing the block of the CU to be processed. Also, the selection unit 1410 identifies the type of inverse orthogonal transform (see the block 1330 of the CU in FIG. 13) according to the position of each of the six transform blocks. Furthermore, the selection unit 1010 transmits the conversion block to the conversion unit (one of the IDCT-VIII conversion unit 1411, the IDST-VII conversion unit 1412, and the IDCT-II conversion unit 1413) corresponding to the specified type of inverse orthogonal transformation. At the same time, notify the execution instruction. Thus, horizontal and vertical inverse orthogonal transform processing is performed on each of the six transform blocks.
  • the orthogonal transform unit of the encoder when encoding image data in the inter prediction mode, the orthogonal transform unit of the encoder according to the first embodiment Identify the size and shape of the CU block to be processed. -A block of CU is divided into a plurality of rectangular conversion blocks by a division method uniquely determined according to the specified size and shape. -The type of orthogonal transformation used when performing orthogonal transformation processing on each transformation block is uniquely determined according to the positional relationship between the center of the block of CU and each transformation block.
  • the orthogonal transformation unit of the encoder according to the first embodiment, matching the characteristics for each type of orthogonal transformation with the characteristics at the position of each transformation block of the CU for which the prediction residual signal is calculated Is possible. In addition, it is not necessary to calculate the RD value when assigning the type of orthogonal transform to each transform block.
  • improvement in encoding efficiency and calculation load can be used as a determination method for determining the type of orthogonal transformation used in inter-frame prediction in the next generation codec. It is possible to provide a decision method in which suppression can be realized.
  • the encoded encoded sequence when decoding an image in the inter prediction mode, is Identify the size and shape of the CU block to be processed.
  • -A block of CU is divided into a plurality of rectangular conversion blocks by a division method uniquely determined according to the specified size and shape.
  • -The kind of inverse orthogonal transformation used when performing inverse orthogonal transformation processing with respect to each transformation block is uniquely determined according to the positional relationship between the center of the block of CU and each transformation block.
  • the inverse orthogonal transformation unit of the decoder it is possible to execute inverse orthogonal transformation processing of orthogonal transformation of the type selected by the encoder.
  • the decoder can determine the type of inverse orthogonal transform according to the size and shape of the block of the CU regardless of the information from the encoder, the encoder There is no need to send the type for each transform block. As a result, it is possible to simplify orthogonal transformation selection information that the encoder transmits to the decoder.
  • the division method is uniquely determined according to the size and shape of the block of the CU, and the assignment of the orthogonal transformation type to each transform block is uniquely determined for each division method. did. However, in the case of the first embodiment, when the relationship between the size and shape of the block of the CU and the division method is changed, it is necessary to review the assignment of the orthogonal transformation type to each transform block in each division method. .
  • each division method for example, orthogonal to each transform block according to the distance, direction, etc. of each transform block when viewed from the reference position in the block of CU It may be configured to determine the type of conversion assignment. In this case, even if the relationship between the size and shape of the CU block and the division method is changed, the assignment of the type of orthogonal transformation to each transform block depends on the distance from the reference position in the block of the CU, the direction, etc. Can be determined uniquely. That is, it is possible to automatically reassign the type of orthogonal transform for each transform block.
  • standard in the block of CU the center position of the block of CU, each vertex of the block of CU, each side of the block of CU, etc. can be considered, for example.
  • the orthogonal transformation selection information is defined as information for identifying the type of orthogonal transformation, and it has been described that either “0” or “1” is transmitted.
  • the information to be transmitted as the orthogonal transformation selection information is not limited to the combination of “0” and “1”, and any information may be used as long as it indicates the necessity of division of the block of the CU. This is because if the necessity of division is determined, the type of orthogonal transformation is naturally specified from the size and shape of the block of the CU.
  • image processing system 110 encoder 120: decoder 1001: intra / inter branch unit 1002: block division determination unit 1010: selection unit 1011: DCT-VIII conversion unit 1012: DST-VII conversion unit 1013: DCT-II conversion unit 1020 : Selection unit 1021: DCT-VIII conversion unit 1022: DST-I conversion unit 1030: DST-VII conversion unit 1031: cost selection unit 1032: cost selection unit 1033: DCT-II conversion unit 1401: intra / inter branching unit 1402: Block division determination unit 1410: Selection unit 1411: IDCT-VIII conversion unit 1412: IDST-VII conversion unit 1413: IDCT-II conversion unit 1420: Selection unit 1421: IDCT-VIII conversion unit 1422: IDST-I conversion unit 1430: IDST-VII conversion unit 1440: IDCT-II conversion 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

次世代コーデックにおいて画面間予測時に用いられる直交変換の種類を決定する決定方法を提供する。画面間予測を用いて画像を符号化する符号化方法であって、前記画面間予測の対象となる、予測ブロックを特定するステップと、前記予測ブロックの中心を通る水平線に関して対称となり、かつ、前記予測ブロックの中心を通る垂直線に関して対称となる分割方法により、前記予測ブロックを、矩形形状の複数の変換ブロックに分割するステップと、前記複数の変換ブロックそれぞれについて、前記予測ブロックの中心との位置関係から、垂直方向及び水平方向それぞれに用いられる直交変換の種類を決定するステップとを有する。

Description

符号化方法、復号方法、符号化装置、復号装置、符号化プログラム及び復号プログラム
 本発明は、符号化方法、復号方法、符号化装置、復号装置、符号化プログラム及び復号プログラムに関する。
 標準化されたビデオコーデック(例えば、H.265/HEVC等)では、入力画像を符号化する際、入力画像と予測画像(画面内予測による予測画像または画面間予測による予測画像)との差から算出した予測残差信号に対して直交変換処理が実行される。
 ここで、予測残差信号に対して直交変換処理を実行する場合、いずれの種類の直交変換を用いるかによって、符号化効率が変わってくることから、予測残差信号の特性に応じた種類の直交変換を決定することが望まれる。
 これに対して、例えば、下記特許文献1では、画面間予測により入力画像を符号化する際に、画面間予測に用いる予測ブロックと直交変換に用いる変換ブロックとの位置関係から、直交変換の種類を絞り込む方法が提案されている。当該方法によれば、それぞれの位置関係から定まる予測残差信号の特性に応じた直交変換を選択できる。
特開2014-36278号公報
 しかしながら、H.265/HEVCに続く次世代コーデックでは、直交変換の際にブロック分割を行わないことが見込まれる。このため、次世代コーデックにおいては、上記特許文献1のように、予測ブロックと変換ブロックとの位置関係から直交変換の種類を決定することができない(あえて位置関係に基づくとすれば、常に同じ1つの位置関係しかとりえない)。
 加えて、上記特許文献1の場合、絞り込まれた直交変換の種類それぞれについて符号化コスト(例えば、レート歪(RD:Rate Distortion)値)を算出し、RD値を比較することで1種類の直交変換を決定するよう構成されている。このため、上記特許文献1の場合、画面間予測により入力画像を符号化する際のエンコーダ側の演算負荷が高いといった問題もある。
 一つの側面では、次世代コーデックにおいて画面間予測時に用いられる直交変換の種類を決定する決定方法を提供することを目的としている。
 一態様によれば、符号化方法は、以下の構成を備える。すなわち、
 画面間予測を用いて画像を符号化する符号化方法であって、
 前記画面間予測の対象となる、予測ブロックを特定するステップと、
 前記予測ブロックの中心を通る水平線に関して対称となり、かつ、前記予測ブロックの中心を通る垂直線に関して対称となる分割方法により、前記予測ブロックを、矩形形状の複数の変換ブロックに分割するステップと、
 前記複数の変換ブロックそれぞれについて、前記予測ブロックの中心との位置関係から、垂直方向及び水平方向それぞれに用いられる直交変換の種類を決定するステップとを有する。
 次世代コーデックにおいて画面間予測時に用いられる直交変換の種類を決定する決定方法を提供することができる。
図1は、エンコーダ及びデコーダの適用例を示す図である。 図2は、エンコーダ及びデコーダの他の適用例を示す図である。 図3は、エンコーダのハードウェア構成の一例を示す図である。 図4は、エンコーダの機能構成の一例を示す図である。 図5は、インタ予測モードにおける予測残差信号の特性の一例を示す図である。 図6Aは、直交変換の種類と特性とを示す図である。 図6Bは、直交変換の種類と特性とを示す図である。 図7は、各変換ブロックにおける予測残差信号の特性と各変換ブロックに割り当てた直交変換の種類を示す第1の図である。 図8は、各変換ブロックにおける予測残差信号の特性と各変換ブロックに割り当てた直交変換の種類を示す第2の図である。 図9は、各変換ブロックにおける予測残差信号の特性と各変換ブロックに割り当てた直交変換の種類を示す第3の図である。 図10は、直交変換部の機能構成の一例を示す図である。 図11は、直交変換部による直交変換処理の流れを示すフローチャートである。 図12は、デコーダの機能構成の一例を示す図である。 図13は、各変換ブロックにおいて算出される予測残差信号の特性と各変換ブロックに割り当てた逆直交変換の種類を示す図である。 図14は、逆直交変換部の機能構成の一例を示す図である。 図15は、逆直交変換部による逆直交変換処理の流れを示すフローチャートである。
 以下、各実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省略する。
 [第1の実施形態]
 <1.エンコーダ及びデコーダの適用例>
 はじめに、エンコーダ(符号化装置)及びデコーダ(復号装置)の適用例について説明する。図1は、エンコーダ及びデコーダの適用例を示す図である。
 図1に示すように、エンコーダ110を送信装置に、デコーダ120を受信装置にそれぞれ配し、ネットワーク160を介して接続することで、エンコーダ110及びデコーダ120を適用した画像処理システム100を形成することができる。
 画像処理システム100において、送信装置に配されたエンコーダ110は、入力された画像データを符号化することでデータストリーム(符号化列)を生成する。また、送信装置は生成されたデータストリームを、ネットワーク160を介して受信装置に送信する。
 受信装置はデータストリームを受信する。また、受信装置に配されたデコーダ120は、データストリームを復号することで画像データを生成し、表示する。
 かかる画像処理システム100を形成することで、エンコーダ110及びデコーダ120は、例えば、インタネット分野、放送分野、通信分野等の種々の分野に適用することができる。
 適用例100aは、画像処理システム100をインタネット分野に適用した例を示している。適用例100aの場合、送信装置110の一例であるサーバ装置111より送信されたデータストリームを、受信装置110の一例であるパーソナルコンピュータ121a、スマート端末121b等が受信し、表示する。これにより、パーソナルコンピュータ121aやスマート端末121bのユーザは、サーバ装置111が保持する動画像データをインタネットを介して視聴することができる。
 適用例100bは、画像処理システム100を放送分野に適用した例を示している。適用例100bの場合、送信装置110の一例である放送用送信機112より送信されたデータストリームを、受信装置110の一例であるテレビ122が受信し、表示する。これにより、例えば、テレビ122のユーザは、放送用送信機112が送信する放送内容を視聴することができる。
 適用例100cは、画像処理システム100を通信分野に適用した例を示している。適用例100cの場合、送信装置110の一例であるテレビ電話機113より送信されたデータストリームを、受信装置110の一例であるテレビ電話機123が受信し、表示する。これにより、テレビ電話機123のユーザは、通話相手の顔を見ながら通話することができる。
 図2は、エンコーダ及びデコーダの他の適用例を示す図である。図2に示すように、エンコーダ110とデコーダ120とを一体的に構成することで、エンコーダ110及びデコーダ120を適用した蓄積装置200を形成することができる。
 蓄積装置200は、入力された画像データをエンコーダ110が符号化し、生成したデータストリームを記録媒体に格納する。また、蓄積装置200は、記録媒体に格納されたデータストリームを、デコーダ120が復号することで画像データを生成し、表示する。
 かかる蓄積装置200を形成することで、エンコーダ110及びデコーダ120は、例えば、蓄積分野に適用することができる。適用例200aは蓄積装置200を蓄積分野に適用した例を示している。適用例200aの場合、蓄積装置200の一例であるビデオレコーダ211は、内蔵するエンコーダ110が、画像データを符号化することで生成したデータストリームを記録媒体212に格納する。また、ビデオレコーダ211は、内蔵するデコーダ120が、記録媒体212より読み出したデータストリームを復号することで生成した画像データを、モニタ213に表示する。これにより、ビデオレコーダ211のユーザは、取得した動画像データを効率的に蓄積することができる。
 <2.エンコーダ及びデコーダのハードウェア構成>
 次に、エンコーダ及びデコーダのハードウェア構成について説明する。なお、エンコーダ110及びデコーダ120は、同様のハードウェア構成を有していることから、ここでは、エンコーダ110のハードウェア構成について説明する。
 図3は、エンコーダのハードウェア構成の一例を示す図である。図3に示すように、エンコーダ110は、CPU(Central Processing Unit)301、ROM(Read Only Memory)302、RAM(Random Access Memory)303を有する。CPU301、ROM302、RAM303は、いわゆるコンピュータを形成する。また、エンコーダ110は、補助記憶装置304、入力装置305、表示装置306、接続装置307、ドライブ装置308を有する。なお、エンコーダ110の各ハードウェアは、バス309を介して相互に接続される。
 CPU301は、補助記憶装置304にインストールされた各種プログラム(例えば、符号化プログラム等)を実行する。
 ROM302は、不揮発性メモリである。ROM302は、補助記憶装置304にインストールされた各種プログラムをCPU301が実行するために必要な各種プログラム、データ等を記憶する、主記憶デバイスとして機能する。具体的には、ROM302はBIOS(Basic Input/Output System)やEFI(Extensible Firmware Interface)等のブートプログラム等を記憶する。
 RAM303は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)等の揮発性メモリである。RAM303は、補助記憶装置304にインストールされた各種プログラムがCPU301によって実行される際に展開される作業領域を提供する、主記憶デバイスとして機能する。
 補助記憶装置304は、インストールされた各種プログラムや、各種プログラムを実行する際に用いる情報を記憶する補助記憶デバイスである。
 入力装置305は、エンコーダ110に対して各種指示を入力する際に用いる入力デバイスである。
 表示装置306は、エンコーダ110の内部情報を表示する表示デバイスである。接続装置307は、エンコーダ110が、デコーダ120と接続し、通信を行うための通信デバイスである。
 ドライブ装置308はコンピュータ読み取り可能な記録媒体310をセットするためのデバイスである。ここでいう記録媒体310には、CD-ROM、フレキシブルディスク、光磁気ディスク等のように情報を光学的、電気的あるいは磁気的に記録する媒体が含まれる。あるいは、記録媒体310には、ROM、フラッシュメモリ等のように情報を電気的に記録する半導体メモリ等が含まれてもよい。
 なお、補助記憶装置304にインストールされる各種プログラムは、例えば、配布された記録媒体310がドライブ装置308にセットされ、該記録媒体310に記録された各種プログラムがドライブ装置308により読み出されることでインストールされてもよい。あるいは、補助記憶装置304にインストールされる各種プログラムは、接続装置307を介してネットワーク160からダウンロードされることでインストールされてもよい。
 なお、図3に示すハードウェア構成は、あくまで一例にすぎず、適用形態によっては、図3に示すハードウェアの一部を除外して、あるいは他のハードウェアに置き換えてもよいことはいうまでもない。
 <3.エンコーダの機能構成>
 次に、符号化プログラムが実行されることで実現される、エンコーダ110の機能構成について説明する。図4は、エンコーダの機能構成の一例を示す図である。図4に示すように、エンコーダ110は、ブロック分割部401、直交変換部402、量子化部403、エントロピ符号化部404を有する。また、エンコーダ110は、逆量子化部405、逆直交変換部406、ループフィルタ部407、復号画像記憶部408、イントラ/インタ予測部409を有する。
 ブロック分割部401は、入力された画像データを符号化ツリーユニット(CTU(Coding Tree Unit))のブロックごとに、再帰的に、符号化ユニット(CU(Coding Unit))のブロックに分割する。なお、一般的な(H.265/HEVCにおける)ブロック分割部では、更に、各CUを予測ユニット(PU(Prediction Unit))と変換ユニット(TU(Transform Unit))のブロックに分割する。しかしながら、H.265/HEVCに続く次世代コーデックの国際標準では、PU、TUを廃止し、全てCUに分割することが見込まれている。このため、本実施形態では、ブロック分割部401が、CTUのブロックを、全てCUに分割するものとして説明する。なお、H.265/HEVCに続く次世代コーデックとして検討されている内容によれば、CTUのサイズは、最大128画素×128画素以上であるので、以下では、CTUのサイズは、128画素×128画素として説明する。
 直交変換部402は、入力された予測残差信号に対して直交変換処理を実行する。なお、一般的な(H.265/HEVCにおける)直交変換部では、以下に示す種類の直交変換を用いる。
・直交変換処理を実行する対象のブロックサイズが8画素×8画素以上の場合:
 インタ予測モードの場合もイントラ予測モードの場合もDCT(Discrete Cosine Transform)-IIを用いる。
・直交変換処理を実行する対象のブロックサイズが4画素×4画素の場合:
 イントラ予測モードの場合、DST(Discrete Sine Transform)-VIIを用いる。
 一方、H.265/HEVCに続く次世代コーデックとして検討されている内容によれば、以下に示す種類の直交変換を用いることが見込まれている。
・イントラ予測モードの場合:
 DCT-II、DST-VII、DST-I、DCT-VIIIを用いる。
・インタ予測モードの場合:
 DCT-II、DST-VII、DCT-VIIIを用いる。
 したがって、以下では、直交変換部402が、次世代コーデックとして検討されている内容により用いることが見込まれている直交変換の種類に基づいて直交変換処理を実行するものとして説明する。なお、直交変換処理において直交変換部402が用いた、直交変換の種類を特定する情報(直交変換選択情報)は、直交変換処理の実行後に付帯情報としてエントロピ符号化部404によりデータストリームに組み込まれる。
 量子化部403は、直交変換処理が実行された予測残差信号を量子化することで量子化信号を生成し、エントロピ符号化部404及び逆量子化部405に出力する。
 エントロピ符号化部404は、量子化信号をエントロピ符号化することで、データストリームを生成し、出力する。
 逆量子化部405は、量子化信号を逆量子化し、逆直交変換部406に出力する。逆直交変換部406は、逆量子化された量子化信号に対して逆直交変換処理を実行する。逆直交変換部406により得られた信号は、例えば、イントラ/インタ予測部409により動き補償された予測画像に加算されることで復号画像が生成され、ループフィルタ部407に入力される。
 ループフィルタ部407は、復号画像の符号化ノイズを低減するフィルタ処理を行う。ループフィルタ部407がフィルタ処理を行うことで、復号画像のフレーム間で画質劣化が伝播することを防ぐことができる。復号画像記憶部408は、ループフィルタ部407によりフィルタ処理された復号画像を記憶する。
 イントラ/インタ予測部409は、復号画像を用いて予測画像の各CUのブロックを生成するイントラ予測(画面内予測)を行う。また、イントラ/インタ予測部409は、復号画像に基づいて動き補償を行い、予測画像の各CUのブロックを生成するインタ予測(画面間予測)を行う。
 更に、イントラ/インタ予測部409は、イントラ予測により生成された各CUのブロックまたはインタ予測により生成された各CUのブロックのいずれか一方を含む予測画像を出力する。
 イントラ/インタ予測部409より出力された予測画像は、入力された画像データとの残差計算に用いられ、予測残差信号として、直交変換部402に入力される。また、イントラ/インタ予測部409より出力された予測画像に対しては、各CUのブロックごとに逆直交変換部406により得られた信号が加算され、復号画像としてループフィルタ部407に入力される。
 <4.予測残差信号の特性>
 続いて、直交変換部402によって直交変換処理が実行される予測残差信号の特性について説明する。図5は、インタ予測モードにおける予測残差信号の特性の一例を示す図である。図5に示すように、1フレームの画像データ500のうち、128画素×128画素のCTUが、CUのブロックに分割され、当該CUのブロックごとに、インタ予測が行われ、入力された画像データの残差計算により、予測残差信号が直交変換部402に入力される。直交変換部402では、予測ブロックであるCUのブロックを特定し、特定したCUのブロックそれぞれについて直交変換処理を実行する。
 なお、CTU510に示すように、CTUのブロックは、インタ予測の際、様々なブロックサイズのCUに分割される。図5に示す例では、正方形のCUのブロック(8×8、16×16、32×32、64×64。単位は全て[画素])に分割された場合が含まれる。更に、図5に示す例では、長方形のCUのブロック(4×8、8×4、8×16、16×8、16×32、32×16、32×64、64×32、64×128、128×64。単位は全て[画素])に分割された場合が含まれる。なお、図5に示す例では、長方形のCUのブロックとして、縦横比が1:2または2:1のCUブロックを例示しているが、長方形のCUのブロックの縦横比はこれに限定されない。例えば、1:4(または4:1)、1:8(または8:1)、1:16(または16:1)の縦横比を有する長方形のCUのブロックが含まれていてもよい。
 CUのブロック520は、16画素×16画素に分割された正方形のブロックを拡大して示したものである。CUのブロック520に示すように、インタ予測モードの場合、予測残差信号は、中心位置521から距離が離れるにしたがって、予測残差が大きくなるという特性がある。なお、図5の場合、明度が高い部分は予測残差が小さく、明度が低い部分は予測残差が大きいことを示している。
 <5.直交変換の種類>
 次に、インタ予測が行われたCUのブロックに対して直交変換部402が直交変換処理を実行する際に用いる、直交変換の種類について説明する。図6A及び図6Bは、直交変換の種類と特性とを示す図である。
 上述したとおり、インタ予測モードの場合、直交変換部402が直交変換処理を実行する際に用いる直交変換の種類は、3種類である。具体的には、DCT-II、DCT-VIII、DST-VIIである(図6Aの"直交変換の種類"参照)。なお、図6Aに示す各種類の直交変換の"基底の2次元の式"は、各直交変換の基底に関する一般的な定義式であるため、ここでは説明を省略する。
 図6Aの"特性"の第1行に示すように、直交変換の種類="DCT-II"は、予測残差信号が平坦で、信号間の相関が高い場合に適するという特性を有する。また、図6Aの"特性"の第2行に示すように、直交変換の種類="DCT-VIII"は、予測残差信号がCUのブロック境界の近傍で大きく、CUのブロック境界から離れるにしたがって小さくなるような特徴の偏りに適するという特性を有する。更に、図6Aの"特性"の第3行に示すように、直交変換の種類="DST-VII"は、予測残差信号がブロック境界の近傍で大きく、CUのブロック境界から離れるにしたがって、小さくなるような特徴の偏りに適するという特性を有する。なお、図6Bは、これらの特性を可視化したものであり、各種類の直交変換の基底の1次元の波形を示している。
 <6.直交変換部による直交変換処理の概要>
 次に、インタ予測が行われたCUのブロックに対して、直交変換部402が実行する直交変換処理の概要について説明する。なお、直交変換部402による直交変換処理の概要を説明するにあたっては、まず、比較対象として、従来の直交変換部による直交変換処理(例えば、H.265/HEVCの直交変換部による直交変換処理)について説明する。
 <6.1 H.265/HEVCの直交変換部による直交変換処理>
 上述したとおり、H.265/HEVCの直交変換部の場合、インタ予測モードにおいて用いることができる直交変換の種類は、DCT-IIのみである。また、直交変換の種類="DCT-II"は、予測残差が平坦で、信号間の相関が高い場合に適するという特性を有する(図6Aの第1行参照)。一方で、図5に示したように、インタ予測モードにおける予測残差信号の場合、中心位置521から距離が離れるにしたがって、予測残差が大きくなるという特性を有する。
 このため、インタ予測モードにおける予測残差信号に対してDCT-IIを適用する、H.265/HEVCの直交変換部では、ブロックの外周部での予測残差信号が高周波成分となり、低周波への偏りが甘く、符号化効率が落ちるという問題があった。
 <6.2 本実施形態における直交変換部402による直交変換処理>
 一方、上述したとおり、H.265/HEVCに続く次世代コーデックとして検討されている内容によれば、インタ予測モードの場合、直交変換の種類として、DCT-II、DST-VII、DCT-VIIIを用いることが見込まれている。そこで、本実施形態では、かかる問題に鑑みて、
・DCT-II、DST-VII、DCT-VIIIそれぞれの特性を加味し、それぞれの特性に合うようにCUのブロックを分割する。具体的には、CUのブロックのサイズ及び形状に応じて、互いに重なり合わない複数の矩形形状のブロックに分割し、「変換ブロック」を生成する。
・CUのブロックの中心位置に対する、それぞれの変換ブロックの位置関係に基づいて、それぞれの変換ブロックへの、DCT-II、DST-VII、DCT-VIIIの割り当てを決定する。
 このように、本実施形態における直交変換部402では、変換ブロックごとに、異なる種類の直交変換を用いて直交変換処理を実行する(つまり、「変換ブロック」とは、直交変換の種類を割り当てる単位をいう)。
 この結果、本実施形態における直交変換部402による直交変換処理によれば、H.265/HEVCの直交変換部による直交変換処理と比較して、符号化効率を向上させることができる。また、本実施形態における直交変換部402による直交変換処理の場合、DCT-II、DST-VII、DCT-VIIIそれぞれを用いて、一旦、直交変換処理を実行したうえで、それぞれのRD値に基づいて直交変換の種類を決定するわけでない。このため、エンコーダ120側の演算負荷を抑えることができる。
 以下、CUのブロックとして、様々なサイズまたは様々な形状を例示しながら、それぞれのCUのブロックにおける具体的な分割方法と、変換ブロックそれぞれに割り当てる直交変換の種類とについて説明する。
 (1)CUのブロックの形状が正方形、CUのブロックサイズが8画素×8画素の場合
 図7は、各変換ブロックにおける予測残差信号の特性と各変換ブロックに割り当てた直交変換の種類を示す第1の図であり、CUのブロック700の形状が正方形であり、ブロックサイズが8画素×8画素の場合を示している。
 図7に示すように、CUのブロック700の場合、形状が正方形で、かつ、ブロックサイズが小さいため、直交変換部402では、4つの変換ブロックに分割する。
 具体的には、CUのブロック700の中心を通る水平線に対して対称となり、かつ、中心を通る垂直線に対して対称となるようにCUのブロック700を分割することで、4つの矩形形状の変換ブロックを生成する。
 これにより、例えば、変換ブロック701(CUのブロック700の中心点と、右下頂点で一致する変換ブロック)は、垂直方向に見た場合、CUのブロック700の境界から離れるにしたがって、予測残差が小さくなるという特性を有することになる。また、水平方向に見た場合、CUのブロック700の境界から離れるにしたがって、予測残差が小さくなるという特性を有することになる。このため、直交変換部402では、変換ブロック701に対して、垂直方向には、直交変換の種類="DCT-VIII"を、水平方向には、直交変換の種類="DCT-VIII"を割り当てる(割り当て一覧710第1行参照)。
 また、変換ブロック702(CUのブロック700の中心点と、左下頂点で一致する変換ブロック)は、垂直方向に見た場合、CUのブロック700の境界から離れるにしたがって、予測残差が小さくなるという特性を有することになる。また、水平方向に見た場合、CUのブロック700の境界に近づくにしたがって、予測残差が大きくなるという特性を有することになる。このため、直交変換部402では、変換ブロック702に対して、垂直方向には、直交変換の種類="DCT-VIII"を、水平方向には、直交変換の種類="DST-VII"を割り当てる(割り当て一覧710第2行参照)。
 また、変換ブロック703(CUのブロック700の中心点と、右上頂点で一致する変換ブロック)は、垂直方向に見た場合、CUのブロック700の境界に近づくにしたがって、予測残差が大きくなるという特性を有することになる。また、水平方向に見た場合、CUのブロック700の境界から離れるにしたがって、予測残差が小さくなるという特性を有することになる。このため、直交変換部402では、変換ブロック703に対して、垂直方向には、直交変換の種類="DST-VII"を、水平方向には、直交変換の種類="DCT-VIII"を割り当てる(割り当て一覧710第3行参照)。
 また、変換ブロック704(CUのブロック700の中心点と、左上頂点で一致する変換ブロック)は、垂直方向に見た場合、CUのブロック700の境界に近づくにしたがって、予測残差が大きくなるという特性を有することになる。また、水平方向に見た場合、CUのブロック700の境界に近づくにしたがって、予測残差が大きくなるという特性を有することになる。このため、直交変換部402では、変換ブロック704に対して、垂直方向には、直交変換の種類="DST-VII"を、水平方向には、直交変換の種類="DST-VII"を割り当てる(割り当て一覧710第4行参照)。
 (2)CUのブロックの形状が正方形、ブロックサイズが16画素×16画素等の場合
 図8は、各変換ブロックにおける予測残差信号の特性と各変換ブロックに割り当てた直交変換の種類を示す第2の図である。図8は、CUのブロック800の形状が正方形であり、ブロックサイズが16画素×16画素(または32画素×32画素、64画素×64画素)の場合を示している。
 図8に示すように、CUのブロック800の場合、形状が正方形で、かつ、ブロックサイズが大きいため、直交変換部402では、9つの変換ブロックに分割する。なお、図8の場合も、図7と同様に、CUのブロック800の中心を通る水平線(不図示)に対して対称となり、かつ、中心を通る垂直線(不図示)に対して対称となるようにCUのブロック800を分割する。
 具体的には、直交変換部402では、CUのブロック800を、水平方向に1:2:1の比率で3分割し、垂直方向に1:2:1の比率で3分割する。CUのブロック800の1辺の画素数をn画素とすると、直交変換部402によれば、変換ブロックとして、
・((n×1/4)画素)×((n×1/4)画素)の変換ブロックが4つ生成され、
・((n×1/4)画素)×((n×1/2)画素)の変換ブロックが2つ生成され、
・((n×1/2)画素)×((n×1/4)画素)の変換ブロックが2つ生成され、
・((n×1/2)画素)×((n×1/2)画素)の変換ブロックが1つ生成される、
ことになる。なお、図8に示すそれぞれの変換ブロックは以下のように定義することができる(以下の定義において、"左上"、"右上"、"左下"、"右下"とは、CUのブロック800の中心位置から見た場合の位置関係を指す)。
・丸数字の"1"が記載された変換ブロック(変換ブロック801):
 CUのブロック800と左上頂点で一致する変換ブロック
・丸数字の"2"が記載された変換ブロック:
 CUのブロック800と右上頂点で一致する変換ブロック
・丸数字の"3"が記載された変換ブロック:
 CUのブロック800と左下頂点で一致する変換ブロック
・丸数字の"4"が記載された変換ブロック:
 CUのブロック800と右下頂点で一致する変換ブロック
・丸数字の"5"が記載された変換ブロック(変換ブロック802):
 CUのブロック800と左上頂点で一致する変換ブロックと、CUのブロック800と右上頂点で一致する変換ブロックとの間に挟まれた変換ブロック
・丸数字の"6"が記載された変換ブロック(変換ブロック803):
 CUのブロック800と右上頂点で一致する変換ブロックと、CUのブロック800と右下頂点で一致する変換ブロックとの間に挟まれた変換ブロック
・丸数字の"7"が記載された変換ブロック:
 CUのブロック800と左下頂点で一致する変換ブロックと、CUのブロック800と右下頂点で一致する変換ブロックとの間に挟まれた変換ブロック
・丸数字の"8"が記載された変換ブロック:
 CUのブロック800と左上頂点で一致する変換ブロックと、CUのブロック800と左下頂点で一致する変換ブロックとの間に挟まれた変換ブロック
・丸数字の"9"が記載された変換ブロック:
 CUのブロック800の中心点が含まれる変換ブロック
 これにより、例えば、変換ブロック801は、垂直方向に見た場合、CUのブロック800の境界から離れるにしたがって、予測残差が小さくなるという特性を有することになる。また、水平方向に見た場合、CUのブロック800の境界から離れるにしたがって、予測残差が小さくなるという特性を有することになる。このため、直交変換部402では、変換ブロック801に対して、垂直方向には、直交変換の種類="DCT-VIII"を、水平方向には、直交変換の種類="DCT-VIII"を割り当てる(割り当て一覧810第1行参照)。
 また、変換ブロック802は、垂直方向に見た場合、CUのブロック800の境界から離れるにしたがって、予測残差が小さくなるという特性を有することになる。また、変換ブロック802は、水平方向に見た場合、CUのブロック800の境界からの距離に関わらず、予測残差が一定になるという特性を有することになる。このため、直交変換部402では、変換ブロック802に対して、垂直方向には、直交変換の種類="DCT-VIII"を、水平方向には、直交変換の種類="DST-VII"を割り当てる(割り当て一覧810第5行参照)。
 また、変換ブロック803は、垂直方向に見た場合、CUのブロック800の境界からの距離に関わらず、予測残差が一定になるという特性を有することになる。また、水平方向に見た場合、CUのブロック800の境界に近づくにしたがって、予測残差が大きくなるという特性を有することになる。このため、直交変換部402では、変換ブロック803に対して、垂直方向には、直交変換の種類="DCT-II"を、水平方向には、直交変換の種類="DST-VII"を割り当てる(割り当て一覧810第6行参照)。
 また、変換ブロック804は、垂直方向に見た場合、CUのブロック800の境界からの距離に関わらず、予測残差が一定になるという特性を有することになる。また、水平方向に見た場合、CUのブロック800の境界からの距離に関わらず、予測残差が一定になるという特性を有することになる。このため、直交変換部402では、変換ブロック804に対して、垂直方向には、直交変換の種類="DCT-II"を、水平方向には、直交変換の種類="DCT-II"を割り当てる(割り当て一覧810第9行参照)。
 (3)CUのブロックの形状が長方形、ブロックサイズが4画素×8画素等の場合
 図9は、各変換ブロックにおける予測残差信号の特性と各変換ブロックに割り当てた直交変換の種類を示す第3の図であり、CUのブロック910~940の形状が横長の長方形または縦長の長方形である。なお、図9の場合も、図7、図8と同様に、CUのブロック910~940それぞれの中心を通る水平線(不図示)に対して対称となり、かつ、中心を通る垂直線(不図示)に対して対称となるようにCUのブロック910~940それぞれを分割する。
 図9に示すCUのブロック910~940のうち、CUのブロック910の形状は、8画素×16画素の横長の(水平方向に長い)長方形であり、CUのブロック920の形状は、16画素×8画素の縦長の長方形である。長方形で、かつ、ブロックサイズが小さい場合、直交変換部402では、6つの変換ブロックに分割する。
 具体的には、直交変換部402では、CUのブロック910を、水平方向に1:2:1の比率で3分割し、垂直方向に1:1の比率で2分割する。なお、それぞれの変換ブロックは以下のように定義することができる。
・丸数字の"1"が記載された変換ブロック:
 CUのブロック910と左上頂点で一致する変換ブロック
・丸数字の"2"が記載された変換ブロック:
 CUのブロック910と右上頂点で一致する変換ブロック
・丸数字の"3"が記載された変換ブロック:
 CUのブロック910と左下頂点で一致する変換ブロック
・丸数字の"4"が記載された変換ブロック:
 CUのブロック910と右下頂点で一致する変換ブロック
・丸数字の"5"が記載された変換ブロック:
 CUのブロック910と左上頂点で一致する変換ブロックと、CUのブロック910と右上頂点で一致する変換ブロックとの間に挟まれた変換ブロック
・丸数字の"7"が記載された変換ブロック:
 CUのブロック910の左下頂点で一致する変換ブロックと、CUのブロック910と右下頂点で一致する変換ブロックとの間に挟まれた変換ブロック
 なお、丸数字で特定されるそれぞれの変換ブロックに割り当てられる直交変換の種類は、図8の割り当て一覧810と同様であるため、ここでは説明を省略する。
 同様に、直交変換部402では、CUのブロック920を、水平方向に1:1の比率で2分割し、垂直方向に1:2:1の比率で3分割する。なお、それぞれの変換ブロックは以下のように定義することができる。
・丸数字の"1"が記載された変換ブロック:
 CUのブロック920と左上頂点で一致する変換ブロック
・丸数字の"2"が記載された変換ブロック:
 CUのブロック920と右上頂点で一致する変換ブロック
・丸数字の"3"が記載された変換ブロック:
 CUのブロック920と左下頂点で一致する変換ブロック
・丸数字の"4"が記載された変換ブロック:
 CUのブロック920と右下頂点で一致する変換ブロック
・丸数字の"6"が記載された変換ブロック:
 CUのブロック920と右上頂点で一致する変換ブロックと、CUのブロック920と右下頂点で一致する変換ブロックとの間に挟まれた変換ブロック
・丸数字の"8"が記載された変換ブロック:
 CUのブロック920の左上頂点で一致する変換ブロックと、CUのブロック920と左下頂点で一致する変換ブロックとの間に挟まれた変換ブロック
 なお、丸数字で特定されるそれぞれの変換ブロックに割り当てられる直交変換の種類は、図8の割り当て一覧810と同様であるため、ここでは説明を省略する。
 一方、CUのブロック930は、横長の(水平方向に長い)長方形であり、ブロックサイズが16画素×32画素(または32画素×64画素、64画素×128画素)の場合を示している。また、CUのブロック940は、縦長(垂直方向に長い)長方形であり、ブロックサイズが32画素×16画素(または、64画素×32画素、128画素×64画素)の場合を示している。
 このように、横長(または縦長)の長方形で、かつ、ブロックサイズが大きい場合、直交変換部402では、9つの変換ブロックに分割する。
 具体的には、直交変換部402では、CUのブロック930(または940)を、水平方向に1:2:1の比率で3分割し、垂直方向に1:2:1の比率で3分割する。CUのブロック930(または940)の縦の辺の画素数をn画素、横の辺の画素数をm画素とすると、直交変換部402によれば、変換ブロックとして、
・((n×1/4)画素)×((m×1/4)画素)の変換ブロックが4つ生成され、
・((n×1/4)画素)×((m×1/2)画素)の変換ブロックが2つ生成され、
・((n×1/2)画素)×((m×1/4)画素)の変換ブロックが2つ生成され、
・((n×1/2)画素)×((m×1/2)画素)の変換ブロックが1つ生成される、
ことになる。なお、丸数字で特定されるそれぞれの変換ブロックの定義は、図8と同様である。また、丸数字で特定されるそれぞれの変換ブロックに割り当てられる直交変換の種類も、図8の割り当て一覧810と同様である。
 なお、分割時には変換ブロックがあまり細かくなりすぎないように注意する必要がある。具体的には、変換ブロックの1辺が4画素より小さくならないようにする。変換ブロックは、その中での予測誤差がある程度均質な状態で、かつ、できるだけ大きくなることが重要で、あまり細かく分割すると、そのためのオーバヘッドの方が大きくなるからである。
 <7.直交変換部の機能構成>
 次に、直交変換部402の機能構成について説明する。直交変換部402では、H.265/HEVCに続く次世代コーデックの検討過程で既に提案されている直交変換処理を実現しつつ、上述した直交変換処理(変換ブロックごとに実行される異なる種類の直交変換を用いた直交変換処理)を実現する。
 ここで、H.265/HEVCに続く次世代コーデックの検討過程で既に提案されている直交変換処理について更に詳細に説明する。H.265/HEVCに続く次世代コーデックの検討過程では、インタ予測モードの場合、以下のような直交変換処理が実行されることが提案されている。
・DCT-IIによる直交変換処理の処理結果と、他の基底による直交変換処理とを比較して選択する。
・水平方向及び垂直方向それぞれで、DST-VIIとDCT-VIIIから1つを選択し、2次の基底とする。
 また、H.265/HEVCに続く次世代コーデックの検討過程では、イントラ予測モードの場合、以下のような直交変換処理が実行されることが提案されている。
・異なる種類のイントラ予測モードで、異なる予測残差信号の特徴がでるため、イントラ予測モードの種類に応じて直交変換の種類を選択する。
・DCT-IIによる直交変換処理の処理結果と、他の基底による直交変換処理の処理結果とを比較して選択する。
・他の基底による直交変換の種類は、イントラ予測モードの種類に応じて、変換設定(Transform Set)に基づいて決める。
・変換設定=0の場合、DST-VII、DCT-VIIIのうち、いずれかの種類の直交変換を選択する。変換設定=1の場合、DST-VII、DST-Iのうち、いずれかの種類の直交変換を選択する。変換設定=2の場合、DST-VII、DCT-VIIIのうち、いずれかの種類の直交変換を選択する。
 図10は、直交変換部の機能構成の一例を示す図である。図10に示すように、直交変換部402は、イントラ/インタ分岐部1001、ブロック分割判定部1002、選択部1010、DCT-VIII変換部1011~DCT-II変換部1013を有する。また、直交変換部402は、選択部1020、DCT-VIII変換部1021~DST-I変換部1022を有する。更に、直交変換部402は、DST-VII変換部1030、コスト選択部1031、コスト選択部1032、DCT-II変換部1033を有する。
 このうち、図10において網掛けした機能ブロックは、H.265/HEVCに続く次世代コーデックの検討過程で既に提案されている直交変換処理(JVETで既に提案されている直交変換処理)を実現する機能ブロックの一例である。なお、JVETとは、Joint Video Exploration Teamの略称である。
 一方、図10において網掛けしていない機能ブロックは、上述した直交変換処理(変換ブロックごとに実行される異なる種類の直交変換を用いた直交変換処理)を実現する、すなわち本発明部分の機能ブロックである。以下、各機能ブロックについて順次説明する。
 イントラ/インタ分岐部1001は、予測残差信号が算出された処理対象のCUのブロックが、イントラ予測モードのブロックであるのか、インタ予測モードのブロックであるのかに基づいて処理を分岐する。
 なお、処理対象のCUのブロックが、イントラ予測モードのブロックであった場合、イントラ/インタ分岐部1001は、処理対象のCUのブロックを選択部1020と、DST-VII変換部1030に通知する。一方、処理対象のCUのブロックが、インタ予測モードのブロックであった場合、イントラ/インタ分岐部1001は、処理対象のCUのブロックをブロック分割判定部1002に通知する。
 ブロック分割判定部1002は特定手段の一例である。ブロック分割判定部1002は、インタ予測モードのCUのブロックの形状(正方形か長方形か)、ブロックサイズ、縦長か横長かを特定し、CUのブロックの分割方法を判定する。また、ブロック分割判定部1002は、判定した分割方法を、処理対象のCUのブロックとともに選択部1010に通知する。
 選択部1010は分割手段の一例である。選択部1010は、ブロック分割判定部1002により判定された分割方法のもとで、処理対象のCUのブロックを分割することで、複数の(4個、6個または9個の)変換ブロックを生成する。また、選択部1010は決定手段の一例でもある。選択部1010は、各変換ブロックに割り当てる直交変換の種類を水平方向と垂直方向で別々に決定し、それぞれ決定した直交変換の種類に対応する変換部に対して、変換ブロックを送信するとともに、直交変換処理の実行指示を送信する。
 DCT-VIII変換部1011は、選択部1010より変換ブロックと、実行指示とを受信した場合に、受信した変換ブロックに対してDCT-VIIIを用いて直交変換処理を実行する。
 DST-VII変換部1012は、選択部1010より変換ブロックと、実行指示とを受信した場合に、受信した変換ブロックに対してDST-VIIを用いて直交変換処理を実行する。
 DCT-II変換部1013は、選択部1010より変換ブロックと、実行指示とを受信した場合に、受信した変換ブロックに対してDCT-IIを用いて直交変換処理を実行する。
 選択部1020は、イントラ/インタ分岐部1001より処理対象のCUのブロックを受信すると、イントラ予測モードの種類に応じて予め定められた変換設定(Transform Set)に対応する変換部に対して、処理対象のCUのブロックを送信する。また、選択部1020は、変換設定に対応する変換部に対して、直交変換処理の実行指示を送信する。
 DCT-VIII変換部1021は、選択部1020より、処理対象のCUのブロックと実行指示とを受信した場合に、受信したCUのブロックに対してDCT-VIIIを用いて直交変換処理を実行し、処理結果をコスト選択部1031に送信する。
 DST-I変換部1022は、選択部1020より、処理対象のCUのブロックと実行指示とを受信した場合に、受信したCUのブロックに対してDST-Iを用いて直交変換処理を実行し、処理結果をコスト選択部1031に送信する。
 DST-VII変換部1030は、イントラ/インタ分岐部1001より処理対象のCUのブロックを受信すると、受信したCUのブロックに対してDST-VIIを用いて直交変換処理を実行し、処理結果をコスト選択部1031に送信する。
 コスト選択部1031は、処理対象のCUのブロックが、イントラ予測モードのブロックの場合に動作する。具体的には、コスト選択部1031は、DCT-VIII変換部1021、DST-I変換部1022、DCT-V変換部1023のいずれかの変換部より送信された処理結果と、DST-VII変換部1030より受信した処理結果とを受信する。
 また、コスト選択部1031は、DCT-VIII変換部1021、DST-I変換部1022、DCT-V変換部1023のいずれかの変換部より送信された処理結果について、RD値を算出する。また、コスト選択部1031は、DST-VII変換部1030より受信した処理結果について、RD値を算出する。また、コスト選択部1031は、算出したRD値を比較し、小さい方のRD値の算出に用いられた処理結果及び処理結果の算出に用いられた直交変換の種類を特定する。更に、コスト選択部1031は、特定した処理結果をコスト選択部1032に通知する。
 これにより、コスト選択部1031では、変換設定=0の場合、DST-VIIによる直交変換処理の処理結果についてのRD値と、DCT-VIIIによる直交変換処理の処理結果についてのRD値とを比較することができる。また、コスト選択部1031では、変換設定=1の場合、DST-VIIによる直交変換処理の処理結果についてのRD値と、DST-Iによる直交変換処理の処理結果についてのRD値とを比較することができる。更に、コスト選択部1031では、変換設定=2の場合、DST-VIIによる直交変換処理の処理結果についてのRD値と、DCT-Vによる直交変換処理の処理結果についてのRD値とを比較することができる。
 DCT-II変換部1033は、予測残差信号が算出された処理対象のCUのブロックを受信すると、受信したCUのブロックに対してDCT-IIを用いて直交変換処理を実行し、処理結果をコスト選択部1032に送信する。
 コスト選択部1032は、インタ予測が行われた場合には、DCT-VIII変換部1011、DST-VII変換部1012、DCT-II変換部1013より送信された処理結果(つまり、各変換ブロックの処理結果)を受信する。また、コスト選択部1032は、受信した各変換ブロックの処理結果に基づいて、処理対象のCUのブロックのRD値を算出する。また、コスト選択部1032は、DCT-II変換部1033より受信した処理結果に基づいて、処理対象のCUのブロックのRD値を算出する。
 また、コスト選択部1032は、各変換ブロックの処理結果に基づいて算出した処理対象のCUのブロックについてのRD値と、DCT-II変換部1033より受信した処理結果に基づいて算出した処理対象のCUのブロックについてのRD値とを比較する。更に、コスト選択部1032は、小さい方のRD値の算出に用いられた処理結果を特定する。また、コスト選択部1032は、特定した処理結果を、インタ予測が行われた場合の予測残差信号に対する"周波数信号"として出力する。更に、コスト選択部1032は、特定した処理結果に応じた直交変換選択情報を出力する。
 このように、インタ予測が行われた場合、コスト選択部1032では、
・処理対象のCUのブロックを分割した各変換ブロックについて、DCT-VIII、DST-VII、DCT-IIのいずれかを用いて直交変換処理を実行した処理結果と、
・処理対象のCUのブロックについて、DCT-IIを用いて直交変換処理を実行した処理結果と、
を比較して、RD値の小さい方の処理結果を選択して出力するとともに、選択した処理結果に応じた直交変換選択情報を出力する。
 なお、選択した処理結果に応じた直交変換選択情報は、例えば、DCT-IIによる直交変換処理の処理結果が選択された場合にあっては、"0"となる。一方、変換ブロックごとにDCT-VIII、DST-VII、DCT-IIのいずれかを用いて直交変換処理を実行した処理結果が選択された場合にあっては、"1"となる。
 このように、H.265/HEVCに続く次世代コーデックの検討過程で既に提案されている直交変換処理において本実施形態を適用することができる。また、本実施形態を適用することで、次世代コーデックの検討過程で既に提案されている直交変換処理では、インタ予測が行われた場合に用いられうる直交変換の種類が増加するにもかかわらず、直交変換選択情報を簡素化できる。理由は以下の通りである。
 すなわち、予測残差信号の特性に応じて変換ブロックを生成し、それぞれの特性に応じた種類の直交変換が割り当てるように構成しており、
・CUのブロックのサイズ、形状に応じて、分割方法を一意に決定し、
・分割方法が決定されると、各変換ブロックに割り当てるべき直交変換の種類を一意に決定する、
からである。
 一方、イントラ予測が行われた場合には、コスト選択部1032は、コスト選択部1031より通知された処理結果と、DCT-II変換部1033より通知された処理結果とを受信する。また、受信した各処理結果に基づいて処理対象のCUのブロックのRD値を算出して比較する。また、コスト選択部1032は、比較の結果、小さい方のRD値の算出に用いられた処理結果を特定し、特定した処理結果を、イントラ予測が行われた場合の予測残差信号に対する"周波数信号"として出力する。更に、コスト選択部1032は、特定した処理結果に応じた直交変換選択情報(ここでは、直交変換の種類)を出力する。
 このように、イントラ予測が行われた場合、コスト選択部1032では、
・処理対象のCUのブロックについて、DCT-VIII、DST-Iのうちのいずれかを用いて直交変換処理を実行した処理結果、
・DST-VIIを用いて直交変換処理を実行した処理結果、
・DCT-IIを用いて直交変換処理を実行した処理結果、
の中から、RD値の最も小さい処理結果を選択して出力するとともに、選択した処理結果の算出に用いられた直交変換の種類を、直交変換選択情報として出力する。
 <8.直交変換処理の流れ>
 次に、直交変換部402による直交変換処理の流れについて説明する。図11は、直交変換部による直交変換処理の流れを示すフローチャートである。なお、ここでは、予測残差信号が算出されたCUのブロックのうち、所定の1のブロック(処理対象のCUのブロック)に対する直交変換処理について説明する。
 ステップS1101において、DCT-II変換部1033は、処理対象のCUのブロックに対して、DCT-IIによる水平方向の直交変換処理とDCT-IIによる垂直方向の直交変換処理とを実行する。
 ステップS1102において、イントラ/インタ分岐部1001は、処理対象のCUのブロックが、イントラ予測モードのブロックであるのか、インタ予測モードのブロックであるのかを判定する。
 ステップS1102において、インタ予測モードのブロックであると判定した場合には、ステップS1103に進む。ステップS1103において、ブロック分割判定部1002は、処理対象のCUのブロックの短辺サイズが4画素であるか否かを判定する。また、ブロック分割判定部1002は、処理対象のCUのブロックのサイズが、128画素×128画素であるか否かを判定する。
 ステップS1103において、短辺サイズが4画素であると判定された場合には(ステップS1103においてYesの場合には)、処理対象のCUのブロックについての直交変換処理を終了する。また、処理対象のCUのブロックのサイズが、128画素×128画素であると判定された場合には(ステップS1103においてYesの場合には)、処理対象のCUのブロックについての直交変換処理を終了する。処理対象のCUのブロックのサイズが、ステップS1103の条件を満たす場合とは、変換ブロックごとの直交変換処理を実行しない場合である。
 一方、ステップS1103において、処理対象のCUのブロックの短辺サイズが4画素ではなく、かつ、全体サイズが128画素×128画素でないと判定した場合には(ステップS1103においてNoの場合には)、ステップS1104に進む。
 ステップS1104において、ブロック分割判定部1002は、処理対象のCUのブロックのサイズが所定の閾値以下であるか否かを判定する。ステップS1104において、処理対象のCUのブロックのサイズが所定の閾値以下であると判定した場合には(ステップS1104においてYesの場合には)、ステップS1105に進む。
 ステップS1105において、ブロック分割判定部1002は、処理対象のCUのブロックの形状が、正方形であるのか、長方形であるのかを判定する。ステップS1105において、正方形であると判定した場合には、ステップS1106に進む。
 ステップS1106において、選択部1010は、処理対象のCUのブロックを分割することで、4個の変換ブロックを生成する。また、選択部1010は、4個の変換ブロックそれぞれの位置に応じた直交変換の種類(図7の割り当て一覧710参照)を特定する。更に、選択部1010は、特定した直交変換の種類に対応する変換部(DCT-VIII変換部1011、DST-VII変換部1012のいずれか)に、変換ブロックを送信するとともに、実行指示を通知する。これにより、4個の変換ブロックそれぞれに対する、水平方向及び垂直方向の直交変換処理が実行される。
 一方、ステップS1104において、処理対象のCUのブロックのサイズが所定の閾値以下ではないと判定した場合には(ステップS1104においてNoの場合には)、ステップS1107に進む。
 ステップS1107において、選択部1010は、処理対象のCUのブロックを分割することで、9個の変換ブロックを生成する。また、選択部1010は、9個の変換ブロックそれぞれの位置に応じた直交変換の種類(図8の割り当て一覧810、図9のCUのブロック930、940参照)を特定する。更に、選択部1010は、特定した直交変換の種類に対応する変換部(DCT-VIII変換部1011、DST-VII変換部1012、DCT-II変換部1013のいずれか)に、変換ブロックを送信するとともに、実行指示を通知する。これにより、9個の変換ブロックそれぞれに対する、水平方向及び垂直方向の直交変換処理が実行される。
 一方、ステップS1105において、処理対象のCUのブロックが長方形であると判定した場合には、ステップS1108に進む。ステップS1108において、選択部1010は、処理対象のCUのブロックが縦長の長方形であるのか、横長の長方形であるのかを判定する。
 ステップS1108において、縦長の長方形であると判定した場合には、ステップS1109に進む。ステップS1109において、選択部1010は、処理対象のCUのブロックを分割することで、6個の変換ブロックを生成する。また、選択部1010は、6個の変換ブロックそれぞれの位置に応じた直交変換の種類(図9のCUのブロック920参照)を特定する。更に、選択部1010は、特定した直交変換の種類に対応する変換部(DCT-VIII変換部1011、DST-VII変換部1012、DCT-II変換部1013のいずれか)に、変換ブロックを送信するとともに、実行指示を通知する。これにより、6個の変換ブロックそれぞれに対する、水平方向及び垂直方向の直交変換処理が実行される。
 一方、ステップS1108において、横長の長方形であると判定した場合には、ステップS1110に進む。ステップS1110において、選択部1010は、処理対象のCUのブロックを分割することで、6個の変換ブロックを生成する。また、選択部1010は、6個の変換ブロックそれぞれの位置に応じた直交変換の種類(図9のCUのブロック910参照)を特定する。更に、選択部1010は、特定した直交変換の種類に対応する変換部(DCT-VIII変換部1011、DST-VII変換部1012のいずれか)に、変換ブロックを送信するとともに、実行指示を通知する。これにより、6個の変換ブロックそれぞれに対する、水平方向及び垂直方向の直交変換処理が実行される。
 一方、ステップS1102において、イントラ予測モードのブロックであると判定した場合には、ステップS1111に進む。ステップS1111において、選択部1020~DST-VII変換部1030の各部は、JVET(Joint Video Exploration Team)で既に提案されている直交変換処理を実行する。
 ステップS1112において、コスト選択部1031及びコスト選択部1032は、処理対象のCUのブロックについてRD値を算出し比較する。例えば、処理対象のCUのブロックがイントラ予測モードのブロックであった場合、コスト選択部1031及びコスト選択部1032は、ステップS1101及びステップS1111における各処理結果について算出したRD値を比較する。一方、処理対象のCUのブロックがインタ予測モードのブロックであったとする。この場合、コスト選択部1032は、ステップS1101における処理結果について算出したRD値と、ステップS1106、S1107、S1109、S1110のいずれかの処理結果について算出したRD値とを比較する。
 更に、コスト選択部1032は、比較の結果に基づいて、最小のRD値が算出された処理結果を特定する。また、コスト選択部1032は、特定した処理結果に応じた直交変換選択情報を出力する。
 <9.デコーダの機能構成>
 次に、復号プログラムを実行することで実現される、デコーダ120の機能構成について説明する。図12は、デコーダの機能構成の一例を示す図である。図12に示すように、デコーダ120は、エントロピ復号部1201、逆量子化部1202、逆直交変換部1203、ループフィルタ部1204、復号画像記憶部1205、イントラ/インタ予測部1206を有する。
 エントロピ復号部1201は、受信したデータストリームを復号し、量子化信号を出力する。また、エントロピ復号部1201は、データストリームより付帯情報(直交変換選択情報等を含む)を抽出し、逆直交変換部1203に通知する。
 逆量子化部1202は、量子化信号を逆量子化し、逆直交変換部1203に出力する。逆直交変換部1203は、付帯情報を参照しながら、逆量子化された量子化信号に対して逆直交変換処理を実行することで、予測残差信号を得る。
 逆直交変換部1203により得られた予測残差信号は、例えば、イントラ/インタ予測部1206により動き補償された予測画像の各CUのブロックに加算されることで復号画像が生成され、ループフィルタ部1204に入力される。
 ループフィルタ部1204は、入力された復号画像の符号化ノイズを低減するフィルタ処理を行う。ループフィルタ部1204がフィルタ処理を行うことで、復号画像のフレーム間で画質劣化が伝播することを防ぐことができる。
 また、ループフィルタ部1204は、フィルタ処理した復号画像を復号結果として出力するとともに、復号画像記憶部1205に記憶する。
 イントラ/インタ予測部1206は、復号画像の各CUのブロックを用いて予測画像の各CUのブロックを生成するイントラ予測を行う。また、イントラ/インタ予測部1206は、復号画像の各フレーム間の各CUのブロックに基づいて動き補償を行い、予測画像の各CUのブロックを生成するインタ予測を行う。
 更に、イントラ/インタ予測部1206は、イントラ予測により生成された各CUのブロックまたはインタ予測により生成された各CUのブロックのいずれか一方を含む予測画像を出力する。出力された予測画像に対しては、逆直交変換部1203により得られた予測残差信号が加算され、復号画像として、ループフィルタ部1204に入力される。
 <10.本実施形態における逆直交変換部1203による逆直交変換処理の概要>
 次に、インタ予測が行われたCUのブロックに対して、逆直交変換部1203が実行する逆直交変換処理の概要について説明する。図13は、各変換ブロックにおいて算出される予測残差信号の特性と各変換ブロックに割り当てた逆直交変換の種類を示す図である。
 なお、逆直交変換部1203が逆直交変換処理を実行する、処理対象のCUのブロックのサイズ、形状のバリエーションは、直交変換部402が直交変換処理を実行する、処理対象のCUのブロックのサイズ、形状のバリエーションと同じである。具体的には、図13のCUのブロック1310~1360は、それぞれ、図7のCUのブロック700、図8のCUのブロック800、図9のCUのブロック910~940にそれぞれ対応している。
 また、サイズ及び形状が同じである場合、変換ブロックを生成するための分割方法(分割数、分割位置)も同じとなる。更に、サイズ及び形状が同じで分割方法が同じである場合、各変換ブロックに割り当てられる逆直交変換の種類も同じとなる。図13の割り当て一覧1370は、図8の割り当て一覧810に対応している。
 <11.逆直交変換部の機能構成>
 次に、逆直交変換部1203の機能構成について説明する。図14は、逆直交変換部の機能構成の一例を示す図である。なお、直交変換部402の機能構成(図10)と同様に、図14において、網掛けした機能ブロックは、H.265/HEVCに続く次世代コーデックの検討過程で既に提案されている逆直交変換処理を実現する機能ブロックの一例である。一方、網掛けしていない機能ブロックは、上述の逆直交変換処理(変換ブロックごとに実行される異なる種類の逆直交変換処理)を実現する、すなわち、本発明部分の機能ブロックである。直交変換部402の機能ブロック同様、ブロック分割判定部1402はデコーダ120における特定手段の一例であり、選択部1410は、分割手段及び決定手段の一例である。
 また、逆直交変換部1203の機能構成は、直交変換部402の機能構成と基本的に同じであり、直交変換部402の機能構成との相違点は、
・DCT-VIII変換部1011~DCT-II変換部1013に代えて、IDCT-VIII変換部1411~IDCT-II変換部1413が配されている点、
・DCT-VIII変換部1021~DST-I変換部1022に代えて、IDCT-VIII変換部1421~IDST-I変換部1422が配されている点、
・DST-VII変換部1030に代えて、IDST-VII変換部1430が配されている点、
・DCT-II変換部1033に代えて、IDCT-II変換部1440が配されている点、
・コスト選択部1031、コスト選択部1032が配されていない点、
である。
 なお、逆直交変換部1203の各機能ブロックの詳細な説明は省略する。
 <12.逆直交変換処理の流れ>
 次に、逆直交変換部1203による逆直交変換処理の流れについて説明する。図15は、逆直交変換部による逆直交変換処理の流れを示すフローチャートである。なお、ここでは、予測残差信号が算出される各CUのブロックのうち、所定の1のブロック(処理対象のCUのブロック)に対する逆直交変換処理について説明する。
 ステップS1501において、IDCT-II変換部1440は、エントロピ復号部1201より送信された付帯情報に含まれる直交変換選択情報を取得し、直交変換の種類がDCT-IIであるか(直交変換選択情報が"0"であるか否か)を判定する。また、イントラ/インタ分岐部1401は、エントロピ復号部1201より送信された付帯情報に含まれる直交変換選択情報を取得し、直交変換の種類がDCT-II以外であるか(直交変換選択情報が"1"であるか否か)を判定する。
 ステップS1501において、IDCT-II変換部1440により、エンコーダ110において用いられた直交変換の種類がDCT-IIである(直交変換選択情報が"0"である)と判定された場合には、ステップS1502に進む。ステップS1502において、IDCT-II変換部1440は、処理対象のCUのブロックに対して、IDCT-IIによる水平方向及び垂直方向の逆直交変換処理を実行する。
 一方、ステップS1501において、イントラ/インタ分岐部1401により、エンコーダ110において用いられた直交変換の種類がDCT-II以外である(直交変換選択情報が"1"である)と判定された場合には、ステップS1503に進む。ステップS1503において、イントラ/インタ分岐部1401は、処理対象のCUのブロックが、イントラ予測モードのブロックであるのか、インタ予測モードのブロックであるのかを判定する。
 ステップS1503において、インタ予測モードのブロックであると判定した場合には、ステップS1504に進む。ステップS1504において、ブロック分割判定部1402は、処理対象のCUのブロックのサイズが所定の閾値以下であるか否かを判定する。ステップS1504において、処理対象のCUのブロックのサイズが所定の閾値以下であると判定した場合には(ステップS1504においてYesの場合には)、ステップS1505に進む。
 ステップS1505において、ブロック分割判定部1402は、処理対象のCUのブロックの形状が、正方形であるのか、長方形であるのかを判定する。ステップS1505において、正方形であると判定した場合には、ステップS1506に進む。
 ステップS1506において、選択部1410は、処理対象のCUのブロックを分割することで、4個の変換ブロックを生成する。また、選択部1410は、4個の変換ブロックそれぞれの位置に応じた逆直交変換の種類(図13のCUのブロック1310参照)を特定する。更に、選択部1410は、特定した逆直交変換の種類に対応する変換部(IDCT-VIII変換部1411、IDST-VII変換部1412のいずれか)に、変換ブロックを送信するとともに、実行指示を通知する。これにより、4個の変換ブロックそれぞれに対する、水平方向及び垂直方向の逆直交変換処理が実行される。
 一方、ステップS1503において、イントラ予測モードのブロックであると判定した場合には、ステップS1507に進む。ステップS1507において、選択部1420~IDST-VII変換部1430の各部は、JVETで既に提案されている逆直交変換処理を実行する。
 一方、ステップS1504において、処理対象のブロックのサイズが所定の閾値以下ではないと判定した場合には(ステップS1504においてNoの場合には)、ステップS1508に進む。
 ステップS1508において、選択部1410は、処理対象のCUのブロックを分割することで、9個の変換ブロックを生成する。また、選択部1010は、9個の変換ブロックそれぞれの位置に応じた逆直交変換の種類(図13のCUのブロック1320、1350、1360参照)を特定する。更に、選択部1410は、特定した逆直交変換の種類に対応する変換部(IDCT-VIII変換部1411、IDST-VII変換部1412、IDCT-II変換部1413のいずれか)に、変換ブロックを送信するとともに、実行指示を通知する。これにより、9個の変換ブロックそれぞれに対する、水平方向及び垂直方向の逆直交変換処理が実行される。
 一方、ステップS1505において、処理対象のCUのブロックが長方形であると判定した場合には、ステップS1509に進む。ステップS1509において、選択部1410は、処理対象のCUのブロックが縦長の長方形であるのか、横長の長方形であるのかを判定する。
 ステップS1509において、縦長の長方形であると判定した場合には、ステップS1510に進む。ステップS1510において、選択部1410は、処理対象のCUのブロックを分割することで、6個の変換ブロックを生成する。また、選択部1410は、6個の変換ブロックそれぞれの位置に応じた逆直交変換の種類(図13のCUのブロック1340参照)を特定する。更に、選択部1410は、特定した逆直交変換の種類に対応する変換部(IDCT-VIII変換部1411、IDST-VII変換部1412、IDCT-II変換部1413のいずれか)に、変換ブロックを送信するとともに、実行指示を通知する。これにより、6個の変換ブロックそれぞれに対する、水平方向および垂直方向の逆直交変換処理が実行される。
 一方、ステップS1509において、横長の長方形であると判定した場合には、ステップS1511に進む。ステップS1511において、選択部1410は、処理対象のCUのブロックを分割することで、6個の変換ブロックを生成する。また、選択部1410は、6個の変換ブロックそれぞれの位置に応じた逆直交変換の種類(図13のCUのブロック1330参照)を特定する。更に、選択部1010は、特定した逆直交変換の種類に対応する変換部(IDCT-VIII変換部1411、IDST-VII変換部1412、IDCT-II変換部1413のいずれか)に、変換ブロックを送信するとともに、実行指示を通知する。これにより、6個の変換ブロックそれぞれに対する、水平方向及び垂直方向の逆直交変換処理が実行される。
 <13.まとめ>
 以上の説明から明らかなように、第1の実施形態に係るエンコーダの直交変換部では、インタ予測モードにより画像データを符号化する際、
・処理対象のCUのブロックのサイズ、形状を特定する。
・特定したサイズ、形状に応じて一意に定めた分割方法により、CUのブロックを複数の矩形形状の変換ブロックに分割する。
・各変換ブロックに対して直交変換処理を実行する際に用いる直交変換の種類を、CUのブロックの中心と各変換ブロックとの位置関係に応じて一意に定める。
 これにより、第1の実施形態に係るエンコーダの直交変換部によれば、直交変換の種類ごとの特性と、予測残差信号が算出されたCUの各変換ブロックの位置における特性とを合致させることが可能となる。また、直交変換の種類を各変換ブロックに割り当てるにあたり、RD値を算出する必要がない。
 この結果、予測残差信号が算出されたCUの各変換ブロックの各位置における特性に応じた直交変換処理を実行することが可能となり、符号化効率が向上する。また、エンコーダの演算負荷を抑えることができる。
 このように、第1の実施形態に係るエンコーダの直交変換部によれば、次世代コーデックにおいて画面間予測時に用いられる直交変換の種類を決定する決定方法として、符号化効率の向上と演算負荷の抑制が実現可能な決定方法を提供することができる。
 また、第1の実施形態に係るデコーダの直交変換部では、符号化された符号化列を、インタ予測モードにより画像を復号する際、
・処理対象のCUのブロックのサイズ、形状を特定する。
・特定したサイズ、形状に応じて一意に定めた分割方法により、CUのブロックを複数の矩形形状の変換ブロックに分割する。
・各変換ブロックに対して逆直交変換処理を実行する際に用いる逆直交変換の種類を、CUのブロックの中心と各変換ブロックとの位置関係に応じて一意に定める。
 これにより、第1の実施形態に係るデコーダの逆直交変換部によれば、エンコーダで選択された種類の直交変換の逆直交変換処理を実行することが可能となる。
 更に、第1の実施形態によれば、エンコーダからの情報によらず、デコーダがCUのブロックのサイズ、形状に応じて逆直交変換の種類を決定することができるため、エンコーダは、直交変換の種類を変換ブロックごとに送信する必要がない。この結果、エンコーダがデコーダに送信する直交変換選択情報を簡素化することができる。
 [第2の実施形態]
 上記第1の実施形態では、CUのブロックのサイズ及び形状に応じて、分割方法を一意に決定するとともに、分割方法ごとに各変換ブロックに対する直交変換の種類の割り当てを一意に決定するものとして説明した。しかしながら、上記第1の実施形態の場合、CUのブロックのサイズ及び形状と分割方法との関係が変更されると、それぞれの分割方法において各変換ブロックに対する直交変換の種類の割り当てを見直す必要が生じる。
 このようなことから、分割方法ごとに割り当てを決定する代わりに、例えば、CUのブロックにおいて基準となる位置から見た場合の、各変換ブロックの距離、方向等に応じて、各変換ブロックに対する直交変換の種類の割り当てを決定するように構成してもよい。この場合、CUのブロックのサイズ及び形状と分割方法との関係が変更されても、各変換ブロックに対する直交変換の種類の割り当ては、CUのブロックにおける基準となる位置からの距離、方向等に応じて一意に決定されうる。つまり、各変換ブロックに対する直交変換の種類を自動的に割り当てを見直すことができる。なお、CUのブロックにおいて基準となる位置としては、例えば、CUのブロックの中心位置や、CUのブロックの各頂点や、CUのブロックの各辺等が考えられる。
 [第3の実施形態]
 上記第1の実施形態では、直交変換選択情報を、直交変換の種類を特定するための情報と定義し、"0"または"1"のいずれかが送信されるものとして説明した。しかしながら、直交変換選択情報として送信される情報は、"0"、"1"の組み合わせに限定されず、CUのブロックの分割の要否を示す情報であれば何でもよい。分割の要否が定まれば、CUのブロックのサイズ、形状から、直交変換の種類が自ずと特定されるからである。
 なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせ等、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
100      :画像処理システム
110      :エンコーダ
120      :デコーダ
1001     :イントラ/インタ分岐部
1002     :ブロック分割判定部
1010     :選択部
1011     :DCT-VIII変換部
1012     :DST-VII変換部
1013     :DCT-II変換部
1020     :選択部
1021     :DCT-VIII変換部
1022     :DST-I変換部
1030     :DST-VII変換部
1031     :コスト選択部
1032     :コスト選択部
1033     :DCT-II変換部
1401     :イントラ/インタ分岐部
1402     :ブロック分割判定部
1410     :選択部
1411     :IDCT-VIII変換部
1412     :IDST-VII変換部
1413     :IDCT-II変換部
1420     :選択部
1421     :IDCT-VIII変換部
1422     :IDST-I変換部
1430     :IDST-VII変換部
1440     :IDCT-II変換部

Claims (27)

  1.  画面間予測を用いて画像を符号化する符号化方法であって、
     前記画面間予測の対象となる、予測ブロックを特定するステップと、
     前記予測ブロックの中心を通る水平線に関して対称となり、かつ、前記予測ブロックの中心を通る垂直線に関して対称となる分割方法により、前記予測ブロックを、矩形形状の複数の変換ブロックに分割するステップと、
     前記複数の変換ブロックそれぞれについて、前記予測ブロックの中心との位置関係から、垂直方向及び水平方向それぞれに用いられる直交変換の種類を決定するステップと
     を有することを特徴とする符号化方法。
  2.  前記直交変換の種類には、DCT-VIII、DST-VIIのみが含まれることを特徴とする請求項1に記載の符号化方法。
  3.  前記分割するステップにおいて、前記予測ブロックを互いに重なり合わない4個の変換ブロックに分割し、
     前記4個の変換ブロックそれぞれについて、DCT-VIIIまたはDST-VIIのいずれか一方を用いて、水平方向及び垂直方向それぞれの直交変換処理を実行する、
     ことを特徴とする請求項1に記載の符号化方法。
  4.  前記4個の変換ブロックのうち、前記予測ブロックの中心と、左下頂点で一致する前記変換ブロックについて、DCT-VIIIを用いて垂直方向の直交変換処理を実行し、DST-VIIを用いて水平方向の直交変換処理を実行し、
     前記4個の変換ブロックのうち、前記予測ブロックの中心と、右下頂点で一致する前記変換ブロックについて、DCT-VIIIを用いて垂直方向の直交変換処理を実行し、DCT-VIIIを用いて水平方向の直交変換処理を実行し、
     前記4個の変換ブロックのうち、前記予測ブロックの中心と、右上頂点で一致する前記変換ブロックについて、DST-VIIを用いて垂直方向の直交変換処理を実行し、DCT-VIIIを用いて水平方向の直交変換処理を実行し、
     前記4個の変換ブロックのうち、前記予測ブロックの中心と、左上頂点で一致する前記変換ブロックについて、DST-VIIを用いて垂直方向の直交変換処理を実行し、DST-VIIを用いて水平方向の直交変換処理を実行する、
     ことを特徴とする請求項3に記載の符号化方法。
  5.  前記分割するステップにおいて、前記予測ブロックを垂直方向と水平方向にそれぞれ3分割することで、前記予測ブロックを互いに重なり合わない9個の変換ブロックに分割し、
     前記9個の変換ブロックのうち、前記予測ブロックと左上頂点で一致する前記変換ブロックについて、DCT-VIIIを用いて垂直方向の直交変換処理を実行し、DCT-VIIIを用いて水平方向の直交変換処理を実行し、
     前記9個の変換ブロックのうち、前記予測ブロックと右上頂点で一致する前記変換ブロックについて、DCT-VIIIを用いて垂直方向の直交変換処理を実行し、DST-VIIを用いて水平方向の直交変換処理を実行し、
     前記9個の変換ブロックのうち、前記予測ブロックと左下頂点で一致する前記変換ブロックについて、DST-VIIを用いて垂直方向の直交変換処理を実行し、DCT-VIIIを用いて水平方向の直交変換処理を実行し、
     前記9個の変換ブロックのうち、前記予測ブロックと右下頂点で一致する前記変換ブロックについて、DST-VIIを用いて垂直方向の直交変換処理を実行し、DST-VIIを用いて水平方向の直交変換処理を実行する、
     ことを特徴とする請求項1に記載の符号化方法。
  6.  前記9個の変換ブロックのうち、前記予測ブロックと左上頂点で一致する前記変換ブロックと、前記予測ブロックと右上頂点で一致する前記変換ブロックとの間に挟まれた前記変換ブロックについて、DCT-VIIIを用いて垂直方向の直交変換処理を実行し、DCT-IIを用いて水平方向の直交変換処理を実行し、
     前記9個の変換ブロックのうち、前記予測ブロックと右上頂点で一致する前記変換ブロックと、前記予測ブロックと右下頂点で一致する前記変換ブロックとの間に挟まれた前記変換ブロックについて、DCT-IIを用いて垂直方向の直交変換処理を実行し、DST-VIIを用いて水平方向の直交変換処理を実行し、
     前記9個の変換ブロックのうち、前記予測ブロックと左下頂点で一致する前記変換ブロックと、前記予測ブロックと右下頂点で一致する前記変換ブロックとの間に挟まれた前記変換ブロックについて、DST-VIIを用いて垂直方向の直交変換処理を実行し、DCT-IIを用いて水平方向の直交変換処理を実行し、
     前記9個の変換ブロックのうち、前記予測ブロックと左上頂点で一致する前記変換ブロックと、前記予測ブロックと左下頂点で一致する前記変換ブロックとの間に挟まれた前記変換ブロックについて、DCT-IIを用いて垂直方向の直交変換処理を実行し、DCT-VIIIを用いて水平方向の直交変換処理を実行する、
     ことを特徴とする請求項5に記載の符号化方法。
  7.  前記9個の変換ブロックのうち、前記予測ブロックの中心を含む前記変換ブロックについて、DCT-IIを用いて垂直方向の直交変換処理を実行し、DCT-IIを用いて水平方向の直交変換処理を実行することを特徴とする請求項5に記載の符号化方法。
  8.  前記予測ブロックが水平方向に長い場合、前記分割するステップにおいて、垂直方向に2分割し、水平方向に3分割することで、前記予測ブロックを互いに重なり合わない6個の変換ブロックに分割し、
     前記6個の変換ブロックのうち、前記予測ブロックと左上頂点で一致する前記変換ブロックについて、DCT-VIIIを用いて垂直方向の直交変換処理を実行し、DCT-VIIIを用いて水平方向の直交変換処理を実行し、
     前記6個の変換ブロックのうち、前記予測ブロックと右上頂点で一致する前記変換ブロックについて、DCT-VIIIを用いて垂直方向の直交変換処理を実行し、DST-VIIを用いて水平方向の直交変換処理を実行し、
     前記6個の変換ブロックのうち、前記予測ブロックと左下頂点で一致する前記変換ブロックについて、DST-VIIを用いて垂直方向の直交変換処理を実行し、DCT-VIIIを用いて水平方向の直交変換処理を実行し、
     前記6個の変換ブロックのうち、前記予測ブロックと右下頂点で一致する前記変換ブロックについて、DST-VIIを用いて垂直方向の直交変換処理を実行し、DST-VIIを用いて水平方向の直交変換処理を実行する、
     ことを特徴とする請求項1に記載の符号化方法。
  9.  前記6個の変換ブロックのうち、前記予測ブロックと左上頂点で一致する前記変換ブロックと、前記予測ブロックと右上頂点で一致する前記変換ブロックとの間に挟まれた前記変換ブロックについて、DCT-VIIIを用いて垂直方向の直交変換処理を実行し、DCT-IIを用いて水平方向の直交変換処理を実行し、
     前記6個の変換ブロックのうち、前記予測ブロックと左下頂点で一致する前記変換ブロックと、前記予測ブロックと右下頂点で一致する前記変換ブロックとの間に挟まれた前記変換ブロックについて、DST-VIIを用いて垂直方向の直交変換処理を実行し、DCT-IIを用いて水平方向の直交変換処理を実行する、
     ことを特徴とする請求項8に記載の符号化方法。
  10.  前記予測ブロックが垂直方向に長い場合、前記分割するステップにおいて、垂直方向に3分割し、水平方向に2分割することで、前記予測ブロックを互いに重なり合わない6個の変換ブロックに分割し、
     前記6個の変換ブロックのうち、前記予測ブロックと左上頂点で一致する前記変換ブロックについて、DCT-VIIIを用いて垂直方向の直交変換処理を実行し、DCT-VIIIを用いて水平方向の直交変換処理を実行し、
     前記6個の変換ブロックのうち、前記予測ブロックと右上頂点で一致する前記変換ブロックについて、DCT-VIIIを用いて垂直方向の直交変換処理を実行し、DST-VIIを用いて水平方向の直交変換処理を実行し、
     前記6個の変換ブロックのうち、前記予測ブロックと左下頂点で一致する前記変換ブロックについて、DST-VIIを用いて垂直方向の直交変換処理を実行し、DCT-VIIIを用いて水平方向の直交変換処理を実行し、
     前記6個の変換ブロックのうち、前記予測ブロックと右下頂点で一致する前記変換ブロックについて、DST-VIIを用いて垂直方向の直交変換処理を実行し、DST-VIIを用いて水平方向の直交変換処理を実行する、
     ことを特徴とする請求項1に記載の符号化方法。
  11.  前記6個の変換ブロックのうち、前記予測ブロックと左上頂点で一致する前記変換ブロックと、前記予測ブロックと左下頂点で一致する前記変換ブロックとの間に挟まれた前記変換ブロックについて、DCT-IIを用いて垂直方向の直交変換処理を実行し、DCT-VIIIを用いて水平方向の直交変換処理を実行し、
     前記6個の変換ブロックのうち、前記予測ブロックと右上頂点で一致する前記変換ブロックと、前記予測ブロックと右下頂点で一致する前記変換ブロックとの間に挟まれた前記変換ブロックについて、DCT-IIを用いて垂直方向の直交変換処理を実行し、DST-VIIを用いて水平方向の直交変換処理を実行する、
     ことを特徴とする請求項10に記載の符号化方法。
  12.  符号化された符号化列より、画面間予測を用いて画像を復号する復号方法であって、
     前記画面間予測の対象となる、予測ブロックを特定するステップと、
     前記予測ブロックの中心を通る水平線に関して対称となり、かつ、前記予測ブロックの中心を通る垂直線に関して対称となる分割方法により、前記予測ブロックを、矩形形状の複数の変換ブロックに分割するステップと、
     前記複数の変換ブロックそれぞれについて、前記予測ブロックの中心との位置関係から、垂直方向及び水平方向それぞれに用いられる逆直交変換の種類を決定するステップと
     を有することを特徴とする復号方法。
  13.  前記特定するステップは、前記予測ブロックのサイズ及び形状を特定し、
     特定した前記サイズ及び形状に基づいて、前記分割方法を決定することを特徴とする請求項12に記載の復号方法。
  14.  前記予測ブロックごとに、分割の要否を示す情報を取得するステップを更に有し、
     前記取得するステップにおいて、分割が必要であることを示す情報が取得された場合、前記分割するステップは、前記予測ブロックを、矩形形状の複数の変換ブロックに分割することを特徴とする請求項13に記載の復号方法。
  15.  前記分割するステップにおいて、前記予測ブロックを互いに重なり合わない4個の変換ブロックに分割し、
     前記4個の変換ブロックそれぞれについて、IDCT-VIIIまたはIDST-VIIのいずれか一方を用いて、水平方向及び垂直方向それぞれの逆直交変換処理を実行する、
     ことを特徴とする請求項12に記載の復号方法。
  16.  前記4個の変換ブロックのうち、前記予測ブロックの中心と、左下頂点で一致する前記変換ブロックについて、IDCT-VIIIを用いて垂直方向の逆直交変換処理を実行し、IDST-VIIを用いて水平方向の逆直交変換処理を実行し、
     前記4個の変換ブロックのうち、前記予測ブロックの中心と、右下頂点で一致する前記変換ブロックについて、IDCT-VIIIを用いて垂直方向の逆直交変換処理を実行し、IDCT-VIIIを用いて水平方向の逆直交変換処理を実行し、
     前記4個の変換ブロックのうち、前記予測ブロックの中心と、右上頂点で一致する前記変換ブロックについて、IDST-VIIを用いて垂直方向の逆直交変換処理を実行し、IDCT-VIIIを用いて水平方向の逆直交変換処理を実行し、
     前記4個の変換ブロックのうち、前記予測ブロックの中心と、左上頂点で一致する変換ブロックについて、IDST-VIIを用いて垂直方向の逆直交変換処理を実行し、IDST-VIIを用いて水平方向の逆直交変換処理を実行する、
     ことを特徴とする請求項15に記載の復号方法。
  17.  前記分割するステップにおいて、前記予測ブロックを垂直方向と水平方向にそれぞれ3分割することで、前記予測ブロックを互いに重なり合わない9個の変換ブロックに分割し、
     前記9個の変換ブロックのうち、前記予測ブロックと左上頂点で一致する前記変換ブロックについて、IDCT-VIIIを用いて垂直方向の逆直交変換処理を実行し、IDCT-VIIIを用いて水平方向の逆直交変換処理を実行し、
     前記9個の変換ブロックのうち、前記予測ブロックと右上頂点で一致する前記変換ブロックについて、IDCT-VIIIを用いて垂直方向の逆直交変換処理を実行し、IDST-VIIを用いて水平方向の逆直交変換処理を実行し、
     前記9個の変換ブロックのうち、前記予測ブロックと左下頂点で一致する前記変換ブロックについて、IDST-VIIを用いて垂直方向の逆直交変換処理を実行し、IDCT-VIIIを用いて水平方向の逆直交変換処理を実行し、
     前記9個の変換ブロックのうち、前記予測ブロックと右下頂点で一致する前記変換ブロックについて、IDST-VIIを用いて垂直方向の逆直交変換処理を実行し、IDST-VIIを用いて水平方向の逆直交変換処理を実行する、
     ことを特徴とする請求項12に記載の復号方法。
  18.  前記9個の変換ブロックのうち、前記予測ブロックと左上頂点で一致する前記変換ブロックと、前記予測ブロックと右上頂点で一致する前記変換ブロックとの間に挟まれた前記変換ブロックについて、IDCT-VIIIを用いて垂直方向の逆直交変換処理を実行し、IDCT-IIを用いて水平方向の逆直交変換処理を実行し、
     前記9個の変換ブロックのうち、前記予測ブロックと右上頂点で一致する前記変換ブロックと、前記予測ブロックと右下頂点で一致する前記変換ブロックとの間に挟まれた前記変換ブロックについて、IDCT-IIを用いて垂直方向の逆直交変換処理を実行し、IDST-VIIを用いて水平方向の逆直交変換処理を実行し、
     前記9個の変換ブロックのうち、前記予測ブロックと左下頂点で一致する前記変換ブロックと、前記予測ブロックと右下頂点で一致する前記変換ブロックとの間に挟まれた前記変換ブロックについて、IDST-VIIを用いて垂直方向の逆直交変換処理を実行し、IDCT-IIを用いて水平方向の逆直交変換処理を実行し、
     前記9個の変換ブロックのうち、前記予測ブロックと左上頂点で一致する前記変換ブロックと、前記予測ブロックと左下頂点で一致する前記変換ブロックとの間に挟まれた前記変換ブロックについて、IDCT-IIを用いて垂直方向の逆直交変換処理を実行し、IDCT-VIIIを用いて水平方向の逆直交変換処理を実行する、
     ことを特徴とする請求項17に記載の復号方法。
  19.  前記9個の変換ブロックのうち、前記予測ブロックの中心を含む前記変換ブロックについて、IDCT-IIを用いて垂直方向の逆直交変換処理を実行し、IDCT-IIを用いて水平方向の逆直交変換処理を実行することを特徴とする請求項17に記載の復号方法。
  20.  前記予測ブロックが水平方向に長い場合、前記分割するステップにおいて、垂直方向に2分割し、水平方向に3分割することで、前記予測ブロックを互いに重なり合わない6個の変換ブロックに分割し、
     前記6個の変換ブロックのうち、前記予測ブロックと左上頂点で一致する前記変換ブロックについて、IDCT-VIIIを用いて垂直方向の逆直交変換処理を実行し、IDCT-VIIIを用いて水平方向の逆直交変換処理を実行し、
     前記6個の変換ブロックのうち、前記予測ブロックと右上頂点で一致する前記変換ブロックについて、IDCT-VIIIを用いて垂直方向の逆直交変換処理を実行し、IDST-VIIを用いて水平方向の逆直交変換処理を実行し、
     前記6個の変換ブロックのうち、前記予測ブロックと左下頂点で一致する前記変換ブロックについて、IDST-VIIを用いて垂直方向の逆直交変換処理を実行し、IDCT-VIIIを用いて水平方向の逆直交変換処理を実行し、
     前記6個の変換ブロックのうち、前記予測ブロックと右下頂点で一致する前記変換ブロックについて、IDST-VIIを用いて垂直方向の逆直交変換処理を実行し、IDST-VIIを用いて水平方向の逆直交変換処理を実行する、
     ことを特徴とする請求項12に記載の復号方法。
  21.  前記6個の変換ブロックのうち、前記予測ブロックと左上頂点で一致する前記変換ブロックと、前記予測ブロックと右上頂点で一致する前記変換ブロックとの間に挟まれた前記変換ブロックについて、IDCT-VIIIを用いて垂直方向の逆直交変換処理を実行し、IDCT-IIを用いて水平方向の逆直交変換処理を実行し、
     前記6個の変換ブロックのうち、前記予測ブロックと左下頂点で一致する前記変換ブロックと、前記予測ブロックと右下頂点で一致する前記変換ブロックとの間に挟まれた前記変換ブロックについて、IDST-VIIを用いて垂直方向の逆直交変換処理を実行し、IDCT-IIを用いて水平方向の逆直交変換処理を実行する、
     ことを特徴とする請求項20に記載の復号方法。
  22.  前記予測ブロックが垂直方向に長い場合、前記分割するステップにおいて、垂直方向に3分割し、水平方向に2分割することで、前記予測ブロックを互いに重なり合わない6個の変換ブロックに分割し、
     前記6個の変換ブロックのうち、前記予測ブロックと左上頂点で一致する前記変換ブロックについて、IDCT-VIIIを用いて垂直方向の逆直交変換処理を実行し、IDCT-VIIIを用いて水平方向の逆直交変換処理を実行し、
     前記6個の変換ブロックのうち、前記予測ブロックと右上頂点で一致する前記変換ブロックについて、IDCT-VIIIを用いて垂直方向の逆直交変換処理を実行し、IDST-VIIを用いて水平方向の逆直交変換処理を実行し、
     前記6個の変換ブロックのうち、前記予測ブロックと左下頂点で一致する前記変換ブロックについて、IDST-VIIを用いて垂直方向の逆直交変換処理を実行し、IDCT-VIIIを用いて水平方向の逆直交変換処理を実行し、
     前記6個の変換ブロックのうち、前記予測ブロックと右下頂点で一致する前記変換ブロックについて、IDST-VIIを用いて垂直方向の逆直交変換処理を実行し、IDST-VIIを用いて水平方向の逆直交変換処理を実行する、
     ことを特徴とする請求項12に記載の復号方法。
  23.  前記6個の変換ブロックのうち、前記予測ブロックと左上頂点で一致する前記変換ブロックと、前記予測ブロックと左下頂点で一致する前記変換ブロックとの間に挟まれた前記変換ブロックについて、IDCT-IIを用いて垂直方向の逆直交変換処理を実行し、IDCT-VIIIを用いて水平方向の逆直交変換処理を実行し、
     前記6個の変換ブロックのうち、前記予測ブロックと右上頂点で一致する前記変換ブロックと、前記予測ブロックと右下頂点で一致する前記変換ブロックとの間に挟まれた前記変換ブロックについて、IDCT-IIを用いて垂直方向の逆直交変換処理を実行し、IDST-VIIを用いて水平方向の逆直交変換処理を実行する、
     ことを特徴とする請求項22に記載の復号方法。
  24.  画面間予測を用いて画像を符号化する符号化装置であって、
     前記画面間予測の対象となる、予測ブロックを特定する特定手段と、
     前記予測ブロックの中心を通る水平線に関して対称となり、かつ、前記予測ブロックの中心を通る垂直線に関して対称となる分割方法により、前記予測ブロックを、矩形形状の複数の変換ブロックに分割する分割手段と、
     前記複数の変換ブロックそれぞれについて、前記予測ブロックの中心との位置関係から、垂直方向及び水平方向それぞれに用いられる直交変換の種類を決定する決定手段と
     を有することを特徴とする符号化装置。
  25.  符号化された符号化列より、画面間予測を用いて画像を復号する復号装置であって、
     前記画面間予測の対象となる、予測ブロックを特定する特定手段と、
     前記予測ブロックの中心を通る水平線に関して対称となり、かつ、前記予測ブロックの中心を通る垂直線に関して対称となる分割方法により、前記予測ブロックを、矩形形状の複数の変換ブロックに分割する分割手段と、
     前記複数の変換ブロックそれぞれについて、前記予測ブロックの中心との位置関係から、垂直方向及び水平方向それぞれに用いられる逆直交変換の種類を決定する決定手段と
     を有することを特徴とする復号装置。
  26.  画面間予測を用いて画像を符号化するコンピュータに、
     前記画面間予測の対象となる、予測ブロックを特定するステップと、
     前記予測ブロックの中心を通る水平線に関して対称となり、かつ、前記予測ブロックの中心を通る垂直線に関して対称となる分割方法により、前記予測ブロックを、矩形形状の複数の変換ブロックに分割するステップと、
     前記複数の変換ブロックそれぞれについて、前記予測ブロックの中心との位置関係から、垂直方向及び水平方向それぞれに用いられる直交変換の種類を決定するステップと
     を実行させるための符号化プログラム。
  27.  符号化された符号化列より、画面間予測を用いて画像を復号するコンピュータに、
     前記画面間予測の対象となる、予測ブロックを特定するステップと、
     前記予測ブロックの中心を通る水平線に関して対称となり、かつ、前記予測ブロックの中心を通る垂直線に関して対称となる分割方法により、前記予測ブロックを、矩形形状の複数の変換ブロックに分割するステップと、
     前記複数の変換ブロックそれぞれについて、前記予測ブロックの中心との位置関係から、垂直方向及び水平方向それぞれに用いられる逆直交変換の種類を決定するステップと
     を実行させるための復号プログラム。
PCT/JP2017/043603 2017-12-05 2017-12-05 符号化方法、復号方法、符号化装置、復号装置、符号化プログラム及び復号プログラム WO2019111316A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019557894A JP7036123B2 (ja) 2017-12-05 2017-12-05 符号化方法、復号方法、符号化装置、復号装置、符号化プログラム及び復号プログラム
PCT/JP2017/043603 WO2019111316A1 (ja) 2017-12-05 2017-12-05 符号化方法、復号方法、符号化装置、復号装置、符号化プログラム及び復号プログラム
US16/890,292 US11025911B2 (en) 2017-12-05 2020-06-02 Encoding method, decoding method, encoding device, and decoding device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/043603 WO2019111316A1 (ja) 2017-12-05 2017-12-05 符号化方法、復号方法、符号化装置、復号装置、符号化プログラム及び復号プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/890,292 Continuation US11025911B2 (en) 2017-12-05 2020-06-02 Encoding method, decoding method, encoding device, and decoding device

Publications (1)

Publication Number Publication Date
WO2019111316A1 true WO2019111316A1 (ja) 2019-06-13

Family

ID=66750109

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/043603 WO2019111316A1 (ja) 2017-12-05 2017-12-05 符号化方法、復号方法、符号化装置、復号装置、符号化プログラム及び復号プログラム

Country Status (3)

Country Link
US (1) US11025911B2 (ja)
JP (1) JP7036123B2 (ja)
WO (1) WO2019111316A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020159982A1 (en) * 2019-01-28 2020-08-06 Op Solutions, Llc Shape adaptive discrete cosine transform for geometric partitioning with an adaptive number of regions

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014036278A (ja) * 2012-08-07 2014-02-24 Nippon Hoso Kyokai <Nhk> 画像符号化装置、画像復号装置及びプログラム
JP2014045434A (ja) * 2012-08-28 2014-03-13 Nippon Hoso Kyokai <Nhk> 画像符号化装置、画像復号装置及びそれらのプログラム
JP2014520493A (ja) * 2011-06-30 2014-08-21 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 合成ビデオのためのロスレス・コード化および関連するシグナリング方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10623774B2 (en) * 2016-03-22 2020-04-14 Qualcomm Incorporated Constrained block-level optimization and signaling for video coding tools
WO2019027302A1 (ko) * 2017-08-04 2019-02-07 엘지전자 주식회사 비디오 압축을 위한 변환을 구성하는 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014520493A (ja) * 2011-06-30 2014-08-21 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 合成ビデオのためのロスレス・コード化および関連するシグナリング方法
JP2014036278A (ja) * 2012-08-07 2014-02-24 Nippon Hoso Kyokai <Nhk> 画像符号化装置、画像復号装置及びプログラム
JP2014045434A (ja) * 2012-08-28 2014-03-13 Nippon Hoso Kyokai <Nhk> 画像符号化装置、画像復号装置及びそれらのプログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JIANLE CHEN ET AL.: "Algorithm Description of Joint Exploration Test Model 7 (JEM 7)", JOINT VIDEO EXPLORATION TEAM(JVET) OF ITU-T SG 16 WP3 AND ISO/IEC JTC1/SC 29/WG 11 7TH MEETING, 19 August 2017 (2017-08-19), Torino, IT, XP030150980 *
JICHENG AN ET AL.: "Non-CE7: Boundary-Dependent Transform for Inter-Predicted Residue", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTCL/SC29/WG11 7TH MEETING, 30 November 2011 (2011-11-30), Geneva, CH, XP030050406 *
TAMMY LEE ET AL.: "TE 12.1: Transform unit quadtree/2-level test", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP3 AND ISO/IEC JTC1/SC29/WG11 3RD MEETING, m18238, 15 October 2010 (2010-10-15), Guangzhou, CN, XP030046828 *

Also Published As

Publication number Publication date
JPWO2019111316A1 (ja) 2020-11-26
US20200296371A1 (en) 2020-09-17
US11025911B2 (en) 2021-06-01
JP7036123B2 (ja) 2022-03-15

Similar Documents

Publication Publication Date Title
US20200177889A1 (en) Transform method in image coding system and apparatus for same
US20210266549A1 (en) Image coding method on basis of non-separable secondary transform and device therefor
WO2018045944A1 (en) Methods and apparatuses of candidate set determination for binary-tree splitting blocks
US20200236361A1 (en) Intra prediction mode based image processing method, and apparatus therefor
JP7420982B2 (ja) 選択的変換に基づいた映像コーディング方法およびその装置
US11722659B2 (en) Affine motion prediction-based image decoding method and apparatus using affine MVP candidate list in image coding system
US11622126B2 (en) Image decoding method and apparatus based on affine motion prediction in image coding system
KR20200005648A (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
US20230054265A1 (en) Transform in intra prediction-based image coding
US11924460B2 (en) Image decoding method and device on basis of affine motion prediction using constructed affine MVP candidate in image coding system
JP2023504333A (ja) 符号化ツリーユニットを符号化および復号化するための方法、装置およびシステム
US11438579B2 (en) Method and apparatus for processing video signal by using intra-prediction
WO2019111316A1 (ja) 符号化方法、復号方法、符号化装置、復号装置、符号化プログラム及び復号プログラム
US20230276045A1 (en) Method and device for decoding images using cclm prediction in image coding system
JP7393366B2 (ja) 画像の符号化方法、復号化方法、エンコーダおよびデコーダ
US10827179B2 (en) Method for coding and decoding image parameters, device for coding and decoding image parameters and computer programs corresponding thereto
JPWO2019135294A1 (ja) 符号化方法、復号方法、符号化装置、復号装置、符号化プログラム及び復号プログラム
KR20200004348A (ko) 타겟 영역 수정을 통해 비디오 신호를 처리하는 방법 및 장치
US20240214603A1 (en) Image decoding method and device on basis of affine motion prediction using constructed affine mvp candidate in image coding system
US11102478B2 (en) Method and apparatus for inter prediction in video processing system

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019557894

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17934093

Country of ref document: EP

Kind code of ref document: A1