WO2021060484A1 - Image processing device and image processing method - Google Patents

Image processing device and image processing method Download PDF

Info

Publication number
WO2021060484A1
WO2021060484A1 PCT/JP2020/036316 JP2020036316W WO2021060484A1 WO 2021060484 A1 WO2021060484 A1 WO 2021060484A1 JP 2020036316 W JP2020036316 W JP 2020036316W WO 2021060484 A1 WO2021060484 A1 WO 2021060484A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
image
identification information
processing
prediction
Prior art date
Application number
PCT/JP2020/036316
Other languages
French (fr)
Japanese (ja)
Inventor
健治 近藤
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Publication of WO2021060484A1 publication Critical patent/WO2021060484A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present disclosure relates to an image processing apparatus and an image processing method, and more particularly to an image processing apparatus and an image processing method capable of suppressing deterioration of image quality and deterioration of coding efficiency.
  • VVC Very Video Coding
  • Non-Patent Document 1 discloses a technique for applying motion compensation to a luminance component using an optical flow.
  • the present disclosure has been made in view of such a situation, and makes it possible to suppress deterioration of image quality and deterioration of coding efficiency.
  • the image processing apparatus of the first aspect of the present disclosure sets identification information for identifying whether to perform motion compensation processing to which optical flow processing is applied to the pixels of the current prediction block of the image to be encoded. It includes a setting unit and a coding unit that encodes the image and generates a bit stream including identification information set by the setting unit.
  • the image processing method of the first aspect of the present disclosure identifies whether the image processing apparatus performs motion compensation processing to which optical flow processing is applied to the pixels of the current prediction block of the image to be encoded. It includes setting the identification information and encoding the image to generate a bitstream containing the set identification information.
  • identification information is set to identify whether to perform motion compensation processing to which optical flow processing is applied to the pixels of the current prediction block of the image to be encoded, and the image is displayed. It is encoded to generate a bitstream containing the set identification information.
  • the image processing apparatus of the second aspect of the present disclosure is a bit stream including identification information that identifies whether to perform motion compensation processing to which optical flow processing is applied to the pixels of the current prediction block of the image to be decoded. From the perspective unit that parses the identification information, a control unit that controls whether to perform motion compensation processing to which the optical flow processing is applied by referring to the identification information parsed by the perspective unit, and a control unit that controls the control unit. It is provided with a decoding unit that decodes the current prediction block by using the prediction image generated by the motion compensation processing.
  • the image processing method of the second aspect of the present disclosure identifies whether the image processing apparatus performs motion compensation processing to which optical flow processing is applied to the pixels of the current prediction block of the image to be decoded. Parsing the identification information from a bit stream containing information, controlling whether to perform motion compensation processing to which optical flow processing is applied by referring to the parsed identification information, and controlled motion compensation processing. Includes decoding the current prediction block using the prediction image generated by.
  • the second aspect of the present disclosure is from a bitstream containing identification information that identifies whether to perform motion compensation processing to which optical flow processing is applied to the pixels of the current prediction block of the image to be decoded.
  • the identification information is parsed, and with reference to the parsed identification information, it is controlled whether or not motion compensation processing to which optical flow processing is applied is performed, and current prediction is performed using a prediction image generated by the controlled motion compensation processing.
  • the block is decrypted.
  • references REF1 to REF5 which are known at the time of filing, are also incorporated herein by reference.
  • the contents described in the following references REF1 to REF5 are also the basis for judging the support requirements.
  • the references referenced in references REF1 to REF5 are also the basis for determining support requirements.
  • REF1 Recommendation ITU-T H.264 (04/2017) “Advanced video coding for generic audiovisual services”, April 2017
  • REF2 Recommendation ITU-T H.265 (02/2018) “High efficiency video coding”, February 2018
  • REF3 Benjamin Bross, Jianle Chen, Shan Liu, Versatile Video Coding (Draft 6), JVET-O2001-v14 (version 14 --date 2019-07-31)
  • REF4 Jianle Chen, Yan Ye, Seung Hwan Kim, Algorithm description for Versatile Video Coding and Test Model 6 (VTM 6), JVET-O2002-v1 (version 1 --date 2019-08-15)
  • REF5 Jiancong (Daniel) Luo, Yuwen He
  • CE4 Prediction refinement with optical flow for affine mode (Test 2.1), JVET-O0070, (version 5 --date 2019-07-10)
  • REF3 describes PROF (Prediction refinement with optical flow) and high-level syntax related to this technology, which will be described later, as shown in FIG.
  • 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 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, SCU, etc.).
  • 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 processes 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, or data in 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 limit, / lower limit, or both) to which the present technology is applied (or permission or prohibition of application), a frame, a component, a layer, or 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.
  • decoding includes not only the entire process of converting a bitstream into an image, but also some processes.
  • it not only includes processing that includes inverse arithmetic decoding, inverse quantization, inverse orthogonal transformation, prediction processing, etc., but also processing that includes inverse arithmetic decoding and inverse quantization, inverse arithmetic decoding, inverse quantization, and prediction processing.
  • the prediction block means a block that is a processing unit when performing inter-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 when performing orthogonal conversion, or the coding block, which is the processing unit when performing coding processing, and the orthogonal conversion block, It means the same flock as the coded block.
  • Inter-prediction is a general term for processing that involves prediction between frames (prediction blocks), such as derivation of motion vectors by motion detection (MotionPrediction / MotionEstimation) and motion compensation using motion vectors (MotionCompensation). , Some processing (for example, motion compensation processing only) or all processing (for example, motion detection processing + motion compensation processing) used when generating a predicted image is included.
  • the inter-prediction mode is referred to when deriving the inter-prediction mode, such as the mode number when performing inter-prediction, the index of the mode number, the block size of the prediction block, and the size of the sub-block that is the processing unit in the prediction block. It means a comprehensive set of variables (parameters).
  • identification data that identifies a plurality of patterns can be set as a bitstream syntax.
  • the decoder can perform processing more efficiently by parsing + referencing the identification data.
  • the method (data) for identifying the block size is not only to quantify (bite) the block size itself, but also to identify the difference value with respect to the reference block size (maximum block size, minimum block size, etc.) ( Data) is also included.
  • motion compensation processing using affine transformation is performed by further dividing the motion compensation block into 4 ⁇ 4 samples called subblocks.
  • the luminance component Y is subjected to motion compensation processing in an 8 ⁇ 8 block
  • the color difference components Cb and Cr are subjected to motion compensation processing in a 4 ⁇ 4 block. That is, the sizes of the 8 ⁇ 8 block of the luminance component Y and the 4 ⁇ 4 block of the color difference components Cb and Cr match.
  • the size of the subblock is 4 ⁇ 4, so that the 8 ⁇ 8 block of the luminance component Y is divided into four subblocks.
  • the present technology proposes to skip the optical flow processing so that it is not applied to the image of a specific case.
  • FIG. 4 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 from the bit stream.
  • the decoded image is output.
  • the image coding device 12 includes an inter-prediction unit 21, a coding unit 22, and a setting unit 23, and the image decoding device 13 includes an inter-prediction unit 31, a decoding unit 32, a perspective unit 33, and a control unit 34. have.
  • the inter-prediction unit 21 performs motion compensation processing by applying an interpolation filter to the current prediction block to be coded, and performs inter-prediction to generate prediction pixels in the current prediction block.
  • the inter-prediction unit 21 is configured to perform motion compensation processing (hereinafter, referred to as color difference optical flow processing) to which optical flow processing is applied to the color difference component of the current prediction block to be coded. Will be done. That is, the inter-prediction unit 21 performs the color difference optical flow processing on the color difference component as well as the luminance component. Of course, the inter-prediction unit 21 can perform normal optical flow processing.
  • the coding unit 22 encodes the current pixel in the current prediction block using the prediction pixel generated by the inter prediction unit 21 to generate a bit stream.
  • the setting unit 23 sets identification data for identifying whether to apply the color difference optical flow processing, block size identification data for identifying the block size of the predicted block to which the color difference optical flow processing is applied, and the like. Then, the coding unit 22 generates a bit stream including the identification data set by the setting unit 23.
  • the setting unit 23 identifies identification information for identifying whether to perform motion compensation processing to which optical flow processing is applied to the pixels of the current prediction block of the image to be encoded, and motion to which optical flow processing is applied.
  • Set identification information that identifies whether compensation processing is performed on the slice.
  • the setting unit 23 sets the identification information for identifying whether to perform the motion compensation processing to which the optical flow processing is applied to the slice as the header of the bitstream, and the coding unit 22 sets the identification information as the header syntax.
  • the setting unit 23 sets the existence identification information for identifying that the identification information is included in the bit stream as a sequence parameter set, and the coding unit 22 sets the bit stream including the existence identification information as the sequence parameter set. Generate.
  • the inter-prediction unit 31 Similar to the inter-prediction unit 21, the inter-prediction unit 31 also performs color-difference optical flow processing on the color-difference component of the current prediction block to be decoded, and generates prediction pixels in the current prediction block.
  • the inter-prediction unit 31 refers to the identification data contained in the bitstream to identify whether or not to apply the cross-component inter-prediction, and to identify the block size of the prediction block to which the cross-component inter-prediction is applied. can do. Of course, the inter-prediction unit 31 can perform normal optical flow processing.
  • the decoding unit 32 decodes the current pixel in the current prediction block by using the prediction pixel generated by the inter prediction unit 31 by the motion compensation process controlled by the control unit 34.
  • the parsing unit 33 parses the identification information from the bit stream including the identification information that identifies whether to perform the motion compensation processing to which the optical flow processing is applied to the pixels of the current prediction block of the image to be the decoding processing. ..
  • the identification information is included as a bitstream header, and the parsing unit 33 parses the bitstream header. Further, the parse unit 33 parses the identification information only when it indicates that the existence identification information included in the bit stream includes the identification information.
  • the bitstream includes the existence identification information as a sequence parameter set, and the parse unit 33 parses the existence identification information included in the bitstream by setting the sequence parameters.
  • the control unit 34 controls whether to perform motion compensation processing to which optical flow processing is applied with reference to the identification information parsed by the perspective unit 33, and the decoding unit 32 controls the motion compensation processing controlled by the control unit 34.
  • the current prediction block is decoded using the prediction image generated by.
  • the control unit 34 controls to perform the motion compensation process to which the optical flow process is applied only when the identification information indicates that the motion compensation process to which the optical flow process is applied is performed.
  • the control unit 34 controls to skip the motion compensation process to which the optical flow process is applied.
  • the image processing system 11 is configured as described above, and inter-prediction is performed using motion prediction called PROF.
  • motion compensation is performed at the subblock level using an affine motion model, and then PROF is applied to perform correction using optical flow processing at the pixel level.
  • PROF is usually applied only to luminance signals and not to chroma signals in order to reduce the amount of processing. Therefore, for example, in an image in a specific case where the affine transformation is effective, such as when an object is rotating, the image quality of the chroma signal deteriorates and the coding efficiency deteriorates due to the difference in the handling of the luminance signal and the chroma signal. May occur.
  • PROF can be controlled so as not to be applied to the image of a specific case as described below.
  • the image processing system 11 controls the PROF by using the high-level syntax of the bitstream as shown in FIG. 1 described above.
  • slices that are likely to correspond to a specific case where you want to control RPOF are slices with large movements of the affine movement model as well as translational movements, slices whose reference direction is only the past, and slices whose reference direction is only the future.
  • the slice whose reference direction is only the past cannot be used for bidirectional prediction between the past and the future, and the slice with a large time distance of the referenced frame is concerned that the change in movement is large. is there.
  • the image processing system 11 can signal each coding unit (slice) to be controlled.
  • the setting unit 23 sets the existence identification information sps_prof_enable_slice_present_flag to 1, sets the identification information slice_disable_prof_flag to 1 in the slice header of the current slice to be encoded, and sets the identification information slice_disable_prof_flag to 1.
  • Send to 13 the parse unit 33 parses the existence identification information sps_prof_enable_slice_present_flag, and if 1 is set, the identification information slice_disable_prof_flag is also read by the slice header.
  • the parsing unit 33 parses the identification information slice_disable_prof_flag, and if 1 is set, the parsing unit 33 processes the current slice so that the PROF processing is not performed.
  • the image processing system 11 it is possible to skip the optical flow processing so that neither the luminance signal nor the chroma signal is applied to the image in a specific case. As a result, it is possible to suppress deterioration of the image quality of the chroma signal due to the difference in handling of the luminance signal and the chroma signal, and it is expected that the coding efficiency of the chroma signal is improved. Further, in the image processing system 11, the PROF can be flexibly controlled from the viewpoint of the processing amount.
  • slice_disable_prof_flag 1
  • slice_disable_prof_flag 0
  • slice_disable_prof_flag 0
  • the inter-prediction unit 21 and the inter-prediction unit 31 have already calculated the pixel-level motion vectors ⁇ V Cb (i, j) and ⁇ V Cr (i, j) of the color difference components Cb and Cr. It is derived from the motion vector ⁇ V (i, j) used for the luminance component Y. Then, in the image processing system 11, by applying the color difference optical flow processing to the color difference components Cb and Cr, it is possible to suppress subjective deterioration of image quality and deterioration of coding efficiency.
  • FIG. 5 is a diagram illustrating a first method of obtaining a motion vector for the color difference components Cb and Cr from the motion vector for the luminance component Y.
  • the pixel-level motion vector ⁇ V Cb of the color difference component Cb and the pixel-level motion vector ⁇ V Cr of the color difference component Cr are calculated from the average of the motion vector ⁇ V used for the brightness component Y. How to do it.
  • one pixel of the color difference components Cb and Cr corresponds to four pixels of the brightness component Y, and the four motion vectors ⁇ V (i, j) used in the optical flow processing for the four pixels.
  • the average is calculated and used as the motion vectors ⁇ V Cb (i, j) and ⁇ V Cr (i, j) of the color difference components Cb and Cr.
  • X component ⁇ V Cbx (i, j) of the motion vector of the color difference component Cb is, the x component [Delta] V lx upper left of the motion vector of the luminance component Y (i, j), x component [Delta] V lx at the top right of the motion vector of the luminance component Y (I + 1, j) , using the x component ⁇ V lix (i, j + 1) of the lower left motion vector of the luminance component Y and the x component ⁇ V lix (i + 1, j + 1) of the lower right motion vector of the luminance component Y, It is calculated according to the following equation (1).
  • the y component ⁇ V Cby (i, j) of the motion vector of the color difference component Cb is the y component ⁇ V ly (i, j) of the motion vector on the upper left of the brightness component Y, and the y component y of the motion vector on the upper right of the brightness component Y.
  • the x component ⁇ V Crx (i, j) and the y component ⁇ V Cry (i, j) of the motion vector of the color difference component Cr can be obtained.
  • Chrominance components Cb (i, j) of the amount of change .DELTA.Cb (i, j) is, x direction of the gradient g Cbx (i, j) of the color difference components Cb and y direction of the gradient g Cby (i, j), and the formula It is obtained according to the following equation (2) using the x component ⁇ V Cbx (i, j) and the y component ⁇ V Cby (i, j) of the motion vector ⁇ V Cb (i, j) obtained from (1).
  • the position (i, j) the color difference components Cb (i, j) color corrected by applying the color difference optical flow processing to difference components Cb '(i, j) of was determined by the equation (2)
  • the amount of change ⁇ Cb (i, j) to the color difference component Cb (i, j) as a correction value it can be obtained according to the following equation (3).
  • the color difference component Cr (i, j) at the position (i, j) is also corrected by applying the color difference optical flow processing using the equations (2) and (3). Cr' (i, j) can be obtained.
  • FIG. 6 is a diagram illustrating a second method of obtaining a motion vector for the color difference components Cb and Cr from the motion vector for the luminance component Y.
  • one of the motion vectors ⁇ V (i, j) used for the luminance component Y is used as the pixel-level motion vectors ⁇ V Cb (i, j) and ⁇ V Cr ( for the color difference components Cb and Cr). This is the method used as i, j).
  • one pixel of the color difference components Cb and Cr corresponds to four pixels of the brightness component Y, and the four motion vectors ⁇ V (i, j) used in the optical flow processing for the four pixels.
  • the motion vector of the upper left pixel is defined as the motion vectors ⁇ V Cb (i, j) and ⁇ V Cr (i, j) of the color difference components Cb and Cr. Use.
  • the x component ⁇ V Cbx (i, j) and the y component ⁇ V Cby (i, j) of the motion vector of the color difference component Cb are the x component of the motion vector on the upper left of the luminance component Y, as shown in the following equation (4). It becomes ⁇ V lp (i, j) and y component ⁇ V ly (i, j).
  • the image processing system 11 can improve the accuracy of motion compensation by performing motion compensation for the color difference components Cb and Cr at the sub-block level and then performing color difference optical flow processing. Then, the luminance component Y is subjected to the optical flow treatment, and the color difference components Cb and Cr are subjected to the color difference optical flow treatment to reduce the deviation between the corrected luminance component Y and the color difference components Cb and Cr. , Deterioration of image quality and deterioration of coding efficiency can be suppressed.
  • the reference POC distance or Temporal ID is used as a threshold value, and whether or not the present technology is applied is determined based on whether or not the correction of the affine transformation is expected to be large. Can be done. For example, it is conceivable to use this technique in the refine conversion of a reference with a large POC distance. Further, when hierarchical coding is used, the same effect can be obtained with Temporal ID. That is, under the condition that the Temporal ID is smaller or larger than the predetermined threshold value, a large movement is compensated, and this technique can be an effective condition.
  • L0 and L1 are references in the same time direction as shown by the solid arrow.
  • the direction of L0 and L1 prediction is the past and the future as shown by the broken line arrow. Therefore, when the past and future can be used as a reference like POC4, motion compensation with a certain degree of accuracy can be performed without correction by optical flow.
  • the optical flow processing is applied to the luminance signal Y and the color difference optical flow processing is applied to the chroma signal Cb and the chroma signal Cr, but the present invention is limited to this. It will not be done.
  • the optical flow processing can be applied to the luminance signal Y, and the color difference optical flow processing can be applied to the difference signal U and the difference signal V.
  • FIG. 8 is a block diagram showing a configuration example of an embodiment of a computer-based system to which the present technology is applied.
  • FIG. 8 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.
  • the hardware and software environment shown in the embodiment of FIG. 8 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 101 includes a computer 102, a network 103, a remote computer 104, a web server 105, a cloud storage server 106, and a computer server 107.
  • a plurality of instances are executed by one or more of the functional blocks shown in FIG.
  • FIG. 8 a detailed configuration of the computer 102 is illustrated.
  • the functional block shown in the computer 102 is shown for establishing an exemplary function, and is not limited to such a configuration.
  • the detailed configurations of the remote computer 104, the web server 105, the cloud storage server 106, and the computer server 107 are not shown, they include the same configurations as the functional blocks shown in the computer 102. ing.
  • the computer 102 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 102 includes a bus 111, a processor 112, a memory 113, a non-volatile storage 114, a network interface 115, a peripheral device interface 116, and a display interface 117.
  • a bus 111 bus 111
  • a processor 112 a memory 113
  • a non-volatile storage 114 non-volatile storage 114
  • a network interface 115 network interface 115
  • a peripheral device interface 116 a display interface 117.
  • Each of these features is implemented in an individual electronic subsystem (integrated circuit chip or a combination of chips and associated devices) in some embodiments, or in some embodiments, some of the features are combined. It may be mounted on a single chip (system on chip or SoC (System on Chip)).
  • Bus 111 can adopt various proprietary or industry standard high-speed parallel or serial peripheral interconnection buses.
  • Processor 112 may employ one designed and / or manufactured as one or more single or multi-chip microprocessors.
  • the memory 113 and the non-volatile storage 114 are storage media that can be read by the computer 102.
  • the memory 113 can employ any suitable volatile storage device such as DRAM (Dynamic Random Access Memory) or SRAM (Static RAM).
  • the non-volatile storage 114 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 Digital Versatile Disc), card type memory, or stick type memory can be adopted.
  • the program 121 is stored in the non-volatile storage 114.
  • Program 121 is, for example, a collection of machine-readable instructions and / or data used to create, manage, and control specific software features. In a configuration in which the memory 113 is much faster than the non-volatile storage 114, the program 121 can be transferred from the non-volatile storage 114 to the memory 113 before being executed by the processor 112.
  • the computer 102 can communicate and interact with other computers via the network 103 via the network interface 115.
  • the network 103 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. ..
  • network 103 consists of any combination of connections and protocols that support communication between two or more computers and related devices.
  • the peripheral device interface 116 can input and output data to and from other devices that can be locally connected to the computer 102.
  • the peripheral interface 116 provides a connection to the external device 131.
  • the external device 131 includes a keyboard, mouse, keypad, touch screen, and / or other suitable input device.
  • the external device 131 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 121 may be stored on such a portable computer readable storage medium.
  • the software may be loaded directly into the non-volatile storage 114 or into the memory 113 via the peripheral interface 116.
  • Peripheral device interface 116 may use an industry standard such as RS-232 or USB (Universal Serial Bus) for connection with the external device 131.
  • the display interface 117 can connect the computer 102 to the display 132, and the display 132 can be used to present a command line or graphical user interface to the user of the computer 102.
  • industry standards such as VGA (Video Graphics Array), DVI (Digital Visual Interface), DisplayPort, and HDMI (High-Definition Multimedia Interface) (registered trademark) can be adopted for the display interface 117.
  • FIG. 9 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 201 shown in FIG. 9 encodes the image data by using the prediction process.
  • the coding method for example, a VVC (Versatile Video Coding) method, a HEVC (High Efficiency Video Coding) method, or the like is used.
  • the image coding device 201 of FIG. 9 has an A / D conversion unit 202, a screen rearrangement buffer 203, a calculation unit 204, an orthogonal conversion unit 205, a quantization unit 206, a lossless coding unit 207, and a storage buffer 208. Further, the image coding device 201 includes an inverse quantization unit 209, an inverse orthogonal conversion unit 210, an arithmetic unit 211, a deblocking filter 212, an adaptive offset filter 213, an adaptive loop filter 214, a frame memory 215, a selection unit 216, and an intra prediction. It has a unit 217, a motion prediction / compensation unit 218, a prediction image selection unit 219, and a rate control unit 220.
  • the A / D conversion unit 202 A / D-converts the input image data (Picture (s)) and supplies it to the screen sorting buffer 203.
  • the digital data image may be input without providing the A / D conversion unit 202.
  • the screen rearrangement buffer 203 stores the image data supplied from the A / D conversion unit 202, 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 203 outputs the images in which the frame order is rearranged to the calculation unit 204, the intra prediction unit 217, and the motion prediction / compensation unit 218.
  • the calculation unit 204 subtracts the prediction image supplied from the intra prediction unit 217 or the motion prediction / compensation unit 218 via the prediction image selection unit 219 from the image output from the screen rearrangement buffer 203, and obtains the difference information. Output to the orthogonal conversion unit 205.
  • the calculation unit 204 subtracts the prediction image supplied from the intra prediction unit 217 from the image output from the screen rearrangement buffer 203. Further, for example, in the case of an image to be intercoded, the calculation unit 204 subtracts the prediction image supplied from the motion prediction / compensation unit 218 from the image output from the screen rearrangement buffer 203.
  • the orthogonal transform unit 205 performs orthogonal transforms such as discrete cosine transform and Karhunen-Loève transform on the difference information supplied from the arithmetic unit 204, and supplies the conversion coefficients to the quantization unit 206.
  • the quantization unit 206 quantizes the conversion coefficient output by the orthogonal conversion unit 205.
  • the quantized unit 206 supplies the quantized conversion coefficient to the lossless coding unit 207.
  • the lossless coding unit 207 applies lossless coding such as variable length coding and arithmetic coding to the quantized conversion coefficient.
  • the lossless coding unit 207 acquires parameters such as information indicating the intra prediction mode from the intra prediction unit 217, and acquires parameters such as information indicating the inter prediction mode and motion vector information from the motion prediction / compensation unit 218.
  • the lossless coding unit 207 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 lossless coding unit 207 supplies the coded data obtained by coding to the storage buffer 208 and stores it.
  • lossless coding processing such as variable length coding or arithmetic coding is performed.
  • variable-length coding include CAVLC (Context-Adaptive Variable Length Coding).
  • arithmetic coding include CABAC (Context-Adaptive Binary Arithmetic Coding).
  • the storage buffer 208 temporarily holds the coded stream (Encoded Data) supplied from the reversible coding unit 207, 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 208 is also a transmission unit that transmits a coded stream.
  • the coded stream Encoded Data
  • the conversion coefficient quantized in the quantization unit 206 is also supplied to the inverse quantization unit 209.
  • the dequantization unit 209 dequantizes the quantized conversion coefficient by a method corresponding to the quantization by the quantization unit 206.
  • the inverse quantization unit 209 supplies the obtained conversion coefficient to the inverse orthogonal conversion unit 210.
  • the inverse orthogonal conversion unit 210 performs inverse orthogonal conversion of the supplied conversion coefficient by a method corresponding to the orthogonal conversion processing by the orthogonal conversion unit 205.
  • the inverse orthogonally converted output (restored difference information) is supplied to the calculation unit 211.
  • the calculation unit 211 supplies the inverse orthogonal conversion result supplied from the inverse orthogonal conversion unit 210, that is, the restored difference information from the intra prediction unit 217 or the motion prediction / compensation unit 218 via the prediction image selection unit 219.
  • the predicted images are added to obtain a locally decoded image (decoded image).
  • the calculation unit 211 adds the prediction image supplied from the intra prediction unit 217 to the difference information. Further, for example, when the difference information corresponds to an image to be inter-encoded, the calculation unit 211 adds the predicted image supplied from the motion prediction / compensation unit 218 to the difference information.
  • the decoded image that is the addition result is supplied to the deblocking filter 212 and the frame memory 215.
  • the deblocking filter 212 suppresses the block distortion of the decoded image by appropriately performing the deblocking filter processing on the image from the calculation unit 211, and supplies the filter processing result to the adaptive offset filter 213.
  • the deblocking filter 212 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 of the deblocking filter 212 are extended from ⁇ and Tc specified by the HEVC method.
  • Each offset of the parameters ⁇ and Tc is encoded by the lossless coding unit 207 as a parameter of the deblocking filter and transmitted to the image decoding device 301 of FIG. 11 to be described later.
  • the adaptive offset filter 213 mainly performs an offset filter (SAO: Sample adaptive offset) process that suppresses ringing on the image after filtering by the deblocking filter 212.
  • SAO Sample adaptive offset
  • the adaptive offset filter 213 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 212. Apply processing.
  • the adaptive offset filter 213 supplies the filtered image to the adaptive loop filter 214.
  • the quad-tree structure and the offset value for each divided region are calculated and used by the adaptive offset filter 213.
  • the calculated quad-tree structure and the offset value for each divided region are encoded by the lossless coding unit 207 as adaptive offset parameters and transmitted to the image decoding device 301 of FIG. 11 to be described later.
  • the adaptive loop filter 214 performs adaptive loop filter (ALF: Adaptive Loop Filter) processing for each processing unit on the image after filtering by the adaptive offset filter 213, using the filter coefficient.
  • 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 214 supplies the filter processing result to the frame memory 215.
  • the filter coefficient is an adaptive loop filter 214 for each processing unit so as to minimize the residual with the original image from the screen rearrangement buffer 203. It is calculated and used by.
  • the calculated filter coefficient is encoded by the lossless coding unit 207 as an adaptive loop filter parameter and transmitted to the image decoding device 301 of FIG. 11, which will be described later.
  • the frame memory 215 outputs the stored reference image to the intra prediction unit 217 or the motion prediction / compensation unit 218 via the selection unit 216 at a predetermined timing.
  • the frame memory 215 supplies the reference image to the intra-prediction unit 217 via the selection unit 216. Further, for example, when intercoding is performed, the frame memory 215 supplies the reference image to the motion prediction / compensation unit 218 via the selection unit 216.
  • the selection unit 216 supplies the reference image to the intra prediction unit 217. Further, when the reference image supplied from the frame memory 215 is an image to be intercoded, the selection unit 216 supplies the reference image to the motion prediction / compensation unit 218.
  • the intra prediction unit 217 performs intra prediction (in-screen prediction) that generates a prediction image using the pixel values in the screen.
  • the intra prediction unit 217 performs intra prediction in a plurality of modes (intra prediction mode).
  • the intra prediction unit 217 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 217 supplies the prediction image generated in the optimum mode to the calculation unit 204 and the calculation unit 211 via the prediction image selection unit 219.
  • the intra prediction unit 217 appropriately supplies parameters such as intra prediction mode information indicating the adopted intra prediction mode to the lossless coding unit 207.
  • the motion prediction / compensation unit 218 uses the input image supplied from the screen rearrangement buffer 203 and the reference image supplied from the frame memory 215 via the selection unit 216 for the image to be intercoded. Predict movement. Further, the motion prediction / compensation unit 218 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 218 performs inter-prediction processing in all candidate inter-prediction modes and generates a prediction image.
  • the motion prediction / compensation unit 218 supplies the generated predicted image to the calculation unit 204 and the calculation unit 211 via the prediction image selection unit 219. Further, the motion prediction / compensation unit 218 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 207.
  • the prediction image selection unit 219 supplies the output of the intra prediction unit 217 to the calculation unit 204 and the calculation unit 211 in the case of an image to be intra-encoded, and in the case of an image to be inter-encoded, the motion prediction / compensation unit 218 of the prediction image selection unit 219.
  • the output is supplied to the calculation unit 204 and the calculation unit 211.
  • the rate control unit 220 controls the rate of the quantization operation of the quantization unit 206 based on the compressed image stored in the storage buffer 208 so that overflow or underflow does not occur.
  • the image coding device 201 is configured in this way, the lossless coding unit 207 corresponds to the coding unit 22 of FIG. 4, and the motion prediction / compensation unit 218 corresponds to the inter prediction unit 21 of FIG. .. Further, the motion prediction / compensation unit 218 also corresponds to the setting unit 23 in FIG. 4, and can supply the above-mentioned identification information, existence identification information, and the like to the lossless coding unit 207. Therefore, as described above, the image coding device 201 can suppress more subjective deterioration of image quality and deterioration of coding efficiency.
  • step S101 the A / D conversion unit 202 A / D-converts the input image.
  • step S102 the screen rearrangement buffer 203 stores the A / D-converted images by the A / D conversion unit 202, and rearranges the images from the display order of each picture to the coding order.
  • the referenced decoded image is read from the frame memory 215 and is read from the frame memory 215 and is passed through the selection unit 216 to the intra prediction unit. It is supplied to 217.
  • the intra-prediction unit 217 intra-predicts the pixels of the block to be processed in all the candidate intra-prediction modes.
  • a pixel not filtered by the deblocking filter 212 is used as the decoded pixel to be referred to.
  • intra-prediction is performed in all candidate intra-prediction modes, and cost function values are calculated for all 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 of the optimum intra prediction mode and the cost function value thereof are supplied to the prediction image selection unit 219.
  • the referenced image is read from the frame memory 215 and supplied to the motion prediction / compensation unit 218 via the selection unit 216. Will be done. Based on these images, in step S104, the motion prediction / compensation unit 218 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 219.
  • step S105 the prediction image selection unit 219 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 217 and the motion prediction / compensation unit 218. Determine to predict mode. Then, the prediction image selection unit 219 selects the determined prediction image of the optimum prediction mode and supplies it to the calculation units 204 and 211. This predicted image is used for the calculation of steps S106 and S111 described later.
  • the selection information of this prediction image is supplied to the intra prediction unit 217 or the motion prediction / compensation unit 218.
  • the intra prediction unit 217 supplies information indicating the optimum intra prediction mode (that is, parameters related to the intra prediction) to the lossless coding unit 207.
  • the motion prediction / compensation unit 218 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 207.
  • the information according to the optimum inter-prediction mode include motion vector information and reference frame information.
  • step S106 the calculation unit 204 calculates the difference between the images sorted in step S102 and the predicted image selected in step S105.
  • the predicted image is supplied to the calculation unit 204 from the motion prediction / compensation unit 218 in the case of inter-prediction and from the intra-prediction unit 217 in the case of intra-prediction via the prediction image selection unit 219.
  • 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 S107 the orthogonal conversion unit 205 orthogonally converts the difference information supplied from the calculation unit 204. 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 S108 the quantization unit 206 quantizes the conversion coefficient.
  • the rate is controlled as described in the process of step S118 described later.
  • step S109 the inverse quantization unit 209 dequantizes the conversion coefficient quantized by the quantization unit 206 with a characteristic corresponding to the characteristic of the quantization unit 206.
  • step S110 the inverse orthogonal conversion unit 210 performs inverse orthogonal conversion of the conversion coefficient inversely quantized by the inverse quantization unit 209 with a characteristic corresponding to the characteristic of the orthogonal conversion unit 205.
  • step S111 the calculation unit 211 adds the predicted image input via the predicted image selection unit 219 to the locally decoded difference information, and locally decodes (that is, locally decoded) the image. (Image corresponding to the input to the calculation unit 204) is generated.
  • step S112 the deblocking filter 212 performs a deblocking filter process on the image output from the calculation unit 211.
  • 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 212 is output to the adaptive offset filter 213.
  • each offset of the parameters ⁇ and Tc used in the deblocking filter 212 which is input by the user by operating the operation unit or the like, is supplied to the reversible coding unit 207 as a parameter of the deblocking filter.
  • step S113 the adaptive offset filter 213 performs adaptive offset filter processing.
  • the filter processing is performed on the image after filtering by the deblocking filter 212 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 214.
  • the determined quad-tree structure and the offset value for each divided region are supplied to the lossless coding unit 207 as an adaptive offset parameter.
  • step S114 the adaptive loop filter 214 performs adaptive loop filter processing on the image after filtering by the adaptive offset filter 213.
  • the image after filtering by the adaptive offset filter 213 is filtered for each processing unit by using the filter coefficient, and the filter processing result is supplied to the frame memory 215.
  • step S115 the frame memory 215 stores the filtered image. Images that have not been filtered by the deblocking filter 212, the adaptive offset filter 213, and the adaptive loop filter 214 are also supplied and stored in the frame memory 215 from the calculation unit 211.
  • the conversion coefficient quantized in step S108 described above is also supplied to the lossless coding unit 207.
  • the lossless coding unit 207 encodes the quantized conversion coefficient output from the quantizing unit 206 and each supplied parameter. That is, the difference image is losslessly coded and compressed by variable length coding, arithmetic coding, and the like.
  • each of the encoded parameters includes a deblocking filter parameter, an adaptive offset filter parameter, an adaptive loop filter parameter, a quantization parameter, motion vector information and reference frame information, prediction mode information, and the like.
  • step S117 the storage buffer 208 stores the coded difference image (that is, the coded stream) as a compressed image.
  • the compressed image stored in the storage buffer 208 is appropriately read out and transmitted to the decoding side via the transmission line.
  • step S118 the rate control unit 220 controls the rate of the quantization operation of the quantization unit 206 based on the compressed image stored in the storage buffer 208 so that overflow or underflow does not occur.
  • step S118 When the process of step S118 is completed, the coding process is completed.
  • step S104 when the motion prediction / compensation unit 218 performs the motion prediction / compensation process in step S104 to generate a prediction image, the color difference optical flow with respect to the color difference components Cb and Cr of the current prediction block. The process is applied. Further, in step S104, the motion prediction / compensation unit 218 sets identification information for identifying whether to perform motion compensation processing to which optical flow processing is applied to the pixels of the current prediction block of the image to be encoded. ..
  • FIG. 11 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 301 shown in FIG. 11 is a decoding device corresponding to the image coding device 201 of FIG.
  • the encoded stream (Encoded Data) encoded by the image coding device 201 is transmitted to the image decoding device 301 corresponding to the image coding device 201 via a predetermined transmission line and decoded. ..
  • the image decoding device 301 includes a storage buffer 302, a reversible decoding unit 303, an inverse quantization unit 304, an inverse orthogonal conversion unit 305, an arithmetic unit 306, a deblocking filter 307, an adaptive offset filter 308, and an adaptive device. It has a loop filter 309, a screen sorting buffer 310, a D / A conversion unit 311, a frame memory 312, a selection unit 313, an intra prediction unit 314, a motion prediction / compensation unit 315, and a selection unit 316.
  • the storage buffer 302 is also a receiving unit that receives the transmitted encoded data.
  • the storage buffer 302 receives the transmitted coded data and stores it. This coded data is encoded by the image coding device 201.
  • the lossless decoding unit 303 decodes the coded data read from the storage buffer 302 at a predetermined timing by a method corresponding to the coding method of the lossless coding unit 207 of FIG.
  • the reversible decoding unit 303 supplies parameters such as information indicating the decoded intra prediction mode to the intra prediction unit 314, and supplies parameters such as information indicating the inter prediction mode and motion vector information to the motion prediction / compensation unit 315. .. Further, the reversible decoding unit 303 supplies the decoded deblocking filter parameters to the deblocking filter 307, and supplies the decoded adaptive offset parameters to the adaptive offset filter 308.
  • the inverse quantization unit 304 dequantizes the coefficient data (quantization coefficient) obtained by decoding by the reversible decoding unit 303 by a method corresponding to the quantization method of the quantization unit 206 of FIG. That is, the inverse quantization unit 304 performs the inverse quantization of the quantization coefficient by the same method as the inverse quantization unit 209 of FIG. 9 using the quantization parameters supplied from the image coding device 201.
  • the inverse quantized unit 304 supplies the inverse quantized coefficient data, that is, the orthogonal conversion coefficient to the inverse orthogonal conversion unit 305.
  • the inverse orthogonal conversion unit 305 is a method corresponding to the orthogonal conversion method of the orthogonal conversion unit 205 of FIG. 9, and the orthogonal conversion coefficient is inversely orthogonally converted to the residual data before the orthogonal conversion by the image coding apparatus 201. Obtain the corresponding decoding residual data.
  • the decoding residual data obtained by the inverse orthogonal conversion is supplied to the calculation unit 306. Further, the calculation unit 306 is supplied with a prediction image from the intra prediction unit 314 or the motion prediction / compensation unit 315 via the selection unit 316.
  • the calculation unit 306 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 204 of the image coding device 201.
  • the calculation unit 306 supplies the decoded image data to the deblocking filter 307.
  • the deblocking filter 307 suppresses the block distortion of the decoded image by appropriately performing the deblocking filter processing on the image from the calculation unit 306, and supplies the filter processing result to the adaptive offset filter 308.
  • the deblocking filter 307 is basically configured in the same manner as the deblocking filter 212 of FIG. That is, the deblocking filter 307 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 307 are extended from ⁇ and Tc defined by the HEVC method.
  • Each offset of the parameters ⁇ and Tc of the deblocking filter encoded by the image coding device 201 is received by the image decoding device 301 as a parameter of the deblocking filter, decoded by the reversible decoding unit 303, and deblocking. Used by filter 307.
  • the adaptive offset filter 308 mainly performs an offset filter (SAO) process for suppressing ringing on the image after filtering by the deblocking filter 307.
  • SAO offset filter
  • the adaptive offset filter 308 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 307. Apply processing.
  • the adaptive offset filter 308 supplies the filtered image to the adaptive loop filter 309.
  • the quad-tree structure and the offset value for each divided region are calculated by the adaptive offset filter 213 of the image coding device 201, encoded as an adaptive offset parameter, and sent. Then, the quad-tree structure encoded by the image coding device 201 and the offset value for each divided region are received by the image decoding device 301 as adaptive offset parameters, decoded by the reversible decoding unit 303, and the adaptive offset. Used by filter 308.
  • the adaptive loop filter 309 filters the image filtered by the adaptive offset filter 308 for each processing unit using the filter coefficient, and supplies the filter processing result to the frame memory 312 and the screen sorting buffer 310. To do.
  • the filter coefficient is calculated for each LUC by the adaptive loop filter 214 of the image coding device 201, and is encoded and sent as an adaptive loop filter parameter. What has been obtained is decoded by the reversible decoding unit 303 and used.
  • the screen sorting buffer 310 sorts the images and supplies them to the D / A conversion unit 311. That is, the order of the frames rearranged for the coding order by the screen rearrangement buffer 203 of FIG. 9 is rearranged in the original display order.
  • the image may be output as digital data without providing the D / A conversion unit 311.
  • the output of the adaptive loop filter 309 is further supplied to the frame memory 312.
  • the frame memory 312, the selection unit 313, the intra prediction unit 314, the motion prediction / compensation unit 315, and the selection unit 316 are the frame memory 215, the selection unit 216, the intra prediction unit 217, and the motion prediction / compensation unit of the image encoding device 201. It corresponds to 218 and the prediction image selection unit 219, respectively.
  • the selection unit 313 reads the interprocessed image and the referenced image from the frame memory 312, and supplies the motion prediction / compensation unit 315. Further, the selection unit 313 reads the image used for the intra prediction from the frame memory 312 and supplies it to the intra prediction unit 314.
  • the intra prediction unit 314 Based on this information, the intra prediction unit 314 generates a prediction image from the reference image acquired from the frame memory 312, and supplies the generated prediction image to the selection unit 316.
  • 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 315 from the reversible decoding unit 303.
  • the motion prediction / compensation unit 315 generates a prediction image from the reference image acquired from the frame memory 312 based on the information supplied from the reversible decoding unit 303, and supplies the generated prediction image to the selection unit 316.
  • the selection unit 316 selects the prediction image generated by the motion prediction / compensation unit 315 or the intra prediction unit 314 and supplies it to the calculation unit 306.
  • the image decoding device 301 is configured in this way, the reversible decoding unit 303 corresponds to the decoding unit 32 of FIG. 4, and the motion prediction / compensation unit 315 corresponds to the inter prediction unit 31 of FIG. Further, the reversible decoding unit 303 also corresponds to the parsing unit 33 and the control unit 34 in FIG. 4, and controls whether to perform motion compensation processing to which the optical flow processing is applied by parsing the above-mentioned identification information and existence identification information. can do. Therefore, as described above, the image decoding device 301 can suppress more subjective deterioration of image quality and deterioration of coding efficiency.
  • step S201 the storage buffer 302 receives the transmitted coded stream (data) and stores it.
  • step S202 the reversible decoding unit 303 decodes the coded data supplied from the storage buffer 302.
  • the I picture, P picture, and B picture encoded by the lossless coding unit 207 of FIG. 9 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 314.
  • 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 315.
  • the parameters of the deblocking filter and the adaptive offset parameter are also decoded and supplied to the deblocking filter 307 and the adaptive offset filter 308, respectively.
  • step S203 the intra prediction unit 314 or the motion prediction / compensation unit 315 each performs a prediction image generation process corresponding to the prediction mode information supplied from the reversible decoding unit 303.
  • the intra prediction unit 314 when the intra prediction mode information is supplied from the reversible decoding unit 303, the intra prediction unit 314 generates an intra prediction image of the intra prediction mode.
  • the motion prediction / compensation unit 315 performs the motion prediction / compensation processing in the inter-prediction mode and generates the inter-prediction image.
  • the prediction image (intra prediction image) generated by the intra prediction unit 314 or the prediction image (inter prediction image) generated by the motion prediction / compensation unit 315 is supplied to the selection unit 316.
  • step S204 the selection unit 316 selects the predicted image. That is, the prediction image generated by the intra prediction unit 314 or the prediction image generated by the motion prediction / compensation unit 315 is supplied. Therefore, the supplied predicted image is selected and supplied to the calculation unit 306, and is added to the output of the inverse orthogonal conversion unit 305 in step S207 described later.
  • step S202 The conversion coefficient decoded by the reversible decoding unit 303 in step S202 described above is also supplied to the inverse quantization unit 304.
  • step S205 the inverse quantization unit 304 dequantizes the conversion coefficient decoded by the reversible decoding unit 303 with a characteristic corresponding to the characteristic of the quantization unit 206 of FIG.
  • step S206 the inverse orthogonal conversion unit 305 performs inverse orthogonal conversion of the conversion coefficient inversely quantized by the inverse quantization unit 304 with a characteristic corresponding to the characteristic of the orthogonal conversion unit 205 of FIG.
  • the difference information corresponding to the input of the orthogonal conversion unit 205 (output of the calculation unit 204) of FIG. 9 is decoded.
  • step S207 the calculation unit 306 adds the predicted image selected in the process of step S204 described above and input via the selection unit 316 to the difference information. This decodes the original image.
  • step S208 the deblocking filter 307 performs a deblocking filter process on the image output from the calculation unit 306.
  • 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 307 is output to the adaptive offset filter 308.
  • the offsets of the parameters ⁇ and Tc of the deblocking filter supplied from the reversible decoding unit 303 are also used.
  • step S209 the adaptive offset filter 308 performs adaptive offset filter processing.
  • the filter processing is performed on the image after filtering by the deblocking filter 307 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 309.
  • step S210 the adaptive loop filter 309 performs adaptive loop filter processing on the image after filtering by the adaptive offset filter 308.
  • the adaptive loop filter 309 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 310 and the frame memory 312. To do.
  • step S211 the frame memory 312 stores the filtered image.
  • step S212 the screen rearrangement buffer 310 rearranges the images after the adaptive loop filter 309 and then supplies the screen rearrangement buffer 310 to the D / A conversion unit 311. That is, the order of the frames sorted for coding by the screen sort buffer 203 of the image coding device 201 is rearranged to the original display order.
  • step S213 the D / A conversion unit 311 D / A-converts the images sorted by the screen sorting buffer 310 and outputs them to a display (not shown), and the images are displayed.
  • step S213 When the process of step S213 is completed, the decoding process is completed.
  • the motion prediction / compensation unit 315 performs the motion prediction / compensation process in step S203 to generate a predicted image
  • the color difference optical flow process is performed on the color difference components Cb and Cr of the current prediction block. Is given.
  • the reversible decoding unit 303 parses the identification information from the bit stream and controls whether to perform the motion compensation processing to which the optical flow processing is applied by referring to the identification information.
  • FIG. 13 is a block diagram showing a configuration example of an embodiment of a computer in which a program for executing the above-mentioned series of processes is installed.
  • the program can be recorded in advance on the hard disk 1005 or ROM 1003 as a recording medium built in the computer.
  • the program can be stored (recorded) in the removable recording medium 1011 driven by the drive 1009.
  • a removable recording medium 1011 can be provided as so-called package software.
  • examples of the removable recording medium 1011 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, a semiconductor memory, and the like.
  • the program can be installed on the computer from the removable recording medium 1011 as described above, or can be downloaded to the computer via a communication network or a broadcasting network and installed on the built-in hard disk 1005. 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) 1002, and the input / output interface 1010 is connected to the CPU 1002 via the bus 1001.
  • CPU Central Processing Unit
  • the CPU 1002 executes a program stored in the ROM (Read Only Memory) 1003 accordingly. .. Alternatively, the CPU 1002 loads the program stored in the hard disk 1005 into the RAM (Random Access Memory) 1004 and executes it.
  • ROM Read Only Memory
  • the CPU 1002 performs the processing according to the above-mentioned flowchart or the processing performed according to the above-mentioned block diagram configuration. Then, the CPU 1002 outputs the processing result from the output unit 1006 or transmits it from the communication unit 1008, and further records it on the hard disk 1005, if necessary, via the input / output interface 1010.
  • the input unit 1007 is composed of a keyboard, a mouse, a microphone, and the like. Further, the output unit 1006 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 processed 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 and jointly processed by a plurality of devices via a network.
  • 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 program executed by the computer may be such that the processing of the steps for describing the program is executed in chronological order in the order described in this specification, or is called in parallel or in parallel. 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.
  • a setting unit that sets identification information that identifies whether to perform motion compensation processing to which optical flow processing is applied to the pixels of the current prediction block of the image to be coded.
  • An image processing device including a coding unit that encodes the image and generates a bit stream including identification information set by the setting unit.
  • the setting unit sets identification information for identifying whether to perform motion compensation processing to which the optical flow processing is applied for a unit to be encoded as a header of the bit stream.
  • the image processing apparatus wherein the coding unit generates a bit stream including the identification information as a header syntax.
  • the unit to be encoded is a slice.
  • the image processing apparatus according to (3) above.
  • the setting unit sets existence identification information for identifying that the identification information is included in the bit stream.
  • the image processing apparatus according to (3) above, wherein the coding unit generates a bit stream including existence identification information set by the setting unit.
  • the setting unit sets the existence identification information as a sequence parameter set, and sets the existence identification information.
  • the image processing apparatus according to (5) above, wherein the coding unit generates a bit stream including the existence identification information set by the setting unit as a sequence parameter set.
  • the image processing device Setting identification information that identifies whether to perform motion compensation processing to which optical flow processing is applied for the pixels of the current prediction block of the image to be coded, and An image processing method including encoding the image to generate a bitstream containing the set identification information.
  • a parse unit that parses the identification information from a bit stream that includes identification information that identifies whether to perform motion compensation processing to which optical flow processing is applied to the pixels of the current prediction block of the image to be decoded. With reference to the identification information parsed by the parse unit, a control unit that controls whether to perform motion compensation processing to which optical flow processing is applied, and a control unit.
  • An image processing device including a decoding unit that decodes the current prediction block using a prediction image generated by motion compensation processing controlled by the control unit.
  • the control unit controls to perform the motion compensation process to which the optical flow process is applied only when the identification information indicates that the motion compensation process to which the optical flow process is applied is performed.
  • Image processing equipment The control unit controls to skip the motion compensation process to which the optical flow process is applied when the identification information indicates that the motion compensation process to which the optical flow process is applied is not performed.
  • the image processing apparatus described. (11) The image processing apparatus according to (8) above, wherein the identification information is information for identifying whether or not motion compensation processing to which the optical flow processing is applied is performed on a unit to be encoded. (12) The identification information is included as a header of the bitstream.
  • the image processing apparatus parses the header of the bit stream.
  • the image processing apparatus wherein the parsing unit parses the unit to be encoded is a slice.
  • the bitstream includes existence identification information that identifies that the identification information is included in the bitstream.
  • the image processing apparatus wherein the parsing unit parses the identification information only when the existence identification information included in the bit stream indicates that the identification information is included.
  • the bitstream contains the presence identification information as a sequence parameter set.
  • the image processing apparatus parses the existence identification information included in the bit stream by setting sequence parameters.
  • the image processing device Parsing the identification information from a bit stream containing identification information that identifies whether to perform motion compensation processing to which optical flow processing is applied to the pixels of the current prediction block of the image to be decoded. By referring to the parsed identification information, it is possible to control whether or not motion compensation processing to which optical flow processing is applied is performed.
  • An image processing method including decoding the current prediction block using a prediction image generated by controlled motion compensation processing.
  • 11 image processing system 12 image coding device, 13 image decoding device, 21 inter-prediction unit, 22 coding unit, 23 setting unit, 31 inter-prediction unit, 32 decoding unit

Landscapes

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

Abstract

The present disclosure relates to an image processing device and an image processing method which make it possible to suppress degradation of image quality and a decrease in encoding efficiency. The image processing device is provided with: a setting unit which sets identifying information identifying whether the pixels of a current prediction block of an image to be subjected to an encoding process is to be subjected to a motion compensating process in which an optical flow process is applied; and an encoding unit which encodes the image and generates a bit stream including the identifying information set by the setting unit. The present techniques are applicable to, for example, an image processing system in which encoding and decoding are performed according to a versatile video coding (VVC) scheme.

Description

画像処理装置および画像処理方法Image processing device and image processing method
 本開示は、画像処理装置および画像処理方法に関し、特に、画質の劣化および符号化効率の低下を抑制することができるようにした画像処理装置および画像処理方法に関する。 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 suppressing deterioration of image quality and deterioration of coding efficiency.
 近年、AVC(Advanced Video Coding)やHEVC(High Efficiency Video Coding)などに対する符号化効率をさらに向上させるために、VVC(Versatile Video Coding)と呼ばれるコーディング方式の標準化が進められている(後述する実施形態のサポートも参照)。 In recent years, in order to further improve the coding efficiency for AVC (Advanced Video Coding), HEVC (High Efficiency Video Coding), etc., standardization of a coding method called VVC (Versatile Video Coding) has been promoted (the embodiment described later). See also support for).
 例えば、非特許文献1には、輝度成分に対してオプティカルフローを用いて動き補償を適用する技術が開示されている。 For example, Non-Patent Document 1 discloses a technique for applying motion compensation to a luminance component using an optical flow.
 ところで、従来、輝度成分に対してのみオプティカルフローを用いた動き補償が適用されており、色差成分に対してオプティカルフローを用いた動き補償は適用されていなかった。そのため、例えば、物体が回転しているようなアフィン変換が効果的となる特定のケースの画像においては、輝度成分と色差成分とのずれが大きくなってしまい、主観的な画質の劣化および符号化効率の低下が発生すると考えられる。 By the way, conventionally, motion compensation using optical flow is applied only to the luminance component, and motion compensation using optical flow is not applied to the color difference component. Therefore, for example, in an image in a specific case where the affine transformation is effective, such as when an object is rotating, the deviation between the luminance component and the color difference component becomes large, and the subjective image quality is deteriorated and coded. It is thought that a decrease in efficiency will occur.
 本開示は、このような状況に鑑みてなされたものであり、画質の劣化および符号化効率の低下を抑制することができるようにするものである。 The present disclosure has been made in view of such a situation, and makes it possible to suppress deterioration of image quality and deterioration of coding efficiency.
 本開示の第1の側面の画像処理装置は、符号化処理の対象となる画像のカレント予測ブロックの画素を対象としてオプティカルフロー処理を適用した動き補償処理を行うかを識別する識別情報を設定する設定部と、前記画像を符号化して、前記設定部により設定された識別情報を含むビットストリームを生成する符号化部とを備える。 The image processing apparatus of the first aspect of the present disclosure sets identification information for identifying whether to perform motion compensation processing to which optical flow processing is applied to the pixels of the current prediction block of the image to be encoded. It includes a setting unit and a coding unit that encodes the image and generates a bit stream including identification information set by the setting unit.
 本開示の第1の側面の画像処理方法は、画像処理装置が、符号化処理の対象となる画像のカレント予測ブロックの画素を対象としてオプティカルフロー処理を適用した動き補償処理を行うかを識別する識別情報を設定することと、前記画像を符号化して、設定された識別情報を含むビットストリームを生成することとを含む。 The image processing method of the first aspect of the present disclosure identifies whether the image processing apparatus performs motion compensation processing to which optical flow processing is applied to the pixels of the current prediction block of the image to be encoded. It includes setting the identification information and encoding the image to generate a bitstream containing the set identification information.
 本開示の第1の側面においては、符号化処理の対象となる画像のカレント予測ブロックの画素を対象としてオプティカルフロー処理を適用した動き補償処理を行うかを識別する識別情報が設定され、画像を符号化して、設定された識別情報を含むビットストリームが生成される。 In the first aspect of the present disclosure, identification information is set to identify whether to perform motion compensation processing to which optical flow processing is applied to the pixels of the current prediction block of the image to be encoded, and the image is displayed. It is encoded to generate a bitstream containing the set identification information.
 本開示の第2の側面の画像処理装置は、復号処理の対象となる画像のカレント予測ブロックの画素を対象としてオプティカルフロー処理を適用した動き補償処理を行うかを識別する識別情報を含むビットストリームから、前記識別情報をパースするパース部と、前記パース部によりパースされた識別情報を参照して、オプティカルフロー処理を適用した動き補償処理を行うかを制御する制御部と、前記制御部により制御された動き補償処理により生成された予測画像を用いて、前記カレント予測ブロックを復号する復号部とを備える。 The image processing apparatus of the second aspect of the present disclosure is a bit stream including identification information that identifies whether to perform motion compensation processing to which optical flow processing is applied to the pixels of the current prediction block of the image to be decoded. From the perspective unit that parses the identification information, a control unit that controls whether to perform motion compensation processing to which the optical flow processing is applied by referring to the identification information parsed by the perspective unit, and a control unit that controls the control unit. It is provided with a decoding unit that decodes the current prediction block by using the prediction image generated by the motion compensation processing.
 本開示の第2の側面の画像処理方法は、画像処理装置が、復号処理の対象となる画像のカレント予測ブロックの画素を対象としてオプティカルフロー処理を適用した動き補償処理を行うかを識別する識別情報を含むビットストリームから、前記識別情報をパースすることと、パースされた識別情報を参照して、オプティカルフロー処理を適用した動き補償処理を行うかを制御することと、制御された動き補償処理により生成された予測画像を用いて、前記カレント予測ブロックを復号することとを含む。 The image processing method of the second aspect of the present disclosure identifies whether the image processing apparatus performs motion compensation processing to which optical flow processing is applied to the pixels of the current prediction block of the image to be decoded. Parsing the identification information from a bit stream containing information, controlling whether to perform motion compensation processing to which optical flow processing is applied by referring to the parsed identification information, and controlled motion compensation processing. Includes decoding the current prediction block using the prediction image generated by.
 本開示の第2の側面においては、復号処理の対象となる画像のカレント予測ブロックの画素を対象としてオプティカルフロー処理を適用した動き補償処理を行うかを識別する識別情報を含むビットストリームから、その識別情報がパースされ、パースされた識別情報を参照して、オプティカルフロー処理を適用した動き補償処理を行うかが制御され、制御された動き補償処理により生成された予測画像を用いて、カレント予測ブロックが復号される。 The second aspect of the present disclosure is from a bitstream containing identification information that identifies whether to perform motion compensation processing to which optical flow processing is applied to the pixels of the current prediction block of the image to be decoded. The identification information is parsed, and with reference to the parsed identification information, it is controlled whether or not motion compensation processing to which optical flow processing is applied is performed, and current prediction is performed using a prediction image generated by the controlled motion compensation processing. The block is decrypted.
ハイレベルシンタックスの一例を示す図である。It is a figure which shows an example of a high level syntax. ブロックおよびサブブロックについて説明する図である。It is a figure explaining a block and a subblock. 動きベクトルについて説明する図である。It is a figure explaining a motion vector. 本技術を適用した画像処理システムの一実施の形態の構成例を示すブロック図である。It is a block diagram which shows the structural example of one Embodiment of the image processing system to which this technique is applied. 色差成分用の動きベクトルを求める第1の方法について説明する図である。It is a figure explaining the 1st method to obtain the motion vector for a color difference component. 色差成分用の動きベクトルを求める第2の方法について説明する図である。It is a figure explaining the 2nd method to obtain the motion vector for a color difference component. 本技術を適用する効果的な状況について説明する図である。It is a figure explaining an effective situation to apply this technology. 本技術を適用したコンピュータベースのシステムの一実施の形態の構成例を示すブロック図である。It is a block diagram which shows the configuration example of one Embodiment of the computer-based system to which this technique is applied. 画像符号化装置の一実施の形態の構成例を示すブロック図である。It is a block diagram which shows the structural example of one Embodiment of an image coding apparatus. 符号化処理を説明するフローチャートである。It is a flowchart explaining the coding process. 画像復号装置の一実施の形態の構成例を示すブロック図である。It is a block diagram which shows the structural example of one Embodiment of an image decoding apparatus. 復号処理を説明するフローチャートである。It is a flowchart explaining the decoding process. 本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。It is a block diagram which shows the structural example of one Embodiment of the computer to which this technique is applied.
 <技術内容・技術用語をサポートする文献等>
 本明細書で開示される範囲は、実施例の内容に限定されるものではなく、出願当時において公知となっている以下の参照文献REF1~REF5の内容も、参照により本明細書に組み込まれる。つまり、以下の参照文献REF1~REF5に記載されている内容もサポート要件について判断する際の根拠となる。さらに、参照文献REF1~REF5において参照している文献もサポート要件を判断する際の根拠となる。
<Documents that support technical contents and technical terms>
The scope disclosed herein is not limited to the contents of the examples, and the contents of the following references REF1 to REF5, which are known at the time of filing, are also incorporated herein by reference. In other words, the contents described in the following references REF1 to REF5 are also the basis for judging the support requirements. In addition, the references referenced in references REF1 to REF5 are also the basis for determining support requirements.
 例えば、Quad-Tre Block Structureや、QTBT(Quad Tree Plus Binary Tree)、Block Structure、MTT(Multi-type Tree) Block Structureなどが発明の詳細な説明において直接的に定義されていない場合でも、本開示の範囲内であり、請求の範囲のサポート要件を満たすものとする。また、例えば、パース(Parsing)、シンタックス(Syntax)、セマンティクス(Semantics)等の技術用語についても同様に、発明の詳細な説明において直接的に定義されていない場合でも、本開示の範囲内であり、請求の範囲のサポート要件を満たすものとする。 For example, even if Quad-Tre Block Structure, QTBT (Quad Tree Plus Binary Tree), Block Structure, MTT (Multi-type Tree) Block Structure, etc. are not directly defined in the detailed description of the invention, the present disclosure And shall meet the support requirements of the claims. Similarly, 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.
 REF1:Recommendation ITU-T H.264 (04/2017) “Advanced video coding for generic audiovisual services”, April 2017
 REF2:Recommendation ITU-T H.265 (02/2018) “High efficiency video coding”, February 2018
 REF3:Benjamin Bross, Jianle Chen, Shan Liu, Versatile Video Coding (Draft 6), JVET-O2001-v14 (version 14 - date 2019-07-31)
 REF4:Jianle Chen, Yan Ye, Seung Hwan Kim, Algorithm description for Versatile Video Coding and Test Model 6 (VTM 6), JVET-O2002-v1 (version 1 - date 2019-08-15)
 REF5:Jiancong (Daniel) Luo, Yuwen He, CE4: Prediction refinement with optical flow for affine mode (Test 2.1), JVET-O0070, (version 5 - date 2019-07-10)
REF1: Recommendation ITU-T H.264 (04/2017) “Advanced video coding for generic audiovisual services”, April 2017
REF2: Recommendation ITU-T H.265 (02/2018) “High efficiency video coding”, February 2018
REF3: Benjamin Bross, Jianle Chen, Shan Liu, Versatile Video Coding (Draft 6), JVET-O2001-v14 (version 14 --date 2019-07-31)
REF4: Jianle Chen, Yan Ye, Seung Hwan Kim, Algorithm description for Versatile Video Coding and Test Model 6 (VTM 6), JVET-O2002-v1 (version 1 --date 2019-08-15)
REF5: Jiancong (Daniel) Luo, Yuwen He, CE4: Prediction refinement with optical flow for affine mode (Test 2.1), JVET-O0070, (version 5 --date 2019-07-10)
 例えば、REF3には、図1に示すように、PROF(Prediction refinement with optical flow)と、後述する本技術とに関連するハイレベルシンタックスが記載されている。 For example, REF3 describes PROF (Prediction refinement with optical flow) and high-level syntax related to this technology, which will be described later, as shown in FIG.
 <用語>
 本願では、以下の用語を、以下のように定義する。
<Terminology>
In this application, the following terms are defined as follows.
    <ブロック>
 画像(ピクチャ)の部分領域や処理単位として説明に用いる「ブロック」(処理部を示すブロックではない)は、特に言及しない限り、ピクチャ内の任意の部分領域を示し、その大きさ、形状、および特性等は限定されない。例えば、「ブロック」には、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)、変換ブロック、サブブロック、マクロブロック、タイル、またはスライス等、任意の部分領域(処理単位)が含まれるものとする。
<Block>
Unless otherwise specified, 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. For example, "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.
    <ブロックサイズの指定>
 また、このようなブロックのサイズを指定するに当たって、直接的にブロックサイズを指定するだけでなく、間接的にブロックサイズを指定するようにしてもよい。例えばサイズを識別する識別情報を用いてブロックサイズを指定するようにしてもよい。また、例えば、基準となるブロック(例えばLCUやSCU等)のサイズとの比または差分によってブロックサイズを指定するようにしてもよい。例えば、シンタックス要素等としてブロックサイズを指定する情報を伝送する場合に、その情報として、上述のような間接的にサイズを指定する情報を用いるようにしてもよい。このようにすることにより、その情報の情報量を低減させることができ、符号化効率を向上させることができる場合もある。また、このブロックサイズの指定には、ブロックサイズの範囲の指定(例えば、許容されるブロックサイズの範囲の指定等)も含む。
<Specify block size>
Further, when specifying the size of such a block, not only the block size may be directly specified, but also the block size may be indirectly specified. For example, the block size may be specified using the identification information that identifies the size. Further, for example, the block size may be specified by the ratio or difference with the size of the reference block (for example, LCU, SCU, etc.). For example, when transmitting information for specifying a block size as a syntax element or the like, the information for indirectly specifying the size as described above may be used as the information. By doing so, the amount of information of the information can be reduced, and the coding efficiency may be improved. Further, 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).
    <情報・処理の単位>
 各種情報が設定されるデータ単位や、各種処理が対象とするデータ単位は、それぞれ任意であり上述した例に限定されない。例えば、これらの情報や処理が、それぞれ、TU(Transform Unit)、TB(Transform Block)、PU(Prediction Unit)、PB(Prediction Block)、CU(Coding Unit)、LCU(Largest Coding Unit)、サブブロック、ブロック、タイル、スライス、ピクチャ、シーケンス、またはコンポーネント毎に設定されるようにしてもよいし、それらのデータ単位のデータを対象とするようにしてもよい。もちろん、このデータ単位は、情報や処理毎に設定され得るものであり、全ての情報や処理のデータ単位が統一されている必要はない。なお、これらの情報の格納場所は任意であり、上述したデータ単位のヘッダやパラメータセット等に格納されるようにしてもよい。また、複数個所に格納されるようにしてもよい。
<Unit of information / processing>
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. For example, these information and processes 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, or data in those data units may be targeted. Of course, 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.
    <制御情報>
 本技術に関する制御情報を符号化側から復号側に伝送するようにしてもよい。例えば、上述した本技術を適用することを許可(または禁止)するか否かを制御する制御情報(例えばenabled_flag)を伝送するようにしてもよい。また、例えば、上述した本技術を適用する対象(または適用しない対象)を示す制御情報を伝送するようにしてもよい。例えば、本技術を適用する(または、適用を許可若しくは禁止する)ブロックサイズ(上限若しくは下限、またはその両方)、フレーム、コンポーネント、またはレイヤ等を指定する制御情報を伝送するようにしてもよい。
<Control information>
The control information related to the present technology may be transmitted from the coding side to the decoding side. For example, control information (for example, enabled_flag) that controls whether or not the application of the present technology described above is permitted (or prohibited) may be transmitted. Further, for example, 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. For example, control information may be transmitted that specifies the block size (upper limit, / lower limit, or both) to which the present technology is applied (or permission or prohibition of application), a frame, a component, a layer, or the like.
    <フラグ>
 なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
<Flag>
In the present specification, 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. Further, 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.
    <メタデータを関連付ける>
 また、符号化データ(ビットストリーム)に関する各種情報(メタデータ等)は、符号化データに関連づけられていれば、どのような形態で伝送または記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(または同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、またはフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
<Associate metadata>
Further, 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. Here, 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. For example, the information associated with the coded data (image) may be transmitted on a transmission path different from the coded data (image). Further, for example, 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. Note that 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.
 なお、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。また、本明細書において、符号化とは、画像をビットストリームに変換する全体の処理だけではなく、一部の処理も含む。例えば、予測処理、直交変換、量子化、算術符号化等を包括した処理を含むだけではなく、量子化と算術符号化とを総称した処理、予測処理と量子化と算術符号化とを包括した処理、などを含む。同様に、復号とは、ビットストリームを画像に変換する全体の処理だけではなく、一部の処理も含む。例えば、逆算術復号、逆量子化、逆直交変換、予測処理等を包括した処理を含むだけではなく、逆算術復号と逆量子化とを包括した処理、逆算術復号と逆量子化と予測処理とを包括した処理、などを含む。 In addition, in this specification, "synthesize", "multiplex", "add", "integrate", "include", "store", "insert", "insert", "insert". A term such as "" means combining a plurality of objects into one, for example, combining encoded data and metadata into one data, and means one method of "associating" described above. Further, in the present specification, the coding includes not only the whole process of converting an image into a bit stream but also a part of the process. For example, it not only includes processing that includes prediction processing, orthogonal transformation, quantization, arithmetic coding, etc., but also includes processing that collectively refers to quantization and arithmetic coding, prediction processing, quantization, and arithmetic coding. Including processing, etc. Similarly, 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 transformation, 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.
 予測ブロックとは、インター予測を行う際の処理単位となるブロックを意味し、予測ブロック内のサブブロックも含む。また、直交変換を行う際の処理単位となる直交変換ブロックや符号化処理を行う際の処理単位となる符号化ブロックと処理単位が統一かされている場合には、予測ブロックと直交変換ブロック・符号化ブロックと同じフロックを意味する。 The prediction block means a block that is a processing unit when performing inter-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 when performing orthogonal conversion, or the coding block, which is the processing unit when performing coding processing, and the orthogonal conversion block, It means the same flock as the coded block.
 インター予測とは、動き検出による動きベクトルの導出(Motion Prediction/Motion Estimation)、動きベクトルを用いた動き補償(Motion Compensation)、などの、フレーム(予測ブロック)間の予測を伴う処理の総称であり、予測画像を生成する際に用いる一部の処理(例えば動き補償処理のみ)、又は、全ての処理(例えば動き検出処理+動き補償処理)を含む。インター予測モードとは、インター予測を行う際のモード番号、モード番号のインデックス、予測ブロックのブロックサイズ、予測ブロック内の処理単位となるサブブロックのサイズなど、インター予測モードを導出する際に参照する変数(パラメータ)を包括して意味する。 Inter-prediction is a general term for processing that involves prediction between frames (prediction blocks), such as derivation of motion vectors by motion detection (MotionPrediction / MotionEstimation) and motion compensation using motion vectors (MotionCompensation). , Some processing (for example, motion compensation processing only) or all processing (for example, motion detection processing + motion compensation processing) used when generating a predicted image is included. The inter-prediction mode is referred to when deriving the inter-prediction mode, such as the mode number when performing inter-prediction, the index of the mode number, the block size of the prediction block, and the size of the sub-block that is the processing unit in the prediction block. It means a comprehensive set of variables (parameters).
 本開示において、複数のパターンを識別する識別データを、ビットストリームのシンタクスとして設定することもできる。この場合、デコーダでは識別データをパース+参照することにより、より効率的に処理を行うことが可能になる。ブロックサイズを識別する方法(データ)としては、ブロックサイズそのものを数値化(ビット化)するだけではなく、基準となるブロックサイズ(最大ブロックサイズ、最小ブロックサイズなど)に対する差分値を識別する方法(データ)も含む。 In the present disclosure, identification data that identifies a plurality of patterns can be set as a bitstream syntax. In this case, the decoder can perform processing more efficiently by parsing + referencing the identification data. The method (data) for identifying the block size is not only to quantify (bite) the block size itself, but also to identify the difference value with respect to the reference block size (maximum block size, minimum block size, etc.) ( Data) is also included.
 以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。 Hereinafter, specific embodiments to which the present technology is applied will be described in detail with reference to the drawings.
 <従来の動き補償について>
 図2および図3を参照して、入力画像の形式がChroma Format:4:2:0である場合のアフィン変換を用いた動き補償(MC:Motion Compensation)の処理について説明する。
<Conventional motion compensation>
With reference to FIGS. 2 and 3, the processing of motion compensation (MC: Motion Compensation) using the affine transformation when the format of the input image is Chroma Format: 4: 2: 0 will be described.
 VVCでは、アフィン変換を用いた動き補償処理で、動き補償ブロックをさらにサブブロックと称される4×4サンプルに分割して処理が行われる。 In VVC, motion compensation processing using affine transformation is performed by further dividing the motion compensation block into 4 × 4 samples called subblocks.
 図2に示すように、輝度成分Yは8×8のブロックで動き補償処理が施され、色差成分CbおよびCrは4×4のブロックで動き補償処理が施される。つまり、輝度成分Yの8×8のブロックと、色差成分CbおよびCrの4×4のブロックとのサイズが一致する。このとき、アフィン変換を用いた動き補償では、サブブロックのサイズは4×4とされるため、輝度成分Yの8×8のブロックは、4つのサブブロックに分割される。 As shown in FIG. 2, the luminance component Y is subjected to motion compensation processing in an 8 × 8 block, and the color difference components Cb and Cr are subjected to motion compensation processing in a 4 × 4 block. That is, the sizes of the 8 × 8 block of the luminance component Y and the 4 × 4 block of the color difference components Cb and Cr match. At this time, in the motion compensation using the affine transformation, the size of the subblock is 4 × 4, so that the 8 × 8 block of the luminance component Y is divided into four subblocks.
 そして、JVET-O0070のテクニックにより、輝度成分Yの動き補償にオプティカルフローの処理が追加されている。 And, by the technique of JVET-O0070, the processing of optical flow is added to the motion compensation of the luminance component Y.
 図3に示すように、輝度成分Yに対して、4×4のサブブロックの動きベクトルVSBを使用して動き補償を行った後、白抜き矢印で示されるピクセル・レベルでの動きベクトルΔV(i,j)を使用してオプティカルフロー処理が適用される。一方、色差成分CbおよびCrに対してはオプティカルフロー処理が適用されないため、上述したように、主観的な画質の劣化および符号化効率の低下が発生すると考えられる。 As shown in FIG. 3, after performing motion compensation for the luminance component Y using the motion vector VSB of the 4 × 4 subblock, the motion vector ΔV at the pixel level indicated by the white arrow. Optical flow processing is applied using (i, j). On the other hand, since the optical flow processing is not applied to the color difference components Cb and Cr, it is considered that subjective deterioration of image quality and deterioration of coding efficiency occur as described above.
 そこで、本技術では、色差成分CbおよびCr(クロマ信号)に対してもオプティカルフロー処理を適用することを提案する。さらに、本技術では、特定のケースの画像においてはオプティカルフロー処理が適用されないようにスキップすることを提案する。 Therefore, in this technology, it is proposed to apply the optical flow processing to the color difference components Cb and Cr (chroma signal). Furthermore, the present technology proposes to skip the optical flow processing so that it is not applied to the image of a specific case.
 <画像処理システムの構成例>
 図4は、本技術を適用した画像処理システムの一実施の形態の構成例を示すブロック図である。
<Configuration example of image processing system>
FIG. 4 is a block diagram showing a configuration example of an embodiment of an image processing system to which the present technology is applied.
 図4に示すように、画像処理システム11は、画像符号化装置12および画像復号装置13を備えて構成される。例えば、画像処理システム11では、画像符号化装置12に入力された画像が符号化されて、その符号化により得られるビットストリームが画像復号装置13に伝送され、画像復号装置13においてビットストリームから復号された復号画像が出力される。 As shown in FIG. 4, the image processing system 11 includes an image coding device 12 and an image decoding device 13. For example, in the image processing system 11, 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 from the bit stream. The decoded image is output.
 画像符号化装置12は、インター予測部21、符号化部22、および設定部23を有しており、画像復号装置13は、インター予測部31、復号部32、パース部33、および制御部34を有している。 The image coding device 12 includes an inter-prediction unit 21, a coding unit 22, and a setting unit 23, and the image decoding device 13 includes an inter-prediction unit 31, a decoding unit 32, a perspective unit 33, and a control unit 34. have.
 インター予測部21は、符号化処理の対象となるカレント予測ブロックに対して補間フィルタを適用した動き補償処理を施して、カレント予測ブロック内の予測画素を生成するインター予測を行う。このとき、インター予測部21は、符号化処理の対象となるカレント予測ブロックの色差成分を対象としたオプティカルフロー処理を適用した動き補償処理(以下、色差オプティカルフロー処理と称する)を行うように構成される。つまり、インター予測部21は、輝度成分と同様に、色差成分に対しても色差オプティカルフロー処理を行う。もちろん、インター予測部21は、通常のオプティカルフロー処理を行うことができる。 The inter-prediction unit 21 performs motion compensation processing by applying an interpolation filter to the current prediction block to be coded, and performs inter-prediction to generate prediction pixels in the current prediction block. At this time, the inter-prediction unit 21 is configured to perform motion compensation processing (hereinafter, referred to as color difference optical flow processing) to which optical flow processing is applied to the color difference component of the current prediction block to be coded. Will be done. That is, the inter-prediction unit 21 performs the color difference optical flow processing on the color difference component as well as the luminance component. Of course, the inter-prediction unit 21 can perform normal optical flow processing.
 符号化部22は、インター予測部21により生成された予測画素を用いて、カレント予測ブロック内のカレント画素を符号化し、ビットストリームを生成する。 The coding unit 22 encodes the current pixel in the current prediction block using the prediction pixel generated by the inter prediction unit 21 to generate a bit stream.
 設定部23は、色差オプティカルフロー処理を適用するかを識別する識別データや、色差オプティカルフロー処理を適用する予測ブロックのブロックサイズを識別するブロックサイズ識別データなどを設定する。そして、符号化部22は、設定部23により設定された識別データを含むビットストリームを生成する。 The setting unit 23 sets identification data for identifying whether to apply the color difference optical flow processing, block size identification data for identifying the block size of the predicted block to which the color difference optical flow processing is applied, and the like. Then, the coding unit 22 generates a bit stream including the identification data set by the setting unit 23.
 さらに、設定部23は、符号化処理の対象となる画像のカレント予測ブロックの画素を対象としてオプティカルフロー処理を適用した動き補償処理を行うかを識別する識別情報や、オプティカルフロー処理を適用した動き補償処理をスライスに対して行うかを識別する識別情報などを設定する。例えば、設定部23は、オプティカルフロー処理を適用した動き補償処理をスライスに対して行うかを識別する識別情報をビットストリームのヘッダとして設定し、符号化部22は、その識別情報をヘッダのシンタクスとして含むビットストリームを生成する。また、設定部23は、識別情報がビットストリームに含まれることを識別する存在識別情報を、シーケンスパラメータセットとして設定し、符号化部22は、その存在識別情報をシーケンスパラメータセットとして含むビットストリームを生成する。 Further, the setting unit 23 identifies identification information for identifying whether to perform motion compensation processing to which optical flow processing is applied to the pixels of the current prediction block of the image to be encoded, and motion to which optical flow processing is applied. Set identification information that identifies whether compensation processing is performed on the slice. For example, the setting unit 23 sets the identification information for identifying whether to perform the motion compensation processing to which the optical flow processing is applied to the slice as the header of the bitstream, and the coding unit 22 sets the identification information as the header syntax. Generate a bitstream containing as. Further, the setting unit 23 sets the existence identification information for identifying that the identification information is included in the bit stream as a sequence parameter set, and the coding unit 22 sets the bit stream including the existence identification information as the sequence parameter set. Generate.
 インター予測部31は、インター予測部21と同様に、復号処理の対象となるカレント予測ブロックの色差成分に対しても色差オプティカルフロー処理を行い、カレント予測ブロック内の予測画素を生成する。インター予測部31は、ビットストリームに含まれている識別データを参照し、クロスコンポーネントインター予測を適用するか否かを識別したり、クロスコンポーネントインター予測を適用する予測ブロックのブロックサイズを識別したりすることができる。もちろん、インター予測部31は、通常のオプティカルフロー処理を行うことができる。 Similar to the inter-prediction unit 21, the inter-prediction unit 31 also performs color-difference optical flow processing on the color-difference component of the current prediction block to be decoded, and generates prediction pixels in the current prediction block. The inter-prediction unit 31 refers to the identification data contained in the bitstream to identify whether or not to apply the cross-component inter-prediction, and to identify the block size of the prediction block to which the cross-component inter-prediction is applied. can do. Of course, the inter-prediction unit 31 can perform normal optical flow processing.
 復号部32は、制御部34により制御された動き補償処理によりインター予測部31により生成された予測画素を用いて、カレント予測ブロック内のカレント画素を復号する。 The decoding unit 32 decodes the current pixel in the current prediction block by using the prediction pixel generated by the inter prediction unit 31 by the motion compensation process controlled by the control unit 34.
 パース部33は、復号処理の対象となる画像のカレント予測ブロックの画素を対象としてオプティカルフロー処理を適用した動き補償処理を行うかを識別する識別情報を含むビットストリームから、その識別情報をパースする。例えば、識別情報は、ビットストリームのヘッダとして含まれており、パース部33は、ビットストリームのヘッダをパースする。さらに、パース部33は、ビットストリームに含まれる存在識別情報が識別情報を含むことを示す場合のみ、その識別情報をパースする。例えば、ビットストリームは、存在識別情報をシーケンスパラメータセットとして含み、パース部33は、ビットストリームにシーケンスパラメータセットして含まれる存在識別情報をパースする。 The parsing unit 33 parses the identification information from the bit stream including the identification information that identifies whether to perform the motion compensation processing to which the optical flow processing is applied to the pixels of the current prediction block of the image to be the decoding processing. .. For example, the identification information is included as a bitstream header, and the parsing unit 33 parses the bitstream header. Further, the parse unit 33 parses the identification information only when it indicates that the existence identification information included in the bit stream includes the identification information. For example, the bitstream includes the existence identification information as a sequence parameter set, and the parse unit 33 parses the existence identification information included in the bitstream by setting the sequence parameters.
 制御部34は、パース部33によりパースされた識別情報を参照して、オプティカルフロー処理を適用した動き補償処理を行うかを制御し、復号部32は、制御部34により制御された動き補償処理により生成された予測画像を用いて、カレント予測ブロックを復号する。例えば、制御部34は、識別情報がオプティカルフロー処理を適用した動き補償処理を行うことを示している場合にのみ、オプティカルフロー処理を適用した動き補償処理を行うように制御する。一方、制御部34は、識別情報がオプティカルフロー処理を適用した動き補償処理を行わないことを示している場合には、オプティカルフロー処理を適用した動き補償処理をスキップするように制御する。 The control unit 34 controls whether to perform motion compensation processing to which optical flow processing is applied with reference to the identification information parsed by the perspective unit 33, and the decoding unit 32 controls the motion compensation processing controlled by the control unit 34. The current prediction block is decoded using the prediction image generated by. For example, the control unit 34 controls to perform the motion compensation process to which the optical flow process is applied only when the identification information indicates that the motion compensation process to which the optical flow process is applied is performed. On the other hand, when the identification information indicates that the motion compensation process to which the optical flow process is applied is not performed, the control unit 34 controls to skip the motion compensation process to which the optical flow process is applied.
 以上のように画像処理システム11は構成されており、PROFと呼ばれる動き予測を用いてインター予測が行われる。例えば、サブブロック・レベルでアフィン動きモデルを用いて動き補償が行われた後、PROFを適用してピクセル・レベルでオプティカルフロー処理を用いた補正が行われる。 The image processing system 11 is configured as described above, and inter-prediction is performed using motion prediction called PROF. For example, motion compensation is performed at the subblock level using an affine motion model, and then PROF is applied to perform correction using optical flow processing at the pixel level.
 ところで、通常、PROFは、処理量を削減するために輝度信号だけに適用して、クロマ信号には適用しないことになっている。そのため、例えば、物体が回転しているようなアフィン変換が効果的となる特定のケースの画像においては、輝度信号とクロマ信号の取り扱いの違いによって、クロマ信号の画質の劣化および符号化効率の低下が発生することがある。 By the way, PROF is usually applied only to luminance signals and not to chroma signals in order to reduce the amount of processing. Therefore, for example, in an image in a specific case where the affine transformation is effective, such as when an object is rotating, the image quality of the chroma signal deteriorates and the coding efficiency deteriorates due to the difference in the handling of the luminance signal and the chroma signal. May occur.
 そこで、画像処理システム11では、以下で説明するような特定のケースの画像に対しては、PROFが適用されないようにコントロールすることができる。例えば、画像処理システム11は、上述した図1に示したようなビットストリームのハイレベルシンタックスを用いて、PROFをコントロールする。 Therefore, in the image processing system 11, PROF can be controlled so as not to be applied to the image of a specific case as described below. For example, the image processing system 11 controls the PROF by using the high-level syntax of the bitstream as shown in FIG. 1 described above.
 例えば、RPOFをコントロールしたい特定のケースに該当する可能性の高いスライスは、並進移動だけでなくアファイン動きモデルの動きが大きいスライスや、参照方向が過去だけになるスライス、参照方向が未来だけになるスライス、参照するフレームの時間距離が大きいスライスなどがある。ここで、参照方向が過去だけになるスライスは、過去と未来の双方向予測が使えなくなるためであり、参照するフレームの時間距離が大きいスライスは、動きの変化が大きいことが懸念されるためである。 For example, slices that are likely to correspond to a specific case where you want to control RPOF are slices with large movements of the affine movement model as well as translational movements, slices whose reference direction is only the past, and slices whose reference direction is only the future. There are slices, slices with a large time distance of the referenced frame, and so on. Here, the slice whose reference direction is only the past cannot be used for bidirectional prediction between the past and the future, and the slice with a large time distance of the referenced frame is concerned that the change in movement is large. is there.
 このように、画像処理システム11は、コントロールしたい符号化の単位(スライス)ごとにシグナリングすることができる。具体的には、画像符号化装置12では、設定部23が、存在識別情報sps_prof_enable_slice_present_flagを1にセットし、エンコード対象のカレントスライスのスライス・ヘッダで識別情報slice_disable_prof_flagを1にセットして、画像復号装置13へ送信する。そして、画像復号装置13では、パース部33が、存在識別情報sps_prof_enable_slice_present_flagをパースして、1がセットされていれば、スライス・ヘッダで識別情報slice_disable_prof_flagも読み取る。そして、画像復号装置13では、パース部33が、識別情報slice_disable_prof_flagをパースして、1がセットされていれば、カレントスライスではPROF処理が行われないように処理する。 In this way, the image processing system 11 can signal each coding unit (slice) to be controlled. Specifically, in the image encoding device 12, the setting unit 23 sets the existence identification information sps_prof_enable_slice_present_flag to 1, sets the identification information slice_disable_prof_flag to 1 in the slice header of the current slice to be encoded, and sets the identification information slice_disable_prof_flag to 1. Send to 13. Then, in the image decoding device 13, the parse unit 33 parses the existence identification information sps_prof_enable_slice_present_flag, and if 1 is set, the identification information slice_disable_prof_flag is also read by the slice header. Then, in the image decoding device 13, the parsing unit 33 parses the identification information slice_disable_prof_flag, and if 1 is set, the parsing unit 33 processes the current slice so that the PROF processing is not performed.
 このように、画像処理システム11では、特定のケースの画像においてはオプティカルフロー処理が輝度信号およびクロマ信号ともに適用されないようにスキップすることができる。これにより、輝度信号とクロマ信号の取り扱いの違いによるクロマ信号の画質が劣化することを抑制することができるとともに、クロマ信号の符号化効率が改善されることが期待できる。また、画像処理システム11では、処理量の観点からPROFを柔軟にコントロールすることができる。 In this way, in the image processing system 11, it is possible to skip the optical flow processing so that neither the luminance signal nor the chroma signal is applied to the image in a specific case. As a result, it is possible to suppress deterioration of the image quality of the chroma signal due to the difference in handling of the luminance signal and the chroma signal, and it is expected that the coding efficiency of the chroma signal is improved. Further, in the image processing system 11, the PROF can be flexibly controlled from the viewpoint of the processing amount.
 例えば、以下のようにシンタクスを設定する。また、シーケンス単位またはスライス単位でコントロールしたい場合は、以下のようにセマンティクスを設定する。 For example, set the syntax as follows. If you want to control by sequence or slice, set the semantics as follows.
 上述の図1に示したSequence parameter set RBSP semanticsにおいて、sps_prof_enable_slice_present_flagが1である場合、slice_disable_prof_flagがslice headerで送られることを示す。一方、sps_prof_enable_slice_present_flagが0である場合、slice_disable_prof_flagはslice headerで送られないことを示す。なお、アフィン動きモデルを用いた動き補償がSPSで使わない場合や、PROFがSPSで使わない場合などで、sps_prof_enable_slice_resent_flagが送られないときは、sps_prof_enable_slice_resent_flagは0に推論される。 In the Sequence parameter set RBSP semantics shown in FIG. 1 above, when sps_prof_enable_slice_present_flag is 1, it indicates that slice_disable_prof_flag is sent by slice header. On the other hand, when sps_prof_enable_slice_present_flag is 0, it means that slice_disable_prof_flag is not sent by slice header. If sps_prof_enable_slice_resent_flag is not sent because motion compensation using the affine motion model is not used in SPS or PROF is not used in SPS, sps_prof_enable_slice_resent_flag is inferred to 0.
 上述の図1に示したSlice header semanticsにおいて、slice_disable_prof_flagが1である場合、カレントスライスでPROFによる補正を行わないことを示す。一方、slice_disable_prof_flagが0である場合、カレントスライスでPROFが使えることを示す。なお、slice_disable_prof_flagが送られない場合は0に推論される。 In the Slice header semantics shown in FIG. 1 above, when slice_disable_prof_flag is 1, it indicates that the current slice is not corrected by PROF. On the other hand, when slice_disable_prof_flag is 0, it indicates that PROF can be used in the current slice. If slice_disable_prof_flag is not sent, it is inferred to 0.
 また、画像処理システム11において、インター予測部21およびインター予測部31は、色差成分CbおよびCrのピクセル・レベルの動きベクトルΔVCb(i,j)およびΔVCr(i,j)を、計算済みである輝度成分Yに対して用いた動きベクトルΔV(i,j)から導出する。そして、画像処理システム11では、色差成分CbおよびCrに対して色差オプティカルフロー処理を適用することにより、主観的な画質の劣化および符号化効率の低下を抑制することができる。 Further, in the image processing system 11, the inter-prediction unit 21 and the inter-prediction unit 31 have already calculated the pixel-level motion vectors ΔV Cb (i, j) and ΔV Cr (i, j) of the color difference components Cb and Cr. It is derived from the motion vector ΔV (i, j) used for the luminance component Y. Then, in the image processing system 11, by applying the color difference optical flow processing to the color difference components Cb and Cr, it is possible to suppress subjective deterioration of image quality and deterioration of coding efficiency.
 図5は、輝度成分Y用の動きベクトルから色差成分CbおよびCr用の動きベクトルを求める第1の方法について説明する図である。 FIG. 5 is a diagram illustrating a first method of obtaining a motion vector for the color difference components Cb and Cr from the motion vector for the luminance component Y.
 例えば、第1の方法は、輝度成分Yで用いた動きベクトルΔVの平均から、色差成分Cbのピクセル・レベルの動きベクトルΔVCb、および、色差成分Crのピクセル・レベルの動きベクトルΔVCrを算出する方法である。 For example, in the first method, the pixel-level motion vector ΔV Cb of the color difference component Cb and the pixel-level motion vector ΔV Cr of the color difference component Cr are calculated from the average of the motion vector ΔV used for the brightness component Y. How to do it.
 つまり、図5に示すように、色差成分CbおよびCrの1ピクセルは、輝度成分Yの4ピクセルに対応し、その4ピクセルに対するオプティカルフロー処理で用いた4つの動きベクトルΔV(i,j)の平均を求めて、色差成分CbおよびCrの動きベクトルΔVCb(i,j)およびΔVCr(i,j)として用いる。 That is, as shown in FIG. 5, one pixel of the color difference components Cb and Cr corresponds to four pixels of the brightness component Y, and the four motion vectors ΔV (i, j) used in the optical flow processing for the four pixels. The average is calculated and used as the motion vectors ΔV Cb (i, j) and ΔV Cr (i, j) of the color difference components Cb and Cr.
 色差成分Cbの動きベクトルのx成分ΔVCbx(i,j)は、輝度成分Yの左上の動きベクトルのx成分ΔVlx(i,j)、輝度成分Yの右上の動きベクトルのx成分ΔVlx(i+1,j)、輝度成分Yの左下の動きベクトルのx成分ΔVlx(i,j+1)、および、輝度成分Yの右下の動きベクトルのx成分ΔVlx(i+1,j+1)を用いて、次の式(1)に従って算出される。同様に、色差成分Cbの動きベクトルのy成分ΔVCby(i,j)は、輝度成分Yの左上の動きベクトルのy成分ΔVly(i,j)、輝度成分Yの右上の動きベクトルのy成分ΔVly(i+1,j)、輝度成分Yの左下の動きベクトルのy成分ΔVly(i,j+1)、および、輝度成分Yの右下の動きベクトルのy成分ΔVly(i+1,j+1)を用いて、次の式(1)に従って算出される。 X component ΔV Cbx (i, j) of the motion vector of the color difference component Cb is, the x component [Delta] V lx upper left of the motion vector of the luminance component Y (i, j), x component [Delta] V lx at the top right of the motion vector of the luminance component Y (I + 1, j) , using the x component ΔV lix (i, j + 1) of the lower left motion vector of the luminance component Y and the x component ΔV lix (i + 1, j + 1) of the lower right motion vector of the luminance component Y, It is calculated according to the following equation (1). Similarly, the y component ΔV Cby (i, j) of the motion vector of the color difference component Cb is the y component ΔV ly (i, j) of the motion vector on the upper left of the brightness component Y, and the y component y of the motion vector on the upper right of the brightness component Y. The component ΔV ly (i + 1, j) , the y component ΔV ly (i, j + 1) of the lower left motion vector of the brightness component Y, and the y component ΔV ly (i + 1, j + 1) of the lower right motion vector of the brightness component Y. It is calculated according to the following equation (1).
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000001
 同様に、この式(1)を用いて、色差成分Crの動きベクトルのx成分ΔVCrx(i,j)およびy成分ΔVCry(i,j)を求めることができる。 Similarly, using this equation (1), the x component ΔV Crx (i, j) and the y component ΔV Cry (i, j) of the motion vector of the color difference component Cr can be obtained.
 色差成分Cb(i,j)の変化量ΔCb(i,j)は、色差成分Cbのx方向の勾配gCbx(i,j)およびy方向の勾配gCby(i,j)、並びに、式(1)から求められる動きベクトルΔVCb(i,j)のx成分ΔVCbx(i,j)およびy成分ΔVCby(i,j)を用いて、次の式(2)に従って求められる。 Chrominance components Cb (i, j) of the amount of change .DELTA.Cb (i, j) is, x direction of the gradient g Cbx (i, j) of the color difference components Cb and y direction of the gradient g Cby (i, j), and the formula It is obtained according to the following equation (2) using the x component ΔV Cbx (i, j) and the y component ΔV Cby (i, j) of the motion vector ΔV Cb (i, j) obtained from (1).
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000002
 そして、位置(i,j)の色差成分Cb(i,j)に対して色差オプティカルフロー処理を適用して補正された色差成分Cb’(i,j)は、この式(2)で求めた変化量ΔCb(i,j)を補正値として色差成分Cb(i,j)に加算することにより、次の式(3)に従って求められる。 The position (i, j) the color difference components Cb (i, j) color corrected by applying the color difference optical flow processing to difference components Cb '(i, j) of was determined by the equation (2) By adding the amount of change ΔCb (i, j) to the color difference component Cb (i, j) as a correction value, it can be obtained according to the following equation (3).
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000003
 同様に、位置(i,j)の色差成分Cr(i,j)に対しても、この式(2)および式(3)を用いて、色差オプティカルフロー処理を適用して補正された色差成分Cr’(i,j)を求めることができる。 Similarly, the color difference component Cr (i, j) at the position (i, j) is also corrected by applying the color difference optical flow processing using the equations (2) and (3). Cr' (i, j) can be obtained.
 図6は、輝度成分Y用の動きベクトルから色差成分CbおよびCr用の動きベクトルを求める第2の方法について説明する図である。 FIG. 6 is a diagram illustrating a second method of obtaining a motion vector for the color difference components Cb and Cr from the motion vector for the luminance component Y.
 例えば、第2の方法は、輝度成分Yで用いた動きベクトルΔV(i,j)の1つを、色差成分CbおよびCrのピクセル・レベルの動きベクトルΔVCb(i,j)およびΔVCr(i,j)として用いる方法である。 For example, in the second method, one of the motion vectors ΔV (i, j) used for the luminance component Y is used as the pixel-level motion vectors ΔV Cb (i, j) and ΔV Cr ( for the color difference components Cb and Cr). This is the method used as i, j).
 つまり、図6に示すように、色差成分CbおよびCrの1ピクセルは、輝度成分Yの4ピクセルに対応し、その4ピクセルに対するオプティカルフロー処理で用いた4つの動きベクトルΔV(i,j)のうちの、動きが近い1つを(図6に示す例では、左上のピクセルの動きベクトル)を、色差成分CbおよびCrの動きベクトルΔVCb(i,j)およびΔVCr(i,j)として用いる。 That is, as shown in FIG. 6, one pixel of the color difference components Cb and Cr corresponds to four pixels of the brightness component Y, and the four motion vectors ΔV (i, j) used in the optical flow processing for the four pixels. Of these, one with similar motion (in the example shown in FIG. 6, the motion vector of the upper left pixel) is defined as the motion vectors ΔV Cb (i, j) and ΔV Cr (i, j) of the color difference components Cb and Cr. Use.
 色差成分Cbの動きベクトルのx成分ΔVCbx(i,j)およびy成分ΔVCby(i,j)は、次の式(4)に示すように、輝度成分Yの左上の動きベクトルのx成分ΔVlx(i,j)およびy成分ΔVly(i,j)となる。 The x component ΔV Cbx (i, j) and the y component ΔV Cby (i, j) of the motion vector of the color difference component Cb are the x component of the motion vector on the upper left of the luminance component Y, as shown in the following equation (4). It becomes ΔV lp (i, j) and y component ΔV ly (i, j).
Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000004
 そして、第1の方法と同様に、上述した式(2)および式(3)を用いて、色差オプティカルフロー処理を適用して補正された色差成分Cb’(i,j)および色差成分Cr’(i,j)を求めることができる。なお、第2の方法を採用することにより、第1の方法と比較して、計算量を削減することができる。 Then, similarly to the first method, the color difference component Cb'(i, j) and the color difference component Cr'corrected by applying the color difference optical flow processing using the above-mentioned equations (2) and (3). (I, j) can be obtained. By adopting the second method, the amount of calculation can be reduced as compared with the first method.
 このように、画像処理システム11は、サブブロック・レベルでの色差成分CbおよびCrに対する動き補償を行った後、色差オプティカルフロー処理を施すことにより、動き補償の精度を改善することができる。そして、輝度成分Yに対してオプティカルフロー処理を施し、色差成分CbおよびCrに対して色差オプティカルフロー処理を施すことにより、補正後の輝度成分Yと色差成分CbおよびCrとに生じるずれを小さくし、画質の劣化および符号化効率の低下を抑制することができる。 As described above, the image processing system 11 can improve the accuracy of motion compensation by performing motion compensation for the color difference components Cb and Cr at the sub-block level and then performing color difference optical flow processing. Then, the luminance component Y is subjected to the optical flow treatment, and the color difference components Cb and Cr are subjected to the color difference optical flow treatment to reduce the deviation between the corrected luminance component Y and the color difference components Cb and Cr. , Deterioration of image quality and deterioration of coding efficiency can be suppressed.
 図7を参照して、本技術を適用する効果的な状況について説明する。 With reference to FIG. 7, an effective situation in which this technology is applied will be described.
 例えば、本技術を適用する場合には処理量が増大することが懸念され、処理量を抑制することができるような効果的な状況で本技術を適用することが好ましい。つまり、本技術は、アファイン変換の動きが大きな動き補償で適用することが効果的になる。従って、動き補償の参照する時刻が大きくことなる条件は、本技術を用いることで効果が期待できる。 For example, when applying this technology, there is a concern that the processing amount will increase, and it is preferable to apply this technology in an effective situation where the processing amount can be suppressed. That is, it is effective to apply this technology with motion compensation in which the motion of the affine conversion is large. Therefore, the condition that the reference time of the motion compensation is large can be expected to be effective by using this technique.
 図7のAに示すように、参照POC距離またはTemporal IDをしきい値として用いて、アフィン変換の補正が大きいことが予想されるかどうかで、本技術を適用するか否かを判定することができる。例えば、POC距離の大きな参照のアファイン変換で本技術を用いることが考えられる。また、階層的な符号化が用いられる場合、Temporal IDでも同様の効果が得られる。即ち、Temporal ID が所定のしきい値より、小さいまたは大きいといった条件では、大きな動きが補償される条件となり、本技術が効果的な条件になりうる。 As shown in A of FIG. 7, the reference POC distance or Temporal ID is used as a threshold value, and whether or not the present technology is applied is determined based on whether or not the correction of the affine transformation is expected to be large. Can be done. For example, it is conceivable to use this technique in the refine conversion of a reference with a large POC distance. Further, when hierarchical coding is used, the same effect can be obtained with Temporal ID. That is, under the condition that the Temporal ID is smaller or larger than the predetermined threshold value, a large movement is compensated, and this technique can be an effective condition.
 また、図7のBに示すように、参照方向を用いた判定も有効と考えられる。 Further, as shown in B of FIG. 7, it is considered that the judgment using the reference direction is also effective.
 例えば、POC 8は、Bi-predictionであっても、実線の矢印で示すようにL0, L1が同じ時間方向の参照になる。それ以外のPOC 4などは、破線の矢印で示すようにL0, L1予測の方向が過去と将来になる。このため、POC 4のように過去と将来が参照で使える場合、オプティカルフローによる補正がなくとも、ある程度高い精度の動き補償が行える。 For example, in POC8, even if it is Bi-prediction, L0 and L1 are references in the same time direction as shown by the solid arrow. For other POC4 etc., the direction of L0 and L1 prediction is the past and the future as shown by the broken line arrow. Therefore, when the past and future can be used as a reference like POC4, motion compensation with a certain degree of accuracy can be performed without correction by optical flow.
 これに対し、POC 8のような過去だけの参照の場合は、オプティカルフローの補正が効果的なことが期待できる。そこで、参照方向が同じ場合に、本技術がより期待できる条件になりうる。 On the other hand, in the case of a reference only in the past such as POC8, it can be expected that the correction of optical flow will be effective. Therefore, when the reference directions are the same, the present technology can be a more promising condition.
 なお、本実施の形態においては、輝度信号Yに対してオプティカルフロー処理を適用し、クロマ信号Cbおよびクロマ信号Crに対して色差オプティカルフロー処理を適用することについて説明を行ったが、これに限られることはない。例えば、輝度信号Yに対してオプティカルフロー処理を適用し、差分信号Uおよび差分信号Vに対して色差オプティカルフロー処理を適用することができる。 In the present embodiment, it has been described that the optical flow processing is applied to the luminance signal Y and the color difference optical flow processing is applied to the chroma signal Cb and the chroma signal Cr, but the present invention is limited to this. It will not be done. For example, the optical flow processing can be applied to the luminance signal Y, and the color difference optical flow processing can be applied to the difference signal U and the difference signal V.
 <コンピュータベースのシステムの構成例>
 図8は、本技術を適用したコンピュータベースのシステムの一実施の形態の構成例を示すブロック図である。
<Computer-based system configuration example>
FIG. 8 is a block diagram showing a configuration example of an embodiment of a computer-based system to which the present technology is applied.
 図8は、1または複数のコンピュータやサーバなどがネットワークを介して接続されたネットワークシステムの構成例を示すブロック図である。なお、図8の実施の形態で示されているハードウェアおよびソフトウェア環境は、本開示によるソフトウェアおよび/または方法を実装するためのプラットフォームを提供することができる一例として示されている。 FIG. 8 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. The hardware and software environment shown in the embodiment of FIG. 8 is shown as an example of being able to provide a platform for implementing the software and / or method according to the present disclosure.
 図8に示すように、ネットワークシステム101は、コンピュータ102、ネットワーク103、リモートコンピュータ104、ウェブサーバ105、クラウドストレージサーバ106、およびコンピュータサーバ107を備えて構成される。ここで、本実施の形態では、図8に示される機能ブロックのうちの1または複数によって、複数のインスタンスが実行される。 As shown in FIG. 8, the network system 101 includes a computer 102, a network 103, a remote computer 104, a web server 105, a cloud storage server 106, and a computer server 107. Here, in the present embodiment, a plurality of instances are executed by one or more of the functional blocks shown in FIG.
 また、図8では、コンピュータ102の詳細な構成が図示されている。なお、コンピュータ102内に示されている機能ブロックは、例示的な機能を確立するために図示されており、このような構成に限定されるものではない。また、リモートコンピュータ104、ウェブサーバ105、クラウドストレージサーバ106、およびコンピュータサーバ107の詳細な構成は図示されていないが、これらは、コンピュータ102内に示されている機能ブロックと同様の構成が含まれている。 Further, in FIG. 8, a detailed configuration of the computer 102 is illustrated. The functional block shown in the computer 102 is shown for establishing an exemplary function, and is not limited to such a configuration. Further, although the detailed configurations of the remote computer 104, the web server 105, the cloud storage server 106, and the computer server 107 are not shown, they include the same configurations as the functional blocks shown in the computer 102. ing.
 コンピュータ102としては、パーソナルコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ネットブックコンピュータ、携帯情報端末、スマートフォン、または、ネットワーク上の他のデバイスと通信可能な他のプログラム可能な電子デバイスを用いることができる。 The computer 102 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.
 そして、コンピュータ102は、バス111、プロセッサ112、メモリ113、不揮発性ストレージ114、ネットワークインタフェース115、周辺機器インタフェース116、およびディスプレイインターフェース117を備えて構成される。これらの機能の各々は、ある実施の形態では、個々の電子サブシステム(集積回路チップまたはチップと関連デバイスの組み合わせ)に実装され、または、他の実施形態では、機能のいくつかが組み合わせられて単一チップ(システムオンチップまたはSoC(System on Chip))に実装されてもよい。 The computer 102 includes a bus 111, a processor 112, a memory 113, a non-volatile storage 114, a network interface 115, a peripheral device interface 116, and a display interface 117. Each of these features is implemented in an individual electronic subsystem (integrated circuit chip or a combination of chips and associated devices) in some embodiments, or in some embodiments, some of the features are combined. It may be mounted on a single chip (system on chip or SoC (System on Chip)).
 バス111は、各種の独自仕様または業界標準の高速パラレルまたはシリアル周辺相互接続バスを採用することができる。 Bus 111 can adopt various proprietary or industry standard high-speed parallel or serial peripheral interconnection buses.
 プロセッサ112は、1または複数のシングルまたはマルチチップマイクロプロセッサとして設計および/または製造されたものを採用することができる。 Processor 112 may employ one designed and / or manufactured as one or more single or multi-chip microprocessors.
 メモリ113および不揮発性ストレージ114は、コンピュータ102による読み込みが可能なストレージ媒体である。例えば、メモリ113は、DRAM(Dynamic Random Access Memory)やSRAM(Static RAM)などのような任意の適切な揮発性ストレージデバイスを採用することができる。不揮発性ストレージ114は、フレキシブルディスク、ハードディスク、SSD(Solid State Drive)、ROM(Read Only Memory)、EPROM(Erasable and Programmable Read Only Memory)、フラッシュメモリ、コンパクトディスク(CDまたはCD-ROM)、DVD(Digital Versatile Disc)、カード型メモリ、またはスティック型メモリのうち、少なくとも1つ以上を採用することができる。 The memory 113 and the non-volatile storage 114 are storage media that can be read by the computer 102. For example, the memory 113 can employ any suitable volatile storage device such as DRAM (Dynamic Random Access Memory) or SRAM (Static RAM). The non-volatile storage 114 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 Digital Versatile Disc), card type memory, or stick type memory can be adopted.
 また、不揮発性ストレージ114には、プログラム121が格納されている。プログラム121は、例えば、特定のソフトウェア機能を作成、管理、および制御するために使用される機械可読命令および/またはデータの集合である。なお、メモリ113が不揮発性ストレージ114よりも非常に高速である構成では、プログラム121は、プロセッサ112により実行される前に、不揮発性ストレージ114からメモリ113に転送することができる。 The program 121 is stored in the non-volatile storage 114. Program 121 is, for example, a collection of machine-readable instructions and / or data used to create, manage, and control specific software features. In a configuration in which the memory 113 is much faster than the non-volatile storage 114, the program 121 can be transferred from the non-volatile storage 114 to the memory 113 before being executed by the processor 112.
 コンピュータ102は、ネットワークインタフェース115を介して、ネットワーク103を介した他のコンピュータとの通信および相互作用をすることができる。ネットワーク103は、例えば、LAN(Local Area Network)、インターネットなどのWAN(Wide Area Network)、または、LANおよびWANの組み合わせで、有線、無線、または光ファイバー接続が含まれた構成を採用することができる。一般に、ネットワーク103は、2つ以上のコンピュータと関連デバイス間の通信をサポートする接続およびプロトコルの任意の組み合わせからなる。 The computer 102 can communicate and interact with other computers via the network 103 via the network interface 115. The network 103 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. .. In general, network 103 consists of any combination of connections and protocols that support communication between two or more computers and related devices.
 周辺機器インタフェース116は、コンピュータ102にローカルに接続され得る他のデバイスとのデータの入出力を行うことができる。例えば、周辺機器インタフェース116は、外部デバイス131への接続を提供する。外部デバイス131には、キーボード、マウス、キーパッド、タッチスクリーン、および/または、その他の適切な入力デバイスが用いられる。外部デバイス131は、例えば、サムドライブ、ポータブル光学ディスクまたは磁気ディスク、およびメモリカードなどのポータブルコンピュータ可読記憶媒体も含み得る。 The peripheral device interface 116 can input and output data to and from other devices that can be locally connected to the computer 102. For example, the peripheral interface 116 provides a connection to the external device 131. The external device 131 includes a keyboard, mouse, keypad, touch screen, and / or other suitable input device. The external device 131 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.
 本開示の実施の形態では、例えば、プログラム121を実施するために使用されるソフトウェアおよびデータは、そのようなポータブルコンピュータ可読記憶媒体に記憶されてもよい。そのような実施形態では、ソフトウェアは、不揮発性ストレージ114に、または周辺機器インタフェース116を介してメモリ113に直接ロードされてもよい。周辺機器インタフェース116は、外部デバイス131との接続に、例えば、RS-232またはUSB(Universal Serial Bus)などの業界標準を使用してもよい。 In embodiments of the present disclosure, for example, software and data used to implement program 121 may be stored on such a portable computer readable storage medium. In such embodiments, the software may be loaded directly into the non-volatile storage 114 or into the memory 113 via the peripheral interface 116. Peripheral device interface 116 may use an industry standard such as RS-232 or USB (Universal Serial Bus) for connection with the external device 131.
 ディスプレイインターフェース117は、コンピュータ102をディスプレイ132に接続することができ、ディスプレイ132を使用して、コマンドラインまたはグラフィカルユーザインターフェースを、コンピュータ102のユーザに提示することができる。例えば、ディスプレイインターフェース117には、VGA(Video Graphics Array)や、DVI(Digital Visual Interface)、DisplayPort、HDMI(High-Definition Multimedia Interface)(登録商標)などの業界標準を採用することができる。 The display interface 117 can connect the computer 102 to the display 132, and the display 132 can be used to present a command line or graphical user interface to the user of the computer 102. For example, industry standards such as VGA (Video Graphics Array), DVI (Digital Visual Interface), DisplayPort, and HDMI (High-Definition Multimedia Interface) (registered trademark) can be adopted for the display interface 117.
 <画像符号化装置の構成例>
 図9は、本開示を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
<Configuration example of image coding device>
FIG. 9 shows the configuration of an embodiment of an image coding device as an image processing device to which the present disclosure is applied.
 図9に示される画像符号化装置201は、予測処理を用いて画像データを符号化する。ここで、符号化方式としては、例えば、VVC(Versatile Video Coding)方式やHEVC(High Efficiency Video Coding)方式などが用いられる。 The image coding device 201 shown in FIG. 9 encodes the image data by using the prediction process. Here, as the coding method, for example, a VVC (Versatile Video Coding) method, a HEVC (High Efficiency Video Coding) method, or the like is used.
 図9の画像符号化装置201は、A/D変換部202、画面並べ替えバッファ203、演算部204、直交変換部205、量子化部206、可逆符号化部207、および蓄積バッファ208を有する。また、画像符号化装置201は、逆量子化部209、逆直交変換部210、演算部211、デブロッキングフィルタ212、適応オフセットフィルタ213、適応ループフィルタ214、フレームメモリ215、選択部216、イントラ予測部217、動き予測・補償部218、予測画像選択部219、およびレート制御部220を有する。 The image coding device 201 of FIG. 9 has an A / D conversion unit 202, a screen rearrangement buffer 203, a calculation unit 204, an orthogonal conversion unit 205, a quantization unit 206, a lossless coding unit 207, and a storage buffer 208. Further, the image coding device 201 includes an inverse quantization unit 209, an inverse orthogonal conversion unit 210, an arithmetic unit 211, a deblocking filter 212, an adaptive offset filter 213, an adaptive loop filter 214, a frame memory 215, a selection unit 216, and an intra prediction. It has a unit 217, a motion prediction / compensation unit 218, a prediction image selection unit 219, and a rate control unit 220.
 A/D変換部202は、入力された画像データ(Picture(s))をA/D変換して画面並べ替えバッファ203に供給する。なお、A/D変換部202を設けずに、ディジタルデータの画像が入力される構成としてもよい。 The A / D conversion unit 202 A / D-converts the input image data (Picture (s)) and supplies it to the screen sorting buffer 203. The digital data image may be input without providing the A / D conversion unit 202.
 画面並べ替えバッファ203は、A/D変換部202から供給された画像データを記憶し、記憶した表示の順番のフレームの画像を、GOP(Group of Picture)構造に応じて、符号化のためのフレームの順番に並べ替える。画面並べ替えバッファ203は、フレームの順番を並び替えた画像を、演算部204、イントラ予測部217、および動き予測・補償部218に出力する。 The screen rearrangement buffer 203 stores the image data supplied from the A / D conversion unit 202, 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 203 outputs the images in which the frame order is rearranged to the calculation unit 204, the intra prediction unit 217, and the motion prediction / compensation unit 218.
 演算部204は、画面並べ替えバッファ203から出力された画像から、予測画像選択部219を介してイントラ予測部217若しくは動き予測・補償部218から供給される予測画像を減算し、その差分情報を直交変換部205に出力する。 The calculation unit 204 subtracts the prediction image supplied from the intra prediction unit 217 or the motion prediction / compensation unit 218 via the prediction image selection unit 219 from the image output from the screen rearrangement buffer 203, and obtains the difference information. Output to the orthogonal conversion unit 205.
 例えば、イントラ符号化が行われる画像の場合、演算部204は、画面並べ替えバッファ203から出力された画像から、イントラ予測部217から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部204は、画面並べ替えバッファ203から出力された画像から、動き予測・補償部218から供給される予測画像を減算する。 For example, in the case of an image to be intra-encoded, the calculation unit 204 subtracts the prediction image supplied from the intra prediction unit 217 from the image output from the screen rearrangement buffer 203. Further, for example, in the case of an image to be intercoded, the calculation unit 204 subtracts the prediction image supplied from the motion prediction / compensation unit 218 from the image output from the screen rearrangement buffer 203.
 直交変換部205は、演算部204から供給される差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を量子化部206に供給する。 The orthogonal transform unit 205 performs orthogonal transforms such as discrete cosine transform and Karhunen-Loève transform on the difference information supplied from the arithmetic unit 204, and supplies the conversion coefficients to the quantization unit 206.
 量子化部206は、直交変換部205が出力する変換係数を量子化する。量子化部206は、量子化された変換係数を可逆符号化部207に供給する。 The quantization unit 206 quantizes the conversion coefficient output by the orthogonal conversion unit 205. The quantized unit 206 supplies the quantized conversion coefficient to the lossless coding unit 207.
 可逆符号化部207は、その量子化された変換係数に対して、可変長符号化、算術符号化等の可逆符号化を施す。 The lossless coding unit 207 applies lossless coding such as variable length coding and arithmetic coding to the quantized conversion coefficient.
 可逆符号化部207は、イントラ予測モードを示す情報などのパラメータをイントラ予測部217から取得し、インター予測モードを示す情報や動きベクトル情報などのパラメータを動き予測・補償部218から取得する。 The lossless coding unit 207 acquires parameters such as information indicating the intra prediction mode from the intra prediction unit 217, and acquires parameters such as information indicating the inter prediction mode and motion vector information from the motion prediction / compensation unit 218.
 可逆符号化部207は、量子化された変換係数を符号化するとともに、取得した各パラメータ(シンタックス要素)を符号化し、符号化データのヘッダ情報の一部とする(多重化する)。可逆符号化部207は、符号化して得られた符号化データを蓄積バッファ208に供給して蓄積させる。 The lossless coding unit 207 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 lossless coding unit 207 supplies the coded data obtained by coding to the storage buffer 208 and stores it.
 例えば、可逆符号化部207においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、CAVLC(Context-Adaptive Variable Length Coding)などがあげられる。算術符号化としては、CABAC(Context-Adaptive Binary Arithmetic Coding)などがあげられる。 For example, in the lossless coding unit 207, lossless coding processing such as variable length coding or arithmetic coding is performed. Examples of variable-length coding include CAVLC (Context-Adaptive Variable Length Coding). Examples of arithmetic coding include CABAC (Context-Adaptive Binary Arithmetic Coding).
 蓄積バッファ208は、可逆符号化部207から供給された符号化ストリーム(Encoded Data)を、一時的に保持し、所定のタイミングにおいて、符号化された符号化画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。すなわち、蓄積バッファ208は、符号化ストリームを伝送する伝送部でもある。 The storage buffer 208 temporarily holds the coded stream (Encoded Data) supplied from the reversible coding unit 207, 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 208 is also a transmission unit that transmits a coded stream.
 また、量子化部206において量子化された変換係数は、逆量子化部209にも供給される。逆量子化部209は、その量子化された変換係数を、量子化部206による量子化に対応する方法で逆量子化する。逆量子化部209は、得られた変換係数を、逆直交変換部210に供給する。 Further, the conversion coefficient quantized in the quantization unit 206 is also supplied to the inverse quantization unit 209. The dequantization unit 209 dequantizes the quantized conversion coefficient by a method corresponding to the quantization by the quantization unit 206. The inverse quantization unit 209 supplies the obtained conversion coefficient to the inverse orthogonal conversion unit 210.
 逆直交変換部210は、供給された変換係数を、直交変換部205による直交変換処理に対応する方法で逆直交変換する。逆直交変換された出力(復元された差分情報)は、演算部211に供給される。 The inverse orthogonal conversion unit 210 performs inverse orthogonal conversion of the supplied conversion coefficient by a method corresponding to the orthogonal conversion processing by the orthogonal conversion unit 205. The inverse orthogonally converted output (restored difference information) is supplied to the calculation unit 211.
 演算部211は、逆直交変換部210より供給された逆直交変換結果、すなわち、復元された差分情報に、予測画像選択部219を介してイントラ予測部217若しくは動き予測・補償部218から供給される予測画像を加算し、局部的に復号された画像(復号画像)を得る。 The calculation unit 211 supplies the inverse orthogonal conversion result supplied from the inverse orthogonal conversion unit 210, that is, the restored difference information from the intra prediction unit 217 or the motion prediction / compensation unit 218 via the prediction image selection unit 219. The predicted images are added to obtain a locally decoded image (decoded image).
 例えば、差分情報が、イントラ符号化が行われる画像に対応する場合、演算部211は、その差分情報にイントラ予測部217から供給される予測画像を加算する。また、例えば、差分情報が、インター符号化が行われる画像に対応する場合、演算部211は、その差分情報に動き予測・補償部218から供給される予測画像を加算する。 For example, when the difference information corresponds to an image to be intra-encoded, the calculation unit 211 adds the prediction image supplied from the intra prediction unit 217 to the difference information. Further, for example, when the difference information corresponds to an image to be inter-encoded, the calculation unit 211 adds the predicted image supplied from the motion prediction / compensation unit 218 to the difference information.
 その加算結果である復号画像は、デブロッキングフィルタ212およびフレームメモリ215に供給される。 The decoded image that is the addition result is supplied to the deblocking filter 212 and the frame memory 215.
 デブロッキングフィルタ212は、演算部211からの画像に対して、適宜デブロッキングフィルタ処理を行うことにより復号画像のブロック歪を抑制し、そのフィルタ処理結果を適応オフセットフィルタ213に供給する。デブロッキングフィルタ212は、量子化パラメータQPを基に求められるパラメータβおよびTcを有している。パラメータβおよびTcは、デブロッキングフィルタに関する判定に用いられる閾値(パラメータ)である。 The deblocking filter 212 suppresses the block distortion of the decoded image by appropriately performing the deblocking filter processing on the image from the calculation unit 211, and supplies the filter processing result to the adaptive offset filter 213. The deblocking filter 212 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.
 なお、デブロッキングフィルタ212が有するパラメータであるβおよびTcは、HEVC方式で規定されているβとTcから拡張されている。パラメータβおよびTcの各オフセットは、デブロッキングフィルタのパラメータとして、可逆符号化部207において符号化され、後述する図11の画像復号装置301に送信される。 Note that the parameters β and Tc of the deblocking filter 212 are extended from β and Tc specified by the HEVC method. Each offset of the parameters β and Tc is encoded by the lossless coding unit 207 as a parameter of the deblocking filter and transmitted to the image decoding device 301 of FIG. 11 to be described later.
 適応オフセットフィルタ213は、デブロッキングフィルタ212によるフィルタ後の画像に対して、主にリンギングを抑制するオフセットフィルタ(SAO: Sample adaptive offset)処理を行う。 The adaptive offset filter 213 mainly performs an offset filter (SAO: Sample adaptive offset) process that suppresses ringing on the image after filtering by the deblocking filter 212.
 オフセットフィルタの種類は、バンドオフセット2種類、エッジオフセット6種類、オフセットなしの計9種類がある。適応オフセットフィルタ213は、分割領域毎にオフセットフィルタの種類が決定されたものであるquad-tree構造と分割領域毎のオフセット値を用いて、デブロッキングフィルタ212によるフィルタ後の画像に対して、フィルタ処理を施す。適応オフセットフィルタ213は、フィルタ処理後の画像を、適応ループフィルタ214に供給する。 There are 9 types of offset filters: 2 types of band offset, 6 types of edge offset, and no offset. The adaptive offset filter 213 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 212. Apply processing. The adaptive offset filter 213 supplies the filtered image to the adaptive loop filter 214.
 なお、画像符号化装置201において、quad-tree構造と分割領域毎のオフセット値は、適応オフセットフィルタ213により算出されて用いられる。算出されたquad-tree構造と分割領域毎のオフセット値は、適応オフセットパラメータとして、可逆符号化部207において符号化され、後述する図11の画像復号装置301に送信される。 In the image coding apparatus 201, the quad-tree structure and the offset value for each divided region are calculated and used by the adaptive offset filter 213. The calculated quad-tree structure and the offset value for each divided region are encoded by the lossless coding unit 207 as adaptive offset parameters and transmitted to the image decoding device 301 of FIG. 11 to be described later.
 適応ループフィルタ214は、適応オフセットフィルタ213によるフィルタ後の画像に対して、フィルタ係数を用いて、処理単位毎に、適応ループフィルタ(ALF : Adaptive Loop Filter)処理を行う。適応ループフィルタ214においては、フィルタとして、例えば、2次元のウィナーフィルタ(Wiener Filter)が用いられる。もちろん、ウィナーフィルタ以外のフィルタが用いられてもよい。適応ループフィルタ214は、フィルタ処理結果をフレームメモリ215に供給する。 The adaptive loop filter 214 performs adaptive loop filter (ALF: Adaptive Loop Filter) processing for each processing unit on the image after filtering by the adaptive offset filter 213, using the filter coefficient. In the adaptive loop filter 214, for example, a two-dimensional Wiener filter is used as the filter. Of course, a filter other than the Wiener filter may be used. The adaptive loop filter 214 supplies the filter processing result to the frame memory 215.
 なお、図9の例においては図示しないが、画像符号化装置201において、フィルタ係数は、処理単位毎に、画面並べ替えバッファ203からの原画像との残差を最小とするよう適応ループフィルタ214により算出されて用いられる。算出されたフィルタ係数は、適応ループフィルタパラメータとして、可逆符号化部207において符号化され、後述する図11の画像復号装置301に送信される。 Although not shown in the example of FIG. 9, in the image coding apparatus 201, the filter coefficient is an adaptive loop filter 214 for each processing unit so as to minimize the residual with the original image from the screen rearrangement buffer 203. It is calculated and used by. The calculated filter coefficient is encoded by the lossless coding unit 207 as an adaptive loop filter parameter and transmitted to the image decoding device 301 of FIG. 11, which will be described later.
 フレームメモリ215は、所定のタイミングにおいて、蓄積されている参照画像を、選択部216を介してイントラ予測部217または動き予測・補償部218に出力する。 The frame memory 215 outputs the stored reference image to the intra prediction unit 217 or the motion prediction / compensation unit 218 via the selection unit 216 at a predetermined timing.
 例えば、イントラ符号化が行われる画像の場合、フレームメモリ215は、参照画像を、選択部216を介してイントラ予測部217に供給する。また、例えば、インター符号化が行われる場合、フレームメモリ215は、参照画像を、選択部216を介して動き予測・補償部218に供給する。 For example, in the case of an image to be intra-encoded, the frame memory 215 supplies the reference image to the intra-prediction unit 217 via the selection unit 216. Further, for example, when intercoding is performed, the frame memory 215 supplies the reference image to the motion prediction / compensation unit 218 via the selection unit 216.
 選択部216は、フレームメモリ215から供給される参照画像がイントラ符号化を行う画像である場合、その参照画像をイントラ予測部217に供給する。また、選択部216は、フレームメモリ215から供給される参照画像がインター符号化を行う画像である場合、その参照画像を動き予測・補償部218に供給する。 When the reference image supplied from the frame memory 215 is an image to be intra-encoded, the selection unit 216 supplies the reference image to the intra prediction unit 217. Further, when the reference image supplied from the frame memory 215 is an image to be intercoded, the selection unit 216 supplies the reference image to the motion prediction / compensation unit 218.
 イントラ予測部217は、画面内の画素値を用いて予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部217は、複数のモード(イントラ予測モード)によりイントラ予測を行う。 The intra prediction unit 217 performs intra prediction (in-screen prediction) that generates a prediction image using the pixel values in the screen. The intra prediction unit 217 performs intra prediction in a plurality of modes (intra prediction mode).
 イントラ予測部217は、全てのイントラ予測モードで予測画像を生成し、各予測画像を評価し、最適なモードを選択する。イントラ予測部217は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部219を介して演算部204や演算部211に供給する。 The intra prediction unit 217 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 217 supplies the prediction image generated in the optimum mode to the calculation unit 204 and the calculation unit 211 via the prediction image selection unit 219.
 また、上述したように、イントラ予測部217は、採用したイントラ予測モードを示すイントラ予測モード情報等のパラメータを、適宜可逆符号化部207に供給する。 Further, as described above, the intra prediction unit 217 appropriately supplies parameters such as intra prediction mode information indicating the adopted intra prediction mode to the lossless coding unit 207.
 動き予測・補償部218は、インター符号化が行われる画像について、画面並べ替えバッファ203から供給される入力画像と、選択部216を介してフレームメモリ215から供給される参照画像とを用いて、動き予測を行う。また、動き予測・補償部218は、動き予測により検出された動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。 The motion prediction / compensation unit 218 uses the input image supplied from the screen rearrangement buffer 203 and the reference image supplied from the frame memory 215 via the selection unit 216 for the image to be intercoded. Predict movement. Further, the motion prediction / compensation unit 218 performs motion compensation processing according to the motion vector detected by the motion prediction, and generates a prediction image (inter-prediction image information).
 動き予測・補償部218は、候補となる全てのインター予測モードのインター予測処理を行い、予測画像を生成する。動き予測・補償部218は、生成された予測画像を、予測画像選択部219を介して演算部204や演算部211に供給する。また、動き予測・補償部218は、採用されたインター予測モードを示すインター予測モード情報や、算出した動きベクトルを示す動きベクトル情報などのパラメータを可逆符号化部207に供給する。 The motion prediction / compensation unit 218 performs inter-prediction processing in all candidate inter-prediction modes and generates a prediction image. The motion prediction / compensation unit 218 supplies the generated predicted image to the calculation unit 204 and the calculation unit 211 via the prediction image selection unit 219. Further, the motion prediction / compensation unit 218 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 207.
 予測画像選択部219は、イントラ符号化を行う画像の場合、イントラ予測部217の出力を演算部204や演算部211に供給し、インター符号化を行う画像の場合、動き予測・補償部218の出力を演算部204や演算部211に供給する。 The prediction image selection unit 219 supplies the output of the intra prediction unit 217 to the calculation unit 204 and the calculation unit 211 in the case of an image to be intra-encoded, and in the case of an image to be inter-encoded, the motion prediction / compensation unit 218 of the prediction image selection unit 219. The output is supplied to the calculation unit 204 and the calculation unit 211.
 レート制御部220は、蓄積バッファ208に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部206の量子化動作のレートを制御する。 The rate control unit 220 controls the rate of the quantization operation of the quantization unit 206 based on the compressed image stored in the storage buffer 208 so that overflow or underflow does not occur.
 このように画像符号化装置201は構成されており、可逆符号化部207は、図4の符号化部22に対応し、動き予測・補償部218は、図4のインター予測部21に対応する。また、動き予測・補償部218は、図4の設定部23にも対応し、上述した識別情報や存在識別情報などを可逆符号化部207に供給することができる。従って、画像符号化装置201は、上述したように、より主観的な画質の劣化および符号化効率の低下を抑制することができる。 The image coding device 201 is configured in this way, the lossless coding unit 207 corresponds to the coding unit 22 of FIG. 4, and the motion prediction / compensation unit 218 corresponds to the inter prediction unit 21 of FIG. .. Further, the motion prediction / compensation unit 218 also corresponds to the setting unit 23 in FIG. 4, and can supply the above-mentioned identification information, existence identification information, and the like to the lossless coding unit 207. Therefore, as described above, the image coding device 201 can suppress more subjective deterioration of image quality and deterioration of coding efficiency.
<画像符号化装置の動作>
 図10を参照して、以上のような画像符号化装置201により実行される符号化処理の流れについて説明する。
<Operation of image coding device>
With reference to FIG. 10, the flow of the coding process executed by the image coding apparatus 201 as described above will be described.
 ステップS101において、A/D変換部202は、入力された画像をA/D変換する。 In step S101, the A / D conversion unit 202 A / D-converts the input image.
 ステップS102において、画面並べ替えバッファ203は、A/D変換部202でA/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。 In step S102, the screen rearrangement buffer 203 stores the A / D-converted images by the A / D conversion unit 202, and rearranges the images from the display order of each picture to the coding order.
 画面並べ替えバッファ203から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、参照される復号済みの画像がフレームメモリ215から読み出され、選択部216を介してイントラ予測部217に供給される。 When the image to be processed supplied from the screen rearrangement buffer 203 is an image of a block to be intra-processed, the referenced decoded image is read from the frame memory 215 and is read from the frame memory 215 and is passed through the selection unit 216 to the intra prediction unit. It is supplied to 217.
 これらの画像に基づいて、ステップS103において、イントラ予測部217は処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。なお、参照される復号済みの画素としては、デブロッキングフィルタ212によりフィルタされていない画素が用いられる。 Based on these images, in step S103, the intra-prediction unit 217 intra-predicts the pixels of the block to be processed in all the candidate intra-prediction modes. As the decoded pixel to be referred to, a pixel not filtered by the deblocking filter 212 is used.
 この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部219に供給される。 By this process, intra-prediction is performed in all candidate intra-prediction modes, and cost function values are calculated for all 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 of the optimum intra prediction mode and the cost function value thereof are supplied to the prediction image selection unit 219.
 画面並べ替えバッファ203から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ215から読み出され、選択部216を介して動き予測・補償部218に供給される。これらの画像に基づいて、ステップS104において、動き予測・補償部218は、動き予測・補償処理を行う。 When the image to be processed supplied from the screen rearrangement buffer 203 is an interprocessed image, the referenced image is read from the frame memory 215 and supplied to the motion prediction / compensation unit 218 via the selection unit 216. Will be done. Based on these images, in step S104, the motion prediction / compensation unit 218 performs motion prediction / compensation processing.
 この処理により、候補となる全てのインター予測モードで動き予測処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出され、算出したコスト関数値に基づいて、最適インター予測モードが決定される。そして、最適インター予測モードにより生成された予測画像とそのコスト関数値が予測画像選択部219に供給される。 By this 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 219.
 ステップS105において、予測画像選択部219は、イントラ予測部217および動き予測・補償部218より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定する。そして、予測画像選択部219は、決定した最適予測モードの予測画像を選択し、演算部204,211に供給する。この予測画像は、後述するステップS106,S111の演算に利用される。 In step S105, the prediction image selection unit 219 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 217 and the motion prediction / compensation unit 218. Determine to predict mode. Then, the prediction image selection unit 219 selects the determined prediction image of the optimum prediction mode and supplies it to the calculation units 204 and 211. This predicted image is used for the calculation of steps S106 and S111 described later.
 なお、この予測画像の選択情報は、イントラ予測部217または動き予測・補償部218に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部217は、最適イントラ予測モードを示す情報(すなわち、イントラ予測に関するパラメータ)を、可逆符号化部207に供給する。 The selection information of this prediction image is supplied to the intra prediction unit 217 or the motion prediction / compensation unit 218. When the prediction image of the optimum intra prediction mode is selected, the intra prediction unit 217 supplies information indicating the optimum intra prediction mode (that is, parameters related to the intra prediction) to the lossless coding unit 207.
 最適インター予測モードの予測画像が選択された場合、動き予測・補償部218は、最適インター予測モードを示す情報と、最適インター予測モードに応じた情報(すなわち、動き予測に関するパラメータ)を可逆符号化部207に出力する。最適インター予測モードに応じた情報としては、動きベクトル情報や参照フレーム情報などがあげられる。 When the prediction image of the optimum inter prediction mode is selected, the motion prediction / compensation unit 218 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 207. Examples of the information according to the optimum inter-prediction mode include motion vector information and reference frame information.
 ステップS106において、演算部204は、ステップS102で並び替えられた画像と、ステップS105で選択された予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部218から、イントラ予測する場合はイントラ予測部217から、それぞれ予測画像選択部219を介して演算部204に供給される。 In step S106, the calculation unit 204 calculates the difference between the images sorted in step S102 and the predicted image selected in step S105. The predicted image is supplied to the calculation unit 204 from the motion prediction / compensation unit 218 in the case of inter-prediction and from the intra-prediction unit 217 in the case of intra-prediction via the prediction image selection unit 219.
 差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。 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.
 ステップS107において、直交変換部205は演算部204から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。 In step S107, the orthogonal conversion unit 205 orthogonally converts the difference information supplied from the calculation unit 204. Specifically, orthogonal transforms such as the discrete cosine transform and the Karhunen-Loève transform are performed, and the transform coefficients are output.
 ステップS108において、量子化部206は変換係数を量子化する。この量子化に際しては、後述するステップS118の処理で説明されるように、レートが制御される。 In step S108, the quantization unit 206 quantizes the conversion coefficient. In this quantization, the rate is controlled as described in the process of step S118 described later.
 以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS109において、逆量子化部209は、量子化部206により量子化された変換係数を量子化部206の特性に対応する特性で逆量子化する。ステップS110において、逆直交変換部210は、逆量子化部209により逆量子化された変換係数を直交変換部205の特性に対応する特性で逆直交変換する。 The difference information quantized as described above is locally decoded as follows. That is, in step S109, the inverse quantization unit 209 dequantizes the conversion coefficient quantized by the quantization unit 206 with a characteristic corresponding to the characteristic of the quantization unit 206. In step S110, the inverse orthogonal conversion unit 210 performs inverse orthogonal conversion of the conversion coefficient inversely quantized by the inverse quantization unit 209 with a characteristic corresponding to the characteristic of the orthogonal conversion unit 205.
 ステップS111において、演算部211は、予測画像選択部219を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された(すなわち、ローカルデコードされた)画像(演算部204への入力に対応する画像)を生成する。 In step S111, the calculation unit 211 adds the predicted image input via the predicted image selection unit 219 to the locally decoded difference information, and locally decodes (that is, locally decoded) the image. (Image corresponding to the input to the calculation unit 204) is generated.
 ステップS112においてデブロッキングフィルタ212は、演算部211より出力された画像に対して、デブロッキングフィルタ処理を行う。このとき、デブロッキングフィルタに関する判定の閾値として、HEVC方式で規定されているβとTcから拡張されたパラメータβおよびTcが用いられる。デブロッキングフィルタ212からのフィルタ後の画像は、適応オフセットフィルタ213に出力される。 In step S112, the deblocking filter 212 performs a deblocking filter process on the image output from the calculation unit 211. At this time, as 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 212 is output to the adaptive offset filter 213.
 なお、ユーザにより操作部などを操作することで入力されて、デブロッキングフィルタ212で用いられたパラメータβおよびTcの各オフセットは、デブロッキングフィルタのパラメータとして、可逆符号化部207に供給される。 Note that each offset of the parameters β and Tc used in the deblocking filter 212, which is input by the user by operating the operation unit or the like, is supplied to the reversible coding unit 207 as a parameter of the deblocking filter.
 ステップS113において、適応オフセットフィルタ213は、適応オフセットフィルタ処理を行う。この処理により、分割領域毎にオフセットフィルタの種類が決定されたものであるquad-tree構造と分割領域毎のオフセット値を用いて、デブロッキングフィルタ212によるフィルタ後の画像に対して、フィルタ処理が施される。フィルタ後の画像は、適応ループフィルタ214に供給される。 In step S113, the adaptive offset filter 213 performs adaptive offset filter processing. By this processing, the filter processing is performed on the image after filtering by the deblocking filter 212 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 214.
 なお、決定されたquad-tree構造と分割領域毎のオフセット値は、適応オフセットパラメータとして、可逆符号化部207に供給される。 The determined quad-tree structure and the offset value for each divided region are supplied to the lossless coding unit 207 as an adaptive offset parameter.
 ステップS114において、適応ループフィルタ214は、適応オフセットフィルタ213によるフィルタ後の画像に対して、適応ループフィルタ処理を行う。例えば、適応オフセットフィルタ213によるフィルタ後の画像に対して、フィルタ係数を用いて、処理単位毎に、画像に対してフィルタ処理が行われ、フィルタ処理結果が、フレームメモリ215に供給される。 In step S114, the adaptive loop filter 214 performs adaptive loop filter processing on the image after filtering by the adaptive offset filter 213. For example, the image after filtering by the adaptive offset filter 213 is filtered for each processing unit by using the filter coefficient, and the filter processing result is supplied to the frame memory 215.
 ステップS115においてフレームメモリ215は、フィルタリングされた画像を記憶する。なお、フレームメモリ215には、デブロッキングフィルタ212、適応オフセットフィルタ213、および適応ループフィルタ214によりフィルタされていない画像も演算部211から供給され、記憶される。 In step S115, the frame memory 215 stores the filtered image. Images that have not been filtered by the deblocking filter 212, the adaptive offset filter 213, and the adaptive loop filter 214 are also supplied and stored in the frame memory 215 from the calculation unit 211.
 一方、上述したステップS108において量子化された変換係数は、可逆符号化部207にも供給される。ステップS116において、可逆符号化部207は、量子化部206より出力された量子化された変換係数と、供給された各パラメータを符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。ここで、符号化される各パラメータとしては、デブロッキングフィルタのパラメータ、適応オフセットフィルタのパラメータ、適応ループフィルタのパラメータ、量子化パラメータ、動きベクトル情報や参照フレーム情報、予測モード情報などがあげられる。 On the other hand, the conversion coefficient quantized in step S108 described above is also supplied to the lossless coding unit 207. In step S116, the lossless coding unit 207 encodes the quantized conversion coefficient output from the quantizing unit 206 and each supplied parameter. That is, the difference image is losslessly coded and compressed by variable length coding, arithmetic coding, and the like. Here, each of the encoded parameters includes a deblocking filter parameter, an adaptive offset filter parameter, an adaptive loop filter parameter, a quantization parameter, motion vector information and reference frame information, prediction mode information, and the like.
 ステップS117において蓄積バッファ208は、符号化された差分画像(すなわち、符号化ストリーム)を、圧縮画像として蓄積する。蓄積バッファ208に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。 In step S117, the storage buffer 208 stores the coded difference image (that is, the coded stream) as a compressed image. The compressed image stored in the storage buffer 208 is appropriately read out and transmitted to the decoding side via the transmission line.
 ステップS118においてレート制御部220は、蓄積バッファ208に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部206の量子化動作のレートを制御する。 In step S118, the rate control unit 220 controls the rate of the quantization operation of the quantization unit 206 based on the compressed image stored in the storage buffer 208 so that overflow or underflow does not occur.
 ステップS118の処理が終了すると、符号化処理が終了される。 When the process of step S118 is completed, the coding process is completed.
 以上のような符号化処理において、ステップS104において動き予測・補償部218が動き予測・補償処理を行って予測画像を生成する際に、カレント予測ブロックの色差成分CbおよびCrに対して色差オプティカルフロー処理が適用される。さらに、ステップS104において動き予測・補償部218は、符号化処理の対象となる画像のカレント予測ブロックの画素を対象としてオプティカルフロー処理を適用した動き補償処理を行うかを識別する識別情報を設定する。 In the above coding process, when the motion prediction / compensation unit 218 performs the motion prediction / compensation process in step S104 to generate a prediction image, the color difference optical flow with respect to the color difference components Cb and Cr of the current prediction block. The process is applied. Further, in step S104, the motion prediction / compensation unit 218 sets identification information for identifying whether to perform motion compensation processing to which optical flow processing is applied to the pixels of the current prediction block of the image to be encoded. ..
<画像復号装置の構成例>
 図11は、本開示を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。図11に示される画像復号装置301は、図9の画像符号化装置201に対応する復号装置である。
<Configuration example of image decoding device>
FIG. 11 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 301 shown in FIG. 11 is a decoding device corresponding to the image coding device 201 of FIG.
 画像符号化装置201より符号化された符号化ストリーム(Encoded Data)は、所定の伝送路を介して、この画像符号化装置201に対応する画像復号装置301に伝送され、復号されるものとする。 It is assumed that the encoded stream (Encoded Data) encoded by the image coding device 201 is transmitted to the image decoding device 301 corresponding to the image coding device 201 via a predetermined transmission line and decoded. ..
 図11に示されるように、画像復号装置301は、蓄積バッファ302、可逆復号部303、逆量子化部304、逆直交変換部305、演算部306、デブロッキングフィルタ307、適応オフセットフィルタ308、適応ループフィルタ309、画面並べ替えバッファ310、D/A変換部311、フレームメモリ312、選択部313、イントラ予測部314、動き予測・補償部315、および選択部316を有する。 As shown in FIG. 11, the image decoding device 301 includes a storage buffer 302, a reversible decoding unit 303, an inverse quantization unit 304, an inverse orthogonal conversion unit 305, an arithmetic unit 306, a deblocking filter 307, an adaptive offset filter 308, and an adaptive device. It has a loop filter 309, a screen sorting buffer 310, a D / A conversion unit 311, a frame memory 312, a selection unit 313, an intra prediction unit 314, a motion prediction / compensation unit 315, and a selection unit 316.
 蓄積バッファ302は、伝送されてきた符号化データを受け取る受け取り部でもある。蓄積バッファ302は、伝送されてきた符号化データを受け取って、蓄積する。この符号化データは、画像符号化装置201により符号化されたものである。可逆復号部303は、蓄積バッファ302から所定のタイミングで読み出された符号化データを、図9の可逆符号化部207の符号化方式に対応する方式で復号する。 The storage buffer 302 is also a receiving unit that receives the transmitted encoded data. The storage buffer 302 receives the transmitted coded data and stores it. This coded data is encoded by the image coding device 201. The lossless decoding unit 303 decodes the coded data read from the storage buffer 302 at a predetermined timing by a method corresponding to the coding method of the lossless coding unit 207 of FIG.
 可逆復号部303は、復号されたイントラ予測モードを示す情報などのパラメータをイントラ予測部314に供給し、インター予測モードを示す情報や動きベクトル情報などのパラメータを動き予測・補償部315に供給する。また、可逆復号部303は、復号されたデブロッキングフィルタのパラメータを、デブロッキングフィルタ307に供給し、復号された適応オフセットパラメータを、適応オフセットフィルタ308に供給する。 The reversible decoding unit 303 supplies parameters such as information indicating the decoded intra prediction mode to the intra prediction unit 314, and supplies parameters such as information indicating the inter prediction mode and motion vector information to the motion prediction / compensation unit 315. .. Further, the reversible decoding unit 303 supplies the decoded deblocking filter parameters to the deblocking filter 307, and supplies the decoded adaptive offset parameters to the adaptive offset filter 308.
 逆量子化部304は、可逆復号部303により復号されて得られた係数データ(量子化係数)を、図9の量子化部206の量子化方式に対応する方式で逆量子化する。つまり、逆量子化部304は、画像符号化装置201から供給された量子化パラメータを用いて、図9の逆量子化部209と同様の方法で量子化係数の逆量子化を行う。 The inverse quantization unit 304 dequantizes the coefficient data (quantization coefficient) obtained by decoding by the reversible decoding unit 303 by a method corresponding to the quantization method of the quantization unit 206 of FIG. That is, the inverse quantization unit 304 performs the inverse quantization of the quantization coefficient by the same method as the inverse quantization unit 209 of FIG. 9 using the quantization parameters supplied from the image coding device 201.
 逆量子化部304は、逆量子化された係数データ、つまり、直交変換係数を、逆直交変換部305に供給する。逆直交変換部305は、図9の直交変換部205の直交変換方式に対応する方式で、その直交変換係数を逆直交変換し、画像符号化装置201において直交変換される前の残差データに対応する復号残差データを得る。 The inverse quantized unit 304 supplies the inverse quantized coefficient data, that is, the orthogonal conversion coefficient to the inverse orthogonal conversion unit 305. The inverse orthogonal conversion unit 305 is a method corresponding to the orthogonal conversion method of the orthogonal conversion unit 205 of FIG. 9, and the orthogonal conversion coefficient is inversely orthogonally converted to the residual data before the orthogonal conversion by the image coding apparatus 201. Obtain the corresponding decoding residual data.
 逆直交変換されて得られた復号残差データは、演算部306に供給される。また、演算部306には、選択部316を介して、イントラ予測部314若しくは動き予測・補償部315から予測画像が供給される。 The decoding residual data obtained by the inverse orthogonal conversion is supplied to the calculation unit 306. Further, the calculation unit 306 is supplied with a prediction image from the intra prediction unit 314 or the motion prediction / compensation unit 315 via the selection unit 316.
 演算部306は、その復号残差データと予測画像とを加算し、画像符号化装置201の演算部204により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部306は、その復号画像データをデブロッキングフィルタ307に供給する。 The calculation unit 306 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 204 of the image coding device 201. The calculation unit 306 supplies the decoded image data to the deblocking filter 307.
 デブロッキングフィルタ307は、演算部306からの画像に対して、適宜デブロックフィルタ処理を行うことにより復号画像のブロック歪を抑制し、そのフィルタ処理結果を適応オフセットフィルタ308に供給する。デブロッキングフィルタ307は、図9のデブロッキングフィルタ212と基本的に同様に構成される。すなわち、デブロッキングフィルタ307は、量子化パラメータを基に求められるパラメータβおよびTcを有している。パラメータβおよびTcは、デブロッキングフィルタに関する判定に用いられる閾値である。 The deblocking filter 307 suppresses the block distortion of the decoded image by appropriately performing the deblocking filter processing on the image from the calculation unit 306, and supplies the filter processing result to the adaptive offset filter 308. The deblocking filter 307 is basically configured in the same manner as the deblocking filter 212 of FIG. That is, the deblocking filter 307 has parameters β and Tc obtained based on the quantization parameters. The parameters β and Tc are threshold values used for determining the deblocking filter.
 なお、デブロッキングフィルタ307が有するパラメータであるβおよびTcは、HEVC方式で規定されているβとTcから拡張されている。画像符号化装置201により符号化されたデブロッキングフィルタのパラメータβおよびTcの各オフセットは、デブロッキングフィルタのパラメータとして、画像復号装置301において受信されて、可逆復号部303により復号されて、デブロッキングフィルタ307により用いられる。 Note that the parameters β and Tc of the deblocking filter 307 are extended from β and Tc defined by the HEVC method. Each offset of the parameters β and Tc of the deblocking filter encoded by the image coding device 201 is received by the image decoding device 301 as a parameter of the deblocking filter, decoded by the reversible decoding unit 303, and deblocking. Used by filter 307.
 適応オフセットフィルタ308は、デブロッキングフィルタ307によるフィルタ後の画像に対して、主にリンギングを抑制するオフセットフィルタ(SAO)処理を行う。 The adaptive offset filter 308 mainly performs an offset filter (SAO) process for suppressing ringing on the image after filtering by the deblocking filter 307.
 適応オフセットフィルタ308は、分割領域毎にオフセットフィルタの種類が決定されたものであるquad-tree構造と分割領域毎のオフセット値を用いて、デブロッキングフィルタ307によるフィルタ後の画像に対して、フィルタ処理を施す。適応オフセットフィルタ308は、フィルタ処理後の画像を、適応ループフィルタ309に供給する。 The adaptive offset filter 308 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 307. Apply processing. The adaptive offset filter 308 supplies the filtered image to the adaptive loop filter 309.
 なお、このquad-tree構造と分割領域毎のオフセット値は、画像符号化装置201の適応オフセットフィルタ213により算出され、適応オフセットパラメータとして、符号化されて送られてきたものである。そして、画像符号化装置201により符号化されたquad-tree構造と分割領域毎のオフセット値は、適応オフセットパラメータとして、画像復号装置301において受信されて、可逆復号部303により復号されて、適応オフセットフィルタ308により用いられる。 The quad-tree structure and the offset value for each divided region are calculated by the adaptive offset filter 213 of the image coding device 201, encoded as an adaptive offset parameter, and sent. Then, the quad-tree structure encoded by the image coding device 201 and the offset value for each divided region are received by the image decoding device 301 as adaptive offset parameters, decoded by the reversible decoding unit 303, and the adaptive offset. Used by filter 308.
 適応ループフィルタ309は、適応オフセットフィルタ308によるフィルタ後の画像に対して、フィルタ係数を用いて、処理単位毎にフィルタ処理を行い、フィルタ処理結果を、フレームメモリ312および画面並べ替えバッファ310に供給する。 The adaptive loop filter 309 filters the image filtered by the adaptive offset filter 308 for each processing unit using the filter coefficient, and supplies the filter processing result to the frame memory 312 and the screen sorting buffer 310. To do.
 なお、図11の例においては図示しないが、画像復号装置301において、フィルタ係数は、画像符号化装置201の適応ループフィルタ214によりLUC毎に算出され、適応ループフィルタパラメータとして、符号化されて送られてきたものが可逆復号部303により復号されて用いられる。 Although not shown in the example of FIG. 11, in the image decoding device 301, the filter coefficient is calculated for each LUC by the adaptive loop filter 214 of the image coding device 201, and is encoded and sent as an adaptive loop filter parameter. What has been obtained is decoded by the reversible decoding unit 303 and used.
 画面並べ替えバッファ310は、画像の並べ替えを行って、D/A変換部311に供給する。すなわち、図9の画面並べ替えバッファ203により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。 The screen sorting buffer 310 sorts the images and supplies them to the D / A conversion unit 311. That is, the order of the frames rearranged for the coding order by the screen rearrangement buffer 203 of FIG. 9 is rearranged in the original display order.
 D/A変換部311は、画面並べ替えバッファ310から供給される画像(Decoded Picture(s))をD/A変換して図示せぬディスプレイに出力し、表示させる。なお、D/A変換部311を設けずに、ディジタルデータのままで画像を出力する構成としてもよい。 The D / A conversion unit 311 D / A-converts the image (Decoded Picture (s)) supplied from the screen rearrangement buffer 310, outputs it to a display (not shown), and displays it. The image may be output as digital data without providing the D / A conversion unit 311.
 適応ループフィルタ309の出力は、さらに、フレームメモリ312に供給される。 The output of the adaptive loop filter 309 is further supplied to the frame memory 312.
 フレームメモリ312、選択部313、イントラ予測部314、動き予測・補償部315、および選択部316は、画像符号化装置201のフレームメモリ215、選択部216、イントラ予測部217、動き予測・補償部218、および予測画像選択部219にそれぞれ対応する。 The frame memory 312, the selection unit 313, the intra prediction unit 314, the motion prediction / compensation unit 315, and the selection unit 316 are the frame memory 215, the selection unit 216, the intra prediction unit 217, and the motion prediction / compensation unit of the image encoding device 201. It corresponds to 218 and the prediction image selection unit 219, respectively.
 選択部313は、インター処理される画像と参照される画像をフレームメモリ312から読み出し、動き予測・補償部315に供給する。また、選択部313は、イントラ予測に用いられる画像をフレームメモリ312から読み出し、イントラ予測部314に供給する。 The selection unit 313 reads the interprocessed image and the referenced image from the frame memory 312, and supplies the motion prediction / compensation unit 315. Further, the selection unit 313 reads the image used for the intra prediction from the frame memory 312 and supplies it to the intra prediction unit 314.
 イントラ予測部314には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部303から適宜供給される。イントラ予測部314は、この情報に基づいて、フレームメモリ312から取得した参照画像から予測画像を生成し、生成した予測画像を選択部316に供給する。 Information and the like indicating the intra prediction mode obtained by decoding the header information are appropriately supplied to the intra prediction unit 314 from the reversible decoding unit 303. Based on this information, the intra prediction unit 314 generates a prediction image from the reference image acquired from the frame memory 312, and supplies the generated prediction image to the selection unit 316.
 動き予測・補償部315には、ヘッダ情報を復号して得られた情報(予測モード情報、動きベクトル情報、参照フレーム情報、フラグ、および各種パラメータ等)が可逆復号部303から供給される。 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 315 from the reversible decoding unit 303.
 動き予測・補償部315は、可逆復号部303から供給されるそれらの情報に基づいて、フレームメモリ312から取得した参照画像から予測画像を生成し、生成した予測画像を選択部316に供給する。 The motion prediction / compensation unit 315 generates a prediction image from the reference image acquired from the frame memory 312 based on the information supplied from the reversible decoding unit 303, and supplies the generated prediction image to the selection unit 316.
 選択部316は、動き予測・補償部315またはイントラ予測部314により生成された予測画像を選択し、演算部306に供給する。 The selection unit 316 selects the prediction image generated by the motion prediction / compensation unit 315 or the intra prediction unit 314 and supplies it to the calculation unit 306.
 このように画像復号装置301は構成されており、可逆復号部303は、図4の復号部32に対応し、動き予測・補償部315は、図4のインター予測部31に対応する。また、可逆復号部303は、図4のパース部33および制御部34にも対応し、上述した識別情報や存在識別情報をパースして、オプティカルフロー処理を適用した動き補償処理を行うかを制御することができる。従って、画像復号装置301は、上述したように、より主観的な画質の劣化および符号化効率の低下を抑制することができる。 The image decoding device 301 is configured in this way, the reversible decoding unit 303 corresponds to the decoding unit 32 of FIG. 4, and the motion prediction / compensation unit 315 corresponds to the inter prediction unit 31 of FIG. Further, the reversible decoding unit 303 also corresponds to the parsing unit 33 and the control unit 34 in FIG. 4, and controls whether to perform motion compensation processing to which the optical flow processing is applied by parsing the above-mentioned identification information and existence identification information. can do. Therefore, as described above, the image decoding device 301 can suppress more subjective deterioration of image quality and deterioration of coding efficiency.
<画像復号装置の動作>
 図12を参照して、以上のような画像復号装置301により実行される復号処理の流れの例を説明する。
<Operation of image decoding device>
An example of the flow of the decoding process executed by the image decoding apparatus 301 as described above will be described with reference to FIG.
 復号処理が開始されると、ステップS201において、蓄積バッファ302は、伝送されてきた符号化ストリーム(データ)を受け取り、蓄積する。ステップS202において、可逆復号部303は、蓄積バッファ302から供給される符号化データを復号する。図9の可逆符号化部207により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。 When the decoding process is started, in step S201, the storage buffer 302 receives the transmitted coded stream (data) and stores it. In step S202, the reversible decoding unit 303 decodes the coded data supplied from the storage buffer 302. The I picture, P picture, and B picture encoded by the lossless coding unit 207 of FIG. 9 are decoded.
 ピクチャの復号に先立ち、動きベクトル情報、参照フレーム情報、予測モード情報(イントラ予測モード、またはインター予測モード)などのパラメータの情報も復号される。 Prior to decoding the picture, parameter information such as motion vector information, reference frame information, and prediction mode information (intra prediction mode or inter prediction mode) is also decoded.
 予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部314に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報などは、動き予測・補償部315に供給される。また、デブロッキングフィルタのパラメータおよび適応オフセットパラメータも復号され、デブロッキングフィルタ307および適応オフセットフィルタ308にそれぞれ供給される。 When the prediction mode information is the intra prediction mode information, the prediction mode information is supplied to the intra prediction unit 314. When 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 315. In addition, the parameters of the deblocking filter and the adaptive offset parameter are also decoded and supplied to the deblocking filter 307 and the adaptive offset filter 308, respectively.
 ステップS203において、イントラ予測部314または動き予測・補償部315は、可逆復号部303から供給される予測モード情報に対応して、それぞれ、予測画像生成処理を行う。 In step S203, the intra prediction unit 314 or the motion prediction / compensation unit 315 each performs a prediction image generation process corresponding to the prediction mode information supplied from the reversible decoding unit 303.
 すなわち、可逆復号部303からイントラ予測モード情報が供給された場合、イントラ予測部314はイントラ予測モードのイントラ予測画像を生成する。可逆復号部303からインター予測モード情報が供給された場合、動き予測・補償部315は、インター予測モードの動き予測・補償処理を行い、インター予測画像を生成する。 That is, when the intra prediction mode information is supplied from the reversible decoding unit 303, the intra prediction unit 314 generates an intra prediction image of the intra prediction mode. When the inter-prediction mode information is supplied from the reversible decoding unit 303, the motion prediction / compensation unit 315 performs the motion prediction / compensation processing in the inter-prediction mode and generates the inter-prediction image.
 この処理により、イントラ予測部314により生成された予測画像(イントラ予測画像)、または動き予測・補償部315により生成された予測画像(インター予測画像)が、選択部316に供給される。 By this process, the prediction image (intra prediction image) generated by the intra prediction unit 314 or the prediction image (inter prediction image) generated by the motion prediction / compensation unit 315 is supplied to the selection unit 316.
 ステップS204において、選択部316は予測画像を選択する。すなわち、イントラ予測部314により生成された予測画像、または、動き予測・補償部315により生成された予測画像が供給される。したがって、供給された予測画像が選択されて演算部306に供給され、後述するステップS207において逆直交変換部305の出力と加算される。 In step S204, the selection unit 316 selects the predicted image. That is, the prediction image generated by the intra prediction unit 314 or the prediction image generated by the motion prediction / compensation unit 315 is supplied. Therefore, the supplied predicted image is selected and supplied to the calculation unit 306, and is added to the output of the inverse orthogonal conversion unit 305 in step S207 described later.
 上述したステップS202において、可逆復号部303により復号された変換係数は、逆量子化部304にも供給される。ステップS205において、逆量子化部304は可逆復号部303により復号された変換係数を、図9の量子化部206の特性に対応する特性で逆量子化する。 The conversion coefficient decoded by the reversible decoding unit 303 in step S202 described above is also supplied to the inverse quantization unit 304. In step S205, the inverse quantization unit 304 dequantizes the conversion coefficient decoded by the reversible decoding unit 303 with a characteristic corresponding to the characteristic of the quantization unit 206 of FIG.
 ステップS206において逆直交変換部305は、逆量子化部304により逆量子化された変換係数を、図9の直交変換部205の特性に対応する特性で逆直交変換する。これにより図9の直交変換部205の入力(演算部204の出力)に対応する差分情報が復号されたことになる。 In step S206, the inverse orthogonal conversion unit 305 performs inverse orthogonal conversion of the conversion coefficient inversely quantized by the inverse quantization unit 304 with a characteristic corresponding to the characteristic of the orthogonal conversion unit 205 of FIG. As a result, the difference information corresponding to the input of the orthogonal conversion unit 205 (output of the calculation unit 204) of FIG. 9 is decoded.
 ステップS207において、演算部306は、上述したステップS204の処理で選択され、選択部316を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。 In step S207, the calculation unit 306 adds the predicted image selected in the process of step S204 described above and input via the selection unit 316 to the difference information. This decodes the original image.
 ステップS208においてデブロッキングフィルタ307は、演算部306より出力された画像に対して、デブロッキングフィルタ処理を行う。このとき、デブロッキングフィルタに関する判定の閾値として、HEVC方式で規定されているβとTcから拡張されたパラメータβおよびTcが用いられる。デブロッキングフィルタ307からのフィルタ後の画像は、適応オフセットフィルタ308に出力される。なお、デブロッキングフィルタ処理においては、可逆復号部303から供給されるデブロッキングフィルタのパラメータβおよびTcの各オフセットも用いられる。 In step S208, the deblocking filter 307 performs a deblocking filter process on the image output from the calculation unit 306. At this time, as 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 307 is output to the adaptive offset filter 308. In the deblocking filter processing, the offsets of the parameters β and Tc of the deblocking filter supplied from the reversible decoding unit 303 are also used.
 ステップS209において、適応オフセットフィルタ308は、適応オフセットフィルタ処理を行う。この処理により、分割領域毎にオフセットフィルタの種類が決定されたものであるquad-tree構造と分割領域毎のオフセット値を用いて、デブロッキングフィルタ307によるフィルタ後の画像に対して、フィルタ処理が施される。フィルタ後の画像は、適応ループフィルタ309に供給される。 In step S209, the adaptive offset filter 308 performs adaptive offset filter processing. By this processing, the filter processing is performed on the image after filtering by the deblocking filter 307 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 309.
 ステップS210において、適応ループフィルタ309は、適応オフセットフィルタ308によるフィルタ後の画像に対して、適応ループフィルタ処理を行う。適応ループフィルタ309は、処理単位毎に計算されたフィルタ係数を用いて、入力画像に対して、処理単位毎にフィルタ処理を行い、フィルタ処理結果を、画面並べ替えバッファ310およびフレームメモリ312に供給する。 In step S210, the adaptive loop filter 309 performs adaptive loop filter processing on the image after filtering by the adaptive offset filter 308. The adaptive loop filter 309 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 310 and the frame memory 312. To do.
 ステップS211においてフレームメモリ312は、フィルタリングされた画像を記憶する。 In step S211 the frame memory 312 stores the filtered image.
 ステップS212において、画面並べ替えバッファ310は、適応ループフィルタ309後の画像の並べ替えを行った後、D/A変換部311に供給する。すなわち画像符号化装置201の画面並べ替えバッファ203により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。 In step S212, the screen rearrangement buffer 310 rearranges the images after the adaptive loop filter 309 and then supplies the screen rearrangement buffer 310 to the D / A conversion unit 311. That is, the order of the frames sorted for coding by the screen sort buffer 203 of the image coding device 201 is rearranged to the original display order.
 ステップS213において、D/A変換部311は、画面並べ替えバッファ310で並べ替えられた画像をD/A変換して図示せぬディスプレイに出力し、画像が表示される。 In step S213, the D / A conversion unit 311 D / A-converts the images sorted by the screen sorting buffer 310 and outputs them to a display (not shown), and the images are displayed.
 ステップS213の処理が終了すると、復号処理が終了される。 When the process of step S213 is completed, the decoding process is completed.
 以上のような復号処理において、ステップS203において動き予測・補償部315が動き予測・補償処理を行って予測画像を生成する際に、カレント予測ブロックの色差成分CbおよびCrに対して色差オプティカルフロー処理が施される。さらに、ステップS202において、可逆復号部303は、ビットストリームから識別情報をパースし、その識別情報を参照して、オプティカルフロー処理を適用した動き補償処理を行うかを制御する。 In the decoding process as described above, when the motion prediction / compensation unit 315 performs the motion prediction / compensation process in step S203 to generate a predicted image, the color difference optical flow process is performed on the color difference components Cb and Cr of the current prediction block. Is given. Further, in step S202, the reversible decoding unit 303 parses the identification information from the bit stream and controls whether to perform the motion compensation processing to which the optical flow processing is applied by referring to the identification information.
 <コンピュータの構成例>
 次に、上述した一連の処理(画像処理方法)は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
<Computer configuration example>
Next, the series of processes (image processing method) described above can be performed by hardware or software. When a series of processes is performed by software, the programs constituting the software are installed on a general-purpose computer or the like.
 図13は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示すブロック図である。 FIG. 13 is a block diagram showing a configuration example of an embodiment of a computer in which a program for executing the above-mentioned series of processes is installed.
 プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク1005やROM1003に予め記録しておくことができる。 The program can be recorded in advance on the hard disk 1005 or ROM 1003 as a recording medium built in the computer.
 あるいはまた、プログラムは、ドライブ1009によって駆動されるリムーバブル記録媒体1011に格納(記録)しておくことができる。このようなリムーバブル記録媒体1011は、いわゆるパッケージソフトウェアとして提供することができる。ここで、リムーバブル記録媒体1011としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。 Alternatively, the program can be stored (recorded) in the removable recording medium 1011 driven by the drive 1009. Such a removable recording medium 1011 can be provided as so-called package software. Here, examples of the removable recording medium 1011 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, a semiconductor memory, and the like.
 なお、プログラムは、上述したようなリムーバブル記録媒体1011からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク1005にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。 The program can be installed on the computer from the removable recording medium 1011 as described above, or can be downloaded to the computer via a communication network or a broadcasting network and installed on the built-in hard disk 1005. That is, for example, the program transfers wirelessly from a download site to a computer via an artificial satellite for digital satellite broadcasting, or transfers to a computer by wire via a network such as LAN (Local Area Network) or the Internet. be able to.
 コンピュータは、CPU(Central Processing Unit)1002を内蔵しており、CPU1002には、バス1001を介して、入出力インタフェース1010が接続されている。 The computer has a built-in CPU (Central Processing Unit) 1002, and the input / output interface 1010 is connected to the CPU 1002 via the bus 1001.
 CPU1002は、入出力インタフェース1010を介して、ユーザによって、入力部1007が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)1003に格納されているプログラムを実行する。あるいは、CPU1002は、ハードディスク1005に格納されたプログラムを、RAM(Random Access Memory)1004にロードして実行する。 When a command is input by the user by operating the input unit 1007 via the input / output interface 1010, the CPU 1002 executes a program stored in the ROM (Read Only Memory) 1003 accordingly. .. Alternatively, the CPU 1002 loads the program stored in the hard disk 1005 into the RAM (Random Access Memory) 1004 and executes it.
 これにより、CPU1002は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU1002は、その処理結果を、必要に応じて、例えば、入出力インタフェース1010を介して、出力部1006から出力、あるいは、通信部1008から送信、さらには、ハードディスク1005に記録等させる。 As a result, the CPU 1002 performs the processing according to the above-mentioned flowchart or the processing performed according to the above-mentioned block diagram configuration. Then, the CPU 1002 outputs the processing result from the output unit 1006 or transmits it from the communication unit 1008, and further records it on the hard disk 1005, if necessary, via the input / output interface 1010.
 なお、入力部1007は、キーボードや、マウス、マイク等で構成される。また、出力部1006は、LCD(Liquid Crystal Display)やスピーカ等で構成される。 The input unit 1007 is composed of a keyboard, a mouse, a microphone, and the like. Further, the output unit 1006 is composed of an LCD (Liquid Crystal Display), a speaker, or the like.
 ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。 Here, in the present specification, the processing performed by the computer according to the program does not necessarily have to be performed in chronological order in the order described as the flowchart. That is, the processing performed by the computer according to the program also includes processing executed in parallel or individually (for example, parallel processing or processing by an object).
 また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。 Further, the program may be processed by one computer (processor) or may be distributed processed by a plurality of computers. Further, the program may be transferred to a distant computer and executed.
 さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。 Further, in the present specification, 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. ..
 また、例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。 Further, for example, the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units). On the contrary, the configurations described above as a plurality of devices (or processing units) may be collectively configured as one device (or processing unit). Further, of course, a configuration other than the above may be added to the configuration of each device (or each processing unit). Further, if the configuration and operation of the entire system are substantially the same, a part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit). ..
 また、例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。 Further, for example, this technology can have a cloud computing configuration in which one function is shared and jointly processed by a plurality of devices via a network.
 また、例えば、上述したプログラムは、任意の装置において実行することができる。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。 Also, for example, the above-mentioned program can be executed in any device. In that case, the device may have necessary functions (functional blocks, etc.) so that necessary information can be obtained.
 また、例えば、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。 Further, for example, each step described in the above flowchart can be executed by one device or can be shared and executed by a plurality of devices. Further, when a plurality of processes are included in one step, the plurality of processes included in the one step can be executed by one device or shared by a plurality of devices. In other words, a plurality of processes included in one step can be executed as processes of a plurality of steps. On the contrary, the processes described as a plurality of steps can be collectively executed as one step.
 なお、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。 The program executed by the computer may be such that the processing of the steps for describing the program is executed in chronological order in the order described in this specification, or is called in parallel or in parallel. It may be executed individually at a necessary timing such as time. That is, as long as there is no contradiction, the processing of each step may be executed in an order different from the above-mentioned order. Further, the processing of the step for writing this program may be executed in parallel with the processing of another program, or may be executed in combination with the processing of another program.
 なお、本明細書において複数説明した本技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。 It should be noted that the present techniques described in the present specification can be independently implemented independently as long as there is no contradiction. Of course, any plurality of the present technologies can be used in combination. For example, some or all of the techniques described in any of the embodiments may be combined with some or all of the techniques described in other embodiments. It is also possible to carry out a part or all of any of the above-mentioned techniques in combination with other techniques not described above.
 <構成の組み合わせ例>
 なお、本技術は以下のような構成も取ることができる。
(1)
 符号化処理の対象となる画像のカレント予測ブロックの画素を対象としてオプティカルフロー処理を適用した動き補償処理を行うかを識別する識別情報を設定する設定部と、
 前記画像を符号化して、前記設定部により設定された識別情報を含むビットストリームを生成する符号化部と
 を備える画像処理装置。
(2)
 前記設定部は、前記オプティカルフロー処理を適用した動き補償処理を、符号化する単位に対して行うかを識別する識別情報を設定する
 上記(1)に記載の画像処理装置。
(3)
 前記設定部は、前記オプティカルフロー処理を適用した動き補償処理を、符号化する単位に対して行うかを識別する識別情報を、前記ビットストリームのヘッダとして設定し、
 前記符号化部は、前記識別情報をヘッダのシンタクスとして含むビットストリームを生成する
 上記(2)に記載の画像処理装置。
(4)
 前記符号化する単位は、スライスである
 上記(3)に記載の画像処理装置。
(5)
 前記設定部は、前記識別情報が前記ビットストリームに含まれることを識別する存在識別情報を設定し、
 前記符号化部は、前記設定部により設定された存在識別情報を含むビットストリームを生成する
 上記(3)に記載の画像処理装置。
(6)
 前記設定部は、前記存在識別情報をシーケンスパラメータセットとして設定し、
 前記符号化部は、前記設定部により設定された存在識別情報をシーケンスパラメータセットとして含むビットストリームを生成する
 上記(5)に記載の画像処理装置。
(7)
 画像処理装置が、
 符号化処理の対象となる画像のカレント予測ブロックの画素を対象としてオプティカルフロー処理を適用した動き補償処理を行うかを識別する識別情報を設定することと、
 前記画像を符号化して、設定された識別情報を含むビットストリームを生成することと
 を含む画像処理方法。
(8)
 復号処理の対象となる画像のカレント予測ブロックの画素を対象としてオプティカルフロー処理を適用した動き補償処理を行うかを識別する識別情報を含むビットストリームから、前記識別情報をパースするパース部と、
 前記パース部によりパースされた識別情報を参照して、オプティカルフロー処理を適用した動き補償処理を行うかを制御する制御部と、
 前記制御部により制御された動き補償処理により生成された予測画像を用いて、前記カレント予測ブロックを復号する復号部と
 を備える画像処理装置。
(9)
 前記制御部は、前記識別情報がオプティカルフロー処理を適用した動き補償処理を行うことを示している場合にのみ、オプティカルフロー処理を適用した動き補償処理を行うように制御する
 上記(8)に記載の画像処理装置。
(10)
 前記制御部は、前記識別情報がオプティカルフロー処理を適用した動き補償処理を行わないことを示している場合に、オプティカルフロー処理を適用した動き補償処理をスキップするように制御する
 上記(9)に記載の画像処理装置。
(11)
 前記識別情報は、前記オプティカルフロー処理を適用した動き補償処理を、符号化する単位に対して行うかを識別する情報である
 上記(8)に記載の画像処理装置。
(12)
 前記識別情報は、前記ビットストリームのヘッダとして含まれており、
 前記パース部は、前記ビットストリームのヘッダをパースする
 上記(11)に記載の画像処理装置。
(13)
 前記符号化する単位は、スライスである
 上記(12)に記載の画像処理装置。
(14)
 前記ビットストリームは、前記識別情報が前記ビットストリームに含まれることを識別する存在識別情報を含み、
 前記パース部は、前記ビットストリームに含まれる存在識別情報が前記識別情報を含むことを示す場合のみ、前記識別情報をパースする
 上記(12)に記載の画像処理装置。
(15)
 前記ビットストリームは、前記存在識別情報をシーケンスパラメータセットとして含み、
 前記パース部は、前記ビットストリームにシーケンスパラメータセットして含まれる存在識別情報をパースする
 上記(14)に記載の画像処理装置。
(16)
 画像処理装置が、
 復号処理の対象となる画像のカレント予測ブロックの画素を対象としてオプティカルフロー処理を適用した動き補償処理を行うかを識別する識別情報を含むビットストリームから、前記識別情報をパースすることと、
 パースされた識別情報を参照して、オプティカルフロー処理を適用した動き補償処理を行うかを制御することと、
 制御された動き補償処理により生成された予測画像を用いて、前記カレント予測ブロックを復号することと
 を含む画像処理方法。
<Example of configuration combination>
The present technology can also have the following configurations.
(1)
A setting unit that sets identification information that identifies whether to perform motion compensation processing to which optical flow processing is applied to the pixels of the current prediction block of the image to be coded.
An image processing device including a coding unit that encodes the image and generates a bit stream including identification information set by the setting unit.
(2)
The image processing apparatus according to (1) above, wherein the setting unit sets identification information for identifying whether to perform motion compensation processing to which the optical flow processing is applied for a unit to be encoded.
(3)
The setting unit sets identification information for identifying whether to perform motion compensation processing to which the optical flow processing is applied for a unit to be encoded as a header of the bit stream.
The image processing apparatus according to (2) above, wherein the coding unit generates a bit stream including the identification information as a header syntax.
(4)
The unit to be encoded is a slice. The image processing apparatus according to (3) above.
(5)
The setting unit sets existence identification information for identifying that the identification information is included in the bit stream.
The image processing apparatus according to (3) above, wherein the coding unit generates a bit stream including existence identification information set by the setting unit.
(6)
The setting unit sets the existence identification information as a sequence parameter set, and sets the existence identification information.
The image processing apparatus according to (5) above, wherein the coding unit generates a bit stream including the existence identification information set by the setting unit as a sequence parameter set.
(7)
The image processing device
Setting identification information that identifies whether to perform motion compensation processing to which optical flow processing is applied for the pixels of the current prediction block of the image to be coded, and
An image processing method including encoding the image to generate a bitstream containing the set identification information.
(8)
A parse unit that parses the identification information from a bit stream that includes identification information that identifies whether to perform motion compensation processing to which optical flow processing is applied to the pixels of the current prediction block of the image to be decoded.
With reference to the identification information parsed by the parse unit, a control unit that controls whether to perform motion compensation processing to which optical flow processing is applied, and a control unit.
An image processing device including a decoding unit that decodes the current prediction block using a prediction image generated by motion compensation processing controlled by the control unit.
(9)
The control unit controls to perform the motion compensation process to which the optical flow process is applied only when the identification information indicates that the motion compensation process to which the optical flow process is applied is performed. Image processing equipment.
(10)
The control unit controls to skip the motion compensation process to which the optical flow process is applied when the identification information indicates that the motion compensation process to which the optical flow process is applied is not performed. The image processing apparatus described.
(11)
The image processing apparatus according to (8) above, wherein the identification information is information for identifying whether or not motion compensation processing to which the optical flow processing is applied is performed on a unit to be encoded.
(12)
The identification information is included as a header of the bitstream.
The image processing apparatus according to (11) above, wherein the parsing unit parses the header of the bit stream.
(13)
The image processing apparatus according to (12) above, wherein the unit to be encoded is a slice.
(14)
The bitstream includes existence identification information that identifies that the identification information is included in the bitstream.
The image processing apparatus according to (12) above, wherein the parsing unit parses the identification information only when the existence identification information included in the bit stream indicates that the identification information is included.
(15)
The bitstream contains the presence identification information as a sequence parameter set.
The image processing apparatus according to (14) above, wherein the parsing unit parses the existence identification information included in the bit stream by setting sequence parameters.
(16)
The image processing device
Parsing the identification information from a bit stream containing identification information that identifies whether to perform motion compensation processing to which optical flow processing is applied to the pixels of the current prediction block of the image to be decoded.
By referring to the parsed identification information, it is possible to control whether or not motion compensation processing to which optical flow processing is applied is performed.
An image processing method including decoding the current prediction block using a prediction image generated by controlled motion compensation processing.
 なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。 Note that the present embodiment is not limited to the above-described embodiment, and various changes can be made without departing from the gist of the present disclosure. Further, the effects described in the present specification are merely examples and are not limited, and other effects may be obtained.
 11 画像処理システム, 12 画像符号化装置, 13 画像復号装置, 21 インター予測部, 22 符号化部, 23 設定部, 31 インター予測部, 32 復号部 11 image processing system, 12 image coding device, 13 image decoding device, 21 inter-prediction unit, 22 coding unit, 23 setting unit, 31 inter-prediction unit, 32 decoding unit

Claims (16)

  1.  符号化処理の対象となる画像のカレント予測ブロックの画素を対象としてオプティカルフロー処理を適用した動き補償処理を行うかを識別する識別情報を設定する設定部と、
     前記画像を符号化して、前記設定部により設定された識別情報を含むビットストリームを生成する符号化部と
     を備える画像処理装置。
    A setting unit that sets identification information that identifies whether to perform motion compensation processing to which optical flow processing is applied to the pixels of the current prediction block of the image to be coded.
    An image processing device including a coding unit that encodes the image and generates a bit stream including identification information set by the setting unit.
  2.  前記設定部は、前記オプティカルフロー処理を適用した動き補償処理を、符号化する単位に対して行うかを識別する識別情報を設定する
     請求項1に記載の画像処理装置。
    The image processing apparatus according to claim 1, wherein the setting unit sets identification information for identifying whether to perform motion compensation processing to which the optical flow processing is applied for a unit to be encoded.
  3.  前記設定部は、前記オプティカルフロー処理を適用した動き補償処理を、符号化する単位に対して行うかを識別する識別情報を、前記ビットストリームのヘッダとして設定し、
     前記符号化部は、前記識別情報をヘッダのシンタクスとして含むビットストリームを生成する
     請求項2に記載の画像処理装置。
    The setting unit sets identification information for identifying whether to perform motion compensation processing to which the optical flow processing is applied for a unit to be encoded as a header of the bit stream.
    The image processing apparatus according to claim 2, wherein the coding unit generates a bit stream including the identification information as a header syntax.
  4.  前記符号化する単位は、スライスである
     請求項3に記載の画像処理装置。
    The image processing apparatus according to claim 3, wherein the unit to be encoded is a slice.
  5.  前記設定部は、前記識別情報が前記ビットストリームに含まれることを識別する存在識別情報を設定し、
     前記符号化部は、前記設定部により設定された存在識別情報を含むビットストリームを生成する
     請求項3に記載の画像処理装置。
    The setting unit sets existence identification information for identifying that the identification information is included in the bit stream.
    The image processing apparatus according to claim 3, wherein the coding unit generates a bit stream including existence identification information set by the setting unit.
  6.  前記設定部は、前記存在識別情報をシーケンスパラメータセットとして設定し、
     前記符号化部は、前記設定部により設定された存在識別情報をシーケンスパラメータセットとして含むビットストリームを生成する
     請求項5に記載の画像処理装置。
    The setting unit sets the existence identification information as a sequence parameter set, and sets the existence identification information.
    The image processing apparatus according to claim 5, wherein the coding unit generates a bit stream including the existence identification information set by the setting unit as a sequence parameter set.
  7.  画像処理装置が、
     符号化処理の対象となる画像のカレント予測ブロックの画素を対象としてオプティカルフロー処理を適用した動き補償処理を行うかを識別する識別情報を設定することと、
     前記画像を符号化して、設定された識別情報を含むビットストリームを生成することと
     を含む画像処理方法。
    The image processing device
    Setting identification information that identifies whether to perform motion compensation processing to which optical flow processing is applied for the pixels of the current prediction block of the image to be coded, and
    An image processing method including encoding the image to generate a bitstream containing the set identification information.
  8.  復号処理の対象となる画像のカレント予測ブロックの画素を対象としてオプティカルフロー処理を適用した動き補償処理を行うかを識別する識別情報を含むビットストリームから、前記識別情報をパースするパース部と、
     前記パース部によりパースされた識別情報を参照して、オプティカルフロー処理を適用した動き補償処理を行うかを制御する制御部と、
     前記制御部により制御された動き補償処理により生成された予測画像を用いて、前記カレント予測ブロックを復号する復号部と
     を備える画像処理装置。
    A parsing unit that parses the identification information from a bit stream that includes identification information that identifies whether to perform motion compensation processing to which optical flow processing is applied to the pixels of the current prediction block of the image to be decoded.
    A control unit that controls whether or not motion compensation processing to which optical flow processing is applied is performed with reference to the identification information parsed by the parsing unit.
    An image processing device including a decoding unit that decodes the current prediction block using a prediction image generated by motion compensation processing controlled by the control unit.
  9.  前記制御部は、前記識別情報がオプティカルフロー処理を適用した動き補償処理を行うことを示している場合にのみ、オプティカルフロー処理を適用した動き補償処理を行うように制御する
     請求項8に記載の画像処理装置。
    The eighth aspect of the present invention, wherein the control unit controls to perform the motion compensation process to which the optical flow process is applied only when the identification information indicates that the motion compensation process to which the optical flow process is applied is performed. Image processing device.
  10.  前記制御部は、前記識別情報がオプティカルフロー処理を適用した動き補償処理を行わないことを示している場合に、オプティカルフロー処理を適用した動き補償処理をスキップするように制御する
     請求項9に記載の画像処理装置。
    The ninth aspect of claim 9 is that the control unit controls to skip the motion compensation process to which the optical flow process is applied when the identification information indicates that the motion compensation process to which the optical flow process is applied is not performed. Image processing equipment.
  11.  前記識別情報は、前記オプティカルフロー処理を適用した動き補償処理を、符号化する単位に対して行うかを識別する情報である
     請求項8に記載の画像処理装置。
    The image processing apparatus according to claim 8, wherein the identification information is information for identifying whether or not motion compensation processing to which the optical flow processing is applied is performed on a unit to be encoded.
  12.  前記識別情報は、前記ビットストリームのヘッダとして含まれており、
     前記パース部は、前記ビットストリームのヘッダをパースする
     請求項11に記載の画像処理装置。
    The identification information is included as a header of the bitstream.
    The image processing apparatus according to claim 11, wherein the parsing unit parses the header of the bit stream.
  13.  前記符号化する単位は、スライスである
     請求項12に記載の画像処理装置。
    The image processing apparatus according to claim 12, wherein the unit to be encoded is a slice.
  14.  前記ビットストリームは、前記識別情報が前記ビットストリームに含まれることを識別する存在識別情報を含み、
     前記パース部は、前記ビットストリームに含まれる存在識別情報が前記識別情報を含むことを示す場合のみ、前記識別情報をパースする
     請求項12に記載の画像処理装置。
    The bitstream includes existence identification information that identifies that the identification information is included in the bitstream.
    The image processing apparatus according to claim 12, wherein the parsing unit parses the identification information only when the existence identification information included in the bit stream indicates that the identification information is included.
  15.  前記ビットストリームは、前記存在識別情報をシーケンスパラメータセットとして含み、
     前記パース部は、前記ビットストリームにシーケンスパラメータセットして含まれる存在識別情報をパースする
     請求項14に記載の画像処理装置。
    The bitstream contains the presence identification information as a sequence parameter set.
    The image processing apparatus according to claim 14, wherein the parsing unit parses the existence identification information included in the bit stream by setting sequence parameters.
  16.  画像処理装置が、
     復号処理の対象となる画像のカレント予測ブロックの画素を対象としてオプティカルフロー処理を適用した動き補償処理を行うかを識別する識別情報を含むビットストリームから、前記識別情報をパースすることと、
     パースされた識別情報を参照して、オプティカルフロー処理を適用した動き補償処理を行うかを制御することと、
     制御された動き補償処理により生成された予測画像を用いて、前記カレント予測ブロックを復号することと
     を含む画像処理方法。
    The image processing device
    Parsing the identification information from a bit stream containing identification information that identifies whether to perform motion compensation processing to which optical flow processing is applied to the pixels of the current prediction block of the image to be decoded.
    By referring to the parsed identification information, it is possible to control whether or not motion compensation processing to which optical flow processing is applied is performed.
    An image processing method including decoding the current prediction block using a prediction image generated by controlled motion compensation processing.
PCT/JP2020/036316 2019-09-25 2020-09-25 Image processing device and image processing method WO2021060484A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962905562P 2019-09-25 2019-09-25
US62/905,562 2019-09-25

Publications (1)

Publication Number Publication Date
WO2021060484A1 true WO2021060484A1 (en) 2021-04-01

Family

ID=75165263

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/036316 WO2021060484A1 (en) 2019-09-25 2020-09-25 Image processing device and image processing method

Country Status (1)

Country Link
WO (1) WO2021060484A1 (en)

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
BROSS, BENJAMIN ET AL.: "Versatile Video Coding (Draft 6", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, JVET-02001 (VERSION 14), 15TH MEETING, July 2019 (2019-07-01), Gothenburg, SE, pages 37 - 40, 87-97 *
CHEN, JIE ET AL.: "CE4-related: On PROF on/off control", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, JVET- P0408, 16TH MEETING, September 2019 (2019-09-01), Geneva, pages 1 - 4 *
KONDO, KENJI ET AL.: "Non-CE4: Support slice level disabling for PROF", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/ SC 29/WG 11, JVET-P0601-V3, 16TH MEETING, October 2019 (2019-10-01), Geneva, CH, pages 1 - 8 *
LUO, JIANCONG (DANIEL ET AL.: "CE2- related: Prediction refinement with optical flow for affine mode", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, JVET-N0236-R5, 14TH MEETING, March 2019 (2019-03-01), Geneva, CH, pages 1 - 7, XP030202914 *
LUO, JIANCONG (DANIEL ET AL.: "CE4-2.1: Prediction refinement with optical flow for affine mode", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 161 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, JVET- 00070-CE4-2.1_WD_R3, 14TH MEETING, July 2019 (2019-07-01), Geneva, CH, pages 1 - 21 *
UNNO, KYOHEI ET AL.: "Non-CE4: A slice header flag disabling PROF", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/ WG 11, JVET-P0544, 16TH MEETING, September 2019 (2019-09-01), Geneva, CH, pages 1 - 4 *
XIU, XIAOYU ET AL.: "Non-CE4/AHG17: On high-level control flags of BDOF and PROF", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/ SC 29/WG 11, JVET-P0524, 16TH MEETING, September 2019 (2019-09-01), Geneva, CH, pages 1 - 6 *

Similar Documents

Publication Publication Date Title
JP7314281B2 (en) Deblocking Filter for Subpartition Boundaries Caused by Intra-Subpartition Coding Tools
JP7319389B2 (en) Encoders, decoders and corresponding methods using adaptive loop filters
US11843806B2 (en) Encoder, a decoder and corresponding methods of deblocking filter adaptation
KR20210126771A (en) Encoders, decoders and corresponding methods related to intra prediction mode
WO2021147981A1 (en) An encoder, a decoder and corresponding methods for adaptive loop filtering
JPWO2020175145A1 (en) Image processing device and image processing method
KR20210075201A (en) Method and apparatus for intra prediction
WO2021060262A1 (en) Image processing device and image processing method
WO2021060484A1 (en) Image processing device and image processing method
WO2021054437A1 (en) Image processing device and image processing method
WO2021054438A1 (en) Image processing device and image processing method
WO2021125316A1 (en) Image processing device and image processing method
WO2021025597A1 (en) Method and apparatus of sample adaptive offset in-loop filter with application region size constraint
WO2020255940A1 (en) Image processing device and image processing method
WO2023127940A1 (en) Image processing device and image processing method
WO2020262370A1 (en) Image processing device and image processing method
WO2020184715A1 (en) Image processing device, and image processing method
JP2023528592A (en) Using subpictures and tiles in video coding

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

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP