WO2018079444A1 - Dispositif de codage, procédé de codage et support d'enregistrement de programme - Google Patents

Dispositif de codage, procédé de codage et support d'enregistrement de programme Download PDF

Info

Publication number
WO2018079444A1
WO2018079444A1 PCT/JP2017/038045 JP2017038045W WO2018079444A1 WO 2018079444 A1 WO2018079444 A1 WO 2018079444A1 JP 2017038045 W JP2017038045 W JP 2017038045W WO 2018079444 A1 WO2018079444 A1 WO 2018079444A1
Authority
WO
WIPO (PCT)
Prior art keywords
quantization
coefficient
encoding
quantization coefficient
code amount
Prior art date
Application number
PCT/JP2017/038045
Other languages
English (en)
Japanese (ja)
Inventor
達治 森吉
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2018547632A priority Critical patent/JP6943256B2/ja
Publication of WO2018079444A1 publication Critical patent/WO2018079444A1/fr

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods 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 a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements

Definitions

  • the present invention relates to an encoding device, an encoding method, and a program for encoding a moving image.
  • the present invention relates to an encoding apparatus, an encoding method, and a program that divide an encoding target image into a plurality of image blocks and perform processing in units of image blocks.
  • Compressed video encoding technology is used in a wide range of applications, including digital broadcasting, video content distribution using optical discs, and video distribution via the Internet.
  • International standards are established by an international standards body for techniques for encoding moving image signals with a low bit rate, high compression rate, and high image quality, and decoding encoded moving images.
  • Representative standardization organizations include the International Telecommunications Union, the International Organization for Standardization, and the American Film and Television Engineers Association.
  • the International Telecommunication Union (ITU) standard includes the H.264 standard. 261 and H.264. 263.
  • the standards of the International Organization for Standardization (ISO) include MPEG-1, MPEG-2, MPEG-4, etc. (MPEG: Moving Picture Experts Group).
  • the standards of the American Film and Television Engineers Association (SMPTE: Society of Motion, Picture, and Television Engineers) include VC-1.
  • H. H.264 / MPEG-4 AVC Advanced Video Coding
  • ITU and ISO Non-patent Document 1
  • H.C. H.265 / MPEG-H HEVC High Efficiency Video Coding
  • H.265 / MPEG-H HEVC 265.
  • the data size can be reduced to about half with video quality equivalent to H.264.
  • the above-described moving image coding technology is configured by combining a plurality of elemental technologies such as motion compensation prediction, orthogonal transformation of prediction error images, quantization of orthogonal transformation coefficients, and entropy coding of quantized orthogonal transformation coefficients. Therefore, this is called hybrid coding.
  • Specific entropy encoding methods are disclosed in Non-Patent Document 3 and Non-Patent Document 4, for example.
  • inter-frame prediction motion compensation is used in which a predicted image is generated by correcting movement and positional deviation of a subject, a background, and the like between temporally adjacent images.
  • rate control processing for realizing high image quality is performed while suppressing the amount of code to be output below a predetermined bit rate.
  • TM-5 system As an example of the rate control technique, there is the MPEG-2 Test Model 5 system (hereinafter referred to as TM-5 system).
  • the TM-5 system is composed of a combination of a plurality of controls.
  • One is code amount allocation control for each frame based on complexity estimation that differs depending on the frame coding type such as I / P / B.
  • One is quantization parameter (QP) control in units of macroblocks (MB) within a frame.
  • QP quantization parameter
  • MB macroblocks
  • adaptive quantization control that improves subjective image quality.
  • the QP of each MB is feedback controlled based on the relationship between the code amount actually generated in the encoded MB and the target code amount.
  • Patent Document 1 discloses an image encoding device that performs coefficient truncation control as rate control.
  • the apparatus of Patent Document 1 determines an abort parameter based on a code amount prediction value or a target code amount for each separately set frame or image block. Then, the apparatus of Patent Document 1 replaces a part of the quantized coefficient with 0 according to the determined truncation parameter (censoring), and predicts the generated code amount from the distribution state of the quantized coefficient.
  • the code amount actually output in units of blocks is fed back to control the generated code amount of the entire frame, so that control to the target code amount can be performed precisely.
  • Non-Patent Document 5 and Patent Document 2 disclose a rate control method based on a model called an R- ⁇ model (R: bit rate, ⁇ : ratio of transform coefficients that become zero after quantization). .
  • R bit rate
  • ratio of transform coefficients that become zero after quantization
  • an appropriate QP is set in consideration of the generation condition of the conversion coefficient of the entire frame, so that stable image quality can be achieved within the frame.
  • Patent Document 3 discloses a data processing device that evaluates the encoding efficiency of input data and performs data processing according to the evaluation result.
  • the apparatus of patent document 3 is.
  • the input image data is subjected to frequency conversion to generate a conversion coefficient.
  • the device of Patent Document 3 evaluates the code amount based on the generated transform coefficient, performs quantization processing according to the evaluation result, and encodes the quantized transform coefficient with a Huffman code. .
  • ITU-T Recommendation H.264 Advanced video coding for generic audiovisual services
  • April 2013 Joint Video Team (JVT) of ISO / IEC MPEG and ITU-T VCEG
  • Document JVT-O079 "Text Description of Joint Mode Reference, Encoding Method, and Decoding Method
  • April 2005 Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO / IEC JTC1 / SC29 / WG11, Document JCTVC-S1002, High Efficiency Video Coding (HEVC) Test Model 16 (HM 16) Improved Encoder "October 2014 Yung-Lyul Lee, "Rate control using linear rate- ⁇ model for H.264", 264Signal Processing: Image Communication, Volume 19, Issue 4, P.341-352, -April 2004
  • control parameters such as QP may fluctuate or vibrate within the frame depending on the strength of the feedback.
  • the image quality may become unstable. This becomes conspicuous when a region where the pattern is complex and difficult to encode in one frame and a region where the pattern is simple and easy to encode are mixed.
  • the TM-5 method and the technology described in Patent Document 1 are feedback control in units of blocks, so that sequential processing is performed in units of blocks, and a plurality of blocks cannot be processed in parallel. There is a problem that it is difficult. Further, the method of performing the abort process of Patent Document 1 has a problem that the control may not be stable.
  • the code amount model is constructed using the conversion coefficient of the entire frame, and the code amount prediction corresponding to various QP settings is performed to correct the QP.
  • the number of transform coefficients is the same as the number of pixels, a large number of transform coefficient values are analyzed, and the amount of processing increases.
  • control is performed based on QP determination using a code amount model, there is a possibility that a difference from a target code amount when an error occurs in the code amount model becomes large. There is.
  • the apparatus of Patent Document 3 executes the quantization process twice or more.
  • the quantization process is a process with a relatively large load that performs an operation including multiplication or division on each transform coefficient. Therefore, the apparatus of Patent Document 3 has a problem that the processing load on the entire apparatus increases when the quantization process is repeatedly executed.
  • An object of the present invention is to provide an encoding apparatus capable of reducing the processing amount of the entire apparatus and realizing stable image quality in order to solve the above-described problems.
  • an encoding apparatus receives a target code amount for each processing target block constituting an encoding target image and inputs a quantization control parameter for determining a quantization coefficient of the entire encoding target image.
  • the quantization parameter control means generated based on the target code amount and the transform coefficient generated based on the encoding target image are input, and the quantization control parameter is input from the quantization parameter control means.
  • Quantization means for generating quantization coefficients by performing quantization processing using parameters and transform coefficients, a quantization coefficient memory for storing quantization coefficients generated by the quantization means, and a quantization coefficient memory
  • the code quantity model construction method that constructs the code quantity model using the quantization coefficient obtained by obtaining the quantization coefficient stored in the
  • a censor control unit that inputs a code amount model from the code amount model construction unit and determines a censoring parameter for censoring the quantized coefficient based on the target code amount and the code amount model.
  • a coefficient setting unit having a coefficient censoring unit that inputs a censoring parameter from the censoring control unit, obtains a quantized coefficient stored in the quantization coefficient memory, and censors the quantized coefficient according to the censoring parameter.
  • a target code amount for each processing target block constituting the encoding target image is input, and a quantization control parameter for determining a quantization coefficient of the entire encoding target image is set.
  • Generate based on the target code amount input a transform coefficient generated based on the encoding target image, generate a quantization coefficient by performing a quantization process using the quantization control parameter and the transform coefficient, The generated quantization coefficient is stored in the quantization coefficient memory, and a code amount model is constructed using the quantization coefficient obtained by quantizing the entire encoding target image stored in the quantization coefficient memory.
  • a truncation parameter for truncating the quantized coefficient is determined, and the quantized coefficient stored in the quantized coefficient memory is truncated according to the truncation parameter.
  • the program recording medium includes a process for inputting a target code amount for each processing target block constituting the encoding target image, and a quantization control for determining a quantization coefficient for the entire encoding target image. Quantization is performed by performing a process of generating a parameter based on the target code amount, a process of inputting a transform coefficient generated based on the encoding target image, and a quantization process using the quantization control parameter and the transform coefficient.
  • a code amount model using a process for generating a quantization coefficient, a process for storing the generated quantization coefficient in a quantization coefficient memory, and a quantization coefficient obtained by quantizing the entire image to be encoded stored in the quantization coefficient memory Based on the target code amount and the code amount model, determining the truncation parameter for truncating the quantized coefficient, and storing it in the quantized coefficient memory
  • the recording a program for executing the processing and to a computer abort according quantized coefficients truncation parameter.
  • FIG. 10 is a block diagram illustrating a configuration of a moving image encoding device disclosed in Patent Document 1.
  • FIG. 10 It is a conceptual diagram which shows an example of the flow of a signal in the moving image encoder of patent document 1.
  • 10 is a flowchart showing the operation of the moving picture encoding apparatus of Patent Document 1.
  • It is a block diagram which shows the structure of the moving image encoder which applies R- (rho) model.
  • FIG. 1 is an example of a configuration of a moving image encoding apparatus 1 according to the present embodiment.
  • FIG. 2 is a conceptual diagram illustrating an example of a signal flow in the video encoding device 1 of the present embodiment.
  • the moving image encoding device 1 When a new image is input, the moving image encoding device 1 performs an encoding process in units of image blocks of a predetermined size.
  • a 16 ⁇ 16 pixel block called a macroblock (MB) is used.
  • MB macroblock
  • blocks such as 16 ⁇ 16 pixels, 32 ⁇ 32 pixels, and 64 ⁇ 64 pixels called coding tree units (CTU) are used.
  • CTU coding tree units
  • the moving image encoding apparatus 1 includes a prediction unit 10, a subtraction / transformation unit 11, a quantization coefficient setting unit 12, an encoding unit 13, an inverse quantization unit 14, an inverse transform / addition unit 15, a filter 16, and a frame buffer 17. Prepare.
  • the prediction unit 10 receives an input image (encoding target image) as an input, and obtains an encoded image (image data of a frame encoded in the past) corresponding to the input image from the frame buffer 17.
  • the prediction unit 10 generates a predicted image by performing a prediction process within a frame or between frames using an encoded image and an input image.
  • the prediction unit 10 outputs the generated predicted image to the subtraction / conversion unit 11 and the inverse conversion / addition unit 15.
  • the subtraction / conversion unit 11 receives an input image and acquires a prediction image corresponding to the input image from the prediction unit 10. The subtraction / conversion unit 11 subtracts the prediction image from the input image to generate a prediction error image. The subtraction / conversion unit 11 performs orthogonal transformation processing similar to DCT (Discrete Cosine Transform) on the generated prediction error image, and outputs a transform coefficient.
  • DCT Discrete Cosine Transform
  • the subtraction / conversion unit 11 performs orthogonal transformation processing in units of blocks of 4 ⁇ 4 pixels or 8 ⁇ 8 pixels. Also, for example, H. In the case of the H.265 system, the subtraction / conversion means 11 performs orthogonal transformation processing in units of blocks of a predetermined size from 4 ⁇ 4 pixels to 32 ⁇ 32 pixels.
  • Quantization coefficient setting means 12 receives a conversion coefficient from subtraction / conversion means 11. Further, the quantization coefficient setting unit 12 inputs a target code amount for each frame and image block set by an external device such as a host system.
  • the quantization coefficient setting unit 12 determines a quantization control parameter (QP: Quantization parameter) based on the code amount of the encoding result and the target code amount.
  • QP quantization control parameter
  • the quantization coefficient setting unit 12 performs rate control processing that realizes high image quality while suppressing the code amount output from the moving image encoding apparatus 1 to be equal to or lower than a predetermined bit rate.
  • the quantization coefficient setting unit 12 performs a quantization process using the conversion coefficient input from the subtraction / conversion unit 11 and the determined quantization control parameter, and performs a quantized conversion coefficient (hereinafter referred to as a quantization coefficient). Coefficient).
  • the encoding unit 13 inputs the quantization coefficient from the quantization coefficient setting unit 12.
  • the encoding means 13 entropy-encodes the quantized coefficients according to a predetermined rule, and outputs a bit stream as an encoding result.
  • the encoding means 13 is H.264.
  • the quantized coefficients are entropy-encoded using context-adaptive binary arithmetic coding (CABAC: Context-based Adaptive Binary Arithmetic Coding).
  • CABAC Context-based Adaptive Binary Arithmetic Coding
  • the encoding means 13 is an H.264 signal.
  • the quantized coefficients are entropy-coded using context adaptive variable length coding (CAVLC) and CABAC.
  • the inverse quantization means 14 receives the quantization coefficient from the quantization coefficient setting means 12.
  • the inverse quantization means 103 inversely quantizes the quantization coefficient and outputs the inversely quantized quantization coefficient to the inverse transform / addition means 15.
  • the inverse transform / addition means 15 inputs the inverse-quantized quantization coefficient from the inverse quantization means 14. Further, the inverse transform / addition unit 15 receives a prediction image from the prediction unit 10. The inverse transform / addition unit 15 adds the inversely quantized quantization coefficient and the predicted image to generate a reconstructed image. The inverse transform / addition unit 15 outputs the reconstructed image to the filter 16.
  • the filter 16 receives the reconstructed image from the inverse transform / addition means 15.
  • the filter 16 performs a filtering process on the reconstructed image, and outputs a filtered reconstructed image.
  • Filter processing reduces distortion that occurs in an image due to encoding.
  • H.M In the case of the H.264 system, the filter 16 performs a filtering process on the reconstructed image using a deblocking filter.
  • H. In the case of the H.265 system, the filter 16 performs filter processing of the reconstructed image using SAO (Sample Adaptive Offset) and a deblocking filter.
  • SAO Sample Adaptive Offset
  • the frame buffer 17 stores the reconstructed image after the filtering process output from the filter 16.
  • the filtered reconstructed image stored in the frame buffer 17 is used as an encoded image in encoding of subsequent frames.
  • FIG. 3 is a block diagram illustrating a configuration of the quantization coefficient setting unit 12.
  • FIG. 4 is a conceptual diagram showing an example of a signal flow in the quantization coefficient setting means 12.
  • the quantization coefficient setting means 12 includes a QP control means 21, a quantization means 22, a quantization coefficient memory 23, a code amount model construction means 24, an abort control means 25, and a coefficient abort means 26.
  • QP control means 21 (also called quantization parameter control means) inputs a target code amount from an external host system or the like.
  • the QP control unit 21 is a quantization control parameter for determining a quantization coefficient (also referred to as QP) for the entire frame based on the code amount of the encoding result and the target code amount for each separately set frame or image block. Is generated.
  • the QP control unit 21 outputs the generated quantization control parameter to the quantization unit 22.
  • the QP control means 21 generates a quantization control parameter by using a frame level control method of MPEG-2 TestTModel 5 method (hereinafter referred to as TM-5 method) (MPEG: Moving Picture Experts Group).
  • TM-5 method MPEG-2 TestTModel 5 method
  • the QP control unit 21 calculates the QP based on the code amount allocation in units of frames based on the complexity estimation that differs depending on the frame coding type and the past coding history. Further, the QP control unit 21 may calculate the QP based on the statistical property of the difference between the input image and the predicted image.
  • the quantization means 22 receives the conversion coefficient from the subtraction / conversion means 11 and the quantization control parameter from the QP control means 21.
  • the quantization means 22 performs a quantization process using the quantization control parameter and the transform coefficient, and generates a quantized transform coefficient (hereinafter referred to as a quantized coefficient).
  • the quantization means 22 stores the quantization coefficient in the generated quantization coefficient memory 23.
  • the quantization coefficient memory 23 stores quantization coefficients for one frame.
  • the code amount model construction means 24 acquires the quantization coefficient stored in the quantization coefficient memory 23 and constructs a code amount model using the quantization coefficient obtained by quantizing the entire frame.
  • the code amount model construction unit 24 outputs the constructed code amount model to the abort control unit 25.
  • the abort control unit 25 inputs the code amount model from the code amount model construction unit 24 and also inputs the target code amount.
  • the truncation control means 25 determines a truncation parameter for truncating the quantization coefficient based on the prediction value of the code amount, the separately set target code amount for each frame or image block, and the code amount model.
  • the abort control unit 25 outputs the determined abort parameter to the coefficient abort unit 26. Note that truncating the quantization coefficient means forcibly replacing at least a part of the quantization coefficient with 0.
  • the coefficient truncation means 26 inputs the truncation parameter from the truncation control means 25 and obtains the quantization coefficient stored in the quantization coefficient memory 23.
  • the coefficient truncation means 26 terminates the quantization coefficient according to the truncation parameter.
  • the coefficient truncation unit 26 outputs the quantized coefficient subjected to the processing to the encoding unit 13 and the inverse quantization unit 14.
  • FIG. 5 is a flowchart showing the operation of the moving picture encoding apparatus 1 of the present embodiment.
  • the constituent elements of the moving picture encoding apparatus 1 are described as the operating subject of each step, but the overall operating subject is the moving picture encoding apparatus 1.
  • the quantization coefficient setting unit 12 determines a QP to be applied to the entire frame (step S101).
  • the subtraction / transform unit 11 performs a predetermined orthogonal transform process on the block and outputs the transform coefficient to the quantization coefficient setting unit 12 (step S102).
  • the quantization coefficient setting means 12 performs a transform coefficient quantization process based on the determined QP, outputs the quantization coefficient to the encoding means 13 and the inverse quantization means 14, and stores the quantization coefficient of the entire frame. (Step S103).
  • the moving picture encoding apparatus 1 determines whether or not the processing of all the blocks constituting the frame has been completed (step S104). If there is an uncompleted block (No in step S104), the process returns to step S102.
  • the quantization coefficient setting unit 12 constructs a code amount model such as an R- ⁇ model based on the generation state of the quantization coefficient of the quantization result for all the blocks constituting the frame, and calculates model parameters (step S105). ).
  • the quantization coefficient setting unit 12 determines a coefficient truncation parameter so that the generated code amount of the frame matches the target code amount using the code amount model (step S106).
  • the quantization coefficient setting means 12 performs a quantization coefficient truncation process based on the coefficient truncation parameter (step S107).
  • the encoding means 13 performs variable length encoding processing on the quantized coefficient and outputs a code (step S108).
  • the inverse quantization means 14 performs a quantization coefficient inverse quantization process (step S109).
  • the inverse transform / addition means 15 performs the inverse transform process to complete the processing for one block (step S110).
  • the moving picture encoding apparatus 1 determines whether the processing of all the blocks constituting the frame is completed (Step S111). If all the blocks have been processed (Yes in step S110), the processing according to the flowchart of FIG. 5 ends. If there is a block that has not been processed (No in step S111), the process returns to step S107.
  • a QP is determined based on a code amount model constructed from transform coefficients before quantization.
  • the coefficient censoring parameter is determined based on a code amount model constructed using a quantized coefficient obtained by quantizing the entire frame.
  • FIG. 6 is a diagram for explaining an example of determining the coefficient censoring parameter in the present embodiment.
  • FIG. 6 is a histogram in which the quantized coefficients are classified by the order, and the number of non-zero coefficients is arranged in order from the DC component, the AC low-order component to the AC high-order component (DC: Direct Current, AC: Alternating Current). .
  • the order in which the non-zero coefficients are arranged may be in accordance with the coding order of the quantized coefficients such as ZigZag scan and Diagonal scan, for example.
  • the coefficient parameter determination method is not limited to the above example, and various methods are conceivable. For example, it is possible to create a histogram that classifies quantized coefficients for each absolute value, and determine the threshold based on the relationship between the non-zero coefficient reduction rate and the bit rate reduction rate when a coefficient with an absolute value smaller than a certain threshold is cut off. it can. Furthermore, a coefficient censoring condition that combines both the order of the coefficient and the absolute value can also be used. That is, the truncation threshold value in the coefficient absolute value is a different value for each coefficient order, the higher the order, the higher the censoring threshold value, or the higher the horizontal frequency and the vertical frequency, the higher the censoring threshold value, Such control can be performed. Also, the relationship between the order and the truncation threshold can be set based on the nature of the quantization matrix. Also, the coefficient truncation parameter can be set differently depending on the block size to be subjected to orthogonal transform.
  • an appropriate coefficient censoring parameter is set in view of the generation state of the quantization coefficient of the entire frame. Therefore, according to the present embodiment, stable image quality can be achieved within the frame. That is, according to the present embodiment, it is possible to reduce the processing amount of the entire apparatus and realize stable image quality.
  • the entire frame is quantized with the initially set QP to perform coarse-accuracy rate control, and then the coefficient censoring is performed based on the actual quantization result, so that the target can be further detailed. Rate control to match the code amount is performed. Therefore, according to the present embodiment, even if an error occurs in the QP control or the code amount model, the influence can be suppressed, and the difference from the target code amount can be controlled small.
  • code amount model construction and censoring control are performed using the quantized coefficients after quantization processing. Therefore, the processing amount is smaller than the technique described in Patent Document 2 (Japanese Patent Publication No. 2013-532439), and high-speed processing is possible. This is because, in a normal image, most of the transform coefficients are zeroed by the quantization process, so the number of quantization coefficients processed in the code amount model construction is much smaller than the number of transform coefficients before quantization. is there.
  • the parallel processing is performed in units of blocks, so that the quantization processing and coefficient truncation processing can be further accelerated.
  • step S102 conversion processing
  • step S103 quantization processing
  • step S107 coefficient truncation processing
  • step S109 inverse quantization processing
  • step S110 inverse transformation processing
  • FIG. 7 is a block diagram showing the configuration of the quantization coefficient setting means 12-2 provided in the moving picture encoding apparatus of the present embodiment.
  • FIG. 8 is a conceptual diagram showing an example of a signal flow in the quantization coefficient setting means 12-2.
  • the quantization coefficient setting means 12-2 includes a quantization coefficient analysis means 27 added between the quantization means 22 and the quantization coefficient memory 23 in the quantization coefficient setting means 12 (FIG. 3) of the first embodiment. It has the structure made. Since the configuration of the quantization coefficient setting unit 12-2 other than the quantization coefficient analysis unit 27 is the same as that of the quantization coefficient setting unit 12 of the first embodiment, detailed description thereof is omitted.
  • the quantization means 22 outputs the generated quantization coefficient to the quantization coefficient analysis means 27 instead of the quantization coefficient memory 23.
  • Quantization coefficient analysis means 27 receives the quantization coefficient from the quantization means 22.
  • the quantization coefficient analyzing unit 27 analyzes the quantization coefficient and verifies whether or not there is a quantization coefficient that becomes non-zero after quantization in the processing target block (quantization coefficient analysis).
  • the quantization coefficient analyzing unit 27 stores information on whether there is a non-zero quantization coefficient (referred to as non-zero quantization coefficient presence / absence information) in the quantization coefficient memory 23 in association with the quantization coefficient.
  • the moving picture encoding apparatus performs the skip determination of the subsequent process based on the non-zero quantization coefficient presence / absence information of the block to be processed. If there is no non-zero quantized coefficient of the block to be processed, the coefficient truncation means 26, the encoding means 13, the inverse quantization means 14, and the inverse transform / addition means 15 do not perform processing. On the other hand, when there is a non-zero quantized coefficient of the block to be processed, the coefficient truncation means 26, the encoding means 13, the inverse quantization means 14, and the inverse transform / addition means 15 execute processing.
  • FIG. 9 is a flowchart showing the data conversion operation in the present embodiment.
  • the constituent elements of the moving picture coding apparatus are described as the operating subject of each step, but the overall operating subject is the moving picture encoding apparatus.
  • the overall operating subject is the moving picture encoding apparatus.
  • detailed description of operations similar to those of the first embodiment will be omitted, and different operations will be described.
  • a quantization coefficient analysis process (step S204) and a process skip determination process (step S208) are added to the flowchart (FIG. 5) of the first embodiment. That is, in the flowchart of FIG. 9, in the flowchart of FIG. 5, a quantization coefficient analysis process is added between step S103 and step S104, and a process skip determination process is added between step S106 and step S107. .
  • steps S101 to S103 in FIG. 5 correspond to steps S201 to S203 in FIG.
  • steps S104 to S106 in FIG. 5 correspond to steps S205 to S207 in FIG. 9
  • steps S107 to S111 in FIG. Corresponds to steps S209 to S213.
  • step S205 the quantization coefficient analyzing unit 27 analyzes the quantization coefficient, and determines whether there is a quantization coefficient that becomes non-zero after quantization in the processing target block (non-zero quantization coefficient information). ) Is output.
  • step S208 the moving picture coding apparatus performs the skip determination of the subsequent process based on the non-zero quantized coefficient presence / absence information output by the quantized coefficient analyzing unit 27.
  • step S208 when there is no non-zero quantized coefficient presence / absence information (Yes in step S208), the coefficient truncation means 26, the encoding means 13, the inverse quantization means 14, and the inverse transform / addition means 15 perform processing relating to the block. No (proceed to step S213).
  • step S208 if there is non-zero quantized coefficient presence / absence information (No in step S208), the coefficient truncation means 26, the encoding means 13, the inverse quantization means 14 and the inverse transform / addition means 15 perform processing relating to the block. (Proceed to step S209).
  • the processing is skipped based on the non-zero quantization coefficient presence / absence information of the block to be processed. Therefore, according to the present embodiment, the processing amount can be reduced as compared with the first embodiment, and higher speed processing is possible. This is because, in a normal image, the quantization coefficients are all zero in many blocks, and therefore the processing amount can be reduced by skipping the processing after coefficient truncation in the block where the quantization coefficients are all zero.
  • FIG. 10 is a flowchart showing the data conversion operation in the present embodiment.
  • the components of the moving picture coding apparatus are described as the operating subject of each step, but the overall operating subject is the moving picture encoding device.
  • the overall operating subject is the moving picture encoding device.
  • detailed description of operations similar to those of the second embodiment will be omitted, and different operations will be described.
  • the flowchart of the present embodiment differs from the flowchart of the second embodiment (FIG. 9) in that it includes the operation of step S304 (quantization coefficient analysis) and step S309 (canceling skip determination). .
  • step S304 the quantization coefficient analyzing unit 27, in addition to the information on the presence / absence of the non-zero quantization coefficient, if there is a non-zero quantization coefficient, coefficient distribution information regarding the distribution state of the non-zero coefficient in the processing target block. Is generated.
  • the quantization coefficient analyzing unit 27 outputs the generated coefficient distribution information.
  • the quantization coefficient analyzing unit 27 divides the block into smaller sub-blocks such as 4 ⁇ 4, and outputs a flag string indicating whether or not each of the sub-blocks included in the block includes a non-zero coefficient. .
  • step S309 the video encoding device determines whether to skip the coefficient truncation process using the coefficient truncation parameter and the coefficient distribution information. At this time, when it is determined that the coefficient of the order of a certain threshold or higher is to be cut off as the coefficient censoring parameter, the moving picture coding apparatus determines whether the target sub-block corresponding to the position of the corresponding order or higher among the processing target blocks. Check the zero coefficient flag.
  • step S309 If there are no non-zero coefficients in all target sub-blocks (Yes in step S309), the coefficient truncation means 26 skips the coefficient truncation process based on the determination result. On the other hand, when a non-zero coefficient exists in any target sub-block (No in step S309), the coefficient truncation unit 26 performs a coefficient truncation process based on the determination result (step S310).
  • various information can be considered as the coefficient distribution information.
  • the order information of the non-zero coefficient positioned highest in the block, the number of non-zero coefficients greater than a predetermined order, and the like can be used as the coefficient distribution information.
  • the processing amount can be reduced and higher speed processing can be performed. This is because the coefficient truncation processing is not performed for all non-zero quantizations included in the block, but the processing is performed by skipping the truncation processing in the block that does not require truncation processing by the determination using the coefficient distribution information. This is because the amount can be reduced.
  • the QP control unit 21 determines the QP by a method such as TM-5 frame level control, for example.
  • the QP control unit 21 of the present embodiment corrects the QP determined as in the first embodiment by a predetermined method to obtain a smaller QP.
  • the QP control unit 21 corrects the QP so that the quantization step width determined by the QP is reduced by a predetermined ratio.
  • the QP control unit 21 may set the reduction ratio of the quantization step width to be different for each frame encoding type such as I / P / B.
  • the QP control unit 21 corrects the QP, there is a high probability that the generated code amount after quantization is slightly larger than the target code amount, but the code amount is changed to the target code amount by performing coefficient truncation processing thereafter. And can be controlled.
  • the present embodiment it is possible to control the code amount closer to the target code amount.
  • the code amount when the code amount is lower than the target code amount by the coarse accuracy rate control that performs quantization of the entire frame, the code amount cannot be made closer to the target code amount.
  • the probability of falling below the target code amount at this stage can be reduced by correcting the QP in the coarse accuracy rate control for performing quantization of the entire frame to a small value. Therefore, the target code amount can be made closer to the target code amount by the operation combined with the detailed rate control by the rate reduction by the coefficient truncation.
  • the order threshold value to be censored is increased to make it difficult for coefficient censoring to occur.
  • the parameter is more easily censored.
  • the threshold value of the order at which the coefficient is censored according to the value of QScur / QSSave is as follows: Adjust as follows. In the following conditions, 0.83 is a value corresponding to 1 / 1.2, and 0.67 is a value corresponding to 1 / 1.5. If 0.67> QScur / QSave, the threshold order is set to -2. If 0.83> QScur / QSave ⁇ 0.67, the threshold order is set to -1. If 1.2 ⁇ QScur / QSave ⁇ 0.83, the threshold order is not changed. If 1.5 ⁇ QScur / QSave> 1.2, the threshold order is set to +1. If QScur / QSSave> 1.5, the threshold order is set to +2.
  • the setting method of the censoring parameter is not limited to the above.
  • the QP of the block is in a specific small value range, it can be set so that censoring is not performed.
  • the image quality of the encoding result can be improved. This is because according to the present embodiment, when different QPs are set for each block in order to improve subjective image quality such as adaptive quantization control, the processing is performed by reflecting the difference in the QP values even in the coefficient censoring. This is because rate control that matches the purpose of improving image quality is possible.
  • FIG. 11 is a block diagram showing the configuration of the quantization coefficient setting means 12-6 provided in the moving picture coding apparatus according to the present embodiment.
  • FIG. 12 is a conceptual diagram showing an example of a signal flow in the quantization coefficient setting means 12-6.
  • the quantization coefficient setting means 12-6 is the second quantization coefficient memory 28 (additional quantization coefficient memory) in the subsequent stage of the coefficient truncation means 26 in the quantization coefficient setting means 12-2 (FIG. 8) of the second embodiment. Also called). Since the configuration of the quantization coefficient setting unit 12-6 other than the second quantization coefficient memory 28 is the same as that of the quantization coefficient setting unit 12-2 of the second embodiment, detailed description thereof is omitted.
  • the coefficient truncation means 26 stores the processed quantized coefficient in the second quantized coefficient memory 28.
  • the subsequent encoding means 13 and inverse quantization means 14 of the quantization coefficient setting means 12-6 acquire the quantization coefficient stored in the second quantization coefficient memory 28.
  • FIG. 13 is a flowchart showing the data conversion operation in this embodiment.
  • the components of the moving picture coding apparatus are described as the operating subject of each step, but the overall operating subject is the moving picture encoding device.
  • the overall operating subject is the moving picture encoding device.
  • detailed description of operations similar to those in the first to fifth embodiments will be omitted, and different operations will be described.
  • the flowchart of this embodiment has two different points from the flowchart (FIG. 10) of the third embodiment.
  • One point is that the quantization coefficient output in step S609 is stored for one frame.
  • the variable length coding process (step S614) is executed after the coefficient truncation process (step S610), the inverse quantization process (step S611), and the inverse transform process (step S612) are completed for all the blocks. It is. That is, in the flowchart of FIG. 13, the variable length encoding process (step S311) in the flowchart of FIG. 10 is rotated after step S314, and the variable length encoding process (steps S614 to S615) is performed for all blocks.
  • steps S301 to S310 in FIG. 10 correspond to steps S601 to S611 in FIG. 13
  • steps S312 to S314 in FIG. 10 correspond to steps S610 to S613 in FIG.
  • step S610 After the coefficient truncation process (step S610), the inverse quantization process (step S611), and the inverse transform process (step S612) of all blocks are completed, the encoding unit 13 performs variable length encoding for any block. Processing is performed (step S614).
  • step S615 If the variable-length encoding process has been completed for all blocks (Yes in step S615), the process according to the flowchart of FIG. On the other hand, when the variable length encoding process has not been completed for all blocks (No in step S615), the process returns to step S614, and the encoding unit 13 performs the variable length encoding process for another block.
  • the processing of the processing group 1 (steps S602 to S604) and the processing group 2 (steps S608 to S613) can be performed independently in units of blocks.
  • the flowchart of FIG. 13 shows an example of sequential processing in units of blocks, but it is also possible to process a plurality of blocks in parallel.
  • each processing group can be configured to process with different processors and arithmetic circuits.
  • processing group 1 and processing group 2 are processed by a many-core processor or GPU, which is a processor suitable for parallel processing, and processing group 3 that is difficult to perform parallel processing is processed by a general-purpose processor.
  • the processing configuration is not limited to the above.
  • processing group 1 which is a relatively fixed process, is processed by a dedicated processor, processing group 2 that may change the processing content, such as an update of the control content, processing by GPU, and processing group 3 by a general-purpose processor.
  • processing group 2 that may change the processing content, such as an update of the control content
  • processing by GPU and processing group 3 by a general-purpose processor.
  • a configuration such as can also be applied.
  • embodiments of the present invention are described in H.264. H.264 and H.264.
  • the method of the embodiment of the present invention is not limited to application to these encoding methods.
  • the technique of the embodiment of the present invention is described in H.264. H.264 and H.264.
  • the rate control used by the embodiment of the present invention has been described in detail with reference to specific examples of the operation using the TM-5 method, but it can be applied to various methods other than the illustrated operation. it can.
  • the hardware 90 for realizing the moving picture encoding apparatus will be described with reference to FIG. Note that the hardware 90 is an example for realizing the moving image encoding apparatus of the present embodiment, and does not limit the scope of the present invention.
  • the hardware 90 includes a processor 91, a main storage device 92, an auxiliary storage device 93, an input / output interface 95, and a network adapter 96.
  • the processor 91, main storage device 92, auxiliary storage device 93, input / output interface 95, and network adapter 96 are connected to each other via a bus 99.
  • the processor 91, the main storage device 92, the auxiliary storage device 93, and the input / output interface 95 are connected to a network such as an intranet or the Internet via a network adapter 96. Note that each of the components of the hardware 90 may be single or plural.
  • the processor 91 is an arithmetic device that expands a program stored in the auxiliary storage device 93 or the like in the main storage device 92 and executes the expanded program.
  • a configuration using a software program installed in the hardware 90 may be used.
  • the processor 91 executes various arithmetic processes and control processes.
  • the processor 91 is realized by a CPU (Central Processing Unit).
  • a part of the function of the processor 91 may be imposed on a GPU (Graphics Processing Unit).
  • a configuration including a CPU 911 and a GPU 912 can be adopted as in the hardware 90-2 in FIG.
  • the main storage device 92 has an area where the program is expanded.
  • the main storage device 92 may be a volatile memory such as a DRAM (Dynamic Random Access Memory). Further, a nonvolatile memory such as MRAM (Magnetoresistive Random Access Memory) may be configured and added as the main storage device 92.
  • DRAM Dynamic Random Access Memory
  • MRAM Magnetic Random Access Memory
  • the auxiliary storage device 93 is a storage device for storing various data.
  • the auxiliary storage device 93 is configured as a local disk such as a hard disk or a flash memory.
  • the input / output interface 95 is an interface (I / F) that connects the hardware 90 and peripheral devices based on a connection standard.
  • the hardware 90 may be connected to input devices such as a keyboard, a mouse, and a touch panel, and output devices such as a display and a printing device, as necessary. These input devices and output devices can be used for inputting information and settings, outputting moving image information, and the like. Data exchange between the processor 91 and the input device may be mediated by the input / output interface 95.
  • the network adapter 96 is an interface for connecting to a network based on standards and specifications.
  • the input / output interface 95 and the network adapter 96 may be shared as an interface for connecting to an external device.
  • the hardware 90 may be provided with a reader / writer as necessary.
  • the reader / writer is connected to the bus 99.
  • the reader / writer mediates reading of data programs from the recording medium, writing of processing results of the hardware 90 to the recording medium, and the like between the processor 91 and a recording medium (program recording medium) (not shown).
  • the recording medium can be realized by a semiconductor recording medium such as an SD (Secure Digital) card or a USB (Universal Serial Bus) memory.
  • the recording medium may be realized by a magnetic recording medium such as a flexible disk, an optical recording medium such as a CD (Compact Disc) or a DVD (Digital Versatile Disc), or other recording media.
  • FIG. 16 is a configuration example of the GPU 912 that executes parallel processing by the video encoding device according to the present embodiment.
  • SM streaming multiprocessor
  • the configuration in FIG. 16 is a conceptual configuration example, and the actual GPU 912 includes components other than the interface 921, the cache 922, and the SM 923.
  • the interface 921 is a connection unit for exchanging data with the main storage device 92, the CPU 911, and the like realized by a DRAM or the like.
  • the cache 922 is a high-speed memory shared between SMs.
  • the SM 923 is an arithmetic unit for processing a moving image encoding process.
  • the SM 923 includes a plurality of cores (arithmetic units) called streaming processors, a memory such as a shared memory and a register.
  • each embodiment of the present invention can be realized as a circuit including at least one of the components included in the hardware of FIGS.
  • the components of the embodiments of the present invention can be realized as software that operates on a computer having the hardware configuration shown in FIGS.
  • FIGS. 14 to 16 are examples of a hardware configuration for enabling the moving picture encoding apparatus of the present embodiment, and do not limit the scope of the present invention.
  • an example of speeding up by parallel processing using a many-core or GPU has been described, but a plurality of CPUs or PC clusters may be used (PC: Personal Computer).
  • the processing according to each embodiment of the present invention may be realized using an FPGA (Field-Programmable Gate Array), a dedicated LSI (Large-Scale Integration) circuit, or the like.
  • FPGA Field-Programmable Gate Array
  • LSI Large-Scale Integration
  • a program for causing a computer to execute processing by the moving picture encoding apparatus of the present embodiment is also included in the scope of the present invention.
  • a program recording medium that records the program according to the embodiment of the present invention is also included in the scope of the present invention.
  • FIG. 17 is an example of a configuration of a moving picture encoding apparatus 1000 that uses intra-frame prediction and inter-frame prediction.
  • FIG. 18 is a conceptual diagram showing an example of a signal flow in the moving picture coding apparatus 1000.
  • the moving image encoding apparatus 1000 includes a prediction unit 100, a subtraction / transformation unit 101, a quantization unit 102, an inverse quantization unit 103, an inverse transform / addition unit 104, a filter 105, an encoding unit 106, a rate control unit 107, a frame.
  • a buffer 108 is provided.
  • the prediction unit 100 performs prediction by performing prediction processing within a frame or between frames using an encoded image (image data of a previously encoded frame) stored in the frame buffer 108 and an input image. Generate an image. The prediction unit 100 outputs the generated prediction image to the subtraction / conversion unit 101 and the inverse conversion / addition unit 104.
  • the subtraction / conversion means 101 creates a prediction error image by subtracting the prediction image input from the prediction means 100 from the input image.
  • the subtraction / transform unit 101 performs orthogonal transform processing similar to DCT (Discrete Cosine Transform) on the generated prediction error image, and outputs a transform coefficient.
  • DCT Discrete Cosine Transform
  • orthogonal transform processing is performed in block units of 4 ⁇ 4 pixels or 8 ⁇ 8 pixels.
  • orthogonal transform processing is performed in units of blocks of a predetermined size from 4 ⁇ 4 pixels to 32 ⁇ 32 pixels.
  • the quantization means 102 performs a quantization process using the conversion coefficient input from the subtraction / conversion means 101 and the quantization control parameter input from the rate control means 107, and the quantized conversion coefficient (hereinafter, referred to as “quantization conversion coefficient”). Quantization coefficient) is generated.
  • the quantization unit 102 outputs the generated quantization coefficient to the inverse quantization unit 103 and the encoding unit 106.
  • the inverse quantization means 103 receives the quantization coefficient from the quantization means 102 and inversely quantizes the input quantization coefficient.
  • the inverse quantization means 103 outputs the inversely quantized quantized coefficient to the inverse transform / addition means 104.
  • the inverse transform / addition unit 104 inputs the quantized coefficient inversely quantized by the inverse quantization unit 103 and the predicted image generated by the prediction unit 100.
  • the inverse transform / addition means 104 generates a reconstructed image by adding the inversely quantized quantization coefficient and the predicted image.
  • the inverse transform / addition unit 104 outputs the generated reconstructed image to the filter 105.
  • the filter 105 receives the reconstructed image generated by the inverse transform / addition unit 104 and performs filter processing on the reconstructed image.
  • the filter 105 outputs the filtered reconstructed image to the frame buffer 108.
  • the filter process is a process for reducing distortion generated in an image by encoding.
  • H.M. H.264 and H.264 In the H.265 system, a deblocking filter is used.
  • the frame buffer 108 stores the reconstructed image after the filtering process output from the filter 105.
  • the filtered reconstructed image stored in the frame buffer 108 is used as an encoded image in the encoding of the subsequent frame.
  • the encoding unit 106 receives the quantization coefficient from the quantization unit 102.
  • Encoding means 106 entropy-encodes the quantized coefficients according to a predetermined rule, and outputs a bit stream as an encoding result. For example, H.M. H.264 and H.264.
  • the encoding unit 106 performs entropy encoding on the quantized coefficient using context-adaptive binary arithmetic encoding (CABAC).
  • CABAC context-adaptive binary arithmetic encoding
  • the encoding unit 106 entropy-encodes the quantized coefficients using context-adaptive variable-length coding (CAVLC).
  • the rate control means 107 determines a quantization control parameter (QP) based on the code amount of the encoding result, a separately set frame, and the target code amount for each image block.
  • the rate control unit 107 controls the quantization unit 102 by outputting QP to the quantization unit 102.
  • the rate control means 107 performs rate control processing that realizes high image quality while suppressing the amount of code to be output below a predetermined bit rate.
  • FIG. 19 is a block diagram showing the configuration of a moving picture coding apparatus that performs rate control in the TM-5 system.
  • FIG. 20 is a conceptual diagram showing an example of a signal flow in the configuration of FIG. In the block diagram of FIG. 19, the portion related to rate control in FIG. 17 is shown in detail, and the configuration around it is omitted.
  • the quantization means 202 inputs a conversion coefficient from a subtraction / conversion means (not shown).
  • the quantizing unit 202 performs a transform coefficient quantization process according to the QP input from the rate control unit 107, and generates a quantized coefficient.
  • the quantization unit 202 outputs the generated quantization coefficient to the inverse quantization unit 203 and the encoding unit 205.
  • the inverse quantization means 203 receives the quantization coefficient from the quantization means 202.
  • the inverse quantization means 203 inversely quantizes the quantized coefficient and outputs the inversely quantized quantized coefficient to an unillustrated inverse transform / addition means.
  • the encoding unit 205 inputs the quantization coefficient from the quantization unit 202.
  • the encoding unit 205 entropy-encodes the quantized coefficient, outputs a bit stream as a result of encoding, and outputs information on the generated code amount.
  • the QP control means 206 determines the QP based on the code amount of the encoding result and the target code amount for each separately set frame or image block.
  • the QP control unit 206 controls the quantization unit 202 based on the determined QP.
  • Patent Document 1 Japanese Patent Laid-Open No. 2010-087771.
  • a generated code amount is estimated from a distribution state of quantization coefficients of a macroblock (MB), and a coefficient that forcibly sets the quantization coefficient to zero based on a relationship between the estimated code amount and a target code amount.
  • a technique for controlling the position and the threshold value is disclosed.
  • FIG. 21 is a block diagram showing a configuration of a moving picture coding apparatus that performs rate control by the method (coefficient censoring control) disclosed in Patent Document 1.
  • FIG. 22 is a conceptual diagram showing an example of a signal flow in the configuration of FIG. In FIG. 21, the quantization means 202, the inverse quantization means 203, and the encoding means 205 operate in the same manner as in the configuration of FIG.
  • Coefficient truncation means 301 terminates the quantization coefficient according to the truncation parameter input from the truncation control means 303.
  • the code amount estimation means 302 predicts the generated code amount from the distribution of quantized coefficients.
  • the abort control unit 303 determines the abort parameter based on the predicted code amount and the target code amount for each separately set frame or image block.
  • FIG. 23 is a flowchart showing the TM-5 system and the rate control operation of Patent Document 1.
  • an encoding process is performed in a predetermined order such as raster scan in units of image blocks obtained by dividing a frame into a predetermined size, and an operation for performing rate control in units of blocks is made common.
  • MPEG-2 and H.264 In H.264, a 16 ⁇ 16 pixel block called a macroblock (MB) is used.
  • MB macroblock
  • blocks such as 16 ⁇ 16 pixels, 32 ⁇ 32 pixels, and 64 ⁇ 64 pixels called coding tree units (CTU) are used.
  • CTU coding tree units
  • the truncation control means 303 determines control parameters such as QP and quantization coefficient truncation used for quantization of the encoding target block based on the relationship between the code amount actually generated in the encoded block and the target code amount ( Step S1001).
  • the subtraction / conversion means (not shown) performs a predetermined orthogonal transformation process on the block and outputs a transformation coefficient (step S1002).
  • the quantization means 202 performs a transform coefficient quantization process based on the QP, and outputs a quantization coefficient (step S1003).
  • Coefficient truncation means 301 performs a quantization coefficient truncation process (step S1004).
  • the encoding unit 205 performs variable length encoding processing on the quantized coefficient and outputs a code (step S1005).
  • the inverse quantization means 203 performs a quantization coefficient inverse quantization process (step S1006).
  • the inverse transformation / addition means (not shown) performs the inverse transformation process to complete the process for one block (step S1007).
  • the moving image encoding apparatus determines whether the processing for all the blocks in the frame is completed (step S1008).
  • step S1008 when there is a block for which the encoding process has not been completed (No in step S1008), the process returns to step S1001.
  • step S1008 if there is no block for which the encoding process has not been completed in step S1008 (Yes in step S1008), the process according to the flowchart in FIG.
  • the video encoding apparatus determines the quantization control parameter of the next block after reflecting the code amount actually generated in the block encoded immediately before.
  • the code amount actually output in units of blocks is fed back to control the generated code amount of the entire frame, so that control to the target code amount can be performed precisely.
  • Patent Document 2 Japanese Patent Publication No. 2013-532439 discloses a rate control method based on a model called an R- ⁇ model (R: bit rate, ⁇ : conversion that becomes zero after quantization) Coefficient ratio).
  • R and ⁇ are in a linear relationship, and are formulated as shown in Equation 1 ( ⁇ is a coefficient).
  • Equation 1 ( ⁇ is a coefficient).
  • R ⁇ (1- ⁇ ) (1)
  • first, prediction, conversion, and quantization of the entire frame are processed with a temporarily set QP, and the relationship between R and ⁇ is obtained from the generation state of quantization coefficients. At this time, the coefficient ⁇ is obtained.
  • a QP that realizes the target code amount is calculated using the R- ⁇ model. Then, quantization is performed with the calculated QP to generate a code.
  • FIG. 24 is a block diagram of a moving picture coding apparatus that performs rate control based on the R- ⁇ model.
  • FIG. 25 is a conceptual diagram showing an example of a signal flow in the configuration of FIG.
  • the quantization unit 202, the inverse quantization unit 203, and the encoding unit 205 in FIG. 24 operate in the same manner as the configuration in FIG.
  • the code amount model construction means 501 constructs an R- ⁇ model based on the result of the conversion process.
  • QP control means 502 determines the QP so that the generated code amount of the frame matches the target code amount using the R- ⁇ model.
  • the conversion coefficient memory 503 stores conversion coefficients for one frame.
  • FIG. 26 is a flowchart showing an operation in rate control based on the R- ⁇ model.
  • the QP control unit 502 determines a QP to be applied to the entire frame (step S2001). For example, in rate control based on the R- ⁇ model, as in TM-5 frame level control, code amount allocation in units of frames based on complexity estimation that differs depending on the frame coding type, and past coding history It can be determined by QP calculation based on it. In the rate control based on the R- ⁇ model, QP calculation or the like may be used based on the statistical properties of the difference between the input image and the predicted image.
  • the subtraction / transform unit (not shown) performs a predetermined orthogonal transform process on the block, outputs a transform coefficient, and stores the transform coefficient of the entire frame (step S2002).
  • the moving picture encoding apparatus determines whether the processing related to all the blocks in the frame has been completed (step S2003). If there is a block that has not been processed (No in step S2003), the process returns to step S2002. On the other hand, if there is no block for which processing has not been completed in step S2003 (Yes in step S2003), the process proceeds to step S2004.
  • the code amount model construction unit 501 constructs a code amount model such as an R- ⁇ model and calculates model parameters based on the generation state of the conversion coefficient of the conversion result in all the blocks in the frame (step S2004).
  • the QP control unit 502 uses the R- ⁇ model to update the QP so that the generated code amount of the frame matches the target code amount (step S2005). For example, in the technique of Patent Document 2, a histogram of conversion coefficients is constructed to calculate the relationship between the QP value and the non-zero coefficient ratio, and the QP is changed based on the calculated value.
  • the quantization means 202 performs a transform coefficient quantization process based on the changed QP, and outputs a quantization coefficient (step S2006).
  • the encoding unit 205 performs variable-length encoding processing on the quantized coefficient and outputs a code (step S2007).
  • the inverse quantization means 203 performs a quantization coefficient inverse quantization process (step S2008).
  • the inverse transformation / addition means (not shown) performs the inverse transformation processing to complete the processing for one block (step S2009).
  • the moving picture encoding apparatus determines whether the processing related to all the blocks in the frame is completed (step S2010). If there is a block that has not been processed (No in step S2010), the process returns to step S2006. On the other hand, when the process is completed for all the blocks (Yes in step S2010), the process according to the flowchart of FIG. 26 is completed.
  • an appropriate QP is set in consideration of the generation condition of the conversion coefficient of the entire frame, so that stable image quality can be achieved within the frame.
  • control is performed with local feedback in units of blocks, so depending on the strength of the feedback, control parameters such as QP fluctuate or vibrate within the frame, resulting in unstable image quality. It may become. This becomes conspicuous when a region where the pattern is complex and difficult to encode in one frame and a region where the pattern is simple and easy to encode are mixed.
  • the TM-5 method and coefficient censoring control are feedback control in units of blocks, so sequential processing is performed in units of blocks, and multiple blocks cannot be processed in parallel, making it difficult to increase the speed. There is. Further, the method of performing the coefficient truncation process of Patent Document 1 has a problem that the control may not be stable.
  • a code amount model is constructed using the conversion coefficient of the entire frame, and a code amount prediction corresponding to various QP settings is performed to correct the QP.
  • the number of conversion coefficients is the same as the number of pixels, a large number of conversion coefficient values are analyzed, and the amount of processing increases. Further, since the R- ⁇ model is controlled based on QP determination using the code amount model, there is a possibility that a difference from the target code amount when an error occurs in the code amount model becomes large.
  • Patent Document 3 Japanese Patent Laid-Open No. 2011-142660 executes the quantization process twice or more.
  • the quantization process is a process with a relatively large load that performs an operation including multiplication or division on each transform coefficient. Therefore, the apparatus of Patent Document 3 has a problem that the processing load on the entire apparatus increases when the quantization process is repeatedly executed.
  • each embodiment of the present invention it is possible to reduce the processing load by configuring the first encoding process to perform the quantization process and the second encoding process to perform the coefficient truncation process. Both stable control can be achieved. Furthermore, according to each embodiment of the present invention, unnecessary processing can be skipped in units of blocks and processing load can be further reduced based on the presence / absence of non-zero coefficients in the quantization result and information on the distribution status.

Landscapes

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

Abstract

Afin de réduire le volume de traitement d'un dispositif dans son ensemble et d'obtenir une qualité d'image stable, un dispositif de codage est muni d'un moyen de réglage de coefficient de quantification comportant: un moyen de commande de paramètre de quantification qui génère un paramètre de commande (QP) de quantification sur la base d'une quantité de code visée; un moyen de quantification qui génère un coefficient de quantification en utilisant le paramètre de commande de quantification et un coefficient de conversion; une mémoire de coefficient de quantification dans laquelle est stocké le coefficient de quantification généré par le moyen de quantification; un moyen de construction de modèle de quantité de code qui construit un modèle de quantité de code en utilisant un coefficient de quantification obtenu en quantifiant une image à coder dans son ensemble; un moyen de commande d'annulation qui détermine un paramètre d'annulation servant à annuler le coefficient de quantification sur la base de la quantité de code visée et du modèle de quantité de code; et un moyen d'annulation de coefficient qui annule le coefficient de quantification en fonction du paramètre d'annulation.
PCT/JP2017/038045 2016-10-24 2017-10-20 Dispositif de codage, procédé de codage et support d'enregistrement de programme WO2018079444A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018547632A JP6943256B2 (ja) 2016-10-24 2017-10-20 符号化装置、符号化方法およびプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016207469 2016-10-24
JP2016-207469 2016-10-24

Publications (1)

Publication Number Publication Date
WO2018079444A1 true WO2018079444A1 (fr) 2018-05-03

Family

ID=62024889

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/038045 WO2018079444A1 (fr) 2016-10-24 2017-10-20 Dispositif de codage, procédé de codage et support d'enregistrement de programme

Country Status (2)

Country Link
JP (1) JP6943256B2 (fr)
WO (1) WO2018079444A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114424549A (zh) * 2019-10-31 2022-04-29 株式会社索思未来 运动图像编码方法、编码处理方法、运动图像编码装置及编码处理装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10210471A (ja) * 1997-01-17 1998-08-07 Mitsubishi Electric Corp 画像符号化装置及び画像復号化装置
JPH10243399A (ja) * 1997-02-25 1998-09-11 Sharp Corp 符号量制御装置及び該符号量制御装置を含む動画像符号化装置
JP2010087770A (ja) * 2008-09-30 2010-04-15 Nec Electronics Corp 画像符号化装置及び方法
US20160205404A1 (en) * 2015-01-08 2016-07-14 Microsoft Technology Licensing, Llc Variations of rho-domain rate control

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10210471A (ja) * 1997-01-17 1998-08-07 Mitsubishi Electric Corp 画像符号化装置及び画像復号化装置
JPH10243399A (ja) * 1997-02-25 1998-09-11 Sharp Corp 符号量制御装置及び該符号量制御装置を含む動画像符号化装置
JP2010087770A (ja) * 2008-09-30 2010-04-15 Nec Electronics Corp 画像符号化装置及び方法
US20160205404A1 (en) * 2015-01-08 2016-07-14 Microsoft Technology Licensing, Llc Variations of rho-domain rate control

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114424549A (zh) * 2019-10-31 2022-04-29 株式会社索思未来 运动图像编码方法、编码处理方法、运动图像编码装置及编码处理装置
CN114424549B (zh) * 2019-10-31 2024-06-11 株式会社索思未来 运动图像编码方法、编码处理方法、运动图像编码装置及编码处理装置

Also Published As

Publication number Publication date
JP6943256B2 (ja) 2021-09-29
JPWO2018079444A1 (ja) 2019-09-19

Similar Documents

Publication Publication Date Title
KR102426721B1 (ko) 색차 성분 양자화 매개 변수 결정 방법 및 이러한 방법을 사용하는 장치
JP2022033108A (ja) ビデオ符号化での分割ブロック符号化方法、ビデオ復号化での分割ブロック復号化方法及びこれを実現する記録媒体
KR20220151140A (ko) 영상 부호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체
EP2324638B1 (fr) Système et procédé d encodage vidéo utilisant un filtre de boucle adaptatif
CN107483947B (zh) 视频编码和解码设备及非暂时性计算机可读存储介质
US7711196B2 (en) Apparatus and method for generating coded block pattern for alpha channel image and alpha channel image encoding/decoding apparatus and method using the same
KR20180059482A (ko) 비디오 코딩 시스템에서 인트라 예측 방법 및 장치
KR101614828B1 (ko) 화상 부호화 및 복호 방법, 장치, 프로그램
JP2011024066A (ja) 画像処理装置および方法
JP2007013298A (ja) 画像符号化装置
JP2023168518A (ja) 予測ブロック生成装置、画像符号化装置、画像復号装置、及びプログラム
TW202332273A (zh) 圖像編碼裝置、圖像編碼方法及程式
JP6708211B2 (ja) 動画像符号化装置、動画像符号化方法および動画像符号化プログラムを記憶する記録媒体
WO2018079444A1 (fr) Dispositif de codage, procédé de codage et support d'enregistrement de programme
US10448035B2 (en) Information compression device, information compression method, non-volatile recording medium, and video coding device
TWI791959B (zh) 圖像解碼裝置、圖像解碼方法及程式
JP2017169231A (ja) 符号化装置、符号化方法及びプログラム、復号装置、復号方法及びプログラム
KR101688085B1 (ko) 고속 인트라 예측을 위한 영상 부호화 방법 및 장치
JP5937926B2 (ja) 画像符号化装置、画像復号装置、画像符号化プログラム及び画像復号プログラム
CN118018731A (zh) 编码装置、解码装置和计算机可读存储介质
KR101436949B1 (ko) 영상 인코딩 방법 및 장치, 그리고 영상 처리 장치
JP2016025529A (ja) 符号化装置、方法、プログラム及び機器
JP2023162377A (ja) デブロッキングフィルタ装置、復号装置、及びプログラム
KR20200008537A (ko) 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체
JP2012209873A (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: 17864523

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018547632

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

Country of ref document: EP

Kind code of ref document: A1