Deblocking filter control device and program products
By introducing a bit-depth-dependent offset value ofs in the deblocking filtering process and adjusting the transform parameter value tC, the image degradation problem caused by bit-depth mismatch in HEVC and VVC is solved, appropriate filtering intensity control is achieved, and image quality is improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-04-01
- Publication Date
- 2026-04-03
AI Technical Summary
In the prior art, the deblocking filtering of HEVC and VVC has inappropriate transformation processing in image signal processing at different bit depths, which leads to image degradation. In particular, when the input image bit depth is 9 bits, the transformation formula in Non-Patent Document 1 cannot work correctly.
By importing the offset value ofs adjusted according to the input bit depth, a new transformation formula is used to calculate the transformation parameter value tC, ensuring the appropriateness of the deblocking filtering process. This includes adjusting the parameter value through bit shifting operations when the input bit depth is less than the specified bit depth, ensuring appropriate control of the filtering strength.
It effectively solves the image degradation problem when the input bit depth is 9 bits, and realizes the appropriate control of deblocking filtering based on bit depth, thereby improving image quality.
Smart Images

Figure CN116132669B_ABST
Abstract
Description
[0001] This application is a divisional application of the invention patent application filed on April 1, 2021, with application number 202180005434.9 and title "Deblocking Filtering Control Device and Program". Technical Field
[0002] This invention relates to a deblocking filter control device and program. Background Technology
[0003] In image coding methods, since the original image is divided into blocks and prediction, transformation, and quantization are applied to the resulting blocks, block distortion can occur in the decoded image. Therefore, in standard schemes such as HEVC (High Efficiency Video Coding) and / or VVC (Versatile Video Coding) described in Non-Patent Document 1 (hereinafter VVC), deblocking filtering is used to reduce block distortion by performing loop filtering on the decoded image.
[0004] In HEVC and / or VVC, deblocking filtering is applied to the boundaries of each transform block (transform block) based on the pixel values in the region near the boundaries of the decoded image before deblocking filtering, as well as the quantization parameters applied to transform blocks that cross boundaries. There exists a "t" C "This is one of the parameter values that controls the filtering strength in such deblocking filtering processes."
[0005] In HEVC, since the image signal with a bit depth of 8 bits is used as the target of the main encoding, the t value corresponding to the specified quantization parameter QP in HEVC is... C The table stores the values corresponding to the image signal with a bit depth of 8 bits. On the other hand, in VVC, since the image signal with a bit depth of 10 bits is the target of the main encoding, in t C The table specifies the values corresponding to a 10-bit image signal.
[0006] As mentioned above, in VVC, for deblocking filtering, since t is defined as the value corresponding to the 10-bit image signal... C Therefore, when the bit depth of the image being encoded is not 10 bits, t is implemented based on the bit depth of the input image. C The transformation process is described in Non-Patent Document 1, which describes a transformation process using bit shift and offset as shown in the following formula.
[0007] t C=BitDepth < 10? (t) C '+2)>>(10-BitDepth): t C '×(1<<(BitDepth-10))
[0008] Where, "BitDepth" is the bit depth of the input image, "t" is the bit depth of the input image. C '” represents t before transformation C ">>" represents a right shift operation, and "<<" represents a left shift operation. This transformation means that when the bit depth of the input image is less than 10 bits, by...
[0009] t C = (t) C '+2)>>(10-BitDepth)
[0010] Calculate the transformed t C When the bit depth of the input image is 10 bits or more, by
[0011] t C =t C '×(1<<(BitDepth-10))
[0012] Calculate the transformed t C .
[0013] Existing technical documents
[0014] Non-patent literature
[0015] Non-patent document 1: JVET-Q2001 "Versatile Video Coding (Draft 8)" Summary of the Invention
[0016] The deblocking filter control device of the first embodiment is characterized in that: in an encoding device for encoding an image signal or a decoding device for decoding an encoded image signal, the deblocking filter control device controls deblocking filtering processing for a decoded image. The deblocking filter control device includes: a parameter derivation unit that derives parameter values for controlling the filtering intensity in the deblocking filtering process; and a parameter transformation unit that outputs transformation parameter values by transforming the parameter values based on an input bit depth. The input bit depth is the bit depth of the image signal. When the input bit depth is less than a predetermined bit depth, the parameter transformation unit outputs the transformation parameter values by shifting the result of adding an offset value to the parameter value by bits. The offset value is changed based on the input bit depth.
[0017] The second method of the program aims to enable the computer to function as the deblocking and filtering control device of the first method. Attached Figure Description
[0018] Figure 1 This is a diagram showing the configuration of the encoding device according to an embodiment.
[0019] Figure 2 A diagram illustrating an operational example of the deblocking filter according to an embodiment.
[0020] Figure 3 This is a diagram illustrating the operation of the parameter transformation unit in the embodiment.
[0021] Figure 4 This is a diagram showing the configuration of the decoding device according to an embodiment. Detailed Implementation
[0022] The inventors of this application conducted dedicated research and discovered a problem: the transformation formula described in Non-Patent Document 1 cannot function correctly under specified conditions. In particular, the transformation formula described in Non-Patent Document 1 cannot perform appropriate transformation processing when the bit depth of the input image is 9 bits, thus causing the following problem: pixel value correction due to unexpected deblocking filtering processing, resulting in image degradation.
[0023] Therefore, the purpose of this disclosure is to enable appropriate control of the deblocking filtering process based on the bit depth of the input image.
[0024] The encoding and decoding apparatus of the embodiment will be described with reference to the accompanying drawings. The encoding and decoding apparatus of the embodiment respectively encode and decode moving images represented by MPEG (Moving Picture Experts Group). In the following description of the drawings, the same or similar reference numerals are used for the same or similar parts.
[0025] <Encoding device>
[0026] First, the configuration of the encoding device in this embodiment will be explained. Figure 1 This diagram illustrates the configuration of the encoding apparatus 1 according to this embodiment. The encoding apparatus 1 is a device for encoding block units obtained by segmenting an image.
[0027] like Figure 1 As shown, the encoding device 1 includes a block segmentation unit 100, a subtraction unit 110, a transform quantization unit 120, an entropy encoding unit 130, an inverse quantization and inverse transform unit 140, a synthesis unit 150, a deblocking filter 160, a deblocking filter control device 161, a memory 170, and a prediction unit 180.
[0028] The block segmentation unit 100 segments the input image, which constitutes a frame (or image) unit of a moving image, into multiple image blocks, and outputs the segmented image blocks to the subtraction unit 110. The size of the image blocks is, for example, 32×32 pixels, 16×16 pixels, 8×8 pixels, or 4×4 pixels. The shape of the image block is not limited to a square; it can also be rectangular (non-square). The image block is a unit (encoding target block) encoded by the encoding device 1 and a unit (decoding target block) decoded by the decoding device. Such an image block is called a CU (Coding Unit).
[0029] The bit depth (hereinafter referred to as "input bit depth") of the image signal input to the block segmentation unit 100 is basically set to 10 bits. However, the input bit depth can be changed in the range of 8 bits to 14 bits. The value (number of bits) representing the input bit depth can be output from the block segmentation unit 100 to the deblocking filter control device 161, or it can be output from the functional section (so-called preprocessing section) of the front end of the block segmentation unit 100 to the deblocking filter control device 161.
[0030] The block segmentation unit 100 performs block segmentation on the luminance signal and the chrominance signal. When there is no special distinction between luminance blocks and chrominance blocks, they are simply referred to as encoding object blocks.
[0031] The subtraction unit 110 calculates the prediction residual, which represents the difference (error) between the encoded target block output from the block segmentation unit 100 and the prediction block obtained by the prediction unit 180 predicting the encoded target block. The subtraction unit 110 calculates the prediction residual by subtracting the pixel values of the prediction block from the pixel values of the block, and outputs the calculated prediction residual to the transform quantization unit 120.
[0032] The transformation and quantization unit 120 performs transformation and quantization processing on a block-by-block basis. The transformation and quantization unit 120 includes a transformation unit 121 and a quantization unit 122.
[0033] The transformation unit 121 performs transformation processing on the prediction residual output from the subtraction unit 110, calculates the transformation coefficients for each frequency component, and the vectorization unit 122 outputs the calculated transformation coefficients. Transformation processing (transformation) refers to the process of transforming a pixel-domain signal into a frequency-domain signal (e.g., Discrete Cosine Transform (DCT), Discrete Sine Transform (DST), Cartesian Transform (KLT)) and integerization of these signals. Alternatively, transformation processing may include skipping transformations that adjust the signal by scaling or other means without transforming the pixel-domain signal into a frequency-domain signal.
[0034] The quantization unit 122 quantizes the transform coefficients output from the transform unit 121 using quantization parameters and a quantization matrix, and outputs the quantized transform coefficients to the entropy encoding unit 130 and the inverse quantization and inverse transform unit 140. Additionally, the quantization unit 122 outputs information related to the quantization process (specifically, information about the quantization parameters and quantization matrix used in the quantization process) to the entropy encoding unit 130, the inverse quantization unit 141, and the deblocking filter control device 161.
[0035] Here, the quantization parameter is a parameter that sets a value for a block. Specifically, the quantization parameter is a parameter that is applied collectively to each transform coefficient within the block and determines the quantization roughness (step size). The quantization matrix is a matrix composed of values set for each component within a block. Specifically, the quantization matrix is a matrix composed of values (weighting coefficients) set for each component with i×j elements according to the block size, used to adjust the quantization roughness for each component of the transform coefficients from low frequency to high frequency.
[0036] The entropy coding unit 130 entropy codes the transform coefficients output from the quantization unit 122, compresses the data, generates a coded stream (bit stream), and outputs the coded stream to the outside of the coding device 1. Huffman coding and / or CABAC (Context-based Adaptive Binary Arithmetic Coding) can be used for entropy coding.
[0037] In addition, the entropy coding unit 130 obtains the size of each coding target block from the block segmentation unit 100. Information such as shape and bit depth is obtained from the quantization unit 122 for quantization processing, and information related to prediction (e.g., prediction mode, motion vector information) is obtained from the prediction unit 180, and this information is also encoded.
[0038] The inverse quantization and inverse transformation unit 140 performs inverse quantization and inverse transformation processing on a block-by-block basis. The inverse quantization and inverse transformation unit 140 includes an inverse quantization unit 141 and an inverse transformation unit 142.
[0039] The inverse quantization unit 141 performs inverse quantization processing corresponding to the quantization processing performed by the quantization unit 122. Specifically, the inverse quantization unit 141 uses quantization parameters and a quantization matrix to inverse quantize the transform coefficients output from the quantization unit 122, thereby restoring the transform coefficients and outputting the restored transform coefficients to the inverse transform unit 142.
[0040] The inverse transform unit 142 performs the inverse transform process corresponding to the transform process performed by the transform unit 121. For example, if the transform unit 121 performs DCT, the inverse transform unit 142 performs inverse DCT. The inverse transform unit 142 performs the inverse transform process on the transform coefficients output from the inverse quantization unit 141, restores the prediction residual, and outputs the restored prediction residual, i.e., the restored prediction residual, to the synthesis unit 150.
[0041] The compositing unit 150 combines the restored prediction residual output from the inverse transform unit 142 with the prediction block output from the prediction unit 180 in pixel units. The compositing unit 150 adds each pixel value of the restored prediction residual to each pixel value of the prediction block, restores (decodes) the encoded target block, and outputs the restored block-unit decoded image (restored block) to the deblocking filter 160.
[0042] The deblocking filter 160 performs filtering on the block boundary between two blocks, which consist of the restored block and adjacent blocks, and outputs the filtered restored block to the memory 170. The filtering process is used to mitigate signal degradation caused by block-level processing; it smooths out signal gaps at the block boundary between adjacent blocks. The deblocking filter 160 is typically configured as a low-pass filter to minimize signal fluctuations.
[0043] Figure 2 This is a diagram illustrating an operational example of the deblocking filter 160 of this embodiment. Figure 2 The example shown illustrates how the deblocking filter 160 filters the block boundaries of each 8×8 pixel block, but it could also filter the block boundaries of each 4×4 pixel block. Furthermore, the deblocking filter 160 filters in units of 4 rows or 4 columns. Figure 2 The blocks P and Q shown are examples of a unit of filtering by the deblocking filter 160, with a block size of 4×4 pixels. Blocks P and Q can be referred to as sub-blocks.
[0044] The deblocking filter control device 161 controls the deblocking filter 160. Specifically, the deblocking filter control device 161 controls the boundary strength (Bs) indicating whether filtering processing is performed on the block boundaries of the target block pair, as well as the filtering strength of the deblocking filter 160. The boundary strength Bs refers to the parameter used to determine whether filtering processing is applied and the type of filtering processing. Furthermore, the control of whether filtering processing is performed can be considered as setting the boundary strength Bs to 1 or higher, or to zero.
[0045] The deblocking filter control device 161 controls the deblocking filter 160 based on the changes in pixel values in the region near the boundary of the object block pair, the prediction mode, the quantization parameters, and the values of the motion vectors used for motion compensation prediction (inter-frame prediction).
[0046] Furthermore, the deblocking filter control device 161 of this embodiment controls the filtering strength of the deblocking filter 160 based on the input bit depth and the quantization parameters used in the quantization and inverse quantization processes. Hereinafter, the encoded target block or its sub-blocks are designated as block P, and adjacent blocks or their sub-blocks are designated as block Q.
[0047] The deblocking filter control device 161 determines the boundary strength Bs, for example, based on Table 1 below. The value of the boundary strength Bs can be any one of 0, 1, or 2. Alternatively, the boundary strength of the blocks for the luminance signal and the chrominance signal can be calculated separately, or the combination of the boundary strengths of the blocks for the luminance signal and the chrominance signal can be used as a single boundary strength for judgment.
[0048] [Table 1]
[0049]
[0050] As shown in Table 1, when intra-frame prediction is applied to at least one of blocks P and Q, the deblocking filter control device 161 sets the value of Bs to 2.
[0051] On the other hand, if inter-frame prediction is applied to both blocks P and Q and at least one of the following conditions (a) to (c) is met, the deblocking filter control device 161 sets the Bs value to 1; otherwise, it sets the Bs value to 0.
[0052] (a) At least one of blocks P and Q contains meaningful transformation coefficients (i.e., non-zero transformation coefficients).
[0053] (b) The values of the motion vectors of blocks P and Q are different from the reference images.
[0054] (c) The absolute value of the difference between the motion vectors of blocks P and Q is above a threshold (e.g., 1 pixel).
[0055] When the boundary strength Bs is 0, the deblocking filter control device 161 controls the deblocking filter 160 not to perform filtering processing on the boundaries of blocks P and Q.
[0056] The deblocking filter control device 161 includes a parameter derivation unit 161a. The parameter derivation unit 161a is based on the quantization parameter Qp used in the quantization and inverse quantization processes for block P. P The quantization parameter Qp used in block Q quantization and inverse quantization. QAnd the offset value qpOffset, derive the parameter values (threshold) β and t used to control the filtering strength of the deblocking filter 160. C '.
[0057] First, the parameter derivation section 161a, for example, uses the following formula to calculate the variable qP.
[0058] qP = (Qp) Q +Qp P +1) >> 1) + qpOffset
[0059] Here, ">>" represents the shift operator (right shift operation). This expression essentially calculates the quantization parameter Qp of block P. P Quantization parameter Qp of block Q Q The formula for calculating the average.
[0060] Second, the parameter derivation section 161a calculates, for example, Q for deriving the parameter value β using the following formula.
[0061] Q=Clip3(0,63,qP+(slice_beta_offset_div2<<1))
[0062] Here, "<<" represents the shift operator (left shift operation). "Clip3(X, Y, Z)" is a clipping operator that returns X if Z is less than X, Y if Z is greater than Y, and Z otherwise. slice_beta_offset_div2 is one of the parameters sent to the decoding device 2 via a signal.
[0063] In addition, the parameter derivation section 161a calculates, for example, the parameter value t for derivation using the following formula. C 'of Q'.
[0064] Q = Clip3(0, 65, qP + 2) (bS-1) + (slice_tc_offset_div2<<1))
[0065] Here, "bS" is the Bs value. slice_tc_offset_div2 is one of the parameters sent to the decoding device 2 via signals.
[0066] Third, the parameter derivation unit 161a uses Table 2 below to derive the parameter values β and t from each calculated Q. C '.
[0067] [Table 2]
[0068]
[0069] Here, tC ' is the value corresponding to a 10-bit bit-depth image signal.
[0070] The deblocking filter control device 161 also includes a parameter transformation unit 161b. The parameter transformation unit 161b transforms the parameter value t based on the input bit depth. C Perform a transformation to output the transformation parameter value t. C Transform parameter value t C This represents t after transformation in a manner corresponding to the input bit depth. C The value of '.
[0071] In this embodiment, when the input bit depth is less than a predetermined bit depth, the parameter transformation unit 161b modifies the offset value and the parameter value t. C The result of the addition is shifted by bits to output the transformation parameter value t. C The parameter transformation unit 161b changes the offset value based on the input bit depth. Details of the operation of the parameter transformation unit 161b will be described later.
[0072] The deblocking filter control device 161 also includes a filter intensity control unit 161c. The filter intensity control unit 161c controls the filter intensity based on the value of the boundary intensity Bs, the parameter value β, and t. C Control the filtering strength of the deblocking filter 160.
[0073] When the value of the boundary strength Bs is 1 or 2, the filter strength control unit 161c can control the deblocking filter 160 (see reference). Figure 2 Filtering is performed only if the following formula is satisfied.
[0074] [Mathematical Expression 1]
[0075]
[0076] Furthermore, when performing filtering, the filter strength control unit 161c can apply strong filtering if the following condition is fully satisfied, and apply weak filtering otherwise (see reference). Figure 2 ).
[0077] [Mathematical Expression 2]
[0078] 2 (| p 2 0 -2 p 1 0 + p 0 0 |+| q 2 0 -2 q 1 0 + q 0 0 |) < / 4
[0079] 2 (| p 2 3 -2 p 1 3 + p 0 3 |+| q 2 3 -2 q 1 3 + q 0 3 |) < / 4
[0080] | p 3 0 - p 0 0 |+| q 0 0 - q 3 0 | < / 8
[0081] | p 3 3 - p 0 3 |+| q 0 3 - q 3 3 | < / 8
[0082] | p 0 0 - q 0 0 | < (5) t C +1) / 2
[0083] | p 0 3 - q 0 3 | < (5) t C +1) / 2
[0084] return Figure 1 The memory 170 stores the restored blocks output from the deblocking filter 160 as decoded images in frame units. The memory 170 outputs the stored decoded images to the prediction unit 180.
[0085] The prediction unit 180 generates a prediction block corresponding to the encoding target block by performing prediction processing on a block-by-block basis, and outputs the generated prediction block to the subtraction unit 110 and the synthesis unit 150. The prediction unit 180 includes an inter-frame prediction unit 181, an intra-frame prediction unit 182, and a switching unit 183.
[0086] The inter-frame prediction unit 181 uses the decoded image stored in the memory 170 as a reference image, calculates motion vectors using methods such as block matching, predicts the target block to be encoded, generates an inter-frame prediction block, and outputs the generated inter-frame prediction block to the switching unit 183. The inter-frame prediction unit 181 selects the most suitable inter-frame prediction method from inter-frame prediction using multiple reference images (typically dual prediction) and inter-frame prediction using a single reference image (unidirectional prediction), and performs inter-frame prediction using the selected method. The inter-frame prediction unit 181 outputs information related to inter-frame prediction (motion vectors, etc.) to the entropy coding unit 130 and the deblocking filter control device 161.
[0087] The intra-prediction unit 182 selects the most suitable intra-prediction mode from multiple intra-prediction modes for application to the coded object block, and uses the selected intra-prediction mode to predict the coded object block. The intra-prediction unit 182 generates an intra-prediction block by referring to the decoded pixel values adjacent to the coded object block in the decoded image stored in the memory 170, and outputs the generated intra-prediction block to the switching unit 183. Furthermore, the intra-prediction unit 182 outputs information related to the selected intra-prediction mode to the entropy coding unit 130 and the deblocking filter control device 161.
[0088] The switching unit 183 switches between the inter-frame prediction block output from the inter-frame prediction unit 181 and the intra-frame prediction block output from the intra-frame prediction unit 182, and outputs any prediction block to the subtraction unit 110 and the synthesis unit 150.
[0089] Next, the operation of the parameter transformation unit 161b in this embodiment will be described. Figure 3 This is a diagram illustrating the operation of the parameter transformation unit 161b in this embodiment.
[0090] like Figure 3 As shown, in step S1, the parameter transformation unit 161b determines whether the input bit depth is less than a predetermined bit depth. In the following text, the parameter value will be set to t. C Set the offset value to ofs, the input bit depth to BitDepth, the specified bit depth to b, and the transformation parameter value to t. C In this embodiment, the specified bit depth b is set to 10 bits.
[0091] If the input bit depth is less than the specified bit depth (step S1: Yes), in step S2, the parameter transformation unit 161b calculates the offset value ofs using the following formula.
[0092] ofs=1 (b-1-BitDepth)
[0093] Furthermore, in step S3, the parameter transformation unit 161b calculates the transformation parameter value t using the following formula. C .
[0094] t C = (t) C (+ofs) (b-BitDepth)
[0095] On the other hand, if the input bit depth is greater than or equal to a specified bit depth (step S1: No), in step S4, the parameter transformation unit 161b calculates the transformation parameter value t using the following formula. C .
[0096] t C =t C '×(1 (BitDepth-b)
[0097] Next, the effects of the deblocking filter control device 161 in this embodiment will be explained.
[0098] The transformation formula described in Non-Patent Document 1 does not consider the case where the input bit depth is 9 bits. If the transformation formula described in Non-Patent Document 1 is applied to a 9-bit image signal, the following problem arises: when 2 is compared with the original t... C When the values of ' are added together and then shifted by 1 bit, the appropriate value cannot be obtained.
[0099] As shown in Table 2, when Q is set to a small value (i.e., a small quantization step size), there is virtually no quantization error in the image. Therefore, it is configured to set t... C The value of ' is set to 0, and no correction is made to the value even when deblocking filtering is applied. However, for the transformation formula described in Non-Patent Document 1, by performing a transformation on the 9-bit image signal, even if t C 'Set to 0, pass
[0100] t C = (t) C '+2)>>1
[0101] The processing, the transformed t C The value becomes 1. As a result, this leads to the correction of pixel values caused by the unexpected deblocking filtering process, resulting in image degradation.
[0102] In contrast, according to this embodiment, a new concept is introduced: the offset value ofs changes according to the input bit depth BitDept. The transformed t is calculated using the following formula. C .
[0103] t C= (t) C (+ofs) (b-BitDepth)
[0104] ofs=1 (b-1-BitDepth)
[0105] Therefore, the aforementioned problems can be solved. Furthermore, given a bit depth b of 10 bits, the transformed t can be calculated using the following formula. C .
[0106] t C =BitDepth < 10? (t) C ′+ofs)>>(10-BitDepth): t C ′×(1<<(BitDepth-10))
[0107] ofs=1 (9-BitDepth)
[0108] <Decoding Device>
[0109] Next, the configuration of the decoding device in this embodiment will be described, focusing on the differences from the configuration of the encoding device described above. Figure 4 This diagram illustrates the configuration of the decoding apparatus 2 according to this embodiment. The decoding apparatus 2 is an apparatus for decoding a block of data to be decoded based on an encoded stream.
[0110] like Figure 4 As shown, the decoding device 2 includes an entropy decoding unit 200, an inverse quantization and inverse transformation unit 210, a synthesis unit 220, a deblocking filter 230, a deblocking filter control device 231, a memory 240, and a prediction unit 250.
[0111] The entropy decoding unit 200 decodes the encoded stream generated by the encoding device 1, decoding various types of signal information. Specifically, the entropy decoding unit 200 acquires information related to the quantization processing applied to the block to be decoded, and outputs the acquired information to the inverse quantization unit 211 and the deblocking filter control device 231. In addition, the entropy decoding unit 200 acquires information related to the prediction applied to the block to be decoded (e.g., prediction category information, motion vector information), and outputs the acquired information to the prediction unit 250 and the deblocking filter control device 231.
[0112] In addition, the entropy decoding unit 200 decodes the encoded stream, obtains the quantized transform coefficients, and outputs the obtained transform coefficients to the inverse quantization and inverse transform unit 210 (inverse quantization unit 211).
[0113] The inverse quantization and inverse transformation unit 210 performs inverse quantization and inverse transformation processing on a block-by-block basis. The inverse quantization and inverse transformation unit 210 includes an inverse quantization unit 211 and an inverse transformation unit 212.
[0114] The inverse quantization unit 211 performs inverse quantization processing corresponding to the quantization processing performed by the quantization unit 122 of the encoding device 1. The inverse quantization unit 211 uses quantization parameters and a quantization matrix to inverse quantize the quantization transform coefficients output from the entropy decoding unit 200, thereby restoring the transform coefficients of the decoded target block, and outputs the restored transform coefficients to the inverse transform unit 212.
[0115] The inverse transform unit 212 performs an inverse transform process corresponding to the transform process performed by the transform unit 121 of the encoding device 1. The inverse transform unit 212 performs an inverse transform process on the transform coefficients output from the inverse quantization unit 211, restores the prediction residual, and outputs the restored prediction residual (restored prediction residual) to the synthesis unit 220.
[0116] The synthesis unit 220 synthesizes the prediction residual output from the inverse transform unit 212 and the prediction block output from the prediction unit 250 in pixel units to restore (decode) the decoded target block and outputs the restored block to the deblocking filter 230.
[0117] Deblocking filter 230 performs the same operation as deblocking filter 160 of encoding device 1.
[0118] The deblocking filter control device 231 performs the same operation as the deblocking filter control device 161 of the encoding device 1 based on the information (bit depth information, etc.) output from the entropy decoding unit 200. Specifically, similar to the deblocking filter control device 161 of the encoding device 1, the deblocking filter control device 231 has a parameter derivation unit 231a, a parameter transformation unit 231b, and a filter intensity control unit 231c. Here, the parameter transformation unit 231b follows... Figure 3 The process is to operate according to the procedure.
[0119] The memory 240 stores the restored blocks output from the deblocking filter 230 as decoded images in frame units. The memory 240 outputs the decoded images in frame units to the external device 2.
[0120] The prediction unit 250 performs predictions on a block-by-block basis. The prediction unit 250 includes an inter-frame prediction unit 251, an intra-frame prediction unit 252, and a switching unit 253.
[0121] The inter-frame prediction unit 251 uses the decoded image stored in the memory 240 as a reference image and performs inter-frame prediction to predict the decoded target block. The inter-frame prediction unit 251 performs inter-frame prediction by using motion vector information output from the entropy decoding unit 200, generates an inter-frame prediction block, and outputs the generated inter-frame prediction block to the switching unit 253.
[0122] The intra-prediction unit 252 refers to reference pixels adjacent to the target block in the decoded image stored in the memory 240, and predicts the target block by intra-prediction based on information output from the entropy decoding unit 200. Furthermore, the intra-prediction unit 252 generates an intra-prediction block and outputs the generated intra-prediction block to the switching unit 253.
[0123] The switching unit 253 switches between the inter-frame prediction block output from the inter-frame prediction unit 251 and the intra-frame prediction block output from the intra-frame prediction unit 252, and outputs any type of prediction block to the synthesis unit 220.
[0124] <Other Implementation Methods>
[0125] In the above implementation, separate transformations can be used for cases with an input bit depth of 9 bits and for other cases. In such a method, when the input bit depth is 9 bits, it is only necessary to set an offset value that is different from the offset value used for other cases.
[0126] A program may be provided that enables a computer to perform the various processes performed by the encoding device 1. A program may be provided that enables a computer to perform the various processes performed by the decoding device 2. The program may be stored on a computer-readable medium. If a computer-readable medium is used, the program may be installed on the computer. Here, the computer-readable medium storing the program may be a non-transitory storage medium. There are no particular limitations on the non-transitory storage medium; for example, it may be a CD-ROM, DVD-ROM, or other storage media.
[0127] Alternatively, the circuitry for each process performed by the encoding device 1 can be integrated, and the encoding device 1 can be constructed using a semiconductor integrated circuit (chipset, SoC). Similarly, the circuitry for each process performed by the decoding device 2 can be integrated, and the decoding device 2 can be constructed using a semiconductor integrated circuit (chipset, SoC).
[0128] The embodiments have been described in detail above with reference to the accompanying drawings. However, the specific configuration is not limited to the above configuration, and various design variations can be made without departing from the main idea.
[0129] This application claims priority to Japanese Patent Application No. 2020-067043 (filed April 2, 2020), the entire contents of which are incorporated herein by reference.
Claims
1. A deblocking filter control device, characterized in that, The deblocking filter control device controls the deblocking filtering process for the decoded image within either the encoding device that encodes the image signal or the decoding device that decodes the encoded image signal. When the parameter value controlling the deblocking filter is denoted as t C Let the input bit depth, which serves as the bit depth of the image signal, be denoted as BitDepth, and let the transformed parameter value after the parameter value has been transformed be denoted as t. C hour: When the input bit depth is less than 10, by formula t C =(t C '+(1 (9-BitDepth))) (10-BitDepth) is used to calculate the transformation parameter values; and When the input bit depth is greater than or equal to 10, by formula t C =t C '×(1 (BitDepth-10) is used to calculate the transformation parameter value.
2. A program product, characterized in that, The computer contains a program that enables it to function as the deblocking filter control device as described in claim 1.
Citation Information
Patent Citations
Manufacturing method of silencer of engine
JP2020067043A
Deblocking filter control device and program
CN114503565A