WO2021040036A1 - 符号化装置、復号装置、及びプログラム - Google Patents
符号化装置、復号装置、及びプログラム Download PDFInfo
- Publication number
- WO2021040036A1 WO2021040036A1 PCT/JP2020/032782 JP2020032782W WO2021040036A1 WO 2021040036 A1 WO2021040036 A1 WO 2021040036A1 JP 2020032782 W JP2020032782 W JP 2020032782W WO 2021040036 A1 WO2021040036 A1 WO 2021040036A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- block
- unit
- blocks
- prediction
- conversion
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
Definitions
- the present invention relates to a coding device, a decoding device, and a program.
- a deblocking filter is adopted as a filter in a coding loop (see, for example, Non-Patent Document 1).
- the deblocking filter is an in-loop filter for suppressing distortion at the boundary portion of a block when encoding processing is performed in block units.
- the filter control unit that controls the deblocking filter sets a deblocking filter for the boundary between the two blocks when the intra prediction is applied to at least one of the two blocks consisting of the coded block and its adjacent blocks. Apply. When the inter-prediction is applied to both of the two blocks adjacent to each other, the filter control unit performs the two blocks according to the value of the motion vector of each of the two blocks and the degree of matching of the reference destination (reference image). Decide whether to apply the deblocking filter to the boundary of the block.
- VVC is planning to adopt a weighted bi-prediction technology called BCW (Bi-prescription with CU-level Weight).
- BCW Bi-prescription with CU-level Weight.
- the conventional double prediction simply generates a prediction image by averaging two reference images, while the weighted double prediction generates a prediction image by weighted averaging (weighted average) of two reference images.
- the weighting coefficient used for this weighted average is selected from a plurality of predetermined weighting coefficient sets.
- the inter-prediction When the inter-prediction is applied to both of the two blocks adjacent to each other, the following problems may occur even if the motion vector value of each block and the degree of agreement of the reference destination are high. Specifically, when the weighted bi-prediction is applied to each block and the weighting coefficients applied to each block are different from each other, the discontinuity between the blocks becomes high, so that the visual deterioration is caused. There is a problem that arises.
- the present invention provides a coding device, a decoding device, and a program that improve image quality and coding efficiency by appropriately controlling the deblocking filter.
- the coding device is a coding device that performs coding in block units obtained by dividing an image, and uses a plurality of weighting coefficients selected from a weighting coefficient set consisting of a plurality of weighting coefficients.
- the prediction unit that generates the prediction block of the coded target block by performing weighted averaging on the reference image of, and the conversion process and the prediction residual representing the difference between the coded target block and the prediction block.
- a conversion / quantization unit that performs quantization processing, and an inverse quantization / inverse conversion that restores the predicted residual by performing dequantization processing and deconversion processing on the conversion coefficient obtained by the conversion / quantization unit.
- the composite unit that restores the coded target block by synthesizing the restored predicted residual and the predicted block, and the restored coded target block and the adjacent block. It is a gist to include a deblocking filter that performs filtering processing and a filter control unit that controls the deblocking filter based on the weighting coefficient applied to each of the two blocks by the prediction unit.
- the decoding device is a decoding device that decodes in block units obtained by dividing an image, and outputs a quantization conversion coefficient corresponding to the block to be decoded by decoding the encoded stream. It consists of an entropy decoding unit that performs dequantization, an inverse quantization / inverse conversion unit that performs dequantization processing and deconversion processing on the conversion coefficient output by the entropy decoding unit to restore the predicted residual, and a plurality of weighting coefficients.
- a prediction unit that generates a prediction block of the decoding target block by performing weighted averaging on a plurality of reference images using a weighting coefficient selected from the weighting coefficient set, and the restored prediction residual and the prediction block.
- a deblocking filter that performs filtering on the boundary between two blocks including the restored block to be decoded and an adjacent block, and the prediction unit is the two. It is a gist to include a filter control unit that controls the deblocking filter based on the weighting coefficient applied to each of the blocks.
- the gist of the program according to the third aspect is to make the computer function as a coding device according to the first aspect.
- the gist of the program according to the fourth aspect is to make the computer function as a decoding device according to the second aspect.
- the present invention it is possible to provide a coding device, a decoding device, and a program that improve image quality and coding efficiency by appropriately controlling the deblocking filter.
- the coding device and the decoding device according to the embodiment will be described with reference to the drawings.
- the coding device and the decoding device according to the embodiment respectively perform coding and decoding of a moving image represented by MPEG.
- the same or similar parts are designated by the same or similar reference numerals.
- FIG. 1 is a diagram showing a configuration of a coding device 1 according to the present embodiment.
- the coding device 1 is a device that performs coding in block units obtained by dividing an image.
- the coding apparatus 1 synthesizes a block dividing unit 100, a subtracting unit 110, a conversion / quantization unit 120, an entropy coding unit 130, and an inverse quantization / inverse conversion unit 140. It has a unit 150, a deblocking filter 160, a filter control unit 161, a memory 170, and a prediction unit 180.
- the block division unit 100 divides the input image in units of frames (or pictures) constituting the moving image into a plurality of image blocks, and outputs the image block obtained by the division to the subtraction unit 110.
- the size of the image block is, for example, 32 ⁇ 32 pixels, 16 ⁇ 16 pixels, 8 ⁇ 8 pixels, 4 ⁇ 4 pixels, or the like.
- the shape of the image block is not limited to a square and may be a rectangle (non-square).
- the image block is a unit for coding by the coding device 1 (encoding target block) and a unit for decoding by the decoding device (decoding target block). Such an image block is sometimes called a CU (Coding Unit).
- the block division unit 100 divides the luminance signal and the color difference signal into blocks.
- the case where the shape of the block division is the same for the luminance signal and the color difference signal will be mainly described, but the division may be controlled independently for the luminance signal and the color difference signal.
- the luminance block and the color difference block are not particularly distinguished, they are simply called a coded block.
- the subtraction unit 110 calculates a prediction residual representing a difference (error) between the coding target block output from the block division unit 100 and the prediction block obtained by predicting the coding target block by the prediction unit 180.
- the subtraction unit 110 calculates the prediction residual by subtracting each pixel value of the prediction block from each pixel value of the block, and outputs the calculated prediction residual to the conversion / quantization unit 120.
- the conversion / quantization unit 120 performs conversion processing and quantization processing in block units.
- the conversion / quantization unit 120 includes a conversion unit 121 and a quantization unit 122.
- the conversion unit 121 performs conversion processing on the predicted residual output from the subtraction unit 110, calculates a conversion coefficient for each frequency component, and outputs the calculated conversion coefficient to the quantization unit 122.
- the conversion process (conversion) is a process of converting a signal in the pixel region into a signal in the frequency domain, for example, discrete cosine transform (DCT), discrete sine transform (DST), carunen-reve transform (KLT), and the like. Is an integer transform of.
- the quantization unit 122 quantizes the conversion coefficient output from the conversion unit 121 using the quantization parameter (Qp) and the quantization matrix, and the quantized conversion coefficient is the entropy coding unit 130 and the inverse quantization / inverse conversion. Output to unit 140.
- the quantization parameter (Qp) is a parameter commonly applied to each conversion coefficient in the block, and is a parameter that determines the roughness of quantization.
- the quantization matrix is a matrix having a quantization value as an element when quantizing each conversion coefficient.
- the entropy coding unit 130 performs entropy coding on the conversion coefficient output from the quantization unit 122, performs data compression to generate a coded stream (bit stream), and encodes the coded stream into the coding device 1. Output to the outside of.
- a Huffman code Context-based Adaptive Binary Arithmetic Coding; context-adaptive binary arithmetic coding
- CABAC Context-based Adaptive Binary Arithmetic Coding; context-adaptive binary arithmetic coding
- the entropy encoding unit 130 acquires information such as the size and shape of each coded block from the block dividing unit 100, and acquires information related to prediction (for example, information on the prediction mode and motion vector) from the prediction unit 180. It also encodes this information.
- Inverse quantization / inverse conversion unit 140 performs inverse quantization processing and inverse conversion processing in block units.
- the inverse quantization / inverse conversion unit 140 includes an inverse quantization unit 141 and an inverse conversion unit 142.
- the inverse quantization unit 141 performs the inverse quantization process corresponding to the quantization process performed by the quantization unit 122. Specifically, the inverse quantization unit 141 restores and restores the conversion coefficient by inversely quantizing the conversion coefficient output from the quantization unit 122 using the quantization parameter (Qp) and the quantization matrix. The converted conversion coefficient is output to the inverse conversion unit 142.
- the inverse conversion unit 142 performs an inverse conversion process corresponding to the conversion process performed by the conversion unit 121. For example, when the conversion unit 121 performs the DCT, the inverse conversion unit 142 performs the inverse DCT. The inverse conversion unit 142 performs an inverse conversion process on the conversion coefficient output from the inverse quantization unit 141 to restore the predicted residual, and outputs the restored predicted residual, which is the restored predicted residual, to the synthesis unit 150. To do.
- the synthesis unit 150 synthesizes the restoration prediction residual output from the inverse conversion unit 142 with the prediction block output from the prediction unit 180 in pixel units.
- the synthesizing unit 150 adds each pixel value of the restoration prediction residual and each pixel value of the prediction block to restore (decode) the coded block, and deblocks the decoded image (restoration block) of the restored block unit. Output to 160.
- the deblocking filter 160 performs filter processing on the boundary portion of two blocks (hereinafter, referred to as "target block pair") composed of a restoration block and an adjacent block adjacent to the restoration block, and restores after filtering.
- the block is output to the memory 170.
- the filter processing is a processing for reducing signal deterioration caused by processing in block units, and is a filtering processing for smoothing a signal gap at a boundary portion of a target block pair.
- the deblocking filter 160 is generally configured as a low-pass filter that moderates signal fluctuations.
- the filter control unit 161 controls the deblocking filter 160. Specifically, the filter control unit 161 controls whether or not the target block pair is filtered, and the boundary strength (Bs: Boundary strength) of the deblocking filter 160.
- the boundary strength Bs refers to a parameter for determining whether or not to apply the filtering process and the type of the filtering process.
- the control of whether or not the filtering process is performed can be regarded as the control of whether the boundary strength Bs is 1 or more or zero.
- the filter control unit 161 controls the deblocking filter 160 based on the fluctuation of the pixel value in the region near the boundary of the target block pair, the prediction mode, the quantization parameter, and the motion vector value used for the motion compensation prediction (inter-prediction). To do. The details of the operation of the filter control unit 161 will be described later.
- the memory 170 stores the restoration block output from the deblocking filter 160 as a decoded image in frame units.
- the memory 170 outputs the stored decoded image to the prediction unit 180.
- the prediction unit 180 generates a prediction block corresponding to the coded target block by performing prediction processing in block units, and outputs the generated prediction block to the subtraction unit 110 and the synthesis unit 150.
- the prediction unit 180 has an inter prediction unit 181, an intra prediction unit 182, and a switching unit 183.
- the inter-prediction unit 181 uses the decoded image stored in the memory 170 as a reference image, calculates a motion vector by a method such as block matching, predicts a block to be encoded, and generates an inter-prediction block.
- the inter-prediction block is output to the switching unit 183.
- the inter-prediction unit 181 selects the optimum inter-prediction method from inter-prediction using a plurality of reference images (typically bi-prediction) and inter-prediction using one reference image (one-way prediction). Inter-prediction is performed using the selected inter-prediction method.
- the inter-prediction unit 181 outputs information (motion vector, etc.) related to the inter-prediction to the entropy coding unit 130 and the filter control unit 161.
- the inter-prediction unit 181 has a weighted bi-prediction unit 181a that generates an inter-prediction block by weighted averaging (weighted averaging) two reference images.
- the weighting coefficient used for this weighted average is selected from a plurality of predetermined weighting coefficient sets.
- the weighted twin prediction unit 181a is based on the following equation (1) when one reference image is “P 0 ”, the other reference image is “P 1 ”, and the weighting coefficient is “w”. Generate an inter-prediction block.
- the weighting coefficient "w" is selected from a set consisting of -2, 2, 4, 6, and 10. According to such a weighted twin prediction, the prediction accuracy can be improved as compared with the conventional double prediction in which two reference images are simply averaged to generate an inter prediction block.
- the intra prediction unit 182 selects the optimum intra prediction mode to be applied to the coded target block from the plurality of intra prediction modes, and predicts the coded target block using the selected intra prediction mode.
- the intra prediction unit 182 generates an intra prediction block by referring to the decoded pixel value adjacent to the coded target block among the decoded images stored in the memory 170, and outputs the generated intra prediction block to the switching unit 183. To do. Further, the intra prediction unit 182 outputs information regarding the selected intra prediction mode to the entropy encoding unit 130 and the filter control unit 161.
- the switching unit 183 switches between the inter prediction block output from the inter prediction unit 181 and the intra prediction block output from the intra prediction unit 182, and outputs one of the prediction blocks to the subtraction unit 110 and the synthesis unit 150.
- the coding apparatus 1 performs weighted averaging on a plurality of reference images using weight coefficients selected from a weight coefficient set composed of a plurality of weight coefficients, and performs a weighted averaging on a plurality of reference images to be encoded.
- the weighted bi-prediction unit 181a that generates the prediction block of the above, the conversion / quantization unit 120 that performs conversion processing and quantization processing on the prediction residual that represents the difference between the coded block and the prediction block, and the conversion /
- the inverse quantization / inverse conversion unit 140 that restores the predicted residual by performing the inverse quantization processing and the inverse conversion processing on the conversion coefficient obtained by the quantization unit 120, and the restored predicted residual and the prediction block are combined. It has a compositing unit 150 for restoring the coded target block, and a deblocking filter 160 for performing a filtering process on the boundary portion between the restored coded target block and the adjacent block.
- FIG. 2 is a diagram showing an operation example of the deblocking filter 160 according to the present embodiment.
- the block Q is a restoration block corresponding to the coded block
- the block P is a restoration block adjacent to the block Q.
- the block size that the deblocking filter 160 filters is 8 ⁇ 8 pixels.
- the filter control unit 161 obtains the boundary strength Bs based on, for example, Table 1 below. In the present embodiment, the value of the boundary strength Bs is one of 0, 1, and 2.
- the filter control unit 161 sets the value of Bs to 2 when the intra prediction is applied to at least one of the blocks P and Q.
- the filter control unit 161 satisfies the condition.
- the Bs value is set to 1, and in other cases, the Bs value is set to 0.
- At least one of blocks P and Q contains a significant conversion coefficient (that is, a non-zero conversion coefficient).
- past or future decoded frames can be used as a reference image with reference to the frame to be encoded.
- P0 and Q0 refer to the past decoded frame
- P1 and Q1 may refer to a future decoded frame.
- the Bs value is determined based on the above degree of coincidence and whether the weighting coefficients used to generate Pbi-pred and Qbi-pred match.
- the filter control unit 161 controls the deblocking filter 160 so that the filter processing is not performed when the value of the boundary strength Bs is 0.
- the vertical block boundary shown in FIG. 2 will be described as an example.
- the filter control unit 161 may control the deblocking filter 160 so as to perform the filter processing only when the following equation (1) is satisfied.
- the filter control unit 161 may apply a strong filter when all of the following conditional expressions (2) to (7) are satisfied, and may apply a weak filter in other cases.
- the values of the threshold values ⁇ and t C change according to the average value Qav of the quantization parameters of the adjacent blocks P and Q.
- the filter control unit 161 according to the present embodiment is based on the fact that the weighting coefficient applied to one of the blocks P and Q and the weighting coefficient applied to the other are the same as described in (d) above. Therefore, the deblocking filter 160 is controlled so that the filtering process is not performed. On the other hand, the filter control unit 161 according to the present embodiment performs the deblocking filter 160 so as to perform filter processing based on the difference between the weighting coefficient applied to one of the blocks P and Q and the weighting coefficient applied to the other. To control.
- FIG. 3 is a diagram for explaining a specific example of the operation of the filter control unit 161 according to the present embodiment.
- the two motion vectors used by block P for bi-prediction are P0 and P1.
- the two motion vectors that block Q uses for bi-prediction are Q0 and Q1.
- the reference destinations of P0 and Q0 are the same frame, and the reference destinations of P1 and Q1 are the same frame. Further, the difference between the motion vector values of P0 and Q0 is equal to or less than the threshold value, and the difference between the motion vector values of P1 and Q1 is equal to or less than the threshold value.
- condition (d) above is newly introduced. Therefore, even if none of the above conditions (a) to (c) is satisfied, if the above condition (d) is satisfied, the Bs value can be set to 1, and the result can be determined.
- the blocking filter 160 can be controlled to be filtered.
- FIG. 4 is a diagram showing a configuration of a decoding device 2 according to the present embodiment.
- the decoding device 2 is a device that decodes the decoding target block from the coded stream.
- the decoding device 2 predicts the entropy decoding unit 200, the inverse quantization / inverse conversion unit 210, the synthesis unit 220, the deblocking filter 230, the filter control unit 231 and the memory 240. It has a part 250.
- the entropy decoding unit 200 decodes the coded stream generated by the coding device 1 and decodes various signaling information. Specifically, the entropy decoding unit 200 acquires information related to the prediction applied to the decoding target block (for example, prediction type information, motion vector information), and outputs the acquired information to the prediction unit 250 and the filter control unit 231. To do.
- information related to the prediction applied to the decoding target block for example, prediction type information, motion vector information
- the entropy decoding unit 200 decodes the coded stream, acquires the quantized conversion coefficient, and outputs the acquired conversion coefficient to the inverse quantization / inverse conversion unit 210 (inverse quantization unit 211).
- the inverse quantization / inverse conversion unit 210 performs the inverse quantization process and the inverse conversion process on a block-by-block basis.
- the inverse quantization / inverse conversion unit 210 includes an inverse quantization unit 211 and an inverse conversion unit 212.
- the inverse quantization unit 211 performs the inverse quantization process corresponding to the quantization process performed by the quantization unit 122 of the coding device 1.
- the inverse quantization unit 211 restores the conversion coefficient of the decoding target block by inversely quantizing the quantization conversion coefficient output from the entropy decoding unit 200 using the quantization parameter (Qp) and the quantization matrix. , The restored conversion coefficient is output to the inverse conversion unit 212.
- the inverse conversion unit 212 performs an inverse conversion process corresponding to the conversion process performed by the conversion unit 121 of the coding device 1.
- the inverse conversion unit 212 performs inverse conversion processing on the conversion coefficient output from the inverse quantization unit 211 to restore the predicted residual, and outputs the restored predicted residual (restored predicted residual) to the synthesis unit 220. To do.
- the synthesizing unit 220 restores (decodes) the decoding target block by synthesizing the prediction residual output from the inverse conversion unit 212 and the prediction block output from the prediction unit 250 on a pixel-by-pixel basis, and restores (decodes) the restoration block. Output to the deblocking filter 230.
- the deblocking filter 230 operates in the same manner as the deblocking filter 160 of the coding device 1.
- the deblocking filter 230 performs filter processing on the boundary of the target block pair consisting of the restoration block output from the synthesis unit 220 and the block adjacent to the restoration block, and outputs the restored block after the filtering processing to the memory 240.
- the filter control unit 231 performs the same operation as the filter control unit 161 of the coding device 1 based on the information output from the entropy decoding unit 200.
- the filter control unit 231 selects the boundary strength Bs by the method shown in Table 1, for example, and controls the deblocking filter 230 according to the selected boundary strength Bs.
- the memory 240 stores the restoration block output from the deblocking filter 230 as a decoded image in frame units.
- the memory 240 outputs a frame-by-frame decoded image to the outside of the decoding device 2.
- the prediction unit 250 makes a prediction in block units.
- the prediction unit 250 includes an inter-prediction unit 251, an intra-prediction unit 252, and a switching unit 253.
- the inter-prediction unit 251 predicts the decoding target block by inter-prediction using the decoded image stored in the memory 240 as a reference image.
- the inter-prediction unit 251 generates an inter-prediction block by performing inter-prediction using the motion vector information output from the entropy decoding unit 200, and outputs the generated inter-prediction block to the switching unit 253.
- the inter-prediction unit 251 has a weighted bi-prediction unit 251a that generates an inter-prediction block by weighted averaging (weighted averaging) two reference images.
- the weighted bi-prediction unit 251a generates an inter-prediction block by the above equation (1).
- the intra prediction unit 252 refers to the reference pixel adjacent to the decoding target block among the decoded images stored in the memory 240, and predicts the decoding target block by intra prediction based on the information output from the entropy decoding unit 200. .. Then, the intra prediction unit 252 generates an intra prediction block, and outputs the generated intra prediction block to the switching unit 253.
- the switching unit 253 switches between the inter prediction block output from the inter prediction unit 251 and the intra prediction block output from the intra prediction unit 252, and outputs one of the prediction blocks to the synthesis unit 220.
- the decoding device 2 has an entropy decoding unit 200 that outputs a quantization conversion coefficient corresponding to the block to be decoded by decoding the coded stream, and a conversion unit 200 that outputs the entropy decoding unit 200.
- a plurality of weight coefficients selected from a weight coefficient set consisting of a plurality of weight coefficients and an inverse quantization / inverse conversion unit 210 that performs dequantization processing and deconversion processing on the coefficients to restore the predicted residuals.
- a weighted bi-prediction unit 251a that performs weighted averaging on the reference image to generate a prediction block of the decoding target block, and a synthesis unit that restores the decoding target block by synthesizing the restored prediction residuals and the prediction block. It has 220 and a deblocking filter 230 that performs filtering on the boundary portion between two blocks including the restored block to be decoded and the adjacent block.
- the filter control unit 231 performs the operation as shown in FIG. That is, even if none of the above conditions (a) to (c) is satisfied, the filter control unit 231 sets the Bs value to 1 when the above condition (d) is satisfied. To do. As a result, when the weighting coefficients of the weighted double predictions of the blocks P and Q are different, it is possible to control the deblocking filter 160 to perform the filtering process.
- FIG. 5 is a diagram showing an example of an operation flow of the filter control unit 231 according to the present embodiment.
- step S1 the filter control unit 231 determines whether or not the intra prediction is applied to at least one of the target block pairs composed of the blocks P and Q.
- step S3 the filter control unit 231 sets the target block. Determine if at least one of the pairs contains a non-zero conversion factor.
- step S6 the filter control unit 231 determines whether or not the difference between the motion vectors of the target block pair is equal to or greater than the threshold value. judge.
- a program may be provided that causes a computer to execute each process performed by the coding device 1.
- a program may be provided that causes the computer to execute each process performed by the decoding device 2.
- the program may be recorded on a computer-readable medium.
- Computer-readable media can be used to install programs on a computer.
- the computer-readable medium on which the program is recorded may be a non-transient recording medium.
- the non-transient recording medium is not particularly limited, but may be, for example, a recording medium such as a CD-ROM or a DVD-ROM.
- a circuit that executes each process performed by the coding device 1 may be integrated, and the coding device 1 may be configured by a semiconductor integrated circuit (chipset, SoC).
- a circuit that executes each process performed by the decoding device 2 may be integrated, and the decoding device 2 may be configured by a semiconductor integrated circuit (chipset, SoC).
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
画像を分割して得たブロック単位で符号化を行う符号化装置は、複数の重み係数からなる重み係数セットから選択した重み係数を用いて複数の参照画像に対して重み付き平均を行って、符号化対象ブロックの予測ブロックを生成する重み付き双予測部181aと、隣接する2つのブロックのそれぞれに重み付き双予測部181aが適用した重み係数に基づいてデブロッキングフィルタを制御するフィルタ制御部161とを備える。
Description
本発明は、符号化装置、復号装置、及びプログラムに関する。
HEVC(High Efficiency Video Coding)、及び次世代の符号化方式であるVVC(Versatile Video Coding)では、符号化ループ内フィルタとしてデブロッキングフィルタが採用されている(例えば、非特許文献1参照)。デブロッキングフィルタは、ブロック単位で符号化処理を行うときのブロックの境界部分の歪みを抑制するためのループ内フィルタである。
デブロッキングフィルタを制御するフィルタ制御部は、符号化対象ブロックとその隣接ブロックとからなる2つのブロックのうち少なくとも一方にイントラ予測が適用される場合、当該2つのブロックの境界部分に対するデブロッキングフィルタを適用する。フィルタ制御部は、互いに隣接する2つのブロックいずれにもインター予測が適用される場合、当該2つのブロックのそれぞれの動きベクトルの値及び参照先(参照画像)の一致度に応じて、当該2つのブロックの境界部分にデブロッキングフィルタを適用するか否かを決定する。
一方、VVCでは、BCW(Bi-prediction with CU-level Weight)と呼ばれる重み付き双予測技術が採用される予定である。従来の双予測は単に2つの参照画の平均により予測画像を生成するものであるが、重み付き双予測は2つの参照画像を重み付き平均(加重平均)することで予測画像を生成する。この加重平均に用いる重み係数は、予め規定された複数の重み係数のセットから選択される。
Recommendation ITU-T H.265,(12/2016), "High efficiency video coding", International Telecommunication Union
互いに隣接する2つのブロックいずれにもインター予測が適用される場合において、各ブロックの動きベクトルの値及び参照先の一致度が高くても、次のような問題が生じ得る。具体的には、各ブロックに重み付き双予測が適用されており、且つ各ブロックに適用された重み係数が互いに異なる場合には、ブロック間の不連続性が高くなるため、視覚的な劣化を生じてしまう問題がある。
そこで、本発明は、デブロッキングフィルタを適切に制御することで画質や符号化効率を向上させる符号化装置、復号装置、及びプログラムを提供する。
第1の態様に係る符号化装置は、画像を分割して得たブロック単位で符号化を行う符号化装置であって、複数の重み係数からなる重み係数セットから選択した重み係数を用いて複数の参照画像に対して重み付き平均を行って、符号化対象ブロックの予測ブロックを生成する予測部と、前記符号化対象ブロックと前記予測ブロックとの差を表す予測残差に対して変換処理及び量子化処理を行う変換・量子化部と、前記変換・量子化部により得た変換係数に対して逆量子化処理及び逆変換処理を行って前記予測残差を復元する逆量子化・逆変換部と、前記復元した予測残差と前記予測ブロックとを合成して前記符号化対象ブロックを復元する合成部と、前記復元した符号化対象ブロックと隣接ブロックとからなる2つのブロックの境界部分に対するフィルタ処理を行うデブロッキングフィルタと、前記予測部が前記2つのブロックのそれぞれに適用した前記重み係数に基づいて、前記デブロッキングフィルタを制御するフィルタ制御部とを備えることを要旨とする。
第2の態様に係る復号装置は、画像を分割して得たブロック単位で復号を行う復号装置であって、符号化ストリームを復号することで、復号対象ブロックに対応する量子化変換係数を出力するエントロピー復号部と、前記エントロピー復号部が出力する変換係数に対して逆量子化処理及び逆変換処理を行って予測残差を復元する逆量子化・逆変換部と、複数の重み係数からなる重み係数セットから選択した重み係数を用いて複数の参照画像に対して重み付き平均を行って、前記復号対象ブロックの予測ブロックを生成する予測部と、前記復元した予測残差と前記予測ブロックとを合成して前記復号対象ブロックを復元する合成部と、前記復元した復号対象ブロックと隣接ブロックとからなる2つのブロックの境界部分に対するフィルタ処理を行うデブロッキングフィルタと、前記予測部が前記2つのブロックのそれぞれに適用した前記重み係数に基づいて、前記デブロッキングフィルタを制御するフィルタ制御部とを備えることを要旨とする。
第3の態様に係るプログラムは、コンピュータを第1の態様に係る符号化装置として機能させることを要旨とする。
第4の態様に係るプログラムは、コンピュータを第2の態様に係る復号装置として機能させることを要旨とする。
本発明によれば、デブロッキングフィルタを適切に制御することで画質や符号化効率を向上させる符号化装置、復号装置、及びプログラムを提供できる。
図面を参照して、実施形態に係る符号化装置及び復号装置について説明する。実施形態に係る符号化装置及び復号装置は、MPEGに代表される動画像の符号化及び復号をそれぞれ行う。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。
<符号化装置>
まず、本実施形態に係る符号化装置の構成について説明する。図1は、本実施形態に係る符号化装置1の構成を示す図である。符号化装置1は、画像を分割して得たブロック単位で符号化を行う装置である。
まず、本実施形態に係る符号化装置の構成について説明する。図1は、本実施形態に係る符号化装置1の構成を示す図である。符号化装置1は、画像を分割して得たブロック単位で符号化を行う装置である。
図1に示すように、符号化装置1は、ブロック分割部100と、減算部110と、変換・量子化部120と、エントロピー符号化部130と、逆量子化・逆変換部140と、合成部150と、デブロッキングフィルタ160と、フィルタ制御部161と、メモリ170と、予測部180とを有する。
ブロック分割部100は、動画像を構成するフレーム(或いはピクチャ)単位の入力画像を複数の画像ブロックに分割し、分割により得た画像ブロックを減算部110に出力する。画像ブロックのサイズは、例えば32×32画素、16×16画素、8×8画素、又は4×4画素等である。画像ブロックの形状は正方形に限らず矩形(非正方形)であってもよい。画像ブロックは、符号化装置1が符号化を行う単位(符号化対象ブロック)であり、且つ復号装置が復号を行う単位(復号対象ブロック)である。このような画像ブロックはCU(Coding Unit)と呼ばれることがある。
ブロック分割部100は、輝度信号と色差信号とに対してブロック分割を行う。以下において、ブロック分割の形状が輝度信号と色差信号とで同じである場合について主として説明するが、輝度信号と色差信号とで分割を独立に制御可能であってもよい。輝度ブロック及び色差ブロックを特に区別しないときは単に符号化対象ブロックと呼ぶ。
減算部110は、ブロック分割部100から出力される符号化対象ブロックと、符号化対象ブロックを予測部180が予測して得た予測ブロックとの差分(誤差)を表す予測残差を算出する。減算部110は、ブロックの各画素値から予測ブロックの各画素値を減算することにより予測残差を算出し、算出した予測残差を変換・量子化部120に出力する。
変換・量子化部120は、ブロック単位で変換処理及び量子化処理を行う。変換・量子化部120は、変換部121と、量子化部122とを有する。
変換部121は、減算部110から出力される予測残差に対して変換処理を行って周波数成分ごとの変換係数を算出し、算出した変換係数を量子化部122に出力する。変換処理(変換)とは、画素領域の信号を周波数領域の信号に変換する処理をいい、例えば、離散コサイン変換(DCT)や離散サイン変換(DST)、カルーネンレーブ変換(KLT)、及びそれらを整数化した変換等をいう。
量子化部122は、変換部121から出力される変換係数を量子化パラメータ(Qp)及び量子化行列を用いて量子化し、量子化した変換係数をエントロピー符号化部130及び逆量子化・逆変換部140に出力する。なお、量子化パラメータ(Qp)は、ブロック内の各変換係数に対して共通して適用されるパラメータであって、量子化の粗さを定めるパラメータである。量子化行列は、各変換係数を量子化する際の量子化値を要素として有する行列である。
エントロピー符号化部130は、量子化部122から出力される変換係数に対してエントロピー符号化を行い、データ圧縮を行って符号化ストリーム(ビットストリーム)を生成し、符号化ストリームを符号化装置1の外部に出力する。エントロピー符号化には、ハフマン符号やCABAC(Context-based Adaptive Binary Arithmetic Coding;コンテキスト適応型2値算術符号)等を用いることができる。なお、エントロピー符号化部130は、ブロック分割部100から各符号化対象ブロックのサイズ・形状等の情報を取得し、予測部180から予測に関する情報(例えば、予測モードや動きベクトルの情報)を取得し、これらの情報の符号化も行う。
逆量子化・逆変換部140は、ブロック単位で逆量子化処理及び逆変換処理を行う。逆量子化・逆変換部140は、逆量子化部141と、逆変換部142とを有する。
逆量子化部141は、量子化部122が行う量子化処理に対応する逆量子化処理を行う。具体的には、逆量子化部141は、量子化部122から出力される変換係数を、量子化パラメータ(Qp)及び量子化行列を用いて逆量子化することにより変換係数を復元し、復元した変換係数を逆変換部142に出力する。
逆変換部142は、変換部121が行う変換処理に対応する逆変換処理を行う。例えば、変換部121がDCTを行った場合には、逆変換部142は逆DCTを行う。逆変換部142は、逆量子化部141から出力される変換係数に対して逆変換処理を行って予測残差を復元し、復元した予測残差である復元予測残差を合成部150に出力する。
合成部150は、逆変換部142から出力される復元予測残差を、予測部180から出力される予測ブロックと画素単位で合成する。合成部150は、復元予測残差の各画素値と予測ブロックの各画素値を加算して符号化対象ブロックを復元(復号)し、復元したブロック単位の復号画像(復元ブロック)をデブロッキングフィルタ160に出力する。
デブロッキングフィルタ160は、復元ブロックと当該復元ブロックに隣接する隣接ブロックとからなる2つのブロック(以下、「対象ブロック対」と呼ぶ)の境界部分に対してフィルタ処理を行い、フィルタ処理後の復元ブロックをメモリ170に出力する。フィルタ処理は、ブロック単位の処理に起因する信号劣化を軽減するための処理であって、対象ブロック対の境界部分における信号のギャップを平滑化するフィルタ処理である。デブロッキングフィルタ160は、一般的に信号の変動を緩やかにするローパスフィルタとして構成されている。
フィルタ制御部161は、デブロッキングフィルタ160を制御する。具体的には、フィルタ制御部161は、対象ブロック対に対するフィルタ処理を行うか否か、及びデブロッキングフィルタ160の境界強度(Bs:Boundary strength)を制御する。境界強度Bsとは、フィルタ処理を適用するか否か、及びそのフィルタ処理の種類を決定するためのパラメータをいう。なお、フィルタ処理を行うか否かの制御は、境界強度Bsを1以上とするか又はゼロとするかの制御とみなすことができる。
フィルタ制御部161は、対象ブロック対の境界近傍領域における画素値の変動や、予測モード、量子化パラメータ、動き補償予測(インター予測)に用いる動きベクトルの値に基づいて、デブロッキングフィルタ160を制御する。フィルタ制御部161の動作の詳細については後述する。
メモリ170は、デブロッキングフィルタ160から出力される復元ブロックをフレーム単位で復号画像として蓄積する。メモリ170は、記憶している復号画像を予測部180に出力する。
予測部180は、ブロック単位で予測処理を行うことにより、符号化対象ブロックに対応する予測ブロックを生成し、生成した予測ブロックを減算部110及び合成部150に出力する。予測部180は、インター予測部181と、イントラ予測部182と、切替部183とを有する。
インター予測部181は、メモリ170に記憶された復号画像を参照画像として用いて、ブロックマッチング等の手法により動きベクトルを算出し、符号化対象ブロックを予測してインター予測ブロックを生成し、生成したインター予測ブロックを切替部183に出力する。インター予測部181は、複数の参照画像を用いるインター予測(典型的には、双予測)や、1つの参照画像を用いるインター予測(片方向予測)の中から最適なインター予測方法を選択し、選択したインター予測方法を用いてインター予測を行う。インター予測部181は、インター予測に関する情報(動きベクトル等)をエントロピー符号化部130及びフィルタ制御部161に出力する。
本実施形態において、インター予測部181は、2つの参照画像を重み付き平均(加重平均)することでインター予測ブロックを生成する重み付き双予測部181aを有する。この加重平均に用いる重み係数は、予め規定された複数の重み係数のセットから選択される。具体的には、重み付き双予測部181aは、一方の参照画像を“P0”、他方の参照画像を“P1”、重み係数を“w”としたとき、次の式(1)によりインター予測ブロックを生成する。
ここで、重み係数“w”は、-2,2,4,6,10からなるセットから選択される。このような重み付き双予測によれば、2つの参照画像を単に平均してインター予測ブロックを生成する従来の双予測に比べて予測精度を改善できる。
イントラ予測部182は、複数のイントラ予測モードの中から、符号化対象ブロックに適用する最適なイントラ予測モードを選択し、選択したイントラ予測モードを用いて符号化対象ブロックを予測する。イントラ予測部182は、メモリ170に記憶された復号画像のうち、符号化対象ブロックに隣接する復号済み画素値を参照してイントラ予測ブロックを生成し、生成したイントラ予測ブロックを切替部183に出力する。また、イントラ予測部182は、選択したイントラ予測モードに関する情報をエントロピー符号化部130及びフィルタ制御部161に出力する。
切替部183は、インター予測部181から出力されるインター予測ブロックとイントラ予測部182から出力されるイントラ予測ブロックとを切り替えて、いずれかの予測ブロックを減算部110及び合成部150に出力する。
このように、本実施形態に係る符号化装置1は、複数の重み係数からなる重み係数セットから選択した重み係数を用いて複数の参照画像に対して重み付き平均を行って、符号化対象ブロックの予測ブロックを生成する重み付き双予測部181aと、符号化対象ブロックと予測ブロックとの差を表す予測残差に対して変換処理及び量子化処理を行う変換・量子化部120と、変換・量子化部120により得た変換係数に対して逆量子化処理及び逆変換処理を行って予測残差を復元する逆量子化・逆変換部140と、復元した予測残差と予測ブロックとを合成して符号化対象ブロックを復元する合成部150と、復元した符号化対象ブロックと隣接ブロックとからなる2つのブロックの境界部分に対するフィルタ処理を行うデブロッキングフィルタ160とを有する。
次に、本実施形態に係るデブロッキングフィルタ160及びフィルタ制御部161の動作について説明する。図2は、本実施形態に係るデブロッキングフィルタ160の動作例を示す図である。図2において、ブロックQは、符号化対象ブロックに対応する復元ブロックであり、ブロックPは、このブロックQに隣接する復元ブロックである。
図2に示す例では、デブロッキングフィルタ160がフィルタ処理を行うブロックサイズは8×8画素である。フィルタ制御部161は、例えば下記の表1に基づいて境界強度Bsを求める。本実施形態では、境界強度Bsの値は0,1,2のいずれかとする。
図2及び表1に示すように、フィルタ制御部161は、ブロックP及びQの少なくとも一方にイントラ予測が適用されている場合、Bsの値を2とする。
一方、フィルタ制御部161は、ブロックP及びQの両方に動き補償予測(インター予測)が適用されており、且つ少なくとも以下の(a)乃至(d)の中の1つの条件を満たす場合には、Bs値を1とし、その他の場合には、Bs値を0とする。
(a)ブロックP及びQの少なくとも一方が有意な変換係数(すなわち、非ゼロ変換係数)を含むこと。
(b)ブロックP及びQの動きベクトルの数又は参照画像が異なること。
(c)ブロックP及びQの動きベクトルの差の絶対値が閾値(例えば1画素)以上であること。
(d)ブロックP及びQの重み付き双予測の重み係数が異なること。
なお、本発明における動き補償予測においては、参照画像として符号化対象のフレームを基準として時間的に過去や未来の復号済みのフレームを利用することができる。例えばブロックP及びブロックQが予測画像を生成する双予測で用いる2つの参照画素をそれぞれP0、P1及びQ0及びQ1とする場合には、P0及びQ0が過去の復号済みフレームを参照し、P1及びQ1が未来の復号済みフレームを参照する場合がある。このような場合には、前述のように、双予測によるブロックPの予測ブロック(Pbi-pred)及び双予測によるブロックQの予測ブロック(Qbi-pred)を生成するそれぞれの動きベクトルの値及び参照先の一致度及びPbi-pred及びQbi-predを生成するために用いた重み係数が一致しているかをもとに、Bs値を判定する。
一方、P0及びQ1が過去の復号済みフレームを参照し、P1及びQ0が未来の復号済みフレームを参照する場合や、P1及びQ0が過去の復号済みフレームを、P0及びQ1が未来の復号済みフレームを参照する場合のように、P0及びQ0、P1及びQ1の動きベクトルが指し示す参照先が異なる場合であっても、次の処理を行ってもよい。具体的には、P0及びQ1の動きベクトルの値及び参照先の一致度が高く、かつP1及びQ0の動きベクトルの値及び参照先の一致度が高い場合には、ブロックPの予測画像生成に用いた重み係数とブロックQの予測画像生成に用いた重み係数とが一定の条件を満たしているか否かに応じてBs値を判定してもよい。
例えば、ブロックPの予測画像生成に用いた重み係数Wpが2であり、ブロックQの予測画像生成に用いた重み係数Wqが6であった場合であっても、P1及びQ0の動きベクトルの値及び参照先の一致度が高い場合には、
Wp=8-Wq
を満たす場合には、Bs値を0とする。
Wp=8-Wq
を満たす場合には、Bs値を0とする。
なお、前記重み係数w=-2,2,4,6,10を示す重みフラグをそれぞれ0,1,2,3,4として割り当ててもよい。具体的には、Wpが2である場合には、ブロックPの重みフラグFpは1となる。一方、Wqが6である場合には、ブロックQの重みフラグFqは3となる。このように各ブロックに適用する重み係数を前述のような0から4の重みフラグを用いて表す。このように重み係数を示すフラグを割り当てる場合には、ブロックP及びブロックQに割り当てられたフラグを基にBs値を判定する。
例えばP0及びQ0、P1及びQ1の動きベクトルの値及び参照先の一致度が高い場合であって、それぞれのブロックに適用する重みWp及びWqに対応するフラグFp及びFqの値が同一である場合にはBs値を0とする。一方、P0及びQ1、P1及びQ0の動きベクトルの値及び参照先の一致度が高い場合であって、前記Fp及びFqが
Fp=N-1-Fq
を満たす場合にはBs値を0とする。ただしNは選択可能なフラグの数であり、上記の例では5である。
Fp=N-1-Fq
を満たす場合にはBs値を0とする。ただしNは選択可能なフラグの数であり、上記の例では5である。
フィルタ制御部161は、境界強度Bsの値が0の場合にはフィルタ処理を行わないようデブロッキングフィルタ160を制御する。以下、図2に示す垂直ブロック境界を例に説明する。
フィルタ制御部161は、境界強度Bsの値が1又は2の場合には、次式(1)を満たす場合にのみ、フィルタ処理を行うようデブロッキングフィルタ160を制御してもよい。
なお、フィルタ制御部161は、フィルタ処理を行う場合、以下の条件式(2)~(7)を全て満たす場合に強いフィルタを適用し、それ以外の場合に弱いフィルタを適用してもよい。
但し、閾値β及びtCの値は、隣接するブロックPとブロックQの量子化パラメータの平均値Qavに応じて変わる。
このように、本実施形態に係るフィルタ制御部161は、上記(d)のように、ブロックP及びQのうち一方に適用した重み係数と他方に適用した重み係数とが同じであることに基づいて、フィルタ処理を行わないようにデブロッキングフィルタ160を制御する。一方、本実施形態に係るフィルタ制御部161は、ブロックP及びQのうち一方に適用した重み係数と他方に適用した重み係数とが異なることに基づいて、フィルタ処理を行うようにデブロッキングフィルタ160を制御する。
これにより、互いに隣接する2つのブロックいずれにもインター予測が適用される場合において、各ブロックに重み付き双予測が適用されており、且つ各ブロックに適用された重み係数が互いに異なる場合には、デブロッキングフィルタ160のフィルタ処理を適用することで、ブロック間の不連続性に起因する視覚的な劣化を抑制できる。
次に、本実施形態に係るフィルタ制御部161の動作の具体例について説明する。図3は、本実施形態に係るフィルタ制御部161の動作の具体例を説明するための図である。
図3に示すように、ブロックP及びQに適用した予測がどちらも双予測であるものとする。また、ブロックP及びQのいずれも非ゼロ変換係数を含まないものとする。
ブロックPが双予測に用いる2つの動きベクトルは、P0及びP1である。ブロックQが双予測に用いる2つの動きベクトルは、Q0及びQ1である。P0及びQ0の参照先が同一のフレームであって、かつP1及びQ1の参照先が同一のフレームである。また、P0とQ0の動きベクトルの値の差が閾値以下であり、且つP1とQ1の動きベクトルの値の差が閾値以下である。
このような場合、上記の(a)乃至(c)のいずれの条件も満たされないことになる。しかしながら、ブロックP及びQに重み付き双予測が適用されており、且つ各ブロックに適用された重み係数“w”が異なる場合には、ブロックPとブロックQとの間で不連続性が生じ得る。
本実施形態においては、上記の(d)の条件を新たに導入している。このため、上記の(a)乃至(c)のいずれの条件も満たされない場合であっても、上記の(d)の条件が満たされた場合には、Bs値を1とすることで、デブロッキングフィルタ160のフィルタ処理を行うように制御できる。
<復号装置の構成>
次に、本実施形態に係る復号装置の構成について、上述した符号化装置の構成との相違点を主として説明する。図4は、本実施形態に係る復号装置2の構成を示す図である。復号装置2は、符号化ストリームから復号対象ブロックを復号する装置である。
次に、本実施形態に係る復号装置の構成について、上述した符号化装置の構成との相違点を主として説明する。図4は、本実施形態に係る復号装置2の構成を示す図である。復号装置2は、符号化ストリームから復号対象ブロックを復号する装置である。
図4に示すように、復号装置2は、エントロピー復号部200と、逆量子化・逆変換部210と、合成部220と、デブロッキングフィルタ230と、フィルタ制御部231と、メモリ240と、予測部250とを有する。
エントロピー復号部200は、符号化装置1により生成された符号化ストリームを復号し、各種のシグナリング情報を復号する。具体的には、エントロピー復号部200は、復号対象ブロックに適用された予測に関する情報(例えば、予測種別情報、動きベクトル情報)を取得し、取得した情報を予測部250及びフィルタ制御部231に出力する。
また、エントロピー復号部200は、符号化ストリームを復号し、量子化された変換係数を取得し、取得した変換係数を逆量子化・逆変換部210(逆量子化部211)に出力する。
逆量子化・逆変換部210は、ブロック単位で逆量子化処理及び逆変換処理を行う。逆量子化・逆変換部210は、逆量子化部211と、逆変換部212とを有する。
逆量子化部211は、符号化装置1の量子化部122が行う量子化処理に対応する逆量子化処理を行う。逆量子化部211は、エントロピー復号部200から出力される量子化変換係数を、量子化パラメータ(Qp)及び量子化行列を用いて逆量子化することにより、復号対象ブロックの変換係数を復元し、復元した変換係数を逆変換部212に出力する。
逆変換部212は、符号化装置1の変換部121が行う変換処理に対応する逆変換処理を行う。逆変換部212は、逆量子化部211から出力される変換係数に対して逆変換処理を行って予測残差を復元し、復元した予測残差(復元予測残差)を合成部220に出力する。
合成部220は、逆変換部212から出力される予測残差と、予測部250から出力される予測ブロックとを画素単位で合成することにより、復号対象ブロックを復元(復号)し、復元ブロックをデブロッキングフィルタ230に出力する。
デブロッキングフィルタ230は、符号化装置1のデブロッキングフィルタ160と同様な動作を行う。デブロッキングフィルタ230は、合成部220から出力される復元ブロックと当該復元ブロックに隣接するブロックとからなる対象ブロック対の境界に対するフィルタ処理を行い、フィルタ処理後の復元ブロックをメモリ240に出力する。
フィルタ制御部231は、エントロピー復号部200から出力される情報に基づいて、符号化装置1のフィルタ制御部161と同様な動作を行う。フィルタ制御部231は、例えば表1に示した方法で境界強度Bsを選択し、選択した境界強度Bsに応じてデブロッキングフィルタ230を制御する。
メモリ240は、デブロッキングフィルタ230から出力される復元ブロックをフレーム単位で復号画像として記憶する。メモリ240は、フレーム単位の復号画像を復号装置2の外部に出力する。
予測部250は、ブロック単位で予測を行う。予測部250は、インター予測部251と、イントラ予測部252と、切替部253とを有する。
インター予測部251は、メモリ240に記憶された復号画像を参照画像として用いて、復号対象ブロックをインター予測により予測する。インター予測部251は、エントロピー復号部200から出力される動きベクトル情報を用いてインター予測を行うことによりインター予測ブロックを生成し、生成したインター予測ブロックを切替部253に出力する。
本実施形態において、インター予測部251は、2つの参照画像を重み付き平均(加重平均)することでインター予測ブロックを生成する重み付き双予測部251aを有する。重み付き双予測部251aは、上記の式(1)によりインター予測ブロックを生成する。
イントラ予測部252は、メモリ240に記憶された復号画像のうち復号対象ブロックに隣接する参照画素を参照し、エントロピー復号部200から出力される情報に基づいて、復号対象ブロックをイントラ予測により予測する。そして、イントラ予測部252は、イントラ予測ブロックを生成し、生成したイントラ予測ブロックを切替部253に出力する。
切替部253は、インター予測部251から出力されるインター予測ブロックとイントラ予測部252から出力されるイントラ予測ブロックとを切り替えて、いずれかの予測ブロックを合成部220に出力する。
このように、本実施形態に係る復号装置2は、符号化ストリームを復号することで、復号対象ブロックに対応する量子化変換係数を出力するエントロピー復号部200と、エントロピー復号部200が出力する変換係数に対して逆量子化処理及び逆変換処理を行って予測残差を復元する逆量子化・逆変換部210と、複数の重み係数からなる重み係数セットから選択した重み係数を用いて複数の参照画像に対して重み付き平均を行って、復号対象ブロックの予測ブロックを生成する重み付き双予測部251aと、復元した予測残差と予測ブロックとを合成して復号対象ブロックを復元する合成部220と、復元した復号対象ブロックと隣接ブロックとからなる2つのブロックの境界部分に対するフィルタ処理を行うデブロッキングフィルタ230とを有する。
ここで、フィルタ制御部231は、図3に示したような動作を行う。すなわち、フィルタ制御部231は、上記の(a)乃至(c)のいずれの条件も満たされない場合であっても、上記の(d)の条件が満たされた場合には、Bs値を1とする。これにより、ブロックP及びQの重み付き双予測の重み係数が異なる場合には、デブロッキングフィルタ160のフィルタ処理を行うように制御できる。
<フィルタ制御部の動作例>
次に、本実施形態に係るフィルタ制御部161及びフィルタ制御部231の動作例について説明する。フィルタ制御部161及びフィルタ制御部231は同じ動作を行うため、ここではフィルタ制御部231を例に挙げて説明する。図5は、本実施形態に係るフィルタ制御部231の動作フロー例を示す図である。
次に、本実施形態に係るフィルタ制御部161及びフィルタ制御部231の動作例について説明する。フィルタ制御部161及びフィルタ制御部231は同じ動作を行うため、ここではフィルタ制御部231を例に挙げて説明する。図5は、本実施形態に係るフィルタ制御部231の動作フロー例を示す図である。
図5に示すように、ステップS1において、フィルタ制御部231は、ブロックP及びQからなる対象ブロック対の少なくとも一方にイントラ予測が適用されているか否かを判定する。対象ブロック対の少なくとも一方にイントラ予測が適用されている場合(ステップS1:YES)、ステップS2において、フィルタ制御部231は、フィルタ処理を行うようデブロッキングフィルタ230を制御する。具体的には、フィルタ制御部231は、境界強度Bs=2を選択する。
対象ブロック対のいずれもイントラ予測が適用されていない場合(ステップS1:NO)、すなわち、対象ブロック対の両方にインター予測が適用されている場合、ステップS3において、フィルタ制御部231は、対象ブロック対の少なくとも一方に非ゼロ変換係数が含まれるか否かを判定する。対象ブロック対の少なくとも一方に非ゼロ変換係数が含まれる場合(ステップS3:YES)、ステップS4において、フィルタ制御部231は、フィルタ処理を行うようデブロッキングフィルタ230を制御する。具体的には、フィルタ制御部231は、境界強度Bs=1を選択する。
対象ブロック対のいずれにも非ゼロ変換係数が含まれていない場合(ステップS3:NO)、すなわち、予測ブロックをそのまま復元ブロックとする場合、ステップS5において、フィルタ制御部231は、対象ブロック対の動きベクトルの数及び参照画像(参照先フレーム)が異なるか否かを判定する。対象ブロック対の動きベクトルの数及び参照画像が異なる場合(ステップS5:YES)、ステップS4において、フィルタ制御部231は、フィルタ処理を行うようデブロッキングフィルタ230を制御する。具体的には、フィルタ制御部231は、境界強度Bs=1を選択する。
対象ブロック対の動きベクトルの数及び参照画像が同じである場合(ステップS5:NO)、ステップS6において、フィルタ制御部231は、対象ブロック対の動きベクトルの差が閾値以上であるか否かを判定する。対象ブロック対の動きベクトルの差が閾値以上である場合(ステップS6:YES)、ステップS4において、フィルタ制御部231は、フィルタ処理を行うようデブロッキングフィルタ230を制御する。具体的には、フィルタ制御部231は、境界強度Bs=1を選択する。
対象ブロック対の動きベクトルの差が閾値未満である場合(ステップS6:NO)、例えば、対象ブロック対の動きベクトルの値が同じである場合、ステップS7において、フィルタ制御部231は、対象ブロック対の重み付き双予測の重み係数“w”が異なるか否かを判定する。対象ブロック対の重み付き双予測の重み係数“w”が異なる場合(ステップS7:YES)、ステップS4において、フィルタ制御部231は、フィルタ処理を行うようデブロッキングフィルタ230を制御する。具体的には、フィルタ制御部231は、境界強度Bs=1を選択する。
一方、対象ブロック対の重み付き双予測の重み係数“w”が同じである場合(ステップS7:NO)、ステップS8において、フィルタ制御部231は、フィルタ処理を行わないようにデブロッキングフィルタ230を制御する。具体的には、フィルタ制御部231は、境界強度Bs=0を選択する。
<その他の実施形態>
符号化装置1が行う各処理をコンピュータに実行させるプログラムが提供されてもよい。復号装置2が行う各処理をコンピュータに実行させるプログラムが提供されてもよい。プログラムは、コンピュータ読取り可能媒体に記録されていてもよい。コンピュータ読取り可能媒体を用いれば、コンピュータにプログラムをインストールすることが可能である。ここで、プログラムが記録されたコンピュータ読取り可能媒体は、非一過性の記録媒体であってもよい。非一過性の記録媒体は、特に限定されるものではないが、例えば、CD-ROMやDVD-ROM等の記録媒体であってもよい。
符号化装置1が行う各処理をコンピュータに実行させるプログラムが提供されてもよい。復号装置2が行う各処理をコンピュータに実行させるプログラムが提供されてもよい。プログラムは、コンピュータ読取り可能媒体に記録されていてもよい。コンピュータ読取り可能媒体を用いれば、コンピュータにプログラムをインストールすることが可能である。ここで、プログラムが記録されたコンピュータ読取り可能媒体は、非一過性の記録媒体であってもよい。非一過性の記録媒体は、特に限定されるものではないが、例えば、CD-ROMやDVD-ROM等の記録媒体であってもよい。
符号化装置1が行う各処理を実行する回路を集積化し、符号化装置1を半導体集積回路(チップセット、SoC)により構成してもよい。復号装置2が行う各処理を実行する回路を集積化し、復号装置2を半導体集積回路(チップセット、SoC)により構成してもよい。
以上、図面を参照して実施形態について詳しく説明したが、具体的な構成は上述のものに限られることはなく、要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
なお、本願は日本国特許出願第2019-157240号(2019年8月29日出願)の優先権を主張し、その内容のすべてが参照により本願明細書に組み込まれている。
Claims (8)
- 画像を分割して得たブロック単位で符号化を行う符号化装置であって、
複数の重み係数からなる重み係数セットから選択した重み係数を用いて複数の参照画像に対して重み付き平均を行って、符号化対象ブロックの予測ブロックを生成する予測部と、
前記符号化対象ブロックと前記予測ブロックとの差を表す予測残差に対して変換処理及び量子化処理を行う変換・量子化部と、
前記変換・量子化部により得た変換係数に対して逆量子化処理及び逆変換処理を行って前記予測残差を復元する逆量子化・逆変換部と、
前記復元した予測残差と前記予測ブロックとを合成して前記符号化対象ブロックを復元する合成部と、
前記復元した符号化対象ブロックと隣接ブロックとからなる2つのブロックの境界部分に対するフィルタ処理を行うデブロッキングフィルタと、
前記予測部が前記2つのブロックのそれぞれに適用した前記重み係数に基づいて、前記デブロッキングフィルタを制御するフィルタ制御部と、を備えることを特徴とする符号化装置。 - 前記フィルタ制御部は、前記2つのブロックの一方に適用した前記重み係数と前記2つのブロックの他方に適用した前記重み係数とが同じであるか否かに基づいて、前記デブロッキングフィルタを制御することを特徴とする請求項1に記載の符号化装置。
- 前記フィルタ制御部は、
前記2つのブロックの一方に適用した前記重み係数と前記2つのブロックの他方に適用した前記重み係数とが同じであることに基づいて、前記フィルタ処理を行わないように前記デブロッキングフィルタを制御し、
前記2つのブロックの一方に適用した前記重み係数と前記2つのブロックの他方に適用した前記重み係数とが異なることに基づいて、前記フィルタ処理を行うように前記デブロッキングフィルタを制御することを特徴とする請求項2に記載の符号化装置。 - 画像を分割して得たブロック単位で復号を行う復号装置であって、
符号化ストリームを復号することで、復号対象ブロックに対応する量子化変換係数を出力するエントロピー復号部と、
前記エントロピー復号部が出力する変換係数に対して逆量子化処理及び逆変換処理を行って予測残差を復元する逆量子化・逆変換部と、
複数の重み係数からなる重み係数セットから選択した重み係数を用いて複数の参照画像に対して重み付き平均を行って、前記復号対象ブロックの予測ブロックを生成する予測部と、
前記復元した予測残差と前記予測ブロックとを合成して前記復号対象ブロックを復元する合成部と、
前記復元した復号対象ブロックと隣接ブロックとからなる2つのブロックの境界部分に対するフィルタ処理を行うデブロッキングフィルタと、
前記予測部が前記2つのブロックのそれぞれに適用した前記重み係数に基づいて、前記デブロッキングフィルタを制御するフィルタ制御部と、を備えることを特徴とする復号装置。 - 前記フィルタ制御部は、前記2つのブロックのいずれか一方に適用した前記重み係数と前記2つのブロックの他方に適用した前記重み係数とが同じであるか否かに基づいて、前記デブロッキングフィルタを制御することを特徴とする請求項4に記載の復号装置。
- 前記フィルタ制御部は、
前記2つのブロックのいずれか一方に適用した前記重み係数と前記2つのブロックの他方に適用した前記重み係数とが同じであることに基づいて、前記フィルタ処理を行わないように前記デブロッキングフィルタを制御し、
前記2つのブロックのいずれか一方に適用した前記重み係数と前記2つのブロックの他方に適用した前記重み係数とが異なることに基づいて、前記フィルタ処理を行うように前記デブロッキングフィルタを制御することを特徴とする請求項5に記載の復号装置。 - コンピュータを請求項1に記載の符号化装置として機能させることを特徴とするプログラム。
- コンピュータを請求項4に記載の復号装置として機能させることを特徴とするプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202080060957.9A CN114342383B (zh) | 2019-08-29 | 2020-08-28 | 编码装置、解码装置及程序 |
JP2021543092A JP7483725B2 (ja) | 2019-08-29 | 2020-08-28 | 符号化装置、復号装置、及びプログラム |
US17/680,945 US20220182621A1 (en) | 2019-08-29 | 2022-02-25 | Encoding device, decoding device and program |
JP2024074538A JP2024087085A (ja) | 2019-08-29 | 2024-05-01 | 符号化装置、復号装置、及びプログラム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019-157240 | 2019-08-29 | ||
JP2019157240 | 2019-08-29 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/680,945 Continuation US20220182621A1 (en) | 2019-08-29 | 2022-02-25 | Encoding device, decoding device and program |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021040036A1 true WO2021040036A1 (ja) | 2021-03-04 |
Family
ID=74683507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/032782 WO2021040036A1 (ja) | 2019-08-29 | 2020-08-28 | 符号化装置、復号装置、及びプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220182621A1 (ja) |
JP (2) | JP7483725B2 (ja) |
CN (1) | CN114342383B (ja) |
WO (1) | WO2021040036A1 (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018123444A1 (ja) * | 2016-12-28 | 2018-07-05 | ソニー株式会社 | 画像処理装置及び画像処理方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008193627A (ja) * | 2007-01-12 | 2008-08-21 | Mitsubishi Electric Corp | 画像符号化装置、画像復号装置、および画像符号化方法、画像復号方法 |
WO2011089865A1 (ja) * | 2010-01-21 | 2011-07-28 | パナソニック株式会社 | 画像符号化方法、画像復号方法、それらの装置、プログラムおよび集積回路 |
JP6115968B2 (ja) * | 2015-08-04 | 2017-04-19 | 日本電信電話株式会社 | 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム及び画像復号プログラム |
CN113596443A (zh) * | 2015-08-20 | 2021-11-02 | 日本放送协会 | 图像编码装置 |
EP3547685A4 (en) * | 2016-11-28 | 2020-08-05 | Nippon Hoso Kyokai | CODING DEVICE, DECODING DEVICE, CODING METHODS, AND DECODING METHODS |
CN117041559A (zh) * | 2016-12-07 | 2023-11-10 | 株式会社Kt | 对视频进行解码或编码的方法和存储视频数据的设备 |
CN114157865B (zh) * | 2016-12-27 | 2023-10-20 | 松下电器(美国)知识产权公司 | 编码装置、解码装置及非暂时性的存储介质 |
-
2020
- 2020-08-28 WO PCT/JP2020/032782 patent/WO2021040036A1/ja active Application Filing
- 2020-08-28 JP JP2021543092A patent/JP7483725B2/ja active Active
- 2020-08-28 CN CN202080060957.9A patent/CN114342383B/zh active Active
-
2022
- 2022-02-25 US US17/680,945 patent/US20220182621A1/en active Pending
-
2024
- 2024-05-01 JP JP2024074538A patent/JP2024087085A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018123444A1 (ja) * | 2016-12-28 | 2018-07-05 | ソニー株式会社 | 画像処理装置及び画像処理方法 |
Non-Patent Citations (5)
Title |
---|
ANAND MEHER KOTRA ET AL.: "AHG18/Non-CE5: Boundary strength fix for coding units using BCW", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, 16TH MEETING, no. JVET-P0109-v2, 4 October 2019 (2019-10-04), pages 1 - 6, XP030216266 * |
C HIA-MING TSAI ET AL.: "CE5-related: Deblocking considering prediction weights in BCW and TPM", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, 16TH MEETING, no. JVET-P0161-v2, 1 October 2019 (2019-10-01), Geneva, CH, pages 1 - 6, XP030216424 * |
SHUNSUKE IWAMURA ET AL.: "[AHG18][Non-CE5] Proposed cleanup of deblocking filter process", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/ IEC JTC 1/SC 29/WG 11, 16TH MEETING, no. JVET-P0586-v2, 2 October 2019 (2019-10-02), Geneva, CH, pages 1 - 12, XP030217778 * |
SHUNSUKE IWAMURA ET AL.: "Non-CE5: Boundary strength derivation of deblocking filter for transform-skipped block", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, 15TH MEETING, no. JVET-O0656, 26 June 2019 (2019-06-26), Gothenburg, SE, pages 1 - 6, XP030220181 * |
XUEWEI MENG ET AL.: "AHG18 / non-CE5: Deblocking for TPM and BCW", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, 16TH MEETING, no. JVET- P0269-v2, 3 October 2019 (2019-10-03), Geneva, CH, pages 1 - 7, XP030216761 * |
Also Published As
Publication number | Publication date |
---|---|
JPWO2021040036A1 (ja) | 2021-03-04 |
CN114342383A (zh) | 2022-04-12 |
JP2024087085A (ja) | 2024-06-28 |
US20220182621A1 (en) | 2022-06-09 |
CN114342383B (zh) | 2024-05-03 |
JP7483725B2 (ja) | 2024-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11895295B2 (en) | Encoder-side decisions for sample adaptive offset filtering | |
US20190098310A1 (en) | Adaptive skip or zero block detection combined with transform size decision | |
US20180288415A1 (en) | Robust encoding/decoding of escape-coded pixels in palette mode | |
US20210368188A1 (en) | Moving picture decoding device, moving picture decoding method, and program | |
US20230239514A1 (en) | Encoding device, decoding device and program | |
US11991356B2 (en) | Deblocking filter control device and program | |
US12015773B2 (en) | Image encoding apparatus, image encoding method, image decoding apparatus, image decoding method, and non-transitory computer-readable storage medium | |
WO2021040036A1 (ja) | 符号化装置、復号装置、及びプログラム | |
WO2021040037A1 (ja) | 符号化装置、復号装置、及びプログラム | |
JP2021129148A (ja) | 予測装置、符号化装置、復号装置、及びプログラム | |
WO2021045059A1 (ja) | 符号化装置、復号装置、及びプログラム | |
JP7505869B2 (ja) | 符号化装置、復号装置、及びプログラム | |
WO2021251398A1 (ja) | デブロッキングフィルタ装置、復号装置、及びプログラム | |
JP7449690B2 (ja) | インター予測装置、画像符号化装置、画像復号装置、及びプログラム | |
JP7444599B2 (ja) | イントラ予測装置、画像符号化装置、画像復号装置、及びプログラム | |
WO2021251400A1 (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: 20856873 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2021543092 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: 20856873 Country of ref document: EP Kind code of ref document: A1 |