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

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

Info

Publication number
WO2020255367A1
WO2020255367A1 PCT/JP2019/024637 JP2019024637W WO2020255367A1 WO 2020255367 A1 WO2020255367 A1 WO 2020255367A1 JP 2019024637 W JP2019024637 W JP 2019024637W WO 2020255367 A1 WO2020255367 A1 WO 2020255367A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
image
interpolation
determination
unit
Prior art date
Application number
PCT/JP2019/024637
Other languages
English (en)
French (fr)
Inventor
翔太 折橋
忍 工藤
隆一 谷田
清水 淳
Original Assignee
日本電信電話株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to PCT/JP2019/024637 priority Critical patent/WO2020255367A1/ja
Priority to US17/620,919 priority patent/US20220337830A1/en
Priority to JP2021528591A priority patent/JP7303456B2/ja
Publication of WO2020255367A1 publication Critical patent/WO2020255367A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Definitions

  • the present invention relates to a coding device, a coding method and a program.
  • HEVC High Efficiency Video Coding
  • the coding method of these standards is a coding method that aims to match the original image and the decoded image on a pixel-by-pixel basis.
  • predictive images are generated based on the spatiotemporal correlation between pixels.
  • the coding apparatus reduces the amount of coding by deriving and transmitting the residual between the predicted image and the original image.
  • the prediction efficiency is lowered for the original image including a complicated image (non-flat image) such as a texture, the coding efficiency is lowered.
  • a coding device deletes a part of the original image, and the original image (hereinafter referred to as “missing image”) in which a part of the original image is missing is encoded.
  • a method has been proposed (see Non-Patent Document 1).
  • the coding device transmits the coded data of the missing image to the decoding device. Since the amount of information of the missing image is smaller than the amount of information of the original image, the amount of coded data of the missing image is smaller than the amount of coded data of the original image.
  • the decoding device pseudo-generates an image of each region that is missing in the decoded defective image by a predetermined method.
  • the decoding device generates a restored image (hereinafter referred to as "restored image”) by interpolating each pseudo-generated image in each region of the missing image.
  • Non-Patent Document 1 in the decoding device, the convolutional neural network generates a restored image by image interpolation processing.
  • the coding apparatus deletes the target region in which the image is interpolated (hereinafter referred to as “interpolation target region”) in the original image. As a result, the amount of information in the original image is reduced, so that the coding apparatus can improve the coding efficiency based on the subjective image quality.
  • the coding device determines for each region in the original image whether it is an interpolation target region or an region in which the image is not interpolated (an region other than the interpolation target region) (hereinafter referred to as "non-interpolation region"). .. When it is appropriately determined whether or not to use the interpolation target area, improvement in coding efficiency can be expected. However, a method has not been established in which the coding apparatus appropriately determines whether or not the region is to be interpolated.
  • the cost is based on the difference between the predicted image and the original image generated according to the coding mode. Is derived.
  • the coding distortion D is derived based on the difference between the predicted image and the original image generated according to the coding mode.
  • the cost “J” of the coding mode based on the coding distortion “D” is expressed by the equation (1).
  • the coding apparatus selects the coding mode that minimizes the cost (see Non-Patent Document 2).
  • R represents the amount of code generated according to the coding mode.
  • represents the Lagrange multiplier (constant).
  • Non-Patent Document 2 the sum of squared errors (hereinafter referred to as "SSE"), the sum of absolute value errors, or the sum of absolute value errors of Hadamard transform is used as a measure for evaluating the coding distortion.
  • the measure for evaluating the coding distortion is derived based on the pixel-by-pixel difference between the predicted image and the original image. For example, the SSE is expressed by the equation (2) by using the block “Block A” and the block “Block B” each composed of “i ⁇ j” pixel groups.
  • the coding device When this is used in the process of determining whether or not to use the interpolation target area in the coding device in Non-Patent Document 1, the coding device has the same cost as the cost when the area is determined to be the interpolation target area.
  • the cost when the region is determined to be a non-interpolated region is compared for each region using an evaluation function that compares the difference between the predicted image and the original image for each pixel.
  • the coding apparatus selects a coding mode that reduces the cost. In this way, the coding apparatus determines for each region whether or not the region is to be interpolated.
  • the decoding device generates a restored image by image interpolation processing.
  • the flat region can obtain a value close to each pixel by interpolation processing, so that each pixel can be obtained.
  • the interpolation target area can be determined by using an evaluation function that compares the differences between.
  • the encoding device when the encoding device performs the above determination processing on an original image including a complicated area (for example, a texture area), the complicated area may obtain a value close to each pixel by interpolation processing. Can not. Therefore, since the coding apparatus cannot determine a complicated area requiring a large amount of information as an interpolation target area, the coding efficiency is lowered.
  • a complicated area for example, a texture area
  • the decoding device tends to use an image in which the average image of the original image is interpolated in the interpolation target area as a restored image.
  • the restored image tends to be blurred, so that the subjective image quality of the restored image deteriorates.
  • the present invention provides a coding device, a coding method, and a program capable of determining an interpolation target area in an input original image so that the subjective image quality of the restored image is good.
  • the purpose is.
  • One aspect of the present invention is a coding device that encodes an original image, in which the original image is divided into blocks that are a plurality of regions, and a division unit that acquires the plurality of blocks and an interpolation target. It is provided with a determination unit for determining whether or not for each block, and a replacement unit for replacing the pixel value constituting the block determined to be the interpolation target with a value for reducing the code amount of the determined block.
  • the determination unit uses an evaluation based on the prediction accuracy of the image of the block by intra-prediction or inter-prediction and the degree to which the region to be interpolated is generated, and determines the region to be interpolated. It is an encoding device that determines whether or not the region is set to.
  • the present invention it is possible to determine the interpolation target area for the original image so that the subjective image quality of the restored image is good.
  • the encoding device encodes the original image in which a complicated region is missing, and the decoding device interpolates the missing region with respect to the original image in that the amount of coding is reduced. It is considered to be effective. However, even if the coding apparatus can reduce the code amount, it may not be appropriate to delete the missing region, for example, when the decoding apparatus cannot accurately interpolate the missing region. Further, the accuracy of interpolation differs depending on the image to be encoded and the processing content of interpolation.
  • FIG. 1 is a diagram showing a configuration example of the coding device 10a.
  • the coding device 10a is a device that encodes data such as a moving image or a still image.
  • the coding device 10a includes a block dividing unit 11, an interpolation region determination device 12a, a missing image generation unit 13, and a missing image coding unit 14.
  • the interpolation area determination device 12a determines the non-interpolation block generation unit 120, the non-interpolation block evaluation unit 121, the missing block generation unit 122, the missing block interpolation unit 123, the interpolation block evaluation unit 124, and the determination unit 125.
  • the result memory 126 is provided.
  • FIG. 2 is a diagram showing an example of the hardware configuration of the encoding device 10a.
  • the coding device 10a includes a processor 100, a memory 101, and a storage device 102.
  • Each functional unit shown in FIG. 1 (block division unit 11, missing image generation unit 13, missing image coding unit 14, non-interpolating block generation unit 120, non-interpolating block evaluation unit 121, missing block generation unit 122, missing block
  • the interpolation unit 123, the interpolation block evaluation unit 124, and the determination unit 125) are stored in a storage device 102 in which a processor 100 such as a CPU (Central Processing Unit) is a non-volatile recording medium (non-temporary recording medium). It is realized as software by executing the program expanded in 101.
  • a processor 100 such as a CPU (Central Processing Unit) is a non-volatile recording medium (non-temporary recording medium). It is realized as software by executing the program expanded in 101.
  • CPU Central Processing Unit
  • the determination result memory 126 shown in FIG. 1 is realized by using, for example, the memory 101.
  • the program may be recorded on a computer-readable recording medium.
  • Computer-readable recording media include, for example, flexible disks, optomagnetic disks, portable media such as ROM (ReadOnlyMemory) and CD-ROM (CompactDiscReadOnlyMemory), and storage of hard disks built into computer systems. It is a non-temporary recording medium such as the device 102.
  • the program may be transmitted over a telecommunication line.
  • a part or all of the coding device 10a is, for example, an electronic circuit (Field Programmable Gate Array) using an LSI (Large Scale Integration circuit), an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), an FPGA (Field Programmable Gate Array), or the like. It may be realized by using hardware including electronic circuit or circuitry).
  • the block dividing unit 11 acquires an original image (target image) to be coded as an input image.
  • the format of the input image may be either a moving image format or a still image format.
  • the shape of the frame of the input image is, for example, a rectangle.
  • the block division unit 11 executes a block division process on the input image. In the block division process, the block division unit 11 divides the input image into blocks for which it is determined whether or not to use the interpolation target area (hereinafter, referred to as “determination target block”).
  • FIG. 3 is a diagram showing an example of block division of HEVC.
  • the shape or size of the block to be determined may be, for example, the shape or size of a 64 ⁇ 64 pixel coding tree unit (Coding Tree Unit: CTU) in HEVC, or a 32 ⁇ 32 pixel coding unit (Coding).
  • the shape or size of Unit: CU) may be used.
  • the block division unit 11 outputs the determination target blocks to the non-interpolation block generation unit 120 and the missing block generation unit 122 in a predetermined processing order.
  • FIG. 4 is a diagram showing an example of a block to be determined.
  • An example of the determination target block will be described using HEVC as an example.
  • an example of the determination target block will be described as a determination target area in which the CTU is set as the determination target block and it is determined whether or not to select the CU whose division size is determined as the interpolation target.
  • the unit for determining whether or not to select as the interpolation target may be any of CTU, CU, and a region divided into a shape other than a square.
  • the determination target block may include an area for determining whether or not to be an interpolation target area (hereinafter, referred to as “determination target area”). In FIG. 4, the determination target block includes the determination target area 103.
  • the determination target block may include one or more regions (hereinafter referred to as "reference regions") that are referred to when the image is interpolated into the missing image around the determination target region.
  • the determination target block includes seven reference areas 104.
  • the determination target block may include one or more regions (hereinafter referred to as "non-reference regions") that are not referenced when the image is interpolated into the missing image around the determination target region.
  • the determination target block includes one non-reference area 105.
  • the interpolation area determination device 12a acquires the determination target block from the block division unit 11.
  • the interpolation area determination device 12a executes a process of determining whether or not to use the interpolation target area (hereinafter, referred to as “interpolation area determination process”) for each determination target block.
  • the coding device 10a pre-codes the original image using fixed quantization parameters. Priority is given to the block having a large amount of code in the original image, and the interpolation area determination process is executed for the block having a large amount of code.
  • the interpolation area determination device 12a determines that the area to be the interpolation area determination process is the interpolation target area.
  • the interpolation area determination device 12a interpolates in an area of an image (an image in which it is difficult to improve the prediction accuracy of intra-prediction or inter-prediction) that is difficult to encode with HEVC or the like and that can interpolate the image. Execute the area determination process.
  • the interpolation area determination process includes a non-interpolation block generation process, a non-interpolation block evaluation process, a missing block generation process, a missing block interpolation process, an interpolated block evaluation process, and a determination process.
  • the interpolation area determination device 12a outputs a determination result (determination result of the determination target block) as to whether or not to use the interpolation target area to the missing image generation unit 13 for each determination target block.
  • the interpolation area determination process is repeated for each determination target block until it is executed for all the determination target blocks in the input image. That is, the interpolation area determination process is executed over a plurality of steps.
  • the selection order of the determination target blocks may be any order (for example, raster scan order).
  • the decoding device selects the interpolation target area in the same selection order as the selection order of the determination target block, and executes the image interpolation process on the selected interpolation target area.
  • the non-interpolated block generation unit 120 acquires the determination target block from the block division unit 11.
  • the non-interpolation block generation unit 120 acquires the determination result in the interpolation area determination process up to the previous step from the determination result memory 126.
  • the non-interpolated block generation unit 120 executes the non-interpolated block generation process based on the determination result in the interpolation area determination process up to the previous step and the determination target block.
  • the non-interpolated block generation unit 120 uses the determination target block (non-interpolated image) in the original image encoded by HEVC or the like, that is, the determination target block in which the image is not interpolated (hereinafter, “non-interpolated”). "Interpolation block”) is generated.
  • the non-interpolated block generation unit 120 outputs the non-interpolated block to the non-interpolated block evaluation unit 121.
  • the non-interpolated block generation unit 120 outputs the code amount of the non-interpolated block encoded by HEVC or the like to the determination unit 125.
  • the code amount of the non-interpolated block is determined according to the prediction accuracy of the image of the judgment target block when predicted by intra-prediction or inter-prediction.
  • the area in the determination target block determined to be the interpolation target area may be a non-reference area in the non-interpolation block generation process.
  • the determination target block including the non-reference area is encoded by a predetermined standard such as HEVC.
  • the non-interpolated block evaluation unit 121 includes an evaluation network 1210 (estimated network).
  • the evaluation network 1210 is, for example, a convolutional neural network.
  • the operation stage of the evaluation network includes a learning phase and an estimation phase.
  • the evaluation network 1210 takes all or part of the image as input and outputs the degree of naturalness. Naturality may be rephrased as the degree of likelihood (likelihood) of presuming that the image is not a generated image.
  • the evaluation network may be paraphrased as a discriminator in a hostile learning method. This classifier learns, for example, to increase the naturalness of the original image and decrease the naturalness of the generated image. The meaning of generation here includes interpolation.
  • the non-interpolated block evaluation unit 121 acquires the non-interpolated block.
  • the evaluation network 1210 of the non-interpolated block evaluation unit 121 evaluates the naturalness of the non-interpolated block of the input image (subjective image quality. The degree of appearance does not cause discomfort) to evaluate the naturalness of the non-interpolated block of the input image. Quantify.
  • the non-interpolated block evaluation unit 121 outputs the naturalness of the non-interpolated block to the determination unit 125 by inputting the non-interpolated block into the learned evaluation network 1210.
  • the missing block generation unit 122 acquires the determination target block from the block division unit 11.
  • the missing block generation unit 122 acquires the determination result of the interpolation area determination process up to the previous step from the determination result memory 126.
  • the missing block generation unit 122 generates a missing block.
  • the missing block generation unit 122 outputs the missing block to the missing block interpolation unit 123.
  • the missing block generation unit 122 outputs the code amount of the missing block to the determination unit 125.
  • the missing block generation unit 122 removes the determination target area up to the previous step from the determination target block based on the determination target block and the determination result of the interpolation area determination process up to the previous step.
  • One or more determination target areas in the determination target block may be deleted.
  • the missing block generation unit 122 outputs a determination target block (hereinafter referred to as “missing block”), which is a determination target block encoded by HEVC or the like and whose determination target area is missing, to the missing block interpolation unit 123. To do.
  • the defective block generation unit 122 outputs the code amount of the defective block encoded by HEVC or the like to the determination unit 125.
  • the area in the determination target block determined to be the interpolation target area may be a non-reference area in the missing block generation process.
  • the determination target block including the non-reference area is encoded by a predetermined standard such as HEVC.
  • the area designated as the non-reference area in the non-interpolated block generation process is designated as the non-reference area in the missing block generation process.
  • the missing block interpolation unit 123 acquires the missing block from the missing block generation unit 122. As a missing block interpolation process, the missing block interpolation unit 123 interpolates the image of the missing determination target area in the missing block into the missing block, thereby referring to the missing determination target area (hereinafter referred to as “missing area”). ) Is interpolated to generate a block (hereinafter referred to as "interpolated block”). The missing block interpolation unit 123 outputs the interpolation block to the interpolation block evaluation unit 124.
  • the missing block interpolation process executed by the missing block interpolation unit 123 is the same as the missing block interpolation process executed by the decoding device.
  • the missing block interpolation process executed by the missing block interpolation unit 123 is realized by using, for example, a convolutional neural network that interpolates the missing region of the input image.
  • the interpolation block evaluation unit 124 includes an evaluation network 1240.
  • the evaluation network 1240 is, for example, a convolutional neural network.
  • the evaluation network 1240 is the same network as the evaluation network 1210.
  • the evaluation network 1240 quantifies the naturalness of the interpolation block of the input image by, for example, evaluating the naturalness of the interpolation block of the input image (subjective image quality; the degree to which the appearance does not seem strange).
  • the interpolation block evaluation unit 124 acquires the interpolation block. In the interpolation block evaluation process, the interpolation block evaluation unit 124 outputs the naturalness of the interpolation block to the determination unit 125 by inputting the interpolation block to the evaluation network 1240.
  • the evaluation network 1240 may be the same network as the evaluation network 1210 in the non-interpolated block evaluation process.
  • the evaluation network 1210 of the interpolation block evaluation unit 124 acquires the result of image interpolation for the defective image, and the result of image interpolation for the defective image (defective image in which the image is interpolated). Outputs the naturalness of.
  • the determination unit 125 acquires the code amount of the non-interpolated block from the non-interpolated block generation unit 120.
  • the determination unit 125 acquires the naturalness of the non-interpolated block from the non-interpolated block evaluation unit 121.
  • the determination unit 125 acquires the code amount of the missing block from the missing block generation unit 122.
  • the determination unit 125 acquires the naturalness of the interpolation block from the interpolation block evaluation unit 124.
  • the determination unit 125 executes the determination process based on the code amount of the non-interpolated block, the naturalness of the non-interpolated block, the code amount of the missing block, and the naturalness of the interpolated block.
  • the determination unit 125 outputs a determination result (determination result of the determination target block) as to whether or not to use the interpolation target area to the missing image generation unit 13 and the determination result memory 126 for each determination target block.
  • the determination unit 125 receives the code amount "R 1 " of the non-interpolated block, the naturalness "N 1 " of the non-interpolated block, the code amount “R 2 " of the missing block, and the natural degree “N 2 " of the interpolated block. Based on the above, it is determined whether the determination target area in the determination target block as shown in FIG. 4 is an interpolation target area or a non-interpolation target area.
  • the determination unit 125 derives the code amount "R" to be reduced when it is determined that the determination target area in the determination target block is the interpolation target area, as in the equation (3).
  • the determination unit 125 determines that the determination target area in the determination target block is the interpolation target area. If the equation (4) does not hold, the determination unit 125 determines that the determination target area in the determination target block is a non-interpolated area.
  • w is a parameter representing the importance of the code amount reduced by setting the determination target area as the interpolation target area. w is predetermined based on the amount of code to be reduced and the like.
  • the missing image generation unit 13 (replacement unit) acquires an input image (original image).
  • the missing image generation unit 13 acquires the determination result of the determination target block from the determination unit 125.
  • the missing image generation unit 13 executes the missing image generation process based on the input image and the determination result of the determination target block.
  • the missing image generation unit 13 replaces the pixel value of the interpolation target area with a pixel value (for example, 0) that minimizes the code amount of the image of the determination target block. That is, the missing image generation unit 13 is defective by removing from the input image the area determined to be the interpolation target area by the determination unit 125 in the interpolation area determination process based on the input image and the determination result of the determination target block. Generate an image. For example, the missing image generation unit 13 replaces each pixel value of the region determined to be the interpolation target region with the average value or the fixed value of the interpolation target region, so that the region determined to be the interpolation target region is replaced with the input image. It may be excluded. The missing image generation unit 13 outputs the missing image to the missing image coding unit 14.
  • a pixel value for example, 0
  • the missing image coding unit 14 acquires the missing image from the missing image generation unit 13.
  • the missing image coding unit 14 executes a missing image coding process on the missing image.
  • the missing image coding unit 14 generates coded data of the missing image by executing a coding process such as HEVC on the missing image.
  • the missing image coding unit 14 outputs the coded data of the missing image to the decoding device.
  • the missing image coding unit 14 may transmit the position (coordinates) of the interpolation target area in the input image and the coded data of the missing image to the decoding device. Further, the missing image coding unit 14 determines the position of the interpolation target region in the input image by the coding device 10a and the decoding device based on the parameters (specific information) shared by the coding device 10a and the decoding device. , The transmission process of the position (coordinates) of the interpolation target area in the input image may be omitted.
  • FIG. 5 is a diagram showing a configuration example of the coding device 10a and the decoding device 20.
  • the block division unit 11 acquires the original image 200.
  • the interpolation area determination device 12a and the missing image generation unit 13 acquire the determination target block group 201 from the block division unit 11.
  • the determination target block may include an area in the determination target block determined to be the interpolation target area in the interpolation area determination process up to the previous step (past).
  • the interpolation area determination device 12a does not lower the evaluation scale (naturalness) defined in the interpolation target area (surrounding interpolation target area) adjacent to the determination target area in the current interpolation area determination process, this time.
  • Interpolation area The determination target area in the determination process is defined as the interpolation target area.
  • the missing image generation unit 13 generates a determination result image 202, which is an image showing the determination result of the determination target block.
  • the missing image generation unit 13 generates the missing image 203 based on the determination result image 202.
  • the missing image coding unit 14 acquires the missing image 203 from the missing image generation unit 13.
  • the missing image coding unit 14 executes a coding process on the missing image 203 based on, for example, HEVC.
  • the missing image coding unit 14 outputs the coded data of the missing image 203 to the decoding device 20.
  • the decoding device 20 includes a decoding unit 21 and an interpolation processing unit 22.
  • the decoding unit 21 acquires the coded data of the missing image 203.
  • the decoding unit 21 executes a decoding process on the coded data of the missing image 203 based on HEVC or the like.
  • the decoding unit 21 outputs the decoded defective image 203 to the interpolation processing unit 22.
  • the interpolation processing unit 22 interpolates the image of the interpolation target area in the decoded defective image 203 with respect to the decoded defective image 203.
  • the image interpolation processing executed by the interpolation processing unit 22 is not limited to the specific image interpolation processing.
  • the interpolation processing unit 22 uses the average image of one or more reference areas 104 existing around the determination target area 103 in the determination target block shown in FIG. 4 as the interpolation target area at the position of the determination target area 103.
  • a weighting coefficient may be defined for each of the one or more reference regions 104.
  • the average image of the reference area 104 may be generated according to the weighting coefficient for each reference area 104.
  • the interpolation processing unit 22 decodes the image of one reference area 104 existing around the determination target area 103 in the determination target block shown in FIG. 4 as an image of the interpolation target area at the position of the determination target area 103. Interpolation may be performed on the missing image. In this way, the interpolation processing unit 22 generates the restored image 204 of the input image.
  • FIG. 6 is a flowchart showing an operation example of the coding device 10a.
  • the block division unit 11 executes the block division process (step S101).
  • the non-interpolated block generation unit 120 executes the non-interpolated block generation process (step S102).
  • the non-interpolated block evaluation unit 121 executes the non-interpolated block evaluation process (step S103).
  • the missing block generation unit 122 executes the missing block generation process (step S104).
  • the missing block interpolation unit 123 executes the missing block interpolation process (step S105).
  • the interpolation block evaluation unit 124 executes the interpolation block evaluation process (step S106).
  • the determination unit 125 executes the determination process (step S107).
  • the determination unit 125 determines whether or not the determination of the interpolation target area has been executed in all the determination target blocks in the input image (step S108). When the determination of the interpolation target area is not executed in any of the determination target blocks in the input image (step S108: NO), the non-interpolation block generation unit 120 executes the operation of step S102.
  • the missing image generation unit 13 executes the missing image generation process (step S109).
  • the missing image coding unit 14 executes the image coding process (step S110).
  • FIG. 7 is a diagram showing a configuration example of the learning device 30.
  • the learning device 30 executes learning of the evaluation network 1210 by a hostile learning method.
  • the evaluation network 1240 is the same network as the evaluation network 1210.
  • the learning device 30 includes a front-stage switching unit 300, a missing image generation unit 301, an image interpolation unit 302, a rear-stage switching unit 303, an image evaluation unit 304, and an update unit 305.
  • a part or all of the learning device 30 is realized as software by a processor such as a CPU executing a program stored in a memory which is a non-volatile recording medium (non-temporary recording medium).
  • the program may be recorded on a computer-readable recording medium.
  • a part or all of the learning device 30 may be realized by using hardware including an electronic circuit using, for example, LSI, ASIC, PLD, FPGA, or the like.
  • the front stage switching unit 300 acquires a predetermined image (hereinafter referred to as “non-defective image”) other than the defective image.
  • the non-defective image is, for example, a predetermined original image.
  • the front-stage switching unit 300 outputs the non-defective image “x” to the rear-stage switching unit 303.
  • the front-stage switching unit 300 outputs the non-defective image "x" to the defective image generation unit 301.
  • the missing image generation unit 301 acquires the non-missing image “x”.
  • the missing image generation unit 301 outputs " ⁇ M” indicating whether or not it is a defective region to the image interpolation unit 302.
  • the defective image generation unit 301 outputs an image in which the defective region “ ⁇ M” is removed from the non-defective image “x” to the image interpolation unit 302 as a defective image.
  • the missing image is represented by the equation (5).
  • the coordinates of the missing area " ⁇ M” are arbitrarily predetermined.
  • the value of “ ⁇ M” may be expressed in the form of a flag.
  • the value of " ⁇ M” is 1 when “ ⁇ M” represents a missing region.
  • the value of " ⁇ M” is 0 when “ ⁇ M” represents a non-defective region.
  • the image interpolation unit 302 includes an interpolation network 3020.
  • the interpolation network 3020 is, for example, a convolutional neural network.
  • the interpolation network 3020 is a generator including a generation network in a hostile generation network (Generative Adversarial Networks: GAN).
  • GAN Geneative Adversarial Networks: GAN.
  • the image interpolation unit 302 inputs “ ⁇ M” indicating whether or not it is a defective region and a defective image (feature amount) to the interpolation network 3020.
  • the interpolation network 3020 "G” interpolates the image of the defective region into the defective region " ⁇ M" of the defective image.
  • the interpolation network 3020 "G” outputs the interpolation image "G” as shown in the equation (6) to the subsequent switching unit 303.
  • the rear-stage switching unit 303 acquires the non-defective image "x" from the front-stage switching unit 300.
  • the latter-stage switching unit 303 outputs the non-defective image “x” to the image evaluation unit 304.
  • the post-stage switching unit 303 acquires the interpolated image "G” from the image interpolation unit 302.
  • the post-stage switching unit 303 outputs the interpolated image “G” to the image evaluation unit 304.
  • the image evaluation unit 304 includes an evaluation network 1210.
  • the evaluation network 1210 is a discriminator that includes a discriminant network in a hostile generation network.
  • the image evaluation unit 304 inputs the non-defective image “x” to the evaluation network 1210.
  • the evaluation network 1210 outputs the probability “D (x)” that the non-defective image input to the evaluation network 1210 is the non-defective image “x” to the update unit 305.
  • the image evaluation unit 304 inputs the interpolated image "G" to the evaluation network 1210.
  • the evaluation network 1210 outputs the probability “D (x)” that the interpolated image input to the evaluation network 1210 is the non-defective image “x” to the update unit 305.
  • the update unit 305 alternately updates the parameters of the interpolation network 3020 and the parameters of the evaluation network 1210 based on the probability value (naturalness) output from the evaluation network 1210 of the image evaluation unit 304.
  • the update is performed based on the optimization of equation (7).
  • x represents the distribution (naturalness) of the image group of the teacher data.
  • the learning device 30 iterates learning using a large amount of teacher data.
  • the evaluation network 1210 repeats the learning of the probability value as a network for discriminating between the non-defective image and the interpolated image.
  • the above hostile learning method is an example.
  • the evaluation network 1210 can be learned by hostile learning with any generated network.
  • the evaluation network 1210 and the interpolation network 3020 may be learned at the same time instead of learning alternately.
  • the coding device 10a of the first embodiment encodes the original image (target image).
  • the coding device 10a includes a block division unit 11 (division unit), a determination unit 125, and a missing image generation unit 13 (replacement unit).
  • the block division unit 11 divides the original image into each determination target block including a determination target area for determining whether or not the image is interpolated in the decoding result (missing image) of a part of the original image.
  • the determination unit 125 determines for each determination target block whether or not the determination target area is used as the interpolation target area in the missing image.
  • the missing image generation unit 13 replaces the pixel value of the determination target area determined to be the interpolation target area with a value that reduces the code amount of the determination target block.
  • the determination unit 125 determines the prediction accuracy of the image of the determination target block by intra-prediction or inter-prediction such as HEVC, and the degree to which the image of the interpolation target area is not interpolated (the interpolation target area is generated). Whether or not the determination target area is to be the interpolation target area is determined by using the evaluation based on (degree of degree) (naturalness).
  • the determination unit 125 gives priority to the determination target area in the determination target block having a large amount of code and sets it as the interpolation target area.
  • the determination unit 125 sets the determination target area as the interpolation target area when the evaluation defined for the interpolation target area around the determination target area is not lowered.
  • the evaluation is the prediction accuracy of the image of the judgment target block by intra-prediction or inter-prediction such as HEVC, and the probability value output from the neural network learned using the image generated by the generator in the hostile generation network. Based on degree.
  • the coding device 10a determines that a region in which the restored image does not look strange even when the decoding device 20 interpolates the image is set as an interpolation target region. Even in a region that is difficult to encode with HEVC, the coding device 10a can determine whether or not the determination target region is the interpolation target region so that the restored image does not look strange.
  • the determination unit 125 determines the interpolation target area without referring to the original image in the determination process.
  • the determination unit 125 compares the naturalness of the non-interpolated block output from the learned evaluation network 1210 with the score derived according to the code amount of the non-interpolated block.
  • the determination unit 125 compares the naturalness of the interpolation block output from the learned evaluation network 1240 with the score derived according to the code amount of the interpolation block.
  • the determination unit 125 determines whether or not the determination target area is set as the interpolation target area without being based on the error between the original image and the interpolated image or the like.
  • the interpolation area determination device 12a applies the model acquired by using the hostile learning method to the process of determining whether or not to use the interpolation target area. Since it is necessary to evaluate the subjective image quality of the image to be judged without referring to the original image, it is important to design the evaluation scale.
  • the interpolation region determination device 12a causes a model acquired by using hostile learning to acquire an evaluation scale of subjective image quality. As a result, the degree of naturalness of the input image (closeness to a predetermined image group (teacher image group) as a natural image) is defined as an evaluation scale for the subjective image quality of the input image.
  • FIG. 8 is a diagram showing a configuration example of the coding device 10b.
  • the coding device 10b is a device that encodes data such as a moving image or a still image.
  • the coding device 10b includes a block dividing unit 11, an interpolation region determination device 12b, a missing image generation unit 13, and a missing image coding unit 14.
  • the interpolation area determination device 12b determines the non-interpolation block generation unit 120, the non-interpolation block evaluation unit 121, the missing block generation unit 122, the missing block interpolation unit 123, the interpolation block evaluation unit 124, and the determination unit 125.
  • the result memory 126, the non-interpolated block error derivation unit 127, and the interpolation block error derivation unit 128 are provided.
  • the non-interpolated block error derivation unit 127 acquires the non-interpolated block from the non-interpolated block generation unit 120.
  • the non-interpolated block error derivation unit 127 acquires the determination target block from the block division unit 11.
  • the non-interpolated block error derivation unit 127 derives the difference between the image of the determination target area of the determination target block and the image of the determination target area of the non-interpolation block.
  • the derived difference is expressed using, for example, SSE, peak signal-to-noise ratio (PSNR), structural similarity (SSIM), and the like.
  • PSNR peak signal-to-noise ratio
  • SSIM structural similarity
  • the non-interpolated block error derivation unit 127 outputs the derived difference to the determination unit 125 as an error of the non-interpolated block.
  • the interpolation block error derivation unit 128 acquires the interpolation block from the missing block interpolation unit 123.
  • the interpolation block error derivation unit 128 acquires the determination target block from the block division unit 11.
  • the interpolation block error derivation unit 128 derives the difference between the image of the determination target area of the determination target block and the image of the determination target area of the interpolation block in the same manner as the non-interpolation block error derivation process. ..
  • the interpolation block error derivation unit 128 outputs the derived difference to the determination unit 125 as an error of the interpolation block.
  • the determination unit 125 acquires the code amount of the non-interpolated block from the non-interpolated block generation unit 120.
  • the determination unit 125 acquires the naturalness of the non-interpolated block from the non-interpolated block evaluation unit 121.
  • the determination unit 125 acquires the code amount of the missing block from the missing block generation unit 122.
  • the determination unit 125 acquires the naturalness of the interpolation block from the interpolation block evaluation unit 124.
  • the determination unit 125 acquires the error of the non-interpolated block from the non-interpolated block error derivation unit 127.
  • the determination unit 125 acquires the error of the interpolation block from the interpolation block error derivation unit 128.
  • the determination unit 125 executes determination processing based on the code amount of the non-interpolated block, the naturalness of the non-interpolated block, the error of the non-interpolated block, the code amount of the missing block, the naturalness of the interpolated block, and the error of the interpolated block. To do.
  • the determination unit 125 outputs a determination result (determination result of the determination target block) as to whether or not to use the interpolation target area to the missing image generation unit 13 and the determination result memory 126 for each determination target block.
  • the determination unit 125 sets the code amount "R 1 " of the non-interpolated block, the naturalness "N 1 " of the non-interpolated block, the error “D 1 " of the non-interpolated block, and the code amount R 2 of the missing block. Based on the naturalness "N 2 " of the interpolated block and the error "D 2 " of the non-interpolated block, the judgment target area in the judgment target block as shown in FIG. 4 is set as either the interpolation target area or the non-interpolation area. Determine if to do.
  • the determination unit 125 derives the code amount "R" to be reduced when it is determined that the determination target area in the determination target block is the interpolation target area, as in the equation (3).
  • the determination unit 125 determines that the determination target area in the determination target block is the interpolation target area. If the equation (8) does not hold, the determination unit 125 determines that the determination target area in the determination target block is a non-interpolated area.
  • w D is a parameter representing the importance of the error of the interpolation block.
  • w D is predetermined based on the degree to which an error between the decoded image and the original image is allowed.
  • FIG. 9 is a flowchart showing an operation example of the coding device 10b.
  • the operation from step S201 to step S203 is the same as the operation from step S101 to step S103 shown in FIG.
  • the non-interpolated block error derivation unit 127 executes the non-interpolated block error derivation process (step S204).
  • the operation from step S205 to step S207 is the same as the operation from step S104 to step S106 shown in FIG.
  • the interpolation block error derivation unit 128 executes the interpolation block error derivation process (step S208).
  • the determination unit 125 executes the determination process (step S209).
  • the determination unit 125 determines whether or not the determination of the interpolation target area has been executed in all the determination target blocks in the input image (step S210). When the determination of the interpolation target area is not executed in any of the determination target blocks in the input image (step S210: NO), the non-interpolation block generation unit 120 executes the operation of step S202.
  • the missing image generation unit 13 executes the missing image generation process (step S211).
  • the missing image coding unit 14 executes the image coding process (step S212).
  • the determination unit 125 of the second embodiment sets the determination target area as the interpolation target area when the evaluation defined for the interpolation target area around the determination target area is not lowered.
  • the determination unit 125 improves the evaluation based on the prediction accuracy of the image of the determination target block by intra-prediction or inter-prediction such as HEVC and the degree (naturalness) that the image of the interpolation target area is not interpolated. If the evaluation defined for the interpolation target area around the determination target area is not lowered, the determination target area may be used as the interpolation target area.
  • the interpolation area determination device 12b executes both a process of determining the interpolation target area without referring to the original image and a process of determining the interpolation target area by referring to the original image in the determination process. May be good. As a result, the interpolation area determination device 12b determines that the determination target area of the image similar to the original image on a pixel-by-pixel basis is the interpolation target area, so that the subjective image quality can be improved. When the code amount may be equal to or more than the threshold value, it is possible to generate a restored image similar to the original image.
  • the coding device 10a and the coding device 10b may execute a coding process other than HEVC (for example, H.264 / AVC).
  • the coding device 10a and the coding device 10b may encode data other than images (for example, audio data).
  • the coding device 10a and the coding device 10b may interpolate voice data, for example. That is, the process executed by the coding device 10a or the coding device 10b is a process that can be applied to a coding device corresponding to an arbitrary decoding device, and is a processing that can be applied to an arbitrary image generation method.
  • the determination result of whether or not the region is an interpolation target region may be regarded as one of the parameters of the coding apparatus according to the image coding standard.
  • the present invention is applicable to a still image or moving image encoding device (image processing device).

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

符号化装置は、原画像を符号化する符号化装置であって、原画像を複数の領域であるブロックに分割し、複数のブロックを取得する分割部と、補間対象とするか否かを、ブロックごとに判定する判定部と、補間対象にすると判定されたブロックを構成する画素値を、判定されたブロックの符号量を少なくする値に置き換える置換部とを備え、判定部は、イントラ予測又はインター予測によるブロックの画像の予測精度と、補間対象の領域が生成されたものである度合いと、に基づく評価を用いて、判定対象の領域を補間対象の領域とするか否かを判定する。

Description

符号化装置、符号化方法及びプログラム
 本発明は、符号化装置、符号化方法及びプログラムに関する。
 動画像データを圧縮するための標準規格として、MPEG(Moving Picture Experts Group)-4、H.264/AVC(Advanced Video Coding)、H.265/HEVC(High Efficiency Video Coding)(以下「HEVC」という。)が知られている。また、HEVCに次ぐ新たな規格の標準化の検討が進められている。
 これらの規格の符号化方式は、原画像と復号画像とが画素単位で一致することを目指す符号化方式である。これらの規格では、画素間の時空間方向の相関に基づいて、予測画像が生成される。符号化装置は、予測画像及び原画像の間の残差を導出し送信することによって、符号量を削減する。しかしながら、テクスチャのような複雑な画像(平坦でない画像)を含む原画像に対しては予測効率が低下するので、符号化効率は低下する。
 このような符号化方式とは異なり、原画像における一部の領域を符号化装置が欠損させ、一部の領域が欠損している原画像(以下「欠損画像」という。)が符号化される方式が提案されている(非特許文献1参照)。符号化装置は、欠損画像の符号化データを、復号装置に送信する。欠損画像の情報量が原画像の情報量と比較して少ないので、欠損画像の符号化データのデータ量は、原画像の符号化データのデータ量と比較して少ない。復号装置は、復号された欠損画像において欠損している各領域の画像を、所定の方法で擬似的に生成する。復号装置は、欠損画像において欠損している各領域に、擬似的に生成された各画像を補間することによって、復元された画像(以下「復元画像」という。)を生成する。
 非特許文献1では、復号装置において、畳み込みニューラルネットワークが、画像補間処理によって復元画像を生成する。符号化装置は、画像が補間される対象の領域(以下「補間対象領域」という。)を、原画像において欠損させる。これによって、原画像の情報量が削減されるので、主観画質に基づく符号化効率を符号化装置が向上させることができる。
 符号化装置は、補間対象領域とするか、又は、画像が補間されない領域(補間対象領域以外の領域)(以下「非補間領域」という。)とするかを、原画像において領域ごとに判定する。補間対象領域とするか否かが適切に判定された場合、符号化効率の向上が期待できる。しかしながら、補間対象領域とするか否かを符号化装置が適切に判定する方法は確立されていない。
 HEVCの参照ソフトウェア(HEVC Test Model : HM)を用いた符号化では、符号化モードが選択される際に、符号化モードに応じて生成された予測画像と原画像との差分に基づいて、コストが導出される。非特許文献2では、符号化モードが選択される際に、符号化モードに応じて生成された予測画像と原画像との差分に基づいて、符号化歪Dが導出される。符号化歪「D」に基づく符号化モードのコスト「J」は、式(1)のように表される。符号化装置は、コストが最小となる符号化モードを選択する(非特許文献2参照)。
Figure JPOXMLDOC01-appb-M000001
 ここで、Rは、符号化モードに応じて生じる符号量を表す。λは、ラグランジュ乗数(定数)を表す。
 非特許文献2では、符号化歪の評価の尺度として、二乗誤差和(以下「SSE」という。)、絶対値誤差和又はアダマール変換絶対値誤差和が用いられる。符号化歪の評価の尺度は、予測画像と原画像との画素ごとの差分に基づいて導出される。例えば、「i×j」個の画素群でそれぞれ構成されるブロック「BlockA」及びブロック「BlockB」を用いて、SSEは、式(2)のように表わされる。
Figure JPOXMLDOC01-appb-M000002
 これを、非特許文献1での符号化装置における、補間対象領域とするか否かを判定する処理に用いる場合、符号化装置は、領域が補間対象領域と判定された場合のコストと、同じ領域が非補間領域と判定された場合のコストとを、予測画像と原画像との画素ごとの差分を比較する評価関数を用いて、領域ごとに比較する。符号化装置は、コストを少なくする符号化モードを選択する。このようにして、符号化装置は、補間対象領域とするか否かを、領域ごとに判定する。復号装置は、画像補間処理によって復元画像を生成する。
折橋翔太, 工藤忍, 北原正樹, 清水淳, "敵対的生成ネットワークを用いた画像補間に基づく画像符号化方式," 信学技報, vol.118, no.113, IE2018-27, pp.33-38, Jun. 2018. K. McCann, C. Rosewarne, B. Bross, M. Naccari, K. Sharman, G. Sullivan, "High Efficiency Video Coding (HEVC) Test Model 16 (HM 16) Encoder Description," JCTVC-R1002, Oct. 2014.
 平坦な領域(複雑でない領域)で構成される原画像に対して上記の判定処理を符号化装置が行う場合、平坦な領域は補間処理によって画素単位で近い値を得ることができるため、画素ごとの差分を比較する評価関数を用いて補間対象領域を判定することができる。
 これに対して、複雑な領域(例えば、テクスチャの領域)を含む原画像に対して上記の判定処理を符号化装置が行う場合、複雑な領域は補間処理によって画素単位で近い値を得ることができない。従って、多くの情報量を要する複雑な領域を補間対象領域として符号化装置が判定することができないので、符号化効率は低下する。
 また、複雑な領域を含む原画像に対して、画素ごとの差分に基づいて符号化歪を評価する尺度を用いる場合、複雑な画像が補間対象領域に補間されるよりも、原画像の平均画像が補間対象領域に補間されるほうが、有意な補間として判定される。このため、復号装置は、原画像の平均画像が補間対象領域に補間された画像を復元画像としやすい。原画像の平均画像が補間された場合、復元画像にボケが生じやすいので、復元画像の主観画質は劣化する。
 そこで、原画像と復元画像とが画素単位では一致しないとしても、復元画像の主観画質が良好となるように、補間対象領域を適切に判定する方法が望まれている。
 上記事情に鑑み、本発明は、復元画像の主観画質が良好となるように、入力された原画像における補間対象領域を判定することが可能である符号化装置、符号化方法及びプログラムを提供することを目的としている。
 本発明の一態様は、原画像を符号化する符号化装置であって、前記原画像を複数の領域であるブロックに分割し、複数の前記ブロックを取得する分割部と、補間対象とするか否かを、前記ブロックごとに判定する判定部と、前記補間対象にすると判定されたブロックを構成する画素値を、前記判定されたブロックの符号量を少なくする値に置き換える置換部とを備え、前記判定部は、イントラ予測又はインター予測による前記ブロックの画像の予測精度と、前記補間対象の領域が生成されたものである度合いと、に基づく評価を用いて、判定対象の領域を前記補間対象の領域とするか否かを判定する、符号化装置である。
 本発明により、復元画像の主観画質が良好となるように、原画像に対する補間対象領域を判定することが可能である。
第1実施形態における、符号化装置の構成例を示す図である。 第1実施形態における、符号化装置のハードウェア構成の例を示す図である。 第1実施形態における、HEVCのブロック分割の例を示す図である。 第1実施形態における、判定対象ブロックの例を示す図である。 第1実施形態における、符号化装置及び復号装置の構成例を示す図である。 第1実施形態における、符号化装置の動作例を示すフローチャートである。 第1実施形態における、学習装置の構成例を示す図である。 第2実施形態における、符号化装置の構成例を示す図である。 第2実施形態における、符号化装置の動作例を示すフローチャートである。
 本発明の実施形態について、図面を参照して詳細に説明する。
 前述したように、複雑な領域が欠損している原画像を符号化装置が符号化し、欠損している領域を復号装置が原画像に対して補間することは、符号量が削減される点で効果的であると考えられる。しかし、符号量を符号化装置が削減することができても、欠損している領域を復号装置が精度よく補間することができない場合など、領域を欠損させることが適切ではない場合もある。さらに、補間の精度は、符号化される対象の画像と、補間の処理内容とに応じても異なる。そこで、符号化される対象の画像と補間の処理内容との組み合わせごとに、補間によって削減される符号量と、領域が補間された際の精度とを、バランスよく評価する指標を導入することが考えられる。
 (第1実施形態)
 図1は、符号化装置10aの構成例を示す図である。符号化装置10aは、動画像又は静止画像等のデータを符号化する装置である。符号化装置10aは、ブロック分割部11と、補間領域判定装置12aと、欠損画像生成部13と、欠損画像符号化部14とを備える。補間領域判定装置12aは、非補間ブロック生成部120と、非補間ブロック評価部121と、欠損ブロック生成部122と、欠損ブロック補間部123と、補間ブロック評価部124と、判定部125と、判定結果メモリ126とを備える。
 図2は、符号化装置10aのハードウェア構成の例を示す図である。符号化装置10aは、プロセッサ100と、メモリ101と、記憶装置102とを備える。
 図1に示された各機能部(ブロック分割部11、欠損画像生成部13、欠損画像符号化部14、非補間ブロック生成部120、非補間ブロック評価部121、欠損ブロック生成部122、欠損ブロック補間部123、補間ブロック評価部124、及び、判定部125)は、CPU(Central Processing Unit)等のプロセッサ100が、不揮発性の記録媒体(非一時的な記録媒体)である記憶装置102からメモリ101に展開されたプログラムを実行することにより、ソフトウェアとして実現される。
 図1に示された判定結果メモリ126は、例えばメモリ101を用いて実現される。プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD-ROM(Compact Disc Read Only Memory)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置102などの非一時的な記録媒体である。プログラムは、電気通信回線を介して送信されてもよい。
 符号化装置10aの一部又は全部は、例えば、LSI(Large Scale Integration circuit)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)又はFPGA(Field Programmable Gate Array)等を用いた電子回路(electronic circuit又はcircuitry)を含むハードウェアを用いて実現されてもよい。
 図1において、ブロック分割部11は、符号化処理の対象となる原画像(対象画像)を、入力画像として取得する。入力画像の形式は、動画像の形式と静止画像の形式とのいずれでもよい。入力画像のフレームの形状は、例えば矩形である。ブロック分割部11は、入力画像に対して、ブロック分割処理を実行する。ブロック分割処理において、ブロック分割部11は、補間対象領域とするか否かが判定されるブロック(以下「判定対象ブロック」という。)に、入力画像を分割する。
 図3は、HEVCのブロック分割の例を示す図である。判定対象ブロックの形状又は大きさは、例えば、HEVCにおける、64×64画素の符号化ツリーユニット(Coding Tree Unit : CTU)の形状又は大きさでもよいし、32×32画素の符号化ユニット(Coding Unit : CU)の形状又は大きさでもよい。ブロック分割部11は、非補間ブロック生成部120及び欠損ブロック生成部122に対して、判定対象ブロックを所定の処理順で出力する。
 図4は、判定対象ブロックの例を示す図である。HEVCを例として、判定対象ブロックの例を説明する。例えばCTUが判定対象ブロックとされており、分割サイズが決められたCUを補間対象として選択するか否かが判定される判定対象領域として、判定対象ブロックの例を説明する。ただし、前述されているように、補間対象として選択するか否かが判定される単位は、CTUと、CUと、正方形以外の形状に分割された領域とのいずれでもよい。要は、符号量の低減と補間の精度とを一定に保つことができる領域と、符号量の低減の効果が低い領域又は補間の精度が許容の範囲以下である領域と、を区別できる単位であれば、補間対象であると判定される領域の単位は、どのような単位でもよい。判定対象ブロックは、補間対象領域とするか否かが判定される領域(以下「判定対象領域」という。)を含むことができる。図4では、判定対象ブロックは、判定対象領域103を含む。
 判定対象ブロックは、欠損画像に画像が補間される際に参照される領域(以下「参照領域」という。)を、判定対象領域の周囲に1個以上含んでもよい。図4では、判定対象ブロックは、7個の参照領域104を含む。
 判定対象ブロックは、欠損画像に画像が補間される際に参照されない領域(以下「非参照領域」という。)を、判定対象領域の周囲に1個以上含んでもよい。図4では、判定対象ブロックは、1個の非参照領域105を含む。
 図1において、補間領域判定装置12aは、判定対象ブロックをブロック分割部11から取得する。補間領域判定装置12aは、補間対象領域とするか否かを判定する処理(以下「補間領域判定処理」という。)を、判定対象ブロックごとに実行する。
 符号化装置10aは、固定の量子化パラメータを用いて、原画像を事前に符号化する。原画像において符号量の多いブロックを優先し、符号量の多いブロックに対して補間領域判定処理を実行する。補間領域判定処理の各ステップの順で前のステップまでの補間性能が下がっていない場合、補間領域判定装置12aは、補間領域判定処理の対象の領域を、補間対象領域とすると判定する。HEVC等では符号化が難しい画像(イントラ予測又はインター予測の予測精度の向上が難しい画像)の領域であって、画像の補間が可能である領域を優先して、補間領域判定装置12aは、補間領域判定処理を実行する。
 補間領域判定処理は、非補間ブロック生成処理と、非補間ブロック評価処理と、欠損ブロック生成処理と、欠損ブロック補間処理と、補間ブロック評価処理と、判定処理とを含む。補間領域判定装置12aは、補間対象領域とするか否かの判定結果(判定対象ブロックの判定結果)を、判定対象ブロックごとに欠損画像生成部13に出力する。
 補間領域判定処理は、入力画像における全ての判定対象ブロックに対して実行されるまで、判定対象ブロックごとに繰り返される。すなわち、補間領域判定処理は、複数のステップにわたって実行される。判定対象ブロックの選択順序は、任意の順序(例えば、ラスタスキャン順)でよい。復号装置は、判定対象ブロックの選択順序と同じ選択順序で補間対象領域を選択し、選択された補間対象領域に対して画像補間処理を実行する。
 非補間ブロック生成部120は、判定対象ブロックをブロック分割部11から取得する。非補間ブロック生成部120は、前ステップまでの補間領域判定処理における判定結果を、判定結果メモリ126から取得する。非補間ブロック生成部120は、前ステップまでの補間領域判定処理における判定結果と、判定対象ブロックとに基づいて、非補間ブロック生成処理を実行する。
 非補間ブロック生成処理として、非補間ブロック生成部120は、HEVC等で符号化された原画像内の判定対象ブロック(補間なし画像)、すなわち、画像が補間されていない判定対象ブロック(以下「非補間ブロック」という。)を生成する。非補間ブロック生成部120は、非補間ブロックを非補間ブロック評価部121に出力する。非補間ブロック生成処理において、非補間ブロック生成部120は、HEVC等で符号化された非補間ブロックの符号量を、判定部125に出力する。例えば、非補間ブロックの符号量は、イントラ予測又はインター予測で予測された場合における、判定対象ブロックの画像の予測精度に応じて定まる。
 なお、前ステップまで(過去)の補間領域判定処理において、補間対象領域とすると判定されている判定対象ブロック内の領域は、非補間ブロック生成処理において、非参照領域とされてもよい。非参照領域とされた領域を含む判定対象ブロックは、例えばHEVC等の予め定められた規格で符号化される。
 非補間ブロック評価部121は、評価ネットワーク1210(推定ネットワーク)を備える。評価ネットワーク1210は、例えば、畳み込みニューラルネットワークである。評価ネットワークを用いて、欠損画像における補間対象領域とするか否かを符号化装置10aが判定する場合、評価ネットワークの動作の段階には、学習フェーズと、推定フェーズとがある。
 学習フェーズにおいて、評価ネットワーク1210は、画像の全領域若しくは一部領域を入力として、自然度を出力する。自然度は、生成された画像ではないと推定されることの尤もらしさの度合い(尤度)と言い換えられてもよい。評価ネットワークは、敵対的学習法における識別器と言い換えられてもよい。この識別器は、例えば原画像の自然度が高くなるようにかつ生成された画像の自然度が低くなるように学習する。なお、ここでいう生成の意味には、補間が含まれる。
 推定フェーズにおいて、非補間ブロック評価部121は、非補間ブロックを取得する。非補間ブロック評価部121の評価ネットワーク1210は、入力画像の非補間ブロックの自然度(主観画質。見た目の違和感が生じない度合い。)を評価することによって、入力画像の非補間ブロックの自然度を数値化する。
 すなわち、非補間ブロック評価処理において、非補間ブロック評価部121は、学習済の評価ネットワーク1210に非補間ブロックを入力することによって、非補間ブロックの自然度を判定部125に出力する。
 欠損ブロック生成部122は、判定対象ブロックをブロック分割部11から取得する。欠損ブロック生成部122は、前ステップまでの補間領域判定処理の判定結果を、判定結果メモリ126から取得する。欠損ブロック生成処理として、欠損ブロック生成部122は、欠損ブロックを生成する。欠損ブロック生成部122は、欠損ブロックを欠損ブロック補間部123に出力する。欠損ブロック生成部122は、欠損ブロックの符号量を、判定部125に出力する。
 欠損ブロック生成処理において、欠損ブロック生成部122は、判定対象ブロックと、前ステップまでの補間領域判定処理の判定結果とに基づいて、前ステップまでの判定対象領域を判定対象ブロックから除くことによって、判定対象ブロック内の1個以上の判定対象領域を欠損させてもよい。
 欠損ブロック生成部122は、HEVC等で符号化された判定対象ブロックであって、判定対象領域が欠損している判定対象ブロック(以下「欠損ブロック」という。)を、欠損ブロック補間部123に出力する。欠損ブロック生成部122は、HEVC等で符号化された欠損ブロックの符号量を、判定部125に出力する。
 なお、前ステップまで(過去)の補間領域判定処理において、補間対象領域とすると判定されている判定対象ブロック内の領域は、欠損ブロック生成処理において、非参照領域とされてもよい。非参照領域とされた領域を含む判定対象ブロックは、例えばHEVC等の予め定められた規格で符号化される。この場合、非補間ブロック生成処理において非参照領域とされた領域は、欠損ブロック生成処理において、非参照領域とされる。
 欠損ブロック補間部123は、欠損ブロックを欠損ブロック生成部122から取得する。欠損ブロック補間処理として、欠損ブロック補間部123は、欠損ブロック内において欠損している判定対象領域の画像を欠損ブロックに補間することによって、欠損している判定対象領域(以下「欠損領域」という。)の画像が補間されたブロック(以下「補間ブロック」という。)を生成する。欠損ブロック補間部123は、補間ブロックを補間ブロック評価部124に出力する。
 欠損ブロック補間部123が実行する欠損ブロック補間処理は、復号装置が実行する欠損ブロック補間処理と同様の処理である。欠損ブロック補間部123が実行する欠損ブロック補間処理は、例えば、入力画像の欠損領域を補間する畳み込みニューラルネットワークを用いて実現される。
 補間ブロック評価部124は、評価ネットワーク1240を備える。評価ネットワーク1240は、例えば、畳み込みニューラルネットワークである。評価ネットワーク1240は、評価ネットワーク1210と同じネットワークである。評価ネットワーク1240は、例えば、入力画像の補間ブロックの自然度(主観画質。見た目の違和感が生じない度合い。)を評価することによって、入力画像の補間ブロックの自然度を数値化する。
 補間ブロック評価部124は、補間ブロックを取得する。補間ブロック評価処理において、補間ブロック評価部124は、評価ネットワーク1240に補間ブロックを入力することによって、補間ブロックの自然度を判定部125に出力する。
 評価ネットワーク1240は、非補間ブロック評価処理における、評価ネットワーク1210と同じネットワークでもよい。推定フェーズにおいて、補間ブロック評価部124の評価ネットワーク1210は、欠損画像に対して画像が補間された結果を取得し、欠損画像に対して画像が補間された結果(画像が補間された欠損画像)の自然度を出力する。
 判定部125は、非補間ブロックの符号量を、非補間ブロック生成部120から取得する。判定部125は、非補間ブロックの自然度を、非補間ブロック評価部121から取得する。判定部125は、欠損ブロックの符号量を、欠損ブロック生成部122から取得する。判定部125は、補間ブロックの自然度を、補間ブロック評価部124から取得する。
 判定部125は、非補間ブロックの符号量と非補間ブロックの自然度と欠損ブロックの符号量と補間ブロックの自然度とに基づいて、判定処理を実行する。判定部125は、補間対象領域とするか否かの判定結果(判定対象ブロックの判定結果)を、判定対象ブロックごとに欠損画像生成部13及び判定結果メモリ126に出力する。
 判定処理として、判定部125は、非補間ブロックの符号量「R」と非補間ブロックの自然度「N」と欠損ブロックの符号量「R」と補間ブロックの自然度「N」とに基づいて、図4に示されたような判定対象ブロック内の判定対象領域を補間対象領域又は非補間領域のいずれとするかを判定する。
 判定部125は、判定対象ブロック内の判定対象領域を補間対象領域とすると判定した場合に削減される符号量「R」を、式(3)のように導出する。
Figure JPOXMLDOC01-appb-M000003
 式(4)が成立する場合、判定部125は、判定対象ブロック内の判定対象領域を補間対象領域とすると判定する。式(4)が成立しない場合、判定部125は、判定対象ブロック内の判定対象領域を非補間領域とすると判定する。
Figure JPOXMLDOC01-appb-M000004
 ここで、wは、判定対象領域が補間対象領域とされることによって削減される符号量の重要度を表すパラメータである。wは、削減されるべき符号量等に基づいて予め定められる。
 欠損画像生成部13(置換部)は、入力画像(原画像)を取得する。欠損画像生成部13は、判定対象ブロックの判定結果を、判定部125から取得する。欠損画像生成部13は、入力画像と判定対象ブロックの判定結果とに基づいて、欠損画像生成処理を実行する。
 欠損画像生成処理として、欠損画像生成部13は、補間対象領域の画素値を、判定対象ブロックの画像の符号量を最小化する画素値(例えば、0)に置き換える。すなわち、欠損画像生成部13は、入力画像と判定対象ブロックの判定結果とに基づいて、補間領域判定処理における判定部125によって補間対象領域とすると判定された領域を入力画像から除くことによって、欠損画像を生成する。例えば、欠損画像生成部13は、補間対象領域とすると判定された領域の各画素値を補間対象領域の平均値又は固定値で置き換えることによって、補間対象領域とすると判定された領域を入力画像から除いてもよい。欠損画像生成部13は、欠損画像を欠損画像符号化部14に出力する。
 欠損画像符号化部14は、欠損画像を欠損画像生成部13から取得する。欠損画像符号化部14は、欠損画像に対して、欠損画像符号化処理を実行する。欠損画像符号化処理において、欠損画像符号化部14は、例えばHEVC等の符号化処理を欠損画像に対して実行することによって、欠損画像の符号化データを生成する。欠損画像符号化部14は、欠損画像の符号化データを、復号装置に出力する。
 なお、欠損画像符号化部14は、入力画像における補間対象領域の位置(座標)と、欠損画像の符号化データとを、復号装置に送信してもよい。また、符号化装置10a及び復号装置が共有するパラメータ(特定の情報)に基づいて、入力画像における補間対象領域の位置を符号化装置10a及び復号装置が定めることによって、欠損画像符号化部14は、入力画像における補間対象領域の位置(座標)の送信処理を省略してもよい。
 図5は、符号化装置10a及び復号装置20の構成例を示す図である。ブロック分割部11は、原画像200を取得する。補間領域判定装置12a及び欠損画像生成部13は、判定対象ブロック群201をブロック分割部11から取得する。判定対象ブロックは、前ステップまで(過去)の補間領域判定処理において、補間対象領域とすると判定されている判定対象ブロック内の領域を含んでもよい。補間領域判定装置12aは、判定対象領域に隣接する補間対象領域(周囲の補間対象領域)に定められた評価尺度(自然度)を今回の補間領域判定処理において下げることが無い場合には、今回の補間領域判定処理における判定対象領域を、補間対象領域とする。
 欠損画像生成部13は、判定対象ブロックの判定結果を表す画像である判定結果画像202を生成する。欠損画像生成部13は、判定結果画像202に基づいて、欠損画像203を生成する。欠損画像符号化部14は、欠損画像203を欠損画像生成部13から取得する。欠損画像符号化部14は、例えばHEVC等に基づいて、欠損画像203に対して符号化処理を実行する。欠損画像符号化部14は、欠損画像203の符号化データを、復号装置20に出力する。
 復号装置20は、復号部21と、補間処理部22とを備える。復号部21は、欠損画像203の符号化データを取得する。復号部21は、HEVC等に基づいて、欠損画像203の符号化データに対して復号処理を実行する。復号部21は、復号された欠損画像203を、補間処理部22に出力する。
 補間処理部22は、復号された欠損画像203における補間対象領域の画像を、復号された欠損画像203に対して補間する。補間処理部22が実行する画像補間処理は、特定の画像補間処理に限定されない。例えば、補間処理部22は、図4に示された判定対象ブロックにおいて判定対象領域103の周囲に存在する1個以上の参照領域104の平均画像を、判定対象領域103の位置における補間対象領域の画像として、復号された欠損画像に対して補間する。1個以上の参照領域104には、重み係数がそれぞれ定められてもよい。参照領域104の平均画像は、参照領域104ごとの重み係数に応じて生成されてもよい。補間処理部22は、図4に示された判定対象ブロックにおいて判定対象領域103の周囲に存在する1個の参照領域104の画像を、判定対象領域103の位置における補間対象領域の画像として、復号された欠損画像に対して補間してもよい。このようにして、補間処理部22は入力画像の復元画像204を生成する。
 次に、符号化装置10aの動作例を説明する。
 図6は、符号化装置10aの動作例を示すフローチャートである。ブロック分割部11は、ブロック分割処理を実行する(ステップS101)。非補間ブロック生成部120は、非補間ブロック生成処理を実行する(ステップS102)。非補間ブロック評価部121は、非補間ブロック評価処理を実行する(ステップS103)。
 欠損ブロック生成部122は、欠損ブロック生成処理を実行する(ステップS104)。欠損ブロック補間部123は、欠損ブロック補間処理を実行する(ステップS105)。補間ブロック評価部124は、補間ブロック評価処理を実行する(ステップS106)。判定部125は、判定処理を実行する(ステップS107)。
 判定部125は、入力画像における全ての判定対象ブロックにおいて、補間対象領域の判定が実行されたか否かを判定する(ステップS108)。入力画像におけるいずれかの判定対象ブロックにおいて、補間対象領域の判定が実行されていない場合(ステップS108:NO)、非補間ブロック生成部120は、ステップS102の動作を実行する。
 入力画像における全ての判定対象ブロックにおいて、補間対象領域の判定が実行された場合(ステップS108:YES)、欠損画像生成部13は、欠損画像生成処理を実行する(ステップS109)。欠損画像符号化部14は、画像符号化処理を実行する(ステップS110)。
 次に、学習フェーズにおける評価ネットワークの学習について説明する。
 図7は、学習装置30の構成例を示す図である。学習装置30は、敵対的学習法によって、評価ネットワーク1210の学習を実行する。評価ネットワーク1240は、評価ネットワーク1210と同じネットワークである。
 学習装置30は、前段切替部300と、欠損画像生成部301と、画像補間部302と、後段切替部303と、画像評価部304と、更新部305とを備える。学習装置30の一部又は全部は、CPU等のプロセッサが、不揮発性の記録媒体(非一時的な記録媒体)であるメモリに記憶されたプログラムを実行することにより、ソフトウェアとして実現される。プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。学習装置30の一部又は全部は、例えば、LSI、ASIC、PLD又はFPGA等を用いた電子回路を含むハードウェアを用いて実現されてもよい。
 以下では、数式において文字の上に付されている記号は、その文字の直前に記載される。例えば、数式において文字「M」の上に付されている記号「^」は、「^M」のように文字「M」の直前に記載される。以下では、数式において、丸印の内部に1個の点を有する演算子は、行列の要素積を表す。
 前段切替部300は、欠損画像以外の予め定められた画像(以下「非欠損画像」という。)を取得する。非欠損画像は、例えば、予め定められた原画像である。第1切替状態において、前段切替部300は、非欠損画像「x」を後段切替部303に出力する。
 第2切替状態において、前段切替部300は、非欠損画像「x」を欠損画像生成部301に出力する。欠損画像生成部301は、非欠損画像「x」を取得する。欠損画像生成部301は、欠損領域であるか否かを表す「^M」を、画像補間部302に出力する。欠損画像生成部301は、欠損領域「^M」が非欠損画像「x」から除かれた画像を、欠損画像として画像補間部302に出力する。欠損画像は、式(5)のように表わされる。
Figure JPOXMLDOC01-appb-M000005
 ここで、欠損領域「^M」の座標は、任意に予め定められる。「^M」の値は、フラグの形式で表現されてもよい。例えば、「^M」の値は、「^M」が欠損領域を表す場合、1である。「^M」の値は、「^M」が非欠損領域を表す場合、0である。
 画像補間部302は、補間ネットワーク3020を備える。補間ネットワーク3020は、例えば、畳み込みニューラルネットワークである。補間ネットワーク3020は、敵対的生成ネットワーク(Generative Adversarial Networks : GAN)における、生成ネットワークを含む生成器(Generator)である。画像補間部302は、欠損領域であるか否かを表す「^M」と欠損画像(特徴量)とを、補間ネットワーク3020に入力する。補間ネットワーク3020「G」は、欠損領域の画像を、欠損画像の欠損領域「^M」に補間する。補間ネットワーク3020「G」は、式(6)に示されるような補間画像「G」を、後段切替部303に出力する。
Figure JPOXMLDOC01-appb-M000006
 第1切替状態において、後段切替部303は、非欠損画像「x」を前段切替部300から取得する。後段切替部303は、非欠損画像「x」を画像評価部304に出力する。第2切替状態において、後段切替部303は、補間画像「G」を画像補間部302から取得する。後段切替部303は、補間画像「G」を画像評価部304に出力する。
 画像評価部304は、評価ネットワーク1210を備える。評価ネットワーク1210は、敵対的生成ネットワークにおける、識別ネットワークを含む識別器(Discriminator)である。後段切替部303の切替状態が第1切替状態である場合、画像評価部304は、非欠損画像「x」を評価ネットワーク1210に入力する。評価ネットワーク1210は、評価ネットワーク1210に入力された非欠損画像が非欠損画像「x」である確率「D(x)」を、更新部305に出力する。
 後段切替部303の切替状態が第2切替状態である場合、画像評価部304は、補間画像「G」を評価ネットワーク1210に入力する。評価ネットワーク1210は、評価ネットワーク1210に入力された補間画像が非欠損画像「x」である確率「D(x)」を、更新部305に出力する。
 更新部305は、画像評価部304の評価ネットワーク1210から出力された確率値(自然度)に基づいて、補間ネットワーク3020のパラメータと、評価ネットワーク1210のパラメータとを、交互に更新する。更新は、式(7)の最適化に基づき行われる。
Figure JPOXMLDOC01-appb-M000007
 ここで、xは、教師データの画像群の分布(自然度)を表す。学習装置30は、多くの教師データを用いて、学習を反復する。評価ネットワーク1210は、非欠損画像と補間画像とを識別するネットワークとして、確率値の学習を反復する。
 なお、上記の敵対的学習の方法は一例である。評価ネットワーク1210は、任意の生成ネットワークとの敵対的学習によって学習することができる。評価ネットワーク1210及び補間ネットワーク3020は、交互に学習するのではなく、同時に学習してもよい。
 以上のように、第1実施形態の符号化装置10aは、原画像(対象画像)を符号化する。符号化装置10aは、ブロック分割部11(分割部)と、判定部125と、欠損画像生成部13(置換部)とを備える。ブロック分割部11は、原画像の一部の復号結果(欠損画像)において画像が補間されるか否かの判定対象領域を含む各判定対象ブロックに、原画像を分割する。判定部125は、判定対象領域を欠損画像における補間対象領域とするか否かを、判定対象ブロックごとに判定する。欠損画像生成部13は、補間対象領域とすると判定された判定対象領域の画素値を、判定対象ブロックの符号量を少なくする値に置き換える。判定部125は、HEVC等のイントラ予測又はインター予測による判定対象ブロックの画像の予測精度と、補間対象領域の画像が補間されたものでないことの度合い(補間対象領域が生成されたものであることの度合い)(自然度)とに基づく評価を用いて、判定対象領域を補間対象領域とするか否かを判定する。
 これによって、復元画像の主観画質が良好となるように、入力された原画像における補間対象領域を判定することが可能である。
 判定部125は、符号量が多い判定対象ブロックにおける判定対象領域を優先して、補間対象領域とする。判定部125は、判定対象領域の周囲における補間対象領域に定められた評価を下げることがない場合には、判定対象領域を補間対象領域とする。評価は、HEVC等のイントラ予測又はインター予測による判定対象ブロックの画像の予測精度と、敵対的生成ネットワークにおける生成器によって生成された画像を用いて学習したニューラルネットワークから出力された確率値である自然度に基づく。
 符号化装置10aは、復号装置20が画像を補間しても復元画像に見た目の違和感が生じない領域を、補間対象領域とすると判定する。HEVCでは符号化が難しい領域であっても、復元画像に見た目の違和感が生じないように、判定対象領域を補間対象領域とするか否かを符号化装置10aが判定することができる。
 (1)判定部125は、判定処理において原画像を参照することなく、補間対象領域を決定する。判定部125は、学習済の評価ネットワーク1210から出力される非補間ブロックの自然度と、非補間ブロックの符号量に応じて導出される得点とを比較する。判定部125は、学習済の評価ネットワーク1240から出力される補間ブロックの自然度と、補間ブロックの符号量に応じて導出される得点とを比較する。判定部125は、原画像と補間画像等との誤差に基づくことなく、判定対象領域を補間対象領域とするか否かを判定する。これによって、欠損領域の画素値に近い画素値を補間処理では得ることができない複雑な画像の判定対象領域に対しても、補間対象領域とするか否かを判定することができる。したがって、符号化効率は向上する。また、複雑な画像の領域に平坦な画像が補間され難くなるので、復元画像がボケることが抑制されて、復元画像の主観画質が向上する。
 (2)補間領域判定装置12aは、補間対象領域とするか否かを判定する処理に、敵対的学習法を用いて獲得されたモデルを適用する。原画像が参照されることなく、判定対象の画像の主観画質が評価される必要があるので、評価尺度の設計が重要である。補間領域判定装置12aは、敵対的学習を用いて獲得されたモデルに、主観画質の評価尺度を獲得させる。これによって、入力画像の自然度(自然な画像としてあらかじめ定められた画像群(教師画像群)との近さ)が、入力画像の主観画質の評価尺度と定義される。
 (第2実施形態)
 第2実施形態では、原画像の判定対象ブロックと非補間ブロックとの間の誤差と、原画像の判定対象ブロックと補間ブロックとの間の誤差とに基づいて、補間対象領域とするか否かが判定部によって判定される点が、第1実施形態と相違する。第2実施形態では、第1実施形態との相違点を説明する。
 図8は、符号化装置10bの構成例を示す図である。符号化装置10bは、動画像又は静止画像等のデータを符号化する装置である。符号化装置10bは、ブロック分割部11と、補間領域判定装置12bと、欠損画像生成部13と、欠損画像符号化部14とを備える。補間領域判定装置12bは、非補間ブロック生成部120と、非補間ブロック評価部121と、欠損ブロック生成部122と、欠損ブロック補間部123と、補間ブロック評価部124と、判定部125と、判定結果メモリ126と、非補間ブロック誤差導出部127と、補間ブロック誤差導出部128とを備える。
 非補間ブロック誤差導出部127は、非補間ブロックを非補間ブロック生成部120から取得する。非補間ブロック誤差導出部127は、判定対象ブロックをブロック分割部11から取得する。非補間ブロック誤差導出処理として、非補間ブロック誤差導出部127は、判定対象ブロックの判定対象領域の画像と、非補間ブロックの判定対象領域の画像との差分を導出する。導出された差分は、例えば、SSE、ピーク信号対雑音比(Peak Signal-to-Noise Ratio : PSNR)、構造的類似性(Structural Similarity : SSIM)等を用いて表現される。非補間ブロック誤差導出部127は、導出された差分を、非補間ブロックの誤差として判定部125に出力する。
 補間ブロック誤差導出部128は、補間ブロックを欠損ブロック補間部123から取得する。補間ブロック誤差導出部128は、判定対象ブロックをブロック分割部11から取得する。補間ブロック誤差導出処理として、補間ブロック誤差導出部128は、判定対象ブロックの判定対象領域の画像と、補間ブロックの判定対象領域の画像との差分を、非補間ブロック誤差導出処理と同様に導出する。補間ブロック誤差導出部128は、導出された差分を、補間ブロックの誤差として判定部125に出力する。
 判定部125は、非補間ブロックの符号量を、非補間ブロック生成部120から取得する。判定部125は、非補間ブロックの自然度を、非補間ブロック評価部121から取得する。判定部125は、欠損ブロックの符号量を、欠損ブロック生成部122から取得する。判定部125は、補間ブロックの自然度を、補間ブロック評価部124から取得する。判定部125は、非補間ブロックの誤差を、非補間ブロック誤差導出部127から取得する。判定部125は、補間ブロックの誤差を、補間ブロック誤差導出部128から取得する。
 判定部125は、非補間ブロックの符号量と非補間ブロックの自然度と非補間ブロックの誤差と欠損ブロックの符号量と補間ブロックの自然度と補間ブロックの誤差とに基づいて、判定処理を実行する。判定部125は、補間対象領域とするか否かの判定結果(判定対象ブロックの判定結果)を、判定対象ブロックごとに欠損画像生成部13及び判定結果メモリ126に出力する。
 判定処理として、判定部125は、非補間ブロックの符号量「R」と非補間ブロックの自然度「N」と非補間ブロックの誤差「D」と欠損ブロックの符号量R」と補間ブロックの自然度「N」非補間ブロックの誤差「D」とに基づいて、図4に示されたような判定対象ブロック内の判定対象領域を補間対象領域又は非補間領域のいずれとするかを判定する。
 判定部125は、判定対象ブロック内の判定対象領域を補間対象領域とすると判定した場合に削減される符号量「R」を、式(3)のように導出する。
 式(8)が成立する場合、判定部125は、判定対象ブロック内の判定対象領域を補間対象領域とすると判定する。式(8)が成立しない場合、判定部125は、判定対象ブロック内の判定対象領域を非補間領域とすると判定する。
Figure JPOXMLDOC01-appb-M000008
 ここで、wは、補間ブロックの誤差の重要度を表すパラメータである。wは、復号画像と原画像との誤差が許容される程度に基づいて予め定められる。
 次に、符号化装置10bの動作例を説明する。
 図9は、符号化装置10bの動作例を示すフローチャートである。ステップS201からステップS203までの動作は、図6に示されたステップS101からステップS103までの動作と同様である。非補間ブロック誤差導出部127は、非補間ブロック誤差導出処理を実行する(ステップS204)。ステップS205からステップS207までの動作は、図6に示されたステップS104からステップS106までの動作と同様である。補間ブロック誤差導出部128は、補間ブロック誤差導出処理を実行する(ステップS208)。判定部125は、判定処理を実行する(ステップS209)。
 判定部125は、入力画像における全ての判定対象ブロックにおいて、補間対象領域の判定が実行されたか否かを判定する(ステップS210)。入力画像におけるいずれかの判定対象ブロックにおいて、補間対象領域の判定が実行されていない場合(ステップS210:NO)、非補間ブロック生成部120は、ステップS202の動作を実行する。
 入力画像における全ての判定対象ブロックにおいて、補間対象領域の判定が実行された場合(ステップS210:YES)、欠損画像生成部13は、欠損画像生成処理を実行する(ステップS211)。欠損画像符号化部14は、画像符号化処理を実行する(ステップS212)。
 以上のように、第2実施形態の判定部125は、判定対象領域の周囲における補間対象領域に定められた評価を下げることがない場合には、判定対象領域を補間対象領域とする。判定部125は、HEVC等のイントラ予測又はインター予測による判定対象ブロックの画像の予測精度と、補間対象領域の画像が補間されたものでない度合い(自然度)とに基づく評価が向上し、かつ、判定対象領域の周囲における補間対象領域に定められた評価を下げることがない場合には、判定対象領域を補間対象領域としてもよい。
 これによって、復元画像の主観画質が良好となるように、入力された原画像における補間対象領域を判定することが可能である。HEVCなどで符号化された際に符号量が大きくなる領域から優先して補間するか否かが選択されることによって、平坦な領域に起因して複雑な領域が補間対象から外れてしまうことを防ぐことができる。
 (3)補間領域判定装置12bは、原画像を参照することなく補間対象領域を決定する処理と、原画像を参照して補間対象領域を決定する処理との両方を、判定処理において実行してもよい。これによって、補間領域判定装置12bは、原画像に画素単位で類似する画像の判定対象領域を補間対象領域とすると判定するので、主観画質を向上させることができる。符号量が閾値以上となっても構わない場合、原画像に類似する復元画像を生成することが可能である。
 以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
 符号化装置10a及び符号化装置10bは、HEVC以外の符号化処理(例えば、H.264/AVC)を実行してもよい。符号化装置10a及び符号化装置10bは、画像以外のデータ(例えば、音声データ)を符号化してもよい。符号化装置10a及び符号化装置10bは、例えば、音声データを補間してもよい。つまり、符号化装置10a又は符号化装置10bが実行する処理は、任意の復号器に対応する符号化器に対して適用できる処理であり、任意の画像生成方法に適用できる処理である。補間対象領域であるか否かの判定結果は、画像符号化の標準規格に準じた符号化装置のパラメータの一つとみなされてもよい。
 本発明は、静止画又は動画像の符号化装置(画像処理装置)に適用可能である。
10a,10b…符号化装置、11…ブロック分割部、12a,12b…補間領域判定装置、13…欠損画像生成部、14…欠損画像符号化部、20…復号装置、21…復号部、22…補間処理部、30…学習装置、100…プロセッサ、101…メモリ、102…記憶装置、103…判定対象領域、104…参照領域、105…非参照領域、120…非補間ブロック生成部、121…非補間ブロック評価部、122…欠損ブロック生成部、123…欠損ブロック補間部、124…補間ブロック評価部、125…判定部、126…判定結果メモリ、127…非補間ブロック誤差導出部、128…補間ブロック誤差導出部、200…原画像、201…判定対象ブロック群、202…判定結果画像、203…欠損画像、204…復元画像、300…前段切替部、301…欠損画像生成部、302…画像補間部、303…後段切替部、304…画像評価部、305…更新部、1210…評価ネットワーク、1240…評価ネットワーク、3020…補間ネットワーク

Claims (7)

  1.  原画像を符号化する符号化装置であって、
     前記原画像を複数の領域であるブロックに分割し、複数の前記ブロックを取得する分割部と、
     補間対象とするか否かを、前記ブロックごとに判定する判定部と、
     前記補間対象にすると判定されたブロックを構成する画素値を、前記判定されたブロックの符号量を少なくする値に置き換える置換部とを備え、
     前記判定部は、イントラ予測又はインター予測による前記ブロックの画像の予測精度と、前記補間対象のブロックが生成されたものである度合いと、に基づく評価を用いて、判定対象のブロックを前記補間対象とするか否かを判定する、
     符号化装置。
  2.  前記判定部は、前記複数のブロックのうち符号量が大きいブロックを優先して、前記補間対象とする、請求項1に記載の符号化装置。
  3.  前記判定部は、判定対象のブロックを補間対象として符号化した際に、前記判定対象のブロックに隣接するブロックの評価を下げることがない場合のみ、前記判定対象のブロックを補間対象とする、請求項2に記載の符号化装置。
  4.  前記度合いは、敵対的生成ネットワークにおける生成器によって生成された画像を用いて学習した識別器から出力された確率値である、請求項3に記載の符号化装置。
  5.  原画像を符号化する符号化装置であって、
     前記原画像を複数のであるブロックに分割し、複数の前記ブロックを取得する分割部と、
     補間対象とするか否かを、前記ブロックごとに判定する判定部と、
     前記補間対象にすると判定されたブロックを構成する画素値を、前記判定されたブロックの符号量を少なくする値に置き換える置換部とを備え、
     前記判定部は、判定対象のブロックを補間対象として符号化した際に前記判定対象のブロックに隣接するブロックの評価を下げることがないかつ、前記判定対象のブロックの評価値が所定の基準を満たす場合のみ、前記判定対象のブロックを補間対象であるとして判定する、
     符号化装置。
  6.  原画像を符号化する符号化装置が実行する符号化方法であって、
     前記原画像を複数の領域であるブロックに分割し、複数の前記ブロックを取得する分割ステップと、
     補間対象とするか否かを、前記ブロックごとに判定する判定ステップと、
     前記補間対象にすると判定されたブロックを構成する画素値を、前記判定されたブロックの符号量を少なくする値に置き換える置換ステップとを含み、
     前記判定ステップでは、イントラ予測又はインター予測による前記ブロックの画像の予測精度と、前記補間対象のブロックが生成されたものである度合いと、に基づく評価を用いて、判定対象のブロックを前記補間対象とするか否かを判定する、
     符号化方法。
  7.  請求項1から請求項5のいずれか一項に記載の符号化装置としてコンピュータを機能させるためのプログラム。
PCT/JP2019/024637 2019-06-21 2019-06-21 符号化装置、符号化方法及びプログラム WO2020255367A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2019/024637 WO2020255367A1 (ja) 2019-06-21 2019-06-21 符号化装置、符号化方法及びプログラム
US17/620,919 US20220337830A1 (en) 2019-06-21 2019-06-21 Encoding apparatus, encoding method, and program
JP2021528591A JP7303456B2 (ja) 2019-06-21 2019-06-21 符号化装置、符号化方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/024637 WO2020255367A1 (ja) 2019-06-21 2019-06-21 符号化装置、符号化方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2020255367A1 true WO2020255367A1 (ja) 2020-12-24

Family

ID=74040389

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/024637 WO2020255367A1 (ja) 2019-06-21 2019-06-21 符号化装置、符号化方法及びプログラム

Country Status (3)

Country Link
US (1) US20220337830A1 (ja)
JP (1) JP7303456B2 (ja)
WO (1) WO2020255367A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013543298A (ja) * 2010-09-10 2013-11-28 トムソン ライセンシング 事例ベースのデータ・プルーニングを用いたビデオ符号化
WO2018150083A1 (en) * 2017-02-16 2018-08-23 Nokia Technologies Oy A method and technical equipment for video processing

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115134609A (zh) * 2015-06-11 2022-09-30 杜比实验室特许公司 使用自适应去块滤波编码和解码图像的方法及其装置
US20190215534A1 (en) * 2016-09-12 2019-07-11 Sony Corporation Image processing apparatus and image processing method
WO2018199051A1 (ja) * 2017-04-25 2018-11-01 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法および復号方法
JPWO2020141591A1 (ja) * 2018-12-31 2021-10-21 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 符号化装置、復号装置、符号化方法、及び復号方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013543298A (ja) * 2010-09-10 2013-11-28 トムソン ライセンシング 事例ベースのデータ・プルーニングを用いたビデオ符号化
WO2018150083A1 (en) * 2017-02-16 2018-08-23 Nokia Technologies Oy A method and technical equipment for video processing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ORIHASHI, SHOTA ET AL.: "Image Coding based on Completion using Generative Adversarial Networks", IEICE TECHNICAL REPORT, vol. 118, no. no. 113, 22 June 2018 (2018-06-22), pages 33 - 38 *

Also Published As

Publication number Publication date
JPWO2020255367A1 (ja) 2020-12-24
JP7303456B2 (ja) 2023-07-05
US20220337830A1 (en) 2022-10-20

Similar Documents

Publication Publication Date Title
CN108848376B (zh) 视频编码、解码方法、装置和计算机设备
US9282340B2 (en) Video encoding device, video encoding method, video encoding program, video decoding device, video decoding method, and video decoding program
CN105706450A (zh) 根据基于散列的块匹配的结果的编码器决定
Pessoa et al. End-to-end learning of video compression using spatio-temporal autoencoders
JP2012170122A (ja) イメージをコード化する方法およびイメージコーダ
JP2004201290A (ja) 画像処理方法および画像処理装置、並びに画像処理プログラムおよび記録媒体
KR101409826B1 (ko) 적응적 탐색 범위를 이용한 움직임 예측 방법
KR102503760B1 (ko) 영상 분석을 이용한 비디오 부호화/복호화 방법 및 장치
CN114793282B (zh) 带有比特分配的基于神经网络的视频压缩
US11928843B2 (en) Signal processing apparatus and signal processing method
JPH0556282A (ja) 画像符号化装置
US20230388491A1 (en) Colour component prediction method, encoder, decoder and storage medium
CN115836525A (zh) 用于从多个交叉分量进行预测的方法和系统
JP2009077176A (ja) 画像符号化装置及び画像復号装置並びにそれらの制御方法
JP7274427B2 (ja) 少なくとも1つの画像を表すデータストリームを符号化及び復号する方法及びデバイス
WO2020255367A1 (ja) 符号化装置、符号化方法及びプログラム
KR101979379B1 (ko) 영상의 부호화 방법 및 장치, 및 영상의 복호화 방법 및 장치
WO2019225344A1 (ja) 符号化装置、画像補間システム及び符号化プログラム
JP7185467B2 (ja) 画像復号装置、画像符号化装置、画像処理システム及びプログラム
JP6171584B2 (ja) 動画像符号化装置、動画像符号化方法、および動画像符号化プログラム
JP2007019687A (ja) Csrbfを用いる画像処理方法
Shanmathi et al. Comparative study of predictors used in lossless image compression
CN112313950A (zh) 视频图像分量的预测方法、装置及计算机存储介质
WO2024193709A1 (en) Method, apparatus, and medium for visual data processing
WO2019225337A1 (ja) 符号化装置、復号装置、符号化方法、復号方法、符号化プログラム及び復号プログラム

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021528591

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19933345

Country of ref document: EP

Kind code of ref document: A1