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

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

Info

Publication number
WO2020262370A1
WO2020262370A1 PCT/JP2020/024576 JP2020024576W WO2020262370A1 WO 2020262370 A1 WO2020262370 A1 WO 2020262370A1 JP 2020024576 W JP2020024576 W JP 2020024576W WO 2020262370 A1 WO2020262370 A1 WO 2020262370A1
Authority
WO
WIPO (PCT)
Prior art keywords
prediction
unit
component
image
block
Prior art date
Application number
PCT/JP2020/024576
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 ソニー株式会社
Publication of WO2020262370A1 publication Critical patent/WO2020262370A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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

Definitions

  • the present disclosure relates to an image processing apparatus and an image processing method, and more particularly to an image processing apparatus and an image processing method capable of more appropriately improving image quality.
  • Examples of this coding method include MPEG (Moving Picture Experts Group), H.264 and MPEG-4 Part 10 (hereinafter referred to as H.264 / AVC (Advanced Video Coding)), and H.265 and MPEG. -H Part 2 (hereinafter referred to as H.265 / HEVC (High Efficiency Video Coding)) is included.
  • MPEG Motion Picture Experts Group
  • H.264 / AVC Advanced Video Coding
  • -H Part 2 hereinafter referred to as H.265 / HEVC (High Efficiency Video Coding)
  • JCTVC Joint Collaboration Team-Video Coding
  • VVC Very Video Coding
  • Non-Patent Document 1 in order to eliminate redundancy between components, a CCLM (Cross-Component Linear Model) prediction mode is used to sample Chroma samples in the same CU (Coding). The technique of predicting from the sample of Luma which reconstructed Unit) is adopted.
  • CCLM Cross-Component Linear Model
  • This disclosure has been made in view of such a situation, and is intended to enable more appropriate improvement in image quality.
  • the image processing apparatus performs inter-component prediction for predicting between the pixels of the brightness component and the pixels of the color difference component with respect to the current prediction block to be encoded.
  • the inter-component prediction is performed to generate the predicted pixel by using the reference pixel whose reference pixel pattern, which is the pattern of the reference pixel to be referred to when performing the inter-component prediction according to the parameter of the current prediction block, is changed. It includes an intra prediction unit and a coding unit that encodes the current pixel in the current prediction block by using the prediction pixel generated by the intra prediction unit.
  • the image processing method of the first aspect of the present disclosure is used when performing inter-component prediction for predicting between the pixels of the brightness component and the pixels of the color difference component with respect to the current prediction block to be encoded.
  • the inter-component prediction is performed to generate the predicted pixel.
  • the intra prediction step includes a coding step of encoding the current pixel in the current prediction block by using the prediction pixel generated in the intra prediction step.
  • the current prediction block is used when performing inter-component prediction for predicting between the pixels of the brightness component and the pixels of the color difference component with respect to the current prediction block to be encoded.
  • the inter-component prediction is performed to generate the predicted pixel, and the predicted pixel is generated.
  • the prediction pixels are used to encode the current pixels in the current prediction block.
  • the image processing apparatus performs inter-component prediction for predicting between the pixels of the brightness component and the pixels of the color difference component with respect to the current prediction block to be encoded.
  • the inter-component prediction is performed to generate the predicted pixel by using the reference pixel whose reference pixel pattern, which is the pattern of the reference pixel to be referred to when performing the inter-component prediction according to the parameter of the current prediction block, is changed. It includes an intra prediction unit and a decoding unit that decodes the current pixel in the current prediction block by using the prediction pixel generated by the intra prediction unit.
  • the image processing method of the second aspect of the present disclosure is described in the case of performing inter-component prediction for predicting between the pixels of the brightness component and the pixels of the color difference component with respect to the current prediction block to be decoded.
  • An intra that performs inter-component prediction and generates predicted pixels by using reference pixels whose reference pixel pattern, which is a pattern of reference pixels that is referred to when performing inter-component prediction according to the parameters of the current prediction block, is used.
  • the prediction step includes a decoding step of decoding the current pixel in the current prediction block by using the prediction pixel generated in the intra prediction step.
  • the current prediction block when performing inter-component prediction for predicting between the pixels of the brightness component and the pixels of the color difference component with respect to the current prediction block to be decoded, the current prediction block Using the reference pixel whose reference pixel pattern, which is the pattern of the reference pixel to be referred to when performing the inter-component prediction according to the parameter, is used, the inter-component prediction is performed to generate the predicted pixel, and the generated prediction is performed. The pixels are used to decode the current pixels in the current prediction block.
  • FIG. 1 shows a reference document. It is a block diagram which shows the structural example of one Embodiment of the image processing system to which this technique is applied. It is a figure explaining the 1st Embodiment of the image processing which changes the number of pixels of a reference pixel. It is a figure which shows an example of the pixel number of the conventional fixed reference pixel. It is a figure which shows an example which increases the number of pixels of a reference pixel according to the block size of the current prediction block. It is a figure which shows the application example which increases the number of pixels of a reference pixel at equal intervals in the case of LM mode 8xH.
  • references REF1 to REF6 are also the basis for judging support requirements.
  • technical terms such as Parsing, Syntax, and Semantics are also within the scope of the present disclosure, even if they are not directly defined in the detailed description of the invention. Yes, and shall meet the support requirements of the claims.
  • a "block” (not a block indicating a processing unit) used as a partial area or a processing unit of an image (picture) indicates an arbitrary partial area in the picture, and its size, shape, and processing.
  • the characteristics are not limited.
  • "block” includes TB (Transform Block), TU (Transform Unit), PB (Prediction Block), PU (Prediction Unit), SCU (Smallest Coding Unit), CU (Coding Unit), LCU (Largest Coding Unit). ), CTB (Coding TreeBlock), CTU (Coding Tree Unit), conversion block, subblock, macroblock, tile, slice, etc., any partial area (processing unit) shall be included.
  • the block size may be specified by using the identification information that identifies the size.
  • the block size may be specified by the ratio or difference with the size of the reference block (for example, LCU or SCU).
  • the designation of the block size also includes the designation of the range of the block size (for example, the designation of the range of the allowable block size).
  • the data unit in which various information is set and the data unit targeted by various processes are arbitrary and are not limited to the above-mentioned examples.
  • these information and processing are TU (Transform Unit), TB (Transform Block), PU (Prediction Unit), PB (Prediction Block), CU (Coding Unit), LCU (Largest Coding Unit), and subblock, respectively.
  • Blocks, tiles, slices, pictures, sequences, or components may be set, or the data of those data units may be targeted.
  • this data unit can be set for each information or process, and it is not necessary that the data unit of all the information or process is unified.
  • the storage location of these information is arbitrary, and may be stored in the header, parameter set, or the like of the above-mentioned data unit. Further, it may be stored in a plurality of places.
  • control information related to the present technology may be transmitted from the coding side to the decoding side.
  • control information for example, enabled_flag
  • control information indicating an object to which the present technology is applied (or an object to which the present technology is not applied) may be transmitted.
  • control information may be transmitted that specifies the block size (upper and lower limits, or both) to which the present technology is applied (or allowed or prohibited), frames, components, layers, and the like.
  • the "flag” is information for identifying a plurality of states, and is not only information used for identifying two states of true (1) or false (0), but also three or more states. It also contains information that can identify the state. Therefore, the value that this "flag” can take may be, for example, 2 values of 1/0 or 3 or more values. That is, the number of bits constituting this "flag” is arbitrary, and may be 1 bit or a plurality of bits.
  • the identification information (including the flag) is assumed to include not only the identification information in the bit stream but also the difference information of the identification information with respect to a certain reference information in the bit stream. In, the "flag” and “identification information” include not only the information but also the difference information with respect to the reference information.
  • association metadata various information (metadata, etc.) regarding the coded data (bit stream) may be transmitted or recorded in any form as long as it is associated with the coded data.
  • the term "associate” means, for example, to make the other data available (linkable) when processing one data. That is, the data associated with each other may be combined as one data or may be individual data.
  • the information associated with the coded data (image) may be transmitted on a transmission path different from the coded data (image).
  • the information associated with the coded data (image) may be recorded on a recording medium (or another recording area of the same recording medium) different from the coded data (image). Good.
  • this "association" may be a part of the data, not the entire data. For example, an image and information corresponding to the image may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part within the frame.
  • the coding includes not only the whole process of converting an image into a bit stream but also a part of the process.
  • decoding includes not only the entire process of converting a bitstream into an image, but also some processes. For example, it not only includes processing that includes inverse arithmetic decoding, inverse quantization, inverse orthogonal conversion, prediction processing, etc., but also processing that includes inverse arithmetic decoding and inverse quantization, inverse arithmetic decoding, inverse quantization, and prediction processing. Including processing that includes and.
  • adjacent includes not only pixels that are adjacent to the current pixel by one pixel (one line) but also pixels that are adjacent to a plurality of pixels (multiple lines). Further, the adjacent block also includes blocks located at positions adjacent to each other by a plurality of blocks (multiple block lines). Further, the adjacent block does not have to be in direct contact with the current block, and includes a block located in the vicinity of the current block.
  • the prediction block means a block that is a processing unit when performing intra prediction, and includes sub-blocks in the prediction block. If the processing unit is unified with the orthogonal conversion block, which is the processing unit for orthogonal conversion, or the coding block, which is the processing unit for coding processing, and the orthogonal conversion block, It means the same block as the coded block.
  • the intra prediction mode is referred to when deriving the intra prediction mode such as the mode number when performing the intra prediction, the index of the mode number, the block size of the prediction block, and the size of the subblock which is the processing unit in the prediction block. It means to include variables (parameters).
  • Inter-component intra-prediction mode (CCLM (Cross-Component Linear Model), MMLM (Multi-Model LM), etc.) is the mode number, mode number index, prediction block block size, and prediction when performing inter-component intra prediction. It means comprehensively the variables (parameters) to be referred to when deriving the inter-component intra-prediction mode, such as the size of the sub-block that is the processing unit in the block.
  • the parameters of the prediction block are, for example, the block size of the prediction block, the length of the long side of the prediction block, the length of the short side of the prediction block, the shape of the prediction block (square, rectangle, etc.), the area of the prediction block, etc. , Is a general term for parameters indicating the characteristics of the prediction block.
  • the reference pixel pattern is a general term for the state of the reference pixel such as the number of reference pixels, the position of the reference pixel, and the state of the reference pixel (original pixel, downsampled pixel, etc.).
  • identification data that identifies the block size to which the present technology is applied can also be set as a bitstream syntax.
  • the decoder can perform processing more efficiently by parsing + referencing the identification data.
  • identification data that identifies a plurality of patterns to which the present technology is applied can also be set as a bitstream syntax.
  • the decoder can perform processing more efficiently by parsing + referencing the identification data.
  • FIG. 2 is a block diagram showing a configuration example of an embodiment of an image processing system to which the present technology is applied.
  • the image processing system 11 includes an image coding device 12 and an image decoding device 13.
  • the image input to the image coding device 12 is encoded, the bit stream obtained by the coding is transmitted to the image decoding device 13, and the image decoding device 13 decodes the bit stream.
  • the decoded image is output.
  • the image coding device 12 has an intra prediction unit 14 and a coding unit 15, and the image decoding device 13 has an intra prediction unit 16 and a decoding unit 17.
  • the intra prediction unit 14 uses the reference pixel whose reference pixel pattern is changed according to the parameters of the current prediction block, and CCLM or Perform MMLM to generate predicted pixels.
  • the coding unit 15 encodes the current pixel in the current prediction block by using the prediction pixel generated by the intra prediction unit 14.
  • the intra prediction unit 16 uses the reference pixel whose reference pixel pattern is changed according to the parameters of the current prediction block, and CCLM or Perform MMLM to generate predicted pixels.
  • the decoding unit 17 decodes the current pixel in the current prediction block by using the prediction pixel generated by the intra prediction unit 16.
  • the reference pixel pattern is changed according to the parameters of the current prediction block.
  • the number of reference points (number of reference pixels) and / or the reference point interval (interval of reference pixels) and / or the reference pixel position (position of the reference pixel) is used, and the parameter of the current prediction block.
  • the block size and / or block shape is used for.
  • each of the intra prediction units 14 and 16 has the number of pixels of the reference pixel according to the parameters of the current prediction block (for example, the block size and shape of the current prediction block). Perform CCLM or MMLM with the modified reference pixel.
  • the reference pixel pattern is the position of the reference pixel
  • each of the intra prediction units 14 and 16 has the position of the reference pixel according to the parameters of the current prediction block (for example, the block size and shape of the current prediction block).
  • the same processing is performed between the image coding device 12 and the image decoding device 13 based on a predetermined rule (for example, a derivation rule for deriving the prediction parameter).
  • a predetermined rule for example, a derivation rule for deriving the prediction parameter.
  • CCLM or MMLM using the reference pixel pattern can be performed.
  • the image processing system 11 configured in this way can improve the durability of noise in the calculation of CCLM by using a reference pixel pattern more appropriate than the conventional one (for example, the number of pixels of the reference pixel more than the conventional one). It is possible to improve the accuracy and the like. At this time, the image processing system 11 can improve the image quality more appropriately, for example, while suppressing an increase in the number of processes, by preventing the processing throughput from exceeding the conventional method as described later.
  • FIG. 3 shows an example of processing for changing the number of pixels of the reference pixel as a reference pixel pattern as an example of the first embodiment of image processing.
  • the circles of the double lines represent the reference pixels, and the number of pixels of the reference pixels is changed from 4 points to 8 points.
  • the block size of the current prediction block is used as a parameter, and image processing is performed so as to increase the number of reference pixels according to the block size.
  • the number of reference pixels is changed so as to improve the coding efficiency without exceeding the processing throughput from the conventional method. That is, it is necessary to perform image processing so as to increase the number of pixels of the reference pixel within the range that does not exceed the throughput when the number of pixels of the reference pixel is 4 points when all the current prediction blocks have the minimum block size. ..
  • the number of reference pixels is fixed at 4 points in all block sizes.
  • the block size of the current prediction block is the size of Luma 64 and Chroma 32
  • the number of reference pixels is increased from 4 points to 8 points. Image processing is performed.
  • FIGS. 6 to 8 An example of a method of increasing the number of reference pixels will be described with reference to FIGS. 6 to 8.
  • the blocks with hatching represent the blocks to be encoded, and the blocks without hatching represent the blocks not to be encoded.
  • CCLM using the left and upper reference pixels is referred to as LM mode
  • CCLM using the upper reference pixel is referred to as LM_A mode
  • CCLM using the left reference pixel is referred to as LM_L mode.
  • the LM mode when the vertical size is less than 8 and the horizontal size is 8 is referred to as LM mode 8xH
  • the LM mode when the horizontal size is 16 is referred to as LM mode 16xH.
  • the LM mode when the horizontal size is 32 is called LM mode 32xH.
  • LM_A mode and LM_L mode for each size.
  • FIG. 6 shows a first application example and a second application example in which the method of increasing the number of reference pixels at equal intervals is applied in the case of LM mode 8xH. It is also applied to the left and upper sizes.
  • the number of reference pixels is increased from 2 points to 4 points at equal intervals when the size is 8 or more.
  • the reference pixels are arranged in the even-numbered pixel sequence, and in the second application example, the reference pixels are arranged in the odd-numbered pixel array.
  • FIG. 7 shows a first application example and a second application example in which the method of increasing the number of reference pixels at equal intervals is applied in the case of LM mode 32xH. It is also applied to the left and upper sizes.
  • the number of reference pixels is increased from 2 points to 4 points at equal intervals.
  • the reference pixel is arranged in the first pixel string of the even-numbered coded target block, and in the second application example, the reference pixel is 1 of the odd-numbered coded target block. It is located in the second pixel string.
  • FIG. 8 shows a first application example and a second application example in which the method of increasing the number of reference pixels at equal intervals is applied in the case of LM_A mode 16xH.
  • reference pixels at equal intervals are used by extending outside the coded block, and similarly in this application example, the number of pixels of the reference pixels is increased so as to extend outside the coded block. Is done.
  • the reference pixel is arranged in the third pixel string of each coding target block, and in the second application example, the reference pixel is the first pixel string of each coding target block. It is located in.
  • the Chroma prediction information pred c (i, j) is the information rec that downsamples the reconstructed Luma according to the following equation (1). ' Determined using L (i, j) , parameter ⁇ , and parameter ⁇ .
  • the parameters ⁇ and ⁇ are derived according to the following equation (2) so that the regression error between the reconstructed Luma and Chroma adjacent to the current prediction block is minimized. Is disclosed.
  • the horizontal axis is the Luma value and the vertical axis is the Chroma value
  • the slope of the straight line passing through the maximum value and the minimum value becomes the parameter ⁇ according to this equation (3)
  • the straight line The intersection of the vertical axis and the vertical axis is the parameter ⁇ .
  • the first derivation method derives the average of the first largest value and the second largest value as the maximum value, and derives the average of the first smallest value and the second smallest value as the minimum value ( Conventional method).
  • the values of those 6 points are arranged in ascending (or descending) order from the smallest to the largest, along with "0, 1, 2, 3, 4, 5". An example of this will be described.
  • the average of the first largest value "5" and the second largest value "4" is derived as the maximum value
  • the average of the first smallest value "0" and the second smallest value "1” is derived. Is derived as the minimum value.
  • the second derivation method derives the average of the largest value and the smallest value in the upper group as the maximum value, and derives the average of the largest value and the smallest value in the lower group as the minimum value. It is a method.
  • the values of those 6 points are arranged in ascending (or descending) order from the smallest to the largest, along with "0, 1, 2, 3, 4, 5".
  • An example of this will be described.
  • they are divided into halves, and the average of the largest value "5" and the smallest value "3" of the larger upper group "3, 4, 5" is derived as the maximum value.
  • the average of the largest value "2" and the smallest value "0" in the smaller lower group "0, 1, 2" is derived as the minimum value.
  • the third derivation method is a method in which the average of the upper group is derived as the maximum value and the average of the lower group is derived as the minimum value.
  • the values of those 6 points are arranged in ascending (or descending) order from the smallest to the largest, along with "0, 1, 2, 3, 4, 5". An example of this will be described. At this time, they are divided into halves, and the average of the larger upper group "3, 4, 5" is derived as the maximum value. Further, the average of the smaller subgroups "0, 1, 2" is derived as the minimum value.
  • CCLM modes include LM mode, which uses the left and upper reference pixels, LM_A mode, which uses the upper reference pixels, and LM_L mode, which uses the left reference pixels.
  • LM mode which uses the left and upper reference pixels
  • LM_A mode which uses the upper reference pixels
  • LM_L mode which uses the left reference pixels.
  • the blocks with hatches represent the blocks to be encoded, and the blocks without hatches represent the blocks not to be encoded.
  • the first processing example is LM mode, in which the number of reference pixels is doubled when the size is 16, and the number of reference pixels is quadrupled when the size is 32. Then, in the first processing example, the processing of LM_A mode and LM_L mode is separated from that of LM mode.
  • FIG. 10 shows an application example in which the number of pixels of the reference pixel is increased from 2 points to 4 points by applying the first processing example of doubling the number of pixels of the reference pixel in the case of LM mode 16xH. Has been done.
  • FIG. 11 shows an application example in which the number of pixels of the reference pixel is increased from 2 points to 8 points by applying the first processing example in which the number of pixels of the reference pixel is quadrupled in the case of LM mode 32xH. Has been done.
  • the second processing example is LM_A mode, in which the number of reference pixels is doubled when the size is 16, and the number of reference pixels is quadrupled when the size is 32. Then, in the second processing example, LM_A mode and LM_L mode are set to the same processing method as LM mode.
  • FIG. 12 in the case of LM_A mode 16xH, the number of pixels of the reference pixel is doubled, and the second processing example in which the same method as the LM mode (the same applies to the LM_L mode) is applied to the reference pixel.
  • An application example in which the number of pixels of is increased from 4 points to 8 points is shown.
  • FIG. 13 in the case of LM_A mode 32xH, the number of pixels of the reference pixel is quadrupled, and the second processing example in which the same method as the LM mode (the same applies to the LM_L mode) is performed is applied to the reference pixel.
  • An application example in which the number of pixels of is increased from 4 points to 16 points is shown.
  • the third processing example is LM_A mode, in which the number of reference pixels is doubled when the size is 16, and the number of reference pixels is doubled when the size is 32. Then, in the third processing example, the processing of LM_A mode and LM_L mode is different from that of LM mode.
  • FIG. 14 in the case of LM_A mode 16xH, the number of pixels of the reference pixel is multiplied by 1, and a third processing example in which processing by a method different from that of LM mode (the same applies to LM_L mode) is applied to the reference pixel.
  • An application example is shown in which the number of pixels of is left at 4 points.
  • FIG. 15 in the case of LM_A mode 32xH, a third processing example in which the number of pixels of the reference pixel is doubled and a method different from that of LM mode (the same applies to LM_L mode) is applied to the reference pixel.
  • An application example in which the number of pixels of is increased from 4 points to 8 points is shown.
  • the number of pixels of the reference pixel is doubled in the coded target block when the size is 16, and is doubled in the non-encoded block, and the number of pixels of the reference pixel is doubled when the size is 32. Is quadrupled in the coded target block and doubled in the non-encoded block. Then, in the fourth processing example, the processing of LM_A mode and LM_L mode is different from that of LM mode.
  • FIG. 16 in the case of LM_A mode 16xH, the number of pixels of the reference pixel is doubled in the coded block and 1 times in the non-coded block, and the processing method different from that of LM mode (LM_L mode is also the same). ) Is applied to increase the number of reference pixels from 4 points to 6 points.
  • FIG. 17 in the case of LM_A mode 32xH, the number of pixels of the reference pixel is quadrupled in the coded target block and doubled in the non-encoded block, and the processing method is different from that of LM mode (the same applies to LM_L mode).
  • An application example is shown in which the number of reference pixels is increased from 4 points to 12 points by applying the fourth processing example in which the above is performed.
  • FIG. 18 is a diagram illustrating the number of operations required for the process of obtaining the maximum value and the minimum value.
  • the number of operations of the combination is 4, and when the number of pixels of the reference pixel is a multiple of 6, the number of operations of the combination is 11. Then, the number of operations (4 ⁇ 2) for exchanging (final swap) the two first and second largest values and the two first and second smallest values is added to each number of operations. Therefore, the number of operations required for processing can be obtained.
  • the maximum value and the minimum value are obtained from the average of a plurality of values. Then, the sorting method for sorting the values used for calculating the maximum value and the minimum value needs to be performed based on the rules determined between the image coding device 12 and the image decoding device 13.
  • FIG. 19 is a diagram illustrating an example of a method of an existing technique.
  • the average of the reference pixel having the largest Luma value and the reference pixel having the second largest Luma value is calculated as the maximum value from the four reference pixels and calculated as the maximum value, and the Luma value is the smallest.
  • the average of the reference pixel of and the reference pixel of the second smallest Luma value is calculated and calculated as the minimum value.
  • the maximum value Max is derived using the two reference pixels at points B and D
  • the minimum value Min is derived using the two reference pixels at points A and C.
  • An example of calculating the parameter ⁇ and the parameter ⁇ is shown.
  • the maximum value Max is derived using the two reference pixels at points C and D
  • the minimum value Min is derived using the two reference pixels at points A and B.
  • An example of calculating the parameter ⁇ and the parameter ⁇ is shown. In this way, there are cases where the results for obtaining the parameter ⁇ and the parameter ⁇ differ depending on the sort comparison operation.
  • determining the exact order of the sort operations is not only related to the conformity between the image coding device 12 and the image decoding device 13, but also to, for example, the performance of CCLM. Therefore, even when the number of reference pixels increases, it is necessary to determine the sort order in advance.
  • the sort order differs depending on the initial value setting.
  • the first is the A and B points
  • the second is the C and D points
  • the third is the A and D points
  • the fourth is the B and C points.
  • the minimum two values are entered at the positions of points A and B
  • the maximum two values are entered at the positions of points C and D.
  • the result differs depending on which position these four values enter. That is, when there are two "1" s such as "0, 1, 1, 2", which "1" falls into the B point or the C point differs depending on the sort order.
  • the CCLM performance is affected as a result of the initial value setting, which position to start swapping, and the sorting method, which tends to be the maximum and minimum values depending on the block position. It will be.
  • the reference pixel at the position of the broken line circle is the minimum in the initial setting shown in A of FIG. It tends to be a value.
  • the reference pixel at the position of the broken line circle tends to be the minimum value.
  • D in FIG. 20 shows an example of sorting from a distant position
  • E in FIG. 20 shows an example of sorting from a nearby position.
  • the processing amount in the hardware implementation is the worst case.
  • CCLM processing refers to the sample on the upper left, so parallel processing cannot be performed, so this worst case is assumed as the throughput processing amount.
  • the maximum value X A of Luma is calculated by averaging the maximum value X 0 A of Luma and the next maximum value X 1 A (second largest value) of Luma
  • the minimum value X B of Luma is adopted.
  • a process of sorting 4 points to obtain an average that is, addition and 1 piece
  • Shifts 4 times see REF4 above.
  • FIG. 22 shows the number of operations per block when calculating the maximum value and the minimum value by the above-mentioned first derivation method (conventional method).
  • the average algorithm is also used to calculate the parameter ⁇ .
  • FIG. 25 shows a processing example of changing the number of pixels of the reference pixel as a reference pixel pattern as an example of the second embodiment of the image processing.
  • the circles of the double lines represent the reference pixels, and the number of pixels of the reference pixels is changed from 4 points to 8 points.
  • the block size of the current prediction block is divided within the range not exceeding the throughput when 4 points are used as the number of reference pixels.
  • CCLM or MMLM is performed between the image coding device 12 and the image decoding device 13 in units of the same subblock.
  • the current prediction block is divided into four subblocks shown by broken lines, and four sets ( ⁇ 0 , ⁇ 0 ⁇ , ⁇ 1 , ⁇ 1 ⁇ , ⁇ 2 , ⁇ 2). ⁇ , ⁇ 3 , ⁇ 3 ⁇ )) to calculate the parameter ⁇ and the parameter ⁇ .
  • the average of four sets obtained for each subblock can be used.
  • the four sets obtained for each subblock are weighted constants (w 00 , w 01 , w 02 , w 03). , W 10 , w 11 , w 12 , w 13 ) can be used for weighted operations.
  • the method of increasing the number of reference pixels can be arbitrarily set as in the first implementation described above.
  • image processing system 11 may be used in combination with the first embodiment and the second embodiment.
  • FIG. 26 is a block diagram showing a configuration example of the CCLM prediction unit 21 used as the intra prediction unit 14 and the intra prediction unit 16 of FIG.
  • the CCLM prediction unit 21 includes a luminance signal intra-prediction unit 22, a luminance information downsampling unit 23, and a color difference signal intra-prediction unit 24. Further, reference pixels (reconstructed Luma information Rec L , reconstructed Chroma information Rec C ) and intra prediction parameters are input to the CCLM prediction unit 21, and a prediction image is output from the CCLM prediction unit 21.
  • Luminance signal intra prediction unit 22 as reference pixels to Luma Information Rec L which is re construct, by performing a luminance signal intra prediction according to the intra prediction parameter, its a prediction result Luma prediction information Pred y [x, y] Is output.
  • Luminance information downsampling unit 23 downsamples the Luma information Rec L which is re-construct is supplied via the luminance signal intra prediction unit 22, information was downsampled Luma information Rec L which is re-construct Rec 'L Is supplied to the color difference signal intra prediction unit 24.
  • the reconstructed luminance information is downsampled to match the size and phase of the color difference signal.
  • Chrominance signal intra prediction unit 24 as reference pixels Chroma information Rec C which is re construct, perform chrominance signal intra prediction to Luma Information Rec L which is re-construct the downsampling information Rec 'L, in the prediction result Outputs a certain Chroma prediction information Pred c [x, y].
  • the Luma prediction information Pred y [x, y] output from the luminance signal intra prediction unit 22 and the Chroma prediction information Pred c [x, y] output from the color difference signal intra prediction unit 24 are CCLM predictions as prediction images. It is output from unit 21.
  • the reference pixel pattern is changed according to the parameters of the current prediction block.
  • CCLM or MMLM is performed using the obtained reference pixels to generate Chroma prediction information Pred c [x, y] which is a prediction pixel.
  • FIG. 27 is a flowchart illustrating image processing executed by the CCLM prediction unit 21.
  • the image processing in FIG. 27 is a process corresponding to the first embodiment of the image processing described above, and the image processing is similarly performed in each of the image coding device 12 and the image decoding device 13.
  • step S11 the luminance signal intra-prediction unit 22 makes Luma prediction.
  • step S12 the color difference signal intra prediction unit 24 determines whether or not to carry out CCLM, and if it is determined that CCLM is to be carried out, the process proceeds to step S13.
  • step S13 the color difference signal intra prediction unit 24 detects the block size of the current prediction block.
  • step S14 the color difference signal intra-prediction unit 24 determines the number of points (the number of reference pixels) according to the block size of the current prediction block detected in step S13 as a parameter.
  • step S15 the color difference signal intra prediction unit 24 calculates the maximum and minimum values of the Luma value from the Luma value obtained as the prediction result of the Luma prediction in step S11.
  • any of the above-mentioned first to third derivation methods can be used to calculate the maximum value and the minimum value.
  • step S16 the color difference signal intra prediction unit 24 performs a parameter ⁇ calculation process (see the flowchart of FIG. 28 described later) for calculating the parameter ⁇ using the maximum and minimum values of the Luma value calculated in step S15. ..
  • step S17 the color difference signal intra prediction unit 24 uses the number of points determined in step S14 and the parameter ⁇ calculated in the parameter ⁇ calculation process in step S16 to calculate the parameter ⁇ (parameter ⁇ calculation process). (See the flowchart of FIG. 29, which will be described later).
  • step S18 the color difference signal intra-prediction unit 24 uses the parameter ⁇ calculated by the parameter ⁇ calculation process of step S16 and the parameter ⁇ calculated by the parameter ⁇ calculation process of step S17 to obtain the predicted value of Chroma.
  • Chroma prediction information Pred c [x, y]) is calculated.
  • step S18 After the processing in step S18, or when it is determined in step S12 that CCLM is not performed, the image processing is terminated.
  • FIG. 28 is a flowchart illustrating the parameter ⁇ calculation process in step S16 of FIG. 27.
  • step S21 the color difference signal intra-prediction unit 24 inputs two points, the maximum value and the minimum value of the Luma value calculated in step S15 of FIG. 27, into the look-up table created in advance.
  • step S22 the color difference signal intra prediction unit 24 calculates the parameter ⁇ from the result input to the lookup table in step S21, and then the parameter ⁇ calculation process is terminated.
  • FIG. 29 is a flowchart illustrating the parameter ⁇ calculation process in step S17 of FIG. 27.
  • step S31 the color difference signal intra prediction unit 24 inputs the parameter ⁇ calculated by the parameter ⁇ calculation process of step S16 of FIG. 27.
  • step S32 the color difference signal intra prediction unit 24 calculates the parameter ⁇ with respect to the number of points determined in step S14 of FIG. 27.
  • step S33 the color difference signal intra prediction unit 24 obtains the average of the parameter ⁇ for the number of points calculated in step S32, sets the parameter ⁇ as the processing result of the parameter ⁇ calculation process, and then ends the parameter ⁇ calculation process. To.
  • the color difference signal intra prediction unit 24 uses the block size of the current prediction block as a parameter and uses the number of points (the number of pixels of the reference pixel) determined according to the block size to obtain the predicted value of Chroma. Can be calculated. In this way, by using a larger number of points than in the past, it is possible to improve the durability and accuracy of noise in the calculation of CCLM, and it is possible to improve the image quality more appropriately.
  • FIG. 30 is a flowchart illustrating image processing performed by the CCLM prediction unit 21.
  • the image processing in FIG. 30 is a process corresponding to the second embodiment of the image processing described above, and the image processing is similarly performed in each of the image coding device 12 and the image decoding device 13.
  • step S44 the color difference signal intra prediction unit 24 determines the number of points (the number of pixels of the reference pixel) according to the block size, using the block size of the current prediction block detected in step S43 as a parameter. Further, the color difference signal intra prediction unit 24 divides the current prediction block into a plurality of subblocks based on the determined number of points within a range that does not exceed the throughput when the number of points is 4 when all the blocks are the minimum size. Divide into.
  • steps S45 to S48 the same processing as in steps S15 to S18 of FIG. 27 is performed for each of the plurality of subblocks divided in step S44. That is, the parameter ⁇ calculation process of step S46 (see the flowchart of FIG. 28 described above) and the parameter ⁇ calculation process of step S47 (see the flowchart of FIG. 29 described above) are performed for each subblock.
  • FIG. 31 is a block diagram showing a configuration example of an embodiment of a computer-based system to which the present technology is applied.
  • FIG. 31 is a block diagram showing a configuration example of a network system in which one or more computers, servers, and the like are connected via a network. Note that the hardware and software environment shown in the embodiment of FIG. 31 is shown as an example of being able to provide a platform for implementing the software and / or method according to the present disclosure.
  • the network system 31 includes a computer 32, a network 33, a remote computer 34, a web server 35, a cloud storage server 36, and a computer server 37.
  • a plurality of instances are executed by one or more of the functional blocks shown in FIG.
  • FIG. 31 the detailed configuration of the computer 32 is illustrated.
  • the functional blocks shown in the computer 32 are shown for establishing exemplary functions, and are not limited to such a configuration.
  • the detailed configurations of the remote computer 34, the web server 35, the cloud storage server 36, and the computer server 37 are not shown, they include the same configurations as the functional blocks shown in the computer 32. ing.
  • the computer 32 may be a personal computer, desktop computer, laptop computer, tablet computer, netbook computer, personal digital assistant, smartphone, or other programmable electronic device capable of communicating with other devices on the network. Can be done.
  • the computer 32 includes a bus 41, a processor 42, a memory 43, a non-volatile storage 44, a network interface 46, a peripheral device interface 47, and a display interface 48.
  • a bus 41 a bus 41
  • a processor 42 a memory 43
  • a non-volatile storage 44 a network interface 46
  • a peripheral device interface 47 a display interface 48.
  • Each of these functions is implemented in an individual electronic subsystem (integrated circuit chip or combination of chips and related devices) in some embodiments, or in some embodiments, some of the functions are combined. It may be mounted on a single chip (system on chip or SoC (System on Chip)).
  • bus 41 various proprietary or industry standard high-speed parallel or serial peripheral interconnection buses can be adopted.
  • the processor 42 may employ one designed and / or manufactured as one or more single or multi-chip microprocessors.
  • the memory 43 and the non-volatile storage 44 are storage media that can be read by the computer 32.
  • the memory 43 can employ any suitable volatile storage device such as DRAM (Dynamic Random Access Memory) or SRAM (Static RAM).
  • the non-volatile storage 44 includes a flexible disk, a hard disk, an SSD (Solid State Drive), a ROM (Read Only Memory), an EPROM (Erasable and Programmable Read Only Memory), a flash memory, a compact disk (CD or CD-ROM), and a DVD (CD or CD-ROM). At least one or more of DigitalVersatileDisc), card type memory, or stick type memory can be adopted.
  • program 45 is stored in the non-volatile storage 44.
  • Program 45 is, for example, a collection of machine-readable instructions and / or data used to create, manage, and control specific software functions.
  • the program 45 can be transferred from the non-volatile storage 44 to the memory 43 before being executed by the processor 42.
  • the computer 32 can communicate and interact with other computers via the network 33 via the network interface 46.
  • the network 33 can adopt, for example, a LAN (Local Area Network), a WAN (Wide Area Network) such as the Internet, or a combination of LAN and WAN, including a wired, wireless, or optical fiber connection. ..
  • the network 33 consists of any combination of connections and protocols that support communication between two or more computers and related devices.
  • the peripheral device interface 47 can input / output data to / from other devices that can be locally connected to the computer 32.
  • the peripheral interface 47 provides a connection to the external device 51.
  • the external device 51 includes a keyboard, mouse, keypad, touch screen, and / or other suitable input device.
  • the external device 51 may also include, for example, a thumb drive, a portable optical or magnetic disk, and a portable computer readable storage medium such as a memory card.
  • software and data used to implement Program 45 may be stored on such a portable computer readable storage medium.
  • the software may be loaded directly into the non-volatile storage 44 or into the memory 43 via the peripheral interface 47.
  • Peripheral device interface 47 may use an industry standard such as RS-232 or USB (Universal Serial Bus) for connection with the external device 51.
  • the display interface 48 can connect the computer 32 to the display 52, and the display 52 can be used to present a command line or graphical user interface to the user of the computer 32.
  • industry standards such as VGA (Video Graphics Array), DVI (Digital Visual Interface), DisplayPort, and HDMI (High-Definition Multimedia Interface) (registered trademark) can be adopted.
  • FIG. 32 shows the configuration of an embodiment of an image coding device as an image processing device to which the present disclosure is applied.
  • the image coding device 60 shown in FIG. 32 encodes the image data by using the prediction process.
  • the coding method for example, a HEVC (High Efficiency Video Coding) method or the like is used.
  • the image coding device 60 of FIG. 32 has an A / D conversion unit 61, a screen sorting buffer 62, a calculation unit 63, an orthogonal conversion unit 64, a quantization unit 65, a reversible coding unit 66, and a storage buffer 67. Further, the image coding device 60 includes an inverse quantization unit 68, an inverse orthogonal conversion unit 69, an arithmetic unit 70, a deblocking filter 71, an adaptive offset filter 72, an adaptive loop filter 73, a frame memory 74, a selection unit 75, and an intra prediction unit. It has a motion prediction / compensation section 77, a prediction image selection section 78, and a rate control section 79.
  • the A / D conversion unit 61 A / D converts the input image data (Picture (s)) and supplies it to the screen sorting buffer 62. It should be noted that the configuration may be such that an image of digital data is input without providing the A / D conversion unit 61.
  • the screen rearrangement buffer 62 stores the image data supplied from the A / D conversion unit 61, and encodes the images of the frames in the stored display order according to the GOP (Group of Picture) structure. Sort by frame order.
  • the screen rearrangement buffer 62 outputs the images in which the frame order is rearranged to the calculation unit 63, the intra prediction unit 76, and the motion prediction / compensation unit 77.
  • the calculation unit 63 subtracts the prediction image supplied from the intra prediction unit 76 or the motion prediction / compensation unit 77 via the prediction image selection unit 78 from the image output from the screen rearrangement buffer 62, and obtains the difference information. Output to the orthogonal conversion unit 64.
  • the calculation unit 63 subtracts the predicted image supplied from the intra-predicted unit 76 from the image output from the screen rearrangement buffer 62. Further, for example, in the case of an image to be inter-encoded, the calculation unit 63 subtracts the prediction image supplied from the motion prediction / compensation unit 77 from the image output from the screen rearrangement buffer 62.
  • the orthogonal transform unit 64 performs orthogonal transforms such as discrete cosine transform and Karhunen-Loève transform on the difference information supplied from the arithmetic unit 63, and supplies the conversion coefficients to the quantization unit 65.
  • the quantization unit 65 quantizes the conversion coefficient output by the orthogonal conversion unit 64.
  • the quantized unit 65 supplies the quantized conversion coefficient to the reversible coding unit 66.
  • the reversible coding unit 66 performs reversible coding such as variable length coding and arithmetic coding on the quantized conversion coefficient.
  • the reversible coding unit 66 acquires parameters such as information indicating the intra prediction mode from the intra prediction unit 76, and acquires parameters such as information indicating the inter prediction mode and motion vector information from the motion prediction / compensation unit 77.
  • the reversible coding unit 66 encodes the quantized conversion coefficient and encodes each acquired parameter (syntax element) to be a part (multiplex) of the header information of the coded data.
  • the reversible coding unit 66 supplies the coded data obtained by coding to the storage buffer 67 and stores it.
  • variable-length coding examples include CAVLC (Context-Adaptive Variable Length Coding).
  • arithmetic coding include CABAC (Context-Adaptive Binary Arithmetic Coding).
  • the storage buffer 67 temporarily holds the coded stream (Encoded Data) supplied from the reversible coding unit 66, and at a predetermined timing, as a coded image, for example, not shown in the subsequent stage. Output to a recording device or transmission line. That is, the storage buffer 67 is also a transmission unit that transmits a coded stream.
  • the conversion coefficient quantized in the quantization unit 65 is also supplied to the inverse quantization unit 68.
  • the dequantization unit 68 dequantizes the quantized conversion coefficient by a method corresponding to the quantization by the quantization unit 65.
  • the inverse quantization unit 68 supplies the obtained conversion coefficient to the inverse orthogonal conversion unit 69.
  • the inverse orthogonal conversion unit 69 performs inverse orthogonal conversion of the supplied conversion coefficient by a method corresponding to the orthogonal conversion processing by the orthogonal conversion unit 64.
  • the inverse orthogonally converted output (restored difference information) is supplied to the calculation unit 70.
  • the calculation unit 70 supplies the inverse orthogonal conversion result supplied from the inverse orthogonal conversion unit 69, that is, the restored difference information from the intra prediction unit 76 or the motion prediction / compensation unit 77 via the prediction image selection unit 78.
  • the predicted images are added to obtain a locally decoded image (decoded image).
  • the calculation unit 70 adds the predicted image supplied from the intra prediction unit 76 to the difference information. Further, for example, when the difference information corresponds to an image to be inter-encoded, the calculation unit 70 adds the predicted image supplied from the motion prediction / compensation unit 77 to the difference information.
  • the decoded image that is the result of the addition is supplied to the deblocking filter 71 and the frame memory 74.
  • the deblocking filter 71 suppresses block distortion of the decoded image by appropriately performing deblocking filter processing on the image from the calculation unit 70, and supplies the filter processing result to the adaptive offset filter 72.
  • the deblocking filter 71 has parameters ⁇ and Tc obtained based on the quantization parameter QP.
  • the parameters ⁇ and Tc are threshold values (parameters) used for determining the deblocking filter.
  • the parameters ⁇ and Tc possessed by the deblocking filter 71 are extended from ⁇ and Tc defined by the HEVC method.
  • the offsets of the parameters ⁇ and Tc are encoded by the reversible coding unit 66 as parameters of the deblocking filter and transmitted to the image decoding device 80 of FIG. 34 described later.
  • the adaptive offset filter 72 mainly performs an offset filter (SAO: Sample adaptive offset) process that suppresses ringing on the image after filtering by the deblocking filter 71.
  • SAO Sample adaptive offset
  • the adaptive offset filter 72 uses a quad-tree structure in which the type of offset filter is determined for each divided area and an offset value for each divided area to filter the image after filtering by the deblocking filter 71. Apply processing.
  • the adaptive offset filter 72 supplies the filtered image to the adaptive loop filter 73.
  • the quad-tree structure and the offset value for each divided region are calculated and used by the adaptive offset filter 72.
  • the calculated quad-tree structure and the offset value for each divided region are encoded by the reversible coding unit 66 as adaptive offset parameters and transmitted to the image decoding device 80 of FIG. 34, which will be described later.
  • the adaptive loop filter 73 performs adaptive loop filter (ALF: Adaptive Loop Filter) processing for each processing unit using the filter coefficient on the image after filtering by the adaptive offset filter 72.
  • ALF Adaptive Loop Filter
  • a two-dimensional Wiener filter is used as the filter.
  • a filter other than the Wiener filter may be used.
  • the adaptive loop filter 73 supplies the filter processing result to the frame memory 74.
  • the filter coefficient is an adaptive loop filter 73 for each processing unit so as to minimize the residual with the original image from the screen rearrangement buffer 62. It is calculated and used by.
  • the calculated filter coefficient is encoded by the reversible coding unit 66 as an adaptive loop filter parameter and transmitted to the image decoding device 80 of FIG. 34, which will be described later.
  • the frame memory 74 outputs the stored reference image to the intra prediction unit 76 or the motion prediction / compensation unit 77 via the selection unit 75 at a predetermined timing.
  • the frame memory 74 supplies the reference image to the intra-prediction unit 76 via the selection unit 75. Further, for example, when intercoding is performed, the frame memory 74 supplies the reference image to the motion prediction / compensation unit 77 via the selection unit 75.
  • the selection unit 75 supplies the reference image to the intra prediction unit 76. Further, when the reference image supplied from the frame memory 74 is an image to be intercoded, the selection unit 75 supplies the reference image to the motion prediction / compensation unit 77.
  • the intra prediction unit 76 performs intra prediction (in-screen prediction) to generate a prediction image using the pixel values in the screen.
  • the intra prediction unit 76 performs intra prediction in a plurality of modes (intra prediction mode).
  • the intra prediction unit 76 generates prediction images in all intra prediction modes, evaluates each prediction image, and selects the optimum mode. When the optimum intra prediction mode is selected, the intra prediction unit 76 supplies the prediction image generated in the optimum mode to the calculation unit 63 and the calculation unit 70 via the prediction image selection unit 78.
  • the intra prediction unit 76 appropriately supplies parameters such as intra prediction mode information indicating the adopted intra prediction mode to the reversible coding unit 66.
  • the motion prediction / compensation unit 77 uses an input image supplied from the screen rearrangement buffer 62 and a reference image supplied from the frame memory 74 via the selection unit 75 for the image to be intercoded. Make motion predictions. Further, the motion prediction / compensation unit 77 performs motion compensation processing according to the motion vector detected by the motion prediction, and generates a prediction image (inter-prediction image information).
  • the motion prediction / compensation unit 77 performs inter-prediction processing in all candidate inter-prediction modes and generates a prediction image.
  • the motion prediction / compensation unit 77 supplies the generated predicted image to the calculation unit 63 and the calculation unit 70 via the prediction image selection unit 78. Further, the motion prediction / compensation unit 77 supplies parameters such as inter-prediction mode information indicating the adopted inter-prediction mode and motion vector information indicating the calculated motion vector to the reversible coding unit 66.
  • the prediction image selection unit 78 supplies the output of the intra prediction unit 76 to the calculation unit 63 and the calculation unit 70 in the case of an image to be intra-encoded, and the motion prediction / compensation unit 77 in the case of an image to be inter-encoded.
  • the output is supplied to the calculation unit 63 and the calculation unit 70.
  • the rate control unit 79 controls the rate of the quantization operation of the quantization unit 65 based on the compressed image stored in the storage buffer 67 so that overflow or underflow does not occur.
  • the image coding device 60 is configured in this way, the reversible coding unit 66 corresponds to the coding unit 15 in FIG. 2, and the intra prediction unit 76 corresponds to the intra prediction unit 14 in FIG. Therefore, as described above, the image coding device 60 can more appropriately improve the image quality.
  • step S51 the A / D conversion unit 61 A / D converts the input image.
  • step S52 the screen rearrangement buffer 62 stores the A / D-converted images by the A / D conversion unit 61, and rearranges the images from the display order of each picture to the encoding order.
  • the referenced decoded image is read from the frame memory 74, and the intra-prediction unit is read through the selection unit 75. It is supplied to 76.
  • the intra-prediction unit 76 intra-predicts the pixels of the block to be processed in all the candidate intra-prediction modes.
  • the decoded pixel to be referred to a pixel that has not been filtered by the deblocking filter 71 is used.
  • intra-prediction is performed in all the candidate intra-prediction modes, and the cost function value is calculated for all the candidate intra-prediction modes. Then, the optimum intra prediction mode is selected based on the calculated cost function value, and the prediction image generated by the intra prediction in the optimum intra prediction mode and the cost function value thereof are supplied to the prediction image selection unit 78.
  • the referenced image is read from the frame memory 74 and supplied to the motion prediction / compensation unit 77 via the selection unit 75. Will be done. Based on these images, in step S54, the motion prediction / compensation unit 77 performs motion prediction / compensation processing.
  • motion prediction processing is performed in all candidate inter-prediction modes, cost function values are calculated for all candidate inter-prediction modes, and optimal inter-prediction is calculated based on the calculated cost function values. The mode is determined. Then, the predicted image generated by the optimum inter prediction mode and the cost function value thereof are supplied to the predicted image selection unit 78.
  • step S55 the prediction image selection unit 78 optimizes one of the optimum intra prediction mode and the optimum inter prediction mode based on each cost function value output from the intra prediction unit 76 and the motion prediction / compensation unit 77. Determine to predict mode. Then, the prediction image selection unit 78 selects the determined prediction image of the optimum prediction mode and supplies it to the calculation units 63 and 70. This predicted image is used for the calculation of steps S56 and S61 described later.
  • the selection information of this prediction image is supplied to the intra prediction unit 76 or the motion prediction / compensation unit 77.
  • the intra prediction unit 76 supplies information indicating the optimum intra prediction mode (that is, parameters related to the intra prediction) to the reversible coding unit 66.
  • the motion prediction / compensation unit 77 reversibly encodes the information indicating the optimum inter prediction mode and the information corresponding to the optimum inter prediction mode (that is, the parameters related to the motion prediction). Output to unit 66.
  • the information according to the optimum inter-prediction mode include motion vector information and reference frame information.
  • step S56 the calculation unit 63 calculates the difference between the images sorted in step S52 and the predicted image selected in step S55.
  • the predicted image is supplied to the calculation unit 63 from the motion prediction / compensation unit 77 for inter-prediction and from the intra-prediction unit 76 for intra-prediction via the prediction image selection unit 78.
  • the amount of difference data is smaller than that of the original image data. Therefore, the amount of data can be compressed as compared with the case where the image is encoded as it is.
  • step S57 the orthogonal conversion unit 64 performs orthogonal conversion of the difference information supplied from the calculation unit 63. Specifically, orthogonal transforms such as the discrete cosine transform and the Karhunen-Loève transform are performed, and the transform coefficients are output.
  • orthogonal transforms such as the discrete cosine transform and the Karhunen-Loève transform are performed, and the transform coefficients are output.
  • step S58 the quantization unit 65 quantizes the conversion coefficient.
  • the rate is controlled as described in the process of step S68 described later.
  • step S59 the inverse quantization unit 68 dequantizes the conversion coefficient quantized by the quantization unit 65 with a characteristic corresponding to the characteristic of the quantization unit 65.
  • step S60 the inverse orthogonal conversion unit 69 performs inverse orthogonal conversion of the conversion coefficient inversely quantized by the inverse quantization unit 68 with a characteristic corresponding to the characteristic of the orthogonal conversion unit 64.
  • step S61 the calculation unit 70 adds the predicted image input via the predicted image selection unit 78 to the locally decoded difference information, and the locally decoded (that is, locally decoded) image. (Image corresponding to the input to the calculation unit 63) is generated.
  • step S62 the deblocking filter 71 performs a deblocking filter process on the image output from the calculation unit 70.
  • the threshold value for the determination regarding the deblocking filter the parameters ⁇ and Tc extended from ⁇ and Tc defined by the HEVC method are used.
  • the filtered image from the deblocking filter 71 is output to the adaptive offset filter 72.
  • the offsets of the parameters ⁇ and Tc used in the deblocking filter 71 which are input by the user by operating the operation unit or the like, are supplied to the reversible coding unit 66 as the parameters of the deblocking filter.
  • step S63 the adaptive offset filter 72 performs adaptive offset filter processing.
  • the filter processing is performed on the image after filtering by the deblocking filter 71 by using the quad-tree structure in which the type of the offset filter is determined for each divided area and the offset value for each divided area. Be given.
  • the filtered image is fed to the adaptive loop filter 73.
  • the determined quad-tree structure and the offset value for each divided region are supplied to the reversible coding unit 66 as adaptive offset parameters.
  • step S64 the adaptive loop filter 73 performs adaptive loop filter processing on the image filtered by the adaptive offset filter 72.
  • the image after filtering by the adaptive offset filter 72 is filtered for each processing unit by using the filter coefficient, and the filtering result is supplied to the frame memory 74.
  • step S65 the frame memory 74 stores the filtered image. Images not filtered by the deblocking filter 71, the adaptive offset filter 72, and the adaptive loop filter 73 are also supplied and stored in the frame memory 74 from the calculation unit 70.
  • the conversion coefficient quantized in step S58 described above is also supplied to the reversible coding unit 66.
  • the reversible coding unit 66 encodes the quantized conversion coefficient output from the quantizing unit 65 and each of the supplied parameters. That is, the difference image is reversibly coded and compressed by variable length coding, arithmetic coding, and the like.
  • the encoded parameters include deblocking filter parameters, adaptive offset filter parameters, adaptive loop filter parameters, quantization parameters, motion vector information and reference frame information, prediction mode information, and the like.
  • step S67 the storage buffer 67 stores the encoded difference image (that is, the coded stream) as a compressed image.
  • the compressed image stored in the storage buffer 67 is appropriately read out and transmitted to the decoding side via the transmission line.
  • step S68 the rate control unit 79 controls the rate of the quantization operation of the quantization unit 65 based on the compressed image stored in the storage buffer 67 so that overflow or underflow does not occur.
  • step S68 When the process of step S68 is completed, the coding process is completed.
  • CCLM or MMLM is performed using the reference pixel whose reference pixel pattern is changed according to the parameter of the current prediction block to obtain the predicted pixel. Will be generated.
  • FIG. 34 shows the configuration of an embodiment of an image decoding device as an image processing device to which the present disclosure is applied.
  • the image decoding device 80 shown in FIG. 34 is a decoding device corresponding to the image coding device 60 of FIG. 32.
  • the coded stream (Encoded Data) encoded by the image coding device 60 is transmitted to the image decoding device 80 corresponding to the image coding device 60 via a predetermined transmission line and is decoded. ..
  • the image decoding device 80 includes a storage buffer 81, a reversible decoding unit 82, an inverse quantization unit 83, an inverse orthogonal conversion unit 84, a calculation unit 85, a deblocking filter 86, an adaptive offset filter 87, and an adaptive. It has a loop filter 88, a screen sorting buffer 89, a D / A conversion unit 90, a frame memory 91, a selection unit 92, an intra prediction unit 93, a motion prediction / compensation unit 94, and a selection unit 95.
  • the storage buffer 81 is also a receiving unit that receives the transmitted encoded data.
  • the storage buffer 81 receives the transmitted coded data and stores it. This coded data is encoded by the image coding device 60.
  • the reversible decoding unit 82 decodes the coded data read from the storage buffer 81 at a predetermined timing by a method corresponding to the coding method of the reversible coding unit 66 of FIG.
  • the reversible decoding unit 82 supplies parameters such as information indicating the decoded intra prediction mode to the intra prediction unit 93, and supplies parameters such as information indicating the inter prediction mode and motion vector information to the motion prediction / compensation unit 94. .. Further, the reversible decoding unit 82 supplies the decoded deblocking filter parameters to the deblocking filter 86, and supplies the decoded adaptive offset parameters to the adaptive offset filter 87.
  • the inverse quantization unit 83 dequantizes the coefficient data (quantization coefficient) obtained by decoding by the reversible decoding unit 82 by a method corresponding to the quantization method of the quantization unit 65 in FIG. 32. That is, the inverse quantization unit 83 performs the inverse quantization of the quantization coefficient by the same method as the inverse quantization unit 68 of FIG. 32 using the quantization parameters supplied from the image coding device 60.
  • the inverse quantized unit 83 supplies the inverse quantized coefficient data, that is, the orthogonal conversion coefficient to the inverse orthogonal conversion unit 84.
  • the inverse orthogonal conversion unit 84 is a method corresponding to the orthogonal conversion method of the orthogonal conversion unit 64 of FIG. 32, and the orthogonal conversion coefficient is inversely orthogonally converted to the residual data before the orthogonal conversion by the image coding apparatus 60. Obtain the corresponding decoding residual data.
  • the decoding residual data obtained by the inverse orthogonal conversion is supplied to the calculation unit 85. Further, the calculation unit 85 is supplied with a prediction image from the intra prediction unit 93 or the motion prediction / compensation unit 94 via the selection unit 95.
  • the calculation unit 85 adds the decoded residual data and the predicted image, and obtains the decoded image data corresponding to the image data before the predicted image is subtracted by the calculation unit 63 of the image coding device 60.
  • the calculation unit 85 supplies the decoded image data to the deblocking filter 86.
  • the deblocking filter 86 suppresses block distortion of the decoded image by appropriately performing deblocking filter processing on the image from the calculation unit 85, and supplies the filter processing result to the adaptive offset filter 87.
  • the deblocking filter 86 is basically configured in the same manner as the deblocking filter 71 of FIG. That is, the deblocking filter 86 has parameters ⁇ and Tc obtained based on the quantization parameters.
  • the parameters ⁇ and Tc are threshold values used for determining the deblocking filter.
  • the parameters ⁇ and Tc of the deblocking filter 86 are extended from ⁇ and Tc specified by the HEVC method.
  • Each offset of the parameters ⁇ and Tc of the deblocking filter encoded by the image coding device 60 is received by the image decoding device 80 as a parameter of the deblocking filter, decoded by the reversible decoding unit 82, and deblocking. Used by filter 86.
  • the adaptive offset filter 87 mainly performs offset filter (SAO) processing that suppresses ringing on the image after filtering by the deblocking filter 86.
  • SAO offset filter
  • the adaptive offset filter 87 uses a quad-tree structure in which the type of offset filter is determined for each divided region and an offset value for each divided region to filter the image after filtering by the deblocking filter 86. Apply processing.
  • the adaptive offset filter 87 supplies the filtered image to the adaptive loop filter 88.
  • the quad-tree structure and the offset value for each divided region are calculated by the adaptive offset filter 72 of the image coding device 60, and are encoded and sent as the adaptive offset parameter. Then, the quad-tree structure encoded by the image coding device 60 and the offset value for each divided region are received by the image decoding device 80 as adaptive offset parameters, decoded by the reversible decoding unit 82, and the adaptive offset. Used by filter 87.
  • the adaptive loop filter 88 filters the image filtered by the adaptive offset filter 87 for each processing unit using the filter coefficient, and supplies the filter processing result to the frame memory 91 and the screen sorting buffer 89. To do.
  • the filter coefficient is calculated for each LUC by the adaptive loop filter 73 of the image coding device 60, and is encoded and sent as an adaptive loop filter parameter. What has been obtained is decoded by the reversible decoding unit 82 and used.
  • the screen sorting buffer 89 sorts the images and supplies them to the D / A conversion unit 90. That is, the order of the frames rearranged for the coding order by the screen rearrangement buffer 62 of FIG. 32 is rearranged in the original display order.
  • the output of the adaptive loop filter 88 is further supplied to the frame memory 91.
  • the frame memory 91, the selection unit 92, the intra prediction unit 93, the motion prediction / compensation unit 94, and the selection unit 95 are the frame memory 74, the selection unit 75, the intra prediction unit 76, and the motion prediction / compensation unit of the image coding device 60. It corresponds to 77 and the prediction image selection unit 78, respectively.
  • the selection unit 92 reads the interprocessed image and the referenced image from the frame memory 91 and supplies the motion prediction / compensation unit 94. Further, the selection unit 92 reads the image used for the intra prediction from the frame memory 91 and supplies it to the intra prediction unit 93.
  • the intra prediction unit 93 Based on this information, the intra prediction unit 93 generates a prediction image from the reference image acquired from the frame memory 91, and supplies the generated prediction image to the selection unit 95.
  • prediction mode information (prediction mode information, motion vector information, reference frame information, flags, various parameters, etc.) obtained by decoding the header information is supplied to the motion prediction / compensation unit 94 from the reversible decoding unit 82.
  • the motion prediction / compensation unit 94 generates a prediction image from the reference image acquired from the frame memory 91 based on the information supplied from the reversible decoding unit 82, and supplies the generated prediction image to the selection unit 95.
  • the selection unit 95 selects the prediction image generated by the motion prediction / compensation unit 94 or the intra prediction unit 93 and supplies it to the calculation unit 85.
  • the image decoding device 80 is configured in this way, the reversible decoding unit 82 corresponds to the decoding unit 17 in FIG. 2, and the intra prediction unit 93 corresponds to the intra prediction unit 16 in FIG. Therefore, as described above, the image decoding device 80 can more appropriately improve the image quality.
  • step S71 the storage buffer 81 receives the transmitted coded stream (data) and stores it.
  • step S72 the reversible decoding unit 82 decodes the coded data supplied from the storage buffer 81.
  • the I picture, P picture, and B picture encoded by the reversible coding unit 66 of FIG. 32 are decoded.
  • parameter information such as motion vector information, reference frame information, and prediction mode information (intra prediction mode or inter prediction mode) is also decoded.
  • the prediction mode information is the intra prediction mode information
  • the prediction mode information is supplied to the intra prediction unit 93.
  • the prediction mode information is inter-prediction mode information
  • the motion vector information corresponding to the prediction mode information is supplied to the motion prediction / compensation unit 94.
  • the parameters of the deblocking filter and the adaptive offset parameters are also decoded and supplied to the deblocking filter 86 and the adaptive offset filter 87, respectively.
  • step S73 the intra prediction unit 93 or the motion prediction / compensation unit 94 performs a prediction image generation process corresponding to the prediction mode information supplied from the reversible decoding unit 82, respectively.
  • the intra prediction unit 93 when the intra prediction mode information is supplied from the reversible decoding unit 82, the intra prediction unit 93 generates an intra prediction image of the intra prediction mode.
  • the motion prediction / compensation unit 94 performs the motion prediction / compensation processing in the inter-prediction mode to generate the inter-prediction image.
  • the prediction image (intra prediction image) generated by the intra prediction unit 93 or the prediction image (inter prediction image) generated by the motion prediction / compensation unit 94 is supplied to the selection unit 95.
  • step S74 the selection unit 95 selects a predicted image. That is, the prediction image generated by the intra prediction unit 93 or the prediction image generated by the motion prediction / compensation unit 94 is supplied. Therefore, the supplied predicted image is selected and supplied to the calculation unit 85, and is added to the output of the inverse orthogonal conversion unit 84 in step S77 described later.
  • step S72 The conversion coefficient decoded by the reversible decoding unit 82 in step S72 described above is also supplied to the inverse quantization unit 83.
  • step S75 the inverse quantization unit 83 dequantizes the conversion coefficient decoded by the reversible decoding unit 82 with a characteristic corresponding to the characteristic of the quantization unit 65 in FIG.
  • step S76 the inverse orthogonal conversion unit 84 performs inverse orthogonal conversion of the conversion coefficient inversely quantized by the inverse quantization unit 83 with a characteristic corresponding to the characteristic of the orthogonal conversion unit 64 in FIG. As a result, the difference information corresponding to the input of the orthogonal conversion unit 64 (output of the calculation unit 63) of FIG. 32 is decoded.
  • step S77 the calculation unit 85 adds the predicted image selected in the process of step S74 described above and input via the selection unit 95 to the difference information. This decodes the original image.
  • step S78 the deblocking filter 86 performs a deblocking filter process on the image output from the calculation unit 85.
  • the threshold value for the determination regarding the deblocking filter the parameters ⁇ and Tc extended from ⁇ and Tc defined by the HEVC method are used.
  • the filtered image from the deblocking filter 86 is output to the adaptive offset filter 87.
  • the offsets of the parameters ⁇ and Tc of the deblocking filter supplied from the reversible decoding unit 82 are also used.
  • step S79 the adaptive offset filter 87 performs adaptive offset filter processing.
  • the filter processing is performed on the image after filtering by the deblocking filter 86 by using the quad-tree structure in which the type of the offset filter is determined for each divided area and the offset value for each divided area. Be given.
  • the filtered image is fed to the adaptive loop filter 88.
  • step S80 the adaptive loop filter 88 performs adaptive loop filter processing on the image filtered by the adaptive offset filter 87.
  • the adaptive loop filter 88 performs filter processing for each processing unit on the input image using the filter coefficient calculated for each processing unit, and supplies the filter processing result to the screen sorting buffer 89 and the frame memory 91. To do.
  • step S81 the frame memory 91 stores the filtered image.
  • step S82 the screen rearrangement buffer 89 rearranges the images after the adaptive loop filter 88, and then supplies the screen rearrangement buffer 89 to the D / A conversion unit 90. That is, the order of the frames sorted for coding by the screen sorting buffer 62 of the image coding device 60 is rearranged to the original display order.
  • step S83 the D / A conversion unit 90 D / A-converts the images sorted by the screen sorting buffer 89 and outputs them to a display (not shown), and the images are displayed.
  • step S83 When the process of step S83 is completed, the decryption process is completed.
  • the predicted pixel is generated by performing CCLM or MMLM using the reference pixel whose reference pixel pattern is changed according to the parameter of the current prediction block. Will be done.
  • FIG. 36 is a block diagram showing a configuration example of an embodiment of a computer on which a program for executing the above-mentioned series of processes is installed.
  • the program can be recorded in advance on the hard disk 105 or ROM 103 as a recording medium built in the computer.
  • the program can be stored (recorded) in the removable recording medium 111 driven by the drive 109.
  • a removable recording medium 111 can be provided as so-called package software.
  • examples of the removable recording medium 111 include a flexible disk, a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto Optical) disk, a DVD (Digital Versatile Disc), a magnetic disk, and a semiconductor memory.
  • the program can be downloaded to the computer via a communication network or a broadcasting network and installed on the built-in hard disk 105. That is, for example, the program transfers wirelessly from a download site to a computer via an artificial satellite for digital satellite broadcasting, or transfers to a computer by wire via a network such as LAN (Local Area Network) or the Internet. be able to.
  • LAN Local Area Network
  • the computer has a built-in CPU (Central Processing Unit) 102, and the input / output interface 110 is connected to the CPU 102 via the bus 101.
  • CPU Central Processing Unit
  • the CPU 102 executes a program stored in the ROM (Read Only Memory) 103 accordingly. .. Alternatively, the CPU 102 loads the program stored in the hard disk 105 into the RAM (Random Access Memory) 104 and executes it.
  • ROM Read Only Memory
  • the CPU 102 performs processing according to the above-mentioned flowchart or processing performed according to the above-mentioned block diagram configuration. Then, the CPU 102 outputs the processing result from the output unit 106, transmits it from the communication unit 108, or records it on the hard disk 105, if necessary, via, for example, the input / output interface 110.
  • the input unit 107 is composed of a keyboard, a mouse, a microphone, and the like. Further, the output unit 106 is composed of an LCD (Liquid Crystal Display), a speaker, or the like.
  • LCD Liquid Crystal Display
  • the processing performed by the computer according to the program does not necessarily have to be performed in chronological order in the order described as the flowchart. That is, the processing performed by the computer according to the program also includes processing executed in parallel or individually (for example, parallel processing or processing by an object).
  • the program may be processed by one computer (processor) or may be distributed by a plurality of computers. Further, the program may be transferred to a distant computer and executed.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and a device in which a plurality of modules are housed in one housing are both systems. ..
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configurations described above as a plurality of devices (or processing units) may be collectively configured as one device (or processing unit).
  • a configuration other than the above may be added to the configuration of each device (or each processing unit).
  • a part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit). ..
  • this technology can have a cloud computing configuration in which one function is shared by a plurality of devices via a network and jointly processed.
  • the above-mentioned program can be executed in any device.
  • the device may have necessary functions (functional blocks, etc.) so that necessary information can be obtained.
  • each step described in the above flowchart can be executed by one device or can be shared and executed by a plurality of devices.
  • the plurality of processes included in the one step can be executed by one device or shared by a plurality of devices.
  • a plurality of processes included in one step can be executed as processes of a plurality of steps.
  • the processes described as a plurality of steps can be collectively executed as one step.
  • the processing of the steps for describing the program may be executed in chronological order according to the order described in this specification, or may be called in parallel or called. It may be executed individually at a necessary timing such as time. That is, as long as there is no contradiction, the processing of each step may be executed in an order different from the above-mentioned order. Further, the processing of the step for writing this program may be executed in parallel with the processing of another program, or may be executed in combination with the processing of another program.
  • the present technology can also have the following configurations.
  • (1) When performing inter-component prediction that makes a prediction between a pixel of a brightness component and a pixel of a color difference component for a current prediction block to be coded, the inter-component prediction is performed according to the parameters of the current prediction block.
  • Intra-prediction unit that performs inter-component prediction and generates predicted pixels using reference pixels whose reference pixel pattern, which is the pattern of reference pixels to be referred to when performing
  • An image processing device including a coding unit that encodes a current pixel in the current prediction block using the prediction pixel generated by the intra prediction unit.
  • the reference pixel pattern is the number of the reference pixels.
  • the image processing apparatus wherein the intra prediction unit performs inter-component prediction using reference pixels in which the number of reference pixels is changed according to the parameters of the current prediction block.
  • the parameter is the block size of the current prediction block.
  • the parameter is the shape of the current prediction block.
  • the reference pixel pattern is the position of the reference pixel.
  • the image processing apparatus performs inter-component prediction using reference pixels whose positions of reference pixels are changed according to the parameters of the current prediction block.
  • the parameter is the block size of the current prediction block.
  • the image processing apparatus performs inter-component prediction using reference pixels whose positions of reference pixels are changed according to the block size of the current prediction block.
  • the parameter is the shape of the current prediction block.
  • the intra prediction unit performs inter-component prediction using reference pixels whose positions of reference pixels are changed according to the shape of the current prediction block.
  • the inter-component prediction is CCLM (Cross-Component Linear Model) or MMLM (Multi-Model-component Linear Model).
  • the inter-component prediction is performed according to the parameters of the current prediction block.
  • An image processing method including a coding step of encoding a current pixel in the current prediction block using the predicted pixel generated in the intra prediction step.
  • the inter-component prediction is performed according to the parameters of the current prediction block.
  • Intra-prediction unit that performs inter-component prediction and generates predicted pixels using reference pixels whose reference pixel pattern, which is the pattern of reference pixels to be referred to when performing
  • An image processing device including a decoding unit that decodes the current pixel in the current prediction block using the prediction pixel generated by the intra prediction unit.
  • the inter-component prediction is performed according to the parameters of the current prediction block.
  • An image processing method including a decoding step of decoding a current pixel in the current prediction block using the predicted pixel generated in the intra prediction step.
  • 11 image processing system 12 image encoding device, 13 image decoding device, 14 intra prediction unit, 15 coding unit, 16 intra prediction unit, 17 decoding unit, 21 CCLM prediction unit, 22 brightness signal intra prediction unit, 23 brightness information Downsampling section, 24 color difference signal intra prediction section

Landscapes

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

Abstract

本開示は、より適切に画質の向上を図ることができるようにする画像処理装置および画像処理方法に関する。 符号化処理の対象となるカレント予測ブロックに対して輝度成分の画素と色差成分の画素との間で予測を行う成分間予測を行う際に、カレント予測ブロックのパラメータに応じて成分間予測を行う際に参照する参照画素のパターンである参照画素パターンが変更された参照画素を用いて、成分間予測が行われて予測画素が生成され、その生成された予測画素を用いて、カレント予測ブロック内のカレント画素が符号化される。本技術は、例えば、CCLMまたはMMLMを用いたイントラ予測を行う画像処理システムに適用できる。

Description

画像処理装置および画像処理方法
 本開示は、画像処理装置および画像処理方法に関し、特に、より適切に画質の向上を図ることができるようにした画像処理装置および画像処理方法に関する。
 近年、画像情報をディジタルで扱い、情報を高能率で伝送・蓄積し、画像情報固有の冗長性を利用した離散コサイン変換といった動き補償や直交変換などにより画像を圧縮する符号化方式を採用して画像を圧縮・符号化する装置が普及している。
 この符号化方法には、例えば、MPEG(Moving Picture Experts Group)、H.264およびMPEG-4 Part 10(以下、H.264/AVC(Advanced Video Coding)と称する)、並びに、H.265およびMPEG-H Part 2(以下、H.265/HEVC(High Efficiency Video Coding)と称する)が含まれる。
 最近では、H.265/HEVCよりもエンコード効率をさらに向上させる目的で、ITU-TおよびISO/IECの共同標準化グループであるJCTVC(Joint Collaboration Team-Video Coding)が、VVC(Versatile Video Coding)と呼ばれるエンコード方式の標準化を進めている(実施形態:サポートも参照)。
 例えば、VVCでは、非特許文献1に開示されているように、コンポーネント間の冗長性をなくすために、CCLM(Cross-Component Linear Model)予測モードを使って、Chromaのサンプルを、同一CU(Coding Unit)を再構築したLumaのサンプルから予測する技術が採用されている。
JVET-M1001 m46627 Versatile Video Coding (Draft 4)
 ところで、従来のVVCにおけるCCLMの計算では、参照画素として4点の画素のみを使用しており、そのためノイズの耐久性に懸念があった。特に、サイズが大きいブロックの場合、離れた4点を使用してCCLMの計算を行っても十分な精度が得られないことが懸念される。一方で、これまでのCCLMの仕様の改善により、全点のサーチを4点にしたことにより処理数の大幅な低減を図ることができていた。
 そこで、ハードウェア設計においては、全てのブロックが最小サイズのブロックである場合をワーストケースのスループットとして想定した上で、CCLMの計算におけるノイズの耐久性や精度などの向上を図ることによって、より適切に画質を向上させることが求められている。
 本開示は、このような状況に鑑みてなされたものであり、より適切に画質の向上を図ることができるようにするものである。
 本開示の第1の側面の画像処理装置は、符号化処理の対象となるカレント予測ブロックに対して輝度成分の画素と色差成分の画素との間で予測を行う成分間予測を行う際に、前記カレント予測ブロックのパラメータに応じて前記成分間予測を行う際に参照する参照画素のパターンである参照画素パターンが変更された参照画素を用いて、前記成分間予測を行って予測画素を生成するイントラ予測部と、前記イントラ予測部により生成された前記予測画素を用いて、前記カレント予測ブロック内のカレント画素を符号化する符号化部とを備える。
 本開示の第1の側面の画像処理方法は、符号化処理の対象となるカレント予測ブロックに対して輝度成分の画素と色差成分の画素との間で予測を行う成分間予測を行う際に、前記カレント予測ブロックのパラメータに応じて前記成分間予測を行う際に参照する参照画素のパターンである参照画素パターンが変更された参照画素を用いて、前記成分間予測を行って予測画素を生成するイントラ予測工程と、前記イントラ予測工程において生成された前記予測画素を用いて、前記カレント予測ブロック内のカレント画素を符号化する符号化工程とを含む。
 本開示の第1の側面においては、符号化処理の対象となるカレント予測ブロックに対して輝度成分の画素と色差成分の画素との間で予測を行う成分間予測を行う際に、カレント予測ブロックのパラメータに応じて成分間予測を行う際に参照する参照画素のパターンである参照画素パターンが変更された参照画素を用いて、成分間予測が行われて予測画素が生成され、その生成された予測画素を用いて、カレント予測ブロック内のカレント画素が符号化される。
 本開示の第2の側面の画像処理装置は、符号化処理の対象となるカレント予測ブロックに対して輝度成分の画素と色差成分の画素との間で予測を行う成分間予測を行う際に、前記カレント予測ブロックのパラメータに応じて前記成分間予測を行う際に参照する参照画素のパターンである参照画素パターンが変更された参照画素を用いて、前記成分間予測を行って予測画素を生成するイントラ予測部と、前記イントラ予測部により生成された前記予測画素を用いて、前記カレント予測ブロック内のカレント画素を復号する復号部とを備える。
 本開示の第2の側面の画像処理方法は、復号処理の対象となるカレント予測ブロックに対して輝度成分の画素と色差成分の画素との間で予測を行う成分間予測を行う際に、前記カレント予測ブロックのパラメータに応じて前記成分間予測を行う際に参照する参照画素のパターンである参照画素パターンが変更された参照画素を用いて、前記成分間予測を行って予測画素を生成するイントラ予測工程と、前記イントラ予測工程において生成された前記予測画素を用いて、前記カレント予測ブロック内のカレント画素を復号する復号工程とを含む。
 本開示の第2の側面においては、復号処理の対象となるカレント予測ブロックに対して輝度成分の画素と色差成分の画素との間で予測を行う成分間予測を行う際に、カレント予測ブロックのパラメータに応じて成分間予測を行う際に参照する参照画素のパターンである参照画素パターンが変更された参照画素を用いて、成分間予測が行われて予測画素が生成され、その生成された予測画素を用いて、カレント予測ブロック内のカレント画素が復号される。
参照文献を示す図である。 本技術を適用した画像処理システムの一実施の形態の構成例を示すブロック図である。 参照画素の画素数を変更する画像処理の第1の実施の形態について説明する図である。 従来の固定的な参照画素の画素数の一例を示す図である。 カレント予測ブロックのブロックサイズに応じて参照画素の画素数を増やす一例を示す図である。 LM mode 8xHの場合において参照画素の画素数を等間隔に増やす適用例を示す図である。 LM mode 32xHの場合において参照画素の画素数を等間隔に増やす適用例を示す図である。 LM_A mode 16xHの場合において参照画素の画素数を等間隔に増やす適用例を示す図である。 パラメータαおよびパラメータβの導出について説明する図である。 LM mode 16xHの場合における第1の処理例を示す図である。 LM mode 32xHの場合における第1の処理例を示す図である。 LM_A mode 16xHの場合における第2の処理例を示す図である。 LM_A mode 32xHの場合における第2の処理例を示す図である。 LM_A mode 16xHの場合における第3の処理例を示す図である。 LM_A mode 32xHの場合における第3の処理例を示す図である。 LM_A mode 16xHの場合における第4の処理例を示す図である。 LM_A mode 32xHの場合における第4の処理例を示す図である。 最大値および最小値を求める処理に必要な演算数について説明する図である。 ソートの比較演算によって、パラメータαおよびパラメータβを求める結果が異なってくる例について説明する図である。 初期値の設定によってソートの順番が異なる例について説明する図である。 Chromaのブロックサイズが最小サイズの2×2である例を示す図である。 最大値と最小値を算出するときのブロックあたりの演算数を示す図である。 参照画素の画素数を増やすのに伴って増加する演算数を示す図である。 Chromaのブロックサイズが4以上であるときの演算数を示す図である。 参照画素の画素数を変更する画像処理の第2の実施の形態について説明する図である。 CCLM予測部の構成例を示すブロック図である。 CCLM予測部において実行される画像処理の第1の実施の形態について説明するフローチャートである。 パラメータα算出処理を説明するフローチャートである。 パラメータβ算出処理を説明するフローチャートである。 CCLM予測部において実行される画像処理の第2の実施の形態について説明するフローチャートである。 本技術を適用したコンピュータベースのシステムの一実施の形態の構成例を示すブロック図である。 画像符号化装置の一実施の形態の構成例を示すブロック図である。 符号化処理を説明するフローチャートである。 画像復号装置の一実施の形態の構成例を示すブロック図である。 復号処理を説明するフローチャートである。 本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
 <技術内容・技術用語をサポートする文献等>
 本明細書で開示される範囲は、実施例の内容に限定されるものではなく、出願当時において公知となっている図1に示す参照文献REF1~REF6の内容も、参照により本明細書に組み込まれる。
 つまり、参照文献REF1~REF6に記載されている内容もサポート要件について判断する際の根拠となる。また、例えば、パース(Parsing)、シンタックス(Syntax)、セマンティクス(Semantics)等の技術用語についても同様に、発明の詳細な説明において直接的に定義されていない場合でも、本開示の範囲内であり、請求の範囲のサポート要件を満たすものとする。
 <用語>
 本願では、以下の用語を、以下のように定義する。
    <ブロック>
 画像(ピクチャ)の部分領域や処理単位として説明に用いる「ブロック」(処理部を示すブロックではない)は、特に言及しない限り、ピクチャ内の任意の部分領域を示し、その大きさ、形状、および特性等は限定されない。例えば、「ブロック」には、TB(Transform Block)、TU(Transform Unit)、PB(Prediction Block)、PU(Prediction Unit)、SCU(Smallest Coding Unit)、CU(Coding Unit)、LCU(Largest Coding Unit)、CTB(Coding TreeBlock)、CTU(Coding Tree Unit)、変換ブロック、サブブロック、マクロブロック、タイル、またはスライス等、任意の部分領域(処理単位)が含まれるものとする。
    <ブロックサイズの指定>
 また、このようなブロックのサイズを指定するに当たって、直接的にブロックサイズを指定するだけでなく、間接的にブロックサイズを指定するようにしてもよい。例えばサイズを識別する識別情報を用いてブロックサイズを指定するようにしてもよい。また、例えば、基準となるブロック(例えばLCUやSCU等)のサイズとの比または差分によってブロックサイズを指定するようにしてもよい。例えば、シンタックス要素等としてブロックサイズを指定する情報を伝送する場合に、その情報として、上述のような間接的にサイズを指定する情報を用いるようにしてもよい。このようにすることにより、その情報の情報量を低減させることができ、符号化効率を向上させることができる場合もある。また、このブロックサイズの指定には、ブロックサイズの範囲の指定(例えば、許容されるブロックサイズの範囲の指定等)も含む。
    <情報・処理の単位>
 各種情報が設定されるデータ単位や、各種処理が対象とするデータ単位は、それぞれ任意であり上述した例に限定されない。例えば、これらの情報や処理が、それぞれ、TU(Transform Unit)、TB(Transform Block)、PU(Prediction Unit)、PB(Prediction Block)、CU(Coding Unit)、LCU(Largest Coding Unit)、サブブロック、ブロック、タイル、スライス、ピクチャ、シーケンス、またはコンポーネント毎に設定されるようにしてもよいし、それらのデータ単位のデータを対象とするようにしてもよい。もちろん、このデータ単位は、情報や処理毎に設定され得るものであり、全ての情報や処理のデータ単位が統一されている必要はない。なお、これらの情報の格納場所は任意であり、上述したデータ単位のヘッダやパラメータセット等に格納されるようにしてもよい。また、複数個所に格納されるようにしてもよい。
    <制御情報>
 本技術に関する制御情報を符号化側から復号側に伝送するようにしてもよい。例えば、上述した本技術を適用することを許可(または禁止)するか否かを制御する制御情報(例えばenabled_flag)を伝送するようにしてもよい。また、例えば、上述した本技術を適用する対象(または適用しない対象)を示す制御情報を伝送するようにしてもよい。例えば、本技術を適用する(または、適用を許可若しくは禁止する)ブロックサイズ(上限若しくは下限、またはその両方)、フレーム、コンポーネント、またはレイヤ等を指定する制御情報を伝送するようにしてもよい。
    <フラグ>
 なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
    <メタデータを関連付ける>
 また、符号化データ(ビットストリーム)に関する各種情報(メタデータ等)は、符号化データに関連づけられていれば、どのような形態で伝送または記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(または同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、またはフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
 なお、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。また、本明細書において、符号化とは、画像をビットストリームに変換する全体の処理だけではなく、一部の処理も含む。例えば、予測処理、直交変換、量子化、算術符号化等を包括した処理を含むだけではなく、量子化と算術符号化とを総称した処理、予測処理と量子化と算術符号化とを包括した処理、などを含む。同様に、復号とは、ビットストリームを画像に変換する全体の処理だけではなく、一部の処理も含む。例えば、逆算術復号、逆量子化、逆直交変換、予測処理等を包括した処理を含むだけではなく、逆算術復号と逆量子化とを包括した処理、逆算術復号と逆量子化と予測処理とを包括した処理、などを含む。
 さらに、「隣接する」とは、カレント画素に対して1画素分(1ライン分)隣接するだけでなく、複数画素分(複数ライン分)隣接する位置にある画素も含む。また、隣接ブロックとは、複数ブロック分(複数ブロックライン分)隣接する位置にあるブロックも含む。さらに、隣接ブロックは、カレントブロックに対して直接接していなくてもよく、カレントブロックの近傍に位置するブロックも含む。
 予測ブロックとは、イントラ予測を行う際の処理単位となるブロックを意味し、予測ブロック内のサブブロックも含む。また、直交変換を行う際の処理単位となる直交変換ブロックや符号化処理を行う際の処理単位となる符号化ブロックと処理単位が統一されれている場合には、予測ブロックと直交変換ブロック・符号化ブロックと同じブロックを意味する。
 イントラ予測モードとは、イントラ予測を行う際のモード番号、モード番号のインデックス、予測ブロックのブロックサイズ、予測ブロック内の処理単位となるサブブロックのサイズなど、イントラ予測モードを導出する際に参照する変数(パラメータ)を包括して意味する。成分間イントラ予測モード(CCLM(Cross-Component Linear Model)、MMLM(Multi-Model LM)など)とは、成分間イントラ予測を行う際のモード番号、モード番号のインデックス、予測ブロックのブロックサイズ、予測ブロック内の処理単位となるサブブロックのサイズなど、成分間イントラ予測モードを導出する際に参照する変数(パラメータ)を包括して意味する。
 予測ブロックのパラメータとは、例えば、予測ブロックのブロックサイズ、予測ブロックの長辺の長さ、予測ブロックの短辺の長さ、予測ブロックの形状(正方形、長方形など)、予測ブロックの面積、など、予測ブロックの特性を示すパラメータを総称したものである。参照画素パターンとは、参照画素の数、参照画素の位置、参照画素の状態(オリジナル画素、ダウンサンプルされた画素、など)など、参照画素の状態を総称したものである。
 本開示において、本技術を適用するブロックサイズを識別する識別データを、ビットストリームのシンタックスとして設定することもできる。この場合、デコーダでは識別データをパース+参照することにより、より効率的に処理を行うことが可能となる。
 本開示において、本技術を適用する複数のパターンを識別する識別データを、ビットストリームのシンタックスとして設定することもできる。この場合、デコーダでは識別データをパース+参照することにより、より効率的に処理を行うことが可能となる。
 以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
 <画像処理システムの構成例>
 図2は、本技術を適用した画像処理システムの一実施の形態の構成例を示すブロック図である。
 図2に示すように、画像処理システム11は、画像符号化装置12および画像復号装置13を備えて構成される。例えば、画像処理システム11では、画像符号化装置12に入力された画像が符号化されて、その符号化により得られるビットストリームが画像復号装置13に伝送され、画像復号装置13においてビットストリームから復号された復号画像が出力される。
 画像符号化装置12は、イントラ予測部14、および符号化部15を有しており、画像復号装置13は、イントラ予測部16、および復号部17を有している。
 イントラ予測部14は、符号化処理の対象となるカレント予測ブロックに対してCCLMまたはMMLMを行う際に、カレント予測ブロックのパラメータに応じて参照画素パターンが変更された参照画素を用いて、CCLMまたはMMLMを行って予測画素を生成する。
 符号化部15は、イントラ予測部14により生成された予測画素を用いて、カレント予測ブロック内のカレント画素を符号化する。
 イントラ予測部16は、復号化処理の対象となるカレント予測ブロックに対してCCLMまたはMMLMを行う際に、カレント予測ブロックのパラメータに応じて参照画素パターンが変更された参照画素を用いて、CCLMまたはMMLMを行って予測画素を生成する。
 復号部17は、イントラ予測部16により生成された予測画素を用いて、カレント予測ブロック内のカレント画素を復号する。
 このように、画像処理システム11では、CCLMまたはMMLMを行う際に、参照画素パターンが、カレント予測ブロックのパラメータに応じて変更される。ここで、参照画素パターンには、参照ポイント数(参照画素数)and/or参照ポイント間隔(参照画素の間隔)and/or参照画素位置(参照画素の位置)が用いられ、カレント予測ブロックのパラメータには、ブロックサイズand/orブロック形状が用いられる。
 例えば、参照画素パターンが参照画素の画素数である場合、イントラ予測部14および16それぞれは、カレント予測ブロックのパラメータ(例えば、カレント予測ブロックのブロックサイズや形状など)に応じて参照画素の画素数が変更された参照画素を用いてCCLMまたはMMLMを行う。同様に、参照画素パターンが参照画素の位置である場合、イントラ予測部14および16それぞれは、カレント予測ブロックのパラメータ(例えば、カレント予測ブロックのブロックサイズや形状など)に応じて参照画素の位置が変更された参照画素を用いてCCLMまたはMMLMを行う。
 さらに、画像処理システム11では、画像符号化装置12および画像復号装置13の間で予め決められた規則(例えば、予測パラメータを導出する導出ルール)に基づいて処理を行うことで、双方で同一の参照画素パターンを用いたCCLMまたはMMLMを行うことができる。
 従って、このように構成される画像処理システム11は、従来よりも適切な参照画素パターン(例えば、従来よりも多くの参照画素の画素数)を用いることによって、CCLMの計算におけるノイズの耐久性や精度などの向上を図ることができる。このとき、画像処理システム11は、後述するように従来手法から処理スループットが超えないようにすることで、より適切に、例えば、処理数の増加を抑制しつつ、画質を向上させることができる。
 <画像処理の第1の実施の形態>
 図3乃至図25を参照して、画像処理システム11で行われる画像処理の第1の実施の形態について説明する。
 図3には、画像処理の第1の実施の形態の一例として、参照画素パターンとして参照画素の画素数を変更する処理例が示されている。図3に示す例では、二重線の丸印が参照画素を表わしており、参照画素の画素数が4点から8点に変更されている。
 このとき、画像処理システム11では、例えば、カレント予測ブロックのブロックサイズをパラメータとして、そのブロックサイズに応じて参照画素の画素数を増やすように画像処理が行われる。その際、従来手法から処理スループットを超えることなく、符号化効率を改善するように参照画素の画素数が変更される。即ち、カレント予測ブロックが全て最少のブロックサイズであるときに参照画素の画素数が4点であるときのスループットを超えない範囲で、参照画素の画素数を増やすように画像処理を行う必要がある。
 例えば、従来、図4に示すように、全てのブロックサイズにおいて参照画素の画素数は4点で固定的とされていた。
 これに対し、画像処理システム11では、図5に示すように、カレント予測ブロックのブロックサイズがLuma 64およびChroma 32のサイズであるときに、参照画素の画素数を4点から8点に増やして画像処理が行われる。
 図6乃至図8を参照して、参照画素の画素数を増やす方法の一例について説明する。なお、図6乃至図8では、ハッチングが付されているブロックが符号化対象ブロックを表わしており、ハッチングが付されていないブロックが符号化対象外ブロックを表わしている。
 以下の説明では、左側および上側の参照画素を使用するCCLMをLM modeと称し、上側の参照画素を使用するCCLMをLM_A modeと称し、左側の参照画素を使用するCCLMをLM_L modeと称する。また、例えば、縦のサイズが8未満であって、横のサイズが8である場合のLM modeをLM mode 8xHと称し、横のサイズが16である場合のLM modeをLM mode 16xHと称し、横のサイズが32である場合のLM modeをLM mode 32xHと称する。なお、それぞれのサイズにおいて、LM_A modeおよびLM_L modeについても同様に称する。
 図6には、LM mode 8xHの場合に、参照画素の画素数を等間隔に増やす方法を適用した第1の適用例および第2の適用例が示されている。また、左側および上側それぞれのサイズに適用されている。
 図示するように、縦のサイズが8未満であって、横のサイズが8である場合に、サイズ8以上のときに参照画素の画素数が、2点から4点に等間隔で増やされている。また、第1の適用例では、参照画素が偶数番目の画素列に配置されており、第2の適用例では、参照画素が奇数番目の画素列に配置されている。
 図7には、LM mode 32xHの場合に、参照画素の画素数を等間隔に増やす方法を適用した第1の適用例および第2の適用例が示されている。また、左側および上側それぞれのサイズに適用されている。
 図示するように、参照画素の画素数が、2点から4点に等間隔で増やされている。また、第1の適用例では、参照画素が偶数番目の符号化対象ブロックの1番目の画素列に配置されており、第2の適用例では、参照画素が奇数番目の符号化対象ブロックの1番目の画素列に配置されている。
 図8には、LM_A mode 16xHの場合に、参照画素の画素数を等間隔に増やす方法を適用した第1の適用例および第2の適用例が示されている。
 従来方式では、符号化対象ブロックの外に延長して等間隔の参照画素を使用しており、本適用例でも同様に、符号化対象ブロックの外に延長するように参照画素の画素数が増やされる。また、第1の適用例では、参照画素が各符号化対象ブロックの3番目の画素列に配置されており、第2の適用例では、参照画素が各符号化対象ブロックの1番目の画素列に配置されている。
 ここで、上述した参照文献REF1に開示されているように、CCLMでは、Chroma予測情報predc(i,j)は、次の式(1)に従って、リコンストラクトされたLumaをダウンサンプリングした情報rec’L (i,j)、パラメータα、およびパラメータβを用いて求められる。
Figure JPOXMLDOC01-appb-M000001
 さらに、参照文献REF1には、パラメータαおよびパラメータβは、次の式(2)に従って、カレント予測ブロックに隣接する再構築したLumaとChromaとの回帰誤差が最小になるような値を導出することが開示されている。
Figure JPOXMLDOC01-appb-M000002
 これに対し、参照文献REF2では、次の式(3)に示すように、Lumaの最大値x、Lumaの最小値x、Chromaの最大値y、およびChromaの最小値yを用いて、パラメータαとパラメータβを導出することが提案されている。
Figure JPOXMLDOC01-appb-M000003
 例えば、図9に示すように、横軸をLuma値とし、縦軸をChroma値としたときに、この式(3)に従って、最大値および最小値を通る直線の傾きがパラメータαとなり、その直線と縦軸との交点がパラメータβとなる。
 ここで、最大値および最小値を導出する方式としては、参照画素の画素数が4点以上であるため、次の第1乃至第3の導出方式を採用することができる。
 第1の導出方式は、1番目に大きな値と2番目に大きな値との平均を最大値として導出し、1番目に小さな値と2番目に小さな値との平均を最小値として導出する方式(従来方式)である。
 例えば、参照画素の画素数が4点である場合に、それらの4点の値が小さい方から大きな方に昇順(または降順)に「0,1,2,3」と並んでいる例について説明する。このとき、1番目に大きな値「3」と2番目に大きな値「2」との平均を最大値として導出し、1番目に小さな値「0」と2番目に小さな値「1」との平均を最大値として導出する。
 また、参照画素の画素数が6点である場合に、それらの6点の値が小さい方から大きな方に昇順(または降順)に「0,1,2,3,4,5」と並んでいる例について説明する。このとき、1番目に大きな値「5」と2番目に大きな値「4」との平均を最大値として導出し、1番目に小さな値「0」と2番目に小さな値「1」との平均を最小値として導出する。
 第2の導出方式は、上位グループのうちの最も大きな値と最も小さな値との平均を最大値として導出し、下位グループのうちの最も大きな値と最も小さな値との平均を最小値として導出する方式である。
 例えば、参照画素の画素数が6点である場合に、それらの6点の値が小さい方から大きな方に昇順(または降順)に「0,1,2,3,4,5」と並んでいる例について説明する。このとき、それらを半分ずつのグループに分けて、大きい方となる上位グループ「3,4,5」のうちの最も大きな値「5」と最も小さな値「3」との平均を最大値として導出する。また、小さい方となる下位グループ「0,1,2」のうちの最も大きな値「2」と最も小さな値「0」との平均を最小値として導出する。
 第3の導出方式は、上位グループの平均を最大値として導出し、下位グループの平均を最小値として導出する方式である。
 例えば、参照画素の画素数が6点である場合に、それらの6点の値が小さい方から大きな方に昇順(または降順)に「0,1,2,3,4,5」と並んでいる例について説明する。このとき、それらを半分ずつのグループに分けて、大きい方となる上位グループ「3,4,5」の平均を最大値として導出する。また、小さい方となる下位グループ「0,1,2」の平均を最小値として導出する。
 <CCLMモードによって処理を変更する処理例>
 図10乃至図17を参照して、参照画素の画素数を増やす処理をCCLMモードによって変更する第1乃至第4の処理例について説明する。CCLMモードには、左側および上側の参照画素を使用するLM mode、上側の参照画素を使用するLM_A mode、および左側の参照画素を使用するLM_L modeがある。なお、図10乃至図17では、ハッチングが付されているブロックが符号化対象ブロックを表わしており、ハッチングが付されていないブロックが符号化対象外ブロックを表わしている。
 第1の処理例は、LM modeで、サイズ16のとき参照画素の画素数を2倍とし、サイズ32のとき参照画素の画素数を4倍とする処理が行われる。そして、第1の処理例では、LM_A modeおよびLM_L modeを、LM modeと処理を別にする。
 図10には、LM mode 16xHの場合に、参照画素の画素数を2倍とする第1の処理例を適用して、参照画素の画素数を2点から4点に増やした適用例が示されている。図11には、LM mode 32xHの場合に、参照画素の画素数を4倍とする第1の処理例を適用して、参照画素の画素数を2点から8点に増やした適用例が示されている。
 第2の処理例は、LM_A modeで、サイズ16のとき参照画素の画素数を2倍とし、サイズ32のとき参照画素の画素数を4倍とする処理が行われる。そして、第2の処理例では、LM_A modeおよびLM_L modeを、LM modeと処理を同じ方式にする。
 図12には、LM_A mode 16xHの場合に、参照画素の画素数を2倍とし、LM modeと同じ方式の処理(LM_L modeも同様)が行われる第2の処理例を適用して、参照画素の画素数を4点から8点に増やした適用例が示されている。図13には、LM_A mode 32xHの場合に、参照画素の画素数を4倍とし、LM modeと同じ方式の処理(LM_L modeも同様)が行われる第2の処理例を適用して、参照画素の画素数を4点から16点に増やした適用例が示されている。
 第3の処理例は、LM_A modeで、サイズ16のとき参照画素の画素数を1倍とし、サイズ32のとき参照画素の画素数を2倍とする処理が行われる。そして、第3の処理例では、LM_A modeおよびLM_L modeを、LM modeと処理を異なる方式にする。
 図14には、LM_A mode 16xHの場合に、参照画素の画素数を1倍とし、LM modeと異なる方式の処理(LM_L modeも同様)が行われる第3の処理例を適用して、参照画素の画素数が4点のままとした適用例が示されている。図15には、LM_A mode 32xHの場合に、参照画素の画素数を2倍とし、LM modeと異なる方式の処理(LM_L modeも同様)が行われる第3の処理例を適用して、参照画素の画素数を4点から8点に増やした適用例が示されている。
 第4の処理例は、LM_A modeで、サイズ16のとき参照画素の画素数を符号化対象ブロックで2倍とするとともに符号化対象外ブロックで1倍とし、サイズ32のとき参照画素の画素数を符号化対象ブロック4倍とするとともに符号化対象外ブロックで2倍とする処理が行われる。そして、第4の処理例では、LM_A modeおよびLM_L modeを、LM modeと処理を異なる方式にする。
 図16には、LM_A mode 16xHの場合に、参照画素の画素数を符号化対象ブロックで2倍とするとともに符号化対象外ブロックで1倍とし、LM modeと異なる方式の処理(LM_L modeも同様)が行われる第4の処理例を適用して、参照画素の画素数を4点から6点に増やした適用例が示されている。図17には、LM_A mode 32xHの場合に、参照画素の画素数を符号化対象ブロック4倍とするとともに符号化対象外ブロックで2倍とし、LM modeと異なる方式の処理(LM_L modeも同様)が行われる第4の処理例を適用して、参照画素の画素数を4点から12点に増やした適用例が示されている。
 次に、図18は、最大値および最小値を求める処理に必要な演算数について説明する図である。
 例えば、図18に示すように、参照画素の画素数が4の倍数のときには組み合わせの演算数は4となり、参照画素の画素数が6の倍数のときには組み合わせの演算数は11となる。そして、それぞれの演算数に、1番目および2番目に大きな値の2個と1番目および2番目に小さな値の2個との入れ替え(最終スワップ)を行う演算数(4×2)を加算することで、処理に必要な演算数が求められる。
 即ち、参照画素の画素数が8点のときは、4点の参照画素の組み合わせを2回演算して、最終スワップの演算を加算するので、演算数は16(=4×2+4×2)となる。また、参照画素の画素数が16点のときは、8点の参照画素の組み合わせを2回演算して、最終スワップの演算を加算するので、演算数は40(=16×2+4×2)となる。また、参照画素の画素数が32点のときは、16点の参照画素の組み合わせを2回演算して、最終スワップの演算を加算するので、演算数は88(=40×2+4×2)となる。また、参照画素の画素数が64点のときは、32点の参照画素の組み合わせを2回演算して、最終スワップの演算を加算するので、演算数は184(=88×2+4×2)となる。
 次に、図19および図20を参照して、ソート方法の規定について説明する。
 例えば、CCLMの演算では、最大値および最小値が、それぞれ複数個の値の平均から求められる。そして、最大値と最小値を算出するのに用いる値をソートするソート方法は、画像符号化装置12および画像復号装置13の間で決められた規則に基づいて行う必要がある。
 図19は、既存技術の方法の例を説明する図である。既存技術では、4点の参照画素の中から、1番目に大きなLuma値の参照画素と2番目に大きなLuma値の参照画素との平均を求めて最大値として算出し、1番目に小さなLuma値の参照画素と2番目に小さなLuma値の参照画素との平均を求めて最小値として算出する。
 ここで、図19のAに示すように、B点およびC点の参照画素のLuma値が同じである場合について説明を行う。この場合、ソートの比較演算の順番によって、最大値Maxを導出するための2点の参照画素(1番目に大きなLuma値および2番目に大きなLuma値)と、最小値Minを導出するための2点の参照画素(1番目に小さなLuma値および2番目に小さなLuma値)との組み合わせが異なってくる。
 例えば、図19のBには、B点およびD点の2点の参照画素を用いて最大値Maxを導出し、A点およびC点の2点の参照画素を用いて最小値Minを導出して、パラメータαおよびパラメータβを算出している例が示されている。一方、図19のCには、C点およびD点の2点の参照画素を用いて最大値Maxを導出し、A点およびB点の2点の参照画素を用いて最小値Minを導出して、パラメータαおよびパラメータβを算出している例が示されている。このように、ソートの比較演算によって、パラメータαおよびパラメータβを求める結果が異なってしまう場合が発生する。
 さらに、ソート演算の順番を正確に決めることは、画像符号化装置12および画像復号装置13の間で適合をとるためだけでなく、例えば、CCLMの性能にも関係する。よって、参照画素の画素数が増えたときも、ソートの順番を予め決めておく必要がある。
 また、最大値および最小値を導出する導出方式のうち、上述した第1の導出方式(従来方式)を生かした方法でスワップの組み合わせによるものでは、初期値の設定によってソートの順番が異なるものとなる。
 例えば、図20のAおよびBに示す例では、1番目にA点とB点、2番目にC点とD点、3番目にA点とD点、4番目にB点とC点の順番でソートを行い、最終的に、A点およびB点の位置に最小の2個の値が入り、C点およびD点の位置に最大の2個の値が入ることになる。このとき、これらの4個の値がどの位置に入るかで結果が異なる。即ち、「0,1,1,2」というように「1」が2つある場合、どちらの「1」がB点とC点のいずれに入るかは、ソートの順番によって異なってしまう。
 このように、初期値の設定で、どの位置からスワップを開始するかと、ソートの方法で、ブロックの位置によって最大値と最小値になりやすいものが出てくる結果、CCLMの性能に影響を与えることになる。
 例えば、図20のCに示すように、Luma値が同一である参照画素が2個含まれている例において、図20のAに示す初期設定では、破線の丸印の位置の参照画素が最小値になりやすい。一方、図20のBに示す初期設定では、破線の丸印の位置の参照画素が最小値になりやすい。
 また、参照画素の画素数が増えたときも、ブロックのどの位置からソートを行うか規定する。例えば、図20のDには、離れた位置からソートを行う例が示されており、図20のEには、近くの位置からソートを行う例が示されている。
 また、図21に示すようにChromaのブロックサイズが最小サイズの2×2のとき、ハードウェア実装での処理量がワーストケースとなる。例えば、CCLMの処理は、左上のサンプルを参照するので並列処理は行えないため、このワーストケースがスループットの処理量として想定される。
 そして、本技術を適用することにより、大きいブロックのとき、参照画素の画素数を増やしたときの方における処理量が少なければ、参照画素の画素数を増やすことが許容されると考えられる。
 ここで、Lumaの最大値Xは、Lumaの最大値X とLumaの次の最大値X (2番目に大きな値)との平均で算出し、Lumaの最小値Xは、Lumaの最小値X とLumaの次の最小値X (2番目に小さな値)との平均で算出する、上述した第1の導出方式を採用するものとする。この場合、従来手法(1倍)のときは、次の式(4)に示すように、4点の並び替え(sort)を行って、平均(average)を求める処理(即ち、加算と1個のシフトが4回)が行われる(上述の参照文献REF4参照)。
Figure JPOXMLDOC01-appb-M000004
 そして、参照画素の画素数を2倍に増やすとき、および、4倍に増やすときは、同じブロックサイズあたりの処理数に換算する。
 図22には、上述した第1の導出方式(従来方式)で、最大値と最小値を算出するときのブロックあたりの演算数が示されている。
 図23には、size1×size2のブロックサイズのとき、32×32のブロックに最大で何個のブロックがあるかが示されている。例えば、32×32のブロックが全て8×8のサイズのときは、16個のブロックが入る。そして、参照画素の画素数を2倍(×2)にすることができるとき、最大で8点の参照画素を演算する演算数となる。また、参照画素の画素数を4倍(×4)にすることができるとき、最大で16点の参照画素を演算する演算数となる。よって、参照画素の画素数を2倍(×2)にするときの演算数は448(=16×28)となり、参照画素の画素数を4倍(×4)にするときの演算数は832(=16×52)となる。
 なお、図23では、破線で囲っている2×2のブロックで既存技術(×1)による演算数である4096を超えるケースは、4倍までの場合ないことが示されている。
 また、図24に示すように、Chromaのブロックサイズが今後4未満となることが禁止(図ではグレーアウト)されることを想定する。このとき、一転鎖線で囲っている4×4のブロックで既存技術(×1)による演算数である1024を超えるケースは、二点鎖線で囲っている2つ(4×4のブロックで2倍および4倍)のみである。
 このように、参照画素の画素数を増やしても、既存技術(×1)を超えない演算数であれば、参照画素の画素数を増やすことが許容される。
 なお、パラメータβの算出には、平均アルゴリズムを併用する。
 <画像処理の第2の実施の形態>
 図25を参照して、画像処理システム11で行われる画像処理の第2の実施の形態について説明する。
 図25には、画像処理の第2の実施の形態の一例として、参照画素パターンとして参照画素の画素数を変更する処理例が示されている。図25に示す例では、二重線の丸印が参照画素を表わしており、参照画素の画素数が4点から8点に変更されている。
 そして、画像処理の第2の実施では、ブロックが全て最小サイズのときに、参照画素の画素数として4点を使用したときのスループットを超えない範囲で、カレント予測ブロックのブロックサイズを分割したサブブロックを単位としてCCLMまたはMMLMを行う。例えば、カレント予測ブロックをサブブロックに分割した後に、それぞれのサブブロックで4つの参照画素を適用し、それぞれのサブブロックに対してパラメータαおよびパラメータβの算出を行う。
 さらに、画像処理システム11では、画像符号化装置12および画像復号装置13の間で、同一のサブブロックを単位としてCCLMまたはMMLMを行う。
 図25に示す例では、カレント予測ブロックが、破線で示す4つのサブブロックに分割されており、4組({α,β},{α,β},{α,β},{α,β})でパラメータαおよびパラメータβの算出を行う。
 例えば、パラメータαおよびパラメータβを求める一例として、次の式(5)に示すように、サブブロックごとに求められた4組の平均を用いることができる。
Figure JPOXMLDOC01-appb-M000005
 また、パラメータαおよびパラメータβを求める他の例として、次の式(6)に示すように、サブブロックごとに求められた4組を、重み定数(w00,w01,w02,w03,w10,w11,w12,w13)により重み付けした演算を用いることができる。
Figure JPOXMLDOC01-appb-M000006
 このような画像処理の第2の実施においても、参照画素の画素数を増やす方法は、上述した第1の実施と同様に任意に設定することができる。
 もちろん、画像処理システム11は、第1の実施の形態と第2の実施の形態とを組み合わせて用いてもよい。
 <画像処理システムの構成例>
 図26は、図2のイントラ予測部14およびイントラ予測部16として用いられるCCLM予測部21の構成例を示すブロック図である。
 図26に示すように、CCLM予測部21は、輝度信号イントラ予測部22、輝度情報ダウンサンプリング部23、および色差信号イントラ予測部24を備えて構成される。また、CCLM予測部21には、参照画素(リコンストラクトされたLuma情報RecL、リコンストラクトされたChroma情報RecC)およびイントラ予測パラメータが入力され、予測画像がCCLM予測部21から出力される。
 輝度信号イントラ予測部22は、リコンストラクトされたLuma情報RecLを参照画素として、イントラ予測パラメータに従った輝度信号イントラ予測を行って、その予測結果であるLuma予測情報Pred[x,y]を出力する。
 輝度情報ダウンサンプリング部23は、輝度信号イントラ予測部22を介して供給されるリコンストラクトされたLuma情報RecLをダウンサンプリングして、リコンストラクトされたLuma情報RecLをダウンサンプリングした情報Rec’Lを色差信号イントラ予測部24に供給する。例えば、4:2:0カラーフォーマットでは、リコンストラクトされた輝度情報は、色差信号にサイズと位相がマッチするようにダウンサンプリングされる。
 色差信号イントラ予測部24は、リコンストラクトされたChroma情報RecCを参照画素として、リコンストラクトされたLuma情報RecLをダウンサンプリングした情報Rec’Lから色差信号イントラ予測を行って、その予測結果であるChroma予測情報Pred[x,y]を出力する。
 そして、輝度信号イントラ予測部22から出力されるLuma予測情報Pred[x,y]および色差信号イントラ予測部24から出力されるChroma予測情報Pred[x,y]が、予測画像としてCCLM予測部21から出力される。
 ここで、CCLM予測部21においては、色差信号イントラ予測部24が、上述したように、カレント予測ブロックに対してCCLMまたはMMLMを行う際に、カレント予測ブロックのパラメータに応じて参照画素パターンが変更された参照画素を用いて、CCLMまたはMMLMを行って予測画素であるChroma予測情報Pred[x,y]を生成する。
 図27は、CCLM予測部21において実行される画像処理を説明するフローチャートである。なお、図27の画像処理は、上述した画像処理の第1の実施の形態に対応する処理であり、画像符号化装置12および画像復号装置13それぞれにおいて同様に画像処理が行われる。
 ステップS11において、輝度信号イントラ予測部22は、Luma予測を行う。
 ステップS12において、色差信号イントラ予測部24は、CCLMを実施するか否かを判定し、CCLMを実施すると判定した場合には処理はステップS13に進む。
 ステップS13において、色差信号イントラ予測部24は、カレント予測ブロックのブロックサイズを検出する。
 ステップS14において、色差信号イントラ予測部24は、ステップS13で検出したカレント予測ブロックのブロックサイズをパラメータとして、そのブロックサイズに応じたポイント数(参照画素の画素数)を決定する。
 ステップS15において、色差信号イントラ予測部24は、ステップS11のLuma予測の予測結果として得られるLuma値から、Luma値の最大値および最小値を算出する。例えば、最大値および最小値を算出には、上述した第1乃至第3の導出方式のいずれかを用いることができる。
 ステップS16において、色差信号イントラ予測部24は、ステップS15で算出されたLuma値の最大値および最小値を用いて、パラメータαを算出するパラメータα算出処理(後述する図28のフローチャート参照)を行う。
 ステップS17において、色差信号イントラ予測部24は、ステップS14で決定されたポイント数、および、ステップS16のパラメータα算出処理で算出されたパラメータαを用いて、パラメータβを算出するパラメータβ算出処理(後述する図29のフローチャート参照)を行う。
 ステップS18において、色差信号イントラ予測部24は、ステップS16のパラメータα算出処理で算出されたパラメータα、および、ステップS17のパラメータβ算出処理で算出されたパラメータβを用いて、Chromaの予測値(Chroma予測情報Pred[x,y])を算出する。
 ステップS18の処理後、または、ステップS12でCCLMを実施しないと判定された場合、画像処理は終了される。
 図28は、図27のステップS16におけるパラメータα算出処理を説明するフローチャートである。
 ステップS21において、色差信号イントラ予測部24は、図27のステップS15で算出されたLuma値の最大値および最小値の2点を、予め作成されているルックアップテーブルに入力する。
 ステップS22において、色差信号イントラ予測部24は、ステップS21でルックアップテーブルに入力した結果からパラメータαを算出し、その後、パラメータα算出処理は終了される。
 図29は、図27のステップS17におけるパラメータβ算出処理を説明するフローチャートである。
 ステップS31において、色差信号イントラ予測部24は、図27のステップS16のパラメータα算出処理で算出されたパラメータαを入力する。
 ステップS32において、色差信号イントラ予測部24は、図27のステップS14で決定されたポイント数に対するパラメータβを算出する。
 ステップS33において、色差信号イントラ予測部24は、ステップS32で算出したポイント数分のパラメータβの平均を求め、パラメータβ算出処理の処理結果となるパラメータβとし、その後、パラメータβ算出処理は終了される。
 以上のように、色差信号イントラ予測部24は、カレント予測ブロックのブロックサイズをパラメータとして、そのブロックサイズに応じて決定されるポイント数(参照画素の画素数)を用いて、Chromaの予測値を算出することができる。このように、従来よりも多くのポイント数を用いることによって、CCLMの計算におけるノイズの耐久性や精度などの向上を図ることができ、より適切に画質を向上させることができる。
 図30は、CCLM予測部21において行われる画像処理を説明するフローチャートである。なお、図30の画像処理は、上述した画像処理の第2の実施の形態に対応する処理であり、画像符号化装置12および画像復号装置13それぞれにおいて同様に画像処理が行われる。
 ステップS41乃至S43において、図27のステップS11乃至13と同様の処理が行われる。そして、ステップS44において、色差信号イントラ予測部24は、ステップS43で検出したカレント予測ブロックのブロックサイズをパラメータとして、そのブロックサイズに応じたポイント数(参照画素の画素数)を決定する。さらに、色差信号イントラ予測部24は、決定したポイント数に基づいて、ブロックが全て最小サイズのときに、ポイント数が4であるときのスループットを超えない範囲で、カレント予測ブロックを複数のサブブロックに分割する。
 ステップS45乃至S48において、図27のステップS15乃至S18と同様の処理が、ステップS44で分割された複数のサブブロックごとに行われる。即ち、ステップS46のパラメータα算出処理(上述した図28のフローチャート参照)、および、ステップS47のパラメータβ算出処理(上述した図29のフローチャート参照)が、サブブロックごとに行われる。
 <コンピュータベースのシステムの構成例>
 図31は、本技術を適用したコンピュータベースのシステムの一実施の形態の構成例を示すブロック図である。
 図31は、1または複数のコンピュータやサーバなどがネットワークを介して接続されたネットワークシステムの構成例を示すブロック図である。なお、図31の実施の形態で示されているハードウェアおよびソフトウェア環境は、本開示によるソフトウェアおよび/または方法を実装するためのプラットフォームを提供することができる一例として示されている。
 図31に示すように、ネットワークシステム31は、コンピュータ32、ネットワーク33、リモートコンピュータ34、ウェブサーバ35、クラウドストレージサーバ36、およびコンピュータサーバ37を備えて構成される。ここで、本実施の形態では、図31に示される機能ブロックのうちの1または複数によって、複数のインスタンスが実行される。
 また、図31では、コンピュータ32の詳細な構成が図示されている。なお、コンピュータ32内に示されている機能ブロックは、例示的な機能を確立するために図示されており、このような構成に限定されるものではない。また、リモートコンピュータ34、ウェブサーバ35、クラウドストレージサーバ36、およびコンピュータサーバ37の詳細な構成は図示されていないが、これらは、コンピュータ32内に示されている機能ブロックと同様の構成が含まれている。
 コンピュータ32としては、パーソナルコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ネットブックコンピュータ、携帯情報端末、スマートフォン、または、ネットワーク上の他のデバイスと通信可能な他のプログラム可能な電子デバイスを用いることができる。
 そして、コンピュータ32は、バス41、プロセッサ42、メモリ43、不揮発性ストレージ44、ネットワークインタフェース46、周辺機器インタフェース47、およびディスプレイインターフェース48を備えて構成される。これらの機能の各々は、ある実施の形態では、個々の電子サブシステム(集積回路チップまたはチップと関連デバイスの組み合わせ)に実装され、または、他の実施形態では、機能のいくつかが組み合わせられて単一チップ(システムオンチップまたはSoC(System on Chip))に実装されてもよい。
 バス41は、各種の独自仕様または業界標準の高速パラレルまたはシリアル周辺相互接続バスを採用することができる。
 プロセッサ42は、1または複数のシングルまたはマルチチップマイクロプロセッサとして設計および/または製造されたものを採用することができる。
 メモリ43および不揮発性ストレージ44は、コンピュータ32による読み込みが可能なストレージ媒体である。例えば、メモリ43は、DRAM(Dynamic Random Access Memory)やSRAM(Static RAM)などのような任意の適切な揮発性ストレージデバイスを採用することができる。不揮発性ストレージ44は、フレキシブルディスク、ハードディスク、SSD(Solid State Drive)、ROM(Read Only Memory)、EPROM(Erasable and Programmable Read Only Memory)、フラッシュメモリ、コンパクトディスク(CDまたはCD-ROM)、DVD(Digital Versatile Disc)、カード型メモリ、またはスティック型メモリのうち、少なくとも1つ以上を採用することができる。
 また、不揮発性ストレージ44には、プログラム45が格納されている。プログラム45は、例えば、特定のソフトウェア機能を作成、管理、および制御するために使用される機械可読命令および/またはデータの集合である。なお、メモリ43が不揮発性ストレージ44よりも非常に高速である構成では、プログラム45は、プロセッサ42により実行される前に、不揮発性ストレージ44からメモリ43に転送することができる。
 コンピュータ32は、ネットワークインタフェース46を介して、ネットワーク33を介した他のコンピュータとの通信および相互作用をすることができる。ネットワーク33は、例えば、LAN(Local Area Network)、インターネットなどのWAN(Wide Area Network)、または、LANおよびWANの組み合わせで、有線、無線、または光ファイバー接続が含まれた構成を採用することができる。一般に、ネットワーク33は、2つ以上のコンピュータと関連デバイス間の通信をサポートする接続およびプロトコルの任意の組み合わせからなる。
 周辺機器インタフェース47は、コンピュータ32にローカルに接続され得る他のデバイスとのデータの入出力を行うことができる。例えば、周辺機器インタフェース47は、外部デバイス51への接続を提供する。外部デバイス51には、キーボード、マウス、キーパッド、タッチスクリーン、および/または、その他の適切な入力デバイスが用いられる。外部デバイス51は、例えば、サムドライブ、ポータブル光学ディスクまたは磁気ディスク、およびメモリカードなどのポータブルコンピュータ可読記憶媒体も含み得る。
 本開示の実施の形態では、例えば、プログラム45を実施するために使用されるソフトウェアおよびデータは、そのようなポータブルコンピュータ可読記憶媒体に記憶されてもよい。そのような実施形態では、ソフトウェアは、不揮発性ストレージ44に、または周辺機器インタフェース47を介してメモリ43に直接ロードされてもよい。周辺機器インタフェース47は、外部デバイス51との接続に、例えば、RS-232またはUSB(Universal Serial Bus)などの業界標準を使用してもよい。
 ディスプレイインターフェース48は、コンピュータ32をディスプレイ52に接続することができ、ディスプレイ52を使用して、コマンドラインまたはグラフィカルユーザインターフェースを、コンピュータ32のユーザに提示することができる。例えば、ディスプレイインターフェース48には、VGA(Video Graphics Array)や、DVI(Digital Visual Interface)、DisplayPort、HDMI(High-Definition Multimedia Interface)(登録商標)などの業界標準を採用することができる。
 <画像符号化装置の構成例>
 図32は、本開示を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
 図32に示される画像符号化装置60は、予測処理を用いて画像データを符号化する。ここで、符号化方式としては、例えば、HEVC(High Efficiency Video Coding)方式などが用いられる。
 図32の画像符号化装置60は、A/D変換部61、画面並べ替えバッファ62、演算部63、直交変換部64、量子化部65、可逆符号化部66、および蓄積バッファ67を有する。また、画像符号化装置60は、逆量子化部68、逆直交変換部69、演算部70、デブロッキングフィルタ71、適応オフセットフィルタ72、適応ループフィルタ73、フレームメモリ74、選択部75、イントラ予測部76、動き予測・補償部77、予測画像選択部78、およびレート制御部79を有する。
 A/D変換部61は、入力された画像データ(Picture(s))をA/D変換して画面並べ替えバッファ62に供給する。なお、A/D変換部61を設けずに、ディジタルデータの画像が入力される構成としてもよい。
 画面並べ替えバッファ62は、A/D変換部61から供給された画像データを記憶し、記憶した表示の順番のフレームの画像を、GOP(Group of Picture)構造に応じて、符号化のためのフレームの順番に並べ替える。画面並べ替えバッファ62は、フレームの順番を並び替えた画像を、演算部63、イントラ予測部76、および動き予測・補償部77に出力する。
 演算部63は、画面並べ替えバッファ62から出力された画像から、予測画像選択部78を介してイントラ予測部76若しくは動き予測・補償部77から供給される予測画像を減算し、その差分情報を直交変換部64に出力する。
 例えば、イントラ符号化が行われる画像の場合、演算部63は、画面並べ替えバッファ62から出力された画像から、イントラ予測部76から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部63は、画面並べ替えバッファ62から出力された画像から、動き予測・補償部77から供給される予測画像を減算する。
 直交変換部64は、演算部63から供給される差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を量子化部65に供給する。
 量子化部65は、直交変換部64が出力する変換係数を量子化する。量子化部65は、量子化された変換係数を可逆符号化部66に供給する。
 可逆符号化部66は、その量子化された変換係数に対して、可変長符号化、算術符号化等の可逆符号化を施す。
 可逆符号化部66は、イントラ予測モードを示す情報などのパラメータをイントラ予測部76から取得し、インター予測モードを示す情報や動きベクトル情報などのパラメータを動き予測・補償部77から取得する。
 可逆符号化部66は、量子化された変換係数を符号化するとともに、取得した各パラメータ(シンタックス要素)を符号化し、符号化データのヘッダ情報の一部とする(多重化する)。可逆符号化部66は、符号化して得られた符号化データを蓄積バッファ67に供給して蓄積させる。
 例えば、可逆符号化部66においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、CAVLC(Context-Adaptive Variable Length Coding)などがあげられる。算術符号化としては、CABAC(Context-Adaptive Binary Arithmetic Coding)などがあげられる。
 蓄積バッファ67は、可逆符号化部66から供給された符号化ストリーム(Encoded Data)を、一時的に保持し、所定のタイミングにおいて、符号化された符号化画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。すなわち、蓄積バッファ67は、符号化ストリームを伝送する伝送部でもある。
 また、量子化部65において量子化された変換係数は、逆量子化部68にも供給される。逆量子化部68は、その量子化された変換係数を、量子化部65による量子化に対応する方法で逆量子化する。逆量子化部68は、得られた変換係数を、逆直交変換部69に供給する。
 逆直交変換部69は、供給された変換係数を、直交変換部64による直交変換処理に対応する方法で逆直交変換する。逆直交変換された出力(復元された差分情報)は、演算部70に供給される。
 演算部70は、逆直交変換部69より供給された逆直交変換結果、すなわち、復元された差分情報に、予測画像選択部78を介してイントラ予測部76若しくは動き予測・補償部77から供給される予測画像を加算し、局部的に復号された画像(復号画像)を得る。
 例えば、差分情報が、イントラ符号化が行われる画像に対応する場合、演算部70は、その差分情報にイントラ予測部76から供給される予測画像を加算する。また、例えば、差分情報が、インター符号化が行われる画像に対応する場合、演算部70は、その差分情報に動き予測・補償部77から供給される予測画像を加算する。
 その加算結果である復号画像は、デブロッキングフィルタ71およびフレームメモリ74に供給される。
 デブロッキングフィルタ71は、演算部70からの画像に対して、適宜デブロッキングフィルタ処理を行うことにより復号画像のブロック歪を抑制し、そのフィルタ処理結果を適応オフセットフィルタ72に供給する。デブロッキングフィルタ71は、量子化パラメータQPを基に求められるパラメータβおよびTcを有している。パラメータβおよびTcは、デブロッキングフィルタに関する判定に用いられる閾値(パラメータ)である。
 なお、デブロッキングフィルタ71が有するパラメータであるβおよびTcは、HEVC方式で規定されているβとTcから拡張されている。パラメータβおよびTcの各オフセットは、デブロッキングフィルタのパラメータとして、可逆符号化部66において符号化され、後述する図34の画像復号装置80に送信される。
 適応オフセットフィルタ72は、デブロッキングフィルタ71によるフィルタ後の画像に対して、主にリンギングを抑制するオフセットフィルタ(SAO: Sample adaptive offset)処理を行う。
 オフセットフィルタの種類は、バンドオフセット2種類、エッジオフセット6種類、オフセットなしの計9種類がある。適応オフセットフィルタ72は、分割領域毎にオフセットフィルタの種類が決定されたものであるquad-tree構造と分割領域毎のオフセット値を用いて、デブロッキングフィルタ71によるフィルタ後の画像に対して、フィルタ処理を施す。適応オフセットフィルタ72は、フィルタ処理後の画像を、適応ループフィルタ73に供給する。
 なお、画像符号化装置60において、quad-tree構造と分割領域毎のオフセット値は、適応オフセットフィルタ72により算出されて用いられる。算出されたquad-tree構造と分割領域毎のオフセット値は、適応オフセットパラメータとして、可逆符号化部66において符号化され、後述する図34の画像復号装置80に送信される。
 適応ループフィルタ73は、適応オフセットフィルタ72によるフィルタ後の画像に対して、フィルタ係数を用いて、処理単位毎に、適応ループフィルタ(ALF : Adaptive Loop Filter)処理を行う。適応ループフィルタ73においては、フィルタとして、例えば、2次元のウィナーフィルタ(Wiener Filter)が用いられる。もちろん、ウィナーフィルタ以外のフィルタが用いられてもよい。適応ループフィルタ73は、フィルタ処理結果をフレームメモリ74に供給する。
 なお、図32の例においては図示しないが、画像符号化装置60において、フィルタ係数は、処理単位毎に、画面並べ替えバッファ62からの原画像との残差を最小とするよう適応ループフィルタ73により算出されて用いられる。算出されたフィルタ係数は、適応ループフィルタパラメータとして、可逆符号化部66において符号化され、後述する図34の画像復号装置80に送信される。
 フレームメモリ74は、所定のタイミングにおいて、蓄積されている参照画像を、選択部75を介してイントラ予測部76または動き予測・補償部77に出力する。
 例えば、イントラ符号化が行われる画像の場合、フレームメモリ74は、参照画像を、選択部75を介してイントラ予測部76に供給する。また、例えば、インター符号化が行われる場合、フレームメモリ74は、参照画像を、選択部75を介して動き予測・補償部77に供給する。
 選択部75は、フレームメモリ74から供給される参照画像がイントラ符号化を行う画像である場合、その参照画像をイントラ予測部76に供給する。また、選択部75は、フレームメモリ74から供給される参照画像がインター符号化を行う画像である場合、その参照画像を動き予測・補償部77に供給する。
 イントラ予測部76は、画面内の画素値を用いて予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部76は、複数のモード(イントラ予測モード)によりイントラ予測を行う。
 イントラ予測部76は、全てのイントラ予測モードで予測画像を生成し、各予測画像を評価し、最適なモードを選択する。イントラ予測部76は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部78を介して演算部63や演算部70に供給する。
 また、上述したように、イントラ予測部76は、採用したイントラ予測モードを示すイントラ予測モード情報等のパラメータを、適宜可逆符号化部66に供給する。
 動き予測・補償部77は、インター符号化が行われる画像について、画面並べ替えバッファ62から供給される入力画像と、選択部75を介してフレームメモリ74から供給される参照画像とを用いて、動き予測を行う。また、動き予測・補償部77は、動き予測により検出された動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。
 動き予測・補償部77は、候補となる全てのインター予測モードのインター予測処理を行い、予測画像を生成する。動き予測・補償部77は、生成された予測画像を、予測画像選択部78を介して演算部63や演算部70に供給する。また、動き予測・補償部77は、採用されたインター予測モードを示すインター予測モード情報や、算出した動きベクトルを示す動きベクトル情報などのパラメータを可逆符号化部66に供給する。
 予測画像選択部78は、イントラ符号化を行う画像の場合、イントラ予測部76の出力を演算部63や演算部70に供給し、インター符号化を行う画像の場合、動き予測・補償部77の出力を演算部63や演算部70に供給する。
 レート制御部79は、蓄積バッファ67に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部65の量子化動作のレートを制御する。
 このように画像符号化装置60は構成されており、可逆符号化部66は、図2の符号化部15に対応し、イントラ予測部76は、図2のイントラ予測部14に対応する。従って、画像符号化装置60は、上述したように、より適切に画質の向上を図ることができる。
<画像符号化装置の動作>
 図33を参照して、以上のような画像符号化装置60により実行される符号化処理の流れについて説明する。
 ステップS51において、A/D変換部61は、入力された画像をA/D変換する。
 ステップS52において、画面並べ替えバッファ62は、A/D変換部61でA/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
 画面並べ替えバッファ62から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、参照される復号済みの画像がフレームメモリ74から読み出され、選択部75を介してイントラ予測部76に供給される。
 これらの画像に基づいて、ステップS53において、イントラ予測部76は処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。なお、参照される復号済みの画素としては、デブロッキングフィルタ71によりフィルタされていない画素が用いられる。
 この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部78に供給される。
 画面並べ替えバッファ62から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ74から読み出され、選択部75を介して動き予測・補償部77に供給される。これらの画像に基づいて、ステップS54において、動き予測・補償部77は、動き予測・補償処理を行う。
 この処理により、候補となる全てのインター予測モードで動き予測処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出され、算出したコスト関数値に基づいて、最適インター予測モードが決定される。そして、最適インター予測モードにより生成された予測画像とそのコスト関数値が予測画像選択部78に供給される。
 ステップS55において、予測画像選択部78は、イントラ予測部76および動き予測・補償部77より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定する。そして、予測画像選択部78は、決定した最適予測モードの予測画像を選択し、演算部63,70に供給する。この予測画像は、後述するステップS56,S61の演算に利用される。
 なお、この予測画像の選択情報は、イントラ予測部76または動き予測・補償部77に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部76は、最適イントラ予測モードを示す情報(すなわち、イントラ予測に関するパラメータ)を、可逆符号化部66に供給する。
 最適インター予測モードの予測画像が選択された場合、動き予測・補償部77は、最適インター予測モードを示す情報と、最適インター予測モードに応じた情報(すなわち、動き予測に関するパラメータ)を可逆符号化部66に出力する。最適インター予測モードに応じた情報としては、動きベクトル情報や参照フレーム情報などがあげられる。
 ステップS56において、演算部63は、ステップS52で並び替えられた画像と、ステップS55で選択された予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部77から、イントラ予測する場合はイントラ予測部76から、それぞれ予測画像選択部78を介して演算部63に供給される。
 差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
 ステップS57において、直交変換部64は演算部63から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。
 ステップS58において、量子化部65は変換係数を量子化する。この量子化に際しては、後述するステップS68の処理で説明されるように、レートが制御される。
 以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS59において、逆量子化部68は、量子化部65により量子化された変換係数を量子化部65の特性に対応する特性で逆量子化する。ステップS60において、逆直交変換部69は、逆量子化部68により逆量子化された変換係数を直交変換部64の特性に対応する特性で逆直交変換する。
 ステップS61において、演算部70は、予測画像選択部78を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された(すなわち、ローカルデコードされた)画像(演算部63への入力に対応する画像)を生成する。
 ステップS62においてデブロッキングフィルタ71は、演算部70より出力された画像に対して、デブロッキングフィルタ処理を行う。このとき、デブロッキングフィルタに関する判定の閾値として、HEVC方式で規定されているβとTcから拡張されたパラメータβおよびTcが用いられる。デブロッキングフィルタ71からのフィルタ後の画像は、適応オフセットフィルタ72に出力される。
 なお、ユーザにより操作部などを操作することで入力されて、デブロッキングフィルタ71で用いられたパラメータβおよびTcの各オフセットは、デブロッキングフィルタのパラメータとして、可逆符号化部66に供給される。
 ステップS63において、適応オフセットフィルタ72は、適応オフセットフィルタ処理を行う。この処理により、分割領域毎にオフセットフィルタの種類が決定されたものであるquad-tree構造と分割領域毎のオフセット値を用いて、デブロッキングフィルタ71によるフィルタ後の画像に対して、フィルタ処理が施される。フィルタ後の画像は、適応ループフィルタ73に供給される。
 なお、決定されたquad-tree構造と分割領域毎のオフセット値は、適応オフセットパラメータとして、可逆符号化部66に供給される。
 ステップS64において、適応ループフィルタ73は、適応オフセットフィルタ72によるフィルタ後の画像に対して、適応ループフィルタ処理を行う。例えば、適応オフセットフィルタ72によるフィルタ後の画像に対して、フィルタ係数を用いて、処理単位毎に、画像に対してフィルタ処理が行われ、フィルタ処理結果が、フレームメモリ74に供給される。
 ステップS65においてフレームメモリ74は、フィルタリングされた画像を記憶する。なお、フレームメモリ74には、デブロッキングフィルタ71、適応オフセットフィルタ72、および適応ループフィルタ73によりフィルタされていない画像も演算部70から供給され、記憶される。
 一方、上述したステップS58において量子化された変換係数は、可逆符号化部66にも供給される。ステップS66において、可逆符号化部66は、量子化部65より出力された量子化された変換係数と、供給された各パラメータを符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。ここで、符号化される各パラメータとしては、デブロッキングフィルタのパラメータ、適応オフセットフィルタのパラメータ、適応ループフィルタのパラメータ、量子化パラメータ、動きベクトル情報や参照フレーム情報、予測モード情報などがあげられる。
 ステップS67において蓄積バッファ67は、符号化された差分画像(すなわち、符号化ストリーム)を、圧縮画像として蓄積する。蓄積バッファ67に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
 ステップS68においてレート制御部79は、蓄積バッファ67に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部65の量子化動作のレートを制御する。
 ステップS68の処理が終了すると、符号化処理が終了される。
 以上のような符号化処理において、ステップS53でイントラ予測が行われるときに、カレント予測ブロックのパラメータに応じて参照画素パターンが変更された参照画素を用いて、CCLMまたはMMLMを行って予測画素が生成される。
<画像復号装置の構成例>
 図34は、本開示を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。図34に示される画像復号装置80は、図32の画像符号化装置60に対応する復号装置である。
 画像符号化装置60より符号化された符号化ストリーム(Encoded Data)は、所定の伝送路を介して、この画像符号化装置60に対応する画像復号装置80に伝送され、復号されるものとする。
 図34に示されるように、画像復号装置80は、蓄積バッファ81、可逆復号部82、逆量子化部83、逆直交変換部84、演算部85、デブロッキングフィルタ86、適応オフセットフィルタ87、適応ループフィルタ88、画面並べ替えバッファ89、D/A変換部90、フレームメモリ91、選択部92、イントラ予測部93、動き予測・補償部94、および選択部95を有する。
 蓄積バッファ81は、伝送されてきた符号化データを受け取る受け取り部でもある。蓄積バッファ81は、伝送されてきた符号化データを受け取って、蓄積する。この符号化データは、画像符号化装置60により符号化されたものである。可逆復号部82は、蓄積バッファ81から所定のタイミングで読み出された符号化データを、図32の可逆符号化部66の符号化方式に対応する方式で復号する。
 可逆復号部82は、復号されたイントラ予測モードを示す情報などのパラメータをイントラ予測部93に供給し、インター予測モードを示す情報や動きベクトル情報などのパラメータを動き予測・補償部94に供給する。また、可逆復号部82は、復号されたデブロッキングフィルタのパラメータを、デブロッキングフィルタ86に供給し、復号された適応オフセットパラメータを、適応オフセットフィルタ87に供給する。
 逆量子化部83は、可逆復号部82により復号されて得られた係数データ(量子化係数)を、図32の量子化部65の量子化方式に対応する方式で逆量子化する。つまり、逆量子化部83は、画像符号化装置60から供給された量子化パラメータを用いて、図32の逆量子化部68と同様の方法で量子化係数の逆量子化を行う。
 逆量子化部83は、逆量子化された係数データ、つまり、直交変換係数を、逆直交変換部84に供給する。逆直交変換部84は、図32の直交変換部64の直交変換方式に対応する方式で、その直交変換係数を逆直交変換し、画像符号化装置60において直交変換される前の残差データに対応する復号残差データを得る。
 逆直交変換されて得られた復号残差データは、演算部85に供給される。また、演算部85には、選択部95を介して、イントラ予測部93若しくは動き予測・補償部94から予測画像が供給される。
 演算部85は、その復号残差データと予測画像とを加算し、画像符号化装置60の演算部63により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部85は、その復号画像データをデブロッキングフィルタ86に供給する。
 デブロッキングフィルタ86は、演算部85からの画像に対して、適宜デブロックフィルタ処理を行うことにより復号画像のブロック歪を抑制し、そのフィルタ処理結果を適応オフセットフィルタ87に供給する。デブロッキングフィルタ86は、図32のデブロッキングフィルタ71と基本的に同様に構成される。すなわち、デブロッキングフィルタ86は、量子化パラメータを基に求められるパラメータβおよびTcを有している。パラメータβおよびTcは、デブロッキングフィルタに関する判定に用いられる閾値である。
 なお、デブロッキングフィルタ86が有するパラメータであるβおよびTcは、HEVC方式で規定されているβとTcから拡張されている。画像符号化装置60により符号化されたデブロッキングフィルタのパラメータβおよびTcの各オフセットは、デブロッキングフィルタのパラメータとして、画像復号装置80において受信されて、可逆復号部82により復号されて、デブロッキングフィルタ86により用いられる。
 適応オフセットフィルタ87は、デブロッキングフィルタ86によるフィルタ後の画像に対して、主にリンギングを抑制するオフセットフィルタ(SAO)処理を行う。
 適応オフセットフィルタ87は、分割領域毎にオフセットフィルタの種類が決定されたものであるquad-tree構造と分割領域毎のオフセット値を用いて、デブロッキングフィルタ86によるフィルタ後の画像に対して、フィルタ処理を施す。適応オフセットフィルタ87は、フィルタ処理後の画像を、適応ループフィルタ88に供給する。
 なお、このquad-tree構造と分割領域毎のオフセット値は、画像符号化装置60の適応オフセットフィルタ72により算出され、適応オフセットパラメータとして、符号化されて送られてきたものである。そして、画像符号化装置60により符号化されたquad-tree構造と分割領域毎のオフセット値は、適応オフセットパラメータとして、画像復号装置80において受信されて、可逆復号部82により復号されて、適応オフセットフィルタ87により用いられる。
 適応ループフィルタ88は、適応オフセットフィルタ87によるフィルタ後の画像に対して、フィルタ係数を用いて、処理単位毎にフィルタ処理を行い、フィルタ処理結果を、フレームメモリ91および画面並べ替えバッファ89に供給する。
 なお、図34の例においては図示しないが、画像復号装置80において、フィルタ係数は、画像符号化装置60の適応ループフィルタ73によりLUC毎に算出され、適応ループフィルタパラメータとして、符号化されて送られてきたものが可逆復号部82により復号されて用いられる。
 画面並べ替えバッファ89は、画像の並べ替えを行って、D/A変換部90に供給する。すなわち、図32の画面並べ替えバッファ62により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。
 D/A変換部90は、画面並べ替えバッファ89から供給される画像(Decoded Picture(s))をD/A変換して図示せぬディスプレイに出力し、表示させる。なお、D/A変換部90を設けずに、ディジタルデータのままで画像を出力する構成としてもよい。
 適応ループフィルタ88の出力は、さらに、フレームメモリ91に供給される。
 フレームメモリ91、選択部92、イントラ予測部93、動き予測・補償部94、および選択部95は、画像符号化装置60のフレームメモリ74、選択部75、イントラ予測部76、動き予測・補償部77、および予測画像選択部78にそれぞれ対応する。
 選択部92は、インター処理される画像と参照される画像をフレームメモリ91から読み出し、動き予測・補償部94に供給する。また、選択部92は、イントラ予測に用いられる画像をフレームメモリ91から読み出し、イントラ予測部93に供給する。
 イントラ予測部93には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部82から適宜供給される。イントラ予測部93は、この情報に基づいて、フレームメモリ91から取得した参照画像から予測画像を生成し、生成した予測画像を選択部95に供給する。
 動き予測・補償部94には、ヘッダ情報を復号して得られた情報(予測モード情報、動きベクトル情報、参照フレーム情報、フラグ、および各種パラメータ等)が可逆復号部82から供給される。
 動き予測・補償部94は、可逆復号部82から供給されるそれらの情報に基づいて、フレームメモリ91から取得した参照画像から予測画像を生成し、生成した予測画像を選択部95に供給する。
 選択部95は、動き予測・補償部94またはイントラ予測部93により生成された予測画像を選択し、演算部85に供給する。
 このように画像復号装置80は構成されており、可逆復号部82は、図2の復号部17に対応し、イントラ予測部93は、図2のイントラ予測部16に対応する。従って、画像復号装置80は、上述したように、より適切に画質の向上を図ることができる。
<画像復号装置の動作>
 図35を参照して、以上のような画像復号装置80により実行される復号処理の流れの例を説明する。
 復号処理が開始されると、ステップS71において、蓄積バッファ81は、伝送されてきた符号化ストリーム(データ)を受け取り、蓄積する。ステップS72において、可逆復号部82は、蓄積バッファ81から供給される符号化データを復号する。図32の可逆符号化部66により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。
 ピクチャの復号に先立ち、動きベクトル情報、参照フレーム情報、予測モード情報(イントラ予測モード、またはインター予測モード)などのパラメータの情報も復号される。
 予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部93に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報などは、動き予測・補償部94に供給される。また、デブロッキングフィルタのパラメータおよび適応オフセットパラメータも復号され、デブロッキングフィルタ86および適応オフセットフィルタ87にそれぞれ供給される。
 ステップS73において、イントラ予測部93または動き予測・補償部94は、可逆復号部82から供給される予測モード情報に対応して、それぞれ、予測画像生成処理を行う。
 すなわち、可逆復号部82からイントラ予測モード情報が供給された場合、イントラ予測部93はイントラ予測モードのイントラ予測画像を生成する。可逆復号部82からインター予測モード情報が供給された場合、動き予測・補償部94は、インター予測モードの動き予測・補償処理を行い、インター予測画像を生成する。
 この処理により、イントラ予測部93により生成された予測画像(イントラ予測画像)、または動き予測・補償部94により生成された予測画像(インター予測画像)が、選択部95に供給される。
 ステップS74において、選択部95は予測画像を選択する。すなわち、イントラ予測部93により生成された予測画像、または、動き予測・補償部94により生成された予測画像が供給される。したがって、供給された予測画像が選択されて演算部85に供給され、後述するステップS77において逆直交変換部84の出力と加算される。
 上述したステップS72において、可逆復号部82により復号された変換係数は、逆量子化部83にも供給される。ステップS75において、逆量子化部83は可逆復号部82により復号された変換係数を、図32の量子化部65の特性に対応する特性で逆量子化する。
 ステップS76において逆直交変換部84は、逆量子化部83により逆量子化された変換係数を、図32の直交変換部64の特性に対応する特性で逆直交変換する。これにより図32の直交変換部64の入力(演算部63の出力)に対応する差分情報が復号されたことになる。
 ステップS77において、演算部85は、上述したステップS74の処理で選択され、選択部95を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。
 ステップS78においてデブロッキングフィルタ86は、演算部85より出力された画像に対して、デブロッキングフィルタ処理を行う。このとき、デブロッキングフィルタに関する判定の閾値として、HEVC方式で規定されているβとTcから拡張されたパラメータβおよびTcが用いられる。デブロッキングフィルタ86からのフィルタ後の画像は、適応オフセットフィルタ87に出力される。なお、デブロッキングフィルタ処理においては、可逆復号部82から供給されるデブロッキングフィルタのパラメータβおよびTcの各オフセットも用いられる。
 ステップS79において、適応オフセットフィルタ87は、適応オフセットフィルタ処理を行う。この処理により、分割領域毎にオフセットフィルタの種類が決定されたものであるquad-tree構造と分割領域毎のオフセット値を用いて、デブロッキングフィルタ86によるフィルタ後の画像に対して、フィルタ処理が施される。フィルタ後の画像は、適応ループフィルタ88に供給される。
 ステップS80において、適応ループフィルタ88は、適応オフセットフィルタ87によるフィルタ後の画像に対して、適応ループフィルタ処理を行う。適応ループフィルタ88は、処理単位毎に計算されたフィルタ係数を用いて、入力画像に対して、処理単位毎にフィルタ処理を行い、フィルタ処理結果を、画面並べ替えバッファ89およびフレームメモリ91に供給する。
 ステップS81においてフレームメモリ91は、フィルタリングされた画像を記憶する。
 ステップS82において、画面並べ替えバッファ89は、適応ループフィルタ88後の画像の並べ替えを行った後、D/A変換部90に供給する。すなわち画像符号化装置60の画面並べ替えバッファ62により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
 ステップS83において、D/A変換部90は、画面並べ替えバッファ89で並べ替えられた画像をD/A変換して図示せぬディスプレイに出力し、画像が表示される。
 ステップS83の処理が終了すると、復号処理が終了される。
 以上のような復号処理において、ステップS73でイントラ予測が行われるときに、カレント予測ブロックのパラメータに応じて参照画素パターンが変更された参照画素を用いて、CCLMまたはMMLMを行って予測画素が生成される。
 <コンピュータの構成例>
 次に、上述した一連の処理(画像処理方法)は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
 図36は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示すブロック図である。
 プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。
 あるいはまた、プログラムは、ドライブ109によって駆動されるリムーバブル記録媒体111に格納(記録)しておくことができる。このようなリムーバブル記録媒体111は、いわゆるパッケージソフトウェアとして提供することができる。ここで、リムーバブル記録媒体111としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
 なお、プログラムは、上述したようなリムーバブル記録媒体111からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク105にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
 コンピュータは、CPU(Central Processing Unit)102を内蔵しており、CPU102には、バス101を介して、入出力インタフェース110が接続されている。
 CPU102は、入出力インタフェース110を介して、ユーザによって、入力部107が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)103に格納されているプログラムを実行する。あるいは、CPU102は、ハードディスク105に格納されたプログラムを、RAM(Random Access Memory)104にロードして実行する。
 これにより、CPU102は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば、入出力インタフェース110を介して、出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。
 なお、入力部107は、キーボードや、マウス、マイク等で構成される。また、出力部106は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
 ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
 また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
 さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 また、例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
 また、例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、例えば、上述したプログラムは、任意の装置において実行することができる。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
 また、例えば、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
 なお、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
 なお、本明細書において複数説明した本技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
 <構成の組み合わせ例>
 なお、本技術は以下のような構成も取ることができる。
(1)
 符号化処理の対象となるカレント予測ブロックに対して輝度成分の画素と色差成分の画素との間で予測を行う成分間予測を行う際に、前記カレント予測ブロックのパラメータに応じて前記成分間予測を行う際に参照する参照画素のパターンである参照画素パターンが変更された参照画素を用いて、前記成分間予測を行って予測画素を生成するイントラ予測部と、
 前記イントラ予測部により生成された前記予測画素を用いて、前記カレント予測ブロック内のカレント画素を符号化する符号化部と
 を備える画像処理装置。
(2)
 前記参照画素パターンは、前記参照画素の数であり、
 前記イントラ予測部は、前記カレント予測ブロックのパラメータに応じて参照画素の数が変更された参照画素を用いて、前記成分間予測を行う
 上記(1)に記載の画像処理装置。
(3)
 前記パラメータは、前記カレント予測ブロックのブロックサイズであり、
 前記イントラ予測部は、前記カレント予測ブロックのブロックサイズに応じて参照画素の数が変更された参照画素を用いて、前記成分間予測を行う
 上記(2)に記載の画像処理装置。
(4)
 前記パラメータは、前記カレント予測ブロックの形状であり、
 前記イントラ予測部は、前記カレント予測ブロックの形状に応じて参照画素の数が変更された参照画素を用いて、前記成分間予測を行う
 上記(2)に記載の画像処理装置。
(5)
 前記参照画素パターンは、前記参照画素の位置であり、
 前記イントラ予測部は、前記カレント予測ブロックのパラメータに応じて参照画素の位置が変更された参照画素を用いて、前記成分間予測を行う
 上記(1)に記載の画像処理装置。
(6)
 前記パラメータは、前記カレント予測ブロックのブロックサイズであり、
 前記イントラ予測部は、前記カレント予測ブロックのブロックサイズに応じて参照画素の位置が変更された参照画素を用いて、前記成分間予測を行う
 上記(5)に記載の画像処理装置。
(7)
 前記パラメータは、前記カレント予測ブロックの形状であり、
 前記イントラ予測部は、前記カレント予測ブロックの形状に応じて参照画素の位置が変更された参照画素を用いて、前記成分間予測を行う
 上記(5)に記載の画像処理装置。
(8)
 前記参照画素の値を用いて前記成分間予測を行う際の予測パラメータを導出する導出ルールは、予め設定されている
 上記(1)から(7)までのいずれかに記載の画像処理装置。
(9)
 前記導出ルールは、前記参照画素の値をソートして最大値と最小値を導出する手順である
 上記(8)に記載の画像処理装置。
(10)
 前記イントラ予測部は、前記カレント予測ブロックが分割されたサブブロック毎に前記成分間予測を行う
 上記(1)から(9)までのいずれかに記載の画像処理装置。
(11)
 前記参照画素は、ダウンサンプリングされた画素である
 上記(1)から(10)までのいずれかに記載の画像処理装置。
(12)
 前記成分間予測は、CCLM(Cross-Component Linear Model)またはMMLM(Multi-Model-component Linear Model)である
 上記(1)から(11)までのいずれかに記載の画像処理装置。
(13)
 符号化処理の対象となるカレント予測ブロックに対して輝度成分の画素と色差成分の画素との間で予測を行う成分間予測を行う際に、前記カレント予測ブロックのパラメータに応じて前記成分間予測を行う際に参照する参照画素のパターンである参照画素パターンが変更された参照画素を用いて、前記成分間予測を行って予測画素を生成するイントラ予測工程と、
 前記イントラ予測工程において生成された前記予測画素を用いて、前記カレント予測ブロック内のカレント画素を符号化する符号化工程と
 を含む画像処理方法。
(14)
 符号化処理の対象となるカレント予測ブロックに対して輝度成分の画素と色差成分の画素との間で予測を行う成分間予測を行う際に、前記カレント予測ブロックのパラメータに応じて前記成分間予測を行う際に参照する参照画素のパターンである参照画素パターンが変更された参照画素を用いて、前記成分間予測を行って予測画素を生成するイントラ予測部と、
 前記イントラ予測部により生成された前記予測画素を用いて、前記カレント予測ブロック内のカレント画素を復号する復号部と
 を備える画像処理装置。
(15)
 復号処理の対象となるカレント予測ブロックに対して輝度成分の画素と色差成分の画素との間で予測を行う成分間予測を行う際に、前記カレント予測ブロックのパラメータに応じて前記成分間予測を行う際に参照する参照画素のパターンである参照画素パターンが変更された参照画素を用いて、前記成分間予測を行って予測画素を生成するイントラ予測工程と、
 前記イントラ予測工程において生成された前記予測画素を用いて、前記カレント予測ブロック内のカレント画素を復号する復号工程と
 を含む画像処理方法。
 なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
 11 画像処理システム, 12 画像符号化装置, 13 画像復号装置, 14 イントラ予測部, 15 符号化部, 16 イントラ予測部, 17 復号部, 21 CCLM予測部, 22 輝度信号イントラ予測部, 23 輝度情報ダウンサンプリング部, 24 色差信号イントラ予測部

Claims (15)

  1.  符号化処理の対象となるカレント予測ブロックに対して輝度成分の画素と色差成分の画素との間で予測を行う成分間予測を行う際に、前記カレント予測ブロックのパラメータに応じて前記成分間予測を行う際に参照する参照画素のパターンである参照画素パターンが変更された参照画素を用いて、前記成分間予測を行って予測画素を生成するイントラ予測部と、
     前記イントラ予測部により生成された前記予測画素を用いて、前記カレント予測ブロック内のカレント画素を符号化する符号化部と
     を備える画像処理装置。
  2.  前記参照画素パターンは、前記参照画素の数であり、
     前記イントラ予測部は、前記カレント予測ブロックのパラメータに応じて参照画素の数が変更された参照画素を用いて、前記成分間予測を行う
     請求項1に記載の画像処理装置。
  3.  前記パラメータは、前記カレント予測ブロックのブロックサイズであり、
     前記イントラ予測部は、前記カレント予測ブロックのブロックサイズに応じて参照画素の数が変更された参照画素を用いて、前記成分間予測を行う
     請求項2に記載の画像処理装置。
  4.  前記パラメータは、前記カレント予測ブロックの形状であり、
     前記イントラ予測部は、前記カレント予測ブロックの形状に応じて参照画素の数が変更された参照画素を用いて、前記成分間予測を行う
     請求項2に記載の画像処理装置。
  5.  前記参照画素パターンは、前記参照画素の位置であり、
     前記イントラ予測部は、前記カレント予測ブロックのパラメータに応じて参照画素の位置が変更された参照画素を用いて、前記成分間予測を行う
     請求項1に記載の画像処理装置。
  6.  前記パラメータは、前記カレント予測ブロックのブロックサイズであり、
     前記イントラ予測部は、前記カレント予測ブロックのブロックサイズに応じて参照画素の位置が変更された参照画素を用いて、前記成分間予測を行う
     請求項5に記載の画像処理装置。
  7.  前記パラメータは、前記カレント予測ブロックの形状であり、
     前記イントラ予測部は、前記カレント予測ブロックの形状に応じて参照画素の位置が変更された参照画素を用いて、前記成分間予測を行う
     請求項5に記載の画像処理装置。
  8.  前記参照画素の値を用いて前記成分間予測を行う際の予測パラメータを導出する導出ルールは、予め設定されている
     請求項1に記載の画像処理装置。
  9.  前記導出ルールは、前記参照画素の値をソートして最大値と最小値を導出する手順である
     請求項8に記載の画像処理装置。
  10.  前記イントラ予測部は、前記カレント予測ブロックが分割されたサブブロック毎に前記成分間予測を行う
     請求項1に記載の画像処理装置。
  11.  前記参照画素は、ダウンサンプリングされた画素である
     請求項1に記載の画像処理装置。
  12.  前記成分間予測は、CCLM(Cross-Component Linear Model)またはMMLM(Multi-Model-component Linear Model)である
     請求項1に記載の画像処理装置。
  13.  符号化処理の対象となるカレント予測ブロックに対して輝度成分の画素と色差成分の画素との間で予測を行う成分間予測を行う際に、前記カレント予測ブロックのパラメータに応じて前記成分間予測を行う際に参照する参照画素のパターンである参照画素パターンが変更された参照画素を用いて、前記成分間予測を行って予測画素を生成するイントラ予測工程と、
     前記イントラ予測工程において生成された前記予測画素を用いて、前記カレント予測ブロック内のカレント画素を符号化する符号化工程と
     を含む画像処理方法。
  14.  符号化処理の対象となるカレント予測ブロックに対して輝度成分の画素と色差成分の画素との間で予測を行う成分間予測を行う際に、前記カレント予測ブロックのパラメータに応じて前記成分間予測を行う際に参照する参照画素のパターンである参照画素パターンが変更された参照画素を用いて、前記成分間予測を行って予測画素を生成するイントラ予測部と、
     前記イントラ予測部により生成された前記予測画素を用いて、前記カレント予測ブロック内のカレント画素を復号する復号部と
     を備える画像処理装置。
  15.  復号処理の対象となるカレント予測ブロックに対して輝度成分の画素と色差成分の画素との間で予測を行う成分間予測を行う際に、前記カレント予測ブロックのパラメータに応じて前記成分間予測を行う際に参照する参照画素のパターンである参照画素パターンが変更された参照画素を用いて、前記成分間予測を行って予測画素を生成するイントラ予測工程と、
     前記イントラ予測工程において生成された前記予測画素を用いて、前記カレント予測ブロック内のカレント画素を復号する復号工程と
     を含む画像処理方法。
PCT/JP2020/024576 2019-06-24 2020-06-23 画像処理装置および画像処理方法 WO2020262370A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962865489P 2019-06-24 2019-06-24
US62/865,489 2019-06-24

Publications (1)

Publication Number Publication Date
WO2020262370A1 true WO2020262370A1 (ja) 2020-12-30

Family

ID=74061418

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/024576 WO2020262370A1 (ja) 2019-06-24 2020-06-23 画像処理装置および画像処理方法

Country Status (1)

Country Link
WO (1) WO2020262370A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019147910A1 (en) * 2018-01-26 2019-08-01 Interdigital Vc Holdings, Inc. Method and apparatus for video encoding and decoding based on a linear model responsive to neighboring samples

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019147910A1 (en) * 2018-01-26 2019-08-01 Interdigital Vc Holdings, Inc. Method and apparatus for video encoding and decoding based on a linear model responsive to neighboring samples

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
JANGWON CHOI ET AL.: "CE3-related : Reduced number of reference samples for CCLM parameter calculation", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, 12TH MEETING, no. JVET-L0138-v2, 1 October 2018 (2018-10-01), Macao, CN, pages 1 - 5, XP030194150 *
JUNYAN HUO ET AL.: "CE3-1.5: CCLM derived with four neighbouring samples", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/ WG 11, 14TH MEETING, no. JVET-N0271-v3, 22 March 2019 (2019-03-22), Geneva, CH, pages 1 - 3, XP030204448 *
JUNYAN HUO ET AL.: "CE3-related: Fixed Reference Samples Design for CCLM", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/ WG 11, 13TH MEETING, no. JVET-M0211-v3, 10 January 2019 (2019-01-10), Marrakech, MA, pages 1 - 6, XP030201313 *
MASARU IKEDA ET AL.: "CE3-related: Sampling point extension for CCLM", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, 15TH MEETING, no. JVET-O0412-v4, July 2019 (2019-07-01), Gothenburg, SE, pages 1 - 11 *
MENG WANG ET AL.: "CE3-related: Modified linear model derivation for CCLM modes", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, 3TH MEETING, no. JVET-M0274, 3 January 2019 (2019-01-03), Marrakech, MA, pages 1 - 3, XP030200428 *

Similar Documents

Publication Publication Date Title
US11595667B2 (en) Constraints on locations of reference blocks for intra block copy prediction
US11758162B2 (en) Rules for intra-picture prediction modes when wavefront parallel processing is enabled
US11006123B2 (en) Method and apparatus for processing a video signal
US10750177B2 (en) Image coding apparatus, image coding method, and program, and image decoding apparatus, image decoding method, and program
US10567754B2 (en) Hash table construction and availability checking for hash-based block matching
US10075725B2 (en) Device and method for image encoding and decoding
US20220046232A1 (en) Video encoding and decoding method for predicting chroma component, and video encoding and decoding device for predicting chroma component
JPWO2020175145A1 (ja) 画像処理装置及び画像処理方法
KR20230145002A (ko) 화면 간 예측을 이용한 영상 복호화 방법 및 장치
US20220232237A1 (en) Image decoding device using tool set and image decoding method thereby, and image encoding device and image encoding method thereby
WO2021060262A1 (ja) 画像処理装置および画像処理方法
WO2020262370A1 (ja) 画像処理装置および画像処理方法
WO2023127940A1 (ja) 画像処理装置および画像処理方法
WO2021054437A1 (ja) 画像処理装置および画像処理方法
WO2020184715A1 (ja) 画像処理装置および画像処理方法
GB2585067A (en) Image data encoding and decoding
WO2021054438A1 (ja) 画像処理装置および画像処理方法
WO2020255940A1 (ja) 画像処理装置および画像処理方法
WO2021125316A1 (ja) 画像処理装置および画像処理方法
WO2021060484A1 (ja) 画像処理装置および画像処理方法
US20220078416A1 (en) Image processing device and image processing method
KR102586198B1 (ko) 화면 간 예측을 이용한 영상 복호화 방법 및 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20831794

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20831794

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP