Encoding device and program

The encoding apparatus optimizes high-resolution video encoding by region-based quantization parameter determination using switching indices and RD functions, addressing inefficiencies in existing technologies for high-resolution video encoding.

JP7716235B2Active Publication Date: 2025-07-31NIPPON HOSO KYOKAI
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2021091496
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-05-31
Publication Date
2025-07-31
Estimated Expiration
2041-05-31

AI Technical Summary

Technical Problem

Existing video encoding technologies, such as HM and VTM, use RD functions derived from low-resolution videos, which are not accurate for high-resolution videos like 4K or 8K, leading to suboptimal Lagrange multipliers and quantization parameters, resulting in inefficient bitrate control and image quality issues.

Method used

An encoding apparatus that divides video sequences into regions and determines quantization parameters for each region using a switching index to select appropriate RD functions, including monotonically decreasing functions based on bit rate, to optimize encoding efficiency and image quality.

Benefits of technology

Improves image quality and encoding efficiency for high-resolution videos by accurately setting quantization parameters, reducing waste and enhancing bitrate control.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007716235000011
    Figure 0007716235000011
  • Figure 0007716235000012
    Figure 0007716235000012
  • Figure 0007716235000013
    Figure 0007716235000013
Patent Text Reader

Abstract

To improve image quality and coding efficiency when a high-resolution video is coded at a required bit rate.SOLUTION: An encoder (1) to execute coding by dividing a video sequence into coding target regions and determining a quantization parameter for each coding target region so as to be equal to or below a constant bit rate, includes a quantization parameter calculator (101) to calculate the quantization parameter by using an RD function that shows a relation between the bit rate and a coding distortion, and a quantization section (14) to quantize the coding target regions by using a quantization parameter. The RD function is a monotonically decreasing function that uses a logarithmic function of the bit rate.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an encoding apparatus and a program.

Background Art

[0002] In a video encoding method using variable-length coding, the amount of codes generated according to the video varies greatly. Therefore, in order to maximize the image quality under the condition that there is a constraint on the amount of codes (bit rate), an encoding control technique is required. The encoding control technique has two elements: rate control for performing control so as to achieve the target bit rate, and optimization processing for performing optimal mode selection for a given amount of codes.

[0003] In rate control, the available amount of codes is allocated for each frame or block from the given amount of codes and the amount of codes already used, and the value of the quantization parameter is controlled so as to fit within the allocated amount of codes. In the optimization processing, the most efficient mode is selected by using a prediction mode that minimizes the cost function J = D + λR calculated from the amount of codes R, the encoding distortion D, and the Lagrange undetermined multiplier λ (see, for example, Non-Patent Document 1). However, since the undetermined multiplier λ has different values depending on the sequence, the method for deriving the undetermined multiplier λ is also one of the encoding control techniques. Generally, it is utilized that when differentiating with respect to R at the point of minimizing the cost function J, it becomes 0, and λ = -∂D / ∂R can be calculated.

[0004] In recent years, in reference software such as HM (HEVC Test Model) and VTM (VVC Test Model) of video coding standards such as HEVC (High Efficiency Video Coding) and VVC (Versatile Video Coding), optimization is performed using an RD function (rate distortion function) that shows the relationship between a predetermined bit rate R and coding distortion D. However, the parameters of the RD function vary for each video. Therefore, an RD function specific to the video is derived by estimating these parameters from the encoded frames, and the undetermined multiplier λ is calculated by performing partial differentiation. Once an appropriate undetermined multiplier λ is obtained, a mode that minimizes the cost function J may be selected. At this time, the quantization parameter can take any value, but HM and VTM use a method of directly calculating the quantization parameter from the value of the undetermined multiplier λ, and rate control and optimization processing, which are two elements of coding control, are almost integrated (see, for example, Non-Patent Document 2).

Prior Art Documents

Non-Patent Documents

[0005]

Non-Patent Document 1

Non-Patent Document 2

Summary of the Invention

Problems to be Solved by the Invention

[0006] However, this RD function used in HM and VTM is a function created based on the results obtained from experiments using HM with low-resolution videos of 2K or less. Therefore, it is not known whether it is an appropriate formula for high-resolution video coding such as 4K or 8K, or for coding using VTM instead of HM. If the RD function is not accurate, the resulting Lagrange multiplier λ and quantization parameter will not be optimal, leading to problems such as wasted rate consumption and inaccurate bitrate control. In view of the current situation where VVC is being standardized and the services of high-resolution videos are increasing, there is a need for coding control technology to solve this problem.

[0007] In view of such circumstances, an object of the present invention made is to provide an encoding apparatus and a program capable of improving the image quality and encoding efficiency when encoding high-resolution video at a required bit rate.

Means for Solving the Problems

[0008] To solve the above problems, an encoding apparatus according to an embodiment is an encoding apparatus that divides a video sequence into encoding target regions and performs encoding by determining a quantization parameter for each encoding target region so as to be equal to or less than a certain bit rate, A switching index calculation unit that calculates a switching index for determining an RD function indicating the relationship between the bit rate and the encoding distortion, and based on the switching index, from a plurality of predetermined RD functions, for each encoding target region, an RD function determination unit that determines an RD function, and determined by the RD function determination unit comprising a quantization parameter calculation unit that calculates a quantization parameter using an RD function, and a quantization unit that performs quantization of the encoding target region using the quantization parameter. to obtain It is characterized by this.

[0010] Furthermore, in one embodiment, the switching index calculation unit may calculate the bit rate per pixel or the encoding difficulty as the switching index.

[0011] Furthermore, in one embodiment, the plurality of RD functions may include a monotonically decreasing function using a power function of the bit rate and a monotonically decreasing function using a logarithmic function of the bit rate.

[0012] Furthermore, in one embodiment, the switching index calculation unit calculates the bit rate per pixel as the switching index, and the plurality of RD functions include a first RD function that is a monotonically decreasing function using a power function of the bit rate and a second RD function that is a monotonically decreasing function using a logarithmic function of the bit rate. The record The RD function determination unit may select the first RD function when the switching index is greater than or equal to a threshold value, and select the second RD function when the switching index is less than the threshold value.

[0013] Furthermore, in one embodiment, the switching index calculation unit calculates the encoding difficulty as the switching index, and the plurality of RD functions include a first RD function that is a monotonically decreasing function using a power function of the bit rate and a second RD function that is a monotonically decreasing function using a logarithmic function of the bit rate. The record The RD function determination unit may select the first RD function when the switching index is less than a threshold value, and select the second RD function when the switching index is greater than or equal to the threshold value.

[0014] Also, a program according to one embodiment causes a computer to function as the above-described encoding device.

Advantages of the Invention

[0015] According to the present invention, it is possible to improve the image quality and encoding efficiency when encoding a high-resolution video at a required bit rate.

Brief Description of the Drawings

[0016]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Embodiments for Carrying Out the Invention

[0017] Hereinafter, an embodiment will be described in detail with reference to the drawings.

[0018] (Encoding device) FIG. 1 shows a configuration example of an encoding device according to an embodiment of the present invention. The encoding device 1 shown in FIG. 1 includes a rate control unit 10, a block division unit 11, a subtraction unit 12, a conversion unit 13, a quantization unit 14, an inverse quantization unit 15, an inverse conversion unit 16, an addition unit 17, a storage unit 18, a prediction unit 19, and an entropy encoding unit 20.

[0019] The encoding device 1 divides a video sequence into encoding target regions, and determines quantization parameters for each encoding target region so as to be below a certain bit rate, and performs encoding.

[0020] The block division unit 11 generates a block image obtained by dividing a video sequence into encoding target regions in units of encoding target frames or encoding target blocks, and outputs it to the subtraction unit 12 and the prediction unit 19.

[0021] The subtraction unit 12 subtracts each pixel value of the predicted block image input from the prediction unit 19 described later from each pixel value of the block image input from the block division unit 11, generates a residual block image indicating the difference between the block image and the predicted block image, and outputs it to the conversion unit 13.

[0022] The conversion unit 13 performs conversion processing such as orthogonal conversion on the residual block image input from the subtraction unit 12 to calculate conversion coefficients, and outputs them to the quantization unit 14.

[0023] The rate control unit 10 performs rate control by appropriately determining the quantization parameter when quantizing the residual block image. The details of the processing of the rate control unit 10 will be described later. The rate control unit 10 outputs the determined quantization parameter to the quantization unit 14 and the entropy encoding unit 20.

[0024] The quantization unit 14 divides the transform coefficients input from the transform unit 13 by a quantization step corresponding to the quantization parameter input from the rate control unit 10 (for example, they are associated so that the logarithm of the quantization parameter is proportional to the logarithm of the quantization step), quantizes them to generate quantization coefficients, and outputs them to the inverse quantization unit 15 and the entropy encoding unit 20. By the quantization unit 14, the data amount is reduced.

[0025] The inverse quantization unit 15 multiplies the quantization coefficients input from the quantization unit 14 by the quantization step to restore the transform coefficients and outputs them to the inverse transform unit 16.

[0026] The inverse transform unit 16 performs an inverse transform process (a process of restoring the transform performed by the transform unit 13) on the transform coefficients input from the inverse quantization unit 15 to restore the residual block image and outputs it to the addition unit 17. For example, when the transform unit 13 performs a discrete cosine transform, the inverse transform unit 16 performs an inverse discrete cosine transform.

[0027] The addition unit 17 adds the residual block image input from the inverse transform unit 16 and the prediction image input from the prediction unit 19, and outputs it to the storage unit 18 as an encoded image.

[0028] The inverse quantization unit 15, the inverse transform unit 16, and the addition unit 17 constitute an encoded image generation unit (local decoding unit). That is, the encoded image generation unit multiplies the quantization coefficients by the quantization step to restore the transform coefficients, performs an inverse transform process on the transform coefficients to restore the residual block image, and adds the residual block image and the intra prediction image or the motion compensation prediction image to generate an encoded image.

[0029] The symbolization device 1 may perform post-processing such as filter processing using a deblocking filter on the encoded image output by the addition unit 17 and then output it to the storage unit 18.

[0030] The storage unit 18 stores the encoded image input from the addition unit 17.

[0031] The prediction unit 19 performs intra prediction (intra-frame prediction) or inter prediction (inter-frame prediction, motion compensation prediction). In intra prediction, an intra prediction image obtained by performing intra prediction on the encoded image stored in the storage unit 18 according to the intra prediction mode is generated. In inter prediction, a motion compensation prediction image obtained by performing motion compensation prediction on the encoded image stored in the storage unit 18 according to the motion vector is generated. The prediction unit 19 switches between the intra prediction image and the motion compensation prediction image to obtain a prediction block image, and outputs it to the subtraction unit 12 and the addition unit 17. The prediction unit 19 outputs the prediction parameters (intra prediction mode and motion vector information) used in the prediction process to the entropy encoding unit 20.

[0032] The entropy encoding unit 20 performs entropy encoding on the quantization coefficients input from the quantization unit 14, the quantization parameters input from the rate control unit 10, and the prediction parameters input from the prediction unit 19, performs data compression to generate a bit stream, and outputs it to the outside of the symbolization device 1. For entropy encoding, any entropy encoding method such as a zero-order exponential Golomb code or a context-adaptive binary arithmetic coding (CABAC) can be used.

[0033] (Control unit according to the first embodiment) Next, the processing of the rate control unit 10 will be described. FIG. 2 shows a configuration example of the rate control unit 10-1 according to the first embodiment. The rate control unit 10-1 shown in FIG. 2 includes a quantization parameter calculation unit 101.

[0034] The quantization parameter calculation unit 101 calculates a quantization parameter QP using an RD function that shows the relationship between the bit rate R and the encoding distortion D. Here, the quantization parameter calculation unit 101 uses the following RD function, which is different from the conventional RD function. This RD function is a monotonically decreasing function using the logarithmic function log(R) of the bit rate R. Although the base of the logarithmic function does not have to be the Napier's number e, in this embodiment, the logarithmic function is regarded as the natural logarithmic function in consideration of the ease of calculation.

[0035]

Number

[0036] When the Lagrange multiplier (hereinafter simply referred to as "multiplier") λ is set to -∂D / ∂R, the multiplier λ is calculated by the following equation.

[0037]

Number

[0038] The number of parameters when using this logarithmic function is one (γ). For each encoded frame or encoding target area, the quantization parameter calculation unit 101 calculates the bit rate R of the encoded frame or block a and the multiplier λ a to calculate the parameter γ by the following equation. Note that the bit rate R a is calculated from the bit stream input from the entropy encoding unit 20.

[0039]

Number

[0040] The multiplier λ is calculated by the following equation using γ obtained in Equation (3) and the target bit rate R t .

[0041]

Number

[0042] The quantization parameter calculation unit 101 calculates the quantization parameter QP for each encoded frame or encoding target region by the following formula using the undetermined multiplier λ obtained by formula (4). This formula is the one used in the reference software of the conventional video encoding standard, but the derivation formula of the quantization parameter QP is not limited to this. The quantization parameter calculation unit 101 outputs the quantization parameter calculated in this way to the quantization unit 14.

[0043]

Number

[0044] (Control unit according to the second embodiment) Fig. 3 shows a configuration example of the rate control unit 10-2 according to the second embodiment. The rate control unit 10-2 shown in Fig. 3 includes a switching index calculation unit 102, an RD function determination unit 103, and a quantization parameter calculation unit 101'.

[0045] The switching index calculation unit 102 calculates a switching index for determining the RD function in the RD function determination unit 103 and outputs it to the RD function determination unit 103. Two examples of the switching index are shown below.

[0046] <The first switching index> The switching index calculation unit 102 uses the bit rate Bpp per pixel of the encoding target region as the first switching index. The bit rate Bpp per pixel is calculated by the following formula when the number of pixels (resolution) of the video sequence is N, the target bit rate is B t , and the frame rate is f.

[0047]

Number

[0048] <The second switching index> The switching index calculation unit 102 uses the encoding difficulty X of the encoding target area as the second switching index. The encoding difficulty X is the bit rate R during encoding of the encoding target area a and the encoding distortion D a and a constant r determined in advance can be defined by the following formula. The following formula is the formula when the evaluation value representing the encoding distortion Da is MSE (Mean Square Error). In this case, the constant r is, for example, 0.3. The evaluation value representing the encoding distortion Da is not limited to MSE, and may be any value objectively representing the image quality, such as PSNR (Peak signal-to-noise ratio). The encoding difficulty X may be a different formula according to the evaluation value, or may be a different formula according to video parameters such as resolution and frame rate.

[0049]

Equation

[0050] Based on the switching index input from the switching index calculation unit 102, the RD function determination unit 103 determines an RD function for each encoding target area from a plurality of predetermined RD functions. The RD function determination unit 103 outputs information indicating the determined RD function to the quantization parameter calculation unit 101'.

[0051] The plurality of RD functions include a monotonically decreasing function (first RD function) using a power function R of the bit rate R n and a monotonically decreasing function (second RD function) using the logarithmic function log(R) of the bit rate R. The first RD function is, for example, an RD function used in the conventional VVC reference software VTM. The second RD function is, for example, the RD function shown in the above formula (1). In this embodiment, the case where the plurality of RD functions are two, the first RD function and the second RD function, will be described, but it may further include other RD functions. For example, as another RD function, it may further include a monotonically decreasing function using an exponential function of the bit rate R as shown in the following formula.

[0052] [Number]

[0053] [Switching Based on the First Switching Index] When the RD function determination unit 103 inputs the bit rate Bpp per pixel from the switching index calculation unit 102 as a switching index, if the switching index Bpp is greater than or equal to the first threshold value T1, the first RD function is selected; if the switching index Bpp is less than the first threshold value T1, the second RD function is selected, thereby performing rate control. Further conditions may be added, such as always selecting the second RD function regardless of the switching index Bpp at resolutions of 4K or higher.

[0054] When the first threshold value T1 is set to a value equivalent to encoding a 4K 60Hz sequence at 30Mbps, for example, Bpp = (30×10 6 ) / (3840×2160×60) ≈ 0.06.

[0055] [Switching Based on the Second Switching Index] When the RD function determination unit 103 inputs the encoding difficulty X from the switching index calculation unit 102 as a switching index, if the switching index X is less than the second threshold value T2, the first RD function is selected; if the switching index X is greater than or equal to the second threshold value T2, the second RD function is selected, thereby performing rate control.

[0056] When the evaluation value representing the encoding distortion Da is the MSE, for example, the second threshold value T2 is 5.0. The second threshold value T2 may be a different value depending on the evaluation value representing the encoding distortion Da and video parameters.

[0057] The quantization parameter calculation unit 101' calculates the quantization parameter using the RD function determined by the RD function determination unit 103. The first RD function used in the conventional VVC reference software VTM, etc., is represented by the following formula. Note that the first RD function is not limited to the following formula and may include a constant term, for example.

[0058]

Mathematics

[0059] From Equation (9), the undetermined multiplier λ is calculated by the following equation.

[0060]

Mathematics

[0061] When using the first RD function, for each encoded frame or encoding target region, the quantization parameter calculation unit 101' uses the bit rate R a and the undetermined multiplier λ a to calculate the parameters α and β in Equation (10). Then, the quantization parameter calculation unit 101' obtains the undetermined multiplier λ from the calculated parameters α and β, and calculates the quantization parameter for each encoded frame or encoding target region according to the above Equation (5).

[0062] When using the second RD function, the quantization parameter calculation unit 101' obtains the undetermined multiplier λ by Equation (4) as described above, and calculates the quantization parameter for each encoded frame or encoding target region according to the above Equation (5).

[0063] Fig. 4 shows the control processing procedure by the rate control unit 10-2.

[0064] In step S101, the switching index calculation unit 102 calculates a switching index for determining an RD function indicating the relationship between the bit rate and the encoding distortion.

[0065] In step S102, based on the switching index calculated in step S101, the RD function determination unit 103 determines an RD function for each encoding target region from a plurality of predetermined RD functions. For example, the RD function is determined by comparing the switching index with a threshold value.

[0066] In step S103, the quantization parameter calculation unit 101' calculates a quantization parameter using the RD function determined in step S102.

[0067] As described above, in the present invention, a quantization parameter is calculated using an RD function different from the conventional one. The effects of the present invention will be described with reference to FIG. 5.

[0068] FIG. 5 is a diagram showing an RD curve of 4K video with a relatively high encoding difficulty. The horizontal axis is the bit rate R, and the vertical axis is the evaluation value MSE of the encoding distortion D. FIG. 5(a) is an RD curve when the conventional first RD function is used. Specifically, the first RD function is D = 11555R -0.627 is set. The coefficient of determination R 2 in this case was 0.979. FIG. 5(b) is an RD curve when the second RD function newly added in the present invention is used. Specifically, the second RD function is D = -1244ln(R) + 5876. The coefficient of determination R 2 in this case was 0.990.

[0069] Thus, in the present invention, when encoding a high-resolution video at a required bit rate, by using the second RD function, fitting can be performed with higher accuracy than in the prior art. Therefore, the quantization parameter obtained from the RD function can be set to a more appropriate value. Accordingly, it is possible to improve the image quality and encoding efficiency when encoding a high-resolution video at a required bit rate. Note that the present invention can be applied to various video encoding standards.

[0070] Also, by making the RD function a monotonically decreasing function using the logarithmic function of the bit rate, the number of parameters when calculating the undetermined multiplier λ becomes one as shown in Equation (2), so that the calculation cost can be reduced. By using the natural logarithm function as the logarithmic function, the calculation cost can be further reduced.

[0071] In addition, in the present invention, a plurality of RD functions may be prepared, and an RD function may be determined based on a switching index. As a result, since the quantization parameter can be determined based on the characteristics of the video to be encoded, it is possible to improve the image quality and the encoding efficiency for various video sequences.

[0072] (Decoder device) Next, a decoder device according to an embodiment of the present invention will be described. FIG. 6 shows a configuration example of a decoder device according to an embodiment of the present invention. The decoder device 2 shown in FIG. 6 includes an entropy decoder unit 31, an inverse quantization unit 32, an inverse transform unit 33, an addition unit 34, a storage unit 35, and a prediction unit 36. The decoder device 2 decodes the bitstream encoded by the above-described encoder device 1.

[0073] The entropy decoder unit 31 decodes the bitstream output from the encoder device 1 and acquires a quantization parameter, quantization coefficients, and prediction parameters (intra prediction mode and motion vector information). Then, the entropy decoder unit 31 outputs the quantization parameter and the quantization coefficients to the inverse quantization unit 32, and outputs the prediction parameters to the prediction unit 36.

[0074] The inverse quantization unit 32 inputs the quantization coefficients and the quantization parameter from the entropy decoder unit 31, multiplies the quantization coefficients by a quantization step derived from the quantization parameter to restore block-by-block orthogonal transform coefficients, and outputs them to the inverse transform unit 33.

[0075] The inverse transform unit 33 performs an inverse transform on the orthogonal transform coefficients input from the inverse quantization unit 32 to generate a residual image, and outputs it to the addition unit 34.

[0076] The addition unit 34 adds the pixel values of the residual image input from the inverse transform unit 33 and the prediction image input from the prediction unit 36 to generate a decoded image, and outputs it to the storage unit 35 and the outside of the decoder device 2.

[0077] Similar to the encoding device 1, the decoding device 2 may perform post-processing such as filtering by a deblocking filter on the decoded image output by the addition unit 34 and then output it to the storage unit 35.

[0078] The storage unit 35 stores the decoded image input from the addition unit 34.

[0079] The prediction unit 36 performs intra prediction (intra-frame prediction) or inter prediction (inter-frame prediction, motion compensation prediction). In intra prediction, an intra prediction image obtained by performing intra prediction on the decoded image stored in the storage unit 35 according to the intra prediction mode input from the entropy decoding unit 31 is generated. In inter prediction, a motion compensation prediction image obtained by performing motion compensation prediction on the decoded image stored in the storage unit 35 according to the motion vector information input from the entropy decoding unit 31 is generated. The prediction unit 36 switches between the intra prediction image and the motion compensation prediction image to obtain a prediction block image and outputs it to the addition unit 34.

[0080] (Program) In order to function as the above-described encoding device 1 and decoding device 2, it is also possible to use a computer capable of executing program instructions. Here, the computer may be a general-purpose computer, a dedicated computer, a workstation, a PC (Personal Computer), an electronic notebook, or the like. The program instructions may be program codes, code segments, etc. for executing necessary tasks.

[0081] A computer includes a processor, a memory unit, an input unit, an output unit, and a communication interface. The processor can be a CPU (Central Processing Unit), MPU (Micro Processing Unit), GPU (Graphics Processing Unit), DSP (Digital Signal Processor), SoC (System on a Chip), etc., and may be composed of a plurality of processors of the same or different types. The processor reads a program from the memory unit and executes it to control each of the above components and perform various arithmetic operations. Note that at least a part of these processing contents may be realized by hardware. The input unit is an input interface that receives a user's input operation and acquires information based on the user's operation, such as a pointing device, a keyboard, a mouse, etc. The output unit is an output interface that outputs information, such as a display, a speaker, etc. The communication interface is an interface for communicating with an external device, for example, a LAN (Local Area Network) interface.

[0082] The program may be recorded on a computer-readable recording medium. By using such a recording medium, it is possible to install the program on the computer. Here, the recording medium on which the program is recorded may be a non-transitory recording medium. The non-transitory recording medium is not particularly limited, but may be, for example, a CD-ROM, a DVD-ROM, a USB (Universal Serial Bus) memory, etc. Also, this program may be in a form downloaded from an external device via a network.

[0083] Although the above-described embodiments have been described as representative examples, it is obvious to those skilled in the art that many changes and substitutions can be made within the spirit and scope of the present invention. Therefore, the present invention should not be construed as being limited by the above-described embodiments, and various modifications or changes are possible without departing from the scope of the claims. For example, it is possible to integrate a plurality of constituent blocks described in the configuration diagrams of the embodiments or to divide one constituent block.

Explanation of Reference Numerals

[0084] 1 Encoding device 2 Decoding device 10, 10-1, 10-2 Rate control unit 11 Block splitting unit 12 Subtraction unit 13 Conversion unit 14 Quantization unit 15 Inverse quantization unit 16 Inverse conversion unit 17 Addition unit 18 Storage unit 19 Prediction unit 20 Entropy encoding unit 31 Entropy decoding unit 32 Inverse quantization unit 33 Inverse conversion unit 34 Addition unit 35 Storage unit 36 Prediction unit 101, 101’ Quantization parameter calculation unit 102 Switching index calculation unit 103 RD function determination unit

Claims

1. 1. A coding apparatus that divides a video sequence into coding target regions, determines a quantization parameter for each coding target region, and performs coding so that the bit rate is equal to or less than a certain value, a switching index calculation unit that calculates a switching index for determining an RD function that indicates the relationship between a bit rate and coding distortion; an RD function determination unit that determines an RD function for each of the target regions to be coded from a plurality of predetermined RD functions based on the switching index; a quantization parameter calculation unit that calculates a quantization parameter using the RD function determined by the RD function determination unit; a quantization unit that quantizes the encoding target region using the quantization parameter; An encoding device comprising:

2. The encoding device according to claim 1 , wherein the switching index calculation unit calculates a bit rate per pixel or a coding difficulty as the switching index.

3. 3. The encoding device according to claim 1, wherein the plurality of RD functions include a monotonically decreasing function using a power function of the bit rate and a monotonically decreasing function using a logarithmic function of the bit rate.

4. the switching index calculation unit calculates a bit rate per pixel as the switching index; the plurality of RD functions include a first RD function that is a monotonically decreasing function using a power function of a bit rate, and a second RD function that is a monotonically decreasing function using a logarithmic function of a bit rate; The encoding device according to claim 1 , wherein the RD function determination unit selects the first RD function when the switching index is equal to or greater than a threshold, and selects the second RD function when the switching index is less than the threshold.

5. the switching index calculation unit calculates an encoding difficulty as the switching index; the plurality of RD functions include a first RD function that is a monotonically decreasing function using a power function of a bit rate, and a second RD function that is a monotonically decreasing function using a logarithmic function of a bit rate; The encoding device according to claim 1 , wherein the RD function determination unit selects the first RD function when the switching index is less than a threshold, and selects the second RD function when the switching index is equal to or greater than the threshold.

6. A program for causing a computer to function as the encoding device according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Two-Pass rate control method based on HEVC

    CN106791848A

  • Model describing video stored in memory and converted in code

    JP2005354662A

  • Method and apparatus for analytical and experimental composite coding strain modeling

    JP2010503265A

  • Adaptive video encoder control

    JP2012503367A

  • Content classification for multimedia processing

    JP2013085287A